质量为何重要?
质检是检查材料是否完整、原译文是否对应、内容是否适合参考。例如,把“Do not open.”与“请打开。”收入翻译记忆,下一次遇到相同英文时就可能推荐错误译文。检查时应同时看原文、译文和使用语境。
对翻译记忆 (TM) 的影响
- 错误句对作为「完全匹配」被 CAT 推荐,译员可能未加审查直接采用
- 术语不一致导致同一概念多种译法,破坏项目术语统一性
- 译文不完整时,即使推荐了旧句,也可能无法用于当前翻译
对机器翻译 (MT) 的影响
- 错配的原译文会提供错误示范,例如把“关闭阀门”配成“Open the valve”
- 广告或乱码混入训练材料,例如把“Subscribe now”当成正文,会提供无用示例
- 材料数量多不能弥补错位,同一条错误记录重复1000次仍然有错
四类常见错误
| 错误类型 | 表现 | 检测思路 |
|---|---|---|
| 错位 (Misalignment) | 英中句义不对应,如 EN 谈英语教育、ZH 谈经济 | 人工阅读;长度比异常;关键词不匹配 |
| 漏译 / 未译段 | 中文为空,或英文句子疑似未译;型号A320等例外需保留 | 查空白或疑似原文未译;专名、产品型号相同可能合理 |
| 术语不一致 | 同一项目把runway混译为“跑道”和“滑行道”,需要按概念和术语表核对 | 按同一概念和项目要求核对,不能只看英文是否相同 |
| 编码问题 | 乱码(如 气候)、不可见字符 |
对照原稿和编码检查文字显示;看似正常的汉字也可能是乱码 |
一句译两句可能合理。若程序强行按序号配对,才可能把第二句错配给下一条原文;应回看整段,确认哪些句子共同表达原意。
抽样策略
材料多时,可以先批量检查,再抽查内容。批量检查例如查空白、重复;人工核对例如确认“not”是否译出。两者发现的问题不同。
随机抽查(比例按材料决定)
随机抽查可发现未被程序提示的错误。例如,从100条中抽5条只能作初步观察,不能据此认定全部合格;金额、否定和安全指令等内容还应重点核对。抽查数量须结合材料规模、用途和风险决定。
重点检查首尾
首尾容易混入标题、漏掉正文或带入广告,可重点检查。例如,合同最后一段若是免责条款,不能因位于页尾就当作无用页脚删除。
优先复核程序提示的记录
程序提示的记录应先复核,但提示不等于错误。例如,型号“A320”在中英文里相同可能正确;不能仅因相同就判为未译。
Python 自动化初筛
脚本读取JSON记录,对content中的句对检查空白、英中长度比异常和完全重复。
Python代码
import json
def check_corpus(json_path, ratio_low=0.15, ratio_high=4.0):
"""对语料 JSON 做自动化质检,返回可疑句对列表。"""
with open(json_path, "r", encoding="utf-8") as f:
data = json.load(f)
pairs = data["content"]
issues = []
seen = set() # 重复检测
for i, pair in enumerate(pairs):
en = pair.get("sentence_english", "").strip()
zh = pair.get("sentence_chinese", "").strip()
idx = f"#{i + 1}"
# ① 空句对
if not en or not zh:
issues.append({"index": idx, "type": "empty", "en": en, "zh": zh})
continue
# ② 英中长度比异常(字符数)
ratio = len(zh) / len(en) if len(en) > 0 else 0
if ratio < ratio_low or ratio > ratio_high:
issues.append({
"index": idx, "type": "length_ratio",
"ratio": round(ratio, 2), "en": en[:60], "zh": zh[:60]
})
# ③ 完全重复
key = (en, zh)
if key in seen:
issues.append({"index": idx, "type": "duplicate", "en": en[:60]})
seen.add(key)
return issues
# 使用示例
issues = check_corpus("corpus/china-english-language-education.json")
print(f"发现 {len(issues)} 条可疑记录")
for item in issues[:5]:
print(item)空句对
例如,原文“Close the valve.”有内容,译文栏为空,应回查是否漏提取或被误删。zip截断会丢记录,不会自动补出空译文。
长度比异常
例如,“No.”/“不。”很短却可能正确。长度差只能提供线索,不能直接证明漏译。
重复句对
例如,同一合同页被导入两遍会重复;不同合同都写“本协议自签署之日起生效”也可能合理,应结合来源判断。
空白、长度异常和重复只是初筛线索,内容是否准确仍需复核。
长度比怎样理解
代码用“中文字符数÷英文字符数”作提示,0.15和4.0只是本例阈值。例如,“The tenant shall pay the service charge.”漏译为“承租人应付款。”,比值7÷40=0.175,仍可能漏检。反过来,“United Nations Educational, Scientific and Cultural Organization”译为“联合国教科文组织”,比值8÷64=0.125,会被提示过短;核对名称后可以保留。
人工复核清单
对程序提示或抽查选中的句对,逐项核对:
把提示变成有依据的判断
例如,记录12来自《采购合同》v2第4条,原文是“30 days”,译文却是“60日”。复核时记下该记录、来源及这两个数字的差异,回到合同确认。只有“长度异常”或“已处理”的提示,不能说明应改成什么。
- 语义对应:中文是否表达了与英文相同的信息?有无张冠李戴?
- 完整性:英文有内容的部分,中文是否均有对应?反之亦然?
- 术语一致:领域关键词(如 dumb English → 哑巴英语)是否与项目术语表一致?
- 改动有据:残留的网页标签可以处理;脚注、条款编号和有用空白要对照原稿决定。
- 编码正常:中文显示是否正常,无乱码或问号替代?
- 记录问题:发现问题时,记录句对序号、错误类型、建议修正,便于批量修复。
笔译练习:提示和实际问题是否一致
用途:为维修项目整理可靠译例,不能漏掉否定意思,也不能误删产品型号。
以下为模拟复核记录,包含不同检查给出的提示,并非上方脚本的输出。
| 结果 | 原文 | 译文 | 系统提示 |
|---|---|---|---|
| A | Do not open. | 请打开。 | 未提示 |
| B | A320 | A320 | 疑似未译;已知A320为产品型号 |
| C | Close the valve. | 空白 | 译文缺失 |
请判断:分别应保留、修正还是回查?哪些情况是误报或漏检?
参考答案
A漏译not,应修正为表示禁止开启的译文,如“请勿打开。”;系统未提示,属于漏检。B的型号可以原样保留,“疑似未译”是误报。C缺译文,应回查来源并补齐对应内容,确认前不能作为译例。