集美阅读大全是一个以文章句子为主题的在线阅读网站。内含有各种经典好文章,爱情美文,诗歌散文,情感句子说说,范文资料等。读好文章,尽在集美阅读大全!!!
当前位置:集美阅读大全 >杂文 > 正文

如何搭建一个AI对话系统?

2019-09-17 10:08搭建 对话 如何 一个 系统

AI客服可以说是现在AI应用得比较成熟的应用了,而AI客服只是AI对话系统里的一种类型而已,今天就来跟大家聊聊AI对话系统。

如何搭建一个AI对话系统?

本文介绍的思路:

  • AI对话系统有哪些分类、主要技术和概念?
  • AI对话系统的主要工作流程是怎样的?
  • 实现一个AI对话系统的主要步骤有哪些?

一、AI对话系统的分类

对话系统主要分为3大类型:任务型、问答型、闲聊型。

(1)任务型

如何搭建一个AI对话系统?

任务型是为了完成某特定的任务,比如说订机票,不仅需要应答用户,还需要去查询机票情况,和执行相应的动作。

(2)问答型

如何搭建一个AI对话系统?

问答型主要是为了能解答用户的问题,相当于维基百科,比如说火车票怎么退票、坐飞机需要注意什么事项,通常仅需要回答问题,不需要执行任务。

(3)闲聊型

如何搭建一个AI对话系统?

闲聊型主要是能聊下去就行,天马行空的聊都无所谓。

小结下3类型对话系统的特点:

  1. 任务型:有任务目标,需要把请求参数化。比如说定机票:帮我订一张明天深圳到北京的机票。意图:订机票;词槽:时间、出发地、目的地。(还不知道什么是意图和词槽没关系,后面会详细讲)因此参数化表达就是:帮我订一张【时间】从【出发地】到【目的地】的机票
  2. 问答型:有任务目标,但不需要把请求参数化。比如说:怎么办理火车票退票。机器只需要从知识库中找到跟这句话最相似的问题,然后把答案提供给用户就行。
  3. 闲聊型:是开放的,没有任务,也没有限定的回答。

当然有时一个对话系统不只是包含单一的类型,可能是多种类型组合在一起的。

二、单轮对话和多伦对话

如何搭建一个AI对话系统?

1. 单轮对话

单轮对话的主要特点:一问一答,不依赖上下文,一般从知识库里检索问题答案,在问答型和闲聊型系统比较常见。

评判单轮对话好坏通常有3个指标:召回率、准确率、问题解决率。

(1)召回率

如何搭建一个AI对话系统?

这里需要注意的是,机器回答了回答了多少问题,但是回答的不一定是正确的,因此就会有下面准确率的指标。

(2)准确率

如何搭建一个AI对话系统?

对于闲聊型的机器人来说,准确率不是它的指标,因为也很难有标准哪些是正确的,哪些是错误的。

但是对于任务型和问答型机器人,这个指标就非常关键,因为我们宁愿机器不回答,也不要它给一个错误的答案。

(3)问题解决率

如何搭建一个AI对话系统?

成功解决的问题数=(总的提问数 – 转人工客服的问题数 – 客户不满意的问题数)

单轮对话主要的难点有哪些呢?

语义理解的细微差异

如何搭建一个AI对话系统?

我们日常口语非常的多样,而且很难标准化,可能相似的句子,语义完全不一样,机器理解这样的语句是非常困难的。

自动学习优化知识库

人工去补充知识库是工作量非常大的事情,而且能做的非常有限,因此还是需要机器自主学习优化,根据历史对话,补充和完善知识库。

如何搭建一个AI对话系统?

如上图,机器一开始不知道“詹皇”是什么意思,那经过对话后,机器就学会了“詹皇”就是“詹姆斯”。

2. 多轮对话

多轮对话的主要特点:多轮问答,上下文关联,需要记忆的能力,在任务型系统中比较常见。

比如说一个订票的任务,机器人需要获取必要的三个信息:时间、出发地、目的地,在没有获取到这3个完整的信息前,机器都会继续的跟用户进行沟通确认。

多轮对话的主要难点有哪些呢?

信息自动补充:

特别是在任务型的对话中,不是所有的信息都是从跟用户的对话中获取的,而是大多数的信息都是基于用户的身份和所处的场景获取的。

比如说:订机票,我们需要用户的身份信息,但可能不需要在对话中问用户,而是之前可能就有记录。比如说出发地,机器可以根据定位获取,而不需要问用户。

中途打断回溯:

如何搭建一个AI对话系统?

如上图,订机票的任务被打断后,去做了个订外卖的任务,然后回来用户说“订明天上午11点的机票”,这个时候机器人需要记住之前用户所说的出发地和目的地,而不是重新问用户。

指代识别:

如何搭建一个AI对话系统?

如上图,用户说“第二个吧”,机器需要知道用户指的是“10:30,东方航空公司”

三、对话理解

在对话系统中,实现对话理解的方式通常有两种:语义解析、语义匹配。

下图就是我们本章主要讨论的内容:

如何搭建一个AI对话系统?

1. 语义解析

在讲语义解析之前,我们先来讲一个概念“意图”。

意图是指用户潜在的目的或表达的诉求,假设用户说:帮我订一张深圳到北京的机票,那意图就是:订机票。

因此机器识别到用户的订机票的意图之后,马上就转入到了订机票的任务中。

那订机票需要必备那些信息呢?时间、出发地、目的地是必填。

如何搭建一个AI对话系统?

这里又引入了另外一个概念“词槽”。词槽分为必填槽和非必填槽,我们把用户说的话,按一定的规则填到相应的词槽里,只有把必填的词槽填完了,才会执行意图的相关指令。

也就是说机器人先要识别用户的意图,然后根据要达到这个意图需要获取哪些信息来询问用户,直到获取完所有必备的信息。

介绍完意图和词槽后,我们继续回来讨论语义解析。

语义解析:把语句解析为结构化的语义表示。语义解析通常又分为三种实现方式:语义模式、传统的机器学习、深度神经网络。

语义模式(基于意图和词槽识别):

人工定义语义模式,用以解析用户输入的语句。

如何搭建一个AI对话系统?

识别意图:根据语句识别用户的意图。

检测词槽:检测词槽关键信息。

传统机器学习模式:

通过建模为序列标注或分类问题,解析用户输入的语句。

如何搭建一个AI对话系统?

通过分类问题获得输入语句的意图;通过序列标注识别输入语句的词槽。

把语句输入到机器学习系统之后,会输出属于各种意图的概率,然后确定意图,标注各词槽的类型。

深度神经网络模式:

基于深度神经网络的模式可同时实现意图和词槽的识别,但需要海量的数据去训练。

如何搭建一个AI对话系统?

三种模式的优劣势:

如何搭建一个AI对话系统?

2. 语义匹配

通过语义相似度计算匹配最接近的实例,来理解用户输入的语句。

如何搭建一个AI对话系统?

首先将输入语句表示为便于匹配的语义形式;然后计算输入语句和数据库中语句的相似度;相似度最高的就是最匹配的语句。

四、对话系统的工作流程

前面我们已经介绍完了对话系统的类型、关键概念和技术,我们把前面介绍的内容串联起来,就是这一章要讲的话系统的主要工作流程。

1. 主要工作流程

如何搭建一个AI对话系统?

用户输入语句:比如说“帮我预定从深圳到北京的车票”。

对话的理解:理解的实现方式有语义解析和语义匹配。

对话管理:因为可能不是一次的问答就能解决问题了,比如说用户输入的语句中只有出发地和目的地,还没有提到时间,因此机器还要去问用户出发时间;比如说我们前面提到的用户在订机票的任务中,突然转到了订外卖,然后再回来订机票,因此机器要学会管理前面未完成的任务。

资源检索与任务执行:机器回答问题和执行动作需要跟外部的资源连接,比如说订机票,需要到机票系统去查询航班和余票情况,最后还要执行订票的动作。

外部知识服务:指的就是机器完成任务所需要的外部资源。

2. 理解和回应

从另外一个维度,对话系统又可以分为两大块:如何理解、如何应答。

如何搭建一个AI对话系统?

如何理解?主要有两种方式:语义解析、语义匹配(前面已经讲过就不再重复了)。

如何应答?应答才是交流中最直观的表现方式,能不能更加接近人的交流方式,就需要在应答上表现了。应答主要又分为:词槽澄清、回复、引导。

词槽澄清:

假设用户问:詹皇今天得了多少分?

机器人听不懂“詹皇”是谁,它就会问:詹皇是谁?。这就是词槽澄清。

回复:

即机器理解了用户意图之后的答复。但这里需要注意的是,触发这个答复的条件是什么?比如说订机票就需要知道时间、出发地和目的地这3个条件。回复话术又是怎样的?可爱点的回复,还是严肃点的回复,或者是要二次确认等等。

引导:

引导是指完成了当前的任务之后,机器人可以引导用户做其他的事情。比如说订完机票,机器人可以问,需要给你订酒店吗?这样是不是显的更加的接近人的交流了。

当然引导也需要主要几个点:

  • 什么时候才会触发引导?当前任务执行完还是怎样。
  • 引导做什么?是引导去订酒店还是引导去订外卖?
  • 引导的话术是什么?我还可以为你订酒店、你需要订酒店吗。

五、实现一个对话系统的主要步骤

下面以一个订机票对话系统为例,串联实现一个对话系统的整体步骤。

1. 定义对话系统

确定场景和边界,目标是什么,需要哪些功能,需要哪些信息和资源,还有确定不做什么。

订机票对话系统的定义:

如何搭建一个AI对话系统?

2. 富集数据资源

所需信息资源:

如何搭建一个AI对话系统?

穷举完成这个系统所需要的信息和字段。

词槽词典:

如何搭建一个AI对话系统?

设置词槽的属性,必填或非必填,列举所有词槽的词典。

从上图我们列举了一些订机票的词槽:日期、出发地、目的地、特征词等。

词典是什么呢?词典就是词槽下所有有可能的槽值,比如出发地词槽的词典就是所有的城市。

语料:

如何搭建一个AI对话系统?

收集尽可能多的语料,语料越多,系统效果越好。

下面就以请求预定机票的为例,列举了一下语料。

3. 写故事线

我们先写一条愉悦的故事线,中途没有异常的情况。

如何搭建一个AI对话系统?

然后再在各个环节补充异常情况,比如说:

  • 听不清用户的话,需要澄清;
  • 中途用户转换了其他任务,需要记忆相应的信息;
  • 用户突然改变行程,比如说:不了,还是帮我订后天的机票;
  • 等等各种异常情况的处理方案。

4. 抽取对话流程

根据故事线,抽取出主要的对话流程。

如何搭建一个AI对话系统?

当然,这只是愉悦路径的流程,你还可以根据出现异常情况,不断的加入各种分支,完成整个流程。

5. 开发/训练调优

在前面定义好系统,收集完所需信息和资源,确定好对话流程后,接下来就可以进入开发了。

当然如果你没有这么强大的开发能力,现在也有一些开放的平台可以快速的实现你的对话系统。比如说百度的UNIT开放平台,讯飞的AIUI开放平台等,都支持快速的实现你的对话系统,可以去体验一下。

开发完之后,就开始用数据去训练,不断调优,完善你的系统。

5. 上线后不断优化迭代

优化其实是一个持续的过程,上线后我们需要根据用户的反馈或日志的分析,找出问题不断优化。

对话系统常见的优化思路:

  • 找出机器识别错误的意图,分析错误的原因;
  • 找出机器没有覆盖的意图,分析是否属于定义的功能范围内,若是则后续需要添加;
  • 对于高频使用的意图,不断完善体验;等等。

本文主要是参考了百度云智学院的教学内容。

 

本文由 @Jimmy 原创发布于人人都是产品经理。未经许可,禁止转载。

题图来自Unsplash,基于CC0协议。

您可能感兴趣的文章

  • 企业做网络营销策划的市场运营指导
  • 搜索的B面:新连接
  • 微博和陌陌等发布新款APP会脱颖而出吗?
  • 快播王欣上线了新App“灵鸽AI”
  • 易车编辑如何做到每天生产一万篇文章?
  • 百度为何不惧搜索市场的新入局者?
  • 百度为何不惧搜索市场的新入局者?
  • 华为发布2025十大趋势

未经允许不得转载:杂烩网 » 如何搭建一个AI对话系统?

课后答案张九龄《望月怀远》阅读答案及全诗翻译赏析

望月怀远张九龄海上生明月,天涯共此时。情人怨遥夜,竟夕起相思。灭烛怜光满,披衣觉露滋。不堪盈手赠,还寝梦佳期。注释⑴怀远:怀念远方的亲人。⑵最前面两句:辽阔无边的大海上升起一轮明月,使人想起了远在天涯……
2023-11-22 04:53暂无评论阅读详情

课后答案王安石《次韵唐公三首其三旅思》阅读答案

次韵唐公三首其三旅思王安石此身南北老,愁见问征途。地大蟠三楚,天低入五湖。看云心共远,步月影同孤。慷慨秋风起,悲歌不为鲈②。注:①张壤,字唐公,北宋嘉佑六年契丹国母生辰使,王安石友人。②《晋书&mid……
2023-11-22 04:52暂无评论阅读详情

笔记心得各级干部学习执法为民心得体会

  “各级干部都要牢固树立全心全意为人民服务的思想和真心实意对人民负责的精神,做到心里装着群众,凡事想着群众,工作依靠群众,一切为了群众。要坚持权为民所用,情为民所系,利为民所谋,为群众诚……
2023-11-22 04:12暂无评论阅读详情

笔记心得寒假大学生社会实践心得体会

  自从走进了大学,就业问题就似乎总是围绕在我们的身边,成了说不完的话题。在现今社会,招聘会上的大字报都总写着“有经验者优先”,可还在校园里面的我们这班学子社会经验又会拥有多少……
2023-11-22 04:08暂无评论阅读详情

协议书济南市某美容院转让协议第2篇

  __________美容院根据中华人民共和国国务院劳动法规和________市私营企业劳动管理实施办法,结合本美容院经营的具体所需今制订此劳动合同书。  双……
2023-11-22 02:36暂无评论阅读详情

剧本劳模宣传短剧剧本《阿咪也想当劳模》

  1、机械厂门卫处,日,外。  清早,机械厂班长李玉伟开着别克赛欧小汽车驶进厂区,门卫室内的保安一边按开电动门,一边朝李玉伟摆手。  李玉伟:(摇下车窗,笑着打招呼)小秦,早。  保安小秦:(笑着)……
2023-11-22 02:11暂无评论阅读详情

教程灰雀说课稿

灰雀说课稿  灰雀说课稿(一):  《灰雀》说课稿  一、说教材  《灰雀》是义务教育课程标准实验教科书,小学语文第五册第二单元的一篇讲读课文。这篇课文记叙了列宁在莫斯科郊外养病期间爱护灰雀的故事。列……
2023-11-22 00:41暂无评论阅读详情

课件“吴隐之字处默,濮阳鄄城人”阅读答案及原文

吴隐之字处默,濮阳鄄城人。美姿容,善谈论,博涉文史,以儒雅标名。弱冠而介立,有清操,虽儋石无储,不取非其道。事母孝谨,及其执丧,哀毁过礼。与太常韩康伯邻居,康伯母,贤明妇人也,每闻隐之哭声,辍餐投箸,……
2023-11-22 00:38暂无评论阅读详情

标签