携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第11天,点击查看活动详情
导语
今天读到一篇KBQA领域比较全面的综述文章,即Core Techniques of Question Answering Systems over Knowledge Bases: A Survey。该论文将整个KBQA系统进行了模块化划分,并分别介绍了各个模块部分的常用方法和相关进展。论文整体比较长(有42页),这里也是分若干部分进行记录。
- 会议:KAIS 2017
- 链接:hal.archives-ouvertes.fr/hal-0163714…
摘要
Semantic Web(即语义网)中包含大量以知识库(Knowledge Base,KB)形式存在的信息。为了使这些信息可用,最近几年在KBs上创建了许多问答(Question Answering,QA)系统。问答系统通常结合自然语言处理、信息检索、机器学习和语义网等技术。本论文的目的是对当前KBs上的QA系统中使用的技术进行概述。本文介绍KBQA系统所使用的技术,以及这些技术在QALD、WebQuestions和SimpleQuestions基准上的对比。
关键词
Question Answering; QALD; WebQuestions; SimpleQuestions; Survey; Semantic Web; Knowledge base
1 简介
问答(QA)系统是NLP领域的一个经典的研究方向,典型的QA系统包括基于自然语言文本进行阅读理解、帮助用户通过数据库访问数据等。近期,随着语义网的发展和RDF规范的提出,各种各样的知识库被发布出来供用户使用。因此,帮助用户用自然语言问句的方式访问知识库的问答系统(KBQA)成为了一个新的研究热点。KBQA系统通常会将自然问题转换为SPARQL语句,然后对SPARQL语句执行得到查询结果反馈给用户。本文对三个知名KBQA基准数据集QLAD、WebQuestions和SimpleQuestions上的各类方法进行对比评估,总结和探讨当前KBQA领域仍存在的挑战和潜在的研究方向。
文章的组织方式如下:
- Section 2,相关工作,主要介绍本文的工作和其他的调研类论文的不同;
- Section 3,基准数据集,介绍三个KBQA的经典基准数据集WebQuestions, SimpleQuestions 和QALD,以及KBQA的评价指标;
- Section 4,本文提到的KBQA系统的选取原则;
- Section 5,KBQA的任务分解和5个子任务的概述;
- Section 6,子任务一:Question analysis;
- Section 7,子任务二:Phrase mapping;
- Section 8,子任务三:Disambiguation;
- Section 9,子任务四:Query construction;
- Section 10,子任务五:Querying distributed knowledge;
- Section 11 和 12,将分析的系统在WebQuestions和SimpleQuestions上进行分析对比;
- Section 13,KBQA领域挑战演变的概述。
- Section 14,KBQA领域的未来发展展望。
2 相关工作
在文本检索会议(TREC)、跨语言评估论坛(CLEF)和NII Test Collections for IR systems (NTCIR)竞赛的推动下,在IR领域已经有了各种关于系统的调研。
(Allam & Haggag 2012) (Dwivedi & Singh 2013)等人将基于 IR 的QA系统总结为三个核心组件:
- 问题分析和分类
- 信息检索来提取与答案相关的文档
- 答案提取和排序
这三个模块分别与 自然语言处理(NLP)、信息检索(IR)和信息提取(IE)技术相关
这些调研只简要描述了一些基于结构化KBs的特定领域的KBQA方法。尽管在开放领域的KBQA系统中,KB和分类规则也被使用。然而,它们不是用来寻找答案,而是作为特征在KBQA过程中使用,其中答案是从文本中提取的。例如,它们用于支持问题类型分类和预测预期的答案类型,或用于从语义上丰富解析树以促进问题-答案匹配,通常与机器学习方法(支持向量机、最近邻、贝叶斯分类器、决策树等)或从文本中学习文本模式的方法相结合。
与这些调研不同的是,我们深入研究了KBQA系统用于从KBs中提取答案的技术。特别是,我们专注于回答自2011年QALD引入以来提出的关于链接数据(Linked Data)的开放域查询。我们将看到QALD基准为KBs上的KBQA系统引入了不同的挑战(详见第13节),为此,研究者们应用了各种新颖或现有的技术及其组合。此外,我们指出了KBQA系统在 WebQuestions 和 SimpleQuestions 上评估 所使用的一些技术。
现有的QALD报告、关于开放式QA系统在KBs上面临的挑战的调查和关于主题的最新调研给出了每个QA系统的简要概述。它们没有对QA过程的每个阶段中使用的技术进行详细的比较。而在这项调查中,本文对参与QALD竞赛的32个QA系统所采用的每种技术的优缺点进行了描述。
3 KBQA的基准数据集
最近几年中,KBQA系统出现了不同的基准。最常见的三个数据集是 WebQuestions,SimpleQuestion和 QALD。实际上QALD不是一个基准,而是QA系统在KBs上的一系列评估竞赛。到目前为止,已经提出了六个挑战。表1给出了概述:
3.1 数据集
WebQuestions 和 SimpleQuestions 包含可以使用Freebase回答的问题。QALD挑战总是包括作为RDF数据集的DBpedia ,以及其他一些挑战。DBpedia和Freebase之间的主要区别在于信息的结构。Freebase既包含二元关系,也包含非二元关系。非二元关系是使用中介节点的具体化来存储的。图1给出了一个例子。在DBpedia中则不是这样,其中只存储二元关系。特别是,时间信息不存在。一些关于 WebQuestions 的工作,通过删除“中介节点”,将非二元关系转换为二元关系。
图一展示了Freebase中的一个非二元关系,中间的m被称为“中介节点”。注意,在转储(dump)中,对于每个关系,它的逆也被存储。DBpedia不是这样的。
3.2 问题
WebQuestion 包含5810个问题,它们遵循一个非常相似的模式,这是由于用于构建数据集的众包方法。大约97%的问题可以只用一个具象化的陈述来回答,其中包含一些潜在的约束,如类型约束或时间约束。
SimpleQuestion 包含108442个问题,可以用一个二元关系来回答。
QALD的问题每年都由挑战赛的组织者准备。通常最多可以使用三个二元关系来回答这些问题,并且通常需要像 ORDER BY 和 COUNT 这样的修饰符。此外,有些问题超出了讨论范围。训练集很小,只有50到250个问题。所以QALD不利于做监督学习。
最后,对于每个问题,SimpleQuestion 和 QALD 数据集使用SPARQL查询进行标注,而 WebQuestions 数据集仅使用答案的标签进行标注。
数据集WebQuestionsSP包含针对WebQuestions中的每个问题的SPARQL查询。
3.3 评估
所有的基准都采用统一的评价指标:
- 精确度Precision :精确度表示有多少答案是正确的。对于问题q,计算如下:
- 召回率Recall :召回率表示预期的正确答案被实际返回的比例,计算如下:
- F-measure 是(微观或宏观)精度与召回率之间的加权平均,其计算方法如下:
这里举个例子,假设用户问句为:
Q: 三种原色是什么?
标准答案即gold answer为 :
A: [“绿色”, “红色”, “蓝色”]
假设一个KBQA系统返回的答案为:
A' = [“绿色”, “蓝色”]
则可以计算得到,因为所有的答案都是正确的; 但,因为答案“红色”是缺失的。
则
总结
本篇博客是论文Core Techniques of Question Answering Systems over Knowledge Bases: A Survey的笔记的第一篇内容,由于原论文太长(42页),这里分为若干部分来记录。本篇博客主要介绍了原论文的1-3部分,主要包括该综述文章的调查背景、相关工作、KBQA的三个经典基准数据集和标准的评价指标介绍。后续将继续沿着论文的各个部分进行记录,敬请期待。