知识图谱关系抽取

Posted ZSYL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识图谱关系抽取相关的知识,希望对你有一定的参考价值。

关系抽取任务定义

实体间关系抽取的定义

Alexander Schutz等人认为关系抽取是自动识别由一对概念和联系这对概念的关系构成的相关三元组。

  • Example1: 比尔盖茨是微软的CEO
    • CEO(比尔盖茨, 微软)
  • Example2: CMU坐落于匹兹堡
    • Located-in(CMU, 匹兹堡)
  • 高阶关系:Michael Jordan获得1997/98赛季的MVP
    - Award(Michael Jordan, 1997/98赛季, MVP)

网络文本信息结构

结构化数据(Infobox)

  • 置信度高
  • 规模小
  • 缺乏个性化的属性信息

半结构化数据

  • 置信度较高
  • 规模较大
  • 个性化的信息
  • 形式多样
  • 含有噪声

纯文本

  • 置信度低
  • 复杂多样
  • 规模大

结构化 vs. 半结构化 vs. 非结构化

随机抽取100篇百科文档(共5类)

  • 对于其中三部分都包含的网页进行了统计


结构化与半结构化的关系抽取方法

  • 结构化与半结构化文本信息(利用网页结构)
     信息块的识别
     模板的学习
     属性值的抽取


非结构化文本的关系抽取分类

传统关系抽取

  • 评测语料(MUC, ACE, …)
  • 专家制订类别,人工标注语料

开放域关系抽取

  • 类别自动获取
  • 语料自动生成
  • 语言证据清晰表达的关系

传统关系抽取

任务

  • 给定实体关系类别,给定语料,抽取目标关系对

评测语料(MUC, ACE, KBP, SemEval)

  • 专家标注语料,语料质量高
  • 抽取的目标类别已经定义好
  • 有公认的评价方式

ACE抽取的目标关系列表

TAC-KBP抽取的目标关系列表


SemEval-2010 Task 8

目标关系列表:19种


ACE(2005-2007)评测结果


(http://www.nist.gov/speech/tests/ace/ace05/doc/acee05eval_official_results_20060110.htm
http://www.nist.gov/speech/tests/ace/ace05/doc/acee05eval_official_results_20070402.htm)

TAC-KBP 2009 Slot Filling Track评测结果

传统关系抽取方法

目前主要采用统计机器学习的方法,将关系实例转换成高维空间中的特征向量或直接用离散结构来表示,在标注语料库上训练生成分类模型,然后再识别实体间关系

  • 基于特征向量方法:最大熵模型(Kambhatla 2004)和支持向量机 (Zhao et al., 2005;Zhouet 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等)
    • 交叠特征(两个实体或词组块是否在同一个名词短语、动词短 语或者介词短语之中、两个实体或者词组块之间单词的个数等)
    • 句法树特征(连接两个实体的语法路径)

基于核函数方法:

  • 主要问题:如何有效挖掘反映语义关系的结构化信息及如何有效计算结构化信息之间的相似度
  • 卷积树核:用两个句法树之间的公共子树的数目来衡量它们之间的相似度
    • 标准的卷积树核(CTK)
      • 在计算两棵子树的相似度时,只考虑子树本身,不考虑子树的上下文信息
    • 上下文相关卷积树核函数(CS-CTK)
    • 在计算子树相似度时,同时考虑子树的祖先信息,如子树根结点的父结点、祖父结点信息,并对不同祖先的子树相似度加权平均

基于神经网络的方法:

  • 主要问题:如何设计合理的网络结构,从而捕捉更多的信息,进而更准确地完成关系的抽取
  • 网络结构:不同的网络结构捕捉文本中不同的信息
    • 递归神经网络(RNN)
      • 网络的构建过程更多的考虑到句子的句法结构,但是需要依赖复杂的句法 分析工具
    • 卷积神经网络(CNN)
      • 通过卷积操作完成句子级信息的捕获,不需要复杂的NLP工具
    • 循环神经网络(RNN)
      • 通过循环神经网络建模词语之间的依赖关系,自动捕获句子级信息

自然语言处理过程

自然语言的表示学习

基本语言单元的语义表示

  • 词的表示
  • 分布式原则

更大语言单元的语义表示

  • 句子的表示
  • 语义组合原则

深度学习的本质:用数值(向量,矩阵等)表示各个语言单元的语义(特征)

词表示

词是语言处理中最基本的语言单元

词以及词间关系的表示和建模是NLP任务中重要基础工作


人工方法:刻画词之间多维度关系,例如:聚合关系,组合关系

深度学习:用数值化的方法表示词的语义信息

词的分布表示

深度学习框架下,词的语义表示为向量的形式,也就是分布表示。

The first thing you do with a word symbol is you convert it to a word vector. And you learn to do that,
you learn for each word how to turn a symbol into a vector, say, 300 components, and after you’ve done
learning, you’ll discover the vector for Tuesday is very similar to the vector for Wednesday.
[Geoffrey E. Hinton. 2015]


Harris和firth的分布假说:上下文相似的词 → 词义相似

  • 词的语义可以通过大规模语料库统计获得 [Harris 1954]
  • 词语的语义相似度可以度量

江西省地处中国东南部
携程带你玩转江西省

四川省地处中国西南腹地
携程带你玩转四川省


词的分布表示:历史的角度


词表示学习

  • 上下文的表示:文档、词、n元词组
  • 相似度的衡量:向量的内积(余弦)
  • 词间关系一般分为聚合关系和组合关系,分布式表示学习常常从聚合 关系的角度去建模


传统方法:也是从分布的角度建模,但是没有用到神经网络的方法

  • LSA:矩阵分解
  • Brown Clustering:聚类

神经网络:NNLM, Skip-gram, CBOW, GloVe,LBL,C&W

NNLM: Neural Network Language Model

三层前馈神经网络,以前n-1个词作为输入,第n个词作为输出,进而完成网络参数的优化,实现词向量的表示学习

CBOW & Skip-gram

  • Continuous Bag of Word
  • 特点:
    去除隐藏层
    去除词序

研表究明,汉字序顺并不定一影阅 响读!事证实明了
也许当你看这完 句话之后才发字现都乱是的。


工具示例

Word2vec:Google在2013年年中开源的一款将词表征为实数值向量的高效工具,采用的模型有CBOW和Skip-Gram两种。

代码链接:https://code.google.com/p/word2vec/

输入文本:英文(token后的文本)中文(分词后的文本)

输出:指定维度的词向量

自然语言的表示学习

基本语言单元的语义表示

  • 词的表示
  • 分布式原则

更大语言单元的语义表示

  • 句子的表示
  • 语义组合原则

组合语义

  • 一个复杂对象的意义是由其各组成部分的意义以及它们的组合规则来决定
  • The meaning of a complex expression is determined by the meanings of its constituent expressions and the rules used to combine them

意义的组合和具体任务相关

  • 基于词语等基本语义单元表示句子等更大语义单元的过程
  • 语义组合模型就是要建模句子的句法/语义结构

两类最基本语义组合模型

基础:多层前馈神经网络

在前馈神经网络中,各神经元分别属于不同的层。整个网络中无反馈,信号从输入层向输出层单向传播,可用一个有向无环图表示。


  • 全连接层:相邻两层的任何两个不同层神经元之间都存在连接。在全连接前馈神经网络中
  • 如果第l 层有nl个神经元,L表示神经网络的层数
  • 则参数个数: 𝐿 𝑛𝑙
  • 权重矩阵参数非常多,训练效率低下
  • 数据不足时,欠学习

卷积神经网络

Convolutional Neural Networks,CNN

  • 一种前馈神经网络

  • 是受生物学上感受野(Receptive Field)的机制而提出的。

    • 感受野主要是指听觉系统、感觉系统和视觉系统中神经元 的一些性质。
    • 例如:在视觉神经系统中,一个神经元的感受野是指视网膜上的特定区域,只有这个区域内的刺激才能够激活该神经元。
  • 特性:卷积神经网络有三个结构上的特性

    • 局部连接
    • 权重共享
    • 采样

这些特性使得卷积神经网络具有一定程度上的平移、缩放和扭曲不变性

全连接 vs 卷积


不同:

  • 全连接 vs 局部连接
  • 权重独立 vs 权重共享
  • 一般不采样 vs 一般采样

例子:参数规模(全连接 vs 卷积)


左边的图表示全连接,输入为1000*1000,假设下一层神经元的数目为1M,参数规模为1012。

右边的图是卷积网络示意,当一个滤波器的大小为10*10时,一个滤波器处理图片不同区域时权重共享,所以卷积结果规模为991*991,已经接近1M;即使使用100个滤波器,参数规模也为10*10*100=104,参数个数远小于全连接的情况。

一维卷积

一维卷积示例





卷积的参数

卷积窗口:滤波器的参数数目,表征了每次编码的信息单元的大小

卷积步长:滤波器编码信息时每次移动的距离

例子:窗口为3,步长为2

卷积步长

卷积窗口:滤波器的参数数目,表征了每次编码的信息单元的大小

卷积步长:滤波器编码信息时每次移动的距离

例子:窗口为3,步长为2


卷积窗口:滤波器的参数数目,表征了每次编码的信息单元的大小

卷积步长:滤波器编码信息时每次移动的距离

例子:窗口为3,步长为2

窄卷积、宽卷积、等长卷积

  • 窄卷积:输出长度n-m+1,不补零。
  • 宽卷积:输出长度n + m -1,对于不在[1,n] 范围之外的xt 用零补齐(zero-padding)。(Padding=m-1)
  • 等长卷积:输出长度n,对于不在[1,n]范围之外的xt用零补齐(zero-padding)。(Padding=(m-1)/2)


在这里除了特别声明,我们一般说的卷积默认为窄卷积。

二维卷积

两维卷积经常用在图像和自然语言处理中

给定一个图像或句子X=[xij], i∈ 1, M , j ∈ 1,𝑁]

滤波器W=[wij], i∈ 1, m , j ∈ 1,n 一般m << M; n << N

卷积后的输出值Y中的每个位置如下表示


二维卷积示例


滤波器:特征提取器

如果把滤波器看成一个特征提取器,每一组输出都可以看成是输入经过一个特征抽取后得到的特征。因此,在卷积神经网络中每一组输出也叫作一个特征映射(Feature Map)。


多个滤波器

为了增强卷积层的表示能力,可以使用K 个不同的滤波器来 得到K 组输出,即K个特征映射。

卷积层作用

提取一个局部区域的特征,每一个滤波器相当于一个特征提取器。

子采样层

子采样层:池化操作

虽然卷积层通过局部连接和权重共享显著减少了连接的个数,但是每一个特征映射的维度并没有显著减少。

如果后面接一个分类器,分类器的输入维数依然很高,容易出现过拟合。

为了解决这个问题,卷积神经网络一般会在卷积层之后再加 一个池化(Pooling)操作,即子采样(Subsampling), 构成一个子采样层。通过子采样显著降低特征维数,避免过拟合。

  • 对于卷积层得到的一个特征映射𝑋(𝑙),则采样层输
    出有:


其中,𝑤 𝑙+1 和 𝑏(𝑙+1)分别是可训练的权重和偏置参数
𝑑𝑜𝑤𝑛(𝑋(𝑙))是指子采样后的特征映射


子采样层示例

参数训练

任务:一个滤波器,就是训练W和b


采用反向传播算法

  • 选择一个样本 x,信息从输入层经过逐级的变换,传送到输出层
  • 计算该样本的实际输出 o 与相应的理想输出 t 的差
  • 按极小化误差反向传播方法调整权矩阵,也可以调整输入词向量

示例

基于卷积神经网络的关系抽取

任务:判别句子中实体之间的语义关系

S: 2013年4月20日8时02分四川省雅安市[芦山县]e1 发生了7.0级[地震]e2

语义关系分类


传统特征提取需要NLP预处理+人工设计的特征


• 问题1:对于缺少NLP处理工具和资源的语言,无法提取文本特征
• 问题2:NLP处理工具引入的“错误累积”
• 问题3:人工设计的特征不一定适合当前任务

解决方法

基于卷积神经网络的实体关系分类方法

  • 通过CNN学习文本语义特征
  • 不需要人工设计特征

词汇级特征

利用词向量(Word Embedding)信息作为词汇级特征

句子级特征

利用CNN捕获句子级特征


实验结果

前馈神经网络的缺点

输入和输出的维数都是固定的,不能任意改变。无法处理 变长的序列数据

句子是有长有短,图像大小也不固定

连接存在于层与层之间,每层的节点之间是无连接的,假设每次输入都是独立的,无法建模时序或者位置信息

循环神经网络

反馈神经网络

  • 全部或者部分神经元可以接受来自其它神经元或自身的神经元信号(cf. 前馈神经网络只接受前一层的神经元信号)
  • 可以建立同层神经元的关联,从而每层节点之间有连接,因此可以建模时序或者位置信息,处理变长的序列数据

循环神经网络:至少包含一个反馈连接的神经网络结构。 网络的激励可以沿着一个loop 进行流动。这种网络结构特别适合于处理时序数据。


假设时刻𝑡时,输入为𝑥𝑡,隐层状态为ℎ𝑡。 ℎ𝑡不仅和当前 时刻的输入相关,也和上一个时刻的隐层状态 h 𝑡 − 1 ℎ_𝑡−1 ht1相关。

  • A代表一个RNN单元,由一套参数组成

  • 一般使用如下函数:


ht的目的是编码从0到t时刻的所有信息

循环神经网络:应用场景

  • 输入:任意长度的序列
  • 输出:同样长度的序列
  • 适合:序列标注任务
  • 例如:命名实体识别


输入:任意长度的序列
输出:关于该序列的一个向量表示
适合:输入序列的统一表示
应用:文本分类(ht是文本的表示,再加一个分类层)

输入:任意长度的序列
输出:关于该序列的多个向量表示
适合:输入序列中每个时刻的表示
应用:关系分类

  • xt是句子中的一个词,ht是这个词在当前上下文的表示
  • hk和hj是待分类的两个实体的表示
  • 再加一个分类器完成关系分类

参数学习

循环神经网络(4个参数),其中U,W,V是矩阵,b是向量


参数训练可以利用反向传播算法(Backpropagation
Through Time,BPTT)

  • P. J. Werbos. “Backpropagation through time: what it does and how to do it”. In: Proceedings of the IEEE 10 (1990).

问题:序列长度过长时会导致梯度爆炸或者梯度消失问题

长短时记忆神经网络:LSTM

长短时记忆神经网络:Long Short-Term Memory Neural Network,LSTM)

RNN的一个变体,可以有效地解决简单循环神经网络的梯度爆炸或消失问题

关键:引入了一组记忆单元(Memory Units),允许网络可以学习何时遗忘历史信息,何时用新信息更新记忆单元。

  • 在时刻 t ,记忆单元 ct 记录了到当前时刻为止的所有历史信息,并受三个“门”控制:输入门 it , 遗忘门ft 和输出门ot 。三个门的元素的值在[0, 1] 之间。

RNN: LSTM:





双向循环神经网络

层叠(Stack)循环神经网络


本质就是多个循环网络逐层使用

递归神经网络

递归神经网络:Recursive Neural Network (RecNN)

利用LSTM做关系抽取

动机:

  • 句子级语义信息对关系抽取任务至关重要
  • 句子中的不同位置的词有不同程度的重要性
  • 传统方法依赖NLP工具,人工提取特征,造成错误传递
  • CNN的方法难以建模句子中长距离的依赖关系



实体和关系联合抽取

动机:

  • 真实世界中很多情况下要实体和关系联合抽取
  • 传统的方法大多数都假定给出了待抽取的两个实体



传统关系抽取方法

基于特征向量方法 vs. 基于核函数方法 vs.基于神经网络方法


传统的人工标注语料+机器学习算法模式无法满足开放域 开放语料下的信息抽取

  • 语料构建成本过高
  • 跨领域跨文本类别时抽取性能严重下降
  • 需要抽取的信息类别通常未预先指定

需要开放域关系抽取

  • 关系类型更多
  • 语料规模不受限
  • 抽取实体类型也更丰富

开放域关系抽取特点

不限定关系类别

不限定目标文本
 Web Page
 Wikipedia
 Query Log

难点问题
 如何获取训练语料
 如何获取实体关系类别
 如何针对不同类型目标文本抽取关系

需要研究新的抽取方法
 按需抽取—Bootstrapping,模板
 开放抽取—Open IE
 知识监督抽取—Distant Supervision

按需抽取:Bootstrapping

Bootstrapping:模板生成->实例抽取->迭代直至收敛

语义漂移问题:迭代会引入噪音实例和噪音模板

  • 首都:Rome  城市模板 “* is a city of ”

Paris is a city of France.

Paris is a city of Romance.

COLING 14:引入负实例来限制语义漂移

开放抽取

通过识别表达语义关系的短语来抽取实体之间的关系

  • (华为,总部位于, 深圳),(华为,总部设置于,深圳),(华为, 将其总部建于,深圳)

同时使用句法和统计数据来过滤抽取出来的三元组

  • 关系短语应当是一个以动词为核心的短语
  • 关系短语应当匹配多个不同实体对

优点:无需预先定义关系类别
缺点:语义没有归一化,同一关系有不同表示、

开放域关系抽取: Web Page

步骤:
 离线的训练集产生:利用简单的启发式规则,在宾州树库上产生训练语料
 离线的分类器训练:提取一些浅层句法特征,训练分类器,用来判断一个元组是否构成关系
 在线关系抽取:在网络语料上,找到候选句子,提取浅层句法特征,利用分类器,判断抽取的关系对是否“可信”
 在线的关系可信度评估:利用网络海量语料的冗余信息,对可信的关系对,进行评估

出发点:
 关系类别的产生:动词作为关系类别
 训练语料的产生:通过句法关系引出语义关系

Machine Reading

开放域关系抽取: Wikipedia

任务:在Wikipedia文本中抽取关系(属性)信息

难点

  • 无法确定关系类别
  • 无法获取训练语料

方法

  • 在Infobox抽取关系信息
  • 在Wikipedia条目文本中进行回标,产生训练语料



知识监督开放抽取:Distant Supervision

  • 开放域信息抽取的一个主要问题是缺乏标注语料
  • Distant Supervision: 使用知识库中的关系启发式的标注训练语料


简单远距离监督方法



利用分段卷积网络自动学习特征

  • 设计分段最大池化层,根据两个实体把句子分成三段,在每段里利用最大池化技术,更好地保留句子的结构化信息


数据集:Riedel等开发

设计分段最大池化层,保留句子中结构化信息
知识库:Freebase
文本:纽约时报(NYT)

评价方法
Held-out 评价:以Freebase 中存在关系的三元组作为标准
人工评价:去掉已经在Freebase 中存在的实体对,人工标注top N结果

开放域关系抽取: 从NYT中抽取Freebase的关系类别
实验结果






小结

由识别到抽取

  • 规范文本–>有噪音、有冗余的海量网络数据
    限定类别–>开放类别

难点:关系类别缺乏体系结构


加油!

感谢!

努力!

以上是关于知识图谱关系抽取的主要内容,如果未能解决你的问题,请参考以下文章

知识图谱关系抽取与总结展望

利用关系抽取构建知识图谱的一次尝试

小麦知识图谱三元组构建

知识图谱构建射雕三部曲人物关系

知识图谱陈华钧:知识图谱与深度学习优势互补,将破解更多金融科技难题

知识图谱抽取总结