سیستم های توصیه گر (Recommender Systems) سیستم های نرم افزاری هستند که سعی می کنند آیتم های مناسب و محبوب یک کاربر را از میان انبوهی از گزینه ها کشف کننند و به او پیشنهاد بدهند.علایق کاربر و ویژگی آیتم ها دو منبع اصلی توصیه گری هستند. معمولا در سیستم های توصیه کننده به این منبع اطلاعاتی اکتفا میشود اما در برخی موارد اطلاعات پیرامونی نیز مد نظر طراحان سیستم قرار می گیرد که در همین پست و در بخش زمینه به آن پرداخته شده است.
 
وجه تمایز سیستم های توصیه گر و سیستم های جست و جو این است که اولا در سیستم های توصیه گر الزامی برای درخواست (Query) صریح از کاربر وجود ندارد و میتوان در هر لحظه با رعایت ضوابط فنی و غیر فنی آیتم ها را به او پیشنهاد داد و  و ثانیا یک سیستم توصیه گر اصولا پیشنهادی بودن موارد را به کاربر گوشزد می کند تا کاربر بداند که این موارد نتیجه انتخاب صریح (مثل انتخاب یک زیر شاخه از وب سایت) وجست و جوی صریح (مثل درخواست برای جست و جو) نیستند. 
تفاوت سیستم های توصیه گر و سیستم های پشتیبان تصمیم (Decision Support Systems) این است که در سیستم های توصیه گر یک آیتم پیشنهاد میشود اما در سیستم های پشتیبان تصمیم شاخص ها و محاسبات و اعداد و ارقام خاص به کاربر ارایه میشود تا بتواند تصمیم بهتری بگیرد. به عبارتی در سیستم پشتیبان تصمیم، اصولا تصمیمی به عنوان تصمیم نهایی اعلام نمی شود.
سیستمهای توصیه گر را میتوان از هشت زاویه ی مختلف مورد بررسی قرار داد. این هشت مورد را میتوان در قالب هشت سوال مطرح کرد.

۱- دامنه توصیه ها چیست ؟
۲- هدف از توصیه کردن چیست ؟
۳- نظرچه کسانی دارای اهمیت است ؟
۴- شخصی سازی در چه سطحی انجام می شود؟
۵- چگونه ممکن است حریم شخصی و اعتماد مخاطب خدشه دار شود؟
۶-  واسط کاربری به چه صورت است؟
۷- الگوریتم های سیستم چه هستند؟
۸- زمینه توصیه گری چیست؟

در ادامه به توضیح هر کدام از این هشت وجه می پردازیم:

دامنه

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

هدف

داشتن یک هدف روشن و دقیق یکی از مبناهای اساسی در مسیر طراحی تا توسعه ی سیستم توصیه گر است. هدف توصیه کردن می تواند صرفا فروش بیشتر باشد. هدف می تواند اطلاع رسانی بهتر باشد یا هرچیز دیگری. نکته ی اساسی، تعریف دقیق هدف است.

نظر چه کسانی

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

شخصی سازی

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

واسط کاربری

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

زمینه

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

در پست های آینده دو موضوع مهم یعنی حریم شخصی و اعتماد مخاطب و الگوریتم های توصیه گری را بررسی خواهیم کرد.