拓展认知边界:如何给大语言模型添加额外的知识

news2024/11/26 16:29:34

Integrating Knowledge in Language Models

P.s.这篇文章大部分内容来自Stanford CS224N这门课Integrating Knowledge in Language Models这一节😁

为什么需要给语言模型添加额外的知识

1.语言模型会输出看似make sense但实际上不符合事实的内容

语言模型在生成预测时通常会产生有意义的结果,例如正确的类型或语义,但并不都是事实上的正确答案。说明语言模型能够从其训练数据中学习到一些常见的知识和模式,但实际上并不能保证所有生成的答案都是在事实上准确的。
在这里插入图片描述

那么为什么可能出现这种情况呢,这是一些可能的原因:

  • 未见过的事实:一些事实可能根本没有出现在训练语料库中,因此语言模型无法学习到这些特定的知识。

  • 稀有事实:语言模型在训练过程中可能没有看到足够的示例来记忆这些罕见的事实。

  • 模型敏感性:语言模型可能在训练过程中看到了某个事实,但对于问题的表述方式非常敏感。这意味着在不同的提问方式下,语言模型可能会给出不同的答案,导致在某些情况下无法正确回答问题。

  • 对于“x是在y中制造的”模板问题能够正确回答,但对于“x是在y中创造的”问题则不能正确回答。

2.具备知识感知的语言模型(Knowledge-Aware Language Models)的重要性和难点

预训练语言模型的表示可以为利用知识的下游任务带来好处。比如说在提取句子中两个实体之间的关系时,如果语言模型具备对这些实体的一些知识,那么这个任务会更容易完成。

但是要训练一个这样具备知识库属性的语言模型存在这样两个难点:

  • 语言模型产生答案的原因往往难以解释。由于语言模型是通过大量无监督训练学习得到的,其内部运作方式并非直接可见。因此,当语言模型提供一个答案时,很难确定模型是如何得出这个答案的,缺乏解释性可能会限制其在一些关键领域的应用。

  • 在语言模型中删除或更新知识并不容易。传统的知识库可以通过增加、删除或更新实体和关系来进行维护。然而,对于语言模型而言,要修改其内部的知识表示是比较困难的。这意味着语言模型在知识更新方面可能难以跟上实时的知识变化。

如何为语言模型添加额外的知识

大体上可以分为三类方法:增加预训练的实体嵌入,使用外部知识存储器以及直接修改训练的数据
在这里插入图片描述
以下是每一类的解释和一些例子

1)增加预训练的实体嵌入:

方法

为了提升大型语言模型的知识表示能力,一种方法是通过添加预训练实体嵌入来处理实体相关的信息。在自然语言处理中,实体通常指代具体的人、地点、组织或物体,例如,“华盛顿是美国的第一任总统”,而这些实体之间的关系对于理解和生成自然语言文本至关重要。

传统的预训练词嵌入模型,如Word2Vec和GloVe,通常没有明确的实体概念。它们仅对单个词进行建模,而无法捕捉到实体之间的语义关联。

为了解决这个问题,一种解决方案是为每个实体分配一个独立的嵌入。通过为每个实体分配特定的嵌入向量,语言模型可以更好地表示和理解不同实体之间的关系。例如,对于指代同一个实体的词语,如“U.S.A.”、“United States of America”和“America”,可以使用相同的实体嵌入,这样可以确保一致性和准确性。
在这里插入图片描述
然而,要使实体嵌入的添加对语言模型产生积极影响,需要进行准确且可靠的实体链接。就是将文本中的实体与预定义的实体进行匹配。一旦实体链接完成,语言模型就可以利用实体嵌入来更好地理解和处理实体相关的信息。

相关工作:ERNIE和 “Jointly learn to link entities with KnowBERT”

1.ERNIE
ERNIE旨在通过引入实体知识来增强语言表示能力,并改进模型对实体相关信息的理解。它使用了两个关键技术:实体识别和实体链接。
在这里插入图片描述

  • 在实体识别阶段,ERNIE使用实体识别技术来标注文本中的实体提及。实体识别是指识别文本中表示具体人、地点、组织或物体的实体名词短语。例如,在句子"华盛顿是美国的第一任总统"中,"华盛顿"就是一个人物实体。通过实体识别,ERNIE能够确定哪些词语是实体提及,并对它们进行标注。

  • 在实体链接阶段,ERNIE使用实体链接技术将标注的实体提及链接到预定义的实体库中的相应实体。实体链接是将文本中的实体提及与实体库中的相关实体进行匹配的过程。例如,将"华盛顿"链接到"George Washington"的实体。

ERNIE模型在预训练阶段同时学习实体嵌入和上下文嵌入,以更好地捕捉实体之间的关系和语义信息。实体嵌入是指为每个实体分配的向量表示,它能够捕捉实体的语义特征。上下文嵌入是指模型从文本上下文中学习的词语表示。通过同时学习这两种嵌入,ERNIE能够将实体的语义信息与上下文信息结合起来,提高对实体相关信息的表示能力。

2. KnowBERT+实体链接
相对的,"Jointly learn to link entities with KnowBERT"提出了一种联合学习的框架,将实体链接任务与预训练模型的训练相结合。这项工作使用了一个名为KnowBERT的模型。
在这里插入图片描述
在训练过程中,KnowBERT通过联合学习实体链接任务和语言模型任务来提升实体链接的性能。具体而言,它在预训练过程中通过多任务学习将实体链接任务与语言模型任务相结合。语言模型任务是通过上下文预测缺失词语,以提高模型对上下文信息的理解能力。同时,实体链接任务要求模型预测实体提及的链接实体。通过联合训练,KnowBERT能够在预训练阶段学习到更强的实体链接能力。

2) 加上外部知识库

方法

先前的方法依赖于预训练的实体嵌入来为语言模型编码知识库中的事实知识。这些实体嵌入是通过对大规模文本语料进行训练得到的,但在某些情况下,预训练的实体嵌入可能还是无法捕捉到特定领域或特定上下文的细节。因此,我们需要更直接的方式来向模型提供事实知识。

一种解决方法是通过为模型提供对外部内存的访问,这个外部内存可以是一个键值存储系统,其中存储了知识图谱的三元组或其他上下文信息。模型可以通过查询这个外部内存来获取特定的事实知识,并将其应用于生成文本或回答问题的过程中。
在这里插入图片描述

使用外部内存具有以下这些优势:

  1. 更好地支持注入和更新事实知识:通过访问外部内存,模型可以直接获取和更新知识库中的事实信息。例如,如果有新的知识需要添加到知识库中,可以通过向外部内存添加新的键值对来实现。这种方式使得模型能够灵活地获取和更新知识,而无需重新训练整个模型。

  2. 具备更好的可解释性:通过访问外部内存,模型的知识获取和使用过程更加透明和可解释。模型可以直接查询外部内存中的键值对,从而使研究者能够更好地理解模型的推理和决策过程。

相关工作: KGLM和kNN-LM

1.KGLM
KGLM采用了一种创新性的的方法将知识图谱集成到语言模型中:

  • 知识图谱表示:KGLM使用预先存在的知识图谱,其中包含实体、关系和属性之间的关联信息。知识图谱通常以三元组的形式表示,如(subject, relation, object)。对于每个实体和关系,KGLM利用嵌入技术将其表示为高维向量。
    在这里插入图片描述

  • 输入扩展:在生成过程中,KGLM将输入序列与知识图谱进行对齐。它使用实体链接技术将输入文本中的单词或短语与知识图谱中的相应实体进行匹配。如图,如果输入文本中提到"Super Mario Land",它可以链接到知识图谱中的"Nintendo"实体。
    在这里插入图片描述

  • 知识图谱嵌入:通过将知识图谱中的实体和关系嵌入到输入序列中,KGLM扩展了输入的表示。这样,模型可以同时利用输入文本和知识图谱的信息来生成回复。嵌入的表示可以是通过简单的拼接或更复杂的方式融合到输入序列中。
    在这里插入图片描述

2.kNN-LM
kNN-LM旨在通过利用大规模文本数据集中的最近邻来改进语言模型。
在这里插入图片描述

  • 文本表示索引:kNN-LM使用大规模文本数据集构建一个索引,用于存储短语或句子的表示。

  • 最近邻检索:在生成回复时,kNN-LM从给定的上下文中检索最近邻的k个短语或句子。这些最近邻被视为候选回复。检索过程使用索引来计算输入上下文与索引中存储的短语或句子之间的相似度。

  • 回复选择和调整:从最近邻的候选回复中,kNN-LM选择最相似、句法兼容性较高且多样性较大的回复。然后模型可以根据需要对选定的回复进行调整,以更好地适应给定上下文。

3)调整训练的数据:

方法

第三种方法是通过修改训练数据来将知识融入到模型中。传统方法通常通过预训练的嵌入或外部存储器显式地引入知识。那是否可以通过非结构化文本隐式地融入知识呢?实际上,我们可以通过对数据进行掩盖或损坏的方式,引入需要事实知识的额外训练任务。

这种方法的优势:

  • 不需要额外的内存或计算资源,也不需要对模型的架构进行修改。通过简单地改变训练数据,可以引入额外的任务,要求模型具备对事实知识的理解和处理能力。例如,可以通过掩盖文本中的某些单词或短语,要求模型根据上下文填充缺失的信息。这样,模型在训练过程中会学习到识别和推理事实的能力。

  • 可以隐式地利用知识,而无需显式的知识表示或查询。在训练数据中引入需要事实知识的任务,模型会自动学习到与之相关的特征和表示。

相关工作:WKLM和ERNIE

1.WKLM:Weakly Supervised Knowledge Pretrained Language Model

这个模型的关键思想是训练模型区分真实的知识和错误的知识。为了实现这个目标,模型在文本中替换提及的实体,将其替换为同一类型的不同实体,从而创建负面的知识陈述。模型需要预测实体是否被替换了。这种替换操作是为了引入错误的知识,用于训练模型识别和区分正确和错误的知识。
在这里插入图片描述

具体来说,对于一个真实的知识陈述,比如"J.K.罗琳是《哈利·波特》的作者",将其中的实体替换为同类型的不同实体,比如"J.R.R.托尔金是《哈利·波特》的作者",就得到了一个负面的知识陈述。模型需要学会判断哪些实体是被替换了,从而区分真实和错误的知识。

2.ERNIE: Enhanced Representation through Knowledge Integration

ERNIE的核心思想是将外部知识与模型的表示空间进行融合。模型首先在大规模的文本语料上进行预训练,学习到一种通用的语言表示。然后,为了引入外部知识,模型使用了一个预训练的百科全书。这个百科全书中包含了丰富的知识,如实体关系、常识知识等。模型通过联合训练预训练语言模型和百科全书,使得模型的表示能力更好地涵盖了外部知识。
在这里插入图片描述

在训练过程中,ERNIE1采用了一种特殊的任务设计,即知识遮蔽 (Knowledge Masking)。这个任务要求模型在遮蔽了部分文本中的知识信息后,能够根据上下文来预测被遮蔽的知识。通过这个任务,模型被迫学习从文本中抽取并利用知识,从而提高了模型对知识的理解和应用能力。

此外,ERNIE1还使用了一种自适应层归一化 (Adaptive Layer Normalization) 的技术来进一步优化模型的性能。这种归一化方法可以根据输入样本的特征动态地调整参数,从而更好地适应不同样本之间的差异。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1188542.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

抓包工具fiddler的基础知识详解

一、简介 fiddler是位于客户端和服务端之间的http代理 1、作用 监控浏览器所有的http/https流量查看、分析请求内容细节伪造客户端请求和服务器请求测试网站的性能解密https的web会话全局、局部断电功能第三方插件 2、使用场景 接口调试、接口测试、线上环境调试、web性能分…

Git的简介以及基本使用

目录 一.Git的简介 拓展:Git与SVN的区别(各自的优点与缺点) 二.Git文件的4种状态 三.Git的常用命令 搭建完成之后,将项目文件也上传之后,现在模拟其他人来下载这个代码 今天就分享到这啦!!…

XX公司数字化项目管理办法

XX公司数字化项目管理办法 Ver2.0 第一章 总则 为规范XX公司项目从立项到结项的过程管理,明确各阶段建设主要工作及交付标准,提升数字化项目总体交付质量,特制定本管理制度。 本制度适用于数字化项目范围内咨询服务类、软硬件实施类项目。…

Power Apps-组件属性

图片组件兼容性 可以选择右侧属性面板中的图像位置,更改为匹配度,兼容性更好 按钮点击事件 Navigate(屏幕名)//跳转到某个页面 Back()//返回上一个页面

GZ038 物联网应用开发赛题第1套

2023年全国职业院校技能大赛 高职组 物联网应用开发 任 务 书 (第1套卷) 工位号:______________ 第一部分 竞赛须知 一、竞赛要求 1、正确使用工具,操作安全规范; 2、竞赛过程中如有异议,可向现场考评人员反映,不得扰乱赛场秩序; 3、遵守赛场纪律,尊重考评人员…

4.Swin Transformer目标检测——训练数据集

1.centos7 安装显卡驱动、cuda、cudnn-CSDN博客 2.安装conda python库-CSDN博客 3.Cenots Swin-Transformer-Object-Detection环境配置-CSDN博客 步骤1:准备待训练的coco数据集 下载地址:https://download.csdn.net/download/malingyu/88519420 htt…

基于GoogleNet深度学习网络的花朵类型识别matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1. GoogleNet网络结构 4.2. 基于GoogleNet的花朵类型识别 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 .............................…

PostgreSql中解析JSON字段和解析TEXT中的JSON字段

初始化操作 创建表 CREATE TABLE orders ( "ID" int8 NOT NULL,"info_j" json NOT NULL,"info_t" text NOT NULL );初始化表 INSERT INTO orders("ID", "info_j","info_t") VALUES (1, {"name":&qu…

基于公共业务提取的架构演进——外部依赖防腐篇

背景 有了前两篇的帐号权限提取和功能设置提取的架构演进后,有一个问题就紧接着诞生了,对于诸多业务方来说,关键数据源的迁移如何在各个产品落地? 要知道这些数据都很关键: - 对于帐号,获取不到帐号信息是…

番外篇:Linux中好玩的指令(Ubuntu环境)

前言 我知道,Linux的学习总是枯燥乏味的,今天给大家带来一些好玩的指令,供大家娱乐开心,整理不易,希望大家能够多多支持一下。 1. lolcat指令 输入以下命令即可安装lolcat: sudo apt-get install lolcat 安…

sql注入学习笔记

sql注入原理 掌握sql注入漏洞的原理掌握sql注入漏洞的分类 万能用户名 777 or 11 #原句 select userid from cms_users where username ".$username." and password".md5 ( $password ) ."输入过后为 select userid from cms_users where username …

8-1、T型加减速控制【51单片机控制步进电机-TB6600系列】

摘要:本节介绍步进电机T型加减速的控制方法,本小节主要内容为该控制方法的推导与计算。目前各平台对该控制方法介绍的文章目前较多,但部分关键参数并未给出推导过程,例如误差系数0.676的推导等,本节在现有文章框架下&a…

【算法练习Day43】最佳买卖股票时机含冷冻期买卖股票的最佳时机含手续费

​📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:练题 🎯长路漫漫浩浩,万事皆有期待 文章目录 最佳买卖股票时机含冷冻期买…

银行转账截图p图制作,电子回执单,建设的,用易语言开发的,分享源码

闲着很无聊,刚好网上找到了一个默认,当然这个模版图我加了水印,只能是娱乐用,做不了啥坏事哈,然后软件是用易语言开发的,一个画板一些标签编辑框快照生成功能实现了这个软件,下面看下我的界面。…

软件安全测试怎么做?如何确保软件授权安全

在数字化不断演进的今天,软件安全测试变得至关重要。它验证了软件是否容易受到网络攻击,并检验恶意或意外输入对操作的影响。安全测试的目标是保障系统和信息的安全性和可靠性,确保它们不接受未授权的输入。 一、安全测试准备 开发者必须认识…

报名开启丨2023 SpeechHome 语音技术研讨会

2023 SpeechHome 语音技术研讨会将于11月18日—11月19日,在北京举办,同时举行开源语音技术交流会和第八届Kaldi技术交流会。 欢迎大家报名参加(报名链接在文末)! 本届研讨会覆盖5大主题,包括语音前沿技术…

Hadoop 视频分析系统

视频分析系统 业务流程 原始数据 vedio.json {"rank":1,"title":"《逃出大英博物馆》第二集","dzl":"77.8","bfl":"523.9","zfl":"39000","type":"影视",&quo…

c++ 模拟进制之间的转换

c 模拟进制之间的转换 废话少说&#xff0c;直接上图 效果图 代码 #include<iostream> using namespace std;// 10进制转n进制 n>2 8 16 string _10to_n(int num,int n2){string res "";int yushu;char c;while( num!0 ){yushu num%n;switch (yushu) …

RPA处理重复工作,助力高效资金管理

在瞬息万变的市场竞争中&#xff0c;众多企业开展多元化经营以获取最大的经济效益。然而&#xff0c;企业的多元化经营程度越高&#xff0c;协调活动可能造成的决策延误也越多&#xff0c;其资金管理往往将面临更大的考验。随着新技术的发展&#xff0c;更多具备多元产业的企业…

华为云分布式数据库GaussDB,做金融数字化的坚实数据底座

本篇为大家分享下GaussDB的商业进展以及产品能力升级方面的最新情况。 1. 华为云GaussDB正在从金融覆盖到更多行业 从2019年开始&#xff0c;在华为内部通过持续的锤炼&#xff0c;推出了融合多项技术的自主创新的GaussDB数据库&#xff0c;而且陆续完成了华为公司内部核心系统…