Solo ha pasado un año desde que Microsoft compró la empresa de inteligencia artificial conversacional Semantic Machines, compuesta por investigadores y desarrolladores que trabajaron en Dragon NaturallySpeaking, Siri (antes y después de la compra de Apple) y productos de idiomas y traducción de Google, y los combinó con el equipo detrás de Cortana. .

En ese momento, el cofundador y director ejecutivo, Dan Roth, nos dijo que esperáramos desarrollos relativamente pronto: "Nuestro enfoque y la dirección que estamos tomando tendrán un gran impacto, y no será algo que lleve años y años. ser visible para el mundo exterior. »

VER: Excel Ideas: una herramienta inteligente de visualización de datos (República Tecnológica)

Dan Roth, cofundador y director ejecutivo de Semantic Machines.
Imagen: Microsoft

El motor conversacional del que habló Satya Nadella en Build que convierte a Cortana en una interfaz conversacional para Microsoft 365, y que también estará disponible para los desarrolladores a través de Bot Framework (y a través de cosas como Cognitive Services y productos de soporte de Dynamics 365) se basa en el trabajo que Semantic Machines lo ha hecho. Podrá hacer frente a largas conversaciones continuas con interrupciones, y podrá comprender múltiples áreas de conocimiento en lugar de tener que decir explícitamente sobre qué habilidad desea preguntar.

"Hoy en día, los tipos de experiencias que la gente puede tener con estos sistemas son bastante limitados", dijo Roth. “Por lo general, lo que las personas encuentran si usan una interfaz de idioma hoy en día es que dicen algo, el sistema entendería bien o mal, y la sesión se reinicia de todos modos. Realmente no existe la noción de una conversación sostenida en la que se construye un contexto que puede ser modificado por el usuario o el sistema, con el tipo de aclaraciones, eliminación de ambigüedades y correcciones que desearía.

Una conversación de muestra con un agente de IA que puede manejar varias rondas.
Imagen: Máquinas Semánticas/Microsoft

El problema es que las interfaces "conversacionales" existentes solo pueden interactuar sobre temas predefinidos que ya les han enseñado, y tienen un número limitado de acciones asociadas a estas tareas porque deben mapearse previamente.

"Estos son sistemas bastante lineales en los que tiene una capa delgada de aprendizaje automático en la parte superior, que generalmente se puede considerar como un clasificador de intenciones y lo que hace es tomar algún lenguaje y decide a partir de un inventario de intenciones predeterminadas '¿qué hacer? creemos que esta persona está pidiendo?' ¿Están preguntando sobre una canción o están pidiendo un informe meteorológico o un podcast o noticias?”, explicó Roth.

“De todos modos, es una lista cuantificada de cosas que un equipo de programación ha definido de antemano. Si el idioma que está utilizando es diferente del idioma en el que se entrenó el sistema, entonces en esa capa no tiene suerte. Aunque es uno de los patrones en los que se entrenó, solo obtendrá una respuesta predeterminada del sistema. Como resultado, los tipos de experiencias que puedes tener son bastante planos. Puede solicitar que las cosas se enciendan o apaguen, puede solicitar ciertos tipos de información. Pero realmente no puede sumergirse en esta información: no puede hacer preguntas de refinamiento y no puede saltar de un área a otra.

No es tanto que las habilidades de los agentes de voz estén codificadas como habilidades separadas, a menudo por equipos separados, aunque eso no ayuda. Es la gran complejidad de cualquier cosa que cualquiera pueda pedir. "Entras en esta explosión combinatoria muy rápidamente, con la cantidad de diferentes tipos de contacto y lenguaje y lo que se llama 'subespecificación': la forma en que las personas se refieren a las cosas en una especie de abreviatura en medio de una conversación", dijo Roth. “Es un espacio extremadamente complejo y combinatorio, y va mucho más allá de lo que este tipo de sistema puede manejar. No pueden hacer cosas donde un humano diga "No estoy seguro de lo que me dijiste, ¿puedes repetirlo o decirlo de otra manera?", o aclarar o "¿quisiste decir x o y?" – él realmente no tiene la habilidad de hacer eso.

Índice

Datos más ricos, modelos más ricos

El nuevo motor conversacional puede manejar la complejidad utilizando lo que, según Roth, son representaciones de datos mucho más ricas y modelos de aprendizaje automático mucho más ricos. Una gran parte de eso es crear un sistema que pueda aprender por sí mismo, en lugar de requerir que los desarrolladores creen todos los modelos y asignaciones de lo que la gente podría decir a lo que quiere hacer. "Hemos ideado métodos para permitir que el sistema escriba de manera eficiente sus propias capacidades sobre la marcha, por lo que no se limita a los tipos de experiencias que los desarrolladores prevén. a priori. Es un modelo de aprendizaje automático muy flexible que puede generalizarse y es clave para poder manejar la cola larga de tipos de combinaciones, solicitudes y acciones que tendrá cada usuario. Se trata de pasar de un mundo donde las cosas están programadas a un mundo donde las cosas se aprenden y la funcionalidad del sistema se puede aprender.

Eso no significa que el motor pueda descarrilarse como el bot Tay de Microsoft, porque el aprendizaje aún ocurre en un entorno controlado, señaló Roth. "Él no aprende en la naturaleza, por lo que no tiene el potencial para ir y aprender cosas que no queremos que aprenda, es más un enfoque supervisado".

Permitir que los agentes de voz aprendan las funciones significa que el motor conversacional puede adaptarse a muchos más dominios que un agente que debe programarse para cada dominio e interacción. "Esto abre la posibilidad de que este sistema sea capaz de manejar muchas más cosas de las que la gente inherentemente quiere que haga, sin que el equipo de programación tenga que sentarse y escribir código que ejemplifique esta funcionalidad", dijo Roth.

El motor conversacional podrá recordar detalles como la gestión de gastos comerciales y las decisiones que haya tomado en conversaciones anteriores.
Imagen: Máquinas Semánticas/Microsoft

Aunque Roth dice que los métodos utilizados son nuevos, compara el enfoque de trasladar la traducción automática de escribir reglas a mano al uso del aprendizaje automático para crear funciones de traducción. "Realmente se trata de aplicar métodos probados de aprendizaje automático al espacio de las interfaces de lenguaje", explicó.

"El idioma es demasiado complicado, la cola es demasiado larga, el rango de expresión humana es demasiado grande. Es simplemente imposible tener suficientes reglas escritas para lograr un sistema satisfactorio. Hoy en día, las interfaces lingüísticas para teléfonos inteligentes o parlantes inteligentes todavía viven en el mundo equivalente de los sistemas de traducción automática basados ​​en reglas, donde cada función está esencialmente escrita a mano por programadores, y nos estamos moviendo hacia este enfoque integral de aprendizaje automático de extremo a extremo, donde en lugar de intentar predecir o anticipar todo lo que todos harán quiere hacer, usted produce los datos de los que puede aprender. Tiene que producir los datos que igualarán toda la riqueza de la expresión humana con toda la complejidad de la funcionalidad de back-end que la gente quiere, eliminando todo ese middleware y dejando que un sistema aprender estas conexiones. Entendimos cómo conectar el lenguaje a sistemas anclados, orientados a tareas y similares a agentes. »

El sistema puede aprender las diferentes formas en que las personas expresan el mismo comando, dijo Roth. “Manejamos cosas como la variación léxica en este canal: 'enciende la luz', 'enciende la lámpara' y 'brilla aquí' son casi lo mismo. El sistema aprenderá por sí solo a agrupar los valores de forma que entienda que es el correcto. Aprende por sí mismo a partir de esta canalización cómo establecer esas relaciones importantes entre el lenguaje y la secuencia de acción subyacente que se necesita. »

Esto se puede personalizar para diferentes usuarios. "El sistema interactúa con todo tipo de API de back-end y algunas API que puede conectar tendrían información sobre las preferencias de un usuario en particular, por lo que en realidad puede condicionar o reducir lo que se llama 'sesgo deductivo' sobre cómo tomar varias decisiones en el sistema a través de esta información de personalización”, dijo Roth.

La misma canalización que maneja estas variaciones léxicas también puede manejar varios idiomas, lo que significa que Microsoft podrá admitir la gran cantidad de idiomas que necesitan los clientes empresariales. "No hay dependencia del idioma en el sistema, es fundamentalmente independiente del idioma", dijo Roth. "Desde nuestra perspectiva, tiene un idioma y puede ser cualquier idioma que se presente, y el sistema puede aprender qué acciones tomar en respuesta a ese idioma. Todo es aprendizaje profundo, no se basa en palabras clave ni nada por el estilo. Para nosotros, otros idiomas pueden verse como formas extremas de paráfrasis: el alemán para algo realmente no es muy diferente a otra forma de decir algo en inglés.

Conexiones más inteligentes

No tener que averiguar la secuencia precisa de comandos y referencias de habilidades para que un asistente de voz ejecute el comando deseado hace que las interfaces de voz sean más poderosas. Pero también deben ser más inteligentes al conectar las diferentes cosas que dice un usuario. “No se trata solo de poder manejar las variaciones léxicas, sino también el orden en que la gente quiere hacer las cosas. Algunas personas se vuelven lineales, pero otras quieren explorar un concepto y luego volver a algo para realizar una tarea”, dijo Roth.

VER: La guía del líder de TI sobre el futuro de la inteligencia artificial (Tech Pro Research)

Si le pides a tu agente de voz que reserve un restaurante y no hay mesa a la hora que quieres, el agente puede sugerirte otras horas y contactar a tus invitados para ver si esta hora te conviene o buscarte otro restaurante. Pero si desea volver con el agente de voz una hora después de decirle que continúe y haga la reserva, y cambia de opinión sobre dónde cenar, el agente debe poder saber que está hablando de algo que ya ha dicho. hecho por usted, encuentre los detalles, realice los cambios y sepa quién necesita obtener la actualización.

Esto podría extenderse a trabajar en múltiples dispositivos en diferentes momentos, como ya se puede hacer con muchos servicios de Office 365. En el video conceptual que Microsoft mostró Build, el asistente de voz reprogramó y canceló reuniones y presentó los documentos correctos para las personas en la primera reunión.

“Imagínese trabajar mientras viaja en su vehículo y conduce hasta su escritorio, abre su computadora portátil y el sistema sabe dónde lo dejó y continúa con sus pensamientos e ideas”, dijo Roth. . "Del mismo modo, cuando regresa a casa, tener todos los dispositivos informáticos ambientales en su hogar es plenamente consciente del contexto de dónde estaba y en qué está trabajando y qué podría ser de su interés, ya sea en ese momento o días o semanas después."