楊傳春, 張冰雪, 李仁德, 郭 強
(1. 上海理工大學 復雜系統科學研究中心,上海 200093;2. 上海理工大學 MPA教育中心,上海 200093)
快速發現和獲取網絡中的目標信息是自然語言處理、機器學習、人工智能等領域內的研究熱點。文本的主題是目標信息的重要載體,獲取主題信息是實現準確定位的重要途徑。不同的網絡數據和處理要求,其發現算法一般有差異[1-3],但大多是基于LDA(latent Dirichlet allocation)生成模型實現的一種統計方法,該方法可以挖掘文本內詞與詞之間的語義聯系[4]。在此基礎上進行的文本聚類能有效地對文本內潛在的主題進行提煉和劃分,從而實現縮小查找范圍、快速準確定位目標信息的目的。
生成模型的顯著優點是,不需要預先對文本進行歸類或標記,具有無監督的機器學習特點。文獻[5]對具有規范語言特點和明確關鍵詞的社科文獻進行了主題建模,提出了主題引導詞庫的概念;文獻[6]把文本聚類應用于查新系統,進行了主題挖掘實驗,并對實驗效果進行了自評;文獻[7]則對新浪平臺的微博網絡社區進行了主題發現,以微博的主題分布作為衡量微博主題在用戶中影響力大小的依據。
近年來,在線網絡教育內容呈現出爆炸式增長,其巨量數據的生成與維護成為在線教育吸引大眾的重要資源。本文基于LDA文本生成模型,對一個開放的在線教育機構網絡刊物進行主題發現與聚類研究,提出了主題發現和聚類的流程,對層次聚類文本距離的算法作出了改進,提出了合并向量算法(union vector method,UVM)。
LDA生成模型簡稱LDA模型,是挖掘文本集內文本主題潛在關系的算法,它模擬文本的生成過程。文本的主題發現與文本的生成是個互逆過程,文本的主題發現是從文本中發現詞項描述的主題,以及不同主題間的關聯,同一文本可以有多個主題;文本的生成是根據主題,從詞庫內選用與主題相匹配的詞項來構成文本。兩者的路徑相反,通過先驗參數,LDA模型實現了文本生成逆問題的解決方案。
假定要生成包含M篇文本的文本集,文本集的內容與K個主題相關,每個文本所用的詞項均來自于同一個包含V個元素的集合。文本生成過程如下[8]:
步驟1 生成文本的主題分布Θ,分布的維度為M×K,如圖1所示。

圖 1 文本-主題分布Fig.1 Doc-topics distribution
圖1 中的通項pmk(m≤M,k≤K)為第m篇文本選擇主題k的概率,每行的概率和為1。文本-主題分布服從狄利克雷分布Dir(Θ|α),α為先驗參數,又稱超參數。文本的主題分布服從多項式分布Mult(?),依據該分布選擇概率值最大的主題。
步驟2 生成主題-詞項分布Ф,分布的維度為K×Nm,Nm為第m篇文本總的詞數量,如圖2所示。

圖 2 主題-詞項分布Fig.2 Topic-words distribution
圖 2中的通項 pkn(k≤K,n≤Nm)為第 k個主題下選中第n個詞項的概率,每列的概率和為1。主題-詞項分布服從狄利克雷分布Dir(Φ|β),β為先驗參數。主題下的詞分布服從多項式分布Mult(φ),依據該分布選擇概率值最大的詞項wj。
步驟3 迭代上述過程,直至產生文本集。
詞袋(bag of words,BOW)中有V個獨立同分布的不重復詞,取N個詞生成一篇文本(文本可取重復的詞),由每個生成后的詞在文本中出現的概率,反過來便可得到文本W的生成概率為

圖3中的矩形表示框內相應變量n,m,k的作用域;陰影圓圈內的值表示實驗中是可以被觀測到的已知量,矩形框內無陰影圓圈表示隱含變量;矩形框外的值表示先驗參數,即狄利克雷分布的超參數,需在實驗前預先給定;φk的箭頭穿透了2層矩形框指向,表示生成該詞項前有一個文本到主題和先驗參數β到主題的混合過程。圖中各量及其他相關符號含義見表1。

圖 3 LDA混合生成模型Fig. 3 Model of LDA hybrid generation
文本集中第m篇文本的生成過程可分為兩步[9-10]:a. 由先驗參數α獲得文本的主題分布,選取主題;b. 由先驗參數β獲得每個主題的詞項分布,選取詞項。因此,LDA模型文本生成過程可以看成3層條件概率過程。

表 1 使用符號及其含義Tab.1 Symbles and meanings used
第一層:基于主題概率的生成過程。第m篇文本中詞項t的生成概率可表示為

第二層:混合層,基于主題概率和基于文本概率的生成過程。第m篇文本的生成概率為文本-主題概率與主題-詞項概率的乘積

式中,φk的取值由中的主題值k確定。第三層:基于先驗參數的生成過程。文本集的生成概率等于每篇文本的概率積

LDA模型在概念上很簡單,但要實現求解就有很大困難,一般采用近似計算完成,吉布斯采樣是完成模型計算的一個理想方法,它可以消除先驗參數值對結果的影響。吉布斯采樣是對馬爾科夫鏈蒙特卡洛法(Markov-chain Monte Carlo,MCMC)的一種模擬,通過馬爾可夫鏈的平穩態來模擬高維分布,某時刻xi的值只和生成xi之前的狀態 x?i=(x1,x2,…,xi-1)有關(?i表示不包含i狀態),即

式中:x={xi,x?i};z為隱含變量。
LDA模型中,文本-主題分布Θ和主題-詞項分布Φ均是隱含的變量。它們包含在由兩個先驗超參數確定的聯合分布p(w,z|α,β)中,文本主題分布和主題詞項分布是兩個獨立過程,因此聯合分布可分解成兩個獨立項

其中 p(w|z,β)由下式給出:

布,在整數范圍內有 Γ(n+1)=nΓ(n)。式(6)中p(z|α)由下式確定:


根據式(5)可得主題吉布斯采樣更新規則[11]:

最后可獲得多項式參數Θ和?的表示,結合多項式分布為狄利克雷的后驗分布可得



式(9)是LDA模型數學原理的核心,它通過式(7)和式(8)包含了文本-主題分布和主題-詞項分布,文本主題發現的信息就集中在這兩個概率分布中。然而由該式計算出來的結果具有不確定性,因為式中包含有先驗參數成份,因此需要不斷迭代以獲得穩定的文本-主題分布和主題-詞項分布,這兩個分布更新規則通過吉布斯采樣求得的式(13)確定,這樣LDA生成模型就確定下來了。
評價LDA生成模型質量的標準一般用困惑度表示,困惑度的定義為[8]


由此可得,

文本的聚類就是挖掘文本的相似性,是以描述文本的主題信息為基礎的,信息重要性的度量常用TF-IDF算法[12]。不同的詞在文本中出現的次數一般不同,可以用詞項在文本中出現的次數詞頻(term frequency,TF)表示。文本集中文本數量除以包含某個詞的文本數量叫逆文本頻率(inverse document frequency,IDF),該值越大,表示詞項在文本集內具有一定的“獨特性”。


式中:分子Nm,n表示第m篇文本中第n個詞在該文本中出現的次數;分母Nm表示第m篇文本中所有詞項的數量和。逆文本頻率為式中:M為文本集中文本的總數量;分母表示包含第n個詞項wn的文本數量。兩者的比值取對數是為了平衡TF和IDF對同一詞項wn的影響。
文本距離用來反映文本的相似程度,距離越小表示文本越相似。要實現文本距離的計算,先要實現文本的計算表示,向量空間模型(vector space model,VSM)就是把文本語義的相似度簡化為空間向量運算的模型[13],它以詞袋為基礎,把文本的每個關鍵與詞袋對比,賦予一個正實數值,使每篇文本構成一個多維空間向量,從而實現數據的計算表示。文本間距離的度量常用的有余弦相似度和杰森-香農距離(Jensen-Shannon distance,JSD)[14],兩者都具有對稱性。余弦相似度的定義為

余弦相似度為零,表示兩個向量無語義關聯性;相似度越接近于1,表示文本越相似。JSD的定義為

本實驗的主題發現和聚類流程如圖4所示,實線箭頭所指的方向為實驗時間順序和步驟,虛線所指表示需要的相關算法或技術路線。
通過分析在線教育機構的網頁特點,利用python語言的urllib,urllib2模塊和正則表達式制作爬蟲程序,匹配目標字段抓取數據,共取得了2 794篇網絡刊物的名稱、分類和概述3個字段值??飪热萆婕皩W習和興趣的各個方面。

圖 4 文本聚類流程和技術路線Fig. 4 Text clustering process and technical route
由于頁面中存在著大量不規范的詞語,抓取下來的數據無法被直接利用,必須進行詞語替換、去污和深度清洗,僅保留簡體中文數據。通過建立非目標字符庫,構造字符過濾器,把文本集中的數據與過濾器字符庫逐一對比達到清洗的目的。采用開源的結巴(Jieba)分詞算法,對文本集的全部語句進行分詞便可得到需要的數據。
清洗后的詞項構成了實驗的文本集,通過去重建立詞袋,將詞袋與每篇文本所含詞項對比,構造包含0與1的多維向量空間,1表示文本與詞袋有映射關系,0表示文本內沒有該詞。每個文本對應一個向量,向量的分量按詞袋內詞的順序排列,形成1110010101…10結構序列,序列長度等于文本內詞項總數。計算各詞的TF-IDF值,用其置換向量序列內的1,實現向量的計算表示。
計算文本間的余弦相似度,如圖5所示,它反映了不同余弦相似度隨文本數量變化的關系。隨著余弦值的增加,具有相似性的文本數量逐漸減少,沒有完全相同的文本(cosine=1),其中的子圖是母圖文本數量歸一化后的情況。

圖 5 余弦相似度與文本數量關系Fig.5 Relation of cosine similarity and text quantity
LDA模型的輸入值有,自定義主題數量K(60~440)、文本主題分布的超參數α=0.01、主題詞項分布超參數β=60/K,模型迭代的次數為1 000次;模型的輸出有文本主題分布Θ、主題詞項分布?,以及詞袋與自定義特征整數間的映射表,該映射表并非必須,但通過它易于人機交互計算建模。
利用先驗參數和文本集對模型作持續訓練,同時以20為步長改變主題數,得到困惑度變化如圖6所示。數據顯示,當主題數為320時,模型困惑度最小,表明模型此時的生成效果最好;K>320時,模型的困惑度基本保持不變,這有可能是模型陷入了局部極小值的原因。困惑度最小意味著主題生成的概率最大。

圖 6 困惑度Fig.6 Perplexity
表2顯示了主題數K=320時,模型提取出的前4個主題和相應的生成概率??梢钥闯雒總€主題的關鍵詞聚焦的內容語義邊界非常明顯,表明LDA模型挖掘出了文本主題間的內在聯系。與之對比,當主題數目K=80時,模型提取的前4個主題和相應的生成概率如表3所示。此時,主題的關鍵詞之間有些模糊,主題邊界出現了交叉現象,交叉詞語已用下劃線標出。這種情況有可能是模型在進行數據采樣時,未進入平穩態程序就已經結束。實驗表明,當迭代次數增加到2 000次時,模型輸出的主題結果并未改變,說明即使迭代只有1 000次時,模型事實上已進入了采樣的平穩態。因此只能表明,如果把全部在線網絡刊物的內容歸納到現有的主題數目時,主題定位將不再清晰,需要進一步細分或者放大主題內涵才能確定更清晰的主題邊界。
聚類時,將每個刊物作為一個獨立的簇,計算兩兩文本之間的距離,并設定距離閥值簇的容量,依次合并不同的簇,合并后的簇以簇內所有樣本點的距離平均值作為迭代計算的依據,反復迭代直到最后所有簇均被合并[15]。這一算法只有在能定義簇平均值時才有意義,其時間復雜度為O(nmkt),其中n為數據點的數目,m為數據點的維度,k為簇的數目,t為迭代次數[16]。
本實驗中,合并以后的簇采用簇內各數據點向量的并集來表示簇,并以此計算簇間的距離,該算法稱之為合并向量算法(UVM),算法的偽碼如表4所示。
UVM算法與文獻[15]算法隨詞袋中詞項數量的性能對比如圖7所示。
聚類結果如圖8所示,橫軸為各個刊物的序號,縱軸為向量間的歐幾里德距離。最后15步的聚類如圖9所示,橫軸上帶括號的數字表示該聚類葉子包含的刊物數量,未加括號的表示刊物序號。從圖9可以簡單統計出,最后一步的聚類中,兩個分支的刊物數量分別為4和2 790,表明全部刊物的主題總體上比較集中,有利于用戶在相應主題下通過聚類層次圖向下找到更為確切的主題,實現主題定位。但是,平臺主題的過度集中,也暴露出刊物數量相對于內容的冗余,如果平臺能對主題相似度較大的刊物進行歸并,適當縮減刊物數量,精煉刊物主題,不僅能增強不同刊物在用戶使用中的辨識度,也可以節約大量的平臺人力維護成本。

表 2 主題和詞項的概率(K=320)Tab.2 Probability of topics and items(K=320)

表 3 主題和詞項的概率(K=80)Tab.3 Probability of topics and items(K=80)

表 4 UVM算法偽碼表示Tab.4 Representation of pseudo-code of UVM algorithm

圖 7 UVM算法性能Fig.7 UVM algorithm performance

圖 8 全部刊物層次聚類圖Fig.8 Cluster graph of total journals

圖 9 最后15步聚類圖Fig.9 Graph of last 15 steps
對在線網絡教育平臺的刊物進行了主題發現和聚類研究。實驗數據通過爬蟲獲取,提出了主題發現和聚類的一般流程,通過對數據的清洗、生成詞袋、計算TF-IDF值和向量空間模型的表示等為主題建模提供了有效數據。以LDA生成模型為基礎,完成了對2 794個刊物的潛在主題的發現,以文本的關鍵詞為基礎,利用層次聚類模型進行了主題聚類工作,并提出了新的合并向量算法(UVM算法)。
實驗中2 794篇文本中包含3 800左右的關鍵詞,聚類難度相當大。實驗中采用了分步聚類方法,先用kmeans算法聚類成320個主題,再進行層次聚類。結果表明,合理的聚類有助于用戶快速發現目標信息,在線教育機構亦需要對刊物內容和刊物構成進行適當的優化。
本實驗研究的不足之處是文本的層次聚類算法中距離的計算方法,這也是目前聚類算法面臨的系統性難題。在計算距離時,無論是采用余弦距離、歐幾里德距離還是香農距離等都無法避免極端情況下,距離數值相等或相近引起結果可能出現的大偏差。如表5所示,向量1與向量2、向量2與向量3......向量n-1與向量n的“距離”是相等的,在進行簇合并時,它們將會被歸為同一簇。事實上,向量1和向量n在語義上可能根本沒有相似性,因此,對聚類距離的研究值得繼續深入。

表 5 向量在極端情況下的分布Tab.5 Distribution of vectors in extreme conditions