说明:CAS是国科大的简称,KG是知识图谱的缩写,这个栏目之下是我整理的国科大学习到的知识图谱的相关笔记。
课程目标
- 了解以知识图谱为代表的大数据知识工程的基本问题和方法
- 掌握基于知识图谱的语义计算关键技术
- 具备建立小型知识图谱并据此进行数据分析应用的能力
教学安排
详情请见博客:CAS-KG——课程安排
文章目录
___
1. 概述
实体关系抽取的任务
关系抽取是自动识别由一对概念和联系这对概念的关系构成的相关三元组。
- 比尔盖茨是微软的CEO
- CEO(比尔盖茨, 微软)
- CMU坐落于匹兹堡
- Located-in(CMU, 匹兹堡)
多元组:
- Michael Jordan获得1997/98赛季的MVP
- Award(Michael Jordan, 1997/98赛季, MVP)
关系抽取的信息来源:网页
结构化 vs. 半结构化 vs. 非结构化
◼ 随机抽取100篇百科文档(共5类)
- 对于其中三部分都包含的网页进行了统计
关系类别:ACE
关系类别:TAC-KBP
关系类别:SemEval
知识图谱的关系类别
- Freebase:4000多万实体,上万个属性关系,24多亿个事实三元组
- DBpeida:400多万实体,48,293种属性关系,10亿个事实三元组
- NELL: 519万实体,306种关系, 5亿候选三元组
- Knowledge Vault: 4500万实体,4469种关系,2.7亿三元组
关系抽取任务的类型
关系抽取的难点
自然语言的多样性
- 同一个关系可以有多种不同的表述
- 例子
- “国籍”关系
姚明是中国人。
姚明是中国籍运动员。
姚明出生并生活在中国。
姚明的国籍是中国。
……
- “国籍”关系
自然语言的歧义性
- 相同的表述在不同的语境下可以表示不同的关系
- 例子:乔布斯离开了苹果公司。
◼ 被解雇了
◼ 走开,比如下班回家了
2. 面向非结构化文本的关系抽取
预定义关系抽取
关系分类
关系分类:任务
- 给定一个句子以及句子中的两个实体,判断这两个实体之间是什么关系。
- 因为关系集合已经预先定义好了,所以这个任务实质上是一个分类任务,因此叫做关系分类。
关系分类:方法
- 采用统计机器学习的方法,将关系实例转换成高维空间中的特征向量,在标注语料库上训练生成分类模型,然后再识别实体间关系。
- 基于特征向量的方法【最大熵模型(Kambhatla 2004)和支持向量机(Zhao et al., 2005;Zhou et al., 2005; Jiang et al., 2007)等】
- 基于核函数的方法【浅层树核(Zelenko et al., 2003)、依存树核(Culotta et al., 2004)、最短依存树核(Bunescu et al., 2005)、卷积树核(Zhang et al., 2006;Zhou et al., 2007)】
- 基于深度学习的方法【递归神经网络(Socher et al., 2012)、基于矩阵空间的递归神经网络(Socher et al., 2012)、卷积神经网络(Zeng et al., 2014)】
关系分类:特征向量方法
- 主要任务:如何获取各种有效的词法、句法、语义等特征,并把它们有效地集成起来,从而产生描述实体语义关系的各种局部特征和简单的全局特征。
- 特征选取:从自由文本及其句法结构中抽取出各种词汇特征以及结构化特征
实体词汇及其上下文特征
实体类型及其组合特征(PER,LOC等)
交叠特征(两个实体或词组块是否在同一个名词短语、动词短语或者介词短语之中、两个实体或者词组块之间单词的个数等)
句法树特征(连接两个实体的句法路径)
关系分类:核函数方法
- 主要任务:如何有效挖掘反映语义关系的结构化信息及如何有效计算结构化信息之间的相似度。
- 核函数𝐾(𝑥, 𝑦)用于计算𝑥, 𝑦之间的相似程度
- 𝑥, 𝑦可以是字符串、句子、树等
- 例子
◼ 𝑥+表示一个句子具有某个关系
◼ 𝑥−表示一个句子不具有该关系
◼ 需要判断句子𝑦是否有该关系
◼ 如果𝐾 𝑥+, 𝑦 > 𝐾(𝑥−, 𝑦),表示𝑦具有该关系
◼ 如果𝐾 𝑥+, 𝑦 < 𝐾(𝑥−, 𝑦),表示𝑦不具有该关系
关系分类:传统方法存在的问题
- 需要抽取特征
- 存在的问题
问题1:对于缺少NLP处理工具和资源的语言,无法提取文本特征
问题2:NLP工具引入的“错误累积”
问题3:人工设计的特征不一定适合当前任务
关系分类:神经网络方法
- 主要任务:如何设计合理的网络结构,从而捕捉更多的信息,进而更准确地完成关系的抽取。
- 网络结构:不同的网络结构捕捉文本中不同的信息。
卷积神经网络(CNN) —— 建模局部特征
循环神经网络(RNN) —— 建模时间序列信息
关系分类:CNN
基于卷积神经网络的关系分类方法
- 通过CNN学习文本语义特征
- 不需要人工设计特征
利用词向量表示词汇级特征
利用CNN表示句子级特征
利用CNN捕获句子级特征
实验数据:SemEval
实验结果
关系分类:LSTM
动机:
- 传统方法依赖NLP工具,人工提取特征,造成错误传递
- 句子级语义信息对关系抽取任务至关重要
- CNN的方法难以建模句子中长距离的依赖关系
- 句子中的不同位置的词有不同程度的重要性
方法
实验结果:
关系分类:小结
实体关系联合抽取
实体关系联合抽取:任务
给定一个句子,需要识别句子中的实体以及实体之间的关系
实体关系联合抽取:序列标注方法
- 对每个关系,将其与(Begin,Inside,End,Single)以及头实体和尾实体的序号(1,2)组合
- 额外考虑一个Other标签,表示不属于任何一个关系
- 如果总共有|𝑅|个关系,那么一共有2 ∗ 4 ∗ 𝑅 + 1个标签
- 根据标注结果得到三元组
数据 - 使用弱监督的NYT数据集,看做监督数据。
- 训练集包括353k个三元组
- 测试集包括3880个三元组
- 总共24种关系
实验结果
缺陷:
多关系抽取
多关系抽取:任务
- 给定一个句子
- 句子中可能包含多个三元组
- 需要识别句子中的实体以及实体之间的关系
- 需要把所有的三元组都抽取出来
多关系抽取:特点
多关系抽取:三元组的重叠类
句子中包含多个三元组时,它们之间可能会发生重叠
多关系抽取:融合拷贝机制的端到端模型
拓展:拷贝机制
- 来源于对话生成 Gu ACL2016。
- 对话生成等序列到序列模型在生成句子时:词可以来源于词表,还可以来源于上文的句子。因此,不仅需要计算词表中每个词的置信度,还计算源句子中每个词的置信度。
- 在多关系抽取任务中:不需要从词表中生成词,因此只需要计算源句子中每个词的置信度,选择置信度最高的词作为被拷贝的词。
-
缺陷
多关系抽取:融合拷贝机制的端到端模型的缺陷:
- 拷贝实体时只拷贝了一个词
- 但是真实情况下一个实体可能包含多个词
- 如何在抽取多个三元组的同时把实体抽取完整?
多关系抽取:多词实体问题
◼可能方法
- 拷贝实体时每个实体拷贝多次,每次拷贝该实体的一个词
- 拷贝实体时拷贝两次,第一次拷贝实体的第一个词,第二次拷贝实体的最后一个词
- 在编码器端增加实体识别模块,转变成多任务学习
- 全新结构的模型
远程监督关系抽取
关系分类/实体关系联合抽取/多关系抽取
- 都依赖有监督数据
- 有监督数据标注费时费力
远程监督关系抽取
- 利用知识库对文本自动进行回标得到远程监督数据集
- 无需人工参与,获取代价低,容易扩展到大规模的场景
远程监督关系抽取: 起源
- 任务:在Wikipedia文本中抽取关系(属性)信息
- 难点
无法确定关系类别
无法获取训练语料 - 方法
在Infobox抽取关系信息
在Wikipedia条目文本中进行回标,产生训练语料
远程监督关系抽取:Distant Supervision
- 首次提出了Distant Supervision的思想
- Distant Supervision: 使用知识库中的关系,启发式地标注训练语料。
- 假设: 每一个同时包含两个实体的句子都会表述这两个实体在知识库中的对应关系
简单远程监督方法:噪音问题
远程监督关系分类:形式化描述
数据构建
- 给定知识库中的一个三元组𝑟(𝑒1, 𝑒2)
- 将同时包含了𝑒1, 𝑒2的句子回标上关系𝑟
- 这样的句子集合称为包(bag)
任务
- 包级别的标签预测:远程监督关系抽取需要给未知的包预测语义标签
- 最常用的数据集是通过Freebase回标纽
约时报得到的NYT数据集
远程监督关系分类:方法
- 基于概率图的方法
- 将句袋和句子的标签视为隐变量,将关系抽取视为对隐变量赋值的过程
- Riedel 2010, Hoffmann ACL2011, Surdeanu EMNLP2012
- 基于矩阵补全的方法
- 认为远程监督关系抽取中的特征、标签都有噪声,因此观测矩阵是由一个低秩矩阵加上一个噪声矩阵所构成
- Fan ACL2014, Zhang EMNLP2017
- 基于深度学习的方法
- 包级别的关系预测:
◼ 分段卷积神经网络:DJ Zeng EMNLP2015
◼ 注意力机制:Lin ACL2016
◼ 多示例多标签:Jiang COLING2016
◼ 强化学习:Feng AAAI2018 - 句子级别的关系抽取:
◼ XR Zeng AAAI2018
- 包级别的关系预测:
远程监督关系分类:多示例学习
起源
- 最早由Dietterich 等研究药物分子活性预测问题时提出
- 药物分子的某些结构可以旋转,使得同样的分子有不同的结构
- 在这些不同结构中,只有少量结构能够产生治疗效果
- Dietterich 等把一个药物分子抽象成一个包
- 药物分子的各个结构视为包中的示例
- 对具有药物活性的包(也就是一个药物分子)赋予一个标签,但是包中的每个示例并没有标签(二分类)
知识图谱构建时,具有类似的问题。
- 不需要确定包括两个实体的每个句子具有哪种关系。
- 只需要确定两个实体具有哪种关系就可以了。
多示例学习的目的:在不知道包中每个示例标签的情况下,根据训练集给定的包,通过学习到的模型来预测包的标签。
基于多示例学习的远程监督关系分类
多示例单标签
动机
- 远程监督数据中存在噪音。
- 传统方法依赖NLP工具来提取词法、句法等特征,存在错误累积的问题。
方法
- 将远程监督关系抽取看作多示例问题
- 认为一个包只有一个标签,简化问题
- 使用分段卷积神经网络,摆脱对NLP工具的依赖
- Piecewise Convolutional Neural Networks,PCNN
- 利用分段池化保留比最大池化更多的信息
分段卷积神经网络(PCNN)
详情见:Zeng D, Liu K, Chen Y, et al. Distant supervision for relation extraction via piecewise convolutional neural networks. EMNLP 2015
基于多示例学习的远程监督关系分类
多示例单标签:注意力机制
详情见:Lin Y, Shen S, Liu Z, et al. Neural relation extraction with selective attention over instances. ACL 2016
基于多示例学习的远程监督关系分类
多示例多标签
详情见:Jiang X, Wang Q, Li P, et al. Relation extraction with multi-instance multi-label convolutional neural networks. COLING 2016
远程监督关系分类:强化学习
详情见:Feng J, Huang M et al. Reinforcement learning for relation classification from noisy data. AAAI 2018
句子级远程监督关系分类:强化学习
详情见:Zeng X, He S, Liu K, et al. Large scaled relation extraction with reinforcement learning. AAAI 2018
拓展:强化学习
开放式关系抽取
-
通过识别表达语义关系的短语来抽取实体之间的关系
- (华为,总部位于, 深圳),(华为,总部设置于,深圳),(华为,将其总部建于,深圳)
-
同时使用句法和统计数据来过滤抽取出来的三元组
- 关系短语应当是一个以动词为核心的短语
- 关系短语应当匹配多个不同实体对
-
优点:无需预先定义关系类别
-
缺点:语义没有归一化,同一关系有不同表示
传统方法
华盛顿大学的人工智能研究组最早提出开放式信息抽取并做了大量代表性工作
- TextRunner
- Kylin
- WOE
- ReVerb
TextRunner
深度学习方法
加入拷贝机制的序列到序列模型
- 从源句子中拷贝句子片段作为抽取出的三元组
- Cui ACL2018
- Sun WSDM2018
3. 面向半结构化文本的关系抽取
目标:从百科普通条目半结构化网页中抽取实体属性名以及实体属性值
方法:
- 半结构化信息块的定位
◼ 从百科文本中定位半结构化信息块 - 抽取模板的学习
- 属性名、属性值抽取
块定位基本思想
难点
所以针对上面,提出以下框架
基本框架
- 首先利用结构化信息识别半结构化块
- 然后在识别的块中学习属性模板并抽取属性
- 对模板和属性名进行排序,获得高质量的模板和属性名
- 利用高质量的模板和属性名进行定位和抽取
半结构信息块定位
模板学习
Ranker(置信度估计)-网站级知识获取
单个页面内的实体属性抽取
实体1的确定
4. 数据和评测
评测语料
- ACE
- KBP
- SemEval
- NYT
- WebNLG