Por Marcos Yebra, Marketing y Desarrollo de Negocio, Normadat
¿Cómo llega una maquina desde un bit a un significado?
Desde luego la clave para comprender el lenguaje natural no reside solo en la lógica y las reglas gramaticales, sino también en la capacidad de las máquinas para comprender el contexto, las emociones y las sutilezas del lenguaje humano. Es decir, en su capacidad de procesar el lenguaje natural.
Pero ¿qué es exactamente el procesamiento del lenguaje natural?
El procesamiento del lenguaje natural
El procesamiento del lenguaje natural (PLN) es un campo de la lingüística computacional que permite a los ordenadores hablar como lo haría un humano.
Se enmarca en el desarrollo de la Inteligencia Artificial para mejorar la comunicación entre persona y máquina mediante el uso del lenguaje natural, ya sea oral o escrito.
Hasta ahora el PLN ha sido más fácil de abordar desde lo escrito. Con internet los textos son una fuente inagotable de datos para trabajar y formar a la herramienta. De hecho, lo conseguido en el lenguaje hablado se basa en el trabajo desarrollado en el formato escrito.
A partir del texto la máquina opera mejor. Procesa el audio transcribiéndose a caracteres.
Para dar una respuesta, hace lo contrario. Crea la contestación en texto y después, genera una voz sintética. No obstante, cada vez es más realista y natural.
También las máquinas hablan y comprenden más lenguas, aunque no todas. El español, al ser uno de los idiomas más extendidos en el mundo, se encuentra entre los que se puede aplicar el procesamiento.
¿Cómo funciona?
Las máquinas necesitaban tener la capacidad de comprender textos.
Podéis imaginar que el trabajo de equipos multidisciplinares es fundamental. Gramáticos, lingüistas, informáticos y programadores trabajan juntos.
Se deben realizar procedimientos de análisis del lenguaje y replicarlos en el código de programación.
Análisis léxicos, sintácticos, semánticos o el pragmáticos. Cada uno cumple su función:
- En el léxico se recoge la información básica. Se agrupan las categorías y su significado.
- En el análisis sintáctico se estudia la estructura de las oraciones.
- El semántico nos da una interpretación de la oración. Sin ambigüedades. O con las menos posibles.
- Finalmente, el pragmático analiza el lenguaje figurado y ofrece la interpretación final.
El objetivo es imitar la capacidad de comunicación de los seres humanos.
Para hacerlo, los modelos de programación han trabajado en dos direcciones complementarias.
- Con modelos lógicos. Buscando patrones con una estructura y reglas determinadas para reconocerlos y entenderlos.
Algo similar a lo que hacíamos en el colegio con el análisis morfosintáctico de oraciones.
Procesan el lenguaje a través de etiquetas morfosintácticas. Esto permite a la máquina dividir el contenido en diferentes partes. Por ejemplo, son capaces de añadir una etiqueta al sujeto, otra al verbo y otra a los complementos de la oración.
Entienden si un nombre hace referencia a un lugar o una persona. Identifican si dos palabras tratan a un mismo sujeto (por ejemplo “él” y “Leo”), entre otras muchas tareas de etiquetaje y anotación.
- Basando el lenguaje en datos. De manera inversa.
Se clasifican las unidades lingüísticas como letras, palabras u oraciones. Aquí se trata de recoger muchos ejemplos y datos. A partir del corpus se calculan de qué manera y cuánto aparecen las diferentes unidades lingüísticas.
La máquina, gracias al machine learning (ML) va aprendiendo en función de las respuestas y los datos observados. Para este entrenamiento hacen falta muchos textos. Y los teníamos.
Con la llegada de internet los textos sobraban.
Basar el lenguaje en datos recrea una combinación de lingüística y estadística que se mejora constantemente gracias a machine learning.
Recordemos que el objetivo es entender el significado del lenguaje. Por tanto, también su tono, sentimiento e intención. Y esto es complejo.
El lenguaje humano está lleno de giros lingüísticos, matices, metáforas, dobles sentidos etc. No nos comunicamos de un único modo, sino que adoptamos diversos “juegos” del lenguaje.
Esto se debe trasladar a la máquina. Para ello los programadores trabajan en distintas áreas muy complejas como el reconocimiento de voz, el etiquetado gramatical o desambiguaciones de palabras con varios significados.
¿Para qué se utiliza?
Tiene una amplia variedad de aplicaciones que van desde la traducción automática de textos hasta crear resúmenes de contenidos:
- Traducción de textos. Poder cargar una página web escrita en otra lengua y leer en nuestro idioma es como magia. No es perfecta, pero ofrece unos resultados aceptables que nos acerca a la idea que se quiere transmitir.
- Para la detección de correo no deseado se analiza el texto y se crean filtros. A partir del contenido del texto se clasifica el contenido.
- Chatbots. Conversaciones con máquinas para tareas como programar una cita son, cada vez más comunes. Se entrenan gracias a grabaciones de conversaciones reales.
- Sentimiento de textos a partir del análisis de la información. Perfecto para acercarnos a un análisis de marcas por las redes sociales.
- Clasificación de documentos por categorías, similar a lo visto para detectar correo no deseado, pero con un abanico de posibilidades mucho más amplio. Por ejemplo, en una clasificación óptima de documentos como las Notificaciones Electrónicas Obligatorias.
- Resúmenes de contenidos, extracción de palabras clave, generación de nuevos textos a partir de otros ejemplos…
Todo esto, que hasta hace bien poco nos resultaría futurista, ya está aquí. Solo tenéis que pasar por IA conversacionales tipo ChatGPT o Google Bard para entender su alcance.
Las interacciones entre máquina y humano cada vez son más precisas. Los asistentes de voz como Alexa o Siri están más implantados en muchos hogares y son cada vez más competentes. Si bien, tienen mucho margen de mejora cuando tratan peticiones concatenadas. Estas mejoras llegarán pronto gracias a la IA conversacional.
En el terreno empresarial son interesantes los PLN capaces de procesar contenido a través de etiquetas y clasificaciones documentales. Esto posibilita que la información de un texto será extraída, clasificada, resumida y relacionada con otros contenidos.
Podemos obtener búsquedas eficientes de información a partir de lenguaje natural con la máquina. Lo que permite aumentar la productividad y optimizar los procesos empresariales.
Y esto solo es el principio. Dentro de poco ya no nos hará falta ni conocer herramientas de software. Se lo pediremos a la máquina de manera natural.
Imaginad, por ejemplo, trabajar con una hoja de cálculo pidiendo lo que necesitas hacer. Sin necesidad de tener un nivel avanzado ni de conocer costosas fórmulas.
Todo llegará.