偵測語言
Azure AI 語言偵測 API 會評估文字輸入,並針對提交的每份文件傳回語言識別碼,其中含有指出分析強度的分數。
此功能很適合用於收集未知語言任意文字的內容存放區。 另一種情況可能涉及到聊天機器人。 如果使用者透過聊天機器人啟動工作階段,則可以使用語言偵測來判斷他們所使用的語言,並讓您以適當的語言設定 Bot 回應。
您可以剖析此分析的結果,以判斷輸入文件中使用的語言。 回應也會傳回分數來反映對模型的信賴度 (介於 0 和 1 之間的值)。
語言偵測可以使用文件或單一片語。 請務必注意,文件大小必須低於 5,120 個字元。 大小限制為每份文件,而每個集合限制為 1,000 個項目 (識別碼)。 您可能會在要求本文中提交給服務的格式正確 JSON 承載範例如下所示,其中包含文件的集合,每個文件都包含唯一的 ID 和要分析的文字。 或者,您可以提供 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 代碼的回應將指出 (未知),而且分數值會以 0
的形式傳回。 以下範例示範回應的樣子。
{
"documents": [
{
"id": "1",
"detectedLanguage": {
"name": "(Unknown)",
"iso6391Name": "(Unknown)",
"confidenceScore": 0.0
},
"warnings": []
}
],
"errors": [],
"modelVersion": "2022-10-01"
}