1. 引言
预测电影票房已经成为一种新型需求,投资人通过衡量电影票房收入和电影制作预算来判断投资回报,同时电影票房预测可以为投资决策、广告策略等提供参考信息,对电影行业发展具有重要意义。
在电影票房预测研究中,研究人员使用计量经济学和机器学习方法对电影票房预测进行广泛研究,基于电影属性分析电影票房的影响因素,再利用影响因素进行电影票房预测 [1] [2] [3] 。Dai等人 [4] 使用灰色关联度计算分析电影票房的影响因素,再使用神经网络对票房进行预测。Wang等人 [5] 利用动态异构网络学习演员、导演和公司之间潜在表征,使用深度学习模型从预告片中提取电影质量的高级表示,基于学习到的特征来训练预测模型,进行票房预测。
随着社交媒体的兴起,研究人员开始从数据驱动角度考虑电影票房预测问题 [6] [7] [8] [9] 。从社交媒体上获取消费者对不同电影的评价,消费者对不同明星的喜爱程度等各种信息,通过对这些信息进行情感分析等处理,再对电影票房进行预测。Asur等人 [10] 提出了一种正负极性模型,该模型可以对网络评论进行情感分析,基于这些分析进行电影票房预测。Kim等人 [2] 基于社交网络服务数据,提出了非累计票房的预测模型。Shen等人 [11] 基于社交网络评论分析电影演员的社会网络特征,结合电影元数据特征和演员社交网络度量等特征,提出FC-GRU-CNN电影票房预测模型。QIU等人 [12] 利用微博上的影评,计算网络指数和影评来进行票房预测。然而,现有的有监督模型不能很好地适应电影票房数据量较低的预测场景,导致模型预测精度较低。
随着深度学习模型规模的扩大,Bert [13] 、GPT [14] [15] [16] 等预训练模型取得成功,预训练-微调策略已经被应用在多模态模型 [17] [18] 、计算机视觉 [19] [20] [21] 、自然语言处理 [22] [23] 等领域。在自然语言处理领域,基于在大量文本数据集的预训练后,可以将模型应用在各种自然语言处理的子任务中,并有着较好的性能,例如机器翻译 [24] [25] ,实体类型推断 [26] [27] ,序列标记 [28] 等。预训练可以帮助模型在目标任务中,仅需要少量的目标任务数据,即可完成任务。
除了电影票房之外,电影评分也是评判一部电影质量的重要指标,且与电影票房具有相关性。本文提出了基于预训练–微调策略的电影票房预测模型,在电影评分数据集上采用预训练方式,使模型提前接触到更多的电影数据,学习到更多电影的相关特征信息。然后在少量电影票房数据集上做训练,实现电影票房的精准预测。
2. P-EL预测模型
本文构建基于预训练–微调策略的电影票房预测模型P-EL (Pre-Training and Fine-Tuning Ensemble Learning),通过预训练策略,在一定程度上解决了因电影票房数据量不足导致的预测精度下降的问题。预训练为模型提供了更加有效的初始化参数,使模型预先学习到电影数据与电影评分之间的变化规律,在电影票房数据集上进行微调后,针对电影票房预测具有较高的预测精度。
2.1. 问题定义
给定电影评分数据集
,表示电影评分数据集中包含N部电影的数据,以及电影票房数据集
,表示电影票房数据集中包含T部电影的数据。其中
为第t部
电影的电影属性,x1表示导演,x2表示演员,x3表示预算,x4表示电影类型,x5表示上映时间,ut表示电影评分,yt表示电影票房。
2.2. 预训练–微调策略
预训练–微调策略表示为:
(1)
其中,pretrain作为预训练函数;fine_tuning作为微调函数。在电影评分数据集上经过预训练得到Modelpretrain,Modelpretrain在目标电影票房数据集上进行微调,得到最终的预测模型Modelfinal,最后利用Modelfinal对目标电影票房进行预测。
因为电影评分和电影票房有着高度的相关性,电影评分数据量相比电影票房数据量更多,所以选择电影评分数据作为预训练的数据。经过预训练后,保存训练完的预训练模型。利用在电影评分数据中提前学习到的电影数据和电影评分之间的变化关系,为预测电影票房提供了一个更合理的初始化参数,将训练好的模型和电影票房数据输入到集成学习模型中,并在电影票房数据上进行微调,最终得到电影票房预测模型P-EL。基于预训练–微调策略的P-EL框架图如图1所示。
2.3. 预测模型
P-EL采用集成学习模型来预测电影票房,集成学习模型可以融合多个模型的优势,避免单个模型的局限性,提高模型预测的整体性能。P-EL模型中数据处理部分采用时序属性增强的数据增强方法,时序属性增强可以帮助模型更好地理解电影间的差异,从而提高预测精度。
预测模型的输入为电影的基本属性。我们根据之前的研究和行业专家的建议,选择了5个电影基本属性:导演、演员、预算、电影类型和上映时间。不同电影间的属性差异信息导致了不同电影票房的差距,而越短上映时间间隔内的差异信息,对电影票房的影响越大,参考价值也就越高。这里我们选择时序属性增强的方法,对数据进行数据增强。将电影按照时间进行排序,逐一计算相邻电影间的属性差异信息Dt:
(2)
将属性差异信息作为预测电影票房时的补充信息。为了加速训练过程,我们对模型的输入进行归一化:
(3)
其中,si表示i类型的电影属性值,
和
分别表示i类型电影属性的平均值和标准差。
P-EL模型采用基于多层stacking的集成学习模型,P-EL选取CatBoost,RandomForest,LightGBM,XGBoost和NeuralNet作为基础模型。P-EL模型中每一层的堆叠器均为5个基础模型,多层stacking会将5个基础模型输出与原始输入合并,作为下一层堆叠器的输入,类似于残差连接:
(4)
其中,Z2表示第二层堆叠器的输入,mi表示第i个基础模型,Z表示P-EL的输入。最后一层使用集成选择,以加权和的方式聚合模型的预测,并作为P-EL模型的输出。
3. 实验
3.1. 实验设置
3.1.1. 实验环境
实验使用的CPU是Intel(R) Xeon(R) Silver 4310,显卡为NVIDIA GeForce RTX3090,内存为256 GB。数据预处理和电影票房预测部分由Python编写,模型部分使用PyTorch框架实现。
3.1.2. 数据集
数据来自Kaggle上的电影数据集,包含2017年9月前发布的电影数据。如表1所示,其中,含有电影评分数据的电影8792部,含有电影票房数据的电影4970部。
3.1.3. 评价指标
模型的预测性能评价指标选用决定系数(R2)、均方误差(MSE)以及平均绝对误差(MAE)。
R2可以反应预测值和真实值的拟合程度。R2在0到1之间,越接近1,说明拟合程度越好:
(5)
其中,yi表示第i个预测值,
表示第i个真实值,
表示真实值的平均值,m表示测试集中数据总数。
MSE可以衡量预测值和真实值之间的偏差,MSE越小,说明模型预测效果越好:
(6)
MAE可以准确反应预测值和真实值的误差大小,MSE越小说明模型预测的误差越小:
(7)
3.1.4. 对比模型
为了验证P-EL模型的性能,现与以下基准模型进行对比:
1) 多层感知机(Multi-Layer Perceptron, MLP):一种最基本的前馈神经网络,MLP的网络架构为:输入层、隐藏层和输出层。在此之前的研究中,MLP是用于票房预测最好的模型。
2) XGBoost:一个端到端的梯度提升树系统,针对分类和回归任务有着良好的预测效果。
3) LightGBM:一种基于决策树梯度提升的机器学习方法,其训练速度快,效率高,内存占用低。
4) RandForset:以决策树为基本单元,集成构建随机森林的算法,泛化能力强。
5) CatBoost:一种基于GBDT改进的决策树梯度提升的机器学习算法。该方法对预测偏移的处理可以减少模型的过拟合现象,从而提升模型预测效果。
6) NeuralNet [29] :为了适配集成学习模型专门设计的一种神经网络。
7) 集成学习(Ensemble Learning, EL):无预训练策略的集成学习模型。
3.2. 结果对比

Table 2. Overall performance comparison
表2. 整体性能比较
模型的整体性能如表2所示,在所有模型中,基于预训练–微调策略的电影票房预测模型的性能明显优于其他基准模型。P-EL模型较无预训练–微调策略的EL,在R2指标上最高提升了6.96%,在MSE和MAE指标上分别降低了60.53%和9.65%。EL内部模型均为采用预训练–微调策略,与这些模型相比,P-EL在R2上最高提升了16.94%,最低提升了11.54%,在MSE上最高降低了68.83%,最低降低了62.04%,在MAE上,最高降低了26.13%,最低降低了15.41%。因为电影评分和电影票房之间的相关性,所以利用含电影评分的电影数据集进行预训练,使模型学习到了关于电影票房的先验知识,提升了模型的预测性能。
4. 结论
本文提出了一种基于预训练–微调策略的电影票房预测模型P-EL,利用电影评分数据集进行预训练,在电影票房数据集中进行微调,并在Kaggle电影数据集上进行模型评估。实验结果表明,P-EL性能优于其他基准模型,能在一定程度上解决因电影票房数据量少而导致的模型预测精度不足的问题。在未来的研究工作中,将引入电影之外的影视作品数据集,进一步提升模型的预测精度。
基金项目
国家重点研发计划项目(2021YFF0900400);国家自然科学基金项目(62002225);上海市自然科学基金项目(21ZR1445400)。
NOTES
*通讯作者。