课时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 上。通配符槽位抽取以及匹配容错知识使用稍微较少,用户遇到可以自行查阅。

相关文章
|
机器学习/深度学习 自然语言处理 算法
课时3 :高级能力和算法效果优化(一)|学习笔记
快速学习课时3 :高级能力和算法效果优化
102 0
课时3 :高级能力和算法效果优化(一)|学习笔记
|
机器学习/深度学习 自然语言处理 算法
课时3 :高级能力和算法效果优化(三)|学习笔记
快速学习课时3 :高级能力和算法效果优化
151 0
课时3 :高级能力和算法效果优化(三)|学习笔记
|
自然语言处理 算法 机器人
高级能力和算法效果优化(一)| 学习笔记
快速学习高级能力和算法效果优化。
高级能力和算法效果优化(一)| 学习笔记
|
机器学习/深度学习 数据采集 自然语言处理
高级能力和算法效果优化(二)| 学习笔记
快速学习高级能力和算法效果优化。
高级能力和算法效果优化(二)| 学习笔记
|
运维 Kubernetes Cloud Native
研发模式的3个实践案例(一)|学习笔记
快速学习研发模式的3个实践案例(一)
173 0
研发模式的3个实践案例(一)|学习笔记
|
SQL 安全 关系型数据库
时空场景开发实践(二)|学习笔记
快速学习时空场景开发实践(二)
170 0
时空场景开发实践(二)|学习笔记
|
存储 SQL 关系型数据库
时空场景开发实践(一)|学习笔记
快速学习时空场景开发实践(一)
260 0
时空场景开发实践(一)|学习笔记
|
Java 关系型数据库 MySQL
入门案例(使用的资源介绍)|学习笔记
快速学习入门案例(使用的资源介绍)
入门案例(使用的资源介绍)|学习笔记
|
机器学习/深度学习 存储 DataWorks
实操10分钟实现一个简单的推荐架构(一)|学习笔记
快速学习实操10分钟实现一个简单的推荐架构(一)
135 0
实操10分钟实现一个简单的推荐架构(一)|学习笔记
|
存储 SQL 分布式计算
实操10分钟实现一个简单的推荐架构(二)|学习笔记
快速学习实操10分钟实现一个简单的推荐架构(二)
实操10分钟实现一个简单的推荐架构(二)|学习笔记