自定义实体识别器指标 - Amazon Comprehend

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

自定义实体识别器指标

Amazon Comprehend 为您提供指标,帮助您估算实体识别器在您的作业中的工作效果。它们基于对识别器模型的训练,因此,虽然它们可以准确地表示模型在训练过程中的性能,但它们只是实体发现期间 API 性能的近似值。

每当从经过训练的实体识别器返回元数据时,都会返回指标。

Amazon Comprehend 支持一次在多达 25 个实体上训练模型。当训练有素的实体识别器返回指标时,将根据识别器整体(全局指标)和每个实体(实体指标)计算分数。

有三个指标可用,既有全局指标,也有实体指标:

  • 精度

    这表示系统生成的实体中被正确识别和正确标记的比例。这显示了模型的实体识别有多少次是真正准确的识别。它是识别总数的百分比。

    换句话说,精度基于真阳性 (tp)假阳性 (fp),其计算方式为精度 = tp/(tp + fp)。

    例如,如果模型预测文档中存在两个实体的示例,而实际上只有一个,则结果为一个真阳性和一个假阳性。在这种情况下,精度 = 1/(1 + 1)。精度为 50%,因为模型识别的两个实体中有一个是正确的。

  • 召回率

    这表示文档中存在的实体被系统正确识别和标记的比例。从数学上讲,这是根据正确识别真阳性 (tp) 和未能识别假阴性 (fn) 的总数来定义的。

    计算方法为召回率 = tp/(tp + fn)。例如,如果模型正确识别了一个实体,但错过了该实体存在的另外两个实例,则结果为一个真阳性和两个假阴性。在这种情况下,召回 = 1/(1 + 2)。召回率为33.33%,因为在可能的三个例子中,有一个实体是正确的。

  • F1 分数

    这是精度和召回指标的组合,用于衡量自定义实体识别模型的整体准确性。F1 分数是精度和召回率指标的调和平均值:F1 = 2 * 精度 * 召回率/(精度 + 召回率)

    注意

    直观上,调和平均值比简单平均值或其他均值更能惩罚极值(例如:precision = 0,recall = 1 可以通过预测所有可能的跨度来轻而易举地实现。在这里,简单平均值为 0.5,但 F1 会将其惩罚为0)。

    在上面的示例中,precision = 50% 和 recall = 33.33%,因此 F1 = 2 * 0.5 * 0.3333/(0.5 + 0.3333)。F1 分数为 0.3975,或 39.75%。

全局和单个实体指标

在分析以下句子时,可以看到全局实体指标和单个实体指标之间的关系,这些实体要么是地点,要么是

John Washington and his friend Smith live in San Francisco, work in San Diego, and own a house in Seattle.

在我们的示例中,模型做出了以下预测。

John Washington = Person Smith = Place San Francisco = Place San Diego = Place Seattle = Person

但是,预测应该如下。

John Washington = Person Smith = Person San Francisco = Place San Diego = Place Seattle = Place

这方面的单个实体指标将是:

entity: Person True positive (TP) = 1 (because John Washington is correctly predicted to be a Person). False positive (FP) = 1 (because Seattle is incorrectly predicted to be a Person, but is actually a Place). False negative (FN) = 1 (because Smith is incorrectly predicted to be a Place, but is actually a Person). Precision = 1 / (1 + 1) = 0.5 or 50% Recall = 1 / (1+1) = 0.5 or 50% F1 Score = 2 * 0.5 * 0.5 / (0.5 + 0.5) = 0.5 or 50% entity: Place TP = 2 (because San Francisco and San Diego are each correctly predicted to be a Place). FP = 1 (because Smith is incorrectly predicted to be a Place, but is actually a Person). FN = 1 (because Seattle is incorrectly predicted to be a Person, but is actually a Place). Precision = 2 / (2+1) = 0.6667 or 66.67% Recall = 2 / (2+1) = 0.6667 or 66.67% F1 Score = 2 * 0.6667 * 0.6667 / (0.6667 + 0.6667) = 0.6667 or 66.67%

这方面的全局指标将是:

全局:

Global: TP = 3 (because John Washington, San Francisco and San Diego are predicted correctly. This is also the sum of all individual entity TP). FP = 2 (because Seattle is predicted as Person and Smith is predicted as Place. This is the sum of all individual entity FP). FN = 2 (because Seattle is predicted as Person and Smith is predicted as Place. This is the sum of all individual FN). Global Precision = 3 / (3+2) = 0.6 or 60% (Global Precision = Global TP / (Global TP + Global FP)) Global Recall = 3 / (3+2) = 0.6 or 60% (Global Recall = Global TP / (Global TP + Global FN)) Global F1Score = 2 * 0.6 * 0.6 / (0.6 + 0.6) = 0.6 or 60% (Global F1Score = 2 * Global Precision * Global Recall / (Global Precision + Global Recall))

提高自定义实体识别器的性能

这些指标可让您深入了解使用训练后的模型识别实体时的准确性。如果指标低于您的预期,您可以使用以下几个选项来改善这些指标:

  1. 根据您使用的是 注释实体列表(仅限纯文本),请务必遵循相应文档中的指南,以提高数据质量。如果您在改进数据并重新训练模型后观察到更好的指标,则可以不断迭代和提高数据质量,以实现更好的模型性能。

  2. 如果您使用的是实体列表,请考虑改用注释。手动注释通常可以改善结果。

  3. 如果您确定不存在数据质量问题,但指标仍然过低,请提交支持请求。