क्या ChatGPT आपके टेक्स्ट में अदृश्य अक्षर छिपाता है?

वॉटरमार्क थ्योरी, बाइट्स असल में क्या दिखाते हैं, और अपने टेक्स्ट की जाँच कैसे करें।

AI आउटपुट में अक्सर अदृश्य Unicode मिलता है — सबसे ज़्यादा non-breaking और narrow no-break स्पेस। लेकिन ये टेक्स्ट फ़ॉर्मैटिंग के साधारण उप-उत्पाद हैं, कोई छिपा वॉटरमार्क नहीं। असली टेक्स्ट वॉटरमार्किंग मौजूद है और वह शब्द-चुनाव को सांख्यिकीय तौर पर प्रभावित करके काम करती है, जिससे कोई खास अक्षर खोजने के लिए बचता ही नहीं। आप किसी भी टेक्स्ट की जाँच कुछ ही सेकंड में खुद कर सकते हैं।

दावा, और यह क्यों फैला

हर कुछ महीनों में कोई पोस्ट वायरल हो जाती है जिसमें दिखाया जाता है कि ChatGPT से कॉपी किए टेक्स्ट में छिपे अक्षर हैं, और निष्कर्ष निकाला जाता है कि OpenAI गुप्त रूप से आउटपुट में वॉटरमार्क लगा रहा है ताकि उसे ट्रेस किया जा सके।

अवलोकन सही है। निष्कर्ष सपोर्टेड नहीं है।

जो लोग पाते हैं वह वास्तविक है — किसी चैट के जवाब को कैरेक्टर इंस्पेक्टर में पेस्ट करें और आपको अक्सर ऐसे कोड पॉइंट दिखेंगे जो स्क्रीन पर कुछ भी रेंडर नहीं करते। छलाँग व्याख्या में लगती है। वॉटरमार्क को एडिटिंग के बाद भी बना रहना चाहिए, उसे हटाना मुश्किल होना चाहिए, और वह कुछ एन्कोड करता हो। जो अक्षर find-and-replace चलाते ही गायब हो जाते हैं और जिनमें कोई रिकवर करने लायक पेलोड नहीं होता, वे इनमें से कोई शर्त पूरी नहीं करते।

टेक्स्ट में असल में क्या है

AI आउटपुट में मिलने वाले अदृश्य अक्षर ज़्यादातर बिल्कुल साधारण टाइपोग्राफ़िक अक्षर होते हैं:

अक्षर कोड पॉइंट क्यों दिखता है
Non-breaking स्पेस U+00A0 संख्या और उसकी इकाई को एक ही लाइन पर रखता है
Narrow no-break स्पेस U+202F विराम चिह्न से पहले और संख्याओं में पतला स्पेसिंग
ज़ीरो-विथ स्पेस U+200B लाइन-ब्रेक के संकेत, अक्सर वेब टेक्स्ट से विरासत में मिले
सॉफ्ट हाइफ़न U+00AD रैपिंग के समय शब्द कहाँ टूट सकता है, यह चिह्नित करता है
बाइट-ऑर्डर मार्क U+FEFF किसी अपस्ट्रीम फ़ाइल से आया एन्कोडिंग आर्टिफ़ैक्ट

इनमें से हर एक का वैध टाइपोग्राफ़िक उद्देश्य है और हर एक भाषा मॉडल से दशकों पहले से मौजूद है। ये उन्हीं रास्तों से आते हैं जैसे हमेशा से आते रहे हैं: मॉडल ने इन्हें ऐसे ट्रेनिंग टेक्स्ट से सीखा जिसमें ये मौजूद थे, चैट इंटरफ़ेस फ़ॉर्मैट किए आउटपुट को HTML के रूप में रेंडर करता है, और रेंडर किए वेबपेज से कॉपी करने पर मार्कअप में जो कुछ भी था वह साथ चला आता है।

यह आखिरी रास्ता लोगों की उम्मीद से ज़्यादा मायने रखता है। जिस चीज़ को मॉडल पर थोपा जाता है, उसमें से काफ़ी हिस्सा असल में जनरेशन से नहीं, बल्कि ब्राउज़र कॉपी से आता है। उसी जवाब को API के ज़रिए कॉपी करने पर अक्सर चैट विंडो से कॉपी करने की तुलना में काफ़ी साफ़ टेक्स्ट मिलता है।

जो आपको दिखता हैquarterly reportजो असल में सेव हैquarterly[U+200B]report
ज़ीरो-विथ स्पेस स्क्रीन पर अदृश्य होता है, लेकिन मूल टेक्स्ट में मौजूद रहता है।

क्या AI टेक्स्ट वॉटरमार्किंग का अस्तित्व है?

हाँ — लेकिन यह उस तरह काम नहीं करती जैसा वायरल पोस्ट्स मानती हैं।

Google DeepMind का SynthID-Text सबसे अच्छी तरह दस्तावेज़ित तरीका है, जो 2024 में Nature में प्रकाशित हुआ। यह इस तरह काम करता है कि हर चरण पर मॉडल कौन से शब्द सैंपल करता है, उसे सूक्ष्म रूप से प्रभावित किया जाता है, ताकि तैयार टेक्स्ट में एक सांख्यिकीय हस्ताक्षर हो जिसे मिलता हुआ वेरिफ़ायर पहचान सके। इसमें कोई खास अक्षर शामिल नहीं होता। कुछ भी इन्सर्ट नहीं किया जाता। वॉटरमार्क साधारण शब्दों के चुनाव में रहता है — यही वजह है कि यह कॉपी करने और हल्की एडिटिंग के बाद भी बना रहता है, और यही वजह है कि आप इसे कोड पॉइंट देखकर नहीं पा सकते।

OpenAI ने टेक्स्ट वॉटरमार्किंग पर रिसर्च की बात सार्वजनिक रूप से कही है, लेकिन ChatGPT आउटपुट के लिए कोई पुष्ट उपभोक्ता-स्तरीय इम्प्लीमेंटेशन शिप नहीं किया है।

व्यावहारिक नतीजा घबराहट के उलट है: अगर आपका इस्तेमाल किया मॉडल वॉटरमार्क किया हुआ है, तो अदृश्य अक्षर हटाने से वह नहीं हटेगा। और अगर आपको अदृश्य अक्षर मिलते हैं, तो यह वॉटरमार्किंग का सबूत नहीं है — यह फ़ॉर्मैटिंग का सबूत है।

फिर भी अदृश्य अक्षर क्यों मायने रखते हैं

वॉटरमार्क हो या न हो, आप आमतौर पर इन्हें हटाना ही चाहेंगे, क्योंकि ये चुपचाप चीज़ें तोड़ देते हैं:

  • सर्च और find-and-replace फेल हो जाते हैं। दो अक्षरों के बीच ज़ीरो-विथ स्पेस होने से शब्द खोजने पर कुछ नहीं मिलता, और सामने कोई दिखने वाली वजह भी नहीं होती।
  • फ़ॉर्म वैलिडेशन इनपुट रिजेक्ट कर देता है। ईमेल पते या लाइसेंस की के अंत में लगा non-breaking स्पेस ऐसी तुलना को फेल कर देता है जो स्क्रीन पर बिल्कुल सही दिखती है।
  • कोड कम्पाइल या पार्स नहीं होगा। जहाँ साधारण स्पेस होना चाहिए वहाँ non-breaking स्पेस होने से सिंटैक्स एरर ऐसी लाइन की ओर इशारा करता है जो देखने में बिल्कुल ठीक लगती है।
  • CSV इम्पोर्ट खराब हो जाता है। बाइट-ऑर्डर मार्क पहले कॉलम हेडर से चिपक जाता है, जिससे पहला फ़ील्ड चुपचाप मैप नहीं होता।
  • डुप्लिकेट रिकॉर्ड बन जाते हैं। दो एंट्री जो एक जैसी दिखती हैं, असल में अलग स्ट्रिंग होती हैं, इसलिए डीडुप्लिकेशन उन्हें पकड़ नहीं पाता।

ये समस्याएँ खास तौर पर परेशान करने वाली इसलिए हैं क्योंकि टेक्स्ट सही दिखता है। हर डिबगिंग इंस्टिंक्ट कहीं और की ओर इशारा करता है।

अपने टेक्स्ट की जाँच और सफ़ाई कैसे करें

टेक्स्ट को अदृश्य अक्षर स्कैनर में पेस्ट करें। यह मिलने वाले हर ज़ीरो-विथ स्पेस, सॉफ्ट हाइफ़न, बाइट-ऑर्डर मार्क और दिशा चिह्न की रिपोर्ट देता है, हर तरह की गिनती के साथ, और आपकी माँग पर उन्हें हटा भी देता है। आपके ब्राउज़र से कुछ भी बाहर नहीं जाता — स्कैन स्थानीय रूप से चलता है।

अगर आपको बड़ी तस्वीर चाहिए, तो AI टेक्स्ट क्लीनर अदृश्य अक्षरों के साथ-साथ लंबे डैश, घुमावदार उद्धरण और इमोजी को भी एक ही बार में कवर करता है।

एक आदत बनाने लायक है: जब भी टेक्स्ट दो सिस्टम की सीमा पार करे, जाँच ज़रूर करें। चैट विंडो से कोड एडिटर में, वेबपेज से स्प्रेडशीट में, PDF से फ़ॉर्म में। अदृश्य अक्षर नुकसान यहीं पहुँचाते हैं, और यही वह क्षण है जब उन्हें हटाना सबसे सस्ता होता है।

इन अक्षरों की पूरी सूची और हर एक का काम जानने के लिए अदृश्य Unicode रेफ़रेंस देखें।

अक्सर पूछे जाने वाले सवाल

क्या ChatGPT अदृश्य अक्षरों से अपने टेक्स्ट में वॉटरमार्क लगाता है?

ऐसा कोई सबूत नहीं है। ChatGPT आउटपुट में मिलने वाले अदृश्य अक्षर साधारण टाइपोग्राफ़िक अक्षर होते हैं, जैसे non-breaking और narrow no-break स्पेस, जो दशकों से मौजूद हैं और जिनमें कोई पेलोड नहीं होता। ये किसी भी सामान्य सफ़ाई से गायब हो जाते हैं, जिससे ये वॉटरमार्क के तौर पर बेकार साबित होते।

क्या AI से लिखे टेक्स्ट में वॉटरमार्क लगाया ही जा सकता है?

हाँ। Google DeepMind का SynthID-Text, जो 2024 में Nature में प्रकाशित हुआ, मॉडल के शब्द-चुनाव को इस तरह प्रभावित करता है कि आउटपुट में एक सांख्यिकीय हस्ताक्षर आ जाता है। यह कोई खास अक्षर इन्सर्ट नहीं करता, इसलिए कोड पॉइंट देखकर इसे कभी नहीं पाया जा सकता, और अदृश्य अक्षर हटाने से यह नहीं हटता।

ChatGPT से कॉपी किए टेक्स्ट में छिपे अक्षर क्यों होते हैं?

ज़्यादातर इसलिए कि आप वेबपेज से रेंडर किया हुआ HTML कॉपी कर रहे होते हैं। चैट इंटरफ़ेस फ़ॉर्मैट किया आउटपुट दिखाता है, और कॉपी के साथ वे स्पेसिंग अक्षर भी आ जाते हैं जिनका इस्तेमाल उस फ़ॉर्मैटिंग में हुआ था। उसी जवाब को API के ज़रिए लेने पर अक्सर काफ़ी साफ़ टेक्स्ट मिलता है।

अपने टेक्स्ट में अदृश्य अक्षर कैसे खोजूँ?

इसे किसी ऐसे स्कैनर में पेस्ट करें जो कोड पॉइंट की सूची दिखाता हो, जैसे हमारा अदृश्य अक्षर स्कैनर। यह मौजूद हर तरह के अदृश्य अक्षर की पहचान करता है, उन्हें गिनता है, और आपकी माँग पर हटा देता है — पूरी तरह आपके ब्राउज़र में चलते हुए।

क्या अदृश्य अक्षर खतरनाक हैं?

खतरनाक नहीं, लेकिन वाकई बाधा डालने वाले हैं। ये सर्च तोड़ देते हैं, फ़ॉर्म वैलिडेशन फेल कराते हैं, कोड में सिंटैक्स एरर पैदा करते हैं, CSV हेडर खराब करते हैं और एक जैसे दिखने वाले डुप्लिकेट रिकॉर्ड बनाते हैं। चूँकि टेक्स्ट सामान्य दिखता है, इन बग्स का पता लगाना असामान्य रूप से कठिन होता है।

इस गाइड में बताए गए टूल

संबंधित गाइड