# Chap 7 知识回答

# 概述

  • 知识回答系统接受适用自然语言表达的问题、理解用户的意图、获取相关的知识、最终通过推理计算形成自然语言表达的答案并反馈给用户
  • 信息搜索以关键词搜索为代表,帮助用户发现包含关键词的网页或文档
  • 搜索与知识问答的不同之处在于,搜索以文档来承载答案,搜索侧重更简单的用户体验,搜索无法处理跨领域的复杂问题
  • 知识回答可以直接嵌入搜索引擎的结果页面,可以用于智能对话系统、智能客服智能助理,可以用于阅读理解(高考机器人)

# 知识回答的分类体系

# 问题类型与答案类型
  • 早期的工作包括TREC测试集问题分类和ISI QA问题类型分类体系,还有更详细的综述
    • Learning Question Classifiers (ACL 2002)
    • A question/Answer Typology with Surface Text Patterns (ICL 2002)
    • A survey on Question Answering Systems with Classification (2016)
  • 综合分类体系的探索工作,面向知识图谱问答的构建中,问题类型分两类
    • 事实性客观问题:语法结构简单(主谓宾明确),语义结构清晰(关于某事物的简单描述性属性)
    • 主观深层次问题:观点型、因果型、解释型、关联型和比较型等,需要经过一定主观推理计算才能解答
# 知识库类型
  • 内容边界:领域相关、领域无关
  • 信息组织格式:文本类知识库、(半)结构化知识库、图像影音类知识库、可计算的模型类知识库
  • 存储访问机制:集中存储、分布式存储、基于互联网
# 智能体类型
  • 传统回答方法:关键词检索、文本蕴含推理、逻辑表达式等
    • 切分为语义解析和查询两个步骤
  • 基于深度学习回答方法:LSTM、注意力模型、记忆网络等
    • 用神经网络将问题表示成向量,取知识图谱中与问句相关的实体向量,计算其与问句向量的语义相似度

# 知识回答系统

# NLIDB:早期的问答系统
  • 例子:1961的BASEBALL,1972的LUNAR
  • 方法:基于模式匹配、基于语法解析
# IRQA:基于信息检索的问答系统
  • 流程:问题处理 -- 段落检索与排序 -- 答案处理
# KBQA:基于知识库的问答系统
  • 把语义结果映射到知识图谱的本体后生成SPARQL查询回答问题,核心问题是找到从问题到知识图谱子图的最合理映射

  • QALD 是2011年开始针对KBQA系统的评测活动,从问题解析、词汇关联、歧义消解、构建查询、分布式知识库五个阶段做对比

# FAQ-QA:基于问答对匹配的问答系统
  • 核心是计算问题之间的语义相似性,挑战是泛化(相同的语义有多种表达方式)和歧义(近似句子语义可能完全不同)
# Hybrid QA Framework:混合问答系统框架
  • IRQA和KBQA相融合

  • 流水线架构:

    • 优点:可插拔、粒度可优化

    • 主要模块:

      • 命名实体识别与歧义消解(NED)
      • 实体关系映射(RL)
      • 实体分类映射(CL)
      • 构建查询(QB)
    • 参考论文:

      • Why Reinvent the Wheel:Let's build Question answering systems together (WWW 2018)

# 知识回答的评价方法

# 评价指标
  • 功能指标:(常用F1(综合正确率和召回率)和P@1(首个答案正确率))

    • 正确性:答案是否正确(美国总统是男的吗?)
    • 精确度:答案是否缺失或多余信息(美国总统是谁?)
    • 完整性:若答案是一个列表,应返回所有(列举美国所有总统。)
    • 可解释性:给出答案的同时,也给出引文或证明
    • 用户友好性:答案质量由人工评分
    • 额外的评价指标:如词表差异性、答案分布散度、语义复杂度
  • 性能指标:

    • 响应时间
    • 故障率:限定时间内是否给出答案
# 评价数据集
  • TREC QA:评价IRQA
  • TREC Live QA:评价CQA社区问答 (TREC 2015)
  • QALD:评价KBQA
  • sQuAD:评价端到端的问答系统解决方案
  • Quora QA:评价问题相似度计算(Kaggle 2017)
  • SemEval:词义消歧评测(2018年的比赛包含12个任务,主要包括推特情感与创造性语句分析、实体关联、信息抽取、词汇语义学、阅读理解与推理)

# KBQA前沿技术

  • 基于模版的方法
  • 基于语义解析的方法
  • 基于深度学习的传统回答模块优化
  • 基于深度学习的端到端问答模型

# 实践工具

  • gAnswer系统是一个基于海量知识库的自然语言问答系统(JAVA),针对用户的自然语言问题,能够输出SPARQL格式的知识库查询表达式以及查询答案的结果,同时支持中文回答和英文回答,示例网站github (opens new window)
最后更新: 5/31/2022, 6:43:40 AM