关系抽取--CASREL

关系抽取–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目标函数
CASREL模型结构如下图
CASREL模型结构

Subject Tagger

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

Relation-specific Object Taggers

Relation-specific object taggers考虑了subject的特征,而不是直接解码预训练bert模型的HN,relation-specific object taggers的公式如下:
Relation-specific Object Taggers
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": "吴易伟"
        }
    ]
}

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

  • 2
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 27
    评论
要进行实体关系抽取模型CasRel的部署,首先需要搭建一个合适的环境。这个环境应该包括一个适用的操作系统、合适的硬件配置以及必需的软件依赖项。操作系统可以选择常见的Linux发行版,如Ubuntu或CentOS。硬件配置方面,需要足够的内存和处理能力来支持模型的高效运行。软件依赖项包括Python解释器、深度学习框架PyTorch等。 接下来需要安装CasRel模型及其相关依赖库。可以使用pip等包管理工具进行安装,需要确保所选用的依赖库版本和CasRel模型相匹配。 在部署模型之前,需要对训练好的CasRel模型进行转换和优化,以适应实际部署的需求。可以使用模型压缩方法来减小模型的体积,从而提高部署效率。此外,在模型转换过程中可以进行一些后处理操作,以提高模型运行速度和精度。 一旦模型准备就绪,可以将其部署在目标环境中。根据具体需求,可以选择不同的部署方式,如将模型转换为可执行文件、封装为API接口或部署为分布式系统等。部署完成后,可以进行测试和性能优化,确保模型在实际应用中能够正常运行并具备较高的准确性和效率。 最后,为了方便管理和维护部署好的CasRel模型,可以考虑使用容器化技术,如Docker或Kubernetes。这些技术可以提供快速部署、弹性伸缩和环境隔离等优势,使模型的部署和运维更加便捷。此外,还可以考虑使用监控工具来监测和管理模型的性能和运行状态,及时发现和解决问题。 总的来说,CasRel模型的部署需要涉及环境搭建、模型转换和优化、具体部署方式选择以及性能测试和维护等多个步骤。通过合理的部署流程和有效的管理手段,可以确保CasRel模型在实际应用中发挥出最佳的效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值