货源路线相似度计算方法、系统、设备及存储介质
技术领域
本发明涉及发货控制技术领域,尤其涉及一种货源路线相似度计算方法、系统、设备及存储介质。
背景技术
随着物流业的飞速发展,每天的货源数都在急速的增长,庞大的信息量使得货运双方均难以获取自己想要信息。为了给货运双方提供便利,专用于货运的平台越来越多,司机可以在平台上对其自己感兴趣的货源进行搜索,货主同时可以在平台上搜索符合条件的司机。但是,在目前的货运平台中,只能基于司机的历史行为运载货运路线进行简单的统计,而无法有效地计算各个货运路线之间的关联性,无法更好地为司机推荐更符合司机需要的相关货运路线。
发明内容
针对现有技术中的问题,本发明的目的在于提供一种货源路线相似度计算方法、系统、设备及存储介质,基于图嵌入模型计算两条货源路线的相似度,从而可以根据路线相似度优先推荐相似路线上的货源给司机。
本发明实施例提供一种货源路线相似度计算方法,所述方法包括如下步骤:
采集设定时间范围内的多条货源路线数据;
根据所述货源路线数据构建路线图结构模型;
对所述路线图结构模型进行采样,得到作为样本的货源路线的数据;
将所述样本的数据输入图嵌入模型,得到每条货源路线的嵌入向量;
采用两条货源路线的嵌入向量计算两条货源路线之间的相似度。
可选地,所述根据所述货源路线数据构建路线图结构模型,包括如下步骤:
将设定的多个城市作为路线图结构模型中的各个节点,两个城市之间的路线作为边,构建路线图结构模型;
根据所述货源路线数据中每个货源路线的被选次数,设定所述路线图结构模型中各个边的权重。
可选地,所述对所述路线图结构模型进行采样,包括如下步骤:
采用带权重的采样方法对所述路线图结构模型进行正采样,选择作为正样本的货源路线,将选择的货源路线的数据作为正样本数据;
采用随机采样方法对所述路线图结构模型进行负采样,选择作为负样本的货源路线,将选择的货源路线的数据作为负样本数据。
可选地,采集的每条货源路线数据包括司机用户ID、货源路线的起始点城市、货源路线的终止点城市和货源路线的执行时间。
可选地,所述正样本数据包括各条货源路线的起始点城市、终止点城市、执行过该货源路线的司机用户ID和该货源路线的每次执行时间,所述负样本数据包括各个货源路线的起始点城市和终止点城市。
可选地,所述图嵌入模型为采用深度神经网络算法构建的图嵌入模型;
所述将所述样本的数据输入图嵌入模型,包括如下步骤:
将所述样本的数据输入构建好的图嵌入模型,对所述图嵌入模型进行训练;
训练至所述图嵌入模型达到收敛要求时,根据所述图嵌入模型的输出确定每条货源路线的嵌入向量。
可选地,所述采用两条货源路线的嵌入向量计算两条货源路线之间的相似度,包括如下步骤:
选择两条货源路线的嵌入向量i和j;
根据如下公式计算两条货源路线的相似度:
其中,sim(i,j)为嵌入向量i和j所对应的两条货源路线的相似度。
可选地,所述采用两条货源路线的嵌入向量计算两条货源路线之间的相似度之后,还包括如下步骤:
接收到司机用户的货源路线执行操作时,确定司机用户执行的货源路线;
查找与执行的货源路线相似度最高的至少一条相似货源路线;
将查找到的相似货源路线的相关货源信息推送至司机用户。
本发明实施例还提供一种货源路线相似度计算系统,应用于所述的货源路线相似度计算方法,所述系统包括:
数据采集模块,用于采集设定时间范围内的多条货源路线数据;
图结构模型构建模块,用于根据所述货源路线数据构建路线图结构模型;
数据采样模块,用于对所述路线图结构模型进行采样,得到作为样本的货源路线的数据;
嵌入向量计算模块,用于将所述样本的数据输入图嵌入模型,得到每条货源路线的嵌入向量;
相似度计算模块,用于采用两条货源路线的嵌入向量计算两条货源路线之间的相似度。
本发明实施例还提供一种货源路线相似度计算设备,包括:
处理器;
存储器,其中存储有所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行所述的货源路线相似度计算方法的步骤。
本发明实施例还提供一种计算机可读存储介质,用于存储程序,所述程序被执行时实现所述的货源路线相似度计算方法的步骤。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
本发明所提供的货源路线相似度计算方法、系统、设备及存储介质具有下列优点:
本发明解决了现有技术中的问题,基于图嵌入技术计算不同货源路线的相似度,以平台一段时间内多个司机的历史操作数据作为依据,根据不同货源路线被选择的次数、执行时间和执行司机的身份来综合计算各个货源路线嵌入向量,并根据嵌入向量计算货源路线之间的相似度,可以更准确地反映各个货源路线之间的关联度;基于本发明计算得到的不同货源路线的相似度结果,可以优先将相似路线上的货源推荐给不同的司机,从而实现车和货的高效匹配,降低司机空载率,同时实现司机的引流,达到货源信息平台的供需关系平衡。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显。
图1是本发明一实施例的货源路线相似度计算方法的流程图;
图2是本发明一实施例的路线图结构模型的结构示意图;
图3是本发明一实施例的图嵌入模型的结构示意图;
图4是本发明一实施例的货源路线相似度计算系统的结构示意图;
图5是本发明一实施例的货源路线相似度计算设备的示意图;
图6是本发明一实施例的计算机可读存储介质的示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
如图1所示,为了解决上述技术问题,本发明实施例提供一种货源路线相似度计算方法,所述方法包括如下步骤:
S100:采集设定时间范围内的多条货源路线数据;
S200:根据所述货源路线数据构建路线图结构模型,路线图结构模型为根据货源路线数据中路线执行轨迹构建的有向图模型;路线图结构模型定义为:G=(V,E,W),其中,V=vertex为节点,表示路线中城市,E=edge为边,表示两个城市之间的路线,W=weight权重,表示司机在设定时间范围内执行路线的运载次数;
S300:对所述路线图结构模型进行采样,得到作为样本的货源路线的数据;
S400:将所述样本的数据输入图嵌入模型,得到每条货源路线的嵌入向量;
S500:采用两条货源路线的嵌入向量计算两条货源路线之间的相似度。
因此,本发明的货源路线相似度计算系统基于图嵌入技术计算不同货源路线的相似度,通过S100采集设定的一段时间内的历史数据,以平台一段时间内多个司机的历史操作数据作为依据,通过步骤S200建立路线图结构模型,通过步骤S300结合权重进行采样,采用步骤S400构建和训练图嵌入模型,结合货源路线之间的关联关系计算各个货源路线的嵌入向量,可以更准确地反映各个货源路线之间的关联度,然后采用步骤S500可以基于货源路线的嵌入向量计算两条货源路线的相似度。在计算两条货源路线之间的相似度后,可以将计算得到的货源路线之间的相似度存储在平台上,作为后续货源推荐的依据,在司机执行一个货源路线时,优先将相似路线上的货源推荐给不同的司机,从而实现车和货的高效匹配。
下面结合一具体实施例来进一步介绍本发明的货源路线相似度计算方法的各个步骤。
步骤S100中,采集的每条货源路线数据可以包括司机用户ID、货源路线的起始点城市、货源路线的终止点城市和货源路线的执行时间。可以从数据仓库的HDFS(Hadoop分布式文件系统)中抽取近一个月的司机拨打货源路线日志数据,将数据清洗为{ID,(startCity,endCity,timeStamp)}的结构,其中ID为司机在平台上的唯一编码,startCity为路线起始点城市,endCity为路线终止点城市,timeStamp为司机拨打电话行为时间戳,即货源路线的执行时间。之后对数据集按照ID进行聚合,并对每个聚合的列表值根据时间戳进行排序操作。形成的拨打电话货源路线数据集合,其样本结构如下:
数据示例:
{1001,[(3101,3201,201811151138),(3201,3301,201811161021),(3301,3401,201811170923),(3401,3101,201811181712)]}
如图2所示,为该实施例的路线图结构模型的结构示意图。在该实施例中,所述步骤S200中,根据所述货源路线数据构建路线图结构模型,包括如下步骤:
将设定的多个城市作为路线图结构模型中的各个节点,两个城市之间的路线作为边,构建路线图结构模型,如图2所示,根据上述形成的货源路线数据集合,构建路线城市路线图结构模型,其中全国有市级别400多个,形成路线图结构模型的400多个节点;
根据所述货源路线数据中每个货源路线的被选次数,设定所述路线图结构模型中各个边的权重,路线图结构模型中边的权重为司机共同行驶该路线次数作max-min归一化之后的值。
图2中各个货源路线的权重矩阵如下所示:
在该实施例中,所述步骤S300中,对所述路线图结构模型进行采样,包括如下步骤:
采用带权重的采样方法(weighted walk)对所述路线图结构模型进行正采样,选择作为正样本的货源路线,将选择的货源路线的数据作为正样本数据;采用随机采样方法对所述路线图结构模型进行负采样,选择作为负样本的货源路线,将选择的货源路线的数据作为负样本数据。
所述正样本数据包括各条货源路线的起始点城市、终止点城市、执行过该货源路线的司机用户ID和该货源路线的每次执行时间,所述负样本数据包括各个货源路线的起始点城市和终止点城市。
因为司机在运载货源过程中一般只会考虑熟悉或路线结束地城市资源比较多的路线,所以根据司机的历史行为对路线相似度的计算,决定了召回资源的准确率和召回率以及在推荐货源列表的CTR(Click-Through-Rate,点击通过率)。因此,该实施例根据不同货源路线被选择的次数、执行时间和执行司机的身份来综合计算各个货源路线嵌入向量,并根据嵌入向量计算货源路线之间的相似度,可以更准确地反映各个货源路线之间的关联度。
在该实施例中,所述图嵌入(Graph embedding)模型为采用深度神经网络算法构建的图嵌入模型。图嵌入(Graph Embedding,也叫Network Embedding)是一种将图数据(通常为高维稠密的矩阵)映射为低微稠密向量的过程,能够很好地解决图数据难以高效输入机器学习算法的问题。如图3所示,图嵌入模型包括输入层、隐藏层和输出层。输入层的输入x1,x2,…xk…,xn-2,xn-1分别表示各个货源路线的各个属性值,例如x1表示起始点城市编码,x2表示终止点城市编码等等。y1,y2,…yk…,ym-2,ym-1表示各个货源路线的嵌入向量。
所述步骤S400中,将所述样本的数据输入图嵌入模型,包括如下步骤:
将所述样本的数据输入构建好的图嵌入模型,对所述图嵌入模型进行训练;训练至所述图嵌入模型达到收敛要求(损失小于预设阈值)时,根据所述图嵌入模型的输出确定每条货源路线的嵌入向量。
嵌入向量的示例如下:
上海-南京1 0 0 1 1…1 1 1 0 1
南京-苏州0 1 0 1 0…0 0 1 1 0
苏州-杭州1 0 0 0 1…1 0 0 0 1
杭州-上海0 1 0 0 0…0 0 1 0 0
南京-北京0 0 0 1 0…1 0 1 0 1
在该实施例中,所述步骤S500中,采用两条货源路线的嵌入向量计算两条货源路线之间的相似度,包括如下步骤:
选择两条货源路线的嵌入向量i和j;
根据如下余弦相似度公式计算两条货源路线的相似度:
其中,sim(i,j)为嵌入向量i和j所对应的两条货源路线的相似度。
在将每两条货源路线之间的相似度都计算过之后,可以根据相似度排序选择对于每条路线来说相似度最高的货源路线。
在该实施例中,所述采用两条货源路线的嵌入向量计算两条货源路线之间的相似度之后,还包括如下步骤:
接收到司机用户的货源路线执行操作时,确定司机用户执行的货源路线;
查找与执行的货源路线相似度最高的至少一条相似货源路线;
将查找到的相似货源路线的相关货源信息推送至司机用户。
如图4所示,本发明实施例还提供一种货源路线相似度计算系统,应用于所述的货源路线相似度计算方法,所述系统包括:
数据采集模块M100,用于采集设定时间范围内的多条货源路线数据;
图结构模型构建模块M200,用于根据所述货源路线数据构建路线图结构模型;
数据采样模块M300,用于对所述路线图结构模型进行采样,得到作为样本的货源路线的数据;
嵌入向量计算模块M400,用于将所述样本的数据输入图嵌入模型,得到每条货源路线的嵌入向量;
相似度计算模块M500,用于采用两条货源路线的嵌入向量计算两条货源路线之间的相似度。
因此,本发明的货源路线相似度计算系统基于图嵌入技术计算不同货源路线的相似度,通过数据采集模块M100采集设定的一段时间内的历史数据,以平台一段时间内多个司机的历史操作数据作为依据,通过图结构模型构建模块M200建立路线图结构模型,通过数据采样模块M300结合权重进行采样,采用嵌入向量计算模块M400构建和训练图嵌入模型,结合货源路线之间的关联关系计算各个货源路线的嵌入向量,可以更准确地反映各个货源路线之间的关联度,然后相似度计算模块M500可以基于货源路线的嵌入向量计算两条货源路线的相似度。在计算两条货源路线之间的相似度后,可以将计算得到的货源路线之间的相似度存储在平台上,作为后续货源推荐的依据,在司机执行一个货源路线时,优先将相似路线上的货源推荐给不同的司机,从而实现车和货的高效匹配。
在本发明的货源路线相似度计算系统中,各个模块具体实现功能的具体实施方式可以参照上述货源路线相似度计算方法中对应步骤的实施方式。例如,数据采集模块M100可以采用上述方法实施例中步骤S100的实施方式,图结构模型构建模块M200可以采用上述方法实施例中步骤S200的实施方式,数据采样模块M300可以采用上述方法实施例中步骤S300的实施方式,嵌入向量计算模块M400可以采用上述方法实施例中步骤S400的实施方式,相似度计算模块M500可以采用上述方法实施例中步骤S500的实施方式,在此不予赘述。
本发明实施例还提供一种货源路线相似度计算设备,包括处理器;存储器,其中存储有所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行所述的货源路线相似度计算方法的步骤。
因此,本发明的货源路线相似度计算设备基于图嵌入技术计算不同货源路线的相似度,以平台一段时间内多个司机的历史操作数据作为依据,建立路线图结构模型、构建和训练图嵌入模型,结合货源路线之间的关联关系计算各个货源路线的嵌入向量,可以更准确地反映各个货源路线之间的关联度。在计算两条货源路线之间的相似度后,可以将计算得到的货源路线之间的相似度存储在平台上,作为后续货源推荐的依据,在司机执行一个货源路线时,优先将相似路线上的货源推荐给不同的司机,从而实现车和货的高效匹配。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“平台”。
下面参照图5来描述根据本发明的这种实施方式的电子设备600。图5显示的电子设备600仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,电子设备600以通用计算设备的形式表现。电子设备600的组合可以包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同平台组合(包括存储单元620和处理单元610)的总线630、显示单元640等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元610执行,使得所述处理单元610执行本说明书上述电子处方流转处理方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元610可以执行如图1中所示的步骤。
所述存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(ROM)6203。
所述存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备600也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器660可以通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储平台等。
本发明实施例还提供一种计算机可读存储介质,用于存储程序,所述程序被执行时实现所述的货源路线相似度计算方法的步骤。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述电子处方流转处理方法部分中描述的根据本发明各种示例性实施方式的步骤。
参考图6所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品800,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
综上所述,与现有技术相比,本发明所提供的货源路线相似度计算方法、系统、设备及存储介质具有下列优点:
本发明解决了现有技术中的问题,基于图嵌入技术计算不同货源路线的相似度,以平台一段时间内多个司机的历史操作数据作为依据,根据不同货源路线被选择的次数、执行时间和执行司机的身份来综合计算各个货源路线嵌入向量,并根据嵌入向量计算货源路线之间的相似度,可以更准确地反映各个货源路线之间的关联度;基于本发明计算得到的不同货源路线的相似度结果,可以优先将相似路线上的货源推荐给不同的司机,从而实现车和货的高效匹配,降低司机空载率,同时实现司机的引流,达到货源信息平台的供需关系平衡。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。