فیلتر مشارکتی

برای رفع برخی از محدودیت‌های فیلتر مبتنی بر محتوا، فیلتر مشارکتی از شباهت‌های بین کاربران و موارد به طور همزمان برای ارائه توصیه‌ها استفاده می‌کند. این اجازه می دهد تا برای توصیه های سرگردان. یعنی، مدل‌های فیلتر مشارکتی می‌توانند یک مورد را بر اساس علایق کاربر مشابه B به کاربر A توصیه کنند. علاوه بر این، جاسازی‌ها را می‌توان به صورت خودکار، بدون تکیه بر مهندسی دستی ویژگی‌ها، یاد گرفت.

یک مثال توصیه فیلم

یک سیستم توصیه فیلم را در نظر بگیرید که در آن داده های آموزشی از یک ماتریس بازخورد تشکیل شده است که در آن:

  • هر ردیف نشان دهنده یک کاربر است.
  • هر ستون نشان دهنده یک آیتم (فیلم) است.

بازخورد درباره فیلم ها به یکی از دو دسته تقسیم می شود:

  • صریح - کاربران با ارائه رتبه بندی عددی مشخص می کنند که چقدر از یک فیلم خاص خوششان آمده است.
  • ضمنی - اگر کاربر فیلمی را تماشا کند، سیستم استنباط می کند که کاربر علاقه مند است.

برای ساده کردن، فرض می کنیم که ماتریس بازخورد دودویی است. یعنی مقدار 1 نشان دهنده علاقه به فیلم است.

هنگامی که کاربر از صفحه اصلی بازدید می کند، سیستم باید فیلم هایی را بر اساس هر دو مورد توصیه کند:

  • شباهت به فیلم هایی که کاربر در گذشته دوست داشته است
  • فیلم هایی که کاربران مشابه آن را دوست داشتند

برای مثال، اجازه دهید برخی از ویژگی های فیلم های شرح داده شده در جدول زیر را به صورت مهندسی دستی طراحی کنیم:

فیلم سینما رتبه بندی شرح
شوالیه تاریکی برمی خیزد PG-13 بتمن تلاش می کند تا شهر گاتهام را از نابودی هسته ای در این دنباله بر شوالیه تاریکی که در دنیای کمیک دی سی اتفاق می افتد، نجات دهد.
هری پاتر و سنگ جادو PG یک پسر یتیم متوجه می شود که یک جادوگر است و در مدرسه جادوگری و جادوگری هاگوارتز ثبت نام می کند، جایی که اولین نبرد خود را با لرد ولدمورت شرور انجام می دهد.
شرک PG یک غول دوست‌داشتنی و همکار الاغ‌اش برای نجات پرنسس فیونا که توسط یک اژدها در قلعه‌اش زندانی شده است، راهی ماموریت می‌شوند.
سه قلوهای بللویل PG-13 هنگامی که قهرمان دوچرخه سوار حرفه ای در طول تور دو فرانس ربوده می شود، مادربزرگ و سگ چاقش با کمک سه نفر از خوانندگان قدیمی جاز به خارج از کشور سفر می کنند تا او را نجات دهند.
یادگاری آر یک فرد مبتلا به فراموشی ناامیدانه به دنبال کشف قتل همسرش با خالکوبی سرنخ هایی بر روی بدنش است.

تعبیه 1 بعدی

فرض کنید به هر فیلم یک اسکالر در \([-1, 1]\) اختصاص می دهیم که توضیح می دهد فیلم برای کودکان (مقادیر منفی) یا بزرگسالان (مقادیر مثبت) است. فرض کنید در \([-1, 1]\) به هر کاربر یک اسکالر اختصاص می‌دهیم که علاقه کاربر را به فیلم‌های کودکان (نزدیک به ۱-) یا فیلم‌های بزرگسالان (نزدیک به ۱+) توصیف می‌کند. محصول تعبیه فیلم و تعبیه کاربر برای فیلم هایی که انتظار داریم کاربر دوست داشته باشد باید بیشتر باشد (نزدیک به 1).

تصویری که چندین فیلم و کاربران را در کنار یک فضای تعبیه شده یک بعدی نشان می دهد. موقعیت هر فیلم در امتداد این محور توضیح می‌دهد که آیا این یک فیلم کودک (چپ) یا یک فیلم بزرگسال (راست) است. موقعیت یک کاربر علاقه به فیلم های کودکان یا بزرگسالان را توصیف می کند.

در نمودار زیر، هر علامت مشخص کننده فیلمی است که کاربر خاصی تماشا کرده است. کاربر سوم و چهارم ترجیحاتی دارند که با این ویژگی به خوبی توضیح داده می شود - کاربر سوم فیلم های کودکان و کاربر چهارم فیلم های بزرگسالان را ترجیح می دهد. با این حال، ترجیحات کاربران اول و دوم به خوبی با این ویژگی توضیح داده نشده است.

تصویر یک ماتریس بازخورد، که در آن یک ردیف مربوط به یک کاربر، و یک ستون مربوط به یک فیلم است. هر کاربر و هر فیلم به یک جاسازی یک بعدی (همانطور که در شکل قبل توضیح داده شد) نگاشت می شود، به طوری که حاصلضرب دو جاسازی، مقدار حقیقت پایه را در ماتریس بازخورد تقریبی می کند.

تعبیه دو بعدی

یک ویژگی برای توضیح ترجیحات همه کاربران کافی نبود. برای غلبه بر این مشکل، اجازه دهید ویژگی دوم را اضافه کنیم: درجه ای که هر فیلم یک فیلم پرفروش یا یک فیلم هنری است. با ویژگی دوم، اکنون می توانیم هر فیلم را با تعبیه دو بعدی زیر نمایش دهیم:

تصویری که چندین فیلم و کاربران را در یک فضای تعبیه شده دو بعدی نشان می دهد. موقعیت هر فیلم در امتداد محور افقی توضیح می دهد که آیا این یک فیلم کودک (چپ) یا یک فیلم بزرگسال (راست) است. موقعیت آن در امتداد محور عمودی توضیح می‌دهد که آیا این یک فیلم پرفروش (بالا) یا یک فیلم هنری (پایین) است. موقعیت کاربران نشان دهنده علایق آنها در هر دسته است.

ما دوباره کاربران خود را در همان فضای جاسازی قرار می‌دهیم تا ماتریس بازخورد را به بهترین شکل توضیح دهیم: برای هر جفت (کاربر، مورد)، ما می‌خواهیم حاصلضرب نقطه جاسازی کاربر و جاسازی مورد نزدیک به 1 باشد زمانی که کاربر مشاهده کرد فیلم، و در غیر این صورت به 0.

تصویر همان ماتریس بازخورد. این بار، هر کاربر و هر فیلم به یک جاسازی دوبعدی (همانطور که در شکل قبل توضیح داده شد) نگاشت می‌شوند، به طوری که حاصلضرب نقطه‌ای دو جاسازی، مقدار حقیقت زمین را در ماتریس بازخورد تقریبی می‌کند.

در این مثال، جاسازی ها را به صورت دستی مهندسی کردیم. در عمل، جاسازی‌ها را می‌توان به‌طور خودکار یاد گرفت، که این قدرت مدل‌های فیلتر مشارکتی است. در دو بخش بعدی به مدل‌های مختلف یادگیری این تعبیه‌ها و نحوه آموزش آن‌ها می‌پردازیم.

ماهیت مشارکتی این رویکرد زمانی آشکار می شود که مدل جاسازی ها را یاد می گیرد. فرض کنید بردارهای تعبیه شده برای فیلم ها ثابت هستند. سپس، مدل می‌تواند یک بردار جاسازی را برای کاربران بیاموزد تا ترجیحات خود را به بهترین شکل توضیح دهد. در نتیجه، جاسازی‌های کاربران با اولویت‌های مشابه نزدیک به هم خواهند بود. به طور مشابه، اگر تعبیه‌های کاربران ثابت باشد، می‌توانیم جاسازی‌های فیلم را یاد بگیریم تا ماتریس بازخورد را به بهترین شکل توضیح دهیم. در نتیجه، تعبیه‌های فیلم‌هایی که کاربران مشابه آن را پسندیده‌اند، در فضای تعبیه نزدیک خواهند بود.

درک خود را بررسی کنید

این مدل یک برنامه خرید را به کاربر توصیه می کند زیرا آنها اخیراً یک برنامه مشابه را نصب کرده اند. این چه نوع فیلترینگی است؟
فیلترینگ مبتنی بر محتوا
آفرین! فیلتر مبتنی بر محتوا به سایر کاربران نگاه نمی کند.
فیلتر مشارکتی
فیلتر مشارکتی سایر کاربران را در نظر می گیرد. در سناریوی داده شده ما فقط به یک کاربر اهمیت می دهیم.