
[27/09/2023] El procesamiento del lenguaje natural (NLP) es la rama de la inteligencia artificial (IA) que se ocupa de entrenar computadoras para que comprendan, procesen y generen el lenguaje. Los motores de búsqueda, los servicios de traducción automática y los asistentes de voz funcionan con esta tecnología.
[Reciba lo último de CIO Perú suscribiéndose a nuestro newsletter semanal]
Si bien el término originalmente se refería a la capacidad de lectura de un sistema, desde entonces se ha convertido en un coloquialismo para toda la lingüística computacional. Las subcategorías incluyen la generación del lenguaje natural (NLG, por sus siglas en inglés), la capacidad de una computadora para crear comunicación propia; y la comprensión del lenguaje natural (NLU, por sus siglas en inglés), la capacidad de comprender la jerga, las malas pronunciaciones, los errores ortográficos y otras variantes del lenguaje.
La introducción de modelos transformadores en el artículo de 2017 "Attention is all you need” de investigadores de Google revolucionó el NLP, y llevó a la creación de modelos de IA generativa, como Representaciones codificadoras bidireccionales de transformadores (BERT, por sus siglas en inglés) y, posteriormente, DistilBERT -un BERT más pequeño, rápido y eficiente- Transformador generativo preentrenado (GPT) y Google Bard.
Cómo funciona el procesamiento del lenguaje natural
NLP aprovecha algoritmos de aprendizaje automático (ML, por sus siglas en inglés) entrenados en datos no estructurados, generalmente texto, para analizar cómo se estructuran los elementos del lenguaje humano para transmitir significado. Se introducen frases, oraciones y, a veces, libros enteros en los motores de aprendizaje automático, donde se procesan utilizando reglas gramaticales, los hábitos lingüísticos reales de las personas y similares. Un algoritmo de NLP utiliza estos datos para encontrar patrones y extrapolar lo que viene después. Por ejemplo, un algoritmo de traducción que reconoce que, en francés, "Voy al parque” se dice "Je vais au parc”, aprenderá a predecir que "Voy a la tienda” también comienza con "Je vais au”. Entonces, todo lo que el algoritmo necesita es la palabra "tienda” para completar la tarea de traducción.
Aplicaciones de NLP
La traducción automática es una poderosa aplicación del NLP, pero la búsqueda es la más utilizada. Cada vez que busca algo en Google o Bing, está ayudando a entrenar al sistema. Cuando hace clic en un resultado de búsqueda, el sistema lo interpreta como una confirmación de que los resultados encontrados son correctos, y utiliza esta información para mejorar los resultados de la búsqueda en el futuro.
Los chatbots funcionan de la misma manera. Se integran con Slack, Microsoft Messenger y otros programas de chat donde leen el idioma utilizado y luego se activan cuando se escribe una frase desencadenante. Los asistentes de voz como Siri y Alexa también se activan cuando escuchan frases como "Oye, Alexa”. Por eso los críticos dicen que estos programas siempre están escuchando; si no lo hicieran, nunca sabrían cuándo los necesitan. A menos que active una aplicación manualmente, los programas de NLP deben funcionar en segundo plano, esperando esa frase.
Los modelos transformadores llevan las aplicaciones como la traducción de idiomas y los chatbots a un nuevo nivel. Innovaciones como el mecanismo de autoatención y la atención multicabezal permiten que estos modelos sopesen mejor la importancia de las distintas partes del input y procesen esas partes en paralelo en lugar de secuencialmente.
Rajeswaran V, director senior de Capgemini, señala que el modelo GPT-3 de Open AI domina el lenguaje sin utilizar datos etiquetados. Al basarse en la morfología (el estudio de las palabras, cómo se forman y su relación con otras palabras en el mismo idioma), GPT-3 puede realizar la traducción de idiomas mucho mejor que los modelos de última generación existentes, asegura.
Los sistemas de NLP que se basan en modelos transformadores son especialmente potentes en NLG.
Ejemplos de procesamiento del lenguaje natural
Los datos vienen en muchas formas, pero la mayor reserva de datos sin explotar consiste en texto, en particular, texto no estructurado. Las patentes, las especificaciones de productos, publicaciones académicas, investigaciones de mercado, noticias, y sobre todo las redes sociales, tienen texto como componente principal y el volumen crece constantemente. Si aplicamos la tecnología a la voz, el volumen es aún mayor. A continuación, se presentan tres ejemplos de cómo las organizaciones están poniendo en práctica esta tecnología:
1. Edmunds genera tráfico con GPT: El recurso en línea de información e inventario automotriz ha creado un complemento de ChatGPT que expone sus datos no estructurados -reseñas de vehículos, calificaciones, editoriales- a la IA generativa. El complemento permite a ChatGPT responder preguntas de los usuarios sobre vehículos con su contenido especializado, generando tráfico hacia su sitio web.
2. Eli Lilly supera el cuello de botella en la traducción: Debido a que cuentan con equipos globales que trabajan en varios idiomas, la firma farmacéutica desarrolló Lilly Translate, una solución de NLP local, para ayudar a traducir todo, desde materiales de capacitación internos y comunicaciones técnicas formales, hasta agencias reguladoras. Lilly Translate utiliza NLP y modelos de lenguaje de aprendizaje profundo entrenados con ciencias biológicas y contenido de Lilly para proporcionar traducción en tiempo real de Word, Excel, PowerPoint y texto para usuarios y sistemas.
3. Accenture utiliza NLP para analizar contratos: La herramienta Accenture Legal Intelligent Contract Exploration (ALICE) ayuda a la organización legal de 2800 profesionales de la empresa de servicios globales a realizar búsquedas de texto en sus más de un millón de contratos, incluyendo búsquedas de cláusulas contractuales. ALICE utiliza la "incrustación de palabras” para revisar los documentos contractuales párrafo por párrafo, buscando palabras clave para determinar si el párrafo se relaciona con un tipo de cláusula contractual en particular.
Software de procesamiento del lenguaje natural
Ya sea que esté creando un chatbot, un asistente de voz, una aplicación de texto predictivo u otra aplicación con NLP como núcleo, necesitará herramientas que lo ayuden a hacerlo. Según los Centros de Evaluación de Tecnología (Technology Evaluation Centers), el software más popular incluye:
- Natural Language Toolkit (NLTK), un marco de código abierto para crear programas en Python que trabajen con datos del lenguaje humano. Fue desarrollado en el Departamento de Informática y Ciencias de la Información de la Universidad de Pensilvania, y proporciona interfaces para más de 50 corpus y recursos léxicos, un conjunto de librerías de procesamiento de texto, contenedores para librerías de procesamiento de lenguaje natural y un foro de discusión. NLTK se ofrece bajo licencia Apache 2.0.
- Mallet, un paquete de código abierto basado en Java para NLP estadístico, clasificación de documentos, agrupación en clústeres, modelado de temas, extracción de información y otras aplicaciones de aprendizaje automático a texto. Fue desarrollado principalmente en la Universidad de Massachusetts Amherst.
- SpaCy, una librería de código abierto para el procesamiento avanzado del lenguaje natural diseñada explícitamente para la producción y no para la investigación. Con licencia del MIT, SpaCy se creó pensando en la ciencia de datos de alto nivel y permite la minería de datos profunda.
- Amazon Comprehend, un servicio de Amazon que no requiere experiencia en ML. Su objetivo es ayudar a las organizaciones a encontrar información en correos electrónicos, reseñas de clientes, redes sociales, tickets de soporte y otros textos. Utiliza análisis de sentimientos, extracción de partes del discurso y tokenización para analizar la intención detrás de las palabras.
- Google Cloud Translation, una API que utiliza NLP para examinar un texto fuente y determinar el idioma y, luego, utiliza la traducción automática neuronal para traducir dinámicamente el texto a otro idioma. La API permite a los usuarios integrar la funcionalidad en sus propios programas.
Cursos de procesamiento del lenguaje natural
Hay una amplia variedad de recursos disponibles para aprender a crear y mantener aplicaciones de NLP, muchos de los cuales son gratuitos. Entre ellos se incluyen:
- NLP - Procesamiento del lenguaje natural con Python de Udemy. Este curso ofrece una introducción al procesamiento del lenguaje natural en Python, y explica algunos temas avanzados como el análisis de sentimientos y la creación de chatbots. Consta de 11,5 horas de video bajo demanda, dos artículos y tres recursos descargables. El curso cuesta 94,99 dólares e incluye un certificado de finalización.
- Ciencia de datos: Procesamiento del lenguaje natural en Python de Udemy. Dirigido a principiantes en NLP que estén familiarizados con Python, este curso implica la creación de una serie de aplicaciones y modelos de NLP, como un algoritmo de descifrado de cifrado, un detector de spam, un modelo de análisis de sentimientos y un reescritor de artículos. El curso consta de 12 horas de video bajo demanda y cuesta 99.99 dólares, que incluye un certificado de finalización.
- Especialización en Procesamiento del lenguaje natural de Coursera. Este conjunto de cuatro cursos de nivel intermedio tiene como objetivo preparar a los estudiantes para diseñar aplicaciones de NLP como análisis de sentimientos, traducción, resumen de texto y chatbots. Incluye certificado profesional.
- Procesamiento práctico del lenguaje natural (PNL) usando Python de Udemy. Este curso es para personas con experiencia básica en programación en cualquier lenguaje, con una comprensión de los conceptos de programación orientada a objetos, conocimiento de matemáticas básicas a intermedias y conocimiento de operaciones matriciales. Está completamente basado en proyectos e implica la creación de un clasificador de texto para predecir el sentimiento de los tweets en tiempo real, y un resumidor de artículos que puede buscar artículos y generar el resumen. El curso consta de 10,5 horas de video bajo demanda y ocho artículos, y cuesta 19.99 dólares; costo que incluye un certificado de finalización.
- Procesamiento del lenguaje natural en TensorFlow de Coursera. Este curso es parte de la especialización TensorFlow in Practice de Coursera y cubre el uso de TensorFlow para crear sistemas de procesamiento de lenguaje natural que puedan procesar texto e ingresar oraciones en una red neuronal. Coursera indica que es un curso de nivel intermedio y estima que tomará cuatro semanas de estudio, dedicándole de cuatro a cinco horas por semana, para completarlo.
Basado en el artículo de Thor Olavsrud (CIO) y editado por CIO Perú