基于弹幕情感分析和主题模型的视频推荐算法

2021-11-05 01:29朱思淼魏世伟魏思恒余敦辉
计算机应用 2021年10期
关键词:认可度弹幕向量

朱思淼,魏世伟*,魏思恒,余敦辉,2

(1.湖北大学计算机与信息工程学院,武汉 430062;2.湖北省教育信息化工程技术研究中心(湖北大学),武汉 430062)

0 引言

随着Web3.0 时代的到来,互联网应用技术越来越围绕用户个性化网络而蓬勃发展,随之而来的是海量数据下信息过载与数据筛选所带来的挑战,因此,如何为用户提供个性化推荐成为当下研究热点之一。

近几年,一种新型的基于视频时间轴且可显示在视频中的文本评论方式——“弹幕”迅速占领市场,并广受网民喜爱。起初弹幕只是小范围流行于一些动漫网站,伴随弹幕良好的交互性与娱乐性,越来越多的主流视频网站如腾讯视频、爱奇艺视频都增加了弹幕评论的功能,最初的动漫弹幕网站哔哩哔哩(Bilibili)视频网如今也成为了国内最大的互联网自制视频网站,而世界最大的视频网站YouTube 也出现了弹幕评论插件。弹幕评论具有社交性和情感性两方面特点,可用来作为有效数据完成对视频推荐系统的改进与完善。

目前,针对弹幕评论数据的研究并不多,尤其在推荐系统中,弹幕数据价值尚未被充分挖掘,在当下海量“短视频+短评论”的视频环境下,大量用户的自制视频缺少评分和分类,对于视频的推荐仍然以传统的协同过滤方法为主。弹幕不同于传统的文本评论,其基于视频时间轴的即时性,可以从一定程度上反映视频的内容,所以通过对于弹幕的信息挖掘后,可基于视频内容进行推荐。通过对于弹幕的情感分析,可以更好地发挥弹幕自身的情感性,同时也为源源不断的自制视频在内容上进行了情感分类。

针对网络上大量自制视频缺少用户评分、推荐准确率不高和对弹幕数据情感性未充分利用的问题,本文提出了一种基于弹幕情感分析和主题模型的视频推荐算法(Video Recommendation algorithm based on Danmaku Sentiment Analysis and topic model,VRDSA)。通过视频间的相似度、视频的播放量、收藏数、点赞数等特征计算视频的综合认可度,并结合用户对视频的偏好度来完成对视频的推荐。实验结果表明,本文算法对弹幕进行情感分析,并融合主题模型对视频进行推荐。算法充分挖掘了弹幕数据的情感性,使推荐结果更加准确。

1 相关工作

1.1 中文弹幕

当前,众多学者对中文弹幕进行了研究,并取得一系列成果:文献[1]从传播学角度研究了弹幕的作用与受众,指出弹幕正以积极的态势发展,并具有较强研究价值和商业价值;文献[2]提出对视频中的弹幕进行情感分析,虽然主要针对视频片段,但为弹幕的研究方式提供了新思路;文献[3]通过对弹幕进行分析,并根据弹幕数据提出了一种对用户进行聚类的算法,主要研究方向是用户的分类;文献[4]提出的融合协同过滤和主题模型的弹幕视频推荐算法(Danmaku video Recommendation algorithm combing Collaborative Filtering and Topic model,DRCFT)融合了协同过滤和LDA(Latent Dirichlet Allocation)主题模型,基于弹幕对视频进行了推荐系统的完善,但未从情感维度对弹幕进行分析,没有充分利用弹幕的情感性。尽管中文弹幕有较强的研究意义,但目前仍存在一些研究难点:1)弹幕文本过于简短、口头化;2)弹幕中容易出现大量网络用语,难以使用传统的情感词典进行分析;3)弹幕往往会出现与视频相关度较低的内容。因此,对弹幕数据的预处理是进行弹幕研究过程中非常关键的步骤。

1.2 弹幕情感分析

弹幕的情感分析与传统中文文本的情感分析紧密相关,但其领域性更强,且弹幕评论会随着视频内容变化而不断变化,因此不能像处理商品评论一般直接根据评论内容判断视频的情感极性。目前针对弹幕文本情感分析的主要方法有基于情感词典的方法和基于机器学习的方法。情感词典可通过人工编写、启发式算法来构建,且不同领域的情感词典对文本情感分析结果也有较大的影响,文献[5]提出了一种基于词向量的情感词典构建方法,以多部已有中文情感词典为基础,结合词嵌入表示方法,构建了一部面向弹幕领域的情感词典。基于机器学习的方法需要大量的训练数据且依赖对数据一定规模的人工标注,文献[6]根据弹幕碎片化、口语化的特点提出了基于词频-逆文本频率指数(Term Frequency-Inverse Document Frequency,TF-IDF)与支持向量机(Support Vector Machine,SVM)的情感极性分析模型,利用较少的已标注样本完成对大量未标注弹幕评论样本的情感极性分类。文献[7]利用了弹幕包含时间序列的特点,基于长短期记忆(Long Short-Term Memory,LSTM)网络模型提取弹幕评论的深层特征,利用弹幕评论文本中的依赖关系突出关键情感词的情感权重。由于弹幕区别于传统评论的多种特性,对弹幕领域的情感分析研究仍有待发展。

1.3 LDA主题模型

LDA 主题模型是一种文档主题生成模型,该模型假设每篇文章都是以一定概率选择某个主题,然后从这个主题中以一定概率选择一个词语,最后由若干个选出的词语构成。LDA 主题模型在概率潜在语义分析(probabilistic Latent Semantic Analysis,pLSA)的基础上利用Dirichlet 分布得到文档主题和词语的先验分布,并通过Gibbs 采样来得到文档中的文档-主题分布和主题-词语分布。LDA 主题模型的图模型结构如图1所示。

图1 中,α和β都是Dirichlet 分布,通过Gibbs 抽样分别得到文档i的主题分布θi和主题Zi,j的对应词语分布;通过主题分布θi得到文档i中第j个词的主题Zi,j;最后从词语分布中采样生成词语Wi,j。

文献[8]中提出了基于LDA 主题模型进行文本相似度计算的方法,增强了文档的向量表示,使相似度的准确率更高;文献[9-10]分别将LDA 主题模型用于推荐系统的改进,但都没有对弹幕数据进行研究。

2 基于弹幕情感分析和主题模型的视频推荐算法

本文从视频内容的情感分布、视频的主题和视频的认可度三方面入手,分别对视频的弹幕、视频的标签、视频的播放数与收藏数等用户互动指标进行量化,提出了VRDSA。VRDSA 通过视频弹幕得到视频间情感向量的相似度,基于视频标签得到视频间主题分布的相似度,进而得到视频的综合相似度,然后结合用户的历史记录得到用户对视频的偏好度;接下来,基于视频的播放数、收藏数等指标对视频的大众认可度进行量化,并结合用户历史记录计算视频的综合认可度;最后以用户对视频的偏好度为权重,预测用户对视频的认可度,实现对用户个性化的推荐。该算法解决了网络自制视频没有用户评分,且缺少情感标签因而难以针对视频自身内容进行分析并推荐的问题。

VRDSA的步骤如下:

1)对视频中的弹幕文档进行预处理,使用情感词典进行情感词匹配,得到视频的情感向量,并通过情感向量计算视频间的情感相似度。

2)对视频自带标签进行LDA 主题建模,得到每个视频各自标签的主题分布,使用标签的主题分布计算视频之间的主题相似度。

3)将视频之间的情感相似度和主题相似度进行融合,得到视频之间的综合相似度,并结合用户的历史记录计算用户对目标视频的偏好度。

4)对视频的点赞量、播放量等指标进行量化,得到视频的大众认可度。然后结合用户的历史记录与视频的综合相似度计算视频的综合认可度以调整目标视频的认可度。

5)基于用户偏好度和视频的综合认可度,将用户对视频的偏好度作为权重来预测用户对视频的认可度,最终通过用户对视频的认可度来生成top-k推荐列表,完成推荐。

VRDSA的流程如图2所示。

图2 VRDSA流程Fig.2 Flowchart of VRDSA

2.1 视频基于弹幕的情感分析

2.1.1 弹幕数据获取和预处理

虽然目前大部分视频网站和应用都加入了弹幕评论的功能,但较早引入弹幕的Bilibili视频网依然是国内最大的弹幕视频网站,它拥有着大量社区用户和网络自制视频,并且有独特的弹幕文化,是弹幕研究的首选网站。因此本文利用Python中的requests库和bs4库来爬取Bilibili 视频网中的弹幕可扩展标记语言(eXtensible Markup Language,XML)文件,去除重复弹幕,利用Jieba库并引入文献[8]中构建的弹幕文本情感词典对弹幕文档进行分词,使用停用词表去除弹幕中无用词汇。经过预处理后的每条弹幕都相当于一个词语集合。

2.1.2 视频情感向量计算

本文选用大连理工大学中文情感词汇本体库及文献[9]中构建的弹幕文本情感词典来进行视频情感向量的计算,处理弹幕中的网络语言时,结合两种情感词典可以取得更好的效果。根据情感词典中的词语在7个情感大类中的情感强度对每个词构造一个7维的情感向量EW=,其中每个维度代表着一种感情,分别为:乐、好、怒、哀、惧、恶、惊。如“滑稽”一词的情感向量EW=(3,0,0,0,0,3,0),表明它在“乐”与“恶”之间都有一定的感情倾向。通过对弹幕的预处理后,每条弹幕可看作是若干词语的集合,将该集合中的词与情感词典进行匹配,在匹配的过程中,弹幕的其他无关词汇会被过滤,然后将匹配后的集合中各个词语的情感向量相加且归一化处理,得到每条弹幕的情感向量为:

其中:代表弹幕d中第i个情感词的情感向量;M为情感词的向量求和后7 个维度中的最大值,以此进行归一化处理。若经过预处理后的弹幕没有与情感词典相匹配的词,则不对该条弹幕进行计算。

对视频中所有弹幕的情感向量求平均值,得到视频的情感向量:

其中:n为视频中弹幕的数量为第k个弹幕的情感向量。

2.2 视频相似度计算

2.2.1 视频的情感相似度

在计算得到视频的情感向量EV后,可通过余弦相似度(Cosine Similarity)来计算两个视频之间的情感相似度:

其中:是视频i的情感向量是视频j的情感向量是视频i的情感向量中第k个维度的情感指数。通过情感向量的余弦相似度可计算视频i与视频j在情感维度的相似性。

2.2.2 视频的主题相似度

现在大部分视频网站在用户上传视频时,通常引导用户为视频添加标签以确定视频的主题以便分类。标签一般由多个短词语组成,可以从多个方面体现视频的主题。这种由多个主题词组成的标签可用来计算视频之间的主题相似度。

针对视频标签的处理,本文使用LDA 主题模型以多个视频的标签词语集合作为语料库,采用Gibbs 采样算法进行建模,得到视频的标签主题分布矩阵,并计算视频标签之间的主题相似度,以此反映视频之间的主题相似度:

其中:代表视频i的主题分布,可将其视作一个m维的向量(m为LDA 主题的数量)代表视频i的主题分布中第k个主题的权重。通过视频标签主题分布的余弦相似度计算出视频i和j之间的主题相似度。

计算出视频的情感相似度和主题相似度后,通过加权求和的方式将两种相似度融合得到视频之间的综合相似度:

其中:simV(Vi,Vj)代表视频i,j之间的综合相似度;代表视频i,j之间的情感相似度代表视频i,j之间的主题相似度;α为权重系数。当α=1 时,视频的综合相似度等于视频的情感相似度,此时视频缺少视频标签;当α=0 时,视频的综合相似度等于视频的主题相似度,此时视频缺少弹幕。

用户对视频的偏好度利用用户的历史观看视频集合Hu和集合中视频与目标视频的相似度得到:

其中:simV(Vi,Vk)为用户u历史观看视频Vi与目标视频Vk的相似度;|Hu|为历史观看视频集合的数量。

2.3 基于用户偏好度和视频认可度的推荐

目前,类似于YouTube、Bilibili 这类综合视频网站平台拥有大量网络自制视频,由于这些视频数量多,主题杂,内容、风格差异大,难以像电影评分系统一样来衡量视频的认可度,因此可以充分利用视频的用户互动数据如点赞数、收藏数、分享数等来量化视频的认可度。本文提出了视频的大众认可度和综合认可度两个认可度量化值。

Bilibili 视频网站中的视频用户互动指标如表1 所示,其中,投币数是观看视频的用户将自己的网站虚拟货币赠送给视频创作者以此作为激励,此虚拟货币无需充值。

表1 视频用户互动指标Tab.1 Video user interaction metrics

基于Bilibili 视频的用户互动数据的设置方式,视频k的大众认可度计算方式如下:

其中:β为各用户互动数据指标的权值,通过对Bilibili 视频网视频排行榜中视频分数的拟合,结合层次分析法(Analytic Hierarchy Process,AHP)和熵权法共同确定。考虑到评论对于视频的评价有正向和反向,因此未将评论数replynum作为衡量视频大众认可度的指标。具体权重数值如表2所示。

表2 视频用户互动指标权重Tab.2 Weights of video user interaction metrics

接下来,对未经过归一化处理的大众认可度进行归一化处理,得到最终的大众认可度:

其中MAX代表未归一化之前大众认可度的最大值。

为了避免部分视频大众认可度过高对推荐结果造成的影响,使用综合认可度来调整目标视频的认可度。通过视频的综合相似度得到视频k的邻近项目集Nk,结合用户u的历史记录项目集Hu得到两个集合的交集I,使用式(8)相同方法,可以计算出交集I中任意视频i的大众认可度Recpi。最后,计算交集I中视频和目标视频的大众认可度平均值,得到目标视频的综合认可度:

其中:Recpi为视频k的邻近项目集与用户u的历史记录项目集Hu的交集I中视频的大众认可度;Recpk为目标视频的大众认可度;|I|为交集元素个数。当交集为空集时,即视频k的邻近项目集与用户u的历史记录项目集Hu没有交集时,目标视频k的综合认可度Recsk为自身的大众认可度Recpk。

基于用户偏好度和视频的综合认可度,将用户对视频的偏好度作为权重来预测用户对视频的认可度:

其中:preferuk表示用户u对视频k的偏好度;Recsk表示视频k的综合认可度。

通过式(10)可以针对用户喜好对目标视频的认可度进行调整:如果用户对目标视频的偏好度较高,则用户对此视频的认可度也高;如果用户对目标视频的偏好度不高,则即使该视频的综合认可度较高,但对该用户而言认可度会降低。根据VRDSA 预测出的用户对视频的认可度,可得到目标用户认可度最高的top-k个视频,最终形成推荐列表并推荐给用户。

3 实验与结果分析

3.1 数据集

本文实验数据集来源于BiliBili 视频网站,使用聚焦爬虫从该视频网站的Vlog 频道爬取3 102 个视频的所有相关用户互动数据,以及3 375 877 条弹幕,涉及用户1 015 641 个。通过数据预处理进行弹幕去重、删除历史记录稀疏用户、剔除部分数据异常视频后剩余视频2 752 条,有效活跃用户数量1 071个,每个用户平均约有60条历史观看记录。为减小实验误差,采用三折交叉验证的方式进行实验。

3.2 评价指标

本文使用准确率(Precision,P)、召回率(Recall,R)及F值(F1)三个在推荐系统的评估中广泛使用的实验评价指标来对实验结果进行分析和评价。

准确率公式:

F值公式:

其中:R(u)为VRDSA 生成top-k推荐列表中的视频项目;T(u)为测试集中用户实际观看过的视频项目。

准确率为成功推荐的视频数量与top-k推荐列表中视频数量的比值,用于衡量推荐算法的准确程度;召回率为成功推荐的视频数量与用户观看记录数量的比值。随着top-k推荐列表中视频数量的增加,准确率会降低,而召回率会增加,因而引入准确率和召回率的加权调和平均值F1 来对推荐算法进行综合衡量。同等情况下,F1 越高,表明推荐算法的效果越好。

3.3 结果分析

实验硬件环境为Intel Core i5-7400 处理器,16 GB 内存;软件环境为Windows 10 x64 操作系统,代码使用Python3.7.0实现。实验数据参数如表3所示。

表3 实验数据参数Tab.3 Experimental data parameter

3.3.1 LDA相关参数确定

在LDA 主题模型的构建中,需要确定主题的个数和词语采样迭代次数两个参数。设定历史记录数据规模为20 000,推荐数量为10,融合参数α为0,即仅使用主题相似度探究主题个数和迭代次数对精确率、召回率和F 值的影响,得到最优参数,结果如图3所示。

图3 不同主题个数和迭代次数下的评价指标Fig.3 Evaluation metrics at different numbers of topics and iterations

由图3可知,随着LDA主题数t增加,3个评价指标先逐渐增大,再突然减小后出现波动,在t为40 或50 时,3 个评价指标取得了较高的值,且相较于t=90 在建模过程中更有效率。而迭代次数对评价指标的影响并不大,从图3可知,iteration=500 时算法有最好的效果,故确定LDA 主题个数t=40,迭代次数iteration=500。

3.3.2 数据规模和融合参数的确定

确定LDA 模型构建的参数后,探究不同历史推荐数量r和不同融合参数α的情况下评价指标的变化。

1)历史推荐数量r的确定。

确定LDA 主题个数t=40,迭代次数iteration=500,融合参数设置为0,探究不同历史记录数据规模r下准确率、召回率、F值的变化,结果如图4所示。

由图4 可知,随着历史记录数据规模的增加,准确率、召回率、F 值都在逐渐增大,在r为70 000 时达到最大值,故确定实验所使用的历史记录数据规模r为70 000。

图4 不同历史记录数据规模和推荐数量下的评价指标Fig.4 Evaluation metrics at different history record data sizes and numbers of recommendations

2)融合参数α的确定。

得到使算法表现最佳的历史记录数据规模r后,在同样的条件下探究不同的相似度融合参数α对准确率、召回率、F值的影响,结果如图5所示。

由图5 可知,推荐数量对融合参数并无明显影响,随着α增加,3个评价指标均先增加后降低。准确率、召回率、F值在α取值为0.2~0.5 时相差不大,在α为0.3 时达到最大值,故α取0.3。仅使用主题相似度时效果较好,通过融合参数与情感相似度进行融合后可达到最佳效果。

图5 不同融合参数和推荐数量下的评价指标Fig.5 Evaluation metrics at different fusion parameters and numbers of recommendations

由图4和图5可知,推荐个数对于历史数量和融合参数的确定没有明显影响。由于随着推荐个数增加,准确率增加、召回率降低,故用F值确定最佳推荐个数,从图4~5中可知,N为30或40时算法的效果最佳。

3.3.3 算法的有效性验证

在确定LDA 主题个数t为40,迭代次数iteration为500,历史记录数据规模r为70 000,融合参数α为0.3后,将本文提出的VRDSA 与当前主流的四种算法,即传统基于物品的协同过滤算法(itembasedCF)、基于标签生成的主题模型tag-LDA 算法、嵌入LDA 主题模型的协同过滤算法(Unifying LDA and Ratings Collaborative Filtering,ULR-itemCF)[16]、融合协同过滤和主题模型的弹幕视频推荐算法(DRCFT)[4],基于准确率、召回率、F值进行对比,验证在不同推荐数量N下VRDSA的有效性,结果如图6所示。

由图6 可知,随着推荐数量的增加,本文算法的F 值先增加后缓慢下降,评价指标均优于其他四种算法,表明本文算法在不同推荐数量下推荐的效果均优于目前主流的视频推荐算法。在推荐数量N为10~40时均有较好的效果,算法的F值明显高于其他算法;数值当N超过40 时,受实验数据集数据规模影响,推荐算法的F 值逐渐趋于平缓下降趋势,当推荐数量N为60 时,本文算法的效果逐渐接近DRCFT 算法;后续若再次增大推荐数量N,所有算法的F 值均会缓慢下降。若需要进一步凸显本算法的优势,数据规模应该进行进一步扩充。

图6 各算法不同推荐数量下的评价指标Fig.6 Evaluation metrics of different algorithms at different numbers of recommendations

4 结语

本文提出了一种基于弹幕情感分析和主题模型的视频推荐算法(VRDSA),对新兴的弹幕评论进行情感分析,结合视频自带标签对视频的相似度进行计算;并利用视频的用户互动数据对视频的认可度进行量化,解决了网络自制视频缺少合理评分的问题,实现了基于用户自身特征与视频内容的综合推荐,且达到了较好的效果。针对冷启动问题,一方面通过基于视频标签的相似度计算,可解决因缺少弹幕而无法对视频进行情感分析的问题;另一方面对于缺少历史播放记录的新用户,VRDSA将推荐综合认可度较高的视频。

基于视频内容的视频推荐相较于其他方面的推荐较有难度,而弹幕作为视频中的实时评论还有很多内容可以去挖掘。今后将进一步完善弹幕的文本分析处理工作,并结合单个用户的弹幕内容和视频互动行为刻画用户画像,提高推荐的准确率。

猜你喜欢
认可度弹幕向量
向量的分解
搞笑弹幕一箩筐
拜托了,弹幕君
当四大名著遇上弹幕
关于家长对幼儿园体育活动的认可度和支持度的调查研究
提升职业院校毕业生对母校的推荐度
护理学基础教学中高仿真模拟人技能训练系统的有效运用分析
翻转课堂教学模式的变式实践与启示
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线