趣文网,分享全网好句子、好文章!

利用BERT提取文本中实体的关系 你会吗?

时间:2023-06-01 05:52:01

相关推荐

利用BERT提取文本中实体的关系 你会吗?

关系无处不在,无论是与你的家人、你的爱人、你的朋友或者你的宠物、植物。又或者在特殊的情况下,比如在文本的段落中提到的实体。现实生活中的关系是非常明确的(例如母女、父子等),而文本段落中实体之间的关系需要更多的思考才能提取出来,因此,这将是本文的重点。

能够在自由文本中自动提取实体之间的关系是非常有用的——不是让学生自动完成他的英语作业——而是让数据科学家更好地完成他们的工作,构建知识图谱等等。这一直是Google等人工智能巨头的重点研究领域之一,他们最近发表了一篇关于这个主题的论文《匹配空白:关系学习的分布相似性》。在本文中,我将详细介绍本文背后的一些核心概念,并且由于它们的实现代码不是开源的,我还将在示例数据集和开源代码上实现一些模型和培训管道。

预训练任务-匹配空白

如何准备一个人工智能模型来提取文本实体之间的关系,而不给它任何特定的标签(无监督)?好吧,你首先要把任务或者问题框起来,让模型理解。

考虑上面的两个关系语句。这里,关系语句指的是一个句子,其中两个实体被标出来进行关系提取分类。在数学上,我们可以表示如下关系语句:

这里,x是标记化的句子,s1和s2是句子中两个实体的跨度。虽然上面的两个关系语句r1和r2由两个不同的句子组成,但它们都包含相同的实体对,被“[空白]”符号代替。现在,直觉是如果r1和r2包含相同的实体对(s1和s2),它们应该具有相同的s1-s2关系。

因此,人工智能模型的预训练任务是给定任意一个r1和r2,计算它们的词向量,使它们的内积在r1和r2都包含相同的实体对(s1和s2)时为高,当它们的实体对不同时,内积为低。由于在训练过程中不可能显式地比较r1和r2对,因此在该学习过程中实现噪声对比估计。

这样做的好处是,你可以在任何文本块上预先训练它,从WhatsApp消息中的个人数据到Wikipedia上的开放源代码数据,只要你使用spaCy NER或依赖解析工具来提取和注释每个句子中的任何两个实体。

为什么要用“[空白]”符号呢?关系语句中的实体被有意地以一定的概率用“[空白]”符号遮住,这样在预训练过程中,模型不能仅仅依靠实体名称本身来学习关系(如果这样做,模型将只是记忆,而不是实际学习任何有用的东西),但也需要考虑它们的上下文(关联token)。

预训练模型——BERT

这里使用的模型是标准的BERT架构,下面稍作修改,对输入关系语句进行编码,并提取其预先训练的输出表示,用于损耗计算和下游微调任务。

以上就是本文所说的实体标记——实体开启(或EM)表示。在输入关系语句x中,“[E1]”和“[E2]”标记用于标记它们各自实体的位置,以便BERT确切地知道您对哪些实体感兴趣。

将“[E1]”和“[E2]”token位置处的BERT的输出隐藏状态串联起来作为x的最终输出表示,然后与来自其他关系语句的输出表示一起用于损失计算,这样,具有相同实体对的两个关系语句的输出表示应具有较高的内积。

一旦BERT模型以这种方式进行了预先训练,它的任何x的输出表示就可以用于任何下游任务。

下游任务——关系分类

假设现在我们要做关系分类,即给定一个句子中的任意两个关系,对它们之间的关系进行分类(如因果关系、实体位置等)。在MTB任务中使用预先训练的BERT模型,我们可以做到这一点!

如上所述,只需在其上堆叠一个线性分类器(输出隐藏状态表示),并在标记的关系语句上训练该分类器。然后,我们可以对一些句子进行推理。我用SemEval2010 Task8数据集训练它的输出看起来像下图:

在这种情况下,模型成功地预测了实体“喉咙痛”是由“吃了鸡肉后”的行为引起的。

下游任务——单样本学习

现在,你可能想知道,如果为每个关系类只提供一个带标签的关系语句进行训练,模型是否仍然能够很好地预测关系类。事实证明,它可以,或者至少比BERT原始模型做得更好。

对于预测,假设我们有5个关系类,每个类只包含一个带标签的关系语句x,然后用它来预测另一个未标记的x的关系类(称为5向1-shot),我们可以继续采用这个带有EM表示的BERT模型(无论是否使用MTB进行预训练),在这个模型中运行所有6个x(5个标记,1个未标记)以获得相应的输出表示。

然后我们简单地比较了未标记x的输出表示与所有其他5个标记x的输出表示之间的内积,并将具有最高内积的关系类作为最终预测。

我的测试结果

谷歌研究团队使用了整个英文维基百科进行BERT MTB的预训练,并使用谷歌云自然语言API对实体进行了注释。我妻子现在只允许我购买一个8GB RTX2070个人笔记本电脑GPU(对作者表示同情),所以虽然我试图实现他们的模型,但我只能在相当小的CNN/DailyMail数据集上预先训练它,使用免费的spaCy NLP库来注释实体。

所以自然,预测结果并没有那么令人印象深刻。然而,基于EM表示的基线BERT仍然可以很好地对关系分类进行微调,并产生合理的结果。而且,由于现在所有形式的BERT无处不在,并且使用相同的基线架构,我也为ALBERT和BioBERT实现了这一点。

(源自:Towards Data Science)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。
显示评论内容(1)
  1. 尛俪2023-10-04 19:52尛俪[河南省网友]150.242.195.54
    这听起来很酷,但我还不会,不过我很想学习一下!
    顶10踩0
相关阅读
AAAI 2020论文分享:持续学习语义理解框架ERNIE 2.0

AAAI 2020论文分享:持续学习语义理解框架ERNIE 2.0

NLP预训练领域入选论文ERNIE 2 0: A Continual PreTraining Framework for Language Understanding被选为Oral展示

2023-05-22

复旦桂韬:当NLP邂逅Social Media——构建计算机与网络语言的桥梁

复旦桂韬:当NLP邂逅Social Media——构建计算机与网络语言的桥梁

这里是学术报告专栏,读芯术小编不定期挑选并亲自跑会,为大家奉献科技领域最优秀的学术报告,为同学们记录报告干货,并想方设法搞到一手的PPT和现场视频

2023-06-01

句法分析和语义理解专场(视频+实录+PPT)AIS预讲会全程干货分享

句法分析和语义理解专场(视频+实录+PPT)AIS预讲会全程干货分享

1 江心舟 苏州大学Supervised Treebank Conversion: Data and Approaches本次AIS论文预讲会由李正华老师代替江心舟作口头报告我们的主要工作是树库转化

2023-01-22

赛尔笔记|以文档为额外知识的生成式对话

赛尔笔记|以文档为额外知识的生成式对话

根据当前研究中对文档的不同处理方式,我们将其分为三类以句子为单位建模,直接建模文档,文档结构化处理,对每个类别进行了简要的介绍

2023-11-10

关于自然语言处理 数据科学家需要了解的 7 项技术

关于自然语言处理 数据科学家需要了解的 7 项技术

这些数据以不同形式出现,包括文档、电子表格、录音、电子邮件、JSON以及更多形式

2023-07-11