前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SPERT:一种从文本中抽取关系方法

SPERT:一种从文本中抽取关系方法

作者头像
木野归郎
发布2021-07-23 15:22:01
1.4K0
发布2021-07-23 15:22:01
举报
文章被收录于专栏:share ai happinessshare ai happiness

导语

spert: 一种以变压器网络BERT为核心的联合实体和关系提取模型。采用基于span的方法:任何标记子序列(或span)构成一个潜在的实体,任何一对span之间都可以保持关系。


论文题目:Span-based Joint Entity and Relation Extraction with Transformer Pre-trainin

论文链接:https://arxiv.org/abs/1909.07755 论文代码:https://github.com/markus-eberts/spert


任务目标:关系抽取

即从一句话中提取实体与关系,构成一个三元组

比如:

"xiao ming started in xiao zhang`s Happy comedians"

我们的目标是获取三元组

("xiao ming",Plays-In,"comedians")

或者

("comedians",Director,"xiao ming")

下面是这个模型整体的架构图:

span classification(span分类)

红色方块表示实体

黄色方块表示文本内容

蓝色方块表示span长度信息

绿色方块表示整个句子的语义

表示向量合并操作

span的表示:

c表示整个句子语义嵌入

使用softmax分类器分类span(softmax分类器会在后续文章中详细介绍)

首先定义好entity目录,比如person、organization;

  1. span被分类为

中的类别,或者none(表示span不包含实体);

  1. span使用BERT来做嵌入操作(就是将其转化为特征向量);
  2. 定义一个fusion function(融合函数)

:来融合嵌入后的向量,这篇论文就是选用了一个比较好的融合函数max-pooling;

表示span的长度嵌入,目的是把span的长度信息融合span的特征向量中,因为太长的span不可能表示实体;

span filtering (span过滤)

过滤掉被分类到none类别的span和长度超过10的span(太长的不可能是实体)

relation classification(关系分类)

在两个相邻的实体之间,通过BERT和max-pooling,我们获得一个语义嵌入c(S1,S2)关系是不对称的,所以考虑S1和S2的顺序,通过两个单位向量进行处理

两者经过一个单层的分类器,

表示sigmoid函数

定义一个临界值

,比较y和

的值来确定x是否是实体关系三元组

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-07-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 OnlyCoding 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档