§6.3 医学知识获取
一、医学知识的类型及常用表示方法
医学专家系统智能水平的高低在于系统拥有知识的数量和质量,医学知识的获取是医学专家系统中最重要也是最困难的一步,正如E.A.Feigenbaum所说:“知识获取是人工智能研究的中心问题中最重要的,是人工智能研究的关键性难关。”因此,研究和开发医学专家系统首先就得获取医学知识。医学知识分为两种类型:
(1)科学知识或者称为正式知识。这类知识来自医学文献、书籍或医学期刊论文,主要包括医学认知(Cognition)或推理(Deduction),是临床医生必须掌握的生物学过程的原理,以及病理生理状态与疾病症状的关系等。
(2)经验性知识。如记录完整的病人数据库和行之有效的指导原则等,这类知识与识别(Recognition)或归纳(Induction)有关,这是临床医生在实践中运用所掌握的科学知识对多个病例分析、判断、总结和积累起来的行之有效的、类似于临床直觉的、比较抽象的知识,这些知识的获得或应用有时连他们自己也未必清楚。
实际上,这两类知识是临床知识域的两端,临床医生根据具体病人的症状和体征进行推理的时候,这两种知识是相互交织的。因此要想更加真实模拟医生的诊断过程,在构建医学知识库时这两类知识都是必需的。科学知识由于主要是以书面形式存在的,具有较好的系统性和结构性,因此获取相对较容易。而经验性知识属于“仁者见仁,智者见智”,每个医生的认识都会不一样,而且难以描述和形式化,因此,这类知识获取相当困难。
无论是医学科技文献中的科学知识还是临床医生的经验性知识,它们通常是用自然语言、图形、表格等形式表示的,在用人工智能方法模拟医学过程时,必须将这些形式的知识用合适的形式来表示,这样才能使知识方便地在计算机中储存、检索、使用和修改,并且在设计和实现医学决策支持时,知识的表示方法与医学问题的求解方法和过程密切相关。
知识表示的关键是选择合适的形式表示知识,即寻找知识与表示之间的映射。它研究的主要问题是设计各种知识的形式化表示方法,研究表示与控制的关系、表示和推理的关系以及知识表示和其他领域的关系。一般而言对知识表示有如下要求:
(1)表示能力:能够将问题求解所需的知识正确有效地表达出来。
(2)可理解性:所表达的知识简单明了易于理解。
(3)可访问性:能够有效地利用所表达的知识。
(4)可扩充性:能够方便、灵活地对知识进行扩充。
为满足上述要求,在医学专家系统中常用的知识表示方法主要有以下几种:
(1)一阶谓词逻辑表示法。
一阶谓词逻辑表示法具有自然性、精确性、严密性和容易实现等优点,但同时存在不能表示不确定性知识、组合爆炸及低效率等局限性。
(2)产生式表示法。
产生式表示法具有自然性、模块性、有效性和清晰性等优点,同时也有效率不高、不能表达具有结构性的知识的不足。它是目前医学专家系统中应用最多的一种知识表示模式,如诊断和治疗细菌感染性疾病的MYCIN就是采用这种方式。
(3)框架理论表示法。
框架表示法最突出的特点是它善于表示结构性的知识,能够把知识的内部结构关系及知识之间的联系表示出来。框架表示法的另一个重要特性就是继承性,继承性不仅减少了知识的冗余,而且能较好地保证知识的一致性,但它的缺点是不善于表示过程性的知识。用框架表示法表示的知识系统不仅包括由框架网络构成的知识库,还有一组程序构成的框架推理机,框架推理主要通过框架匹配与填槽来实现。框架表示系统比较受欢迎,很多医学知识获取工具都采用这种方式,如Stanford的Musen等人开发的Protégé 系列医学知识获取工具即采用了框架表示法。
(4)语义网络表示法。
语义网络表示法同样是一种结构化的知识表示方法,但它比框架表示法具有更大的灵活性,而且直观性更强。但是语义网络没有公认的形式化表示体系,一个给定的语义网络所表达的含义完全依赖于系统预定义和自定义的语义关系,因此此种方法具有非严格性和复杂性等局限。
(5)面向对象的知识表示方法
在面向对象方法中,对象和传递消息分别表现事物及事物间相互联系的概念。类和继承是适应人们一般思维方式的描述范式。方法是允许作用于该类对象上的各种操作。这种对象、类、消息和方法的程序设计范式的基本点在于对象的封装性和类的继承性。通过封装能将对象的定义和对象的实现分开,通过继承能体现类与类之间的关系,以及由此带来的动态联编和实体的多态性。面向对象方法已经成为基于知识的人工智能软件开发的主要方法。
(6)神经网络表示法
人工神经网络的发展为难以表达的隐性知识表示开辟了一条新的有效途径。神经网络具有自学习、联想记忆、信息分布存储、计算高度并行、容错等功能,它可以由专家提供范例及相应的解,通过特定的学习算法对样本学习并不断修改网络各神经元之间的连接权而获得有效的知识,并把这些知识经验分布到网络的连接权上,在这里知识规则变为数字形式,方便了知识库的组织和管理,同时知识推理变为网络中隐含模式对输入的并行竞争,具有高效性。但是由于神经网络对知识的表示和存储是分布到网络神经元的各连接节点上的,相当于一个黑箱,因此难以直接看出其含义。
(7)模糊知识表示法
医学领域中的研究对象非常复杂,在医疗过程中,模糊概念与模糊判断比比皆是。因此,传统的用于精确知识表示的集合论方法难以满足医学知识的表达要求,而模糊集合论正好弥补了这样的缺陷。模糊知识表示法的关键是隶属度的确定,目前,隶属度的确定方法尚无明确的理论指导,因此具有较大的任意性。
(8)综合表示法
前面几种知识表示方法各有优点和不足之处。在设计实际医学知识库时,由于医学知识往往同时含有多种特性,常常难以用某一种表示方法来表示,而且在解决实际问题中,我们也常常不只采用单一的知识表示方法,而是采用综合表示法,即根据具体问题具体分析的原则,结合每一种表示法的优点,扬长避短。采用综合表示法,可以使知识库中的知识具有高度模块化、面向对象结构、符合认知模式、推理方法灵活和易于知识的维护等优点。
在具体构建医学专家系统知识库时,医学知识表示方式的选择过程如图6.3所示。首先应该划定所建造专家系统要解决问题的范围,即认清系统需求是什么,相应的专家系统应有哪些功能;第二步应该根据系统需求而非技术观点来决定系统功能(输入/输出),第三步考虑医学专家系统的技术设计活动,主要是推理机的设计,确定采用何种推理方式;最后根据推方式和输入输出需求确定何种知识表示方法,可以从所有知识表达方式中选择一种较合适的方式,也可以将两种或两种以上知识表示方法的优点结合起来,采用综合表示法,也可以根据具体情况创造一种新的知识表达方式,使知识表示更具有针对性。
图6.3 构建医学知识库时知识表示方式的选择过程
二、医学知识获取的过程及方式
获取医学知识是一个不断对医学知识进行抽取、转换、输入、检测和求精的循环过程。这一过程如图6.4所示。
图6.4 医学知识获取的循环过程
(1)抽取知识。知识的主要来源是各领域的医学专家及相关的医学文献,但知识库所需知识并不都是以某种现成的形式存在于这些知识源中,为了从中得到所需的知识需要做大量的工作。医生在给病人看病时虽然可以自如地处理各种疑难杂症,但由于缺少总结,不一定能有条理地说出处理疾病的道理和原则,况且有的经验性知识甚至只可意会不可言传。另外,医学专家一般都有不熟悉专家系统的有关技术。因此,为了从获取有用的知识,知识工程师需要反复多次地与医学专家交谈,并且有目的地引导交谈的内容,然后通过分析、综合、去粗取精、去伪保真,归纳出可供建立知识库的知识。
知识的另一来源是系统自身的运行实践,一个系统初步建成后很难做到完美无缺,通过运行才会发现知识不够健全,需要补充新的知识。此时除了请医学专家提供进一步的知识外,还可由系统根据运行经验从已有的知识或实例中演绎、归纳出新知识,补充到知识库中去,这就是专家系统通过自身学习提取知识。
(2)知识转换。医学专家或科技文献中的医学知识通常是用自然语言、图形、表格等形式表示的,在建立医学知识库时,需要将这些形式的知识转换成计算机能够识别、运用的形式。知识转换一般分为两步进行:第一步是把从专家及文献资料抽取的知识转换为某种知识表示模式,如产生式规则、框架等;第二步是把该模式表示的知识转换为系统可直接利用的内部形式,这一步工作可以通过输入及编译来实现。
(3)知识输入。知识输入是指把用适当的知识表示模式表示的知识经过编辑、编译送入知识库的过程。知识的输入一般有两种途径:一种是得用计算机系统提供的编辑软件;另一种是用专门编制的知识编辑系统,即知识编辑器。
(4)知识检测。知识库的建立是通过对知识进行抽取、转换、输入等环节实现的,任何环节上的失误都会造成知识错误,直接影响到医学专家系统的性能。因此必须对知识进行一致性和完整性等检测,同时还要去除那些冗余的、矛盾的知识。
(5)知识求精。知识库中除了可能存在冗余、矛盾等问题之外,在系统运行时还可能产生错判或漏判等错误,例如,对于一个心脏病诊断专家系统来说,根据给定条件,把不应诊断为冠心病的病例诊断为冠心病,这就是错判,而把本来是冠心病的病例却没有诊断为冠心病,这就造成了漏判。因此专家系统设计完成以后,需要用一批已知结论的实例考核知识库,然后对知识进行适当的修正,以提高知识库的准确性。知识求精方法与知识的表示方法有密切关系。
获取医学知识通常有两种方式,一种是非自动知识获取,另一种是自动知识获取,二者各有优势。
(1)非自动知识获取
非自动知识获取方式主要是指知识工程师有准备、有意识地从领域专家处或医学文献中获取比较成熟的、比较有规则的医学知识的方式。最常见的非自动知识获取方式是知识工程师和医学专家面对面进行反复交谈交流,或阅读有关文献,获取所需要的原始知识。这种知识获取方式一般分为两个阶段,首先由知识工程师从医学专家和有关医学文献中获取知识,然后由知识工程师经过提取和转换后用某种知识编辑软件输入到知识库中。由知识工程师预先设计开发好的专门医学知识获取工具可以简化一些劳动。
非自动方式是目前最普遍的医学知识获取方式,最早的MYCIN就是其代表。这种方法的优点就是知识获取直接,具有系统性,可向医学知识库中随时补充新的病例及规则等,并可在需要时对知识库修改,提高系统性能。但这种方式的缺点也很多,最显著的缺点就获取过程费时费力,无论是知识工程师还是专业医生,劳动量都非常大;其次,它只适合较小的医学知识库的构建,知识比较领域狭窄;第三,知识的来源只有少数医生的知识和经验,其知识准确性、可靠性和完整性待商榷;最后,由于知识工程师本身对医学知识及规则并不十分清楚,他们在知识整理和输入过程中完全可能出错。
(2)自动知识获取
显然,传统的、通过知识工程师获取知识的方法不能完全满足日益发展的医学专家系统的需求,自动获取知识成为人们新的研究目标,并且知识系统只有在取得自动化知识获取能力之后,才能成为真正的高智能系统,这也是现代医学专家系统追求的目标。理想状态下,在自动知识获取过程中,知识工程师的工作应该完全由自动知识获取系统本身所代替。图6.5就给出了这种知识获取模式。在这种获取模式中,医学文献及论著、医生的讲话、医学图像以及一些医学专家系统得出的有用的知识经验及规则等能够通过知识翻译系统对知识进行自动识别、归纳、总结等,并把它们整理成预先设定好的模式存储进知识库中,供查询和使用,而医院里的一些常规检查结果如生化检查等可以通过数据采集器直接采集检测结果,再由知识提取器将这些知识存储到医学知识库中,供临床医生或病人使用或查询。
医学知识的自动获取研究目前还处于刚刚起步阶段,但是在医学诊断规则自动生成这一方面已取得了初步的进展,许多机器学习方法如人工神经网络、遗传算法等在规则提取方面有很大的应用潜力。虽然目前提取出的规则还很粗糙,有待进一步求精,但它们为医学诊断规则的智能生成展示了希望和前景。
图6.5 医学知识的自动获取模式
三、医学知识获取方法的发展趋势
医学知识的获取有多种策略和方法,从目前知识获取的发展和要求来看,医学知识获取具有以下的发展趋势:
(1)由各领域专家构建医学知识库和开发医学专家系统:随着知识级假设等概念与问题求解方法的日益成熟,专用的知识获取工具越来越成熟,一个很明显的趋势就是在知识获取过程中将逐渐排除知识工程师,让各领域的专家直接创建和编辑知识库。
(2)高层次的知识表达:第二个相关趋势就是知识表示逐渐脱离内部表达方式(如产生式规则等),而转向包括专业概念(如疾病、检测结果和病原体等)的更抽象的表达方式。
(3)开发更友好的用户界面:面向对象技术和可视化系统使人们更可以开发更便捷的、更人性化的用户点击界面,现在系统如OPAL和QMR-KAT都采用的可视化界面。
(4)使用自然语言:长期以来,人们都希望用自然语言获取知识,这在早期系统TEIRESIAS中非常原始。遗憾的是现在自然语言处理的艺术水平还远远不能支持自然的、无格式的文本输入。如果自然语言处理技术能迅速成熟,知识获取方法的黄金时代就为期不远了。
(5)知识库的集体合作开发及共享。知识库的建立是一项大的系统工程,不是单靠个人力量就能完成的,应该由集体合作来共同完成,建立后的知识库通过共享才能进一步发展和使其充分利用。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。