高俊波,梅 波
(上海海事大學(xué)信息工程學(xué)院,上海 201 306)
基于文本內(nèi)容分析的微博廣告過濾模型研究
高俊波,梅 波
(上海海事大學(xué)信息工程學(xué)院,上海 201 306)
針對新浪、騰訊等微博平臺出現(xiàn)大量廣告的問題,提出一個微博廣告過濾模型。通過對數(shù)據(jù)的預(yù)處理,將采集到的微博原始數(shù)據(jù)轉(zhuǎn)換成干凈且計(jì)算機(jī)易處理的數(shù)據(jù)。在預(yù)處理階段,根據(jù)微博文本的特點(diǎn),對停用詞表進(jìn)行改進(jìn),以提高查準(zhǔn)率,然后基于支持向量機(jī)構(gòu)建一個訓(xùn)練分類器對數(shù)據(jù)進(jìn)行訓(xùn)練,經(jīng)過不斷的學(xué)習(xí)和反饋,取得較好的分類效果。實(shí)驗(yàn)結(jié)果表明,該模型進(jìn)行廣告過濾時準(zhǔn)確率超過90%,效果優(yōu)于基于關(guān)鍵字的方法。
微博;文本處理;向量空間模型;支持向量機(jī);文本分類;廣告過濾
隨著微博在廣大網(wǎng)民中日益火熱,微博廣告也悄然而生。但是微博廣告的增多也使得微博的總體質(zhì)量下滑,甚至人們在瀏覽微博的時候,出現(xiàn)整個頁面有一半以上的微博是廣告的情況,而真正感興趣的信息卻沒有幾條,嚴(yán)重影響了人們正常的瀏覽,該現(xiàn)象依靠一般的手段很難進(jìn)行監(jiān)管。因此,如何有效控制這些廣告的傳播,進(jìn)行廣告的過濾成為了一個亟待解決的問題。
信息過濾一般指從動態(tài)信息流中將用戶感興趣的信息提取出來[1-2]。微博廣告過濾是信息過濾的一種,主要指從大量的微博中把微博廣告刪除,保留非廣告內(nèi)容供用戶瀏覽。文本內(nèi)容分析的方法一般有2類:(1)基于知識的方法[3],該方法主要優(yōu)點(diǎn)是準(zhǔn)確率高,對文本內(nèi)容的理解更好,但是該方法在處理微博如此大的信息流時,速度將非常緩慢。(2)基于機(jī)器學(xué)習(xí)的方法[4],該方法速度快,大大提高了信息過濾的實(shí)時性,該方法需要大量的訓(xùn)練樣本進(jìn)行訓(xùn)練,而且隨著網(wǎng)絡(luò)的變化,需要不斷加入新的訓(xùn)練樣本,以保證其準(zhǔn)確率。
本文以微博作為研究對象,基于文本內(nèi)容分析,對微博廣告過濾模型進(jìn)行研究,提出一個高準(zhǔn)確率的過濾模型。
作為新興的網(wǎng)絡(luò)社交平臺,越來越多的研究人員開始研究微博。它相對于傳統(tǒng)的網(wǎng)絡(luò)文本有以下特點(diǎn)[5]:
(1)文本短:微博文本字?jǐn)?shù)不多于140字,而傳統(tǒng)的網(wǎng)絡(luò)文本(如博客、新聞)一般都有幾百字甚至幾千字。因此信息量少,用戶可以在空閑很短的時間內(nèi)就能理解文本內(nèi)容。
(2)源數(shù)據(jù)易獲?。含F(xiàn)有微博平臺都提供了數(shù)據(jù)接口,研究人員可以很方便地獲取大量的數(shù)據(jù),網(wǎng)絡(luò)上也有研究者提供自己抓取的數(shù)據(jù)供他人使用,因此數(shù)據(jù)獲取非常容易,方便分析與研究。
(3)語言不規(guī)范:為了表達(dá)方便,微博里面會出現(xiàn)大量的網(wǎng)絡(luò)語言如“表醬紫”,意思是“不要這樣子”,文本更加口語化并且不規(guī)范的詞語大量出現(xiàn)。
(4)實(shí)時且傳播速度快:微博不光有電腦客戶端,還有各種移動設(shè)備客戶端,因此人們可以隨時隨地發(fā)微博,而且現(xiàn)在用戶越來越多,傳播速度非???,世界上任何一個角落發(fā)生的事,在幾分鐘之內(nèi)就能讓所有人知道。
廣告依附微博平臺進(jìn)行傳播,是監(jiān)管部門面臨的新問題。微博廣告隱蔽性強(qiáng),監(jiān)管困難,沒有專門的機(jī)構(gòu)對其進(jìn)行監(jiān)控,缺乏對微博廣告的監(jiān)管手段。因此,對微博廣告過濾模型進(jìn)行研究具有實(shí)用價值。
本文建立的微博廣告過濾模型主要由以下部分組成,如圖1所示。
圖1 微博廣告過濾模型
該過濾模型主要采用支持向量機(jī)算法。首先對訓(xùn)練樣本進(jìn)行預(yù)處理,然后采用支持向量機(jī)(SVM)算法對過濾器進(jìn)行訓(xùn)練,最終獲得一個效果較理想的過濾器。
3.1 預(yù)處理
3.1.1 停用詞去除
首先要對數(shù)據(jù)進(jìn)行預(yù)處理。預(yù)處理部分也包括分詞和停用詞的去除。本文使用中科院設(shè)計(jì)的分詞系統(tǒng)ICTCLAS,該系統(tǒng)對于中文的分詞有非常好的效果。停用詞的去除是使用一個停用詞表對數(shù)據(jù)進(jìn)行清洗,把對過濾無用的詞或符號去掉。
大量微博中含有普通文本不具有的微博表情,清華大學(xué)計(jì)算語言學(xué)實(shí)驗(yàn)室統(tǒng)計(jì)了100萬條新浪微博中使用到的全部表情數(shù)據(jù),每個表情都有特別的意思,如“[給力]”,這些使用普通的停用詞表進(jìn)行處理是不可行的。為此本文針對這一特點(diǎn),改進(jìn)了原有的停用詞表。如“@”“#”等表情及有關(guān)符號在原有停用詞表中,但微博文本的特點(diǎn)卻使這些詞有其特殊的含義,所以必須保留。經(jīng)過反復(fù)實(shí)驗(yàn),在其他條件不變的情況下,使用改進(jìn)后的停用詞表取得了更好的效果。
3.1.2 特征選取
在分詞過后,微博數(shù)據(jù)將被分成很多單詞。使用向量表示文本數(shù)據(jù),維度非常巨大。本文使用文本數(shù)據(jù)的維度在不進(jìn)行降維的情況下,向量維度非常大,這將直接導(dǎo)致過濾效率下降,因此必須要進(jìn)行特征降維。通過特征選取進(jìn)行降維,可以把數(shù)據(jù)維度降至千級,以提高過濾效率[6]。本文采用CHI方法實(shí)現(xiàn)特征提取。CHI方法認(rèn)為詞和類別之間符合χ2分布。χ2統(tǒng)計(jì)量體現(xiàn)了詞和類別之間的相關(guān)性,其值越高,詞和類別之間的獨(dú)立性越小,相關(guān)性越強(qiáng),詞對該類別的貢獻(xiàn)越大,也表示包含該詞的文本屬于該類別的概率越大,χ2值為0表示兩者不相關(guān)[7]。
3.1.3 特征加權(quán)
在特征選取之后,將為每個特征加權(quán)。本文采用TFIDF算法,TF-IDF特征權(quán)值計(jì)算方法是文本處理領(lǐng)域中常用的方法,由Salton首次論證提出[8]。它的主要思想是:一個特征詞在一類文本中出現(xiàn)的頻率越高,說明它對區(qū)分文本內(nèi)容的能力越強(qiáng),一個特征詞在文本中出現(xiàn)的類別范圍越廣,說明它區(qū)分文本內(nèi)容能力越低。目前,TF-IDF算法在自然語言處理領(lǐng)域廣泛應(yīng)用。其計(jì)算公式如下:
其中,wik表示特征項(xiàng)權(quán)重;tfik表示特征項(xiàng)tk在文檔di中出現(xiàn)的頻率;idfk表示特征項(xiàng)tk的文檔倒數(shù)。
3.1.4 文本描述
本文利用向量空間模型對微博數(shù)據(jù)進(jìn)行文本描述。在向量空間模型中,文本空間被視為一組特征向量組成的向量空間,所有的文本處理運(yùn)算將在該向量空間中進(jìn)行。根據(jù)上面的特征選擇和特征加權(quán)的結(jié)果,向量空間模型將所有文本最終將表示成如下形式:
每一行表示一條文本,其中,wij表示第i個文本第j個特征的權(quán)重;n表示向量的維數(shù);m表示文本的條數(shù)。
因?yàn)槲⒉┳謹(jǐn)?shù)較少、特征維數(shù)較大時,最終產(chǎn)生的矩陣必將是一個稀疏矩陣,含有大量特征權(quán)重為0的項(xiàng),用以上的形式表示將帶來很多不便,而且浪費(fèi)存儲空間。因此每一個文本記錄將采用(L T:w)的形式,其中,L表示文本標(biāo)簽;T表示特征項(xiàng);w表示權(quán)重。例如,“世界上最好的安慰,并不是告訴對方一切都會好起來的,而是苦著臉說,哭個屁,你看,我比你還慘”,這句話經(jīng)過前面的特征選取后得到4個特征詞:“世界”、“安慰”、“臉”、“哭”。于是,這句話就可以表示為“1 274:0.095206 485:0.309332 502:0.432423 842:0.444010”。其中,1表示類別;274是特征詞“世界”的編號;0.095206是特征的權(quán)重;后面數(shù)值表示也是如此。
3.2 SV M分類器的構(gòu)建
本文構(gòu)建支持向量機(jī)分類器對文本進(jìn)行分類[9],并利用分類結(jié)果進(jìn)行過濾。支持向量機(jī)(Support Vector Mach ine, SVM)是一種非常實(shí)用的機(jī)器學(xué)習(xí)方法,它是Cortes和Vapnik于1995年首先提出的[10-11]。相比于其他的算法,它在解決小樣本、非線性以及高維模式識別問題中表現(xiàn)出了其特有的優(yōu)勢,并廣泛應(yīng)用于許多機(jī)器學(xué)習(xí)問題中。
文本問題是非線性的問題,把訓(xùn)練集數(shù)據(jù)x映射到一個高維特征空間H,并在H使用解決線性問題的方法,從而把復(fù)雜的非線性問題轉(zhuǎn)化成線性問題。在高維特征空間H中尋找最優(yōu)超平面,首先需要構(gòu)造一個內(nèi)積函數(shù)K,K表示如下:
K函數(shù)的功能是利用原低維空間中的函數(shù)運(yùn)算得到高維空間H中的內(nèi)積運(yùn)算的結(jié)果,稱函數(shù)K為核函數(shù)。
因此,本文在空間變換后采用Sigmoid核函數(shù),實(shí)現(xiàn)非線性問題轉(zhuǎn)換為線性問題。Sigmoid核函數(shù)[12]如下:
其中,x表示待分類微博文本數(shù)據(jù);xi表示文本支持向量樣本;yi表示xi對應(yīng)的分類,當(dāng)f(x)≥0時,則把x分為非廣告,f(x)<0則分為廣告。
4.1 數(shù)據(jù)的獲取
本文實(shí)驗(yàn)是在Windows 7下進(jìn)行的,在VC++編程環(huán)境下使用C++語言實(shí)現(xiàn)。目前針對微博廣告過濾的研究還不多,雖然現(xiàn)在有很多公布的微博語料庫,但是都不適合本文的研究。為此,本文自建了一個用于微博廣告過濾的微博語料庫。首先利用爬蟲從網(wǎng)上獲取數(shù)據(jù),然后再進(jìn)行人工標(biāo)注,最終構(gòu)建一個微博語料庫。該微博語料庫含有廣告微博2 000條,非廣告微博2 000條。
4.2 評價標(biāo)準(zhǔn)
本文采用查準(zhǔn)率(p)、查全率(r)和F值(f)作為衡量過濾器性能的標(biāo)準(zhǔn)。查準(zhǔn)率的意思是被保留下來的非廣告數(shù)量除以保留下來的微博數(shù)量,體現(xiàn)了微博廣告過濾器辨別廣告的能力。查全率的含義是被保留下來的非廣告數(shù)量占所有非廣告數(shù)量的比例,體現(xiàn)了過濾器的過濾能力。F值是查全率和查準(zhǔn)率的調(diào)和平均數(shù)。它們的公式定義如下:
其中,a表示非廣告被判定為非廣告的數(shù)量;b表示非廣告被判定為廣告的數(shù)量;c表示廣告被判定為非廣告的數(shù)量。
4.3 結(jié)果分析
實(shí)驗(yàn)1 從騰訊微博平臺上隨機(jī)采集1 000條微博文本,分別采用改進(jìn)前的停用詞表和改進(jìn)后的停用詞表進(jìn)行實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果如表1所示。
表1 停用詞表改進(jìn)實(shí)驗(yàn)的查準(zhǔn)率
表1為2種情況下的查準(zhǔn)率,從表中可以看出,隨著訓(xùn)練樣本的增多,改進(jìn)后的效果明顯優(yōu)于改進(jìn)前的效果。
實(shí)驗(yàn)2 從12月1日起到12月10日,每天從騰訊微博平臺上抽取500條微博文本,使用本文微博廣告過濾模型進(jìn)行廣告過濾實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表2所示。
表2 廣告過濾實(shí)驗(yàn)的結(jié)果
實(shí)驗(yàn)3 文獻(xiàn)[13]對微博文本的噪音進(jìn)行了過濾,取得了較好的效果。本文實(shí)驗(yàn)利用文獻(xiàn)[13]采用的微博廣告過濾方法重復(fù)進(jìn)行實(shí)驗(yàn)2,并與實(shí)驗(yàn)2進(jìn)行對比。實(shí)驗(yàn)結(jié)果如圖2所示,其中,橫軸表示日期12月1日-12月10日,縱軸表示F值,顯示了使用2種方法進(jìn)行實(shí)驗(yàn)得到的F值,實(shí)驗(yàn)表明本文方法優(yōu)于文獻(xiàn)[13]中的方法,且效果穩(wěn)定。這主要是因?yàn)槲墨I(xiàn)[13]是通過判斷文本中是否含有URL以及簡單的詞頻統(tǒng)計(jì)進(jìn)行微博廣告過濾的。本文發(fā)現(xiàn)因字?jǐn)?shù)有限,很多非廣告的微博會采用URL來鏈接更詳細(xì)的內(nèi)容,所以URL并不能作為其是否為廣告的依據(jù)。相對于簡單的詞頻統(tǒng)計(jì)方法,本文采用機(jī)器學(xué)習(xí)的方法顯然更為優(yōu)化。因此,本文使用的方法優(yōu)于文獻(xiàn)[13]的方法。
本文基于文本內(nèi)容分析構(gòu)建了一個微博廣告過濾模型,實(shí)驗(yàn)證明該模型取得了比較好的結(jié)果。本文只針對微博文本特征進(jìn)行研究,后續(xù)可以綜合其他屬性,如用戶名、發(fā)表時間來對微博廣告進(jìn)行多屬性綜合過濾,以取得更好的效果。
[1] 牛洪波. 基于文本分類技術(shù)的信息過濾方法的研究[D].哈爾濱: 哈爾濱理工大學(xué), 2008.
[2] Laskov P. Feasible Direction Dec omposition Algorithms for Training Support Vector Machines[J]. Machine Learning, 2002, 46(3): 315-329.
[3] 晉耀紅. 基于語義的文本過濾系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 計(jì)算機(jī)工程與應(yīng)用, 2003, 17(22): 22-25.
[4] Keerthi S, Gilbert E. Convergence of a Generalized SM O Algorithm for SVM Classifier Design[J]. Machine Learning, 2002, 46(3): 351-360.
[5] 張劍峰, 夏云慶, 姚建民. 微博文本處理研究綜述[J]. 中文信息學(xué)報(bào), 2012, 26(4): 21-27.
[6] Zhao Xi, Deng Wei, Shi Y ong. Feature Selec tion with Attributes Clustering by Maximal Information Coefficient[C]// Proc. of the 1st International Conference on Information Technology and Quantitative Management. Suzhou, China: [s. n.], 2013: 70-79.
[7] 王洪彬, 劉曉潔. 基于KNN的不良文本過濾方法[J]. 計(jì)算機(jī)工程, 2009, 35(24): 69-71.
[8] A izawa A. An Information-theoretic Perspective of tf–idf Measures[J]. Information Processing & Management, 2003, 39(1): 45-65.
[9] Phan X H, Nguyen L M, Horiguchi S. Learning to Classify Short and Spars e T ext & Web with Hidd en Topics from Large-scale Data Collections[C]//Proc. of the 17th
International Conference on World Wide Web. [S. l.]: ACM Press, 2008: 91-100.
[10] 張學(xué)工. 關(guān)于統(tǒng)計(jì)學(xué)習(xí)理論和支持向量機(jī)[J]. 自動化學(xué)報(bào), 2000, 26(1): 32-42.
[11] V apnik V. The Nature of S tatistics Learning Theory[M]. New York, USA: Springer Verlag, 1995.
[12] 郭麗娟, 孫世宇, 段修生. 支持向量機(jī)及核函數(shù)研究[J].科學(xué)技術(shù)與工程, 2008, 8(2): 487-490.
[13] 王 琳, 馮 時, 徐偉麗, 等. 一種面向微博客文本流的噪音判別與內(nèi)容相似性雙重檢測的過濾方法[J]. 計(jì)算機(jī)應(yīng)用與軟件, 2012, 29(8): 25-29.
編輯 任吉慧
Research on Microblog Advertisement Filtering Model Based on Text Content Analysis
GAO Jun-bo, MEI Bo
(College of Information Engineering, Shanghai Maritime University, Shanghai 201306, China)
In order to solve the problem of a large number of advertisements on Sina, Tencent microblog platform, this paper proposes a microblog advertisement filtering model. Through the data pretreatment, the raw data are converted into clean data and easy to be handled by the computer. In the pretreatment stage, according to the characteristics of the microblog, this paper emphatically improves the stop word list, and it plays a key role in improving precision. Then it builds a classifier based on support vector machine for training data, and through continuous learning and feedback, better classification results are achieved. Experimental results show that the model of advertisement filter achieves better effect, when filtering accuracy is more than 90%, which is better than the method based on keywords.
microblog; text processing; vector space model; Support Vector Machine(SVM); text classification; advertisement filtering
10.3969/j.issn.1000-3428.2014.05.004
上海海事大學(xué)科研基金資助項(xiàng)目(20100093)。
高俊波(1972-),男,副教授、博士,主研方向:計(jì)算智能,數(shù)據(jù)挖掘;梅 波,碩士研究生。
2013-12-19
2014-02-19E-mail:jbgao@shmtu.edu.cn
1000-3428(2014)05-0017-04
A
TP391
·先進(jìn)計(jì)算與數(shù)據(jù)處理·