Taal detecteren

Voltooid

De Api voor taaldetectie van Azure AI evalueert tekstinvoer en retourneert voor elk verzonden document taal-id's met een score die de sterkte van de analyse aangeeft.

Deze mogelijkheid is handig voor inhoudsarchieven die willekeurige tekst verzamelen, waarin de taal onbekend is. Een ander scenario kan betrekking hebben op een chatbot. Als een gebruiker een sessie start met de chatbot, kan taaldetectie worden gebruikt om te bepalen welke taal ze gebruiken en waarmee u de antwoorden van uw bot in de juiste taal kunt configureren.

U kunt de resultaten van deze analyse parseren om te bepalen welke taal wordt gebruikt in het ingevoerde document. Het antwoord retourneert ook een score, die het vertrouwen van het model weergeeft (een waarde tussen 0 en 1).

Taaldetectie kan werken met documenten of één woordgroep. Het is belangrijk om te weten dat de documentgrootte kleiner moet zijn dan 5120 tekens. De groottelimiet is per document en elke verzameling is beperkt tot 1000 items (id's). Hier ziet u een voorbeeld van een correct opgemaakte JSON-nettolading die u kunt indienen bij de service in de aanvraagbody, inclusief een verzameling documenten met een unieke id en de tekst die moet worden geanalyseerd. U kunt desgewenst een countryHint opgeven om de voorspellingsprestaties te verbeteren.

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

De service retourneert een JSON-antwoord dat een resultaat bevat voor elk document in de aanvraagbody, inclusief de voorspelde taal en een waarde die het betrouwbaarheidsniveau van de voorspelling aangeeft. Het betrouwbaarheidsniveau is een waarde tussen 0 en 1 met waarden dichter bij 1 als een hoger betrouwbaarheidsniveau. Hier volgt een voorbeeld van een standaard JSON-antwoord dat is toegewezen aan de bovenstaande aanvraag-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"
    }
}

In ons voorbeeld tonen alle talen een betrouwbaarheid van 1, meestal omdat de tekst relatief eenvoudig en gemakkelijk te identificeren is voor de taal.

Als u een document met meertalige inhoud doorgeeft, gedraagt de service zich iets anders. Gemengde talen inhoud binnen hetzelfde document retourneert de taal met de grootste weergave in de inhoud, maar met een lagere positieve classificatie, die de marginale sterkte van deze evaluatie weergeeft. In het volgende voorbeeld is de invoer een combinatie van Engels, Spaans en Frans. De analyse maakt gebruik van een statistische analyse van de tekst om de overheersende taal te bepalen.

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

In het volgende voorbeeld ziet u een antwoord voor dit voorbeeld met meerdere talen.

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

De laatste voorwaarde die u moet overwegen, is wanneer er dubbelzinnigheid is met betrekking tot de taalinhoud. Het scenario kan zich voordoen als u tekstuele inhoud verzendt die de analyse niet kan parseren, bijvoorbeeld vanwege tekencoderingsproblemen bij het converteren van de tekst naar een tekenreeksvariabele. Als gevolg hiervan geeft het antwoord voor de taalnaam en ISO-code aan (onbekend) en wordt de scorewaarde geretourneerd als 0. In het volgende voorbeeld ziet u hoe het antwoord eruit zou zien.

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