Stopwoorden en interpunctie verwerken

Natural Language Processing (NLP) in Python

Fouad Trad

Machine Learning Engineer

Stopwoorden

  • Komen vaak voor maar dragen weinig bij aan de context voor machines
  • Leveren in veel NLP-taken weinig waarde op
  • Verwijderen helpt modellen focussen op belangrijke woorden

Afbeelding met meerdere stopwoorden zoals a, an, the, in, of, that, for, by, enz.

Natural Language Processing (NLP) in Python

Stopwoorden verwijderen

Handig voor

Het onderwerp van een tekst begrijpen

Afbeelding met reviews voor een product in een mobiele app

Natural Language Processing (NLP) in Python

Stopwoorden verwijderen

Handig voor

Het onderwerp van een tekst begrijpen

Afbeelding met reviews voor een product in een mobiele app

Niet handig voor

Taken die elk woord in de tekst vereisen

Afbeelding met een tekst die wordt vertaald van Engels (Good morning) naar Frans (Bonjour).

Natural Language Processing (NLP) in Python

Stopwoorden openen

NLTK biedt een lijst met stopwoorden voor meerdere talen

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) in Python

Stopwoorden verwijderen

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) in Python

Interpunctie

  • Structureren taal voor mensen
  • Geen betekenisvolle info in veel NLP-taken

Afbeelding met leestekens en speciale tekens.

Natural Language Processing (NLP) in Python

Interpunctie verwijderen

Handig voor

Taken die veelvoorkomende of belangrijke woorden in documenten zoeken

Afbeelding met meerdere bestanden en documenten die verwerkt moeten worden.

Natural Language Processing (NLP) in Python

Interpunctie verwijderen

Handig voor

Taken die veelvoorkomende of belangrijke woorden in documenten zoeken

Afbeelding met meerdere bestanden en documenten die verwerkt moeten worden.

Niet handig voor

Taken waarbij zinsstructuur nodig is voor duidelijkheid

Afbeelding met een stapel boeken en een samenvatting die daaruit is gegenereerd.

Natural Language Processing (NLP) in Python

Interpunctie benaderen en verwijderen

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) in Python

Laten we oefenen!

Natural Language Processing (NLP) in Python

Preparing Video For Download...