KDD2018,短文本匹配:MIX

  • 题目: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
  • 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层的重要性(虽然勉强可以说的通)
  • 具体方法说明的不够详细,缺乏公式说明。(例的几个公式都是都知道的东西)
  • 总的来说是一篇非常棒的文章,给我提供了一些新的思路。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容