Använda språkidentifiering
Funktionen Språkidentifiering kan utvärdera text och returnera en språkidentifierare som anger språket som ett dokument skrevs i.
Språkidentifiering är användbart för innehållslager som samlar in godtycklig text, där språket är okänt. Du kan parsa resultatet av den här analysen för att avgöra vilket språk som används i dokumentet. Svaret returnerar också en poäng mellan 0 och 1 som återspeglar modellens förtroende.
Funktionen Språkidentifiering kan identifiera en mängd olika språk, varianter, dialekter och vissa regionala eller kulturella språk.
Utvecklingsalternativ
Om du vill använda språkidentifiering skickar du ostrukturerad ostrukturerad text för analys och hanterar API-utdata i ditt program. Analysen utförs som den är, utan ytterligare anpassning till den modell som används för dina data. Det finns tre sätt att använda språkidentifiering:
Utvecklingsalternativ | beskrivning |
---|---|
Language Studio | Language Studio är en webbaserad plattform där du kan prova entitetslänkning med textexempel utan ett Azure-konto och dina egna data när du registrerar dig. Mer information finns på Language Studio-webbplatsen eller language studio-snabbstarten. |
REST API eller klientbibliotek (Azure SDK) | Integrera språkidentifiering i dina program med hjälp av REST-API:et eller klientbiblioteket som är tillgängligt på flera olika språk. Mer information finns i snabbstarten för språkidentifiering. |
Docker-container | Använd den tillgängliga Docker-containern för att distribuera den här funktionen lokalt. Med dessa docker-containrar kan du föra tjänsten närmare dina data av kompatibilitets-, säkerhets- eller andra driftsskäl. |
Bestämma hur data ska bearbetas (valfritt)
Ange språkidentifieringsmodellen
Som standard använder språkidentifiering den senaste tillgängliga AI-modellen i din text. Du kan också konfigurera dina API-begäranden att använda en specifik modellversion.
Indataspråk
När du skickar dokument som ska utvärderas försöker språkidentifiering avgöra om texten har skrivits på något av de språk som stöds.
Om du har innehåll uttryckt i ett språk som används mindre ofta kan du prova funktionen Språkidentifiering för att se om det returnerar en kod. Svaret för språk som inte kan identifieras är unknown
.
Skicka data
Dricks
Du kan använda en Docker-containerför språkidentifiering, så att du kan använda API:et lokalt.
Analysen utförs när begäran har tagits emot. Att använda språkidentifieringsfunktionen synkront är tillståndslöst. Inga data lagras i ditt konto och resultatet returneras omedelbart i svaret.
När du använder den här funktionen asynkront är API-resultaten tillgängliga i 24 timmar från den tidpunkt då begäran matades in och anges i svaret. Efter den här tidsperioden rensas resultaten och är inte längre tillgängliga för hämtning.
Få resultat av språkidentifiering
När du får resultat från språkidentifiering kan du strömma resultatet till ett program eller spara utdata till en fil i det lokala systemet.
Språkidentifiering returnerar ett dominerande språk för varje dokument som du skickar, tillsammans med iso 639-1-namnet, ett läsbart namn, en konfidenspoäng, skriptnamn och skriptkod enligt ISO 15924-standarden. En positiv poäng på 1 anger den högsta möjliga konfidensnivån för analysen.
Tvetydig innehåll
I vissa fall kan det vara svårt att förtydliga språk baserat på indata. Du kan använda parametern countryHint
för att ange en ISO 3166-1 alfa-2 lands-/regionkod. Som standard använder API:et "US" som standardtips för land. Om du vill ta bort det här beteendet kan du återställa den här parametern genom att ange värdet till tom sträng countryHint = ""
.
Till exempel är "kommunikation" vanligt för både engelska och franska och om det ges med begränsad kontext kommer svaret att baseras på tipset "USA" land/region. Om textens ursprung är känt för att komma från Frankrike kan det ges som ett tips.
Kommentar
Tvetydigt innehåll kan göra att konfidenspoängen blir lägre.
I countryHint
svaret gäller endast om konfidenspoängen är mindre än 0,8.
Indata
{
"documents": [
{
"id": "1",
"text": "communication"
},
{
"id": "2",
"text": "communication",
"countryHint": "fr"
}
]
}
Med det andra dokumentet har språkidentifieringsmodellen ytterligare kontext för att göra en bättre bedömning eftersom den countryHint
innehåller egenskapen i indata ovan. Detta returnerar följande utdata.
Output
{
"documents":[
{
"detectedLanguage":{
"confidenceScore":0.62,
"iso6391Name":"en",
"name":"English"
},
"id":"1",
"warnings":[
]
},
{
"detectedLanguage":{
"confidenceScore":1.0,
"iso6391Name":"fr",
"name":"French"
},
"id":"2",
"warnings":[
]
}
],
"errors":[
],
"modelVersion":"2022-10-01"
}
Om analysatorn inte kan parsa indata returnerar (Unknown)
den . Ett exempel är om du skickar en textsträng som endast består av tal.
{
"documents": [
{
"id": "1",
"detectedLanguage": {
"name": "(Unknown)",
"iso6391Name": "(Unknown)",
"confidenceScore": 0.0
},
"warnings": []
}
],
"errors": [],
"modelVersion": "2023-12-01"
}
Innehåll med blandat språk
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. Omdömet återspeglar bedömningens marginella styrka. I följande exempel är indata en blandning av engelska, spanska och franska. Det dominerande språket fastställs genom att analysatorn räknar tecken i varje segment.
Indata
{
"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?"
}
]
}
Output
Resultatet består av det dominerande språket, med en poäng på mindre än 1,0, vilket indikerar en svagare konfidensnivå.
{
"kind": "LanguageDetectionResults",
"results": {
"documents": [
{
"id": "1",
"detectedLanguage": {
"name": "Spanish",
"iso6391Name": "es",
"confidenceScore": 0.97,
"script": "Latin",
"scriptCode": "Latn"
},
"warnings": []
}
],
"errors": [],
"modelVersion": "2023-12-01"
}
}
Skriptnamn och skriptkod
Kommentar
- Skriptidentifiering är för närvarande begränsad till att välja språk.
- Skriptidentifieringen är endast tillgänglig för textinmatningar som är större än 12 tecken långa.
Språkidentifiering ger möjlighet att identifiera fler än ett skript per språk enligt STANDARDEN ISO 15924. Mer specifikt returnerar Språkidentifiering två skriptrelaterade egenskaper:
script
: Det identifierade skriptets läsbara namnscriptCode
: ISO 15924-koden för det identifierade skriptet
Utdata från API:et innehåller värdet scriptCode
för egenskapen för dokument som är minst 12 tecken långa och matchar listan över språk och skript som stöds. Skriptidentifiering är utformat för att gynna användare vars språk kan transkriberas eller skrivas i mer än ett skript, till exempel kazakiska eller hindispråk.
Tidigare utformades språkidentifiering för att identifiera språket i dokument på en mängd olika språk, dialekter och regionala varianter, men begränsades av "romanisering". Romanisering refererar till konvertering av text från ett skrivsystem till det romerska (latinska) skriptet, och är nödvändigt för att upptäcka många indoeuropeiska språk. Det finns dock andra språk som är skrivna i flera skript, till exempel kazakiska, som kan skrivas i kyrilliska, persoarabiska och latinska skript. Det finns också andra fall där användare antingen kan välja eller måste transkribera sitt språk i mer än ett skript, till exempel hindi translittererat i latinskt skript, på grund av den begränsade tillgängligheten för tangentbord som stöder dess Devanagari-skript.
Därför fungerar språkidentifieringens utökade stöd för skriptidentifiering på följande sätt:
Indata
{
"kind": "LanguageDetection",
"parameters": {
"modelVersion": "latest"
},
"analysisInput": {
"documents": [
{
"id": "1",
"text": "आप कहाँ जा रहे हैं?"
},
{
"id": "2",
"text": "Туған жерім менің - Қазақстаным"
}
]
}
}
Output
Resultatet består av det dominerande språket, tillsammans med ett skriptnamn, skriptkod och konfidenspoäng.
{
"kind": "LanguageDetectionResults",
"results": {
"documents": [
{
"id": "1",
"detectedLanguage": {
"name": "Hindi",
"iso6391Name": "hi",
"confidenceScore": 1.0,
"script": "Devanagari",
"scriptCode": "Deva"
},
"warnings": []
},
{
"id": "2",
"detectedLanguage": {
"name": "Kazakh",
"iso6391Name": "kk",
"confidenceScore": 1.0,
"script": "Cyrillic",
"scriptCode": "Cyrl"
},
"warnings": []
}
],
"errors": [],
"modelVersion": "2023-12-01"
}
}
Tjänst- och datagränser
Information om storleken och antalet begäranden som du kan skicka per minut och sekund finns i artikeln om tjänstbegränsningar .