wenxuegeng 2018-10-16
EMNLP 2017 System Demonstrations
基于注意力神经网络机器翻译的交互式可视化和操控
Interactive Visualization and Manipulation of Attention-based Neural Machine Translation
纳弗公司
NAVER Corp.
【摘要】虽然神经网络机器翻译(NMT)提供了高质量的翻译,但仍然很难对其行为进行解释和分析。我们为NMT的可视化和干预行为提供了一个交互式界面,具体集中于定向搜索机制和注意力组件的行为。工具(1)可视化搜索树和注意力;(2)提供了实时调整搜索树和注意权重(手动或自动)的接口。我们展示了帮助用户以各种方式理解NMT的工具。
1 引言
神经网络机器翻译(Neural Machine Translation,NMT) (Sutskever et al.,2014)最近的进展改变了机器翻译团体的方向。与传统的基于短语的统计机器翻译(Statistical Machine Translation,SMT) (Koehn,2010)相比,NMT提供了更加准确和流畅的翻译结果。公司也已开始采用NMT为他们的机器翻译服务。
然而,分析NMT的翻译行为仍具有挑战性。虽然SMT提供了可解释的特性(如短语表),但NMT直接学习哪些对人来说是很模糊的复杂的特性。这在错误的翻译中尤其有问题,因为很难理解为什么系统会生成这样的句子。
为了帮助分析,我们提出了一个可视化和干预NMT行为的工具,集中在定向搜索解码器和注意力上。这些特征可以分为两类:
我们展示了可视化的机制(第3.1和3.2节)和操作(第3.3和3.4节)以及它的实用性例子。
针对NLP的可视化和干预神经模型提出了各种各样的方法。(Li et al .,2015)提供了一个简明的文献综述。
对NMT的可视化和处理可分为三部分:RNN(编码器和解码器)、注意力(解码器)和定向搜索(解码器)。
RNN在识别源句子和生成目标句子方面起着核心作用。虽然我们把RNN看作是一个黑盒,但有各种方法来理解RNNs,例如观察中间值(Strobelt et al.,2016; Karpathy et al., 2015; Li et al.,2015)或删除部分内容(Goh, 2016; Li et al., 2016)。
注意力(Bahdanau et al.,2014; Luong et al.,2015)是提高NMT质量的重要组成部分。由于该构件在传统的SMT中表现出类似的一致性,因此提出了在训练过程中(Cheng et al.,2015; Tu et al., 2016b)或在解码中(Wu et al .,2016)利用注意力的方法。在这项工作中,我们提出了一种操纵注意力和理解行为的方法。
定向搜索以提高NMT翻译输出质量为主要目标。然而,更大的beam尺寸并不总是有助于提高质量(Tu et al.,2016a)。因此,了解定向搜索如何影响质量是很重要的。(Wu et al., 2016; Freitag and AlOnaizan, 2017)提出了几项惩罚函数和剪枝方法。我们直接将定向搜索结果可视化为一棵树,并手动探索解码器丢弃的假设。
我们提出了一种可视化和操作NMT解码器行为的交互式工具。该系统由后端NMT服务器和前端web接口两部分组成。NMT服务器负责NMT的计算。Web接口负责向NMT服务器请求计算,并实时显示结果。
对于后端实现,我们使用两个NMT模型。对于English-Korean(en-ko),我们使用一个在Naver Papago(Lee et al., 2016)服务中使用的模型(https://papago.naver.com/),将其移植到TensorFlow。对于德国英语(de-en),我们采用Nematus (https://github.com/rsennrich/nematus)和(Sennrich et al .,2016)提供的预先训练模型。对于前端,我们使用d3.js实现了基于javascript的web页面 (https://d3js.org/)。
图1 定向搜索树的界面。定向搜索结果显示为树(第3.1节)。通过将鼠标悬停在节点上,可以看到相应的输出候选项。用户可以单击候选对象,以扩展在搜索过程中丢弃的节点(3.3节)。
3.1 搜索树可视化了解定向搜索解码器如何选择和丢弃中间假说,我们首先将所有假设画为一个树(图2、3)。对于每个输入标记项(词或子词)和解码器(RNN)状态向量,解码器计算所有可能的输出标记项的输出概率,然后定向搜索程序根据其概率值选择令标记项(图4)。我们把每个输入和输出标记项作为树节点,输入-输出关系作为边。如果鼠标悬停在一个节点上,它会显示下一个可能具有最高概率的标记,包括剪枝掉的标记(图1)。我们还会用边缘厚度将节点的输出概率可视化;更厚的边意味着更高的概率。
图2 de-en NMT定向搜索树
图3 en -ko NMT的定向搜索树。输入的句子是:“作为一个贝斯手,他以其独特的语调和措辞而闻名。”
图4 NMT解码器步骤示意图。搜索树可视化(图2)将输入输出标记项作为树
3.2 注意力可视化我们将(部分)生成的语句作为表(图5)和图(图6)以显示注意力权重。表接口提供了详细的信息,而图接口则提供了更简洁的视图,因此更适合长句。
图5 注意表。权重由数字和绿色表示。
图6 注意力图对话。权重由红色表示。
3.3 搜索树操纵我们实现了一个手动扩展节点的接口,这些节点在定向搜索时被丢弃。在搜索树可视化(图7)或注意力操纵对话(图9)中,用户可以单击输出候选(绿色节点)中的一个,然后系统计算其下一个输出,并将树扩展。这样就可以探索没有被解码覆盖但值得分析的假设。
图7 没在图2探索的节点的手动扩展。对于部分句子,“the Pal@@ li@@ ative Care is”,创建了新的子树“. . . used when there . . . ”。
3.4 注意力操纵我们有兴趣了解(Bahdanau et al .,2014;Luong et al .,2015)的注意力层,尤其是注意力权重的角色和影响。为了实现它,我们修改了NMT解码器,以接受任意而不是解码器计算的注意力权重(图8)。
图8 注意操纵机制图。虚线组件是NMT解码器的原始组成部分。在这里,“注意力权重”被用户或计算出来的“自定义注意力权重”所取代,以最大限度地增加输出标记项的概率。
3.4.1 注意力权重的手动调整
对于给定的记忆细胞(编码器输出)(m1,…,mn)和解码器内部状态h,注意力层首先计算记忆细胞si = f(mi,h)和注意权重wi = softmax(s1,…,sn)i的相关性评分。然后,总结记忆细胞到一个固定向量(
)通过加权和:
。求和的向量作为下一层的输入来计算输出标记概率:
。
我们修改解码器以接受自定义权重
,代替原来的权重w,其中
是用户提供的权重。我们还采用前端接口来调整自定义权重(图9)。如果用户在栏上拖动圆形,权重会调整,系统会使用权重来计算新的输出概率。它有助于理解记忆细胞中编码和解码器如何利用参与的记忆
。例如,用户可以增加或减少特定记忆细胞的重量,并观察其效果。
图9 两个输出标记项“어조”和“음색”的注意力操纵结果
图9展示了一个说明如何调整注意力权重以改变输出概率分布的例子。当重量的“高度”和“语气”很高时,NMT在”어조”(“语调”)上放置高概率。当“独特”的权重高时,NMT在当前上下文(乐器)重识“语气”,并在”음색”(“音色”)上放置高概率。
3.4.2 注意力权重的自动调整
我们还实现了一种方法,可以得到一个特定标记项的注意力权重最大输出概率。对于注意权重w和标记项y,我们将这个问题看作是一个约束优化问题:最大化
。因为我们使用的工具包(TensorFlow【https://www.tensorflow.org/】Theano【http://deeplearning.net/software/theano/】)提供无约束梯度下降优化器,我们把原来的问题映射为无约束最优化问题:取消权重w,我们在softmax前优化非归一化分数s,初始化为si =log wi。该方法可用于优化特定时间步骤 (图9)或整句话(图10) 的权重。
对于英语-韩语来说,这项技术特别有用,因为最初的注意力权重有时很难解释。由于两种语言之间的顺序差异,en -ko NMTs倾向于产生不同的句子,而且它们之间的顺序非常不同。在图3中,输入句子是“作为一个贝斯演奏者,他是……As a bass player, he is …..””。NMT把高概率输出句子开始用“베이스”(“贝斯”)或“그”(“他”),因为两者都是有效的。因此,相应的源词有很高的注意力权重(“贝斯”为0.14, “他”为0.07)。由于输出标记项在注意力后被选中,因此注意力权重并不一定看起来像是来源和输出句子之间的对齐,而是看起来像混合了可能的输出句子的对齐。
一旦选择了输出标记项,我们就可以找到新的注意力权重,增加输出标记项的概率,这将比原来的权重更容易解释。图10显示了这种调整的一个例子。
图10 两张en -ko NMT的注意力图。第一个是NMT的注意力权重。第二种是对注意力权重的调整,使目标句子达到最大。它揭示了比最初的关注更清晰、更可解释的关系。
我们提出了一个基于web的,用于可视化、调查和理解神经网络机器翻译(NMT)的界面。该工具通过可视化搜索树和注意力,通过人工或自动地改变注意力权重,提供了多种方法,以交互的方式来理解光束搜索和注意机制。我们展示了可视化和操作帮助理解NMT行为。
后台回复“链接”获取论文下载链接!