是时候给你的产品配一个AI问答助手了! (2)

上述的representation-based method存在的问题是直接基于句子的表示太粗糙,无法准确进行文本匹配任务。受信息检索领域的启发,结合主题级别和单词级别的匹配信息通常可以获得更好的表现。于是进一步对句子表示进行扩展,加入细粒度匹配信息。框架图如下:

img

2) Interaction-based Method

框架图如下:

img

基于交互的方法是通过Interaction来对文本相似性建模。该方式更强调待匹配的两个句子得到更充分的交互,以及交互后的匹配。在表示层不会将句子转换成一个整体表示向量,一般情况下会保留和词位置相对应的一组表示向量。首先基于表示层采用DNN或直接由word embedding得到的句子表示,和词位置对应的每个向量体现了以本词语为核心的一定的全局信息;然后对两个句子按词对应交互,由此构建两段文本之间的 matching pattern,这里面包括了更细致更局部的文本交互信息;基于该匹配矩阵,可以进一步使用DNN等来提取更高层次的匹配特征,最后计算得到最终匹配得分。Interaction-based 方法匹配建模更加细致、充分,一般来说效果更好,但计算成本增加,更加适合一些效果精度要求高但对计算性能要求不高的场景。

​ 下面总结了不同类型的深度学习文本匹配模型。可以看出,深度文本匹配现有工作很多,本文将对近几年的部分工作进行详细介绍,其他可参考对应文献进行深入阅读。

representation-based:DSSM[1]; CDSSM[2]; ARC I[3]; CNTN[4]; LSTM-RNN[5]

representation-based extension:MultiGranCNN[6]; MV-LSTM[7]

interaction-based:ARC II[8]; MatchPyramid[9]; Match-SRNN[10]; DeepMatch[11]; ABCNN[12]; QA-LSTM/CNN-attention[13,14]; AP[15]; AICNN[16]; MVFNN[17]; BiMPM[18]; DQI[22]; DIIN[23]

2.2 模型介绍 2.2.1 ABCNN[12]

首先介绍BCNN,它是ABCNN模型的基础,即未添加Attention的模型。模型结构如图所示:

img

输入层:将输入句子进行padding后转化成词向量即可; 卷积层:对句子表示进行卷积,使用wide conv的方式; pooling层:论文中使用了两种pooling方式,一种是最后一个pooling层为all-ap,还有一种是中间pooling层为w-ap。区别就是池化时的窗口大小不同; 输出层:接logistic 回归层做2分类。

ABCNN是在BCNN的基础上加了两种attention机制。模型结果如下图:

img

(1)在输入层加入attention

其原理为将输入拓展成双通道。新添加的通道是attention feature map,即上图中的蓝色部分。首先计算attention matrix A,其每个元素Aij代表句子1中第i个单词对句子二中第j个单词的match_score,这里使用了Euclidean距离计算。然后再分别计算两个句子的attention feature map。使用两个矩阵W0,W1分别和A还有 A的转置相乘,得到与原本feature尺寸相同的feature map。W0和W1都是模型参数,可以使用相同的W,即共享两个矩阵。这样我们就将原始的输入拓展成了两个通道。

(2)在pooling层加入attention

Attention matrix A的计算方法与上述相同,得到A后需要为两个句子分别计算attention权重向量,如上图中的两个虚线部分col-wise sum和row-wise sum。这两个向量中的每个元素分别代表了相应单词在做Average Pooling时的权重。相当于pooling不再是简单的Average Pooling,而是根据计算出的Attention权重向量得到的pooling。

2.2.2LSTM/CNN,attention[13,14]

img

给定一个(q,a)pair,q是问题,a是候选答案。首先得到它们的词向量,再使用biLSTM进行encoder,生成问题和答案的分布式表示,然后利用余弦相似度来衡量它们的距离。训练目标是hinge loss。

img

在biLSTM表示输出的基础上进一步使用CNN,CNN可以获取biLSTM输出的向量之间的局部信息。从而给出问题和答案的更多复合表示。

img

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zypyzp.html