مقاله کمکی استفاده شده در این پیاده سازی برای یکی از مهم ترین
ژرونال هایElsevier ومربوط به سال 2014است که هدف آن پیاده سازی الگوریتم دوستیابی Friend Link میباشد. این پیاده
سازی که با کمک نرم افزار داده کاوی رپید ماینرو زبان برنامه نویسی C#انجام
شده است، با ترکیب دو نوع سیستم پیشنهاد
دهنده محتوا محورو مشارکتی والگوریتم محبوب بیزین یا نایو بیزFriend Linkدوستانی را به کاربر جدید الورود پیشنهاد میدهد.یکی از مهمترین
کاربرها ریشهای را که یک شبیه سازی مرتفع میکند شروع سرد کار بودن است.
در این پروژه از دیتا ست محبوب
شبکه اجتماعی کشوراسلواکی تحت عنوان Pockek استفاده شده است که متشکل از دو نوع فایل
میباشند که عبارتند از:
-
فایل
مربوط به کاربران که حدود چند صد هزار کاربربوده است. در این پژوهش از چندین
هزارتا از کاربران استفاده خواهد شد.
-
فایل
ارتباط سایرکاربران که رابطه بین کابران موجود در دیتاست کاربران را مشخص میکند که
دارای حدود پانصد هزار کاربر می باشد.
لازم به ذکر است که در این شبیه سازی تنها از حدود 1000 کاربر استفاده
شده است که این تعداد کاربران تا هر تعداد قابل توسعه می باشد. بنابراین از سیستم
پیشنهاد دهنده محتوا محور یا Content baseجهت خوشه
بندی اولیه کار بران و از الگوریتم بیزین که یکی از مهمترین الگوریتم های موجود در
سیستم های پیشنهاد دهنده مشارکتی است جهت استخراج کاربران مشابه با کاربر جدید
الورود استفاده میگردد. در نهایت نیز الگوریتم FriendLink هم بر روی داده ها اجرا شده و کاربرانی را به
کاربر جدید الورود پیشنهاد می دهد. این پروژه که بسیار کاربرد فراوانی در حوزه ها
و زمینه های مختلفی از جمله شبکه های اجتماعی، سایت های آنلاین فروش محصولات و
غیره دارد، شکل شروع سرد کاربران را مرتفع نموده و دوستانی را به عنوان دوست های
پیشنهادی به کاربر جدید الورود پیشنهاد میدهد.
خروجی این شبیه سازی دو معیار بسیا مهم RMSE و MAE است. این دو معیار که در بسیاری از سیستم های
پیشنهاد دهنده مورد استفاده قرار گرفته و
در واقع ارزیابی این سیستم ها را مورد سنجش قرار می دهد. معیار RMSE بیانگر مجذور مربع خطاها و معیار MAE بیانگر میانگین خطای واقعی است. بنابراین در
حدود 90% از مقالات مربوط به سیستم های پیشنهاد دهنده از این دو معیار استفاده می
کنند.
در شبیه سازی انجام شده روال کار بدین صورت است که:
-
ورود
دیتاست یا مجموعه داده ها: ابتدا دیتاست کاربران که شامل 1000 کاربر است به سیستم
پیاده سازی شده وارد شده و اطلاعات دموگرافیک آنها در لیست باکس نمایش داده می
شود. بنابراین با استفاده از این اطلاعات می توان سایر مراحل را پیش برد.
-
یکی از
مراحل موجود در این شبیه سازی انتخاب یک دسته برای کاربر جدید الورود است. قبل از
این مرحله ابتدا یک خوشه بندی بر روی کاربران انجام می شود. الگوریتم انتخاب شده
جهت خوشه بندی کاربران و این شبیه سازی الگورتیم معروف و محبوب K-Means است. یکی از مهم
ترین عملیا تی که در این مرحله صورت گرفته است این است که در مراحل مختلف تعداد
خوشه های متفاوتی الگورتیم K-Means در نرم افزار داده کاوی Weka / وکا داده
شده و تعداد خوشه های بهینه محاسبه می گردد. همانطور که میدانید در الگورتیم K-Means تعداد خوشه ها
میبایست از قبل تعیین شود به همین دلیل میبایست تعدادی خوشه را به الگوریتم خوشه
بندی K-Means داده و خطا های مورد نظر برای تعداد خوشه های متنوعی را محاسبه
نموده و در نهایت تعدادی خوشه تعیین می شود که دارای کمترین میزان خطا است.
بنابراین در این مرحله بر روی داده های اصلی یا دیتاست کاربران یک خوشه بندی اولیه
انجام می دهیم که در مراحل بعد بتوان از نتایج آن استفاده نمود.
-
در مرحله
بعد میبایست برای کاربر جدید الورود، یک خوشه یا دسته تعیین گردد. بدین منظور به
جای اینکه از خوشه بندی K-Means استفاده شود و زمان زیادی را بگیرد از الگوریتم های دسته بندی
یا Classifier مانند درخت تصیم با شبکه عصبی و غیره
استفاده نموده تا بتوان یک دسته را برای
کاربر جدید الورود تعیین نمود. بنابراین فریند انتخاب دسته ها بر اساس داده های
خوشه بندی شده با نرم افزار داده کاوی ریپدماینر صورت گرفته و سورس موجود علاوه بر
شبیه سازی انجام شده با #c تحویل می گردد.
-
پس از
اینکه دسته مربوط به کاربران مشخص شد، میبایست الگوریتم Friend
Link بر روی کاربرجدید الورود و کابران موجود در
دسته تعیین شده اعمال شده ومیزان مشابهت آنها برحسب احتمال و مسیرهای بین آنها
محاسبه گردد.
-
پس از
این مرحله نیز ماتریس مجاورتی بین کاربر جدید الورود و کاربران همسایه ای که در
مرحله قبل استخراج شده اند تشکیل میگردد. این ماتریس مجاورتی دارای ارتباط بین
کاربران با یکدیگر است.
-
در نهایت
نیز بر اساس یک حد آستانه تعیین شده، دوستانی به کاربرجدید بر اساس ماتریس مجاورتی
و میزان مشابهت بین کاربران همسایه و کاربر جدیدالورود پیشنهاد شده و نتایج
ارزیابی می گردد.
لازم به ذکر است که پیاده سازی الگوریتم FriendLinkو Spectral با جزئیات دقیق و توضیحات مربوطه بر روی سه دیتاست محبوب FaceBook, Epinion, Hi5 با متلب نیز موجود است که در صورت نیاز می توانید از طریق تلگرام
با شماره پشتیبانی وب سایت تماس حاصل نمایید. همچنین مقاله ای که به عنوان مقاله
پایه برای این پروژه در نظر گرفته شده است را می توانید در قسمت بالا و از لینک
"دانلود دمو یا فایل اجرایی پروژه" دانلود نموده یا از سایت scholar.google.com موضوع زیر را مورد جستجو قرار دهید.
Fast and accurate link
prediction in social networking systems
این پروژه بسیار مفید و پرکاربرد برای تحقیقات سطح عالی از جمله دکتری
و کارشناسی ارشد می باشد. شخصا از این الگوریتم در مقالات ISI زیادی برای دوستان دکتری استفاده نموده ام.