রোবট কেন ক্যাপচা শনাক্ত করতে পারে না

জিনিসটা আসলে একধরনের সিকিউরিটি টেস্ট। মানে, নিরাপত্তামূলক পরীক্ষা। অতিসরলীকরণ করে একধরনের টুরিং টেস্টও বলা যায়। ব্রিটিশ কম্পিউটারবিজ্ঞানী অ্যালান টুরিং রোবট চেনার জন্য একধরনের পরীক্ষার কথা প্রস্তাব করেন।

কিছু কিছু ওয়েবসাইটে প্রথমবার ঢুকলে বা নিবন্ধনের সময় ‘ক্যাপচা’ নামে একটা জিনিস আসে। ইংরেজি ছোট ও বড় হাতের অক্ষর, গাণিতিক অঙ্কসহ নানারকম চিহ্ন লেখা থাকে আঁকাবাঁকা, এলোমেলো করে। এই চিহ্নগুলো চিনে চিনে একটা খালি ঘরে সঠিকভাবে লিখতে হয়। খুব বিরক্ত হই আমরা। স্বাভাবিক। ইন্টারনেটে আমরা চাই যত দ্রুত সম্ভব কাজ করতে। এর মধ্যে অমন বেরসিক বাগড়া দেওয়ার কোনো মানে হয়!

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

যাহোক, ক্যাপচা টেস্টকে ‘পাবলিক টুরিং টেস্ট’ বলা হলেও এটা আসলে টুরিং টেস্টের উল্টো। কারণ, টুরিং টেস্টে দেখা হয় কম্পিউটার কতটা মানুষের মতো হয়ে উঠল। আর ক্যাপচায় দেখা হয়, মানুষ বলে পরিচয় করে দেওয়া কোনো ব্যবহারকারী আসলেই মানুষ, নাকি কম্পিউটার (বট) বা রোবট।

ইন্টারনেটে এমন সফটওয়্যার আছে, যেগুলো দিয়ে কারো ওয়েবসাইটে স্বয়ংক্রিয়ভাবে ক্লিক করা যায় বা নিবন্ধন করা যায়। যেকোনো ওয়েবসাইট চালানোর জন্য প্রয়োজনীয় সব তথ্য রাখা থাকে একটি ডেটাবেজে। এটাকে বলা হয় সার্ভার।

কিন্তু রোবট এই ক্যাপচা পড়তে পারবে না কেন? রোবট বা কম্পিউটার এ ধরনের চিহ্ন, মানে কোনটি কী অক্ষর বা অঙ্ক, সেটা বোঝে অপটিক্যাল ক্যারেকটার রিকগনিশন সফটওয়্যার ব্যবহার করে। এই সফটওয়্যার চিহ্নগুলোকে স্ক্যান করে নিজের ডেটাবেজে থাকা বিভিন্ন অক্ষর, অঙ্ক ও চিহ্নের সঙ্গে মেলাতে চেষ্টা করে। কিন্তু ক্যাপচায় চিহ্নগুলো খুব এলোমেলোভাবে, আঁকাবাঁকা করে পেঁচিয়ে লেখা থাকে। তাই সফটওয়্যারের ডেটাবেজের তথ্য বা স্বাভাবিকভাবে এসব অক্ষর, অঙ্ক ও চিহ্ন যেভাবে লেখা হয়, তার সঙ্গে এগুলো মেলে না। ফলে কম্পিউটার বা রোবট এসব চিহ্ন পড়তে পারে না।

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

লেখক: সহসম্পাদক, বিজ্ঞানচিন্তা

সূত্র: বিবিসি ফোকাস