Python PyKnow 诊断引擎 - 基于规则的疾病诊断系统
from\u0020pyknow\u0020import\u0020*
class\u0020Symptom(Fact): \u0020\u0020""" \u0020\u0020症状事实类 \u0020\u0020""" \u0020\u0020pass
class\u0020Disease(Fact): \u0020\u0020""" \u0020\u0020疾病事实类 \u0020\u0020""" \u0020\u0020pass
class\u0020DiagnosisEngine(KnowledgeEngine): \u0020\u0020""" \u0020\u0020诊断引擎类 \u0020\u0020"""
\u0020\u0020@Rule(Disease('flu')\u0020&\u0020Symptom('cough')\u0020&\u0020Symptom('fever')) \u0020\u0020def\u0020diagnose_flu(self): \u0020\u0020\u0020\u0020self.declare(Disease('Influenza'))
\u0020\u0020@Rule(Disease('cold')\u0020&\u0020Symptom('cough')\u0020&\u0020Symptom('sore\u0020throat')) \u0020\u0020def\u0020diagnose_cold(self): \u0020\u0020\u0020\u0020self.declare(Disease('Common\u0020Cold'))
\u0020\u0020@Rule(Disease('allergy')\u0020&\u0020Symptom('sneezing')\u0020&\u0020Symptom('itchy\u0020eyes')) \u0020\u0020def\u0020diagnose_allergy(self): \u0020\u0020\u0020\u0020self.declare(Disease('Allergic\u0020Rhinitis'))
\u0020\u0020@Rule(Disease('unknown')\u0020&\u0020Symptom('unknown')) \u0020\u0020def\u0020diagnose_unknown(self): \u0020\u0020\u0020\u0020self.declare(Disease('Unknown\u0020Disease'))
#\u0020实例化诊断引擎 engine\u0020=\u0020DiagnosisEngine()
#\u0020用户输入症状信息 engine.reset() engine.declare(Symptom('cough')) engine.declare(Symptom('fever'))
#\u0020运行推理引擎 engine.run()
#\u0020输出诊断结果 for\u0020fact\u0020in\u0020engine.facts: \u0020\u0020if\u0020isinstance(fact,\u0020Disease): \u0020\u0020\u0020\u0020print("Diagnosis:\u0020",\u0020fact)
原文地址: https://www.cveoy.top/t/topic/pwQx 著作权归作者所有。请勿转载和采集!