1、KG定义
1.1知识图谱概念
KG(Knowledge Graph/Vault),又称科学知识图谱,用各种不同的图形等可视化技术描述知识资源及其载体,挖掘、分析、构建、绘制和显示知识及它们直接的相互联系。
KG可以看作图,图由节点和边组成。节点表示 抽象的概念 (如人工智能、知识图谱等)或是实体 (如一个人、一本书等)。边可以是实体的属性 (如姓名、书名)或是实体之间的关系(如朋友、配偶)。
KG的发展经理了从逻辑知识--> 词典--> 知识图 的历程,其本质是海量信息无序-->有序-->有用。
典型应用: 维基百科、DBpedia、Yago、清华大学XLORE。
1.2 相关术语
概念:具有同等性质的实体构成的集合,用来表示集合、类别、对象类型、事务的种类等。
与WordNet等早起本体知识构建不同,现有方法多在传统分类法中结合大众分类和机器学习来构建语义网络分类体系。
实体:具有可区分且独立存在的某种事物,实体是KG中的最基本元素。
属性:是对概念和实体外延或者内涵的描述。
属性值:对象、属性的值。
关系:把图中节点映射到布尔值的函数。
内容:作为实体和语义类的解释,用文本或音视频来表达。
从DBpedia可以看出,概念的增长缓慢,但是属性增长很快。
2、KG的表示
KG中的每两个节点和节点之间连线就构成了三元组,三元组是KG的一种通用表示方法。
主要包括两种形式:
- "实体-关系-实体",比如 中国-首都-北京
2."实体-属性-属性值",比如 北京-人口-2069万人
KG由一条条知识组成,每条知识表示为一个SPO(Subject-Predicate-Object,主谓宾三元组)
即: 资源-属性-属性值
3、KG的构建
框图来源: 如何从零构建知识图谱?三分钟带你快速了解知识图谱的架构与逻辑!_哔哩哔哩_bilibili
3.1 KG的数据源
包括结构化数据、半结构化数据及非结构化数据三大种类。
3.2 知识抽取
知识抽取方法包括:实体识别(命名实体识别 NER)、关系抽取(RE)、属性抽取
非结构化的数据包括文本、视频、音频、图片等,需要对其进行知识抽取,才能进一步建立KG。
半结构化数据是介于结构化和非结构化数据之间的一种数据,也需要进行知识抽取。如 互动百科。
结构化数据,KG通常可以直接利用和转换,形成基础数据集,再利用KG补全技术,进一步扩展KG。如 Freebase。
其中属性抽取可以使用python爬虫爬取百度百科、维基百科等网站,操作较为简单,因此命名实体识别(NER)和实体关系抽取(RE)是知识抽取中非常重要的部分,命名实体识别与关系抽取是两个独立的任务,命名实体识别任务是在一个句子中找出具有可描述意义的实体,而关系抽取则是对两个实体的关系进行抽取。命名实体识别是关系抽取的前提,关系抽取是建立在实体识别之后。
3.2.1 实体识别方法
3.2.1.1 使用CRF完成命名实体识别
CRF(Conditional random field,条件随机场)是一种判别式模型 (HMM是生成式模型)。是给定一组输入随机变量条件下另一组输出随机变量的条件概率分布模型,其特点是假设输出随机变量构成马尔可夫随机场。
一般使用BIO体系:标签采用"BIO"体系,即实体的第一个字为 B_,其余字为 I_,非实体字统一标记为 O。大部分情况下,标签体系越复杂,准确度也越高。
技术实现方法:使用pycrfsuite和hanlp完成基于CRF的命名实体识别
1) 获取语料库:nltk、人民日报、其他公开标注语料
2)特征函数:定义特征函数,这里其实更像是定义特征函数的模板,因为真正的特征函数会根据这个定义的模板去生成,而且一般生成的特征函数数量是相当大的,然后通过训练确定每个特征函数对应的权重。
3)训练模型:接着可以开始创建 Trainer 进行训练,将语料的每个句子转成特征及标签列表,然后设置好 Trainer 的相关参数,并将样本添加到 Trainer 中开始训练。最终会将模型保存到model_path中。
4)预测:创建 Tagger 并加载模型,即可在测试集中选择一个的句子打标签。
5)评估:最后是评估我们的模型总体效果,将测试集中所有句子输入到训练出来的模型,将得到的预测结果与测试集句子对应的标签对比,输出各项指标。
3.2.1.2 基于Bilstm+CRF的命名实体识别
BiLSTM指的是双向LSTM;CRF指的是条件随机场。
1)数据预处理:字向量处理:依据字典与标签字典,将文字与标签分别转成数字。第一行是文本,第二行是标签。
2)模型构建:采用双向LSTM对序列进行处理,将输出结果进行拼接。
3)模型训练与测试。
4)模型验证
3.2.1.3 基于关键词技术的实体抽取
基于TextRank的关键词提取技术:
算法原理:如果一个单词出现在很多单词后面的话,那么说明这个单词比较重要。一个TextRank值很高的单词后面跟着的一个单词,那么这个单词的TextRank值会相应地因此而提高。
3.2.2 实体关系抽取
实体和实体之间存在着语义关系, 当两个实体出现在同一个句子里时, 上下文环境就决定了两个实体间的语义关系。
完整的实体关系包括两方面:关系类型和关系的参数,关系类型说明了该关系是什么关系, 如雇佣关系、 类属关系等; 关系的参数也就是发生关系的实体,如雇佣关系中的雇员和公司。
实体关系抽取问题可以看做一个分类问题。使用有监督(标记学习)、半监督(统计分析)或无监督(聚类方法)等方法进行。实体关系抽取往往关注一个句子内的上下文。
实现技术:基于依存句法分析的开放式中文实体关系抽取方法实现:
Hanlp分词HanLP是一系列模型与算法组成的NLP工具包,由大快搜索主导并完全开源,目标是普及自然语言处理在生产环境中的应用。HanLP具备功能完善、性能高效、架构清晰、语料时新、可自定义的特点。
Hanlp提供的功能包括:
a.中文分词
b.词性标注(pos)
c.命名实体识别(ner)
d.关键词提取
e.自动摘要
f.短语提取
g.拼音转换
h.简繁转换
i.依存句法分析
j.word2vec
hanlp提供了两种依存句法分析的器,默认采用的是基于神经网络的依存句法分析器,另一种为基于最大熵的依存句法分析器。
3.3 知识融合
主要任务是实体消歧和指代消解。
3.3.1 实体消歧的本质在于一个词有很多可能的意思,也就是在不同的上下文中所表达的含义不太一样。实体消歧专门用于解决同名实体产生歧义的问题。
3.3.1.1 基于词典的词义消歧
基于词典的词义消歧方法研究的早期代表工作是Lesk 于1986 的工作。给定某个待消解词及其上下文,该工作的思想是计算语义词典中各个词义的定义与上下文之间的覆盖度,选择覆盖度最大的作为待消解词在其上下文下的正确词义。但由于词典中词义的定义通常比较简洁,这使得与待消解词的上下文得到的覆盖度为0,造成消歧性能不高。
3.3.1.2 有监督词义消歧
有监督的消歧方法使用词义标注语料来建立消歧模型,研究的重点在于特征的表示。常见的上下文特征可以归纳为三个类型:
(1)词汇特征通常指待消解词上下窗口内出现的词及其词性;
(2)句法特征利用待消解词在上下文中的句法关系特征,如动-宾关系、是否带主/宾语、主/宾语组块类型、主/宾语中心词等;
(3)语义特征在句法关系的基础上添加了语义类信息,如主/宾语中心词的语义类,甚至还可以是语义角色标注类信息。
3.3.1.3 无监督和半监督词义消歧
虽然有监督的消歧方法能够取得较好的消歧性能,但需要大量的人工标注语料,费时费力。为了克服对大规模语料的需要,半监督或无监督方法仅需要少量或不需要人工标注语料。一般说来,虽然半监督或无监督方法不需要大量的人工标注数据,但依赖于一个大规模的未标注语料,以及在该语料上的句法分析结果。
目前消歧通常涉及聚类法、空间向量模型、语义模型等
3.3.2 指代消解是为了避免代词指代不清的情况。
3.4 知识推理
基于KG的知识推理旨在识别错误并从现有的数据中推断新结论。通过知识推理,可以导出实体间的新关系并反馈以丰富KG,从而支持高级应用。知识推理的方法包括:
(1)基于符号逻辑的推理------本体推理
(2)基于表运算(Tableaux)及改进的⽅法: FaCT++、 Racer、 Pellet Hermit等
(3)基于Datalog转换的⽅法如KAON、 RDFox等
(4)基于产⽣式规则的算法(如rete): Jena 、 Sesame、 OWLIM等
(5)基于图结构和统计规则挖掘的推理
(6)基于路径排序学习⽅法(PRA, Path ranking Algorithm)
(7)基于关联规则挖掘⽅法(AMIE)
(8)基于知识图谱表示学习的关系推理:
将实体和关系都表示为向量,通过向量之间的计算代替图的遍历和搜索来预测三元组的存在,由于向量的表示已经包含了实体原有的语义信息,计算含有⼀定的推理能⼒。可应⽤于链接预测,基于路径的多度查询等。
(9)基于概率逻辑的方法
概率逻辑学习有时也叫Relational Machine Learning (RML),关注关系的不确定性和复杂性。
通常使用贝叶斯网络或者马尔科夫网络。
4. 延伸阅读 ---相关赛事
- 消息理解会议(MUC)
- MUC是由美国DARPA发起,目的在于鼓励和开发信息抽取系统,主要以召回率和精确率来评价信息抽取系统性能的重要指标,一般是基于召回率和精确率来计算法F1值
- 自动内容抽取(ACE)
- 由美国国家标准技术研究所(NIST)组织的评测会议,主要包括实体检测与跟踪、关系检测与表征、事件检测与跟踪,与MUC解决的问题类似,只是对MUC的任务进行融合。
- 知识库填充(KBP)
- 由文本分析会议主办,其目的是开发和评估从非结构化文本中获取知识填充知识库的技术,主要任务包括**实体发现与链接、槽填充、事件跟踪和信念与情感分析。**始办于 2009 年,是国际上影响力最大、水平最高的知识图谱领域赛事。
- 语义评测(SemEval)
- 由ACL-SIGLEX组织发起,是比较早进行实体消歧的评测任务的机构,目的是增进人们对词义与语义现象的理解,主要包括语义角色标注、情感分析、跨语言语义分析等