关系抽取–CASREL

关系抽取是自然语言处理中的一个基本任务。关系抽取通常用三元组(subject, relation, object)表示。解决关系抽取的思路有两种:
(1)已知两个实体subject和object,采用分类模型得到实体间的关系
(2)抽取实体,预测实体间可能存在的关系。如果采用先抽取实体再用预测关系,这种方式称为pipline式抽取;如果同时抽取实体和实体间的关系,这种方式称为联合抽取。
关系抽取的数据集比较复杂,数据集中的实体和关系有重叠,理想的关系抽取的数据集中subject和object对应一种关系,现实中的数据集中subject和object对应多种关系,出现实体重叠的现象。如下图:

其中EPO表示实体重复,SPO表示单实体重复。
当关系三元组(subject, relation, object)重叠时,关系分类模型很难处理重叠数据。 如果没有足够的训练示例,分类器就很难说出实体参与哪个关系,提取的三元组通常是不完整且不准确的。然而CASREL模型可以有效的处理重叠关系三元组。

CASREL模型

novel cascade binary tagging framework(CASREL)模型是A Novel Cascade Binary Tagging Framework for Relational Triple Extraction提出的,CASREL模型刷新了SOTA的结果。CASREL模型分为两步骤:
(1)通过预训练BERT模型得到所有可能的subject
(2)针对每个subject,我们应用特定于关系的标记器来同时识别所有可能的关系和相应的object。
抽取关系三元组的目的是识别句子中所有可能的(subject,relation,object),其中某些关系可能与共享相同的subject或object实体。所以CASREL的目标函数表示为:

CASREL模型结构如下图

Subject Tagger

Subject Tagger中的模型是通过直接解码N层BERT编码器产生的编码向量hN来识别输入句子中的所有可能subject,其实采用两个相同的二分类器(0/1)来标记subject的开始和结束位置,公式如下:

给定一个句子中subject的最大似然函数为:

Relation-specific Object Taggers

Relation-specific object taggers考虑了subject的特征,而不是直接解码预训练bert模型的HN,relation-specific object taggers的公式如下:

Relation-specific object taggers的最大似然函数为

中文实验结果

在中文数据上和英文的数据集的tokenizer处理方式基本一样,每一个汉字后加入了[unused1],采用chinese_L-12_H-768_A-12预训练模型。中文数据集处理的格式如下:

{"text": "如何演好自己的角色,请读《演员自我修养》《喜剧之王》周星驰崛起于穷困潦倒之中的独门秘笈","triple_list": [["喜剧之王","主演","周星驰"]]}

模型参数如下:
max_length=128, batch_size=16, lr=1e-5, epoch=16
模型的评价结果如下:

f1: 0.7827, precision: 0.7736, recall: 0.7921, best f1: 0.7944

模型的预测结果如下:

{"text": "《爱的魔幻秀》是安心亚演唱的歌曲,由吴易伟作词,MartinHansen/StefanDouglasHayOsson作曲,收录于专辑《单身极品》中","triple_list_gold": [{"subject": "爱的魔幻秀","relation": "所属专辑","object": "单身极品"},{"subject": "爱的魔幻秀","relation": "歌手","object": "安心亚"}],"triple_list_pred": [{"subject": "爱的魔幻秀","relation": "所属专辑","object": "单身极品"},{"subject": "爱的魔幻秀","relation": "歌手","object": "安心亚"},{"subject": "爱的魔幻秀","relation": "作词","object": "吴易伟"}],"new": [{"subject": "爱的魔幻秀","relation": "作词","object": "吴易伟"}]
}

如果有错误,欢迎大家指正。

关系抽取--CASREL相关推荐

  1. 关系抽取Casrel实现(Pytorch版)

    前言 关系抽取是自然语言处理中的一个基本任务.关系抽取通常用三元组(subject, relation, object)表示.但在关系抽取中往往会面临的关系三元组重叠问题.<A Novel Ca ...

  2. CASREL:A Novel Cascade Binary Tagging Framework for Relational Triple Extraction(关系抽取,ACL2020,重叠关系)

    文章目录 1.介绍 2.相关工作 3.The CASREL Framework 3.1 Bert 3.2 cascade decoder 4.实验 5.结果 参考 1.介绍 做重叠关系的少 重叠关系: ...

  3. 哈工大关系抽取模型CasRel代码解读

    本文以项目readme.md训练逻辑的顺序解读 1.下载BERT预训练模型 更多bert模型参考github地址       本文用的是BERT-Base, Cased(12-layer, 768-h ...

  4. 实体关系抽取几篇论文

    1.<A Unified MRC Framework for Named Entity Recognition> paper:https://arxiv.org/pdf/1910.1147 ...

  5. 实体关系抽取学习笔记

    1 关系抽取概述 1.1 简介 信息抽取旨在从大规模非结构或半结构的自然语言文本中抽取结构化信息.关系抽取是其中的重要子任务之一,主要目的是从文本中识别实体并抽取实体之间的语义关系. 关系抽取对于很多 ...

  6. 【关系抽取】A Novel Cascade Binary Tagging Framework for Relational Triple Extraction

    A Novel Cascade Binary Tagging Framework for Relational Triple Extraction 2020ACL 吉林大学出品 资源:https:// ...

  7. SSAN 关系抽取 论文笔记

    20210621 https://zhuanlan.zhihu.com/p/353183322 [KG笔记]八.文档级(Document Level)关系抽取任务 共指id嵌入一样 但是实体嵌入的时候 ...

  8. 机器不学习:浅析深度学习在实体识别和关系抽取中的应用

    机器不学习 jqbxx.com -机器学习好网站 命名实体识别(Named Entity Recognition,NER)就是从一段自然语言文本中找出相关实体,并标注出其位置以及类型,如下图.命名实体 ...

  9. opennre 中文关系抽取_OpenNRE 2.0:可一键运行的开源关系抽取工具包

    OpenNRE(https://github.com/thunlp/OpenNRE.git)是清华大学自然语言处理实验室推出的一款开源的神经网络关系抽取工具包,包括了多款常用的关系抽取模型,发布仅一年 ...

  10. 关系抽取论文整理,核方法、远程监督的重点都在这里

    来源 | CSDN 博客 作者 | Matt_sh,编辑 | Carol 来源 | CSDN云计算(ID:CSDNcloud) 本文是个人阅读文章的笔记整理,没有涉及到深度学习在关系抽取中的应用. 笔 ...

最新文章

  1. Python自动化开发学习6
  2. SQL Server 2008备份大全实战(七)
  3. 使用ABAP(ADBC)和Java(JDBC)连接SAP HANA数据库
  4. Fabio技术手册(1):概述和快速上手
  5. 全文检索技术_中药图片拍照识别系统,爬虫、深度学习技术android app 源码分享...
  6. P1255 数楼梯 方法二(python3实现)
  7. 面试官:你对多线程熟悉吗,谈谈线程安全中的原子性,有序性和可见性?
  8. Navicat 安装过程问题总结
  9. The essense of the software atchitecture
  10. Java Mail 发送邮件126、163 、QQ
  11. 白痴qwerta的胡言乱语(一句话日度感想?
  12. 【搜索】训练E - Crazy Robot
  13. 利用matlab来设计FIR滤波器参数
  14. 快速乘-在乘法溢出的边缘疯狂试探
  15. 2019南昌市计算机教师招聘,南昌经济技术开发区2019年招聘教师拟聘用人员名单...
  16. 屏幕小虫子_这些是导致疯狂的小虫子
  17. 把VOB格式转换成其它格式的工具
  18. Applied Cryptography:chapter 11 数学背景
  19. python教学视频k_10个Python奇趣教程,附视频讲解+练手项目。
  20. 错误代码: SEC_ERROR_REUSED_ISSUER_AND_SERIAL(解决办法)

热门文章

  1. 最新传奇游戏公司网站模板源码+带手机端/易优CMS内核
  2. 结巴分词代码java_java版结巴分词工具
  3. 浅层砂过滤器 全自动浅层介质过滤系统
  4. 金万维异速联服务器重装,金万维异速联服务器配置说明.doc
  5. 认清微信支付v2和v3
  6. 官方版WIN10PE如何添加explorer?
  7. 一图读懂3GPP R16(附思维导图下载)
  8. 百度网盘提取码_百度网盘无提取码分享方法
  9. 微信小程序——聊天小程序(从搭建到结束)
  10. 将视频或动态壁纸设置成桌面