CN111125428B - 基于评分预测函数拟合结构的时间相关电影推荐方法 - Google Patents

基于评分预测函数拟合结构的时间相关电影推荐方法 Download PDF

Info

Publication number
CN111125428B
CN111125428B CN201911301847.2A CN201911301847A CN111125428B CN 111125428 B CN111125428 B CN 111125428B CN 201911301847 A CN201911301847 A CN 201911301847A CN 111125428 B CN111125428 B CN 111125428B
Authority
CN
China
Prior art keywords
movie
user
scoring
time
movies
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911301847.2A
Other languages
English (en)
Other versions
CN111125428A (zh
Inventor
林树宽
崔畅
乔建忠
涂悦
张之敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northeastern University China
Original Assignee
Northeastern University China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Northeastern University China filed Critical Northeastern University China
Priority to CN201911301847.2A priority Critical patent/CN111125428B/zh
Publication of CN111125428A publication Critical patent/CN111125428A/zh
Application granted granted Critical
Publication of CN111125428B publication Critical patent/CN111125428B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/73Querying
    • G06F16/735Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation

Abstract

本发明提供一种基于评分预测函数拟合结构的时间相关电影推荐方法,涉及计算机推荐技术领域。该方法包括离线建立推荐模型和基于建立的推荐模型生成的数据文件进行在线推荐两部分;首先对用于电影推荐的数据集中的数据进行预处理,建立用户‑电影评分矩阵,并提取电影的评分特征和电影的海报特征作为电影特征;计算用于电影推荐的电影间的相似度,得到电影间的相似度矩阵;然后构建时间相关的电影评分预测函数及其拟合结构,通过训练评分预测函数拟合结构,求解用户相关的时间权重因子,完成推荐模型的建立;最后基于建立的推荐模型生成的数据文件为待推荐用户计算预测评分并产生推荐结果集,将推荐结果集输出并推荐给用户。

Description

基于评分预测函数拟合结构的时间相关电影推荐方法
技术领域
本发明涉及计算机推荐技术领域,尤其涉及一种基于评分预测函数拟合结构的时间相关电影推荐方法。
背景技术
随着互联网的发展,信息过载日益严重,当人们面对海量数据时,很难快速地分析并提取出自己感兴趣的项目,由此,推荐技术受到越来越多的关注。所谓推荐系统是指基于现有数据,包括用户信息、项目信息(如电影、餐厅、书籍或其它产品等)和评分信息等,通过建立相应的推荐模型,找出用户没参加过,但是很有可能会喜欢的项目推荐给用户。一个良好的推荐系统可以有效缓解数据量庞大时,用户难以快速定位项目的问题。当用户需要做某项活动时,推荐系统缩小了用户选择的范围,为人们做出决策节省了时间。深度学习技术的发展为推荐问题提供了新的思路,改用新兴技术手段,可以进一步提高推荐系统的性能。
在众多场景中,电影推荐具有广泛的应用需求和乐观的发展前景。目前电影推荐研究存在如下挑战和问题:
(1)电影特征的提取。现有工作中,多数研究通过挖掘用户历史评分数据来发现电影的特征,但是评分数据提供的信息仅代表了用户与电影的交互关系,并没有体现出电影本身的语义特点。当评分数据稀疏时,仅基于评分数据提取的电影特征不完整,会导致推荐系统不能准确地发现用户喜欢的电影类型,很难进行下一步的推荐工作。如何准确、全面地从相关数据中提取出电影的特征,是电影推荐需要解决的基本问题。
(2)挖掘用户兴趣偏好随时间的变化。用户的兴趣偏好会随着时间变化,在两个不同的时间点喜欢的电影很有可能大相径庭。所以不能完全根据用户过去的喜好来分析其目前对电影的选择,应该把注意力放在近期的评分数据上。现有的电影推荐方法忽略了时间对用户兴趣偏好的影响,对所有评分数据进行相同的挖掘操作,不能准确把握用户的兴趣偏好。挖掘用户兴趣偏好随时间的变化,是提高电影推荐系统性能的关键问题。
发明内容
本发明要解决的技术问题是针对上述现有技术的不足,提供一种基于评分预测函数拟合结构的时间相关电影推荐方法,提高电影推荐的性能。
为解决上述技术问题,本发明所采取的技术方案是:基于评分预测函数拟合结构的时间相关电影推荐方法,包括离线建立推荐模型和基于建立的推荐模型生成的数据文件进行在线推荐两部分;
所述离线建立推荐模型包括以下步骤:
步骤1、对用于电影推荐的数据集中的数据进行预处理,具体方法为:
步骤1.1、将用于电影推荐的数据文件从磁盘读入内存,从中读取与用户评分相关的数据信息;
所述与用户评分相关的数据信息包括用户ID(userID)、电影ID(movieID)、用户对已观看电影的历史评分(rating)、评分时间戳(timestamp);
步骤1.2、对读取的数据进行预计算,得到用户对已观看电影的评分值的对数值ln(rating)及建立推荐模型的当前时间与评分时间戳之间的时间间隔interval;
步骤1.3、将与用户评分相关的数据信息和预计算得到的信息以文件形式保存到磁盘上,得到评分数据文件;
步骤2、将步骤1.3建立的评分数据文件从磁盘读入内存,建立用户-电影评分矩阵;
所述用户-电影评分矩阵是一个r×c的矩阵,其中r表示用户的数量,c表示电影的数量,矩阵的第u行代表用户u对所有电影的评分,1≤u≤r,矩阵的第m列代表电影m收到的所有评分,1≤m≤c;
步骤3、提取电影特征;所述电影特征包括电影的评分特征和电影的海报特征;
步骤3.1、基于步骤2建立的用户-电影评分矩阵提取电影的评分特征;
步骤3.1.1、将用户-电影评分矩阵中的每一列m提取出来,形成具有r个元素的向量
Figure BDA0002322016950000021
每一个元素
Figure BDA0002322016950000022
代表用户u对电影m的评分,整个向量表示电影m收到的所有用户的评分;
步骤3.1.2、对于步骤3.1.1得到的每一个向量
Figure BDA0002322016950000023
计算其所有元素的平均值am,如公式(1)所示:
Figure BDA0002322016950000024
并将am拼接到向量
Figure BDA0002322016950000025
的末尾作为第(r+1)个元素,形成具有(r+1)个元素的电影评分特征
Figure BDA0002322016950000026
步骤3.2、提取电影的海报特征
对于每个电影m,将其对应的海报图片从磁盘读入内存,形成代表该海报图片所有像素值的张量Mm;调用在Imagenet数据集上训练好的VGG16网络,并将Mm输入到VGG16网络中,得到由VGG16网络输出的电影海报特征
Figure BDA0002322016950000027
步骤3.3、对于每个电影m,将步骤3.1得到的电影评分特征
Figure BDA0002322016950000028
和步骤3.2得到的电影海报特征
Figure BDA0002322016950000029
进行拼接,得到最终的电影特征vm
步骤4、采用余弦相似度方法基于电影特征计算用于电影推荐的电影间的相似度,得到电影间的相似度矩阵S,并保存在电影相似度磁盘文件中;
步骤5、构建时间相关的电影评分预测函数;
基于电影间的相似度,用户对已观看电影的历史评分,用户对已观看电影的评分时间戳距当前时间的时间间隔及用户相关的时间权重因子,构建时间相关的电影评分预测函数,如公式(2)所示:
Figure BDA0002322016950000034
其中,predictionu,m′为用户u对待预测电影m′的预测评分,Hu为用户u的历史观影集,即用户u观看过并给出评分的电影组成的集合,ratingu,i为用户u对已观看电影i的历史评分,1≤i≤|Hu|,Si,m′为用户u已观看电影i与待预测电影m′之间的相似度,intervalu,i为评分ratingu,i的时间戳距当前时间的时间间隔,
Figure BDA0002322016950000031
为评分ratingu,i的时间权重函数,qu为与用户u相关的时间权重因子;
步骤6、构建评分预测函数拟合结构来拟合步骤5构建的评分预测函数;
所述评分预测函数拟合结构是根据评分预测函数构建的一个特殊的神经网络结构,每个用户u对应一个评分预测函数拟合结构Nu,用来求解与用户u相关的时间权重因子qu;评分预测函数拟合结构Nu包括|Hu|个基础细胞结构和1个聚合细胞结构,每个已观看电影i∈Hu对应一个基础细胞结构,聚合细胞结构对Hu中所有已观看电影所对应的基础细胞结构的输出进行聚合,产生预测评分;
所述基础细胞结构只包括一个神经元,且用来拟合评分预测函数中的基础值,即
Figure BDA0002322016950000032
对于用户u,其已观看电影i∈Hu所对应的基础细胞结构输入分别为intervalu,i、ln(ratingu,i)和ln(Si,m′),三个输入与神经元之间连接的权值分别为-qu、1和1,偏置设置为0;神经元的激活函数设置为f(x)=ex,其中,x为神经元的输入;因此,由基础细胞结构产生的输出为
Figure BDA0002322016950000033
所述聚合细胞结构用来拟合评分预测函数中对所有已观看电影的基础值求平均的过程,其只包括一个神经元;聚合细胞结构的输入共有|Hu|个,分别为每个已观看电影i∈Hu所对应的基础细胞结构的输出;每个输入与神经元之间连接的权值均为1,偏置设置为0,神经元的激活函数设置为f′(x′)=x′/|Hu|,其中,x′为神经元的输入;则聚合细胞结构的输出为:
Figure BDA0002322016950000041
即步骤5所构建的评分预测函数;
步骤7、通过训练评分预测函数拟合结构,求解用户相关的时间权重因子,并将求解的时间权重因子按用户ID升序排列后存储到一个时间权重因子磁盘文件中,具体方法为:
步骤7.1、将变量u初始化为1;
步骤7.2、对于评分预测函数拟合结构Nu,随机初始化时间权重因子qu并初始化变量iter_num为1;
步骤7.3、从步骤1.3生成的评分数据文件中抽取用户u的历史观影集Hu,将Hu平均分成
Figure BDA0002322016950000042
Figure BDA00023220169500000411
两部分,即
Figure BDA0002322016950000043
步骤7.4、从评分数据文件中提取
Figure BDA0002322016950000044
所对应各记录的interval和ln(rating)字段,形成intervalu,j和ln(ratingu,j),其中,
Figure BDA0002322016950000045
步骤7.5、从评分数据文件中提取
Figure BDA0002322016950000046
所对应各记录的rating字段,形成ratingu,j′,其中,
Figure BDA0002322016950000047
步骤7.6、计算电影j和j′的相似度Sj,j′的对数值ln(Sj,j′);
步骤7.7、将变量j′初始化为1;
步骤7.8、将intervalu,j、ln(ratingu,j)和ln(Sj,j′)分别作为评分预测函数拟合结构Nu中第j个基础细胞结构的输入,经过基础细胞结构和聚合细胞结构的正向传播过程,得到评分预测函数拟合结构输出的用户u对电影j′的预测评分yu,j′,对照用户u对电影j′的真实评分ratingu,j′,按照如下损失函数公式(4)计算损失Lu
Lu=(ratingu,j′-yu,j′)2 (4)
步骤7.9、计算梯度
Figure BDA0002322016950000048
步骤7.10、更新时间权重因子
Figure BDA0002322016950000049
其中,η为给定的学习率;
步骤7.11、令j′=j′+1,若
Figure BDA00023220169500000410
则重新执行步骤7.8;否则,执行步骤7.12;
步骤7.12、令iter_num=iter_num+1;
步骤7.13、若iter_num≤num,则重新执行步骤7.7;否则,执行步骤7.14,其中,num为给定的迭代次数;
步骤7.14、令u=u+1;
步骤7.15、若u≤r,r为评分数据文件中用户的数量,则转入步骤7.2;否则执行步骤7.16;
步骤7.16、将最终计算出的所有用户的时间权重因子按照用户ID大小升序排列,存储到一个时间权重因子磁盘文件中;
所述基于建立的推荐模型生成的数据文件进行在线推荐包括以下步骤:
步骤S1、为待推荐用户u计算预测评分并产生推荐结果集;
步骤S1.1、从步骤1.3生成的评分数据文件中抽取用户u的历史观影集Hu及其未观看的电影集Cu,并读出相应的时间间隔数据intervalu,i和评分数据ratingu,i,其中,1≤i≤|Hu|;
步骤S1.2、将步骤4生成的电影相似度文件中的内容从磁盘读入内存的矩阵S中;
步骤S1.3、将步骤7.16生成的时间权重因子磁盘文件的内容从磁盘读入内存,并将用户u所对应的时间权重因子赋值给变量qu
步骤S1.4、对于每个电影m′∈Cu,基于步骤S1.1-S1.3得到的intervalu,i、ratingu,i、矩阵S以及变量qu的值,按照评分预测函数公式(2)计算用户u对电影m′的预测评分predictionu,m′,并按降序排列,将前top-k个预测评分所对应的电影形成推荐结果集Ru
步骤S2、将推荐结果集Ru输出并推荐给用户u。
采用上述技术方案所产生的有益效果在于:本发明提供的基于评分预测函数拟合结构的时间相关电影推荐方法,①提供了同时考虑用户历史评分、用户评分习惯和电影语义信息的电影特征提取方法。首先,在提取电影的评分特征时,通过计算电影收到的所有用户评分的均值,加入对用户评分习惯的考虑,使电影评分特征的挖掘更加充分。其次,在提取电影的评分特征的同时,提取了电影的语义信息,将从电影海报中提取的图片特征与评分特征相结合,形成电影特征。电影海报中蕴含着丰富的语义信息,加入电影语义信息的电影特征将更加全面、完整,有利于提高推荐性能。②提供了时间相关的用户对电影的评分预测方法。在预测用户对电影的评分时,以个性化的时间权重函数为评分数据赋予权重,体现不同时期评分数据的重要程度;同时,在时间权重函数中设置用户相关的时间权重因子,有针对性地挖掘不同用户兴趣偏好随时间的变化趋势,令时间权重函数个性化,使得用户对电影的评分过程更加客观、合理,提高了电影推荐的性能。③提供了时间相关的评分预测函数拟合结构,并提供了基于该结构的个性化时间权重因子的计算方法,为更准确地预测用户评分,从而为提高推荐性能奠定了基础。
附图说明
图1为本发明实施例提供的基于评分预测函数拟合结构的时间相关电影推荐方法的流程图;
图2为本发明实施例提供的基础细胞结构的示意图;
图3为本发明实施例提供的聚合细胞结构的示意图;
图4为本发明实施例提供的电影特征中加入电影海报特征与未加入海报特征的预测评分误差对比图,其中,(a)为预测评分误差MAE指标的对比图,(b)为预测评分误差MSE指标的对比图;
图5为本发明实施例提供的时间相关的推荐方法与通常的协同过滤推荐方法的预测评分误差对比图,其中,(a)为预测评分误差MAE指标的对比图,(b)为预测评分误差MSE指标的对比图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
本实施例中,基于评分预测函数拟合结构的时间相关电影推荐方法,如图1所示,包括离线建立推荐模型和基于建立的推荐模型生成的数据文件进行在线推荐两部分;
所述离线建立推荐模型包括以下步骤:
步骤1、对用于电影推荐的数据集中的数据进行预处理,具体方法为:
为了实现时间相关的电影推荐方法和系统,首先需要对数据进行预处理。用于电影推荐的数据集中含有很多信息,首先需要从中提取对电影推荐有用的信息;其次,计算时间相关的电影推荐中需要用到的时间间隔数据以及评分的对数值,形成评分数据文件,具体方法为:
步骤1.1、将用于电影推荐的数据文件从磁盘读入内存,从中读取与用户评分相关的数据信息;
所述与用户评分相关的数据信息包括用户ID(userID)、电影ID(movieID)、用户对已观看电影的历史评分(rating)、评分时间戳(timestamp);
步骤1.2、基于步骤1.1所读取的信息,进行预计算,为后续的处理做好数据准备。具体包括:①计算评分值的对数值,即ln(rating)。在基于电影评分预测函数拟合结构求解时间权重因子的过程中,该对数值将作为基础细胞结构的输入;②计算当前时间(即建立推荐模型的时间)与评分时间戳之间的时间间隔(interval)。在基于电影评分预测函数拟合结构求解时间权重因子的过程中,该时间间隔将作为基础细胞结构的输入;同时,在计算预测评分时,该时间间隔将作为时间权重函数的自变量参与计算。
步骤1.3、将与用户评分相关的数据信息和预计算得到的信息以文件形式保存到磁盘上,得到的评分数据文件格式如下:
userID movieID rating timestamp ln(rating) interval
步骤2、将步骤1.3建立的评分数据文件从磁盘读入内存,建立用户-电影评分矩阵;
为了提取电影的评分特征,需要建立用户-电影评分矩阵。用户-电影评分矩阵是一个r×c的矩阵,其中r表示用户的数量,c表示电影的数量,矩阵的第u行代表用户u对所有电影的评分,矩阵的第m列代表电影m收到的所有评分。建立用户-电影评分矩阵的步骤为:
步骤2.1、在内存中建立一个r×c矩阵,将所有元素值初始化为0;
步骤2.2、将步骤1.3所建立的评分数据文件从磁盘读入内存;
步骤2.3、遍历用户评分数据,根据评分数据的用户ID和电影ID将具体评分值赋值给矩阵中对应位置的元素,即将用户u(1≤u≤r)对电影m(1≤m≤c)的评分值赋值到矩阵的第u行第m列。
步骤3、提取电影特征;所述电影特征包括电影的评分特征和电影的海报特征。
步骤3.1、提取电影的评分特征;
基于步骤2所建立的用户-电影评分矩阵,可以提取电影的评分特征。具体步骤为:
步骤3.1.1、将用户-电影评分矩阵中的每一列m(1≤m≤c)提取出来,形成具有r个元素的向量
Figure BDA0002322016950000071
每一个元素
Figure BDA0002322016950000072
代表用户u对电影m的评分,整个向量表示电影m收到的所有用户的评分。该步骤可以得到c个这样的向量;
步骤3.1.2、对于步骤3.1.1得到的每一个向量
Figure BDA0002322016950000073
计算其所有元素的平均值,即:
Figure BDA0002322016950000074
并将am拼接到向量
Figure BDA0002322016950000075
的末尾作为第(r+1)个元素,形成具有(r+1)个元素的电影评分特征
Figure BDA0002322016950000076
步骤3.2、提取电影的海报特征;
对于每个电影m,将其所对应的海报图片文件从磁盘读入内存,形成代表该海报图片所有像素值的张量Mm。调用在Imagenet数据集上训练好的VGG16网络,并将Mm输入到网络中,得到由VGG16输出的电影海报特征
Figure BDA0002322016950000077
步骤3.3、对于每个电影m,将步骤3.1得到的电影评分特征
Figure BDA0002322016950000078
和步骤3.2得到的电影海报特征
Figure BDA0002322016950000081
进行拼接,得到最终的电影特征vm
电影特征的提取是电影推荐中非常重要的一个部分,准确、全面的电影特征可以帮助推荐系统更加准确地理解电影,从而提高电影推荐的性能。本发明在提取电影特征时融合了三方面信息:①每个用户的历史评分数据。历史评分是用户观看过电影后给出的真实评分,可以直观地反映出电影质量的高低,从用户评价的角度代表了电影的特征;②用户评分的均值。单个用户的评分具有偶然性,强烈的主观色彩和评分习惯可能导致评分不具有代表性,不能以此断定电影的质量和水平。本发明统计了每一部电影收到的所有用户评分的均值,作为电影特征的一部分,以避免单个用户评分的偶然性和片面性。由①和②两部分信息构成电影的评分特征;③电影海报信息。每一张电影海报都蕴含了丰富而全面的语义信息,例如,它能通过色彩反映出电影的感情基调,通过图片的内容显示电影所属的类别以及基本的故事情节等等,这是其他数据不可替代的。本发明将基于海报信息的特征称为电影的海报特征。本发明在提取上述三方面信息的基础上,对电影的评分特征和海报特征进行融合,从而生成更加准确、全面的电影特征。
步骤4、采用余弦相似度方法基于电影特征计算用于电影推荐的电影间的相似度,得到电影间的相似度矩阵S,并保存在电影相似度磁盘文件中;
电影间的相似度计算是预测用户评分的基础,具体步骤为:
步骤4.1、建立一个c×c矩阵S,并将每个元素值初始化为0,第m1(1≤m1≤c)行第m2(1≤m2≤c)列的矩阵元素
Figure BDA0002322016950000082
代表电影m1与电影m2之间的相似度;
步骤4.2、采用余弦相似度方法计算电影之间的相似度。对于任意两个电影m1(1≤m1≤c)和m2(1≤m2≤c),利用电影特征
Figure BDA0002322016950000083
Figure BDA0002322016950000084
计算它们之间的相似度
Figure BDA0002322016950000085
如下:
Figure BDA0002322016950000086
步骤4.3、将矩阵S保存到磁盘,形成电影相似度文件。
计算相似度的方法有很多,推荐系统中常用的方法有欧式距离和余弦相似度。本发明所提取的电影特征中包含用户评分信息,该部分特征受用户的打分习惯(有的用户习惯对电影打较高的分数,有的用户习惯对电影打较低的分数)和主观影响较大。这种情况下,如果采用欧式距离计算电影之间的相似度,效果不太理想。余弦相似度利用两个向量夹角的余弦值来衡量两个对象的差异大小,注重两个向量在方向上的差异及其在不同维度的变化趋势,而非距离和长度。因此,对于推荐系统常用的评分数据,余弦相似度更关注两部电影收到的用户评分变化和趋势是否一致,会减少用户评分习惯带来的影响。基于此,本发明基于余弦相似度方法计算电影之间的相似度。
步骤5、构建时间相关的电影评分预测函数;
给定待推荐用户,电影评分预测函数将针对该用户对待推荐电影进行评分预测,并依据得出的预测评分决定是否推荐。本发明在预测电影评分时考虑了以下几方面因素:①待推荐电影与用户已观看电影的相似程度;②用户对已观看电影的历史评分情况。根据这两项因素,若待推荐电影与已观看电影具有较高的相似度,且用户对已观电影的历史评分较高,则对该待推荐电影产生一个较高的评分预测值;此外,用户对已观看电影的历史评分反映了其兴趣偏好,用户对电影的兴趣偏好会随着时间、年龄的增长而改变,很久以前喜欢的电影类型很可能并不是目前所喜欢的。用户的每一条历史评分数据仅代表作出该评分行为时的兴趣偏好,推荐系统应该考虑到评分数据的时间因素。因此,本发明创新性地在电影评分预测中加入了以下因素:③用户对已观看电影的评分时间距当前时间(即建立推荐模型的时间)的时间间隔,依据此时间间隔为每一条评分数据设置时间权重函数,以此衡量该条评分数据反映的历史兴趣偏好对于当前情境下为用户进行推荐的参考价值。依据此项因素,系统将倾向于推荐与用户近期观看的高评分电影相似的内容;④用户相关的时间权重因子。不同的用户,其兴趣偏好的变化速度可能不同。有的用户喜欢的电影会经常变化,而兴趣偏好稳定的用户所喜欢的电影始终如一。因此,本发明创新性地将时间权重函数个性化,在电影评分预测中设置用户相关的时间权重因子。本发明以上述四方面因素作为电影评分预测函数的自变量,以预测评分作为因变量,构建合理的电影评分预测函数,为预测用户评分奠定了基础。
具体构建的时间相关的电影评分预测函数为:
Figure BDA0002322016950000091
其中,predictionu,m′为用户u对电影m′的预测评分,Hu为用户u的历史观影集(即用户u观看过并给出评分信息的电影组成的集合),ratingu,i为用户u对已观看电影i的历史评分,Si,m′为用户u已观看电影i与待预测电影m′之间的相似度,1≤i≤|Hu|,intervalu,i为评分ratinguu,i的时间戳距当前时间的时间间隔,
Figure BDA0002322016950000092
为评分ratingu,i的时间权重函数,intervalu,i越小(即历史评分ratingu,i距当前时间的时间间隔越近),时间权重函数值越大,反之亦然。按照上述评分预测函数,待预测电影m′与用户u近期观看过的高评分电影越相似,用户u对电影m′的预测评分predictionu,m′就越高。
在上述评分预测函数中,由于对评分ratingu,i加入了时间权重函数
Figure BDA0002322016950000093
因此考虑了用户的兴趣偏好随时间的变化。考虑到不同用户,其兴趣偏好变化的速度不同,本发明进一步在上述评分预测函数中加入用户相关的时间权重因子,最终构建的评分预测函数为:
Figure BDA0002322016950000101
其中,qu为与用户u相关的时间权重因子。由于加入了用户相关的时间权重因子,评分ratingu,i的时间权重函数变为
Figure BDA0002322016950000102
使得不同用户的评分随时间呈现不同的变化,体现了时间权重函数的个性化。
步骤6、构建评分预测函数拟合结构;
构建评分预测函数是进行电影推荐的基础,电影推荐将通过计算评分预测函数值进行。在步骤5所构建的评分预测函数中,评分ratingu,i、时间间隔intervalu,i和历史观影集Hu可由步骤1.3生成的评分数据文件产生,相似度Si,m′可由步骤4生成的电影相似度文件产生,而用户相关的时间权重因子qu未知,因此,本步骤负责构建评分预测函数拟合结构,以对用户相关的时间权重因子qu进行求解。
评分预测函数拟合结构是本发明提供的用来求解时间权重因子的特殊神经网络结构,该结构可以完美拟合步骤5构建的评分预测函数。用户u所对应的评分预测函数拟合结构Nu由|Hu|个基础细胞结构和1个聚合细胞结构组成,每个已观看电影i∈Hu对应一个基础细胞结构,聚合细胞结构对Hu中所有已观看电影所对应的基础细胞结构的输出进行聚合,产生预测评分。
基础细胞结构用来拟合评分预测函数(公式4)括号内的部分,由于只包括一个神经元,且用来拟合评分预测函数中的基础值(括号内的部分),故称为基础细胞结构。对于用户u,其已观看电影i∈Hu所对应的基础细胞结构输入分别为intervalu,i、ln(ratingu,i)和ln(Si,m′),三个输入与神经元之间连接的权值分别为-qu、1和1,偏置设置为0。神经元的激活函数设置为f(x)=ex,其中,x为神经元的输入。因此,由基础细胞结构产生的输出为
Figure BDA0002322016950000103
(即评分预测函数括号内的部分),具体可见附图2。
聚合细胞结构用来拟合评分预测函数中对所有已观看电影的基础值求平均的过程,由于只包含一个神经元,故称为聚合细胞结构。其输入共有|Hu|个,分别为每个已观看电影i∈Hu所对应的基础细胞结构的输出。每个输入与神经元之间连接的权值均为1,偏置设置为0,神经元的激活函数设置为f′(x′)=x′/|Hu|,其中,x′为神经元的输入,具体可见附图3。因此,聚合细胞结构的输出为:
Figure BDA0002322016950000111
即步骤5所构建的评分预测函数。可见,由基础细胞结构和聚合细胞结构组成的评分预测函数拟合结构可以完美地拟合公式4给出的评分预测函数。
步骤7、通过训练评分预测函数拟合结构,求解用户相关的时间权重因子,并将求解的时间权重因子按用户ID升序排列后存储到一个时间权重因子磁盘文件中;
在步骤6所构建的评分预测函数拟合结构中,除权值-qu外,其它网络参数均设置为常量。本步骤将基于深度学习的思想,通过训练评分预测函数拟合结构,不断地优化、学习出时间权重因子qu
步骤7.1、将变量u初始化为1;
步骤7.2、对于评分预测函数拟合结构Nu,随机初始化时间权重因子qu并初始化变量iter_num为1;
步骤7.3、从步骤1.3生成的评分数据文件中抽取用户u的历史观影集Hu,将Hu平均分成
Figure BDA0002322016950000112
Figure BDA0002322016950000113
两部分,即
Figure BDA0002322016950000114
步骤7.4、从评分数据文件中提取
Figure BDA0002322016950000115
所对应各记录的interval和ln(rating)字段,形成intervalu,j和ln(ratingu,j),其中,
Figure BDA0002322016950000116
步骤7.5、从评分数据文件中提取
Figure BDA0002322016950000117
所对应各记录的rating字段,形成ratingu,j′,其中,
Figure BDA0002322016950000118
步骤7.6、计算电影j和j′的相似度Sj,j′的对数值ln(Sj,j′);
步骤7.7、将变量j′初始化为1;
步骤7.8、将intervalu,j、ln(ratingu,j)和ln(Sj,j′)分别作为评分预测函数拟合结构Nu中第j个基础细胞结构的输入,经过基础细胞结构和聚合细胞结构的正向传播过程,得到评分预测函数拟合结构输出的用户u对电影j′的预测评分yu,j′,对照用户u对电影j′的真实评分ratingu,j′,按照如下损失函数公式(6)计算损失Lu
Lu=(ratingu,j′-yu,j′)2 (6)
步骤7.9、计算梯度
Figure BDA0002322016950000119
步骤7.10、更新时间权重因了
Figure BDA00023220169500001110
其中,η为给定的学习率;
步骤7.11、令j′=j′+1,若
Figure BDA0002322016950000121
则重新执行步骤7.8;否则,执行步骤7.12;
步骤7.12、令iter_num=iter_num+1;
步骤7.13、若iter_num≤num,则重新执行步骤7.7;否则,执行步骤7.14,其中,num为给定的迭代次数;
步骤7.14、令u=u+1;
步骤7.15、若u≤r,r为评分数据文件中用户的数量,则转入步骤7.2;否则执行步骤7.16;
步骤7.16、将最终计算出的所有用户的时间权重因子按照用户ID大小升序排列,存储到一个时间权重因子磁盘文件中。
所述基于建立的推荐模型生成的数据文件进行在线推荐包括以下步骤:
步骤S1、为待推荐用户u计算预测评分并产生推荐结果集;
步骤S1.1、从步骤1.3生成的评分数据文件中抽取用户u的历史观影集Hu及其未观看的电影集Cu,并读出相应的时间间隔数据intervalu,i和评分数据ratingu,i,其中,1≤i≤|Hu|;
步骤S1.2、将步骤4生成的电影相似度文件中的内容从磁盘读入内存的矩阵S中;
步骤S1.3、将步骤7生成的时间权重因子磁盘文件的内容从磁盘读入内存,并将用户u所对应的时间权重因子赋值给变量qu
步骤S1.4、对于每个电影m′∈Cu,基于步骤S1.1-S1.3得到的intervalu,i、ratingu,i、矩阵S以及变量qu的值,按照评分预测函数公式(4)计算用户u对电影m′的预测评分predictionu,m′’并按降序排列,将前top-k个预测评分所对应的电影形成推荐结果集Ru
步骤S2、将推荐结果集Ru输出并推荐给用户u。
本实施例将本发明的电影推荐方法在Movielens电影推荐网站提供的ml-latest、ml-100k、ml-1M三个数据集上进行了测试,验证了所提供的基于评分预测函数拟合结构的时间相关电影推荐方法的有效性。测试的硬件环境为戴尔R730服务器,其主要配置为:CPUE5-2620v4*2,内存16GB DDR4*2,存储512G SSD和4T SATA,GPU GTX1080 TI*2。相关程序使用Python语言编写,使用TensorFlow深度学习开源框架,在Ubuntu 16.04 LTS系统下运行。
本实施例还从以下两个方面对本发明方法的性能进行了测试。
(1)提取电影海报特征的有效性
测试中,对电影特征中加入电影海报特征与未加入海报特征的预测评分误差(包括MAE和MSE指标)进行了对比,如图4所示。测试结果表明,提取电影的海报特征可以提高电影推荐系统对用户评分的预测能力,说明了在电影特征中加入电影海报信息的有效性和合理性。
(2)时间相关的电影推荐方法的有效性
本发明的时间相关的电影推荐方法相比于通常的协同过滤推荐方法,考虑了时间对用户兴趣偏好的影响,对用户的历史评分设置了时间权重函数。测试中对比了时间相关的推荐方法(时间相关)与通常的协同过滤推荐方法(非时间相关)的预测评分误差,如图5所示。测试结果表明,在电影推荐中考虑时间因素可以明显降低预测评分的误差,表明了本发明方法提供的时间相关的电影推荐方法的有效性。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。

Claims (3)

1.一种基于评分预测函数拟合结构的时间相关电影推荐方法,其特征在于:包括离线建立推荐模型和基于建立的推荐模型生成的数据文件进行在线推荐两部分;
所述离线建立推荐模型包括以下步骤:
步骤1、对用于电影推荐的数据集中的数据进行预处理,具体方法为:
步骤1.1、将用于电影推荐的数据文件从磁盘读入内存,从中读取与用户评分相关的数据信息;
所述与用户评分相关的数据信息包括用户ID(userID)、电影ID(movieID)、用户对已观看电影的历史评分(rating)、评分时间戳(timestamp);
步骤1.2、对读取的数据进行预计算,得到用户对已观看电影的评分值的对数值ln(rating)及建立推荐模型的当前时间与评分时间戳之间的时间间隔interval;
步骤1.3、将与用户评分相关的数据信息和预计算得到的信息以文件形式保存到磁盘上,得到评分数据文件;
步骤2、将步骤1.3建立的评分数据文件从磁盘读入内存,建立用户-电影评分矩阵;
所述用户-电影评分矩阵是一个r×c的矩阵,其中r表示用户的数量,c表示电影的数量,矩阵的第u行代表用户u对所有电影的评分,1≤u≤r,矩阵的第m列代表电影m收到的所有评分,1≤m≤c;
步骤3、提取电影特征;所述电影特征包括电影的评分特征和电影的海报特征;
步骤4、采用余弦相似度方法基于电影特征计算用于电影推荐的电影间的相似度,得到电影间的相似度矩阵S,并保存在电影相似度磁盘文件中;
步骤5、构建时间相关的电影评分预测函数;
基于电影间的相似度,用户对已观看电影的历史评分,用户对已观看电影的评分时间戳距当前时间的时间间隔及用户相关的时间权重因子,构建时间相关的电影评分预测函数,如公式(1)所示:
Figure FDA0003228839240000011
其中,predictionu,m′为用户u对待预测电影m′的预测评分,Hu为用户u的历史观影集,即用户u观看过并给出评分的电影组成的集合,ratingu,i为用户u对已观看电影i的历史评分,1≤i≤|Hu|,Si,m′为用户u已观看电影i与待预测电影m′之间的相似度,intervalu,i为评分ratingu,i的时间戳距当前时间的时间间隔,
Figure FDA0003228839240000012
为评分ratingu,i的时间权重函数,qu为与用户u相关的时间权重因子;
步骤6、构建评分预测函数拟合结构来拟合步骤5构建的评分预测函数;
所述评分预测函数拟合结构是根据评分预测函数构建的一个特殊的神经网络结构,每个用户u对应一个评分预测函数拟合结构Nu,用来求解与用户u相关的时间权重因子qu;评分预测函数拟合结构Nu包括|Hu|个基础细胞结构和1个聚合细胞结构,每个已观看电影i∈Hu对应一个基础细胞结构,聚合细胞结构对Hu中所有已观看电影所对应的基础细胞结构的输出进行聚合,产生预测评分;
步骤7、通过训练评分预测函数拟合结构,求解用户相关的时间权重因子,并将求解的时间权重因子按用户ID升序排列后存储到一个时间权重因子磁盘文件中;
所述基于建立的推荐模型生成的数据文件进行在线推荐包括以下步骤:
步骤S1、为待推荐用户u计算预测评分并产生推荐结果集;
步骤S1.1、从步骤1.3生成的评分数据文件中抽取用户u的历史观影集Hu及其未观看的电影集Cu,并读出相应的时间间隔数据intervalu,i和评分数据ratingu,i,其中,1≤i≤|Hu|;
步骤S1.2、将步骤4生成的电影相似度文件中的内容从磁盘读入内存的矩阵S中;
步骤S1.3、将步骤7生成的时间权重因子磁盘文件的内容从磁盘读入内存,并将用户u所对应的时间权重因子赋值给变量qu
步骤S1.4、对于每个电影m′∈Cu,基于步骤S1.1-S1.3得到的intervalu,i、ratingu,i、矩阵S以及变量qu的值,按照评分预测函数公式(1)计算用户u对电影m′的预测评分predictionu,m′,并按降序排列,将前top-k个预测评分所对应的电影形成推荐结果集Ru
步骤S2、将推荐结果集Ru输出并推荐给用户u;
步骤6所述基础细胞结构只包括一个神经元,且用来拟合评分预测函数中的基础值,即
Figure FDA0003228839240000021
对于用户u,其已观看电影i∈Hu所对应的基础细胞结构输入分别为intervalu,i、ln(ratingu,i)和ln(Si,m′),三个输入与神经元之间连接的权值分别为-qu、1和1,偏置设置为0;神经元的激活函数设置为f(x)=ex,其中,x为神经元的输入;因此,由基础细胞结构产生的输出为
Figure FDA0003228839240000022
所述聚合细胞结构用来拟合评分预测函数中对所有已观看电影的基础值求平均的过程,其只包括一个神经元;聚合细胞结构的输入共有|Hu|个,分别为每个已观看电影i∈Hu所对应的基础细胞结构的输出;每个输入与神经元之间连接的权值均为1,偏置设置为0,神经元的激活函数设置为f′(x′)=x′/|Hu|,其中,x′为神经元的输入;则聚合细胞结构的输出为:
Figure FDA0003228839240000031
即步骤5所构建的评分预测函数。
2.根据权利要求1所述的基于评分预测函数拟合结构的时间相关电影推荐方法,其特征在于:所述步骤3的具体方法为:
步骤3.1、基于步骤2建立的用户-电影评分矩阵提取电影的评分特征;
步骤3.1.1、将用户-电影评分矩阵中的每一列m提取出来,形成具有r个元素的向量
Figure FDA0003228839240000032
每一个元素
Figure FDA0003228839240000033
代表用户u对电影m的评分,整个向量表示电影m收到的所有用户的评分;
步骤3.1.2、对于步骤3.1.1得到的每一个向量
Figure FDA0003228839240000034
计算其所有元素的平均值am,如公式(2)所示:
Figure FDA0003228839240000035
并将am拼接到向量
Figure FDA0003228839240000036
的末尾作为第(r+1)个元素,形成具有(r+1)个元素的电影评分特征
Figure FDA0003228839240000037
步骤3.2、提取电影的海报特征
对于每个电影m,将其所对应的海报图片从磁盘读入内存,形成代表该海报图片所有像素值的张量Mm;调用在Imagenet数据集上训练好的VGG16网络,并将Mm输入到VGG16网络中,得到由VGG16网络输出的电影海报特征
Figure FDA0003228839240000038
步骤3.3、对于每个电影m,将步骤3.1得到的电影评分特征
Figure FDA0003228839240000039
和步骤3.2得到的电影海报特征
Figure FDA00032288392400000310
进行拼接,得到最终的电影特征vm
3.根据权利要求2所述的基于评分预测函数拟合结构的时间相关电影推荐方法,其特征在于:所述步骤7的具体方法为:
步骤7.1、将变量u初始化为1;
步骤7.2、对于评分预测函数拟合结构Nu,随机初始化时间权重因子qu并初始化变量iter_num为1;
步骤7.3、从步骤1.3生成的评分数据文件中抽取用户u的历史观影集Hu,将Hu平均分成
Figure FDA00032288392400000311
Figure FDA00032288392400000312
两部分,即
Figure FDA00032288392400000313
步骤7.4、从评分数据文件中提取
Figure FDA0003228839240000047
所对应各记录的interval和ln(rating)字段,形成intervalu,j和ln(ratingu,j),其中,
Figure FDA0003228839240000041
步骤7.5、从评分数据文件中提取
Figure FDA0003228839240000042
所对应各记录的rating字段,形成ratingu,j′,其中,
Figure FDA0003228839240000043
步骤7.6、计算电影j和j′的相似度Sj,j′的对数值ln(Sj,j′);
步骤7.7、将变量j′初始化为1;
步骤7.8、将intervalu,j、ln(ratingu,j)和ln(Sj,j′)分别作为评分预测函数拟合结构Nu中第j个基础细胞结构的输入,经过基础细胞结构和聚合细胞结构的正向传播过程,得到评分预测函数拟合结构输出的用户u对电影j′的预测评分yu,j′,对照用户u对电影j′的真实评分ratingu,j′,按照如下损失函数公式(4)计算损失Lu
Lu=(ratingu,j′-yu,j′)2 (4)
步骤7.9、计算梯度
Figure FDA0003228839240000044
步骤7.10、更新时间权重因子
Figure FDA0003228839240000045
其中,η为给定的学习率;
步骤7.11、令j′=j′+1,若
Figure FDA0003228839240000046
则重新执行步骤7.8;否则,执行步骤7.12;
步骤7.12、令iter_num=iter_num+1;
步骤7.13、若iter_num≤num,则重新执行步骤7.7;否则,执行步骤7.14,其中,num为给定的迭代次数;
步骤7.14、令u=u+1;
步骤7.15、若u≤r,r为评分数据文件中用户的数量,则转入步骤7.2;否则执行步骤7.16;
步骤7.16、将最终计算出的所有用户的时间权重因子按照用户ID大小升序排列,存储到一个时间权重因子磁盘文件中。
CN201911301847.2A 2019-12-17 2019-12-17 基于评分预测函数拟合结构的时间相关电影推荐方法 Active CN111125428B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911301847.2A CN111125428B (zh) 2019-12-17 2019-12-17 基于评分预测函数拟合结构的时间相关电影推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911301847.2A CN111125428B (zh) 2019-12-17 2019-12-17 基于评分预测函数拟合结构的时间相关电影推荐方法

Publications (2)

Publication Number Publication Date
CN111125428A CN111125428A (zh) 2020-05-08
CN111125428B true CN111125428B (zh) 2021-11-05

Family

ID=70499419

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911301847.2A Active CN111125428B (zh) 2019-12-17 2019-12-17 基于评分预测函数拟合结构的时间相关电影推荐方法

Country Status (1)

Country Link
CN (1) CN111125428B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112631560B (zh) * 2020-12-29 2023-07-07 上海海事大学 一种推荐模型的目标函数的构建方法及终端
CN112948625B (zh) * 2021-02-01 2022-08-05 重庆邮电大学 一种基于属性异质信息网络嵌入的电影推荐方法
CN114996490A (zh) * 2022-08-02 2022-09-02 江西中业智能科技有限公司 电影推荐方法、系统、存储介质及设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8001132B2 (en) * 2007-09-26 2011-08-16 At&T Intellectual Property I, L.P. Methods and apparatus for improved neighborhood based analysis in ratings estimation
CN106649714B (zh) * 2016-12-21 2020-08-04 重庆邮电大学 针对数据不均匀及数据稀疏的topN推荐系统及方法
CN109558514B (zh) * 2019-01-08 2023-04-11 青岛聚看云科技有限公司 视频推荐方法、其装置、信息处理设备及存储介质

Also Published As

Publication number Publication date
CN111125428A (zh) 2020-05-08

Similar Documents

Publication Publication Date Title
TWI702844B (zh) 用戶特徵的生成方法、裝置、設備及儲存介質
CN111797321B (zh) 一种面向不同场景的个性化知识推荐方法及系统
CN111125428B (zh) 基于评分预测函数拟合结构的时间相关电影推荐方法
Chang et al. Using groups of items for preference elicitation in recommender systems
US10878029B2 (en) Incorporating social-network connections information into estimated user-ratings of videos for video recommendations
Guo et al. Cold start recommendation based on attribute-fused singular value decomposition
CN104063481A (zh) 一种基于用户实时兴趣向量的电影个性化推荐方法
CN108470052B (zh) 一种基于矩阵补全的抗托攻击推荐算法
Zhang et al. A dynamic trust based two-layer neighbor selection scheme towards online recommender systems
Borges et al. On measuring popularity bias in collaborative filtering data
CN113569129A (zh) 点击率预测模型处理方法、内容推荐方法、装置及设备
Hasan et al. A comprehensive approach towards user-based collaborative filtering recommender system
Chaturvedi et al. Recommender system for news articles using supervised learning
Alluhaidan Recommender System Using Collaborative Filtering Algorithm
Lai et al. Estimating the ideology of political youtube videos
CN116010696A (zh) 融合知识图谱和用户长短期兴趣的新闻推荐方法、系统及介质
Sharaff et al. Personalized recommendation system with user interaction based on LMF and popularity model
Murugan et al. Movie Recommender System Based on K-Means Dynamic Collaborative Filtering
Clement et al. Impact of recommendation engine on video-sharing platform-YouTube
CN114780867B (zh) 推荐方法、介质、装置和计算设备
Deng et al. ContentCTR: Frame-level Live Streaming Click-Through Rate Prediction with Multimodal Transformer
CN117435752B (zh) 一种基于大数据的信息收集分析方法和系统
Yang et al. Recommendation algorithm based on attributed multiplex heterogeneous network
Bharathipriya et al. PRODUCT RECOMMENDATION FRAMEWORK BASED ON CUSTOMER REVIEW USING COLLABORATIVE FILTERING TECHNIQUESL
Song et al. Implicit feedback mining for recommendation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant