阎磊 马宏琳 王殿轩 王艳艳
摘 要:储粮害虫防治的基础是害虫的鉴定和识别。对于储粮昆虫的鉴定识别,目前主要依据是检索表。常用的检索表是两项式检索表。本文通过对两项式检索表进行抽象分析,以储粮象虫检索表为例,建立了对应的二叉树的数据结构,分享了数字化应用构建过程。通过建构的数据结构进行数据库设计,讨论了储粮昆虫数据库存储的昆虫编码,给出了数据库结构。同时,还在上述方法的基础上,进行了软件系统的开发和实现,以鞘翅目象虫科检索表为例子进行了使用验证,通过二叉树的遍历快速完成检索表的检索,精确地进行检索表的任意关键词查询,更符合储粮象虫检索表的使用习惯,并在全国储粮昆虫调查后期数据处理中得到了应用,效果良好。
关键词:储粮昆虫;检索表;数字化;昆虫编码
中图分类号: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.