CN114610902B - 一种基于知识图谱的家禽疾病诊断系统 - Google Patents

一种基于知识图谱的家禽疾病诊断系统 Download PDF

Info

Publication number
CN114610902B
CN114610902B CN202210305715.2A CN202210305715A CN114610902B CN 114610902 B CN114610902 B CN 114610902B CN 202210305715 A CN202210305715 A CN 202210305715A CN 114610902 B CN114610902 B CN 114610902B
Authority
CN
China
Prior art keywords
disease
symptom
poultry
data
knowledge graph
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210305715.2A
Other languages
English (en)
Other versions
CN114610902A (zh
Inventor
顾舒舒
蒋郭鑫
吕宗德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Animal Husbandry And Veterinary Station Nanjing Animal Disease Prevention And Control Center
Original Assignee
Nanjing Animal Husbandry And Veterinary Station Nanjing Animal Disease Prevention And Control Center
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing Animal Husbandry And Veterinary Station Nanjing Animal Disease Prevention And Control Center filed Critical Nanjing Animal Husbandry And Veterinary Station Nanjing Animal Disease Prevention And Control Center
Priority to CN202210305715.2A priority Critical patent/CN114610902B/zh
Publication of CN114610902A publication Critical patent/CN114610902A/zh
Application granted granted Critical
Publication of CN114610902B publication Critical patent/CN114610902B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • G06F40/49Data-driven translation using very large corpora, e.g. the web
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/20ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for computer-aided diagnosis, e.g. based on medical expert systems
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02ATECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
    • Y02A40/00Adaptation technologies in agriculture, forestry, livestock or agroalimentary production
    • Y02A40/70Adaptation technologies in agriculture, forestry, livestock or agroalimentary production in livestock or poultry

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Public Health (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Pathology (AREA)
  • Primary Health Care (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • Epidemiology (AREA)
  • Medical Treatment And Welfare Office Work (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提出的是一种基于知识图谱的家禽疾病诊断系统,该系统包括知识图谱模块,用户提交模块,疾病诊断模块;其中,知识图谱模块的信号输入输出端与疾病诊断模块的第一信号输出输入端对接,疾病诊断模块的第二信号输出输入端与用户提交模块的信号输入输出端对接;所述知识图谱模块用于构建家禽疾病知识图谱。本发明针对家禽疾病文本的特殊性,改进知识的提取过程,提取文本中实体、关系的多样化特征,对知识图谱进行补全、修正和更新,达到提高准确率的效果。

Description

一种基于知识图谱的家禽疾病诊断系统
技术领域
本发明涉及一种基于知识图谱的家禽疾病诊断系统,属于信息知识图谱技术领域。
背景技术
近些年来,在我国城镇,农村包括二三线城市郊区经营了越来越多的家禽养殖场,而在家禽养殖时会遇到的关于家禽健康相关的问题:各种家禽疾病的相关信息的搜索与健康知识获取意愿比以往需求扩大;所以对于用户,如何便捷且获取到准确的家禽疾病分类、病理变化、临床症状、治疗措施、预防措施,以及如何快速的筛选获取到准确信息就显得尤为重要。
在现有的家禽疾病诊断领域中,有基于图像采集家禽信息来关联家禽疾病数据并进行对比实现疾病诊断的;有通过专家系统精确推理或模糊推理,对症状和疾病之间的关系进行了量化并实现计算机辅助诊断;机器学习和人工智能的发展,推动了家禽疾病诊断领域从传统的模型推理,到学习能力更强、知识更新效率更高、结论更准确的模型推理以及系统开发的转变;提出了样本学习、主观自学习贝叶斯、支持向量机、CBR-RBR集成方法等禽类疾病诊断的方法。
基于现状,如何满足家禽养殖用户的快速获取到准确的专业信息需求,并且以直观可视的方式呈现出来,并且能够自动对用户的问题进行反馈,这类的需求在急剧扩大;目前,较为主流的信息查询服务方式有搜索引擎和自动问答两种方式,前者在信息的获取中,存在数据的准确性问题和数据的分类问题,以及手动去筛选识别信息,过程繁琐,后者可以直接为用户的提问返回所需问题答案,而不是相关网页集合,通过对特征词,实体和属性的识别并加载,返回用户所需要的问题的信息内容,能更好且更快速地满足用户准确信息获取的需求,特别是伴随着知识图谱的发展,自动问答系统嵌入知识图谱后在数据精度、数据关联性、数据结构化水平方面得到了显著提升,增强了系统问题语义和知识语义的理解和匹配能力。
一般的基于知识图谱的问答系统都是在系统结合知识图谱构成的内容问答问题,但这类数据,无法满足对专业领域的信息的获取,数据的准确度无法保证,无法满足用户对家禽疾病诊断信息获取的要求;问题具体表现在首先家禽疾病的种类很多,疾病和症状之间的关系复杂,难以挖掘,其次传统的专家系统都是有针对的诊断,鲁棒性很差;因此,为满足家禽养殖用户在养殖中快速获取到准确且直观的信息,设计与实现基于知识图谱的家禽疾病诊断系统称为需要迫切解决的课题。
发明内容
本发明提出的是一种基于知识图谱的家禽疾病诊断系统,其目的旨在有效提升家禽疾病诊断效率和准确率,方便查询治疗方案,提升家禽疾病治疗效率。
本发明的技术解决方案:一种基于知识图谱的家禽疾病诊断系统,该系统包括知识图谱模块,用户提交模块,疾病诊断模块;其中,知识图谱模块的信号输入输出端与疾病诊断模块的第一信号输出输入端对接,疾病诊断模块的第二信号输出输入端与用户提交模块的信号输入输出端对接;所述知识图谱模块用于构建家禽疾病知识图谱。
进一步地,所述一种基于知识图谱的家禽疾病诊断系统,该系统还包括家禽疾病知识图谱,家禽疾病数据库,用户诊断数据库;知识图谱模块的信号输入端与家禽疾病知识图谱的信号输出端连接;疾病诊断模块的信号输入端、输出端分别与家禽疾病数据库的信号输出端、输入端对接;用户提交模块的信号输出端与用户诊断数据库的信号输入端连接。
进一步地,所述知识图谱模块包括相关家禽疾病数据的爬取、家禽疾病数据的结构化处理、家禽疾病数据的实体识别和关系抽取、家禽疾病结构化数据的整合、家禽疾病知识图谱的构建,最终实现数据可视化,并与疾病诊断模块进行数据交互,具体为疾病诊断模块发送诊断请求后,知识图谱模块可以利用家禽疾病知识图谱进行查询。
进一步地,所述用户提交模块包括用户对家禽发病症状信息的输入和后台数据的提取,用户对家禽发病症状信息的输入和后台数据的提取共同完成用户提交数据的获取和分析;除此之外,用户提交的完整疾病诊断数据将保存到用户诊断数据库,并显示在公开求助页面,便于社区交流,为后续复诊的准确提供数据的支撑;用户提交的完整疾病诊断数据通过用户提交模块的输出端和疾病诊断模块的输入端传送到疾病诊断模块,此过程为疾病诊断的初步工作。
进一步地,所述疾病诊断模块的实现包括两个部分,首先是对用户提交模块所提取的信息进行预处理,即对用户所提交的家禽发病症状信息进行过滤和模式匹配,形成预处理后的标准症状关键词,再结合家禽疾病知识图谱搜索和推理,通过基于决策树和评分系统的诊断算法,返回较为准确的疾病报告和相应的治疗方案,此数据通过疾病诊断模块的输出端和用户提交模块的输入端传送到用户提交模块,用户提交模块接收数据后将在微信小程序页面显示给用户,从而形成较为完整和体系化的家禽疾病诊断系统。
进一步地,所述知识图谱模块的工作过程包括如下:
(101)搜索相关兽医网站,爬取有关疾病症状数据语料库;
(102)对疾病症状数据语料库中的相关疾病症状语料数据进行预处理,转化成标准的非结构化数据;所述非结构化数据指不含标点符号以及空格的语段,依据此归纳成小型诊断书;
(103)对小型诊断书进行命名实体识别和关系抽取,采用BiLSTM-CRF模型进行家禽疾病的命名实体识别,根据序列标注识别出对应的疾病和症状实体,并采用基于单词的依存关系进行关系抽取;
(104)将识别的实体和抽取的关系进行整合和细化,分离出属性词,并归纳成JSON文件;
(105)设计合理的知识图谱构建程序,利用整合和细化后归纳出的JSON文件构建家禽疾病知识图谱,具体为通过Python编程语言并嵌入cypher语句,在图数据库软件neo4j中创建家禽疾病数据的实体和关系。
进一步地,所述步骤(104)将识别的实体和抽取的关系进行整合和细化,分离出属性词,并归纳成JSON文件;具体过程包括如下:
给定一组基于专家提供的家禽疾病特征词集合C={C1,C2,...,Cn},抽取出的症状实体集合为S={S1,S2,...,Sn},通过模糊匹配计算当前家禽疾病症状所有特征词词频CF,具体如下:
其中S(sj=ck)为症状实体集合中包含家禽疾病特征词的样本,CFk表示家禽疾病特征词Ck的词频,k=1,2,...,n,由于并不是所有家禽疾病特征词都包含在症状实体集合中,所以根据症状实体集合形成的属性词集合数量小于家禽疾病特征词数量。
进一步地,所述属性词集合的形成包括:将所有症状实体进行相似度匹配,分成若干类集合,根据家禽疾病专家总结的属性词汇和常用语义,将属性词集合聚合成簇,统计高频词汇,根据统计的结果给定一个合理的数值k,其中k值根据总词频数的中位数决定,然后将词汇频率高于k的家禽疾病特征词提取出来,去除其中一些无关词(在本系统中,名词属于无关词,动词属于相关词,比如从“心脏出血”抽取“出血”),成为属性词集合,用于将杂乱的症状关联起来,其中属性词集合按属性词的词频从高到低排序。
进一步地,所述用户提交模块的工作过程包括如下:
(201)用户在微信小程序端填写疾病诊断表单,其中填写内容包括主要症状;填写疾病诊断表单时的填写内容还包括养殖厂、饲养品种、发病日期、发病日龄、发病数量、饲养只数、病死数量、主要症状描述、希望得到的帮助中的一种或若干种数据,填写疾病诊断表单时的填写内容还包括图片(比如鸡发病时的照片)上传;其中主要症状描述是必填项;
(202)小程序后端获取用户填写的疾病诊断表单数据并保存进MYSQL数据库,并公开求助展示希望获得的帮助;
(203)小程序端通过请求将疾病诊断表单中数据发送给服务器,网页后端通过request请求获取用户的症状描述数据,并传送给诊断算法。
进一步地,所述疾病诊断模块的工作过程包括如下:
(301)将用户输入的症状描述重构成标准症状描述单元;
(302)根据家禽疾病知识图谱中的症状属性,提取出用户输入的症状描述中的属性词,构建用户描述属性词集合,依据知识图谱模块中属性词的词频高低,再将标准症状描述单元进行排序,根据数据的实际情况,结合评分算法和决策树算法进行诊断;
(303)确定诊断疾病,并在家禽疾病数据库中查询相关疾病治疗方案和预防手段。
进一步地,所述步骤(301)的具体实施过程包括如下:
用户输入的症状描述为X,利用中文分词工具jieba进行全模式分词处理,并根据家禽疾病症状语料中常见的症状描述进行匹配,形成集合{X1,X2,...,Xk},例如<Xm(名词)>+<Xn<属性)>,重组成更清晰的标准症状描述单元;所述Xm(名词)指心脏、肝脏、小肠等器官或部位词;所述Xn(属性)指出血、充血等症状表现词。
进一步地,所述步骤(302)的具体过程包括如下:
对输入的标准症状描述单元利用中文分词工具jieba进行搜索引擎模式分词,将分词后的实体集合,按照家禽疾病知识图谱中的症状属性进行匹配,提取出症状描述中的属性词,比如<出血>、<肿大>,以确定本轮诊断决策树中所包含的属性。
将实体集合按照属性的显著性重新排序,比如<心脏出血>、<肺部肿大>,按照“出血”>“肿大”排序;如果实体中找不到属性词,则将其放在末尾,依次排列;依据症状描述中的属性集合,依次到家禽疾病知识图谱中进行查询匹配,先查询含有本轮症状描述属性集合所包含的症状集合,确定本轮备选症状以及疾病;其中如果初步扫描中的备选疾病不止一个,则在所确定的数据集合中进行决策树算法,如果最后疾病为空,则此算法不适合,转而进行评分算法;如果初步扫描中的备选疾病为空或唯一,则在全部数据集合中进行评分算法。
所述决策树算法,具体为:输入症状实体集合,设症状实体集合为S,设疾病集合为D,置D初始值为所有疾病集合;循环症状实体集合S,下标为i,每次循环调用cypher语句查询和当前症状实体相关联的疾病实体Di,更新疾病集合D,其中有D:=D∩Di(因此每次循环目标疾病的范围将会缩小,即循环后的目标疾病将越来越精确),直到循环结束,得出最终疾病集合D,流程如图7。
所述评分算法,具体为:输入症状实体集合,循环症状实体集合,每次循环调用cypher语句查询与当前症状相关联的疾病,并构建疾病队列;再调用cypher语句查询当前症状与疾病队列中疾病对应的评分,并加入队列<疾病,评分>,直到症状数组循环结束;症状数组循环结束后,开始循环队列<疾病,评分>,每次循环判断当前疾病是否出现在评分数组中,如果否,则将当前疾病加入评分数组中,并赋予评分初值;如果是,则将评分累加,更新对应疾病评分值,直到队列<疾病,评分>循环结束;队列<疾病,评分>循环结束后,整理评分数组,并计算输出评分最高的疾病,流程如图6。
本发明的有益效果:
本发明公开了一种基于知识图谱的家禽疾病诊断系统,为用户提供了知识图谱模块、疾病诊断模块、用户提交模块等功能板块;通过信息爬取,在对应信息咨讯平台中获取到家禽的疾病的信息,将非结构化和半结构化的数据,借助neo4j实现知识图谱的可视化;针对系统使用用户的提问进行预处理,在诊断过程中,将知识图谱的信息嵌入,以最为直观可视化的图的形式将信息展现给用户,让系统使用者透过家禽的基本症状,就能通过筛选获取该类疾病的诱因,疾病的分类,治疗方法,预防措施;搜索对应疾病就能获取家禽疾病诊断方法,疾病的诱因和预防措施等线性知识库;整个过程以可视化知识图谱的形式展现出来,通过知识图谱的数据结构化,让用户更直观的了解信息,透过自动化搜索,获取到对应的数据内容,大大简化了用户去做信息获取,信息筛选,信息分类的工作,将知识图谱的图嵌入方法与语句匹配的方法结合,集成完整的家禽疾病自动诊断系统;本发明针对家禽疾病文本的特殊性,改进知识的提取过程,提取文本中实体、关系的多样化特征,对知识图谱进行补全、修正和更新,达到提高准确率的效果。
附图说明
附图1为本发明的系统结构框图。
附图2为本发明的家禽疾病知识图谱和后端数据交互图。
附图3为本发明的家禽疾病知识图谱构建流程图。
附图4为本发明的“疾病诊断”用户功能流程图。
附图5为本发明的疾病诊断流程图。
附图6为本发明的评分算法流程图。
附图7为本发明的决策树算法流程图。
具体实施方式
以下将结合附图,对本发明的技术方案进行详细说明。
本实施例以微信小程序平台作为诊断媒介和neo4j作为知识图谱的图数据库为例进行说明;如图1所示,基于知识图谱的家禽疾病诊断系统包括知识图谱模块,用户提交模块,疾病诊断模块;首先利用预处理的数据进行知识图谱的构建,当用户诊断家禽疾病时,通过小程序的疾病诊断模块提交症状信息,完成系统对家禽症状数据的录入,首先通过自然语言处理对数据进行标准化,然后借助之前构建好的家禽疾病症状知识图谱,并利用评分算法和决策树算法进行进一步计算,并将计算好的结果封装并输出到小程序界面。
1、知识图谱模块,包括数据爬取、数据归纳、知识抽取、构建知识图谱、导入neo4j数据库。
1.1数据爬取:数据爬取主要使用网络模块如HTTP、TCP协议,设计爬虫去家禽疾病网站中爬取家禽疾病的文本描述数据;通过爬虫技术在家禽疾病网站中爬取有关家禽疾病的文本数据。
1.2数据归纳:将家禽疾病的文本数据转化成标准的非结构化数据,此非结构化数据指不含标点符号以及空格的语段,并且归纳成小型诊断书,如下表:
疾病名称:新城疫
本实施例中,共包括在兽医助手资讯信息平台、华夏兽医网中爬取了28中常见疾病的数据,包括新城疫,高致病性禽流感,禽流感等,获取临床症状:包括发病日龄,皮肤症状,呼吸症状等;获取病理变化:包括消化道,呼吸道,心脏等变化;控治措施;预防措施的对应信息。
1.3知识抽取:实体命名的识别在基于家禽疾病自动诊断系统的知识图谱中,实现已爬取数据的结构化,构建知识图谱的的实体和属性;在前期的数据爬取过程中,需要利用归纳好的小型诊断书进行疾病症状的知识抽取,具体为命名实体识别和关系抽取。
本实施例采用BiLSTM-CRF模型进行家禽疾病的命名实体识别。模型一共分三层;BiLSTM层对embedding层的输出数据进行编码,将输出的向量输入CRF层,进行序列标注;输出最大概率的实体标签。
(1)Embedding层
首先将序列标注输出embedding层,通过一个随机的预训练词向量文件,每个字都被压缩到100维的低维向量空间中,代表了每个字在100维的语义信息;在传入BiLSTM层前,为了解决过拟合的问题,设置dropout的值。
(2)BiLSTM层
将Embedding层的输出输入到BiLSTM层;首先将Embedding层的生成的向量字符表示序列输入BiLSTM层,将正向和反向的LSTM输出进行相应的拼接,形成规整的输出矩阵,在输入CRF层前,防止过拟合,需要设置dropout值;BiLSTM层的每个序列都是一种多标签的概率值。
(3)CRF层
CRF层的作用就是能够对BiLSTM层输入的多标签概率进行序列标注;首先CRF层可以学习BiLSTM层输出的各个序列的特征,包括词与词的逻辑关系;通过CRF层,各个序列标签的逻辑性变得更强,CRF会增加标签限制,减少不合法的序列标签。
首先,利用CBOW模型,通过对语料进行无监督训练,对不同维度字向量进行对比,最终得到100维度时模型性能最好;通过预训练方式,得到家禽疾病文本100维度的字向量特征,应用在家禽疾病领域的命名实体识别;其次,字嵌入层的向量x将作为t时刻Bi-LSTM层的输入,通过正向LSTM输出特征序列和反向输出序列,获得隐藏层拼接的向量,通过tanh激活函数的加权求得最终的输出;最后,把Bi-LSTM的输出作为CRF层的输入,采用状态转换矩阵预测当前标签,通过利用Softmax函数,得到最终序列的条件概率;使用Viterbi算法将得分最高的序列作为模型最终的标注结果。
将识别的实体和抽取的关系进行整合和细化,分离出属性词,并进行归纳,具体过程为:给定一组基于专家提供的家禽疾病特征词集合C={C1,C2,...,Cn},抽取出的症状实体集合为S={S1,S2,...,Sn},通过模糊匹配计算当前家禽疾病症状所有特征词词频CF,具体如下:
其中S(sj=ck)为症状实体集合中包含家禽疾病特征词的样本,CFk表示家禽疾病特征词Ck的词频,k=1,2,...,n。
所述属性词集合的形成包括:将所有症状实体进行相似度匹配,分成若干类集合,根据家禽疾病专家总结的属性词汇和常用语义,将属性词集合聚合成簇,统计高频词汇,根据本系统中家禽疾病症状属性词一共有40个左右,其中属性词词频的中位数在5左右,因此k值取5,然后将词频高于5的家禽疾病特征词提取出来,整合成为属性词集合,其中属性词集合按属性词的词频从高到低排序。
本系统中知识图谱的实体对应鸡类的各种疾病、症状和症状属性,如新城疫疾病信息为实体(disease)、心脏出血症状信息为实体(symptoms),出血为症状属性实体(properties),对应的属性值有:预防手段(precaution),临床表现(pathology)和治疗措施(precaution_way),各属性定义其属性值。
本系统采用基于单词的依存关系(Dependency parsing)进行关系抽取;抽取到的关系有疾病症状(has_symptom)、临床表现(has_pathology)等,在此基础上还需要增加从症状属性实体到症状实体的归属关系。
1.4构建知识图谱:完成家禽疾病数据的获取并且做好分类后,定义JSON文件,本系统以蛋鸡为例:
{“animaltype”:2,“illaddition”:“…”,“kind”:“…”,“illage”:“…”,“illproperties”,“illsymptoms”:“…”,“illsymptoms_score”:“…”,“illpathology”:“…”,“illpathology_score”:“…”,“precaution_way”:“…”,“cure_way”:“…”}
依次将28中常见疾病导入到json文件中,完成数据的分类;将获取的数据完成分类后,构建知识图谱,读取已定义的json文件,按照已分类的数据,读取已完成定义的文件,定义实体的每一个节点;即定义疾病名称,临床症状,病理变化,疾病预防和治疗信息。
完成实体的创建后,定义实体与节点之间的关系,实体对应的症状关系,病理变化关系,预防关系和治疗关系;循环匹配数据,从已定义好的json文件中读取该疾病的节点信息,将节点的数据读取进去,循环依次读取每一个文件;完成节点定义后,完成每一个节点的边的创建;在实际情况中,存在同一种疾病拥有相同或相似的症状或预防措施,对应在知识图谱中不同实体可能拥有,相同节点,所以只是算一个,因此在定义实体的节点和边后,需要消除其中一条关联边,遍历边,若存在相同的边的情况,需要进行去重处理。
1.5导入neo4j数据库:完成知识图谱的实体和属性的创建后,在图数据库neo4j中以可视化的形式进行呈现,完成neo4j数据库的下载和安装后,在命令窗口中输入neo4j.bat console运行,搭载服务器ip地址;在知识图谱的构建中已经完成节点的定义与创建,调用python接口,输入服务器地址”http://localhost:7474”即可完成图数据库知识图谱的导入与搭建。
2、用户提交模块,包括小程序模块和后端交互模块,主要用于为用户提供交互页面,并获取用户提交数据;
2.1小程序模块:本系统以微信小程序为展示平台,主要提供一个疾病诊断表单供用户填写;其中填写内容包括养殖厂、饲养品种、发病日期、发病日龄、发病数量、饲养只数、病死数量、主要症状、希望得到的帮助和图片上传,其中主要症状是必填项;
2.2后端交互模块:小程序后端获取用户填写的疾病诊断表单数据并保存进用户诊断数据库,并在公开求助展示希望获得的帮助,小程序端通过请求将表单数据发送给服务器,网页后端通过request请求获取用户的症状描述数据,并传送给诊断算法;后端由python的Django框架搭建。
3、疾病诊断模块,包括诊断计算、诊断问答两个阶段;首先将用户的症状描述数据作为输入,通过对数据的预处理,再用诊断算法进行计算,得出答案调用诊断答复进行小程序结果的返回。
3.1诊断计算:诊断计算主要通过决策树和评分系统结合的诊断算法来完成疾病的推理,流程图如图5所示,主要包含以下流程:
(1)数据预处理:首先将传来的用户症状描述数据进行预处理,主要有以下几步:第一步,用中文分词工具jieba对用户的语句进行全模式分词,将分词集合与家禽疾病知识图谱中的属性进行匹配,构建一个属性实体集合,便于确定本轮诊断决策树的搜索属性;第二步,将分词后的用户症状描述数据进行词性对应重组,组成症状描述字段,将字段与家禽疾病诊断知识库中的症状实体进行模式匹配,匹配成功后的实体构成症状实体集合,其中匹配采用AC多模式匹配算法,其采用的是字符串匹配模式,与疾病症状实体词典结合使用,本质上是一种基于词典的匹配思想,对用户自然语言提问中包含的疾病实体参照词典实现匹配和抽取。当匹配失败时,则采用语义相似度计算方式获取相似度较高的实体,避免出现系统无回答现象,增强系统响应能力;
(2)调用诊断算法:首先按照属性实体集合查找知识图谱中的症状属性,确定本轮决策树搜寻属性的范围,用R表示搜寻的范围,其中含有相关属性实体、和其关联的症状以及和症状关联的疾病S,将症状实体集合按照所确定的R范围中属性的显著性重新排序,比如<心脏出血>、<肺部肿大>,按照“出血”>“肿大”排序;如果实体中找不到属性词,则将其放在末尾,依次排列;其中如果初步扫描中的备选疾病不止一个,则在所确定的数据集合中进行决策树算法,如果最后疾病为空,则此算法不适合,转而进行评分算法;如果初步扫描中的备选疾病为空或唯一,则在全部数据集合中进行评分算法。其中,决策树算法具体描述为:将整理好的症状实体集合设为S,推理的疾病集合设为D,调用neo4j查询语句match进行症状匹配,每次循环将上一次搜索的疾病集合与本次搜索的疾病集合进行合取,以缩小症状所包含的疾病范围,直到循环结束或疾病为空。评分算法具体描述为:将所有症状描述实体集合S,调用neo4j查询语句match进行症状匹配,查询匹配到的症状对应的疾病评分c,构成包含<疾病,症状,评分>的集合,然后统计所有疾病的总评分,计算出评分最高疾病。
3.2:诊断问答:通过诊断算法给与的疾病到家禽疾病数据库中查找相关疾病的详细信息,以及治疗措施,并在小程序端返回给用户。
实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。

Claims (7)

1.一种基于知识图谱的家禽疾病诊断系统,其特征是包括知识图谱模块,用户提交模块,疾病诊断模块;其中,知识图谱模块的信号输入输出端与疾病诊断模块的第一信号输出输入端对接,疾病诊断模块的第二信号输出输入端与用户提交模块的信号输入输出端对接;所述知识图谱模块用于构建家禽疾病知识图谱;所述疾病诊断模块的工作过程包括如下:
(301)将用户输入的症状描述重构成标准症状描述单元,具体实施过程包括如下:
用户输入的症状描述为X,利用中文分词工具jieba进行全模式分词处理,并根据家禽疾病症状语料中常见的症状描述进行匹配,形成集合{X1,X2,...,Xk};
(302)根据家禽疾病知识图谱中的症状属性,提取出用户输入的症状描述中的属性词,构建用户描述属性词集合,依据知识图谱模块中属性词的词频高低,再将标准症状描述单元进行排序,根据数据的实际情况,结合评分算法和决策树算法进行诊断,具体过程包括如下:
对输入的标准症状描述单元利用中文分词工具jieba进行搜索引擎模式分词,将分词后的实体集合,按照家禽疾病知识图谱中的症状属性进行匹配,提取出症状描述中的属性词,以确定本轮诊断决策树中所包含的属性;
将实体集合按照属性的显著性重新排序;如果实体中找不到属性词,则将其放在末尾,依次排列;依据症状描述中的属性集合,依次到家禽疾病知识图谱中进行查询匹配,先查询含有本轮症状描述属性集合所包含的症状集合,确定本轮备选症状以及疾病;其中如果初步扫描中的备选疾病不止一个,则在所确定的数据集合中进行决策树算法,如果最后疾病为空,则此算法不适合,转而进行评分算法;如果初步扫描中的备选疾病为空或唯一,则在全部数据集合中进行评分算法;
(303)确定诊断疾病,并在家禽疾病数据库中查询相关疾病治疗方案和预防手段;
所述决策树算法,具体为:输入症状实体集合,设症状实体集合为S,设疾病集合为D,置D初始值为所有疾病集合;循环症状实体集合S,下标为i,每次循环调用cypher语句查询和当前症状实体相关联的疾病实体Di,更新疾病集合D,其中有D:=D∩Di,直到循环结束,得出最终疾病集合D;
所述评分算法,具体为:输入症状实体集合,循环症状实体集合,每次循环调用cypher语句查询与当前症状相关联的疾病,并构建疾病队列;再调用cypher语句查询当前症状与疾病队列中疾病对应的评分,并加入队列<疾病,评分>,直到症状数组循环结束;症状数组循环结束后,开始循环队列<疾病,评分>,每次循环判断当前疾病是否出现在评分数组中,如果否,则将当前疾病加入评分数组中,并赋予评分初值;如果是,则将评分累加,更新对应疾病评分值,直到队列<疾病,评分>循环结束;队列<疾病,评分>循环结束后,整理评分数组,并计算输出评分最高的疾病。
2.根据权利要求1所述的一种基于知识图谱的家禽疾病诊断系统,其特征是还包括家禽疾病知识图谱,家禽疾病数据库,用户诊断数据库;知识图谱模块的信号输入端与家禽疾病知识图谱的信号输出端连接;疾病诊断模块的信号输入端、输出端分别与家禽疾病数据库的信号输出端、输入端对接;用户提交模块的信号输出端与用户诊断数据库的信号输入端连接。
3.根据权利要求1所述的一种基于知识图谱的家禽疾病诊断系统,其特征是所述知识图谱模块包括相关家禽疾病数据的爬取、家禽疾病数据的结构化处理、家禽疾病数据的实体识别和关系抽取、家禽疾病结构化数据的整合、家禽疾病知识图谱的构建,最终实现数据可视化,并与疾病诊断模块进行数据交互,具体为疾病诊断模块发送诊断请求后,知识图谱模块利用家禽疾病知识图谱进行查询;
所述用户提交模块包括用户对家禽发病症状信息的输入和后台数据的提取,用户对家禽发病症状信息的输入和后台数据的提取共同完成用户提交数据的获取和分析;除此之外,用户提交的完整疾病诊断数据将保存到用户诊断数据库,并显示在公开求助页面,便于社区交流,为后续复诊的准确提供数据的支撑;用户提交的完整疾病诊断数据通过用户提交模块的输出端和疾病诊断模块的输入端传送到疾病诊断模块,此过程为疾病诊断的初步工作;
所述疾病诊断模块的实现包括两个部分,首先是对用户提交模块所提取的信息进行预处理,即对用户所提交的家禽发病症状信息进行过滤和模式匹配,形成预处理后的标准症状关键词,再结合家禽疾病知识图谱搜索和推理,通过基于决策树和评分系统的诊断算法,返回较为准确的疾病报告和相应的治疗方案,此数据通过疾病诊断模块的输出端和用户提交模块的输入端传送到用户提交模块,用户提交模块接收数据后将在微信小程序页面显示给用户,从而形成完整和体系化的家禽疾病诊断系统。
4.根据权利要求1所述的一种基于知识图谱的家禽疾病诊断系统,其特征是所述知识图谱模块的工作过程包括如下:
(101)搜索相关兽医网站,爬取有关疾病症状数据语料库;
(102)对疾病症状数据语料库中的相关疾病症状语料数据进行预处理,转化成标准的非结构化数据;所述非结构化数据指不含标点符号以及空格的语段,依据此归纳成小型诊断书;
(103)对小型诊断书进行命名实体识别和关系抽取,采用BiLSTM-CRF模型进行家禽疾病的命名实体识别,根据序列标注识别出对应的疾病和症状实体,并采用基于单词的依存关系进行关系抽取;
(104)将识别的实体和抽取的关系进行整合和细化,分离出属性词,并归纳成JSON文件;
(105)设计合理的知识图谱构建程序,利用整合和细化后归纳出的JSON文件构建家禽疾病知识图谱,具体为通过Python编程语言并嵌入cypher语句,在图数据库软件neo4j中创建家禽疾病数据的实体和关系。
5.根据权利要求4所述的一种基于知识图谱的家禽疾病诊断系统,其特征是所述(104)将识别的实体和抽取的关系进行整合和细化,分离出属性词,并归纳成JSON文件;具体过程包括如下:
给定一组基于专家提供的家禽疾病特征词集合C={C1,C2,...,Cn},抽取出的症状实体集合为S={S1,S2,...,Sn},通过模糊匹配计算当前家禽疾病症状所有特征词词频CF,具体如下:
其中S(sj=ck)为症状实体集合中包含家禽疾病特征词的样本,CFk表示家禽疾病特征词Ck的词频,k=1,2,...,n,由于并不是所有家禽疾病特征词都包含在症状实体集合中,所以根据症状实体集合形成的属性词集合数量小于家禽疾病特征词数量。
6.根据权利要求5所述的一种基于知识图谱的家禽疾病诊断系统,其特征是所述属性词集合的形成包括:将所有症状实体进行相似度匹配,分成若干类集合,根据家禽疾病专家总结的属性词汇和常用语义,将属性词集合聚合成簇,统计高频词汇,根据统计的结果给定一个合理的数值k,其中k值根据总词频数的中位数决定,然后将词汇频率高于k的家禽疾病特征词提取出来,去除其中一些无关词,成为属性词集合,用于将杂乱的症状关联起来,其中属性词集合按属性词的词频从高到低排序。
7.根据权利要求1所述的一种基于知识图谱的家禽疾病诊断系统,其特征是所述用户提交模块的工作过程包括如下:
(201)用户在微信小程序端填写疾病诊断表单,其中填写内容包括主要症状;填写疾病诊断表单时的填写内容还包括养殖厂、饲养品种、发病日期、发病日龄、发病数量、饲养只数、病死数量、主要症状描述、希望得到的帮助中的一种或若干种数据,填写疾病诊断表单时的填写内容还包括图片上传;其中主要症状描述是必填项;
(202)小程序后端获取用户填写的疾病诊断表单数据并保存进MYSQL数据库,并公开求助展示希望获得的帮助;
(203)小程序端通过请求将疾病诊断表单中数据发送给服务器,网页后端通过request请求获取用户的症状描述数据,并传送给诊断算法。
CN202210305715.2A 2022-03-25 2022-03-25 一种基于知识图谱的家禽疾病诊断系统 Active CN114610902B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210305715.2A CN114610902B (zh) 2022-03-25 2022-03-25 一种基于知识图谱的家禽疾病诊断系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210305715.2A CN114610902B (zh) 2022-03-25 2022-03-25 一种基于知识图谱的家禽疾病诊断系统

Publications (2)

Publication Number Publication Date
CN114610902A CN114610902A (zh) 2022-06-10
CN114610902B true CN114610902B (zh) 2024-09-06

Family

ID=81867341

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210305715.2A Active CN114610902B (zh) 2022-03-25 2022-03-25 一种基于知识图谱的家禽疾病诊断系统

Country Status (1)

Country Link
CN (1) CN114610902B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115563286B (zh) * 2022-11-10 2023-12-01 东北农业大学 一种基于知识驱动的奶牛疾病文本分类方法
CN116663536B (zh) * 2023-08-01 2023-10-24 北京惠每云科技有限公司 一种临床诊断标准词的匹配方法及装置
CN116910374B (zh) * 2023-09-13 2024-01-02 中电科大数据研究院有限公司 一种基于知识图谱的康养服务推荐方法、装置及存储介质
CN117524405B (zh) * 2024-01-05 2024-03-26 长春中医药大学 一种基于云计算的妇科护理方法智能选择系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111639190A (zh) * 2020-04-30 2020-09-08 南京理工大学 医疗知识图谱构建方法
CN113889259A (zh) * 2021-09-06 2022-01-04 浙江工业大学 一种知识图谱辅助下的自动诊断对话系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107145744B (zh) * 2017-05-08 2018-03-02 合肥工业大学 医学知识图谱的构建方法、装置及辅助诊断方法
CN109166622B (zh) * 2018-08-20 2022-08-05 重庆柚瓣家科技有限公司 基于知识图谱的疾病预诊系统
CN112307215B (zh) * 2020-04-20 2024-07-19 北京京东拓先科技有限公司 数据处理方法、装置及计算机可读存储介质
CN111816301B (zh) * 2020-07-07 2024-07-02 平安科技(深圳)有限公司 医疗问诊辅助方法、装置、电子设备及介质
CN113516164A (zh) * 2021-04-30 2021-10-19 辽宁工程技术大学 一种融合知识图谱与深度学习的果树病虫害诊断方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111639190A (zh) * 2020-04-30 2020-09-08 南京理工大学 医疗知识图谱构建方法
CN113889259A (zh) * 2021-09-06 2022-01-04 浙江工业大学 一种知识图谱辅助下的自动诊断对话系统

Also Published As

Publication number Publication date
CN114610902A (zh) 2022-06-10

Similar Documents

Publication Publication Date Title
CN114610902B (zh) 一种基于知识图谱的家禽疾病诊断系统
CN111125422B (zh) 一种图像分类方法、装置、电子设备及存储介质
CN110866124B (zh) 基于多数据源的医学知识图谱融合方法及装置
CN112667799B (zh) 一种基于语言模型和实体匹配的医疗问答系统构建方法
CN108182262A (zh) 基于深度学习和知识图谱的智能问答系统构建方法和系统
CN109271506A (zh) 一种基于深度学习的电力通信领域知识图谱问答系统的构建方法
CN112527999A (zh) 引入农业领域知识的抽取式智能问答方法及系统
CN110675944A (zh) 分诊方法及装置、计算机设备及介质
CN107491655B (zh) 基于机器学习的肝脏疾病信息智能咨询系统
WO2023029502A1 (zh) 基于问诊会话构建用户画像的方法、装置、设备和介质
CN109906450A (zh) 用于通过相似性关联对电子信息排名的方法和装置
CN110277167A (zh) 基于知识图谱的慢性非传染性疾病风险预测系统
CN113590783B (zh) 基于nlp自然语言处理的中医养生智能问答系统
CN110189831A (zh) 一种基于动态图序列的病历知识图谱构建方法及系统
CN113764112A (zh) 一种在线医疗问答方法
CN112559684A (zh) 一种关键词提取及信息检索方法
CN112989208B (zh) 一种信息推荐方法、装置、电子设备及存储介质
CN114238653B (zh) 一种编程教育知识图谱构建、补全与智能问答的方法
CN116541472B (zh) 一种医疗领域知识图谱构建的方法
CN116340544B (zh) 一种基于知识图谱的中医药古籍可视分析方法与系统
CN112559770A (zh) 文本数据的关系抽取方法、装置、设备及可读存储介质
US20230084492A1 (en) Ontological modeling method and system, storage medium and computer device for flower pests and diseases based on knowledge graph
CN115293161A (zh) 基于自然语言处理和药品知识图谱的合理用药系统及方法
CN113868387A (zh) 一种基于改进tf-idf加权的word2vec医疗相似问题检索方法
CN111325018A (zh) 一种基于web检索和新词发现的领域词典构建方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant