トレーニング データを準備する
Cloud Translation は、ソース言語とターゲット言語で一致するセグメントペアを使用してカスタムモデルをトレーニングします。セグメントの個々のペア間には相関関係がないものと想定して、各ペアを独立したトレーニング アイテムとして扱います。
カスタムモデルのトレーニングに使用するセグメントペアは、タブ区切り値(.tsv
)または Translation Memory eXchange(.tmx
)の形式にする必要があります。Google Cloud コンソールを使用して、個々の .tsv ファイルまたは .tmx ファイルをインポートできます。
ペアをインポートするときに、重複するセグメントペアは除去されます。セグメントペアのソース セグメントが別のソース セグメントと一致する場合、このペアは別のセグメントと重複することになります。Cloud Translation では同じコンテンツを含むファイルをインポートすることはできません。
サポートされている言語ペアの一覧については、カスタムモデルへの言語サポートをご覧ください。
データ分割
AutoML Translation では、カスタムモデルの作成時に提供されたセグメントペアを異なる目的で使用します。
- トレーニング - モデルをトレーニングするために使用するセグメントペア。ほとんどのデータはこの用途で使用されます。
- 検証 - トレーニング中にモデルが返す結果を検証するために使用するセグメントペア。
- テスト - モデルの最終評価指標を生成するために使用されるセグメントペア。本番環境でのモデルのパフォーマンスを示します。
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 個のセグメントペアが必要です。 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 segment
タブTranslated segment
例:
It's a beautiful day.\tEs ist ein schöner Tag. Tomorrow it will rain.\tMorgen wird es regnen.
TSV ファイル内のすべてのコンテンツは書式なしテキストであることが必要です。テキストに HTML タグなどのマークアップが含まれている場合、AutoML Translation はマークアップを書式なしテキストとして扱います。前述の例では、ソース言語は英語であり、ターゲット言語はドイツ語です。
ソース言語とターゲット言語を表す言語コードを含むヘッダー行は含めないでください。モデルをトレーニングするときに、ソース言語とターゲットの言語コードを指定します。
Translation Memory eXchange(TMX)
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 は、1,024 個を超える無効な <tu>
要素をスキップした場合も処理を中止します。