利用深度学习查找"相似问题"——Quora技术实践

原文:Semantic Question Matching with Deep Learning
作者:Lili Jiang, Shuo Chang, and Nikhil Dandekar
编译:赵屹华
欢迎人工智能领域技术投稿、约稿、给文章纠错,请发送邮件至[email protected]

Quora作为一个高质量的知识平台,需要确保相同的问题不会多次出现。答题者不应该把相同的答案复制粘贴到类似的问题下方,而读者也应该只能在站内找到唯一的问题与他的需求对应。例如,“减体重的最佳方法是什么?”,“如何才能减肥?”,“最有效的减肥计划是什么?”,通常这些问题都会被人们认为是重复提问,因为这些问题的意图都相同。为了避免出现类似的问题,Quora的工程师们利用机器学习和自然语言处理技术,开发了一套自动识别重复问题的系统。

最近,Quora的工程师们公开了一个重复问题的数据集,供爱好者们训练模型,来解决类似于Quora重复提问检测的任务。在此篇文章中,笔者会介绍Quora工程师在过去几周内将这份数据集与深度学习技术相结合,做了哪些探索性的研究。

问题定义

严格来说,重复检测的问题可以定义为这类形式:已知两个问题q1和q2,训练模型来逼近公式:

f(q1, q2) → 0 or 1

1表示q1和q2两个问题非常相似,反之则为0。

一种简单的重复检测方法是基于词语的比较。举个例子,我们可以采用标准的基于词的信息检索方法,比如tfidf或者BM25,来比较两个问题的相似度,若相似度超过阈值则判断为重复问题。但是,Quora的工程师认为若想更进一步的在语义或者意图层面判断相似性,就需要用更智慧的方法。其实,在自然语言处理界,一直有科研人员在研究这方面问题[1-3]。

Quora的方法

目前Quora生产环境中所用的是基于大量人工提取特征的随机森林模型,特征包括了词向量加权平均的余弦相似度,常用词的数量,问题标记的常用话题标签,以及词语的词性标签。

受到近年来深度学习技术的启发,笔者和同事们尝试了三种端到端的深度学习方法试图解决这一问题。由于都是端到端的深度学习方法,节省了大量的提取复杂特征的时间和精力。

他们的第一种方法是采用递归神经网络(RNN)。具体说来,用到的是RNN的变种,长短期记忆网络(LSTM),相比RNN后者能更好地捕获长期依赖信息。他们利用Quora自己的文本集训练了词向量,将词向量结合来表示一个问题,然后将两个问题的词向量表示都送入表示层。然后将输出的两个向量拼接送入下一层网络,计算最终的分类结果。下图是此方法的示意图:

利用深度学习查找"相似问题"——Quora技术实践

图1:方法1的示意图(向量拼接的LSTM)

在探索第二种方法时,作者采用了Tai,Socher的方法构建特征:(1)距离,即两个向量之差的平方和;(2)角度,即两个向量逐点相乘之积。这两维特征也被传入神经网络模型。与前一种方法类似,这也属于LSTM网络,但不是将两个表示向量直接拼接,而是

利用深度学习查找"相似问题"——Quora技术实践

图2:方法1的示意图(使用距离和角度的LSTM)

最后,笔者还尝试了来自谷歌研究院的 attention-based 方法[4],这种方法通常被用在机器翻译任务中。相比于其它 attention-based 的方法,这种方法最显著的特点在于用到的参数非常少。与前两种方法类似,这个方法也将问题的分词结果用词向量表示。如图3所示,对两个问题中的所有词对训练一个attention模型,最后聚合得到分类结果。

利用深度学习查找"相似问题"——Quora技术实践

图3:方法3的示意图

下图是三种方法在测试集上的表现效果:

利用深度学习查找"相似问题"——Quora技术实践

未来,笔者打算尝试更复杂、结构更深的模型,同时也尝试融合多种方法。

参考文献
[1] Juri Ganitkevitch, Benjamin Van Durme, Chris Callison-Burch. 2013. PPDB: The Paraphrase Database. In Proceedings of NAACL-HLT.
[2] Lushan Han, Abhay Kashyap, Tim Finin, James May- field, and Jonathan Weese. 2013. UMBC EBIQUITY-CORE: Semantic textual similarity systems. In Proceedings of the Second Joint Conference on Lexical and Computational Semantics.
[3] Kai Sheng Tai, Richard Socher, and Christopher D Manning. 2015. Improved Semantic Representations From Tree-Structured Long Short-Term Memory Networks. In Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing.
[4] Ankur P Parikh, Oscar Täckström, Dipanjan Das, Jakob Uszkoreit. 2016. A Decomposable Attention Model for Natural Language Inference, arXiv 2016


【CSDN_AI】热衷分享 扫码关注获得更多业内领先案例
利用深度学习查找"相似问题"——Quora技术实践