प्राकृतिक भाषा प्रसंस्करण मशीन सीखने का एक पहलू है जो आपको लिखित शब्दों को मशीन के अनुकूल भाषा में संसाधित करने देता है। इस तरह के पाठ तब ट्वीक करने योग्य हो जाते हैं, और आप अपनी पसंद के अनुसार उन पर कम्प्यूटेशनल एल्गोरिदम चला सकते हैं।
इस आकर्षक तकनीक के पीछे का तर्क जटिल लगता है लेकिन ऐसा नहीं है। और अब भी, बुनियादी पायथन प्रोग्रामिंग की ठोस समझ के साथ, आप प्राकृतिक भाषा टूलकिट (एनएलटीके) के साथ एक नया DIY वर्ड प्रोसेसर बना सकते हैं।
पाइथन के एनएलटीके के साथ शुरुआत करने का तरीका यहां दिया गया है।
एनएलटीके क्या है और यह कैसे काम करता है?
पायथन के साथ लिखित, एनएलटीके में विभिन्न प्रकार की स्ट्रिंग मैनिपुलेटिंग कार्यक्षमताएं हैं। यह विभिन्न प्राकृतिक भाषा अनुप्रयोगों के लिए एक विशाल मॉडल भंडार के साथ एक बहुमुखी प्राकृतिक भाषा पुस्तकालय है।
एनएलटीके के साथ, आप कच्चे ग्रंथों को संसाधित कर सकते हैं और उनसे सार्थक विशेषताएं निकाल सकते हैं। यह एक संपूर्ण भाषा मॉडल के निर्माण के लिए पाठ विश्लेषण मॉडल, फीचर-आधारित व्याकरण और समृद्ध शाब्दिक संसाधन भी प्रदान करता है।
एनएलटीके कैसे सेट करें
सबसे पहले, अपने पीसी पर कहीं भी प्रोजेक्ट रूट फोल्डर बनाएं। एनएलटीके पुस्तकालय का उपयोग शुरू करने के लिए, अपने टर्मिनल को उस रूट फ़ोल्डर में खोलें जिसे आपने पहले बनाया था और
एक आभासी वातावरण बनाएँ.फिर, इस वातावरण में प्राकृतिक भाषा टूलकिट का उपयोग करके स्थापित करें रंज:
पाइप nltk. स्थापित करें
हालाँकि, NLTK में विभिन्न प्रकार के डेटासेट हैं जो उपन्यास प्राकृतिक भाषा मॉडल के आधार के रूप में काम करते हैं। उन्हें एक्सेस करने के लिए, आपको एनएलटीके बिल्ट-इन डेटा डाउनलोडर को स्पिन करना होगा।
इसलिए, एनएलटीके को सफलतापूर्वक स्थापित करने के बाद, किसी भी कोड संपादक का उपयोग करके अपनी पायथन फ़ाइल खोलें।
फिर आयात करें एनएलटीके मॉड्यूल और निम्न कोड का उपयोग करके डेटा डाउनलोडर को तुरंत चालू करें:
पाइप nltk. स्थापित करें
nltk.डाउनलोड ()
टर्मिनल के माध्यम से उपरोक्त कोड को चलाने से डेटा पैकेज चुनने और डाउनलोड करने के लिए एक ग्राफिक-यूजर इंटरफेस आता है। यहां, आपको एक पैकेज चुनना होगा और क्लिक करना होगा डाउनलोड इसे पाने के लिए बटन।
आपके द्वारा डाउनलोड किया गया कोई भी डेटा पैकेज में लिखी गई निर्दिष्ट निर्देशिका में जाता है निर्देशिका डाउनलोड करें खेत। आप चाहें तो इसे बदल सकते हैं। लेकिन इस स्तर पर डिफ़ॉल्ट स्थान बनाए रखने का प्रयास करें।
सम्बंधित: आपका पहला ऐप लिखने के लिए सर्वश्रेष्ठ मुफ्त कोड संपादक
ध्यान दें: डेटा पैकेज डिफ़ॉल्ट रूप से सिस्टम चर में जुड़ जाता है। इसलिए, आप अपने द्वारा उपयोग किए जा रहे पायथन वातावरण की परवाह किए बिना बाद की परियोजनाओं के लिए उनका उपयोग करना जारी रख सकते हैं।
एनएलटीके टोकेनाइज़र का उपयोग कैसे करें
अंततः, NLTK शब्दों और वाक्यों के लिए प्रशिक्षित टोकन मॉडल प्रदान करता है। इन उपकरणों का उपयोग करके, आप एक वाक्य से शब्दों की एक सूची तैयार कर सकते हैं। या एक पैराग्राफ को एक समझदार वाक्य सरणी में बदल दें।
एनएलटीके का उपयोग कैसे करें इसका एक उदाहरण यहां दिया गया है वर्ड_टोकनाइज़र:
आयात nltk
nltk.tokenize से आयात करें word_tokenize
शब्द = "यह एक उदाहरण पाठ है"
टोकनवर्ड = word_tokenizer (शब्द)
प्रिंट (टोकनवर्ड)
आउटपुट:
['यह एक उदारहण टेक्स्ट है']
एनएलटीके एक पूर्व-प्रशिक्षित वाक्य टोकननाइज़र का भी उपयोग करता है जिसे कहा जाता है पंकटसेंटेंसटोकनाइज़र. यह पैराग्राफ को वाक्यों की सूची में विभाजित करके काम करता है।
आइए देखें कि यह दो-वाक्य वाले पैराग्राफ के साथ कैसे काम करता है:
आयात nltk
nltk.tokenize से आयात करें word_tokenize, PunktSentenceTokenizer
वाक्य = "यह एक उदाहरण पाठ है। यह एनएलटीके के लिए एक ट्यूटोरियल है"
टोकन = पंकटसेंटेंसटोकनाइज़र ()
टोकननाइज़्ड_सेंटेंस = टोकन। टोकनाइज़ (वाक्य)
प्रिंट (टोकनीकृत_वाक्य)
आउटपुट:
['यह एक उदाहरण पाठ है।', 'यह एनएलटीके के लिए एक ट्यूटोरियल है']
आप उपरोक्त कोड से उत्पन्न सरणी में प्रत्येक वाक्य को आगे टोकन कर सकते हैं वर्ड_टोकनाइज़र तथा लूप के लिए पायथन.
एनएलटीके का उपयोग कैसे करें के उदाहरण
इसलिए जब हम एनएलटीके के सभी संभावित उपयोग-मामलों का प्रदर्शन नहीं कर सकते हैं, तो यहां कुछ उदाहरण दिए गए हैं कि आप वास्तविक जीवन की समस्याओं को हल करने के लिए इसका उपयोग कैसे शुरू कर सकते हैं।
शब्द परिभाषाएँ और उनके भाषण के भाग प्राप्त करें
एनएलटीके भाषण के कुछ हिस्सों को निर्धारित करने, विस्तृत शब्दार्थ प्राप्त करने और विभिन्न शब्दों के संभावित प्रासंगिक उपयोग के लिए मॉडल पेश करता है।
आप का उपयोग कर सकते हैं शब्दतंत्र पाठ के लिए चर उत्पन्न करने के लिए मॉडल। फिर इसका अर्थ और भाषण का हिस्सा निर्धारित करें।
उदाहरण के लिए, "बंदर:" के लिए संभावित चर की जाँच करें।
आयात nltk
nltk.corpus से wn. के रूप में वर्डनेट आयात करें
प्रिंट (wn.synsets ('बंदर'))
आउटपुट:
[Synset('monkey.n.01'), Synset('imp.n.02'), Synset('tamper.v.01'), Synset('putter.v.02')]
उपरोक्त कोड "बंदर" के लिए संभावित शब्द विकल्प या वाक्य रचना और भाषण के कुछ हिस्सों को आउटपुट करता है।
अब "बंदर" के अर्थ की जाँच करें परिभाषा तरीका:
बंदर = wn.synset ('monkey.n.01')। परिभाषा ()
आउटपुट:
विभिन्न लंबी पूंछ वाले प्राइमेट में से कोई भी (प्रोसिमियन को छोड़कर)
एनएलटीके आउटपुट क्या है यह देखने के लिए आप अन्य जेनरेट किए गए विकल्पों के साथ कोष्ठक में स्ट्रिंग को प्रतिस्थापित कर सकते हैं।
NS pos_tag मॉडल, हालांकि, एक शब्द के भाषण के कुछ हिस्सों को निर्धारित करता है। आप इसे के साथ उपयोग कर सकते हैं वर्ड_टोकनाइज़र या पंकटसेंटेंसटोकनाइज़र () यदि आप लंबे पैराग्राफ के साथ काम कर रहे हैं।
यहां बताया गया है कि यह कैसे काम करता है:
आयात nltk
nltk.tokenize से आयात करें word_tokenize, PunktSentenceTokenizer
शब्द = "यह एक उदाहरण पाठ है। यह एनएलटीके पर एक ट्यूटोरियल है"
टोकन = पंकटसेंटेंसटोकनाइज़र ()
टोकननाइज़्ड_सेंटेंस = टोकन। टोकनाइज़ (शब्द)
मैं के लिए टोकनयुक्त_वाक्य में:
टोकनवर्डअरे = word_tokenize (i)
partOfSpeech = nltk.pos_tag (tokenWordArray)
प्रिंट (पार्ट्सऑफ स्पीच)
आउटपुट:
[('दिस', 'डीटी'), ('is', 'VBZ'), ('an', 'DT'), ('example', 'NN'), ('text', 'NN'), ('।', '।')]
[('दिस', 'डीटी'), ('is', 'VBZ'), ('a', 'DT'), ('tutorial', 'JJ'), ('on', 'IN'), ('एनएलटीके', 'एनएनपी')]
उपरोक्त कोड प्रत्येक टोकनयुक्त शब्द को उसके स्पीच टैग के साथ एक टुपल में जोड़ता है। आप इन टैग्स का अर्थ यहां देख सकते हैं पेन ट्रीबैंक.
एक क्लीनर परिणाम के लिए, आप आउटपुट में अवधियों का उपयोग कर हटा सकते हैं बदलने के() तरीका:
मैं के लिए टोकनयुक्त_वाक्य में:
टोकनवर्डअरे = word_tokenize (i.replace('.', ''))
partOfSpeech = nltk.pos_tag (tokenWordArray)
प्रिंट (पार्ट्सऑफ स्पीच)
क्लीनर आउटपुट:
[('दिस', 'डीटी'), ('is', 'VBZ'), ('an', 'DT'), ('example', 'NN'), ('text', 'NN') ]
[('दिस', 'डीटी'), ('is', 'VBZ'), ('a', 'DT'), ('tutorial', 'JJ'), ('on', 'IN'), ('एनएलटीके', 'एनएनपी')]
एनएलटीके प्लॉट का उपयोग करके फीचर ट्रेंड की कल्पना करना
कच्चे पाठों से फीचर निकालना अक्सर थकाऊ और समय लेने वाला होता है। लेकिन आप NLTK फ़्रीक्वेंसी डिस्ट्रीब्यूशन ट्रेंड प्लॉट का उपयोग करके टेक्स्ट में सबसे मजबूत फीचर निर्धारक देख सकते हैं।
एनएलटीके, हालांकि, के साथ समन्वयित करता है मैटप्लोटलिब। आप अपने डेटा में एक विशिष्ट प्रवृत्ति देखने के लिए इसका लाभ उठा सकते हैं।
उदाहरण के लिए, नीचे दिया गया कोड वितरण प्लॉट पर सकारात्मक और नकारात्मक शब्दों के एक सेट की तुलना उनके अंतिम दो अक्षरों का उपयोग करके करता है:
आयात nltk
nltk आयात से
नकारात्मक और सकारात्मक शब्दों की सूची:
नकारात्मक = [
'असामान्य', 'निरस्त', 'घृणित',
'घृणित', 'घृणित', 'घृणित'
]
सकारात्मक = [
'बहुतायत', 'बहुतायत', 'बहुतायत',
'प्रचुर मात्रा में', 'पहुंच योग्य', 'सुलभ'
]
# प्रत्येक सरणी में आइटम को लेबल किए गए टपल जोड़े में विभाजित करें
# और दोनों सरणियों को मिलाएं:
pos_negData = ([("नकारात्मक", नकारात्मक) नकारात्मक में नकारात्मक के लिए]+[("सकारात्मक", पॉज़) सकारात्मक में पॉज़ के लिए])
# परिणामी सरणी से अंतिम दो अक्षर निकालें:
f = ((pos, i[-2:],) for (pos, i) in pos_negData)
# इन अक्षरों का वितरण प्लॉट बनाएं
सीएफडी = कंडीशनलफ्रीकडिस्ट (एफ)
सीएफडी.प्लॉट ()
वर्णमाला वितरण प्लॉट इस तरह दिखता है:
ग्राफ़ को ध्यान से देखने पर. के साथ समाप्त होने वाले शब्द सीई, डी एस, ले, रा, तथा एनटीई सकारात्मक ग्रंथ होने की अधिक संभावना है। लेकिन जिनका अंत. के साथ होता है अली, लियो, पर, तथा ते अधिक संभावना नकारात्मक शब्द हैं।
ध्यान दें:यद्यपि हमने यहां स्व-निर्मित डेटा का उपयोग किया है, आप एनएलटीके के कुछ अंतर्निर्मित डेटासेट को इसके कॉर्पस रीडर का उपयोग करके एक्सेस कर सकते हैं। कोष की कक्षा एनएलटीके. आप शायद देखना चाहेंगे कॉर्पस पैकेज प्रलेखन यह देखने के लिए कि आप इसका उपयोग कैसे कर सकते हैं।
एलेक्सा, स्पैम डिटेक्शन, चैटबॉट्स, सेंटीमेंट एनालिसिस, और बहुत कुछ जैसी तकनीकों के उद्भव के साथ, प्राकृतिक भाषा प्रसंस्करण अपने उप-मानव चरण में विकसित हो रहा है। यद्यपि हमने इस आलेख में केवल कुछ उदाहरणों पर विचार किया है कि एनएलटीके क्या प्रदान करता है, इस टूल में इस ट्यूटोरियल के दायरे से अधिक उन्नत अनुप्रयोग हैं।
इस लेख को पढ़ने के बाद, आपके पास आधार स्तर पर एनएलटीके का उपयोग करने का अच्छा विचार होना चाहिए। अब आपके लिए बस इतना करना बाकी है कि इस ज्ञान को स्वयं अमल में लाएं!
मशीन लर्निंग के क्षेत्र में रुचि रखते हैं? इन पुस्तकालयों के साथ आरंभ करें।
आगे पढ़िए
- प्रोग्रामिंग
- अजगर
- प्रोग्रामिंग की भाषाएँ
- प्रोग्रामिंग
Idowu कुछ भी स्मार्ट तकनीक और उत्पादकता के बारे में भावुक है। अपने खाली समय में, वह कोडिंग के साथ खेलता है और जब वह ऊब जाता है तो शतरंज की बिसात पर चला जाता है, लेकिन उसे कभी-कभी दिनचर्या से अलग होना भी पसंद होता है। लोगों को आधुनिक तकनीक के बारे में बताने का उनका जुनून उन्हें और अधिक लिखने के लिए प्रेरित करता है।
हमारे न्यूज़लेटर की सदस्यता लें
तकनीकी युक्तियों, समीक्षाओं, निःशुल्क ई-पुस्तकों और अनन्य सौदों के लिए हमारे न्यूज़लेटर से जुड़ें!
सब्सक्राइब करने के लिए यहां क्लिक करें