Dili algıla

Tamamlandı

Azure AI Dil algılama API'si metin girişini değerlendirir ve gönderilen her belge için analiz gücünü belirten bir puanla dil tanımlayıcılarını döndürür.

Bu özellik, dilin bilinmediği rastgele metni toplayan içerik depoları için kullanışlıdır. Başka bir senaryo sohbet botu içerebilir. Kullanıcı sohbet botuyla oturum başlatırsa, hangi dili kullandığını belirlemek ve bot yanıtlarınızı uygun dilde yapılandırmanıza olanak sağlamak için dil algılama kullanılabilir.

Giriş belgesinde hangi dilin kullanıldığını belirlemek için bu analizin sonuçlarını ayrıştırabilirsiniz. Yanıt ayrıca modelin güvenilirliğini (0 ile 1 arasında bir değer) yansıtan bir puan döndürür.

Dil algılama, belgeler veya tek tümceciklerle çalışabilir. Belge boyutunun 5.120 karakterden küçük olması gerektiğini unutmayın. Boyut sınırı belge başınadır ve her koleksiyon 1.000 öğe (kimlik) ile sınırlıdır. İstek gövdesinde hizmete gönderebilirsiniz düzgün biçimlendirilmiş bir JSON yükü örneği, her biri benzersiz bir kimlik ve analiz edilecek metin içeren bir belge koleksiyonu da dahil olmak üzere burada gösterilir. İsteğe bağlı olarak, tahmin performansını geliştirmek için countryHint sağlayabilirsiniz.

{
    "kind": "LanguageDetection",
    "parameters": {
        "modelVersion": "latest"
    },
    "analysisInput":{
        "documents":[
              {
                "id": "1",
                "text": "Hello world",
                "countryHint": "US"
              },
              {
                "id": "2",
                "text": "Bonjour tout le monde"
              }
        ]
    }
}

Hizmet, tahmin edilen dil ve tahminin güvenilirlik düzeyini gösteren bir değer de dahil olmak üzere istek gövdesindeki her belge için bir sonuç içeren bir JSON yanıtı döndürür. Güvenilirlik düzeyi, 0 ile 1 arasında bir değerdir ve 1'e yakın değerler daha yüksek bir güvenilirlik düzeyidir. Yukarıdaki istek JSON'sine eşleyen standart bir JSON yanıtı örneği aşağıda verilmiştır.

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

Örneğimizde tüm diller 1'in güvenilirliğini gösterir, çünkü metin görece basittir ve dilini tanımlaması kolaydır.

Çok dilli içeriğe sahip bir belge geçirirseniz, hizmet biraz farklı davranır. Aynı belgedeki karışık dil içeriği, içerikteki en büyük temsille birlikte dili, ancak söz konusu değerlendirmenin marjinal gücünü yansıtan daha düşük pozitif bir derecelendirme ile birlikte döndürür. Aşağıdaki örnekte giriş İngilizce, İspanyolca ve Fransızcanın bir karışımıdır. Çözümleyici, baskın dili belirlemek için metnin istatistiksel analizini kullanır.

{
  "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?"
    }
  ]
}

Aşağıdaki örnekte bu çok dilli örnek için bir yanıt gösterilmektedir.

{
    "documents": [
        {
            "id": "1",
            "detectedLanguage": {
                "name": "Spanish",
                "iso6391Name": "es",
                "confidenceScore": 0.9375
            },
            "warnings": []
        }
    ],
    "errors": [],
    "modelVersion": "2022-10-01"
}

Dikkate alınması gereken son koşul, dil içeriğiyle ilgili belirsizliğin olduğu durumdur. Çözümleyicinin ayrıştıramadığı metin içeriğini gönderirseniz, örneğin, metni dize değişkenine dönüştürürken karşılaşılan karakter kodlama sorunları nedeniyle senaryo oluşabilir. Sonuç olarak, dil adı ve ISO kodu için yanıt (bilinmiyor) değerini gösterir ve puan değeri olarak 0döndürülür. Aşağıdaki örnekte yanıtın nasıl görüneceği gösterilmektedir.

{
    "documents": [
        {
            "id": "1",
            "detectedLanguage": {
                "name": "(Unknown)",
                "iso6391Name": "(Unknown)",
                "confidenceScore": 0.0
            },
            "warnings": []
        }
    ],
    "errors": [],
    "modelVersion": "2022-10-01"
}