Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Use a API do Detector de Idioma para detectar o idioma do texto do código JavaScript em seu site ou extensão do navegador. A API usa um modelo específico de tarefa integrado ao Microsoft Edge.
Conteúdo detalhado:
- Introdução
- Usar a API do Detector de Idioma com a API do Tradutor
- Benefícios da API do Detector de Idioma
- Alternativas à API do Detector de Idioma
- Aviso de isenção
- Disponibilidade de modelo
- Veja um exemplo de trabalho
- Usar a API do Detector de Idioma
- Verificar se a API do Detector de Idioma está habilitada
- Verifique se o modelo pode ser usado (availability())
- Criar uma nova sessão (create())
- Monitorar o progresso do download do modelo (monitorar)
- Execute a API do Detector de Idioma (detect())
- Entendendo as pontuações de confiança
- Destruir uma sessão (destroy())
- Enviar comentários
- Confira também
Introdução
Para obter informações introdutórias sobre a API do Detector de Idioma, consulte:
Usar a API do Detector de Idioma com a API do Tradutor
Para facilitar a tradução de texto fornecido pelo usuário para outro idioma, use a API do Detector de Idioma em conjunto com a API do Tradutor.
Para saber mais sobre a API do Tradutor, consulte Traduzir texto com a API do Tradutor.
Benefícios da API do Detector de Idioma
A API do detector de idioma usa um modelo de detecção de idioma que é executado no mesmo dispositivo em que as entradas e saídas do modelo são usadas (ou seja, localmente). Essa abordagem tem os seguintes benefícios em comparação com soluções baseadas em nuvem:
Custo reduzido: Não há nenhum custo associado ao uso de um serviço de detecção de idioma na nuvem.
Independência de rede: Além do download inicial do modelo, não há latência de rede ao usar essa API para detectar idiomas, e a API também pode ser usada quando o dispositivo está offline.
Privacidade aprimorada: A entrada de dados no modelo nunca sai do dispositivo e não é coletada para treinar outros modelos de IA.
O modelo de detecção de idioma é baixado na primeira vez em que a API é usada no Microsoft Edge e, posteriormente, é compartilhado em todos os sites no navegador. O modelo é acessado por meio de uma API Web direta que não requer conhecimento de estruturas de terceiros e não requer experiência em IA (Inteligência Artificial) ou ML (Aprendizado de Máquina).
Alternativas à API do Detector de Idioma
Você pode enviar solicitações de rede para serviços de detecção de idioma baseados em nuvem com recursos mais sofisticados; confira a documentação da Linguagem de IA do Azure.
Como uma alternativa no dispositivo, a API de prompt atende a cenários mais personalizados, com um pequeno modelo de linguagem integrado ao Microsoft Edge; consulte Solicitar um modelo de linguagem interno com a API de solicitação.
Aviso de isenção
Assim como outros modelos de aprendizado de máquina, o modelo de detecção de idioma no Microsoft Edge pode potencialmente produzir resultados imprecisos ou não confiáveis para determinadas entradas, como texto curto ou palavras isoladas.
Disponibilidade de modelo
Um download inicial do modelo é necessário na primeira vez que um site chama a API do Detector de Idioma. Você pode monitorar o download do modelo usando a opção de monitor ao criar uma nova sessão de API do Detector de Idioma; consulte Monitorar o progresso do download do modelo (monitorar), abaixo.
Veja um exemplo de trabalho
Para ver a API do Detector de Idioma em ação e exibir o código existente que usa essa API:
No Microsoft Edge 148 ou posterior, acesse o playground da API do Detector de Idioma em uma nova janela ou guia.
Na faixa de informações na parte superior, marque o status: Inicialmente, lê-se: API no dispositivo e modelo disponível.
Na caixa de texto Texto a ser analisado , você pode alterar o texto opcionalmente.
Clique no botão Detectar idioma .
O modelo começa a detectar o idioma do texto.
A saída é gerada na seção de resposta da página.
A saída exibe:
- O nome do idioma detectado.
- A porcentagem de certeza de qual idioma.
Veja também:
- /built-in-ai/ - Código-fonte e Leiame para a demonstração de playgrounds de IA integrada.
Usar a API do Detector de Idioma
As próximas seções são sobre como usar a API do Detector de Idioma.
Verificar se a API do Detector de Idioma está habilitada
Antes de usar a API do Detector de Idioma no código do seu site, Marque se a API está disponível no navegador, testando a presença do LanguageDetector objeto:
if (!LanguageDetector) {
// The Language Detector API is not available.
} else {
// The Language Detector API is available.
}
Verifique se o modelo pode ser usado (availability())
A API do Detector de Idioma poderá ser usada se o modelo e o tempo de execução do modelo tiverem sido baixados pelo Microsoft Edge.
Para marcar se a API pode ser usada, chameLanguageDetector.availability():
const availability = await LanguageDetector.availability();
if (availability == "unavailable") {
// The model is not available.
}
if (availability == "downloadable" || availability == "downloading") {
// The model can be used, but it needs to be downloaded first.
}
if (availability == "available") {
// The model is available and can be used.
}
Criar uma nova sessão (create())
A criação de uma sessão instrui o navegador a carregar o modelo de detecção de idioma na memória, para que o modelo possa ser usado. Antes que você possa detectar o idioma, crie uma nova sessão usando o LanguageDetector.create() método:
// Create a Language Detector session.
const session = await LanguageDetector.create();
Para personalizar a sessão de modelo, você pode passar opções para o create() método:
// Create a Language Detector session with options.
const session = await LanguageDetector.create({
expectedInputLanguages: ["en", "es", "fr"]
monitor: monitorProgress
});
As opções disponíveis são:
| Opção | Descrição |
|---|---|
expectedInputLanguages |
Uma matriz de códigos de idioma. Se houver determinados idiomas que você precisa detectar para seu caso de uso, inclua esses expectedInputLanguages idiomas na opção. Isso permite que o Microsoft Edge baixe recursos adicionais, se necessário, para obter melhor precisão. Os códigos de idioma devem estar no formato BCP 47 (por exemplo, "en" para inglês, "es" espanhol ou "fr" francês). |
monitor |
Uma função usada para monitorar o progresso do download do modelo. Consulte Monitorar o progresso do download do modelo (monitorar), abaixo. |
Monitorar o progresso do download do modelo (monitor)
Você pode acompanhar o progresso do download do modelo usando a monitor opção. Isso é útil quando o modelo ainda não foi totalmente baixado no dispositivo em que será usado, para informar aos usuários do seu site que eles devem esperar.
// Create a Language Detector session with the monitor option
// to monitor the model download.
const session = await LanguageDetector.create({
monitor: m => {
// Use the monitor object argument to add a listener for the
// downloadprogress event.
m.addEventListener("downloadprogress", event => {
// The event is an object with the loaded and total properties.
if (event.loaded == event.total) {
// The model is fully downloaded.
} else {
// The model is still downloading.
const percentageComplete = (event.loaded / event.total) * 100;
}
});
}
});
Executar a API do Detector de Idioma (detect())
Depois de criar uma sessão de modelo, você pode detectar o idioma do texto. A API do detector de idioma fornece o detect() método para detectar idiomas:
// Create a Language Detector session.
const session = await LanguageDetector.create();
// Detect the language of the text.
const results = await session.detect(someUserText);
// Use the results.
for (const result of results) {
// Show the full list of potential languages with their likelihood, ranked
// from most likely to least likely.
console.log(result.detectedLanguage, result.confidence);
}
O detect() método retorna uma promessa que resolve como uma matriz de resultados de detecção de idioma. Cada resultado é um objeto com as seguintes propriedades:
| Propriedade | Descrição |
|---|---|
detectedLanguage |
A marca de idioma BCP 47 do idioma detectado (por exemplo, "en" para inglês, "es" espanhol ou "und" indeterminado). |
confidence |
Um número entre 0,0 e 1,0, indicando o nível de confiança da detecção. Valores mais altos indicam maior confiança. |
Os resultados são classificados por confiança em ordem decrescente, com o idioma mais provável primeiro. A última entrada na matriz de resultados é sempre o idioma indeterminado ("und"). O undetermined membro na matriz representa a porcentagem de confiança de que o texto não está em nenhum dos idiomas que o modelo conhece.
Entendendo as pontuações de confiança
As pontuações de confiança retornadas pela API do Detector de Idioma têm as seguintes características:
Gama: Cada pontuação de confiança é um número entre 0 (confiança mais baixa) e 1 (confiança mais alta), inclusive.
Resultados classificados: Os resultados são classificados da confiança mais alta para a mais baixa.
Filtragem de baixa confiança: Idiomas com confiança muito baixa são filtrados automaticamente para reduzir o ruído. A confiança baixa geralmente é inferior a 1% ou menos confiante do que a categoria "indeterminada".
Soma das pontuações: A soma de todas as pontuações de confiança pode ser menor que 1, pois os idiomas de baixa probabilidade são omitidos dos resultados.
Destruir uma sessão (destroy())
Depois de detectar idiomas, destrua a sessão. Isso permite que o navegador saiba que você não precisa mais do modelo de linguagem, para que o modelo possa ser descarregado da memória.
Você pode destruir uma sessão de duas maneiras diferentes:
- Usando o
destroy()método. - Ao usar um
AbortControllerarquivo .
Os detalhes estão abaixo.
Destruir uma sessão chamando destroy()
Para destruir uma sessão chamando destroy() com uma LanguageDetector sessão:
const session = await LanguageDetector.create();
// Later, destroy the session by using the destroy method.
session.destroy();
Destrua uma sessão usando AbortController
Para destruir uma sessão criando um AbortController objeto, crie uma LanguageDetector sessão e chame abort():
// Create an AbortController object.
const controller = new AbortController();
// Create a Language Detector session and pass the
// AbortController object by using the signal option.
const session = await LanguageDetector.create({
signal: controller.signal
});
// Later, perhaps when the user interacts with the UI, destroy the session by
// calling the abort() function of the AbortController object.
controller.abort();
Enviar comentários
Estamos interessados em aprender sobre:
- O intervalo de cenários para os quais você está usando a API do Detector de Idioma.
- Todos os problemas encontrados com a API ou com o modelo de detecção de idioma.
- Se outras APIs internas específicas da tarefa seriam úteis.
Para enviar comentários sobre seus cenários e as tarefas que você deseja realizar, adicione um comentário ao problema de comentários da API do Detector de Idioma.
Se você notar algum problema ao usar a API, informe-o no repositório.
Você também pode contribuir para a discussão sobre o design da API do Detector de Linguagem, no repositório do Grupo de Trabalho de Aprendizado de Máquina da Web do W3C.
Confira também
- Traduzir texto com a API de Tradutor
- Solicitar um modelo de linguagem interno com a API de Prompt
- Resuma, escreva e reescreva texto com as APIs de Assistência de Escrita
- Corrigir gramática e ortografia com a API de Revisor
GitHub:
Documentos do Azure:
Demos repo:
- Playground da API do Detector de Idioma
- /built-in-ai/ - Código-fonte e Leiame para a demonstração de playgrounds de IA integrada.