使用Neo4j和簡單分詞算法實現菜品推薦系統


背景:本推薦系統基於一款硬件產品--旺小寶桌牌。客人按下點餐按鈕,掃碼進入點餐界面,然后開始點自己喜歡的菜,在手機端下單。目前在成都已有近200家合作餐飲商家。

image

菜品推薦功能:

當客人在某商家使用桌牌點菜,提取該客人點菜的主材,當客人下一次在另外一家使用桌牌的商家點菜時,即為該客戶推薦該商家對應主材的菜。

如:某客人在A店點了[麻辣雞爪],則該客人喜好食材為”雞爪”,當客人來到B店,則可為客人推薦B店對應的[二娘雞爪爪]

 

一.菜品主材提取

桌牌上的菜名由商家輸入,存入到桌牌數據庫中,當前已有的菜名去重后有約2萬個。

第一步:收集菜名

從數據庫導出菜名。

image

第二步:分詞&詞頻統計

可以使用開源分詞工具,本例中使用的是Word分詞器

image.

第三步:人工篩選主材

詞頻越高的主材,在菜名中出現的頻率也越高,篩選時也越有價值;詞頻為1的詞可以不用篩選,因為即使是主材,也沒有其他的菜可以推薦。

image

第四步:匹配主材算法

具體算法可由業務場景自行決定,匹配后的結果如下,“=>”左邊是主材,右邊是匹配到的菜名。

image

 

二.數據結構

在本系統中,涉及到了“人-店-菜-主材”關系,為了使關系間的結構變得簡單,因此引入了Neo4j圖形數據庫,在圖形數據庫中,該關系如下。

image

當客人到店時,就推薦給客人該店能夠匹配上他喜好主材的菜,按照喜好的權重排序。

 

三.系統架構

image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM