基于时间场景的商品推荐系统及其方法技术方案

技术编号:16399761 阅读:391 留言:0更新日期:2017-10-17 19:57
一种基于时间场景的商品推荐系统及其方法,包括:初始化模块、训练模块、评估模块和推荐模块,其中:初始化模块将已有商品数据根据时间顺序划分为训练集和测试集,建立并初始化用户偏置向量、商品偏置向量、商品特征矩阵、用户特征矩阵和商品隐式特征矩阵;训练模块提取训练集,训练评分模型;评估模块接收测试集,计算评分模型的均方误差以评估模型效果;推荐模块接收用户偏置向量、商品偏置向量、商品特征矩阵、用户特征矩阵和商品隐式特征矩阵,根据评分模型计算用户对每个商品的预测评分,按照预测评分向用户推荐商品,本发明专利技术能表达用户的兴趣画像和商品的属性特征,不存在用户冷启动问题和商品冷启动问题,实现了基于时间场景的高精度推荐。

Commodity recommendation system based on time scene and its method

A recommendation system and method, time scene based on product includes initialization module, training module, evaluation module and recommendation module, wherein the initialization module data of existing goods according to the time sequence is divided into training set and test set, establish and initialize the user bias vector, commodity bias vector, commodity feature matrix and user characteristic matrix the commodity and implicit feature matrix; training module from the training set, training evaluation model; evaluation module receives the test set, the mean square error calculation model to evaluate the effect of scoring model; recommendation module receives the user bias vector, commodity bias vector, commodity characteristics matrix, user characteristic matrix and commodity implicit feature matrix, calculate the user forecast for each commodity score according to the scoring model, according to the prediction score recommend products to users, the invention can express The user's interest portrait and the attributes of the commodity have no cold start problem and cold start problem, and the high precision recommendation based on the time scene is achieved.

【技术实现步骤摘要】
基于时间场景的商品推荐系统及其方法
本专利技术涉及的是一种电子商务领域的技术,具体是一种基于时间场景的商品推荐系统及其方法。
技术介绍
随着互联网技术的发展和上网用户人数的激增,网上信息呈指数级增长,信息过载问题日益严重。近年来,作为解决信息过载问题的主要技术——推荐系统得到了广泛的发展和应用。但其纯在两个问题,即用户冷启动问题和商品冷启动问题。用户冷启动问题指新用户到达系统时,由于该用户在系统中没有和其他商品有过交互信息,推荐系统就没有用户的偏好信息。商品冷启动问题是指当新商品进入系统中,由于没有用户对新商品进行浏览、评论、购买等交互,系统无法把它纳入系统进行计算,这导致新商品一直无法推荐给其他用户。
技术实现思路
本专利技术针对现有技术数据稀疏性推荐精度难以满足要求等缺陷,提出一种基于时间场景的商品推荐系统及其方法。本专利技术是通过以下技术方案实现的:本专利技术涉及一种基于时间场景的商品推荐系统,包括:初始化模块、训练模块、评估模块和推荐模块,其中:初始化模块将已有商品数据根据时间顺序划分为训练集和测试集,初始化模块建立并初始化用户偏置向量、商品偏置向量、商品特征矩阵、用户特征矩阵和商品隐式特征矩阵;训练模块提取训练集并训练评分模型;评估模块接收测试集,计算评分模型的均方误差以评估模型效果;推荐模块接收用户偏置向量、商品偏置向量、商品特征矩阵、用户特征矩阵和商品隐式特征矩阵并根据评分模型计算用户对每个商品的预测评分,按照预测评分向用户推荐商品。本专利技术涉及一种基于上述系统的商品推荐方法,包括以下步骤:1)将已有商品数据分为训练集和测试集,建立并初始化用户偏置项向量bU、商品偏置项向量bI、商品特征矩阵Q、用户特征矩阵P和商品隐式特征矩阵T;2)采用训练集数据对模型进行训练,其中:为用户u在时间T对商品i的预测评分,μu,tμi,tμ为常数,μu,t为用户在t时间点评分均值,μi,t为商品在t时间点的评分均值,μ为全局评分均值,bu、bi为偏置参数,为t时间商品特征因子、用户特征因子、商品隐式特征因子,T={Year,Month,Day,Hour};3)采用测试集数据对模型进行评估计算均方误差RMS,其中:rui,T为用户u时间T对商品i的实际评分,testset为测试集元素个数;4)计算用户对每个商品的预测评分,并向依照预测评分向用户推荐商品。所述的bU、bI、Q和P服从均匀分布,Y服从均匀分布。所述的步骤2)具体包括以下步骤:2.1)初始化迭代损失last_loss=0,loss=0,设定当前迭代次数iter=1,并设定总迭代次数max_iters的值;2.2)计算训练集中所有商品的使用sigmoid函数对处理获得2.3)计算估计误差2.4)在估计误差中引入正则化项,对估计误差进行修正,修正公式为:2.5)使用随机梯度下降法对模型参数进行更新;2.6)当前iter中训练集所有样本对模型参数进行更新后,第一轮迭代计算结算,last_loss=loss;2.7)第二轮迭代开始计算last_loss-loss<10(-6)||loss<10(-6)且迭代次数没有达到max_iters,则last_loss=loss,iter=iter+1,回到步骤2.2),否则完成训练。所述的bu、bi、的更新公式为:所述的用户u为新用户时,用户特征因子使用全局用户在t时间节点的特征均值表示。所述的商品为新商品时,商品特征因子用全局商品在t时间节点的特征均值表示。所述的步骤2)中采用全局用户评分均值、全局用户偏置项均值和全局商品偏置项均值之和作为新用户对新商品的值。技术效果与现有技术相比,本专利技术引入用户和商品的具体时间节点特征因子,能更好地表达用户的兴趣画像和商品的属性特征,即使是在数据极其稀疏的场景也能有很好的性能表现,不存在用户冷启动问题和商品冷启动问题,将时间分解成年、月、日、时具体的时间节点,代表用户和商品在具体时间场景的偏好程度和属性特征,实现了基于时间场景的高精度推荐。附图说明图1为本专利技术流程示意图;图2为训练模型流程示意图。具体实施方式本实施例中,采用公开数据集Movielens100K数据集进行推荐电影。该数据集包含943个用户,1682部电影,100,000条用户对电影的评分记录。该数据集的稀疏度是一个稀疏的数据集。将未在训练集中出现的用户作为新用户,不在训练集出现的物品作为新物品。经统计发现,该测试集的新用户占63.79%,新电影占4.56%。如图1所示,推荐电影的具体步骤为:1)将该数据集遵照时间先后原则分成两部分,评论时间前80%的样本数据做训练集,评论时间后20%的数据做测试集,建立并初始化用户偏置项向量bU、电影偏置项向量bI、商品特征矩阵Q、用户特征矩阵P和电影隐式特征矩阵T,bU、bI、Q和P服从[0,0.01]的均匀分布,T服从[0,0.002]的均匀分布,设置Q、P和Y的特征向量维度f=50。统计全局数据集的评分均值μ,每个用户年月日小时4个具体时间节点的评分均值μU,T,每个视频在年月日小时4个具体时间节点得到的评分均值μI,T。2)采用训练集数据对模型进行训练,其中:为用户u时间T对电影i的预测评分,μu,tμi,tμ为常数,μu,t为用户在t时间点评分均值,μi,t为电影在t时间点的评分均值,μ为全局评分均值,bu、bi为偏置参数,为t时间商品特征因子、用户特征因子、商品隐式特征因子,T={Year,Month,Day,Hour}。2.1)如图2所示,初始化上一轮迭代损失last_loss=0,当前轮迭代损失loss=0,设定当前迭代次数iter=1,并设定总迭代次数max_iters=1000。2.2)将数据集中的unix时间T转化为具体的年月日时的具体时间节点。计算训练集中所有电影的使用sigmoid函数对处理,按公式获得2.3)计算并更新预测评分的估计误差2.4)在估计误差中引入正则化项,修正公式为:2.5)使用随机梯度下降法对模型参数进行更新,公式为:2.6)当前iter中训练集所有样本对模型参数进行更新后,第一轮迭代计算结算,last_loss=loss;2.7)从第二轮迭代开始,如果不满足last_loss-loss<10(-6)||loss<10(-6)且迭代次数没有达到max_iters,则last_loss=loss,iter=iter+1,回到步骤2.2),否则完成训练。3)采用测试集数据对模型进行评估,计算均方误差RMSE,其中:rui,T为用户u时间T对商品i的实际评分,testset为测试集元素个数。4)计算用户对每个电影的预测评分,并向依照预测评分向用户推荐与测评分最高的N部电影。所述的用户u为新用户时,用户特征因子使用全局用户在t时间节点的特征均值表示。所述的电影为新电影时,电影特征因子用全局电影在t时间节点的特征均值表示。所述的步骤2)中采用全局用户评分均值、全局用户偏置项均值和全局电影偏置项均值之和作为新用户对新电影的值。本实施例涉及上述过程通过以下系统实现,该系统包括:初始化模块、训练模块、评估模块和推荐模块,其中:初始化模块将已有商品数据根据时间顺序划分为训练集和测试集,初始化模块建立并初始化用户偏置向量、商品偏置向量、商品特征矩阵、用户特征矩阵本文档来自技高网...
基于时间场景的商品推荐系统及其方法

【技术保护点】
一种基于时间场景的商品推荐系统,其特征在于,包括:初始化模块、训练模块、评估模块和推荐模块,其中:初始化模块将已有商品数据根据时间顺序划分为训练集和测试集,建立并初始化用户偏置向量、商品偏置向量、商品特征矩阵、用户特征矩阵和商品隐式特征矩阵;训练模块提取训练集,训练评分模型;评估模块接收测试集,计算评分模型的均方误差以评估模型效果;推荐模块接收用户偏置向量、商品偏置向量、商品特征矩阵、用户特征矩阵和商品隐式特征矩阵,根据评分模型计算用户对每个商品的预测评分,按照预测评分向用户推荐商品。

【技术特征摘要】
1.一种基于时间场景的商品推荐系统,其特征在于,包括:初始化模块、训练模块、评估模块和推荐模块,其中:初始化模块将已有商品数据根据时间顺序划分为训练集和测试集,建立并初始化用户偏置向量、商品偏置向量、商品特征矩阵、用户特征矩阵和商品隐式特征矩阵;训练模块提取训练集,训练评分模型;评估模块接收测试集,计算评分模型的均方误差以评估模型效果;推荐模块接收用户偏置向量、商品偏置向量、商品特征矩阵、用户特征矩阵和商品隐式特征矩阵,根据评分模型计算用户对每个商品的预测评分,按照预测评分向用户推荐商品。2.一种根据权利要求1所述系统的基于时间场景的商品推荐方法,其特征在于,包括以下步骤:1)将已有商品数据分为训练集和测试集,建立并初始化用户偏置项向量bU、商品偏置项向量bI、商品特征矩阵Q、用户特征矩阵P和商品隐式特征矩阵Y;2)采用训练集数据对模型进行训练,其中:为用户u在时间T对商品i的预测评分,μu,tμi,tμ为常数,μu,t为用户在t时间点评分均值,μi,t为商品在t时间点的评分均值,μ为全局评分均值,bu、bi为偏置参数,为t时间商品特征因子、用户特征因子、商品隐式特征因子,T={Year,Month,Day,Hour};3)采用测试集数据对模型进行评估计算均方误差RMSE,其中:rui,T为用户u时间T对商品i的实际评分,testset为测试集元素个数;4)计算用户对每个商品的预测评分,并向依照预测评分向用户推荐商品。3.根据权利要求2所述的基于时间场景的商品推荐方法,其特征是,所述的bU、b...

【专利技术属性】
技术研发人员:李生红江文谢文丹马颖华黄德双葛昊黎晓春陈毅鸿
申请(专利权)人:上海交通大学携程计算机技术上海有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1