徐立洋,黃瑞章,3,陳艷平,錢志森,黎萬英
(1.貴州大學 計算機科學與技術學院,貴陽 550025; 2.貴州省公共大數據重點實驗室(貴州大學), 貴陽 550025;3.計算機軟件新技術國家重點實驗室(南京大學), 南京 210093)(*通信作者電子郵箱rzhuang@gzu.edu.cn)
在互聯(lián)網發(fā)展早期,網絡上可獲取文本數據的渠道(數據源)較少,文本挖掘任務主要面向單源文本數據。隨著互聯(lián)網的快速發(fā)展,特別是移動互聯(lián)網的普及率越來越高,幾乎每個人都能上網獲取資訊和發(fā)表觀點, 因此出現(xiàn)了各種各樣的文本數據生產渠道,如各種社交媒體、新聞門戶、博客及論壇等。這些渠道時刻都在產生海量的文本數據,同時對這些文本數據源進行主題信息提取通常具有比較重要的應用價值, 如在網絡新聞采編和網絡輿情分析應用中,需要知道在每個渠道的主題分布,以及某個關注的主題在每個渠道的表現(xiàn)方式等。
此外還需要解決的一個問題是如何自動確定每個數據源中的主題個數。傳統(tǒng)主題模型假設主題個數是已知的,因此在建模前需要事先設定需要學習的主題個數。通常對單源文本數據事先估計主題個數比較容易,但多源情況下,由于不同數據源之間可能具有較大差異,因此人為事先對每個數據源設定合理的主題個數比較困難。Huang等[2]指出,設定不合適的主題個數可能會嚴重影響模型準確率, 所以針對多源數據的模型能夠根據每個數據源的數據特征自動確定主題個數是非常有必要的。
本文模型嘗試通過擴展狄利克雷多項分配(Dirichlet Multinomial Allocation, DMA)[2]模型來解決上述三個問題。DMA模型是一個有限混合模型,當將其混合元素的數量趨于無窮大后,可以近似為一個狄利克雷過程混合(Dirichlet Process Mixture, DPM)模型[5],DPM是一個常用的非參貝葉斯模型,具有良好的聚類性質,在對聚類個數沒有先驗知識的情況下,能夠自動確定最終的類別個數[6]。本文提出的多源狄利克雷多項分配(Multi-Source Dirichlet Multinomial Allocation, MSDMA)模型是在DMA模型的基礎上作了一些擴展,使其能夠學習主題知識結構的同時,保留主題在不同數據源中的詞分布特點,并保留了DMA模型的非參聚類性質,最后利用Blocked-Gibbs參數學習方法自動學習出K值[2]。
總的來說,本文所做的貢獻主要有如下3點:
1)提出面向任意數量數據源的主題挖掘模型,解決傳統(tǒng)主題模型無法在多源情況下根據數據源自身特點進行主題挖掘的問題;
2)通過主題和詞空間的共享實現(xiàn)數據源之間的信息互補,輔助提升高噪聲、低信息量的數據源的主題發(fā)現(xiàn)效果;
3)根據數據源的數據特點自主學習出每個數據源的主題個數。
主題挖掘一直是文本分析領域中的一項重要工作,它可以將文檔從高維的詞項空間轉換到低維的主題空間,從而可以在主題空間實現(xiàn)對文本的聚類和分類以及文本核心內容提取等工作。目前研究者們已對單源文本數據的主題挖掘方法作了大量研究。特別是2003年提出的潛在狄利克雷分配(Latent Dirichelt Allocation, LDA)模型[9],對主題模型的發(fā)展具有十分重要的意義,近年來主題模型相關的工作大多是對LDA模型的擴展,但大多數模型主要是解決單源文本數據的主題挖掘問題。隨著文本數據來源渠道的不斷豐富,越來越多的研究者開始關注對多源文本數據(或多語料庫)的主題建模問題。 然而,大多數研究者對此類問題的研究興趣點在于如何通過數據源之間的信息輔助提升目標數據源的主題發(fā)現(xiàn)效果[8],本質上還是為了解決單一數據源的建模問題。例如在文獻[11]中提出的二元狄利克雷模型(Dual Latent Dirichlet Allocation, DLDA)通過引入輔助數據源對目標數據源提供輔助信息,從而提升目標數據源的主題發(fā)現(xiàn)效果;文獻[8]中提出的DDMAfs(Dual Dirichlet Multinomial Allocation with feature selection)模型通過引入長文本數據集來輔助提升短文本數據集的聚類效果;文獻[12]中將數據來源指定為Twitter和雅虎新聞兩個語料庫。以上提到的研究內容均對數據源的數量或來源作出了嚴格的限定,其目的是為了更好地對目標數據源的數據進行主題建模,本質上并沒有真正解決多源文本數據的主題建模問題。
在針對多源文本數據的主題模型中,文獻[13]提出的mLDA(multiple-corpora LDA)模型通過擴展LDA,使不同數據源共享相同的主題-詞分布參數,從而使得主題知識對于整個語料庫來說是統(tǒng)一的,忽略了主題在不同數據源中所特有的特點;文獻[14]中提出的mf-CTM(multi-field Correlated Topic Model)使不同領域的語料庫共享相同的主題分布參數,但不同語料庫具有獨立的主題-詞分布參數,這雖然完全考慮了主題在不同數據源中的特點,但難以保證同一個主題在不同數據源中具有概念上的一致性;文獻[1]提出的Probability Source LDA模型同時擴展了LDA的主題分布參數和主題-詞分布參數,讓數據源之間可以共享主題分布以及主題-詞分布,使得模型可以學習出每個數據源的主題結構,并保證主題在數據源之間具有一一對應關系,同時保留了主題在數據源內的特征,這與本文提出的MSDMA模型的目的相似,但該模型需要有數據源分布的先驗知識,增加了建模的復雜度。此外,分層狄利克雷過程(Hierarchical Dirichlet Process, HDP)模型也常用于對多源文本數據的分析[4],其主要目的是發(fā)現(xiàn)不同源數據中主題的隱含關聯(lián)模式。
上述提到的大多數方法均需要事先確定每個數據源的主題個數K,而即使在單一數據源的情形下確定一個合理的K值也是比較困難的,這需要建模者瀏覽所有的文檔數據才能作出合理的估計,因此在多個數據源的情況下顯得更為困難。此外,不合理的K值估計可能會嚴重誤導模型的聚類過程,最直接的解決辦法就是用不同的K值訓練模型,然后選取測試數據集中使得似然概率最高的一個[16]。另一種方法是為K設定先驗參數,然后計算出K的后驗分布[17]。文獻[2] 基于DMA模型,利用Blocked-Gibbs對模型參數進行采樣學習,當進入一個新的觀測數據時,該數據的類別(主題)可以從已經存在的類別中生成,也可以生成一個新的類別。
圖1 多源狄利克雷分配模型的圖模型表示
符號說明α主題分布的狄利克雷先驗參數θ全局主題的多項式分布參數Zsm數據源s中分配給文檔m的主題,s=1,2,…,S, m=1,2,…,Msxsm數據源s中第m篇文檔S數據源數量Ms數據源s中的文檔數量, s=1,2,…,Sβk主題k的詞分布的狄利克雷先驗參數, k=1,2,…,Kφsk主題k在數據源s中的詞分布參數,s=1,2,…,S, k=1,2,…,KV詞典大小K主題個數Nsk數據源s中屬于主題k的文檔數量Nsk,w數據源s中,單詞w被分配給主題z的次數,s=1,2,…,S, k=1,2,…,K, w=1,2,…,V
2)采樣θ|α~Dirichlet(α/K,α/K,…,α/K);
(1)
(2)
其中
因此,當對所有數據源中的文檔進行主題分配后,得到整個語料庫的近似生成概率:
(3)
(4)
2)以下列狄利克雷參數采樣新的θ:
(5)
(6)
本章分別設置了兩組實驗來驗證本文方法: 第一組實驗使用了模擬數據集對模型性能進行測試; 第二組使用Paper和Twitter的真實數據集。
兩組實驗中,本文均使用歸一化互信息(Normalized Mutual Information, NMI)[18]作為主題發(fā)現(xiàn)效果的度量標準。NMI通常被作為聚類模型聚類效果的評價指標。由于模型假設每篇文檔屬于一個主題,因此同一個主題下面的所有文檔可看作一個類,所以利用NMI來進行度量,其計算公式如下:
其中:D是文檔篇數,dh是實際類別h中的文檔篇數,cl是聚類類別l中的文檔篇數,dhl是同時屬于實際類別h和聚類類別l的文檔篇數。NMI的取值范圍為0到1,NMI值越接近1說明聚類效果越好,當NMI=1時,聚類結果完全與實際類別相符[2]。
4.2.1 模擬數據集生成方法介紹
本文采用文獻[19]中提到的利用狄利克雷過程的Stick-Breaking方法來產生模擬數據。首先,設定K個主題,記為{π1,π2,…,πK}。每個πK表示為一個基于單詞的多項式分布,記為πK=(u1,u2,…,uV),其中uw表示單詞w在主題k中出現(xiàn)的概率大小,V表示詞典長度。對其中一個主題k的生成過程如下:
1)以均勻概率從詞典中隨機抽出N個詞并按抽取的先后順序進行標記,得到長度為N的單詞序列(w1,w2,…,wN)。
2)對每個單詞賦予一個概率值:
a)對第一個單詞w1,令u1=l1,其中l(wèi)1~Beta(1,ξ)
b)對單詞wl(2≤l 需要注意的是,在上述過程中,參數的大小決定了主題中單詞概率的離散程度: 離散程度越高,概率越傾向于集中在少數單詞上面,主題詞就越明顯; 離散程度越低,每個單詞分配到的概率越均勻,主題詞越不明顯。對應地,當ξ值越大時,主題詞越不明顯,模型越難識別出該主題。 圖2為不同ξ得到的詞概率分布圖,可見隨著ξ的增大,詞的概率分布越均勻,概率值的方差越小。 圖2 ξ 的取值對模擬主題的詞分布的影響 4.2.2 模擬數據集介紹 根據上述方法,以5 000維詞典,生成4個不同類型的數據集,每個數據集的具體參數如表2。 表2 模擬數據集參數說明 表2中M為每個數據集的文檔篇數,W為數據集中每篇文檔的單詞數量,K為每個數據集的主題個數。以s2(M=500,W=100、ξ=1 500)數據集為標準數據集,其信息量和噪聲水平為標準情況;s1中每篇文檔的單詞數量限定為30,可用來表示一個短文本數據集;s3的ξ較小,因此可以表示一個主題信息明確的數據集,即主題-詞分布中噪聲詞的概率較小;s4中的文檔篇數最少,僅為200篇,因此可以表示一個缺少樣本信息的數據源。 4.2.3 模擬數據實驗結果 該部分利用模擬的4個數據集做了4組不同的實驗。 實驗1中,用MSDMA模型同時對模擬生成的4個數據源進行主題聚類,聚類結果如圖3所示。 圖3 MSDMA(s1,s2,s3,s4)的NMI和K值變化軌跡圖 從圖3可以看出,圖3(a)中每個數據源的NMI值隨著迭代次數的增加而增加,由于s3的主題信息比較明確,因此NMI值提升速度較快并率先達到1; 而s1由于是短文本數據集,每篇文檔的有效信息量較少,因此NMI值較小。圖3(b)中噪聲最低的s3能準確地將主題個數收斂到6時,與實際情況相符。 實驗2中,建立了兩個模型:模型1的數據包含s1和s2,即長文本與短文本的融合。模型2的數據僅有短文本數據集s1。實驗結果如圖4所示,模型1中短文本數據源s1的NMI值整體高于模型2中s1的NMI值。為了消除隨機因素影響,本文同時對兩個模型訓練了10次,每次迭代200次,得到模型1中短文本的NMI比模型2中的提升約4%,說明該模型能通過數據融合,利用長文本數據源的信息輔助短文本數據源,提升短文本的主題發(fā)現(xiàn)效果。 圖4 MSDMA中不同數據源組合方式下的NMI變化軌跡 實驗3中,同樣建立了兩個模型:模型1包含s2和s3兩個數據源,即高噪聲與低噪聲數據源融合。模型2的數據僅包含s2。圖4(b)的結果表示,模型1中s2的NMI值明顯高于模型2中s2的NMI值。為了消除隨機因素的影響,本文同時對兩個模型訓練了10次,每次迭代200次,得到模型1中s2的NMI值明比模型2中s2的NMI值提升約10%。實驗結果表明,該模型能通過數據融合,利用低噪聲數據源的信息輔助高噪聲數據源從而提升主題發(fā)現(xiàn)效果。 實驗4中也建立了兩個模型:模型1的數據包含s2和s4,模型2的數據僅包含s4。s4僅包含200篇文檔,與s2相比信息量較少。實驗結果見圖4(c),模型1中s2的NMI值明顯高于模型2中s2的NMI值。通過10次的模型訓練得到模型1中s2的NMI值比模型2中的提升約3.6%,說明在該模型中,在相同數據質量的情況下,數據量較少的數據源能夠利用數據量較多的數據源信息。 4.3.1 數據集介紹 本文使用了以下兩個真實數據集AMpaperSet和TweetSet來對本文提出的模型進行測試: AMpaperSet 該數據集是將文獻[20]中使用的AMiner-Paper數據集中的論文摘要截取出來形成的一個數據集,并從中隨機抽取了1 500篇作為實驗數據集,其中包含了三個不同的研究領域,分別是“graphical image”“computer network”和“database research”。 TweetSet 本文從“JeSuisParis”“RefugeesWelcome”和“PlutoFlyby”這三個熱門話題的Twitter中包含的URL爬取了5 577 篇文章,同樣隨機抽取1 500篇得到TweetSet語料庫。 將得到的數據集均去除停用詞以及在全局語料庫中出現(xiàn)頻率低的詞[21]。 表3 真實數據集描述 4.3.2 真實數據實驗結果 本文設置了兩個實驗來驗證模型在真實數據集上有效性。 實驗1中,將MSDMA模型與主流的傳統(tǒng)文本聚類模型進行了對比,來驗證MSDMA模型在主題建模過程中考慮數據源自身的特點與傳統(tǒng)主題模型相比,能夠更有效地對主題進行刻畫。首先考察了K-Means文本聚類模型和分層狄利克雷過程模型(HDP)在這兩個數據集上的主題挖掘效果,并將它們設定為基線模型, 其中HDP模型是一個常用的非參貝葉斯模型,能夠針對多組文本數據的聚類和分析[15]; 然后對比了GSDMM(Gibbs Sampling algorithm for the Dirichlet Multinomial Mixture)模型[22],該模型假設每篇文檔只屬于一個主題,這與本模型的假設類似。各模型的聚類效果如表4所示(表中結果均為10次訓練結果的平均值)。 表4 4種模型在AMpaperSet和TweetSet數據集上的NMI值 表4結果表明MSDMA的聚類效果明顯好于基線模型K-means和HDP。GSDMM單獨對AMpaperSet建模得到的NMI略高于MSDMA,但對TweetSet的NMI卻明顯低于MSDMA, 證明了在MSDMA建模過程中,TweetSet能夠借鑒AMpaperSet中的主題知識輔助自身進行主題發(fā)現(xiàn)。圖5是MSDMA模型學習出的每篇文檔的主題。 圖5 AMpapreSet和TweetSet中每篇文檔所屬主題的預測結果 從圖5中可看出,從AMpaperSet中發(fā)現(xiàn)2個主題,聚類的類別標號為k1和k11; 從TweetSet中發(fā)現(xiàn)6個明顯的主題,類別標號分別是k2,k5,k11,k13,k15和k23。 實驗2對MSDMA模型學習出的主題在每個數據源中的詞分布形式進行了研究,以驗證模型能夠保留主題在數據源中的用詞特點。圖5中可以看出,模型對AMpapreSet的聚類效果較好,因此本文從AMpapreSet中選取了2個聚類效果明顯的主題和,同時選取TweetSet中相同編號的主題,并展示了兩個數據源中每個主題出現(xiàn)概率最高的15個詞: 主題1主要描述了計算機網絡(computer network)相關的內容,AMpaperSet對該主題的描述更偏向于專業(yè)的計算機網絡技術,如模型、算法、架構等方面;而TweetSet中則更偏向于網絡安全、隱私、郵箱等社會話題。 主題2是與圖形圖像(graphical image)相關的主題,在AMpaperSet中對該主題的描述也更偏向于計算機圖形學專業(yè)術語;而在TweetSet中,則表現(xiàn)為與旅行、拍照、穿著等生活化場景相關。 表5 同一編號的主題在兩個數據源中的詞分布差異比較 該實驗表明,與傳統(tǒng)主題模型只能對某主題學習出統(tǒng)一的詞分布相比,本文提出的MSDMA模型能夠保留數據源的整體特點,學習出該主題在各數據源中特有的詞分布形式。 本文針對多源文本數據,提出了一種基于狄利克雷分配的多源文本主題發(fā)現(xiàn)方法。該方法在主題建模過程中能夠有效利用數據源特征,根據數據源特點發(fā)現(xiàn)同一個主題在不同數據源中的詞項分布的區(qū)別,同時利用數據源之間的信息互補在一定程度上解決噪聲和信息量不足的問題。此外傳統(tǒng)主題模型的訓練結果較大程度依賴于主題個數K的經驗設定,本文提出的基于DMA模型的方法保留了DMA模型的非參性質,利用Blocked-Gibbs參數學習方法自動學習出K值,且每個數據源的K均考慮了數據源自身數據特點。最后通過實驗驗證了該方法同時對多源文本進行主題挖掘的效果優(yōu)于主流模型。4.3 真實數據集實驗
5 結語