بخشی از مقاله

چکیده

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

کلمات کلیدی:سیستم توصیهگر، فروشگاه آنلاین، الگوریتم ژنتیک، ویژگیهای زمانی و مکانی

-1 مقدمه

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

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

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

-2 پیشینه تحقیق

به بیان ساده، سیستمهای توصیهگر ابزاری هستند که با در نظر گرفتن ویژگیهای مختلف، اقدام به پیشنهاد مناسبترین گزینهها - اطلاعات، محصولات، خدمات و ... - به کاربر مینمایند. هدف اصلی این سیستمها کمک به کاربران برای دسترسی آسانتر به گزینههای مد نظر آنها در میان انبوهی از انتخابها هستند. سیستمهای توصیهگر را میتوان در چهار گروه اصلی دستهبندی کرد :[6]

توصیه مبتنی بر محتوا: در این روش، علایق و سوابق کاربر هدف با ویژگیهای گزینههای موجود تطبیق داده شده و بهترین گزینهها به وی پیشنهاد میشوند. برای مثال، در یک سیستم پیشنهاددهی کتاب، می توان از کتابهایی که کاربر در گذشته مطالعه نموده است زمینه مورد علاقه وی را تشخیص داده و کتابهایی در آن حوزه به وی پیشنهاد نمود .[8 ,7]

توصیه مبتنی بر همکاری: در این روش، تشابه میان کاربر هدف با سایر کاربران مد نظر قرار گرفته و گزینههایی که کاربران مشابه ترجیح دادهاند به وی پیشنهاد میشود. برای مثال، در یک سیستم پیشنهاد خرید اینترنتی، میتوان محصولات مورد علاقه کاربرانی را که از نظر جنسیت و بازه سنی با کاربر هدف یکسان هستند به وی پیشنهاد نمود .[10 ,9]

توصیه مبتنی بر دانش: در این روش، قوانین و یا مکانیزمهایی برای استدلال و اولویت بندی گزینهها برای پیشنهاددهی مورد استفاده قرار میگیرند. برای مثال، در یک سیستم پیشنهاد هتل، کاربر ممکن است خواستههای خود را در قالب محدودیتهایی از قبیل محدوده هزینه اقامت و یا امکانات هتل اعلام نموده و سیستم بر اساس این متغیرها مناسبترین گزینهها را به وی ارائه نماید .[12 ,11]

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

در سال 2016، محققان ترکیهای در مقالهای تحلیلی [15] به بررسی تاثیرات سیستمهای توصیهگر در خرید آنلاین پرداخته اند. بر اساس نتایج ارائه شده در این پژوهش، این سیستمها تاثیر قابل توجهی در تسهیل خرید و افزایش قدرت انتخاب کاربران شدهاند. همچنین در مقاله ای که محققان چینی در سال 2014 انجام داده اند [16]، روشی مبتنی بر تکنیکهای دادهکاوی برای پیشنهاد محصول به کاربران شبکههای اجتماعی مبتنی بر موقعیت مکانی آنها ارائه شدهاست. در این روش، اطلاعات مکانی کاربران که از طریق حسگر تلفن همراه مشخص میشود به کارایی بیشتر سیستم توصیهگر کمک نموده است.

به عنوان نمونه دیگر، در مقالهای که در سال 2014 منتشر شد [17]، محققان راهکاری را برای بکارگیری سیستمهای توصیهگر مبتنی بر تلفن همراه در صنعت توریستم ارائه دادند که به مسافران توصیههایی در زمینه مراکز خرید، رستوران، مراکز تفریحی و ... مینماید. در ایده جالب دیگری نیز [18]، گروهی از پژوهشگران چینی سیستم توصیهگری طراحی نمودهاند که بر اساس ویژگیهای مد نظر کاربر، به وی پیشنهادهایی در زمینه لباس ارائه می دهد. همچنین در مقالهای دیگر [19] سیستمی معرفی شده است که مراجعه کنندگان به مراکز خرید را برای خرید محصولات مورد نظرشان راهنمایی میکند.مقالاتی که در اینجا به آنها اشاره شد تنها بخش کوچکی از کارهای انجام شده در حوزه سیستمهای توصیهگر هستند و پژوهش در این زمینه همچنان ادامه دارد.

  پیشنهادی

در روش پیشنهادی در این مقاله، 5 ویژگی مهم در پیشنهاد فهرست محصولات به کاربر مد نظر قرار گرفتهاند که عبارتند از:

- 1 موجودی محصول برای خرید: در نظر گرفتن این ویژگی از پیشنهاد محصولاتی که موجودی کافی برای سفارش ندارند جلوگیری مینماید.در الگوریتم پیشنهادی محصولاتی که موجودی کافی نداشته باشند در فهرست پیشنهادی کاربر هدف قرار نخواهند گرفت.

- 2 تعداد خرید محصول در 3 روز اخیر: این ویژگی تاثیر شرایط زمانی فعلی را در خرید محصولات در نظر میگیرد. برای مثال اگر در روزهای اخیر مناسبت خاصی مانند "روز مادر" وجود داشته باشد، طبیعتا خرید محصولاتی که مرتبط با این رویداد هستند افزایش خواهد داشت. برای این ویژگی، محصولاتی که در این بازه زمانی بیشترین فروش داشتهاند به ترتیب تعداد سفارش مرتب شده و پس از حذف محصولاتی که موجودی کافی ندارند، به تعداد Selection Size - که این عدد جزو تنظیمات الگوریتم میباشد، - از آنها انتخاب میشود. این فهرست با نامنمایش داده میشود.

- 3 تعداد خرید محصول پیش از 3 روز اخیر به مدت 28 روز: این ویژگی در واقع بیانگر محصولات پرفروش مداوم میباشد که به منظور حذف تاثیر رویدادهای جاری در آن، بازه زمانی قبل از 3 روز اخیر و به مدت 28 روز در نظر گرفته شده است. برای این ویژگی، محصولاتی که در این بازه زمانی بیشترین فروش را داشته اند به ترتیب تعداد سفارش مرتب شده و پس از حذف محصولاتی که موجودی کافی ندارند، به تعداد Selection Size از آنها انتخاب میشود. این فهرست با نام Best Sellers نمایش داده میشود.

- 4 تعداد خرید محصول توسط کاربرانی که در موقعیت مکانی مشابه با کاربر هدف قرار دارند: با در نظر گرفتن خریدهای کاربران هم موقعیت با کاربر هدف، محصولاتی که ممکن است به دلیل موقعیت خاص بیشتر خریداری شده باشند شناسایی میشوند. برای مثال ممکن است خرید عینک آفتابی در مناطق گرمسیر بیشتر رایج باشد. برای این ویژگی، محصولاتی که توسط این کاربران خریداری شده اند به ترتیب تعداد سفارش مرتب شده و پس از حذف محصولاتی که موجودی کافی ندارند، به تعداد Selection Size از آنها انتخاب میشود. این فهرست با نامنمایش داده میشود.

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

در این فرمول نشاندهنده محصول مورد نظر و - - نشان دهنده رتبه محصول در فهرستی است که بصورت زیروند مشخص شده و مقدار آن برای چهار فهرستی که به آنها اشاره شد عددی صحیح در بازه 1 تا Selection Size است. همچنین پارامترهای تا اعداد اعشاری در بازه 0 تا 1 بوده و معرف وزنهای تاثیرگذار در میانگین وزندار فوق است.مسئله مهم در فرمول پیشنهادی، تعیین میزان وزن های است به گونه ای که رتبهبندی نهایی احتمال رضایت بیشتر کاربر هدف را به همراه داشته باشد. برای حل این چالش که در واقع یک مسئله بهینه سازی محسوب میشود از الگوریتم ژنتیک که یکی از شناختهشده ترین روشهای بهینهسازی در هوش مصنوعی به شمار میرود استفاده شد تا بهینهترین مقادیر تعیین شوند .[20] اساس کار الگوریتم ژنتیک بر یک فرایند تکرار شونده به همراه یک تابع ارزیابی که به آن Fitness Function میگویند استوار است. روش کار به اختصار از این قرار است:

ابتدا الگوریتم ژنتیک با جمعیت 100 و کروموزوم هایی به طول 4 که معرف تعداد وزنهای است با مقدار اولیه تصادفی در بازه 0 تا 1 تعیین میشود.در هر مرحله تکرار الگوریتم، به ازای هر کروموزوم که معرف یک مجموعه مقادیر پیشنهادی برای وزن های است بر اساس فرمول - 1 - که پیشتر به آن اشاره شد، محصولات رتبهبندی شده و نتایج توسط تابع Fitness که میزان رضایت کاربر را از فهرست پیشنهادی مشخص می کند امتیازدهی میشود. پس از انجام این روند برای تمام کروموزومها، مواردی که امتیاز کمتری کسب کردهاند حذف شده و برای تکرار بعدی کروموزومهای جدید بصورت تصادفی جایگزین آنها میشوند.روند تکراری فوق تا زمانی ادامه مییابد تا کروموزومهایی شناسایی شوند که به ازای مقادیر آنها، رضایت مطلوب کاربر نهایی تامین شود. سپس این وزنها در فرمول - 1 - قرار داده میشوند تا در سیستم توصیه گر مورد استفاده قرار گیرند.محاسبه این وزنها فقط یک بار و در زمان راه اندازی سیستم توصیه گر صورت میپذیرد و در ادامه نیازی به محاسبه مجدد آنها نخواهد بود

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