- 题目:MIX: Multi-Channel Information Crossing for Text Matching
- 腾讯出的文章
- CNN做短文本匹配
1. 摘要
- 在English WikiQA数据集的NDCG@3评价指标下比其他最好的模型提升了11%
- 在QQ浏览器上做了A/B test,点击数提升了5.7%
2. 背景和相关工作
- 短文本匹配方法主要可以分为两类:基于表示和基于交互
2.1 基于表示的匹配
- 首先生成文本的表示,然后计算匹配度(相似度)
- 不同方法主要的不同在于怎么得到文本表示和怎么计算表示相似度
- 得到文本表示的方法有
-
基于CNN的
- A convolutional neural network for modelling sentences,ACL2014
- Convolutional neural networks for sentence classification,EMNLP2014
-
基于RNN的
- When are tree structures necessary for deep learning of representations?,EMNLP2015
- Recurrent neural network for text classification with multi-task learning,IJCAI2016
-
基于Tree-base RNN的
- Deep recursive neural networks for compositionality in language,NIPS2014
- Parsing natural scenes and natural language with recursive neural networks,ICML2011
-
基于CNN的
-
DSSM,用MLP得到文本表示,相似度计算是cosine相似度
- Learning deep structured semantic models for web search using clickthrough data,CIKM2013
- DSSM用的MLP,参数过多,模型复杂而且容易过拟合,而且也没有考虑到单词顺序
-
CDSSM,用CNN替换了MLP
- A latent semantic model with convolutional-pooling structure for information retrieval,CIKM2014
-
CNTN,用tensor匹配在CQA任务上表现很好
- Reasoning with neural tensor networks for knowledge base completion,NIPS2013
2.2 基于交互的匹配
- 直接计算匹配特征
- 更加直观和自然
- 第一是关键词的匹配,其次是相对位置
- 同时考虑匹配度和匹配的结构
- 最近的研究表明这种方法在多文本匹配任务中表现更好
-
ARC-II,用CNN做匹配,相比前面的方法,考虑了单词的顺序,效果更好。(具体怎么做的得看原文)
- Convolutional neural network architectures for matching natural language sentences,NIPS2014
-
MatchPyramid,把两段文本做成一个2-d的Matching Matrix,里面元素是每对词语的匹配度(cosine),然后通过CNN得到整体的匹配度
- Text Matching as Image Recognition,AAAI2016
-
DRMM,When most NLP tasks focus on semantic matching, the Ad-hoc retrieval task is mainly about relevance matching。映射一个可变长的局部交互到一个固定长度的匹配直方图(具体怎么做的得看原文)
- A deep relevance matching model for ad-hoc retrieval,CIKM2016
-
KNRM [23] 和 Conv-KNRM [3] directly makes interaction between ngrams’ embeddings from two pieces of text and employs a kernel pooling layer to combine the cross-match layers to generate the matching score.
- End-to-end neural ad-hoc ranking with kernel pooling,SIGIR2017
- Convolutional Neural Networks for Soft-Matching N-Grams in Ad-hoc Search,WSDM2018
几个弱点
- Words or n-grams是基本语义单元,直接用它来匹配忽略了一些有用的方面,例如基于整个句子的语义信息
- 难以较好的描述全局匹配和局部匹配之间的关系。实际上有时候,文本匹配中关键部分的匹配比全局匹配更加重要
- The lack ofa unified ensemble mechanism for multiple aspect matching.
总的来说,上的模型都过多的以来深度学习模型的泛化能力和训练数据的质量。
3. MIX MODEL
整体模型结构图- global matching 匹配两个句子
- location matching 匹配句子中的元素
3.1 Local Matching
-
仅仅基于word Embedding的匹配不好,因为词语在不同语境下意义不同
-
所以用了unigrams, bigrams 和 trigrams,用卷积实现,卷积核大小分别为1、2、3。
unigrams, bigrams 和 trigrams -
不同大小卷积核的结果都保留,每个都用来做匹配
3.2 Attention mechanisms
- 多层Attention机制对local matching做加权
- 第一层:每对词语的IDF相乘,这样常见的单词匹配的权重更小,不常见单词匹配的权重更大
- 第二层:词性的匹配,不同词性之间的匹配权重不一样,例如人名和人名匹配的权重要大于动词和动词的匹配
- 第三层:词语的位置,不同位置的权重不同,直观的说位置靠前的词语更加重要
- Attention值加在matching上是直接与对于matching值相乘
- 这样对于每对文本有3种不同的Attention值,结合之前的不同卷积核处理文本(例如分别是N和M),那么总共有3NM种local matching
3.3 Combination
- 就是用CNN嘛
- 然后接上MLP得到最后的结果
4. 实验和结果
- 用了两个线下数据集和QQ浏览器的A/Btest作为实验结果
- 评价指标为NDCG@3、NDCG@5、MAP
-
实验效果拔群
实验结果
5. 总结
- 一种新的多通道文本特征和多层Attention机制的方法
- 有中英文数据集,有A/B test,实验结果非常具有说服力
- 个人认为实验设置不够完善,没有较好的体现每种Attention层的重要性(虽然勉强可以说的通)
- 具体方法说明的不够详细,缺乏公式说明。(例的几个公式都是都知道的东西)
- 总的来说是一篇非常棒的文章,给我提供了一些新的思路。
网友评论