当前位置:   article > 正文

如何理解联合关系抽取模型GPLinker?

gplinker

一、关系抽取要解决的问题

1、s和o未必是分词工具分出来的词,因此要对query做标注才能抽取出正确的s、o,而考虑到分词可能切错边界,因此应该使用基于字的输入来标注;
2、样本中大多数的抽取结果是“一个s、多个(p, o)”的形式,比如“《战狼》的主演包括吴京和余男”,那么要抽出“(战狼, 主演, 吴京)”、“(战狼, 主演, 余男)”;
3、抽取结果是“多个s、一个(p, o)”甚至是“多个s、多个(p, o)”的样本也占有一定比例,比如“《战狼》、《战狼2》的主演都是吴京”,那么要抽出“(战狼, 主演, 吴京)”、“(战狼2, 主演, 吴京)”;
4、同一对(s, o)也可能对应多个p,比如“《战狼》的主演和导演都是吴京”,那么要抽出“(战狼, 主演, 吴京)”、“(战狼, 导演, 吴京)”;
5、极端情况下,s、o之间是可能重叠的,比如“《鲁迅自传》由江苏文艺出版社出版”,严格上来讲,除了要抽出“(鲁迅自传, 出版社, 江苏文艺出版社)”外,还应该抽取出“(鲁迅自传, 作者, 鲁迅)”。
出自:https://kexue.fm/archives/6671

二、CasRel是什么?

https://kexue.fm/archives/6671
答:有点想多轮问答来做关系抽取,他这里先抽取subject,然后来预测每个p的起始位置。
image.png

三、Global Pointer原理是什么?

https://kexue.fm/archives/8373
答:类似于多头机制来做实体抽取,可以解决嵌套实体和非嵌套实体的问题,抽取的特征是头尾节点的点乘结果,TPlinker是加性特征,另外通过引入旋转位置编码RoPE大大提高了效果(+30%)。
image.png

四、GPLinker原理是什么?

https://kexue.fm/archives/8888
答:先利用Global Pointer抽取subject的首尾(i, j)和object的首尾位置(i, j),然后利用Global Pointer抽取每一种关系p的实体的head的match的位置(hi, hj)和实体的尾部tail的match的位置(ti, tj)组合,最终输出交集的结果。
在这里插入图片描述

4.1 GPLinker如何抽取实体?

答:直接利用Global Pointer抽取subject和object的实体了。

4.2 GPLinker如何抽取关系?

答:利用Global Pointer找到关系p的(hi, hj),代表起点为hi的实体和起点为hj的实体,他的一个关系是p,同理抽取(ti, tj),代表结束为止为ti的实体和结束为止为tj的实体的关系为p。因为可能存在嵌套实体的情况,所以需要同时指定起点和结束位置。

五、GPLinker代码解读

5.1 数据构建

image.png

5.2 模型

image.png

5.3 解码输出

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/623497
推荐阅读
相关标签
  

闽ICP备14008679号