Interfaces de voz y asistentes
1) Qué es VUI y cuándo se necesita
La interfaz de voz (VUI) es una forma de interactuar a través del habla: asistentes en la aplicación/navegador, altavoces inteligentes, IVR/telefonía, voz en auto y TV.
Adecuado para: escenarios ocupados por manos (conducción, cocina), comandos rápidos («encender»..., «llamar»...), accesibilidad, navegación por menús complejos.
No es adecuado para: selección visual precisa (directorios, tablas), entrada larga de datos estructurados sin pantalla.
2) Modelo de diálogo: intentes, entidades y contexto
Intent (objetivo): lo que el usuario quiere: 'Crear _ pago', 'Comprobar _ saldo'.
Ranuras/entidades: parámetros del objetivo: suma, moneda, destino, fecha.
Contexto/diálogo-estate: lo que ya se sabe es que aclaramos dónde ramificamos.
Reglas de confirmación: lo que confirmamos explícitamente (dinero, datos personales).
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) Patrones de diálogo
1. El comando con una frase: «Rellena la cuenta de 500 grivnias de Apple Pay». → confirmación → acción.
2. Diálogo aclaratorio: «¿A quién traducir?» → «¿Por qué cantidad?» → confirmación.
3. Asistente paso a paso: scripts complejos con comprobación de datos y paso a paso.
4. Reconocimiento de intención + NLU-parafraz: soporte para formulaciones variativas.
5. Ayuda rápida: «¿Cuáles son los límites de salida?» - respuesta corta + «Mostrar en pantalla».
4) Formulaciones: voz y tono
La voz de la marca: confiada, tranquila, amigable; sin diminutos y «chistes» en pasos críticos (pagos, seguridad).
Max. longitud de réplica del asistente: 1-2 frases; respuestas largas - romper y sugerir «Continuar?»
Las preguntas son específicas: «¿A qué cantidad reponer?» en lugar de «¿Qué hacemos después?»
5) Confirmaciones, seguridad y ética
Una dura confirmación de las acciones sensibles: pregúntale los parámetros clave ("Recarga 500 grivnas con tarjeta... ¿4581? »)
Doble confirmación para operaciones irreversibles.
Sin voz de datos personales completos.
Posibilidad de cancelación/reversión: «Cancelar», «Detener», «Cancelar último paso».
6) Errores e incomprensión
Tipos de fallas y respuestas:- Un error de ASR (no hablaba): "No hablaba de la cantidad. Por favor, repita"
- NLU-incomprensible: "No entendí la petición. Puedo depositar fondos en la cuenta o mostrar el saldo. ¿Qué vas a elegir?"
- No hay datos/restricción: "Este método no está disponible en su área. ¿Nombrar otras opciones?"
- Red/servicio: "Ahora no hay comunicación con el servicio de pago. ¿Repetir en un minuto?"
Regla: un máximo de 2 intentos de cuestionamiento → ofrecer una alternativa (por pantalla/persona).
7) Velocidad y Barge-in (interrupción)
Latencia TTFB: objetivo <300-500 ms; si por más tiempo es una señal corta «em-mm »/earcon.
Barge-in: el usuario puede interrumpir el asistente en cualquier momento; procesamos la interrupción correctamente.
Streaming de la respuesta: empezamos a hablar antes de que todo el texto esté listo, pero sin romper el sentido.
8) TTS/ASR y SSML: cómo decir «humanamente»
Pronunciación de números/monedas/fechas: formatos locales («p 'yatsot grivna», «15 hoja de hoja»).
Pausas y golpes: SSML '<break time = «300ms »/>', '<emphasis level =« moderate »>'.
Lectura de abreviaturas/códigos: '<say-as interpretes-as = "characters'> IBAN </say-as>'.
Velocidad y timbre: no más rápido que 0. 9 × básico para que sea legible.
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) Multimodalidad: voz + pantalla
Consejos visuales: tarjeta de confirmación, lista de métodos, progreso.
Hand-off a la pantalla: "He enviado opciones a la pantalla. Seleccione un método"
Sincronización de estado: la voz inicia, la pantalla completa (y viceversa).
10) Multilingüismo y localización
Definición automática del idioma por sesión/configuración, no por una sola frase.
Glosario de términos: terminología única para RU/UA/TR/EN.
Formatos regionales de números/monedas/fechas, pronunciación de nombres/topónimos.
Cambiar en el diálogo: «Ir a decorar» es un comando explícito.
11) Disponibilidad (A11y) en voz
La confirmación de las acciones es clara y breve.
Repetición bajo petición: «Repetir» pone voz a la última réplica.
Volumen/velocidad: «Habla más lento/más silencioso/más fuerte».
Para personas con discapacidad auditiva: subtítulos/transcripciones en pantalla, señales de vibro.
Para infracciones de voz: métodos de entrada alternativos (botón, presets).
12) Confidencialidad, lógica y cumplimiento
Wake-word y el indicador de grabación: un estado explícito de «escucho».
Procesamiento local, si es posible; de lo contrario, minimizar los datos.
Enmascarar fragmentos sensibles en los logs (PAN, IBAN, dirección) y edición automática de audio.
Plazos de retención y derecho de eliminación a petición; Configuración «No guardar historial».
Límites de edad/control parental (voces/equipos infantiles).
Transparencia: "Estoy grabando este comando para mejorar el reconocimiento. Puede desactivar la configuración"
13) Persona asistente
Nombre/persona: una breve biografía, un campo de competencias que sabe/no sabe.
Tono por situaciones: convencional (amistoso), crítico (neutral), formativo (solidario).
Borders: «No doy consejos financieros, pero puedo mostrar una referencia».
14) Métricas de calidad VUI
Nota de reconocimiento Intent (precisión NLU).
Slot fill rate и avg. turns to fill.
ASR WER/CER (error de reconocimiento de palabras/caracteres).
Task Success / Completion rate и Time-to-Complete.
Escalation rate (por operador/pantalla).
Barge-in usage и Latency p95.
Satisfacción del usuario/CSAT después del script.
Abandonment en el paso.
15) Pruebas de voz y QA
Conjuntos de frases de prueba: sinónimos, formas habladas, acentos, errores.
Ruidos del entorno: calle/auto/cocina, diferentes micrófonos.
Diálogos-réplicas: escenarios reproducibles, conjunto de oro para regresión.
Wizard-of-Oz en sus primeras etapas.
Escenarios legales: cómo el asistente responde a solicitudes potencialmente peligrosas.
16) Integración con el producto (casos de iGaming)
Balance/depósito/retiro: "¿Qué balance? ", "Reponer en 200 UAH"..., "Estado de retiro".
Bonos/Misiones: "¿Qué bonos están disponibles? ", "Activa el cashback semanal".
Juego responsable: «Establece un límite de depósito de 1000 UAH por semana».
Estado de los sistemas: «¿Hay trabajos técnicos ahora?»
17) Anti-patrones
Largos monólogos de asistente sin posibilidad de interrumpir.
Confirmaciones implícitas de transacciones monetarias.
La incontestable «no entendió» sin una pista de opciones.
Sonidos/jingles de reedición que interfieren con la percepción.
Intenta resolver problemas con «voz» donde se necesita una selección visual detallada.
18) Plantillas de Proms y Respuestas
Refinamiento de ranura (suma):- Asistente: «¿Por qué cantidad depositar en la cuenta?»
- Usuario: «Quinientos».
- Asistente: "¿Reponer 500 grivnas? Confirme, por favor"
- "Confirma la recarga de 500 grivnas con tarjeta... 4581. Decir "confirmo" o "cancelar""
- "No hablé sobre el método de pago. Puedo sugerir: Apple Pay, tarjeta, criptomoneda. ¿Qué vas a elegir?"
- "Envié los métodos disponibles a la pantalla. Seleccione y diga "listo" para continuar"
19) Ejemplos de patrones SSML
Números/Moneda y 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>
Énfasis en una palabra importante:
xml
<speak>
<emphasis level = "moderate "> Caution </emphasis>: Verification is required for output.
</speak>
Pronunciación del acrónimo:
xml
<speak>
Recharge with <say-as interpret-as = "characters"> IBAN </say-as>?
</speak>
20) Hojas de cheques
Diálogo/contenido antes del lanzamiento
- Por cada intent, una lista de sinónimos/variantes de frases.
- Cada ranura obligatoria es una pregunta clara.
- Acciones sensibles - con confirmación explícita.
- Hay una alternativa corta «en pantalla «/« operador ».
- Réplicas ≤ 2 frases; largo - con "¿Continuar? ».
Técnica y calidad
- Apoyado por barge-in y volver al diálogo después de la interrupción.
- La latencia p95 es normal; hay earcons en el retraso.
- SSML está configurado: pausas, números, golpes.
- Los registros están despersonalizados/camuflados; la gestión de la historia está ahí.
- Se ha comprobado el multilingüismo y los formatos locales.
A11y y seguridad
- «Repetir/Hablar más lento/Más fuerte» funcionan.
- No se anuncian datos personales/de pago completos.
- Hay una cancelación/reversión de la acción por voz.
- Se han verificado los límites de edad y regionales.
21) Marco de especificación de diálogo (plantilla)
Propósito del script: (por ejemplo, «Depósito ≤ 90 segundos»)
Intentes y sinónimos: una lista de frases de ejemplo.
Слоты: `amount` (req, confirm), `currency` (default=UAH), `method` (enum).
Reglas de confirmación: para qué valores/umbrales se requiere una repetición.
Opciones de error: ASR, NLU, sin servicio - textos + ramas.
Salidas multimodales: qué tarjetas/pantallas mostramos.
Registros y privacidad: qué y cómo enmascaramos, TTL de almacenamiento.
Parche final
Primero intents/ranuras/reglas de confirmación, luego textos.
Habla brevemente, deja interrumpir y cancelar.
Configure SSML, los formatos locales y el tono por contexto.
Mantenga la privacidad y la lógica bajo control.
Mida las métricas Intent/Slot/ASR, Task Success y Latencia.
Siempre tener una alternativa en la pantalla y el camino a la persona.