Assistente Virtual

Assistentes virtuais para negócios em Portugal: o que são, preços, como funcionar com WhatsApp

Assistentes Virtuais

Detetar o idioma do cliente sem confundir nomes e moradas

Para detetar o idioma do cliente sem confundir nomes e moradas, o princípio é simples: separe o texto livre dos campos estruturados. A deteção automática de idioma só deve correr sobre as frases que o próprio cliente escreveu, nunca sobre nomes próprios, moradas, números de telefone ou documentos de identificação. O erro típico nos assistentes virtuais em Portugal não é classificar “francês” em vez de “português”; é responder no idioma errado porque o sistema tratou uma morada ou um nome como se fossem língua. A documentação técnica do serviço de deteção de idioma do Azure explica a origem do problema: o serviço devolve sempre uma pontuação de confiança entre 0 e 1 para cada texto analisado, e essa pontuação é o único sinal de que a classificação merece confiança (Microsoft Learn). Ignorar essa pontuação é a causa mais comum de respostas disparatadas.

Porque o detetor de idioma erra

Os detetores automáticos foram treinados para texto corrido, não para formulários. Uma mensagem de marcação como “João Ferreira, Rua de Santa Catarina 132, Porto, queria mudar a hora” mistura nome, morada e pedido numa única frase. O apelido “Ferreira” existe em português e em espanhol; “Santa Catarina” também. O classificador devolve um idioma, mas a margem é duvidosa. Segundo a documentação do Azure Language, o conteúdo ambíguo baixa as pontuações de confiança, e existe um caso-limite ainda mais frequente no atendimento: uma mensagem constituída apenas por números devolve (Unknown), porque o analisador não tem língua nenhuma para classificar (Microsoft Learn). Um número de telefone, um NIF ou um código postal enviados sozinhos não dizem ao sistema em que língua deve responder.

O erro de idioma é percebido pelo cliente como descuido, não como falha técnica. Quando o assistente responde em inglês a alguém que escreveu em português, o passo seguinte costuma ser um pedido de pessoa humana — uma transição que convém desenhar bem, como se explica no artigo sobre como o assistente virtual deve admitir que não sabe.

Nomes e moradas não são idioma

Na prática, cada tipo de conteúdo que chega numa conversa merece um tratamento diferente:

O que o cliente envia Risco na deteção Ação recomendada
Nome próprio ou apelido (“Ferreira”, “Silva”) Existe em português e em espanhol; confiança baixa Não classificar; manter o idioma do histórico do contacto
Morada com números Mistura palavras e algarismos Guardar como campo estruturado, sem deteção de idioma
Telefone, NIF ou código postal sozinhos Sem texto classificável Validar o formato; nunca decidir idioma a partir daqui
Frase completa escrita pelo cliente Deteção fiável na generalidade dos casos Detetar e confirmar quando a confiança for baixa

Há também uma razão legal para não usar nomes e moradas como material de classificação. O Regulamento Geral de Proteção de Dados assenta no princípio de que as pessoas devem ter controlo sobre os seus dados pessoais; cada campo enviado a um serviço externo de deteção é um tratamento adicional que tem de estar previsto na base jurídica declarada e na política de privacidade (EUR-Lex). Enviar para análise só a frase necessária, e não a ficha inteira do cliente, reduz o risco de tratamento excessivo. Se o problema já aconteceu e o cliente se sentiu mal atendido, o percurso adequado é o descrito no artigo sobre reclamações: 5 etapas do assistente virtual à pessoa.

Confirmar em vez de adivinhar

Em Portugal, o caso mais frequente não é português contra inglês, mas português europeu contra português do Brasil. Nas mensagens de modelo da Cloud API do WhatsApp, os códigos de idioma que distinguem pt_PT de pt_BR existem como entradas separadas, o que obriga a uma escolha explícita: responder com a variante errada produz textos com “você” e “agendamento” que soam estranhos a um cliente de Lisboa ou do Porto (Meta para Programadores). O procedimento recomendado tem cinco passos:

  1. Classifique a entrada: campo estruturado (nome, morada, número) ou texto livre (a frase do cliente). Só o segundo vai para deteção.
  2. Detete o idioma apenas na frase escrita pelo cliente, ignorando o que veio de formulários ou de fichas anteriores.
  3. Defina um limiar de confiança por baixo do qual o assistente pergunta “Prefere continuar em português?” em vez de trocar de idioma sozinho.
  4. Guarde a preferência de idioma por contacto, mas por escolha declarada pelo cliente, nunca inferida do nome próprio ou da morada.
  5. Registe as conversas em que a confirmação falhou e reveja-as ao fim de duas semanas para afinar o limiar.

Checklist antes de ativar

  • A deteção está desativada para nomes, moradas, telefones e números de documento?
  • Existe um limiar de confiança definido e uma pergunta de confirmação para o caso duvidoso?
  • A mensagem de confirmação existe nas variantes pt_PT e pt_PT apenas, ou cobre também inglês e espanhol quando faz sentido para o negócio?
  • A política de privacidade menciona o envio de texto a um serviço de deteção de idioma?
  • A preferência de idioma é registada por escolha do cliente e não por inferência do nome?
  • Alguém da equipa revisa mensalmente as respostas dadas no idioma errado?

Detetar bem o idioma é menos uma questão de inteligência do modelo e mais uma questão de higiene do fluxo: quanto menos dados pessoais entrarem no classificador, menos erros de idioma e menos exposição de dados. Comece por cortar nomes e moradas do texto analisado e o resto do sistema fica mais simples de afinar.

Fontes