分类目录归档:知识图谱科普

典型的知识库/链接数据/知识图谱项目

从人工智能的概念被提出开始,构建大规模的知识库一直都是人工智能、自然语言理解等领域的核心任务之一。下面首先分别介绍了早期的知识库项目和以互联网为基础构建的新一代知识库项目。并单独介绍了典型的中文知识图谱项目。

1. 早期的知识库项目

Cyc  :  Cyc是持续时间最久,影响范围较广,争议也较多的知识库项目。Cyc是在1984年由Douglas Lenat开始创建。最初的目标是要建立人类最大的常识知识库。典型的常识知识如”Every tree is a plant” ,”Plants die eventually”等。Cyc知识库主要由术语Terms和断言Assertions组成。Terms包含概念、关系和实体的定义。Assertions用来建立Terms之间的关系,这既包括事实Fact描述,也包含规则Rule的描述。最新的Cyc知识库已经包含有50万条Terms和700万条Assertions。 Cyc的主要特点是基于形式化的知识表示方法来刻画知识。形式化的优势是可以支持复杂的推理。但过于形式化也导致知识库的扩展性和应用的灵活性不够。Cyc提供开放版本OpenCyc。

WordNet:WordNet是最著名的词典知识库,主要用于词义消歧。WordNet由普林斯顿大学认识科学实验室从1985年开始开发。WordNet主要定义了名词、动词、形容词和副词之间的语义关系。例如名词之间的上下位关系(如:“猫科动物”是“猫”的上位词),动词之间的蕴含关系(如:“打鼾”蕴含着“睡眠”)等。WordNet3.0已经包含超过15万个词和20万个语义关系。

ConceptNet:ConceptNet是常识知识库。最早源于MIT媒体实验室的Open Mind Common Sense (OMCS)项目。OMCS项目是由著名人工智能专家Marvin Minsky于1999年建议创立。ConceptNet主要依靠互联网众包、专家创建和游戏三种方法来构建。ConceptNet知识库以三元组形式的关系型知识构成。ConceptNet5版本已经包含有2800万关系描述。与Cyc相比,ConceptNet采用了非形式化、更加接近自然语言的描述,而不是像Cyc那样采用形式化的谓词逻辑。与链接数据和谷歌知识图谱相比,ConceptNet比较侧重于词与词之间的关系。从这个角度看,ConceptNet更加接近于WordNet,但是又比WordNet包含的关系类型多。此外,ConceptNet完全免费开放,并支持多种语言。

2. 语义网与知识图谱

互联网的发展为知识工程提供了新的机遇。在一定程度上,是互联网的出现帮助突破了传统知识工程在知识获取方面的瓶颈。从1998年Tim Berners Lee提出语义网至今,涌现出大量以互联网资源为基础的新一代知识库。这类知识库的构建方法可以分为三类:互联网众包、专家协作和互联网挖掘。

Freebase: Freebase是一个开放共享的、协同构建的大规模链接数据库。Freebase是由硅谷创业公司MetaWeb于2005年启动的一个语义网项目。2010年,谷歌收购了Freebase作为其知识图谱数据来源之一。Freebase主要采用社区成员协作方式构建。其主要数据来源包括维基百科Wikipedia、世界名人数据库NNDB、开放音乐数据库MusicBrainz,以及社区用户的贡献等。Freebase基于RDF三元组模型,底层采用图数据库进行存储。Freebase的一个特点是不对顶层本体做非常严格的控制,用户可以创建和编辑类和关系的定义。2016年,谷歌宣布将Freebase的数据和API服务都迁移至Wikidata,并正式关闭了Freebase。

DBPedia: DBPedia是早期的语义网项目。DBPedia意指数据库版本的Wikipedia,是从Wikipedia抽取出来的链接数据集。DBPedia采用了一个较为严格的本体,包含人、地点、音乐、电影、组织机构、物种、疾病等类定义。此外,DBPedia还与Freebase,OpenCYC、Bio2RDF等多个数据集建立了数据链接。DBPedia采用RDF语义数据模型,总共包含30亿RDF三元组。

Schema.org:Schema.org是2011年起,由Bing、Google、Yahoo和Yandex等搜索引擎公司共同支持的语义网项目。Schema.org支持各个网站采用语义标签(Semantic Markup)的方式将语义化的链接数据嵌入到网页中。搜索引擎自动搜集和归集这些,快速的从网页中抽取语义化的数据。Schema.org提供了一个词汇本体用于描述这些语义标签。截止目前,这个词汇本体已经包含600多个类和900多个关系,覆盖范围包括:个人、组织机构、地点、时间、医疗、商品等。谷歌于2015年推出的定制化知识图谱支持个人和企业在其网页中增加包括企业联系方法、个人社交信息等在内的语义标签,并通过这种方式快速的汇集高质量的知识图谱数据。截止2016年,谷歌的一份统计数据显示,超过31%的网页和1200万的网站已经使用了Schema.org发布语义化的链接数据。其它采用了部分Schema.org功能的还包括微软Cortana、Yandex、Pinterest、苹果的Siri等。Schema.org的本质是采用互联网众包的方式生成和收集高质量的知识图谱数据。

WikiData:  WikiData的目标是构建一个免费开放、多语言、任何人或机器都可以编辑修改的大规模链接知识库。WikiData由维基百科于2012年启动,早期得到微软联合创始人Paul Allen、Gordon Betty Moore基金会以及Google的联合资助。WikiData继承了Wikipedia的众包协作的机制,但与Wikipedia不同,WikiData支持的是以三元组为基础的知识条目(Items)的自由编辑。一个三元组代表一个关于该条目的陈述(Statements)。例如可以给“地球”的条目增加“<地球,地表面积是,五亿平方公里>”的三元组陈述。截止2016年,WikiData已经包含超过2470多万个知识条目。

BabelNet:BabelNet是类似于WordNet的多语言词典知识库。BabelNet的目标是解决WordNet在非英语语种中数据缺乏的问题。BabelNet采用的方法是将WordNet词典与Wikipedia百科集成。首先建立WordNet中的词与Wikipedia的页面标题的映射,然后利用Wikipedia中的多语言链接,再辅以机器翻译技术,来给WordNet增加多种语言的词汇。BabelNet3.7包含了271种语言,1400万同义词组,36.4万词语关系和3.8亿从Wikipedia中抽取的链接关系,总计超过19亿RDF三元组。 BabelNet集成了WordNet在词语关系上的优势和Wikipedia在多语言语料方面的优势,构建成功了目前最大规模的多语言词典知识库。

NELL:NELL(Never-Ending Language Learner) 是卡内基梅隆大学开发的知识库。NELL主要采用互联网挖掘的方法从Web自动抽取三元组知识。NELL的基本理念是:给定一个初始的本体(少量类和关系的定义)和少量样本,让机器能够通过自学习的方式不断的从Web学习和抽取新的知识。目前NELL已经抽取了300多万条三元组知识。

YAGO: YAGO是由德国马普研究所研制的链接数据库。YAGO主要集成了Wikipedia、WordNet和GeoNames三个来源的数据。YAGO将WordNet的词汇定义与Wikipedia的分类体系进行了融合集成,使得YAGO具有更加丰富的实体分类体系。YAGO还考虑了时间和空间知识,为很多知识条目增加了时间和空间维度的属性描述。目前,YAGO包含1.2亿条三元组知识。YAGO是IBM Watson的后端知识库之一。

Microsoft ConceptGraph :ConceptGraph是以概念层次体系为中心的知识图谱。与Freebase等知识图谱不同,ConceptGraph以概念定义和概念之间的IsA关系为主。给定一个概念如“Microsoft”,ConceptGraph返回一组与“微软”有IsA关系概念组,如:“Company”,“Software Company”,“Largest OS Vender”等。这被称为概念化“Conceptualization”。ConceptGraph可以用于短文本理解和语义消歧中。例如,给定一个短文本“the engineer is eating the apple”,可以利用ConceptGraph来正确理解其中“apple”的含义是“吃的苹果”还是“苹果公司”。微软发布的第一个版本包含超过540万的概念,1255万的实体,和8760万的关系。ConceptGraph主要通过从互联网和网络日志中挖掘来构建。

LOD-Linked Open Data:LOD的初衷是为了实现Tim Berners-Lee在2006年发表的有关链接数据(Linked Data)作为语义网的一种实现的设想。LOD遵循了Tim提出的进行数据链接的四个规则,即:(1)使用URI标识万物;(2)使用HTTP URI,以便用户可以(像访问网页一样)查看事物的描述;(3)使用RDF和SPARQL标准;(4)为事物添加与其它事物的URI链接,建立数据关联。截止目前,LOD已经有1143个链接数据集,其中社交媒体、政府、出版和生命科学四个领域的数据占比超过90%。56% 的数据集对外至少与一个数据集建立了链接。被链接最多的是dbpedia的数据。比较常用的链接类型包括:foaf:knows、sioc:follows、owl:sameAs、rdfs:seeAlso、dct:spatial、skos:exactMatch等。LOD鼓励各个数据集使用公共的开放词汇和术语,但也允许使用各自的私有词汇和术语。在使用的术语中,有41%是公共的开放术语。

3. 中文知识图谱资源

OpenKG.CN:中文开放知识图谱联盟旨在通过建设开放的社区来促进中文知识图谱数据的开放与互联,促进中文知识图谱工具的标准化和技术普及。

Zhishi.me :Zhishi.me是中文常识知识图谱。主要通过从开放的百科数据中抽取结构化数据,已融合了百度百科,互动百科以及维基百科中的中文数据。

CN-DBPeidia:CN-DBpedia是由复旦大学知识工场实验室研发并维护的大规模通用领域结构化百科。CN-DBpedia主要从中文百科类网站(如百度百科、互动百科、中文维基百科等)的纯文本页面中提取信息,经过滤、融合、推断等操作后,最终形成高质量的结构化数据,供机器和人使用。CN-DBpedia自2015年12月份发布以来已经在问答机器人、智能玩具、智慧医疗、智慧软件等领域产生数亿次API调用量。CN-DBpedia提供全套API,并且免费开放使用。大规模商务调用,提供由IBM、华为支持的专业、稳定服务接口。

 

 

 

以链接为中心的系统-Link-based Systems

硅谷教父凯文凯利在他新书《必然》中谈到了网页2.0:“…今天的网络就是所有可以访问到的超链接文件… 但在未来的30年中…超链接的触手会不断延伸,把所有的比特连接起来。一个主机游戏中发生的事件会像新闻一样搜索即得。你还能寻找一段YouTube视频里面发生的事情…超链接还会延伸到实体中…把一块几乎免费的小芯片嵌入到产品中,就能让你对你的房间,甚至整栋房子展开搜索…”。

互联网是以链接为中心的系统。在未来的世界里,超链接会无处不在。从链接文件,到链接不同的数据库,到链接文本、图像、视频和音频中的事物,到链接各种设备、传感器和万事万物。链接的对象范围越来广,粒度也越来越细小,并被不但植入和延伸到各种不同的设备当中。

早在1945年,美国人Vannevar Bush提出了一个称为Memex的“记忆机器”(Collective Memory Machine),目的是让人们更加容易记录和访问知识。Bush认为人脑记忆偏重“关联”和“连接”,而不是基于“索引”或“层次化”。 Memex模拟了人脑记忆的这种特点,并启发了超文本(Hypertext)和万维网(World Wide Web)的发明。

1989年,万维网之父Tim Berners-Lee提出构建一个分布式超文本系统,并把它命名为Web。在这份建议书里,他提出要构建一个基于“链接”的信息系统(Linked Information System)。这个系统以“链接”为中心,并能在开放的互联网环境里面逐步演化、生长和扩大链接的范围。他认为这种基于图和链接的组织方式,比起基于树的层次化组织方式,更加适合于互联网这种复杂开放的系统。这一思想逐步被人们实现,并演化发展成为今天的万维网。

1994年,Tim Berners-Lee 又提出,Web不应该仅仅只是网页之间的互相链接。实际上,网页上所描述的是现实世界中的个体对象和人脑中的概念。网页之间的链接实际包含有语义,即这些个体对象或概念之间的关系,然而机器却无法有效的从网页中识别出其中蕴含的语义。如果人们在发布这些信息时,就建立对这些个体对象和关系的语义描述,再加上互联网的开放网络扩张效应(Network Effect),就能涌现出一个全球互联的“数据互联网”。

他于1998年提出了语义互联网(Semantic Web)的概念。语义互联网仍然基于图和链接的组织方式,只是图中的节点代表的不是网页,而是个体对象(如:人、机构、地点等),而超链接也被增加了类型描述,具体标明对象之间的语义关系(如:出生地是、创办人是等)。相对于传统的网页互联网,语义网的本质是(结构化)数据的互联网。Tim Berners-Lee希望人们都能用尽可能标准和规范的方式发布自己的数据,并像建立超文本链接一样建立数据之间的链接,从而构建一个庞大、分布互联的全球数据库。这种结构化的链接数据将使得Web上的信息更加易于被机器所理解和处理,而不仅仅像网页那样只是供人浏览。

如今,语义互联网早期关于建立数据或事物之间链接的设想正被知识图谱一步一步实现。知识图谱本质上也是一种以链接为中心的系统。而这种以链接为中的系统从早期的文本之间链接逐渐发展为数据之间的链接、事物之间的链接、设备和万物之间的链接。正如凯文凯利所指出,网页链接的触角正在飞速的扩展,链接对象的粒度越来越细小,链接的范围也越来越大,并变得无所不在。

知识图谱的缘起

知识图谱来源于三个方面的技术进步。一是符号人工智能、二是万维网、三是自然语言处理。

在经典人工智能领域,以知识表示为中心的符号人工智能和以神经网络为中心的连接人工智能一直是两个主流方向。神经网络借助深度学习解决了大量感知层面的问题,如视觉、听觉等。知识图谱一定程度上代表符号人工智能的发展方向,被认为是进一步解决认知层面的问题,如语言理解、常识推理等,所不可或缺的技术手段。

在万维网领域,Web之父Tim Berners-Lee于1998年提出了语义网(Semantic Web)的概念。传统Web是通过建立网页之间的链接发展起来的。语义网的初衷也是希望能像传统Web一样,建立数据或对象的直接链接,形成一个庞大的链接数据库或知识库。这种结构化的链接数据将使得Web上的信息更加易于被机器所理解和处理,而不仅仅像网页那样只是供人浏览。谷歌知识图谱的主要数据来源Freebase就是早期的语义网项目。

在自然语言处理领域,从文本中自动或半自动抽取实体及实体之间关系的技术飞速发展,在一定程度上解决了传统知识库获取面临的可扩展性差的问题,从而提升了各种知识图谱构建的效率。

当前,知识图谱技术和方法正在进一步与深度学习等进一步融合。目前人工智能领域的一个重要研究方向就是怎样基于神经网络来处理符号和实习知识图谱的处理和常识推理。可以预见,知识图谱将在人工智能相关的各个领域得到更加广泛的应用。

什么是知识图谱与语义技术

知识图谱最早被应用于搜索引擎领域,旨在通过语义把碎片化的数据关联起来,让用户能直接搜索到事务(Things),而不是文本字符串(Strings)。在搜索引擎中引入知识图谱大幅的提升和优化了搜索体验。

近年来,随着人工智能的再次兴起,知识图谱又被广泛的应用于聊天机器人和问答系统中,用于辅助深度理解人类的语言和支持推理,并提升人机问答的用户体验等。典型的如IBM的Watson,苹果的Siri,Google Allo,Amazon Echo,百度度秘,公子小白等。

此外,知识图谱还被用来提升数据分析的能力和效果。例如著名的大数据公司Palantir利用知识图谱建立数据的关联以提升上游数据分析的效果。与知识图谱有关的语义技术也被用来提升机器与机器之间的语义互操作能力,解决机器之间的语义理解问题。例如,全球最大物联网标准化组织OneM2M就把语义和知识技术作为物联设备抽象和语义封装的技术基础。

在金融、农业、电商、医疗健康、环境保护等大量的垂直领域,知识图谱都得到广泛的应用。例如,很多金融领域公司也构建了金融知识库以进行碎片化金融数据的集成与管理,并辅助金融专家进行风控控制、欺诈识别等;生物医疗专家通过集成和分析大规模的生物医学知识图谱,辅助其进行药物发现、潜在靶点识别等多方面任务。

进一步查看: 知识图谱的缘起

知识图谱相关的名词解释

知识图谱(Knowledge Graph)是谷歌于2012年提出。企业通常出于商业目的去设计新的概念和名词。但每一个概念的提出都有其历史渊源和本质内涵。下面列举了知识图谱相关的几个概念,并简要阐明了它们与知识图谱的关系和区别。

  1. Knowledge Base:通常翻译为“知识库”。知识库是人工智能的经典概念之一。最早是作为专家系统(Expert System)的组成部分,用于支持推理。知识库中的知识有很多种不同的形式,例如本体知识、关联性知识、规则库、案例知识等。相比于知识库的概念,知识图谱更加侧重关联性知识的构建,如三元组。
  2. The Semantic Web :通常翻译为“语义网”或“语义互联网”,是Web之父Tim Berners Lee于1998年提出的【1】。语义互联网的核心内涵是:Web不仅仅要通过超链接把文本页面链接起来,还应该把事物链接起来,使得搜索引擎可以直接对事物进行搜索,而不仅仅是对网页进行搜索。谷歌知识图谱是语义互联网这一理念的商业化实现。也可以把语义互联网看做是一个基于互联网共同构建的全球知识库。
  3. Linked Data:通常翻译为“链接数据”。是Tim Berners Lee于2006年提出,是为了强调语义互联网的目的是要建立数据之间的链接,而非仅仅是把结构化的数据发布到网上。他为建立数据之间的链接制定了四个原则【2】。从理念上讲,链接数据最接近于知识图谱的概念。但很多商业知识图谱的具体实现并不一定完全遵循Tim所提出的那四个原则。
  4. Semantic Net/ Semantic Network:通常翻译为“语义网络”或“语义网”,这个翻译通常被与Semantic Web的翻译混淆起来,为了以示区别,这里采用“语义网络”的翻译。语义网络最早是1960年由认知科学家Allan M. Collins作为知识表示的一种方法提出【3】。WordNet是最典型的语义网络。相比起知识图谱,早期的语义网络更加侧重描述概念以及概念之间的关系,而知识图谱更加强调数据或事物之间的链接。
  5. Ontology:通常翻译为“本体”。本体本身是个哲学名词。在上个世纪80年代,人工智能研究人员将这一概念引入了计算机领域。Tom Gruber把本体定义为“概念和关系的形式化描述”【4】。通俗点讲,本体相似于数据库中的Schema,主要用来定义类和关系,以及类层次和关系层次等。OWL是最常用的本体描述语言。本体通常被用来为知识图谱定义Schema。

引文:

[1] Tim Berners Lee.  The Semantic Web Roadmap. https://www.w3.org/DesignIssues/Semantic.html, 1998.
[2]Tim Berners-Lee (2006-07-27). “Linked Data”Design IssuesW3C.
[3] Allan M. Collins; M. R. Quillian (1969). “Retrieval time from semantic memory”. Journal of verbal learning and verbal behavior8 (2): 240–247.
[4] Gruber, T. (1995). “Toward Principles for the Design of Ontologies Used for Knowledge Sharing”. International Journal of Human-Computer Studies43 (5-6): 907–928.