偵測語言

已完成

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"
}