深度学习之《社交网络问答系统-问题重复检测任务》实现

本文介绍了Quora的《 Semantic Question Matching with Deep Learning》技术,探讨了如何使用深度学习进行问题重复检测。该任务旨在识别问答社区中的重复问题,以便进行答案聚合和推荐。作者基于Keras框架实现了一个模型,包括LSTM、BILSTM和LSTM+Attention三种结构,并将代码开源在GitHub上。文章还强调了在实际场景中,找到重复问题候选对的初步筛选步骤的重要性,这是一个涉及精度、耗时和可扩展性的挑战。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

范涛
发表于2017-04-05
quora duplicate questions:Semantic Question Matching with Deep Learning 

本文参考了quora duplicate questions 技术文档:

Quora 提供了一个公开数据集( https://data.quora.com/First-Quora-Dataset-Release-Question-Pairs ),用来检测两个候选问题是否重复。上面参考文献中,quora工程师也给了他们采用DNN模型的一些思路和效果。
重复问题检测是一个常见的文本挖掘任务,在很多实际问答社区如quora,stackflow应该都是必须的应用。重复问题检测可以方便进行问题的答案聚合,以及问题答案推荐,自动QA等。

其中文中提到的公开的quora数据格式如下:


这是典型"1 to 1"匹配问题。
自己根据文中思路,基于keras开源框架实现了整个“ 重复问题检测”任务,代码放在github上。

备注:
其中包含了LSTM模型,BILSTM模型, LSTM+Attention模型。
附录模型网络结构图如下:

LSTM 模型




LSTM+Attention 模型


           其实值得说的是,真实场景中,如果我们需要进行问题重复检测,第一步其实先粗选找出重复问题的候选(candidate pairs),然后才是建立本文描述的“pair dnn 模型“。第一步粗选是十分重要的,需要考虑如何在海量样本中如何找出两两候选,这里不仅仅要考虑算法精度,还要考虑算法耗时和可扩展。这个问题不在本文讨论范畴,后面有机会专门讨论下这个问题。



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值