नोट्सइंजीनियरिंग5 मिनट
आपकी भाषा मेरी भाषा से ज़्यादा टोकन ले सकती है
टोकनाइज़ेशन लैटिन लिपि पर फ़िट किया गया था। उसकी कीमत बाकी सब लेटेंसी, कॉन्टेक्स्ट और पैसे में चुकाते हैं।
टोकनाइज़ेशन वह जगह है जहाँ अंग्रेज़ी-पहले की मान्यता दार्शनिक नहीं रहती। टोकनाइज़र यह सीखता है कि टेक्स्ट को टुकड़ों में कैसे बाँटा जाए — इस आधार पर कि उसने सबसे ज़्यादा क्या देखा। लैटिन-झुके कॉर्पस पर सीखने से वह अंग्रेज़ी शब्दों के लिए लंबे, किफ़ायती टुकड़े सीखता है और बाकी सबके लिए छोटे, बेकार टुकड़े। देवनागरी, थाई, कोरियाई और कई और लिपियाँ उसी वाक्य के लिए कहीं ज़्यादा टोकनों में बिखर जाती हैं।
तीन नतीजे, और कोई भी काल्पनिक नहीं
- पैसा: बिल टोकन के हिसाब से बनता है, इसलिए वही अनुरोध कुछ भाषाओं में ज़्यादा महँगा पड़ता है।
- कॉन्टेक्स्ट: तय आकार की कॉन्टेक्स्ट विंडो में आपकी असल सामग्री कम आती है, इसलिए लंबे दस्तावेज़ जल्दी कट जाते हैं।
- लेटेंसी: ज़्यादा टोकन बनाने का मतलब धीमा जवाब — ठीक उन कनेक्शनों पर जो पहले से धीमे हैं।
असहज हिस्सा यह है कि जो इसे चुकाता है उसे यह दिखता ही नहीं। किसी बिल में यह लाइन नहीं आती कि आपकी लिपि में सोचना महँगा है। उन्हें बस एक औज़ार थोड़ा घटिया लगता है और वे बता नहीं पाते क्यों।
असल में क्या किया जा सकता है
इसमें से कुछ हमारे बस में है और कुछ नहीं। हम फ़्रंटियर मॉडल ट्रेन नहीं करते, इसलिए उनके टोकनाइज़र नहीं बदल सकते। जो कर सकते हैं वह यह है कि समस्या को और न बढ़ाएँ: प्रॉम्प्ट उपयोगकर्ता की भाषा में छोटे रखें, अंग्रेज़ी का ढाँचा ठूँसकर लंबे न करें; ढाँचे के स्तर पर आक्रामक कैशिंग करें ताकि वही लेआउट हर बार दोबारा न निकाला जाए; और जो काम कोड में हो सकता है वह मॉडल से न कराएँ।
हम इसे नापते भी हैं। हर समर्थित भाषा के लिए हम टोकन-प्रति-बिल्ड और पहली झलक का समय दर्ज करते हैं, और औसत नहीं देखते — सबसे अच्छी और सबसे ख़राब भाषा के बीच का फ़र्क़ देखते हैं। औसत ही वह तरीक़ा है जिससे लंबी पूँछ छिप जाती है।
अगर आपकी भाषा का फ़र्क़ ग़लत लगे, तो बताइए आपने क्या लिखा था। वह रिपोर्ट किसी बेंचमार्क से ज़्यादा कीमती है, क्योंकि उसके साथ वह वाक्य आता है जो कोई असली इंसान सच में लिखना चाहता था।