一种基于多类型隐式反馈的改进商品推荐方法与流程

文档序号:18903004发布日期:2019-10-18 22:13阅读:127来源:国知局
一种基于多类型隐式反馈的改进商品推荐方法与流程

本发明涉及互联网领域,尤其涉及一种基于多类型隐式反馈的改进商品推荐方法。



背景技术:

在大数据的时代背景下,人们需要及时准确地提取出自己所需要的信息,“私人订制”显得尤为重要,如何从庞杂的数据中快速获取有效信息,节约用户时间,提高用户购物满意度是电商平台急需解决的重要问题之一,而个性化推荐系统由于其良好的交互性,可以很好地满足人们的需要。

传统推荐算法的研究主要集中于显式反馈的数据,利用用户主动提供的信息进行建模处理,但是随着数据规模的扩大,用户所能提供的有限信息所导致的问题则越来越明显。

发明人在实现本发明的过程中,发现现有技术中至少存在以下缺点和不足:如用户的活跃程度低,数据的稀疏性和不对称性,以及用户操作行为的多样化等。



技术实现要素:

(一)要解决的技术问题

本发明提出了一种基于多类型隐式反馈的改进商品推荐方法,以至少部分解决现有方法中由于用户的活跃程度低,数据的稀疏性和不对称性,以及用户操作行为的多样化等所导致的商品推荐准确率低的问题。

(二)技术方案

根据本发明的一方面,提供了一种基于多类型隐式反馈的改进商品推荐方法,包括:

准备阶段,从设定电子商务网站获取目标用户和商品集数据并进行处理;

学习阶段,使用准备阶段处理后的目标用户和商品集数据对商品推荐算法进行训练并生成排序模型;

排序阶段,使用所述排序模型,根据目标用户和商品集数据,对推荐商品进行排序并输出商品推荐列表。

在进一步的方案中,所述的准备阶段,从设定电子商务网站获取目标用户和商品集数据并进行处理,包括:

从设定电子商务网站获取目标用户和商品集数据,其中,获取目标用户和商品集数据的方法包括网络爬虫或合作方式;

对所述目标用户和商品集数据进行清洗,提取隐式反馈数据并生成用户商品矩阵,其中,所述隐式反馈数据包括浏览数据、加购物车数据和购买数据;

根据用户商品矩阵生成用户的偏序矩阵,进而生成用户商品数据库;

根据用户商品数据库构成五元组作为训练集;

根据五元组将用户对不同商品的不同操作赋予不同的权重,得到基于操作行为的置信度,并将该置信度加入用户对商品的偏好值公式中,其中所述操作包括浏览操作,加购物车操作和已经购买操作。

在进一步的方案中,所述学习阶段,使用准备阶段处理后的目标用户和商品集数据对商品推荐算法进行训练并生成排序模型,包括:

使用商品推荐算法分别与矩阵分解模型和knn(k-nearest-neighbor,k近邻模型)模型相结合,初始化一模型组;

随机初始化所述模型组的参数,所述参数包括:模型参数θ,梯度步长α,正则化参数λ,隐类维数k;

使用似然函数公式对训练集中的所有商品对进行最大似然估计,进而求出模型参数θ;

使用梯度下降法对模型参数θ进行优化,遍历训练集中的每个五元组,对所述模型组及其参数进行迭代;

收敛迭代并生成排序模型。

在进一步的方案中,所述排序阶段,使用所述排序模型,根据目标用户和商品集数据,对推荐商品进行排序并输出商品推荐列表,包括:

将目标用户和商品集数据代入排序模型;

生成针对目标用户的商品推荐列表并排序输出商品推荐列表。

在进一步的方案中,所述的五元组公式为:

(u,g,h,cg,ch),其中:

u为用户;

g为一号商品;

h为二号商品;

cg为用户u对商品g的操作;

ch为用户u对商品h的操作;

所述五元组公式表示用户u在同时面对商品g和商品h时选择了商品g,没选择商品h。

所述训练集的公式为:

ds:={(u,g,h,cg,ch)g∈gu+∧h∈g\gu+}

其中g表示所有商品的集合,gu+表示用户u曾经表达过偏好的商品集合。

所述用户对商品的偏好值公式为:

其中为用户u对商品g的偏好;

其中为用户u对商品h的偏好;

cug为用户u对于商品g的操作行为的置信度;

cuh为用户u对于商品h的操作行为的置信度。

所述置信度公式为:

其中l1,l2,l3为常量,且满足l1<l2<l3<=1,freq(g)为用户u对商品g的浏览次数的函数,且对于任意的freq(g)+l1<l2。

所述似然函数公式为:

且:

其中,>u表示每个用户的对于所有商品的一个个性化的全序关系,λθ表示模型参数θ对应的正则化参数,p为概率,遵循贝叶斯公式。

在进一步的方案中,所述使用梯度下降法对模型参数θ进行优化的方法为:

将似然函数对模型参数θ求导得到公式:

在进一步的方案中,所述商品推荐算法与矩阵分解模型结合的步骤为:

定义模型参数θ=(p,q);

将一个用户商品矩阵r:u×g分解为两个低秩矩阵p:u×k和q:g×k的乘积,其中u和g分别代表用户维数和商品维数,k为隐类维数,表示矩阵分解模型的潜在参数,且k小于u和g;

其公式表示为:

其中表示拟合得到的用户商品矩阵,pu表示包含用户维数的低秩矩阵,qg表示包含商品维数的低秩矩阵,puf和qgf分别表示当隐类维数的取值从1迭代到k时的两个低秩矩阵;

通过迭代优化矩阵p和q获取最终推荐结果。

在进一步的方案中,商品推荐算法还要对矩阵分解模型进行优化,使用的公式为:

在进一步的方案中,所述商品推荐算法与knn模型结合的步骤为:

设定模型参数θ=m,其中m表示相似度;

对knn模型进行优化,使用公式为:

其中,mgl表示商品g和商品l的相似度,mlg表示商品l和商品g的相似度,mhl表示商品h和商品l的相似度,mlh表示商品l和商品h的相似度。

在进一步的方案中,对所述模型组及其参数进行迭代的公式为:

其中,λθ为正则化参数。

在本发明的另一方面,还提供了一种基于多类型隐式反馈的改进商品推荐的装置,包括存储器,用于存储指令、目标用户和商品集数据以及排序结果;处理器,配置为执行所述指令,以便:从设定电子商务网站获取目标用户和商品集数据并进行处理;使用目标用户和商品集数据对商品推荐算法进行训练并生成排序模型;使用所述排序模型,根据目标用户和商品集数据,对推荐商品进行排序并输出排序结果。

(三)有益效果

从上述技术方案可以看出,本发明一种基于多类型隐式反馈的改进商品推荐方法至少具有以下有益效果:

获取用户在购物过程中的隐式反馈数据,即用户-商品对以及用户对商品的不同操作行为如加购物车、购买等,以此丰富显式用户评价数据,以解决用户活跃度低的问题;

数据集设置采用基于商品对的方法,取代传统的只考虑单个商品的方法,同时加入对用户所处上下文环境的考虑,即用户在同时面对一组成对的商品时,对其中一个商品表示了喜好倾向而没有选择另一个商品的对比所构成的上下文环境,不仅仅考虑用户实际购买的商品,也考虑了用户未购买的商品,这种基于用户操作多样性和用户所处的上下文环境,引入包括商品对和给用户不同操作行为赋予不同权重的置信度在内的多类型隐式反馈,利用了数据量大的特点,弥补了数据的稀疏性和不对称性,从而扩大训练集;

在似然函数中加入基于用户操作行为的置信度,具体包括浏览、加购物车、购买三种用户行为。而不同用户操作行为对应用户对于某商品的不同喜好程度,因此将用户操作行为的隐式数据进行分级处理,根据用户对商品的不同操作,赋予不同权重,得到基于操作行为的置信度公式,以适应用户操作行为多样化问题;

将综合以上步骤的改进算法以及改进前的算法分别与不同的模型矩阵分解和knn相结合,进行训练和测试,最终输出排序结果得到对目标用户的商品推荐列表。

附图说明

图1是本发明实施例一种基于多类型隐式反馈的改进商品推荐方法示意图;

图2是本发明实施例一种基于多类型隐式反馈的改进商品推荐的装置的结构框图。

【附图标记说明】

11、存储器;12、处理器

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明作进一步的详细说明。

本发明提供了一种基于多类型隐式反馈的改进商品推荐方法,图1是本发明实施例一种基于多类型隐式反馈的改进商品推荐方法示意图,如图1所示,包括:准备阶段,从设定电子商务网站获取目标用户和商品集数据并进行处理;学习阶段,使用准备阶段处理后的目标用户和商品集数据对商品推荐算法进行训练并生成排序模型;排序阶段,使用所述排序模型,根据目标用户和商品集数据,对推荐商品进行排序并输出商品推荐列表。

在本发明的示例实施例中,所述准备阶段,从设定电子商务网站获取目标用户和商品集数据并进行处理,包括:

从设定电子商务网站获取目标用户和商品集数据,其中,获取目标用户和商品集数据的方法包括网络爬虫或合作方式;

对所述目标用户和商品集数据进行清洗,提取隐式反馈数据并生成用户商品矩阵,其中,所述隐式反馈数据包括浏览数据、加购物车数据和购买数据;

根据用户商品矩阵生成用户的偏序矩阵,进而生成用户商品数据库;

根据用户商品数据库构成五元组作为训练集;

在本实施例中,所述的五元组公式为:

(u,g,h,cg,ch),其中:

u为用户;

g为一号商品;

h为二号商品;

cg为用户u对商品g的操作;

ch为用户u对商品h的操作;

所述五元组公式表示用户u在同时面对商品g和商品h时选择了商品g,没选择商品h。

所述训练集的公式为:

ds:={(u,g,h,cg,ch)g∈gu+∧h∈g\gu+}

其中g表示所有商品的集合,gu+表示用户u曾经表达过偏好的商品集合。

根据五元组将用户对不同商品的不同操作赋予不同的权重,得到基于操作行为的置信度,并将该置信度加入用户对商品的偏好值公式中,其中所述操作包括浏览操作,加购物车操作和已经购买操作。

在本实施例中,所述置信度公式为:

其中l1,l2,l3为常量,且满足l1<l2<l3<=1,freq(g)为用户u对商品g的浏览次数的函数,且对于任意的freq(g)+l1<l2。

所述用户对商品的偏好值公式为:

其中为用户u对商品g的偏好;

其中为用户u对商品h的偏好;

cug为用户u对于商品g的操作行为的置信度;

cuh为用户u对于商品h的操作行为的置信度。

所述学习阶段,使用准备阶段处理后的目标用户和商品集数据对商品推荐算法进行训练并生成排序模型,包括:

使用商品推荐算法分别与矩阵分解模型和knn模型相结合,初始化一模型组;

其中,所述商品推荐算法与矩阵分解模型结合的步骤为:

定义模型参数θ=(p,q);

将一个用户商品矩阵r:u×g分解为两个低秩矩阵p:u×k和q:g×k的乘积,其中u和g分别代表用户维数和商品维数,k为隐类维数,表示矩阵分解模型的潜在参数,且k小于u和g;

其公式表示为:

其中表示拟合得到的用户商品矩阵,pu表示包含用户维数的低秩矩阵,qg表示包含商品维数的低秩矩阵,puf和qgf分别表示当隐类维数的取值从1迭代到k时的两个低秩矩阵;

通过迭代优化矩阵p和q获取最终推荐结果。

此外,商品推荐算法还要对矩阵分解模型进行优化,使用的公式为:

所述商品推荐算法与knn模型结合的步骤为:

设定模型参数θ=m,其中m表示相似度;

对knn模型进行优化,使用公式为:

其中,mgl表示商品g和商品l的相似度,mlg表示商品l和商品g的相似度,mhl表示商品h和商品l的相似度,mlh表示商品l和商品h的相似度。

随机初始化所述模型组的参数,所述参数包括:模型参数θ,梯度步长α,正则化参数λ,隐类维数k;

使用似然函数公式对训练集中的所有商品对进行最大似然估计,进而求出模型参数θ;

其中,似然函数公式为:

其中,>u表示每个用户的对于所有商品的一个个性化的全序关系,λθ表示模型参数θ对应的正则化参数,p为概率,遵循贝叶斯公式。

使用梯度下降法对模型参数θ进行优化,遍历训练集中的每个五元组,对所述模型组及其参数进行迭代;

其中,使用梯度下降法对模型参数θ进行优化的方法为:

将似然函数对模型参数θ求导得到公式:

对所述模型组及其参数进行迭代的公式为:

其中,λθ为正则化参数。

收敛迭代并生成排序模型。

所述排序阶段,使用所述排序模型,根据目标用户和商品集数据,对推荐商品进行排序并输出商品推荐列表,包括:

将目标用户和商品集数据代入排序模型;

生成针对目标用户的商品推荐列表并排序输出商品推荐列表。

在本发明的一个具体实施例中,对上述方法和步骤进行了验证:

本实施例采用国外电子商务网站retailrocket的行为数据集。数据集记录了1407580位用户4.5个月内在该网站所进行的操作,操作分为“view”“addtocart”“transaction”,分别表示用户对商品进行了浏览,加入购物车和购买三种行为。

数据集中数据的记录格式如下所示:

timestamp|vistorid|event|itemid|transactionid

其中timestamp为操作发生的时间,vistorid表示用户的编号,event表示发生的事件种类,itemid表示商品编号,transactionid表示发生交易的情况下交易的编号。

因为数据集中存在一些用户的行为次数较少的情况,因此处理时去除掉交互次数少于10的用户。同时采取5-fold交叉验证法进行验证,将行为数据集随机均分为五份,分五次完成实验,每次选择四份作为训练集,剩余一份作为测试集,完成后对测量结果求均值作为最终指标。

在本实施例中,代码用python语言编写,版本为python2.7,在pycharm平台上运行完成。实验数据以.csv文件格式储存。

本实施例采取随机梯度下降法,使用μ=0,σ=0.1的正态分布对初始向量赋值,正则化参数λ设为0.005,学习速率设为0.002,推荐列表长度为5,迭代次数为50次。

算法流程:

第一步,初始化模型参数;

第二步,遍历训练集中的每个五元组,迭代对应的模型参数θ;

第三步,判断迭代是否收敛,若收敛,算法结束。否则,转到第二步。

通过上述处理,使得通过本实施例得出的推荐,相比传统商品推荐方法,可取得更好的推荐效果,且综合分析各种不同取值下的评价标准可以得知推荐列表长度为5,隐类维数为50时,推荐方法的表现效果最好。

此外,本发明还提供了一种基于多类型隐式反馈的改进商品推荐的装置,图2是本发明实施例一种基于多类型隐式反馈的改进商品推荐的装置的结构框图,如图2所示,包括存储器11,用于存储指令、目标用户和商品集数据以及排序结果;处理器12,配置为执行所述指令,以便:从设定电子商务网站获取目标用户和商品集数据并进行处理;使用目标用户和商品集数据对商品推荐算法进行训练并生成排序模型;使用所述排序模型,根据目标用户和商品集数据,对推荐商品进行排序并输出排序结果。

综上所述,本发明提供的一种基于多类型隐式反馈的改进商品推荐方法,在排序学习技术的基础上,基于用户操作多样性和用户所处的上下文环境,引入包括商品对和给用户不同操作行为赋予不同权重的置信度在内的多类型隐式反馈,对原有个性化排序算法进行优化,以解决用户活跃度低和数据稀疏等问题,并将改进前后的排序算法分别与矩阵分解模型和knn模型相结合进行训练和测试,最后得出针对目标用户的商品推荐,最终通过实验对比验证可以得到相比改进前的算法更好的推荐效果,并在一定程度上减轻了由于用户所能提供的信息有限导致的一些问题,比如用户的活跃程度低,数据的稀疏性和不对称性,以及用户操作行为的多样化等。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1