背景:本推薦系統基於一款硬件產品--旺小寶桌牌。客人按下點餐按鈕,掃碼進入點餐界面,然后開始點自己喜歡的菜,在手機端下單。目前在成都已有近200家合作餐飲商家。
菜品推薦功能:
當客人在某商家使用桌牌點菜,提取該客人點菜的主材,當客人下一次在另外一家使用桌牌的商家點菜時,即為該客戶推薦該商家對應主材的菜。
如:某客人在A店點了[麻辣雞爪],則該客人喜好食材為”雞爪”,當客人來到B店,則可為客人推薦B店對應的[二娘雞爪爪]。
一.菜品主材提取
桌牌上的菜名由商家輸入,存入到桌牌數據庫中,當前已有的菜名去重后有約2萬個。
第一步:收集菜名
從數據庫導出菜名。
第二步:分詞&詞頻統計
可以使用開源分詞工具,本例中使用的是Word分詞器。
第三步:人工篩選主材
詞頻越高的主材,在菜名中出現的頻率也越高,篩選時也越有價值;詞頻為1的詞可以不用篩選,因為即使是主材,也沒有其他的菜可以推薦。
第四步:匹配主材算法
具體算法可由業務場景自行決定,匹配后的結果如下,“=>”左邊是主材,右邊是匹配到的菜名。
二.數據結構
在本系統中,涉及到了“人-店-菜-主材”關系,為了使關系間的結構變得簡單,因此引入了Neo4j圖形數據庫,在圖形數據庫中,該關系如下。
當客人到店時,就推薦給客人該店能夠匹配上他喜好主材的菜,按照喜好的權重排序。