论文学习8-How Question Generation Can Help Question Answering over Knowledge Base(KBQA-知识问答)

abstract

本文研究了基于知识库的问答系统的性能改进问题生成技术。问题生成(question generation,
QG)的任务是根据输入的答案生成相应的自然语言问题,而问答(question answer,
QA)则是针对给定的问题寻找合适答案的逆向任务。对于KBQA任务,可以将答案视为包含一个谓词和知识库中的两个实体的事实。培训一个有效的KBQA系统需要大量的标记数据,这些数据很难获取。而经过训练的KBQA系统在回答训练过程中不可见谓词对应的问题时仍然表现不佳。为了解决这些问题,我们提出了一个统一的框架,在知识库和文本语料库的帮助下,将QG和QA结合起来。首先在金数据集上对质量保证(QA)和质量保证(QG)模型进行联合训练,然后利用由质量保证(QG)模型构建的补充数据集,借助文本证据对质量保证(QA)模型进行微调。我们使用Freebase知识库对两个数据集SimpleQuestions和WebQSP进行了实验。实证结果显示,我们的架构改善了KBQA的绩效,并与最先进的架构相媲美,甚至更好。

任务:使用问题生成和QA系统训练,达到半监督训练QA的目的

1.introduction

  • KBQA:
    • 自然语言提问
    • 翻译成–>(subj实体,rel关系,obj答案)
    • 将关系和实体链接到知识库中
    • 挑战
      • 开放领域下许多问题没见过
      • 需要许多训练数据
      • 关系检测更难
      • 实体链接难
  • 问题生成:由答案A生成相应q
  • 受启发
    • 利用问题生成(QG)来帮助阅读理解[16]和
    • 回答选择句子[14]任务

在这项工作中,我们提出了一个统一的框架来结合QA和QG通过两个组件,包括双重学习和微调。与[14]类似,我们首先利用QA和QG之间的概率相关性来联合训练它们的模型。由于答案a在[14]中是一个句子,而在我们的KBQA任务中是一个三元组,所以我们设计了不同的方法来计算概率公式中相应的项。为了解决不可见谓词和短语的挑战,我们提出了一个微调组件。利用复制操作[10]和来自Wikipedia的文本证据,我们训练了一个序列到序列的模型,该模型可以根据从知识库中提取的三元组生成不可见谓词的问题。此外,可以通过提供生成的问题和从知识库中提取的三元组来优化QA模型

  • 方法总述:
    • 统一的框架来结合QA和QG通过两个组件,包括双重学习和微调
    • 首先利用QA和QG之间的概率相关性来联合训练它们的模型
    • 微调组件(解决不可见谓词和短语的挑战)
      • 利用复制操作[10]和来自Wikipedia的文本证据,我们训练了一个序列到序列的模型,该模型可以根据从知识库中提取的三元组生成不可见谓词的问题
    • 可以通过提供生成的问题和从知识库中提取的三元组来优化QA模型
  • 本文贡献
    • 首先,与以往的阅读理解和句子选择任务不同,我们研究了如何利用factoid QG来帮助KBQA任务。
    • 其次,我们框架中的微调组件可以解决KBQA任务中不可见谓词和短语的挑战。
    • 第三,实证结果表明,我们的框架改进后的KBQA系统与目前的水平相当,甚至更好

2. our approach

  • 这项工作包括两个任务,

  • 包括问题回答(QA)和

    • 在自然语言处理社区中,QA任务可以分为基于知识的和基于文本的。
      • KBQA中的答案是知识库中的一个事实,–本文关注这个–转化为评分 f q a ( q , a ) f_{qa}(q,a) 和排名问题
      • 而文本QA中的答案是给定文档中的一个句子
  • 问题生成(QG)。

  • f q a ( q , a ) f_{qa}(q,a) :q和a的关联性

  • QA–简化为关系检测任务

    • 假设实体已经检测到了,再找到关系,就可以确定答案a
    • 输入
      • 问题q
      • 候选关系R={r1,r2,…,rn}
    • 输出
      • 最有可能的候选关系ri
  • QG

    • 输入:以一个句子或一个事实a作为输入,
    • 输出:一个问题q,
    • 这个问题q可以由a来回答。
    • 在这项工作中,我们把QG看作一个生成问题,并开发了一个序列到序列的模型来解决它。我们的QG模型简称为Pqg(q|a),其中输出的是产生问题q的概率。
  • 通常,我们的框架由两个组件组成。

    • 第一个是双学习组件,利用QA和QG之间的概率相关性,尝试将QA/QG模型的参数在训练过程中引导到更合适的方向。
    • 第二个是微调组件,旨在通过使用文本语料库和知识库三元组涉及QG模型,增强QA模型处理不可见谓词和短语的能力。
    • 我们的框架是灵活的,不依赖于特定的QA或QG模型。
  • 最近的工作[14]提出了一个双重学习框架,通过利用QA和QG之间的概率相关性作为正则化项来联合考虑问题回答(QA)和问题生成(QG),从而改进这两个任务的训练过程。我们的直觉是,特定于qa的信号可以增强QG模型,不仅生成字面上类似的问题字符串,而且生成可以由答案回答的问题。反过来,QG可以通过提供额外的信号来改进QA,这些信号代表给出答案后产生问题的概率。训练的目标是共同学习QA模型参数θqa和QG模型参数θqg,通过减少他们的受到以下限制的损失函数。
  • 约束
    在这里插入图片描述
  • 正则化项
    在这里插入图片描述
  • 使用上述公式的问题
    • KBQA任务中的答案a是一个事实,而不是一个句子。直接利用语言模型计算Pa(a)是不可能的。为了解决这个问题,我们提出了三种方法。
      1. 谓词频率:来表示Pa(a)
      2. 翻译模板
        • [14]使用语言模型来计算问题q和答案a的相对可能性,因为它们都是自然语言。因此,获得Pa(a)的另一种解决方案是将三元组a翻译成自然语言句子sa,然后利用预先训练好的语言模型计算sa的概率
        • 翻译:使用模板
          • 我们首先尝试一个基于模板的方法。
            由于大多数知识库谓词用它们的单词表示来表示等价的意思,所以我们可以将谓词rel分解成单词序列,并根据预定义的模板利用它来构造句子sa。
      3. 用NAG模型翻译[9]
        • 为了多样性
        • 使用与训练好的Natrural Answer Generation model来从a->sa
          在这里插入图片描述

2.2 微调fine tuning

  1. 使用整个训练集来训练QA,QG
    • 对每个三元组ai,我们从wiki文档中收集了一组文本证据来帮助QG模型的训练和推理
  2. 收集文本证据Collecting Textual Evidence:
    • 在关系提取[11]的远程监控设置之后,我们
      • 首先从实体subj的Wikipedia文章中选择包含subject subj和object obj的句子。
      • 然后通过保留出现在subj和obj之间依赖路径上的单词,将这些句子简化为关系意译。我们通过查询知识库来收集subj和obj的实体类型列表。如果一个实体有多个类型,我们选择在所选的句子s或谓词rel中出现的类型。
      • 最后,我们用它们的类型替换subj和obj mention,以学习在语法级别上更一般的关系表示。
    • 在文本证据的帮助下,QG模型能够为不可见的谓词生成问题
  3. 我们可以将生成的问题和采样的三元组作为补充训练集,剩下的问题是如何从知识库中采样三元组。
    • 直观地说,我们从知识库中抽取的三元组越多,QA模型的能力就越强。但是,知识库中的三元组总数太大,有必要研究如何对适当的三元组进行抽样
      • 简单的策略是随机选择三元组。
        • 我们首先获得包含最高k个频率的谓词的候选谓词集R。
        • 然后我们从r中选择谓词m次。对于每个选择的谓词reli,我们查询知识库,随机找到对应的subject subji和obji对,然后我们得到一个三元组
        • 最后,当它有m个三元组时,补集T被完全构建,其中m是一个超参数。
      • 为了避免调优参数m,我们提出一个方法来样品一套无偏三相同的原始数据集的分布。
      • 作为一个前提,我们假设测试集具有相同的分布与知识库,同时有一个小训练集的区别。为了补充训练集,我们通过随机选择创建一个谓词集R。当原始训练集中的每个谓词reli都在r中发生时,选择过程就终止了。之后,我们丢弃所有这些冗余谓词,将剩余的谓词作为补充谓词集。
      • 不重复地包含所有

3.Model

3.1QA Model

我们将在本节中详细描述问答(QA)模型。一般来说,QA模型制定作为fqa
(q)函数估计的正确性给定问题问每个候选人回答。为了方便,我们减少了QA模型关系分类模型和使用谓词rel取代回答一个候选人。相比与其他子任务如KBQA实体连接,关系提取在影响中扮演更重要的角色最终结果[21]。在现有的KBQA方法中,实体链接的准确性相对较高,但是由于不可见的谓词或转述,关系提取的性能不够好

QA->关系分类模型,并且用候选关系rel替代答案a

  • 基于递归神经网络的关系提取模型(RNN)
    • 为了更好地支持不可见的关系,我们将关系名称分解为单词序列,并将关系提取表示为一个序列匹配和排序任务。
    • 输入关系:r={r1,r2,…,rm}–关系名
    • 转化为与训练好的word embedding
    • 输入bilstm–》得到一个隐层表示
    • max pooling:利用最大汇聚层提取最显著的局部特征,形成固定长度的全局特征向量,得到最终的关系表示hr
    • 同样的nn得到hq,计算余弦相似度cos(hr,hq)
    • 为了语法上更一般的表示,实体替换为
      • 丢失了实体信息,会混淆模型
      • 将类型表示与问题表示连接起来
      • 可提高性能
  • 使用排名训练方法对上述模型进行训练,使得对问题q,正确的关系r+得分高,错误的关系r-,得分低(在候选关系中),损失函数如下
    在这里插入图片描述

3.2QG model

  • q={w1,w2,…,wn},a={s,p,o}
    在这里插入图片描述
  • 我们将QG问题作为一种翻译任务来处理,并采用了编解码器结构来解决它
    • encoder:a->编码为embedding,使用transE–> h f = [ h s ; h p ; h o ] h_f=[h_s;h_p;h_o]
    • decoder: h f = [ h s ; h p ; h o ] h_f=[h_s;h_p;h_o] ->生成问题q
  • QG模型应该能够生成具有不可见谓词的三元组的问题
    • 在[6]之后,我们将介绍一个文本编码器。对于每个事实a,我们收集n个文本证据D = {d1, d2,…, dn}来自wiki文档。使用一组具有共享参数的n个门控递归神经网络(GRU)对每个文本证据进行编码。第j个文本证据中第i个词的隐藏状态计算为
    • encoder:GRU
      在这里插入图片描述
  • E d E_d :预训练好的词嵌入矩阵
  • w i j w_i^j 是dj的one-hot
  • E d w i j E_dw_i^j :是dj的向量表示
  • 隐层状态表示:、在这里插入图片描述
  • decoder:带attention的GRU
    • 给定一组编码的输入向量I = {h1, h2,…, hk}和
    • 解码器先前的隐藏状态st−1,
    • attention的
    • 其中va、Wa、Ua为注意力模块的可训练权重矩阵。然后我们计算所有文本证据中所有标记的总体注意
      在这里插入图片描述
      在这里插入图片描述

最近在NMT上的工作使用复制动作[10]来处理罕见/未知的单词问题。它将具有特定位置的单词从源文本复制到输出文本。我们利用这个机制来解决不可见谓词的问题。
我们采用了[6]的一个变体,它使用相同的POS标签复制单词,而不是使用特定的位置。这可以提高我们的QG模型的泛化能力。在每个时间步骤中,解码器选择从词汇表中输出一个单词,或从文本证据中输出一个表示复制操作的特殊令牌。这些特殊的标记在输出之前用它们原来的单词替换

发布了74 篇原创文章 · 获赞 2 · 访问量 4905

猜你喜欢

转载自blog.csdn.net/weixin_40485502/article/details/104060982
今日推荐