Sesión 05 de Junio Teoria Procesamiento de Lenguaje natural y RNN¶
Recursos¶
https://colab.research.google.com/drive/1Bz-ozmdy46EZzXuZBhM6Zkw6uRKnIKOW?usp=sharing
https://radimrehurek.com/gensim/models/word2vec.html
https://nlp.stanford.edu/projects/glove/
https://www.nltk.org/api/nltk.tokenize.html
Notas de clase¶
Tokenización
Extracción de unidades (palabras, subpalabras, oraciones) significativas de un texto, por ejemplo tenemos word_tokenizer, wordpunct_tokenize
Embeding o representación de palabras
Son un conjunto de técnicas que se utilizan para representar texto en vectores numéricos.
Es importante que tenga relaciones (semanticas, contextuales, función) por ejemplo one hot encoding no es apropiado, solo representa la palabra sola
Word2vec
Una representación vectorizal basada en el contexto, función, relaciones entre las palbras
Word2Vect(tokens
vector_size=20,
window=4,
min_count=1)
Modelos
- LSTM (Redes recurrentes)
- Embeding preentrenados (utilizan el contexto del idioma) (Word2Vec, Glove)
- Podemos incluir estos embedings en las capas de una red
- BERT Comprensión del lenguaje
- GPT Generación de lenguaje (respuestas)
Evaluación (rendimiento)
- Perplexidad: Es la medida de “sorpresa” en las palabras, es decir significan algo diferente a lo esperado
- Rendimiento: Precisión, recall y f1 score
- BLEU: La evaluación de la calidad de una traduccion
Tengo una manzana
I have a apple ←- Incorrecto
I have an apple
Ajuste de hiperparámetros
- Tasa de aprendizaje
- Tamaño de la red
- Longitud de la secuencia
- Cantidad de capas (tipo)
Otras consideraciones
- Aumento de datos
- Fine tuning (ajustar un modelo preentrenado)
- Transfer: Usando un modelo preentrenado (conocimiento)
Clasificacion de sentimientos
Determinar si un texto es positivo, negativo o neutral en un contexto de dado LSTM y Embeding preentrenados
LSTM me permite capturar un contexto largo de un texto
Embeding preentrenado: Contexto del idioma objeivo
Consideraciones finales
- Overfitting: Usar estrategias como dropout para evitar que algunos pesos se vuelvan muy grandes
- Generación de texto significativo (que tenga sentido o sea coherente en el contexto dado)
- Generación de texto con estilo (Formal, informal, etc)
Resumen¶
- Usamos embedings preentrenados para transformar el texto a vector significativos tomando en cuenta el contexto del lenguaje
- Usamos modelos preentrenados junto con capas por entrenar LSTM para tener contexto largo de las oraciones (poder relacionar mejor las palabras)
- Se debe hacer un proceso de evaluación (metricas de rendimiento) y estrategias de ajuste de los hiperparametros