洪 慶,王思堯,趙欽佩,李江峰,饒衛(wèi)雄
(同濟(jì)大學(xué)軟件學(xué)院,上海 200092)
近年來(lái),隨著數(shù)字媒體技術(shù)的快速發(fā)展,彈幕系統(tǒng)在網(wǎng)絡(luò)視頻中的使用規(guī)模一直呈上升趨勢(shì)。這種實(shí)時(shí)評(píng)論的數(shù)據(jù)能夠以滑動(dòng)字幕的方式直接顯示在視頻界面上,有助于加深觀眾對(duì)視頻內(nèi)容的理解,也可以促進(jìn)相同類型視頻的觀眾之間的交流。彈幕視頻系統(tǒng)源自于日本視頻網(wǎng)站niconico動(dòng)畫(huà)(http://www.nicovideo.jp/),經(jīng)國(guó)內(nèi)視頻網(wǎng)站AcFun(http://www.acfun.cn/)和嗶哩嗶哩(https://www.bilibili.com/)引進(jìn)后逐漸流行,現(xiàn)在在一些主流視頻網(wǎng)站如騰訊視頻(https://v.qq.com/)和樂(lè)視視頻(http://www.letv.com/)中也被采用。因大量評(píng)論同時(shí)出現(xiàn)時(shí)的效果像是射擊游戲中的彈幕,故網(wǎng)友稱之為彈幕。
與傳統(tǒng)評(píng)論不同的是,彈幕評(píng)論可以在發(fā)送后直接顯示在視頻界面上,并且在之后其他觀眾觀看到該時(shí)間點(diǎn)的視頻情節(jié)時(shí)也會(huì)顯示出來(lái),即觀眾可以實(shí)時(shí)發(fā)布自己對(duì)視頻內(nèi)容的看法,并且能夠看到其他觀眾在看到相同視頻片段時(shí)的感受,促進(jìn)了視頻網(wǎng)站用戶之間的交流,增強(qiáng)了觀眾即時(shí)互動(dòng)效果。
一方面,相對(duì)于傳統(tǒng)評(píng)論來(lái)說(shuō),彈幕文本的實(shí)時(shí)性和簡(jiǎn)潔性更有利于表達(dá)視頻用戶的真實(shí)觀點(diǎn)和對(duì)于視頻情節(jié)及時(shí)的評(píng)價(jià)。針對(duì)彈幕文本的分類可以將描述不同角色、視頻片段、故事情節(jié)等方面的彈幕分離出來(lái),從而可以進(jìn)行基于視頻內(nèi)容的信息挖掘,比如視頻精彩片段集錦的提取,視頻中場(chǎng)景的分類等。另一方面,針對(duì)不同用戶群體發(fā)送彈幕文本用詞習(xí)慣、表達(dá)的情緒的不同,可以以此為基礎(chǔ)將用戶群體進(jìn)行分類,并根據(jù)分類結(jié)果更精確地向用戶推薦適合的網(wǎng)絡(luò)視頻或者廣告產(chǎn)品。
本文主要對(duì)網(wǎng)絡(luò)視頻中出現(xiàn)的時(shí)間序列相關(guān)的彈幕數(shù)據(jù)進(jìn)行分析和處理,在清洗冗余彈幕之后提取出具有實(shí)際意義的彈幕文本,并通過(guò)情感分析手段對(duì)彈幕用戶所發(fā)表的彈幕進(jìn)行情感計(jì)算(樂(lè)、好、怒、哀、懼、惡、驚)。由于每個(gè)彈幕數(shù)據(jù)都包含了視頻時(shí)間信息,因此我們提取了情感指數(shù)在時(shí)間上的分布作為該用戶的特征,然后利用聚類算法對(duì)這些用戶進(jìn)行情感分類。具體來(lái)說(shuō),本文的貢獻(xiàn)包括以下方面:
(1)以近年出現(xiàn)的網(wǎng)絡(luò)視頻彈幕為研究對(duì)象,了解彈幕數(shù)據(jù)的特征,知道數(shù)據(jù)的字段含義,掌握彈幕數(shù)據(jù)的基本處理方法。通過(guò)構(gòu)建網(wǎng)絡(luò)視頻彈幕常用詞詞典和選擇停用詞,對(duì)彈幕數(shù)據(jù)進(jìn)行預(yù)處理,清除冗余彈幕。
(2)對(duì)彈幕用戶進(jìn)行情感分析。利用情感分析技術(shù)從網(wǎng)絡(luò)視頻用戶所發(fā)彈幕中提取情感信息。通過(guò)處理短文本中的情感詞匯獲取每一條彈幕可能的情感傾向,從而獲取觀眾在視頻不同時(shí)間的態(tài)度與情感,并以此作為用戶特征來(lái)進(jìn)行后續(xù)分類。
(3)提出基于七維情感指數(shù)的k-means聚類算法,改進(jìn)了聚類算法中的距離計(jì)算方式,并通過(guò)聚類評(píng)價(jià)指標(biāo)來(lái)對(duì)類的個(gè)數(shù)k進(jìn)行估算。
我們通過(guò)實(shí)驗(yàn)結(jié)果及其分析介紹了對(duì)彈幕數(shù)據(jù)的預(yù)處理方法,并就用戶分類結(jié)果進(jìn)行了分析。
隨著社交網(wǎng)絡(luò)的盛行和互聯(lián)網(wǎng)的蓬勃發(fā)展,傳統(tǒng)的文本逐漸向“簡(jiǎn)短”“口語(yǔ)化”方向發(fā)展,由此產(chǎn)生了短文本的概念。最近幾年隨著自然語(yǔ)言處理技術(shù)的流行和廣泛運(yùn)用,國(guó)內(nèi)外針對(duì)短文本的研究也一直在進(jìn)行。一些基于Twitter和Facebook等社交媒體的短文本研究也逐漸變得成熟。許多相關(guān)方向的學(xué)者對(duì)此非常重視,并做了一些研究。
Song等人[1]指出Twitter內(nèi)容分類是一項(xiàng)有挑戰(zhàn)性的工作,因?yàn)橛脩舭l(fā)送的tweets詞語(yǔ)稀疏并且用詞不規(guī)范。Wijeratne等人[2]提出了一種基于關(guān)鍵詞消除的方法來(lái)過(guò)濾Twitter的噪聲數(shù)據(jù)。Wang等人[3]提出了一種基于圖的標(biāo)簽情感分類方法,將用戶發(fā)Twitter時(shí)用于表示發(fā)送內(nèi)容主題的標(biāo)簽(Hashtag)分為三類。通過(guò)這些標(biāo)簽的相關(guān)性,對(duì)它們建立圖的聯(lián)系,然后對(duì)Twitter文本的主題情感進(jìn)行分類。Sakaki等人[4]提出了一種基于關(guān)鍵詞特性、單詞數(shù)量和上下文信息的分類系統(tǒng)來(lái)監(jiān)測(cè)目標(biāo)事件,將每一個(gè)Twitter用戶當(dāng)作一個(gè)傳感器,由于日本的地震發(fā)生次數(shù)較多,并且全國(guó)范圍內(nèi)有大量的Twitter用戶,這個(gè)系統(tǒng)可以監(jiān)測(cè)出93%三級(jí)及以上的地震。同時(shí),通過(guò)信息過(guò)濾可以快速估計(jì)事件發(fā)生的地理位置。這種實(shí)時(shí)的事件監(jiān)測(cè)方法可以迅速地從大量的社交信息中提取出關(guān)鍵信息,從而達(dá)到信息實(shí)時(shí)共享的目的。Kouloumpis等人[5]對(duì)Twitter數(shù)據(jù)的情感分析作出了概括性的總結(jié)。
另外,在實(shí)時(shí)數(shù)據(jù)方面,Bollen等人[6]研究了Twitter情感和社會(huì)經(jīng)濟(jì)現(xiàn)象之間的聯(lián)系。Wang等人[7]設(shè)計(jì)了一個(gè)系統(tǒng),通過(guò)Twitter的實(shí)時(shí)數(shù)據(jù)來(lái)分析2012年美國(guó)總統(tǒng)選舉。Hays等人[8]設(shè)計(jì)了一種基于Unix的多線程系統(tǒng)來(lái)獲取和控制實(shí)時(shí)數(shù)據(jù)。Lee等人[9]提出了基于實(shí)時(shí)數(shù)據(jù)的入侵事件監(jiān)測(cè),通過(guò)對(duì)數(shù)據(jù)的實(shí)時(shí)分析來(lái)判斷是否發(fā)生了入侵事件。Witten等人[10]對(duì)數(shù)據(jù)挖掘需要使用到的實(shí)踐性的機(jī)器學(xué)習(xí)工具和技術(shù)進(jìn)行了研究。Fan等人[11]通過(guò)對(duì)大數(shù)據(jù)的挖掘,分析數(shù)據(jù)現(xiàn)在的狀態(tài),并通過(guò)算法和相應(yīng)改進(jìn)對(duì)未來(lái)的情況進(jìn)行預(yù)測(cè),從而更加充分地挖掘出數(shù)據(jù)的價(jià)值。在醫(yī)療領(lǐng)域,Lee等人[12]應(yīng)用Twitter數(shù)據(jù)對(duì)疾病進(jìn)行實(shí)時(shí)監(jiān)測(cè),并且由此建立了流感和癌癥的模型演示,從而為醫(yī)療健康發(fā)展提供很有價(jià)值的信息。
從本質(zhì)上來(lái)看,彈幕文本是基于時(shí)間序列的短文本,每一條彈幕都對(duì)應(yīng)于相應(yīng)的網(wǎng)絡(luò)視頻里的一個(gè)時(shí)間點(diǎn)。由于彈幕出現(xiàn)的時(shí)間較短,彈幕系統(tǒng)最近幾年才開(kāi)始被中國(guó)的一些視頻網(wǎng)站所采用,目前,針對(duì)彈幕數(shù)據(jù)的研究還比較少。詹雪美[13]通過(guò)對(duì)彈幕視頻區(qū)別于傳統(tǒng)視頻的特點(diǎn)出發(fā),討論了彈幕視頻網(wǎng)站的產(chǎn)生、發(fā)展與意義。鄭飏飏等人[14]利用網(wǎng)絡(luò)彈幕數(shù)據(jù)句子級(jí)別的情感分析方法,建立了基于情感詞典的分析模型,并通過(guò)對(duì)彈幕文本進(jìn)行分詞及計(jì)算單詞情感值來(lái)繪制可視化曲線,以獲取用戶在觀看網(wǎng)絡(luò)視頻時(shí)發(fā)送的彈幕數(shù)據(jù)中的情感分布。Xian等人[15]提出了一種視頻情節(jié)邊界檢測(cè)的方法來(lái)識(shí)別和抽取視頻情節(jié)的高潮部分。
由目前學(xué)者們的研究成果可見(jiàn),雖然基于時(shí)間序列的短文本的研究較為成熟,但是這種短文本大多是基于社交媒體的內(nèi)容,主要與發(fā)送者個(gè)人為中心,以發(fā)送者的視角、經(jīng)歷和分享內(nèi)容為素材進(jìn)行研究;而彈幕系統(tǒng)里的基于時(shí)間序列的短文本則是以視頻為中心,一個(gè)視頻的所有彈幕都是以這個(gè)視頻為中心,觀看該視頻的用戶根據(jù)視頻內(nèi)容發(fā)布評(píng)論,包括觀看感受、劇情評(píng)價(jià)、吐槽等內(nèi)容。這樣的實(shí)時(shí)數(shù)據(jù)更有利于我們實(shí)時(shí)分析該視頻的內(nèi)容及用戶的真實(shí)反饋;同時(shí),通過(guò)分析觀看相同視頻情節(jié)的用戶發(fā)送的彈幕特征,我們可以對(duì)用戶進(jìn)行分類,發(fā)現(xiàn)他們對(duì)不同情節(jié)的不同反應(yīng)和態(tài)度。
鑒于國(guó)內(nèi)視頻網(wǎng)站AcFun和嗶哩嗶哩是最早引進(jìn)彈幕系統(tǒng)的網(wǎng)站,彈幕系統(tǒng)較為成熟,且有大量用戶使用其觀看視頻,其中,網(wǎng)站上視頻每天播放量超過(guò)一億,彈幕總量超過(guò)14億,因此本文選擇了嗶哩嗶哩視頻網(wǎng)站的彈幕數(shù)據(jù)作為本課題的數(shù)據(jù)來(lái)源,通過(guò)多種不同類型的視頻的彈幕文本進(jìn)行實(shí)驗(yàn)。
在數(shù)據(jù)的獲取方面,通過(guò)Python引用的requests模塊,將每次觀看某視頻時(shí)網(wǎng)絡(luò)請(qǐng)求所返回的數(shù)據(jù)(彈幕文本及相關(guān)內(nèi)容)保存到本地中。由于每次請(qǐng)求最多可以返回8 000條彈幕文本數(shù)據(jù),因此通過(guò)嗶哩嗶哩網(wǎng)站開(kāi)放的一個(gè)相關(guān)接口取得能夠請(qǐng)求的最大次數(shù),再經(jīng)過(guò)遍歷得到每個(gè)視頻可取的所有彈幕。
當(dāng)大量彈幕出現(xiàn)在屏幕上的時(shí)候,密集程度很大,在動(dòng)態(tài)播放視頻的時(shí)候,它們大多在屏幕上從右往左飄過(guò),像是飛行的子彈,如圖1所示。
Figure 1 An example of barrage comments圖1 彈幕數(shù)據(jù)示例
嗶哩嗶哩視頻網(wǎng)站目前活躍用戶超過(guò)1.5億,從嗶哩嗶哩網(wǎng)站下載的彈幕數(shù)據(jù)中,每條彈幕包含8個(gè)參數(shù),這些參數(shù)構(gòu)成了一條彈幕的所有屬性,這8個(gè)參數(shù)分別是:
(1)彈幕出現(xiàn)時(shí)間(以距離視頻開(kāi)始的秒數(shù)為單位);
(2)彈幕的模式(包含滾動(dòng)彈幕、頂端彈幕、高級(jí)彈幕等);
(3)彈幕的字號(hào)大??;
(4)彈幕的字體顏色;
(5)彈幕的發(fā)布時(shí)間(Unix格式的時(shí)間戳);
(6)彈幕池;
(7)加密后的彈幕發(fā)送者的ID;
(8)彈幕在彈幕數(shù)據(jù)庫(kù)中的rowID(查看“歷史彈幕”的時(shí)候使用)。
Figure 2 Part of the barrage comments of “The Garden of Words”圖2 動(dòng)畫(huà)電影《言葉之庭》中的部分彈幕
圖2為動(dòng)畫(huà)電影《言葉之庭》中的6條彈幕,本文使用的彈幕文本數(shù)據(jù)源均為該格式。由圖2可知,這些彈幕是按照XML文本格式存儲(chǔ)的,其中〈d〉標(biāo)簽里的內(nèi)容是彈幕文本,即彈幕內(nèi)容,〈d〉標(biāo)簽的p屬性是該彈幕的其他特征。下面以圖2的第一條彈幕數(shù)據(jù)對(duì)其格式進(jìn)行具體說(shuō)明,如表1所示。
Table 1 Description of parameters based on examples表1 結(jié)合彈幕實(shí)例對(duì)參數(shù)的說(shuō)明
由于視頻用戶的多樣性和彈幕系統(tǒng)支持的語(yǔ)言的多樣性,不同用戶發(fā)送的彈幕內(nèi)容風(fēng)格完全不一樣。有的用戶發(fā)送的彈幕內(nèi)容偏口語(yǔ)化,有的用戶偏好發(fā)送網(wǎng)絡(luò)流行詞,有的用戶偶爾發(fā)送表情或者由文字與符號(hào)組成的用于表示心情的圖案(以下簡(jiǎn)稱顏文字)。因此,在分析彈幕文本的時(shí)候需要分情況考慮,這樣才能更好地理解用戶發(fā)送的彈幕所要表達(dá)的含義。同時(shí),有的用戶只發(fā)送一兩條彈幕,而這一兩條彈幕中僅有的幾個(gè)詞不能體現(xiàn)出該用戶發(fā)送彈幕的特點(diǎn),反而造成了數(shù)據(jù)稀疏的問(wèn)題。
問(wèn)題數(shù)據(jù)的存在很有可能會(huì)影響彈幕數(shù)據(jù)的完整性和合理性,從而影響彈幕分析的結(jié)果。因此,對(duì)彈幕數(shù)據(jù)進(jìn)行預(yù)處理是必須的。本文通過(guò)判斷Python的字符類型來(lái)判斷用戶發(fā)送的文本內(nèi)容的格式,從而有針對(duì)性地進(jìn)行處理。
經(jīng)過(guò)思考和多次嘗試,針對(duì)不同的問(wèn)題確認(rèn)了相應(yīng)的處理方法,具體的處理方法如表2所示。
Table 2 Processing of dirty data表2 問(wèn)題數(shù)據(jù)的處理方法
隨著網(wǎng)絡(luò)視頻的流行和網(wǎng)絡(luò)視頻用戶的快速增多,用戶在網(wǎng)絡(luò)視頻上留下的彈幕很可能被其他用戶當(dāng)作對(duì)視頻內(nèi)容的參考。而且,彈幕視頻的流行與“吐槽”文化快速發(fā)展之間的關(guān)系不可分割,它能讓人與人之間針對(duì)同類視頻進(jìn)行交流和互動(dòng)。
目前來(lái)說(shuō),在情感分析領(lǐng)域很少有以彈幕文本數(shù)據(jù)為對(duì)象的研究。而事實(shí)上,隨著彈幕系統(tǒng)的發(fā)展和日益豐富,彈幕文本數(shù)據(jù)所表達(dá)出的情感趨勢(shì)和觀點(diǎn)會(huì)更具有參考性,這些情感信息在用戶選擇視頻的時(shí)候可以作為參考內(nèi)容,滿足用戶對(duì)于視頻類型、情節(jié)內(nèi)容的視頻檢索需求。
因此,情感分析在彈幕文本數(shù)據(jù)的基礎(chǔ)上是很有價(jià)值的研究需求,對(duì)于網(wǎng)絡(luò)視頻的選擇和視頻內(nèi)容的判斷都有一定意義。
隨著互聯(lián)網(wǎng)的發(fā)展和數(shù)字媒體的流行,使用網(wǎng)絡(luò)媒體的人越來(lái)越多。與此同時(shí),由于社會(huì)實(shí)踐或者具有影響力的“名人”效應(yīng),一些本沒(méi)有意義的詞匯被賦予了某些特殊含義,如“藍(lán)瘦”一詞,就是因?yàn)橐欢尉W(wǎng)絡(luò)視頻的出現(xiàn),里面的人發(fā)音不標(biāo)準(zhǔn),將“難受”讀作“藍(lán)瘦”而被廣大網(wǎng)友用來(lái)表示自己難受的心情;一些本來(lái)具有意義的詞匯被當(dāng)作其他的含義使用,如“高能”一詞,在文學(xué)中指才能過(guò)人,在化學(xué)中指(對(duì)象)具備很高的能量,影視中指內(nèi)容擁有高度的表現(xiàn)力,而隨著時(shí)代的變遷,在現(xiàn)代社會(huì)中“高能”一詞常常被用來(lái)指對(duì)社會(huì)做出突出貢獻(xiàn)的人。在網(wǎng)絡(luò)視頻中,常搭配作“前方高能”一起使用,表示視頻即將到來(lái)的情節(jié)有亮點(diǎn),含有調(diào)侃意味。這是因?yàn)樵诳苹秒娪爸?,?dāng)戰(zhàn)艦遇到敵方發(fā)射光束攻擊時(shí)檢測(cè)器所檢測(cè)到的粒子反應(yīng)出現(xiàn)偏高的情況被稱為高能反應(yīng)現(xiàn)象。
在常用的分詞程序中,使用普通的詞典不能將這些詞匯識(shí)別出來(lái),從而不能夠?qū)渥舆M(jìn)行有效的分詞,也就會(huì)影響最終對(duì)文本語(yǔ)義及情感分析的結(jié)果。因此,需要建立一個(gè)網(wǎng)絡(luò)視頻彈幕常用詞詞典,用來(lái)對(duì)彈幕數(shù)據(jù)中經(jīng)常出現(xiàn)的非常用詞進(jìn)行識(shí)別,通過(guò)分詞程序?qū)⒅殖蓡蝹€(gè)的詞,從而為后續(xù)的文本分析和情感分析做準(zhǔn)備。
在網(wǎng)絡(luò)彈幕常用詞詞典的建立過(guò)程中,詞匯的選擇是非常重要的。也就是說(shuō),需要有一定的建立原則,才能更好地覆蓋彈幕視頻用戶的網(wǎng)絡(luò)用語(yǔ)習(xí)慣。具體的詞典建立原則主要如表3所示。
Table 3 Construction standards of barrage comments dictionary表3 網(wǎng)絡(luò)彈幕常用詞詞典的建立原則
由表3可知,網(wǎng)絡(luò)彈幕常用詞主要來(lái)源于兩方面。一方面是近幾年的網(wǎng)絡(luò)流行語(yǔ),如“神馬”“藍(lán)瘦”“香菇”等;另一方面是在彈幕系統(tǒng)中具有特殊含義的詞匯,如“前方高能”“前排打卡”“淚目”等。通過(guò)收集與分析這些詞匯,將結(jié)合起來(lái)的詞匯集合成相關(guān)詞典。
我們使用“結(jié)巴”中文分詞的精確模式對(duì)彈幕文本進(jìn)行分詞,并且對(duì)詞匯進(jìn)行情感分析。在統(tǒng)計(jì)詞頻的時(shí)候發(fā)現(xiàn)有很多無(wú)明確含義的詞在所有詞的出現(xiàn)頻率中占比非常高,比如“有”“的”“然后”等。國(guó)內(nèi)研究文本分析的學(xué)者也對(duì)這個(gè)問(wèn)題進(jìn)行了一些研究和討論。王素格等人[16]通過(guò)實(shí)驗(yàn)指出停用詞表對(duì)文本情感分類的影響與特征選擇和權(quán)重計(jì)算不盡相同,選用除去形容詞、動(dòng)詞和副詞外的其余詞語(yǔ)作為文本分析時(shí)的停用詞表,與不使用停用詞表相比,情感分類的結(jié)果相差較大。熊文新等人[17]總結(jié)了停用詞過(guò)濾在信息檢索用戶查詢語(yǔ)句中的使用情況。
一般來(lái)說(shuō),停用詞表有兩種獲取方式:一是通用停用詞表;二是專用停用詞表。通用停用詞表一般是由一些研究人員專門(mén)統(tǒng)計(jì)、收集大量停用詞,并將其制作成詞典文件。通用停用詞表具有詞匯量大、詞匯范圍全的特點(diǎn),但是它也在一定程度上限制了識(shí)別停用詞的速度;專用停用詞表則是基于統(tǒng)計(jì)的自動(dòng)學(xué)習(xí)方法,先是從語(yǔ)料庫(kù)中統(tǒng)計(jì)出高頻停用詞,然后構(gòu)建停用詞表,之后再由專人進(jìn)行核查[18]。
詳細(xì)的原則及說(shuō)明如表4所示。
Table 4 Word segmentation principles表4 分詞原則
4.4.1 建立彈幕數(shù)據(jù)情感分析模型
由于情感分析對(duì)情感詞典的依賴性很強(qiáng),為了針對(duì)網(wǎng)絡(luò)彈幕數(shù)據(jù)進(jìn)行更有針對(duì)性的情感分析,本文采用了常見(jiàn)的情感詞典庫(kù)和網(wǎng)絡(luò)彈幕用詞詞典庫(kù)結(jié)合的方式,通過(guò)將含有情感傾向的詞匯本身、詞匯情感傾向、詞性種類、情感強(qiáng)度等進(jìn)行計(jì)算和統(tǒng)計(jì),得到每個(gè)句子的情感狀況。然后結(jié)合彈幕時(shí)間點(diǎn)的參數(shù),將相同或相近時(shí)間段的彈幕數(shù)據(jù)分別進(jìn)行統(tǒng)計(jì),最后展現(xiàn)和分析結(jié)果。詳細(xì)流程如下所示:
(1)選擇含有彈幕數(shù)據(jù)的視頻,并獲取該視頻的所有彈幕數(shù)據(jù);
(2)使用分詞工具對(duì)彈幕文本進(jìn)行分詞處理,詞性標(biāo)注,按照分詞原則保留剩下的詞匯;
(3)通過(guò)使用情感詞典,將每條彈幕評(píng)論數(shù)據(jù)分詞后的詞匯與情感詞典進(jìn)行匹配,識(shí)別情感詞,計(jì)算情感值,并對(duì)每條彈幕評(píng)論數(shù)據(jù)進(jìn)行標(biāo)注和統(tǒng)計(jì);
(4)結(jié)合彈幕數(shù)據(jù)的時(shí)間序列,對(duì)該視頻的所有彈幕所表現(xiàn)出來(lái)的整體情感趨勢(shì)和局部情感數(shù)據(jù)進(jìn)行統(tǒng)計(jì)、分析和可視化處理;
(5)重復(fù)(2),但是在處理彈幕文本的時(shí)候,刪除部分噪音彈幕,再進(jìn)行后續(xù)步驟的處理,將得到的結(jié)果與之前所有彈幕進(jìn)行處理得到的結(jié)果作比較,觀察兩次分析的情感趨勢(shì)和極值點(diǎn)的位置是否相同。
4.4.2 構(gòu)建情感詞典
本文的情感詞典構(gòu)建素材,都是來(lái)自于大連理工大學(xué)信息檢索研究室的中文情感詞匯本體庫(kù)(http://ir.dlut.edu.cn/),徐琳宏等人[19]針對(duì)情感詞匯的構(gòu)造作了研究和說(shuō)明。這是一個(gè)從多個(gè)角度描述中文詞匯或者短語(yǔ)的詞匯庫(kù),其中包括的部分有詞性種類、情感類別、情感強(qiáng)度以及情感極性等多方面信息。
該情感詞匯本體庫(kù)將詞匯情感分為7大類,再細(xì)分為21小類,為了便于對(duì)彈幕文本進(jìn)行情感數(shù)據(jù)的分析和統(tǒng)計(jì),本文將主要考慮這7個(gè)大類情感,分別是樂(lè)、好、怒、哀、懼、惡、驚。其中,前兩個(gè)情感屬于正向情感,后面的屬于負(fù)向情感。
通過(guò)對(duì)動(dòng)漫劇集《全職高手》第一集進(jìn)行處理,得到這一集的彈幕數(shù)據(jù)中包含的情感詞。將各個(gè)情感類別出現(xiàn)的情感詞進(jìn)行統(tǒng)計(jì),得到該視頻中屬于這7個(gè)大類的情感詞。部分?jǐn)?shù)據(jù)如表5所示。
Table 5 Sentiment category表5 情感類別表
4.4.3 計(jì)算彈幕情感值
每條彈幕的情感值是這條彈幕里所有具有情感傾向的詞語(yǔ)的情感值之和。例如,一條彈幕為“我很喜歡這條狗”,則計(jì)算這條彈幕返回的情感值為[0,2,0,0,0,0,0]??梢钥闯?,彈幕返回的情感值是一個(gè)含有7個(gè)元素的列表,列表中每個(gè)元素代表一個(gè)維度的情感值,按照樂(lè)、好、怒、哀、懼、惡、驚的順序。例如,第一個(gè)元素0表示該句彈幕中“樂(lè)”的情感值為0;第二個(gè)元素2表示該句彈幕中“好”的情感值為2。其中,“喜歡”一詞可以表示值為1的“好”的情感,而它前面的“很”作為程度副詞,加強(qiáng)了“喜歡”的情感值,故乘以2倍,情感值為2。后面的幾個(gè)0依此類推,表示在這條彈幕中,其他五個(gè)維度的情感值均為0。
在分析彈幕情感的時(shí)候,可以考慮分為二維和多維的情感分布。在之前介紹的7類情感類別中,樂(lè)、好、驚可以作為正向情感,其余4類作為負(fù)向情感,通過(guò)將所有彈幕的正向情感值和負(fù)向情感值繪成曲線,對(duì)比觀察該視頻不同階段用戶對(duì)于視頻內(nèi)容的情感傾向。
與此同時(shí),可以作出7維情感圖,從多個(gè)角度來(lái)分析彈幕用戶對(duì)于視頻內(nèi)容的觀感和評(píng)價(jià)。制作7維情感圖的步驟主要如下:
首先,對(duì)分詞后的彈幕進(jìn)行7個(gè)角度的情感值計(jì)算,將之存儲(chǔ)在7維列表中;然后,將每一段時(shí)間(如30 s)7種情感的值求平均數(shù);再將這些數(shù)據(jù)分別繪出,其中,沒(méi)有相應(yīng)情感值的彈幕不作記錄。
通過(guò)對(duì)情感類型進(jìn)行細(xì)分,可以更加詳細(xì)地描述彈幕用戶在視頻各個(gè)階段的情感動(dòng)態(tài),方便對(duì)彈幕和視頻進(jìn)行分析。
通過(guò)每個(gè)用戶發(fā)表的所有彈幕數(shù)據(jù)的情感分析,7維的情感分布可以代表該用戶的情感特征。本文提出基于情感的自動(dòng)k-means聚類算法來(lái)進(jìn)行用戶自動(dòng)分類。在聚類算法中,有兩個(gè)需要解決的難題,包括數(shù)據(jù)間的距離計(jì)算以及如何自動(dòng)確定類的個(gè)數(shù)。為了使得該基于情感的k-means能自動(dòng)分類,我們引入了聚類評(píng)價(jià)準(zhǔn)則。由于聚類的對(duì)象是用戶的7維情感分布,我們提出在聚類算法中應(yīng)用動(dòng)態(tài)時(shí)間規(guī)整DTW(Dynamic Time Warping)算法來(lái)計(jì)算距離。
算法1基于情感的自動(dòng)k-means算法
輸入:用戶情感數(shù)據(jù)DN*T。
輸出:各個(gè)用戶屬于某個(gè)類的標(biāo)簽P。
調(diào)用基于情感的k-means(m),得到WB(m);
end
根據(jù)WB(m)拐點(diǎn),自動(dòng)確定類的個(gè)數(shù)k;
調(diào)用基于情感的k-means(k)得到P。
算法2是基于情感分布的自動(dòng)k-means聚類算法偽代碼。
算法2基于情感的k-means算法
輸入:用戶情感數(shù)據(jù)DN*T,聚類個(gè)數(shù)k。
輸出:P,WB(k)。
隨機(jī)生成k個(gè)點(diǎn),作為初始的中心點(diǎn);
while(算法未收斂)
對(duì)N個(gè)點(diǎn):計(jì)算每個(gè)點(diǎn)到k個(gè)中心點(diǎn)的DTW距離,最近距離的中心點(diǎn)即為屬于那一類;
對(duì)于k個(gè)中心點(diǎn):
(1)找出所有屬于自己這一類的數(shù)據(jù)點(diǎn);
(2)把自己的坐標(biāo)修改為這些數(shù)據(jù)點(diǎn)的中心點(diǎn)坐標(biāo);
if(新的中心點(diǎn)與舊的中心點(diǎn)坐標(biāo)相同)
break
end
end
計(jì)算類內(nèi)距離SSW(k),類間距離SSB(k),得到WB(k);
算法的輸入數(shù)據(jù)DN*T是由N個(gè)用戶、視頻時(shí)間長(zhǎng)度T組成的數(shù)組,其中每個(gè)用戶在每個(gè)時(shí)間刻度由7維情感數(shù)據(jù)來(lái)代表。我們首先根據(jù)聚類評(píng)價(jià)準(zhǔn)則來(lái)尋找最優(yōu)類的數(shù)目k,確定k后獲得具體的聚類結(jié)果。
動(dòng)態(tài)時(shí)間規(guī)整DTW算法是一種結(jié)合時(shí)間規(guī)整和間距測(cè)量計(jì)算的算法。它通過(guò)將部分時(shí)間間隔伸長(zhǎng)或縮短,使其與另一時(shí)間序列的長(zhǎng)度相對(duì)應(yīng),從而用來(lái)計(jì)算兩個(gè)時(shí)間序列的最短距離,該距離即可表示它們的相似度,該算法在語(yǔ)音識(shí)別領(lǐng)域使用較多。
具體的計(jì)算如圖3所示,其中,對(duì)于時(shí)間序列Q和C,它們的長(zhǎng)度分別是n和p,如果n不等于p,就可以通過(guò)動(dòng)態(tài)規(guī)劃將它們對(duì)齊。
Figure 3 Regulation of two time series圖3 兩個(gè)時(shí)間序列的規(guī)整
為此構(gòu)造一個(gè)n*p的矩陣網(wǎng)格,矩陣元素(i,j)表示qi和cj兩個(gè)點(diǎn)的距離d(qi,cj),尋找一條通過(guò)此網(wǎng)格中若干格點(diǎn)的路徑,路徑通過(guò)的格點(diǎn)即為兩個(gè)序列進(jìn)行計(jì)算的對(duì)齊的點(diǎn)。我們把這條路徑定義為規(guī)整路徑,并用W來(lái)表示,W的第k個(gè)元素定義為wk=(i,j)k,于是,W的計(jì)算公式如下所示:
W=w1+w2+w3+…+wk
(1)
這條路徑的選擇需要滿足以下幾個(gè)條件:
(1)邊界條件:w1=(1,1)和=wk(n,p)。一個(gè)時(shí)間序列的先后次序不可能改變,因此所選的路徑必定是從左下角出發(fā),在右上角結(jié)束。
(2)連續(xù)性:如果wk-1= (a′,b′),那么路徑的下一個(gè)點(diǎn)wk=(a,b)需要滿足 (a-a′) ≤1和(b-b′) ≤1,以保證Q和C中的每個(gè)坐標(biāo)都在W中出現(xiàn)。
(3)單調(diào)性:如果wk-1= (a′,b′),那么路徑的下一個(gè)點(diǎn)wk=(a,b)需要滿足0≤(a-a′)和0≤(b-b′),以保證圖中W的點(diǎn)隨時(shí)間單調(diào)。
這樣,每個(gè)點(diǎn)就只有三個(gè)路徑方向,我們需要的路徑是能夠讓規(guī)整代價(jià)最小的路徑。
定義累加距離為y(i,j),它表示當(dāng)前格點(diǎn)距離d(i,j),也就是點(diǎn)qi和cj的歐氏距離與可以到達(dá)該點(diǎn)的最小的鄰近元素的累積距離之和,計(jì)算公式如下所示:
y(i,j)=d(qi,cj)+
min{y(i-1,j-1),y(i-1,j),y(i,j-1)}
(2)
通過(guò)以上規(guī)整計(jì)算,就可以得到n*p矩陣左下角到右上角的最小代價(jià)路徑,即為序列Q與C的DTW距離。
由于聚類算法是一種無(wú)監(jiān)督的方法,我們需要聚類評(píng)價(jià)指標(biāo)來(lái)對(duì)類的個(gè)數(shù)進(jìn)行確定,也需要通過(guò)聚類評(píng)價(jià)指標(biāo)來(lái)對(duì)聚類的結(jié)果進(jìn)行評(píng)估。一般來(lái)說(shuō),評(píng)價(jià)的原則主要有類內(nèi)距離和類間距離兩種。
5.2.1 類內(nèi)距離
類內(nèi)距離是指聚類后一個(gè)類內(nèi)元素之間的距離,一般有兩種方式度量,分別是平均距離法和組內(nèi)平方和誤差法。
平均距離法首先要計(jì)算出所有元素兩兩之間的距離,然后得到它們的平均值,這個(gè)平均值作為類內(nèi)距離。公式如下:
(3)
其中,i表示類的序號(hào),表示第i個(gè)類的類內(nèi)距離,Ci表示第i個(gè)類,N表示元素的數(shù)量,x、y表示第i個(gè)類中的兩個(gè)元素,在這里指的是兩個(gè)用戶,d(x,y)表示元素x和元素y之間的DTW距離。
組內(nèi)平方和誤差法SSW(Sum of Squares Within)也是首先計(jì)算每個(gè)類中各個(gè)元素與其他元素之間的距離,然后取所有距離的平方和,這個(gè)平方和就被當(dāng)作這個(gè)類的類內(nèi)距離。公式(4)介紹了計(jì)算類內(nèi)距離的組內(nèi)平方和誤差法的計(jì)算公式:
(4)
其中,m表示元素的序號(hào),n表示元素的數(shù)量,xm表示第m個(gè)元素,Pm表示中心點(diǎn)的序號(hào),CPm表示中心點(diǎn)。
5.2.2 類間距離
類間距離是指聚類后兩個(gè)類之間的距離,一般有以下幾種方式度量,分別是最短距離法、最長(zhǎng)距離法、平均距離法、中心點(diǎn)距離法和組間平方和誤差法。
最短距離法Dsl首先計(jì)算一個(gè)類中各個(gè)元素與另一個(gè)類中所有元素之間的距離,然后取其中的最小距離,這個(gè)最小距離就被當(dāng)作這個(gè)類的類內(nèi)距離。下面公式介紹了計(jì)算類內(nèi)距離的最短距離法的計(jì)算方法:
Dsl(Ci,Cj)=minx,y{d(x,y)|x∈Ci,y∈Cj}
(5)
其中,i表示類的序號(hào),Ci表示第i個(gè)類,Cj表示第j個(gè)類,x、y分別表示Ci和Cj中的兩個(gè)元素,d(x,y)表示x、y這兩個(gè)元素的距離。
最長(zhǎng)距離法Dcl也是首先計(jì)算一個(gè)類中各個(gè)元素與另一個(gè)類中所有元素之間的距離,然后取其中的最大距離,這個(gè)最大距離就被當(dāng)作這個(gè)類的類內(nèi)距離。下面公式介紹了類內(nèi)距離的最長(zhǎng)距離法的計(jì)算方法:
Dcl(Ci,Cj)=maxx,y{d(x,y)|x∈Ci,y∈Cj}
(6)
其中,i表示類的序號(hào),Ci表示第i個(gè)類,Cj表示第j個(gè)類,x、y分別表示Ci和Cj中的兩個(gè)元素,d(x,y)表示x、y這兩個(gè)元素的距離。
平均距離法Davg也是首先計(jì)算一個(gè)類中各個(gè)元素與另一個(gè)類中所有元素之間的距離,然后取所有距離的平均值,這個(gè)平均值就被當(dāng)作這個(gè)類的類內(nèi)距離。下面公式介紹了計(jì)算類內(nèi)距離的平均距離法的計(jì)算公式:
(7)
其中,i表示類的序號(hào),Ci表示第i個(gè)類,Cj表示第j個(gè)類,x、y分別表示Ci和Cj中的兩個(gè)元素,d(x,y)表示x、y這兩個(gè)元素的距離。
中心點(diǎn)距離法Dcentroids采用每個(gè)類的中心點(diǎn)作為計(jì)算的元素,用兩個(gè)類的中心點(diǎn)之間的距離來(lái)表示它們的類間距離。公式如下:
Dcentroids(Ci,Cj)=d(ri,rj)
(8)
其中,i表示類的序號(hào),Ci表示第i個(gè)類,Cj表示第j個(gè)類,ri表示第i個(gè)類的中心點(diǎn),rj表示第j個(gè)類的中心點(diǎn),d(ri,rj)表示第i個(gè)類和第j個(gè)類的中心點(diǎn)的距離。
組間平方和誤差法SSB(Sum of Squares Between)先計(jì)算出每個(gè)類的中心點(diǎn)和所有類的中心點(diǎn),用它們的距離的平方和累加得到類間距離。公式如下:
(9)
可以看出,組間平方和誤差法和平均距離法比較類似,它們都采用了類內(nèi)所有元素的距離。組間平方和誤差法采用每個(gè)類的中心點(diǎn)和所有類的總中心點(diǎn)的距離,當(dāng)作該類中所有元素與總中心點(diǎn)距離的平均值,從而計(jì)算距離平方的和;平均距離法采用的是所有元素的距離和的平均值,可以減小因?yàn)轭悆?nèi)某些元素分布不均造成的計(jì)算誤差。
5.2.3 結(jié)合評(píng)價(jià)
由于聚類結(jié)果沒(méi)有統(tǒng)一標(biāo)準(zhǔn)的評(píng)價(jià)方式,因此國(guó)內(nèi)外一些學(xué)者針對(duì)聚類結(jié)果的衡量標(biāo)準(zhǔn)做了很多研究。Zhao等人[20]提出了一種基于平方和的指標(biāo)WB-index,該指標(biāo)具有更容易尋找類的個(gè)數(shù)的特點(diǎn),因此在本文中,我們運(yùn)用該指標(biāo)確定類的個(gè)數(shù)。
WB-index結(jié)合類內(nèi)距離的評(píng)價(jià)標(biāo)準(zhǔn)組內(nèi)平方和誤差、類間距離的評(píng)價(jià)標(biāo)準(zhǔn)組件平方和誤差和聚類個(gè)數(shù),通過(guò)檢測(cè)曲線拐點(diǎn)來(lái)確定最小的聚類數(shù)量。
一般來(lái)說(shuō),拐點(diǎn)是可能選擇最優(yōu)聚類數(shù)量的地方,但是在評(píng)價(jià)聚類效果的時(shí)候,沒(méi)有明確的理論或者研究結(jié)論可以定位拐點(diǎn)。這方面的研究也不夠完善。曲線中的最大值和最小值是最直接的拐點(diǎn),但是有一些指標(biāo)是單調(diào)遞減或者單調(diào)遞增的,也就是說(shuō)沒(méi)有明顯的拐點(diǎn),即沒(méi)有最佳聚類數(shù)量。另一些評(píng)價(jià)聚類效果的指標(biāo)隨著聚類數(shù)量的增加,會(huì)出現(xiàn)曲線拐點(diǎn),即可以找到最佳聚類數(shù)量。
當(dāng)檢測(cè)指標(biāo)的曲線出現(xiàn)拐點(diǎn)時(shí),其所對(duì)應(yīng)的橫坐標(biāo)數(shù)值很大概率是最優(yōu)的類的數(shù)目,如圖4所示。其中,橫坐標(biāo)表示類的個(gè)數(shù),縱坐標(biāo)表示的是采用的聚類評(píng)價(jià)指標(biāo)的值,K點(diǎn)為曲線的拐點(diǎn),N1是K點(diǎn)對(duì)應(yīng)的聚類數(shù)量。在K點(diǎn)之前,指標(biāo)數(shù)值一直在增加,在K點(diǎn)時(shí)到達(dá)極大值,K點(diǎn)之后指標(biāo)數(shù)值開(kāi)始減小。因此,K點(diǎn)所對(duì)應(yīng)的聚類數(shù)量N1即可作為聚類時(shí)選擇的類型數(shù)量。
Figure 4 Curve point detection圖4 曲線拐點(diǎn)檢測(cè)
SSW聚類評(píng)價(jià)方式常被用于衡量類內(nèi)元素的緊湊度,SSB聚類評(píng)價(jià)方式常被用于衡量類與類之間的分離度。基于平方和的指標(biāo),即WB-index常會(huì)在聚類數(shù)量增加的時(shí)候出現(xiàn)拐點(diǎn),其公式如下所示:
(10)
其中,k表示聚類的數(shù)量,SSW表示組內(nèi)平方和誤差,SSB表示組間平方和誤差。
本文中數(shù)據(jù)全部來(lái)源于嗶哩嗶哩視頻網(wǎng)站。視頻彈幕數(shù)據(jù)主要包括彈幕文本內(nèi)容、彈幕出現(xiàn)時(shí)間、彈幕發(fā)布時(shí)間和加密后的用戶id。所有的數(shù)據(jù)預(yù)處理及分析算法都是用Python實(shí)現(xiàn)的。
以電視劇《青云志》第七集為例,將視頻每20 s的彈幕數(shù)量進(jìn)行統(tǒng)計(jì),并繪出整個(gè)視頻的彈幕數(shù)量分布圖,如圖5所示。
Figure 5 Distribution of the number of barrage comments and time圖5 彈幕數(shù)量-時(shí)間分布圖
圖5中,實(shí)線表示每20 s的彈幕總數(shù),虛線是通過(guò)最小二乘法對(duì)實(shí)線的擬合,可以用來(lái)表示實(shí)線的整體趨勢(shì)。由圖5中可以看出,彈幕數(shù)量隨著視頻播放的進(jìn)行變化趨勢(shì)較為明顯。在視頻一開(kāi)始,彈幕數(shù)量比較多,隨后慢慢減少,這是因?yàn)楹芏嘁曨l觀眾喜歡在視頻一開(kāi)始的時(shí)候發(fā)送大量“問(wèn)候”用語(yǔ),如“前排打卡”“重新來(lái)看”等彈幕。這些彈幕雖然經(jīng)常出現(xiàn),但是并不能夠表達(dá)用戶對(duì)于視頻的真實(shí)感受。這樣的彈幕就會(huì)成為噪音彈幕,從而影響彈幕文本分析的結(jié)論。
從圖5還可以看到,每隔一段時(shí)間,彈幕數(shù)量就會(huì)出現(xiàn)峰值和谷值。如時(shí)間為5 min(圖中x軸為15)、18 min(圖中x軸為54)、27 min(圖中x軸為81)時(shí),即圓圈內(nèi)均為該視頻彈幕數(shù)量的峰值點(diǎn),說(shuō)明這些地方的情節(jié)引起了觀眾的共鳴,因此觀眾發(fā)送彈幕表達(dá)自己的所見(jiàn)所思所感。通過(guò)觀看視頻,發(fā)現(xiàn)第一處是時(shí)下很受歡迎的兩個(gè)少年歌手在打鬧的情節(jié);第二處是一位得道高人給男主角傳授功法的情節(jié),此時(shí)很多人在吐槽他的選擇;第三處是劇中神獸靈尊出現(xiàn)的情節(jié),引起了眾多觀眾對(duì)特效的評(píng)論。因此,彈幕數(shù)量是可以大致反映情節(jié)對(duì)觀眾的吸引力的。
相對(duì)而言,時(shí)間在11 min(圖中x軸為33),21~22 min(圖中x軸為65左右),33~34 min(圖中x軸為100)時(shí),即方框內(nèi)均為該視頻彈幕數(shù)量的谷值點(diǎn),說(shuō)明這些地方的情節(jié)觀眾不太愿意發(fā)送彈幕評(píng)論,是因?yàn)檫@里的故事情節(jié)平淡無(wú)奇,沒(méi)有什么可“吐槽”或評(píng)論的特點(diǎn)。
本視頻共有7 634條彈幕,2 628個(gè)單獨(dú)用戶,人均彈幕發(fā)送量2.9條。為了降低噪音彈幕對(duì)分析的干擾,對(duì)視頻的每個(gè)用戶發(fā)送的彈幕數(shù)量進(jìn)行統(tǒng)計(jì),結(jié)果如圖6所示。
Figure 6 Statistical chart of the number of barrage comments per user and the number of users圖6 每個(gè)用戶發(fā)送的彈幕條數(shù)-用戶數(shù)量統(tǒng)計(jì)圖
由圖6可以看出,僅發(fā)送1條彈幕的用戶數(shù)量有1 468位,遠(yuǎn)超僅發(fā)送2條彈幕的用戶數(shù)量?jī)杀队杏?,而隨著每個(gè)用戶發(fā)送彈幕條數(shù)的增多,用戶數(shù)量也成單調(diào)遞減狀態(tài),彈幕發(fā)送數(shù)量超過(guò)10條的用戶共有130人。
為了更清楚地分析每個(gè)用戶發(fā)送彈幕數(shù)量的比例關(guān)系,將不同情況下用戶數(shù)量所占比例繪制成餅圖,如圖7所示。
Figure 7 Pie chart of the number of users sending different numbers of barrage comments圖7 發(fā)送不同彈幕條數(shù)的用戶數(shù)量統(tǒng)計(jì)餅圖
由圖7餅圖可以很清晰地看出,僅發(fā)送1條彈幕的用戶占用戶總數(shù)的一半以上,僅發(fā)送2條彈幕的用戶占用戶總數(shù)的接近五分之一?,F(xiàn)在,刪去發(fā)送彈幕數(shù)量少于3條的用戶發(fā)送的彈幕,再對(duì)彈幕數(shù)量與視頻時(shí)間的函數(shù)關(guān)系進(jìn)行統(tǒng)計(jì),結(jié)果如圖8所示。
Figure 8 Distribution of the number of barrage comments after filtering and time圖8 噪音彈幕過(guò)濾后的彈幕數(shù)量-時(shí)間分布圖
Figure 9 Time distribution of the number of noisy and original barrage comments圖9 噪音彈幕數(shù)量/原始彈幕數(shù)量-時(shí)間分布圖
將圖8與圖5對(duì)比可以發(fā)現(xiàn),在各個(gè)時(shí)間段,視頻彈幕的數(shù)量都相應(yīng)減少,而彈幕數(shù)量隨著視頻時(shí)間的變化趨勢(shì)還是與過(guò)濾彈幕前幾乎一樣。為了更好地看清楚噪音彈幕在各個(gè)時(shí)間段的分布,將噪音彈幕數(shù)量/原始彈幕數(shù)量和視頻時(shí)間之間的關(guān)系輸出出來(lái),結(jié)果如圖9所示。縱坐標(biāo)采用的參數(shù)是噪音彈幕數(shù)量的比重niIndex,它是噪音彈幕數(shù)量noiseBNum和原始彈幕數(shù)量initialBNum的比值,公式如下:
(11)
其中,噪音彈幕是指發(fā)送彈幕條數(shù)少于3條的用戶發(fā)送的彈幕,原始彈幕是指未經(jīng)過(guò)濾的視頻彈幕。它們的比值反映了噪音彈幕在視頻不同時(shí)間段的所有彈幕中所占的比重情況。
從圖9中兩個(gè)視頻虛線的趨勢(shì)可以看出,噪音彈幕在視頻開(kāi)始和視頻結(jié)束的時(shí)候有兩個(gè)很明顯的峰值,點(diǎn)P1和點(diǎn)P2。它們的值都接近或超過(guò)0.5,也就是說(shuō),在視頻開(kāi)始(0 s)和視頻結(jié)束(43~44 min)時(shí),觀眾發(fā)出的彈幕有接近或超過(guò)一半的都是噪音彈幕。這與之前關(guān)于彈幕用戶喜歡在視頻開(kāi)始和結(jié)束時(shí)發(fā)送“前排打卡”“完結(jié)撒花”“進(jìn)度條撐住”等彈幕的假設(shè)相符合。
將《青云志》第七集視頻與第一集視頻對(duì)比可以發(fā)現(xiàn),第七集視頻的中間部分噪音彈幕的比重維持在0.2~0.4,而第一集視頻從開(kāi)始到10 min(圖中x軸為30),噪音彈幕比例一直在下降,之后維持在0.2~0.3,由此可見(jiàn),噪音彈幕比不僅與視頻的時(shí)間分布有關(guān),還與視頻的內(nèi)容有關(guān)。有理由推測(cè),第一集視頻的中間情節(jié)比第七集更加吸引用戶發(fā)表評(píng)論。
在對(duì)彈幕文本進(jìn)行情感分析的過(guò)程中,需要注意的地方主要有兩個(gè):一是彈幕文本的選擇,即對(duì)哪些彈幕文本進(jìn)行情感分析,刪除哪些彈幕文本;二是每條彈幕中需要分析的詞語(yǔ)的選擇,有些詞語(yǔ)沒(méi)有實(shí)際意義或者沒(méi)有情感趨向,需要在情感分析的過(guò)程中將其過(guò)濾,保留具有情感傾向的詞語(yǔ)。
Figure 10 Time distribution of 7-dimension sentiment value圖10 彈幕7維情感值的時(shí)間分布
基于以上考慮,以及對(duì)比和研究,本文決定采用去除噪音彈幕的方法來(lái)提升分析的準(zhǔn)確度。在去除噪音彈幕之后,對(duì)彈幕分詞后的詞語(yǔ)進(jìn)行判斷,分析它們是否具有明顯的情感傾向。通過(guò)將同一段時(shí)間內(nèi)的所有彈幕的情感值取平均數(shù),即可獲得這段時(shí)間彈幕用戶對(duì)于該段視頻的情感傾向。
針對(duì)電影《言葉之庭》的彈幕數(shù)據(jù),它共有32 323條彈幕。我們進(jìn)行7維情感分析,即樂(lè)、好、怒、哀、懼、惡、驚,得到的結(jié)果如圖10所示。
從圖10的彈幕數(shù)據(jù)情感圖可以看出,在不同的時(shí)間段(每30 s)的同一項(xiàng)情感的數(shù)值有較大差異。在相同的時(shí)間段,7種不同的情感類型的數(shù)據(jù)值也有較大差異。
如第一種情感“樂(lè)”,在視頻的4~10 min(圖中x軸為[8,20]),15~20 min(圖中x軸為[30,40]),15~18 min(圖中x軸為[45,54])等處,其值在2以上。說(shuō)明這段時(shí)間的視頻情節(jié)含有“樂(lè)”的內(nèi)容,因此彈幕用戶會(huì)選擇在這里發(fā)送有關(guān)于“樂(lè)”的彈幕。而在視頻的其余一些時(shí)間段,彈幕用戶幾乎沒(méi)有發(fā)送過(guò)“樂(lè)”相關(guān)的彈幕,說(shuō)明這段時(shí)間的視頻情節(jié)沒(méi)有什么內(nèi)容吸引用戶發(fā)送“樂(lè)”相關(guān)的彈幕。即可推測(cè),這里的視頻內(nèi)容不夠“樂(lè)”。
而與“樂(lè)”具有相近含義的“好”則表現(xiàn)出了一些不同的特點(diǎn),它的分布區(qū)間更大,出現(xiàn)“好”相關(guān)的彈幕也較多。這是因?yàn)椤跋矚g”“表白”等詞都屬于“好”,在觀看視頻過(guò)程中,彈幕用戶經(jīng)常發(fā)表自己對(duì)演員角色的評(píng)價(jià)。比較常見(jiàn)的積極性評(píng)價(jià)一般為“喜歡”某演員或者某角色,并向他們“表白”等。
第三種情感“怒”和第七種情感“驚”均一直為0,也就是說(shuō),在這個(gè)視頻中,沒(méi)有用戶發(fā)表有關(guān)這兩種情感的彈幕內(nèi)容。從實(shí)際內(nèi)容來(lái)看,這個(gè)視頻由于是一部40 min左右的電影《言葉之庭》,并且電影沒(méi)有戲劇沖突十分強(qiáng)烈的情節(jié),也沒(méi)有出其不意的部分,更多的是以平鋪直敘的方式展開(kāi)敘述。因此,沒(méi)有彈幕用戶發(fā)表這兩種情感的彈幕也是合理的。
其余幾種情感也是各自分布不同,如第六種情感“惡”就幾乎一直貫穿在視頻中間,說(shuō)明該視頻的情節(jié)內(nèi)容經(jīng)常會(huì)讓用戶想發(fā)送“惡”相關(guān)的彈幕,而“惡”和“好”也是這7種情感中僅有的兩種貫穿全劇的情感。
顯然,每個(gè)不同的視頻,情感的分布是會(huì)有差異的。但是,通過(guò)在其它類型的視頻中運(yùn)用相同的計(jì)算法則,發(fā)現(xiàn)出現(xiàn)較多的情感類型常為“好”和“惡”。其它類型的情感則根據(jù)視頻的不同會(huì)有相應(yīng)的分布變化。
例如,在視頻《西游降魔篇》中,也是“好”和“惡”的相關(guān)彈幕最多。具體的情感分布如圖11所示。對(duì)比圖10,從分布比例上看,第五種情感的出現(xiàn)頻率顯然增大。也就是說(shuō)“懼”相關(guān)的彈幕出現(xiàn)頻率增大,有更多觀眾在觀看這部視頻的時(shí)候發(fā)送了具有“懼”含義的彈幕。試著將其中一部分彈幕輸出出來(lái),如表6所示。
Figure 11 Time distribution of 7-dimensional sentiment value in “Journey to the West:Conquering the Demons”圖11 《西游降魔篇》彈幕7維情感值的時(shí)間分布Table 6 Partial barrage comments that represent “scare” in “Journey to the West:Conquering the Demons”表6 《西游降魔篇》表示“懼”的部分彈幕
表示“懼”的彈幕(部分)豬剛鬣的臉好恐怖這段超可怕啊這段比魚(yú)怪恐怖多了…這段挺嚇人的,同志們注意了這一段恐怖爆了這段也超恐怖前面好嚇人
從表6可以看出,用戶普遍在表達(dá)對(duì)于視頻內(nèi)容的“懼”,有表示“恐怖”的,也有表示“嚇人”的,因?yàn)檫@段視頻中豬剛鬣恢復(fù)成原本的樣貌,是頭很可怕的豬,電影造型也非常恐怖。因此,很多觀眾表達(dá)了自己對(duì)于這個(gè)場(chǎng)景的“恐懼”,說(shuō)明這部電影的“懼”的元素比《青云志》第七集的多。
經(jīng)過(guò)這樣的情感標(biāo)注,可以對(duì)視頻內(nèi)容進(jìn)行情感預(yù)測(cè)。例如,有些觀眾害怕“恐懼”的內(nèi)容,則可以通過(guò)對(duì)彈幕的情感分析,在出現(xiàn)大規(guī)?!翱謶帧睆椖恢疤崾鞠嚓P(guān)用戶,從而幫助用戶更好地觀看視頻。
從相同的時(shí)間段來(lái)看,不同類型情感的數(shù)值差異更為明顯。在圖11的開(kāi)始部分(x軸為[0,50])這一階段,第一種情感“樂(lè)”和第二種情感“哀”分布都較為稀疏,說(shuō)明這兩種情感在這段時(shí)間的視頻內(nèi)容上分布較少。而第三種情感“怒”和第七種情感“驚”,它們不僅在視頻開(kāi)始的時(shí)間段沒(méi)有情感值,在整個(gè)視頻中也極少有相關(guān)彈幕。
由此說(shuō)明,對(duì)于每段不同的情節(jié),彈幕情感類型的分布會(huì)有較大差異,且差異隨著視頻內(nèi)容的改變而相應(yīng)變化。
將彈幕用戶發(fā)送的所有彈幕進(jìn)行統(tǒng)計(jì)、歸類,為了使彈幕數(shù)據(jù)可以更好地反映出用戶的情感信息,將個(gè)人發(fā)送彈幕數(shù)據(jù)量少于3、5、10、15以及20條的分別刪去,對(duì)剩下的用戶進(jìn)行情感值(只計(jì)算積極和消極情感)的計(jì)算和統(tǒng)計(jì),結(jié)果如圖12所示。
從圖12中可以看出,隨著個(gè)人彈幕發(fā)送數(shù)量的增加,用戶情感值相對(duì)較小(正向和負(fù)向)的依次減少,剩下的用戶發(fā)送的彈幕的情感值偏高。由此可以得出,用戶發(fā)送的彈幕數(shù)量越多,含有情感傾向的趨勢(shì)越明顯,也就是說(shuō),發(fā)送的彈幕內(nèi)容越多,越容易從中抽取出用戶針對(duì)某個(gè)視頻發(fā)送彈幕的個(gè)人情感傾向。還可以看出,一般來(lái)說(shuō)用戶的積極情感值顯著高于消極情感值,將用戶中消極情感值高于積極情感值的情感數(shù)據(jù)輸出出來(lái),并繪制成圖,如圖13所示。
從上面的分析我們可以得知,從彈幕中得到的情感指數(shù)可以反映一個(gè)用戶的特征,比如正能量或負(fù)能量,這樣的情感特征可以幫助我們?nèi)?duì)用戶進(jìn)行分類。
Figure 12 Sentiment value distribution of users圖12 彈幕用戶的情感值分布
Figure 13 Sentiment value of users who are more negative than positive圖13 消極情感多于積極情感的用戶的情感數(shù)據(jù)
首先,我們利用聚類評(píng)價(jià)指標(biāo)來(lái)選取k-means算法中類的個(gè)數(shù)。圖14表示SSW,SSB,SSW/SSB,WB-index與用戶聚類個(gè)數(shù)k的關(guān)系,隨著k值增大,采用的WB-index評(píng)價(jià)指標(biāo)在降低的過(guò)程中多次出現(xiàn)拐點(diǎn)。因此,根據(jù)它衡量聚類個(gè)數(shù)時(shí),可以認(rèn)為拐點(diǎn)出現(xiàn)時(shí)的k值可作為合適的用戶類別數(shù)。
由圖14可以看出,隨著k值的增大,表示類內(nèi)距離和類間距離的衡量參數(shù)都呈增大趨勢(shì),其中,SSW/SSB值在短暫波動(dòng)后趨于穩(wěn)定上升。而按照WB-index衡量指標(biāo)來(lái)看,隨著k值的增大,雖然其值呈上升趨勢(shì),但是上升過(guò)程中出現(xiàn)了多個(gè)谷值點(diǎn),如主題數(shù)量為7、9、14等的時(shí)候,這些拐點(diǎn)為我們提供了確定k值的可選范圍。
在k為7的時(shí)候,WB-index第一次出現(xiàn)拐點(diǎn),這個(gè)點(diǎn)意味著7比附近的k值(如6、8等)更合適作為聚類個(gè)數(shù)的選取。接下來(lái),我們以7個(gè)類型為基礎(chǔ),對(duì)用戶進(jìn)行聚類。7個(gè)用戶類數(shù)量分布如圖15所示。由圖15可以看出,類0、2、4含有較少的用戶,均在70個(gè)左右;類5含有最多的用戶,共有1 010個(gè)用戶;類2含有的彈幕條數(shù)僅次于類型5,為607個(gè);其他類的用戶個(gè)數(shù)都在400左右。
Figure 14 Relationship between clustering measurement index and k圖14 聚類相關(guān)衡量指標(biāo)與k值的關(guān)系
Figure 15 User distribution of each category when k=7圖15 k=7時(shí),各個(gè)類的用戶數(shù)量分布圖
分析各個(gè)類型的用戶發(fā)送的彈幕的內(nèi)容,將第一類隨機(jī)取出兩個(gè)用戶發(fā)送的所有彈幕進(jìn)行觀察,這些彈幕如圖16所示。
Figure 16 Comparison among all barrage comments sent by two users圖16 兩個(gè)用戶發(fā)送的所有彈幕對(duì)比
由圖16可以看出用戶15cc0dec(以下簡(jiǎn)稱用戶1)與用戶cdc9677a(以下簡(jiǎn)稱用戶2)發(fā)送的彈幕情感數(shù)值和相應(yīng)時(shí)間。
實(shí)線框內(nèi)的彈幕時(shí)間約在200~300 s內(nèi)發(fā)送,且彈幕情感數(shù)據(jù)的值(7維情感都考慮的值)在DTW算法拉伸后較為相近;同樣,在虛線框內(nèi)的彈幕是1 100~1 800 s發(fā)送的,相似度看起來(lái)不是很高,在有情感值的彈幕中,只有虛線框內(nèi)的最后一條彈幕情感數(shù)據(jù)完全一樣;而實(shí)線框內(nèi)的2 100~2 500 s內(nèi)的彈幕則相似度較高,一方面彈幕情感值較為接近,另一方面它們的發(fā)送時(shí)間也較為連續(xù),經(jīng)過(guò)DTW對(duì)時(shí)間序列進(jìn)行動(dòng)態(tài)規(guī)整后,距離更加接近。
因此,通過(guò)以上的實(shí)驗(yàn)結(jié)果可以看出,在對(duì)彈幕數(shù)據(jù)進(jìn)行情感分析的過(guò)程中,噪音彈幕多集中在視頻的首尾部分。通過(guò)去除噪音彈幕可以更好地分析用戶發(fā)送彈幕的情感以及視頻情節(jié)對(duì)觀眾情感產(chǎn)生的影響。在根據(jù)用戶情感對(duì)用戶進(jìn)行聚類的過(guò)程中,考慮到視頻時(shí)間序列的拉伸和用戶通過(guò)彈幕表達(dá)的對(duì)視頻情節(jié)的情感狀態(tài),聚在一類的用戶在觀看視頻時(shí)的確有相似的情感偏好,他們會(huì)在相同的時(shí)間節(jié)點(diǎn)上產(chǎn)生相同的情感。由此可見(jiàn),通過(guò)彈幕情感數(shù)據(jù)對(duì)用戶進(jìn)行聚類可以較好地將同一類用戶聚在一起,一方面可以分析這些用戶發(fā)送彈幕的愛(ài)好和用詞特征;另一方面,也能夠據(jù)此對(duì)同類用戶進(jìn)行更加精準(zhǔn)的視頻推薦,分析他們對(duì)特定類型的視頻是否具有相同的愛(ài)好。這些也可以作為視頻推薦或者“知音”推薦等的依據(jù)。
彈幕數(shù)據(jù)的分析工作目前來(lái)說(shuō)較少,本文主要對(duì)彈幕數(shù)據(jù)的獲取、預(yù)處理以及深層次的分析方法進(jìn)行了詳細(xì)介紹,提出了基于彈幕數(shù)據(jù)情感分析的用戶分類算法。該算法引入用戶的情感指標(biāo),并以此指標(biāo)作為用戶特征進(jìn)行無(wú)監(jiān)督的分類。我們改進(jìn)了傳統(tǒng)k-means算法,使之能自動(dòng)確定類的數(shù)目,并引入DTW來(lái)計(jì)算用戶情感分布之間的距離。實(shí)驗(yàn)結(jié)果表明,我們的分析方法能很好地進(jìn)行彈幕數(shù)據(jù)分析,并對(duì)彈幕用戶進(jìn)行分類標(biāo)簽。
在本文的基礎(chǔ)上,未來(lái)還有其他可繼續(xù)研究的方向。例如,可以通過(guò)彈幕的發(fā)布時(shí)間(如2017年5月30號(hào))來(lái)研究視頻從發(fā)布在網(wǎng)絡(luò)上開(kāi)始,用戶的關(guān)注度、情感數(shù)據(jù)以及彈幕評(píng)論的內(nèi)容是否會(huì)隨著時(shí)間推移而顯現(xiàn)特別的規(guī)律。同時(shí),可以通過(guò)算法研究檢測(cè)異常點(diǎn),通過(guò)彈幕異常點(diǎn)的監(jiān)測(cè),分析相關(guān)視頻的演職人員是否有了新的動(dòng)態(tài),從而造成了用戶發(fā)送彈幕頻率或狀態(tài)出現(xiàn)了很大的變化等。
在這個(gè)大數(shù)據(jù)愈發(fā)流行的時(shí)代,對(duì)于數(shù)據(jù)的收集、處理和分析也顯得愈加重要。彈幕這種新型的文本數(shù)據(jù)為我們?cè)谶@個(gè)領(lǐng)域的研究提供了一個(gè)新的方向,同時(shí)這也是新的挑戰(zhàn)。
[1] Song G,Ye Y,Du X,et al.Short text classification:A survey[J].Journal of Multimedia,2014,9(5):635-643.
[2] Wijeratne S, Heravi B R. Keyword sense disambiguation based approach for noise filtering in Twitter[C]∥Proc of the 1st Insight Student Conference,2014:1.
[3] Wang X, Wei F,Liu X,et al.Topic sentiment analysis in Twitter:A graph-based hashtag sentiment classification approach[C]∥Proc of ACM International Conference on Information and Knowledge,2011:1031-1040.
[4] Sakaki T,Okazaki M,Matsuo Y.Earthquake shakes Twitter users:Real-time event detection by social sensors[C]∥Proc of International World Wide Web Conference,2010:851-860.
[5] Kouloumpis E,Wilson T,Moore J D.Twitter sentiment analysis:The good the bad and the omg![C]∥Proc of International Conference on Weblogs Social Media,2011:164.
[6] Bollen J,Mao H,Pepe A.Modeling public mood and emotion:Twitter sentiment and socio-economic phenomena[C]∥Proc of ICWSM,2011:450-453.
[7] Wang H,Can D,Kazemzadeh A,et al.A system for real-time Twitter sentiment analysis of 2012 U.S. presidential election cycle[C]∥Proc of the ACL 2012 System Demonstrations.Association for Computational Linguistics,2012:115-120.
[8] Hays A V,Richmond B J,Optican L M A. A Unix-based multiple process system for real-time data acquisition and control[C]∥Proc of Wescon Conference,1982:1-10.
[9] Lee W, Stolfo S J,Chan P K,et al.Real time data mining-based intrusion detection[C]∥Proc of DARPA Information Survivability Conference & Exposition II,2001:89-100.
[10] Witten I H, Frank E,Hall M A,et al.Data mining:Practical machine learning tools and techniques[M].San Francisco:Morgan Kaufmann,2016.
[11] Fan W,Bifet A.Mining big data:Current status,and forecast to the future[J].ACM SIGKDD Explorations Newsletter,2013,14(2):1-5.
[12] Lee K,Agrawal A,Choudhary A.Real-time disease surveillance using Twitter data:Demonstration on flu and cancer[C]∥Proc of the 19th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining,2013:1474-1477.
[13] Zhan Xue-mei.Development of barrage of video website in China[J].Popular Science & Technology,2014,16(10):232-233.(in Chinese)
[14] Zheng Yang-yang, Xu Jian,Xiao Zhuo.Utilization of sentiment analysis and visualization in online video bullet-screen comments[J].New Technology of Library and Information Service,2015,31(11):82-90.(in Chinese)
[15] Xian Y,Li J,Zhang C,et al.Video highlight shot extraction with time-sync comment[C]∥Proc of International Workshop on Hot Topics in Planet-Scale Mobile Computing and Online Social Networking,2015:31-36.
[16] Wang Su-ge, Wei Ying-jie.The Influence of stoplist on the Chinese text sentiment categorization[J].Journal of the China Society for Scientific and Technical Information,2008,27(2):175-179.(in Chinese)
[17] Xiong Wen-xin,Song Rou.Removal of stop word in users’ request for information retrieval[J].Computer Engineering,2007,33(6):195-197.(in Chinese)
[18] Hua Bo-lin. Stop-word processing technique in knowledge extraction[J].New Technology of Library and Information Service,2007,2(8):48-51.(in Chinese)
[19] Xu Lin-hong,Lin Hong-fei,Pan Yu,et al.Constructing the affective lexicon ontology[J].Journal of the China Society for Scientific and Technical Information,2008,27(2):180-185.(in Chinese)
[20] Zhao Q,Fr?nti P.WB-index:A sum-of-squares based index for cluster validity[J].Data & Knowledge Engineering,2014,92(7):77-89.
附中文參考文獻(xiàn):
[13] 詹雪美.淺析彈幕視頻網(wǎng)站在我國(guó)的發(fā)展[J].大眾科技,2014,16(10):232-233.
[14] 鄭飏飏,徐健,肖卓.情感分析及可視化方法在網(wǎng)絡(luò)視頻彈幕數(shù)據(jù)分析中的應(yīng)用[J].現(xiàn)代圖書(shū)情報(bào)技術(shù),2015,31(11):82-90.
[16] 王素格,魏英杰.停用詞表對(duì)中文文本情感分類的影響[J].情報(bào)學(xué)報(bào),2008,27(2):175-179.
[17] 熊文新,宋柔.信息檢索用戶查詢語(yǔ)句的停用詞過(guò)濾[J].計(jì)算機(jī)工程,2007,33(6):195-197.
[18] 化柏林.知識(shí)抽取中的停用詞處理技術(shù)[J].現(xiàn)代圖書(shū)情報(bào)技術(shù),2007,2(8):48-51.
[19] 徐琳宏,林鴻飛,潘宇,等.情感詞匯本體的構(gòu)造[J].情報(bào)學(xué)報(bào),2008,27(2):180-185.