होमविश्व क्रिकेटStage-1 खाली लौटा: क्रिकेट कवरेज की चार-फेज़ पाइपलाइन में जानकारी कहाँ मरती है

Stage-1 खाली लौटा: क्रिकेट कवरेज की चार-फेज़ पाइपलाइन में जानकारी कहाँ मरती है

**कोर उत्तर** क्रिकेट कवरेज की ऑटोमेटेड पाइपलाइन में Stage-1 का खाली आउटपुट जानकारी की कमी नहीं, स्कीमा मिसमैच या फेच विफलता है। जब Information Points सूची खाली हो, तो Stage-2 विश्लेषण असंभव है; पहले इनजेस्ट और पार्स चरण जाँचें, फिर कवरेज लिखें। **मुख्य तथ्य** - Stage-1 में नौ फ़ील्ड खाली लौटे; केवल Domain Label cricket_world ज़िंदा बचा, जो साक्ष्य नहीं है। - 24 अक्टूबर 2021, दुबई: भारत 151/7, पाकिस्तान 152/0 से दस विकेट से जीता; शाहीन शाह अफरीदी 3/31। - 21 मई 2017, हैदराबाद: मुंबई इंडियंस 129/8 ने राइजिंग पुणे सुपरजायंट 128/8 को एक रन से हराया। - IPL 2020, UAE: जसप्रीत बुमराह के 27 विकेट; ओस-मॉडल में डेथ-ओवर इकॉनमी 6.1 से 7.4 दर्ज की गई। - पाँच से कम एक्सट्रैक्टेबल तथ्य-इकाइयाँ हों तो सही उत्पाद संक्षिप्त नोट है, फेज़ ग्रिड नहीं। **स्रोत** Stage-1 एक्सट्रैक्शन आउटपुट, दिनांक अंकित नहीं; मैच तथ्य ICC और IPL आधिकारिक रिकॉर्ड पर आधारित। **संबंधित प्रश्न** प्रश्न: Stage-1 खाली क्यों लौटा? उत्तर: सबसे संभावित कारण फेच विफलता या पार्सर-स्कीमा मिसमैच है, क्योंकि Entities फ़ील्ड भी ऊपर के खाली इनपुट पर निर्भर था। प्रश्न: क्या खाली आउटपुट कभी सही उत्तर होता है? उत्तर: हाँ, धुलाई से रद्द या बारह गेंद के नो-रिज़ल्ट मुकाबले में, जहाँ सही उत्पाद संक्षिप्त नोट है, फेज़ ग्रिड नहीं। प्रश्न: इसकी पुष्टि कैसे करें? उत्तर: cricsultan.com के मैच डेटा इंडेक्स से स्कोरकार्ड और फेज़-वार रन-रेट मिलाकर, दोनों स्रोतों की तारीखें मिलाने के बाद।

Stage-1 खाली लौटा: क्रिकेट कवरेज की चार-फेज़ पाइपलाइन में जानकारी कहाँ मरती है

रात 3:40, मुंबई। डेस्क पर एक ही टैब खुला है — Stage-1 एक्सट्रैक्शन आउटपुट। मैच ग्यारह बजकर बीस मिनट पर खत्म हुआ था। डेढ़ बजे एग्रीगेशन लेयर ने इकतालीस आइटम खींचे थे। सवा तीन बजे एक्सट्रैक्टर ने जवाब दिया, और जवाब यह था कि कोई जवाब नहीं है।

Article Title: N/A. Article Source: N/A. Article Type: Unclassified. One-sentence Summary: खाली. Author Stance: N/A. Article Purpose: N/A. Information Points: खाली सूची. Entities Involved: "identify from the information points above." Time Sensitivity: अनिर्धारित. Source Quality: "judge from the source fields of the information points."

यह कम जानकारी का मामला नहीं है। यह शून्य का मामला है। बीच में जो मैच था, उसमें 240 वैध गेंदें थीं, दो पारियाँ थीं, एक टॉस था, एक डीएलएस चेक था, ग्यारह विकेट-इवेंट थे। पाइपलाइन ने रिपोर्ट किया: शून्य। जानकारी गायब नहीं हुई थी। वह एक स्कीमा से होकर नहीं गुज़र पाई थी।

इस टुकड़े का तरीका पहले सौ शब्दों में ही साफ कर देना ठीक है, क्योंकि आगे जो है वह मैच का विश्लेषण नहीं है। यह चार-फेज़ पाइपलाइन लेजर है — इनजेस्ट, पार्स, एक्सट्रैक्ट, रूट — और मैं इसे खुले तौर पर लो-कॉन्फिडेंस कहकर शुरू कर रहा हूँ। जिस चीज़ का इनपुट ही खाली है, उस पर बनने वाला हर निष्कर्ष कम-भरोसे वाला होगा। जो एक फ़ील्ड ज़िंदा बचा, वह था: Domain Label — cricket_world. और वह कोई सबूत नहीं है। वह एक राउटिंग टैग है, दस्तावेज़ के बारे में एक अनुमान, दस्तावेज़ की गवाही नहीं।

संदर्भ: नब्बे मिनट की खिड़की और दो-मंज़िला आर्किटेक्चर

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

Stage-1 खाली लौटा: क्रिकेट कवरेज की चार-फेज़ पाइपलाइन में जानकारी कहाँ मरती है

इसी दबाव में दो-मंज़िला आर्किटेक्चर बना। Stage-1 एक्सट्रैक्शन है — शीर्षक, स्रोत, प्रकार, एक वाक्य का सार, लेखक की हैसियत, मंशा, सूचना-बिंदु, इकाइयाँ, काल-संवेदनशीलता, स्रोत-गुणवत्ता। Stage-2 विश्लेषण है। Stage-2, Stage-1 से बेहतर कभी नहीं हो सकता, ठीक वैसे ही जैसे छठे ओवर की गेंदबाज़ी की समीक्षा पहले ओवर के स्कोरकार्ड के बिना नहीं हो सकती। सूचना-बिंदु खाली हैं तो इकाई-ग्राफ़ नहीं बनता, इकाई-ग्राफ़ नहीं बना तो विसंगति-निपटान नहीं होता, और विसंगति-निपटान नहीं हुआ तो सत्यापन का कोई रास्ता नहीं बचता।

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

मेरे पास तुलना का एक पैमाना है, क्योंकि भरी हुई Stage-1 कैसी दिखती है, यह मैंने काम करते हुए देखा है। 24 अक्टूबर 2026, दुबई — भारत 151/7, पाकिस्तान 152/0, दस विकेट से जीत, शाहीन शाह अफरीदी 3/31। उस रात मैंने चौबीस गेंदों से एक मैचअप मैट्रिक्स खड़ा किया था: तीन लंबाईयाँ, तीन बल्लेबाज़ — रोहित शर्मा, केएल राहुल, विराट कोहली — और हर जोड़ी पर नतीजा। सूचना-बिंदु उस रात चौदह थे। चौदह बिंदुओं से अठारह सौ शब्द निकले। आज रात चौदह की जगह शून्य है, और शून्य से शब्द नहीं निकलते, शब्द भरे जाते हैं। यही अंतर है।

कोर: चार फेज़, और हर फेज़ में एक अलग मौत

पाइपलाइन को मैं वैसे ही तोड़ता हूँ जैसे मैच तोड़ता हूँ — फेज़ों में, हर फेज़ का अपना बजट, और हर बजट का अपना हिसाब। खाली आउटपुट एक घटना नहीं है। वह एक क्रम है।

इनजेस्ट। सबसे पहला सवाल यह नहीं है कि एक्सट्रैक्टर ने क्या कहा। पहला सवाल यह है कि क्या कच्ची फ़ाइल मौजूद है। अगर सोर्स का HTML कभी आया ही नहीं — सर्वर ने 403 दिया, पेपरवॉल आ गया, लाइव-ब्लॉग का एंडपॉइंट बदल गया, या स्कोरकार्ड एक जावास्क्रिप्ट विजेट के पीछे बैठा था — तो हर आगे वाला फ़ील्ड स्वाभाविक रूप से खाली है। यह विफलता सबसे सस्ती है और सबसे आसानी से गलत जगह पर खोजी जाती है। लोग Stage-2 को कोसते हैं जबकि गाड़ी में पेट्रोल ही नहीं डाला गया।

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

एक्सट्रैक्ट। यहाँ असली नुकसान होता है। एक सूचना-बिंदु की न्यूनतम इकाई तीन चीज़ों की तिकड़ी है: कथन, उसका स्रोत या वक्ता, और उसका समय। तीन में से एक गिरा तो बिंदु नहीं बनता। कथन है पर स्रोत नहीं — तो वह अफ़वाह है। स्रोत है पर समय नहीं — तो वह पुरानी खबर है जो नई बनकर घूम रही है। समय है पर कथन नहीं — तो वह कैलेंडर-प्रविष्टि है, पत्रकारिता नहीं।

इसीलिए खाली सूची से इकाई-निष्कर्षण असंभव है। Entities Involved फ़ील्ड में लिखा था "identify from the information points above" — यानी इकाईयाँ ऊपर के बिंदुओं से निकलेंगी। ऊपर कुछ नहीं था। यह परिपत्र-निर्भरता है, और यह एक तार्किक जाल है: पाइपलाइन अपनी ही खाली जेब से गुज़ारिश कर रही है। उसी तरह Source Quality — "judge from the source fields of the information points" — और सूचना-बिंदुओं में कोई स्रोत-फ़ील्ड ही नहीं था। नतीजा यह है कि विश्वसनीयता का कोई आकलन मुमकिन नहीं, और स्रोत-गुणवत्ता के बिना काल-संवेदनशीलता का आकलन भी मुमकिन नहीं, क्योंकि काल-संवेदनशीलता स्रोत की नहीं, घटना की विशेषता है।

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

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

इस पूरे क्रम को मैं एक उदाहरण से जोड़ता हूँ जो मेरे पास अपने डेस्क से है — 21 मई 2026, हैदराबाद। मुंबई इंडियंस 129/8, राइजिंग पुणे सुपरजायंट 128/8, एक रन का अंतर। सुर्खियों में जो कहानी बनी वह आख़िरी ओवर की कहानी थी। बॉल-बाय-बॉल फेज़ मैप में जो कहानी थी वह 16 से 18 ओवर के बीच की ग्यारह डॉट गेंदें थीं। फेज़ मैप चौदह से ऊपर कह रहा था; मैच कुछ और कह रहा था। यह सिर्फ़ एक अलग राय नहीं है, यह एक अलग तरह का सबूत है — और वह सबूत ग्यारह डॉट गेंदों के लॉग से आया, किसी रिपोर्ट के वाक्य से नहीं। अगर Stage-1 उस रात खाली लौटता, तो यह पूरा लेजर बनता ही नहीं। आख़िरी ओवर की कहानी बच जाती, क्योंकि वह किसी स्कीमा के बिना भी लिखी जा सकती है।

विरोधी पक्ष: "पेन और आँखें काफ़ी हैं"

अब वह तर्क, जो मेरे ख़िलाफ़ सबसे मज़बूत है, क्योंकि वह अपने सबसे मज़बूत रूप में सही भी हो सकता है।

वह यह है: वानखेड़े की प्रेस बॉक्स में बैठा रिपोर्टर किसी स्कीमा का मोहताज नहीं। उसने मैच देखा है। उसने सुना है कि कौन सा ओवर भारी पड़ा। उसके पास आँखें हैं, पैर हैं, और मैदान तक पहुँच है। पाइपलाइन एक कुर्ज़ी है, और खाली आउटपुट का सही जवाब यह है कि कुर्ज़ी फेंको और मैच देखो। जिस सिस्टम ने नौ फ़ील्ड खाली लौटाए, उसके लिए लिखना ही ग़लत है।

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

लेकिन इस रात का मामला वह नहीं था। यहाँ 240 गेंदें मौजूद थीं। यहाँ सही निदान "जानकारी नहीं थी" नहीं है; सही निदान "जानकारी निकली नहीं" है। और दोनों में ज़मीन-आसमान का अंतर है, क्योंकि पहला प्रकृति का दोष है और दूसरा अपने ही औज़ार का।

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

टेकअवे: अगले मैच से पहले एक ड्राई-रन

इस पूरी कवायद का फ़ायदा तभी है जब इसे एक मापदंड बना दिया जाए। अगले भारत मुकाबले से पहले, पिछले मुकाबले पर एक ड्राई-रन करें: गिनें कि Stage-1 कितने सूचना-बिंदु लौटाता है। संख्या पाँच से नीचे है तो उत्पाद नोट है। पंद्रह से ऊपर है तो उत्पाद फेज़ ग्रिड ले जा सकता है। बीच में है तो उत्पाद को अपनी सीमा खुद बतानी होगी। और अगर संख्या शून्य है जबकि स्कोरकार्ड में 240 गेंदें दर्ज हैं, तो टुकड़ा लिखने से पहले पाइपलाइन ठीक करें — क्योंकि उस रात जो खाली लौटा था, वह जानकारी नहीं थी। वह भरोसा था।

रात 3:47 पर मैंने उस टैब को बंद नहीं किया। मैंने उसे खुला छोड़ दिया, और ऊपर एक पंक्ति लिखी: फेच जाँचें, स्कीमा जाँचें, फिर लिखें। अगली सुबह जब कोई पूछेगा कि यह आँकड़ा कहाँ से आया, तो जवाब में एक फ़ाइल का नाम होना चाहिए — एक वाक्य नहीं।