携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第2天,点击查看活动详情
导语
KBQA 知识图谱问答(Knowledge Base Question Answering,简称KBQA)是指利用机器对自然语言分析与处理能力,理解用户所提出的问题,并利用知识图谱中的结构化知识进行查询、推理,找到解决该问题的精准答案并反馈给用户,协助用户解决不同类型的问题的任务。在KBQA领域中,最重要的一环就是将用户的自然语言问句转换为知识图谱查询语句,即SPARQL语句。本篇博客主要记录一个经典的数据集LC-QuAD 1.0的相关资料。
- 会议:ISWC 2017
- 链接:jens-lehmann.org/files/2017/…
简介
随着大规模知识库(KBs)的出现,如DBpedia、Freebase和Wikidata,结构化数据上的问答(QA)已经成为一个主要的研究主题。在结构化数据上的QA系统,是用户用他们自己的术语用自然语言提出问题,并从系统获得简洁的回答。这些系统使用结构化数据作为背景知识,经常将QA问题建模为将自然语言问题(NLQ)转换为正式的查询语言表达式,如SPARQL或λ-Calculus表达式。
在LC-QuAD创建之前,常用的KBQA数据集例如Free917,QALD-6包含的标注数目都比较少(Free917包含917个example,QALD-6包含550个example),LC-QuAD是第一个大型的包含复杂SPARQL查询的数据集,包含一共有5000个数据样例。
相关工作
略
数据量生成的工作流
下图展示了LC-QuAD数据集的生成过程,
数据集的生成框架与以往先提问题,然后人工标注不同,LC-QuAD使用一种反向的过程:
- 创建一系列的SPARQL模板、seed entity列表和谓词白名单;
- 对于每一个seed entity,从DBpedia中提取subgraph,其中包含的三元组在seed entity两跳范围内;
- 通过使用subgraph中的三元组,将这些模板转化为有效的SPARQL语句。
同时,为了避免产生相似的问题,作者对子图进行了修剪,以避免产生类似的问题。所谓的相似在这里定义如下:拥有同样的SPARQL模板、谓词和相同的RDF类型的实体。
下表展示了数据集中的几个样例,
本文对于特定的SPARQL模板,为他们人工创建对应的自然语言模板,然后将实体和谓词填入进去。最后,只需要找人将这些机械、生硬甚至有语法错误的模板进行语法纠正和同义解释就可以。(其中Normalized Natural Question Templates (NNQT).)
通过这种方式,使用NNQT,作者将解释和表述SPARQL查询的任务转换为更简单的语法纠正和解释任务,从而减少了数据集生成过程所需的领域专业知识。这样需要的标注人员并不用精通或者了解SPARQL语句,只需要native English speaker就行。
数据集特征
数据集统计指标如下:
可以看到,相对于之前的两个复杂KBQA数据集,LC-QuAD有着更大的数据规模和实体数目,同时也给出了对应的SPARQL语句。所有的数据依赖于DBpedia 2016-04版本的sparql endpoint进行执行。
总结
本篇博客介绍了KBQA领域第一个大型的复杂Text2SPARQL数据集,所有的数据以一种半人工的方式在DBpedia上进行标注,为后续的研究提供了很好的资源。