商户聚类方法、装置、计算机设备和存储介质与流程

专利2022-06-29  55


本申请涉及互联网技术领域,特别是涉及一种商户聚类方法、装置、计算机设备和存储介质。



背景技术:

随着互联网技术的发展,出现了同城物流技术,为了减少配送距离,提高配送效率,出现了按照商圈维度进行系统调度的物流方式,商圈等同于商业集聚区的概念,商圈的地理范围是进行线下商业运营所需要的基础地理数据,商圈的划分可以通过商户聚类来实现。

传统的商户聚类处理过程主要通过订单采样,并基于采集的订单,兼顾商户位置和商户间的订单交叉分布情况进行分析,确定具有相同或相似订单分布的商户,来进行商户的聚类。然而,在交叉分布分析过程中,由于订单数量庞大,产生了巨大的数据计算量,导致计算处理速度慢,且交叉分布分析过程将订单信息分散化,分散的数据信息导致商户聚类分析结果不够准确,进而容易对物流派送效率造成不良影响。



技术实现要素:

基于此,有必要针对上述商户聚类处理速度慢和准确度低的技术问题,提供一种高效准确的商户聚类方法、装置、计算机设备和存储介质。

一种商户聚类方法,方法包括:

获取各商户的历史订单数据,根据历史订单数据对应的地理位置分区,生成订单分布矩阵;

根据订单分布矩阵,得到各商户之间的订单相似数据和订单互补数据;

获取各商户之间的初始距离数据,根据订单相似数据和订单互补数据,对初始距离数据进行更新,得到更新距离数据;

根据更新距离数据,对各商户进行聚类处理,得到商户聚类结果。

在其中一个实施例中,根据订单分布矩阵,得到各商户之间的订单相似数据和订单互补数据包括:

获取由任意两个商户构成的商户组;

以商户组中的一个商户的订单分布矩阵为另一个商户的订单分布矩阵的卷积核,进行二维卷积处理,得到商户之间的订单相似数据;

根据商户组中商户所在位置对应的地址位置分区,确定商户对应的卷积矩阵;

以卷积矩阵为卷积核对订单分布矩阵进行二维卷积处理,得到卷积结果;

累加商户组中的各商户对应的卷积结果,得到商户之间的订单互补数据。

在其中一个实施例中,根据商户组中商户所在位置对应的地址位置分区,确定商户对应的卷积矩阵包括:

获取卷积矩阵权重分布数据;

以商户位置对应的地理位置分区为分布中心,确定卷积矩阵权重分布数据对应的目标地理位置分区和非目标地址位置分区;

对各目标地理位置分区赋第一权重值,对各非目标地址位置分区赋第二权重值,第一权重值与第二权重值不同;

获取由第一权重值和第二权重值构成的卷积矩阵。

在其中一个实施例中,获取各商户的历史订单数据,根据历史订单数据对应的地理位置分区,生成订单分布矩阵包括:

获取各商户的历史订单数据以及地理位置分区数据;

根据历史订单数据中的派送位置,确定历史订单数据对应的地理位置分区;

计算商户在各地理位置分区对应的订单比例数据;

根据订单比例数据,生成订单分布矩阵。

在其中一个实施例中,获取各商户之间的初始距离数据,根据订单相似数据和订单互补数据,对初始距离数据进行更新,得到更新距离数据包括:

获取相似权重、互补权重以及各商户之间的初始距离数据;

根据订单相似数据和相似权重的乘积,确定相似影响量,并根据订单互补数据和互补权重的乘积,确定互补影响量;

根据相似影响量和互补影响量之和,确定更新数据量;

根据初始距离数据与更新数据量的差值,得到更新距离数据。

在其中一个实施例中,根据更新距离数据,对各商户进行聚类处理,得到商户聚类结果包括:

根据各商户间的更新距离数据,生成距离矩阵;

根据距离矩阵中的元素数值,对距离矩阵中的元素进行聚类处理,得到多个类簇;

将同一类簇中各元素对应商户的距离平均值作为新的元素数值,得到更新的距离矩阵,返回根据距离矩阵中的元素数值,对距离矩阵中的元素进行聚类处理,得到多个类簇的步骤,直至最新的距离平均值大于预设的距离阈值;

根据更新的距离矩阵中同一类簇包含的各元素对应的商户,确定商户聚类结果。

在其中一个实施例中,获取各商户的历史订单数据,根据历史订单数据对应的地理位置分区,生成订单分布矩阵包括:

获取各商户的历史订单数据,确定各商户的订单数量;

当订单数量不小于预设订单阈值时,根据历史订单数据对应的地理位置分区,生成订单分布矩阵;

在根据更新距离数据,对各商户进行聚类处理,得到商户聚类结果之前,还包括:

当订单数量小于预设订单阈值时,将商户间的初始距离数据标记为更新距离数据。

一种商户聚类装置,装置包括:

矩阵生成模块,用于获取各商户的历史订单数据,根据历史订单数据对应的地理位置分区,生成订单分布矩阵;

矩阵处理模块,用于根据订单分布矩阵,得到各商户之间的订单相似数据和订单互补数据;

距离数据更新模块,用于获取各商户之间的初始距离数据,根据订单相似数据和订单互补数据,对初始距离数据进行更新,得到更新距离数据;

聚类处理模块,用于根据更新距离数据,对各商户进行聚类处理,得到商户聚类结果。

一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:

获取各商户的历史订单数据,根据历史订单数据对应的地理位置分区,生成订单分布矩阵;

根据订单分布矩阵,得到各商户之间的订单相似数据和订单互补数据;

获取各商户之间的初始距离数据,根据订单相似数据和订单互补数据,对初始距离数据进行更新,得到更新距离数据;

根据更新距离数据,对各商户进行聚类处理,得到商户聚类结果。

一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

获取各商户的历史订单数据,根据历史订单数据对应的地理位置分区,生成订单分布矩阵;

根据订单分布矩阵,得到各商户之间的订单相似数据和订单互补数据;

获取各商户之间的初始距离数据,根据订单相似数据和订单互补数据,对初始距离数据进行更新,得到更新距离数据;

根据更新距离数据,对各商户进行聚类处理,得到商户聚类结果。

上述商户聚类方法、装置、计算机设备和存储介质,通过获取各商户的历史订单数据,并根据历史订单数据对应的地理位置分区,生成订单分布矩阵,采用矩阵的方式,即保留了订单分布情况,又保留了商户完整全面的订单信息,利用订单分布矩阵,计算各商户之间的订单相似数据和订单互补数据,有效描述商户间的订单分布关系,从而结合各商户之间的初始距离数据,得到用于评估商户间关联关系的更新距离数据,并利用更新距离数据进行聚类分析,将订单分布情况相似的商户划分到同一个聚类类簇,得到商户聚类结果。整个过程中,基于矩阵来表示商户的订单分布,通过矩阵计算实现了高效的分析处理,利用矩阵中的全量的订单数据为分析基础并通过聚类处理得到准确的商户聚类结果,便于后续基于准确的商户聚类结果实现物流派送效率有效提高。

附图说明

图1为一个实施例中商户聚类方法的应用场景图;

图2为一个实施例中商户聚类方法的流程示意图;

图3为另一个实施例中商户聚类方法的流程示意图;

图4为再一个实施例中商户聚类方法的流程示意图;

图5为又一个实施例中商户聚类方法的流程示意图;

图6为一个实施例中商户聚类方法中订单分布矩阵和卷积矩阵的示意图;

图7为还一个实施例中商户聚类方法的流程示意图;

图8为一个实施例中商户聚类装置的结构框图;

图9为一个实施例中计算机设备的内部结构图。

具体实施方式

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

本申请提供的商户聚类方法,可以应用于如图1所示的应用环境中。其中,终端102与服务器104通过网络进行通信。各商户的终端102采集各商户的订单数据,并将采集的历史订单数据发送至服务器104,服务器104获取各商户的历史订单数据,根据历史订单数据对应的地理位置分区,生成订单分布矩阵。根据订单分布矩阵,得到各商户之间的订单相似数据和订单互补数据。获取各商户之间的初始距离数据,根据订单相似数据和订单互补数据,对初始距离数据进行更新,得到更新距离数据。根据更新距离数据,对各商户进行聚类处理,得到商户聚类结果。根据商户聚类结果,可以划分商圈,最后将划分的商圈反馈至终端。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一个实施例中,如图2所示,提供了一种商户聚类方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤s210至s250。

s210,获取各商户的历史订单数据,根据历史订单数据对应的地理位置分区,生成订单分布矩阵。

商户是指有实体经营场所并根据订单发生同城物流行为的商家,同城物流是指在同一城市范围内从供应地向接收地的实体流动过程。这里的商户可以是根据按照配送中心的维度进行筛选处理得到的商户,配送中心的维度可以是城市维度。订单是订购物品的单据,订单数据一般包括物品的派送地址。商户的历史订单数据是指当前时刻以前该商户已经完成的订单对应的订单数据。地理位置分区是将设定范围按照经纬度进行网格化划分的结果。

在实施例中,地理位置分区的划分过程包括:获取待分区范围和划分参数,基于geohash算法,将待分区范围划分为与划分参数对应的多个地理位置分区。其中,geohash算法一种地址编码方法,把二维的空间经纬度数据编码成一个字符串,具体来说,是将待分区范围进行经纬度编码将二维变一维,给地址位置分区的一种算法,首先将经纬度分别变成二进制,然后将经纬度合并,其中经度占偶数位,纬度占奇数位,最后将合并的二进制数按照base32进行编码,得到geohash值。需要注意的是,geohash值表示的并不是一个点,而是一个近似矩形区域,编码越长,表示的范围越小,位置也越精确。在其中一个实施例中,使用6位编码的geohash值将订单的经纬度离散化,6位编码的geohash值的范围是1.22km*0.61km的近似矩形区域。

历史订单数据中包括派送地址,根据派送地址对应地理位置的地理位置分区即对应的geohash值,统计每个geohash值所对应地理位置分区的订单量占商户总订单量的比例,生成描述其订单分布的矩阵。在实施例中,订单分布矩阵中的每个订单分布数据与geohash值具有对应关系。对于未包含订单数据的地理位置分区,将该分区对应的矩阵元素置零,确保各个商户对应订单分布矩阵的行列数相等。每个商户对应的订单分布矩阵中,各个矩阵元素之和为1。

s220,根据订单分布矩阵,得到各商户之间的订单相似数据和订单互补数据。

一个订单分布矩阵对应一个商户。在一个实施例中,对于各个商户之间的订单相似数据和订单互补数据,可以通过将商户进行两两配对,形成多个商户组进行处理。其中,商户的两两配对,可以是随机的配对过程,也可以是根据商户所在位置采用就近原则进行的配对过程,还可以是根据历史订单数据的订单量进行的配对过程,通过两两配对处理,可以显著提高分析处理速度。在其中一个实施例中,在两两配对过程中,还可以通过两个商户间的距离是否满足配对距离要求,配对距离要求可以根据商圈范围来确定,对于不满足配对距离要求的两个商户,通过更换配对对象重新进行匹配,直至最新的匹配到满足配对距离要求的商户。订单相似数据是指商户间的历史订单在各个地理位置分区的分布情况的相似数据,具体来说,订单相似数据可以通过将商户组中的两个商户的订单分布矩阵进行二维卷积处理得到,具体来说,可以将其中一个矩阵作为卷积对象,另一个矩阵作为卷积核通过二维卷积得到,由于卷积对象与卷积核的为同阶矩阵,故最终得到的结果为1*1的矩阵,即一个常数。在另一个实施例中,还可以通过计算两个订单分布矩阵的哈达玛积(hadamardproduct),然后将累加哈达玛积矩阵的各个元素,得到的结果即为订单相似数据。订单互补数据是通过获取与每个订单分布矩阵对应的卷积矩阵,卷积矩阵与订单分布矩阵属于同阶矩阵,通过获取的卷积矩阵对订单分布矩阵进行二维卷积处理,然后将二个订单分布矩阵的二维卷积结果求和,得到的结果即为订单互补数据。

s230,获取各商户之间的初始距离数据,根据订单相似数据和订单互补数据,对初始距离数据进行更新,得到更新距离数据。

初始距离数据是指从第一个商户到第二个商户的导航路线对应的路径距离,路径距离可以是通过导航分析得到的导航距离,在一个具体的实施例中,导航距离的获取可以通过内嵌的导航分析程序或是借助第三方导航软件得到,通过将商户的商户名称或是地理位置输入导航分析程序或是第三方导航软件,即可得到商户间的,即初始距离数据。初始距离数据作为一项聚类参数数据,可以与订单相似数据和订单互补数据相结合,通过订单相似数据和订单互补数据,对商户之间的初始距离数据进行更新,得到更新距离数据,更新距离数据也可以称为逻辑距离,是一种并非通过实际测量得到的数据,但在实际的涉及多个商户间的路径距离,特别是订单派送等场景中,逻辑距离相较于实际导航距离,结合了订单的分布情况,具有更为显著的参考意义。商户间实际路径距离越近、订单相似数据和互补数据越高,则两个商户的逻辑距离越小,商户间的订单分布越相似。

s240,根据更新距离数据,对各商户进行聚类处理,得到商户聚类结果。

每一项更新距离数据对应两个商户,即一个商户组,通过更新距离数据,可以确定出每个商户组中两个商户之间的订单分布相似数据。在进行聚类处理时,该更新距离数据包括各个商户分别两两组合得到的更新距离数据,根据每两个商户间的更新距离数据,构建得到距离矩阵。聚类处理具体可以是层次聚类处理,具体来说,首先按照更新距离数据的对应距离矩阵中的元素数值,确定出更新距离数据最小的一个商户组,并将该商户组合并,合并之后即可得到更新的距离矩阵,然后将合并后的商户组与其他商户组进行聚类,从而依次对所有商户组的层级聚类处理,得到商户聚类结果。商户聚类结果包括多个类簇,每一个类簇中包含多个商户。

在一个实施例中,商户聚类结果可以用于进行商圈的划分,根据类簇中每个商户所在的位置,确定该类簇中各个商户构成的区域范围,最后基于该区域范围划分商圈。通过上述商户聚类流程,将城市内不同位置的商户划分到某个商圈中,便于统一的物流调度,提高配送效率,也保证的用户的体验。在一个实施例中,划分的商圈的形状为凸多边形,在具体的实现过程中,可以基于划分的初始商圈的形状,对商户所属的商圈进行调整,通过形成具有凸型特性的商圈,实现商圈的优化更新,从而提高订单派送效率。

上述商户聚类方法,通过获取各商户的历史订单数据,并根据历史订单数据对应的地理位置分区,生成订单分布矩阵,采用矩阵的方式,即保留了订单分布情况,又保留了商户完整全面的订单信息,利用订单分布矩阵,计算各商户之间的订单相似数据和订单互补数据,有效描述商户间的订单分布关系,从而结合各商户之间的初始距离数据,得到用于评估商户间关联关系的更新距离数据,并利用更新距离数据进行聚类分析,将订单分布情况相似的商户划分到同一个聚类类簇,得到商户聚类结果。整个过程中,基于矩阵来表示商户的订单分布,通过矩阵计算实现了高效的分析处理,利用矩阵中的全量的订单数据为分析基础并通过聚类处理得到准确的商户聚类结果,便于后续基于准确的商户聚类结果实现物流派送效率有效提高。

在一个实施例中,如图3所示,根据订单分布矩阵,得到各商户之间的订单相似数据和订单互补数据包括步骤s310至s350。

s310,获取由任意两个商户构成的商户组。

s320,以商户组中的一个商户的订单分布矩阵为另一个商户的订单分布矩阵的卷积核,进行二维卷积处理,得到商户之间的订单相似数据。

s330,根据商户组中商户所在位置对应的地址位置分区,确定商户对应的卷积矩阵。

s340,以卷积矩阵为卷积核,对订单分布矩阵进行二维卷积处理,得到卷积结果。

s350,累加商户组中的各商户对应的卷积结果,得到商户之间的订单互补数据。

为便于商户间的数据分析计算,通过商户的两两匹配,构建多个商户组。对于任意一个商户组,根据商户组中各商户的订单分布矩阵,进行订单相似数据和订单互补数据计算。矩阵为二位数据,二维卷积是指将一个订单分布矩阵为另一个订单分布矩阵的卷积核,进行卷积处理的过程,由于两个订单分布矩阵的行列数相等。将其中一个订单分布矩阵作为卷积对象,另一个订单分布矩阵作为卷积核可以得到两个订单分布矩阵的哈达玛积的各元素之和,得到的计算结果即为商户之间的订单相似数据,每个商户对应的订单分布矩阵中,各个矩阵元素之和为1,商户间的订单分布情况越相似,即在每个地理位置分区的订单占比数据相差越小,得到的二维卷积结果越大。以商户的全量订单分布数据为分析对象,通过矩阵的二维卷积计算,为二维卷积结果赋予了具体的物理意义。

在其中一个实施例中,根据商户组中商户所在位置对应的地址位置分区,确定商户对应的卷积矩阵包括:获取卷积矩阵权重分布数据。以商户位置对应的地理位置分区为分布中心,确定卷积矩阵权重分布数据对应的目标地理位置分区和非目标地址位置分区。对各目标地理位置分区赋第一权重值,对各非目标地址位置分区赋第二权重值,第一权重值与第二权重值不同。获取由第一权重值和第二权重值构成的卷积矩阵。

在一个具体的实施例中,卷积矩阵权重分布数据是用于描述订单互补性的数据范围,具体可以是n*n(n为大于1的正奇数),例如3*3、5*5或是7*7等,具体可以根据geohash即地理位置分区的数量进行确定,地理位置分区的数量越大,可以对应将n的取值替换为较大的数。具体来说,第一权重值为1,第二权重值为0,卷积矩阵由0和1构成。

对于同一商户,以卷积矩阵作为订单分布矩阵的卷积核进行二维卷积处理,得到卷积结果,该卷积结果为该商户周边范围内的订单分布情况。通过计算商户组中两个商户的卷积结果之和,可以确定这两个商户之间的订单互补数据。以商户组包括a、b两商户为例,订单互补数据越大,该商户组中两个商户在同一商圈的可能性也越大,在同一商圈的物流派送中,若派送员从a商户提取到待派送的第一物品后,可以在派送该第一物品的过程中从b商户提取到第二物品,同时完成第一物品和第二物品的派送,以提高派送效率。

在一个具体的实施例中,将订单分布矩阵记为matrix,然后获取以商户所属地理位置分区为九宫格中心的9个geohash值,对该9个geohash值对应的每个位置权重置1,其余位置为0,形成了描述商户周边位置的卷积矩阵,记为kernel。商户组中两个商户的订单相似数据等于matrixm和matrixn进行二维卷积,而商户组中两个商户的订单互补数据则是kernelm和matrixn进行二维卷积,kerneln和matrixm进行二维卷积,然后将两者加和得到的。

在一个实施例中,如图4所示,获取各商户的历史订单数据,根据历史订单数据对应的地理位置分区,生成订单分布矩阵包括步骤s410和s440。

s410,获取各商户的历史订单数据以及地理位置分区数据。

s420,根据历史订单数据中的派送位置,确定历史订单数据对应的地理位置分区。

s430,计算商户在各地理位置分区对应的订单比例数据。

s440,根据订单比例数据,生成订单分布矩阵。

在实施例中,历史订单数据可以是指一个月内的历史订单数据,也可以是指两个月内的历史订单数据,历史订单数据的时间范围在此不做限定,可以根据实际需要进行调整。地理位置分区可以是基于geohash算法得到的分区结果,对于每个分区范围对应有一个geohash值,根据历史订单数据中的派送位置,确定该历史订单对应的geohash值即对应的地理位置分区,并统计该商户在每一个地理位置分区中的历史订单数量,通过该地理位置分区中的历史订单数量占商户总订单量的比例,对于无历史订单数据的地理位置分区,将订单比例数据置零,从而得到每一地理位置分区的订单比例数据,然后按照geohash值的排列顺序,将订单比例数据分别填充至该位置,即可得到该商户的订单分布矩阵。

在一个实施例中,如图5所示,获取各商户之间的初始距离数据,根据订单相似数据和订单互补数据,对初始距离数据进行更新,得到更新距离数据包括步骤s510至s540。

s510,获取相似权重、互补权重以及各商户之间的初始距离数据。

s520,根据订单相似数据和相似权重的乘积,确定相似影响量,并根据订单互补数据和互补权重的乘积,确定互补影响量。

s530,根据相似影响量和互补影响量之和,确定更新数据量。

s540,根据初始距离数据与更新数据量的差值,得到更新距离数据。

相似权重是指用于描述订单相似数据对聚类过程的影响程度的数据,互补权重是指用于描述订单互补数据对聚类过程的影响程度的数据。在实施例中,相似权重和互补权重可以设置为相同的数值,以平衡订单相似数据和订单互补数据的影响程度。在其他实施例中,也可以根据侧重方向,将相似权重和互补权重设置为不同的数值。商户聚类的核心是商户间更新距离数据的计算。

更新距离数据=初始距离数据-w1*订单相似数据-w2*订单互补数据

其中,w1是相似权重,w2是互补权重,商户间初始距离即实际路径距离越近、订单相似数据和订单互补数据越大,即商户间的订单分布相似度和互补度越大,则两个商户的更新距离数据即逻辑距离越小、且订单分布越相似,该商户组中的商户划分至同一商圈的可能性也就越大。

在一个具体的实施例中,比如商户a和商户b之间的导航距离是1000m,商户a、b的订单占比分布的订单分布矩阵matrix和商户位置对应的卷积矩阵kernel如图6所示。其中,图6(a)表示商户a的订单分布矩阵,其中,wtw37p、wtw37r以及wtw37x等是指地理位置分区的geohash值,图6(b)表示商户b的订单分布矩阵,图6(c)表示商户a的卷积矩阵,图6(d)表示商户b的卷积矩阵。w1和w2都是100。通过商户a、b的订单分布矩阵和卷积矩阵,计算可得商户a、b订单相似数据是0.13,订单互补数据是1 0.6=1.6,则最终的逻辑距离为827m。

在一个实施例中,根据更新距离数据,对各商户进行聚类处理,得到商户聚类结果包括步骤s710至s750:

s710,根据各商户间的更新距离数据,生成距离矩阵;

s720,根据距离矩阵中的元素数值,对距离矩阵中的元素进行聚类处理,得到多个类簇;

s730,将同一类簇中各元素对应商户的距离平均值作为新的元素数值,得到更新的距离矩阵;

s740,判断距离平均值是否大于预设的距离阈值。若判断结果为否,则返回步骤s720;若判断结果为是,则跳转至步骤s750。

s750,根据更新的距离矩阵中同一类簇包含的各元素对应的商户,确定商户聚类结果。

层次聚类是聚类算法的一种,通过计算不同类别数据点间的相似数据来创建一棵有层次的嵌套聚类树,其基本思想是通过某种相似性测度计算节点之间的相似性,并按相似数据由高到低排序,逐步重新连接个节点。层次聚类的合并算法通过计算两类数据点间的相似性,对所有数据点中最为相似的两个数据点进行组合,并反复迭代这一过程。简单的说层次聚类的合并算法是通过计算每一个类别的数据点与所有数据点之间的距离来确定它们之间的相似性,距离越小,相似数据越高。并将距离最近的两个数据点或类别进行组合,生成聚类树。

基于商户组的更新距离数据,生成距离矩阵,采用层次聚类算法,选择距离最小且满足合并条件的的两个商户组进行合并,然后更新距离矩阵。反复迭代,直到满足退出条件就结束合并过程。通过以上流程将相似的商户合并成一组,划分成多个商圈。在层次聚类的过程,对于合并与否,除了距离相似数据的衡量,根据实际场景增加类簇的条件限制。例如,商圈范围不能过大、商圈内订单不能过分散,为了使限制条件有足够的鲁棒性,且不影响商圈聚类的效果,用簇间平均距离3km作为聚类过程的终止条件,也避免了针对不同的配送中心分别进行参数调优的繁琐过程。

在一个实施例中,获取各商户的历史订单数据,根据历史订单数据对应的地理位置分区,生成订单分布矩阵包括:获取各商户的历史订单数据,确定各商户的订单数量;当订单数量不小于预设订单阈值时,根据历史订单数据对应的地理位置分区,生成订单分布矩阵。

在根据更新距离数据,对各商户进行聚类处理,得到商户聚类结果之前,还包括:当订单数量小于预设订单阈值时,将商户间的初始距离数据标记为更新距离数据。

对于订单数量较少的商户,例如历史订单数量为小于2的商户,其订单分布矩阵数值单一,对于基于订单分布矩阵计算得到的订单相似数据和订单互补数据并没有参考意义,对于任意一个商户历史订单数据中的订单数量不满足设定阈值要求的商户组,采用直接将初始距离数据标记为更新距离数据,节约计算处理量。

在一个实施例中,在根据更新距离数据,对各商户进行聚类处理,得到商户聚类结果之前,还包括:对于任意一个商户组,若是商户组中的更新距离数据不满足商圈的平均距离阈值要求,则直接将该商户间的更新距离数据更新为预设数值,该预设数值为不满足商圈合并要求的距离数值。

应该理解的是,虽然图2-5、图7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-5、图7中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图8所示,提供了一种商户聚类装置,包括:矩阵生成模块810、矩阵处理模块820、距离数据更新模块830和聚类处理模块840。

其中:

矩阵生成模块810,用于获取各商户的历史订单数据,根据历史订单数据对应的地理位置分区,生成订单分布矩阵;

矩阵处理模块820,用于根据订单分布矩阵,得到各商户之间的订单相似数据和订单互补数据;

距离数据更新模块830,用于获取各商户之间的初始距离数据,根据订单相似数据和订单互补数据,对初始距离数据进行更新,得到更新距离数据;

聚类处理模块840,用于根据更新距离数据,对各商户进行聚类处理,得到商户聚类结果。

在其中一个实施例中,矩阵处理模块还用于获取由任意两个商户构成的商户组;以商户组中的一个商户的订单分布矩阵为另一个商户的订单分布矩阵的卷积核,进行二维卷积处理,得到商户之间的订单相似数据;根据商户组中商户所在位置对应的地址位置分区,确定商户对应的卷积矩阵;以卷积矩阵为卷积核对订单分布矩阵进行二维卷积处理,得到卷积结果;累加商户组中的各商户对应的卷积结果,得到商户之间的订单互补数据。

在其中一个实施例中,矩阵处理模块还用于获取卷积矩阵权重分布数据;以商户位置对应的地理位置分区为分布中心,确定卷积矩阵权重分布数据对应的目标地理位置分区和非目标地址位置分区;对各目标地理位置分区赋第一权重值,对各非目标地址位置分区赋第二权重值,第一权重值与第二权重值不同;获取由第一权重值和第二权重值构成的卷积矩阵。

在其中一个实施例中,矩阵生成模块还用于获取各商户的历史订单数据以及地理位置分区数据;根据历史订单数据中的派送位置,确定历史订单数据对应的地理位置分区;计算商户在各地理位置分区对应的订单比例数据;根据订单比例数据,生成订单分布矩阵。

在其中一个实施例中,距离数据更新模块还用于获取相似权重、互补权重以及各商户之间的初始距离数据;根据订单相似数据和相似权重的乘积,确定相似影响量,并根据订单互补数据和互补权重的乘积,确定互补影响量;根据相似影响量和互补影响量之和,确定更新数据量;根据初始距离数据与更新数据量的差值,得到更新距离数据。

在其中一个实施例中,聚类处理模块还用于根据各商户间的更新距离数据,生成距离矩阵;根据距离矩阵中的元素数值,对距离矩阵中的元素进行聚类处理,得到多个类簇;将同一类簇中各元素对应商户的距离平均值作为新的元素数值,得到更新的距离矩阵,返回根据距离矩阵中的元素数值,对距离矩阵中的元素进行聚类处理,得到多个类簇的步骤,直至最新的距离平均值大于预设的距离阈值;根据更新的距离矩阵中同一类簇包含的各元素对应的商户,确定商户聚类结果。

在其中一个实施例中,矩阵生成模块还用于获取各商户的历史订单数据,确定各商户的订单数量;当订单数量不小于预设订单阈值时,根据历史订单数据对应的地理位置分区,生成订单分布矩阵;距离数据更新模块还用于当订单数量小于预设订单阈值时,将商户间的初始距离数据标记为更新距离数据。

上述商户聚类装置,通过获取各商户的历史订单数据,并根据历史订单数据对应的地理位置分区,生成订单分布矩阵,采用矩阵的方式,即保留了订单分布情况,又保留了商户完整全面的订单信息,利用订单分布矩阵,计算各商户之间的订单相似数据和订单互补数据,有效描述商户间的订单分布关系,从而结合各商户之间的初始距离数据,得到用于评估商户间关联关系的更新距离数据,并利用更新距离数据进行聚类分析,将订单分布情况相似的商户划分到同一个聚类类簇,得到商户聚类结果。整个过程中,基于矩阵来表示商户的订单分布,通过矩阵计算实现了高效的分析处理,利用矩阵中的全量的订单数据为分析基础并通过聚类处理得到准确的商户聚类结果,便于后续基于准确的商户聚类结果实现物流派送效率有效提高。

关于商户聚类装置的具体限定可以参见上文中对于商户聚类方法的限定,在此不再赘述。上述商户聚类装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储商户聚类处理数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种商户聚类方法。

本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:

获取各商户的历史订单数据,根据历史订单数据对应的地理位置分区,生成订单分布矩阵;

根据订单分布矩阵,得到各商户之间的订单相似数据和订单互补数据;

获取各商户之间的初始距离数据,根据订单相似数据和订单互补数据,对初始距离数据进行更新,得到更新距离数据;

根据更新距离数据,对各商户进行聚类处理,得到商户聚类结果。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

获取由任意两个商户构成的商户组;

以商户组中的一个商户的订单分布矩阵为另一个商户的订单分布矩阵的卷积核,进行二维卷积处理,得到商户之间的订单相似数据;

根据商户组中商户所在位置对应的地址位置分区,确定商户对应的卷积矩阵;

以卷积矩阵为卷积核对订单分布矩阵进行二维卷积处理,得到卷积结果;

累加商户组中的各商户对应的卷积结果,得到商户之间的订单互补数据。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

获取卷积矩阵权重分布数据;

以商户位置对应的地理位置分区为分布中心,确定卷积矩阵权重分布数据对应的目标地理位置分区和非目标地址位置分区;

对各目标地理位置分区赋第一权重值,对各非目标地址位置分区赋第二权重值,第一权重值与第二权重值不同;

获取由第一权重值和第二权重值构成的卷积矩阵。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

获取各商户的历史订单数据以及地理位置分区数据;

根据历史订单数据中的派送位置,确定历史订单数据对应的地理位置分区;

计算商户在各地理位置分区对应的订单比例数据;

根据订单比例数据,生成订单分布矩阵。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

获取相似权重、互补权重以及各商户之间的初始距离数据;

根据订单相似数据和相似权重的乘积,确定相似影响量,并根据订单互补数据和互补权重的乘积,确定互补影响量;

根据相似影响量和互补影响量之和,确定更新数据量;

根据初始距离数据与更新数据量的差值,得到更新距离数据。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

根据各商户间的更新距离数据,生成距离矩阵;

根据距离矩阵中的元素数值,对距离矩阵中的元素进行聚类处理,得到多个类簇;

将同一类簇中各元素对应商户的距离平均值作为新的元素数值,得到更新的距离矩阵,返回根据距离矩阵中的元素数值,对距离矩阵中的元素进行聚类处理,得到多个类簇的步骤,直至最新的距离平均值大于预设的距离阈值;

根据更新的距离矩阵中同一类簇包含的各元素对应的商户,确定商户聚类结果。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

获取各商户的历史订单数据,确定各商户的订单数量;

当订单数量不小于预设订单阈值时,根据历史订单数据对应的地理位置分区,生成订单分布矩阵;

当订单数量小于预设订单阈值时,将商户间的初始距离数据标记为更新距离数据。

上述用于实现商户聚类的计算机设备,通过获取各商户的历史订单数据,并根据历史订单数据对应的地理位置分区,生成订单分布矩阵,采用矩阵的方式,即保留了订单分布情况,又保留了商户完整全面的订单信息,利用订单分布矩阵,计算各商户之间的订单相似数据和订单互补数据,有效描述商户间的订单分布关系,从而结合各商户之间的初始距离数据,得到用于评估商户间关联关系的更新距离数据,并利用更新距离数据进行聚类分析,将订单分布情况相似的商户划分到同一个聚类类簇,得到商户聚类结果。整个过程中,基于矩阵来表示商户的订单分布,通过矩阵计算实现了高效的分析处理,利用矩阵中的全量的订单数据为分析基础并通过聚类处理得到准确的商户聚类结果,便于后续基于准确的商户聚类结果实现物流派送效率有效提高。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

获取各商户的历史订单数据,根据历史订单数据对应的地理位置分区,生成订单分布矩阵;

根据订单分布矩阵,得到各商户之间的订单相似数据和订单互补数据;

获取各商户之间的初始距离数据,根据订单相似数据和订单互补数据,对初始距离数据进行更新,得到更新距离数据;

根据更新距离数据,对各商户进行聚类处理,得到商户聚类结果。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

获取由任意两个商户构成的商户组;

以商户组中的一个商户的订单分布矩阵为另一个商户的订单分布矩阵的卷积核,进行二维卷积处理,得到商户之间的订单相似数据;

根据商户组中商户所在位置对应的地址位置分区,确定商户对应的卷积矩阵;

以卷积矩阵为卷积核对订单分布矩阵进行二维卷积处理,得到卷积结果;

累加商户组中的各商户对应的卷积结果,得到商户之间的订单互补数据。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

获取卷积矩阵权重分布数据;

以商户位置对应的地理位置分区为分布中心,确定卷积矩阵权重分布数据对应的目标地理位置分区和非目标地址位置分区;

对各目标地理位置分区赋第一权重值,对各非目标地址位置分区赋第二权重值,第一权重值与第二权重值不同;

获取由第一权重值和第二权重值构成的卷积矩阵。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

获取各商户的历史订单数据以及地理位置分区数据;

根据历史订单数据中的派送位置,确定历史订单数据对应的地理位置分区;

计算商户在各地理位置分区对应的订单比例数据;

根据订单比例数据,生成订单分布矩阵。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

获取相似权重、互补权重以及各商户之间的初始距离数据;

根据订单相似数据和相似权重的乘积,确定相似影响量,并根据订单互补数据和互补权重的乘积,确定互补影响量;

根据相似影响量和互补影响量之和,确定更新数据量;

根据初始距离数据与更新数据量的差值,得到更新距离数据。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

根据各商户间的更新距离数据,生成距离矩阵;

根据距离矩阵中的元素数值,对距离矩阵中的元素进行聚类处理,得到多个类簇;

将同一类簇中各元素对应商户的距离平均值作为新的元素数值,得到更新的距离矩阵,返回根据距离矩阵中的元素数值,对距离矩阵中的元素进行聚类处理,得到多个类簇的步骤,直至最新的距离平均值大于预设的距离阈值;

根据更新的距离矩阵中同一类簇包含的各元素对应的商户,确定商户聚类结果。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

获取各商户的历史订单数据,确定各商户的订单数量;

当订单数量不小于预设订单阈值时,根据历史订单数据对应的地理位置分区,生成订单分布矩阵;

当订单数量小于预设订单阈值时,将商户间的初始距离数据标记为更新距离数据。

上述用于实现商户聚类的计算机可读存储介质,通过获取各商户的历史订单数据,并根据历史订单数据对应的地理位置分区,生成订单分布矩阵,采用矩阵的方式,即保留了订单分布情况,又保留了商户完整全面的订单信息,利用订单分布矩阵,计算各商户之间的订单相似数据和订单互补数据,有效描述商户间的订单分布关系,从而结合各商户之间的初始距离数据,得到用于评估商户间关联关系的更新距离数据,并利用更新距离数据进行聚类分析,将订单分布情况相似的商户划分到同一个聚类类簇,得到商户聚类结果。整个过程中,基于矩阵来表示商户的订单分布,通过矩阵计算实现了高效的分析处理,利用矩阵中的全量的订单数据为分析基础并通过聚类处理得到准确的商户聚类结果,便于后续基于准确的商户聚类结果实现物流派送效率有效提高。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。


技术特征:

1.一种商户聚类方法,其特征在于,所述方法包括:

获取各商户的历史订单数据,根据所述历史订单数据对应的地理位置分区,生成订单分布矩阵;

根据所述订单分布矩阵,得到所述各商户之间的订单相似数据和订单互补数据;

获取各所述商户之间的初始距离数据,根据所述订单相似数据和所述订单互补数据,对所述初始距离数据进行更新,得到更新距离数据;

根据所述更新距离数据,对各所述商户进行聚类处理,得到商户聚类结果。

2.根据权利要求1所述的方法,其特征在于,所述根据所述订单分布矩阵,得到所述各商户之间的订单相似数据和订单互补数据包括:

获取由任意两个商户构成的商户组;

以所述商户组中的一个商户的订单分布矩阵为另一个商户的订单分布矩阵的卷积核进行二维卷积处理,得到所述商户之间的订单相似数据;

根据所述商户组中商户所在位置对应的地址位置分区,确定所述商户对应的卷积矩阵;

以所述卷积矩阵为卷积核对所述订单分布矩阵进行二维卷积处理,得到卷积结果;

累加所述商户组中的各商户对应的卷积结果,得到所述商户之间的订单互补数据。

3.根据权利要求2所述的方法,其特征在于,所述根据所述商户组中商户所在位置对应的地址位置分区,确定所述商户对应的卷积矩阵包括:

获取卷积矩阵权重分布数据;

以商户位置对应的地理位置分区为分布中心,确定所述卷积矩阵权重分布数据对应的目标地理位置分区和非目标地址位置分区;

对各所述目标地理位置分区赋第一权重值,对各所述非目标地址位置分区赋第二权重值,所述第一权重值与所述第二权重值不同;

获取由所述第一权重值和所述第二权重值构成的卷积矩阵。

4.根据权利要求1所述的方法,其特征在于,所述获取各商户的历史订单数据,根据所述历史订单数据对应的地理位置分区,生成订单分布矩阵包括:

获取各商户的历史订单数据以及地理位置分区数据;

根据所述历史订单数据中的派送位置,确定所述历史订单数据对应的地理位置分区;

计算所述商户在各所述地理位置分区对应的订单比例数据;

根据所述订单比例数据,生成订单分布矩阵。

5.根据权利要求1所述的方法,其特征在于,所述获取各所述商户之间的初始距离数据,根据所述订单相似数据和所述订单互补数据,对所述初始距离数据进行更新,得到更新距离数据包括:

获取相似权重、互补权重以及各所述商户之间的初始距离数据;

根据所述订单相似数据和所述相似权重的乘积,确定相似影响量,并根据所述订单互补数据和所述互补权重的乘积,确定互补影响量;

根据所述相似影响量和所述互补影响量之和,确定更新数据量;

根据所述初始距离数据与所述更新数据量的差值,得到所述更新距离数据。

6.根据权利要求1所述的方法,其特征在于,所述根据所述更新距离数据,对各所述商户进行聚类处理,得到商户聚类结果包括:

根据各商户间的所述更新距离数据,生成距离矩阵;

根据所述距离矩阵中的元素数值,对所述距离矩阵中的元素进行聚类处理,得到多个类簇;

将同一类簇中各元素对应商户的距离平均值作为新的元素数值,得到更新的距离矩阵,返回根据所述距离矩阵中的元素数值,对所述距离矩阵中的元素进行聚类处理,得到多个类簇的步骤,直至最新的所述距离平均值大于预设的距离阈值;

根据更新的所述距离矩阵中同一类簇包含的各元素对应的商户,确定商户聚类结果。

7.根据权利要求1所述的方法,其特征在于,所述获取各商户的历史订单数据,根据所述历史订单数据对应的地理位置分区,生成订单分布矩阵包括:

获取各商户的历史订单数据,确定各所述商户的订单数量;

当所述订单数量不小于预设订单阈值时,根据所述历史订单数据对应的地理位置分区,生成订单分布矩阵;

在所述根据所述更新距离数据,对各所述商户进行聚类处理,得到商户聚类结果之前,还包括:

当所述订单数量小于预设订单阈值时,将所述商户间的初始距离数据标记为更新距离数据。

8.一种商户聚类装置,其特征在于,所述装置包括:

矩阵生成模块,用于获取各商户的历史订单数据,根据所述历史订单数据对应的地理位置分区,生成订单分布矩阵;

矩阵处理模块,用于根据所述订单分布矩阵,得到所述各商户之间的订单相似数据和订单互补数据;

距离数据更新模块,用于获取各所述商户之间的初始距离数据,根据所述订单相似数据和所述订单互补数据,对所述初始距离数据进行更新,得到更新距离数据;

聚类处理模块,用于根据所述更新距离数据,对各所述商户进行聚类处理,得到商户聚类结果。

9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。

技术总结
本申请涉及一种商户聚类方法、装置、计算机设备和存储介质。方法包括:获取各商户的历史订单数据,根据历史订单数据对应的地理位置分区,生成订单分布矩阵,根据订单分布矩阵,得到各商户之间的订单相似数据和订单互补数据,获取各商户之间的初始距离数据,根据订单相似数据和订单互补数据,对初始距离数据进行更新,得到更新距离数据,根据更新距离数据,对各商户进行聚类处理,得到商户聚类结果。利用矩阵来表示商户的订单分布,通过矩阵计算实现了高效的分析处理,以全量的订单数据为分析基础并通过聚类处理得到准确的商户聚类结果,便于后续基于准确的商户聚类结果实现物流派送效率有效提高。

技术研发人员:郭瀚阳;咸珂;彭豆;张灿
受保护的技术使用者:北京顺达同行科技有限公司
技术研发日:2019.12.30
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-53216.html

最新回复(0)