知识图谱的思考

第一部分:概论

人的记忆偏重关联
Web:以链接为中心的系统
语义网:从链接文本到链接数据

知识图谱的思考

每个点都是一个对象,每条边都是对象之间的关系


知识图谱:2012由谷歌提出,连接在一起的不再是text,而是thing或者叫object

知识图谱的思考

搜索出来的东西,不再仅仅是网页连接,而是一个个对象,与搜索的对象有明确的语义关系

 

 

知识图谱的思考

语义分析,结构化搜索,FB的Graph Search


背后需要知识表示知识库的支持
作用:辅助搜索、问答、辅助决策、常识推理
当深度学习遇到知识图谱,从感知、识别、判断进化到了思考、语言、推理

 

本质

  • Web:语义搜索
  • NLP:抽取语义和结构化数据
  • KR:用计算机符号表示和处理知识
  • AI:辅助理解人的语言
  • DB:用图的方式存储知识

典型知识库项目

CYC 常识知识库 term+assertion
Wordnet:词典数据库,只要用于语义消歧
ConceptNet:常识知识库,三元组形式
Freebase:免费,允许商业化
Wikidata:目标是构建全世界最大的免费知识库
DBPedia:早期的语义网项目 30亿RDF三元组
Yago集成了Wikipedia, WordNet, GeoNames的数据,考虑了时间和空间知识, 1.2亿条三元组
Babelnet类似于WordNet,目标是解决多语种问题
NELL采用互联网挖掘的方法从WEB自动抽取三元组
微软Concept Graph以概念层次体系为中心的知识图谱
OpenKG.cn中文知识图谱资料库
zhishi.me

知识图谱的技术体系

知识图谱的思考

 

把不同来源的数据通过各种技术手段(图中黑框字)形成知识图谱数据

  • KBP: knowledge base population
  • D2R: database to RDF (三元组 triple based assertion model)

知识表示

用计算机符号表示人脑中的知识,以及通过符号之间的运算来模拟人脑的推理过程。最早是基于数理逻辑,现在是基于向量空间学习的分布式知识表示

 

知识图谱的思考

三元组 主谓宾RDF

知识图谱的思考


RDF Graph

知识图谱的思考


RDFS在RDF的基础上增加词汇量,增加约束
Class, subClassOf, type, Property, subPropertyOf, Domain, Range

知识图谱的思考

 

OWL 基于RDFS
complex classes, property restrictions, cardianlity restrictions, property characteristics

知识图谱的思考

 

SPARQL RDF的查询语言

知识图谱的分布式表示 KG Embedding

知识图谱的思考

知识抽取 NLP+KR

知识图谱的思考

抽取方法

  • 正则
  • 模板匹配
  • 规则约束
  • 知识挖掘
  • SVM CRF LSTM
  • 训练

知识存储

多为混合存储模型 关系型 非关系型 图存储

知识问答

KBQA knowledge-based question answering

知识图谱的思考

基本流程

 

知识推理

知识图谱的思考

知识融合

对不同数据集中的实体信息进行整合,形成更加全面的实体信息
典型工具:

  • Dedupe
  • LIMES

知识众包

Wikibase
Schema.ORG

第二部分:构建

知识图谱,是结构化的语义知识库,用于迅速描述物理世界中的概念及其相互关系,通过将数据粒度从document级别降到data级别,聚合大量知识,从而实现知识的快速响应和推理。

当下知识图谱已在工业领域得到了广泛应用,如搜索领域的Google搜索、百度搜索,社交领域的领英经济图谱,企业信息领域的天眼查企业图谱等。

交叉研究包含有:自然语言处理与语义web、数据挖掘、机器学习、知识表示与推理、认知计算、信息检索与抽取;

构建知识图谱流程:

 

知识图谱的思考

一、信息抽取:实体抽取、关系抽取、属性抽取;

信息抽取(infromation extraction)是知识图谱构建的第1步,其中的关键问题是:如何从异构数据源中自动抽取信息得到候选指示单元?信息抽取是一种自动化地从半结构化和无结构数据中抽取实体、关系以及实体属性等结构化信息的技术。

1.1实体抽取也称为命名实体识别(named entity recognition,NER),是指从文本数据集中自动识别出命名实体;

实体抽取研究历史:

主要是从面向单一领域进行实体抽取,逐步跨步到面向开放域(open domain)的实体抽取。

1.2 关系抽取:文本语料经过实体抽取之后,得到的是一系列离散的命名实体,为了得到语义信息,还需要从相关语料中提取出实体之间的关联关系,通过关系将实体联系起来,才能够形成网状的知识结构。这就是关系抽取需要做的事;

关系抽取研究历史:

1、人工构造语法和语义规则(模式匹配);

2、统计机器学习方法;

3、基于特征向量或核函数的有监督学习方法;

4、研究重点转向半监督和无监督;

5、开始研究面向开放域的信息抽取方法;

6、将面向开放域的信息抽取方法和面向封闭领域的传统方法结合。

1.3属性抽取:是从不同信息源中采集特定实体的属性信息,如针对某个公众人物,可以从网络公开信息中得到其昵称、生日、国籍、教育背景等信息。

属性抽取研究历史:

1、将实体的属性视作实体与属性值之间的一种名词性关系,将属性抽取任务转化为关系抽取任务;

2、基于规则和启发式算法,抽取结构化数据;

3、基于百科类网站的半结构化数据,通过自动抽取生成训练语料,用于训练实体属性标注模型,然后将其应用于对非结构化数据的实体属性抽取;

4、采用数据挖掘的方法直接从文本中挖掘实体属性和属性值之间的关系模式,据此实现对属性名和属性值在文本中的定位。

 

二、知识融合:实体链接(相似度计算)、知识合并;

通过信息抽取,我们就从原始的非结构化和半结构化数据中获取到了实体、关系以及实体的属性信息。如果我们将接下来的过程比喻成拼图的话,那么这些信息就是拼图碎片,散乱无章,甚至还有从其他拼图里跑来的碎片、本身就是用来干扰我们拼图的错误碎片。

2.1实体链接(entity linking)是指对于从文本中抽取得到的实体对象,将其链接到知识库中对应的正确实体对象的操作。

其基本思想是首先根据给定的实体指称项,从知识库中选出一组候选实体对象,然后通过相似度计算将指称项链接到正确的实体对象。

实体链接研究历史:

1、仅关注如何将从文本中抽取到的实体链接到知识库中,忽视了位于同一文档的实体间存在的语义联系;

2、开始关注利用实体的共现关系,同时将多个实体链接到知识库中。即集成实体链接(collective entity linking);

实体链接的流程:

1、从文本中通过实体抽取得到实体指称项;

2、进行实体消歧和共指消解,判断知识库中的同名实体与之是否代表不同的含义以及知识库中是否存在其他命名实体与之表示相同的含义;

3、在确认知识库中对应的正确实体对象之后,将该实体指称项链接到知识库中对应实体。

 2.2知识合并:在前面的实体链接中,我们已经将实体链接到知识库中对应的正确实体对象那里去了,但需要注意的是,实体链接链接的是我们从半结构化数据和非结构化数据那里通过信息抽取提取出来的数据。那么除了半结构化数据和非结构化数据以外,我们还有个更方便的数据来源——结构化数据,如外部知识库和关系数据库。

对于这部分结构化数据的处理,就是我们知识合并的内容啦。一般来说知识合并主要分为两种:

1、合并外部知识库,主要处理数据层和模式层的冲突;

2、合并关系数据库,有RDB2RDF等方法。

三、知识加工:本体构建、知识推理、质量评估

我们已经通过信息抽取,从原始语料中提取出了实体、关系与属性等知识要素,并且经过知识融合,消除实体指称项与实体对象之间的歧义,得到一系列基本的事实表达。然而事实本身并不等于知识要想最终获得结构化,网络化的知识体系,还需要经历知识加工的过程。

3.1本体构建:本体(ontology)是指工人的概念集合、概念框架,如“人”、“事”、“物”等。本体可以采用人工编辑的方式手动构建(借助本体编辑软件),也可以以数据驱动的自动化方式构建本体。因为人工方式工作量巨大,且很难找到符合要求的专家,因此当前主流的全局本体库产品,都是从一些面向特定领域的现有本体库出发,采用自动构建技术逐步扩展得到的。自动化本体构建过程包含三个阶段:1、实体并列关系相似度计算;2、实体上下位关系抽取;3、本体的生成

3.2知识推理:完成了本体构建这一步之后,一个知识图谱的雏形便已经搭建好了。但可能在这个时候,知识图谱之间大多数关系都是残缺的,缺失值非常严重,那么这个时候,我们就可以使用知识推理技术,去完成进一步的知识发现。:如果A是B的配偶,B是C的主席,C坐落于D,那么我们就可以认为,A生活在D这个城市。

根据这一条规则,我们可以去挖掘一下在图里,是不是还有其他的path满足这个条件,那么我们就可以将AD两个关联起来。除此之外,我们还可以去思考,串联里有一环是B是C的主席,那么B是C的CEO、B是C的COO,是不是也可以作为这个推理策略的一环呢?

当然知识推理的对象也并不局限于实体间的关系,也可以是实体的属性值,本体的概念层次关系等。

比如:推理属性值:已知某实体的生日属性,可以通过推理得到该实体的年龄属性;

推理概念:已知(老虎,科,猫科)和(猫科,目,食肉目)可以推出(老虎,目,食肉目)

这一块的算法主要可以分为3大类,基于逻辑的推理、基于图的推理和基于深度学习的推理。

知识图谱的思考

3.3质量评估

质量评估也是知识库构建技术的重要组成部分,这一部分存在的意义在于:可以对知识的可信度进行量化,通过舍弃置信度较低的知识来保障知识库的质量

四、知识更新:全面更新、增量更新

知识库的更新包括概念层的更新和数据层的更新。概念层的更新是指新增数据后获得了新的概念,需要自动将新的概念添加到知识库的概念层中。数据层的更新主要是新增或更新实体、关系、属性值,对数据层进行更新需要考虑数据源的可靠性、数据的一致性(是否存在矛盾或冗杂等问题)等可靠数据源,并选择在各数据源中出现频率高的事实和属性加入知识库。

4.1全面更新:指以更新后的全部数据为输入,从零开始构建知识图谱。这种方法比较简单,但资源消耗大,而且需要耗费大量人力资源进行系统维护;

4.2增量更新:以当前新增数据为输入,向现有知识图谱中添加新增知识。这种方式资源消耗小,但目前仍需要大量人工干预(定义规则等),因此实施起来十分困难。

五、知识图谱查询和推理计算

5.1知识存储和查询:知识图谱以图(Graph)的方式来展现实体、事件及其之间的关系。知识图谱存储和查询研究如何设计有效的存储模式支持对大规模图数据的有效管理,实现对知识图谱中知识高效查询。因为知识图谱的结构是复杂的图结构,给知识图谱的存储和查询带来了挑战。当前目前知识图谱多以三元存在的 RDF 形式进行存储管理,对知识图谱的查询支持 SPARQL 查询;

 

知识图谱的思考

5.2知识推理计算:知识推理从给定的知识图谱推导出新的实体跟实体之间的关系。知识图谱推理可以分为基于符号的推理和基于统计的推理。在人工智能的研究中,基于符号的推理一般是基于经典逻辑(一阶谓词逻辑或者命题逻辑)或者经典逻辑的变异(比如说缺省逻辑)。基于符号的推理可以从一个已有的知识图谱推理出新的实体间关系,可用于建立新知识或者对知识图谱进行逻辑的冲突检测。基于统计的方法一般指关系机器学习方法,即通过统计规律从知识图谱中学习到新的实体间关系。知识推理在知识计算中具有重要作用,如知识分类、知识校验、知识链接预测与知识补全等。

 

知识图谱的思考

六、知识图谱应用

6.1通用和领域知识图谱:知识图谱最成熟的一个场景,自动给出搜索结果和相关人物,知识图谱分为通用知识图谱与领域知识图谱两类,两类图谱本质相同,其区别主要体现在覆盖范围与使用方式上。通用知识图谱可以形象地看成一个面向通用领域的结构化的百科知识库,其中包含了大量的现实世界中的常识性知识,覆盖面广。领域知识图谱又叫行业知识图谱或垂直知识图谱,通常面向某一特定领域,可看成是一个基于语义技术的行业知识库,因其基于行业数据构建,有着严格而丰富的数据模式,所以对该领域知识的深度、知识准确性有着更高的要求。

6.2语义集成: 采用语义集成技术,发现异构知识库中实体间的等价关系,从而实现知识共享。由于知识库多以本体的形式描述,因此语义集成中的主要环节是本体映射;匹配方法包括:

①基于文本信息的方法:这种方法主要利用本体中实体的文本信息,例如实体的标签和摘要信息。通过计算两个实体字符串之间的相似度(常用的有编辑距离相似度, Jaccard 相似度),来确定实体之间是否具有匹配关系;

②基于结构的方法:这种方法主要利用本体的图结构信息来对本体进行匹配。其中较为代表性的方法有 SimRank 和相似度传播, 这些方法利用本体的图结构,对实体间的相似度进行传播,从而提高对齐的效果;

③基于背景知识的方法:这种方法一般使用 DBPedia 或WordNet 等已有的大规模领域无关知识库作为背景知识来提高匹配效果。例如,Aleksovski 等人利用 DICE 本体(医学领域的本体)来匹配结构信息缺失的两个与医学相关的本体;

④基于机器学习的方法:这种方法将本体匹配问题视为一个机器学习中的分类或优化问题,采取机器学习方法获得匹配结果。例如将本体匹配视为一个贝叶斯决策问题。 Niepert 等人将本体匹配问题使用马尔可夫逻辑网络(Markov Logic Network)建模,将本体中的各种信息转化为各种约束条件,并求出最优解。

6.3语义搜索:结合文本,结构化和语义数据、以整体的方式管理不同类型的资源、支持结果为信息单元(文档,数据)的集成的检索。知识图谱是对客观世界认识的形式化表示,将字符串映射为客观事件的事务(实体、事件以及之间的关系)。当前基于关键词的搜索技术在知识图谱的知识支持下可以上升到基于实体和关系的检索,称之为语义搜索。语义搜索利用知识图谱可以准确地捕捉用户搜索意图,借助于知识图谱,直接给出满足用户搜索意图的答案,而不是包含关键词的相关网页的链接。

知识图谱的思考

语义搜索

6.4基于知识的问答:基于语义解析的方法大致包含四个部分: 资源映射、逻辑表达式、候选答案生成、排序。问答系统(Question Answering, QA)是指让计算机自动回答用户所提出的问题,是信息服务的一种高级形式。不同于现有的搜索引擎,问答系统返回用户的不再是基于关键词匹配的相关文档排序,而是精准的自然语言形式的答案。

经由:①数据预处理:处理数据库数据,包含索引、数据清理、特征提取等;②问题分析:执行语法分析,同时检测问题的核心特征,如NER、答案类型等;③数据匹配:将问题里的terms 和数据里的实体进行匹配;④查询创建:生成结构查询候选;⑤排序;⑥结果返回与生成:执行查询并从结果里抽取答案。

 

知识图谱的思考

基于知识问答


七、知识图谱构建方法

主要包含:知识表示建模、知识表示学习、实体识别与链接、实体关系学习、事件关系学习

 

知识图谱的思考

7.1知识表示与建模:知识表示将现实世界中的各类知识表达成计算机可存储和计算的结构。机器必须要掌握大量的知识,特别是常识知识才能实现真正类人的智能。从有人工智能的历史开始,就有了知识表示的研究。知识图谱的知识表示以结构化的形式描述客观世界中概念、实体及其关系,将互联网的信息表达成更接近人类认知世界的形式,为理解互联网内容提供了基础支撑。

7.2知识表示学习:随着以深度学习为代表的表示学习的发展,面向知识图谱中实体和关系的表示学习也取得了重要的进展。知识表示学习将实体和关系表示为稠密的低维向量,实现了对实体和关系的分布式表示,可以高效地对实体和关系进行计算,、缓解知识稀疏、有助于实现知识融合,已经成为知识图谱语义链接预测和知识补全的重要方法。由于知识表示学习能够显著提升计算效率,有效缓解数据稀疏,实现异质信息融合,因此对于知识库的构建、推理和应用具有重要意义,值得广受关注、深入研究。

 

知识图谱的思考

7.3实体识别与链接:实体是客观世界的事物,是构成知识图谱的基本单位(这里实体指个体或者实例)。实体分为限定类别的实体(如常用的人名、地名、组织机构等)以及开放类别实体(如药物名称、疾病等名称)。实体识别是识别文本中指定类别的实体。实体链接是识别出文本中提及实体的词或者短语(称为实体提及),并与知识库中对应实体进行链接。实体识别与链接是知识图谱构建、知识补全与知识应用的核心技术。实体识别技术可以检测文本中的新实体,并将其加入到现有知识库中。实体链接技术通过发现现有实体在文本中的不同出现,可以针对性的发现关于特定实体的新知识。实体识别与链接的研究将为计算机类人推理和自然语言理解提供知识基础。

7.4实体关系学习:实体关系描述客观存在的事物之间的关联关系,定义为两个或多个实体之间的某种联系,实体关系学习就是自动从文本中检测和识别出实体之间具有的某种语义关系,也称为关系抽取。实体关系抽取分类预定义关系抽取和开放关系抽取。预定义关系抽取是指系统所抽取的关系是预先定义好的,比如知识图谱中定义好的关系类别,如上下位关系、国家—首都关系等。开放式关系抽取。开放式关系抽取不预先定义抽取的关系类别,由系统自动从文本中发现并抽取关系。实体关系识别是知识图谱自动构建和自然语言理解的基础。

7.5事件知识学习:事件是促使事物状态和关系改变的条件,是动态的、结构化的知识。目前已存在的知识资源(如谷歌知识图谱)所描述多是实体以及实体之间的关系,缺乏对事件知识的描述。针对不同领域的不同应用,事件有不同的描述范畴。一种将事件定义为发生在某个特定的时间点或时间段、某个特定的地域范围内,由一个或者多个角色参与的一个或者多个动作组成的事情或者状态的改变。一种将事件认为是细化了的主题,是由某些原因、条件引起,发生在特定时间、地点,涉及某些对象,并可能伴随某些必然结果的事情。事件知识学习,即将非结构化文本文本中自然语言所表达的事件以结构化的形式呈现,对于知识表示、理解、计算和应用意义重大。知识图谱中的事件知识隐含互联网资源中,包括已有的结构化的语义知识、数据库的结构化信息、半结构化的信息资源以及非结构化资源,不同性质的资源有不同的知识获取方法。

 

知识图谱的思考