MTエンジンのトレーニングにおいて最も重要な側面は、単なる量ではなく、データの品質です。データのクリーニングは広範囲にわたる問題であり、手動でのクリーニングは骨の折れる作業です。クリーンなデータは、より高速なトレーニングとより高品質なモデルにつながります。
Phrase Custom AIは、AIを活用したルールベースのフィルタのヘルプにより、翻訳メモリをデータセットに適応させます。提供されるデフォルト設定は、新規ユーザーに適しているはずです。
利用可能なフィルタのセットには、ルールベースのフィルタとMLベースのフィルタの両方が含まれます。
-
ルールベース
人間が容易に理解できる、明確に定義されたルールで動作するフィルタ。このフィルタカテゴリには、、、、、、、が含まれます。
-
MLベース
固定された一連のルールに従うのではなく、テキスト自体のコンテンツを解析するフィルタで、判断を下します。このフィルタカテゴリには、、およびが含まれます。
すべてのフィルタは、クリーニングされたバージョンのセグメントで評価されます。とりわけ、複数のスペースは1つに削減され、Phrase タグは削除されます。
日付範囲
設定された日付範囲外のセグメントを除外します。終了日と開始日は、セグメントの最終変更日とともに含まれます。
原文と訳文の不一致
このフィルタは、意味と意味的類似性の観点からセグメントがどの程度一致しているかを判断し、評価の低いものを削除します。文ペアのアライメントは、LASERメトリックを使用して測定されます。
AIエンジンを使用して、原文と訳文が同じ意味であるか、あるいはどの程度同じ意味であるかを確認します。推奨設定では、最もスコアの低い10%のセグメントを破棄し、最もスコアの高い90%のセグメントを保持します。
詳細設定では、アライメントを変更したり、0から1の間の数値(1は完全なアライメントを意味する)を使用した生の類似度スコアに基づくフィルタを使用したりできます。生の類似度スコアを使用する場合は注意が必要です。各言語ペアでスコアの分布が異なり、ある言語ペアで良いスコアと見なされるものが、別の言語ペアでは不十分なスコアになる可能性があるためです。
通常、0.5未満のセグメントはあまり良くなく、1に近い、または1を超えるセグメントは、両方の言語で同じセグメントです。
例:
{"source": "Super.", "target": "Super.", "similarity": 1.05}
{"source": "Hello", "target": "http://wwww.sdsadsa.com", "similarity": 0.3}
最小文字数および文字数
文字数にはすべての文字が含まれます。これには、すべての文字、空白、句読点、記号が含まれます。トレーニングの目的では、文字を含まないセグメントを破棄すると便利な場合があります。
文字数は、英語のアルファベットのような文字だけでなく、分音記号付きのより複雑な文字や漢字なども含め、文字のみをカウントします。1つの漢字は、複数の文字を表す場合でも、1文字としてカウントされます。文字ベースの言語ではデフォルト値は1ですが、単語ベースの言語ではデフォルト値は4(文字)および3(文字)です。最小値は1、最大値は500です。
データ内に短いセグメントを多く保持する場合(頭字語など)、フィルタの値を低く設定してください。
例:
文ペアの長さ
このフィルタは、ユーザーが設定したしきい値よりも長いセグメントをすべて削除します。このフィルタの理由は、ほとんどのNMTシステムが、内部しきい値よりも長いセグメントでは実際にはトレーニングを行わないためです。
例えば、NextMTの内部しきい値は200トークンであり、これは約100~1,000単語に相当します。短い文でカスタムエンジンをトレーニングするには、この値をデフォルトより低く設定してください。
合計文字数には、原文と訳文の両方のセグメントに含まれるすべての文字(文字、空白、句読点)が含まれます。言語の種類(例:中国語と英語)を考慮してください。原文の言語がCJK系ではなく、訳文の言語がCJKである場合(またはその逆の場合)、このフィルタは無視されます。
長さの比率
このフィルタは、原文のセグメントと訳文のセグメントを比較した際に、長さが大幅に異なるセグメントを特定します。原文の言語から訳文の言語へ翻訳する際、翻訳の長さが増減することがあります。翻訳が長すぎる、または短すぎる場合、トレーニングデータの品質が低い可能性があります。
原文の言語がCJK系ではなく、訳文の言語が(またはその逆の場合)、このフィルタは無視されます。CJK
言語によっては他よりも冗長なものがあるため、200%が適切なデフォルト値です。訳文の言語が原文の言語と類似している場合、またはより多くのデータをフィルタリングする必要がある場合は、値を低く設定できます。
例:
一方の言語がCJKである場合、比率は1です。破棄されません:
{"source": "This is a sentence.", "target": "这是一个句子。", "ratio": 1}
ドイツ語の訳文は英語の原文と同程度の長さであるため、破棄されません:
{"source": "This is a sentence.", "target": "Dies ist ein Satz.", "ratio": 1.1}
ドイツ語の訳文は英語の原文よりも大幅に長いため、破棄されます:
{"source": "This is a sentence.", "target": "Dies ist ein Satz mit zusätzlichen unnötigen Füllungen.", "ratio": 3.1}
翻訳不要箇所
翻訳不要箇所とは、原文のセグメントと訳文のセグメントが同じであるセグメントのことです。訳文が原文から変更されていないすべての翻訳不要箇所の文ペアを除外します。
重複
同じ原文を持つセグメントのグループが作成されます。各グループから最適なセグメントのみが保持されるため、セグメントの原文がユニークな場合は、自動的に保持されます。それ以外の場合は、最も高い類似度スコアを持つセグメントが保持されます。
ニア重複
ニア重複をテストする場合、(わずかにクリーンなバージョンの)原文が正規化されます。すべての非文字(例:“,?)!-)はスペースに置き換えられ、すべての文字は小文字に変換されます。
正規化された原文を使用して、同じ正規化された原文を持つセグメントのグループが作成されます。各グループから最適なセグメントのみが保持されるため、セグメントの正規化された原文がユニークな場合は、自動的に保持されます。それ以外の場合は、最も高い類似度スコアを持つセグメントが保持されます。
言語識別
AIエンジンを使用して、文に基づいて原文と訳文の言語を識別します。エンジンが(原文/訳文)言語を認識し(例えば、短い文ではエンジンが言語を特定するのに十分でないことがよくあります)、その言語が期待されるものと異なる場合にのみ、セグメントが削除されます。
QPS
QPS(品質評価スコア)フィルタは、データセット内の最低品質の文ペアを削除し、結果として得られるAIモデルが利用可能な最高品質のデータでトレーニングされるようにします。一般的に、トレーニングデータの品質が高いほど、カスタマイズされたモデルのパフォーマンスは向上します。
QPS(品質評価スコア)フィルタは、次の2つの方法で設定できます。
-
QPS(品質評価スコア)スコアが最も低い文ペアを、指定した割合で削除する。推奨値は10%です。
-
スコアのしきい値を選択する。詳細設定を使用して、調整可能なQPS(品質評価スコア)しきい値を下回る文ペアを除外します。推奨される開始点は50です。
これら2つのオプションは、ユーザーの品質目標に合わせてデータセットを自動的にキュレーションします。