टेक्स्ट प्रोसेसिंग पाइपलाइन बनाना: परिचय

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

Shubham Jain

Data Scientist

रिकैप: प्रीप्रोसेसिंग

प्रीप्रोसेसिंग पाइपलाइन

  • प्रीप्रोसेसिंग:
    • टोकनाइज़ेशन
    • स्टॉपवर्ड हटाना
    • स्टेमिंग
    • रेयर शब्द हटाना
PyTorch के साथ टेक्स्ट के लिए डीप लर्निंग

टेक्स्ट प्रोसेसिंग पाइपलाइन

प्रीप्रोसेसिंग पाइपलाइन

  • एनकोडिंग:
    • One-hot एनकोडिंग
    • Bag-of-words
    • TF-IDF
  • एम्बेडिंग
PyTorch के साथ टेक्स्ट के लिए डीप लर्निंग

टेक्स्ट प्रोसेसिंग पाइपलाइन

डेटा प्रोसेसिंग पाइपलाइन

  • प्रोसेस्ड और एनकोडेड टेक्स्ट के लिए कंटेनर के रूप में Dataset

  • DataLoader: बैचिंग, शफ़लिंग और मल्टीप्रोसेसिंग

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 के साथ टेक्स्ट के लिए डीप लर्निंग

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

dataset = TextDataset(encoded_text)

dataloader = DataLoader(dataset, batch_size=2, shuffle=True)
PyTorch के साथ टेक्स्ट के लिए डीप लर्निंग

हेल्पर फंक्शन्स का उपयोग

def preprocess_sentences(sentences):
    processed_sentences = []
    for sentence in sentences:
        sentence = sentence.lower()
        tokens = tokenizer(sentence)
        tokens = [token for token in tokens 
                  if token not in stop_words]
        tokens = [stemmer.stem(token) 
                  for token in tokens]
        freq_dist = FreqDist(tokens)
        threshold = 2
        tokens = [token for token in tokens if 
        freq_dist[token] > threshold]
        processed_sentences.append(
                   ' '.join(tokens))
    return processed_sentences
def encode_sentences(sentences):
    vectorizer = CountVectorizer()
    X = vectorizer.fit_transform(sentences)
    encoded_sentences = X.toarray()
    return encoded_sentences, vectorizer
def extract_sentences(data):
    sentences = re.findall(r'[A-Z][^.!?]*[.!?]', 
                           data)
    return sentences
PyTorch के साथ टेक्स्ट के लिए डीप लर्निंग

टेक्स्ट प्रोसेसिंग पाइपलाइन बनाना

def text_processing_pipeline(text):

tokens = preprocess_sentences(text)
encoded_sentences, vectorizer = encode_sentences(tokens)
dataset = TextDataset(encoded_sentences)
dataloader = DataLoader(dataset, batch_size=2, shuffle=True)
return dataloader, vectorizer
PyTorch के साथ टेक्स्ट के लिए डीप लर्निंग

टेक्स्ट प्रोसेसिंग पाइपलाइन लागू करना

text_data = "This is the first text data. And here is another one."

sentences = extract_sentences(text_data) dataloaders, vectorizer = [text_processing_pipeline(text) for text in sentences]
print(next(iter(dataloader))[0, :10])
[[1, 1, 1, 1, 1], [0, 0, 0, 1, 1]]
PyTorch के साथ टेक्स्ट के लिए डीप लर्निंग

टेक्स्ट प्रोसेसिंग पाइपलाइन: समापन!

फुल पाइपलाइन

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

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

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

Preparing Video For Download...