郑 颖,金松林,张自阳,王 斌,茹振钢*(.河南科技学院 信息工程学院,河南 新乡 453003; .河南科技学院 生命科技学院,河南 新乡 453003)
基于本体的小麦病虫害问答系统构建与实现
郑 颖1,金松林1,张自阳2,王 斌2,茹振钢2*
(1.河南科技学院 信息工程学院,河南 新乡 453003; 2.河南科技学院 生命科技学院,河南 新乡 453003)
为了能够及时、方便地解决农民在小麦种植过程中遇到的病虫害问题,研究并设计了一个关于小麦病虫害问题的自动问答系统。首先,将小麦的病虫害知识进行资源整合,在领域专家指导下构建小麦病虫害本体,将其作为问答系统的知识库。然后,利用自然语言处理相关技术对用户提出的问题进行分析并找到相应答案返回给用户。该系统操作方便,对小麦病虫害预防有重要作用。
小麦病虫害; 本体; 问句分析; 问答系统
小麦作为北方地区重要的粮食作物,其产量直接影响到我国经济发展和社会稳定[1]。长期以来,病虫害一直是影响小麦产量的主要问题,有效预防和控制病虫害的发展对于提高小麦产量有着重要意义。小麦种植过程中,农民会遇到许多难以解决的问题,这就需要有专门的技术人员进行指导,由于技术人员有限,又受制于时空因素,不可能实现一对一的指导。随着互联网的发展,农村地区互联网也得到普及,很多农民开始通过搜索引擎搜索问题。但是通过搜索引擎通常会搜索到许多与问题无关的答案,效果并不理想。近几年国内也出现了许多与农业相关的网站,例如中国农业信息网、农林网等,这些网站虽然提供了专家在线服务,然而这种方式不仅时效性差,而且专家对于共通的问题逐一解答浪费了宝贵的时间。问答系统是将人工智能、信息检索、自然语言处理等技术相结合的智能系统,它提供一个简单的接口供用户输入问题,通过分析问题自动返回答案,因其既克服了时空限制又能准确返回问题答案而备受关注。因此,有必要针对小麦生产中的病虫害问题设计开发问答系统。
国外对于网络支持下问答系统的研究起步较早,20个世纪60年代出现了2个著名的问答系统,分别是能回答篮球相关问题的BASEBALL系统和回答阿波罗月球探测问题的LUNAR系统。目前,比较著名的问答系统有Askjeeves、Start、FAQFind[2]等。国内近几年在此方面的研究也取得了长足的进步,如雅虎公司开发的雅虎知识堂、百度公司的百度知道等社区问答、清华大学开发的EasyNav校园导航系统、北京理工大学开发的金融领域问答系统。但是,目前关于小麦病虫害方面的问题还没有较为成熟的问答系统。
知识库是问答系统的关键,系统的好坏直接取决于知识库的质量。传统问答系统以问题答案数据库为基础进行检索、匹配,这种问答系统只利用了问句的表层特征信息并没有考虑问句的语义特征,检索到的答案准确率较低[3]。本体是一种语义层次的领域知识建模工具,对概念以及这些概念之间所具有的关系进行了明确定义[4]。本体不仅使知识的语义信息更加丰富[5],还具有较强的推理能力和重用的特点。因此,本研究首先将小麦病虫害问题进行资源整合构建病虫害本体,然后再根据农民提出的问题,通过分析并匹配知识库问题自动返回准确答案。该问答系统方便简洁,农民不需要掌握过多的搜索技术便可操作,可为农民在种植过程中解决病虫害问题提供实时指导。
问答系统是指对用户所提问题进行语义分析,在问答库中进行匹配并返回正确答案给用户。问答系统一般有3个组成部分:问题分析、答案检索和返回答案[6]。问题分析又分为问句预处理、特征词抽取及特征词扩展,答案检索是根据用户所提问题与本体库中的问题进行相似度计算,最后将得到的最佳答案返回给用户。系统整体结构如图1所示。
图1 问答系统结构
2.1 小麦病虫害本体构建
2.1.1 小麦病虫害本体知识的获取 将从小麦相关的书籍,如《中国小麦栽培学》、《中国小麦品种志》,以及科技文献、网站中获取到的与小麦病虫害预防相关的知识作为构建本体知识来源。最后,由领域专家对知识进行检查整理,去除抽取错误的知识,合并重复知识,确保构建本体的准确性。
2.1.2 小麦病虫害本体的构建 小麦病虫害本体包括类、属性和实例3个组成部分。类即概念,需要将要定义的概念按照合理的层次结构组织起来。本体最顶层的类为小麦,其子类包含小麦品种、病害种类、虫害种类、生长期以及预防措施,其中小麦品种30类,病害类又分为特征和名称2个子类,其中病害的名称分为10个子类,病害特征分为颜色和部位2个子类,虫害类与病害类相似,虫害的名称分为8个子类,生长期分12个子类。本体概念层次如图2所示。属性是描述类之间的关系,例如小麦与生长期是时间—事件关系,特征和颜色表示值—属性关系。创建的本体中也应该包含实例,例如小麦病虫害预防采用的各项措施都是预防措施类的实例。
构建本体需要借助一定的开发工具,本研究采用的本体开发工具为日本大阪大学开发的Hozo本体开发工具。Hozo能够表达丰富的语义信息,使用简单方便,支持JDBC以及Oracle、MySQL、SQL和Access数据库。构建的小麦病虫害本体如图3所示。
图2 小麦病虫害本体概念层次图
图3 小麦病虫害本体
2.2 问句预处理
用户提出的问题均以句子为单位,而计算机处理的信息则以词语为单位,因此必须对句子进行词语切分并提取出关键词以便进一步处理。预处理是语义分析的基础,包括分词、词性标注、去停用词。
分词是文本处理的关键问题,其效果好坏直接影响语义分析的结果。汉语中词语之间并无分割,因此需要借助工具将相连的词语分隔开,本研究所用的分词工具是张华平博士开发的分词工具NLPIR(ICTCLAS2015),该工具可自动完成分词及词性标注。另外,NLPIR还具有添加用户词典的功能。针对小麦领域的问答系统研究中,涉及很多专业领域词汇,为了确保分词的准确性,将本研究构建的本体概念都添加到用户词典中,并标注其词性。汉语中有许多类似“的”“了”“啊”等停用词,这些停用词对文本理解没有实际意义,但出现频率却非常高,去除停用词可以大大缩小特征词的处理空间。如,对于句子“麦蚜,一直是小麦灌浆期集中在穗部危害的主要害虫,如果控制不当对小麦的粒质量影响很大。”进行预处理后为“麦蚜/n 一直/d 小麦/n 灌浆期/t 集中/v 穗部/n 危害/n 主要/b 害虫/n 控制/v 不/d 当/v 小麦/n 粒质量/n 影响/vn 很/d 大/a”。
2.3 特征词抽取
特征词对句子理解起着关键作用。预处理后的句子虽然降低了句子词语的维数,但是词语数量仍然很多,处理过多的词语会对结果造成一定误差,因此,需要对预处理后的句子进一步提取特征词。
特征词抽取主要考虑词语在文本中出现的频率,如TF-IDF特征词抽取方法[7]。在特定领域内,一些领域词语出现的频率虽然不高,但是它们对句子的理解有重要作用,如果忽略了这些领域词语将会直接影响到系统的准确性。因此,本研究利用构建的本体来识别领域内特征词,提高抽取特征词的精确度。首先利用TF-IDF的方法抽取特征词,然后利用小麦病虫害本体进行领域特征词抽取,将2次抽取的结果进行合并即为特征词。例如,句子“麦蚜,一直是小麦灌浆期集中在穗部危害的主要害虫,如果控制不当对小麦的粒质量影响很大。”的特征词为“麦蚜/n 小麦/n 灌浆期/t 穗部/n 粒质量/n”。
2.4 相似度计算
句子以词语为基础,句子相似度计算以词语的相似度为基础。并不是所有词语都对句子相似度计算起关键作用,经过处理后的特征词才是计算的关键。句子相似度计算不能只考虑句子中相同特征词的个数的表层信息,还需要考虑特征词所表达的深层语义信息,另外特征词所处的位置、特征词的个数对句子相似度都有不同程度的影响。为此,本研究综合特征词的语义信息、结构特征提出一种计算句子相似度的方法。
2.4.1 语义相似度 特征词匹配是语义相似度计算的关键,匹配不是简单的一一对应,因为需要计算相似度的2个句子特征词数量不同,有时一个句子中某个特征词与另一个句子中的多个特征词相似度一致,这时确定特征词的匹配关系就成为关键问题。特征词间的相似度计算按照刘群等[8]基于知网提出的计算方法。假设句子A的特征词分别为{a1,a2,…,am},句子B的特征词分别为{b1,b2,…,bn},m≥n,句子相似度矩阵表示为:
其中,S(aibj)表示句子A中特征词ai与句子B中特征词bj的相似度。此时,特征词相似度即在矩阵中寻找最优匹配路径[9],该匹配路径的相似度之和即为句子特征词的语义相似度。
2.4.2 结构特征相似度 结构特征相似度包括词形相似度、词序相似度和特征词个数相似度三方面。
2.4.2.1 词形相似度 2个句子中相同特征词的个数即为词形相似度。2个句子中含有相同特征词个数越少则相似度越低,反之相似度越高。设句子A、B特征词个数分别为NA、NB,NSame表示句子A、B中相同特征词的个数,则词形相似度WordS的计算方法为:
2.4.2.2 词序相似度 特征词的顺序反映了句子的结构信息。2个句子的组成词语相同,若其顺序不同则表达的意思大相径庭。句子A、B特征词词序的相似度OrdS(A,B)计算方法为:
OrdS(A,B)=1-Inv(A,B)/maxInv(A,B)
其中,Inv(A,B)表示句子A的特征词在句子B中的位置构成的逆序数。逆序数用文献[10]中的方法计算。maxInv(A,B)表示两句中相同特征词个数的最大自然逆序数。
2.4.2.3 个数相似度 特征词的个数是判断句子形态相似度不可或缺的因素[11]。2个句子中的特征词个数越接近则其形态越相似,反之亦然。2个句子特征词个数相似度NS(A,B)计算方法为:
综合以上因素并考虑各因素对结构相似度的影响,句子A、B的结构相似度Sim2(A,B)计算方法为:
2.4.3 句子相似度 综合特征词的语义信息和结构特征信息,句子相似度计算方法为:
Sim(A,B)=αSim1(A,B)+(1-α)Sim2(A,B)
其中,α为可调参数,且0<α<1,Sim1(A,B)为句子特征词语义相似度。
本系统采用C/S体系结构模型,前台主要为用户问答系统界面,支持用户提问,并且把答案返回给用户,后台为服务器,负责领域本体知识储存,对问句分析,并把对应答案反馈给前台用户。图4为问答系统的问题搜索界面,用户在问题栏中输入问题“小麦蚜虫发病时间”进行提问,系统直接返回该问题的答案。该问答系统界面简洁,操作方便,农民不需要掌握过多的操作技术便可操作。
图4 用户问答系统界面
本研究首先构建小麦病虫害本体,然后将本体知识应用到小麦病虫害问答系统中,该问答系统可以根据用户提出的问题自动搜索并返回准确的答案,不仅对小麦病虫害预防具有现实指导意义,而且促进了农业信息化的发展[12]。但是,本研究仍存在一些问题,例如,小麦病虫害本体如何实现自动化构建及动态更新,如何减少人工构建本体的工作量等。解决这些问题将是下一步工作的重点。
[1] 李春喜.粮食安全与小麦栽培发展趋势探讨[J].河南农业科学,2012,41(3):16-20.
[2] Burke R D,Hammond K J,Kulyukin V A.Question-answering from qrequently-asked question files:Experiences with the FAQ-Finder system[R]//Technical report TR-97-05.Chicago:University of Chicago,1997.
[3] 廖梦.面向问答系统的金融本体构建技术研究[D].哈尔滨:哈尔滨工业大学,2013.
[4] 邓志鸿,唐世渭,张铭,等.Ontology研究综述[J].北京大学学报(自然科学版),2002,38(5):730-738.
[5] Li S P,Yin Q W,Hu Y J,etal.Overview of researches on ontology[J].Journal of Computer Research and Development,2004,41(7):1041-1052.
[6] 王超,李书琴,肖红.基于文献的农业领域本体自动构建方法研究[J].计算机应用与软件,2014,31(8):71-74.
[7] 黄贤英,陈红阳,刘英涛,等.一种新的微博短文本特征词选择算法[J].计算机工程与科学,2015,37(9):1761-1767.
[8] 刘群,李素建.基于《知网》的词汇语义相似度计算[C]//台北第三届汉语词汇语义学研讨会论文集.台北:[出版者不详],2002:59-76.
[9] 郑颖.基于模板匹配的文本倾向性研究[D].新乡:河南师范大学,2013.
[10] 王晓东,李永波,郑颖.基于模板匹配的网络评论倾向性分析[J].计算机工程与应用,2012,48(32):136-139,199.
[11] 赵臻,吴宁,宋盼盼.基于多特征融合的句子语义相似度计算[J].计算机工程,2012,38(1):171-173.
[12] 孙岩,马中杰,郑国清.河南省农业信息服务现状及发展对策[J].河南农业科学,2013,42(12):158-161.
Construction of Question Answering System Related to Wheat Diseases and Insect Pests Based on Ontology
ZHENG Ying1,JIN Songlin1,ZHANG Ziyang2,WANG Bin2,RU Zhengang2*
(1.College of Information Engineering,Henan Institute of Science and Technology,Xinxiang 453003,China;2.College of Life Science,Henan Institute of Science and Technology,Xinxiang 453003,China)
In this paper,a question answering system about wheat diseases and insect pests was designed in order to timely and conveniently solve wheat diseases and insect pests problems for farmers.First,the knowledge of wheat diseases and insect pests was integrated.With the guidance of domain experts,the wheat diseases and insect pests ontology was built,which was used in question answering system as a knowledge base.Then,the user questions were analyzed using the relevant technology of natural language,and the corresponding answers were found and returned to the user.The system was operated easily,and had an important function in preventing wheat diseases and insect pests.
wheat diseases and insect pests; ontology; question analysis; question answering system
2015-12-02
科技部创新方法专项(2015IM010400)
郑 颖(1987-),女,河南新野人,助教,硕士,主要从事自然语言处理、农业信息化研究。 E-mail:zhengying198766@126.com
*通讯作者:茹振钢(1958-),男,河南沁阳人,教授,主要从事小麦遗传育种研究。
S126;S435.12
A
1004-3268(2016)06-0143-04