بخشی از مقاله

چکیده

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

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

-1 مقدمه

عموماً سیستمهای پیشنهاد دهنده1 بخصوص در زمینه فیلم و موسیقی بر پایه دو روش کلی استوار هستند. روش اول، با نام تحلیل مبتنی بر محتوا 2 - CA - سعی دارد، برای هر کاربر و البته هر محصول هدف که میتواند فیلم یا موسیقی باشد، اطلاعاتی مبنی بر ماهیت آنها را استخراج کند. منظور از ماهیت را به عنوان مثال میتوان برای کاربران، دانستن اطلاعاتی شخصیتی و روانشناختی تلقی کرد، اینکهمثلاً قبل از شروع سیستم، کاربری چه علایق و یا چه رفتارهایی خواهد داشت. شاید یکی از اهداف این روش، مقابله با مشکل شروع آهسته 3 - CS - در سیستم های پیشنهاد دهنده باشد، از مشکلات این روش، در دسترس نبودن اطلاعات کاربران و محصولات است.

از کارهای انجام شده در سیستم های پیشنهاد دهنده با این روش، میتوان به پروژه Music Genome Project در [1] اشاره کرد که در آن ویژگیهای استخراجی، به عنوان ژن در نظر گرفته شده و توسط یک سیستم آنالیزی به هر موسیقی ارزشی تعلق میگیرد. تحلیلگر بر اساس نتایج تحلیلی نزدیکترین موسیقی را به سلایق کاربران ارائه میدهد. در پژوهشی دیگر [2] با بهرهگیری از پردازش سیگنال4 خصوصیات و ویژگیهای صوتی هر موسیقی استخراج شده و بر پایه اطلاعات بدستآمده، سیستم پیشنهاددهنده نزدیکترین پیشنهاد را به کاربران ارائه داده است.

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

در [3] و [4] از روش مبتنی بر فیلترینگ مشارکتی جهت ارائه پیشنهاد در سیستم پیشنهاد دهنده طراحی شده استفاده شده است. در [4] طرح پیشنهادی تجزیه ماتریس بود که سال ها این روش مورد استقبال قرار گرفت. در روشی دیگر [5] که با معرفی Activity-Balanced Clustering به طراحی یک سیستم پیشنهاد دهنده که به ساخت خوشه هایی که در آن فعالیتهای کاربر و علایق آنها مورد توجه قرار میگیرد پرداخته شده است. در این روش به جستجوی الگوهای جدید در ویژگیهای گروه کاربری پرداخته شده است و در نهایت به مقایسه و بررسی نتایج نسبت به الگوریتم خوشه بندی K-Means اشاره شده است.

-2 اهداف و طراحی سیستم

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

-1-2 استخراج علایق کاربران و میزان محبوبیت فیلمها

در ابتدا نیاز است برای سهولت در بیان روش پیشنهادی، توضیح مختصری در مورد مجموعهداده استفاده شده، داده شود. این مجموعهداده شامل تعداد 6040 کاربر با مشخصاتی از قبیل نام، جنسیت، شغل، آدرس و ... است که به 3900 فیلم در قالب 18 ژانر سینمایی رای دادهاند، این مجموعهداده شامل تعداد 1000209 مختلف از امتیاز کاربران به فیلم های مشاهده شده در بازه 0 تا 5 است. در ابتدا باید علایق کاربران را از این مجموعهداده استخراج کنیم. منظور از علاقه، میزان تمایل هر کاربر به فیلم با ژانرهای6 مختلف است. در واقع تحلیل کلی رتبههای7 دادهشده توسط کاربر هدف به فیلمها در ژانرهای مختلف، میتواند راهی برای کشف سلیقه کاربر باشد.

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

با محاسبه رابطه - 1 - محبوبیت فیلمها را در ادامه کار نیاز خواهیم داشت. اما چطور این فاکتور را از میان مجموعهداده استخراج کنیم؟ ایدهای که برای این منظور مطرح شد به این صورت است که میزان محبوبیت هر فیلم بر اساس رتبه یا آرای داده شده توسط کاربرانی که آن فیلم را مشاهده نمودهاند، قابل محاسبه خواهد بود، لذا میزان محبوبیت هر فیلم را میتوان از مجموع رتبههایی که کاربران بیننده به آن فیلم دادهاند استخراج نمود، در این ایده دو مسئله قابل پوشش است :

-1 به علت پویایی سیستم، فیلمی که مجموعه رتبههای بالایی دارد طبعتاًی تکرار نمایش زیادی نیز داشته است، پس در نتیجه اعمال دفعات نمایش فیلم در میزان محبوبیت، به خودی خود در این محاسبه پوشش داده شده است.

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

-2-2 ایجاد سیستم پیشنهاددهنده کاربر به کاربر

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

-3-2 بهرهگیری از خوشهبندی در سیستم پیشنهاددهنده

در سیستم پیشنهادی به چند دلیل از خوشهبندی8 دادهها استفاده شد که علتهای اصلی آن به شرح زیر است :

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

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

پس از خوشهبندی و یافتن مراکز خوشهها، فاصله کاربر هدف را که قرار است به او دوستی از میان اعضا پیشنهاد شود، با مراکز تکتک خوشهها مقایسه میشود. این فاصله از رابطه - 3 - بدست خواهد آمد. در ادامه سیستم پیشنهادی از اعضای خوشه ای که کاربر هدف با آن ها فاصله کمتری دارد عضوی با کمترین فاصله به این کاربر به عنوان دوست پیشنهاد داده و دو مورد زیر را پوشش خواهد داد:

-1 همانند سیستم CBR9 این سیستم میتواند مجموعه داده را پس از ورود کاربر تازه وارد گسترش دهد. این کار باعث تأثیر نظرات و سلیقه این کاربران و ارتقاء کیفیت پیشنهادات خواهد شد.

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

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