سیستم های توصیه گر (Recommender Systems) سیستم های نرم افزاری هستند که سعی می کنند آیتم های مناسب و محبوب یک کاربر را از میان از گزینه ها کشف کننند و به او پیشنهاد بدهند. سیستم‌های توصیه‌گر سیستم‌های تأثیرگذار در راهنمایی و هدایت کاربر، در میان حجم عظیمی از انتخاب‌های ممکن، برای رسیدن به گزینه مفید و مورد علاقه وی هستند، به گونه‌ای که این فرایند برای همان کاربر شخصی‌سازی شده باشد.
سیستم های توصیه گر (Recommender Systems) با اولین ظهورشان در زمینه فیلتر همبستگی حوزه تحقیقاتی مهمی در اواسط دهه ۱۹۹۰ را فراهم نمودند. دردهه های اخیر دو بخش صنعت و دانشگاه دستاوردهای جدیدی در زمینه سیستم های توصیه گر توسعه داده اند؛ با این وجود علاقه مندی به این بخش هنوز در سطح بالایی است، زیرا حوزه تحقیقاتی غنی بوده و نیاز  مبرمی به برنامه های کاربردی فراوانی به منظور کمک به کاربران که با حجم زیادی از اطلاعات مواجه هستند به منظور شخصی سازی اطلاعات پیشنهادی وجود دارد. مثال هایی از چنین برنامه ها، سیستم پیشنهاد دهی کتاب، CD و دیگر محصولات سایت Amazon و پیشنهاد فیلم توسط شرکت MovieLens می باشند.
سامانه های توصیه گر، دقیقا به دنبال ایفای نقش مشاور و توصیه گر هستند با این تفاوت که این توصیه از سوی یک ماشین ارائه می شود. مسلم است هر چه این توصیه و پیشنهادی که از سوی ماشین ارائه می شود دقیق تر و سریع تر باشد کارائی آن سامانه بالاتر خواهد بود. سامانه های توصیه گر از جمله مباحث جدید و گسترده ای است که در حوزه های مختلفی می توان آن را به خدمت گرفت. از جمله کاربرد این سامانه ها می توان به حوزه تجارت الکترونیکی، مدیریت ارتباط با مشتری، کتابخانه های دیجیتالی، حوزه پزشکی، مشاوره خانواده و ... اشاره کرد که خود بیانگر کاربرد وسیع این سامانه هاست. بدون شک موفقیت این سامانه ها به عوامل متعددی بستگی دارد که از جمله مهمترین آنها تکنیک ها و الگوریتم هایی است که این قبیل سامانه ها را پشتیبانی می کند.
برای اهداف فروش الکترونیکی وبسایت های زیادی مانند Amazon، CDnow، ebay و غیره شروع به استفاده از سیستم های توصیه گر کردند که می توانند با توجه به اطلاعات و علاقه های مشتری به مشتری محصول مناسب سلیقه او را پیشنهاد دهند و این سبب افزایش رابطه میان وبسایت ها و مشتریان می شود.این باور وجود دارد که با ارائه توصیه های با کیفیت به مشتری  و جلب رضایت او وفاداری مشتری بهبود می یابد.
معمولاً سیستم های توصیه گر، لیستی از پیشنهادات را به یکی از دو صورت زیر ارائه می دهند:


1.پالایش گروهی و محتوا محور (Collaborative and Content-based filtering) :


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

2.رهیافت شخصیت محور (Personality-based approach) :


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

سیستم های توصیه گر هیبرید :


بررسی اخیر حاکی از آنست که رهیافت هیبرید (ترکیبی از پالایش گروهی و پالایش محتوا محور)  در برخی موارد می تواند بسیار مؤثر واقع گردد. رهیافت های هیبرید از چندین راه قابل اجرا هستند، با ایجاد جداگانه پیش بینی های محتوا محور و گروه محور و نهایتاً ترکیب آنها با هم، افزودن قابلیت های رهیافت محتوا محور به گروه محور (یا بالعکس)، یا یکی کردن رهیافت ها در یک مدل . چندین مطالعه ی تجربی، اجرای سیستم هیبرید را با نوع خالص سیستم های گروه محور و محتوا محور مورد مقایسه قرار داده است، و نشان داده شده که روش های هیبرید پیشنهادات دقیق تری را ارائه می دهند. همچنین، این روش ها می توانند برای غلبه بر مسائل روتین سیستم های توصیه گر مثل استارت سرد و پراکندگی مورد استفاده قرار گیرند.
سیستم های توصیه گر جایگزین سودمندی برای الگوریتم های جست و جو هستند چرا که به کاربران کمک می کنند تا آیتم هایی را بیابند که ممکن بود خودشان نتوانند آنها را پیدا کنند. سیستم های توصیه گر با استفاده از موتورهای جست و جو، به طور جالبی داده های جدید را فهرست می کنند.
وجه تمایز سیستم های توصیه گر و سیستم های جست و جو این است که اولا در سیستم های توصیه گر الزامی برای درخواست (Query) صریح از کاربر وجود ندارد و میتوان در هر لحظه با رعایت ضوابط فنی و غیر فنی آیتم ها را به او پیشنهاد داد و  و ثانیا یک سیستم توصیه گر اصولا پیشنهادی بودن موارد را به کاربر گوشزد می کند تا کاربر بداند که این موارد نتیجه انتخاب صریح (مثل انتخاب یک زیر شاخه از وب سایت) وجست و جوی صریح (مثل درخواست برای جست و جو) نیستند.

شخصی سازی :


رکن مهم در طراحی یک سیستم توصیه گر، تعیین سطح و میزان شخصی سازی است. شخصی سازی از دو زاویه قابل بررسی است.
الف) زاویه ی اول، میزان حساسیت توصیه گر به یک فرد خاص است. یعنی پاسخ به این سوال که آیا توصیه ای که پس از مشاهده ی آیتم A به فرد B میشود با توصیه ای که پس از مشاهده ی همان آیتم به فرد C می شود یکی است؟ فرض کنید در یک کتاب فروشی با دیده شدن آیتم A تنها کتابهایی توصیه می شوند که همزمان با آیتم B توسط کاربران مختلف خریداری یا مشاهده شده اند. در این حالت تفاوتی نمی کند که یک کاربر چه گزینه هایی را پیش از این دیده است. یا این که چه سنی یا چه جنسیتی دارد. در هر حال یک توصیه ی مشترک به همه ی کاربران ارایه می شود.
بالاترین سطح شخصی سازی در شرایطی اتفاق می افتد که به ازای هر کاربر یک توصیه ویژه ی او ارایه شود و یک حالت میانی آن است که کاربران خوشه بندی شوند و به هر خوشه یک توصیه ی واحد ارایه شود.
ب) زاویه ی دوم مدت زمانی است که سیستم از رفتار کاربر به یاد می سپارد. بعضی وب سایت ها تنها به جست و جو های فعلی شما حساسیت نشان می دهند. بعضی ها فعالیت های شما را در زمان طولانی تری ثبت کرده و نسبت به آن واکنش می دهند. و برخی از ابتدای عضویت در آن وبسایت تمام فعالیت ها یا درخواست های کاربران را ضبط کرده و براساس آن ها تصمیم می گیرند.

برگرفته شده از  :pythonist.blog.ir

سیستم های توصیه گر در کسب و کار
در حال حاضر بسیاری از شرکت های مختلف که سایت های بزرگی دارند برای پیشروی در کارشان از سیستم های توصیه گر استفاده می کنند. با توجه به تفاوت در سلیقه بین افراد مختلف در سنین مختلف بی شک محصولی که یک کاربر انتخاب می کند با کاربر دیگر متفاوت بوده و قطعا عملکرد سیستم های توصیه گر نیز باید متفاوت باشد. سیستم های توصیه گر تاثیر بسزایی درآمد شرکت های مختلف دارند و اگر درست استفاده شوند می توانند موجب سوددهی بسیار بالایی برای شرکت ها باشند به طور مثال شرکت Netflix اعلام کرده است که ۶۰% از DVDهایی که توسط این شرکت به کاربران اجاره داده می شود از طریق سیستم های توصیه گر بوده و این سیستم ها توانستند تاثیر بسزایی در انتخاب مشتریان در انتخاب فیلم ها بگذارند.

کاربردها :


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

واسط کاربری :


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



سنجش عملکرد :


در تشخیص تأثیر الگوریتم های توصیه، ارزیابی امری بسیار مهم است. متریک های معمول استفاده شده در ارزیابی الگوریتم ها، میانگین مربعات خطا و ریشه ی میانگین مربعات خطا می باشد که مورد آخر در جایزه ی نت فلیکس مورد استفاده قرار گرفت. متریک های بازیابی اطلاعات مثل معیار دقت و بازیابی یا DCG جهت ارزیابی کیفیت یک روش پیشنهادی، سودمند و کارا هستند. اخیراً تنوع، نوآوری و پوشش نیز به عنوان جنبه های مهم ارزیابی در نظر گرفته می شوند. هر چند که بسیاری از اندازه گیری های ارزیابی کلاسیک، شدیداً مورد انتقاد قرار گرفته اند. اغلب، نتایج ارزیابی های به اصطلاح آفلاین، با تشخیص واقعی رضایت کاربر هم خوانی ندارد. نویسندگان بیان کردند”ما بایستی در نتایج ارزیابی های افلاین (یا همان اندازه گیری های کلاسیک) تردید می کردیم.


زمینه :


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