@产品科技

实现人机对话场景的产品梳理

2019-02-25  本文已影响0人  郭少悲

人机对话场景梳理的基本流程

image.png

需求分析

需求分析是训练智能对话技能举足轻重的一步,需要基于自身业务场景进行深入透彻的思考,从而明确整个对话技能的架构,后续的技能创建与训练工作全部在此架构的基础上展开。这一步在训练智能对话技能时很容易被忽视,但草率分析需求即着手训练的技能往往后续需要投入更多的时间和精力进行调整,甚至需要推翻重来。

挖掘需求,确定边界

首先是对业务场景进行分析,以酒店服务这一场景为例,存在很多酒店助手“可以做”的业务,我们应当从用户需求和用户体验入手,思考在该场景下用户的刚需,以及如何通过引入对话交互来大幅提升用户体验,从而在大范围的可以做的业务中找到其中必须做应该做的业务。

在酒店服务这一场景下,用户主要的活动空间是在酒店房间内,因此酒店助手的首要目标为尽可能优化用户在酒店房间内的体验,像联系前台、呼叫客房服务这些都是需要优先满足的需求;而设置日程提醒、控制房间内的家电,这些功能通过语音交互来实现可以使用户进一步感受到智能化酒店的舒适和创新;意见反馈有助于收集用户的反馈以不断优化酒店的服务,通过酒店助手的对话来完成可以获得比纸质调查表更高的反馈率。

而关于酒店的常见问题的咨询,也是酒店助手应当实现的功能之一:一方面这些问题对于新入住的顾客而言是切实需要获得解答的,另一方面直接通过对话方式获得问题的解答比传统的从宣传单中查找或是致电询问前台都更加简单便捷。

对于一些超出酒店基本服务以外的拓展服务,如新闻播报、城市导览等功能,可以对用户体验起到一定的提升,但并非强需求,同时需要对接大量的资源库;而我们的目标是首先搭建最小可用技能,因此这部分功能可以先不去开发或低优先级开发。

明确目标,确定任务类型

在确定了业务场景的边界之后,我们就需要明确这些功能的目标,从而确定任务的类型,不同的任务类型对应着不同的配置方式;首先我们来了解一下任务类型的分类:

image.png

可以看出,任务类型区分的关键在于任务目标的有无以及是否需要把请求参数化;了解了这一点后,我们不难将之前梳理的功能进行分类:

image.png

功能定义:确定优先级及关键信息要素

在确定边界和目标后,我们就可以动手对功能进行定义了,在这一阶段,我们需要确定各功能的优先级,并确定每个功能的实体要素。

  1. 首先是优先级的确定,其实在确定边界的过程中,我们已经对功能的重要程度和实现难度进行了分析,在此基础上不难确定出功能的优先级:
image.png
  1. 关键信息要素的分析。任务型的对话需要将请求参数化,相应的我们就需要分析要完成每个对话都需要将哪些实体要素参数化,而这些实体要素所对应的正是技能的对话意图及其词槽。我们以酒店房间内场景下P0优先级的功能为例进行分析,可以梳理出如下的关键信息要素:
image.png

可以发现标红部分因为其关键信息要素的重合而产生了意图的合并,具体如何处理相似功能间意图的拆解与合并,我们在下节对话逻辑梳理中展开讲解。

对话逻辑梳理:任务型对话的常规与异常情况、问答型的知识分类

任务型对话的意图梳理

任务型对话因具有将请求参数化的这一特点,在配置到对话意图时需整体考虑该场景下的相似任务和相关任务,在这一阶段将对话任务与意图间的映射关系梳理清晰,可以在后续的配置中达到事半功倍的效果。

以上节中进行了关键信息要素分析的功能为例,在物品需求类型的功能间和智能家电的开关控制中出现了功能的关键信息要素重合的情况,下面我们分别针对这两类功能进行分析:

  1. 物品需求类型功能

在实际的酒店场景中顾客可能产生远比本文列出的示例更多的物品需求,在物品需求与意图之间建立一一映射关系不仅会浪费大量的人力,而且存在拓展性差、不同意图间的query相似性强相互干扰影响效果的缺点。因此我们采取合并意图、通过词槽来区分具体物品的方式,这种方式前期工作量小,后期拓展性强(只需调整词槽词典即可增删物品)。但也不可不管三七二十一将所有物品需求合并为同一意图,需要从实际场景出发进行合理的意图合并与区分。

image.png
  1. 家电控制类型功能

    家电控制类型的功能在意图的梳理上与物品需求类型的功能基本相同,在上节的梳理中考虑方便未来的拓展,把只有开关指令的设备汇总到一个意图中。

    注意:本例中假设灯具只有开关两种指令,若存在更复杂的指令如(柔和模式、工作模式……),则需单独设立意图不可合并。

问答型对话的意图梳理

问答型对话没有需要参数化的内容,往往具有固定的标准答案;这类型的对话逻辑梳理其实就是要对问题进行分类,或者叫知识分类。比如酒店的问题咨询可以如下分类:

image.png

场景数据收集:在真实场景下用户会怎么问?

人工智能实现语义理解的过程,和教牙牙学语的小朋友讲话的过程是相似的:最初他只能懂你教他的一模一样的内容(训练数据量少时泛化能力差),等到教的内容多了之后就可以理解这个意思的不同表达方式(基于大量的训练数据产生泛化能力)。

因此我们在收集场景数据时,需要尽可能贴近真实场景下用户的表达方式,最好是从实际业务场景中沉淀下来的真实数据,全面覆盖用户在该场景下可能出现的表达方式。

配置对话模板

对话模板是基于用户的表达方式归纳出的匹配规则,归纳得当的对话模板配置起来简单快速,可以识别多种表达方式,适合短时间内使技能达到可用的对话效果。同时对话模板的优先级高于对话样本,可用于对对话样本训练结果的优化。

在开始配置对话模板之前,我们来明确几个概念:

理解了这些概念后,我们就可以从真实场景的数据中提炼相应的对话模板了。以需确认数量物品这一意图为例:

image.png

--- 参考 ---

http://ai.baidu.com/forum/topic/show/892294
https://ai.baidu.com/docs#/UNIT-v2-sample/top

上一篇下一篇

猜你喜欢

热点阅读