El procesamiento de lenguaje natural en la programación es un campo de la Inteligencia Artificial dedicado al desarrollo de técnicas que permitan a los ordenadores entender y procesar el lenguaje humano en todas sus variantes. Este campo ha sido muy importante durante años y gracias a ello hoy son más fáciles las tareas de clasificación de documentos, normalización de textos, traducción automática, reconocimiento del habla, asistentes virtuales, entre otras…
Hace unos días celebramos un webinar junto a Carlos Rodríguez Abellán, quien nos ha mostrado el mundo del procesamiento del lenguaje natural NLP enfocado en la recuperación de información, la cual es una ciencia que permite encontrar información en datos de naturaleza no estructurada dada una necesidad de información, esto llevado a un ejemplo, es cuando le preguntas a un asistente virtual como Google, Alexa o Siri, el tiempo de hoy o los partidos de fútbol de la semana, es decir, cuando un usuario envía una query a un sistema de recuperación de información, el cual contiene documentos organizados e indexados de una manera que le da al usuario un resultado en pocos milisegundos.
Para la recuperación de información existen diferentes modelos que varían en su metodología, funciones y resultado, dentro de los modelos más importantes encontramos:
Modelo Booleano
Es el modelo más sencillo dentro del NLP, se basa en la lógica Booleana y teoría de conjuntos, en este tipo de modelo no se le da importancia al orden de los documentos, simplemente se atiende una query con una matriz de “incidencia documento – término”. Este modelo es el más sencillo de desarrollar ya que es utilizado cuando los términos de búsqueda son pocos. Actualmente hay cientos de asistentes virtuales que lo emplean.
Índice invertido
Es la estructura de datos más usada cuando crece el número de documentos y términos, lo que hace que la matriz crezca y por lo general se convierta en una matriz sparse, lo cual quiere decir que hay muchos términos dentro, pero la mayoría no son comunes entre todos documentos. Por esta razón la dinámica de este modelo se basa en tokens asignados a cada término y estos almacenan la información de cuáles documentos contienen el término asignado.
Modelo Scoring
Este tipo de modelo parte de la premisa que no todas las palabras o documentos son igual de relevantes, y por esta razón, el resultado que obtiene el usuario al hacer una query, se debe organizar con base en la relevancia de los términos que concuerdan con lo buscado. Hay diferentes maneras de otorgar el score a cada término, dentro de las más usadas se encuentran Weighted Zone Scoring, Frecuencia de Término (TF), Frecuencia inversa de Documento (IDF) y la combinación de TF-IDF.
Modelo de espacio vectorial
Cada documento se entiende como un conjunto de términos que se asocian a un vector para que se pueda organizar de manera espacial. De esta manera dentro de un vector podrán encontrarse diferentes términos que cumplan con los requerimientos para su asociación.
Las etapas del NLP varían según el modelo con el que se trabaje, sin embargo todo se centra en el Pre-procesado el cual garantiza que toda la información sea indexada de manera correcta.
Pre-procesado de datos
Esta etapa recoge los documentos que servirán para solucionar las querys, estos documentos son divididos en tokens con unidades mínimas de procesamiento, después se identifican las palabras o términos que no son importantes para eliminarlos, se normaliza la información y se finaliza empleando técnicas que ayuden a reducir la dimensionalidad del vocabulario o llevarlo a su raíz a través de técnicas como stemming o lemmatization.
Para descubrir cómo funciona los modelos de recuperación de datos, aquí te dejamos algunos casos de aplicación práctica que estudiamos en nuestro webinar y seguro te ayudarán a aterrizar estos conceptos.

Como puedes ver, el campo del Big Data y la Inteligencia Artificial tiene miles de aplicaciones que ayudan a convertir proyectos en potentes desarrollos. Para dominar todas las herramientas y metodologías del ecosistema Big Data, descubre nuestro Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp. Un programa diseñado en Silicon Valley para que lleves tu conocimiento de cero a cien en tan solo seis meses de clases lectivas. ¿Quieres conocerlo por completo?