Racinisation et lemmatisation

Analyse de sentiments en Python

Violeta Misheva

Data Scientist

Qu'est-ce que la racinisation ?

La racinisation consiste à ramener les mots à leur racine, même si cette racine n'est pas un mot valide dans la langue.

staying, stays, stayed ----> stay
house, houses, housing ----> hous

Analyse de sentiments en Python

Qu'est-ce que la lemmatisation ?

La lemmatisation est proche de la racinisation, mais elle réduit les mots à des formes racines qui sont de vrais mots de la langue.

stay, stays, staying, stayed ----> stay
house, houses, housing ----> house
Analyse de sentiments en Python

Racinisation vs lemmatisation

Racinisation

  • Produit des racines de mots
  • Rapide et économe en calcul

Lemmatisation

  • Produit de vrais mots
  • Plus lente que la racinisation et peut dépendre de la catégorie grammaticale
Analyse de sentiments en Python

Racinisation de chaînes

from nltk.stem import PorterStemmer

porter = PorterStemmer()
porter.stem('wonderful')
'wonder'
Analyse de sentiments en Python

Racineurs pour d'autres langues

Snowball Stemmer : Danish, Dutch, English, Finnish, French, German, Hungarian, Italian, Norwegian, Portuguese, Romanian, Russian, Spanish, Swedish

from nltk.stem.snowball import SnowballStemmer

DutchStemmer = SnowballStemmer("dutch")
DutchStemmer.stem("beginnen")
'begin'
Analyse de sentiments en Python

Comment raciniser une phrase ?

porter.stem('Today is a wonderful day!')
'today is a wonderful day!'
tokens = word_tokenize('Today is a wonderful day!')
stemmed_tokens = [porter.stem(token) for token in tokens]
stemmed_tokens
['today', 'is', 'a', 'wonder', 'day', '!']
Analyse de sentiments en Python

Lemmatisation d'une chaîne

from nltk.stem import WordNetLemmatizer

WNlemmatizer = WordNetLemmatizer()
WNlemmatizer.lemmatize('wonderful', pos='a')
'wonderful'
Analyse de sentiments en Python

Passons à la pratique !

Analyse de sentiments en Python

Preparing Video For Download...