閻磊 馬宏琳 王殿軒 王艷艷



摘 要:儲糧害蟲防治的基礎是害蟲的鑒定和識別。對于儲糧昆蟲的鑒定識別,目前主要依據是檢索表。常用的檢索表是兩項式檢索表。本文通過對兩項式檢索表進行抽象分析,以儲糧象蟲檢索表為例,建立了對應的二叉樹的數據結構,分享了數字化應用構建過程。通過建構的數據結構進行數據庫設計,討論了儲糧昆蟲數據庫存儲的昆蟲編碼,給出了數據庫結構。同時,還在上述方法的基礎上,進行了軟件系統的開發和實現,以鞘翅目象蟲科檢索表為例子進行了使用驗證,通過二叉樹的遍歷快速完成檢索表的檢索,精確地進行檢索表的任意關鍵詞查詢,更符合儲糧象蟲檢索表的使用習慣,并在全國儲糧昆蟲調查后期數據處理中得到了應用,效果良好。
關鍵詞:儲糧昆蟲;檢索表;數字化;昆蟲編碼
中圖分類號:S379.5文獻標識碼:A文章編號:1003-5168(2020)04-0018-06
Abstract: Identification and identification of stored grain pests are the basis of pest control. For the identification the main basis is the identification keys. A commonly used search keys is a dichotomous classification identification keys. In this paper, through the abstract analysis of the dichotomous classification and retrieval keys, the corresponding two-dimensional keys was established by taking the storage grain worm identification keys as an example. The construction process of the binary tree was analyzed, and the binary tree data structure suitable for computer processing was obtained. The database design was carried out by constructing the binary tree data structure. The insect coding stored in the grain storage insect database was discussed and the database structure was given. At the same time, on the basis of the above methods, the development and implementation of the software system were carried out. The key table of Coleoptera family was used as an example for verification. Through the traversal of binary tree, the search of the key table can be completed quickly, and any key words of the key table could be queried accurately, which was more in line with the use habit of the key table of stored grain weevil. It has been applied in the data processing of the later stage of the national grain storage insect survey, and the effect is good.
Keywords: stored grain insects;key list;digitization;insect coding
在糧食儲藏過程中,糧食損失受多種因素影響,其中儲糧蟲害是重要因素之一。儲糧害蟲中,象蟲科是世界性分布的儲糧害蟲,其中的玉米象是第一位的儲糧害蟲[1]。第七次全國儲糧蟲螨調查數據顯示,玉米象分布非常廣泛[2-3]。儲糧害蟲防治的基礎是害蟲的鑒定和識別,目前主要依據檢索表對儲糧昆蟲進行鑒定識別。
檢索表是以區分儲糧害蟲為目的編制的表,主要有包孕式、連續式、兩項式三種,其中兩項式檢索表是目前的通用形式,優點是每對性狀互相靠近,便于比較,循著號碼檢索,非常便利,且節省篇幅[4]。這種檢索表把同一類別的儲糧昆蟲,根據一對或幾對相對性狀的區別,分成相對應的兩個分支。接著,再根據另一對或幾對相對性狀,把上面的每個分支再分成相對應的兩個分支,好像二歧式分枝一樣,如此,逐級排列下去,直到編制出包括全部儲糧昆蟲的分類檢索表。
儲糧昆蟲檢索表是進行儲糧昆蟲鑒定的基本依據[5],一直以來,其表現形式主要以專著、學術論文等形式體現,尚缺乏數字化的表達方法,特別是應用現代計算機技術進行結構化分析和處理。二歧分類法的思想是將特征不同的一群生物,用一分為二的方法,逐步對比排列,其本質上可以抽象為數據結構里的二叉樹結構。因此,要采用現代計算機科學數據結構思想,對儲糧昆蟲兩項式檢索表進行結構化分析,抽象其本質數據結構,采用二叉樹數據結構,建立數字化的表達方法。
儲糧昆蟲兩項式檢索表經過抽象化和數字化后,可以進行儲糧昆蟲的數字化管理和使用,有效地支持糧食信息化建設,特別是對于當前儲糧害蟲“蟲情檢測管理”等技術問題具有現實意義[6],并有助于建立數據挖掘模型,從而支持糧食大數據“蟲害預警”的數據管理、數據挖掘等應用[7],促進糧食儲備管理與監測預警逐步向智能化、精細化、全面化、預測性的預警系統轉變[8]。
1 儲糧象蟲檢索表
儲糧昆蟲兩項式檢索表分為目檢索表、科檢索表、種檢索表等,內容較多,本文選擇儲糧昆蟲鞘翅目象蟲科檢索表為對象開展研究。以我國最主要的儲糧害蟲玉米象(Sitophilus zeamais)為例,其是節肢動物門、有顎亞門、六足總綱、昆蟲綱、有翅亞綱、鞘翅目、象甲科的1種。在象甲科的檢索表中,玉米象檢索表如圖1[1]。
依據檢索表進行昆蟲檢索鑒定時,由第一項開始,首先判斷昆蟲是否具有“喙粗短,背緣向上拱隆”等特征信息,如符合這些特征,則直接確定為闊鼻谷象,否則進入第2項,第2項判斷“觸角著生處與復眼”等特征信息,可據此確定為羅望子象或進入第3項,在第3項中判斷“前胸背板刻點”等特征信息,可據此確定為谷象或進入第4項,第4項依據雄蟲和雌蟲特點確定為米象或玉米象。
2 儲糧象蟲檢索表數據結構分析
2.1 檢索表的二維結構
對檢索表結構進行觀察可以看出,檢索表由多條檢索表項構成,其中,每一條檢索表項包括三個部分,分別是表項編號、特征描述、具體表項,每一表項有1個表項編號,有2個特征描述,根據2個特征描述對應2個具體表項,具體表項可為蟲種名稱或表項編號,其中表項編號具有唯一性,是確定某一具體表項內容的唯一標示符。
對于上述檢索表的第1表項而言,其表項編號為“1”,特征描述1為“喙粗短,背緣向上拱隆……”,特征描述2為“喙圓筒狀,背緣直……”,特征描述1對應的具體表項是蟲種名稱,即“闊鼻谷象”,特征描述2對應的是表項編號,即“2”。
根據上述分析,對于象甲科中玉米象的檢索表,可以得到結構化的二維表,如表1所示。
觀察表1可以看出,檢索表本質上是[n(n≥1)]個有限表項的集合[T],該集合有且只有一個起始表項(如表1中,編號為1的表項),除起始表項外的檢索表可看作是[m(m≥1)]個互不干涉的有限集合[T1,T2,…,Tm],其中每一個有限集合同樣是[n(n≥1)]個有限表項的集合。以此類推,直至包括檢索表的所有具體表項(蟲種)。檢索表按照一分為二的方法構建,因此其所對應的有限表項集合中每一表項所對應的具體表項依賴于特征描述的不同可分為[k]個具體表項,其中,[k]=2。基于此二維表表示結構和分析,可以得到檢索表的計算機數據結構表示方法。
2.2 檢索表的數據結構分析
通過對儲糧象蟲檢索表的二維化結構進行分析,檢索表可抽象為非線性的一組有限集合。根據其特性,在計算機處理中,特別適合用樹形結構進行表示。樹形結構是一種重要的計算機數據結構,樹是由[n(n≥1)]個有限節點組成一個具有層次關系的分支結構集合[9],其中最高層次的特定節點稱為根,每個節點的分支本身同樣可以構成樹,稱為子樹,以此類推直至所有節點。
將儲糧象蟲檢索表以樹形結構表示,表項編號為“1”的表項是檢索表的入口,層次最高,即為樹的根節點,每個表項一分為二的2個特征描述所對應的具體表項可以看作是樹的子樹,而每個子樹本身又可以獨立為一個有根節點和子樹的樹形結構。儲糧象蟲檢索表因其一分為二的特性,可以表示為一類特殊的樹形結構,即二叉樹。二叉樹是一類特殊的樹,每一個節點的分支子樹不大于2,即表示儲糧象蟲檢索表的每一個具體表項。對應的樹形數據結構如圖2所示。
2.3 二叉樹方法對檢索表分析
通過分析儲糧象蟲檢索表的數據結構,可構造出二叉樹圖,如圖3所示。
對所構造的二叉樹進行遍歷操作,可得到儲糧象蟲檢索表的二叉樹數字化表達序列:序列“A,B,D,F,H”表示米象;序列“A,B,D,F,I”表示玉米象;序列“A,B,D,G”表示谷象;序列“A,B,E”表示羅望子象;序列“A,C”表示闊鼻谷象。
注:A表示檢索表起點,B表示檢索表第1項所述“喙圓筒狀,背緣直……”,C表示檢索表第1項所述“喙粗短,背緣向上拱隆……”,即“闊鼻谷象”,因此C為葉子結點。D表示檢索表第2項所述“觸角著生處與復眼前方幾乎相接……”,E表示檢索表第2項所述“觸角著生處與復眼……”,即“羅望子象”,因此E為葉子結點。F表示檢索表第3項所述“前胸背板刻點圓形,排列較密……”,G表示檢索表第3項所述“前胸背板刻點長卵圓形……”,即“谷象”,因此G為葉子結點。H表示檢索表第4項所述“雄蟲陽莖背面均勻隆起,無縱凹溝……”,即“米象”,I表示檢索表第4項所述“雄蟲陽莖背面扁平,有2條平行的縱凹溝……”,即“玉米象”,因此H、I均為葉子結點。
3 檢索表的數字化實現方法
3.1 儲糧昆蟲信息分類的編碼表示
3.1.1 檢索表項具體蟲種編碼。玉米象屬于儲藏物昆蟲。儲藏物昆蟲的分類階元主要包括目、科、種三個主要單元,其中種是分類的基本單元,種以下分類包括亞種、變種、型、生態宗等。雖然種不是生物進化的最終分支,但實際的儲藏物昆蟲分類檢索中,一般以種為最終單元[10]。
要進行儲糧昆蟲檢索表的計算機存儲,需要對每一個蟲種進行唯一編碼,以區分不同的儲糧昆蟲蟲種。原國家糧食局于2018年1月8日發布了《糧食信息分類與編碼 儲糧病蟲害分類與代碼》(LS/T 1709—2018),定義了常見病蟲害的分類和代碼,將儲糧害蟲分為危險性害蟲、蛀食性害蟲、其他重要害蟲三類,儲糧蟲種編碼79種,玉米象定義為蛀食性害蟲,編碼為“21211”[11]。該編碼沒有包含目、科、種分類階元信息,編碼長度不足。基于此,本文建立昆蟲編碼表示。
本文的編碼采用層次碼結構,共分為三個層次,各層次分別表示儲糧昆蟲的目、科、種。編碼采用7位阿拉伯數字表示,第一層次、第二層次用兩位阿拉伯數字表示,第三層次用三位阿拉伯數字表示。第一層次代碼為01~99,第二層次代碼為01~99,第三層次代碼為001~999,采用順序碼。玉米象屬于鞘翅目、象蟲科,則其編碼中第一層次“鞘翅目”用“12”表示,第二層次“象蟲科”用“02”表示,第三層次“玉米象”用“005”表示,則玉米象對應的編碼為“1202005”。
3.1.2 檢索表表項編號編碼。在檢索表中,表項編號也需要建立對應的唯一編碼,以進行對應的存儲管理。如表1所示的結構化二維表中,表項編號為“1”的特征描述2對應的是表項編號,即表項編號“2”。考慮到目、科、種的不同檢索表,本文建立統一的表項編號編碼。編碼采用層次碼結構,共4位,分為三個層次,各層次分別表示儲糧昆蟲的分類階元、表項編號、特征描述號。第一層次用英文字母表示,第二層次用兩位阿拉伯數字表示,第三層次用一位英文字母表示。第一層次代碼采用目(Order)、科(Family)、種(Species)的英文首字母表示,取值為“O”或“F”或“S”;第二層次代碼為01~99,采用順序碼;第三層次代碼為特征描述號,用英文字母“A”或“B”表示。例如,“S01A”表示象蟲科蟲種(Species)檢索表中表項編號為“1”的特征描述“1”對應的檢索表項。
3.2 檢索表二叉樹的數據庫表示
應用計算機系統對檢索表二叉樹分析的結果進行數據存儲和管理,通常采用數據庫管理系統進行。通過前述分析,可以以表1所示的結構化二維表為基礎建立數據庫結構。為了便于計算機處理,需要增加昆蟲編碼、二叉樹父節點編碼、二叉樹葉子節點編碼、終端節點標記等字段。其中,昆蟲編碼字段指向具體蟲種的檢索表項,其字段內容為實際的7位數字昆蟲編碼;對于指向表項編號的檢索表項,其字段內容為4位檢索表項編號編碼;父節點編碼字段指向當前檢索表項描述內容對應的表項編號,在儲糧象蟲檢索表中,玉米象對應的父節點編碼字段內容為“3”,即該二叉樹葉子節點的父節點;葉子節點編碼字段內容為當前檢索表項描述內容所指向的檢索表項的表項編號,如某描述為具體蟲種,則葉子節點編碼字段內容為“0”,不同的葉子節點編碼對應二叉樹的左子樹和右子樹節點;終端節點標記字段內容為布爾(Boolear)類型,如當前檢索表項指向具體蟲種,則該字段為True,否則為False。獲得的數據庫結構如表2所示。
除了針對象蟲科分蟲種檢索表二叉樹的結構數據表外,還存在類似結構的科檢索表和目檢索表,因為其都可以采用二叉樹進行表示,所有建立的結構化數據表格式類似,如鞘翅目分科檢索表的數據信息如表3所示,儲糧昆蟲分目檢索表的數據信息如表4所示。
本文還結合實際應用建立了儲糧昆蟲基本信息表,以昆蟲編碼為關聯外鍵,內容包括了形態特性、生物學特性、經濟意義、分布以及昆蟲圖片等字段,儲糧昆蟲基本信息如表5所示。
通過建立數據庫,可使儲糧昆蟲檢索表的二叉樹結構進行結構化存儲,其目的是進行二歧分類檢索和關鍵詞查找檢索,通過關鍵特征快速確定儲糧昆蟲的種類名稱,給出其生活特性、生物學特性、經濟意義、分布及昆蟲圖片等信息,從而指導糧食儲藏和害蟲防治工作,同時為儲藏物昆蟲科學研究提供先進的技術手段。
3.3 兩項式檢索表的數字化應用
基于前述建立的檢索表二叉樹結構和數據庫系統,本文建立了儲糧象蟲查詢檢索軟件系統,系統主要功能包括二歧分類檢索、關鍵詞查詢、昆蟲信息顯示等。二歧分類檢索功能是以儲糧昆蟲檢索表為基礎,從初始表項開始,顯示完整的檢索表內容,可以按照不同的特征描述分支,進行二歧分類選擇,自構建的二叉樹父節點始,逐級到達對應的終端表項,指向某一葉子節點,從而得到具體蟲種。關鍵詞查詢功能是指在軟件系統中輸入某蟲種檢索表特征關鍵詞,通過數據庫檢索,快速獲得所有相關檢索表描述內容,給出相關檢索表項,從而得到具體蟲種。昆蟲信息顯示功能則是用于顯示獲得的葉子節點對應蟲種的信息,顯示內容包括其形態特性、生活習性、經濟意義、分布及昆蟲圖片等[10],方便使用者了解蟲種特征和相關信息。軟件系統界面如圖4所示。
4 結語
通過對儲糧昆蟲兩項式檢索表進行分析,可以建立對應的二維表,并得到適用于計算機處理的二叉樹數據結構,從而通過二叉樹的遍歷快速完成檢索表的檢索。此外,二叉樹結構的檢索表便于進行數據庫存儲,通過數據庫存儲和管理后,能更精確地進行檢索表的任意關鍵詞查詢,更符合儲糧象蟲檢索表的使用習慣。在我國“糧食云”云計算系統構建中,可以提供開放的儲備管理業務子域支持,從而推動“軟件定義糧食”[12]的實現。
本文通過建立數字化的兩項式檢索表,可以通過昆蟲形態關鍵詞進行切入,以顯而易見的直觀的方式,按照綱、目、科、屬、種的層次關系,快速判別鑒定儲糧害蟲。同時,可以通過儲糧昆蟲特征詞和關鍵詞快速提取蟲種鑒定信息,還可以通過反向逆查方式由蟲種追溯其屬、科、目、綱信息。本文在上述方法的基礎上,進行了軟件系統的開發和實現,以鞘翅目象蟲科檢索表為例進行了使用驗證,并在全國儲糧昆蟲調查后期數據處理中得到了應用,效果良好。
參考文獻:
[1]張生芳,樊新華,高淵,等.儲藏物甲蟲[M].北京:科學出版社,2016.
[2]閻磊,王殿軒,張浩,等.儲糧昆蟲區系分布的GIS表達與可視化方法研究[J].河南工業大學學報(自然科學版),2017(4):106-112.
[3]王殿軒,姜碧若,白旭光,等.中國10省75地市米象和玉米象的分布調查研究[J].河南工業大學學報(自然科學版),2017(3):110-114.
[4]管致和,周堯,龐雄飛,等.昆蟲學通論[M].北京:中國農業出版社,1999.
[5]侯學良.檢索表研究[C]//中國植物學會系統與進化專業委員會.全國系統與進化植物學研討會暨第九屆系統與進化植物學青年研討會論文摘要集.中國植物學會系統與進化專業委員會,2006.
[6]王殿軒.關于糧庫智能化建設中倉儲技術智能化的幾點思考[J].糧食儲藏,2016(6):50-54.
[7]胡榮輝,甄彤,陶文浩,等.大數據在糧庫糧情預測中的應用[J].糧油食品科技,2016(5):98-101.
[8]高巍,吳俊杰,王建軍.大數據時代糧食儲備管理與監測預警變化分析[J].糧食科技與經濟,2017(6):14-16.
[9]嚴蔚敏,吳偉民.數據結構[M].北京:清華大學出版社,1992.
[10]白旭光.儲藏物害蟲與防治[M].2版.北京:科學出版社,2008.
[11]國家糧食局.糧食信息分類與編碼儲糧病蟲害分類與代碼:LS/T 1709—2018[S].北京:中國標準出版社,2018.
[12]崔鵬飛.“互聯網+糧食”時代的變革:糧食云設計思路[J].中國糧食經濟,2017(8):62-63.