Publicado em 24 de setembro de 2024
Antes de traduzir um texto de um idioma para outro, você precisa determinar qual idioma é usado no texto. Antes, a tradução exigia fazer o upload do texto para um serviço em nuvem, realizar a tradução no servidor e fazer o download dos resultados.
A API Language Detector usa inferência no dispositivo para melhorar sua privacidade. Embora seja possível enviar uma biblioteca específica que faça isso, seriam necessários recursos adicionais para fazer o download.
Disponibilidade
- Participe do teste de origem da API Language Detector, que está sendo executado no Chrome 130 a 135, para testar a API com usuários reais em produção. Os testes de origem ativam o recurso para todos os usuários na sua origem no Chrome.
- Siga nossa implementação no Status do Chrome.
- A proposta do Detector de idioma e da API Translator está aberta para discussão.
- Participe do programa de prévia antecipada para conferir as novas APIs de IA integradas e participar da discussão na nossa lista de e-mails.
Inscrever-se no teste de origem
Para começar a usar a API Language Detector, siga estas etapas:
- Confirme que você leu e aceitou a Política de uso proibido da IA generativa do Google.
- Acesse o teste de origem da API Language Detector.
- Clique em Registrar e preencha o formulário.
- No campo Origem da Web, informe o ID da
origem
ou da extensão,
chrome-extension://YOUR_EXTENSION_ID
.
- No campo Origem da Web, informe o ID da
origem
ou da extensão,
- Para enviar, clique em Registrar.
- Copie o token fornecido e adicione-o a todas as páginas da Web na origem ou
no arquivo da extensão em que você quer ativar o teste.
- Se você estiver criando uma extensão, siga as instruções do teste de origem de extensões.
- Comece a usar a API Language Detection.
Saiba mais sobre como começar a usar os testes de origem.
Adicionar suporte ao localhost
Para acessar a API Language Detection no localhost
durante o teste de origem, é necessário atualizar o Chrome para a
versão mais recente. Em seguida, siga estas etapas:
- Abra o Chrome em uma destas plataformas: Windows, Mac ou Linux.
- Acesse
chrome://flags/#language-detection-api
. - Selecione Ativado.
- Clique em Reiniciar ou reinicie o Chrome.
Exemplos de casos de uso
A API Language Detector é útil principalmente nos seguintes cenários:
- Determina o idioma do texto de entrada para que ele possa ser traduzido.
- Determine o idioma do texto de entrada para que o modelo correto possa ser carregado para tarefas específicas de linguagem, como a detecção de toxicidade.
- Determinar a linguagem do texto de entrada para que ele possa ser rotulado corretamente, por exemplo, em sites de redes sociais on-line.
- Determine o idioma do texto de entrada para que a interface de um app possa ser ajustada de acordo. Por exemplo, em um site belga, mostrar apenas a interface relevante para usuários que falam francês.
Usar a API Language Detector
A API Language Detector faz parte da família maior da API Translator. Primeiro, execute a detecção de recursos para saber se o navegador oferece suporte à API Language Detector.
if ('translation' in self && 'canDetect' in self.translation) {
// The Language Detector API is available.
}
Download do modelo
A detecção de idioma depende de um modelo ajustado para a tarefa específica de detectar idiomas. Enquanto a API é criada no navegador, o modelo é transferido por download sob demanda na primeira vez que um site tenta usar a API. No Chrome, esse modelo é muito pequeno em comparação com outros modelos. Na verdade, ele pode já estar presente, já que esse modelo também é usado pelos recursos do navegador Chrome.
Para saber se o modelo está pronto para uso, chame a função
translation.canDetect()
assíncrona. Há três respostas possíveis:
'no'
: o navegador atual oferece suporte à API Language Detector, mas ela não pode ser usada no momento. Por exemplo, porque não há espaço em disco livre suficiente disponível para fazer o download do modelo.'readily'
: o navegador atual oferece suporte à API Language Detector e pode ser usado imediatamente.'after-download'
: o navegador atual oferece suporte à API Language Detector, mas precisa fazer o download do modelo primeiro.
Para acionar o download e instanciar o detector de idioma, chame a
função translation.createDetector()
assíncrona. Se a resposta para
canDetect()
foi 'after-download'
, a prática recomendada é detectar o progresso
do download para informar o usuário caso o download demore.
O exemplo a seguir demonstra como inicializar o detector de idioma.
const canDetect = await translation.canDetect();
let detector;
if (canDetect === 'no') {
// The language detector isn't usable.
return;
}
if (canDetect === 'readily') {
// The language detector can immediately be used.
detector = await translation.createDetector();
} else {
// The language detector can be used after model download.
detector = await translation.createDetector();
detector.addEventListener('downloadprogress', (e) => {
console.log(e.loaded, e.total);
});
await detector.ready;
}
Executar o detector de idioma
A API Language Detector usa um modelo de classificação para determinar qual idioma é mais provável de ser usado em um determinado texto. O ranking é um tipo de aprendizado de máquina, em que o objetivo é ordenar uma lista de itens. Nesse caso, a API Language Detector classifica os idiomas da maior para a menor probabilidade.
A função detect()
pode retornar o primeiro resultado, a resposta mais provável ou iterar os candidatos classificados com o nível de confiança.
Isso é retornado como uma lista de objetos {detectedLanguage, confidence}
. O
nível confidence
é expresso como um valor entre 0.0
(menor confiança)
e 1.0
(maior confiança).
const someUserText \= 'Hallo und herzlich willkommen\!';
const results \= await detector.detect(someUserText);
for (const result of results) {
// Show the full list of potential languages with their likelihood, ranked
// from most likely to least likely. In practice, one would pick the top
// language(s) that cross a high enough threshold.
console.log(result.detectedLanguage, result.confidence);
}
// (Output truncated):
// de 0.9993835687637329
// en 0.00038279531872831285
// nl 0.00010798392031574622
// ...
Demonstração
Confira a API Language Detector na nossa demonstração. Insira texto escrito em diferentes idiomas no campo de texto.
Esforço de padronização
A API Language Detector foi movida para o Grupo da comunidade do Incubator da Web do W3C depois que a proposta correspondente recebeu suporte suficiente. A API faz parte de uma proposta maior da API Translation.
A equipe do Chrome solicitou feedback do W3C Technical Architecture Group e pediu a Mozilla e ao WebKit as posições dos padrões.
Envie feedback
Se você tiver feedback sobre a implementação do Chrome, registre um bug do Chromium. Compartilhe seu feedback sobre a forma da API do detector de idioma comentando em um problema existente ou abrindo um novo no repositório da API Translation no GitHub.