分類子の調教出力 - Amazon Comprehend

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

分類子の調教出力

Amazon Comprehend は、カスタム分類子モデルトレーニングを完了すると、CreateDocumentClassifierAPI リクエストまたは同等のコンソールリクエストで指定した Amazon S3 出力場所に出力ファイルを作成します。

Amazon Comprehend では、プレーンテキストモデルまたはネイティブ文書モデルを調教すると、混同行列が生成されます。ネイティブ文書モデルを調教すると、追加の出力ファイルが作成されることがあります。

混同行列

カスタム分類子モデルを調教すると、Amazon Comprehend はモデルが調教でどの程度うまく機能したかを示す指標を提示した混同行列を生成します。この行列には、モデルが予測したラベルの行列と、実際の文書ラベルとの比較が表示されます。Amazon Comprehend は調教データの一部を使用して混同行列を生成します。

混同行列は、どのクラスがより多くのデータを使用してモデルのパフォーマンスを改善できるかを示します。正しい予測の割合が高いクラスは、行列の対角線上の結果の数値が最大になります。対角線上の数値が小さい場合、そのクラスの予測の正解率は低くなります。このクラスにさらに調教例を追加して、モデルを再調教できます。たとえば、ラベル A のサンプルの 40% がラベル D に分類される場合、ラベル A とラベル D のサンプルを増やすと分類子のパフォーマンスが向上します。

Amazon Comprehend が分類子モデルを作成すると、S3 出力場所の confusion_matrix.json ファイル内で混同行列が使用できるようになります。

混同行列の形式は、分類子をマルチクラスモードとマルチラベルモードのどちらで調教したかによって異なります。

マルチクラスモードの混同行列

マルチクラスモードでは、個々のクラスは相互に排他的であるため、分類によって各文書に 1 つのラベルが割り当てられます。たとえば、動物は犬でも猫でもかまいませんが、両方を同時にはできません。

マルチクラス調教分類子の混同行列の例を考えてみましょう。

A B X Y <-(predicted label) A 1 2 0 4 B 0 3 0 1 X 0 0 1 0 Y 1 1 1 1 ^ | (actual label)

この場合、モデルの予測は以下のとおりです。

  • 1 つの「A」ラベルが正確に予測され、2 つの「A」ラベルが「B」ラベルとして誤って予測され、4 つの「A」ラベルが「Y」ラベルとして誤って予測されました。

  • 3 つの「B」ラベルが正確に予測され、1 つの「B」ラベルが「Y」ラベルとして誤って予測されました。

  • 1 つの「X」が正確に予測されました。

  • 1 つの「Y」ラベルが正確に予測され、1 つは「A」ラベルとして誤って予測され、もう 1 つは「B」ラベルとして誤って予測され、もう 1 つは「X」ラベルとして誤って予測されました。

行列内の対角線 (A:A、B:B、X:X、Y:Y) は、正確な予測を示しています。予測誤差は対角線の外側の値です。この場合、行列に以下の誤予測率が表示されます。

  • A ラベル: 86%

  • B ラベル:25%

  • X ラベル:0%

  • Y ラベル: 75%

分類子は、混同行列を JSON 形式のファイルとして返します。次の JSON ファイルは、前の例の行列を示しています。

{ "type": "multi_class", "confusion_matrix": [ [1, 2, 0,4], [0, 3, 0, 1], [0, 0, 1, 0], [1, 1, 1, 1]], "labels": ["A", "B", "X", "Y"], "all_labels": ["A", "B", "X", "Y"] }

マルチラベルモードの混同行列

マルチラベルモードでは、各文書に 1 つまたは複数のクラスが割り当てられます。マルチクラス調教分類子の混同行列の例を考えてみましょう。

この例では、ComedyActionDrama の 3 つのラベルが考えられます。マルチラベル混同行列は、ラベルごとに 1 つの 2x2 行列を生成します。

Comedy Action Drama No Yes No Yes No Yes <-(predicted label) No 2 1 No 1 1 No 3 0 Yes 0 2 Yes 2 1 Yes 1 1 ^ ^ ^ | | | |-----------(was this label actually used)--------|

この場合、モデルは Comedy ラベルに対して以下を返しました。

  • Comedy ラベルの存在が正確に予測された 2 つの例。真陽性 (TP)。

  • Comedy ラベルの不在が正確に予測された 2 つの例。真陰性 (TN)。

  • Comedy ラベルの存在が誤って予測された例がゼロ。偽陽性 (FP)。

  • Comedy ラベルの不在が誤って予測された 1 つの例。偽陰性 (FN)。

マルチクラス混同行列と同様、各行列の対角線には正確な予測値が表示されます。

この場合、モデルは 80% の確率で Comedy ラベルを正確に予測し (TP と TN)、20% の確立で予測を誤りました (FP と FN)。

分類子は、混同行列を JSON 形式のファイルとして返します。次の JSON ファイルは、前の例の行列を示しています。

{ "type": "multi_label", "confusion_matrix": [ [[2, 1], [0, 2]], [[1, 1], [2, 1]], [[3, 0], [1, 1]] ], "labels": ["Comedy", "Action", "Drama"] "all_labels": ["Comedy", "Action", "Drama"] }

ネイティブ文書モデルの追加出力

Amazon Comprehend では、ネイティブ文書モデルを調教すると、追加の出力ファイルが作成されることがあります。

Amazon Textract 出力

Amazon Comprehend が Amazon Textract API を呼び出して調教文書のテキストを抽出した場合、Amazon Textract の出力ファイルを S3 の出力場所に保存します。以下のディレクトリ構造を使用します。

  • 調教文書:

    amazon-textract-output/train/<file_name>/<page_num>/textract_output.json

  • テスト文書:

    amazon-textract-output/test/<file_name>/<page_num>/textract_output.json

API リクエストでテスト文書を指定した場合、Amazon Comprehend はテストフォルダにデータを入力します。

文書注釈の失敗

注釈が失敗すると、Amazon Comprehend は Amazon S3 の出力場所 (skipped_documents/ フォルダ) に次のファイルを作成します。

  • failed_annotations_train.jsonl

    調教データで注釈が失敗しても、ファイルは存在します。

  • failed_annotations_test.jsonl

    リクエストにテストデータが含まれていて、そのテストデータ内の注釈が失敗しても、ファイルは存在します。

注釈が失敗したファイルは、以下の形式の JSONL ファイルになります。

{ "File": "String", "Page": Number, "ErrorCode": "...", "ErrorMessage": "..."} {"File": "String", "Page": Number, "ErrorCode": "...", "ErrorMessage": "..." }