基于知识图谱的玉米病虫害知识问答(一)

引言: 在农业生产过程中面临了很多的挑战,其中病虫害的问题一直是农业所重视的领域之一。随着科技的发展,农业领域需要更高效完善的智能问答系统。为此,最近我做了以下相关工作。

知识图谱的构建 一般而言,我们将图谱构建分为以下流程:知识建模、知识抽取、知识融合、知识存储、知识推理。我这里简单赘述一下,知识建模主要是从不同类型的多源数据中,构建生成领域知识体系。领域知识体系的构建是对领域分类、属性以及分类之间关系的定义。知识存储顾名思义,即是构建高效的存储。知识抽取从各种多源异构的数据源在获得有效的数据。知识融合这块主要任务是从碎片化以及异构知识之间发现管理,获得更完整的知识描述,实现知识的互联、互补和融合。最后是知识推理,这块主要基于已有知识推理发现未知的知识。
经过上述5个环节,垂直领域的知识图谱构建完成,在与真实业务场景相结合后,将实际助力企业在该领域取得实际的商业价值。

知识建模 首先我们从某网站通过爬虫获取到玉米语料库,并整理为如下形式。玉米铁甲为病虫害的名字,其下每一段为其属性。玉米语料库主要是分为病害与虫害两类,病害的关系为:症状、病原、传播途径和发病条件、防范方法。虫害的关系为:学名、寄主、危害特点、生活习性、形状特点、防治方法

在这里插入图片描述
在非结构化的文本中,可以发现仍然有很多很多信息。如上玉米铁甲分布广东、广西等。主要抽取了 别名、分布区域以及危害部位。

知识抽取 抽取主要是分为对半结构化数据、非结构化数据就行抽取。半结构化就基于规则进行抽取。非结构化数据基于依存句法的关系抽取,利用了哈工大PYLTP对其进行依存句法的分析。此外,我还尝试使用百度的DDparser,但是其效果没有PyLTP好,主要是由于LTP提供了语义角色标注,可以对三元组的抽取提供有效补充。 知识抽取的三元组如下形式。
](https://img-blog.csdnimg.cn/1b429c50cdc9436f92d9488a088fb194.png)

知识融合 在实际开发过程中,通常会使用到多源异构的数据。首先发现实体在构建中产生了冲突和冗余,然而论文中并未提及该现象。为了解决冲突,进行了简单的知识融合,使用了Python中的Synonyms中文近义词工具包进行信息相似性判断,若计算得到相似性分数大于0.5视为同一实体,小于0.5为不同的实体。然后对其结果进行人工审查。 融合结束后,重新将知识存储在图数据库neo4j中。
融合后,对生成实体和关系之间的csv文件,参考之前文章。得到如下csv文件
在这里插入图片描述
在这里插入图片描述

这里我们用bin目录下面的neo4j-import方法,将其导入到neo4j中。可参考之前文章</>

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值