Wprowadzenie do przetwarzania wstępnego tekstu

Uczenie głębokie dla tekstu z PyTorch

Shubham Jain

Data Scientist

Czego się nauczymy

  • Klasyfikacja tekstu
  • Generowanie tekstu
  • Kodowanie
  • Modele głębokiego uczenia dla tekstu
  • Architektura transformera
  • Ochrona modeli

Przypadki użycia:

  • Analiza sentymentu
  • Streszczanie tekstu
  • Tłumaczenie maszynowe

Analiza sentymentu

Uczenie głębokie dla tekstu z PyTorch

Wymagana wiedza

Kurs wstępny: Intermediate Deep Learning with PyTorch

  • Modele głębokiego uczenia z PyTorch
  • Pętle trenowania i ewaluacji
  • Konwolucyjne (CNN) i rekurencyjne sieci neuronowe (RNN)
Uczenie głębokie dla tekstu z PyTorch

Potok przetwarzania tekstu

 

 

Potok przetwarzania PyTorch

Uczenie głębokie dla tekstu z PyTorch

Potok przetwarzania tekstu

 

 

Potok przetwarzania PyTorch

 

  • Czyszczenie i przygotowanie tekstu
Uczenie głębokie dla tekstu z PyTorch

PyTorch i NLTK

Logo PyTorch

Logo NLTK

  • Zestaw narzędzi do przetwarzania języka naturalnego
    • Przekształca surowy tekst w przetworzony
Uczenie głębokie dla tekstu z PyTorch

Techniki przetwarzania wstępnego

  • Tokenizacja
  • Usuwanie stop słów
  • Stematyzacja
  • Usuwanie rzadkich słów
Uczenie głębokie dla tekstu z PyTorch

Tokenizacja

  • Tokeny lub słowa są wyodrębniane z tekstu
  • Tokenizacja przy użyciu torchtext
from torchtext.data.utils import get_tokenizer

tokenizer = get_tokenizer("basic_english")
tokens = tokenizer("I am reading a book now. I love to read books!") print(tokens)
["I", "am", "reading", "a", "book", "now", ".", "I", "love", "to", "read", 
"books", "!"]
Uczenie głębokie dla tekstu z PyTorch

Usuwanie stop słów

  • Eliminacja częstych słów, które nie wnoszą znaczenia
  • Stop słowa: "a", "the", "and", "or" i inne
import nltk
nltk.download('stopwords')
from nltk.corpus import stopwords

stop_words = set(stopwords.words('english'))
tokens = ["I", "am", "reading", "a", "book", "now", ".", "I", "love", "to", "read", "books", "!"] filtered_tokens = [token for token in tokens if token.lower() not in stop_words]
print(filtered_tokens)
["reading", "book", ".", "love", "read", "books", "!"]
Uczenie głębokie dla tekstu z PyTorch

Stematyzacja

  • Sprowadzanie słów do formy podstawowej
  • Przykład: "running", "runs", "ran" → run
import nltk
from nltk.stem import PorterStemmer

stemmer = PorterStemmer()
filtered_tokens = ["reading", "book", ".", "love", "read", "books", "!"]
stemmed_tokens = [stemmer.stem(token) for token in filtered_tokens]
print(stemmed_tokens)
["read", "book", ".", "love", "read", "book", "!"]
Uczenie głębokie dla tekstu z PyTorch

Usuwanie rzadkich słów

  • Usuwanie rzadkich słów, które nie wnoszą wartości
from nltk.probability import FreqDist
stemmed_tokens= ["read", "book", ".", "love", "read", "book", "!"]  
freq_dist = FreqDist(stemmed_tokens)

threshold = 2
common_tokens = [token for token in stemmed_tokens if freq_dist[token] > threshold] print(common_tokens)
["read", "book", "read", "book"]
Uczenie głębokie dla tekstu z PyTorch

Techniki przetwarzania wstępnego

Tokenizacja, usuwanie stop słów, stematyzacja i usuwanie rzadkich słów

  • Redukcja cech
  • Czystsze, bardziej reprezentatywne zbiory danych
  • Istnieją dodatkowe techniki
Uczenie głębokie dla tekstu z PyTorch

Czas na ćwiczenia!

Uczenie głębokie dla tekstu z PyTorch

Preparing Video For Download...