一种菜品推荐方法及系统与流程

文档序号:12272773阅读:416来源:国知局
一种菜品推荐方法及系统与流程

本发明属于智能餐饮技术领域,尤其涉及一种菜品推荐方法及系统。



背景技术:

随着生活水平的提高,越来越多的人选择在餐厅、酒店就餐,或者使用外卖服务进行点餐就餐,随着网络的发展,使用网络来参考和了解餐厅或酒店,再进行点餐。但是对琳琅满目的菜品和有限的菜品库信息,很多用户都对点菜犯难,不知道自己怎么选择合适。

现有的菜品推荐方法主要是根据餐馆、用户的位置、购买记录、浏览记录等信息将对应的菜品推荐给用户,但推荐的菜品往往只是品类上能满足用户的需求,其匹配度精度不高也不够人性化。



技术实现要素:

本发明实施例旨在提供一种菜品推荐方法及系统,以解决现有技术中菜品推荐方法推荐的菜品往往只是品类上能满足用户的需求,匹配度精度不高也不够人性化的问题。

为了解决上述技术问题,第一方面,本发明实施例提供了一种菜品推荐方法,包括:

获取与当前用户相关的菜品标签,所述菜品标签包括所述当前用户定义输入的第一菜品标签和与所述当前用户具备相似特征的用户输入的第二菜品标签;

将所述第一菜品标签和第二菜品标签分别与预设的菜品数据模型进行匹配,得到第一匹配菜品和第二匹配菜品;

通过所述预设的菜品数据模型,对所述匹配菜品进行多维度评分,以得到每道所述匹配菜品的推荐总分;

对所述第一匹配菜品和第二匹配菜品分别依据所述推荐总分从高到低依次输出所述匹配菜品的相关信息,得到第一类推荐菜品和第二类推荐菜品,以使所述当前用户根据输出的推荐菜品确定消费的菜品;

采集所述当前用户对所述消费的菜品的质量评分及商家服务质量评分的反馈信息,输入至所述预设的菜品数据模型,以对所述预设的菜品数据模型进行更新。

进一步地,在获取与当前用户相关的菜品标签之前,所述的方法还包括:

检测用户是否为已注册用户:

若是已注册用户,接收用户定义输入的第一菜品标签与用户地理位置信息,并添加用户地理位置至数据模型;

若是未注册用户,提示用户进行注册,并输入用户库信息至数据模型。

进一步地,所述第二菜品标签包括:

所述第二菜品标签为剔除第一菜品标签后的具备相似特征的用户输入的所有菜品标签。

所述的反馈库信息包括:所有用户对已消费的菜品的菜品质量评分信息以及对商家服务质量评分信息。

进一步地,所述数据模型的构成包括:用户库信息、菜品库信息、商家库信息和反馈库信息。

进一步地,所述通过所述预设的菜品数据模型,对所述匹配菜品进行多维度评分,以得到每道所述匹配菜品的推荐总分包括:

当为所述第一匹配菜品时:

对所述第一匹配菜品中每个菜品对应的标签匹配分值、菜品质量评分分值、商家服务质量评分分值、消费能力评分分值、健康状况匹配度评分分值以及地理位置计算分值进行计算并求和,得出推荐菜品中每个菜品的推荐总分;

当为第二匹配菜品时:

对第二匹配菜品中每个菜品对应的标签匹配分值、菜品质量评分分值、商家服务质量评分分值、消费能力评分分值、健康状况匹配度评分分值以及地理位置计算分值进行计算;

将每个菜品对应的标签匹配分值、菜品质量评分分值、商家服务质量评分分值、消费能力评分分值、健康状况匹配度评分分值以及地理位置计算分值分别代入到协同过滤推荐算法中计算相应分值,再加各项分值求和,得出菜品推荐总分。

第二方面,本发明实施例提供了一种菜品推荐系统,包括:

获取单元,用于获取与当前用户相关的菜品标签,所述菜品标签包括所述当前用户定义输入的第一菜品标签和与所述当前用户具备相似特征的用户输入的第二菜品标签;

匹配单元,用于将所述第一菜品标签和第二菜品标签分别与预设的菜品数据模型进行匹配,得到第一匹配菜品和第二匹配菜品;

评分单元,用于通过所述预设的菜品数据模型,对所述匹配菜品进行多维度评分,以得到每道所述匹配菜品的推荐总分;

推荐单元,用于对所述第一匹配菜品和第二匹配菜品分别依据所述推荐总分从高到低依次输出所述匹配菜品的相关信息,得到第一类推荐菜品和第二类推荐菜品,以使所述当前用户根据输出的推荐菜品确定消费的菜品。

反馈单元,用于采集所述当前用户对所述消费的菜品的质量评分及商家服务质量评分的反馈信息,输入至所述预设的菜品数据模型,以对所述预设的菜品数据模型进行更新。

进一步地,在所述获取单元之前,所述的方法还包括:

用户检测单元,用于检测用户是否为已注册用户:

第一采集单元,用于若是已注册用户,接收用户定义输入的第一菜品标签与用户地理位置信息,并添加用户地理位置至数据模型;

第二采集单元,若是未注册用户,提示用户进行注册,并输入用户库信息至数据模型。

进一步地,所述第二菜品标签包括:

所述第二菜品标签为剔除第一菜品标签后的具备相似特征的用户输入的所有菜品标签。

进一步地,所述数据模型的构成包括:用户库信息、菜品库信息、商家库信息和反馈库信息。

进一步地,所述评分单元具体用于:

当为所述第一匹配菜品时:

对所述第一匹配菜品中每个菜品对应的标签匹配分值、菜品质量评分分值、商家服务质量评分分值、消费能力评分分值、健康状况匹配度评分分值以及地理位置计算分值进行计算并求和,得出推荐菜品中每个菜品的推荐总分;

当为第二匹配菜品时:

对第二匹配菜品中每个菜品对应的标签匹配分值、菜品质量评分分值、商家服务质量评分分值、消费能力评分分值、健康状况匹配度评分分值以及地理位置计算分值进行计算;

将每个菜品对应的标签匹配分值、菜品质量评分分值、商家服务质量评分分值、消费能力评分分值、健康状况匹配度评分分值以及地理位置计算分值分别代入到协同过滤推荐算法中计算相应分值,再加各项分值求和,得出菜品推荐总分。

在本发明实施例中,通过同时对当前用户定义输入的第一菜品标签和与所述当前用户具备相似特征的用户输入的第二菜品标签的推荐菜品处理,并同时考虑了标签匹配、菜品质量、商家服务质量、消费能力、健康状况以及地理位置等因素的影响,而且在用户消费结束后还收集用户本次消费的反馈信息,根据收集到的反馈信息输入数据模型,使得推荐的菜品不仅仅只是品类上满足用户的需求,更能从用户个性化信息中匹配更加适合用户个人的具体菜品,使得匹配菜品时更人性化更精确化。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1本发明实施例提供的一种菜品推荐方法的实现流程图;

图2是本发明实施例提供的菜系-家乡标签匹配模型示意图;

图3是本发明实施例提供的消费能力划分示意图;

图4是本发明实施例提供的菜品品种的详尽区分示意图;

图5是本发明实施例提供的用户定义的标签与商家定义的标签匹配度的计算规则示意图;

图6是本发明实施例提供的用户定义的标签与系统定义的标签的匹配度计算规则示意图;

图7是本发明实施例提供的菜品质量评分信息与评分分值对应规则示意图;

图8是本发明实施例提供的商家服务质量评分信息与评分分值对应规则示意图;

图9是本发明实施例提供的用户消费能力等级与菜品价格对应规则的部分规则示意图;

图10是本发明实施例提供的用户的健康状况与菜品种类对应规则的部分规则示意图;

图11是本发明实施例提供的用户地理位置与商家实体店地理位置对应规则示意图;

图12是本发明本发明的一个用户点餐的优选实施例示意图;

图13是本发明实施例提供的一种菜品推荐系统的结构框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步地详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

本发明实施例获取与当前用户相关的菜品标签,所述菜品标签包括所述当前用户定义输入的第一菜品标签和与所述当前用户具备相似特征的用户输入的第二菜品标签;将所述第一菜品标签和第二菜品标签分别与预设的菜品数据模型进行匹配,得到第一匹配菜品和第二匹配菜品;通过所述预设的菜品数据模型,对所述匹配菜品进行多维度评分,以得到每道所述匹配菜品的推荐总分;对所述第一匹配菜品和第二匹配菜品分别依据所述推荐总分从高到低依次输出所述匹配菜品的相关信息,得到第一类推荐菜品和第二类推荐菜品,以使所述当前用户根据输出的推荐菜品确定消费的菜品;采集所述当前用户对所述消费的菜品的质量评分及商家服务质量评分的反馈信息,输入至所述预设的菜品数据模型,以对所述预设的菜品数据模型进行更新。

图1示出了本发明实施例提供的一种菜品推荐方法的实现流程图,详述如下:

在S101中,获取与当前用户相关的菜品标签,所述菜品标签包括所述当前用户定义输入的第一菜品标签和与所述当前用户具备相似特征的用户输入的第二菜品标签。

在所述获取与当前用户相关的菜品标签之前,包括:

检测用户是否为已注册用户:

若是已注册用户,接收用户定义输入的第一菜品标签与用户地理位置信息,并添加用户地理位置至数据模型;

若是未注册用户,提示用户进行注册,并输入用户库信息至数据模型。

所述若已注册用户,在输入定义的标签与用户地理位置信息时:若不输入地理位置,则不使用地理位置作为此次推荐菜品的参考分值;

所述未注册用户在输入好信息注册完成后,无需登录即可直接输入点餐需求和地理位置。

所述前用户定义输入的第一菜品标签,是指:

用户输入时可以通过定义的标签,来标明自己感兴趣的商品,如:清淡、排骨、潮州,用户可同时定义一个或多个标签。通过定义的标签可以增强匹配时的准确率,使得推荐的结果更加适合用户个人,更加人性化。

在S102中,根将所述第一菜品标签和第二菜品标签分别与预设的菜品数据模型进行匹配,得到第一匹配菜品和第二匹配菜品。

所述根将所述第一菜品标签和第二菜品标签分别与预设的菜品数据模型进行匹配之前还包括:设置好菜品与用户之间的标签匹配模型以及商家与用户之间的之间的标签匹配模型,设定好对应的匹配指数关系。

所述匹配模型与匹配指数是指:将相关菜品与用户中的标签进行匹配,如菜系-家乡和菜品-口味,并按两者的实际匹配程度进行指数制定,如粤菜对于家乡是广州的用户来说,匹配指数最高,而对家乡是成都的来说,匹配指数最低,以此类推。如图2所示,是本发明实施例提供的菜系-家乡标签匹配模型示意图。利用设置好菜品与用户之间的标签匹配关系以及商家与用户之间的之间的标签匹配模型与匹配指数进行菜品筛选,选取匹配指数最大的菜品作为推荐菜品。

在S103中,通过所述预设的菜品数据模型,对所述匹配菜品进行多维度评分,以得到每道所述匹配菜品的推荐总分。

对于第一匹配菜品,从标签匹配、菜品质量、商家服务质量、消费能力、健康状况以及地理位置等多维度因素角度,去计算调整推荐菜品的菜品推荐总分。

对于第二匹配菜品从标签匹配、菜品质量、商家服务质量、消费能力、健康状况以及地理位置等多维度因素角度,去计算调整推荐菜品的各项分值;

采用协同过滤推荐算法将推荐菜品的各项分值进行转化并求和,得出菜品推荐总分。

在S104中,对所述第一匹配菜品和第二匹配菜品分别依据所述推荐总分从高到低依次输出所述匹配菜品的相关信息,得到第一类推荐菜品和第二类推荐菜品,以使所述当前用户根据输出的推荐菜品确定消费的菜品。

所述第一类推荐菜品是指针对用户输入的标签得到的菜品查询结果,第二类推荐菜品是指以及推送用户可能喜欢的菜品结果。第一部分内容直接针对用户定义输入的标签进行处理即可,而第二部分的内容则无法直接得出,本发明采用与所述当前用户具备相似特征的用户输入的第二菜品标签进行数据处理得出。

所述提供推荐菜品还可以以邮件或微信等方式推送给用户,需要此服务的用户需在注册时额外填写其邮件或微信等联系方式。

在S104中,采集所述当前用户对所述消费的菜品的质量评分及商家服务质量评分的反馈信息,输入至所述预设的菜品数据模型,以对所述预设的菜品数据模型进行更新。

所述用户本次消费对菜品质量评分及商家服务质量评分的反馈信息是指:在消费结束时,会要求用户对本次消费的菜品及商家服务进行星级评分。

所述将反馈信息输入数据模型,使得数据模型反馈库信息能实时跟随用户的消费而更新。

进一步地,所述第二菜品标签:

所述第二菜品标签为剔除第一菜品标签后的具备相似特征的用户输入的所有菜品标签。

所述第二菜品标签:选取与用户库信息中信息最相似的部分相似用户,具体选取多少位相似用户,可根据实际需求进行确定。所述的第二菜品标签是指将相似用户所有标记过的菜品标签全部提出,并剔除其中当前用户已标记过的所有菜品标签后,所剩余的菜品标签。

进一步地,所述数据模型的构成包括:用户库信息、菜品库信息、商家库信息和反馈库信息;

所述用户库信息具体包括用户的:家乡、口味、年龄、职位、城市、收入、健康状况信息、地理位置等基本信息,以及从基本信息中提取出来的标签,如清淡、消费能力高端、三高、深圳华强北等;

所述用户库信息中基本信息是由用户在注册时输入,但地理信息是用户点餐时的实时地理位置,允许用户手动进行修改操作。所述的标签信息是由基本信息进过处理提取出来的,如消费能力的提取需要参考用户的职位、城市及收入等信息,构建消费能力模型,从而对消费能力进行高端、中高端、中端、中低端、低端的划分,如图3所示。

所述菜品库信息具体包括每各菜品的:菜系、烹饪方法、菜品细目、口味、等基本信息,以及从基本信息中提取出来的标签,如粤菜、川菜、红烧、油炸、麻辣、五香、炸子鸡、佛手排骨等等;

所述菜品库信息通过以下4个维度,对菜品标签进行分类:

1)大类-菜系:如四大菜系川菜、粤菜、苏菜和鲁菜;

2)中类-烹饪方法:如煎、炒、炸、红烧、煮、蒸、烧烤等;

3)小类-口味:如酸甜辣、咸香、苦鲜、咖喱、麻辣、孜然、清淡等;

4)菜品细目:对菜品品种的详尽区分,包括菜品名称,如炸子鸡。如图4所示。

所述商家库信息包括:实体店详细地址信息与位置标签、对该商家所有菜品标签的定义,如对佛手排骨定义标签:粤菜、煮、清淡。

所述商家库信息中菜品信息,是由商家在对菜品进行上架的时候输入至数据模型的,为了明确销售的菜品特点,商家在进行菜品上架同时进行菜品标签定义,而商家实体店详细地址信息与位置标签则是由商家在首次进行菜品上架时输入至数学模型的。

所述的反馈库信息包括:所有用户对已消费的菜品的菜品质量评分信息以及对商家服务质量评分信息。

进一步地,所述通过所述预设的菜品数据模型,对所述匹配菜品进行多维度评分,以得到每道所述匹配菜品的推荐总分包括:

当为所述第一匹配菜品时:

对所述第一匹配菜品中每个菜品对应的标签匹配分值、菜品质量评分分值、商家服务质量评分分值、消费能力评分分值、健康状况匹配度评分分值以及地理位置计算分值进行计算并求和,得出推荐菜品中每个菜品的推荐总分;

当为第二匹配菜品时:

对第二匹配菜品中每个菜品对应的标签匹配分值、菜品质量评分分值、商家服务质量评分分值、消费能力评分分值、健康状况匹配度评分分值以及地理位置计算分值进行计算;

将每个菜品对应的标签匹配分值、菜品质量评分分值、商家服务质量评分分值、消费能力评分分值、健康状况匹配度评分分值以及地理位置计算分值分别代入到协同过滤推荐算法中计算相应分值,再加各项分值求和,得出菜品推荐总分。

所述对推荐菜品中每个菜品对应的标签匹配分值、菜品质量评分分值、商家服务质量评分分值、消费能力评分分值、健康状况匹配度评分分值以及地理位置计算分值进行计算并求和,得出推荐菜品中每个菜品的推荐总分,具体步骤如下:

1、根据用户定义关注的标签与商家定义的标签匹配度的计算规则、用户定义的标签与系统定义的标签的匹配度计算规则计算标签匹配分值;

2、对所有反馈的菜品质量评分进行统计计算平均,根据菜品质量评分信息与评分分值对应规则得到推荐菜品对应的菜品质量评分分值;

3、对所有反馈的服务质量评分信息进行统计计算平均,根据商家服务质量评分信息与评分分值对应规则得到推荐菜品对应的商家服务质量评分分值;

4、根据用户消费能力等级与菜品价格对应规则,查询的菜品价格是否落在用户的消费能力的正态分布的范围内,并得到推荐菜品对应的用户消费能力评分分值;

5、根据用户的健康状况与菜品种类对应规则,查询菜品是否适合当前用户身体状况,并得到推荐菜品对应的健康状况匹配度评分分值;

6、根据用户地理位置与商家实体店地理位置对应规则,优化推荐菜品顺序。按距离用户当前位置的远近来计算分值。离用户越近,分值越大,得到地理位置计算分值。该步骤为可选步骤,用户可自主选择是否加入该项参考分值;

7、对推荐菜品种每个菜品对应的上述标签匹配分值、菜品质量评分分值、商家服务质量评分分值、消费能力评分分值、健康状况匹配度评分分值以及地理位置计算分值进行求和,得出菜品推荐总分;

所述用户定义关注的标签与商家定义的标签匹配度的计算规则、用户定义的标签与系统定义的标签的匹配度计算规则、菜品质量评分信息与评分分值对应规则以、商家服务质量评分信息与评分分值对应规则及用户地理位置与商家实体店地理位置对应规则分别对应如图5-8、图11所示的示意图。

所述的用户消费能力等级与菜品价格对应规则和用户的健康状况与菜品种类对应规则的部分规则示意分别对应图9、图10。

所述的对第二匹配菜品中每个菜品对应的标签匹配分值、菜品质量评分分值、商家服务质量评分分值、消费能力评分分值、健康状况匹配度评分分值以及地理位置计算分值进行计算,与上文中计算方法一样。

所述协同过滤推荐算法:首先需要找出与目标用户u最相似的K个用户,用集合S(u,K)表示,将S中用户已标记过该标签的菜品全部提取出来,并去除u已经标记过该标签的菜品。对于每个候选菜品i,用户u对它感兴趣的程度用如下公式计算:

其中rvi表示用户v对i的喜欢程度。

基于图12对应的实施例,是本发明的一个用户点餐的优选实施例,详述如下:

该用户王五是已注册用户,在点餐时,输入其想吃的食物标签,如红烧排骨、可乐排骨;根据王五输入定义的标签红烧排骨,进行进行菜品的匹配筛选,得到推荐菜品:红烧排骨、可乐排骨、糖醋排骨、蜜汁排骨、蒜香排骨、麻辣排骨等;根据健康状况、地理位置等维度因素,计算每个菜品的推荐总分;根据用户库中与王五相似度最高的五个人,提取第二菜品标签对应推荐菜品:红烧肉、可乐鸡翅、红烧鸡、红烧鱼等;再根据健康状况、地理位置等维度因素,计算第二菜品标签对应的推荐菜品的推荐总分;将两个推荐菜品分别依照推荐总分从高到低排序,得出最终的第一类推荐菜品:红烧排骨、可乐排骨、麻辣排骨、蜜汁排骨糖醋排骨、蒜香排骨等,第二类推荐菜品:红烧肉、红烧鸡、红烧鱼、可乐鸡翅等,输出所述两类推荐菜品及菜品的相关信息;消费结束后王五需对最终消费的菜品质量及商家服务进行评分。

在本发明的优选实施例中,从用户定义的标签和相似用户的第二菜品标签两个方向出发,分别求出了分别针对用户输入的定义标签得到的菜品查询结果,以及推送用户可能喜欢的菜品结果,而且在使用预设处理方法处理两种标签时,充分考虑了标签匹配、菜品质量、商家服务质量、消费能力、健康状况匹配度以及地理位置等多维度因素,从多维度对预设处理方法进行了修正,收集每次消费的反馈信息,动态修正数据模型,使得推荐菜品的匹配度精度得到了极大地提高且更加人性化地推荐给用户适合其个人的菜品。

对应上文实施例所述的身份识别方法,图13示出了本发明实施例提供的一种菜品推荐系统的结构框图。

参照图13,该系统包括:

获取单元131,用于获取与当前用户相关的菜品标签,所述菜品标签包括所述当前用户定义输入的第一菜品标签和与所述当前用户具备相似特征的用户输入的第二菜品标签;

匹配单元132,用于将所述第一菜品标签和第二菜品标签分别与预设的菜品数据模型进行匹配,得到第一匹配菜品和第二匹配菜品;

评分单元133,用于通过所述预设的菜品数据模型,对所述匹配菜品进行多维度评分,以得到每道所述匹配菜品的推荐总分;

推荐单元134,用于对所述第一匹配菜品和第二匹配菜品分别依据所述推荐总分从高到低依次输出所述匹配菜品的相关信息,得到第一类推荐菜品和第二类推荐菜品,以使所述当前用户根据输出的推荐菜品确定消费的菜品。

反馈单元135,用于采集所述当前用户对所述消费的菜品的质量评分及商家服务质量评分的反馈信息,输入至所述预设的菜品数据模型,以对所述预设的菜品数据模型进行更新。

进一步地,获取单元131之前,所述的方法还包括:

用户检测单元,用于检测用户是否为已注册用户:

第一采集单元,用于若是已注册用户,接收用户定义输入的第一菜品标签与用户地理位置信息,并添加用户地理位置至数据模型;

第二采集单元,若是未注册用户,提示用户进行注册,并输入用户库信息至数据模型。

进一步地,第二菜品标签包括:

所述第二标签为剔除第一菜品标签后的具备相似特征的用户输入的所有菜品标签。

进一步地,所述数据模型的构成包括:用户库信息、菜品库信息、商家库信息和反馈库信息;

进一步地,所述评分单元具体用于:

当为所述第一匹配菜品时:

对所述第一匹配菜品中每个菜品对应的标签匹配分值、菜品质量评分分值、商家服务质量评分分值、消费能力评分分值、健康状况匹配度评分分值以及地理位置计算分值进行计算并求和,得出推荐菜品中每个菜品的推荐总分;

当为第二匹配菜品时:

对第二匹配菜品中每个菜品对应的标签匹配分值、菜品质量评分分值、商家服务质量评分分值、消费能力评分分值、健康状况匹配度评分分值以及地理位置计算分值进行计算;

将每个菜品对应的标签匹配分值、菜品质量评分分值、商家服务质量评分分值、消费能力评分分值、健康状况匹配度评分分值以及地理位置计算分值分别代入到协同过滤推荐算法中计算相应分值,再加各项分值求和,得出菜品推荐总分。

以上所述的实施例仅用于以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1