"Oye Siri, dime la previsión del fin de semana"

"Oye Cortana, ¿cuánto son 3 millas en kilómetros"

"Alexa, revisa mis mensajes de voz de mamá"

"Oye Google, ¿cuáles son los mejores restaurantes de Nueva Orleans?"

Todos las hemos escuchado de una forma u otra, en casa de un amigo, en un restaurante, sentados en un coche o en la comodidad de nuestros hogares. Las interacciones naturales de la voz humana con su dispositivo conectado favorito son ya una realidad y han dejado de ser el reino de la ciencia ficción. El punto clave aquí es la interacción con voces humanas, utilizando un lenguaje cotidiano y natural, y no un lenguaje de programación. La repentina proliferación de asistentes inteligentes y dispositivos de automatización de consumo capaces de descifrar nuestra voz ha sido posible gracias a los avances en el procesamiento del lenguaje natural.

¿Qué es el procesamiento del lenguaje natural?

Aunque hay muchas definiciones de procesamiento del lenguaje natural (o PLN), la más sencilla en mi opinión es la capacidad de las máquinas para analizar, comprender y generar el habla humana. Esto se consigue combinando patrones y prácticas de la informática, la inteligencia artificial y la lingüística computacional(Wikipedia)

¿Cómo funciona todo esto?

Figure 1 - NLP Mechanics Flow Diagram

Figura 1 - Diagrama de flujo de la mecánica de la PNL[/caption]

Aunque experimentar los resultados de una pregunta formulada a su asistente digital favorito pueda parecer magia, cada vez se ejecuta una serie lógica de acontecimientos (Figura 1). Cada vez que haces una pregunta a través de un enunciado hablado como "Alexa, comprueba los mensajes de voz de mamá", ocurre lo siguiente en el motor de PNL de tu dispositivo:

1. Reconocimiento de voz: el primer paso es digitalizar la voz y, a continuación, descomponer o analizar el lenguaje natural de la pregunta hablada para que una máquina pueda identificar cada palabra. Debido a los diferentes acentos del habla, a la entonación no reconocida o incluso al ruido ambiental de fondo, la precisión de esta traducción puede no ser siempre del cien por cien.

Históricamente, esto también suponía un reto porque los ordenadores no eran lo suficientemente rápidos como para seguir el ritmo del habla hablada y realizar el reconocimiento. Los motores modernos de PLN aprovechan los servicios informáticos altamente escalables de la nube y aplican algoritmos de reconocimiento automático del habla (ASR) para descomponer rápidamente las frases en las palabras que las componen y poder analizarlas. Uno de estos servicios, con el que funciona Alexa, se llama Amazon Lex, y ahora existen servicios en la nube de los principales proveedores: Microsoft Cognitive Services, Google Cloud Natural Language.

Estos servicios no solo ofrecen a los desarrolladores de aplicaciones un servicio en la nube integrado para realizar ASR, sino que también llevan a cabo el análisis y la puntuación estadística de confianza necesarios para comprender las palabras y determinar la intención.

2. Comprensión del Lenguaje Natural - Este paso se produce inmediatamente después de que las palabras hayan sido analizadas y traducidas al lenguaje de la máquina. La comprensión del lenguaje natural (NLU) es, con diferencia, el paso más difícil de la cadena de acontecimientos de la PLN, porque el sistema tiene que entender la intención de la pregunta original del usuario. Esto se complica por el hecho de que el lenguaje natural hablado puede ser ambiguo, por lo que los algoritmos NLU deben utilizar diversos modelos de análisis léxico para desambiguar las palabras. Por ejemplo, "comprobar" puede ser un sustantivo (por ejemplo, la cuenta de un restaurante) o un verbo (por ejemplo, comprobar algo). La cosa se complica aún más cuando se incluyen números en el discurso. Por ejemplo, "2017" puede ser el año 2017 o el número dos mil diecisiete.

Con un motor de PNL como Lex, los desarrolladores crean reglas para "entrenar" a las aplicaciones a aplicarlas correctamente para determinar la intención del usuario. Por supuesto, cada persona hace las preguntas de forma diferente. Por eso es posible que varias preguntas tengan la misma intención. Por ejemplo, los siguientes enunciados podrían tener todos la misma intención, que es reproducir los mensajes de voz de mi madre:

"Alexa, revisa mis mensajes de voz de mamá" "Alexa, reproduce los mensajes de voz de mi madre" "Alexa, reproduce los mensajes de voz de mamá "Alexa, me gustaría escuchar los mensajes de voz de mamá "Alexa, reproduce los mensajes de mamá

Una vez entendida la intención, se puede iniciar una acción, como ejecutar comandos para filtrar y recuperar los mensajes de voz de mi bandeja de entrada dejados por mi madre y luego reproducirlos en el altavoz de mi dispositivo. En la era del Internet de las Cosas, en la que muchos dispositivos están conectados, estos comandos podrían activar la ejecución de servicios de otros dispositivos o aplicaciones.

3. Generación de lenguaje natural - Las conversaciones rara vez son unilaterales y, para dar respuestas interactivas, los ordenadores deben ser capaces de comunicarse con el usuario. Es lo que se conoce como Generación de Lenguaje Natural (NLG). Piense que funciona en la dirección opuesta a lo que acabamos de describir. NLG toma el lenguaje de la máquina, utilizando un conjunto de reglas gramaticales y léxico, y lo traduce en palabras y frases normales. Normalmente, el paso final es sintetizar el texto utilizando un modelo lingüístico en audio para que se parezca a una voz humana en un proceso llamado texto a voz. Si volvemos a utilizar AWS como ejemplo, existe un servicio en AWS llamado Polly que facilita la conversión de texto a voz realista, de modo que los agradecimientos o las preguntas adicionales pueden transmitirse de vuelta con voz natural.

¿Adónde nos llevará?

Aunque ha habido un aumento de la demanda y los usos de la PNL en las aplicaciones de consumo, no ha ocurrido lo mismo con las aplicaciones empresariales. En las aplicaciones de consumo, la amplitud del vocabulario y la complejidad de las intenciones son menores, empezando por las tareas cotidianas. Sin embargo, en las empresas, el vocabulario necesario es mucho más amplio si se tiene en cuenta el lenguaje del dominio del tema, y la complejidad de las intenciones varía enormemente en función de la aplicación empresarial. La ambigüedad inherente a los enunciados en el mundo empresarial puede ser compleja. Para ilustrarlo, pensemos en un enunciado sencillo de un usuario del tipo "Muéstrame los servicios que más rinden en el primer trimestre". Es bastante ambiguo: ¿qué es "Q1", "top" o "performing" y piense en las posibles formas alternativas de formular esa pregunta (permutación de enunciados)?

Lo emocionante es que las mismas tecnologías de PNL y marcos de desarrollo que han evolucionado para ofrecer productos de consumo como Echo y Google Home también están disponibles para los desarrolladores de aplicaciones empresariales. Y a medida que estos marcos evolucionan y se perfeccionan, el conjunto de modelos de NLU creados también se pone a disposición de las aplicaciones empresariales para que se basen en ellos.

Una nueva dimensión de la experiencia de usuario y la interacción está surgiendo en el espacio de las aplicaciones empresariales, de nuevo impulsada por las expectativas de las aplicaciones de consumo. Con el tiempo, las experiencias de usuario por voz, que son más naturales para los usuarios, transformarán la experiencia de usuario de forma paralela a la disrupción introducida por las interfaces gráficas de usuario. Es un momento apasionante para desarrollar nuevas aplicaciones empresariales