Abstract
最近的工作通过让语言模型(LM)填补诸如“奥巴马是一个职业”之类的提示的空白,提出了一个有趣的结果,以检查语言模型(LM)中包含的知识。这些提示通常是手动创建的,而且很可能不是最佳的;另一个提示,如“奥巴马曾是一名”,可能会更准确地预测正确的职业。因此,如果给出不适当的提示,我们可能无法检索LM确实知道的事实,因此任何给定的提示都只能提供LM中包含的知识的下限估计。在本文中,我们试图通过自动发现在查询过程中使用的更好提示来更准确地估计LMs中包含的知识。具体而言,我们提出了基于挖掘和基于释义的方法来自动生成高质量和多样化的提示,以及组合来自不同提示的答案的集成方法。在LAMA基准上用于从LMs中提取关系知识的大量实验表明,我们的方法可以将准确率从31.1%提高到39.6%,从而为LMs所知提供了更严格的下限。
Introduction
近年来,语言模型(LM)的主要作用已经从生成或评估自然文本的流畅性转变为文本理解的强大工具。这种理解主要是通过使用语言建模作为特征提取器的预训练任务来实现的,其中通过语言建模目标学习的隐藏向量随后被用于下游语言理解系统。有趣的是,越来越明显的是,LMs1本身可以作为文本理解的工具,通过用自然语言表达查询并直接生成文本答案或者评估多种选择并选择最可能的一种。例如,LMs已用于回答事实问题(Radford等人,2019),回答常识性问题(Trinh和Le,2018;Sap等人,2019年),或提取关于实体之间关系的事实知识 。无论最终任务是什么,LM中包含的知识都是通过提供提示来探究的,并让LM生成前缀的延续(例如“Barack Obama出生于”),或预测完形填空模板中缺少的单词(例如,“Barack Barack Obama是一个职业”)。
Prompt Generation
首先,我们处理提示生成:为每个关系r生成一组提示{tr,i}Ti=1的任务,其中至少一些提示有效地触发LMs来预测ground-truth对象。我们使用两种实用方法从大型语料库中挖掘提示候选(§3.1)或通过转述使种子提示多样化(§3.2)。
Mining-based Generation
我们的第一种方法受到基于模板的关系提取方法的启发,该方法基于这样的观察,即大型语料库中主题x和对象y附近的单词通常描述关系r。基于这种直觉,我们首先使用远程监督的假设来识别包含特定关系r的主语和宾语的所有维基百科句子,然后提出两种方法来提取提示。
Middle-word Prompts
观察到主语和宾语中间的单词通常表示关系,我们直接使用这些单词作为提示。例如,通过用占位符替换主语和宾语,“贝拉克·奥巴马出生于夏威夷”被转换为提示“x出生于y”。
Dependency-based Prompts
Toutanova等人注意到,如果模板中的单词没有出现在中间(例如“the capital of France is Paris”),则基于句子句法分析的模板可以更有效地进行关系提取。 第二种提示创建策略,它使用依赖性解析器解析句子,以确定主语和宾语之间的最短依赖性路径,然后使用依赖性路径中从最左侧单词到最右侧单词的短语作为提示。 例如,上面示例中的依赖路径是 France (pobj)← − − of (prep)← capital (nsubj)← − − − is (attr)− − → Paris。其中最左边和最右边的单词是“capital ”和“Paris”,提示“capital of x is y”。
值得注意的是,这些基于挖掘的方法不依赖于任何手动创建的提示,因此可以灵活地应用于我们可以获得一组主题对象对的任何关系。这将导致不同的提示,包括在文本中表达关系的各种方式。然而,它也可能容易产生噪声,因为以这种方式获取的许多提示可能不太能指示关系(例如“x,y”),即使它们是频繁的。
Paraphrasing-based Generation
我们的第二种生成提示的方法更具针对性——它旨在提高词汇多样性,同时保持对原始提示的相对忠实。具体地说,我们通过将原始提示转换为其他语义相似或相同的表达式来实现这一点。例如,如果我们的原始提示是“x shares a border with y”,则可以将其改为“x has a common border with y” and “x adjoins y”.。这在概念上类似于信息检索中使用的查询扩展技术,该技术重新构造给定的查询以提高检索性能。
虽然有许多方法可以用于转述(Romano等人,2006年;Bhagat和Ravichandran,2008年),但我们遵循使用反向翻译的简单方法(Sennrich等人,2016年;Mallinson等人,2017年),首先将初始提示翻译成另一种语言的B候选,然后将每一种反向翻译成原始语言的B候选项。
然后,我们根据B²候选词的往返概率(即Pforward(`t|t')·Pbackward(t|´t),其中t'是初始提示,´t为其他语言的翻译提示,t为最终提示)对其进行排名,并保留前t个提示。
Prompt Selection and Ensembling
在上一节中,我们描述了为特定关系r生成一组候选提示{tr,i}Ti=1的方法。 这些提示中的每一个都可能或多或少有效地从LM获取知识,因此有必要决定如何在测试时使用这些生成的提示。在本节中,我们将介绍三种方法。
Top-1 Prompt Selection
对于每个提示,我们可以使用以下方法测量其预测ground-truth对象的准确性(在训练数据集上):
其中R是一组具有关系R的主-客体对,δ(·)是克罗内克的δ函数,如果内部条件为真,则返回1,否则返回0。在查询LM的最简单方法中,我们选择精度最高的提示,并仅使用此提示进行查询。
Rank-based Ensemble
接下来,我们将研究不仅使用top1提示,而且将多个提示组合在一起的方法。这样做的优点是,LM可能在其训练数据内的不同上下文中观察到了不同的实体对,并且具有各种提示可以允许引出在这些不同上下文中出现的知识。我们的第一种集合方法是一种无参数方法,它对排名靠前的提示的预测进行平均。我们根据预测训练集中对象的准确性对所有提示进行排序,并使用前K个提示中的平均对数概率来计算对象的概率:
其中tr,i是排名第i位的提示。这里,K是一个超参数,其中小K集中在少数最准确的提示上,大K增加了提示的多样性。
Optimized Ensemble
上述方法对前K个提示一视同仁,这是次优的,因为某些提示比其他提示更可靠。因此,我们还提出了一种直接优化提示权重的方法。形式上,我们将等式1中的分数重新定义为:
其中Pθr(tr,i|r)=softmax(θr)是由θr(T大小的实值向量)参数化的提示上的分布。对于每一个关系,我们学习对一组不同的T个候选提示进行评分,因此参数总数是关系数的T倍。参数θr被优化以最大化金标准对象P(y|x,r)在训练数据上的概率。