开篇
用深度学习模型去匹配句子的相似度已经是目前句子相似度的主流方法。本质上还是句子相似度的问题。深度文本匹配模型可以提供更好的搜索排序服务。它的基本场景就是:给一个query,模型返回排序靠前的document。是不是很像一个搜索引擎,其实本质上是差不多的。只不过深度文本匹配更具语义上的优势,更加智能。公司实习是做问答系统,所以最近都在刷一些文本匹配的模型,这边以博客的形式记录下来。不光是理论,我会奉上一些代码。本博客没有使用任何公司的数据,也未集成到公司的任何系统中,属于学术型文章开源。
k-nrm
本模型来源于End-to-End Neural Ad-hoc Ranking with Kernel Pooling
下载地址,如果公司、学校没有购买acm的库,可以去百度搜索一下题目下载免费的。
先放上模型图,再逐步解释它的每一个部分。
每一步的公式也放上,便于大家复现模型,这边先不放代码,后期会放上代码。
Embedding Layer
公式从下往上看。深度学习NLP任务中出镜率异常高的embedding层。如图所示,