Rozpoznávání jazyka

Dokončeno

Rozhraní API pro rozpoznávání jazyka Azure AI vyhodnocuje textový vstup a pro každý odeslaný dokument vrátí identifikátory jazyka se skóre určujícím sílu analýzy.

Tato funkce je užitečná pro úložiště obsahu, která shromažďují libovolný text, kde jazyk není znám. Další scénář může zahrnovat chatovacího robota. Pokud uživatel spustí relaci s chatovacím robotem, můžete použít rozpoznávání jazyka k určení jazyka, který používá, a umožní vám nakonfigurovat odpovědi robota v příslušném jazyce.

Výsledky této analýzy můžete analyzovat a určit jazyk používaný ve vstupním dokumentu. Odpověď také vrátí skóre, které odráží spolehlivost modelu (hodnota mezi 0 a 1).

Rozpoznávání jazyka může pracovat s dokumenty nebo jednoduchými frázemi. Je důležité si uvědomit, že velikost dokumentu musí být pod 5 120 znaků. Limit velikosti je na dokument a každá kolekce je omezená na 1 000 položek (ID). Tady je ukázka správně formátované datové části JSON, kterou můžete odeslat do služby v textu požadavku, včetně kolekce dokumentů , z nichž každý obsahuje jedinečné id a text , který se má analyzovat. Volitelně můžete poskytnout countryHint ke zlepšení přesnosti předpovědi.

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

Služba vrátí odpověď JSON, která obsahuje výsledek pro každý dokument v textu požadavku, včetně predikovaného jazyka a hodnoty označující úroveň spolehlivosti predikce. Úroveň spolehlivosti je hodnota v rozsahu od 0 do 1 s hodnotami blíže 1 a vyšší úrovní spolehlivosti. Tady je příklad standardní odpovědi JSON, která odpovídá výše uvedenému JSON požadavku.

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

V naší ukázce všechny jazyky vykazují míru jistoty 1, většinou proto, že text je relativně jednoduchý a snadno lze jazyk identifikovat.

Pokud předáte dokument s vícejazyčným obsahem, služba se bude chovat trochu jinak. Obsah smíšeného jazyka v rámci stejného dokumentu vrátí jazyk s největší reprezentací obsahu, ale s nižším kladným hodnocením, který odráží mezní sílu tohoto hodnocení. V následujícím příkladu je vstup kombinací angličtiny, španělštiny a francouzštiny. Analyzátor používá statistickou analýzu textu k určení převládajícího jazyka.

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

Následující ukázka ukazuje odpověď pro tento příklad s více jazyky.

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

Poslední podmínkou, která je potřeba vzít v úvahu, je situace, kdy existuje nejednoznačnost obsahu jazyka. K tomuto scénáři může dojít v případě, že odešlete textový obsah, který analyzátor nedokáže analyzovat, například kvůli problémům s kódováním znaků při převodu textu na řetězcovou proměnnou. Výsledkem je, že odpověď pro název jazyka a kód ISO bude indikovat (neznámé) a hodnota skóre bude vrácena jako 0. Následující příklad ukazuje, jak by odpověď vypadala.

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