"你打篮球像蔡徐坤":微信翻译这个bug是怎么回事?(2)
从外行人的角度来看,NMT 在翻译一句话时,做了这些事情:
比如单词是英语的 dog,可以理解为 NMT 在它的“大脑”里形成了一条狗的印象。
比如 dog 翻译成法语就是 “le chien”;但如果语境是“一条狗生下了小狗”,那么 dog 就会被翻译成阴性的"la chienne"。 (NMT 不是真的在大脑中形成狗的视觉印象,事实上整个过程跟图像完全没有任何关系。这个所谓的“印象”,通过一连串向量 (vector) 表示。狗的例子来自于 Microsoft Translator) NMT 的主要优势是对长句子(甚至段落)有着不俗的翻译能力,阅读起来上下文连贯程度接近人翻。问世之后,NMT?也逐渐被微软、Google、百度、腾讯等大公司的翻译产品所采用。 “机翻技术一直在不断迭代更新,以前基于规则,过去十年主要基于统计,现在我们开始用神经网络。神经机器翻译是目前机器翻译上比较火的一项技术。我们绝大多数的大语种翻译已经基于这个技术了,“在美国一家顶级科技公司的研究分支担任资深研究员的王夏*告诉硅星人。 “在机翻技术发展的每个阶段,科研人员都会遇到一些问题。NMT 也存在一些问题,比如整个过程的可解释性是非常低的,”他说。 硅星人翻译一下这句话的意思:在具体案例的层面上,一个 NMT 的系统为什么会把一句话 ABCDE 翻译成 abcde,研究者目前是很难将翻译过程解释清楚的。 这句话为什么被翻错了? 当 NMT 翻错了的时候,可能发生了哪些情况? 其实错没错、错误严重不严重,都是人来决定的。在机器眼里没有对错,选定的答案就是机器认为概率最高或最有可能的那个答案,因为一切都按照模型、算法运转着。 接受这一点,你才能理解这句话为什么翻错。 接下来进入正题? 可能原因1:训练集噪音 在接受硅星人采访的多位机器学习专家当中,大部分人都给这条原因投了票。 形象一点比喻,噪音 (noise)?就是训练翻译系统的数据集里出现的”不正确“的,“脏”的数据。 训练一个优秀的 NMT 系统,需要大量高质量的平行语料数据——”高质量“指的是准确的翻译,,”平行语料“指的是一句英文一句中文的,”I love you = 我爱你“,等等。 这些数据要去哪里找?英汉辞典是一个来源。除此之外,最流行的做法是去互联网上抓取,从全网大量的数据里,抓取到所需要的高质量平行语料。 "you play basketball like caixukun" 被翻译成了”你的篮球打得真好“,噪音是哪来的?硅星人发现有两种可能性:
用噪音干扰计算机视觉图像识别的示例:人类无法辨认的图片,被深度神经网络识别为不同的物体。示例与本文主题无关,仅作参考。 在有噪音等异常情况存在的前提下,系统仍然能够正常训练、工作,给出高质量翻译结果——这样的能力在计算机科学里叫做“鲁棒性”(robustness)。 王夏指出,鲁棒性是 NMT 以及今后的机器翻译技术都需要改进和注意的。 可能原因2:集外词 一种可能出现的情况是,在微信翻译训练用的数据集中,压根就没有出现过"caixukun"这个词。 当 NMT 遇到集外词时,可能会进行拆解找到集内词。这个拆解的过程也是随机的,比方说它可能拆成了 caix ukun,得到的仍然是集外词。 集外词翻译不好是很正常。如果没见过,那就不会翻,出现偏差也是情理之中的。 可能原因 3:领域不匹配 ”另一种可能出现的情况是领域不匹配 (domains do not match),“王夏表示,并指出这并不一定是具体案例的情况。 在这个具体案例中,句子里出现了 basketball(篮球),而微信翻译的训练数据集可能没有篮球领域的,或者跟篮球有关的非常少。一个不匹配的领域,再加上句子里还有一个集外词,共同作用使得翻译结果很难正确。 这个解释行得通。比方说商贸往来是大部分微信用户使用翻译的原因,那么微信在训练 NMT 时可能用了贸易领域的数据集;篮球不是微信翻译用户的主要场景,那么在训练时也许就没有用篮球的数据集。 (编辑:ASP站长网) |