ইন্টারনেট সার্চ ইঞ্জিন যেভাবে কাজ করে...!
ইন্টারনেটের সবচেয়ে ভালো দিক হলো যে এখানে তথ্যের কোন অভাব নেই। হাজার হাজার, লক্ষ লক্ষ থেকে শুরু করে কোটি কোটি ওয়েবপেইজ আপনি পাবেন ইন্টারনেটে যার প্রতিটিতেই রয়েছে কোন না কোন তথ্য। কিন্তু এর পাশাপাশি আরেকটি অন্যরকম দিকও রয়েছে আর যা হলো সেই তথ্যকে সঠিকভাবে খুঁজে বের করে না আনতে পারা। যখন আপনার কোন নির্দিষ্ট বিষয়ের উপরে জানার দরকার হয়ে পড়ে তখন আপনি কিভাবে সেই কাঙ্খিত বিষ্যটি বের করে আনবেন ইন্টারনেট থেকে? সেই কাজে সহায়তা করার জন্যই জন্ম নিয়েছে ইন্টারনেট সার্চ ইঞ্জিন। আসুন দেখা যাক ইন্টারনেট সার্চ ইঞ্জিন কিভাবে কাজ করে।
সবার আগে জেনে নেওয়া যাক ইন্টারনেট সার্চ ইঞ্জিন আসলে কী? ইন্টারনেট সার্চ ইঞ্জিন হলো ওয়েবে বিশেষ কিছু সাইট যা ডিজানই করা হয়েছে অন্যান্য সাইটে যে জন্য জমা আছে সেগুলোকে খুজে সেই পেইজটি আইডেন্টিফাই করা এবং ইউজারের সামনে নিয়ে আসা। সার্চ ইঞ্জিনগুলোর কাজের ধরনে বেশ কিছু তফাৎ থাকলেও প্রতিটি সার্চ ইঞ্জিনকেই বেসিক তিনটি জিনিস করতে হয়।
১. সার্চ ইঞ্জিনগুলো ইন্টারনেটে সার্চ করে থাকে – অথবা কখনো কখনো ইন্টারনেটের বিশেষ অংশে যেমন কেবলমাত্র বিশেষ কিছু ডমেইন নেমের ভিত্রে।
২. সার্চ ইঞ্জিনগুলো যেসব শব্দ খুজে পায় তার একটি ইন্ডেক্স নিজের কাছে জমা রাখে এবং কোথায় পেলো সেটিও সংরক্ষন করে থাকে।
৩. এরা ইউজারকে সেই শব্দ বা শব্দমালার কম্বিনেশনে সার্চ করার সুবিধা প্রদান করে থাকে।
আগের দিনে একটি সার্চ ইঞ্জিন হয়তো কয়েকহাজার পেইজ ও ডকুমেন্ট ইন্ডেক্স নিয়ে তৈরী হতো এবং সারা দিনে হয়তো এক কি দুই হাজার ইনকয়ারি পেতো। কিন্তু বর্তমান দিনে সার্চ ইঞ্জিনের ইন্ডেক্স সংখ্যা শত মিলিয়ন ছাড়িয়ে গেছে এবং কোয়ারির সংখ্যা প্রতিদিনের হিসাবে মিলিয়ন।
যখনই ইন্টারনেট সার্চ ইঞ্জিন শব্দটি বলা হয় তখন তার অর্থ করা হয় ওয়ার্ল্ড ওয়াইড ওয়েব সার্চ ইঞ্জিনের কথা। এমনকি যখন ইন্টারনেটে ওয়েব তত বিস্তৃতি লাভ করেনি তখনও সার্চ ইঞ্জিন ছিলো। এগুলো ছিলো প্রোগ্রামের মতো যেমন গোফার এবং আর্চি যেগুলো সার্ভারে যেসব ফাইল থাকতো তার ইন্ডেক্স জমা রাখতো যা ব্যবহার করে ইন্টারনেটে যেকোন প্রোগ্রাম ও ডকুমেন্ট খুজে বের করার সময় অনেক সাশ্রয় করা যেতো।১৯৮০ এর দশকের শেষের দিকে গোফার, আর্চি, ভেরোনিকা ইত্যাদি ব্যবহার করা খুব প্রচলিত একটি ইন্টারনেট অভ্যাসের ভিতরে ছিলো। আজকাল সার্চ করার কৌশন তখনকার দিক থেকে বেশ কিছুটা পাল্টে গেছে এবং এখন থেকে বেশ কিছুটা পাল্টে গেছে এবং এখন মূলত ওয়েব পেইজের কনটেন্ট কি তার উপরেই বেশী সার্চ করা হয়ে থাকে।
সার্চ ইঞ্জিনে সার্চ করলে আমরা কি দেখতে পাই? বেশ কিছু রেজাল্ট সম্বলিত ওয়েবপেইজের বা ওয়েব এ্যাড্রেসের ঠিকানা। কিন্তু আমরা যে বিষয়ে সার্চ করতে আগ্রহী তা পাওয়ার আগে নিশ্চয়ই সেটিকে খুজে বের করতে হয় হাজার হাজার, লক্ষ লক্ষ ওয়েব পেইজের ভিতর থেকে তথ্য খুজে বের করার জন্য সার্চ ইঞ্জিনগুলো কাজে লাগায় বিশেষ সফটওয়্যার রোবট যাদেরকে ডাকা হয় স্পাইডার নামে। এই স্পাইডারগুলো যা করে তা হচ্ছে ওয়েবসাইটে প্রাপ্ত শব্দগুলোর একটি লিস্ট তৈরি করে। যখন স্পাইডারগুলো এই লিস্ট তৈরী করে সেই প্রক্রিয়াকে বলা হয় ওয়েব ক্রলিং। কাজের একটি লিস্ট তৈরী করতে সার্চ ইঞ্জিন স্পাইডারগুলোকে প্রচুর ওয়েবপেইজে খোজার কাজটি করতে হয়।
কিভাবে একটি স্পাইডার ওয়েবে তার যাত্রা শুরু হবে? সাধারনত যেসব সার্ভার এবং যেসব পেইজ খুব বেশী মাত্রায় একসেস হয়ে থাকে সেগুলোকেই স্পাইডাররা তাদের মূল ও প্রথম টার্গেট করে। স্পাইডার প্রথমে একটি জনপ্রিয় সাইট থেকে শুরু করে এবং সেই পেইজের সব শব্দকে তার ইন্ডেক্সে এন্ট্রি করে, তার সাথে সাথে এটি যত লিঙ্ক আছে সেগুলোকেও অনুসরন করে। এভাবে আরম্ভ করে স্পাইডারগুলো সম্পূর্ণ ওয়ার্ল্ড ওয়াইড ওয়েবে তাদের সার্চ সম্পন্ন করে থাকে।
গুগল (www.google.com) নামের একটি জনপ্রিয় সার্চ ইঞ্জিনের কথা এখানে উল্লেখ করা যেতে পারে। এই সার্চ ইঞ্জিনটি মূলত যাত্রা শুরু করে একটি এ্যাকাডেমিক সার্চ ইঞ্জিন হিসাবে। তাদের স্পাইডারগুলো খুবই দুত কাজ করতে পারে। এই সার্চ ইঞ্জিনের স্রষ্টা দুইজন সার্গেই ব্রিন এবং লরেন্স পেইজ। তারা প্রথমে যে সিস্টেমটি তৈরী করে সেখানে একের অধিক স্পাইডার ব্যবহার করা হয়। প্রতিটি স্পাইডার এক সাথে ওপেন আছে এরকম ৩০০ কানেকশন ধরে রাখতে পারে। তাদের সর্বোচ্চ পারফর্মেন্সের সময়ে চারটি স্পাইডার সিস্টেমে ব্যবহার করে প্রতি সেকেন্ডে ১০০টি ওয়েব পেইজে ক্রল করে প্রতি সেকেন্ড ৬০০ কিলোবাইট ডাটা সংগ্রহ করে থাকে। সবকিছু খুব দ্রুত করার লক্ষে এমন একটি সিস্টেম ডিজাইন করা জরুরী যেটা স্পাইডারকে প্রয়োজনীয় তথ্য দ্রুত সরবরাহ করতে পারে। প্রথম দিকে গুগল সিস্টেমটিতে একটি সার্ভার থাকতো যেটি স্পাইডারগুলোকে ওয়েব ঠিকানা বা ইউআরএল প্রদান করতো। কিন্তু এতে ডিএনএস বা ডোমেইন নেম সার্ভারের জন্য নির্ভর করতে হতো কোন ইন্টারনেট সার্ভিস প্রোভাইডারের উপরে। এজন্য এখন গুগল নিজস্ব একটি ডিএনএস ব্যবহার করে সময় গ্যাপ আরো কমিয়ে এনেছে।
গুগলের স্পাইডার যখন একটি এইচটিএমএল ওয়েবপেইজ এ চোখ বোলায় তখন দুইটি জিনিসের নোট নেয়।
প্রথমত পেইজের ভিতরে যে শব্দগুলো আছে সেগুলো এবং কোথায় এই শব্দগুলো পাওয়া গেছে। একজন ইউজার যখন সার্চ করে থাকে তখন সার্চ ইঞ্জিন মূলত টাইটেল, সাবটাইটেল এবং মেটাট্যাগের মতো গুরুত্বপূর্ণ জায়াগায় প্রথমে শব্দগুলো সার্চ করে। গুগল স্পাইডারকে ডিজাইন করা হয়েছে যাতে প্রতিটি পেইজের কেবলমাত্র a, an, the, or ইত্যাদি শব্দ বাদ দিয়ে বাকি সব গুরুত্বপূর্ণ শব্দকে ইন্ডেক্স করে। তবে অন্যান্য স্পাইডার ভিন্ন পন্থায় কাজ করতে পারে।
ভিন্ন ভিন্ন সার্চ ইঞ্জিনের ভিন্ন ভিন্ন স্পাইডারের কাজের ভিন্ন পন্থার পেছনে মূল কারন হচ্ছে কত দ্রুত একটি সার্চ সম্পন্ন করা যায় সেই প্রচেষ্টা। কেউ কেউ ইউজারকে খুব নিখুত সার্চ রেজাল্ট দিতে প্রাধান্য দেয় আবার কেউ কেউ চায় দ্রুত সার্চ রেজাল্ট দেওয়া। লাইকস (www.lycos.com) ওয়েব সার্চ ইঞ্জিনটি অন্য একটি পন্থায় সার্চ করে। এগুলো হেডিং, সাবহেডিং, লিঙ্ক সহ পেইজের সবচেয়ে বেশী ব্যবহৃত ১০০টি শব্দকে গ্রহন করে এবং প্রথমে ২০ লাইন টেক্সট থেকে শব্দগুলো নেয়। আলতাভিস্তা (www.altavista.com) নামের সার্চ ইঞ্জিনটি আবার প্রতিটি পেইজের সব শব্দকেই ইন্ডেক্স করে। এমনকি a, an, the পর্যন্ত। তারপরে এগুলো মেটাট্যাগগুলোর উপরে তাদের সার্চ রেজাল্টের জোর দেয়।
মেটাট্যাগের কৌশল:
যখন একটি ওয়েবপেইজ কেউ তৈরী করে তখন মেটাট্যাগ নামের কোড অংশে ইউজার সাধারনত তার পেইজ এর কী-ওয়ার্ড বা প্রধান শব্দগুলো রেখে দেয় যার উপরে ভিত্তি করে সেগুলোকে পরে বাছাই করা যায়। মেটাট্যাগগুলোই সার্চ ইঞ্জিনকে পরিচালিত করে কোন ওয়েবপেইজটি কি সে সম্পর্কে। কখনো কখনো কোন কোন মেটাট্যাগ ওয়েব ডেভলপার এমন সব শব্দ নিয়ে দেয় যা তার কনটেন্টের সাথে সাদৃশ্যপূর্ন নয়। এক্ষেত্রে সার্চ ইঞ্জিনগুলো ওয়েবপেইজের সাথে মেটাট্যাগের শব্দগুলো মিলিয়ে দেখে থাকে। এর ফলে অপ্রয়োজনীয় মেটাট্যাগ কী-ওয়ার্ড স্পাইডার ইগনোর করে থাকে।
ইন্ডেক্স তৈরী করা:
যখনই একটি স্পাইডার কোন ওয়েবপেইজের তথ্য খুজে বের করার কাজটি সম্পন্ন করে তখন এটিকে জমা করার প্রয়োজন হয়। আসলে ইন্টারনেটের প্রকৃতি এমন যে এতে স্পাইডারগুলোর কাজ কখনোই শেষ হয় না, এগুলো সবসময়ই ক্রল করে নতুন ওয়েবপেইজ থেকে তথ্য বের করতে থাকে। তারপরেও যখন কিছু তথ্য জমা হয়ে যায় তখন তথ্যকে এমনভাবে জমা রাখতে হয় যাতে সেগুলো ভবিষ্যতে কাজের উপযোগীভাবে পাওয়া যায়। সাধারনত ইউজারকে জেনারেটেড ডাটা পাওয়ার জন্য দুইটি প্রসেস গুরুত্বপূর্ণ। এক হলো যে তথ্য জমা হয় তা, দুই হলো যে পদ্ধতিতে তথ্যকে ইন্ডেক্স করা হয় সেটি।
একদম সহজ ভাষায় চিন্তা করলে একটি সার্চ ইঞ্জিন ওয়েব ইউআরএল বা ঠিকানার সাথে শব্দগুলো জমা রাখতে পারে। কিন্তু এর ফলে সার্চ ইঞ্জিনের ব্যবহার সীমিত হয়ে যেত। এর ফলে জানা যাবে না যে শব্দগুলো বারবার খোঁজা হয়েছে কি না, সাইটটিতে আরো লিঙ্ক আছে কিনা ইত্যাদি। এর ফলে সহজেই একটি রেংকিং তৈরি করা যাবে যার ফলে সার্চ রেজাল্টগুলোকে সাজানো যায়। এ কারণে সার্চ রেজাল্টকে আরো অর্থপূর্ণ করতে এন্ট্রিগুলোকে নিজস্ব ওয়েট বা গুরুত্ব অনুসারে সাজানো হয়। যেসব শব্দগুলো ডকুমেন্টের শুরুতে থাকে বা মেটাট্যাগে থাকে তা রাখা হয় আগে। প্রতিটি কমার্সিয়াল সার্চ ইঞ্জিন তার নিজস্ব পন্থায় এই কাজটি করে থাকে। যত নিখুঁত কম্বিনেশনে এই তথ্য রাখা হোক না কেন সার্চ ইঞ্জিনগুলো সব ডাটাকেই জমা রাখার জন্য এনকোড করে থাকে যাতে জায়গা সাশ্রয় করা যায়। তথ্যকে কম্প্যাক্ট করার পরে তা ইন্ডেক্সের জন্য প্রস্তুত হয়। একটি ইন্ডেক্সের উদ্দেশ্য প্রধানত একটি, তা হলো তথ্যকে দ্রুত খুজে পাওয়া। অনেক উপায়েই ইন্ডেক্স তৈরি করা হয় যার ভিতরে একটি কার্যকর উপায় হলো হ্যাশ টেবিল তৈরি করা। হ্যাশিং পদ্ধতিতে একটি সূত্র ব্যবহার করে প্রতিটি শব্দকে সংখ্যা দিয়ে রিপ্রেজেন্ট করা হয়। এর ফলে এন্ট্রিকে নির্দিষ্ট সংখ্যক ভাগে ভাগ করা হয়। এই নিউম্যারিক্যাল ডিস্ট্রিবিউশন এ্যালফাবেটিক ডিস্ট্রিবিউশন থেকে আলাদা এবং এটাই হ্যাশ টেবিলের কার্যকরতার মূল। উদাহরণ স্বরূপ ইংরেজী ভাষায় এম অক্ষরের শব্দ সংখ্যা এক্স অক্ষরের শব্দ সংখ্যার চাইতে অনেক বেশী। এভাবে দেখা যায় কোন কোন শব্দের এন্ট্রি অনেক বেশী, আবার কোন কোন অক্ষরের এন্ট্রি অনেক কম। এই সমস্যাটিই হ্যাশ টেবিল সমাধান করে থাকে যেখানে ডিস্ট্রিবিউশন হয় সমান।
সার্চ গড়ে তোলা:
প্রথমে একজন ইউজারকে কোন বিষয়ে সার্চ করার জন্য একটি কোয়্যারি বা প্রশ্ন পাঠাতে হয় প্রশ্নটি একটি শব্দেরো হতেপারে যার মানে হলো সার্চ ইঞ্জিনকে প্রশ্ন করা সেই বিষয়ে কি জানে। আবার কোয়্যারি হতে পারে জটিল যার জন্য বুলিয়ান অপারেটর ব্যবহার করে সার্চ করা যেতে পারে। কিছু বুলিয়ান অপারেটর যেমনঃ
AND, OR, NOT, FOLLOWED BY, NEAR, Quotation Marks ইত্যাদি। এগুলো ব্যবহার করে সার্চ কোয়্যারিকে অনেক রিফাইন করা যায়। কোন কোন সার্চ ইঞ্জিনে বিল্টইন বুলিয়ান সাপোর্ট থাকে, কোন কোনটিতে আবার বুলিয়ান ইগনোর করে।
ভবিষ্যতের সার্চ:
যতই দিন যাচ্ছে ততই সার্চ ইঞ্জিন কৌশল আরো নিখুঁত হচ্ছে। এখনও অনেক সার্চ ইঞ্জিন যে সার্চ রেজাল্ট প্রদান করে থাকে তার ভিতরে প্রচুর রেজাল্ট পাবেন যা আপনার প্রয়োজনীয় বিষয়ের নয়। গবেষণা চলছে কিভাবে এই সীমাবদ্ধগুলো দূর করা যায়। একই শব্দের অনেকগুলো মানে থাকার কারনেও এই ধরনের বিপত্তি দেখা দেয় সার্চ করার সময়ে।
কনসেপ্ট বেইজড সার্চিং নামের একটি কৌশলের উপরে ভবিষ্যতে ওয়েবসার্চ জোর দেওয়া হবে বলে বিশেষজ্ঞরা মনে করছেন। এক্ষেত্রে স্ট্যাটিস্টিক্যাল এনালাইসিস প্রয়োগের কথা চিন্তা করা হচ্ছে যেসব ওয়েবপেইজ পাওয়া যাবে তার উপরে। যার ফলে সঠিক ওয়েবসাইট বের করার সম্ভাবনাকে আরো বাড়ানো যাবে। আরেকটি দল অবশ্য চেষ্টা চালাচ্ছে কিভাবে পারফর্মেন্স এবং রেজাল্ট একইসাথে বৃদ্ধি করা যায়। এছাড়া ন্যাচারাল-ল্যাঙ্গুয়েজ কোয়্যারী নামেও আরেকটি ক্ষেত্রে গবেষণা চলছে সার্চ ইঞ্জিন নিয়ে। এক্ষেত্রে আমরা সাধারনভাবে যেভাবে আরেকজনকে প্রশ্ন করি কোন বিষয় নিয়ে সেরকম কোয়্যারী দিয়ে সার্চ ইঞ্জিনকে ব্যবহার করার কথা চিন্তা করা হচ্ছে। এরকম একটি সার্চ ইঞ্জিন হলো www.askjeeves.com। ন্যাচারাল-ল্যাঙ্গুয়েজ কোয়্যারীর ফলে অনেক জটিল কোয়্যারীও সার্চ ইঞ্জিনকে দেওয়া সম্ভব।
গুরুত্বপূর্ণ কিছু সার্চ ইঞ্জিন:
Altavista www.altavista.com
Dogpile www.dogpile.com
Excite www.excite.com
Go www.go.com
Google www.google.com
HotBot www.hotbot.com
Looksmart www.looksmart.com
Lycos www.lycos.com
Mamma www.mamma.com
Web Crawler www.webcrawler.com
Yahoo www.yahoo.com
লেখকের নাম – সাদিক মোহাম্মদ আলম