医学语义库建立对医学人工智能的重要性

前几天经朋友介绍与一搞医疗人工智能的哥们聊天,对方大谈了一番人工智能在医疗方面的应用,言语间充斥着各种人工智能相关的术语,尤其是医学文本的自然语言处理,包括电子病历后结构化的处理等,但是对医疗专业方面言之甚少。我听了半天后忍不住问了一句“你们的医学语义库是怎么建立和组织的?”那哥们儿愣了一下说“我们按照ICD10建立的,但这不重要,最重要的是我们的人工智能技术和架构”。我顿时无语了,很快结束了谈话。 

人工智能技术脱离了医疗本质就不能称之为医疗人工智能。做医学文本自然语言处理,不搞好医学语义库建设,等于学了半天英语但是不背英语单词一样,何况医学的语义还不是外行人看到的那么简单,今天在机场空着,正好说说我的看法。 

首先,医学语义库的建立在于医学语义的理解,在外行看来医学语义库只需要把临床上用到的各种术语进行穷举并建立列表后就可以了。但是在我看来不是这么回事,穷举医学术语不是不可以,只是要考虑到术语穷举后并不代表了对术语所表达的含义进了理解。医学术语是建立在对医学概念的理解基础上而形成的,每个概念可以有1~n个术语,每个术语包含1~n个关键词,关键词又分为了包含关键词和排除关键词,每个关键词又分为显性含义和隐性含义2类。其逻辑关系如下:

 

举个简单例子,临床上的一个诊断——急性阑尾炎,在概念上涵盖了几个意思:首先是阑尾炎症,包括了解剖部位和病理病变类型,其次,是急性的,不是慢性,最后还包含了一个隐性含义,即该阑尾炎是单纯性的,没有发生化脓和穿孔,更没有腹膜炎等并发症。这个概念在术语上包括急性阑尾炎、阑尾炎急性发作、单纯性急性阑尾炎等术语,并且与急性化脓性阑尾炎等概念有明确差异。相同概念下多个术语可以包含相同或相近的关键词,且关键词必须区分包含关键词和排除关键词,而排除关键词往往又是隐含关键词,比如对急性阑尾炎必须包含的排除关键词有穿孔、化脓、腹膜炎等以示区别。 

其次是需要在医学语义库基础上建立不同应用领域的知识体系,比如常见的ICD编码知识体系和临床诊断知识体系。国内目前有一些做医学人工智能的团队在做临床诊断对ICD编码转换,往往直接采用临床诊断术语与疾病名称术语进行匹配的方式进行处理,不是不可以,在部分情况下是合适的,但是会存在一些错误和困难很难解决。因为临床诊断和ICD编码是2套不同的知识体系,要做好转码工作,不能简单采用匹配等方式解决。要彻底解决就必须从本质上下手,首先要意识到ICD和临床诊断二者是2个不同概念,不能采用匹配等算法直接处理,其次需要根据ICD的编码原则建立知识体系,即建立基于语义基础上的组织规则。最后要建立ICD疾病概念与临床诊断概念之间的逻辑关系和规则,从医学概念上去建立二者的关联关系,而不是单纯从文字上去建立。 

可能有人要说:有必要这么复杂地去处理吗?(包括前面那哥们也这么问)我的回答是肯定的,绝对有必要。为什么医学要学5年,而普通工科只学4年,为什么医学生毕业后可以转行,包括干信息化,但从来没有听说过搞信息化的最后能改行搞医学。这是为什么?原因很简单,医学需要大量的专业基础知识来构建医学概念和知识体系,并且医学与其他行业有着不同的思维方式,所以信息专业的人很容易用非医学的思维方式考虑和理解医学的内容,再加上对医学概念的理解困难甚至错误,出现偏差就是意料之中的了。 

有人可能又要说,我们现在这样做不是也挺好的嘛,临床上也能用啊。我只能说可用不代表方法正确。不正确的方法限制了未来的深化和发展。现在能用不代表未来不被淘汰,只要有意识到这点的企业或团队,按照正确的途径走下去,在初期可能有不少困难,但是一旦越过这个坎后面就是一片坦途,而不正确的的方法,迟早是一个死胡同。

posted @ 2019-03-15 17:25  玻璃城市  阅读(961)  评论(0编辑  收藏  举报