APP下载

融合深度匹配特征的答案选择模型

2019-02-25冯文政

中文信息学报 2019年1期
关键词:双向文档向量

冯文政,唐 杰

(清华大学 计算机科学与技术系,北京 100084)

0 引言

答案选择是自动问答系统中的关键问题。其主要任务是给定一个问题q和一组候选答案集合C={ai│i=1,2,…,n},计算q与每个候选答案ai的相似度,并根据相似度对所有的候选答案进行排序。可以将其看做为一种文本匹配问题,即如何计算两个文本之间的相关度。

由于自然语言的复杂性,计算文本之间的匹配程度存在着多项挑战[1],主要有:1)词语语义的多元性。不同的词语可能表示相同的语义如“荷花”、“莲花”都是表示一种植物,同理一个相同的词在不同的语境下会有不同的语义,例如,“苹果”既可以是一种水果也可以是一家公司。2)短语匹配的结构性,多个词语可以按照一定的结构组合成短语,匹配两个短语需要考虑短语的结构信息。例如,“机器学习”和“机器学习”是两个词之间的顺序匹配,而“机器学习”和“学习机器”只有词语是匹配的,而顺序是打乱的。这两种情况的匹配程度是不一样的。3)文本匹配的层次性。文本是以层次化的方式组织起来的,词语组成短语,短语再组成句子,这导致两个相似问题往往会具有不同的语法或结构特点。这样的特性使得我们在考虑文本匹配时要考虑不同层次的匹配信息。

为了解决上述三种挑战,我们提出了一种融合深度匹配特征的排序模型。模型除了利用传统自然语言特征之外,还使用双向LSTM模型、2D神经网络模型等深度匹配模型对文本对之间的语义匹配特征进行抽取。在Qatar Living社区问答数据集中的实验结果显示,融合深度匹配特征的答案选择模型比基于传统特征的模型MAP值高5%左右。

1 模型描述

如图1所示,整个模型分为三个部分:文本预处理,特征抽取和特征融合。首先,对原始文本进行预处理;随后对处理后的文本进行特征抽取,模型从传统自然语言处理模型、深度匹配模型两个方面进行特征抽取;最后将这些特征进行融合,将抽取出来的特征利用XGBoost排序框架[2]进行排序。下面本文对这三部分做具体描述。

图1 模型结构图

1.1 文本预处理

在文本预处理过程中,首先去除停用字,并将所有字母换成小写,然后对每个句子进行句法分析,获取所有句子的句法树。我们使用NLTK[3]工具包进行文本分词,使用斯坦福大学PCFG文法解析器[4]进行句法解析。

1.2 传统自然语言特征

针对答案选择任务,我们首先使用了一些传统的自然语言处理模型进行了词法分析和句法分析,并抽取了关于词语和句子结构的特征。

1.2.1 Tf-idf 余弦相似度

Tf-idf(term frequency-inverse document frequency)[5]是一种常用的词语加权技术,可以评估词语在一个语料库中的重要程度,广泛应用于信息检索系统中。Tf-idf加权技术主要从两方面考虑:词频(term frequency,tf)和逆文档频率(inverse document frequency,idf)。

词频被定义为一个单词w在文档D中出现的次数,如式(1)所示。

其中,tfi,j表示文档dj中单词wi的词频值:分子ni,j是单词wi在文档dj中出现的次数;分母表示文档dj出现的所有单词的总次数,其主要用来进行归一化以防止词频值偏向于较长的文档。

相对于词频用来衡量单个文档中词语的重要性,逆文档频率则用来衡量多个文档中词语的普遍性。假如一个单词在过多的文档中都有出现,则说明这个词比较常见,重要程度就会偏低,如式(2)所示。

其中,分子|D|为文档库中的所有文档数量,分母|{dj:ti∈dj}|为所有文档中包含单词wi的数量,分母加1是为了防止除数为0。

从中可以看出,文档中一个单词的重要程度与词频和逆文档频率分别成正比。因此,单词wi在文档dj中的Tf-idf权值可以定义为:

我们将每个文本当作一个文档dj,所有文本集合当作文档集合D。 利用Tf-idf模型,即为文本中的每一个单词计算Tf-idf权值。因此每个文本对(q,a)就可以用一个One-Hot权值向量(vq,va)来表示。通过计算两个向量间的余弦cos(vq,va)即可得到文本对之间关于重要单词覆盖的相似度,一定程度上反应了文本之间的相似程度。

1.2.2 最长公共子序列

若一个序列S分别是两个序列(q,a)的子序列,且是所有符合条件的序列中最长的,则称S为q和a的最长公共子序列(longest common subsequence,LCS)[6],最长公共子序列经常被用于两个字符串之间的相似度衡量。本文将最长公共子序列应用于衡量两个文本序列之间的词法相似度,即将一个句子看作一个序列,序列的元素为每个句子中的所有单词。最长公共子序列可以使用动态规划(dynamic programming,DP)的方法求解。对于文本对(q,a),其LCS算法描述如下:

(1) 输入文本对q,a ,其中q=q1,q2,…,qN ,a=a1,a2,…,aM (2) 定义函数same(x,y): if x == y,return 1,else re-turn 0(3) 初始化二维数组LCSi,j ,表示q中第i位和a中第j位之间的最长公共子序列,其中,LCS1,1 =same(q1,a1)(4) For i = 1 to N,do: lcsi,j =max(lcsi-1,j-1 +same(q,i,a-j),lcsi-1,j ,lcsi,j-1 ) endFor(5) 输出lcsN,M

为了避免LCS的值偏向比较长的文本,本文中的模型在计算出两个文本的LCS之后还要用两个文本的最大长度进行归一化,最终的LCS相似性如式(4)所示。

1.3 深度匹配特征

传统的自然语言处理模型主要从词语和句子结构的角度对文本之间的相似关系进行建模,不能充分考虑两个句子之间的语义联系。因此,除了上述传统模型之外,我们还利用词向量技术和深度匹配模型对文本对之间的语义联系进行了建模,抽取了句子之间的语义特征。

1.3.1 词向量余弦相似度

词向量(word emdedding)技术可以把每个单词映射为连续空间中的向量,词语之间的语义相似度可以用词向量之间的余弦相似度表示。本文采用Google开发的Word2Vec[7-8]在Qatar Living数据集上训练得到每个单词的词向量,设置向量维度为200。

得到每个词向量之后,下一步就是利用词向量计算出句子之间的相似度,在这里本研究先采用了一个简单的词袋模型(Bag of Word)得到每个句子的向量表示,即对句子中的每个词向量求平均值,计算如式(5)所示。

其中,s为句子的向量表示,si为句子中每个词的向量表示。计算出每个句子的相似度之后,便可以采用余弦相似度衡量两个句子之间的语义相似性,对于每个文本对(q,a),词向量余弦相似度计算方法如式(6)所示。

这种方法计算简单有效,计算效率高,但不能处理好短语匹配的结构性,文本匹配的层次性等挑战,因此我们还使用了双向LSTM模型、2D神经网络模型对文本匹配进行建模。

1.3.2 双向LSTM匹配模型

LSTM(long short term memory)[9]单元是由Hochreiter等提出的一种网络结构,其将传统RNN网络中的隐含节点替换成了LSTM单元,可以有效避免传统RNN模型中的梯度消失等问题。

LSTM用状态变量cell当前时刻的信息,通过“门控”单元控制cell中的信息更新,其总共分为三个门:输入门,输出门和遗忘门,“门控”单元一般用一组sigmoid单元表示,若函数输出为1代表信息完全通过,函数为0代表信息没有任何信息通过。Cell单元更新的公式如式(7)~式(11)所示:

其中的it,ft,ot,ct和ht分别代表在t时刻输入门、遗忘门、输出门和cell的输出。bi,bf,bo,bc为偏置向量,Wi,Wf,Wo,Wc,Vi,Vf,Vo,Vc为权重矩阵。LSTM神经网络模型通过使用门限控制单元,使得反向传播时梯度由传统RNN的累乘变成了累加,成功避免了梯度消失问题。除此之外,LSTM表达力强且容易训练,在实际中被广泛应用。

由于单向LSTM是将文本中的单词顺序输入的,在训练过程中只能利用之前单词的信息。所以在文本建模任务中,为了充分利用前面单词和后面单词的信息,充分掌握整个句子的语义信息,生成更全面的句子向量表示,我们使用双向LSTM型进行特征抽取。双向LSTM模型使用两个LSTM模型分别对文本进行顺序建模和倒序建模,对两个LSTM的隐状态输出连接起来作为整个模型的隐状态输出,整个结构如图2所示。

图2 双向LSTM模型架构

这样计算出的ht可以更全面地表示出词语的上下文信息。

我们采用的双向LSTM模型具体结构如图3所示。对于文本对(q,a),首先将句子中每个词的词向量输入到双向LSTM中,将两个LSTM的隐状态输出连接成为一个向量表示,作为双向LSTM的隐含输出,之后将所有单词的隐含输出取平均分别得到两个句子的向量表示。最后将两个句子的向量输入到一个MLP模型中进行分类,计算出整个两个文本的相似度。模型采用上节中用的词向量作为输入,使用交叉熵作为代价函数,交叉熵函数定义如式(13)所示。

其中,li∈{0,1}为类别标记,f(sx,i,sy,i)表示需要训练的神经网络模型。

图3 双向LSTM匹配模型

1.3.3 2D神经网络模型

为了解决文本匹配的层次性,我们还采用2D神经网络模型对文本匹配关系进行了建模,利用分层卷积操作层次化地抽取文本对之间的匹配特征。不同于上节的Bi-LSTM模型,2D神经网络借鉴了MatchPyramid模型[10]的思想将句子间的交互提前,利用二维卷积神经网络直接在句子的交互空间上进行建模,再对文本间的匹配模式进行分层次抽象。

2DMN模型四个部分组成:双向LSTM、匹配矩阵、二维卷积神经网络和多层感知机(MLP)组成,其整个架构如图4所示。

M2的第(i,j)个元素采用如下方式计算:

(16)

图4 2D神经网络模型

经过多层卷积、池化操作之后,最后将最高层的特征向量输入到MLP分类器中即可得到最终的匹配得分。

与双向LSTM模型类似,模型同样采用1.1节中用的词向量作为输入,使用交叉熵作为代价函数进行训练。

1.4 特征融合

对数据集进行特征抽取之后就是将抽取到的不同的特征融合在一起,本文使用XGBoost训练了一个基于梯度提升回归树(gradient boosted regression)的回归模型,将所有的特征连接成一个特征向量作为XGBoost的输入。训练中选用pairwise loss作为目标函数。

2 模型描述与实验分析

2.1 数据集描述与评价标准

本文使用Qatar Living社区问答数据集[12]数据集,其详细统计数据见表1。

表1 答案选择数据集

训练集中总共的“问题—答案”对共有43 558个,测试集中共有2 930个。对于“问题—答案”对的匹配关系,数据集中共有三种类型。“Good”,“PotentiallyUseful”,“Bad”三种类型,在实际应用中,一般把“Good”当作正类(即相关),把“PotentiallyUseful”,和“Bad”当做负类(即不相关)。表1中的“原始问题”即为用户输入的问题,“相关问题”为可能与“原始问题”相关的候选问题。

本文中答案选择和问题检索任务采用平均精度均值(Mean Average Precision,MAP),平均召回率(Average Recall,AvgRec),平均排序倒数(Mean Reciprocal Rank ,MRR)作为评价指标。MAP可以衡量模型整体的排序效果,具体定义见式(18)和式(19)。其中,AP(qi)表示第i个检索的精确率;|RD|为检索对应的相关文本总数,rankrdi为第i个相关文本在排序结果中的次序。MRR注重于排序结果中的第一个相关项,具体定义见式(20),其中ranki为第i个检索结果中第一个相关文本的排名。AvgRec用来衡量模型整体的“查全率”,即查出来的相关项占所有相关项的比例,如式(21),其中,Rec(q)为检索q的召回率。

2.2 调参与特征选择

为了达到比较精确的排序效果,XGBoost排序模型需要设置很多参数,因此调参和模型选择非常关键,XGBoost中需要调整的参数有eta、max_depth、min_child_weight、gamma、subsample、colsample_bytree 6个参数,为了缩小参数范围,我们首先找出了3个敏感参数:gamma、subsample和colsample_tree,之后固定其它参数的值,主要对这3个参数进行调节。

表2 XGBoost主模型参数

为了避免过拟合,本工作将每个参数的值设定为一定范围内的等差数列,采用5折交叉验证的方式分别对答案选择和问题检索两个任务的模型参数进行选择,找出交叉验证MAP平均分值最高的参数作为主模型的参数,XGBoost主模型参数如表2所示。除了主模型之外,我们还选出交叉验证MAP分值方差最小的两组参数,训练出两个对照模型,用以同主模型进行对比分析。

对于特征提取时用到的神经网络模型,本文采用Adagrad[13]的优化方法进行训练。Adagrad是一种基于随机梯度下降(stochastic gradient descent)的优化方法,其可以根据每个参数的数值大小对随机梯度下降中的学习率进行动态调整,加快模型的收敛速率。此外,为了防止模型会过拟合,本文在训练模型双向LSTM模型和2D神经网络匹配模型时采用dropout[14]机制和early-stopping[15]策略。两个模型的详细参数如表3所示。

表3 深度匹配模型参数

2.3 实验结果

本文对模型中用到的所有模型做了特征重要性分析,即将每类特征一一去掉,利用5折交叉验证得出相应的平均评价分值进行对比分析。详细结果如表4所示。

表4 答案选择模型特征重要性

从表中可以看出,在使用全部特征时,模型效果达到最高,其中MAP分值为70.65。在去掉传统自然语言特征后,模型MAP分值降到69.06;而在去掉深度匹配特征后,模型的MAP分值降到64.81,大约降了5个百分点,显示出深度匹配特征在答案选择任务中的重要性。

3 结论

针对自动问答系统中的关键任务——答案选择,我们提出一种融合深度匹配特征的排序模型。其中采用词向量模型、双向LSTM、2D神经网络等深度学习技术对文本对的语义匹配特征进行提取,可以有效应对文本匹配问题中的三个挑战:词语语义的多元性、短语匹配的结构性和文本匹配的层次性。实验结果显示,融合深度匹配特征的答案选择模型比基于传统特征的模型MAP值高5%左右。

猜你喜欢

双向文档向量
双向度的成长与自我实现
浅谈Matlab与Word文档的应用接口
向量的分解
降低寄递成本需双向发力
用“双向宫排除法”解四宫数独
有人一声不吭向你扔了个文档
聚焦“向量与三角”创新题
完善刑事证据双向开示制度的思考
Word文档 高效分合有高招
向量垂直在解析几何中的应用