0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

知识图谱与BERT相结合助力语言模型

深度学习自然语言处理 来源:朴素人工智能 作者:朴素人工智能 2021-05-19 15:47 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

感谢清华大学自然语言处理实验室对预训练语言模型架构的梳理,我们将沿此脉络前行,探索预训练语言模型的前沿技术,红框中为已介绍的文章,绿框中为本期介绍的模型,欢迎大家留言讨论交流。

在之前的一期推送中,我们给大家介绍过百度的ERNIE。其实清华大学NLP实验室,比百度更早一点,也发表了名为ERNIE的模型,即Enhanced Language Representation with Informative Entities。

他们认为现存的预训练语言模型很少会考虑与知识图谱(Knowledge Graph: KG)相结合,但其实知识图谱可以提供非常丰富的结构化知识和常识以供更好的语言理解。他们觉得这其实是很有意义的,可以通过外部的知识来强化语言模型的表示能力。在这篇文章中,他们使用大规模语料的语言模型预训练与知识图谱相结合,更好地利用语义,句法,知识等各方面的信息,推出了Enhanced language representation model(ERNIE),在许多知识驱动的任务上获得了巨大提升,而且更适用于广泛通用的NLP任务。

作者提出,要将知识嵌入到自然语言模型表达中去,有两个关键的挑战:

知识的结构化编码

对于一个给定的文本,如何从知识图谱中,高效地将和文本相关的常识或知识抽取出来并编码是一个重要问题。

异构信息融合

语言模型表示的形式和知识图谱的表达形式是大不相同的,是两个独立的向量空间。怎么样去设计一个独特的训练任务来将,语义,句法,知识等信息融合起来是另一个挑战。

针对这些挑战, 清华NLP实验室提出方案是 Enhanced Language RepresentatioN with Informative Entities (ERNIE)

首先,通过识别文本中的命名实体,然后将其链指到知识图谱中的相应实体上,进行知识的抽取和编码。相比于直接使用知识图谱中基于图结构的信息,作者通过TranE这样的知识嵌入算法,对知识图谱的图结构实体进行编码,然后将这富有信息的实体表示作为ERNIE的输入,这样就可以把知识模块中的实体的信息表示,引入到模型下层的语义表示中去。

其次,和BERT类似,采用了MLM和NSP的预训练目标。除此以外,为了更好地融合文本信息和知识信息,设计了一个新的预训练目标,通过随机地mask一些命名实体,同时要求模型去知识图谱中寻找合适的实体,来填充被mask掉的部分。这个训练目标这样做就可以要求语言模型,同时利用文本信息和知识图谱来对token-entity进行预测,从而成为一个富有知识的语言表达模型。

本文在两个知识驱动的NLP任务entity typing 和 relation classification进行了实验,ENRIE在这两个任务上的效果大幅超越BERT,因为其充分利用了语义,句法和知识信息。在其他的NLP任务上,ENRIE的效果也很不错。

定义

首先,定义我们的文本token序列为{w1, 。 . 。 , wn},n为token序列的长度。同时,输入的token可以在KG中对应entity。所对应entity的序列为{e1, 。 . 。 , em}, m是序列中entity的数量。因为不一定每一个token都对应得到KG中的一个entity,所以在大多数情况下m不等于n。所有token的集合也就是字典为V,在KG中所有entity的列表为E。如果,某个在V中的token w ∈ V 在KG中有对应的entity e ∈ E。那么这个对应关系定义为f(w) = e

我们可以看下方的模型结构图,大概包括两个模块。

b13d376e-b4a6-11eb-bf61-12bb97331649.png

下层的文本编码器(T-Encoder),负责捕捉基本的词法和句法的信息,其与BERT的encoder实现是相同的,都是多层的Transformer,层数为N。

上方的知识编码器(K-Encoder),负责将跟entity相关的知识信息融入到下方层传来的文本编码信息中,两者可以在统一的特征空间中去表示。T-Encoder的输出是{w1, 。 . 。 , wn},实体输入通过TranE得到的知识嵌入为{e1, 。 . 。 , em}。两者通过K-Encoder计算出对应的特征以实现特定任务。

b1c9e830-b4a6-11eb-bf61-12bb97331649.png

K-Encoder的结构和BERT略微不同,包含M个stacked aggregators。首先对token的输出和entity的embedding通过两个多头自注意力进行self attention。

b1f1848a-b4a6-11eb-bf61-12bb97331649.png

接着,通过以下的式子进行两者的结合。Wt和We分别是token和Embedding的attention权重矩阵。

b220d94c-b4a6-11eb-bf61-12bb97331649.png

Pre-training for Injecting Knowledge

除了结构的改变以外,文章提出了特殊的预训练语言模型训练目标。通过随机地mask一些entity然后要求模型通过知识图谱中实体来进行选择预测,起名为denoising entity auto-encoder(dEA)。由于知识图谱中entity的数量规模相对softmax层太大了,会首先在KG中进行筛选找到相关的entity。有时候token和entity可能没有正确的对应,就需要采取一些措施。

5%的情况下,会将token对应的entity替换成一个随机的entity,这是让模型能够在align错的时候,能够纠正过来。

15%的情况下,会将entity mask掉,纠正没有把所有存在的entity抽取出来和entity进行对应的问题。

其余的情况下,保持token-entity alignments 不变,来将entity的表示融合进token的表示,以获得更好的语言理解能力。

Fine-tuning for Specific Tasks

b264de94-b4a6-11eb-bf61-12bb97331649.png

对于大量普通的NLP任务来说,ERNIE可以采取和BERT相似的finetune策略,将[CLS]的输出作为输入文本序列的表示。对于一些知识驱动的任务,我们设计了特殊的finetune流程。

对于关系分类任务,任务要求模型根据上下文,对给定的entity对的关系进行分类。本文设计了特殊的方法,通过加入两种mark token来高亮实体。[HD] 表示head entity, [TL]表示tail entity。

对于实体类别分类任务,finetune的方式是关系分类的简化版,通过[ENT]标示出entity的位置,指引模型同时结合上下文和实体的信息来进行判断。

模型细节

从头开始训ENRIE的代价太大了,所以模型用了BERT的参数初始化。利用英文WIKI作为语料,和WiKidata进行对应,语料中包含大约4500M个subwords,和140M个entities,将句中小于三个实体的样本丢弃。通过TranE算法在WiKidata上训练entity的embedding。使用了部分WiKidata,其中包含5040986个实体和24267796个三元组。

模型尺度上来说,T-encoder的层数N为6,K-encoder层数M为6。隐藏层维度两个网络分别Hw = 768, He = 100。Attention的头数分别 Aw = 12, Ae = 4。总参数量大约114M。

ERNIE仅在语料上训练了一轮,最大文本长度由于速度原因设为256,batch-size为512。除了学习率为5e-5,其他参数和BERT几乎一样。

实验效果

直接放图吧,比当时的state-of-the-art :BERT在很多任务上都提升了不少。

b2cdb2de-b4a6-11eb-bf61-12bb97331649.png

b2fc8046-b4a6-11eb-bf61-12bb97331649.png

这里作者认识到,有了知识图谱的介入,可以用更少的数据达到更好的效果。

b396f4e6-b4a6-11eb-bf61-12bb97331649.png

结论

在文中提出了一种方法名为ERNIE,来将知识的信息融入到语言表达的模型中。具体地,提出了knowledgeable aggregator 和预训练任务dEA来更好地结合文本和知识图谱两个异构的信息源。实验表明,ENRIE能更好地在有限的数据上进行训练和泛化。

未来还有几个重要的方向值得研究

将知识嵌入到基于特征的预训练语言模型如ELMo。

引入更多不同的结构化知识进入到语言表达模型中去,比如ConceptNet,这和WiKidata是完全不同的方式。

进行真实世界更广泛的语料收集,可以进行更通用和有效的预训练

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编码器
    +关注

    关注

    45

    文章

    4028

    浏览量

    143791
  • 自然语言
    +关注

    关注

    1

    文章

    293

    浏览量

    14049
  • nlp
    nlp
    +关注

    关注

    1

    文章

    491

    浏览量

    23387
  • 知识图谱
    +关注

    关注

    2

    文章

    132

    浏览量

    8377

原文标题:ENRIE:知识图谱与BERT相结合,为语言模型赋能助力

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    模型优化压缩空气储能系统软件平台解决方案

    +智能运维 构建设备、故障、运维经验全生命周期知识图谱结合LLM实现自然语言交互、故障诊断与维修决策。非计划停机减少40%+,运维成本降低25%。 三、典型应用场景 系统设计与参数优化:大
    发表于 05-29 14:17

    模型赋能制造业:AISOP 如何实现 SOP 全流程智能化生成与落地

    理解能力,构建企业专属工艺知识图谱,实现 “参数 - 质量特性(CTQ)” 精准映射,将分散的数据转化为可复用的结构化知识资产。例如,自动关联某型号元器件的 ESD 防护等级与对应的操作规范,形成动态更新
    发表于 05-22 17:12

    《多模态大模型 前沿算法与实战应用 第一季》精品课程简介

    为512维向量。 语言模态 :BERT、GPT等预训练模型将文本转换为上下文相关的词嵌入。例如\"苹果\"在\"水果\"语境和\"科技公司\"
    发表于 05-01 17:46

    可以将恩智浦PEX硬件与VDI环境相结合吗?

    安全隔离设备的任何最佳做法。 到目前为止,我已经尝试将一些设备固定到专用的 PCIe 通道并进行基本的 GPU 直通测试,但结果好坏参半。在我深入探讨之前,我想问一下: 这里有人将恩智浦PEX硬件与VDI环境相结合吗?如果是,您遇到了哪些问题,什么最适合您?
    发表于 04-22 06:41

    AI大模型微调企业项目实战课

    实战通常遵循严密的“三步走”战略: 第一步:数据炼金——高质量SFT数据的构建 在微调领域,“垃圾进,垃圾出”是铁律。实战课的核心首先是教企业如何“洗数据”。这包括从内部ERP、OA系统、知识图谱中提
    发表于 04-16 18:48

    实力认证!行云创新入围《AI 中国生态图谱 2025》大模型开放平台板块

    了中国 AI 产业全链路生态布局,是洞察国内 AI 技术发展与产业落地的核心行业风向标。行云创新凭借在 AI 领域深厚的技术积淀、全栈产品能力及丰富的行业落地经验,成功 入围图谱第三层模型层・大模型开放平台板块 。 成立于 20
    的头像 发表于 03-04 14:25 466次阅读
    实力认证!行云创新入围《AI 中国生态<b class='flag-5'>图谱</b> 2025》大<b class='flag-5'>模型</b>开放平台板块

    什么是大模型,智能体...?大模型100问,快速全面了解!

    ,LLM)是大模型中最主要的一类,专门用于处理和生成人类语言。大语言模型通过“阅读”海量的文本数据(如书籍、网页、文章等)进行预训练,学会语言
    的头像 发表于 02-02 16:36 1217次阅读
    什么是大<b class='flag-5'>模型</b>,智能体...?大<b class='flag-5'>模型</b>100问,快速全面了解!

    润和软件入选大模型一体机产业图谱

    近日,由中国人工智能产业发展联盟与中国信息通信研究院联合编制的《大模型一体机产业图谱》正式发布。该图谱系统梳理并收录了国内大模型一体机产业链上下游70余家代表性企业,全面呈现我国大
    的头像 发表于 12-10 17:56 1811次阅读
    润和软件入选大<b class='flag-5'>模型</b>一体机产业<b class='flag-5'>图谱</b>

    智能装配如何与AR技术相结合

    的兴起,为装配流程带来了新的解决思路和应用场景。将AR与智能装配相结合,正逐步成为制造业数字化转型的重要方向。  一、AR技术赋能装配的价值  AR技术通过虚拟信息与真实环境的叠加,将复杂的装配指令、零部件数据和工艺要求
    的头像 发表于 12-03 16:15 870次阅读

    一文了解Mojo编程语言

    Mojo 是一种由 Modular AI 公司开发的编程语言,旨在将 Python 的易用性与 C 语言的高性能相结合,特别适合人工智能(AI)、高性能计算(HPC)和系统级编程场景。以下是关于
    发表于 11-07 05:59

    NVIDIA ACE现已支持开源Qwen3-8B小语言模型

    助力打造实时、动态的 NPC 游戏角色,NVIDIA ACE 现已支持开源 Qwen3-8B 小语言模型(SLM),可实现 PC 游戏中的本地部署。
    的头像 发表于 10-29 16:59 1526次阅读

    知识分享 | 使用MXAM进行AUTOSAR模型的静态分析:Embedded Coder与TargetLink模型

    知识分享在知识分享栏目中,我们会定期与读者分享来自MES模赛思的基于模型的软件开发相关Know-How干货,关注公众号,随时掌握基于模型的软件设计的技术
    的头像 发表于 08-27 10:04 955次阅读
    <b class='flag-5'>知识</b>分享 | 使用MXAM进行AUTOSAR<b class='flag-5'>模型</b>的静态分析:Embedded Coder与TargetLink<b class='flag-5'>模型</b>

    【「DeepSeek 核心技术揭秘」阅读体验】书籍介绍+第一章读后心得

    署的DeepSeek-R1-Distill-Qwen-7B。 DeepSeek能力图谱 DeepSeek从多维度展现其能力: IT 技术及编程能力 :覆盖技术知识问答、代码理解、补全、注释、纠错,助力编程场景*
    发表于 07-17 11:59

    家电电路识图自学手册

    家电电路识图自学手册
    发表于 07-11 15:49 16次下载