Hace unos días me encontré un vídeo de Xabi Uribe-Etxebarría acerca de los asistentes de voz y Sherpa. En realidad, discrepo con la tesis fundamental del vídeo afirmando que los asistentes de voz llegarán a ser cómo nuestra conciencia (luego contaré mis razones) pero el vídeo me impresionó igualmente y la evolución última de los asistentes no los hace menos útiles hoy, ni tampoco resta su capacidad expansión desde que vienen pre-instalados en los smartphones. Tanto Google cómo Amazon se enzarzaron en 2018 en agresivas campañas navideñas abaratando precios para colocar centenares de millones de dispositivos Echo y Google Home en los hogares.

Cómo en otros artículos anteriores, voy a empezar comentando lo menos técnico y más asequible para todos los públicos e iré profundizando paulatinamente en la tecnología para que cada cual pueda abandonar la lectura cuando prefiera.

Penetración de los asistentes de voz

Vayamos primero con las cifras. Un informe de Kantar and Sonar estima que actualmente 600 millones de personas usan un asistente de voz al menos una vez por semana. Estados Unidos, Alemania y España llevan la delantera en cifras de penetración.

Amazon declaró a finales de 2018 que había vendido en total más de 100 millones de dispositivos Echo, se estima que Googe lleva vendidos 52 millones de dispositivos Google Home y hay más de otros 100 millones de Baidu DuerOS en Oriente.

Las cuotas de mercado podría variar según vayan entrando en el mercado nuevos competidores, pero lo que parece claro es que el porcentaje de gente usando asistentes de voz sigue aumentando vertiginosamente.

Para qué se usan los asistentes de voz

Yo soy un escéptico tecnológico. Por consiguiente, todavía no he conseguido entusiasmarme con ningún uso de los asistentes de voz pues creo que son cómo las apps que informan sobre el tiempo, que la gente se ha acostumbrado a usar porque han perdido la capacidad de evaluar las condiciones meteorológicas mirando por la ventana. Sin embargo, las navidades pasadas tuve una epifanía: mi tío cogió su iPad y le preguntó de viva voz: “¿pueden los jilgueros vivir en cautividad?” Mi tío tiene acento andaluz ergo la consulta sonó más bien cómo: “¿pueden lo hilguero viví en cautividá?” Estaba esperando a que me pidiese ayuda pero, sorprendentemente para mi, encontró lo que buscaba sin dificultad. Me sorprendí porque, según una encuesta sobre asistentes de voz con 1.000 personas en Gran Bretaña, casi la mitad de los británicos reciben respuestas extrañas porque el asistente de voz no entiende su acento. Descubrir esto me hizo sentirme menos culpable de mis limitaciones para entender el inglés oriundo de ciertos condados.

La anécdota no es puntual. La mayoría de las interacciones con los asistentes de voz son para buscar información en Internet o hacer preguntas sobre productos o sobre cómo llegar a un sitio. Con la particularidad de que el primer resultado de la consulta es probablemente el único que el usuario tendrá en consideración.

Aunque se intuye que hay una buena oportunidad para el comercio electrónico la tendencia hacia el aumento de compras mediante interfaces de voz aún no está del todo clara. Un informe de Accenture afirma que al 60% de los británicos que tienen un Echo le gustaría usarlo para comprar, pero sólo el 7% ha hecho alguna compra mediante el interfaz de voz. También existen evidencias de que los interfaces de voz promueven el up selling y las compras recurrentes, cosa que no es de extrañar, ya que cualquier interfaz que facilite el proceso de compra y lo haga más ubicuo tendrá sin duda el efecto de incrementar las ventas.

Por el momento, los colectivos que parecen mejor público objetivo para los asistentes de voz son cuatro: 1) adultos ocupados con tareas, 2) niños que aún no han aprendido a leer bien, 3) personas mayores con dificultades para ver bien las letras en un smartphone y dificultades para entender cómo se usan las aplicaciones y 4) personas con discapacidad visual.

El 25% de los usuarios se llevan el loro a la cama, lo cual adivino que es para que les despierte en la mañana. El 15% lo usan para mantener a sus hijos entretenidos.

Fuera de casa, el uso más común de los asistentes de voz que llevan los smartphones es en el automóvil.

El mayor obstáculo para la penetración es que la gente intenta evitar el uso los asistentes de voz en público.

Para qué no sirven los asistentes de voz

Algunos tienen la visión de los asistentes de voz cómo sistemas que eventualmente evolucionarán hacia convertirse en un eficiente ayudante para completar las necesarias tareas contextuales en nuestra vida diaria. Yo personalmente opino que esa creencia está basada en un entendimiento erróneo de lo que es la inteligencia artificial en realidad.

Voy a exponer lo que es en el fondo la I.A. con la mayor brevedad que me es posible.

Consideremos la siguiente tabla de valores:

x y 3 5 8 10 14 16 37 39

Hasta un niño preescolar conocedor sólo los rudimentos más básicos de la aritmética podría darse cuenta de que la tabla contiene los valores de una función f(x) tal que f(x)=x+2 Eso es en esencia lo que hace la inteligencia artificial, averigua cual es la función que convierte los valores de la columna de la izquierda en valores de la columna de la derecha. Lo que sucede es que los datos pueden ser infinitamente más complicados. Sólo por poner un ejemplo: supongamos que estamos intentando hallar el significado de una frase de cinco palabras sobre un vocabulario de veinte mil palabras. Entonces la cantidad de frases posibles es 3,2 × 10²¹ muchas de ellas sin significado, o con un significado que no se puede desambiguar.

La inteligencia artificial, actualmente, no comprende ni razona, ni entiende el significado real ni mucho menos es capaz de aconsejarnos sabiamente. Sólo identifica patrones y encuentra relaciones.

He escrito en un post anterior sobre los desafíos de la incertidumbre en el lenguaje natural. Sería estupendo si pudiésemos decir:

— “Alexa, si hay tráfico en la Autopista Tres envía un correo electrónico a los asistentes de mi próxima reunión avisándoles que llegaré quince minutos tarde”.

Muy bien pero ¿Cual es el umbral de intensidad del tráfico tiene que haber en la Autopista Tres (medido en cantidad de vehículos por hora que pasan por un punto) para que Alexa ejecute este mandato? ¿Y qué sucede si el tráfico aumenta súbitamente debido a un accidente cuando el conductor ya ha rebasado el lugar del accidente? Lo que la máquina debería entender es realmente cual es nuestra intención y reinterpretar lo anterior en algo así cómo:

— “Alexa, monitoriza constantemente mi posición GPS durante los próximos treinta minutos y si calculas que voy a llegar más de cinco minutos tarde a mi reunión de las nueve entonces envía un correo electrónico a los asistentes a la reunión [de las nueve] avisándoles de mi retraso estimado”.

Hay incluso quienes sugieren que los asistentes de voz deberían llamar a la policía automáticamente si detectan que se está produciendo un crimen.

Además, cómo explica María del Carmen Martínez Carrillo en sus artículos Knowledge and Conversation y Repair Sequences existen muchos problemas abiertos en las conversaciones hombre-máquina; cómo el que los humanos a menudo expresan sus deseos indirectamente con frases del estilo:

— “¿Tienes apuntes de la clase del viernes?”

cuando realmente quieren decir

— “¿Puedes prestarme tus apuntes de la clase del viernes?”.

O también que en las conversaciones en lenguaje natural se producen muchos errores que los interlocutores reparan sobre la marcha:

— “¿Sabes dónde está esa cervecería en la cual venden cervezas a 50€?”

— “¿Quieres decir cervezas a 50¢?”

Es posible entrenar a la inteligencia artificial para que sea sensible al contexto y pueda seguir la secuencia de la conversación. Por ejemplo, con una pregunta:

— “¿Quién fue el undécimo presidente de Estados Unidos?”

seguida de otra pregunta

— “¿Entre qué años gobernó ese señor?”

y que el asistente entienda que “ese señor” se refiere a James Knox Polk. Hoy en día Google puede hacer esto, Siri todavía no.

Falta aún un largo camino por recorrer. Las utilidades existentes actualmente son en el fondo sólo sofisticados reconocedores de patrones y el modelo de desarrollo no es escalable para manejar conversaciones (en el apartado dedicado a la tecnología utilizada por los asistentes de voz explicaré por qué). Hay decenas de miles de aplicaciones a medida para Alexa (conocidas cómo Skills) pero más de la mitad de las carecen de evaluaciones de usuario, menos de diez tienen más de mil evaluaciones y diez de las quince primeras en el ranking sirven para reproducir música ambiente gracias a que alguien tuvo la fantástica idea de que además de aceptar comandos de voz los asistentes contasen con altavoces de calidad.

En los próximos años asistiremos a una mejora vertiginosa en los interfaces de lenguaje natural porque el número de patrones es grande pero no infinito y porque al proporcionar herramientas cómo el Skills de Alexa los proveedores podrán aprovecharse del crowsourcing para mejorar el entendimiento de la máquina y sus respuestas interactivas.

¿Nos espían constantemente los asistentes de voz?

Por ahora, los asistentes de voz no nos espían todo el tiempo pero lo harán. Actualmente, los asistentes escuchan permanentemente en busca de una frase de inicio cómo “OK Google” o “Hey Cortana” A partir de ese momento empiezan a enviar toda la conversación que sigue a un servicio de grabación y análisis en la nube en el cual es posible revisar y eliminar conversaciones grabadas. No obstante, tanto Amazon cómo Google han solicitado sendas patentes de algoritmos que identifican palabras clave e inician un análisis de lo que se está diciendo para detectar oportunidades comerciales. Conversaciones cómo “Cariño, recuerda que el mes que viene caduca el seguro del coche y hay que renovarlo” son oro puro para los departamentos comerciales de las aseguradoras.

Incluso ya han empezado a aparecer los equivalentes de los bloqueadores de anuncios y rastreadores web cómo Project Alias, un «parásito» Open Source DIY basado en Raspberri Pi que impide a Amazon Echo o Google Home escuchar cuando no están siendo utilizados.

En Estados Unidos hay al menos un caso conocido, en el cual la policía solicitó las grabaciones de un asistente de voz para investigar un crimen. Finalmente el asunto se resolvió porque el sospechoso accedió voluntariamente a permitir el acceso policial a las grabaciones. Pero eso no sienta ningún precedente legal en cuanto a si Amazon o Google deberían entregar la información de que disponen a las autoridades ante la sospecha de una vulneración de la ley. También hay otro caso, por cierto, en que la policía solicitó las lecturas de un medidor de agua para investigar si la escena de un crimen había sido lavada con anterioridad a informar sobre lo sucedido.

De un tiempo a esta parte, las empresas dominantes en software web y móvil han demostrado sistemáticamente su total falta de respeto por la privacidad de los usuarios. Los sucesivos escándalos en Facebook han enmascarado que Google y Amazon y todos los que pueden hacen el mismo uso y abuso de tanta información cómo puedan recabar sobre los usuarios.

¿Pueden los asistentes de voz ser perniciosos para los niños?

El efecto que los asistentes de voz pueden tener en el comportamiento y desarrollo infantil es aún desconocido. Las preocupaciones varían desde temer que el niño atribuya rasgos antropomórficos al dispositivo hasta que el niño piense que Alexa es un dios todopoderoso.

Algunos padres se quejaron de que los asistentes no requieren ser tratados con amabilidad y esto podría fomentar el uso de lenguaje abusivo. La respuesta de Amazon y Google fue crear “palabras mágicas” que proporcionan refuerzos positivos al usuario cuando dice “por favor” y otras expresiones de cortesía.

Otra cuestión abierta es que los padres querrán que los asistentes de voz den respuestas diferentes a los niños de las que les darían si fuesen adultos. Por ejemplo, supongamos que un niño de 4 años pregunta: «Alexa ¿quién es Papá Noel?«.

¿Pueden los asistentes de voz ser sexistas?

Creo que hoy en día es imposible tratar ningún tema sin que aparezca la cuestión de género. Los asistentes de voz están en la picota por fomentar presuntamente actitudes machistas. ¿La razón? Pues simplemente porque tienen voz de mujer. Durante las pruebas con usuarios, todas las empresas cómo Amazon, Apple, Google o Microsoft probaron voces femeninas, masculinas y neutras (técnicamente es posible sintetizar una voz en la que no se pueda identificar claramente el género). Los usuarios de prueba expresaron mayoritariamente su preferencia por las voces femeninas y cómo consecuencia las empresas le pusieron a los asistentes voz de mujer. La explicación es que se identifica un asistente de voz con una diligente secretaria o una abnegada esposa que organiza el día y se ocupa de las tareas contextuales. Sin embargo, IBM le puso voz masculina a su sistema experto de diagnóstico médico basado en Watson y le hizo hablar con frases cortas y asertivas. En este caso por la imagen de un médico es eminentemente una figura masculina que hable con frases cortas y asertivas.

Cuales son las tecnologías en las que se basan los asistentes de voz

La primera versión de Dragon NaturallySpeaking capaz de convertir un dictado continuo de voz a texto data de 1997. Siri ha estado entre nosotros desde el iPhone 4S lanzado en 2011 con tecnología proveniente de Nuance.

Para que los asistentes domésticos de voz pudieran convertirse en un artículo de consumo masivo se requería la convergencia de cuatro tecnologías:

• Micrófonos de campo lejano cómo los que llevan Google Home y Amazon Echo capaces de separar la voz del ruido de fondo. Incluyendo no sólo el hardware, que no es ninguna novedad, sino también nuevos algoritmos para discernir y seguir la voz por una habitación.

• Suficiente ancho de banda, el cual se ha expandido en los hogares gracias a la fibra óptica y LTE.

• Capacidad de procesamiento en la nube.

• Inteligencia artificial para el procesamiento de lenguaje natural (NLP).

También se necesitan, por supuesto, los servicios que utiliza el asistente, evidentemente las capacidades de búsqueda de Google Home no existirían si no estuviese el buscador de Google por detrás.

Conversión de voz a texto

Los primeros reconocedores de voz estaban basados en Modelos Ocultos de Márkov (HMM) y necesitaban horas de entrenamiento antes de poder reconocer bien la voz del usuario. A partir de 2009 empezaron a usarse las redes neuronales profundas (DNN) para el reconocimiento de voz. Entre lo más novedoso a fecha de este artículo en redes neuronales está la línea de investigación en Deep Jointly-Informed Neural Networks (DJINN).

Reconocimiento de emociones en la voz

Otra característica técnica que pueden incorporar los asistentes de voz son los Hybrid Emotion Inference Models (HEIM). Se trata de un modelo de machine learning que combina asignación latente de Dirichlet (LDA) para detectar temas en un texto y memoria bi-direccional y multi-dimensional de largo a corto plazo (LSTM) para identificar las emociones a través de las características acústicas de la voz. Es decir, el HEIM detecta de qué estamos hablando y cual es nuestro estado emocional sobre el asunto.

Aplicaciones para crear chatbots

Existen decenas de herramientas para crear chatbots. Por citar sólo las más conocidas Alexa Skills Kit, Amazon Lex, DialogFlow, Microsft Bot Framework, Watson Assistant.

Por cuestión de espacio, aquí voy a recorrer sólo Alexa Skills Kit.

La diferencia principal entre Alexa Skills Kit y Amazon Lex es que Skills está específicamente ligado a Amazon Echo y Alexa mientras que Lex soporta tanto voz cómo texto y permite ser desplegado en smartphones y aplicaciones de mensajería.

Un custom skill para Alexa está compuesto de cuatro partes:

Invocation (invocación) Utterance (declaración) Intents (intención) Slots (entidades)

La invocación simplemente la palabra clave “Alexa” con la que se inicia el diálogo.

La declaración es la frase enunciada por el usuario, por ejemplo “cuéntame cual es el tiempo previsto para el veintiséis de mayo en Pernambuco”.

La intención es la descripción de acciones que la máquina debe emprender en respuesta a la declaración, cómo empezar a hablar de la temperatura, humedad, etc.

Las entidades representan información específica en la declaración relevante para elegir la intención correcta, en este caso se indica que de todos los días y lugares posibles se requiere sólo la predicción para el veintiséis de mayo en un estado brasileño.

No es necesario especificar todas las variantes de la declaración, Alexa se encarga de ello, pero aún así es fácil intuir que este mapeo de declaraciones a intenciones no es práctico para definir flujos en diálogos largos y complejos cómo puede apreciarse en el siguiente ejemplo de diálogo para pedir un servicio de Uber.

El modelo es demasiado simple, y Amazon lo ha intentado hacer aún más fácil con la introducción de los Alexa Blueprints que son plantillas para crear cosas como un juego de preguntas y respuestas o un cuestionario.

Procesamiento de Lenguaje Natural (NLP)

Existen innumerables start-ups que están intentado ir más allá del reconocimiento de patrones y palabras clave para dar autentico significado a las frases del usuario. Además de las empresas cómo MeaningCloud que llevan décadas con esa misión.

El proceso (hasta dónde yo sé) consiste básicamente en lo siguiente:

Preproceso . Identificar el idioma. Separar las palabras. Cada idioma tiene necesidades específicas. Por ejemplo, en alemán hay que descomponer las palabras cómo «freitagmorgen» que significa viernes por la mañana. También se aplican otras técnicas que no detallaré aquí tales cómo la lematización y el stemming para reducir el número de palabras. Separar las frases.

. Macro entendimiento . Categorizar el contenido. Por función, intención, propósito, área temática, sentimiento o cualquier otra categoría que se considere relevante. Agrupar el contenido. Para identificar los temas principales del discurso y/o descubrir nuevos temas y similaridades entre textos. Evaluar el sentimiento general

. Micro entendimiento . Extraer las entidades. Nombres de personas y empresas, acrónimos, cantidades numéricas, palabras clave, etc. Crear listas. Por ejemplo cuando se citan varias ciudades. Extraer hechos. Que se puedan almacenar en una base de datos de forma estructurada. Establecer relaciones entre los hechos. Imputar sentimientos a las entidades. Atribuir frases a personas. Quién dijo qué. Resolver referencias. ¿A qué persona mencionada previamente se refiere el pronombre «ella»?

.

Para el micro entendimiento existen básicamente tres estrategias:

De arriba a abajo (top-dowm). Identificar la estructura de la frase: sujeto, verbo, objeto, predicado, adjetivos, adverbios. De abajo a arriba (bottom-up). Crear un gran número de patrones ad hoc y atribuir un significado a cada uno. Estadística. Similar a de abajo a arriba pero casa los patrones usando una base de datos generada mediante juegos de entrenamiento

Cada estrategia tiene sus ventajas y desventajas.

La estrategia de arriba a abajo sirve para procesar patrones nunca vistos anteriormente pero para funcionar medianamente bien todavía requiere una considerable cantidad de identificación de identificación de patrones tras el barrido inicial de arriba a abajo.

La estrategia de abajo a arriba requiere un mantenimiento constante de actualización de patrones conocidos.

La estrategia estadística requiere de un conjunto de entrenamiento bastante grande.

Herramientas populares

Frameworks para NLP

Apache Open NLP. Contiene muchos componentes y es bastante potente y complejo. Principalmente de estrategia de arriba a abajo.

Apache UIMA. Tiende hacia un enfoquede abajo a arriba y estadístico. No es fácil de implementar y requiere mucha programación.

GATE. Estrategia de abajo a arriba configurable, más sencillo que UIMA, aunque todavía requiere que sean programadores quienes definan los patrones.

SaaS para NLP

Post relacionados:

Internet de las Cosas es Gran Hermano

Google cederá los datos de sus usuarios a los gobiernos