最近,百度度秘事业部首席技术官朱凯华在上海计算机学会做了题为《AI赋能的搜索和对话交互》的主题报告。详细介绍了深度学习在百度搜索引擎的引用,以及神秘的DuerOS系统。其中有关深度学习在搜索引擎的应用,引起了我的兴趣。我本身也是搜索出身,在计算所的时候从事信息检索相关的工作,后来人民搜索、百度App搜索、招聘中候选人、职位的搜索都是搜索引擎技术的应用。尽管做了这么多的搜索应用,但技术的变化并不大。近几年随着深度学习越来越火,也在业余时间思考深度学习该如何提高搜索引擎的效果呢?不过一直也没有很好的思路,只是比较模糊的尝试方向。
这次看了百度的分享,再次激起我的思考。深度学习在NLP领域的应用越来越多了,取得了很多成绩,那应该是时候,再去尝试下这个方向了。对于深度学习在NLP领域的应用,大家可以阅读待字闺中之前发表的两篇文章:
百度的分享中,很多点因为商业的原因不能说透,整体理解下来效果还是很明显的,主要有以下几点:
-
海量的点击数据,作为训练集。主要是依托大量的query/点击的title对。这个百度独有的优势,天然有大量的标注数据。
-
更好的调试理解DNN的训练结果,要有方法更好的调试DNN模型是否符合预期的工作。
-
通过CNN建模短距离依赖关系。
-
通过RNN建模长距离依赖关系。这一点比较关键,也是在传统搜索引擎过程中遇到的一个痛点,如何建模词之间有间隔的概念。
百度目前主要的思路是在Rank的层面做的。纵观搜索引擎的历史,Rank做得好的都有一个前提就是得有点击数据。然而,这有一定的局限,我也觉得这个并没有满足对深度学习的带来变革的期待,只是做了一些不错的改进。除了Rank,还有哪些方面会有可能的尝试呢?
原文链接:
http://mp.weixin.qq.com/s/DTqp_cyoH3qBKd5NH1mSRg