预训练模型对实体的表示能力差?一个简单有效的解法来了!(开源)

2022 年 4 月 5 日 夕小瑶的卖萌屋

文 | 小轶

今天给大家介绍一篇 ACL'22 的论文,来自清华大学刘知远老师组。本文解决的问题是如何在预训练语言模型中引入任务所需的实体知识。此前常见的解决方法大致可以分为两种。

一种是在领域相关的语料上再做 further pretraining,比如 BioBERT。这种方法的缺点主要在于需要大量的额外训练,V100 上的训练时长可达数千小时。

另一种是直接引入知识图谱,比如 ERNIE。本文则认为:使得预训练模型具备实体知识,可以不完全依赖于引入外部知识图谱。已经有许多相关工作证明预训练模型自身就具备存储知识的能力,我们需要的只是一种调用出模型知识存储的方法。于是本文就提出了一种轻量的方法 PELT,能够非常简单有效的达到引入实体知识的效果。

论文标题
A Simple but Effective Pluggable Entity Lookup Table for Pre-trained Language Models

论文链接
https://arxiv.org/pdf/2202.13392.pdf

代码链接
https://github.com/thunlp/PELT

方法

本文方法的核心在于如何获取一个好的实体嵌入(entity embedding),使得这个中包含该实体必要的相关知识。获得实体嵌入后,在下游任务使用预训练模型时,只需要在输入中该实体出现的位置加入其相应的 embedding,即可达到引入相关知识的效果。

接下来我们逐步看一下,本文的方法是如何构造实体嵌入的,以及如何在使用预训练模型时加入实体嵌入。最后,简单从理论角度分析一下本文方法的合理性。

构建实体嵌入

假定我们需要在某个下游任务使用某个预训练语言模型,而该下游任务中可能会出现一些其所在领域所特有的实体。我们当前的目标就是:为这些实体构建一个高质量的实体嵌入。

▲PELT 构建实体嵌入信息的过程

本文获取实体嵌入的方法非常简单。上图以实体 COVID-19 为例,说明了构建其嵌入 的过程:

  1. 找到语料库中 所有出现 COVID-19 的句子集合 (这个语料库是 domain-specific 的)
  2. 把这些句子中出现 COVID-19 的位置 MASK 掉。
  3. 保留预训练语言模型把 MASK 位置对应的 output 表示向量,记为 ( )
  4. 最后得到 实体嵌入表示如下:

其中, 是一个常数。原文中说,这个常数 具体取什么值对于结果影响不大(“has little effect on the input feature of the encoder in use”)。

实际操作时,作者将所有实体嵌入的长度都设置为 ,即 。然后在实验中,尝试了多个 的值( =1,2,..,10),看哪一个在下游任务上效果好就用哪个。

在预训练模型中融入实体知识

接下来的问题就是,在得到实体嵌入后,在预训练模型做下游任务时使用它。方法也非常简单。

加入某个样本输入中出现了实体。还是假设该实体为 COVID-19,然后原始输入样本为:

Most people with COVID-19 have a dry...

在本文所提出的方法中,我们只需要在那个实体后面加个括号,括号中重复一遍该实体

Most people with COVID-19COVID-19) have a dry...

在映射到 embedding layer 的时候,不在括号里的实体COVID-19采用普通的词嵌入处理方式(切成 subword,然后映射到预训练模型所学的 word embedding);而括号中的实体 COVID-19映射为相应的实体嵌入

方法合理性的理论支持

原文有从理论分析的角度解释所提出方法的合理性。整个证明过程也比较简单,可以一看(不过我其实还没太想清楚这个证明过程是否足够完善...)。

假设我们把某个实体 加入了预训练模型的原有词表 中。如果我们用预训练任务 MLM 来学习它的实体嵌入 ,它的损失函数如下所示:

其中, 是语料库中所有出现该实体的句子, 为实体被 MASK 后对应位置的输出表示向量。这个公式可以进一步展开,变为:

其中,

然后我们分析一下减号前后的两项。前一项中的 是对 项求和,所以实体嵌入 的变化对前一项的值影响很小,可以将这一项视作一个常数。因此,如果要让损失 尽可能小,我们只需要让后一项为一个尽量大的正数就行了。于是我们可以将 设置为:

其中, 是一个常数。这样就能使得后一项始终是一个正数。至于 ,具体取什么值,原文里的说法是:由于输入给 Transformer 编码器时会过一层 layer normalization,所以| |的长度变化影响不大。所以作者就直接把| |当做超参数来处理了。

实验

实验中,PELT 的提升效果也是比较显著的。这里我们简单展示一组实验:

比较表格最后两行可以看到,在 RoBERTa 上采用了本文方法后,获得了非常明显的提升。另外,和第一行的 ERNIE 相比,在一个数据集上效果相当,在另一个数据集上本文方法明显占优。值得注意的是,ERNIE 在模型使用时是引入外部知识图谱的,而本文方法没有。

小结

本文提出了一种非常简单有效的方法,使得预训练模型中融入实体知识。并且,相关代码已经开源,大家不妨一试。

萌屋作者:小轶

是小轶,不是小秩!更不要叫小铁!高冷的形象是需要大家共同维护的!作为成熟的大人,正在勤俭节约、兢兢业业,为成为一名合格的(但是仍然发量充足的)PhD而努力着。日常沉迷对话系统。说不定,正在和你对话的,并不是不是真正的小轶哦(!?)

“高冷?那是站在冰箱顶端的意思啦。”  ——白鹡鸰

作品推荐:

  1. 写了一篇关于 NLP 综述的综述!

  2. 全球44家机构,55位大佬,历时两年,打造最强NLG评测基准!

  3. 谷歌重磅:可以优化自己的优化器!手动调参或将成为历史!?

  4. ACL20 Best Paper揭晓!NLP模型评价体系或将迎来重大转折

后台回复关键词【入群

加入卖萌屋NLP、CV与搜推广与求职讨论群

后台回复关键词【顶会

获取ACL、CIKM等各大顶会论文集!


登录查看更多
1

相关内容

实体(entity)是有可区别性且独立存在的某种事物,但它不需要是物质上的存在。尤其是抽象和法律拟制也通常被视为实体。实体可被看成是一包含有子集的集合。在哲学里,这种集合被称为客体。实体可被使用来指涉某个可能是人、动物、植物或真菌等不会思考的生命、无生命物体或信念等的事物。在这一方面,实体可以被视为一全包的词语。有时,实体被当做本质的广义,不论即指的是否为物质上的存在,如时常会指涉到的无物质形式的实体-语言。更有甚者,实体有时亦指存在或本质本身。在法律上,实体是指能具有权利和义务的事物。这通常是指法人,但也包括自然人。
ACL2022 | 基于强化学习的实体对齐
专知会员服务
34+阅读 · 2022年3月15日
基于预训练语言模型的文本生成
专知会员服务
28+阅读 · 2022年1月28日
基于大型预训练语言模型的自然语言处理研究进展综述
专知会员服务
94+阅读 · 2021年11月4日
专知会员服务
6+阅读 · 2021年8月7日
【AAAI2021】知识图谱增强的预训练模型的生成式常识推理
小米在预训练模型的探索与优化
专知会员服务
18+阅读 · 2020年12月31日
【Contextual Embedding】什么时候上下文嵌入值得使用?
专知会员服务
15+阅读 · 2020年8月2日
Child-Tuning:简单有效的微调涨点方法
夕小瑶的卖萌屋
1+阅读 · 2021年11月5日
AAAI 2020论文解读:关注实体以更好地理解文本
AI科技评论
17+阅读 · 2019年11月20日
ACL 2019开源论文 | 基于Attention的知识图谱关系预测
论文浅尝 | 利用 KG Embedding 进行问题回答
开放知识图谱
22+阅读 · 2019年7月7日
论文浅尝 | 基于属性嵌入的知识图谱间实体对齐方法
开放知识图谱
30+阅读 · 2019年3月26日
NLP预训练模型大集合!
机器之心
21+阅读 · 2018年12月28日
综述 | 知识图谱向量化表示
开放知识图谱
33+阅读 · 2017年10月26日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
8+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
5+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
Arxiv
101+阅读 · 2020年3月4日
Arxiv
15+阅读 · 2020年2月5日
Domain Representation for Knowledge Graph Embedding
Arxiv
14+阅读 · 2019年9月11日
VIP会员
相关VIP内容
ACL2022 | 基于强化学习的实体对齐
专知会员服务
34+阅读 · 2022年3月15日
基于预训练语言模型的文本生成
专知会员服务
28+阅读 · 2022年1月28日
基于大型预训练语言模型的自然语言处理研究进展综述
专知会员服务
94+阅读 · 2021年11月4日
专知会员服务
6+阅读 · 2021年8月7日
【AAAI2021】知识图谱增强的预训练模型的生成式常识推理
小米在预训练模型的探索与优化
专知会员服务
18+阅读 · 2020年12月31日
【Contextual Embedding】什么时候上下文嵌入值得使用?
专知会员服务
15+阅读 · 2020年8月2日
相关资讯
Child-Tuning:简单有效的微调涨点方法
夕小瑶的卖萌屋
1+阅读 · 2021年11月5日
AAAI 2020论文解读:关注实体以更好地理解文本
AI科技评论
17+阅读 · 2019年11月20日
ACL 2019开源论文 | 基于Attention的知识图谱关系预测
论文浅尝 | 利用 KG Embedding 进行问题回答
开放知识图谱
22+阅读 · 2019年7月7日
论文浅尝 | 基于属性嵌入的知识图谱间实体对齐方法
开放知识图谱
30+阅读 · 2019年3月26日
NLP预训练模型大集合!
机器之心
21+阅读 · 2018年12月28日
综述 | 知识图谱向量化表示
开放知识图谱
33+阅读 · 2017年10月26日
相关基金
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
8+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
5+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
Top
微信扫码咨询专知VIP会员