胡志洁
(天津市医药科学研究所,天津 300020)
摘 要: 针对肺心病临床综合病症指标复杂、极易造成因临床医生经验少而误诊的现实问题,研制基于肺心病的诊疗专家系统,以提高其临床诊断率和治愈率。该系统采用Visual Prolog和Visual Basic相结合的方法设计完成,其界面由Visual Basic实现,推理机由Visual Prolog设计完成,采用正向与反向相结合的推理策略。应用SQL Server 2008构建数据库、知识库并完成维护工作。经临床验证,该系统设计合理,科学实用且准确率高,提高了肺心病的诊疗率,提升了临床青年医生的诊疗水平。
关键词: 专家系统;肺心病;知识库;推理机;规则
0 引言
专家系统是人工智能领域最活跃和最广泛的领域之一,它能模拟专家的大脑思维活动,运用逻辑推理技术进行推理判断,是求解专门问题的计算机程序系统[1]。医学专家系统通过收集医学专家的经验知识,用计算机程序模拟临床医学专家分析病症的思维过程和辨病方法,得出与医学专家一样的结论[2]。近年来,随着人工智能和计算机技术的不断发展,医学专家系统的功能和作用更加实用,智能性也越来越好,涉及的领域也越来越广。然而有关肺心病诊断与治疗的临床医学智能诊疗专家系统的开发,在国内外尚不多见。
肺心病是我国当前发病率较高的常见病、多发病,特别是目前的雾霾天气,严重威胁到人民健康。由于其综合病症指标复杂多变,极易造成青年临床医生因经验少而误诊的现实问题。本文收集和归纳总结了有30年以上临床经验的资深知名肺心病专家的诊断经验和治疗方法,利用人工智能计算机技术,模拟肺心病专家诊断的经验和辩证治疗的思维过程,研发了针对肺心病的诊疗专家系统。利用该系统可帮助青年医生迅速解决临床诊疗中遇到的实际问题,迅速提升青年医生的临床诊疗技能。
1 系统设计
肺心病诊疗专家系统由知识库、数据库、推理机、知识获取器、解释器、字典库和人机交互界面等几个部分组成。该系统是利用输入患者临床病症指标的各种数据,通过知识库中保存的专业知识和国内外该病的诊断规则,模拟肺心病专家的临床诊治思维模式,通过推理机的逻辑推理,对规则库中的规则进行全面搜索、匹配、分析和判定,最后给出诊断结论。
1.1 知识库的构建
知识库保存的是系统求解问题所需的知识。它是专家系统作出决策的依据[3]。知识库的质量好坏直接影响专家系统的好坏[4]以及系统判定的精确度和准确率。该系统知识库主要包含肺心病知名专家长期积累的有关肺心病诊断经验和肺心病的临床指症表现及其鉴别、诊断的标准、相关学术论述、著作和教科书中关于肺心病的专业知识。它们构建成知识库中疾病数据库和诊断规则库。疾病数据库保存的是肺心病的各种专业知识,诊断规则库则保存肺心病诊断和治疗过程中所用的推理规则,并使用特定的编号作为规则ID命名每条规则。系统的诊断规则库是根据各类诊断规则优先按从大到小顺序保存,同一类规则中同一诊断治疗规则则依据治疗顺序保存,以保证优先权高的规则最先与数据库中的数据进行比对、匹配。
系统采用SQL Server 2008构建知识库,以及管理知识库中的知识。肺心病知识和诊断规则分别用关系数据库中的疾病信息表和规则表保存,用SQL语言完成对所有数据库图表的描述,并可对它们进行检索、增加、修改、删除和更新等。
1.2 推理机
推理机是专家系统的“大脑思维”灵魂机构,其主要作用是模拟专家大脑思维辩证施治的分析过程,控制执行对问题的求解并证明某个假设的正确性[5]。推理是边搜索边匹配的过程。该系统采用产生式系统,基于规则的推理,采用正向不精确推理与反向精确推理相结合的推理策略。
1.3 数据库的构建
数据库是用来保存用户提供的各种初始数据、对问题的描述和推理过程中得到的各种中间数据和推理结果[6]。该系统数据库包括三类内容:(1)患者信息资料;(2)供系统运行分析时需要使用的信息资料,如各种回归方程、用于有数学关系式的运算等;(3)系统推理过程中所得到的中间结果及推理获得的疾病名称等。
系统用SQL Server 2008构建数据库。利用SQL语言建立患者初始信息表、临床症状记录表、化验检查记录表、X线图像参数表、CT及MRI检查表等基本数据表。它们由患者编号关联在一起,以完成患者全部临床诊断数据的描述。
1.4 解释器
解释器的主要功能是针对用户提出的问题进行解答[7]。在该系统中,它负责向用户解释系统的行为,对推理结论进行解释,并向用户输出推理的结论。
1.5 字典库
字典库用于保存医学专属名词和疾病名词的解释及缩写,并用符号代替文字保存到字典库中,便于推理和比对时使用,并与知识库同步实时更新。
1.6 知识获取器
知识获取器用于知识获取。将肺心病的事实性知识和肺心病专家特有的经验和诊断标准变成计算机可执行的语句和程序,以完成肺心病知识库和字典库的构建。它也完成对知识库、字典库的增加、修改、删除和更新及维护工作。
1.7 人机交互界面
人机交互界面完成系统的输入和输出工作。该系统将输入的信息变为系统程序认可的表达形式,再交给程序指定的相应模块去处理。系统通过人机交互界面输出系统的诊断结果和各种数据。
2 知识表示
知识表示是用计算机可处理、可接受的符号和方式来模拟人类专家进行思维和推理。该系统知识库中的知识是以IF<前提>THEN<结论>CF形式表示[8]。一条规则的关系模式RULELIB可定义如下:
RULELIB(RULENUM,RULENAME,RULE,CF)
RULE(前提,结论)
该系统中,前提主要指患者的临床症状,结论则主要指患者患的肺心病类型。CF是有前提所描述的症状时肺心病发生的概率,即规则可信度。可信度区间为(-1,1)。系统中CF采用了定量参数、半定量参数和布尔参数排列,再结合肺心病专家经验思维判断,综合临床已发生的病症指标和可能性进行组合、叠加、匹配后所确定。
3 推理机设计
推理机即为一个解释器,它解释和执行知识库中的规则,从而得出结论。该系统推理机通过搜索知识库中的诊断规则,选出满足当前用户输入条件的规则,并根据规则的优先级别,执行优先权高的规则,当规则的优先权相同时先执行最先满足条件的规则。推理机采用正向不精确推理与反向精确推理相结合的二次诊断推理策略,符合肺心病病种其复杂多变的临床症状表现的需求。
该系统推理机的推理流程如图1所示。
Prolog语言是逻辑型智能语言,能很高效地实现逻辑推理功能。该系统推理机采用Visual Prolog语言完成推理过程,推理机设计利用Visual Prolog语言通过对规则的编写来实现。采用Visual Prolog V7.3提供的ODBC和SQL接口模块SQLBIND,实现推理机与知识库、数据库的连接和调用。由于SQL Server 2008具有对SQL语句自动优化的特点,降低了调用和使用知识的时间,大大提高了系统的推理效率。
4 系统实现
4.1程序开发工具
基于肺心病的诊疗专家系统编程语言为Visual PrologV7.3和Visual Basic 6.0。采用SQL Server 2008构建数据库、知识库以及完成维护工作。系统在Windows XP操作系统下运行。
4.2系统实现
采用Visual Prolog、Visual Basic和SQL Server 2008完成针对肺心病的诊疗专家系统软件编制。Visual Prolog语言完成推理过程,Visual Basic语言实现系统界面的设计。SQL Server 2008用来完成数据库、知识库的构建以及完成其维护工作。
该系统具有的主要功能模块包括病人信息管理、疾病诊断、知识库管理、帮助系统和系统维护。系统运行后,显示肺心病诊疗专家系统的系统界面,系统根据用户的选择,执行并完成相应模块的程序操作。
该系统的诊断界面如图2、图3所示。
例如:选择肺气肿的诊断,点击“开始诊断”,进入肺气肿的诊断界面,如图3所示。在图3中显示的14项中,如有3项被选中,即可诊断为肺气肿。
该系统利用SQL查询语句对肺心病及其病例检索,降低了系统运行过程中对病例检索算法的实现难度,使用SQL语言保存、更改和添加更新数据库、知识库中的信息,极大地提升了该系统的运行效率。
5 结论
本文研制的针对肺心病的诊疗专家系统,设计科学、实用,很好地实现智能辨病,符合肺心病病种复杂多变的临床症状表现,且适合我国专科病种的规范化管理,提高了肺心病的临床诊断率和治愈率,为临床医生提供了一种快速智能辅助诊断的方法,大大提高了临床医生的诊疗水平。
该系统采用正向不精确推理与反向精确推理相结合的二次诊断的推理策略,提高了肺心病的确诊率。系统还能回溯已执行的规则,把诊断依据和推理思路重现出来,便于临床医生学习使用。经350例临床病例实践研究,证实了该系统实用性好、准确性高,操作简便,易于掌握。系统可随着该病种临床诊断的发展随时知识更新,从而保证了该系统可长期使用。该系统在临床青年医生中获得了广泛认可和使用。
参考文献
[1] 李峰,庄军,刘侃,等.医学专家决策支持系统的发展与现状综述[J].医学信息,2007,20(4):527-529.
[2] WINSTANLEY T, COURVALIN P. Expert systems in clinical microbiology[J]. Clin Microbiol Rev, 2011,24(3):515-556.
[3] 冯怡,杜若飞,洪燕龙,等.关于构建中药制剂工艺设计专家系统的思考[J].世界科学技术-中医药现代化,2013,15(1):25-28.
[4] 郭晓军,高磊磊.基于模糊推理中医诊断专家系统[J].机械设计与制造工程,2013,42(5):63-65.
[5] 雷玉凯.创伤骨科专家诊断治疗系统的研制[J].中外医学研究,2011,9(6):96-97.
[6] 张九妹,曹宏亮.浅谈医学专家系统[J].实用预防医学,2008,21(9):10-12.
[7] 申龙朵,段世均,汤炜.专家系统在口腔医学领域中的应用进展[J].现代生物医学进展,2012,12(13):2585-2587.
[8] 钟昌乐,钟勇,马春全,等.基于Spring框架的畜禽疾病诊断专家系统的设计与实现[J].计算机应用与软件,2010,27(4):87-89.