感情分析用のテキスト トレーニング データを準備する

このページでは、感情分析モデルをトレーニングするために Vertex AI データセットで使用するテキストデータを準備する方法について説明します。

感情分析のトレーニング データは、コンテンツの感情を示す感情値が関連付けられたドキュメントで構成されます。たとえば、空の旅など、特定の話題に関するツイートがある場合、それぞれのツイートが、ポジティブか、ネガティブか、ニュートラルかを示す感情値と関連付けられています。

データ要件

  • 10~100,000 個のトレーニング ドキュメントを用意する必要があります。
  • 感情値は 0~10 の整数である必要があります。感情値の最大値は任意で設定できます。たとえば、感情がネガティブか、ポジティブか、ニュートラルかを特定する場合には、0(ネガティブ)、1(ニュートラル)、2 (ポジティブ)の感情スコアでトレーニング データにラベル付けできます。このデータセットの感情スコアの最大値は 2 です。5 段階の感情など、より細かい粒度で特定する場合は、0(最もネガティブ)から 4(最もポジティブ)まででドキュメントにラベル付けできます。
  • 各感情値を少なくとも 10 個のドキュメントに適用する必要があります。
  • 感情スコア値は 0 から始まる連続した整数でなければなりません。スコアにギャップがある場合、または 0 から始まらない場合は、0 から始まる連続した整数になるようにスコアを再マッピングします。
  • インラインにドキュメントを含めることや、Cloud Storage バケット内の TXT ファイルを参照することもできます。

AutoML モデルのトレーニングに使用するテキストデータに関するベスト プラクティス

次の推奨事項は、AutoML モデルのトレーニングに使用されるデータセットに適用されます。

  • 感情値ごとに少なくとも 100 個のドキュメントを指定します。
  • 感情スコアごとにバランスの取れた数のドキュメントを使用します。特定の感情スコアのサンプルが多いと、モデルにバイアスが生じる可能性があります。

入力ファイル

感情分析の入力ファイル形式は JSON Lines または CSV です。

JSON Lines

JSON Lines ファイルの形式、フィールド名、値の型は、一般公開されている YAML ファイルであるスキーマ ファイルによって決まります。

感情分析用のスキーマ ファイルは、次の Cloud Storage の場所からダウンロードできます。
gs://google-cloud-aiplatform/schema/dataset/ioformat/text_sentiment_io_format_1.0.0.yaml

JSON Lines の例

次の例は、スキーマを使用して独自の JSON Lines ファイルを作成する方法を示しています。この例では、読みやすくするため改行されています。実際の JSON Lines ファイルでは、各ドキュメントの後にのみ改行を挿入します。dataItemResourceLabels フィールドは、ml_use などを指定します(省略可)。

{
  "sentimentAnnotation": {
    "sentiment": number,
    "sentimentMax": number
  },
  "textContent": "inline_text",
  "dataItemResourceLabels": {
    "aiplatform.googleapis.com/ml_use": "training|test|validation"
  }
}
{
  "sentimentAnnotation": {
    "sentiment": number,
    "sentimentMax": number
  },
  "textGcsUri": "gcs_uri_to_file",
  "dataItemResourceLabels": {
    "aiplatform.googleapis.com/ml_use": "training|test|validation"
  }
}

CSV

CSV ファイルの各行は 1 つのドキュメントを参照します。次の例では、有効な CSV ファイルの一般的な形式を示します。ml_use 列は省略可能です。

  [ml_use],gcs_file_uri|"inline_text",sentiment,sentimentMax
  

次のスニペットは、入力 CSV ファイルの例です。

  test,gs://path_to_file,sentiment_value,sentiment_max_value
  test,"inline_text",sentiment_value,sentiment_max_value
  training,gs://path_to_file,sentiment_value,sentiment_max_value
  validation,gs://path_to_file,sentiment_value,sentiment_max_value