

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# カスタムエンティティレコグナイザーメトリクス
<a name="cer-metrics"></a>

Amazon Comprehend には、エンティティレコグナイザーが、業務にどの程度役立つかを見積もるのに役立つメトリクスが用意されています。これらはレコグナイザーモデルのトレーニングに基づいているため、トレーニング中のモデルのパフォーマンスを正確に表していますが、エンティティ検出中の API パフォーマンスの概算にすぎません。

メトリクスは、トレーニング済みのエンティティレコグナイザーからメタデータが返されるたびに返されます。

Amazon Comprehend は、一度に最大 25 のカスタムエンティティでモデルのトレーニングをサポートします。トレーニング済みのエンティティレコグナイザーからメトリクスが返されると、レコグナイザー全体 (グローバルメトリクス) と個々のエンティティ (エンティティメトリクス) の両方に対してスコアが計算されます。

グローバルメトリクスとエンティティメトリクスの両方として、次の 3 つのメトリクスを使用できます。
+ **精度**

  これは、正しく識別され、正しくラベル付けされた、システムによって生成されたエンティティの割合を示します。これは、モデルのエンティティ ID が本当に良いIDである回数を示します。ID の総数に対する割合です。

  つまり、精度は真陽性 (tp) と偽陽性 (fp) に基づいており、精度 = tp/(tp \$1 fp) として計算されます。

  たとえば、あるドキュメントにエンティティの例が 2 つあるとモデルが予測し、実際には 1 つしか存在しない場合、結果は 1 つが真陽性、もう 1 つが偽陽性になります。この場合、精度は 1/(1 \$1 1) です。モデルによって識別された 2 つのエンティティのうち、正しいのは 1 つであるため、精度は 50% です。

  
+  **リコール**

  これは、ドキュメントに含まれるエンティティのうち、システムによって正しく識別され、ラベル付けされたエンティティの割合を示しています。数学的には、これは正しい ID の総数、真陽性 (tp) と正しく認識しなかった ID の合計数、偽陰性 (fn) で定義されます。

   リコール = tp/(tp \$1 fn) として計算されます。たとえば、あるモデルが 1 つのエンティティを正しく識別しても、そのエンティティが存在する他の 2 つのインスタンスを見逃した場合、結果は 1 つの真陽性と 2 つの偽陰性になります。この場合、リコールは 1/(1 \$1 2) です。考えられる3つの例のうち、1つのエンティティが正しいため、リコール率は 33.33% です。

  
+ **F1 スコア** 

  これは、カスタムエンティティ認識のモデルの全体の精度を測定する精度メトリクスとリコールメトリクスを組み合わせたものです。F1 スコアは、精度とリコールのメトリクスの調和平均です。F1 = 2 \$1 精度 \$1 再現率/(精度 \$1 再現率)。
**注記**  
直感的に見ると、調和平均は単純平均やその他の平均よりも両極端に不利になります (例: `precision` = 0、`recall` = 1 は、可能なすべてのスパンを予測することで簡単に実現できます。ここでは、単純平均は 0.5 ですが、`F1` は 0 として不利にします)。

  上の例では `precision` = 50%、 `recall` = 33.33% なので、 `F1` = 2 \$1 0.5 \$1 0.3333/(0.5 \$1 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))
```



## カスタムエンティティレコグナイザーのパフォーマンスの向上
<a name="cer-performance"></a>

これらのメトリクスから、トレーニング済みモデルを使用してエンティティを識別したときに、そのモデルがどの程度正確に機能するかについての洞察が得られます。メトリクスが予想よりも低い場合に、メトリクスを改善するために使用できるオプションをいくつか紹介します。

1. 「[‏注釈](cer-annotation.md)」または「[エンティティリスト (プレーンテキストのみ)](cer-entity-list.md)」を使用するかどうかに応じて、データ品質を向上させるために、それぞれのドキュメントのガイドラインに必ず従ってください。データを改善して、モデルを再トレーニングした結果、より良いメトリクスが得られた場合は、繰り返しデータ品質を改善してモデルのパフォーマンスを向上させることができます。

1. エンティティリストを使用している場合は、代わりに注釈の使用を検討してください。通常、手動でコメントを付けると結果が改善されます。

1. データ品質に問題がないと判断しても、メトリクスが不当に低い場合は、サポートリクエストを提出してください。