トレーニング データの準備

カスタムモデルをトレーニングするには、分析するドキュメントの種類の代表的なサンプルを指定し、AutoML Natural Language への類似ドキュメントのラベリング指示と同じようにラベル付けします。トレーニング データの品質は作成するモデルの有効性を大きく左右し、ひいてはそのモデルから返される予測の品質にも大きく影響します。

トレーニング ドキュメントの収集とラベリング

まず、カスタムモデルで処理するドキュメントの範囲を反映した、さまざまなトレーニング ドキュメントを収集します。ドキュメントのトレーニングの準備は、分類、エンティティ抽出、感情分析のどのモデルをトレーニングするかによって異なります。

トレーニング ドキュメントのインポート

ドキュメントのリスト(必要に応じてカテゴリラベルまたは感情値)を含む CSV ファイルを使用してトレーニング データを AutoML Natural Language にインポートします。AutoML Natural Language は、リストされたドキュメントからデータセットを作成します。

トレーニング データと評価データ

AutoML Natural Language は、トレーニング ドキュメントをトレーニング セット、検証セット、テストセットの 3 つに分けて、モデルをトレーニングします。

AutoML Natural Language は、トレーニング セットを使用してモデルを構築します。モデルは、複数のアルゴリズムとパラメータを試行してトレーニング データのパターンを検索します。パターンを識別すると、検証セットを使用してアルゴリズムとパターンをテストします。AutoML Natural Language は、トレーニング ステージで特定されたものから、最適なアルゴリズムとパターンを選択します。

最適なアルゴリズムとパターンを識別すると、AutoML Natural Language はそれらをテストセットに適用して、エラー率、品質、精度をテストします。

デフォルトでは、AutoML Natural Language はトレーニング データを 3 つのセットにランダムに分割します。

  • 80% のドキュメントがトレーニングに使用されます。
  • 10% のドキュメントが検証(ハイパーパラメータの調整と、トレーニングを停止するタイミングの決定)に使用されます。
  • テスト用に予約されるドキュメントは 10% です(トレーニング中は使用されません)。

トレーニング データ内の各ドキュメントが属するセットを指定するには、次のセクションで説明するとおり、CSV ファイル内でドキュメントを明示的にセットに割り当てられます。

インポート CSV ファイルの作成

すべてのトレーニング ドキュメントを収集したら、すべてのドキュメントをリストする CSV ファイルを作成します。CSV ファイルのファイル名に決まりはありませんが、ファイルは UTF-8 でエンコードする必要があり、拡張子は必ず .csv とします。このファイルは、プロジェクトに関連付けられた Cloud Storage バケットに保存する必要があります。

CSV ファイルには、トレーニング ドキュメントごとに 1 つの行があり、各行には次の列があります。

  1. この行内のコンテンツを割り当てるセット。この列は、オプションで、次の値のいずれかを指定できます。

    • TRAIN - document を使用してモデルをトレーニングします。
    • VALIDATION - document を使用して、トレーニング中にモデルが返す結果を検証します。
    • TEST - document を使用して、モデルのトレーニング後にモデルの結果を検証します。

    この列に値を指定してセットを指定する場合は、各カテゴリのデータの 5% 以上を特定することをおすすめします。トレーニング、検証、テストに 5% 未満のデータしか使用しなかった場合は、予期しない結果と効果のないモデルが生成される可能性があります。

    この列に値を指定しない場合は、各行をカンマで開始して、最初の列を空であると指定します。AutoML Natural Language ではドキュメントを 3 つのセットに分け、おおよそ、データの 80% がトレーニングに、10% が検証に、10% がテストに使用されます(検証とテストに使用されるペアは最大 10,000 です)。

  2. 分類するコンテンツ。この列には、ドキュメントの Cloud Storage URI が含まれています。Cloud Storage URI では大文字と小文字が区別されます。

    分類と感情分析の場合、ドキュメントはテキスト ファイル、PDF ファイル、TIFF ファイル、または ZIP ファイルです。エンティティ抽出の場合は、JSONL ファイルです。

    分類と感情分析の場合、この列の値は Cloud Storage の URI ではなく、引用符で囲んだインライン テキストです。

  3. 分類データセットの場合、ドキュメントを分類する方法を特定するラベルのカンマ区切りリストをオプションで指定できます。ラベルは文字で始まり、文字、数字、アンダースコア以外を含まないようにする必要があります。ドキュメントごとに最大 20 個のラベルを含めることができます。

    感情分析データセットの場合、コンテンツの感情値を示す整数をオプションで指定できます。感情値の範囲は 0(最もネガティブ)、最大値は 10(最もポジティブ)です。

たとえば、マルチラベル分類データセットの CSV ファイルには、次のようなものがあります。

TRAIN, gs://my-project-lcm/training-data/file1.txt,Sports,Basketball
VALIDATION, gs://my-project-lcm/training-data/ubuntu.zip,Computers,Software,Operating_Systems,Linux,Ubuntu
TRAIN, gs://news/documents/file2.txt,Sports,Baseball
TEST, "Miles Davis was an American jazz trumpeter, bandleader, and composer.",Arts_Entertainment,Music,Jazz
TRAIN,gs://my-project-lcm/training-data/astros.txt,Sports,Baseball
VALIDATION,gs://my-project-lcm/training-data/mariners.txt,Sports,Baseball
TEST,gs://my-project-lcm/training-data/cubs.txt,Sports,Baseball

.csv の一般的なエラー

  • ラベルに Unicode 文字を使用する。たとえば、日本語の文字はサポートされていません。
  • ラベルにスペースと英数字以外の文字を使用する。
  • 空の行。
  • 空の列(2 つの連続するカンマを含む行)。
  • カンマを含む埋め込みテキストが引用符で囲まれていない。
  • Cloud Storage パスの大文字と小文字が正しくない。
  • ドキュメントに不適切なアクセス制御が構成されている。サービス アカウントに読み取り以上のアクセス権があるか、ファイルが一般公開されている必要があります。
  • テキスト以外のファイル(JPEG ファイルなど)を参照している。同様に、テキスト ファイルでないファイルがテキストの拡張子を使用して名前変更されている場合も、エラーが発生します。
  • ドキュメントの URI が現在のプロジェクトとは異なるバケットを指定している。プロジェクト バケット内のテキストにのみアクセスできます。
  • CSV 以外の形式のファイル。

インポート ZIP ファイルの作成

分類データセットの場合、ZIP ファイルを使用してトレーニング ドキュメントをインポートできます。ZIP ファイル内にラベルや感情値ごとにフォルダを 1 つ作成し、ラベルまたは値に対応するフォルダ内に各ドキュメントを保存して、ドキュメントに適用します。たとえば、ビジネス文書を分類するモデルの ZIP ファイルの構造は次のようになります。

correspondence.zip
    transactional
        letter1.pdf
        letter2.pdf
        letter5.pdf
    persuasive
        letter3.pdf
        letter7.pdf
        letter8.pdf
    informational
        letter6.pdf
    instructional
        letter4.pdf
        letter9.pdf

AutoML Natural Language は、フォルダ名をフォルダのドキュメントにラベルとして適用します。感情分析データセットの場合、フォルダ名は感情値です。

sentiment.zip
    0
        document4.txt
    1
        document3.txt
        document1.txt
        document5.txt
    2
        document2.txt
        document6.txt
        document8.txt
        document9.txt
    3
        document7.txt

次のステップ