关于KBQA的一些总结


关于KBQA的一些总结

什么是基于知识图谱的问答(KBQA)?

KBQA–knowledge base question answering,通过对问题进行语义理解及解析,通过知识库进行查询。

KBQA的基本要素:

输入:自然语言问句,例如“姚明的老婆是谁?”,“姚明的身高多少?”
输出:知识图谱里的实体或者关系,例如“叶莉”,“2米29”
评价标准:召回率,准确率,F1-Score

KBQA的最基础方法–基于模板方法:

步骤:
自然语言查询–>意图识别(Intention Recognition)–>实体链指(Entity Linking)+关系识别(Relation Detection) –>查询语句拼装(Query Construction)–>返回结果选择(Answering Selection)

下面简单介绍下各个步骤的内容:
意图识别(Intention Recognition):预先准备好意图模板,可以通过相似度来匹配,也可以通过机器学习里的分类问题来解决,这个是所有问答系统都要面临的问题。

实体链指(Entity Linking)+关系识别(Relation Detection):将查询语句中出现的实体和关系映射到知识图谱里,本质是一个NER问题,只是需要将NER结果进一步链接到图谱。
参考论文:

  • Entity Linking: Finding Extracted Entitiesin a Knowledge Base
  • Improved Neural Relation Detection forKnowledge Base Question Answering

查询语句拼装(Query Construction):需要根据底层知识图谱的查询语言,拼装成对应的query来查询(sparq等),最简单的方法就是预先定义好查询模板,根据之前解析出来的(意图,实体,关系)填进模板查询即可。
返回结果选择(Answering Selection):图谱查询之后的结果可能存在多个,需要选择一个最合适的答案,可以预先指定排序规则去选择答案。

基于模板方法的优缺点及改进:

基于模板的优点:

  • 查询响应速度快;准确率高,可以回答复杂查询

基于模板的缺点:

  • 要满足用户的各种问法,需要建立庞大的模板库,这个过程是很耗精力的

优化点:
以上步骤最大的问题在于,需要人工事先准备模板,需要很大的工作量,是否可以自动生成模板?
参考论文:

  • Automated Template Generation for Question Answering over KnowledgeGraphs

其他方法:

KBQA除了基于模板的方法之外,还有基于语义解析和基于深度学习等方法,后续再开新的文章进行介绍。


文章作者: Nczkevin
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Nczkevin !
评论
 上一篇
下一个2月29号见 下一个2月29号见
又一个2月29(2016-2020)回望过去四年,没有能完成当年许下的诺言 时间过的太快! 这四年我都做了什么? 2016年写下上一篇文章时,我正在和朋友准备互联网+竞赛,正在团学时空担任技术部部长,正在参与谢扬大佬的gospel创业计划
2020-02-29
下一篇 
剑指Offer 二 剑指Offer 二
剑指Offer 二0-n-1中缺失的数字class Solution(object): def missingNumber(self, nums): lenth = len(nums) left, r
2019-04-18
  目录