張 子 寒
(復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 上海 200433)
隨著互聯(lián)網(wǎng)的飛速發(fā)展,信息量出現(xiàn)了指數(shù)級增長的勢頭。如果不對信息進(jìn)行及時的分類存儲,將造成大量的無效信息,只能以噪聲的形式存在于數(shù)據(jù)庫中。因此,如何整合與處理大量信息成為亟待解決的問題,而通過使用機器學(xué)習(xí)方法進(jìn)行文本多標(biāo)簽分類來減少人力的投入,則成為當(dāng)前NLP研究中的一大熱點。
文本多標(biāo)簽分類就是對一段文本信息進(jìn)行自動分類的過程。與單分類問題相比,各個文本有可能被劃分為多個類別而非單個類別,因此多標(biāo)簽分類問題更為符合當(dāng)前實際問題中數(shù)據(jù)分類以及索引的需求。在生物醫(yī)學(xué)領(lǐng)域中,科研人員以不同語言發(fā)表了大量的論文,取得了豐碩的成果。如何對于文獻(xiàn)進(jìn)行整理和數(shù)據(jù)分類,使研究成果充分為后人所用是目前該領(lǐng)域面臨的緊迫問題。通過進(jìn)行多標(biāo)簽分類對文檔進(jìn)行檢索,對于生物文本挖掘和信息檢索有著重要的應(yīng)用[1-3]。然而,完整的人工索引是昂貴的和勞力密集型的——為了準(zhǔn)確有效地索引期刊文章,標(biāo)注人員必須仔細(xì)閱讀論文確定文章的主題內(nèi)容,才能給出準(zhǔn)確的標(biāo)簽。本文研究的自動醫(yī)學(xué)多標(biāo)簽分類方法可以節(jié)省大量的人工資源。
PubMed數(shù)據(jù)庫[4]建立在國立生物醫(yī)學(xué)信息中心(the US National Center for Biotechnology Information,NCBI)平臺上,它是一個免費的文獻(xiàn)搜索工具,可以提供生物醫(yī)學(xué)方向的論文和摘要等搜索功能。目前PubMed擁有主要來自MEDLINE的三千多萬條生物醫(yī)學(xué)文獻(xiàn)的信息。為了方便檢索和編撰,醫(yī)學(xué)主題詞MeSH(Medical Subject Headings)是美國國立醫(yī)學(xué)圖書館對于生物醫(yī)學(xué)文獻(xiàn)統(tǒng)一使用的標(biāo)簽集,對MEDLINE/PubMed數(shù)據(jù)庫標(biāo)注時就選擇利用MeSH這一主題詞來對藏書進(jìn)行索引。美國國立醫(yī)學(xué)圖書館每年投入大量時間與金錢,雇用專業(yè)的主題詞標(biāo)注人員對數(shù)據(jù)庫中的論文進(jìn)行標(biāo)注,據(jù)估計索引一篇生物文獻(xiàn)的平均成本約為9.4美元[5]。MeSH詞匯表數(shù)量很大,為了涵蓋生物醫(yī)學(xué)領(lǐng)域的所有方面知識,截至目前已經(jīng)有近30 000個常用的MeSH標(biāo)簽。
為了鼓勵全球研究人員設(shè)計新的有效MeSH索引模型和推進(jìn)這個研究領(lǐng)域,BioASQ(Biomedical Semantic Indexing and Question Answering)[6]由歐盟資助支持,從2013年起每年舉辦一次[7]。BioASQ是關(guān)于生物醫(yī)學(xué)語義索引和問題回答的挑戰(zhàn)賽,每年都有生物醫(yī)學(xué)專家作為合作伙伴和第三方的支持者參與該比賽。通常每年的BioASQ比賽分為兩個任務(wù),分別是taskA(MeSH語義索引)和taskB(問答)。在MeSH語義索引任務(wù)中,主辦方提供給參賽者文獻(xiàn)的期刊名、標(biāo)題、摘要、時間等信息,BioASQ的參與模型需要在人類標(biāo)注者標(biāo)注之前使用相關(guān)的MeSH術(shù)語對新的MEDLINE文章進(jìn)行注釋。人類標(biāo)注者對這些新文章進(jìn)行手動注釋后,這些數(shù)據(jù)被用來作為ground truth來評估參與者的表現(xiàn)。在本文實驗中,研究團隊參加了該生物醫(yī)學(xué)主題詞預(yù)測比賽,并在官方的數(shù)據(jù)集中進(jìn)行了模型的分析。
MTI(Medical Text Indexer)[8]是NLM的官方標(biāo)注模型,主要基于生物醫(yī)學(xué)文章的標(biāo)題和摘要,結(jié)合MetaMap Indexing(MMI)和PubMed相關(guān)的文獻(xiàn)(PubMed-Related Citations,PRC)[9]進(jìn)行MeSH標(biāo)注預(yù)測。MetaLabeler[10]首次將MeSH多標(biāo)簽分類問題看作多個二分類問題,并分別使用二元分類器進(jìn)行預(yù)測,曾贏得了BioASQ比賽并為后續(xù)模型提供了關(guān)鍵思路。MeSHLabeler[11]在MetaLabeler基礎(chǔ)上,集成了KNN等多個分類器的結(jié)果,將所有打分存入排序MeSH候選表,并得到最終預(yù)測結(jié)果。DeepMeSH[12]模型在MeSHLabeler的基礎(chǔ)上,加入了文本的深度學(xué)習(xí)語義表示(Doc2Vec representation)[13]。MeSHProbeNet[14]方法在2019年BioASQ比賽中效果僅次于本文提出的DeepMeSHⅡ,它使用了Bi-GRU[15-16]的方法來對序列進(jìn)行向量表示,并且在表示計算中加入了自注意力機制[17-18]。
目前方法不足之處在于還有未被挖掘的信息,目前模型僅針對文本本身進(jìn)行預(yù)測,并不能有效地運用文字外的信息。另外,目前還沒有模型能夠?qū)ι疃葘W(xué)習(xí)和傳統(tǒng)機器模型進(jìn)行融合,而DeepMeSH集成模型中的模塊還不夠完善,沒有效果顯著的深度學(xué)習(xí)模型,排序?qū)W習(xí)基礎(chǔ)模型選擇也有待調(diào)整。
本文研究的主要貢獻(xiàn)在于:(1) 將端到端的深度機器學(xué)習(xí)模型AttentionXML-base模型融合入DeepMeSH中,提出DeepMeSHⅡ模型;(2) 在特征表示的學(xué)習(xí)過程中添加MTIFL類期刊的特征表示,通過驗證集中的大量實驗設(shè)計不同的集成方案;(3) 本文提出的DeepMeSHⅡ模型參加了2019年BioASQ比賽,取得了第一名的成績。
多標(biāo)簽分類的重點是預(yù)測文本所屬的類別。假設(shè)類別數(shù)為N,每個樣本可以表示成(x,y)的形式,其中x∈X是特征空間X∈Rn中的一個向量表示(在深度學(xué)習(xí)中,輸入為文本信息,特征由端到端自動學(xué)習(xí)),而y∈Y={-1,1}N表示其標(biāo)簽,其中yk∈{-1,1}表示樣本x屬于(或不屬于)第k類。
機器學(xué)習(xí)方法是利用決策函數(shù)f=(f1,f2,…,fN):X→Y進(jìn)行標(biāo)簽分?jǐn)?shù),在實驗中需要區(qū)分正負(fù)樣本,最終決定每個樣本的預(yù)測標(biāo)簽。
本文的標(biāo)簽具有層次結(jié)構(gòu),評估預(yù)測結(jié)果有基于最近公共祖先的F-measure評估(Lowest Common Ancestor F-measure,LCA-F)以及基于標(biāo)簽的評估Micro F-measure(MiF),以MiF值為主要排名依據(jù),評估指標(biāo)如下:
(1) 精確度Accuracy(Acc):
(1)
(2) 實例平均精確率Example Based Precision(EBP):
(2)
(3) 實例平均召回率Example Based Recall(EBR):
(3)
(4) 實例平均F值Example Based F-Measure(EBF):
(4)
(5) 宏平均精確率Macro Precision(MaP):
(5)
(6) 宏平均召回率Macro Recall(MaR):
(6)
(7) 宏平均F值Macro F-Measure(MaF):
(7)
(8) 微平均精確率Micro Precision(MiP):
(8)
(9) 微平均召回率Micro Recall(MiR):
(9)
(10) 微平均F值Micro F-Measure(MiF):
(10)
式中:T表示數(shù)據(jù)集文本個數(shù);N表示標(biāo)簽個數(shù),precision,i、recall,i和Fscore,i表示對于第i個樣本的準(zhǔn)確率、召回率和F值,precision,k、recall,i和Fscore,k表示對于第k個標(biāo)簽的準(zhǔn)確率、召回率和F值。
實例平均指的是對所有文獻(xiàn)的Precision/Recall進(jìn)行平均;宏平均指的是對于所有標(biāo)簽的指標(biāo)進(jìn)行平均;微平均是將所有的正樣本、真實樣本統(tǒng)計后總體計算的精確率、召回率、F值。比賽中主要關(guān)注的參考指標(biāo)有MiP、MiR和MiF,在評估中β取1。
排序?qū)W習(xí)(Learning to Rank,LTR)是一種監(jiān)督學(xué)習(xí)的排序方法,興起于信息檢索領(lǐng)域,目前已被廣泛應(yīng)用到文本挖掘的很多領(lǐng)域。排序?qū)W習(xí)的核心仍是機器學(xué)習(xí),首先確定損失函數(shù)后,以最小化損失函數(shù)為目標(biāo)進(jìn)行優(yōu)化,得到排序模型的參數(shù)。常用的排序?qū)W習(xí)方法分為pointwise、pairwise和listwise三類,分別將排序結(jié)果以三種不同的視角對排序結(jié)果進(jìn)行近似擬合,因此也設(shè)計出了三種不同類型的損失函數(shù),本文實驗中選擇了XGBoost中的排序?qū)W習(xí)實現(xiàn)。
隨著BioASQ比賽的進(jìn)行與機器學(xué)習(xí)模型的涌現(xiàn),出現(xiàn)了基于排序?qū)W習(xí)的集成模型,其中具有代表性的有MeSHLabeler[11]和DeepMeSH[12]。DeepMeSH模型將多標(biāo)簽文本分類問題看作多個類別上的二分類問題,使用傳統(tǒng)機器學(xué)習(xí)與深度學(xué)習(xí)對文本進(jìn)行了不同的特征表示,并使用多種機器學(xué)習(xí)分類器對其進(jìn)行二分類預(yù)測,得到每個標(biāo)簽的預(yù)測概率作為打分,并使用排序?qū)W習(xí)模型對這些打分進(jìn)行整合與最終的預(yù)測。
AttentionXML是2019年發(fā)表于NeurIPS的工作[19],該模型主要解決大規(guī)模文本分類問題,在小型數(shù)據(jù)集上不使用標(biāo)簽概率樹(PLT樹)[20],同樣有著優(yōu)秀的表現(xiàn)。在醫(yī)學(xué)主題詞分類的項目中,由于標(biāo)簽和數(shù)據(jù)規(guī)模很小,直接使用AttentionXML里的單個分類網(wǎng)絡(luò)即可,本文稱之為AttentionXML-base網(wǎng)絡(luò),模型如圖1所示。
圖1 深度網(wǎng)絡(luò)AttentionXML-base模型
AttentionXML-base模型包含五層:
1) 單詞表示層(Word Embedding Layer),用300維的glove模型對單詞進(jìn)行詞向量表示,每個句子的最大長度根據(jù)數(shù)據(jù)情況設(shè)置為默認(rèn)值350,空余部分使用Padding填充為0。
2) BiLSTM[21]層,LSTM可以有效地防止梯度消失及梯度爆炸問題[22]。模型中使用雙向的LSTM對句子進(jìn)行表示學(xué)習(xí),用式(11)作為LSTM層的表示。
(11)
(12)
(13)
4) 全連接層。AttentionXML-base選擇使用一層的全連接層作為分類器的學(xué)習(xí)使用。該層輸出的維度為(N,L,K),其中:N為batch size;L表示標(biāo)簽個數(shù);K表示全連接層輸出向量維度。
5) 輸出層。在全連接層中,網(wǎng)絡(luò)為每個標(biāo)簽映射得到了一個K維的特征向量,在輸出層中,使用K×1的全連接得到該標(biāo)簽的最終預(yù)測得分,得到預(yù)測值后使用Binary Cross Entropy Loss作為損失函數(shù)進(jìn)行網(wǎng)絡(luò)的學(xué)習(xí)。
模型中使用了dropout[23]機制防止模型過擬合,使用Adam優(yōu)化器[24]進(jìn)行梯度下降。
隨著深度模型AttentionXML-base的提出,本文對其進(jìn)行了大量的調(diào)參實驗,使其適用于該生物醫(yī)學(xué)文獻(xiàn)分類任務(wù)。在DeepMeSH模型的基礎(chǔ)上,添加深度模型分支并提出DeepMeSHⅡ模型。在深度模型分支中,模型將輸入的文本信息轉(zhuǎn)化為one-hot編碼后傳入AttentionXML-base模型中進(jìn)行預(yù)測,并參與排序模型的學(xué)習(xí)。
DeepMeSHⅡ模型在預(yù)測文獻(xiàn)標(biāo)簽時,通過傳統(tǒng)機器學(xué)習(xí)的方法設(shè)計文檔的特征,利用SVM、KNN等分類器及模式匹配的方法得到各個標(biāo)簽的打分,通過深度學(xué)習(xí)多標(biāo)簽分類模型AttentionXML-base得到各標(biāo)簽的得分。結(jié)合NLM官方提供的MTI打分,對數(shù)據(jù)集中進(jìn)行LTR排序?qū)W習(xí),得到每個標(biāo)簽的打分。結(jié)合標(biāo)簽個數(shù)的回歸學(xué)習(xí),最終得到預(yù)測結(jié)果,預(yù)測流程如圖2所示。
圖2 DeepMeSHⅡ模型流程
在實驗中,將文獻(xiàn)的標(biāo)題與摘要進(jìn)行拼接,形成了待預(yù)測的文本內(nèi)容。對于傳統(tǒng)文本機器學(xué)習(xí)分類器,使用常用的TFIDF[25]方法對文本內(nèi)容進(jìn)行特征化,使用Doc2vec[26]的方法對文本進(jìn)行深度學(xué)習(xí)特征向量表示,并結(jié)合TFIDF得到D2V-TFIDF特征表示。在輸入TFIDF特征和Doc2vec-TFIDF特征后,使用KNN和SVM兩種基礎(chǔ)分類器分別對每個標(biāo)簽進(jìn)行打分。進(jìn)行KNN分類時,將文獻(xiàn)個數(shù)為100萬的數(shù)據(jù)集作為KNN的樣本空間,取k為200進(jìn)行k近鄰的預(yù)測;使用SVM分類器時,對每一個標(biāo)簽采用單獨的SVM模型預(yù)測,最終得到每個標(biāo)簽的打分。對于深度機器學(xué)習(xí)分類器,使用上文提到的AttentionXML-base模型進(jìn)行預(yù)測,該深度模型是端到端的,不再以TFIDF等特征作為模型輸入,而是直接以one-hot形式將文本信息輸入后對其進(jìn)行預(yù)測,通過集中預(yù)訓(xùn)練得到的glove模型,作為初始化的詞向量表示。
在得到各標(biāo)簽的多組分值后,將分值作為特征,添加已設(shè)計好的基于期刊統(tǒng)計信息的特征表示,以及MTI的官方標(biāo)簽打分、PRA相關(guān)文獻(xiàn)打分等,使用XGBoost排序?qū)W習(xí)框架[27]進(jìn)行訓(xùn)練預(yù)測,得到標(biāo)簽的最終打分。得到打分后,結(jié)合XGBoost模型對每個文獻(xiàn)進(jìn)行標(biāo)簽個數(shù)的回歸學(xué)習(xí),得到每個文獻(xiàn)預(yù)測的標(biāo)簽數(shù)量,并確定最終預(yù)測標(biāo)簽。
在BioASQ比賽中,通過不斷優(yōu)化模型,DeepMeSHⅡ最終模型的訓(xùn)練集配置如表1所示。共篩選了(BioASQ比賽開始前)最新300萬篇MEDLINE文獻(xiàn)作為深度模型與傳統(tǒng)分類器的訓(xùn)練數(shù)據(jù)集。在比賽最終階段(batch 3)時,比賽第一階段(batch 1)的文獻(xiàn)中具有人工標(biāo)注的28 990篇,第二階段(batch 2)被標(biāo)注的有26 718篇文獻(xiàn),這些數(shù)據(jù)被用于學(xué)習(xí)LTR排序?qū)W習(xí)模型。此外,比賽最終階段(batch 3)中的所有數(shù)據(jù)以及前兩階段中未被人工標(biāo)注的數(shù)據(jù)均作為測試數(shù)據(jù)進(jìn)行模型預(yù)測。
表1 DeepMeSHⅡ模型數(shù)據(jù)集大小及來源
在PubMed和MEDLINE的數(shù)據(jù)標(biāo)注中,并非所有數(shù)據(jù)均為專業(yè)人士直接閱讀文獻(xiàn)并自行標(biāo)注所得。MTI First Line是美國國家醫(yī)學(xué)圖書館自動化標(biāo)準(zhǔn)索引方法。對于一部分的期刊,NLM首先使用MTIFL的方法對文獻(xiàn)進(jìn)行標(biāo)注,接著由專業(yè)標(biāo)注人員添加遺漏的標(biāo)注、刪除錯誤的標(biāo)注,并提供出版物類型。這一類標(biāo)注被官方稱作“MTIFL Completion”。這類期刊共有583個,可以在NLM的網(wǎng)站中獲得該類期刊的編號,本文稱之為“MTIFL類期刊”。
經(jīng)過實驗發(fā)現(xiàn),各方法在MTIFL期刊中的預(yù)測效果要明顯優(yōu)于非MTIFL期刊的預(yù)測效果,表2展示的batch2中第4周的數(shù)據(jù)中,DeepMeSHⅡ模型與兩種MTI官方模型在MTIFL類期刊中表現(xiàn)均遠(yuǎn)遠(yuǎn)高于非MTIFL類期刊。因此,將MTIFL類期刊作為特征加入到排序?qū)W習(xí)的特征表示中,添加一維的特征表示,令MTIFL類期刊特征為1,非MTIFL類期刊特征為0。加入期刊信息后,平均MIF值獲得了0.01的顯著提升。
表2 三種模型在兩類期刊中MiF指標(biāo)對比
參考BERT模型[28]中Multi-Head的思路,DeepMeSHⅡ同時考慮了多個深度模型的集成。DeepMeSHⅡ?qū)⑸疃饶P偷姆种?shù)設(shè)置為2,即同時進(jìn)行兩個參數(shù)不同的深度模型的打分預(yù)測,并將預(yù)測結(jié)果傳入排序?qū)W習(xí)模塊,以提高模型的魯棒性與準(zhǔn)確率。在期刊信息的挖掘中,DeepMeSHⅡ針對MTIR類期刊設(shè)計了不同的排序?qū)W習(xí)方案,通過提高M(jìn)TI打分的權(quán)重來提升模型的預(yù)測效果。
表3中展示了DeepMeSHⅡ模型在batch3第4周數(shù)據(jù)中的實驗結(jié)果,可以看出通過將深度模型融入DeepMeSH模型,實現(xiàn)了深度學(xué)習(xí)模型與傳統(tǒng)機器學(xué)習(xí)模型的結(jié)合,其預(yù)測效果有明顯的提升。這說明AttentionXML深度學(xué)習(xí)網(wǎng)絡(luò)可以學(xué)習(xí)出傳統(tǒng)機器學(xué)習(xí)難以習(xí)得的非線性關(guān)系,并以此在DeepMeSH的基礎(chǔ)上大幅提高預(yù)測精度。然而我們在比賽中發(fā)現(xiàn),無論是MeSHProbeNet或是AttentionXML的單個神經(jīng)網(wǎng)絡(luò)模型,相較DeepMeSHⅡ都有一定的差距,這也證明了神經(jīng)網(wǎng)絡(luò)模型也有其局限性,與傳統(tǒng)模型結(jié)合后方可以各取所長。另外在加入MTIFL的期刊特征信息后,預(yù)測效果有了進(jìn)一步的顯著提升,這說明了該分類問題中隱藏著未被挖掘的信息,使用機器學(xué)習(xí)模型自動地進(jìn)行學(xué)習(xí)擬合效果有限,人為地對特征進(jìn)行干預(yù)是非常有效的方法。
表3 DeepMeSHⅡ模型實驗結(jié)果
此外,DeepMeSHⅡ?qū)TIR類期刊在排序?qū)W習(xí)時進(jìn)行了單獨的加權(quán),使其偏好使用MTI的打分。實際上,該操作使MTIR類期刊中預(yù)測結(jié)果的MiF指標(biāo)從0.80提升至了0.92,但由于此類期刊占比過小,對整體模型的提高不夠明顯。
在2.4節(jié)中提到DeepMeSHⅡ使用了雙分支的深度學(xué)習(xí)模型,表4中對該設(shè)置進(jìn)行了對比實驗。實驗發(fā)現(xiàn)相比單分支的深度學(xué)習(xí)模塊,雙分支的深度學(xué)習(xí)模塊整體預(yù)測效果會有0.002的提升。而分支數(shù)繼續(xù)增加后對實驗結(jié)果基本不再有影響,因此DeepMeSHⅡ最終將深度學(xué)習(xí)分支數(shù)固定為2。
表4 DeepMeSHⅡ模型深度學(xué)習(xí)分支數(shù)對比實驗
在MTIFL類期刊信息挖掘的實驗中,本文嘗試了更多的對比實驗:在不使用MTIFL特征時,將MTIFL類期刊與非MTIFL類期刊作為兩個不同的任務(wù)分別訓(xùn)練模型并預(yù)測。在對比實驗中我們發(fā)現(xiàn)模型效果在MTIFL類期刊中的預(yù)測精度沒有提高,在非MTIFL類期刊中有精度的降低,整體精度反而略有降低。通過該實驗分析得到,使用MTIFL期刊信息作為特征可以聯(lián)合并有區(qū)分地訓(xùn)練兩種期刊模型,相較劃分?jǐn)?shù)據(jù)分別訓(xùn)練不易受到數(shù)據(jù)量的限制。
在2019年的BioASQ task7A醫(yī)學(xué)主題詞自動標(biāo)注比賽(ECML/PKDD 2019 competition:BioASQ 2019 task7A)中,DeepMeSHⅡ模型獲得了第一名的成績,也成為了當(dāng)前生物醫(yī)學(xué)文本自動標(biāo)注方向的最新進(jìn)展。圖3所示為在BioASQ 7A比賽的最后一組測試數(shù)據(jù)中官方公布的各評估指標(biāo)結(jié)果,其中第二列MiF為最終排名指標(biāo),可以看出DeepMeSHⅡ模型的五組預(yù)測結(jié)果均遠(yuǎn)遠(yuǎn)高出了第二名的預(yù)測結(jié)果。
圖3 比賽最終周的官方指標(biāo)排名
本文提出的模型DeepMeSHⅡ達(dá)到了領(lǐng)域內(nèi)SOTA的結(jié)果,證明了深度模型與傳統(tǒng)機器模型進(jìn)行集成的可行性與期刊信息挖掘的合理性。但美中不足的是DeepMeSHⅡ作為一個排序?qū)W習(xí)模型,訓(xùn)練過程過于繁瑣。
在接下來的實驗中,我們將致力于在不損失模型精度的情況下,盡量降低模型的時間復(fù)雜度,嘗試減少耗時較多的模塊或發(fā)掘能夠逼近集成效果的端到端模型。