馮 鑫 湯 鯤
(1.武漢郵電科學研究院 武漢 430074)(2.南京烽火天地通信科技有限公司 南京 210019)(3.南京烽火星空通信發展有限公司 南京 210000)
短文本在網絡上是普遍存在的,無論是在傳統的網站上,如網頁標題、文本廣告和圖片說明,還是在新興的社交媒體上,如微博評論、知識問答、網購后的評價等都是短文本,它們不像傳統的普通文本,這些短文本字數不多,很簡練。隨著大規模短文本數據集的出現,從它們中推斷潛在的主題對于內容分析非常重要,也有巨大的商業價值。短文本內容的稀疏性給主題建模帶來了新的挑戰,在建模過程中幾乎所有的模型都將每個主題看作是單詞的分布,每個主題下的單詞通常根據相關的概率進行排序,排序在前面的單詞可以用來表示主題,然而,很多時候很難將文本主題的內容提取準確,如“薪資”、“工作”這兩個詞對之間具有相關性,可以通過語義聯系將它們歸為同一個話題“求職”,而不是單獨地分開歸為獨立的主題,這種考慮詞對之間的相關性有效降低了矩陣的維度,使主題提取的效果更好,因此,本文結合CRP[1~2]考慮到了詞對之間的相關性,提出基于BTM[3]的Dirichlet過程[4]的GB?DP模型來解決稀疏性問題,該模型引入了詞間的相似性,也考慮到詞對之間的相似性,對短文本中的所有詞對進行相似性矩陣的計算,這樣不僅僅解決了短文本數據稀疏的問題,也將詞匯之間和詞對之間的相關性考慮進來,增強了捕捉主題的準確性,更加深入挖掘了文本語義。
傳統的主題模型,緩解稀疏性問題的一個簡單解決方案是,在采用主題模型之前,將短文本聚合為長偽文檔,例如,翁等[7]在訓練LDA之前將單個用戶發布的tweets聚合到一個文檔中,然而,這種方法的有效性嚴重依賴于數據,例如,用戶信息可能在某些數據集中不可用,另一種處理這個問題的方法是通過在短文本上添加強假設來簡化主題模型,雖然這些假設可以通過簡化模型來幫助解決數據稀疏性問題,但是它們犧牲了在文檔中捕獲多個主題的靈活性。此外,它們往往會導致文檔中主題的后端達到峰值,這使得模型很容易過度擬合。如PLSA[8]和LDA[9~10],假定文檔是主題的混合,其中一個主題被認為是通過一組相關的單詞來傳遞一些語義,通常代表詞匯表上的單詞分布,然后使用統計技術來學習主題詞的分布和主題比例,還有貝葉斯非參數模型(如HDP[11],dHDP[12]),這些都很難將這些短文本與額外的信息結合起來,或者在訓練前做出更強的假設。因此,直接將這些模型應用于短文本將會遇到嚴重的數據稀疏問題,一方面,單個短文本中單詞的出現頻率比長文本的作用要小,這使得很難推斷每個文檔中哪些單詞的相關性更強,另一方面,由于語境的限制,在短文本中識別歧義詞的意義變得更加困難。與之前模式不同的是,BTM[13]通過提取詞的共現模式對整個語料庫進行建模。它增強了捕捉主題的準確性,但是BTM有其局限性,特別是當主題數量是動態的且數據集很大時,確定主題的數量的效果不好。為了獲取適當數量的主題,研究人員提出了許多非參數模型,在這些模型中,HDP發揮了突出的作用,它是對狄利克雷過程的層次概括。Dirichlet過程[14]非常適合于混合模型中詞對的先驗分布問題。同時,它還提供了一種方法來說明詞對效果的分布模型[5]。與HDP不同的是,本文在語料庫級應用Dirichlet過程,并將整個語料庫看作一個biterm集,考慮到詞對之間的相關性,結合CRP提出了基于BTM的Dirichlet過程的GBDP模型來解決稀疏性問題,該模型引入了詞間的相似性,也考慮到詞對之間也有相似性,對短文本中的所有詞對進行相似性矩陣的計算,這樣不僅僅解決了短文本數據稀疏的問題,也將詞匯之間和詞對之間的相關性充分考慮,增強了捕捉主題的準確性,更加深入挖掘了文本語義。
CRP是Dirichlet過程的一種表示方法,它是模擬顧客到中國餐廳就坐問題的一個隨機過程。由于biterm表示短文本中同時出現的無序字對,當bi?term分配給一個主題時,其中的單詞更可能屬于同一個主題,而不是單個單詞。具體描述如下:有一家中國餐廳,假設桌子數量和每張桌子的人數不限,每個客戶都可以隨意選擇一張桌子。這種客戶就餐是一種Dirichlet的過程,客戶就餐選擇餐桌過程如下公式所示:i個顧客到j號餐桌就餐,m號客戶選擇餐桌Zm=j的概率與j號餐桌上的客戶的分布有一定關系:

其中r為Dirichlet先驗參數,c是第j個顧客選擇的餐桌上已有的客戶數量。很明顯CRP過程是有缺陷的,顧客選擇餐桌就餐時只看到了餐桌上面客戶的數量而沒有考慮到客戶與客戶之間的聯系,只是單純認為餐桌人數越多對客戶的吸引力就越大,但這樣是不合實際的,顧客之間也會影響其他顧客的選擇,比如有的餐桌上人數不多,但餐桌上面有自己的好朋友,他就可能會選擇那一桌。顯然CRP沒有考慮到顧客與顧客之間的相關性,本文提出的GBDP模型不僅考慮到詞間之間的相關性而且考慮到了詞對之間的相關性,即充分考慮到客戶與客戶之間的聯系,這種聯系是客戶自身的,而不僅僅是參桌對客戶的吸引力,這種考慮詞對之間的相關性有效降低了矩陣的維度,使主題提取的效果更好。對于GBDP模型來說,餐桌就是主題,客戶就是詞對。
在本文中采用Gibbs sampling進行近似推理。吉布斯采樣是一種簡單、應用廣泛的馬爾可夫鏈蒙特卡羅算法,與其他潛在變量模型的推理方法如變分推理和最大后驗估計相比,吉布斯抽樣有兩個優點。首先,它在原則上更精確,因為它漸進地接近正確的分配。其次,它的內存效率更高。吉布斯抽樣法的基本思想是,用一個變量的值代替另一個變量的值來估計參數,該變量的值由該變量的分布與其余變量的值組成。將鏈式法則應用于全數據的聯合概率,可以方便得到條件概率:

其中nz是biterm b的次數分配給這個話題z,nw|z是這個詞的次數w后分配到z的主題。一旦將bit?erm b分配給主題z,其中的兩個單詞wi和wj將同時分配給主題,然后可以估計topic-word分布Φ和文檔主題分布θ。Gibbs采樣的過程如圖1所示。

圖1 GBDP模型的Gibbs取樣
在GBDP模型中,更加關注的依然是參數依然是文檔-主題矩陣θ和主題-詞矩陣Φ,和BTM模型類似,但是在Gibbs采樣過程中的方法不同,GBDP模型中增加了主題-詞對矩陣ψ。θ是各個主題的概率分布,是D×K維的矩陣,D是文檔的數量,K是初始設定的主題數量;Φ是各個詞匯在主題下的概率分布,是K×N維矩陣,K是初始設定的主題數量,N是文檔集合的所有詞匯;ψ矩陣是各個主題下詞對的概率分布,是K×M維矩陣,K是主題個數,M是詞對個數,在GBDP模型中,詞對a+b和b+a視為一樣,故,因此該模型時間復雜度為O(N2)主題的表示需要通過Φ矩陣來進行描述,在每個主題下選取概率值前十的詞匯來描述改主題,這是因為概率值的大小說明該詞匯在該主題下的重程度。
首先,我們需要從所有的文檔中提取兩個不同的單詞來組成訓練數據,然后直接基于對單詞的共現模式進行建模。在GBDP中,這個觀察值xi=(wr,ws)以如下方式出現:

G~DP(a0,G0),G0~Dirichlet(η)。其中wr和wr是在主題zi的多項式分布中得到的。a0是集中參數。通過Gibbs抽樣,可以得到除主題文檔分布外的全局主題分布θ和主題詞分布Φ。但是,正如[16]假設的那樣,我們可以計算主題文檔分布如下:

其中p(z|x)可以根據貝葉斯公式計算出來,p(x|d)幾乎是均勻分布在文件中的所有詞對上。它們的表達式是:

其中,在式(4)、(5)中,x=(wr,ws),p(z)=θz,p(wi|z)=ΦWi|z,nd(x)為文檔d中biterm x的頻率。
本文采用了一個Gibbs抽樣方案,用于給定觀測值x={x1,x2,…,x|B|}的后驗推理,|B|是一個詞對集合,Z={z1,z2,…,zk}K是指主題的數量,x-i是除了xi的所有觀測值。首先,我們應該定義給定主題zk中除xi外的所有詞對的條件概率xi。根據式(1),我們有

其中f(xi|zk)=f(wr|zk)f(ws|zk),f(·)是Mult(z)的密度,g(·)是Dirichlet(η)的密度。利用共軛先驗,式(6)可簡化為

其中nw|zk是給定主題zk的單詞w的個數,和N是詞表中單詞的數量。
1)ki的生成:考慮到詞匯的互換性,我們將ki作為最后一個被采樣的變量。ki是題目zk的索引,主題的觀測值xi被賦給這個索引ki。結合產生xi的可能性,ki的條件后驗概率是

其中nk是除xi之外分配給主題zk的詞對數
2)更新Φ,θ和ψ:以z和x為條件,zk的后驗分布僅依賴于數據項

通過對biterm的主題分配和單詞的出現,我們可以計算出主題單詞的分布Φ和全局主題分布θ和主題詞對矩陣ψ,簡化公式如下:

1)主題質量
本文使用度量主題一致性更客觀地評估主題質量,高分意味著更好的表現,為了評價一個主題集的整體質量,我們計算了每種方法的平均連貫性得分,具體計算公式如下:

2)困惑度
困惑度是評價語言模型的一個重要指標,其思想是給測試集的句子賦予較高概率值的語言模型更好,即當語言模型訓練完之后,測試集中的句子都是正常的句子,那么訓練好的模型就在測試集上的概率越大越好,具體的計算公式如下:

由以上公式可知,perplexity越小,困惑度越低,泛化性能越好,模型性能越好。
為了驗證GBDP在短文本上的有效性,本文在一個標準的短文本集合上進行了實驗,即采用來自于搜狗實驗室的專區數據作為數據集,內容是關于新聞方面的,選取十個類別且每個類別分別選取10篇,類別分別為汽車、財經、健康、體育、旅游、教育、招聘、游戲、文化、科技。為了證明方法的有效性,將三個主題模型作為對比標準:LDA、HDP和BTM。本文評估了兩個典型指標的性能:主題的質量和困惑度。
1)主題質量連貫性分析
本文抽取所有測試方法的兩個共享主題作為樣本,收集每個主題的前10個單詞(如表1所示),然后使用度量主題一致性更客觀地評估主題質量,高分意味著更好的表現。為了評價一個主題集的整體質量,表1中,模型發現主題具有良好的可理解性。我們計算了每種方法的平均連貫性得分(如表2所示),可以看到,GBDP模型在平均一致性評分方面優于其他方法,如圖2。

表1 用10個單詞選出所選的主題

表2 主題一致性內容平均成績
2)困惑度分析
結果表明,GBDP具有較低的困惑度,但與HDP一樣陷入局部最優。盡管GBDP不是最好的,但它提供了穩定的性能,并且在迭代的開始這方面工作得很好。此外,結果表明GBDP能夠找到比任何其他模型更多樣化的主題,如圖3。

圖2 主題連貫性得分

圖3 迭代次數對困惑度的影響
本文提出了結合CRP的一種基于BTM的Dirichlet過程的主題模型GBDP,該模型能夠很好地捕捉短文本中的主題。它考慮的是整個語料庫中的單詞出現模式,而不是每個文檔中的單個單詞。通過對實際數據的實驗,驗證了模型的有效性。即使測試數據很稀疏,它也能很好地工作。此外,它的建模過程更加靈活,不需要確定主題的數量。然而仍然有很多問題要處理,例如,在大規模數據方面,采樣算法比較麻煩,需要更多的內存空間。改進取樣過程對我們今后的工作具有重要意義。