劉 超 賈毓臻 王 攀
1(江蘇大學電氣信息工程學院 江蘇 鎮江 212013)2(南京郵電大學現代郵政研究院 江蘇 南京 210003)
隨著天翼高清業務的持續發展,業務的多樣性和復雜性十分明顯,業務質量是確保用戶體驗和業務發展的關鍵[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收視數據,能夠避免無意識的點播行為,最終為用戶精準個性化服務提供有效的數據支持。
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)
由于上述采集到的數據為文本類型,而深度學習算法中輸入類型只能是數值型[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之間,所以不對其進行歸一化處理。
深度神經網絡(DNN)按照不同層的位置劃分可以分為三類,輸入層、隱藏層和輸出層[13]。隱藏層可以包含多層,負責增強模型的表達能力,本文采用包含三層隱藏層的DNN模型,如圖2所示。輸出層可以包含多個輸出,從而更靈活有效地應用于分類回歸。其中層與層之間是全連接的,同一層的神經元之間無連接。

圖2 深度神經網絡圖
由于DNN內部網絡復雜,本文對局部模型進行解析,其結構如圖3所示。

圖3 DNN局部結構圖
從第l-1到第l層可用一個線性關系表示:
z=Wx+b
(3)
式中:W表示權值矩陣,x表示輸入向量,b表示偏倚向量,變換如下:
(4)

在式(4)基礎上加入一個激勵函數σ(z)以增加模型非線性和魯棒性。本文使用softmax函數作為模型的激勵函數:
(5)
由于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,最終輸出用戶點播視頻活躍度分類。
實驗環境:編譯工具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%,本研究分析效果較好,解決對離散數據分類的問題,并且能夠避免無意識的點播行為,同時能夠捕獲到各種協議網絡數據流,縮小實驗局限性,準確度較高。
研究表明,利用深度學習技術能夠以較高的準確率快速精準地分析IPTV用戶點播視頻類型活躍度。盡管本文的研究已經取得了一定階段性成果,但是由于模型還不夠完善,并且對用戶行為分析不夠全面。下一步工作將會對用戶行為進行全方位分析,包括用戶點播視頻消費指數、用戶觀看視頻體驗質量等,并對以上信息進行行為建模、深度學習和知識發現,具體分析IPTV用戶的觀看視頻行為習慣和興趣愛好,從整體上洞悉用戶的需求、強化客戶關懷,使得運營商可進一步為用戶提供更有價值的、個性化的服務。