टेक्स्ट क्लासिफिकेशन के लिए Recurrent neural networks

PyTorch के साथ टेक्स्ट के लिए डीप लर्निंग

Shubham Jain

Data Scientist

टेक्स्ट के लिए RNNs

  • अलग-अलग लंबाई की sequences संभालें
  • एक आंतरिक शॉर्ट-टर्म मेमोरी रखें
  • CNNs चंक्स में पैटर्न पकड़ते हैं
  • RNNs अर्थ के लिए पिछले शब्द याद रखते हैं
PyTorch के साथ टेक्स्ट के लिए डीप लर्निंग

टेक्स्ट क्लासिफिकेशन के लिए RNNs

व्यंग्य की छवि

क्यों?

  • RNNs मनुष्यों की तरह वाक्य एक-एक शब्द पढ़ सकते हैं
  • संदर्भ और क्रम समझते हैं

उदाहरण: ट्वीट में व्यंग्य पहचानना

"I just love getting stuck in traffic."

  • व्यंग्यात्मक
PyTorch के साथ टेक्स्ट के लिए डीप लर्निंग

रिकैप: Dataset और DataLoader इम्प्लीमेंट करना

# Import libraries
from torch.utils.data import Dataset, DataLoader

# Create a class class TextDataset(Dataset):
def __init__(self, text): self.text = text
def __len__(self): return len(self.text)
def __getitem__(self, idx): return self.text[idx]
PyTorch के साथ टेक्स्ट के लिए डीप लर्निंग

RNN इम्प्लीमेंटेशन

sample_tweet = "This movie had a great plot and amazing acting."
# Preprocess the review and convert it to a tensor (not shown for brevity)
# ...
sentiment_prediction = model(sample_tweet_tensor)
  • ट्वीट को पॉजिटिव या नेगेटिव क्लासिफाई करने के लिए एक RNN मॉडल ट्रेन करें
  • आउटपुट: "Positive"
PyTorch के साथ टेक्स्ट के लिए डीप लर्निंग

RNN वेरिएशन: LSTM

सेंटिमेंट एनालिसिस की छवि

ट्वीट:

  "Loved the cinematography, 
  hated the dialogue. 
  The acting was exceptional,
  but the plot fell flat."
  • Long Short Term Memory (LSTM) वहाँ जटिलताएँ पकड़ सकता है जहाँ RNNs को दिक्कत होती है
PyTorch के साथ टेक्स्ट के लिए डीप लर्निंग

LSTM

LSTM आर्किटेक्चर: इनपुट गेट, फॉरगेट गेट, और आउटपुट गेट

class LSTMModel(nn.Module):

def __init__(self, input_size, hidden_size, output_size): super(LSTMModel, self).__init__() self.lstm = nn.LSTM(input_size, hidden_size, batch_first=True) self.fc = nn.Linear(hidden_size, output_size)
def forward(self, x): _, (hidden, _) = self.lstm(x) output = self.fc(hidden.squeeze(0)) return output
PyTorch के साथ टेक्स्ट के लिए डीप लर्निंग

RNN वेरिएशन: GRU

  • ईमेल सब्जेक्ट:

       "Congratulations!
        You've won a free trip 
        to Hawaii!"
    

 

  • Gated Recurrent Unit (GRU) बिना पूरे संदर्भ के भी स्पैमी पैटर्न जल्दी पहचान सकता है

ईमेल स्पैम

PyTorch के साथ टेक्स्ट के लिए डीप लर्निंग

GRU

class GRUModel(nn.Module):
    def __init__(self, input_size, hidden_size, output_size):
        super(GRUModel, self).__init__()
        self.gru = nn.GRU(input_size, hidden_size, batch_first=True)
        self.fc = nn.Linear(hidden_size, output_size)

def forward(self, x): _, hidden = self.gru(x) output = self.fc(hidden.squeeze(0)) return output
PyTorch के साथ टेक्स्ट के लिए डीप लर्निंग

अभ्यास करते हैं!

PyTorch के साथ टेक्स्ट के लिए डीप लर्निंग

Preparing Video For Download...