AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


基于子图表示的复杂知识库问答方法
发布日期:2024-04-07 07:17:39 浏览次数: 1760


基于知识的问答在自然语言处理和信息检索的研究社区中引起了广泛关注。然而,现有的研究并未充分解决回答涉及多个实体并需要从多个关系中提取事实的复杂问题。为了解决这个问题,我们提出了一种新颖的方法,该方法在基于有向无环图结构的长短时记忆和记忆网络的统一深度学习框架中学习问题和候选答案的分布表示。具体来说,问题被编码以匹配知识库的候选有向无环子图,这些子图能够包含与复杂问题中的多个实体和关系相关的信息。实验结果显示,所提出的方法在广泛使用的SPADES数据集上优于其他方法,特别是在处理涉及多个实体的复杂问题时。

介绍

近年来,大规模结构化知识库(KB)的发展,如Freebase(Bollacker,Evans,Paritosh,Sturge和Taylor,2008),为问答系统提供了重要的知识检索和推理来源。基于知识库的问答(KBQA)在自然语言处理和信息检索的研究社区中引起了广泛关注。尽管在KBQA领域取得了显著的进展,但先前的研究往往集中在简化设置上,其中问题仅包含少量实体(通常仅包含一个实体)或可以基于单一关系推理来回答。

然而,人们通常希望系统能够回答涉及多个实体和关系的复杂问题。已经有很多努力来处理组合式问答任务。解决方案的一个重要类别是基于语义解析的,它将问题解释为逻辑形式,然后使用格式化的解释从KB中检索答案。尽管最近的研究表明语义解析器可以在弱监督下有效训练并扩展到大型数据库,但仍然需要大量手工指定的语法和规则,以及预测的逻辑形式与KB结构之间的差异仍然是一个重大挑战。受深度学习领域技术的启发,一些研究人员尝试通过学习问题的分布表示,然后在投影的低维空间中对问题与KB结构的匹配进行评分来处理此任务。然而,由于复杂问题涉及多个组成部分,使得难以识别主题实体,并且在形式上与结构化KB不同,因此如何适当地表示问题和来自KB的候选答案以及模拟它们之间的相似性需要更深入的研究。

在本文中,我们关注涉及多种组件并需要从KB中提取多个实体和关系的事实的复杂问题。在图1中给出了这种组合式问题的示例:“Apple_Computer是由【答案】和他的黑客朋友Steve_Wozniak于1976年创立的”。在这个问题中,涉及到三个实体(“Apple_Computer”、“1976”和“Steve_Wozniak”)和三个关系边缘(“date_founded”、“founders”和“friend”),所有这些都对在KB上定位正确答案非常有用。直观地说,如图1所示,由问题中的实体和关系组成的子图为正确答案提供了强有力的信息。然而,如何找到文本问题和子图之间的正确匹配仍然是一个挑战。因此,在本文中,我们提出了一种基于有向无环图(DAG)的方法,用于回答KB上的复杂问题。与先前的研究不同,我们使用DAG来表示从KB生成的候选子结构,并设计了一个基于深度学习的框架,用于评分文本问题和候选DAG之间的匹配。

本文的主要贡献如下:(1)提出了一种基于DAG嵌入的策略,用于编码问题和KB传达的丰富信息;(2)提出了一种基于递归神经网络和记忆网络的联合学习框架,用于文本问题和结构化候选答案之间的匹配。

在最近的SPADES基准数据集上的实验证明,所提出的方法在回答复杂问题时优于最先进的方法。

相关工作

KBQA的目标是在给定自然语言问题的情况下自动从KB中返回答案。该任务的一个重要方法类别是基于信息检索的方法,它通过将问题表示为格式化形式来从KB中搜索答案。例如,Yao和Van Durme将KB视为一个庞大的主题图,将在KB上回答问题转化为提取涉及问题中直接或间接提到的主题和关系的相应“视图”(即在几次跳跃内可以达到的主题)。此外,一些其他方法学习问题的模板,然后通过构建(或学习)模板和结构化查询之间的语义匹配来从KB中检索答案。

语义分析也被用于生成问题的格式化表示,这可以进一步用于从KB中检索答案。早期的研究,包括浅层语义解析,自动识别问题中的句子成分,以从KB中检索答案。最近,研究人员尝试在弱监督下开发语义解析器。然而,仍然需要大量人工干预,如手工指定的词汇、规则和语法,这限制了这些方法的覆盖范围和灵活性。

另一方面,近年来,引入了深度学习技术来解决KBQA问题。它们通过学习问题和候选答案的分布表示来解决这个任务。例如,Yih等人使用卷积神经网络提取简单问题与单一关系的语义表示,这可以进一步用于评分问题和候选答案之间的匹配。其他一些研究(Bordes,Chopra等,2014;Bordes,Weston和Usunier,2014)共同学习了问题词和KB成分的低维向量,其目标是优化问题和候选答案之间的匹配分数。Das等人(2017)和Miller等人(2016)将KB视为一张大的知识记录表,并实施了一个用于推断答案的记忆网络。然而,据我们所知,最先进的方法要么使用简单的向量加法来表示推理路径(Bordes,Chopra等,2014;Bordes,Weston等,2014),要么不编码复杂问题的多个实体和结构化推理所需的更复杂的结构(Das等人,2017;Miller等人,2016),这使得处理由多个实体组成的复杂问题并需要更复杂推理的问题成为一项挑战。

基于分布式表示的方法的一个关键问题是,问题和KB在形式上基本不同。已经有一系列研究学习KB的低维表示。Bordes,Usunier,Garcia-Duran,Weston和Yakhnenko(2013)提出了TransE,通过将关系建模为在实体的低维表示上操作的平移来学习KB的嵌入。在这条线上,还提出了TransH(Wang,Zhang,Feng和Chen,2014),TransD(Ji,He,Xu,Liu和Zhao,2015)和TransR(Lin,Liu,Sun,Liu和Zhu,2015),以增强TransE的表示能力。然而,这种方法仅关注KB的结构域,与自然语言问题分离,因此不能直接用于KBQA。由于问题的顺序特性和KB成分的结构特性,递归神经网络的灵活性使其成为共同学习问题和KB表示的自然模型。从技术上讲,双向长短时记忆(LSTM)(Hochreiter&Schmidhuber,1997;Mousa&Schuller,2017)可以用于从问题中提取高级语义信息,而有向无环图结构的LSTM(DAG-LSTM)(Liu等,2018;Zhu,Sobhani和Guo,2016)通常用于建模复杂结构,可以用于建模KB的结构成分。

此外,由于问题的复杂性和KB的不完整性,问题和KB子结构之间的匹配通常需要在短期和长期上下文中进行复杂推理。为了弥合这一差距,可以采用记忆网络(Sukhbaatar,Weston,Fergus等,2015;Weston,Chopra和Bordes,2014)来共同更新问题和KB子结构的分布表示,并可以集成注意机制(Bahdanau,Cho和Bengio,2014;Vaswani等,2017),以便集中关注重要信息并提高推理性能。我们的模型主要基于上述两种技术(递归神经网络和记忆网络),提出了一个联合学习框架,以更好地处理复杂问题情况下的KBQA任务。

方法

问题描述

任务陈述 给定一个知识库和一个问题-答案对的训练集,输出一个问答模型,通过联合学习问题和知识库内容的低维表示,将问题q映射到答案a。

我们使用代表实体集合,使用代表关系集合。一个知识图谱存储了三元组的集合。我们关注由多个实体组成的复杂问题。因此,给定一个问题其中至少有两个实体。我们使代表问题中的实体集合。问题q的候选答案被收集起来形成一个候选答案集合

定义1(候选DAG):一个满足以下条件的有向图 (1) (2)(3) 这样的一个有向图被定义为q的相关候选DAG。

图2中提供了一个与问题相关的候选DAG的示例。问题“Apple_Computer是由____和他的黑客朋友Steve_Wozniak于1976年创立的”包含三个实体:“Apple_Computer”,“1976”和“Steve_Wozniak”,构成了集合Eq。图2的第三行说明了与知识库中实体“Apple_Computer”相关联的一组候选答案(例如“Steve_Jobs”,“Tim_Cook”等),并且从实体“Steve_Wozniak”开始,生成了另一个候选答案集(例如“American”,“Alice Robertson”等)。由于属性节点(“1976”)的出度为零,从1976开始时找不到候选答案。所有这些候选答案都被收集为Cq。Eq和Cq中的实体被选中以形成候选DAG的集合。显然,与给定问题及其候选答案相关联有多个候选DAG。所有问题q的候选DAG都被收集,并用集合Ωq表示。因此,给定一个自然语言问题q,我们的目标是通过编码候选DAG中的信息,找到q与其候选答案之间的最佳匹配。下面给出了一个简化的数学表述:

其中aˆq是对问题q的预测答案。如果aq是问题q的正确答案,学习目标可以如下形式化:

所提出的学习框架的详细信息将在以下章节中呈现。

提出的模型

所提出的基于子图KBQA方法的框架如下图所示。通常,该模型包括四个重要模块:问题编码器、候选DAG生成器、DAG编码器和记忆网络。每个模块的详细信息如下:

  1. 问题编码器。给定一个自然语言问题,它本质上是一个单词序列。为了学习问题中的高级语义信息,使用的双向LSTM来对问题进行编码,将前向和后向LSTM的最后隐藏状态的连接用作q的分布表示。

  2. DAG生成器。DAG生成器指的是生成候选DAG的过程,主要包括两个步骤:

  • 生成候选答案实体。在此步骤中,首先识别给定问题q中涉及的实体,因此生成了。然后将与相关的实体添加到候选答案集合中。

  • 生成候选DAGs。对于中的每个子集,收集由连接 中的实体和中的实体的路径组成的无环子图,这些路径在两次跳跃内与问题具有前K个关系相似度,以形成候选DAG的集合。

问题和关系之间的相似度定义如下,对于一个问题和一个关系 ,它们之间的相似度被定义如下:

其中,表示以单词开头的N-gram,是N-gram的嵌入,是关系的嵌入表示。通过计算并且排序问题q与,我们可以得到前K个与问题q最相似的关系集,被标记为

特别的,下图展示了生成候选DAG的细节。假设有三个节点,并且。首先提取一个字图,这个字图应该包含这些节点和在两条内连接它们的路径。然后这些边不能在前K个相似关系集中被移除。通过限制每个节点的最大度,与问题不是很相似的边也没一处了。在我们的算法中,最大度被设置为3,因此如下图中的“度约束”所示,r7和r8被删除,因为A和C的度超过了上限,同时,r7和r8是问题关系相似性最小的边。最后,根据问题关系相似性最小的边最少的原则,检测并打破了循环。

DAG编码器

我们使用循环神经网络对候选DAG进行编码,我们利用LSTM架构,引入具有边缘信息的DAG-LSTM(DAG-LSTM-EI),将候选DAG映射到分布式表示。如下图所示,如果我们以底部的DAG为例,DAG-LSTM-EI(顶部)包含两部分信息:

  • 候选DAG的结构。首先根据候选DAG的拓扑结构对节点进行排序,然后将其馈送到DAG-LSTM-EI。
  • 节点输入和两个节点之间的边信息

与标准DAG-LSTM类似,DAG-LSTM-EI有一个输入门i、一个遗忘门f、一个输出门o、一个记忆单元和一个隐藏状态h。具体来说,由于知识库中的每条边都表示两个实体之间的关系,因此编码边的信息非常重要。在我们的模型中,关系嵌入被用作对象节点的输入的一部分;例如,对于路径a-b,关系是rab,节点b的输入是前一个节点a和边(关系rab)之和。详细的数学公式如下:

其中是参数,是节点j的前驱,meanPool是计算平均值的操作。对于节点j的输入,节点的前驱和边都被考虑在内。最后,没有后继节点的最后一个节点的平均输出表示为整个DAG的嵌入。

记忆网络

采用带有注意力层的键值存储网络来捕捉问题的分布表示与候选知识库子结构之间的匹配。与Das等人(2017)和Miller等人(2016)类似,每个记忆单元由一个键值对组成,候选DAG嵌入被视为一个键,DAG中的节点被视为值。注意力层的设计如下。

由于知识库总是不完整的,注意力层对于帮助我们选择问题的重要部分非常重要。我们通过候选DAG g和上下文向量c的点积计算记忆单元的注意力权重,以编码问题最重要的上下文。迭代t的上下文向量计算为

其中,是由问题嵌入初始化的,是DAG中的节点嵌入,代表投影矩阵,是一个权重矩阵,考虑了上一跳的上下文和当前跳的候选答案嵌入(值),具体取决于注意权重。

最后,整个实体嵌入和注意值之间的点积被用于选择候选答案:

其中,表示候选答案的嵌入。点积的值越高,越有可能是正确答案。

实验

实验设置

数据集

在这项研究中,使用Freebase作为知识库,并使用SPADES作为评估数据集,该数据集包含了从ClueWeb创建的填空式问题。为了测试我们的假设,进行了以下实验:(1) 包含简单问题和复杂问题的原始数据集,标记为“Simple+Complex”;(2) 仅包含复杂问题的选定数据集,标记为“Complex”。Simple+Complex数据集包括约93,319个自然语言问题-答案对,其中79,247个用作训练样本,4763个用作开发样本,9309个用作测试样本。在这个数据集中,涉及两个以上实体的问题被视为“复杂问题”,并被选中形成Complex数据集,该数据集包括27,657个训练样本,1729个开发样本和3266个测试样本。

SimpleQuestions和WebQuestions数据集也被广泛用于KBQA任务。但是,SimpleQuestions中的问题可以在单个关系推理内回答,而WebQuestions中只有少数问题涉及多个实体,这使得它们都不适合用于研究本文中的“复杂问题”设置。

实现细节

在我们的模型中,我们使用了Adam进行优化。词、实体和关系嵌入以及双向LSTM状态的维度设置为d = 50;DAG-LSTM-EI中隐藏状态的维度设置为dim(h) = 100。因为在大多数情况下,子图结构并不太复杂,所以DAG的最大节点数设置为10(10是根据数据探索的经验设置),最大前置节点数设置为3。在注意层中,跳数设置为3。在DAG生成器中,使用前10个关系相似度进行边缘筛选。为了平衡学习性能和计算成本,只考虑与K中的Eq相链接的一跳节点用于生成候选DAGs。基本上,与相链接的多跳节点可以用来生成候选DAGs。然而,这会增加DAG的数量,从而导致学习框架的计算复杂性增加。词和实体嵌入由word2vec进行初始化,并像文献中一样,在ClueWeb句子子集上进行了训练。训练过程中的批大小设置为32,学习率为1×10^(-3)。

结果和分析

我们采用文献F1分数作为评估指标。表1给出了Simple+Complex数据集的结果。这个数据集也被用作文献(Das等人,2017)中的评估数据集。如表1所示,我们的模型在这个数据集上取得了41.5%的测试F1分数,至少比其他方法高出1.6个百分点。

表2提供了Complex数据集的实验结果。这个数据集只包含由多个实体构成的复杂问题。我们的模型在这个数据集上似乎更有优势,与其他方法相比,F1分数至少提高了2.4个百分点。这验证了我们模型的假设:所提出的DAG表示策略更适合处理由多个实体构成的复杂问题。

结果还显示,Subgraph在回答复杂问题的任务上表现不佳。这可能是因为它使用了一种子图编码策略,不适合很好地表示问题中多个实体之间的关系。此外,该方法中使用的简单向量加法似乎不能很好地编码子图的结构信息,这可能是该方法的另一个弱点。

为了进一步调查,我们还提供了一些情况的详细信息,其中我们的模型提供了正确答案,但其他方法没有(表3)。一般来说,这些情况可以分为三类。

第一种情况(表3中的类型1)是不同实体之间的关系是平行的,这要求模型同时满足多个实体的不同关系。以“_blank_ founded by Henry_Wells and William_Fargo”为例。有两个实体,“Henry_Wells”和“William_Fargo”。涉及这两个实体的简单子图如图6所示。显然,“Henry_Wells”创办了不止一个公司。当使用简单路径来描述这个问题时,有很多选择;例如,如果只考虑“Henry_Wells”创办的公司,那么“American Express”、“Wells College”和“Wells_Fargo_Bank”似乎都是正确的选择。在这种情况下,问题中的其他实体往往提供了捕捉正确答案所需的有用约束条件,使得子图成为更好的表示方案:例如,对于这个问题,基于表示‘‘Wells_Fargo_Bank’’是由‘‘Henry_Wells’’和‘‘William_Fargo’’创办的事实的子图来找到正确答案相对简单。

此外,问题中关键组成部分不明确的情况是另一种挑战类型(表3中的类型2)。例如,‘‘NOVA_Chemicals was founded in 1954 and is based in blank , Canada’’。对于其他方法,模型更倾向于关注‘‘NOVA_Chemicals’’而不是‘‘Canada’’。但是当使用DAG表示策略时,不需要识别问题的主题实体,具有多个实体的子图提供更多信息以捕捉此类问题的正确答案。

第三种类型(表3中的类型3)是一些属性实体,例如表示时间信息的实体对检索正确答案很重要。在这种情况下,子图表示也是一个更好的选择。以‘‘_blank_, the first American sports car, was introduced in 1953 by General_Motors’’为例。有许多品牌的美国运动汽车,这导致有许多候选答案。DAG策略提供了一种包含有关获取正确答案的时间的附加信息的方法。

结论

在这篇文章中,作者专注于回答包含复杂组件并需要对知识库进行多次推理的组合问题。他们将这个任务看作是一个表示匹配问题,并提出了一种基于子图表示的方法。首先,他们从问题中提取实体并生成一个子图。然后,他们使用带有边信息模型的新型DAG-LSTM来将这些DAG嵌入到连续空间中。最后,他们实施了一个记忆网络,以捕获问题的分布表示和候选DAG之间的匹配。实验结果表明,这种提出的方法比先前的方法表现更好。

论文地址:https://www.sciencedirect.com/science/article/pii/S0893608019302023



53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询