言語検出
Azure AI Language 検出 API では、送信された各ドキュメントのテキスト入力が評価され、言語識別子と、分析の強度を示すスコアが返されます。
この機能は、言語が不明な任意のテキストを取集するコンテンツ ストアに役立ちます。 もう 1 つのシナリオでは、チャットボットを含めることができます。 ユーザーがチャットボットとのセッションを開始するときに、言語検出を使用して、使用している言語を特定し、適切な言語でボットの応答を構成することができます。
この分析の結果を解析して、入力ドキュメントでいずれの言語が使用されるかを特定できます。 応答では、モデルの信頼度 (0 から 1 までの値) が反映されたスコアも返されます。
言語検出は、ドキュメントまたは単一のフレーズで使用できます。 ドキュメントのサイズは 5120 文字未満でなければならないことに注意することが重要です。 サイズ制限はドキュメント単位であり、各コレクションは 1000 個の項目 (ID) に制限されています。 要求本文に入れてサービスに送信できる、適切な形式の JSON ペイロードのサンプルを次に示します。documents のコレクション、それぞれの一意の id、分析する text が含まれます。 必要に応じて、countryHint を指定して予測のパフォーマンスを向上させることができます。
{
"kind": "LanguageDetection",
"parameters": {
"modelVersion": "latest"
},
"analysisInput":{
"documents":[
{
"id": "1",
"text": "Hello world",
"countryHint": "US"
},
{
"id": "2",
"text": "Bonjour tout le monde"
}
]
}
}
サービスでは、要求本文の各ドキュメントの結果を含む JSON 応答を返します。この応答には、予測された言語と予測の信頼レベルを示す値が含まれます。 信頼度は 0 から 1 までの値で、値が 1 に近づくほど信頼度が高いことを示します。 上記の要求の JSON にマップされる標準の JSON 応答の例を次に示します。
{ "kind": "LanguageDetectionResults",
"results": {
"documents": [
{
"detectedLanguage": {
"confidenceScore": 1,
"iso6391Name": "en",
"name": "English"
},
"id": "1",
"warnings": []
},
{
"detectedLanguage": {
"confidenceScore": 1,
"iso6391Name": "fr",
"name": "French"
},
"id": "2",
"warnings": []
}
],
"errors": [],
"modelVersion": "2022-10-01"
}
}
このサンプルでは、すべての言語で信頼度が 1 と示されています。これは主に、テキストが比較的単純で、言語を識別しやすいためです。
多言語のコンテンツを含むドキュメントを渡すと、サービスの動作は少し異なります。 同じドキュメント内の言語が混在したコンテンツでは、コンテンツの最大の表現で言語が返されますが、評価の肯定度は低くなります。これは、その評価の限界強度が反映されるためです。 次の例では、入力が英語、スペイン語、フランス語の混在です。 アナライザーでは、テキストの統計分析を使用して "主要な" 言語を特定します。
{
"documents": [
{
"id": "1",
"text": "Hello, I would like to take a class at your University. ¿Se ofrecen clases en español? Es mi primera lengua y más fácil para escribir. Que diriez-vous des cours en français?"
}
]
}
次のサンプルでは、この多言語の例に対する応答を示しています。
{
"documents": [
{
"id": "1",
"detectedLanguage": {
"name": "Spanish",
"iso6391Name": "es",
"confidenceScore": 0.9375
},
"warnings": []
}
],
"errors": [],
"modelVersion": "2022-10-01"
}
考慮すべき最後の条件は、言語の内容にあいまいさがある場合です。 このシナリオが発生し得るのは、送信したテキスト コンテンツをアナライザーが解析できない場合です。たとえば、テキストを文字列変数に変換する際に文字エンコードの問題が発生した場合などです。 その結果、言語名と ISO コードの応答に (unknown) と示され、スコアの値は 0
として返されます。 次の例では、応答がどのようになるかを示しています。
{
"documents": [
{
"id": "1",
"detectedLanguage": {
"name": "(Unknown)",
"iso6391Name": "(Unknown)",
"confidenceScore": 0.0
},
"warnings": []
}
],
"errors": [],
"modelVersion": "2022-10-01"
}