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