سامانه توصیهگر
سامانه توصیهگر (به انگلیسی: Recommender System) یا سامانه پیشنهادگر، با تحلیل رفتار کاربر خود، اقدام به پیشنهاد مناسبترین اقلام (داده، اطلاعات، کالا و...)مینماید. این سیستم رویکردی است که برای مواجهه با مشکلات ناشی از حجم فراوان و رو به رشد اطلاعات ارائه شدهاست و به کاربر خود کمک میکند تا در میان حجم عظیم اطلاعات سریعتر به هدف خود نزدیک شوند. برخی سامانه پیشنهادگر را معادل پالایش گروهی (به انگلیسی: Collaborative filtering) میدانند.
محتویات |
مقدمه [ویرایش]
پیش بینی میشد که تا اوایل سال ۲۰۰۷ میلادی در سایت دانشنامه اینترنتی ویکیپدیا چیزی حدود ۵٫۱ میلیون مقاله به ثبت رسیده باشد و یا سایت مدیریت و به اشتراکگذاری تصاویر فلیکر بالغ بر ۲۵۰ میلیون تصویر را در خود جای دهد. از این رو، میتوان گفت که ما در میان حجم عظیمی از داده و اطلاعات قرار گرفتهایم که بدون راهنمایی و ناوبری درست ممکن است انتخابهایی غلط و یا غیر بهینه از میان آنها داشته باشیم. سیستمهای توصیهگر سیستمهای تأثیرگذار در راهنمایی و هدایت کاربر، در میان حجم عظیمی از انتخابهای ممکن، برای رسیدن به گزینه مفید و مورد علاقه وی هستند به گونهای که این فرآیند، برای نفس همان کاربر، شخصیسازی شده باشد.
تعاریف متفاوتی برای سیستمهای توصیهگر ارائه شدهاست. از آن جمله، تعریف کلینگر و خلاصه آقای Ting-peng liang در سال ۲۰۰۷ است که RS را زیرمجموعهای از DSSها میداند و آنها را سیستمهای اطلاعاتی تعریف میکند که، توانایی تحلیل رفتارهای گذشته و ارائه توصیههایی برای مسائل جاری را دارا هستند. به زبان سادهتر در سیستمهای توصیهگر تلاش بر این است تا با حدس زدن شیوه تفکر کاربر (به کمک اطلاعاتی که از نحوه رفتار وی یا کاربران مشابه وی و نظرات آنها داریم) به وی مناسبترین و نزدیکترین کالا به سلیقه او را شناسایی و پیشنهاد کنیم. این سیستمها در حقیقت همان فرآیندی که ما در زندگی روزمره خود به کار میبریم و طی آن تلاش میکنیم تا افرادی با سلایق نزدیک به خود را پیدا کرده و از آنها در مورد انتخابهایمان نظر بخواهیم. توصیههایی که از سوی سیستمهای توصیهگر ارائه میشوند به طور کلی میتوانند دو نتیجه در برداشته باشند :
- کاربر را در اخذ تصمیمی یاری میکنند (که مثلاً از میان چندین گزینه پیش رو کدام بهتر است و آن را انتخاب کند و ... ).
- موجب افزایش آگاهی کاربر، در زمینه مورد علاقه وی میشود (مثلاً در حین ارائه توصیه به کاربر موجب میشود تا وی با اقلام و اشیاء جدیدی را که قبلاً آنها را نمیشناخته، آشنا شود).
سیستمهای توصیهگر برای هر دو طرف یک تعامل (تجاری یا غیرتجاری)، مفید هستند و مزایایی را فراهم میآورد. برای نمونه در یک تعامل تجاری، مشتریها از این جهت که عمل جستجو در میان حجم زیاد اطلاعات برای آنها تسهیل و تسریع میشود، استفاده از سیستمهای توصیهگر را مفید میدانند؛ فروشندگان به کمک این سیستمها میتوانند رضایت مشتریان را بالا برده و نیز فروش خود را افزایش دهد.
مزایا و پیشرفتها [ویرایش]
حجم فراوان و روبه رشد اطلاعات بر روی وب و اینترنت، فرآیند تصمیمگیری و انتخاب اطلاعات، داده و یا کالاهای مورد نیاز را، برای بسیاری از کاربران وب دشوار کردهاست. این موضوع، خود انگیزهای شد تا محققین را وادار به پیداکردن راهحلی برای رویارویی با این مشکل اساسی عصر جدید که با عنوان سرریز دادهها شناخته میشود کند. برای رویارویی با این مسئله تاکنون دو رویکرد مطرح شدهاند، اولین رویکردی که به کار گرفته شد استفاده از دو مفهوم بازیابی اطلاعات و تصفیهسازی اطلاعات بود. عمده محدودیتی که این دو مفهوم در ارائه پیشنهادات دارند، این است که برخلاف توصیهگرهای انسانی (مثل دوستان، اعضای خانواده و ...)، این دو روش قادر به تشخیص و تفکیک اقلام با کیفیت و بی کیفیت، در ارائه پیشنهاد برای یک موضوع یا کالا، نیستند. مشکل مذکور، موجب شد تا رویکرد دومی تحت عنوان سیستم توصیهگر پدید آید. این سیستمهای جدید، مشکل سیستمهای موجود در رویکرد اولیه را حل کردهاند.
تاریخچه [ویرایش]
تقریباً در اواسط دهه ۹۰ بود که مطالعه بر روی سیستمهای توصیهگر به عنوان یک شاخه مستقل در تحقیقات مطرح شد و علت این توجه خاص، ابراز تمایل محققین، برای حل مشکل روشهای توصیهگری بود که در رویکرد اولیه به مسئله جستجو در حجم فراوان اطلاعات، از آنها استفاده میشد.
کاربردها [ویرایش]
سیستمهای توصیهگر کاربردهای فراوانی دارند که برخی از زمینههای کاربردی آن به شرح زیر است:
- تجارت الکترونیک : برای توصیه محصولات و خدمات مختلف.
- اینترانتهای بنگاهی : برای پیدا کردن افراد خبره در یک زمینه خاص و یا افرادی که در رویارویی با شرایط مشابه، تجاربی کسب کرده و راه حلهایی یافتهاند(بیشتر داخل یک سازمان کاربرد دارد).
- کتابخانه دیجیتال: پیدا کردن کتاب، مقاله و ...
- کاربردهای پزشکی: انتخاب پزشک متناسب با شرایط (مکان، نوع بیماری، زمان و ...) بیمار، انتخاب دارو و ...
- مدیریت ارتباط با مشتری CRM : برای ارائه راهکارهایی برای حل مشکلات تولیدکننده و مصرفکننده در زنجیره تأمین.
مقایسه سامانههای توصیه گر و سامانههای تصمیمیار کلاسیک [ویرایش]
اگر چه شباهتهای بسیاری بین این دو سیستم وجود دارد اما بین آنها تفاوتهایی هم هست، که مهمترین این تفاوتها، این است که در DSSها کاربر نهایی مدیران ارشد یا میانی یک سازمان هستند، در حالی که در سیستمهای توصیهگر کاربری سیستم به سطح خاصی محدود نمیشود و سیستم مورد استفاده عام است. اما عمده شباهت این دو سیستم نیز بر این اساس که سیستمهای توصیهگر، جدای از دیدگاه سطوح کاربری و به لحاظ فنی، به نوعی زیر مجموعه DSS به شمار میروند. هر دوی آنها کاربر خود را در اخذ تصمیم، یاری میکنند و هر دو سیستمهای اطلاعاتیای هستند که دارای پایگاه دانش، پایگاه داده، رابط کاربری و ... میباشند.
تعاریف و اصطلاحات عمده [ویرایش]
لازم است برای درک مفهوم سیستم توصیهگر، مفاهیم چهارگانه و ابتدایی زیر را بررسی کنیم.
- در سیستمهای توصیه گر به کاربری که توصیه جاری در سیستم، برای وی در حال پردازش و آماده شدن است، کاربر فعال یا کاربر هدف میگویند.
- الگوریتمهای به کار رفته در این سیستمها، از ماتریسی به نام ماتریس رتبهها استفاده میکنند؛ اصطلاحات رایج برای این ماتریس Rating Database و Preference Database نیز هستند.
- از فعل مصرف کردن در سیستمهای توصیهگر، زمانی استفاده میکنند که کاربر توصیه ارائه شده را میپذیرد. به عبارتی وقتی کاربری پیشنهادی را که توسط سیستم به وی شده میپذیرد، میگوییم کاربر آن پیشنهاد را مصرف کرده، این پذیرش میتواند به شکلهای مختلفی باشد، مثلاً کاربر، کتاب پیشنهادی را میخرد، سایت پیشنهادی را مرور میکند و یا به شرکت خدماتی ای که به او پیشنهاد شده مراجعه میکند. ساختار ماتریس رتبهها بدین گونهاست که در آن، هر سطر ماتریس نمایانگر یک کاربر و هر ستون آن معرف کالایی (شئای) خاص است.
حال با مفهوم تابع سودمندی آشنا خواهیم شد که قصد داریم به کمک آن یک مدل کلی ریاضی از سیستمهای توصیهگر را نیز ارائه دهیم. در واقع یک سیستم توصیهگر را میتوان با این نگاشت همسان دانست و مدل کرد: 
فرض کنید C مجموعه تمامی کاربران و S مجموعه اقلام در دسترس باشند. تابعی را که میزان مفید و متناسب بودن کالای S برای کاربر C را محاسبه میکند با u نشان میدهیم، که در آن R مجموعهای است کاملاً مرتب(براساس میزان اهمیت) . هرکدام از عناصر S را میتوان با مجموعهای از خصوصیات، مشخص کرد. برای مثال، محصولی مثل فیلم را میتوان با مشخصههایی چون عنوان فیلم، کارگردان، طول زمانی فیلم، تاریخ تولید و ... ثبت کرد. همچنین عناصر مجموعه C را نیز میتوان بر اساس ویژگیهای مثل سن، جنسیت و ... ثبت کرد. (باید توجه داشت که u روی تمام فضای مجموعه آغازین S×C تعریف شده نیست؛ از این رو باید برونیابی شود.)
انواع سامانههای توصیهگر [ویرایش]
سامانههای توصیهگر به طور کلی به سه دسته تقسیم میشوند؛ در رایجترین تقسیمبندی، آنها را به سه گروه ۱.محتوا محور ۲.دانش محور و ۳.صافی سازی تجمعی، تقسیم میکنند، که البته گونه چهارمی تحت عنوان Hybrid RS هم برای آنها قائل میشوند.
یک رویکرد به سیستمهای توصیهگر، استفاده از الگوریتمهای CF یا صافی سازی تجمعی است. در این رویکرد به جای استفاده از محتوای (Content) اقلام، از نظرات و رتبهبندیهای انجام شده توسط کاربران برای ارائه پیشنهاد، استفاده میشود.
در روش محتوا محور، اقلام پیشنهادی، به این دلیل که با اقلامی که کاربر فعال (کاربری که قرار است به او توصیه کنیم) نسبت به آنها ابراز علاقه کردهاست شباهتهایی دارند، به کاربر توصیه میشوند ولی در CF، لیست اقلام پیشنهادی، بر اساس این اصل که، کاربرانی، مشابه کاربر فعال، از آنها رضایت داشتهاند تهیه میشود. از این رو واضح است که در روش محتوامحور، تمرکز بر روی یافتن شباهت بین اقلام بوده، در حالی که در CF، تمرکز روی یافتن شباهت بین کاربران است؛ بدین ترتیب که پیشنهادات در CF، بر اساس تشابه رفتاری کاربرفعال با کاربران دیگر صورت میگیرد و نه بر اساس تشابه ویژگی کالاهای پیشنهادی با ویژگیهای کالاهای مورد علاقه وی (کاربر فعال).
اما گونة سوم این سیستمها را با نام سیستمهای دانش محور میشناسند.این سیستمها براساس ادراکی که از نیازهای مشتری و ویژگیهای کالاها پیدا کردهاند، توصیههایی را ارائه میدهند. به عبارتی در این گونه از سیستمهای توصیهگر مواد اولیه مورد استفاده برای تولید لیستی از پیشنهادها، دانش سیستم در مورد مشتری و کالا است. سیستمهای دانش محور از متدهای مختلفی که برای تحلیل دانش، قابل استفاده هستند بهره میبرند که متدهای رایج در الگوریتمهای ژنتیک، فازی، شبکههای عصبی و ... از جمله آنهاست. همچنین، در این گونه سیستمها از درختهای تصمیم، استدلال نمونهمحور و ... نیز میتوان استفاده کرد. یکی از رایجترین متدهای تحلیل دانش درسیستمهای توصیهگر دانش محور ،CBR یا روش استدلال نمونهمحور است.
گونه چهارم سیستمهای ترکیبی هستند. طراحان این نوع سیستمها دو یا چند گونه از انواع سهگانه مذکور را غالبا به دو منظور با هم ترکیب میکنند؛ ۱- افزایش عملکرد سیستم ۲- کاهش اثر نقاط ضعفی که آن سیستمها وقتی به تنهایی به کار گرفته شوند، دارند. از میان سه روش موجود (CF و CB و KB)، غالباً روش CF یک پای ثابت این ترکیبات است.
برخی مطالب و منابع فارسی در زمینه سیستمهای پیشنهادگر [ویرایش]
۱- آزمایشگاه داده کاوی گروه مهندسی فناوری اطلاعات در دانشگاه تربیت مدرس
۲- موتور جستجوگر گوگل، در اقدامی تازه یک سرویس پیشنهاد دهنده با نام Google Suggest را فعال نمود . هدف این سرویس ارائه پیشنهاد در رابطه با تعداد دفعاتی است که دیگر کاربران در اینترنت به دنبال یک عبارت خاص گشتهاند .هنگامی که بازدیدکننده در جعبه جستجوی پیشنهادگر «کلمهای» را مینویسد، یک پنجره بازشونده ظاهر میگردد که به ترتیب مناسبترین کلمات و عبارات مشابه را به وی پیشنهاد میکند .برای نمونه، نوشتن حروف «کاً لیستی را ایجاد میکند که نخستین کلمه آن »کامپیوتر« است و شامل کلمات دیگری همچون »کارشناسی ارشد« ، »کارت تبریک« و »کاریکاتور" نیز میشود .به گفته مسئولان این شرکت، بر خلاف انتظار گوگل از آمار عمومی و روزانهای در هنگام جستجوها یافت میشود استفاده نمیکند و در این سیستم از یک بانک اطلاعاتی گسترده به منظور پاسخ به درخواستها که صرفاً برای این موضوع ساخته شدهاست، استفاده شدهاست .مراجعه به پیوند
۳- سیستمهای پیشنهادگر در فروشگاههای الکترونیک(۱)مراجعه به پیوند
۴- سیستمهای پیشنهادگر در فروشگاههای الکترونیک(۲)مراجعه به پیوند
۵- گوگل «پیشنهادکننده» خود را ارائه کرد مراجعه به پیوند
6- مقدمه بر سیستم های توصیه گر؛ الگوریتم ها و کاربردها. تالیف:محمد درزی، زهرا مرادی منش، حبیب ا.. اصغری مراجعه به پیوند
7-"تحليل الگوريتمهای پالايش مشارکتی مبتني بر کالا در ارايه خدمات به شهروند الكترونيك"،محمددرزی، حبيب¬اله اصغری، آندره شلتز(Szelc Andrzej Stanislaw)،نخستين کنفرانس شهر الکترونيکی- اسفند 1386مراجعه به پیوند
8-"بررسی و تحليل فاکتورهای اساسی در طراحی يک سيستم توصيه گر".زهرا مرادی منش، محمددرزی، حبيب ا... اصغری،دومين کنفرانس شهر الکترونيکی-خرداد 1388مراجعه به پیوند
منابع [ویرایش]
۱.بالابانویچ و شهام ( M. Balabanovic and Y. Shoham)، مقاله «توصیه انجمنی محتوی محور»، مجله ارتباطات، ACM ،۱۹۹۷.
۲. بروک (Bruke، R.)، مقاله «سیستمهای توصیه گر دانش محور»، برای چاپ در دانش نامه علوم اطلاعات و کتابخانه، ۱۹۹۹.
۳. فلفرینگ و فردریش (Felfernig، A. Friedrich، G. and Schmidt-Thieme، L.)، مقاله «سیستمهای توصیه گر»، مجله سیستمهای هوشمند،IEEE ،۲۰۰۷.
۴.کازوناری و کنجیو یوشیکاوا (Sugiyama Kazunari، Hatano Kenji، Masatoshi Yoshikawa)، جستجوی وب، مبتنی بر پروفایل ایجاد شده برای کاربر بدون هیچگونه تلاشی از طرف وی"، سیزدهمین کنفرانس بینالمللی شبکه جهانی وب، نیویورک، آمریکا، ۲۰۰۴.
۵.میدلتان (Stuart Edward Middleton)، پایان نامه دکتری با عنوان «استخراج دانش (سلایق کاربر) به کمک سیستمهای توصیه گر»، دانشگاه ساوتمپتون، بخش الکترونیک و علوم کامپیوتر، ۲۰۰۳.
جستارهای وابسته [ویرایش]
پیوندهای بیرونی [ویرایش]
چند نمونه معروف از کاربردهای سیستم توصیه گر :
گروههای تحقیقاتی مرتبط :