sto cercando di rimuovere le parole non significative da una stringa di testo:modo più veloce per rimuovere parole di arresto in Python
from nltk.corpus import stopwords
text = 'hello bye the the hi'
text = ' '.join([word for word in text.split() if word not in (stopwords.words('english'))])
sto elaborando 6 mil di tali stringhe per cui la velocità è importante. Profiling il mio codice, la parte più lenta sono le righe sopra, c'è un modo migliore per farlo? Sto pensando di usare qualcosa come regex re.sub
ma non so come scrivere il modello per un insieme di parole. Qualcuno può darmi una mano e sono anche felice di sentire altri metodi forse più veloci.
Nota: ho provato a suggerire qualcuno di avvolgere stopwords.words('english')
con set()
ma ciò non ha fatto alcuna differenza.
Grazie.
Quanto è grande 'stopwords.words ('english')'? –
@SteveBarnes Un elenco di 127 parole – mchangun
hai avvolgerla all'interno di lista o fuori? provo aggiungere stw_set = set (stopwords.words ('inglese')) e utilizzare questo oggetto invece – alko