楊秀璋
(貴州財經大學信息學院,貴陽 550025)
隨著科學技術迅速發展,學術成果呈爆炸式增長,互聯網上存在著數量龐大、實時更新的學術文獻,它們能夠通過學術文獻數據庫進行閱讀及下載,如中國知網、萬方、維普等。如何從這些文獻數據中精準地挖掘出用戶所需的信息,獲取文獻的主題,已經成為了當今研究的熱點內容。目前國內外很少利用數據挖掘或機器學習算法深層次分析民族文獻,也沒有針對水族文獻的主題挖掘研究。
本文針對文獻數據存在噪聲,傳統的中文文本分析模型主題識別不精準,數據維度過高,缺乏深層次語義理解等問題,提出了基于LDA模型和K-means文本聚類的主題挖掘算法。該算法通過Selenium和XPath技術抓取中國知網1953-2018年間990篇水族文獻信息,再提取文獻標題、摘要、關鍵詞,經過中文分詞、數據清洗、特征提取等步驟,將文本數據集轉換為向量矩陣,最后利用LDA主題模型和K-means文本聚類算法進行實驗分析。實驗結果表明,本文提出的算法有效地挖掘出水族文獻的主題關鍵詞及研究領域,使文本的主題脈絡更加清晰。本文的研究成果具有重要的理論研究意義和實際應用價值,該模型可以廣泛應用于文本挖掘、文獻分析、民族研究等領域,為水族文化的研究和進一步發展提供相關啟示,為后續的水族引文分析和水族文化傳承提供有效支撐。
水族是一個具有悠久歷史和古樸文化的民族,主要聚居在黔桂滇交界的龍江、都柳江上游地帶,長期為世界各國學者所關注。水族地區被譽為“像鳳凰羽毛一樣美麗的地方”,他們崇拜自然,信仰萬物有靈[1]。本文采集了中國知網1953年至2018年間的990篇水族文獻,擬通過機器學習算法挖掘出水族文獻的主題,數字化保護水族文獻,以揭示中國水學的軌跡、內涵、特點、趨勢及影響,助促國內外各界相關人士客觀地認識中國在世界水學研究體系中的地位,同時提升文本主題挖掘的準確性。
主題挖掘是數據挖掘尤其是文本挖掘和輿情分析領域的重要知識,其旨在通過主題模型挖掘與識別出不同來源文本的主題、關鍵詞、情感分數、聚類類標等[2]。主題模型(Topic Model)通過計算概率來挖掘文本主題,常見的算法包括LSA和LDA,目前主要應用于引文文獻挖掘、情感傾向分析、自然語言處理、社交網絡短文本分析等領域。
隨著機器學習和文本分析的飛速發展,國內外學者對主題挖掘做了大量的研究和實踐。在算法創新上,Xu等[3]提出了一種將非結構化文本數據存儲至向量空間模型中,再進行文本聚類的主題挖掘方法;Deerewster等[4]提出了基于線性代數的主題挖掘算法(Latent Semantic Analysis,LSA),通過數學手段在低維語義空間里對文本進行相關性分析;Blei等[5]研究出了LDA(Latent Dirichlet Allocation)主題模型,并被廣泛應用于各個領域;王振振等[6]研究了LDA主題模型的文本相似度計算,利用Gibbs算法進行抽樣,挖掘潛在的文本主題與詞之間的關系;張晨逸等[7]提出了MB-LDA模型方法并挖掘微博主題與人物間的關系。在應用領域上,李霄野等[8]通過LDA模型研究文本聚類檢索;王樹義等[9]通過主題模型挖掘企業新聞文本及情感分析;Shi等[10]通過LDA主題建模分析了企業非結構化業務數據,量化企業在產品、市場和科技空間中的位置;王婷婷等[11]優化了LDA模型及其主題數量選擇,并通過科技文獻進行實驗研究。
盡管主題挖掘在算法創新和應用領域都有一些研究,但是國內外很少有利用主題挖掘算法分析民族文獻,并且傳統的民族文獻研究需要消耗大量的資金、人力和時間,無法獲取深層次的主題信息,也不能進行精準的文本主題挖掘,處理海量文獻效果不理想。本文針對上述問題,提出了基于LDA和文本聚類的水族文獻主題挖掘算法。
LDA是一種文檔主題生成模型,由Blei等[5]在2003年首次提出,是一種三層貝葉斯結構,包括主題、文檔和主題詞三層結構,其中文檔到主題、主題到詞都服從多項分布。LDA模型將一篇文本的每個詞都按照一定概率分布到某個主題上,并從這個主題中選擇相關的詞語集,如圖1所示,將d篇文檔映射到k個主題中,每個主題包括一定量的主題詞。
LDA模型表示法稱為“盤子表示法”,其模型生成過程如圖2所示。數據集中每篇文檔D都與T個主題的多項式分布相對應,記為多項分布θ;每個主題都與特征詞表中n個單詞的多項式分布對應,記為多項分布φ,并且θ和φ均存在一個帶超參數的α和β的狄利克雷先驗分布。圖中單圓圈表示潛在變量,雙圓圈表示可測變量,箭頭表示兩個變量之間的依賴關系,矩形框表示重復抽樣,對應的重復次數在矩形框的右下角顯示。

圖1 文檔-主題-詞映射模型
LDA模型的具體實現步驟如下:
(1)從每篇文檔D對應的多項分布θ中抽取每個單詞對應的一個主題z。
(2)從主題z中抽取一個單詞w,其主題對應的多項分布為φ。
(3)重復步驟(1)(2),共計 Nd次,直至遍歷文檔中每一個單詞。

圖2 LDA主題模型
本文主要研究水族文獻的主題挖掘,經過LDA主題分布后,得到各個文檔的不同主題所占比例,各主題的關鍵詞,從而識別數據集中潛藏的主題信息,計算文獻語料相關的主題和每篇文檔所涵蓋的主題比例。
本節主要介紹基于LDA和文本聚類的主題挖掘算法,重點闡述了本文提出方法的流程,經過數據抓取、數據預處理、特征提取、權重計算之后,利用LDA模型、K-means算法進行分析。
本文的核心思想是引入了LDA主題模型和文本聚類方法分析水族文獻信息,識別深層次的關聯主題,更好地進行文獻挖掘。該算法的框架圖如圖3所示。

圖3 基于LDA和文本聚類的主題挖掘算法框架圖
(1)調用Python、Selenium和XPath技術自動抓取水族文獻,并存儲至本地保存。
(2)對抓取的文本語料進行數據預處理,包括中文分詞、停用詞過濾、數據清洗、特征提取、降維等處理,這是文本數據分析的重要處理環節。
(3)將預處理之后的網頁文本轉換為特征詞矩陣,采用TF-IDF表示,并進行LDA主題模型分析和K-means文本聚類分析。LDA模塊可以對語料進行深層次語義挖掘,得到“主題-詞”和“文檔-主題”的概率分布矩陣;文本聚類分析可以將相似主題的文本聚集在一起,得出關聯信息。
水族文獻主題挖掘包括基于LDA模型的主題分析和基于K-means算法的文本主題聚類。采用Python中的Jieba工具進行中文分詞和數據清洗,通過TFIDF計算特征詞權重,該技術計算特征詞的重要程度是依據特征詞在文本中出現的次數和在整個數據集中出現的文檔頻率實現的,它能盡可能多地保留影響程度更高的特征詞,并過濾掉一些常見卻無關緊要的詞語。利用LDA主題模型分析不同主題的Top-N個關鍵詞及“文檔-主題”分布,利用K-means算法進行文本聚類,旨在根據文檔內容的相似性,將無標簽的文檔自動歸類,盡可能地使得同類文檔的內容相似性較大,不同類文檔的內容相似性較小;最后對輸出的“文檔-主題-關鍵詞”、文本聚類類標、情感分數進行實驗結果評估。
(1)數據抓取與預處理
本文采集了中國知網990篇水族文獻,其中學術期刊論文662篇,會議論文106篇,博士論文7篇,碩士論文91篇,中國專利5篇,科技成果3個,報紙116篇,所抓取的字段包括文獻標題、摘要、關鍵詞、發布時間、文獻類型等。
緊接著進行中文分詞和數據清洗,將不常用的詞語和特色符號進行過濾,并導入關鍵詞字典構建關鍵詞信息,主要利用Jieba分詞工具進行數據預處理。數據清洗為后面的LDA主題模型分析、K-means文本聚類分析提供良好的數據基礎。
(2)評價指標
本實驗采用信息檢索和機器學習領域常用的性能評估指標對所得的文本數據進行評估,即準確率(Pre?cision)、召回率(Recall)和 F 值(F-measure)。準確率 P(i,j)定義如公式(1)所示,召回率 R(i,j)定義如公式(2)所示。

其中,ni表示類別為i的文本數目,nj表示聚類j的文本數目,nij表示聚類j中屬于i的數目。
F值是準確率和召回率的調和平均值,它平衡了準確率和召回率在特定環境下的制約問題,可用來評估整個實驗的最終結果。F值指的計算公式如公式(3)所示。

(3)主題挖掘實驗
在基于LDA模型的主題挖掘實驗中,設置的主題數(n_topic)為 5,迭代次數(iterations)為 500,調用 Py?thon環境下的LDA主題模型進行模擬訓練,每個主題內的主題詞根據其概率大小排序,核心主題詞如表1所示。由下表可以看出,每個主題之間的區分非常明顯。主題0中的特征詞主要是“水族文化及民俗遺產”方面,包括“水族文化”、“馬尾繡”、“文化遺產”、“農耕文化”、“三都”等核心詞匯;主題1中的特征詞主要是“水族音樂舞蹈”方面,包括“民歌”、“銅鼓音樂”、“古歌”、“酒歌”、“祭祀”等核心詞匯;主題2中的特征詞主要是“水族醫學”方面,包括“水族醫藥”、“遺傳”、“中醫體質”、“群體遺傳學”、“ABO”等核心詞匯;主題3中的特征詞主要是“水書及水族語言”方面,包括“水書”、“水字”、“水族語言”、“祝詞”、“水書學”等核心詞匯;主題4中的特征詞主要是“水族體育”方面,包括“傳統體育”、“賽馬”、“吞口舞”、“水族武術”、“村落集體活動”等核心詞匯。

表1 LDA模型主題-詞識別結果
圖4展示了中國知網1953年至2018年水族文獻五大主題的詞云分布情況,該圖清晰地展示了不同主題的熱點關鍵詞。

圖4 中國知網水族文獻五大主題的詞云分布圖
文本聚類旨在根據文檔內容的相似性,將無標簽的文檔集進行自動歸類,水族文獻LDA模型文本聚類的實驗結果如表2所示。

表2 基于LDA模型的文本聚類實驗結果
從表2可見,“水族文化及民俗遺產”主題實驗結果最好,準確率為 0.935,召回率為 0.941,F值為0.938;“水族醫學”主題實驗效果不太理想,準確率為0.830,召回率為0.800,F值為0.815。由于部分水族文獻融合了多個主題,呈跨主題分布,所以會常出現主題識別不精準的情況。各主題文本聚類的實驗結果對比圖如圖5所示。

圖5 各主題文本聚類實驗結果對比
水族文獻的K-means文本聚類效果如圖6所示,共將文本聚集成五類主題。其中方塊表示“水族文化及民俗遺產”主題,圓形表示“水書及水族語言”主題,六邊形表示“水族醫學”主題,五角星形表示“水族體育”主題,菱形表示“水族音樂舞蹈”主題。從圖中可以看到五個類簇有效地分隔開來,相似主題的文獻聚集在一起,文本聚類效果良好。

圖6 K-means文本聚類效果圖
本文的研究成果主要應用于民族文獻的文本挖掘分析,以水族文獻為例進行主題分布和文本聚類的研究。實驗結果表明,本文提出的算法有效地挖掘出水族文獻的主題關鍵詞及研究領域,提取了五大主題的核心主題詞,使得文本的主題脈絡更加清晰,同時計算出各水族文獻的聚類類標,當給出一篇新的水族文獻時,我們能及時實現主題分類和關鍵詞詞挖掘。當然,本研究也存在不足,一方面沒有深層次理解文本語義信息,另一方面沒有進行情感分類打分等,后續將繼續深入研究。
總之,本文的研究成果具有重要的理論研究意義和實際應用價值,該模型可以廣泛應用于民族文獻研究、主題分析和文本挖掘等領域,更好地幫助科研工作者、高校師生和民族研究者進行相關研究,實現文本知識主題挖掘,為下一步水族引文分析和數字化保護民族文獻提供幫助。