如何添加模式以提高预测准确性

重要

LUIS 将于 2025 年 10 月 1 日停用,从 2023 年 4 月 1 日开始,你将无法创建新的 LUIS 资源。 我们建议迁移 LUIS 应用程序对话语言理解,以便获得持续的产品支持和多语言功能并从中受益。

在 LUIS 应用接收到终结点话语后,请使用模式提高话语(按字词顺序和字词选择呈现模式)的预测准确性。 模式使用特定语法指示实体、实体角色和可选文本的位置。

注意

  • 添加、编辑、删除或重新分配模式后,请针对更改来培训发布应用以影响终结点查询。
  • 模式仅包括机器学习实体父项,而不包括子实体。

使用正确的语法添加模板言语

  1. 登录到 LUIS 门户,选择“订阅”和“创作资源”以查看分配给该创作资源的应用。

  2. 在“我的应用”页上选择应用名称以打开应用

  3. 在左侧面板中,选择“改进应用性能”下的“模式”

  4. 为模式选择正确意向。

  5. 在模板文本框中,键入模板表述,然后按 Enter。 如果要输入实体名称,请使用正确的模式实体语法。 使用以 { 开头的实体语法。 实体列表随即显示。 选择正确的实体。

    Screenshot of entity for pattern

    如果实体中包含角色,请在实体名称后用一个冒号 (:) 指示该角色,例如 {Location:Origin}。 实体的角色列表将以列表形式显示。 选择该角色,然后按 Enter。

    Screenshot of entity with role

    选择正确的实体后,请完成模式输入,然后按 Enter。 模式输入完成后,请培训应用。

    Screenshot of entered pattern with both types of entities

创建 pattern.any 实体

Pattern.any 实体仅在模式中有效,在意向的示例言语中无效。 此类实体有助于 LUIS 查找不同长度和字词选择的实体结尾。 由于此实体会在模式中使用,因此,LUIS 可识别实体末尾在话语模板中的位置。

  1. 登录到 LUIS 门户,选择“订阅”和“创作资源”以查看分配给该创作资源的应用。

  2. 在“我的应用”页上选择应用名称以打开应用。

  3. 在“生成”部分的左侧面板中选择“实体”,然后选择“+ 创建”

  4. 在“选择实体类型”对话框中,在“名称”框中输入实体名称,然后选择“Pattern.Any”作为“类型”,然后选择“创建”

    使用此实体创建模式言语后,此实体可被机器学习和文本匹配相结合的算法提取出来。

添加示例言语作为模式

若要为实体添加模式,最简单的方法是从“意向详细信息”页创建模式。 这可确保语法与示例言语匹配。

  1. 登录到 LUIS 门户,选择“订阅”和“创作资源”以查看分配给该创作资源的应用。

  2. 在“我的应用”页上选择应用名称以打开应用。

  3. 在“意向”列表页上,选择要从中创建模板言语的示例言语的意向名称。

  4. 在“意向详细信息”页上,选择要用作模板言语的示例言语所在的行,然后从上下文工具栏中选择“+ 添加为模式”。

    Screenshot of selecting example utterance as a template pattern on the Intent details page.

    若要从言语创建模式,言语必须包含一个实体。

  5. 在弹出框中,选择“确认模式”页上的“完成”。 不需要定义实体的子实体或特征。 只需列出机器学习实体即可。

    Screenshot of confirming example utterance as a template pattern on the Intent details page.

  6. 如果需要编辑模板,比如使用 [](方括号)选择文本作为可选项,则需要从“模式”页进行此编辑。

  7. 在导航栏中,选择“训练”以新模式训练应用。

使用 OR 运算符和 group

使用 group“( )”和 OR“|”语法可将以下两种模式合并成单个模式。

Intent 包含可选文本和预构建的实体的示例话语
OrgChart-Manager "who will be {EmployeeListEntity}['s] manager [[in]{datetimeV2}?]"
OrgChart-Manager "who will be {EmployeeListEntity}['s] manager [[on]{datetimeV2}?]"

新的模板言语为:

"who ( was | is | will be ) {EmployeeListEntity}['s] manager [([in]|[on]){datetimeV2}?]"。

此代码围绕所需的谓语时态使用“group”,并在两者之间结合“or”管道使用可选的 'in' 和 'on'。

模板话语

考虑到人力资源主题领域的性质,可通过几种常见方式询问组织中的员工关系。 例如以下示例陈述:

  • “Jill Jones 向谁报告?”
  • “谁向 Jill Jones 报告?”

在未提供“许多”陈述示例的情况下,这些陈述过于相近而无法确定每个陈述的上下文唯一性。 通过为意向添加模式,LUIS 可了解意向的常见陈述模式,而无需提供多个陈述示例。

提示

可删除评审列表中的每个陈述。 删除后,该陈述将不再出现在列表中。 即使用户从终结点中输入同一陈述,结果也是如此。

此意向的模板陈述示例将包括:

模板陈述示例 语法含义
{EmployeeListEntity} 向谁报告 [?] 可交换:{EmployeeListEntity}
忽略:[?]
谁向 {EmployeeListEntity} 报告 [?] 可交换:{EmployeeListEntity}
忽略:[?]

“{EmployeeListEntity}”语法可标记模板陈述中的实体位置以及它是哪个实体。 可选语法“[?]”,标记可选的单词或标点。 LUIS 匹配话语,忽略括号内的可选文本。

重要

虽然语法类似于正则表达式,但它不是正则表达式。 仅支持大括号“{ }”和方括号“[ ]”语法 。 它们最多可以嵌套两层。

为了使模式与陈述匹配,陈述中的实体必须首先匹配模板陈述中的实体。 这意味着,在带实体的模式成功之前,实体在预测度高的示例言语中需要有足够的示例。 但是模板不会帮助预测实体。 模板只预测意向。

注意

尽管模式允许提供较少的示例陈述,但如果未检测到实体,则该模式将不匹配。

添加短语列表作为特征

特征通过提供某些字词和短语是应用域词汇表的一部分的提示来帮助 LUIS。

  1. 登录到 LUIS 门户,选择“订阅”和“创作资源”以查看分配给该创作资源的应用。
  2. 在“我的应用”页上选择应用名称以打开应用。
  3. 选择“生成”,然后在应用的左侧面板中选择“特征”。
  4. 在“特征”页上,选择“+ 创建” 。
  5. 在“新建短语列表特征”对话框中,输入名称(例如“披萨配料”)。 在“值”框中,输入配料的示例(例如“火腿”)。 可以一次键入一个值或者用逗号分隔的一组值,然后按 Enter

A screenshot showing how to add feature (phrase list) Cities

  1. 如果短语可以交换使用,则让“这些值可以交换”选择框保持启用状态。 可交换短语列表功能可用作训练的同义词列表。 不可交换短语列表可用作训练的单独功能(即功能相似,但意图在交换短语时发生变化)。
  2. 可以使用“全局”设置将短语列表应用于整个应用,或应用于特定模型(意向或实体)。 如果创建短语列表,并作为意向或实体的特征,则切换后不会设置为全局。 在这种情况下,切换指定该特征仅对该模型是本地的,因此对应用程序而言不是全局的。
  3. 选择“完成” 。 新特征已添加到“ML 特征”页面。

注意

  • 可以在“ML 特征”页上,删除或停用上下文工具栏中的短语列表。
  • 应将短语列表应用于预期要帮助的意向或实体,但有时需要将短语列表应用于整个应用,充当全局特征。 在“机器学习”特征页面上,选择短语列表,然后在顶部的上下文工具栏中选择“全局应用”。

添加实体用作意向特征

若要将实体作为特征添加到意向,请从“意向”页面中选择意向,然后选择上下文工具栏上方的“+添加特征”。 该列表将包括所有可用作特征的短语列表和实体。

若要将实体作为特征添加到另一个实体,可以使用 Entity Palette 在“意向”详细信息页面上添加特征,也可以在“实体”详细信息页面上添加特征。

后续步骤