Introduktion till förbearbetning av text

Djupinlärning för text med PyTorch

Shubham Jain

Data Scientist

Vad vi kommer att lära oss

  • Textklassificering
  • Textgenerering
  • Kodning
  • Djupinlärningsmodeller för text
  • Transformerarkitektur
  • Skydda modeller

Användningsområden:

  • Sentimentanalys
  • Textsammanfattning
  • Maskinöversättning

Sentimentanalys

Djupinlärning för text med PyTorch

Vad du bör känna till

Förkunskapskurs: Intermediate Deep Learning with PyTorch

  • Djupinlärningsmodeller med PyTorch
  • Tränings- och evalueringsloopar
  • Konvolutionella neurala nätverk (CNN) och återkommande neurala nätverk (RNN)
Djupinlärning för text med PyTorch

Textbearbetningspipeline

 

 

Pytorch Processing Pipeline

Djupinlärning för text med PyTorch

Textbearbetningspipeline

 

 

Pytorch Processing Pipeline

 

  • Rensa och förbered text
Djupinlärning för text med PyTorch

PyTorch och NLTK

PyTorch Logo

NLTK Logo

  • Natural language toolkit
    • Omvandlar rå text till bearbetad text
Djupinlärning för text med PyTorch

Förbearbetningstekniker

  • Tokenisering
  • Borttagning av stoppord
  • Stemming
  • Borttagning av ovanliga ord
Djupinlärning för text med PyTorch

Tokenisering

  • Token eller ord extraheras från text
  • Tokenisering med 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", "!"]
Djupinlärning för text med PyTorch

Borttagning av stoppord

  • Ta bort vanliga ord som inte bidrar till betydelsen
  • Stoppord: "a", "the", "and", "or" med flera
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", "!"]
Djupinlärning för text med PyTorch

Stemming

  • Reducerar ord till grundform
  • Till exempel: "running", "runs", "ran" blir 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", "!"]
Djupinlärning för text med PyTorch

Borttagning av ovanliga ord

  • Ta bort ovanliga ord som inte tillför värde
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"]
Djupinlärning för text med PyTorch

Förbearbetningstekniker

Tokenisering, borttagning av stoppord, stemming och borttagning av ovanliga ord

  • Minskar antalet särdrag
  • Renare och mer representativa datamängder
  • Fler tekniker finns
Djupinlärning för text med PyTorch

Nu kör vi en övning!

Djupinlärning för text med PyTorch

Preparing Video For Download...