基于深度学习的医疗文本分类方法、装置及存储介质与流程

文档序号:17130980发布日期:2019-03-16 01:13阅读:340来源:国知局
基于深度学习的医疗文本分类方法、装置及存储介质与流程

本发明涉及计算机技术领域,尤其涉及一种基于深度学习的医疗文本分类方法、基于深度学习的医疗文本分类装置及计算机存储介质。



背景技术:

随着电子医疗系统的普及,不少医院已经积累了大量关于病人检查、诊断和治疗的医疗文本数据。自动地从这些文本中分类出病人的疾病,可以节省医生的时间、辅助医生决策,并有助于数据的结构化存储和检索。

近年来,深度学习算法在自然语言处理、图像处理、语音识别领域都取得了令人瞩目的成果。与传统机器学习方法相比,深度学习算法可以捕捉到文本的语义信息,同时不需要繁琐的特征工程,只要有足够的训练数据,便可得到不错的效果。目前,已经有一部分技术人员尝试用深度学习的方法进行医疗文本的疾病分类。比如使用词向量表示输入文本中的词语,通过主题模型、基于依存关系的模型匹配和近义词匹配的方式提取特征,交给神经网络进行疾病分类。该方法虽然使用了深度学习算法,但是依然需要较复杂的特征工程,分类效率不高。

上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。



技术实现要素:

本发明的主要目的在于提供一种基于深度学习的医疗文本分类方法、基于深度学习的医疗文本分类装置和计算机存储介质,旨在解决现有技术中使用深度学习算法进行分类需要依赖较复杂的特征工程,分类效率不高的技术问题。

为实现上述目的,本发明提供一种基于深度学习的医疗文本分类方法,所述基于深度学习的医疗文本分类方法包括如下步骤:

获取待分类医疗文本的词向量序列和疾病类别信息的词向量序列;

将所述待分类医疗文本的词向量序列和疾病类别信息的词向量序列依次输入递归神经网络和双向注意力机制层进行处理,得到医疗疾病信息向量序列,其中,所述医疗疾病信息向量序列包含所述待分类医疗文本特征和所述疾病类别信息特征;

将所述医疗疾病信息向量序列经过池化层和全连接层的处理得到所述待分类医疗文本的分类预测结果。

优选地,所述将所述待分类医疗文本的词向量序列和疾病类别信息的词向量序列依次输入递归神经网络和双向注意力机制层进行处理,得到医疗疾病信息向量序列的步骤包括:

将所述待分类医疗文本的词向量序列和所述疾病类别信息的词向量序列输入所述递归神经网络进行处理,得到所述待分类医疗文本的隐向量序列和所述疾病类别信息的隐向量序列;

将所述待分类医疗文本的隐向量序列和所述疾病类别信息的隐向量序列输入所述双向注意力机制层进行处理,得到第一注意力向量序列和第二注意力向量,其中,所述第一注意力向量序列包含所述疾病类别信息的特征,所述第二注意力向量包含所述医疗文本的特征;

根据所述待分类医疗文本的隐向量序列、所述第一注意力向量序列和所述第二注意力向量生成所述医疗疾病信息向量序列。

优选地,所述将所述待分类医疗文本的隐向量序列和所述疾病类别信息的隐向量序列输入双向注意力机制层进行处理,得到第一注意力向量序列的步骤包括:

计算所述待分类医疗文本的隐向量序列中各个隐向量与所述疾病类别

信息的隐向量序列中各个隐向量之间的相关因子;

根据所述相关因子得到所述第一注意力向量序列。

优选地,所述将所述待分类医疗文本的隐向量序列和所述疾病类别信息的隐向量序列输入双向注意力机制层进行处理,得到第二注意力向量的步骤包括:

从所述相关因子中确定最大相关因子,其中,所述最大相关因子表示待分类医疗文本的隐向量与疾病类别信息的隐向量之间相关性最大;

根据所述最大相关因子得到所述第二注意力向量。

优选地,所述待分类医疗文本的隐向量序列中有n个隐向量,所述根据所述待分类医疗文本的隐向量序列、所述第一注意力向量和所述第二注意力向量生成医疗疾病信息向量序列的步骤包括:

计算n个所述隐向量序列中第i个隐向量与所述第一注意力向量序列的第i个注意力向量的第一哈达马乘积;

计算n个所述隐向量序列中第i个隐向量与所述第二注意力向量的第二哈达马乘积;

将所述第i个隐向量、所述第一哈达马乘积和所述第二哈达马乘积拼接得到所述第i个隐向量对应的第i个医疗疾病信息向量;

集合n个所述隐向量对应的n个所述医疗疾病信息向量成为所述医疗疾病信息向量序列。

优选地,获取的所述疾病类别信息的词向量序列为一种疾病类别信息的词向量序列,在执行所述将所述医疗疾病信息向量序列经过池化层和全连接层的处理得到所述待分类医疗文本的分类预测结果时,所述分类预测结果为所述待分类医疗文本的二分类结果。

优选地,所述池化层采用最大池化法。

此外,为实现上述目的,本发明还提供基于深度学习的医疗文本分类装置,该装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于深度学习的医疗文本分类处理程序,所述基于深度学习的医疗文本分类处理程序被所述处理器执行时实现如上所述的基于深度学习的医疗文本分类方法的步骤。

此外,为实现上述目的,本发明还提出一种计算机存储介质,其特征在于,所述计算机存储介质上存储有基于深度学习的医疗文本分类处理程序,所述基于深度学习的医疗文本分类处理程序被处理器执行时实现如上所述的基于深度学习的医疗文本分类方法的步骤。

本发明实施例提出的基于深度学习的医疗文本分类方法、基于深度学习的医疗文本分类装置和计算机存储介质,将医疗文本的词向量序列和疾病类别信息的词向量序列输入递归神经网络进行处理,得到对应的两种隐向量序列,将这两种隐向量序列输入双向注意力机制层进行处理,基于得到的第一注意力向量序列和第二注意力向量生成医疗疾病信息向量序列,将所述医疗疾病信息向量序列经过池化层和全连接层的处理得到所述待分类基于深度学习的医疗文本分类预测结果。本发明使用递归神经网络和双向注意力机制,基于医疗文本的语义表示的同时有效利用了疾病的类别信息,不需要借助额外的特征工程,提高了分类效果。

附图说明

图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图;

图2为本发明基于深度学习的医疗文本分类方法第一实施例的流程示意图;

图3为本发明基于深度学习的医疗文本分类方法第二实施例的流程示意图;

图4为本发明基于深度学习的医疗文本分类方法的第二实施例中文本分类系统处理流程示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图。

本发明实施例终端可以是pc,也可以是智能手机、平板电脑、电子书阅读器、mp3(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)播放器、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、便携计算机等具有显示功能的可移动式终端设备。

如图1所示,该终端可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

可选地,终端还可以包括摄像头、rf(radiofrequency,射频)电路,传感器、音频电路、wifi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,接近传感器可在移动终端移动到耳边时,关闭显示屏和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;当然,移动终端还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及基于深度学习的医疗文本分类处理程序。

在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的基于深度学习的医疗文本分类处理程序,并执行所述基于深度学习的医疗文本分类方法的步骤。

参照图2,本发明第一实施例提供一种基于深度学习的医疗文本分类方法,所述方法包括:

步骤s10,获取待分类医疗文本的词向量序列和疾病类别信息的词向量序列。

对于每种疾病,利用先验知识获得它的类别信息,如疾病的名称、常见征象等。例如,“慢支炎”这个疾病的类别信息可以是“慢支炎,肺纹理增多,增粗,紊乱”这一串文本,其中“慢支炎”是疾病名称,“肺纹理增多,增粗,紊乱”是疾病常见征象。

对待分类医疗文本和疾病类别信息文本进行分词,将每个词用独热(one-hot)编码表示。

使用预训练的词向量,将待分类的医疗文本和疾病类别信息中的词语分别转化为词向量,以得到每个词的语义表示。例如对于一份待分类医疗文本,得到词向量序列{c1,c2,…,cm},对于一份疾病类别信息文本,得到词向量序列{q1,q2,…,qn},其中m,n分别为医疗文本、类别信息文本长度,cm,qn∈rd,d为词向量维数。

步骤s20,将所述待分类医疗文本的词向量序列和疾病类别信息的词向量序列依次输入递归神经网络、双向注意力机制层处理,得到医疗疾病信息向量序列,其中,所述医疗疾病信息向量序列包含所述待分类医疗文本特征和所述疾病类别信息特征。

本发明要解决的基于医疗文本的自动疾病分类本质是个多标签分类问题,具体实现时,是将该基于深度学习的医疗文本分类问题拆解成多个二分类问题进行解决。

当将该基于深度学习的医疗文本分类问题拆解成多个二分类问题进行解决时,对于一个待分类基于深度学习的医疗文本分类问题,通过多次二分类预测得到最后的预测结果。具体地,对于一次二分类的预测,将一个待分类医疗文本的词向量序列和一种疾病类别信息的词向量序列依次输入递归神经网络和双向注意力机制层进行处理,得到对应的预测分类结果。

进一步地,为了提高处理的效率,实现时,可以一次将一个待分类医疗文本的词向量序列和多种疾病类别信息的词向量序列并行输入递归神经网络和双向注意力机制层进行处理,同时得到该待分类医疗文本相对于各种疾病类别信息的二分类结果,基于这个多个二分类结果得到最终的预测分类结果。

医疗文本的词向量序列经递归神经网络处理得到其在隐空间的表征序列{h1,h2,…,hm},同样的,疾病类别信息的词向量经递归神经网络处理得到其在隐空间的表征序列{u1,u2,…,un},其中un,hm∈rh,h是隐空间维数。

优选地,递归神经网络使用的神经元为gru(gatedrecurrentunit),假设在t-1时刻神经元的输出为st-1,在t时刻的输入为xt,则t时刻的状态转移方程为:

ut=σ(wuxt+uust-1+bu)

rt=σ(wrxt+urst-1+br)

其中wu,uu,bu,wr,ur,br,wh,uh,bh是可学习参数,σ(·)代表sigmoid函数,⊙代表向量的阿达马乘积,tanh(双曲正切函数)为激活函数。

为了实现医疗文本的隐向量序列和疾病类别信息的隐向量序列的信息交互,使用双向注意力机制层对这两种隐向量序列进行处理,以达到利用疾病类别信息来提高分类准确率的效果。

在本实施例中通过计算待分类医疗文本的隐向量序列中各个隐向量与疾病类别信息的隐向量序列中各个隐向量之间的相关因子,并根据相关因子得到第一注意力向量序列;通过从相关因子中确定最大的相关因子,根据最大的相关因子得到第二注意力向量,其中,最大相关因子表示所属的待分类医疗文本的隐向量与疾病类别信息的隐向量之间相关性最大。

优选地,可以根据下述公式计算所述第一注意力向量可认为是根据待分类医疗文本的第i个词所提取的疾病类别信息:

aij=w1·hi+w2·uj+w3·(hi⊙uj)

其中,w1,w2,w3是可学习参数,hi为待分类医疗文本中第i个词的隐向量,uj为所述疾病类别信息中第j个词的隐向量,为第一注意力向量。

优选地,根据下述公式计算第二注意力向量qc,qc可认为是根据与疾病类别信息的匹配程度所提取的待分类的医疗文本整体表征:

其中,hi为所述待分类医疗文本中第i个词的隐向量,qc为所述第二注意力向量。

第一注意力向量可认为是根据医疗文本的第i个词提取疾病类别信息,第二注意力向量qc可认为是根据与疾病类别信息的匹配程度所提取的医疗文本整体表征,因此需要获得融合了上述两种信息的新的特征向量,即根据下述公式计算所述医疗疾病信息向量序列:

其中[;]代表向量拼接,⊙代表向量的哈达马乘积,bi为所述医疗疾病向量序列中的第i个向量。

步骤s30,将所述医疗疾病信息向量序列经过池化层和全连接层的处理得到所述待分类医疗文本的分类预测结果。

提取上个步骤中得到的向量序列{b1,b2,…,bm}中对疾病分类最有用的信息,优选方式为在医疗文本长度所在维度上进行最大池化操作,具体为按照下面的公式,将每个维度中的最大值提取出来形成新的向量mp作为医疗疾病信息池化向量。

当将基于深度学习的医疗文本分类问题拆解成多个二分类问题进行解决时,全连接层的输出应该是一个0到1之间的标量,用于指示输入样本是正例还是负例。该层通过一层全连接神经网络来实现这一需求,具体计算方式为:

o=σ(womp+bo)

其中wo∈r1×h,bo∈r1为可学习参数,σ(·)为sigmoid激活函数。若o大于0.5,则将输入样本判定为正类,即可以通过输入的医疗文本判断出输入的疾病信息文本所对应的疾病,否则判定为负类。

在本实施例中,本发明通过使用递归神经网络和双向注意力机制,基于医疗文本的语义表示的同时有效利用了疾病的类别信息,不需要借助额外的特征工程,提高了分类效果。

进一步的,参照图3,本发明第二实施例基于第一实施例提供一种基于深度学习的医疗文本分类方法,本实施例包括步骤:

步骤s40,使用已识别类别的医疗文本和预设的疾病类别信息对所述递归神经网络、所述双向注意力机制层、所述池化层和所述全连接层的参数进行训练。

步骤s50,训练中采用正向传播算法和误差反向传播算法。

本实施例基于第一实施例提出一种医疗文本分类系统的训练方法,采用的训练数据包括已标注类别标签的医疗文本数据和预先确定的疾病类别信息信息文本。对该系统进行训练时,先采用正向传播算法,正向传播中的步骤和用该系统进行医疗文本分类的步骤相同,即包括获取训练数据的词向量序列、获取词向量序列对应的隐向量序列、获取隐向量序列对应的注意力向量、根据注意力向量得到医疗疾病信息向量序列、将医疗疾病信息向量序列经过池化层和全连接层的处理得到预测结果,完成正向传播后基于预测结果和已知的标注的类别标签采用反向传播算法对系统中的参数进行计算和更新。

为了对本实施例的基于深度学习的医疗文本分类系统的训练方法做进一步的说明,图4中给出了本实施例的一种文本分类系统处理过程的示意。如图4所示,该文本分类系统包括词嵌入层、编码层、双向注意力机制层、最大池化层和输出层。该系统使用医疗文本的训练样本的训练过程如下所述:

1、获取已标注疾病种类的医疗文本和构造的疾病类别信息文本作为训练样本。

选取医疗文本,交由专业医生进行标注,即为其打上疾病标签。

2、将训练样本输入基于深度学习的医疗文本分类系统,进行正向传播,得到预测结果,具体处理步骤为:

1)在文本预处理层,视训练样本数据具体情况选择分词粒度。首先使用jieba等分词工具对输入的训练样本进行分词。或者,由于中文医疗文本的特殊性和专业性,为了避免分词效果不佳影响后续的预测结果,也可以直接对输入的训练样本按字符粒度进行划分。

2)在词嵌入层,使用word2vec算法提前在相关的医疗语料上训练好词向量或字向量,其维度为100维。再用预训练的词向量或字向量将输入的训练样本中的词语或字符映射到向量空间,得到训练样本中已标注疾病种类的医疗文本对应的词向量序列{c1,c2,…,cm},以及训练样本中疾病类别信息文本对应的词向量序列{q1,q2,…,qn},其中m,n分别为医疗文本、疾病类别信息文本长度。

3)在递归神经网络层,已标注疾病种类的医疗文本对应的词向量序列经过卷积处理得到对应的隐向量序列{h1,h2,…,hm},疾病类别信息文本的词向量序列经过卷积处理得到对应的隐向量序列{u1,u2,…,un}。具体地,根据样本数据情况,设定一个允许的最大输入词向量序列长度k,对小于k的词向量序列进行填充,对大于k的词向量序列进行裁剪。递归神经网络输出空间维度可以设置为100。

进一步地,为了防止模型过拟合,在训练时,词向量序列在输入递归神经网络层之前要先经过一层舍弃(dropout)层,即以一定的概率将输入词向量序列置零,dropout的比重设置为0.2。

4)将递归神经网络层得到的隐向量序列输给双向注意力机制层,得到包含医疗文本信息与疾病类别信息的交互信息的医疗疾病信息向量序列{b1,b2,…,bm}。

5)将双向注意力机制层得到的医疗疾病信息向量序列输给池化层,用最大池化方法提取对分类最关键的信息,对应得到医疗疾病信息池化向量mp。

6)将池化层得到的向量输给输出层,经过全连接层的处理,得到最终的预测结果o。

3、正向传播完毕后,对模型进行误差反向传播,以训练文本分类模型参数,具体方案为:

计算损失函数:针对文本分类模型的输出o以及训练样本中的相应的已知疾病种类标签y,本发明使用focalloss作为损失函数,以缓解医疗数据中的正负类别不平衡问题,具体计算方式为:

其中γ为超参数,设置为2。

采用自适应调节学习率的adadelta优化算法进行随机梯度下降,更新文本分类模型参数。优选地,训练时的批大小为32,学习率为1,对大于5的梯度进行梯度裁剪。

进一步地,可以在用训练样本数据训练文本分类模型时,使用验证样本数据集对文本分类模型的分类效果进行验证,用样本数据反复训练文本分类模型直至文本分类模型在验证集上的效果不再提高。此时,结束对文本分类模型参数的训练。

4、文本分类模型训练完毕后,固定文本分类模型参数,使用前向传播过程得到输入的待分类样本数据的分类结果。

本实施例中,通过使用已识别类别的医疗文本和预设的疾病类别信息对所述递归神经网络、所述双向注意力机制层、所述池化层和所述全连接层的参数进行训练,提供了一个分类效果优良的医疗文本分类系统。

本发明还提供一种基于深度学习的医疗文本分类装置,该基于深度学习的医疗文本分类装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于深度学习的医疗文本分类处理程序,所述基于深度学习的医疗文本分类处理程序被所述处理器执行时实现所述的基于深度学习的医疗文本分类方法的步骤。

此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有基于深度学习的医疗文本分类处理程序,所述基于深度学习的医疗文本分类处理程序被处理器执行时实现所述的基于深度学习的医疗文本分类方法的步骤。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1