汪 舸,吳方君
(1.江西財經(jīng)大學(xué)信息管理學(xué)院,江西 南昌 330013;2.江西財經(jīng)大學(xué)數(shù)據(jù)與知識工程江西省高校重點實驗室,江西 南昌 330013)
隨著互聯(lián)網(wǎng)和網(wǎng)絡(luò)新媒體的發(fā)展,一種把評論與視頻相結(jié)合的新型視頻—彈幕視頻開始在日本和我國流行起來,觀眾可以在觀看視頻的同時發(fā)送對當(dāng)前視頻片段的評論。由于評論會像子彈一樣穿過視頻,所以被稱為彈幕,如圖1所示。在觀看視頻的同時,實時地分享自己的喜怒哀樂,與其他觀眾產(chǎn)生共鳴,增進(jìn)了觀眾之間的互動。另一方面,相對于傳統(tǒng)視頻,觀眾發(fā)送彈幕可以看作對視頻的再創(chuàng)作,有趣的彈幕能提高視頻的娛樂性,給觀眾帶來更優(yōu)質(zhì)的觀看體驗[1]。彈幕文化以其獨有的特點受到了年輕觀眾的喜愛,滋生了諸如Bilibili這樣的視頻網(wǎng)站。
Figure 1 An example of barrage comments圖1 彈幕評論示例
彈幕是彈幕視頻網(wǎng)站成功的關(guān)鍵,研究表明視頻的流行程度和評論數(shù)是正相關(guān)的[2,3]。隨著彈幕文化的流行,也引發(fā)了一些問題。隨著觀看彈幕視頻人數(shù)的增加,觀眾發(fā)表的彈幕文本也越來越多,出現(xiàn)了大量垃圾彈幕。垃圾彈幕輕則影響觀眾心情,降低觀看體驗,不利于視頻的傳播;重則會引發(fā)爭端,損害觀眾、視頻創(chuàng)作者和視頻網(wǎng)站的利益。為了解決該問題,一些彈幕視頻網(wǎng)站推出了相應(yīng)的屏蔽機(jī)制,目前運用最多的就是關(guān)鍵詞屏蔽。該方法將彈幕評論與關(guān)鍵詞進(jìn)行對比,如果匹配成功,則屏蔽該彈幕;否則不屏蔽。屏蔽詞典是該方法的核心,而視頻網(wǎng)站并沒有公布相應(yīng)的屏蔽詞典,需要觀眾自己添加關(guān)鍵詞。由于垃圾彈幕種類繁多,彈幕新詞層出不窮,觀眾很難在較短的時間內(nèi)找到大部分屏蔽詞,故屏蔽效果不佳。為了有效地屏蔽垃圾彈幕,本文通過使用多種方法自動生成垃圾彈幕屏蔽詞典。本文的貢獻(xiàn)有2點:(1)人工標(biāo)注了垃圾彈幕數(shù)據(jù)集,為垃圾彈幕分類提供了語料,可以在“github.com/wg19961018/Danmu”下載;(2)構(gòu)建了垃圾彈幕屏蔽詞典,對彈幕視頻用戶和后續(xù)垃圾彈幕分類研究都有裨益。
經(jīng)查閱,并沒有發(fā)現(xiàn)自動構(gòu)建彈幕屏蔽詞典的相關(guān)文獻(xiàn),而各大視頻網(wǎng)站也沒有公開的屏蔽詞典。在參考了情感詞典自動構(gòu)建方法的基礎(chǔ)上,結(jié)合彈幕文本自身的特點,本文構(gòu)建了彈幕屏蔽詞典。下面從彈幕分析和情感詞典的自動構(gòu)建2個方面介紹相關(guān)工作。
Lin等[4]以Bilibili網(wǎng)站為例,分析了國外視頻的標(biāo)簽是如何被引入和翻譯成中文的,同時提出了一種簡單的統(tǒng)計方法來判斷彈幕中的詞匯是否是外來詞。Wu等[5]使用一種基于日本視頻網(wǎng)站NicoVideo的查看器注釋排序方法,分析了用戶在Bilibili上發(fā)表的情感評論,研究了評論與流行度指標(biāo)(如重放次數(shù)和書簽數(shù)量)之間的相互關(guān)系。Wu等[6]希望利用視頻網(wǎng)站上的彈幕評論來提取視頻時間同步標(biāo)簽,提出了一種個性化主題模型,該模型將視頻語義、用戶評論和用戶偏好作為先驗知識考慮,最后根據(jù)主題模型生成的關(guān)鍵字為視頻片段打標(biāo)簽。He等[7]從熱門視頻、流行彈幕和最新更新的視頻等多方面分析了彈幕視頻流行的羊群效應(yīng),考慮到上傳者的粉絲數(shù)和視頻內(nèi)容對視頻的流行度也有很大影響,提出了一個綜合考慮粉絲數(shù)、視頻內(nèi)容和羊群效應(yīng)的視頻流行度預(yù)測模型。鄧揚等[8]通過構(gòu)建基于LDA的彈幕詞語分類,然后利用彈幕詞語情感評估對應(yīng)視頻片段的情感,最后依據(jù)視頻片段的情感相似度進(jìn)行視頻推薦。洪慶等[9]詳細(xì)介紹了彈幕爬取、預(yù)處理等彈幕數(shù)據(jù)分析工作,并對彈幕進(jìn)行情感分析,最后根據(jù)用戶發(fā)送彈幕的情感對用戶進(jìn)行聚類。吳法民等[10]為了解決彈幕高噪聲且語義不易理解等問題,在“相近時間內(nèi)彈幕語義相似”的假設(shè)下,提出了一種字符級的彈幕隱含語義解釋模型,利用上下文相關(guān)彈幕來解釋彈幕語義。
目前,情感詞典的構(gòu)建大體上可分為3類[11,12]:(1)利用現(xiàn)有的知識庫擴(kuò)充情感詞;(2)利用統(tǒng)計或機(jī)器學(xué)習(xí)算法從語料庫中自動抽取情感詞;(3)結(jié)合現(xiàn)有知識和語料共同構(gòu)建情感詞典。Andreevskaia等[13]基于WordNet提供的詞語關(guān)系和詞語解釋來擴(kuò)展情感詞。首先選取一些種子詞,通過詞義關(guān)系擴(kuò)展情感詞;然后遍歷WordNet提供的詞語解釋,若某詞的解釋中包含某種子詞,便把該詞加入到情感詞典。田久樂等[14]提出一種基于同義詞詞林的情感詞典擴(kuò)展方法,首先人工總結(jié)出一些具有情感傾向性的種子詞;然后在詞林中尋找與種子詞相似的詞來擴(kuò)大該集合;最后經(jīng)過循環(huán)迭代,得到一個具有一定規(guī)模的情感詞典。楊小平等[15]首先使用語言模型對語料進(jìn)行預(yù)訓(xùn)練,再根據(jù)情感類別選取種子詞,然后計算未知詞語與種子詞的語義距離,接著把語義距離轉(zhuǎn)換成情感強度,判斷詞語的情感傾向。李壽山等[16]首先借用機(jī)器翻譯把英文評論翻譯成中文評論,并將2篇文檔合并,再計算中文詞語和英文情感詞的PMI值;然后構(gòu)建了一個由PMI值組成的連接矩陣;最后利用標(biāo)簽傳播算法來計算詞語的情感傾向。Xu等[17]使用一種基于圖的算法,利用詞之間的相似性,基于詞典、無標(biāo)記語料庫和啟發(fā)式規(guī)則等多種相似性度量,構(gòu)建相似度矩陣,再利用少量種子詞計算未知詞的情感傾向。
本文構(gòu)建垃圾彈幕屏蔽詞典主要采用2種方法:基于種子詞的方法和基于數(shù)據(jù)集的方法。前者先由人工選取一些具有代表性的屏蔽種子詞,之后分別采用詞向量word2vec(word to vector)和點互信息PMI(Point Mutual Information)來添加與屏蔽種子詞相似性大的詞;后者主要采用LDA主題模型、TF-IDF和信息增益3種方法抽取垃圾彈幕數(shù)據(jù)集中的主題詞或者重要詞作為屏蔽詞。
word2vec是Google計算詞向量的開源工具,可以通過訓(xùn)練數(shù)據(jù)集得到詞向量,它使得語義相似的詞在向量空間中距離近一些,而不太相關(guān)的詞在向量空間中遠(yuǎn)一些,進(jìn)而定量地度量詞與詞之間的關(guān)系。
首先,由人工選取一些具有代表性的垃圾彈幕屏蔽種子詞;然后,用人工標(biāo)注、分詞后的垃圾彈幕數(shù)據(jù)集訓(xùn)練word2vec(設(shè)置上下文長度為5),選取與種子詞最相近的前N個詞作為彈幕屏蔽詞典的候選詞;最后通過去除停用詞、調(diào)整詞語相似度閾值(設(shè)為0.8)和詞語出現(xiàn)的最小頻數(shù)(設(shè)為5)等方法過濾掉一些候選詞,剩下的詞構(gòu)成彈幕屏蔽詞典。
PMI的基本思想是2個詞共同出現(xiàn)的次數(shù)越多,2個詞之間的關(guān)系越接近,如式(1)[18]所示,常被用于情感詞典自動構(gòu)建。
(1)
其中,w和v表示語料中的任意2個詞語,p(w,v)表示它們在給定語料中共同出現(xiàn)的概率;p(w)與p(v)分別表示詞語w和v單獨出現(xiàn)的概率。PMI(w;v)值越大,表明w和v共同出現(xiàn)的概率越大,關(guān)系越接近。
與基于word2vec的屏蔽詞典自動構(gòu)建方法一樣,基于PMI的屏蔽詞典自動構(gòu)建方法也是首先由人工選取一些詞作為屏蔽種子詞;然后計算垃圾彈幕數(shù)據(jù)集中的詞與種子詞的PMI值,選擇PMI值較大的前N個詞作為屏蔽詞典的候選詞,再經(jīng)過去噪處理,構(gòu)成最后的彈幕屏蔽詞典。
LDA是一種文檔主題生成模型,包含詞語、主題和文檔3層結(jié)構(gòu)。LDA模型認(rèn)為一篇文檔d由“以一定的概率選擇了某個主題s,并從該主題中以一定概率選擇某個詞語w”過程迭代地生成每個詞,如式(2)[19]所示。
p(w|d)=p(w|s)*p(s|d)
(2)
對于垃圾彈幕數(shù)據(jù)集,通過LDA確定其主題,然后從每個主題中選擇權(quán)重最高的前N個詞,得到屏蔽詞典的候選詞,再經(jīng)過去噪處理,構(gòu)成最后的彈幕屏蔽詞典。本文通過控制主題個數(shù)和抽取的主題詞個數(shù)來生成規(guī)模一樣的詞典,最后比較詞典在測試集上的效果,確定最優(yōu)LDA的主題數(shù)。實驗結(jié)果表明主題數(shù)目為40個時生成能力最強。
TF-IDF用于評估語料庫中某個文檔中詞的重要性。在一個文檔中,詞出現(xiàn)的次數(shù)越多,表示該詞在文檔中越重要;它在整個語料庫中出現(xiàn)的次數(shù)越多,重要性反而越低。即:如果一個詞在一篇文檔中反復(fù)出現(xiàn),且在其它文檔中很少出現(xiàn),那么該詞對這篇文檔就越重要。TF-IDF的計算如式(3)和式(4)[20]所示。
(3)
(4)
其中,d表示文檔,w表示詞語,C表示語料庫,nd,w表示w在d中出現(xiàn)的次數(shù),nd表示d包含的詞語數(shù)目,nC表示C包含的文檔數(shù)目,nC,w表示C中包含w的文檔數(shù)目。
本文把垃圾彈幕數(shù)據(jù)集看作語料庫C,每條彈幕看作一篇文檔d,詞語w出現(xiàn)在彈幕d中。在垃圾彈幕數(shù)據(jù)集中,某些詞語出現(xiàn)的次數(shù)越多,對屏蔽彈幕越有益;然而一些通用詞語出現(xiàn)次數(shù)也很多,但對屏蔽彈幕沒有幫助,相反一些只在很少彈幕中出現(xiàn)的詞語對屏蔽彈幕有很大幫助。采用式(3)和式(4)計算出語料庫中的每個詞語的TF-IDF值,然后選取TF-IDF值最大的前N個詞作為屏蔽詞典的候選詞,再經(jīng)過去噪處理,構(gòu)成最后的彈幕屏蔽詞典。
信息增益是一種特征選擇的方法,某特征的信息增益越大,說明該特征帶來的信息量越多,該特征就越重要。Yang等[21]對比了各類文本分類中的特征選擇方法,信息增益在其中表現(xiàn)良好,信息增益的計算如式(5)[22]所示。
(5)
在實驗中,垃圾彈幕數(shù)據(jù)集和正常彈幕數(shù)據(jù)集已有標(biāo)簽;把每個彈幕中的每個詞看作特征,計算每個特征的信息增益,選擇信息增益值排在前N的詞,并剔除那些來自正常彈幕集中的詞,最后得到垃圾彈幕屏蔽候選詞。
本文從Bilibili爬取了2018年9月至2019年4月,播放量大于10萬的視頻彈幕,共計341個視頻彈幕、250 254條彈幕,構(gòu)成word2vec所使用的訓(xùn)練集;之后嚴(yán)格依照Bilibili給出的彈幕禮儀標(biāo)注了4 948條彈幕為垃圾彈幕,組成了PMI、TF-IDF和LDA抽取屏蔽詞所用的數(shù)據(jù)集;隨后又選取了5 000條正常彈幕,與4 948條垃圾彈幕一起構(gòu)成了信息增益所使用的屏蔽詞抽取數(shù)據(jù)集和屏蔽詞典的測試數(shù)據(jù)集。
與一般短文本不同,彈幕評論有著獨特的語言風(fēng)格,含有大量的網(wǎng)絡(luò)流行語和顏文字,不利于分詞等后續(xù)工作;同時在提取完屏蔽詞后,這些候選詞中還存在著一些噪聲詞,會對測試產(chǎn)生影響。因此,對這些數(shù)據(jù)進(jìn)行預(yù)處理是必須的,雖然洪慶等[9]提出一些預(yù)處理方案,但由于后續(xù)工作不同所以處理方案也有所不同,如:本文由于沒有考慮語義,沒有建立彈幕解釋詞典;各方法生成的候選詞中有噪聲,需要進(jìn)行處理。本文預(yù)處理時建立的正則表、分詞詞典等也可在“github.com/wg19961018/Danmu”下載。本文處理方案如表1所示。
Table 1 Process of dirty data
為了驗證詞典的效果,本文對訓(xùn)練集進(jìn)行了分類預(yù)測,即如果詞典中的任意單詞出現(xiàn)在彈幕中,就被預(yù)測為垃圾彈幕。實驗流程如圖2所示,考察了主題數(shù)、詞典規(guī)模、垃圾彈幕數(shù)據(jù)集規(guī)模等因素對結(jié)果的影響,選用召回率(Recall)和正確率(Accuracy)作為評價指標(biāo)。同時通過比較詞頻,考察了不同方法生成的詞典內(nèi)容上的異同之處。
Figure 2 Experiment procedure圖2 實驗流程
(1)為了對比不同LDA主題數(shù)對分類預(yù)測的影響,本文改變LDA的主題數(shù),從20遞增到60,實驗結(jié)果如圖3所示。由圖3可知,當(dāng)主題數(shù)為40時,生成的垃圾彈幕屏蔽詞典在分類任務(wù)上表現(xiàn)最好,召回率取得最高值0.824 8。
Figure 3 Comparison of recall under different LDA topic numbers圖3 不同主題規(guī)模下的召回率對比
(2)為了對比不同的詞典規(guī)模對分類預(yù)測的影響,本文將垃圾彈幕屏蔽詞典規(guī)模從200遞增到900,確定了最佳詞典規(guī)模為400~500,實驗結(jié)果如圖4和圖5所示。從圖4和圖5可以看出,除基于信息增益的垃圾彈幕屏蔽詞典構(gòu)建方法之外,各類垃圾彈幕屏蔽詞典構(gòu)建方法的效果總體趨勢是一致的:隨著詞典規(guī)模的擴(kuò)大,召回率會相應(yīng)地上升,而正確率會相應(yīng)減小。隨著屏蔽詞典規(guī)模的擴(kuò)大,被預(yù)測為垃圾彈幕的評論隨之增加,所以召回率會上升;上述被預(yù)測為垃圾彈幕的評論也包含正常彈幕,所以正確率有所下降。針對基于信息增益的垃圾彈幕屏蔽詞典構(gòu)建方法,隨著詞典規(guī)模的擴(kuò)大,召回率和正確率都有所提升,當(dāng)屏蔽詞典規(guī)模擴(kuò)大到900時,正確率達(dá)到了最高值0.735 6,可能是因為信息增益的方法本身就是抽取那些最有利于區(qū)分垃圾彈幕和正常彈幕的詞,如此抽取出來的屏蔽詞能找出更多的垃圾彈幕,因此對彈幕的誤判比其它4種方法的要低。
Figure 4 Comparison of accuracy under different dictionary sizes圖4 不同詞典規(guī)模下的正確率對比
Figure 5 Comparison of recall under different dictionary sizes圖5 不同詞典規(guī)模下的召回率對比
(3)為了對比不同規(guī)模的垃圾彈幕數(shù)據(jù)集對分類預(yù)測的影響,本文將垃圾彈幕數(shù)據(jù)集規(guī)模從1 000遞增到5 000,確定了最佳垃圾彈幕數(shù)據(jù)集規(guī)模為5 000,實驗結(jié)果如圖6和圖7所示。從圖6和圖7可以看出,各類垃圾彈幕屏蔽詞典構(gòu)建方法基本都是隨著垃圾彈幕數(shù)據(jù)集的增大,召回率和正確率均會上升。此外,由于word2vec所使用的數(shù)據(jù)集為全部的彈幕,與其它方法不同,若使用與其它方法一致的數(shù)據(jù)集,會由于數(shù)據(jù)集過小在多輪迭代去噪后無法抽取足夠多的屏蔽詞,所以在該輪對比實驗中沒有考慮基于word2vec的垃圾彈幕屏蔽詞典構(gòu)建方法。
Figure 6 Comparison of accuracy under different dataset sizes圖6 不同數(shù)據(jù)集規(guī)模下的正確率對比
Figure 7 Comparison of recall under different dataset sizes圖7 不同數(shù)據(jù)集規(guī)模下的召回率對比
(4)為了比較不同方法生成的詞典的異同,本文選取了規(guī)模為500的詞典,統(tǒng)計了所有單詞在各個詞典出現(xiàn)的次數(shù),比較了各個詞典高頻詞與低頻詞的占比,其中本文將出現(xiàn)3次及以上的詞記為高頻詞,2次及以下的記為低頻詞,實驗結(jié)果如圖8所示。
Figure 8 Word frequency comparison among dictionaries generated by different methods圖8 不同方法生成的詞典的詞頻對比
從圖8中可以看出,word2vec和PMI所占的高頻詞比較少,這2個詞典中的詞大多只出現(xiàn)在自己詞典中,而LDA、TF-IDF和信息增益有著更多的高頻詞。表2展示了部分高頻詞和低頻詞,其中高頻詞都是一些敏感詞匯,而低頻詞中雖然大多為一些普通詞匯,但也存在一些敏感詞。
Table 2 Some high-frequency wordsand low-frequency words
通過上述實驗,我們可以得到以下結(jié)論:
(1)基于數(shù)據(jù)集的垃圾彈幕屏蔽詞典構(gòu)建方法(LDA、TF-IDF和信息增益方法)要優(yōu)于基于種子詞的方法(word2vec和PMI方法),前者的召回率和正確率都要高于后者。在前者的方法中,TF-IDF和LDA在召回率上要比信息增益高,但信息增益的正確率卻是所有方法中最高、最穩(wěn)定的。后者的效果不理想,原因可能是只考慮到單詞的相似度或共現(xiàn)情況,而缺少語義信息、詞的上下文信息等,所以構(gòu)建的垃圾彈幕屏蔽詞典存在一定偏差,不夠準(zhǔn)確。此外,種子詞的選擇對結(jié)果有著較強的影響。
(2)綜合考慮召回率和正確率,屏蔽詞典規(guī)模在400~500時,效果最好;詞典規(guī)模過大,會造成過多的誤判;詞典規(guī)模過小,無法找出大部分垃圾彈幕。
(3)垃圾彈幕數(shù)據(jù)集的規(guī)模直接影響了屏蔽詞典的效果,隨著數(shù)據(jù)集的擴(kuò)大生成的詞典效果越好。同時可能由于所使用方法的局限性,當(dāng)數(shù)據(jù)集擴(kuò)充到一定程度時,提升效果會趨于平緩。
(4)從詞典的高頻詞與低頻詞的占有對比可以看出,LDA、TF-IDF和信息增益方法生成的詞典之間有著更高的相似度,而word2vec和PMI方法生成的詞典與其它詞典相似度較低。
(5)通過觀察高頻詞與低頻詞發(fā)現(xiàn),雖然低頻詞大部分都是噪聲與普通詞匯,但也存在一些敏感詞匯,一方面這表明本文方法存在一定局限性,另一方面也表明每個方法都有獨特之處,能找到一些其它方法找不到的屏蔽詞。
為了解決垃圾彈幕屏蔽問題,本文人工標(biāo)注了Bilibili上近5 000條垃圾彈幕,并提出了2類自動構(gòu)建垃圾彈幕屏蔽詞典的方法,通過實驗比較了主題數(shù)、詞典規(guī)模和垃圾彈幕數(shù)據(jù)集規(guī)模等因素對屏蔽效果的影響;也比較了不同方法生成的詞典內(nèi)容的異同之處。
在實驗過程中,發(fā)現(xiàn)了關(guān)鍵詞屏蔽法的2點不足之處:(1)關(guān)鍵詞屏蔽法對正常彈幕有著很高的誤殺率,而且誤殺率會隨著詞典規(guī)模的增大而增大;(2)由于關(guān)鍵詞屏蔽法是一種基于規(guī)則的方法而沒有結(jié)合彈幕語義,所以對那些需要結(jié)合視頻內(nèi)容或前后彈幕來理解的彈幕,效果很不理想。在將來的工作中,我們將結(jié)合屏蔽詞典和深度學(xué)習(xí)來更好地屏蔽垃圾彈幕,力爭給觀眾更好的體驗。