现代搜索引擎面临两个重要挑战:
1. 更好的建模搜索结果的语义相关性;
2. 更直接地给用户答案。
前文:1. 智能搜索和对话式OS技术解读(一)
本文:2. 通过知识的帮助来给用户直接答案
演讲主要集中在以下两个部分:
AI赋能的现代搜索引擎——百度搜索
AI赋能的对话式交互计算机——DuerOS系统
这边对比一下百度在知识图谱上的推理能力。
百度支持『主语+谓词』方式的推理,例子是『刘德华的老婆』,百度和Google都能给出答案。但从产品上百度更丰富的给出答案的详细信息。
百度支持『谓词+取值范围』方式的推理,例子是『180cm以上的男明星』,百度能够给出符合要求的明星列表,Google不能给出答案。
百度支持『谓词+排名』方式的推理,例子是『世界第五/第八/第十高峰』,百度能够给出符合要求的知识图谱卡片,Google给出的答案结构不一(有些是知识图谱卡片,有些是web answer卡片)。
百度支持多步推理,例子是『谢霆锋的爸爸的儿子的前妻的年龄』,百度能够通过多步推理给出答案,而Google不能给出答案(虽然真实用户不太会真的这样搜索百度,但是这个例子体现的是能力的差异)。
如何进行基于知识图谱的推理,这方面讨论很多,不多赘述。简言之就是按照知识先分析关系,然后在知识图谱上解释执行获取答案。上面的例子是『谢霆锋是谁的儿子』和『谢霆锋的儿子是谁』,虽然这两句话用词差不多,但是依存分析(Dependency Parsing)的解释完全不同,依据依存分析的解释,百度能够执行知识图谱查询并且获得正确的答案。
基于知识图谱推理的两大限制及三种解决方案
举个例子,看到『Bush wives』大家会猜到什么?一般都会理解为『小布什/老布什的老婆』(虽然wives复数有点奇怪)。包括Google在2015年的时候也是这么理解的(2015年WSDM演讲时的截图,后来Google修复了这个例子),但是如果仔细看一下头几条搜索结果,大家就会发现,bush wives讲的是非洲内战时,被掳获到丛林中充当慰安妇的妇女。
这就是典型的知识图谱的盲区问题,一旦某概念不在知识图谱其中,知识图谱会做一个它自己尽可能好的解释,但他可能和真正的解释相差很多。(一个类似的中文例子是『从百草园到三味书屋』,中国地大物博,确实有地名叫百草园,也有三味书屋,一个只关注地理位置POI的知识图谱就会觉得他是一个完美匹配导航需求的Query。但放大来看,大家都知道他是鲁迅的一篇散文。)
基于知识图谱推理的第二个限制是静态的图谱很难描述用户意图的分布以及变化。
举例来说,『天龙八部』这四个字,可以是小说,游戏,电视剧,电影。。。那么用户在一个上下文中说这四个字的时候,他到底要的是什么?如果世界上正好一部新的天龙八部的电影上映了,用户说这四个字的时候,他的需求分布是不是也应该相应改变?
搜索能够帮助知识图谱解决盲区和意图分布的问题:
搜索能够看到全景:百度搜索索引了几百亿的页面,基本上涵盖用户各种需求的方方面面。
搜索能够提供用户真实意图的分布:有非常多的排序特征和用户反馈特征能告诉我们用户在各种上下文下真实的意图分布,并且会随着时间推移更新。
两者结合来给用户『长答案』。
类似“天空为什么是蓝色的”这样的Query,用户需要详细的解释,我们可以把这个问题转化为在知识图谱的帮助下,自动识别最佳答案段落(Paragraph Ranking)的问题。这就会是一个百度很擅长的排序问题,我们能找出最精简描述『瑞利散射』的段落。
当知识图谱和搜索结合,我们通过情感分析(Sentiment Analysis),可以更好的理解搜索结果。
比如非常多人在百度上搜索『孕妇可以』打电话么?吃柿子么?玩电脑么?……或者『蚕丝被能够放在太阳下晒么』这样的问题,往往没有绝对的答案,这时候通过情感分析和知识图谱,百度能够告诉用户说有80%的人说可以,20%的人说不可以。您需要自己判断一下。:)
同样,基于实体和搜索结合可以把难度很高的问题难度减低到容易通用的实现。
举个例子:『王刚第二任妻子是谁』这个Query其实对知识图谱理解的要求很高:要理解这个第二,不是年龄第二,不是身高第二,而是结婚时间排序第二。但是一旦结合搜索,知识图谱的理解难度就下降了:
通过Query中的『是谁』,系统可以知道用户想要的答案很可能是一个人。
知识图谱可以标出搜索结果中所有是人的实体。
通过一些排序信号,包括实体出现在所有结果中的比例,我们较容易就能猜出答案很可能是『成方圆』——这是个正确答案。
总结一下第二部分,要给用户更多的直接答案,我们要充分利用知识图谱以及要和网页搜索来结合。(出于保密考虑,所有列出的数据都是百度2015年初的情况。)