वाक्य - विन्यास:
पाठ के शब्द एम्बेडिंग के लिए विभिन्न कार्य प्राकृतिक भाषा प्रसंस्करण के अंतर्गत आते हैं। यह आलेख इस उद्देश्य के लिए 'word2vec' फ़ंक्शन को शामिल करता है। इसे स्पष्ट करने के लिए, शब्द एम्बेडिंग हमारे टेक्स्ट इनपुट को वेक्टर प्रतिनिधित्व में परिवर्तित करता है जहां उन शब्दों को जिनके कमोबेश समान प्रासंगिक अर्थ होते हैं, उन्होंने समान प्रतिनिधित्व दिया है।
'वर्ड2वेक' एल्गोरिदम एक तंत्रिका नेटवर्क मॉडल है जिसे इस तरह से प्रशिक्षित किया जाता है कि यह पहले शब्द के संदर्भ की भविष्यवाणी करके शब्दों की एम्बेडिंग सीखता है जिसमें वह दिखाई देता है। यह मॉडल टेक्स्ट को अपने इनपुट के रूप में लेता है। फिर, पाठ में प्रत्येक शब्द के लिए, उस शब्द के लिए वेक्टर प्रतिनिधित्व बनाया जाता है। यह मॉडल इस विचार पर आधारित है कि जो शब्द समान संदर्भ वाले प्रतीत होते हैं उनके अर्थ भी समान होते हैं। 'Word2vec' का सिंटैक्स इस प्रकार है:
$ Word2Vec(वाक्य, min_count)
इस एल्गोरिदम के दो पैरामीटर हैं जो 'वाक्य' और 'न्यूनतम_गिनती' हैं। वाक्य वह चर है जहां वाक्यों की सूची या वाक्यों के रूप में पाठ संग्रहीत किया जाता है और न्यूनतम_गिनती 1 के गिनती मूल्य के बारे में बात करती है जिसका अर्थ है कि पाठ में कोई भी शब्द जो एक से कम दिखाई देता है उसे अनदेखा करने की आवश्यकता है .
उदाहरण 1:
इस उदाहरण में, हम अंग्रेजी वाक्यों की सूची में मौजूद शब्दों के लिए शब्द एम्बेडिंग बनाते हैं। 'एम्बेडिंग' शब्द बनाने के लिए, हमें 'word2vec' मॉडल का उपयोग करने की आवश्यकता है। यह मॉडल पायथन की 'जेनसिम' लाइब्रेरी का एक पैकेज है। हमें 'word2vec' के साथ काम करने के लिए अपनी Python लाइब्रेरी रिपॉजिटरी में Gensim इंस्टॉल करना होगा।
इस उदाहरण को लागू करने के लिए, हम 'google colab' ऑनलाइन पायथन कंपाइलर पर काम करेंगे। जेनसिम स्थापित करने के लिए, 'पिप इंस्टॉल जेनसिम' कमांड का उपयोग करें। यह इस लाइब्रेरी को इसके सभी संबद्ध पैकेजों के साथ डाउनलोड करना शुरू कर देता है। एक बार यह स्थापित हो जाने पर, हम जेनसिम से 'वर्ड2वेक्टर' पैकेज आयात करते हैं।
इस 'word2vec' मॉडल को प्रशिक्षित करने के लिए, हमें एक प्रशिक्षण डेटासेट बनाने की आवश्यकता है। उसके लिए, हम वाक्यों की एक सूची बनाते हैं जिसमें चार से पांच अंग्रेजी वाक्य होते हैं। हम इस सूची को 'training_data' वेरिएबल में सहेजते हैं।
प्रशिक्षण डेटासेट बनाने के बाद हमारा अगला कदम इस डेटा पर 'word2vec' मॉडल को प्रशिक्षित करना है। तो, हम मॉडल कहते हैं। हम इस मॉडल के इनपुट पैरामीटर में प्रशिक्षण डेटा देते हैं जिसे हमने 'इनपुट' वेरिएबल में सहेजा है। फिर, हम दूसरा पैरामीटर निर्दिष्ट करते हैं जो 'न्यूनतम_गणना' है। हमने इसका मान '1' के बराबर निर्धारित किया है। इस प्रशिक्षण मॉडल का आउटपुट 'प्रशिक्षित_मॉडल' चर में सहेजा गया है।
एक बार जब हम मॉडल का प्रशिक्षण पूरा कर लेते हैं, तो हम आसानी से 'wv' उपसर्ग के साथ मॉडल तक पहुंच सकते हैं जो कि वेक्टर मॉडल शब्द है। हम अपने शब्दों की टोकन शब्दावली तक भी पहुंच सकते हैं और उन्हें निम्नानुसार विधि से प्रिंट कर सकते हैं:
vocabof_tokens = सूची (model.wv.vocab)मॉडल हमारे मामले में प्रशिक्षित मॉडल का प्रतिनिधित्व करता है। अब, हम वाक्य की सूची में एक शब्द के वेक्टर प्रतिनिधित्व तक पहुंचते हैं, जो, हमारे मामले में, 'सेब' है। हम बस प्रशिक्षित मॉडल को कॉल करके ऐसा करते हैं। हम उस शब्द को पास करते हैं जिसका वेक्टर प्रतिनिधित्व हम 'मॉडल' के रूप में प्रिंट करना चाहते हैं। wv ['सेब']' इसके इनपुट तर्क के लिए। फिर, हम 'प्रिंट' फ़ंक्शन के साथ परिणाम प्रिंट करते हैं।
से एक राष्ट्र के रूप में मॉडल आयात Word2Vecप्रशिक्षण जानकारी = [ [ 'सेब' , 'है' , 'द' , 'मिठाई' , 'सेब' , 'के लिए' , 'शब्द2vec' ] ,
[ 'यह' , 'है' , 'द' , 'दूसरा' , 'सेब' ] ,
[ 'यहाँ' , 'एक और' , 'सेब' ] ,
[ 'एक' , 'मिठाई' , 'सेब' ] ,
[ 'और' , 'अधिक' , 'मिठाई' , 'सेब' ] ]
नमूना = Word2Vec ( प्रशिक्षण जानकारी , min_count = 1 )
छपाई ( नमूना )
vocabof_tokens = सूची ( नमूना। wv . अनुक्रमणिका_से_कुंजी )
छपाई ( vocabof_tokens )
छपाई ( नमूना। wv [ 'सेब' ] )
पहले बताए गए आउटपुट और कोड से, 'ऐप्पल' शब्द के लिए एम्बेडिंग शब्द दिखाया गया है। उदाहरण में, हमने सबसे पहले एक प्रशिक्षण डेटासेट बनाया। फिर, हमने इस पर एक मॉडल को प्रशिक्षित किया और मॉडल का सारांश दिया। फिर, मॉडल का उपयोग करके, हमें शब्दों की सांकेतिक शब्दावली तक पहुंच प्राप्त हुई। उसके बाद, हमने 'सेब' शब्द के लिए एम्बेडिंग शब्द प्रदर्शित किया।
उदाहरण 2:
जेनसिम लाइब्रेरी का उपयोग करके, आइए वाक्यों की एक और सूची बनाएं। 'वर्ड2वेक' मॉडल का उपयोग करके शब्द एम्बेडिंग बनाने के लिए वाक्य में प्रत्येक शब्द के लिए हमारे मॉडल को प्रशिक्षित करें। सबसे पहले, जेनसिम लाइब्रेरी पैकेज से, 'वर्ड2वेक' मॉडल आयात किया जाता है। फिर, हम एक और डेटा सेट बनाते हैं जो वह सूची होगी जिसमें दो वाक्य होंगे। सूची के प्रत्येक वाक्य में चार शब्द हैं।
अब, हम इस सूची को 'डेटा' वेरिएबल में सहेजते हैं। फिर, हम 'word2vec()' मॉडल को कॉल करते हैं और डेटा को इस मॉडल के तर्कों को न्यूनतम_काउंट मान के साथ फ़ीड करते हैं जो '1' के बराबर है। इस प्रकार हम अपने मॉडल को प्रशिक्षित करते हैं। अब, यह सूची में मौजूद वाक्यों में मौजूद शब्दों के शब्द एम्बेडिंग को उस संदर्भ की भविष्यवाणी करने में सक्षम और सीख सकता है जिसमें वे मौजूद हैं। अपने मॉडल के परिणामों का परीक्षण करने के लिए, हम बस अपने डेटा में 'कुत्ता' जैसे शब्द को मॉडल में पास करते हैं। फिर, हम 'प्रिंट()' फ़ंक्शन का उपयोग करके परिणाम प्रिंट करते हैं।
से एक राष्ट्र के रूप में मॉडल आयात Word2Vecआंकड़े = [ [ 'खरगोश' , 'है' , 'दाँत' ] , [ 'कुत्ता' , 'है' , 'कान' ] ]
नमूना = Word2Vec ( आंकड़े , min_count = 1 )
छपाई ( नमूना। wv [ 'कुत्ता' ] )
हम उस शब्द के वेक्टर प्रतिनिधित्व को देख सकते हैं जिसे हमने आउटपुट के पिछले स्निपेट से इनपुट के रूप में मॉडल में फीड किया था।
निष्कर्ष
यह मार्गदर्शिका अंग्रेजी वाक्यों की सूची में मौजूद शब्दों के लिए शब्द एम्बेडिंग बनाने की विधि दर्शाती है। हमने पायथन की 'जेनसिम' लाइब्रेरी के बारे में सीखा जो शब्द एम्बेडिंग बनाने के लिए 'वर्ड2वेक' मॉडल प्रदान करता है। इसके अलावा, हमने इनपुट मापदंडों के बारे में सीखा, प्रशिक्षण डेटा पर 'वर्ड2वेक' मॉडल को कैसे प्रशिक्षित किया जाए, और वेक्टर के प्रतिनिधित्व में शब्द को कैसे प्रस्तुत किया जाए।