APP下载

基于局部模型融合的交互式电影推荐系统

2021-09-17王攸妍孙康高汤颖

数据与计算发展前沿 2021年4期
关键词:气泡局部标签

王攸妍,孙康高,汤颖

浙江工业大学,计算机科学与技术学院,浙江 杭州 310000

引言

中国已成为全球最大的电影市场,每年有成百上千部影视新作。由于人们对电影有着各自的喜好,为不同的人推荐适宜的电影对于观众与电影推广方都是一件重要而有意义的工作。为此,出现了各种类型的推荐系统。

传统的推荐算法通常对所有用户构建一个单一的全局模型,认为两个相同的物品在任何人群中的相似程度都是一致的。然而,真实情况并非如此,例如,爱好战争题材的用户群体,通常战争类型的电影中打分较为活跃,而在温情电影中打分较为稀疏。对于喜欢温情类电影的用户群体,打分行为则恰恰相反。但对于一些较为热门、口碑较好的电影,无论属于什么题材,任何用户群体对它们的打分都较为活跃。根据上述情况,基于邻域的协同过滤算法通过分析用户对物品产生的行为来计算物品之间的相似性,会将爱情电影和热门战争电影记为相似电影,因为大多数看过爱情电影的用户也看过这部热门战争电影。实际上,这部热门战争电影对于喜欢军事题材的用户是相似的,而对于喜欢爱情类电影的用户是不相似的。若使用单一模型,则无法准确捕获用户群体的喜好,使得推荐结果不够好。

当前,已存在一些使用多个局部模型的推荐系统,这些工作大多依赖于用户-物品矩阵,利用聚类算法构建多个局部模型[1-4]。但是,这些推荐系统使用的用户评分矩阵总是稀疏的,例如,有的用户观看电影后没有对电影打分,损失了部分偏好信息,使得系统无法获得足够的用户特征。

此外,这些推荐系统往往只将推荐的结果展示给用户,而不对推荐的结果进行解释,这使得用户无法理解推荐结果是如何产生的,从而降低了用户对该系统的信任度。因此,解决推荐系统的黑盒模型问题,以及改善用户的系统体验对于推荐系统开发人员而言也是十分重要的。除此之外,由于用户的喜好存在阶段性和临时性,这种喜好可能和他的历史行为信息不符,而传统的推荐系统通常不提供交互功能,以致于用户不能向系统反馈信息,或控制推荐过程,也就无法满足用户的实时需求。

为了帮助用户准确地获得感兴趣的电影,并理解推荐结果,本文提出了基于多模型融合的交互式电影推荐系统。不同于上述基于用户的电影评分矩阵对用户聚类并构建多个局部模型的推荐系统,本文的系统使用用户观影记录中的标签信息,通过LDA[5]模型提取每个用户的偏好信息,利用SLIM[6]模型训练局部推荐模型。因为电影评分信息是稀疏的,但是每部电影的标签信息是切实存在的,因此,标签信息更能反映用户的观影偏好。对于推荐系统的“黑盒问题”,我们设计了电影标签词云展示用户观影记录的标签分布,主题雷达图则描绘了每个用户观影喜好的分布,主题层次气泡图则展示主题的详细信息,通过用户画像可以解释推荐结果产生的原因。除此之外,用户可以通过电影气泡云图与推荐系统进行交互,以生成可以满足用户临时偏好的推荐。基于上述内容,我们利用从豆瓣电影网站中爬取的真实数据,验证了本文系统的有效性。

本文的主要工作为:

(1)利用电影标签的语义信息描述用户特征,而非物品-用户二分图,在一定程度上解决了评分数据的稀疏性,并使用基于用户聚类的局部模型加权融合推荐算法,准确捕捉用户偏好的局部特征,提供更加个性化的推荐。

(2)设计了一个可视化交互方案,不仅促进了用户对推荐结果的理解,通过标签气泡云的交互实时推荐功能,以及对融合参数的控制,创造性地增加了用户在推荐过程中的参与感。

(3)利用豆瓣电影数据验证了本文的电影推荐算法和可视推荐系统的实用性和有效性。

本文的内容安排如下:第1 章节说明了该系统的相关工作;第2 章节为本文系统的概述;第3 章节介绍了模型的相关内容;第4 章节讲述了系统的可视方案;本文在第5 章节提供了案例分析;最后在第6 章节进行了总结。

1 相关工作

1.1 Top-N 推荐算法

Top-N 推荐[7]是电影推荐系统中最常见的推荐方式,该方法生成一个经过排名且大小为N 的物品列表并把该列表推荐给用户。Top-N 推荐可以被分成两种类型[8],分别为基于邻域[9]和基于模型的协同过滤方法。在模型表现方面,后者往往优于前者。其中,以矩阵分解为代表的隐因子模型在该类算法较为出色,最常见的矩阵推荐算法包括Funk 提出的FunkSVD[10],Koren 等人在Netflix 比赛中提出的多种基于FunkSVD 改进的推荐算法,BiasSVD[11]、SVD++[12]、timeSVD++[13]等,这些推荐算法也适用于评分预测。另外,Hu 等人提出WRMF[14],该模型结合隐式用户反馈信息将推荐问题转换为加权正则化的最小二乘问题。

在近年来的研究中,Connor[1]等人提出通过训练多个局部推荐模型,再融合局部模型来提升总体推荐效果的算法受到了广泛关注。Xu[2]等人改进了这项工作,提出使用co-cluster 聚类算法把用户-物品矩阵聚类成多个子分组,每个子分组都包括一个物品子集和一组相似偏好的用户,并基于这些子分组进行推荐。另外,Lee[15]等人基于“评分矩阵在特定条件下是低秩的”思想,提出了局部最小二乘矩阵近似法LLORMA 来最小化排名误差,并得到了局部用户和物品的隐式因子矩阵,最后融合局部模型进行推荐[3]。Christakopoulou[4]等人提出了GLSLIM,该模型首先对用户-物品矩阵进行聚类,构建用户分组,然后对每个分组训练SLIM 推荐模型,最终实现了局部模型与全局模型的加权融合。

在上述系统中,训练和使用的局部模型都是同一种推荐算法。然而,推荐模型可以使用多种不同的推荐模型并进行适当的加权融合从而得到更优的模型,如论文[16]和[17]。Kouki[18]等人引入了统计关系学习框架,开发通用且可扩展的混合推荐系统。Strub[19]等人使用了一种基于自动编码器的构架,并合并了辅助信息而提出了一种混合式推荐方法。Hussein T[20]等人,提出一种用于构建复杂上下文感知应用程序的软件框架,称为Hybreed。Kim[21]等人,将卷积神经网络集成到含有物品统计信息的概率矩阵分解上,提出了一种鲁棒的文档上下文感知混合方法。Cantador[22]提出了一种三重知识表示方法,在用户和项目之间合并了一个明确的、语义丰富的领域知识空间,最后应用到新闻推荐系统中。

1.2 推荐系统可视化

为了让用户理解推荐系统的推荐机制,并以一种有意义的方式参与到推荐过程中,现有工作提出了许多不同的可视化策略,本文将简要介绍这一领域的主要工作。

亚马逊公司提出了一种自适应个性化可视推荐系统[23],该系统对用户偏爱的商品类别进行预测,并不断更新推荐列表。He[24]等人从满意度、信任度、透明度和控制感等角度入手,提出了一种交互式可视化框架。

除此之外,O’Donovan 等人,提出了一个带有交互式图形解释界面的推荐系统PeerChooser[25],该系统旨在向用户解释推荐原理。为了增加推荐系统的透明性,Gretarsson 等人设计了SmallWorlds[26],该系统能为用户提供个性化、完全透明的项目推荐。以上两个可视交互推荐系统因其可视化方案的限制,仅适用于小规模样本下的推荐场景。Parra 等人提出一种用于混合推荐的用户可控的可视化系统SetFusion[27],使用户能够手动控制推荐策略的重要性。

致力于增进用户对推荐结果的理解,提高用户对其的信任度,Vig 等人提出了一个电影可视推荐系统Tagsplanations[28],该系统对推荐结果的标签以及用户对该标签的偏爱程度进行可视化。TalkExplorer[29]是一种为学术会议的参会人员开发的交互式可视化工具,能够让用户参与推荐的过程。MoviExplain[30]是一个面向电影数据的可视推荐解释系统,该系统通过表格的方式对当前推荐结果产生的原因进行展示。Saito 等人提出音乐可视推荐系统MusiCube[31],该系统将交互式遗传算法应用于多维音乐特征空间。

Bostandjiev 等人提出了一种交互式混合推荐系统TasteWeights[32],该系统可从多个网络资源中对音乐数据生成可视化推荐,同时用户可以为不同的数据源分配不同的权重。TIGRS[33]在基于图形的可视化中,使推荐的论文根据相关性与其关键字相连接,该相关性则由文本挖掘方法计算。Wegba[34]等人通过SVD 模型来获取电影的隐语义,提出了基于隐语义分析和叙事模式的交互式可视电影推荐系统。

2 系统概述

本文提出的电影推荐可视分析系统流程可分为三个阶段:数据预处理、模型训练和交互式可视分析,如图1所示。

图1 可视分析系统流程图Fig.1 Flow chart of visual analysis system

在数据处理阶段,我们从豆瓣电影网站抓取了真实的电影数据和用户数据,确保每部电影被20 名用户观看过,每个用户至少观看了15 部电影。最终数据包含了3,155 个用户,3,524 部电影,302,662 个评分,4,221 个电影标签。

在模型训练阶段,我们将用户看过的电影的标签作为文档,通过潜在狄利克雷分布(Latent Dirichlet Allocation,LDA)计算这些文档的主题分布,将其作为这些用户的特征向量。计算完特征向量之后,我们对这些用户进行谱聚类,以划分局部人群。然后我们使用稀疏线性模型(Sparse Linear Model,SLIM)来对局部和全局的模型进行训练。最后,通过线性加权的方式将两个部分的模型进行融合,实现最终的推荐模型。

在交互式可视分析阶段,我们将系统布置在Web 网页端。当用户登录账号进入系统后,可看到用户画像和交互推荐两个模块。在用户画像模块,我们通过标签词云(图3a)展示了用户的标签喜好,通过主题雷达图(图3b)描述了用户对各电影主题的偏好分布。如果用户想要进一步了解主题雷达图中各主题的具体内容,可以点击主题层次气泡图(图3b)中对应的主题,系统提供该主题下更详细的标签信息。在交互推荐模块,我们使用电影海报的形式向用户展示推荐内容,点击电影海报后,系统将自动链接至豆瓣电影网中该电影的介绍页面。另外,该系统在交互式推荐模块的电影气泡云(图5)中展示了排名最高的前100 部电影。如果用户对推荐结果不满意,可以在电影气泡云中选择当下感兴趣的电影,系统会根据用户的选择计算出新的推荐结果,并实时推送给用户。

图5 可交互的电影气泡云图Fig.5 Interactive movie bubble cloud chart

3 基于局部模型融合的推荐

3.1 特征提取及模型构建

本文对推荐模型的构建采用了汤[35]等人提出的局部模型加权融合推荐模型。该模型首先利用LDA主题模型从用户观影记录的标签集合中提取用户特征,然后通过谱聚类算法对用户特征进行用户群体划分,接着利用SLIM 模型训练全局推荐模型以及为每个用户群体训练局部推荐模型,最终,通过线性加权的方式将全局模型与局部模型进行融合,融合公式如公式(1)[35]所示。

基于该推荐算法,我们将豆瓣电影的标签映射成单词w,单个用户的观影标签集合映射成一篇文档d,数据中若有n个用户,则生成包含n篇文档的语料库,我们也通过LDA 对该语料库进行训练,最终得到用户-主题分布和主题-标签分布。

从表1 可知,10 个主题向量大致分出了几种用户喜爱的电影类型。例如,主题2 表示这类群体纯粹喜欢日本动漫,主题0 表示喜欢看电视剧的群体,主题6 反映了偏爱香港动作片和喜剧片的群体。

表1 主题-标签分布Table 1 Topic-label distribution

另外,为了增加用户对推荐过程的控制,我们

3.2 推荐效果

为了验证该推荐模型的有效性,本文采用留一法交叉验证,同时本文使用命中率(HR)和平均排名命中率(ARHR)来衡量模型的推荐质量。

本文采用的对比算法包括基于用户的推荐(UserKNN)、基于热度的推荐(TopPop)、基于物品的推荐(ItemKNN)、稀疏线性模型(SLIM)、加权正则的矩阵分解(WRMF),并将本文的基于用户聚类的局部模型加权融合推荐算法记为LM1。其中,基于热度的推荐算法通过筛选热度最高的前N 部电影推荐给用户,这里的热度代表电影的评分人数,评分人数越多,电影越热门。而基于用户的协同过滤和基于物品的协同过滤是推荐系统发展早期所出现的经典算法,实现简单且推荐效果出众,在业界得到了广泛的应用。加权正则矩阵分解算法和稀疏线性模型的推荐效果较优,分别通过矩阵分解和线性拟合方法来训练推荐模型。

我们将以上推荐算法分别在Top5、Top10、Top20 的条件下进行对比实验,结果如图2所示。由图可知,推荐算法SLIM、WRMF 和LM1 的总体表现要比UserKNN、TopPop 和ItemKNN 好很多。产生上述结果的原因是这些表现较差的方法对于数据的都是较为浅层的。其中TopPop 的表现是最差的,因为它不是个性化推荐,给每位用户推荐的都是相同的热门电影。而ItemKNN 和UserKNN 仅仅通过电影或用户之间的协同关系分别计算电影相似度(ItemKNN)和用户相似度(UserKNN),所以这两种方法得出的推荐结果并不理想。而SLIM、 WRMF和LM1 这三种推荐算法则使用机器学习的方法得到结果,它们通过学习的方式挖掘电影和用户的潜在特征,这比不使用机器学习的方法挖掘得更深层。总体而言,本文的推荐模型是优于其他推荐算法的。

图2 推荐模型在两个指标下的表现结果Fig.2 The performance results of the recommended model under two indicators

4 可视设计与交互

4.1 设计目标

为了解决推荐系统的黑盒问题,改善用户的使用体验,以及满足用户的实时推荐需求,本文确定了3 个设计需求来指导推荐可视化系统的设计。

R1:提供系统推荐结果的直观展示

R2:为推荐结果提供上下文信息及推荐原因

R3:为用户提供交互反馈功能,以及基于反馈结果的实时推荐

基于上述需求,我们开发了一个可视分析系统RecVis。该系统使用了多种可视化技术,使推荐系统的透明性得到了显著的提高,同时系统能够记录下用户的历史行为,并借助该信息实时地与用户交互推荐其可能感兴趣的电影。本文的系统可以被分成三个模块,其中基本功能模块提供了用户注册、登录、使用说明和修改信息等基本功能。其余两个模块分别为用户画像模块和交互式推荐模块,以下将着重介绍。

4.2 用户画像模块

用户画像包括标签词云、主题雷达图以及主题层次气泡图三个部分。其中,用户的主题偏好和标签偏好来源于用户的历史观影信息。该模块直观地展示了用户历史观影记录的特征,这能够让用户对自己的观影喜好更加了解,从而在一定程度上能够起到解释推荐系统结果的作用,同时提高推荐系统的可信度。该模块在图3 中进行了展示。

4.2.1 标签词云

该模块统计了每一位用户看过的所有电影标签集合(即LDA 主题模型中的用户文档d),然后根据出现次数从每位用户的标签文档d 中取TOP-100 个电影标签进行可视化。如图3 中视图a所示,词云中标签的大小与该标签在文档d 中出现的词频成正比。通过此视图,用户对自己的观影喜好可以一望而知,从而帮助用户更好地理解系统的个性化推荐结果。

4.2.2 主题雷达图

主题雷达图描述了用户的观影偏好在10 个主题上的分布情况。此部分由LDA 主题模型为每个用户训练用户特征向量,该向量有10 个维度,每个维度代表当前用户属于对应主题的隶属度。因此,该特征向量能够表示用户的观影偏好,以及当前用户更倾向于哪一类电影。另外,隶属度值小于指定阈值的维度会被过滤掉。

4.2.3 主题层次气泡图

上述主题雷达图仅展示了用户观影历史与主题间的关系,但用户并不明白对应主题所蕴含的具体语义信息。因此,我们在主题雷达图周围设计了层次化的主题气泡图,帮助用户迅速提取主题的核心内容,通过交互可以了解主题的详细信息。如图3视图b所示,层次气泡图使用分布在外围的10 个气泡来表示10 个不同的主题,与中间的雷达图坐标相对应,气泡的大小反映了属于该主题的人群比例。另外,我们在每个主题气泡中展示了该主题最具代表性的4 个标签,该标签同时考虑了出现频次和各主题间的唯一性。若用户想深入了解主题的详细内容,可点击相应主题气泡,系统将在中心位置显示该主题前20 个标签,如图4所示。在该图中,代表主题3、主题5 和主题7 的气泡较大,表明喜欢这些主题的人较多。点击主题气泡8,可知喜欢该主题的人通常会喜欢贴有惊悚、神秘、恐怖等标签的电影。此外,居中的大气泡包含了许多小气泡,每个小气泡都与一个电影标签相对应,气泡的面积大小与其对应的标签在主题中的概率成正比。如果用户希望查看相关标签的电影,他可以通过点击气泡的操作来达成目的,此时系统的页面会跳转到所选标签对应的豆瓣电影页面。

图3 用户画像,视图a 为标签词云,视图b 由主题气泡图和主题雷达图构成Fig.3 (a)User portrait View,which includes Tag word-cloud;(b)Topic bubble chart and Topic radar chart

图4 层次气泡图Fig.4 Hierarchical bubble chart

4.3 交互式推荐模型

交互式推荐模块包含两个部分:推荐展示和电影气泡云图。根据用户的历史观影信息,系统将通过电影海报的方式向用户展示推荐结果,而电影气泡云图则提供了一种不使用历史观影数据,并为用户实时推荐电影的方式。用户通过点击选择当下感兴趣的电影气泡并设置推荐模型的融合参数,系统可实时提升了推荐的灵活性,增加了用户在推荐过程中的参与感。

4.3.1 推荐展示

系统将通过列表的方式向用户展示个性化推荐列表中TOP-10 的电影,该列表包含了电影海报,电影名称、电影评分以及内容简介。此外,用户可点击感兴趣的电影海报,将跳转至豆瓣电影网站对应的电影页面来查看更细节的信息。图6(b)显示了推荐展示界面的示例。

4.3.2 电影气泡云图

该视图由数据集中综合评分排名最高的前100部电影构成。综合评分考虑了电影评分和电影流行度,计算方法如公式2所示。

在电影气泡云图中,每个气泡代表一部电影,气泡的半径与对应电影的newRate 值成正比。用户可点击气泡选择感兴趣的电影,拉动滑动条来改变融合系数,选择完毕后,点击“生成推荐”按钮,系统将在推荐展示模块实时展示新的推荐结果,因为此推荐过程不考虑用户的历史行为信息,不需要对模型进行预训练,故生成推荐结果的过程不需要等待,可立即完成。另外,气泡云图中的电影名已超链接至该电影的豆瓣介绍界面。

5 案例分析

本节将展开RecVis 系统的多个案例分析,以验证该可视推荐系统的有效性和实用性。另外,可通过链接对本系统进行访问:http://39.105.145.46:5000/。

5.1 用户画像案例分析

此案例分析选择了两个代表性的用户:用户38和用户15。首先来看用户38 的案例分析,从图6(a)中的用户标签词云可知,该用户特别喜欢看带有美国标签的电影,同时,从图6(b)所示的推荐结果中发现,这10 部个性化推荐电影中有7 部都是美国电影。此外,我们还发现爱情、喜剧、文艺等标签也有较大的权重,并从推荐结果中看到属于爱情标签的电影有《爱在日落黄昏时》、《爱再来一次》、《泰坦尼克号 3D 版》;属于喜剧标签的电影有《爱情与灵药》、《龙门镖局》;以及属于文艺类的电影《音乐之声》等。由此可知,推荐结果与用户的历史观影偏好十分吻合,证明了本文推荐系统的有效性。

图6 用户编号为38 的案例分析Fig.6 Case study with user number 38

接着,我们从图6(a)所示的用户主题雷达图中发现,该用户在主题3 和主题7 上的隶属度最高,结合图4 中的主题层次气泡图进行分析,我们发现这两个主题包含了与上述词云标签相同或相似的内容。由此可知,用户画像直观且准确地展示了用户的观影偏好。

接下来,我们对用户15 进行分析,该用户的用户画像以及推荐结果如图7所示。

图7 用户编号为15 的案例分析Fig.7 Case study with user number 38

从用户雷达图可知,该用户在主题5 下的隶属度格外突出,结合图8 的主题气泡图进行详细分析,可知该用户喜欢科幻、动作、悬疑、犯罪类电影,与标签词云中较大权重的词相吻合。同时,我们发现该用户的标签词云中美国一词有较大权重,这是否意味着用户15 和用户38 一样都喜欢美国电影呢?为了寻找答案,我们查看了用户15 的观影记录,发现带有美国标签的电影几乎为科幻、动作、犯罪类电影,而带有中国标签的一般为爱情、喜剧、剧情类电影。这一发现表明该用户不是喜欢看贴有美国标签的电影,而是因为喜欢的科幻类电影太多来自于美国,以致于在标签集合中美国的权重较大。这一发现也与事实相符,因为美国的科幻电影确实举不胜举,是好莱坞大片的主题之一,特效炫酷,概念超前,一直深受大众喜爱。

图8 主题5 的细节语义信息Fig.8 Detailed semantic information of topic 5

接着,我们查看了针对用户15 的推荐结果,图7(b)所示,有4 部动作、科幻类电影,其中《罪恶之城》、《全面回忆》、《火星救援》属于美国电影,《窃听风云》属于中国电影。除此之外,《冰雪奇缘》、《沉睡魔咒》属于美国的奇幻冒险类电影;中国的《分手合约》、《全球热恋》属于爱情剧情类电影。由此可知,推荐结果与用户的历史观影偏好一致,证明了本文推荐系统的有效性。

经过以上案例分析可知,通过用户画像模块,用户可以很直观地了解自己的观影喜好,同时对自己的观影历史也能有概括性的审视。

5.2 交互式推荐案例分析

为了评估电影气泡图中的交互推荐功能,以及模型融合系数g 对最终推荐结果的影响,本文将使用四个测试案例进行分析。

5.2.1 单一用户案例分析

为了验证不同用户反馈对实时推荐结果的影响,我们将模拟同一用户在电影气泡图中选择不同的电影作为反馈信息,以此查看不同反馈下的推荐结果间的差异,共进行了3 次推荐测试,下面将一一介绍。

在第一次推荐测试中,我们模拟了想要寻找人性、经典、励志、温情、正能量的高分电影,故在电影气泡图中选了《海上钢琴师》、《阿甘正传》以及《肖申克的救赎》,如图9(a)右所示,这三部电影都是众人皆知的经典电影,常用标签有人生、励志、经典、成长、爱情等,属于豆瓣必看榜上的前50。随后,我们将全局模型参数设置为0.7。根据以上反馈信息生成的最终推荐结果如图9(a)左所示。从该推荐结果的海报描述中,我们发现这10 部电影都是经典的高分电影,最低也是8.7 分。其中,《当幸福来敲门》属于励志、感动、人生类电影;《霸王别姬》属于经典、人性、爱情类电影,探讨人性的电影有《辛德勒的名单》,而《这个杀手不太冷》、《放牛班的春天》则属于成长、温情类题材的电影。综上所述,该推荐结果符合我们的寻找初衷,证明了该系统能够根据用户的兴趣推荐出合适的电影。

图9 推荐结果Fig.9 Recommended results

第二次测试,我们模拟了想要寻找探案、间谍、悬疑类题材的用户需求。全局模型参数仍为0.7,但在电影气泡图中,我们选择了《神探夏洛克 第一季》、《潜伏》、《疑犯追踪 第一集》等高分悬疑犯罪类电影。根据以上反馈信息生成的实时推荐结果如图9(b)右所示。通过点击海报查看电影的详细信息后我们发现,这10 部影片几乎都是犯罪或悬疑类电影,包括《神探夏洛克 第二季》、《神探夏洛克第三季》以及《风声》、《黑镜》等,也有爱情类电影《两小无猜》、《蜗居》和《赎罪》,查看了用户画像发现,推荐爱情类电影是由于用户曾经观看过许多爱情类电影。

综上所述,电影气泡图的推荐结果确实能够满足用户当下的需求,且不需要等待计算过程,能够做到实时推荐。

在第三次测试中,我们登录了用户107 的账号,并选择了和第一次测试相同的电影。然后,将全局模型参数分别设置为0.1 和0.8,最终推荐结果分别如图10(a)、(b)所示,在图10(a)中,系统推荐了有关爱情与喜剧的影片《两小无猜》和《非常完美》,可以发现这两部电影与我们选择的人性、励志类题材电影截然不同。通过对用户画像的分析,我们发现该用户喜欢爱情、美国、经典、喜剧等电影。因此,当全局系数较小时,局部模型对最终推荐结果的影响较大。图10(b)展示的推荐结果所独有的两部影片都是newRate 值很高的电影——《这个杀手不太冷》和《辛德勒的名单》。这表示全局参数更大时,推荐结果从“更个性化”转为“更普适性”。通过上述测试,验证了全局模型参数的影响,证明了我们的系统可以让用户更准确地控制推荐结果。

图10 不同全局模型参数的推荐结果Fig.10 Recommended results for different global model parameters

5.2.2 局部人群内部用户案例分析

在对推荐系统中的局部人群内部进行案例分析后发现,任意两个用户在电影气泡云中选择相同的电影,只要他们属于同一个子群,那么推荐结果总是相同的。这与推荐系统的最初设计意图一致,针对不同的用户群体训练不同的推荐模型,而处于同一群体的用户由相同的推荐引擎生产推荐结果。

5.2.3 局部人群间用户案例分析

除了对同一局部人群进行测试外,我们使用用户87(子群4)和用户109(子群3)对不同局部群展开了分析。与上述测试案例一样,选取了《阿甘正传》、《美丽人生》、《放牛班的春天》这三部电影,并将全局参数设置为0.1。最终推荐结果如图11所示。

图11 不同局部人群的推荐结果Fig.11 Recommendation results for different local populations

在对比两组推荐结果后发现,《飞越疯人院》、《勇敢的心》、《千与千寻》、《霸王别姬》、《怦然心动》和《天使爱美丽》等电影只出现在用户87 的推荐结果中。《机器人总动员》、《泰坦尼克号》、《3 傻大闹宝莱坞》、《辛德勒的名单》、《这个杀手不太冷》和《罗马假日》等6 部电影则属于用户109。由此可知,即使初始电影和全局参数相同,只要属于不同局部模型,推荐结果的差异就会很大。这也说明不同局部人群的偏好区别大,融合模型能够个性化推荐。

通过以上案例分析,我们验证了推荐系统RecVis 推荐结果的准确性,反映了基于局部模型融合的推荐策略的合理性。

5.2.4 用户体验分析

为了验证本系统的可行性,我们邀请了12 位非推荐算法领域的普通用户对该系统进行深度体验,这项研究是基于个人进行的。首先,我们在没有任何介绍说明的情况下,让用户自行根据系统首页的简单介绍来了解该系统的大致功能和内容,用户可以自由探索并熟悉了解这个系统。随后,他们将完成一系列的评估任务,并回答下列问题。

表2 任务-提问内容Table 2 Task and Question content

这些评估任务的设计目的与我们之前总结的分析任务一致,若受访者回答正确,则视为通过该任务。最后,受试者需要填写一份调查问卷,该问卷包含6 个问题,其中1-5 的问题通过打分进行评估,最后一个问题为开放性问题。问题Q1:RecVis 的界面是否直观和易于使用?工作流程是否容易学习? Q2:用户画像中的主题分类是否合理?是否能够正确反映用户的观影历史?Q3:主题气泡图、主题雷达图以及推荐结果的结合分析,能否帮助您理解推荐结果的生成原因?Q4:通过电影气泡云图的实时推荐是否符合预期?Q5:该系统对您理解推荐结果的生成原因有多大帮助?Q6:该系统还有哪些需要改进地方?

基于任务的用户调查中,每个受访者熟悉系统并完成所有任务总共平均花费10 分钟,且几乎都能正确回答所设任务问题,仅有两人在面对任务2 中的第一个问题时存在迟疑,无法准确分辨电影类型特征,但在点击电影海报查看详情后立刻理解了电影特征。最后,我们根据受访者填写的问卷信息进行了汇总,打分情况如图12所示。

图12 用户满意度打分汇总表Fig.12 User Satisfaction ratings

从图中针对问题1 的打分情况可知,我们的系统是符合普通用户要求的,受访者就用户所需学习时间成本和图表的直观性而言给予了较高分数。另外,受访者均对通过LDA 主题模型针对电影主题的分类结果表示十分认可,例如主题2 中有“日本”、“动画”、“宫崎骏”、“二次元”等关键词,这与实际非常贴合,因为从1917年开始,日本的动画产业就没有间断过,甚至在全球范围内也是十分昌盛的,只是演员人名和电影类型标签的混合稍微让人感觉混乱。满意度最低的情况出现在问题4 中,有三成用户认为可以增加电影气泡云图选中电影后实时更新用户画像的功能,以增加对推荐结果生成原因的理解以及更多交互探索功能。总体而言,该系统符合普通用户需求,可以很好地展示用户的历史观影记录特征与推荐结果之间的关系,帮助普通用户理解推荐结果,增加了用户在推荐过程中的参与感。

6 总结

本文介绍了一种基于多模型融合的交互式电影推荐系统的设计、实现和测试。该系统相比于传统推荐算法使用用户-物品二部图来挖掘用户历史观影特性,使用基于标签的方法来描述用户的潜在喜好,并采用基于用户聚类的加权局部模型融合推荐算法,准确地捕获用户的局部特征,提供更个性化的推荐。此外,该系统使用基于Web 的可视交互系统RecVis,以提高用户对推荐结果的理解,并为其提供了参数控制和实时交互推荐等功能,能够增加用户在推荐过程中的参与感,提高用户体验。

为了验证本文推荐系统的准确性,我们对该领域中经典的推荐算法进行性能比较,最终结果表明,本文的算法表现更优。除此之外,还提出了一系列详尽的案例分析,从各方面验证了可视推荐系统RecVis 的有效性。

在未来的工作中,我们将对现有模型进行以下几个方面的改进。首先,在生成用户特征向量时,同时考虑用户-物品矩阵信息和用户观看电影的标签信息,使得模型能够更准确地挖掘用户偏好。其次,优化SLIM 线性稀疏模型,以提高最终融合系统的推荐质量。第三,设计更加合理的可视化模式。例如,将所有视图通过更加简练的方式合并在同一个页面,以实现更好的综合分析和交互效果。

利益冲突声明

所有作者声明不存在利益冲突关系。

猜你喜欢

气泡局部标签
爨体兰亭集序(局部)
SIAU诗杭便携式气泡水杯
浮法玻璃气泡的预防和控制对策
凡·高《夜晚露天咖啡座》局部[荷兰]
冰冻气泡
无惧标签 Alfa Romeo Giulia 200HP
不害怕撕掉标签的人,都活出了真正的漂亮
丁学军作品
局部遮光器
让衣柜摆脱“杂乱无章”的标签