Stoppord och interpunktionshantering

Natural Language Processing (NLP) i Python

Fouad Trad

Machine Learning Engineer

Stoppord

  • Förekommer ofta men bidrar lite till modellens förståelse av sammanhang
  • Tillför sällan värde i många NLP-uppgifter
  • Att ta bort dem hjälper modeller att fokusera på viktiga ord

Bild som visar flera stoppord som a, an, the, in, of, that, for, by m.fl.

Natural Language Processing (NLP) i Python

Borttagning av stoppord

Användbart för

Att förstå ämnet i en text

Bild som visar recensioner för en produkt i en mobilapp

Natural Language Processing (NLP) i Python

Borttagning av stoppord

Användbart för

Att förstå ämnet i en text

Bild som visar recensioner för en produkt i en mobilapp

Inte användbart för

Uppgifter som kräver varje ord i texten

Bild som visar en text som översätts från engelska (Good morning) till franska (Bonjour).

Natural Language Processing (NLP) i Python

Hämta stoppord

NLTK tillhandahåller en lista med stoppord för flera språk

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

Ta bort stoppord

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

Interpunktion

  • Strukturerar språk för människor
  • Tillför ingen meningsfull information i många NLP-uppgifter

Bild som visar interpunktionstecken och specialtecken.

Natural Language Processing (NLP) i Python

Borttagning av interpunktion

Användbart för

Uppgifter som kräver att hitta vanliga eller viktiga ord i dokument

Bild som visar flera filer och dokument som behöver bearbetas.

Natural Language Processing (NLP) i Python

Borttagning av interpunktion

Användbart för

Uppgifter som kräver att hitta vanliga eller viktiga ord i dokument

Bild som visar flera filer och dokument som behöver bearbetas.

Inte användbart för

Uppgifter som kräver att meningsstrukturen bevaras för tydlighetens skull

Bild som visar en hög böcker och ett sammanfattningsdokument som genererats från dem.

Natural Language Processing (NLP) i Python

Hämta och ta bort interpunktion

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

Nu kör vi en övning!

Natural Language Processing (NLP) i Python

Preparing Video For Download...