文献阅读(2):王昊奋:大规模知识图谱技术
文章目录
基本信息
- 题目:大规模知识图谱技术
- 主讲嘉宾:王昊奋
- 主持人:阮彤
- 承办:中关村大数据产业联盟
- 链接:https://cloud.tencent.com/developer/article/1131706
- 这是一篇分享报告,发布时间2018-05-21
- 名词记录:
名词 | 英文 | 缩写 |
---|---|---|
属性-值对 | attribute-valuepair | AVP |
关系 | relation | |
资源描述框架 | Resource Definition Framework | RDF |
属性图 | property graph | |
知识卡片 | Knowledge Card | |
去歧义页面 | DisambiguationPage | |
面向站点的包装器 | Site-spercificWrapper |
一、知识图谱的表示以及在搜索中的展现形式
图谱:Graph,注意不是image,它并不是图片,主要研究的是知识的表示,实体的关联,概念实例化等。
这篇的很多概念和说法都与上一篇类似,所以看起来就会比较熟悉。报告式的文献看着也比较易懂。
- 概念:知识图谱旨在描述真实世界中存在的各种实体或概念。其中,每个实体或概念用一个全局唯一确定的ID来标识,称为它们的标识符(identifier)。
- 属性-值对:(attribute-valuepair,又称AVP)用来刻画实体的内在特性;
- 关系:relation,用来连接两个实体,刻画它们之间的联系
所以其实知识图谱可以看做是数据结构里一个巨大的图,图的结点就表示实体或者概念,边就由属性或者关系构成。
举例说明的话就是:微博:人看做结点,某人关注另一个人,关注就是一种关系;一条微博也可以看做结点,某人赞了条微博,赞就是一种关系,连接人和微博的关系。
本文有一个新的概念:知识卡片(Knowledge Card)。就是我们在搜索引擎中搜索的展现形式。知识卡片为用户查询中所包含的实体或返回的答案提供详细的结构化摘要,是特定于查询(query specific)的知识图谱。如下图,分别是Google、百度、搜狗搜索“姚明”所展现的知识卡片:
搜索引擎当遇到含有歧义的用户查询时,知识卡片还会列出其他可能的查询目标对象,以达到去歧义的作用。
第一章思维导图如下:
二、知识图谱的构建
2.1数据层
(1)数据来源:
- 收集来自百科类站点和各种垂直站点的结构化数据来覆盖大部分常识性知识;
- 从各种半结构化数据(形如HTML表格)抽取相关实体属性-值对来丰富实体的描述;
- 通过搜索日志(query log)发现新的实体或新的实体属性从而不断扩展知识图谱的覆盖率。
(2)百科类数据(半结构化数据):维基百科,互动百科,百度百科
举例:从维基百科获取所需内容:
- 通过文章页面抽取各种实体;
- 通过重定向页面获得这些实体的同义词(又称Synonym);
- 通过去歧义页面(Disambguation Page)和内链锚文本(Internal Link Anchor Text)获得他们的同音异义词(又称Homonym);
- 通过概念页面获得各种概念以及其上下位关系。
举例:从中文百科类站点获取(如百度百科):
- 这类站点的结构化程度远不如维基百科
- 大量属性-值对隐含在一些列表或表格中,一个切实可行的做法是构建面向站点的包装器(Site-specificWrapper)
(3)结构化数据
- Deep Web:垂直领域站点(电商网站,点评网站等)
通过动态网页技术将保存在数据库中的各种领域相关的结构化数据以HTML表格的形式展现给用户;对存在大量长尾的结构化站点进行大规模的信息抽取(尤其是实体相关的属性-值对的抽取)对于知识图谱所含内容的扩展非常有价值。
(4)搜索日志
日志形式:<查询,点击的页面链接,时间戳>
通过日志我们可以发现最新出现的各种实体及其属性,从而保证知识图谱的实时性。
同样,上述方法里我们只是拿到了一个个孤立的抽取图谱,要通过融合才能将这些信息形成一个真正的知识图谱。
(5)实体对齐(Object Alignment)
上一篇叫实体匹配,都是旨在发现具有不同标识实体但却代表真实世界中同一对象的那些实体,并将这些实体归并为一个具有全局唯一标识的实体对象添加到知识图谱中。也是用聚类的方法。
2.2模式层
这就相当于为知识图谱建立本体(Ontology)。最基本的本体包括概念、概
念层次、属性、属性值类型、关系、关系定义域(Domain)概念集以及关系值域(Range)概念集。
现在一般都是使用自顶向下和自底向上相结合的方法建立知识图谱。
- 自顶向下:通过本体编辑器(Ontology Editor)预先构建本体
自顶向下的方法有利于抽取新的实例,保证抽取质量,而自底向上的方法则能发现新的模式。
2.3实体不一致性
融合来自不同数据源构成知识图谱时,有一些实体会同时属于两个互斥的类别(如男女)或某个实体所对应的一个Property(如性别)对应多个值。
一个简单有效的方法充分考虑数据源的可靠性以及不同信息在各个数据源中出现的频度等因素来决定最终选用哪个类别或哪个属性值。
2.4知识图谱上的挖掘
挖掘的目的:进一步增加知识图谱的覆盖率
主要技术:推理、实体重要性排序、相关实体挖掘
(1)推理
推理功能一般通过可扩展的规则引擎来完成。
知识图谱上规则的分类:
- 针对属性的:通过数值计算来获取其属性值。如根据出生年月计算年龄
- 针对关系的:通过(链式)规则发现实体间的隐含关系。如我们可以定义规定:岳父是妻子的父亲。利用这条规则,当已知姚明的妻子(叶莉)和叶莉的父亲(叶发)时,可以推出姚明的岳父是叶发。
(2)实体重要性排序
指当用户查询涉及多个实体时,搜索引擎将选择与查询更相关且更重要的实体来展示。实体的相关性度量需要在查询时在线计算,而实体重要性与查询无关可离线计算。
(3)相关实体挖掘
在相同查询中共现的实体,或在同一个查询会话(Session)中被提到的其他实体称为相关实体。
方法:将查询或会话看做是虚拟文档,将其中出现的实体看做是文档中的词条,使用 主题模型(如LDA)发现虚拟文档集中的主题分布。
当用户输入查询时,搜索引擎分析查询的主题分布并选出最相关的主题。同时,搜索引擎将给出该主题中与知识卡片所展现的实体最相关的那些实体作为“其他人还搜了”的推荐结果。
2.5知识图谱的更新和维护
(1)schema更新:为了保证其质量,由专业团队审核和维护。
(2)结构化站点包装器的维护:
- 站点的更新常常会导致原有模式失效,搜索引擎会定期检查站点是否存在更新;
- 搜索引擎检查页面的变化量,同时使用最新的站点包装器进行AVP抽取;
- 变化量超过阈值且抽取结果与原先标注的答案差别较大,则说明现有包装器失效。需要对最新的页面进行重新标注并学习新的模式,从而构建更新的包装器。
(3)知识图谱的更新频率:
知识类型对应的实例往往动态变化。加入到知识图谱中的数据不是一成不变的。
由于数据层的规模和更新频度都远超schema层,搜索引擎公司利用其强大的计算保证图谱每天的更新都能在3个小时内完成,而实时的热点也能保证在事件发生6个小时内在搜索结果中反映出来。
(4)众包(Crowdsourcing)反馈机制:
知识图谱还依赖用户来帮助改善。用户可以对搜索结果中展现的知识卡片所列出的实体相关的事实进行纠错。当很多用户都指出某个错误时,搜索引擎将采纳并修正。
本章思维导图如下:
三、知识图谱在搜索中的应用
知识图谱已经在搜索的查询理解和基于知识的问题回答上初显出其强大的威力。
- 搜索引擎借助知识图谱来识别查询中涉及到的实体(概念)及其属性等,并根据实体的重要性展现相应的知识卡片。
- 自动问答系统:直接返回答案,而不仅仅是排序的文档列表。
四、总结
- 目前知识图谱还处于初期阶段;
- 人工干预很重要;
- 结构化数据在知识图谱的构建中起到决定性作用;
- 各大搜索引擎公司为了保证知识图谱的质量多半采用成熟的算法;
- 知识卡片的给出相对比较谨慎;
- 更复杂的自然语言查询将崭露头角(如Google的蜂鸟算法)
知识图谱的构建是多学科的结合,需要知识库、自然语言处理,机器学习和数据挖掘等多方面知识的融合。有很多开放性问题需要学术界和业界一起解决。