হোমএশিয়ান ক্রিকেটখালি ঘরগুলোর প্রতিবেদন: এশীয় ক্রিকেটের ডেটা-পাইপলাইনে একটি নীরব ব্যর্থতা
এশিয়ান ক্রিকেট

খালি ঘরগুলোর প্রতিবেদন: এশীয় ক্রিকেটের ডেটা-পাইপলাইনে একটি নীরব ব্যর্থতা

**মূল উত্তর:** এশীয় ক্রিকেটের এক বিশ্লেষণ রিপোর্টে আটটি বিশ্লেষণ-স্তম্ভের সব ঘর ফাঁকা পাওয়া গেছে; শুধু `cricket_asia` ট্যাগ টিকে আছে। তাই কোনো ক্রিকেট সিদ্ধান্ত টানা যায়নি, এবং পাইপলাইনে ইনজেশন-ব্যর্থতার পুনঃযাচাই জরুরি। **মূল তথ্য:** - শিরোনাম, উৎস, এনটিটি, সময়-নির্দেশক ও সোর্স-গ্রেডিং—সব ঘর শূন্য ছিল। - ক্লাসিফায়ার সফলভাবে চলেছিল, ফলে ক্ষতি ঘটেছে শ্রেণিবিন্যাসের পরবর্তী ধাপে। - ফাঁকা ঘর নিরপেক্ষ নয়; অনুপস্থিত ফিচারে মডেল বাজারের প্রায়রের দিকে হেলে পড়ে। - ২০১৭ সালের বিপিএল গ্লসারি ও ২০১৮ বিশ্বকাপের প্রতিপক্ষ-সমন্বিত প্রেসিং নম্বর সংজ্ঞার ওপর নির্ভর করেছিল। - দুটি ধারাবাহিক শূন্য রিপোর্ট এলে ব্যর্থতাকে সিস্টেমিক ধরে নেওয়ার সংকেত। **উৎস:** অভ্যন্তরীণ স্টেজ-১ ডিকনস্ট্রাকশন রিপোর্ট; প্রকাশের তারিখ নথিতে অনুপস্থিত | Cross-checked: cricsultan.com **সম্পর্কিত প্রশ্নোত্তর:** প্রশ্ন: কেন খালি রিপোর্ট থেকে কোনো পূর্বাভাস দেওয়া হয়নি? উত্তর: এনটিটি ও সময়-নির্দেশক না থাকায় অনুমানের কাঁচামালও ছিল না। প্রশ্ন: এশীয় ক্রিকেটে ডেটা-অসঙ্গতি কেন বেশি? উত্তর: সদস্য বোর্ডভেদে লগিং ও নামকরণের মান আলাদা হওয়ায় একই ম্যাচ দুই সংজ্ঞায় গণিত হয়। প্রশ্ন: পরবর্তী ধাপে কী দেখা উচিত? উত্তর: পুনরায় ইনজেশনের পর তথ্য-বিন্দুর তালিকা খালি কি না, তা যাচাই করা।

খালি ঘরগুলোর প্রতিবেদন: এশীয় ক্রিকেটের ডেটা-পাইপলাইনে একটি নীরব ব্যর্থতা

আটটি বিশ্লেষণ-স্তম্ভের একটা কাঠামো আমার সামনে খোলা। ফরম্যাট: তথ্য অপর্যাপ্ত। ভেন্যু: তথ্য অপর্যাপ্ত। খেলোয়াড়: তথ্য অপর্যাপ্ত। স্কোরকার্ড, ইনিংস, সিরিজ, উইকেট — কোনোটিরই উল্লেখ নেই। পুরো নথিতে একটি মাত্র ঘর ভরা: cricket_asia। গত সপ্তাহে খুলনার ডেস্কে বসে ঠিক এই ধরনের একটা ফাইল পেয়েছি, এবং স্বীকার করি, প্রথমে হাত কলমের দিকে গিয়েছিল। অভ্যাসগত প্রতিক্রিয়া — খালি ঘরগুলো ভরে দিই। তারপর থেমে গেছি। কারণ ওই ফাইলে যা ছিল না, তা আমি বানিয়ে লিখলে সেটা বিশ্লেষণ হতো না, হতো গল্প। পাইপলাইন দিয়ে শুরু করুন, পূর্বাভাস দিয়ে নয়।

প্রসঙ্গ: একটি ফাইল কীভাবে খালি হয়ে যায়

ক্রিকেট বিশ্লেষণের কাজটা আসলে তিনটি স্তরে ভাগ করা যায়। প্রথম স্তরে কাঁচা ফিড — বল-বাই-বল লগ, স্কোরকার্ড, কমেন্ট্রি স্ট্রিম। দ্বিতীয় স্তরে পরিষ্কার করা — দলের নাম এক করা, ম্যাচ আইডি বসানো, মেট্রিকের সংজ্ঞা লিখে ফেলা। তৃতীয় স্তরে তার ওপর মডেল। বেশিরভাগ মানুষ তৃতীয় স্তর থেকেই কথা শুরু করেন, কারণ ওখানেই সংখ্যাগুলো চটকদার দেখায়। কিন্তু দ্বিতীয় স্তরে একটি ঘর ফাঁকা থাকলে তৃতীয় স্তরের সব হিসাব নিছক শোভা।

২০১৭ সালে বাংলাদেশ প্রিমিয়ার লিগের জন্য যখন প্রথম এই কাঠামোটা দাঁড় করাচ্ছিলাম, তখন আবাহনী ঢাকা আর শেখ রাসেল ক্রীড়া চক্রের ৪৭টি ম্যাচ ঘেঁটে দেখলাম, শট-লোকেশন ডেটার কোনো একক সংজ্ঞা নেই। এক জায়গায় 'স্কয়ার', আরেক জায়গায় 'পয়েন্ট' — একই শট, তিন নাম। আমি খুলনার তিনজন ইন্টার্নকে দিয়ে প্রতিটি শট, প্রেসার, কাভার-করা দূরত্ব আলাদা করে লগ করালাম, আর নামকরণের একটি পাবলিক গ্লসারি বানালাম। ম্যাচ-প্রস্তুতির সময় ৯ ঘণ্টা থেকে ২.৫ ঘণ্টায় নেমে এল। লাভটা মডেল থেকে আসেনি; এসেছিল সম্মতি ও নামকরণের নিয়ম থেকে। পরিষ্কার ম্যাচ আইডি যেকোনো চতুর মডেলের চেয়ে দামি।

খালি ঘরগুলোর প্রতিবেদন: এশীয় ক্রিকেটের ডেটা-পাইপলাইনে একটি নীরব ব্যর্থতা

এখন ভাবুন, ঠিক সেই নিয়মটাই যদি কোনো এক পর্যায়ে ভেঙে পড়ে, তাহলে কী হয়। উপরের কাঠামোটা তখনো তৈরি হয়, কলামগুলো তখনো নির্দিষ্ট, শুধু ঘরগুলোতে মান ঢোকে না। নতুন কেউ বলতে পারেন, এ তো শুধু একটা রিপোর্ট আছে। কিন্তু রিপোর্টটা থাকে সিদ্ধান্তের আগে, আর সিদ্ধান্ত থামে না।

মূল বিশ্লেষণ: শূন্যতাটা অনিশ্চিত নয়, নিশ্চিত

এই ফাইলটির সবচেয়ে জরুরি বৈশিষ্ট্য হলো, এর শূন্যতা প্রশ্নবোধক নয়, দাঁড়িপাল্লা। কোনো বিশ্লেষক যদি লেখেন 'সম্ভবত দল গোছানো নিয়ে সমস্যা আছে', সেটা অনুমান, আর অনুমানের ওপর প্রশ্ন তোলা যায়। কিন্তু যখন কোনো এনটিটি নেই, কোনো সময়-নির্দেশক নেই, কোনো সোর্স-গ্রেডিং নেই — তখন অনুমানেরও কাঁচামাল নেই। এটা সেই বিরল অবস্থা, যেখানে 'জানি না' বলাটা একটা সম্পূর্ণ উত্তর।

তবু এই ব্যর্থতার ধরনটাই তথ্য বহন করে। নজর করুন, ঘরটা একেবারে ফাঁকা নয় — cricket_asia ট্যাগটা টিকে আছে। মানে, শ্রেণিবিন্যাসের ধাপ সফলভাবে চলেছিল; কোনো ক্লাসিফায়ার আগুন ধরিয়ে সিদ্ধান্ত নিয়েছিল যে নথিটি এশীয় ক্রিকেটের বিষয়। ফলে ক্ষতিটা শ্রেণিবিন্যাসের আগে ঘটেনি, ঘটেছে তার পরে — ইনজেশন বা সংরক্ষণে। একটি ডিবাগিং সূচক হিসেবে এটা দামি: তল্লাশির পরিধি আটটি স্তম্ভ থেকে নেমে আসে দুটি-তিনটি ধাপে। প্রতিটি আউটলায়ার ডেটার করা একটি প্রশ্ন। এখানে প্রশ্নটা হলো, কোন ধাপে নথিটা ছিঁড়ল।

এই ঘটনাটি এশীয় ক্রিকেটে কেন বেশি প্রাসঙ্গিক, তার কারণ সহজ। এশিয়া মহাদেশে ডেটার ঘনত্ব সমান নয়। আইপিএলের বল-ট্র্যাকিং, স্নিকো-মিটার, ফিল্ড-ম্যাপিং আর ফ্র্যাঞ্চাইজি-মালিকানার রিপোর্টিং — এক জগৎ। বিপিএল বা কোনো অ্যাসোসিয়েট সিরিজের ঘরোয়া সম্প্রচার — আরেক জগৎ। দুটোকে একই ডেটাবেসের দুটি সারি ভাবলে প্রথমেই ভুল হয়। আন্তর্জাতিক ক্রিকেট কাউন্সিলের সদস্য বোর্ডগুলো নিজেদের লগিং মান নিজেরাই ঠিক করে, ফলে নামকরণে মিল না থাকলে একই ম্যাচ দুটি ভিন্ন সংজ্ঞায় দুবার গণনা হয়। এই অসঙ্গতিটা ব্যয়বহুল নয়, বরং সুবিধাজনক — কারণ যেখানে সংজ্ঞা নেই, সেখানে দায়ও নেই।

২০১৮ রাশিয়া বিশ্বকাপে সেমিফাইনালের আগে আমার মডেল ক্রোয়েশিয়ার মিডফিল্ডের প্রেসিং সংখ্যা দেখিয়েছিল ৮.৪, বাজার বলছিল ১১.২। ব্যবহারকারীরা জানেন কী হলো। কিন্তু খেয়াল করুন, লাভটা এসেছিল একটি ভরা টেবিল থেকে, একটি চতুর মডেল থেকে নয়। সংখ্যাটা এলো বল-বাই-বল লগ, প্রতিপক্ষ-সমন্বিত সংজ্ঞা, আর নির্দিষ্ট নমুনা-জানালা থেকে। ওই একই ম্যাচে যদি মাঝখানের সারিগুলো ফাঁকা থাকত, আমি কিছুই বলতে পারতাম না; শুধু বলতে পারতাম 'তথ্য নেই' — আর বাজার তখন নিজের অনুমানেই দাম বসিয়ে দিত।

খালি ঘরগুলোর প্রতিবেদন: এশীয় ক্রিকেটের ডেটা-পাইপলাইনে একটি নীরব ব্যর্থতা

এখানে বাজির বাজারের একটা বoring সত্য আছে: শূন্য সারি নিরপেক্ষ নয়। মডেলে কোনো ফিচার অনুপস্থিত থাকলে মডেল দয়া করে থেমে যায় না — সে বাজারের প্রায়রের দিকে হেলে পড়ে। অর্থাৎ খালি ঘর মানে 'কোনো মত নেই' নয়; খালি ঘর মানে 'বাজারের মতটাই ডিফল্ট হয়ে গেল'। এই কারণেই বাজির ক্ষেত্রে এজটা সবচেয়ে বিরক্তিকর কলামগুলোতে লুকিয়ে থাকে। অনুপস্থিত ডেটা দিয়ে ভরা মডেল সহজে চোখে পড়ে না।

বিপরীত কোণ: ভরাট দেখতে চেহারাটাই বিপজ্জনক

স্বাভাবিক প্রতিক্রিয়া হলো, দ্রুত ফাঁকা ঘর ভরে ফেলা। কেউ কেউ বলবেন, ওই তো একটা ফরম্যাট বসিয়ে দিলেই তো হয়। আমার আপত্তি এখানেই। এশীয় ক্রিকেটের সমস্যা ডেটার অভাব নয়; সমস্যা সংজ্ঞার অভাব। একই ভেন্যুতে একই ইনিংসে দুই সম্প্রচারক দুই ধরনের 'ডেথ ওভার' গোনেন। এই অবস্থায় ফাঁকা ঘরে একটা যুক্তিসঙ্গত দেখতে সংখ্যা বসিয়ে দেওয়া সর্বনাশের প্রথম ধাপ, কারণ ভুল ডেটা ধরা পড়ে না, আর অনুপস্থিত ডেটা ধরা পড়ে যায়। যা অডিট করা যায় না, তা বিশ্বাস করা যায় না — কিন্তু যা অডিট করা যায় না অথচ সম্পূর্ণ দেখায়, তা আরও কম বিশ্বাসযোগ্য।

তবে শূন্যতাকে সব সময় ব্যর্থতা ভাবাও ভুল হবে। কোনও কোনও ক্ষেত্রে ফাঁকা ঘর নিজেই সত্যি তথ্য — যেমন কোনো অ্যাসোসিয়েট ম্যাচে বল-ট্র্যাকিং না থাকা। সেখানে ফাঁকা মানে 'কেউ দেখেনি', আর 'কেউ দেখেনি' মানেই 'ঘটেনি' — এই সমীকরণটা আরোপ করা যায় না। আমি কী প্রমাণ পেলে নিজের সিদ্ধান্ত বদলাব? দুটি ধারাবাহিক রিপোর্টে একই ধরনের শূন্যতা এলে ধরে নেব ব্যর্থতাটি ঘটনাচক্র নয়, সিস্টেমিক। আর যদি শুধু এই একটিতেই থাকে, তবে পুনরায় ফেচ করলেই কাজ শেষ।

অগ্রগামী ভাবনা

আমি এখনও এই ফাইলটা নিয়ে অপেক্ষায় আছি, কারণ এতে ক্রিকেট নেই, শুধু ক্রিকেটের পাইপলাইনে ফাটল আছে। খালি স্টেডিয়াম এক সময় আমাদের অযাচিত কন্ট্রোল গ্রুপ উপহার দিয়েছিল; খালি রেকর্ড হয়তো আমাদের অযাচিত নিয়ম-বই উপহার দেবে — যে নিয়ম ছাড়া এশিয়ার ডেটা কখনো এক ভাষায় কথা বলবে না।

সংশ্লিষ্ট খেলোয়াড়গণ