意图、常用表达和槽位

本文介绍了意图、常用表达和槽位的基本信息及创建实例。意图代表用户想要达到的目的,常用表达是一系列与意图相对应的常用口语化表达,常用表达可以包含槽位信息。

目录

意图

意图指技能要满足的用户的请求或目的。如用户说“今天天气怎么样?”,意图就是“查询天气”,用户说“我想订一张火车票”,意图就是“买火车票”。 当我们要创建一个意图时,我们需要提供意图的中文名和意图的标识名。

  • 意图中文名是指意图的中文名称。必填项,长度为2~50个字符。建议简短且见名知意。
  • 意图标识名是指技能响应的标识,与代码中引用的意图名一致。必填项,长度为2~50个字符,仅支持数字、字母、下划线、点和短横线。

系统意图
技能开放平台将一些通用的意图,如欢迎意图、取消意图、确认意图等做成了系统意图,你可以直接引用。 在选择意图后,点击引用系统意图,选择一个系统意图后,点击引用即可。系统会自动包含用户的常用表达,也可在引用后在常用表达拓展中自定义常用表达,点击保存即可。

常用表达

常用表达是用户表达意图时具体的样例。不同用户的表达形式多种多样,需要确保常用表达能够覆盖尽可能多的用户口语表达,这样意图识别越准确。例如,对于意图“查询天气”,我们可以添加一些常用表达:

我想查一下今天的天气
天气
北京天气
我要查北京天气
今天北京天气怎么样
上海天气好么
能告诉我上海明天的天气吗
...

常用表达中应包含一些关键短语,比如以上天气例子中表示日期的“今天”、“明天”和表示地点的“北京”、“上海”。

对于常用表达输入,我们可以采用手动添加或者批量导入两种方式。批量导入支持.txt文件,且文件需要为UTF-8格式。每个常用表达为一行,不能超过500行。其中,重复的行只会导入一条,空行不导入,也不计算行数。

常用表达需要遵循以下规则:

  1. 支持汉字、数字。
  2. 不能有空格。
  3. 不能有特殊符号(十元,应该写成十元,或者10元,不能写成¥10)。

添加常用表达后,可在页面右侧进行测试。

槽位

槽位是意图的参数信息。当用户询问“今天北京天气怎么样”时,其中“今天”和“北京”就是参数信息。这些信息可以被抽象成不同的类,就是槽位,比如在查询天气意图中,我们可以根据“今天”和“北京”,抽象出locationdate两个槽位。

在我们之前添加的常用表达中可以标注出槽位信息。

槽位信息标注

槽位信息标注指将用户表达中槽位信息与对应的词典进行关联。有自动标注和手动标注两种方式。

  • 自动标注:系统自动识别用户表达中的槽位信息。图中今天北京天气怎么样中的今天是系统自动识别并进行标注的。需要注意的是,自动标注的结果,不一定与实际的应用场景相符,需要手动标注做一些调整。

自动标注

  • 手动标注槽位信息:开发者手动将用户表达中的槽位信息与对应的词典进行关联。如图所示,手动标注“北京”的槽位信息。

手动标注

 点击添加词典/引用系统词典,按图示将北京的槽位信息与sys.city关联起来,点击保存。

 手动标注

 当没有对应的系统词典时,也可以添加自定义词典。注意添加自定义词典后,需要在词典栏完善词典信息。关于详细信息可以参见词典
 标注后,这些值会在常用表达中高亮显示。

修改槽位标识及增加中文名称后,槽位列表项显示如下。

槽位列表

槽位抽取

在标注之后,当技能与用户进行交互时,会对用户表述中的每个槽位进行抽取,获取相应的槽位信息。

必填槽位和追问语句

必填槽位是用户表述意图过程中必不可少的关键信息,是相对于技能本身来说的。当用户想获取天气时,"location"和"date"信息是必须的,那这两个槽位就是必填槽位。如果用户没有输入这两个槽位,你的技能需要通过追问或者其他的方式获取这两个关键信息,否则技能无法回答用户的问题。

在缺少槽位信息的情况下,你的技能可以追问用户相应的槽位信息。比如用户询问今天天气怎么样,其中缺少了地点的槽位信息,此时你的技能就可以追问您在哪个城市。目前一个槽位可添加最多5条追问语句,每条追问语句不超过50个字符,按Enter键添加。

创建意图、常用表达和槽位示例

为自定义技能创建意图,步骤如下:

  1. 在左边交互模型栏中选择意图,点击十 创建意图,打开创建意图详情页面。也可以根据需要引用系统意图槽位列表

  2. 在意图信息中根据要求填入意图中文名以及意图标识名。 槽位列表

  3. 在常用表达中回车添加或者批量导入常用表达。 槽位列表

  4. 标注槽位信息,详情见槽位信息标注,确认信息正确。 槽位列表

相关主题

词典
系统词典
系统意图
缺省意图