Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A API do Detetor de Idiomas é uma API Web experimental que lhe permite detetar o idioma do texto através de um modelo incorporado no Microsoft Edge, a partir de código JavaScript no seu site ou extensão do browser.
Conteúdo detalhado:
- Introdução
- Utilizar a API do Detetor de Idiomas com a API do Microsoft Translator
- Disponibilidade da API do Detetor de Idiomas
- Benefícios da API do Detetor de Idiomas
- Alternativas à API do Detetor de Idiomas
- Aviso de isenção
- Disponibilidade do modelo
- Ativar a API do Detetor de Idiomas
- Veja um exemplo de trabalho
- Utilizar a API do Detetor de Idiomas
- Verificar se a API do Detetor de Idiomas está ativada
- Verificar se o modelo pode ser utilizado (disponibilidade())
- Criar uma nova sessão (criar())
- Monitorizar o progresso da transferência do modelo (monitor)
- Executar a API do Detetor de Idiomas (detect())
- Compreender as classificações de confiança
- Destruir uma sessão (destruir())
- Enviar comentários
- Confira também
Introdução
Para obter informações introdutórias sobre a API do Detetor de Idiomas, veja:
Utilizar a API do Detetor de Idiomas com a API do Microsoft Translator
Para facilitar a tradução de texto fornecido pelo utilizador para outro idioma, utilize a API do Detetor de Idiomas em conjunto com a API do Microsoft Translator.
Para saber mais sobre a API do Microsoft Translator, veja: Traduzir texto com a API do Microsoft Translator.
Disponibilidade da API do Detetor de Idiomas
A API do Detetor de Idiomas está disponível como pré-visualização do programador nos canais Microsoft Edge Canary ou Dev, a partir da versão 147.0.3897.0. Para transferir um canal de pré-visualização do Microsoft Edge (Beta, Dev ou Canary), aceda a Tornar-se um Microsoft Edge Insider.
Benefícios da API do Detetor de Idiomas
A API do Detetor de Idiomas utiliza um modelo de deteção de idioma que é executado no mesmo dispositivo onde são utilizadas as entradas e saídas do modelo (ou seja, localmente). Esta abordagem tem os seguintes benefícios em comparação com as soluções baseadas na cloud:
Custo reduzido: Não existem custos associados à utilização de um serviço de deteção de idioma na cloud.
Independência da rede: Para além da transferência do modelo inicial, não existe latência de rede ao utilizar esta API para detetar idiomas e a API também pode ser utilizada quando o dispositivo está offline.
Privacidade melhorada: A entrada de dados no modelo nunca sai do dispositivo e não é recolhida para preparar outros modelos de IA.
O modelo de deteção de idioma é transferido na primeira vez que a API é utilizada no Microsoft Edge e, posteriormente, é partilhado em todos os sites no browser. O modelo é acedido através de uma API Web simples que não requer conhecimento de arquiteturas de terceiros e não requer conhecimentos de Inteligência Artificial (IA) ou Machine Learning (ML).
Alternativas à API do Detetor de Idiomas
Pode enviar pedidos de rede para serviços de deteção de idioma baseados na cloud com capacidades mais sofisticadas; veja Azure documentação da Linguagem de IA.
Como alternativa no dispositivo, a API prompt serve mais cenários personalizados, com um pequeno modelo de linguagem incorporado no Microsoft Edge; veja Pedir um modelo de linguagem incorporado com a API Prompt.
Aviso de isenção
Tal como outros modelos de machine learning, o modelo de deteção de idiomas no Microsoft Edge pode potencialmente produzir resultados imprecisos ou pouco fiáveis para determinadas entradas, como texto curto ou palavras simples.
Disponibilidade do modelo
É necessária uma transferência inicial do modelo da primeira vez que um site chama a API do Detetor de Idiomas. Pode monitorizar a transferência do modelo com a opção de monitor ao criar uma nova sessão da API do Detetor de Idiomas; veja Monitorizar o progresso da transferência do modelo (monitor), abaixo.
Ativar a API do Detetor de Idiomas
Para utilizar a API do Detetor de Idiomas no Microsoft Edge, defina o sinalizador da seguinte forma:
No Microsoft Edge, aceda a
edge://versione certifique-se de que está a utilizar a versão 147.0.3897.0 ou posterior do Microsoft Edge, como o canal de pré-visualização Canary ou Dev do Microsoft Edge.Para transferir um canal de pré-visualização do Microsoft Edge (Beta, Dev ou Canary), aceda a Tornar-se um Microsoft Edge Insider.
Nessa versão do Microsoft Edge, abra um novo separador ou janela e aceda a
edge://flags.Na caixa de texto Sinalizadores de pesquisa na parte superior, comece a escrever API da plataforma Web de deteção de idioma:
O seguinte sinalizador está listado:
API da plataforma Web de deteção de idiomas
Esta entrada mostra
#edge-language-detection-api(que liga aedge://flags/#edge-language-detection-api).
Em API da plataforma Web de deteção de idiomas, selecione Ativado.
No canto inferior direito, é apresentado um botão Reiniciar .
Clique no botão Reiniciar .
Veja um exemplo de trabalho
Para ver a API do Detetor de Idiomas em ação e ver o código existente que utiliza esta API:
Ative a API do Detetor de Idiomas, conforme descrito acima.
No Microsoft Edge Canary ou Dev, aceda ao ambiente de trabalho da API do Detetor de Idiomas numa nova janela ou separador.
Na faixa de informações na parte superior, marcar o status: inicialmente, lê-se: API no dispositivo e modelo disponível.
Na caixa de texto Texto a analisar , opcionalmente, pode alterar o texto.
Clique no botão Detetar idioma .
O modelo começa a detetar o idioma do texto.
O resultado é gerado na secção de resposta da página.
O resultado é apresentado:
- O nome do idioma detetado.
- A percentagem de certeza de que língua.
Veja também:
- /built-in-ai/ - Código fonte e Readme para a demonstração de playgrounds de IA incorporados.
Utilizar a API do Detetor de Idiomas
As secções seguintes são sobre a utilização da API do Detetor de Idiomas.
Verificar se a API do Detetor de Idiomas está ativada
Antes de utilizar a API do Detetor de Idiomas no código do seu site, marcar que a API está ativada, ao testar a presença do LanguageDetector objeto:
if (!LanguageDetector) {
// The Language Detector API is not available.
} else {
// The Language Detector API is available.
}
Verificar se o modelo pode ser utilizado (availability())
A API do Detetor de Idiomas pode ser utilizada se o modelo e o runtime do modelo tiverem sido transferidos pelo Microsoft Edge.
Para marcar se a API puder ser utilizada, chame 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 browser a carregar o modelo de deteção de idioma na memória, para que o modelo possa ser utilizado. Antes de poder detetar o idioma, crie uma nova sessão com o create() método :
// Create a Language Detector session.
const session = await LanguageDetector.create();
Para personalizar a sessão do modelo, pode transmitir 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 linguagem. Se existirem determinados idiomas que precisa de detetar para o seu caso de utilização, inclua-os na opção expectedInputLanguages . Isto permite que o Microsoft Edge transfira recursos adicionais, se necessário, para uma 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 que é utilizada para monitorizar o progresso da transferência do modelo. Veja Monitorizar o progresso da transferência do modelo (monitor), abaixo. |
Monitorizar o progresso da transferência do modelo (monitor)
Pode seguir o progresso da transferência do modelo com a opção monitor . Isto é útil quando o modelo ainda não foi totalmente transferido para o dispositivo onde será utilizado, para informar os utilizadores do seu site de que devem aguardar.
// 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 Detetor de Idiomas (detect())
Depois de criar uma sessão de modelo, pode detetar o idioma do texto. A API do Detetor de Idiomas fornece o detect() método para detetar 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 devolve uma promessa que é resolvida para uma matriz de resultados de deteção de idioma. Cada resultado é um objeto com as seguintes propriedades:
| Propriedade | Descrição |
|---|---|
detectedLanguage |
A etiqueta de idioma BCP 47 do idioma detetado (por exemplo, "en" para inglês, "es" espanhol ou "und" indeterminado). |
confidence |
Um número entre 0,0 e 1.0, que indica o nível de confiança da deteção. Os valores mais elevados indicam uma maior confiança. |
Os resultados são ordenados pela confiança por ordem descendente, com o idioma mais provável em primeiro lugar. A última entrada na matriz de resultados é sempre a linguagem indeterminada ("und"). O undetermined membro na matriz representa a percentagem de confiança de que o texto não está em nenhum dos idiomas que o modelo conhece.
Compreender as classificações de confiança
As classificações de confiança devolvidas pela API do Detetor de Idiomas têm as seguintes características:
Intervalo: Cada classificação de confiança é um número entre 0 (confiança mais baixa) e 1 (maior confiança), inclusive.
Resultados ordenados: Os resultados são ordenados da confiança mais alta para a mais baixa.
Filtragem de baixa confiança: Os idiomas com confiança muito baixa são automaticamente filtrados para reduzir o ruído. Normalmente, a confiança baixa é inferior a 1%, ou menos confiante do que a categoria "indeterminada".
Soma das pontuações: A soma de todas as classificações de confiança pode ser inferior a 1, porque os idiomas de baixa probabilidade são omitidos dos resultados.
Destruir uma sessão (destroy())
Depois de detetar idiomas, destrua a sessão. Isto permite que o browser saiba que já não precisa do modelo de idioma, para que o modelo possa ser descarregado da memória.
Pode destruir uma sessão de duas formas diferentes:
- Ao utilizar o
destroy()método . - Ao utilizar um
AbortController.
Os detalhes encontram-se abaixo.
Destruir uma sessão ao chamar destroy()
Para destruir uma sessão ao chamar destroy() com uma LanguageDetector sessão:
const session = await LanguageDetector.create();
// Later, destroy the session by using the destroy method.
session.destroy();
Destruir uma sessão com AbortController
Para destruir uma sessão ao criar um AbortController objeto, crie uma LanguageDetector sessão e, em seguida, 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 saber mais sobre:
- O intervalo de cenários para os quais pretende utilizar a API do Detetor de Idiomas.
- Quaisquer problemas com que se depare com a API ou o modelo de deteção de idioma.
- Se outras APIs incorporadas específicas de tarefas seriam úteis.
Para enviar feedback sobre os seus cenários e as tarefas que pretende alcançar, adicione um comentário ao problema de feedback da API do Detetor de Idiomas.
Se reparar em problemas ao utilizar a API, comunique-o no repositório.
Também pode contribuir para o debate sobre a conceção da API do Detetor de Idiomas, no repositório do Grupo de Trabalho do W3C Web Machine Learning.
Confira também
- Traduzir texto com a API do Microsoft Translator
- Pedir um modelo de linguagem incorporado com a API Prompt
- Resumir, escrever e reescrever texto com as APIs de Assistência de Escrita
- Corrigir a gramática e a ortografia com a API do Proofreader
Obter o Microsoft Edge:
- Torne-se um Microsoft Edge Insider - transfira um canal de pré-visualização do Microsoft Edge (Beta, Dev ou Canary).
GitHub:
Azure documentos:
Repositório de demonstrações:
- Playground da API do Detetor de Idiomas
- /built-in-ai/ - Código fonte e Readme para a demonstração de playgrounds de IA incorporados.