一种基于评分和用户行为的商品推荐方法
【专利摘要】本发明公开了一种基于评分和用户行为的商品推荐方法,首先针对用户评分数据建立隐因子模型,对商品进行自动聚类,找出隐含的类别或者特征因子,用户兴趣分解成对多个隐含类别的喜爱程度,商品用包含这些隐含特征的权重表示,用户对商品的评分为两者的内积。然后为了解决评分数据稀疏问题,利用用户行为,引入负样本,提取特征,通过逻辑回归模型来估计用户对商品购买的可能性。最后将两者的候选集组合加权进行排序,将排名靠前的商品推荐给用户。该方法利用隐因子模型从单一的评分中发现用户多元化的兴趣,挖掘出商品多特征的信息,更加符合实际应用,引入负样本,使得用户兴趣区别性更大,推荐结果质量更高,更能满足用户的需求,可应用于商品推荐。
【专利说明】
-种基于评分和用户行为的商品推荐方法
技术领域
[0001 ]本发明属于数据挖掘技术领域,具体设及一种推荐系统技术。
【背景技术】
[0002] 随着Internet和电子商务的飞速发展,商品信息爆炸式增长,消费者陷入海量信 息中,很难快速且有效地做出购买决策。为了让顾客在购买商品时尽可能少地浏览无关信 息,提高系统挖掘长尾商品的能力,推荐系统应运而生,不仅能够提供个性化推荐,提高用 户忠诚度,还能够提高购买转化率,增加销售量。协同过滤是推荐系统中应用最广泛的算 法,它主要分为基于内存(Memo^_based)和基于模型(ModeLbased),而基于内存的推荐算 法中查找最近邻的重点一一相似度计算只是简单的将用户分配到某个兴趣群体中,没有考 虑用户兴趣的多元化,评分数据稀疏问题严重影响推荐准确性,而且没有考虑负样本对用 户兴趣进行负向惩罚。同时对于商品推荐系统而言,分类问题影响着推荐的准确度,例如商 品分类的粒度大小、分类角度、一个商品不能简单的划到某个单一类别中等。
【发明内容】
[0003] 本发明的目的在于提供一种基于评分和用户行为的商品推荐方法,W解决数据稀 疏和用户兴趣缺乏多元化的问题,提高用户兴趣模型的精确,提高推荐的准确度。
[0004] 为了解决W上技术问题,针对上述问题,本发明基于用户评分的隐因子模型化FM) 对商品自动聚类,找出隐含的类别或者特征,用户兴趣Pu分解成对多个隐含类别的喜爱程 度,商品Qi用包含运些隐含特征的权重表示,预测评分可W建模为两者的内积,即R = Pu*qi; 基于用户行为的逻辑回归模型将提取的用户行为特征featureu={xi,X2,X3,. . .,yu}作为输 入参数,训练回归系数9,来估计用户购买某一商品的可能性。因此隐因子模型(LFM)使用户 兴趣多元化和商品多特点更加符合实际应用,引入负反馈,增加了用户兴趣特征的区别度, 能够更加精确地对用户兴趣建模,同时对高维矩阵进行降维,减少存储空间,降低计算复杂 度,大大提高了推荐准确性,让卖家的商品触达到最精准的人群,给用户提供个性化推荐。 具体技术方案如下:
[0005] -种基于评分和用户行为的商品推荐方法,其特征在于:分别针对评分利用隐因 子模型预测未知评分,针对用户行为特征利用逻辑回归模型估计用户购买某一商品的可能 性,具体包含W下步骤:
[0006] 步骤1:构建用户-商品评分矩阵,建立隐因子模型即LFM,利用LFM对商品进行自动 聚类,找出隐含的类别或特征因子,利用随机梯度下降法优化求解,将用户兴趣Pu分解成对 多个隐含类别的喜爱程度,商品qi用包含运些隐含特征的权重表示,用户对商品的喜爱程 度建模为两者的内积,即R = Pu*qi,将目标用户预测评分较高的商品集作为推荐候选集S;
[0007] 步骤2:首先对用户行为数据进行预处理,提取用户的行为特征feature。= {xi,X2, X3,.. .,yu},作为逻辑回归模型的输入参数,然后利用随机梯度下降法优化求解,求出影响 用户兴趣特征的回归系数,来估计目标用户对商品购买的可能性,将目标用户购买可能性 较大的商品集作为推荐候选集G;
[0008] 步骤3:首先对所述候选集S中评分数值进行归一化处理,然后与所述候选集G进行 加权组合排序,最后将排序前10名的商品推荐给用户。
[0009] 所述隐因子模型的优化求解过程如下:
[0010]过程一,构建用户-商品评分矩阵,建立隐因子模型,预测评分为rui'=U+bi+bu+ qiT*Pu,将实际评分与预测评分差的平方作为代价函数L,如下公式所示,用随机梯度下降法 优化求解;
[0011]
其中,U表不用户,i表 不商品,U表不全局平均评分,bi表不商品i的偏置项,bu表不用户U的偏置项,Pu表不用户对 隐因子的喜爱程度,qi表示商品中包含隐因子的权重;
[001 ^ 过程二,分别求代价函数L对Pu, Qi, bi, bu的偏导,令eui =。广加',则
[0013]
[0014] 过程=,初始化Pu,qi,bi,bu,设置最大迭代次数steps和学习速率a,利用公式Pu户 Pu+a(qieid-Apu),qi^qi+a(Pueid-Aqi),bu^bu+a(eid-Abu),bi^bi+a(eid-Abi)分别对Pu, Qi, bi,bu进行迭代更新,直至达到最大迭代次数停止更新;
[0015] 过程四,将目标用户预测评分较高的商品集形成推荐候选集S。
[0016] 所述对用户行为数据进行预处理的具体过程如下:
[0017] 过程一,形式化定义用户行为:用一个四元组表示用户的一条行为记录,如下: behavior。= {userlD, itemID,behavio;rType ,time},其中behaviorType有四种,分别是浏 览、收藏、加入购物车、购买;
[0018] 过程二,将用户的行为数值化:浏览用1表示,收藏用2表示,加入购物车用3表示, 购买用4表示;
[0019] 过程=,特征提取:从六个方面进行特征提取,所述六个方面为四种行为的次数、 行为产生的时间、用户、商品、用户-商品组合;首先按照时间顺序来统计每个用户对商品发 生四种行为的次数,接着引入时间衰减函数,距离预测时间间隔越长的行为影响度越小,然 后考虑用户特征和商品特征,最后将运些特征组合形成用户的行为特征向量;
[0020] 过程四,对于一个用户,从他没有过行为的物品中选择那些和其喜欢商品相似度 很小的商品作为负样本,但采样时,保证每个用户的正负样本数目相当,最后得到用户行为 特征featureu= (xi,X2,X3,. . . ,yu}。
[0021 ]所述逻辑回归模型的优化求解过程如下:
[0022] 过程一,将所述用户行为特征featureu={xi,X2,X3,...,yu}作为逻辑回归模型的 输入参数,y表示样本标签,1表示用户产生过购买行为,0表示用户没有产生过购买行为;
[0023] 过程二,建立逻辑回归模型:利用随机梯度下降法优化求解下边的代价函数L,
,h0(x)=1/(l+exp(-目Ty)),f表 示用户行为特征的数目,0是一个表示用户行为的各个特征对产生购买行为的贡献的向量;
[0024] 过程S,求代价函数L对回归系数泣的偏导,然后利用公式
[00巧]
对托迭代更新,直至达到最大迭代次数;
[0026] 过程四,将上述求出的目标用户购买可能性比较大的前20个商品集形成推荐候选 集G。
[0027] 所述候选集S和候选集G动态调整组合权重的过程具体过程如下:
[0028] 过程一,候选集S中的商品是按照评分从高到低排序的,而候选集G中的商品是按 照购买可能性从高到低排序的,在处理运种不同取值范围的数据时,通常利用公式
隐评分数值进行归一化处理,转化为0-1之间的值。其中,min和 max分别表示评分的最小值和最大值。
[0029] 过程二,当某一用户的评分信息非常稀疏的情况下,侧重考虑用户行为数据,即针 对用户行为的逻辑回归模型产生的候选集占主导地位,即W2>wi;利用公式Preset =
圧行排序,将排名前10的商品推荐给用户;
[0030] 过程S,当用户的评分信息比较丰富时,用户的行为数据也会比较丰富,则均衡考 虑两者的权重,即W1 = W2;利用公式:
$行排序,将排名靠 前10的商品推荐给用户。
[0031] 本发明具有有益效果:
[0032] (1)本发明集成了评分和用户行为,在一定程度上缓解了数据稀疏带来的问题,同 时隐因子模型将用户兴趣和商品特征映射到多个隐含因子上,挖掘出用户多元化兴趣和商 品多特征,更加符合实际应用。
[0033] (2)本发明在提取用户行为特征中引入负反馈,使得用户兴趣区别度更大,可W更 加精确地对用户兴趣建模。
[0034] (3)本发明利用隐因子模型将评分矩阵进行降维,减少存储空间,降低计算复杂 度,具有良好的可扩展性,适应于大数据情景下的电子商务。
【附图说明】
[0035] 图1为本发明的基于隐因子模型的推荐算法流程图;
[0036] 图2为本发明的推荐总体框架图。
【具体实施方式】
[0037] 本文提出基于评分和用户行为的商品推荐方法,解决了 W往商品推荐的个性化和 智能化不足的缺陷,采用集成评分和用户行为来建立用户的兴趣模型,通过隐因子模型使 用户兴趣多元化和商品多特征,更加符合实际应用,提取的用户行为特征作为逻辑回顾的 输入参数,训练用户对商品购买的可能性,最后将两者生成的候选集进行加权排序,生成最 准确的推荐列表。
[0038] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述。如图2所示,本发明基于评分和用户行为的个性化商品推荐算法主要包含=个基 本步骤:训练评分数据的隐因子模型、训练用户行为的逻辑回归模型、集成最终预测推荐模 型。
[0039 ] -、训练评分数据的隐因子模型
[0040] 训练评分数据的隐因子模型主要有W下步骤,如图1所示。
[0041] 1、构建用户-商品评分矩阵R:每行表示一个用户,每列表示一个商品,评分值从1- 5,5表示用户很喜欢该商品,1表示用户不喜欢该商品。用户对商品评价过,则在对应的二维 矩阵中填入相应评分,没有评价过则填入0,如表1所示。
[0042] 表1:用户评分矩阵
[0043]
[0044] 2、建立隐因子模型,预测评分为&:'=17+旬+砖+ff *化,将实际评分与预测评分差的 平方作为代价函数L,如下公式所示,用随机梯度下降法优化求解;
痒中,U表不用户,i表不商品,U 表不全局平均评分,bi表不商品i的偏置项,bu表不用户U的偏置项,Pu表不用户对隐因子的 喜爱程度,qi表示商品中包含隐因子的权重;
[0045] 3、分别求代价函数L对P U
,q i,b i,b U的偏导,令e U i = r U i - r U i ',则 123456 4、初始化矩阵P、Q,设置最大迭代次数step和学习速率曰,利用公式口。^口。+日(916。1- 入 Pu ),qi^qi+a (Pueui-Aqi ),bu^bu+a (eui-Abu ),bi^bi+a (eid-Abi)依次对Pu, Qi, bi, bu 进行迭 代更新,直到达到最大迭代次数或者L小于某个阔值; 2 3、将目标用户预测评分比较高的前10名的商品集形成推荐候选集S。 3 二、训练用户行为的逻辑回归模型 4 训练用户行为的逻辑回归模型主要包含两个过程:用户行为数据预处理和训练逻 辑回归模型。 5 (一)用户行为数据预处理 6 1、形式化定义用户行为,用一个四元组表示用户的一条行为记录,如下: behavior。= {userlD, itemID,behavio;rType ,time},其中behaviorType有四种,分别是浏 览、收藏、加入购物车、购买。用户行为四元组如表2所示。
[0化2] 表2:用户行为四元组 「00531
[0054] 2、根据实际情况和经验主义,将用户的行为数值化,如表3所示,浏览用I表示,收 藏用2表示,加入购物车用3表示,购买用5表示;
[0055] 表3:用户行为数值化
[0057] 3、特征提取:按照时间顺序来统计用户对商品发生四种行为的次数,例如统计距 离预测时间的间隔为化、1化、此2-3(1、4-8(1、9-1化等,四种用户行为发生的次数,引入时间 衰减函数,得到用户行为特征向量,如表4所示;
[005引表4:用户行为特征向量 [0化9]
[0060] 4、对于一个用户,从他没有过行为的物品中选择那些和其喜欢商品相似度很小的 商品作为负样本,但采样时,保证每个用户的正负样本数目相当;
[0061] 5、将数据集分为训练集和测试集,在训练集上,将得到的用户行为特征feature。 = {X1,X2,X3, . . .,yu}作为逻辑回归模型的输入参数,其中y是样本标签,表示是否产生购买 行为,购买用1表示,没有购买用0表示。
[0062] (二)训练逻辑回归模型
[0063] 1、得到的用户行为特征feature。= {xi,X2,X3, ...,yu}作为逻辑回归模型的输入参 数,y表示样本标签,1表示用户产生过购买行为,0表示用户没有产生过购买行为;
[0064] 2、建立逻辑回归模型:利用随机梯度下降法优化求解下边的代价函数L,
),f表不用户 行为特征的数目,0是一个表示用户行为的各个特征对产生购买行为的贡献的向量;
[00化]3、求代价函数1对回归系数0的偏导,利用公^5
对0迭 代更新,直到最大迭代次数或者达到一定的阔值;
[0066] 4、将目标用户购买可能性较大的商品集形成推荐候选集G。
[0067] =、集成最终预测推荐模型
[0068] 由于固定的组合权重,不能灵活的处理不同的上下文场景,因此本发明在测试集 上通过最大化推荐评估指标Fl,训练各个算法的输出权重,根据训练得到的结果生成加权 的模型,动态的调整权重,具体包含W下步骤:
[0069] 1、候选集S中的商品是按照评分(1-5)从高到低排序的,而候选集G中的商品是按 照购买可能性(0-1)从高到低排序的,在处理运种不同取值范围的数据时,通常利用公式
悔评分数值进行归一化处理,转化为0-1之间的值。其中,min和 max分别表示评分的最小值和最大值;
[0070] 2、当某一用户的评分信息非常稀疏的情况下,侧重考虑用户行为数据,也就是说 针对用户行为的逻辑回归模型产生的候选集占主导地位,即W2>wi。利用公Preset =
进行排序,将排名靠前的商品推荐给用户;
[0071] 3、当用户的评分信息比较丰富时,用户的行为数据也会比较丰富,则均衡考虑两 者的权重,即W1 = W2。利用公式注行排序,将排名靠前的 商品推荐给用户。
【主权项】
1. 一种基于评分和用户行为的商品推荐方法,其特征在于:分别针对评分利用隐因子 模型预测未知评分,针对用户行为特征利用逻辑回归模型估计用户购买某一商品的可能 性,具体包含以下步骤: 步骤1:构建用户-商品评分矩阵,建立隐因子模型即LFM,利用LFM对商品进行自动聚 类,找出隐含的类别或特征因子,利用随机梯度下降法优化求解,将用户兴趣Pu分解成对多 个隐含类别的喜爱程度,商品用包含这些隐含特征的权重表示,用户对商品的喜爱程度 建模为两者的内积,即R = P^q1,将目标用户预测评分较高的商品集作为推荐候选集S; 步骤2:首先对用户行为数据进行预处理,提取用户的行为特征feature= {X1,X2, X3, . . .,yu},作为逻辑回归模型的输入参数,然后利用随机梯度下降法优化求解,求出影响 用户兴趣特征的回归系数,来估计目标用户对商品购买的可能性,将目标用户购买可能性 较大的商品集作为推荐候选集G; 步骤3:首先对所述候选集S中评分数值进行归一化处理,然后与所述候选集G进行加权 组合排序,最后将排序前10名的商品推荐给用户。2. 根据权利1中所述的一种基于评分和用户行为的商品推荐方法,其特征在于:所述隐 因子模型的优化求解过程如下: 过程一,构建用户-商品评分矩阵,建立隐因子模型,预测评分为nn'zU+h+bu+cukpu, 将实际评分与预测评分差的平方作为代价函数L,如下公式所示,用随机梯度下降法优化求 解;其中,u表示用户,i表示商 品,U表不全局平均评分,bi表不商品i的偏置项,bu表不用户u的偏置项,Pu表不用户对隐因 子的喜爱程度,qi表示商品中包含隐因子的权重; 过程二,分别求代价函数L对pu,qi,bi,bu的偏导,令eUi = rUi_rUi ',则 (进行迭代更新,直至达到最大迭代次数停止更新; 过程四,将目标用户预测评分较高的商品集形成推荐候选集S。3. 根据权利要求1所述的一种基于评分和用户行为的商品推荐方法,其特征在于:所述 对用户行为数据进行预处理的具体过程如下: 过程一,形式化定义用户行为:用一个四元组表示用户的一条行为记录,如下: behavioru = {userID,itemID ,behaviorType,time},其中behaviorType有四种,分别是浏 览、收藏、加入购物车、购买; 过程二,将用户的行为数值化:浏览用1表示,收藏用2表示,加入购物车用3表示,购买 用4表不; 过程三,特征提取:从六个方面进行特征提取,所述六个方面为四种行为的次数、行为 产生的时间、用户、商品、用户-商品组合;首先按照时间顺序来统计每个用户对商品发生四 种行为的次数,接着引入时间衰减函数,距离预测时间间隔越长的行为影响度越小,然后考 虑用户特征和商品特征,最后将这些特征组合形成用户的行为特征向量; 过程四,对于一个用户,从他没有过行为的物品中选择那些和其喜欢商品相似度很小 的商品作为负样本,但釆样时,保证每个用户的正负样本数目相当,最后得到用户行为特征 f6BtU!T6u - {xi,X2,X3,· · ·,y"u} 〇4. 根据权利要求1或3所述的一种基于评分和用户行为的商品推荐方法,其特征在于: 所述逻辑回归模型的优化求解过程如下: 过程一,将所述用户行为特征featureu= {xi,X2,X3, . . .,yu}作为逻辑回归模型的输入 参数,y表示样本标签,1表示用户产生过购买行为,〇表示用户没有产生过购买行为; 过程二,建立逻辑回归模型:利用随机梯度下降法优化求解下边的代价函数L,,f表示用户行为特征的数目3是一个表示用户行为的各个特征对产生购买行为的贡献的向量; 过程三,求代价函数L对回归系数沒的偏导,然后利用公另 对点迭代更新,直至达到最大迭代次数; 过程四,将上述求出的目标用户购买可能性比较大的前20个商品集形成推荐候选集G。5. 根据权利要求1所述的一种基于隐因子模型的商品推荐方法,其特征在于:所述候选 集S和候选集G动态调整组合权重的过程具体过程如下: 过程一,候选集S中的商品是按照评分从高到低排序的,而候选集G中的商品是按照购 买可能性从高到低排序的,在处理这种不同取值范围的数据时,通常利用公式I评分数值进行归一化处理,转化为〇 -1之间的值。其中,m i η和 max分别表示评分的最小值和最大值。 过程二,当某一用户的评分信息非常稀疏的情况下,侧重考虑用户行为数据,即针对用 户行为的逻辑回归模型产生的候选集占主导地位,即W2>wi;利用公式Preset=WinewValue +?26和$ K=I进行排序,将排名前10的商品推荐给用户; /?=1 过程三,当用户的评分信息比较丰富时,用户的行为数据也会比较丰富,则均衡考虑两 者的权重,即W1=W2;利用4?行排序,将排名靠前10 的商品推荐给用户。
【文档编号】G06Q30/06GK106022865SQ201610304794
【公开日】2016年10月12日
【申请日】2016年5月10日
【发明人】薛安荣, 孙亚利
【申请人】江苏大学