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

AutoML Translation は、ソース言語とターゲット言語で一致する文のペアを使用してカスタムモデルをトレーニングします。センテンスの個々のペア間には相関関係がないものと想定して、各ペアを独立したトレーニング アイテムとして扱います。

カスタムモデルのトレーニングに使用するセンテンスペアは、タブ区切り値(.tsv)または Translation Memory eXchange(.tmx)形式である必要があります。複数の .tsv ファイルや .tmx ファイルを 1 つのカンマ区切り値(.csv)ファイルにまとめることもできます。Google Cloud コンソールを使用して、個々の .tsv ファイルまたは .tmx ファイルをインポートできます。AutoML API を使用する場合は、.csv ファイルのみを使用できます。

センテンスペアは、インポートされたすべてのセンテンスペア間で常に重複除外されます。センテンスペアのソース センテンスが別のソース センテンスと一致する場合、センテンスペアは別のセンテンスの重複になります。また、AutoML Translation では同じコンテンツを持つファイルをインポートすることはできません。

サポートされている言語ペアの一覧については、カスタムモデルへの言語サポートをご覧ください。

データ分割

AutoML Translation では、カスタムモデルのトレーニング、検証、テストに、提供されたセンテンスペアを使用します。

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

AutoML Translation が目的ごとに使用するセンテンスペアを制御するには、トレーニング セット、検証セット、テストセットに別々のファイルをアップロードします。この 3 つの目的に使用するファイルを明示的に指定しない場合は、センテンスペアが自動的に 3 つのセットに分割されます。AutoML Translation では、データの約 80% がトレーニングに、10% が検証に、10% がテストに使用されます。AutoML Translation は、データを 3 つのセットにランダムに分割します。検証セットとテストセットに対して、それぞれ最大 10,000 のセンテンスペアを設定できます。10,000 ペアを超えると、センテンスペアがトレーニング セットに push されます。

同じデータセットに複数のデータ インポートを行う場合は、あるインポートのデータ分割を手動で指定し、別のインポートに自動分割を使用できます。インポートとファイルの削除が終わるたびに、データは常に手動分割に関連して再調整されます。

データ要件

トレーニング データは次の要件に従う必要があります。

  • AutoML Translation がデータを自動的に分割するように設定する場合は、カスタムモデルをトレーニングするために少なくとも 1,000 個のセンテンスペアを送信する必要があります。
  • データを手動で分割する場合は、TRAIN セットに少なくとも 3 つのセンテンスペアを指定する必要があります。VALIDATION セットと TEST セットのそれぞれについては、少なくとも 100 個のセンテンスペアが必要です。
  • VALIDATION セットまたは TEST セットごとに 10,000 個を超えるセンテンスペアを指定することはできません。
  • データセットは最大 1,500 万個のセンテンスペアを超えることはできません。

データに関する推奨事項

トレーニング データセットの品質を改善するうえで、次の推奨事項が有用である可能性があります。

  • 少なくとも、TRAIN には 5,000 個のセンテンスペア、VALIDATION には 500 個のセンテンスペア、TEST には 500 個のセンテンスペアを使用します。とは言え、可能であれば、より多くのデータを使用してください。TRAIN セットのデータが多いほど、モデルがパターンを学習するうえで有用です。VALIDATION セットと TEST セットのデータが多いほど、ドメイン内の幅広いシナリオに対してモデルを一般化できることを検証するうえで有効です。
  • 文章は 200 単語程度に抑えます。AutoML Translation では、それより大きいセンテンスペアが削除される可能性があります。詳しくは、インポートに関する問題をご覧ください。
  • データに関する一般的な問題を解決します。詳細については、初心者向けデータ準備ガイドの「雑然としたデータのクリーンアップ」セクションをご覧ください。

タブ区切り形式(.tsv)

AutoML Translation では、タブ区切りファイルがサポートされています。各行の形式は次のとおりです。

  • Source sentence タブ Translated sentence

例:

It's a beautiful day.\tEs ist ein schöner Tag.
Tomorrow it will rain.\tMorgen wird es regnen.

.tsv ファイル内のすべてのテキストは必ず書式なしテキストとします。テキストに HTML タグなどのマークアップが含まれている場合、AutoML Translation はマークアップを書式なしテキストとして扱います。

タブで区切ったソースデータは、ソース言語とターゲット言語を識別する言語コードを含みません。トレーニングするモデルを記述するときに、ソース言語とターゲット言語のコードを指定します。AutoML Translation は最初のセグメントをソース言語として解釈し、2 番目のセグメントをターゲット言語として解釈します。上記の例では、ソース言語は英語になり、ターゲット言語はドイツ語になります。

Translation Memory eXchange(.tmx)

Translation Memory eXchange(TMX)は、原文と訳文を提供する標準的な XML 形式です。AutoML Translation は TMX バージョン 1.4 に基づく形式の入力ファイルをサポートします。必須となる構造を次の例で示します。

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE tmx SYSTEM "tmx14.dtd">
<tmx version="1.4">
  <header segtype="sentence" o-tmf="UTF-8"
  adminlang="en" srclang="en" datatype="PlainText"/>
  <body>
    <tu>
      <tuv xml:lang="en">
        <seg>It's a beautiful day.</seg>
      </tuv>
      <tuv xml:lang="de">
        <seg>Es ist ein schöner Tag.</seg>
      </tuv>
    </tu>
    <tu>
      <tuv xml:lang="en">
        <seg>Tomorrow it will rain.</seg>
      </tuv>
      <tuv xml:lang="de">
        <seg>Morgen wird es regnen.</seg>
      </tuv>
    </tu>
  </body>
</tmx>

整形式の .tmx ファイルの <header> 要素は、srclang 属性を使用して、ソース言語を指定しなければなりません。また、すべての <tuv> 要素は、xml:lang 属性を使用して、含まれるテキストの言語を指定する必要があります。

すべての <tu> 要素には、同じソース言語とターゲット言語での <tuv> 要素のペアが含まれます。1 つの <tu> 要素に 3 つ以上の <tuv> 要素が含まれる場合、AutoML Translation はソース言語に一致する最初の <tuv> とターゲット言語に一致する最初の同要素のみを処理し、残りは無視します。<tu> 要素の中に対応する <tuv> 要素のペアがない場合、AutoML Translation はその無効な <tu> 要素をスキップします。

AutoML Translation は <seg> 要素の前後のマークアップ タグを削除してから、その要素を処理します。1 つの <tuv> 要素に複数の <seg> 要素が含まれる場合、AutoML Translation はスペースを間に挿入してそれらのテキストを 1 つの要素に連結します。

上記に示したもの以外の XML タグがファイルに含まれていても無視されます。

ファイルが XML と TMX の正しい形式に従っていない場合(たとえば、終了タグや <tmx> 要素がない場合)、AutoML Translation はそのファイルの処理を中止します。AutoML Translation は、1024 個を超える無効な <tu> 要素をスキップした場合も処理を中止します。

カンマ区切り形式(.csv)

AutoML API を使用して文のペアをアップロードするには、コンマ区切り形式(.csv)のファイルを作成します。このファイルは、使用する .tsv ファイルと .tmx ファイルを特定し、トレーニング、検証、テストに使用するペアも指示します。.csv ファイルのファイル名は任意に指定できますが、UTF-8 でエンコードする必要があり、拡張子は必ず .csv とします。ファイルには、アップロードする .tsv ファイルまたは .tmx ファイルごとに 1 つの行があり、各行には次の 2 つの列があります。

  • このファイル内の文のペアを割り当てるセット。このフィールドはオプションで、次の値のいずれかを指定できます。

    • TRAIN
    • VALIDATION
    • TEST
    • UNASSIGNED

      データセットが UNASSIGNED として指定されている場合、トレーニング用、検証用、テスト用のコンテンツを十分に確保するため、AutoML Translation によって自動的にデータセットが分割されます。

  • 文のペアを含む .tsv ドキュメントまたは .tmx ドキュメントへのフルパス。

たとえば、.csv ファイルは次のようになります。

TRAIN,gs://my-project-vcm/csv/en-fr-train.tsv
VALIDATION,gs://my-project-vcm/csv/en-fr-validation.tsv
TEST,gs://my-project-vcm/csv/en-fr-test.tsv