4.5.1 Conceptos Básicos

Introducción

Para entender el procesamiento de lenguaje natural es importante tener claros estos conceptos:

Representación del lenguaje

Tokens

El PNL descompone texto en unidades llamadas tokens, que pueden ser palabras, carácteres o frases. Ejemplo la frase “hola, ¿cómo estás?” se tokeniza

[“hola”, “ “, “¿”, “cómo”, “estás” ]

Vectores de Palabras

Las palabras se representan matemáticamente en un espacio vectorial, donde palabras con significados similares están más cercanas.

Lematización y Stemización

Procesos para reducir palabras a su forma raíz o base. Ejemplo corriendo → lematización: correr; stemización: corr.

Modelado del Lenguaje

Los modelos de lenguaje predicen o analizan palabras en base a su contexto.

N-gramas

Métodos estadísticos simples que consideran una secuencia de N palabras para predecir la siguiente.

Modelos Modernos

Usan redes neuronales profundas como transformers (e.g., GPT, BERT) que capturan el contexto global de una frase.

Análisis de Lenguaje

Para procesar texto, el PLN realiza diversas tareas fundamentales:

Análisis Lexico

Se refiere a la identificación y clasificación de las palabras en un texto. Incluye la detección de partes del discurso (sustantivos, verbos, adjetivos, etc.) y otras características lingüísticas.

Análisis Sintáctico

Identificar la estructura gramatical del texto, como frases y dependencias entre palabras.

Herramientas

Árboles de dependencias, etiquetas POS (part-of-speech).

Análisis Semántico

Captura el significado de las palabras y frases en contexto.

Modelos de Lenguaje

El PNL se basa en redes neuronales, especialmente los Transformadores, que permiten entender el contexto y significado global del lenguaje dentro de grandes cantidades de datos:

BERT

Captura el significado bidireccional de una oración.

GPT

Genera texto coherente en base a entradas.

Funcionamiento de la PNL

El PLN funciona combinando varias técnicas computacionales para analizar, entender y generar el lenguaje humano de forma que las máquinas puedan procesarlo. De acuerdo a IBM (Striker, C, Holdsworth, J, 11 Agosto 2024), aquí hay una descripción general de una canalización típica de PLN y sus pasos:

Pre-procesamiento de Texto

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.

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 Bolsas de palabras 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 lo mejoran aún más al tener en cuenta el contexto en el que aparecen las palabras, lo que permite representaciones más ricas y matizadas.

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.

Entrenamiento de Modelos

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.

AGENTES INTELIGENTES
A course by: Master Alberto Ramírez Regalado

Recursos: 0 Descargables

Duración: 1 Hora

“Por una tecnología propia como principio de libertad®️”