赶紧来试试,先来一段《曹刿论战》的开头:
我震惊了,居然能把“我”翻译成“鲁国”,“公”翻译成“鲁庄公”。
难道AI除了学习文言文词汇和语法,还熟读了《左传》?
换成诗表现又将如何?
虽然翻译出来不是很有文学性,但AI正确理解到了“望着同一个月亮”这层意思。
嚯,这个翻译极大地引起了我的兴趣。
既然翻译出正确词意不是太难,那文言文中的特殊语法AI能否掌握?
为了更好地评估微软翻译的能力,这里请出老牌选手百度翻译,让它们比试一下。
这里考点是互文的修辞方法,应该理解成秦汉时期的明月、秦汉时期的关口。
百度的答案是:
看来百度没理解到位,再看看微软的答案:
微软正确理解了互文,率先拿下1分。
这句的考点是词类活用,绿本来是个形容词,在这里用作动词。
还是百度先来:
没问题,接下来是微软:
等一下,虽然绿用作动词翻译对了,可是后面怎么多了一个“可是”?
难道……把后半句诗也输进去试试:
果然如此,看来微软翻译在用整句进行训练的时候掌握了句与句之间的转折关系,后来不知怎么又算到前半句里了。
这次百度扳回一局,1:1平。
比如《邹忌讽齐王纳谏》中的“我孰与城北徐公美?”
按惯例百度先:
然后是微软:
看来两个AI都学会了倒装句的用法,最终结果2:2平,各有千秋。
微软翻译虽然多学会了一个互文,但毕竟还是年轻选手,对句子之间关系的处理需要再练习。
接下来挑战一下微软文言文翻译的极限。
比如维基百科其实就有个文言文版叫维基大典,里面刚好有微软的词条。
来试试让微软AI翻译一下自己公司的介绍:
看起来现代的伪文言文对于这个刚出生的小AI来说还是太苛刻了。
虽然也特别训练了“微软”和“电脑”这种现代才出现的名词,但遇到“一九七五年”这种古代不用的表达就不行了,前老板比尔盖茨的名字也没认出来。
“立之者”这里还按古文的语境脑补出一个“国君”,可能这就是过拟合吧。
说到现代的表达方式,其实这个翻译工具还可以倒过来用,把白话文译成文言文。
比如诸葛丞相那句“我从未见过有如此厚颜无耻之人!”要是用文言文说出来是不是就更对味了?
那么,这样的模型是怎么“炼成”的呢?
用AI搞文言文翻译,确实不是头一回见。
百度是最早用机器学习做文言文翻译的,还申请过相关专利:「一种在白话文与文言文之间进行文体转换的方法和设备」。
相关文言文翻译的模型也不少,从机器学习、RNN到Transformer都有,像微软这次采用的,就是Transformer模型:
△图源:微软研究院AI头条
不过,文言文翻译中的训练数据,却一直是个难点。
相比于其他主流语言(中文现代文、英文等),文言文可以说是训练数据极少,同时还存在句式变换、繁简混合等问题,造成翻译的生硬。
这次微软的文言文翻译,主要就解决了四个方面的数据问题:
其一,针对数据量不足,利用相同字词进行数据合成和增强。文言文和现代文有一些相同含义的字词,如果对这些词语进行召回、对齐,再扩展到短词短句,就能合成大量可用的训练数据。
其二,针对句式变换不灵活,对数据格式进行变形,提升鲁棒性。文言文断句和现代文不太一样,为此研究人员通过数据格式变形,来扩大训练数据量,让模型也学会翻译类似语句。
其三,针对字体识别不力,用简繁混合数据训练,提升模型识别能力。为了让机器学习能同时识别简繁混合的文言文,研究人员在训练模型时会将简体中文和繁体中文数据混合在一起进行训练,确保翻译模型不出错。
其四,针对现代文的“新词”,专门建立相关数据集和识别模型,确保不“乱翻译”。为了避免模型在遇到现代文中的“高铁、电脑、互联网”这种词时出现混乱(例如将高铁翻译成高处的铁块),研究人员建了一个模型,专门用来识别这些新词。除了新词,也针对博客、论坛、微博等新文体进行训练。
然而这都还只是文言文和中文之间的互译,整点英文试试?
这次微软的文言文翻译是直接整合到了Bing翻译里,难道还可以把文言文翻译成外语?
先挑战一下单个的英文句子:
Never gonna give you up
看来简单句没有难倒AI,我们提升一下难度,用一首比较著名的英文诗「当你老了」试试:
等等,“灰暗”、“阴景深”、“弯下腰在酒边”……这都是什么鬼?
简单的句子似乎还好,然而一到长句子,怎么就翻译成这样了?
不过,微软也说过,这次主要实现的是文言文和现代文互译,说明其他语言在翻译成文言文之前,应该也需要先翻译成现代文。
那来看看微软的英译中效果怎么样:
破案了,微软的英译中确实不太行……可能也是导致英文翻译成文言文出现失误的原因。
相比之下,从文言文翻译现代文、再翻译到中文的效果要稍微好一点。
顺带一提,虽然正经的英文字句翻译得不太行,不过在这种字词的翻译上……竟然还有点文艺?
看来以后可以和翻译模型学习如何优雅地骂人了。(手动狗头)
如果大家还调戏出了什么好玩的翻译,欢迎留言~
微软文言文翻译地址:https://cn.bing.com/translator