深度学习之《社交网络问答系统-问题重复检测任务》实现
来源:互联网 发布:电视剧源码 编辑:程序博客网 时间:2024/06/05 07:08
范涛
发表于2017-04-05
quora duplicate questions:Semantic Question Matching with Deep Learning
本文参考了quora duplicate questions 技术文档:
https://engineering.quora.com/Semantic-Question-Matching-with-Deep-Learning
http://geek.csdn.net/news/detail/190307
Quora 提供了一个公开数据集(https://data.quora.com/First-Quora-Dataset-Release-Question-Pairs),用来检测两个候选问题是否重复。上面参考文献中,quora工程师也给了他们采用DNN模型的一些思路和效果。
重复问题检测是一个常见的文本挖掘任务,在很多实际问答社区如quora,stackflow应该都是必须的应用。重复问题检测可以方便进行问题的答案聚合,以及问题答案推荐,自动QA等。
其中文中提到的公开的quora数据格式如下:
这是典型"1 to 1"匹配问题。
自己根据文中思路,基于keras开源框架实现了整个“重复问题检测”任务,代码放在github上。
github 代码路径:https://github.com/dylan-fan/quora_duplicate_questions
备注:
其中包含了LSTM模型,BILSTM模型, LSTM+Attention模型。
附录模型网络结构图如下:
LSTM 模型
LSTM+Attention 模型
其实值得说的是,真实场景中,如果我们需要进行问题重复检测,第一步其实先粗选找出重复问题的候选(candidate pairs),然后才是建立本文描述的“pair dnn 模型“。第一步粗选是十分重要的,需要考虑如何在海量样本中如何找出两两候选,这里不仅仅要考虑算法精度,还要考虑算法耗时和可扩展。这个问题不在本文讨论范畴,后面有机会专门讨论下这个问题。
0 0
- 深度学习之《社交网络问答系统-问题重复检测任务》实现
- 深度学习笔记——利用深度学习构建社区问答系统之相似问题对匹配
- QA问答系统中的深度学习技术实现
- QA问答系统中的深度学习技术实现
- ucos II 系统学习之------任务堆栈检测
- 深度学习quora问答
- iOS学习之--------------使用系统方法检测网络情况
- 深度网络的学习问题
- 对于人体异常行为检测有训练好的深度学习模型吗? | 社区问答
- 想用深度学习的方法检测一个零部件的不合格部位,如何下手? | 社区问答
- 深度学习之对抗网络
- 深度学习之卷积网络
- 复杂网络之社交网络
- 深度学习之目标检测进展
- 深度学习基础之 - 行人检测SSD
- 深度学习之检测模型-Faster RCNN
- 深度学习之检测模型-Mask RCNN
- 社交网络feed系统浅析
- 第一只爬虫---糗事百科
- 【划重点】第一篇博客
- Consul实践之Consul是什么
- (蓝桥杯模拟)1.算年龄 & 4.字符串比较(填空) & 5.还款计算
- 位图的实现
- 深度学习之《社交网络问答系统-问题重复检测任务》实现
- python 中文乱码解决方法
- 【转】 数学建模竞赛的准备、技巧、选题、写作等各方面得总结
- 单身狗的出现 —— Javascript封装
- 数组的相关运算(sizeof和strlen的灵活应用)
- ubuntu切换多终端的方法
- 结构体与char型的转换
- ZOJ
- 华为在线编程系列-删除字符串中出现次数最少的字符