本文主要是介绍Large-Scale Relation Learning for Question Answering over Knowledge Bases with Pre-trained Langu论文笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 一. 简介
- 1.知识库问答(KBQA)介绍
- 2.知识库问答(KBQA)的主要挑战
- 3.以往方案
- 4.本文方法
- 二. 方法
- 问题定义:
- BERT for KBQA
- 关系学习(Relation Learning)的辅助任务
- 三. 实验
- 1. 数据集
- 2. Baselines
- 3. Metrics
- 4.Main Results
一. 简介
1.知识库问答(KBQA)介绍
知识库问答(KBQA)旨在从给定结构化知识库(KB)中找到自然语言问题的答案,广泛用于现代问答和信息检索系统。传统的基于检索的KBQA方法通常将其构建为管道系统(pipeline system),包括1)名称实体识别、2)实体链接、3)子图检索和4)实体评分。 近年来,在深度表示学习的帮助下,此类方法取得了令人瞩目的成绩。
2.知识库问答(KBQA)的主要挑战
KBQA任务仍然具有挑战性,特别是对于多跳问题,因为两个原因:
1)由于人类语言的复杂性,通常很难将自然语言问题与KB中的推理路径对齐。该模型倾向于通过表面匹配学习并轻松采用快捷特征进行预测;
2)在实践中,知识库往往是不完整的,这也需要模型对不完整图进行推理。 但因缺乏明确的推理训练,现有模型通常很难做到这一点。
3.以往方案
以前的工作如GraftNet和PullNet主要通过引入外部文本语料库(例如所有维基百科文档)并使用专门设计的网络架构来合并来自文档的信息来解决这些问题。然而,在实践中可能难以收集所需的外部资源。EmbedKGQA通过引入预训练的知识库嵌入解决知识库的不完整性问题,并训练问题嵌入以适应关系嵌入空间,以便他们可以直接使用评分函数对答案进行排序。 然而,上述方法主要掌握了图的拓扑结构,而忽略了实体和关系中的文本信息,这些信息也应该对候选实体进行评分。
4.本文方法
为了弥合自然语言和结构化KB之间的差距,本文重新制定了基于检索的KBQA任务,使其成为一个【问题-上下文】匹配形成并提出关系学习的三个辅助任务,即关系提取(RE)、关系匹配(RM)和关系推理(RR)。通过关系增强训练,该模型学习将自然语言表达式与知识库中的关系对齐,以及对知识库中缺失的连接进行推理。具体如下:
1)RE通过从句子中推断关系来训练模型;
2)RM通过确定两个句子是否表达相同的关系来训练模型;
3)RR以自监督的方式从知识库构建训练数据,并训练模型以在给定现有路径的情况下对缺失的知识库连接进行推理。
二. 方法
问题定义:
给定一个输入查询q,首先识别出q中的命名实体并将它们链接到KB的节点,然后通过一些启发式算法来检索查询指定的子图(包含q答案的所有候选实体的集合)。
BERT for KBQA
对于每个问题q,我们可以从实体链接系统中获取其主题实体e_topic。 然后,将候选实体评分问题转换为如下【问题-上下文】匹配任务:
1)首先找到实体链接系统中连接主题实体e_topic和候选实体ei的所有路径(设置最大路径数并在数量超过阈值时应用下采样);
2)然后通过在知识库KB中用实体名称替换节点和用关系名称替换边来构建每条路径的文本形式;
3)然后concatenate问题q和所有路径p1, …,pn生成输入样本xi =[CLS]q[SEP]p1[SEP]……pn[SEP];
4)将样本提供给BERT并采用与[CLS]token对应的表示进行二分类(将这些路径视为主题实体e_topic和候选实体ei之间的事实。目标是使用BERT来预测假设“ei is the answer of q”是否得到这些知识库KB事实的支持):
关系学习(Relation Learning)的辅助任务
KBQA 的性能很大程度上取决于从自然语言问题到关系的路径映射。为了进一步增强BERT的关系学习,本文提出了三个用于关系学习的辅助任务:
1)Relation Extraction (RE)
将句子和单跳路径连接起来为BERT构建一个RE示例:[CLS]s[SEP]h, r, t[SEP],其中 s, h,r 和 t 分别表示句子、头实体,关系和尾实体。
此外,为了模拟 KBQA 中的 2-hop 推理,还可以结合两个RE示例进行组合:[CLS]s1, s2[SEP]h1, r1, t1(h2), r2, t2[SEP],其中第一个示例的尾实体与第二个示例的头实体相同。
2)Relation Matching (RM)
在关系匹配任务中,假设具有相同关系的两个句子应该具有相似的表示。 因此可以连接两个句子并通过预测两个句子是否表达相同关系来训练BERT:[CLS]s1[SEP]s2[SEP],其中如果s1和s2表达相同关系,则标签为1,否则为0。
3)Relation Reasoning (RR)
BERTRL(Zha et al., 2021)提出了一种用于知识库完成任务的自我监督方法。他们从知识库中选择一个三元组 (h, r, t) 并假设它丢失了。然后他们找到其他从h到t的多跳路径,并用它们来预测(h, r, t)是否存在于KB 中:[CLS]h, r, t[SEP]p1[SEP]……pn[SEP] 通过在BERTRL上训练,模型学会了推理和补全缺失的连接,这对 KBQA在不完整的KB上非常有帮助。
4)Training
由于上述三个辅助任务都被制定为二分类任务,并且仅在数据构建阶段有所不同,因此我们可以使用它们在KBQA之前预训练BERT(记为预训练),或者以一种多任务范式通过KBQA联合训练它们(节点为联合)。
三. 实验
1. 数据集
1)KBQA数据集:WebQSP(training/validation/test 2848/250/1639)
2)Relation Learning数据集: WebRED
2. Baselines
- KV-Mem
- GraftNet
- PullNet
- EmbedKGQA
- NSM
3. Metrics
- Hits@1:如果排名最高的实体是答案实体,则hits@1为1,否则,hits@1为0。
- F1 score:给定一个阈值(选择在验证集中表现最好的阈值),将所有得分大于阈值的候选实体视为模型预测的答案。然后计算真实答案实体和模型预测的答案实体之间的F1分数。
4.Main Results
这篇关于Large-Scale Relation Learning for Question Answering over Knowledge Bases with Pre-trained Langu论文笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!