بخشی از مقاله
چکیده
تنوع بسیار زیاد غذاها و همچنین وجود ذائقههای غذاییمتفاوت بین افراد، انتخاب غذای مناسبِ مطابق با ذائقه غذایی افراد برای وعدههای غذایی متفاوت را تبدیل به کاری دشوار کرده است. از این رو، امروزه نیاز به سیستمی برای توصیه و انتخاب غذای مناسب بر اساس این معیارها رفتهرفته بیش از پیش احساس میشود. انتظار میرود یک سیستم هوشمند با ایجاد مدلی بر اساس ذائقهی کاربر، با توجه به انتخابها و امتیازهای قبلی او، غذای مناسبی را برای او توصیه کند.
در این پژوهش، یک سیستم توصیهگر غذا با استفاده از ویژگیهای مختص هر کاربر، غذاهای موجود با خصوصیات مختلف از قبیل ارزش غذایی و با بهرهگیری از روش یادگیری عمیق در حوزهی یادگیری ماشین ارائه شده است. بر اساس مطالعات انجام شده، رویکرد پیشنهادی مبتنی بر یادگیری عمیق تاکنون در این حوزه بکار گرفته نشده است. همچنین ترکیب ویژگیهای استفاده شده در سامانهی پیشنهادی، در نتیجهی بررسیهای دقیق انجام شده در این پژوهش استخراج شده و استفاده شدهاند. آزمایشهای عملی که بر روی مجموعه دادهی استاندارد و قابل دسترس انجام شده است، نشان از کارائی مناسب سیستم پیشنهادی دارند و برتری آن نسبت به روشهای قبلی را تائید میکنند.
-1 مقدمه
امروزه، بیتردید بکارگیری سیستمهای هوشمند مبتنی بر یادگیری ماشینی در برآورده کردن ن یازم ندیهای روزمره افرادِ مختلف از یک انتخاب به یک الزام تبدیل شده است. در خصوص برنامه غذایی نیز، با توجه به تنوع بسیار زیاد غذاها و تفاوت ذائقههای غذایی افراد و همچنین سبک زندگی عصر حاضر، و در اختیار نبودن زمان کافی برای انتخاب و تهیهی غذای مناسب، نیاز به سیستمی برای پیشنهاد غذا با توجه به ذائقهی غذایی افراد مختلف نیز بیش از پیش اح ساس می شود.
چنین سامانهای میتواند کاربردهای ب سیار سازنده و مفیدی را در سامانههای مبتنی بر وب یا اپلیکیشنهای موبایل دا شته با شد و نیز نقش کلیدی در دنیای تجارت الکترونیکی، صنعت غذا، رستورانداری و هتلداریِ حال حاضر ایفا نمایند. با توجه به وجود ذائقهها و سلایق متفاوت غذایی، این سیستم توصیهگر باید قادر باشد با ایجاد مدلی از ذائقهی کاربران بر اساس انتخابها و امتیازهای قبلی آنها، غذاهای مطابق با ذائقهی هر فرد را تشخیص داده و توصیه کند. نمونهای از کاربرد این سیستمها در شکل 1 از سایت www.food.com نمایش داده شده است.
سیستمهای توصیهگر به طور کلی از لحاظ نوع الگوریتمی که برای پیاده سازی آنها مورد استفاده قرار میگیرد به دستههای فیلتر مشارکتی1، مبتنی بر محتوا2، مبتنی بر دانش3 و روشهای ترکیبی4 تقسیم میشوند .[1] در حوزه سیستمهای توصیهگر غذا نیز تاکنون برخی روشها ارائه شده ا ست که ا ساس آنها نیز این روشهای ذکر شده است. در رویکردهای مبتنی بر ذائقهی کاربر، از روشهایی مانند معیارهای مشابهت5، تجزیهی ماتریسی6 و روشهای یادگیری ماشین7 استفاده میشود.
روشهای مبتنی بر معیارهای مشابهت، لیست غذاهای موجود را برر سی و ترتیبی از غذاهای دارای بی شترین امتیاز مشابهت با غذاهای مورد پسند کاربر را ایجاد میکنند. چنین روشهایی که فاقد مدل ایجاد شدهی قبلی ه ستند و صرفا در زمان درخوا ست، امتیاز م شابهت غذاها را محا سبه و ترتیب پی شنهادها را ایجاد میکنند، مبتنی بر حافظه8 نام دارند. بنا بر آزمایشهای عملی انجام شده در این پژوهش، در این روشها با افزایش تعداد کاربران و غذاها، میزان محا سبات و پردازشها به شدت افزایش مییابد که این مهم در پژوهشهای دیگر مبتنی بر این روش، کمتر مورد توجه قرار گرفته است. در سوی دیگر، روشهای مبتنی بر مدل9، با ایجاد مدلی از ذائقه و سلایق کاربر، اقدام به توصیهی غذاها میکنند.
این نوع از روشها معمولا از تجزیهی ماتریسی و روشهای یادگیری ماشین استفاده میکنند .[5-2] در روش تجزیهی ماتریسی نیز بنا بر آزمایشهای عملی انجام شده، با افزایش تعداد کاربران و غذاها، ابعاد ماتریسها بزرگتر شده و علاوه بر نیاز به محاسبات بسیار زیاد، مشکل حافظه نیز پیش میآید که میتواند در کاربردهای واقعی نظیر موبایل اپلیکیشنها مشکلساز شود. یادگیری عمیق10 به عنوان یکی از جدیدترین و البته قدرتمندترین روشهای یادگیری ماشین، در حوزهی سیستمهای توصیهگر غذا چندان مورد توجه نبوده و روشهای موجود از معیارهای مشابهت و بعضا از تجزیهی ماتریسی استفاده میکنند.
در روش تجزیهی ماتریسی، امتیاز نهایی از حاصلضرب داخلی بردارهای ویژگی کاربر و غذا بدست میآید که این موجب ایجاد محدودیت میشود . [6] در حالی که با جایگزین کردن ضرب داخلی با ساختار شبکهی عصبی عمیق، میتوان یک تابع بسیار بهتر را با یادگیری از روی دادهها ایجاد کرد و عملکرد را تا حد زیادی بهبود بخشید .[6] در این پژوهش، یک سیستم توصیهگر غذا با بهرهگیری از روش یادگیری عمیق و با استفاده از ویژگیهای مختص کاربران و غذاهای موجود ارائه شده است. جهت حل مشکل افزایش ابعاد ماتریس و کمبود حافظه که با افزایش تعداد غذاها و کاربران در روش تجزیهی ماتریسی ایجاد میشود، در الگوریتم یادگیری عمیق بکار گرفته شده از مولدهای داده11 استفاده میشود تا دادهها بصورت دستههای12 کوچک از روی دیسک خوانده شده و به شبکهی عصبی الگوریتم یادگیری وارد شوند.
همچنین،با استفاده از ترجیحات کوتاه مدتِ13 کاربر، لیست اولیه پیشنهادات مورد نظر سیستم فیلتر میشوند تا نیازی به بررسی همهی غذاهای موجود در پایگاهداده نباشد. با این رویکرد، مسئله شروع سرد14 که یک مشکل رایج در سیستمهای توصیهگر است نیز تا حدود زیادی حل میشود. موضوع مهم دیگر که در این پژوهش مورد توجه قرار گرفته است، استخراج بردار ویژگی مناسب برای ایجاد مدلمناسبِ پیشبینی کننده ذائقه افراد است.
با بررسیهای دقیق بر روی ویژگی-های مختلف ذائقهای افراد و مشخصات غذاها، ویژگیهای مناسبی از قبیل مواد اولیهی تشکیل دهنده غذا، نوع پخت غذا، دستهی غذایی و برچسبهای غذا برای ایجاد مدل دقیقی از ذائقهی کاربر بکار گرفته شدهاند. آزمایشهای عملی بر روی مجموعه دادهی استاندارد مورد آزمایش نشان میدهد که روش ارائه شده نسبت به روشهای قبلی بهبود قابل توجهی را در معیارهای مورد سنجش دارد. در ادامه، در بخش2، کارهای مرتبط با پژوهش انجام شده ارائه میشود. در بخش 3، جزئیات مربوط به سیستم توصیهگر پیشنهادی، در بخش 4، نتایج آزمایشات ارزیابی آن، و نهایتا در بخش 5 نتایج کلی تحقیق و محورهای توسعه و مطالعه بیشتر مورد بحث و بررسی قرار میگیرند.
-2 کارهای مرتبط
همانطور که پیشتر اشاره شد، سیستمهای توصیهگر بطور کلی بر اساس نوع الگوریتم بکار رفته در آنها به چهار دسته اصلی زیر تقسیم میشوند :[1]
فیلتر مشارکتی: در این روش، آیتمهایی15 که توسط کاربران شبیه و نزدیک به کاربر فعلی، در گذشته پسندیده شدهاند، توصیه میشوند.
مبتنی بر محتوا: در این روش، آیتمهایی به کاربر توصیه میشوند که مشابه با آیتمهایی باشند که در گذشته توسط کاربر پسندیده شده-اند. میزان شباهت دو آیتم، با استفاده از ویژگیهای آنها محاسبه میشود.
مبتنی بر دانش: در این روش، آیتمها بر اساس دانش و قوانین موجود در مورد ویژگیهای آنها و چگونگی مفید و مناسب بودنشان برای کاربر، توصیه میشوند.
روشهای ترکیبی: هر روشی که با ترکیب دو یا چند مورد از روشهای ذکر شده پیادهسازی شود، در این دسته قرار میگیرد. ام.ای. الدوسوکی و همکاران [7] الگوریتمی برای توصیهی غذا با استفاده از ترکیب معیارهای سلامت و معیارهای مشابهت، بر اساس ذائقهی کاربر ارائه کردهاند. در این روش، الگوریتم TF-IDF و معیار مشابهت کسینوسی ترکیب شده است. جیل فرین و همکاران [8] ابتدا امتیازات کاربران به غذاها را به مواد اولیهی آنها انتقال داده و سپس با استفاده از امتیازات مواد اولیه، اقدام به محاسبهی امتیازات سایر غذاها کردهاند. جورج آلمیدا [9] از الگوریتم Rocchio و TF-IDF برای ایجاد بردار ویژگی بر اساس مواد اولیهی مورد علاقهی کاربر استفاده کردهاند.
دویس بیانچینی و همکاران [10] الگوریتم PREFer را ارائه کردهاند. در این الگوریتم، با استفاده از معیارهای مشابهت، غذاهای مطابق ذائقهی کاربر فیلتر شده و سپس منوی کاملی برای وعده کامل غذایی - شامل پیش غذا، غذای اصلی، دِسر و ... - ایجاد میشود. چون یوئی تنگ و همکاران [11] با استفاده از محاسبهی مشابهت مواد اولیهی غذاها، الگوریتمی برای توصیهی مواد اولیهی جایگزین ارائه کردهاند.
چیا جن لین و همکاران [5] الگوریتم CTRMF را ارائه کردهاند. در این الگوریتم از روش تجزیهی ماتریسی برای تخمین امتیازات غذاها استفاده شده است. همچنین ماتریس ویژگیهای غذا و ضرایب تمایل 16 نیز به فرآیند محاسبات افزوده شدهاند. مهدی الهی و همکاران [4] با استفاده از برچسبهای غذاها و تجزیهی ماتریسی، الگوریتمی برای توصیهی غذا بر اساس علایق کاربر ارائه کردهاند. ژینکه لی و همکاران [3] الگوریتم MARMTF را ارائه دادهاند. در این الگوریتم از روش تجزیهی ماتریسی و امتیازهای کاربران به غذاهای مختلف، برای توصیهی غذا استفاده شده است. رویی مایا و همکاران [2] یک روش آگاه بر زمینه17، با استفاده از تجزیهی ماتریسی برای تخمین امتیازهای کاربران و توصیهی غذا ارائه کردهاند.
ناپات ساکسوم و همکاران [12] الگوریتم توصیهگر غذا با استفاده از قوانین بر پایهی معیارهای سلامت را ارائه کردهاند. دیوید السویلر و همکاران [13] سعی کردهاند توازنی مابین ذائقهی کاربر و معیارهای سلامت ایجاد کنند. گیوسپ اقاپیتو و همکاران [14] الگوریتم DIETOS را ارائه کردهاند که با دریافت مقادیر معیارهای سلامت کاربر، بیماری احتمالی کاربران را تشخیص و رژیم غذایی مناسب را برای آنها توصیه کنند.
همانطور که پیشتر اشاره شد، با توجه به محدودیتها و مشکلات روشهای پیشین، روشهای مبتنی بر یادگیری عمیق که یکی از جدیدترین و قدرتمندترین روشهای یادگیری ماشین است، توانایی ایجاد مدلی دقیق و در برگیرنده ویژگیها و جنبههای مختلف غذا و کاربر را دارند. در روش پیشنهادی در این تحقیق، سعی شده است از این توانایی به نحو مطلوب در قالب یک رویکرد مناسب بهره گرفته شود.