翻訳オプションを指定する
API の Translate 関数では、出力に影響を与える多数のパラメーターがサポートされています。
単語の配置
英語の記述 (ラテン語スクリプトを使用) では、単語を区切るためにスペースが使用されます。 ただし、その他の言語 (具体的にはスクリプト) では、常にそうであるとは限りません。
たとえば、"Smart Services" を en (英語) から zh (簡体字中国語) に変換すると、"智能服务" という結果が生成され、ソース テキストの文字と翻訳内の対応する文字との間の関係を理解するのは困難です。 この問題を解決するためには、値が true の includeAlignment パラメーターを呼び出しに指定することができ、次の結果が生成されます。
[
{
"translations":[
{
"text":"智能服务",
"to":"zh-Hans",
"alignment":{
"proj":"0:4-0:1 6:13-2:3"
}
}
]
}
]
このような結果からわかるのは、ソースの文字 0 から 4 が翻訳の文字 0 から 1 に対応し、ソースの文字 6 から 13 は翻訳の文字 2 から 3 に対応するということです。
文の長さ
場合によっては、翻訳の長さを把握すると役に立つことがあります。たとえば、ユーザー インターフェイスに表示する最適な方法を決定することができます。 この情報を取得するには、includeSentenceLength パラメーターを true に設定します。
たとえば、このパラメーターを指定して、英語 (en) のテキスト "Hello world" をフランス語 (fr) に翻訳すると、次の結果が生成されます。
[
{
"translations":[
{
"text":"Salut tout le monde",
"to":"fr",
"sentLen":{"srcSentLen":[12],"transSentLen":[20]}
}
]
}
]
不適切用語のフィルタリング
テキストに不適切用語が含まれている場合がありますが、翻訳では、あいまいにしたり完全に省略したりすることをお勧めします。 不適切用語を処理するには、profanityAction パラメーターを指定します。このパラメーターには、次のいずれかの値を指定できます。
- NoAction: 不適切用語は、その他のテキストと共に翻訳されます。
- Deleted: 不適切用語は翻訳では省略されます。
- Marked: 不適切用語は、profanityMarker パラメーター (指定した場合) で指示される方法で示されます。 このパラメーターの既定値は Asterisk であり、不適切用語が "*" で置き換えられます。 別の方法では、profanityMarker 値として Tag を指定すると、不適切用語を XML タグで囲むことができます。
たとえば、英語 (en) のテキスト "JSON is ▇▇▇▇ great!" (黒塗りの単語は不適切用語) をドイツ語 (de) に翻訳するときに、profanityAction として Marked、profanityMarker として Asterisk を指定すると、次の結果が生成されます。
[
{
"translations":[
{
"text":"JSON ist *** erstaunlich.",
"to":"de"
}
]
}
]
Note
翻訳オプション (ここで説明されていないものも含む) の詳細については、Azure AI 翻訳 API のドキュメントを参照してください。