چکیده –
الگوریتم های استفاده شده در سیستم های توصیه گر میتواند به دو دسته فیلترینگ همکار و محتوا محور تقسیم بندی شود. در سیستم های همکار یا CF آیتم ها به کاربران بر اساس مجموع درجه بندی های قبلی سایر کاربران توصیه می شود و در سیستم های محتوامحور آیتم هایی توصیه می شوند که از نظر محتوا به آیتم هایی شباهت دارند که کاربر در گذشته دوست داشته است یا این که بر خصوصیات کاربر منطبق هستند. می توان گفت که الگوریتم k تا از نزدیک ترین همسایه ها (kNN) معروف ترین روش در حوزه فیلترینگ همکار محسوب میشود. یک راه حل برای آنالیز یک الگوریتم kNN در نظر گرفتن آن به صورت پروسه ای است که یک گراف را تولید میکند. در این مقاله ما تعدادی از خصوصیات گراف kNN شامل طول مسیر و ارتباط و تقابل و توزیع درجه را بررسی میکنیم و با استفاده از این خصوصیات به بررسی مفهوم کاربران قوی می پردازیم. در پایان تعدادی از مشکلات معمول سیستم های توصیه گر بررسی شده اند و چگونگی مقابله با تعدادی از این مشکلات مانند شروع سرد و مقیاس پذیری و انتخاب پارامتر با استفاده از الگوریتم kNN شرح داده شده است.

کلید واژه- الگوریتم kNN ، سیستم های توصیه گر، شروع سرد، فیلترینگ همکار، مقیاس پذیری

-۱ مقدمه

الگوریتم های استفاده شده در سیستم های توصیه گر میتواند به صورت زیر طبقه بندی شود:

.۱فیلترینگ همکار :(CF) در سیستم های CF آیتم ها به کاربران بر اساس مجموع درجه بندی های قبلی سایر کاربران توصیه می شود.

.۲توصیه بر اساس محتوا :این روش ها آیتم هایی را توصیه می کنند که از نظر محتوا به آیتم هایی که کاربر در گذشته دوست داشته است یا این که بر خصوصیات کاربر منطبق هستند شبیه هستند.

.۳روش های دورگه یا ترکیبی : این روش ها هر دو روش فیلترینگ همکار و براساس محتوا را ترکیب میکنند.

در روش های مبتنی بر محتوا تنها محتوای شی ( item) مورد بررسی قرار میگیرد از جمله الگوریتم های موجود در این زمینه می توان به الگوریتم های براساس clustering و Meta tag و پردازش تصویر [۱] و… اشاره نمود.هرچند روش های مبتنی بر محتوا ابزاری بسیار ارزشمند در زمینه دادن پیشنهادهای مناسب

به کاربران محسوب می شود اما با مشکلاتی مواجه است که از آن جمله می توان به موارد زیر اشاره کرد:

.۱در فهرست کردن منابع چندرسانه ای محدودیت دارد. .۲بر اساس قواعد موضوعی (syntax) است و بعضی مواقع در
انتقال معنا (semantic) دچار مشکل میشود.

.۳ بار شناخت دامنه (cognitive load) را به کاربر و سرویس دهنده تحمیل میکند.به عبارت دیگر هنگامی که کاربر در حال جستجو است باید کلمات کلیدی شی ( item) مورد نظر را بداند زیرا در غیر این صورت نمی تواند در زمان کوتاه جستجوی ایده آلی داشته باشد.از سوی دیگر ارائه کننده شی نیز باید کلمات کلیدی مناسبی را برای شی خود انتخاب کند.
می توان گفت روش مبتنی بر CF به دلیل کار کردن بر اساس نظر کاربران توانسته تا حدی پاسخ گوی این مشکلات باشد.در حقیقت CF با استفاده از شبکه های اجتماعی (social network) باعث ارائه پیشنهادات بهتر شده است.[۲] بنابراین در این گزارش بر روش مبتنی بر CF تاکید خواهیم داشت.

۱

شانزدهمین کنفرانس دانشجویی مهندسی برق ایران دانشگاه آزاد اسلامی واحد کازرون، ۱۲ -۱۴ شهریور ۱۳۹۲

-۲ بررسی انواع CF

دو دسته بندی اصلی در CF عبارت است از:[۳]
بر اساس مدل ( : (model_ based این روش با ساختن یک مدل از امتیازات کاربران به آنها پیشنهاد میدهد. در این الگوریتم دسته بندی براساس احتمال بوده و از الگوریتم های machine

learning مانند Bayesian network و Clustering و Rule

based استفاده میشود:
بر اساس حافظه (memory_ based) :در این روش با استفاده از پایگاه داده ای که از کاربران و شی ها تشکیل شده و یک سری تکنیک ثابت برای پیدا کردن افراد مشابه با کاربر فعال استفاده شده است.این شباهت میتواند به صورت صریح (explicit) با نظرسنجی و یا از طریق بررسی فعالیت هایی که کاربر انجام میدهد(مانند خرید مشابه) و فرمولی که تعریف شده (implicit) استخراج شود. پس از بررسی این اطلاعات به گروه بندی افراد مشابه پرداخته و سپس با الگوریتم هایی نظیر KNN ( K Nearest Neighbors ) می توان به کاربران شی پیشنهاد کرد.

می توان گفت که الگوریتم k تا از نزدیک ترین همسایه ها (kNN) معروف ترین روش در حوزه فیلترینگ همکار محسوب میشود.بسیاری از تحقیقات تاکنون بدون در نظر گرفتن خصوصیاتی که به وسیله مدیریت داده کاربر با این روش پدیدار میشوند بر بهبود کارایی این الگوریتم تمرکز کرده اند.

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

-۳ الگوریتم kNN

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

محتوامحور آیتم هایی را توصیه می کنند که از نظر محتوا به آیتم هایی شبیه هستند که کاربر در

گذشته دوست داشته است یا این که بر خصوصیات کاربر منطبق می باشند. [۴]