Вступ до попередньої обробки тексту

Глибоке навчання для тексту з PyTorch

Shubham Jain

Data Scientist

Що ми вивчимо

  • Класифікація тексту
  • Генерація тексту
  • Кодування
  • Глибинні моделі для тексту
  • Архітектура Transformer
  • Захист моделей

Використання:

  • Аналіз тональності
  • Резюмування тексту
  • Машинний переклад

Аналіз тональності

Глибоке навчання для тексту з PyTorch

Що ви маєте знати

Попередній курс: Intermediate Deep Learning with PyTorch

  • Глибинні моделі в PyTorch
  • Цикли навчання та оцінювання
  • Згорткові нейромережі (CNN) і рекурентні нейромережі (RNN)
Глибоке навчання для тексту з PyTorch

Конвеєр обробки тексту

 

 

Pytorch Processing Pipeline

Глибоке навчання для тексту з PyTorch

Конвеєр обробки тексту

 

 

Pytorch Processing Pipeline

 

  • Очистити й підготувати текст
Глибоке навчання для тексту з PyTorch

PyTorch і NLTK

PyTorch Logo

Лого NLTK

  • Natural Language Toolkit
    • Перетворює сирий текст на оброблений
Глибоке навчання для тексту з PyTorch

Методи попередньої обробки

  • Токенізація
  • Видалення стоп-слів
  • Стемінг
  • Видалення рідкісних слів
Глибоке навчання для тексту з PyTorch

Токенізація

  • Із тексту виділяються tokens або слова
  • Токенізація за допомогою 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", "!"]
Глибоке навчання для тексту з PyTorch

Видалення стоп-слів

  • Приберіть часті слова, що не несуть змісту
  • Стоп-слова: "a", "the", "and", "or" тощо
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", "!"]
Глибоке навчання для тексту з PyTorch

Стемінг

  • Зведення слів до базової форми
  • Наприклад: "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", "!"]
Глибоке навчання для тексту з PyTorch

Видалення рідкісних слів

  • Видалення нечастих слів, що не додають цінності
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"]
Глибоке навчання для тексту з PyTorch

Методи попередньої обробки

Токенізація, видалення стоп-слів, стемінг і видалення рідкісних слів

  • Менше ознак
  • Чистіші, репрезентативніші набори даних
  • Є й інші техніки
Глибоке навчання для тексту з PyTorch

Давайте потренуємось!

Глибоке навчання для тексту з PyTorch

Preparing Video For Download...