टोकनीकरणएनएलपीप्राकृतिक भाषा प्रसंस्करणयंत्र अधिगमकृत्रिम होशियारीपाठ प्रसंस्करण
सबवर्ड टोकनाइजेशन बनाम वर्ड-लेवल टोकनाइजेशन
सबवर्ड टोकनाइज़ेशन टेक्स्ट को कैरेक्टर या कैरेक्टर सीक्वेंस जैसी छोटी यूनिट में तोड़ता है, जबकि वर्ड-लेवल टोकनाइज़ेशन टेक्स्ट को व्हाइटस्पेस और पंक्चुएशन बाउंड्री पर बांटता है। दोनों तरीके मॉडर्न NLP सिस्टम को पावर देते हैं, लेकिन वे वोकैबुलरी साइज़, अनजान शब्दों और मॉर्फोलॉजिकल रिचनेस को बहुत अलग तरीके से हैंडल करते हैं।
मुख्य बातें
सबवर्ड मेथड दोबारा इस्तेमाल होने वाले हिस्सों के ज़रिए मतलब की जानकारी को बचाते हुए वोकैबुलरी का साइज़ काफ़ी कम कर देते हैं।
वर्ड-लेवल टोकनाइजेशन सिर्फ़ कुछ डोमेन में ही ठीक से फेल हो जाता है, जहाँ वोकैबुलरी को पूरी तरह से गिनाया जा सकता है।
बाइट पेयर एन्कोडिंग और इसके वेरिएंट GPT और BERT सहित लगभग सभी मॉडर्न बड़े लैंग्वेज मॉडल का आधार हैं।
तरीकों के बीच चुनाव अब सिर्फ़ मॉडल परफॉर्मेंस के बजाय डिप्लॉयमेंट की दिक्कतों पर ज़्यादा निर्भर करता है
सबवर्ड टोकनाइजेशन क्या है?
टेक्स्ट को शब्दों से छोटी वेरिएबल-लेंथ यूनिट्स में बांटता है, जैसे बाइट पेयर एन्कोडिंग टोकन या वर्डपीस सेगमेंट।
बाइट पेयर एन्कोडिंग (BPE) को असल में डेटा कम्प्रेशन के लिए बनाया गया था, जिसे 2016 में सेनरिच एट अल. ने NLP के लिए अपनाया।
BERT और दूसरे Google मॉडल्स द्वारा इस्तेमाल किया जाने वाला WordPiece एल्गोरिदम, फ्रीक्वेंसी के बजाय संभावना के आधार पर सिंबल्स को मर्ज करता है।
SentencePiece सबवर्ड टोकनाइजेशन को लैंग्वेज-एग्नोस्टिक के तौर पर लागू करता है, टेक्स्ट को कैरेक्टर्स की एक रॉ स्ट्रीम के तौर पर ट्रीट करता है।
सबवर्ड मेथड आमतौर पर वोकैबुलरी साइज़ को 8,000 और 100,000 टोकन के बीच रखते हैं, जो वर्ड-लेवल अप्रोच से काफी छोटा होता है।
'एंटीडिसएस्टेब्लिशमेंटेरियनिज़्म' जैसा एक दुर्लभ शब्द कई जाने-पहचाने सबवर्ड बन जाता है, जो टोकन बाउंड्री के पार अर्थ को बनाए रखता है।
शब्द-स्तरीय टोकनीकरण क्या है?
यह टेक्स्ट को शब्दों की सीमाओं पर खाली जगह और पंक्चुएशन का इस्तेमाल करके बांटता है, और हर अलग शब्द को एक टोकन मानता है।
शुरुआती स्टैटिस्टिकल NLP में वर्ड-लेवल टोकनाइज़ेशन मुख्य तरीका था और यह आसान एप्लीकेशन में भी आम है।
इस तरीके में नेचुरल भाषा को ठीक से कवर करने के लिए अक्सर 100,000 टोकन से ज़्यादा वोकैबुलरी साइज़ की ज़रूरत होती है।
वोकैबुलरी में न होने वाला कोई भी शब्द एक अनजान टोकन बन जाता है, जिसे 'UNK' या इसी तरह के रूप में दिखाया जाता है, जिससे सभी सिमेंटिक जानकारी खो जाती है।
टर्किश या फ़िनिश जैसी रिच मॉर्फोलॉजी वाली भाषाएँ बहुत ज़्यादा वोकैबुलरी बनाती हैं, जिससे वर्ड-लेवल मेथड प्रैक्टिकल नहीं रह जाते।
वर्ड-लेवल टोकनाइज़ेशन की सादगी इसे बेसिक कामों के लिए कम्प्यूटेशनली एफिशिएंट और समझने में आसान बनाती है।
तुलना तालिका
विशेषता
सबवर्ड टोकनाइजेशन
शब्द-स्तरीय टोकनीकरण
शब्दावली का आकार
8K–100K टोकन
आमतौर पर 100K+ टोकन
अज्ञात शब्दों को संभालना
ज्ञात उपशब्दों में विघटित होता है
UNK टोकन से मैप करता है, जानकारी खो देता है
रूपात्मक रूप से समृद्ध भाषाएँ
एग्लूटिनेशन और कंपाउंडिंग को नैचुरली हैंडल करता है
तेज़ी से वोकैबुलरी ग्रोथ से जूझना
प्रशिक्षण डेटा दक्षता
शब्दों में सबवर्ड को-ऑकरेंस से सीखता है
दुर्लभ शब्द कवरेज के लिए बड़े कॉर्पोरा की ज़रूरत होती है
सबवर्ड मेथड तब काम आते हैं जब वोकैबुलरी बढ़ाना मुश्किल हो जाता है। शब्दों को दोबारा इस्तेमाल होने वाले टुकड़ों में तोड़कर, एक मॉडल 'वॉक,' 'वॉक्ड,' 'वॉकिंग,' और 'वॉकर' को चार अलग-अलग एंट्री के बजाय शेयर्ड सबयूनिट के ज़रिए दिखा सकता है। वर्ड-लेवल सिस्टम हर मॉर्फोलॉजिकल वेरिएंट के साथ एक कॉम्बिनेटरियल एक्सप्लोजन का सामना करते हैं, जिससे या तो बहुत ज़्यादा वोकैबुलरी बनती है जो मेमोरी पर ज़ोर डालती है या फिर तेज़ी से प्रूनिंग होती है जिससे कवरेज कम हो जाता है।
दुर्लभ और शब्दावली से बाहर के शब्दों को संभालना
जब 'Covfefe' जैसा कोई नया शब्द या कोई टेक्निकल नया शब्द मिलता है, तो सबवर्ड टोकनाइज़र उसे पहचानने लायक हिस्सों में तोड़ देते हैं जिनका थोड़ा-बहुत मतलब होता है। एक वर्ड-लेवल टोकनाइज़र बस कंधे उचकाता है और एक UNK टोकन आउटपुट करता है, जो एक दुर्लभ बीमारी के नाम को टाइपो जैसा ही मानता है। यह कमी मेडिसिन या कानून जैसे डोमेन में बहुत ज़रूरी हो जाती है जहाँ खास टर्मिनोलॉजी बहुत होती है, फिर भी ट्रेनिंग डेटा में यह कम ही दिखाई देती है।
अंतर-भाषाई प्रयोज्यता
भाषाएं अलग-अलग तरह से मतलब बनाती हैं, और सबवर्ड अप्रोच इस अलग-अलग तरह के शब्दों के हिसाब से ज़्यादा अच्छे से ढल जाते हैं। जर्मन के मशहूर लंबे कंपाउंड नाउन, अरबी में जड़ों और पैटर्न का आपस में जुड़ना, और जापानी के मिक्स्ड राइटिंग सिस्टम, ये सभी शब्द-लेवल की सोच को चुनौती देते हैं। सबवर्ड टोकनाइज़ेशन इन चुनौतियों को खत्म नहीं करता, बल्कि एक ज़्यादा एक जैसा फ्रेमवर्क देता है जिसके लिए भाषा के हिसाब से कम इंजीनियरिंग की ज़रूरत होती है।
कम्प्यूटेशनल ट्रेड-ऑफ़
प्रोडक्शन एनवायरनमेंट में सिम्प्लिसिटी का महत्व होता है। वर्ड-लेवल टोकनाइज़ेशन में कम से कम प्रीप्रोसेसिंग की ज़रूरत होती है और यह एम्बेडिंग लुकअप के साथ साफ़-साफ़ मैप होता है। सबवर्ड मेथड एन्कोडिंग कॉम्प्लेक्सिटी, एक ही टेक्स्ट के लिए लंबे सीक्वेंस, और फ़्रैगमेंट से ओरिजिनल शब्दों को फिर से बनाने की ज़रूरत लाते हैं। लिमिटेड वोकैबुलरी डोमेन वाले हाई-थ्रूपुट एप्लिकेशन के लिए, यह ओवरहेड फ़ायदों को सही नहीं ठहरा सकता है।
व्याख्या और डिबगिंग
'किंग' को ['k', 'ing'] या ['kin', 'g'] के बजाय एक टोकन के तौर पर देखने में कुछ ऐसा है जो आसानी से सुकून देता है। शब्द-स्तर की सीमाएं इंसानों के भाषा को समझने के तरीके से मेल खाती हैं, जिससे गलती का एनालिसिस ज़्यादा आसान हो जाता है। सबवर्ड आउटपुट अनुभवी प्रैक्टिशनर्स को भी तब हैरान कर सकते हैं जब अनचाही जगहों पर स्प्लिट्स होते हैं, हालांकि विज़ुअलाइज़ेशन के लिए टूल्स में काफी सुधार हुआ है।
लाभ और हानि
सबवर्ड टोकनाइजेशन
लाभ
+अनजान शब्दों को खूबसूरती से संभालता है
+छोटी शब्दावली पदचिह्न
+विभिन्न भाषाओं में काम करता है
+रूपात्मक पैटर्न कैप्चर करता है
+दुर्लभ शब्दों के लिए बेहतर
सहमत
−लंबे टोकन अनुक्रम
−अधिक जटिल कार्यान्वयन
−धीमी टोकनीकरण गति
−स्प्लिट्स सहज नहीं हो सकते
−पुनर्निर्माण ओवरहेड
शब्द-स्तरीय टोकनीकरण
लाभ
+लागू करने में आसान
+तेज़ प्रसंस्करण
+सहज ज्ञान युक्त सीमाएँ
+प्रत्यक्ष शब्द एम्बेडिंग
+आसान डिबगिंग
सहमत
−शब्दावली में भारी वृद्धि
−UNK टोकन जानकारी का नुकसान
−रूपात्मक भाषाओं के लिए खराब
−बहुत ज़्यादा ट्रेनिंग डेटा की ज़रूरत होती है
−सीमित क्रॉस-डोमेन स्थानांतरण
सामान्य भ्रांतियाँ
मिथ
सबवर्ड टोकनाइजेशन एक्स्ट्रा स्टेप्स के साथ सिर्फ कैरेक्टर-लेवल टोकनाइजेशन है।
वास्तविकता
हालांकि दोनों वर्ड लेवल से नीचे काम करते हैं, लेकिन BPE और WordPiece जैसे सबवर्ड मेथड स्टैटिस्टिकली मीनिंगफुल यूनिट्स की पहचान करते हैं जो अक्सर मॉर्फीम या सिलेबल्स से मैच करते हैं। कैरेक्टर टोकनाइजेशन 'th' और 'ing' को आर्बिट्रेरी सीक्वेंस के तौर पर ट्रीट करता है, जबकि सबवर्ड मेथड इन्हें कॉर्पस एनालिसिस के ज़रिए फंक्शनल यूनिट्स के तौर पर सीखते हैं।
मिथ
वर्ड-लेवल टोकनाइजेशन पुराना हो चुका है और इसका इस्तेमाल कभी नहीं करना चाहिए।
वास्तविकता
बहुत सारे प्रोडक्शन सिस्टम अभी भी वर्ड-लेवल अप्रोच पर निर्भर हैं, खासकर मेडिकल कोडिंग या लीगल क्लासिफिकेशन जैसे कंट्रोल्ड वोकैबुलरी वाले नैरो डोमेन में। सिम्प्लिसिटी और स्पीड के फायदे तब भी काम के रहते हैं जब प्रॉब्लम स्पेस में सबवर्ड मेथड की फ्लेक्सिबिलिटी की ज़रूरत नहीं होती।
मिथ
सबवर्ड टोकनाइजेशन आउट-ऑफ-वोकैबुलरी प्रॉब्लम को पूरी तरह से सॉल्व करता है।
वास्तविकता
सबवर्ड तरीके OOV की दिक्कतों को कम करते हैं, लेकिन खत्म नहीं करते। बहुत कम मिलने वाले नाम, नए इमोजी कॉम्बिनेशन, या अजीब स्पेलिंग भी बिना मतलब के टुकड़ों में बंट सकते हैं। वर्ड-लेवल तरीकों की तुलना में सुधार काफी है, फिर भी पूरी कवरेज मिलना मुश्किल है।
मिथ
सभी मॉडर्न NLP मॉडल एक ही सबवर्ड एल्गोरिदम का इस्तेमाल करते हैं।
वास्तविकता
लैंडस्केप में BPE, WordPiece, SentencePiece, Unigram टोकनाइज़ेशन, और BPE-ड्रॉपआउट जैसे नए तरीके शामिल हैं। हर कोई वोकैबुलरी साइज़, सीक्वेंस की लंबाई, और लिंग्विस्टिक प्लॉसिबिलिटी के बीच अलग-अलग ट्रेड-ऑफ़ करता है। GPT मॉडल आमतौर पर BPE का इस्तेमाल करते हैं, BERT WordPiece का इस्तेमाल करता है, और T5 SentencePiece का इस्तेमाल करता है।
मिथ
टोकनाइजेशन चॉइस का मॉडल परफॉर्मेंस पर बहुत कम असर पड़ता है।
वास्तविकता
टोकनाइज़ेशन सीधे तौर पर इस बात पर असर डालता है कि मॉडल क्या सीख सकता है, वह कितनी अच्छे से ट्रेन करता है, और वह कैसे जनरलाइज़ करता है। खराब टोकनाइज़ेशन से जुड़े कॉन्सेप्ट टूट सकते हैं या अलग-अलग मतलब आपस में मिल सकते हैं, जिससे रिप्रेजेंटेशन से जुड़ी बुनियादी कमियां बन सकती हैं जिन्हें कोई भी मॉडल कैपेसिटी पूरी तरह से दूर नहीं कर सकती।
अक्सर पूछे जाने वाले सवाल
NLP में टोकनाइजेशन क्या है और यह क्यों मायने रखता है?
टोकनाइज़ेशन रॉ टेक्स्ट को अलग-अलग यूनिट में बदलता है जिसे मशीन लर्निंग मॉडल प्रोसेस कर सकते हैं। यह वह बुनियादी कदम है जो यह तय करता है कि भाषा को नंबर के हिसाब से कैसे दिखाया जाए, यह वोकैबुलरी के साइज़ से लेकर मॉडल कौन से सिमेंटिक रिलेशनशिप कैप्चर कर सकता है, सब पर असर डालता है। खराब टोकनाइज़ेशन से शोर और कन्फ्यूजन पैदा होता है जो पूरी पाइपलाइन में फैल जाता है।
बाइट पेयर एन्कोडिंग असल में कैसे काम करती है?
BPE एक कैरेक्टर-लेवल वोकैबुलरी से शुरू होता है और एक ट्रेनिंग कॉर्पस में सबसे ज़्यादा बार आने वाले आस-पास के जोड़ों को बार-बार मर्ज करता है। हज़ारों मर्ज के बाद, 'th' या 'ing' जैसे आम सबस्ट्रिंग सिंगल टोकन के तौर पर सामने आते हैं, जबकि दुर्लभ शब्द डीकंपोज़ेबल रहते हैं। यह लालची फ़्रीक्वेंसी-बेस्ड तरीका बिना किसी लिंग्विस्टिक सुपरविज़न के दोबारा इस्तेमाल होने वाले पैटर्न को अच्छे से पहचानता है।
2016 के बाद सबवर्ड टोकनाइजेशन क्यों हावी हो गया?
न्यूरल नेटवर्क आर्किटेक्चर ज़्यादा काबिल हो गए, लेकिन उनकी सफलता एम्बेडिंग मैट्रिक्स की सीमाओं के अंदर वोकैबुलरी को मैनेज करने पर निर्भर करती थी। सेनरिच का यह डेमोंस्ट्रेशन कि BPE ने वोकैबुलरी के कुछ हिस्से के साथ वर्ड-लेवल परफॉर्मेंस को मैच किया, ट्रांसलेशन के लिए डीप लर्निंग के आने के साथ मेल खाता था, जिससे ज़रूरत और सॉल्यूशन का मेल हुआ।
क्या आप ट्रांसफॉर्मर मॉडल के साथ वर्ड-लेवल टोकेनाइजेशन का इस्तेमाल कर सकते हैं?
टेक्निकली हाँ, हालांकि यह बहुत कम होता है। ट्रांसफ़ॉर्मर आर्किटेक्चर खुद टोकनाइज़ेशन से अलग होता है, लेकिन प्रीट्रेन्ड चेकपॉइंट्स आमतौर पर सबवर्ड मेथड का इस्तेमाल करते हैं। वर्ड-लेवल पर वापस जाने के लिए एडजस्टेड हाइपरपैरामीटर्स के साथ शुरू से ट्रेनिंग की ज़रूरत होगी और वोकैबुलरी लिमिटेशन्स के कारण शायद यह कम परफॉर्म करेगा।
आप सबवर्ड टोकनाइज़ेशन के लिए वोकैबुलरी साइज़ कैसे चुनते हैं?
इसमें सीक्वेंस की लंबाई और ग्रैन्युलैरिटी के बीच बैलेंस बनाना शामिल है। छोटी वोकैबुलरी ज़्यादा शेयर्ड टोकन के साथ लंबे सीक्वेंस बनाती हैं, जबकि बड़ी वोकैबुलरी शब्द जैसा बिहेवियर दिखाती हैं। आम तौर पर जनरल मॉडल के लिए 32K–50K का इस्तेमाल होता है, हालांकि मल्टीलिंगुअल सिस्टम अलग-अलग स्क्रिप्ट और मॉर्फोलॉजिकल पैटर्न को अकोमोडेट करने के लिए 100K+ का इस्तेमाल कर सकते हैं।
क्या होता है जब सबवर्ड टोकनाइजेशन का सामना पूरी तरह से नई स्क्रिप्ट या सिंबल से होता है?
SentencePiece जैसे मॉडर्न इम्प्लीमेंटेशन बाइट या UTF-8 कैरेक्टर रिप्रेजेंटेशन पर वापस आ जाते हैं, जिससे यह पक्का होता है कि हर इनपुट जाने-पहचाने टोकन से मैप हो। यह फ़ॉलबैक प्रोसेसिंग कंटिन्यूटी की गारंटी देता है, हालांकि ट्रेनिंग या फ़ाइन-ट्यूनिंग के दौरान सही एक्सपोज़र मिलने तक सच में नए सिंबल का सिमेंटिक रिप्रेजेंटेशन कमज़ोर रहता है।
क्या इंग्लिश और चाइनीज़ के लिए टोकनाइज़ेशन में कोई अंतर है?
इंग्लिश का व्हाइटस्पेस कन्वेंशन शब्दों की सीमाओं को काफ़ी साफ़ बनाता है, जबकि चीनी में साफ़ तौर पर सेगमेंटेशन या कैरेक्टर-बेस्ड तरीकों की ज़रूरत होती है। सबवर्ड मेथड दोनों के लिए अडैप्ट हो जाते हैं, लेकिन सीखे गए स्टैटिस्टिकल पैटर्न काफ़ी अलग होते हैं। लिखने के सिस्टम के लॉगोग्राफ़िक नेचर को देखते हुए, चीनी सबवर्ड वोकैबुलरी में अक्सर कई सिंगल-कैरेक्टर टोकन शामिल होते हैं।
टोकनाइजेशन मॉडल की फेयरनेस और बायस को कैसे प्रभावित करता है?
टोकनाइज़ेशन, नामों, बोलियों या कल्चरल शब्दों को दिखाने के तरीके से बायस को एनकोड या बढ़ा सकता है। उदाहरण के लिए, अफ्रीकन अमेरिकन वर्नाक्युलर इंग्लिश, मेनस्ट्रीम कॉर्पोरा पर ज़्यादातर ट्रेन किए गए मॉडल्स में स्टैंडर्ड अमेरिकन इंग्लिश की तुलना में कम असरदार तरीके से टोकनाइज़ कर सकती है, जिससे कुछ लिंग्विस्टिक वैरायटी की प्रोसेसिंग पर असरदार तरीके से बोझ पड़ता है।
BPE और वर्डपीस के बीच प्रैक्टिकल अंतर क्या हैं?
BPE रॉ फ़्रीक्वेंसी काउंट के आधार पर मर्ज करता है, जबकि WordPiece ऐसे मर्ज चुनता है जो ट्रेनिंग डेटा की संभावना को ज़्यादा से ज़्यादा करते हैं। असल में, दोनों लगभग एक जैसी वोकैबुलरी बनाते हैं, लेकिन WordPiece बहुत कम मिलने वाले कॉम्बिनेशन से बचता है। BERT के WordPiece इम्प्लीमेंटेशन में '##' प्रीफ़िक्स वाले कंटिन्यूइंग सबवर्ड्स के लिए स्पेशल हैंडलिंग भी शामिल है।
आप प्रोडक्शन सिस्टम में टोकनाइजेशन को कैसे हैंडल करते हैं?
प्रोडक्शन के लिए ट्रेनिंग और इनफेरेंस टोकनाइजेशन के बीच कंसिस्टेंसी, टोकनाइजर आर्टिफैक्ट्स का वर्जन कंट्रोल, और नॉर्मलाइजेशन और लोअरकेसिंग जैसे प्रीप्रोसेसिंग को ध्यान से हैंडल करने की ज़रूरत होती है। यहां मिसमैच होने पर हल्के, मुश्किल से डीबग होने वाले फेलियर होते हैं। हगिंग फेस ट्रांसफॉर्मर्स जैसी लाइब्रेरी इन रिस्क को कम करने के लिए स्टैंडर्ड सीरियलाइजेशन देती हैं।
क्या सबवर्ड और वर्ड-लेवल टोकनाइजेशन के विकल्प हैं?
हाल की रिसर्च में बाइट-लेवल मॉडल, मॉर्फोलॉजिकल एनालाइज़र, और यहाँ तक कि टोकनाइज़ेशन-फ्री तरीकों के बारे में भी पता लगाया गया है जो सीधे टेक्स्ट के रॉ बाइट्स या पिक्सल पर काम करते हैं। ये काफी हद तक एक्सपेरिमेंटल हैं लेकिन मौजूदा पाइपलाइन में कुछ मनमाने फैसलों को खत्म करने का वादा करते हैं। कम्प्यूटेशनल कंस्ट्रेंट्स बदलने के साथ यह फील्ड लगातार डेवलप हो रहा है।
टोकनाइजेशन मॉडल की इंटरप्रिटेबिलिटी पर कैसे असर डालता है?
वर्ड-लेवल आउटपुट इंसानी भाषा के सहज ज्ञान के साथ अलाइन होते हैं, जिससे अटेंशन विज़ुअलाइज़ेशन और फ़ीचर एनालिसिस ज़्यादा आसान हो जाते हैं। सबवर्ड आउटपुट के लिए टोकन-लेवल जानकारी को वापस वर्ड मीनिंग में एग्रीगेट करने के लिए एक्स्ट्रा टूलिंग की ज़रूरत होती है। यह एग्रीगेशन मुश्किल लाता है लेकिन मॉडल एक्सप्लेनेशन फ्रेमवर्क में यह स्टैंडर्ड प्रैक्टिस बन गया है।
निर्णय
मॉडर्न न्यूरल आर्किटेक्चर, मल्टीलिंगुअल एप्लिकेशन और बदलती वोकैबुलरी वाले डोमेन के लिए सबवर्ड टोकनाइज़ेशन चुनें। लेगेसी सिस्टम, रिसोर्स की कमी वाले माहौल या ऐसी समस्याओं के लिए वर्ड-लेवल अप्रोच अपनाएं जहां वोकैबुलरी नैचुरली बाउंड हो और इंटरप्रिटेबिलिटी सबसे ज़्यादा मायने रखती हो।