首页> 中国专利> 一种基于卷积自编码器网络的商品推荐方法

一种基于卷积自编码器网络的商品推荐方法

摘要

本发明公开了一种基于卷积自编码器网络的商品推荐方法。获取用户对于项目的历史评分行为数据集;针对该数据集中的用户评分行为数据进行预处理生成稀疏的用户‑项目评分矩阵和项目‑用户评分矩阵,再将这两个评分矩阵根据单个用户和单个项目处理为一维数据序列的方式作为输入;然后采用卷积自编码器的编码网络分别提取用户和项目的深层隐含特征,协同挖掘用户和项目之间的相关性,生成关于用户和项目的隐含特征矩阵;再利用卷积自编器的解码网络分别得到基于用户和基于项目的预测评分矩阵并进行融合,最终得到稠密的完整预测评分矩阵;将得到的完整预测评分矩阵中对应项目评分最高的依次推荐给目标用户。

著录项

  • 公开/公告号CN112734519B

    专利类型发明专利

  • 公开/公告日2022-08-09

    原文格式PDF

  • 申请/专利权人 河北工业大学;

    申请/专利号CN202110014871.9

  • 发明设计人 闫文杰;曹梦静;

    申请日2021-01-06

  • 分类号G06Q30/06(2012.01);G06Q10/04(2012.01);G06Q10/06(2012.01);G06Q10/10(2012.01);G06K9/62(2022.01);G06N3/04(2006.01);G06N3/08(2006.01);

  • 代理机构天津创智睿诚知识产权代理有限公司 12251;天津创智睿诚知识产权代理有限公司 12251;

  • 代理人王海滨;田阳

  • 地址 300401 天津市北辰区西平道5340号

  • 入库时间 2022-09-06 00:41:19

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-08-09

    授权

    发明专利权授予

说明书

技术领域

本发明涉及人工智能推荐技术领域,尤其涉及一种基于卷积自编码器网络的商品推荐方法。

背景技术

推荐系统目前在生活中几乎无处不在,主流的商业软件中基本都使用了推荐系统技术。传统的推荐算法主要分为三类:基于内容的推荐算法、基于协同过滤的推荐算法和混合推荐算法。

基于内容的推荐算法核心是内容的相似性,主要是根据用户的历史偏好,推荐和历史偏好内容相似的内容。协同过滤算法是推荐系统中经典算法之一,它又分为基于用户的协同过滤算法和基于物品的协同过滤算法。基于用户的协同过滤算法,其核心就是计算用户之间的相似度,根据用户的历史偏好推荐给用户感兴趣的物品。同理,基于用户的协同过滤算法,其核心就是根据用户的历史偏好找到相似度高的项目,然后根据用户历史偏好推荐给用户感兴趣的项目。各种推荐方法都有其优点和缺点,那么对于实际复杂的需求,我们需要根据不同的需求采用组合多种推荐方法,共同来完成实际的推荐需求,就需要基于混合的推荐算法。

随着深度学习技术的快速发展,越来越多的深度模型也被逐渐应用到了推荐系统中。传统的推荐算法采用的是线性映射,限制了它的表达能力。而深度学习采用非线性映射能够更好的挖掘用户和项目的隐层特性,表征能力更强。鉴于深度学习技术的巨大威力,它被学术界、产业界尝试应用于各类业务及应用场景。

推荐算法中将用户和项目的行为特征进行协同挖掘的算法模型虽然已经存在,但是算法的精准度仍需进一步提高和改进。

发明内容

本发明要解决的技术问题是针对用户评分矩阵的稀疏性问题,提出一种基于卷积自编码器网络的商品推荐方法。

为实现上述目的,本发明是通过以下技术方案实现的:

一种基于卷积自编码器网络的商品推荐方法,包括以下步骤:

步骤1、获取用户对于项目的历史评分行为数据集,针对该数据集中的用户评分行为数据进行预处理生成稀疏的用户-项目评分矩阵和项目-用户评分矩阵,再将这两个评分矩阵根据单个用户和单个项目处理为一维数据序列的方式;

步骤2、将步骤1的用户-项目评分矩阵的一维序列和项目-用户评分矩阵的一维序列输入到卷积自编码器的编码网络中分别提取用户和项目的隐含层特征,然后将用户和项目的隐含层特征进行融合,得到用户-项目特征向量矩阵;

步骤3、基于步骤2的用户-项目特征向量矩阵进行转置得到项目-用户特征向量矩阵,然后对用户-项目特征向量矩阵和项目-用户特征向量矩阵利用卷积自编器的解码网络进行解码运算,分别得到基于用户和基于项目的预测评分矩阵,并融合解码输出的基于用户和基于项目的评分矩阵,得到最终的稠密的完整预测评分矩阵;

步骤4、将步骤3得到的完整预测评分矩阵中对应项目评分最高的依次推荐给目标用户。

在上述技术方案中,步骤一中,所述的用户-项目评分矩阵指用户为行向量,项目为列向量,评分为用户对项目的评分数据;用户U={u

在上述技术方案中,步骤一中,所述的一维序列方式是指将用户-项目评分矩阵输入数据处理为m个1×n矩阵的一维序列,项目-用户评分矩阵输入数据处理为n个1×m矩阵的一维序列。

在上述技术方案中,步骤二中,编码网络的编码阶段分为基于用户和基于项目两部分基于用户部分是用于对用户-项目评分矩阵的一维序列进行处理,基于项目部分是用于对项目-用户评分矩阵的一维序列进行处理,每部分的结构相同,每部分包括卷积层和池化层和隐含层。

在上述技术方案中,步骤三中,解码网络的解码阶段分为基于用户和基于项目两部分,每一部分包括反卷积层、上采样层和输出层三个阶段。

本发明的另一个目的是提供一种存储介质,其上存储有计算机程序,所述程序被处理器执行时可实现上述基于卷积自编码器网络的商品推荐方法。

本发明的另一个目的是提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述的处理器执行时可实现上述的基于卷积自编码器网络的商品推荐方法的步骤。

本发明的优点和有益效果如下:

本发明考虑到用户间与项目间特征信息的重要性,通过卷积自编码器神经网络同时挖掘用户间和项目间的隐含层特征信息,再融合用户与项目的高阶特征信息,有效的表征用户和项目间的相关性。提高了预测评分的精准度和推荐结果的稳定性。

附图说明

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

图1是根据一个示例性实施例表示的一种基于卷积自编码器网络的商品推荐方法应用环境示意图。

图2是根据一个示例性实施例表示的一种基于卷积自编码器网络的商品推荐方法的流程图。

图3是根据一个示例性实施例表示的一种基于卷积自编码器网络的商品推荐方法的细节流程图。

具体实施方式

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

本发明实施例提供的基于卷积自编码器网络的商品推荐方法,该方法可应用于如图1所示的应用场景中。该方法应用场景包括如图1所示的用户端和服务端中。示例性的,本公开实施例中的用户端设备可以是手机、平板电脑、笔记本电脑、台式电脑等可以安装应用软件的终端设备。本公开对用户端设备的具体形态不作限制。用户端设备与服务端通过网络进行通信,用于根据用户端触发的商品推荐请求,根据当前用户的历史记录进行分析,以使得用户获取到推荐商品,保证推荐的针对性和结果的准确性。

参见附图2和3,本实施例的基于卷积自编码器网络的商品推荐方法,具体包括以下步骤:

步骤1、获取商品历史观测数据评分数据集,根据数据集对数据进行预处理。

为了提高基于深度神经网络推荐方法的推荐精准度,首先需要对服务器中获取的用户行为数据集进行预处理。具体操作中,需要提取用户个数和项目的个数,并形成用户-项目的评分矩阵。具体操作为:

步骤1.1、对观测商品的历史评分数据进行处理,形成用户-项目评分矩阵。

所述的用户-项目评分矩阵指用户为行向量,项目为列向量,评分为用户对项目的评分数据。用户U={u

步骤1.1.1、在内存中建立m×n的用户-项目矩阵,初始化评分数据为0。

步骤1.1.2、在磁盘中读入数据集的用户和项目的评分数据,遍历用户-项目矩阵,根据评分数据的用户ID和项目ID,将对应评分赋值到用户-项目矩阵中,形成用户-项目的评分矩阵。

步骤1.2、同理步骤1.1,建立项目-用户评分矩阵。所述的项目-用户评分矩阵是n×m的矩阵。

步骤1.3、根据步骤1.1和步骤1.2的用户-项目评分矩阵和项目-用户评分矩阵,将评分矩阵根据单个用户和单个项目处理为一维数据序列的方式。

所述的一维序列方式是指:将用户-项目评分矩阵输入数据处理为m个1×n矩阵的一维序列,将项目-用户评分矩阵输入数据处理为n个1×m矩阵的一维序列。

步骤2、将步骤1的用户-项目评分矩阵的一维序列和项目-用户评分矩阵的一维序列输入到卷积自编码器的编码网络中,分别学习用户和项目的特征向量表示。

编码网络的编码阶段分为基于用户和基于项目两部分(基于用户部分是用于对用户-项目评分矩阵的一维序列进行处理,基于项目部分是用于对项目-用户评分矩阵的一维序列进行处理),每部分的结构相同,每部分包括卷积层和池化层和隐含层三部分。

步骤2.1、编码阶段的卷积层对输入的用户-项目评分矩阵的一维序列和项目-用户评分矩阵的一维序列用卷积运算来分别提取用户和项目的隐含层特征信息(即,对输入的用户-项目评分矩阵的一维序列用卷积运算来提取隐含层特征信息,提取的隐含层特征信息称为用户隐含层特征信息;对输入的项目-用户评分矩阵的一维序列用卷积运算来提取隐含层特征信息,提取的隐含层特征信息称为项目隐含层特征信息),卷积层的工作方式如式(1)所示:

其中,*表示卷积层计算的卷积操作。{x

用户和项目的特征提取是项目推荐中非常重要的一部分,对于每一个用户的n个项目和每一个项目的m个用户,将其一维序列输入到卷积网络中,提取每一个用户的项目隐含层特征

步骤2.2、编码阶段的池化层对数据降维、去除冗余信息、对特征进行压缩。所述的池化层使用max-pooling作为池化操作。

常用的池化操作有很多,例如mean-pooling(平均池化),max-pooling(最大池化),Stochastic-pooling(随机池化)和global average pooling(全局平均池化)等。本发明采用的数据集大多为稀疏数据,在卷积层中特征提取过程需重点提取存在评分的特征。采用max-pooling操作,能够对卷积层的特征进行数据降维,提取用户和项目的主要特征信息。其余三个池化操作在模型中表征特征的效果不太理想。基于此,本发明池化操作采用max-pooling操作。

进一步的说,对于步骤2.1和步骤2.2的卷积层和池化层,本发明实际建模过程中,多次使用卷积层和池化层,从而深层提取特征能够更有效的表征用户和项目的高阶特征。

步骤2.3、编码阶段的隐含层利用全连接操作分别提取用户和项目特征信息的高阶隐含特征,如式(2)表示:

其中,{f

最后将提取的用户和项目隐含层特征融合,得到用户-项目特征向量矩阵,如式(3)表示:

f=αf

其中,f表示全连接层融合特征输出,α与β表示用户与项目隐含层特征的权值。

对于隐含层分别提取用户和项目特征信息的高阶隐含特征,主要考虑到用户与用户之间和项目与项目之间存在关联特征。分别提取用户和项目的隐含特征,能够很好的提取到用户间和项目间的特征信息。对于融合用户和项目特征信息的高阶特征,主要是考虑到用户与项目间存在关联特征。采用融合层能够很好的融合用户间、项目间以及用户-项目间的特征信息。

步骤3、基于步骤2的用户-项目特征向量矩阵进行转置得到项目-用户特征向量矩阵,然后对用户-项目特征向量矩阵和项目-用户特征向量矩阵利用卷积自编器的解码网络进行解码重构原始输入数据并输出完整预测评分矩阵。

解码阶段同样分为基于用户和基于项目两部分,每一部分包括反卷积层、上采样层和输出层三个阶段。

步骤3.1、解码阶段的反卷积层将融合的用户-项目特征向量矩阵和项目-用户特征向量矩阵采用卷积运算来分别减少基于用户和基于项目高阶隐含层特征的特征图数量。反卷积层的通道数与卷积层的通道数对称。如式(4)表示:

其中,

步骤3.2、解码阶段的上采样层采用双线性插值方法,将输入的基于用户和基于项目的特征图进行放大,上采样层的尺寸大小与池化层对称,保证输入数据与输出数据尺寸相同。

对于步骤3.1和3.2,本发明网络的解码阶段中的反卷积层和上采样层采用卷积加双线性插值的方法。卷积自编码器神经网络一般用反卷积运算重构输入数据,不过它很容易造成不均匀重叠的现象。为了避免上述问题,本发明采用卷积加双线性差值的方法代替反卷积运算。

步骤3.3、解码阶段的输出层采用全连接方式连接所有局部特征,分别输出基于用户和基于项目的预测评分矩阵。由式(5)表示:

其中,{y

并将基于用户和基于项目的预测评分矩阵融合为一个完整的预测评分矩阵。如式(6)表示:

y=α′y

其中,{y}表示全连接层预测评分矩阵输出。α′与β′表示用户与项目预测评分矩阵的权值。

对于基于用户和基于项目的预测评分矩阵,本发明使用全连接融合项目间和用户间特征信息,分别输出基于用户和基于项目预测评分矩阵。本发明考虑到用户和项目均会对推荐产生影响,所以最后根据用户和项目的权值融合基于用户和基于项目的预测评分矩阵,生成最终推荐的用户-项目预测评分矩阵。

步骤4、基于步骤3的融合后的完整预测评分矩阵,将该预测评分矩阵中对应项目评分最高的依次推荐给用户。

对于步骤3中生成的预测评分矩阵,是一个稠密的预测评分矩阵。对目标用户进行推荐时,需要对应用户的行向量进行排序,将前p项评分最高的项目推荐给用户,供用户选择。

在一个实施例中,本发明提供一种计算机存储介质,所述存储介质上存储有上述基于卷积自编码器网络的商品推荐方法的控制程序,所述控制程序被处理器执行时实现所述的推荐方法的步骤。所述存储介质包括但不限于随机存储器,只读存储器,硬盘,固态硬盘,软盘,光盘等非短暂性介质。

在一个实施例中,本发明提供了提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述的处理器执行时可实现上述的基于卷积自编码器网络的商品推荐方法的步骤。

最后应说明的是:上述实施例的描述对本发明进行了详细的说明,是为了便于本技术领域的普通技术人员能够理解和应用本发明。熟悉本领域的技术人员能够很容易对前述实施例所记载的技术方案进行修改,或者对其中部分进行等同替换;因此,本发明不限于上述的实施例,本领域技术人员根据本发明的揭示,对于本发明做出的修改和改进都应该在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号