H. 知识问答
概述
- 问答系统四大要素
- 问题:是问答系统的输入
- 答案:是问答系统的输出,除了文本表示的答案,有时也需要输出一组答案、候选答案的选择、甚至是多媒体信息
- 智能体:问答系统的执行者,需要理解问题的语义,掌握并使用知识库解答问题,并最终生成人可读的答案
- 知识库:存储了问答系统的知识,其形态可以是文本、数据库或知识图谱
- 知识问答的相关工作
- 信息检索:以关键词搜索为代表,与问答系统的区别
- 第一点:搜索一文档来承载答案,用户需要阅读搜索找到的文档来发现答案;问答直接将答案交付给用户,而且答案一般都是结构化的数据
- 第二点:搜索侧重更简单用户体验,用户的知识检索诉求主要通过关键词而不是完整的句子问答则会尝试理解不同的自然语言表达方式固有的语义,然后形成知识查询
- 第三点:当用户的问题比较复杂,需要通过多个页面的知识来回答时,搜索无法完成
- 数据库查询:与问答系统的区别
- 第一点:需要用户熟悉结构化组织,知道如何指代数据中的概念,掌握数据库查询语言,而知识问答降低了对这些知识的要求
- 第二点:数据库对知识库有严格限制,要求数据必须结构化存储
- 第三点:数据库查询不一定能形成用户可使用的最终答案
- 信息检索:以关键词搜索为代表,与问答系统的区别
- 知识问答应用场景
- 知识问答可以直接嵌入到搜索引擎的结果页面
- 知识问答技术可以应用于智能对话系统、智能客服或智能助理
- 智能问答用于阅读理解
- 分类
- 业务
- 开放域:通用领域
- 闭合域:垂直领域
- 技术
- 检索式:知识已经存在
- 生成式:基于已有知识,生成新的知识
- 业务
建设思路
- 整体思路
- 目标量化
- 日活/月活/应答率/答准率
- 场景分类
- License、Fireware,。。。
- IR Bot,KG Bot,Task Bot 。。。
- 特征优化
- 分词,命名实体,图查询,词嵌入,\n实体嵌入,图嵌入。。。
- 目标量化
- 领域知识(30%)
- 概述
- 是否真的懂这个领域
- 概述
- 产品:UI设计(40%)
- 概述
- 离用户近,直接影响用户
- 细节
- 意图分类 — 自动识别
- 意图分类 — 动态调整
- 多轮意图识别 — 多种手段相结合
- 想办法把用户圈定在事先定义的场景里面
- 上下文记忆
- 概述
- 数据(20%)
- 概述
- 数据决定算法的天花板
- 概述
- 算法(10%) — 核心价值
- 概述
- 一旦突破,就会形成核心价值。\n需要持之以恒的决心。
- 细节
- 意图分类
- 领域模板
- 机器学习分类
- 语义自动挖掘
- 信息检索
- 需求处理
- 搜索召回
- 权重训练
- 多层排序
- 语料生成
- 内、外数据源
- 数据清洗、结构化
- Embedding & Generation
- 知识图谱
- 图计算模型,实体 + 属性 + 关系
- 可推理,一阶谓词逻辑
- DFS/BFS/Dijkstra/A-star/…
- 意图分类
- 类型
- Chat Bot 聊天机器人
- 先IR在Rerank,满足阈值,出结果;不满足出聊天
- 聊天:
- End-to-End:LSTM提升效果
- Task Bot 聊天机器人
- Slot 分解意图、实体、关系
- 多轮对话
- 自定义接口API
- 智能交互
- 语音
- 图像
- 传感器
- Chat Bot 聊天机器人
- 概述
知识问答的分类体系
- 问题类型和答案类型
- 主要分为六大类
- 事实:人们问这类问题一般是想得到概括性的事实。预期答案是一个短语
- 列表:人们问这类问题一般是想得到一组答案。每个答案可能是一个独立的短语,也可能是带有解决或评论的短语
- 原因:人们问这类问题一般是想征求意见或解释。一个好的摘要答案应该包含多样的意见或全面的解释。可采用句子级的摘要技术实现。
- 解决方案:人们问这类问题一般是想解决问题。答案中的句子通常具有逻辑关系,因此不能使用句子级别的摘要技术。
- 定义:人们问这类问题一般是想到概念描述。通常这些信息可以在百科中找到。如果答案太长,我们应该总结成较简短的形式。
- 导航:人们问这类问题一般是想找到一个网站或资源。通常如果答案是网站则提供网站名称,如果答案是资源则直接提供。
- 从功能出发的分类机制
- 事实性客观问题
- 特点:语法结构简单、语义结构清晰
- 主观深层次问题:除事实型问题之外的其他问题,例如 观点型、因果型、解释型、关联型与比较型等
- 特点:语法结构并不复杂,但是需要一定的专业知识和主观的推理计算才解答
- 事实性客观问题
- 主要分为六大类
- 知识库类型
- 知识库覆盖的领域
- 领域相关的问答系统:只回答与选定领域相关的问答
- 特点:相对专注,需要领域专家的深入参与,虽然问题覆盖面小,但是答案的正确率高。
- 领域无关的问答系统:基于开发知识库回答任意问答
- 覆盖面大,但答案的正确率有限
- 领域相关的问答系统:只回答与选定领域相关的问答
- 知识库的信息格式
- 利用纯文本承载知识
- 半结构化或结构化的知识库:侧重知识的细粒度组织,利用结构体现知识的语义。
- 除文字外,知识也可以存储在图片、音频、视频等媒体中。
- 知识库并不限定于文本、符号系统或多媒体,也可以利用可计算的机器学习模型承载
- 知识库覆盖的领域
- 智能体类型
- 根据知识形式的不同
- 传统问答方式:关键词检索、文本蕴涵推理以及逻辑表达式等
- 深度学习方法:LSTM、注意力模型与记忆网络等
- 根据知识形式的不同
知识问答系统
- NLIDB:早期的问答系统
- 由三个模块组成
- 实体识别:通过查询领域字典识别命名实体
- 语义理解:利用语法解析、动词分析以及语义映射规则等技术,将问题解析成语义查询语句
- 回答问题:通常通过简单查询和其他复杂操作获取答案
- 相关技术
- 基于模式匹配
- 基于语法解析
- 由三个模块组成
- IRQA:基于信息检索的问答系统
- 核心思想:根据用户输入的问题,结合自然语言处理以及信息检索技术,在给定文档集合或者互联网网页中筛选出相关的文档,从结果文档内容抽取关键文本作为候选答案,最后对候选答案进行排序返回最有答案
- 问题流程大致分三个阶段
- 问题处理
- 段落检索和查询
- 答案处理
- KBQA:基于知识库的问答系统
- 核心问题:找到从用户问题到知识图谱子图的最合理映射
- 步骤
- 问题分析:主要利用词典、词性分析、分词、实体识别、语法解析树解析、语法依存关系分析等传统NLP技术提取问题的结构特征,并且基于机器学习和规则提取分析句子的类型和答案类型。
- 词汇关联:主要针对在问题分析阶段尚未形成实体链接的部分形成与知识库的链接,包括关系属性、描述属性、实体分类的链接
- 歧义消解:一方面是对候选的词汇、查询表达式排序选优,一方面通过语义的荣斥关系去掉不可能的组合。
- 构建查询
- CommunityQA/FAQ - QA:基于问答对匹配的问答系统
- 核心问题:计算问题之间的语义相似性
- 语义相似性面临两个挑战
- “泛化”:相同的语义在自然语言中有众多的表达方式,不论从词汇还是语法都可能有显著差异
- “歧义”:两个近似的句子有可能具有完全不同的语义
- Hybrid QA Framework混合问答系统框架
- DeepQA:IRQA 主要的混合框架
- QALD-Hybrid-QA:KBQA主导的混合框架
- Frankenstein:问答系统的流水线架构
知识问答的评价方式
- 功能评价指标
- 正确性
- 精确性:是否包含多余的信息
- 完整性
- 可解释性
- 用户友好性
- 额外的评价维度
- 性能评价指标
- 问答系统的响应时间
- 问答系统的故障率
KBQA前沿技术
- KBQA面临的挑战
- 多样的概念映射机制。概念映射种类:
- 映射到原子三元组
- 映射到限制条件
- 映射到属性链条
- 复杂概念映射到复合属性
- 映射到排序条件
- 映射到有歧义的概念
- 不完美的知识库
- 知识库未必全都是结构化的数据
- 知识库的知识组织机制各不相同
- 用户采用的语言和知识库采用的工作语言也会影响语义理解
- 知识库本身并不是完整的
- 泛化语义理解的预期
- 词语层面的泛化匹配
- 句子层面的泛化
- 多样的概念映射机制。概念映射种类:
- 基于模板的方法
- 思路:定义了一组带变量的模板,直接匹配问答文本形成查询表达式
- 优势:
- 简单可控,适于处理只有一个查询条件的简单问题
- 绕过了语法解析的脆弱性
- 缺点
- 成熟的应用需要生成大量的模板,人工处理成本非常高昂
- 模板由人工生成,不易复用,且容易发生冲突
- 基于语义解析的方法
- 步骤
- 通过对自然语言的语法分析,将查询转换成逻辑表达式
- 利用知识库的语义信息将逻辑表达式转换成知识库查询
- 通过查询知识库得到查询结果
- 步骤
- 基于深度学习的传统问答模块优化
- 基于深度学习的端到端问答模型