首页 > 编程知识 正文

新松机器人(我,机器人)

时间:2023-05-06 09:55:30 阅读:94017 作者:1421

随着云计算、大数据、机器学习、深度学习等技术的进步,基于人工智能的智能呼叫机器人备受瞩目。 本文以同程艺龙客服机器人为例,分析智能客服机器人的意图识别和对话管理建设。

智能客服机器人实际上是指使用自然语言与用户进行交流的人工智能信息系统,采用了包括自然语言理解、机器学习技术在内的多种智能人机交互技术,通过识别和理解用户用文字和语音发出的问题,并通过语义分析进行用户的

智能客服是在客服领域的交互式应用,本文将简要与大家分享以下程艺龙智能客服机器人的意图识别和在对话管理建设过程中的心得体会。

该工程艺龙智能客服目前分为一次问答的QA Bot和多次对话的Task Bot,一般多次对话的智能客服系统分为以下模块。 顾客的问题q,进来后首先经过NLU模块抽象为顾客的意图(intent )和重要信息槽位),意图和槽位被传递到DM模块后,经过DST、DPL、slot

目前智能呼叫会话的核心是进行用户的意图匹配,只有明确意图,才能做出针对性的回答,所以下面我就简单地和大家分享一下意图识别的一般原理。

一、关于意图识别的实践

对于智能呼叫机器人来说,意图识别是指判断用户咨询的问题吗? 用户想表达是什么意思?

例如:

我不要这张机票-退票

我的火车票出票了吗? - -催促开票

订明天的机票-请帮我订

一般用以下方法提取

1. 基于命名实体提取和词库

例如在我的订单没有开票的情况下,使用HanLp自然语言处理工具包,提取以下两个单词的订单、开票,根据禁止使用的单词词典删除订单,根据词典中登记的单词进行对应的分类,找出对应的意图对于复杂的句子,可以统计词数,从频率最高的中找出对应的分类意图。

使用这种方式的优点是操作方便,通过检索方式很快找到对应的意图。 但是,缺点也很明显。 例如,这个订单还没有开票。 因为没有出票,所以不需要。 意图是退款,显然是错误的。 由于识别精度相对不高,该方式一般被提取为机器学习意图插槽数据。

2. 基于模板的匹配

查询非常符合规则类别,通过规则分析获取查询的意图。 请帮我预订明天苏州到北京的机票。 使用规则模板,可以从“苏州”提取“北京”“明天”“机票”,如下所示。

这种方式需要通过命名实体提取、词性标准、语义分析来完成,对规律性很高的咨询具有很高的精度。 但是,这种方式需要研究开发和训练师做很多工作,很难扩展。

3. 基于机器学习

1)逻辑回归

其目的是识别机器学习中的分类问题,也就是用逻辑回归进行分类。 在使用逻辑回归之前,首先必须将语言分词、矢量化。 分词可以比较各个分词的效果,最常用的是jieba分词。 支持专业名词的放置和单词的无效化。 分词完成后,需要量化词和前进方向。

一般有两种方式,一种是使用One-Hot代码的方式,这种方式一般用于专业性强的领域,另一种是word2vec,这种代码方式可以很好地识别单词之间的关系。

像一半的one-hot代码一样排列所有的词矩阵,相同的地方设为1,例如分词完成后,按照语序排列的结果如下

通过“下单、开票、取消”得到的单词向量为“1,0,0”、“0,1,0”、“0,0,1”。 如果该订单尚未开票,不开票,则订单一次,开票两次,则该语句的最终向量为

使用word2vec的结果相似。

关于意图识别,一般是多种分类。 但是,多分类问题是从二分类问题扩展出来的。

2 )二元分类

关于二分问题,在未知概率分布的条件下,一般假设为正态分布(高斯分布)。 多维高斯分布如下,也是多个高斯分布相乘的结果。

带入贝叶斯公式,最终得到的是关于w,b的函数,也是sigmod函数。

对于数据量少的分类,使用生成的模型Generative Model,计算p(c1、p(c2和各分类样本数据的平均值mean和协方差矩阵),得到w、b,对于任意的输入x

典型的数据分类为c1,否则为c2。 因为是二项分类,所以不需要单独计算p(C2|X )。

但是,对于数据量大情况,一般使用判别模型Discriminative Model,对于二分类问题,通过最大似然估计,Loss函数成为

一切都要找到w,b

为了计算方便,用对数表示公式

由于和的概率公式不统一,上面的公式不能写成统一的形式。 为了统一格式,这里给所有的培训数据标上0和1,y=1表示c1,y=0表示c2,上式进一步改写如下

img.com/origin/pgc-image/S1HfAbN4FauZzj?from=pc">

这个形式其实就是两个分布的交叉熵,表示个概率分布有多接近。

下面就是对这个loss函数使用梯度下降求解最小值,对w,b微分最终得到每次更新的梯度,最终得到w,b,带入sigmod函数即可得到结果。

另外,一般情况下判别模型比生成模型要高。

以上二元分类的情况,对于多元分类问题,其原理的推导过程与二元分类基本一致。

3)多分类

假设我们用的是高斯分布,共用协方差矩阵,经过一般推导,也就是各种变换后,可以得到一个softmax函数。

假设有三个分类:c1,c2,c3 ,每一个c都有自己的w,b,w1,w2,w3 分布代表三个向量, b1,b2,b3分别代表三个常量,输入x也是一个向量。

用softmax进行输出正则化。softmax计算方式如下:

可以是任何值,但是做完softmax之后,输出的值一定是介于0~1之间,并且它们的和一定是1。 多分类任务中输出的是目标属于每个类别的概率,所有类别概率的和为1,其中概率最大的类别就是目标所属的分类。

即二分类使用sigmod函数输出得到结果,而多分类使用softmax得到结果。

如下图所示,输入x经过三个式子分别生成,经过softmax转化成输出,它们分别是这三个 分类的概率,由于sum=1,因此做完softmax之后就可以把y的分布当做是一个概率分布。

我们在训练的时候还需要有一个输出,因为是三个分类,所以对应的输出也是三维的。为了满足交叉熵的条件,输出也必须是概率分布,这里我们不能使用1,2,3作为分类的区分,为了保证所有分类之间的关系是一样的,这里使用类似于one-hot编码的方式。

和二元分类求解一样,利用交叉熵,最终通过微分得到最优w1,w2,w3 。

4. 基于神经网络

对于输入参数比较复杂的情况,例如输入的可能是一个100*100的矩阵,这个时候就需要对数据进行处理,或者输入的特征无法在数据源上进行数据处理,就需要在逻辑回归之前再接上一个逻辑回归,对数据源做处理。

多个逻辑回归就构成了一个类神经网络,也就是深度学习,如(CNN,LTSM)。

对于分类问题,深度学习的最后输出函数也就是sigmod或者softmax函数。

通过上一次的语义抽取和意图识别,对话会进入后续对话树模块。根据前一模块抽取数据和用户本身数据,将数据填充到对话树的对应部分,对话数节点也可以根据条件拉取其他数据,最终这些数据都会在当前会话中保存。可以根据用户问题,如果条件满足,通过NLG模块生成对应话术返回。

最终一次用户会话的完整的流程

5. 应用与实践

同程艺龙智能酒店订单咨询问题,目前使用交叉熵和L-GFGS算法训练得到的意图,初步打样上线后,准确率在93%左右。

二、对话管理平台的搭建

上文我们提到了智能客服相关的核心技术,除此之外,我们还希望有一套比较完整的对话管理系统解决方案,并期望它:

更灵活:可灵活支持以上不同形态,不同业务,不同的运营人员使用。

更易用:运营团队可以自主训练自己的机器人和定义对话流程。

同程艺龙对话管理平台:

面向于同程艺龙和外部租户的公共对话管理支持系统,包括机器人训练,对话流程配置功能(词槽和意图的配置、对话条件和执行动作的配置)、以及相关的数据报表和机器人自学习优化等功能。

1. 多租户管理

考虑内外部的不同需求,平台采用SAAS的租户管理方式,将不同业务之间分离解耦。租户下支持创建多业务线和系统角色、成员等。

2. 可视化任务场景搭建

我们将对话交互抽象和总结为条件判断(Entry),信息收集 (SlotFilling),响应回复(Response)等一系列元素模块。支持运营人员在平台上利用这些元素,快速自由组合配置对话流。

业务系统可以通过系统公共API接入全局变量,并将这些变量运用到对话流配置中。同时也也可以使用系统预置的条件参数,或对话中已收集到的信息来完善任务场景。

例如:【定机票】场景下,首先要判断是否已存在未支付的冲突订单,业务系统可以接入全局变量 [查询订单] [订单状态],在该判断节点选择使用。

在决策树中添加信息收集节点(SlotFilling),配置多轮对话参数和澄清话术,来完成复杂场景和多伦对话。系统预置了常用通用实体供选择,如时间,城市等;支持自行扩写专用实体类型用来补充与业务强相关的行业专用实体,如航司,水果等;

例如:【定机票】场景中,如不存在冲突订单,需要确认买票的信息:定义 [出发时间] [出发地] [目的地] 3个槽位,和澄清话术,系统将按流程完成填槽信息收集。

3. 响应类型

任务执行响应结果包含文本响应,自定义类响应(提交数据或完成某项任务),跳转(跳转其他场景/节点)等多种形式。

例如:【定机票】场景下,通过文本回复确认客户购买需求后,可以通过[提交订单][发送支付链接]代替客户提交订单并发送支付链接完成下单流程。

在整体上,智能客服业务和技术的部分是解耦的。业务相关信息的设定和操作都是通过智能客服平台,包括不同业务线的意图和词槽的设定、答案配置、数据审核、测试、标注等。新建一条业务线的智能客服应用,只需要在平台上新建项目,输入设定的意图、对应的语料、必要的槽位和对应的答案。

此外,平台上的答案配置也很灵活,可以是固定回答,可以是知识图谱的schema,可以是外部的接口,或是随不同词槽设定的回复等等。

三、写在最后

以上是同程艺龙智能客服产品技术推进过程中的一点点心得分享,未来智能客服将往多模态和多语言方向发展,支持语音、图像等模态的解析。智能客服还将提供智能外呼、主动服务、人机协同、等多维度服务,未来将实现从售前到售后、从服务到产品的全业务以及全服务流程的智能化,构建服务行业的全智能模式。

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

题图来自Unsplash,基于CC0协议

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。