Gensim - दस्तावेज़ और Corpus
यहाँ, हम Gensim की मुख्य अवधारणाओं के बारे में जानेंगे, जो दस्तावेजों और कॉर्पस पर मुख्य ध्यान केंद्रित करेंगे।
कोर कॉन्सेप्ट ऑफ गेन्सिम
Gensim को समझने और उपयोग करने के लिए आवश्यक मुख्य अवधारणाएँ और शर्तें निम्नलिखित हैं -
Document - ZIt कुछ पाठ को संदर्भित करता है।
Corpus - यह दस्तावेजों के संग्रह को संदर्भित करता है।
Vector - एक दस्तावेज के गणितीय प्रतिनिधित्व को वेक्टर कहा जाता है।
Model - यह वैक्टर को एक प्रतिनिधित्व से दूसरे में बदलने के लिए उपयोग किए जाने वाले एल्गोरिदम को संदर्भित करता है।
दस्तावेज़ क्या है?
जैसा कि चर्चा की गई है, यह कुछ पाठ को संदर्भित करता है। यदि हम कुछ विस्तार से जाते हैं, तो यह पाठ अनुक्रम प्रकार का एक ऑब्जेक्ट है जिसे के रूप में जाना जाता है‘str’ अजगर में 3. उदाहरण के लिए, जेनसिम में, एक दस्तावेज कुछ भी हो सकता है जैसे कि -
- 140 अक्षरों का लघु ट्वीट
- एकल अनुच्छेद, यानी लेख या शोध पत्र सार
- समाचार लेख
- Book
- Novel
- Theses
पाठ अनुक्रम
एक पाठ अनुक्रम प्रकार आमतौर पर के रूप में जाना जाता है ‘str’ पाइथन में 3. जैसा कि हम जानते हैं कि पाइथन में, शाब्दिक डेटा को स्ट्रिंग्स या अधिक विशेष रूप से संभाला जाता है ‘str’वस्तुओं। स्ट्रिंग्स मूल रूप से यूनिकोड कोड बिंदुओं के अपरिवर्तनीय अनुक्रम हैं और इन्हें निम्नलिखित तरीकों से लिखा जा सकता है -
Single quotes - उदाहरण के लिए, ‘Hi! How are you?’। यह हमें दोहरे उद्धरण चिह्नों को भी एम्बेड करने की अनुमति देता है। उदाहरण के लिए,‘Hi! “How” are you?’
Double quotes - उदाहरण के लिए, "Hi! How are you?"। यह हमें सिंगल कोट्स को भी एम्बेड करने की अनुमति देता है। उदाहरण के लिए,"Hi! 'How' are you?"
Triple quotes - यह या तो तीन एकल उद्धरण की तरह हो सकता है, '''Hi! How are you?'''। या तीन दोहरे उद्धरण जैसे,"""Hi! 'How' are you?"""
सभी व्हाट्सएप को स्ट्रिंग शाब्दिक में शामिल किया जाएगा।
उदाहरण
Gensim में दस्तावेज़ का एक उदाहरण निम्नलिखित है -
Document = “Tutorialspoint.com is the biggest online tutorials library and it’s all free also”
कॉर्पस क्या है?
एक कॉर्पस को प्राकृतिक संचार सेटिंग में उत्पादित मशीन-पठनीय ग्रंथों के बड़े और संरचित सेट के रूप में परिभाषित किया जा सकता है। जेनसिम में, दस्तावेज़ ऑब्जेक्ट के संग्रह को कॉर्पस कहा जाता है। कॉर्पस का बहुवचन हैcorpora।
गेंसिम में कॉर्पस की भूमिका
Gensim में एक कॉर्पस निम्नलिखित दो भूमिकाओं में कार्य करता है -
प्रशिक्षण के लिए एक मॉडल के रूप में कार्य करता है
गेंसिम में एक कॉरपस की भूमिका निभाने वाली पहली और महत्वपूर्ण भूमिका, एक मॉडल को प्रशिक्षित करने के लिए एक इनपुट के रूप में है। प्रशिक्षण के दौरान मॉडल के आंतरिक मापदंडों को शुरू करने के लिए, मॉडल प्रशिक्षण कॉरपस से कुछ सामान्य विषयों और विषयों की तलाश करता है। जैसा कि ऊपर चर्चा की गई है, जेनसिम अनसुनी मॉडल पर केंद्रित है, इसलिए इसे किसी भी प्रकार के मानवीय हस्तक्षेप की आवश्यकता नहीं है।
विषय चिमटा के रूप में कार्य करता है
एक बार मॉडल को प्रशिक्षित करने के बाद, इसका उपयोग नए दस्तावेजों से विषयों को निकालने के लिए किया जा सकता है। यहां, नए दस्तावेज़ वे हैं जो प्रशिक्षण चरण में उपयोग नहीं किए जाते हैं।
उदाहरण
कॉर्पस में किसी व्यक्ति विशेष के सभी ट्वीट, किसी अखबार के सभी लेखों की सूची या किसी विशेष वेबसाइट पर सभी शोध पत्र आदि शामिल हो सकते हैं।
कॉर्पस एकत्रित करना
निम्नलिखित छोटे कॉर्पस का एक उदाहरण है जिसमें 5 दस्तावेज़ शामिल हैं। यहां, प्रत्येक दस्तावेज़ एक वाक्य से युक्त एक स्ट्रिंग है।
t_corpus = [
"A survey of user opinion of computer system response time",
"Relation of user perceived response time to error measurement",
"The generation of random binary unordered trees",
"The intersection graph of paths in trees",
"Graph minors IV Widths of trees and well quasi ordering",
]
प्रीप्रोसेसिंग कलेक्टिंग कॉर्पस
एक बार जब हम कॉर्पस को इकट्ठा करते हैं, तो कॉरपस को सरल रखने के लिए कुछ प्रीप्रोसेसिंग कदम उठाए जाने चाहिए। हम बस कुछ सामान्य रूप से इस्तेमाल किए जाने वाले अंग्रेजी शब्दों जैसे 'द' को हटा सकते हैं। हम उन शब्दों को भी हटा सकते हैं जो केवल एक बार कॉर्पस में होते हैं।
उदाहरण के लिए, निम्नलिखित पायथन लिपि का उपयोग प्रत्येक दस्तावेज़ को कम करने के लिए किया जाता है, इसे सफेद स्थान से विभाजित करें और स्टॉप वर्ड को फ़िल्टर करें -
उदाहरण
import pprint
t_corpus = [
"A survey of user opinion of computer system response time",
"Relation of user perceived response time to error measurement",
"The generation of random binary unordered trees",
"The intersection graph of paths in trees",
"Graph minors IV Widths of trees and well quasi ordering",
]
stoplist = set('for a of the and to in'.split(' '))
processed_corpus = [[word for word in document.lower().split() if word not in stoplist]
for document in t_corpus]
pprint.pprint(processed_corpus)
]
उत्पादन
[['survey', 'user', 'opinion', 'computer', 'system', 'response', 'time'],
['relation', 'user', 'perceived', 'response', 'time', 'error', 'measurement'],
['generation', 'random', 'binary', 'unordered', 'trees'],
['intersection', 'graph', 'paths', 'trees'],
['graph', 'minors', 'iv', 'widths', 'trees', 'well', 'quasi', 'ordering']]
प्रभावी प्रीप्रोसेसिंग
गेंसिम भी कॉर्पस के अधिक प्रभावी प्रीप्रोसेसिंग के लिए कार्य प्रदान करता है। इस तरह के प्रीप्रोसेसिंग में, हम एक दस्तावेज को लोअरकेस टोकन की सूची में बदल सकते हैं। हम उन टोकन को भी अनदेखा कर सकते हैं जो बहुत कम या बहुत लंबे हैं। ऐसा समारोह हैgensim.utils.simple_preprocess(doc, deacc=False, min_len=2, max_len=15)।
gensim.utils.simple_preprocess() fucntion
गेन्सिम इस फ़ंक्शन को एक दस्तावेज़ को लोअरकेस टोकन की एक सूची में बदलने के लिए प्रदान करता है और टोकन की अनदेखी के लिए बहुत छोटा या बहुत लंबा है। इसके निम्न पैरामीटर हैं -
डॉक (एसटीआर)
यह इनपुट दस्तावेज को संदर्भित करता है जिस पर प्रीप्रोसेसिंग लागू किया जाना चाहिए।
बधिया (बूल, वैकल्पिक)
इस पैरामीटर का उपयोग टोकन से उच्चारण चिह्न को हटाने के लिए किया जाता है। यह उपयोगकर्ता हैdeaccent() यह करने के लिए।
min_len (int, वैकल्पिक)
इस पैरामीटर की मदद से, हम एक टोकन की न्यूनतम लंबाई निर्धारित कर सकते हैं। निर्धारित लंबाई से कम टोकन को छोड़ दिया जाएगा।
अधिकतम_लेन (int, वैकल्पिक)
इस पैरामीटर की मदद से हम एक टोकन की अधिकतम लंबाई निर्धारित कर सकते हैं। निर्धारित लंबाई से अधिक टोकन को छोड़ दिया जाएगा।
इस फ़ंक्शन का आउटपुट इनपुट दस्तावेज़ से निकाले गए टोकन होंगे।