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

Fotografía de Sven Brandsma en Unsplash

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:

# 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

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!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

¿Se entienden Do Flamingo y DALL-E? Explorando la simbiosis entre los modelos de generación de subtítulos de imágenes y síntesis de texto a imagen

La investigación multimodal que mejora la comprensión de la computadora de texto e imágenes ha avanzado mucho recient...

Inteligencia Artificial

Nueva herramienta para construir y reparar carreteras y puentes Inteligencia Artificial

En Pennsylvania y en otros lugares, se está aplicando la inteligencia artificial a la infraestructura envejecida del ...

Inteligencia Artificial

Haz de ChatGPT un Mejor Desarrollador de Software SoTaNa es un Asistente de IA de Código Abierto para el Desarrollo de Software

Cómo hacemos lo que hacemos ha cambiado rápidamente en los últimos años. Hemos comenzado a utilizar asistentes virtua...

Inteligencia Artificial

Este artículo de IA de China propone HQTrack un marco de IA para rastrear cualquier cosa de alta calidad en videos

El seguimiento visual de objetos es la base de numerosos subcampos dentro de la visión por computadora, incluyendo la...