雷聲,黎建輝,張麗麗
1.中國科學院計算機網(wǎng)絡(luò)信息中心,北京 100190 2.中國科學院大學,北京 100049
聯(lián)合國可持續(xù)發(fā)展目標(Sustainable Development Goals,SDGs)是聯(lián)合國在2015年9月制定的17 個全球發(fā)展目標,旨在從2015年—2030年間以綜合方式徹底解決社會、經(jīng)濟和環(huán)境三個維度的發(fā)展問題,從而轉(zhuǎn)向可持續(xù)發(fā)展道路[1]。SDGs 數(shù)據(jù)對可持續(xù)發(fā)展工作具有極為重要的指導意義,它對可持續(xù)發(fā)展給出了細致而全面的數(shù)據(jù)指標,涉及范圍極廣,值得研究的相關(guān)數(shù)據(jù)也極多。數(shù)據(jù)與計算技術(shù)飛速發(fā)展,在科學研究中能夠起到輔助與支撐的作用,甚至能夠驅(qū)動和引領(lǐng)科學研究活動[2]。截至目前,對SDGs 數(shù)據(jù)及工作進行研究討論的中英文文獻數(shù)量已經(jīng)達到了數(shù)十萬篇。SDGs 所涉及的龐大數(shù)據(jù)量在為相關(guān)科研工作提供信息的同時也提高了科研人員的使用難度,要想在如此海量的數(shù)據(jù)中獲得與研究目標相關(guān)的數(shù)據(jù),就必須將數(shù)據(jù)進行合理的分類。機器學習時代的來臨實現(xiàn)了很多技術(shù)上的應(yīng)用[3]。聯(lián)合國為SDGs 中的每項指標都提供了詳細的描述文檔,基于機器學習利用這些描述文檔為數(shù)據(jù)進行分類可以更好地為從事SDGs 相關(guān)研究的科研人員提供便利。
現(xiàn)有的文本分類算法大多屬于有監(jiān)督模型,它需要大量人工標注的文檔作為訓練集,而聯(lián)合國官方能夠提供的標記數(shù)據(jù)極少,利用有監(jiān)督甚至半監(jiān)督模型都難以得到令人滿意的效果。且聯(lián)合國為每個SDGs 指標都制定了詳細的描述文檔,人工地根據(jù)這些文檔對數(shù)據(jù)進行標記會是一個復雜而耗時的工程。因此,使用無監(jiān)督算法來進行實際分類是更為合適的選擇。本文基于數(shù)據(jù)描述無監(jiān)督地對科學數(shù)據(jù)進行了SDGs 相關(guān)性分類,主要分為以下兩個階段:
(1)類別描述信息篩選。本文綜合textrank 和相對詞頻統(tǒng)計(Relative Frequency,RF)的方法,無監(jiān)督地從聯(lián)合國所提供指標描述文檔中提取指標關(guān)鍵詞集,以此作為類別描述信息。
(2)數(shù)據(jù)分類。本文將類別信息和數(shù)據(jù)描述信息投影到同一語義空間中,基于相似度匹配的自學習算法無監(jiān)督地對數(shù)據(jù)進行了分類。
在聯(lián)合國官方所提供的官方數(shù)據(jù)集上的測試表明,我們對SDGs 科學數(shù)據(jù)的分類是有效的;且相對于目前主流的基于主題模型的無監(jiān)督文本分類算法而言,我們所提模型能夠取得更好的效果。
無監(jiān)督的文本關(guān)鍵詞提取方法種類繁多,但按其原理大致可以分為以下三類:基于統(tǒng)計的方法、基于圖結(jié)構(gòu)的方法以及基于語義的方法。
(1)基于統(tǒng)計的方法通常綜合統(tǒng)計TFIDF[4]、詞共現(xiàn)[5]、詞頻[6]、詞性[7]等一系列指標信息,再根據(jù)這些指標進行排序。例如羅燕等人[6]通過齊普夫定律推導出文本中同頻詞數(shù)的計算公式,并綜合詞頻統(tǒng)計和TFIDF 進行了關(guān)鍵詞提?。籅arker 等人[7]通過詞頻及詞長等特征選擇性提取名詞短語作為文本關(guān)鍵詞;Song 等人[4]綜合單詞詞性的語法信息和TFIDF 信息提出了一種新聞關(guān)鍵詞提取方法。這種方法簡單易用,但需要大量文本進行對比統(tǒng)計,在文本數(shù)量較少的情況下效果不佳。
(2)基于圖結(jié)構(gòu)的方法將詞語視作圖中的節(jié)點,按照特定的規(guī)則為節(jié)點之間進行關(guān)聯(lián),據(jù)此迭代計算詞語的重要性。典型地,Mihalcea 等人[8]提出的textrank 模型基于google 所提Pagerank 的鏈接分析理論,通過迭代計算節(jié)點邊緣權(quán)重來計算詞語重要性;Bellaachia 等人[9]提出的NERank 模型在節(jié)點邊緣權(quán)重的基礎(chǔ)上,也考慮了單詞權(quán)重;Saroj 等人[10]綜合考慮詞語節(jié)點的中心程度、位置、詞頻、及鄰居頻數(shù)來考慮節(jié)點的重要性,從而提取關(guān)鍵詞。這種方法比較靈活,既可以僅利用文檔本身的信息來完成關(guān)鍵詞抽取,也可以很容易地融合外界權(quán)重、相似度等信息來綜合構(gòu)建詞圖網(wǎng)絡(luò)。
(3)基于語義的方法通常使用PLSA[11]、LDA[12]等主題模型或者word2vec[13]等語言模型對文本和詞匯進行語義建模,進而抽取關(guān)鍵詞。例如石晶等人[14]基于LDA 得到文本和詞匯的主題分布,通過比對詞與文檔的主題分布情況來獲取關(guān)鍵詞;劉嘯劍等人[15]利用文檔和詞語的主題信息并結(jié)合詞語的統(tǒng)計特征來為候選詞打分。這種方法能夠獲取語義相似性的關(guān)系,因此常常能夠獲得不錯的效果。
本文綜合了相對詞頻和textrank 的方法從聯(lián)合國提供的SDGs 描述文檔中抽取關(guān)鍵詞,以得到SDGs 類別描述詞集。
現(xiàn)有的無監(jiān)督文本分類研究按照其思想可被大致分為以下兩類:基于相似度匹配的方法和基于主題模型的方法。
(1)基于相似度匹配的方法通常通過計算、對比類別描述和文本之間的相似度來實現(xiàn)分類,它并不關(guān)注樣本本身,而是將文本和類別投影到同一語義空間中并直接對二者進行比較,廣泛適用于各種數(shù)據(jù)集。例如Druck 等人[16]首先預定義一批類別關(guān)鍵詞,利用最大熵算法,最大化文檔的預期類別分布與類別中相應(yīng)關(guān)鍵詞的類別分布之間的相似度來優(yōu)化分類器參數(shù);Chang 等人[17]通過基于英文維基百科的顯示語義分析(Explicit Semantic Analysis,ESA)來計算文檔與類別描述之間的相似度,但這種方法需要準確地用詞條描述來替換對應(yīng)詞條,難以推廣到概念描述不夠多的其他領(lǐng)域及數(shù)據(jù)集中;Song 等人[18]同樣利用ESA 來評估文檔-類別相似度,并通過對類別進行分層來解決類別重合,獲得了良好的效果。
(2)基于主題模型的方法通常先學習文檔集得到聯(lián)合概率分布,再通過聯(lián)合概率分布得到條件概率分布實現(xiàn)分類,它基于數(shù)據(jù)集中的共現(xiàn)分布進行推理,能夠很好地分析文本本身的特點且不依賴于外界知識庫,是目前主流的無監(jiān)督文本分類方法。但由于主題模型的分布推理通常基于共現(xiàn)統(tǒng)計,當面對小規(guī)模數(shù)據(jù)集或短文本數(shù)據(jù)集時,詞共現(xiàn)矩陣往往過于稀疏,因此在這些數(shù)據(jù)集上的應(yīng)用效果并不理想。Xia 等人[19]首先利用類別描述種子詞產(chǎn)生少量文本,通過LDA 推理得到類別的狄利克雷先驗(主題-詞矩陣),再通過詞分布推斷具體文本的類別分布; Li 等人[20]直接利用類別描述種子詞集和主題模型進行主題推斷,從而完成對文本種類標簽的預測;Yang 等人[21]為了解決短文本數(shù)據(jù)集共現(xiàn)矩陣稀疏的問題,將文本中的詞排列組合成二元詞組來構(gòu)建共現(xiàn)矩陣,但這種重復統(tǒng)計所帶來的提升非常有限,效果依然不夠理想。
由于基于主題模型的方法在短文本上應(yīng)用效果不佳,而SDGs 數(shù)據(jù)描述文本的長度通常在10~100詞之間,屬于短文本。因此,本文主要采用了基于相似度匹配的方法,一方面,本文利用詞向量構(gòu)建通用語義空間,直接通過文本-類別間的距離度量來對文本進行分類,以適應(yīng)不同類型的文本數(shù)據(jù);另一方面,也利用同類文本中詞匯的相似分布,通過自訓練算法對分類器進行迭代更新。
本文對SDGs 科學數(shù)據(jù)進行分類的流程框架如圖1所示,主要包括數(shù)據(jù)提取和文本分類兩個部分。
圖1 基于無監(jiān)督的SDGs 數(shù)據(jù)分類Fig.1 Unsupervised SDGs data classification
(1)數(shù)據(jù)提取。根據(jù)聯(lián)合國提供的指標類別描述文檔,利用綜合textrank 和相對詞頻統(tǒng)計的關(guān)鍵詞抽取算法提取出SDGs 類別關(guān)鍵詞作為類別描述,提取待分類的科學數(shù)據(jù)中的標題及描述信息得到數(shù)據(jù)描述文本。
(2)文本分類。通過一個基于無監(jiān)督的文本分類算法根據(jù)(1)中提取出的數(shù)據(jù)描述文本對科學數(shù)據(jù)進行歸類。
由于本文提取類別關(guān)鍵詞來表征類別信息,這些關(guān)鍵詞應(yīng)當具有兩個特點:(1)能夠概括類別;(2)能夠與其他類別進行區(qū)分。前者需要利用常規(guī)的關(guān)鍵詞抽取算法如TFIDF、textrank 等對官方所給描述文檔進行精煉提取,后者需要關(guān)鍵詞為類別專屬詞或具有足夠的類別區(qū)分度。在本文中,我們首先采用textrank 初篩出類別關(guān)鍵詞,再根據(jù)詞頻計算詞語的相對詞頻,再次篩選得到具有區(qū)分度的詞語集合作為最終的類別描述。
首先,我們根據(jù)文本內(nèi)部之間的共現(xiàn)關(guān)系構(gòu)建詞圖,首先利用textrank 公式迭代計算各個詞語節(jié)點的重要度得分,初步篩選出較多的類別描述詞;然后,我們通過公式(1)來統(tǒng)計獲取類別i中候選詞w的相對詞頻RF(w,i),為每個類進行再次篩選,得到少量具有類別區(qū)分度的最終類別關(guān)鍵詞。
其中│Di│代表類別i中包含的文檔數(shù)量,nw,i則為詞語w在類別i中出現(xiàn)的次數(shù),TF(w,i)代表詞w在類別i中出現(xiàn)的頻率。SDGs 中每個類別中包含的文檔數(shù)量可能有較大差別,因此在計算類間相對性時需要排除這個因素影響。
本文所設(shè)計的基于詞向量的無監(jiān)督文本分類模型(Seedword and Embedding based Text Classification,SeedETC)以類別描述詞集和待分類數(shù)據(jù)描述文本集及對應(yīng)的初始化權(quán)重為輸入,利用詞向量將這些文本投影到同一語義空間,通過類EM 算法的自訓練迭代算法[21]更新分類器模型的相關(guān)參數(shù),并輸出文本對應(yīng)的類別標簽,主要包括以下四個步驟:
(1)詞向量編碼:利用已有詞向量模型對類別描述詞集及待分類文本進行編碼,得到詞向量集;
(2)文本分類:根據(jù)詞向量及文本權(quán)重對待分類文檔進行分類;
(3)模型更新:對分類結(jié)果進行評估,更新部分樣本的類別標記,更新類別描述詞、類別詞權(quán)重及文本權(quán)重。
(4)重復(1)、(2)、(3)步直到模型收斂。
2.2.1 詞向量編碼
詞向量使得詞之間存在“距離”概念,從而能夠表征詞之間的相似關(guān)系。使用詞向量進行詞的向量化表示時,能夠充分考慮到文本的局部和整體信息[22]。本層將文檔以及類別描述中的所有詞表征為向量的形式。目前,主流詞向量的表示方法有三種:一是基于詞頻統(tǒng)計的方式,比如使用全局矩陣分解的LSA[24]等,這種方式需要大量數(shù)據(jù)提供足夠的共現(xiàn)統(tǒng)計信息,不適用于本文任務(wù);第二種是基于局部上下文窗口的方式,如word2vec[25]、glove[26]等,能夠用于多種場景,計算代價低,效果也很好,是目前主流的詞向量表示方式;第三種則是基于預訓練任務(wù)得到附屬詞向量產(chǎn)物的方式,如bert[27]等,這類模型相較于第二種效果更好,但其模型復雜,計算代價高,單純作為詞向量使用不夠靈活。因此,本文采用了拼接大規(guī)模語料和新領(lǐng)域語料的glove 詞向量來完成單詞的向量化編碼。
由于glove 是基于全局共現(xiàn)統(tǒng)計的算法,難以實現(xiàn)增量訓練,而為了擬合數(shù)據(jù)集的分布,本文最終在經(jīng)過大規(guī)模語料D0預訓練得到的glove 模型基礎(chǔ)上,額外使用待分類數(shù)據(jù)SDGs 元數(shù)據(jù)描述語料D1訓練得到新數(shù)據(jù)分布的詞向量,將這兩種向量歸一化后進行加權(quán)拼接,得到最終的詞向量,如公式(2)所示:
2.2.2 文本分類
在文本分類層,我們依據(jù)文檔詞與類別描述詞間的距離對文本進行分類。與常見的先對詞向量進行拼接或加權(quán)平均構(gòu)造文本向量,通過計算待分類文本與類別描述文本的向量間距來衡量文本與類別相似度的方法不同,本文使用詞作為一個獨立的單位,并不根據(jù)文檔對詞進行整合。在分類時,本層通過詞-詞、詞-類別、文本-類別3 個階段來計算文本與類別間的相似度,如算法1所示。
算法1:文本分類器輸入:待分類數(shù)據(jù)描述文本d的詞向量集,Ew,d;類別描述文本Li的詞向量集,Ew,Li;閾值窗口大小Cd;文本權(quán)重向量 Wd,l ;輸出:數(shù)據(jù)分類結(jié)果,prediction(d);文本d與各個類別的Li的相似度 ,sim(d,Li)Initialize:Wd,l=[1 for Li in Labels]For Li in labels do For wd in document d do For wLi in label Li descriptions do
其中,由于一篇文本中具有很多通用詞,在各個類別中分布都較為均勻,我們通過窗口Cd篩除掉這些對分類無意義的詞,只保留與分類有關(guān)詞的信息。
2.2.3 模型更新
本層的作用主要有以下兩個方面:一方面是更新文本標記,利用改進的輪廓系數(shù)指標來評估分類結(jié)果,為被認為正確分類的文本更新類別標記;另一方面對分類器參數(shù)進行更新,利用分類結(jié)果、文本與類別及數(shù)據(jù)集中其他文本的相似度,更新分類器中的類別描述詞及其權(quán)重、文本權(quán)重等參數(shù)。
(1)文本標簽更新
本文通過改進原用于評估聚類效果的輪廓系數(shù)(silhouettes)算法[28]來評估每個節(jié)點與類別的相對相關(guān)性。假定在分類層我們認為文檔d屬于類別Li(d與類別Li的相似度最高),那么輪廓系數(shù)公式如式(3)所示。
很容易發(fā)現(xiàn)silhouettes 公式的分母是為了除去相似度大小因素的影響而只關(guān)注距離的相對比例。但在實驗中我們發(fā)現(xiàn),相似度本身數(shù)值大小也非常重要,因此我們?nèi)サ袅耸?3)中的分母,據(jù)此得到改進的分類評估公式:
在每輪迭代時,根據(jù)剩余待分類樣本數(shù)設(shè)定一個評估閾值,對所有分類評估分數(shù)高于閾值的樣本更新其類別標簽,剩余樣本則投入下一輪訓練。
(2)分類器參數(shù)更新
對于分類器,主要需要更新以下3 種參數(shù):類別描述詞、類別描述詞權(quán)重和文本權(quán)重。
由于我們需要的類別描述詞需要滿足對類別的高區(qū)分度條件,因此本文通過相對詞頻統(tǒng)計來更新每個類別的描述詞。首先,從已更新標簽的文本集中選出類別c 中的高頻詞作為該類別候選詞,并計算這些詞在當前類與其他類別中的相對詞頻比例:
我們認為高頻詞可以有效表征類別,而相對詞頻比越高,說明這個詞的類別區(qū)分度越高,最終篩選出相對詞頻比排名更高且滿足最低閾值的少量詞作為本輪分類器中更新的類別描述詞。
由于我們利用了相對詞頻比來獲取具有高區(qū)分度的關(guān)鍵詞,單純利用已更新標簽的文本來更新其權(quán)重,將會導致權(quán)重偏高。為了獲取更真實的詞分布信息,我們借鑒了姜震等人[29]利用不精確的偽標簽(Pseudo label)擴充訓練集的思想,利用了全體樣本來更新類別描述詞的權(quán)重。將所有樣本在當前輪次中的預測結(jié)果作為偽標簽,通過詞頻統(tǒng)計來更新詞權(quán)重。綜合以上考慮,最終確定類別描述詞權(quán)重W(w,c)更新公式如式(6)所示:
在本文中,文本與文本間的相似度完全由單詞計算得到,沒有利用到任何詞序信息,無法識別到長詞組。因此,本文對待分類文本進行了二元詞組統(tǒng)計,并基于統(tǒng)計結(jié)果計算待分類文本間的相似度,通過相似度閾值篩選得到文檔d的近鄰文本集neighbord,并依據(jù)屬于類別Li的已標記近鄰樣本提高該文檔對于類別Li的權(quán)重:
本文在聯(lián)合國官方所提供的SDGs 指標元數(shù)據(jù)集[30]上進行了類別描述關(guān)鍵詞集的構(gòu)建,并以聯(lián)合國官方SDGs 數(shù)據(jù)庫[31]為實驗數(shù)據(jù)集,驗證了本文所提框架的有效性。
在數(shù)據(jù)集處理方面,對于聯(lián)合國所提供的257個SDGs 元數(shù)據(jù),我們僅僅保留每個文檔中的goal、target、indicator,computation method 和definition,concepts 字段,其他諸如Disaggregation、Collection process 等字段被過濾掉。對2 個數(shù)據(jù)集我們均采用了傳統(tǒng)的文本預處理流程來對這些數(shù)據(jù)集進行簡單預處理,利用nltk[32]來對文本進行分詞、去掉停用詞、詞形還原并剔除詞向量模型中不包含的詞匯得到我們所使用的數(shù)據(jù)集,其基本信息如表1所示。由于SDGs 數(shù)據(jù)庫所包含的詞數(shù)較少,不作詞頻的限制,對于SDGs 指標元數(shù)據(jù)集,我們額外篩除了詞頻低于5 的詞,以減少噪音的產(chǎn)生。在實驗類別選擇方面,聯(lián)合國官方將SDGs 指標統(tǒng)分為17 個可持續(xù)發(fā)展目標,并在這17 個一級目標(goal)下逐級細分,得到169 個二級目標(target)乃至257 個三級指標(indicator)。本文按照17 個一級目標劃分類別,并在此基礎(chǔ)上進行分類實驗。
表1 SDGs 數(shù)據(jù)集信息Table 1 Information of SDGs datasets
(1)關(guān)鍵詞提?。涸趖extrank 算法中,我們設(shè)置其阻尼系數(shù)為0.85,窗口大小為5,邊和節(jié)點的權(quán)重都初始化為1。在抽取過程中,首先通過textrank獲取評分靠前的200 個候選詞,再篩出相對詞頻系數(shù)大于2 的少量關(guān)鍵詞作為當前類別的描述詞集。
(2)文本分類層:由于數(shù)據(jù)描述通常較短(SDGs數(shù)據(jù)庫中的數(shù)據(jù)描述平均長度僅為11 個單詞),本文將窗口Cn 固定為5。
(3)模型更新層:標簽更新的閾值由每輪的更新樣本數(shù)量決定,按照實驗數(shù)據(jù)集的具體規(guī)模,本文在實驗中每輪更新200 個數(shù)據(jù)的標簽;而對于類別描述詞的更新閾值,本文實驗設(shè)置每輪每類關(guān)鍵詞更新數(shù)量不超過2 個,且其詞頻比需滿足最低閾值0.8;對于類別描述權(quán)重,實驗將公式(7)中的值設(shè)為0.5,值設(shè)為0.05,k 值設(shè)為1/17;對于近鄰樣本,規(guī)定相似度大于0.2 的樣本為近鄰樣本。
1)喘證急性加重期;2)排除間質(zhì)性肺病,肺癌等其他需要治療的慢性肺部疾??;合并嚴重的呼吸、循環(huán)、泌尿、血液、神經(jīng)和內(nèi)分泌系統(tǒng)等疾病、精神患者、惡性腫瘤、傳染病患者;妊娠期或哺乳期婦女;近半年內(nèi)已接受過中藥貼敷治療、刮痧、穴位拔罐的患者;3)貼敷穴位、刮痧部位有皮損或瘢痕體質(zhì)者,及對藥物或敷料特別敏感的患者;4)研究者認為不適合參加本研究者。
3.3.1 對比實驗
(1)類別關(guān)鍵詞提取實驗
為了驗證我們所使用的關(guān)鍵詞提取算法的有效性,我們將以下兩種常規(guī)的文檔關(guān)鍵詞提取算法在SDGs 元數(shù)據(jù)集的提取結(jié)果也應(yīng)用于數(shù)據(jù)分類中,并根據(jù)最終的分類結(jié)果進行對比。
①TFIDF[4]:首先將同類別的文檔拼接成一整篇類別描述文檔,再利用TFIDF 公式從類別描述文檔集中抽取得到類別關(guān)鍵詞集。
②textrank[8]:與TFIDF 實驗類似,首先將同類別文檔進行拼接,再對不同類別的描述文檔分別構(gòu)建圖網(wǎng)絡(luò),通過textrank 算法提取文檔關(guān)鍵詞,篩除類別重復詞,得到最終的關(guān)鍵詞集。
(2)數(shù)據(jù)分類實驗
為了驗證所提方法在無監(jiān)督文本分類任務(wù)上的有效性,我們選取了以下基準模型,在textrank+RF方法提取得到的關(guān)鍵詞基礎(chǔ)上進行了對比實驗。
②STM[20]:使用人工設(shè)定的少量類別描述種子詞,利用主題模型對文本進行分類,該方法在長文本上獲得了很好的效果。
③SeedBTM[21]:使用詞向量擴展得到更大的類別描述詞集合,對文本中的單詞進行排列組合得到二元詞組,在這些詞組基礎(chǔ)上構(gòu)建二元主題模型,在短文本上獲得了比STM 更好的效果。
(3)詞向量模型對比實驗
為了探討不同詞向量模型對實驗結(jié)果的影響,我們在常用的glove、Bert 預訓練模型所產(chǎn)生的詞向量上進行了對比實驗。
①glove[26]:由于glove 詞向量利用到了統(tǒng)計信息,難以進行增量訓練。我們采用了stanford 開源提供的100 維詞向量[33]作為外界語料詞向量,同時在SDGs 元數(shù)據(jù)集綜合SDGs 待分類數(shù)據(jù)集上進行g(shù)love 訓練得到的詞向量作為語料向量,并以1:2進行加權(quán)組合。
②Bert[27]:本文以google 開源提供的預訓練語言模型[34]作為基礎(chǔ),在SDGs 元數(shù)據(jù)集和待分類數(shù)據(jù)集上進行增量訓練,以最后一層的輸出作為最終使用的詞向量。
3.3.2 實驗結(jié)果及分析
本文所采用的綜合textrank 和相對詞頻方法的關(guān)鍵詞提取結(jié)果如表2所示。
表2 SDGs 中g(shù)oal 層面的類別關(guān)鍵詞提取結(jié)果Table 2 Category keyword extraction results at the goal level in SDGs
類別關(guān)鍵詞集14fish,marine,fishery,ocean,sustainable,ph 15specie,wildlife,forest,biodiversity 16right,develop,victim,traffic,chamber 17development,least,worldwide,broadband,statistical,partnership
在將類別描述詞集應(yīng)用于分類算法時,我們發(fā)現(xiàn),一方面類別描述并非越詳細越好,而應(yīng)該在能夠描述類別的基礎(chǔ)上盡量保證類別之間的差距足夠大,以得到一個盡量準確的初始分類界面。當類別關(guān)鍵詞集過大時,詞集中往往擁有很多噪聲信息,初始分類界面不夠準確,導致分類效果不佳;當類別關(guān)鍵詞集過小時,類別描述不夠充分,部分文檔無法分類,分類效果也不理想。
如圖2所示,在分類器第一輪迭代上的對比實驗表明,當相對詞頻篩選閾值不超過某個值時(閾值過高會使得描述詞集過小,只有2-3 個詞),相對詞頻分數(shù)越低,分類的準確度也會隨之降低。因此,我們最終所選相對詞頻分數(shù)的閾值大小為2,以保證最終每個類別的描述詞集大小在5 左右。
圖2 在不同相對詞頻閾值下的分類準確度Fig.2 Classification accuracy of different relative word frequency thresholds
表3 展示了不同方法在SDGs 數(shù)據(jù)庫上實驗得到的結(jié)果??梢钥闯?,與當前主流的基于主題模型的分類方法相比,我們的分類方法取得了更好的效果;而與基礎(chǔ)的TFIDF 等關(guān)鍵詞提取算法相比,我們所使用的關(guān)鍵詞提取方法得到的詞匯更適用于本文模型。
表3 文本分類實驗結(jié)果比較Table 3 Comparison of text classification experiment results
更具體地,我們通過F1-micro 來對比評估SeedETC 的分類性能。由圖3 可以看出,我們所提SeedETC 方法對比SeedBTM 在F1-micro 指標上提高了33%,而在不擅長短文本分類的STM 及DescLDA 上分別提升了39%和 52%。這主要是由于主題模型往往需要足夠大的數(shù)據(jù)集以支撐其基于詞共現(xiàn)統(tǒng)計的主題分布建模,而SDGs 數(shù)據(jù)集數(shù)據(jù)量較少,難以提供足夠的信息,導致共現(xiàn)矩陣過于稀疏,而我們的方法利用了外界訓練得到的詞向量,除了數(shù)據(jù)集內(nèi)部分布外也能捕捉外界信息,因此能夠獲得更好的效果。此外,由實驗結(jié)果可以發(fā)現(xiàn),glove詞向量比經(jīng)過大規(guī)模預訓練的bert 模型所得詞向量效果也要更好,初步推測這是由于數(shù)據(jù)集過小,bert詞向量受到外界噪聲信息影響較大,難以很好的表征SDGs 相關(guān)語料的分布造成的。Glove 詞向量直接對外界和SDGs 語料訓練得到的詞向量進行加權(quán)拼接,更能夠表征SDGs 數(shù)據(jù)集內(nèi)部的詞匯分布。
圖3 不同方法實驗得到的F1-micro 分數(shù)Fig.3 F1-micro scores obtained from experiments with different methods
而在關(guān)鍵詞提取算法中,相較于常規(guī)TFIDF 及textrank 關(guān)鍵詞提取方法得到的類別描述詞集而言,我們利用textrank+RF得到的關(guān)鍵詞也具有明顯優(yōu)勢。
由表3 可以看出,textrank+RF 方法所得關(guān)鍵詞在與TFIDF 的對比實驗中,其F1-micro 指標上提升了7%,而在與textrank 的對比實驗中提升了25%。這主要是由于TFIDF 方法通過逆文檔頻率IDF,與其他類別文檔進行了一定的區(qū)分;textrank 方法只考慮了文檔內(nèi)部的高頻詞,缺少與其他類別之間關(guān)鍵詞的區(qū)分;我們的方法主要關(guān)注的就是詞語在不同類別間的相對詞頻,能夠得到具有極高類別區(qū)分度的單詞作為類別描述詞。這也在一定程度上印證了我們在前文中提出的類別描述不一定要足夠詳細但一定要有足夠的類別區(qū)分度的觀點。
本文以聯(lián)合國官網(wǎng)所提供的聯(lián)合國可持續(xù)發(fā)展目標(SDGs)指標數(shù)據(jù)集為例,設(shè)計了一種基于詞向量的無監(jiān)督文本分類方法(SeedETC)進行數(shù)據(jù)分類。其中,無監(jiān)督文本分類方法往往需要一些關(guān)鍵詞來提供類別信息,本文又提出了基于textrank 和相對詞頻的關(guān)鍵詞提取方法,從SDGs 元數(shù)據(jù)描述文檔中提取得到了類別描述關(guān)鍵詞集用于文本分類模型。實驗結(jié)果表明,我們的方法取得了較好的分類效果,取得了0.813 的micro-F1 score,且與其他無監(jiān)督文本分類方法對比,本文所提SeedETC 算法具有更好的性能。由于本文所使用算法高度依賴于詞向量,當詞向量不能夠準確表征數(shù)據(jù)分布時分類效果將會大幅下降,下一步工作中將會繼續(xù)探討更穩(wěn)定的詞向量改進方式,并探索將本文所使用方法應(yīng)用于其他領(lǐng)域。
利益沖突聲明
所有作者聲明不存在利益沖突關(guān)系。