Partilhar via


Como usar a deteção de idioma

O recurso Deteção de Idioma pode avaliar texto e retornar um identificador de idioma que indica o idioma em que um documento foi escrito.

A deteção de idioma é útil para armazenamentos de conteúdo que coletam texto arbitrário, onde o idioma é desconhecido. Pode analisar os resultados desta análise para determinar o idioma que é utilizado no documento de entrada. A resposta também retorna uma pontuação entre 0 e 1 que reflete a confiança do modelo.

O recurso de deteção de idioma pode detetar uma ampla gama de idiomas, variantes, dialetos e alguns idiomas regionais ou culturais.

Opções de desenvolvimento

Para usar a deteção de idioma, envie texto bruto não estruturado para análise e manipule a saída da API em seu aplicativo. A análise é realizada no estado em que se encontra, sem personalização adicional ao modelo usado em seus dados. Há duas maneiras de usar a deteção de idioma:

Opção de desenvolvimento Description
Estúdio de linguagem O Language Studio é uma plataforma baseada na Web que permite que você tente vincular entidades com exemplos de texto sem uma conta do Azure e seus próprios dados quando você se inscreve. Para obter mais informações, consulte o site do Language Studio ou o início rápido do language studio.
API REST ou biblioteca de cliente (SDK do Azure) Integre a deteção de idioma em seus aplicativos usando a API REST ou a biblioteca de cliente disponível em vários idiomas. Para obter mais informações, consulte o Guia de início rápido de deteção de idioma.
Contêiner do Docker Use o contêiner do Docker disponível para implantar esse recurso localmente. Esses contêineres docker permitem que você aproxime o serviço de seus dados por motivos de conformidade, segurança ou outros motivos operacionais.

Determinar como processar os dados (opcional)

Especificar o modelo de deteção de idioma

Por padrão, a deteção de idioma usará o modelo de IA mais recente disponível em seu texto. Você também pode configurar suas solicitações de API para usar uma versão de modelo específica.

Línguas de entrada

Ao enviar documentos para serem avaliados, a deteção de idioma tentará determinar se o texto foi escrito em algum dos idiomas suportados.

Se você tiver conteúdo expresso em um idioma usado com menos frequência, tente o recurso Deteção de idioma para ver se ele retorna um código. A resposta para idiomas que não podem ser detetados é unknown.

Envio de dados

Gorjeta

Você pode usar um contêinerdo Docker para deteção de idioma, para que possa usar a API local.

A análise é realizada aquando da receção do pedido. Usar o recurso de deteção de idioma de forma síncrona é sem monitoração de estado. Nenhum dado é armazenado em sua conta e os resultados são retornados imediatamente na resposta.

Ao usar esse recurso de forma assíncrona, os resultados da API ficam disponíveis por 24 horas a partir do momento em que a solicitação foi ingerida e são indicados na resposta. Após esse período de tempo, os resultados são limpos e não estão mais disponíveis para recuperação.

Obter resultados de deteção de idioma

Quando você obtém resultados da deteção de idioma, pode transmitir os resultados para um aplicativo ou salvar a saída em um arquivo no sistema local.

A deteção de idioma retornará um idioma predominante para cada documento enviado, juntamente com seu nome ISO 639-1 , um nome legível por humanos, uma pontuação de confiança, nome de script e código de script de acordo com a norma ISO 15924. Uma pontuação positiva de 1 indica o maior nível de confiança possível da análise.

Conteúdo ambíguo

Em alguns casos, pode ser difícil desambiguar os idiomas com base na entrada. Você pode usar o countryHint parâmetro para especificar um código de país/região ISO 3166-1 alpha-2 . Por padrão, a API usa "US" como a dica de país padrão. Para remover esse comportamento, você pode redefinir esse parâmetro definindo esse valor como cadeia de caracteres countryHint = "" vazia .

Por exemplo, "comunicação" é comum ao inglês e ao francês e, se dada com contexto limitado, a resposta será baseada na dica de país/região "EUA". Se se sabe que a origem do texto vem de França, isso pode ser dado como uma dica.

Nota

O conteúdo ambíguo pode fazer com que os escores de confiança sejam mais baixos. O countryHint na resposta só é aplicável se a pontuação de confiança for inferior a 0,8.

Entrada

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

Com o segundo documento, o modelo de deteção de idioma tem contexto adicional para fazer um julgamento melhor, pois contém a countryHint propriedade na entrada acima. Isso retornará a seguinte saída.

Saída

{
    "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 o analisador não puder analisar a entrada, ele retornará (Unknown). Um exemplo é se você enviar uma cadeia de caracteres de texto que consiste apenas em números.

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

Conteúdo em linguagem mista

O conteúdo em idiomas mistos dentro do mesmo documento retorna o idioma com a maior representação no conteúdo, mas com uma classificação positiva mais baixa. A classificação reflete a força marginal da avaliação. No seguinte exemplo, a entrada é uma mistura de inglês, espanhol e francês. O analisador conta carateres em cada segmento para determinar o idioma predominante.

Entrada

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

Saída

O resultado consiste na língua predominante, com uma pontuação inferior a 1,0, o que indica um nível de confiança mais fraco.

{
    "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 código do script

Nota

  • Atualmente, a deteção de scripts está limitada a idiomas selecionados.
  • A deteção de script só está disponível para entrada de texto com mais de 12 caracteres.

A deteção de idioma oferece a capacidade de detetar mais de um script por idioma de acordo com a norma ISO 15924. Especificamente, a Deteção de Linguagem retorna duas propriedades relacionadas a script:

  • script: O nome legível por humanos do script identificado
  • scriptCode: O código ISO 15924 para o script identificado

A saída da API inclui o scriptCode valor da propriedade para documentos com pelo menos 12 caracteres ou mais e corresponde à lista de idiomas e scripts suportados. A deteção de scripts foi projetada para beneficiar usuários cujo idioma pode ser transliterado ou escrito em mais de um script, como o cazaque ou o hindi.

Anteriormente, a deteção de idioma foi projetada para detetar o idioma dos documentos em uma ampla variedade de idiomas, dialetos e variantes regionais, mas foi limitada pela "romanização". Romanização refere-se à conversão de texto de um sistema de escrita para a escrita romana (latim), e é necessária para detetar muitas línguas indo-europeias. No entanto, existem outras línguas que são escritas em vários scripts, como o cazaque, que pode ser escrito em cirílico, perso-árabe e alfabeto latino. Há também outros casos em que os usuários podem escolher ou são obrigados a transliterar seu idioma em mais de um script, como o hindi transliterado em alfabeto latino, devido à disponibilidade limitada de teclados que suportam seu script Devanagari.

Consequentemente, o suporte expandido da deteção de idioma para deteção de script se comporta da seguinte maneira:

Entrada

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

Saída

A saída resultante consiste na linguagem predominante, juntamente com um nome de script, código de script e pontuação de confiança.

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

Limites de serviço e dados

Para obter informações sobre o tamanho e o número de solicitações que você pode enviar por minuto e segundo, consulte o artigo Limites de serviço.

Consulte também