关系抽取(一)
1.什么是关系抽取
从文本中识别实体并抽取实体之间的语义关系,即给定关系集合$R$,从文本中抽取出满足关系集合R中某一关系的三元组(triples)。
三元组:由一个实体对$<e1, e2>$和实体之间关系$r$组成,可表示为$r(e1,e2)$或者$(e1, r, e2)$,其中的关系$r$属于给定关系集合$R$。
例如:从下面这段文本中抽取出如下三元组:
International Business Machines Corporation (IBM or the company) was incorporated in the State of New York on June 16, 1911.
- Founding-year (IBM, 1911)
- Founding-location (IBM, New York)
2.关系抽取的应用
- 创建新的结构化知识库(knowledge base)并且增强现有知识库
- 构建垂直领域知识图谱:医疗,化工,农业,教育等
- 支持上层应用:问答,搜索,推理等。
3.关系抽取的方法
(1)基于规则方法
1.完全基于规则
编写句型和关系的对应规则,即满足特定形式的句型即可抽取出相应的关系。
Rule:A located in B $\longrightarrow\longrightarrow$ located in (A, B)
Text:Alibaba located in Hanzhou
triples:located in (Alibaba, Hanzhou)
2.规则+命名实体识别
基于关系一般发生在特定实体之间的思想,对规则加上实体类别的限定。
Rule:A (Organization) located in B (Loaction) $\longrightarrow\longrightarrow$ located in (A, B)
Text:Alibaba located in Hanzhou
triples:located in (Alibaba, Hanzhou)
3.基于规则方法的优缺点
人工规则精度高;但是人工成本高、召回率低。
(2)有监督的学习方法
将关系抽取任务当作分类问题,根据训练数据设计有效的特征,从而学习各种分类模型,然后使用训练好的分类器预测关系。
1.流水线的方法(Pipelined Method)
- 思想
输入一个句子,首先进行命名实体识别,然后对识别出来的实体进行两两组合,再进行关系分类,最后把存在实体关系的三元组作为输入。
- 缺点
1)错误传播,实体识别模块的错误会影响到下面的关系分类性能;
2)忽视了两个子任务之间存在的关系;
3)产生了没必要的冗余信息,有关系的实体会带来多余信息,提升错误率。
2.实体识别和关系抽取联合学习(Joint Learning)
- 思想
输入一个句子,通过实体识别和关系抽取联合模型,直接得到有关系的实体三元组。
-
基于序列标注策略
2017年ACL论文《Joint Extraction of Entities and Relations Based on a Novel Tagging Scheme》
对句子中每一个单词按如下方式进行标注:
1)实体中词的位置信息{B(实体开始),I(实体内部),E(实体结尾),S(单个实体)};
2)关系类型信息{根据预先定义的关系类型进行编码};
3)实体角色信息{1(实体1),2(实体2)}。
根据标签序列,将同样关系类型的实体合并成一个三元组作为最后的结果,如果一个句子包含一个以上同一类型的关系,那么就采用就近原则来进行配对。
目标函数:
问题:
一个关系,对应有多个主体,多个实体,主体和实体怎么配对?
3.有监督方法的评估
计算precision,recall以及F1。
4.有监督方法的问题
该方法的问题在于需要大量的人工标注训练语料,而语料标注工作通常非常耗时耗力。
(3)半监督的学习方法
主要采用Bootstrapping进行关系抽取。对于要抽取的关系,该方法首先手工设定若干种子实例,然后迭代地从数据中抽取关系对应的关系模板和更多的实例。
具体步骤:
-
收集一些关系为R的种子对(seed pair)
-
迭代
- 找到包含这些单词对的句子
-
找到这些单词对的上下文,泛化成模式(pattern)
- 找到新的单词对
(4)无监督的学习方法
基于假设:拥有相同语义关系的实体对拥有相似的上下文信息。
利用每个实体对所对应的上下文信息来代表该实体对的语义关系,并对所有实体对的语义关系进行聚类。
具体步骤:
- 对每个关系(relation)中的每一对元组,在语料库中找到同时包含这两个实体的句子
- 抽取高频的特征(语法分析、单词等)
- 用这些模式来训练监督模型
参考链接
https://blog.csdn.net/qq_27009517/article/details/80065789
https://blog.csdn.net/sinat_36972314/article/details/80266698