两种聊天机器人系统

闲聊型机器人

闲聊机器人又叫开放域对话系统,通常用户的对话并无明确目标,闲聊、解闷、生活问题求助等待。一般以用户的问题开始对话,机器人回答结束。所以对话的好坏以用户体验为主。机器人的回答可以是大量语料训练的结果也可以是网络爬虫(基于海量FAQ的检索方式 端到端的方式 单轮对话)

任务型机器人

任务型机器人又叫面向任务的对话系统,主要是为了完成固定任务,如信息收集,功能导航,还有一些结果反馈等。任务型机器人的好坏以机器人是否完成任务为主。(基于规则 基于数据 多轮对话

对话系统包含的结构

NLU

Natural Language Understanding,自然语言理解

自然语言---->>意图(user intention)和槽值(slot-value)

DST

Dialogue State Tracking,对话状态追踪

总结和推理理解在上下文的环境下用户当前输入自然语言的具体含义。

DPL

Dialogue Policy Learning,对话策略学习,也被称为对话策略优化(optimization),根据当前的对话状态,对话策略决定下一步执行什么系统动作。系统行动与用户意图类似,也由意图和槽位构成。

NLG

Natural Language Generation,自然语言生成,负责把对话策略模块选择的系统动作转化为自然语言,最终反馈给用户。

NLU中意图和槽位的定义

意图和槽位共同构成了“用户动作”,机器是无法直接理解自然语言的,因此用户动作的作用便是将自然语言映射为机器能够理解的结构化语义表示。

意图识别,也被称为SUC(Spoken Utterance Classification),将用户输入的自然语言会话进行划分,类别(classification)对应用户意图。例如“今天天气如何”,其意图为“询问天气”。意图识别是一个典型的分类问题。意图分类ISO-24617-2标准。意图的定义具有非常强的领域相关性。

槽位,即意图所带的参数。一个意图可能对应若干个槽位,例如询问公交车路线时,需要给出出发地、目的地、时间等必要参数。槽位填充的目标是抽取框架中预先定义好的语义槽的值。语义槽位填充可以运用IOB标记法,标记某词是语义槽的开始(begin)、延续(inside),或是非语义槽(outside)。

要使一个面向任务的对话系统能正常工作,首先要设计意图和槽位。意图和槽位能够让系统知道该执行哪项特定任务,并且给出执行该任务时需要的参数类型。