Padroneggiare la memoria a breve termine con Python: liberare la potenza di LSTM nella PNL |  di Eligijus Bujokas |  Novembre 2023

 | Intelligenza-Artificiale

Una guida completa per comprendere e implementare i livelli LSTM per l’elaborazione del linguaggio naturale con Python

fotografato da Sven Brandsma SU Unsplash

Questo lavoro è una continuazione del mio articolo su RNN e PNL con Python. Una progressione naturale di una rete di deep learning con un semplice livello ricorrente è una rete di deep learning con a lon Short Tehm Mmemoria (LSTM in breve) strato.

Come con RNN e PNL, cercherò di spiegare lo strato LSTM in grande dettaglio e di codificare il passaggio in avanti dello strato da zero.

Tutti i codici possono essere visualizzati qui: https://github.com/Eligijus112/NLP-python

Lavoreremo con lo stesso set di dati¹ dell’articolo precedente:

# Data wrangling
import pandas as pd

# Reading the data
d = pd.read_csv('input/Tweets.csv', header=None)

# Adding the columns
d.columns = ('INDEX', 'GAME', "SENTIMENT", 'TEXT')

# Leaving only the positive and the negative sentiments
d = d(d('SENTIMENT').isin(('Positive', 'Negative')))

# Encoding the sentiments that the negative will be 1 and the positive 0
d('SENTIMENT') = d('SENTIMENT').apply(lambda x: 0 if x == 'Positive' else 1)

# Dropping missing values
d = d.dropna()

Righe casuali dal set di dati; Immagine dell’autore

Ricorda che SENTIMENT=1 è un sentimento negativo e SENTIMENT=0 è un sentimento positivo.

Dobbiamo convertire i dati di testo in una sequenza di numeri interi. A differenza dell’articolo precedente, però, ora creeremo una sequenza non di parole ma di singoli caratteri.

Ad esempio, il testo “Bel gioco” potrebbe essere convertito nel seguente vettore di esempio:

(1, 2, 3, 4, 5, 6, 7, 8, 3)

Ogni singolo carattere, compresi gli spazi bianchi e la punteggiatura, avrà un indice.

def create_word_index(
x: str,
shift_for_padding: bool = False,
char_level: bool = False) -> Tuple(dict, dict):
"""
Function that scans a given text and creates two dictionaries:
- word2idx: dictionary mapping words to integers…

Fonte: towardsdatascience.com

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *