一种外卖平台的餐厅混合排序方法与流程

文档序号:26589490发布日期:2021-09-10 20:25阅读:166来源:国知局
一种外卖平台的餐厅混合排序方法与流程

1.本发明涉及网络信息技术领域,具体涉及一种外卖平台的餐厅混合排序方法。


背景技术:

2.外卖平台上的餐厅排序效果会直接影响用户体验,商家销量与平台收入。在餐厅排序推荐上,平台一般会考虑以下两个方面,其一是从用户角度出发,利用统计和机器学习的相关算法,在餐厅排序过程中优先展示销量较高和用户可能喜欢进而下单的餐厅,从而提高用户体验与平台单量;另一种是从平台运营角度出发,主要考虑餐厅是否在平台购买广告,餐厅当前的折扣力度,餐厅的质量以及与平台合作的深度等具体情况,从运营角度提高特定商家的曝光率。在实际应用中,如果只考虑用户的角度进行排序,平台会失去对餐厅的排序的控制力,不利于平台与商家的业务拓展与流量引导;同样,如果只从运营角度出发,会影响用户的浏览体验以及订单转化率等。如何在排序中综合考虑将以上两个方面的因素,是有待解决的问题。


技术实现要素:

3.为了解决上述问题,本发明在排序过程中同时兼顾用户角度与运营角度,分别将外卖平台近期分时段的餐厅订单销量,与商家的运营合作,以及用户的个人偏好等纳入排序的考量因素,提出了一种基于数据统计、奇异值分解(svd)等技术的餐厅排序推荐方法。该方法首先由运营人员对数据库中餐厅表的必要数据进行维护补充,其次对近期的订单进行分析与建模,然后根据餐厅的状态、用户浏览平台的时间、综合销量以及运营角度对餐厅进行排序,最后根据用户的菜系偏好对上述排序进行局部的位次调整。
4.为了达到上述目的,本发明采用如下技术方案:
5.一种外卖平台的餐厅混合排序方法,包括如下步骤:
6.步骤1,餐厅数据处理
7.对某外卖平台数据库中餐厅表中的所有餐厅进行标记,涉及两个方面:从运营角度对餐厅赋以权值,作为餐厅的运营权重;按照餐厅所属的菜系类别对餐厅进行标记;
8.1.1餐厅运营权重赋值
9.在实际操作中,运营部门会根据平台与商家的合作情况,对餐厅赋予运营权重值;一家餐厅运营权重值越小,表示该餐厅从运营角度应该优先展示;
10.1.2餐厅菜系标记
11.菜系类别是餐厅的重要的特征,也是为用户做餐厅排序推荐时需要考虑的一个重要因素,所以需要提前标记好餐厅的所属菜系类别;一家餐厅根据其主要销售的菜品,有多个菜系标签;
12.步骤2订单数据分析
13.读取平台的历史订单数据,数据中需要包括以下字段:订单id、下单时间、用户id、餐厅id和餐厅菜系;
14.2.1分时段销量统计
15.对读取的历史订单数据以小时为单位,分时段统计各餐厅的订单销量;
16.2.2计算用户菜系偏好
17.使用矩阵分解算法,通过对每一个用户和菜系类别生成一个隐向量,将用户和菜系定位到隐向量表示的空间上,与用户距离相近的菜系表明用户更感兴趣,因此给该类别菜系的餐厅分配更高的曝光率;使用svd算法提前计算出用户对于各菜系的偏好,选择每个用户最偏好的三个菜系类别,供后续排序使用;
18.步骤3餐厅混合排序
19.当用户使用排序功能时,执行以下操作:
20.3.1餐厅筛选
21.餐厅筛选分为两步,首先获取用户的实时或者输入的位置信息,根据位置信息只保留用户所在城市的餐厅;然后,过滤掉停业、下架状态的餐厅,只保留当日营业的餐厅;
22.3.2运费计算与基于运费区间的排序
23.根据用户的位置,对3.1中筛选出的餐厅根据平台的运费规则,计算餐厅与用户产生的运费;
24.从低到高设置若干运费区间,然后对餐厅按照其所处的运费区间进行标记。
25.使用弱序关系对餐厅按照标记好的运费区间,由低到高进行排序;
26.3.3运营排序
27.在3.2运费区间排序的基础上,对于不同运费区间内的餐厅分别使用弱序关系对餐厅按照运营权重值进行排序,得到的结果记做运营排序;运营排序看作是对于每个运费区间内的餐厅重排,但是整体上保持较低运费区间的餐厅完全排在较高运费区间的餐厅之前;
28.3.4销量排序
29.近似用户浏览平台的整点时间,使用弱序关系再次对3.2的各运费区间内的餐厅,按照2.1中对应的整点销量数据进行排序,得到的结果记做销量排序;销量排序看作是对于每个运费区间内餐厅的另一种重排,但是整体上保持较低运费区间的餐厅完全排在较高运费区间的餐厅之前;
30.3.5排序融合
31.对3.3和3.4的排序结果进行混合,按照奇数位次的排序使用运营排序,偶数位次使用销量排序;对于同一家餐厅的两方排序,选择较前一边的位次进行展示,删除较后的一边位次并由其后的餐厅依次顶替;如果一家餐厅的奇数位次和偶数位次相同,使用其奇数位次进行展示。由此得到融合排序;
32.3.6基于品类的位次调整
33.读取2.2中提前计算好的用户偏好菜系类别,然后对3.5中产生的融合排序结果以每连续的20个餐厅作为一个排序块进行划分;对一个排序块中的20家餐厅,将餐厅的菜系类别与用户的偏好类别一致的餐厅,在这20家餐厅中置顶优先展示,置顶时保持被置顶餐厅的先后次序不变;以此类推,对所有的排序块执行相同的操作;位次调整使得用户偏好菜系的餐厅能够被展示在更靠前的位置,有利于提高点击率与订单转化率;
34.将最终调整后的排序结果输出并展示;
35.步骤4数据更新
36.考虑到时效性与季节性因素对于订单的影响,需要对于2.2、3.3、3.4中的排序每周更新一次。
37.与现有技术相比较,本发明具备如下优点:
38.1)本发明综合考虑餐厅订单销量,商家的运营合作,以及用户的个人偏好等因素对外卖平台的餐厅进行排序;
39.2)整体上优先展示高销量与高运营价值的餐厅,有利于提高用户体验与平台收入;
40.3)考虑消费者早中晚不同的饮食习惯,本发明在处理餐厅订单的销量时使用分时段统计的方法,有利于排序的效果的提升;
41.4)使用机器学习中的svd算法计算用户对所有菜系(而非所有餐厅)的偏好,很好的解决了传统推荐算法中存在的矩阵稀疏问题;
42.5)展示的餐厅排序列表会动态更新,不同用户因其偏好不同看到的排序结果也有明显的差别,避免了展示的千篇一律;
43.6)在排序融合后的餐厅排序列表的基础上,继续根据用户的菜系偏好进行位次调整,优先展示用户可能喜好的餐厅,帮助提高点击率与订单转化率;
44.7)从运营角度来看,有助于前期购买广告的餐厅在停止购买广告时,依然可以凭借先前的高曝光带来的销量在销量排序中保持较高的位次,避免了曝光量急剧下跌,从而提高了餐厅购买广告的意愿。
附图说明
45.图1为本发明方法流程图。
具体实施方式
46.下面结合和具体实施方式对本发明作进一步详细说明。
47.如图1所示,本发明
48.一种外卖平台的餐厅混合排序方法,包括如下步骤:
49.步骤1,餐厅数据处理
50.对某外卖平台数据库餐厅表中的所有餐厅进行标记,主要涉及两个方面:从运营角度对餐厅赋以权值,作为餐厅的运营权重;按照餐厅所属的菜系类别对餐厅进行标记。
51.1.1餐厅运营权重赋值
52.在实际操作中,运营部门会根据平台与商家的合作情况,比如餐厅是否在平台购买广告,餐厅当前的折扣力度,餐厅的质量以及与平台合作的深度等具体情况,对餐厅赋予运营权重值。一家餐厅运营权重值越小,表示该餐厅从运营角度应该优先展示。
53.1.2餐厅菜系标记
54.菜系类别是餐厅的一个很重要的特征,也是为用户做餐厅排序推荐时需要考虑的一个重要因素,所以需要提前标记好餐厅的所属菜系类别。通常来看,主要可以分为以下类别:甜品奶茶,粤港澳沪,川香麻辣,日韩料理,早点小吃,汉堡快餐,西式正餐等。菜系类别过多会导致后续矩阵计算中存在稀疏的问题,建议10个左右。一家餐厅可以根据其主要销
售的菜品,有多个标签。
55.步骤2订单数据分析
56.考虑到季节和时效的因素,只读取过去两周的平台订单数据。数据中需要包括以下字段:订单id、下单时间、用户id、餐厅id和餐厅菜系。
57.2.1分时段销量统计
58.对读取的历史订单数据以小时为单位,统计过去两周以每个小时前30分钟与后30分钟的时间段内,所有各餐厅的订单销量。例如,中午12点的订单销量计算过去两周每天11:31至12:30时间段内的所有餐厅各自的累计销量。该数据需要提前计算好,供排序时使用。
59.2.2计算用户菜系偏好
60.矩阵分解算法是一种非常经典的排序推荐算法,通过对每一个用户和菜系类别生成一个隐向量,将用户和菜系定位到隐向量表示的空间上,与用户距离相近的菜系表明用户更感兴趣,进而在排序过程中,可以将这些菜系的餐厅给予一个更高的曝光量。奇异值分解svd(singular value decomposition)是矩阵分解中的一种常用方法。本发明使用svd算法提前计算出用户对于菜系的偏好。
61.对已读取到的订单数据进行处理,生成用户id与餐厅菜系的共现矩阵m,共现矩阵m的行代表用户,共现矩阵m的列代表菜系,统计过去两周历史订单中用户i在菜系标签为j的餐厅中的下单次数作为元素m
ij
的取值。假设矩阵m是一个m
×
n的矩阵,则可以将其分解为m=u∑v
t
,其中u是m
×
m的正交矩阵,v是n
×
n的正交矩阵,∑是m
×
n的对角阵。取对角阵∑中较大的k个元素作为隐含特征,删除∑的其他维度以及u和v中对应的维度,矩阵m被分解为m≈m

=u
m
×
k

k
×
k
v
k
×
nt
,至此完成了隐性量维度为k的矩阵分解。
62.从矩阵m

中,选择每个用户偏好值最大的三个菜系作为该用户的偏好菜系。
63.步骤3餐厅混合排序
64.当用户使用排序功能时,执行以下操作:
65.3.1餐厅筛选
66.餐厅筛选分为两步,首先获取用户的实时或者输入的位置信息,根据位置信息只保留用户所在城市的餐厅。然后,过滤掉停业、下架等状态的餐厅,只保留当日营业的餐厅。
67.3.2运费计算与基于运费区间的排序
68.根据用户的位置,对3.1中筛选出的餐厅根据平台的运费规则,计算餐厅与用户产生的运费。
69.从低到高设置若干运费区间,如区间a=[a,b),区间b=[b,c),区间c=[c,d)等。然后对餐厅按照其所处的运费区间进行标记。
[0070]
弱序关系(weak ordering relation)是一种二元关系,在排序领域有广泛应用。一个二元关系被称作弱序关系如果满足以下两个条件,
[0071]
不对称:
[0072]
负传递:
[0073]
使用弱序关系(weak ordering relation)对餐厅按照标记好的运费区间,由低到高进行排序。
[0074]
3.3运营排序
[0075]
在3.2运费区间排序的基础上,对于不同运费区间内的餐厅分别使用弱序关系(weak ordering relation)对餐厅按照运营权重值进行排序,得到的结果记做运营排序。要注意的是,运营排序可以看作是对于每个运费区间内的餐厅重排,但是整体上保持较低运费区间的餐厅完全排在较高运费区间的餐厅之前。
[0076]
3.4销量排序
[0077]
近似用户浏览平台的整点时间,如11:31至12:30使用整点12。使用弱序关系(weak ordering relation)再次对3.2的各运费区间内的餐厅,按照2.1中对应的整点销量数据进行排序,得到的结果记做销量排序。同样,销量排序可以看作是对于每个运费区间内餐厅的另一种重排,但是整体上保持较低运费区间的餐厅完全排在较高运费区间的餐厅之前。
[0078]
3.5排序融合
[0079]
对3.3和3.4的排序结果进行混合,按照奇数位次的排序使用运营排序,偶数位次使用销量排序。对于同一家餐厅的两方排序,选择较前一边的位次进行展示,删除较后的一边位次并由其后的餐厅依次顶替。如果一家餐厅的奇数位次和偶数位次相同,使用其奇数位次进行展示。由此得到融合排序。
[0080]
3.6基于品类的位次调整
[0081]
读取2.2中提前计算好的用户偏好菜系类别。然后对3.5中产生的融合排序结果以每连续的20个餐厅作为一个排序块进行划分。对一个排序块中的20家餐厅,将餐厅的菜系类别与用户的偏好类别一致的餐厅,在这20家餐厅中置顶优先展示,置顶时保持被置顶餐厅的先后次序不变。以此类推,对所有的排序块执行相同的操作。位次调整使得用户偏好菜系的餐厅可以被展示在更靠前的位置,有利于提高点击率与订单转化率。
[0082]
将最终调整后的排序结果输出展示。
[0083]
步骤4数据更新
[0084]
考虑到季节性因素对于订单的影响,需要对于2.2、3.3、3.4中的排序每周更新一次。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1