《中国人工智能学会通讯》——2.27 利用深度学习改进统计机器翻译-阿里云开发者社区

开发者社区> 人工智能> 正文
登录阅读全文

《中国人工智能学会通讯》——2.27 利用深度学习改进统计机器翻译

简介: 本节书摘来自CCAI《中国人工智能学会通讯》一书中的第2章,第2.27节, 更多章节内容可以访问云栖社区“CCAI”公众号查看。

2.27 利用深度学习改进统计机器翻译

利用深度学习改进统计机器翻译的核心思想是以统计机器翻译为主体,使用深度学习改进其中的关键模块,如语言模型[1] 、翻译模型 [2] 、调序模型 [3] 、词语对齐[4]等。

深度学习能够帮助机器翻译缓解数据稀疏问题。以语言模型为例。语言模型能够量化译文的流利度,对译文的质量产生直接的重要影响,是机器翻译中的核心模块。传统的语言模型采用 n-gram方法,通过极大似然估计训练模型参数。由于这种方法采用离散表示(即每个词都是独立的符号),极大似然估计面临着严重的数据稀疏问题:大多数n-gram 在语料库上只出现一次,无法准确估计模型参数。因此,传统方法不得不使用平滑和回退等策略来缓解数据稀疏问题。但即使采用平滑和回退策略,统计机器翻译系统还是因为数据过于稀疏而无法捕获更多的历史信息,通常仅能使用 4-gram或者 5-gram 语言模型。

深度学习著名学者、加拿大蒙特利尔大学Yoshua Bengio 教授在 2003 年率先提出基于神经网络的语言模型[5] ,通过分布式表示(即每个词都是连续、稠密的实数向量)有效缓解了数据稀疏问题。美国 BBN 公司的 Jacob Devlin 等人于 2014年进一步提出神经网络联合模型(Neural NetworkJoint Models) [1] 。传统的语言模型往往只考虑目标语言端的前 n-1 个词。以图 1 为例,假设当前词是“the”,一个 4-gram 语言模型只考虑之前的三个词:“get”、“will”和“i”。Jacob Devlin 等人认为,不仅仅是目标语言端的历史信息对于决定当前词十分重要,源语言端的相关部分也起着关键作用。因此,其神经网络联合模型额外考虑五个源语言词,即“就”、“取”、“钱”、“给”和“了”。由于使用分布式表示能够缓解数据稀疏问题,神经网络联合模型能够使用丰富的上下文信息(图 1 共使用了 8 个词作为历史信息),从而相对于传统的统计机器翻译方法获得了显著的提升(BLEU 值提高约 6 个百分点),因此获得了自然语言处理领域重要国际会议 ACL 2014 的最佳论文奖。
image

对机器翻译而言,使用神经网络的另一个优点是能够解决特征难以设计的问题。以调序模型为例。基于反向转录文法的调序模型[6]是基于短语的统计机器翻译的重要调序方法之一,其基本思想是将调序视作二元分类问题:将两个相邻源语言词串的译文(1)顺序拼接或(2)逆序拼接。传统方法通常使用最大熵分类器,但是如何设计能够捕获调序规律的特征成为难点。由于词串的长度往往非常长,如何从众多的词语集合中选出能够对调序决策起到关键作用的词语是非常困难的。因此,基于反向转录文法的调序模型不得不仅基于词串的边界词设计特征[6] ,无法充分利用整个词串的信息。利用神经网络能够缓解特征设计的问题,首先利用递归自动编码器(Recursive Autoencoders)生成词串的分布式表示;然后基于四个词串的分布式表示建立神经网络分类器[3] 。因此,基于神经网络的调序模型不需要人工设计特征就能够利用整个词串的信息,显著提高了调序分类准确率和翻译质量。实际上,深度学习不仅能够为机器翻译生成新的特征[1-2] ,还能够将现有的特征集合转化生成新的特征集合[7] ,显著提升了翻译模型的表达能力。

然而,尽管利用深度学习改进统计机器翻译取得了显著的效果,但仍然面临以下难题。

● 线性不可分:整体框架仍是线性模型,高维数据线性不可分的情况依然存在。虽然可以在保持特征不变的情况下将线性模型替换为非线性模型[8] ,但目前尚未获得大幅度的提升。

● 非局部特征:通过深度学习引入的新特征往往是非局部的,导致无法设计高效的动态规划算法,从而不得不采用在后处理阶段进行超图重排序等近似技术[9] 。

能不能直接利用神经网络进行机器翻译呢?

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
人工智能
使用钉钉扫一扫加入圈子
+ 订阅

了解行业+人工智能最先进的技术和实践,参与行业+人工智能实践项目

其他文章
最新文章
相关文章