Obsługa stop słów i interpunkcji

Przetwarzanie języka naturalnego (NLP) w Pythonie

Fouad Trad

Machine Learning Engineer

Stop słowa

  • Występują często, ale mało wnoszą do rozumienia kontekstu przez model
  • Nie mają dużej wartości w wielu zadaniach NLP
  • Ich usunięcie pozwala modelowi skupić się na ważnych słowach

Obraz przedstawiający stop słowa, takie jak a, an, the, in, of, that, for, by itp.

Przetwarzanie języka naturalnego (NLP) w Pythonie

Usuwanie stop słów

Przydatne do

Rozumienia tematu tekstu

Obraz przedstawiający recenzje produktu w aplikacji mobilnej

Przetwarzanie języka naturalnego (NLP) w Pythonie

Usuwanie stop słów

Przydatne do

Rozumienia tematu tekstu

Obraz przedstawiający recenzje produktu w aplikacji mobilnej

Nieprzydatne do

Zadań wymagających każdego słowa w tekście

Obraz przedstawiający tłumaczenie tekstu z angielskiego (Good morning) na francuski (Bonjour).

Przetwarzanie języka naturalnego (NLP) w Pythonie

Dostęp do stop słów

NLTK udostępnia listę stop słów dla wielu języków

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']
Przetwarzanie języka naturalnego (NLP) w Pythonie

Usuwanie stop słów

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', '.']
Przetwarzanie języka naturalnego (NLP) w Pythonie

Interpunkcja

  • Strukturyzują język dla ludzi
  • Nie niosą istotnych informacji w wielu zadaniach NLP

Obraz przedstawiający znaki interpunkcyjne i znaki specjalne.

Przetwarzanie języka naturalnego (NLP) w Pythonie

Usuwanie interpunkcji

Przydatne do

Zadań wymagających znajdowania częstych lub ważnych słów w dokumentach

Obraz przedstawiający wiele plików i dokumentów wymagających przetworzenia.

Przetwarzanie języka naturalnego (NLP) w Pythonie

Usuwanie interpunkcji

Przydatne do

Zadań wymagających znajdowania częstych lub ważnych słów w dokumentach

Obraz przedstawiający wiele plików i dokumentów wymagających przetworzenia.

Nieprzydatne do

Zadań wymagających zachowania struktury zdania dla zachowania jasności

Obraz przedstawiający stos książek i wygenerowany z nich dokument podsumowujący.

Przetwarzanie języka naturalnego (NLP) w Pythonie

Dostęp do interpunkcji i jej usuwanie

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']
Przetwarzanie języka naturalnego (NLP) w Pythonie

Czas na ćwiczenia!

Przetwarzanie języka naturalnego (NLP) w Pythonie

Preparing Video For Download...