基于知识图谱的农业知识问答系统研究
2021-03-11胡文岭
李 岩,胡文岭
(河北经贸大学 管理科学与工程学院,河北 石家庄 050061)
随着我国数字乡村建设的不断发展,我国涌现出了许多农业技术服务相关网站[1],为农民提供农业生产、养殖技术、农产品销售等信息。现今越来越多的农业从业人员在遇到生产、技术、信息等问题时,常常选择利用网络去查询,以得到有效的信息或解决方法,但受限于文化水平、系统操作等问题,大部分农民往往无法从大量的资源中寻求到合适的答案或信息;求助于搜索引擎时,往往会得到大量的与问题不相关的内容,还需要进行人工的筛选[2],而且网页查询内容的正确性是无法保证的,用来指导农民的实际应用存在一定的隐患。
本文提出了一种通过基于知识图谱的智能化问答系统来解决上述提到的问题。问答系统是目前自然语言处理领域一项非常热门的研究,其主要功能是在系统和人类之间搭建一个桥梁,让系统直接回答人类所提出的问题。问答系统是在搜索引擎的基础上,对检索结果进行答案抽取等处理,使用户可以快速、方便、准确地获得自己需要的信息。系统允许用户以自然语言的形式进行提问,并返回自然语言的解答。
当前,深度学习技术发展迅速,问答系统不仅可以“读懂”语言表面的信息,还可以“理解”深层的信息,这种技术恰好为问答系统的发展奠定了基础。文章将结合知识图谱的技术对问答系统的构建进行分析,同时将问答系统在农业知识中的应用进行探究,智能的问答系统在农业中的应用也是构建智能农业不可或缺的一个重要部分。
1 知识图谱相关技术
本文所研究的是知识图谱与农业知识和农业领域的融合。近些年,知识图谱与各领域、各行业、各企业的深度融合已经成为一个重要趋势。随着技术的不断发展,各类知识图谱的边界愈发模糊,联系也愈发广泛。
1.1 知识图谱
2012年,Google公司正式提出知识图谱的概念——是指一种大规模的语义网络,是结构化的语义知识库,用于描述概念及其相互关系,其由“实体-关系-实体”或“实体-属性-属性值”三元组构成[3],大量这样的三元组交织连接,形成了一个在物理层面和逻辑层面上同时存在的知识网络。知识图谱是知识的一种表示形式,更是一种大规模的语义网络。
知识图谱可以帮助我们更快速、清晰地得到各主体间的联系,获取相应知识。与传统的语义网络不同,知识图谱因为其规模巨大而被认为是大知识(Big Knowledge)的典型代表。除此之外,在实际应用中,知识图谱通常还能体现出语义丰富、质量精良、结构友好等优势[4]。
1.2 命名实体识别与关系抽取
实体是知识图谱的重要组成,命名实体识别对于知识图谱构建具有重要意义。命名实体识别,也称为实体抽取,是指在文本中定位命名实体的边界并分类到预定义类型集合的过程[5]。命名实体可以理解为有文本标识的实体,得到的结果是一个词语序列。文本数据的实体抽取主要包括三类方法:基于深度学习的方法、基于统计模型的方法、基于规则和词典的方法[6]。
实体抽取之后,系统还不能很好的关联各个实体,还需要进行关系抽取。关系抽取的任务是从无结构的文本中抽取不同实体之间的关系,抽取的结果是关系实例,这就构成了知识图谱中的边,因此关系抽取是构建知识图谱最重要的子任务之一。关系抽取产生的结果为三元组<主体,谓词,客体>,此处的谓词是用来记录主体和客体之间的关系。目前,关系抽取的方法一般有:基于模板的方法、基于监督学习的方法和基于弱监督学习的方法。
关系抽取是很多复杂自然语言处理的基础,因此它的应用也是十分广泛的,其最重要的应用是构建知识图谱。
2 农业知识问答系统的设计原则
基于知识图谱农业知识问答系统设计的主要目的是为了给农业从业者提供专业的解答和指导。因此本系统的设计原则主要围绕用户的体验、问答的精准以及科学的数据等三方面来说,具体分析如下。
2.1 友好的用户体验
系统主要面向农民用户,本系统的设计工作应该首先考虑用户使用的友好性,侧重知识的共享、简单明了、突出重点,以“接地气”的形式突出农业知识的普及和技术的指导。在界面的设计上,应选取适当的文字和图片相结合的形式,合理编排语句和段落,做到结构分明,易读易懂,以清晰明了的界面带给用户优质的体验。
2.2 精准的问答
农业知识问答系统是问答系统的一种,旨在帮助用户解决各类问题,在问答环节的设计中,要把握精准和快捷两个原则。
为了保证问答的精准性,面对用户的每一次提问,系统需要完成问题理解、关键词分析与检索、寻找答案、匹配答案等一系列的工作,为了缩短等待时间,系统要以最快的速度完成上述各个工作。快捷精准的问答有助于提高系统和用户之间的默契程度,为用户提供完善的服务。
2.3 科学的数据
农民用户往往不太擅长进行信息的筛选和扩展,因此,要求农业知识问答系统在全面理解用户问题的基础上,所提供的解答是全面多角度的、是科学完备的。这就要求系统引用的数据来源要科学可靠,权威准确。
3 基于知识图谱的问答系统设计
基于知识图谱的问答系统的总体架构主要由前端模块和后台模块组成。前端模块主要是指问句的输入和结果的反馈;后台处理模块又分为三个小模块:问题预处理模块、问题分析模块和问题求解模块。系统的总体架构如图1所示[7]。
图1 问答系统的总体架构图
对于用户通过前端交互界面输入的问题,系统来进行基于知识图谱处理、分析并求解,最终将精准的自然语言答案返回给用户。
3.1 问题预处理模块
问题预处理模块的主要工作是对问题进行分词,将问题分解成符合问句本意的多个词语,并进行词性标注——分析语法并确定词性进行标注。分词和词性标注有助于实体识别和关系抽取,例如,从非结构化的自然语言问题中识别如母鸡、流感等实体或概念,症状、防治方法等实体间的关联关系。可见,问题预处理模块为后续的问题分析和求解模块奠定了基础。
3.2 问题分析模块
问题分析模块的设计目的旨在分析用户的问题,从中提取关键词,并鉴别问题类型。当用户进行问题检索时,根据预处理模块传递的分词和词性标注等结果,提取关键词,分析出问句对应的问题类型,根据句法分析提取出问句主干成分,抽取问句的关键词进行扩展,同时,提取出答案句的主干成分,并计算关键词权重,提交给问题求解模块[8]。
3.3 问题求解模块
根据问题分析模块得出的关键词集合,信息检索模块首先将这些关键词与数据库中的问题进行匹配,并直接将该问题相应的答案返回给用户;如果数据库中缺少与之匹配的问题,可利用搜索引擎对关键词进行搜索,将搜索到的网页进行权重计算,形成候选答案集——网页名称、网页链接等,这时可用HtmlParser库将网页下载到本地,根据相似度权重的大小排序,对于靠前的记录,将原网页格式去掉,留下文本信息并对句子进行标记,作为候选答案呈现给交互界面。
系统的数据流向如图2所示[4,9]。
图2 系统数据流向
4 结束语
如何方便、有效地为农业从业人员提供科学准确、简洁的信息,充分发挥农业信息资源的作用,助力农业生产,是数字乡村建设亟待解决的问题。本文基于知识图谱技术,研究了农业技术服务网站的自然语言识别问题和准确查询问题,提出了基于知识图谱的农业知识问答系统架构,农业知识问答系统能够实现与用户的智能化问答交流,为农业从业人员进行技术和信息查询以及相关农业知识的普及等提供便捷的服务。