次の方法で共有


カスタム固有表現認識モデルの評価メトリック

データセットは 2 つに分割されています (トレーニング用セットとテスト用セット)。 トレーニング セットはモデルのトレーニングに使用され、テスト セットはトレーニング後のモデルのテストとして使用され、モデルのパフォーマンスと評価が計算されます。 テスト セットは、モデルが新しいデータでテストされることを確認するために、トレーニング プロセスを通じてモデルに導入されません。

モデルの評価は、トレーニングが正常に完了した後に自動的にトリガーされます。 評価プロセスでは、トレーニング済みモデルを使い、テスト セット内のドキュメントのユーザー定義エンティティを予測することから始まり、指定されたデータ タグ (真実のベースラインを確立するもの) との比較を行います。 モデルのパフォーマンスを確認できるように、結果が返されます。 評価のために、カスタム NER によって次のメトリックが使用されます。

  • 精度: モデルの精密さと正確さを測定します。 正しく識別された陽性 (真陽性) とすべての識別された陽性の比率です。 精度メトリックによって、予測されたエンティティのうち、正しくラベル付けされている数が明らかになります。

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

  • リコール: 実際の陽性クラスを予測するモデルの能力を測定します。 予測された真陽性とタグ付けされた値の比率です。 リコール メトリックによって、予測されたエンティティのうち、正しいものの数が明らかになります。

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

  • F1 スコア: F1 スコアは、精度と再現率のバランスを求めるときに使用される関数です。

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

Note

精度、再現率、および F1 スコアは、エンティティごとに個別に計算されます (エンティティ レベル の評価)、モデルをまとめて計算します (モデル レベルの 評価)。

モデル レベルとエンティティ レベルの評価メトリック

精度、リコール、F1 スコアは、エンティティについては個別に計算され (エンティティ レベルの評価)、モデルについてはまとめて計算されます (モデル レベルの評価)。

精度、リコール、評価の定義は、エンティティ レベルとモデル レベルのどちらの評価でも同じです。 ただし、"真陽性"、"擬陽性"、"擬陰性" の数は異なる場合があります。 たとえば、次のようなテキストがあるとします。

この契約の最初の当事者はジョン・スミスです, 5678 メインロードの居住者, フレデリク市, ネブラスカ州. 2番目の関係者はフォレスト・レイ, 123-345 インテジャー Rd., コロナ市, ニューメキシコ州の住民です. ファニートーマスさんはコロラド州コロラドスプリングス市リバーロード7890番地に住んでいます。

このテキストからエンティティを抽出するモデルにより、次のように予測されることがあります。

Entity 予測結果 実際の種類
John Smith
Frederick 都市
Forrest 都市
Fannie Thomas
コロラドスプリングス 都市 都市

"" エンティティのエンティティ レベルの評価

このモデルでは、"" エンティティについて次のエンティティ レベルの評価が行われます。

Key Count 説明
真陽性 2 John SmithFannie Thomas は、"" として正しく予測されました。
誤検知 1 Frederick は、"都市" であるべきところを、誤って "" として予測されていました。
偽陰性 1 フォレスト都市として誤予測されましたが、正しくはです。
  • 精度: #True_Positive / (#True_Positive + #False_Positive) = 2 / (2 + 1) = 0.67
  • リコール: #True_Positive / (#True_Positive + #False_Negatives) = 2 / (2 + 1) = 0.67
  • F1 スコア: 2 * Precision * Recall / (Precision + Recall) = (2 * 0.67 * 0.67) / (0.67 + 0.67) = 0.67

"都市" エンティティのエンティティ レベルの評価

このモデルでは、"都市" エンティティについて次のエンティティ レベルの評価が行われます。

Key Count 説明
真陽性 1 Colorado Springs は、"都市" として正しく予測されました。
誤検知 1 フォレスト都市として誤予測されましたが、正しくはです。
偽陰性 1 Frederick は、"都市" であるべきところを、誤って "" として予測されていました。
  • 精度 = #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

集合モデルのモデル レベルの評価

このモデルでは、モデル全体が次のように評価されます。

Key Count 説明
真陽性 3 John SmithFannie Thomas は、"" として正しく予測されました。 Colorado Springs は、"都市" として正しく予測されました。 この数値は、すべてのエンティティの真陽性の合計です。
誤検知 2 フォレスト都市として誤予測されましたが、正しくはです。 Frederick は、"都市" であるべきところを、誤って "" として予測されていました。 この数値は、すべてのエンティティの誤検知の合計です。
偽陰性 2 フォレスト都市として誤予測されましたが、正しくはです。 Frederick は、"都市" であるべきところを、誤って "" として予測されていました。 この数値は、すべてのエンティティの偽陰性の合計です。
  • 精度 = #True_Positive / (#True_Positive + #False_Positive) = 3 / (3 + 2) = 0.6
  • リコール = #True_Positive / (#True_Positive + #False_Negatives) = 3 / (3 + 2) = 0.6
  • F1 スコア = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.6 * 0.6) / (0.6 + 0.6) = 0.6

エンティティ レベルの評価メトリックの解釈

それでは、特定のエンティティに対する精度またはリコールが高いとは、実際にはどのような意味なのでしょうか。

再現率 Precision 解釈
モデルによってエンティティが識別されました。
モデルでは常にこのエンティティを抽出できるわけではありませんが、その場合は信頼性が高くなります。
モデルはこのエンティティを適切に抽出します。ただし、別の型として抽出されることがあるため、信頼度は低くなります。
通常は抽出されないため、モデルはこのエンティティ型を識別しません。 そうである時でも、信頼度が高いとは限りません。

ガイダンス

モデルをトレーニングした後、モデルを改善する方法に関するいくつかのガイダンスと推奨事項が表示されます。 ガイダンス セクションのすべてのポイントをカバーするモデルをお勧めします。

  • トレーニング セットには十分なデータがあります。エンティティ型のトレーニング データにラベル付けされた例が 15 個未満の場合、モデルの精度は低下します。 この結果は、それらのケースに十分な露出がないために発生します。 この場合は、トレーニング セットにラベル付きデータを追加することを検討してください。 詳細なガイダンスについては、[データ分散] タブを確認できます。

  • すべてのエンティティ型がテスト セットに存在します。テスト データにエンティティ型のラベル付きインスタンスがない場合、テストされていないシナリオが原因で、モデルのテスト パフォーマンスの包括的さが低下する可能性があります。 詳細なガイダンスについては、[テスト セット データ分散] タブを確認できます。

  • エンティティ型はトレーニング セットとテスト セット内でバランスが取られます。サンプリング バイアスによってエンティティ型の頻度が不正確に表現される場合、そのエンティティ型が頻繁に発生するか、少なすぎることがモデルによって予測されるため、精度が低下する可能性があります。 詳細なガイダンスについては、[データ分散] タブを確認できます。

  • エンティティ型はトレーニング セットとテスト セット間で均等に分散されます。エンティティ型の組み合わせがトレーニング セットとテスト セットの間で一致しない場合、モデルのトレーニング方法とテスト方法が異なるために、テストの精度が低下する可能性があります。 詳細なガイダンスについては、[データ分散] タブを確認できます。

  • トレーニング セット内のエンティティ型の区別が明確でありません。トレーニング データが複数のエンティティ型に似ている場合は、エンティティ型が互いに誤って分類される可能性があるため、精度が低下する可能性があります。 次のエンティティ型を確認し、似ている場合はマージすることを検討してください。 それ以外の場合は、互いをより適切に区別するために、さらに例を追加します。 [混同行列] タブで詳細なガイダンスを確認できます。

混同行列

混同行列は、モデルのパフォーマンスの評価に使用される N x N 行列であり、N はエンティティの数です。 この行列によって、予測されるラベルとモデルによって予測されたものが比較されます。 このマトリックスでは、モデルのパフォーマンスと発生しているエラーの種類を総合的に確認できます。

混同行列を使用すると、互いに近すぎて、誤りが発生しやすい (あいまいな) エンティティを識別できます。 この場合は、これらのエンティティの種類をまとめて結合することを検討します。 それができない場合は、モデルで両者を区別できるよう、両方のエンティティのタグ付けされた例を追加することを検討します。

次の図で強調表示されている対角線は、正しく予測されたエンティティです。予測されるタグは実際のタグと同じです。

混同行列の例を示すスクリーンショット。

混同行列からエンティティ レベルとモデル レベルの評価メトリックを計算できます。

  • 斜線の付いている値は、各エンティティの "真陽性" の値です。
  • エンティティの行の値の合計は (斜線を除く)、モデルの "擬陽性" です。
  • エンティティの列の値の合計は (斜線を除く)、モデルの "擬陰性" です。

同様に、

  • モデルの "真陽性" は、すべてのエンティティの "真陽性" の合計です。
  • モデルの "擬陽性" は、すべてのエンティティの "擬陽性" の合計です。
  • モデルの "擬陰性" は、すべてのエンティティの "擬陰性" の合計です。

次のステップ

モデルをトレーニングする