专栏名称: 机器学习研究会
机器学习研究会是北京大学大数据与机器学习创新中心旗下的学生组织,旨在构建一个机器学习从事者交流的平台。除了及时分享领域资讯外,协会还会举办各种业界巨头/学术神牛讲座、学术大牛沙龙分享会、real data 创新竞赛等活动。
目录
相关文章推荐
爱可可-爱生活  ·  【[38星]Physics-IQ: ... ·  昨天  
黄建同学  ·  Jim ... ·  2 天前  
爱可可-爱生活  ·  【[60星]awesome-lifelong ... ·  3 天前  
爱可可-爱生活  ·  【[140星]Memobase:为生成式AI ... ·  3 天前  
51好读  ›  专栏  ›  机器学习研究会

【学习】浅谈知识图谱数据管理

机器学习研究会  · 公众号  · AI  · 2017-03-08 18:57

正文



点击上方“机器学习研究会”可以订阅哦
摘要
 

转自:北京大数据研究院BIBDR

近年来随着“人工智能”概念的再度活跃,除了“深度学习”这个炙手可热的名词以外,“知识图谱”无疑也是研究者、工业界和投资人心目中的又一颗“银弹”。简单地说,“知识图谱”就是以图形(Graph)的方式来展现“实体”、实体“属性”,以及实体之间的“关系”。下图是截取的Google的知识图谱介绍网页中的一个例子。在例子中有4个实体,分别是“达芬奇”,“意大利”,“蒙拉丽莎”和“米可朗基罗”。这个图明确地展示了“达芬奇”的逐个属性和属性值(例如名字、生日和逝世时间等),以及之间的关系(例如蒙拉丽莎是达芬奇的画作,达芬奇出生在意大利等)。当我谈论到这时,我相信有很多读者会不经意地联系到数据库课程中的“ER Diagram”(实体-联系图)的概念。从某种角度的来说,两者确实是有异曲同工之处。根据传统数据库理论,当我们将现实世界的事物映射到信息世界时,最需要关注的是两个方面的信息:实体(包括实体属性)和实体关系;而ER图是反映实体和实体关系的最为经典的概念模型。我们之所以称ER图是概念模型,因为它的设计是为人去理解客观世界的事物的,不是计算机实现的模型。在数据库管理系统历史上,出现过层次模型、网状模型和关系模型;这些是数据库管理系统(DBMS)所实现的计算机模型。因此实际的数据库应用项目中就存在了一个从概念模型到实现模型的转换问题,例如如何根据ER图来构建关系表。如果从这个角度上来看,知识图谱又不同于ER图,因为知识图谱不仅显示地刻画了实体和实体关系,而且其本身也定义了一种计算机所实现的数据模型(即W3C所提出的RDF三元组数据模型),这就是本文第一章介绍的内容。由于本文作者的研究背景是数据库,因此本文试图从数据管理的角度去介绍知识图谱的相关概论以及研究和应用中的问题。同时因为知识图谱本身是一个交叉性研究课题,本文也将介绍不同学科(包括自然语言处理、知识工程和机器学习等领域)在知识图谱研究中的侧重。

图 Google的知识图谱示例

1

知识图谱的数据模型

“知识图谱”这个名词活跃是由于2012年5月16日Google启动的“Knowledge Graph”(知识图谱)项目。目前知识图谱普遍采用了语义网框架中RDF(Resource Description Framework,资源模式框架)模型来表示数据。语义网是万维网之父蒂姆·伯纳斯-李(Tim Berners-Lee)在1998年提出的概念,其核心是构建以数据为中心的网络,即Web of Data;这是相对于我们目前的万维网是Web of Pages而提出的。众所周知,万维网是利用超链接技术将不同的文档链接起来,从而方便用户的浏览和文档的共享。HTML文档的语法在于告诉浏览器按照何种格式来显示该文档,而并不是告诉计算机文档中的数据分别表示什么语义信息。语义网的核心是让计算机能够理解文档中的数据,以及数据和数据之间的语义关联关系,从而使得机器可以更加智能化地处理这些信息。因此我们可以把语义网想象成是一个全球性的数据库系统,也就是我们通常所提到的Web of Data。由于语义网技术涉及面较广,本文仅涉及知识图谱所采用的语义网框架中的一项核心概念RDF(Resource Description Framework,资源描述框架)。RDF的基本数据模型包括了三个对象类型,资源(Resource)、谓词(Predicate)及陈述(Statements)。

资源:所有能够使用RDF表示的对象都称之为资源,包括所有网络上的信息、虚拟概念、现实事物等等。资源以唯一的URI(统一资源标识——Uniform Resource Identifiers,通常使用的URL是它的一个子集)来表示,不同的资源拥有不同的URI。

谓词:谓词描述资源的特征或资源间的关系。每一个谓词都有其意义,用于定义资源在谓词上的属性值(Property Value)或者其他资源的关系。

陈述:一条陈述包含三个部分,通常称之为RDF三元组。其中主体一定是一个被描述的资源,由URI来表示。谓词可以表示主体的属性,或者表示主体和宾语之间某种关系;当表示属性时,宾语就是属性值,通常是一个字面值(literal);否则宾语是另外一个由URI表示的资源。

下图1展示了一个人物类百科的RDF三元组的知识图谱数据集。例如y:Abraham_Lincoln表示一个实体URI(其中y表示前缀http://en.wikipedia.org/wiki/),其有3三个属性(hasName,BornOndate,DiedOnDate)和一个关系(DiedIn)。

图1.RDF数据的例子


面向RDF数据集,W3C提出了一种结构化查询语言SPARQL;它类似于面向关系数据库的查询语言SQL。和SQL一样,SPARQL也是一种描述性的结构化查询语言,即用户只需要按照SPARQL定义的语法规则去描述其想查询的信息即可,不需要明确指定如何进行查询的计算机的实现步骤。2008年1月, SPARQL成为W3C的正式标准。SPARQL中的WHERE子句定义了查询条件,其也是由三元组来表示。我们不过多的介绍语法细节,有兴趣的读者可以参考[1]。下面的例子解释了SPARQL语言。假设我们需要在上面的RDF数据中查询“在1809年2月12日出生,并且在1865年4月15日逝世的人的姓名?” 这个查询可以表示成如图2的SPARQL语句。

图2.SPARQL查询的例子


我们也可以将RDF和SPARQL分别表示成图的形式。例如在RDF中,主体和客体可以分别表示成RDF图中的节点,一条称述(即RDF三元组)可以表示成一条边,其中谓词是边的标签。SPARQL语句同样可以表示成一个查询图。 图3显示了上例所对应的RDF图和SPARQL查询图结构。回答SPARQL查询本质上就是在RDF图中找到SPARQL查询图的子图匹配的位置,这就是基于图数据库的回答SPARQL查询的理论基础。在图3例子中,由节点005,009,010和011所推导的子图就是查询图的一个匹配,根据此匹配很容易知道SPARQL的查询结果是“Abraham Lincoln”。


图3.RDF图和SPARQL查询图

2

知识图谱目前的应用

本章简单介绍一下知识图谱在工业界,尤其是在互联网领域中的相关应用。其实知识图谱技术在其他领域,包括工业设计和产品管理、知识出版、健康医疗和情报分析等领域,目前都出现了不少的应用,由于篇幅有限,这里主要介绍互联网领域的相关公司的产品。

如前所述,知识图谱的活跃得益于Google的Knowledge Graph项目。Google通过构建知识图谱,将内部信息资源都唯一的关联起来。例如“姚明”是知识图谱中的一个实体,包含相关的一些属性例如出生时间、地点、身高。同时,可以将搜索引擎中所爬取的和“姚明”相关的文档和图片都与这个实体关联起来。Google的知识图谱项目中最早的应用方式就是在搜索引擎返回结果里面提供“知识卡片”。传统的搜索引擎返回界面中,通常是查询词所匹配的文档列表,如图4左面所示。然而在2012年5月16日以后的Google的搜索引擎返回结果中,如果查询词匹配了Google的知识图谱中的某个实体,Google还会以知识卡片的形式返回这个实体的一些属性和其他实体的关系。例如当我们搜索“姚明”时,Google会返回如图4右边所示的知识卡片,包括姚明的出生时间、地点、身高,以及他的妻子叶丽;甚至包括相关联的姚明的图片。


图4.Google搜索结果中的知识卡片


下面介绍Google另外一个利用知识图谱的项目叫“Google Rich Snippets”(Google富摘要)。搜索引擎在搜索结果的页面中会为每一篇搜索结果提供一个目标网页的摘要,以便用户判断是否是自己想搜索的页面。通常网页的摘要是采用“抽取式”方式生成的,即从网页的页面文本中找到和搜索关键词相关的并且比较重要的句子来构成页面的摘要返回给用户。但是Google的富摘要产品中,会抽取在用户HTML页面中以结构化形式存在的知识图谱数据,例如描述实体的属性的数据。目前这方面的标准有包括RDFa, Microdata和Schema.org等结构化数据标签。假设用户想在搜索“Thinkpad T450”产品,在Google返回的Walmart(沃尔玛)线上商店的页面摘要(如图7所示)中,摘要中包含了这个产品的打分(Rating 3星),评论数目(Vote 1份评论)和商品的价格(616.67 美金)。实际上这些重要的数据,用户已经通过Schema.org等结构化的语义标签在HTML中标示出来了,搜索引擎可以通过解析器(Parser)解析出这些结构化数据,利用这些结构化知识图谱数据来产生摘要。我们在图6中展示了利用Google的结构化测试工具,可以从上述沃尔玛产品页面的HTML中抽取上面提到的商品的价格和商标等属性信息。


图5.Walmart(沃尔玛)线上商店的一个产品页面


图6.Google结构化抽取工具所抽取出来的“Walmart产品页面”上的结构化数据


图7.根据抽取的结构化数据产生的“Walmart产品页面”搜索结果摘要


Facebook也定义了一种类似的标签语言,名叫Open Graph Protocol(OGP)。Facebook利用OGP协议定义了社交网络中上的知识图谱,即Facebook Social Graph,用于连接社交网络的用户,用户分享的照片,电影,评论,甚至包括通过Facebook定义的Graph API所链接的第三方的关于社交用户知识图谱数据。在所构建的Social Graph基础上,Facebook推出了Graph Search(图搜索)功能。将用户的自然语言问题,转化为面向Social Graph上的图搜索问题,从而回答用户的问题。假设以我的Facebook账号登录,输入自然语言“My friends who live in Canada”,将显示了我在加拿大的朋友的账号;同样地,再输入“Photos of my friends who live in Canada”,显示这些朋友的在Facebook上分享的照片。从这个例子上可以很明确的看出,Facebook所构建的Social Graph将用户、地点以及照片都关联起来,否则无法回答上述两个自然语言问题。Facebook将用户的输入的自然语言转化为面向Social Graph的结构化查询操作。从图8中可以看出,原始查询语句在经过自然语言接口模块处理后,对应的规范化自然语言查询语句和结构化查询语句分别为:“my friends who live in [id:12345]”和“intersect(friends(me), residents(12345))”[31]。其中,“12345”代表“Canada”在社交图谱上对应的Facebook ID。对应的结构化查询语句会交给Facebook内部设计的面向社交图谱的索引和搜索系统Unicorn[2],最后查询得到答案。


图8.Facebook中将自然语言转换为结构化查询的一个示例


面向知识图谱的问答系统还包括Amazon收购的EVI产品。EVI的原名叫True Knowledge[29],是一家创业公司的产品。本质上就是用三元组的形式来组织数据,根据模板技术将用户的自然语言问题转化为结构化的查询语句找到结果返回给用户[29]。IBM的Watson系统中也同样采用DBpedia和Yago知识图谱数据来回答某些自然语言问题[3];相比于传统基于文档的问答方法,基于知识图谱的问答其准确度更高,但是这样方法所能回答的问题相对较少。例如图9给出了IBM的Watson系统中利用知识图谱检索可以回答的问题的覆盖面小于传统利用文本搜索的覆盖率,但是利用知识图谱进行问答其精确度要高得多。


图9.IBM的Watson系统参加Jeopardy挑战的实验数据(摘自[3])


原文链接:

http://mp.weixin.qq.com/s/-mMFD5VLsOqzB1LXtjrA5g

“完整内容”请点击【阅读原文】
↓↓↓