关系抽取入门级概览

因为课题组的需要,过去几个月一直在学习强化学习和鲁棒性算法。再加上忙于课题组中的一些工作,所以过去两个月基本没有什么时间来写博客。最近读了不少强化学习和鲁棒性算法方面的论文,也有一些小的收获,等有时间再通过博客分享出来。今天分享的是我近期记录的关系抽取的笔记,希望对想要入门关系抽取这个任务的朋友们有些帮助。

1 关系抽取概述

关系抽取从信息抽取(亦称为“文本结构化”)中演化而来。关系抽取一般指从非结构化文本中抽取实体以及实体间的关系。关系抽取的下游任务是:问答系统,聊天机器人等。

1.1 关系的获取方法

  • 人工构建;

  • 从结构化数据库中转换;

  • 自动构建:即自动从文本中抽取。

1.2 关系抽取的任务分类

关系实例抽取: 

    输入:文本,给定的关系; 

    输出:实体对{(主体,客体)}。

关系分类:

    输入:文本,实体对,关系列表P;

    输出:关系P_i。

 实体关系联合抽取:

    输入:文本;

    输出:三元组的集合{(主体,关系,客体)}

开放关系抽取:此类任务抽取的是关系的文本描述,这类关系通常未定义。开放关系抽取之后要进行规范化。

2 关系抽取方法

 

评测数据集:

    人工构建的数据集:ACE 2005, SemEval-2010 Task 8。质量高,规模小。

    基于远程监督构造的数据集:NYT, KBP。 规模大、但噪音多。

    远程监督方法是一种弱监督方法,优点是代价小,规模大;缺点是质量问题。

基于远程监督的数据集构造过程:

  1. 从知识库中为目标关系识别尽可能多的实体对;

  2. 对于每个实体对,利用实体链接从大规模文本中抽取提及该实体对的句子集合,并为每个句子标注相应的关系;

  3. 包含实体对的句子集合 和 关系类型标签 构成关系抽取的标注集。相应的句子是训练数据,关系类型是标签。

解决远程监督的噪音问题:

发表于2018年ACL的《Robust distant supervision relation extraction via deep reinforcement learning》这篇论文中的思路是引入强化学习的思想,通过选择高质量的句子,来不断地筛选数据集。这种思路是将基于远程监督的关系分类划分为两个子任务:

    实例筛选:利用强化学习策略构造一个实例选择器,从远程监督产生的数据中获取优质样本。

    关系分类:根据选择的样本训练关系分类器。关系分类器同时为实例选择器提供奖励。

以及同时期发布的另一篇论文《Reinforcement learning for relation classification from noisy data》

 

2.1 基于模式的抽取

使用模式来表达关系在文本中提及方式,将模式与语料匹配,来获取关系实例。这种方法现在用得比较少。

有两种方法,一种是专家定义模式,俗称规则法;另一种是自动学习模式。

自动化模式获取方法:bootstrapping,即根据已经习得的模式自动标注新样本,然后基于新补充的标注样本来获取新的模式,依次逐步提升模型。

2.2 基于学习的关系抽取

数据标注->模型构建->模型学习

  1. 基于RNN的关系抽取:包括输入层,双向循环层和池化层,最后借全连接层+softmax层生成关系的概率分布;

  2. 基于CNN的关系抽取;

  3. 基于注意力机制的关系抽取:为每个句子赋予权重,权重越大表明该句子表达目标关系的程度越高,反之则越可能是噪声。

 

 

 

 

你可能感兴趣的:(自然语言处理)