APP下载

融合项目图像的混合推荐算法

2020-10-15王宇飞

计算机应用与软件 2020年10期
关键词:类别卷积评分

王宇飞 陈 璐

(浙江工业大学管理学院 浙江 杭州 310023)

0 引 言

随着信息时代的到来,信息过载问题愈发突出,面对海量的数据,传统信息获取工具已无法满足用户个性化的需求。推荐系统使用用户行为产生的数据来探求用户的兴趣、预测用户行为,从大量繁杂的数据中找到符合用户的项目(如信息,服务,物品等),并将其推荐给用户,不仅节约了用户筛选信息的时间,还提高了信息的利用率[1]。

传统的推荐算法[2]必须依赖用户评价信息。以电影推荐为例,由于电影的数量庞大,用户只可能对其中的一部分进行评价,因此会产生用户共同评分项目太少导致评分数据稀疏的问题,这会导致在使用用户对项目的评分计算用户或物品的相似度时,产生较大的误差。这样,就难以保证最近邻居搜索结果的准确性,使得预测值与真实值之间可能误差较大,从而影响推荐的效果。

针对传统算法中存在的问题,相关领域的研究人员使用聚类[3-4]、矩阵分解[5-6]、slope one算法[7-8]等方法来解决这个问题。朱丽中等[9]将云模型方法引入到协同过滤算法中来,利用项目聚合产生预测结果,从而提高推荐结果的稳定性。韦素云等[10]利用项目属性构造项目相似度矩阵,并与兴趣度相结合,使用改进的公式重新衡量项目的相似度,提升推荐质量。魏甜甜等[11]在项目相似度计算时引入项目流行度,提升了推荐准确度。上述方法都通过分析项目,利用项目的不同特性提高推荐的质量,但并没有很好地将项目的内容信息提取出来加以利用。

伴随着读图时代的到来,快节奏的生活导致时间的碎片化程度加重,许多人没有整块时间去阅读文字,人们也不愿意将注意力集中在文字上。图像等类似媒体(包括短视频)替代了文字,它们能让人们以最轻松的方式快速获取信息,人们也更加愿意通过图像来了解信息。图像在一定程度上可以反映项目的内容,内容信息相近的项目,其图像往往也具有很高的相似度。本文将项目图像与评分动态组合,得到一种新的推荐算法,从项目图像和项目评分两方面出发,解决传统算法中存在的问题,提高推荐质量。

1 基于项目的协同过滤算法

1.1 数据描述

本文将用户集合定义表示为U={u1,u2,…,um},项目集合表示为I={i1,i2,…,in},用户-项目的评分矩阵表示为R=(rui)m×n,得到的评分矩阵R如下:

1.2 项目评分相似度计算

(1)

2 融合项目图像的混合推荐算法

针对根据项目进行推荐时并没有完全利用项目图像这一因素,本文利用卷积神经网络提取图像特征,利用提取后的特征值得到项目图像之间的相似度,与项目评分相似度动态结合,进而产生推荐。

2.1 VGG16卷积神经网络

卷积神经网络(CNN)是近年发展起来的一种图像特征提取方法[12],由于其抽取的图像特征是通过数据学习得来的,克服了传统手工需要通过设计才能提取图像特征的缺陷,节约了大量的人力和时间,因而受到广泛的关注。VGG16是使用最多、效果显著的卷积神经网络模型[13],其利用卷积计算层、池化层进行图像特征的提取[14]。

卷积层采用卷积的方式,即一种加权的方法,通过一个加权函数(卷积核)对提取特征需要的信息赋予更高的权重,进行特征提取,将卷积核重复作用于图像的每一块区域,即完成一次特征提取,提取出的结果称之为特征图。池化层的主要作用就是将经过卷积层处理后得到的特征图进行一定程度的压缩,防止过拟合现象的出现。

2.2 图像相似度

经过VGG16卷积神经网络进行特征提取,每一个电影海报输入到VGG16模型中进行特征提取,会形成一个512×7×7的输出,即提取到的电影海报的特征数据,把这个输出处理为一维的形式,将每个电影海报的特征记录下来,利用余弦相似度公式获得项目图像相似度sim2:

(2)

式中:ia、ja分别代表项目i和j的图像经过特征提取后形成的向量;pik、pjk分别代表向量ia、向量ja在位置k上的取值。

2.3 混合相似度

由于电影海报中会有一些通用的元素,比如人物形象、场景等,这些元素可能使关联性不是很强的项目具有很高的图像相似度,因此引入项目类别属性来对项目图像相似度进行修正,使利用图像相似度找到的都是项目类型、内容与目标项目更加接近的项目。电影有动作、科幻、爱情、冒险等项目类别属性,利用数据集存储的项目信息,提取出项目的类别属性矩阵,如表1所示。

表1 项目-类别属性矩阵

表1中:I1-I5表示项目;S1-S5表示项目类别属性;1表示项目有这个类别属性;0表示项目没有这个类别属性。通过数据集,获取项目-类别属性信息,可得到项目-类别属性矩阵CN,从中可以得到每个项目的类别属性,并利用式(3)[15]来度量两个项目属性相似度。

(3)

式中:CNi、CNj代表类别属性集;CNi∩CNj是i与j都拥有的类别属性数量;CNi∪CNj为项目i与j拥有的所有类别属性的量。λ越大表示项目类别属性相差越大,λ越小表示项目类别属性相差越小。本文设计类别属性因子λ,将评分与图像的相似度线性结合,计算方式如下:

sim(i,j)=(1-λ)sim1(i,j)+λsim2(i,j)

(4)

引入λ来组合图像和评分的相似度,λ与项目的属性类别有关,利用项目类别属性可以修正项目图像由于图像共有元素而导致的计算偏差,可以更好地找到与目标项目特性相同的项目。

2.4 预测评分生成

通过式(4),可获得项目间的相似度,构造出相似度矩阵S。对于任意用户u,根据用户-项目评分矩阵Rmn获得用户u的已评分项目集合Iu,可以得到u的未评价的项目集Nu=I-Iu。对于集合中的元素i(i∈Nu),可以根据矩阵R和矩阵S选取出与项目i相似度最高且有评分的一些项目构成其最近邻Inear={ii1,ii2,…,iim},并用式(5)来预测u对i的评分[16]。

(5)

2.5 算法流程

本文引入图像信息,把项目图像信息和评分信息进行线性结合,得到新的项目相似度计算方法;通过新的计算方式,得到项目的最近邻集;通过最近邻集,预计评价值;使用预计分值进行排序,将预计评分高的项目推荐给用户。融合项目图像的混合推荐算法(PB-CF)的具体流程图如图1所示。

图1 PB-CF算法流程图

由于只利用图像信息同样可以得到项目的相似度找到项目的最近邻集进行评分的预测,因此本文同时提出只基于项目图像信息的相似度计算方法,融合项目图像的混合推荐算法(P-CF)的具体流程图如图2所示。

图2 P-CF算法流程图

3 实 验

3.1 数据集

本文使用MovieLens100k[17]作为实验数据集,MovieLens是推荐算法研究领域中最被人熟知、最常被使用的数据集,其中有943名测试者对1 683部影片的10万条记录信息,电影海报数据集来自IMBD,通过API接口找到MovieLens数据集中的相关电影海报。

实验环境使用Windows 10操作系统,8 GB内存的Intel i5-7300处理器,在Spyder开发环境下,使用Python语言进行算法代码的编写和测试。将MovieLens数据集中的数据按照4∶1的比例进行随机划分,其中80%的数据作为训练集数据,另外20%的数据作为测试集数据。

3.2 评价指标

实验使用平均绝对误差(MAE)和均方根误差(RMSE)作为实验的评价指标,其具体的计算公式如下:

(6)

(7)

式中:N为预测评分集合中的项目的个数;pi为通过本文算法得到的用户对项目i的预测评分;qi表示用户对该项目的实际评分。推荐的效果与MAE和RMSE的值呈负相关关系,MAE、RMSE值越小,表示推荐的效果越好,推荐质量越高。

3.3 最近邻数量确定实验

为确定本文算法中最近邻数量的最佳值,本次试验选取10、15、20、25、30、35、40、45、50的几种最近邻数量进行实验,图3、图4为实验结果。

图3 各最近邻数量下MAE误差情况

图4 各最近邻数量下RMSE误差情况

由图3可知,随着最近邻数量的增加,MAE的值逐渐变小,最近邻数为40时,MAE值趋于稳定,约为0.75。由图4可知,随着最近邻数量的增加,RMSE的值逐渐变小,最近邻数为40时,RMSE值趋于稳定,约为0.96。

3.4 对比实验

为了体现本文PB-CF算法和P-CF算法的推荐结果准确性与其他算法的差别,本文选取传统的推荐算法进行对比试验,其中包括基于项目的协同过滤算法(IBCF)、基于用户的协同过滤算法(UB),对比结果如图5、图6所示。可以看出,相较其他推荐方法,本文的PB-CF和P-CF算法推荐误差值较小。基于图像的P-CF算法的MAE和RMSE值比其他三种算法的准确度更高,但考虑到信息的多样性和单一数据集数据的特殊性问题,还是利用PB-CF算法进行推荐。

图5 对比实验结果1

图6 对比实验结果2

4 结 语

本文将图像信息引入到项目相似度计算公式中,并设计动态加权方式对其进行结合,获得新的项目相似度衡量方式,通过算法获得的项目最近邻更精准。实验结果表明,本文提出的融合项目图像相似度计算方式,在引入项目图像特征后有效地缓解由于数据稀疏引起的计算偏差,提升推荐的准确度,不足之处在于图像特征提取的准确度还不够高,针对不同的数据集利用图像信息是否能取得同样良好的效果,需要进一步深入研究。

猜你喜欢

类别卷积评分
基于全卷积神经网络的猪背膘厚快速准确测定
车联网系统驾驶行为评分功能开发
VI-RADS评分对膀胱癌精准治疗的价值
“互联网+医疗健康系统”对脑卒中患者HAMA、HAMD、SCHFI评分及SF-36评分的影响分析
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
APACHEⅡ评分在制定ICU患者护理干预措施中的应用研究
一起去图书馆吧
简析基于概率预测的网络数学模型建构