Stopword
ref: https://bkshin.tistory.com/entry/NLP-3-%EB%B6%88%EC%9A%A9%EC%96%B4Stop-word-%EC%A0%9C%EA%B1%B0 Parole che non hanno grande significato analitico. Articoli come a, an, the e pronomi come I, my rientrano in questa categoria.
- spaCy fornisce
is_stop(booleano) sui token dell’oggetto NLP. - NLTK fornisce un dizionario di stopword.
import nltknltk.download('stopwords')print('Number of English stopwords:',len(nltk.corpus.stopwords.words('english')))Lemmatization
ref: https://wikidocs.net/21707
Le parole hanno radici e affissi.
- Radice (stem): la parte che porta il significato della parola
- Affisso (affix): la parte che aggiunge significato aggiuntivo
La lemmatization e il processo di estrazione della radice.
Punctuation
La rimozione della punteggiatura e la normalizzazione testuale piu comune.
- Rimuovere con regex
- text = re.sub(r”[^a-zA-Z0-9]”, ” ”, text)
- Sostituisce tutto tranne lettere e numeri con spazi.
- Di solito si sostituisce con spazi per preservare al massimo la struttura della frase.
- Il token
is_punctdi spaCy indica se un token e punteggiatura. - Si possono usare anche le funzioni built-in di Python.
- Usare la lista di punteggiatura
string.punctuation.
- Usare la lista di punteggiatura