BERT के साथ टेक्स्ट वर्गीकरण
HuggingFace transformers, AutoTokenizer, AutoModelForSequenceClassification और फ़ाइन-ट्यूनिंग।
BERT के साथ टेक्स्ट वर्गीकरण, CoddyKit पर पाइथन के साथ एआई सीखें का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह पाइथन के साथ एआई सीखें सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। पाइथन के साथ एआई सीखें पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
स्थिर एम्बेडिंग की सीमाएँ
Word2Vec और GloVe प्रत्येक शब्द को एक निश्चित सदिश देते हैं। लेकिन "bank" का अर्थ "नदी का किनारा" और "बचत बैंक" में अलग-अलग होता है। BERT जैसे संदर्भ-आधारित मॉडल इस समस्या को ठीक करते हैं।
BERT क्या है
BERT एक ट्रांसफ़ॉर्मर मॉडल है जो पूरे वाक्य को एक साथ पढ़ता है और संदर्भ के अनुसार बदलने वाली एम्बेडिंग तैयार करता है। विशाल टेक्स्ट पर पहले से प्रशिक्षित होने के कारण इसे वर्गीकरण जैसे कार्यों के लिए फ़ाइन-ट्यून किया जा सकता है।
Hugging Face ट्रांसफ़ॉर्मर्स लाइब्रेरी
transformers लाइब्रेरी BERT और हज़ारों पहले से प्रशिक्षित मॉडलों तक आसान पहुँच देती है तथा टोकनाइज़र और मॉडलों के लिए एकसमान वर्ग उपलब्ध कराती है।
from transformers import AutoTokenizer, AutoModelForSequenceClassification
name = "distilbert-base-uncased-finetuned-sst-2-english"
tokenizer = AutoTokenizer.from_pretrained(name)
model = AutoModelForSequenceClassification.from_pretrained(name)AutoTokenizer
AutoTokenizer किसी मॉडल के लिए सही टोकनाइज़र लोड करता है। यह टेक्स्ट को उपशब्द टोकन में बाँटता है और उन्हें मॉडल द्वारा अपेक्षित ID में बदलता है।
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
print(tokenizer.tokenize("unbelievable"))
# subwords like ["un", "##bel", "##ievable"]AutoModelForSequenceClassification
AutoModelForSequenceClassification ऊपर वर्गीकरण शीर्ष वाला BERT लोड करता है और पूरे अनुक्रम के लिए प्रत्येक वर्ग का एक स्कोर देता है।
from transformers import AutoModelForSequenceClassification
model = AutoModelForSequenceClassification.from_pretrained(
"distilbert-base-uncased-finetuned-sst-2-english"
)इनपुट को टोकन में बदलना
मॉडल के लिए तैयार टेंसर पाने के लिए अपने टेक्स्ट पर truncation, padding और return_tensors के साथ टोकनाइज़र चलाइए। ट्रंकेशन लंबे इनपुट की अधिकतम लंबाई सीमित करता है; पैडिंग बैच की लंबाइयों को एकसमान करती है।
inputs = tokenizer(
"This movie was fantastic!",
truncation=True,
padding=True,
return_tensors="pt",
)
print(inputs["input_ids"].shape)विशेष टोकन
BERT विशेष टोकन अपने-आप जोड़ता है: शुरुआत में [CLS] (इसकी छिपी अवस्था पूरे अनुक्रम का सारांश देती है) और वाक्यों के बीच या बाद में [SEP]। वर्गीकारक [CLS] निरूपण से जानकारी लेता है।
मॉडल चलाना
कच्चे, सामान्यीकृत न किए गए वर्ग स्कोर यानी लॉगिट पाने के लिए टोकन में बदले गए इनपुट मॉडल को दीजिए।
import torch
with torch.no_grad():
outputs = model(**inputs)
logits = outputs.logits
print(logits)लॉगिट से पूर्वानुमान तक
प्रायिकताएँ पाने के लिए लॉगिट पर softmax लगाइए, फिर पूर्वानुमानित वर्ग का इंडेक्स पाने के लिए argmax लगाइए। उस इंडेक्स को किसी लेबल से मिलाइए।
import torch
probs = torch.softmax(logits, dim=-1)
pred = torch.argmax(probs, dim=-1).item()
print(model.config.id2label[pred])अपने कार्य के लिए फ़ाइन-ट्यूनिंग
कस्टम डेटासेट के लिए, अपने लेबल किए गए उदाहरणों पर वर्गीकरण शीर्ष (और वैकल्पिक रूप से पूरे मॉडल) को प्रशिक्षित करके BERT को फ़ाइन-ट्यून कीजिए। Trainer API प्रशिक्षण चक्र को संभालती है।
from transformers import Trainer, TrainingArguments
args = TrainingArguments(output_dir="out", num_train_epochs=3)
trainer = Trainer(model=model, args=args, train_dataset=train_ds)
trainer.train()पाइपलाइन शॉर्टकट
त्वरित अनुमान के लिए pipeline सहायक टोकन में बदलने, मॉडल चलाने और डिकोड करने की प्रक्रियाओं को एक ही कॉल में समेट देता है। यह प्रोटोटाइप बनाने के लिए आदर्श है।
from transformers import pipeline
clf = pipeline("sentiment-analysis")
print(clf("I love this product!"))
# [{"label": "POSITIVE", "score": 0.99...}]त्वरित जाँच
अपने BERT ज्ञान की जाँच कीजिए।
पुनरावलोकन
पुनरावलोकन: BERT ट्रांसफ़ॉर्मर्स के माध्यम से संदर्भ-आधारित एम्बेडिंग तैयार करता है। truncation/padding/return_tensors के साथ टोकन बनाने के लिए AutoTokenizer का उपयोग कीजिए और लॉगिट पाने के लिए AutoModelForSequenceClassification का। लॉगिट को पहले softmax और फिर argmax से बदलकर वर्ग चुनिए। Trainer से फ़ाइन-ट्यून कीजिए या pipeline से तेज़ी से प्रोटोटाइप बनाइए।
एआई शिक्षक के साथ Python सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 53
- पाठ
- 225
अक्सर पूछे जाने वाले प्रश्न
क्या “BERT के साथ टेक्स्ट वर्गीकरण” पाठ निःशुल्क है?
हाँ — पाइथन के साथ एआई सीखें अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “BERT के साथ टेक्स्ट वर्गीकरण” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। पाइथन के साथ एआई सीखें पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“BERT के साथ टेक्स्ट वर्गीकरण” में मैं क्या सीखूँगा?
HuggingFace transformers, AutoTokenizer, AutoModelForSequenceClassification और फ़ाइन-ट्यूनिंग। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ पाइथन के साथ एआई सीखें का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या पाइथन के साथ एआई सीखें शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर पाइथन के साथ एआई सीखें शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।
“BERT के साथ टेक्स्ट वर्गीकरण” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस पाइथन के साथ एआई सीखें पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर पाइथन के साथ एआई सीखें पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- Word2Vec: Skip-gram और CBOW
- GloVe और FastText एम्बेडिंग
- BERT के साथ टेक्स्ट वर्गीकरण
- अर्थगत समानता और वाक्य एम्बेडिंग