বিষয়বস্তু-ভিত্তিক ফিল্টারিংয়ের কিছু সীমাবদ্ধতা মোকাবেলা করার জন্য, সহযোগী ফিল্টারিং সুপারিশ প্রদান করতে একই সাথে ব্যবহারকারী এবং আইটেমের মধ্যে মিল ব্যবহার করে। এটি নির্মল সুপারিশের জন্য অনুমতি দেয়; অর্থাৎ, সহযোগী ফিল্টারিং মডেলগুলি অনুরূপ ব্যবহারকারী B এর আগ্রহের উপর ভিত্তি করে ব্যবহারকারী A কে একটি আইটেম সুপারিশ করতে পারে। উপরন্তু, বৈশিষ্ট্যগুলির হ্যান্ড-ইঞ্জিনিয়ারিং-এর উপর নির্ভর না করে এম্বেডিংগুলি স্বয়ংক্রিয়ভাবে শেখা যেতে পারে।
সিনেমা সুপারিশ উদাহরণ
একটি চলচ্চিত্র সুপারিশ ব্যবস্থা বিবেচনা করুন যেখানে প্রশিক্ষণের ডেটাতে একটি প্রতিক্রিয়া ম্যাট্রিক্স থাকে যার মধ্যে:
- প্রতিটি সারি একটি ব্যবহারকারীর প্রতিনিধিত্ব করে।
- প্রতিটি কলাম একটি আইটেম (একটি চলচ্চিত্র) প্রতিনিধিত্ব করে।
চলচ্চিত্র সম্পর্কে প্রতিক্রিয়া দুটি বিভাগের একটিতে পড়ে:
- সুস্পষ্ট — ব্যবহারকারীরা একটি সংখ্যাসূচক রেটিং প্রদান করে একটি নির্দিষ্ট চলচ্চিত্রকে কতটা পছন্দ করেছে তা নির্দিষ্ট করে।
- অন্তর্নিহিত — যদি একজন ব্যবহারকারী একটি চলচ্চিত্র দেখেন, সিস্টেমটি অনুমান করে যে ব্যবহারকারী আগ্রহী।
সহজ করার জন্য, আমরা ধরে নেব যে ফিডব্যাক ম্যাট্রিক্স বাইনারি; অর্থাৎ, 1 এর মান মুভিতে আগ্রহ নির্দেশ করে।
যখন একজন ব্যবহারকারী হোমপেজে যান, তখন সিস্টেমের উচিত উভয়ের উপর ভিত্তি করে চলচ্চিত্রের সুপারিশ করা:
- ব্যবহারকারী অতীতে পছন্দ করেছেন সিনেমার সাথে মিল
- একই ধরনের ব্যবহারকারীদের পছন্দ করা সিনেমা
দৃষ্টান্তের খাতিরে, আসুন নিম্নলিখিত সারণীতে বর্ণিত চলচ্চিত্রগুলির জন্য কিছু বৈশিষ্ট্য হ্যান্ড-ইঞ্জিনিয়ার করি:
সিনেমা | রেটিং | বর্ণনা |
---|---|---|
দ্য ডার্ক নাইট রাইজেস | PG-13 | ডিসি কমিকস মহাবিশ্বে স্থাপিত দ্য ডার্ক নাইট -এর এই সিক্যুয়ালে ব্যাটম্যান গথাম সিটিকে পারমাণবিক ধ্বংসের হাত থেকে বাঁচানোর চেষ্টা করে। |
হ্যারি পটার এবং জাদুকর পাথর | পিজি | একটি অনাথ ছেলে আবিষ্কার করে যে সে একজন জাদুকর এবং হগওয়ার্টস স্কুল অফ উইচক্র্যাফ্ট অ্যান্ড উইজার্ডিতে ভর্তি হয়, যেখানে সে দুষ্ট লর্ড ভলডেমর্টের বিরুদ্ধে তার প্রথম যুদ্ধ চালায়। |
শ্রেক | পিজি | একটি প্রেমময় ওগ্রে এবং তার গাধা সাইডকিক প্রিন্সেস ফিওনাকে উদ্ধার করার জন্য একটি মিশনে রওনা হয়েছিল, যিনি একটি ড্রাগন দ্বারা তার দুর্গে বন্দী ছিলেন। |
বেলেভিলের ট্রিপলেট | PG-13 | ট্যুর ডি ফ্রান্সের সময় পেশাদার সাইক্লার চ্যাম্পিয়নকে অপহরণ করা হলে, তার দাদী এবং অতিরিক্ত ওজনের কুকুর তাকে উদ্ধার করতে বিদেশে যাত্রা করে, ত্রয়ী বয়স্ক জ্যাজ গায়কদের সহায়তায়। |
স্মৃতিচিহ্ন | আর | একজন অ্যামনেসিয়াক মরিয়া হয়ে তার স্ত্রীর হত্যার সমাধান করতে চায় তার শরীরে আলামত আঁকার মাধ্যমে। |
1D এম্বেডিং
ধরুন আমরা প্রতিটি মুভিকে \([-1, 1]\) এ একটি স্কেলার বরাদ্দ করি যা বর্ণনা করে যে সিনেমাটি শিশুদের জন্য (নেতিবাচক মান) নাকি প্রাপ্তবয়স্কদের (ইতিবাচক মান)। ধরুন আমরা \([-1, 1]\) এ প্রতিটি ব্যবহারকারীকে একটি স্কেলার বরাদ্দ করি যা শিশুদের চলচ্চিত্র (-1-এর কাছাকাছি) বা প্রাপ্তবয়স্ক চলচ্চিত্র (+1-এর কাছাকাছি) প্রতি ব্যবহারকারীর আগ্রহ বর্ণনা করে। মুভি এম্বেডিং এবং ইউজার এম্বেডিং এর প্রোডাক্ট উচ্চতর হওয়া উচিত (1 এর কাছাকাছি) এমন মুভিগুলির জন্য যা আমরা ব্যবহারকারীর পছন্দ করবে।
নীচের চিত্রে, প্রতিটি চেকমার্ক একটি চলচ্চিত্র সনাক্ত করে যা একটি নির্দিষ্ট ব্যবহারকারী দেখেছেন৷ তৃতীয় এবং চতুর্থ ব্যবহারকারীর পছন্দ রয়েছে যা এই বৈশিষ্ট্য দ্বারা ভালভাবে ব্যাখ্যা করা হয়েছে—তৃতীয় ব্যবহারকারী শিশুদের জন্য চলচ্চিত্র পছন্দ করেন এবং চতুর্থ ব্যবহারকারী প্রাপ্তবয়স্কদের জন্য চলচ্চিত্র পছন্দ করেন। যাইহোক, প্রথম এবং দ্বিতীয় ব্যবহারকারীদের পছন্দ এই একক বৈশিষ্ট্য দ্বারা ভালভাবে ব্যাখ্যা করা হয় না।
2D এম্বেডিং
সমস্ত ব্যবহারকারীর পছন্দ ব্যাখ্যা করার জন্য একটি বৈশিষ্ট্য যথেষ্ট ছিল না। এই সমস্যাটি কাটিয়ে ওঠার জন্য, আসুন একটি দ্বিতীয় বৈশিষ্ট্য যোগ করা যাক: প্রতিটি মুভি ব্লকবাস্টার বা একটি আর্টহাউস মুভি। একটি দ্বিতীয় বৈশিষ্ট্য সহ, আমরা এখন নিম্নলিখিত দ্বি-মাত্রিক এম্বেডিং সহ প্রতিটি চলচ্চিত্রকে উপস্থাপন করতে পারি:
ফিডব্যাক ম্যাট্রিক্সকে সর্বোত্তমভাবে ব্যাখ্যা করার জন্য আমরা আবার আমাদের ব্যবহারকারীদের একই এম্বেডিং স্পেসে রাখি: প্রতিটি (ব্যবহারকারী, আইটেম) জোড়ার জন্য, আমরা ব্যবহারকারীর এম্বেডিংয়ের ডট প্রোডাক্ট এবং আইটেম এমবেডিং 1 এর কাছাকাছি হতে চাই যখন ব্যবহারকারী এটি দেখেন সিনেমা, এবং অন্যথায় 0.
এই উদাহরণে, আমরা এম্বেডিংগুলি হ্যান্ড-ইঞ্জিনিয়ার করেছি৷ অনুশীলনে, এমবেডিংগুলি স্বয়ংক্রিয়ভাবে শেখা যায়, যা সহযোগী ফিল্টারিং মডেলগুলির শক্তি। পরবর্তী দুটি বিভাগে, আমরা এই এমবেডিংগুলি শেখার জন্য বিভিন্ন মডেল নিয়ে আলোচনা করব এবং কীভাবে সেগুলিকে প্রশিক্ষণ দেওয়া যায়।
এই পদ্ধতির সহযোগী প্রকৃতি স্পষ্ট হয় যখন মডেল এমবেডিং শিখে। ধরুন সিনেমার জন্য এমবেডিং ভেক্টর ঠিক করা আছে। তারপরে, মডেলটি ব্যবহারকারীদের তাদের পছন্দগুলি সর্বোত্তমভাবে ব্যাখ্যা করার জন্য একটি এমবেডিং ভেক্টর শিখতে পারে। ফলস্বরূপ, অনুরূপ পছন্দের ব্যবহারকারীদের এমবেডিং একসাথে কাছাকাছি হবে। একইভাবে, যদি ব্যবহারকারীদের জন্য এম্বেডিংগুলি স্থির করা হয়, তাহলে আমরা ফিডব্যাক ম্যাট্রিক্সকে সর্বোত্তমভাবে ব্যাখ্যা করার জন্য মুভি এম্বেডিং শিখতে পারি। ফলস্বরূপ, অনুরূপ ব্যবহারকারীদের দ্বারা পছন্দ করা চলচ্চিত্রগুলির এম্বেডিংগুলি এমবেডিং স্থানের কাছাকাছি থাকবে৷