您的位置:首页 > 其它

使用Neo4j和简单分词算法实现菜品推荐系统

2017-04-26 11:37 435 查看

背景:本推荐系统基于一款硬件产品--旺小宝桌牌。客人按下点餐按钮,扫码进入点餐界面,然后开始点自己喜欢的菜,在手机端下单。目前在成都已有近200家合作餐饮商家。





菜品推荐功能:

当客人在某商家使用桌牌点菜,提取该客人点菜的主材,当客人下一次在另外一家使用桌牌的商家点菜时,即为该客户推荐该商家对应主材的菜。

如:某客人在A店点了[麻辣鸡爪],则该客人喜好食材为”鸡爪”,当客人来到B店,则可为客人推荐B店对应的[二娘鸡爪爪]

一.菜品主材提取

桌牌上的菜名由商家输入,存入到桌牌数据库中,当前已有的菜名去重后有约2万个。

第一步:收集菜名

从数据库导出菜名。





第二步:分词&词频统计

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



.

第三步:人工筛选主材

词频越高的主材,在菜名中出现的频率也越高,筛选时也越有价值;词频为1的词可以不用筛选,因为即使是主材,也没有其他的菜可以推荐。





第四步:匹配主材算法

具体算法可由业务场景自行决定,匹配后的结果如下,“=>”左边是主材,右边是匹配到的菜名。





二.数据结构

在本系统中,涉及到了“人-店-菜-主材”关系,为了使关系间的结构变得简单,因此引入了Neo4j图形数据库,在图形数据库中,该关系如下。





当客人到店时,就推荐给客人该店能够匹配上他喜好主材的菜,按照喜好的权重排序。

三.系统架构



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: