एनएलटीके के साथ पीओएस टैगिंग और एनएलपी में चंकिंग [उदाहरण]
पीओएस टैगिंग
पीओएस टैगिंग (पार्ट्स ऑफ स्पीच टैगिंग) किसी भाषण के किसी खास हिस्से के लिए शब्दों को उसकी परिभाषा और संदर्भ के आधार पर टेक्स्ट फॉर्मेट में चिह्नित करने की प्रक्रिया है। यह किसी भाषा में टेक्स्ट पढ़ने और प्रत्येक शब्द को कुछ विशिष्ट टोकन (पार्ट्स ऑफ स्पीच) प्रदान करने के लिए जिम्मेदार है। इसे व्याकरणिक टैगिंग भी कहा जाता है।
आइए एनएलटीके पार्ट ऑफ स्पीच उदाहरण से सीखें:
इनपुट: हमें सब कुछ करने की अनुमति है।
आउटपुट: [('सब कुछ', एनएन),('को', टीओ), ('परमिट', वीबी), ('हमें', पीआरपी)]
POS टैगिंग उदाहरण में शामिल चरण
- पाठ को टोकनाइज़ करें (word_tokenize)
- उपरोक्त चरण में pos_tag लागू करें जो कि nltk.pos_tag(tokenize_text) है
एनएलटीके पीओएस टैग के उदाहरण नीचे दिए गए हैं:
संक्षिप्त | अर्थ |
---|---|
CC | समन्वय संयोजन |
CD | कार्डिनल अंक |
DT | निर्धारक |
EX | वहाँ अस्तित्ववादी |
FW | विदेशी शब्द |
IN | पूर्वसर्ग/अधीनस्थ संयोजन |
JJ | यह NLTK POS टैग एक विशेषण (बड़ा) है |
जेजेआर | विशेषण, तुलनात्मक (बड़ा) |
जेजेएस | विशेषण, अतिशयोक्ति (सबसे बड़ा) |
LS | सूची बाजार |
MD | मोडल (कर सकता है, करेगा) |
NN | संज्ञा, एकवचन (बिल्ली, पेड़) |
एनएनएस | संज्ञा बहुवचन (डेस्क) |
एनएनपी | उचित संज्ञा, एकवचन (सारा) |
एनएनपीएस | उचित संज्ञा, बहुवचन (भारतीय या अमेरिकी) |
पीडीटी | पूर्वनिर्धारक (सभी, दोनों, आधा) |
स्थिति | अधिकारपूर्ण अंत (माता-पिता का) |
पीआरपी | व्यक्तिगत सर्वनाम (उसका, स्वयं, उसे, स्वयं) |
पीआरपी$ | अधिकारवाचक सर्वनाम (उसका, उसका, मेरा, मेरा, हमारा) |
RB | क्रिया विशेषण (कभी-कभी, तेज़ी से) |
आरबीआर | क्रिया विशेषण, तुलनात्मक (बड़ा) |
आरबीएस | क्रिया विशेषण, अतिशयोक्ति (सबसे बड़ा) |
RP | कण (लगभग) |
सेवा मेरे | अनंत मार्कर (तक) |
UH | विस्मयादिबोधक (अलविदा) |
VB | क्रिया (पूछना) |
वीबीजी | क्रिया जेरुंड (निर्णय) |
वीबीडी | क्रिया भूतकाल (प्रार्थना) |
वीबीएन | क्रिया भूतकालिक कृदंत (पुनर्मिलित) |
वीबीपी | क्रिया, वर्तमान काल, तीसरा व्यक्ति एकवचन नहीं (लपेटें) |
वीबीजेड | क्रिया, वर्तमान काल में तृतीय पुरुष एकवचन (आधार) |
डब्ल्यूडीटी | wh-निर्धारक (वह, क्या) |
WP | wh- सर्वनाम (कौन) |
डब्ल्यूआरबी | wh- क्रिया विशेषण (कैसे) |
उपरोक्त NLTK POS टैग सूची में सभी NLTK POS टैग शामिल हैं। NLTK POS टैगर का उपयोग वाक्य के प्रत्येक शब्द की व्याकरणिक जानकारी निर्दिष्ट करने के लिए किया जाता है। POS NLTK के सभी पैकेजों को इंस्टॉल करना, आयात करना और डाउनलोड करना पूरा हो गया है।
एनएलपी में चंकिंग क्या है?
बेडौल एनएलपी में जानकारी के छोटे-छोटे टुकड़ों को लेकर उन्हें बड़ी इकाइयों में समूहित करने की प्रक्रिया है। चंकिंग का प्राथमिक उपयोग "संज्ञा वाक्यांशों" के समूह बनाना है। इसका उपयोग नियमित अभिव्यक्तियों के साथ संयुक्त POS टैगिंग का पालन करके वाक्य में संरचना जोड़ने के लिए किया जाता है। परिणामी शब्दों के समूह को "चंक" कहा जाता है। इसे उथली पार्सिंग भी कहा जाता है।
उथले पार्सिंग में जड़ों और पत्तियों के बीच अधिकतम एक स्तर होता है जबकि गहरे पार्सिंग में एक से अधिक स्तर होते हैं। उथले पार्सिंग को लाइट पार्सिंग या चंकिंग भी कहा जाता है।
चंकिंग के नियम
इसमें कोई पूर्व-निर्धारित नियम नहीं हैं, लेकिन आप इन्हें आवश्यकता और अपेक्षा के अनुसार संयोजित कर सकते हैं।
उदाहरण के लिए, आपको वाक्य से संज्ञा, क्रिया (भूत काल), विशेषण और समन्वय जंक्शन को टैग करना होगा। आप नीचे दिए गए नियम का उपयोग कर सकते हैं
खंड:{ * * * ?}
निम्न तालिका दर्शाती है कि विभिन्न प्रतीकों का क्या अर्थ है:
प्रतीक का नाम | विवरण |
---|---|
. | नई पंक्ति को छोड़कर कोई भी वर्ण |
* | 0 या अधिक पुनरावृत्तियों का मिलान करें |
? | 0 या 1 पुनरावृत्तियों का मिलान करें |
अब नियम को बेहतर ढंग से समझने के लिए कोड लिखें
from nltk import pos_tag from nltk import RegexpParser text ="learn php from guru99 and make study easy".split() print("After Split:",text) tokens_tag = pos_tag(text) print("After Token:",tokens_tag) patterns= """mychunk:{<NN.?>*<VBD.?>*<JJ.?>*<CC>?}""" chunker = RegexpParser(patterns) print("After Regex:",chunker) output = chunker.parse(tokens_tag) print("After Chunking",output)
आउटपुट:
After Split: ['learn', 'php', 'from', 'guru99', 'and', 'make', 'study', 'easy'] After Token: [('learn', 'JJ'), ('php', 'NN'), ('from', 'IN'), ('guru99', 'NN'), ('and', 'CC'), ('make', 'VB'), ('study', 'NN'), ('easy', 'JJ')] After Regex: chunk.RegexpParser with 1 stages: RegexpChunkParser with 1 rules: <ChunkRule: '<NN.?>*<VBD.?>*<JJ.?>*<CC>?'> After Chunking (S (mychunk learn/JJ) (mychunk php/NN) from/IN (mychunk guru99/NN and/CC) make/VB (mychunk study/NN easy/JJ))
उपरोक्त पार्ट ऑफ स्पीच टैगिंग से निष्कर्ष Python उदाहरण: “make” एक क्रिया है जो नियम में शामिल नहीं है, इसलिए इसे mychunk के रूप में टैग नहीं किया गया है
चंकिंग का उपयोग मामला
चंकिंग का उपयोग इकाई का पता लगाने के लिए किया जाता है। इकाई वाक्य का वह भाग है जिसके द्वारा मशीन किसी भी इरादे के लिए मूल्य प्राप्त करती है।
Example: Temperature of New York. Here Temperature is the intention and New York is an entity.
दूसरे शब्दों में, चंकिंग का उपयोग टोकन के सबसेट को चुनने के लिए किया जाता है। कृपया नीचे दिए गए कोड का पालन करके समझें कि टोकन को चुनने के लिए चंकिंग का उपयोग कैसे किया जाता है। इस उदाहरण में, आप एक ग्राफ देखेंगे जो संज्ञा वाक्यांश के एक हिस्से के अनुरूप होगा। हम कोड लिखेंगे और बेहतर समझ के लिए ग्राफ बनाएंगे।
उपयोग के मामले को प्रदर्शित करने के लिए कोड
import nltk text = "learn php from guru99" tokens = nltk.word_tokenize(text) print(tokens) tag = nltk.pos_tag(tokens) print(tag) grammar = "NP: {<DT>?<JJ>*<NN>}" cp =nltk.RegexpParser(grammar) result = cp.parse(tag) print(result) result.draw() # It will draw the pattern graphically which can be seen in Noun Phrase chunking
आउटपुट:
['learn', 'php', 'from', 'guru99'] -- These are the tokens [('learn', 'JJ'), ('php', 'NN'), ('from', 'IN'), ('guru99', 'NN')] -- These are the pos_tag (S (NP learn/JJ php/NN) from/IN (NP guru99/NN)) -- Noun Phrase Chunking
ग्राफ
ग्राफ से, हम यह निष्कर्ष निकाल सकते हैं कि “सीखना” और “गुरु99” दो अलग-अलग टोकन हैं लेकिन उन्हें संज्ञा वाक्यांश के रूप में वर्गीकृत किया गया है जबकि टोकन “से” संज्ञा वाक्यांश से संबंधित नहीं है।
चंकिंग का उपयोग विभिन्न टोकन को एक ही चंक में वर्गीकृत करने के लिए किया जाता है। परिणाम उस व्याकरण पर निर्भर करेगा जिसे चुना गया है। इसके अलावा चंकिंग NLTK का उपयोग पैटर्न को टैग करने और टेक्स्ट कॉर्पोरा का पता लगाने के लिए किया जाता है।
पॉस टैग की गिनती
हमने विभिन्न विषयों पर चर्चा की है pos_tag पिछले अनुभाग में। इस विशेष ट्यूटोरियल में, आप सीखेंगे कि इन टैग्स की गणना कैसे की जाती है। टैग्स की गणना टेक्स्ट वर्गीकरण के साथ-साथ प्राकृतिक भाषा-आधारित संचालन के लिए सुविधाओं को तैयार करने के लिए महत्वपूर्ण है। मैं आपके साथ आउटपुट की चर्चा के साथ कोड तैयार करते समय गुरु99 द्वारा अपनाए गए दृष्टिकोण पर चर्चा करूंगा। आशा है कि यह आपकी मदद करेगा।
टैग की गिनती कैसे करें:
यहां पहले हम कार्यशील कोड लिखेंगे और फिर कोड को समझाने के लिए विभिन्न चरण लिखेंगे।
from collections import Counter import nltk text = "Guru99 is one of the best sites to learn WEB, SAP, Ethical Hacking and much more online." lower_case = text.lower() tokens = nltk.word_tokenize(lower_case) tags = nltk.pos_tag(tokens) counts = Counter( tag for word, tag in tags) print(counts)
आउटपुट:
काउंटर({'एनएन': 5, ',': 2, 'टीओ': 1, 'सीसी': 1, 'वीबीजेड': 1, 'एनएनएस': 1, 'सीडी': 1, '.': 1, 'डीटी': 1, 'जेजेएस': 1, 'जेजे': 1, 'जेजेआर': 1, 'आईएन': 1, 'वीबी': 1, 'आरबी': 1})
कोड का विस्तार
- टैग की गिनती करने के लिए, आप संग्रह के मॉड्यूल से काउंटर पैकेज का उपयोग कर सकते हैं। काउंटर एक शब्दकोश उपवर्ग है जो कुंजी-मूल्य संचालन के सिद्धांत पर काम करता है। यह एक अव्यवस्थित संग्रह है जहाँ तत्वों को शब्दकोश कुंजी के रूप में संग्रहीत किया जाता है जबकि गिनती उनका मान है।
- nltk आयात करें जिसमें पाठ को टोकनाइज़ करने के लिए मॉड्यूल शामिल हैं।
- वह पाठ लिखें जिसका pos_tag आप गिनना चाहते हैं.
- कुछ शब्द अपर केस में हैं और कुछ लोअर केस में, इसलिए टोकनाइजेशन लागू करने से पहले सभी शब्दों को लोअर केस में बदलना उचित है।
- शब्दों को nltk से word_tokenize के माध्यम से पास करें।
- प्रत्येक टोकन के pos_tag की गणना करें
Output = [('guru99', 'NN'), ('is', 'VBZ'), ('one', 'CD'), ('of', 'IN'), ('the', 'DT'), ('best', 'JJS'), ('site', 'NN'), ('to', 'TO'), ('learn', 'VB'), ('web', 'NN'), (',', ','), ('sap', 'NN'), (',', ','), ('ethical', 'JJ'), ('hacking', 'NN'), ('and', 'CC'), ('much', 'RB'), ('more', 'JJR'), ('online', 'JJ')]
- अब डिक्शनरी काउंटर की भूमिका आती है। हमने कोड लाइन 1 में आयात किया है। शब्द कुंजी हैं और टैग मान हैं और काउंटर टेक्स्ट में मौजूद प्रत्येक टैग की कुल संख्या की गणना करेगा।
आवृत्ति वितरण
आवृत्ति वितरण को किसी प्रयोग के परिणाम के घटित होने की संख्या के रूप में संदर्भित किया जाता है। इसका उपयोग किसी दस्तावेज़ में आने वाले प्रत्येक शब्द की आवृत्ति ज्ञात करने के लिए किया जाता है। इसका उपयोग फ़्रीकडिस्टक्लास और द्वारा परिभाषित nltk.संभावना मॉड्यूल।
बार-बार प्रयोग चलाने के नमूनों की गिनती करके आम तौर पर एक आवृत्ति वितरण बनाया जाता है। हर बार गिनती की संख्या में एक की वृद्धि होती है। उदाहरण
फ़्रीक_डिस्ट = फ़्रीकडिस्ट()
दस्तावेज़ में टोकन के लिए:
freq_dist.inc(टोकन.प्रकार())
किसी भी शब्द के लिए, हम जाँच सकते हैं कि वह किसी विशेष दस्तावेज़ में कितनी बार आया है। उदाहरण
- गणना विधि: freq_dist.count('and')यह अभिव्यक्ति 'and' के आने की संख्या का मान लौटाती है। इसे काउंट विधि कहा जाता है।
- आवृत्ति विधि: freq_dist.freq('and')यह अभिव्यक्ति किसी दिए गए नमूने की आवृत्ति लौटाती है।
हम एक छोटा सा प्रोग्राम लिखेंगे और उसके काम करने के तरीके को विस्तार से समझाएंगे। हम कुछ टेक्स्ट लिखेंगे और टेक्स्ट में प्रत्येक शब्द के आवृत्ति वितरण की गणना करेंगे।
import nltk a = "Guru99 is the site where you can find the best tutorials for Software Testing Tutorial, SAP Course for Beginners. Java Tutorial for Beginners and much more. Please visit the site guru99.com and much more." words = nltk.tokenize.word_tokenize(a) fd = nltk.FreqDist(words) fd.plot()
कोड का स्पष्टीकरण:
- nltk मॉड्यूल आयात करें.
- वह पाठ लिखें जिसका शब्द वितरण आपको ज्ञात करना है।
- पाठ में प्रत्येक शब्द को टोकनाइज़ करें जो nltk के FreqDist मॉड्यूल में इनपुट के रूप में प्रस्तुत किया जाता है।
- प्रत्येक शब्द को सूची के रूप में nlk.FreqDist पर लागू करें
- plot() का उपयोग करके शब्दों को ग्राफ में अंकित करें
कृपया लिखे गए पाठ को बेहतर ढंग से समझने के लिए ग्राफ को देखें
नोट: उपरोक्त ग्राफ देखने के लिए आपके पास matplotlib स्थापित होना चाहिए
ऊपर दिए गए ग्राफ को देखें। यह पाठ में प्रत्येक शब्द की घटना की गणना करने के अनुरूप है। यह पाठ के अध्ययन में और आगे पाठ-आधारित भावनात्मक विश्लेषण को लागू करने में मदद करता है। संक्षेप में, यह निष्कर्ष निकाला जा सकता है कि nltk में पाठ में प्रत्येक शब्द की घटना की गणना करने के लिए एक मॉड्यूल है जो प्राकृतिक भाषा सुविधाओं के आँकड़े तैयार करने में मदद करता है। यह पाठ में कीवर्ड खोजने में महत्वपूर्ण भूमिका निभाता है। आप extract, PyPDF2 जैसी लाइब्रेरी का उपयोग करके पीडीएफ से पाठ भी निकाल सकते हैं और पाठ को nlk.FreqDist में फीड कर सकते हैं।
मुख्य शब्द है "टोकनाइज़"। टोकनाइज़ करने के बाद, यह दिए गए पैराग्राफ़ या टेक्स्ट दस्तावेज़ में प्रत्येक शब्द की जाँच करता है ताकि यह निर्धारित किया जा सके कि यह कितनी बार हुआ है। इसके लिए आपको NLTK टूलकिट की आवश्यकता नहीं है। आप इसे अपने खुद के पायथन प्रोग्रामिंग कौशल से भी कर सकते हैं। NLTK टूलकिट केवल विभिन्न ऑपरेशनों के लिए उपयोग के लिए तैयार कोड प्रदान करता है।
प्रत्येक शब्द की गिनती करना शायद बहुत उपयोगी न हो। इसके बजाय आपको कोलोकेशन और बिग्राम पर ध्यान देना चाहिए जो एक जोड़ी में बहुत सारे शब्दों से निपटता है। ये जोड़े बेहतर प्राकृतिक भाषा सुविधाओं के लिए उपयोगी कीवर्ड की पहचान करते हैं जिन्हें मशीन में फीड किया जा सकता है। कृपया उनके विवरण के लिए नीचे देखें।
कोलोकेशन्स: बिग्रम्स और ट्रिग्राम्स
कोलोकेशन्स क्या है?
कोलोकेशन शब्दों के जोड़े हैं जो एक दस्तावेज़ में कई बार एक साथ आते हैं। इसकी गणना दस्तावेज़ की कुल शब्द गणना में एक साथ आने वाले शब्दों की संख्या के आधार पर की जाती है।
पराबैंगनी किरणों, अवरक्त किरणों जैसे शब्दों के साथ विद्युत चुम्बकीय स्पेक्ट्रम पर विचार करें।
पराबैंगनी और किरणों को अलग-अलग इस्तेमाल नहीं किया जाता है और इसलिए इन्हें कोलोकेशन के रूप में माना जा सकता है। इसका एक और उदाहरण है सीटी स्कैन। हम सीटी और स्कैन को अलग-अलग नहीं कहते हैं, और इसलिए इन्हें भी कोलोकेशन के रूप में माना जाता है।
हम कह सकते हैं कि कोलोकेशन खोजने के लिए शब्दों की आवृत्तियों और अन्य शब्दों के संदर्भ में उनकी उपस्थिति की गणना करने की आवश्यकता होती है। शब्दों के इन विशिष्ट संग्रहों को उपयोगी सामग्री शब्दों को बनाए रखने के लिए फ़िल्टरिंग की आवश्यकता होती है। फिर शब्दों के प्रत्येक ग्राम को कुछ एसोसिएशन माप के अनुसार स्कोर किया जा सकता है, ताकि प्रत्येक इनग्राम के कोलोकेशन होने की सापेक्ष संभावना निर्धारित की जा सके।
कोलोकेशन को दो प्रकारों में वर्गीकृत किया जा सकता है-
- बिग्राम्स सीदो शब्दों का संयोजन
- ट्रिग्रामतीन शब्दों का संयोजन
बिग्राम और ट्रिग्राम फीचर निष्कर्षण चरण के लिए अधिक सार्थक और उपयोगी विशेषताएं प्रदान करते हैं। ये विशेष रूप से पाठ-आधारित भावनात्मक विश्लेषण में उपयोगी होते हैं।
बिग्राम्स उदाहरण कोड
import nltk text = "Guru99 is a totally new kind of learning experience." Tokens = nltk.word_tokenize(text) output = list(nltk.bigrams(Tokens)) print(output)
आउटपुट:
[('Guru99', 'is'), ('is', 'totally'), ('totally', 'new'), ('new', 'kind'), ('kind', 'of'), ('of', 'learning'), ('learning', 'experience'), ('experience', '.')]
ट्रिग्राम उदाहरण कोड
कभी-कभी सांख्यिकीय विश्लेषण और आवृत्ति गणना के लिए वाक्य में तीन शब्दों की जोड़ी देखना महत्वपूर्ण हो जाता है। यह फिर से बनाने में महत्वपूर्ण भूमिका निभाता है एनएलपी (प्राकृतिक भाषा प्रसंस्करण सुविधाएँ) के साथ-साथ पाठ-आधारित भावुक भविष्यवाणी भी शामिल है।
ट्रिग्राम की गणना के लिए भी यही कोड चलाया जाता है।
import nltk text = “Guru99 is a totally new kind of learning experience.” Tokens = nltk.word_tokenize(text) output = list(nltk.trigrams(Tokens)) print(output)
आउटपुट:
[('Guru99', 'is', 'totally'), ('is', 'totally', 'new'), ('totally', 'new', 'kind'), ('new', 'kind', 'of'), ('kind', 'of', 'learning'), ('of', 'learning', 'experience'), ('learning', 'experience', '.')]
वाक्य टैग करना
व्यापक अर्थ में वाक्य को टैग करना वाक्य के संदर्भ के अनुसार क्रिया, संज्ञा आदि के लेबल जोड़ने को संदर्भित करता है। POS टैग की पहचान एक जटिल प्रक्रिया है। इस प्रकार POS की सामान्य टैगिंग मैन्युअल रूप से संभव नहीं है क्योंकि वाक्य की संरचना के अनुसार कुछ शब्दों के अलग-अलग (अस्पष्ट) अर्थ हो सकते हैं। टैगिंग से पहले सूची के रूप में पाठ का रूपांतरण एक महत्वपूर्ण कदम है क्योंकि सूची में प्रत्येक शब्द को लूप किया जाता है और एक विशेष टैग के लिए गिना जाता है। इसे बेहतर ढंग से समझने के लिए कृपया नीचे दिए गए कोड को देखें
import nltk text = "Hello Guru99, You have to build a very good site, and I love visiting your site." sentence = nltk.sent_tokenize(text) for sent in sentence: print(nltk.pos_tag(nltk.word_tokenize(sent)))
आउटपुट:
[('नमस्ते', 'एनएनपी'), ('गुरु99', 'एनएनपी'), (',', ','), ('आप', 'पीआरपी'), ('है', 'वीबीपी'), ('निर्माण', 'वीबीएन'), ('एक', 'डीटी'), ('बहुत', 'आरबी'), ('अच्छा', 'जेजे'), ('साइट', 'एनएन'), ('और', 'सीसी'), ('मैं', 'पीआरपी'), ('प्यार', 'वीबीपी'), ('विजिटिंग', 'वीबीजी'), ('आपका', 'पीआरपी$'), ('साइट', 'एनएन'), ('.', '.')]
कोड स्पष्टीकरण:
- nltk को आयात करने के लिए कोड (प्राकृतिक भाषा टूलकिट जिसमें वाक्य टोकेनाइज़ और शब्द टोकेनाइज़ जैसे सबमॉड्यूल शामिल हैं।)
- वह पाठ जिसके टैग मुद्रित किये जाने हैं।
- वाक्य टोकननाइज़ेशन
- फॉर लूप को क्रियान्वित किया जाता है, जहां शब्दों को वाक्य से टोकनकृत किया जाता है तथा प्रत्येक शब्द का टैग आउटपुट के रूप में मुद्रित किया जाता है।
कॉर्पस में दो प्रकार के पीओएस टैगर्स हैं:
- नियम आधारित
- स्टोचैस्टिक पीओएस टैगर्स
1.नियम-आधारित पीओएस टैगर: अस्पष्ट अर्थ वाले शब्दों के लिए, संदर्भगत जानकारी के आधार पर नियम-आधारित दृष्टिकोण लागू किया जाता है। ऐसा पहले या बाद के शब्द के अर्थ की जाँच या विश्लेषण करके किया जाता है। जानकारी का विश्लेषण शब्द के आस-पास या उसके भीतर से किया जाता है। इसलिए शब्दों को किसी विशेष भाषा के व्याकरणिक नियमों जैसे कैपिटलाइज़ेशन और विराम चिह्नों द्वारा टैग किया जाता है। उदाहरण के लिए, ब्रिल का टैगर।
2.स्टोकेस्टिक पीओएस टैगर: इस विधि के अंतर्गत आवृत्ति या प्रायिकता जैसे विभिन्न दृष्टिकोण लागू किए जाते हैं। यदि प्रशिक्षण सेट में कोई शब्द किसी विशेष टैग के साथ सबसे अधिक टैग किया जाता है, तो परीक्षण वाक्य में उसे वह विशेष टैग दिया जाता है। शब्द टैग न केवल अपने टैग पर बल्कि पिछले टैग पर भी निर्भर करता है। यह विधि हमेशा सटीक नहीं होती है। एक अन्य तरीका वाक्य में किसी विशिष्ट टैग के होने की प्रायिकता की गणना करना है। इस प्रकार किसी विशेष टैग वाले शब्द की उच्चतम प्रायिकता की जाँच करके अंतिम टैग की गणना की जाती है।
छिपे हुए मार्कोव मॉडल के साथ POS टैगिंग
टैगिंग समस्याओं को HMM का उपयोग करके भी मॉडल किया जा सकता है। यह इनपुट टोकन को अवलोकनीय अनुक्रम मानता है जबकि टैग को छिपी हुई अवस्थाओं के रूप में माना जाता है और लक्ष्य छिपी हुई अवस्था अनुक्रम को निर्धारित करना है। उदाहरण के लिए एक्स = एक्स1,x2,…………,एक्सn जहाँ x टोकनों का अनुक्रम है जबकि वाई = वाई1,y2,y3,y4………यnछिपा हुआ अनुक्रम है.
हिडेन मार्कोव मॉडल (HMM) कैसे काम करता है?
एचएमएम जॉइन वितरण का उपयोग करता है जो P(x, y) है जहां x इनपुट अनुक्रम/टोकन अनुक्रम है और y टैग अनुक्रम है।
x के लिए टैग अनुक्रम argmax होगाy1….यंp(x1,x2,….xn,y1,y2,y3,…..). हमने टेक्स्ट से टैग को वर्गीकृत किया है, लेकिन ऐसे टैग के आँकड़े महत्वपूर्ण हैं। इसलिए अगला भाग सांख्यिकीय अध्ययन के लिए इन टैग की गिनती कर रहा है।
सारांश
- POS टैगिंग एनएलटीके यह किसी भाषण के किसी विशेष भाग के लिए उसकी परिभाषा और संदर्भ के आधार पर शब्दों को पाठ प्रारूप में चिह्नित करने की एक प्रक्रिया है।
- एनएलटीके पीओएस टैगिंग के कुछ उदाहरण हैं: सीसी, सीडी, ईएक्स, जेजे, एमडी, एनएनपी, पीडीटी, पीआरपी$, टीओ, आदि।
- POS टैगर का उपयोग वाक्य के प्रत्येक शब्द की व्याकरणिक जानकारी निर्दिष्ट करने के लिए किया जाता है। NLTK के साथ पार्ट ऑफ़ स्पीच टैगिंग के सभी पैकेजों को इंस्टॉल करना, आयात करना और डाउनलोड करना पूरा हो गया है।
- एनएलपी में चंकिंग सूचना के छोटे-छोटे टुकड़ों को लेकर उन्हें बड़ी इकाइयों में समूहित करने की प्रक्रिया है।
- इसमें कोई पूर्व-निर्धारित नियम नहीं हैं, लेकिन आप इन्हें आवश्यकता और अपेक्षा के अनुसार संयोजित कर सकते हैं।
- चंकिंग का उपयोग इकाई का पता लगाने के लिए किया जाता है। इकाई वाक्य का वह भाग है जिसके द्वारा मशीन किसी भी इरादे के लिए मूल्य प्राप्त करती है।
- चंकिंग का उपयोग विभिन्न टोकनों को एक ही खंड में वर्गीकृत करने के लिए किया जाता है।