0% encontró este documento útil (0 votos)
5 vistas34 páginas

Introducción al Procesamiento de Lenguaje Natural

El procesamiento del lenguaje natural (NLP) permite a las máquinas interpretar y generar lenguaje humano, abarcando áreas como la comprensión y generación del lenguaje. Utiliza técnicas como tokenización, embeddings y transformaciones avanzadas para analizar y procesar texto, con aplicaciones en análisis de sentimientos, chatbots y traducciones. Los embeddings, tanto estáticos como contextuales, son fundamentales para capturar relaciones semánticas y mejorar la precisión en tareas de NLP.

Cargado por

jairod.personal
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
5 vistas34 páginas

Introducción al Procesamiento de Lenguaje Natural

El procesamiento del lenguaje natural (NLP) permite a las máquinas interpretar y generar lenguaje humano, abarcando áreas como la comprensión y generación del lenguaje. Utiliza técnicas como tokenización, embeddings y transformaciones avanzadas para analizar y procesar texto, con aplicaciones en análisis de sentimientos, chatbots y traducciones. Los embeddings, tanto estáticos como contextuales, son fundamentales para capturar relaciones semánticas y mejorar la precisión en tareas de NLP.

Cargado por

jairod.personal
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

NLP

Natural Language Processing


Índice
Introducción a NLP 01

Transformaciones básicas 02

Transformaciones avanzadas 03

Embeddings (Word2Vec, BERT) 04


Introducción
NLP: Introducción
El procesamiento del lenguaje natural (NLP) es la disciplina que se
encarga de construir máquinas capaces de trabajar con el lenguaje
humano —o datos que se asemejan al lenguaje humano— tal como se
escribe, se habla y se organiza.

Es la base de todos los sofisticados modelos de lenguaje a gran escala


(LLMs) como Claude, GPT, Llama.

En términos simples, el NLP ayuda a las máquinas a interpretar el lenguaje


humano, ya sea para comprenderlo, analizarlo o incluso generarlo.
NLP: Introducción

En el NLP podemos diferenciar dos áreas:

Natural Language Understanding o comprensión del lenguaje natural

(NLU) se encarga de interpretar el significado detrás del texto.

Natural Language Generation o generación de lenguaje natural (NLG)

se enfoca en producir texto que imite la escritura humana. Suele ir de la

mano de tecnologías cmo Speech to Text o reconocimiento de voz.


NLP: casos de uso
Análisis de sentimiento
Análisis de emociones
Clasificación de e-mails
Generación de texto: Chatbots / asistentes virtuales, autocompletado,
Corrector gramatical, auto-correctore
Tratamiento de documentos: extracción de información relevante,
etiquetado, generación de resúmenes
Traducciones.
NLP: Librerías
NLP: algunas definiciones básicas

Documento
Un documento se refiere a un único fragmento de texto, que puede ser tan pequeño como una oración o un párrafo, o tan grande como un artículo completo. En los
conjuntos de datos, esto suele corresponder a una fila en un conjunto de datos de texto. Ejemplo: Un artículo de noticias dentro de una colección de datos periodísticos.

Corpus
Un corpus es una colección de documentos. Representa el conjunto completo de datos textuales que están siendo analizados o utilizados para entrenar un modelo de
procesamiento del lenguaje natural (NLP). Ejemplo: Una base de datos con 1,000 artículos recopilados para un análisis de sentimientos.

Diccionario
El diccionario es el conjunto de todas las palabras únicas presentes en el corpus. Se utiliza para construir características en modelos de NLP y, a menudo, excluye palabras
vacías (stop words) y términos poco frecuentes para optimizar la eficiencia. Ejemplo: El vocabulario de la frase "Me gustan las manzanas y naranjas" podría incluir {‘Me’,
‘gustan’, ‘manzanas’, ‘naranjas’} si se excluyen las palabras vacías.

Tokenización
Es el proceso de “trocear” el texto en unidades más pequeñas y manejables llamadas tokens. Estos tokens pueden ser palabras u otras frases.

Ejemplo: “Me encanta NLP. Es divertido” ”Me encanta NLP”, “Es divertido” : Sentence tokenization

“Me encanta NLP” ”Me”,“encanta”,“NLP” : Word tokenization

Stopwords
Son palabras que no aportan significado o aportan muy poco significado: Ej. articulos, determinante, conjunciones, …: “El”, “y”, “este”
Transformaciones básicas
Natural Language Programming (NLP)

Los algoritmos ML y las redes neuronales no entienden el texto, por ello se requiere “traducir” este texto en números.
NLP: Straightforward transformations
NLP: Straightforward transformations
NLP: Straightforward transformations
Bi-grams y n-grams
Tienen en cuenta palabras adyacentes Define pares de palabras según su secuencia de aparición

Crea un diccionario

Ahora representamos cada frase igual que hacía en BoW-


NLP: Straightforward transformations
TF-IDF
Tiene en cuenta la importancia de cada palabra dentro del documento.

TF(t,d) es la frecuencia del término t en el documento d. Esto es el cociente entre el


número de veces que aparece t en el documento y el número total de palabras del
documento d
N es el número total de documentos.
DF(t) es el número de documentos que contienen el término t.
Resumen: StraightForward Tranformations

Nombre de la técnica Nombre de la técnica Ventajas Desventajas Casos de uso comunes

Representa cada palabra como un vector binario No captura relaciones entre palabras y puede
One Hot Encoding donde solo una posición es 1 y las demás son 0.
Simplicidad y facilidad de implementación.
generar vectores muy grandes
Modelos de clasificación de texto simples

Cuenta la frecuencia de cada palabra en un No captura el contexto ni las relaciones entre Análisis de sentimientos, clasificación 

Bag of Words documento, ignorando el orden de las palabras.
Fácil de entender e implementar.
palabras de documentos.
CountVectorizer()

Puede generar un gran número de


Captura contexto local y relaciones entre
N-grams Secuencias contiguas de 'n' palabras en un texto.
palabras.
características 
 Modelos de lenguaje, análisis de secuencias.
y ser computacionalmente costoso.

Asigna un peso a cada palabra basado en su


Reduce el impacto de palabras comunes y Requiere más recursos computacionales y puedeBúsqueda de información, recuperación de
TF-IDF frecuencia en un documento y su rareza en el
resalta términos importantes. ser complejo de implementar. documentos
corpus.
Transformaciones avanzadas
NLP: funciones más avanzadas

Tokenizacion
Stemming
Lemmatization
Part OF Speech (POS)
Named Entity Recognition (NER)
NLP: Tokenizer
Tokenizer
El proceso de dividir el texto en unidades más pequeñas llamadas tokens, que pueden ser palabras,
subpalabras o caracteres.

Tokenización de palabras: División del texto en palabras individuales. Ejemplo: "Estudio Machine Learning en Evolve
Academy." se tokenizará en palabras como: ['Estudio', 'Data', 'Science', 'en', 'Evolve', Academy', '.']

Tokenización de oraciones: División del texto en oraciones individuales. Ejemplo: "Estudio Machine Learning en
GeeksforGeeks. Actualmente, estoy estudiando NLP." se tokenizará en oraciones como: ['Estudio Data Science en Evolve
Academy.', 'Actualmente, estoy estudiando NLP.']

Tokenización de subpalabras: División de palabras en unidades más pequeñas, como prefijos, sufijos o caracteres individuales

Importancia: La tokenización es el primer paso en muchas canalizaciones de procesamiento de lenguaje


natural (NLP) y afecta las etapas de procesamiento posteriores.
NLP: Stemming & Lemmatisation

Stemming Lemmatisation
Definición Definición
El proceso de reducir las palabras a su forma raíz eliminando El proceso de reducir una palabra a su forma base o de
sufijos y prefijos. diccionario, llamada lema.

Ejemplo Ejemplo
Las palabras "comida" y "comer" se reducen a "com". Las palabras "comida" y "malcomer" se reducen a "com".

Diferencia con la Lemmatisation Importancia


El stemming es una técnica más rudimentaria en comparación Ayuda a comprender el significado subyacente de las palabras al
con la lematización y puede no siempre producir palabras reales. agrupar diferentes formas de una misma palabra.

Comparación
Los algoritmos de stemming son más rápidos y
computacionalmente menos costosos que los lematizadores.
NLP: POS y NER

Part of Speech (POS) Named Entity Recognition ( (NER)


El etiquetado de partes del discurso (POS tagging) es el El Reconocimiento de Entidades Nombradas (NER) es la tarea
proceso de asignar una categoría gramatical a cada palabra en de identificar y clasificar entidades específicas dentro de un
un texto. Estas categorías pueden incluir sustantivos (NOUN), texto, como personas, ubicaciones, organizaciones, fechas,
verbos (VERB), adjetivos (ADJ), adverbios (ADV), etc. valores numéricos, etc.

Ejemplo Ejemplo
En la frase "El procesamiento de lenguaje natural es En la frase "Barack Obama nació en Hawái y fue
fascinante." presidente de los Estados Unidos.", el modelo NER
podría detectar:

[('El', 'DET'), ('procesamiento', 'NOUN'), ('de',


'ADP'), ('lenguaje', 'NOUN'), ('natural', 'ADJ'), [('Barack Obama', 'PERSON'), ('Hawái', 'GPE'),
('es', 'AUX'), ('fascinante', 'ADJ'), ('.', ('Estados Unidos', 'GPE')]

'PUNCT')]
Embeddings
NLP: Word Embeddings

Los word embeddings son representaciones vectoriales densas,

de baja dimensión y continuas de palabras que capturan

información semántica y sintáctica.

Características

Denso: A diferencia de representaciones dispersas como la

codificación one-hot, los embeddings son densos, lo que

significa que la mayoría de sus elementos son distintos de cero.

Espacio Vectorial: Las palabras están posicionadas en un

espacio vectorial, lo que permite realizar operaciones

matemáticas y comparaciones.

Reducción de Dimensionalidad: El espacio vectorial suele

reducirse a una menor dimensión para mejorar la eficiencia

computacional y la visualización.

Similitud Semántica: Las palabras con significados similares

tienen embeddings similares.


NLP: Word Embeddings
NLP: Embeddings
Tipos de embeddings

Los word embeddings representan palabras individuales como vectores. Técnicas como Word2Vec, GloVe y FastText generan
estos embeddings capturando relaciones semánticas e información contextual a partir de grandes corpus de texto.

Los sentence embeddings representan oraciones completas como vectores. Modelos como Universal Sentence Encoder
(USE) y SkipThought generan embeddings que reflejan el significado y contexto general de las oraciones.

Los document embeddings representan documentos completos (como artículos de periódico, trabajos académicos o libros) en
forma de vectores. Capturan la información semántica y el contexto de todo el documento. Técnicas como Doc2Vec y
Paragraph Vectors están diseñadas para generar embeddings de documentos.
Embedding estáticos
Embeddings Estáticos
Los vectores densos o word embeddings abordan las limitaciones de la codificación one-hot proporcionando representaciones
más informativas y compactas de las palabras.

Reducción de Dimensionalidad
En lugar de tener una longitud de vector igual al tamaño del vocabulario, los embeddings suelen utilizar dimensiones mucho más
pequeñas (por ejemplo, 50, 100 o 300).

Proximidad Semántica
Los vectores densos ubican palabras semánticamente similares cerca unas de otras en el espacio vectorial. Por ejemplo, la
similitud del coseno entre los vectores de "gato" y "perro" será mayor que entre "gato" y "pez".

Ejemplos
Word2Vec: Aprende embeddings prediciendo una palabra a partir de su contexto o viceversa
GloVe: Utiliza factorización de matrices para derivar embeddings
FastText: Trabaja a nivel de subpalabras
Word2Vec

Desarrollado por Tomas Mikolov y otros en Google, 2013.

Word2Vec es un tipo de word embedding que asigna palabras a espacios vectoriales de alta dimensión, permitiendo realizar

operaciones matemáticas sobre ellas.

La clave de Word2Vect es que las palabras con significados similares tienden a aparecer en contextos similares.

Capturan propiedades semánticas como la similitud entre palabras, las analogías e incluso relaciones semánticas más complejas

Predice la palabra objetivo a partir del contexto (palabras vecinas)

Es más eficiente en datasets grandes y funciona bien para palabras

CBOW frecuentes

Ejemplo: Si tenemos "El ___ es azul", CBOW intenta predecir

"cielo".

Hace lo opuesto: predice el contexto dada una palabra objetivo

Funciona mejor con palabras poco frecuentes y captura relaciones

Skip-gram más complejas

Ejemplo: Si la palabra es "cielo", Skip-gram intenta predecir

"azul", "alto", "nubes".


GloVe

Desarrollado por investigadores de la Universidad de Stanford, 2014.

GloVe es un algoritmo de aprendizaje no supervisado que obtiene representaciones vectoriales de palabras analizando las

estadísticas de coocurrencia de términos en un corpus de texto. Estos vectores de palabras capturan el significado semántico y las

relaciones entre ellas.

La idea clave detrás de GloVe es generar word embeddings examinando la probabilidad de coocurrencia de palabras en todo el

corpus. Para ello, construye una matriz global de coocurrencia palabra-palabra y luego la factoriza para obtener vectores de

palabras, que representan los términos en un espacio vectorial continuo.


FasText

FastText es un modelo de aprendizaje automático desarrollado por Facebook AI Research (FAIR) en 2016

A diferencia de modelos como Word2Vec, que representan palabras como vectores únicos, FastText trabaja a nivel de subpalabras.
Esto significa que

Divide las palabras en n-gramas → Por ejemplo, la palabra "canción" se descompone en ["ca", "can", "anc", "nci", "ció", "ión"].
Genera embeddings para cada subpalabra → Esto permite que palabras similares tengan representaciones más cercanas.
Maneja mejor palabras desconocidas → Si una palabra no está en el vocabulario, FastText puede estimar su significado a partir
de sus subpalabras.
Comparativa embeddings estáticos
Característica Word2Vec GloVe FastText

Año de lanzamiento 2013 2014 2016

Desarrollado por Google Stanford Facebook AI Research

Método de aprendizaje Basado en ventana de contexto Basado en matriz de coocurrencia Basado en subpalabras (n-gramas)

Arquitectura CBOW y Skip-gram Factorización de matrices CBOW y Skip-gram con subpalabras

Muy alta (especialmente en palabras poco


Captura de relaciones semánticas Alta Alta
frecuentes)

Manejo de palabras desconocidas No aprende nuevas palabras No aprende nuevas palabras Sí, generaliza por subpalabras

Uso de memoria Moderado Alto (matriz grande) Alto (por subpalabras)

Velocidad de entrenamiento Rápido Más lento (requiere factorizar matriz) Muy rápido

NLP, clasificación de texto, modelado 



Aplicaciones principales NLP, análisis semántico, búsqueda NLP, análisis semántico
de lenguaje
Embeddings contextuales

Embeddings Contextuales Los contextual embeddings son

representaciones vectoriales de palabras que capturan su

significado dependiendo del contexto en el que aparecen, a

diferencia de los embeddings estáticos que asignan un único

vector a cada palabra.

Self-Attention. Genera representaciones sensibles al contexto

gracias a su mecanismo de autoatención (self-attention).

Adaptación al contexto: Si una palabra aparecía en un contexto

diferente, el modelo generaría una representación distinta.

Mientras que los algoritmos estáticos (Word2Vec, GloVe)

generan siempre la misma representación.

Mayor Precisión Semántica: Al depender del entorno en el que

se usa la palabra, los embeddings contextuales mejoran la

comprensión del lenguaje natural.".

Algoritmos: ELMo, BERT, GPT, RoBERTa, ERNIE, T5


BERT
BERT (Bidirectional Encoder Representations from Transformers)
fue lanzado por Google AI en 2018
Enconder-Only; El bloque de codificador del Transformer recibe
una secuencia de entrada y generar representaciones vectoriales
enriquecidas para cada token. Los modelos Encoder-only son
buenos en tareas NLU. mientras que los decoder lo son en NLG
Preentreado. BERT ha sido entrenado con BookCorpus (colección
de libros de dominio público) y . la Wikipedia en inglés.
Bidireccional: Cada palabra de entrada toma contexto de las
anteriores y posteriores.
BERT: Algunos algoritmos
BERT: Algunos algoritmos
Modelo BERT Utilidad Principal Desarrollado Python
from transformers import pipeline; model =
BERT-base-uncased Análisis de texto en inglés sin mayúsculas Google AI pipeline("feature-extraction", model="bert-base-
uncased")
BERT-base-uncased Versión más potente de BERT-base Google AI model = pipeline("feature-extraction", model="bert-
large-uncased")

DistilBERT Versión ligera y rápida de BERT Hugging Face model = pipeline("feature-extraction",


model="distilbert-base-uncased")

RoBERTa Mejora de BERT con más entrenamiento Facebook AI model = pipeline("feature-extraction", model="roberta-
base")

ALBERT Optimización de BERT con menos parámetros Google AI model = pipeline("feature-extraction", model="albert-
base-v2")

mBERT (Multilingual BERT) omprensión de texto en múltiples idiomas Google AI model = pipeline("feature-extraction", model="bert-
C base-multilingual-uncased")

BioBERT Especializado en terminología biomédica orea University model = pipeline("feature-extraction", model="dmis-lab/


K biobert-base-cased")

ciBERT Orientado al análisis de textos científicos Allen Institute for AI model = pipeline("feature-extraction", model="allenai/
S scibert_scivocab_uncased")

LegalBERT Entrenado en documentos legales Various researchers model = pipeline("feature-extraction", model="nlpaueb/


legal-bert-base-uncased")

TweetEval-BERT Optimizado para clasificación de tweets Various researchers model = pipeline("text-classification",


model="cardiffnlp/twitter-roberta-base-sentiment")

BERTweet Ajustado para comprensión de lenguaje informal VinAI Research model = pipeline("feature-extraction", model="vinai/
bertweet-base")

Electra Modelo con entrenamiento más eficiente que BERT Google Research model = pipeline("feature-extraction", model="google/
electra-small-discriminator")
NLP: Casos de uso

Embeddings
Sentiment Analysis
Análisis de similitud
Topic analysis
Clustering de textos
Creación de un recomendador de canciones en función del sentimiento / emoción
Análisis de emociones

También podría gustarte