Python: rimuovi le parole non significative

Le parole non significative sono le parole inglesi che non aggiungono molto significato a una frase. Possono essere tranquillamente ignorati senza sacrificare il significato della frase. Ad esempio, le parole come, he, have ecc. Tali parole sono già catturate in questo corpus chiamato corpus. Per prima cosa lo scarichiamo nel nostro ambiente Python.

import nltk
nltk.download('stopwords')

Verrà scaricato un file con parole non significative in inglese.

Verifica delle parole non significative

from nltk.corpus import stopwords
stopwords.words('english')
print stopwords.words() [620:680]

Quando eseguiamo il programma sopra, otteniamo il seguente output:

[u'your', u'yours', u'yourself', u'yourselves', u'he', u'him', u'his', u'himself', u'she', 
u"she's", u'her', u'hers', u'herself', u'it', u"it's", u'its', u'itself', u'they', u'them', 
u'their', u'theirs', u'themselves', u'what', u'which', u'who', u'whom', u'this', 
u'that', u"that'll", u'these', u'those', u'am', u'is', u'are', u'was', u'were', u'be',
u'been', u'being', u'have', u'has', u'had', u'having', u'do', u'does', u'did', u'doing',
u'a', u'an', u'the', u'and', u'but', u'if', u'or', u'because', u'as', u'until',
u'while', u'of', u'at']

Le varie lingue diverse dall'inglese che hanno queste parole non significative sono le seguenti.

from nltk.corpus import stopwords
print stopwords.fileids()

Quando eseguiamo il programma sopra, otteniamo il seguente output:

[u'arabic', u'azerbaijani', u'danish', u'dutch', u'english', u'finnish', 
u'french', u'german', u'greek', u'hungarian', u'indonesian', u'italian', 
u'kazakh', u'nepali', u'norwegian', u'portuguese', u'romanian', u'russian',
u'spanish', u'swedish', u'turkish']

Esempio

Usiamo l'esempio seguente per mostrare come le parole non significative vengono rimosse dall'elenco di parole.

from nltk.corpus import stopwords
en_stops = set(stopwords.words('english'))
all_words = ['There', 'is', 'a', 'tree','near','the','river']
for word in all_words: 
    if word not in en_stops:
        print(word)

Quando eseguiamo il programma sopra, otteniamo il seguente output:

There
tree
near
river