@TOC[1] Here's the table of contents:
•一、菜品主材提取•二、数据结构•三、系统架构
基于图数据库的菜品推荐系统
本文来自社区专家
pangguoming
分享的图数据库应用案例:使用Neo4j和简单分词算法实现菜品推荐系统[2],全文内容如下:背景:本推荐系统基于一款硬件产品–旺小宝桌牌。客人按下点餐按钮,扫码进入点餐界面,然后开始点自己喜欢的菜,在手机端下单。目前在成都已有近200家合作餐饮商家。
菜品推荐功能: 当客人在某商家使用桌牌点菜,提取该客人点菜的主材,当客人下一次在另外一家使用桌牌的商家点菜时,即为该客户推荐该商家对应主材的菜。
如:某客人在A店点了[麻辣鸡爪],则该客人喜好食材为”鸡爪”,当客人来到B店,则可为客人推荐B店对应的[二娘鸡爪爪]。
一、菜品主材提取
桌牌上的菜名由商家输入,存入到桌牌数据库中,当前已有的菜名去重后有约2万个。
•第一步:收集菜名,从数据库导出菜名。
•第二步:分词&词频统计:可以使用开源分词工具,本例中使用的是Word分词器。
•第三步:人工筛选主材:词频越高的主材,在菜名中出现的频率也越高,筛选时也越有价值;词频为1的词可以不用筛选,因为即使是主材,也没有其他的菜可以推荐。
•第四步:匹配主材算法:具体算法可由业务场景自行决定,匹配后的结果如下,“=>”左边是主材,右边是匹配到的菜名。
二、数据结构
在本系统中,涉及到了“人-店-菜-主材”关系,为了使关系间的结构变得简单,因此引入了Neo4j图形数据库,在图形数据库中,该关系如下。
当客人到店时,就推荐给客人该店能够匹配上他喜好主材的菜,按照喜好的权重排序。
三、系统架构
References
[1]
TOC: 基于图数据库的菜品推荐系统
[2]
使用Neo4j和简单分词算法实现菜品推荐系统: http://neo4j.com.cn/topic/5fdff8a8d4a2c822637223f8