APP下载

基于协同过滤算法的大数据中信息推荐系统设计

2023-01-07

信息记录材料 2022年11期
关键词:协同模块算法

王 艳

(浙江越秀外国语学院东部理工数据科学与传播学院 浙江 绍兴 312000)

0 引言

互联网上的信息量迅速增加,已经让搜索引擎的弊端变得更加突出,而现在许多人在上网时都没有明确的需求指向和浏览目的,因此信息获取出现困难。个性化推荐技术,可以通过对用户的历史行为和商品的关联进行分析,从而为用户提供一系列的商品,以此形成一种新的信息获得方法,这种方式将会成为互联网发展下一个十年的热门话题[1-2]。当前,现有信息推荐系统是由候选对象、用户和推荐算法共三部分组成。推荐系统对用户的行为进行明确或隐含的分析,然后利用自己的个性化推荐算法,将用户与符合其喜好的商品进行关联,最后将其归类到用户端[3]。但现有推荐系统在实际应用中无法确保最终推荐结果中的所有信息内容均为用户所需,因此大量的利用价值不高的信息存在于推荐过程中会造成推荐系统运行负担加重,同时也会导致推荐效率降低。因此,针对这一问题,本文在引入协同过滤算法的基础上,开展对大数据中信息推荐系统的设计研究。

1 信息推荐系统模块集成设计

基于大数据中信息推荐的需要,在对系统设计时,将数据采集、数据处理、推荐结果反馈等组合,构建一个具有实时性、个性化特点的推荐系统。本文设计的推荐系统共包含三个基本模块,分别为offline 模块、online模块和Data tables 模块[4]。三个模块分别用于:定期对推荐目标用户聚类;统计和更新推荐目标用户的相关统计信息;数据存储并生成用户数据表UT 和信息数据表ST。图1为信息推荐系统模块集成设计图。

图1 信息推荐系统模块集成设计图

根据信息推荐系统的运行需要,将系统中的模块集成在由用户浏览层和推荐响应层两部分组成的系统框架当中。在用户浏览器层中,当用户在对某一信息浏览时,前端与用户点击服务器进行通讯,将用户u的UserId 传送给用户点击服务器,被单击信息s的ItemID 和单击时间C1ickTime 均由用户点击服务器接收,同时由系统要求将这一单击记录写入到用户数据表UT,在此期间中获得点击记录表C1ickList。用户点击服务器,使用此点击记录表C1ickList 将与信息s相关的伴随浏览信息传输、并更新相关统计信息[5]。为了提高系统的效率,可以对用户点击服务器进行相应的缓冲操作。

2 推荐目标用户主题兴趣预测

在明确信息推荐系统的各个模块以及整体框架后,对推荐目标用户主题兴趣进行预测。将大数据当中所有的信息按照主题划分为多个类别,并共同组成一个完整的集合C。通过对推荐目标用户在不同信息主题下的点击频次统计,得到一个矢量D(u,t),该矢量表示为推荐目标用户u在某一时段内的主题兴趣信息,其中t的取值可以为1 周或几周。该矢量的表达式为:

公式中,Ni表示用户u在某一时段t内对某一主题信息的点击频次,i的取值为1,2,3,…,n;Nt表示用户u在某一时段t中对所有主题信息的总点击频次。在此基础上,通过下述公式,计算得出在某一时间段内推荐目标用户对主题Ci的兴趣,即用户在规定时间段内点击Ci的概率:

公式中,interest(category=Ci)表示用户在规定时间段内点击Ci的概率;pt(category=Ci|click)表示推荐目标用户在某一时段中点击主题信息为Ci的信息概率;pt(category=Ci)表示一条信息属于主题Ci的概率。通过上述公式计算可以预测得出推荐目标用户的主题兴趣,为后续推荐信息的相似度计算和推荐结果生成提供依据。

3 基于协同过滤算法的用户与主题信息相似度计算

结合协同过滤算法,利用系统当中已有的用户群过去的浏览行为,预测推荐用户最有可能感兴趣的信息[6]。在这一过程中,建立协同过滤的基础矩阵,如表1所示。

表1 协同过滤矩阵

在表1所示的协同过滤矩阵当中,每一行代表一个用户(表1中包含用户A、用户B 和用户C);每一列代表一个主题信息(表1中包含主题信息I、主题信息Ⅱ、主题信息Ⅲ和主题信息IV)。表1协同过滤矩阵当中对应的数值即为用户对该主题信息的评分。基于用户的协作过滤技术,通过一组已知的用户分数和现有用户的分数,找到具有相同喜好的用户群体。向用户推荐一些类似的、但是目前用户未知的主题信息[7]。在上述协同过滤矩阵的基础上,针对推荐系统当中用户u和用户v的余弦相似度计算:

公式中,sim(u,v)表示用户u和用户v的余弦相似度,即两名用户矢量之间的余弦夹角。通过上述计算,得出的sim(u,v)值越小,则说明两名用户越相似;反之,若得出的sim(u,v)值越大,则说明两名用户越不相似。根据上述公式,确定两名用户的相似度。在此基础上,针对推荐信息的相似度计算,将某一主题信息与主题信息作为矢量,同样参照上述式(3)计算得出两个主题信息之间的相似度。

4 大数据中信息过滤与推荐结果生成

在确定用户之间相似度和主题信息之间相似度后,结合计算结果,对大数据当中存在的海量信息过滤,并生成相应的推荐结果[8]。在过滤时,设置用户与用户之间相似度阈值、主题信息与主题信息之间相似度阈值。通过将计算得出的结果与阈值的比较,将在阈值范围内的主题信息保留,将不在其范围内的主题删除。根据上述操作得到的过滤结果更加符合推荐目标用户对信息获取的需要。在生成推荐结果时,引入机器学习,在推荐系统没有获得明确的推荐指令时,高效完成特定推荐任务。利用机器学习的方式实现对主题信息表面特征和语义特征的提取,并按照下述公式完成特征融合:

公式中,V表示经过融合后的主题信息特征;W0(t)和W1(t)表示两种主题信息的表面特征量化数值;V0(t)和V1(t)表示两种主题信息的语义特征量化数值W0和W1表示所有主题信息的特征量化数值。根据上述公式,完成对主题信息的特征融合。利用推荐系统中的分类器对主体特征类型划分。在推荐系统当中分别引入四个分类器,依次完成对营销类、敏感类、低俗类和无用类信息的过滤。在完成过滤后,对分类结果处理,并收集过滤结果,将过滤结果输出,此时得到的过滤结果即为推荐系统为推荐目标用户挑选的主题信息,以此实现对用户的信息推荐。

5 对比实验

5.1 实验准备

针对本文对比实验所需的Stack8.0 平台安全运行的实验条件,设置复杂的大数据网络环境,用于为三种推荐系统提供运行所需。选择将基于协同过滤算法的推荐系统作为实验组,将基于信息觅食理论的推荐系统和基于复合型算法的推荐系统作为对照组。将三种推荐系统应用到上述实验环境中,分别从系统自身运行性能角度和推荐效果角度,实现对三种系统综合应用效果的对比。在实验开始前,选择将MovieLens 100 k 数据集作为实验用数据集,该数据集为GroupLens Research 提供的,用于为推荐系统提供典型测试用例的数据集。在该数据集当中包含了526 名用户针对不同主题给出的超过100 000 条的评价内容,每一位用户的评价内容记录在10 条以上,包含了众多信息要素。将该数据集以随机划分的方式,以80%的数据作为训练数据集,将剩余20%的数据作为测试数据集。

5.2 系统运行性能对比分析

在完成上述准备工作后,先针对三种推荐系统的运行性能对比。将推荐系统运行过程中受噪声信息的干扰程度作为对系统运行性能对比的指标。在实验过程中,共设置9种噪声干扰等级,从T1等级到T9等级噪声强度逐渐增加,其中T1 等级噪声为30 dB,T9 等级噪声为120 dB。计算得出三种推荐系统在不同噪声干扰情况下的具体影响程度。为确保实验的客观性,三种推荐系统需要在相同的运行环境中完成此次实验。在完成实验后,将得到的结果记录如表2所示。

表2 三种推荐系统运行性能对比表

根据表2数据得出的实验结果能够初步证明,三种推荐系统中,实验组推荐系统的运行性能更理想,在实际应用中不会受到噪声的干扰,能够确保推荐系统给出的推荐信息结果与用户端向用户展示的推荐信息一致。

5.3 推荐效果对比分析

为实现对推荐效果的对比,仍然选择将上述测试数据集为推荐条件,针对5 名用户,综合其兴趣偏好、行为习惯等,从测试数据集中挑选出符合各个系统推荐要求的信息推荐结果。由5 名用户针对推荐结果给出相应的评分。为确保公正性,评分过程中,需要结合MinHash 算法给出规范的评分结果。记录三种推荐系统针对5 名推荐用户给出的推荐结果的score值,并绘制成图2所示。

图2 三种推荐系统推荐效果对比图

由图2可知,实验组推荐系统能够为用户提供更符合其主题兴趣的推荐信息,并且有利于促进信息利用价值的提升。

6 结语

本文在引入协同滤波算法的基础上,提出了一种新的针对海量大数据中信息资源推荐的系统。通过将该系统与其他现有两种推荐系统应用到相同的运行环境当中,从系统自身运行性能和推荐效果两方面均证明新系统更具优势。尽管该系统具备极高的推荐精度效果,但仍然存在一定问题。例如该系统与用户之间的交互性较弱,未综合考虑到信息与用户的相关性等。因此,针对上述存在的问题,在后续的研究当中,还将结合更具现代化的技术手段,对推荐系统进行更深入的研究。

猜你喜欢

协同模块算法
28通道收发处理模块设计
输入受限下多无人机三维协同路径跟踪控制
“选修3—3”模块的复习备考
家校社协同育人 共赢美好未来
蜀道难:车与路的协同进化
Travellng thg World Full—time for Rree
“四化”协同才有出路
进位加法的两种算法
一种改进的整周模糊度去相关算法
一种基于L-M算法的RANSAC图像拼接算法