你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

业务流程工作流模型的评估指标

数据集分为两部分:一组用于训练,一组用于测试。 训练集用于训练模型,而测试集用作训练后的模型测试,以计算模型性能和评估。 测试集不会通过训练过程引入到模型中,以确保模型在新数据上进行测试。

成功完成训练后,将自动触发模型评估。 评估过程首先使用经过训练的模型预测测试集中用户定义的语句意向,并将其与提供的数据标记进行比较(这将建立真实的基线)。 返回结果后,可以查看模型的性能。 为了进行评估,业务流程工作流使用以下指标:

  • 精准率:度量模型的精确度/准确度。 它是正确识别的正值(真正)与所有识别出的正值之间的比率。 精准率指标显示正确标记的预测类的数量。

    Precision = #True_Positive / (#True_Positive + #False_Positive)

  • 召回率:度量模型预测实际正类的能力。 这是预测的真正值与实际标记的结果之间的比率。 召回率指标显示正确的预测类的数量。

    Recall = #True_Positive / (#True_Positive + #False_Negatives)

  • F1 分数:F1 分数是精准率和召回率的函数。 在精准率和召回率之间进行平衡时,需要用到它。

    F1 Score = 2 * Precision * Recall / (Precision + Recall)

计算以下内容的精准率、查全率和 F1 分数:

  • 每个单独的意向(意向级评估)
  • 对于模型总体(模型级评估)。

对于意向级和模型级评估,精准率、查全率和计算的定义是相同的。 但是,真正、假正和假负的计数可能有所不同。 例如,请考虑以下文本。

示例

  • Make a response with thank you very much
  • Call my friend
  • 你好
  • 早上好

使用以下意向:CLUEmail 和 Greeting

该模型可以做出以下预测:

话语 预测意向 实际意向
Make a response with thank you very much CLUEmail CLUEmail
Call my friend 问候语 CLUEmail
你好 CLUEmail 问候语
Goodmorning 问候语 问候语

CLUEmail 意向的意向级别评估

计数 说明
真正 1 语句 1 正确预测为 CLUEmail。
假正 1 语句 3 错误预测为 CLUEmail。
假负 1 语句 2 错误预测为 Greeting。

精准率 = #True_Positive / (#True_Positive + #False_Positive) = 1 / (1 + 1) = 0.5

召回率 = #True_Positive / (#True_Positive + #False_Negatives) = 1 / (1 + 1) = 0.5

F1 分数 = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.5 * 0.5) / (0.5 + 0.5) = 0.5

Greeting 意向的意向级别评估

计数 说明
真正 1 语句 4 正确预测为 Greeting。
假正 1 语句 2 错误预测为 Greeting。
假负 1 语句 3 错误预测为 CLUEmail。

精准率 = #True_Positive / (#True_Positive + #False_Positive) = 1 / (1 + 1) = 0.5

召回率 = #True_Positive / (#True_Positive + #False_Negatives) = 1 / (1 + 1) = 0.5

F1 分数 = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.5 * 0.5) / (0.5 + 0.5) = 0.5

对整体模型进行模型级评估

计数 说明
真正 2 所有意向的 TP 总和
假正 2 所有意向的 TP 总和
假负 2 所有意向的 FN 总和

精准率 = #True_Positive / (#True_Positive + #False_Positive) = 2 / (2 + 2) = 0.5

召回率 = #True_Positive / (#True_Positive + #False_Negatives) = 2 / (2 + 2) = 0.5

F1 分数 = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.5 * 0.5) / (0.5 + 0.5) = 0.5

混淆矩阵

混淆矩阵是用于模型性能评估的 N x N 矩阵,其中 N 是意向数目。 该矩阵将实际标记与模型预测的标记进行比较。 这为模型的性能以及它所犯的错误类型提供了整体视图。

可以使用混淆矩阵来识别彼此之间过于接近且经常被弄错(歧义)的意向。 在这种情况下,请考虑将这些意向合并在一起。 如果无法做到这一点,请考虑添加这两个意向的更多标记示例,帮助模型区分它们。

可以根据混淆矩阵计算模型级别的评估指标:

  • 模型的真正值是所有意向的真正值的总和。
  • 模型的假正值是所有意向的假正值的总和。
  • 模型的假负值是所有意向的假负值的总和。

后续步骤

在 Language Studio 中训练模型