开始知识图谱从0到-1,用的书是《知识图谱方法、实践与应用》,做些阅读笔记,如有错误内容,望各位指正。
知识抽取是构建大规模知识图谱的重要环节,而知识挖掘则是在已有知识图谱的基础上发现其隐藏的知识。
信息抽取 | 知识抽取 | |
---|---|---|
区别 | 信息抽取获得结构化数据 | 知识抽取获得机器可理解和处理的知识(知识表示) |
联系 | 知识抽取建立在信息抽取基础上,普遍利用到自然语言处理处理技术、基于规则的包装器和机器学习等技术 |
在从文本抽取信息时,一般会涉及到以下一些任务:
垂直领域的知识往往来源于支撑企业业务系统的关系数据库,因此从数据库这种结构化数据中抽取知识也是一类重要的知识抽取方法。以下将介绍直接映射(Direct Mapping,DM),R2RMI两种映射语言,用于定义关系数据库中的数据如何转换为RDF数据的各种规则(URI的生成、RDF类和属性的定义、空节点的处理、数据间关联关系的表达等)
直接映射定义了一个从关系数据库到RDF图数据的简单转换,即将关系数据库表结构和数据直接转换为RDF图,关系数据库的数据结构直接反映在RDF图中。
抽取对象 | 映射为 |
---|---|
表(Table) | 类(Class) |
列(Column) | 属性(Property) |
行(Row) | 资源/示例(Resource/Instance) |
单元(Cell) | 属性值(Property Value |
外键(Foreign Key) | 指代(Reference) |
People表
PK | ->Address(ID) | |
---|---|---|
ID | fname | Address(ID) |
7 | Bob | 18 |
8 | Sue | NuLL |
Address表
PK | ||
---|---|---|
ID | city | state |
18 | Cambridge | MA |
基于直接映射标准,上述的两个表可以映射为如下的RDF数据
@base .
@prefix xsd: .
rdf:type .
7 .
"Bob" .
18 .
.
rdf:type .
8 .
"Sue" .
rdf:type .
18 .
"Cambrifge" .
"MA".
R2RML是一种用于表示从关系数据库到RDF数据集的自定义映射语言。
rdf:type ex:Employee .
ex:name "SMITH".
ex:department
rdf:type ex:Department.
ex:name "APPSERVER".
ex:location "NEW YORK"
ex:staff 1.
R2RML的映射文档
@prefix rr:.
@prefix ex:.
<#TripleMap1>
rr:logicalTable [rr:tableName "EMP"];
rr:subjectMap[
rr:template “http://data/example.com/employee/{EMPNO}”;
rr:class ex:Employee;
];
rr:predicateObjectMap[
rr:predicate ex:name;
rr:objectMap[ rr: column "ENAME"];
].
大量数据都是以非结构化数据(即自由文本)的形式存在,如新闻报道、科技文献等,而面向文本数据的知识抽取一直是广受关注的问题。是当前知识图谱构建的技术评价。其中关键的技术包括:实体识别,关系抽取,事件抽取
实体抽取有称为命名实体抽取,母的就是从文本汇总抽取实体信息元素,即文本中的人名、组织、地理位置、时间、字符、数值等等。总体上可以将方法分为:基于规则的方法、基于统计模型的方法和基于深度学习的方法下。图为实体抽取的示例。
在进行预料标注时,通常采用Inside-Outside-Beginning(IOB)或Inside-Outside(IO)标注体系对文本进行人工标注。
即在IO体系中,“特朗普”、“白宫”是句子中的实体。在IOB体系中,“特朗普”、“白宫”是句子中的实体,其中“特”和“白”是实体词的起始词。
采用人工编写规则的方式进行实体抽取,首先需要构建大量的实体抽取规则,通常需要一定领域知识的专家手工构建。然后将规则和文本字符进行匹配进行实体的提取。
基于统计学习的方法主要包括:隐马尔科夫模型(HMM)、最大熵马尔科夫模型(MEMM)、条件随机场(CRF)、支持向量机(SVM)
基于深度学习的方法直接以文本中词的向量为输入,通过神经网络实现端到端的命名实体识别,不再依赖人工构建的特征。目前主要使用卷积神经网络(CNN)、循环卷积网络(RNN)、以及引入注意力机制的方法。通过输入到作为编码器的神经网络得到新的词向量表示,最后再通过CRF模型对每个词进行标注。
关系抽取是从文本中取出两个或者多个实体之间的语义关系,主要分为:基于模板的关系抽取方法,基于监督学习的关系抽取方法,基于弱监督学习的关系抽取方法。
早期的实体关系抽取方法大多是基于模板匹配实现的。
例如:
“【X】住在【Y】”即表示了住址的关系。
基于监督学习的关系抽取将关系抽取转化为分类问题,在大量标注数据的基础上,训练有监督学习模型进行关系抽取。
由于基于监督学习的关系抽取方法需要大量的标注数据。当语料不足时,弱监督学习的方法可以利用少量的标注数据进行模型学习。其方法主要包括远程监督方法和Bootstrapping方法。
-事件:事件是发生在某个特定的时间点或时间段、某个特定的地域范围内,由一个或多个角色参与的一个或者多个动作组成的状态的改变
-事件抽取:从自然语言文本中抽取出用户感兴趣的事件并且以结构化的形式呈现出来,如什么人、组织,在什么时间,在什么地方,做了什么事情。
流水线方法将事件抽取任务分解为一系列基于分类的子任务,包括事件识别、元素抽取、属性分类和可报告行判别。其中每一个子任务都有一个机器学习分类器负责实施。
联合抽取方法首先建立事件抽取子任务的模型,然后将各个模型的目标函数进行组合,形成联合推断的目标函数
知识挖掘是从已有的实体及实体的关系出发挖掘新的知识,具体包括知识内容挖掘和知识结构挖掘
实体链接是一种知识内容挖掘的方法,是指将文本中的实体指称(Mention)链向其在给定知识库中目标实体的过程。
实体链接的第一步就是要识别出实体的指称,主要是通过实体识别技术或者词典匹配技术。其中词典匹配技术需要首先构建问题领域的实体指称词典,通过直接与文本匹配识别指称。
候选实体生成式确定文本中实体指称可能指向的实体集合。例如“乔丹”可能指向“NBA运动员乔丹”或是“深度学习的乔丹”
表层名字拓展
某些实体提及(Mention)是缩略词或者是全名的一部分,因此可以通过表层名字拓展技术,从实体提及识别到其他可能的变体(可能是实体全名)。例如:"University of Illinois at Urbana-Champaign(UIUC)"
基于搜索引擎的方法
将实体提及和上下文文字提交至搜索引擎,可以根据搜索引擎返回的检索结果生成候选实体。
构建查询实体引用表
很多实体链接系统都基于维基百科数据构建查询实体引用表,建立实体提及与候选实体的对应关系。它可以看作是一个<键,值>对的映射
在确定文本的实体指称和它们的候选实体后,实体链接系统需要为每一个实体指称确定其指向的实体