Esempio: Rilevare la lingua con Analisi del testoExample: Detect language with Text Analytics

La funzionalità Rilevamento lingua dell'API REST Analisi del testo di Azure valuta l'input di testo per ogni documento e restituisce identificatori di lingua con un punteggio indicante il livello di attendibilità dell'analisi.The Language Detection feature of the Azure Text Analytics REST API evaluates text input for each document and returns language identifiers with a score that indicates the strength of the analysis.

Questa funzionalità è utile per gli archivi di contenuto che includono testo arbitrario, in cui la lingua è sconosciuta.This capability is useful for content stores that collect arbitrary text, where language is unknown. È possibile analizzare i risultati di questa analisi per determinare la lingua usata nel documento di input.You can parse the results of this analysis to determine which language is used in the input document. La risposta restituisce anche un punteggio che riflette l'attendibilità del modello.The response also returns a score that reflects the confidence of the model. Il valore del punteggio è compreso tra 0 e 1.The score value is between 0 and 1.

La funzionalità Rilevamento lingua può rilevare un'ampia gamma di lingue, varianti e dialetti e alcune lingue regionali o culturali.The Language Detection feature can detect a wide range of languages, variants, dialects, and some regional or cultural languages. L'elenco esatto delle lingue per questa funzionalità non è stato pubblicato.The exact list of languages for this feature isn't published.

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.If you have content expressed in a less frequently used language, you can try the Language Detection feature to see if it returns a code. La risposta per le lingue non rilevabili è unknown.The response for languages that can't be detected is unknown.

Suggerimento

Analisi del testo offre anche un'immagine del contenitore Docker basata su Linux per il rilevamento della lingua, di conseguenza è possibile installare ed eseguire il contenitore di Analisi del testo vicino ai dati.Text Analytics also provides a Linux-based Docker container image for language detection, so you can install and run the Text Analytics container close to your data.

Operazioni preliminariPreparation

È necessario disporre di documenti JSON nel formato seguente: ID e testo.You must have JSON documents in this format: ID and text.

Le dimensioni dei documenti devono essere inferiori a 5.120 caratteri per documento.The document size must be under 5,120 characters per document. Ogni raccolta può contenere fino a 1.000 elementi (ID).You can have up to 1,000 items (IDs) per collection. La raccolta viene inviata nel corpo della richiesta.The collection is submitted in the body of the request. Di seguito è riportato un esempio del contenuto che può essere inviato per il rilevamento della lingua:The following sample is an example of content you might submit for language detection:

    {
        "documents": [
            {
                "id": "1",
                "text": "This document is in English."
            },
            {
                "id": "2",
                "text": "Este documento está en inglés."
            },
            {
                "id": "3",
                "text": "Ce document est en anglais."
            },
            {
                "id": "4",
                "text": "本文件为英文"
            },
            {
                "id": "5",
                "text": "Этот документ на английском языке."
            }
        ]
    }

Passaggio 1: Strutturare la richiestaStep 1: Structure the request

Per altre informazioni sulla definizione della richiesta, vedere Chiamare l'API Analisi del testo.For more information on request definition, see Call the Text Analytics API. Per comodità si ridefiniscono i punti seguenti:The following points are restated for convenience:

  • Creare una richiesta POST.Create a POST request. Per esaminare la documentazione dell'API per la richiesta, vedere API Rilevamento lingua.To review the API documentation for this request, see the Language Detection API.

  • Impostare l'endpoint HTTP per il rilevamento della lingua.Set the HTTP endpoint for language detection. Usare una risorsa di Analisi del testo in Azure oppure un contenitore di Analisi del testo di cui è stata creata un'istanza.Use either a Text Analytics resource on Azure or an instantiated Text Analytics container. È necessario includere /text/analytics/v2.1/languages nell'URL.You must include /text/analytics/v2.1/languages in the URL. Ad esempio: https://<your-custom-subdomain>.cognitiveservices.azure.com/text/analytics/v2.1/languages.For example: https://<your-custom-subdomain>.cognitiveservices.azure.com/text/analytics/v2.1/languages.

  • Impostare un'intestazione della richiesta in modo da includere la chiave di accesso per le operazioni di Analisi del testo.Set a request header to include the access key for Text Analytics operations.

  • Nel corpo della richiesta specificare la raccolta di documenti JSON preparata per l'analisi.In the request body, provide the JSON documents collection you prepared for this analysis.

Suggerimento

Usare Postman oppure aprire la console di test dell'API nella documentazione per strutturare una richiesta e inviarla tramite POST al servizio.Use Postman or open the API testing console in the documentation to structure a request and POST it to the service.

Passaggio 2: Inviare la richiesta POSTStep 2: POST the request

Al momento della ricezione della richiesta viene eseguita l'analisi.Analysis is performed upon receipt of the request. Per informazioni sulle dimensioni e sul numero delle richieste che è possibile inviare al minuto e al secondo, vedere la sezione Limiti dei dati nella panoramica.For information on the size and number of requests you can send per minute and second, see the data limits section in the overview.

Tenere presente che il servizio è senza stato.Recall that the service is stateless. Nessun dato viene archiviato nell'account.No data is stored in your account. I risultati vengono restituiti immediatamente nella risposta.Results are returned immediately in the response.

Passaggio 3: View the resultsStep 3: View the results

Tutte le richieste POST restituiscono una risposta in formato JSON con gli ID e le proprietà rilevate.All POST requests return a JSON-formatted response with the IDs and detected properties.

L'output viene restituito immediatamente.Output is returned immediately. È possibile trasmettere i risultati a un'applicazione che accetta JSON o salvare l'output in un file nel sistema locale.You can stream the results to an application that accepts JSON or save the output to a file on the local system. Importare quindi l'output in un'applicazione che consente di ordinare, cercare e modificare i dati.Then, import the output into an application that you can use to sort, search, and manipulate the data.

I risultati relativi alla richiesta di esempio dovrebbero avere un aspetto simile al codice JSON seguente.Results for the example request should look like the following JSON. Si noti che si tratta di un singolo documento con più elementi.Notice that it's one document with multiple items. L'output è in inglese.Output is in English. Gli identificatori di lingua includono un nome descrittivo e un codice di lingua nel formato ISO 639-1.Language identifiers include a friendly name and a language code in ISO 639-1 format.

Un punteggio positivo pari a 1.0 esprime il massimo livello possibile di attendibilità dell'analisi.A positive score of 1.0 expresses the highest possible confidence level of the analysis.

    {
        "documents": [
            {
                "id": "1",
                "detectedLanguages": [
                    {
                        "name": "English",
                        "iso6391Name": "en",
                        "score": 1
                    }
                ]
            },
            {
                "id": "2",
                "detectedLanguages": [
                    {
                        "name": "Spanish",
                        "iso6391Name": "es",
                        "score": 1
                    }
                ]
            },
            {
                "id": "3",
                "detectedLanguages": [
                    {
                        "name": "French",
                        "iso6391Name": "fr",
                        "score": 1
                    }
                ]
            },
            {
                "id": "4",
                "detectedLanguages": [
                    {
                        "name": "Chinese_Simplified",
                        "iso6391Name": "zh_chs",
                        "score": 1
                    }
                ]
            },
            {
                "id": "5",
                "detectedLanguages": [
                    {
                        "name": "Russian",
                        "iso6391Name": "ru",
                        "score": 1
                    }
                ]
            }
        ],
        "errors": []
    }

Contenuto ambiguoAmbiguous content

In alcuni casi potrebbe essere difficile distinguere le lingue in base all'input.In some cases it may be hard to disambiguate languages based on the input. È possibile usare il parametro countryHint per specificare un codice paese di 2 lettere.You can use the countryHint parameter to specify a 2-letter country code. Per impostazione predefinita, l'API usa "US" come valore predefinito di countryHint. Per rimuovere questo comportamento, è possibile reimpostare questo parametro usando come valore una stringa vuota, countryHint = "".By default the API is using the "US" as the default countryHint, to remove this behavior you can reset this parameter by setting this value to empty string countryHint = "" .

La parola "Impossible", ad esempio, è comune sia alla lingua inglese che alla lingua francese. Se viene specificata con un contesto limitato, la risposta sarà basata sul suggerimento del paese "US".For example, "Impossible" is common to both English and French and if given with limited context the response will be based on the "US" country hint. Se l'origine del testo è nota come proveniente dalla Francia, è possibile specificare tale paese come suggerimento.If the origin of the text is known to be coming from France that can be given as a hint.

InputInput

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

Il contesto aggiuntivo ora disponibile consente al servizio di ottenere un giudizio migliore:The service now has additional context to make a better judgment:

OutputOutput

    {
        "documents": [
            {
                "id": "1",
                "detectedLanguages": [
                    {
                        "name": "English",
                        "iso6391Name": "en",
                        "score": 1
                    }
                ]
            },
            {
                "id": "2",
                "detectedLanguages": [
                    {
                        "name": "French",
                        "iso6391Name": "fr",
                        "score": 1
                    }
                ]
            }
        ],
        "errors": []
    }

Se l'analizzatore non riesce ad analizzare l'input, restituisce (Unknown).If the analyzer can't parse the input, it returns (Unknown). Ciò si verifica ad esempio se si invia un blocco di testo costituito esclusivamente da numeri arabi.An example is if you submit a text block that consists solely of Arabic numerals.

    {
        "id": "5",
        "detectedLanguages": [
            {
                "name": "(Unknown)",
                "iso6391Name": "(Unknown)",
                "score": "NaN"
            }
        ]
    }

Contenuto in più lingueMixed-language content

Se all'interno dello stesso documento è presente contenuto in più lingue, viene restituita la lingua più rappresentata, ma con una classificazione positiva inferiore,Mixed-language content within the same document returns the language with the largest representation in the content, but with a lower positive rating. che riflette l'attendibilità marginale della valutazione.The rating reflects the marginal strength of the assessment. Nell'esempio seguente l'input è costituito da una combinazione di inglese, spagnolo e francese.In the following example, input is a blend of English, Spanish, and French. L'analizzatore conta i caratteri in ogni segmento per determinare la lingua prevalente.The analyzer counts characters in each segment to determine the predominant language.

InputInput

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

OutputOutput

L'output risultante è costituito dalla lingua prevalente, con un punteggio inferiore a 1 che indica un livello di attendibilità minore.The resulting output consists of the predominant language, with a score of less than 1.0, which indicates a weaker level of confidence.

    {
      "documents": [
        {
          "id": "1",
          "detectedLanguages": [
            {
              "name": "Spanish",
              "iso6391Name": "es",
              "score": 0.9375
            }
          ]
        }
      ],
      "errors": []
    }

SummarySummary

In questo articolo si sono appresi i concetti e il flusso di lavoro per il rilevamento della lingua con Analisi del testo di Servizi cognitivi di Azure.In this article, you learned concepts and workflow for language detection by using Text Analytics in Azure Cognitive Services. È stato illustrato e dimostrato quanto segue:The following points were explained and demonstrated:

  • Rilevamento lingua è disponibile per un'ampia gamma di lingue, varianti e dialetti e alcune lingue regionali o culturali.Language detection is available for a wide range of languages, variants, dialects, and some regional or cultural languages.
  • I documenti JSON nel corpo della richiesta includono un ID e il testo.JSON documents in the request body include an ID and text.
  • La richiesta POST viene inviata a un endpoint /languages usando una chiave di accesso e un endpoint personalizzati validi per la sottoscrizione.The POST request is to a /languages endpoint by using a personalized access key and an endpoint that's valid for your subscription.
  • L'output di risposta è costituito da identificatori di lingua per ogni ID documento.Response output consists of language identifiers for each document ID. L'output può essere trasmesso a qualsiasi app che accetta JSON,The output can be streamed to any app that accepts JSON. ad esempio Excel e Power BI, per citarne alcune.Example apps include Excel and Power BI, to name a few.

Vedere ancheSee also

Panoramica di Analisi del testo Domande frequentiText Analytics overview Frequently asked questions (FAQ)
Pagina del prodotto Analisi del testoText Analytics product page

Passaggi successiviNext steps