Zpracování stop slov a interpunkce

Zpracování přirozeného jazyka (NLP) v Pythonu

Fouad Trad

Machine Learning Engineer

Stop slova

  • Vyskytují se často, ale přispívají málo k pochopení kontextu
  • V mnoha NLP úlohách nemají velkou hodnotu
  • Jejich odstranění pomáhá modelům soustředit se na důležitá slova

Obrázek zobrazující stop slova, například a, an, the, in, of, that, for, by apod.

Zpracování přirozeného jazyka (NLP) v Pythonu

Odstranění stop slov

Vhodné pro

Porozumění tématu textu

Obrázek zobrazující recenze produktu v mobilní aplikaci

Zpracování přirozeného jazyka (NLP) v Pythonu

Odstranění stop slov

Vhodné pro

Porozumění tématu textu

Obrázek zobrazující recenze produktu v mobilní aplikaci

Nevhodné pro

Úlohy vyžadující každé slovo v textu

Obrázek zobrazující překlad textu z angličtiny (Good morning) do francouzštiny (Bonjour).

Zpracování přirozeného jazyka (NLP) v Pythonu

Přístup ke stop slovům

NLTK poskytuje seznam stop slov pro několik jazyků

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']
Zpracování přirozeného jazyka (NLP) v Pythonu

Odstranění stop slov

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', '.']
Zpracování přirozeného jazyka (NLP) v Pythonu

Interpunkce

  • Strukturuje jazyk pro lidi
  • V mnoha NLP úlohách nepřináší užitečnou informaci

Obrázek zobrazující interpunkční znaménka a speciální znaky.

Zpracování přirozeného jazyka (NLP) v Pythonu

Odstranění interpunkce

Vhodné pro

Úlohy hledající časté nebo důležité slova v dokumentech

Obrázek zobrazující více souborů a dokumentů ke zpracování.

Zpracování přirozeného jazyka (NLP) v Pythonu

Odstranění interpunkce

Vhodné pro

Úlohy hledající časté nebo důležité slova v dokumentech

Obrázek zobrazující více souborů a dokumentů ke zpracování.

Nevhodné pro

Úlohy vyžadující zachování větné struktury

Obrázek zobrazující hromadu knih a z nich vytvořený souhrnný dokument.

Zpracování přirozeného jazyka (NLP) v Pythonu

Přístup k interpunkci a její odstranění

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']
Zpracování přirozeného jazyka (NLP) v Pythonu

Pojďme si procvičit!

Zpracování přirozeného jazyka (NLP) v Pythonu

Preparing Video For Download...