Cuvinte de oprire și semne de punctuație

Procesarea Limbajului Natural (NLP) în Python

Fouad Trad

Machine Learning Engineer

Cuvinte de oprire

  • Apar frecvent, dar contribuie puțin la înțelegerea contextului
  • Nu adaugă valoare semnificativă în multe sarcini NLP
  • Eliminarea lor ajută modelele să se concentreze pe cuvintele importante

Imagine cu mai multe cuvinte de oprire: a, an, the, in, of, that, for, by etc.

Procesarea Limbajului Natural (NLP) în Python

Eliminarea cuvintelor de oprire

Utilă pentru

Înțelegerea subiectului unui text

Imagine cu recenzii pentru un produs pe o aplicație mobilă

Procesarea Limbajului Natural (NLP) în Python

Eliminarea cuvintelor de oprire

Utilă pentru

Înțelegerea subiectului unui text

Imagine cu recenzii pentru un produs pe o aplicație mobilă

Nu este utilă pentru

Sarcini care necesită fiecare cuvânt din text

Imagine cu un text tradus din engleză (Good morning) în franceză (Bonjour).

Procesarea Limbajului Natural (NLP) în Python

Accesarea cuvintelor de oprire

NLTK oferă o listă de cuvinte de oprire pentru mai multe limbi

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']
Procesarea Limbajului Natural (NLP) în Python

Eliminarea cuvintelor de oprire

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', '.']
Procesarea Limbajului Natural (NLP) în Python

Punctuația

  • Structurează limbajul pentru oameni
  • Nu conțin informații utile în multe sarcini NLP

Imagine cu semne de punctuație și caractere speciale.

Procesarea Limbajului Natural (NLP) în Python

Eliminarea punctuației

Utilă pentru

Sarcini care necesită identificarea cuvintelor frecvente sau importante din documente

Imagine cu mai multe fișiere și documente care necesită procesare.

Procesarea Limbajului Natural (NLP) în Python

Eliminarea punctuației

Utilă pentru

Sarcini care necesită identificarea cuvintelor frecvente sau importante din documente

Imagine cu mai multe fișiere și documente care necesită procesare.

Nu este utilă pentru

Sarcini care necesită menținerea structurii propoziției pentru claritate

Imagine cu o grămadă de cărți și un document rezumat generat din acestea.

Procesarea Limbajului Natural (NLP) în Python

Accesarea și eliminarea punctuației

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']
Procesarea Limbajului Natural (NLP) în Python

Să exersăm!

Procesarea Limbajului Natural (NLP) în Python

Preparing Video For Download...