আপনি যখন Netflix, Spotify বা Amazon-এ সার্চ করেন তখন কী ঘটে?
আপনি কয়েকটি শব্দ টাইপ করেন। লক্ষ লক্ষ গণনা সম্পন্ন হয়।
প্রতিদিন কোটি কোটি মানুষ বিভিন্ন জিনিস সার্চ করেন।
- Netflix-এ Interstellar
- Spotify-এ Shape of You
- Amazon-এ Wireless Mouse
ফলাফলগুলো তাৎক্ষণিকভাবে চলে আসে। এটি খুব সহজ মনে হয়। কিন্তু সেই সার্চ বক্সের পেছনে একটি বিশাল ইঞ্জিনিয়ারিং সিস্টেম কাজ করে।
আধুনিক সার্চ শুধুমাত্র শব্দের মিল খোঁজার চেয়েও বেশি কিছু করে। এটি অর্থ বুঝতে পারে, উদ্দেশ্য অনুমান করতে পারে এবং মিলিসেকেন্ডের মধ্যে ফলাফলগুলোকে পার্সোনালাইজ (personalize) করে।
একটি সার্চ কুয়েরির যাত্রা এখানে দেওয়া হলো:
১. কুয়েরি প্রাক-প্রক্রিয়াকরণ (Query Preprocessing) সিস্টেম আপনার বাক্যটিকে ছোট ছোট অংশে বিভক্ত করে। এটি টেক্সট পরিষ্কার করে। এটি টাইপো (বানান ভুল) ঠিক করে এবং সমার্থক শব্দ প্রসারিত করে। আপনি যদি "sneakers" লিখে সার্চ করেন, সিস্টেম বুঝতে পারে আপনি "shoes" বোঝাতে চেয়েছেন।
২. ইনভার্টেড ইনডেক্স (The Inverted Index) Amazon-এ লক্ষ লক্ষ পণ্য রয়েছে। এটি প্রতিটি পণ্য একে একে পরীক্ষা করে না। তাতে অনেক সময় লেগে যাবে। পরিবর্তে, এটি একটি ইনভার্টেড ইনডেক্স ব্যবহার করে। এটি একটি পাঠ্যবইয়ের ইনডেক্সের মতো কাজ করে। এটি কিওয়ার্ডগুলোকে সরাসরি প্রোডাক্ট আইডি-র সাথে যুক্ত করে। এটি লক্ষ লক্ষ আইটেমকে মাত্র কয়েক হাজারে নামিয়ে আনে।
৩. সিম্যান্টিক সার্চ (Semantic Search) প্রথাগত সার্চ হুবহু শব্দ খোঁজে। আধুনিক সার্চ অর্থ খোঁজে। AI শব্দগুলোকে সংখ্যায় রূপান্তরিত করে যাকে embeddings বলা হয়।
এই গাণিতিক স্পেসে, "dog" থাকে "puppy"-র কাছাকাছি। "Laptop" থাকে "notebook"-এর কাছাকাছি। এমনকি শব্দগুলো না মিললেও, সিস্টেম সঠিক ফলাফলটি খুঁজে পায় কারণ তাদের অর্থ কাছাকাছি।
৪. র্যাঙ্কিং (Ranking) সিস্টেম প্রথমে মিল খুঁজে বের করে, তারপর সেগুলোকে র্যাঙ্ক করে। এটি নিচের সংকেতগুলো (signals) ব্যবহার করে:
- প্রাসঙ্গিকতা (Relevance)
- জনপ্রিয়তা (Popularity)
- রেটিং (Ratings)
- ক্রয়ের ইতিহাস (Purchase history)
- ডেলিভারি স্পিড (Delivery speed)
সর্বোচ্চ স্কোরগুলো সবার উপরে প্রদর্শিত হয়।
৫. পার্সোনালাইজেশন (Personalization) একই সার্চ বিভিন্ন মানুষের জন্য ভিন্ন ভিন্ন ফলাফল দেয়। আপনি যদি "shoes" লিখে সার্চ করেন এবং সাধারণত ফুটবল খেলার সরঞ্জাম কেনেন, তবে আপনি cleats দেখতে পাবেন। আপনি যদি "shoes" লিখে সার্চ করেন এবং ম্যারাথন দৌড়ান, তবে আপনি trainers দেখতে পাবেন। সিস্টেম আপনার ইতিহাস জানে।
৬. গতি এবং স্কেল (Speed and Scale) ল্যাটেন্সি (latency) কম রাখতে কোম্পানিগুলো ব্যবহার করে:
- ক্যাশিং (Caching)
- ডিস্ট্রিবিউটেড ডাটাবেস (Distributed databases)
- ভেক্টর ডাটাবেস (Vector databases)
- লোড ব্যালেন্সিং (Load balancing)
Pinecone বা Milvus-এর মতো ভেক্টর ডাটাবেসগুলো AI-কে টেক্সটের পরিবর্তে গণিতের মাধ্যমে সদৃশ আইটেম খুঁজে পেতে সাহায্য করে।
সার্চ এখন আর কেবল একটি সাধারণ ডাটাবেস কুয়েরি নয়। এটি AI, ডিস্ট্রিবিউটেড কম্পিউটিং এবং স্মার্ট অ্যালগরিদমের একটি মিশ্রণ।
ঐচ্ছিক লার্নিং কমিউনিটি: https://t.me/GyaanSetuAi
