熊康平
本文主要從原理上介紹了兩種文本聚類的算法——K-means和LDA。文章第一部分介紹了文本聚類的背景,包括定義、應用和意義;文章第二部分介紹了當前的研究背景以及研究熱點;第三部分介紹了文本聚類的一般步驟,涉及到的技術有中文分詞和聚類算法;最后一部分為總結展望。
自人類產生以來,區分事物就是不可避免的,這就要求我們做到判斷事物的相似性,并將它們分成不同類別。(張夢笑.基于LDA的觀點聚類研究[D].山西:山西大學)遠古時期,原始人類會憑借經驗將動物分為危險的與不危險兩類,以便捕獵;宋朝文人,將古詩的風格分為婉約和豪放等等。
文本聚類研究工作對于幫助不同職業的意義重大,如在產品營銷中可以幫助市場人員清楚了解每個產品不同的特征、優勢,同時分析市場對不同產品的需求、客戶對不同產品的喜好,從而進行相關的市場銷售計劃;在臺風探測中可以通過檢測風向及風力大小所具有的特征將其分成不同的組類,從而更合理的進行探測、分析。(董婧靈.基于LDA模型的文本聚類研究[J].)文本聚類這項研究工作在信息互聯網方面也發揮著其重要的作用,如利用聚類方法,收集分類產品或服務的信息,以便企業和消費者參考;利用人工智能強大的聚類能力,將網絡中的不同文檔信息歸納總結分類,進行預處理,從而十分結果更完善,互聯網上的內容更加有層次、有結構,更清晰。因此,文本聚類作為現在的研究熱點問題,為越來越多的研究人員所關注。
文本聚類在因為其無監督性,在數據量爆炸增長的今天有著廣泛的應用。文本聚類主要可以應用在如下方面:1)文本聚類是許多自然語言處理任務基礎;2)搜索引擎中使用聚類對返回結果聚類3)用戶文檔聚類;4)改善文本分類效果;5)數字圖書館服務6)文檔集合的自動整理。
在基于主題的文本聚類研究中,王衛玲提出了一種多特征聯合選擇的web文本聚類方法;劉振鹿用LDA對潛在語義進行分析,將得到的語義出現頻率作為特征進行分類,對相對正確的語義進行推測。在基于觀點的聚類研究中,這個概念首先由Kushal Dave首次用到,并且應用于觀點挖掘相關會議。
就目前來看,文本聚類最大的困難無非就在于算法上。作為現階段乃至未來時期的研究熱點,這個困難如果能夠解決,那么無疑可以為人類在研究文本聚類這條道路上鋪下堅實的基礎,為文本聚類的發展提供強力的燃料,助推其前進。(王鵬.基于LDA模型的文本聚類研究[J].情報科學,2015,01,33(1))人類對于機器理解自然語言的認識走了一條大大的彎路。早期對于文本聚類的研究采用了基于規則的方法,雖然可以解決一些基礎簡單的問題,但是無法從根本上使其可以投入使用。后來,人們經過不斷的探索與突破,終于發現這條路無法走通,便開始嘗試基于統計的方法,而文本聚類這才開始有了突破性的發展。
文本聚類算法一般包括如下步驟:1)對文本進行中文分詞,得到一個個有意義的詞,因為在自然語言處理中認為詞是表達語義的最小單位;2)文檔特征表示,通過提取文檔特征將文檔用數學形式表達出來,常用的特征表示方式有詞向量、TFIDF、文本卡方值等;3)模型訓練:常用的文本聚類模型有LDA、K-Means等。本文也將從以上四個方面介紹文本聚類的一般過程。
詞語是理解自然語言的最小單位,因此中文分詞成為很多自然語言處理任務的基礎,中文分詞結果的好壞直接影響到最終聚類效果。本文介紹了當前主流的中文分詞方法——基于統計信息的中文分詞方式,這種方式相對傳統基于語義的中文分詞方式準確率更高,效率更高,需要更少的人工干涉。基于統計中文分詞方法的主要思想是越有意義的句子在現實生活中出現的概率越高,這種思想將一個語言問題完美轉化成為了一個數學問題。(王春龍.文本聚類關鍵技術研究[D].北京:華北電力大學)基于上述思想我們需要計算一個句子出現的概率,根據條件概率的鏈式展開,句子出現的概率可以表示如下:

根據大樹定理可知,在統計量足夠的時候我們可以用頻率近似的表示概率,因此理論上,給定一個足夠大的語料庫,通過計算頻率可以計算上式中每一項的概率,從而可以計算得到句子出現的概率,但是上式的計算難度會隨著句子長度的增加而不斷增加,變得無法計算。為了解決這個問題,俄國科學家馬爾科夫提出了一種簡單有用的假設:句子中每個詞的出現只跟前面一個詞相關,根據這個假設,上述計算句子概率的式子可以重新表述如下:

我們通常稱上述模型為二元語言模型,通過上述能夠計算得到一個句子按照不同分詞方式下的概率,在通過一些動態規劃算法找到對應句子概率最大分詞方式,這種方式即為我們尋找的分詞方式。這樣,通過將語言問題轉化成數學問題我們完成了中文分詞問題。
特征表示能夠將文檔表示成數學形式,主要分為統計特征和語義特征。常用的統計特征有tf-idf特征、卡方值特征等;常用的語義特征有獨熱表示的詞向量和分布式表示的詞向量。本文介紹的k-means算法和LDA算法主要采用的是詞向量的方式作為文本特征表示方式。
這里主要介紹兩種文本聚類的算法。
(1)K-means算法
通過詞向量這種特征表示方法能夠將文本轉換成向量特征。K-means算法首先需要選擇聚類類別個數K,確定了K之后隨機初始化K個離群中心點,計算每個文檔到這個K個點的距離,文檔距離那個中心點最近就被劃分到那個中心點的群組,所有文檔找到歸屬群組后,跟新中心點為當前群組所有文檔的平均值,迭代上述過程知道中心點的位置不再移動。在K-means算法中,采用的距離通常是歐幾里得距離。
(2)LDA算法
LDA算法主要是通過找到文檔分布這種方式對文檔進行聚類,LDA模型結構如下:

LDA中一篇文檔生成過程可以用簡單的語言表示如下:
(1)從狄利克雷分布中取樣生成文檔i的主題分布;
(2)從主題的多項式分布中取樣生成文檔i第j個詞的主題;
(3)從狄利克雷分布中取樣生成主題對應的詞語分布;
(4)從詞語的多項式分布中采樣最終生成詞語;
(5)用Gibbs采樣估計LDA參數。
本文用或生動或學術、或通俗或復雜的語言介紹了文本聚類的定義及其作用,并列舉了幾個常見的在實際生活中的應用。同時,展示了當今世界對于文本聚類的研究現狀以及熱點難點。最為重要的,無疑是一些對于文本聚類的研究內容的闡釋與說明。我在研究的過程中,付出了時間與精力,認識到了這個領域的困難性,但也感受到了其所擁有的無限前景和機會。這就好比從種子到長成參天大樹、從小馬到平野一馬奔馳,中間都存在了重重地險阻。但待到成果既出之時,便又是一番碩果累累的景象了。學無止境,知識是沒有邊際的存在。我認為,這一階段的學習是遠遠不夠的,它僅僅代表了我在這個領域邁出的小小的一步,使我開始對這個領域有了最為淺薄的認識。在未來的研究學習生活中,我還要在專業知識的增強、學術見識的提升和研究熱情的持續上作出努力,一步步增強自己的職業素質與實力,讓屬于自己的研究成果一點點茁壯成長,到嫣然開放!