基于深度学习的网络资源优先协同过滤推荐

2022-03-15 09:45佘学兵刘承启
计算机仿真 2022年2期
关键词:矢量网络资源向量

佘学兵,黄 沙,刘承启

(1.江西科技学院信息工程学院,江西 南昌 330098;2.南昌大学网络中心,江西 南昌 330031)

1 引言

互联网的发展拓宽了用户获取信息的渠道,但并非所有的网络信息都具有价值,因此,在信息过载的时代,帮助用户高效准确地筛选出感兴趣的资源已经成为互联网发展的关键。协同过滤算法是解决这一问题的主要技术。协同过滤作为一种被人们广泛认可的推荐技术,可有效处理结构化信息,不需研究推荐信息的内容与属性;同时,其又能够结合一些不容易体现的概念完成信息过滤,且推荐智能化程度高,充分满足个性化推荐的要求。

基于上述协同过滤推荐技术的诸多优势,相关学者利用不同方法进一步提高协同过滤推荐效果。张志鹏[1]等人提出基于覆盖简约的个性化系统过滤推荐方法。根据覆盖粗糙集中覆盖约简与用户约简方式,实现冗余元素与冗余用户的匹配;通过约简算法将冗余用户从目标用户集合中剔除,确保协同过滤中用户的有效性;在公开数据集下,为目标用户提供个性化推荐服务。黄贤英[2]等人在用户兴趣度聚类基础上提出一种协同过滤推荐方法。结合目标用户对关键词的评分频率,获得用户对关键词的偏好程度,构成用户-关键词偏好矩阵,通过此矩阵实现聚类;利用Logistic函数获得用户对项目的兴趣度,确定用户喜好,在聚类簇中找出用户的相似用户,采集邻居爱好的某些信息实现对目标用户的推荐。然而上述推荐方法存在一定局限性,如冷启动[3]问题较为严重,且难以准确反映用户与资源之间的关系。

推荐的实质属于持续决策过程,用户的兴趣度不是始终不变的,因此不能利用静态视角进行资源推荐。为此,本文利用深度学习方法来实现网络资源优先协同过滤推荐。深度神经网络能够处理较为复杂的关系,在推荐领域得到广泛关注。其具体优势如下:学习结构具备较强通用性,可以利用迁移学习策略将训练好的网络引入到其它任务中,降低复杂度。同时逐层非线性计算功能,可以实现资源特征的逐层提取,减少对人造特征的依赖,进一步提高推荐的效果。

2 推荐架构设计

本研究在用户需求和网络资源之间构建的一种推荐机制,以此来确保用户需求享受到个性化服务。该过程受服务形式、资源种类及使用环境等方面影响,其架构如图1所示。

图1 推荐架构示意图

该架构可分为下述几个模块:

信息处理:对采集的初始数据做加工处理;

信息特征:通过信息加工后,保留可以反映网络资源基本特点的数据;

资源库:保存全部资源特点的数据库;

用户建模:采集用户喜好信息,并处理用户反馈的信息;

兴趣模块[4]:可表示用户基本特征;

推荐模块:此模块的主要任务是在用户兴趣模块与网络资源基础上,利用不同推荐算法实现资源推荐,是系统的核心工功能模块。

资源信息推荐与信息检索之间存在很大差别,其无需完成信息采集工作,其工作核心为自主推荐。推荐过程通常依赖于推荐架构,而不依赖信息内容,因此结合上述功能模块,本文利用深度学习方法实现网络资源协同过滤推荐。

3 基于深度学习的网络资源优先协同过滤推荐

在本文构建的推荐过程中,用户与网络资源的特征矢量通过神经网络实现训练。为获取某用户对特定资源的评分,必须将该用户与资源的特征矢量引入到神经网络中,获得最终的推荐值。该模型被划分成特征学习[5]与网络训练[6]两个重要阶段。

3.1 基于共现的特征向量学习

1)资源特征向量

特征学习的目的是利用低维度特征矢量描述系统中的用户或资源,且该矢量可以准确体现出用户与产品之间相似性等关系。

本文通过共现关系来表示资源之间的相似性,构建用户与资源的特征矢量模型。

假设某推荐系统利用S表示,需综合分析M个资源与N个用户,且构建一个N×M的用户得分矩阵RN×M。假设ei与ri分别代表资源、用户特征矢量,则模型的主要目的是通过学习获取这两个矢量。

首先,将资源共现矩阵[7]C利用ei表示

(1)

(2)

(3)

式中,ei代表的拼接矢量,其中包含不同的语义特性。拼接矢量处理能够得到更多信息外,还能过滤出由于过拟合产生的噪声。

为进一步改善特征矢量的合理性,在式(2)中加入有关资源i的误差bi与j的误差bj。将式(2)改为下述形式

(4)

与资源有关的特征矢量可利用最小化预测共现系数与实际值的平方损失误差获取。资源特征矢量的训练过程包括如下四个步骤:

步骤一:每个资源i都会结合用户得分矩阵R形成对应用户集合Ui。Ui内包括所有评价过资源i的用户;

步骤三:利用共现值修改共现矩阵C,最终通过对C的训练获得资源特征矢量。

2)用户特征向量

用户特征矢量学习过程与资源矢量学习过程相似,唯一的区别是共现值不同。

用户间的共现关系表示为

(5)

(6)

式中,ri为用户的最终特征向量。在此基础上,通过共现特征构建的学习模型能够准确获得资源与用户特征,展现出二者之间的共现性,过滤出非特征资源,实现特征提取。

3.2 基于张量神经网络的优先协同过滤

张量[8]是在向量基础上提出的。向量代表具有大小和方向的物理量,比如速度等,也可以代表平面。向量可以描述很多物理量,但是依旧存在一定局限性。比如针对更加复杂的物理量,就难以利用向量准确表示。而张量能够反映较为丰富的物理量,在分析张量之前,需掌握基向量与分量。因此,本研究引入笛卡尔坐标系[9]。假设在此坐标系内,X、Y与Z轴三个方向上都存在一个基向量,分别表示为i′、j′与k′,基向量大小均等于1。在此基础上,构建向量v,其中包括2个i′、3个j′与4个k′。在已知基向量条件下,只通过2、3、4三个数字描述v即可。因此,仅需确定三个分量就能构建一个向量。

在坐标系中,对于任意一向量A,利用Ai′、Aj′与Ak′表示A在不同方向上的分量。Ai′、Aj′与Ak′仅存在一个下标,所以它们仅包含一个基向量,也可称其为一阶张量。

综上所述,张量是表现物理量的方式,包括基向量与分量。参考系的变化也不会改变张量,且基向量的组合较为多样化,所以张量能展现更多物理量。

将张量引入到神经网络中,建立最终的优先协同过滤推荐模型。

(7)

(8)

为了加强深度学习的效果,将一阶与二阶张量合并引入到神经网络中,获得输出信号如下

(9)

确定张量神经元架构后,构建用于网络资源推荐的神经网络模型。在信息输入过程中,用户i*的特征矢量r(i*)与资源j*的特征矢量m(j*),则模型输出的评分结果表示为

yv,w,b(u(i*)m(j*))=

(10)

式中,f(1)(·)与f(2)(·)分别代表隐含层与输出层中激活函数。

普通神经网络需经过学习的参数为(W,b)=(W(1),b(1),W(2),b(2)),张量神经网络的参数表示为(V,W,b)=(V[s1],W(1),b(1),W(2),b(2))。在张量神经网络中利用批量梯度下降以及反向传播[10]的学习算法,优先协同过滤实现的过程如下

步骤一:针对训练样本(u(i*),m(j*),t(k*)),做前向传播处理,获取每一层输出;

步骤二:运算输出层偏差,过程如下

(11)

步骤三:获得隐含层偏差

(12)

步骤四:获取输入层偏差

δ(0)=(W(1))Tδ(1)

(13)

步骤五:对不同参数的偏导数进行运算

∇W(2)J(V,W,b,u(i*),m(j*),t(k))=δ(2)hT

(14)

∇b(2)J(V,W,b,u(i*),m(j*),t(k))=δ(2)

(15)

(16)

式中,∇代表偏导数符号。获得单个样本损失函数具有的偏导数后,即可获得n个样本的整体损失函数存在的偏导数。

步骤六:通过对模型参数与特征矢量的不断更新,经反复迭代,直至损失函数出现收敛现象,J(V,W,b)具有最小值。此时,模型参数、用户与资源特征矢量均为最佳值。将深度学习后的模型用以资源评分,根据评分优先级,给出优先协同过滤推荐结果。

4 仿真与分析

为验证基于深度学习的网络资源协同过滤推荐方法的实际应用性能,设置如下仿真。

利用Windows 10系统搭建虚拟仿真平台。利用Movie Lens数据集合完成测试,将数据集均匀分为40份,其中20份为测试集,其它为训练集。将文献[1]方法与文献[2]方法作为对比方法,与本文方法共同完成性能验证。

实验一:测试三种方法的资源特征向量提取聚类效果,结果如图2-图4所示。

图2 本文方法的资源特征提取聚类效果图

图3 文献[1]方法的资源特征提取聚类效果图

图4 文献[2]方法的资源特征提取聚类效果图

由图2-图4能够看出,本文方法对资源特征提取聚类的效果更好,能够将具有相同特征的资源很好的聚类在一起。这是因为本文方法基于共现性的特征提取模型可以准确区分资源特征,为资源推荐奠定良好基础。

实验二:使资源推荐数量由10条增长到70条,每个资源间隔为10,邻居数量是3,衰减因子分别设置为0.7与0.9。利用三种不同方法向用户推荐资源,由于衰减因子不同,不同方法推荐成功的次数分别如图5和6所示。

图5 衰减因子为0.7时推荐效果

图6 衰减因子为0.9时推荐效果

分析图5和6可知,在推荐数量相同情况下,三种方法推荐成功次数均随着衰减因子的增加而降低。但是本文方法受衰减因子影响较小,始终保持较高的推荐成功率。这是因为本文方法在深度学习模型中引入张量概念,可获得更加丰富的物理量,在面对用户兴趣逐渐衰减时,也能准确获取用户特征,从而提高了用户满意度。

实验三:冷启动问题是在为新用户推荐资源时,因用户的相关信息较少而难以做出有效推荐的现象。三种方法的冷启动现象如图7所示。

图7 不同方法冷启动解决效果

分析图7可知,在为没有历史记录的新用户推荐资源时,本文方法能够结合用户的共现关系为用户推荐感兴趣的资源,而另外两种方法难以实现资源有效推荐。

5 结束语

为提高用户网络资源推荐满意度,本文设计了基于深度学习的协同过滤推荐方法。仿真结果表明,该方法受衰减因子影响较小,同时解决了冷启动问题,可有效实现网络资源推荐。但是由于用户行为数据越来越多,导致神经网络模型训练时间较长。针对此点不足,在今后研究中可利用Hadoop架构解决这一问题。将协同过滤过程编入Hadoop分布式程序中,通过提高模型训练速度快速生成推荐列表。

猜你喜欢
矢量网络资源向量
向量的分解
矢量三角形法的应用
Algoblu发布NEV网络资源虚拟化平台
利用网络资源学习日语的现状及分析
力的矢量性的一个例子
基于网络资源的《物联网工程导论》课程教学改革
向量垂直在解析几何中的应用
三角形法则在动态平衡问题中的应用
向量五种“变身” 玩转圆锥曲线
矢量三角形法则在物理解题中的应用