定义对话系统

article/2025/10/19 16:25:38

定义对话系统

一、定义对话系统的方法

以下方法论其实就是在定义对话系统,后面的
确定场景边界
梳理业务要素和知识库
撰写故事线
抽取对话流程
都是下面方法论的具体展开。
在这里插入图片描述

二、确定场景边界

1.创建机器人定位(机器人的性格定位)
在这里插入图片描述
2.明确机器人的产品场景
明确产品的目标人群。
比方说:懂球帝是为了球迷提供的
搞清楚产品给目标人群带来了哪些服务/提供哪些产品。
比方说:携程提供在线票务购买服务,懂球帝提供最新的足球咨询也可以购买足球装备等
了解用户是什么类型的人,了解我们产品带给他们带来哪些服务,解决什么痛点,那么整个逻辑就是这款机器人。
example:
火车票预订的Chatbot 应该做&不应该做

在这里插入图片描述
回顾:机器人分类
在这里插入图片描述
在这里插入图片描述

三、梳理业务要素和知识库

1.确定优先级(首先要实现的功能)和关键信息要素(实现功能所需要的信息)
在这里插入图片描述
关键信息尽量多而全
在这里插入图片描述
2.任务要素梳理(定义变量)
根据前面的状态图梳理任务要素
在这里插入图片描述
在这里插入图片描述
四、撰写故事线
一个建议:不要先画流程图
任务型故事线
错误做法

凭借自己的想象和仅有的逻辑构想如下图所示的对话逻辑。

在这里插入图片描述
正确做法

 撰写一个任务的完整对话,我们称之为“愉悦路径”,然后再“添油加醋”。个人认为,类似于你设计一个主线任务,得先考虑理想情况下的任务完成路径,然后再一步步设置难度,比如说加个打怪,比如说加个等级限制等等,我称之为添油加醋。

在这里插入图片描述

总结:最大可能的模拟各种情况,通过自己的想象力构建不同的问答情况并作出解答,然后就是美化我们的对话系统,比如加个UI,比如更为合适的对话用词。

问答型故事线
这个比较贴切我们的智能客服系统

一个法宝:尽可能罗列出所有可能的问答对。因为问答型就是这种问题和答案匹配的问题,问答对越全,也就是我们的知识库越全,越容易体现智能。
在这里插入图片描述

所有的故事线要保证真实性,尽可能还原真实场景对话,不能为了写故事线而写故事线。

五、抽取对话流程
方式一:流程图
简答来说就是绘制流程图

一个法宝:有点类似于面向过程程序设计,即将对话流程化。任务型和问答型机器人都有这种特点,但我感觉问答型要比知识型简单。毕竟不需要过多的信息也不用接入第三方服务。
在这里插入图片描述
其中的黄色模块非常笼统,可以更加细化
在这里插入图片描述

总结:业务流程图描述的是完整的业务流程,以业务处理过程为中心,一般没有数据的概念。流程图以动作推进业务,更加关注的是业务需要完成哪些操作。每一个动作基本上是“动词加名词”或者“动词”的形式。

方式二:泳道图
泳道图又称跨职能流程图=流程图+动作执行的对象```

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210701175314885.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poYW5nYmlqdW4xMjMw,size_16,color_FFFFFF,t_70)
泳道图后面也可以加上流程描述,更好地描述流程。**业务线合并汇总(类似于第三步)**
存在的价值:便于更好地设计/梳理流图
![在这里插入图片描述](https://img-blog.csdnimg.cn/2021070117534932.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poYW5nYmlqdW4xMjMw,size_16,color_FFFFFF,t_70)
**设计UNIT对话逻辑**
1.梳理业务逻辑

简单来说就是考虑真实场景下会有哪些情况出现,然后抽象出来给BOT

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210701175455423.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poYW5nYmlqdW4xMjMw,size_16,color_FFFFFF,t_70)
2.配置技能的对话意图/问答意图
目标:把业务逻辑教给对话系统
==》每个技能都由相关的意图组成
==》根据上述1的业务逻辑拆解完成技能下每个对话意图、问答意图的具体配置在这个环节中,对话系统需要学会:用户的意图是什么?
要完成用户的意图,需要理解哪些关键信息?
对话系统应该怎样回应用户?
有哪些规则需要遵守?
#以订票为例:
PS:澄清话术是怎么问用户
![在这里插入图片描述](https://img-blog.csdnimg.cn/2021070117553070.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poYW5nYmlqdW4xMjMw,size_16,color_FFFFFF,t_70)
总结:配置技能的对话意图/问答意图步骤:新建对话意图(eg:意图名称:BOOK_TICKET,意图别名:订票)添加词槽设置BOT回应(有三种回应方式:【答复】、【引导至对话意图】、【引导至问答意图】)注意:1.实际落地的时候需要在自己的业务代码里判断当前BOT解析的用户意图为订票,且用户提供了出发时间、出发站点、到达站点,这时你用这三个词槽值去火车票系统中找出符合条件的火车票, 并生成一个火车 票list返回给用户,供用户选择, 并完成支付。(任务型机器人)
注意:1.实际落地的时候需要在自己的业务代码里判断当前BOT解析的用户意图为订票,且用户提供了出发时间、出发站点、到达站点,这时你用这三个词槽值去火车票系统中找出符合条件的火车票, 并生成一个火车 票list返回给用户,供用户选择, 并完成支付。(任务型机器人)2.引导至对话意图:是当前对话满足一定条件时把当前意图引导到另-一个对话意图,让用户进入另一个意图的对话中。3.引导至问答意图:是当前对话满足一定条件时把当前意图引导到另一个问答意图,让用户直接在目标问答意图下提问并获取答案。(问答型机器人)新建问答意图设置预制技能(闲聊、问候、指令等)
**3.标注对话数据**
在【效果优化--训练数据】里尽可能多地添加对话模板、对话样本。其中对话样本不要是我们想象出来的句子,而是要贴切真实的业务场景(故事线设计的真实性,同 四、设置故事线部分)。对话BOT就像个儿童,教的越多越聪明。具体方法:
1.配置对话模板

对话模板是对用户需求表达的一种规则抽象、配置好对话模板,可以快速识别不同表达方式的用户需求。
比如:“我想订餐” ==》订餐就可以形成一个对话模板


2.标注对话样本

需求分析最后一个阶段收集到的对话数据导入UNIT平台,然后给它们逐条标注意图、词槽。这部分数据可以用于后续的样本学习,让对话机器人更加智能,获得更好的对话理解泛化能力。


3.添加问答对

在需求分析阶段(主要集中在梳理业务要素和确定故事线阶段)就收集整理的问答对数据集中导入UNIT平台。

4.训练/体验
将BOT技能配置、对话模板、对话样本等在系统里训练形成模型,然后将模型放到沙盒里就可以试着体验自己的对话系统了。

值得注意:UNIT背后的深度学习等技术会帮我们解决训练系统这个问题,但也需要我们反复验证发现问题并优化配置并不断补充对话样本,然后

在这里插入图片描述
5.应用调用
与真实的业务联动起来。

在【发布上线- -沙盒/生产环境】可以前往百度云创建应用,获取调用BOT的API Key/Secret Key。这部分可参考UNIT的API文档。UNIT已经与百度其他AI技术打通了 ,创建一个应用后,就可以方便的调用到百度AI的语音、图像识别等所有能力!


http://chatgpt.dhexx.cn/article/ig6nDj23.shtml

相关文章

【对话系统】对话系统核心技术概要

概述 人机交互备受学术界的关注,人机对话是人机交互的核心。 对话系统是模拟人与人交流的计算机系统。 对话系统有很多分类方法。按照应用场景的不同,可分为开放域(闲聊式)和封闭域(检索式、知识问答式、任务式&…

UNITY 对话系统

1. 准备工作 创建一个画布(Canvas),画布中创建一个面板(Panel),面板中放个文本框(TEXT)和两个按钮(Button)(一个用于直接关闭,另一个…

最新对话系统综述

前言 首先介绍一篇对话系统领域综述最新的paper,写的非常好 2021年南洋理工大学发表的论文: https://arxiv.org/pdf/2105.04387.pdf 第一章:简要介绍对话系统和深度学习。 第二章:讨论现代对话系统中流行的神经模型及其相关工…

前沿重器[25] | 聊聊对话系统:多轮对话

前沿重器 栏目主要给大家分享各种大厂、顶会的论文和分享,从中抽取关键精华的部分和大家分享,和大家一起把握前沿技术。具体介绍:仓颉专项:飞机大炮我都会,利器心法我还有。 近期,我再次总结了我的历史文章…

智能对话系统之多轮对话

序言 以一周前的一条微博作为开始。一周前我讲:相对的,自然语言解析技术已经逐渐不再成为各家广义智能助理产品的核心竞争力,识别用户意图之后所提供的服务开始成为对话机器人差异化的核心。 百度:对话系统的组成 对于一个对话系…

对话系统 | (1) 任务导向型对话系统 -- 对话管理模型研究最新进展

原文链接 作者丨戴音培、虞晖华、蒋溢轩、唐呈光、李永彬、孙健 单位丨阿里巴巴-达摩院-小蜜Conversational AI团队,康奈尔大学 1. 对话管理模型背景 从人工智能研究的初期开始,人们就致力于开发高度智能化的人机对话系统。艾伦图灵(Alan …

对话系统笔记

原文链接:https://www.jiqizhixin.com/articles/2020-01-31-7 对话系统一般分为两种:任务型对话系统和闲聊型对话系统。本文主要讨论前者。 任务型对话系统,也称目标导向型对话系统,多用于垂直领域业务助理系统,如微…

深入浅出对话系统——任务型对话系统技术框架

任务型对话系统架构 比如,这是一个任务型订票系统的对话例子。 如果要我们实现一个这样的对话系统,其中有三个最大的难点:理解用户输入、记住对话历史信息、知道要问什么。 首先是要能理解用户的输入,知道用户想什么&#xff1b…

一文读懂智能对话系统

来源:机器学习算法全栈工程师 作者:蒙康 编辑:王抒伟 本文共6050字,建议阅读10分钟。本文带大家理解智能对话系统的研究方法以及未来趋势。 笔者在最近的研究中发现了一篇非常好的有关对话系统的论文,《A Survey on Di…

对话系统 | (8) 任务型对话系统概述

本篇博客主要参考/节选中科院自动化所王唯康博士的博士论文《任务型对话系统中对话管理方法研究》。 文章目录 1. 概述2. 基于管道的任务型对话系统2.1 语言理解模块2.2 对话管理模块2.3 语言生成模块 3. 端到端的任务型对话系统3.1 基于检索的任务型对话系统3.2 基于生成的任务…

对话系统 | (4) 任务型对话系统基础

本篇博客内容主要来自第十四届中国中文信息学会暑期学校暨中国中文信息学会《前沿技术讲习班》— 张伟男、车万翔《任务型对话系统》 PPT下载链接 文章目录 1. 任务型对话系统概述2. 任务型对话系统关键技术自然语言理解对话管理对话状态追踪对话策略优化 自然语言生成端到端…

前沿重器[21] | 聊聊对话系统:概述

前沿重器 栏目主要给大家分享各种大厂、顶会的论文和分享,从中抽取关键精华的部分和大家分享,和大家一起把握前沿技术。具体介绍:仓颉专项:飞机大炮我都会,利器心法我还有。 近期,我再次总结了我的历史文章…

Xenko C#开源游戏引擎

Xenko是一款用于渲染和 VR 的开源 C# 游戏引擎。该引擎具有高度模块化,旨在为游戏制作者提供更大的开发灵活性。Xenko 附带一个编辑器,允许您以直观和直观的方式创建和管理游戏或应用程序的内容。 官方网站:https://xenko.com/ g…

开源游戏引擎整合

2D: Allegro.cc - Main http://www.allegro.cc/ 老牌子了,和SDL同时是很经典两个EG开发组件,最近貌似在和PY进行联合? ClanLib - ClanLib Game SDK http://www.clanlib.org/ CLANLIB是以前听过最复杂最丰富的SDK,看看链接 http://…

开源游戏java引擎_基于Java的开源3D游戏引擎jMonkeyEngine

jMonkeyEngine简介 jMonkeyEngine是一款纯Java语言编写的游戏引擎,继承了Java应用跨平台的特性,而且是开放源代码的,遵循BSD开源协议,BSD开源协议用一句简单的话概括就是你可以用它做任何你想做的事情而不必担心版权问题。 这款游戏引擎在商业游戏中使用的不多,但是笔者觉…

<2021SC@SDUSC> 开源游戏引擎 Overload 代码模块分析 之 OvTools(七)—— 终篇总结

2021SCSDUSC 开源游戏引擎 Overload 代码模块分析 之 OvTools(七)—— 终篇总结 目录 前言回顾1、Eventing2、Filesystem3、Time4、Utils 总结下一个计划 前言 本篇是开源游戏引擎 Overload 模块 OvTools 的最后一篇了。本篇,笔者将对 OvToo…

<2021SC@SDUSC> 开源游戏引擎 Overload 代码模块分析 之 OvGame (一)—— 概况与 .rc 文件

2021SCSDUSC 开源游戏引擎 Overload 代码模块分析 之 OvGame(一)—— 概况与 .rc 文件 目录 前言OvGame 模块大纲.rc 文件 计划 前言 上一篇,笔者对 Overload 的 OvTools 分析总结完毕,想了解的可前往总结与链接集合自选查看。而…

开源游戏引擎详解

2D: Allegro.cc - Main http://www.allegro.cc/ 老牌子了,和SDL同时是很经典两个EG开发组件,最近貌似在和PY进行联合? ClanLib - ClanLib Game SDK http://www.clanlib.org/ CLANLIB是以前听过最复杂最丰富的SDK,看看链接 http://…

<2021SC@SDUSC> 开源游戏引擎 Overload 代码模块分析 之 OvGame(八)—— 终篇总结

2021SCSDUSC 开源游戏引擎 Overload 代码模块分析 之 OvGame(八)—— 终篇总结 目录 前言回顾1、.rc2、Utils3、Debug4、Core5、Main.cpp 总结 前言 本篇是开源游戏引擎 Overload 模块 OvGame 的最后一篇了。本篇,笔者将对 OvGame 做一个简单…

WickedEngine 开源游戏引擎

GitHub:https://github.com/turanszkij/WickedEngine WordEngEnter是开源跨平台C游戏引擎,支持DX12和Vulkan渲染器的光线跟踪和路径跟踪。Wicked engine既可以作为构建自己游戏引擎的底层框架,也可以作为自己的完全功能引擎,它增强…