您好, 访客   登录/注册

基于卷积神经网络的电视频道推荐算法

来源:用户上传      作者:邵文倩

  摘  要: 随着网络和电视服务行业的发展,网络电视平台可以为用户提供更丰富的电视频道,但对于用户而言,挑选喜爱频道的难度大幅提高。針对此问题,本文提出了基于文本卷积神经网络(TextCNN)的电视频道推荐算法,首先根据用户历史观看行为得到隐性观看特征,以及根据用户观看电视频道不同时段的节目简介得到用户特征标签和电视频道标签,然后在卷积神经网络模型中训练得到预测评分,最后通过预测评分对目标用户进行推荐个性化推荐,同时考虑了冷启动问题,使用K-Means方法来解决。我们设计了不同推荐算法的性能对比实验,最终通过基于广电运营平台中真实数据集的实验表明我们提出的算法优于其他几种基线推荐方法,提高了推荐质量。
  关键词: 电视频道;推荐算法;卷积神经网络;K-Means;TextCNN
  中图分类号: TP391    文献标识码: A    DOI:10.3969/j.issn.1003-6970.2020.10.039
  本文著录格式:邵文倩. 基于卷积神经网络的电视频道推荐算法[J]. 软件,2020,41(10):153156
  【Abstract】: Through the development of the Internet and TV service industries, Internet TV platforms can provide users with more abundant TV channels, but for users, the difficulty of choosing favorite channels has also increased significantly. To solve this problem, a TV channel recommendation algorithm based on text convolutional neural network (TextCNN) is proposed. At first, the implicit viewing characteristics are obtained according to historical viewing behavior of users, and the user characteristic labels and TV channel labels are obtained according to the program introduction of different programs of the user watching the TV channel. Then trained in the convolutional neural network model to obtain the prediction score, and finally made personalized recommendations to the target users through the prediction score. At the same time, considering the cold start problem, the k-means method was used to solve it. Performance comparison experiments of various recommendation algorithms under different evaluation indicators are designed. Finally, experiments based on real data sets in the broadcasting and television operation platform show that our proposed algorithm replaces several other optional recommendation methods and improves the recommendation quality.
  【Key words】: TV channel; Recommendation algorithm; K-Means; TextCNN
  0  引言
  现有的大多数电视服务只提供电子节目指南(Electronic program guides,EPG),即为用户提供电视频道直播和视频点播服务,用户可以根据EPG中提供的菜单列表选择自己喜欢的节目或者频道,点播视频或者节目等。但普通的EPG并非根据用户个人偏好设计,面对琳琅满目的电视频道,如何引导用户快速找到自己喜爱的频道,从而提高用户的观看质量,成为电视服务供应商面对的至关重要的问题。
  电视推荐属于推荐系统应用的一大领域,文献[1]中对电视领域推荐系统的研究综述阐明,在电视领域内很多项目的推荐已经被广泛应用。文献[2]中提出了一种基于时间上下文因素和隐式反馈张量分解的个性化电视节目推荐系统。文献[3]鉴于在微博平台上用户交互和生成内容的可用性,使用协同过滤方法中的概率矩阵分解来提高用户兴趣的相似度。文献[4-5]基于LDA模型对电视节目和用户进行统一建模从而推荐,也取得良好的效果。文献[6]定义了用户的可观察时间间隔,同时提出了一种基于协同过滤的新颖框架。
  虽然当前研究大多数偏向推荐电视领域内的电视节目或电影,极少部分推荐电视频道,但仍有部分研究给我们提供参考。例如,文献[7]分析了用户切换电视频道序列的行为,使用了一种集成的方法对用户进行频道推荐,通过与各种预测模型,排序方法和数据划分的模型融合,进一步提高了基本推荐系统的准确性。此外,还有一些其他研究,文献[8]在文章中指出了电视直播频道推荐中存在的问题,提出了一种智能的预测方法来为用户进行预测。除了机器学习的方法,也有深度学习的方法对电视频道推荐进行改进,文献[9]使用IPTV频道观看序列训练独立的LSTM模型。但传统的电视推荐方法无法完全捕捉用户的观看特征和电视频道特征,因此,本文提出了基于卷积神经网络的电视频道推荐算法,对目标用户进行个性化推荐。   1  基于卷积神经网络的电视节目推荐算法
  1.1  Text-CNN模型框架
  卷积神经网络(Convolutional Neural Networks,CNN)主要由卷积和池化操作构成,经常用来处理具有类似网格拓扑结构的数据,例如图像可以视为二维网格的像素点,事实上自然语言可以视为一维的词序列。卷积神经网络可以提取多种局部特征,并对其进行组合抽象得到更高级的特征表示。
  在深度学习的研究中,对于类别字段常采用一位有效编码方式编码。由于数据集中有类别繁多的用户号、电视频道标识号,使得该编码方式无法满足神经网络输入维度的合理控制,因此,在网络的第一层使用了嵌入层,将用户号、电视频道标识号作为嵌入矩阵的索引。每个用户号与相应的用户特征标签输入嵌入层,映射为维度大小为1×32的向量表示,输入全连接层得到用户特征。同时,将每个频道标识号与对应频道标签输入嵌入层,由于某些电视频道可能有多个标签,因此需要对嵌入矩阵进行求和,同样映射为维度大小为1×32的向量表示,卷积神经网络模型如图1所示。对于电视频道名称,则利用文本卷积神经网络进行处理,如图2所示。网络第一层为词嵌入层,由电视频道名称的每一个字符的嵌入向量组成嵌入矩阵,下一层使用多个不同尺寸的卷积核在嵌入矩阵上做卷积,第三层网络为池化层,利用池化操作得到一个一维向量并使Dropout做正则化处理,最终得到电视频道名称的特征。
  1.2  评分体系与特征标签
  我们使用隐性评分对数据进行筛选和打分得到真实评分,对节目推荐系统输出节目评分矩阵。针对所给数据分析后可知,电视用户对于频道评分的影响因素主要为两点。首先是电视观看时间,这是主要的影响因素,观看时间很大程度代表了用户的喜好程度[10]。当然这里的时间必须归一化处理,最终采用频道观看时间占总时间的比例。其次是频道观看频率,观看频率是最重要影响因素,可以一定程度上体现出用户对该频道的喜好程度。
  本文采用基于电视频道的观看频率与平均观看时长作为评分的测度指标, 定义为用户对电视频道的观看时长,观看频率为,其中电视频道时长是频道除了广告之外的所有时长。我们根据用户平均观看时长与电视频道时长的比值,将收视用户对于不同电视频道的评分划分为10个分数等级,记为用户对电视频道的评分,收视用户的隐性评分公式见式(1)和式(2):
  1.3  Text-CNN卷积层
  针对文本向量进行卷积操作是提取文本向量高层次特征的一个重要过程。算法的性能与该层的卷积窗口大小、学习速率、卷积步长有关[11],本文卷积窗口的尺寸设置为,卷积窗口个数 ,学习速率,卷积步长设置为。详细的文本卷积如式(3)-式(5)所示:
  我们提取了用户收视信息中的有效信息,该信息中共包含245个电视频道,由于embedding函数需要为对嵌入矩阵的索引进行匹配,因此我们建立了245個电视频道标识号的匹配索引。嵌入层矩阵W为扩展后的电视频道名称矩阵,其维度为24532,其中表示第个节目名称中第个字符的特征向量,表示卷积窗口到卷积窗口进行拼接得到的特征向量,卷积核可表示为一个维度为的矩阵,即,特征图可得到个特征。矩阵G为卷积核函数矩阵,该矩阵的维度与输入的电视频道名称数和卷积窗口有关。
  矩阵H为输入矩阵W与卷积核函数矩阵G卷积的结果。其中,代表第个节名称通过次卷积得到的向量。将矩阵H进行非线性处理需要非线性激活函数,本文采用ReLu激活函数。
  1.4  TextCNN池化层
  池化层又被称为子采样层或下采样层,在卷积层之后添加一个池化层对卷积层得到每一个特征图进行池化操作,常用的池化操作包括最大池化和平均池化,最大值池化操作选择特征图中的最大值[12-13],平均值池化选择特征图中的平均值,本文采用最大值池化操作。池化层旨在对特征图进行缩放同时降低网络的复杂度,通过最大值池化操作可以得到该卷积核的主要特征,至此每一个卷积核可以提取出一个特征。假设在卷积层第个卷积核得到的特征图为 具体池化操作如式(6)表示,其中表示池化操作。
  1.5  冷启动问题
  针对用户冷启动问题,我们首先进行统计分析,找出每个用户观看的电视频道类型,然后再对这些电道类标签进行K-Means聚类,找出相同的电视频道类别,在相同的电视频道类别中,给新用户推荐其他老所评价较高的电视频道。
  在算法中,首先初始簇心的选择是随机的,然后通过相似度计算,再把数据集中的数据样本与最近的初始中心归为一类,不断重复这一过程,直到各个初始中心在某个精度范围内不变。我们将用户号和电视根关的标签进行聚类。首先在包含1329个用户中随机选择个用户作为聚类的初始簇心利用式(7)计算出各个用户到的距离,找到每个样本数据p的最小距离,将p加入到与相同的簇中,完成所有样本的遍历后使用式(8)重新计算的值,作为新的簇心,重复上述步骤直到目标函数E不再变化,目标函数E如式(9)所示。对于没有历史数据的用户,我们保证对其推荐的电视频道覆盖到了所有的类别中,以便更加全面地满足各个用户的需求。
  2  实验析
  2.1  实验数据采集
  为了通过实验证明基于卷积神经网络的电视频道推荐算法的有效性,我们使用了某广电网络运营公司大数据基础营销服务平台中真实电视频道观看历史数据和电视频道播放节目数据,日期为2019年7月1日至2019年9月29日。电视频道观看历史数据统计了561288条数据,由1329个用户观看的245个电视频道的记录,字段包括用户设备号、统计日期、频道号、收看开始时间和收看结束时间。电视频道播放节目数据将电视频道和电视频道联系起来,数据包含电视频道播放的1352个电视节目,字段包括频道名称、日期、节目名称、开始时间。为获取1352个电视节目信息,我们爬取了节目名称、中文名、导演、类型、简介信息等数据。从电视频道观看历史数据、电视频道播放节目数据、电视节目信息中,我们获取了所有电视频道24小时各时段的播放节目类型信息,从而利用该信息提取各用户特征标签。我们爬取了频道名称、类型、口号和简介等数据来获取245个电视频道的频道标签。   2.2  数据预处理与实验设计
  首先,对数据集中的用户收视信息进行用户观看行为统计分析,共计256个用户不存在任何收视和点播信息。对此类用户,我们使用冷启动问题解决办法。为了获得具有更高质量的电视频道的观看历史数据,需要对数据进行预处理。在电视频道观看历史中,有将近90%的数据都是小于160分钟的,其中1分钟至11分钟的数据量达到最大。过长时间观看的记录被视为不活跃的记录,短时间的观看记录考虑是用户暂无感兴趣节目,所以总体考虑保留2分钟到200分钟的观看历史记录。
  本文采用留一法交叉验证假设样本数据集中有N个样本数据,将每个样本单独作为测试集,其余 个样本作为训练集,这样得到了N个模型,用这N个模型的分类准确率的平均数作为此模型的性能指标。对于个性化推荐算法的主要评价标准一般选用准确率、召回率以及F1。
  2.3  實验结果及分析
  模型的训练基于Tensorflow开源框架,对用户评分的拟合可规约于回归问题。经过神经网络对用户信息和频道信息的特征提取后,将两个特征作为输入信息,传入下一层全连接层,损失函数采用RMSE进行计算,采用随机梯度下降法对网络的参数进行更新。
  算法的测试数据集为清洗规约后的标准结构化数据集,本文主要测试算法运行的终止准则为Epochs= 100,模型损失函数采用随机梯度下降法(Stochastic Gradient Descent,SGD)进行迭代优化,SGD学习速率设置为0.005。本节给出了五种推荐算法KNN、SVD、协同过滤、LSTM和TextCNN在准确率、召回率和F1指标上的性能对比,详细对比结果见图3所示。
  本文所提出的基于文本卷积神经网络的推荐算法在5-Folds交叉测试的平均精确率和F1指标明显优于其他算法,说明我们提出的基于文本的卷积神经网络方法能够精准地推荐用户需要的电视频道。此外,LSTM算法在F1指数上也明显占优,说明该算法也是一种解决电视产品营销推荐问题的有效推荐算法。
  3  结论
  当前研究大多数偏向推荐电视领域内的电视节目或电影,较少探究电视频道推荐的内容。本文利用了卷积神经网络局部特征提取的功能,根据用户历史观看记录进行分析得到隐性观看评分,同时通过电视频道不同时段的节目简介得到用户特征标签和电视频道标签,将标签和在卷积神经网络模型中进行训练得到预测评分,最后通过预测评分对目标用户进行推荐个性化推荐,同时考虑了冷启动问题。实验结果表明本文的算法能够对用户进行比较精确的推荐,优于其他几种基线推荐方法。
  参考文献
  [1]Veras D, Prota T, Bispo A, et al. A literature review of recommender systems in the television domain[J]. Expert Systems with Application, 2015, 42(22下): 9046-9076.
  [2]Almutairi F M, Sidiropoulos N D, Karypis G. Context-Aware Recommendation-Based Learning Analytics Using Tensor and Coupled Matrix Factorization[J]. Selected Topics in Signal Processing, IEEE Journal of, 2017, 11(5): 729-741.
  [3]Zhang Y, Chen W, Yin Z. Collaborative filtering with social regularization for tv program recommendation. Knowledge-Based Systems, 54(dec.), 310-317(2013).
  [4]Pyo S, Kim E, Kim M. LDA-Based Unified Topic Modeling for Similar TV User Grouping and TV Program Recommendation[J]. Cybernetics, IEEE Transactions on, 2015, 45(8): 1476-1490.
  [5]Zhang J, Li Y, Chen M, et al. An implicit feedback integrated LDA-based topic model for IPTV program recommendation[C]// 2016 16th International Symposium on Communications and Information Technologies (ISCIT). IEEE, 2016.
  [6]Cho, K., Lee, Y., Han, K., Choi, J., Kim, S.: No That’s Not My Feedback: TV Show Recommendation Using Watchable Interval[C]// 2019 IEEE 35th International Conference on Data Engineering. Macao: ICDE, 2019: 316-327. (2019).
  [7]Yu C, Ding H,Cao H, Liu Y, and Yang C. 2017. Follow Me: Personalized IPTV Channel Switching Guide. In Proceedings of the 8th ACM on Multimedia Systems Conference (MMSys’17). Association for Computing Machine-ry, New York, NY, USA, 147–157.
  [8]Ning L, Zhao Z, Zhou R, Zhang Y, Feng S: Realtime Channel Recommendation: Switch Smartly While Watching TV. International Workshop on Frontiers in Algorithmics. Springer International Publishing (2016).
  [9]Yang C, Ren S, Liu Y, et al. Personalized Channel Recommendation Deep Learning From a Switch Sequence[J]. IEEE Access, 2018, 6: 50824-50838.
  [10]任思璇. 网络电视用户个性化直播频道推荐方法研究[D].华南理工大学, 2018.
  [11]陶文静. 基于卷积神经网络的新闻文本分类研究[D]. 北京交通大学, 2019.
  [12]康雁, 杨其越, 李浩, 等. 基于主题相似性聚类的自适应文本分类[J/OL]. 计算机工程: 1-7 [2020-03-13].
  [13]Guo B, Zhang C, Liu J, et al. Improving text classification with weighted word embeddings via a multi-channel TextCNN model[J]. Elsevier B.V., 2019, 363.
转载注明来源:https://www.xzbu.com/8/view-15375540.htm