Traitement des stop words et de la ponctuation

Natural Language Processing (NLP) en Python

Fouad Trad

Machine Learning Engineer

Stop words

  • Fréquents, mais apportent peu au contexte pour la machine
  • Peu utiles dans bien des tâches de TAL
  • Les retirer aide les modèles à se concentrer sur les mots importants

Image montrant plusieurs stop words comme a, an, the, in, of, that, for, by, etc.

Natural Language Processing (NLP) en Python

Retrait des stop words

Utile pour

Comprendre le sujet d'un texte

Image montrant des avis sur un produit dans une application mobile

Natural Language Processing (NLP) en Python

Retrait des stop words

Utile pour

Comprendre le sujet d'un texte

Image montrant des avis sur un produit dans une application mobile

Pas utile pour

Les tâches où chaque mot compte dans le texte

Image montrant un texte traduit de l'anglais (Good morning) au français (Bonjour).

Natural Language Processing (NLP) en Python

Accéder aux stop words

NLTK fournit une liste de stop words pour plusieurs langues

from nltk.corpus import stopwords
nltk.download('stopwords')

stop_words = stopwords.words('english')
print(stop_words[:10])
['a', 'about', 'above', 'after', 'again', 'against', 'ain', 'all', 'am', 'an']
Natural Language Processing (NLP) en Python

Retirer les stop words

from nltk.tokenize import word_tokenize

text = "This is an example to demonstrate removing stop words."
tokens = word_tokenize(text)
# The .lower() method helps with case sensitivity filtered_tokens = [word for word in tokens if word.lower() not in stop_words]
print(filtered_tokens)
['example', 'demonstrate', 'removing', 'stop', 'words', '.']
Natural Language Processing (NLP) en Python

Ponctuation

  • Structure la langue pour les humains
  • Souvent sans information utile en TAL

Image montrant des signes de ponctuation et des caractères spéciaux.

Natural Language Processing (NLP) en Python

Retrait de la ponctuation

Utile pour

Trouver des mots fréquents ou importants dans des documents

Image montrant plusieurs fichiers et documents à traiter.

Natural Language Processing (NLP) en Python

Retrait de la ponctuation

Utile pour

Trouver des mots fréquents ou importants dans des documents

Image montrant plusieurs fichiers et documents à traiter.

Pas utile pour

Les tâches où il faut garder la structure des phrases pour la clarté

Image montrant une pile de livres et un document de synthèse généré à partir d'eux.

Natural Language Processing (NLP) en Python

Accéder à la ponctuation et la retirer

import string
print(string.punctuation)
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
text = "This is an example to demonstrate removing stop words."
tokens = word_tokenize(text)
filtered_tokens = [word for word in tokens if word.lower() not in stop_words]

clean_tokens = [word for word in filtered_tokens if word not in string.punctuation]
print(clean_tokens)
['example', 'demonstrate', 'removing', 'stop', 'words']
Natural Language Processing (NLP) en Python

Passons à la pratique !

Natural Language Processing (NLP) en Python

Preparing Video For Download...