Interfaces de Usuario de Lenguaje Natural son un tipo de interfaz de usuario que permite la comunicación entre humanos y máquinas, donde los fenómenos lingüísticos, como los verbos, frases y cláusulas actúan como controles de la interfaz de usuario para crear, seleccionar y modificar datos en las aplicaciones de software.
En el diseño de la interfaz de lenguaje natural las interfaces son buscadas por su velocidad y facilidad de uso, pero además hay factores como la comprensión, que añaden una dificultad significativa, ya que podemos encontrar entradas ambiguas en el sistema.Hill, I. (1983). "Natural language versus computer language." In M. Sime and M. Coombs (Eds.) Designing for Human-Computer Communication. Academic Press., p. 1.
Las interfaces de lenguaje natural componen un área activa de estudio en el campo del procesamiento del lenguaje natural y la lingüística computacional. Una intuitiva interfaz de lenguaje natural en general es uno de los grandes objetivos activos de la Web Semántica.
Es importante tener en cuenta que las interfaces de texto son "naturales" en diversos grados, y que muchos lenguajes de programación formal (no natural) incorporan idiomas de lenguaje natural humano. Del mismo modo, un motor tradicional de búsqueda de palabras clave podría ser descrito como una interfaz de usuario de la lengua natural “superficial”.
Descripción
Un motor de búsqueda de lenguaje natural, en teoría, debería encontrar respuestas a preguntas específicas del usuario (en lugar de buscar por las palabras claves contenidas en la pregunta). Por ejemplo, cuando se realiza una pregunta como por ejemplo "Que Estado de EE.UU., tiene el impuesto de renta más alto?", Los motores de búsqueda convencionales ignoran el problema y realizan una búsqueda con las palabras clave ' Estado, renta e impuesto ". La búsqueda en lenguaje natural, por otro lado, intenta utilizar el procesamiento del lenguaje natural para comprender la naturaleza de la pregunta y luego busca y devuelve un subconjunto web que contiene la respuesta a la pregunta. Si funciona, los resultados tendrían una relevancia mayor que los resultados de un motor de búsqueda por palabra clave. Desde un punto de vista comercial, la publicidad en la página de resultados también podría ser más relevante y podría tener un potencial de ingresos más alto que el de los motores de búsqueda por palabra clave.
Historia A lo largo de la historia los lenguajes naturales han ido evolucionando, de forma paralela al desarrollo y evolución de la especie humana. En los últimos años, las aplicaciones diseñadas han intentado promover la comunicación entre humanos y máquinas por lo que se han incluido técnicas de reconocimiento de voz. Hoy en día el campo del reconocimiento de lenguaje natural está trabajando para mejorar los resultados, superando las diferentes dificultades que se comentan más adelante.
Los primeros contactos con la interfaz de usuario de lenguaje natural datan de los años sesenta y setenta de la mano del prototipo NI.Hill,Natural Language Interfaces to Databases – An Introduction, I. Androutsopoulos, G.D. Ritchie, P. Thanisch, Department of Artificial Intelligence, University of Edinburgh.
Lunar, una interfaz de lenguaje natural en conexión a una base de datos con análisis químicos de las rocas lunares de Apolo-11 por William A. Woods.
Chat-80, transforma preguntas en inglés en expresiones Prolog, las cuales fueron evaluados en relación con la base de datos Prolog. El código de la charla-80 fue ampliamente difundido, y formó la base de muchas otras interfaces experimentales Nl.
Janus, es también uno de los pocos sistemas de apoyo a las cuestiones temporales.
Intellect de Trinzic (formado por la fusión de AICorp y Aion).
Bbn’s Parlance construido sobre la experiencia del desarrollo de los sistemas Rus e Irus .
IBM Languageaccess Datatalker de Natural Language Inc. Loqui de Bim. English Wizard de Linguistic Technology Corporation.
Evolución reciente y aplicaciones actuales Desde la década del 2010 estas interfaces de usuario han experimentado una expansión notable gracias a los adelantos en procesamiento del lenguaje natural (PLN) y aprendizaje automático. Este progreso ha permitido desarrollar sistemas más robustos en la comprensión de la intención del usuario, el mantenimiento del contexto conversacional y la generación de respuestas naturales tanto en aplicaciones de voz como de texto.
La transición desde los sistemas basados en reglas y patrones hacia modelos neuronales complejos, especialmente las arquitecturas de transformadores introducidas el 2017, ha revolucionado el campo de las interfaces de lenguaje natural. Estos modelos permiten procesar secuencias de texto de manera paralela mediante mecanismos de autoatención, superando las limitaciones de los modelos recurrentes anteriores y mejorando significativamente la comprensión contextual.
Asistentes virtuales y agentes conversacionales Uno de los campos donde estas interfaces se han hecho más visibles es lo de los asistentes virtuales y agentes conversacionales (chatbots), que permiten interactuar con servicios digitales mediante instrucciones (de voz o mensajes de texto, incluso en lenguaje coloquial). Asistentes comerciales como Siri (Apple), Alexa (Amazon) y Google Assistant, así como los chatbots integrados en plataformas de mensajería, sitios web y aplicaciones móviles, utilizan reconocimiento de voz, comprensión del lenguaje natural y generación automática de respuestas para gestionar consultas de usuarios, automatizar tareas repetitivas y ofrecer apoyo al cliente de manera ininterrumpida.
La investigación reciente en agentes conversacionales distingue entre interfaces basadas en reglas, que siguen patrones predefinidos; y sistemas basados en modelos de aprendizaje profundo, incluyendo redes neuronales recurrentes (RNN), memorias en largo y corto plazo (LSTM) y, más recientemente, arquitecturas de transformadores como BERT (Bidirectional Encoder Representations from Transformers) y GPT (Generative Pre-trained Transformer) para la comprensión y generación del lenguaje. Actualmente, estos agentes pueden operar mediante texto, voz o en entornos multimodales (combinando texto, voz y elementos visuales), y se aplican en ámbitos tan diversos como la asistencia sanitaria, la educación, el e-commerce, la atención al cliente o la visualización interactiva de datos.
Tendencias recientes en diseño y experiencia de usuario En la experiencia de usuario, las interfaces de lenguaje natural se han empezado a considerar una extensión de las interfaces naturales de usuario, centradas a reducir la necesidad de menús formales, botones e instrucciones explícitas. Los usuarios esperan cada vez más disponibilidad constante, respuestas inmediatas, personalización basada en las preferencias individuales, y capacidad de cambiar de manera fluida entre modalidades de texto y voz.
Esta tendencia se acompaña de nuevos retos en privacidad de datos personales, transparencia algorítmica de los modelos generativos, gestión de las expectativas de los usuarios y paliación de los sesgos inherentes a los conjuntos de datos de entrenamiento. Además, la adopción creciente de modelos de lenguaje extenso (LLM) como GPT-3, GPT-4 y Claude plantea cuestiones éticas sobre el uso responsable de la inteligencia artificial generativa.
Procesado y reconocimiento del Lenguaje Natural
Dificultades del reconocimiento
Los sistemas de reconocimiento se puede dividir en dos tipos principales. Sistemas de reconocimiento de patrones entrenados, éste compara los patrones con otros patrones ya conocidos y clasificados para determinar la similitud y por tanto el reconocimiento. Y por otro lado tenemos los Sistemas fonéticos que utilizan el conocimiento del cuerpo humano (la producción del habla y audición) para comparar las características del lenguaje (fonética, tales como sonidos de las vocales). Los sistemas más modernos se centran en el enfoque de reconocimiento de patrones, ya que combina muy bien con las técnicas de computación actual y tiende a tener una mayor thumb|La variación inter-locutor en el nivel segmental: oscilograma de la palabra "Hola" pronunciada por un hablante femenino. thumb|La variación inter-locutor en el nivel segmental: oscilograma de la palabra "Hola" pronunciada por un hablante masculino.
Aun así existen una serie de factoreshttp://liceu.uab.es/~joaquim/speech_technology/tecnol_parla/recognition/speech_recognition/reconocimiento.html#reconocimiento_tratamiento_senal que dificultan estos procesos, ya que influyen en el tratado de la señal y por tanto en el reconocimiento. Algunos de ellos son los siguientes:
La variación fonética inter-locutor e intra-locutor: La variación inter-locutor, da lugar a que cuando se está emitiendo una secuencia concreta de palabras, con el mismo estilo de habla, y sin diferencias geográficas o sociales, aun así existan variaciones en el lenguaje. Por otro lado la variación intra-locutor, estudia qué cambia en cada persona cuando habla espontáneamente o cuando lee.
Los estilos de habla: Entre todos los hablantes existe un amplio repertorio de estilos que pueden modificar la inteligibilidad de la palabra. “El estilo depende del grado de atención del hablante hacia las características de su propia producción lingüística”(William Labov).
Las "disfluencias" en el habla espontánea: En este apartado podemos encontrar un amplio conjunto de variaciones que cambian la fluideza de la lingüística. Entre ellas encontramos las pausas, repeticiones, palabras truncadas, alargamientos vocálicos, interrupciones, frases inacabadas e incluso variaciones en la velocidad.
Las características del entorno: Por último tenemos el factor externo al locutor, y no por ello menos importante, debido a que las variaciones ambientales del entorno pueden entorpecer significativamente el procesado de la señal. En este caso nos encontramos con ruidos que pueden distorsionar o enmascarar, y cambios de sonido ambiente que pueden modificar la señal de forma transitoria.
Tratamiento de la señal
La implementación de un sistema de reconocimiento de lenguaje natural,http://www.tldp.org/HOWTO/Speech-Recognition-HOWTO/ conlleva el tratamiento de la señal acústica, pasando por diferentes bloques que nos ayudarán a extraer las características necesarias para implementar el sistema. Este tratamiento lo podríamos resumir con los siguientes apartados:
1. El primer paso es la captura de la señal de voz. Se utiliza un micrófono que a través de un convertidor CAD(Conversor Analógico/Digital) convierte la señal acústica en una señal eléctrica, a la cual se le realiza la extracción de parámetros. En este paso existe una dificultad añadida, provocada por la no linealidad y perdida de frecuencias introducido por el sistema micrófono/convertidor. thumb|Diagrama de bloques de un sistema de reconocimiento de lenguaje natural
2. La siguiente etapa es la segmentación y el etiquetado, aquí el sistema intenta encontrar las regiones estables donde las características son constantes. Una de las técnicas más utilizadas es la utilización de solapamiento entre el enventanado, para evitar dejar parte de señal sin analizar. En este nivel además se suelen aplicar filtros de normalización y pre-énfasis, con los cuales se prepara la señal para ser procesada.
3. En tercer lugar se realiza el cálculo de parámetros, lo que proporciona una representación espectral de las características de la señal de voz que podemos utilizar para entrenar el sistema de reconocimiento (HMM, Redes neuronales, entre otros). Los métodos más comunes en esta etapa son el análisis de banco de filtros y LPC. Para el cálculo de coeficientes que caracterizan la señal se sigue un patrón de bloques estandarizado por la ETSI.
Tipos de reconocimiento de voz