知识图谱基础
- 1.为什么要用知识图谱
- 2.知识图谱的前世今生
- (1)发展脉络
- (2)发展阶段
- (3)知识图谱定义
- (4)知识类型
- (5)常见的开源知识图谱
- 3.知识图谱的相关技术
- (1)业务理解
- (2)图谱设计
- (3)知识抽取
- (4)知识表示
- (5)知识存储
- (6)知识链接
- (7)知识融合
- 4.知识图谱的应用案例
1.为什么要用知识图谱
知识图谱是由Google在2012年5⽉16⽇提出的,⽬的是为了提升搜索引擎返回的答案质量和⽤户查询的效率。 在搜索的场景下,有知识图谱作为辅助,搜索引擎能够洞察⽤户查询背后的语义信息,返回更为精准、结构化的信息,更⼤可能地满⾜⽤户的查询需求,比如搜索1个人物,会出现⾮常完整的相关信息。
Google知识图谱的宣传语things not strings给出了知识图谱的精髓,即不要⽆意义的字符串、⽽是获取字符串背后隐含的对象或事物。
知识图谱与深度学习的对比:
- 深度学习:见过大世面(大数据)的AI,擅长感知、识别、统计学习、概率判断,但是解释性低、需要大量数据提升其泛化性
- 知识图谱:知识渊博的AI,擅长结构知识、思考逻辑、推理,解释性强、不需要大量数据,但是仅仅依靠专家系统无法实现扩展和高效
- 相互结合:相辅相成实现更强的人工智能,学而不思则罔、思而不学则殆
语⾔理解需要背景知识:东方人难以理解⻄⽅⼈的笑话,反之亦如此,这是因为缺少共同的⽂化背景,⾃然地,机器理解语⾔也需要背景知识。
知识图谱可解释⼈⼯智能,越专业的领域对可解释性的要求越高。知识引导将是解决问题的重要⽅式之⼀,知识密集型应用对知识引导的要求很高。
2.知识图谱的前世今生
(1)发展脉络
知识图谱的发展脉络:
- 1960年代,出现语义网络,包含了相互连接的节点和边,节点代表概念或对象、边代表节点之间的关系,例如is a、part of、has a等。
- 1980年代,引入哲学概念本体,一个共享概念化的形象化明确规范(a formal explicit specification of a shared conceptualization),即本体就是精确定义了某一领域的一些概念,以及描述这些概念的特性、概念之间的关系的属性,以及属性的约束等,同时这种定义和描述是可以被计算机理解的、且被共同接受的。
- 1989年,出现万维网,启发来自于人脑可以透过互相联摄的神经传递信息,电脑文件也互相连接形成超文本。
- 1998年,从超文本链接到语义链接(Semantic Web),主要是为了让网络上的数据更加机器可读、对机器更加友好,使得数据相互连接、而非仅仅文档链接。
- 2006年,实现开放数据之间的链接。
- 2012年,Google正式提出知识图谱的概念。
(2)发展阶段
虽然知识图谱的概念较新,但它并非是一个全新的研究领域,所以谷歌提出KG为界线,可以简单地分为传统知识工程、大数据知识工程2个阶段。
(1)传统知识工程
知识⼯程源于符号主义,符号主义认为知识是智能的基础。符号主义(symbolicism),⼜称为逻辑主义、⼼理学派或计算机学派,其原理主要为物理符号系统(即符号操作系统)假设和有限合理性原理。符号主义认为⼈⼯智能源于数理逻辑。数理逻辑从19世纪末起得以迅速发展,到20世纪30年代开始⽤于描述智能⾏为。 计算机出现后,⼜在计算机上实现了逻辑演绎系统。其有代表性的成果为启发式程序逻辑理论家LT(Logic Theorist)。逻辑理论家证明了数学名著《数学原理》⼀书第⼆章52个定理中的38个定理,受到了⼈们的⾼度评价,认为是⽤计算机探讨⼈类智⼒活动的第⼀个真正的成果。 符号主义曾⻓期⼀枝独秀,为⼈⼯智能的发展作出重要贡献,尤其是专家系统的成功开发与应⽤,为⼈⼯智能⾛向⼯程应⽤和实现理论联系实际具有特别重要的意义。
在符号主义思潮的影响下,和现在以⼤数据为基础的⼈⼯智能不同,早期的⼈⼯智能专家认为,不管是机器的智能还是⼈的智能,本质都是符号的操作和运算,因此,⼈⼯智能的核⼼问题是如何表示知识、推理知识以及应⽤知识。在那时候的研究中,研究者们⼗分关注让机器拥有⼈类知识,⽐如常识,或者更为重要的专家知识,让机器在此基础上再进⾏表示、推理及应⽤。因此在那个时期,⼤家⾮常关注发展知识⼯程。传统的知识⼯程解决了⼀系列问题,⽐如蛋⽩质结构的发现、数学定理的证明,但总体⽽⾔解决的都是简单问题,特点如下:
- 规则明确
- 应⽤封闭
(2)大数据知识工程
为了适应互联⽹的特点,⾕歌在2012年推出全新的知识图谱,宣告了知识⼯程进⼊⼤数据时代,⼀⽅⾯是需求驱动,⼀⽅⾯也是条件使然:
- 数据、算⼒和模型的⻜速发展
- 众包技术
- ⾼质量的⽤户⽣成内容提供了⾼质量知识库来源
(3)知识图谱定义
知识图谱是⼀种基于图的数据结构,由节点(point)和边(Edge)组成,每个节点表示⼀个实体、每条边为实体与实体之间的关系, 知识图谱本质上是语义⽹络。 实体指的可以是现实世界中的事物,⽐如⼈、地名、公司、电话、动物等;关系则⽤来表达不同实体之间的某种联系。可以看到,实体有地名和⼈;⼤理属于云南、⼩明住在⼤理、⼩明和⼩秦是朋友,这些都是实体与实体之间的关系。
通俗理解,知识图谱就是把所有不同种类的信息连接在⼀起⽽得到的⼀个关系⽹络,因此知识图谱提供了从关系的⻆度去分析问题的能⼒。
在现实世界中,实体和关系也会拥有各⾃的属性,⽐如⼈可以有姓名和年龄。
(4)知识类型
知识类型主要有以下4种:
- 事实知识:关于某个特定实体的基本事实。
- 概念知识:类属关系。
- 词汇知识:实体与词汇间的关系或者词汇之间的关系(上下位、反义、同义、缩略,上班-同义-打⼯)。
- 常识知识:⼈类与外界交互获得的知识,⽆须⾔明就能理解的知识,⼤部分与时间、空间以及因果相关。比如太阳从东方升起,可能难以获取,因为是默认的、存在于人的认知的,而不一定存在于现有的文本中。
(5)常见的开源知识图谱
常见的开源知识图谱项目:
(1)DBpedia:DBpedia项⽬始于2007年,是⼀个多语⾔知识图谱,致⼒于从Wikipedia⻚⾯中获取结构化的知识供⼤众使⽤,可称作为数据库版本的Wikipedia。
(2)CN-DBpedia:CN-DBpedia是由复旦大学知识工场实验室(http://kw.fudan.edu.cn/)研发并维护的大规模通⽤领域结
构化百科,其前身是复旦GDM中文知识图谱。CN-DBpedia主要针对单数据源中文百科类网站(如
百度百科、互动百科、中文维基百科等)进行深入挖掘,经知识抽取、知识清洗、知识填充以及知识更新等操作后,最终形成一个质量高、知识多、更新快的中文通用百科知识图谱,供机器和人访问。CN-DBpedia自2015年12月份发布以来已经在问答机器人、智能玩具、智慧医疗、智慧软件等领域产生超过3.6亿次API调用量。
(3)YOGO:YAGO是由德国马普研究所研制的链接数据库,主要集成了Wikipedia、WordNet和GeoNames三个来源的数据。目前,YAGO包含1.2亿条三元组知识。YAGO 特点:人工审核,准确率在95%以上;考虑了时间和空间知识,为很多知识条目增加了时间和空间维度的属性描述;YAGO将WordNet的词汇定义与Wikipedia的分类体系进行了融合集成,使得YAGO具有更加丰富的实体分类体系。
(4)CN-Probase:CN-Probase是由复旦大学知识工场实验室研发并维护的大规模中文概念图谱,包含约1700万实体、27万概念和3300万isa关系。isa关系的准确率在95%以上,是目前规模最大的开放领域中文概念图谱和概念分类体系。相比较于其他概念图谱,CN-Probase具有两个显著优点:规模巨大,基本涵盖常见实体;严格按照实体进行组织,有利于实体的精准理解。
(5)WordNet:WordNet是由Princeton大学的心理学家、语言学家和计算机工程师联合设计的一种基于认知语言学的英语词典。它不是光把单词以字母顺序排列,而且按照单词的意义组成一个“单词的⽹络”。WordNet是一个覆盖范围宽广的英语词汇语义网。名词、动词、形容词和副词各自被组织成一个同义词的网络,每个同义词集合都代表一个基本的语义概念,并且这些集合之间也由各种关系连接。WordNet的描述对象包含compound(复合词)、phrasal verb(短语动词)、collocation(搭配词)、idiomatic phrase(成语)、word(单词),其中word是最基本的单位。WordNet的词汇结构包括九大类:上下位关系(动词、名词)、蕴含关系(动词)、相似关系(名词)、成员部分关系(名词)、物质部分关系(名词)、部件部分关系(名词)、致使关系(动词)、相关动词关系(动词)、属性关系(形容词)。
(6)BabelNet:BabelNet是一个多语词汇语义⽹络和本体,由罗马萨皮恩扎大学(罗马大学)计算机科学系的计算语言学实验室所创建。BabelNet是自动构建的,其将最大的多语Web百科全书维基百科链接到最常用的英语计算词典WordNet。这种链接整合,以自动映射的方式完成;对于资源匮乏的语言所存在的词汇空缺,借助于统计机器翻译来补充。其结果是一个“百科词典”,提供了多种语言的概念和命名实体,并包含了它们之间的丰富的语义关系。
(7)Cyc:Cyc取自英文单词Encyclopedia,是在1984年由MCC公司开始创建,最初的目标是要建立人类最大的常识知识库。Cyc知识库主要由术语Terms和断言Assertions组成,Terms包含概念、关系和实体的定义,Assertions用来建建立Terms之间的关系, 用以支持机器像人类一样推理。Cyc的主要特点是基于形式化的知识表示方法来刻画知识。形式化的优势是可以支持复杂的推理。但过于形式化也导致知识库的扩展性和应用的灵活性不够。
(8)ConceptNet:始于2004年,最早源于MIT媒体实验室,是⼀个⼤型的多语⾔常识知识库,其中包含了⼤量计算机应该了解的关于这个世界的信 息,这些信息有助于计算机做更好的搜索、回答问题以及理解⼈类的意图,知识来源于互联⽹众包、游戏以及专家构建。它由⼀些代表概念的节点构成,这些概念以⾃然语⾔的单词或者短语形式表达,并且其中标示了这些概念的关系。
(9)OpenKG:OpenKG是中国中文信息学会语言与知识计算专业委员会于2015年发起和倡导的开放知识图谱社区联盟项目,旨在推动以中文为基础的知识图谱数据的开放、互联与众包,以及知识图谱算法、工具和平台的开源开放工作。
3.知识图谱的相关技术
知识图谱的相关技术体系如下:
(1)业务理解
对业务的理解:
- 有哪些可获取的业务数据?
- 如果需要获取数据以及⼈⼯标注,需要多⼤成本?
- 是否需要专家介⼊?
- 业务数据的特性是什么样的?(是否存在很多⽹状的关系)
- 业务数据是否⽤⼀般数据库表示即可?
- 通过这些关系表示,能否给场景带来实际益处?
(2)图谱设计
知识图谱的设计思路如下:
采用的常用方法:
- 专家法:⾃上⽽下,总体规划——领域专家(技术+业务)
- 参照法:标杆对照,适配调整——⾏业标准
- 归纳法:单点切⼊,⾃下⽽上(针对⼀个单点的业务场景纵向打破,然后再基于这⼀套模式横向扩展)——技术专家
- 混合法:⼀味⽤专家法,细节不⾜,⼀味⽤归纳法,⾼度不够,可以综合两者,⽐如⼤的⽅向上⽤专家法,小的场景下⽤归纳法——参考标准
(3)知识抽取
面临的数据类型:
- 结构化数据
- 非结构化数据
- 半结构化数据
数据处理方式:
- 预处理
- 分词
- 词性标注
- 句法分析
抽取类型:
- 命名实体识别
- 实体链接
- 关系抽取
- 事件抽取
(4)知识表示
知识图谱是由⼀条条知识组成,每条知识表示为⼀个SPO三元组(Subject-Predicate-Object),如下:
举例如下:
在知识图谱中,⽤RDF形式化地表示这种三元关系。 其中,RDF即资源描述框架(Resource Description Framework)是⼀个使⽤XML语法来表示的资料模型(Data model),⽤来描述Web资源的特性,及资源与资源之间的关系。
RDF图中⼀共有三种类型:
- International Resource Identifiers(IRIs)
- blank nodes
- literals。
SPO每个部分的类型约束:
- Subject可以是IRI或blank node。
- Predicate是IRI。
- Object三种类型都可以。
创建RDF数据集、将其序列化(Serialization)的⽅式主要有:RDF/XML、N-Triples、Turtle、RDFa、JSON-LD等。
RDF的表达能⼒有限,⽆法区分类和对象,也⽆法定义和描述类的关系/属性。RDFS和OWL这两种技术或者说模式语⾔/本体语⾔(schema/ontology language)解决了RDF表达能⼒有限的困境。
RDFS比较重要的概念:
- rdfs:Class——⽤于定义类。
- rdfs:domain——⽤于表示该属性属于哪个类别。
- rdfs:range——⽤于描述该属性的取值类型。
- rdfs:subClassOf——⽤于描述该类的⽗类,比如可以定义⼀个艺术家类,声明该类是⼈的⼦类。
- 5rdfs:subProperty——⽤于描述该属性的⽗属性,比如可以定义⼀个名称属性,声明中⽂名称和全名是名称的⼦类。
(5)知识存储
知识存储的3种常用方式:
- 关系数据库
- 三元组
- 图数据库
没有太多关系延伸计算、属性多、结构固定,放到⼀般数据库即可。
(6)知识链接
语⾔表达的丰富性与多样性需要结合更多的信息进⾏消歧。
有2种情况:
- Mention Variations:同⼀实体有不同的mention。
- Entity Ambiguity:同⼀mention对应不同的实体。
(7)知识融合
知识融合,即合并两个知识图谱(本体),基本的问题都是研究怎样将来自多个来源的关于同一个实体或概念的描述信息融合起来。需要确认的是:等价实例、等价类/子类、等价属性/子属性。
知识融合,可消除实体、关系、属性等指称项与事实对象之间的歧义,形成高质量的知识库。知识推理则能在已有的知识库基础上进一步挖掘隐含的知识,从而丰富、扩展知识库。
4.知识图谱的应用案例
(1)基于图谱增强的可解释推荐:基于知识图谱,实现⾃动⽣成智能创意⽂案。
- ⾃动⽣成多种类型⽂案,并实现可控⽂案⽣成,凸显商品特点,适合多种场景。
- 将预估点击概率引⼊模型,提升线上点击效果。
- 以服务化的形式提供智能创意,实现统⼀接⼊、快速服务,提供多类型⽂案。
应用示例如下:
(2)基于图谱的智能搜索:搜索对于语⾔处理的要求越来越⾼,体现在以下⽅⾯:
- 语义精确理解:输⼊的不仅仅是关键词,可能是⼀句包含逻辑关系的⽂本(需要有基本的知识库作为⽀撑)。
- 意图精准理解:“苹果味 唇膏”,“唇膏 苹果味”,都是搜索“唇膏”⽽不是苹果(建⽴苹果味与唇膏之间的搭配关系)。
- 跨媒体协同搜索:根据图⽚定位⽂字,根据⽂字定位视频等等(建⽴跨媒体的知识图谱)。
应用示例如下:
(3)基于图谱的智能问答:输入自然语言的语句和知识库,输出问句对应的答案。
应用示例如下:
(4)基于图谱的智能决策:知识图谱为决策⽀持提供深层关系发现和推理能力。
应用示例如下:
Kensho公司属于⾦融咨询⾏业,是⼀个将云计算与⾦融咨询业务结合起来的科技型公司。它能财报发布、全球数据环境、经济报告、公司产品发布、FDA药品批准等数据及其关系,然后回答投资相关的问题。