【自然语言处理】【Prompt】语言模型即知识库(Language Models as Knowledge Bases)

本文主要是介绍【自然语言处理】【Prompt】语言模型即知识库(Language Models as Knowledge Bases),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

语言模型即知识库
Language Models as Knowledge Bases

相关博客
【自然语言处理】【可解释性】NKB:用于预训练Transformers的神经知识银行
【自然语言处理】【可解释性】自注意力归因:解释Transformer内部的信息交互
【深度学习】【积分梯度】深度网络的公理归因(Axiomatic Attribution for Deep Networks)
【自然语言处理】【可解释性】Perturbed Masking:分析和解释BERT的无参数探针
【机器学习】【可解释性】LIME
【自然语言处理】【聚类】TELL:可解释神经聚类
【自然语言处理】【Prompt】语言模型即知识库(Language Models as Knowledge Bases)
【自然语言处理】【Prompt】P-tuning

一、简介

​ 预训练语言模型在进行预训练的时候,不但能够学习到语言知识,也能学习到一些世界知识。这些世界知识,可以利用“完形填空”的方式从预训练语言模型中提取出来。后面的各种Prompt也是利用了语言模型作为知识库。相比于结构化的知识库,语言模型知识库具有很多优势:(1) 不需要schema工程(例如关系数据库的设计);(2) 可以查询开发类别;(3) 不需要人类进行监督训练。

​ 论文主要提出了一种称为LAMA的探针,用于探索预训练语言模型中到底包含了多少关系知识?对于不同类型的知识(例如实体、常识、问答等)会有不同吗?与自动构建的知识库相比,基于预训练语言模型的知识库效果怎么样?

​ 实验的最终结论是:

  • BERT-large捕获的知识可以与离线抽取知识库相媲美;
  • 事实知识可以从预训练语言模型中恢复的很好,但是一些关系(特别是N-to-M)的表现特别差;
  • BERT-large在恢复事实和常识知识时会好于其他模型,并且对查询短语更加的鲁棒;
  • BERT-large在开放域问答任务上效果显著,其precision@10达到了57.1%,而通过监督关系抽取系统得到的结构化知识库在precision@10上的准确率也只能达到63.5%;

二、背景知识

1. 单向语言模型

​ 给定一个输入序列 w = [ w 1 , w 2 , … , w N ] \textbf{w}=[w_1,w_2,\dots,w_N] w=[w1,w2,,wN],单向语言模型会将整个输入序列按下面的方式进行分解
p ( w ) = ∏ t p ( w t ∣ w t − 1 , … , w 1 ) p(\textbf{w})=\prod_t p(w_t|w_{t-1},\dots,w_1) p(w)=tp(wtwt1,,w1)
通过神经网络来估计概率
p ( w t ∣ w t − 1 , … , w 1 ) = softmax ( Wh t + b ) p(w_t|w_{t-1},\dots,w_1)=\text{softmax}(\textbf{Wh}_t+\textbf{b}) p(wtwt1,,w1)=softmax(Wht+b)
其中, h t ∈ R k \textbf{h}_t\in\mathbb{R}^k htRk是神经网络在位置 t t t的输出向量, W ∈ R ∣ V ∣ × k \textbf{W}\in\mathbb{R}^{|\mathcal{V}|\times k} WRV×k是一个可学习参数,用于将 h t \textbf{h}_t ht映射为词表 V \mathcal{V} V中每个词的非标准化分数。获得 h t \textbf{h}_t ht的神经网络结构可能有所不同,典型的语言模型为GPT。

2. 双向语言模型

​ 单向语言模型通过上文词语来预测下一个词。但是,一个词的含义是同时由上下文决定的。因此,给定输入序列 w = [ w 1 , w 2 , … , w N ] \textbf{w}=[w_1,w_2,\dots,w_N] w=[w1,w2,,wN]和一个位置 1 ≤ i ≤ N 1\leq i\leq N 1iN,那么双向语言模型期望估计概率
p ( w i ∣ w 1 , … , w i − 1 , w i + 1 , … , w N ) p(w_i|w_1,\dots,w_{i-1},w_{i+1},\dots,w_N) p(wiw1,,wi1,wi+1,,wN)
典型的双向语言模型有ELMo和BERT等。

三、LAMA探针

​ 论文引入的LAMA探针可以用来测试语言模型中的事实和常识知识。该探针本质上提供了一组由事实组成的知识源。这里的事实是指subject-relation-object三元组或者问答对。每个事实都会被转换为“完型填空”形式的陈述句(prompt),然后用来从语言模型中查询目标token。举例来说,给定一个事实(dante, born-in, florence),如果要查询是否包含该知识,可以将其转换为陈述句Dante was born-in ___。

​ 在评估效果时,会根据真实token在候选词表中的位置进行评估,排名越靠前,则认为模型包含越多的知识。

1. 知识源

1.1 Google-RE

​ 语料Google-RE是从wikipedia中人工抽取的、包含60K事实的知识源,其覆盖了5种关系。但LAMA探针仅考虑其中的三种:place of birth、date of birth和place of death。排除另外两种的原因是,在评估中不支持多token对象。对于三元组事实中的每个关系,都会定义一个模板,例如:”[S] was born in [O]“为关系place of birth的模板。

1.2 T-REx

​ 知识源T-REx是wikipedia三元组的子集,其要比Google-RE大得多,且拥有更加广泛的关系集合。LAMA中考虑了41个wikipedia中的关系,并且每种关系采样1000个事实。同Google-RE数据集一样,我们人工为每个关系定义了模板(prompt)。

1.3 ConceptNet

​ ConceptNet是一个多语言知识库,该知识库是从Open Mind Common Sense(OMCS)中的句子构造出来的。LAMA中仅考虑ConceptNet中英语部分的事实,其中有16种关系具有单个token的ojbect。对于任意ConceptNet三元组,可以从OMCS中找到同时包含subject和object的句子。对该句子中的object进行mask,从而构成一个prompt。若三元组对应多个句子,则随机挑选一个。

1.4 SQuAD

​ SQuAD是一个常见的问答数据集,LAMA从SQuAD的开发集中挑选了305个具有单token答案且上下文不敏感的问题。人工从这些问题中创建完型填空风格的问题。例如,将"Who developed the theory of relativity?“重写为"The theory of relativity was developed by ___”。

2. 模型

​ 论文中测试的语言模型有:fairseq-fconv(Fs)、Transformer-XL large(Txl)、ELMo original(Eb)、ELMo 5.5B(E5B)、BERT-base(Bb)和BERT-large(Bl)。

​ 模型的目标是预测特定位置t处的token。对于单向语言模型,使用t-1处网络生成的向量 h t − 1 \textbf{h}_{t-1} ht1进行预测。对于ELMo,则会使用前向的 h t − 1 \textbf{h}_{t-1} ht1和后向的 h t + 1 \textbf{h}_{t+1} ht+1。对于BERT,则遮盖t处的token,然后将 h t \textbf{h}_t ht输入softmax层。为了公正的比较,生成一个所有模型词表的交集,然后在该交集词表上预测token。

3. 基线

​ 为了比较语言模型与传统系统,论文考虑了下面的baseline。

3.1 Freq

​ 给定一个subject和relation关系对,该baseline会基于测试集中该关系对中出现的所有object的频率进行单词排序。该baseline是预测相同object模型小哥哥的上边界。

3.2 RE

​ 对于基于关系的知识源,使用一个预训练好的关系抽取模型RE,该模型在Wikidata上进行训练。该模型是基于LSTM和注意力机制的编码器,用于从句子中抽取三元组。RE对包含事实的句子进行三元组抽取,并构建知识图谱。在测试时,在图谱上查询指定的subject,然后基于RE返回的置信分数来排序object。

3.3 DrQA

​ DrQA是一个开放域问答系统,其使用两阶段的pipeline来回答自然语言问题。首先,使用TF-IDF从大量文档中检索出相关的文章,然后在检索出的topK的文章中,使用神经阅读理解模型来抽取答案。这里会显著DrQA只预测单个token,从而可以与语言模型进行比较。

4. 评估指标

​ 使用基于rank的评估指标。

5. 注意事项

5.1 人工定义模板

​ 对于每种关系,人工定义一个模板来查询关系种的object。显然,模板的选择会对预测结果产生影响。因此,LAMA探针任务可以看做是衡量语言模型中包含知识的下边界。此外,传统知识库只能通过一种方式来查询关系知识,例如查询关系 works-For \text{works-For} works-For时,如果用户使用 is-working-for \text{is-working-for} is-working-for,那么准确率就为0。

5.2 单个token

​ 在预测任务中仅考虑单个token。限制单个token的原因是,多token解码会引入额外的可调参数,这会导致不好衡量模型中的知识量。此外,准确确定多token仍然是一个有挑战的问题,特别是对于双向语言模型。

5.3 Object槽

​ 在预测任务中仅对三元组中的object进行预测,因为通过反向关系也可以预测subject。没有查询relation slot的原因有二。首先,关系通常会跨越多个token,但这目前还是挑战。其次,即使能够预测多token的relation,但关系可以由不同的词表达,这会对衡量精度带来问题。

5.4 词表交集

​ 待比较的模型是在不同的词表上进行训练的。例如,ELMo有800K的词表,BERT则仅使用30K的词表。显然,词表大小会影响LAMA探针中不同模型的表现。词表越大,那么就越难从大量token中预测出真正的目标。因此,LAMA中仅考虑一个大小写敏感的21K词表,其是所有待比较模型词表的交集。

6. 结果

在这里插入图片描述

​ 上表中汇总了主要的结果,显示了不同模型在不同语料上的top1平均准确率。下面分别讨论不同语料上的结果。

6.1 Google-RE

​ BERT的base版和large版明显优于其他模型。在整体准确率上,相较于基于知识库的方法有2.2至2.9个准确率的提升。BERT-large的效果虽然很好,但不意味着其是以正确的方式得到的答案。因为,Google-RE中的句子很可能是BERT的训练语料,BERT-large可能并没有理解这些结果,只是通过共现模式学习到了subject和object的关系。(什么是真正的理解,人是理解了关系还是记住了更多的共现?)

6.2 T-REx

​ Google-RE中仅包含了较少的事实和仅有的3种关系,因此继续在更大的T-REx上进行实验。但是,实验结果与Google-RE一致。所以,BERT在检索事实知识方面的性能接近于现有的关系抽取系统和自动构建的知识库系统。按关系分类来看,BERT在 1-to-1 \text{1-to-1} 1-to-1关系上的表现最好,在 N-to-M \text{N-to-M} N-to-M的关系上表现最差。

​ 此外,下游模型可以利用语言模型输出的向量表示来学习,正确答案即使不排在第1,也会排的足够靠前。下图展示了所有模型的P@k曲线。对于BERT来说,正确的object被排在top10的有60%,排在top100的有80%。

在这里插入图片描述

​ 此外,BERT-large即使预测不对object,但也能预测出object的正确类型。(这个性质有益于使用prompt预测实体的类型)

​ 为了研究预训练语言模型对同一个事实的不同询问方式的变化(prompt的模板)。论文分析了每个关系中至多100个事实,并从T-REx中随机挑选出10个对齐的句子。每个句子中,遮盖掉object并使用模型进行预测。这可以测试一些语言模型从训练数据中记忆和召回的能力,因为这些模型已经在Wikipedia上训练过。下图展示了每个事实在10个不同查询上排序的平均分布。BERT和ELMo 5.5B的变化程度最低,正确的object接近平均的顶部。令人惊讶的是,ELMo original的表现也与BERT相差不大,但其并没有在训练时见过Wikipedia数据。Fairseq-fconv和Transformer-XL的变化程度高,因为其在训练时没有见过很多的Wikipedia数据。

在这里插入图片描述

6.3 ConceptNet

​ 在ConceptNet上检索事实的结果与Google-RE、T-REx一致,BERT-large的模型表现的最好。

6.4 SQuAD

​ 在开发域问答上BERT-large和DrQA还是有一定的差距(也就是有改进的空间)。但是,预训练语言模型是完全无监督的,且没有专门的信息检索系统。此外,还比较了DrQA和BERT-large的P@10,发现差距十分的小。BERT-large为57.1,而DrQA为63.5。(如果top1更准的话,BERT可以直接作为问答系统)

这篇关于【自然语言处理】【Prompt】语言模型即知识库(Language Models as Knowledge Bases)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/635865

相关文章

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

图神经网络模型介绍(1)

我们将图神经网络分为基于谱域的模型和基于空域的模型,并按照发展顺序详解每个类别中的重要模型。 1.1基于谱域的图神经网络         谱域上的图卷积在图学习迈向深度学习的发展历程中起到了关键的作用。本节主要介绍三个具有代表性的谱域图神经网络:谱图卷积网络、切比雪夫网络和图卷积网络。 (1)谱图卷积网络 卷积定理:函数卷积的傅里叶变换是函数傅里叶变换的乘积,即F{f*g}

秋招最新大模型算法面试,熬夜都要肝完它

💥大家在面试大模型LLM这个板块的时候,不知道面试完会不会复盘、总结,做笔记的习惯,这份大模型算法岗面试八股笔记也帮助不少人拿到过offer ✨对于面试大模型算法工程师会有一定的帮助,都附有完整答案,熬夜也要看完,祝大家一臂之力 这份《大模型算法工程师面试题》已经上传CSDN,还有完整版的大模型 AI 学习资料,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

AI Toolkit + H100 GPU,一小时内微调最新热门文生图模型 FLUX

上个月,FLUX 席卷了互联网,这并非没有原因。他们声称优于 DALLE 3、Ideogram 和 Stable Diffusion 3 等模型,而这一点已被证明是有依据的。随着越来越多的流行图像生成工具(如 Stable Diffusion Web UI Forge 和 ComyUI)开始支持这些模型,FLUX 在 Stable Diffusion 领域的扩展将会持续下去。 自 FLU