掌桥专利:专业的专利平台
掌桥专利
首页

一种地点推荐的方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 09:26:02


一种地点推荐的方法、装置、电子设备及存储介质

技术领域

本申请实施例涉及数据处理技术领域,尤其涉及一种地点推荐的方法、装置、电子设备及存储介质。

背景技术

目的地预测是指:在已知用户所处位置和出行时刻的条件下,预测用户本次出行的目的地。目的地预测在多种场合下具有广泛应用,例如在打车场景中,当用户登录打车平台后,打车平台对用户本次的出行目的地进行预测和推荐,能帮助用户快速打车,有效提升用户的打车体验,为平台带来更多收益。

在相关技术中,对目的地进行预测主要有两种方式。方式一、通过点击率预估模型预测用户对有限个候选目的地的点击率,然后将点击率最高的目的地确定为用户目前将要出行的目的地。方式二、通过概率函数的预估模型,预估用户出行各个目的地的概率,然后将概率最高的目的地确定为用户目前将要出行的目的地。

然而,上述两种方式均存在一定的缺点。针对方式一,在基于点击率预估模型进行预估时,由于该模型为判别模型,直接对条件概率P(y|x)建模,并不关心数据分布P(x,y),因而模型无法总结出用户行为习惯。例如,点击率预估模型能预测出用户A晚上8点出行M地的概率最高,但是模型无法抽取用户A晚上晚上8点出行M地的出行习惯。针对方式二,概率函数的预估模型是对用户目的地级别进行建模,如果用户出行该目的地的频次较少,无法满足模型建模,那么无法预测出用户出行该目的地的概率,因此该种方式对用户的订单数量有较高的要求。

发明内容

本申请实施例提供一种地点推荐的方法、装置、电子设备及存储介质,能有效提升目的地预测的准确度。

本申请实施例第一方面提供了一种地点推荐的方法,所述方法包括:

获得目标用户终端发起的推荐地点获取请求,所述推荐地点获取请求携带所述目标用户终端的出发地点和出发时刻;

根据所述出发地点和所述出发时刻以及所述目标用户终端的历史订单,确定点击率特征,所述点击率特征至少包括所述目标用户终端的历史订单中的历史地点与所述出发地点的距离、历史常用出行时刻以及所述历史地点的出行频次;

将所述出发地点和所述出发时刻输入所述目标用户终端的出行习惯模型,确定出行习惯特征,所述出行习惯特征表征所述目标用户终端以所述出发时刻为历史出发时刻且以所述出发地点为历史出发地点出行的概率;

将所述出行习惯特征和所述点击率特征拼接后输入地点推荐模型,得到多个候选地点各自对应的概率;

根据多个候选地点各自对应的概率,确定待推荐地点;

将所述待推荐地点推送给所述目标用户终端。

可选地,所述目标用户终端的出行习惯模型是按照以下步骤得到的:

以历史地点为维度,将所述目标用户终端的多个历史订单划分为多类历史订单,一类历史订单包括的各个历史订单对应同一个历史地点;

对每一类历史订单,根据所述目标用户终端在每个历史出发时刻去往该类历史订单对应的历史地点的次数,以及,所述目标用户终端从每个历史出发地点去往该类历史订单对应的历史地点的次数,拟合出该历史地点的混合高斯分布曲线;

对多个历史地点的混合高斯分布曲线进行拟合,得到所述目标用户终端的出行习惯模型。

可选地,所述地点推荐模型是按照以下步骤训练得到的:

以样本用户终端的每个历史订单为样本订单,根据所述样本订单中的样本出发时刻和样本出发地点以及在该样本订单产生之前的多个历史订单,确定所述样本用户终端的样本点击率特征;

根据所述样本用户终端的多个历史订单,确定所述样本用户终端的样本出行习惯模型;

将所述样本用户终端的样本订单中的样本出发时刻和样本出发地点,输入所述样本用户终端的出行习惯模型,确定所述样本用户终端的样本出行习惯特征;

将所述样本用户终端各自的样本点击率特征和样本出行习惯特征拼接,得到训练样本;

利用多个所述训练样本,对点击率预估模型进行训练,得到所述地点推荐模型。

可选地,在得到多个候选地点各自对应的概率之后,所述方法还包括:

在检测到所述目标用户终端的地点输入操作时,按照概率由高到低的顺序,将所述多个候选地点作为候选输入地点发送给所述目标用户终端,以使所述目标用户终端顺次显示所述多个候选地点。

可选地,在将所述待推荐地点推送给所述目标用户终端之后,所述方法还包括:

根据所述待推荐地点的历史订单,确定待推荐下车点;

将所述待推荐下车点推送给所述目标用户终端和/或司机终端,并向所述目标用户终端和/或所述司机终端发送提示信息,以提示所述目标用户终端的用户在所述待推荐下车点下车。

本申请实施例第二方面提供一种地点推荐的装置,所述装置包括:

获得模块,用于获得目标用户终端发起的推荐地点获取请求,所述推荐地点获取请求携带所述目标用户终端的出发地点和出发时刻;

第一确定模块,用于根据所述出发地点和所述出发时刻以及所述目标用户终端的历史订单,确定点击率特征,所述点击率特征至少包括所述目标用户终端的历史订单中的历史地点与所述出发地点的距离、历史常用出行时刻以及所述历史地点的出行频次;

第一输入模块,用于将所述出发地点和所述出发时刻输入所述目标用户终端的出行习惯模型,确定出行习惯特征,所述出行习惯特征表征所述目标用户终端以所述出发时刻为历史出发时刻且以所述出发地点为历史出发地点出行的概率;

第二输入模块,用于将所述出行习惯特征和所述点击率特征拼接后输入地点推荐模型,得到多个候选地点各自对应的概率;

第二确定模块,用于根据多个候选地点各自对应的概率,确定待推荐地点;

第一推送模块,用于将所述待推荐地点推送给所述目标用户终端。

可选地,所述装置还包括:

划分模块,用于以历史地点为维度,将所述目标用户终端的多个历史订单划分为多类历史订单,一类历史订单包括的各个历史订单对应同一个历史地点;

第一拟合模块,用于对每一类历史订单,根据所述目标用户终端在每个历史出发时刻去往该类历史订单对应的历史地点的次数,以及,所述目标用户终端从每个历史出发地点去往该类历史订单对应的历史地点的次数,拟合出该历史地点的混合高斯分布曲线;

第二拟合模块,用于对多个历史地点的混合高斯分布曲线进行拟合,得到所述目标用户终端的出行习惯模型。

可选地,所述装置还包括:

第二确定模块,用于以样本用户终端的每个历史订单为样本订单,根据所述样本订单中的样本出发时刻和样本出发地点以及在该样本订单产生之前的多个历史订单,确定所述样本用户终端的样本点击率特征;

第三确定模块,用于根据所述样本用户终端的多个历史订单,确定所述样本用户终端的样本出行习惯模型;

第四确定模块,用于将所述样本用户终端的样本订单中的样本出发时刻和样本出发地点,输入所述样本用户终端的出行习惯模型,确定所述样本用户终端的样本出行习惯特征;

拼接模块,用于将所述样本用户终端各自的样本点击率特征和样本出行习惯特征拼接,得到训练样本;

训练模块,用于利用多个所述训练样本,对点击率预估模型进行训练,得到所述地点推荐模型。

可选地,所述装置还包括:

发送模块,用于在得到多个候选地点各自对应的概率之后,在检测到所述目标用户终端的地点输入操作时,按照概率由高到低的顺序,将所述多个候选地点作为候选输入地点发送给所述目标用户终端,以使所述目标用户终端顺次显示所述多个候选地点。

可选地,所述装置还包括:

第五确定模块,用于在将所述待推荐地点推送给所述目标用户终端之后,根据所述待推荐地点的历史订单,确定待推荐下车点;

第二推送模块,用于在将所述待推荐地点推送给所述目标用户终端之后,将所述待推荐下车点推送给所述目标用户终端和/或司机终端,并向所述目标用户终端和/或所述司机终端发送提示信息,以提示所述目标用户终端的用户在所述待推荐下车点下车。

本申请实施例第三方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请第一方面所述的地点推荐的方法中的步骤。

本申请实施例第四方面提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本申请第一方面所述的地点推荐的中的步骤。

通过本申请的地点推荐的方法,首先获得目标用户终端发起的推荐地点获取请求,该推荐地点获取请求携带目标用户终端的出发地点和出发时刻。接着,根据出发地点和出发时刻以及目标用户终端的历史订单,确定点击率特征,该点击率特征至少包括目标用户终端的历史订单中的历史地点与出发地点的距离、历史常用出行时刻以及历史地点的出行频次。然后,将出发地点和出发时刻输入目标用户终端的出行习惯模型,确定出行习惯特征,出行习惯特征表征目标用户终端以出发时刻为历史出发时刻且以出发地点为历史出发地点出行的概率。接着,将出行习惯特征和点击率特征拼接后输入地点推荐模型,得到多个候选地点各自对应的概率,根据多个候选地点各自对应的概率,确定待推荐地点。最后,将所述待推荐地点推送给目标用户终端。该方法同时构造点击率特征和出行习惯特征,通过两种特征获得用户最可能出行的目的地,由于加入了出行习惯这一概率性特征,不仅能优化结果的可解释性,还能显著提高目的地预测的准确率。

附图说明

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

图1是本申请一实施例示出的一种实施场景示意图;

图2是本申请一实施例示出的一种地点推荐的方法的流程图;

图3是本申请一实施例示出的一种获得出行习惯模型的方法的流程图;

图4是本申请一实施例示出的一种出发时刻-出行概率分布曲线图;

图5是本申请一实施例示出的一种出发地点-出行概率分布曲面图;

图6是本申请一实施例示出的一种出发时刻及出发地点-出行概率分布图;

图7是本申请一实施例示出的一种获得地点推荐模型的方法的流程图;

图8是本申请一实施例示出的一种离线模型训练过程示意图;

图9是本申请一实施例示出的一种离线高斯模型训练过程示意图;

图10是本申请一实施例示出的一种LightGBM模型训练过程示意图;

图11是本申请一实施例示出的一种在线模型预测示意图;

图12是本申请一实施例示出的一种地点推荐的装置的结构框图;

图13是本申请一实施例示出的一种电子设备的示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

图1是本申请一实施例示出的一种实施场景示意图。在图1中,目的地预测平台与多个用户终端(包括:用户终端1-用户终端N)通信连接。目的地预测平台接收到某个用户终端发起的推荐地点获取请求之后,对该用户终端将要出行的目的地进行预测,并将预测结果发送给该用户终端。例如,目的地预测平台可以是打车平台,用户终端可以是即将打车的用户登录打车平台所使用的终端。

本申请提供了一种地点推荐的方法,应用于图1中的目的地预测平台。图2是本申请一实施例示出的一种地点推荐的方法的流程图。参照图2,本申请的地点推荐的方法包括以下步骤:

步骤S11:获得目标用户终端发起的推荐地点获取请求,所述推荐地点获取请求携带所述目标用户终端的出发地点和出发时刻。

在本实施例中,当用户终端检测到用户满足预设的地点推荐条件时,向目的地预测平台发送推荐地点获取请求。地点推荐条件可以是多种,例如用户登录目的地预测平台、用户输入指定字符、用户发起目的地查询等,地点推荐条件可以根据实际需求设置,本实施例对地点推荐条件不作具体限制。一个用户对应一个用户终端。

其中,出发地点是指满足地点推荐条件时用户终端所在的经纬度,出发时刻是指满足地点推荐条件时的时间。

步骤S12:根据所述出发地点和所述出发时刻以及所述目标用户终端的历史订单,确定点击率特征,所述点击率特征至少包括所述目标用户终端的历史订单中的历史地点与所述出发地点的距离、历史常用出行时刻以及所述历史地点的出行频次。

在本实施例中,对用户的历史订单进行分析,可以获得用户的历史出行记录,包括:历史出发地-历史目的地、出行时刻、达到时刻等。目的地预测平台接收到推荐地点获取请求后,从推荐地点获取请求中获得用户当前的出发地点和出发时刻。接着,对出发地点、出发时刻以及历史出行记录进行分析,即可获得该用户的点击率特征,包括:当前出发地与历史订单中的各个历史目的地之间的距离、常用的历史出行时刻、历史地点的出行频次等。当然,点击率特征还可以包括其它多种类型,具体可根据实际需求设置,本申请对此不作限制。其中,历史订单中的历史地点即历史订单中的历史目的地。

步骤S13:将所述出发地点和所述出发时刻输入所述目标用户终端的出行习惯模型,确定出行习惯特征,所述出行习惯特征表征所述目标用户终端以所述出发时刻为历史出发时刻且以所述出发地点为历史出发地点出行的概率。

在本实施例中,出行习惯模型是预先训练得到的,将出发地点和出发时刻输入到出行习惯模型,可以获得出行习惯特征。其中,出行习惯特征表示用户在该出发时刻从该出发地点出行的概率。

步骤S14:将所述出行习惯特征和所述点击率特征拼接后输入地点推荐模型,得到多个候选地点各自对应的概率。

在本实施例中,将出行习惯特征和点击率特征输入到预先训练的地点推荐模型,即可输出在该出发时刻从该出发地点出行到各个候选目的地的概率。其中,在将出行习惯特征和点击率特征输入到地点推荐模型时,可以首先按照预设拼接规则将出行习惯特征和点击率特征进行拼接,按照将拼接结果作为模型的输入。预设拼接规则可以根据实际需求设置,本实施例对此不作具体限制。

其中,候选目的地是用户的历史订单中的所有的历史目的地。

步骤S15:根据多个候选地点各自对应的概率,确定待推荐地点。

在本实施例中,在获得用户在该出发时刻从该出发地点出行到各个候选目的地的概率之后,可以将概率最高的候选目的地作为待推荐地点,表示用户最可能出行的目的地。

步骤S16:将所述待推荐地点推送给所述目标用户终端。

在本实施例中,将待推荐地点推送给目标用户终端是为了方便用户的操作,例如当用户想要去城市X时,将城市X作为待推荐地点推荐给用户,用户可以直接选中该选项而进行相关操作,而不必再次输入“城市X”等信息。

在本实施例中,出行习惯模型可以是对概率模型进行训练得到的。概率模型例如可以是马尔科夫模型、高斯模型、混合高斯模型、贝叶斯模型等,本实施例对此不作具体限制。通过出行习惯模型可以获得用户的出行习惯特征,即用户出行到目的地的概率特征。

示例地,当用户A在某时刻X想要去往地点Y时,通过自身携带的手机登录打车平台Z,打车平台Z检测到用户A此时存在打车需求,向后台服务器发送推荐地点获取请求,后台服务器从推荐地点获取请求中获得时刻X、地点Y,然后对时刻X、地点Y以及用户A的历史订单进行分析,获得用户A去往历史订单中的各个历史目的地的概率,例如包括地点L-10%、地点M-30%、地点N-20%、地点Y-40%,由于地点Y的推荐概率40%最高,因此打车平台Z向用户A推荐地点Y,以方便用户操作。

通过本实施例的地点推荐的方法,首先获得目标用户终端发起的推荐地点获取请求,该推荐地点获取请求携带目标用户终端的出发地点和出发时刻。接着,根据出发地点和出发时刻以及目标用户终端的历史订单,确定点击率特征,该点击率特征至少包括目标用户终端的历史订单中的历史地点与出发地点的距离、历史常用出行时刻以及历史地点的出行频次。然后,将出发地点和出发时刻输入目标用户终端的出行习惯模型,确定出行习惯特征,出行习惯特征表征目标用户终端以出发时刻为历史出发时刻且以出发地点为历史出发地点出行的概率。接着,将出行习惯特征和点击率特征拼接后输入地点推荐模型,得到多个候选地点各自对应的概率,根据多个候选地点各自对应的概率,确定待推荐地点。最后,将所述待推荐地点推送给目标用户终端。该方法同时构造点击率特征和出行习惯特征,通过两种特征获得用户最可能出行的目的地,由于加入了出行习惯这一概率性特征,不仅能优化结果的可解释性,还能提高目的地预测的准确率。

结合以上实施例,在一种实施方式中,本申请还提供了一种获得出行习惯模型的方法。图3是本申请一实施例示出的一种获得出行习惯模型的方法的流程图。参照图3,出行习惯模型可以按照下述步骤获得:

步骤S21:以历史地点为维度,将所述目标用户终端的多个历史订单划分为多类历史订单,一类历史订单包括的各个历史订单对应同一个历史地点。

在本实施例中,每一个用户可能会产生多个历史订单,通过对历史订单进行分析,可以统计出每一个用户在一定时间段内的所有的历史出行目的地。以历史目的地为划分依据,可以将每一个用户的历史订单划分为多个类别的历史订单。

在本实施例中,由于每一个用户的历史订单的数量是随着时间累积的,因此,在划分历史订单时,可以首先获得预设时间段内的历史订单。其中,预设时间段可以根据实际需求设置,本实施例对此不作具体限制。

示例地,用户A在预设时间段内的历史订单共有30个,其中,10个订单的历史目的地是地点1,5个订单的历史目的地是地点2,3个订单的历史目的地是地点3,2个订单的历史目的地是地点4,10个订单的历史目的地是地点5。那么,可以将用户A在预设时间段内的历史订单划分为5个类别,维度分别为:地点1、地点2、地点3、地点4以及地点5。其中,地点1对应的历史订单数量为10,地点2对应的历史订单数量为5,地点3对应的历史订单数量为3,地点4对应的历史订单数量为2,地点4对应的历史订单数量为10。

步骤S22:对每一类历史订单,根据所述目标用户终端在每个历史出发时刻去往该类历史订单对应的历史地点的次数,以及,所述目标用户终端从每个历史出发地点去往该类历史订单对应的历史地点的次数,拟合出该历史地点的混合高斯分布曲线。

在本实施例中,概率模型可以采用高斯模型。每一个用户终端可以具有多个历史目的地,每一个历史目的地可以具有多种类型的高斯分布曲线,混合高斯模型是用多组高斯分布组成的模型,混合高斯模型的概率密度函数即是多个高斯分布的概率密度的线性叠加。

在本实施例中,每一个历史目的地至少具有如下三种类型的高斯分布曲线:

一、出发时刻-出行概率分布曲线

图4是本申请一实施例示出的一种出发时刻-出行概率分布曲线图。在图4中,横坐标表示一天中的各个出行时刻,纵坐标表示对应各个出行时刻的出行概率。图4中示出了两条曲线,在峰值处,较高的曲线为高斯分布曲线,较低的曲线表示混合高斯分布曲线。

针对每一个历史目的地,通过对其对应的多个历史订单的出发时刻进行统计,可以获得用户在每个历史出发时刻去往该历史目的地的次数。最后,将每个历史出发时刻对应的出行次数和所有历史出发时刻对应的出行次数之和的比值作为用户在该出发时刻出行到该历史目的地的概率。

二、出发地点-出行概率分布曲面

图5是本申请一实施例示出的一种出发地点-出行概率分布曲面图。在图5中,水平面上分布的是各个出发地点经纬度信息,垂直于水平面的网状平面上的各个坐标值表示的是对应各个出发地点的出行概率。例如,根据出发地点-出行概率分布曲面图,可以得知用户去往A地时,从经纬度(116.470932,40.021655)出发的概率较高,从经纬度(116.471055,40.020734)出发的概率较低。

针对每一个历史目的地,通过对其对应的多个历史订单的出发地点进行统计,可以获得用户在每个历史出发地点去往该历史目的地的次数。最后,将每个历史出发地点对应的出行次数和所有历史出发地点对应的出行次数之和的比值作为用户在该出发地点出行到该历史目的地的概率。

三、出发时刻及出发地点-出行概率分布图

图6是本申请一实施例示出的一种出发时刻及出发地点-出行概率分布图。在图6中,由于概率分布图是一个3维椭球状,为了直观观测,本申请采用截面图来表示概率分布。越接近经纬度(116.470932,40.021655,9)球中心的概率值越高,越远离则越低。例如,根据出发时刻及出发地点-出行概率分布图,可以得知用户去往A地时,在早上9点从(116.470932,40.021655)点出发的概率较高。

针对每一个历史目的地,将历史出发时刻及历史出发地点作为一个整体考虑,通过对其对应的多个历史订单的出发地点进行统计,可以获得用户在每个历史出发时刻及历史出发地点去往该历史目的地的次数。最后,将每个历史出发时刻及历史出发地点对应的出行次数和所有历史出发时刻及历史出发地点对应的出行次数之和的比值作为用户在该出发时刻及出发地点出行到该历史目的地的概率。

步骤S23:对多个历史地点的混合高斯分布曲线进行拟合,得到所述目标用户终端的出行习惯模型。

在本实施例中,对每一个用户的多个混合高斯分布曲线进行拟合,可以得到针对该用户的出行习惯模型。当需要预测用户当前可能出行的目的地时,只需将用户当前所在经纬度和当前时刻输入到该用户对应的出行习惯模型即可。

在本实施例中,概率模型还可以采用马尔科夫模型、混合高斯模型、贝叶斯模型等,本实施例在此不作赘述。

在本实施例中,采用高斯模型作为概率模型并基于此训练得到出行习惯模型具有如下多个效果:

一、采用的高斯模型属于生成模型,是建立与数据分布P(x,y)相关的概率模型,因而输出结果具有较好的解释性。

二、概率模型可以基于用户的历史出行订单总结出用户行为习惯,因而,通过基于概率模型训练得到的出行习惯模型能更为便利地观测到用户对于各个目的地的出行习惯。

三、通过出行习惯模型输出的概率值具有较高的准确度,这使得获得的出行习惯特征具有较高的准确度,因而在将出行习惯特征和点击率特征输入到地点推荐模型后,可以输出准确度更高的概率,进而提升了预测确定待推荐地点的准确度。

结合以上实施例,在一种实施方式中,本申请还提供了一种获得地点推荐模型的方法。图7是本申请一实施例示出的一种获得地点推荐模型的方法的流程图。参照图7,本申请可以采取如下步骤获得地点推荐模型:

步骤S31:以样本用户终端的每个历史订单为样本订单,根据所述样本订单中的样本出发时刻和样本出发地点以及在该样本订单产生之前的多个历史订单,确定所述样本用户终端的样本点击率特征。

在本实施例中,每个用户可以产生多个历史订单,将产生历史订单的用户称为样本用户,样本用户所使用的终端称为样本用户终端,样本用户产生的历史订单称为样本订单。针对每一个用户的每一个样本订单,可以对该样本订单中的样本出发时刻、样本出发地点以及该样本订单产生之前的多个历史订单进行分析,获得针对该样本订单的点击率特征。

示例地,用户A在预设时间段内产生了10个订单(按照产生时间先后顺序依次为订单X1-X10),如果将用户A作为样本用户,将最新产生的一个订单X10作为一个样本订单X10,那么可以对样本订单X10中的样本出发时刻、样本出发地点,以及样本订单X10之前的历史订单(即订单X1-X9)进行分析,获得针对样本订单X10的点击率特征。同理,如果要将订单X9作为一个样本订单X9,那么可以对样本订单X9中的样本出发时刻、样本出发地点,以及样本订单X9之前的历史订单(即订单X1-X9)进行分析,获得针对样本订单X9的点击率特征。

步骤S32:根据所述样本用户终端的多个历史订单,确定所述样本用户终端的样本出行习惯模型。

在本实施例中,每一个用户(或样本用户终端)具有对应的样本出行习惯模型,因此,目的地预测平台根据历史订单对应的用户,即可确定应当使用哪个样本出行习惯模型获得样本用户的样本出行习惯特征。

步骤S33:将所述样本用户终端的样本订单中的样本出发时刻和样本出发地点,输入所述样本用户终端的出行习惯模型,确定所述样本用户终端的样本出行习惯特征。

在本实施例中,在训练地点推荐模型时,不仅需要点击率特征,还需要出行习惯特征。因此,还需要将样本订单中的样本出发时刻和样本出发地点输入样本用户对应的出行习惯模型以确定该样本用户的样本出行习惯特征。

示例地,接上述步骤S31中的实施例,在以订单X10为样本用户A的样本订单时,可以将样本订单X10的样本出发时刻和样本出发地点输入样本用户A对应的出行习惯模型,获得样本用户A针对样本订单X10的出行习惯特征。同理,在以订单X9为样本用户A的样本订单时,可以将样本订单X9的样本出发时刻和样本出发地点输入样本用户A对应的出行习惯模型,获得样本用户A针对样本订单X9的出行习惯特征。

步骤S34:将所述样本用户终端各自的样本点击率特征和样本出行习惯特征拼接,得到训练样本。

在本实施例中,可以首先按照预设拼接规则将样本出行习惯特征和样本点击率特征进行拼接,按照将拼接结果作为模型的输入。其中,拼接规则可以是对向量的直接拼接,例如出行习惯特征为M维的向量,样本点击率特征为N维向量,拼接之后为M+N维向量。预设拼接规则可以根据实际需求设置,本实施例对此不作具体限制。

示例地,接上述步骤S31和步骤S33中的实施例,可以将样本订单X10的点击率特征和样本订单X10的出行习惯特征进行拼接,得到一个训练样本,将样本订单X9的点击率特征和样本订单X9的出行习惯特征进行拼接,得到另一个训练样本。按照类似的原理,可以获得多个训练样本。

步骤S35:利用多个所述训练样本,对点击率预估模型进行训练,得到所述地点推荐模型。

在本实施例中,在获得多个训练样本后,可以利用多个训练样本对点击率预估模型进行训练,得到地点推荐模型。其中,点击率预估模型可以采用Logistic模型(LogisticRegression,逻辑回归模型),XGBoost模型(Extreme Gradient Boosting,梯度提升模型),LightGBM(Light Gradient Boosting Machine)等传统机器学习模型,或者DNN(DeepNeural Networks,深度神经网络)、Wide&Deep、DIN(Deep Interest Network,深度兴趣网络)等深度学习模型,本实施例对此不作具体限制。

在本实施例中,将目的地预测任务建模成在有限个候选目的地中,基于历史出行订单统计出每个目的地的点击率特征和出行习惯特征,然后将点击率特征和出行习惯特征通过点击率预估模型预测用户对每个候选目的地点击的概率。

本实施例中,在进行目的地预测时不仅构造常用的点击率预估特征,还会拼接概率模型输出的概率函数特征,然后将拼接后的特征作为点击率预估模型的输入,最终预测出用户出行到各个目的地的概率。如果某个候选目的地因为订单稀少没有概率函数,则概率函数特征以零值填充。通过该种方式,充分利用了点击率预估模型对订单要求少的特性,且对于订单频次足够的目的地预测,加入了额外的概率函数特征,不仅优化了结果的可解释性,而且提高了目的地预测的准确率。

结合以上实施例,在一种实施方式中,本申请还提供了一种预测出的各个候选地点的概率的应用场景。具体地,在得到多个候选地点各自对应的概率之后,本申请的方法还包括:

在检测到所述目标用户终端的地点输入操作时,按照概率由高到低的顺序,将所述多个候选地点作为候选输入地点发送给所述目标用户终端,以使所述目标用户终端顺次显示所述多个候选地点。

在本实施例中,目的地预测平台在预测出目标用户出行到各个候选地点的概率之后,如果目标用户在目标用户终端上触发了地点输入操作,那么目的地预测平台按照概率由高到低的顺序,将多个候选地点作为候选输入地点发送给目标用户终端,以供目标用户选择。

在本实施例中,根据预测出的概率向用户推荐候选地点,使得用户可以根据实际需求在推荐的多个候选地点中选择需要输入的地点,有效增强了用户的使用体验。

结合以上实施例,在一种实施方式中,本申请还提供了另一种预测出的各个候选地点的概率的应用场景。具体地,在将所述待推荐地点推送给所述目标用户终端之后,本申请的方法还包括:

根据所述待推荐地点的历史订单,确定待推荐下车点;

将所述待推荐下车点推送给所述目标用户终端和/或司机终端,并向所述目标用户终端和/或所述司机终端发送提示信息,以提示所述目标用户终端的用户在所述待推荐下车点下车。

本实施例提供了一种打车场景下预测出的待推荐地点的使用方法。在将待推荐地点推送给目标用户终端后,如果用户选择了该待推荐地点作为目的地,那么,目的地预测平台还可以向目标用户终端和/或司机终端发送待推荐下车点,并向目标用户终端和/或司机终端发送提示信息,以提示目标用户终端的用户在该待推荐下车点下车,防止目标用户错过下车地点,能有效提升用户的使用体验。

下面将以一个具体地实施例对本申请的地点推荐的方法进行详细说明。

在本实施例中,采用高斯模型作为概率模型,采用LightGBM模型作为点击率预估模型。整个过程包括:离线模型训练和在线模型预测。

一、离线模型训练

离线模型训练包括离线高斯模型训练和LightGBM模型训练,如图8所示。图8是本申请一实施例示出的一种离线模型训练过程示意图。在图8中,利用历史订单首先训练混合高斯模型,然后将训练得到的混合高斯模型存储到混合高斯模型库中,然后基于历史订单和混合高斯模型的输出值对LightGBM模型进行训练,得到LightGBM模型。

1、离线高斯模型训练

图9是本申请一实施例示出的一种离线高斯模型训练过程示意图。参照图9,可以采用如下步骤进行离线高斯模型训练:

步骤1:按照用户维度和目的地维度,对用户的历史订单做聚类处理,将同一用户的相同的目的地的所有历史订单划分到一个类别,例如针对用户1,可以将到达目的地A的订单划分到一个类别,即“用户1,目的地A”,将到达目的地B的订单划分到一个类别,即“用户1,目的地B”,将到达目的地C的订单划分到一个类别,即“用户1,目的地C”。

步骤2:利用一个类别中所有的历史订单的出发时刻与出发地点的信息,拟合出该目的地的混合高斯模型,例如根据“用户1,目的地A”中的历史订单拟合得到混合高斯模型“用户1,目的地A混合高斯模型”,根据“用户1,目的地B”中的历史订单拟合得到混合高斯模型“用户1,目的地B混合高斯模型”,根据“用户1,目的地C”中的历史订单拟合得到混合高斯模型“用户1,目的地C混合高斯模型”。

步骤3:将训练出的所有的用户的混合高斯模型持久化存储在模型数据库中。

2、LightGBM模型训练

图10是本申请一实施例示出的一种LightGBM模型训练过程示意图。参照图10,可以采用如下步骤进行LightGBM模型训练:

步骤1:利用用户历史订单生产点击率特征,即利用历史订单生成CTR特征训练数据。

步骤2:利用用户历史订单查询用户的混合高斯模型,为每个历史订单添加概率函数的输出值,作为概率特征,即利用历史订单查询混合高斯模型生成概率特征训练数据。

步骤3:合并点击率特征与概率特征得到LightGBM模型的训练数据。

步骤4:利用合并得到的训练数据对LightGBM模型进行训练,得到LightGBM模型。

二、在线模型预测

图11是本申请一实施例示出的一种在线模型预测示意图。参照图11,可以采用如下步骤进行在线模型预测:

步骤1:在接收到目标用户的目的地预测请求时,获取请求的时刻t与经纬度信息。

步骤2:获取目标用户的所有混合高斯模型。

步骤3:通过混合高斯模型对目的地进行概率预估得到概率特征,例如通过“目的地A,混合高斯模型”获得“目的地A,概率特征”,通过“目的地B,混合高斯模型”获得“目的地B,概率特征”,通过“目的地C,混合高斯模型”获得“目的地C,概率特征”。

步骤4:根据时刻t与经纬度信息构造点击率特征,例如构造得到“目的地A,CTR特征”、“目的地B,CTR特征”以及“目的地C,CTR特征”。

步骤5:合并概率特征与点击率特征,通过LightGBM模型对目的地出行概率进行预测,例如预测得到“目的地A,出行概率”、“目的地B,出行概率”以及“目的地C,出行概率”。

步骤6:将概率最高的目的地作为目的地预测结果。

本实施例中,概率函数选择使用混合高斯模型(GMM,Gaussian mixture model)输出模型,混合高斯模型是用多组高斯分布组成的模型,每个高斯分布称为一个组件,每个用户出行的高峰可以由一个或多个组件来描述。混合高斯模型的概率密度函数即是多个高斯分布的概率密度的线性叠加,因此能较好的拟合多峰情形。混合高斯模型是一个平滑连续的曲线,因此推荐结果没有跃变的临界。而且通过设置超参数组件数量,可以在用户订单历史订单较少时退化成单峰的高斯分布。

本实施例在通过LightGBM模型解决目的地点击率预测的场景下,增加历史订单拟合混合高斯模型特征。由于混合高斯模型具有能够拟合用户多峰出行习惯的优点,能刻画出用户对某一目的地的多样的出行习惯,因此增加了模型预测结果可解释性,提高了目的地预测场景准确率,并且缓解了单纯使用概率函数预估对订单数量的要求,即使在目的地无概率函数的情形下,LightGBM仍然能为该目的地做出合理的出行概率预估,提高目的地预测场景召回率。

基于同一发明构思,本申请一实施例提供一种地点推荐的装置1200。参考图12,图12是本申请一实施例示出的一种地点推荐的装置的结构框图。如图12所示,该地点推荐的装置1200包括:

获得模块1201,用于获得目标用户终端发起的推荐地点获取请求,所述推荐地点获取请求携带所述目标用户终端的出发地点和出发时刻;

第一确定模块1202,用于根据所述出发地点和所述出发时刻以及所述目标用户终端的历史订单,确定点击率特征,所述点击率特征至少包括所述目标用户终端的历史订单中的历史地点与所述出发地点的距离、历史常用出行时刻以及所述历史地点的出行频次;

第一输入模块1203,用于将所述出发地点和所述出发时刻输入所述目标用户终端的出行习惯模型,确定出行习惯特征,所述出行习惯特征表征所述目标用户终端以所述出发时刻为历史出发时刻且以所述出发地点为历史出发地点出行的概率;

第二输入模块1204,用于将所述出行习惯特征和所述点击率特征拼接后输入地点推荐模型,得到多个候选地点各自对应的概率;

第二确定模块1205,用于根据多个候选地点各自对应的概率,确定待推荐地点;

第一推送模块1206,用于将所述待推荐地点推送给所述目标用户终端。

可选地,所述装置1200还包括:

划分模块,用于以历史地点为维度,将所述目标用户终端的多个历史订单划分为多类历史订单,一类历史订单包括的各个历史订单对应同一个历史地点;

第一拟合模块,用于对每一类历史订单,根据所述目标用户终端在每个历史出发时刻去往该类历史订单对应的历史地点的次数,以及,所述目标用户终端从每个历史出发地点去往该类历史订单对应的历史地点的次数,拟合出该历史地点的混合高斯分布曲线;

第二拟合模块,用于对多个历史地点的混合高斯分布曲线进行拟合,得到所述目标用户终端的出行习惯模型。

可选地,所述装置1200还包括:

第二确定模块,用于以样本用户终端的每个历史订单为样本订单,根据所述样本订单中的样本出发时刻和样本出发地点以及在该样本订单产生之前的多个历史订单,确定所述样本用户终端的样本点击率特征;

第三确定模块,用于根据所述样本用户终端的多个历史订单,确定所述样本用户终端的样本出行习惯模型;

第四确定模块,用于将所述样本用户终端的样本订单中的样本出发时刻和样本出发地点,输入所述样本用户终端的出行习惯模型,确定所述样本用户终端的样本出行习惯特征;

拼接模块,用于将所述样本用户终端各自的样本点击率特征和样本出行习惯特征拼接,得到训练样本;

训练模块,用于利用多个所述训练样本,对点击率预估模型进行训练,得到所述地点推荐模型。

可选地,所述装置1200还包括:

发送模块,用于在得到多个候选地点各自对应的概率之后,在检测到所述目标用户终端的地点输入操作时,按照概率由高到低的顺序,将所述多个候选地点作为候选输入地点发送给所述目标用户终端,以使所述目标用户终端顺次显示所述多个候选地点。

可选地,所述装置1200还包括:

第五确定模块,用于在将所述待推荐地点推送给所述目标用户终端之后,根据所述待推荐地点的历史订单,确定待推荐下车点;

第二推送模块,用于在将所述待推荐地点推送给所述目标用户终端之后,将所述待推荐下车点推送给所述目标用户终端和/或司机终端,并向所述目标用户终端和/或所述司机终端发送提示信息,以提示所述目标用户终端的用户在所述待推荐下车点下车。

基于同一发明构思,本申请另一实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请上述任一实施例所述的地点推荐的方法中的步骤。

基于同一发明构思,本申请另一实施例提供一种电子设备1300,如图13所示。图13是本申请一实施例示出的一种电子设备的示意图。该电子设备包括存储器1302、处理器1301及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本申请上述任一实施例所述的地点推荐的方法中的步骤。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本申请所提供的一种地点推荐的方法、装置、电子设备及存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

相关技术
  • 一种地点推荐的方法、装置、电子设备及存储介质
  • 目标地点推荐方法及装置、电子设备、机器可读存储介质
技术分类

06120112166644