短文本匹配算法综述

本文综述了基于神经网络的短文本匹配算法,重点关注DSSM、DRMM、MatchPyramid和BERT。DSSM通过余弦相似度衡量匹配度,而DRMM、MatchPyramid和BERT利用word交互获取更详细的匹配特征。在实际应用中,DSSM适合实时推断,DRMM在效率和表现间取得平衡,BERT则在性能上表现出色但计算复杂。
摘要由CSDN通过智能技术生成

Abstract

短文本匹配是指使用 NLP 模型预测两个文本的语义相关性,很多领域内都有它的身影,比如:信息检索(information retrieval)、问答系统(question answering system)、对话系统(dialogue system)。本文将回顾近年来基于神经网络的表现较好的一些文本匹配算法。首先会介绍一下 DSSM 模型,它使用神经网络将文本表示为特征向量,然后使用两个特征向量之间的余弦相似度衡量文本之间的匹配度。然后介绍基于 word 交互的模型,比如:DRMM、MatchPyramid、Bert,它们从两个文本中的 “单词对” 的相似性中提取语义匹配特征,以捕获文本之间更详细的交互信息。同时,本文还基于模型的有效性和时间复杂度分析了每种算法的应用场景。

Introduction

短文本匹配是一种被广泛使用的 NLP 技术,它旨在对文本语义关系建模。信息检索(information retrieval)、问答系统(question answering system)、对话系统(dialogue system)等是它主要的应用领域。

在信息检索问题中,用户想找到和给定查询相关的文档。对于搜索引擎来说,如何对给定的查询匹配到合适的文档是至关重要的。文本匹配还能被用来在问答系统中为问题匹配到合适的答案,这对自动客服机器人非常有帮助,可以大大降低人工成本。

最近的研究表明基于神经网络的文本匹配算法要优于传统的文本匹配算法,例如:TFIDF、LSA、LDA 等等。使用神经网络表示文本、学习文本之间的交互模式将会使模型能够挖掘出文本之间复杂的语义关系。

近些年来出现了很多基于神经网络的文本匹配算法,但是本文只关注其中效果较好的算法,考虑到有效性和低时间复杂度,文本着重介绍 DSSM、DRMM、Match-Pyramid 以及 BERT。还有一些出名的方法,例如 ARC、DURT,但是由于它们在空间复杂度上的限制,本文将不会介绍它们。

DSSM (Deep Structured Semantic Models)

DSSM 是一个非常出名的短文本匹配算法,它首先被应用于 Web 搜索应用中匹配查询 (query) 和相关文档 (documents)。DSSM 使用神经网络将查询 (query) 和文档 (documents) 表示为向量,两向量之间的距离被视为它们的匹配得分。目前 DSSM 结构中的表示部分有三种不同的神经网络可以选择,接下来将会一一介绍。

Feed-Forward Network Based DSSM

image-20210115002221552

基础版本的 DSSM 使用前向传播神经网络表示 query 和 document,如上图所示

输入的 query 和 documents 首先被表示为 bag of triple-gram letters。举个例子,“#good#” (加上 “#” 用来区分中间位置的字母和开始、结尾位置的字母),它的 letter trigram 为:“#go”、“goo”、“ood”、“od#”,最早提出 DSSM 的论文将这种方法称为 word hashing,为什么叫做 word hashing 呢?这里先解释一下这么做的好处,之后解释一下为什么叫做 word hashing。这么做的好处主要有两个:

  1. 由于使用 letter trigram,许多单词之间就会出现同样的 pattern,这样就可以显著降低 vocabulary size,也就大大降低了底层神经网络的计算量
  2. 使用 letter trigram 表示可以使得对于拼写错误的单词更加鲁棒,正确拼写的片段仍然可以被有效使用。

表示成 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值