鸡常见疾病知识图谱构建及应用
作者: 张小敏 朱逸航 俞深 饶秀勤
摘要 鸡疫病问题一直是养殖业面临的重大挑战之一,传统的疾病防治方法往往局限于单一病种、单一领域,难以对不同疾病之间的关联和交叉感染进行全面有效地监控和防治,知识管理技术有待提高。针对以上问题,该研究利用知识图谱构建技术,对鸡常见疾病知识进行系统整合和建模,利用大语言模型进行知识抽取与消歧,实现了15类常见疾病的高效管理,并通过Neo4j图数据库实现了知识图谱的存储与可视化。最后,展示了鸡常见疾病知识图谱在鸡疾病信息查询、智能辅助诊断等方面的应用,为养殖业的可持续发展提供了有力的技术支持和决策参考。
关键词 鸡;常见疾病;知识图谱;大语言模型;Neo4j
中图分类号 S 126 文献标识码 A 文章编号 0517-6611(2024)23-0220-06
doi:10.3969/j.issn.0517-6611.2024.23.048
Construction and Application of Knowledge Graph for Common Chicken Diseases
ZHANG Xiao-min1, 2, 3, ZHU Yi-hang1, 2, YU Shen4 et al
(1. College of Biosystem Engineering and Food Science, Zhejiang University, Hangzhou, Zhejiang 310058;2. Zhejiang Key Laboratory of Agricultural Intelligent Equipment and Robots, Hangzhou, Zhejiang 310058;3. Zhejiang Institute of Communications, Hangzhou, Zhejiang 311112;4. School of Computer & Communication Engineering, University of Science and Technology Beijing, Beijing 100083)
Abstract The avian disease issue has always been a significant challenge in the poultry industry. Traditional disease control methods often limit themselves to a single disease or a specific domain, making it difficult to comprehensively and effectively monitor and control the interrelationships and cross-infections among different diseases. Knowledge management technology needs improvement to address these issues. To tackle these challenges, we leveraged knowledge graph construction techniques to systematically integrate and model the knowledge of common chicken diseases. Employing large language models for knowledge extraction and disambiguation, this approach effectively managed 15 common diseases, achieving efficient knowledge management. Additionally, the study used Neo4j graph database for knowledge graph storage and visualization. Lastly, we demonstrated the application of the knowledge graph of common chicken diseases in areas, such as chicken disease information retrieval and intelligent diagnostic assistance, providing robust technical support and decision references for the sustainable development of the poultry industry.
Key words Chicken;Common diseases;Knowledge graph;Large language model;Neo4j
基金项目 国家重点研发计划项目“乡村产业共性关键技术研发与集成应用”(2023YFD1600300)。
作者简介 张小敏(1996—),女,安徽安庆人,讲师,博士,从事图像识别与人工智能应用研究。*通信作者,教授,博士,从事智能农业装备研究。
收稿日期 2024-01-15
家禽养殖业是全球农业中重要的组成部分[1],我国更是家禽饲养、生产和消费大国。鸡肉和鸡蛋已成为人类日常饮食中重要的蛋白质来源[2],但鸡疫病问题一直是养殖业面临的重大挑战之一[3]。当一个养殖场或一个地区流行传染病时,会造成该范围内的鸡大规模死亡,甚至可能对公共健康和经济稳定造成严重影响[4]。
传统的疾病防治方法往往局限于单一病种、单一领域,难以对不同疾病之间的关联和交叉感染进行全面有效的监控和防治[5],且大量的鸡疾病信息分散在各种文献、数据库和专家经验中,信息难以高效整合并加以应用。知识图谱[6]作为一种语义信息网络,具有将分散、杂乱数据转化为结构化知识的能力,为鸡疾病防治研究提供了全新的思路。目前基于知识图谱的动物疾病防治工作已取得一定的进展[7-8]。杨喆[9]利用Neo4j图数据库构建了常见猪疾病的知识图谱,实现了猪病的智能问答,允许用户通过微信聊天界面进行12类常见猪病问题的查询。许甜[10]基于知识图谱构建了羊群疾病问答系统,采用Bi-LSTM+CRF模型进行命名实体识别,并引入Attention机制以增加关键词的权重,从而实现了自动知识抽取。王浩栋[11]将深度学习与知识图谱相结合,设计了奶牛疾病知识图谱的模式层,包含8类实体和7类实体关系,其诊断准确率达到94.57%,F1值达到94.89%。Gu等[12]利用深度学习模型设计和实现了基于知识图谱的鸡病诊断问答系统,包含28种常见的鸡病及其相应的症状、预防和治疗措施。这些研究成果为畜牧兽医领域的智能化疾病诊断与管理提供了重要的技术支持。
通过构建鸡疾病知识图谱,可以将各种疾病相关信息进行整合、联结,实现对疾病发生、传播规律的深入挖掘,为疾病的早期预警、诊断和防治提供支持。然而,目前针对鸡疾病的防治工作仍然存在一些问题,如鸡疾病相关的知识库缺少疾病大类的判断,搜索时存在查询不准、词条过多的问题,且搜索结果难以可视化、实际应用性有待提高[13]。
鉴于此,笔者探讨鸡常见疾病知识图谱的构建与应用,以期为鸡疾病防治工作提供新的思路和方法;通过系统地整合鸡疾病相关信息,利用大语言模型进行知识抽取与消歧,构建鸡疾病知识图谱,通过Neo4j图数据库实现知识图谱的存储与可视化;同时探讨其在疾病信息查询、智能辅助诊断等方面的应用,有利于推动养殖业的可持续发展。
1 鸡常见疾病知识管理框架
鸡常见疾病知识管理框架如图1所示,共包含4个模块:①本体建模。针对鸡常见疾病本体进行构建,包括概念定义、实体类别定义和关系定义。②知识获取。通过百度百科、知网和独秀图书网搜寻得到鸡常见疾病知识,并利用大语言模型将非结构化数据转换为结构化数据。③知识抽取与融合。根据所构建的本体模型,对收集得到的文本进行知识抽取与融合,实现知识的有效映射。④知识存储与应用。对融合后的知识加以存储和管理,从而更好地应用于家禽疾病查询和智能辅助诊断等方面。
1.1 鸡常见疾病知识本体建模
根据文献中对于鸡常见疾病的描述,提取了11类要素作为主要实体(表1),包括疾病名称、疾病描述、病原体、疾病种类、传播途径、易感时期、症状、并发症、预防手段、治疗措施和推荐药物。相比于以往的鸡常见疾病本体,该研究将疾病种类和推荐药物单独列出。这是由于不同种类的疾病其病因差异较大,通过判断疾病种
类能够及时确诊并减少疫病的危害;而推荐药物能够帮助养殖人员对疾病进行迅速、有效的防治,充分考虑到了知识图谱的应用性。
该研究构建的鸡常见疾病领域内概念之间的关系见图2,共包含了11种关系属性。需要关注的是,该研究加入了疾病与疾病间的并发关系,这可以帮助养殖人员在发现和治疗疾病时有所警惕,预防并发症的爆发。通过以上提出的实体定义和关系定义,帮助构建一个完整的知识图谱。
1.2 知识获取
该研究涉及的鸡常见疾病相关知识和数据是通过爬虫技术和字符识别(OCR)[14]技术从百度百科、知网和独秀图书网等知识库获取得到的,其中知网和独秀图书网知识获取时采用“鸡”“疾病”“防治”等关键词进行检索。该研究获取到了三大类病(病毒类传染病、细菌性传染病和寄生虫病)共15种细分常见病(新城疫、大肠杆菌病、沙门氏菌病等)。针对获取到的知识库,利用正则表达式进行数据清洗,得到规范化的鸡常见疾病语料。然而,当前语料中仍然包含半结构化和非结构化数据,因此有必要对语料进行数据结构化处理。
1.3 数据结构化处理
为了将鸡常见疾病语料库进行数据结构化处理,该研究采用大型预训练语言模型[15]GPT-3.5-turbo-16k作为有力工具。大语言模型能够具备对自然语言文本的理解和生成能力,能够将半结构化和非结构化的文本数据转化为结构化的知识图谱格式。
该研究首先构建一张包含鸡常见疾病及关系属性的表格,包括“1.1”提出的11种关系属性。将该表格作为模板,非结构化语料作为输入,利用大语言模型的理解和生成能力,输出结构化后的数据,并将其转为JSON格式数据集,以便后续知识图谱的构建。
2 鸡常见疾病知识图谱建模
2.1 知识抽取与融合
在数据结构化处理后,需要对其进行知识抽取、整理实体与关系数据,该研究同样采用大语言模型对鸡常见疾病知识库进行实体、关系和属性信息提取,如将疾病名称、症状描述、病原体信息等抽取出来,并建立它们之间的关联。这一步骤有助于将原始文本中的信息转化为适合于知识图谱存储的数据格式,为后续的知识图谱构建奠定了基础。
其次,大语言模型在消歧方面发挥关键作用,通过对文本中的语境和信息进行理解,能够有效消除实体歧义和关系歧义,确保知识的准确性的一致性,如将精神不振、精神沉郁和精神疲惫等同义词统一为精神不振。同时,大语言模型能够促进知识的映射,即将来自不同数据源的信息进行关联,建立起统一的知识体系,使得知识图谱中的信息更加完整和全面。
通过以上步骤,能够获得无歧义的、完整的实体、关系和属性数据,为鸡常见疾病知识图谱的构建提供了强大的语义理解和整合能力,也为后续的知识图谱应用和分析提供了可靠的数据基础。
2.2 知识图谱的存储
为了存储鸡常见疾病知识图谱,该研究采用了Neo4j[16]图数据库作为存储平台。Neo4j是一种基于图结构的数据库管理系统,其以图(graph)的形式存储数据,并以节点(node)和关系(relationship)的方式表达实体之间的关联。通过引入Neo4j,能够将鸡常见疾病的各种实体(疾病名称、症状、病原体等)以节点的形式存储,而它们之间的关联则以关系的方式清晰地表达。这种存储方式有利于对实体之间复杂的关系进行建模和查询,使得知识图谱的信息能够以直观且高效的方式被存储和管理。此外,Neo4j提供了灵活的图查询语言Cypher,能够针对知识图谱中的实体和关系进行复杂的查询和分析,从而为鸡疾病信息查询、智能辅助诊断提供了强大的数据支持和分析工具。