このページでは、エンティティ抽出モデルをトレーニングするために、Vertex AI データセットで使用するテキストデータを準備する方法について説明します。
エンティティ抽出トレーニング データは、モデルで識別するエンティティの種類を識別するラベルでアノテーションが付けられたドキュメントで構成されます。たとえば、エンティティ抽出モデルを作成して、法的文書や特許の専門用語を特定できます。アノテーションは、ラベルを付けるエンティティの場所とラベル自体を指定します。
請求書や契約書など、AutoML モデルのトレーニングに使用するデータセットの構造化または半構造化ドキュメントにアノテーションを付ける場合、Vertex AI はページ上のアノテーションの位置を適切なラベルの要素の 1 つとみなすことができます。たとえば、不動産契約には同意日と履行日の両方がありますが、Vertex AI は、アノテーションの空間的位置に基づいてエンティティを区別するように学習できます。
データ要件
- 50 個以上、100,000 個以下のトレーニング ドキュメントを用意する必要があります。
- 抽出するエンティティにアノテーションを付けるには、1 個以上、100 個以下の一意のラベルを用意する必要があります。
- 1 つのラベルを使用して、1~10 語の単語にアノテーションを付けることができます。
- ラベル名は 2~30 文字にしてください。
- JSON Lines ファイルにアノテーションを含めるか、ドキュメントのアップロード後に Google Cloud Console を使用してアノテーションを追加できます。
- インラインにドキュメントを含めることや、Cloud Storage バケット内の TXT ファイルを参照することもできます。
AutoML モデルのトレーニングに使用するテキストデータに関するベスト プラクティス
次の推奨事項は、AutoML モデルのトレーニングに使用されるデータセットに適用されます。
- トレーニング データセットで、各ラベルを少なくとも 200 回使用します。
- モデルで識別するエンティティのすべてのオカレンスにアノテーションを付けます。
入力ファイル
エンティティ抽出の入力ファイル形式は JSON Lines である必要があります。JSON Lines ファイルの形式、フィールド名、値の型は、一般公開されている YAML ファイルであるスキーマ ファイルによって決まります。
エンティティ抽出用のスキーマ ファイルは、次の Cloud Storage の場所からダウンロードできます。
gs://google-cloud-aiplatform/schema/dataset/ioformat/text_extraction_io_format_1.0.0.yaml
次の例は、スキーマを使用して独自の JSON Lines ファイルを作成する方法を示しています。この例では、読みやすくするため改行されています。実際の JSON ファイルでは、各ドキュメントの後にのみ改行を挿入します。dataItemResourceLabels
フィールドは、ml_use
などを指定します(省略可)。
{ "textSegmentAnnotations": [ { "startOffset":number, "endOffset":number, "displayName": "label" }, ... ], "textContent": "inline_text", "dataItemResourceLabels": { "aiplatform.googleapis.com/ml_use": "training|test|validation" } } { "textSegmentAnnotations": [ { "startOffset":number, "endOffset":number, "displayName": "label" }, ... ], "textGcsUri": "gcs_uri_to_file", "dataItemResourceLabels": { "aiplatform.googleapis.com/ml_use": "training|test|validation" } }
Google Cloud コンソールを使用してドキュメントにアノテーションを付けることもできます。コンテンツのみを含む JSON Lines ファイル(textSegmentAnnotations
フィールドなし)を作成します。ドキュメントはアノテーションなしで Vertex AI にアップロードされます。