神经网络应用于IR相比于传统方法有了很好的提升,但是目前的方案都认为所有的query应该公用一个match function。如DSSM,先分别对query和doc做深层表示,然后两个表示的相似度作为match function,再如MatchPyramid和ARC-II,先对query和doc计算相似度矩阵,然后做深层卷积、pooling,最后接全连接输出做match function。
本文认为,实际上用户的query有时需要结合不同层次的匹配信息,有时候需要底层的word级别的match,有时更需要上层概念级别的匹配。因此提出多层抽象化的卷积模型((MACM)来做文本匹配,主要贡献:
- 使用网络中多个抽象层的信息做match,该方法可很容易的应用在其他深度模型中。
模型:
文章提到在文本匹配任务中,interaction-based模型(如MatchPyramid)被认为优于representation-based模型(如CDSSM),因此论文的基础是建立在interaction-based模型的基础之上。文章提出的模型思路也比较简单,不同于只用最终的表示输出做match层(最后的全连接网络)的输入,文章使用模型不同层级的信息,从底层的词级别的匹配信息到上层越来越抽象的匹配信息,最终加权作为match层的输入。
整个模型结构如图,实现了多层交互矩阵,同时得到多个匹配得分,最后做加权和得到最终得分:
![](https://img.haomeiwen.com/i2159902/d718f1cb1045f64a.png)
模型的基本结构与MatchPyramid结构类似,不同的是使用门机制,控制多个卷积层的匹配得分,做分数的聚合,主要有两类scale值的计算:S和M,其中S_i为第i层的的相似度得分,M_i用于计算第i层得分所占的权重,Aggregating Gate包括一个可学习的权重层,然后做softmax归一得到每层得分的权重,最后多层的得分按权重加权求和得到最终匹配得分。
而M的计算方法也比较直觉,对M_0,取相似度矩阵每行的最大值,然后相加得到;
![](https://img.haomeiwen.com/i2159902/52975303bfcc1d39.png)
其中u为query的term个数,m为doc的term个数。
而M_i (i > 0)因为可能有多个卷积后得到的Feature Map,所以对每个Feature Map做与M_0相同的操作,而后按Feature Map的个数取平均,得到最终M_i。
![](https://img.haomeiwen.com/i2159902/34c82508057cb7f4.png)
K为第i层Feature Map的个数。最后每层权重的计算:
![](https://img.haomeiwen.com/i2159902/903a01e26f834a1c.png)
其中alpha为每层的权重,是可训练的参数。
最后,模型的训练以pair对的方式,训练样本为(Q,D+,D−),目标拉大S (Q,D+)和S (Q,D-)的差距,因此使用了rank loss:
![](https://img.haomeiwen.com/i2159902/e8187f29328a0d5b.png)
实验
实验首先用BM25算法对语料库做rank,然后作为模型的训练样本训练模型,对每个query随机选择两条doc作为训练样本,高BM25得分的做正样本,低得分的做负样本。训练好模型后,对BM25的rank结果做rerank,实验证明模型重新排序的结果,优于原来的BM25的rank结果。具体的过程和结果可参考论文中的描述。
参考文献:
Multi-level Abstraction Convolutional Model with Weak Supervision for Information Retrieval
原创文章,转载注明出处。
更多关注公众号:
![](https://img.haomeiwen.com/i2159902/e28220521b7ef499.jpg)
网友评论