El procesamiento del lenguaje natural (PLN) es un subcampo de la informática y la inteligencia artificial (IA) que utiliza el machine learning para permitir que los ordenadores entiendan y se comuniquen con el lenguaje humano.
El PLN permite a los ordenadores y dispositivos digitales reconocer, comprender y generar texto y voz combinando la lingüística computacional (el modelado del lenguaje humano basado en reglas) junto con el modelado estadístico, el machine learning y el deep learning.
La investigación en PLN ha ayudado a hacer posible la era de la IA generativa, desde las habilidades de comunicación de los modelos de lenguaje de gran tamaño (LLM) hasta la capacidad de los modelos de generación de imágenes para comprender las solicitudes. El PLN ya forma parte de la vida cotidiana de muchas personas, como los motores de búsqueda, los chatbots del servicio de atención al cliente con comandos hablados, los sistemas GPS controlados por voz y los asistentes digitales para responder preguntas en los smartphones, como Alexa de Amazon, Siri de Apple y Cortana de Microsoft.
El PLN también desempeña un papel cada vez más importante en las soluciones empresariales que ayudan a agilizar y automatizar las operaciones de negocio, aumentar la productividad de los empleados y simplificar los procesos de negocio.
El PNL facilita a los humanos la comunicación y la colaboración con las máquinas, al permitirles hacerlo en el lenguaje humano natural que utilizan a diario. Esto ofrece ventajas en muchas industrias y aplicaciones.
El PLN es especialmente útil para automatizar total o parcialmente tareas como la atención al cliente, la entrada de datos y la gestión de documentos. Por ejemplo, los chatbots basados en PLN pueden gestionar las consultas rutinarias de los clientes, lo que libera a los agentes humanos para problemas más complejos. En el procesamiento de documentos, las herramientas de PLN pueden clasificar automáticamente, extraer información clave y resumir el contenido, lo que reduce el tiempo y los errores asociados con el manejo manual de datos. El PLN facilita la traducción de idiomas, convirtiendo texto de un idioma a otro conservando el significado, el contexto y los matices.
El PLN mejora el análisis de datos al permitir la extracción de información a partir de datos de texto no estructurados, como reseñas de clientes, publicaciones en redes sociales y artículos de noticias. Mediante el uso de técnicas de minería de textos, el PLN puede identificar patrones, tendencias y sentimientos que no son inmediatamente obvios en conjuntos de datos grandes. El análisis de sentimientos permite la extracción de cualidades subjetivas de un texto, como actitudes, emociones, sarcasmo, confusión o sospecha. Esto se utiliza a menudo para enrutar las comunicaciones al sistema o a la persona con mayor probabilidad de dar la siguiente respuesta.
Esto permite a las empresas comprender mejor las preferencias de los clientes, las condiciones del mercado y la opinión pública. Las herramientas de PLN también pueden categorizar y resumir grandes cantidades de texto, lo que facilita a los analistas la identificación de información clave y la toma de decisiones basadas en datos de forma más eficaz.
El PLN beneficia la búsqueda al permitir que los sistemas comprendan la intención detrás de las consultas de los usuarios, proporcionando resultados más precisos y contextualmente relevantes. En lugar de depender únicamente de la coincidencia de palabras clave, los motores de búsqueda basados en PLN analizan el significado de palabras y frases, lo que facilita la búsqueda de información incluso cuando las consultas son vagas o complejas. Esto mejora la experiencia del usuario, ya sea en búsquedas web, recuperación de documentos o sistemas de datos empresariales.
El PLN impulsa modelos de lenguaje avanzados para crear textos similares a los humanos para diversos fines. Los modelos preentrenados, como GPT-4, pueden generar artículos, informes, textos de marketing, descripciones de productos e incluso escritura creativa basada en instrucciones proporcionadas por los usuarios. Las herramientas basadas en PLN también pueden ayudar a automatizar tareas como redactar correos electrónicos, escribir publicaciones en redes sociales o documentación legal. Al comprender el contexto, el tono y el estilo, el PLN se asegura de que el contenido generado sea coherente, relevante y esté alineado con el mensaje previsto, lo que ahorra tiempo y esfuerzo al crear contenido manteniendo la calidad.
El PLN combina el poder de la lingüística computacional junto con algoritmos de machine learning y deep learning. La lingüística computacional utiliza la ciencia de datos para analizar el lenguaje y el habla. Incluye dos tipos principales de análisis: el análisis sintáctico y el análisis semántico. El análisis sintáctico determina el significado de una palabra, frase u oración analizando la sintaxis de las palabras y aplicando reglas gramaticales preprogramadas. El análisis semántico utiliza la salida sintáctica para extraer el significado de las palabras e interpretar su significado dentro de la estructura de la oración.
El análisis sintáctico de las palabras puede adoptar dos formas. El análisis de dependencias analiza las relaciones entre palabras, como la identificación de sustantivos y verbos, mientras que el análisis de constituyentes construye un árbol de análisis (o árbol sintáctico): una representación enraizada y ordenada de la estructura sintáctica de la oración o cadena de palabras. Los árboles de análisis sintáctico resultantes son la base de las funciones de los traductores de idiomas y del reconocimiento de voz. Idealmente, este análisis hace que el resultado, ya sea texto o voz, sea comprensible tanto para los modelos de PLN como para las personas.
El aprendizaje autosupervisado (SSL) en particular es útil para apoyar el PLN porque el PLN requiere grandes cantidades de datos etiquetados para entrenar modelos de IA. Dado que estos conjuntos de datos etiquetados requieren una anotación que consume mucho tiempo (un proceso que implica el etiquetado manual por parte de humanos), recopilar suficientes datos puede ser prohibitivamente difícil. Los enfoques autosupervisados pueden ser más eficientes en términos de tiempo y costes, ya que reemplazan parte o toda la formación de datos etiquetados manualmente.
Existen tres enfoques diferentes de PNL:
Las primeras aplicaciones de PNL eran simples árboles de decisión, que requerían reglas preprogramadas. Sólo son capaces de dar respuestas a instrucciones concretas, como la versión original de Moviefone, que contaba con capacidades rudimentarias de generación de lenguaje natural (GLN). Dado que no existe capacidad de machine learning ni de IA en el PNL basado en reglas, esta función está muy limitada y no es escalable.
Desarrollado posteriormente, el PLN estadístico extrae, clasifica y etiqueta automáticamente elementos de datos de texto y voz y, a continuación, asigna una probabilidad estadística a cada posible significado de esos elementos. Esto se basa en el machine learning, lo que permite un desglose sofisticado de la lingüística, como el etiquetado de partes del discurso.
El PNL estadístico introdujo la técnica esencial de mapear elementos del lenguaje (como palabras y reglas gramaticales) en una representación vectorial para poder modelar el lenguaje mediante métodos matemáticos (estadísticos), incluidos los modelos de regresión o de Markov. Esto sirvió de base para los primeros desarrollos del PLN, como los correctores ortográficos y los mensajes de texto T9 (texto en 9 teclas, para su uso en teléfonos de marcación por tonos).
Recientemente, los modelos de deep learning se han convertido en el modo dominante de PLN, mediante el uso de grandes volúmenes de datos sin procesar y no estructurados, tanto de texto como de voz, para ser cada vez más precisos. El deep learning puede verse como una evolución adicional del PLN estadístico, con la diferencia de que utiliza modelos de redes neuronales. Hay varias subcategorías de modelos:
Modelos secuencia a secuencia (seq2seq): basados en redes neuronales recurrentes (RNN), se han utilizado principalmente para la traducción automática para convertir una frase de un dominio (como el alemán) en la frase de otro dominio (como el inglés).
Modelos transformadores: utilizan la tokenización del lenguaje (la posición de cada token, palabras o subpalabras) y la autoatención (captura de dependencias y relaciones) para calcular la relación de las diferentes partes del lenguaje entre sí. Los modelos de transformadores se pueden entrenar de manera eficiente mediante el aprendizaje autosupervisado en bases de datos de texto masivas. Un hito en los modelos de transformadores fue las representaciones de codificador bidireccional de transformadores (BERT) de Google, que se convirtieron y siguen siendo la base del funcionamiento del motor de búsqueda de Google.
Modelos autorregresivos: este tipo de modelo transformador está específicamente entrenado para predecir la siguiente palabra en una secuencia, lo que representa un gran avance en la capacidad de generar texto. Algunos ejemplos de LLM autorregresivos son GPT, Llama, Claude y el código abierto Mistral.
Modelos fundacionales: los modelos fundacionales prediseñados y seleccionados pueden acelerar el lanzamiento de un esfuerzo de PLN y aumentar la confianza en su funcionamiento. Por ejemplo, los modelos fundacionales de IBM Granite son ampliamente aplicables en todos los sectores. Admiten tareas de PLN, incluida la generación de contenido y la extracción de información. Además, facilitan la generación aumentada por recuperación, un marco para mejorar la calidad de la respuesta al vincular el modelo a fuentes externas de conocimiento. Los modelos también reconocen entidades con nombre, lo que implica identificar y extraer la información clave de un texto.
Varias tareas de PLN suelen ayudar a procesar los datos de texto y voz humanos de forma que ayuden al ordenador a dar sentido a lo que está ingiriendo. Algunas de estas tareas incluyen:
Resolución de correferencias
Reconocimiento de entidades nombradas
Etiquetado de partes del discurso
Desambiguación del sentido de las palabras
Esta es la tarea de identificar si dos palabras se refieren a la misma entidad y cuándo. El ejemplo más común es determinar la persona u objeto al que se refiere un determinado pronombre (como “ella” = “Mary”). Pero también puede identificar una metáfora o un modismo en el texto (como un caso en el que "oso" no es un animal, sino una persona grande y peluda).
El NER identifica palabras o frases como entidades útiles. El NER identifica "Londres" como lugar o "Mary" como nombre de persona.
También llamado etiquetado gramatical, es el proceso de determinar qué parte de la oración es una palabra o un fragmento de texto, basándose en su uso y contexto. Por ejemplo, la parte del discurso identifica "make" como verbo en "I can make a paper plane" y como sustantivo en "What make of car do you own?".
Se trata de la selección del significado de una palabra para una palabra con múltiples significados posibles. Utiliza un proceso de análisis semántico para examinar la palabra en contexto. Por ejemplo, la desambiguación del sentido de las palabras ayuda a distinguir el significado del verbo "make" en "make the grade" (conseguir) frente a "make a bet" (hacer una apuesta). Resolver "I will be merry when I marry Mary" requiere un sofisticado sistema de PLN.
El PLN funciona combinando varias técnicas computacionales para analizar, entender y generar el lenguaje humano de forma que las máquinas puedan procesarlo. Aquí hay una descripción general de una canalización típica de PLN y sus pasos:
El preprocesamiento de texto de PLN prepara el texto sin procesar para su análisis transformándolo en un formato que las máquinas puedan entender más fácilmente. Comienza con la tokenización, que consiste en dividir el texto en unidades más pequeñas como palabras, oraciones o frases. Esto ayuda a dividir el texto complejo en partes manejables. A continuación, se aplican minúsculas para normalizar el texto convirtiendo todos los caracteres a minúsculas, lo que garantiza que palabras como "Apple" y "apple" reciban el mismo tratamiento. La eliminación de palabras vacías es otro paso común, en el que las palabras de uso frecuente como "is" o "the" se filtran porque no añaden un significado significativo al texto. El stemming o lematización reduce las palabras a su forma raíz (por ejemplo, "running" se convierte en "run"), lo que facilita el análisis del lenguaje agrupando diferentes formas de la misma palabra. Además, la limpieza del texto elimina elementos no deseados como la puntuación, los caracteres especiales y los números que pueden abarrotar el análisis.
Después del preprocesamiento, el texto está limpio, estandarizado y listo para que los modelos de machine learning lo interpreten de manera efectiva.
La extracción de características es el proceso de convertir texto sin procesar en representaciones numéricas que las máquinas pueden analizar e interpretar. Se trata de transformar el texto en datos estructurados mediante técnicas de PNL como Bag of words y TF-IDF, que cuantifican la presencia e importancia de las palabras en un documento. Entre los métodos más avanzados se incluyen las incrustaciones de palabras como Word2Vec o GloVe, que representan las palabras como vectores densos en un espacio continuo, capturando las relaciones semánticas entre las palabras. Las incrustaciones contextuales mejoran esto al considerar el contexto en el que aparecen las palabras, lo que permite representaciones más ricas y matizadas.
El análisis de texto implica interpretar y extraer información significativa de los datos de texto a través de diversas técnicas computacionales. Este proceso incluye tareas como el etiquetado de partes del discurso (POS), que identifica las funciones gramaticales de las palabras, y el reconocimiento de entidades con nombre (NER), que detecta entidades específicas como nombres, lugares y fechas. El análisis sintáctico de dependencias estudia las relaciones gramaticales entre las palabras para comprender la estructura de las frases, mientras que el análisis de sentimientos determina el tono emocional del texto, evaluando si es positivo, negativo o neutro. El modelado de temas identifica temas o temas subyacentes dentro de un texto o en un corpus de documentos. La comprensión del lenguaje natural (CLN) es un subconjunto de PLN que se centra en analizar el significado detrás de las oraciones. La CLN permite al software encontrar significados similares en diferentes oraciones o procesar palabras que tienen significados diferentes. A través de estas técnicas, el análisis de texto de PLN transforma el texto no estructurado en información.
A continuación, los datos procesados se utilizan para entrenar modelos de machine learning, que aprenden patrones y relaciones dentro de los datos. Durante el entrenamiento, el modelo ajusta sus parámetros para minimizar los errores y mejorar su rendimiento. Una vez entrenado, el modelo se puede utilizar para hacer predicciones o generar resultados sobre datos nuevos e invisibles. La eficacia del modelado de PLN se refina continuamente a través de la evaluación, la validación y el ajuste para mejorar la precisión y la relevancia en las aplicaciones del mundo real.
A lo largo de dichos procesos son útiles distintos entornos de software. Por ejemplo, el Natural Language Toolkit (NLTK) es un conjunto de bibliotecas y programas para inglés escrito en el lenguaje de programación Python. Admite funciones de clasificación de texto, tokenización, derivación, etiquetado, análisis y razonamiento semántico. TensorFlow es una biblioteca de software gratuita y de código abierto para machine learning e IA que se puede utilizar para entrenar modelos para aplicaciones de PNL. Existen abundantes tutoriales y certificaciones para aquellos interesados en familiarizarse con estas herramientas.
Incluso los modelos del PNL de última generación no son perfectos, al igual que el habla humana es propensa a errores. Como ocurre con cualquier tecnología de IA, el PNL conlleva riesgos potenciales. El lenguaje humano está repleto de ambigüedades que dificultan a los programadores escribir software que determine con precisión el sentido de los textos o los datos vocales. El lenguaje humano puede tardar años en aprender y muchos nunca dejan de aprender. Pero luego los programadores deben enseñar a las aplicaciones impulsadas por el lenguaje natural a reconocer y comprender las irregularidades para que sus aplicaciones puedan ser precisas y útiles. Los riesgos asociados pueden incluir:
Como ocurre con cualquier función de IA, los datos sesgados utilizados en el entrenamiento sesgarán las respuestas. Cuanto más diversos sean los usuarios de una función de PLN, más significativo se vuelve este riesgo, como en los servicios de gobierno, la atención médica y las interacciones de RR. HH. Los conjuntos de datos de entrenamiento extraídos de la web, por ejemplo, son propensos a sesgos.
Al igual que en la programación, existe el riesgo de que entre basura y salga basura (GIGO). El reconocimiento de voz, también conocido como conversión de voz a texto, es la tarea de convertir de forma fiable los datos de voz en datos de texto. Pero las soluciones de PLN pueden confundirse si la entrada está en un dialecto desconocido, entre dientes, demasiado llena de jerga, homónimos, gramáticalmente incorrecta, modismos, fragmentos, pronunciaciones incorrectas, contracciones o grabada con demasiado ruido de fondo.
Continuamente se inventan o importan nuevas palabras. Las convenciones gramaticales pueden evolucionar o romperse intencionadamente. En estos casos, el PLN puede hacer una suposición o admitir que no está seguro, y de cualquier manera, esto crea una complicación.
Cuando las personas hablan, su expresión verbal o incluso su lenguaje corporal pueden dar un significado completamente diferente al de las palabras por sí solas. El PNL puede confundir la exageración por efecto, el énfasis en las palabras por importancia o el sarcasmo, lo que dificulta el análisis semántico y lo hace menos fiable.
Las aplicaciones de PLN ahora se pueden encontrar en prácticamente todos los sectores.
En las transacciones financieras, los nanosegundos pueden marcar la diferencia entre el éxito y el fracaso al acceder a los datos o al realizar intercambios o acuerdos. El PLN puede acelerar la extracción de información de estados financieros, informes anuales y normativos, comunicados de prensa o incluso redes sociales.
Los nuevos conocimientos y avances médicos pueden llegar más rápido de lo que muchos profesionales sanitarios pueden seguir. Las herramientas basadas en PLN e IA pueden ayudar a acelerar el análisis de registros de salud y trabajos de investigación médica, posibilitando decisiones médicas mejor informadas o ayudando en la detección o incluso prevención de afecciones médicas.
El PLN puede analizar las reclamaciones para buscar patrones que puedan identificar áreas de preocupación y encontrar ineficiencias en el procesamiento de reclamaciones, lo que conduce a una mayor optimización del procesamiento y los esfuerzos de los empleados.
Casi cualquier caso jurídico puede requerir la revisión de montones de papeles, antecedentes y precedentes legales. El PNL puede ayudar a automatizar el descubrimiento legal, al ayudar en la organización de la información, acelerar la revisión y asegurarse de que todos los detalles relevantes son capturados para su consideración.
Diseñe asistentes y agentes de IA escalables con facilidad, automatice tareas repetitivas y simplifique procesos complejos con IBM watsonx Orchestrate.
Acelere el valor empresarial de la inteligencia artificial con una cartera potente y flexible de bibliotecas, servicios y aplicaciones.
Reinvente las operaciones y flujos de trabajo críticos añadiendo IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.
IBM Granite es nuestra familia de modelos de IA abiertos, eficaces y de confianza, adaptados a la empresa y optimizados para escalar sus aplicaciones de IA. Explore las opciones de idioma, código, series de tiempo y salvaguardas.
Descubra cómo el procesamiento del lenguaje natural puede ayudarle a conversar de forma más natural con los ordenadores.
Hemos encuestado a 2000 organizaciones sobre sus iniciativas de IA para descubrir qué funciona, qué no y cómo puede adelantarse.
Explore el sitio web de IBM Developer para acceder a blogs, artículos, boletines y obtener más información sobre la IA integrable de IBM.
Aprenda los conceptos fundamentales y desarrolle sus habilidades con laboratorios prácticos, cursos, proyectos guiados, pruebas y mucho más.