基于神经网络的知识图谱问答方法 阅读笔记+翻译

本文介绍了神经网络在知识图谱问答(KGQA)中的应用,包括基于分类、排序和翻译的模型。KGQA任务涉及将自然语言问题转换为可执行的逻辑形式。文章详细阐述了语义解析的背景,如实体链接、关系识别和逻辑形式的结构确定。讨论了不同类型的KGQA子任务,如实体链接和关系识别,以及用于训练的全监督和弱监督数据集。此外,还探讨了神经网络模型的分类、排序和翻译方法,以及在处理复杂问题时面临的挑战和新兴趋势,如数据集复杂性的增加、模型的稳健性和多语言能力的需求。
摘要由CSDN通过智能技术生成

2019-arXiv-Introduction to Neural Network based Approaches for Question Answering over Knowledge Graphs
阅读笔记+翻译
摘要:介绍KGQA的挑战、现有方法、进展和趋势。

1 Introduction

KGQA(Knowledge Graph Query Answering):系统提供接口,接受用户使用自身的术语构造的自然语言查询,将其转化为对后台KG的结构化查询,从而为用户提供准确的查询结果。

Traditional approaches: a composition of template extraction, feature engineering, and traditional semantic parsing based methods.

Now: Neural Network based methods.

2 Background

2.1 KG

2.2 Formal Query Languages

SPARQL: standard query language for RDF

lambda calculus: a formal language for defining computable functions.

λ \lambda λ-DCS (Liang, 2013) and FunQL (Kate and Mooney, 2006) both provide a more concise query representation than SPARQL or lambda calculus by avoiding variables and making quantifiers from lambda calculus implicit.

The FunQL language operates over sets. The language consists of the following components:

(1) entities symbols (e.g. Barack Obama) whose denotation is the singleton set containing that entity (e.g. [Barack Obama] = {Barack Obama}),

(2) relation functions (e.g. spouse()), which return the set of entities that are reached by following the relation from its argument (e.g. [spouse(Barack Obama)] = {Michelle Obama}) and

(3) additional set functions, including (a) count(), which returns the cardinality of a set (e.g. count(spouse(Barack Obama)) =1, (b) various filtering functions, which filter a set using a relation and a filtering value (e.g. [filter<(spouse(Barack Obama), birthdate, 1990)] = {Michelle Obama}), as well as © argmax(), argmin() and (d) set intersection (and()) and union (or()).

2.3 Question Answering Over Knowledge Graphs

Let K \mathcal{K} K be a KG and let q q q be an NLQ then we define the set of all possible answers A \mathcal{A} A as the union of (i) the power set P ( E ∪ L ) P(\mathcal E \cup \mathcal{L}) P(EL) of entities E \mathcal E E and literals L \mathcal{L} L in K \mathcal{K} K, (ii) the set of the numerical results of all possible aggregation functions f : P ( E ∪ L ↦ R ) f : P(\mathcal E \cup\mathcal{L} \mapsto \mathbb R) f:P(ELR) (such as SUM or COUNT), and (iii) the set {True, False} of possible boolean outcomes, which is needed for yes/no questions. The task of KGQA then is defined as returning the correct answer a ∈ A a \in \mathcal{A} aA, for a given question q q q.

KGQA systems often use a semantic parser to accomplish their task. Semantic parsing is the task of translating an NLQ q q q into an executable meaning representation f ∈ F f \in \mathcal F fF of q q q (see also Kamath and Das (2019) for a recent survey on semantic parsing). F \mathcal F F is the set of all formal queries that can be generated by combining entities and relations from K \mathcal{K} K as well as arithmetic/logical aggregation functions available in the formal query language.

The correct logical form f f f must satisfy the following conditions: (1) the execution of f f f on K \mathcal{K} K (which we denote by f ( K ) f(\mathcal{K}) f(K)) yields the correct answer a a a, as implied by the NLQ and (2) f f f accurately captures the meaning of the question q q q. We call logical forms that satisfy the first constraint but not the second spurious logical forms.

A note on terminology: The natural language question (which we abbreviate to NLQ), is also referred to as question or utterance. The meaning representation is also referred to as logical forms or formal queries. The execution results or answers for a formal query are also referred to as denotations.

2.4 KGQA Subtasks

语义解析器必须执行的不同任务:

1.实体链接:KGQA语境下的实体链接是指确定NLQ q q q(的某个特定短语)指向哪个KG实体的任务。由于实体的数量太多,创建完全带标注的训练集来学习所有实体的词法映射几乎不可行。统计实体链接系统需要很好地泛化到未见实体。大多数现代KGQA系统通过使用独立的实体链接系统将实体链接的任务外部化,如DBpedia Spotlight(Mendes et al., 2011)用于DBpedia或S-Mart(Yang and Chang, 2016)用于Freebase。

2.识别关系:确定查询 f f f中某个位置使用哪个关系也至关重要。与实体链接类似,我们需要学习将自然语言表达映射到KG中的关系。但是,与实体链接不同,在实体链接中,实体是由特定于实体的名词短语表示的,而关系通常由名词和动词短语模式表达的,所使用的词不特定于关系。

3.识别逻辑/数字运算符:有时问题在中间变量/集合上包含其他运算符。像实体和关系一样,识别此类运算符主要是词汇学习问题。但是,与实体和关系不同,一般有一组固定的运算符,这取决于所选择的形式语言,而不取决于KG。

4.确定逻辑形式的结构:为了得出具体的逻辑形式,必须对逻辑形式的结构做出一系列决定,即如何安排操作符、关系和实体,使得执行生成的对象可以得到预期的答案。

问答通常在一个过程中解决多个子任务。 例如,基于翻译的系统(请参阅第4.3节)原则上可以在单个序列解码过程中生成整个查询,因此可以立即解决所有子任务。 但是,实际上,可以使用专门的模块,例如实体链接模块,以限制主模型的搜索空间。

3 Datasets

KGQA领域的数据集研究已经从基于手动特征工程的解决方案转变为基于神经网络的数据驱动方法。这些数据驱动方法的关键要求之一是要获得包含大量NLQs标签对的大型数据集。因此,人们可以观察到KGQA数据集中规模的变化,以及最近问题的复杂性的变化。表1总结了最流行的KGQA数据集的属性。

创建大规模KGQA数据集的最早尝试之一是Cai and Yates (2013)开发的Free917数据集,其中包括917个问题/形式查询对,涉及600多个Freebase关系。类似地,Berant et al. (2013)开发了另一个名为WebQuestions的数据集,方法是使用Google Suggest API查找问题,并在使用Freebase的Amazon Mechanical Turk(AMT)工作人员的帮助下回答这些问题。尽管此数据集比Free917大得多,但有两个缺点。首先,它不提供NLQ对应的形式查询,仅提供问题—答案对,限制了依赖逻辑形式的KGQA模型的有监督训练。其次,它主要由简单的问题组成,很少需要复杂推理的问题。为了解决第一个问题,Yih et al. (2016)引入了WebQuestionSP,它是WebQuestions的子集,具有答案以及与每个问题相对应的形式查询。为了提供更多的结构变化和问题表达能力,Bao et al. (2016)和Su et al. (2016)发布了ComplexQuestions和GraphQuestions,分别由成对的问题及其形式查询组成,通过类型约束、隐式和显式时间约束、聚合操作等扩展了WebquestionSP的子集。Trivedi et al. (2017)发布了LC-QuAD,这是针对DBpedia KG的复杂问题数据集。**他们首先生成针对DBpedia的形式查询,然后使用问题模板对它们进行半自动表达,然后利用众包将这些基于模板的问题转换为NLQ,并在此过程中执行措词和语法更正。**Dubey et al. (2019)使用类似的机制创建了一个更大且变化较大的数据集LC-QuAD2。QALD(Usbeck et al., 2018)是另一个基于DBpedia的重要KGQA数据集。尽管它比LC-QuAD小得多,但是它是由领域专家直接创建的,包含更为复杂和更口语化的问题。SQA和CSQA是用于对KG进行序列问答(你一句我一句)的数据集,其中每个数据样本均由具有共享上下文的一系列QA对组成。在这些数据集中,尽管序列中的单个问题通常很短,但具有上下文相关性。

但到目前为止,大多数讨论的数据集由于其相对较小,并未完全覆盖KG中存在的实体和关系。为了部分弥补这一点并支持更多种类的关系,Bordes et al. (2015)创建了SIMPLE QUESTION数据集,包含超过10万个问题。这些问题可以通过KG中的单个三元组来回答,因此可以认为相应的形式查询简单地由主语实体和该三元组的谓词组成。Serban et al. (2016)综合扩展了上述数据集,以创建由30M个问题—答案对组成的FACTOID QUESTIONS数据集。

4 基于神经网络的KGQA系统

如2.3节所述,KGQA问题通常被转换为语义解析问题。语义解析器是一种给定上下文(即KG K \mathcal K K和带有表达式 F \mathcal F F的形式目标语言)的算法,将给定的NLQ q q q映射为逻辑形式 f ∈ F f \in \mathcal F fF,该算法(1)在 K \mathcal K K上执行时将返回正确的答案 a a a (2)准确地捕捉 q q q的含义。基于神经网络的语义解析算法使用预测模型,在给定的数据集上训练参数。使用合适的训练步骤对模型进行训练,这取决于模型、解析算法和为训练解析器而提供的数据。

在本文中,我们将语义解析中常用的预测模型分为三个主要类别,即:(i)分类,(ii)排序和(iii)翻译。在接下来的小节(分别为第4.1、4.2和4.3节)中,我们将解释每种模型,并概述使用这些不同模型的KGQA系统。我们还将讨论这些模型以及如何在定义的上下文中使用和训练它们。

在下面讨论的所有训练过程中,都使用随机梯度下降(SGD)或其变体对模型进行优化。根据模型的类型,可以使用不同的损失函数。此外,取决于语义解析算法,需要在优化算法中对数据采用不同的处理和使用方式以训练模型。这些选择定义了后续各节中讨论的不同训练过程。另一个重要方面是所提供的训练数据的类型,它导致两种不同的训练设置:全监督,其中数据集由 N N N对NLQ和形式查询 { ( q ( i ) , f ( i ) ) } i = 1 N \{(q^{(i)},f^{(i)})\}_{i =1}^N { (q(i),f(i))}i=1N组成,以及弱监督,其中语义解析器在NLQ和相应的执行结果对 { ( q ( i ) , a ( i ) ) } i = 1 N \{(q^{(i)}, a^{(i)})\}_{i = 1}^N { (q(i),a(i))}i=1N数据集上训练。尽管预测模型本身通常不受此差异影响,但确实会导致不同的训练过程。

全监督可以通过简单地最大化预测正确逻辑形式的似然来训练模型,弱监督的设置则更具挑战性,我们必须间接推断和“鼓励”(隐)逻辑形式,执行它可以获得正确答案,同时避免可能会影响泛化的伪逻辑形式。这带来了两个挑战:首先,由于搜索空间的大小通常会随着逻辑形式中符号数量指数级增长,因此要找到一致的逻辑形式(执行它可以获得正确答案)是一项挑战。其次,处理假的候选,即伪逻辑形式(那些没有捕获源问题含义的逻辑形式)但执行它也能得到正确答案,从而误导了提供给语义解析器的监督信号(Cheng and Lapata, 2018)。

4.1 基于分类的KGQA

一般情况下,给定输入NLQ,语义解析器应能够生成任意大小和复杂度的结构化输出(即相应的形式查询)。在某些情况下,我们可以为形式查询假设一个固定的结构。例如,在基于单个事实的问题(例如SimpleQuestions)中,仅需要预测单个主语实体和关系。对于此类固定结构的预测任务,我们可以利用简单的文本分类方法来预测目标形式查询的不同部分(另请参见Hakimov et al. (2019)有关简单问题的深度学习架构的最新综述)。

4.1.1 分类模型

考虑关系分类任务。给定一个NLQ q q q和KG K \mathcal K K,关系分类任务是预测 q q q中包含 n r n_r nr个关系 r 1 , … , r n ∈ P K r_1, \ldots , r_n\in P_\mathcal K r1,,rnPK中的哪一个的描述。第一步,可以使用编码器网络将 q q q的可变长度输入序列映射到固定长度的向量 q ∈ R d \textbf q \in \mathbb R^d qRd上,这称为潜表示或 q q q的编码表示。编码器网络可以是循环神经网络(RNN)(Hochreiter and Schmidhuber, 1997),卷积神经网络(CNN)(LeCun and Bengio, 1998)或Transformer(Vaswani et al., 2017)。编码后的问题随后送入仿射变换以计算得分向量如下:
s ( q ) = W o q + b o (2) s(q)= W_o\textbf q + \textbf {b}_\textbf o\tag{2} s(q)=Woq+bo(2)
这里, W o ∈ R n r × d W_o \in \mathbb R ^{n_r\times d} WoRnr×d b o ∈ R n r \textbf b_\textbf o \in \mathbb R^{n_r} boRnr与编码器网络的参数一起构成了分类模型的可训练参数。输出层使用softmax函数将得分向量转换为 n r n_r nr个关系上的条件概率分布
p ( r k ∣ q ) = e s k ( q ) ∑ j = 1 n r e s j ( q ) (3) p(r_k|q)= \frac{e^{s_k(q)}}{\sum_{j=1}^{n_r}e^{s_j(q)}}\tag{3} p(rkq)=j=1nresj(q)esk(q)(3)
k = 1 , … , n r k = 1, \ldots , n_r k=1,,nr。然后分类就是选择给定 q q q条件下最高概率的关系。

给定一个包含

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值