赞
踩
短文本匹配是指使用 NLP 模型预测两个文本的语义相关性,很多领域内都有它的身影,比如:信息检索(information retrieval)、问答系统(question answering system)、对话系统(dialogue system)。本文将回顾近年来基于神经网络的表现较好的一些文本匹配算法。首先会介绍一下 DSSM 模型,它使用神经网络将文本表示为特征向量,然后使用两个特征向量之间的余弦相似度衡量文本之间的匹配度。然后介绍基于 word 交互的模型,比如:DRMM、MatchPyramid、Bert,它们从两个文本中的 “单词对” 的相似性中提取语义匹配特征,以捕获文本之间更详细的交互信息。同时,本文还基于模型的有效性和时间复杂度分析了每种算法的应用场景。
短文本匹配是一种被广泛使用的 NLP 技术,它旨在对文本语义关系建模。信息检索(information retrieval)、问答系统(question answering system)、对话系统(dialogue system)等是它主要的应用领域。
在信息检索问题中,用户想找到和给定查询相关的文档。对于搜索引擎来说,如何对给定的查询匹配到合适的文档是至关重要的。文本匹配还能被用来在问答系统中为问题匹配到合适的答案,这对自动客服机器人非常有帮助,可以大大降低人工成本。
最近的研究表明基于神经网络的文本匹配算法要优于传统的文本匹配算法,例如:TFIDF、LSA、LDA 等等。使用神经网络表示文本、学习文本之间的交互模式将会使模型能够挖掘出文本之间复杂的语义关系。
近些年来出现了很多基于神经网络的文本匹配算法,但是本文只关注其中效果较好的算法,考虑到有效性和低时间复杂度,文本着重介绍 DSSM、DRMM、Match-Pyramid 以及 BERT。还有一些出名的方法,例如 ARC、DURT,但是由于它们在空间复杂度上的限制,本文将不会介绍它们。
DSSM 是一个非常出名的短文本匹配算法,它首先被应用于 Web 搜索应用中匹配查询 (query) 和相关文档 (documents)。DSSM 使用神经网络将查询 (query) 和文档 (documents) 表示为向量,两向量之间的距离被视为它们的匹配得分。目前 DSSM 结构中的表示部分有三种不同的神经网络可以选择,接下来将会一一介绍。
基础版本的 DSSM 使用前向传播神经网络表示 query 和 document,如上图所示
输入的 query 和 documents 首先被表示为 bag of triple-gram letters。举个例子,“#good#” (加上 “#” 用来区分中间位置的字母和开始、结尾位置的字母),它的 letter trigram 为:“#go”、“goo”、“ood”、“od#”,最早提出 DSSM 的论文将这种方法称为 word hashing,为什么叫做 word hashing 呢?这里先解释一下这么做的好处,之后解释一下为什么叫做 word hashing。这么做的好处主要有两个:
表示成 bag of triple-gram letters 之后,再使用 one-hot 表示,出现 letter trigram 的那个维度被设置为 1,未出现的为 0。通过神经网络之后被表示成更加稠密的低维特征向量。将 query 和其最相关的文档 (positive document) 之间的余弦相似度记为 s + s^+ s+,和其第 i i i 个不相关的文档 (negative document) 之间的余弦相似度记为 s i − s^-_i si−,假设共有 N 个不相关文档,训练 DSSM 的损失函数如下:
l o s s = − l o g e γ s + e γ s + + ∑ i = 1 N e γ s i − loss=-log\frac{e^{\gamma s^+}}{e^{\gamma s^+}+\sum_{i=1}^N e^{\gamma s_i^-}} loss=−logeγs++∑i=1Neγs
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。