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

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

开发者学堂课程【智能语音对话机器人训练营课程:高级能力和算法效果优化】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/908/detail/14396


高级能力和算法效果优化


目录

一、系统内置意图,实体

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

三、机器人训练

 

一、系统内置意图,实体

内置通用意图(19个 模型 F1=91.96%) :停止.取消.感谢.返回.重听.上一个.下一个.你是谁.转人工,信号不好,友好问候、寻求帮助.通用否定、通用肯定.客户不方便.客户说再见.骂人说脏话.质疑是机器人.客户反问什么事)。

示例

实体类别

数量

主要类型

示例

时间类

7

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

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

地点类

28

国家 行政区域 POL系列等

我老家是山东省烟台市

我住在千鹤家园小区

数字类

22

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

工作完成了三分之一车牌号码是京N98LI6

医疗类

16

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

老王患有糖尿病

我今天体温正常

这个药每天三次

生活类

8

快递相关 菜谱 食谱等

帮我发顺丰快递

我要点一个西红柿炒鸡蛋

文娱类

3

人物名 电影和广播电台等

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

我要听央广之声

例如以下流程 

image.png

image.png

测试结果如下

输入 :查天气

机器人回复: 请问你要查哪里的天气

输入 :我要装人工

机器人回复:人工服务转接中

匹配类型: Classity

匹配细节: classifirType=com.aliba

ba.dialogstudio.nlu.ai.intent.impl .BuildinModelRe..

意图: sys.common .转人工

信息槽:无

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

例如:北京的的天气

明天的天气

杭州气温

查询明天北京天气情况

请问一下明天北京天气如何

请问后天上海天气怎么样

这些高效知识归纳为{0,2}[请问[一下]]}[$(日期)][$(城市)][的][天气|气温][如何|怎么样]。{0,2},可表示144个句子(不包含实体和通配符)

1最简单的 LGF

例如 :1今天的北京天气

Testing

今天的北京天气 OK 今天北京庆气 FAIL

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

2可选部分

例如 :1今天北京[的1天气

Testing

今天北京的天气 OK

今天北京天气 OK

明天北京天气 FAIL 

使用[]表示文本中的某个部分是“可有可无的",这样的 LGF 表达能匹配两个输入,“今天北京天气"和“今天北京的天气"

我们可以在不同的地方加入可选标记,能让句子的表达能力翻倍(x2) ,比如下面的表达就能匹配4个输入

例如:1今天北京[的]天气[预报]

Testing

今天北京的天气 OK

今天北京天气 OK

今天北京的天气预报 OK

今天北京天气预报 OK

明天北京天气 FAIL

3逻辑或

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

例如:1 (今天|明天|后天)北京[的]天气[预报]

Testing

今天北京的天气 OK

今天北京天气预报 OK

明天北京天气 OK

后天北京的天气预报 OK

明天.上海的天气情况 FAIL 

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

 

参数名称

 

 

专有名词

对应标签

 

数组

 

操作

 

日期

 

@sys..date

 

 

 

 

城市

 

@sys.geo-city

 

 

 

 

 

4参数表达

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

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

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

Testing

今天上海天气预报 OK

下周一北京天气 OK

3号重庆天气状况 OK

上海的天气 FAIL

5通配符泛化

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

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

Testing

查下今天上海天气预报 OK

那个下周一北京天气 FAIL

查查3号重庆天气状况 FAIL

上海的天气 FAIL

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

例如

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

2.

3. Testing

4. 查下今天上海天气预报 OK

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

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

不想查明天的天气 WARNING

上海的天气 FAIL

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

6通配符导致优先级衰减

例如:1 //意图A

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

1//意图B

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

Testing

吃饭意图B

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

LGF 能匹配多个意图,通配符匹配的细节上考虑了优先级问题,消耗通配符越多,优先级越低。当需要精确控制意图匹配时可以利用这样的技巧 

7逻辑非

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

例如:1.{0,3}幸福大巴.{0,3}

Testing

幸福大巴信息 OK

预定幸福大巴 OK

退订幸福大巴 WARNING

幸福班车 FAIL 

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

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

Testing

幸福大巴信息OK

预定幸福大巴OK

退订幸福大巴 FAIL but CORRECT

幸福班车 FAIL 

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


三、机器人训练

1数据筛选标注 

image.png机器人训练--数据筛选标注

数据源提取 ◆创建训练任务 ◆选择数据来源 ◆定义提取维度

数据预处理(自动) 去重 相似度计算

聚类(自动) ◆聚类

摘要 (自动) ◆摘要

数据标注 ◆添加到现有知识点 ◆新建知识点

完结(自动) ◆自动回流 ◆知识生效

数据闭环:充分利用真实的线上反馈数据进行智能训练及评测,优化效果真实可靠、可感知。

智能辅助处理:通过数据清洗、聚类.推荐等智能辅助手段,提升训练的科学合理性。

线上化一体操作:无线下流程,保障数据安全及数据准确性

例如 : 机器人训练 选择新建任务(创建训练任务)  选择训练类型(选云小蜜正向循环) 任务名称(云小蜜正向循环_alimne_experience_officer1_20200813035752) 选择问题类型(有无答案和低阈值推荐,选低阈值推荐) 选择时间范围(2020—08—01到2020—08—13)最大训练数量(10000)

结果以下出现一些类型

例如

A 云小蜜正向循环(_alime_experience_ffice1r_20200813034112)训练类型是云小蜜正向循环

B 意图扩展(_alime_experience_ffice1r_20200812111234)训练类型是意图扩展

C 云小蜜正向循环(_alime_experience_ffice1r_20200720051936)训练类型是云小蜜正向循环

2小样本意图识别

冷启动:标注回流样本比较少,通常不足10条,无法使用监督模型,但仍然希望有较好的话术泛化能力;

方案:

平台积累了万级对话意图数据,借助小样本学习深度学习算法,训练行业意图识别 Meta Model;

每个机器人,收到在线请求时,Meta Model 会利用机器人配置话术进行适配得到机器人模型快速生效;

能够对几条意图话术进行归纳学习出意图表达的语义信息,用户 query 不仅仅是与配置话术进行匹配,而是能够与整个意图所表达的语义信息进行匹配;

image.png算法创新:

aInduction Networks for Few-Shot Text Classification EMNLP 2019

b

Dynamic Memory Induction Networks for Few-Shot Text Classification ACL 2020

效果提升: 构建了通用、金融、政务行业的FSL意图识别模型,对比业界常用的WordAvg方法效果提升10%以上;

3大样本意图识别

●业务情况:对于要交付上线的项目,般都要求Turn Acc做到90%以上,需要标注大量样本训练深度学习模型才能保证效果;

image.png

其中模型评测结果分析要效果达到上线要求才能进行发布

模型评测结果分析如果没有达到上线要求会进行模型效果优化,再进行模型训练及测试,一直到模型评测结果分析效果达到上线要求。

●如何减少标注量?

迁移学习

通用模型: StructBert 中文预训练语言模型,比 Google Bert 好1个点左右; .

行业模型:抓取沉淀千万级行业句子、百万级行业文档,训练 StructBert 行业              

语言模型:在下游的意图识别、知识点匹配等任务上都有显著效果提升;

企业模型:利用企业标注数据在行业模型上进行 finetune 训练;

相关实践学习
阿里巴巴智能语音交互技术与应用
智能语音交互,是基于语音识别、语音合成、自然语言理解等技术,为企业在多种实际应用场景下,赋予产品“能听、会说、懂你”式的智能人机交互体验。适用于多个应用场景中,包括智能问答、智能质检、法庭庭审实时记录、实时演讲字幕、访谈录音转写等。 本课程主要讲解智能语音相关技术,包括语音识别、人机交互、语音合成等。  
相关文章
|
3天前
|
存储 算法 搜索推荐
Java数据结构与算法优化
Java数据结构与算法优化
|
6天前
|
机器学习/深度学习 存储 算法
基于SFLA算法的神经网络优化matlab仿真
**摘要:** 使用MATLAB2022a,基于SFLA算法优化神经网络,降低训练误差。程序创建12个神经元的前馈网络,训练后计算性能。SFLA算法寻找最优权重和偏置,更新网络并展示训练与测试集的预测效果,以及误差对比。SFLA融合蛙跳与遗传算法,通过迭代和局部全局搜索改善网络性能。通过调整算法参数和与其他优化算法结合,可进一步提升模型预测精度。
|
2天前
|
存储 算法 搜索推荐
Java数据结构与算法优化
Java数据结构与算法优化
|
2天前
|
缓存 算法 安全
Java中的数据结构与算法优化策略
Java中的数据结构与算法优化策略
|
3天前
|
缓存 算法 Java
如何优化Java中的递归算法?
如何优化Java中的递归算法?
|
4天前
|
算法
基于PSO粒子群优化的PID控制器参数整定算法matlab仿真
该文探讨了使用PSO(粒子群优化)算法优化PID控制器参数的方法。通过PSO迭代,不断调整PID控制器的Kp、Ki、Kd增益,以减小控制误差。文中提供了MATLAB2022a版本的核心代码,展示了参数优化过程及结果。系统仿真图像显示了参数随迭代优化的变化。PID控制器结合PSO算法能有效提升控制性能,适用于复杂系统的参数整定,未来研究可关注算法效率提升和应对不确定性。
|
5天前
|
算法
m基于GA遗传优化的高斯白噪声信道SNR估计算法matlab仿真
**MATLAB2022a模拟展示了遗传算法在AWGN信道中估计SNR的效能。该算法利用生物进化原理全局寻优,解决通信系统中复杂环境下的SNR估计问题。核心代码执行多代选择、重组和突变操作,逐步优化SNR估计。结果以图形形式对比了真实SNR与估计值,并显示了均方根误差(RMSE),体现了算法的准确性。**
12 0
|
6天前
|
机器学习/深度学习 算法
机器学习中的超参数优化涉及手动尝试、网格搜索、随机搜索、贝叶斯优化、梯度优化、进化算法等策略
【6月更文挑战第28天】**机器学习中的超参数优化涉及手动尝试、网格搜索、随机搜索、贝叶斯优化、梯度优化、进化算法等策略。工具如scikit-optimize、Optuna助力优化,迁移学习和元学习提供起点,集成方法则通过多模型融合提升性能。资源与时间考虑至关重要,交叉验证和提前停止能有效防止过拟合。**
13 0
|
7天前
|
算法 vr&ar
技术好文共享:遗传算法解决函数优化
技术好文共享:遗传算法解决函数优化
|
7天前
|
机器学习/深度学习 算法 大数据
操作系统调度算法的演变与优化
在计算机科学领域中,操作系统的调度算法是核心的研究课题之一。本文深入探讨了操作系统调度算法的发展历程、当前挑战以及未来趋势。通过引用最新的科研数据和实验证据,本文旨在揭示调度算法如何适应现代计算需求的变化。我们将从理论到实践,详细分析不同调度算法的性能表现,并讨论如何利用这些算法来提升系统的整体效率和响应速度。
8 0