CN113468413B - 一种面向多用户共享的多媒体网络视频推荐方法 - Google Patents
一种面向多用户共享的多媒体网络视频推荐方法 Download PDFInfo
- Publication number
- CN113468413B CN113468413B CN202110630879.8A CN202110630879A CN113468413B CN 113468413 B CN113468413 B CN 113468413B CN 202110630879 A CN202110630879 A CN 202110630879A CN 113468413 B CN113468413 B CN 113468413B
- Authority
- CN
- China
- Prior art keywords
- user
- program
- time
- target user
- label
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 230000006399 behavior Effects 0.000 claims abstract description 105
- 238000005065 mining Methods 0.000 claims abstract description 30
- 238000000926 separation method Methods 0.000 claims abstract description 8
- 239000013598 vector Substances 0.000 claims description 64
- 239000011159 matrix material Substances 0.000 claims description 35
- 230000001186 cumulative effect Effects 0.000 claims description 22
- 238000012952 Resampling Methods 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 21
- 230000007246 mechanism Effects 0.000 claims description 13
- 230000010354 integration Effects 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 10
- 230000008859 change Effects 0.000 claims description 9
- 238000004140 cleaning Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 6
- 230000010365 information processing Effects 0.000 claims description 6
- 230000009193 crawling Effects 0.000 claims description 5
- 238000005070 sampling Methods 0.000 claims description 5
- 238000012549 training Methods 0.000 claims description 5
- 230000011218 segmentation Effects 0.000 claims description 4
- 230000000737 periodic effect Effects 0.000 claims description 3
- 230000001502 supplementing effect Effects 0.000 claims description 3
- 230000017105 transposition Effects 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 abstract description 3
- 230000002708 enhancing effect Effects 0.000 abstract 1
- 238000005457 optimization Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000001914 filtration Methods 0.000 description 6
- 238000002474 experimental method Methods 0.000 description 5
- 238000000605 extraction Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 239000002355 dual-layer Substances 0.000 description 2
- 239000010410 layer Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000010835 comparative analysis Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- ZZUFCTLCJUWOSV-UHFFFAOYSA-N furosemide Chemical compound C1=C(Cl)C(S(=O)(=O)N)=CC(C(O)=O)=C1NCC1=CC=CO1 ZZUFCTLCJUWOSV-UHFFFAOYSA-N 0.000 description 1
- 229960003883 furosemide Drugs 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000037452 priming Effects 0.000 description 1
- 238000000275 quality assurance Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/73—Querying
- G06F16/735—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/78—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/783—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Library & Information Science (AREA)
- Computational Linguistics (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种面向多用户共享的多媒体网络视频推荐方法,首先,在多用户共享的环境下,利用收集的节目信息构建多用户特征,根据节目特征的相似性、用户观看行为的连续性,构建主导用户标签,实现多用户混合日志的分离,并进行未来会话的周期性多用户识别预测;其次,基于时变LinUCB算法建立用户兴趣挖掘模型来学习用户对每个节目主题的兴趣变化,从并行式计算、自适应控制探索系数、基于LSTM的增量更新三个角度,来增强推荐系统的个性化能力与效率;最后,基于非时变LinUCB算法建立物品质量模型以进一步确保节目质量,并采用交叉加权策略将上述的两个算法集成为最终的推荐系统模型,形成最终的节目推荐列表。本发明保证推荐结果的新颖性与准确性。
Description
技术领域
本发明涉及大数据多媒体网络视频应用技术领域,特别是一种面向多用户共享的多媒体网络视频推荐方法。
背景技术
随着数字时代的到来,智能手机、平板电脑等智能设备以及互联网多媒体视频技术的蓬勃发展,网络视频的数量实现了爆炸式增长。从传统的有线电视,到交互式网络电视(Internet Protocol Television,IPTV)的跨越式发展,网络电视产业迎来了巨大的发展和变化。一方面,IPTV用户规模实现了快速增长。在2014年用户总数仅有三千万左右,2017年超1.21亿,2018年高达1.51亿。另一方面,网络视频的数量激增,内容百花齐放。据国家新闻出版广电总局网络节目备案库的数据统计,2017年新出网络剧555部,共6921集;电影5620部;动画片659部;专业类节目2725档。网络视频平台从以往以单一的网络大电影为主,到自制剧、自制综艺、纪录片等齐头并进,丰富的自制内容满足不同用户群体的消费需求。
从用户角度而言,丰富的视频内容可以给用户更多的资源和选择。但是,过多的资源选择也导致用户面临着信息超载的问题,用户无法准确的从海量的资源中寻找到自己需要的资源,从而导致用户体验质量下降。从运营商/内容提供商角度而言,他们都希望通过提供极具个性化且优质的内容来提高服务质量,精准地定位用户需求,迎合用户喜好,其迫切需要寻找一种更加高质量的个性化推荐系统。
通常来说,推荐系统是一种可以实现主动地从海量信息资源中为用户寻找到其可能感兴趣的内容的工具。本质上,推荐系统就是利用用户的历史行为记录,并结合用户和资源自身的特征,来构建相关的推荐系统模型,最终为用户提供个性化的推荐结果。因此,个性化推荐系统的首要需求就是能够提取出目标用户的日志记录。然而,目前越来越多的账户或设备被多个用户共享。一方面,为了节省成本,朋友之间会共同购买一个视频APP的VIP账号。另一方面,在IPTV应用中,电视设备通常是由家庭用户共享的。这些都可能导致多用户日志记录混在一起,难以分离。遗憾的是,现有的方法往往默认一个用户ID只包含一个单用户,直接将混合的日志记录作为用户的个人信息,也忽略了多个单用户之间的社交信息。
与此同时,针对个性化推荐的问题,已经提出了各种推荐系统,如协同过滤、基于内容的推荐和混合推荐方法等。然而,传统的推荐系统总是为用户推荐很多非常类似于其过去喜好的物品,长此以往,会导致用户只能局限在该类的物品范围中,陷入“信息茧房”。因此需要探索用户可能感兴趣的新主题。即需要一边利用用户的已知兴趣,一边也要能够学习用户兴趣变化来探索用户新的兴趣。在线学习可以解决冷启动问题,积极探索用户的未知兴趣,给用户推荐更多的新物品,故而目前很多的工作都是借鉴多臂老虎机(Multi-Bandit)算法来实现推荐系统。然而,随机或过量的探索又有可能导致推荐系统的准确率降低,同时随机推荐的内容也可能会引起用户的反感。因此,需要获得探索与利用的平衡,并保障推荐物品的质量,在保障推荐系统准确性的同时,不断探索与细化用户兴趣,防止用户在获得新颖物品时反而体验感变差。
高效精准的推荐系统能够帮助运营商和内容提供商给用户提供更好的服务和更好的体验质量。因此,推荐系统的发展一直备受关注。一方面,需要研究如何从当前的多用户共享环境中提取到用户信息。另一方面,为了解决“信息茧房”的问题,需要有效的探索策略来挖掘用户的隐藏兴趣,同时为了保证用户的体验质量,需要确保高质量和高准确率的推荐结果。
发明内容
本发明所要解决的技术问题是克服现有技术的不足而提供一种面向多用户共享的多媒体网络视频推荐方法,本发明面向多用户共享的,能够挖掘用户兴趣、保障节目质量。
本发明为解决上述技术问题采用以下技术方案:
根据本发明提出的一种面向多用户共享的多媒体网络视频推荐方法,包括以下步骤:
步骤1、采集多用户观看网络视频的多用户混合行为日志记录数据,并对多用户混合行为日志记录数据做处理,处理包括数据清洗、数据整合与数据重采样;
步骤2、爬取多用户混合行为日志记录数据中所有节目的文本描述信息,对爬取的所有节目的文本描述信息做文本信息处理,从而构建节目主题标签,再利用节目主题标签对经过处理的多用户混合行为日志记录进行多用户特征标签的构建;
步骤3、执行离线周期性多用户识别预测方法,该方法用于预测未来向推荐系统发出请求的目标用户,并根据该目标用户的多用户特征标签从经过处理的多用户混合行为日志记录数据中提取目标用户的行为日志记录,得到目标用户的用户行为日志记录集合,实现多用户混合行为日志记录的分离;
步骤4、基于时变LinUCB算法,根据步骤3提取出的目标用户的用户行为日志记录集合建立用户兴趣挖掘模型,用户兴趣挖掘模型用于探索用户的潜在兴趣;
步骤5、基于非时变LinUCB算法,根据分离的多用户混合行为日志记录建立基于分离的多用户关联信息的物品质量模型,物品质量模型用于保证节目质量;
步骤6、采用交叉加权的方式,融合用户兴趣挖掘模型与物品质量模型对每个节目的评分结果,得到加权评分,并根据加权评分形成推荐列表;
步骤7、实时更新用户兴趣挖掘模型与物品质量模型中的参数,供下一时间步的多媒体网络视频推荐系统使用。
作为本发明所述的一种面向多用户共享的多媒体网络视频推荐方法进一步优化方案,步骤1包括以下步骤:
步骤(1-1)、采用IPTV机顶盒采集多用户观看网络视频的多用户混合行为日志记录数据,采集的多用户混合行为日志记录数据包括以下数据字段:采集时间collect_time、用户ID user_id、节目名program_name、节目ID program_id、业务开始时间start_time和业务结束时间end_time;
步骤(1-2)、数据清洗:对于同一个用户ID的用户行为日志记录中两条及其以上完全重复的记录,仅保留第一条用户行为日志记录,删除该用户其余的用户行为日志记录;
步骤(1-3)、数据整合:将每个用户的连续的用户行为日志记录进行合并处理;
步骤(1-4)、数据重采样:对时间数据以小时为单位进行处理,对跨小时的用户行为日志记录进行分割处理,获取以下字段:重采样之后的开始时间resampled_start_time、重采样之后的结束时间resampled_end_time和观看时长watched_time,其中,观看时长为重采样之后的开始时间与重采样之后的结束时间之间的时间差。
作为本发明所述的一种面向多用户共享的多媒体网络视频推荐方法进一步优化方案,步骤2包括以下步骤:
步骤(2-1)、爬取多用户混合行为日志记录数据中所有节目的文本描述信息,文本描述信息具体包括以下字段:节目总时长program_full_time、节目简介program_description、节目导演program_director、节目所属国家program_country和节目类型progtam_type;
步骤(2-2)、将爬取的所有节目的文本描述信息整合为节目文档,并进行文本分词、去停用词的文本信息处理;
步骤(2-3)、利用隐含狄利克雷分布LDA模型的主题分类功能,以经过步骤(2-2)处理的节目的文本描述信息为LDA模型输入,根据其输出结果选择每个节目文档的主题分布中概率值最大的那个主题,将其作为该节目的节目主题标签,实现节目主题分类;
步骤(2-4)、从采集的多用户混合行为日志记录数据中识别出每条日志记录所使用的观看网络视频的设备的型号,提取出属于同一设备的日志记录,并为每条日志记录构建相应的多用户特征标签,多用户特征标签包括第一用户标签、第二用户标签、主导用户标签与兴趣跨越度标签;在多用户的环境中,将时间步设置为一个小时,一个时间步中的观看序列定义为一个会话,则用户切换单元为一个会话,该会话时长为一个小时;其中,为每条日志记录构建相应的多用户特征标签的具体步骤如下:
A、在初始阶段,将步骤(2-3)中的节目主题标签当作用户的初始标签,也就是初步的用户身份标签,即第一用户标签;
B、根据日志记录的连续性对用户身份标签进行重组,将带有连续日志记录的多个第一用户标签合并为一个第二用户标签;当两个日志记录的时间间隔小于所设定的阈值时间时,即为连续日志记录;在连续日志记录的时间段内,将拥有最多的日志记录数量或最长的观看时间的第一用户标签标记为该连续日志记录的时间段内的用户,该连续日志记录的时间段内的用户即为第二用户标签;
C、为每个会话设置一个主导用户标签:将一个会话中拥有最多的日志记录数量或最长的观看时间的第二用户标签标记为该会话的主导用户标签,该主导用户标签也就代表该会话的主导用户;在后续的建模过程中,该会话的主导用户就是多媒体网络视频推荐系统的目标用户;
D、根据单个会话的日志记录统计主导用户在该会话中所观看节目主题的类别数量,并将此节目主题的类别数量标记为用户的兴趣跨越度标签。
作为本发明所述的一种面向多用户共享的多媒体网络视频推荐方法进一步优化方案,步骤3包括以下步骤:
步骤(3-1)、收集一个用于观看网络视频的设备的最近M个会话的多用户混合行为日志记录数据,提取时间特征与滑动窗口特征;其中,时间特征包括小时、星期和是否为周末,滑动窗口特征即为滑动时间内的主导用户标签;
步骤(3-2)、将时间特征与滑动窗口特征作为时间序列分类预测模型的输入,M个会话的主导用户标签作为输出,训练时间序列分类预测模型;
步骤(3-3)、预测接下来N个小时中每个时间步的主导用户标签,判断未来N个会话中每个会话向推荐系统发出请求的目标用户u;
步骤(3-4)、当时间向前滑动N个小时之后,重复步骤(3-1)~(3-3),执行以N小时为周期的多用户预测方法,即每隔N个小时都利用最近M个会话的多用户混合行为日志记录预测一次接下来N个小时中每个时间步的主导用户标签;
步骤(3-5)、根据步骤(2-4)构建的多用户特征标签中的主导用户标签从多用户混合行为日志记录数据中抽离出目标用户u的用户行为日志记录,得到在时间步t,目标用户u所观看网络视频的用户行为日志记录集合Mu,t,实现多用户混合行为日志记录的分离,为推荐系统提供目标用户u的身份标签和日志记录。
作为本发明所述的一种面向多用户共享的多媒体网络视频推荐方法进一步优化方案,步骤4包括以下步骤:
步骤(4-1)、通过步骤1中数据重采样获取的字段及步骤2中所爬取的节目的描述信息中的字段、构建的节目主题标签和用户的兴趣跨越度标签,进一步生成用户兴趣挖掘模型中所需的参数;所需的参数包括节目主题的one-hot编码、每个节目所获得的奖励值与一个会话中用户观看序列的兴趣跨越度,生成参数的具体方法如下:
a.对节目主题标签进行特征编码得到节目主题的one-hot编码;
b.采用观看时长与节目总时长的比值来表示每个节目所获得的奖励值;
c.采用用户的兴趣跨越度标签表示一个会话中用户观看序列的兴趣跨越度;
其中,Du,t是指在时间步t,目标用户u所观看的网络视频的用户行为日志记录集合Mu,t中所对应的节目主题的one-hot编码矩阵,上标T表示转置,cu,t是集合Mu,t中每个节目所获得的奖励值向量,Au,t是一个对角矩阵,它的每个对角元素表示在时间步t前,目标用户u观看Mu,t中每类主题节目的累计次数;bu,t是每类节目主题获得的累计奖励向量;Id为d维的单位矩阵;
步骤(4-3)、用并行矩阵计算目标用户u在时间步t内的反馈收益期望值E[ru,t|Xt]:
其中,ru,t是目标用户u对时间步t所有节目构成的候选集合Ct中节目的反馈收益向量,Xt是集合Ct中所对应的节目主题的one-hot编码矩阵;
步骤(4-4)、利用注意力机制计算LinUCB算法中控制探索比例的参数αu,t:
其中,δu,t表示在时间步t,目标用户u观看序列的兴趣跨越度,mu,t表示集合Mu,t中用户行为日志记录的数量,su,t是目标用户u对每个节目的注意力分数向量;
步骤(4-5)、根据UCB准则,计算在时间步t,对于目标用户u而言,候选集中所有节目因其主题类别带来的预估收益pv u,t:
作为本发明所述的一种面向多用户共享的多媒体网络视频推荐方法进一步优化方案,步骤5包括以下步骤:
步骤(5-1)、补充物品质量模型中所需的参数:对节目ID进行特征编码,得到节目本身的one-hot编码;
步骤(5-2)、利用非时变的LinUCB算法来学习目标用户u已观看节目的质量,计算目标用户u在时间步t对每个已观看节目的评分piv u,t:
piv u,t=wu,t⊙p′u,t
其中,p′u,t是根据目标用户u在时间步t前已产生的用户行为日志获得的所有节目质量表示,X′t是节目集合Ct中节目本身的one-hot编码矩阵,是目标用户u已观看节目的奖励权重向量,A′u,t是一个对角矩阵,用来记录目标用户u在时间步t观看每个节目的累计次数;wu,t是由加权因子wu,t,a组成的加权向量,wu,t,a为1表示目标用户u已观看节目a,wu,t,a为0表示目标用户u未观看节目a;
步骤(5-3)、利用非时变的LinUCB算法来学习目标用户u未观看节目的质量,即除目标用户u外的其他多用户集合U的已观看节目的质量,计算目标用户u在时间步t对每个未观看节目的评分piv U,t:
piv U,t=(1-wu,t)⊙p′U,t,
其中,p′U,t是多用户集合U在时间步t前已观看的所有节目质量的平均得分,是多用户集合U已观看节目的平均奖励权重向量,A′U,t是一个对角矩阵,用来记录多用户集合U在时间步t观看每个节目的平均总次数;加权向量1-wu,t将piv U,t中目标用户u已观看节目的评分置为0。
作为本发明所述的一种面向多用户共享的多媒体网络视频推荐方法进一步优化方案,步骤6包括:
步骤(6-1)、将目标用户u已观看节目与未观看节目两类节目质量的评分与用户的兴趣变化交叉加权,得到目标用户u在时间步t对每个节目的预估收益值向量pu,t,pu,t评分指的是加权评分:
步骤(6-2)、根据pu,t评分,选择预估收益最高的前L个节目形成最终的推荐列表,即
其中,list[at]是最终的推荐列表;表示在所有节目构成的节目集合At中选出pu,t,a值最大的L个节目作为向目标用户u推荐的L个节目;pu,t,a是目标用户u在时间步t对节目a的预估收益值,组成了pu,t中的行元素。
作为本发明所述的一种面向多用户共享的多媒体网络视频推荐方法进一步优化方案,步骤7包括:
步骤(7-1)、将LSTM中的长短时记忆与LinUCB增量更新相结合,更新用户兴趣挖掘模型中的参数,这些参数包括对角元素为目标用户u观看Mu,t中每类主题节目的累计次数的矩阵Au,t与每类节目主题获得的累计奖励向量bu,t;
步骤(7-2)、采用采样平均原则,更新物品质量模型中的参数,这些参数包括对角元素为目标用户u观看Ct中每个节目的累计次数的矩阵A′u,t及每个节目获得的累计奖励向量b′u,t,对角线元素为多用户集合U观看Ct中每个节目的平均累计次数的矩阵A′U,t及每个节目获得的平均累计奖励向量b′U,t;
步骤(7-3)、使用更新后的参数学习用户兴趣挖掘模型与物品质量模型,进行下一个时间步的在线推荐。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
(1)本发明提供了面向多用户混合行为日志记录数据的特征提取方法,该方法针对多用户环境进行多用户特征标签构建,一方面对采集到的关于节目的文本信息进行了文本信息处理来获得节目主题标签以及该节目的特征描述;另一方面,根据观看行为的连续性,与用户-时间的主导特性,构建多用户特征标签,从而分离多用户产生的混合行为日志记录,精确识别目标用户;
(2)本发明提出了基于时变LinUCB的用户兴趣挖掘算法,LinUCB算法能够实现在线学习,并解决推荐系统中的冷启动问题;本发明提供的优化LinUCB算法实现了三种功能:一是将LinUCB算法推导至矩阵式的并行式计算,提高了计算速度和计算资源的利用率;二是根据用户行为特征,并结合注意力机制来自适应的控制探索系数,提高了推荐系统对用户已知兴趣的利用程度;三是利用LSTM神经网络中的记忆模块,来实现增量更新,加快了算法的学习和收敛速度;最终实现个性化的探索机制,以及探索和利用的平衡;
(3)本发明提供了一种面向多用户的推荐系统集成模型,首先根据多用户特征标签构建了多用户识别预测模块,来实现多用户混合行为日志记录的分离,并为推荐系统提供目标用户的用户行为日志记录。其次,本发明设计了基于双层LinUCB的推荐系统模块。基于时变LinUCB算法的用户兴趣挖掘模型可以利用与挖掘用户兴趣,基于非时变LinUCB算法的物品质量模型可以确保节目的质量;最后利用交叉加权策略将上述两个模块集成形成最终的推荐系统模型,降低了探索过程所带来的风险,从而提高了推荐结果的性能。
附图说明
图1为本发明的方法流程图。
图2为多用户特征构建过程示意图。
图3为基于双层LinUCB的推荐系统模块结构示意图。
图4为个性化参数计算过程示意图。
图5为双层LinUCB交叉加权结构示意图。
图6为基于LSTM记忆模块的增量更新过程结构示意图。
图7为面向多用户的推荐系统集成模型结构示意图。
图8a为本发明的推荐系统在准确率的性能表现,图8b为本发明的推荐系统在召回率的性能表现,图8c为本发明的推荐系统在MAP的性能表现,图8c为本发明的推荐系统在新颖度方面的性能表现,图8d描述了本发明推荐结果的新颖度。
具体实施方式
下面结合说明书附图对本发明的具体实施方式做进一步的详细说明。
本实施例中,数据集来源于某运营商IPTV机顶盒数据。其中,从IPTV视频系统中选取1100位用户数据为期三个月的观看记录,其中共涉及498,309条日志记录,2830个节目。
如图1所示,本发明提供了一种面向多用户共享的多媒体网络视频推荐方法,该方法包括以下步骤:
步骤1:采集多用户观看网络视频的多用户混合行为日志记录数据,并对多用户混合行为日志记录数据做处理,处理包括数据清洗、数据整合与数据重采样。
(1-1)采用IPTV机顶盒,以每5分钟的间隔采集多用户观看网络视频的多用户混合行为日志记录数据,采集的多用户混合行为日志记录数据包括以下数据字段:采集时间collect_time、用户ID user_id、节目名program_name、节目ID program_id、业务开始时间start_time和业务结束时间end_time。
(1-2)数据清洗:对于同一个用户ID的用户行为日志记录中两条及其以上完全重复的记录,仅保留第一条用户行为日志记录,删除该用户其余的用户行为日志记录;
(1-3)数据整合:将每个用户的连续的用户行为日志记录进行合并处理;
(1-4)数据重采样:对时间数据以小时为单位进行处理,对跨小时的用户行为日志记录进行分割处理,获取以下字段:重采样之后的开始时间resampled_start_time、重采样之后的结束时间resampled_end_time和观看时长watched_time,其中,观看时长为重采样之后的开始时间与重采样之后的结束时间之间的时间差。
步骤2:爬取多用户混合行为日志记录数据中所有节目的文本描述信息,对爬取的所有节目的文本描述信息做文本信息处理,从而构建节目主题标签,再利用节目主题标签对经过处理的多用户混合行为日志记录进行多用户特征标签的构建。
(2-1)爬取多用户混合行为日志记录数据中所有节目的文本描述信息,文本描述信息具体包括以下字段:节目总时长program_full_time、节目简介program_description、节目导演program_director、节目所属国家program_country和节目类型progtam_type。
(2-2)将爬取的所有节目的文本描述信息整合为节目文档,并进行文本分词、去停用词的文本信息处理;
(2-3)利用隐含狄利克雷分布LDA模型的主题分类功能,采用Gibbs采样算法学习LDA模型,以经过步骤(2-2)处理的节目的文本描述信息为LDA模型输入,根据其输出结果选择每个节目文档的主题分布中概率值最大的那个主题,将其作为该节目的节目主题标签,实现节目主题分类。利用LDA模型得到每个节目的节目主题标签的具体方法如下:
A.在初始阶段,随机给节目文档中的每个单词分配主题。统计每个主题z下出现分词的数量与每个文档m下出现主题z中的词的数量。
B.排除当前词的主题分配,根据其他所有词的主题分配来估计当前词属于各个主题z的概率分布,再根据这个概率分布为该词采样一个新的主题。
C.用同样的方法不断更新下一个词的主题,直到发现每个节目文档的主题分布和每个主题下的词分布收敛,算法停止,输出待估计的参数和在模型训练过程中,将LDA模型中的主题数量设置为K=45,最终每篇节目文档的主题分布为一个1×45维的LDA向量,每个维度的参数表明了属于每个主题的概率。
D.选择每个节目文档的主题分布中概率值最大的那个主题,将其作为该节目的节目主题标签,实现节目主题分类。
(2-4)从采集的多用户混合行为日志记录数据中识别出每条日志记录所使用的观看网络视频设备的型号,提取出属于同一设备的日志记录,并为每条日志记录构建相应的多用户特征标签,多用户特征标签包括第一用户标签、第二用户标签、主导用户标签与兴趣跨越度标签,如图2所示。在此步骤中,为了简化多用户环境的复杂性,在多用户的环境中,将时间步设置为一个小时,一个时间步中的观看序列定义为一个会话,则用户切换单元为一个会话,该会话时长为一个小时;其中,为每条日志记录构建相应的多用户特征标签的具体步骤如下:
a、在初始阶段,将步骤(2-3)中的节目主题标签当作用户的初始标签,也就是初步的用户身份标签,即用户标签1;
b、根据日志记录的连续性对用户身份标签进行重组,将带有连续日志记录的多个第一用户标签合并为一个第二用户标签。当两个日志记录的时间间隔小于2分钟时,即为连续日志记录;在连续日志记录的时间段内,将拥有最多的日志记录数量或最长的观看时间的第一用户标签标记为该连续日志记录的时间段内的用户,该连续日志记录的时间段内的用户即为第二用户标签;
c、考虑到一个用户可能有多个离散的连续日志记录,因此为每个会话设置一个主导用户标签。将一个会话中拥有最多的日志记录数量或最长的观看时间的第二用户标签标记为该会话的主导用户标签,该主导用户标签也就代表该会话的主导用户;在后续的建模过程中,该会话的主导用户就是多媒体网络视频推荐系统的目标用户;
d、根据单个会话的日志记录统计主导用户在该会话中所观看节目主题的类别数量,并将此节目主题的类别数量标记为用户的兴趣跨越度标签。
步骤3:执行离线周期性多用户识别预测方法,该方法用于预测未来向推荐系统发出请求的目标用户,并根据该目标用户的多用户特征标签从经过处理的多用户混合行为日志记录数据中提取目标用户的行为日志记录,得到目标用户的用户行为日志记录集合,实现多用户混合行为日志记录的分离。
(3-1)收集一个用于观看网络视频的设备的最近M个会话的多用户混合行为日志记录数据,提取时间特征与滑动窗口特征;其中,时间特征包括小时、星期和是否为周末,滑动窗口特征即为滑动时间内的主导用户标签。
进一步地,对时间特征与滑动窗口特征作具体说明。在时间特征中,在具体日期的特征中增加了小时、星期、是否为周末这三个时间信息。在滑动窗口特征中,通过滑动窗口法能够有效的体现出时间序列的中长期的变化趋势。由于本发明在实验中,将时间步设置为1小时,因此,滑动窗口主要选定了1小时和2小时。随后,为了进一步扩大信息感知范围,记忆主导用户的长期变化,滑动窗口还选定了1天前的主导用户信息,即24小时和25小时。
(3-2)将时间特征与滑动窗口特征作为时间序列分类预测模型的输入,M个会话的主导用户标签作为输出,用XGBoost算法训练时间序列分类预测模型,设置M=3×7×24。
(3-3)利用训练后的时间序列分类预测模型,预测接下来N个小时中每个时间步的主导用户标签。为了获得足够的训练信息以保证预测结果的准确性,令N<<M,设置N=7×24。
(3-4)当时间向前滑动N个小时之后,重复上述步骤(3-1)~(3-3),执行以N小时为周期的多用户预测方法,即每隔N个小时都利用最近M个会话的多用户混合行为日志记录预测一次接下来N个小时中每个时间步的主导用户标签,判断未来是谁将向推荐系统发出请求,同时适应多用户组成的变化。
(3-5)根据步骤(2-4)构建的多用户特征标签中的主导用户标签从多用户混合行为日志记录数据中抽离出目标用户u的用户行为日志记录,得到在时间步t,目标用户u所观看网络视频的用户行为日志记录集合Mu,t,实现多用户混合行为日志记录的分离,为推荐系统提供目标用户u的身份标签和日志记录。
本实施例中,如图3所示,本发明提出的在线推荐模块由四部分组成:特征提取、用户兴趣挖掘模型、物品质量模型,以及最终的交叉加权集成策略。具体过程如下:特征提取过程主要涉及两个重要的特征,即节目主题的one-hot编码和节目本身的one-hot编码,分别是用户兴趣挖掘模型和物品质量模型的输入特征。然后,根据目标用户的个人信息,采用时变LinUCB算法,构建了用户兴趣挖掘模型(见如下步骤4)。采用非时变LinUCB算法,建立了基于分离的多用户关联信息的物品质量模型(见如下步骤5)。最后,本发明采用交叉加权的方式将物品质量模型集成到用户兴趣模型中(见如下步骤6),帮助在线推荐模块降低探索过程中带来的风险。
步骤4:基于时变LinUCB算法,根据步骤3提取出的目标用户的用户行为日志记录集合建立用户兴趣挖掘模型,用户兴趣挖掘模型用于探索用户的潜在兴趣;
(4-1)通过步骤1中数据重采样获取的字段及步骤2中所爬取的节目的描述信息中的字段、构建的节目主题标签和用户的兴趣跨越度标签,进一步生成用户兴趣挖掘模型中所需的参数。所需的参数包括节目主题的one-hot编码、每个节目所获得的奖励值与一个会话中用户观看序列的兴趣跨越度,生成参数的具体方法如下:
(1)、对节目主题标签进行特征编码得到节目主题的one-hot编码;
(2)、用观看时长与节目总时长的比值来表示每个节目所获得的奖励值;
(3)、采用用户的兴趣跨越度标签表示一个会话中用户观看序列的兴趣跨越度。
其中,是由mu,t个元素组成的矩阵,其维度为mu,t×d,是Du,t的转置。在时间步t,目标用户u所观看的网络视频的用户行为日志记录构成集合Mu,t。mu,t表示集合Mu,t中用户行为日志记录的数量。表示集合Mu,t中的第j条用户行为日志记录所对应节目的主题的one-hot编码。是由mu,t个rt,a组成的奖励值向量,维度为表示集合Mu,t中的第j个节目所获得奖励值。Au,t是维度为d×d的对角矩阵,它的每个对角元素表示,在时间步t前,目标用户u观看Mu,t中每类主题节目的累计次数。bu,t是维度为d×1的向量,其元素表示每类节目主题获得的累计奖励。Au,t、bu,t的初始值分别为Id和0d。
(4-3)仍采用并行矩阵的思想,计算目标用户u在时间步t内的反馈收益期望值E[ru,t|Xt]:
其中,是由nt个rt,a元素组成的奖励值向量,维度为nt×1。在时间步t,所有的节目构成候选集合Ct。nt表示节引呋选集合Ct的长度。是节目集合Ct中的第i个节目的反馈收益。是由nt个向量元素组成的矩阵,维度为nt×d。是节目集合Ct中的第i个节目的主题的one-hot编码。
(4-4)利用注意力机制计算LinUCB算法中控制探索比例的参数αu,t。
①、计算目标用户u对每个节目的注意力分数向量su,t:
其中,su,t是维度为nt×1的向量,它的行元素为目标用户u对每个节目的注意力分数。是由nt个da向量构成的矩阵,其维度为nt×d。其中行元素da i表示节目集合Ct中的第i个节目的LDA向量(即步骤(2-3)中LDA模型输出的LDA向量),维度为d×1。是由mu,t个da向量构成的矩阵,其维度为mu,t×d。其中行元素da j表示集合Mu,t中的第j个节目的LDA向量。
②、计算动态控制探索与利用比例的个性化参数αu,t:
其中,αu,t是维度为nt×1的向量。δu,t表示在时间步t时,目标用户u观看序列的兴趣跨越度,mu,t表示集合Mu,t中用户行为日志记录的数量,所以前半部分反映了目标用户u当前对于探索的个性化需求。
传统的LinUCB算法中,同一类节目的预估收益都是相同的,并未考虑到同一主题中不同节目之间的差异性。本实施例中,su,t不仅反映了目标用户u对每个节目的关注程度,也对同一类节目中的不同节目实现了区分。因此,参数αu,t不仅可以跟踪目标用户u的兴趣变化,利用目标用户u对每个节目的关注度来实现自适应地动态调整探索比例,而且还可以识别出同一主题中节目之间的差异,从而可以更加精准地推荐到具体的某一节目。
(4-4)根据UCB准则,计算在时间步t时,对于目标用户u而言,候选集中所有节目因其主题类别带来的预估收益pv u,t:
步骤5:基于非时变LinUCB算法,根据分离的多用户混合行为日志记录建立基于分离的多用户关联信息的物品质量模型,物品质量模型用于保证节目质量;
(5-1)将节目集合划分为两类:目标用户u已观看节目与目标用户u未观看节目。其中,目标用户u已观看节目的质量由目标用户u自身决定,目标用户u未观看节目的质量由分离出的其他观看过该节目的多用户的用户行为日志记录及目标用户u自身对该类主题的喜好决定。
(5-2)补充物品质量模型中所需的参数:对节目ID进行特征编码,得到节目本身的one-hot编码。
(5-3)根据目标用户u自身的用户行为日志记录,利用非时变的LinUCB算法来学习目标用户u已观看节目的质量,具体过程如下:
其中,A′u,t是维度为nt×nt的对角矩阵,用来记录目标用户u在时间步t前观看每个节目的累计次数,b′u,t表示每个节目的累计奖励值。
[2]、结合LinUCB准则,计算根据目标用户u在时间步t前已产生的用户行为日志获得的所有节目质量表示p′u,t:
[3]、根据目标用户u自身的用户行为日志记录,计算目标用户u在时间步t对每个已观看节目的评分piv u,t:
piv u,t=wu,t⊙p′u,t
其中,wu,t是由加权因子wu,t,a组成的加权向量,wu,t,a为1表示目标用户u已观看节目a,wu,t,a为0表示目标用户u未观看节目a。
(5-3)根据分离的多用户集合U的用户行为日志记录,利用非时变的LinUCB算法来学习目标用户u未观看节目的质量。在此步骤中,用U来表示除目标用户u之外的其他多用户集合。利用非时变的LinUCB算法来学习目标用户u未观看节目的质量的具体过程如下:
其中,A′U,t是维度为nt×nt的对角矩阵,用来记录多用户集合U在时间步t前观看每个节目的累计次数,b′U,t表示每个节目的累计奖励值。
ii、结合LinUCB准则,计算多用户集合U在时间步t前已观看的所有节目质量的平均得分p′U,t:
iii、结合加权向量1-wu,t,得到目标用户u在时间步t对每个未观看节目的评分piv U,t:
piv U,t=(1-wu,t)⊙p′U,t,
其中,加权向量1-wu,t将piv U,t中目标用户u已观看节目的评分置为0。。
在本实施例中,如图5所示,为了在探索过程中综合利用用户的兴趣变化以及节目评分,本发明采用了双层LinUCB交叉加权的方法,来充分融合时变LinUCB算法和非时变LinUCB算法对每个节目的评分结果。具体过程如下步骤6。
步骤6:采用交叉加权的方式,融合用户兴趣挖掘模型与物品质量模型对每个节目的评分结果,得到加权评分,并根据加权评分形成推荐列表。
(6-1)将目标用户u已观看节目与未观看节目两类节目质量的评分与用户的兴趣变化交叉加权,得到目标用户u在时间步t对每个节目的预估收益值向量pu,t,pu,t评分指的是加权评分:
在式子右边,前半部分提高了对目标用户u已知兴趣的利用程度,后半部分实现了有保障地去探索目标用户u的未知兴趣。是对pv u,t进行归一化处理得到的,归一化过程是为了使推荐系统能够自适应的调整探索的比重,从而在探索和利用之间实现个性化的平衡。最后,调用目标用户u的注意力得分su,t来增强对目标用户u的兴趣的适应能力,以保证推荐系统的准确率。
(6-2)根据pu,t评分,选择预估收益最高的前L个节目形成最终的推荐列表,即
其中,list[at]是最终的推荐列表;表示在所有节目构成的节目集合At中选出pu,t,a值最大的L个节目作为向目标用户u推荐的L个节目;pu,t,a是目标用户u在时间步t对节目a的预估收益值,组成了pu,t中的行元素。
步骤7:实时更新用户兴趣挖掘模型与物品质量模型中的参数,供下一时间步的多媒体网络视频推荐系统使用。
(7-1)从目标用户u的新的用户行为日志记录中获取最新数据,新的用户行为日志记录由目标用户u观看推荐列表中的节目而形成。获取的最新数据包括:节目主题的one-hot编码矩阵Du,t,节目自身的one-hot编码矩阵D′u,t,D′U,t,用户奖励向量cu,t与cU,t。
在本实施例中,如图6所示,针对用户兴趣模型中的Au,t、bu,t,本发明提出了基于LSTM记忆模块的增量更新机制,尝试探索LSTM中的长短时记忆与LinUCB增量更新相结合的可能性。由于推荐系统需要的是基于元胞状态的输出,故本发明只在增量更新过程中引入遗忘门和记忆门,舍弃了LSTM中的输出门。具体过程如下步骤(7-2)。
(7-2)将LSTM中的长短时记忆与LinUCB增量更新相结合,更新用户兴趣挖掘模型中的参数,这些参数包括对角线元素为目标用户u观看Mu,t中每类主题节目的累计次数的矩阵Au,t与每类节目主题获得的累计奖励向量bu,t。其中,Au,t、bu,t的初始值分别为Id和Od。
a)、设置LSTM记忆门的权重,并用变化的时间间隔动态修正,从而计算以e底,以时间间隔为指数的函数为记忆门权重iu,t:
其中,Tu,t表示,对目标用户u而言,时间步t代表的实际时间点对应的小时表示,Tu,t-1为前一个时间步t-1代表的实际时间点对应的小时表示。
b)、在遗忘门中加入“窥视孔连接”,让门能够看到元胞状态,设置遗忘门函数:
fu,t=tanh(Tu,t-Tu,t-1),
c)、在时间步t,Au,t、bu,t的增量更新:
其中,
A′u,t-1=(1-fu,t)Au,t-1,
b′u,t-1=(1-fu,t)bu,t-1,
(7-3)更新物品质量模型中的参数,这些参数包括对角元素为目标用户u观看Ct中每个节目的累计次数的矩阵A′u,t及每个节目获得的累计奖励向量b′u,t,对角元素为多用户集合U观看Ct中每个节目的平均累计次数的矩阵A′U,t及每个节目获得的平均累计奖励向量b′U,t。由于节目质量的固定性,A′u,t、b′u,t与A′U,t、b′U,t的增量更新过程均采用采样平均原则,具体的增量更新过程如下:
其中,是维度为mU,t×nt的矩阵,其行向量为节目自身的one-hot编码,mU,t为在时间步t,多用户集合U所观看网络视频的用户行为日志记录集合MU,t中的记录数量。cU,t是维度为mU,t×1的奖励值向量。
(7-4)使用更新后的参数学习用户兴趣模型与用户质量模型,进行下一个时间步的在线推荐。
本实施例中,时间步设定为小时。在同一个时间步内,推荐系统只进行一次更新。同一个时间步内,尽管目标用户在各个时间点都可能向推荐系统发出请求,但是在该时间步内,推荐系统只为其提供一个相同的推荐列表。
如图7所示,基于上述方法,本发明还公开了一种面向多用户的推荐系统集成模型框架,包括离线多用户识别预测模块与在线推荐系统模块,具体来说:
在冷启动的情况下(前M个小时内),只启动在线推荐系统模块来采集多用户混合行为日志。获得足够的用户信息后,为了给推荐系统模块提供目标用户的日志信息,将以N小时为周期执行多用户识别预测模块。该模块将为推荐系统提供目标用户的身份标签和日志记录。在未来的每个时间步中,在线推荐模块将根据最近M个会话中的混合日志记录,预测未来N个会话的主导用户。通过本发明所构建的多用户特征标签,从多用户混合行为日志记录中抽离出目标用户u的用户行为日志记录。
在线推荐系统模块包括用户兴趣挖掘模型和物品质量模型。其中用户兴趣挖掘模型主要学习目标用户对节目主题的兴趣变化趋势来控制探索机制,分离出的目标用户u的日志文件可以帮助在线推荐模块构建用户兴趣挖掘模型。此外,利用分离出来的所有目标用户的用户行为日志记录之间的关联性,帮助推荐模块构建个性化的物品质量保障模型,以此来定位到目标用户对具体节目的偏好。物品质量模型可分为两部分:一部分计算目标用户已观看的节目的质量,另一部分计算目标用户未观看的节目的质量。
下面对本实施例的实验方法作进一步说明。
本实施例中,用于评价本发明所提出方案的性能指标有:准确率(Precision),召回率(Recall),MAP(Mean Average Precision)和新颖度(Novelty)。这四个指标的具体含义如下,N表示推荐结果中所选取的节目数量:
准确率(Precision@N):指成功推荐的节目占实际推荐的节目的比重。
召回率(Recall@N):指成功推荐的节目占用户实际观看的节目的比例。
MAP(Map@N):它考虑了推荐列表中节目排列的顺序。成功推荐的节目的排名越高,该值越高。
新颖度(Novelty@N):它描述了推荐列表中的新节目和用户已知节目之间的平均差异,取N=10。该值越大,推荐系统向目标用户提供的信息范围就越广。
首先,在本实施例中,通过初步实验来验证用户兴趣挖掘模型中时变LinUCB算法的有效性,将时变LinUCB算法与三种基线LinUCB算法进行性能比较,具体如下:
LinUCB-1:传统的LinUCB算法。
LinUCB-2:在传统的LinUCB中引入本发明提出的基于LSTM的增量更新。
LinUCB-3:在传统的LinUCB中引入本发明提出的个性化的自适应探索方案。
Improved-LinUCB:本发明提出的改进算法,即在传统的LinUCB中引入个性化的自适应探索方案以及基于LSTM的增量更新。
针对Improved-LinUCB的推荐结果,实验从准确性(Precision@N)、召回率(Recall@N)、MAP(Map@N)以及新颖性(Novelty@N)来评价Improved-LinUCB的性能。
如图8a所示,与LinUCB-1相比,LinUCB-3在准确率方面的性能提升很大,这说明本发明提出的通过注意力机制来计算和控制探索比例,非常显著地改善了推荐系统的准确率。此外,可以发现本发明提出的LSTM增量式更新过程对推荐结果的准确性也有一定的提升。
从图8b和图8c中可以看出,与传统的算法相比,本发明提出的时变LinUCB在召回率和MAP两方面的性能均有所改善,这也进一步说明本发明提出的推荐方案可以更好的学习用户的兴趣,从而推荐更适合的节目,并对推荐结果的排序结果的精准性有了更佳的提升。此外,与LinUCB-1和LinUCB-2相比,LinUCB-3在召回率和MAP两方面提升程度都非常显著,该结果也进一步说明了通过注意力机制来调整探索比例对推荐结果性能的改善十分显著。
图8d描述了本发明推荐结果的新颖度,可以看出,所有的推荐结果的新颖性都较高,均高于0.96。推荐结果与之前在准确性、召回率和MAP三个方面的表现趋势一致,从图中可以看出,与LinUCB-1相比,LinUCB-3算法在新颖性方面有了较大的提升,而LinUCB-2算法反而呈现下降现象。由此可见,本发明在增量更新过程中引入利用注意力机制来实现的个性化的自适应探索策略可以保持并提高推荐结果的多样性,而LSTM式的增量更新反而一定程度上削弱了这种多样性。但是从改进后的推荐算法的结果来看,总体来说,推荐结果的多样性呈现增长趋势。
更进一步地,我们使用上述介绍的多用户识别模块、推荐系统模块这两个模块的不同组合来评价本发明提出的面向多用户共享的多媒体网络视频推荐系统。具体来说,多用户识别模块包括三种方案:多用户周期识别(periodic-identification)、固定识别(fixed-identification)与无用户识别(no-identification)。在线推荐模块的方案可以分为以下A、B、C三组:
A组推荐方案:LinUCB(冷启动类型)
A1:单一的时变LinUCB算法,仅考虑用户对已知节目主题的兴趣。我们使用A1来验证非时变LinUCB所使用的多用户关联信息的重要性。
A2:指的是在本发明提出的推荐系统技术方案中,并未采用基于交叉加权的集成策略。我们使用A2来验证交叉权重的重要性。因此在A2中,最终的估计奖励是由su,t⊙(pv u,t⊙(piv u,t+piv U,t))该公式计算得到的。
A3:指的是在本发明提出的推荐系统技术方案中,并未采用个性化参数(见(4-4))。我们使用A3来验证注意机制对推荐系统的影响。
A4:指的是在本发明提出的推荐系统技术方案中,并未采用基于LSTM的增量式更新(见(7-2))。我们使用A4来验证LSTM记忆网络的重要性。
Improved:指的是本发明提出的在线推荐方案。
B组推荐方案:协同过滤算法(热启动类型)
B1:基于用户的协同过滤。它主要是根据用户的历史记录来寻找与目标用户相似的用户群,最后利用近邻用户兴趣来为目标用户生成最终的推荐结果。
B2:基于物品的协同过滤。其主要原理是目标用户可能会喜欢一些与他所观看过的相似的节目。通过分析用户的日志记录来计算节目之间的相似度。
B3:基于内容的协同过滤。其主要原理与B2类似,只是通过分析节目的特征向量(即LDA模型的输出)来计算用户之间的相似度。
C组推荐方案:基于深度神经网络的推荐方案(热启动类型)
GRU4Rec:利用RNN算法对用户的行为序列进行建模,以预测目标用户接下来可能感兴趣的物品。
SR-GNN:利用具有注意力机制的GNN算法对用户的行为序列进行建模,预测接下来目标用户可能感兴趣的物品。
利用以上方案可以对本发明的推荐系统进行多方面的比较分析,我们详细记录了本发明提出的推荐系统方案与A、B、C三组方案进行性能比较的结果。A组、B组和C组算法的会话数分别为41842、27028、7167。在此实施例中,我们使用Precision@N,Recall@N,Map@N三项性能指标来评价推荐系统的性能。
三组实验结果的对比分析如下:
A组为冷启动方案,本发明的推荐方案与A1的结果相比,时不变LinUCB在推荐系统中起着非常重要的作用,这证明确实可以充分利用从一个帐户/设备中分离出来的多用户社交信息来保证每个节目的质量。同时,通过A2的结果可以验证,交叉加权策略通过将时不变的LinUCB集成到时变的LinUCB中,可以更好地提高推荐系统的精度,降低探索的风险。与A3进行比较,我们发现本发明的方案在Precision@5,Recall@5,Map@5方面都有很好的提高,这证明了时变LinUCB中的注意力机制可以帮助推荐系统准确地了解用户兴趣及其变化趋势。另外,与A4相比,LSTM的记忆能力在精度Precision@5、Recall@5和MAP@5方面略有提高,也可以在冷启动阶段加快推荐系统的收敛速度。
在与热启动方案进行比较时,为了统一,我们只分析最后一周的数据集。从表1中,我们发现,在热启动阶段,本发明提出的推荐方案优于B组中的所有协同过滤方案。此外,在C组中,SR-GNN的性能最佳,而本发明提出的推荐方案在Precision@5、Recall@5、MAP@5上分别有20.5%、2.9%和4.8%的提升,充分证明了本发明的推荐方案能够很好地降低探索的风险。
表1不同多用户识别方案下不同推荐方案的Precision@N,Recall@N,Map@N
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围内。
Claims (8)
1.一种面向多用户共享的多媒体网络视频推荐方法,其特征在于,包括以下步骤:
步骤1、采集多用户观看网络视频的多用户混合行为日志记录数据,并对多用户混合行为日志记录数据做处理,处理包括数据清洗、数据整合与数据重采样;
步骤2、爬取多用户混合行为日志记录数据中所有节目的文本描述信息,对爬取的所有节目的文本描述信息做文本信息处理,从而构建节目主题标签,再利用节目主题标签对经过处理的多用户混合行为日志记录进行多用户特征标签的构建;
步骤3、执行离线周期性多用户识别预测方法,该方法用于预测未来向推荐系统发出请求的目标用户,并根据该目标用户的多用户特征标签从经过处理的多用户混合行为日志记录数据中提取目标用户的行为日志记录,得到目标用户的用户行为日志记录集合,实现多用户混合行为日志记录的分离;
步骤4、基于时变LinUCB算法,根据步骤3提取出的目标用户的用户行为日志记录集合建立用户兴趣挖掘模型,用户兴趣挖掘模型用于探索用户的潜在兴趣;
步骤5、基于非时变LinUCB算法,根据分离的多用户混合行为日志记录建立基于分离的多用户关联信息的物品质量模型,物品质量模型用于保证节目质量;
步骤6、采用交叉加权的方式,融合用户兴趣挖掘模型与物品质量模型对每个节目的评分结果,得到加权评分,并根据加权评分形成推荐列表;
步骤7、实时更新用户兴趣挖掘模型与物品质量模型中的参数,供下一时间步的多媒体网络视频推荐系统使用。
2.根据权利要求1所述的一种面向多用户共享的多媒体网络视频推荐方法,其特征在于,步骤1包括以下步骤:
步骤(1-1)、采用IPTV机顶盒采集多用户观看网络视频的多用户混合行为日志记录数据,采集的多用户混合行为日志记录数据包括以下数据字段:采集时间collect_time、用户ID user_id、节目名program_name、节目ID program_id、业务开始时间start_time和业务结束时间end_time;
步骤(1-2)、数据清洗:对于同一个用户ID的用户行为日志记录中两条及其以上完全重复的记录,仅保留第一条用户行为日志记录,删除该用户其余的用户行为日志记录;
步骤(1-3)、数据整合:将每个用户的连续的用户行为日志记录进行合并处理;
步骤(1-4)、数据重采样:对时间数据以小时为单位进行处理,对跨小时的用户行为日志记录进行分割处理,获取以下字段:重采样之后的开始时间resampled_start_time、重采样之后的结束时间resampled_end_time和观看时长watched_time,其中,观看时长为重采样之后的开始时间与重采样之后的结束时间之间的时间差。
3.根据权利要求2所述的一种面向多用户共享的多媒体网络视频推荐方法,其特征在于,步骤2包括以下步骤:
步骤(2-1)、爬取多用户混合行为日志记录数据中所有节目的文本描述信息,文本描述信息具体包括以下字段:节目总时长program_full_time、节目简介program_description、节目导演program_director、节目所属国家program_country和节目类型progtam_type;
步骤(2-2)、将爬取的所有节目的文本描述信息整合为节目文档,并进行文本分词、去停用词的文本信息处理;
步骤(2-3)、利用隐含狄利克雷分布LDA模型的主题分类功能,以经过步骤(2-2)处理的节目的文本描述信息为LDA模型输入,根据其输出结果选择每个节目文档的主题分布中概率值最大的那个主题,将其作为该节目的节目主题标签,实现节目主题分类;
步骤(2-4)、从采集的多用户混合行为日志记录数据中识别出每条日志记录所使用的观看网络视频的设备的型号,提取出属于同一设备的日志记录,并为每条日志记录构建相应的多用户特征标签,多用户特征标签包括第一用户标签、第二用户标签、主导用户标签与兴趣跨越度标签;在多用户的环境中,将时间步设置为一个小时,一个时间步中的观看序列定义为一个会话,则用户切换单元为一个会话,该会话时长为一个小时;其中,为每条日志记录构建相应的多用户特征标签的具体步骤如下:
A、在初始阶段,将步骤(2-3)中的节目主题标签当作用户的初始标签,也就是初步的用户身份标签,即第一用户标签;
B、根据日志记录的连续性对用户身份标签进行重组,将带有连续日志记录的多个第一用户标签合并为一个第二用户标签;当两个日志记录的时间间隔小于所设定的阈值时间时,即为连续日志记录;在连续日志记录的时间段内,将拥有最多的日志记录数量或最长的观看时间的第一用户标签标记为该连续日志记录的时间段内的用户,该连续日志记录的时间段内的用户即为第二用户标签;
C、为每个会话设置一个主导用户标签:将一个会话中拥有最多的日志记录数量或最长的观看时间的第二用户标签标记为该会话的主导用户标签,该主导用户标签也就代表该会话的主导用户;在后续的建模过程中,该会话的主导用户就是多媒体网络视频推荐系统的目标用户;
D、根据单个会话的日志记录统计主导用户在该会话中所观看节目主题的类别数量,并将此节目主题的类别数量标记为用户的兴趣跨越度标签。
4.根据权利要求1所述的一种面向多用户共享的多媒体网络视频推荐方法,其特征在于,步骤3包括以下步骤:
步骤(3-1)、收集一个用于观看网络视频的设备的最近M个会话的多用户混合行为日志记录数据,提取时间特征与滑动窗口特征;其中,时间特征包括小时、星期和是否为周末,滑动窗口特征即为滑动时间内的主导用户标签;
步骤(3-2)、将时间特征与滑动窗口特征作为时间序列分类预测模型的输入,M个会话的主导用户标签作为输出,训练时间序列分类预测模型;
步骤(3-3)、预测接下来N个小时中每个时间步的主导用户标签,判断未来N个会话中每个会话向推荐系统发出请求的目标用户u;
步骤(3-4)、当时间向前滑动N个小时之后,重复步骤(3-1)~(3-3),执行以N小时为周期的多用户预测方法,即每隔N个小时都利用最近M个会话的多用户混合行为日志记录预测一次接下来N个小时中每个时间步的主导用户标签;
步骤(3-5)、根据步骤(2-4)构建的多用户特征标签中的主导用户标签从多用户混合行为日志记录数据中抽离出目标用户u的用户行为日志记录,得到在时间步t,目标用户u所观看网络视频的用户行为日志记录集合Mu,t,实现多用户混合行为日志记录的分离,为推荐系统提供目标用户u的身份标签和日志记录。
5.根据权利要求3所述的一种面向多用户共享的多媒体网络视频推荐方法,其特征在于,步骤4包括以下步骤:
步骤(4-1)、通过步骤1中数据重采样获取的字段及步骤2中所爬取的节目的描述信息中的字段、构建的节目主题标签和用户的兴趣跨越度标签,进一步生成用户兴趣挖掘模型中所需的参数;所需的参数包括节目主题的one-hot编码、每个节目所获得的奖励值与一个会话中用户观看序列的兴趣跨越度,生成参数的具体方法如下:
a.对节目主题标签进行特征编码得到节目主题的one-hot编码;
b.采用观看时长与节目总时长的比值来表示每个节目所获得的奖励值;
c.采用用户的兴趣跨越度标签表示一个会话中用户观看序列的兴趣跨越度;
其中,Du,t是指在时间步t,目标用户u所观看的网络视频的用户行为日志记录集合Mu,t中所对应的节目主题的one-hot编码矩阵,上标T表示转置,cu,t是集合Mu,t中每个节目所获得的奖励值向量,Au,t是一个对角矩阵,它的每个对角元素表示在时间步t前,目标用户u观看Mu,t中每类主题节目的累计次数;bu,t是每类节目主题获得的累计奖励向量;Id为d维的单位矩阵;
步骤(4-3)、用并行矩阵计算目标用户u在时间步t内的反馈收益期望值E[ru,t|Xt]:
其中,ru,t是目标用户u对时间步t所有节目构成的候选集合Ct中节目的反馈收益向量,Xt是集合Ct中所对应的节目主题的one-hot编码矩阵;
步骤(4-4)、利用注意力机制计算LinUCB算法中控制探索比例的参数αu,t:
其中,δu,t表示在时间步t,目标用户u观看序列的兴趣跨越度,mu,t表示集合Mu,t中用户行为日志记录的数量,su,t是目标用户u对每个节目的注意力分数向量;
步骤(4-5)、根据UCB准则,计算在时间步t,对于目标用户u而言,候选集中所有节目因其主题类别带来的预估收益pv u,t:
6.根据权利要求5所述的一种面向多用户共享的多媒体网络视频推荐方法,其特征在于,步骤5包括以下步骤:
步骤(5-1)、补充物品质量模型中所需的参数:对节目ID进行特征编码,得到节目本身的one-hot编码;
步骤(5-2)、利用非时变的LinUCB算法来学习目标用户u已观看节目的质量,计算目标用户u在时间步t对每个已观看节目的评分piv u,t:
piv u,t=wu,t⊙p′u,t
其中,p′u,t是根据目标用户u在时间步t前已产生的用户行为日志获得的所有节目质量表示,X′t是节目集合Ct中节目本身的one-hot编码矩阵,是目标用户u已观看节目的奖励权重向量,A′u,t是一个对角矩阵,用来记录目标用户u在时间步t观看每个节目的累计次数;wu,t是由加权因子wu,t,a组成的加权向量,wu,t,a为1表示目标用户u已观看节目a,wu,t,a为0表示目标用户u未观看节目a;
步骤(5-3)、利用非时变的LinUCB算法来学习目标用户u未观看节目的质量,即除目标用户u外的其他多用户集合U的已观看节目的质量,计算目标用户u在时间步t对每个未观看节目的评分piv U,t:
piv U,t=(1-wu,t)⊙p′U,t,
7.根据权利要求6所述的一种面向多用户共享的多媒体网络视频推荐方法,其特征在于,步骤6包括:
步骤(6-1)、将目标用户u已观看节目与未观看节目两类节目质量的评分与用户的兴趣变化交叉加权,得到目标用户u在时间步t对每个节目的预估收益值向量pu,t,pu,t评分指的是加权评分:
步骤(6-2)、根据pu,t评分,选择预估收益最高的前L个节目形成最终的推荐列表,即
8.根据权利要求1所述的一种面向多用户共享的多媒体网络视频推荐方法,其特征在于,步骤7包括:
步骤(7-1)、将LSTM中的长短时记忆与LinUCB增量更新相结合,更新用户兴趣挖掘模型中的参数,这些参数包括对角元素为目标用户u观看Mu,t中每类主题节目的累计次数的矩阵Au,t与每类节目主题获得的累计奖励向量bu,t;
步骤(7-2)、采用采样平均原则,更新物品质量模型中的参数,这些参数包括对角元素为目标用户u观看Ct中每个节目的累计次数的矩阵A′u,t及每个节目获得的累计奖励向量b′u,t,对角线元素为多用户集合U观看Ct中每个节目的平均累计次数的矩阵A′U,t及每个节目获得的平均累计奖励向量b′U,t;
步骤(7-3)使用更新后的参数学习用户兴趣挖掘模型与物品质量模型,进行下一个时间步的在线推荐。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110630879.8A CN113468413B (zh) | 2021-06-07 | 2021-06-07 | 一种面向多用户共享的多媒体网络视频推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110630879.8A CN113468413B (zh) | 2021-06-07 | 2021-06-07 | 一种面向多用户共享的多媒体网络视频推荐方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113468413A CN113468413A (zh) | 2021-10-01 |
CN113468413B true CN113468413B (zh) | 2023-05-16 |
Family
ID=77872429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110630879.8A Active CN113468413B (zh) | 2021-06-07 | 2021-06-07 | 一种面向多用户共享的多媒体网络视频推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113468413B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114021014A (zh) * | 2021-11-04 | 2022-02-08 | 山东库睿科技有限公司 | 单设备多用户的推荐方法、装置、设备和存储介质 |
CN115081948B (zh) * | 2022-07-25 | 2023-04-07 | 东南大学溧阳研究院 | 一种基于LinUCB的居民负荷聚合方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103500215A (zh) * | 2013-09-30 | 2014-01-08 | 乐视网信息技术(北京)股份有限公司 | 一种多媒体文件推荐方法及装置 |
CN107071578A (zh) * | 2017-05-24 | 2017-08-18 | 中国科学技术大学 | Iptv节目推荐方法 |
CN107562947A (zh) * | 2017-09-26 | 2018-01-09 | 宿州学院 | 一种移动时空感知下动态即时推荐服务模型建立方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8751507B2 (en) * | 2007-06-29 | 2014-06-10 | Amazon Technologies, Inc. | Recommendation system with multiple integrated recommenders |
-
2021
- 2021-06-07 CN CN202110630879.8A patent/CN113468413B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103500215A (zh) * | 2013-09-30 | 2014-01-08 | 乐视网信息技术(北京)股份有限公司 | 一种多媒体文件推荐方法及装置 |
CN107071578A (zh) * | 2017-05-24 | 2017-08-18 | 中国科学技术大学 | Iptv节目推荐方法 |
CN107562947A (zh) * | 2017-09-26 | 2018-01-09 | 宿州学院 | 一种移动时空感知下动态即时推荐服务模型建立方法 |
Non-Patent Citations (1)
Title |
---|
SMART:一种面向电商平台快速消费品的图推荐算法;卿勇;刘梦娟;银盈;李杨曦;;计算机科学(S2);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113468413A (zh) | 2021-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110430471B (zh) | 一种基于瞬时计算的电视推荐方法和系统 | |
CN110704674B (zh) | 一种视频播放完整度预测方法及装置 | |
CN107105320B (zh) | 一种基于用户情绪的在线视频热度预测方法及系统 | |
CN105138653B (zh) | 一种基于典型度和难度的题目推荐方法及其推荐装置 | |
US20120323725A1 (en) | Systems and methods for supplementing content-based attributes with collaborative rating attributes for recommending or filtering items | |
CN113468413B (zh) | 一种面向多用户共享的多媒体网络视频推荐方法 | |
CN108563755A (zh) | 一种基于双向循环神经网络的个性化推荐系统及方法 | |
Reiter-Haas et al. | Predicting music relistening behavior using the ACT-R framework | |
CN113207010A (zh) | 模型训练方法、直播推荐方法、设备、程序产品 | |
CN111858969B (zh) | 多媒体数据推荐方法、装置、计算机设备和存储介质 | |
CN111125429A (zh) | 一种视频推送方法、装置和计算机可读存储介质 | |
CN114186130A (zh) | 一种基于大数据的体育资讯推荐方法 | |
CN114339417A (zh) | 一种视频推荐的方法、终端设备和可读存储介质 | |
CN114140171B (zh) | 一种应用于推荐系统的鲁棒无偏的负采样方法 | |
Fazelnia et al. | Variational user modeling with slow and fast features | |
US20130108180A1 (en) | Information processing device, information processing method, and program | |
CN118101980A (zh) | 一种基于实时内容推荐算法的短视频直播自动导流系统 | |
Kumar et al. | Session-based recommendations with sequential context using attention-driven LSTM | |
CN114817692A (zh) | 确定推荐对象的方法、装置和设备及计算机存储介质 | |
CN114912984B (zh) | 基于自注意力的时间评分感知上下文的推荐方法及系统 | |
CN115470397B (zh) | 内容推荐方法、装置、计算机设备和存储介质 | |
CN113254794B (zh) | 基于建模的节目数据推荐方法及系统 | |
Mohammad et al. | Movie recommender system using content-based and collaborative filtering | |
Bae et al. | A competition-aware approach to accurate TV show recommendation | |
Darvishy et al. | New attributes for neighborhood-based collaborative filtering in news 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 |