楊秀璋
(貴州財(cái)經(jīng)大學(xué)信息學(xué)院,貴陽(yáng) 550025)
隨著科學(xué)技術(shù)迅速發(fā)展,學(xué)術(shù)成果呈爆炸式增長(zhǎng),互聯(lián)網(wǎng)上存在著數(shù)量龐大、實(shí)時(shí)更新的學(xué)術(shù)文獻(xiàn),它們能夠通過(guò)學(xué)術(shù)文獻(xiàn)數(shù)據(jù)庫(kù)進(jìn)行閱讀及下載,如中國(guó)知網(wǎng)、萬(wàn)方、維普等。如何從這些文獻(xiàn)數(shù)據(jù)中精準(zhǔn)地挖掘出用戶所需的信息,獲取文獻(xiàn)的主題,已經(jīng)成為了當(dāng)今研究的熱點(diǎn)內(nèi)容。目前國(guó)內(nèi)外很少利用數(shù)據(jù)挖掘或機(jī)器學(xué)習(xí)算法深層次分析民族文獻(xiàn),也沒(méi)有針對(duì)水族文獻(xiàn)的主題挖掘研究。
本文針對(duì)文獻(xiàn)數(shù)據(jù)存在噪聲,傳統(tǒng)的中文文本分析模型主題識(shí)別不精準(zhǔn),數(shù)據(jù)維度過(guò)高,缺乏深層次語(yǔ)義理解等問(wèn)題,提出了基于LDA模型和K-means文本聚類的主題挖掘算法。該算法通過(guò)Selenium和XPath技術(shù)抓取中國(guó)知網(wǎng)1953-2018年間990篇水族文獻(xiàn)信息,再提取文獻(xiàn)標(biāo)題、摘要、關(guān)鍵詞,經(jīng)過(guò)中文分詞、數(shù)據(jù)清洗、特征提取等步驟,將文本數(shù)據(jù)集轉(zhuǎn)換為向量矩陣,最后利用LDA主題模型和K-means文本聚類算法進(jìn)行實(shí)驗(yàn)分析。實(shí)驗(yàn)結(jié)果表明,本文提出的算法有效地挖掘出水族文獻(xiàn)的主題關(guān)鍵詞及研究領(lǐng)域,使文本的主題脈絡(luò)更加清晰。本文的研究成果具有重要的理論研究意義和實(shí)際應(yīng)用價(jià)值,該模型可以廣泛應(yīng)用于文本挖掘、文獻(xiàn)分析、民族研究等領(lǐng)域,為水族文化的研究和進(jìn)一步發(fā)展提供相關(guān)啟示,為后續(xù)的水族引文分析和水族文化傳承提供有效支撐。
水族是一個(gè)具有悠久歷史和古樸文化的民族,主要聚居在黔桂滇交界的龍江、都柳江上游地帶,長(zhǎng)期為世界各國(guó)學(xué)者所關(guān)注。水族地區(qū)被譽(yù)為“像鳳凰羽毛一樣美麗的地方”,他們崇拜自然,信仰萬(wàn)物有靈[1]。本文采集了中國(guó)知網(wǎng)1953年至2018年間的990篇水族文獻(xiàn),擬通過(guò)機(jī)器學(xué)習(xí)算法挖掘出水族文獻(xiàn)的主題,數(shù)字化保護(hù)水族文獻(xiàn),以揭示中國(guó)水學(xué)的軌跡、內(nèi)涵、特點(diǎn)、趨勢(shì)及影響,助促國(guó)內(nèi)外各界相關(guān)人士客觀地認(rèn)識(shí)中國(guó)在世界水學(xué)研究體系中的地位,同時(shí)提升文本主題挖掘的準(zhǔn)確性。
主題挖掘是數(shù)據(jù)挖掘尤其是文本挖掘和輿情分析領(lǐng)域的重要知識(shí),其旨在通過(guò)主題模型挖掘與識(shí)別出不同來(lái)源文本的主題、關(guān)鍵詞、情感分?jǐn)?shù)、聚類類標(biāo)等[2]。主題模型(Topic Model)通過(guò)計(jì)算概率來(lái)挖掘文本主題,常見(jiàn)的算法包括LSA和LDA,目前主要應(yīng)用于引文文獻(xiàn)挖掘、情感傾向分析、自然語(yǔ)言處理、社交網(wǎng)絡(luò)短文本分析等領(lǐng)域。
隨著機(jī)器學(xué)習(xí)和文本分析的飛速發(fā)展,國(guó)內(nèi)外學(xué)者對(duì)主題挖掘做了大量的研究和實(shí)踐。在算法創(chuàng)新上,Xu等[3]提出了一種將非結(jié)構(gòu)化文本數(shù)據(jù)存儲(chǔ)至向量空間模型中,再進(jìn)行文本聚類的主題挖掘方法;Deerewster等[4]提出了基于線性代數(shù)的主題挖掘算法(Latent Semantic Analysis,LSA),通過(guò)數(shù)學(xué)手段在低維語(yǔ)義空間里對(duì)文本進(jìn)行相關(guān)性分析;Blei等[5]研究出了LDA(Latent Dirichlet Allocation)主題模型,并被廣泛應(yīng)用于各個(gè)領(lǐng)域;王振振等[6]研究了LDA主題模型的文本相似度計(jì)算,利用Gibbs算法進(jìn)行抽樣,挖掘潛在的文本主題與詞之間的關(guān)系;張晨逸等[7]提出了MB-LDA模型方法并挖掘微博主題與人物間的關(guān)系。在應(yīng)用領(lǐng)域上,李霄野等[8]通過(guò)LDA模型研究文本聚類檢索;王樹(shù)義等[9]通過(guò)主題模型挖掘企業(yè)新聞文本及情感分析;Shi等[10]通過(guò)LDA主題建模分析了企業(yè)非結(jié)構(gòu)化業(yè)務(wù)數(shù)據(jù),量化企業(yè)在產(chǎn)品、市場(chǎng)和科技空間中的位置;王婷婷等[11]優(yōu)化了LDA模型及其主題數(shù)量選擇,并通過(guò)科技文獻(xiàn)進(jìn)行實(shí)驗(yàn)研究。
盡管主題挖掘在算法創(chuàng)新和應(yīng)用領(lǐng)域都有一些研究,但是國(guó)內(nèi)外很少有利用主題挖掘算法分析民族文獻(xiàn),并且傳統(tǒng)的民族文獻(xiàn)研究需要消耗大量的資金、人力和時(shí)間,無(wú)法獲取深層次的主題信息,也不能進(jìn)行精準(zhǔn)的文本主題挖掘,處理海量文獻(xiàn)效果不理想。本文針對(duì)上述問(wèn)題,提出了基于LDA和文本聚類的水族文獻(xiàn)主題挖掘算法。
LDA是一種文檔主題生成模型,由Blei等[5]在2003年首次提出,是一種三層貝葉斯結(jié)構(gòu),包括主題、文檔和主題詞三層結(jié)構(gòu),其中文檔到主題、主題到詞都服從多項(xiàng)分布。LDA模型將一篇文本的每個(gè)詞都按照一定概率分布到某個(gè)主題上,并從這個(gè)主題中選擇相關(guān)的詞語(yǔ)集,如圖1所示,將d篇文檔映射到k個(gè)主題中,每個(gè)主題包括一定量的主題詞。
LDA模型表示法稱為“盤子表示法”,其模型生成過(guò)程如圖2所示。數(shù)據(jù)集中每篇文檔D都與T個(gè)主題的多項(xiàng)式分布相對(duì)應(yīng),記為多項(xiàng)分布θ;每個(gè)主題都與特征詞表中n個(gè)單詞的多項(xiàng)式分布對(duì)應(yīng),記為多項(xiàng)分布φ,并且θ和φ均存在一個(gè)帶超參數(shù)的α和β的狄利克雷先驗(yàn)分布。圖中單圓圈表示潛在變量,雙圓圈表示可測(cè)變量,箭頭表示兩個(gè)變量之間的依賴關(guān)系,矩形框表示重復(fù)抽樣,對(duì)應(yīng)的重復(fù)次數(shù)在矩形框的右下角顯示。
圖1 文檔-主題-詞映射模型
LDA模型的具體實(shí)現(xiàn)步驟如下:
(1)從每篇文檔D對(duì)應(yīng)的多項(xiàng)分布θ中抽取每個(gè)單詞對(duì)應(yīng)的一個(gè)主題z。
(2)從主題z中抽取一個(gè)單詞w,其主題對(duì)應(yīng)的多項(xiàng)分布為φ。
(3)重復(fù)步驟(1)(2),共計(jì) Nd次,直至遍歷文檔中每一個(gè)單詞。
圖2 LDA主題模型
本文主要研究水族文獻(xiàn)的主題挖掘,經(jīng)過(guò)LDA主題分布后,得到各個(gè)文檔的不同主題所占比例,各主題的關(guān)鍵詞,從而識(shí)別數(shù)據(jù)集中潛藏的主題信息,計(jì)算文獻(xiàn)語(yǔ)料相關(guān)的主題和每篇文檔所涵蓋的主題比例。
本節(jié)主要介紹基于LDA和文本聚類的主題挖掘算法,重點(diǎn)闡述了本文提出方法的流程,經(jīng)過(guò)數(shù)據(jù)抓取、數(shù)據(jù)預(yù)處理、特征提取、權(quán)重計(jì)算之后,利用LDA模型、K-means算法進(jìn)行分析。
本文的核心思想是引入了LDA主題模型和文本聚類方法分析水族文獻(xiàn)信息,識(shí)別深層次的關(guān)聯(lián)主題,更好地進(jìn)行文獻(xiàn)挖掘。該算法的框架圖如圖3所示。
圖3 基于LDA和文本聚類的主題挖掘算法框架圖
(1)調(diào)用Python、Selenium和XPath技術(shù)自動(dòng)抓取水族文獻(xiàn),并存儲(chǔ)至本地保存。
(2)對(duì)抓取的文本語(yǔ)料進(jìn)行數(shù)據(jù)預(yù)處理,包括中文分詞、停用詞過(guò)濾、數(shù)據(jù)清洗、特征提取、降維等處理,這是文本數(shù)據(jù)分析的重要處理環(huán)節(jié)。
(3)將預(yù)處理之后的網(wǎng)頁(yè)文本轉(zhuǎn)換為特征詞矩陣,采用TF-IDF表示,并進(jìn)行LDA主題模型分析和K-means文本聚類分析。LDA模塊可以對(duì)語(yǔ)料進(jìn)行深層次語(yǔ)義挖掘,得到“主題-詞”和“文檔-主題”的概率分布矩陣;文本聚類分析可以將相似主題的文本聚集在一起,得出關(guān)聯(lián)信息。
水族文獻(xiàn)主題挖掘包括基于LDA模型的主題分析和基于K-means算法的文本主題聚類。采用Python中的Jieba工具進(jìn)行中文分詞和數(shù)據(jù)清洗,通過(guò)TFIDF計(jì)算特征詞權(quán)重,該技術(shù)計(jì)算特征詞的重要程度是依據(jù)特征詞在文本中出現(xiàn)的次數(shù)和在整個(gè)數(shù)據(jù)集中出現(xiàn)的文檔頻率實(shí)現(xiàn)的,它能盡可能多地保留影響程度更高的特征詞,并過(guò)濾掉一些常見(jiàn)卻無(wú)關(guān)緊要的詞語(yǔ)。利用LDA主題模型分析不同主題的Top-N個(gè)關(guān)鍵詞及“文檔-主題”分布,利用K-means算法進(jìn)行文本聚類,旨在根據(jù)文檔內(nèi)容的相似性,將無(wú)標(biāo)簽的文檔自動(dòng)歸類,盡可能地使得同類文檔的內(nèi)容相似性較大,不同類文檔的內(nèi)容相似性較??;最后對(duì)輸出的“文檔-主題-關(guān)鍵詞”、文本聚類類標(biāo)、情感分?jǐn)?shù)進(jìn)行實(shí)驗(yàn)結(jié)果評(píng)估。
(1)數(shù)據(jù)抓取與預(yù)處理
本文采集了中國(guó)知網(wǎng)990篇水族文獻(xiàn),其中學(xué)術(shù)期刊論文662篇,會(huì)議論文106篇,博士論文7篇,碩士論文91篇,中國(guó)專利5篇,科技成果3個(gè),報(bào)紙116篇,所抓取的字段包括文獻(xiàn)標(biāo)題、摘要、關(guān)鍵詞、發(fā)布時(shí)間、文獻(xiàn)類型等。
緊接著進(jìn)行中文分詞和數(shù)據(jù)清洗,將不常用的詞語(yǔ)和特色符號(hào)進(jìn)行過(guò)濾,并導(dǎo)入關(guān)鍵詞字典構(gòu)建關(guān)鍵詞信息,主要利用Jieba分詞工具進(jìn)行數(shù)據(jù)預(yù)處理。數(shù)據(jù)清洗為后面的LDA主題模型分析、K-means文本聚類分析提供良好的數(shù)據(jù)基礎(chǔ)。
(2)評(píng)價(jià)指標(biāo)
本實(shí)驗(yàn)采用信息檢索和機(jī)器學(xué)習(xí)領(lǐng)域常用的性能評(píng)估指標(biāo)對(duì)所得的文本數(shù)據(jù)進(jìn)行評(píng)估,即準(zhǔn)確率(Pre?cision)、召回率(Recall)和 F 值(F-measure)。準(zhǔn)確率 P(i,j)定義如公式(1)所示,召回率 R(i,j)定義如公式(2)所示。
其中,ni表示類別為i的文本數(shù)目,nj表示聚類j的文本數(shù)目,nij表示聚類j中屬于i的數(shù)目。
F值是準(zhǔn)確率和召回率的調(diào)和平均值,它平衡了準(zhǔn)確率和召回率在特定環(huán)境下的制約問(wèn)題,可用來(lái)評(píng)估整個(gè)實(shí)驗(yàn)的最終結(jié)果。F值指的計(jì)算公式如公式(3)所示。
(3)主題挖掘?qū)嶒?yàn)
在基于LDA模型的主題挖掘?qū)嶒?yàn)中,設(shè)置的主題數(shù)(n_topic)為 5,迭代次數(shù)(iterations)為 500,調(diào)用 Py?thon環(huán)境下的LDA主題模型進(jìn)行模擬訓(xùn)練,每個(gè)主題內(nèi)的主題詞根據(jù)其概率大小排序,核心主題詞如表1所示。由下表可以看出,每個(gè)主題之間的區(qū)分非常明顯。主題0中的特征詞主要是“水族文化及民俗遺產(chǎn)”方面,包括“水族文化”、“馬尾繡”、“文化遺產(chǎn)”、“農(nóng)耕文化”、“三都”等核心詞匯;主題1中的特征詞主要是“水族音樂(lè)舞蹈”方面,包括“民歌”、“銅鼓音樂(lè)”、“古歌”、“酒歌”、“祭祀”等核心詞匯;主題2中的特征詞主要是“水族醫(yī)學(xué)”方面,包括“水族醫(yī)藥”、“遺傳”、“中醫(yī)體質(zhì)”、“群體遺傳學(xué)”、“ABO”等核心詞匯;主題3中的特征詞主要是“水書(shū)及水族語(yǔ)言”方面,包括“水書(shū)”、“水字”、“水族語(yǔ)言”、“祝詞”、“水書(shū)學(xué)”等核心詞匯;主題4中的特征詞主要是“水族體育”方面,包括“傳統(tǒng)體育”、“賽馬”、“吞口舞”、“水族武術(shù)”、“村落集體活動(dòng)”等核心詞匯。
表1 LDA模型主題-詞識(shí)別結(jié)果
圖4展示了中國(guó)知網(wǎng)1953年至2018年水族文獻(xiàn)五大主題的詞云分布情況,該圖清晰地展示了不同主題的熱點(diǎn)關(guān)鍵詞。
圖4 中國(guó)知網(wǎng)水族文獻(xiàn)五大主題的詞云分布圖
文本聚類旨在根據(jù)文檔內(nèi)容的相似性,將無(wú)標(biāo)簽的文檔集進(jìn)行自動(dòng)歸類,水族文獻(xiàn)LDA模型文本聚類的實(shí)驗(yàn)結(jié)果如表2所示。
表2 基于LDA模型的文本聚類實(shí)驗(yàn)結(jié)果
從表2可見(jiàn),“水族文化及民俗遺產(chǎn)”主題實(shí)驗(yàn)結(jié)果最好,準(zhǔn)確率為 0.935,召回率為 0.941,F(xiàn)值為0.938;“水族醫(yī)學(xué)”主題實(shí)驗(yàn)效果不太理想,準(zhǔn)確率為0.830,召回率為0.800,F(xiàn)值為0.815。由于部分水族文獻(xiàn)融合了多個(gè)主題,呈跨主題分布,所以會(huì)常出現(xiàn)主題識(shí)別不精準(zhǔn)的情況。各主題文本聚類的實(shí)驗(yàn)結(jié)果對(duì)比圖如圖5所示。
圖5 各主題文本聚類實(shí)驗(yàn)結(jié)果對(duì)比
水族文獻(xiàn)的K-means文本聚類效果如圖6所示,共將文本聚集成五類主題。其中方塊表示“水族文化及民俗遺產(chǎn)”主題,圓形表示“水書(shū)及水族語(yǔ)言”主題,六邊形表示“水族醫(yī)學(xué)”主題,五角星形表示“水族體育”主題,菱形表示“水族音樂(lè)舞蹈”主題。從圖中可以看到五個(gè)類簇有效地分隔開(kāi)來(lái),相似主題的文獻(xiàn)聚集在一起,文本聚類效果良好。
圖6 K-means文本聚類效果圖
本文的研究成果主要應(yīng)用于民族文獻(xiàn)的文本挖掘分析,以水族文獻(xiàn)為例進(jìn)行主題分布和文本聚類的研究。實(shí)驗(yàn)結(jié)果表明,本文提出的算法有效地挖掘出水族文獻(xiàn)的主題關(guān)鍵詞及研究領(lǐng)域,提取了五大主題的核心主題詞,使得文本的主題脈絡(luò)更加清晰,同時(shí)計(jì)算出各水族文獻(xiàn)的聚類類標(biāo),當(dāng)給出一篇新的水族文獻(xiàn)時(shí),我們能及時(shí)實(shí)現(xiàn)主題分類和關(guān)鍵詞詞挖掘。當(dāng)然,本研究也存在不足,一方面沒(méi)有深層次理解文本語(yǔ)義信息,另一方面沒(méi)有進(jìn)行情感分類打分等,后續(xù)將繼續(xù)深入研究。
總之,本文的研究成果具有重要的理論研究意義和實(shí)際應(yīng)用價(jià)值,該模型可以廣泛應(yīng)用于民族文獻(xiàn)研究、主題分析和文本挖掘等領(lǐng)域,更好地幫助科研工作者、高校師生和民族研究者進(jìn)行相關(guān)研究,實(shí)現(xiàn)文本知識(shí)主題挖掘,為下一步水族引文分析和數(shù)字化保護(hù)民族文獻(xiàn)提供幫助。