知识图谱:谷歌打造未来搜索

更新时间:2024-01-15 作者:用户投稿原创标记本站原创 点赞:28197 浏览:131148

搜索技术日新月异,如今它不再是在搜索框中输入几个单词那么简单了,不仅输入方式多样化(比如越来越流行的语音输入),并且还要在非常短的时间内给出一个精准而又全面的答案.目前,谷歌给出的解决方案就是—知识图谱(KnowledgeGraph).

知识图谱能做什么

我们搜索的时候,不只是为了找到一个网页,其实更希望得到答案,并想对搜索的内容有更深的理解和探索.知识图谱想要做的,就是在不同数据(来自现实世界)之间建立联系,从而带给我们更有意义的搜索结果.

比如在谷歌中搜索一个关 键 词“达·芬奇”,右侧会显示达·芬奇的生平、背景、名画、雕塑、居住位置、图书等等相关信息.点击这些知识点,又可以深入一步了解.这就是知识图谱,它不再是单一的信息,而是一个多元的信息网络(编者注:现在百度、必应上也可以体验到相似的功能).

知识图谱的源头

知识图谱的雏形好几年前就已出现,一家名为Metaweb的小公司,将现实世界中实体(人或事)的各种数据信息存储在系统中,并在数据之间建立起联系,从而发展出有别于传统关 键 词搜索的技术.

谷歌认为这一系统很有发展潜力,于2010年收购了Metaweb.那时Metawab已经存储了1200万个节点(Referencepoint,相当于一个词条或者一个页面),谷歌收购后的两年中,大大加速这一进程,现已有超过5.7亿个节点并在它们之间建了180亿个有效连接(这可是一个相当大的数字,维基百科英文版也才大约400万个节点).

像人一样思考的搜索引擎

谷歌成立之初,组织互联网知识库的主要策略是BruteForce算法.BruteForce是一种暴力算法,也称之为“简单匹配算法”,它的基本思路就是:从目标串s的第一个字符起和模式串t的第一个字符进行比较,若相等,则继续逐个比较后续字符,否则再从串s的第二个字符开始,依此类推.

其实说白了,目标串s就是网页数据,模式串t就是我们搜索时输入的关 键 词,谷歌将关 键 词与网页数据逐个比对,如果网页中包含了关 键 词就是匹配成功,返回搜索结果给我们,如果网页中不包含关 键 词,则丢弃,再从其他网页开始.这种“傻干活”的模式是典型的计算机行为,绝不是人类的思维.

如果搜索HowtallisJustinBieber(贾斯汀·比伯有多高),谷歌会先做一个分词的预处理,单词is太常见了,几乎所有英文网页中都会包含,所以搜索它毫无意义,必须把它过滤掉(但在整句中会保留,搜索引擎会将整句完全匹配的优先显示).即使如此,包含关 键 词How、tall、JustinBieber的网页依然有很多,所以传统的搜索总是包含了成千上万的“垃圾”结果.


知识图谱首先要做的事,就是要像人一样理解用户查询时的用意,它不但需要明白这一句中JustinBieber是绝对的主语,而且还要明白JustinBieber和tall之间的关系.这就涉及到当下异常火爆的人工智能中的自然语言处理(NLP)技术.所谓自然语言,就是我们平时所说的话(包括语音或文字),但这些话计算机如何能“理解”?过程很复杂,下面是其中的几个关键步骤.

步骤1:词法分析及分词

英语中同一个词往往有多种形态,比如works、worked、working,都是work的变体,词法分析时要将其识别、还原.汉语在词法分析时还需要分词,比如“结合成分子”,可以是:结合、合成、成分、分子等词,需要算法进行正确切分.

步骤2:词性标注

自然语言处理的难点之一,是词语的岐义性,比如本例搜索中的HowtallisJustinBieber,其中how既可以是副词也可以是疑问词,tall既可以是副词也可以是形容词,如果搜索引擎不能正确判断出词性,也就不可能理解它真正的含义.我们可以去http://nlp.stanford.edu:8080/corenlp/process试试这个在线工具,自动给英语句子进行词性标注.

步骤3:句法分析

在词性标注的基础上,基于一定的规则(如CFG),或者基于大量语料库中的概率统计,确定词与词之间的关系,识别出句子的句法结构.

步骤4:语义和语境分析

语义是在句法分析基础上确定句子所表达的真正含义,而语境则需要分析句子与句子之间的联系(即上下文关系).

谷歌搜索的负责人辛格尔表示,早在2002年,基于路德维希·维特根斯坦的理论,谷歌对上下文语义分析有了很大改进.如果某个语义含糊不清无法判断,就通过该词的相关词汇进行查询,比如热狗,通过相关词“芥末”或“球赛”,就会明白它是一种快餐食物,而不是一只很热的狗.

谷歌准确的语义分析,还得益于每天亿万次访问谷歌的那些用户,时时向用户学习以给机器“培养思维”.一个简单的分析方法,就是通过用户在页面上的时间长短来判断,如果用户点击一个搜索结果后停留很长时间,则说明这个页面正是他所需要的,反之则可能是不理想的结果.通过这些反馈,一点一点改进搜索.

经过上面一系列处理,现在搜索引擎已经理解到,HowtallisJustinBieber,问的是贾斯汀·比伯的身高,而不是那些仅仅包含了贾斯汀·比伯这个关 键 词的网页.

知识图谱直接给出答案

当计算机“理解”了我们的提问,它才有可能给出我们真正需要的答案.如今再在谷歌、必应等搜索引擎中搜索HowtallisJustinBieber,除了传统算法所带来的成千上万的搜索结果外,它们还会在页面最顶端直接给出明确的回复:这位欧美当红歌星的身高为5.7英尺(1米7).

传统的搜索返回一堆结果,需要我们再次判断,决定是否点击进入.而知识图谱的终极目标,是搜索后直接给出答案.上面我们分析了知识图谱如何理解问题,接下来则需要知道,答案从哪里来?以贾斯汀·比伯为例,关于他身高的答案,数据源自freebase.,它实际就是前文所说的被谷歌收购的Metaweb创办的网站.

Freebase跟维基百科非常相似,是个创作共享类的网站,所有内容都是由用户添加,数据可以自由引用.两者之间最大的不同,就是Freebase中的条目都采用结构化数据的形式,而维基百科就没有这么严谨了.

以贾斯汀·比伯的条目为例,其中的内容都是格式化的,一条一条像履历表,包括出生时间、出生地点、性别、职业、国籍甚至亲属等,还有就是前面我们所查询的身高资料.这套格式是固定的,所有人物条目都包含同样字段.所以,它实际上就是一个开放的在线数据库.

知识图谱并不神秘的秘密

看到这里,相信大家已恍然大悟,知识图谱并不神奇,它所有能给出的答案,实际上已经存在数据库中了.简单来说,知识图谱就是用“搜索+知识库”的方式来重新组织海量网络数据.

知识图谱首先努力“理解”用户的真实想法,然后,它搜索知识库,通过千丝万缕的联系,把最贴近的答案从海量数据中捞出来,直接放在你我的面前.

知识库中的数据不是孤立的,每个条目之间建立有深厚的关联,就以上面的贾斯汀·比伯的表格来说,它将比伯与数据库中其他的人、地点、事物,如比伯的父母姐妹、加拿大、男人们、歌手们等链接在一起,形成个人的一个网络.再比如,当你通过知识图谱查询“唐宁街10号”时,谷歌不是简单给出一个地名的答案,而是像生活中的路人一样给你更多的相关联信息.

从某种程度来说,知识图谱只是一个无穷无尽的工程的开始,谷歌在Metaweb原有基础上,将数据条目扩增到5亿以上,但这些还远远不够,因为人类的问题总是没完没了.