文献阅读1

 

Automated Template Generation for Question Answering over Knowledge Graphs知识图谱问答的自动模板生成

摘要

模板对于知识图谱问答是一个重要的资产,它简化输入语句的语义解析和生成可解释的答案的结构化查询。最先进的方法依靠手工制作的只覆盖有限范围的模板。本文提出了QUINT,一个只从问题和对应答案数据集中自动学习语句-查询模板的系统。此外,QUINT能够利用语言组合在没有对整个问题模板的前提下回答复杂的问题。使用不同基准测试的实验证明了QUINT的高质量。

1. 介绍

动机。模板在知识图谱问答中扮演着重要的角色,在知识图中,用户的话语通过语义解析被翻译成结构化的查询。话语模板通常与查询模板配对,指导话语成分到查询实体的映射。表1显示了Fader etal使用的两个语句-查询模板。每个模板i)指定如何将一个语句块划分为短语,ii)通过指定它们的语义角色为谓词或实体来指导这些短语如何映射到KG原语,iii)将话语中的句法结构与查询的语义谓词-参数结构进行对齐。

模板的一个好处是,到KG的映射是可跟踪的,并且可以利用它生成解释,让用户理解她为什么会收到特定的答案。例如,当有人说“Who invented the Internet?” 返回的答案是Al Gore(以资助互联网而闻名),一个解释可能告诉我们这个答案来自表1的第一个模板,以及使用的KG谓词是knownFor,源自于话语中的“invented”,通过pred1对齐。

技术的现状和它的局限性。许多以前的KGQA方法依赖于手工制作的模板或规则,这不可避免地导致覆盖范围有限。一些方法使用对齐如表1的语句-查询模板。Bast和Haussmann[3]依赖于三个手工构建的查询模板,没有任何话语模板。相反,它们从语句中详尽地实例化每个查询模板。Yih等人[47]定义了生成查询的一系列阶段,每个阶段都依赖于一组手工定义的规则来添加查询条件。Berant等人的[4]依赖于手动指定的语法进行语义解析,并将文本范围映射到KG原语上。

我们的方法支持需要多个KG谓词才能获得答案的复杂问题。例如,“Which were the alma maters of the PR managers of Hillary Clinton?”由一个KG谓词链回答。我们的系统名为QUINT,它能够利用从简单问题中学习到的自然语言组合和模板来回答复杂的问题,而不需要任何模板来捕捉完整的问题。

方法和贡献。我们的方法是通过自动从问题语句的组成部分和KG查询之间的对齐中学习语句-查询模板(第3节)。这些模板是通过远程监督,仅从训练数据即问题答案对中学习的[19,20]。之前的工作使用相同的输入对KGs上的QA系统进行训练,但是依靠手工制作的模板[3,47]或手工定义的各种形式的规则,如DCS[4]来生成的KG查询结构。相反,我们自动学习的话语模板是基于标准的依赖解析树,因此受益于主流解析方法的进步和工具[11]。依赖项解析表示还使我们能够处理复合语句。在KG查询端,模板用SPARQL形式的三元组表示。我们的模板包括对语义答案输入分类的自动支持,这是一个重要的方面,之前的工作依赖于手动指定的输入模式[3,4]。话语与查询之间的对齐由整数线性规划计算。

模板学习是一个离线的步骤。在线时(第4节),当用户与系统交互时,QUINT执行轻量级模板匹配。QUINT,使用基本模板来回答结构复杂的组合问题,而不需要在训练中观察这些问题。QUINT通过以下方式完成:i)自动将问题分解为组成子句;ii)使用我们的模板计算每个组成部分的答案;iii)组合这些答案以获得最终答案。

我们的突出贡献是:1)自动学习与角色一致的问题-查询模板,2)处理复合复杂问题,3)用WebQuestions and Free917基准和复杂问题做实验。

2. SYSTEM OVERVIEW

2.1 Knowledge Graphs

Figure 1 展示了一个KG片段。 节点都是entities e ∈ E (e.g., LucyPunch), types c ∈ C, also known as classes (e.g., actress) or literals字面值 t ∈ T (e.g., dates). 节点相连的边贴上谓词谓词p∈(例如,演员)。由边连接的两个节点形成一个事实(例如,LucyPunch类型的女演员)。KG是一组事实,它们也构成一个图表(因此得名)。此外,人工复合值类型(CVT)节点通过连接参与该关系的不同实体和文字来表示n元关系。例如,在图1中,LucyPunch在BadTeacher中 扮演AmySquirrel需要一个CVT节点cvt1。我们认为一对指向或来自CVT节点的谓词也是一个谓词(例如,cast.char)。任何s∈s = E∪C∪P称为语义项。

为了查询KG,我们使用了基于SPARQL的图形模式匹配语言。一个三元组是用变量替换一个或多个组件的事实(例如,?x type actress)。查询q是一个三元组。 Figure 4 显示了一个示例查询的图形表示。变量?x被指定为推测变量。KG上查询q的答案a是一个实体,当查询变量映射到a则有一个查询的变量映射到KG上语义项的映射,对查询映射的应用导致了KG的一个子图。

2.2 Lexicons词袋

为了将话语词汇与语义项连接起来,需要一个词典l。我们的词典由谓词词汇LP和类型词汇LC组成。Hakimov等人[15]解决了用户使用的词汇与KG语义项之间的词汇差距,并表明使用高质量的词典可以显著提高QA系统的性能。我们使用远程监督[24]构建LP和LC,类似于Bast和Haussmann[3]、Berant at al.[4]和Yih等[47]的QA工作。我们使用ClueWeb09-FACC1,一个包含500M个Web页面用Freebase实体注释的语料库。

为了创建LP,我们在语料库上运行以下提取模式:“e1 r e2”,其中e1和e2是实体,r是短语。例如,“[[Albert Einstein | AlbertEinstein]] was born in [[Ulm | Ulm]] ...”根据远距监督假设,如果(e1 p e2)是KG中一个三元组,则r表达p,我们将r → p加到LP中。对于KG三元组((AlbertEinstein birthPlace Ulm),我们在LP中添加“was born in”→birthPlace。当然,这个假设并不总是成立的,所以我们给映射赋一个权值w,这个权值与在ClueWeb09- FACC1中观察到的次数成正比。在第3.3节中,我们将介绍如何在训练时提取LPtrain⊆LP,在测试时,我们将其优先于整个LP。

对于LC,我们在带注释的语库上运行Hearst patterns16],其中一个参数是实体,另一个是名词短语。例如,对于““e and other np”,对于每个c,我们在LC中添加条目np →c,使(e type c)∈KG。例如,给出这句话"“[[Albert Einstein | AlbertEinstein]] and other scientists ...”对于实体AlbertEinstein所属的每一种c类型,我们增加实体“scientist”→c在LC中。同样,在ClueWeb09- FACC1中,实体被分配一个与它们的频率成比例的权重w。表2显示了来自LP和LC的实体。

对于实体,我们使用现成的命名实体识别和消歧(NER/NED)系统。我们使用的是S-MART[44]系统,该系统专为tweet等简短的非正式文本设计。它应用于Yih等[47]的QA流水线。在测试时,我们发现使用我们的模板进行命名实体识别,然后从S-MART中取出n个最佳候选实体作为已识别提到,然后让我们的查询排序方案进行最后的消歧(见第5节),得到了最好的结果。

2.3 Templates

图2概述了我们的系统,它学习并随后使用模板在知识图上回答自然语言问题。模板在训练时生成(图2,左),用于测试(回答)时(图2,右)回答问题。训练阶段的输入是来自KG的一对问题话语u及其答案集Au。训练性话语的一个例子是u =“Which actress played character Amy Squirrel on Bad Teacher?”[原文],它与答案集Au = {LucyPunch}配对。我们使用字母u来表示话语和它的可互换依赖解析树。话语的依赖解析树[18]是一棵有向根树,其节点对应于话语标记,边表示节点之间的语法关系。我们的话语模板是基于话语的依赖解析。我们的动机是依赖解析(1)可以捕获话语标记之间的长期依赖关系,这有助于回答组合问题(章节4.3),(2)提供了很大的灵活性,允许QUINT在实例化查询模板时跳过不相关的标记(章节4.1)。Figure 3显示了上述话语的依赖解析。

QUINT首先试探性构造了一个KG查询q,捕获u。它由q构造了一个骨干查询qˆ,通过寻找每个a∈Au在u和a发现的KG实体连接的最小子图(3.1节)。对于Figure 3中的示例,这是连接图1中的黑节点的子图。QUINT从这个子图通过将与a相关的节点或者一个CVT换成变量(图4)。考虑到类型,它通过添加和a相关的类型约束连接到相应的变量(3.2节)——灰色节点如图1所示。图5显示了生成的qˆ。

接下来,QUINT将qˆ和u并列,给我们q⊆qˆ最能捕捉u, u的组块和u和q的组成部分之间的对齐。对齐将被带入从u和q创建的模板。我们将对齐问题表示为一个有约束的优化问题,并使用整数线性规划(ILP)找到最佳的对齐m(第3.3节)。图7显示了u(结果q)和对齐m,m用共享的ent、pred和type注释u和q中的节点之间的类型表示,它们还指定了这种对齐的语义角色

接下来,QUINT执行泛化,从一对具体的对齐话语依赖解析树和查询图生成模板(第3.4节)。它消除了具体文本的节点参与m和同样的语义项q,保持注释ent, pred,和type,从而将这些节点转化为占位符(图8)。结果是模板t = (ut, qt, mt),由一个话语模板ut,查询模板qt,两者之间对齐mt组成的。

当用户发出一个新问题时,QUINT将它的依赖解析树与在培训期间创建的模板库进行匹配(4.1节)。在图9中,u'中粗边和节点是ut匹配的边和节点(图8)。对于每一次匹配,对应的查询模板qt都使用对齐mt和词典实例化。图9还显示了这样一个实例化产生的查询。最后,QUINT使用排序学习方法对这些候选查询进行排序(第4.2节)。排名第一的查询答案将返回给用户。通过显示使用了哪个模板以及如何实例化它,QUINT可以向用户解释答案。

3. TEMPLATE GENERATION

我们现在介绍离线模板生成阶段的细节。这个阶段的输入是话语对u和回答集Au对,如图3所示。

3.1 Backbone Query Construction

为了生成骨干查询qˆ,QUINT首先用它包含命名实体标注训练话语u,用命名实体识别和消歧(尼珥/ NED)系统[44]向Freebase实体消岐。对于我们的例子,产生的注释问题是:
“Which actress played character [[Amy Squirrel | AmySquirrel]] on [[Bad Teacher | BadTeacher]]?”
接下来,对于每个答案a Au, QUINT找出包含问题中上述实体和a的KG的最小连通子图。对于我们的例子和图1中的KG,这就是带有黑节点的子图。为此,QUINT从问题中找到的一个实体开始,当中间节点是CVT节点时,QUINT搜索长度为2的所有路径,否则搜索长度为1的所有路径,以限制搜索空间,类似于[47]。如果中间节点是CVT节点,并且问题包含多个实体,QUINT将探索长度为1的路径,将CVT节点与这些实体连接起来。我们假设这个子图抓住了问题的意义,并将其与其中一个答案a联系起来。可能有多个这样的图。然后QUINT将这个子图转换为查询,方法是用变量?x替换a,用不同的变量(例如?cvt1)替换任何CVT节点。对于给定u的每个a ∈ Au执行上述过程,会导致多个查询。我们保持查询对Au的F1值最高。图4显示了示例中的qˆ。

3.2 Capturing Answer Types

捕捉问题中给出的答案类型对准确性很重要。在问题“Which actor died in New York?”,到目前为止生成的qˆ将是{?x deathPlace NewYork}这并没有抓住这个问题只对演员感兴趣的事实,损害了准确性。Walker等人[39]表明,识别话语的预期答案类型可以提高QA系统的性能。这一结论在我们的实验中也得到了证明(第5节)。早期的QA系统要么使用手动规则在问题中查找引发查询中预定义的可能类型集合中的一个短语[3,4],要么完全忽略类型约束[47]。QUINT自动创建模板,捕捉问题中哪些短语引发查询中的类型,并使用完整的Freebase类型系统作为潜在的映射目标。

从目前生成的qˆ开始(图4),QUINT连接到qˆ的回答变量节点对每个c∈ C的类型约束,变量来自答案实体a ∈ Au并且(a type c) ∈ KG。在图1的KG中,LucyPunch ∈ Au的类型为person和actress,结果qˆ如图5所示。qˆ现在包含的类型约束比问题中实际给出的要多。在下一节中,我们将展示如何在对齐步骤中确定正确的选项。

3.3 Utterance-Query Alignment

用已有的(u,qˆ)对,QUINT继续调整两者的成分。对齐i)给了我们一个u分割成短语,映射到qˆ中的语义项2)删除qˆ中的虚假类型约束,导致q⊆qˆiii)给了我们一个u和q组成部分的对齐。

对齐是由我们的词典LP和LC驱动的(第2.2节),但会面临固有的歧义,要么是真正的歧义短语,要么是自动构建词典中不可避免的噪声。我们将歧义的解决建模为约束优化,并使用ILP来解决它。我们开始通过构建一个两偶图,一边是Ph,u中的所有短语集,另一边是Sqˆ,qˆ的语义项集,如图6所示。Ph={ph1, ph2,…}是u中符号的所有子序列。我们添加一个边在每个phi ∈ P h和sj ∈ Sqˆ之间,当(phi → sj ) ∈ LP ∪LC有词典中一个权重wij。表2显示了我们的词典的一个片段。

此外,我们添加一个边连接qˆ的每个实体到u中唤起它的短语。实体添加到防止其表面形式的问题映射到一个类或一个谓词。
我们使用现成的NER/NED系统来识别u的实体(3.1节)。为了解决类型和谓词映射的歧义并获得预期的对齐,ILP决定需要保留哪些边的子集。

在给出ILP之前,我们扩展了我们的表示法。对于语义项sj, Ej,Cj和Pj分别是0/1常数,表示sj是实体、类型还是谓词。Xij为0/1决策变量,其值由ILP的解确定。如果Xij = 1二部图中phi到sj的边保留。给定一组与我们最想选的变量v相连的类型,这组类型是S(v) = {c1, c2,…}(在我们的例子中为{actress,person} ),且可以映射到S(v)中的类型的短语集是ph (v)。

ILP的目标是最大化映射短语的总权重:,其中wij来自词典。这些约束确保了结果对齐是有意义的:

我们使用Gurobi获得预期的对齐m,通过u和qˆ之间的共享ent,type和pred 语义标注表明。此外,通过丢弃所有与m中的短语无关的类型约束(我们的示例中是?x type person in our example)。图7显示了我们的例子中话语与q的对齐(与图5中的qˆ不同)。

训练时对齐的一个重要副产品是词典 LPtrain⊆LP,由训练期间观察到的短语谓词对齐组成。这个词典比嘈杂的LP清楚得多。我们将在测试时使用这两种方法,当存在从LPtrain获得的映射时给予优先级。

3.4 Generalization to Templates

接下来,QUINT从上面对齐过程中得到的对齐语句-查询对(u, q, m)中构造模板。在话语方面,QUINT获取使用依赖解析树表示的话语u,并将其限制为最小的连接子图,该子图包含参与m的所有短语的标记。在图7中,这会导致删除与‘which’对应的节点。为了从这个子图创建模板,我们将参与m的节点转换为占位符,方法是删除它们的文本并保留POS标记和语义对齐注释(ent、type、pred)。我们使用通用POS标签[25]来增强泛化能力。我们用一个名词标记替换复合名词,该名词标记可用于在测试时匹配复合名词,以确保泛化。在测试时,我们的模板允许将输入的问题健壮地分块成与实体对应的短语(即作为命名的实体识别器)、谓词(即作为关系提取器)和类型(即作为名词短语分块)。对于NER,我们展示了在测试时使用模板比使用现成的NER系统获得更好的结果。

在查询端,我们接受查询并删除参与m的边(谓词)和节点(实体和类型)的具体标签,保持语义对齐注释。我们用语句-查询对的数字生成一个模板作为查询排序的信号(节4)。

4. QUESTION ANSWERING WITH TEMPLATES

4.1 Candidate Query Generation

在回答时,当用户提出一个新语句u’时,QUINT将它与存储库中的所有模板进行匹配。u'匹配一个模板(ut, qt, mt),如果它的依赖解析树的子图与ut同构,考虑到它们的边标签和节点中的POS标签。图9显示了u'的示例,它的依赖项解析与图8中的话语模板ut匹配。粗体边和节点是与ut同构的边。请注意,使用依赖项解析来表示话语使我们可以忽略u'中‘popular’的标记,该词不携带任何可以被特定KG捕获的语义。如果问题是针对'American'女演员的,那么在培训时学习的另一个模板将允许我们实例化一个查询来捕获这个重要的约束。我们下面描述的排名方案决定了哪个是最好的匹配。

对于每个匹配的话语模板(通常是几个),QUINT基于对齐mt和词典 L实例化相应的查询模板qt。对于谓词,QUINT首先在训练时创建的cleaner LPtrain中执行查找(章节3.3)。如果没有返回任何结果,QUINT将查询全谓词词典LP(第2.2节)。图9底部显示了基于图8顶部显示的u‘实例化图8模板获得的查询q’。

4.2 Query Ranking

查询生成生成一个话语的多个候选查询,可能是由于上面讨论的多个匹配模板,也可能是由于词典中的短语不明确。我们采用类似于Bast和Haussmann[3]的排序学习方法,对获得的查询进行排序,并返回排序最高的查询作为问题的理想回答。我们使用一个随机森林分类器来学习一对查询[9]之间的偏好函数。表3列出了与产生查询q0的话语u 0中的模板t实例化相关联的特征向量工作台(u 0, t, q0)所使用的特性,我们将在下面讨论。模板实例化的一对t1和t2匹配话语u 0和导致查询q1和q2,分别使用的特征向量是由于连接φ(u 0, t1 q0 1),φ(u 0, t2 q0 2),和φ(u 0, t1 q0 1)φ(u 0, t2 q0 2)。

我们计算四种特征,如表3所示。对齐特征衡量了话语标记与KG语义项之间的关联。语义特性只考虑查询。模板特征衡量的是模板t在特定话语中的恰当性。答案特征模板指出查询答案集大小属于哪个预定义范围。答案的大小是一个很好的线索,因为空的答案集或非常大的答案集都是不正确的问题的指示器,这些问题超过了限制或限制不足。特性7、15和16定义了基于训练数据实例化的特性模板。例如feature 7的实例是话语n元对和查询谓词对。指示符特性采用布尔值。例如,从图9中的语句和查询中,我们生成了“actress play ∧ cast.actor”值为1的参与者。

4.3 Answering Complex Questions

我们针对的复杂问题是由多个子句组成的,每个子句都围绕一个关系,它们共同描述一个变量(在KG中可能有多个绑定)。例如,问题“actors starring in The Departed who were born in Cambridge, MA”由两个从句组成:“actors starring in The Departed” (e.g., MattDamon, MarkWahlberg, JackNicholson)和“actors who were born in Cambridge, MA” (e.g., MattDamon, UmaThurman, MarkWahlberg)。MattDamon和MarkWahlberg是对这个完整问题的答案。

处理复杂问题是4.1节中程序的自然延伸。我们通过三个步骤来做到这一点:: i)必要时自动重写依赖解析,ii)子问题回答,iii)回答拼接。

自动依赖解析重写。当我们遇到无法用模板存储库完全捕获的复杂问题时,就需要重写。一个例子是“Who acted in The Green Mile and Forrest Gump?”。对于这个问题,我们在更简单的WebQuestions数据集上训练的模板将无法捕获第二个约束,该约束通过协调连接(using and)来表达。问题可以在图10(a)中看到,在Forst Gump和作用的关系短语‘acted in’,之间没有直接联系,这是我们的模板所期望的,给定用于学习它们的数据。为了克服这一问题,我们对关系从句和并列连词进行了简单的自动改写,得到了继Del Corro和Gemulla[11]之后的两个独立疑问命题。在我们的具体例子中,这是通过连接‘Gump’ (conj边的目标节点)和In (conj边的起点)来实现的。我们给这条新边贴上标签pobj,与连接conj的头与其父边的标签相同。conj和cc边随后被删除。由模板捕获的结果依赖关系图和子问题如图10(b)所示。

更一般地,如果i)我们检测到一个协调连词或关系子句[11]和ii)与模板存储库匹配,结果产生的子问题比预期的少(例如,一个协调连词或关系子句应该产生两个匹配的子问题),则会触发重写。虽然上面的问题需要重写,但“What film directed by Steven Spielberg did Oprah Winfrey act in?”在这里,两种关系都被阐明了,不需要QUINT重写。

子问题回答。我们将模板与自动重写(如果需要)的完整依赖解析相匹配。每个匹配对应一个可以独立回答的子问题。这里,我们遵循部分4.1和4.2中描述的过程分别对每个问题进行查询,并保留每个子问题返回的查询排序列表。

缝合。对于检测到并映射到查询列表的每个子问题,我们将其排序查询列表(4.2节)中的查询赋值为1/r,其中r是查询在列表中的排名。这里的想法是为排名更高的查询分配更高的数字分数。我们返回从这些查询组合得到的答案,每个子问题一个,这样它们的答案集的交集是非空的,它们的分数的总和最高。

 

 

总结:

它首先用NER/NED系统识别和消岐语句中的实体,QUINT从在KG中找到的包含每个答案和上述实体的最小子图生成查询,保留F1最高的查询。接着QUINT为每个查询中的答案变量节点连接原来答案的每一个类型约束,将查询中的实体跟语句中的唤起词用边连接,用ILP删除有歧义和多余的边同时增加语义对齐注释,最后将这个子图中的复合名词替换为名词标注用pos标注实现泛化,形成模板。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值