Post Jobs

对人机对话的四种形态做了较为浅显的概念介绍,知识驱动对话

图片 7

客户世界消息:未来的机器人,会怎么聊天?这也是2019年语言与智能技术竞赛的“考题”任务之一。经过几个月鏖战,2019年语言与智能技术竞赛成绩单近日出炉。在“知识驱动对话”这一竞赛任务上,追一科技凭借优秀的单模型表现,一举拿下冠军名次。

最近在筹备转行 AI PM 由于之前的产品线也有做过类似 AI
的智能客服产品,所以打算先从人机对话这个角度入手。

图片 1

以下文章结合了一些
case,对人机对话的四种形态做了较为浅显的概念介绍,其中“以任务为驱动的多轮对话”做重点介绍。这篇文章比较适合想要简单了解
AI 人机对话技术逻辑的 0 技术基础PM
。学习资料来源有三角兽、图灵机器人、携程技术中心。

本届大赛由中国计算机学会、中国中文信息学会和百度联合举办,吸引了近2500支队伍参赛,包括近百所211大学和多家科研机构,以及微软、华为、中国移动等企业。本届比赛设立了三个任务:机器阅读理解、知识驱动对话、信息抽取,攻坚语言理解与交互的研究水平。三大任务覆盖的核心技术,均是目前自然语言处理和人工智能领域的重要前沿课题。

“人机对话,是人工智能领域的一个子方向,通俗的讲就是让人可以通过人类的语言与计算机进行交互。作为人工智能的终极难题之一,一个完整的人机对话系统涉及到的技术极为广泛,例如计算机科学中的语音技术,自然语言处理,机器学习,规划与推理,知识工程,甚至语言学和认知科学中的许多理论在人机对话中都有所应用。”

挑战AI主动对话能力

人机对话可以分为以下四种形态:开放域聊天、任务驱动的多轮对话、问答和推荐。当然,一个人机对话产品很可能是以上四种形态的混合。

开放性人机对话是人工智能的高级挑战,主动对话是实现人机充分交互的关键。知识驱动对话就是一种更为开放的人机多轮对话任务,机器根据知识信息构建的图谱进行主动式聊天,以考察机器对背景知识的理解程度以及主动引导话题的能力。

一、开放域聊天(open domain):

开放域聊天非面向目标、语义意图不明确。用户通常期望的是语义相关性和渐进性,对准确率要求较低。开放域聊天在现有的人机对话系统中,主要起到拉近距离,建立信任关系,情感陪伴,顺滑对话过程(例如在任务类对话无法满足用户需求时)和提高用户粘性的作用。这一形态的典型产品代表有微软小冰,助理来也,siri,度秘…

开放域聊天与以下的几种对话(task oriented
etc.)有较为明显的区别,因为用户可能不涉及具体任务,场景更加开放,休闲。相应的,用户期望也会产生变化,从期望帮助完成某个硬性/客观的任务到期望机器理解主观的情感,并进行情感交流。借用
Google对话式交互设计指南中的话来说,就是“人们会对媒介角色产生像对真人一样的心理反应,我们会本能地将人类个性与性格迁移到数字对话中去”。
因此相较而言,这种产品的用户体验与交互设计就显得格外重要。用户希望跟一个有温度的机器人聊天,希望自己的情感被理解并得到正向的反馈,当你在想象
ta
的时候,第一印象不是你的智能手机,而是在脑海里刻画出一个或萌或可爱或闷骚的真实形象。

开放域聊天的技术路线通常有 GenerationModel和
RetrievalModel
。IR模型的优势在于有良好的可读性,较好的回复多样性,同时容易测评和分析;其缺点在于严重依赖数据,对于
context 的理解处理较差。生成模式通常会基于 seq2seq
框架,好处在于不需要维护一个巨大的 Q-R dataset,且是 E2E
的学习模式;缺点在于可读性差,回复单一,难以测评。两种模型共同面临的挑战主要有:context的处理以及如何把
user profile 运用在回答的个性化处理上。以下是两种模型对query
的处理过程:

IR模型:

图片 2图片 3

基于生成的技术路线

图片 4

目前,open
domain的人机对话存在有以下主要问题:短文本语义关系计算;基于IR的自动聊天框架下的上下文相关模型;外部知识在聊天模型中的引入;readability
& diversity;引入 user profile 的个性元素。

开放域聊天的评价指标主要涉及单轮相关度;整体满意度;用户活跃度。

单轮相关度:

相关性:不相关=-1;略相关=0;相关=1

趣味性:相关但无趣=0;相关且有趣=1

整体满意度:

顺畅度

自然度

用户活跃度:

平均持续对话轮次

用户平均对话次数

面对“知识驱动对话”任务,追一科技参赛团队经历了多个挑战。

二、以任务为驱动的多轮对话

1、定义:用户带着一定的目标前来使用产品,且由于任务的复杂性,用户需要将需求分多轮进行描述。机器则需要给出每一轮的限制条件下的最佳决策,并且对当前状态进行记录。

2、作用:能够帮助用户完成复杂任务;缩短完成任务需要的路径;减少为了完成任务,搜集信息的时间成本

3、典型代表:阿里小蜜,京东JIMI等智能客服

4、特点和适用场景:用户任务目标 / 任务完成路径清晰。

个人认为,这种任务驱动的多轮对话形式,非常适合在一些专业性要求高的垂直领域,例如买车,理财,教育…同时适合一些需要大量搜集信息才能完成的任务场景,例如股票的买卖(往往需要大量信息支撑决策),二手车交易etc.
智能机器人能够把大量的信息整合,通过对话理解用户需求,只从知识库中抽取用户需要的信息进行返回,节约信息获取的时间成本。

5、产品评估指标:

自然语言理解程度:准确率、召回率、F-score

对话状态追踪:概率分布的优劣

对话结果准确性:对话轮次,任务完成率

6、交互过程分析:

人键入自然语言→预处理成结构化语义表示(dialogue act=communicative
function+slot-value pair)→意图识别当前状态下的最优决策结果输出 →
记录上下文语境(context,即需要维护当前状态),对话状态追踪→人对于结果进行操作(认同结果
or 继续交互)

step1 结构化语义表示:

即将自然语言的 query
识别成结构化的语义表示。在对话系统中,这个结构化的语义表示通常被称作
dialogue act
由 communicative function 和 slot-value pairs 组成,其中
communicative function 表示 query
的类型
(如:陈述需求,询问属性,否定,选择疑问,等等)而每个
slot-value pair
则表达一个限制条件(constraint)
,也可理解为用户目标的一个组成单元。常见的
communicative function 类型:

图片 5

语义结构化表示case: query = “帮我选一辆 3 月上市的国产 SUV”

对应的 dialogue act 可以表示为 inform(model = suv,nation =
国产,time=Mar.)。这里 communicative function 是 inform
,表示陈述需求。而 “model = suv,nation = 国产,time=Mar.”
是限制条件。有时候我们也把model,nation,time等称之为“槽”,而suv,国产,Mar.等称之为槽值。下图可以很好的解释填槽的过程(图源:

图片 6

step 2 意图识别与管理:

用户偏向于短句的表达。因此,识别用户的意图,要与上下文进行结合

在多轮交互中用户会不断的添加或修改意图的子意图,需要维护一份当前识别的意图集合

商品意图之间存在着互斥,相似,上下位等关系。不同的关系对应的意图管理也不同。

属性意图存在着归类和互斥的问题。

**这里有几条 Google 的对话式交互设计指南中的几条准则适用于 PM
和开发者:

串联(Threading):设计师要考虑到用户键入的自然语言的特点,注意上下文和语境

短语句效率:人们在日常聊天中倾向使用短语句,因为与我们对话的人会自动地把短语句进行潜台词填充。因此机器也要注意对短语句的潜台词填充

用户行为的多样性:对于机器的一个回复,不同的用户会采用不同的词汇表达方式,产品设计应该支持这种多样性,设计师应该关注“愉悦路径”,并在所有的场景下保持体验的稳定性

step 3 当前状态下的最优决策结果输出 & 对话状态追踪

对用户意图进行识别后,系统要反馈给当前意图下的最优决策结果,流程如下图所示。

图片 7

忘记是在哪里截到的图了,有可能是携程技术中心的专栏哈.. 侵删

然而用户的需求并不是一成不变的,目标也往往需要多轮对话才能达成。那么就需要我们对对话状态进行追踪,去结合上文语境,了解用户目标到底是什么,给出全局的最优策略解。

eg:

第一轮对话:“帮我选一辆国产 SUV” ,slot-value pairs:nation =
国产,model=SUV.

第二轮对话:“想看看最新出的车”,slot-value pairs:nation
=国产,model=SUV,time=latest

我们要做的,是对 user goal 的识别。而 user goal 可以表示成 slot-value
pairs 的组合。每一个 slot 上都可能有 value,每个
value对应一个置信概率,于是能够形成每个 slot 上的边缘置信状态(marginal
belief);然后所有slot-value
pairs的组合的概率分布就形成联合置信状态。随着slot-value的数量变化,概率分布同样发生变化,则会影响到我们输出的结果。

这里有一点需要注意,即

譬如,第一轮对话:

user:帮我选一辆国产 SUV bot:好的,你想要大概什么价位区间的呢?

user:20万左右的吧 bot:好的

user:算了,还是看看轿车吧

bot:这里要输出 nation=国产,price=20w+-5w,model=轿车,即继承前序对话的
nation 和 price 部分,而非再次询问用户的价格等意愿

step 4 人与结果的交互

关注人与结果的交互,意义在于两个方面:

产品是否真的有效率:即正确识别用户意图,并通过较少的对话轮次帮助用户达成目标。

用户画像的建立:例如某些金融领域智能客服,记录用户与理财产品推荐列表这一结果的交互(浏览,仅点击,点击后成交…)能够构建更为丰富的用户画像,了解用户的风险偏好,资产配置倾向,从而不断提高理财产品与用户的匹配程度。

Reward 设计思路:

某篇文章把这种交互称之为 Reward,并给出了电商商品推荐场景下 Reward
的设计思路:

a) 用户的点击的reward设置成1;

b) 成交设置成[1 + math.log(price + 1.0) ];

c) 其余的设置成0.1

首先,在一般的人机对话当中,机器人一般处在被动状态,即机器人是被动地回应人提出的问题或话题,这会让人感觉机器人缺少主动意识,与真人存在一定的差异。为了解决这一问题,“知识驱动对话”任务提出了以机器人为主导的对话,机器人需要主动发起对话,并且按指定话题与人进行多轮对话交互。

三、问答

此处的问答,指的是一问一答,即直接根据用户问题给出精准答案,如”北京今天多少度“。问答更类似信息检索,虽然可能也涉及上下文处理,如”那么明天多少度“,但通常是通过只带消解和
query
补全来完成。问答与多伦对话最根本的区别在于”系统是否需要维护一个用户目标状态的表示(我的理解是上述所说的slot-value
pair的变化)和是否需要一个决策过程来完成任务。

其次,为了模拟真人对话中话题的多样性,该任务还需要让机器人按照指定的话题顺序进行跳转。因此机器人需要对不同的话题有充分的了解,主动去引导对话从一个话题切换到另一个话题,让对话在保持流畅的同时更加具有多样性。

四、推荐

上述三种对话模式基本上都基于用户的主动
query,而推荐则是系统主动发起的。推荐往往基于用户画像做个性化定制;或基于已有的大量对话数据、给出用户最可能询问的query
model,例如阿里客服界面中,用户未发起
query时,系统即给出”猜你可能想问….“的question cards。

以上就是常见的 4种借助 AI 技术的人机对话式产品。

个人认为,产品经理想要向AI PM
转型,首先要对基础概念有一定了解,同时要花费更多精力去验证需求的真伪:AI与具体场景的结合,是不是真正地提高了用户效率。

恩,那么就先到这里,午休结束,要上班啦!

下次有空聊聊所谓的“智能助理”~

初次学习,恳请各位多多指教拍砖~

交流加微信:13716619970

这里是一只喜欢陈信宏的产品妹子。

最后,为了让机器人与真人在某个话题上进行流畅的交流,机器人需要对话题相关的知识点有充分的了解,并在对话中运用这些知识点让交流内容更加充实有趣,而不是仅仅停留在没有实质内容的对话上。

冠军之路

追一科技参赛团队面对这些挑战,一开始分别尝试以BERT、GPT和ERNIE这三种预训练模型作为起点去解决赛题中的难点。这些预训练模型在一般的自然语言任务上都有优异的表现,但在本次赛题中直接简单地使用效果却并不理想。这是因为赛题中的知识背景是以结构化的形式呈现,要想让模型对这些结构化的知识进行学习,需要进一步地对模型进行改进。

经过不断尝试,团队最后提出以结构化编码加多任务训练的方式来解决上述的挑战。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章

网站地图xml地图