سیستم های توصیه گر با بهره گیری از تکنیک های آماری و تکنیک های کشف دانش به منظور توصیه محصولات به کاربران و کاهش مشکلات ناشی از حجم زیاد داده ها به کار گرفته می شوند. ارزیابی کیفیت سیستم های توصیه گر به یک مسئله مهم برای انتخاب بهترین الگوریتم های یادگیری تبدیل شده است.
مقایسه ی بین سیستم های توصیه گر نیازمند بکارگیری یک روش استاندارد و قابل قبول برای ارزیابی آنها می باشد. با این وجود، در حال حاضر، ارزیابی سیستم های توصیه گر با روش¬هایی غالبا ناسازگار با یکدیگر صورت می گیرد. مشکل اصلی عمدتا به دلیل فقدان یک چارچوب مشترک برای سیستم های توصیه گر است، یک چارچوب به اندازه کافی عمومی به طوری که طیف وسیعی از سیستم های توصیه گر تا به امروز را شامل گردد و به اندازه کافی خاص و معین به طوری که نتایج ثابت و قابل اطمینانی را بدست دهد. در این مستند، معیارهای موجود برای ارزیابی سیستم های توصیه گر را معرفی و تشریح نموده و در پایان چارچوبی ارائه خواهد گردید که اقدام به استخراج ویژگی های اساسی سیستم های توصیه گر می نماید. در این چارچوب، اساسی ترین ویژگی هر سیستم توصیه گر، هدف سیستم توصیه گر در نظر گرفته شده است.
لازم به ذکر است که سیستم های توصیه گر بعنوان برنامه هایی کاربردی با اهداف اساسی زیر در نظر گرفته می شوند. سیستم های توصیه گر باید : (الف) انتخاب کنند که کدامیک (از آیتم ها) باید به کاربر نشان داده شود و (ب) تصمیم بگیرد در چه زمانی و چگونه توصیه ها به نمایش درآیند.
در این مستند خواهید دید که یک متریک جدید به طور طبیعی از بکارگیری این چارچوب پدیدار می گردد. در نهایت، با مقایسه خواص این متریک جدید با متریک های سنتی نتیجه خواهیم گرفت که ممکن است بتوان طیف وسیعی از سیستم های توصیه گر را با این متریک واحد ارزیابی نمود.
و اما پس از آشنایی کامل با انواع سیستم های توصیه گر و نحوه¬ی کار آن¬ها به موضوع اصلی یعنی ارزیابی سیستم های توصیه گر خواهیم پرداخت. می دانیم که سیستم های توصیه گر فعلی یک هدف اصلی و روشن را دنبال می نمایند و آن هدایت کاربر به اشیاء و آیتم های مفید، جالب و مورد علاقه ی وی است. بدین ترتیب جهت ارزیابی یک سیستم توصیه گر می¬توان ارزیابی این امر که چه مقدار از این هدف محقق شده است را مد نظر قرار داد.
اگر چه با این تعریف، این سیستم ها طی سالیان اخیر تکامل یافته و رو به رشد هستند ولی به سختی می توان در مورد معیارهای ارزیابی آن ها اظهار نظر کرد. از اولین سیستم های توصیه¬گر تا به امروز، اکثر ارزیابی های تجربی منتشر شده صرفا بر اندازه گیری میزان نزدیکی پیش بینی¬های سیستم توصیه گر با ترجیحات واقعی کاربر متمرکز شده است.
اگر چه به طور کلی، این اندازه گیری ها بر هدف کلی و عمومی سیستم های توصیه گر فوق که در ابتدا بیان شد مطابقت ندارد. علاوه بر این، برخی از معیارها سیستم های توصیه گر را مجبور به پیروی از سیاست های خاصی میکنند که امکانات آنها را محدود می نماید. در واقع، به جای پیگیری هدف مشترکی که برای هر سیستم توصیه گر ادعا می شود، در حال حاضر متأسفانه، یک سری اهداف مبهم و غیرقطعی وجود دارد که عملا توسط معیارهای متنوع فعلی به طور غیر رسمی عرضه می شود.
برای تشریح بیشتر این امر، در چند پاراگراف نقل قول برخی از محققان در این حوزه را خواهیم آورد]20[:
چالش اصلی، انتخاب یک متریک مناسب است که تنوع زیاد معیارهای منتشر شده جهت ارزیابی کمی دقت سیستم های توصیه گر را پوشش داده و همگی آنها را در بر گیرد. این فقدان استاندارد باعث لطمه زدن به پیشرفت دانش مربوط به سیستم توصیه گر مبتنی بر فیلترینگ تجمعی خواهد بود. بدون داشتن معیارهای استانداردی در این زمینه، محققان در زمان ارزیابی سیستمهای خود به معرفی معیارهای جدیدی خواهند پرداخت و بدین ترتیب با تنوع بسیار زیاد معیارهای ارزیابی در حال استفاده، مقایسه¬ی نتایج منتشر شده در یک نشریه با نتایج نشریه ای دیگر بسیار دشوار خواهد بود.
به همین دلیل، بسیار سخت خواهد بود که بتوان این نشریات متنوع را در یک مجموعه منسجم علمی در رابطه با کیفیت الگوریتم های سیستم توصیه گر تجمیع نمود. علاوه بر این، این معیارها محدودیت های خاصی دارند.
محققانی که می خواهند به مقایسه کمی دقت سیستم های توصیه گر مختلف بپردازند نخست باید یک یا چند معیار را انتخاب کنند. در انتخاب یک متریک، محققان با طیف وسیعی از سوالات روبرو هستند. آیا متریک مورد نظر، کارایی سیستم را نسبت به وظایف کاربر که برای آن طراحی شده بود اندازه گیری می نماید؟ آیا نتایج حاصل از انتخاب این متریک با سایر نتایج منتشر شده در سایر کارها در این زمینه قابل مقایسه است؟ آیا مفروضاتی که مبنای یک متریک قرار می گیرد،درست است؟ آیا متریک از حساسیت کافی برای تشخیص تفاوت های واقعی موجود برخوردار می باشد؟ چه مقدار تفاوت بین مقادیر حاصل شده از متریک برای ایجاد یک اختلاف آماری قابل توجه بایستی وجود داشته باشد؟ پاسخ کامل به این پرسش ها هنوز هم به طور کامل در مطبوعات منتشر شده ذکر نگردیده است.
با وجود این مشکلات ، ما نبایستی از هدف نهایی از هر متریک برای سیستم های توصیه گر چشم پوشی نماییم. یک متریک خوب باید ظرفیت محاسبه ی "رفتار خوب" یک سیستم های توصیه گر را دارا بوده و هر زمان که این سیستم ها در محیط های مشابهی (به عنوان مثال مجموعه داده ای از فعل و انفعالات کاربران) ظاهر گشتند، مقادیر مشابهی را تولید نماید.
علاوه بر این ، بایستی تعریف روشنی از معنی "رفتار خوب" ارائه نماییم. در هر صورت، آن باید با هدف واقعی از سیستم توصیه گر عمومی گفته شده که در ابتدا ذکر گردید مطابقت داشته باشد: هدایت کاربر به اشیاء و آیتم های مفید، جالب و مورد علاقه ی وی. لازم به ذکر است که دستیابی به این هدف مستلزم انجام دو وظیفه مختلف می باشد: (الف) تولید پیشنهاداتی که توسط کاربر مورد پذیرش واقع شود. (ب) فیلتر کردن آیتم های مفید و جالب. اولین وظیفه، با یک رفتار خارجی و تعاملی که هر توصیه گر به طور مستقیم به کاربر نشان می دهد به انجام می¬رسد. وظیفه دوم که مرتبط است با ''پیدا کردن آیتم های خوب'' ، با یک رفتار داخلی تر و تعاملی کمتر. با این حال، با وجود تعداد زیاد معیارهای منتشر شده تا به امروز، تعیین این دو وظیفه با هم، به عنوان یک هدف کلی، بر روی آنها بسیار دشوار است. علاوه بر این، جهت گیری یک تحقیق خاص ممکن است بیشتر بخش دوم از هدف را مد نظر قرار دهد، به گونه ای که اغلب هدف بخش اول در نظر گرفته نشود. در پایان این مباحث ما به سمت توسعه یک استاندارد جدید خواهیم رفت به گونه ای که هر دو این اهداف را با یکدیگر محقق سازد.
هرگاه یک سیستم توصیه گر ارزیابی شده است، معیاری استفاده می شود که بر اساس یک سری فرضیات خاص برای آن ساخته شده است. بنابراین، ما این بخش را به مرور و بررسی رایج ترین معیارها با مشخص کردن مفروضاتی که بر آنها استوار هستند اختصاص خواهیم داد و پر اهمیت ترین آنها را در نظر خواهیم گرفت. برای این منظور، اول از همه، ما شروع به توصیف چارچوب معمول پذیرفته شده در این زمینه برای تعریف فرآیند توصیه عمومی می نماییم.
در این چارچوب فعلی، یک سیستم توصیه گر در سیستم دیگری حاوی تعدادی از آیتم های موجود که توصیه می شوند تعبیه شده است. به منظور آغاز روند توصیه، آیتم های موجود بایستی توسط افراد درجه بندی شوند. در بسیاری از سیستم های توصیه گر این درجه بندی به وضوح فراهم می گردد. در برخی از موارد دیگر، این درجه بندی و ارزیابی از فعل و انفعالات سایر کاربران استنباط می شود و رتبه های ضمنی نامیده می شوند.
پس از آن ، هنگامی که سیستم توصیه گر به اندازه کافی رتبه بندی داشته باشد، این روند می تواند شروع شود. برای هر یک از توصیه ها، تعداد N<=I از اشیاء توسط توصیه گر انتخاب شده ، و به کاربر مورد نظر نشان داده می شود. علاوه بر این ، برخی از سیستم های توصیه گر همچنین اشیای محدود شده و برگزیده را جهت نمایش به کاربر در قالب یک لیست مرتب رتبه بندی می کنند. در مرحله بعد، کاربر احتمالا آیتم هایی را که در بالای این لیست ظاهر می گردند وارسی می کند.
در نهایت ، به منظور ارزیابی عملکرد سیستم توصیه گر ، برای هر شیء نشان داده شده به یک کاربر خاص ما باید میزان مطلوبیت و نزدیکی آیتم نشان داده شده را نسبت به ترجیحات کاربر انداره گیری نماییم. علاوه بر این ، در مورد لیست مرتب، ما باید مکان هر آیتم توصیه شده در این لیست را نیز به حساب آورده و تفسیر نماییم. در ادامه ، مرور سریعی بر چگونگی ارزیابی های انجام شده تا به امروز خواهیم داشت.
ملاحظات اولیه
به منظور اندازه گیری میزان نزدیکی پیش بینی ها به ترجیحات واقعی کاربران به طور معمول از یک نمایش عددی استفاده می شود. علاوه بر این ، به دلیل شفافیت بیشتر از علائم یکسانی در ادامه ی بخش جاری استفاده خواهیم کرد. برای این منظور( P(u , i پیش بینی سیستم توصیه گر برای کاربر خاص u و آیتم i و( p(u , i مقدار واقعی ترجیحات کابر تعریف می گردد.
واضح است، تابع( p(u , iهرگز نمی تواند با دقت مطلق آشکار گردد. بنابراین، ارزش این تابع معمولا با استفاده از رتبه بندی های قبلی کاربران تخمین زده می شود. همانطور که در بالا گفته شد این رتبه بندی می تواند به طور صریح یا ضمنی حاصل گردد.
در برخی موارد، هر دو تابع( p(u , i و( P(u , i تنها دو مقدار 1 یا 0 را ارائه می دهند که بدین معنی خواهد بود که آیتم خاص i برای کاربر خاص u به ترتیب مفید یا بی فایده در نظر گرفته شده است. برای این مورد منحصر بفرد، توابع p و P توابع دوتایی نامیده می شوند.
این را نمی توان انکار کرد که نوعی عدم یکنواختی در معیارهای فعلی برای ارزیابی سیستم های توصیه گر وجود دارد که یحتمل به خاطر تعداد زیاد آنها خواهد بود.
با این حال، ما تلاش خواهیم کرد آنها را بسته به روشی که آنها کمیت رفتار خوب یک سیستم توصیه گر را تعیین می کنند، به یکی از سه دسته طبقه بندی کنیم.
(1) پیش بینی امتیاز. این معیارها بر روی اندازه گیری ظرفیت سیستم توصیه گر برای پیش بینی امتیازی که یک کاربر به یک آیتم خواهد داد قبل از انجام این امتیاز دهی متمرکز شده اند.
(2) پیش بینی رتبه بندی. این معیارها بر روی اندازه گیری ظرفیت سیستم توصیه گر برای پیش بینی رتبه ای که یک کاربر بر روی مجموعه ای از اقلام خواهد داد قبل از انجام این رتبه بندی متمرکز شده اند.
(3) ظرفیت تصمیم گیری موفق (SDMC). این معیارها بر روی اندازه گیری ظرفیت سیستم توصیه گر برای ایجاد یک تصمیم گیری (توصیه) موفق متمرکز شده اند.
جهت این طبقه بندی در ذهن، ما باید MAE ( و معیارهای مربوط به آن) را به طبقه اول، معیارهای رتبه بندی را به طبقه دوم، و دقت ( و معیارهای مرتبط با آن) و معیارهای IR را به طبقه سوم تخصیص دهیم.
اکنون، اگر ما هدف اصلی از سیستم توصیه گر (اعلام شده در ابتدای بخش 1) را ارائه نماییم، مشاهده میکنیم آنچه که طبقه های اول و دوم از معیارها سعی بر اندازه گیری آن دارند را میتوان نوعی از معیارهای بیش از حد دارای جزئیات آن دانست. در واقع، ما نباید مفروضات بیشتری نسبت به آنچه که در واقع لازم دارند، بسازیم. با این حال، هیچ اشاره ای به امتیاز یا رتبه در تعریف هدف یک سیستم توصیه گر وجود ندارد. علاوه بر این، حتی با فرض اینکه توان یک آیتم مفید یک باشد که در اینصورت p(u , i) به اندازه کافی بالا خواهد بود، براستی جای بحث است که ما می توانیم تنها با استفاده از امتیازات کاربران مقدار دقیق تابع p(u , i) را نتیجه بگیریم]41[. در نتیجه، تمایل ما این است که ساخت متریک هایی که فقط هدف واقعی از یک نوع سیستم توصیه گر را اندازه گیری می کنند محدود نماییم که البته بایستی هشیار باشیم که مفروضات ساخته شده باید در سایر سیستم های توصیه گر مناسب از آغاز اندازه گیری قابل تنظیم کردن باشد.
بنابراین، برای حفظ روشی به اندازه کافی عمومی که هر سیستم توصیه گری با هدف بیان شده¬ی قبلی را در بر بگیرد، به خاطر داشته باشیم که این هدف در مبحث شرایط تصمیم گیری سیستم توصیه گر بیان گردید. بنابراین، معیارهای SDMC به عنوان مناسب ترین گزینه برای این کار به نظر می رسد.
با این حال، توجه داشته باشید که هنگامی که ما به یک توصیه مفید در معیار SDMC اشاره می کنیم، به طور کلی در نظر داریم که یک توصیه موفق، توصیه ای است که در آن آیتم توصیه شده مشابه با علایق واقعی کاربر مورد نظر باشد. به عبارت دیگر، اگر توابع ترجیح باینری کاربران را در نظر بگیریم، توصیه های موفق، آنهایی هستند که در مورد آنها داشته باشیم: | p(u , i) - P(u , i) | = 0
در این مرحله، ما می خواهیم دو پیش فرض مهم را که در پشت این باور معروف وجود دارد بیان نماییم:
(1) فرض اول اینکه یک توصیه موفقیت آمیز است اگر و تنها اگر آیتم توصیه شده، مفید واقع گردد. با این حال، یک هدف توصیه نیز راهنمایی به کاربر می باشد. علاوه بر این، اگر توصیه ای نه "مناسب" و نه به اندازه کافی "جذاب" برای هدایت کاربر به آیتم توصیه شده ارائه گردد، تمامی توصیه ها علی رغم سودمندی آیتم غیر قابل استفاده خواهند بود. به عبارت دیگر، مجزای از تصمیم متداول برای اینکه چه چیزی را توصیه کنیم، نیازمندیم که انتخاب کنیم چه وقت و چگونه توصیه کنیم.
(2) فرض دوم اینکه یک آیتم توصیه شده سودمند است اگر و تنها اگر ترجیحات مربوط به آیتم توصیه شده، منطبق بر ترجیحات کابر هدف واقع گردد. هر چند، این امر همیشه صحیح نیست. به عنوان مثال، بسیاری از سیستم های تجارت الکترونیک را در نظر بگیرید که در آن یک آیتم توصیه شده هر زمان که منجر به تحریک برای انجام یک معامله گردد، مفید است. به طور طبیعی، در مورد دومی می تواند هیچ ارتباطی با ترجیحات کاربر نداشته باشد. در واقع، آن می تواند یک ضرورت و نیاز باشد. بنابراین، سودمندی یک آیتم توصیه شده باید تجدید نظر گردیده و مورد تعمیم قرار گیرد.
بخاطر دلایل ذکر شده در بالا مدعی هستیم "مشخصات بیش از حدی" در معیارهای فعلی برای سیستم های توصیه گر وجود دارد. به عنوان یک راه حل، ما یک چارچوب به اندازه کافی عمومی برای تجزیه ی سیستم های توصیه گر با پیروی از سیاستهای تصریح شده فراهم خواهیم کرد، اما به اندازه کافی خاص که نتایج مهمی از آن حاصل گردد. برای این منظور، ما فرض خواهیم کرد تنها هدف سیستم های توصیه گر راهنمایی کاربران به اشیای جالب و مفید می باشد.
برای درک مفهوم سیستم توصیهگر، مفاهیم چهارگانه و ابتدایی زیر را بررسی کنیم.
در سیستمهای توصیه گر به کاربری که توصیه جاری در سیستم، برای وی در حال پردازش و آماده شدن است، کاربر فعال یا کاربر هدف میگویند.
الگوریتمهای به کار رفته در این سیستمها، از ماتریسی به نام ماتریس رتبهها استفاده میکنند؛ اصطلاحات رایج برای این ماتریس Rating Database و Preference Database نیز هستند.
از فعل مصرف کردن در سیستمهای توصیهگر، زمانی استفاده میکنند که کاربر توصیه ارائه شده را میپذیرد. به عبارتی وقتی کاربری پیشنهادی را که توسط سیستم به وی شده میپذیرد، میگوییم کاربر آن پیشنهاد را مصرف کرده، این پذیرش میتواند به شکلهای مختلفی باشد، مثلاً کاربر، کتاب پیشنهادی را میخرد، سایت پیشنهادی را مرور میکند و یا به شرکت خدماتی ای که به او پیشنهاد شده مراجعه میکند. ساختار ماتریس رتبهها بدین گونهاست که در آن، هر سطر ماتریس نمایانگر یک کاربر و هر ستون آن معرف یک آیتم خاص است.
حال با مفهوم تابع سودمندی آشنا خواهیم شد که قصد داریم به کمک آن یک مدل کلی ریاضی از سیستمهای توصیهگر را نیز ارائه دهیم. در واقع یک سیستم توصیهگر را میتوان با این نگاشت همسان دانست و مدل کرد: u:C * S − > R
فرض کنید C مجموعه تمامی کاربران و S مجموعه اقلام در دسترس باشند. تابعی را که میزان مفید و متناسب بودن کالای c برای کاربر s را محاسبه میکند با u نشان میدهیم، که در آن R مجموعهای است کاملاً مرتب (براساس میزان اهمیت) . هرکدام از عناصر S را میتوان با مجموعهای از خصوصیات، مشخص کرد. برای مثال، محصولی مثل فیلم را میتوان با مشخصههایی چون عنوان فیلم، کارگردان، طول زمانی فیلم، تاریخ تولید و ... ثبت کرد. همچنین عناصر مجموعه C را نیز میتوان بر اساس ویژگیهای مثل سن، جنسیت و ... ثبت کرد. (باید توجه داشت که u روی تمام فضای مجموعه آغازین S×C تعریف شده نیست؛ از این رو باید برونیابی شود.)
سلام
ممنون از اطلاعاتی که در اختیار همه قرار میدید. من از این مطلب استفاده کردم حالا چجوری باید بهش ارجاع بدم؟ به سایت که نمی تونم ارجاع بدم. اگه این مطلب ترجمه است کاش اصل مقالشم بود اگه ام تالیفه کاش می شد ارجاعات داخلش مشخص بود .
سلام
ممنون از اطلاعاتی که در اختیار همه قرار میدید. من از این مطلب استفاده کردم حالا چجوری باید بهش ارجاع بدم؟ به سایت که نمی تونم ارجاع بدم. اگه این مطلب ترجمه است کاش اصل مقالشم بود اگه ام تالیفه کاش می شد ارجاعات داخلش مشخص بود .
سلام. وقت بخیر.
نمی دونم دیره دارم جواب می دم یا خیر. من این لینک رو هم پیدا کردم که اطلاعات مشابه داره و منابع رو در انتهاش اعلام کرده. شاید به دردتون بخوره: