基于词对关联网络的句子对齐研究

2019-08-05 02:28李军辉周国栋
中文信息学报 2019年7期
关键词:单调向量单词

丁 颖,李军辉,周国栋

(苏州大学 计算机科学与技术学院,江苏 苏州 215006)

0 概述

句子对齐旨在从给定的双语文本中提取语义相同的句子对,为构建双语对齐语料库提供技术支持。就自然语言处理领域中的一些应用,如机器翻译[1-3]、跨语言信息检索[4-6]、多语言词汇表征[7]以及构建双语词典[8]等,都需要大规模的平行语料支持。大多数传统的句子对齐方法主要依赖于人工制定的浅层信息特征,并且受语言特性影响。例如,基于句子长度信息[9]的对齐方法适用于同语系的语言对,在印欧语言对上对齐性能较好,但在不同语系语言上对齐性能急剧下降。基于双语词汇[10-11]的方法能更充分地利用双语句对中的词汇信息,从而提高句子的对齐性能。近年来,由于神经网络强大的自主提取特征的能力,基于神经网络的方法也开始应用于句子对齐任务中[12-13]。

然而,现有的基于神经网络的句子对齐方法是基于句子级别建模,首先将每个输入句子映射成为固定长度的向量表示,然后根据这些向量表示来判断句子是否对齐[12]。该方法简单易实现,也获得了一定的对齐性能,表明了使用神经网络进行句子对齐任务是可行的,但该方法仅将源端句子和目标端句子映射成向量表示,不可避免地会丢失很多重要信息,特别是单词级别的对齐信息。

为了克服上述困难,受相互对齐的句子对包含大量相互对齐的单词对这一直觉的启发,本文通过建模词对关联网络的方法来直接捕获细粒度的单词级信息,然后使用该信息判断句子是否对齐,而不是使用句子级信息。

实验中使用中/英机器翻译数据集和OpenSubtitles2018数据集进行性能评估。实验结果表明,本文提出的基于词对关联网络的句子对齐方法能够较好地提高单调文本和非单调文本的句子对齐性能[14]。

1 相关工作

传统的句子对齐方法主要是基于统计的方法,如Gale和Church[9]提出了基于句子长度统计的方法,Moore[15]采用基于句子长度和自动派生的字典结合起来的方法,Braune等[16]利用Moore对齐模型找到最小最优可能的句子对齐关系,并提出两步聚类的方法判断句子对齐。Ma[17]则提出利用外部词典来计算句对相似性,并为频率较低的单词翻译对赋予较高的权重的方法进行句子对齐。随后,Li等[18]在Ma的基础上,将输入文本切分成更小的文本片段进行句子对齐。

虽然基于半监督或无监督方法的句子对齐已经有了大量研究[注]www.statmt.org/survey/Topic/SentenceAlignment,但由于神经网络具有强大的自动学习特征表示能力,基于神经网络的监督方法的研究开始流行起来。Gregoire和Langlais[12]提出通过使用深度学习方法而不是传统的特征工程方法来提取平行句子。该方法借助双向循环神经网络(Bi-RNN)将句子编码成固定大小的向量表示,然后将该向量表示输入到全连接层来计算句子对相互对齐的概率。本文中对比方法aveRNN与上述方法相似。Grover和Mitra[13]首先获得单词对间的相似性分数矩阵,然后将动态池化操作应用于相似性分数矩阵上,最后通过卷积神经网络(CNN)进行分类。

本文提出的词对关联网络方法在一定程度上与神经机器翻译(NMT)中使用的注意力机制类似,两者都是针对源端和目标端双语表示,设计网络计算源端单词与目标端单词之间的对应关系,但两者存在着显著不同。一方面,NMT中的注意力机制使用当前时刻t的目标端状态,分别与源端每个单词的表示计算其对齐概率。该对齐概率也被认为是目标端第t个单词与源端各个单词的对齐概率。但在词对关联网络中,本文采用三种相似度度量方法,直接使用目标端单词的表示与源端单词的表示进行相似度计算。另一方面,在NMT的注意力机制中,模型使用softmax函数限制第t个目标单词与源端每个单词的对齐概率之和为1。而在词对关联网络中,并没有类似限制。同时,本文采用最大池化操作来获取词对相似度中最具信息量的部分。

此外,与本文对词对建模的目的不同的是,其他自然语言处理任务中,如语义文本相似度研究中也广泛研究了词对信息。例如,He和Lin[19]提出了建模词对间相互作用并提出相似性焦点机制来识别重要的对应关系。Wang等[20]在“匹配聚集”框架下提出了双边多视匹配(BiMPM)模型,用于更一般的句子匹配任务。Seo等[21]提出双向注意流来匹配查询和答案对。与上述研究不同的是,本文通过计算单词对的跨语言相似性来进行句子对齐研究。

2 本文方法

本节将描述基于词对关联网络的句子对齐方法,该方法将句子对齐任务看作二分类任务,通过建模词对间相似关系判断句子是否对齐。

2.1 问题描述

单调文本遵循单调性假设,即相互对齐的两个句子在两种语言文本中以相似的顺序出现,一般不出现交叉对齐的情况[22-23]。图1(a)中显示了没有交叉对齐句对的单调对齐。相比之下,非单调文本中相互对齐的句子对通常以不同的顺序出现在文本中,存在任意交叉句对的情况,图1(b)中显示了具有任意交叉对齐句对的非单调对齐。由于非单调文本中1-多/多-1的判断在实际操作时非常复杂,因此,本文假设源端的每个句子只与目标端的一个或零个句子对齐,即1-0/0-1和1-1对齐。

图1 文本对齐类型

句子对齐任务以源文本X={x1,x2,…,xM}和目标文本Y={y1,y2,…,yN}作为输入,其中M为源文本句子的个数,N为目标文本句子的个数。本文将句子对齐任务看作是分类任务,首先通过模型获得句子对齐的概率矩阵F∈RM×N,其中,Fij表示源文本X中第i个句子xi和目标文本Y中第j个句子yj的对齐概率L表示句对Xi和yj是否对齐的标签,L=1表示对齐,L=0表示不对齐,定义如式(1)所示。

Fij=p(l=1|xi,yj)

(1)

其中,p(l=1|xi,yj)是句子对xi和yj经过模型计算后输出的对齐概率值(2.2.4节)。由于在双语文本中寻找对齐句对时,存在源文本中一个句子对应目标文本中多个句子的情况,因此需要根据矩阵F的值,进一步获取源文本X和目标文本Y之间的句子对齐矩阵A∈{0,1}M×N,其中Aij=1表示句子对xi和yj相互对齐,反之,Aij=0表示句子对不对齐。对于单调文本来说,对齐矩阵A可以通过动态规划算法[17]获得,并且动态规划算法也适用于识别1-多/多-1对齐。对于非单调文本而言,本文使用启发式搜索算法[24]寻找局部最优来获得对齐矩阵A,包括以下两个步骤:

① 在概率矩阵F中选择最大非零值Fij≥0.5,设置Aij=1,表示句子对xi和yj相互对齐,并将Fi*,j*(1≤i*≤M,1≤j*≤N)设置为0。

② 重复上述步骤直到F中所有数值均小于0.5。

最终,根据对齐矩阵A得到最终1-0/0-1和1-1的句对。

2.2 基于词对关联网络的句子对齐方法

以句子对(“来自 空中 的 战争 威胁”,“war threats from the sky”)为例,图2展示了本文提出的基于词对关联网络的句子对齐模型,包括:

• 双向循环神经网络(Bi-directional recurrent neural network (Bi-RNN) layer),用于对输入的句子进行上下文建模,并作为后续网络层的基础。

• 词对关联网络层(Word-pair relevance network layer),用于从多个角度捕获词对间语义关系,计算相似性分数;

• 池化层(Max Pooling),用于获取相似性分数矩阵中最具信息量的部分,并将其重塑为一个向量;

• 多层感知器层(Multi-layer perceptron, MLP),用于句子分类,其中1表示句子对齐,0表示句子不对齐。

为方便起见,将本文提出的基于词对关联网络的模型简称为WPRN模型。以下以句对(x,y)为例,分别描述各个网络层的相关细节。其中,源端句子表示为x=(x1,x2,…,xm),目标端句子表示为y=(y1,y2,…,yn),m表示源端句子的单词个数,n表示目标端句子的单词个数,dh表示源端和目标端隐藏状态的大小。

图2 基于词对关联网络的句子对齐模型结构

2.2.1 双向循环神经网络

前向RNN网络考虑了单词前面文本的信息,后向RNN网络考虑了单词后面的文本信息,使得经过双向循环神经网络编码的每个单词的隐藏状态均考虑到了整个句子信息。特别地,本文使用相同的Bi-RNN对源端和目标端句子编码。

2.2.2 词对关联网络

现有的基于特征的句子对齐系统表明词对特征是判断句子是否对齐的关键性因素。如图2中例句所示,该句子存在包括(来自, from)、(空中, sky)、(战争, war)、(威胁, threats)等四组对齐的词对,这为判断此句对是对齐的提供了有力证据。受对齐的句子对通常包含大量对齐的单词对这种直觉的启发,本节提出的词对关联网络即通过建模词对间相似度计算的方法来获得句对间的对齐词对信息。

对于给定的源端句子x=(x1,x2,…,xm)和目标端句子y=(y1,y2,…,yn),获得其隐藏状态hx=(hx1,hx2,…,hxm)和hy=(hy1,hy2,…,hyn)之后,词对关联网络从不同角度来计算每个词对(hxi,hyj)的相似度分数。具体来说,该网络使用以下三种方法来计算词对间相似度分数。

① 余弦相似度(cosine): cos(hxi,hyj)通过计算两个向量的夹角余弦值来评估它们的相似度。

② 双线性模型(bilinear model): 定义如式(2)所示。

(2)

其中,M∈Rdh×dh是要学习的模型参数[25-26]。双线性模型能够简单有效地捕获两个向量之间的强线性相互作用。

③ 单层神经网络(single layer network (SLN)): 定义如式(3)所示。

s(hxi,hyj)=uTf(V[hxi,hyj]+b)

(3)

其中,u∈Rk,V∈Rk×2dh,b∈Rk是要学习的模型参数,f是非线性激活函数,k是可以任意设置的超参[27]。单层神经网络可以用来捕获两个向量间的非线性相互作用,同时也可以看作双线性模型的补充。

词对关联网络通过余弦相似度、双线性模型和单层神经网络三种计算相似度的方法从多个角度计算词对间的相似关系,充分考虑了词对间的语义关系,从而得到一个大小为3×m×n的相似性分数矩阵。

2.2.3 池化层

两个句子之间的相似关系通常是由一些强烈的语义关系决定的。因此,本文采用最大池化策略将词对关联网络得到的相似性分数矩阵,如图2所示,划分为一组非重叠子区域,并获取每个子区域的最大值。假设最大化池的大小为3×k1×k2,则最终可以获得大小为(m/k1)×(n/k2)的最具信息量的相似性分数矩阵。值得注意的是,此处最大池的第一维大小设置为2.2.2节所述的计算相似性方法的个数。也就是说,最大化池的输出与计算相似性方法的数量无关。

最后,将相似性分数矩阵重塑为一个向量,作为多层感知器层的输入。

2.2.4 多层感知器层

多层感知器(MLP)层由两个隐藏层和一个输出层组成。池化层的输出经过两个全连接隐藏层获得了更加抽象的表示,并最终连接到输出层。对于句子对齐任务而言,输出为二分类的分类概率。本文通过预测概率p(l=1|x,y)来判断两个句子是否对齐,定义如式(4)所示。

p(l=1|x,y)=σ(z)

(4)

其中,z是MLP层的输出,σ是sigmoid函数。

3 实验

本节中,将使用中/英非单调文本和单调文本来评估WPRN模型抽取平行句对的性能。

3.1 实验设置

3.1.1 数据集

训练数据来源于NIST机器翻译评测数据,由中英平行语料库LDC2003E14、LDC2004T07、LDC2005T06和LDC2005T10等构成,共包含61 968篇文章和1.25MB平行句对,含有27.9MB中文单词和34.5MB英文单词。本文以所有的平行句对作为句子对齐的正例,同时以文档为单位,对于每个源端句子,从目标端随机选择一个句子来获得负例,从而构建相同规模的负例作为训练数据。实验中,使用NIST MT 02数据集作为开发集,保存最优模型。

本文使用两种不同测试集来评估WPRN模型的性能,即NIST MT测试集和OpenSubtitles测试集[注]https://www.opensubtitles.org/zh。NIST测试集是由NIST MT 03、04、05数据集(分别包含919、1 788、1 082个句子对)人工生成的、领域内的数据集。由于NIST MT数据集最初仅包含1-1对齐,为了获得1-0和0-1对齐,本文从源端随机选择90个句子删除,从目标端随机选择60个句子删除。需要注意的是,此处随机删除的句子个数可以设为任意数,仅是为了使NIST MT测试集中包含1-0和0-1对齐而设置,随机删除的句子数越多,表明1-0和0-1对齐的数量也越多。此时,获得NIST MT单调测试集。此外,将上述数据集中句子顺序打乱来获得NIST MT非单调测试集。表1显示了该测试集的统计数据。

表1 NIST MT测试集的句子数量及对齐关系统计

OpenSubtitles(OSs)测试集是来自OpenSubtitles2018真实的、领域外数据集。本文从OpenSubtitles2018中随机选择8篇中英文文档作为另一个测试集,该测试集为单调文本,包含1-0/0-1、1-1、1-2/2-1和1-3/3-1对齐。表2显示了该测试集的统计数据。

表2 OpenSubtitles(OSs)测试集的句子数量及对齐关系统计

3.1.2 模型设置

根据训练语料分别选择词频最高的前30K个单词作为源端词表和目标端词表,分别占总词汇量的98.4%和99.0%。对于所有不在词表中的单词,将其统一映射到特殊标记UNK上。为了初始化本文模型的词向量,使用由Zou等[28]提供的50维预先训练好的中英双语词向量,并在训练过程中更新词向量。

为了有效地训练神经网络模型,源端和目标端句子长度被限制在50之内。在Bi-RNN层,本文使用GRU[29]作为RNN的激活函数,并设置其隐藏状态大小为150。此时,词对关联网络层将输出大小为3×50×50的相似性分数矩阵。其中,设置单层神经网络(SLN)中k值为2,非线性激活函数f为tanh。在Max Pooling层,设置最大化池大小为3×3×3,并获得维度为289的向量(即(50/3)×(50/3))。最后,在MLP层中,隐藏层大小分别设置为2 000和1 000。

在训练过程中,使用AdaDelta[30]来优化模型参数,其中ε=10-6、ρ=-0.95。对于除了词向量外的所有模型参数,使用[-0.1, 0.1]中的均匀分布来随机初始化它们。此外,dropout设置为0.5,批处理大小设置为80。模型基于Theano深度学习框架开发,在训练集上进行10轮迭代,使用单个GeForce GTX 1080 GPU,需要约24h。

3.1.3 模型训练

(5)

3.1.4 Baseline系统

与本文提出的WPRN模型进行比较的Baseline系统如下:

① aveRNN: 使用Bi-RNN对源端和目标端句子进行编码,取其所有单词隐藏状态的平均值作为句子级别的向量表示。最后将两个源端和目标端句子的向量表示拼接后输入到MLP层进行句子对齐分类。

② attRNN: 该模型类似于aveRNN,区别在于使用结构化注意机制[31]的方法获得句子级别的表示[注]本文在重现Lin等[31]的方法时设置r=4。。

③ G&M(2017): 该模型在本文实验数据的基础上重现了Grover和Mitra[13]提出的方法,使用余弦相似度计算相似性分数矩阵,并使用动态池化将其映射到固定维度上,然后使用卷积神经网络(CNN)进行分类。

④ NMT: 该系统使用神经机器翻译(NMT)方法获得在给定源端句子xi时,翻译为目标句子yj的概率,即对源端句子xi进行强制解码,获得目标译文yj的分数[注]为了避免长翻译倾向于具有低翻译概率的问题,本文定义如Wu等[32]的评分函数。。本文使用基于注意力机制的NMT系统[2],并使用与本文相同的实验数据集来训练该NMT模型。

上述Baseline系统中,aveRNN和attRNN是基于句子级向量表示的方法,G&M(2017)是基于词对相似度建模的方法,最后一个是利用NMT技术的翻译方法。

3.1.5 评估指标

为了评估模型的性能,本文采用精确度(P)、召回率(R)和F1值作为实验的评估指标。同时,计算精确度、召回率和F1值的平均性能(Micro-P/R/F1)来评估所有对齐的总体性能。

3.2 实验结果

3.2.1 非单调文本句子对齐

表3给出了NIST MT非单调测试集的句子对齐性能,从中可以发现:

表3 NIST MT非单调测试集的句子对齐性能

首先,细粒度的词级信息是判断句子是否对齐的重要信息。WPRN模型的整体F1值分别高出aveRNN、attRNN和NMT方法36.1、15.9、和8.3的F1值,性能明显优于基于句子级向量表示的方法和基于机器翻译的方法,表明将整个句子信息仅仅汇入一个句子级向量是不够的,这容易造成句子语义间重要信息的丢失。同时,由于NMT模型训练的目标是最大化整个目标句子的翻译概率,并没有强调词对之间的翻译,因此往往容易造成词的错翻;而WPRN模型的目的在于获取双语句对的词对间相关性,三种相似度计算方法可以从三种不同角度来建模词对关系,可以在一定程度上缓解NMT模型对齐错误的现象。

其次,WPRN模型性能高出G&M(2017)模型12.0F1值,说明了使用不同相似度计算方法来从不同角度捕获词对间语义关系优于仅使用一种相似度计算方法。

另外,从表3中还可以发现1-0/0-1对齐比1-1对齐更难识别,这也与Quan[14]中实验结果保持了一致。1-0/0-1对齐性能较低的一个重要原因在于本文的预测模型是判断两个句子是否对齐,并不是为了专门预测某个句子在另一端是否存在对齐句子。

最后,本文同时与三个现有的句子对齐工具进行比较。Moore[注]https://www.dssz.com/905003.html是一种基于句子长度和自动派生的双语词典的句子对齐工具[15];Gargantua[注]https://github.com/braunefe/Gargantua是用于对称和非对称平行语料库的无监督句子对齐工具[16];Champollion[注]http://champollion.sourceforge.net是基于词典的句子对齐工具,为潜在噪声的平行文本而设计[17]。表3中的最后三行比较了它们在非单调文本上的对齐性能,从中可以发现这些句子对齐工具的性能受非单调性的影响非常严重,并且不适用于非单调的双语文本。

3.2.2 单调文本句子对齐

本文提出的句子对齐方法同样可以在单调文本上取得优越的性能。如2.1节所述,本文采用动态规划方法[17]来获得最优对齐结果。表4给出了NIST MT单调测试集的性能。同时,为了验证WPRN模型的可行性,本文也在跨领域的、真实的OpenSubtitles测试集上进行了评估,对齐性能如表5所示。

表4 NIST MT单调测试集的句子对齐性能

表5 OpenSubtitles测试集的句子对齐性能

从表4和表5可以看出,使用词对关联网络模型:

首先,OpenSubtitles测试集上的句子对齐比NIST MT测试集的句子对齐更具挑战性。一方面,前者是跨领域数据集,而后者是领域内数据集;另一方面,OpenSubtitles测试集包含1-N/N-1(N>1)的情况,句子对齐情况相对复杂。

其次,在不同类型的对齐中,1-0/0-1对齐是最难识别的,其次是1-2/2-1和3-1/1-3对齐,而1-1对齐相对简单。

对比表4和表5中WPRN和其他三种方法的性能,可以发现虽然现有的对齐工具都取得了良好的对齐性能,但WPRN模型在NIST MT测试集上取得了高达99.3的F1值,在OpenSubtitles测试集上取得了76.6的F1值,明显优于其他三种对齐工具,表明了监督学习有利于提高句子对齐性能,并且WPRN模型能够较好地捕获句子之间的语义关系。

3.3 实验分析

3.3.1 部分非单调文本句子对齐

由于完全非单调双语文本在实际应用中很少见,而部分非单调双语文本却不是。本文根据Quan[14]的分析方法来说明本文提出WPRN模型的实用性。本文通过随机打乱测试数据集中0%、10%、20%、40%、60%、80%、100%的句子来构建七个版本测试集,测试WPRN方法的性能,如图3所示。理论上,文本的非单调性比例对本文方法的性能没有影响,因此,对于任意比例的非单调性文本应有相同的性能,图3也表明了这一点。从图3中还可以发现Moore、Gargantua和Champollion在近似单调文本上表现出良好的性能,但是当非单调比例增加时,它们的性能显著下降。此外,当文本几乎完全单调时,WPRN模型的性能也优于其他方法,说明本文的方法适用范围更加广泛。

图3 WPRN模型在不同程度的非单调文本上的性能

3.3.2 实例分析

本文以相同的源端句子和不同的目标端句子为例,来说明WPRM模型相比于其他模型的优越性。如表6所示,其中(Source, Target1)不是相互对齐的句对,而基于句子级向量(如aveRNN和attRNN)的方法将它们预测为高概率(即对齐概率0.98和0.81)的对齐句对。另外,虽然C&M(2017)方法也预测出它们不是对齐句对,但WPRN模型给出了更接近于0的对齐概率。(Source, Target2)是相互对齐的句对,所有方法都正确地将其预测为对齐句对,但概率值之间存在相当大的差异。例如,aveRNN获得了0.91的概率值,甚至低于与Target1对齐的概率,说明基于句子级向量的方法虽然能进行句子对齐任务,但性能并不理想;C&M(2017)虽然获得了0.67的概率值,但在最终对齐策略中很容易将其判断为不对齐句对;而WPRN获得了几乎100%的概率。同时,从(Source, Target2)句对中可以发现(鲍尔, powell)、(视察, inspect)、(泰国, Thailand)、(印尼, Indonesia)、(斯里兰卡, lanka)、(灾情, disaster)、(高峰, summit)等许多一一对应的同义词对,而(Source, Target1)句对中几乎没有同义词对,WPRN分别给出了0.05和0.999 6的对齐预测概率,准确地判断两个句对之间的对齐关系。上述两个例子对比表明了词级信息是判断句子对齐的重要信息,WPRN模型能够较好地捕获词对间的语义关系,从而能够更准确地判断句对之间关系。

4 总结

本文提出了一种基于词对关联网络(WPRN)的句子对齐方法,该方法的主要特点是采用不同的相似性度量方法从不同的角度捕捉单词对的语义交互信息。在非单调和单调文本上的实验结果表明,对词对间的相似性建模是进行句子对齐任务至关重要的步骤,词对关联网络能够有效准确地捕获词对间的语义信息。在将来的工作中,将进一步改进现有的WPRN模型,同时探索研究从可比语料库中提取平行句对、提高跨领域文本的句子对齐性能等,这将更具挑战性。

猜你喜欢
单调向量单词
向量的分解
单调任意恒成立,论参离参定最值
聚焦“向量与三角”创新题
数列的单调性
数列的单调性
单词连一连
对数函数单调性的应用知多少
看图填单词
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线