Interfaces de voz e assistentes
1) O que é o VUI e quando é necessário
A interface de voz (VUI) é uma forma de interagir através da fala: assistentes em aplicativo/navegador, colunas inteligentes, IVR/telefonia, voz em automóvel e TV.
Adequado para cenários (condução, cozinha), comandos rápidos («ligar»..., «ligar»...), disponibilidade, navegação em menus complexos.
Não é adequado para selecionar visualmente com precisão (diretórios, tabelas), digitar dados estruturados de longa duração sem tela.
2) Modelo de diálogo: intentes, entidades e contexto
Alvo: O que o usuário deseja: «Novo _ pagamento», «Verificar _ balanço».
Slots/entidades: parâmetros de destino: soma, moeda, destinatário, data.
Contexto/diálogo-state, o que já sabemos, o que definimos onde nos ramificamos.
Regras de confirmação: o que confirmamos claramente (dinheiro, dados pessoais).
json
{
"intent": "MakeDeposit",
"slots": {
"amount": {"type": "number", "required": true, "confirm": "sensitive"},
"currency": {"type": "currency", "required": true, "default": "UAH"},
"method": {"type": "payment_method", "required": false}
}
}
3) Pattern de diálogo
1. Com uma frase, «Adiciona a conta de 500 hryvnia Apple Pay».
2. O diálogo que esclarece: «Quem é que vai traduzir?» «Por que valor?» → confirmação.
3. Assistente passo a passo: cenários complexos com verificação de dados e passo a passo.
4. Reconhecimento de intenção + NLU redesenhado - suporte a formulações variáveis.
5. «Quais são os limites de saída?» - uma resposta curta + «Mostrar na tela».
4) Formulação: voz e tom
Voz da marca: Confiante, calmo, amigável; sem redução e «bobagem» em passos críticos (pagamentos, segurança).
Max. comprimento da réplica do assistente: 1-2 frases; respostas longas - dividir e sugerir «Continuar?»
As perguntas são específicas: «Quanto mais?» Em vez de «O que fazemos a seguir?»
5) Confirmação, segurança e ética
Confirmação rígida de acções sensíveis: converter parâmetros-chave ("Adicionar a 500 hryvnia com o cartão... 4581? »)
Dupla confirmação para operações irreversíveis.
Sem voz de dados pessoais completos.
Cancelar/revogar: Cancelar, Parar, Cancelar último passo.
6) Erros e mal-entendidos
Tipos de falhas e respostas:- Erro ASR (não ouvi): "Não ouvi o valor. Repita, por favor
- NLU-não está claro, "Não entendi o pedido. Posso pagar a conta ou mostrar o balanço. «O que escolhe?»
- Sem dados/limitação: "Este método não está disponível na sua região. Dizer outras opções?"
- Rede/serviço: "Agora não há ligação com o serviço de pagamento. Em um minuto?"
Regra: no máximo 2 tentativas de sexo → oferecer uma alternativa (para tela/pessoa).
7) Velocidade e barj-in (interrupção)
Latitude TTFB: alvo <300-500 ms; Se durar mais tempo, um «M-Mm» curto/earcon.
Barge-in: O usuário pode interromper o assistente a qualquer momento; processamos a interrupção corretamente.
A resposta é que começamos a falar mais cedo do que todo o texto está pronto, mas sem sentido.
8) TTS/ASR e SSML: como dizer «humano»
Pronunciamento de números/moedas/datas: formatos locais («p 'yuthen», «15 folhas»).
Pausas e acentos: SSML '<break time =' 300ms '/> ',' <emphasis level = 'modernate>'.
Leitura de abreviaturas/códigos: '<say-as interpret-as = «characters»> BAN </say-as>'.
Velocidade e timbre, não mais rápido do que 0. 9 x base, para ser racional.
xml
<speak>
Top up on <say-as interpret-as = "cardinal"> 500 </say-as>
<sub alias = "hryvnia"> UAH </sub>?
<break time="300ms"/>
Please confirm.
</speak>
9) Multimodalidade: voz + tela
Dicas visuais: cartão de confirmação, lista de métodos, progresso.
Hand-off para o ecrã: "Enviei opções para o ecrã. Selecione o método
Sincronizar estado: a voz inicia, a tela termina (e vice-versa).
10) Multi-linguagem e localização
Definição automática da língua por sessão/configuração, em vez de uma frase.
Glossário de termos: terminologia unificada para RU/UA/TR/EN.
Formatos de números/moedas/datas regionais, pronunciamento de nomes/topônimos.
«Ir para ukraїnsku» é um comando claro.
11) Disponibilidade (A11y) na voz
A confirmação é clara e curta.
Repetição a pedido: «Repetir» diz a última réplica.
Volume/velocidade: «Fala mais devagar/mais baixo/mais alto».
Para os mais fracos, legendas/transcrição na tela, sinais vibros.
Para falhas de voz: métodos alternativos de digitação (botão, pré-vestibulares).
12) Privacidade, logagem e complacência
Wake-word e indicador de gravação: estado explícito «escuto».
Processamento local, se possível; senão, minimizar os dados.
Camuflagem de fragmentos sensíveis em logs (PAN, IBAN, endereço) e edição automática de áudio.
Prazo de armazenamento e direito de remoção sob pedido; Configurações para não salvar histórico.
Limitações de idade/controle parental (vozes/comandos infantis).
Transparência: "Estou a gravar este comando para melhorar o reconhecimento. Você pode desativar nas configurações
13) Pessoa do assistente
Nome/pessoa: biografia curta, área de competência que sabe/não sabe.
Tom de situação: normal (amigável), crítico (neutro), aprendizado (suporte).
Limites: «Não dou conselhos financeiros, mas posso mostrar uma referência».
14) Métricas de qualidade VUI
Intent reconnition rate (precisão NLU).
Slot fill rate и avg. turns to fill.
ASR WER/CER (erro de reconhecimento de palavras/caracteres).
Task Success / Completion rate и Time-to-Complete.
Escalation rate (na operadora/tela).
Barge-in usage и Latency p95.
User Claro/CSAT após o cenário.
Abandonment em um passo.
15) Testes e QA vozes
Os conjuntos de frases de teste são sinônimos, formas de conversa, sotaques, erros.
Ruídos ambiente: rua/auto/cozinha, microfones diferentes.
Diálogo-replica: cenários reproduzíveis, golden-set para regressão.
Wizard-of-Oz em fases iniciais.
Cenários legais: como um assistente responde a pedidos potencialmente perigosos.
16) Integração com o produto (maletas iGaming)
Balanço/depósito/conclusão: "Qual equilíbrio? ", "Reabastecer em 200 UAH"..., "Status de saída".
Bónus/missões: "Quais bónus estão disponíveis? «Ativa o cachê de uma semana».
«Estabeleça um limite de depósito de 1000 UAH por semana».
Estado do sistema: «Há algum trabalho técnico?»
17) Anti-pattern
Monólogos longos de um assistente sem poder interromper.
Confirmação implícita de transações em dinheiro.
«Não percebi» sem uma pista.
Ruídos e jingles que interferem na percepção.
Tentativa de «voz» de resolver tarefas em que você precisa de uma seleção visual detalhada.
18) Modelos de rótulos e respostas
Clarificação de slot (soma):- O assistente diz, «Quanto é que posso pagar?»
- Usuário: «Quinhentos».
- Assistente, "Juntar 500 hryvnias? Confira, por favor
- "Confira a reposição de 500 hryvnias com o cartão... 4581. Dizer «confirmar» ou «cancelar»
- "Não ouvi o método de pagamento. Posso sugerir Apple Pay, mapa, criptocochelec. «O que escolhe?»
- "Enviou os métodos disponíveis para a tela. Selecione e diga pronto para continuar
19) Exemplos de pattern SSML
Números/moeda e pausa:xml
<speak>
Your current balance is
<say-as interpret-as="cardinal">1250</say-as>
<sub alias = "hryvnia"> UAH </sub>.
<break time="250ms"/>
Shall we continue?
</speak>
Ênfase em uma palavra importante:
xml
<speak>
<emphasis level = "moderate "> Caution </emphasis>: Verification is required for output.
</speak>
Pronunciamento da abreviação:
xml
<speak>
Recharge with <say-as interpret-as = "characters"> IBAN </say-as>?
</speak>
20) Folhas de cheque
Diálogo/conteúdo antes do lançamento
- Cada intent é uma lista de sinônimos/opções de frases.
- Cada slot obrigatório é uma pergunta clara.
- Ações sensíveis - com confirmação clara.
- Há uma alternativa curta «para a tela «/« operador ».
- Réplicas ≤ 2 frases; longas com "Continuar? ».
Técnica e qualidade
- Suporte barge-in e retorno à janela após interrupção.
- A latência p95 é normal; Há earcons em atraso.
- O SSML está configurado: pausas, números, acentos.
- Os logs são impessoais/disfarçados; gerenciamento do histórico.
- Multiplicidade e formatos locais testados.
A11y e segurança
- «Repetir/Fala mais devagar/Mais alto» funcionam.
- Os dados pessoais/de pagamento completos não são pronunciados.
- Há um cancelamento/revogação da ação por voz.
- Limitações de idade e região foram verificadas.
21) Estrutura de especificação de diálogo (modelo)
Alvo do cenário: (por exemplo, Depósito de 90 segundos)
Intentes e sinônimos são uma lista de exemplos de frases.
Слоты: `amount` (req, confirm), `currency` (default=UAH), `method` (enum).
Regras de confirmação: para quais valores/liminares é necessário repetir.
Opções de erro ASR, NLU, sem serviço - texto + ramais.
Saídas multimodais: quais cartões/telas exibimos.
Logs e privacidade: o que e como mascaramos, TTL armazenamento.
Barra final
Primeiro intentes/slots/regras de confirmação, depois textos.
Seja breve, deixe-me interromper e cancelar.
Configure o SSML, os formatos locais e o tom de contexto.
Mantenha a privacidade e a lógica sob controle.
Mede as métricas Intent/Slot/ASR, Task Sucess e Latidão.
Sempre ter uma alternativa para o ecrã e o caminho para o homem.