Joint Entity Relation Extraction Review

PS:联合训练认为实体抽取、实体关系抽取两个任务之间存在依赖,不是两个独立的过程(个人理解)

基于传统特征工程

2014-EMNLP《Modeling Joint Entity and Relation Extraction with Table Representation》

filling table(span)
特征矩阵

方法:

  • 利用二维表的方式表示实体和关系
  • 设计六种解码顺序,来获取全局和局部的实体、关系信息
  • 基于特征工程的结构化系统,基于传统机器学习方法

问题:需要设计复杂的特征工程,严重依赖于NLP工具,这可能会导致错误传播问题。

常用共享编码模型

2016 《End-to-End Relation Extraction using LSTMs on Sequences and Tree Structures》

模型图

方法:

  • sequence 层:用序列标注的方法来做实体抽取
  • dependency层:
    • 获取sequence 层的编码信息(利用ner任务辅助关系抽取)
    • 利用tree-lstm模型编码头、尾实体之间的最小路径结构
    • 关系类型预测

缺点:

  • 产生的冗余实体对(不存在关系的实体对)仍需要再经过dependency层来判断
  • 依赖于解析器的性能,特定语言(英语)和上下文(即、新闻)上表现得特别好——泛化性弱

2016-acl-《Joint entity and relation extraction based on a hybrid neural network》

模型图

方法:

  • 利用序列标注来识别实体
  • 关系抽取:
    • 与实体识别共享编码
    • 输入:(实体序列中每个词的向量和,文本序列)

优点:作者提出的混合网络不仅考虑了NER和RC之间的相关性,同时也考虑了实体标签之间的长距离依赖关系(lstm)

缺点:

  • 只共享编码部分,未共享解码部分,实体识别过程不能充分利用关系抽取部分的信息
  • 仍然需要将ner的预测结果作为关系抽取的输入,故存在误差传播

2016-acl《Table Filling Multi-Task Recurrent Neural Network for Joint Entity and Relation Extraction》

标注样式
模型图

方法:利用神经网络

  • 对角线上的格子是实体,非对角线的格子表示关系
  • 实体对之间的关系,只在实体尾词上进行标注
  • 实体抽取和关系抽取共享模型编码模块

优点:可以有效解决实体重叠(某一实体与多个实体存在关系)的情况
问题:
仍然将实体识别和关系抽取看作是两个任务,这会导致输出的实体和关系的信息未能完全利用,因为没有显示的特征来建模输出之间的依赖。

2017-acl《Joint Extraction of Entities and Relations Based on a Novel Tagging Scheme》

标注样例

方法:

  • 将整个实体、实体关系抽取都看作是一个序列标注问题
  • 将实体、实体关系以及首尾信息进行组合,构成最终的模型标签类别

缺点:

  • 难以处理多实体多关系任务
    • 多对实体同一种关系的情况
    • 当同一实体与不同实体存在关系时,预测标签该为什么?

2018-acl-《Joint entity recognition and relation extraction as a multi-head selection problem》

模型图

方法:

  • 首先进行命名实体识别,然后对句中的每个单词都与句中的所有单词判断关系。
  • 利用sigmoid函数来捕获一个实体对之间存在的多种关系

问题:
该模型在进行关系分类时,只是简单地将两个单词的隐藏层表示相加得到表示这两个单词的关系向量,这种方法不能很好地表示两个单词的关系

2020-acl-《A Novel Cascade Binary Tagging Framework for Relational Triple Extraction》

样例图

方法:

  • 识别句子中所有可能的头实体
  • 为每个实体寻找存在给定关系的其他实体(即给定实体i和关系k,来预测实体j的模式)
  • 给定关系为总涉及关系的遍历

特点:
引入了一个新的视角,重新审视关系三元组抽取任务,通过设计一个通用算法框架来解决重叠三元组问题

缺点:
仍然存在误差传播的问题

类似工作:

  • 2017-acl-《Going out on a limb Joint Extraction of Entity Mentions and Relations without Dependency Trees》
  • 2018-EMNLP-《Adversarial training for multi-context joint entity and relation extraction》

基于span的联合训练模型

2020-acl 《TPLinker Single-stage Joint Extraction of Entities and Relations》

样例图1
样例图2

方法:

  • 本质是将实体识别看作一种特殊的关系分类任务
  • 具体的做法是预测两个token的关系:
  • 当两个位置对应token的关系类型是EH to ET时,表明两个位置之间的序列片段即为一个实体,保存该实体的位置信息到E=((实体位置1,实体位置2),...)
  • 关系抽取(以样例图2中的live in 为例):
    • 首先得到在关系live in 下标签为SH to OH(主实体的头 to 客实体的头)和 ST to OT(主实体的尾 to 客实体的尾)的位置:
      如果:
      (主实体头的位置,主实体尾位置)和 (客实体头位置,客实体尾位置)均存在于 E
      则:
      该主实体与客实体的关系是 live in

优点:

  • 将体识别与关系抽取两个任务合并成一个关系分类任务,能有效客服pipeline模式存在误差传播的不足
  • 实共享编码、解码器,充分考虑了两个任务之间的依赖
  • 能有效解决同一实体参与多个其他实体存在关系的情况

缺点(个人理解):系统开销较大

2021-acl 《UNIRE:A Unified Label Space for Entity Relation Extraction》

样例图
损失构建
  • 将实体抽取看作是一个特别的关系分类任务(构建分类loss1)

  • 如果一个关系存在,那么它对应的两个实体也存在。因此,一个关系标签的预测得分(最高概率)一定不高于其对应的实体的标签的得分(最高概率);构建loss2


    loss2
  • 利用对称性判断实体边界:
    “实体”和“不区分方向的关系”在span矩阵中是对称的,且标签一致;例如表格中的David Perkins和wife之间是PER-SOC的关系,反之亦然。即P(i,j)要与P(j,i)一致,构建loss3
    思考:译句span矩阵的第i和第i要一致,可否通过构建distance(i行,i列)来作为一个子loss是否有意义。

PS:单向关系如何处理

解码
  • step1:解码实体边界
    在span矩阵中,对于任意两个相邻的行或者列,如果其标签不一致,那么我们就认为他们属于不同的span,具体做法是求任意两列、两列预测分布的二范数(具体做法见论文),若某两行或某两列的二范数值大于阈值(文中是1.4),则判定为不在同一span,即不属于同一实体,并以此得到实体边界位置
  • step2:实体解码
    假如step1得到某一实体边界(i,j),则:
    实体类型 = argmax(正方形((i,i)-->(j,j))对应预测概率的均值)
  • step3:关系解码
    若e1的位置是(i,j),e2的位置是(m,n),则:
    关系类型 = argmax(矩形((i, m), (j, n))对应预测概率的均值)

基于图

2018-IJCAI 《Joint Extraction of Entities and Relations Based on a Novel Graph Scheme》

action类型
例句
过程展示图
某一时刻模型输入与输出

方法:

  • 定义动作(action)类型
  • 整个模型主体用于动作预测
  • 当预测结果为特定动作时,则进行实体或关系提取(例如当预测的动作是GEN-NER时,则进行实体类型预测)

2019 《GraphRel Modeling Text as Relational Graphs for Joint Entity and Relation Extraction》

方法:

  • phase1
    -- 利用依赖解析器(Cetoil et al .2016)构建依赖树,并依赖特征作为一类输入
    -- 利用bi-lstm编码序列作为另一输入
    -- 以序列标注的方式识别实体,预测每个词对的关系,保存词对属于各个关系的概率
  • phase2

    -- 某一词u的编码信息包括:它与每个词v在各个关系下的信息加权和(权重时phase1中得到的概率值),以及在phase1中,词u隐状态。
    -- 预测实体和关系(与phase1剩余步骤相同)

优点:

  • 该方法考虑了文本的线性结构和依赖结构,以及文本中所有词对之间的隐含特征;
  • 充分考虑了实体和关系之间的相互作用

小结:

  • 基于特征工程的早期算法过度依赖于NLP工具的性能,容易导致误差传播,而且特征计算过程复杂。
  • 大多数联合方法通过参数共享分开抽取实体及其关系,而不是共同decoding。这会导致输出的实体和关系的信息未能完全利用,因为没有显示的特征来建模输出之间的依赖。
  • 当前基于span且将实体识别与关系抽取融合成一种关系分类的做法较为优雅,但其计算开销较大。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,001评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,210评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,874评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,001评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,022评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,005评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,929评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,742评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,193评论 1 309
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,427评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,583评论 1 346
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,305评论 5 342
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,911评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,564评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,731评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,581评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,478评论 2 352

推荐阅读更多精彩内容