टेक्स्ट को कैसे पार्स करें
अनेक वस्तुओं का संग्रह / / April 05, 2023
यदि आपने कुछ कंप्यूटर प्रोग्रामिंग लैंग्वेज सीखी हैं, तो आपने शब्द पार्सिंग टेक्स्ट सुना होगा। इसका उपयोग फ़ाइल के जटिल डेटा मानों को सरल बनाने के लिए किया जाता है। लेख आपको यह जानने में मदद करता है कि भाषा का उपयोग करके पाठ को कैसे पार्स किया जाए। इसके अतिरिक्त, यदि आपको पार्स टेक्स्ट x में त्रुटि का सामना करना पड़ा है, तो आप लेख में पार्स त्रुटि को ठीक करने का तरीका जानेंगे।
विषयसूची
- टेक्स्ट को कैसे पार्स करें
- पार्सिंग टेक्स्ट क्या है?
- एनएलपी या प्राकृतिक भाषा प्रसंस्करण
- पार्सिंग टेक्स्ट क्या है?
- पाठ को पार्स करने के कारण क्या हैं?
- विधि 1: डेटाफ़्रेम क्लास के माध्यम से
- विधि 2: वर्ड टोकनाइजेशन के माध्यम से
- विधि 3: DocParser क्लास के माध्यम से
- विधि 4: पार्स टेक्स्ट टूल के माध्यम से
- विधि 5: TextFieldParser (विजुअल बेसिक) के माध्यम से
- प्रो टिप: एमएस एक्सेल के माध्यम से टेक्स्ट को कैसे पार्स करें
- पार्स एरर को कैसे ठीक करें
टेक्स्ट को कैसे पार्स करें
इस लेख में, हमने विभिन्न तरीकों से टेक्स्ट को पार्स करने के लिए एक पूरी गाइड दिखाई है और साथ ही टेक्स्ट को पार्स करने का संक्षिप्त परिचय भी दिया है।
पार्सिंग टेक्स्ट क्या है?
किसी भी कोड का उपयोग करके पाठ को पार्स करने की अवधारणाओं को सीखने से पहले। भाषा और कोडिंग की मूल बातें जानना महत्वपूर्ण है।
एनएलपी या प्राकृतिक भाषा प्रसंस्करण
टेक्स्ट को पार्स करने के लिए, नेचुरल लैंग्वेज प्रोसेसिंग या एनएलपी, जो आर्टिफिशियल इंटेलिजेंस डोमेन का एक उप-क्षेत्र है, का उपयोग किया जाता है। पायथन भाषा, जो कि श्रेणी से संबंधित भाषाओं में से एक है, का उपयोग पाठ को पार्स करने के लिए किया जाता है।
एनएलपी कोड कंप्यूटर को विभिन्न अनुप्रयोगों के लिए उपयुक्त बनाने के लिए मानव भाषाओं को समझने और संसाधित करने में सक्षम बनाता है। एमएल या मशीन लर्निंग तकनीकों को भाषा में लागू करने के लिए, असंरचित पाठ डेटा को संरचित सारणीबद्ध डेटा में बदलना होगा। पार्सिंग गतिविधि को पूरा करने के लिए, प्रोग्राम कोड को बदलने के लिए पायथन भाषा का उपयोग किया जाता है।
पार्सिंग टेक्स्ट क्या है?
पाठ को पार्स करने का अर्थ है डेटा को एक प्रारूप से दूसरे प्रारूप में परिवर्तित करना। जिस प्रारूप में फ़ाइल सहेजी गई है उसे पार्स किया जाएगा या एक अलग प्रारूप में फ़ाइल में परिवर्तित किया जाएगा ताकि उपयोगकर्ता इसे विभिन्न अनुप्रयोगों में उपयोग कर सके।
- दूसरे शब्दों में, प्रक्रिया का अर्थ है स्ट्रिंग या पाठ का विश्लेषण करना और फ़ाइल के प्रारूप को बदलकर तार्किक घटकों में परिवर्तित करना।
- इस सामान्य प्रोग्रामिंग कार्य को पूरा करने के लिए Python भाषा के कुछ नियमों का उपयोग किया जाता है। टेक्स्ट को पार्स करते समय, टेक्स्ट की दी गई श्रृंखला को छोटे-छोटे घटकों में विभाजित किया जाता है।
पाठ को पार्स करने के कारण क्या हैं?
जिन कारणों से पाठ को पार्स किया जाना है, वे इस खंड में दिए गए हैं और यह जानने से पहले कि पाठ को कैसे पार्स किया जाए, यह एक पूर्व-आवश्यक ज्ञान है।
- सभी कम्प्यूटरीकृत डेटा एक ही प्रारूप में नहीं होंगे और विभिन्न अनुप्रयोगों के अनुसार भिन्न हो सकते हैं।
- डेटा प्रारूप विभिन्न अनुप्रयोगों के लिए अलग-अलग होते हैं और एक असंगत कोड इस त्रुटि का कारण बन सकता है।
- सभी डेटा स्वरूपों के डेटा का चयन करने के लिए कोई व्यक्तिगत सार्वभौमिक कंप्यूटर प्रोग्राम नहीं है।
विधि 1: डेटाफ़्रेम क्लास के माध्यम से
Python भाषा के DataFrame वर्ग में पाठ को पार्स करने के लिए सभी आवश्यक कार्य हैं। यह इन-बिल्ट लाइब्रेरी किसी भी प्रारूप के डेटा को दूसरे प्रारूप में पार्स करने के लिए आवश्यक कोड रखती है।
डेटाफ्रेम क्लास का संक्षिप्त परिचय
DataFrame क्लास एक सुविधा संपन्न डेटा संरचना है, जिसका उपयोग डेटा विश्लेषण उपकरण के रूप में किया जाता है। यह एक शक्तिशाली डेटा विश्लेषण उपकरण है जिसका उपयोग न्यूनतम प्रयास के साथ डेटा का विश्लेषण करने के लिए किया जा सकता है।
- पायथन भाषा में विश्लेषण करने के लिए कोड को पांडा डेटाफ़्रेम में पढ़ा जाता है।
- कक्षा पांडा द्वारा प्रदान किए गए कई पैकेजों के साथ आती है जिनका उपयोग पायथन डेटा विश्लेषकों द्वारा किया जाता है।
- इस वर्ग की विशेषता एक अमूर्तता है, एक कोड जिसमें फ़ंक्शन की आंतरिक कार्यक्षमता, NumPy लाइब्रेरी के उपयोगकर्ताओं से छिपी हुई है। NumPy लाइब्रेरी एक पायथन लाइब्रेरी है जिसमें सरणियों के साथ काम करने के लिए कमांड और फ़ंक्शंस शामिल हैं।
- DataFrame वर्ग का उपयोग कई पंक्ति और स्तंभ सूचकांकों के साथ द्वि-आयामी सरणी प्रस्तुत करने के लिए किया जा सकता है। ये सूचकांक बहु-आयामी डेटा को संग्रहीत करने में मदद करते हैं, और इसलिए, मल्टीइंडेक्स कहलाते हैं। पार्स त्रुटि को ठीक करने का तरीका जानने के लिए इन्हें बदलना होगा।
पार्स टेक्स्ट x में त्रुटि से बचने के लिए पायथन भाषा के पांडा SQL या डेटाबेस-शैली के संचालन को अत्यंत पूर्णता के साथ करने में मदद करते हैं। इसमें कुछ आईओ टूल्स भी शामिल हैं जो सीएसवी, एमएस एक्सेल, जेएसओएन, एचडीएफ5 और अन्य डेटा प्रारूपों की फाइलों का विश्लेषण करने में मदद करते हैं।
यह भी पढ़ें:प्रॉक्सी अनुरोध का प्रयास करते समय हुई त्रुटि को ठीक करें
डेटाफ़्रेम क्लास का उपयोग करके टेक्स्ट को पार्स करने की प्रक्रिया
टेक्स्ट को पार्स करने का तरीका जानने के लिए, आप इस सेक्शन में दी गई DataFrame क्लास का उपयोग करके मानक प्रक्रिया का उपयोग कर सकते हैं।
- इनपुट डेटा के डेटा प्रारूप को समझें।
- डेटा के आउटपुट डेटा जैसे तय करें सीएसवी या कॉमा सेपरेटेड वैल्यू.
- कोड पर एक आदिम डेटा प्रकार लिखें जैसे सूची या तानाशाही।
टिप्पणी: खाली DataFrame पर कोड लिखना थकाऊ और जटिल हो सकता है। पांडा इन डेटा प्रकारों से डेटाफ़्रेम वर्ग पर डेटा बनाने की अनुमति देते हैं। इसलिए, आदिम डेटा प्रकार के डेटा को आवश्यक डेटा प्रारूप में आसानी से पार्स किया जा सकता है।
- डेटा विश्लेषण उपकरण, पांडा डेटाफ़्रेम का उपयोग करके डेटा का विश्लेषण करें और परिणाम प्रिंट करें।
विकल्प I: मानक प्रारूप
किसी निश्चित डेटा प्रारूप जैसे CSV के साथ किसी भी फ़ाइल को प्रारूपित करने की मानक विधि यहाँ समझाई गई है।
- फ़ाइल को अपने पीसी पर स्थानीय रूप से डेटा मानों के साथ सहेजें। उदाहरण के लिए, आप फ़ाइल को नाम दे सकते हैं data.txt.
- फ़ाइल को एक विशिष्ट नाम के साथ पांडा में आयात करें और डेटा को दूसरे चर में आयात करें। उदाहरण के लिए, भाषा के पंडों को नाम में आयात किया जाता है पी.डी. दिए गए कोड में।
- आयात में इनपुट फ़ाइल, फ़ंक्शन और इनपुट फ़ाइल प्रारूप के नाम के विवरण के साथ एक पूर्ण कोड होना चाहिए।
टिप्पणी: यहाँ, वेरिएबल का नाम दिया गया है आर ई करने के लिए प्रयोग किया जाता है पढ़ना फ़ाइल में डेटा का कार्य data.txt में आयातित पांडा का उपयोग करना पी.डी.. इनपुट टेक्स्ट का डेटा प्रारूप में निर्दिष्ट किया गया है सीएसवी प्रारूप।
- नामित फ़ाइल प्रकार को कॉल करें और मुद्रित परिणाम पर पार्स किए गए पाठ का विश्लेषण करें। उदाहरण के लिए, आज्ञा आर ई कमांड लाइन निष्पादन के बाद पार्स किए गए टेक्स्ट को प्रिंट करने में मदद मिलेगी।
ऊपर बताई गई प्रक्रिया के लिए एक उदाहरण कोड नीचे दिया गया है और यह समझने में मदद करेगा कि टेक्स्ट को कैसे पार्स किया जाए।
पीडी के रूप में पांडा आयात करेंरेस = pd.read_csv ('data.txt')आर ई
इस स्थिति में, यदि आप फ़ाइल में डेटा मान इनपुट करते हैं data.txt जैसे कि [1,2,3], इसे पार्स किया जाएगा और इस रूप में प्रदर्शित किया जाएगा 1 2 3.
विकल्प II: स्ट्रिंग विधि
यदि कोड को दिए गए पाठ में केवल तार या अल्फा वर्ण हैं, तो स्ट्रिंग में विशेष वर्ण जैसे अल्पविराम, स्थान आदि का उपयोग पाठ को अलग करने और पार्स करने के लिए किया जा सकता है। प्रक्रिया सामान्य आंतरिक स्ट्रिंग ऑपरेशंस के समान है। पार्स त्रुटि को ठीक करने का तरीका खोजने के लिए, आपको इस विकल्प का उपयोग करके पाठ को पार्स करने की प्रक्रिया का पालन करना होगा, जिसे नीचे समझाया गया है।
- डेटा को स्ट्रिंग से निकाला जाता है और टेक्स्ट को अलग करने वाले सभी विशेष वर्णों को नोट किया जाता है।
उदाहरण के लिए, नीचे दिए गए कोड में, स्ट्रिंग में विशेष वर्ण my_string, जो हैं, ',' और ':' पहचाने जाते हैं। पार्स टेक्स्ट x में त्रुटि से बचने के लिए इस प्रक्रिया को सावधानी से करना होगा।
- स्ट्रिंग में पाठ मूल्यों और विशेष वर्णों की स्थिति के आधार पर अलग-अलग विभाजित होता है।
उदाहरण के लिए, स्प्लिट कमांड का उपयोग करके पहचाने गए विशेष वर्णों के आधार पर स्ट्रिंग को टेक्स्ट डेटा मानों में विभाजित किया जाता है।
- स्ट्रिंग के डेटा मान अकेले पार्स किए गए टेक्स्ट के रूप में प्रिंट किए जाते हैं। यहां ही छपाई स्टेटमेंट का उपयोग टेक्स्ट के पार्स किए गए डेटा मान को प्रिंट करने के लिए किया जाता है।
ऊपर बताई गई प्रक्रिया के लिए नमूना कोड नीचे दिया गया है।
my_string = 'नाम: तकनीक, कंप्यूटर's final = [name.strip() my_string.split(':')[1].split(',')] में नाम के लिएप्रिंट ("नाम: {}"। प्रारूप (फाइनल))
इस स्थिति में, पार्स की गई स्ट्रिंग का परिणाम नीचे दिखाए अनुसार प्रदर्शित किया जाएगा।
नाम: ['टेक', 'कंप्यूटर']
बेहतर स्पष्टता पाने के लिए और यह जानने के लिए कि स्ट्रिंग टेक्स्ट का उपयोग करते हुए टेक्स्ट को कैसे पार्स करना है, a के लिए लूप का उपयोग किया जाता है और कोड को निम्नानुसार संशोधित किया जाता है।
my_string = 'नाम: तकनीक, कंप्यूटर's1 = my_string.split (':')एस2 = एस1 [1]s3 = s2.split (',')s4 = [name.strip () s3 में नाम के लिए]आईडीएक्स के लिए, गणना में आइटम ([एस 1, एस 2, एस 3, एस 4]):प्रिंट ("चरण {}: {}"। प्रारूप (आईडीएक्स, आइटम))
इनमें से प्रत्येक चरण के लिए पार्स किए गए पाठ का परिणाम नीचे दिए गए अनुसार प्रदर्शित किया गया है। आप नोट कर सकते हैं कि, चरण 0 में, विशेष वर्ण के आधार पर स्ट्रिंग को अलग किया जाता है : और आगे के चरणों में वर्ण के आधार पर पाठ डेटा मानों को अलग किया जाता है।
चरण 0: ['नाम', 'टेक, कंप्यूटर']चरण 1: टेक, कंप्यूटरचरण 2: ['टेक', 'कंप्यूटर']चरण 3: ['टेक', 'कंप्यूटर']
विकल्प III: कॉम्प्लेक्स फाइल को पार्स करना
ज्यादातर उदाहरणों में, जिस फ़ाइल डेटा को पार्स करने की आवश्यकता होती है, उसमें अलग-अलग डेटा प्रकार और डेटा मान होते हैं। इस मामले में, पहले बताई गई विधियों का उपयोग करके फ़ाइल को पार्स करना कठिन हो सकता है।
फ़ाइल में जटिल डेटा को पार्स करने की विशेषताएं डेटा मानों को सारणीबद्ध प्रारूप में प्रदर्शित करने के लिए हैं।
- मानों का शीर्षक या मेटाडेटा फ़ाइल के शीर्ष पर मुद्रित होता है,
- वेरिएबल्स और फ़ील्ड्स को आउटपुट में सारणीबद्ध रूप में प्रिंट किया जाता है, और
- डेटा मान एक यौगिक कुंजी बनाते हैं।
इस पद्धति में पाठ को पार्स करने का तरीका सीखने से पहले, कुछ बुनियादी अवधारणाओं को सीखना आवश्यक है। डेटा मानों की पार्सिंग रेगुलर एक्सप्रेशन या रेगेक्स के आधार पर की जाती है।
रेगेक्स पैटर्न
पार्स त्रुटि को ठीक करने का तरीका जानने के लिए, आपको यह सुनिश्चित करना होगा कि एक्सप्रेशन में रेगेक्स पैटर्न उचित हैं। स्ट्रिंग्स के डेटा मानों को पार्स करने के लिए कोड में इस खंड में नीचे सूचीबद्ध सामान्य रेगेक्स पैटर्न शामिल होंगे।
- '\डी': स्ट्रिंग में दशमलव अंक से मेल खाता है,
- '\एस': खाली स्थान के चरित्र से मेल खाता है,
- '\w': अल्फ़ान्यूमेरिक वर्ण से मेल खाता है,
- ‘+’ या ‘*’: स्ट्रिंग्स में एक या एक से अधिक वर्णों का मिलान करके एक लालची मैच करता है,
- 'ए-जेड': टेक्स्ट डेटा मानों में लोअरकेस समूहों से मेल खाता है,
- 'ए-जेड' या 'ए-जेड': स्ट्रिंग के अपरकेस और लोअरकेस समूहों से मेल खाता है, और
- ‘0-9’: संख्यात्मक मानों से मेल खाता है।
नियमित अभिव्यक्ति
पायथन भाषा में रेगुलर एक्सप्रेशन मॉड्यूल पांडा पैकेज का एक प्रमुख हिस्सा हैं और गलत री से पार्स टेक्स्ट x में त्रुटि हो सकती है। अभिव्यक्ति में स्ट्रिंग पैटर्न खोजने के लिए यह पायथन के अंदर एम्बेडेड एक छोटी भाषा है। रेगुलर एक्सप्रेशंस या रेगेक्स विशेष सिंटैक्स के साथ तार हैं। यह उपयोगकर्ता को स्ट्रिंग्स में मानों के आधार पर अन्य स्ट्रिंग्स में पैटर्न का मिलान करने की अनुमति देता है।
रेगेक्स डेटा प्रकार और स्ट्रिंग में अभिव्यक्ति की आवश्यकता के आधार पर बनाया गया है, जैसे स्ट्रिंग = (.*)\n. प्रत्येक अभिव्यक्ति में पैटर्न से पहले रेगेक्स का उपयोग किया जाता है। रेगुलर एक्सप्रेशन में उपयोग किए गए प्रतीकों को नीचे सूचीबद्ध किया गया है और यह जानने में मदद मिलेगी कि टेक्स्ट को कैसे पार्स करना है।
- .: डेटा से किसी भी वर्ण को पुनः प्राप्त करने के लिए,
- *: पिछले एक्सप्रेशन से शून्य या अधिक डेटा का उपयोग करें,
- (.*): कोष्ठकों के भीतर नियमित अभिव्यक्ति का एक हिस्सा समूहित करने के लिए,
- \एन: कोड में लाइन के अंत में एक नया लाइन कैरेक्टर बनाएं,
- \डी: 0 से 9 की सीमा में एक छोटा अभिन्न मान बनाएँ,
- +: पिछले एक्सप्रेशन से एक या अधिक डेटा का उपयोग करें, और
- |: एक तार्किक कथन बनाएँ; के लिए इस्तेमाल होता है या भाव।
रेगेक्सऑब्जेक्ट्स
RegexObject कंपाइल फ़ंक्शन के लिए रिटर्न वैल्यू है और अगर एक्सप्रेशन मैच वैल्यू से मेल खाता है तो इसका इस्तेमाल मैचऑब्जेक्ट को वापस करने के लिए किया जाता है।
1. मैचऑब्जेक्ट
चूंकि MatchObject का बूलियन मान हमेशा True होता है, आप a का उपयोग कर सकते हैं अगर कथन वस्तु में सकारात्मक मिलान की पहचान करने के लिए। उपयोग करने के मामले में अगर बयान, सूचकांक द्वारा निर्दिष्ट समूह का उपयोग अभिव्यक्ति में वस्तु के मिलान का पता लगाने के लिए किया जाता है।
- समूह() मैच के एक या अधिक उपसमूह लौटाता है,
- समूह (0) पूरा मैच लौटाता है,
- समूह 1) पहला कोष्ठक उपसमूह लौटाता है, और
- कई समूहों का जिक्र करते समय, हमें एक अजगर विशिष्ट विस्तार का उपयोग करना चाहिए। इस एक्सटेंशन का उपयोग उस समूह के नाम को निर्दिष्ट करने के लिए किया जाता है जिसमें मिलान पाया जाना है। विशिष्ट विस्तार कोष्ठक समूह के भीतर प्रदान किया गया है। उदाहरण के लिए, अभिव्यक्ति, (?पी
रेगेक्स1) नाम के साथ विशिष्ट समूह को संदर्भित करेगा समूह 1 और रेगुलर एक्सप्रेशन में मैच के लिए जाँच करें, रेगेक्स1. पार्स त्रुटि को ठीक करने का तरीका जानने के लिए, आपको यह जांचना होगा कि समूह सही ढंग से इंगित किया गया है या नहीं।
2. मैचऑब्जेक्ट के तरीके
पाठ को पार्स करने का तरीका ढूंढते समय, यह जानना महत्वपूर्ण है कि नीचे सूचीबद्ध अनुसार MatchObject के दो बुनियादी तरीके हैं। यदि निर्दिष्ट अभिव्यक्ति में MatchObject पाया जाता है, तो यह अपना उदाहरण लौटाएगा, अन्यथा, यह कोई नहीं लौटाएगा।
- मैच (स्ट्रिंग) विधि का उपयोग नियमित अभिव्यक्ति की शुरुआत में स्ट्रिंग के मिलान को खोजने के लिए किया जाता है, और
- खोज स्ट्रिंग) नियमित अभिव्यक्ति में मिलान के लिए स्थान खोजने के लिए स्ट्रिंग के माध्यम से स्कैन करने के लिए विधि का उपयोग किया जाता है।
नियमित अभिव्यक्ति कार्य
रेगेक्स फ़ंक्शंस कोड लाइनें हैं जिनका उपयोग उपयोगकर्ता द्वारा प्राप्त किए गए डेटा मानों के सेट से निर्दिष्ट एक निश्चित फ़ंक्शन को करने के लिए किया जाता है।
टिप्पणी: कार्यों को लिखने के लिए, पार्स पाठ x में त्रुटि से बचने के लिए नियमित अभिव्यक्ति के लिए कच्चे तार का उपयोग किया जाता है। यह सबस्क्रिप्ट जोड़कर किया जाता है आर अभिव्यक्ति में प्रत्येक पैटर्न से पहले।
भावों में प्रयुक्त सामान्य कार्यों को नीचे समझाया गया है।
1. re.findall ()
यह फ़ंक्शन स्ट्रिंग में सभी पैटर्न लौटाता है यदि कोई मैच मिलता है और कोई मैच नहीं मिलने पर एक खाली सूची देता है। उदाहरण के लिए, समारोह, string = re.findall('[aeiou]', regex_filename) फ़ाइल नाम में स्वर घटना को खोजने के लिए प्रयोग किया जाता है।
2. पुनः विभाजन ()
इस फ़ंक्शन का उपयोग स्ट्रिंग को विभाजित करने के लिए किया जाता है, जब एक निर्दिष्ट वर्ण के साथ मेल खाता है जैसे कि स्थान पाया जाता है। कोई मिलान नहीं मिलने की स्थिति में, यह एक खाली स्ट्रिंग लौटाता है।
3. पुनः उप ()
फ़ंक्शन मिलान किए गए टेक्स्ट को बदले गए चर की सामग्री के साथ प्रतिस्थापित करता है। अन्य कार्यों के विपरीत, यदि कोई पैटर्न नहीं मिलता है, तो मूल स्ट्रिंग वापस आ जाती है।
4. शोध करना()
टेक्स्ट को पार्स करने का तरीका सीखने में मदद करने वाले बुनियादी कार्यों में से एक सर्च फंक्शन है। यह स्ट्रिंग में पैटर्न को खोजने और मैच ऑब्जेक्ट को वापस करने में मदद करता है। यदि खोज मिलान की पहचान करने में विफल रहती है, तो कोई मान नहीं लौटाया जाता है।
5. पुन: संकलन (पैटर्न)
इस फ़ंक्शन का उपयोग रेगेक्सऑब्जेक्ट में रेगुलर एक्सप्रेशन पैटर्न को संकलित करने के लिए किया जाता है, जिसकी चर्चा पहले की गई थी।
अन्य आवश्यकताएं
सूचीबद्ध आवश्यकताएँ डेटा विश्लेषण में उन्नत प्रोग्रामर द्वारा उपयोग की जाने वाली एक अतिरिक्त विशेषता है।
- नियमित अभिव्यक्ति की कल्पना करने के लिए, app प्रयोग किया जाता है, और
- नियमित अभिव्यक्ति का परीक्षण करने के लिए, रेगेक्स101 प्रयोग किया जाता है।
यह भी पढ़ें:विंडोज 10 पर NumPy कैसे इनस्टॉल करें
पाठ को पार्स करने की प्रक्रिया
इस जटिल विकल्प में टेक्स्ट को पार्स करने की विधि नीचे दी गई है।
- फ़ाइल की सामग्री को पढ़कर इनपुट प्रारूप को समझना सबसे महत्वपूर्ण कदम है। उदाहरण के लिए, खुले के साथ और पढ़ना() नामित फ़ाइल की सामग्री को खोलने और पढ़ने के लिए कार्यों का उपयोग किया जाता है नमूना. नमूना फ़ाइल में फ़ाइल से सामग्री है file.txt; पार्स त्रुटि को ठीक करने का तरीका जानने के लिए, फ़ाइल को पूरी तरह से पढ़ा जाना चाहिए।
- मूल्यों के मेटाडेटा का पता लगाने के लिए मैन्युअल रूप से डेटा का विश्लेषण करने के लिए फ़ाइल की सामग्री मुद्रित की जाती है। यहां ही प्रिंट () समारोह की सामग्री को मुद्रित करने के लिए प्रयोग किया जाता है नमूना फ़ाइल।
- पाठ को पार्स करने के लिए आवश्यक डेटा पैकेज कोड में आयात किए जाते हैं और आगे कोडिंग के लिए कक्षा को एक नाम दिया जाता है। यहां ही नियमित अभिव्यक्ति और पांडा आयात किए जाते हैं।
- कोड के लिए आवश्यक रेगुलर एक्सप्रेशंस को रेगेक्स पैटर्न और रेगेक्स फ़ंक्शन को शामिल करके फ़ाइल में परिभाषित किया गया है। यह टेक्स्ट ऑब्जेक्ट या कॉर्पस को डेटा विश्लेषण के लिए कोड लेने की अनुमति देता है।
- टेक्स्ट को पार्स करने का तरीका जानने के लिए, आप यहां दिए गए उदाहरण कोड को देख सकते हैं। संकलन () फ़ंक्शन का उपयोग समूह से स्ट्रिंग को संकलित करने के लिए किया जाता है stringname1 फ़ाइल का फ़ाइल का नाम. रेगेक्स में मैचों की जांच करने के लिए फ़ंक्शन का उपयोग कमांड द्वारा किया जाता है ief_parse_line (लाइन),
- कोड के लिए लाइन पार्सर का उपयोग करते हुए लिखा गया है def_parse_file (फ़ाइलपथ), जिसमें परिभाषित फ़ंक्शन निर्दिष्ट फ़ंक्शन में सभी रेगेक्स मैचों की जांच करता है। यहाँ, रेगेक्स खोज() विधि कुंजी के लिए खोज करती है आरएक्स फ़ाइल में फ़ाइल का नाम और पहले मेल खाने वाले रेगेक्स की कुंजी और मैच लौटाता है। चरण के साथ कोई भी समस्या पार्स टेक्स्ट x में त्रुटि का कारण बन सकती है।
- अगला कदम फ़ाइल पार्सर फ़ंक्शन का उपयोग करके फ़ाइल पार्सर लिखना है, जो है def_parse_file (फ़ाइलपथ). कोड का डेटा एकत्र करने के लिए एक खाली सूची बनाई जाती है, जैसे डेटा = [], प्रत्येक पंक्ति में मैच की जाँच किसके द्वारा की जाती है मैच = _parse_line (लाइन), और डेटा प्रकार के आधार पर सटीक मान डेटा लौटाया जाता है।
- तालिका के लिए संख्या और मान निकालने के लिए, कमांड लाइन.स्ट्रिप ()। विभाजन (',') प्रयोग किया जाता है। पंक्ति{} कमांड का उपयोग डेटा की पंक्ति के साथ एक शब्दकोश बनाने के लिए किया जाता है। डेटा.एपेंड (पंक्ति) कमांड का उपयोग डेटा को समझने और उसे सारणीबद्ध प्रारूप में पार्स करने के लिए किया जाता है।
आदेश डेटा = पीडी। डेटाफ़्रेम (डेटा) तानाशाही मूल्यों से एक पांडा डेटाफ़्रेम बनाने के लिए उपयोग किया जाता है। वैकल्पिक रूप से, आप नीचे बताए अनुसार संबंधित उद्देश्य के लिए निम्न आदेशों का उपयोग कर सकते हैं।
- data.set_index (['स्ट्रिंग', 'पूर्णांक'], इनस्थल = सही) तालिका की अनुक्रमणिका सेट करने के लिए।
- डेटा = डेटा.ग्रुपबी (स्तर = डेटा.इंडेक्स.नाम)। पहले () नान को समेकित करने और हटाने के लिए।
- डेटा = डेटा। लागू करें (pd.to_numeric, त्रुटियाँ = 'अनदेखा') स्कोर को फ्लोट से पूर्णांक मान में अपग्रेड करने के लिए।
पाठ को पार्स करने का तरीका जानने के लिए अंतिम चरण का उपयोग करके पार्सर का परीक्षण करना है अगर बयान एक चर को मान निर्दिष्ट करके आंकड़े और इसका उपयोग करके इसे प्रिंट करना प्रिंट (डेटा) आज्ञा।
उपरोक्त स्पष्टीकरण के लिए उदाहरण कोड यहाँ दिया गया है।
नमूने के रूप में open('file.txt') के साथ:नमूना_ सामग्री = नमूना पढ़ें ()प्रिंट (नमूना_सामग्री)आयात पुनःपीडी के रूप में पांडा आयात करेंआरएक्स_फाइलनाम = {'स्ट्रिंग 1': re.compile (आर 'स्ट्रिंग = (?,*)\एन'),
}ief_parse_line (लाइन):कुंजी के लिए, rx_filename.items में rx ():मैच = आरएक्स.सर्च (लाइन)अगर मैच:वापसी कुंजी, मैचवापसी कोई नहीं, कोई नहींdef parse_file (फ़ाइलपथ):डेटा = []खुले (फ़ाइलपथ, 'आर') के साथ file_object के रूप में:लाइन = file_object.readline ()जबकि लाइन:कुंजी, मैच = _parse_line (लाइन)अगर कुंजी == 'स्ट्रिंग 1':स्ट्रिंग = मैच.ग्रुप ('स्ट्रिंग 1')पूर्णांक = int (string1)value_type = match.group('string1')लाइन = file_object.readline ()जबकि लाइन.स्ट्रिप ():संख्या, मान = लाइन.स्ट्रिप ()। विभाजन (',')मान = मान.पट्टी ()पंक्ति = {'डेटा 1': स्ट्रिंग 1,'डेटा2': संख्या,value_type: मान}डेटा.एपेंड (पंक्ति)लाइन = file_object.readline ()लाइन = file_object.readline ()डेटा = पीडी। डेटाफ़्रेम (डेटा)वापसी डेटाअगर _ _नाम_ _ = = '_ _मुख्य_ _':फ़ाइलपथ = 'नमूना.txt'डेटा = पार्स (फ़ाइलपथ)प्रिंट (डेटा)
विधि 2: वर्ड टोकनाइजेशन के माध्यम से
कुछ नियमों के आधार पर किसी टेक्स्ट या कॉर्पस को टोकन या छोटे टुकड़ों में बदलने की प्रक्रिया को टोकनाइजेशन कहा जाता है। पार्स त्रुटि को ठीक करने का तरीका जानने के लिए, कोड में शब्द टोकननाइजेशन कमांड का विश्लेषण करना महत्वपूर्ण है। रेगेक्स के समान, इस पद्धति में स्वयं के नियम बनाए जा सकते हैं और यह पाठ के पूर्व-प्रसंस्करण कार्यों जैसे भाषण के भागों की मैपिंग में मदद करता है। साथ ही, सामान्य शब्दों को खोजने और मिलान करने, पाठ की सफाई करने और भावना विश्लेषण जैसी उन्नत पाठ विश्लेषण तकनीकों के लिए डेटा तैयार करने जैसी गतिविधियाँ इस पद्धति में की जाती हैं। यदि टोकननाइज़ेशन अनुचित है, तो पार्स टेक्स्ट x में त्रुटि हो सकती है।
एनएलटीके लाइब्रेरी
यह प्रक्रिया एनएलटीके नामक लोकप्रिय भाषा टूलकिट लाइब्रेरी की मदद लेती है, जिसमें कई एनएलपी कार्यों को करने के लिए कार्यों का एक समृद्ध सेट है। इन्हें पिप या पिप इंस्टाल पैकेज के माध्यम से डाउनलोड किया जा सकता है। टेक्स्ट को पार्स करने के बारे में जानने के लिए, आप एनाकोंडा डिस्ट्रीब्यूशन के बेस पैक का उपयोग कर सकते हैं जिसमें डिफ़ॉल्ट रूप से लाइब्रेरी शामिल है।
टोकनकरण के रूप
इस पद्धति के सामान्य रूप शब्द टोकननाइजेशन और वाक्य टोकननाइजेशन हैं। शब्द-स्तरीय टोकन के कारण, पूर्व एक शब्द को केवल एक बार प्रिंट करता है, जबकि बाद वाला शब्द को वाक्य स्तर पर प्रिंट करता है।
पाठ को पार्स करने की प्रक्रिया
- एनएलटीके टूलकिट लाइब्रेरी आयात की जाती है और लाइब्रेरी से टोकननाइजेशन फॉर्म आयात किए जाते हैं।
- एक स्ट्रिंग दी जाती है और टोकननाइज़ेशन करने के लिए आदेश दिए जाते हैं।
- जबकि स्ट्रिंग मुद्रित है, आउटपुट होगा कम्प्यूटर शब्द है।
- शब्द टोकननाइजेशन के मामले में या word_tokenize (), वाक्य में प्रत्येक शब्द व्यक्तिगत रूप से भीतर मुद्रित होता है ‘’ और एक द्वारा अलग किया जाता है अल्पविराम. कमांड के लिए आउटपुट होगा 'कंप्यूटर', 'है', 'द', 'वर्ड', '।'
- वाक्य टोकननाइजेशन या के मामले में भेजा_टोकनाइज (), अलग-अलग वाक्यों को अंदर रखा गया है ‘’ और शब्द पुनरावृत्ति की अनुमति है। कमांड का आउटपुट होगा 'कंप्यूटर शब्द है।'
ऊपर टोकनाइजेशन के चरणों की व्याख्या करने वाला कोड यहां दिया गया है।
आयात एनएलटीकेnltk.tokenize से आयात भेजा_tokenize, word_tokenizeस्ट्रिंग = "कंप्यूटर शब्द है।"प्रिंट (स्ट्रिंग)प्रिंट (word_tokenize (स्ट्रिंग))प्रिंट (sent_tokenize (स्ट्रिंग))
यह भी पढ़ें:जावास्क्रिप्ट को कैसे ठीक करें: शून्य (0) त्रुटि
विधि 3: DocParser क्लास के माध्यम से
DataFrame क्लास के समान, क्लास DocParser का उपयोग कोड में टेक्स्ट को पार्स करने के लिए किया जा सकता है। वर्ग आपको पार्स फ़ंक्शन को फ़ाइलपथ के साथ कॉल करने की अनुमति देता है।
पाठ को पार्स करने की प्रक्रिया
DocParser क्लास का उपयोग करके टेक्स्ट को पार्स करने का तरीका जानने के लिए, नीचे दिए गए निर्देशों का पालन करें।
- get_format (फ़ाइल नाम) फ़ाइल एक्सटेंशन को निकालने के लिए फ़ंक्शन का उपयोग किया जाता है, इसे फ़ंक्शन के लिए सेट चर पर लौटाएं, और इसे अगले फ़ंक्शन पर पास करें। उदाहरण के लिए, p1 = get_format (फ़ाइल नाम) का फ़ाइल एक्सटेंशन निकालेगा फ़ाइल का नाम, इसे वेरिएबल पर सेट करें पी 1, और इसे अगले फंक्शन में पास करें।
- का उपयोग करके अन्य कार्यों के साथ एक तार्किक संरचना का निर्माण किया जाता है if-elif-else कथन और कार्य।
- यदि फ़ाइल एक्सटेंशन मान्य है और संरचना तार्किक है, तो get_parser फ़ंक्शन का उपयोग फ़ाइल पथ में डेटा को पार्स करने और स्ट्रिंग ऑब्जेक्ट को उपयोगकर्ता को वापस करने के लिए किया जाता है।
टिप्पणी: पार्स त्रुटि को ठीक करने का तरीका जानने के लिए, इस फ़ंक्शन को सही ढंग से कार्यान्वित किया जाना चाहिए।
- डेटा मानों की पार्सिंग फ़ाइल के फ़ाइल एक्सटेंशन के साथ की जाती है। वर्ग का ठोस कार्यान्वयन, जो हैं parse_txt या parse_docx दिए गए फ़ाइल प्रकार के भागों से स्ट्रिंग ऑब्जेक्ट उत्पन्न करने के लिए उपयोग किया जाता है।
- पार्सिंग अन्य पठनीय एक्सटेंशन जैसे parse_pdf, parse_html, और parse_pptx.
- डेटा मान और इंटरफ़ेस को आयात विवरणों के साथ अनुप्रयोगों में आयात किया जा सकता है और एक DocParser ऑब्जेक्ट को तुरंत चालू किया जा सकता है। यह पायथन भाषा में फाइलों को पार्स करके किया जा सकता है, जैसे कि parse_file.py. पार्स टेक्स्ट x में त्रुटि से बचने के लिए इस ऑपरेशन को सावधानी से करना होगा।
विधि 4: पार्स टेक्स्ट टूल के माध्यम से
पार्स टेक्स्ट टूल का उपयोग वेरिएबल्स से विशिष्ट डेटा निकालने और उन्हें अन्य वेरिएबल्स में मैप करने के लिए किया जाता है। यह किसी कार्य में उपयोग किए जाने वाले किसी भी अन्य उपकरण से स्वतंत्र है और BPA प्लेटफ़ॉर्म टूल का उपयोग उपभोग और आउटपुट चर के लिए किया जाता है। तक पहुंचने के लिए यहां दिए गए लिंक का उपयोग करें टेक्स्ट टूल को ऑनलाइन पार्स करें और टेक्स्ट को पार्स करने के तरीके के बारे में पहले दिए गए उत्तरों का उपयोग करें।
विधि 5: TextFieldParser (विजुअल बेसिक) के माध्यम से
TextFieldParser ने संरचित और सीमांकित बहुत बड़ी फ़ाइलों को पार्स और संसाधित करने के लिए ऑब्जेक्ट्स का उपयोग किया। इस पद्धति में पाठ की चौड़ाई और स्तंभ जैसे लॉग फाइल या लीगेसी डेटाबेस जानकारी का उपयोग किया जा सकता है। पार्सिंग विधि टेक्स्ट फ़ाइल पर कोड को पुनरावृत्त करने के समान है और मुख्य रूप से स्ट्रिंग मैनिपुलेशन विधियों के समान टेक्स्ट के फ़ील्ड निकालने के लिए उपयोग की जाती है। यह अल्पविराम या टैब स्थान जैसे परिभाषित सीमांकक का उपयोग करके सीमांकित तार और विभिन्न चौड़ाई के क्षेत्रों को चिह्नित करने के लिए किया जाता है।
पाठ को पार्स करने के कार्य
इस पद्धति में पाठ को पार्स करने के लिए निम्नलिखित कार्यों का उपयोग किया जा सकता है।
- एक सीमांकक को परिभाषित करने के लिए, सेटडिलीमीटर प्रयोग किया जाता है। उदाहरण के लिए, आज्ञा testreader. सेट डिलीमीटर (vbTab) सेट करने के लिए प्रयोग किया जाता है टैब सीमांकक के रूप में स्थान।
- पाठ फ़ाइलों की एक निश्चित फ़ील्ड चौड़ाई के लिए फ़ील्ड चौड़ाई को सकारात्मक पूर्णांक मान पर सेट करने के लिए, आप इसका उपयोग कर सकते हैं testreader. सेटफिल्डविड्थ्स (पूर्णांक) आज्ञा।
- टेक्स्ट के फ़ील्ड प्रकार का परीक्षण करने के लिए, आप निम्न आदेश का उपयोग कर सकते हैं testreader. टेक्स्टफिल्ड टाइप = माइक्रोसॉफ्ट. मूल दृश्य। FileIO.FieldType. निश्चित चौड़ाई.
मैचऑब्जेक्ट खोजने के तरीके
कोड या पार्स किए गए टेक्स्ट में MatchObject को खोजने के दो बुनियादी तरीके हैं.
- पहली विधि का उपयोग करके फ़ाइल के माध्यम से प्रारूप और लूप को परिभाषित करना है ReadFields तरीका। यह विधि कोड की प्रत्येक पंक्ति को संसाधित करने में मदद करेगी।
- पीकचार्स विधि का उपयोग प्रत्येक क्षेत्र को पढ़ने से पहले व्यक्तिगत रूप से जांचने, कई प्रारूपों को परिभाषित करने और प्रतिक्रिया करने के लिए किया जाता है।
किसी भी स्थिति में, यदि पार्सिंग करते समय या पाठ को पार्स करने का तरीका खोजने के दौरान कोई फ़ील्ड निर्दिष्ट प्रारूप से मेल नहीं खाता है, तो ए विकृत लाइन अपवाद अपवाद वापस कर दिया गया है।
प्रो टिप: एमएस एक्सेल के माध्यम से टेक्स्ट को कैसे पार्स करें
पाठ को पार्स करने के लिए अंतिम और सरल विधि के रूप में, आप इसका उपयोग कर सकते हैं एमएस एक्सेल app टैब-सीमांकित और अल्पविराम-सीमांकित फ़ाइलें बनाने के लिए एक पार्सर के रूप में। यह आपके पार्स किए गए परिणाम के साथ क्रॉस-चेकिंग में मदद करेगा और पार्स त्रुटि को ठीक करने का तरीका खोजने में मदद करेगा।
1. स्रोत फ़ाइल में डेटा मानों का चयन करें और दबाएं Ctrl + C कुंजियाँ फाइल को कॉपी करने के लिए एक साथ।
2. खोलें एक्सेल ऐप विंडोज सर्च बार का उपयोग कर रहा है।
3. पर क्लिक करें ए 1 सेल और दबाएं Ctrl + V कुंजियाँ एक साथ कॉपी किए गए टेक्स्ट को पेस्ट करने के लिए।
4. का चयन करें ए 1 सेल, पर नेविगेट करें आंकड़े टैब, और पर क्लिक करें स्तंभों के लिए पाठ विकल्प में डेटा उपकरण अनुभाग।
5ए. का चयन करें सीमांकित विकल्प अगर ए अल्पविराम या टैब अंतरिक्ष विभाजक के रूप में प्रयोग किया जाता है, और पर क्लिक करें अगला और खत्म करना बटन।
5बी। का चयन करें निश्चित चौड़ाई विकल्प, विभाजक के लिए एक मान निर्दिष्ट करें, और पर क्लिक करें अगला और खत्म करना बटन।
यह भी पढ़ें:मूव एक्सेल कॉलम एरर को कैसे ठीक करें
पार्स एरर को कैसे ठीक करें
एंड्रॉइड डिवाइस पर पार्स टेक्स्ट एक्स में त्रुटि हो सकती है, पार्स त्रुटि: पैकेज को पार्स करने में समस्या थी। यह आमतौर पर तब होता है जब ऐप Google Play Store से इंस्टॉल करने में विफल रहता है या तृतीय-पक्ष ऐप चलाते समय।
त्रुटि पाठ x हो सकता है यदि वर्ण सदिशों की सूची लूप की गई है और अन्य फ़ंक्शन डेटा मानों की गणना के लिए एक रेखीय मॉडल बनाते हैं। त्रुटि संदेश पार्स में त्रुटि है (पाठ = x, रखें। स्रोत = गलत):
आप पर लेख पढ़ सकते हैं Android पर पार्स त्रुटि को कैसे ठीक करें त्रुटि को ठीक करने के कारणों और तरीकों को जानने के लिए।
मार्गदर्शिका में दिए गए समाधानों के अलावा, आप निम्न सुधारों को आज़मा सकते हैं।
- पुनः डाउनलोड कर रहा है .apk फ़ाइल या फ़ाइल का नाम पुनर्स्थापित करना।
- में परिवर्तन बहाल करना Androidmanifest.xml फ़ाइल, यदि आपके पास विशेषज्ञ-स्तरीय प्रोग्रामिंग कौशल हैं।
अनुशंसित:
- किसी और का फेसबुक अकाउंट कैसे डिलीट करें
- एथिकल हैकर बनने के लिए आवश्यक शीर्ष 10 कौशल
- कोड और टेक्स्ट साझा करने के लिए 21 सर्वश्रेष्ठ पास्टबिन विकल्प
- फिक्स कमांड त्रुटि कोड 1 पायथन एग इंफो के साथ विफल
लेख शिक्षण में सहायक होता है पाठ का विश्लेषण कैसे करें और पार्स त्रुटि को ठीक करने का तरीका जानने के लिए। आइए जानते हैं कि किस विधि ने टेक्स्ट एक्स को पार्स करने में त्रुटि को ठीक करने में मदद की और पार्सिंग की कौन सी विधि को प्राथमिकता दी गई। कृपया अपने सुझाव और प्रश्न नीचे टिप्पणी अनुभाग में साझा करें।