ধরুন আপনার একটি এমবেডিং মডেল আছে। একজন ব্যবহারকারীকে প্রদত্ত, আপনি কোন আইটেমগুলি সুপারিশ করবেন তা কীভাবে সিদ্ধান্ত নেবেন?
পরিবেশনের সময়, একটি প্রশ্ন দেওয়া হলে, আপনি নিম্নলিখিতগুলির মধ্যে একটি করে শুরু করেন:
- একটি ম্যাট্রিক্স ফ্যাক্টরাইজেশন মডেলের জন্য, ক্যোয়ারী (বা ব্যবহারকারী) এমবেডিং স্ট্যাটিকভাবে পরিচিত, এবং সিস্টেমটি ব্যবহারকারীর এমবেডিং ম্যাট্রিক্স থেকে এটি দেখতে পারে।
- একটি DNN মডেলের জন্য, সিস্টেমটি বৈশিষ্ট্য ভেক্টর \(x\)এ নেটওয়ার্ক চালানোর মাধ্যমে সার্ভ টাইমে \(\psi(x)\)এম্বেডিং কোয়েরি গণনা করে।
একবার আপনার কাছে \(q\)এম্বেড করার ক্যোয়ারী হয়ে গেলে, এমবেডিং স্পেসে \(q\) এর কাছাকাছি আইটেম এমবেডিং\(V_j\) অনুসন্ধান করুন। এটি একটি নিকটতম প্রতিবেশী সমস্যা। উদাহরণস্বরূপ, আপনি সাদৃশ্য স্কোর \(s(q, V_j)\)অনুযায়ী শীর্ষ k আইটেমগুলি ফেরত দিতে পারেন।
আপনি সম্পর্কিত-আইটেম সুপারিশ একটি অনুরূপ পদ্ধতি ব্যবহার করতে পারেন. উদাহরণস্বরূপ, যখন ব্যবহারকারী একটি YouTube ভিডিও দেখছেন, সিস্টেমটি প্রথমে সেই আইটেমের এমবেডিং দেখতে পারে এবং তারপরে এমবেডিং স্পেসের কাছাকাছি থাকা অন্যান্য আইটেম\(V_j\) এর এমবেডিংগুলি সন্ধান করতে পারে৷
বড় মাপের পুনরুদ্ধার
এমবেডিং স্পেসের নিকটতম প্রতিবেশীদের গণনা করতে, সিস্টেমটি প্রতিটি সম্ভাব্য প্রার্থীকে সম্পূর্ণরূপে স্কোর করতে পারে। সম্পূর্ণ স্কোরিং খুব বড় কর্পোরার জন্য ব্যয়বহুল হতে পারে, তবে আপনি এটিকে আরও দক্ষ করার জন্য নিম্নলিখিত কৌশলগুলির যে কোনও একটি ব্যবহার করতে পারেন:
- যদি ক্যোয়ারী এমবেডিংটি স্থিরভাবে পরিচিত হয়, তবে সিস্টেমটি অফলাইনে সম্পূর্ণ স্কোরিং সম্পাদন করতে পারে, প্রতিটি প্রশ্নের জন্য শীর্ষ প্রার্থীদের একটি তালিকা প্রি-কম্পিউটিং এবং সংরক্ষণ করতে পারে। এটি সম্পর্কিত আইটেম সুপারিশ জন্য একটি সাধারণ অভ্যাস.
- আনুমানিক নিকটতম প্রতিবেশী ব্যবহার করুন.