摘? 要: 隨著網絡和電視服務行業(yè)的發(fā)展,網絡電視平臺可以為用戶提供更豐富的電視頻道,但對于用戶而言,挑選喜愛頻道的難度大幅提高。針對此問題,本文提出了基于文本卷積神經網絡(TextCNN)的電視頻道推薦算法,首先根據用戶歷史觀看行為得到隱性觀看特征,以及根據用戶觀看電視頻道不同時段的節(jié)目簡介得到用戶特征標簽和電視頻道標簽,然后在卷積神經網絡模型中訓練得到預測評分,最后通過預測評分對目標用戶進行推薦個性化推薦,同時考慮了冷啟動問題,使用K-Means方法來解決。我們設計了不同推薦算法的性能對比實驗,最終通過基于廣電運營平臺中真實數據集的實驗表明我們提出的算法優(yōu)于其他幾種基線推薦方法,提高了推薦質量。
關鍵詞: 電視頻道;推薦算法;卷積神經網絡;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? 引言
現有的大多數電視服務只提供電子節(jié)目指南(Electronic program guides,EPG),即為用戶提供電視頻道直播和視頻點播服務,用戶可以根據EPG中提供的菜單列表選擇自己喜歡的節(jié)目或者頻道,點播視頻或者節(jié)目等。但普通的EPG并非根據用戶個人偏好設計,面對琳瑯滿目的電視頻道,如何引導用戶快速找到自己喜愛的頻道,從而提高用戶的觀看質量,成為電視服務供應商面對的至關重要的問題。
電視推薦屬于推薦系統(tǒng)應用的一大領域,文獻[1]中對電視領域推薦系統(tǒng)的研究綜述闡明,在電視領域內很多項目的推薦已經被廣泛應用。文獻[2]中提出了一種基于時間上下文因素和隱式反饋張量分解的個性化電視節(jié)目推薦系統(tǒng)。文獻[3]鑒于在微博平臺上用戶交互和生成內容的可用性,使用協同過濾方法中的概率矩陣分解來提高用戶興趣的相似度。文獻[4-5]基于LDA模型對電視節(jié)目和用戶進行統(tǒng)一建模從而推薦,也取得良好的效果。文獻[6]定義了用戶的可觀察時間間隔,同時提出了一種基于協同過濾的新穎框架。
雖然當前研究大多數偏向推薦電視領域內的電視節(jié)目或電影,極少部分推薦電視頻道,但仍有部分研究給我們提供參考。例如,文獻[7]分析了用戶切換電視頻道序列的行為,使用了一種集成的方法對用戶進行頻道推薦,通過與各種預測模型,排序方法和數據劃分的模型融合,進一步提高了基本推薦系統(tǒng)的準確性。此外,還有一些其他研究,文獻[8]在文章中指出了電視直播頻道推薦中存在的問題,提出了一種智能的預測方法來為用戶進行預測。除了機器學習的方法,也有深度學習的方法對電視頻道推薦進行改進,文獻[9]使用IPTV頻道觀看序列訓練獨立的LSTM模型。但傳統(tǒng)的電視推薦方法無法完全捕捉用戶的觀看特征和電視頻道特征,因此,本文提出了基于卷積神經網絡的電視頻道推薦算法,對目標用戶進行個性化推薦。
1? 基于卷積神經網絡的電視節(jié)目推薦算法
1.1? Text-CNN模型框架
卷積神經網絡(Convolutional Neural Networks,CNN)主要由卷積和池化操作構成,經常用來處理具有類似網格拓撲結構的數據,例如圖像可以視為二維網格的像素點,事實上自然語言可以視為一維的詞序列。卷積神經網絡可以提取多種局部特征,并對其進行組合抽象得到更高級的特征表示。
在深度學習的研究中,對于類別字段常采用一位有效編碼方式編碼。由于數據集中有類別繁多的用戶號、電視頻道標識號,使得該編碼方式無法滿足神經網絡輸入維度的合理控制,因此,在網絡的第一層使用了嵌入層,將用戶號、電視頻道標識號作為嵌入矩陣的索引。每個用戶號與相應的用戶特征標簽輸入嵌入層,映射為維度大小為1×32的向量表示,輸入全連接層得到用戶特征。同時,將每個頻道標識號與對應頻道標簽輸入嵌入層,由于某些電視頻道可能有多個標簽,因此需要對嵌入矩陣進行求和,同樣映射為維度大小為1×32的向量表示,卷積神經網絡模型如圖1所示。對于電視頻道名稱,則利用文本卷積神經網絡進行處理,如圖2所示。網絡第一層為詞嵌入層,由電視頻道名稱的每一個字符的嵌入向量組成嵌入矩陣,下一層使用多個不同尺寸的卷積核在嵌入矩陣上做卷積,第三層網絡為池化層,利用池化操作得到一個一維向量并使Dropout做正則化處理,最終得到電視頻道名稱的特征。
1.2? 評分體系與特征標簽
我們使用隱性評分對數據進行篩選和打分得到真實評分,對節(jié)目推薦系統(tǒng)輸出節(jié)目評分矩陣。針對所給數據分析后可知,電視用戶對于頻道評分的影響因素主要為兩點。首先是電視觀看時間,這是主要的影響因素,觀看時間很大程度代表了用戶的喜好程度[10]。當然這里的時間必須歸一化處理,最終采用頻道觀看時間占總時間的比例。其次是頻道觀看頻率,觀看頻率是最重要影響因素,可以一定程度上體現出用戶對該頻道的喜好程度。
本文采用基于電視頻道的觀看頻率與平均觀看時長作為評分的測度指標, 定義為用戶對電視頻道的觀看時長,觀看頻率為,其中電視頻道時長是頻道除了廣告之外的所有時長。我們根據用戶平均觀看時長與電視頻道時長的比值,將收視用戶對于不同電視頻道的評分劃分為10個分數等級,記為用戶對電視頻道的評分,收視用戶的隱性評分公式見式(1)和式(2):
1.3? Text-CNN卷積層
針對文本向量進行卷積操作是提取文本向量高層次特征的一個重要過程。算法的性能與該層的卷積窗口大小、學習速率、卷積步長有關[11],本文卷積窗口的尺寸設置為,卷積窗口個數 ,學習速率,卷積步長設置為。詳細的文本卷積如式(3)-式(5)所示:
我們提取了用戶收視信息中的有效信息,該信息中共包含245個電視頻道,由于embedding函數需要為對嵌入矩陣的索引進行匹配,因此我們建立了245個電視頻道標識號的匹配索引。嵌入層矩陣W為擴展后的電視頻道名稱矩陣,其維度為24532,其中表示第個節(jié)目名稱中第個字符的特征向量,表示卷積窗口到卷積窗口進行拼接得到的特征向量,卷積核可表示為一個維度為的矩陣,即,特征圖可得到個特征。矩陣G為卷積核函數矩陣,該矩陣的維度與輸入的電視頻道名稱數和卷積窗口有關。
矩陣H為輸入矩陣W與卷積核函數矩陣G卷積的結果。其中,代表第個節(jié)名稱通過次卷積得到的向量。將矩陣H進行非線性處理需要非線性激活函數,本文采用ReLu激活函數。
1.4? TextCNN池化層
池化層又被稱為子采樣層或下采樣層,在卷積層之后添加一個池化層對卷積層得到每一個特征圖進行池化操作,常用的池化操作包括最大池化和平均池化,最大值池化操作選擇特征圖中的最大值[12-13],平均值池化選擇特征圖中的平均值,本文采用最大值池化操作。池化層旨在對特征圖進行縮放同時降低網絡的復雜度,通過最大值池化操作可以得到該卷積核的主要特征,至此每一個卷積核可以提取出一個特征。假設在卷積層第個卷積核得到的特征圖為 具體池化操作如式(6)表示,其中表示池化操作。
1.5? 冷啟動問題
針對用戶冷啟動問題,我們首先進行統(tǒng)計分析,找出每個用戶觀看的電視頻道類型,然后再對這些電道類標簽進行K-Means聚類,找出相同的電視頻道類別,在相同的電視頻道類別中,給新用戶推薦其他老所評價較高的電視頻道。
在算法中,首先初始簇心的選擇是隨機的,然后通過相似度計算,再把數據集中的數據樣本與最近的初始中心歸為一類,不斷重復這一過程,直到各個初始中心在某個精度范圍內不變。我們將用戶號和電視根關的標簽進行聚類。首先在包含1329個用戶中隨機選擇個用戶作為聚類的初始簇心利用式(7)計算出各個用戶到的距離,找到每個樣本數據p的最小距離,將p加入到與相同的簇中,完成所有樣本的遍歷后使用式(8)重新計算的值,作為新的簇心,重復上述步驟直到目標函數E不再變化,目標函數E如式(9)所示。對于沒有歷史數據的用戶,我們保證對其推薦的電視頻道覆蓋到了所有的類別中,以便更加全面地滿足各個用戶的需求。
2? 實驗析
2.1? 實驗數據采集
為了通過實驗證明基于卷積神經網絡的電視頻道推薦算法的有效性,我們使用了某廣電網絡運營公司大數據基礎營銷服務平臺中真實電視頻道觀看歷史數據和電視頻道播放節(jié)目數據,日期為2019年7月1日至2019年9月29日。電視頻道觀看歷史數據統(tǒng)計了561288條數據,由1329個用戶觀看的245個電視頻道的記錄,字段包括用戶設備號、統(tǒng)計日期、頻道號、收看開始時間和收看結束時間。電視頻道播放節(jié)目數據將電視頻道和電視頻道聯系起來,數據包含電視頻道播放的1352個電視節(jié)目,字段包括頻道名稱、日期、節(jié)目名稱、開始時間。為獲取1352個電視節(jié)目信息,我們爬取了節(jié)目名稱、中文名、導演、類型、簡介信息等數據。從電視頻道觀看歷史數據、電視頻道播放節(jié)目數據、電視節(jié)目信息中,我們獲取了所有電視頻道24小時各時段的播放節(jié)目類型信息,從而利用該信息提取各用戶特征標簽。我們爬取了頻道名稱、類型、口號和簡介等數據來獲取245個電視頻道的頻道標簽。
2.2? 數據預處理與實驗設計
首先,對數據集中的用戶收視信息進行用戶觀看行為統(tǒng)計分析,共計256個用戶不存在任何收視和點播信息。對此類用戶,我們使用冷啟動問題解決辦法。為了獲得具有更高質量的電視頻道的觀看歷史數據,需要對數據進行預處理。在電視頻道觀看歷史中,有將近90%的數據都是小于160分鐘的,其中1分鐘至11分鐘的數據量達到最大。過長時間觀看的記錄被視為不活躍的記錄,短時間的觀看記錄考慮是用戶暫無感興趣節(jié)目,所以總體考慮保留2分鐘到200分鐘的觀看歷史記錄。
本文采用留一法交叉驗證假設樣本數據集中有N個樣本數據,將每個樣本單獨作為測試集,其余 個樣本作為訓練集,這樣得到了N個模型,用這N個模型的分類準確率的平均數作為此模型的性能指標。對于個性化推薦算法的主要評價標準一般選用準確率、召回率以及F1。
2.3? 實驗結果及分析
模型的訓練基于Tensorflow開源框架,對用戶評分的擬合可規(guī)約于回歸問題。經過神經網絡對用戶信息和頻道信息的特征提取后,將兩個特征作為輸入信息,傳入下一層全連接層,損失函數采用RMSE進行計算,采用隨機梯度下降法對網絡的參數進行更新。
算法的測試數據集為清洗規(guī)約后的標準結構化數據集,本文主要測試算法運行的終止準則為Epochs= 100,模型損失函數采用隨機梯度下降法(Stochastic Gradient Descent,SGD)進行迭代優(yōu)化,SGD學習速率設置為0.005。本節(jié)給出了五種推薦算法KNN、SVD、協同過濾、LSTM和TextCNN在準確率、召回率和F1指標上的性能對比,詳細對比結果見圖3所示。
本文所提出的基于文本卷積神經網絡的推薦算法在5-Folds交叉測試的平均精確率和F1指標明顯優(yōu)于其他算法,說明我們提出的基于文本的卷積神經網絡方法能夠精準地推薦用戶需要的電視頻道。此外,LSTM算法在F1指數上也明顯占優(yōu),說明該算法也是一種解決電視產品營銷推薦問題的有效推薦算法。
3? 結論
當前研究大多數偏向推薦電視領域內的電視節(jié)目或電影,較少探究電視頻道推薦的內容。本文利用了卷積神經網絡局部特征提取的功能,根據用戶歷史觀看記錄進行分析得到隱性觀看評分,同時通過電視頻道不同時段的節(jié)目簡介得到用戶特征標簽和電視頻道標簽,將標簽和在卷積神經網絡模型中進行訓練得到預測評分,最后通過預測評分對目標用戶進行推薦個性化推薦,同時考慮了冷啟動問題。實驗結果表明本文的算法能夠對用戶進行比較精確的推薦,優(yōu)于其他幾種基線推薦方法。
參考文獻
[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 Thats 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 (MMSys17). 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.