本文主要是介绍【NLP+医学】Evaluation and accurate diagnoses of pediatric diseases using artificial intelligence,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Paper From:Nature Medicine 2019
Paper URL:https://www.nature.com/articles/s41591-018-0335-9
主要内容
- 提出了一套「疾病确认」的计算框架,用于对儿科疾病进行自动化分类。如上图:
- EHRs: 数据源EHRs(电子健康记录)包括「主属、现病史、各种检验检查报告」;
- knowledge-based text: ,从病历中筛选出的医学词汇+医学术语库,经过医生确认构建了「词汇表」,做为分词工具的「词表资源」;
- Fully structureed database:EHR经过NLP处理后得到的「特征」,以便用于下一步的分类;
- Disease classifier:基于「特征」进行疾病分类,使用了逻辑回归方法;
- 疾病分类采用多层级逐层分类,如上图第一步按人体器官进行划分,然后再逐层细分。文章对不同层级疾病进行效果评估,评估方式是机器识别和初级医师、高级医生进行对比,结果显示机器分类性能优于初级医师。
重点:Methods
此图是文章所用方法的重点。
-
0 从raw data中找出候选vocab,结合第三方医学词库,人工review后构建vocab词表;
-
1 以vocab作为分词工具的词表资源,对输入的raw data进行分词,得到token;
-
2 使用word2vec对tokens进行语义训练,得到token对应的embedding;
-
3 使用LSTM网络框架对<Query-rawdata, Ans>进行建模,模型输出做为特征
- 3.1 人工设计N个Queries,对每条raw data进行query回答,结果可以是「0/1」或者「器官部位」等,可以看着是个分类问题;
- 3.2 N个query和M个raw data,可以构建N*M条样本,人工从中选取若干条进行标注,作为模型训练样本;
- 3.3 对每条raw data与N个Query构建Query-rawdata作为样本,过LSTM模型后的结果作为rawdata的「特征向量」;
- 3.4 对raw data的「特征」使用LR模型进行「疾病分类」;
-
4 「疾病分类」采用多层分类方案,逐层分类,每层给出独立的效果评估;
疑问:
- 1 文章没有找到设计Query的量,这个量关系到rawdata的特性向量长度;
- 2 EHR数据量很大,对应了rawdata的量,与query叉乘后作为样本池,这个量就更大了,rawdata对应query「是或否」的结果,目测应该是「负样本量远大于正样本」,文章只选用了6000+多条作为样本标注,感觉这个量太少了;
- 3 在Extended Data2中是以「句子」作为输入的,「主诉和检验报告单」通常一两句描述,但「现病史」往往文本较长,文章没有讲「句子」如何选取?
- 4 LSTM模型讲引用了「Effictive approaches to attention-based neural machine translation」这篇论文,但该篇论文主要讲了「翻译模型中的attention方法」,感觉文章中的LSTM模型更多应该是「多分类」模型。
价值:
- 1 使用<Query-rawdata, Ans>构建特征值得借鉴;
- 2 疾病确认的分层分类方法,结合医学知识如「一级分类器官」,这种分类思路值得关注;
这篇关于【NLP+医学】Evaluation and accurate diagnoses of pediatric diseases using artificial intelligence的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!