2.3. Ideas principales de la interacción basada en la conversación
2.3.2. La interacción como conversación
El concepto de lenguaje natural está muy unido a lo que veremos a continuación sobre la interacción como conversación.
Una lengua natural es la forma de lenguaje que tiene como objetivo la comunicación y que está dotada de una sintaxis. Es cualquier lengua que ha evolucionado de manera natural en los humanos a través de su uso y sin que su evolución haya sido planificada.
El procesamiento del lenguaje natural tiene el objetivo de hacer posible que el sistema comprenda y procese la información que un usuario expresa mediante el lenguaje humano. El usuario no tiene que memorizar instrucciones ni diálogos, sino que puede comunicarse de manera efectiva con el sistema simplemente conociendo el idioma con el que trabaja.
Un caso concreto de aplicación del procesamiento del lenguaje natural son los asistentes virtuales de los dispositivos móviles como Siri o Google Assistant. Por medio del entrenamiento, el sistema reconoce al usuario. Esto permite que estos sistemas puedan ser utilizados, incluso, para reconocer la identidad de los usuarios en entornos seguros.
Esto no es nuevo, y antes de que existieran asistentes de voz ya teníamos sistemas con los cuales se podía interactuar por medio de lenguaje natural de manera escrita. Pero tan importante es la interacción con el sistema, como el mensaje y el objetivo con el que interactuamos con un sistema.
Los límites de la interacción basada en conversación son difusos. ¿Hasta qué punto estamos hablando de conversar y no de dar instrucciones? Por ello hemos de diferenciar entre dos estilos principales de interacción basada en conversación: instructing y conversing.
El instructing es un modelo conceptual de interacción que permite describir un sistema interactivo a partir de las órdenes que da el usuario. Es un modelo que genera interacciones de manera rápida y eficiente y que, por lo tanto, es muy útil cuando el usuario tiene que llevar a cabo acciones repetitivas o tareas de manera sucesiva.
Un ejemplo muy bueno de este tipo de interacción son las interfaces de línea de órdenes, donde los usuarios pueden dar instrucciones con el sistema escribiendo líneas de texto a través de un teclado. Las órdenes que el usuario puede dar son muy concretas y normalmente están basadas en un lenguaje muy limitado que el usuario tiene que conocer y recordar antes de usar. Es habitual que este tipo de interacción sea mediante el typing, porque las instrucciones son mucho más concretas y el usuario puede escribir exactamente lo que el sistema entenderá.
El modelo de interacción de conversing se diferencia del de instructing principalmente en la relación del usuario con el sistema. Este modelo permite describir un producto interactivo como si estuviera llevando a cabo una conversación con el usuario. Aquí la bidireccionalidad es clave, puesto que el sistema no solo obedece órdenes, sino que pretende ser un interlocutor válido para el usuario.
Esto no quiere decir que el usuario pueda usar un lenguaje natural y que el sistema lo entienda. La comunicación puede estar limitada a un cierto número de frases que el usuario puede elegir, pero, a diferencia del instructing, el usuario no tiene que llevar siempre la iniciativa.
Hablar de conversación en este contexto puede ser muy abstracto y hay que definir cuáles son los elementos que tiene una conversación entre humanos para implementarlos en interacciones conversacionales con sistemas. Por suerte, en 1976 R. S. Nickerson ya establecía estas características.
Si queréis saber más sobre las diferentes características que Nickerson otorga a los sistemas conversacionales, os recomendamos que volváis a leer la ficha sobre conversing en el Design Toolkit.
Lo que nos interesa tener claro en este punto es que cuando nos referimos a interfaces conversacionales hay que diferenciar cuándo se está intentando mantener una conversación y cuándo simplemente se dan instrucciones al sistema. Un elemento clave para hablar de conversación es la bidireccionalidad, que haya un canal de ida y vuelta cuando se conversa con el sistema.
Cuando penséis en la diferencia entre instructing y conversing, recordad la diferencia entre un programa con línea de órdenes, donde escribiríamos comandos concretos para que el sistema realizara las acciones que le ordenamos, y un bot conversacional, donde se simularía tener una conversación con el sistema.
Aun así, ahora mismo no podemos hablar de ningún sistema que simule perfectamente una conversación entre dos humanos. La falta de ciertos elementos en la conversación nos hace ver que quien manda en este tipo de interacción es siempre el usuario. Imaginaos cómo sería que Alexa interactuara con vosotros por iniciativa propia, que os hiciera una pregunta sin vuestro input de usuario o que os interrumpiera mientras estáis hablando.
Por otro lado, hay un elemento muy importante de la comunicación que veremos en los apartados siguientes y que añade una capa extra de significado que actualmente los sistemas conversacionales no tienen: la comunicación no verbal.