- PaperWeekly 2016.08.05 第一期
- PaperWeekly 第二期
- PaperWeekly 第三期
- PaperWeekly 第四期 - 基于强化学习的文本生成技术
- PaperWeekly 第五期 - 从 Word2Vec 到 FastText
- PaperWeekly 第六期 - 机器阅读理解
- PaperWeekly 第七期 -- 基于 Char-level 的 NMT OOV 解决方案
- PaperWeekly 第八期 - Sigdial2016 文章精选(对话系统最新研究成果)
- PaperWeekly 第九期 -- 浅谈 GAN
- PaperWeekly 第十期
- PaperWeekly 第十一期
- PaperWeekly 第十二期 - 文本摘要
- PaperWeekly 第十三期--最新文章解读
- PaperWeekly 第十四期 - TTIC 在 QA 任务上的研究进展
- PaperWeekly 第十六期 - ICLR 2017 精选
- PaperWeekly 第十七期 - 无监督/半监督 NER
- PaperWeekly 第十八期 - 提高 seq2seq 方法所生成对话的流畅度和多样性
- PaperWeekly 第十九期 - 新文解读(情感分析、机器阅读理解、知识图谱、文本分类)
- PaperWeekly 第二十期 - GAN(Generative Adversarial Nets)研究进展
- PaperWeekly 第二十一期 - 多模态机器翻译
- PaperWeekly 第二十二期 - Image Caption 任务综述
- PaperWeekly 第二十三期 - 机器写诗
- PaperWeekly 第二十四期 - GAN for NLP
- PaperWeekly 第二十五期 - 增强学习在 image caption 任务上的应用
- PaperWeekly 第二十六期 - 2016 年最值得读的 NLP paper 解读(3 篇)+在线 Chat 实录
- PaperWeekly 第二十七期 | VAE for NLP
- PaperWeekly 第 28 期 | 图像语义分割之特征整合和结构预测
- PaperWeekly 第 29 期 | 你的 Emoji 不一定是我的 Emoji
- PaperWeekly 第 30 期 | 解读 2016 年最值得读的三篇 NLP 论文 + 在线 Chat 实录
- PaperWeekly 第 31 期 | 远程监督在关系抽取中的应用
- PaperWeekly 第 32 期 | 基于知识图谱的问答系统关键技术研究 #01
- PaperWeekly 第 33 期 | 基于知识图谱的问答系统关键技术研究 #03
- PaperWeekly 第 34 期 | VAE 在 chatbot 中的应用
- PaperWeekly 第 35 期 | 如何让聊天机器人懂情感 PaperWeekly 第 35 期 | 如何让聊天机器人懂情感
- PaperWeekly 第 36 期 | Seq2Seq 有哪些不为人知的有趣应用?
- PaperWeekly 第 37 期 | 论文盘点:检索式问答系统的语义匹配模型(神经网络篇)
- PaperWeekly 第 38 期 | SQuAD 综述
- PaperWeekly 第 39 期 | 从 PM 到 GAN - LSTM 之父 Schmidhuber 横跨 22 年的怨念
- PaperWeekly 第 40 期 | 对话系统任务综述与基于 POMDP 的对话系统
- PaperWeekly 第 41 期 | 互怼的艺术:从零直达 WGAN-GP
- PaperWeekly 第 42 期 | 基于知识图谱的问答系统关键技术研究 #04
- PaperWeekly 第 43 期 | 教机器学习编程
- PaperWeekly 第 44 期 | Kaggle 求生
- PaperWeekly 第 45 期 | 词义的动态变迁
- PaperWeekly 第 46 期 | 关于远程监督,我们来推荐几篇值得读的论文
- PaperWeekly 第 47 期 | 开学啦!咱们来做完形填空:“讯飞杯”参赛历程
- 深度强化学习实战:Tensorflow 实现 DDPG - PaperWeekly 第 48 期
- 评测任务实战:中文文本分类技术实践与分享 - PaperWeekly 第 49 期
- 从 2017 年顶会论文看 Attention Model - PaperWeekly 第 50 期
- 深入浅出看懂 AlphaGo Zero - PaperWeekly 第 51 期
- PaperWeekly 第 52 期 | 更别致的词向量模型:Simpler GloVe - Part 1
- PaperWeekly 第 53 期 | 更别致的词向量模型:Simpler GloVe - Part 2
- 基于神经网络的实体识别和关系抽取联合学习 | PaperWeekly #54
PaperWeekly 第七期 -- 基于 Char-level 的 NMT OOV 解决方案
引言
神经网络机器翻译(NMT) 是 seq2seq 模型的典型应用,从 2014 年提出开始,其性能就接近于传统的基于词组的机器翻译方法,随后,研究人员不断改进 seq2seq 模型,包括引入注意力模型、使用外部记忆机制、使用半监督学习和修改训练准则等方法,在短短 2 年时间内使得 NMT 的性能超过了传统的基于词组的机器翻译方法。在 27 号谷歌宣布推出谷歌神经网络机器翻译系统,实现了 NMT 的首个商业化部署,使得 NMT 真正从高校实验室走向了实际应用。本期 Paperweekly 的主题是神经网络机器翻译下的字符级方法,主要用来解决 NMT 中的 out-of-vocabulary 词问题,分别是:
- A Character-Level Decoder without Explicit Segmentation for Neural Machine Translation,2016
- Achieving Open Vocabulary Neural Machine Translation with Hybrid Word-Character Models,2016
- Character-based Neural Machine Translation,Costa-Jussa, 2016
- Character-based Neural Machine Translation,Ling, 2016
- Neural Machine Translation of Rare Words with Subword Units,2016
A Character-Level Decoder without Explicit Segmentation for Neural Machine Translation
作者
Junyoung Chung, Kyunghyun Cho, Yoshua Bengio
单位
Universite de Montreal
关键词
Segmentation, Character-level, Bi-scale recurrent network
文章来源
ACL 2016
问题
能否在不需要分词的前提下直接在字符级进行神经机器翻译。
模型
在讲模型之前,本文花了大量篇幅论证为何需要在不分词的前提下进行字符级翻译,首先作者总结了词级翻译的缺点。
词级翻译的缺点包括:
- 任何一个语言都没有完美的分词算法,完美的分词算法应该能够将任意句子划分为 lexemes 和 morphemes 组成的序列
- 导致的问题就是在词典中经常充斥着许多共享一个 lexeme 但有着不同 morphology 的词,比如 run,runs,ran,running 可能都存在于词典中,每个词都对应一个词向量,但是它们明显共享相同的 lexeme——run
- 存在 unknown word 问题和 rare word 问题,rare word 问题是指某些词典中词在训练集中出现次数过少,导致无法训练得到很好的词向量;unknown word 问题是指不在词典中的词被标记为 UNK(OOV 词)
接着作者指出使用字符集翻译可以解决上述问题:
- 使用 LSTM 或 GRU 可以解决长时依赖问题
- 使用字符级建模可以避免许多词态变形词出现在词典中
然而上述字符级方法依然需要进行分词,然后对每个词的字符序列进行编码,因此引出了本文的 motivation,即是否能直接在不分词的字符序列上进行翻译。
本文使用的模型同样是经典的 seq2seq 模型,其创新点主要在 decoder 端,引入了一种新的网络结构 biscale RNN,来捕获字符和词两个 timescale 上的信息。具体来说,主要分为 faster 层和 slower 层,faster 层的 gated 激活值取决于上一步的 faster 和 slower 层的激活值,faster 层要想影响 slower 层,则必须要是 faster 层处理完当前数据,并且进行重置。换句话说,slower 层无法接受 faster 层输入,直到 faster 层处理完其数据,因此比 faster 层要慢,而这样的层次结构也对应字符和词在 timescale 上的关系。下图为网络结构示意图。
在 4 种语言翻译任务上的实验显示完全可以在不分词的情况下进行字符级翻译,性能优于 state-of-the-art 的非神经翻译系统
相关工作
Sennrich ACL2016 提出使用 BPE 算法对 subword 建模。Kim AAAI2016 中提出直接对字符进行 encode,Costa-jussa ICLR2016 中将该模型用在了 NMT 任务中。Ling ICLR2016 的工作中使用 Bi-RNN 来编码字符序列。以上工作基于字符级展开,但它们都依赖于知道如何将字符分为词,即分词。本文研究能否在不分词的情况下进行字符级翻译。
简评
本文是 Bengio 组工作,Bi-scale RNN 受启发于该组之前提出的 GF-RNN,本文创新点主要是提出了一种新的 RNN 结构,可以在字符和词两个 timescales 上进行处理,输出字符序列不需要进行分词。不足是未考虑 encoder 端是否也可以直接使用未分词的字符序列,而是仅仅使用了分词后的 BPE 序列。
Achieving Open Vocabulary Neural Machine Translation with Hybrid Word-Character Models
作者
Minh-Thang Luong and Christopher D. Manning
单位
Stanford University
关键词
OOV, hybrid word-character models, NMT
文章来源
ACL 2016
问题
机器翻译里面的 OOV 问题,如何处理 UNK
模型
提出了一种混合 word-character 的 NMT 模型.在训练难度和复杂度不是很高的情况下,同时解决源语言和目标语言的 OOV 问题。
这个图表达了模型的整体思路. 大多数情况下,模型在 word-level 进行 translation. 当出现 unk 的时候,则会启用 character-level 的模型. 对 source unk, 由 character-level 模型来得到它的 representation; 对 target unk, 用 character-level 模型来产生 word.
- 整体上采用他们组以前提出的基于 global attention 的 encoder-decoder 模型. RNN 采用的是 deep LSTM.
- 源语言端和目标语言端的 character-level 模型都是基于 character 的 deep LSTM. 对源语言端来说,它的 character-level 模型是 context independent 的. 隐层状态全部初始化为 0, 因此在训练时可以预先计算 mini-batch 里的每一个 rare word 的 representation. 而对于目标语言端来说,它的 character-level 模型是 context dependent 的.它的第一层的 hidden state 要根据当前 context 来初始化,其它部分都初始化为 0.训练时,在目标语言的 decoder 阶段,首先用 word-level 的 decoder 产生句子,这时句子里包含了一些 unk. 接着对这些 unk, 用 character-level 模型以 batch mode 来产生 rare word.
- 对于目标语言端 character-level 模型的初始化问题,作者提出了两种方法来表示当前的 context. 一种叫做 same-path, 用预测的 softmax 层之前的 ht 来表达. 但是因为 ht 是用来预测的,所以所有 ht 的值都会比较相似,这样很难用来产生不同的目标 rare word. 因此作者提出了第二种表达叫做 separate-path, 用 ht’来表达 context. ht’不用预测 unk, 是专门作为 context 在 character-level 的输入的. 它的计算方法和 ht’相同,只是用了一个不一样的矩阵。
- 模型训练的目标函数是 cross-entropy loss, 同时考虑了 word level 和 character level 的 loss.
相关工作
NMT 的模型分为 word-level 和 character-level 的. 对于 word-level 模型,要解决 OOV 问题,之前的工作提出了 unk replacement (Luong et al. 2015b), 使用大字典并在 softmax 时进行采样(Jean et al. 2015), 对 unk 进行 Huffman 编码(Chitnis et al. 2015) 等方法. 而对于 character-level 的模型,本身可以处理 OOV 词,但是训练难度和复杂度会增加。
简评
本文的创新之处在于提出了混合 word-character model 的 NMT 模型. 这个混合模型结合了二者的优点,在保证模型复杂度较低的同时,实现了很好的效果.因为加入了 character, 特别适合单词有丰富变形的语言。
Character-based Neural Machine Translation
作者
Marta R. Costa-jussa and Jose A. R. Fonollosa
单位
TALP Research Center
Universitat Politecnica de Catalunya, Barcelona
关键词
NMT,character-based word embeddings,CNN
文章来源
ICLR2016
问题
本文提出使用 character-based word embeddings 的 NMT,可以在一定程度上克服机器翻译中 OOV 问题。
模型
如上图所示,这篇论文使用的基本模型架构是一个带 attention 机制的 seq2seq 的 encoder-decoder 的架构,使用的神经网络单元是 GRU。encoder 把源句子转化成一个向量(双向),使用 attention 的机制来捕获 context 信息,decoder 把 context 解码成目标句子。网络的输入仍然使用 word embedding,但是作者在获取 word embedding 的时候使用的方法不同。本文是基于词中的 character 来生成 word embedding 的,具体方法如下图所示。
上图中,最底层是一个 character-based embedding 组成的序列,对应的是每个词中的字母。然后这个序列被送入一个由不同长度的一维卷积过滤器组成的集合中进行处理,不同的长度对应单词中不同数量的字母(从 1 到 7)。对于每个卷积过滤器,只取最大的值作为输出。然后把每个卷积过滤器输出的最大值连接起来组成一个向量。最后这个向量再通过两层 Highway layer 的处理作为最终的 word embeddings。这个方法的详细信息可以参考 Kim 的论文 Character-Aware Neural Language Models (2016)。
资源
- 本文数据集[German-English WMT data] ( Translation Task )
- 建立对比模型使用的软件包 DL4MT
相关工作
(1)2003 年,基于短语的统计机器翻译模型。Statistical Phrase-Based Translation
(2)2013 年,基于神经网络的机器翻译模型。Recurrent continuous translation models
(3)2014 年,seq2seq 的神经网络模型用于机器翻译。Sequence to sequence learning with neural networks
简评
本文作者将基于 character 来产生 word embedding 的方法应用于机器翻译,可以在一定程度上克服 OOV 的问题。同时,由于利用了单词内部的信息,这篇论文提出的方法对于词形变化丰富的语言的翻译也产生了更好的效果。但是,作者只是在 source side 使用了上述方法,对于 target side,仍然面临词典大小的限制。
CHARACTER-BASED NEURAL MACHINE TRANSLATION
作者
Wang Ling, Isabel Trancoso, Chris Dyer, Alan W Black
单位
- LF Spoken Systems Lab,Instituto Superior Tecnico Lisbon, Portugal
- Language Technologies Institute, Carnegie Mellon University Pittsburga, PA 15213, USA
关键词
NMT, Character-Based
文章来源
ICLR 2016
问题
尝试在字符级别上应用神经机器学习方法
模型
在带注意力机制的神经机器学习模型的前后端增加字符到词(C2W) 和词向量到字符(V2C)的模块。
图中,小矩形是一个双向 LSTM,双向 LSTM 的前向和后向的最终状态以及 bias 之和为词的向量表示。
这个模块主要由三个步骤组成:
- 将字符转换为向量表示。
- 将字符向量和之前模型产生注意力向量的 a 和目标词在前向 LSTM 中产生的向量表示做拼接并输入到 LSTM。
- 将得到的向量输入到 softmax 层得到结果。
相关工作
- Neural machine translation by jointly learning to align and translate.
简评
这篇文章在基于注意力机制的机器翻译模型上增加了两个模块。由于是基于字符集别的模型,该模型自然可以学得一些语言中的前后缀在翻译中的关系。此外,基于字符级别的模型在翻译未知词时有灵活性。可是,文中也提到,该模型为能够准确的翻译未知词。并且该文也没有明确表明该模型和其他模型相比具有哪些明显的优势。从实际上来说,该模型在 V2C 部分的训练速度慢是一个很大的弱点,因此若仅根据文章的表述,该模型的实际应用价值应该有限。
Neural Machine Translation of Rare Words with Subword Units
作者
Rico Sennrich and Barry Haddow and Alexandra Birch
单位
School of Informatics, University of Edinburgh
关键词
NMT;Rare Words;Subword Units;BPE
文章来源
ACL 2016
问题
NMT 中的 OOV(集外词)和罕见词(Rare Words)问题通常用 back-off 词典的方式来解决,本文尝试用一种更简单有效的方式(Subword Units)来表示开放词表。
模型
本文从命名实体、同根词、外来语、组合词(罕见词有相当大比例是上述几种)的翻译策略中得到启发,认为把这些罕见词拆分为“子词单元”(subword units) 的组合,可以有效的缓解 NMT 的 OOV 和罕见词翻译的问题。
子词单元的拆分策略,则是借鉴了一种数据压缩算法:Byte Pair Encoding(BPE)(Gage,1994) 算法。该算法的操作过程和示例如 Figure1 所示。
不同于(Chitnis and DeNero,2015) 提出的霍夫曼编码,这里的压缩算法不是针对于词做变长编码,而是对于子词来操作。这样,即使是训练语料里未见过的新词,也可以通过子词的拼接来生成翻译。
本文还探讨了 BPE 的两种编码方式:一种是源语言词汇和目标语言词汇分别编码,另一种是双语词汇联合编码。前者的优势是让词表和文本的表示更紧凑,后者则可以尽可能保证原文和译文的子词切分方式统一。从实验结果来看,在音译或简单复制较多的情形下(比如英德)翻译,联合编码的效果更佳。
实验结果分别在 WMT15 英德和英俄的任务上得到 1.1 和 1.3 个 BLEU 值的提升。
资源
本文提出的子词拆分算法代码在 GitHub - rsennrich/subword-nmt: Subword Neural Machine Translation
实验所用的 NMT 系统为 Groundhog: http://github.com/sebastien-j/LV_groundhog
实验数据来自 WMT 2015
相关工作
OOV 的处理一直是机器翻译研究的重点。
基于字符的翻译在短语 SMT 模型中就已被提出,并在紧密相关的语种对上验证是成功的(Vilar et al., 2007; Tiedemann,2009; Neubig et al., 2012)。 此外还有各种形态素切分方法应用于短语模型,(Nießen and Ney,2000; Koehn and Knight, 2003; Virpioja et al.,2007; Stallard et al., 2012)。
对于 NMT,也有很多基于字符或形态素的方法用于生成定长连续词向量(Luong et al., 2013; Botha and Blunsom, 2014; Ling et al., 2015a; Kim et al., 2015)。与本文类似的一项工作 (Ling et al., 2015b) 发现在基于词的方法上没有明显提升。其与本文的一个区别在于,attention 机制仍然在词层级进行操作,而本文在子词层级上。
简评
这篇文章的创新点在于提出了一种介乎字符和单词之间,也不同于字符 n-gram 的文本表示单元,并借鉴 BPE 压缩算法,在词表大小和文本长度两个方面取得一个较为平衡的状态。应用在非同源/近源的语言对(如英汉)是否可以有类似的效果,尚待研究。在 NMT 模型的优化上,也还有探讨的空间。
本文的实验评价方法值得学习,单看 BLEU 值并不觉得有惊艳之处,但加上 CHR F3 和(对所有词、罕见词和集外词分别统计的)unigram F1 这两个评价指标,尤其是 Figure2 和 3 画出来的效果,还是让人比较信服的。
总结
OOV 词对于翻译性能和实用性的影响非常巨大,如何处理 OOV 词并达到 open vocabulary 一直是 NMT 的主要研究方向。传统方法基于单词级别来处理该问题,比如使用 UNK 替换、扩大词典规模等方法,往往治标不治本。因此最近一些研究者提出基于字符的 NMT 模型,取得了不错的成绩,字符级方法的主要优势包括不受语言的形态变化、能预测出词典中未出现的单词并降低词典大小等。值得一提的是,基于字符的模型不仅局限于 NMT 上,任何生成模型都面临 OOV 词问题,因此是否能够将字符级方法用在其他 NLP 任务,比如阅读理解或文本摘要上,让我们拭目以待。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论