El siguiente artículo está extraído y modificado del artículo oficial de Google AI.

Un objetivo a largo plazo de la interacción humano-computadora ha sido permitir a las personas tener una conversación natural con las computadoras, como lo harían entre sí. En los últimos años, hemos sido testigos de una revolución en la capacidad de las computadoras para comprender y generar un habla natural, especialmente con la aplicación de redes neuronales profundas (por ejemplo, búsqueda por voz de Google, WaveNet). Aún así, incluso con los sistemas más modernos de hoy en día, a menudo es frustrante tener que hablar con voces computarizadas que no entienden el lenguaje natural. En particular, los sistemas telefónicos automatizados todavía están luchando para reconocer palabras y comandos simples. No se involucran en un flujo de conversación y obligan a la persona que llama a ajustarse al sistema en lugar de que el sistema se ajuste a la persona que llama.

Ayer Google anunció Google Duplex, una nueva tecnología para tener conversaciones naturales y llevar a cabo tareas del “mundo real” por teléfono. La tecnología está dirigida a completar tareas específicas, como la programación de ciertos tipos de citas. Para tales tareas, el sistema hace que la experiencia conversacional sea lo más natural posible, permitiendo que las personas hablen normalmente, como lo harían con otra persona, sin tener que adaptarse a una máquina.

Uno de los puntos clave de la investigación fue restringir Duplex a dominios cerrados, que son lo suficientemente estrechos como para probar de manera extensa la tecnología. Duplex solo puede llevar a cabo conversaciones naturales después de haber sido entrenado profundamente en tales dominios. No puede llevar a cabo conversaciones generales.

Duplex programando una cita de peluquería

Duplex reservando una mesa en a un restaurante

Mientras suena natural, estos y otros ejemplos son conversaciones entre un sistema informático totalmente automático y negocios reales.

La tecnología Google Duplex está diseñada para que suene natural, para que la conversación sea cómoda. Para nosotros es importante que los usuarios y las empresas tengan una buena experiencia con este servicio, y la transparencia es una parte clave de eso. Queremos ser claros acerca de la intención de la convocatoria para que las empresas entiendan el contexto. Vamos a experimentar con el enfoque correcto en los próximos meses.

Conducir Conversaciones Naturales

Existen varios desafíos en la conducción de conversaciones naturales:

  • El lenguaje natural es difícil de entender, el comportamiento natural es difícil de modelar, las expectativas de latencia requieren un procesamiento rápido y la generación de un sonido natural, con las entonaciones apropiadas, es difícil.
  • Cuando las personas hablan entre sí, usan oraciones más complejas que cuando hablan con las computadoras. A menudo se corrigen a sí mismos a mitad de la oración, son más prolijos de lo necesario, u omiten palabras y se basan en el contexto.>
  • También expresan una amplia gama de intenciones, a veces en la misma oración, por ejemplo, “Así que de martes a jueves estamos abiertos 11 a 2, y luego volvemos a abrir 4 a 9, y luego viernes, sábado, domingo … o viernes , El sábado estamos abiertos de 11 a 9 y luego el domingo estamos abiertos de 1 a 9.
Ejemplo de declaración compleja

En el habla natural, las personas hablan más rápido y con menos claridad que cuando hablan con una máquina, por lo que el reconocimiento de voz es más difícil y vemos tasas de error de palabras más altas. El problema se agrava durante las llamadas telefónicas, que a menudo tienen fuertes ruidos de fondo y problemas de calidad de sonido.

En conversaciones más largas, la misma oración puede tener significados muy diferentes según el contexto. Por ejemplo, al reservar reservas “Ok para 4” puede significar el momento de la reserva o el número de personas. A menudo, el contexto relevante puede tener varias oraciones, un problema que se agrava por el aumento de la tasa de errores en las llamadas telefónicas.

Decidir qué decir es una función tanto de la tarea como del estado de la conversación. Además, hay algunas prácticas comunes en las conversaciones naturales: protocolos implícitos que incluyen elaboraciones (“para el próximo viernes“, “¿para cuándo?”, “Viernes para la próxima semana, el día 18”), sincronizaciones (“¿me oyes?“). , interrupciones (“el número es 212-” “¿puedes repetirlo?“), y pausas (“¿puedes esperar? [pausa] ¡gracias!” significado diferente para una pausa de 1 segundo frente a 2 minutos).

Enter Duplex

Las conversaciones de Google Duplex suenan naturales gracias a los avances en la comprensión, la interacción, el tiempo y el habla.

En el núcleo de Duplex se encuentra una red neuronal recurrente (RNN) diseñada para hacer frente a estos desafíos, construida utilizando TensorFlow Extended (TFX). Para obtener su alta precisión, entrenamos el RNN de Duplex en un corpus de datos de conversación telefónica anonimizados. La red utiliza la salida de la tecnología de reconocimiento automático de voz (ASR) de Google, así como las características del audio, el historial de la conversación, los parámetros de la conversación (por ejemplo, el servicio deseado para una cita o la hora actual) y más. Capacitamos nuestro modelo de comprensión por separado para cada tarea, pero aprovechamos el corpus compartido en las tareas. Finalmente, utilizamos la optimización de hiperparámetros de TFX para mejorar aún más el modelo.

El sonido entrante se procesa a través de un sistema ASR. Esto produce texto que se analiza con datos de contexto y otras entradas para producir un texto de respuesta que se lee en voz alta a través del sistema TTS.

Duplex manejando interrupciones
Duplex elaborando respuesta (pausa)
Duplex respondiendo a una sincronización

Sounding Natural

Google usa una combinación de un motor concatenativo de texto a voz (TTS) y un motor de síntesis TTS (usando Tacotron y WaveNet) para controlar la entonación dependiendo de las circunstancias.

El sistema también suena más natural gracias a la incorporación de disfluencias del habla (por ejemplo, “hmm” y “uh” s). Estos se agregan cuando se combinan unidades de sonido muy diferentes en el TTS concatenativo o cuando se agregan esperas sintéticas, lo que permite que el sistema indique de manera natural que todavía está procesando. (Esto es lo que hacen las personas cuando recogen sus pensamientos). En los estudios de usuario, encontramos que las conversaciones que usan estas disfluencias suenan más familiares y naturales.

Además, es importante que la latencia coincida con las expectativas de las personas. Por ejemplo, después de que las personas dicen algo simple, por ejemplo, “¿Hola?”, Esperan una respuesta instantánea y son más sensibles a la latencia. Cuando detectamos que se requiere baja latencia, utilizamos modelos más rápidos y de baja confianza (por ejemplo, reconocimiento de voz o punteo). En casos extremos, ni siquiera esperamos nuestra RNN, y en su lugar usamos aproximaciones más rápidas (usualmente junto con respuestas más vacilantes, como haría una persona si no entendiera completamente a su contraparte). Esto nos permite tener menos de 100ms de latencia de respuesta en estas situaciones. Curiosamente, en algunas situaciones, descubrimos que en realidad fue útil introducir más latencia para que la conversación sea más natural, por ejemplo, cuando respondemos a una oración realmente compleja.

Funcionamiento del sistema

El sistema Google Duplex es capaz de llevar a cabo conversaciones sofisticadas y completa la mayoría de sus tareas de forma totalmente autónoma, sin intervención humana. El sistema tiene una capacidad de autocontrol que le permite reconocer las tareas que no puede completar de forma autónoma (por ejemplo, programar una cita inusualmente compleja). En estos casos, señala a un operador humano, que puede completar la tarea.

Para entrenar el sistema en un nuevo dominio, usamos capacitación supervisada en tiempo real. Esto es comparable a las prácticas de capacitación de muchas disciplinas, en las que un instructor supervisa a un alumno mientras hace su trabajo, brinda orientación según sea necesario y se asegura de que la tarea se realice en el nivel de calidad del instructor. En el sistema Dúplex, los operadores experimentados actúan como instructores. Al monitorear el sistema ya que hace llamadas telefónicas en un nuevo dominio, pueden afectar el comportamiento del sistema en tiempo real según sea necesario. Esto continúa hasta que el sistema se desempeña en el nivel de calidad deseado, momento en el que la supervisión se detiene y el sistema puede realizar llamadas de forma autónoma.

Beneficios para empresas y usuarios

Las empresas que dependen de reservas de citas respaldadas por Duplex y aún no cuentan con la tecnología de sistemas en línea, pueden beneficiarse de Duplex al permitir que los clientes reserven a través del Asistente de Google sin tener que cambiar ninguna práctica diaria o entrenar empleados. El uso de Duplex también podría reducir las ausencias a las citas al recordarles a los clientes sobre sus próximas citas de una manera que permita una cancelación o reprogramación fácil.

Duplex llamando a un restaurante

En otro ejemplo, los clientes a menudo llaman a las empresas para solicitar información que no está disponible en línea, como horas de operación durante las vacaciones. Duplex puede llamar al negocio para solicitar información sobre el horario de atención y hacer que la información esté disponible en línea con Google, reduciendo el número de llamadas que reciben las empresas y, al mismo tiempo, haciendo que la información sea más accesible para todos. Las empresas pueden operar como siempre lo han hecho, no hay una curva de aprendizaje o cambios que hacer para beneficiarse de esta tecnología.

Duplex solicitando los horarios de festivos

Para los usuarios, Google Duplex facilita las tareas compatibles. En lugar de hacer una llamada telefónica, el usuario simplemente interactúa con el Asistente de Google, y la llamada se realiza completamente en segundo plano sin la participación del usuario.

Un usuario le pide al Asistente de Google una cita, que luego el Asistente planifica haciendo que Duplex llame al negocio.

Otro beneficio para los usuarios es que Duplex permite la comunicación delegada con los proveedores de servicios de manera asincrónica, por ejemplo, solicitando reservas fuera de horario o con conectividad limitada. También puede ayudar a abordar la accesibilidad y las barreras del idioma, por ejemplo, para permitir que los usuarios con discapacidad auditiva o los usuarios que no hablan el idioma local realicen tareas por teléfono.

Caso Real

Este verano, comenzaremos a probar la tecnología Duplex en el Asistente de Google, para ayudar a los usuarios a hacer reservas en restaurantes, programar citas para peluquerías y obtener horas de vacaciones por teléfono.

El siguiente caso es una llamada real de Google Duplex solicitando una reserva en un restaurante:

Finalmente, Yaniv Leviathan, líder de Google Duplex, y Matan Kalman, Gerente de Ingeniería en el proyecto, disfrutan de una comida reservada a través de la llamada de Duplex.

Permitir que las personas interactúen con la tecnología tan naturalmente como interactúan entre sí ha sido una promesa de larga data.

Google Duplex da un paso en esta dirección, haciendo realidad la interacción con la tecnología a través de conversaciones naturales en escenarios específicos. Esperamos que estos avances tecnológicos finalmente contribuyan a una mejora significativa en la experiencia de las personas en las interacciones cotidianas con las computadoras.