欧美午夜精品久久久久免费视/欧美黄色精品/国产一级A片在线播出/A片免费视频在线观看

美食個性化推薦技術應用于美食領域的尤為重要[1]
2022-10-27 08:01:43 歡樂點

隨著人們生活水平的不斷提高, 外出吃飯的機會越來越

多, 逢年過節聚餐, 同事聚餐, 同學聚餐等等。 當一說到吃飯,

最先考慮的是去哪吃, 吃什么, 因此美食網站就成為了人們獲

取這些信息的主要來源

[1] 。 當然傳統的美食網站上邊都是千

篇一律的菜品, 價錢等, 展示給所有用戶的都是一樣的, 用戶

就需要從這菜單中一樣一樣地選擇, 想要從這么多的菜品中

找到自己喜歡吃的難上加難, 而且還費時費事。 因此個性化

推薦技術應用于美食領域變得尤為重要。

目前關于美食個性化推薦的移動應用, 主要是基于 App

的點餐和基于 iPad 的點餐。 前者是你需要在自己手機上下載

該餐廳的 App, 有時候只是偶爾去一次, 程序麻煩而且還占用

手機內存; 后者是不需要自己下載, 看起來好像比 App 好點,

但是如果一個餐廳里邊每一個服務員都配備一臺 iPad, 好像

也是不小的投資。 隨著微信小程序的出現, 一些商家就發現

了商機, 微信小程序的應用就隨機而來。 本文的研究內容就

是基于微信小程序的美食點餐推薦系統, 本文用到的算法就

是目 前較為經典的協同過濾算法, 即通過系統來分析與當前

用戶相似的用戶的瀏覽行為和點擊率來預測當前用戶的潛在

飲食偏好進而產生推薦。

1 推薦算法

本文用到的推薦算法主要是協同過濾算法。 協同過濾推

薦是目前最成功也是應用最為廣泛的推薦算法

[2] 。協同過濾從

標題就可以看出是指尋找與你有相同興趣愛好的群體, 把少數

不同的觀點過濾掉, 把一些相同的信息推薦給感興趣的用戶。

這類算法的數據源主要是來自用戶的行為數據 [ 3 ] , 包括網頁瀏

覽、購買、點擊、評分和評論等, 這些數據能夠真實有效地反映

出用戶對物品的感興趣程度, 因此用它來進行推薦, 效果要比

其他類型的推薦算法在性能上要好。

(1)構建評價矩陣。 想要找到鄰居用戶的關鍵是找到最

近鄰居, 也就是計算出用戶與用戶之間的興趣相似度, 如果

要計算兩個用戶之間的相似度首先需要獲取這兩個用戶所

有的評分項, 按照相似性度量計算產生相似性數據。 用戶

u、 v 間的相似性可以用 sim ( u,v ) 來表示, 如下表所示, 如果

將每一個用戶對全部推薦對象評分用 m 維的向量表示, 這

樣就可以用不同的 m 維向量之間的相似度來度量用戶間的

相似度。

(2)相似度計算。 本文采用的是修正余弦相似度, 其計算

方法如下所示:

(1)

其中, I u,v 代表的是用戶 u、用戶 v都評過分的項目的集合,

I u 、I v 分別代表的是用戶 u、用戶 v各自評過分的項目的集合,R u,c 、

R v,c 分別代表的是用戶 u、 用戶 v 對項目 c 的評分, R u 、 R v 分別

代表的是用戶 u、用戶 v 各自對項目 的評分的平均值。

( 3 ) 計算鄰居用戶。 根據公式(1)計算得到的結果, 將與目

標用戶相似度最高的前 N 位用戶作為目 標用戶的最近鄰居,

其中 N 的值是可以自己設定的。

( 4 ) 產生推薦。 通過相似度的計算可以得到目 標用戶的最

近鄰居集, 設 Nu 為用戶 u 的最近鄰居集, 那么用戶 u 對預測

項目 c 的評分 P u,c 可利用用戶 u 對集合 N u 中項目評分來求得,

計算方法如下:

(2)

上式中的 sim ( u,v ) 代表的是用戶 u、 用戶 v 的相似性, R v,c

代表的是用戶 v 對推薦項目 c 的評分。R u 、R v 表示用戶 u 和用

戶 v 對于推薦項目 的平均評分。

通過此方法就可以預測用戶對所有沒有評分的推薦項目

的評分,最后以預測評分的高低點餐小程序, 選擇分數最高的 N個結果反

饋給用戶。

協同過濾算法主要分為 4 個步驟來進行推薦: 構建評分

矩陣、相似度的計算、尋找鄰居用戶集及推薦。 本文結合美食

自身的特點, 對算法在推薦的時候加入了時間函數以及菜品

搭配。

2 美食點餐推薦系統的設計與實現

2.1 美食點餐推薦系統功能結構設計

美食點餐推薦系統分為用戶展示模塊、 服務器管理模塊

以及廚房顯示模塊。根據用戶展示模塊的功能需求以及特點,

用戶展示模塊主要包括的功能模塊有會員管理模塊、 菜品查

詢模塊、菜品瀏覽模塊、菜品推薦模塊、訂餐車模塊、及訂單查

詢模塊、 留言板模塊。 根據服務器管理模塊的功能需求以及

特點, 服務器管理模塊主要包括的功能模塊有管理員信息管

理模塊、會員信息管理模塊、菜品管理模塊、訂單管理模塊、留

言板管理模塊、 餐位管理管理模塊。 根據廚房顯示模塊的功

能需求以及特點, 主要包括菜單顯示模塊、 菜品分類模塊、 菜

品顯示模塊。

圖 1 系統整體功能結構圖

2.2 美食點餐推薦系統功能模塊設計

(1)美食點餐推薦系統用戶展示端設計。 本文的用戶端設

計主要是基于微信小程序的, 通過微信小程序展示給用戶。用

戶展示模塊的功能主要是用戶遍歷推薦表進行菜品推薦, 菜

品瀏覽以及查詢, 加入訂餐車點餐, 瀏覽菜單, 生產訂單。 訂

單提交之后還可以查詢訂單的處理進度: 包括訂單已提交、餐

館已接單以及廚房已接單, 在餐館還沒有接單之前可以取消

訂單。 菜品推薦, 這是本系統的關鍵模塊, 對于注冊用戶與未

注冊用戶推薦的方式是不一樣的, 對于注冊用戶,系統會自動

結合該用戶的個人注冊信息點餐小程序, 查詢菜品的記錄, 歷史訂單信息,

訂餐車信息以及當前的菜品瀏覽的行為信息進行個性化的推

薦; 對于未注冊用戶, 系統只能根據其當前的瀏覽和查詢行為

進行推薦。 對于訂單就是只有在登錄后的用戶才可以提交,

提交之后還可以查詢訂單, 可以看到訂單的處理進度。

(2) 美食點餐推薦系統服務器端設計。 本文的服務器端主

要是采用 框架進行設計的。 服務器端的功能主要

是對點餐信息進行統計分析與處理,實現菜品推薦算法,生成推

薦表, 用戶端訪問的時候遍歷推薦表進行菜品推薦。 再就是餐

位的信息管理、訂單信息以及向廚房顯示端自動發送點餐信息。

(3)美食點餐推薦系統廚房顯示端設計。 本文的廚房顯示

端主要是根據提交訂單時的時間還有菜品的分類進行智能排

序和顯示。 廚師可以根據顯示的菜品進行準備, 這樣更加方

便也不會出錯。

2.3 美食點餐推薦系統數據庫設計

美食點餐推薦系統需要存儲大量的用戶訂單信息, 根據

業務的需求, 建立具體的數據庫表如下: 菜品信息表, 該表

包括菜品信息、菜品名稱、菜品價格、菜品推出時間、菜品圖片

以及備注。 菜品分類表該表包括菜品類別名稱以及添加時

間。 用戶注冊表, 該表包括用戶名稱、用戶密碼、用戶性別、

用戶飲食偏好等。 用戶訂單信息表, 該表包括用戶名稱、菜

品名稱、菜品數目 、訂單時間、應付款等。 訂餐車記錄表, 該

表包括添加訂餐車的時間, 添加的菜品等。 用戶菜品瀏覽

記錄表, 該表包括用戶名稱、 菜品名稱、 瀏覽時間。 用戶菜

品查詢記錄表, 該表包括用戶名稱、菜品名稱、查詢時間、查詢

內容。 餐桌信息表, 該表包括餐桌號、餐桌的狀態。 留言

信息表, 該表包括用戶名稱、 留言內容等。 管理員表, 該表

包括管理員名稱、管理員密碼、性別、職稱。 廚師信息表, 該

表包括廚師名稱、廚師密碼、廚師編號、性別等。

2.4 美食點餐推薦系統的實現

本系統主要是有用戶展示端、 服務器管理端和廚房顯示

端 3 部分構成的。 其實現流程主要是: 用戶通過在展示端對

菜品瀏覽、菜品查詢以及菜品推薦這些模塊進行操作, 然后選

擇自己喜歡的菜品加入到訂餐車, 在此之前需要先登錄才可

以進行此操作, 進入訂餐車, 可以對餐車里的菜品進行刪除,

增減數量操作, 確定沒有問題之后提交訂單, 訂單提交之后可

以查看訂單的處理進程, 包括餐廳已接單, 廚房已接單等, 在

餐廳還未接單之前可以取消訂單。 然后餐廳管理員或者系統

管理員會對于訂單進行接單操作, 接單之后將會傳從至廚房

顯示端, 由廚師點擊確認訂單。

圖 2 系統流程圖

圖 3 菜品推薦流程圖

3 結語

綜上所述, 本文設計的基于協同過濾的微信美食點餐推

薦系統, 不僅是對大數據時代海量的數據信息進行整合, 而且

達到了使用工具與技術為人類服務的本質目 的。 利用微信小

程序的方便快捷吸引用戶, 根據用戶的歷史點餐記錄、查詢菜

品記錄以及用戶當前的瀏覽記錄來進行評分構建用戶—菜品

評分矩陣, 然后基于綜合評分矩陣進行推薦排序, 最終推薦結

果將以移動的方式推送給用戶, 實現了菜品的動態推薦, 幫助

用戶快速地發現自己喜歡吃的菜品, 同時餐廳也可以發現更

多的客戶, 提高餐廳營業額, 達到雙贏的效果。

免責聲明:部分文章信息來源于網絡以及網友投稿,本站只負責對文章進行整理、排版、編輯,出于傳遞更多信息之目的,并不意味著贊同其觀點或證實其內容的真實性,如本站文章和轉稿涉及版權等問題,請作者在及時聯系本站,我們會盡快為您處理。

歡樂點

留言咨詢

×