罗 明
(广东省梅州市人民医院,广东 梅州 514000)
随着信息技术的不断发展,智能化的疾病辅助诊断在解决专业医师人力缺乏的同时,有效提升了诊疗效率,这样能够促进整体医疗水平的快速提高。医疗辅助设备的广泛应用,使得医疗辅助数据呈献出快速的增长趋势。同时,这些数据中也蕴含了大量有价值的信息,不仅有利于患者康复,更能促进医疗水平的整体提升。针对相关全流程病历质量出现的临床诊疗效率低,医生无法及时准确的进行诊断的问题,以及相关设备在药液质量方面出现的设备温度和压力不可调或者精度不够准的问题,设计了一种基于深度学习的全流程病历质量控制模型,其在医疗领域中应用前景广阔[1-2]。
文献[3]提出了一种深度学习方法和一种医学主题挖掘方法来从无文本病历中自动预测疾病代码,结果显示,在重症监护医疗信息数据集上的F1分数比最先进水平提高了5%[3]。文献[4]提出了一种新的电子健康记录生成器,应用了一种过滤策略来增强低患病率临床概念的训练,结果显示,所提出的模型优于最先进的方法,在保留真实记录的性质方面有显著的改进[4]。文献[5]提出一种基于异构图图卷积的文本分类技术以开展中医电子病历构建,结果显示,该模型在召回率以及准确率上比改进前算法提升超过了2%[5]。文献[6]从区块链技术出发,提出了基于区块链变革性干预类型的病历信息共享模型,为病历信息管理手段提供了参考[6]。文献[7]通过对当前最先进的深度神经网络模型的改进和调整,实现了对抑郁患者的辅助诊断,并将其用于临床,并将其用于临床,获得了良好的结果。通过对比研究,本项目所提方法在抑郁-正常人脑MRI识别中的应用效果,证明本项目所提方法在抑郁-正常人脑MRI识别中的应用效果[7]。
因此,研究将辅助诊断设备作为研究对象,并对病历模型展开分析。首先对双向循环神经网络(BiGRU-SA,bidirectional recurrent neural network)模型和文本分类式前馈神经网络(TextCNN,transformation-extraction-convolutional CNN)模型的结构进行分析,其后对模型制定公式,对优化后的混合深度学习模型进行分析,以提升全流程病历质量控制系统的稳定性并提高其临床诊疗效率。深度学习辅助决策医疗器械临床试验有效性指标一般考虑验证确认诊断准确度评价指标,即在诊断试验中区分不同疾病状态的能力。
全流程病历质量控制模型可以帮助医生更准确地诊断疾病,提高治疗效果,并且比人类医生更快地发现潜在的问题,从而减少误诊、漏诊的情况。以下是一些全流程病历质量控制模型的好处,分别是帮助医生提高诊断准确性,通过全流程病历质量控制模型可以通过分析大量数据来预测一个患者可能患有某种疾病的可能性[8]。这样,医生就可以提前发现潜在的问题,从而采取相应的治疗措施。并提高治疗效率,全流程病历质量控制模型可以根据患者的历史症状和检查结果来预测患者可能患有某种疾病。这样,医生就可以提前采取措施来缓解症状或预防并发症的发生[9]。其后,提高医疗质量,全流程病历质量控制模型可以通过分析大量数据,来预测一种疾病或症状可能出现的概率。这样,医生就可以提前采取措施来缓解患者的痛苦和提高治疗效果。就可以更多地专注于治疗患者,在有限的时间内提高治疗效果。
中文分词(CWS,chinese word segmentation),它是对一个语句进行切割,从而获得单个单词,能起到关键作用的方式为,以自然语言及数据挖掘进行差异化处理[10]。中英文在语序语义方面差异明显,英文语言的句子里,所有的字都会被空出来,一个字就是一个字,而中文语言的句子里,没有自然的分割线,也没有清晰的识别标志,只能人工进行分割。这一部分主要包括三个方面:基于规则的切分法,基于概率和统计的切分法,以及基于语义的切分法。当前,常用的基于Jieba的自动分割方法主要采用基于前缀词典的语句分割方法,已有的算法对已有的数据进行处理,并利用该算法对已有的数据进行处理[11]。它支持简单繁体的切词,还支持定制词典,并且还支持精确模式、全模式和搜索引擎模式三种切词模式,在业内受到了广泛的欢迎。去停用词,是数据预处理过程中不可或缺的一环,由于并不是所有的词语都可以表达出原本的文字意思,如助词(所以、的、了等)、语气词(啊、哪等)等都是没有作用和意义的词,在研究中,这些词被称作停用词,不仅会降低文本关键词的密度,还会在某种程度上对后续文本分析的效果产生影响,因此,就可以将它们从文本中删除。要实施解禁词汇,首先要建立解禁词汇列表,当前,网络上有许多高品质的中文解禁词汇列表,研究可以从网络上下载一套解禁词汇列表,以供解禁词汇检索。通过将中文分词任务转化为一个字符序列标注任务,可以进一步将该任务看作一个分类问题,即为字符序列中的每个字符确定标签分类的问题,最后实现用神经网络解决该多分类问题。谷歌研究小组于2013年推出Word2Vec框架,该框架使用深度神经网络将文字信息转换成词汇,并将文字信息转换成一个低维的维度,从而实现对文字信息的有效表达[12]。Word2Vec的学习过程中,有两个学习过程:一个是 CBOW,一个是Skip-gram。
门循环单元(GRU,gate recurrent unit)是LSTM模型一个较成功的变种,由Cho,Gulcehre等人于2014年提出GRU只有两个门即更新门和重置门,更新门就相当于LSTM模型中输入门和遗忘门的合并,并且新增了重置门,取消了输出门。更新门的作用是控制前面记忆单元中的状态信息被带入到后面单元的程度,更新门的值越大说明被带入的状态信息越多[13]。重置门的作用是控制前面状态信息的忽略程度,重置门的值越大说明忽略的越少,换句话说也就是对当前的输出影响越大。GRU模型结构,如图1所示。
图1中,xt与ht分别表示即时的输入与输出,而上一时刻的隐藏层的信息输出为ht-1,st与rt在GRU模组中为更新门和重置门,活化函数用σ和tanh表示,st和rt的公式,如式(1)所示。
(1)
式(1)中,Ws和Wr为门控对ht-1和xt的系数,即需学习的权重矩阵。BiGRU是一个双程神经网络模式,可以更好地捕捉病人的抱怨情境中的意义依存关系。在此基础上,提出了一种基于自我注意的新方法,即通过自我注意来降低对外界信息的过度依赖性,提高了语义特征和语句的内在关联性。在BiGRU的基础上,提出了一种新的医学诊断方法——BiGRU-SA,并将其应用于医学诊断中。在BiGRU-SA模式中,利用自我注意的作用,捕捉病人抱怨情境中的语义相关性。通过对文本中各个词进行加权处理,提高了文本的语义表达能力和语义表达能力[14-15]。在此基础上,提出了一种基于二维GRU的病案情境关联分析方法。在此基础上,利用BiGRU-SA方法,实现了对医学信息的快速识别。利用自我关注的思想,能够更好地把握病人在不同背景下的陈述内容,进而提高对病人陈述内容的识别精度。BiGRU-SA模型架构,如图2所示。
图2 BiGRU-SA模型架构图
图2中,第一个层次是输入层次,将病人的诉求输入到该模型中;第二个层次是词向量构建层次,将病人诉求降维后,将诉求转化为低维向量;第三个层次是 BiGRU的网络结构,利用 BiGRU提取病人诉求表征;最后一个层次是自我关注层次,利用 Attention加权函数,将诉求的词汇和表达的表征融合在一起;最后一个层次是输出层次,将病人主诉的描述结合起来,最后一个层次是输出层次,给出对病人主诉的描述。
TextCNN是一种流行的深度学习模型,它的结构比较简单,包括嵌入层、卷积层、池化层和全连接层。它通过将文本数据输入到嵌入层,在此基础上,利用卷积方法抽取语句中的字符,再利用极大浸渍方法抽取一维矢量,再利用完全连通层获得其结果。TextCNN模型的主要特点是利用了卷积层和池化层来提取文本的特征,并使用了全连接层来生成最终的输出[16-17]。这种模型结构简单,适用于处理简单的文本任务,如文本分类、命名实体识别等。
当前广泛使用的TextCNN具有良好的文字识别性能,但由于其对病症的表征缺失,因此,研究通过构建F-TextCNN来解决这个问题。F-TextCNN旨在构建一个能够更好地表征病症的模型,使其具有更高的识别精度。在F-TextCNN中,研究使用一种新的特征提取方法,这种方法能够有效地提取病症特征,从而提高文字识别的性能。同时,研究还使用了一种新的池化方法,使得模型能够更好地提取病症特征,从而提高文字识别的准确性。F-TextCNN能够有效地解决文本识别中由于缺乏病症表征而导致的问题,使其具有更高的性能和更好的准确率[18-19]。文本CNN的模式架构,可分为嵌入层、卷积层、池化层及完全连通层。TextCNN中的卷积神经网络,其主要功能在于抽取文本中的语义信息,而无须像其他的机器学习算法那样,对文本中的语义信息进行独立的处理。TextCNN的集合层可采用最大集合法、平均集合法等多种方式,其中最常见的是最大集合法,即通过抽取特征图中的极大值来捕捉最关键的特性。通过对多个从卷积图像中提取出的多个特征图进行融合,可获得多个一维矢量。最大融合方法具有不受时间限制、不受时间限制等优势,能够有效地降低建模中的参数个数和过拟合,但也有一定的局限性[20]。故而,TextCNN模型结构,如图3所示。
图3 TextCNN模型原理及其架构图
如图3,在该算法中,嵌入层采用了事先学习好的词矢量,并将其构造成一个矩阵,并将其用作一个单词的代表。把数据集上的每一个单词都用一个向量来表达,这样就可以获得一个NxK的嵌入矩阵M,在该矩阵中,每一行都是词向量。在这些情况下,因为 TextCNN使用最大池化进行处理,避免了池化过程中对病征特性的影响。为了解决这个问题,从卷积层中抽取出来的所有的特征被联系起来,保证了症状特征的完整,并用准确率、召回率以及F1指标来评价该模型的优劣。在F-TextCNN框架下,先将疾病相关的数据输入到嵌入层,然后输出一个非线性激励函数,然后将整个内嵌层连接到嵌入层,然后在Dropout层正则化学习,从而有效地避免了神经网络的过拟合问题。在经过任何一批学习后,将其中的隐藏结点舍弃掉,从而降低了隐藏结点间的相互依赖程度。最终,在整个联结层次上,利用激发函数Sigmoid对两个不同的特征进行二次分类,得到的结果在两个不同的特征量之间更优。该方法对病人的疾病信息进行了词汇矢量建模,然后将病人的疾病信息转化为一个2D的矩阵,并在该模型的输入层利用“补零”原理,使该矩阵保持固定长度,也就是一个最大值N=824,其他句子小于824时,再用0进行填充。在该方法中,选择3个大小不一的卷积核,通过卷积运算得到词向量的特征。改进的最终输出类别概率,如式(2)所示。
(2)
式(2)中,Ci为卷积后的特征图,n-k+1为池化层高度,故而,池化的结果就是将特征图进行全连接。
将F-TextCNN与BiGRU-SA相结合,以两种新的检测技术为核心,在此基础上,将F-TextCNN与BiGRU-SA相结合,以达到对疾病进行早期诊断的目的。F-TextCNN是一种基于深度神经网络的医疗影像数据分析方法,能够对医疗影像数据进行有效地分析和处理。BiGRU-SA是一个利用机器学习技术,从病人身上提取出的信息,帮助医师做出正确的判断。这两种技术各有其优点,可为医疗辅助诊断工作提供有力支撑。此次研究考虑综合运用F-TextCNN与BiGRU-SA模型,实现对疾病的诊疗,为临床诊疗提供新的思路。在进行训练的时候,将两个模型分别进行,两个模型之间互相独立,不会受到任何的影响。在训练完毕之后,将两个模型的分类结果进行融合,因为神经网络模型最终的输出是一个概率值,所以将两个分类结果进行加权平均,就可以得到最终的输出。混合模型流程,如图4所示。
图4 混合模型流程框架结构
图4中,针对混合模型流程,首先由嵌入层到卷积层再到池化层,对特征信息进行池化,而后加入到全连接层,再由F-TextCNN模型进行输出。同理,BIGGRU-SA模型输出后,一起进入到加权平均输出层,加权后,结束模型工作。将两个模型的输出结果进行融合做加权平均操作,可减少误差,活化函数是在神经细胞中,将输入的权重相加后,被用于一个功能的运算后,该功能就是活化函数。在激励函数为非线性的情况下,神经网络能够任意近似大部分的复合功能。但是,若使用一维线性激励函数,则其结果是一维非线性激励函数,因而不能近似复函数。因此,在神经元网络中加入一个激励函数,就是要将一个非线性因子加入到神经网络中,这样才能更好地处理一些更复杂的问题。在不引入激励函数的情况下,神经网络与原感知器之间没有什么区别。由BiGRU-SA模型和F-TextCNN模型的输出公式,如式(3)所示。
(3)
式(3)中,Wy是权重系数矩阵,by是代表相应的偏置,进而达到预测类别的效果。则F-TextCNN和BiGRU-SA相结合的医疗辅助诊断混合模型的输出公式,如式(4)所示。
(4)
在此基础上,利用国家“知识地图”和“语义学”会议上的正式医学文字库,构建基于“医学文字”的全过程医学文件内容质控系统。数据为患者病情描述文本分类数据集,共有40 000条数据,将数据进行划分后,可以获得训练集34 000条数据,测试集4 300条数据,其中包含了艾滋病、白瘫风、不孕不育、产科、癫痈、耳鼻喉科、肺癌、妇科炎症等45个疾病或科室的分类数据。基于BiGRU-SA的全流程病历质量控制模型的参数优化实验,如图5所示。
图5 参数优化实验图
图5(a)中,横轴表示的是词向量维度的选择,它们分别为25、50、100、150、200、250、300的向量维度,而纵轴表示的是正确率。可以看出,当词向量设定为160时,BiGRU-SA模型的效果最优,其正确率为84.9%。图5(b)中,水平坐标为迭代次数,垂直坐标为精度。随着迭代次数的增加,模型精度出现了先增大后减小的趋势,在第六次迭代时,模型效果最优,精度为84.9%。各对比模型之间随着迭代次数的变化而变化的准确率折线图,如图6所示。
图6 各对比模型之间随着迭代次数的变化而变化的准确率折线图
图6中,横轴代表迭代次数,纵轴代表准确率,展现了所有模型随着迭代次数的变化而变化的模型性能。通过对比五组模型实验结果的准确率、召回率和F1值,BiGRU-Sa在6~7次迭代中,可达到最高精度,为85.4%。而Selt-Attention Model在第一次迭代时的精度最高,为82.7%。且Selt-Attention Model和LSTM Model都随着迭代的增加,精度都呈现下降的趋势。基于LSTM的全流程病历质量控制模型的准确率较低,而基于GRU模型、Self-Attention模型和BiGRU模型的准确率依次递增。基于自注意力机制BiGRU模型具有更高的精度。BiGRU-SA模型是基于BiGRU模型加入了自我注意机制,能够利用自我注意机制层次赋予的权值来凸显疾病症状的特征性信息,使其能够更好地聚焦于疾病症状词汇而忽视与疾病症状无关的特征性信息。通过将GRU和LSTM模型进行比较,可以看出,GRU模型在降低LSTM模型结构的同时,仍然保留了其原有的计算效果,降低了计算量,从而使得 GRU模型的运行时间更短,而且效率更高。在图中,根据BiGRU和GRU模型的比较可以看出,因为BiGRU对输入语句中双向进行计算,能够提取到更精确的文本特征,因此,双向门限循环神经网络模型具有更高的精度,因为它具有更好的结构,能够捕获更深层次的信息,并且可以有效地处理序列数据。此外,加入自关注策略后,该模型的识别精度也得到了显著的提高,表明它对于医学文字的识别效果也非常优秀。通过对不同的自关注策略进行实验,可以发现在不同的策略下,模型的识别效果也会有所不同。因此,选择最合适的自关注策略可以显著提高模型的识别精度。
为了对该模式的效能进行检验,研究利用了36 000个训练集合和4 500个健康医学文字资料进行了分析。研究首先使用了TextCNN算法对这些数据进行了预处理,包括清洗和特征选择,然后将数据集分为训练集和测试集。接着,研究采用了多种算法(如交叉验证、单调性测试、准确率测试等)来评估这些模型的性能。最后,研究使用了多种分析方法(如相关性分析、线性回归等)来探究模型之间的关联和差异。通过这些分析,研究得出了一些结论,该模式在预测准确性、稳定性和可解释性方面表现都很出色。
在此基础上,将F-TextCNN,LSTM,Bi-LSTM等神经网络方法进行识别,并将F-TextCNN方法应用于医学文本的识别,以检验F-TextCNN方法的识别效果。为了验证F-TextCNN模型对医疗文本的有效作用,一共设计了四组实验,使用TextCNN,LSTM和Bi-LSTM神经网络模型与该模型进行对比分析,实验对比结果如表1所示。
表1 模型对比实验结果
表1中,第一栏是做试验时使用的比较模型,第二栏是准确率,第三栏是召回率,第四栏是F1值,所有模型的度量数据都显示在表格中。其中,F-TextCNN的准确率为88.1%,回收率为87.1%,F1值为87.1%,F1值为87.7%。通过对5个试验的比较,可以看出LSTM模型的精度很低,而TextCNN和Bi-LSTM模型的精度是依次提高的。而F-TextCNN则通过改变传统 CNN的池化模式,实现特征信息的完全链接,确保特征信息不会丢失,并有效地避免了模型的过拟合。
为了对基于F-TextCNN和BiGRU-SA的医学文本分类方法进行对比分析,研究进行了三个实验。这三个实验分别是基于TextCNN和BiGRU-SA的医学文本分类任务的对比实验、基于F-TextCNN和BiGRU-SA的医学文本分类任务的对比实验。各模型之间,随着迭代次数的变化而变化的准确率折线图,如图7所示。
图7 三种模型下准确率与迭代次数的关系
图7中,横坐标是重复试验的次数,纵坐标是精准度。可以看出,BiGRU-SA MODEL,精准度受向量维度的影响并不大。改进的TextCNN模型,精准度在其进行第3次和第四次迭代更新时,发生指数级增长,并在第3次迭代时,精度达到理想值,为83%。组合模型,其迭代经历与改进的TextCNN模型相似,并在第3次迭代后,精准度达到理想值,为82.7%。通过对三组实验的实验结果进行比较,可以看出,基于BiGRU-SA模型的准确率低于其他两个模型,而F-TextCNN神经网络模型和混合模型的准确率更高。F-TextCNN和BiGRU-SA相结合的全流程病历质量控制模型在准确性上表现更优,因为该算法能够将F-TextCNN和BiGRU-SA模型的结果进行融合,从而取长补短,平衡两者带来的负面影响,得到的结果更具有可解释性。在实际应用中,该算法可以有效地利用F-TextCNN和BiGRU-SA模型的优势,实现更加准确的医疗辅助诊断。
通过这些实验,研究可以得出结论,基于F-TextCNN和BiGRU-SA的医学文本分类方法都具有较好的性能。尽管F-TextCNN比BiGRU-SA更加灵活,但BiGRU-SA在处理复杂的医学文本分类任务时表现更好。因此,研究可以根据实际需求选择适合自己的模型来进行医学文本分类任务。
为了验证研究所提基于深度学习的病历质量控制模型的在病史数据、体格检查等多项文本上的应用效果,研究选择CCKS2020数据集作为实验样本,该数据集包好一般项目、病史特点、诊疗过程以及出院情况等四大类,下设症状与体征、检查与检验等小类。研究采用的分类评价指标为F1值,以便综合纳入准确率和召回率。表2为不同模型在该数据集上分类结果。
表2 不同模型在CCKS2020数据集上分类结果
从表2可知,研究所提模型在既往病史、体格检查等诸多项目的分类精度上均优于其他分类模型。平均精度高于90%,比CRF(conditional random field)模型、BiGRU-CRF以及BiLSTM提高了6.69%、2.35%和2.12%。这表明研究所提模型能更有效地学习文本的句子结构信息与句子的表示,以便学习文本的语义特征用于分类。表3为电子病历中不同实体识别结果。
从表3可知,在疾病与诊断、药物、手术以及解剖部位的实体识别结果中,研究所提模型在三种分类性能指标上均获得了最高数值。比如在对药物的分类识别中,该模型在准确率、召回率以及F1值上,分别比BiGRU-CRF模型提高了3.73%、1.96%和2.91%。这表明研究所提模型有助于从分类管理中提升病历质量控制。
研究将全流程病历质量控制模型作为实验对象,首先对F-TextCNN和BiGRU-SA分别进行辅助诊疗的测验,并通过获取辅助诊疗效果的控制模型和参数寻优,最终利用基于BiGRU-SA和F-TextCNN的全流程病历质量混合控制进行仿真评估,以得到平滑的曲线,在解决过拟合和特征信息丢失的情况下实现对全病历流程的质量控制。模拟结果显示,经过6~7次的迭代,BiGRU-Sa的计算精度可以达到85.4%。其中Selt-Attention模型的精确度是最好的,其精确度达到82.7%。Selt-Attention模型和 LSTM模型均随迭代数的增大而减小。其中,F-TextCNN的准确率为88.1%,召回率为87.1%,F1值为87.1%,其中F1值为87.7%。通过对三组实验的实验结果进行比较,可以看出,基于BiGRU-SA模型的准确率低于其他两个模型,而F-TextCNN神经网络模型和混合模型的准确率更高。组合模型,其迭代经历与改进的TextCNN模型相似,并在第3次迭代后,精准度达到理想值,为82.7%。综上所述,本研究提出的方法能够有效地帮助医患之间在沟通交流中克服表达障碍,从而提高病历质量。这一方法通过BiGRU-SA模型提取病历信息特征,基于F-TextCNN提高模型计算效率和收敛速度以分析医疗数据和病历,从而识别出其中的关键信息,帮助医生更好地理解患者的病情和治疗需求。此外,该方法还能够指导医生更好地进行病历书写和管理,提高病历质量和效率,从而为患者提供更优质的医疗服务。