知识问答

知识问答系统(Question Answering QA): 接收自然语言表达的问题--理解用户意图--获取相关知识--推理计算--自然语言形成答案
8.1.1 问答系统的基本要素
     问题:问答系统的输入
     答案:问答系统的输出
     智能体:问答系统的执行者,理解问题语义,掌握并使用知识库解答问题,形成可供人读的答案
     知识库:存储问答系统的知识,形态可以是文本,数据库或知识图谱,将知识库编码到计算机模型中,如逻辑规则,机器学习哦行和深度学习模型
8.1.2 知识问答的相关工作

    

 

8.1.3 知识问答的应用场景
(1)直接嵌入搜索引擎的结果界面,将问题的答案和搜索的结果列表同时展示
(2)智能对话系统,智能客服或智能助理
(3)阅读理解

8.2 知识问答的分类体系
8.2.1 问题类型和答案类型

事实性客观问题
(1)询问命名实体的基本定义(entity)
                 事物的分类(is a)
                事物的别名(aliases)
                事物的定义(what is)
(2)询问实体属性(property)
                人(who)
                地点(where)
                时间(when)
               属性(attribute)
(3)复杂知识图谱查询
              询问实体列表或统计结果
              询问实体差异
              询问实体关系
主观深层次问题
(1)问解释
(2)问方法
(3)问专家意见
(4)问推荐
8.2.2 知识库类型

   文本类知识库
   半结构化或结构化的知识库
   图片,视频,音频等媒体
   机器学习模型
8.2.3 智能体类型
传统问答方法(符号表示)
        主要技术:关键词检索,文本蕴含推理以及逻辑表达式
        原理:语义解析和查询

基于深度学习的问答方法(分布式表示)
      主要技术:LSTM ,注意力模型与记忆网络(memory network)
      原理:利用深度神经网络模型,将问题与知识库中的信息转化为向量表示,通过相似度匹配的方式完成问题与答案的匹配

8.3 知识问答系统

8.3.1 NLIDB 早期的问答系统(natual language Interface to data base)
主要模块:
   实体识别(named entity recognition):查询领域词典识别命名实体
   语义理解(question2query):利用语法解析(词性分析),动词分析(主动被动),语义映射规则,将问题解析成语义查询语句
   回答问题(answer processing):简单查询或者复杂操作获取答案
  (1)基于模式匹配(pattern-matching)
  (2)基于语法解析(syntactic-parsing):将自然语言的复杂语义转化为逻辑表达式

8.3.2 IRQA (information retrieval based question-answering system) : 基于信息检索的问答系统
思想:用户输入问题--自然语言处理技术、信息检索技术--文档集合或者网页中--筛选相关文档--抽取关键文本--候选答案--排序--最优答案
阶段:
问题处理(question processing)--------------段落检索和排序(Passage Retrieval And Ranking)------------答案处理(Answering Processing)
  (1)过滤条件                                                 (1)文档检索 答案处理
(2)答案类型判定                                       (2)文档排序
                                                                     (3)段落检索
                                                                     (4)段落排序
8.3.3 KBQA (Knowledge based Question Anserwing) :基于知识图谱解答问题的问答系统
思想:用户问题--映射--基于概念拓扑图表示--查询表达式
语义理解的结果--映射--知识图谱的本体--SPASQL查询
(1)问题分析:
                利用词典,词性分析,分词,实体识别,语法解析树分析,句法依存关系分析等提取问题的结构特征
                基于机器学习和规则提取分析句子的类型和答案类型
(2)词汇关联
               在问题分析阶段尚未形成--实体链接和知识库的链接
(3)歧义消解:
             对候选的词汇,查询表达式排序选优
            通过语义的容斥关系去掉不可能的组合
(4)构建查询:
            基于问题解析结构--自定义准化规则--查询语言表达式

(5)分布式知识库
8.3.4 CommunityQA/FAQ-QA (Frequently Asked Question)基于社区/问答对匹配的问答系统

依赖搜索问答FAQ库 ,发现以前问过的类似问题,找到问答对的答案返回给用户
FAQ:基于领域专家
CQA:基于社区志愿者
核心:计算问题之间的语义相似性
挑战:
(1)泛化:相同的语义在自然语言表达式中有众多的表达方式
(2)歧义:两个相似的句子可以具有完全不同的语义
方法:语义词典,基于规则,基于传统机器学习以及深度学习
8.3.4 Hybird QA Framework 混合问答系统框架
KBQA :结构化数据,侧重于精准的问题理解和答案查询
IRQA:非结构化文本,侧重于大量来自文本的答案
1. DeepQA:IRQA主导的混合框架
(1)问题处理(Question Processing): 理解问题的类型
  (2) 候选答案的生成(Candidate Answer Generation): 从网络搜索相关文档抽取答案,从知识库直接查询答案,形成答案候选集
(3)候选答案评分(Candidate Answer Scoring): 候选答案提取重要特征--对特征打分--形成特征评分向量
(4)答案融合及排序(Confidence Merging and Ranking) :
                 把相同的答案进行融合--新的答案候选集--对新候选集排序--利用逻辑回归分类模型--对每个候选答案设置置信度--置信度高
2. QALD-Hybird-QA:KBQA主导的混合框架
自然语言先转化为SPARQL查询,再从文档中抽取关系
3.Frankenstein :问答系统的流水线架构
(1)命名实体识别与消解歧义(Named Entity Disambiguation ,NED):从问题的文本中标记涉及的实体
(2)实体关系映射(Relation Linking ,RL): 问题文本提及的关系映射--知识库的实体属性或者关系
(3)实体分类映射(Class Linking ,CL):将问题所需答案的类型--知识库的实体分类
(4)构建查询(Query Building ,QB),将结果形成SPASQL查询

8.4 知识问答的评价方法
8.4.1 问答系统的评价指标
1.功能评价指标
(1)正确性
(2)精确度:答案是否缺失信息,是否包含多余的信息
(3)完整性:如是列表,则全部列出来
(4)可解释性:即给出问题的答案,还给出与证明答案相关的引文
(5)用户友好性
(6)其他维度
2.性能评价指标
(1)问答系统的响应时间(Response time):一般在1s内
(2)问答系统的故障率(Error Rate):在限定时间给出答案即可,不考虑是否正确,返回错误的统计
8.4.2 问答系统评价的数据集
1.TREC QA : 评价IRQA
2. TREC LIVE QA: 评价CQA社区问答
知识库:Yahoo Answer的社区问答数据
3. QALD:评价KBQA
给定知识库和问题,返回正确的答案或这些答案的SPASQL查询
4. SQuAD:评价端到端的问答系统解决方案
阅读理解数据集,每个问题的答案都是相应阅读段落的一段文字或跨度
5.Quora QA :评价问题相似度计算
6.SemEval :语义消歧测评
推特情感和创造性语句分析
实体关联
信息抽取
词汇语义学
阅读理解与推理

posted on 2019-12-04 18:34  happygril3  阅读(944)  评论(0)    收藏  举报

导航