启发式对话中的知识管理

本文为EDU公开课[启发式对话中的知识管理--思必驰 葛付江]学习笔记,欢迎参考指正。

Table of Contents

对话系统的架构

对话系统流程

对话系统架构

机器人评价指标及现状

启发式对话系统

对话系统中的知识管理

知识在对话意图理解中的作用

知识在对话管理中的作用

总结


对话系统的架构

对话系统和问答系统的区别是有上下文场景,需要控制对话状态来完整理解用户意图。

对话系统流程

特征处理

    分词,词性标注,命名实体识别

理解

    领域判断(通过模版和分类算法的方式将问句限定在一个固定的场景下,方便后续处理)->(通过槽位填充)获得结构化意图->(对话管理模块对语义成分进行判断补全)得到结构化信息->送到后台查找

生成答复

    提取信息-生成答复-回答自然化

对话系统架构

DM对话管理:维护上下文信息。三种形式:启发式对话,流程图(客服),槽位填充(天气查询)。

NLU意图理解:知识图谱,问答,通用意图分类

排序决策-答案生成-回复

 

机器人评价指标及现状

  • 评价指标
    • 准确率:多轮对话中,回答正误比。
    • 人工打分:对于某些不能绝对判断的回复,比如不实很合理但可以接受的回复,给个区间分数。
    • perplexity,blue值:从语言流畅度方面衡量,可以自动判断,但很难从语意上判断好坏。
  • 现状
    • 多轮对话(准确率)
      • 在极窄领域(比如订餐),机器学习和基于模版的方法都能达到90%
      • 较大领域(比如客服)场景较复杂,机器学习低于50%,目前检索式或者基于模版基本可用但需要人工编辑大量模版
    • 闲聊(人工打分,满分5分)
      • SEQ2SEQ 2.68
      • 优化方法:解码过程加入互信息,重排序;强化学习
    • 存在的问题:万能句回复较多;商用回复不可控

 

启发式对话系统

当用户不清楚问什么的时候,根据用户的问题主动引导对话交互。大致流程:

  1. 用户问题以多种形式(问答对,知识图谱)连接到知识点(KG里实体相关属性)上。
  2. 将知识点融合进话题。
  3. 话题之间根据语义或逻辑关系进行跳转,对话过程就是根据话题来做整体的规划以及跳转。

 

对话系统中的知识管理

知识在对话意图理解中的作用

-通过规则系统

    -类似正则的语法:包含变量、pattern

    -词典和规则组织方式:词典层次结构;规则重用

-通过意图分类(机器学习)

    -以关键词、标签作为特征,对类别进行划分。比如天气相关的问题,可以直接播报天气,不去理解具体问题。

    -通过文本分类算法。需要标注语料,标签歧义可能导致分类错误。

-通过问句检索

    -适用于闲聊和客服,需要大量的问答对。

    -具体方法:通过倒排索引检索候选问题,然后进行重排序(特征加权,DSSM,Learning to rank)

-通过问句分类(embedding)

    -使用 Seq2Seq 深度学习模型进行问句分类或者相似度计算.

    -中间层可获得意图表示,再解码出答案,用于生成式闲聊

    -神经网络中间层还可用于问句分类和相似度计算

 

解析完的语义可确定对应的意图和话题,并通过 QA 对知识图谱检索答案。

对于 QA 对来说,重要的是计算句子间的相似性,这样才能检索到与已有问句相似的问题。

QA对

    -LSTM(句子相似性)

        -把用户问题和标准库中的问题通过LSTM抽取语义信息编码,计算这两个语义向量的距离而求出它们是不是相似。

    -序列匹配网络

        -适合输入较长的场景

    -全Attention模型

        -适合输入较短的场景

知识图谱

    -通过逻辑表达式,将问句表述为实体及实体之间的关系。利用这种严格的逻辑表达式搜索回答问题所需的知识..

    -知识图谱在规模较大的情况下很难处理,因为用户的表达很难严格地与知识图谱匹配.

    -实体识别+句法分析+关系识别

集成学习

    -流水线处理:多个模型串行,得到答案即输出

    -模型集成:多个模型并行,对结果进行对比后输出

 

知识在对话管理中的作用

基于slot filling

    -有上下文,如何控制对话状态

    -无上下文,需要定义好对话场景

基于话题的对话管理

    -话题树的整理(人工构建,引导用户构建,统计挖掘)

    -应用场景:企业服务中用户拥有很多话题

    -常见问题:系统后台话题的划分会有较多的交叉

话管理一般可以表示成状态的变换过程,即马尔科夫决策过程:

利用深度强化学习对对话状态跟踪

    -强化学习智能体会模拟多轮对话,并最后反过来判断为当前对话规划什么样的主题比较合适。

    -在整个过程中,奖励函数是非常核心以及难以定义的部分。

    -当一个状态S有M种操作的时候,尽可能尝试每一种操作,选择回报最高的操作。

    -对抗网络使用较少,某些情况下会强制调整对话走向,稳定性不好。

知识辅助理解

    -上面方法使用过程中都会存在一些问题-如何判断相关不相关/是否提供答案,知识可以进行辅助判断。

    -知识分两种:一种是知识图谱;另一种是语言知识,领域问题

    -直接使用KG,有时无法解析全部问题。使用深度学习可以给出很多候选答案,通过KG进行分析,获取证据来选择答案。

 

总结

启发式对话和知识的结合来引导对话交互。

知识(知识图谱,领域词典,语法)和意图理解算法的结合可以提高对话理解的容错能力

    -知识作为上下文,特征

    -知识作为算法决策的依据-重要应用

数据分布的重要性

    -对数据进行筛选来符合数据分布,提高算法的效果。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值