Recommendation System (سیستم های توصیه گر)

از OCCC Wiki
پرش به ناوبری پرش به جستجو

سیستم های توصیه گر

چکیده

رشد بی سابقه تکنولوژي جدید اینترنت در سالهاي اخیر، باعث ایجاد برنامه هاي کاربردي بسیار زیادي در زمینه تجارت الکترونیکی شده است. وجود برنامه هاي کاربردي در زمینه B2C و B2B نیاز به ارتباط موثر بین ماشین ها را دارد. یکی از مهمترین برنامه هاي کاربردي سیستم هاي توصیه گر می باشد. سیستمهاي پیشنهاد دهنده یک نوع ویژه از سیستم هاي فیلتر اطلاعات است، که در آن آیتم ها را، بر اساس اینکه چه آیتمی براي کاربر جذاب است، از یک مجموعه بزرگ از آیتم ها و کاربران فیلتر می کنند. توصیه فرایندی است که نقش مهمی در بسیار ی از برنامه های کاربردی وب بازی می کند سيستم هاي توصيه گر سيستم هايي هستند که سعي دارند بر اساس عملکرد، سليقه هاي شخصي، رفتارهاي کاربر و بسته به زمينه اي که در آن مورد استفاده قرار گرفته اند، به هر کاربر پيشنهادهايي را ارائه دهند که با تمايلات شخصي وي تطابق داشته و وي را در فرايند تصميم گيري ياري نمايند. با رشد روز افزون تجارت در دنياي وب، آموزش الکترونيکي، افزايش ارتباط و اشتراک کاربران با يکديگر و پيدايش شبکه هاي اجتماعي، لزوم طراحي و پياده سازي چنين سيستم هايي غير قابل انکار است. هدف اصلی بررسی چالش های مختلفی است در رابطه با تکنیک های مختلفی که در زمینه توصیه گری وجود دارد. با بررسی این مشکلات می توانیم کیفیت سیستم های توصیه گری را افزایش دهیم با اختراع روش های و متد های جدید که می توانند در این حوزه کاربردی باشند.

مقدمه

دراواسط دهه 1990 ، زمانیکه محققان تحقیقاتشان را در زمینه سیستمهاي پیشنهاد دهنده آغاز نمودند این تحقیقات بطور روشنی روي ساختارهاي نرخ گذاري متمرکز بود. دراغلب فرمول ها، مسایل پیشنهاد دهی با تخمین نرخ که معمولا توسط کاربران داده می شد، کاهش می یافت. تخمین ها معمولا براساس نرخهاي داده شده به آیتمها توسط کاربر واطلاعات دیگرکه بصورت قراردادي وجود داشت زده می شد. دراینصورت آیتمهایی به کاربر پیشنهاد می شد که بالاترین نرخ را داشتند. بطور قراردادي مسئله پیشنهاد دهی بصورت زیر فرمول بندي می کنیم.

دراین روش C را به عنوان همه کاربران و S را به عنوان همه آیتمهاي ممکن مثل کتاب، فیلم، رستوران و ...که می تواند به کاربر پیشنهاد شود درنظر می گیریم. فضاي S از آیتمهاي ممکن می تواند خیلی بزرگتر باشد و دامنه اي بین صد، هزاران S به کاربر پیشنهاد شود درنظر می گیریم. فضاي یا حتی میلیونها آیتم در هر کاربردي باشد؛ مثل پیشنهاد کتاب یا سی دي که می تواند در بعضی موارد فضایی میلیونی داشته باشد. تابع سودمندي u، سودمندي آیتم s را براي کاربر c بیان می کند. مجموعه کل سفارشات را با R نشان داده که بصورت C*S->R تعریف می نماییم.

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

بررسی ادبیات موضوع

بدنه ی تحقیق

سیستم های توصیه گر را به سه دسته تقسیم می کنند که در ادامه به بررسی آنها می پردازیم.

Collabrative Filtering Process

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

  • فیلترینگ مشارکتی تمام فضای کاربر را به عنوان ماتریس امتیاز R نشان می دهد. هر کدام از درایه های این ماتریس مقدار ترجیح را نشان می دهند اگر کاربر iام به آیتم jام امتیاز داده باشد که این امتیاز ها به صورت عددی است و همین طور می تواند صفر باشد که بیان کننده این موضوع است که این فرد هنوز امتیاز نداده است.

12.png

  • مشکل فیلترینگ مشارکتی شامل ارزیابی یا پیش بینی امتیاز دهی اقلامی است که هنوز امتیاز دهی نشده اند . برای پیش بینی امتیاز دهی مشابهت بین کاربران از طریق روش های متفاوت محاسبه می شود .

*با استفاده از این تشابه توصیه ای که از رابط خروجی تولید می شود را می توان به دو نوع پیش بینی و توصیه تقسیم بندی کرد.

Content-Based Process

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

  • این سیستم دارای پایگاه داده بزرگی متشکل از مواردی که توصیه می شوند و ویژگی های آیتم ها که آنها به عنوان مشخصات آیتم ها نامیده می شوند.

123.png

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

در واقع می توانیم با ویژگی های اقلام و کاربران توصیه های بهتر شخصی را به آنها پیشنهاد کند. پروفایل آیتم ها بر اساس مهمترین ویژگی آنها تعیین می شود. به عنوان مثال یک فیلم می تواند بر اساس عنوان ، ژانر ، زبان ، کشور ، بازیگران و غیره تقسیم شود. بر اساس وزن روش، تشابه بین دو آیتم می تواند اندازه گیری شود. بسته به حوزه ویژگی ها می توانند هم بر ارزش مقدار بولین و هم براساس ارزش محدود شده بیان شوند.

به عنوان مثال این را درنظر بگیرید که می خواهیم مجموعه ای از مقالات روزنامه در رابطه با موضوعات مختلف را تحلیل کنیم. درحالی که ارزش بولین میتواند براساس کلمه ای که در مقاله وجود دارد و یا خیر تعیین شود و مقدار int میتواند تعداد دفعاتی که یک کلمه تکرار می شود را بیان کند.

برای ساخت پروفایل کاربر می توان از اطلاعات کاربر استفاده کرد. در پایگاه داده فیلم، کاربران براساس ویژگی های دموگرافیکشان مانند سن، جنسیت، اشتغال، کد پستی توصیف می شوند.اطلاعات کاربران توسط خودشان ارائه می شود و یا این که این اطلاعات به صورت ضمنی توسط عامل جمع آوری می شوند.

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

Hybrid Process

برخی از سیستمهاي توصیه گر از روش دیگري که ترکیبی از دو روش مبتنی بر محتوا و فیلتر مشارکتی است، استفاده می نمایند تا محدودیتهاي دو روش قبلی را کاهش دهند. راههاي مختلفی براي ترکیب دو روش پیشنهاد شده است که درادامه دسته بندي می کنیم.این روشها ممکن است خروجی های متفاوتی را تولید کنند، روش های مختلف پیوند زدن عبارتند از :

  • اجرای جداگانه هر کدام از روش هایCF و CB و ترکیب پیش بینی آنها.
  • ترکیب قسمتی از ویژگی های مبتنی بر محتوا در روش همکارانه
  • ترکیب قسمتی از ویژگی های مشارکتی در روش مبتنی بر محتوا
  • ساخت یک مدل وحدت عمومی که ویژگی های هر دو روش مبتنی بر محتوا و مشارکتی با هم ترکیب کند.

برخی از موانعی که در سیستم های توصیه گر وجود دارند:

Sparsity Problem

یکی از مشکلات اصلی در سستم های توصیه گر به حساب می آیند و data sparsity تاثیر بسازی در کیفیت توصیه دارد.علت اصلی data sparsity این است که بیشتر کاربران به آیتم ها رتبه نمی دهند و رتبه های در دسترس معمولا پراکنده هستند.فیلترینگ مشارکتی از این مشکل رنج می برد به این علت که به ماتریس رتبه دهی وابسته است.

Cold Start problem

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

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

نتیجه گیری

مراجع

[1]Lalita Sharma, Anju Gera, A Survey of Recommendation System: Research Challenges,International Journal of Engineering Trends and Technology,May 2013