课时3 :高级能力和算法效果优化(二)|学习笔记

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

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

课程地址https://developer.aliyun.com/learning/course/298/detail/3497


课时3 :高级能力和算法效果优化(二)


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

对于机器人当中的每一个意图会包含许多不同说法,话术多样性较多,例如查天气的意图,就会有如下问法:

北京的天气

明天的天气

杭州气温

查询明天北京天气情况

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

请问后天,上海天气怎么样

如果要一条话术一条话术的书写,需要书写的量较多。所以此时设计了高效的知识归纳方式 LGF,例如可以通过以下一条句子表达144条句子,并且是在不包含体和通配符的情况下,如果将实体和通配符的多种不可不同的可能性考虑进去,表达的数量会更加多:

.{0,2}{请问[一下]][${日期}][${城市}][的](天气|气温)[如何|怎么样].{(0,2}

演示lgf配置:

首先打开左侧的意图列表页面,此处会存在许多新建意图,编辑意图的入口:

image.png

以已经拥有的查天气的意图进行演示:

打开编辑意图页面之后,存在意图名称以及已经配置的意图话术:

image.png

最下方是高级配置方式,此时已经存在两条:

image.png

实际进行测试:

image.png

在 debug 窗口当中,可以查看到匹配类型及匹配细节。如上图所示,查天气这句话,匹配到了 LGF,匹配的细节就是之前的 LGF 当中的第二条,以上是 LGF 的配置入口。进入到意图编辑页面的最底部,可以在此处进行新增问法。对于 LGF 如何编写、语法规则如何等问题,存在一个文档进行讲解。用户可以按照文档中的规则进行编写,发现问题时也可以进行相应的查阅。

LGF 最简单的形式就是一条话术,匹配的也是话术本身。如果 LGF 话术写为“今天的北京天气”,那么只能匹配到“今天的北京天气”,不能匹配到“今天北京天气”,如果仅仅少了一个“的”,对于本身影响不大。需要有字符的可选能力,所以增加了可选部分功能。使用方括号进行扩起来,表达的意思就是这一部分可有可无。例如如果将“今天北京的天气”中“的”扩起来之后,能够同时到以下两句话:

“今天北京天气”

“今天的北京天气”

一个话术当中有些部分是可有可无的,但在同一部分也有不同种的表达,例如时间可以有今天,明天,后天,也有其他许多不同的说法。对于不同的时间值,每个时间值都写话术,花费的时间较多,所以就将不同的值写到一个 LGF 当中,用或关系表达,用竖线的形式,

例如:

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

三个部分,只要有一个能够匹配上,那么该 LGF 就能够匹配上。以下四条话术都能够进行匹配:

今天北京的天气

今天北京天气预报

明天北京天气

后天北京的天气预报

更强大的功能是参数表达,由于许多意图带有参数,例如天气查询,首先需要收集到日期和城市,才能够进行对应的日期查询,否则不知道进行哪个城市的查询。由于城市枚举情况非常多,可能有上百种,如果使用或的情况,话术会非常复杂,所以就将参数表达引入。例如查天气意图有两个参数,分别是日期和城市,那么就将城市这个参数以如下形式引入:

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

以上就能够替换或情况的表达方式,大大减少配置成本。配置完成之后,以下话术都能够匹配:

今天上海天气预报

下周一北京天气

3号重庆天气状况

用户在表达话术时,开头结尾会有许多语气词,例如请问、查下、告诉我、啊、嗯等不影响意图查询判定的话术。该话术可以使用一个通配符表达,以此增加话术的匹配能力。通配符的语法规则是:

.{下限,上限}

比如.{0,3}表示能匹配0个(没有)到3个任意字符(字符为JTF字符,中文字、标点、英文字母都算一个),匹配能力会进一步得到增强。通配符会导致优先级衰减,例如以下两个意图:

//意图A

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

//意图B

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

意图 A 比意图 B 多了一个去字。所以意图 A 匹配到的通配符会较少,所以会优先出意图 A 再出意图 B。

对于逻辑非,假设存在两个意图:

预定幸福大巴

取消预定幸福大巴

意图A的逻辑表达形式是:

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

意图 B 的逻辑表达形式是:

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

表达方式不同,意图会发生较大转变。在配置预定幸福大巴时,需要将不包含取消,不包含退订等信息表达出来,通过感叹号的方式,加上感叹号之后,用户输入退订幸福大巴时,就不会匹配到意图 a 上。通配符槽位抽取以及匹配容错知识使用稍微较少,用户遇到可以自行查阅。

相关文章
|
2月前
|
缓存 监控 Java
大厂性能优化的10大顶级方案 (万字图文史上最全)
本文详细介绍了大厂性能优化的10大顶奢方案,涵盖代码优化、缓存优化、异步优化、多线程优化、前端优化、微服务架构优化、硬件升级、数据库优化、过载保护优化以及度量与监控系统等方面。每部分不仅提供了理论知识,还结合实际案例和代码示例,帮助读者全面理解和应用这些优化策略。文章还特别强调了架构设计的重要性,指出架构师需要具备多方面的知识和技能,包括硬件、软件、网络协议、分布式知识等,以应对复杂的技术挑战。最后,作者尼恩分享了自己多年的经验,提供了丰富的技术资源和实战指导,助力读者在面试和工作中取得成功。
大厂性能优化的10大顶级方案 (万字图文史上最全)
|
2月前
|
机器学习/深度学习 自然语言处理 并行计算
深度学习笔记(十四):Transormer知识总结
关于深度学习中Transformer模型的知识总结,涵盖了Self-attention机制、QKV、Multi-head attention、位置编码和并行运算等关键概念,以及如何在PyTorch中实现Self-attention。
68 1
|
4月前
|
自然语言处理 前端开发 JavaScript
前端进阶必读:JS闭包深度解析,掌握这一特性,你的代码将焕然一新!
【8月更文挑战第23天】闭包是JavaScript的一项高级功能,让函数能够访问和操作外部函数作用域中的变量。本文深入解析闭包概念、组成及应用场景。闭包由函数及其词法环境构成,通过在一个函数内定义另一个函数来创建。它有助于封装私有变量、维持状态和动态生成函数。然而,不当使用闭包可能导致内存泄漏或性能问题。掌握闭包对于实现模块化代码和成为优秀前端开发者至关重要。
44 0
|
存储 Linux 测试技术
2023年C/C++高性能技术知识大整理(进阶到大神级别)
2023年C/C++高性能技术知识大整理(进阶到大神级别)
|
机器学习/深度学习 自然语言处理 算法
课时3 :高级能力和算法效果优化(三)|学习笔记
快速学习课时3 :高级能力和算法效果优化
159 0
课时3 :高级能力和算法效果优化(三)|学习笔记
|
机器学习/深度学习 自然语言处理 算法
课时3 :高级能力和算法效果优化(一)|学习笔记
快速学习课时3 :高级能力和算法效果优化
105 0
课时3 :高级能力和算法效果优化(一)|学习笔记
|
机器学习/深度学习 数据采集 自然语言处理
高级能力和算法效果优化(二)| 学习笔记
快速学习高级能力和算法效果优化。
高级能力和算法效果优化(二)| 学习笔记
|
自然语言处理 算法 机器人
高级能力和算法效果优化(一)| 学习笔记
快速学习高级能力和算法效果优化。
高级能力和算法效果优化(一)| 学习笔记
|
运维 Kubernetes Cloud Native
研发模式的3个实践案例(一)|学习笔记
快速学习研发模式的3个实践案例(一)
178 0
研发模式的3个实践案例(一)|学习笔记
|
机器学习/深度学习 数据采集 自然语言处理
高级能力和算法效果优化 | 学习笔记
简介:快速学习高级能力和算法效果优化
199 0
高级能力和算法效果优化 | 学习笔记