MTエンジンのトレーニングに関して、最も重要な要素は量だけでなく、データの質です。データのクリーンアップは長年の普遍的な問題であり、手動でのクリーンアップは手間のかかるプロセスです。クリーンなデータは、より速いトレーニングと高品質なモデルをもたらします。
Phrase Custom AIは、AI駆動のルールベースのクリーンフィルターを使用して、翻訳メモリをデータセットに適応させることを可能にします。新しいユーザーに適したデフォルト設定が提供されています。
利用可能なフィルターのセットには、ルールベースのフィルターとMLベースのフィルターの両方が含まれます:
-
ルールベース
人間が簡単に理解できる明確に定義されたルールで動作するフィルターです。このフィルターカテゴリには、
、 、 、 、 、 、 が含まれます。 -
MLベース
固定されたルールセットに従うのではなく、テキスト自体の内容を分析して決定を下すフィルターです。このフィルターカテゴリには、
、および が含まれます。
すべてのフィルターは、セグメントのクリーンなバージョンで評価されます。例えば、複数のスペースは1つに減らされ、Phrase タグは削除されます。
日付範囲
開始日と終了日が含まれ、セグメントの最終修正日が考慮されます。
不整合なソースとターゲット
このフィルターは、セグメントが意味と意味的類似性の観点でどれだけ一致しているかを判断し、最も評価の低いものを削除することを可能にします。文ペアの整列は、LASERメトリックを使用して測定されます。
AIエンジンは、ソースとターゲットのテキストが同じ意味を持つか、どれだけ同じであるかを確認するために使用されます。推奨設定は、最も悪い10%のセグメントを破棄し、最も良い90%のセグメントを保持します。
高度な設定では、アライメントを変更するか、生の類似スコアに基づくフィルタを使用することができます。これは0から1の間の数値(1は完全なアライメントを意味します)です。生の類似スコアを使用する場合は注意が必要です。各言語ペアはスコアの分布が異なり、ある言語ペアにとって良いスコアと見なされるものが、別の言語ペアにとっては不満足なスコアである可能性があります。
通常、0.5未満のセグメントはあまり良くなく、1に近いまたは1を超えるセグメントは両言語で同じセグメントです。
例:
{"source":"スーパ。", "訳文":"スーパ。", "類似性":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":"これは文です。", "target": "这是一个句子。", "ratio":1}
ドイツ語の翻訳は英語のソースと同等の長さであり、破棄されません:
{"source":"これは文です。", "target":"Dies ist ein Satz.", "ratio":1.1}
ドイツ語の翻訳は英語のソースよりもはるかに長く、破棄されます:
{"source":"これは文です。", "target":"これは追加の不要なフィラーを含む文です。","比率:"3.1}
翻訳不要箇所
翻訳不要箇所は、ソースとターゲットのセグメントが同じであるセグメントです。ターゲットテキストがソーステキストから変更されていない翻訳不要の文ペアはすべて除外されます。
重複
同じソース文を持つセグメントのグループが作成されます。各グループから、最良のセグメントのみが保持されるため、セグメントのソース文がユニークであれば、自動的に保持されます。そうでない場合、最も高い類似度スコアを持つセグメントが保持されます。
近似重複
近似重複をテストする際、ソース文の(ややクリーンなバージョン)が正規化されます。すべての非文字キャラクター(いくつかの例:“,?)!-
)はスペースに置き換えられ、すべての文字は小文字に変換されます。
正規化されたソース文を使用して、同じ正規化されたソース文を持つセグメントのグループが作成されます。各グループから、最良のセグメントのみが保持されるため、セグメントの正規化されたソース文がユニークであれば、自動的に保持されます。そうでない場合、最も高い類似度スコアを持つセグメントが保持されます。
言語識別
AIエンジンを使用して、文に基づいてソース言語とターゲット言語を識別します。セグメントは、エンジンが(ソース/ターゲット)言語を認識する場合にのみ削除されます(例として、短い文はエンジンが言語を特定するには不十分なことが多い)そして、その言語が予想と異なる場合です。
QPS
QPSフィルタは、データセット内の最低品質の文ペアを削除することを可能にし、結果として得られるAIモデルが利用可能な最高品質のデータでトレーニングされることを保証します。一般的に、トレーニングデータの品質が高いほど、カスタマイズされたモデルのパフォーマンスが向上します。
QPSフィルタは、2つの方法で構成できます:
-
最低QPSスコアを持つ文ペアの指定された割合を削除します。推奨は10%です。
-
スコアの閾値を選択します。高度な設定を使用して、調整可能なQPS閾値を下回る文ペアを排除します。推奨される出発点は50です。
これらの2つのオプションは、ユーザーの品質目標に合わせて自動データセットキュレーションを提供します。