Taaldetectie gebruiken
De functie Taaldetectie kan tekst evalueren en een taal-id retourneren die aangeeft in welke taal een document is geschreven.
Taaldetectie is handig voor inhoudsarchieven die willekeurige tekst verzamelen, waarbij de taal onbekend is. 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 tussen 0 en 1 die het vertrouwen van het model weerspiegelt.
Met de functie Taaldetectie kunt u een breed scala aan talen, varianten, dialecten en bepaalde regionale of culturele talen detecteren.
Ontwikkelingsopties
Als u taaldetectie wilt gebruiken, verzendt u onbewerkte ongestructureerde tekst voor analyse en verwerkt u de API-uitvoer in uw toepassing. Analyse wordt uitgevoerd als zodanig, zonder extra aanpassingen aan het model dat op uw gegevens wordt gebruikt. Er zijn drie manieren om taaldetectie te gebruiken:
Ontwikkelingsoptie | Beschrijving |
---|---|
Taalstudio | Language Studio is een webplatform waarmee u entiteitskoppelingen kunt proberen met tekstvoorbeelden zonder een Azure-account en uw eigen gegevens wanneer u zich aanmeldt. Zie de quickstart voor Language Studio of Language Studio voor meer informatie. |
REST API of clientbibliotheek (Azure SDK) | Integreer taaldetectie in uw toepassingen met behulp van de REST API of de clientbibliotheek die beschikbaar is in verschillende talen. Zie de quickstart voor taaldetectie voor meer informatie. |
Docker-container | Gebruik de beschikbare Docker-container om deze functie on-premises te implementeren. Met deze Docker-containers kunt u de service dichter bij uw gegevens brengen om naleving, beveiliging of andere operationele redenen. |
Bepalen hoe de gegevens moeten worden verwerkt (optioneel)
Het taaldetectiemodel opgeven
Taaldetectie gebruikt standaard het meest recente beschikbare AI-model op uw tekst. U kunt uw API-aanvragen ook configureren voor het gebruik van een specifieke modelversie.
Invoertalen
Wanneer u documenten verzendt die moeten worden geëvalueerd, probeert taaldetectie te bepalen of de tekst in een van de ondersteunde talen is geschreven.
Als er inhoud in een minder vaak gebruikte taal wordt weergegeven, kunt u de functie Taaldetectie proberen om te zien of er een code wordt geretourneerd. Het antwoord voor talen dat niet kan worden gedetecteerd, is unknown
.
Gegevens verzenden
Tip
U kunt een Docker-containergebruiken voor taaldetectie, zodat u de API on-premises kunt gebruiken.
Analyse wordt uitgevoerd na ontvangst van de aanvraag. Het gebruik van de functie voor taaldetectie is synchroon staatloos. Er worden geen gegevens in uw account opgeslagen en de resultaten worden onmiddellijk in het antwoord geretourneerd.
Wanneer u deze functie asynchroon gebruikt, zijn de API-resultaten gedurende 24 uur beschikbaar vanaf het moment dat de aanvraag is opgenomen en wordt aangegeven in het antwoord. Na deze periode worden de resultaten opgeschoond en zijn ze niet meer beschikbaar voor het ophalen.
Resultaten van taaldetectie ophalen
Wanneer u resultaten van taaldetectie krijgt, kunt u de resultaten streamen naar een toepassing of de uitvoer opslaan in een bestand op het lokale systeem.
Taaldetectie retourneert één overheersende taal voor elk document dat u verzendt, samen met de ISO 639-1-naam , een leesbare naam, een betrouwbaarheidsscore, scriptnaam en scriptcode volgens de ISO 15924-standaard. Een positieve score van 1 geeft het hoogst mogelijke betrouwbaarheidsniveau van de analyse aan.
Niet-eenduidige inhoud
In sommige gevallen kan het lastig zijn om talen ondubbelzinnig te karakteriseren op basis van de invoer. U kunt de countryHint
parameter gebruiken om een ISO 3166-1 alfa-2 land-/regiocode op te geven. De API maakt standaard gebruik van 'VS' als standaardlandhint. Als u dit gedrag wilt verwijderen, kunt u deze parameter opnieuw instellen door deze waarde in te stellen op een lege tekenreeks countryHint = ""
.
'communicatie' is bijvoorbeeld gebruikelijk voor zowel Engels als Frans en als deze worden gegeven met beperkte context, wordt het antwoord gebaseerd op de hint voor land/regio 'VS'. Als de oorsprong van de tekst bekend is dat deze afkomstig is uit Frankrijk die als hint kan worden gegeven.
Notitie
Dubbelzinnige inhoud kan ertoe leiden dat betrouwbaarheidsscores lager zijn.
Het countryHint
antwoord is alleen van toepassing als de betrouwbaarheidsscore kleiner is dan 0,8.
Invoer
{
"documents": [
{
"id": "1",
"text": "communication"
},
{
"id": "2",
"text": "communication",
"countryHint": "fr"
}
]
}
Met het tweede document heeft het taaldetectiemodel extra context om een beter oordeel te geven omdat het de countryHint
eigenschap in de bovenstaande invoer bevat. Hiermee wordt de volgende uitvoer geretourneerd.
Uitvoer
{
"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"
}
Als de analysefunctie de invoer niet kan parseren, wordt (Unknown)
geretourneerd. Een voorbeeld is als u een tekenreeks verzendt die alleen uit getallen bestaat.
{
"documents": [
{
"id": "1",
"detectedLanguage": {
"name": "(Unknown)",
"iso6391Name": "(Unknown)",
"confidenceScore": 0.0
},
"warnings": []
}
],
"errors": [],
"modelVersion": "2023-12-01"
}
Inhoud in gemengde taal
Inhoud in gemengde talen binnen hetzelfde document retourneert de taal met de grootste weergave in de inhoud, maar met een lagere positieve classificatie. De classificatie weerspiegelt de marginale sterkte van de evaluatie. De invoer in het volgende voorbeeld is een combinatie van Engels, Spaans en Frans. De analyzer telt tekens in elk segment om te bepalen van de overheersende taal.
Invoer
{
"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?"
}
]
}
Uitvoer
De resulterende uitvoer bestaat uit de overheersende taal, met een score van minder dan 1,0 die wijst op een zwakkere mate van betrouwbaarheid.
{
"kind": "LanguageDetectionResults",
"results": {
"documents": [
{
"id": "1",
"detectedLanguage": {
"name": "Spanish",
"iso6391Name": "es",
"confidenceScore": 0.97,
"script": "Latin",
"scriptCode": "Latn"
},
"warnings": []
}
],
"errors": [],
"modelVersion": "2023-12-01"
}
}
Scriptnaam en scriptcode
Notitie
- Scriptdetectie is momenteel beperkt tot geselecteerde talen.
- De scriptdetectie is alleen beschikbaar voor tekstuele invoer die langer is dan 12 tekens.
Taaldetectie biedt de mogelijkheid om meer dan één script per taal te detecteren volgens de ISO 15924-standaard. Taaldetectie retourneert met name twee scripteigenschappen:
script
: De door mensen leesbare naam van het geïdentificeerde scriptscriptCode
: De ISO 15924-code voor het geïdentificeerde script
De uitvoer van de API bevat de waarde van de scriptCode
eigenschap voor documenten die minstens 12 tekens of langer zijn en overeenkomt met de lijst met ondersteunde talen en scripts. Scriptdetectie is ontworpen voor gebruikers waarvan de taal kan worden getranslitereerd of geschreven in meer dan één script, zoals Kazachs of Hindi.
Voorheen werd taaldetectie ontworpen om de taal van documenten te detecteren in een groot aantal talen, dialecten en regionale varianten, maar werd beperkt door "Romanisering". Romanisering verwijst naar de conversie van tekst van één schrijfsysteem naar het Romeinse schrift (Latijns) en is nodig om veel Indo-Europese talen te detecteren. Er zijn echter andere talen die zijn geschreven in meerdere scripts, zoals Kazachs, die kunnen worden geschreven in Cyrillische, Perso-Arabische en Latijnse scripts. Er zijn ook andere gevallen waarin gebruikers kunnen kiezen of verplicht zijn om hun taal in meer dan één script te translitereren, zoals Hindi die in het Latijnse script is getranslitereerd, vanwege de beperkte beschikbaarheid van toetsenborden die het Devanagari-script ondersteunen.
De uitgebreide ondersteuning voor scriptdetectie voor scriptdetectie gedraagt zich als volgt:
Invoer
{
"kind": "LanguageDetection",
"parameters": {
"modelVersion": "latest"
},
"analysisInput": {
"documents": [
{
"id": "1",
"text": "आप कहाँ जा रहे हैं?"
},
{
"id": "2",
"text": "Туған жерім менің - Қазақстаным"
}
]
}
}
Uitvoer
De resulterende uitvoer bestaat uit de overheersende taal, samen met een scriptnaam, scriptcode en betrouwbaarheidsscore.
{
"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"
}
}
Service- en gegevenslimieten
Zie het artikel over servicelimieten voor informatie over de grootte en het aantal aanvragen dat u per minuut en seconde kunt verzenden.