En esta entrada exploraremos los usos de Inteligencia Artificial para el Procesamiento del Lenguaje Natural (NLP, sigla en inglés), su propósito, su importancia creciente, algunos ejemplos reales, cómo nos afecta y aspectos técnicos.
El Procesamiento de Lenguaje Natural es una ciencia que ya lleva varias décadas de existencia, lo que ha sucedido es, que con el avance de las tecnologías relacionadas a la ciencia de datos y el Machine Learning, esta disciplina se ha sofisticando hasta llegar a lugares inimaginables. Hoy en día, el NLP se desarrolla principalmente con usos de Inteligencia Artificial y aprendizaje automático.
Entender el lenguaje humano: Es el desafío
Nosotros, los seres humanos, por muy correcto que hablemos, nuestro lenguaje utiliza sarcasmos, metáforas, diversas configuraciones de oraciones, modismos, entre otros. Por lo que es verdaderamente complejo poder analizar, interpretar y comprender grandes volúmenes de lenguaje humano. Aquí el Procesamiento de Lenguaje Natural (NLP) es la tecnología de machine learning que permite a las máquinas (PC’s) comprender de manera relativamente acertada qué es lo que los humanos estamos diciendo.
Y es mediante el aprendizaje automático que los computadores pueden aprender a procesar y entender patrones muy complejos a partir de grandes conjuntos de datos y para esto está la web, que es literalmente un universo de lenguaje natural.
Importancia: Que las máquinas nos entiendan
La importancia del NLP radica en su capacidad para acercar a las máquinas al entendimiento humano, lo que permite que los computadores puedan comunicarse con humanos en su lenguaje y no al revés, así evitamos aprender a comunicarnos con ceros y unos.
De esta manera los computadores pueden leer textos, escuchar la voz hablada, interpretar esta información para determinar qué partes son las más importantes y realizar diversas mediciones, todo esto con el uso de inteligencia artificial.
El NLP es uno de los grandes usos de Inteligencia Artificial
Principales usos: Cómo el NLP nos facilita la vida
La versatilidad del Natural Language Processing (NLP) se refleja en su aplicación en diversas áreas. Desde la automatización de tareas rutinarias hasta la mejora de la accesibilidad digital, el NLP se utiliza para:
- Traducción Automática: Cada día las traducciones automáticas están interpretando mejor la intención del texto ¿recuerdan que al inicio de Google translate sus traducciones no eran muy confiables? Hoy en día la máquina ha aprendido.
- Asistentes Virtuales y Chatbots: La mayoría de nosotros hemos usado Siri o algún asistente virtual, incluso muchos de nosotros utilizamos Alexa para manejar equipamientos de nuestras propias casas, con tan sólo decir: “Alexa, prende las luces”.
- Análisis de Sentimientos: Esto se ha convertido en literalmente oro para las consultoras, política, gestión de reputación, experiencia del cliente y muchos ámbitos más. Esto lo abordaremos un poco más adelante.
- Extracción de Información: Muchas empresas como compañías de seguros, están utilizando tecnologías de Procesamiento del Lenguaje Natural para identificar, por ejemplo, datos sensibles en documentos extensos como contratos. De esta manera se hace más rápido y eficiente tareas que antes eran lentas y pesadas.
- Resúmenes Automáticos: El poder de síntesis que está teniendo el NLP mediante su aprendizaje automático está generando resúmenes de extensos textos a versiones breves y comprensibles.
Ejemplos de Aplicación: Banco Central, nosotros y tú
Como mencionamos anteriormente, el Análisis de Sentimientos es un resultado del Procesamiento del Lenguaje Natural y existen múltiples aplicaciones de esta técnica que permite analizar emociones y los sentimientos humanos interpretando información y textos desde, por ejemplo, noticias, redes sociales, reseñas, comentarios, etc.
Sin ir más lejos, el Banco Central de Chile, realizó un análisis de sentimiento del Informe de Percepciones de Negocios de enero 2020, en dicho trabajo, procesó este informe mediante la metodología de análisis de sentimientos basado en léxico, con un modelo basado en diccionario, cuyos resultados los correlacionó con otros índices cómo el índice de confianza empresarial de ICARE-UAI y CEEN-UDD, en dónde se presentaron altas y significativas correlaciones con el análisis de sentimiento aplicado al informe.
En iMlabs, hace algunos años, realizamos un ejercicio académico para la Universidad de Chile, en el cual utilizamos los fundamentos del Procesamiento del Lenguaje Natural con usos de inteligencia artificial de bibliotecas preentrenadas para realizar un análisis de sentimientos sobre una base de 89 artículos de crítica arquitectónica con el propósito de identificar polaridad y subjetividad de dichos escritos, y con esto poder comparar los resultados con un análisis cualitativo y cuantitativo presente en los textos seleccionados.
En este último ejercicio académico y tecnológico como de esperarse, fue posible evidenciar correlaciones entre los diversos análisis, siendo un ejemplo exitoso de cómo la tecnología, que podríamos llamar más “dura”, puede contribuir al análisis académico y teórico. Esperamos en un futuro actualizar dicho estudio para presentarlo por este medio.
NLP es una revolución para el procesamiento de información humana
Ahora, y siguiendo con los ejemplos de aplicación del Procesamiento del Lenguaje Natural, yendo a esferas más cotidianas, si has utilizado Siri, Google Assistant, Alexa, Google Translate, o algún Chatbots en los que sus conversaciones sean medianamente intuitivas y coherentes, bienvenido a la revolución, te informo que eres un usuario del Procesamiento del Lenguaje Natural, y probablemente estos sistemas se están beneficiando del aprendizaje automático con tus interacciones.
Aspectos técnicos: Modelos y algunos procesos
La tecnología de Procesamiento del Lenguaje Natural depende en gran medida de un enfoque de la IA y el aprendizaje automático. El uso de inteligencia artificial para el aprendizaje automático o machine learning permite realizar predicciones al generalizar ejemplos en un conjunto de datos. Este conjunto de datos se denomina datos de entrenamiento, y los algoritmos de aprendizaje automático se entrenan con estos datos para producir un modelo de aprendizaje automático que realice una tarea objetivo.
Existen varios modelos de aprendizaje automático, entre ellos podemos mencionar:
- Modelos de secuencia a secuencia: estos toman todo un texto o documento como valor de entrada y producen un texto o alguna otra secuencia como valor de salida. Un ejemplo de este modelo son las traducciones automáticas.
- Aprendizaje profundo (Deep learning), modelos preentrenados y aprendizaje de transferencia: Es uno de los más utilizados y que requiere mayor cantidad de datos y recursos para procesar. En este caso un gran número de modelos primitivos de aprendizaje automático se combinan en una sola red, estos modelos son denominados neuronas, en analogía con el cerebro, y estas se disponen en capas y una red neuronal profunda es una red que tiene muchas capas. El Deep Learning es el aprendizaje automático que usa modelos de red neuronal profunda.
Algunas técnicas que se utilizan para estos procesos están orientados a dividir el texto o habla humana en partes más pequeñas que los programas computacionales pueden entender con mayor facilidad, a continuación detallamos algunos de estas y otras técnicas implementadas:
- Tokenización: divide textos sin formato en una secuencia de tokens, como palabras y subpalabras, y normalmente representa el primer paso del procesamiento del lenguaje natural.
- Modelo de bolsa de palabras: esta técnica trata a los documentos como recopilaciones desordenadas de tokens o palabras. Se ignora el orden de las palabras, por lo que su aplicación es hacia motores de búsquedas, por ejemplo, o identificación de tópicos relevantes en textos exentos.
- Eliminación de palabras irrelevantes: en este proceso se eliminan palabras cortas y frecuentes como “el”, “la”, “a”, “un”, etc. Esto se utiliza en modelos de bolsas de palabras, para hacer más eficiente y rápido el procesamiento de motores de búsqueda por ejemplo. En los modelos de deep learning ésta técnica no se utiliza, dado que, la eliminación de estas palabras podría representar eliminación de distinciones sutiles en los significados de frases.
- Stemming y lematización: esta función asigna palabras a su origen, un ejemplo claro es la palabra ”revisitando” la que contiene el prefijo “re”, y la raíz “visit” y el sufijo de tiempo pasado “ando”.
- Etiquetado de categorías gramaticales y análisis sintáctico: proceso mediante el cual se etiqueta cada palabra con su categoría gramatical (sustantivos, verbos, adjetivos, etc.) y el análisis sintáctico identifica cómo se combinan las palabras para formar frases u oraciones completas.
Aspectos técnicos: Lenguajes y principales librerías
Los principales lenguajes utilizados en la programación de Procesamiento del Lenguaje Natural son Python, Java y C++.
En este aspecto existen múltiples bibliotecas con componentes ya definidos y modelos entrenados, entre las principales podemos mencionar: TensorFlow, PyTorch, AllenNLP, Hugging Face, Spark NLP, SpaCy NLP, entre otras. Recordar que esta es una ciencia en pleno desarrollo, por lo tanto, las bibliotecas y técnicas día a día se están desarrollando y perfeccionando, por lo tanto, no es sorpresa que irán apareciendo más y más recursos para implementar esta tecnología.
En conclusión
El Procesamiento de Lenguaje Natural no sólo redefine la interacción entre humanos y máquinas, sino que también impulsa la innovación en campos que van desde la atención médica hasta la educación. A medida que el NLP continúa evolucionando, su capacidad para comprender y utilizar el lenguaje humano promete un futuro donde la comunicación digital sea más intuitiva, eficiente y accesible para todos.
Si necesitas explorar las potencialidades del Procesamiento de Lenguaje Natural y el Aprendizaje Automático (Machine Learning) con uso de inteligencia artificial, en iMlabs podemos desarrollar tu proyecto ¡es lo que nos apasiona! Escríbenos y agendamos una reunión.