用知识回答问题
从搜索引擎到个人助理,我们每天都在使用问题回答系统。当我们问一个问题("蒙娜丽莎的画家在哪里出生?")时,系统需要收集背景知识("蒙娜丽莎是达芬奇画的","达芬奇出生在意大利")并对其进行推理以产生答案("意大利")。
知识来源
在最近的人工智能研究中,这种背景知识通常以知识图谱(KGs)和语言模型(LMs)的形式存在,并在大量的文档上进行了预训练。在知识图谱中,实体被表示为节点,它们之间的关系被表示为边,例如[达芬奇-生于-意大利]。KG的例子包括Freebase(通用事实)1、ConceptNet(常识)2和UMLS(生物医学事实)3。 预训练的LM的例子包括BERT(在维基百科文章和10,000本书上训练)4、RoBERTa(扩展BERT)5、BioBERT(在生物医学出版物上训练)6,以及GPT-3(迄今为止最大的公共LM)7。
这两种知识来源具有互补性。LMs可以对任何非结构化文本进行预训练,因此具有广泛的知识覆盖面。另一方面,KGs更加结构化,通过提供实体之间的路径来帮助进行逻辑推理。KGs还包括可能不常在文本中陈述的知识:例如,人们不常陈述明显的事实,如 "人在呼吸 "和 "蒙娜丽莎的画家的出生地是意大利 "这样的组成句子。
在我们最近发表在NAACL 2021上的工作8中,我们研究了如何有效地结合两种知识来源,即LM和KG,来进行问题回答。
问题设置和挑战
我们考虑了一个问题回答的设置,如下图所示,给定一个问题和答案选择(如果有的话,我们称之为QA上下文),系统预测一个答案。使用LMs和KGs来回答问题会带来两个挑战。给定一个QA语境(图中的紫色方框),系统需要首先从一个大的KG(绿色方框)中识别出有信息的知识,然后捕捉QA语境的细微差别和KG的结构来共同推理它们。
在现有的使用LM和KG的系统中,如RelationNet9、KagNet10和MHGRN11,提取的KG子图往往是有噪声的,而且QA背景和KG之间的相互作用没有被建模。在这项工作中,我们为上述两个挑战引入了有希望的解决方案:i)KG相关性评分,我们根据QA语境来估计KG节点的相关性;ii)联合图,我们将QA语境和KG连接成一个联合图,来模拟它们的相互作用。
方法
我们设计了一个端到端的问题回答模型,使用预先训练好的LM和KG。首先,就像现有系统所做的那样,我们使用LM来获得QA上下文的向量表示,并通过实体连接来检索KG子图。然后,为了识别来自KG的信息知识,我们根据QA语境来估计KG节点的相关性(见下文的 "KG相关性评分"部分)。接下来,为了联合推理QA背景和KG,我们将它们连接成一个联合图,并更新它们的表示(见下面的 "联合推理 "部分)。最后,我们结合QA上下文和KG的表示来预测答案。
KG相关性评分
现实世界中的KG是巨大的,有数百万的实体。我们如何才能有效地提取与给定问题最相关的KG子图呢?让我们考虑图中的一个例子问题。"一扇旋转门便于双向旅行,但同时也作为一种安全措施在什么地方?"。常见的提取KG子图的方法是将QA上下文中的实体,如 "旅行"、"门"、"安全 "和 "银行"(主题实体;图左中的蓝色和红色节点)联系起来,并从KG中检索出它们的1跳或2跳邻居(图左中的灰色节点)。然而,这可能会引入许多在语义上与QA上下文无关的实体节点,特别是当QA上下文中的跳数或实体数量增加时。在这个例子中,1跳邻居可能包括像 "假日"、"河岸"、"人类 "和 "地方 "这样的节点,但它们都是偏离主题或太泛的。
联合推理
现在我们已经准备好了QA背景和检索到的KG。我们如何对它们进行联合推理以获得答案?为了创建一个联合推理空间,我们将它们明确地连接在一个图中,我们将QA上下文视为一个节点(图中的紫色节点),并将其连接到KG中的每个主题实体(图中的蓝色和红色节点)。由于这个联合图直观地提供了一个用于推理的工作记忆,我们称它为 工作图.工作图中的每个节点都与四种类型中的一种相关联:紫色是QA上下文节点,蓝色是问题中的实体,橙色是答案选项中的实体,灰色是任何其他实体。每个节点的表示被初始化为QA上下文(对于QA上下文节点)或实体名称(对于KG节点)的LM表示。工作图基本上将两种模式,即文本和KG,统一为一个图。
为了对工作图进行推理,我们通过图注意网络(GAT)对QA上下文节点和KG的表示进行相互更新。GAT的基本思想是通过让相邻的节点相互发送消息向量来更新每个节点的表示,以达到多层的目的。具体来说,在我们的模型中,我们通过图右所示的规则来更新每个节点t的表示,其中m是来自邻居节点s的消息向量,α是当前节点t和邻居节点s之间的注意权重,关于GAT的更多细节,我们请读者参考12。下面是消息传递的例子,其中较粗的边表示较高的注意力权重。
让我们使用我们的问题回答模型!
我们应用并评估了我们的问题回答模型(我们称之为 QA-GNN)在两个需要用知识进行推理的QA基准上。
- CommonsenseQA13:包含测试常识性知识的问题(例如:"人们在弹吉他时通常会做什么?")
- OpenBookQA14:包含测试初级科学知识的问题(例如,"以下哪个物体会让最多的热量通过?)
对于我们的LM组件,我们使用RoBERTa,它是在维基百科的文章、书籍和其他流行的网络文件上预先训练的。对于我们的KG组件,我们使用ConceptNet,它包含了一百万个实体,并涵盖了诸如[圆刷-用于-绘画]这样的常识性事实。
QA-GNN改进了现有的使用LM和KG进行问题回答的方法
我们与只使用LM(RoBERTa)而不使用KG的基线,以及现有的LM+KG模型(RelationNet、KagNet和MHGRN)进行比较。我们在QA-GNN中的主要创新是,我们对问题进行KG相关性评分,并且我们在联合图上相互更新文本和KG表示,而现有的方法在后期阶段将文本和KG表示结合起来。我们发现,这两种技术提高了问题回答的准确性,例如,在CommonsenseQA上是71%→73%,在OpenBookQA上是67%→70%(如下图)。
案例研究。
让我们看看CommonsenseQA基准测试中的几个问题回答例子,看看我们模型中的KG组件或LM组件何时/如何有帮助。在下面的每个图中,蓝色节点是问题中的实体,红色节点是答案的选择,其中加粗的实体是正确的答案,带有(P)的实体是我们模型的预测结果。如下面两幅图所示,我们发现,当KG提供具体的事实(如第一幅图中的[推迟-反义词-加速])或路径(如第二幅图中的[鸡蛋-鸡蛋-鸡-谷仓])来帮助回答问题时,KG组件特别有用。
另一方面,我们发现,当问题需要语言上的细微差别和常识时,LM成分特别有帮助,而这些在KG中是没有的。例如,在接下来的两幅图中,如果我们简单地按照幼儿园的路径,我们可能会在第一和第二个问题中分别得出 "夜空 "或 "水 "这样的答案。虽然它们并不是完全错误的答案,但 "宇宙 "和 "汤 "是更好的搭配。
总结
在这项工作中,我们研究了如何结合两种背景知识来源(预先训练的LM和KG)来做更好的问题回答。为了解决这个问题,我们引入了一个新的模型QA-GNN,它有两个创新点。
- KG相关性评分。我们使用预先训练好的LM来给以问题为条件的KG节点评分。这是一个通用的框架,用于对KGs的信息进行加权。
- 对文本和KG的联合推理:我们将QA上下文和KG连接起来,形成一个联合图,并通过LM和图神经网络相互更新它们的表示。
通过案例研究,我们还发现了预先训练好的LM和KG作为知识来源的互补优势。
你可以在这里查看我们的论文全文,以及GitHub上的源代码/数据。如果你有问题,请随时给我们发邮件。
- Michihiro Yasunaga:myasu@cs.stanford.edu
鸣谢
这篇博文是基于论文的。
- QA-GNN。用语言模型和知识图谱进行推理的问题回答。Michihiro Yasunaga,Hongyu Ren,Antoine Bosselut,Percy Liang, andJure Leskovec.NAACL 2021.
非常感谢我的合作者和顾问,Hongyu Ren, Antoine Bosselut, Percy Liang和Jure Leskovec的帮助。非常感谢Megha Srivastava和Sidd Karamcheti对本博文的编辑。
-
Freebase:一个合作创建的用于构建人类知识的图形数据库。Kurt Bollacker, Colin Evans, Praveen Paritosh, Tim Sturge, and Jamie Taylor.2008.
-
Conceptnet 5.5:一个开放的多语言通用知识图。Robyn Speer, Joshua Chin, and Catherine Havasi.2017.网站在此 。
-
统一医学语言系统(UMLS):整合生物医学术语。Olivier Bodenreider.2004
-
BERT:用于语言理解的深度双向变换器的预训练。Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova.2019
-
RoBERTa:一个稳健优化的BERT预训练方法。Yinhan Liu, Myle Ott, Naman Goyal, Jingfei Du, Mandar Joshi, Danqi Chen, Omer Levy, Mike Lewis, Luke Zettlemoyer, Veselin Stoyanov.2019
-
BioBERT:用于生物医学文本挖掘的预训练生物医学语言表示模型。Jinhyuk Lee, Wonjin Yoon, Sungdong Kim, Donghyeon Kim, Sunkyu Kim, Chan Ho So, Jaewoo Kang.2019.
-
Language Models are Few-Shot Learners.Tom B. Brown, Benjamin Mann, Nick Ryder, Melanie Subbiah, Jared Kaplan, Prafulla Dhariwal, Arvind Neelakantan, Pranav Shyam, Girish Sastry, Amanda Askell, Sandhini Agarwal, Ariel Herbert-Voss, Gretchen Krueger, Tom Henighan, Rewon Child, Aditya Ramesh, Daniel M.Ziegler, Jeffrey Wu, Clemens Winter, Christopher Hesse, Mark Chen, Eric Sigler, Mateusz Litwin, Scott Gray, Benjamin Chess, Jack Clark, Christopher Berner, Sam McCandlish, Alec Radford, Ilya Sutskever, Dario Amodei。2020
-
QA-GNN:用语言模型和知识图谱进行问题回答的推理。Michihiro Yasunaga, Hongyu Ren, Antoine Bosselut, Percy Liang, and Jure Leskovec.2021.
-
一个用于关系推理的简单神经网络模块。Adam Santoro, David Raposo, David G Barrett, Mateusz Malinowski, Razvan Pascanu, Peter Battaglia, and Timothy Lillicrap.2017.
-
Kagnet:Knowledge-aware Graph Networks for Commonsense Reasoning.Bill Yuchen Lin, Xinyue Chen, Jamin Chen, and Xiang Ren.2019.
-
用于知识感知问题回答的可扩展多跳关系推理。冯彦林, 陈新跃, 林彪宇辰, 王培峰, 严俊, 和任翔.2020.
-
图形注意力网络.Petar Veličković, Guillem Cucurull, Arantxa Casanova, Adriana Romero, Pietro Liò, Yoshua Bengio.2018.
-
CommonsenseQA:以公知知识为目标的问题回答挑战。Alon Talmor, Jonathan Herzig, Nicholas Lourie, Jonathan Berant.2019.数据集网站在此 。
-
一套盔甲能导电吗?开卷答题的新数据集。Todor Mihaylov, Peter Clark, Tushar Khot, Ashish Sabharwal.2018.数据集网站在此.s