این پیاده سازی که با کمک نرم افزار داده کاوی رپید ماینرو زبان
برنامه نویسی C# انجام شده است، با ترکیب دو نوع سیستم پیشنهاد
دهنده محتوا محورو سیستم پیشنهاد دهنده مشارکتی همراه با الگوریتم محبوب نایوبیزیا
شبکه های بیزین دوستانی را به کاربر جدید الورود پیشنهاد میدهد. یکی از مهمترین
کاربردهای این شبیه سازی مرتفع نمودن شروع سرد یا Cold
Start کاربران می باشد.
در این پروژه از دیتا ست محبوب شبکه اجتماعی کشوراسلواکی استفاده شده
است این مجمو داده متشکل از دو نوع فایل میباشند که عبارتند از:
فایل مربوط به کاربران که حدود چند صد هزار کاربربوده
فایل ارتباط کاربران با یکدیگر که رابطه بین کاربردن موجود در فایل
قبل را مشخص میکند که دارای حدود پانصد هزار کاربر می باشد.
لازم به ذکر است که در این شبیه سازی تنها از حدود 1000 کاربر استفاده
شده است تا این تعداد کاربران براحتی قابل توسعه و اجرا روی هر سیستمی با هر
مشخصلاتی باشد. تعداد کاربران را نیز می توان افزایش داد. بنابراین از سیستم
پیشنهاد دهنده محتوا محور یا Content baseجهت خوشه بندی اولیه
کاربران و از الگوریتم بیزین که یکی از مهمترین الگریتم های موجود در سیستم های
پیشنهاد دهنده مشارکتی است جهت استخراج کاربران مشابه با کاربر جدید الورود
استفاده میگردد. با این تفاوت که برای آیتم هیچ فرآیند و رکوردی در سیستم ذخیره
نشده است.
این پروژه که بسیار کاربرد فراوانی در مرحله ها و زمینه های مختلفی
دارد، مشکل شروع سرد کاربران جدیدالورود را مرتفع نموده و کاربرانی را به عنوان
دوست به کاربر جدید الورود پیشنهاد میدهد. خروجی این شبیه سازی دو معیار بسیا مهم
RMSE و MAE است. این دو معیار در بسیاری از سیستم های پیشنهاد دهنده مورد استفاده قرار
گرفته و در واقع ارزیابی این سیستم ها را مورد سنجش قرار می دهد. معیار RMSE
بیانگر مجذور مربع خطاها بوده و معیار MAE بیانگر میانگین خطای واقعی است.
در شبیه سازی انجام شده روال کار بدین صورت است که: ابتدا دیتاست
کاربران که شامل 1000 کاربر است به سیستم پیشنهاد دهنده پیاده سازی شده وارد می
گردد. سپس اطلاعات دموگرافیک(اطلاعات شخصی کاربران اعم از سن، جنسیت، تحصیلات و
غیر) کاربران در لیست باکس نمایش داده می شود. یکی از مراحل موجود در این شبیه
سازی انتخاب یک دسته برای کاربر جدید لورود است که در ادامهتشریح می گردد.
قبل از مرحله انتخاب دسته برای کاربر جدیدالورود، ابتدا یک خوشه بندی
اولیه بر روی طلاعات کاربران انجام می شود. الگوریتم
انتخاب شده جهت خوشه بندی کاربران در این شبیه سازی، الگورتیم معروف و محبوب K-Means است. یکی از مهم ترین عملیا تی که در این مرحله صورت گرفته است
این است که الگورتیم K-Means در مراحل مختلف تعداد
خوشه های متفاوتی در نرم افزار داده کاوی Weka یا وکا ارائه می دهد و تعداد خوشه
های بهینه محاسبه می گردد. همانطور که میدانید در الگورتیم K-Means تعداد خوشه ها میبایست از
قبل تعیین شود؛ به همین دلیل میبایست تعدادی خوشه را به الگوریتم خوشه بندی K-Means داده و خطاهای مورد نظر را محاسبه نموده و در نهایت
تعدادی خوشه های تعیین می شود که دارای کمترین میزان خطا است. بنابراین پس از
اینکه یک خوشه بندی اولیه برروی داده ها صورت گرفت، تعدادی خوشه به هر کاربر تعیین
میشود.
در مرحله بعد میبایست برای کاربر جدید دستور و یک خوشه یا دسته تایین
شود. بدین منظور به جای اینکه از خوشه بندی K-Means استفاده شود و زمان زیادی
را نگیرد از الگورتیم های دسته بندی یا Classification مانند درخت تصمیم با شبکه
عصبی و غیره به صورت یادگیری تقویتی استفاده نموده تا بتوان یک دسته را برای کاربر
جدید الورود تایین نمود بنابراین نموده انتخاب و دسته ها با نرم افزار داده کاوی
ریپد ماینر یا rapiclminel صورت گرفته و سورس موجود علاوه بر شبیه سازی انجام با
#c تحویل می گردد.
پس از اینکه دسته مربوت به کاربران مشخص شد میبایست الگوریتم نایوبیز
یاشبکه بیزین Friend Link بر روی کاربرجدید الورود
و کابران موجود در دسته تعیین شده اعمال شده ومیزان مشابهت آنها برحسب احتمال
محاسبه می گردد.
پس از این مرحله نیز ماتریس مجاورتی بین کار بر جدید الورود و کار
بران همسایه ای که در مرحله قبل استخراج شده اند تشکیل میگردد. این ماتریس مجاورتی
دارای ارتباط بین کار بران با یک دیگر است. بعد از این مرحله نیز الگوریتم محبوب
پیش بینی لینک Friend Link برروی ماتریس
مجاورتی ایجاد شده و در نهایت دو ستانی را که در این مرحله و مرحله قبل با هم
یکسان هستند به عنوان دوست به کاربر جدید توصیه میگردد.
این پروژه دارای یک داکیومنت 23 صفحه ای می باشد که در این داکیومنت اطلاعات دیتاست و روش خوشه بندی اولیه و برخی از مسائل دیگر تشریح شده است.