Identifiera språk
API:et för språkidentifiering i Azure AI utvärderar textindata och returnerar språkidentifierare för varje dokument som skickas med en poäng som anger analysens styrka.
Den här funktionen är användbar för innehållslager som samlar in godtycklig text, där språket är okänt. Ett annat scenario kan omfatta en chattrobot. Om en användare startar en session med chattroboten kan språkidentifiering användas för att avgöra vilket språk de använder och gör att du kan konfigurera dina robotsvar på rätt språk.
Du kan parsa resultatet av den här analysen för att avgöra vilket språk som används i indatadokumentet. Svaret returnerar också en poäng som återspeglar modellens förtroende (ett värde mellan 0 och 1).
Språkidentifiering kan fungera med dokument eller enkla fraser. Observera att dokumentstorleken måste vara mindre än 5 120 tecken. Storleksgränsen är per dokument och varje samling är begränsad till 1 000 objekt (ID:t). Ett exempel på en korrekt formaterad JSON-nyttolast som du kan skicka till tjänsten i begärandekroppen visas här, inklusive en samling dokument, som var och en innehåller ett unikt id och text som ska analyseras. Du kan också ange en countryHint för att förbättra prediktionens prestanda.
{
"kind": "LanguageDetection",
"parameters": {
"modelVersion": "latest"
},
"analysisInput":{
"documents":[
{
"id": "1",
"text": "Hello world",
"countryHint": "US"
},
{
"id": "2",
"text": "Bonjour tout le monde"
}
]
}
}
Tjänsten returnerar ett JSON-svar som innehåller ett resultat för varje dokument i begärandetexten, inklusive det förutsagda språket och ett värde som anger förutsägelsens konfidensnivå. Konfidensnivån är ett värde som sträcker sig från 0 till 1 med värden närmare 1 som en högre konfidensnivå. Här är ett exempel på ett JSON-standardsvar som mappar till JSON-begäran ovan.
{ "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"
}
}
I vårt exempel visar alla språk en konfidens på 1, främst för att texten är relativt enkel och lätt att identifiera språket för.
Om du skickar in ett dokument som har flerspråkigt innehåll fungerar tjänsten lite annorlunda. Innehåll med blandat språk i samma dokument returnerar språket med den största representationen i innehållet, men med ett lägre positivt omdöme, vilket återspeglar den marginella styrkan i utvärderingen. I följande exempel är indata en blandning av engelska, spanska och franska. Analysatorn använder statistisk analys av texten för att fastställa dominerande språk.
{
"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?"
}
]
}
Följande exempel visar ett svar för det här exemplet på flera språk.
{
"documents": [
{
"id": "1",
"detectedLanguage": {
"name": "Spanish",
"iso6391Name": "es",
"confidenceScore": 0.9375
},
"warnings": []
}
],
"errors": [],
"modelVersion": "2022-10-01"
}
Det sista villkoret att tänka på är när det finns tvetydighet när det gäller språkinnehållet. Scenariot kan inträffa om du skickar textinnehåll som analysatorn inte kan parsa, till exempel på grund av teckenkodningsproblem när du konverterar texten till en strängvariabel. Därför kommer svaret för språknamnet och ISO-koden att indikera (okänd) och poängvärdet returneras som 0
. I följande exempel visas hur svaret skulle se ut.
{
"documents": [
{
"id": "1",
"detectedLanguage": {
"name": "(Unknown)",
"iso6391Name": "(Unknown)",
"confidenceScore": 0.0
},
"warnings": []
}
],
"errors": [],
"modelVersion": "2022-10-01"
}