关系抽取
实体之间的关系是知识图谱中不可或缺的部分,不同的关系将独立的实体连接。关系抽取是文本内容理解的重要支撑技术,能够将文本分析从语言层面提升到内容层面,对于问答系统、智能客服、聊天机器人、语义搜索等应用都十分重要。
任务概述
- 任务定义
定义为两个或多个实体之间的某种联系。 - 任务分类
关系抽取分为以下三种:
- 面向结构化文本的关系抽取
结构数据包括表格数据,XML文档以及数据库数据等,这类数据具有良好的布局结构,可以编写模板进行抽取。 - 面向非结构haul文本的关系抽取
纯文本,但是由于自然语言表达的多样性、灵活性,实体关系在文本中找不到明确的标识。准确率比较低。 - 面向半结构化文本抽取
布局有一定规律,但是也有多样性,需要用模板进行自动学习。
根据抽取文本的范围不同,可分为 - 句子级关系抽取
从句中判断两个实体之间的关系 - 语料集关系抽取
两个实体之间是否存在某种语义关系,而不必限定两个目标实体所在的上下文。
根据领域不同,分为: - 限定领域抽取
在一个或多个限定的领域内对实体间语义关系进行抽取 - 开发领域抽取
不限定关系类别
- 任务难点
- 同一个关系可以具有多种不同的词汇表发方法。如姚明出生于上海和姚明出生地在上海都表达了出生地的关系。
- 同一个短语或词可能表达不同的关系。如李梅是我的姑娘。代表了不同的关系,可以是女朋友也可以是女儿。
- 同一对实体之间可能存在不止一种关系。如姚明的出生地在上海,居住地也在上海。
- 关系抽取不仅涉及到两个或两个以上的实体单元,还涉及到周围的上下文。例如三国时期,蜀国有多位能征善战的将军,如关羽,张飞,赵云等
- 关系有时在文本中找不到任何明确的标识,隐含在文本中。如库克与中国移动面谈,透露出他将带领苹果进一步拓展中国市场的讯号。没有说库克和苹果公司的关系,但是从带领苹果公司来说,推断库克是苹果的执行官。
- 关系抽取一般依赖于词法,句法等基本的自然语言处理工具。但是性能不高,低性能工具引入错误。
限定域关系抽取
在一个或者多个限定的领域内判别文本中所出现的实体指称之间是何种语义关系,且待判别的语义关系是预定义的。
常作为一个分类任务。即输入一个句子以及标识句子中所出现的实体指称的条件下,系统将其分类到所属的语义类别上。
基于模板的关系抽取方法
通过人工编辑或者学习到的模板对文本中的实体关系进行抽取和判别
如:
X is acquired by Y
X is purchased by Y
X is bought by Y
表示收购。当一个句子中所出现的实体指称的上下文文本 满足上述模板时,则认为具有这种关系。
但是人不可能针对多类关系穷举所有的模板,需要用自动化的方法。
- 如何学习用于抽取关系的模板
自提升的方法,对于实体和模板进行联合迭代式的交替抽取和学习。 - 如何将学习到的模板进行聚类
不同的模板可能代表同一关系,进行聚类。
受限于模板的质量和覆盖度。
基于机器学习的关系抽取方法
很多工作将关系抽取看成是一个分类问题,开始选用更成熟的方法。
- 有监督关系抽取
如何抽取特征
- 基于特征工程的方法
- 特征提取
提取词汇、句法和语义等特征,有效的集成起来,从而产生描述关系实例的各种局部和全局特征。
词汇特征
实体属性特征
重叠特征
依存句法特征
句法特征 - 模型训练
利用提取的特征训练分类模型。 - 关系抽取
利用训练好的模型进行分类,完成关系抽取。
- 基于核函数的方法
不需要构造固有的特征向量。
以结构树为构造对象,核函数可以在高维的特征空间中计算距离。 - 基于神经网络的方法
词向量的分布式表示
词汇级别的特征
句子级别的特征
拼接得到特征进行网络输出,输入softmax分类器。
- 弱监督关系抽取
距离监督
假设:
如果两个实体之间存在某种关系,则所有包含这两个实体的句子都表达这种关系,这些句子的集合被称为一个包。
- 训练数据的产生
通过命名实体识别工具找出给定的非结构化文本中的所有实体,根据弱监督假设,将实体组成对,在知识库中查,有抽出为正样本,无为负样本。 - 任务建模
不知道哪些有用,但只要有1个有用,就给定标签,并不关心是每个示例的标签。 - 分段卷积神经网络
设计了分段最大池化层代替原先的池化层 - 多示例训练
克服噪声的影响。对包的示例预测,选概率最大的为包的标签。但是会忽略包中其他方法的信息,有其他的改进。
开放域关系抽取
- 语料的自动生成和分类器训练
- 大规模关系三元组的抽取
- 关系三元组可信度计算