Condividi tramite


Come usare Rilevamento lingua

La funzionalità Rilevamento lingua può valutare il testo e restituire un identificatore di lingua che indica la lingua in cui è stato scritto un documento.

Il rilevamento della lingua è utile per archivi di contenuto che raccolgono testo arbitrario, in cui la lingua non è nota. È possibile analizzare i risultati di questa analisi per determinare la lingua usata nel documento di input. La risposta restituisce anche un punteggio compreso tra 0 e 1 che riflette l'attendibilità del modello.

La funzionalità Rilevamento lingua può rilevare un'ampia gamma di lingue, varianti e dialetti e alcune lingue regionali o culturali.

Opzioni di sviluppo

Per usare il rilevamento della lingua, inviare testo non strutturato e non elaborato per l’analisi e gestire l’output dell'API nell'applicazione. L'analisi viene eseguita così come è, senza alcuna personalizzazione aggiuntiva del modello usato sui dati. Esistono tre modi per usare il rilevamento della lingua:

Opzione di sviluppo Descrizione
Language Studio Language Studio è una piattaforma basata sul Web che consente di provare a collegare entità con esempi di testo senza un account Azure e usando i propri dati quando si effettua l'iscrizione. Per altre informazioni, vedere il sito Web di Language Studio o la guida introduttiva di Language Studio.
API REST o libreria client (SDK di Azure) Integrare il rilevamento della lingua nelle applicazioni usando l'API REST o la libreria client disponibile in un'ampia gamma di lingue. Per altre informazioni, vedere l’argomento Rilevamento lingua nella guida introduttiva.
Contenitore Docker Usare il contenitore Docker disponibile per distribuire questa funzionalità in locale. Questi contenitori Docker consentono di avvicinare il servizio ai dati per motivi di conformità, sicurezza o per altri motivi.

Determinare come elaborare i dati (facoltativo)

Specificare il modello di rilevamento della lingua

Per impostazione predefinita, il rilevamento della lingua userà il modello di intelligenza artificiale più recente disponibile nel testo. È anche possibile configurare le richieste API per l'uso di una versione del modello specifica.

Lingue di input

Quando si inviano documenti da valutare, il rilevamento della lingua tenterà di determinare se il testo è stato scritto in una delle lingue supportate.

In caso di contenuto espresso in un lingua di uso meno frequente, si può provare la funzionalità Rilevamento lingua per verificare se viene restituito un codice. La risposta per le lingue non rilevabili è unknown.

Invio di dati

Suggerimento

È possibile usare un contenitore Docker per il rilevamento della lingua, in modo da poter usare l'API in locale.

Al momento della ricezione della richiesta viene eseguita l'analisi. L'uso della funzionalità di rilevamento della lingua in modo sincrono è senza stato. Non vengono archiviati dati nell'account e i risultati vengono restituiti immediatamente nella risposta.

Quando si usa questa funzionalità in modo asincrono, i risultati dell'API sono disponibili per 24 ore dal momento in cui la richiesta è stata inserita e ciò viene indicato nella risposta. Dopo questo periodo di tempo, i risultati vengono rimossi e non sono più disponibili per il recupero.

Ottenere i risultati del rilevamento della lingua

Quando si ottengono risultati dal rilevamento della lingua, è possibile trasmettere i risultati a un'applicazione o salvare l'output in un file nel sistema locale.

Rilevamento lingua restituisce una lingua predominante per ogni documento inviato, insieme al nome ISO 639-1, un nome leggibile, un punteggio di attendibilità, un nome di script e un codice script in base allo standard ISO 15924. Un punteggio positivo pari a 1 esprime il massimo livello possibile di attendibilità dell'analisi.

Contenuto ambiguo

In alcuni casi potrebbe essere difficile distinguere le lingue in base all'input. È possibile usare il parametro countryHint per specificare un codice paese/area geografica ISO 3166-1 alfa-2. Per impostazione predefinita, l'API usa "US" come suggerimento per il paese predefinito. Per rimuovere questo comportamento, è possibile reimpostare questo parametro impostando questo valore su una stringa countryHint = "" vuota.

La parola "communication", ad esempio, è comune sia all’inglese che al francese e, se viene specificata con un contesto limitato, la risposta sarà basata sul suggerimento “US” del paese/area geografica. Se l'origine del testo è nota come proveniente dalla Francia, è possibile specificare tale paese come suggerimento.

Nota

Il contenuto ambiguo può causare una riduzione dei punteggi di attendibilità. countryHint nella risposta è applicabile solo se il punteggio di attendibilità è inferiore a 0,8.

Input

{
    "documents": [
        {
            "id": "1",
            "text": "communication"
        },
        {
            "id": "2",
            "text": "communication",
            "countryHint": "fr"
        }
    ]
}

Con il secondo documento, il modello di rilevamento lingua dispone di un contesto aggiuntivo per formulare un giudizio migliore, poiché contiene la proprietà countryHint dell'input precedente. Verrà restituito l'output seguente.

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

Se l'analizzatore non riesce ad analizzare l'input, restituisce (Unknown). Un possibile esempio può essere una stringa di testo costituita esclusivamente da numeri.

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

Contenuto in più lingue

Se all'interno dello stesso documento è presente contenuto in più lingue, viene restituita la lingua più rappresentata, ma con una classificazione positiva inferiore, che riflette l'attendibilità marginale della valutazione. Nell'esempio seguente l'input è costituito da una combinazione di inglese, spagnolo e francese. L'analizzatore conta i caratteri in ogni segmento per determinare la lingua prevalente.

Input

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

L'output risultante è costituito dalla lingua prevalente, con un punteggio inferiore a 1 che indica un livello di attendibilità minore.

{
    "kind": "LanguageDetectionResults",
    "results": {
        "documents": [
            {
                "id": "1",
                "detectedLanguage": {
                    "name": "Spanish",
                    "iso6391Name": "es",
                    "confidenceScore": 0.97,
                    "script": "Latin",
                    "scriptCode": "Latn"
                },
                "warnings": []
            }
        ],
        "errors": [],
        "modelVersion": "2023-12-01"
    }
}

Nome e codice script

Nota

  • Il rilevamento degli script è attualmente limitato alle lingue selezionate.
  • Il rilevamento degli script è disponibile solo per l'input testuale con lunghezza maggiore di 12 caratteri.

Il rilevamento lingua offre la possibilità di rilevare più script per ogni linguaggio, in base allo standard ISO 15924. In particolare, Rilevamento lingua restituisce due proprietà correlate allo script:

  • script: nome leggibile dello script identificato
  • scriptCode: codice ISO 15924 per lo script identificato

L'output dell'API include il valore della proprietà scriptCode per i documenti di lunghezza pari o superiore a 12 caratteri e che corrispondono all'elenco delle lingue e degli script supportati. Il rilevamento di script è progettato per offrire vantaggi agli utenti la cui lingua può essere traslitterata o scritta in più script, ad esempio kazako o hindi.

In precedenza, il rilevamento lingua è stato progettato per rilevare la lingua dei documenti in un'ampia gamma di lingue, dialetti e varianti regionali, ma è stato limitato dalla romanizzazione. La romanizzazione si riferisce alla conversione di un testo da un sistema di scrittura allo script romano (latina) ed è necessaria per individuare molte lingue indoeuropee. Tuttavia, ci sono altre lingue che vengono scritte in più scritture, come il kazako, che può essere scritto in cirillico, persiano-arabo e latino. Esistono anche altri casi in cui gli utenti possono scegliere o devono traslitterare la loro lingua in più di uno script, come ad esempio l'hindi traslitterato in caratteri latini, a causa della limitata disponibilità di tastiere che supportano il relativo script devanagari.

Di conseguenza, il supporto espanso del rilevamento lingua per il rilevamento degli script si comporta come segue:

Input

{ 
    "kind": "LanguageDetection", 
    "parameters": { 
        "modelVersion": "latest" 
    }, 
    "analysisInput": { 
        "documents": [ 
            { 
                "id": "1", 
                "text": "आप कहाँ जा रहे हैं?" 
            }, 
            { 
                "id": "2", 
                "text": "Туған жерім менің - Қазақстаным" 
            } 
        ] 
    } 
} 

Output

L'output risultante consiste nella lingua predominante, insieme al nome dello script, al codice dello script e al punteggio di attendibilità.

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

Limiti relativi al servizio e ai dati

Vedere l'articolo sui limiti del servizio per informazioni sulle dimensioni e il numero di richieste che è possibile inviare al minuto e al secondo.

Vedi anche