高级能力和算法效果优化(一)| 学习笔记

简介: 快速学习高级能力和算法效果优化。

开发者学堂课程【3节课带你走进云小蜜产品 :高级能力和算法效果优化(一)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/739/detail/13117


高级能力和算法效果优化(一)

 

本次课程目标是希望提供给大家一种机器人效果优化的抓手,让大家了解并掌握机器人效果优化的常用的流程以及手段,帮助大家将机器人的自然语言水平,包括实体识别,意图识别等做到端到端90%以上,找到业务可交互的效果。

 

内容介绍:

一、系统内置意图、实体

二、意图话术高级配置方式 LGF

三、机器人训练

四、总结

 

一、系统内置意图、实体

为了最大程度的减少用户规划构建的成本,所以做挖掘和沉淀,把一些通用的常用的意图和实体进行内置,并且能够保证内置意图、实体效果能够达到一个非常好的水平。

1、内置通用意图(19个,模型F1=91. 96%) :停止、取消、感谢、返回、重听、上一个、下一个、你是谁、转人工、信号不好、友好问候、寻求帮助、通用否定、通用肯定、客户不方便、客户说再见、骂人说脏话、质疑是机器人、客户反问什么事。预计到93年时内置意图会进一步得到扩展,增加很多行业意图,内置意图数量能够增加到1000个以上。

实体类别

数量

主要类别

示例

时间类

7

日期、时间、周期时间、持续时间等

2020年6月18号下午5点进行了三个小时的会议

地点类

28

国家、行政区划、POI系列等

我老家是山东省烟台市

我住在千鹤家园小区

数字类

22

各类数字、各类数量词、车牌、电话号等

工作完成了三分之一

车牌号码是京N98U6

医疗类

16

疾病、症状、检查、药品、诊断、用药频率等

老王患有糖尿病

我今天体温正常

这个药每天三次

生活类

8

快递相关、菜谱、食材等

帮我发顺丰快递

我要点一个西红柿炒鸡蛋

文娱类

3

人物名、电影和广播电台

是张艺谋拍的闪闪的红星吗

我要听央广之声

其他

20

人名、邮箱、人物关系、指代、账号等

我不是李四光,我是他的朋友

我的支付宝账号是douni@163.com

2、演示系统内置意图以及内置实体的使用方式。

(1)提前定义好查天气的对话流,对话流包括触发节点,条件是查天气意图。编辑话术。

image.png

(2)对应会进行城市参数的收集。

image.png

(3)调用查天气 API,查天气回复。

image.png

(4)增加转人工的功能,定义转人工的意图,点击用户输入节点,可以看到内置的意图19个,节点名称,转人工,触发条件会自动选,保存。

image.png

(5)增加转人工的回复,名称转人工回复,文本回复,人工服务转接中。

image.png

(6)测试,输入查天气,转人工,成功识别到转人工的意图。

image.png

(7)通过系统的意图能够节省成本,系统实体分两种类型,用户可以自己去创建自己的实体,一种是标准名词的实体,一种是正则名词的实体,标准名词的实体是由很多个词组成的,正则是用正则表达式组成的,但是用户自定义也是需要成本的,除了用户自定义之外,系统里预制了一些实体,比如长天气意图,它的参数就是收集城市,收集查询哪个城市的天气,使用的识别能力会展示系统实体展示的列表,@sys.geo-city。

image.png

如果替换成省份@sys.geo-provin。测试,就可以识别出省份的天气。

image.png

在对话流的配置中,优先使用内置的意图和实体,首先内置的效果会有保障,使用成本会低很多,后续会不断完善内置意图和实体,让它的数量越来越丰富。


二、意图话术高级配置方式 LGF

LGF 配置方式主要用来解决的问题是在对话启动以及 benefits 干预的时候,如果只能一条一条话术准备,配置效率会比较低。所以使用 LGF 方式,它配置单条 LGF,效果能够达到上百条,或者更多话术的效果,能够节省配置的成本。

image.png

1、对于机器人里面的每一个意图,它一般会包含非常多的说法,比如查天气的意图,北京的天气、明天的天气、杭州气温、查询明天北京天气情况、请问一下明天北京天气如何、请问后天上海天气怎么样等。如果一条话术一条话术去写,写的数量非常多,所以设计了一种高效的知识归纳的方式,比如通过.{0,2}[请问[一下]][${日期}][${城市}][的](天气|气温)[如何|怎么样].{0,2}一条可表示144个句子,不包含实体和通配符,如果把实体和通配符考虑进去,数量会更多。

2、演示 LGF 配置

(1)打开左边意图列表页面,里面会有新建意图编辑意图的入口,可以看到已经有的查天气意图,点击编辑页面。

image.png

(2)可以看到意图名称和用户话术,最下面有高级语义配置方式,可以看到已经配置了两条。

image.png

(3)测试,输入查天气,在窗口可以看到匹配类型lgf和匹配细节[我想|我要]查天气。

image.png

3、LGF 基本使用

(1)最简单的 LGF

今天的北京天气

Testing

今天的北京天气 OK

今天北京天气 FAIL

最简单的 LGF 就是普通的文本,这个 LGF 仅能匹配原封不动的“今天的北京天气”。

(2)可选部分

今天北京[]的天气

Testing

今天北京的天气 OK

今天北京天气 OK

明天北京天气 FAIL

使用[]表示文本中的某个部分是“可有可无的”,这样的 LGF 表达能匹配两个输入,“今天北京天气“和“今天北京的天气“。可以在不同的地方加入可选标记,能让句子的表达能力翻倍(x2) ,比如下面的表达就能匹配4个输入。

今天北京[的]天气[预报]

Testing

今天北京的天气 OK

今天北京天气 OK

今天北京的天气预报 OK

今天北京天气预报 OK

明天北京天气 FAIL

(3)逻辑或

使用|可以表达“逻辑或关系“,可以表达n个候选中的任意一个,同时避免表达歧义,建议使用()做隔离表达

(今天|明天|后天)北京[的]天气[预报]

Testing

今天北京的天气 OK

今天北京天气预报 OK

明天北京天气 OK

后天北京的天气预报 OK

明天上海的天气情况 FAIL

也可以使用[]形成天然的隔离

(今天|明天|后天)北京[的1天气[预报|情况|状况]

Testing

今天北京天气预报 OK

明天北京天气 OK

后天北京天气状况 OK

明天北京的天气情况 OK

上海的天气 FAIL

(4)参数表达

除了 LGF 的文本表达,Dialog Studio 构会有很多的参数填充需要,比如上述的天气的例子,需要知道“日期“和“城市”,才能进行对应的查询。

使用${}引用具体的参数(注意:是参数名称,而不是专有名词),这样就能命中非常多具体表达。

${日期}${城市}[的]天气[预报|情况|状况]

Testing

今天上海天气预报 OK

下周一北京天气 OK

3号重庆天气状况 OK

上海的天气 FAIL

城市允许的值非常多,可能有上百种,如果还是用或,写起来会非常的复杂,所以引入参数表达。

(5)通配符泛化

“逻辑或"和“可选部分”仍不能满足一些应用对泛化能力的需求。

[请问|查下|告诉我]${日期}${城市}[的]天气[预报|情况|状况] [如何|怎么样|好不好]

Testing

查下今天上海天气预报 OK

那个下周一北京天气 FAIL

查查3号重庆天气状况 FAIL

上海的天气 FAIL

LGF 也支持通配符,表示方式是.下限,上限},比如.{0,3}表示能匹配0个(没有)到3个任意字符(字符为UTF字符,中文字、标点、英文字母都算一个)

.{0,3}${日期}${城市}[的]天气[预报|情况|状况].{0,3}

Testing

查下今天上海天气预报 OK

那个下周一北京天气怎么用 OK

查查3号重庆天气状况如何? OK

不想查明天的天气 WARNING

上海的天气 FAIL

切记这样的泛化是很不可控的,很可能兼容了一些问题确引入更多的问题

(6)通配符导致优先级衰减

//意图A

.{0,3}吃饭去.{0,3}

//意图B

.{0,3}吃饭.{0,3}

Testing

吃饭意图 B

我们去吃饭去意图 A>意图 B (A 意图消耗通配符3个, B 意图消耗通配符4个)

吃午饭去吧 FAIL

(7)逻辑非

通配符泛化过程中容易引入不可控因素

{0,3}幸福大巴.{0,3}

Testing

幸福大巴信息 OK

预定幸福大巴 OK

退订幸福大巴 WARNING

幸福班车 FAIL

本意是希望能够匹配“幸福大巴”相关的内容,但 query 为“退订幸福大巴”时仍会命中,可能跟业务的初衷相悖

(!退订|取消){0,3}幸福大巴.{0,3}

Testing

幸福大巴信息 OK

预定幸福大巴 OK

退订幸福大巴 FAIL but CORRECT

幸福班车 FAIL

在通配符规则前使用(!)取代。表述取反的范围(注意不是,前面加上(!)),.表示任意字符,“逻辑非”(!)改变了字符范围,达到取反目的

需要注意的是当前版本(!..)中间的内容,仅支持“1”,还未支持“[]”,“()"等语法。

相关文章
|
6天前
|
算法 BI Serverless
基于鱼群算法的散热片形状优化matlab仿真
本研究利用浴盆曲线模拟空隙外形,并通过鱼群算法(FSA)优化浴盆曲线参数,以获得最佳孔隙度值及对应的R值。FSA通过模拟鱼群的聚群、避障和觅食行为,实现高效全局搜索。具体步骤包括初始化鱼群、计算适应度值、更新位置及判断终止条件。最终确定散热片的最佳形状参数。仿真结果显示该方法能显著提高优化效率。相关代码使用MATLAB 2022a实现。
|
9天前
|
机器学习/深度学习 数据采集 存储
一文读懂蒙特卡洛算法:从概率模拟到机器学习模型优化的全方位解析
蒙特卡洛方法起源于1945年科学家斯坦尼斯劳·乌拉姆对纸牌游戏中概率问题的思考,与约翰·冯·诺依曼共同奠定了该方法的理论基础。该方法通过模拟大量随机场景来近似复杂问题的解,因命名灵感源自蒙特卡洛赌场。如今,蒙特卡洛方法广泛应用于机器学习领域,尤其在超参数调优、贝叶斯滤波等方面表现出色。通过随机采样超参数空间,蒙特卡洛方法能够高效地找到优质组合,适用于处理高维度、非线性问题。本文通过实例展示了蒙特卡洛方法在估算圆周率π和优化机器学习模型中的应用,并对比了其与网格搜索方法的性能。
78 1
|
24天前
|
算法
基于GA-PSO遗传粒子群混合优化算法的CVRP问题求解matlab仿真
本文介绍了一种基于GA-PSO混合优化算法求解带容量限制的车辆路径问题(CVRP)的方法。在MATLAB2022a环境下运行,通过遗传算法的全局搜索与粒子群算法的局部优化能力互补,高效寻找最优解。程序采用自然数编码策略,通过选择、交叉、变异操作及粒子速度和位置更新,不断迭代直至满足终止条件,旨在最小化总行驶距离的同时满足客户需求和车辆载重限制。
|
2天前
|
算法 Python
群智能算法:灰狼优化算法(GWO)的详细解读
在优化问题中,寻找最优解是核心目标。灰狼优化算法(GWO)受到自然界灰狼狩猎行为和社会等级结构的启发,通过模拟Alpha(头狼)、Beta(助手狼)、Delta(支配狼)和Omega(普通狼)的角色,高效搜索最优解。本文详细解析GWO的原理与步骤,并提供Python代码实现,帮助读者理解并应用这一算法。
|
2天前
|
算法 Python
群智能算法:【WOA】鲸鱼优化算法详细解读
本文详细解读了鲸鱼优化算法(WOA),这是一种受鲸鱼捕食行为启发的新兴群体智能优化算法,具有强大的全局搜索能力和快速收敛速度。文章分为五个部分,分别介绍了引言、算法原理、主要步骤、特点及Python代码实现。通过模拟鲸鱼的捕食行为,该算法能够在复杂的优化问题中找到全局最优解。
|
24天前
|
算法 语音技术
支付宝商业化广告算法问题之在ODL模型优化过程中,采取什么策略来提高模型的泛化能力呢
支付宝商业化广告算法问题之在ODL模型优化过程中,采取什么策略来提高模型的泛化能力呢
|
30天前
|
算法
基于多路径路由的全局感知网络流量分配优化算法matlab仿真
本文提出一种全局感知网络流量分配优化算法,针对现代网络中多路径路由的需求,旨在均衡分配流量、减轻拥塞并提升吞吐量。算法基于网络模型G(N, M),包含N节点与M连接,并考虑K种不同优先级的流量。通过迭代调整每种流量在各路径上的分配比例,依据带宽利用率um=Σ(xm,k * dk) / cm来优化网络性能,确保高优先级流量的有效传输同时最大化利用网络资源。算法设定收敛条件以避免陷入局部最优解。
|
14天前
|
数据采集 算法
基于PSO粒子群算法的三角形采集堆轨道优化matlab仿真
该程序利用PSO算法优化5个4*20矩阵中的模块采集轨迹,确保采集的物品数量及元素含量符合要求。在MATLAB2022a上运行,通过迭代寻优,选择最佳模块组合并优化轨道,使采集效率、路径长度及时间等综合指标最优。具体算法实现了粒子状态更新、需求量差值评估及轨迹优化等功能,最终输出最优轨迹及其相关性能指标。
|
23天前
|
机器学习/深度学习 数据采集 算法
2.6 手写数字识别之优化算法
这篇文章探讨了在手写数字识别任务中,如何通过优化算法来找到使损失函数达到最小的参数取值。文章首先讨论了学习率对模型训练的影响,然后介绍了四种主流的优化算法:SGD、Momentum、AdaGrad和Adam,并说明了每种算法的特点和适用场景。此外,文章还强调了模型参数初始化的重要性,并介绍了几种常用的参数初始化方法,最后指出在实际应用中,使用预训练模型可以加速网络训练并提高精度。
|
29天前
|
算法 前端开发 计算机视觉
基于均值坐标(Mean-Value Coordinates)的图像融合算法的优化实现
基于均值坐标(Mean-Value Coordinates)的图像融合算法的优化实现
26 0