APP下载

基于深度学习的IPTV视频用户行为分析方法研究

2019-06-17贾毓臻

计算机应用与软件 2019年6期
关键词:准确率深度用户

刘 超 贾毓臻 王 攀

1(江苏大学电气信息工程学院 江苏 镇江 212013)2(南京邮电大学现代邮政研究院 江苏 南京 210003)

0 引 言

随着天翼高清业务的持续发展,业务的多样性和复杂性十分明显,业务质量是确保用户体验和业务发展的关键[1]。IPTV借助宽带有线电视网的基础配置,将家用电视机作为输出设备,通过IP协议提供多种数字媒体服务[2]。IPTV主要用于连接用户与终端、用户与用户、用户与服务,让用户能够充分发现服务、体验服务、社交互动,使电视真正成为家庭媒体娱乐中心[3]。用户行为是人与商家的关键纽带,通过用户行为分析,帮助IPTV服务提供商提升服务质量同时为终端用户提供精准个性化服务,具体体现在三个方面:(1) 改善系统设施,通过用户数据分析,便于对系统结构进行设计,减少服务器数量,节省开支;(2) 改善视频调度、存储方案,通过视频点播率、点播时长等分析,可以改进存储算法,充分利用服务器的内存与带宽;(3) 改善服务质量,拉近运营商与用户之间的距离,为用户提供高效优质的服务[4]。

自从1999年开始,全球大约有大大小小的50多家电信运营商进入IPTV运营。随着亚洲和北美地区IPTV市场的快速增长,有众多学者对IPTV用户行为开展了许多有意义的分析与研究,并取得了大量极具影响力的研究成果。汪敏娟等[5]提出基于点播行为特征指数的分群算法对IPTV用户进行精准分类,该算法无法清洗无意识的点播行为,不能充分描述用户的实际偏好,分群准确率低于90%。唐明等[6]提出基于关键词的用户兴趣模型对用户的兴趣爱好进行归纳总结。这种采用关键词的表达方法虽易于理解,计算机难以对其准确识别。Hei等[7]以有限范围的节点信息为基础,采用被动嗅探方法获取数据包,对P2P IPTV系统进行了测量与研究,由于无法获取系统全局信息,研究结果局限性较大。

由于目前对于IPTV用户行为分析还没有规范性模型,针对IPTV视频业务的复杂性和多样性,本文提出一种基于深度学习的IPTV视频用户行为分析方法。该方法采用DNN模型对用户点播行为进行分析,同时借助wireshark工具采集IPTV收视数据,能够避免无意识的点播行为,最终为用户精准个性化服务提供有效的数据支持。

1 数据采集和预处理

1.1 数据采集

IPTV具有双向性,用户通过点播行为向服务器发送请求命令,服务器返回用户需求,同时IPTV的播放数据是客观且真实的,结合双向性,根据数据采集系统,对IPTV特有的收视数据进行归纳分析,具有重要意义。

数据采集就是从网络收集原始数据流量[8],本系统数据流量的采集利用Wireshark[9],Wireshark是世界上流行的网络分析工具,借助它能够爬取到各种协议的网络二进制数据包,明显提高了对网络活动的监测分析效率。数据采集拓扑图如图1所示,通过在机顶盒和电视接口ONU之间增加一个镜像路由器,借助Wireshark工具在PC机上采集流量数据。

图1 数据采集拓扑图

数据流量中反映IPTV视频用户行为的主要元素是遥控器点播视频所对应的URL、点播该视频的时间戳、IPTV开机关机时间戳。通过对URL进行解析,得到点播视频对应名称;根据点播视频时间戳计算出视频播放时长,定义点播当前视频时间为Tnow,切换至下个视频时间为Tnext,则播放时长T为:

T=Tnext-Tnow

(1)

同时根据IPTV开机关机时间戳计算在线时长。将一天中各个开关机时间段的关机时间Tclose减去开机时间Topen的差相加求和得到一天IPTV在线时长Ton:

Ton=∑(Tclose-Topen)

(2)

1.2 数据预处理

由于上述采集到的数据为文本类型,而深度学习算法中输入类型只能是数值型[10],无法直接接受文本型数据。但若在数量很多的非数值型环境下使用深度神经网络,就需要对输入数据进行预处理,将非数值型输入转化为数值类型数据。其中数据预处理分为量化与归一化两部分。

1.2.1量 化

针对所采集的原始数据集为非数值型数据并且行为特征不明显,因此,在数据分析前,需要将数据按特征进行分类,同时将分类后的数据量化为数值型数据[11]。将原始数据集分为三个特征:IPTV在线时长、视频播放时长、点播视频类型。在分析过程中,需要将原始数据集量化处理,从以上几个特征对IPTV用户点播视频活跃度进行分析。

对于在线时长,为了简化模型,在测试过程中以等级形式对其进行量化,其中在线时长分为:0~1 h、1~2 h、2~3 h、3~4 h、4~5 h、5 h以上,分别用0、1、2、3、4、5表示。

对于视频播放时长,即点播一个视频直到切换至其他视频的连续时间Tcon(单位:h)。根据Tcon,将用户行为分为两类:设定Tcon小于等于5 min时,记为浏览行为;Tcon大于5 min时,认为用户在观看视频,则记为观看行为。将浏览和观看行为初始值X0分别设为0和1。

对于点播视频类型,将视频名称按类型划分为电视剧、电影、综艺、纪录片、体育、游戏、动画,从而得到用户某一类视频点播率P,P=N/S,其中N代表某一类被点播视频,S表示当天点播视频类型总数。此处是观看记录,而不是浏览记录。

1.2.2归一化

为了后续数据处理的方便,使得梯度始终朝着最小值的方向前进,同时保证模型运行时快速收敛[12],需要把量化后的数据经过相关处理后限制在一定域值范围内。因此将上述量化后的数据集进一步处理。

对于在线时长,通过上述公式转换后得到数据集[0,0.2,0.4,0.6,0.8,1]。

对于点播视频名称而言,通过量化后已得到视频点播率,属于0-1之间,所以不对其进行归一化处理。

2 基于深度学习的IPTV视频用户行为分析方法

2.1 深度神经网络模型

深度神经网络(DNN)按照不同层的位置划分可以分为三类,输入层、隐藏层和输出层[13]。隐藏层可以包含多层,负责增强模型的表达能力,本文采用包含三层隐藏层的DNN模型,如图2所示。输出层可以包含多个输出,从而更灵活有效地应用于分类回归。其中层与层之间是全连接的,同一层的神经元之间无连接。

图2 深度神经网络图

由于DNN内部网络复杂,本文对局部模型进行解析,其结构如图3所示。

图3 DNN局部结构图

从第l-1到第l层可用一个线性关系表示:

z=Wx+b

(3)

式中:W表示权值矩阵,x表示输入向量,b表示偏倚向量,变换如下:

(4)

在式(4)基础上加入一个激励函数σ(z)以增加模型非线性和鲁棒性。本文使用softmax函数作为模型的激励函数:

(5)

2.2 基于深度学习的IPTV视频用户行为分析

由于IPTV机顶盒的业务流程主要利用遥控器向家庭宽带网络获取视频信号,网络将点播的视频信号发送到机顶盒,经过解码后最终在电视上输出。因为机顶盒具有唯一的用户标识,所以机顶盒遥控器行为是分析用户行为的关键属性。IPTV可提供的业务有电视直播、视频点播、互动游戏等,通过遥控器行为可以得知用户操作属于直播还是点播等其他行为。本文主要针对IPTV用户点播视频活跃度行为进行分类。

将预处理后的数据输入到CSV文档中,完成数据集D的制作。本文使用留出法(hold-out)[14],该方法将数据集D划分为两个互斥的集合:训练集S和测试集T,即D=S∪T,S∩T=φ。利用S训练出理想模型后,再使用T来评估模型优劣。

将训练集S输入到深度学习网络训练模块中,模型输出预测结果,同时根据真实用户标签,反馈到深度学习网络训练模块中对误差进行持续修正训练,训练过程中,利用损失函数来判断模型预测的好坏,如下式所示:

(6)

本文设置7个样本标签,分别表示用户喜欢收看的种类电视剧、电影、综艺、纪录片、体育、游戏、动画。由于样本标签是离散数据,为了方便模型分类预测,使用one-hot编码处理样本标签y,则:

因此,将式(6)进一步化简,得到:

(7)

当loss值足够小时,代表模型预测结果与真实结果近似接近,此时模型训练完毕。为了验证模型准确率,向训练后的模型输入测试集T,最终输出用户点播视频活跃度分类。

3 实验与结果分析

实验环境:编译工具Python 3.5.0,采集工具wireshark 2.2.1,操作系统Mac os 10.12.6,CPU i7-4850HQ四核处理器,主频2.5 GHz,内存16 GB,硬盘容量512 GB SSD。

实验数据:实验组织100个友好家庭用户,在其观看视频后采取问卷调查等方式,获得用户真实的点播数据及对视频的点评数据。调查内容主要有观看视频种类、观后感,其等级分为喜欢、不喜欢,另外还包含开机在线时长、观看视频的连续时间等,完成对用户活跃度的判断,其结果将作为真实用户标签。同时连续30天采集每个家庭的机顶盒数据,对其进行预处理得到符合模型标准要求的数据集D,则D=3 000。其中2 500条数据集为训练集S,剩余500条为测试集。

本文利用深度学习对IPTV视频点播用户进行分析。实验模型为三层隐藏层网络结构,即l=3,输入x0为15维特征集向量,包括在线时长,观看7类视频连续时间以及7类视频点播率,设置网络模型第一层为20维,第二层为16维,经过第三层,下降成7维,最后输出与对应7维标签相比较,优化差距,训练模型。

实验设置模型训练次数为10 000次,当loss值足够小时,模型训练完毕。图4为训练loss变化图。

图4 loss变化图

如图4所示,经过10 000次训练,loss值已经降低到0.3左右并保持稳定,模型训练完毕。训练过程中,为了判断模型是否训练符合要求,实验设置每训练50次,输入一次测试集验证准确率,同时输出测试结果,如图5所示。

图5 测试集验证准确率

实验结果显示,随着训练次数的增加,测试准确率不断提高。当训练次数为0~2 500次时,即测试次数为0~50次时,模型准确率呈线性增长趋势;训练到2 500次以后,准确率逐渐平缓上升,训练到10 000次时,准确率已保持在93%左右。对比汪敏娟等提出的精准分群算法,其分群准确率低于90%,本研究分析效果较好,解决对离散数据分类的问题,并且能够避免无意识的点播行为,同时能够捕获到各种协议网络数据流,缩小实验局限性,准确度较高。

4 结 语

研究表明,利用深度学习技术能够以较高的准确率快速精准地分析IPTV用户点播视频类型活跃度。尽管本文的研究已经取得了一定阶段性成果,但是由于模型还不够完善,并且对用户行为分析不够全面。下一步工作将会对用户行为进行全方位分析,包括用户点播视频消费指数、用户观看视频体验质量等,并对以上信息进行行为建模、深度学习和知识发现,具体分析IPTV用户的观看视频行为习惯和兴趣爱好,从整体上洞悉用户的需求、强化客户关怀,使得运营商可进一步为用户提供更有价值的、个性化的服务。

猜你喜欢

准确率深度用户
四增四减 深度推进
深度思考之不等式
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
简约教学 深度学习
关注用户
关注用户
关注用户