基于知识图谱的问答系统(上)

基于知识图谱的问答系统(上)

本项目是基于知识图谱的问答系统,BERT+BILSTM+CRF做命名实体识别和句子相似度比较,最后实现线上的部署。
项目的分以下步骤进行描述:

  • 1-问答QA系统简单介绍
    - 1.1-问答系统目标
    - 1.2-问答系统分类
    - 1.3-问答系统框架
  • 2-知识库问答KB-QA介绍

1-问答QA系统简单介绍

-1.1-问答系统目标

总目标:给定一个自然语言的问题,能够得到简短、精确的答案。或是⼀个能回答任意⾃然语⾔形式问题的⾃动机。

-1.2-问答系统分类

基于知识图谱的问答系统(上)_第1张图片

-1.3-问答系统框架

基于知识图谱的问答系统(上)_第2张图片
⼀个较完整的问答系统流程主要有以下三步:

  • 1-问题分析模块
    总的⽬标:如何去分析问题
    问题分析模块主要负责对⽤户的提问进⾏处理,⽐如,“华⼭在哪⾥?”问题分析模块通过对这个问题的
    分析,就可以知道⽤户是在问华⼭的地理位置。问题的分析⼀般包括:
    ⽣成查询关键词(提问关键词,扩展关键词,…)
    确定提问答案类型(PER, LOC, ORG, TIM, NUM, …)
    确定提问的句法、命名实体、语义表示等等。
  • 2-问题回答模块(信息检索)
    总的⽬标:如何根据问题的分析结果去缩⼩答案可能存在的范围。这个过程包含
    2.1.信息抽取
    ⽅法描述:从问句中提取关键词语,⽤信息检索的⽅法找出包含候选答案的段落或句⼦,然后基于问答
    类型⽤信息抽取的⽅法从备选答案集中提取出最佳答案。
    检索过程:段落或者句⼦级排序,利⽤不同类型关键词的加权组合
    答案抽取过程:根据问答类型从排序后的段落或句⼦中抽取答案
    2.2.模式匹配
    基本思想:对于某些提问类型(某⼈的出⽣⽇期、原名、别称等),问句和包含答案的句⼦之间存在⼀
    定的答案模式,该⽅法在信息检索的基础上根据这种模式找出答案。因此如何⾃动获取某些类型提问的
    尽可能多的答案模式是其中的关键技术。
    举个例⼦:
    问题⽂本:1968年的今天,加州斯坦福研究所的道格·恩格勒巴特发明了世界上第⼀只⿏标。最初恩格
    勒巴特给⿏标 起的名字叫“显示位置纵横显示器”最初的⿏标不过是⼀个⽊盒拖着⼀根绳⼦。但⼀个“⿏
    标”(Mouse)的⼩名却⻛靡天下。就是这⽆名⿏辈,竟让世界发⽣了天翻地覆的变化。……
    如下给出了⼀个发明家(INVENTOR)型问题的的答案模式及其答案匹配过程:
    问题:⿏标是谁发明的?
    先由问题解析问题类型< Question Type>和问题词< Q_tag>,这个⽅法略过。
    问题类型< Question Type>:发明家(INVENTOR)
    问题词< Q_tag>:⿏标
    我们要求的是答案< A>,然后根据候选句的评分,进⾏排序,返回前n句中匹配到的答案项。
    1.0 < A> 发明 < Q_tag>
    1.0 < Q_tag> 被 < A> 发明
    0.83 < A> 的 发明 < Q_tag>
    0.79 < A> < Q_tag> 的 发明者
    0.50 < A> (< Q_tag>)
    ……
    匹配到的模式:1.0 < A> 发明 < Q_tag>
    匹配到的答案:道格·恩格勒巴特(如上⽂本⿊体加粗⽂字)
    2.3.问答
    给定⾃然语⾔问题,通过对问题进⾏语义理解和解析,利⽤知识库进⾏查询、推理得出答案。 其特点
    是,回答的答案是知识库中的实体。 KBQA问答是我们本项⽬的重点,具体的下个章节论述。
  • 3-答案⽣成模块
    总的⽬标:如何从可能存在答案的信息块中抽取答案。
    ⼀般搜索引擎返回的是⼀堆⽹⻚,⽽问答系统需要返回的是简短的答案。这样,通过信息检索模块
    搜索出来的相关⽂档就要提交给答案抽取模块来提炼答案。答案可以是⼀句话,或者是⼏句话,也
    可以是⼏个词或者短语。对于那些问时间地点的问题,就可以⽤很短的语句来回答,⽽对于询问原
    因、事件的问题就需要较⻓的语句才能回答。⽐如对于问题“9.11事件的是怎么回事?”就不可能⽤
    ⼀句话就能回答的。所以答案的抽取还需要依据问题的类型。
    最后是⽤户⾏为反馈,就是怎么样根据⽤户的结果去指导我们去做更好对话模型的理解。

2-知识库问答KB-QA介绍

参考:揭开知识库问答KB-QA的面纱1·简介篇 这篇博客介绍的很详细。内容速览:

  • 什么是知识库(knowledge base, KB)
  • 什么是知识库问答(knowledge base question answering, KB-QA)
  • 知识库问答的主流方法
  • 知识库问答的数据集

参考:揭开知识库问答KB-QA的面纱2·语义解析篇 内容速览:

  • 什么是语义解析(Semantic Parsing)
  • 什么是逻辑形式(Logic Form)
  • 语义解析KB-QA的方法框架
  • 实验结果

参考:揭开知识库问答KB-QA的面纱3·信息抽取篇 内容速览:

  • 你是如何通过知识库回答问题的
  • 如何确定候选答案
  • 如何对问题进行信息抽取
  • 如何筛选候选答案
  • 论文实验与总结

参考:揭开知识库问答KB-QA的面纱4·向量建模篇 内容速览:

  • 向量建模的核心思想
  • 如何用分布式表达表示答案和问题
  • 如何训练分布式表达
  • 论文实验与总结

下半部分我们来介绍关于项目的部分。

你可能感兴趣的:(NLP)