S39L06 – पाइपलाइन के साथ पाठ वर्गीकरणकर्ता का निर्माण जारी है

पायथन के साथ एक मजबूत टेक्स्ट क्लासिफायर बनाना: पाइपलाइनों और LinearSVC का उपयोग करना

सामग्री सूची

  1. टेक्स्ट वर्गीकरण का परिचय
  2. डेटासेट अवलोकन
  3. पर्यावरण सेटअप
  4. डेटा पूर्व-संसाधन
  5. TF-IDF के साथ वेक्टरकरण
  6. मशीन लर्निंग पाइपलाइन बनाना
  7. मॉडल को प्रशिक्षित करना
  8. मॉडल प्रदर्शन का मूल्यांकन
  9. पूर्वानुमान लगाना
  10. निष्कर्ष
  11. अतिरिक्त संसाधन

टेक्स्ट वर्गीकरण का परिचय

टेक्स्ट वर्गीकरण NLP में एक महत्वपूर्ण कार्य है जिसमें पहले से परिभाषित श्रेणियों को टेक्स्ट डेटा में सौंपा जाता है। इसके अनुप्रयोगों में भावना विश्लेषण, विषय लेबलिंग, कंटेंट फ़िल्टरिंग और भी बहुत कुछ शामिल हैं। एक टेक्स्ट क्लासिफायर बनाने के मुख्य कदमों में डेटा संग्रह, पूर्व-संसाधन, फीचर निष्कर्षण, मॉडल प्रशिक्षण और मूल्यांकन शामिल हैं।

इस गाइड में, हम TF-IDF वेक्टराइज़ेशन का उपयोग करके टेक्स्ट डेटा को संख्यात्मक फीचर्स में बदलने और एक स्ट्रीमलाइन पाइपलाइन के भीतर LinearSVC का उपयोग करके एक वर्गीकरण मॉडल बनाने पर ध्यान केंद्रित करेंगे। पाइपलाइनों का उपयोग यह सुनिश्चित करता है कि डेटा प्रोसेसिंग चरणों की श्रृंखला कुशलतापूर्वक प्रबंधित की जाती है, जिससे त्रुटियों का जोखिम कम होता है और पुनरुत्पादकता बढ़ती है।

डेटासेट अवलोकन

इस ट्यूटोरियल के लिए, हम Kaggle से मूवी रिव्यू डेटासेट का उपयोग करेंगे, जिसमें 64,720 मूवी रिव्यूज़ शामिल हैं जिन्हें सकारात्मक (pos) या नकारात्मक (neg) के रूप में लेबल किया गया है। यह डेटासेट बाइनरी सेंटिमेंट विश्लेषण कार्यों के लिए आदर्श है।

नमूना डेटा विज़ुअलाइज़ेशन:

fold_id cv_tag html_id sent_id text tag
0 cv000 29590 0 कॉमिक बुक्स से अनुकूलित फिल्मों में बहुत कुछ है… pos
1 cv000 29590 1 शुरुआत के लिए, इसे एलन मूर ने बनाया था (…) pos

पर्यावरण सेटअप

कोड में गोता लगाने से पहले, सुनिश्चित करें कि आपके पास आवश्यक पुस्तकालय इंस्टॉल हैं। आप इन्हें pip का उपयोग करके इंस्टॉल कर सकते हैं:

वैकल्पिक रूप से, यदि आप Anaconda का उपयोग कर रहे हैं:

डेटा पूर्व-संसाधन

डेटा पूर्व-संसाधन आपके डेटासेट को मॉडलिंग के लिए तैयार करने में एक महत्वपूर्ण कदम है। इसमें डेटा लोड करना, गायब मानों को संभालना, और डेटासेट को प्रशिक्षण और परीक्षण सेटों में विभाजित करना शामिल है।

लाइब्रेरी आयात करना

डेटासेट लोड करना

नमूना आउटपुट:

फीचर चयन

हम text कॉलम का उपयोग अपने फीचर (X) के रूप में करेंगे और tag कॉलम का उपयोग अपने लक्ष्य वेरिएबल (y) के रूप में करेंगे।

डेटासेट विभाजित करना

डेटा को प्रशिक्षण और परीक्षण सेटों में विभाजित करने से हमें अनदेखे डेटा पर मॉडल के प्रदर्शन का मूल्यांकन करने की अनुमति मिलती है।

TF-IDF के साथ वेक्टरकरण

मशीन लर्निंग मॉडल्स को संख्यात्मक इनपुट की आवश्यकता होती है। वेक्टरकरण टेक्स्ट डेटा को संख्यात्मक फीचर्स में बदलता है। जबकि CountVectorizer केवल शब्दों की आवृत्ति गिनता है, TF-IDF (टर्म फ्रीक्वेंसी-इनवर्स डॉक्युमेंट फ्रीक्वेंसी) एक भारित प्रतिनिधित्व प्रदान करता है जो महत्वपूर्ण शब्दों पर जोर देता है।

क्यों TF-IDF?

TF-IDF न केवल शब्दों की आवृत्ति का ध्यान रखता है, बल्कि उन शब्दों को डाउनस्केल भी करता है जो सभी दस्तावेजों में अक्सर प्रकट होते हैं, इस प्रकार व्यक्तिगत दस्तावेजों में शब्दों के महत्व को कैप्चर करता है।

मशीन लर्निंग पाइपलाइन बनाना

Scikit-learn की Pipeline क्लास कई प्रोसेसिंग चरणों के एक सहज एकीकरण की अनुमति देती है। यह सुनिश्चित करती है कि सभी चरण क्रम में निष्पादित होते हैं और मॉडल प्रशिक्षण एवं मूल्यांकन को सरल बनाती है।

पाइपलाइन कम्पोनेंट्स:

  1. TF-IDF Vectorizer (tfidf): टेक्स्ट डेटा को TF-IDF फीचर वेक्टर में बदलता है।
  2. Linear Support Vector Classifier (clf): वर्गीकरण कार्य को निष्पादित करता है।

मॉडल को प्रशिक्षित करना

पाइपलाइन को परिभाषित करने के बाद, प्रशिक्षण डेटा पर फिटिंग करके मॉडल को प्रशिक्षित करना शामिल है।

आउटपुट:

मॉडल प्रदर्शन का मूल्यांकन

परीक्षण सेट पर मॉडल की सटीकता का आंकलन इसके भविष्यवाणी क्षमताओं पर अंतर्दृष्टि प्रदान करता है।

नमूना आउटपुट:

लगभग 69.83% की सटीकता यह संकेत देती है कि मॉडल ने लगभग 70% रिव्यूज़ को सही ढंग से वर्गीकृत किया है, जो एक आशाजनक प्रारंभिक बिंदु है। आगे के मूल्यांकन के लिए, मॉडल की प्रेसिजन, रिकॉल, और F1-स्कोर को समझने के लिए एक वर्गीकरण रिपोर्ट और एक कन्फ्यूजन मैट्रिक्स बनाने पर विचार करें।

पूर्वानुमान लगाना

एक बार मॉडल प्रशिक्षित हो जाने पर, यह नए टेक्स्ट डेटा को वर्गीकृत कर सकता है। यहां बताया गया है कि व्यक्तिगत रिव्यूज़ की भावना का पूर्वानुमान कैसे लगाया जाए:

नमूना आउटपुट:

मॉडल ने दिए गए उदाहरणों में सकारात्मक और नकारात्मक भावनाओं को सफलतापूर्वक भेदभाव किया है।

निष्कर्ष

एक टेक्स्ट क्लासिफायर बनाना कई महत्वपूर्ण चरणों में शामिल होता है, डेटा पूर्व-संसाधन और फीचर निष्कर्षण से लेकर मॉडल प्रशिक्षण और मूल्यांकन तक। Scikit-learn में पाइपलाइनों का उपयोग वर्कफ़्लो को सरल बनाता है, यह सुनिश्चित करता है कि प्रत्येक चरण लगातार और कुशलतापूर्वक निष्पादित होता है। जबकि यह गाइड TF-IDF वेक्टराइज़ेशन के साथ एक सरल LinearSVC मॉडल का उपयोग करती है, फ्रेमवर्क विभिन्न वेक्टराइज़ेशन तकनीकों और वर्गीकरण एल्गोरिदम के साथ प्रयोग की अनुमति देता है ताकि प्रदर्शन को और भी बढ़ाया जा सके।

अतिरिक्त संसाधन

इस गाइड का पालन करके, आपके पास अब अपना खुद का टेक्स्ट क्लासिफायर बनाने और परिष्कृत करने के लिए मौलिक ज्ञान है, जिससे और उन्नत NLP अनुप्रयोगों के लिए मार्ग प्रशस्त होता है।

Share your love