陳步華,陳戈,梁潔
(中國電信股份有限公司廣州研究院,廣東 廣州 510630)
內(nèi)容緩存技術(shù)就是通過緩存的內(nèi)容副本為訪問的用戶提供服務(wù),使得用戶向源站服務(wù)器發(fā)起的內(nèi)容訪問請求變成用戶到緩存服務(wù)器的就近訪問過程。高效的緩存算法在減少CDN服務(wù)器的負載和延時方面發(fā)揮著很重要的作用。但是,緩存服務(wù)器的磁盤空間通常是有限的,尤其是4K/8K以及AR等高數(shù)據(jù)量內(nèi)容的引進,對緩存策略提出了更高要求。
目前,CDN中的緩存策略是根據(jù)熱度排序?qū)⒏邿醿?nèi)容(用戶訪問最集中的內(nèi)容以及預(yù)測出來的用戶未來會最集中訪問的內(nèi)容)緩存在邊緣服務(wù)器,來實現(xiàn)用戶到邊緣服務(wù)器的就近訪問。
然而,僅從上述熱度內(nèi)容來配置CDN的緩存策略是不夠充分的。目前,相當多的視頻網(wǎng)站都支持用戶發(fā)表簡短的文字評論。事實上,獲取用戶的文字評價進行分析,進一步挖掘用戶對內(nèi)容的喜好程度,對優(yōu)化CDN緩存策略提供了重要指導(dǎo)意義。本文在用戶的訪問行為的基礎(chǔ)上,融合用戶基于文字評價的情感等信息進行建模,提出了基于情感分析的改進的CDN內(nèi)容緩存策略。
自然語言處理(NLP, Natural Language Processing)是指用自然語言對信息進行處理的技術(shù),通過利用計算機來分擔(dān)自然語言的自動識別、語言翻譯、語言理解和語言生成等工作[1],情感分析就是自然語言處理的任務(wù)之一。
情感分析主要是針對主觀性文本自動獲取有價值的意見信息,其任務(wù)分為自動識別情感句中的評價對象和判別情感句中評價對象的情感傾向性[2]。由于句子的長短存在差異,傳統(tǒng)的機器學(xué)習(xí)分類模型難以使用。并且,在特征提取的過程中,句子描述的對象樣式繁多,包括主題、人、物體或者事件,所以,人工提取特征耗費的精力太大[3]。再者,需要在特征提取時考慮詞與詞之間的聯(lián)系。因此,情感數(shù)據(jù)挖掘模型的選取至關(guān)重要。
近年來,深度學(xué)習(xí)在語音識別、圖像處理等領(lǐng)域表現(xiàn)出了卓越的能力,并且,深度學(xué)習(xí)也適合做文字處理和語義理解。這是因為深度學(xué)習(xí)結(jié)構(gòu)靈活,其底層利用詞嵌入技術(shù)可以避免文字長短不均帶來的處理困難。使用深度學(xué)習(xí)抽象特征,可以避免大量人工提取特征的工作[4]。并且,深度學(xué)習(xí)可以模擬詞與詞之間的聯(lián)系,有局部特征抽象化和記憶功能。正是這幾個優(yōu)勢,使得深度學(xué)習(xí)在情感分析,乃至文本分析理解中發(fā)揮著舉足輕重的作用。因此本節(jié)采用深度學(xué)習(xí)中的卷積神經(jīng)網(wǎng)絡(luò)(CNN, Convolutional Neural Network)進行情感分析挖掘建模。
圖1 卷積神經(jīng)網(wǎng)絡(luò)情感分析框架
如圖1所示,第一層是詞向量嵌入層,用word2vec把詞語映射為向量[5];第二層是卷積層,該卷積層會使用多個濾波器;第三層是池化層,本文采用max-overtime池化;最后將所有池化層的結(jié)果放在一個長特征向量上,并加入dropout正則,最后采用softmax輸出結(jié)果。具體過程如下:
(1)詞向量嵌入層
采用CNN模型處理文本時,需要將文本轉(zhuǎn)化成CNN能夠識別的輸入特征。首先,將句子分詞后,將該句子劃分后的各個詞語分別映射到d維實數(shù)向量,詞向量表使用word2vec提前訓(xùn)練[6],令xi∈Rd代表句子中第i個詞的d維的詞向量,所有的詞組成句子矩陣Mj∈Rl×d,其中,j代表所有評論集中第j條評論句子,l代表句子中詞的數(shù)量,d代表每個詞向量表示的向量維度,矩陣每行代表句中詞的詞向量表示,將矩陣Mj作為CNN的輸入[7]。
(2)卷積層
對于輸入句子矩陣Mj,利用大小為h×d的濾波器(滑動窗口)wh×d進行卷積操作,卷積滑塊涉及h個詞,滑塊寬度d與詞向量表示維度相同:
其中,b代表偏置量,f(·)為非線性卷積核函數(shù),xi,i+h-1表示矩陣第i行到第i+h-1行,ci表示由卷積操作所產(chǎn)生的局部特征。因此,在句子矩陣Mj上,卷積滑動窗口將作用于{x1,h, x2,h+1,……, xl-h+1,l}個局部特征區(qū)域。所以:
其中,C∈Rl-h+1。
(3)池化層
對于池化層,采用max-over-time池化的方法。這種方法就是簡單地從之前的特征向量中提取出最大值,最大值代表著最重要的信號,即滑動窗口獲得的局部特征中最重要的特征。可以看出,這種池化方式可以解決可變長度的句子輸入問題和濾波器大小不同的問題。因此,對于一個濾波器產(chǎn)生的輸出的C,采用maxover-time方法進行特征映射,得到池化后的特征s:
對于整個卷積神經(jīng)網(wǎng)絡(luò)模型,將使用多個濾波器wjh×d(h為不同的值)對輸入矩陣Mjl×d進行卷積操作,產(chǎn)生多個特征,將特征組合作為全連接層的輸入向量V:
其中,S(m,h)表示大小為h的第m個濾波器產(chǎn)生的特征。
(4)softmax輸出
池化層的一維向量的輸出通過全連接的方式,連接一個softmax層,softmax層可根據(jù)任務(wù)的需要設(shè)置(通常反映著最終類別上的概率分布)。因此,最后將全連接的輸出利用softmax函數(shù)生成分類結(jié)果,模型利用實際分類標簽,使用反向傳播算法對參數(shù)進行優(yōu)化。
其中,y代表情感分析的類別標簽,W代表全連接層的參數(shù),b為偏值項。
通過用戶的用戶評論確定用戶喜歡觀看的視頻內(nèi)容,從而在CDN邊緣節(jié)點中緩存滿足用戶興趣的視頻,需要通過構(gòu)建情感數(shù)據(jù)挖掘模型來實現(xiàn)。本節(jié)將具體介紹提出的基于用戶評論情感分析的改進的緩存替換算法。
(1)數(shù)據(jù)準備
首先設(shè)計一個網(wǎng)絡(luò)爬蟲,使用爬蟲抓取大量頁面,并剔除無關(guān)數(shù)據(jù)。然后,對收集到的評論進行有監(jiān)督的人工給文本標注類標簽,將不同的評論語句標注為不同的情感程度等級,這就是類標簽。
(2)構(gòu)建情感數(shù)據(jù)挖掘模型
在完成數(shù)據(jù)準備等階段的工作后,就開始進入模型的建立階段?;诒疚牡难芯繂栴},使用深度卷積神經(jīng)網(wǎng)絡(luò)來構(gòu)建基于用戶評論的情感分析模型。情感數(shù)據(jù)挖掘模型構(gòu)建分為訓(xùn)練和測試兩個階段。用數(shù)據(jù)訓(xùn)練分模型,再用訓(xùn)練好的模型對測試集里的數(shù)據(jù)進行分類,給出分類得到的情感程度標簽。
(3)緩存替換策略
在緩存替換策略中,傳統(tǒng)方式只考慮用戶訪問行為帶來了訪問和預(yù)測的熱度信息。為了獲得更合理的緩存替換方法,需要考慮用戶的文字評論信息,用評論信息去調(diào)節(jié)熱度值。因為在目前的互聯(lián)網(wǎng)視頻環(huán)境中,許多視頻并不是根據(jù)自然冷卻法則變成冷片。例如,某影片有熱門影視明星出演時,一開始會訪問熱度很高,但如果影片本身質(zhì)量不高,用戶評論口碑不佳,影片會在很短時間內(nèi)變成冷片,并不遵循訪問熱度下的自然冷卻法則。因此,本文提出的基于評論情感信息的緩存策略,是將不同用戶對某影片評論通過CNN模型輸出的情感程度標簽進行平均,獲得綜合情感權(quán)值Y。因此,考慮用戶的文字評論信息,用評論信息去調(diào)節(jié)熱度值H的緩存更新策略模型如下:
其中,H0是影片的初始熱度值(訪問熱度或預(yù)測訪問熱度值),Y是情感權(quán)值,t0是內(nèi)容第一次被請求的時間,t是當前時間,a是冷卻系數(shù),用于調(diào)整冷卻速度,e是自然對數(shù)。
設(shè)置每隔一段時間T,更新H值,再按H值排序,選取H值最高的前10%的內(nèi)容進行緩存,從而完成緩存替換與更新。
天翼視訊是中國電信移動端的一種流媒體技術(shù),以視頻內(nèi)容為主,利用移動流媒體、視頻下載等技術(shù)為用戶提供影視、新聞、娛樂等視頻內(nèi)容播放和下載的服務(wù)[8]。本文提取了天翼視訊部分影片的歷史用戶評論數(shù)據(jù)作為建模初始樣本。為避免原始數(shù)據(jù)中的噪聲數(shù)據(jù)和缺失值對模型精度的影響,模型運行前進行了數(shù)據(jù)清洗、轉(zhuǎn)換以及噪聲和缺失值處理[9]。
實驗抓取了天翼視訊中影片的用戶評論數(shù)據(jù)作為情感分析和可視化方法應(yīng)用研究的實驗數(shù)據(jù)集,其中某影片的部分用戶評論如表1所示:
表1 某影片的部分用戶評論
通過采用深度學(xué)習(xí)CNN模型進行用戶評論情感分析,情感分析結(jié)果輸出共有5個等級,每條用戶評論對應(yīng)一個等級值,即是情感標簽[1, 2, 3, 4, 5]中的一個值。等級值越接近5,情感越積極,表示該影片越受用戶喜歡;等級值越接近1,情感越消極,表示該影片越不受用戶歡迎。表1中,對某影片的部分用戶評論采用CNN方法進行情感分析,輸出的情感程度值如圖2所示:
圖2 基于CNN的用戶評論情感程度值
雷達圖是專門用來進行情感分析傾向性比較分析的專業(yè)圖表。繪制不同影片的情感傾向性雷達圖,能夠直觀體現(xiàn)用戶數(shù)在各個影片在5個情感程度等級上的分布情況,進而分析用戶情感傾向性。通過觀察圖3中的不同影片的情感類別傾向性雷達圖可以看出,影片1和影片4形成的雷達圖,分別是在等級5和等級4的方向上最為突出,這說明表達贊揚或喜愛這些影片的用戶居多;對于影片3形成的雷達圖,在等級3的方向上最為突出,意味著觀看感受一般的用戶評論較多;而對于影片2則是在等級2方向上最為突出,說明表達討厭、不喜歡的用戶評論較多。
圖3 不同影片的情感類別傾向性雷達圖
本文在對視頻CDN打流時,采用“源站-緩存”二級架構(gòu)組網(wǎng)[10],模擬不同用戶對影片的請求訪問行為,在穩(wěn)定運行期間,對源站和緩存設(shè)備的網(wǎng)卡流量數(shù)據(jù)進行監(jiān)控。
下面通過對系統(tǒng)的本地命中率及用戶請求的平均響應(yīng)時間兩方面來比較傳統(tǒng)LFU策略和本文提出的緩存替換策略對系統(tǒng)性能的影響。表2所示為本地數(shù)據(jù)命中率的比較,隨著系統(tǒng)穩(wěn)定運行時間的增加,本文提出的緩存替換策略的本地命中率在10小時左右就達到97.1%以上,這說明用戶請求的數(shù)據(jù)中,97.1%的影片內(nèi)容都已經(jīng)推送到在本地存儲,遠遠高于傳統(tǒng)最少頻率使用(LFU, Least-Frequency Used)方法對于用戶請求內(nèi)容的71.7%的本地存儲,體現(xiàn)了存儲策略的優(yōu)勢。
表2 緩存命中結(jié)果
圖4所示為傳統(tǒng)LFU方法與本文替換的緩存替換策略的請求響應(yīng)時間的比較,可看出,本文提出的緩存替換策略有效地減少了用戶的請求響應(yīng)時間,并減少了節(jié)點間數(shù)據(jù)的傳送,可以有效緩解網(wǎng)絡(luò)帶寬的壓力。
通過仿真實驗和對比測試可以得出,本文提出的基于評論情感分析的CDN內(nèi)容緩存替換方案,結(jié)合了用戶訪問行為(熱度)信息和用戶評論情感信息的融合優(yōu)勢,使現(xiàn)存內(nèi)容最大可能地滿足用戶需求,有效地提高了本地緩存命中率。因此,本文提出的緩存替換策略不僅能夠優(yōu)化CDN節(jié)點存儲配置,還為提高緩存效率、節(jié)省帶寬資源起著重要指導(dǎo)作用。
[1] 程希文. 基于領(lǐng)域的中文信息抽取模式自動生成的研究[D]. 上海: 上海交通大學(xué), 2005.
[2] 劉鴻宇,趙妍妍,秦兵,等. 評價對象抽取及其傾向性分析[J]. 中文信息學(xué)報, 2010,24(1): 84-88.
[3] 秦勝君. 基于稀疏自動編碼器的微博情感分類應(yīng)用研究[J]. 廣西科技大學(xué)學(xué)報, 2015(3): 36-40.
[4] 李躍鵬,金翠,及俊川. 基于word2vec的關(guān)鍵詞提取算法[J]. 科研信息化技術(shù)與應(yīng)用, 2015(4).
[5] 李曉磊. 面向評論的文本傾向性分析中關(guān)鍵問題的研究[D]. 北京: 北京化工大學(xué), 2016.
[6] 王盛玉,曾碧卿,胡翩翩. 基于卷積神經(jīng)網(wǎng)絡(luò)參數(shù)優(yōu)化的中文情感分析[J]. 計算機工程, 2017,43(8): 200-207.
[7] 鄭立洲. 短文本信息抽取若干技術(shù)研究[D]. 合肥: 中國科學(xué)技術(shù)大學(xué), 2016.
[8] 曹曄. 浙江電信家庭信息化發(fā)展戰(zhàn)略研究[D]. 杭州: 浙江大學(xué), 2013.
[9] 爾古打機,蘇小龍,朱征. 基于用戶行為分析的移動終端偏好模型研究[C]//中國管理學(xué)年會, 2013.
[10] 袁宏繪. 呼和浩特市IPTV業(yè)務(wù)與承載網(wǎng)絡(luò)組建研究[D]. 北京: 北京郵電大學(xué), 2012. ★