مرور ادبیات سیستم های توصیه گر
– کارهای گذشته
این فصل، بررسی جامعی از سیستمهای توصیه گر است که محدودیتهای مختلف نسل حاضر روشهای توصیه را مشخص می کند و بعضی از اولین روشها، برای رفع این محدودیتها و توسعه ی قابلیتهای این سیستمها را مورد بحث قرار می دهد.
2-1- معرفی
اگرچه سیستمهای توصیه گر، ریشه در کارهای گسترده ای دارند که در علم شناخت [49]، تئوری تقریب ، بازیابی اطلاعات ، تئوریهای پیش بینی صورت گرفته است و همچنین پیوندهایی با علم مدیریت و مدل کردن انتخاب مصرف کننده در بازاریابی دارند، بعنوان یک زمینه ی تحقیقاتی مستقل در اواسط دهه ی 1990، پدیدار شدند در آن زمان، محققین متمرکز روی مسائل توصیه ای بودند که صراحتاً به ساختار درجه گذاریها متکی بود. با ساده ترین بیان، مساله ی توصیه، مساله ی تخمین درجه ها برای آیتمهایی است که هنوز کاربر آنها را ندیده است. بطور شهودی، این تخمین، معمولاً مبتنی بر درجاتی است که این کاربر به دیگر آیتمها داده است و بر اطلاعات دیگری که در ادامه ذکر خواهد شد. وقتیکه ما بتوانیم برای آیتمهای هنوز دیده نشده، درجاتی را تخمین بزنیم، می توانیم به کاربر آیتمهای با بالاترین درجات تخمینی را توصیه کنیم.
بطور رسمیتر، مساله ی توصیه را می توان به این صورت بیان کرد که اگر S مجموعه ی همه ی آیتمهای قابل توصیه نظیر کتابها، فیلمها یا رستورانها – در بعضی سیستمها، ممکن است صدها هزار یا میلیونها آیتم موجود باشند – C مجموعه ی همه ی کاربران – ممکن است میلیونها کاربر در بعضی سیستمها موجود باشند – و u، یک تابع سودمندی باشد که مفید بودن آیتم s برای کاربر c را اندازه می گیرد؛ یعنی: که در آن R مجموعه ای تماماً مرتب (مثلاً اعداد صحیح نامنفی یا اعداد حقیقی داخل یک بازه خاص) است، می خواهیم برای هر کاربر آیتم را چنان انتخاب کنیم که سودمندی برای این کاربر به حداکثر برسد؛ یعنی:
(2-1)
در سیستمهای توصیه گر، سودمندی یک آیتم، معمولا با یک درجه نشان داده می شود که بیان می کند یک آیتم خاص به چه مقدار مورد علاقه یک کاربر خاص است؛ مثلاً، اگر یک کاربر خاص به فیلم ” هری پاتر” درجه 7 از 10 را بدهد، 70 درصد به این فیلم علاقه مند است. بااین وجود، در حالت کلی، سودمندی می تواند هر تابع دلخواهی باشد؛ مثلاً یک تابع بهره می تواند سودمندی را مشخص کند. بنابه کاربرد، سودمندی u، یا بوسیله ی کاربر مشخص می شود یا مانند یک تابع سودمندی بهره محور، بوسیله سیستم محاسبه می گردد.
هر عضو فضای کاربری C را، می توان با یک پروفایل مشخص کرد که شامل مشخصات کاربری گوناگونی نظیر سن، جنس، درآمد، وضعیت تاهل و غیره است. در ساده ترین حالت، پروفایل فقط شامل یک جزء منحصربفرد، نظیر شناسه ی کاربری است. همینطور، هر عضو فضای آیتم S با مجموعه ای از ویژگیها مشخص می گردد. مثلاً در سیستم توصیه ی فیلم، که S در آنجا، مجموعه ای از فیلمهاست، هر فیلم نه فقط با شناسه اش بلکه با عنوان، ژانر، کارگردان، سال نمایش، بازیگران اصلی و … آن، مشخص می شود.
مساله ی اصلی سیستمهای توصیه گر در این است که سودمندی u، معمولاً در کل فضای مشخص نیست بلکه فقط روی زیرمجموعه ای از آن معلوم است. در نتیجه، u باید به کل فضای برونیابی شود. در این سیستمها، سودمندی را نوعاً با درجه نمایش می دهند و در آغاز فقط روی آیتمهایی که کاربر قبلاً درجه گذاری کرده، معلوم است. مثلاً در یک سیستم توصیه ی فیلم (نظیر MovieLens.org) کاربران درآغاز، زیرمجموعه ای از فیلمهایی که قبلاً دیده اند را درجه گذاری می کنند. شکل 2-1، مثالی از ماتریس درجه گذاری کاربران روی آیتمها، برای یک سیستم توصیه ی فیلم می باشد که در آن هر درجه مقداری از ا تا 5 است. بنابراین، موتور توصیه باید قادر باشد که درجات داده نشده کاربران را تخمین بزند و توصیه هایی براساس این تخمینها تولید کند.
سیستمهای توصیه گر معمولاً براساس نحوه ی تولید توصیه ها به انواع زیر طبقه بندی می شوند [3]:
روشهای محتوا محور : به کاربر آیتمهایی توصیه خواهد شد که مشابه به آیتمهایی است که کاربر درگذشته می پسندید.
روشهای مشارکتی : به کاربر آیتمهایی توصیه خواهد شد که افراد هم سلیقه و همفکر این کاربر، درگذشته می پسندیدند.
روشهای تلفیقی : ترکیبی از دو روش بالا.
علاوه بر سیستمهای توصیه گری که مقادیر مطلق درجات را پیش بینی می کنند بطوریکه کاربران احتمالاً به آیتمهای موردنظر همان درجات را خواهند داد، کارهایی درباب فیلترینگ ترجیح محور یعنی پیش بینی پسندها و تمایلات نسبی کاربران صورت گرفته است [28، 29]. مثلاً در یک سیستم توصیه فیلم، تکنیکهای فیلترینگ ترجیح محور، بجای پیش بینی درجات مجزای فیلمها، روی پیش بینی ترتیب درست فیلمها متمرکز می شوند. بااین وجود، تمرکز این فصل، در درجه ی اول روی توصیه گرهای درجه محور است چون رایج ترین روش برای سیستمهای توصیه گر می باشد.