袁培森 楊承林 宋玉紅 翟肇裕 徐煥良
(1.南京農業大學信息科學技術學院, 南京 210095; 2.馬德里理工大學技術工程和電信系統高級學院, 馬德里 28040)
中國是世界第二大水稻種植國家,水稻總產量占全球30%以上[1]。培育優良的水稻品種、提高水稻產量成為我國重要的戰略目標。植物表型是植物在一定環境下表現的可觀察形態特征,在植物保護、育種等領域具有重要的應用價值,其研究涉及植物學、數據科學、機器學習等領域[2]。其中,水稻表型組學的研究發展迅速。水稻的表型組學文獻數量占第2位,進而出現了大量的水稻表型組學相關的知識[3],為水稻表型組學研究提供大量的數據支持。目前,水稻表型組學研究正在成為水稻基因組功能分析、分子育種和農業應用中的重要技術支撐[4-7],其知識圖譜的研究非常迫切。
知識圖譜技術可將農業領域中的水稻表型組學相關信息表達為更貼近人類認知的形式,提供一種更好地組織、管理和理解水稻表型組學海量信息的能力[8]。近年來,國外的知識圖譜研究比較注重對一些社會熱點進行分析,而國內利用知識圖譜處理農業信息化數據從2012年開始[9-11]。國內外學者已在農業領域知識圖譜的構建方面進行了相關研究,但對于水稻表型組學知識圖譜的構建和分析甚少。
知識圖譜的關鍵技術包括知識抽取、知識表示、知識融合,以及知識推理技術。實體是知識圖譜中最基本的元素,其抽取和分類的準確率、召回率等將直接影響到后續知識庫的品質和知識獲取效率[12]。傳統的分類器學習系統使用已有的學習器(如支持向量機)對給定的訓練樣本集進行訓練產生一個模型,用產生的模型預測新的樣例后,再根據模型的預測結果對其分類性能進行分析[13]。由于現實中數據量的不斷增加和數據的多元化,尤其是水稻表型組學數據的復雜性和專業性,使傳統的分類算法已經無法滿足現有數據的處理以及實際問題的解決需求。對單一分類器的組合學習模型在分類問題上顯示出了極大的優勢,使得組合分類模型在分類問題中得到更多的關注。現最流行的組合分類算法有 Boosting[14]和Bagging[15]方法。對于不穩定性的分類算法,Bagging方法分類效果較好(如決策樹[16]),但對于穩定的分類器集成效果不是很理想。Boosting方法的基分類器訓練集取決前一個基分類器,其分錯的樣例按較大的概率出現在下一個基分類器的訓練集中,雖然提高了組合分類算法的泛化性能,但會過分偏向于一些很難分的樣例,從而導致算法性能的降低。
針對Bagging和Boosting兩種組合算法的分類器集成效果并不理想,且改善效果均十分有限的問題,本文利用基于Stacking[17]集成學習策略的兩層式疊加框架,提出一種基于Stacking集成學習的分類器組合模型。通過爬蟲框架獲取國家水稻數據中心的水稻表型組學數據,利用TF-IDF技術和LSI模型結合的方法對水稻表型組學數據進行預處理,消除冗余特征,然后在基于Stacking 集成學習算法的多分類器組合方法上,將支持向量機(SVM)、K-近鄰(K-NN)、梯度提升決策樹(GBDT)和隨機森林(RF)4種學習算法作為初級分類器進行組合學習,進而采用隨機森林算法作為次級分類器提升分類效果。
水稻表型組學數據主要從“國家水稻數據中心”網站(http:∥www.ricedata.cn/)獲取,并以互動百科網站作為輔助數據源。Scrapy[18]爬蟲框架作為本文數據獲取的工具,其充分利用處理器資源,快速抓取結構化數據;支持分布式爬蟲,適合大規模水稻表型組學數據的獲取。
存儲水稻表型組學數據的數據庫使用專用于圖存儲的圖數據庫Neo4j[19],圖數據庫利用結點和邊的方式表示實體、屬性與關系,使得數據表示更為直觀清晰,適用于存儲水稻表型組學實體、屬性及關系。本文使用RDF三元組的數據表示形式,存放實體-屬性或實體-關系,共存儲4 853個數據結點,5 438條關系,每個結點包括ID、title、detail等屬性。Neo4j圖數據庫使用的專門圖形查詢語言Cypher,簡單快捷,便于操作,且能夠以圖、表、文本的形式展示數據。實例如圖1所示。

圖1 水稻表型組學實體-關系實例Fig.1 Entity-relationship instances of rice phenomics
水稻表型組學實體識別是指識別水稻表型組學文本數據中具有特定實際意義的水稻表型組學實體,包括表型、基因、蛋白質、環境等專有名詞。本文從國家水稻數據中心獲取的大量非結構化水稻表型組學數據中抽取實體,針對收集的語料庫進行分詞及詞性標注,根據詞性標注結果基于一定的啟發式規則進行詞語組合,從文本中提取具有實際意義的實體。圖2所示為水稻表型組學實體識別過程。

圖2 水稻表型組學實體識別過程Fig.2 Rice phenomics entities recognition process
為實現水稻表型組學實體識別,本文借助THULAC分詞工具進行分詞及詞性標注。THULAC是一套中文詞法分析工具包,集成了世界上最大規模的中文語料庫,中文分詞及詞性標注能力強、準確率高、速度快[20]。
啟發式規則是指在解決問題時根據以往經驗而制定的一系列規則,重點在于根據經驗選擇行之有效的方法[21]。本文水稻表型組學實體啟發式規則如圖3所示。

圖3 水稻表型組學實體判斷的啟發式規則Fig.3 Heuristic rules for determination of rice phenomics entities
水稻表型組學實體識別中,根據已有經驗,表型組學實體詞性只能為名詞,因此除了名詞之外的其他詞性應被丟棄。在名詞基礎之上應該檢驗該詞的前一詞是否為修飾性詞性,是則與該詞組成名詞性短語。
圖4為本文所列實體識別結果的示例,可以看出“小腸”、“葉序”等詞屬于滿足當前詞性要求的詞語,“鎂離子濃度”、“植物細胞長度”等詞屬于當前詞與其前一詞的組合詞語。由于水稻表型術語與基因組術語是專業性實體名詞,因此本文對水稻表型術語及基因組術語不再進行分詞及詞性標注,直接將這兩類詞語加入到實體識別結果中,最終共6 445個詞。

圖4 水稻表型組學實體示例Fig.4 Example of rice phenomics entities
對水稻表型組學語料庫所做的預處理操作為將文本處理成特征矩陣。文本向量化是將文本特征表示成一系列計算機可以計算和理解的,能夠表達文本語義信息的向量形式[22],通過一定的數理統計方法和計算機技術展現文本特征。目前文本向量化大部分是通過詞向量化實現。
本文使用TF-IDF技術并結合LSI模型對數據進行預處理,計算文本詞頻特征,解決文本語義問題,對水稻文本數據進行特征向量化形成語義矩陣。
如圖5所示,該過程首先將文本語料字典轉換成詞袋向量,便于計算其TF-IDF值,將轉換成的TF-IDF向量轉換成LSI向量,接著將生成的向量轉換成稀疏矩陣,稀疏向量最后轉換成密集向量,即為機器學習分類器模型接受的輸入形式。

圖5 水稻表型組學數據預處理過程Fig.5 Preprocessing of rice phenomics data
2.1.1TF-IDF模型
詞袋(Bag of word, BOW)[23]模型是最早出現的文本向量化方法,它將詞語作為文本的基本組成單元,該模型與每個詞語在文本中出現的頻率具有一定的相關性,其產生的向量與文本詞語出現的順序無關。該模型原理比較簡單,但易出現維度災難和語義鴻溝等問題。
TF-IDF(Term frequency-inverse document frequency)[24]是一種基于詞袋模型改進產生的,以計算詞頻及逆文本頻率來計算詞語分類能力,用于文本特征分析挖掘的常用方法。采用字詞統計方法,分別統計一個文本中該詞出現的頻率和整個語料字典中該詞出現的頻率來綜合評估字詞的分類能力。TF指詞頻,即一個字詞在文本中出現的頻率,出現次數越多,頻率越高,TF值就越高。IDF指逆文本頻率,若一個字詞在某一類文本中出現的頻率高,而在其他類別文本中出現的頻率低,說明該字詞具有良好的類別鑒別能力,對應該字詞的IDF值越高。TF、IDF的計算公式為
(1)
式中TF(w)——詞w在當前文本中的詞頻
n(w)——詞w在文章中出現的個數
S——文本的總詞數
(2)
式中IDF(w)——詞w在當前文本的逆文本頻率
N——語料庫中的文本總數
N(w)——語料庫中包含詞w的文本總數
TF-IDF值的計算公式為
TF-IDF(w)=TF(w)IDF(w)
(3)
以“半矮稈基因”URL網頁(http:∥www.ricedata.cn/gene/list/30.htm)為例,該文有902個詞,“水稻”、“半矮稈基因”分別出現13、2次,通過式(1)得出詞頻(TF)為0.014 4、0.002 2。網頁總數為1 966,包含“水稻”的網頁數為1 731個,包含“半矮稈基因”的網頁數為16個。則它們的逆文本頻率IDF和TF-IDF計算示例如表1所示。

表1 IDF和TF-IDF計算示例Tab.1 Examples of IDF and TF-IDF evaluation
表1中的TF-IDF值表明,常出現的詞語“水稻”,應該給予較低權重。對于詞語“半矮桿基因”,幾乎沒有在其他文本中出現,在出現的文本中它對應的IDF值較高,具有較強的類別鑒別能力。
2.1.2LSI模型
潛在語義模型(Latent semantic index,LSI)[25]為解決文本語義問題,如果文本中的某個詞與其他詞的相關性不大,則很可能是一詞多義的問題。LSI模型使用奇異值分解方法來分解詞語-文本矩陣,將原始矩陣映射到語義空間內,形成語義矩陣。
利用奇異值分解方法降低矩陣維度,計算公式為
(4)
式中Ar×c——第r個文本第c個詞的特征值
Ur×j——第r個文本第j個主題的相關度
Σj×j——第j個主題第j個詞義相關度

這里使用的特征值是基于預處理后的標準化TF-IDF值。j是設定的特征維度,也稱為主題數,一般比文本要少,一般設定在100~200之間,本文j設定維度為150維。經過一次奇異值分解,可以得到r個文本與c個詞的關聯程度。
2.2.1Stacking集成學習模型
基于Stacking[26]集成學習策略是一種異構分類器集合的技術,被認為是實現集合中基分類器多樣性的工具,以此提高組合分類的準確性。它采用兩層框架的結構,如圖6所示。具體的訓練過程為:首先是Stacking集成學習方法調用不同類型的分類器對數據集進行訓練學習,然后將各分類器得到的訓練結果組成一個新的訓練樣例作為元分類器的輸入,最終第2層模型中元分類器的輸出結果為最終的結果輸出[27]。

圖6 基于Stacking的集成學習方式Fig.6 Ensemble learning method based on Stacking
在組合模型中,對基分類器的選取有兩種選擇:一種是選取同種類型的基分類器,另一種是選取不同類型的基分類器,或者說是異質的。本文采用第2種選擇方法,基于Stacking集成學習的兩層結構框架對幾種不同的分類器組合學習。具體使用SVM、K-NN、GBDT和RF作為第1層的分類器,即基分類器,RF作為第2層的元分類器。針對這4種常見的單一分類器,具有性能優異且訓練機理差距大的特點,提出了將這4種算法進行組合學習,從而進一步提高分類器的分類性能。
2.2.2SVM算法
SVM[28-29]是指一系列以支持向量機算法為基礎的傳統機器學習方法,可以用于文本的回歸和分類問題。SVM的主要原理是找到一個能夠將所有數據樣本劃分開的超平面,使得樣本集中的所有數據到這個超平面的距離最短。
使用SVM做分類問題主要分為線性分類和非線性分類。當一個分類問題是線性可分時,可以直接用一條直線將不同類別的數據進行區分,這條分類直線稱為決策面。為求得最優的分類效果和性能,只需要計算數據與決策面的最大距離即可,尋找這個最大間隔的過程就叫最優化。但是,隨著數據量的增多,數據分布不均衡,數據變成線性不可分的,這時就需要核函數將數據映射到特征空間,利用超平面對數據進行分類分割。
2.2.3K-NN算法
K-NN算法[30]是一種通過計算不同數據之間特征值的距離進行分類的方法,是文本分類和回歸常用的分類算法之一,目前對K-NN算法的理論研究已經非常充足。K-NN算法的主要原理是,如果一個預測樣本在特征空間內存在K個最近鄰,那么預測樣本的類別通常由K個近鄰的多數類別決定。K-NN算法中通過選擇K值、距離度量方法,以及分類決策規則來優化算法的效果和性能。
K值的選擇一般根據樣本的分布,通過交叉驗證的方式選擇一個最優的K值。若選擇較小的K值,訓練誤差會減小,但容易使得訓練的泛化誤差增大,使模型復雜且容易過擬合。若選擇較大的K值,可以減小泛化誤差,模型預測結果一般不會出現過擬合現象,但會使訓練誤差增大,造成預測發生錯誤。因此,需要選擇合適的K值訓練模型,本文算法參數優化選擇使用GridSearch進行驗證。
2.2.4GBDT算法
GBDT算法[31-32]提升分類器性能的方式不是為錯分數據分配更高權重,而是直接修改殘差計算的方式,原始的Adaboost[33]限定了損失函數為平方損失函數,所以可直接進行殘差計算。GBDT通過定義更多種類的損失函數,采用負梯度的方式近似求解,這也是稱其為梯度提升樹的原因。由于這個改進,GBDT不僅可以用于分類,也可以用于回歸,有著更好的適應性。并且GBDT的非線性變換較多,所以其表達能力很強。
2.2.5RF算法
RF算法[34]是一種集成算法,通過訓練多個弱分類器集成一個強分類器,預測結果通過多個弱分類器的投票或取平均值決定,使得整體模型的結果具有較高的精確度和泛化性能。隨機森林算法的主要原理是,通過隨機采樣方式構建一個隨機森林,隨機森林的組成單元是決策樹,當進行預測時,森林中的每一棵決策樹均參與分類預測,最終通過決策樹投票選取得票數最高的分類作為預測分類。
考慮基學習器的預測能力,本文在Stacking集成學習的分類器組合模型第1層選擇學習能力較強和差異度較大的模型作為基學習器,有助于模型整體的預測效果提升。其中,隨機森林和梯度提升決策樹分別采用Bagging和Boosting的集成學習方式,具有出色的學習能力和嚴謹的數學理論,在各個領域得到廣泛應用。支持向量機對于解決小樣本和非線性以及高緯度的回歸問題具有優勢。K-NN算法因其理論成熟和訓練高效等特點,有著良好的實際應用效果。第2層元學習器選擇泛化能力較強的模型,用于糾正多個學習算法對于訓練集的偏置情況,并通過集合方式防止過擬合效應出現。綜上所述,Stacking集成學習的分類器組合模型選擇第1層基學習器分別為SVM、K-NN、GBDT、RF,第2層元學習器選擇RF。Stacking集成學習的分類器組合模型如圖7所示。

圖7 基于Stacking集成學習的水稻表型組學實體分類器組合模型Fig.7 Combination model of Stacking ensemble learning classification algorithm for rice phenomics entities
在水稻表型組學實體分類組合模型框架中,過程分為5步,處理過程總結為:
輸入:訓練集D={(yi,xi);i=1,2,…,m},基分類器,測試集T。
輸出:測試集上的分類結果。
(1)使用TF-IDF技術結合LSI模型進行數據預處理。
(2)第1層預測算法的K個基學習器Mk。
fork=1 toK
基于數據集D-k訓練第1層的基學習器Mk
end
(3)構成新數據集
Dnew={(yi,z1i,z2i,…,zki);i=1,2,…,m}
(4)第2層使用隨機森林算法Mnew預測模型訓練。
基于Dnew訓練模型Mnew。
(5)使用測試集T分類,評價分類結果。
首先利用TF-IDF技術結合LSI模型的方法對獲取的水稻表型組學數據進行文本預處理,預處理后的水稻表型組學數據D={(yi,xi);i=1,2,…,m},xi為第i個樣本的特征向量,yi為第i個樣本對應的預測值,將數據集切分為訓練集和測試集,隨機將數據劃分成K個大小基本相等的子集D1,D2,…,Dk。D-k=D-Dk,定義Dk和D-k分別為K折交叉驗證中的第k折測試集與訓練集。第1層包含K個基學習器,基學習器包括SVM、GBDT、RF、K-NN。對訓練集D-k用第k個算法訓練得到基模型Mk,k=1,2,…,K。對于K折交叉驗證中的第k折測試集Dk中的每一個樣本xi,基學習器Mk對它的預測表示為zki。
在完成交叉驗證過程后,將每個基學習器的各自預測結果構成新的數據樣本,即:Dnew={(yi,z1i,z2i,…,zki),i=1,2,…,m},重構特征,將第1層基學習器的輸出結果作為第2層學習器Mnew的輸入,本文選擇隨機森林算法作為第2層預測模型的元學習器進行訓練,再由第2層的元學習器模型輸出最終預測結果,基于Stacking集成學習的分類器組合模型通過多個學習器的輸出結果提升模型的分類能力,以獲得整體預測精度的提升。
本文實驗環境:Intel(R) Core(TM) i5-8250U 1.6 GHz處理器,8 GB內存,500 GB硬盤,64位Windows 10操作系統。
Stacking集成學習通過將K-NN、RF、SVM、GBDT模型作為初級學習器,4個驗證集的輸出組合成次學習器的一個輸入特征,進行再次訓練。各算法的參數設置如下:SVC算法模型使用RBF核函數,gamma參數設置為0.1,懲罰系數C設置為3;K-NN算法模型近鄰個數設置為6,用L2距離來標識每個樣本的近鄰樣本權重,權重與距離成反比;RF算法模型計算屬性的信息增益值來選擇合適的結點,選擇劃分的屬性值最大值為9,葉子結點的最少樣本數為2,決策樹的個數為81;GBDT算法模型的弱學習數量為100,學習速率設置為0.1,回歸樹的深度為3。訓練集和測試集的大小比例設置為7∶3。
基于Stacking集成學習的分類器組合模型,要實現水稻表型組學實體自動分類,需利用人工分類方法制作數據集,數據集的品質直接影響到機器訓練的品質。在進行人工分類時,首先對含有明顯特定字詞的詞語進行提取,對不明顯的詞語通過人工分類的方式逐詞進行標注[35]。水稻表型組學實體分類情況參照文獻[36],如表2所示。

表2 水稻表型組學實體分類情況Tab.2 Detail of entity classification of rice phenomics
本文使用的5種機器學習方法:基于Stacking集成學習的分類器組合模型、SVC算法、K-NN算法、RF算法、GBDT算法均使用TF-LSI方法預處理,使用GridSearch進行算法模型參數調優。實驗模型的評估使用精確率P(Precision)、召回率R(Recall)、綜合評價指標F1(F1-Measure)、準確率A(Accuracy)等指標,計算公式為
(5)
(6)
(7)
(8)
式中TP——將實際為正類預測為正類的數量
TN——將實際為正類預測為負類的數量
FP——將實際為負類預測為正類的數量
FN——將實際為負類預測為負類的數量
F1是模型精確率和召回率的一種加權平均值,介于0到1之間,F1越高,代表分類器的綜合性能越好。F1是分類問題中的一個常用的衡量指標,能夠對模型精確率與召回率進行綜合評估。
利用TF-IDF技術結合LSI模型的方法進行水稻表型組學數據預處理,作為Stacking集成學習的分類器組合模型的輸入樣例。這里以獲取的水稻表型組學數據為例,首先對Stacking集成學習的分類器組合模型分類結果進行分析,然后對比單一分類算法,從而驗證Stacking集成學習的分類器組合模型分類性能的優異性。
Stacking集成學習吸收融合模型的優點提高準確率和穩定性。通過將K-NN、RF、SVM、GBDT模型作為初級學習器,4個驗證集的輸出組合成次學習器的一個輸入特征,進行再次訓練。Stacking集成學習的分類器組合模型實驗結果如表3所示。

表3 Stacking算法各實體類別實驗結果Tab.3 Experimental results of various kinds of rice entities with Stacking algorithm %
從表3結果來看,在水稻表型組學數據中,組合模型對數據量較大的分類如Environment類、Phenotype類和Other類的分類精確度均達到76%以上,最佳的分類是Gene類,達到90.9%以上的分類精確度,多分類結果的召回率和F1值均在90%以上。對于不平衡數據集,Stacking集成學習的分類器組合模型在數據量較大的類別上的表現較為突出,在水稻表型組學數據的多分類問題上具有較強的分類性能。
將對單一分類器算法和Stacking集成學習的分類器組合模型的分類結果進行對比分析。各分類算法對水稻表型組學實體的分類精度對比如圖8所示。

圖8 各分類算法精確度對比Fig.8 Comparison of precision of classification algorithms
由圖8可以看出,Stacking算法對各類別的分類效果均較好,包括類別數量較少的Chemical類和Environment類,整體上優于其他分類方法,對Gene類的分類精確度達90.9%。
各分類算法對水稻表型組學實體的分類召回率對比如圖9所示。

圖9 各分類算法召回率對比Fig.9 Comparison of recall rate of classification algorithms
由圖9可以看出,水稻表型組學數據的Gene類、Phenotype類、Other類的整體召回率均較高,尤其是Stacking集成學習模型和隨機森林算法在其3種分類上表現較優。但無論是針對哪種類型水稻表型組學實體,Stacking集成學習模型分類結果的召回率均較高,顯示其較強的分類性能。
各分類算法對水稻表型組學實體的分類F1對比如圖10所示。

圖10 各分類算法F1值對比Fig.10 Comparison of F1-Measure of classification algorithms
由圖10整體來看,Gene類、Phenotype類、Other類3類算法整體分類的精確率和召回率的加權平均值F1較高,Chemical類、Environment類和Pathology類的F1相對較低,這是由于各類數據集數量分布不均衡造成的,相對Gene類、Phenotype類和Other類訓練數據較多,分類更精確,綜合性能較好。
Stacking、RF、K-NN、GBDT、SVM各分類算法準確率分別為80.55%、72.97%、67.51%、76.24%、78.34%,通過對比K-NN、GBDT、RF、SVM 4種算法,Stacking集成學習的分類器組合模型的準確率最高。Stacking集成學習算法集成了其他4種弱分類器,對于準確率有一定的提升。相比單一分類器K-NN算法,基于Stacking集成學習的分類器組合模型的分類準確率高13.04個百分點,性能提升較大,平均比單一分類器提高6.78個百分點。
綜上所述,在TF-IDF技術結合LSI模型方法進行水稻表型組學數據預處理的情況下,Stacking集成學習的分類器組合模型在本文水稻表型組學數據集上的整體效果最佳。對于不平衡數據集,Stacking集成學習分類器的組合模型的表現較為突出,整體精確度、召回率和F1值均較高。總體上,Stacking集成學習的分類器組合模型較單一的分類器,在分類性能上有一定的提升,準確率較分類性能較好的SVM算法提高2.21個百分點,較K-NN算法準確率提高13.04個百分點。
針對水稻表型組學數據,采用TF-IDF技術和潛在語義模型進行預處理,基于堆疊式兩階段集成學習的分類器組合模型,結合K-近鄰算法、支持向量機、隨機森林,梯度提升決策樹機器學習方法,提升水稻表型組學實體數據分類的性能,對于不平衡的水稻表型組學數據集和對不同類別的水稻表型組學數據都具有較好的多分類能力,總體準確率為80.55%,相對SVC、K-NN、GBDT、RF單一分類器,表現最佳,分類準確率平均高6.78個百分點。