টেক্সট এমবেডিংয়ের ব্যাখ্যা: এটি কীভাবে কাজ করে [+উদাহরণ]
এই গাইডে ব্যাখ্যা করা হয়েছে টেক্সট এমবেডিং কী, এটি কীভাবে টেক্সটকে অর্থ ধারণকারী ভেক্টরে রূপান্তর করে, এবং সার্চ, RAG ও অন্যান্য বাস্তব ব্যবহারের ক্ষেত্রে কীভাবে এমবেডিং মডেল বেছে নিতে, মূল্যায়ন করতে ও প্রয়োগ করতে হয়।

আপনি যদি টেক্সট এমবেডিংয়ের মৌলিক ধারণার সঙ্গে পরিচিত হন, কিন্তু ভাবছেন কীভাবে এগুলো কাজে লাগাবেন, তাহলে আপনি সঠিক জায়গায় এসেছেন। আমরা ভেক্টর, টোকেনাইজেশন ও সাদৃশ্য গণনা খুঁটিয়ে বিশ্লেষণ করব, এমবেডিং মডেল মূল্যায়নের গভীরে ঢুকব এবং বাস্তব জগতের ব্যবহারের উদাহরণ দেখাব।
টেক্সট এমবেডিং কী?
টেক্সট এমবেডিং হলো শব্দ, বাক্য বা ডকুমেন্টের সংখ্যাগত উপস্থাপন, যা এগুলোর অর্থগত তাৎপর্য ও পারস্পরিক সম্পর্ক ধারণ করে। এগুলো তৈরি করে এমবেডিং মডেল, যা টেক্সটকে ভেক্টরে রূপান্তর করে — অর্থাৎ সংখ্যার এমন অ্যারে, যা মেশিন লার্নিং অ্যালগরিদম প্রসেস ও তুলনা করতে পারে।
ML ইঞ্জিনিয়াররা টেক্সট এমবেডিং ব্যবহার করেন, যাতে সফটওয়্যার অ্যাপ্লিকেশনগুলো শব্দ ও বাক্যের মধ্যকার সম্পর্ক চিনতে পারে; এতে বিপুল পরিমাণ ডেটা অনুসন্ধান, শ্রেণিবদ্ধ ও বিশ্লেষণ করা সহজ হয়।
ধরুন, আপনার কাছে প্রতিদিন হাজার হাজার সাপোর্ট টিকিট আসে। গ্রাহকরা কল্পনাযোগ্য সব ধরনের সমস্যার কথা জানান, কিন্তু আপনাকে সেগুলো শ্রেণিবদ্ধ ও লেবেল করতে হবে। এই প্রক্রিয়া স্বয়ংক্রিয় করার একটি উপায় হলো প্রতিটি টিকিটকে ভেক্টরে রূপান্তর করতে একটি প্রি-ট্রেইনড টেক্সট এমবেডিং মডেল ব্যবহার করা।
উদাহরণস্বরূপ, দুজন গ্রাহক নিচের বার্তাগুলো পাঠালেন:
- “আমার সাবস্ক্রিপশনের জন্য দুবার চার্জ কাটা হয়েছে”: [0.21, -0.47, 0.83, ...]
- “আমার অ্যাকাউন্টে একটি ডুপ্লিকেট পেমেন্ট দেখা যাচ্ছে”: [0.19, -0.45, 0.80, ...]
এগুলো সরলীকৃত, দৃষ্টান্তমূলক ভেক্টর।
গ্রাহকরা ভিন্ন ভিন্ন শব্দ ব্যবহার করলেও তারা একই সমস্যার কথা বলছেন। এমবেডিং মডেল একটি গাণিতিক স্পেসে তাদের ভেক্টরগুলোকে কাছাকাছি স্থাপন করে এই সম্পর্কটি ধরে ফেলে। দুটি টিকিটই শ্রেণিবদ্ধ হয়ে বিলিং টিমের কাছে পাঠানো হয়।
ব্যবসায় টেক্সট এমবেডিংয়ের ব্যবহার
টেক্সট এমবেডিং বিভিন্ন ন্যাচারাল ল্যাঙ্গুয়েজ প্রসেসিং (NLP) কাজে ব্যবহৃত হয়, যার মধ্যে রয়েছে:
- সিমান্টিক সার্চ: অর্থের ভিত্তিতে প্রাসঙ্গিক তথ্য খুঁজে বের করা। মুদি পণ্যের গ্রাহকদের প্রাসঙ্গিক পণ্য খুঁজে পেতে সাহায্য করতে Delivery Hero কিওয়ার্ড সার্চের পাশাপাশি পণ্য ও কোয়েরি এমবেডিং ব্যবহার করে। উদাহরণস্বরূপ, “কম চর্বিযুক্ত দই” লিখে সার্চ করলে হুবহু শব্দ না মিললেও গ্রিক দই বা 0.5% চর্বিযুক্ত দই ফলাফলে আসতে পারে।
- টেক্সট ক্লাসিফিকেশন: টেক্সট শ্রেণিবদ্ধ করা, যেমন স্প্যাম ইমেইল শনাক্ত করা বা বিষয় অনুযায়ী ডকুমেন্ট সাজানো। MindCraft.ai একটি ডকুমেন্ট ক্লাসিফিকেশন সিস্টেম তৈরি করেছে, যা ট্রান্সফর্মার-ভিত্তিক টেক্সট এমবেডিং ও মেশিন লার্নিং ব্যবহার করে কর্পোরেট ডকুমেন্ট শ্রেণিবদ্ধ করে এবং GDPR কমপ্লায়েন্সের জন্য সংবেদনশীল তথ্য শনাক্ত করে।
- ক্লাস্টারিং: প্যাটার্ন শনাক্ত করতে একই ধরনের ডকুমেন্ট বা টেক্সটের অংশগুলোকে গ্রুপে ভাগ করা। Doczy.ai চুক্তির টেক্সটকে এমবেডিংয়ে রূপান্তর করে এবং অর্থগতভাবে সম্পর্কিত ধারা ও ধারণাগুলোকে একসঙ্গে গ্রুপ করে, এমনকি যখন ভিন্ন ভিন্ন চুক্তি একই ধরনের বাধ্যবাধকতা ভিন্ন শব্দে প্রকাশ করে তখনও।
- রিট্রিভাল-অগমেন্টেড জেনারেশন (RAG): প্রাসঙ্গিক তথ্য খুঁজে আনা, যা ব্যবহার করে একটি LLM আরও নির্ভুল ও প্রসঙ্গ-সচেতন উত্তর তৈরি করতে পারে। আন্তর্জাতিক বাজারগুলোতে গ্রাহকদের প্রশ্নের উত্তর তৈরি করার আগে প্রাসঙ্গিক সাপোর্ট ডকুমেন্টেশন খুঁজে আনতে Ring একটি বহুভাষিক RAG চ্যাটবটে Amazon Titan টেক্সট এমবেডিং ব্যবহার করে।
- রেকমেন্ডেশন সিস্টেম: টেক্সটের সাদৃশ্যের ভিত্তিতে সম্পর্কিত আর্টিকেল, পণ্য বা অন্যান্য কনটেন্টের পরামর্শ দেওয়া। চাকরির রেকমেন্ডেশন উন্নত করতে LinkedIn-এর JUDE সিস্টেম চাকরির বিবরণ ও সদস্য প্রোফাইলের LLM-উৎপন্ন টেক্সট এমবেডিং ব্যবহার করে, যা প্রার্থীদের পটভূমি ও খালি পদগুলোর মধ্যকার সম্পর্ক ধারণ করে।
- নেমড এনটিটি রিকগনিশন (NER): টেক্সটে থাকা ব্যক্তি, প্রতিষ্ঠান ও স্থানের নাম শনাক্ত ও শ্রেণিবদ্ধ করতে সাহায্য করা। Amazon Health Services গ্রাহকদের কোয়েরিতে রোগ, উপসর্গ, ওষুধ ও চিকিৎসার মতো চিকিৎসাবিষয়ক ধারণা শনাক্ত করতে NER ব্যবহার করে। এই বোঝাপড়াকে এটি এমবেডিং-ভিত্তিক সাদৃশ্য সার্চের সঙ্গে মিলিয়ে কোয়েরিগুলোকে প্রাসঙ্গিক স্বাস্থ্যসেবা পণ্য ও সেবার সঙ্গে যুক্ত করে।
- মেশিন ট্রান্সলেশন: বিভিন্ন ভাষার মধ্যে টেক্সট অনুবাদকারী মডেলকে সহায়তা করা। Transglot সিমান্টিক ট্রান্সলেশন মেমোরিতে টেক্সট এমবেডিং ব্যবহার করে আগে অনুবাদ করা একই অর্থের অনুচ্ছেদগুলো শনাক্ত করে, যা লোকালাইজেশন ওয়ার্কফ্লোতে বিদ্যমান অনুবাদ পুনরায় ব্যবহারে সাহায্য করে।
টেক্সট এমবেডিং কীভাবে কাজ করে?
তাহলে একটি এমবেডিং মডেল কীভাবে ঠিক করে যে টেক্সটের কোনো অংশকে কোন সংখ্যাগত মান দেওয়া হবে, আর কেনই বা আমরা এর ওপর ভরসা করব?
সবকিছুর শুরু ট্রেনিং থেকে। এমবেডিং মডেলগুলো বিশাল টেক্সট সংগ্রহ থেকে শেখে এবং শব্দগুলো কীভাবে একসঙ্গে ব্যবহৃত হয় তার প্যাটার্ন খোঁজে। উদাহরণস্বরূপ, Word2Vec-এর মতো প্রচলিত মডেলগুলো আশপাশের শব্দ থেকে একটি শব্দ, কিংবা উল্টোভাবে একটি শব্দ থেকে আশপাশের শব্দ অনুমান করে শেখে। আধুনিক রিট্রিভাল-কেন্দ্রিক মডেলগুলো প্রায়ই কনট্রাস্টিভ লার্নিং ব্যবহার করে। এগুলোকে এমনভাবে ট্রেইন করা হয়, যাতে অসম্পর্কিত কোয়েরি-ডকুমেন্ট জোড়ার চেয়ে প্রাসঙ্গিক জোড়াগুলো বেশি সাদৃশ্য স্কোর পায়।
মডেলটি ট্রেইন হয়ে যাওয়ার পর এতে নতুন কোনো টেক্সট দিলে যা ঘটে:
- টোকেনাইজেশন। মডেলটি প্রথমে টেক্সটকে টোকেন নামের ছোট ছোট অংশে ভাগ করে। এগুলো পুরো শব্দ, শব্দের অংশ বা যতিচিহ্ন হতে পারে। প্রতিটি টোকেন মডেলের শব্দভান্ডার থেকে একটি সংখ্যাগত ID পায়, যার নিজস্ব কোনো অর্থ নেই।
- এনকোডিং ও পুলিং। ট্রেনিংয়ের সময় শেখা প্যাটার্ন ব্যবহার করে মডেলটি এই টোকেনগুলো প্রসেস করে এবং একটি ভেক্টর তৈরি করে। ভেক্টরের প্রতিটি সংখ্যা হলো একটি কোঅর্ডিনেট বা কম্পোনেন্ট, আর একটি ডাইমেনশন হলো সেই অক্ষ, যার বরাবর ওই সংখ্যাটি ভেক্টরের অবস্থান নির্ধারণ করে। প্রতিটি মান একটি গাণিতিক স্পেসে টেক্সটের অবস্থান নির্ধারণে ভূমিকা রাখে, যা এমবেডিং স্পেস নামে পরিচিত।
- সাদৃশ্য গণনা। সম্পর্কিত টেক্সট খুঁজে পেতে একটি রিট্রিভাল সিস্টেম কোসাইন সাদৃশ্য বা ডট প্রোডাক্টের মতো সাদৃশ্য পরিমাপক ব্যবহার করে কোয়েরি এমবেডিংকে ডকুমেন্ট এমবেডিংয়ের সঙ্গে তুলনা করে।
উদাহরণস্বরূপ, অনলাইন স্টোরগুলো এভাবেই ব্যবহারকারীর কোয়েরির সঙ্গে মিলে যাওয়া পণ্য দেখায়।
শব্দ, বাক্য ও ডকুমেন্ট এমবেডিংয়ের মধ্যে পার্থক্য কী?
মূল পার্থক্য হলো, প্রতিটি এমবেডিং একটি একক ভেক্টরে কতখানি টেক্সট উপস্থাপন করে। আপনি কোন তথ্য ধারণ করতে চান তার ওপর নির্ভর করে আলাদা আলাদা শব্দ, সম্পূর্ণ বাক্য বা পুরো ডকুমেন্টের জন্য এমবেডিং তৈরি করতে পারেন।
- শব্দ এমবেডিং আলাদা আলাদা শব্দের মধ্যকার সম্পর্ক ধারণ করে এবং বুঝতে পারে যে “বিভ্রাট” ও “ডাউনটাইম” পরস্পর সম্পর্কিত ধারণা।
- বাক্য এমবেডিং পুরো বাক্যের অর্থ বোঝে, এমনকি যখন বাক্যগুলো একই ধারণা ভিন্ন শব্দে প্রকাশ করে তখনও।
- ডকুমেন্ট এমবেডিং প্রতিটি বাক্যের জন্য আলাদা ভেক্টর তৈরি না করে পুরো একটি ডকুমেন্টকে একটি ভেক্টর হিসেবে উপস্থাপন করে। এটি সাধারণ বিষয়বস্তু অক্ষুণ্ণ রাখতে এবং একই বিষয়ের অন্যান্য ডকুমেন্ট খুঁজে পেতে সাহায্য করে; তবে খুঁটিনাটি তথ্য খুঁজে আনা কঠিন (এমনকি অসম্ভবও) হতে পারে।
কতটা সূক্ষ্ম স্তরে যাওয়া উচিত? সঠিক স্তরটি নির্ভর করে আপনার ডেটা এবং আপনি কী অর্জন করতে চাইছেন তার ওপর।
বড় ডকুমেন্টের ক্ষেত্রে একটি প্রচলিত পদ্ধতি হলো টেক্সটকে ছোট ছোট চাঙ্কে ভাগ করা এবং প্রতিটির জন্য আলাদা এমবেডিং তৈরি করা। এভাবে আপনি ডকুমেন্টের সামগ্রিক অর্থ এবং নির্দিষ্ট খুঁটিনাটি — দুটোই পাবেন, যা ডকুমেন্ট এমবেডিংয়ে হারিয়ে যেতে পারে।
চাঙ্কের আকার এমবেডিংয়ের মানকে কতটা প্রভাবিত করে?
বেশ অনেকটাই। Rahul Kumar, যিনি Xenoss-এর AI ইঞ্জিনিয়ারিং বিভাগের VP, তাঁর মতে চ্যালেঞ্জটি হলো এমন একটি চাঙ্কের আকার খুঁজে বের করা, যা গুরুত্বপূর্ণ প্রসঙ্গ না হারিয়ে একটি সম্পূর্ণ ধারণা ধারণ করে। তিনি এই ট্রেড-অফটি ব্যাখ্যা করেছেন এভাবে:
“চাঙ্কের আকার ঠিক করে দেয় একটি এমবেডিং কতখানি অর্থগত প্রসঙ্গ বহন করবে। বড় চাঙ্ক ভেক্টরকে বেশি প্রসঙ্গ দেয়, কিন্তু একই সঙ্গে এটি আরও বেশি বিষয়কে গড় করে একটি ভেক্টরে মিশিয়ে ফেলে। তিনটি বিষয় নিয়ে গঠিত একটি চাঙ্ক মাঝামাঝি কোথাও গিয়ে পড়ে এবং কোনোটির সঙ্গেই ভালোভাবে মেলে না। ছোট চাঙ্ক অর্থকে সুস্পষ্ট রাখে, কিন্তু যে প্রসঙ্গের কারণে এটি খুঁজে পাওয়া যেত, সেটি হারিয়ে যেতে পারে।”
এ কারণেই Kumar একটি নির্দিষ্ট আকারে আটকে না থেকে কনটেন্টের ভিত্তিতে চাঙ্কিং কৌশল বেছে নেওয়ার পরামর্শ দেন। তাঁর ভাষায়, “ওভারল্যাপসহ নির্দিষ্ট আকারের চাঙ্কিং কেবল ইমেইল বা স্ক্র্যাপ করা ওয়েব পেজের মতো একই ধাঁচের টেক্সটের জন্যই উপযুক্ত।”
চুক্তি বা নীতিমালার মতো কাঠামোবদ্ধ ডকুমেন্টের জন্য রিকার্সিভ, কাঠামো-সচেতন বিভাজন বেশি উপযোগী। অন্যদিকে, ট্রান্সক্রিপ্টের ক্ষেত্রে সিমান্টিক চাঙ্কিং ভালো কাজ করতে পারে, কারণ এটি বিষয় বা অর্থ যেখানে বদলায় সেখানে টেক্সট ভাগ করে।
টেক্সট এমবেডিং বনাম কিওয়ার্ড সার্চ
শুধু কিওয়ার্ড দিয়েই যখন সার্চ করা যায়, তখন টেক্সট এমবেডিং কেন ব্যবহার করবেন? কারণ কিওয়ার্ড সার্চ শব্দ মেলানোর ওপর নির্ভর করে, আর এমবেডিং-ভিত্তিক সিমান্টিক সার্চ কোয়েরি ও ডকুমেন্টে ভিন্ন শব্দ ব্যবহার করা হলেও প্রাসঙ্গিক তথ্য খুঁজে আনতে পারে।
তবে অর্থগত সাদৃশ্য মানেই সবসময় প্রাসঙ্গিকতা নয়। AI Builder Academy-এর প্রতিষ্ঠাতা Shaw Talebi একটি রেজিউমে সার্চ সিস্টেমের মাধ্যমে এই সীমাবদ্ধতাটি দেখিয়েছেন। Talebi-র উদাহরণে, “Apache Airflow-এ অভিজ্ঞতাসম্পন্ন ডেটা ইঞ্জিনিয়ার” লিখে সার্চ করলে শীর্ষ পাঁচটি ফলাফলের মধ্যে মাত্র একটিতে Apache Airflow-এর উল্লেখ ছিল, আর সেটির অবস্থান ছিল তৃতীয় — যদিও ডেটাসেটের আরও তিনটি রেজিউমেতে ওই দক্ষতার উল্লেখ ছিল।
এর মানে, ধারণাগতভাবে সম্পর্কিত তথ্য খুঁজে পেতে সিমান্টিক সার্চ কার্যকর, কিন্তু এটি কারিগরি দক্ষতা, প্রোডাক্ট আইডেন্টিফায়ার বা এরর কোডের মতো সুনির্দিষ্ট শর্ত ধরতে ব্যর্থ হতে পারে।
এই সমস্যা সমাধানে Rahul Kumar পরামর্শ দেন, রিট্রিভাল সিস্টেমের ঘাটতি কোথায় তার ভিত্তিতে রিট্রিভাল পদ্ধতি বেছে নিতে:
- হাইব্রিড সার্চ (কিওয়ার্ড মেলানো ও সিমান্টিক সার্চের সমন্বয়) হলো ডিফল্ট পদ্ধতি, যখন কোয়েরিতে SKU, এরর কোড বা আইনি রেফারেন্সের মতো সুনির্দিষ্ট শব্দ থাকে।
- রির্যাঙ্কার তখনই খরচের যোগ্য, যখন কেবল শীর্ষ কয়েকটি ফলাফলই গুরুত্বপূর্ণ, যেমন খুঁজে আনা প্রসঙ্গ থেকে তৈরি উত্তর।
- গ্রাফ রিট্রিভাল সহায়ক হয়, যখন উত্তরটি একাধিক সংযুক্ত ডেটা সোর্সজুড়ে ছড়িয়ে থাকে।
Kumar আরও জানিয়েছেন, তাঁর টিম কীভাবে এই পদ্ধতিগুলো বাস্তবে প্রয়োগ করেছে। একটি প্রজেক্টে তারা BM25 কিওয়ার্ড সার্চ ও ভেক্টর সার্চ পাশাপাশি চালিয়েছে, রেসিপ্রোকাল র্যাঙ্ক ফিউশন (RRF) ব্যবহার করে ফলাফলগুলো একত্র করেছে এবং একটি LLM দিয়ে শীর্ষ 124টি ফলাফল রির্যাঙ্ক করে 6টিতে নামিয়ে এনেছে।
“গ্রাফ-ফার্স্ট রিট্রিভালে যাওয়ার ফলে — যেখানে ভেক্টর সার্চ একই ধরনের ল্যাটেন্ট স্পেস খুঁজে বের করে এবং তারপর দুই-হপের একটি গ্রাফ ওয়াক চালানো হয় — র্যাঙ্কিংয়ের মান (nDCG) 0.58 থেকে বেড়ে 0.67 হয়েছে এবং p90 রিট্রিভাল সময় 19 সেকেন্ড থেকে কমে 3 সেকেন্ডের নিচে নেমেছে,” যোগ করেন Kumar।
টেক্সট এমবেডিং মডেলের প্রকারভেদ
মোটা দাগে সব এমবেডিং মডেল একই কাজ করে — টেক্সটের মধ্যকার সম্পর্ক শেখে। তবে কোন কাজের জন্য সেগুলোকে ট্রেইন করা হয়েছে, কোন তথ্য বিবেচনায় নেয় এবং কোন ধরনের কাজ সামলানোর জন্য ডিজাইন করা হয়েছে, সেই অনুযায়ী এগুলোর মধ্যে পার্থক্য রয়েছে।
স্ট্যাটিক শব্দ এমবেডিং মডেল
প্রচলিত শব্দ এমবেডিং মডেলগুলো বিশাল টেক্সট সংগ্রহে শব্দ ব্যবহারের প্যাটার্নের ভিত্তিতে শব্দের ডেন্স সংখ্যাগত উপস্থাপন শেখে। এই এমবেডিংগুলো স্ট্যাটিক, অর্থাৎ নির্দিষ্ট কোনো প্রসঙ্গে শব্দটির অর্থ যা-ই হোক, প্রতিটি শব্দ একই ভেক্টর পায়।
দুটি সুপরিচিত পদ্ধতি হলো:
- Word2Vec: 2013 সালে Google-এর তৈরি এই পদ্ধতি দুটি আর্কিটেকচার ব্যবহার করে পার্শ্ববর্তী শব্দ থেকে উপস্থাপন শেখে: Continuous Bag of Words (CBOW), যা পার্শ্ববর্তী শব্দ থেকে একটি শব্দ অনুমান করে, এবং skip-gram, যা একটি নির্দিষ্ট শব্দ থেকে পার্শ্ববর্তী শব্দগুলো অনুমান করে।
- GloVe (Global Vectors for Word Representation): 2014 সালে Stanford-এ তৈরি এই পদ্ধতি শব্দগুলোর মধ্যকার সম্পর্ক শিখতে শব্দের সহ-উপস্থিতির (co-occurrence) পরিসংখ্যান ব্যবহার করে।
প্রসঙ্গনির্ভর ল্যাঙ্গুয়েজ মডেল
স্ট্যাটিক এমবেডিংয়ের বিপরীতে, সাধারণ উদ্দেশ্যের ল্যাঙ্গুয়েজ মডেলগুলো প্রসঙ্গনির্ভর উপস্থাপন তৈরি করে, যা আশপাশের টেক্সট অনুযায়ী বদলে যায়। এতে মডেলগুলো একই শব্দের ভিন্ন ভিন্ন অর্থের মধ্যে পার্থক্য করতে পারে।
- BERT (2018, Google): একটি টোকেনের দুই পাশের শব্দ বিবেচনা করতে বাইডিরেকশনাল সেলফ-অ্যাটেনশন ব্যবহার করে। উদাহরণস্বরূপ, “I deposited money at the bank” (আমি ব্যাংকে টাকা জমা দিলাম) এবং “I sat on the bank of a river” (আমি নদীর পাড়ে বসলাম) বাক্যে “bank” শব্দের জন্য এটি ভিন্ন ভিন্ন উপস্থাপন তৈরি করে।
- GPT (2018, OpenAI): ট্রান্সফর্মার-ভিত্তিক উপস্থাপন ব্যবহার করে, যা পরবর্তী টোকেন অনুমান করার সময় আগের টেক্সট বিবেচনায় নেয়। GPT মডেলগুলো মূলত ল্যাঙ্গুয়েজ জেনারেশনের জন্য ডিজাইন করা।
বাক্য ও ডকুমেন্ট এমবেডিং মডেল
একক বাক্য থেকে শুরু করে অনুচ্ছেদ ও পুরো ডকুমেন্ট পর্যন্ত দীর্ঘ টেক্সটকে ভেক্টর হিসেবে উপস্থাপন করে।
- Doc2Vec: Word2Vec-ধাঁচের শেখার পদ্ধতিকে বাক্য, অনুচ্ছেদ ও ডকুমেন্ট পর্যন্ত সম্প্রসারিত করে। এটি সম্পর্কিত আর্টিকেলগুলোকে গ্রুপ করতে বা বিষয় অনুযায়ী ডকুমেন্ট শ্রেণিবদ্ধ করতে সাহায্য করতে পারে।
- Universal Sentence Encoder (USE): অর্থগত সাদৃশ্য নির্ণয় ও টেক্সট ক্লাসিফিকেশনের জন্য বাক্য ও ছোট অনুচ্ছেদের নির্দিষ্ট দৈর্ঘ্যের উপস্থাপন তৈরি করতে 2018 সালে Google এটি তৈরি করে।
- Sentence-BERT (SBERT, 2019): Technical University Darmstadt-এ Nils Reimers ও Iryna Gurevych-এর তৈরি এই মডেল Google-এর BERT মডেলের ওপর ভিত্তি করে নির্মিত এবং সাধারণত সিমান্টিক সার্চ, প্যারাফ্রেজ শনাক্তকরণ ও ক্লাস্টারিংয়ে ব্যবহৃত হয়।
- pplx-embed-v1 (2026, Perplexity): বাস্তব জগতের ওয়েব-স্কেল রিট্রিভালের জন্য তৈরি একটি অত্যাধুনিক টেক্সট এমবেডিং মডেল। এই মডেল ফ্যামিলি ডিফিউশন-ভিত্তিক প্রি-ট্রেনিং ব্যবহার করে একটি কজাল ল্যাঙ্গুয়েজ মডেলকে বাইডিরেকশনাল এনকোডারে রূপান্তর করে। এটি স্বাধীনভাবে এনকোড করা কোয়েরি ও ডকুমেন্টের জন্য ডেন্স এমবেডিং তৈরি করে এবং স্টোরেজ খরচ কমাতে কোয়ান্টাইজেশন-সচেতন ট্রেনিং ব্যবহার করে। বহুভাষিক MTEB রিট্রিভাল বেঞ্চমার্কে আমাদের 4B INT8 মডেল 69.66 nDCG@10 অর্জন করেছে, যেখানে Google-এর gemini-embedding-001-এর স্কোর ছিল 67.71।
- pplx-embed-context-v1 (2026, Perplexity): ডকুমেন্ট চাঙ্কিংয়ের একটি সাধারণ সমস্যার সমাধান করে: আশপাশের টেক্সট থেকে আলাদা করা হলে অনুচ্ছেদগুলো তাদের অর্থ হারাতে পারে। লেট চাঙ্কিং ব্যবহার করে মডেলটি প্রথমে পুরো ডকুমেন্ট প্রসেস করে, তারপর প্রসঙ্গনির্ভর টোকেন উপস্থাপনগুলোকে পুল করে আলাদা আলাদা চাঙ্ক এমবেডিং তৈরি করে। ConTEB-তে আমাদের 4B মডেল 81.96 nDCG@10 অর্জন করেছে, যেখানে voyage-context-3-এর স্কোর ছিল 79.45।
- pplx-embed-v2-context (2026, Perplexity): প্রসঙ্গভিত্তিক রিট্রিভালকে আরও এক ধাপ এগিয়ে নেয়। শুধু উত্তর থাকা অনুচ্ছেদটি খুঁজে পাওয়ার জন্য ট্রেইন না হয়ে এটি এমন সহায়ক অনুচ্ছেদগুলো শনাক্ত করতে শেখে, যা সেই উত্তর ব্যাখ্যা বা যাচাই করতে সাহায্য করে। ট্রেনিংয়ের সময় মডেলটি একটি কনটেক্সট কম্প্রেশন মডেল থেকে ডিস্টিল করা প্রাসঙ্গিকতার সংকেত ব্যবহার করে, তবে ইনফারেন্সের সময় সেই টিচার মডেলের প্রয়োজন হয় না। context-bench-এ 10টি ফলাফলে আমাদের 9B প্রিভিউ 45.5% উত্তর রিকল এবং 40.6% প্রমাণ রিকল অর্জন করেছে।
Perplexity-এর মডেলগুলো বড় পরিসরে এমবেডিং সংরক্ষণের সুবিধাও দেয়। মডেলগুলো INT8 ও বাইনারি এমবেডিং তৈরি করে, যা FP32-এর তুলনায় স্টোরেজের প্রয়োজনীয়তা যথাক্রমে 4 গুণ ও 32 গুণ কমিয়ে দেয়।
মডেল | ডাইমেনশন | কনটেক্সট | MRL | কোয়ান্টাইজেশন | নির্দেশনা | পুলিং |
pplx-embed-v1-0.6B | 1024 | 32K | হ্যাঁ | INT8/BINARY | না | গড় |
pplx-embed-v1-4B | 2560 | 32K | হ্যাঁ | INT8/BINARY | না | গড় |
pplx-embed-context-v1-0.6B | 1024 | 32K | হ্যাঁ | INT8/BINARY | না | গড় |
pplx-embed-context-v1-4B | 2560 | 32K | হ্যাঁ | INT8/BINARY | না | গড় |
pplx-embed মডেলের ডাইমেনশন, কনটেক্সট দৈর্ঘ্য, কোয়ান্টাইজেশন ও পুলিং কনফিগারেশন
ডেন্স, স্পার্স ও মাল্টি-ভেক্টর এমবেডিং
আরও একটি পার্থক্য বোঝা জরুরি, বিশেষ করে সিমান্টিক সার্চের ক্ষেত্রে। এমবেডিং মডেলগুলো টেক্সট কীভাবে উপস্থাপন করে এবং প্রাসঙ্গিকতা হিসাব করে, তাতে পার্থক্য থাকতে পারে।
- ডেন্স এমবেডিং: কমপ্যাক্ট ভেক্টর ব্যবহার করে টেক্সট উপস্থাপন করে, যার বেশিরভাগ মানই শূন্য নয়।
- স্পার্স এমবেডিং: এমন ভেক্টর ব্যবহার করে যার বেশিরভাগ মানই শূন্য, আর গুরুত্বপূর্ণ শব্দগুলোর সঙ্গে শেখা ওয়েট যুক্ত থাকে। SPLADE (2021)-এর মতো মডেলগুলো শেখে, প্রাসঙ্গিক ডকুমেন্ট খুঁজে আনার জন্য কোন শব্দগুলো গুরুত্বপূর্ণ।
- মাল্টি-ভেক্টর এমবেডিং: টেক্সটের একটি অংশের জন্য একাধিক ভেক্টর ধরে রাখে, ফলে কোয়েরি ও ডকুমেন্টের মধ্যে আরও বিস্তারিত তুলনা করা যায়। ColBERT (2020)-এর মতো মডেলগুলো কোয়েরি-ডকুমেন্টের আরও বিস্তারিত তুলনার জন্য এই উপস্থাপন ব্যবহার করে।
- একাধিক পদ্ধতির সমন্বয়ে তৈরি মডেল: BAAI-এর তৈরি BGE-M3 (2024) একই মডেলে ডেন্স, স্পার্স ও মাল্টি-ভেক্টর রিট্রিভাল সমর্থন করে।
কীভাবে টেক্সট এমবেডিং মডেল বেছে নেবেন ও মূল্যায়ন করবেন
MTEB-এর মতো পাবলিক বেঞ্চমার্ক দিয়ে শুরু করা ভালো। আপনার ভাষা, ইনপুটের দৈর্ঘ্য ও ডিপ্লয়মেন্টের প্রয়োজনীয়তা সমর্থন করে এমন দুই-তিনটি মডেলের সংক্ষিপ্ত তালিকা তৈরি করতে এগুলো ব্যবহার করুন। তবে এখনই বিজয়ী বেছে নেবেন না। নিজের ডেটায় ওই মডেলগুলো পরীক্ষা করার গুরুত্ব আমরা যতই জোর দিয়ে বলি, তা কম হবে।
নিচে একটি ব্যবহারিক মূল্যায়ন ওয়ার্কফ্লো দেওয়া হলো:
- একটি টেস্ট ডেটাসেট তৈরি করুন। প্রাথমিক মূল্যায়ন সেট হিসেবে 50-100টি প্রতিনিধিত্বমূলক সার্চ কোয়েরি সংগ্রহ করুন (আরও বেশি লাগতে পারে), যার মধ্যে প্যারাফ্রেজ, কারিগরি পরিভাষা ও হুবহু এরর কোডের মতো জটিল কেসও থাকবে। প্রতিটি কোয়েরির জন্য কোন ডকুমেন্ট বা অনুচ্ছেদে প্রাসঙ্গিক উত্তর আছে তা চিহ্নিত করুন। এই প্রাসঙ্গিকতার লেবেলগুলোই হবে আপনার গ্রাউন্ড ট্রুথ।
- রিট্রিভালের মান পরিমাপ করুন। প্রতিটি মডেলকে একই মূল্যায়ন ডেটাসেটে পরীক্ষা করুন; ডকুমেন্ট প্রস্তুতি ও রিট্রিভালের শর্তগুলো তুলনীয় রাখুন, তবে কোয়েরি ফরম্যাটিং, নরমালাইজেশন এবং সাদৃশ্য স্কোরিংয়ের ক্ষেত্রে মডেল-নির্দিষ্ট প্রয়োজনীয়তাগুলো মেনে চলুন। এরপর Sentence Transformers-এর InformationRetrievalEvaluator ব্যবহার করে নিচের মেট্রিকগুলো হিসাব করুন:
- Recall@k: প্রাসঙ্গিক প্যাসেজগুলোর কত অনুপাত শীর্ষ kটি ফলাফলে উপস্থিত থাকে, তা দেখায়।
- MRR: প্রথম প্রাসঙ্গিক ফলাফলটি র্যাংকিংয়ে কতটা ওপরে আসে, তা পরিমাপ করে।
- nDCG@k: শীর্ষ kটি ফলাফল প্রাসঙ্গিকতার ভিত্তিতে কতটা ভালোভাবে র্যাংক করা হয়েছে, তা পরিমাপ করে।
- ল্যাটেন্সি ও থ্রুপুট বেঞ্চমার্ক করুন। প্রতিটি মডেল একটি কোয়েরি এমবেড করতে কত সময় নেয় তা পরিমাপ করুন; আদর্শভাবে বাস্তবসম্মত লোডে মিডিয়ান (p50) ও ৯৫তম পার্সেন্টাইল (p95) ল্যাটেন্সি উল্লেখ করুন।
- স্টোরেজ ও পরিচালন খরচ হিসাব করুন। ভেক্টর স্টোরেজ নির্ভর করে এমবেডিংয়ের সংখ্যা, সেগুলোর ডাইমেনশন এবং সংখ্যাগত প্রিসিশনের ওপর। উদাহরণস্বরূপ, ১০ লাখ ৭৬৮-ডাইমেনশনাল FP32 এমবেডিংয়ের জন্য ইনডেক্সিং ওভারহেড বাদে শুধু ভেক্টর সংরক্ষণেই প্রায় ৩.১ জিবি স্টোরেজ লাগে। স্টোরেজের চাহিদা কমাতে আপনি ভেক্টরগুলোকে কম সংখ্যাগত প্রিসিশনে কোয়ান্টাইজ করতে পারেন। যেমন, FP32 থেকে INT8-এ গেলে কাঁচা ভেক্টর স্টোরেজ মোটামুটি চার ভাগের এক ভাগে নেমে আসে। তবে কম্প্রেশন রিট্রিভালের মানকে প্রভাবিত করতে পারে, তাই এই ট্রেড-অফ যাচাই করতে আবার মূল্যায়ন চালান।
সবশেষে, ফলাফলগুলো পাশাপাশি তুলনা করুন: রিট্রিভাল মেট্রিক, p95 ল্যাটেন্সি, থ্রুপুট, স্টোরেজ এবং খরচ। এমন মডেল বেছে নিন, যা আপনার প্রোডাকশনের সীমাবদ্ধতার মধ্যে থেকেই মানের প্রয়োজনীয়তা পূরণ করে।
কখন LLM-এর বদলে এমবেডিং ব্যবহার করবেন?
ডকুমেন্ট বিশ্লেষণ থেকে শুরু করে জটিল যুক্তিনির্ভর কাজ পর্যন্ত সবকিছুই যখন LLM সামলাচ্ছে, তখন সব টেক্সট একটি মডেলের হাতে তুলে দিয়ে বাকিটা তার ওপর ছেড়ে দেওয়ার লোভ সামলানো কঠিন। কিন্তু এর জন্য যে খরচ গুনতে হবে, তাতে আপনি সম্ভবত খুশি হবেন না।
তা ছাড়া, LLM বিচার-বিশ্লেষণ ও লেখা তৈরিতে বেশি দক্ষ, তবে একটি প্রম্পটে কতটা তথ্য ধরানো যায়, সেটিই তার সীমা। অন্যদিকে এমবেডিং সস্তা, দ্রুত ও সামঞ্জস্যপূর্ণ, এবং লাখ লাখ আইটেম নিয়ে কাজ করতে পারে।
“সার্চ, রেকমেন্ডেশন (‘এ রকম আরও’), বারবার আসা সাপোর্ট টিকিটের মতো ডুপ্লিকেট শনাক্ত করা এবং বিপুল পরিমাণ কনটেন্টকে বিষয় অনুযায়ী গুচ্ছবদ্ধ করার ক্ষেত্রে এমবেডিং এগিয়ে। বিভিন্ন ভাষাতেও এগুলো ভালো কাজ করে। আর যখন কাজের জন্য যুক্তি প্রয়োগ দরকার হয় — যেমন সারসংক্ষেপ তৈরি, বিকল্পগুলোর তুলনা বা উত্তর লেখা — তখন LLM এগিয়ে থাকে। বাস্তবের বেশির ভাগ সিস্টেমেই দুটোই দরকার হয়, আর প্রতিটি সেই অংশটুকুর দায়িত্ব নেয়, যেটিতে সে দক্ষ,” উপসংহারে বলেন কুমার।
টেক্সট এমবেডিং নিয়ে ডেভেলপাররা যেসব ভুল করেন
ডেভেলপাররা সাধারণত কোন বিষয়গুলো উপেক্ষা করেন, তা জানতে আমি রাহুল কুমার এবং Xibeijia Guan-এর সঙ্গে কথা বলেছি, যিনি Ahrefs-এর একজন ডেটা সায়েন্টিস্ট। তাঁরা ছয়টি ভুলের কথা তুলে ধরেছেন, যেগুলোর ব্যাপারে সতর্ক থাকা উচিত:
- টেক্সট প্রিপ্রসেসিং বাদ দেওয়া। ইনপুট ডেটায় HTML, নেভিগেশন মেনু, বিজ্ঞাপন বা অন্য অপ্রাসঙ্গিক কনটেন্ট থাকলে বয়লারপ্লেট অপসারণের মতো প্রিপ্রসেসিং ধাপ অপ্রয়োজনীয় তথ্য সরিয়ে এমবেডিংয়ের মান উন্নত করতে সাহায্য করতে পারে।
- মডেলের সর্বোচ্চ ইনপুট দৈর্ঘ্য উপেক্ষা করা। বিভিন্ন মডেলের টোকেন সীমা ও ট্রাঙ্কেশন আচরণ আলাদা। সীমা ছাড়িয়ে যাওয়া টেক্সট কেটে ফেলা হতে পারে, ফলে গুরুত্বপূর্ণ তথ্য হারিয়ে যেতে পারে।
- মডেল-নির্দিষ্ট প্রয়োজনীয়তা না মানা। কিছু এমবেডিং মডেলের জন্য query: ও passage:-এর মতো নির্দিষ্ট প্রিফিক্স, কিংবা ভিন্ন ভিন্ন কাজের জন্য ভিন্ন নির্দেশনা প্রয়োজন হয়। এসব প্রয়োজনীয়তা না মানলে রিট্রিভালের পারফরম্যান্স কমে যেতে পারে।
- অসামঞ্জস্যপূর্ণ সাদৃশ্য পরিমাপ ব্যবহার করা। কোসাইন সিমিলারিটি ও ডট প্রোডাক্ট সব সময় পরস্পরের বিকল্প নয়। এমবেডিংগুলো নরমালাইজ করা কি না তা যাচাই করুন, এবং মডেল ও ভেক্টর ইনডেক্সের জন্য সুপারিশকৃত স্কোরিং পদ্ধতি ব্যবহার করুন।
- বিষয়গত সাদৃশ্যকে প্রাসঙ্গিকতা ভেবে ভুল করা। সংকীর্ণ ডোমেইনের সংগ্রহে অনেক ডকুমেন্ট অর্থগতভাবে একই রকম হতে পারে, অথচ সেগুলো একই প্রশ্নের উত্তর দেয় না। ব্যর্থ কোয়েরি এবং র্যাংকিং ডিস্ট্রিবিউশন খতিয়ে দেখুন। ব্যবহারকারীদের যখন সুনির্দিষ্ট তথ্য দরকার, তখন লেক্সিক্যাল বা হাইব্রিড রিট্রিভাল, রির্যাংকিং এবং মেটাডেটা ফিল্টার পরীক্ষা করে দেখুন।
- এমবেডিং নরমালাইজেশন উপেক্ষা করা। বিভিন্ন এমবেডিং মডেল নরমালাইজড বা আননরমালাইজড ভেক্টর আউটপুট দিতে পারে। আপনি কোন সাদৃশ্য মেট্রিক ব্যবহার করছেন তার ওপর নির্ভর করে, এমবেডিংগুলো নরমালাইজ করা কি না এবং বাড়তি নরমালাইজেশন প্রয়োজন কি না, তা যাচাই করুন।
টেক্সট এমবেডিং নিয়ে সচরাচর জিজ্ঞাসিত প্রশ্ন
১. কীভাবে টেক্সট এমবেডিং তৈরি করব?
সবচেয়ে সহজ উপায় হলো একটি প্রি-ট্রেইনড এমবেডিং মডেল ব্যবহার করা। উদাহরণস্বরূপ, Python-এর Sentence Transformers লাইব্রেরি দিয়ে আপনি all-MiniLM-L6-v2-এর মতো একটি মডেল লোড করতে পারেন, আপনার টেক্সট model.encode()-এ পাঠাতে পারেন এবং বিনিময়ে একটি সংখ্যাসূচক ভেক্টর পেতে পারেন। বিকল্পভাবে, API-এর মাধ্যমেও এমবেডিং তৈরি করা যায়।
সিমান্টিক সার্চ বা RAG-এর জন্য সাধারণত আপনি ডকুমেন্টগুলোকে ছোট ছোট অংশে (চাঙ্ক) ভাগ করবেন, প্রতিটির জন্য একটি এমবেডিং তৈরি করবেন এবং ভেক্টরগুলো একটি সার্চযোগ্য ইনডেক্সে সংরক্ষণ করবেন।
২. টেক্সটের জন্য সেরা এমবেডিং মডেল কোনগুলো?
আপনি কী তৈরি করছেন তার ওপর নির্ভর করে বেশ কয়েকটি মডেল বিবেচনা করে দেখতে পারেন:
- Perplexity-এর pplx-embed-v1: বড় পরিসরের ডেন্স রিট্রিভালের জন্য তৈরি; এতে INT8 ও বাইনারি এমবেডিং রয়েছে, যা ভেক্টর স্টোরেজের চাহিদা কমায়।
- Perplexity-এর pplx-embed-context-v1: দীর্ঘ ডকুমেন্ট থেকে প্যাসেজ খুঁজে আনার জন্য উপযোগী, যেখানে আশপাশের প্রসঙ্গ ছাড়া আলাদা আলাদা চাঙ্ক তাদের অর্থ হারিয়ে ফেলে।
- all-MiniLM-L6-v2: হালকা, লোকাল সিমান্টিক সার্চ, ক্লাস্টারিং এবং বাক্যের সাদৃশ্য নির্ণয়ের কাজে ভালো। এটি কমপ্যাক্ট ৩৮৪-ডাইমেনশনাল ভেক্টর তৈরি করে, তবে ২৫৬ ওয়ার্ড পিসের চেয়ে দীর্ঘ ইনপুট কেটে ফেলে।
- BGE-M3: বহুভাষিক RAG ও হাইব্রিড রিট্রিভালের জন্য উপযোগী। ১০০টিরও বেশি ভাষা সমর্থন করে এবং ডেন্স, স্পার্স ও মাল্টি-ভেক্টর রিপ্রেজেন্টেশন একসঙ্গে ব্যবহার করে।
- Qwen3-Embedding: বহুভাষিক সার্চ, কোড রিট্রিভাল এবং কাজভিত্তিক এমবেডিংয়ের জন্য একটি শক্তিশালী বিকল্প। নির্দেশনা সমর্থনসহ ওপেন-ওয়েট 0.6B, 4B ও 8B মডেল রয়েছে।
- OpenAI-এর text-embedding-3-large: নিজে মডেল হোস্ট করতে না চাইলে সিমান্টিক সার্চ ও ডকুমেন্ট রিট্রিভালের জন্য একটি API-ভিত্তিক বিকল্প। সর্বোচ্চ ৩,০৭২ ডাইমেনশন সমর্থন করে, যা স্টোরেজ বাঁচাতে কমিয়ে আনা যায়।
- Google-এর Gemini Embedding মডেল: ম্যানেজড রিট্রিভাল অ্যাপ্লিকেশনের জন্য উপযোগী। Gemini Embedding 2 একটি শেয়ার্ড এমবেডিং স্পেসে টেক্সট, ছবি, অডিও, ভিডিও এবং PDF জুড়ে সার্চ করাও সমর্থন করে।
৩. LLM-কে কি এমবেডিং মডেল হিসেবে ব্যবহার করা যায়?
হ্যাঁ, তবে সাধারণ কাজের জন্য তৈরি LLM এবং এমবেডিংয়ের জন্য অপ্টিমাইজ করা LLM-এর মধ্যে পার্থক্য আছে। LLM টেক্সটের অভ্যন্তরীণ ভেক্টর রিপ্রেজেন্টেশন তৈরি করে, যা আপনি বের করে এনে পুলিংয়ের মাধ্যমে একটি একক এমবেডিংয়ে পরিণত করতে পারেন। তবে বাড়তি প্রশিক্ষণ ছাড়া এসব ভেক্টর সিমান্টিক সার্চের জন্য সব সময় কাজে লাগে না।
উদাহরণস্বরূপ, Qwen3-Embedding একটি LLM ব্যাকবোন ব্যবহার করে, যাকে এমবেডিং ও রিট্রিভালের কাজের জন্য আরও প্রশিক্ষণ দেওয়া হয়েছে। তাই LLM-কে এমবেডিং তৈরির উপযোগী করে নেওয়া গেলেও, শুরু করার জন্য সাধারণত একটি ডেডিকেটেড এমবেডিং মডেলই বেশি বাস্তবসম্মত।