馬 彬,洪 宇,陸劍江,姚建民,朱巧明
(蘇州大學 計算機科學與技術學院,江蘇 蘇州215006)
微博是一個基于用戶關系的信息分享、傳播以及獲取的平臺,用戶可以通過 WEB、WAP以及各種客戶端設備構建個人社區(qū),以最高140字的信息量發(fā)布消息,實現(xiàn)即時分享。相對于網(wǎng)頁,微博具有更強的互動性和及時性;相比于傳統(tǒng)博客,微博文本更加短小,更新更加及時、方便,另外,用戶層次多樣化,使得信息更加豐富、多元化。
據(jù)第三方數(shù)據(jù)統(tǒng)計,新浪微博注冊用戶數(shù)已達1.4億,騰訊微博的注冊用戶也已經(jīng)超過8千萬,Twitter注冊用戶已達2億,如此龐大的用戶群每天發(fā)布數(shù)以千萬計的微博文本[1]。如何在信息多樣化且高速更新的動態(tài)環(huán)境下準確檢測特定時間內(nèi)用戶關注或滿足其興趣偏好的話題信息,對面向互聯(lián)網(wǎng)的信息處理研究及應用都具有重要的意義。
話題檢測起源于1996年的話題檢測與跟蹤(Topic Detection and Tracking,TDT)評測會議的子任務。以新聞專線、廣播、電視等媒體信息流為處理對象,將信息流中的報道歸入不同的話題。話題檢測關注的是新信息的發(fā)現(xiàn)能力,尤其側重識別特定語義內(nèi)聚且所屬事件相互關聯(lián)的信息集合—話題。因此,話題檢測本身是一種面向實時媒體的信息組織方式,而面向微博的話題檢測則在最活躍的新型語言學資源上對這一課題提出了全新的挑戰(zhàn)。
本文在前期針對新聞媒體的話題檢測工作基礎上,結合微博的特點提出一種基于線索樹的雙層聚類話題檢測方法。后續(xù)章節(jié)組織結構如下,第2節(jié)介紹相關工作;第3節(jié)給出微博文本的基本屬性及特點;第4節(jié)介紹基于線索樹雙層聚類的話題檢測方法;第5節(jié)給出實驗設計方案;第6節(jié)分析實驗結果;第7節(jié)總結全文并闡述未來工作。
傳統(tǒng)的話題檢測主要針對普通文本,目前話題檢測常用的聚類方法有:中心向量法[2-3],層次聚類法[3],K-means[4],Single-Pass[5-6]聚類方法等。 以上研究方法在普通文本的話題檢測任務中起到了很好的效果,如在TDT語料中進行的話題檢測任務,但是,將上述方法直接應用到微博文本上很容易造成數(shù)據(jù)稀疏問題。
2010年出現(xiàn)了一些微博文本話題分析的研究。Bharath Sriram等[7]在將Twitter文本分類到預定義的話題類別下時,為解決文本較短造成的數(shù)據(jù)稀疏問題,通過抽取作者profile文件和文本記錄中的領域相關的特征集合,對Twitter文本的特征進行擴充。Ramage等[8]采取Labeled LDA模型,將Twitter微博文本映射到substance、style、status和social characteristics四個潛在維,并基于上述分析結果實現(xiàn)微博排序和微博推薦功能。O'Connor等[9]采用文檔聚類和文本摘要技術,采用四個步驟對與檢索詞相關的話題進行歸類。針對每一個檢索詞,返回和該檢索詞相關的話題集合。但是,以上工作均假定微博文本之間彼此獨立,并沒有有效利用微博的“對話性”特點,因此都存在嚴重的數(shù)據(jù)稀疏問題。Liu等[10]試圖借助HowNet實現(xiàn)特征擴展,但也帶來了一些噪音信息,導致處理效果提高不明顯。
微博文本是限定在140字之內(nèi),用戶自由編輯的短文本。其中,首帖和跟帖都稱為微博文本。在轉發(fā)和評論的微博文本中會顯示被轉發(fā)和被評論的對象。圖1給出的是相關于話題“利比亞局勢”的微博文本實例。其中:
圖1 微博文本示例
首帖:稱通過自發(fā)發(fā)言而產(chǎn)生的微博文本為首帖,記為dH。如圖1中首段文字“【美國白宮發(fā)言人……并希望會談在近期進行?!?/p>
跟帖:對首帖進行轉發(fā)或者評論的微博文本,記為dF。如圖1中“MongoTV芒果紅”等評論人給出的評論性回復。
微博線索樹(Thread):本文將某首帖為根、其跟帖為子節(jié)點的具有語義及時序關聯(lián)的微博文本集稱為微博線索樹,記為T= (V,E),如圖1所示。
微博森林:本文將微博空間中所有微博線索樹的全集稱為微博森林,記為F=(VU,EU)。如圖2所示,(a)、(b)和(c)分別代表不同線索樹,三者之和為森林。
圖2 微博文本森林結構示意圖
由此,本文的研究核心問題可表示為:從全集微博森林F中自動劃分其中包含的所有話題Z={zi},i=1…K(此處,Z 表示話題集合、zi表示某一特定微博話題、K表示森林F中的話題總數(shù))。
微博展現(xiàn)了一種獨特的自然語言文本形式:微型文本。除了規(guī)模大及傳播速度驚人等實際應用特點外,微博文本還包括以下語言特性。
1)文字容量小。微博系統(tǒng)限定一個微博文本介于0到140個漢字之間;
2)語言形式自由。文法往往非正式,語言口語化程度高。為了提高交流速度,微博文本中縮寫和拼寫錯誤極為常見,并摻雜一些新近流行的網(wǎng)絡語言;
3)半結構化。除了文本內(nèi)容,微博文本還包含一些元信息,例如作者和時間信息;
4)線索嵌套。微博文本通常是某對話線索中的一個發(fā)言或回復。微博系統(tǒng)自動保存了大量的微博文本線索,每個線索又包含了多個微博文本;
5)跨文本上下文信息豐富。每個微博文本都在評論別人,同時也是別人評論的對象。這些評論關系體現(xiàn)在不斷回復過程中的線索上下文。
上述微博文本的語言特性給微博話題檢測中的文本處理帶來了以下問題。
1)微博文本短,尤其是“跟帖”往往僅有幾個詞(<=10)。然而大多數(shù)話題聚類算法的性能優(yōu)劣極大程度上取決于話題描述(即特征空間)的合理性和充分性。顯然,短小的微博文本造成的數(shù)據(jù)稀疏性難以滿足話題描述的這一要求;
2)微博文本文法不正式,且新詞不斷出現(xiàn),導致標準的語言分析工具的適應性較差。例如,標準分詞工具無法有效識別網(wǎng)絡詞匯(例如“童鞋”暗指“同學”);
3)“跟帖”數(shù)量在微博文本中占多數(shù),為提高發(fā)帖效率,跟帖經(jīng)常通過指代或者省略手段標引上下文,這導致微博文本中存在大量話題特征的缺失現(xiàn)象,無法有效支持話題內(nèi)容及語義的有效分析。
本文針對上述問題充分結合微博文本的“對話性”特點,提出基于線索樹雙層聚類的話題檢測方法:先在微博文本線索范圍內(nèi)構造線索話題模型,準確濾掉“跑題”(即語義偏差)或“灌水”(即內(nèi)容無關)的微博文本,從而將微博文本線索樹安全轉化為一個較長的、特征豐富的文本;在此基礎上,針對微博文本的整體內(nèi)容構造全局話題模型,輔助話題的精準聚類。
本文面向微博文本話題檢測提出一種時序特征和作者信息相融合的話題模型(Temporal-Author-Topic,TAT)。下面首先概述基于這一模型的微博話題檢測方法框架,然后,具體分析和闡述TAT模型。
基于線索樹雙層聚類的話題檢測方法總體架構如圖3所示(見下頁)。預處理階段主要進行微博文本的分詞和去停用詞等操作;“線索局部話題”階段主要進行線索內(nèi)局部話題模型的構造,并濾除線索中的噪音文本;“全局話題”階段將線索樹內(nèi)的相關文本結合起來,形成能夠代表整個線索樹的線索文本,從而有效地擴展微博文本的特征空間,解決數(shù)據(jù)稀疏問題。最終,利用全局話題模型進行微博話題檢測,形成話題庫。
理論上,上述兩步話題建模(先局部后全局)本身是同質的過程,區(qū)別在于運行在不同的文檔空間。局部話題建模過程在線索內(nèi)運行,而全局話題建模則在全集線索森林上運行。對局部和全局話題進行分析時,除文本內(nèi)容外,該方法還考慮作者、時間等特征。因而,形成融合了時序、作者信息和話題內(nèi)容特征的TAT話題模型。這一模型具有顯著的微博文本結構化特征,下面分別進行詳細陳述。
微博作為網(wǎng)絡短文本的一種,具有較強的意圖性、對話性和個人信息特性。因此,微博文本的話題模型也應充分反映上述特點。根據(jù)這一需要,TAT建模引入以下的特征。
1)作者特征。在微博文本中,作者是一個重要的特征。通過觀察數(shù)據(jù)發(fā)現(xiàn)同一個作者通常只關注有限個相對固定的話題。在本文中,將作者信息添加到普通的話題模型中形成融合了作者背景的話題模型(Author-based Topic model,AT)。
2)時間信息。根據(jù)數(shù)據(jù)觀察發(fā)現(xiàn),某一個時段內(nèi),微博的交互評論往往針對有限個相對固定的話題。為此,TAT融入時序特征,首先設置時間窗口為i小時(實驗中的經(jīng)驗性地設置為1,即i=1),如果兩篇微博的發(fā)布時間同屬一個時間窗口內(nèi),即認為兩篇文本相關于同一個話題的概率較高。由此,在AT模型的基礎上繼續(xù)引入時間信息形成TAT模型。
3)線索樹。在微博話題檢測中,線索是非常重要的話題聚類特征。在同一線索樹(即針對同一首帖發(fā)生的系列交互,如圖1中首帖和跟帖)內(nèi)的微博文本往往集中討論同一話題,其不同文字片段的語義一致性和內(nèi)容相關性較強,有助于話題檢測。
TAT在傳統(tǒng)概率話題模型基礎上,以線索樹為核心,在線索樹內(nèi)外的局部話題模型和全局話題模型構造過程中融入上述時間信息和作者信息的特征分布,其數(shù)學表達式如下:
其中,t代表時序信息,a代表作者信息,w代表詞特征,z代表話題信息。進行話題檢測中,在構造特征空間時,將時序信息和作者信息作為兩個維度添加到特征空間中。
圖3 系統(tǒng)流程圖
線索內(nèi)話題檢測(即主框架中的局部檢測)作為本文微博話題檢測的第一步,通過聚類檢測出特定線索樹內(nèi)所討論的話題信息,并將與話題不相關的微博文本和垃圾文本過濾掉,例如,“哈哈”、笑臉符號等垃圾或者灌水的文本。
圖4給出了圖1所示微博實例的樹形結構。該線索樹含有3個子話題。但該結構圖顯示右側子樹和首帖的話題明顯不相關。因此,在這一線索樹中,上述子樹的微博文本被認定為垃圾帖。上述局部聚類的任務即為對這類垃圾帖或不相關帖進行過濾。
在此基礎上,局部檢測進一步融入交互關系(同一首帖下用戶相互回復的文本信息):如果A帖和B帖之間具有回復關系,即A-回復-B,則假定兩個帖子之間討論的是同一個話題。這種回復關系在局部話題檢測中起到很重要的作用。針對具有A-回復-B關系的微博文本,局部聚類過程在度量兩個文本相關度時(即衡量兩者討論同一話題的概率時)進行加權操作,如式(2)所示:
圖4 微博線索的樹型結構
其中,Sim(P1,P2)采用向量空間模型 VSM 描述文本,向量余弦值為其相關性;|N|代表線索中的微博文本總數(shù)。
在微博文本內(nèi)容基礎上融入交互信息形成線索樹內(nèi)的話題檢測模型,進而對微博線索樹進行話題分析。線索樹內(nèi)話題分析通過聚類實現(xiàn),過濾掉話題不相關的垃圾文本(實驗中設定聚類個數(shù)K,保留類別內(nèi)部文本數(shù)較多的類別,即類別內(nèi)部文本數(shù)較少的文本信息認為是話題不相關的內(nèi)容)。最后,我們得到一個干凈的、話題相關的線索文本樹TR。
全局話題聚類是在局部話題檢測的基礎上,在微博森林上進行話題檢測的過程。為了解決數(shù)據(jù)稀疏問題,本文充分利用線索樹結構。將第一步處理后的線索樹TR中的微博文本進行合并,擴充為信息豐富的線索文本(thread text)。然后,對線索文本集進行全局話題檢測。如果線索文本屬于某個話題,那么定義該線索文本下的所有微博文本都屬于該話題。
假如線索樹TR中的微博文本結合后形成線索文本Xi,即TR所有微博文本的組合。微博森林則最終會形成線索文本集合{Xi},i=1,2,…,n。從而,話題檢測的任務就轉化為在集合{Xi},i=1,2,…,n中發(fā)現(xiàn)話題信息的過程。
本文在采用詞頻和反文檔頻率(TFIDF)作為特征選擇和特征權重計算的基礎上,同時測試了潛在狄利克雷分配模型(Latent Dirichlet Allocation,LDA)的特征選擇性能。事實上,LDA模型已被驗證有益于長文的特征選擇(優(yōu)于TFIDF)[11],但在微博這類短文本上的性能尚未得到驗證。為了嘗試更好的特征選擇方法,本文實驗部分對TFIDF和LDA分別進行了測試,并驗證LDA特征選擇方法對微博文本的話題檢測更為有益。4.5.1 基于LDA模型的特征選擇
LDA是一種非監(jiān)督機器學習算法,采用詞包(bag of words)方法,將每篇文檔視為一個詞頻向量,用來識別大規(guī)模文檔集或語料庫中潛在的主題信息。
語料庫中每一篇文檔與T個主題的一個多項分布相對應,該多項分布記為θ。每個主題又與詞匯表中的V個單詞的一個多項式分布相對應,將這個多項式分布記為φ。上述詞匯表是由語料庫中所有互異單詞組成,實際建模中要進行去除停用詞、詞干還原等處理操作。θ和φ分別帶有一個超參數(shù)α和β的Dirichlet先驗分布。對每一篇文檔d中的每一個單詞,我們從該文檔所對應的多項分布θ中抽取一個主題Z,然后我們再從主題Z所對應的多項分布φ中抽取一個單詞W。將這個過程重復Nd次,就產(chǎn)生了文檔d。
對中文微博的研究尚處于起步階段,尚無公認的語料集和標注結果。因此,本文使用新浪開發(fā)平臺①open.weibo.com提供的API獲取數(shù)據(jù),根據(jù)TDT4標注大綱,借助六位志愿者進行人工標注。
本文選擇1 100個線索樹作為語料集,其中共包括16 500個微博文本(平均每個線索樹中含有15個微博文本)。針對該語料集的人工標注結果總共提交了100個不同話題。
實驗繼承了Steinbach等[12]提出的評測方法。其中,使用Ai代表由系統(tǒng)聚類獲得的話題類ci的文檔集合,Aj代表人工標注的話題類cj的文檔集合。ci的F值計算方法如下:
其中pi,j,ri,j和fi,j分別代表類ci和類cj進行比較后的p值(精確率)、r值(召回率)和f值。對求出的p,r和f值通過求平均之后得出系統(tǒng)的P,R和F值。
為了驗證時間信息、作者信息和線索信息在話題檢測中的作用,本文設置三項Baseline系統(tǒng),所有系統(tǒng)中的聚類算法統(tǒng)一采用K-means和層次聚類(HAC),描述形式如下:
B-sys1:只含有微博的文本內(nèi)容(詞特征+VSM)。
B-sys2:在B-sys1基礎上添加作者信息特征。
B-sys3:在B-sys2基礎上添加時間信息特征。
實驗中,本文所嘗試的基于線索樹的雙層聚類算法(Our-sys),在B-sys3 的基礎上充分使用了線索信息,先進行線索內(nèi)聚類(同一首帖下交互信息的聚類),再進行全局聚類。此外,B-sys1,B-sys2,B-sys3和Our-sys系統(tǒng)都分別采用TFITF和LDA方法進行特征選擇;在聚類過程中,分別采用了K-means聚類算法和HAC層次聚類算法。
實驗首先驗證不同的聚類個數(shù)對系統(tǒng)性能的影響。實驗給出從50到150不同的聚類個數(shù)。從圖5中可以發(fā)現(xiàn),隨著話題個數(shù)的增加,系統(tǒng)的性能持續(xù)優(yōu)化;但當K大于100時性能出現(xiàn)下滑。不同特征選擇方法和不同的聚類算法結果都呈現(xiàn)相同趨勢。并且在聚類個數(shù)趨于真實類別個數(shù)時(100)本文所涉方法能夠取得最優(yōu)的效果。
圖5 K取不同的值時的F值
表1顯示了Baseline系統(tǒng)和雙層聚類系統(tǒng)(Our-sys)的在K取100時的實驗結果。實驗結果顯示,系統(tǒng)B-sys2比B-sys1平均提高了4.0%,系統(tǒng)B-sys3比系統(tǒng)B-sys2平均提高了0.1%,而雙層聚類系統(tǒng)Our-sys比B-sys3平均提高了2.7%。說明作者信息、時間信息和線索信息在微博話題檢測中起到了正面的作用。其中,B-sys2的結果比B-sys1的平均提高了4個百分點,說明作者信息在微博短文本的話題檢測任務中起到了非常重要的作用,驗證了本文前面的假設:同一用戶在一段時間內(nèi)關注的話題相對固定。
B-sys3和B-sys2的對比結果可以看出,時序信息在微博文本的話題檢測中并沒有達到預期的明顯效果,主要原因是特定時間段內(nèi)的微博文本具有一定的話題相關性,但是話題分布較為廣泛。通過K-means+LDA這組最好的性能中可以看出,時序信息仍然對話題檢測起到了積極的促進作用。
通過Our-sys和B-sys3的對比結果中可以看出,線索樹信息在微博文本話題檢測中起到了顯著的作用。Our-sys很好地利用了線索樹信息,即首先在線索樹內(nèi)進行局部話題聚類,然后在線索樹集合中進行全局話題聚類,有效地利用了針對同一首帖進行跟帖的微博文本集合中微博文本高度語義一致性和內(nèi)容相關性的結構特點。
表1 不同的方法在K=100時的F值
Our-sys能夠對Baseline系統(tǒng)的改進源于如下兩方面:其一,Baseline系統(tǒng)將微博文本看作獨立信息單元,沒有充分利用上下文信息。比如“支持,打!”,對于這樣一個和上下文有顯著回復關系的微博文本,Baseline很難準確判斷該文本屬于哪個話題,而本文的方法將此微博和處在同一線索樹中的首帖“美國出兵利比亞”聯(lián)系起來,有效地利用上下文信息解決類似的信息缺省的微博文本的話題聚類問題;其二,Baseline將每個微博看作獨立的文本。由于微博文本短小,所以每篇文本中的詞語信息很少,很容易造成數(shù)據(jù)稀疏問題。在構造特征向量時,數(shù)據(jù)稀疏問題很嚴重。而Our-sys將線索樹(同一首帖下圍繞核心話題的交互信息)看作統(tǒng)一整體,在線索文本上進行話題檢測,有效地解決了數(shù)據(jù)稀疏的問題。
其次,通過對特征選擇方法的對比看出,LDA對微博文本的特征選擇有助于話題檢測系統(tǒng)性能的提高,并優(yōu)于TFIDF,繼承了其在長文本中的優(yōu)勢,如表1所示。此外,通過對聚類算法的比較可以發(fā)現(xiàn),Our-sys系統(tǒng)使用K-means聚類算法取得的性能比HAC聚類算法的性能好,說明,雖然HAC聚類算法和本文的方法性質很像,但是,HAC聚類算法并沒有有效利用微博的上下文信息,因此,在最終的聚類效果上并沒有Our-sys系統(tǒng)的效果好。
本文根據(jù)微博文本的特點提出了基于線索樹雙層聚類的話題檢測算法。利用融合了時序特征、作者信息以及話題內(nèi)容的TAT模型,先后在線索樹內(nèi)和線索樹外進行局部話題檢測和全局話題檢測,最終形成話題庫。實驗結果表明,本文的方法很好地解決了數(shù)據(jù)稀疏的問題。
微博文本中網(wǎng)絡詞語出現(xiàn)頻繁,因此,在使用中國科學院分詞工具進行分詞時效果不理想,進而影響特征選擇的性能;同時,微博文本中的語言表達較為隨意、含蓄,例如,“狐貍尾巴露出來了”這樣一條根據(jù)首帖展開的回復,是針對話題“美國出兵利比亞”展開的討論,但是由于語言表達含蓄,本文的方法很難將這類文本歸類到話題“美國出兵利比亞”中。針對上述問題,在以后的工作中,將針對微博文本特點改進分詞工具;完善微博語料庫,在更大規(guī)模的語料中進行測試。另外,由于微博文本具有很強的意圖性,可以將話題檢測結果作為意見挖掘對象的候選集合進行微博文本意見挖掘,以解決文本短引起的召回率低的問題。
[1]China and Microbloging:How people tweet in China[DB/OL].www.digimind.com,2011.
[2]J Allan,J Carbonell.Topic Detection and Tracking Pilot Study:Final Report[C]//Proceeding of the DARPA Broadcast News Transcriptions and Understanding Workshop,F(xiàn)ebruary,1998:11-17.
[3]Y Yang,T Pierce,J Carbonell.A Study on Retrospective and On-Line Event Detection[C]//Proceedings of the 21st Annual International ACM SIGIR Conference on Research and Development in Information Retrieval,1998:28-36.
[4]J Xu,W Croft.Cluster-based language models for distributed retrieval[C]//Proceedings of the SIGIR 1999:254-261.
[5]Z Jia,Q He,H Zhang,et al.A New Event Detection and Tracking Algorithm Based on Dynamic Evolution Model[J].Journal of Computer Research and Development,2004,41(7):1273-1280.
[6]賈自艷,何清,張俊海,等.一種基于動態(tài)進化模型的事件探測和追蹤算法[J].計算機研究與發(fā)展.2004,41(7):1273-1280.
[7]B Sharifi,M-A Hutton,J Kalita.Summarizing Microblogs with Topic Models [C]//Proceeding of NAACL-HLT'2010:685-688.
[8]D Ramage,S Dumais,D Liebling.Characterizing Microblogs with Topic Models [C]//Proceeding of ICWSM'2010.
[9]B O'Connor,M Krieger,D Ahn.TweetMotif:Exploratory Search and Topic Summarizing for Twitter[C]//Proceedings of ICWSW 2010.
[10]Z Liu,W Yu,W Chen,et al.Short Text Feature Selection and Classification for Micro Blog Mining[C]//Proceedings of CiSE'2010:1-4.
[11]M Blei,Y Ng,I Jordan.Latent Dirchlet Allocation[J].Journal of Machine Learning Research,2003:993-1022.
[12]M Steinbach,G Kapypis,V Kumar.A Comparison of Document Clustering Techniques[C]//Proceedings of KDD Workshop on Text Mining,2000:109-111.