本发明涉及用户行为预测领域,特别是涉及一种基于深度学习的用户行为预测方法。
背景技术:
互联网上越来越多的用户数据被记录下来,用户在网站上的搜索、点击、购买等行为数据,反映着用户对产品的兴趣与需求。通过对用户一系列行为数据的分析和建模,可以预测用户对产品及网站感兴趣的程度,从而为用户营销,网站推广等提供数据支撑。
深度学习强大的建模和表征能力很好的解决了特征表达能力不足和维数灾难等模式识别方向的关键问题。循环神经网络能够解决序列化相关问题,是一种对序列数据建模的神经网络,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,其可以通过中间状态保存上下文信息,作为输入影响下一时序的预测,包括但不限于自然语言、语音识别、序列化标注问题。
因此,本文基于用户海量的线上数据,结合深度学习模型,对用户下单购买概率实现尽可能准确的预测。根据用户实时访问行为序列,预测购买可能性及接下来的行为,同时结合用户的特征分析,浏览的险种等,进行促销应用。
循环神经网络rnn是神经网络一个序列到序列的模型,强调一个已知单元结构重复使用。
技术实现要素:
本发明所要解决的技术问题是克服现有技术的不足,提供一种基于深度学习的用户行为预测方法。
为解决上述技术问题,本发明提供一种基于深度学习的用户行为预测方法,其特征在于,包括如下步骤:
步骤一:用户访问序列数据生成,将每一个购买及不购买用户按照访问时间顺序形成一条访问序列数据,这些访问序列就是用户购买产品前的访问习惯;访问序列构成用户序列数据;
步骤二:访问序列数据处理,对步骤一中生成的访问序列数据进行进一步处理,处理过程包括如下步骤:
1)去除不重要的网页模块,对网页模块进行重要性评定,对重要性低于要求的网页模块需要在访问序列数据中先予以剔除;
2)用户连续相同行为去重,针对具有连续的相同行为的访问序列数据,对其中用户的连续的相同行为进行去重;
步骤三:训练循环神经网络模型;
训练循环神经网络进行访问序列预测,输入是步骤二中页面访问的访问序列数据,输出也是页面访问的访问序列数据,如输出的访问序列数据长度不足,则用不相关的标记补齐,最终输出之前加入softmax层得到访问序列数据对应的购买概率;
步骤四:购买概率实时预测;
当用户在网站上有了点击行为之后,通过已经训练好的循环神经网络模型,实时预测出用户下一步可能购买产品的可能性,即购买概率。
所述步骤一中,采用网站日志记录的用户身份cookie去识别不同的用户,用户进入网站的一系列访问行为,根据时间先后顺序排列好,形成访问序列数据,得到购买和不购买的访问序列数据样本,所述步骤二中,需要剔除的重要性低于要求的网页模块包括购买行为页面,即支付成功之前必经的页面,如填加投保信息页面、投保信息确认页面、支付页面等,还包括整个网站页面结构中,很少被用户访问的页面,采用的剔除方法是统计页面最近一个月内被所有用户访问的次数,将访问次数小于等于3的页面去除。
所述步骤二中还包括如下步骤:
3)进一步分析多次购买的数据,对多次购买的数据以购买动作为节点截取出多条购买动作的访问序列数据;
4)确定截断最大访问序列的长度,首先,过滤访问路径不足5步的不购买的访问序列数据,保留有效访问路径至少8步的访问序列数据,不足8步的用空格补齐,选取购买动作往前推10步作为访问序列的最大长度,大于10的访问序列予以截断。
所述步骤三中,循环神经网络采用lstm算法模型,使用累加的形式计算状态,训练数据分为两类,分别为购买样本和不购买样本,其数据量分别为50万以上,尤其是达到100万。
所述步骤四中,当用户的购买概率满足设定的阈值条件时,根据不同业务场景为用户定向推送营销推广方案,所述营销推广方案包括发放优惠券、人工服务、购买引导等促销手段。
有益效果:本发明基于用户访问行为形成的序列数据,采用lstm长短时记忆网络模型,对当前用户进入网站后的每一步访问行为进行实时的购买概率预测,及时的进行营销干预,提高网站转化。本发明的有益效果主要体现在三个方面:(1)采用购买和非购买用户的访问时间序列数据进行预测分类,同时对样本数据进行了特殊处理;(2)采用深度学习中的长短时记忆网络训练行为序列预测模型,能够捕获到访问时序数据中的上下步行为关联关系,使预测的准确度大大提高;(3)模型建立后,对当前进入网站的用户,随着用户访问行为的深入,对每一步的访问后都进行实时的购买可能性预测,根据购买的意愿大小及时的进行营销干预,提高网站转化,大大的提高了时效性。
附图说明
图1为本发明的示例性实施例的流程简图;
图2为本发明的示例性实施例的购买概率预测效果图。
具体实施方式
下面结合附图和示例性实施例对本发明作进一步的说明:
如图1所示,一种基于深度学习的用户行为预测方法包括如下步骤:
s11:用户访问序列数据生成
用户在网站上会产生很多行为,有的行为触发了购买行为,而对于电商网站来说用户下单购买是最终的目的。对于每一个购买用户,通过解析好的日志可以获取到用户购买以前的行为,这些行为是有明显的前后次序关系,每一个购买用户按照访问时间顺序都可以形成一条访问序列,为此我们把这些有前后次序的行为连接起来作为用户购买之前的访问序列数据,这些访问序列就是用户购买产品前的访问习惯,访问序列构成用户序列数据;反映着购买的愿望与需求。这里我们采用网站日志记录的用户身份cookie去识别不同的用户,用户进入网站的一系列点击行为,根据时间先后顺序排列好,形成访问行为序列数据,首先过滤较短的路径(大量路径尤其是不购买的路径不足5步),在此保留有效访问路径至少8步的序列,不足8步的用空格补齐。分别经过预处理得到购买和不购买的序列样本。
以保险网站为例,比如有如下一个用户访问序列s:
s=专题页,首页,保险分类页,综合意外保险列表页,会员中心页,境外旅行保险列表页,安途全球旅行险产品页,环球旅行综合保障皇冠计划产品页,境外旅行保险列表页,境外旅行保险列表页,环球旅行综合保障皇冠计划产品页,会员登录页,会员登录页,环球旅行综合保障皇冠计划产品页,投保信息填写页,投保确认页,购买成功页,首页,专题页,国内旅行保险列表页,宝宝乐疾病住院保障产品页,妈妈乐儿童疾病住院保障产品页,宝宝乐疾病住院保障产品页,投保信息填写页,投保确认页,支付成功页,首页,理赔页
序列s共有26个访问页面,2次购买。
s12:访问序列数据处理
这一步序列预数据处理比较重要,为后续的算法提供高质量的训练数据。
上一步生成的序列数据质量不高,需要对生成的序列作进一步的处理,主要包括如下几个方面:
1)去除不重要的网页模块
网站的页面繁多,各个页面的重要性也不一样,不重要的模块对最终的购买行为不会产生重要的影响,却会对最终的购买预测产生负面影响,为此需要剔除。所述步骤二中,需要剔除的重要性低于要求的网页模块包括购买行为页面,即支付成功之前必经的页面,如填加投保信息页面、投保信息确认页面、支付页面等,这些必经的页面并不能正确反应用户的行为路径及购买的偏好,因此需要剔除。
比如上例中的序列s,其中投保页面是每次购买之前都需要点击的网页,对购买不会产生刺激行为,为此我们把这一网页模块剔除掉,序列s变成:
s=专题页,首页,保险分类页,综合意外保险列表页,会员中心页,境外旅行保险列表页,安途全球旅行险产品页,环球旅行综合保障皇冠计划产品页,境外旅行保险列表页,境外旅行保险列表页,环球旅行综合保障皇冠计划产品页,会员登录页,会员登录页,环球旅行综合保障皇冠计划产品页,购买成功页,首页,专题页,国内旅行保险列表页,宝宝乐疾病住院保障产品页,妈妈乐儿童疾病住院保障产品页,宝宝乐疾病住院保障产品页,支付成功页,首页,理赔页。
还包括整个网站页面结构中,很少被用户访问的页面,这部分页面对于反映用户访问路径及偏好的信息量太弱,会对模型预测的精度产生影响,因此需要将这部分页面去掉。采用的剔除方法是统计页面最近一个月内被所有用户访问的次数,将访问次数小于等于3的页面去除。
2)用户连续相同行为去重
对于有购买意向的用户来说,用户可能在很长的一段时间里都在横向的比较相关产品,或者不断地进行产品搜索,这样的序列就会有连续的相同行为,用户连续访问同一个页面模块,而且每一个用户连续访问的次数也会有很大的不同,这样子会造成序列长度过长,为了后续算法的有效性,综合考量下决定对连续的相同行为进行去重。
比如上述序列s,经过续相同行为去重得到如下序列:
s=专题页,首页,保险分类页,综合意外保险列表页,会员中心页,境外旅行保险列表页,安途全球旅行险产品页,环球旅行综合保障皇冠计划产品页,境外旅行保险列表页,环球旅行综合保障皇冠计划产品页,会员登录页,环球旅行综合保障皇冠计划产品页,购买成功页,首页,专题页,国内旅行保险列表页,宝宝乐疾病住院保障产品页,妈妈乐儿童疾病住院保障产品页,宝宝乐疾病住院保障产品页,支付成功页,首页,理赔页。
3)多次购买截取产生多条数据。
用户在一天之内可能会产生多次购买的行为,对于每一次购买的行为,用户的行为都是不一样的,一个购买行为就会对应一次行为序列,为此多次购买就会行为多条序列数据,此处对多次购买的数据以购买动作为节点截取出多条购买动作的序列数据。
对于上面的访问序列s,一共发生了2次购买行为,那么取第一次购买前的序列数据,比如上述序列s,得到如下序列:
s=专题页,首页,保险分类页,综合意外保险列表页,会员中心页,境外旅行保险列表页,安途全球旅行险产品页,环球旅行综合保障皇冠计划产品页,境外旅行保险列表页,环球旅行综合保障皇冠计划产品页,会员登录页,环球旅行综合保障皇冠计划产品页,购买成功页
4)截断最大序列长度10
每个用户形成的序列长度不一,通过分析用户购买之前的序列长度,发现为了后续算法开发效率的提升,在此处选取最大序列长度为10,序列长度大于10的从购买向前取10步。s变为以下序列
s=保险分类页,综合意外保险列表页,会员中心页,境外旅行保险列表页,安途全球旅行险产品页,环球旅行综合保障皇冠计划产品页,境外旅行保险列表页,环球旅行综合保障皇冠计划产品页,会员登录页,环球旅行综合保障皇冠计划产品页,购买成功页
训练数据包括购买和不购买两部分样本数据,分别获取50万以上,尤其是达到100万数据量作为训练样本。
如表1用户行为序列表
其中,不足10步的用空格补齐。
s13:训练循环神经网络模型
在时间序列预测方面,循环神经网络有着很大的优势,循环神经网络rnn在序列较长时会出现梯度消失与梯度爆炸问题。而lstm能避免rnn的梯度消失问题,其使用累加的形式计算状态,这种累加形式导致导数也是累加形式,因此避免了梯度消失。
输入是步骤二中页面访问的路径序列,输出也是页面访问的路径序列,最终输出之前加入softmax层得到路径对应的购买概率。
输入输出大致如下形式:
input:保险分类页,综合意外保险列表页,会员中心页,境外旅行保险列表页,安途全球旅行险产品页,环球旅行综合保障皇冠计划产品页,境外旅行保险列表页,环球旅行综合保障皇冠计划产品页,会员登录页,环球旅行综合保障皇冠计划产品页,购买
output:综合意外保险列表页,会员中心页,境外旅行保险列表页,安途全球旅行险产品页,环球旅行综合保障皇冠计划产品页,境外旅行保险列表页,环球旅行综合保障皇冠计划产品页,会员登录页,环球旅行综合保障皇冠计划产品页,购买,end.
output为input滞后一步,由于训练的时候,batch内对于每个input的长度要求一致,所以短的路径用不相关的标记补齐,如end。
以下为实现过程:
s14:购买概率实时预测
训练完lstm模型之后,对于用户在网站上的任意一次点击,都可以计算出用户在这次点击之后购买概率的大小,若购买概率满足设定的阈值条件,就可以触发发放优惠券、人工服务、购买引导等促销手段,刺激用户消费。随着用户访问行为的深入,对每一步的访问行为后都进行实时的购买可能性预测,能够及时的进行营销干预,提高网站转化。
图2为某一个用户在网站上的访问如下页面,分别得到每一步购买概率的预测效果图。
本发明主要用于提供一种基于深度学习的用户行为预测方法,本发明基于用户访问行为形成的序列数据,采用lstm长短时记忆网络模型,对当前用户进入网站后的每一步访问行为进行实时的购买概率预测,及时的进行营销干预,提高网站转化。本发明的有益效果主要体现在三个方面:(1)采用购买和非购买用户的访问时间序列数据进行预测分类,同时对样本数据进行了特殊处理;(2)采用深度学习中的长短时记忆网络训练行为序列预测模型,能够捕获到访问时序数据中的上下步行为关联关系,使预测的准确度大大提高;(3)模型建立后,对当前进入网站的用户,随着用户访问行为的深入,对每一步的访问后都进行实时的购买可能性预测,根据购买的意愿大小及时的进行营销干预,提高网站转化,大大的提高了时效性。
以上实施例不以任何方式限定本发明,凡是对以上实施例以等效变换方式做出的其它改进与应用,都属于本发明的保护范围。