论文阅读:Core techniques of question answering systems over knowledge bases: a survey

文章目录

KBQA 的核心技术综述

0. 摘要

语义网中包含大量的信息,以知识库的形式存储。KBQA系统可以帮助人们获取这些信息。构建KBQA系统时,面临许多挑战,通常需要结合自然语言处理、信息检索、机器学习和语义网络等多种技术。本文综述了目前基于流行的测评基准QALD(Question Answering over Linked Data)的各个KBQA系统所使用的技术。本文将KBQA分成多个阶段,综述每个阶段的技术,同时探讨各项技术的优缺点。此外,也指出了基于WebQuestions 和 SimpleQuestions 这两个流行的基准的QA系统所用到的技术。

关键词: 问答、QALD、WebQuestions、SimpleQuestions、语义网、知识库、调研

1. 介绍

问答(QA) 是计算机科学中一个非常古老的研究领域。第一个QA系统是在20世纪60年代末和70年代初开发的,用于通过数据库访问数据。最近的一些工作设计了基于自由文本的QA系统,即从一组文档中查找包含问题答案的文本部分。这些被称为基于信息检索(IR)的QA系统。 在过去的二十年中,由于语义网的发展,许多新的结构化数据以知识库(KB)的形式在Web上变得可用。如今,有关于媒体、出版物、地理、生命科学等方面的KBs。KBs上的QA已经出现,使终端用户可以获得这些信息。有关更详细的历史概述,请参阅[54]。由于W3C的事实标准 RDF 和SPARQL 的发布,KBs 的发布速度加快了。RDF是一种用于发布新的KBs的格式。SPARQL是RDF的强大查询语言,但它需要专业知识。基于KBs的QA系统背后的思想是在知识库中查找用户使用自然语言请求的信息。这通常通过将自然问题转换为SPARQL查询来解决,SPARQL查询可用于检索所需的信息。在下面,当我们谈到QA系统时,我们指的是 KBs 上的QA系统。由于目前的 QA 系统数量众多,要对所有的 QA 系统进行深入的分析需要大量的工作。那么,我们聚焦于特定基准的QA系统。这将允许比较QA系统的总体性能,并至少提示在QA系统中使用的某个技术有多好。我们在这里专注于 Question Answering over Linked Data (QALD) 的基准测试,它符合语义网的原则:侧重于RDF KBs;它提出了不同领域的KBs ,假设一个QA系统应该能够查询任何KB;它提出了大开放域问答KB像DBpedia,可伸缩性成为一个问题;它提供了问题的信息应该从多个相互关联的KBs;它包含有多个关系和操作的问题,如比较级和最高级;它提出了多语言问题,假设用户可以是不同的国籍。此外,我们收集了通过 WebQuestions 和 SimpleQuestions 进行评估的QA系统的列表,这是两个流行的基准测试,我们指出了这些QA系统使用的方法,而不是通过QALD进行评估。

总结上段:QA系统有多种:对数据库的、对自然文本的、对知识库的……随着RDF和SPARQL的出现,KBQA成为研究热点。)

在本文中,将KBQA分成五大子任务:问题分析、短语映射、消歧、查询构建、多个知识源上的查询。将描述、分类、比较各个KBQA系统中用到的技术。本文聚焦于3个数据源/评价基准:QALD(主要)、WebQuestions 和 SimpleQuestions。

本文的组织方式如下:

  • Section 2,我们将指出我们的调研和其他调研的不同
  • Section 3,三个主流的基准,WebQuestions, SimpleQuestions and QALD
  • Section 4,描述了如何选择比较的QA系统
  • Section 5,给出了5个子任务的概述
  • Section 6,问题分析任务所使用的技术
  • Section 7,短语映射的技术
  • Section 8,消歧任务的技术
  • Section 9,描述了不同的QA 构造的查询
  • Section 10,如果所请求的信息是分布式的,该做哪些改变
  • Section 11 和 12,将分析的系统在WebQuestions和SimpleQuestions评估的系统进行比较。
  • Section 13,QA领域挑战演变的概述。基于对本出版物的分析
  • Section 14,我们指出了QA领域的未来发展。

2. 相关工作

在文本检索会议(TREC)、跨语言评估论坛(CLEF)和NII Test Collections for IR systems (NTCIR)竞赛的推动下,在IR领域已经有了各种关于系统的调研,见[3,29,49]。

在 [3,29] 中,基于 IR 的QA系统的分析是基于三个核心组件:(1) 问题分析和分类 (2) 信息检索来提取与答案相关的文档 (3) 答案提取和排序,这三个模块分别与 自然语言处理(NLP)、信息检索(IR)和信息提取(IE)技术相关 [3]。基于[29]的总体方法,QA系统分为:语言、统计和模式匹配。

在这些调研中,只简要描述了一些基于结构化KBs 的特定领域的QA方法。在分析的开放域QA系统中,采用了KBs和分类法;然而,它们不是用来寻找答案,而是作为特征在QA过程中使用,其中答案是从文本中提取的。例如,他们用于支持问题类型分类、预测预期的答案类型 或从语义上丰富解析树,以此来促进问答匹配,经常结合ML方法(支持向量机,最近邻,贝叶斯分类器,决策树等等)或从文本的方法学习文本模式。

与这些调研不同的是,我们深入研究了QA系统用于从KBs 中提取答案的技术。特别是,我们专注于回答 自2011年QALD引入以来提出的关于链接数据(Linked Data)的开放域查询。我们将看到QALD基准为KBs上的QA系统引入了不同的挑战(详见第13节),为此,应用了各种新颖或现有的技术及其组合。此外,我们指出了QA系统在 WebQuestions 和 SimpleQuestions 上评估 所使用的一些技术。

现有的QALD报告[16,52,77-73]、关于开放式QA系统在KBs上面临的挑战的调查[36,54]和关于主题[46]的最新调研给出了 每个QA系统的简要概述。它们不允许对QA过程的每个阶段中使用的技术进行详细的比较。在这项调查中,对参与QALD竞赛的32个QA系统所采用的每种技术的优缺点进行了描述。

3. QA 的基准

基于KBs的QA系统的基准测试是一个新的发展。在2011年,仍然没有[54]中描述的用于比较不同QA系统的基准。因此,使用带有特殊任务的小型场景在不同的KBs上测试QA系统。

在过去的几年中,针对KBs的QA系统出现了不同的基准。最常见的三个问题是 WebQuestions [9],SimpleQuestion [13]和 QALD [16,52,71 - 73]。实际上QALD不是一个基准,而是QA系统在KBs上的一系列评估竞赛。到目前为止,已经提出了六个挑战。表1给出了概述:
在这里插入图片描述
每年都有一项任务包括 通过DBpedia进行QA。下面,我们将集中讨论这些结果。此外,为了解决请求的信息分布在许多KBs中的情况,我们考虑QALD-4 任务 2。它提供3个相互连接的KBs,25个训练问题和25个测试问题,这只能通过搜索和组合分布在3个 KBs上的信息来回答。我们根据数据集、问题和评估指标来比较这三个基准。
在这里插入图片描述
(图1:Freebase还包含非二元关系,如“ “Portugal is a member of the European Union since 1986”。这些信息存储在Freebase中,使用的是一种具体化。它使用 “中介节点” (在本例中为 m m m )。注意,在转储(dump)中,对于每个关系,它的逆也被存储。DBpedia不是这样的。)

3.1 数据集

WebQuestionsSimpleQuestions 包含可以使用Freebase[41] 回答的问题。QALD挑战总是包括作为RDF数据集的DBpedia ,以及其他一些挑战。DBpedia和Freebase之间的主要区别在于信息的结构。Freebase既包含二元关系,也包含非二元关系。非二元关系是使用中介节点的具体化来存储的。图1给出了一个例子。在DBpedia中则不是这样,其中只存储二元关系。特别是,时间信息不存在。一些关于 WebQuestions 的工作,如[13]和[47],通过删除“中介节点”,将非二元关系转换为二元关系。Bordes et al. [13] 指出 这样的话在 WebQuestions 仍有86%的问题可被回答。

此外,对于每个关系,Freebase 还存储它的逆关系,而DBpedia 认为是它是冗余的。关于大小,DBpedia端点包含近400000个三元组,而最新的Freebase转储了包含19亿个三元组。考虑到Freebase中的mediator和反向,两者信息量基本差不多。此外,请注意,WebQuestions 和 SimpleQuestions 通常只用 Freebase 的一个子集来解决。即 FB2MFB5M 分别只包含 200万个实体和 500万个实体。

3.2 问题

WebQuestion 包含5810个问题,它们遵循一个非常相似的模式,这是由于用于构建数据集的众包方法。大约97%的问题可以只用一个具象化的陈述来回答,其中包含一些潜在的约束,如类型约束或时间约束。SimpleQuestion 包含108442个问题,可以用一个二元关系来回答。

QALD的问题每年都由挑战赛的组织者准备。通常最多可以使用三个二元关系来回答这些问题,并且通常需要像 ORDER BY 和 COUNT 这样的修饰符。此外,有些问题超出了讨论范围。训练集很小,只有50到250个问题。所以QALD不利于做监督学习。最后,对于每个问题,SimpleQuestionQALD 数据集使用SPARQL查询进行标注,而 WebQuestions 数据集仅使用答案的标签进行标注。
数据集WebQuestionsSP[89],其中包含针对WebQuestions中的每个问题的SPARQL查询。

3.3 评估

在评价时,使用三个参数:精度、召回率和F-measure。它们在所有基准中都是相同的。

精度(Precision):精确度表示有多少答案是正确的。对于问题 q q q,计算如下:
在这里插入图片描述
召回(Recall):对于每个问题,都有一组预期的正确答案,这些答案被称为黄金标准答案。Recall表示返回的答案中有多少属于黄金标准。计算方法为:
在这里插入图片描述
我们使用下面的示例来解释这些参数。假设用户问:“三种原色是什么?”黄金标准答案是 :“绿色”、“红色”和“蓝色”。如果系统返回“绿色”和“蓝色”作为答案,那么精度是 1,因为所有的答案都是正确的,但召回只有2/3,因为答案“红色”是缺失的。

系统的全局精度和召回率可分为微观精度、宏观精度和召回率两种计算方法。

  • 系统的微观精度和召回率是通过对所有已回答问题的精度和召回率取平均值来计算的,即不考虑未回答的问题。
  • 系统的宏观精度和召回率是通过对所有问题的精度和召回率取平均值来计算的

(微观或宏观) F-measure 是(微观或宏观)精度与召回率之间的加权平均,其计算方法如下:
在这里插入图片描述
注意,如果精度或召回率都接近于零,则F-measure接近于零;只有当精度和召回率都为1时,F-measure才等于1。在这次调研中,我们报告了宏观精度、召回率和F-measure,因为这些是基准使用的官方指标。另一个对用户很重要的参数是 运行时间。这通常表示为QA系统回答问题所花费的平均时间。

4. QA 系统的选择

(本文筛选用于分析的QA系统时,首先选出了参加QALD比赛,以及引用了QALD文章的系统,然后进行筛选,例如,滤除了一些只能回答形式化问题的系统。)

我们简要描述了本论文中比较的 QA 系统是如何选择的。我们认为这些系统要么直接参与了QALD 挑战赛,要么在重用相同的评估设置后被评估。为了识别后一种系统,我们在谷歌Scholar中搜索所有提及或引用QALD 挑战赛的出版物[16,52,71 - 73]。从这些出版物中,我们选取了涉及QA系统的出版物。

我们排除了只能回答用受控自然语言表述的问题的系统,即squall2sparql [33] 和 CANaLI [59]。此外,我们不推荐使用图形用户界面来指导用户构造查询的系统。这些包括Sparklis [34]和 Scalewelis [48]。

注意,在过去的几年中,其他类型的 QA 系统也出现了。在这两者之间,存在一种混合QA,即同时使用 自由文本 和 KBs 的QA。这个问题被QA系统 HAWK [74] 和 YodaQA [7] 解决。QA的另一种类型是对使用RDF Data Cube词汇表表达的统计数据进行QA。这个问题被CubeQA [45] 和QA [4]解决了。因为只有少数作品在这些方面,我们直接引导读者到他们。

参与QALD 的QA系统:APAQ, AskDBpedia, KWGAnswer, MHE, NbFramework, PersianQA, RO_FII, UIQA,因为没有相应的发表被排除。

表2包含了考虑过的QA系统的列表以及他们在QALD测试集 实现的分数。

在这里插入图片描述

(我们包含了 查询DBpedia的QALD任务和QALD-4任务2,解决了互连KBs上的QA问题。没有直接参与挑战的系统标注了 * ,但随后在相同的基准上进行了评估。我们将指出找到查询的系统的平均运行时间。即使运行时评估是在不同的硬件上执行的,它仍然有助于了解模型的可伸缩性)

5. 问答流程

为了对 QA系统所使用的技术进行分类,我们将QA 流程分为五个任务:问题分析、短语映射、消歧、查询构造和查询分布式知识(见图2)。
在这里插入图片描述

概述下五大任务。
1)问句分析,主要是NLP的基础分析:判断问句类型、NER、关系分类、依存句法等。
2)短语映射,从问句中找到的短语s,在知识库中找到对应的资源(可能是实体、关系)
3)消歧,对之前的映射进行消歧
4)查询构建,也就是生成SPARQL语句,用于查询KB。
5)查询多个知识源,当问题需要从多个KB中进行搜索才能找到完整答案时。

下面,我们通过一个简单的示例简要描述前四个步骤。假设用户输入了问题:“欧洲有多少人口?”,DBpedia是查询的知识库。

问题分析任务中,我们包括使用纯语法功能来提取有关给定问题的信息的所有技术。 例如,这些方法包括确定问题的类型,是 “what” 问题,识别命名实体(例如“欧洲”),识别关系和实体(主体和客体),例如关系“是……的人口”, 以及它们的依存关系,例如“是…的人口”和“欧洲”之间存在依存关系。

短语映射任务,始于一个短语 s s s , 试图识别对应 s s s 的高概率资源。例如,这个短语 “欧洲” 可能的资源在DBpedia中是: d b r : 欧 洲 _ ( 乐 队 ) dbr:欧洲\_(乐队) dbr:_() (指一个乐队称为欧洲)、 d b r : 欧 洲 dbr:欧洲 dbr: (指欧洲大陆) 和 d b r : 欧 洲 _ ( 小 船 ) dbr:欧洲\_(小船) dbr:_() (一个特定类型的船) 。

消歧 任务中,我们包括用于确定在短语映射任务期间确定的哪些资源是正确的资源的技术。在上面的例子中,“欧洲”不能指一支乐队或一艘船,因为谈论他们的人口没有意义。因此,这两种资源可以排除在外。

查询构造任务描述如何构造可发送到端点的SPARQL查询。本部分还介绍了需要特殊操作符(如比较符和最高级)的查询的构造。在上面的例子中,生成的 SPARQL 查询是:在这里插入图片描述
在分布式知识任务中,我们包括在回答问题的信息必须从几个KBs中检索时使用的技术。请注意,QA系统通常不会严格按照五个任务进行划分。然而,基于当前的最优模型( 包括这里没有提及的系统,即没有对QALD进行评估的系统 ),我们发现QA系统通常可以以这种方式分解。注意,任务的细分并不是为QA系统提供一个通用的体系结构,而是对QA系统进行分类和比较。此外,通常没有处理任务的优先顺序,即:Xser[79] 首先执行消歧,然后构造查询,而SEMPRE[9] 则相反。

在第10节中,将任务映射到最先进的QA系统中的挑战。下面五个部分描述了QA系统用于解决不同任务的技术。我们关注的是可以适应任何知识库的技术,即不使用特定于DBpedia/ wikipedia 的技术。

6. 问题分析

6.1 识别命名实体

可使用现有的NLP工具包进行NER,局限是只限于某些特定领域(人名地名等)。还可使用Ngram的方式,将Ngram结果作为各个实体,与KB进行比较。如果有现成的Entity Linking工具,可以直接完成实体识别+与知识库的映射。

6.2 使用词性标注来分割问题

先对句子进行POS标注,有了POS tag,可以辅助进行句子的切分(切出表示实体、关系的短语)。可通过人工构建规则的方式(例如正则表达式等),也可以通过标注训练数据+机器学习的方式。

6.3 使用解析器标识依赖关系

依存分析可以识别出句子中各个块之间的关系。parser要基于某种形式化的语法来做解析,语法包括符号以及将符号组合起来的规则。不同的KBQA系统,有时使用了不同的依存分析语法。

下图展示了几种不同的解析表示方式。

6.3.1 基于短语结构语法的解析器

在这里插入图片描述

6.3.2 基于依赖文法的解析器

在这里插入图片描述
在这里插入图片描述

6.4 问题分析总结和研究挑战

表3显示了不同引擎用于问题分析的策略。如果从出版物的描述中不清楚使用的是哪种技术,我们就打个问号。已标识出的研究挑战如下:问题类型的识别、多语言性以及聚合、比较和否定符的识别。第13节将通过调研给出研究挑战的横向观点。

表3,表格的每一行对应一个QA系统
在这里插入图片描述

7. 短语映射

给定一个短语 s s s,想要在 KB 中找到它对应的实体/关系/类。

KB 中,资源记作 r r r,每个资源有对应的label,所以我们的目标是给定 s s s,找到label与 s s s 相等或包含 s s s r r r

为了能够快速进行搜索,需要对KB构建索引,可使用某些三元组数据库(例如说virtuoso)内置的索引功能,或者采用LUcene外部搜索工具。

但在映射时,有一些要注意的问题:一是 s s s 可能存在拼写错误或者单复数等形式,导致字面符号不完全一致;二是存在文字书写几乎不相关,但语义非常相似的,例如EU对应欧盟,married对应spouse等。这两个问题非常重要。

第一个问题,可通过计算字符串相似度,or 模糊搜索 or 英文的stemming词干化,来解决拼写错误或单复数的问题。

第二个问题涉及语义相似度,主要有以下解决思路:

1)词库。例如借助WordNet和Wiktionary,或者专门的一个同义词库PATTY,可将s扩展成多个同义词,拿多个同义词去KB中搜索。带来的一个坏处是由于匹配到了更多的内容,给消歧增大了计算量。

2)重定向。开发知识库的sameAs关系,为一个实体增加多个sameAs实体,这样就便于匹配到了。

3)从文本中抽取。例如已知kb中的三元组x,r,y,拿着x,y去文本中,找他俩出现的位置,夹在之间的文本很可能就是关系r对应的文本表示。大致依照这种思路,找到文本与KB资源的对应关系。

4)词向量方式。借助word2vec等词向量,找到同义词,或者计算相似度。

此外,有部分工具直接提供了短语映射功能,例如DBpedia Lookup、WikiPedia Miner Tool等。

7.1 知识库标签

7.2 处理字符串相似度

7.3 处理语义相似度

7.3.1 Databases with lexicalizations

词库。例如借助WordNet和Wiktionary,或者专门的一个同义词库PATTY,可将s扩展成多个同义词,拿多个同义词去KB中搜索。带来的一个坏处是由于匹配到了更多的内容,给消歧增大了计算量。

7.3.2 Redirects

重定向。开发知识库的sameAs关系,为一个实体增加多个sameAs实体,这样就便于匹配到了

7.3.3 A database with relational lexcalizations (PATTY)

7.3.4 Finding mappings using extracted knowledge

7.3.5 Finding mappings using large texts

7.4 特定于 Wikipedia的方法

此外,有部分工具直接提供了短语映射功能,例如DBpedia Lookup、WikiPedia Miner Tool等。

7.5 对短语映射任务的总结和研究挑战

表4概述了引擎使用哪种技术进行短语映射。这一步的重点是要在选择尽可能少的候选资源来提高精确度和时间性能 和 选择足够多的候选资源来选择相关的资源来提高召回率 之间找到平衡。在短语映射步骤中确定的研究挑战是:填补词汇/词汇差距和多语言性。如果用户查询中的词汇表和知识库词汇表用不同的语言表达(词汇化),则采用后者。关于研究挑战的横向观点见第13节。

在这里插入图片描述

(这里也涉及到p和r两个指标之间的取舍问题:更少的匹配可以提升precision,更多的匹配可以提升recall。)

8. 消歧

之前的两步操作,都可能产生歧义:切分和依存分析时会有歧义,将短语与KB进行映射时也会有歧义。

8.1 本地消歧

主要通过两种特征来辅助消歧。一是字符串或语义相似度,用来对多个候选答案进行排序。二是一些类型一致性检查,用来排除某些候选答案。之所以叫做“本地”,是因为只针对直接关联的这两个资源进行检查,不涉及其他资源,所以可直接本地进行,速度较快,但缺点是本地信息较少,有时不包含类型等信息,一致性检查就没法做。

例如,“谁是指环王的导演”,由于“导演”包含领域信息-电影,所以指环王的类型也应该是电影。但如果指环王不包含领域信息,这种一致性检查就没法做了。

8.2 图搜索

8.3 隐马尔科夫模型

8.4 整数线性规划

8.5 马尔科夫逻辑网络

8.6 结构化的感知器

8.7 用户反馈

8.8 消歧的总结和研究挑战

9. 查询构建

9.1 使用模板进行查询构建

9.2 由问题分析信息引导的查询构造

9.3 使用语义解析构造查询

9.4 使用匹配学习进行查询构建

9.5 基于语义信息的查询构造

9.6 不使用 SPARQL 的方法

9.7 查询构建任务的总结和研究挑战

10. 查询分布式知识

10.1 考虑 KBs 无关

10.2 考虑相互联系的 KBs

11. 在WebQuestions 进行评估的QA系统

12. 在SimpleQuestions 进行评估的QA系统

13. KBQA研究挑战的演变

通过不同的调研 和 QALD评估报告,我们看到了自开放领域 KBQA 开始以来的文献中所描述的研究挑战。表10列出每个挑战和对应的参考文献和年份,即引用给定调研的KBQA的出版年的范围,不包括其他类型的QA系统(共享的一些挑战,数据库的自然语言接口)。我们将类似的挑战分组在一起,如果适用的话,将它们映射到QA过程中的五个任务中。因此,我们将本文分析的技术集中在一起的任务与它们所尝试解决的挑战联系起来。

文章目录

KBQA 的核心技术综述

0. 摘要

语义网中包含大量的信息,以知识库的形式存储。KBQA系统可以帮助人们获取这些信息。构建KBQA系统时,面临许多挑战,通常需要结合自然语言处理、信息检索、机器学习和语义网络等多种技术。本文综述了目前基于流行的测评基准QALD(Question Answering over Linked Data)的各个KBQA系统所使用的技术。本文将KBQA分成多个阶段,综述每个阶段的技术,同时探讨各项技术的优缺点。此外,也指出了基于WebQuestions 和 SimpleQuestions 这两个流行的基准的QA系统所用到的技术。

关键词: 问答、QALD、WebQuestions、SimpleQuestions、语义网、知识库、调研

1. 介绍

问答(QA) 是计算机科学中一个非常古老的研究领域。第一个QA系统是在20世纪60年代末和70年代初开发的,用于通过数据库访问数据。最近的一些工作设计了基于自由文本的QA系统,即从一组文档中查找包含问题答案的文本部分。这些被称为基于信息检索(IR)的QA系统。 在过去的二十年中,由于语义网的发展,许多新的结构化数据以知识库(KB)的形式在Web上变得可用。如今,有关于媒体、出版物、地理、生命科学等方面的KBs。KBs上的QA已经出现,使终端用户可以获得这些信息。有关更详细的历史概述,请参阅[54]。由于W3C的事实标准 RDF 和SPARQL 的发布,KBs 的发布速度加快了。RDF是一种用于发布新的KBs的格式。SPARQL是RDF的强大查询语言,但它需要专业知识。基于KBs的QA系统背后的思想是在知识库中查找用户使用自然语言请求的信息。这通常通过将自然问题转换为SPARQL查询来解决,SPARQL查询可用于检索所需的信息。在下面,当我们谈到QA系统时,我们指的是 KBs 上的QA系统。由于目前的 QA 系统数量众多,要对所有的 QA 系统进行深入的分析需要大量的工作。那么,我们聚焦于特定基准的QA系统。这将允许比较QA系统的总体性能,并至少提示在QA系统中使用的某个技术有多好。我们在这里专注于 Question Answering over Linked Data (QALD) 的基准测试,它符合语义网的原则:侧重于RDF KBs;它提出了不同领域的KBs ,假设一个QA系统应该能够查询任何KB;它提出了大开放域问答KB像DBpedia,可伸缩性成为一个问题;它提供了问题的信息应该从多个相互关联的KBs;它包含有多个关系和操作的问题,如比较级和最高级;它提出了多语言问题,假设用户可以是不同的国籍。此外,我们收集了通过 WebQuestions 和 SimpleQuestions 进行评估的QA系统的列表,这是两个流行的基准测试,我们指出了这些QA系统使用的方法,而不是通过QALD进行评估。

总结上段:QA系统有多种:对数据库的、对自然文本的、对知识库的……随着RDF和SPARQL的出现,KBQA成为研究热点。)

在本文中,将KBQA分成五大子任务:问题分析、短语映射、消歧、查询构建、多个知识源上的查询。将描述、分类、比较各个KBQA系统中用到的技术。本文聚焦于3个数据源/评价基准:QALD(主要)、WebQuestions 和 SimpleQuestions。

本文的组织方式如下:

  • Section 2,我们将指出我们的调研和其他调研的不同
  • Section 3,三个主流的基准,WebQuestions, SimpleQuestions and QALD
  • Section 4,描述了如何选择比较的QA系统
  • Section 5,给出了5个子任务的概述
  • Section 6,问题分析任务所使用的技术
  • Section 7,短语映射的技术
  • Section 8,消歧任务的技术
  • Section 9,描述了不同的QA 构造的查询
  • Section 10,如果所请求的信息是分布式的,该做哪些改变
  • Section 11 和 12,将分析的系统在WebQuestions和SimpleQuestions评估的系统进行比较。
  • Section 13,QA领域挑战演变的概述。基于对本出版物的分析
  • Section 14,我们指出了QA领域的未来发展。

2. 相关工作

在文本检索会议(TREC)、跨语言评估论坛(CLEF)和NII Test Collections for IR systems (NTCIR)竞赛的推动下,在IR领域已经有了各种关于系统的调研,见[3,29,49]。

在 [3,29] 中,基于 IR 的QA系统的分析是基于三个核心组件:(1) 问题分析和分类 (2) 信息检索来提取与答案相关的文档 (3) 答案提取和排序,这三个模块分别与 自然语言处理(NLP)、信息检索(IR)和信息提取(IE)技术相关 [3]。基于[29]的总体方法,QA系统分为:语言、统计和模式匹配。

在这些调研中,只简要描述了一些基于结构化KBs 的特定领域的QA方法。在分析的开放域QA系统中,采用了KBs和分类法;然而,它们不是用来寻找答案,而是作为特征在QA过程中使用,其中答案是从文本中提取的。例如,他们用于支持问题类型分类、预测预期的答案类型 或从语义上丰富解析树,以此来促进问答匹配,经常结合ML方法(支持向量机,最近邻,贝叶斯分类器,决策树等等)或从文本的方法学习文本模式。

与这些调研不同的是,我们深入研究了QA系统用于从KBs 中提取答案的技术。特别是,我们专注于回答 自2011年QALD引入以来提出的关于链接数据(Linked Data)的开放域查询。我们将看到QALD基准为KBs上的QA系统引入了不同的挑战(详见第13节),为此,应用了各种新颖或现有的技术及其组合。此外,我们指出了QA系统在 WebQuestions 和 SimpleQuestions 上评估 所使用的一些技术。

现有的QALD报告[16,52,77-73]、关于开放式QA系统在KBs上面临的挑战的调查[36,54]和关于主题[46]的最新调研给出了 每个QA系统的简要概述。它们不允许对QA过程的每个阶段中使用的技术进行详细的比较。在这项调查中,对参与QALD竞赛的32个QA系统所采用的每种技术的优缺点进行了描述。

3. QA 的基准

基于KBs的QA系统的基准测试是一个新的发展。在2011年,仍然没有[54]中描述的用于比较不同QA系统的基准。因此,使用带有特殊任务的小型场景在不同的KBs上测试QA系统。

在过去的几年中,针对KBs的QA系统出现了不同的基准。最常见的三个问题是 WebQuestions [9],SimpleQuestion [13]和 QALD [16,52,71 - 73]。实际上QALD不是一个基准,而是QA系统在KBs上的一系列评估竞赛。到目前为止,已经提出了六个挑战。表1给出了概述:
在这里插入图片描述
每年都有一项任务包括 通过DBpedia进行QA。下面,我们将集中讨论这些结果。此外,为了解决请求的信息分布在许多KBs中的情况,我们考虑QALD-4 任务 2。它提供3个相互连接的KBs,25个训练问题和25个测试问题,这只能通过搜索和组合分布在3个 KBs上的信息来回答。我们根据数据集、问题和评估指标来比较这三个基准。
在这里插入图片描述
(图1:Freebase还包含非二元关系,如“ “Portugal is a member of the European Union since 1986”。这些信息存储在Freebase中,使用的是一种具体化。它使用 “中介节点” (在本例中为 m m m )。注意,在转储(dump)中,对于每个关系,它的逆也被存储。DBpedia不是这样的。)

3.1 数据集

WebQuestionsSimpleQuestions 包含可以使用Freebase[41] 回答的问题。QALD挑战总是包括作为RDF数据集的DBpedia ,以及其他一些挑战。DBpedia和Freebase之间的主要区别在于信息的结构。Freebase既包含二元关系,也包含非二元关系。非二元关系是使用中介节点的具体化来存储的。图1给出了一个例子。在DBpedia中则不是这样,其中只存储二元关系。特别是,时间信息不存在。一些关于 WebQuestions 的工作,如[13]和[47],通过删除“中介节点”,将非二元关系转换为二元关系。Bordes et al. [13] 指出 这样的话在 WebQuestions 仍有86%的问题可被回答。

此外,对于每个关系,Freebase 还存储它的逆关系,而DBpedia 认为是它是冗余的。关于大小,DBpedia端点包含近400000个三元组,而最新的Freebase转储了包含19亿个三元组。考虑到Freebase中的mediator和反向,两者信息量基本差不多。此外,请注意,WebQuestions 和 SimpleQuestions 通常只用 Freebase 的一个子集来解决。即 FB2MFB5M 分别只包含 200万个实体和 500万个实体。

3.2 问题

WebQuestion 包含5810个问题,它们遵循一个非常相似的模式,这是由于用于构建数据集的众包方法。大约97%的问题可以只用一个具象化的陈述来回答,其中包含一些潜在的约束,如类型约束或时间约束。SimpleQuestion 包含108442个问题,可以用一个二元关系来回答。

QALD的问题每年都由挑战赛的组织者准备。通常最多可以使用三个二元关系来回答这些问题,并且通常需要像 ORDER BY 和 COUNT 这样的修饰符。此外,有些问题超出了讨论范围。训练集很小,只有50到250个问题。所以QALD不利于做监督学习。最后,对于每个问题,SimpleQuestionQALD 数据集使用SPARQL查询进行标注,而 WebQuestions 数据集仅使用答案的标签进行标注。
数据集WebQuestionsSP[89],其中包含针对WebQuestions中的每个问题的SPARQL查询。

3.3 评估

在评价时,使用三个参数:精度、召回率和F-measure。它们在所有基准中都是相同的。

精度(Precision):精确度表示有多少答案是正确的。对于问题 q q q,计算如下:
在这里插入图片描述
召回(Recall):对于每个问题,都有一组预期的正确答案,这些答案被称为黄金标准答案。Recall表示返回的答案中有多少属于黄金标准。计算方法为:
在这里插入图片描述
我们使用下面的示例来解释这些参数。假设用户问:“三种原色是什么?”黄金标准答案是 :“绿色”、“红色”和“蓝色”。如果系统返回“绿色”和“蓝色”作为答案,那么精度是 1,因为所有的答案都是正确的,但召回只有2/3,因为答案“红色”是缺失的。

系统的全局精度和召回率可分为微观精度、宏观精度和召回率两种计算方法。

  • 系统的微观精度和召回率是通过对所有已回答问题的精度和召回率取平均值来计算的,即不考虑未回答的问题。
  • 系统的宏观精度和召回率是通过对所有问题的精度和召回率取平均值来计算的

(微观或宏观) F-measure 是(微观或宏观)精度与召回率之间的加权平均,其计算方法如下:
在这里插入图片描述
注意,如果精度或召回率都接近于零,则F-measure接近于零;只有当精度和召回率都为1时,F-measure才等于1。在这次调研中,我们报告了宏观精度、召回率和F-measure,因为这些是基准使用的官方指标。另一个对用户很重要的参数是 运行时间。这通常表示为QA系统回答问题所花费的平均时间。

4. QA 系统的选择

(本文筛选用于分析的QA系统时,首先选出了参加QALD比赛,以及引用了QALD文章的系统,然后进行筛选,例如,滤除了一些只能回答形式化问题的系统。)

我们简要描述了本论文中比较的 QA 系统是如何选择的。我们认为这些系统要么直接参与了QALD 挑战赛,要么在重用相同的评估设置后被评估。为了识别后一种系统,我们在谷歌Scholar中搜索所有提及或引用QALD 挑战赛的出版物[16,52,71 - 73]。从这些出版物中,我们选取了涉及QA系统的出版物。

我们排除了只能回答用受控自然语言表述的问题的系统,即squall2sparql [33] 和 CANaLI [59]。此外,我们不推荐使用图形用户界面来指导用户构造查询的系统。这些包括Sparklis [34]和 Scalewelis [48]。

注意,在过去的几年中,其他类型的 QA 系统也出现了。在这两者之间,存在一种混合QA,即同时使用 自由文本 和 KBs 的QA。这个问题被QA系统 HAWK [74] 和 YodaQA [7] 解决。QA的另一种类型是对使用RDF Data Cube词汇表表达的统计数据进行QA。这个问题被CubeQA [45] 和QA [4]解决了。因为只有少数作品在这些方面,我们直接引导读者到他们。

参与QALD 的QA系统:APAQ, AskDBpedia, KWGAnswer, MHE, NbFramework, PersianQA, RO_FII, UIQA,因为没有相应的发表被排除。

表2包含了考虑过的QA系统的列表以及他们在QALD测试集 实现的分数。

在这里插入图片描述

(我们包含了 查询DBpedia的QALD任务和QALD-4任务2,解决了互连KBs上的QA问题。没有直接参与挑战的系统标注了 * ,但随后在相同的基准上进行了评估。我们将指出找到查询的系统的平均运行时间。即使运行时评估是在不同的硬件上执行的,它仍然有助于了解模型的可伸缩性)

5. 问答流程

为了对 QA系统所使用的技术进行分类,我们将QA 流程分为五个任务:问题分析、短语映射、消歧、查询构造和查询分布式知识(见图2)。
在这里插入图片描述

概述下五大任务。
1)问句分析,主要是NLP的基础分析:判断问句类型、NER、关系分类、依存句法等。
2)短语映射,从问句中找到的短语s,在知识库中找到对应的资源(可能是实体、关系)
3)消歧,对之前的映射进行消歧
4)查询构建,也就是生成SPARQL语句,用于查询KB。
5)查询多个知识源,当问题需要从多个KB中进行搜索才能找到完整答案时。

下面,我们通过一个简单的示例简要描述前四个步骤。假设用户输入了问题:“欧洲有多少人口?”,DBpedia是查询的知识库。

问题分析任务中,我们包括使用纯语法功能来提取有关给定问题的信息的所有技术。 例如,这些方法包括确定问题的类型,是 “what” 问题,识别命名实体(例如“欧洲”),识别关系和实体(主体和客体),例如关系“是……的人口”, 以及它们的依存关系,例如“是…的人口”和“欧洲”之间存在依存关系。

短语映射任务,始于一个短语 s s s , 试图识别对应 s s s 的高概率资源。例如,这个短语 “欧洲” 可能的资源在DBpedia中是: d b r : 欧 洲 _ ( 乐 队 ) dbr:欧洲\_(乐队) dbr:_() (指一个乐队称为欧洲)、 d b r : 欧 洲 dbr:欧洲 dbr: (指欧洲大陆) 和 d b r : 欧 洲 _ ( 小 船 ) dbr:欧洲\_(小船) dbr:_() (一个特定类型的船) 。

消歧 任务中,我们包括用于确定在短语映射任务期间确定的哪些资源是正确的资源的技术。在上面的例子中,“欧洲”不能指一支乐队或一艘船,因为谈论他们的人口没有意义。因此,这两种资源可以排除在外。

查询构造任务描述如何构造可发送到端点的SPARQL查询。本部分还介绍了需要特殊操作符(如比较符和最高级)的查询的构造。在上面的例子中,生成的 SPARQL 查询是:在这里插入图片描述
在分布式知识任务中,我们包括在回答问题的信息必须从几个KBs中检索时使用的技术。请注意,QA系统通常不会严格按照五个任务进行划分。然而,基于当前的最优模型( 包括这里没有提及的系统,即没有对QALD进行评估的系统 ),我们发现QA系统通常可以以这种方式分解。注意,任务的细分并不是为QA系统提供一个通用的体系结构,而是对QA系统进行分类和比较。此外,通常没有处理任务的优先顺序,即:Xser[79] 首先执行消歧,然后构造查询,而SEMPRE[9] 则相反。

在第10节中,将任务映射到最先进的QA系统中的挑战。下面五个部分描述了QA系统用于解决不同任务的技术。我们关注的是可以适应任何知识库的技术,即不使用特定于DBpedia/ wikipedia 的技术。

6. 问题分析

6.1 识别命名实体

可使用现有的NLP工具包进行NER,局限是只限于某些特定领域(人名地名等)。还可使用Ngram的方式,将Ngram结果作为各个实体,与KB进行比较。如果有现成的Entity Linking工具,可以直接完成实体识别+与知识库的映射。

6.2 使用词性标注来分割问题

先对句子进行POS标注,有了POS tag,可以辅助进行句子的切分(切出表示实体、关系的短语)。可通过人工构建规则的方式(例如正则表达式等),也可以通过标注训练数据+机器学习的方式。

6.3 使用解析器标识依赖关系

依存分析可以识别出句子中各个块之间的关系。parser要基于某种形式化的语法来做解析,语法包括符号以及将符号组合起来的规则。不同的KBQA系统,有时使用了不同的依存分析语法。

下图展示了几种不同的解析表示方式。

6.3.1 基于短语结构语法的解析器

在这里插入图片描述

6.3.2 基于依赖文法的解析器

在这里插入图片描述
在这里插入图片描述

6.4 问题分析总结和研究挑战

表3显示了不同引擎用于问题分析的策略。如果从出版物的描述中不清楚使用的是哪种技术,我们就打个问号。已标识出的研究挑战如下:问题类型的识别、多语言性以及聚合、比较和否定符的识别。第13节将通过调研给出研究挑战的横向观点。

表3,表格的每一行对应一个QA系统
在这里插入图片描述

7. 短语映射

给定一个短语 s s s,想要在 KB 中找到它对应的实体/关系/类。

KB 中,资源记作 r r r,每个资源有对应的label,所以我们的目标是给定 s s s,找到label与 s s s 相等或包含 s s s r r r

为了能够快速进行搜索,需要对KB构建索引,可使用某些三元组数据库(例如说virtuoso)内置的索引功能,或者采用LUcene外部搜索工具。

但在映射时,有一些要注意的问题:一是 s s s 可能存在拼写错误或者单复数等形式,导致字面符号不完全一致;二是存在文字书写几乎不相关,但语义非常相似的,例如EU对应欧盟,married对应spouse等。这两个问题非常重要。

第一个问题,可通过计算字符串相似度,or 模糊搜索 or 英文的stemming词干化,来解决拼写错误或单复数的问题。

第二个问题涉及语义相似度,主要有以下解决思路:

1)词库。例如借助WordNet和Wiktionary,或者专门的一个同义词库PATTY,可将s扩展成多个同义词,拿多个同义词去KB中搜索。带来的一个坏处是由于匹配到了更多的内容,给消歧增大了计算量。

2)重定向。开发知识库的sameAs关系,为一个实体增加多个sameAs实体,这样就便于匹配到了。

3)从文本中抽取。例如已知kb中的三元组x,r,y,拿着x,y去文本中,找他俩出现的位置,夹在之间的文本很可能就是关系r对应的文本表示。大致依照这种思路,找到文本与KB资源的对应关系。

4)词向量方式。借助word2vec等词向量,找到同义词,或者计算相似度。

此外,有部分工具直接提供了短语映射功能,例如DBpedia Lookup、WikiPedia Miner Tool等。

7.1 知识库标签

7.2 处理字符串相似度

7.3 处理语义相似度

7.3.1 Databases with lexicalizations

词库。例如借助WordNet和Wiktionary,或者专门的一个同义词库PATTY,可将s扩展成多个同义词,拿多个同义词去KB中搜索。带来的一个坏处是由于匹配到了更多的内容,给消歧增大了计算量。

7.3.2 Redirects

重定向。开发知识库的sameAs关系,为一个实体增加多个sameAs实体,这样就便于匹配到了

7.3.3 A database with relational lexcalizations (PATTY)

7.3.4 Finding mappings using extracted knowledge

7.3.5 Finding mappings using large texts

7.4 特定于 Wikipedia的方法

此外,有部分工具直接提供了短语映射功能,例如DBpedia Lookup、WikiPedia Miner Tool等。

7.5 对短语映射任务的总结和研究挑战

表4概述了引擎使用哪种技术进行短语映射。这一步的重点是要在选择尽可能少的候选资源来提高精确度和时间性能 和 选择足够多的候选资源来选择相关的资源来提高召回率 之间找到平衡。在短语映射步骤中确定的研究挑战是:填补词汇/词汇差距和多语言性。如果用户查询中的词汇表和知识库词汇表用不同的语言表达(词汇化),则采用后者。关于研究挑战的横向观点见第13节。

在这里插入图片描述

(这里也涉及到p和r两个指标之间的取舍问题:更少的匹配可以提升precision,更多的匹配可以提升recall。)

8. 消歧

之前的两步操作,都可能产生歧义:切分和依存分析时会有歧义,将短语与KB进行映射时也会有歧义。

8.1 本地消歧

主要通过两种特征来辅助消歧。一是字符串或语义相似度,用来对多个候选答案进行排序。二是一些类型一致性检查,用来排除某些候选答案。之所以叫做“本地”,是因为只针对直接关联的这两个资源进行检查,不涉及其他资源,所以可直接本地进行,速度较快,但缺点是本地信息较少,有时不包含类型等信息,一致性检查就没法做。

例如,“谁是指环王的导演”,由于“导演”包含领域信息-电影,所以指环王的类型也应该是电影。但如果指环王不包含领域信息,这种一致性检查就没法做了。

8.2 图搜索

8.3 隐马尔科夫模型

8.4 整数线性规划

8.5 马尔科夫逻辑网络

8.6 结构化的感知器

8.7 用户反馈

8.8 消歧的总结和研究挑战

9. 查询构建

9.1 使用模板进行查询构建

9.2 由问题分析信息引导的查询构造

9.3 使用语义解析构造查询

9.4 使用匹配学习进行查询构建

9.5 基于语义信息的查询构造

9.6 不使用 SPARQL 的方法

9.7 查询构建任务的总结和研究挑战

10. 查询分布式知识

10.1 考虑 KBs 无关

10.2 考虑相互联系的 KBs

11. 在WebQuestions 进行评估的QA系统

12. 在SimpleQuestions 进行评估的QA系统

13. KBQA研究挑战的演变

通过不同的调研 和 QALD评估报告,我们看到了自开放领域 KBQA 开始以来的文献中所描述的研究挑战。表10列出每个挑战和对应的参考文献和年份,即引用给定调研的KBQA的出版年的范围,不包括其他类型的QA系统(共享的一些挑战,数据库的自然语言接口)。我们将类似的挑战分组在一起,如果适用的话,将它们映射到QA过程中的五个任务中。因此,我们将本文分析的技术集中在一起的任务与它们所尝试解决的挑战联系起来。
在这里插入图片描述
在这里插入图片描述yCimiano 和 Minock 发布于2010年的一篇调研给出了一个基于地理数据集的 输入(用户)问题和输出(正式查询)的定量分析,通常用于评估第一个特定领域的基于kb 的系统。确定了以下挑战:问题类型,language light,词汇歧义,语义歧义,;范围歧义,空间和时间介词,形容词修饰语和最高级,聚集、比较和否定,非组合型、out ofscope 以及语言形式的可变性(即,与相同逻辑查询匹配的问题,不包括在表10中)。

其中一些最初确定的挑战,比如捕捉空间介词和时间介词的含义,还没有被这里所调查的QA系统解决。Cimiano 和 Minock也认为,深入研究语言和语义的方法,如意译,话语处理和指导,可以通过指导用户生成非歧义的问题,从而 提高这些系统的性能,以及处理问题不是孤立的,但在上下文与之前提出的问题。

对于这些早期的系统,可移植性是最具挑战性的问题之一,尽管定制工作很少被量化或比较[17]。Lopez et al. 2011年的调查[54] 讨论了上升的挑战,对于Web of Data,当从一个典型的知识库系统到开放领域QA系统,可移植性、可扩展性、映射和消歧,分布式查询(融合和排名的事实来源)和弥合语义数据和非结构化文本信息之间的差距。词汇歧义(名词同义或多义词)在查询一个限定域的明确知识表示时问题较少。然而,对于开放域问答(QA)来说,一个主要的挑战是如何在扩展到大型和异构源时消除正确解释的歧义。过滤和排序技术经常用于对候选解的大空间进行修剪,从而获得实时性能[54]。

……………………

最后,[46] 对语义QA系统的挑战进行了最新调研,将其分为七个挑战:词汇差距、歧义、多语言、复杂查询、分布式知识、时间和空间查询以及模板。模板挑战指的是使用模板捕获具有多个基本图形模式的(复杂)查询的结构的系统。

14. 结论

对 QA 系统的分析表明,大多数的QA系统都有许多通用的技术。例如,许多系统在问题分析和短语映射任务中使用类似的技术。此外,它显示了QA系统通常只关注于改进某些技术,而忽略了其他一些技术。例如,许多系统只使用本地消歧技术;还有一些人只使用基本的技巧来完成短语映射任务。

单独比较现有的技术几乎是不可能的。有很多这样的理由。从单片系统的性能来看,不可能推断出单个部件的作用。仅仅比较解决相同任务的技术是不够的,因为QA系统是许多组件的组合,考虑到所有步骤,必须在精确度和召回率之间找到平衡。高召回率和低精度组件的好坏取决于接下来的步骤。因此,只能通过比较整个pipeline 中不同技术的组合来进行比较。

解决这些问题的一个解决方案是使用模块化方法开发未来的QA系统。这将允许社区为新的插件做出贡献,以替代现有的方法或创建新的方法。这样做的目的是,QA系统不应该总是从头开始构建,这样研究就可以更多地集中在单个任务上。作为一个副作用,它将变得更容易比较解决相同任务的技术。这些插件应该满足语义Web的约束。它们应该是KB独立的、可伸缩的、可能是多语言的,并且在新数据集上设置QA系统时需要尽可能少的工作。我们知道有四个框架试图为QA系统提供可重用的体系结构。QALL-ME [32], openQA [58], OKBQA 和QANARY[14,25]。这种集成还允许围绕语音识别模块和可重用前端[24]等系统构建和重用服务。通过这种方式,研究社区能够处理新的研究方向,比如开发专门设计来回答KBs上的问题的语音识别系统,以及研究QA系统与用户的交互。

对QALD 和 WebQuestions 的比较表明,这些基准测试非常相似。尽管如此,这两个基准都是由两个相当孤立的社区解决的。这一点可以从QA系统不是通过QALD,就是通过网络提问来评估的事实中看出。我们希望未来这些社区能够相聚一堂,互相学习。一个可能的交汇点是Wikidata KB。有几个原因。Freebase知识库不再更新,所有相关服务都关闭了。Wikidata转储包含信息的具体化和非具体化版本,因此从DBpedia和Freebase迁移到Wikidata非常简单。此外,Wikidata周围有越来越多维护良好的服务,可以用来开发新的QA系统。

与此同时,大多数QA系统的评估仅超过一个KB,这表明在创建真正独立于KB的QA系统时需要做更多的工作。这还允许我们对知识库的质量如何影响QA系统的质量有新的认识。QA社区应该更多地处理这些问题。

最后,QA系统与用户的交互是一个没有得到很好解决的问题。我们不知道有研究开放域基于kbqa系统的可用性的工作,有一些在真实场景中应用基于KBs的QA的工作[51,68]。与用户的交互也是一个很好的机会,可以随着时间的推移改进QA系统,收集培训数据,这些数据对于提高性能和了解这些系统越来越重要。

基于KBs的QA系统的研究一直是一个热点和有趣的话题!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值