使用一组示例话语进行批处理测试
重要
LUIS 将于 2025 年 10 月 1 日停用,从 2023 年 4 月 1 日开始,你将无法创建新的 LUIS 资源。 建议将 LUIS 应用程序迁移到对话语言理解,以便从持续的产品支持和多语言功能中受益。
批处理测试会验证活动训练版本,以判断其预测准确性。 批量测试可帮助你查看活动版本中每个意向和实体的准确性。 查看批处理测试结果以采取适当的措施来提高准确性,例如,如果应用经常无法识别正确的意向或在话语中标记实体,则向意向添加更多示例话语。
批处理测试的组数据
对于 LUIS 来说,用于批处理测试的表达必须是全新,这一点很重要。 如果有话语数据集,请将话语划分为三个集:添加到意向的示例话语、从已发布的终结点接收的话语,以及在训练 LUIS 后用于对其进行批处理测试的话语。
你使用的批处理 JSON 文件中的言语应包含机器学习的带有标签的顶级实体(包括开始和结束位置)。 言语不应是已包含在应用中的示例的一部分。 它们应该是你要在其中积极预测意向和实体的言语。
可以按意向和/或实体划分测试,或者将所有测试(最多 1000 个言语)包含在同一文件中。
导入批处理文件的常见错误
如果在将批处理文件上传到 LUIS 时遇到错误,请检查是否存在以下常见问题:
- 批处理文件中的言语多于 1,000 条
- 不具有实体属性的话语 JSON 对象。 此属性可以是空数组。
- 在多个实体中标记的字词
- 实体标签以空格开头或结尾。
修复批处理错误
如果在批处理测试中出现错误,可以向意向添加更多表达,和/或在实体中标记更多表达,以帮助 LUIS 在意向间进行区分。 如果你已添加了表达,且对其进行了标记,但在批处理测试中仍收到预测错误,请考虑添加短语列表功能,其中包含特定于域的词汇,以帮助 LUIS 更快地理解。
使用 LUIS 门户进行批量测试
导入并训练示例应用
导入提取披萨订单的应用,例如 1 pepperoni pizza on thin crust
。
下载并保存应用 JSON 文件。
登录到 LUIS 门户,选择“订阅”和“创作资源”以查看分配给该创作资源的应用。
选择“新建应用”旁边的箭头,并单击“以 JSON 格式导入”,以便将 JSON 导入到一个新应用。 将应用命名为
Pizza app
。选择导航栏右上角的“训练”以训练该应用。
批处理测试中的角色
注意
批处理测试中不支持实体角色。
批量测试文件
示例 JSON 包含一个言语(该言语包含一个带标签的实体)用于演示测试文件的外观。 你自己的测试中应该包含多个言语,这些言语标记了正确的意向和机器学习实体。
在文本编辑器中创建
pizza-with-machine-learned-entity-test.json
或下载它。在 JSON 格式的批处理文件中,添加要在测试中预测的言语和意向。
[
{
"text": "I want to pick up 1 cheese pizza",
"intent": "ModifyOrder",
"entities": [
{
"entity": "Order",
"startPos": 18,
"endPos": 31
},
{
"entity": "ToppingList",
"startPos": 20,
"endPos": 25
}
]
}
]
运行批处理
选择顶部导航栏的“测试”。
选择右侧面板中的“批处理测试面板”。
选择“导入” 。 在出现的对话框中,选择“选择文件”并找到具有正确 JSON 格式的 JSON 文件,该文件包含不超过 1,000 条待测试的言语。
浏览器顶部的红色通知栏中将报告导入错误。 导入出现错误时,不会创建任何数据集。 有关详细信息,请参阅常见错误。
选择
pizza-with-machine-learned-entity-test.json
文件的文件位置。命名数据集
pizza test
,然后选择“完成”。选择“运行”按钮。
批处理测试完成后,可以看到以下各列:
列 说明 状态 测试的状态。 “查看结果”仅在测试完成后可见。 名称 为测试提供的名称。 大小 此批处理测试文件中的测试数。 上次运行时间 此批处理测试文件的上次运行日期。 上次结果 测试中成功的预测数。 若要查看测试的详细结果,请选择“查看结果”。
提示
- 选择“下载”会下载你上传的同一文件。
- 如果你看到批量测试失败,则至少一个言语意向与预测不匹配。
查看意向的批处理结果
若要查看批处理测试结果,请选择“查看结果”。 测试结果以图形显示如何针对活动版本预测测试言语。
批处理图表将结果显示在四个象限中。 在图表右侧是一个筛选器。 筛选器包含意向和实体。 选择图表的一个部分或图表中的一个点时,关联的话语显示在图表下方。
鼠标悬停在图表上时,鼠标滚轮可以放大或缩小图表中的显示。 当图表上有许多点紧密地聚集在一起时,这是非常有用的。
图表分为四个象限,其中两个部分以红色显示。
在筛选器列表中选择“ModifyOrder”意向。 言语预测为“漏报”,这意味着,该言语已成功匹配其在批处理文件中列出的正面预测结果。
筛选器列表中的绿色勾选标记也指示每个意向的测试成功。 所有其他意向列出了 1/1 正面评分,因为言语是针对每个意向测试的,而任何意向的负面测试不会列在批处理测试中。
选择“Confirmation”意向。 此意向未在批处理测试中列出,因此,这是批处理测试中列出的言语的负面测试。
根据筛选器和网格中的绿色文本所示,负面测试成功。
查看实体的批处理测试结果
ModifyOrder 实体(包含子实体的机器实体)显示顶级实体是否匹配,并显示子实体是如何预测的。
在筛选器列表中选择“ModifyOrder”实体,然后选择网格中的圆圈。
实体预测结果显示在图表下方。 显示的内容包括符合预期的预测对应的实线,以及不符合预期的预测对应的虚线。
筛选图表结果
若要按特定意向或实体筛选图表,请在右侧筛选面板中选择意向或实体。 图中的数据点及其分布会根据不同的选择而相应更新。
图表结果示例
对于 LUIS 门户中的图表,你可以执行以下操作:
查看单点陈述数据
在图表中,将鼠标悬停在某个数据点上可查看其预测结果的确定性分数。 选择数据点可在页面底部的陈述列表中检索出相应的陈述。
查看分区数据
在此四分区图表中,选择分区名称,例如在图表右上角的“误报”。 该分区中的所有陈述都会显示在该图表下方的列表中。
在上图中,陈述 switch on
被标记为 TurnAllOn 意向,但接收的预测意向为 None。 这表示 TurnAllOn 意向需要更多示例陈述才能做出预期预测。
该图表中红色的两个分区表示与预期预测不匹配的陈述。 它们表示需要更多 LUIS 训练的陈述。
该图表中绿色的两个分区与预期预测相匹配。
后续步骤
如果测试表明 LUIS 应用未正确识别意向和实体,则可以通过标记更多陈述或添加功能来提高 LUIS 应用的性能。