内容中心 › 公式
拿到一份 15 页论文的译文,我先翻到有公式的那几页。√dk 在,(1) 在,Attention(Q,K,V) = softmax(QK^T/√dk)V 连折行都没变。松了一口气,接着往正文读,读到「长度惩罚值为 0.6」这一句,回头对原文——原文写的是 length penalty α = 0.6。
α 没了,等号也没了。而公式本体,一个字都没动。
这跟我预期正好相反。于是把全篇公式符号挨个数了一遍。
〔图〕同一句话:原文 length penalty α = 0.6,译文变成「长度惩罚值为 0.6」
判定口径写清楚:把「不含 4 个以上连续拉丁字母、且出现 Computer Modern 数学字体」的行判为纯公式行,共 45 行,分布在第 4、5、6、8、9 页(分别 5、8、11、14、7 行)。逐 span 比对字符、字体名、字号。
| 类别 | 原文 | 译文 | 结论 |
|---|---|---|---|
| 数学运算符(− × ∈ √ · ∞) | 49 个 | 49 个 | 一个没少 |
| 公式编号 (1)(2)(3)(8) | 10 处 | 10 处,页号与序号一一对应 | 没乱 |
| 纯公式行 | 45 行 | 41 行字符/字体/字号一致 | 91.1% 没动 |
| 希腊字母(α β π ϵ) | 9 个 | 7 个 | 丢 2 个 |
49 个运算符的构成:减号 6、乘号 5、属于号 ∈ 5、根号 √ 5、乘点 · 27、无穷 ∞ 1。一个不差,连乘点的数量都对得上。
再看位置。第 6 页那两条位置编码公式,原文文本块坐标是 (235.5, 336.2)–(386.3, 349.7) 和 (225.7, 353.0)–(386.3, 366.6),译文里同样的块是同样的坐标。第 4 页的注意力公式,原文被拆成两个文本块,译文合成一个,但外框都是 220.0–504.7、465.0–491.2。
这说明公式在流程里被当成了一类「不翻译的内容」:识别出来,原地保留,只把周围的说明文字换掉。
〔图〕位置编码公式:两条公式的块坐标完全一致
9 个希腊字母里,活下来 7 个:第 6 页两个 π、第 7 页 β β ϵ、第 9 页 ϵ、第 10 页 α。丢的两个都在第 8 页,而且都丢在正文句子中间:
这两句的共同点:变量和赋值号被吸进了中文措辞。译文读者看到「长度惩罚值为 0.6」,语法通顺、数字正确,但他不知道那个量叫 α,也不知道原文是用等号定义的。
这不是缺字、方框或乱码。查方框、查字形表这套流程全都发现不了——译文里没留下任何异常痕迹。乱码一眼能看见,变量名消失只有对着原文读才发现。
第 4 页脚注那条点积公式,原文是 q · k = Σ(i=1→dk) q_i k_i,译文提取出来是 q · k = Pdk i=1 qiki——求和号成了大写字母 P。
我一开始记成了译文缺陷。回原文一查,原文提取出来也是 P:那个符号用 CMEX9 编码,字形映射到了字母 P 的码位,原文的 ToUnicode 本来就没写对。
看起来像 bug 的,先回原文核一遍,不然写出来的就是编数据。同样的还有第 6 页那两处「2π」——原文数字用 CMR10,译文换成 Times-Roman,π 仍是 CMMI10,字号 9.96 不变。字没丢,字体换了,在密集公式行里会显得半新半旧。
三步,五分钟够:
1. 数编号。公式编号((1)(2)(3))是最好核对的锚点,位置对不对、有没有跳号,一眼看出。
2. 找变量名。搜 α β λ θ ϵ 这些字母,再搜你自己定义的符号。译文里搜不到,就是被译成中文词了。
3. 比字号。上下标掉成平排,字号会从 6.97 变成 9.96。看小字还在不在,比看整体观感准。
样本是单栏 NeurIPS 模板、15 页、公式以独立块为主。三栏以上或公式与正文混排更密的稿子会不一样;扫描件另算,先 OCR 再翻,符号存活率低一档。
公式块原地保留,是「按块处理」带来的;行内变量被译进句子,是同一个逻辑的副作用——整句被当成自然语言重写,α 在它眼里跟普通词没区别。
所以别问「公式会不会崩」,问「公式里的变量名还在不在」。