第一句子大全,网罗天下好句子,好文章尽在本站!

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

时间:2023-06-01

又或者在特殊的情况下,比如在文本的段落中提到的实体

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

能够在自由文本中自动提取实体之间的关系是非常有用的——不是让学生自动完成他的英语作业——而是让数据科学家更好地完成他们的工作,构建知识图谱等等。这一直是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)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。
相关阅读
了解XLNet在语言建模中优于BERT的原因

了解XLNet在语言建模中优于BERT的原因

...进步。语言建模是在给定所有先前的单词的情况下,预测句子中的下一个单词的任务。语言模型现在已经成为NLP管道的重要组成部分,因为它们为各种下游任务提供了支撑。语言模型捕获几乎普遍有用的输入文本的一些特性。早...

2023-06-01 #经典句子

两篇AAAI论文 揭示微信如何做文章质量评估

两篇AAAI论文 揭示微信如何做文章质量评估

...献。相关研究可以分为三类:(1) 基于实体的方法,识别句子中的实体,建模相邻句子中实体的联系;(2) 基于词汇的方法,建模相邻句子的词共现信息 (3) 基于神经网络的方法,利用神经网络学习词和句字语义的向量表示,建模...

2023-05-22 #经典句子

自然语言处理起源:马尔科夫和香农的语言建模实验

自然语言处理起源:马尔科夫和香农的语言建模实验

...母表(26 个字母,加上一个空格)中随机抽取字母以生成句子,并获得以下输出:XFOML RXKHRJFFJUJ ZLPWCFWKCYJ FFJEYVKCQSGHYD QPAAMKBZAACIBZLHJQD香农说,这句话是毫无意义的噪声,因为当我们交流时,我们不会以相同的概率选取字母。正如...

2023-09-23 #经典句子

如何优雅的写出一篇美赛特等奖论文?

如何优雅的写出一篇美赛特等奖论文?

...行内公式、1-3个跨行公式的排版是最专业的。含有符号的句子,开头不能是符号。适量解释很必要,哪怕有点重复也没关系,因为你的读者不一定能记住前面的。04所有假设以及假设合理性一定记住,无论多么明显的任何假设都...

2023-11-16 #经典句子

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

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

...展开解读。基于该框架,ERNIE 2.0模型通过命名实体预测、句子排序结构重建、语义逻辑关系预测等预训练任务学习词法、结构、语义等多个维度知识,大幅提升了通用语义理解水平。去年12月,基于ERNIE 2.0改进的模型在权威榜单G...

2023-05-22 #经典句子

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

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

...新的含义,同时也会出现很多新的词汇,往往会使模型对句子、段落以及篇章的理解产生偏差;3)语法、语用不规范,在开放的网络环境下,人们会倾向于使用简洁、高效和不拘一格的表达方式,这样会使得产生的语言不在正...

2023-06-01 #经典句子

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

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

...下什么是依存句法分析。依存句法分析的目标就是给一个句子,然后把它上面结构化的信息标出来。它以弧为单位,就是以两个词之间的搭配关系为基本单位。搭配关系就是它们之间的语法关系,有时候可能会有一些语义信息。...

2023-01-22 #经典句子

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

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

...前研究中对文档的不同处理方式,我们将其分为三类(以句子为单位建模,直接建模文档,文档结构化处理),对每个类别进行了简要的介绍。最后我们总结了该研究领域面临的挑战,希望对相关研究者有所帮助。2. 正文在人机...

2023-11-10 #经典句子

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

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

...rn等。(1) 标记化(Tokenization)标记化指的是将文本切分为句子或单词,在此过程中,我们也会丢弃标点符号及多余的符号。这个步骤并非看起来那么简单。举个例子:在上图的实例中,“纽约(New York)”一词被拆成了两个标记...

2023-07-11 #经典句子