掌桥专利:专业的专利平台
掌桥专利
首页

中医临床辅助辨证模型的建立方法及系统

文献发布时间:2023-06-19 09:29:07


中医临床辅助辨证模型的建立方法及系统

技术领域

本发明属于自然语言处理领域,尤其涉及中医临床辅助辨证模型的建立方法及系统。

背景技术

在中医临床领域,中医临床诊断的准确率非常依赖于医生的理论知识储备以及临床经验,这也极大程度的影响了医疗水平。利用中医临床辅助诊断在很大程度上能够解决医生自身经验问题所带来的误诊等问题,有效提高医疗水平。因此,中医临床辅助诊断的研究发展对医疗资源不足的地区提高医疗水平有着极大的意义。

在中医临床辅助诊断中,传统的方法就是模仿中医的断证过程进行数学建模,将中医临床辅助诊断任务视为多标签分类任务。研究人员就中医临床辅助诊断做了很多研究。例如使用基于多层感知机的多标签分类方法实现中医临床辅助诊断。多层感知机将中医临床记录作为输入,输出的是一个向量,这个向量的大小为病症标签数量,在输出层的激活函数是SoftMax函数,所以输出向量各维度值可以直接表示预测标签的概率,从而得到病症的前n个。但是,这样的做法无法解决预测未见症候描述问题。

从中医理论上,基于多层感知机的多标签分类方法中的标签是指证候描述,而证候描述是由证候要素组成。而现有技术中存在的主要技术问题在于传统的多标签分类方法无法预测未见证候描述。

发明内容

本发明针对现有中医临床文本多标签分类任务不能有效解决未见症候描述的问题,将中医临床文本多标签分类任务转换成中医临床文本标签序列生成任务。为解决未见症候预测问题提供可能性的同时提高中药临床辅助诊断结果的准确率,提出了中医临床辅助辨证模型的建立方法及系统。

为了解决上述问题,本发明采用以下技术方案:

中医临床辅助辨证模型的建立方法,基于编码解码框架,包括以下步骤:

步骤1:选择Fast-Text语言模型作为数据表征模型;

步骤2:把中医临床文本数据输入到Fast-Text语言模型中,引入模型参数值记作

步骤3:所述Fast-Text语言模型输出中医临床文本数据的词向量集

步骤4:将得到的中医临床文本数据的词向量集

步骤5:将中间语义编码C传送给解码层,解码层将中间语义编码C翻译为相对应的证候要素序列。

作为优选的技术方案,所述编码层使用双向门控循环单元进行编码。

作为优选的技术方案,所述解码层使用单向门控循环单元进行解码。

作为优选的技术方案,所述编码层采用了双向的网络biGRU。

作为优选的技术方案,所述解码层采用了GRU。

一种基于编码解码框架的中医临床辅助辨证模型的建立系统,包括:

中医临床文本数据存储单元;

Fast-Text语言模型,用于接收所述中医临床文本数据存储单元传输的中医临床文本 数据,引入模型参数值记作

编码层,用于接收中医临床文本数据的词向量集

解码层,用于将中间语义编码C翻译为相对应的证候要素序列,形成中医临床辅助辨证模型。

作为优选的技术方案,所述编码层是双向门控循环单元。

作为优选的技术方案,所述解码层是单向门控循环单元进行解码。

作为优选的技术方案,所述编码层是双向的网络biGRU。

作为优选的技术方案,所述解码层是单向网络GRU

与现有技术相比,本发明的有益效果是:

本发明将中医临床文本的多标签分类任务从另一个视角进行处理,转换成了中医临床文本的标签序列生成任务。采用生成方法处理多标签分类问题,将证候要素作为文本生成模型的最小语义单位进行诊断结果生成。由于未见证候也是由证候要素组成 ,所以使用生成方法处理多标签分类问题,可以解决传统的多标签分类方法无法预测未见证候描述的问题。

本发明采用文本生成的方法处理中医临床文本多标签分类任务,有效结合中医临床文本的数据特点,为解决未见症候预测的问题提供可能性,同时也提高了中医临床辅助诊断结果的准确率。

本发明在基于编码解码的框架下在编码层使用了双向门控循环单(biGRU)在解码层使用了单向门控循环单元(GRU)利用生成方法实现中医临床文本多标签分类任务。利用生成方法处理文本多标签分类任务,不仅提高中医临床辅助诊断结果的准确率,也为解决预测未见症候描述的问题提供了可能性。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。

图1是本发明实施例中的非编码解码框架下,标签级中医临床诊断生成结果的GOUGE评估柱状图。

图2是本发明实施例中的非编码解码框架下,词语级中医临床诊断生成结果的ROUGE评估柱状图。

图3是本发明实施例中的非编码解码框架下,字符级中医临床诊断生成结果的ROUGE评估柱状图。

图4是本发明实施例中的基于编码解码框架,标签级中医临床诊断生成结果的ROUGE评估柱状图。

图5是本发明实施例中的基于编码解码框架,词语级中医临床诊断生成结果的ROUGE评估柱状图。

图6是本发明实施例中的基于编码解码框架,字符级中医临床诊断生成结果的ROUGE评估柱状图。

具体实施方式

下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。

另外,在本发明中如涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

现在结合说明书附图对本发明做进一步的说明。

附图1~3中,每个ROUGE中从左到右的柱形依次表示的是rnn、1stm、gru、birnn、bilstm、bigru;附图4~6中,每个ROUGE中从左到右的柱形依次表示的是1stm-lstm、bilstm-1stm、birnn-rnn、birnn-gru、bigru-gru。

在基于编码解码框架的中医临床辅助辨证模型的建立方法中,选用了中医临床辅助诊断作为任务场景。本实验使用了共计1万条中医临床文本数据,其是通过数据访问接口从真实的医疗信息系统中随机抽取得到中医临床问诊数据,其中训练数据集(train set)6000条,验证集(validation set)1500条和测试集(test set)2500条。

中医临床问诊记录的数据表征方法使用fast-Text语言模型,词向量维度是200维,其中问诊记录词表大小为7138。实验模型分为非编码解码框架与编码解码框架两大组实验,通过实验对比验证编码解码框架对于中医临床辅助诊断的结果生成的有效性。

非编码解码框架的结果生成实验中,中间层包含了单层RNN、LSTM、GRU与双向的网络biRNN、biLSTM、biGRU,隐藏层单元大小256。

编码解码框架的结果生成实验中,编码层采用了双向的网络biRNN、biLSTM、 biGRU,解码层采用了RNN、LSTM、GRU,由于LSTM需要接收编码层的两个信息状态,所以对于 解码层LSTM的实验则使用了LSTM、biLSTM两种编码方式,其余两两组合进行实验探究,编码 层单元大小256,解码层大小

所有实验的批处理大小为64,问诊记录最大截取长度60,学习率初始化为1e-3,更新策略采用Adam,迭代次数为200,中间过程会保留最低loss值模型,最高准确率模型以及最后模型,三种模型同时采用评测方法评测,选最高值为最后结果。

本发明实验无中医专家参与,所以对证候描述的处理分别采用了标签级、词语级、字符级三种级别的语义单位进行相关实验分析。标签级实际是用生成方法完成的多标签分类。词语级别与字符级别将证明“证候要素”作为证候描述生成的语义单位的合理性与可行性。这里诊断结果的最大长度分别为9、32、43,其中包括了证候描述之间的分割符号。

本发明实验中,选用了ROUGE(Recall-Oriented Understudy for GistingEvaluation)作为生成结果的评测方法。ROUGE实际是由一系列的评价方法组成,包括ROUGE-N,ROUGE-L等。

其中,R表示参考结果集合,即标准结果集,s表示某个参考结果,

ROUGE-L中L是指Longest Common Subsequence,计算的是参考结果与生成结果的最长公共子序列长度,长度越长,得分越高,更说明越接近真实诊断结果。

其中, m表示s的长度,n表示生成结果Y的长度,LCS表示最长公共子序列长度,所以 ROUGE-L是由

中医临床诊断生成结果的ROUGE评估如图1、2、3所示,实验中所有双向网络的ROUGE评测结果都优于单向网络,且各项指标的提升幅度很大。再从非编码解码框架下,三种级别中医临床诊断生成结果的PRF评估,如表1所示,也可以明确看出几乎都超过了15个百分点,双向循环网络是将上下文信息合并进行分析的模型,这一结果直接论证了中医临床诊断任务中,医生最终的诊断结果是根据问诊记录的全文信息总结得到,这样的总结是有后文信息与前文信息互相结合判断而形成。

在图1、2中观察发现,字符级的biLSTM的所有结果指标是高于biRNN、biGRU,同时字符级的LSTM的所有指标是高于RNN、GRU,而标签级、词语级的biGRU的所有结果指标是高于是biRNN、biLSTM,这里biLSTM、biGRU都是高于biRNN。

观察图3可以发现,双向网络与单向网络的评测结果ROUGE-1、ROUGE-2、ROUGE-3、ROUGE-4中的差值是逐渐增长的,说明了双向网络对于长距离的生成影响是大于单向网络。

表1所示,综合分析可以明显看出标签级的所有模型F值高于词语级与字符级大约3到6个百分点,其原因在于标签级的本身优势是以证候描述为语义单位,所生成的标签除了未见证候,都是原来存在的且未做出任何的改变,而词语级与字符级的证候描述却是根据最小语义单位组合而成,这样造成了若出现某一个单位出错而导致所生成的标签全错。

表1 非编码解码框架下,三种级别中医临床诊断生成结果的PRF评估

这样的现象说明了两个问题:一是,使用PRF评测方法对于中医临床辅助诊断结果生成模型的评估是需要一定的改进,二是,越细粒度的“证候要素” 单位生成的长度就越长,结果越容易出现错误。

编码解码框架下,首先其本身就是为机器翻译而设计的,这是对于两种语言之间,一种语言被理解总结描述为另外一种语言的过程。实验将LSTM、biLSTM、biRNN、biGRU作为编码器,将单向网络RNN、LSTM、GRU作为解码器,与无解码层的非编码解码框架生成模型对比。

基于编码解码框架的生成模型中,ROUGE评估指标如图4、5、6所示,所对应的相同编码器的网络中所有ROUGE评估指标都是有所提升的,同样PRF评估表2所示,除标签级的LSTM-LSTM模型以外,其余都是优于非编码解码框架生成模型。因此,这也论证说明了中医临床诊断过程实际可以看作为将中医临床问诊记录通过医生的总结翻译为证候描述的过程。

表2 编码解码框架下,三种级别中医临床诊断生成结果的PRF评估

在图4、5、6中,首先可以发现解码器同为LSTM的生成模型中,编码器为biLSTM的生成模型在三种级别的中医临床诊断生成结果的ROUGE评估中,都是优于编码器为LSTM的生成模型,同时其他基于编码解码框架的双向循环网络为编码器的生成模型ROUGE评估指标也是高于编码器为LSTM的生成模型,这再一次说明了双向循环网络优于单向循环网络,论证了中医临床诊断任务中,医生最终的诊断结果是根据问诊记录的全文信息总结得到,这样的诊断结果是前后文信息互相结合判断而形成。

在图4、5、6,发现在使用相同解码器RNN或者GRU,作为编码器的biGRU都要优于biRNN,即,这样的结果再一次说明了长距离文本对于信息的总结是一定影响的。

表3中例子所示,首先发现biGRU作为编码器得到了长距离信息,便可以使得RNN和GRU两种解码器都能完全判断正确,而biRNN编码由于长距离信息的缺失使得在词语级别和标签级别中只判断出与“气”、“血”相关的一些证候描述,而与实际症状相差较大,都是无法做到完全判断正确的。

表3 中医临床问诊病例与部分生成结果

其次还可以发现标签级别的明显优势则是可判断出正确标签,而不会像词语级的“biRNN-GRU”给出的结果“心脉 痹 阻”,会出现词语级的错误,只能部分正确。在表4诊断结果中含有“心脉 痹 阻”证候描述的病例中可以发现,其中多处描述出现了与“心脉瘀阻”证候要素所相同或者相似的词语,这样才会使得模型判断出“心脉 痹 阻”证候描述,这样的结果是可接受的。

表4 诊断结果中含有“心脉 痹 阻”证候描述的问诊病例

表5 中医临床问诊病例中未见证候部分模型的生成结果

续表5

表6 “气 血瘀 滞”中词语组合在训练集中出现的次数

表7 “气 血 瘀 滞”中字符组合在训练集中出现的次数

表8 中医临床问诊病例

实际任务是中医的临床辅助诊断,其目的是为医疗人员提供诊断参考,提供尽可能准确或者相似的诊断结果,为医生启发起到一定的辅助作用。同时这也对于未来可能的未知证候描述而言,模型可以生成尽可能相似的证候描述以达到对未知证候描述判断的作用。

表8所示,综合分析可以看出标签级生成模型biGRU-biGRU所得F值最优,这也证明了标签级生成模型的优势以证候描述为语义单位,所生成的标签除了未见证候,都是未做出任何的改变,而其余两类级别的证候描述是由最小语义单位序列组合而成,这样造成了若出现某一个单位出错而导致所生成的标签全错的现状,由此也所造成的模型评估偏差。但是,字符级生成模型biGRU-biGRU所得到的F值仅差0.44个百分点,这样的结果足以说明,以“证候要素”作为最小语义单位进行证候描述的生成来完成中医临床辅助诊断任务是可行且合理的。

词语级生成模型biGRU-biGRU所得F值却比标签级生成模型biGRU-biGRU低1.32个百分点,差值超过了字符级别,它们的差异的原因在于“证候要素”集合不一样,由于中医证候描述的特点,字符级的“证候要素”集合会更接近于高质量的“证候要素”集合,集合中的语义区分度大,能更准确的生成证候描述。因此这说明了对于“证候要素”作为最小语义单位进行证候描述的生成这项任务,一定要选取出合适且高质量的“证候要素”集合。

关于未见证候的生成问题,可以从表5的例子中看出,“气血瘀滞”本身是属于未见证候,它是在训练集中从未出现的证候描述。

对于标签级的生成模型是无法进行判断,这也是将证候描述作为分类标签对中医临床辅助诊断进行分类处理的一大弊端所在,但是它也是找出了“气滞血瘀”这样与诊断结果“气血淤滞”相似的证候描述。出现这样情况原因也是前面所提到的,在问诊记录中出现了极为相似或者相同的描述,所以诊断模型才会有这样的判断。

对于词语级别中解码器都是只找出了“气滞”和“血瘀”两个词,其中“血瘀”是原诊断结果相同的词语,而“气滞”是与“气”、“滞”相似的词语,无法做到完全找出对应词语,自然就无法做到对未知证候的生成。通过对实验数据分析发现了相关一些相关信息,未见证候本身是极少量存在的,如表6所示,“气 血瘀 滞”中“气 血瘀”在训练集中出现了5次,“血瘀 滞”出现了2次,“气 血瘀 滞”从未出现过,这样的数据量对于深度神经网络的训练是远远不足以支撑对“证候要素”表示的模型训练的。

对于字符级别,都生成了“气 滞 血 瘀”,完全找出了诊断结果所对应的字符,但是在解码过程中没有正确的组合出未见证候描述。同样的经过数据分析,如表7所示,发现“气 血 瘀 滞”的字符组合在训练集中,“气 血”出现了110次,但是主要搭配为“两虚”“虚”等字符描述,而没有出现“瘀”“滞”搭配,“血 瘀”出现次数较多的原因是其本身就是一种常用词汇搭配,在标签级别中也是作为单独的证候描述出现的,但是它本身与“气”、“滞”的搭配极少;“瘀 滞”、“ 气 血 瘀”、“ 血 瘀 滞”组合出现线的次数同样过少,这样的数量对于深度神经网络的训练也是远远不足以支撑模型训练。

三种级别的相关生成模型都是可以生成出与诊断结果高度相似的证候描述,所以使用结果生成的方法对未见证候进行生成是可行的,虽然不能生成出完全一样的证候描述,这样的结果已经达到了中医临床诊断的辅助功能。

在中医临床辅助诊断结果生成中,对比多种编码解码框架下的文本生成模型,分析了相关的实验结果,得出biGRU-GRU更适合中医临床辅助诊断结果生成任务。实验证明了本发明使用了文本生方法对中医临床诊断结果进行生成来完成中医临床辅助诊断任务的设想是合理且可行的。

以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

技术分类

06120112180056