谷研碩 時振濤 孫申英 盛林
摘要:如今微信支付已經成了一個普遍的支付方式。文章針對校園師生因就餐時間和就餐地點固定造成人流量大、點餐不方便等問題,設計一款基于內容推薦算法和微信公眾平臺的小程序點餐系統。該系統通過調查問卷收集用戶信息,應用基于內容的推薦算法分析用戶個人的飲食偏好,推出適合用戶的個性化菜品,實現線上點餐、推送個性化菜肴、信息反饋等功能,有效解決了師生點餐難、取餐難、就餐難等問題,節省了時間與人力,滿足快節奏的生活需求。
關鍵詞:微信小程序;推薦算法;點餐系統
中圖分類號:TP311? ? 文獻標識碼:A
文章編號:1009-3044(2022)10-0048-02
隨著物聯網行業的迅速發展和小程序技術的出現,餐飲業逐漸從傳統的線下運營形式改為線上,很多點餐小程序蜂擁而出,例如“餓了么”“美團外賣”等,使點餐效率提升且便捷。但就目前存在的線上點餐系統而言,大多都是以賣家為主體設計的,無法像一些電子商務行業應用,如美團、京東、拼多多等,在原本信息數字化的基礎上通過推薦系統為用戶提供個性化的推薦服務[2]。基于此,本文設計出基于實現算法推薦與微信公眾平臺相結合的智能點餐系統——“隨便餐”系統。該系統利用數據分析,挖掘出用戶喜歡的菜品及口味,并對其進行健康分析后推薦給用戶,從而有效地解決選餐難,點餐難等問題,使用戶享受更加快捷的服務,節省了時間,實現了餐廳的自動一體化[7],節省了人力,提高了餐廳的服務能力和效率。
1 系統分析與設計
本文應用微信平臺,并結合數據分析開發具有個性化菜單的點餐系統——“隨便餐廳”。該餐廳以“隨便”為理念,全方位地為大學生推薦他們喜好的餐品,為大學生點餐提供便利的服務,解決大學生就餐時存在的“迷食”現象,使學生點餐更便捷,更人性化。
本系統的可視化模塊通過小程序的界面實現,信息數據存儲由微信云開發控制臺實現。點餐系統功能主要包括:登錄模塊、數據賽選存儲、內容推薦、個人基本信息設置、訂單查詢模塊、點餐模塊、訂單管理、信息分析及更新模塊等,如圖1所示。
1) 信息采集模塊:用戶首次登錄平臺需要根據提示填寫個人日常口味以及用餐習慣,完善個人用餐信息。系統記錄用戶信息,并根據這些數據分析適合用戶的餐品,進而自動推薦出該用戶的“隨便餐”。
2) 點餐選餐:用戶登錄微信公眾號,查看所有菜品的信息,將自己喜歡的食物添加購物車,提交訂單付款完成點餐。
3) 個人中心:完成修改個人信息,查看/修改自己的訂單信息,查看訂單的配送狀態等功能。
4) 信息推送功能:公眾號會每周推送本周熱榜餐、今日個人“隨便餐”及自選飯以供用戶參考。(熱榜餐:系統每日記錄選餐中各飯的選購次數,一周為一個記錄周期,每個周期系統會根據選購次數進行排名,選出次數高的餐為下周熱榜餐。)
5) 系統設置:這部分屬于后臺管理員權限,主要實現菜品管理、用戶信息、訂單信息的管理及用戶反饋處理等功能。
6) 數據分析及信息更新:用戶每次點餐后,系統都會收集該用戶的點餐信息,并進行數據分析,將分析的結果實時更新到個人信息中,以便用戶在下次點餐時推出更新后的“隨便餐”。
2 基于內容的個性化菜品推薦算法
“隨便餐廳”系統為每個用戶推薦個性化菜品,這些菜品具有菜品原材料、菜品口味、菜品價格以及菜品詳細介紹等屬性,不同菜品的屬性之間或多或少地有相似性。本系統利用菜品屬性相似性強弱設計基于內容(菜品屬性) 的推薦算法Content-based Recommendations (CB) 來實現個性化菜品推薦。相似性強弱的判斷:不同菜品的用用相同原材料制作的,或者不同菜品口味相同等,就將認為此類菜品具有較高的相似性。本系統根據菜品屬性的相似性和用戶點餐的偏好進行特征學習,得出與此用戶的推薦菜品列表。具體步驟如下:
1)? 物品表示:從N個菜品的菜品屬性中抽取出權重最大的特征屬性作為該菜品的代表屬性。公式(1) 計算第k個菜品屬性在菜品j中的權重[w(ak,dj)]。
[w(ak,dj)=TF-IDF(ak,dj)s-1NTF-IDF(ak,dj)] (1)
第k個屬性在菜品j中出現的頻率[TF-IDF(ak,dj)]及逆向文件頻率[IDFak]的公式參見如下公式。
[TF-IDF(ak,dj)=IDF(ak,dj)'IDFak] (2)
[IDFak=logNak] (3)
公式中[ak]表示全部N個菜品中含有第k個菜品屬性的菜品總數。
2)? 特征學習:根據用戶高頻率點的菜品(菜品偏好) 來刻畫這個用戶口味偏好的特征向量,本算法是將用戶全部高頻率菜品的對應向量均值作為該用戶的特征向量。
3)? 生成推薦列表:根據前兩步得到的菜品特征向量[Y]、用戶菜品偏好特征向量[X],根據余弦相似度進行計算(公式(4)) ,然后選取所有的相似度similarityN中相似度最大的前N個菜品作為推薦結果放入推薦列表中。
[similarityN=X×YX×Y=i=1NXi×Yii=1NXi2×i=1NYi2] (4)
3 數據庫部分設計與搭建
“隨便餐廳”點餐推薦系統需要通過大量的數據為基礎進行特征學習,實現更精準的智能推薦功能。該系統的數據庫基礎表,主要分為用戶信息類和菜品信息類,其中菜品信息類表以菜品編號為主鍵,用戶信息類表以用戶id為主鍵,具體如表1。
4 系統界面
“隨便餐廳”點餐系統有登錄界面、推送界面、購物車和設置頁面等,如圖2~圖5所示。訂單信息、反饋信息都通過此小程序通知。小程序相比網頁加載更快,相比于App更加節省設備空間。界面設計采用傳統的css樣式,整體給人以簡潔,功能不冗余,讓使用者更加容易接受。
5 結束語
本文利用微信小程序開發了一款面向校園師生的點餐系統——“隨便餐廳”。該系統將點餐、個人偏好設置、向用戶推薦菜品等功能集于一體,實現智能選餐點餐動一體化。實現在滿足功能需求前提下,引入微信Web開發模式,并利用基于菜品信息特征的推薦算法來實現個性化菜品推送,提升用戶點餐的快捷度,使用餐更加便捷,更好地為廣大師生服務。
參考文獻:
[1] 蘇沐暉.智能餐廳頻現 “黑科技”重塑餐飲業?[J].新產經,2019(4):80-81.
[2] 李昊.基于微信小程序的智能推薦點餐系統的設計與實現[D].南京:南京郵電大學,2020.
[3] 涂敦蘭,王莎.基于Wi-Fi的智能點餐系統[J].電信快報,2020(10):41-43.
[4] 蒲東兵,孫英娟,賈龍洋.基于關聯度的智能薦菜系統設計與實現[J].長春師范大學學報,2020,39(2):48-52.
[5] 劉琤,趙桓鑫,王先勇.基于Spring Boot技術的微信平臺 校園食堂智能點餐系統設計[J].無線互聯科技,2019,16(15):37-38.
[6] 汪迎,白高棚,馮家慧,等.基于ZigBee的“智能無線點餐”系統設計[J].價值工程,2016,35(10):166-169.
[7] 郝傳斌,王奐奇,陳梅.智能餐館一體化系統設計[J].自動化儀表,2020,41(7):48-51.
【通聯編輯:李雅琪】
收稿日期:2021-12-14
基金項目:山西省高等學校大學生創新創業訓練計劃項目(2020980)
作者簡介:谷研碩(2000—) ,男,山西省太原科技大學計算機科學與技術學院,本科生;時振濤(1974—) ,女,通信作者,山西省太原科技大學計算機科學與技術學院,副教授。