任务式对话系统

引言 原理

任务式聊天机器人的模块包括:

1)NLU(understanding):

2)对话管理(Diaglog mangement)

3)NLG(Generation)

构建聊天机器人的三大模块:

 

一、有哪些知识点

1.1 自然语言理解(NLU)

NLU的主要任务是从文本中提取信息,把自然语言转变成一种固定的结构化数据表达形式,包括:

对话文本的意图

文本中关键的信息,例如命名实体

将这些信息转成标准化的表示方式

供后续聊天机器人模块使用

例如:Do you have any flights from Seattle to Boston on December 24th?

需要做的事情是:

1)Intent classification,可以识别意图类型为<ShowFlight>,然后就构建了如下的意图树

2)命名识别识别,填充slot:例如填充topic、Dcity、ACity、DDate这些信息

首先会定好命名实体的类别,比如:机构、任务、低点、时间、日期、金钱、百分比

主要的方法:基于HMM,CRF,RNN(LSTM)等模型的token标注方法

关于semantic parsing和slot filling

semantic parsing:非结构化的语言转换成结构化的指令;

 

1.2 对话管理

一般是聊天机器人的中心模块,控制整个聊天的过程。负责存储聊天的信息和状态(slot filling),根据已有的信息(当前聊天记录和外部信息),决定下一步做什么。还负责与一些外部的知识库(knowledge base)做交互。

1)Dialogue Context Modeling:共指消解、聊天context的来源、knowledge base;

2)Dialogue Control:根据Context, 聊天历史,knowledge base获取的信息->决定下一步需要采取怎样的行动,可能是rule based决策,也可能是基于机器学习模型的决策;可以做的决策有:

    从用户处收集更多的信息;

    与用户确认之前的信息;

    向用户输出一些信息;

一些设计要素:由用户还是系统来主导;是否要向用户解释自己的动作;

对话的主导方:用户主导、系统主导

Dialogue Control的一些方法:

      基于Finite state Automata(有限状态机)的聊天状态,

      基于Frame-Based Dialogue Control:预先指定了一张表格 (Frame),聊天机器人的目标就是把这张表格填满

     基于统计模型的(机器学习)

      AI planning

 

1.3 自然语言生成Natural Language Generation(NLG)

Template based

Retrieval Based

基于深度学习的聊天机器人(偏向实验性质):用Seq2Seq模型来做生成

Deep Reinforcement Learning for Dialogue Generation:使用深度增强学习来训练聊天机器人

      

二、有什么开源工具、如何实现

Rasa 聊天机器人

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值