Masterizando la memoria larga y corta plazo con Python Desatando el poder de LSTM en NLP
Dominando la memoria a largo y corto plazo con Python Desatando el poder de LSTM en NLP
Una guía completa para entender e implementar capas LSTM para procesamiento de lenguaje natural con Python
Este trabajo es una continuación de mi artículo sobre RNN y NLP con Python. Una progresión natural de una red de aprendizaje profundo con una capa recurrente simple es una red de aprendizaje profundo con una capa de Memoria a Corto y Largo Plazo (LSTM por sus siglas en inglés).
Al igual que con la RNN y NLP, intentaré explicar la capa LSTM en detalle y codificar el pase hacia adelante de la capa desde cero.
Todos los códigos se pueden ver aquí: https://github.com/Eligijus112/NLP-python
Trabajaremos con el mismo conjunto de datos¹ que en el artículo anterior:
- GenAI práctico para líderes de producto e ingeniería
- Investigadores de Microsoft proponen PIT (Transformación Permutación Invariante) un compilador de aprendizaje profundo para la escasez dinámica.
- Decodificación anticipada un algoritmo de decodificación paralela para acelerar la inferencia de LLM
# Manipulación de datos import pandas as pd# Leyendo los datos d = pd.read_csv('input/Tweets.csv', header=None)# Añadiendo las columnas d.columns = ['INDEX', 'JUEGO', "SENTIMIENTO", 'TEXTO']# Manteniendo solo los sentimientos positivos y negativos d = d[d['SENTIMIENTO'].isin(['Positivo', 'Negativo'])]# Codificando los sentimientos para que el negativo sea 1 y el positivo 0d['SENTIMIENTO'] = d['SENTIMIENTO'].apply(lambda x: 0 if x == 'Positivo' else 1)# Eliminando valores faltantesd = d.dropna()
![Filas aleatorias del conjunto de datos; Imagen del autor](https://ai.miximages.com/miro.medium.com/v2/resize:fit:640/format:webp/1*IjyS8-yApypHJ2psO9sA2g.png)
Recuerda que SENTIMIENTO=1 es un sentimiento negativo y SENTIMIENTO=0 es un sentimiento positivo.
Necesitamos convertir los datos de texto en una secuencia de números enteros. A diferencia del artículo anterior, ahora crearemos una secuencia no de palabras sino de caracteres individuales.
Por ejemplo, el texto “Buen juego” podría convertirse en el siguiente vector de ejemplo:
[1, 2, 3, 4, 5, 6, 7, 8, 3]
Cada carácter individual, incluyendo espacios y puntuaciones, tendrá un índice.
def create_word_index( x: str, shift_for_padding: bool = False, char_level: bool = False) -> Tuple[dict, dict]: """ Función que analiza un texto dado y crea dos diccionarios: - word2idx: diccionario que mapea palabras a números enteros…
We will continue to update Zepes; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles
- Investigadores de ETH Zurich presentan UltraFastBERT una variante de BERT que utiliza el 0,3% de sus neuronas durante la inferencia y ofrece un rendimiento similar a otros modelos de BERT similares.
- Simplifica la preparación de datos para la IA generativa con Amazon SageMaker Data Wrangler
- Mejora el rendimiento de la inferencia para LLMs con los nuevos contenedores de Amazon SageMaker
- IA al descubierto Bloggers y escritores que debes seguir
- Las 10 formas creativas de utilizar las paredes de palabras en tu rutina de estudio
- Máquinas que Aprenden Explorando las Posibilidades de la Tecnología de IA
- Dominar la migración a la nube Mejores prácticas para hacerla exitosa