文章目录

  • 一、面向文本的知识抽取
  • 1、DeepDive关系抽取实战
  • 2、开放域关系抽取
  • (1)信息抽取(IE)概述
  • (2)信息抽取(IE)系统发展
  • ① 第一代OpenIE系统
  • ② 第二代OpenIE系统:更深入研究句子的语法特性
  • ③ 更多进展
  • (3)OpenIE的应用
  • 二、知识挖掘
  • 1、实体消歧与链接
  • (1)实体链接
  • (2)基于 entity-mention 模型:生成概率模型
  • (3)构建实体关联图与标签传播算法消歧
  • (4)基于实体关联图和动态PageRank算法消歧
  • (5)小结
  • 2、知识规则挖掘
  • (1)主要方法
  • (2)关联规则挖掘(ARM)
  • ① OWL2公理 =》关联规则
  • (3)统计关系学习(SRL)
  • ① 基于图的方法
  • ② 路径排序算法(Path Ranking Algorithm)
  • 3、知识图谱表示学习
  • (1)知识图谱表示学习的意义
  • (2)TransE
  • (3)TransE改进
  • ① 实体语义空间投影
  • ② 属性表示:分而治之
  • (4)路径的表示学习
  • (5)加入规则的表示学习
  • (6)多模态的表示学习
  • (7)基于知识图谱结构的表示学习
  • 总结与挑战


一、面向文本的知识抽取

1、DeepDive关系抽取实战

2、开放域关系抽取

(1)信息抽取(IE)概述

IE的发展趋势

nlp知识抽取用什么模型 知识抽取算法_nlp知识抽取用什么模型


主要系统

nlp知识抽取用什么模型 知识抽取算法_知识图谱_02


传统IE和OpenIE互相补充

  • 可以按当前知识库的规范数据,链接更多网络数据。
  • OpenIE所得到的三元组可以用扩充知识库。

(2)信息抽取(IE)系统发展

① 第一代OpenIE系统

TextRunner

  • 抽取特征:NER、POS、Dependency Parsing
  • 学习模型:Navie Bayes、CRF

WOE

  • 将核心语法路径也作为一个关系(涉及依存句法分析技术)

示例

nlp知识抽取用什么模型 知识抽取算法_nlp知识抽取用什么模型_03

面临的挑战

  • 关系不一致、不准确(例如:从句)
    E.g. Peter thought that John began his career as a scientist
  • True: (John, began, his career as a scientist)
  • False: (Peter, began, his career as a scientist)
  • 提取的关系不包含有效信息(例如:多元关系)
    E.g. Al-Qaeda claimed responsibility for the 9/11 attacks
  • True: (AI-Qaeda, claimed responsibility, for the 9/11 attacks)
  • False: (Al-Qaeda, claimed, responsibility)
② 第二代OpenIE系统:更深入研究句子的语法特性

Reverb

  • 基于动词的关系抽取:围绕动词词组抽取以下关系
V | VP | VW * P
	V = verb particle? adv?
	W = (noun | adj | adv | pron | det)
	P = (prep | particle | inf.marker)

OLLIE

  • 增加抽取名词和形容词中包含的语义信息;

示例:Microsoft co-founder Bill Gates spoke at ... OLLIE可以抽取 (Bill Gates, be co-founder of, Microsoft),Reverb不可以

  • 把 Reverb 中抽取的关系作为种子,来学习更多的模板。

ClauseIE

  • 基于子句的抽取
  • 将句子拆分成各个从句,定义从句类型
  • 用语法规则和句法依赖判断从句类型(Decision Tree)
  • 过程:抽取从句集合->识别从句类型->抽取关系
③ 更多进展

模型

  • 联合训练:训练一个统一模型,同时抽取实体和关系
  • 模板匹配方法与深度学习方法相结合
  • 矩阵因式分解 等所有好用的分类器

源数据

  • 结构化的知识库:可以依赖知识库进行更好的链接和特征抽取

(3)OpenIE的应用

直接回答问题:回答不同用户提出的不同领域形如 (A1, ?, A2) 的问题

作为其他NLP任务的特征

  • 文本理解
  • 相似度比较

二、知识挖掘

1、实体消歧与链接

实体消歧可以通过实体链接的方式完成

(1)实体链接

实体链接:给定一篇文本中的实体指称(mention),确定这些指称在给定知识库中的目标实体 (entity)

nlp知识抽取用什么模型 知识抽取算法_知识挖掘_04

实体链接基本流程

nlp知识抽取用什么模型 知识抽取算法_nlp知识抽取用什么模型_05

  • 实体引用表: 从 mention 到 entity ID 的映射表。
  • 示例将乔丹与ID为2的实体的映射就是实体引用表中的一个示例
  • 作用:查找出某一实体在知识库中对应的别名、简称、和同义词等。(可能存在错误)

实体的链接主要工作

  • 候选实体的生成(图中蓝色的即为候选实体)
  • 候选实体的消歧(如区分出UCB的乔丹和篮球之神乔丹)。

(2)基于 entity-mention 模型:生成概率模型

简述:基于百科型知识库,适用于长、短文本场景。

nlp知识抽取用什么模型 知识抽取算法_实体链接_06


该模型的流程如上图所示,其过程如下:假设有两个句子,其中的实体分别为 Jordan(左)Michael Jordan(右),即模型中的 Mention问题要判断这两个 Jordan 指的到底是 篮球大神 还是 ML大神 ? 这个问题可以用公式表述为:

nlp知识抽取用什么模型 知识抽取算法_知识图谱_07
等价于:nlp知识抽取用什么模型 知识抽取算法_nlp知识抽取用什么模型_08

  • 其中,nlp知识抽取用什么模型 知识抽取算法_知识挖掘_09 为entity(目标实体),nlp知识抽取用什么模型 知识抽取算法_实体链接_10 为name,nlp知识抽取用什么模型 知识抽取算法_实体链接_11 为mention。
  • nlp知识抽取用什么模型 知识抽取算法_实体链接_12
  • nlp知识抽取用什么模型 知识抽取算法_实体链接_13
  • nlp知识抽取用什么模型 知识抽取算法_nlp知识抽取用什么模型_14

这样可以将上述例子描述为:给定一个 nlp知识抽取用什么模型 知识抽取算法_知识抽取与挖掘_15 求生成 nlp知识抽取用什么模型 知识抽取算法_实体链接_16 的概率,此处即为给定一个文本“Jordan joins Bulls in 1984.”,其中提及为 “Jordan”,通过计算由 Jordan 生成 Michael Jeffrey Jordan 的概率和 Michael I. Jordan 的概率,概率大的为最终的结果。即,根据 mention 所处的句子和上下文来判断该 mention 是某一实体的概率。

(3)构建实体关联图与标签传播算法消歧

简述:基于百科型知识库,适用于长文本场景。

nlp知识抽取用什么模型 知识抽取算法_实体链接_17


实体关联图由三个部分组成

  • 每个顶点mention-entity 对构成;
  • 每个顶点得分 :代表实体指称 nlp知识抽取用什么模型 知识抽取算法_知识图谱_18 的目标实体为 nlp知识抽取用什么模型 知识抽取算法_知识图谱_19
  • 每条边的权重:代表语义关系计算值,表明顶点 nlp知识抽取用什么模型 知识抽取算法_知识抽取与挖掘_20nlp知识抽取用什么模型 知识抽取算法_知识图谱_21

基于实体关联图消歧具体过程如下:

  • 1、顶点的得分的初始化
  • 若顶点 nlp知识抽取用什么模型 知识抽取算法_实体链接_22
  • 若顶点中 mentionentity 满足 nlp知识抽取用什么模型 知识抽取算法_知识抽取与挖掘_23,则顶点得分也设置为 1。
  • 其余顶点的得分设置为 nlp知识抽取用什么模型 知识抽取算法_知识挖掘_24
  • 2、边的权重的初始化:基于深度语义关系模型
  • 此处可以使用Wikipedia作为知识库,由于Wikipedia既包含结构化数据有包括非结构化数据,很适合作为训练数据来训练。
  • 符号定义E: entity, R: relation, ET: entity type, D: word.
  • 过程:首先通过 Word Hashing 将上述变量转换为特征向量(类似于embedding?),接着做多层非线性投影(如使用 nlp知识抽取用什么模型 知识抽取算法_实体链接_25 等函数)得到语义层 nlp知识抽取用什么模型 知识抽取算法_nlp知识抽取用什么模型_26;最后计算语义的相似度(如计算余弦相似度)作为两个实体之间的权重。
  • 3、基于图的标签传播算法
  • 步骤:(1)构造相似矩阵;(2)迭代传播直到收敛算法结束。
  • 若某些 mention 没有多个候选实体,则可认为它是 labeled
  • 例如:图中 nba 可认为是 labeled,而 new york 有两个候选实体所以认为是 unlabeled
  • labeled 数据(一般多个)的影响向外传播,形成了一种协同传播,相当于构建了一个相似矩阵;
    对图进行 regulation,直到每一个标签都稳定了,起到协同消歧的作用。

nlp知识抽取用什么模型 知识抽取算法_实体链接_27

(4)基于实体关联图和动态PageRank算法消歧

简述:基于百科型知识库,适用于长文本场景。

nlp知识抽取用什么模型 知识抽取算法_实体链接_28


基本流程:

  • 基于RDF三元组的数据库,离线将RDF三元组转换成实体向量(eg:woed2vec、知识图谱表示学习等方法);
  • 根据实体向量计算相似度,并构建实体关联图
  • 使用基于图的动态PageRank算法更新图

候选实体语义相似度计算

  • 基本思想:先将 RDF 转换成 vector,接着计算 vector 之间的相似度。
  • Weisfeiler-Lehman Algorithm:将RDF图转换成子图,再将子图转换成序列;
  • Skip-gram model:词向量。The Skip-gram model architecture usually tries to achieve the reverse of what the CBOW model does. It tries to predict the source context words (surrounding words) given a target word (the center word);
  • 计算余弦相似度

构建实体关联图

  • 实体关联图的组成(四个部分):
  • 实体指称节点
  • 候选实体节点
  • 候选实体节点顶点值:代表该候选实体是实体指称的目标实体概率大小
  • 候选实体节点边权值:代表两个候选实体间的转化概率大小
  • 构建过程
  • 各候选实体节点值:初始化均相等,之后每一轮更新为上一轮PageRank得分。
  • 候选实体节点边权值:
  • 计算两个实体之间相似度大小(cos函数):
    nlp知识抽取用什么模型 知识抽取算法_知识挖掘_29
  • 计算两个候选实体之间转换概率:
    nlp知识抽取用什么模型 知识抽取算法_nlp知识抽取用什么模型_30

更新实体关联图:

nlp知识抽取用什么模型 知识抽取算法_实体链接_31


过程:首先根据PageRank算法计算未消歧实体指称实体的得分,取得分最高的未消歧实体。而后删除其他候选实体及相关的边,更新图中的边权值。其流程如下图所示:

nlp知识抽取用什么模型 知识抽取算法_知识抽取与挖掘_32

(5)小结

  • 知识库的变更:从百科知识库发展到特定领域知识库;
  • 实体链接的载体:从长文本到短文本,甚至到列表和表格数据;
  • 候选实体生成追求同义词、简称、各种缩写等的准备和高效从Mention到实体候选的查找;
  • 实体消歧则考虑相似度计算的细化和聚合,以及基于图计算协同消歧;

2、知识规则挖掘

(1)主要方法

  • 基于归纳逻辑编程 (Inductive Logic Programming, ILP)的方法
  • 使用精化算子 (refinement operators)
  • 基于统计关系学习 (Statistical Relational Learning, SRL)的方法
  • 主要对贝叶斯网络进行扩展
  • 基于关联规则挖掘 (Association Rule Mining,ARM)的方法
  1. 构建事务表
  2. 挖掘规则
  3. 将规则转换为OWL公理
  4. 构建本体

(2)关联规则挖掘(ARM)

nlp知识抽取用什么模型 知识抽取算法_知识挖掘_33

① OWL2公理 =》关联规则

公理(Axiom)

规则(rules)

规则 nlp知识抽取用什么模型 知识抽取算法_知识抽取与挖掘_36:概念 C 的实例同时属于概念 D,规则的置信度越高,则公理 nlp知识抽取用什么模型 知识抽取算法_实体链接_37

支持度: 指某频繁项集在整个数据集中的比例。假设数据集有 10 条记录,包含{‘鸡蛋’, ‘面包’}的有 5 条记录,那么{‘鸡蛋’, ‘面包’}的支持度就是 5/10 = 0.5。
置信度: 是针对某个关联规则定义的。有关联规则如 {‘鸡蛋’, ‘面包’} -> {‘牛奶’},它的置信度计算公式为nlp知识抽取用什么模型 知识抽取算法_实体链接_38。假设{‘鸡蛋’, ‘面包’, ‘牛奶’}的支持度为 0.45,{‘鸡蛋’, ‘面包’}的支持度为 0.5,则{‘鸡蛋’, ‘面包’} -> {‘牛奶’}的置信度为 0.45 / 0.5 = 0.9。

nlp知识抽取用什么模型 知识抽取算法_知识图谱_39

support(Airport, Building)=2
support(Airport)=2
confidence(Airport=>Building)=1
Airport nlp知识抽取用什么模型 知识抽取算法_实体链接_40

==》结果:可以推出Airport属于Building。

(3)统计关系学习(SRL)

输入:(实际上就是一个KG)

  • 实体集合 nlp知识抽取用什么模型 知识抽取算法_知识挖掘_41
  • 关系集合 nlp知识抽取用什么模型 知识抽取算法_实体链接_42
  • 已知三元组集合 nlp知识抽取用什么模型 知识抽取算法_知识挖掘_43

目标:根据已知三元组对未知三元组成立的可能性进行预测,可用于知识图谱补全。
ps:若 nlp知识抽取用什么模型 知识抽取算法_知识抽取与挖掘_44 之间没有申明关系 nlp知识抽取用什么模型 知识抽取算法_知识图谱_45,而计算出来的nlp知识抽取用什么模型 知识抽取算法_nlp知识抽取用什么模型_46很高(如 nlp知识抽取用什么模型 知识抽取算法_知识图谱_47),则认为可以补全这条关系。

① 基于图的方法

基本思想:将连接两个实体的路径作为特征来预测其间可能存在的关系。

示例:下面的图谱中的边是一个有向的图,为了使图中可以形成路径,在图中定义了一些逆关系(如nlp知识抽取用什么模型 知识抽取算法_知识图谱_48)。在这个图中我们希望可以通过其他的三元组推出 Charlotte 也是一个 Writer

nlp知识抽取用什么模型 知识抽取算法_nlp知识抽取用什么模型_49


通用关系学习框架如下:

nlp知识抽取用什么模型 知识抽取算法_知识图谱_50

② 路径排序算法(Path Ranking Algorithm)

在基于图的方法中采用了的Relational Learning Algorithm是路径排序算法(Path Ranking Algorithm)
相关定义

  • 定义 nlp知识抽取用什么模型 知识抽取算法_知识图谱_51
  • N: nodes (instances or concepts)
  • E: edges
  • R: edge types,note:nlp知识抽取用什么模型 知识抽取算法_知识图谱_52——reverse of edge type nlp知识抽取用什么模型 知识抽取算法_知识抽取与挖掘_53
  • 接着定义Path type nlp知识抽取用什么模型 知识抽取算法_知识抽取与挖掘_54
  • eg:<HasFather, Profrssion>

实体对概念计算
在前面给出的图中,我们可以通过如 <HasFather, Profession> 的一些路径将 CharlotteWriter 进行关联起来。我们可以将在图中已经定义的节点、边和边的类型作为上下文来表示实体对 (Charlotte Bonte, Writer),同时可以抽取出一些特征供后面学习。
对于这个实体对的概率可以通过如下公式计算:
nlp知识抽取用什么模型 知识抽取算法_实体链接_55

  • nlp知识抽取用什么模型 知识抽取算法_实体链接_56:是所有起始为 nlp知识抽取用什么模型 知识抽取算法_实体链接_10 终点为 nlp知识抽取用什么模型 知识抽取算法_知识图谱_58路径集合(限制路径的最大长度为 nlp知识抽取用什么模型 知识抽取算法_知识挖掘_59
  • nlp知识抽取用什么模型 知识抽取算法_nlp知识抽取用什么模型_60:通过训练得到的路径权重

路径概率的计算
nlp知识抽取用什么模型 知识抽取算法_知识图谱_61

  • nlp知识抽取用什么模型 知识抽取算法_知识抽取与挖掘_62:将 nlp知识抽取用什么模型 知识抽取算法_实体链接_10nlp知识抽取用什么模型 知识抽取算法_知识图谱_58 的路径细化成 nlp知识抽取用什么模型 知识抽取算法_实体链接_10nlp知识抽取用什么模型 知识抽取算法_nlp知识抽取用什么模型_66nlp知识抽取用什么模型 知识抽取算法_nlp知识抽取用什么模型_66nlp知识抽取用什么模型 知识抽取算法_知识图谱_58 两条路径,其中 nlp知识抽取用什么模型 知识抽取算法_nlp知识抽取用什么模型_66nlp知识抽取用什么模型 知识抽取算法_知识图谱_58 是存在关系 nlp知识抽取用什么模型 知识抽取算法_知识挖掘_71
  • 具体使用动态规划的方法求解

训练权重的计算(离线计算):

  • 可以将路径作为特征,进行逻辑回归来求得权重。

最后通过计算出来的 nlp知识抽取用什么模型 知识抽取算法_知识抽取与挖掘_62 的大小判断出 (Charlotte Bonte, Writer) 是成立的。

3、知识图谱表示学习

(1)知识图谱表示学习的意义

在自然语言处理中我们可以通过 word embedding、sentence embedding甚至是document embedding等嵌入表示的方式来建立一个低维的统一的语义空间,使得语义可以计算。
在知识图谱中也类似,具体应用为:

  • 实体预测与推理
    给定一个实体和一个关系来预测另外一个实体
  • eg:若给定一个电影实体《卧虎藏龙》和一个关系“观影人群”,来预测另外一个实体是什么。
  • 关系推理
  • 推荐系统

(2)TransE

基本思想:TransE(Translation Embedding)是基于实体和关系的分布式向量表示,将三元组(head,relation,tail)看成向量 nlp知识抽取用什么模型 知识抽取算法_知识图谱_73 通过 nlp知识抽取用什么模型 知识抽取算法_nlp知识抽取用什么模型_74 翻译到 nlp知识抽取用什么模型 知识抽取算法_知识挖掘_75 的过程,通过不断的调整向量 nlp知识抽取用什么模型 知识抽取算法_实体链接_76,使 nlp知识抽取用什么模型 知识抽取算法_nlp知识抽取用什么模型_77 尽可能与 nlp知识抽取用什么模型 知识抽取算法_知识挖掘_75

  • 示例:如给出三元组 Capital of(Beijing, China)Capital of(Pairs, France),则可以得出如下向量表示:
    Beijing−China=Pairs−France=Capital of

nlp知识抽取用什么模型 知识抽取算法_知识图谱_79


TransE的优化目标

  • 势能函数:nlp知识抽取用什么模型 知识抽取算法_nlp知识抽取用什么模型_80
    nlp知识抽取用什么模型 知识抽取算法_nlp知识抽取用什么模型_81
  • 目标函数:最小化整体势能。即使知识库中定义的势能比不在知识库中的三元组的势能低。
    nlp知识抽取用什么模型 知识抽取算法_知识挖掘_82
    其中,nlp知识抽取用什么模型 知识抽取算法_知识挖掘_83

TransE的缺陷

  • 无法处理一对多、多对一和多对多问题。
  • 关系的性质。

(3)TransE改进

① 实体语义空间投影

TransH:将头尾实体映射到一个超平面

nlp知识抽取用什么模型 知识抽取算法_知识抽取与挖掘_84


TransR:通过矩阵变换,将头、尾实体映射到一个新的语义空间,使得这个空间的关系尽量保持一对一。

nlp知识抽取用什么模型 知识抽取算法_知识图谱_85

② 属性表示:分而治之

对于知识图谱的边既可以是属性(data type property)也可以是关系(object property)。对于属性来说,很容易产生一对多(如喜好)和多对一(性别),若将关系和属性的表示会出现困难。
分而治之:将对属性的学习和对关系的学习做了一个区分,同时基于属性的学习可以推进对关系的学习。

nlp知识抽取用什么模型 知识抽取算法_知识抽取与挖掘_86

(4)路径的表示学习

PRA vs. TransE: 两种方法存在互补性

  • PRA:可解释性强;能够从数据中挖掘出推理规则;难以处理稀疏关系;路径特征提取效率不高。
  • TransE:能够表示数据中蕴含的潜在特征;参数较少,计算效率较高;模型简单,难以处理多对一、一对多、多对多的复杂关系可解释性不强。

评价指标

  • 三元组分类任务:accuracy
  • 链接预测任务:hits10

(5)加入规则的表示学习

学习推理的规则:推理的规则似然最大化。

nlp知识抽取用什么模型 知识抽取算法_知识挖掘_87

(6)多模态的表示学习

助力Zero-Shot和长尾链接预测:

  • 对于在KG中出现很少,甚至没有出现过,而在长文本中出现较多的长尾数据来做实体链接预测。
  • nlp知识抽取用什么模型 知识抽取算法_nlp知识抽取用什么模型_88:KG中结构的学习
  • nlp知识抽取用什么模型 知识抽取算法_知识挖掘_89:在文本中的描述的学习,这里使用了Bi-LSTM模型

(7)基于知识图谱结构的表示学习

考虑哪些数据可以用来描述实体

  • Neighbor Context:实体周围的实体;
  • Path Context:从一个实体到这个实体的联通路径;

Triple Context = Triple + Path Context + Neighbor Context

  • 势能函数
  1. 希望三元组在Triple Context概率最大
    nlp知识抽取用什么模型 知识抽取算法_知识挖掘_90
  2. 假设不同的Context都是相互独立的企且独立用来描述三元组的某一部分
    nlp知识抽取用什么模型 知识抽取算法_nlp知识抽取用什么模型_91

nlp知识抽取用什么模型 知识抽取算法_实体链接_92

  • 目标函数
    nlp知识抽取用什么模型 知识抽取算法_实体链接_93

总结与挑战

  • 融合更多本体特征的知识图谱表示学习算法研发
  • 知识图谱表示学习与本体推理之间的等价性分析
  • 知识图谱学习与网络表示学习之间的异同
  • 神经符号系统