فیلتر مبتنی بر محتوا از ویژگیهای مورد استفاده میکند تا موارد دیگری مشابه آنچه کاربر دوست دارد، بر اساس اقدامات قبلی یا بازخورد صریح او توصیه کند.
برای نشان دادن فیلتر مبتنی بر محتوا، اجازه دهید برخی از ویژگیهای فروشگاه Google Play را به صورت دستی مهندسی کنیم. شکل زیر یک ماتریس ویژگی را نشان می دهد که در آن هر ردیف نشان دهنده یک برنامه و هر ستون نشان دهنده یک ویژگی است. ویژگی ها می تواند شامل دسته بندی ها (مانند آموزش، گاه به گاه، بهداشت)، ناشر برنامه و بسیاری دیگر باشد. برای ساده کردن، فرض کنید این ماتریس ویژگی باینری است: یک مقدار غیر صفر به این معنی است که برنامه دارای آن ویژگی است.
شما همچنین کاربر را در همان فضای ویژگی نشان می دهید. برخی از ویژگی های مربوط به کاربر می تواند به صراحت توسط کاربر ارائه شود. به عنوان مثال، یک کاربر "برنامه های سرگرمی" را در نمایه خود انتخاب می کند. سایر ویژگی ها بر اساس برنامه هایی که قبلاً نصب کرده اند، می توانند ضمنی باشند. به عنوان مثال، کاربر برنامه دیگری را که توسط Science R Us منتشر شده است نصب کرده است.
مدل باید موارد مرتبط با این کاربر را توصیه کند. برای انجام این کار، ابتدا باید یک معیار تشابه (به عنوان مثال، محصول نقطه ای) را انتخاب کنید. سپس، باید سیستمی را تنظیم کنید تا به هر آیتم نامزد با توجه به این معیار شباهت امتیاز دهد. توجه داشته باشید که توصیهها مختص این کاربر است، زیرا مدل از هیچ اطلاعاتی در مورد سایر کاربران استفاده نکرده است.
استفاده از محصول نقطه ای به عنوان معیار تشابه
موردی را در نظر بگیرید که کاربر \(x\) و برنامه جاسازی کننده \(y\) هر دو بردار باینری هستند. از آنجایی که\(\langle x, y \rangle = \sum_{i = 1}^d x_i y_i\)، یک ویژگی که در هر دو \(x\) و \(y\) ظاهر می شود، 1 را به مجموع کمک می کند. به عبارت دیگر، \(\langle x, y \rangle\) تعداد ویژگی هایی است که در هر دو بردار به طور همزمان فعال هستند. سپس یک محصول با نقطه بالا ویژگیهای رایجتر را نشان میدهد، بنابراین شباهت بیشتری دارد.
خودت آن را امتحان کن!
محصول نقطه ای را برای هر برنامه در مشکل برنامه قبلی محاسبه کنید. سپس از این اطلاعات برای پاسخ به سوال زیر استفاده کنید: