ICD编码论文综述阅读-A Review on Deep Neural Networks for ICD Coding(用于ICD编码的深度神经网络综述)

这篇论文综述讨论了在智能医疗中应用人工智能的最近成功,并重点关注了国际疾病分类(ICD)编码的自动化问题。

最近,许多研究人员将ICD编码问题重新定义为文本分类问题,并应用传统的机器学习方法构建编码模型。这些方法通过词袋模型或TF-IDF方法提取特征,并使用K-最近邻、逻辑回归、随机森林和支持向量机等方法进行编码分配。还有一些研究者尝试将深度神经网络应用于ICD编码,如循环神经网络、卷积神经网络和图神经网络。使用深度神经网络的优势是可以联合提取和分类语义特征,减少了特征选择阶段对医学知识的要求。

尽管这些方法在一定程度上比传统方法表现更好,但它们仍然需要人工干预,还存在一些挑战。对于成功应用深度神经网络进行自动ICD编码而言,仍然存在一些挑战。

以下将对综述各部分进行概括总结

第二部分-ICD编码问题

在本节中,系统地介绍了ICD分类法,其次,本文还介绍了医疗健康档案的一些特殊性,以便读者区分传统的文本分类和医疗代码分类

1、ICD分类

ICD将疾病和其他健康问题的诊断转换为字母数字代码,以便可以存储,检索和分析数据

ICD分类遵循树状层次结构。

ICD由六位码构成。

其中,第1个字符显示疾病模式,如伤害和感染。

第2、3字符表示特定的诊断。例如:以I00、I01和I02开始的代码 --> 急性风湿热的类别。

第4~6个字符代表诊断描述中更准确的信息,如严重程度,病因和偏侧性。

ICD 10和ICD-9的区别在于它使用了一个点来分隔第三个字符和第四个字符。

在ICD编码中,不可能同时为父节点和子节点或具有相同父节点的兄弟节点分配相同的编码。这是因为这些编码之间存在着互斥关系,代表不同的疾病或疾病级别。在ICD的层次结构中,父节点表示更一般的疾病类别,子节点表示更具体的疾病。如果一个编码已经被分配给一个父节点或子节点,那么它不能被同时分配给另一个父节点或子节点,也不能被分配给具有相同父节点的其他兄弟节点。这样做可以确保编码的准确性和一致性,避免混淆不同的疾病或疾病级别。

2、医疗健康档案

医疗健康记录在其格式和内容方面存在多样性和差异性。不同的医疗机构、医生或医疗系统可能使用不同的记录格式和标准,以及不同的词汇和描述方式来记录患者的健康信息。

医疗健康档案主要三个特点:

独特的写作风格:不同部门和组织的医生可能有不同的写作风格。在临床笔记中有许多缩写、同义词甚至是连词,非离散化文本和离散化文本交替出现的混合文本。这些叙述导致了对ICD编码的歧义和误解。

无关的信息:ICD编码的描述通常比较抽象,以涵盖多种情况,这使得编码任务具有较高的复杂性。只有很少的文本片段直接与ICD-10编码相关联,而许多文本片段包含非离散化的文本(例如,“nperitonite...”中缺少第一个重音符号“ne”)和缩写词(例如,“nBPCO”代替“nbronco pneumopatia cronica ostruttiva”)。这些特点使得自动进行ICD编码变得具有挑战性。

长尾挑战:由于某些特定情况或特定样本的稀缺性,导致模型在这些情况下表现不佳或无法有效处理。在这种情况下,传统的序列模型可能无法有效处理长文本序列,因为这些序列的长度差异很大,其中只有很少的标记与ICD编码相关。为了处理长尾挑战,模型需要具备处理长文本的能力,并能够捕捉并利用与ICD编码相关的文本片段。

医疗数据集中编码的分布不平衡,其中少数编码占据了大部分的出现次数。

第三部分-基本模型结构

1、问题定义

这一部分在前面总结了ICD编码任务的特点后,将其数学形式化为多标签文本分类问题,并给出了解决该问题的基本过程和方法。

制定ICD编码任务并提供端到端框架,详细介绍了词嵌入深度神经网络的理论

ICD编码建模为一种极端多标签分类任务。其目标是学习一个分类器,能够从极大数量的ICD编码中自动地对临床文档进行最相关的子集标签的注释。

单标签分类是指每个样本只能被分配一个标签,而多标签分类是指每个样本可以被分配多个标签。在单标签分类中,每个样本与一个唯一的标签相关联,而在多标签分类中,每个样本可以与多个标签相关联。

极端多标签分类是多标签分类的一种特殊情况,其特点是标签空间非常庞大,通常包含数万个甚至更多的标签。相比之下,普通多标签分类中的标签空间相对较小。

2、基本架构

1、基本模块是一个文本分类器,如何有效地从整个文档中提取提取语义特征?

2、第二个模块是利用标签依赖,利用标签共现关系来学习标签依赖性的重要性。通过构建标签共现图,可以获取标签之间的统计信息

3、第三个模块是整合专家知识,以提高可解释性。正式的ICD指南为每个代码提供了简短的文本描述和所有代码的树形结构

在这个体系结构中,第一个模块是必不可少的。最近的一些研究探讨了如何联合其他两个模块,以提高整体性能。

整个模型的架构划分:输入层,表示层,特征层、输出层。

输入层:

        输入层包括多源数据,如长文本、短文本、共现图、树结构和第三方知识库。完整的文档首先被预处理,采用多种预处理技术来减少初始信息中的噪声,比如:正则表达式匹配、标准化、删除停用词和低频词、转换为小写、替换未知词等

表示层:

        文本通常使用词嵌入将人类语言转换为低维向量-->Word2Vec。

        图形数据可以用共现关系表示,图形使用 G = (V, E) 表示,其中 V 是标签集合,E 是边的集合。边表示两个标签是否出现在同一个健康记录中。现有的嵌入方法是浅层模型(不能有效地发现高阶依赖关系)

如何确保低维向量包含语义信息是表示层的关键问题。

特征层:

        特征层利用各种深度神经网络来提取多粒度特征。

        CNN可以从长文本中捕获空间关系、RNN及其变体适用于短文本的顺序特征、GNN擅长从分层树中学习语义连接、GAN可用于为尾部样本和标签生成潜在特征

        文本数据:以CNN为例,使用相同的卷积滤波器来组合文档嵌入D,

                          计算公式:D = g(Wc * xn:n+k-1 + bc),其中,*表示卷积操作符,g是非线性逐元素变换,k是滤波器的宽度,Wc是卷积核权重,bc是偏置。

        图表数据:以GCN为例,组件表示Hz可以通过逐层传播规则进行学习

                          计算公式:Hz = s(~AHz-1Wz)

                          其中,Hz表示z层的表示,s表示激活函数,~A表示归一化邻接矩阵,Wz是需要学习的转换矩阵。

输出层:

        在输出层,通过线性全连接操作将特征投影到标签空间,然后通过Sigmoid激活函数得到概率预测。损失函数用于指导学习过程,常用的损失函数是二元交叉熵。

        不同模型结构可以选择不同的损失函数,如关键词重构损失、ICD层次结构损失和焦点损失等,以进一步优化模型的预测效果。

3、通用组件

在通用架构中,有两个通用组件。

第1个关键部分是如何有效地表示多模态数据;第2个是如何使用深度神经网络提取语义特征。

3.1、词嵌入

传统的文本数据是以词汇形式存在的,而数值分析通常需要将文本转换为数值表示。词嵌入是一种常用的技术,它将单词映射到低维度的向量空间,并且这些向量在空间中的位置反映了单词之间的语义关系。通过使用词嵌入,我们可以将文本数据转换为数值形式,以便进行进一步的数值分析和机器学习任务。

词嵌入的优点在于它能够将语义相近的单词映射到接近的向量表示,使得基于词嵌入的模型能够更好地理解和处理文本数据

①Word2Vec

Word2Vec作为一种典型的词嵌入方法,其中包括CBOW和Skip-gram模型

CBOW模型根据中心词的上下文来预测中心词

Skip-gram模型则根据中心词来预测附近的单词

Word2Vec是一种局部上下文窗口方法,缺乏长文档中的上下文信息

②FastText

FastText表示学习方法。与word2vec相比,fastText不再将语料库中的每个单词视为原子,而是考虑单词内部的形态特征。例如,“rule”和“rules”,这两个词共享许多字符,并且具有相同的内部形式。由于单词在word2vec中被翻译成单独的ID,因此丢失了它们的内部形态信息

FastText的优势在于它能够捕捉到单词内部的形态信息,这对于处理词形变化和低频词非常有帮助。通过使用字符级表示和n-gram特征,FastText可以将相似形态的单词映射到接近的向量表示,从而保留了更多的语义和上下文信息。

③BERT

对于给定的标记(token),BERT的输入表示是通过将相应的标记嵌入、段嵌入和位置嵌入进行求和构建的。

标记嵌入将单词转换为固定维度的向量表示、位置嵌入将单词的位置信息编码为特征向量、段嵌入用于区分两个句子

通过使用无监督预训练和Transformer模型,BERT能够生成具有丰富语义信息的输入序列嵌入

3.2、图表嵌入
①DeepWalk

DeepWalk的操作分为几个步骤。首先,对于每个节点,从该节点开始执行多次随机步骤。然后,将每个随机游走视为一系列节点ID字符串。给定这些序列的列表,Skip-gram算法在这些字符串序列上训练word2vec模型。通过这样做,可以在一个相对较小的维度空间中,通过编码邻居节点的相似性,学习出图形的表示。

DeepWalk是一种基于随机游走和word2vec模型的方法,用于学习网络中节点的潜在表示

②Node2Vec

与DeepWalk的关键区别在于,node2vec采用了偏置随机遍历,在广度优先和深度优先图搜索之间进行权衡,因此产生了比DeepWalk更高质量和更多信息的嵌入

3.3、深度神经网络
①CNN卷积神经网络

卷积神经网络(CNN)及其变种在ICD(国际疾病分类)编码中被广泛使用,因为它们可以自动地从长文本中学习全局特征

卷积过程是将卷积核的权重与输入文档的对应元素向量相乘并求和

池化操作用于消除冗余,使特征更加稳定

CNN的基本机制是卷积和池化。上述机制使得CNN能够连接稀疏的特征并共享权重,CNN能够自动学习文本中的全局特征

②RNN循环神经网络

在处理健康记录中的词序列时,使用循环神经网络(RNN)及其变种LSTM的应用。RNN是一种前馈神经网络模型,可以在时间步骤上传递数据,并且对于每个链的部分执行相同的操作。然而,RNN在处理长序列时会遇到梯度消失的问题。为了克服这个问题,LSTM被广泛使用。LSTM使用单元来表示记忆单元,通过输入门、遗忘门和输出门的机制来控制信息的更新、丢弃和输出。这使得LSTM能够更好地捕捉长序列中的语义特征。尽管LSTM更适合捕捉长依赖关系,但通常在处理简明文档时使用,如死亡证明和编码描述。

③GCN图卷积网络

无论是在标准指南还是在患者入院情况中,同时出现的标签之间的关系对ICD编码非常有帮助。可以构建一个图来表示这些相关性,然后应用图卷积网络(GCN)来学习高阶邻域信息

GCN是一种神经网络模型,用于处理图结构数据。它可以聚合节点和邻居特征,并提供解释性强的ICD编码方法。

④GANs生成对抗网络

ICD编码面临长尾标签分布和嘈杂文档输入的问题。为了增强模型的鲁棒性,使用生成对抗网络(GANs)可以生成长尾标签的潜在特征,并区分无用的潜在信息,从而提高模型的稳定性。GANs包含生成网络和判别网络,它们通过对抗训练不断提升自身能力。在ICD编码问题中,GANs的目标是生成实际数据,并判断数据的真实性,以提高模型的性能。

第四部分-问题设计

这一部分全面回顾了如何从不同层次设计有效的深度神经网络

设计基于学习的模型有几个挑战。

1、提取特征需要考虑信息损失和信息分布:医疗记录中,重要信息分布在不同的段中。EHR的长度比nlp数据集中的文章长得多,信息丢失的概率也随之增加

2、如何应对标签分布不均的问题值得探讨:由于这种疾病的罕见性,大多数ICD代码只有很少或没有标记的样本

3、挑战在于如何对代码层次进行建模,以捕获代码之间的互斥和共现。此外,第三方知识库对提高预测精度也很有价值

4、如果将深度神经网络应用于临床应用,人类可解释性是必要的。

1、针对于第一个挑战:复杂特征提取

就是一个数据挖掘过程。

①、顺序特征:文本数据中单词的顺序对理解文本非常重要。使用循环神经网络(RNN)及其变种(如LSTM和GRU)可以捕捉单词之间的顺序关系,帮助理解句子结构和单词重要性。

②、空间特征:健康记录文本通常是非结构化的,包含大量单词和噪声。对于处理这种长文本的挑战,研究人员采用了不同的方法,如池化操作和扩张卷积。池化操作可以减小特征图和参数的尺寸,而扩张卷积可以捕捉隐含的语义特征,通过扩大感受野来处理长序列数据。

        深度神经网络能够整合多层特征。

        特征提取从浅层到深层是不可逆的,可能导致信息损失。

        残差神经网络通过添加连接来减少信息损失,允许信息向下层传播。

        密集连接通过多个堆叠的卷积块来减少参数数量,也能减少信息损失。

③、多尺度特征:

  • 多尺度特征是指具有不同模式的语义片段。
  • CNN使用卷积核滤波器来提取局部特征。
  • 多滤波器CNN通过使用不同大小的卷积核来捕捉不同长度的模式。
  • 分层卷积可以匹配不同层次的模式。
  • 逐层编码可以生成可变长度的n-gram特征。
  • 关键查询注意机制用于建模局部特征之间的内部关系,生成全局特征。

④、写作风格:

  • 写作风格在文本中的表现,包括格式和个体写作习惯。
  • 使用N-gram匹配神经网络、对抗学习和字符感知编码等方法来处理不同写作风格的匹配和协调。
  • 使用类型对抗方法来影响模型的准确性。
  • 使用字符级别的LSTM词编码器来识别不同形态并纠正错误。
  • 使用自我蒸馏学习机制提取出有价值的部分。

2、针对于第二个挑战:标签分布偏差

  • ICD编码存在高度的数据稀疏性和不平衡的标签分布问题。
  • 低频疾病往往会被分组,但罕见疾病可能需要单独分类。
  • 使用多个嵌入方法的拼接可以有益于解决不平衡的多标签医学文本分类问题。
  • ICD的层次结构有助于生成未知代码的语义特征。
  • 外部知识源的转移可以提高对不常见编码的预测能力。
  • 自适应Boosting和梯度下降函数可以用于调整样本分布和最小化错误。
  • 逻辑回归分类器和CNN的组合可以解决严重的数据稀疏性问题。
  • 专门的建模方法可以有效地解决不平衡问题。
  • 潜在的特征生成框架可以用于预测一些未知的编码。

3、针对于第三个挑战:整合外部知识

外部知识可能有助于ICD自动分类。将深度学习与这些知识相结合,例如编码规则,层次结构,包含和排除的关系,捆绑和非捆绑情况以及第三方库是一个具有挑战性的问题。

①、ICD层级:可以利用层次结构来预测ICD编码的方法。其中包括使用分布式表示来捕捉代码之间的层次关联性和含义,采用不同的模型和算法来学习层次结构,以及利用树状结构进行层次分类和预测。这些方法的目标是提高ICD代码预测的准确性和性能,通过考虑代码的层次关系和结构来更好地理解和预测医学编码。

②、代码关系:从整个数据集中提取的潜在特征有助于提高ICD编码的准确性。大部分方法利用整个数据集中的潜在特征来增强ICD编码的准确性。它们通过探索代码之间的共现关系和相关性来改善编码的预测性能,从而提高ICD编码的准确性。

③、第三方知识库:

        在使用外部知识方面,研究人员利用各种资源如临床术语、WordNet、UMLS和维基百科来提供额外的语义和背景信息,以改善编码的准确性和效果。他们利用这些知识源来评估代码描述和出院摘要之间的语义相似性、缩短记录、为代码分配提供得分等。这些方法丰富了ICD编码的数据来源,解决了数据稀疏性和语义相似性等问题。

        在数据融合方法方面,研究人员采用了多种策略。他们利用图嵌入、独立模型、共享参数、评估机制等技术,将来自不同来源或模态的数据整合在一起。通过这种方式,他们能够更全面地利用多种类型的数据,如表格数据、非结构化文本数据和半结构化文本数据,以提高编码任务的准确性和性能。这些方法通过融合多个数据源的信息,提供了更丰富的视角和更全面的信息,以改进ICD编码的质量和效果。

④、

4、针对于第四个挑战:模型可解释性

改进模型可解释性的主流方法有两种。对于机器学习模型,特征选择是一种常用的方法,用于量化手动特征的重要性。对于深度学习模型,大多数研究采用注意力机制来突出与ICD编码密切相关的文本片段。

深度学习模型在临床记录编码中的应用需要解释模型如何根据输入文档生成ICD编码。改进模型可解释性的方法包括特征选择和注意力机制。注意力机制可以突出与ICD编码密切相关的文本片段,并建立文本和代码之间的依赖关系。不同的注意力机制包括逐标签注意力、多方面注意力和文档级别注意力。这些方法提供了解释模型决策的方式,可以通过可视化权重和定性评估来验证模型的解释性能。

5、方法对比总结

①单一的网络结构无法很好地模拟ICD编码过程,因此目前的实现通常采用多种网络的组合来解决多个问题。

        CNN及其变种在特征学习方面表现出色,而RNN及其变种能够连续捕捉语义特征,并且LSTM和GRU解决了RNN中梯度消失的问题。GCN用于挖掘代码之间的共现和互斥关系,但前提是建立一个代码共现矩阵。GAN用于提高模型的鲁棒性,并且能够主动适应噪声环境并增加样本数量。

②Word 2 Vec是ICD编码任务中最常用的词嵌入方法。临床BERT [84]在MIMIC-III数据集上微调BERT模型,并将其应用于其他医疗任务。

③注意力机制通过为特征生成概率分布,帮助模型更加关注重要的特征。性能比其他的好

④SOTA方法可以在MIMIC数据集上获得0.7的微F1。虽然它比传统方法更准确,但仍有很大的改进空间。

第五部分-公共数据集

介绍三种主要的公共数据集

1、MIMIC

MIMIC-II和MIMIC-III是最常用的开放获取数据集。MIMIC-II数据集包含2001年至2008年的重症监护室数据,而MIMIC-III数据集包含2001年至2012年的患者数据。

MIMIC-III(v1.4)拥有58,976个去识别电子健康记录(EHR)。每个EHR都有一个出院摘要临床记录,其中包括多个部分,如出院摘要,患者病史,主诉和相关ICD-9代码。每个病历都通过“HADMID”进行唯一区分。

2、CDC

CDC数据集是由美国疾病控制与预防中心发布的数据集。该数据集包含了2015年美国电子提交的28163份死亡证明书。每个证明书都包含了每个人的人口属性(性别、年龄)、元数据(例如死亡地点)和一个或多个死因的ICD-10编码。由医生分配的每个编码的诊断声明都会重复出现。数据集中没有与伤害相关的死亡记录,所有记录都属于自然原因导致的死亡。

3、CepiDc-FR

CepiDc-FR语料库是由法国健康和医学研究院(INSERM)提供的数据集。它包括来自法国各地医院的65843份死亡证明书,时间跨度为2006年至2015年。这些死亡证明书使用标准化表单描述了死因。专家们使用ICD-10对每个证明书进行手动编码,以进行公共卫生统计。值得注意的是,每行只提供一个ICD-10编码。该法国数据集提供原始格式和对齐格式两种形式。这个数据集可用于进行死因统计、疾病流行病学研究以及其他与公共卫生相关的研究

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值