بخشی از مقاله
چکیده
امروزه به دلیل رشد اطلاعات، کاربرد کامپیوتر در زندگی بشر ابعاد گستردهای پیدا کرده است. در بخشهایی که حتی روزی فکرش هم به ذهن خطور نمیکرد، امروزه تحلیل و محاسبات بدون استفاده از روشهای کامپیوتری امکان پذیر نیست. برخی کارشناسان این سرعت پرشتاب تحولات در زمینه های اطلاعات و ارتباطات را به انقلاب اطلاعات تعبیر کردهاند که کاربران را با این مشکل مواجه نموده است که چگونه کالا یا خدمت مورد نظر خود را به راحتی و با صرف کمترین زمان ممکن بیابند. سیستمهای توصیه کننده، سیستمهای موثر در راهنمایی و هدایت کاربران در میان در حجم عظیمی از انتخابهای ممکن برای رسیدن به گزینه مفید و مورد علاقه هستند. سیستمهای توصیه کننده با هدف تسهیل و یاری رساندن به کاربران در زمینه انتخاب و یافتن کالای مورد نیاز ایشان با استفاده از علوم و روشهای مبتنی بر داده کاوی اطلاعات، ایجاد و توسعه یافتهاند. داده کاوی یکی از مهمترین روشهایی است که به وسیله آن الگوهای مفید در دادهها با حداقل دخالت کاربران شناخته میشوند و اطلاعاتی را در اختیار کاربران و تحلیل گران قرار میدهند تا براساس آنها تصمیمات مهم و حیاتی در امور گرفته شود. داده کاوی به کمک مجموعهای از روشهای آماری و مدلسازی میتواند الگوها و روابط پنهان را بیابد. یکی از روشها، استفاده دسته بندی و رگرسون میباشد. ما در این مقاله دقت چهار نوع دسته بندی به نامهای درخت تصمیم، نزدیکترین همسایه، ماشین بردار پشتیبان و شبکه عصبی چند لایه را مورد بررسی قرار دادیم و همچنین از رگرسیون برای پیش بینی ژانرهای فیلم استفاده کردیم. در رگرسیون میزان میانگین مربعات خطا برابر 1.2157 و ما با شبکه عصبی چند لایه آن را به مقدار 1.1143 حدود 0.1 کاهش دادیم.
کلید واژه: داده کاوی1، سیستمهای توصیه کننده 2، دسته بندی3 ، رگرسیون4
-1 مقدمه
با پیدایش کامپیوتر وشبکههای کامپیوتری، اجتماع ما دچار دگرگونیهای سریع در تمام زمینهها شده است. ما خریدهای خود را بصورت آنلاین انجام میدهیم، اطلاعات مورد نیاز را از طریق موتورهای جستجو جمع آوری میکنیم و بخش قابل توجهای از زندگی اجتماعی ما به اینترنت وابسته است. علاوه بر آن با گسترش حجم اطلاعات، کاربران با انبوه اطلاعات مواجه هستند که موجب سر درگمی آنها میشود. بنابراین ما در میان حجم عظیمی از دادهها و اطلاعات قرار گرفتهایم که بدون راهنمایی درست، ممکن است انتخابهای اشتباه و یا غیر بهینه از میان آنها داشته باشیم. سیستمهای توصیه کننده، سیستمهای موثر در راهنمایی و هدایت کاربران در میان در حجم عظیمی از انتخابهای ممکن برای رسیدن به گزینه مفید و مرود علاقه هستند. در تعریف کلی، سیستمهای توصیه کننده را زیر مجموعهای از سیستمهای حامی تصمیم گیری5 میدانند و آنها را سیستمهای اطلاعاتی تعریف میکنند که توانایی تحلیل رفتارهای گذشته و توصیههایی برای مسائل جاری دارند. به طور کلی توصیههای سیستم توصیه کننده میتواند دو نتیجه داشته باشد: -1 کاربران را در تصمیم گیری کمک کنند - بطور مثال از میان چندین گزینه موجود کدام یک بهتر است و آن را نتخاب کند -
-2 موجب میشود آگاهی کاربر در مورد زمینه مورد علاقهاش بیشتر شود - برای مثال در حین توصیه به کاربر موجب تا کابر با اطلاعات جدیدی که قبلا آنها را نمیدانسته است آشنا شود - .[1,2] در حالت کلی سیستمهای توصیه کننده به به توصیه یک نوع کالا، با تواتر خرید بالا مانند موسیقی، فیلم، کتاب و ... میپردازد.[2,3] در سالهای اخیر شیوهها، رویکردها، الگوریتمها و مدلهای متنوع و گوناگونی در زمینه توسعه انواع سیستمهای توصیه کننده مطرح گردیده است که از ابعاد مختلف و با نگاههای متفاوتی به مساله ارائه پاسخ و پیشنهاد مناسب به کاربران پرداختهاند. یکی از روشهای آن استفاده از داده کاوی میباشد. داده کاوی یکی از مهمترین روشهایی است که به وسیله آن الگوهای مفید در دادهها با حداقل دخالت کاربران شناخته میشوند و اطلاعاتی را در اختیار کاربران و تحلیل گران قرار میدهند تا براساس آنها تصمیمات مهم و حیاتی در امور گرفته شود. علم داده کاوی و کشف اطلاعات ارزشمند از حجم عظیم دادهها، یکی از حوزههای تحقیقاتی جذاب و پر کاربردی است که دو دهه گذشته بسیار توسعه پیدا کرده است. در میان تکنیکهای مختلف داده کاوی، قوانین انجمنی به دلیل کاربرد وسیع در بازاریابی و همچنین تحلیل سبد خرید مشتریان بسیار مورد توجه قرار گرفته است.[5]
نمونههایی از سیستمهای توصیه کننده شامل سیستمهای پیشنهاددهنده فیلم [ ]، سیستمهای جستجوی شغل [ ]، سیستمهای شخصیسازی اخبار و سیستمهای انتقال تبلیغات [ ] هستند. در سیستمهای توصیه کننده جمعی در مقالههای [9-14] کار شده است. به عنوان مثال با داشتن اطلاعات در خصوص کارگردان یا سبک یک فیلم سینمایی میتوان پیشنهادات مناسبتری را به کاربر مقصد ارائه نمود .[10] هارپر و همکاران به معرفی خوشهبندی فعالیت کاربر و طراحی سیستم پیشنهاددهندهای که در آن فعالیتهای کاربر و علایق آن مورد توجه قرار میگیرد .[9] ژنگ و همکاران به حل مشکل پراکندگی رتبهبندیها با استفاده از عامل ضریب را بررسی کردند.[12] لاتیا و همکاران حل مشکل پراکندگی با استفاده از روشهای کاهش بعدگرایی نظیر SVD برای کاهش بعدگرایی ماتریسهای رتبهبندی پرداختند.[13] دوی و وانکشتاین به حل مشکل پراکندگی با استفاده از خوشهبندی ساده برای رتبهبندی ترجیحات که چگالی رتبهبندی محلی را نیز بهبود میدهد.[14] سیستمهای توصیه کننده مبتنی بر محتوا7 سایر الگوریتمهای دستهبندی مانند روش k نزدیکترین همسایه8، درخت تصمیم9 و شبکههای عصبی10 و همچنین خوشه بندی11 نیز برای تولید سیستمهای توصیه کننده مبتنی بر محتوا مورد استفاده قرار میگیرند .[15-22]
فلفرینگ و همکاران به و جمع آوری اطلاعات و محتوای مرتبط با ترجیحات و سلایق کاربر در قالب یک پرسوجو بر روی اطلاعات مطرح میشود، پرداختند.[15,16] سوزانا وساکاریا به ویژگیهای استخراجی به عنوان ژن در نظر گرفته شده، به هر موسیقی ارزش تعلق میگیرد و در نهایت نزدیکترین موسیقی به سلیقهی کاربر پیشنهاد، میشود.[17] پازانی و بیلسوس به استفاده از یک درخت تصمیم با دادههای ساخت یافته برای بهبود عملکرد و دقت پیشنهاد پرداختند.[ ] آداماویسیوس و توزیلین به استفاده از شبکه بیزن برای بهبود عملکرد سیستمهای توصیه کننده پرداختند.[19]آماتریاین و همکاران به با استفاده از پردازش سیگنال خصوصیات و ویژگیهای صوتی استخراج شده و سیستم نزدیکترین پیشنهاد را ارائه میدهد.[20] مانی و همکاران به عنوان راه حل جایگزین روشهای بازیابی اطلاعات، می توان مسئله پیشنهاد دهی به کاربران را به عنوان یک مسئله دستهبندی در نظر گرفت که در آن محتوای هر آیتم به عنوان مشخصهها و معیارها مطرح میگردند و امتیاز داده شده توسط کاربر به هر کدام از آیتمها به عنوان برچسب کلاس بکار میرود. به عنوان مثال در سایتهای فروش کتاب میتوان از اطلاعات عنوان کتاب، نویسنده، ناشر، تعداد دفعات چاپ و غیره برای آموزش یک چند جملهای دستهبند بیزین ساده استفاده نمود.[21]
سایر الگوریتمهای دستهبندی مانند روش k نزدیکترین همسایه، درخت تصمیم و شبکههای عصبی [22] مورد استفاده قرار میگیرند. سیستمهای توصیه کننده مبتنی بر جمعیتشناختی [23-25] ریچ به طراحی سیستم توصیه کننده Grundy که پیشنهاد کتاب را بر اساس اطلاعات شخصی و از طریق گفتوگوی تعاملی انجام میدهد.[ ] کرولویچ به طبقهبندی گروههای جمعیتی تحقیقات بازریابی برای ارائهی محصولات و خدمات پرداختند] .[ پازانی به استفاده از یادگیری ماشین برای رسیدن به یک طبقهبندی بر اساس دادههای دموگرافیک را انجام داد] .[ سیستمهای توصیه کننده مبتنی بر دانش [26-28] اسمیت و همکاران به کشف انتقادات عنصری مفید در جهت بهبود کارایی پیشنهادات پرداختند.[ ] فلفرنیگ و همکارانبه طراحی سیستم توصیه کننده خدمات مالی VITA برای پشتیبانی از انتخابهای مشتریان در حوزههای تولیدی پیچیده و پر مشارکت پرداختند .[27]
ریسی و همکاران به کاربرد روششناسی پیشنهاد بر مبنای انتقاد برای کسب و بازبینی پسندهای کاربر به منظور بهبود سیستمهای توصیه کننده تلفن همراه پرداختند.[ ] سیستمهای توصیه کننده مبتنی بر فیلتر کردن ترکیبی [29-31] سیستمهای پیشنهاددهنده که از روشهای ترکیبی استفاده میکنند به وسیلهی بورک بررسی شدهاند.[29] اسپیگلی به طراحی سیستم توصیه کننده ترکیبی Hydra که ترکیبی از روش مشارکتی و مبتنی بر محتوا است به منظور افزایش عملکرد سیستم و دقت پیشنهادات پرداختند.[ ] غضنفر و پروگل بنت به غلبه بر مشکلات شروع سرد، قابلیت گسترش و پراکندگی داده به وسیلهی طراحی سیستم توصیه کننده ترکیبی که روشهای مشارکتی، مبتنی بر محتوا و جمعیتشناسانه را ترکیب میکند.[31] در سال گذشته مقالات بسیاری در مورد سیستمهای توصیه کننده اراده شده است و استفاده از روشهای جدید بخصوص استفاده از منطق فازی میباشد.[32-34]
و برچسب زنی در سیستمهای توصیه کننده با شبکه عصبی عمیق [35] از کارهای تازه در این زمینه میباشد و همچنین مدلهای بر اساس رفتار کاربران و موقعیت و ردیابی آنها [36] استفاده شده است یا روشهای نو در کارهای قبلی که توسط سوبی و همکاران با استفاده از خوشه بندی صورت گرفت.[37] در این مقاله ما با استفاده از تکنیکهای دسته بندی و رگرسیون به دقت در سیستمهای توصیه کننده فیلم را بررسی کردیم و نتایج آن را بیان میکنیم. در این آزمایش ما از مجموعه داده movielens استفاده کردیم. در ادامه مقاله بدین صورت سازمان دهی شده است در بخش دوم تعریف سیستمهای توصیه کننده، مزایا، چالشها و انواع رویکردهای آن بیان میشود. در بخش سوم به تعریف داده کاوی و تکنیکهای آن میپردازیم. در بخش چهارم دسته بندی و رگرسیون پرداخته میشود. در بخش پنجم ما نتایج آزمایشات را بیان میکنیم و در نهایت در بخش ششم ما نتیجه را بیان میکنیم.
-2 سیستمهای توصیه کننده
تعاریف متفاوتی برای سیستمهای توصیهگر ارائه شدهاست. عدهای از محققان سیستمهای توصیهگر را زیرمجموعهای از سیستمهای ت حامی تصمیم گیری میدانند و آنها را سیستمهای اطلاعاتی15 تعریف میکنند که توانایی تحلیل رفتارهای گذشته و ارائه توصیههایی برای مسائل جاری را دارا میباشند .[4] به زبان سادهتر در سیستمهای توصیه کننده تلاش بر این است تا با حدس زدن شیوه تفکر کاربر به کمک اطلاعاتی که از نحوه رفتار وی یا کاربران مشابه و نظرات آنها داریم مناسبترین و نزدیکترین کالا یا خدمت به سلیقه او را شناسایی و پیشنهاد کنیم. این سیستمها در حقیقت سعی دارند فرایندی را که ما در زندگی روزمره خود بکار میبریم و طی آن تلاش میکنیم تا افرادی با سلایق نزدیک به خود را پیدا