一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种医药命名实体识别与实体规范化方法

2022-05-21 08:28:15 来源:中国专利 TAG:


1.本发明涉及一种医药命名实体识别与实体规范化技术,尤其是涉及一种医药命名实体识别与实体规范化方法。


背景技术:

2.随着生物医药的高速发展,相关文献资料的指数级增长导致了大量的医药信息难以被人工提取,但是隐藏在其中的实体信息对生物医学的研究和应用至关重要,为了充分利用医药文本,我们有必要准确地捕获文本中包含的实体信息。
3.随着医药知识的快速更新发展,导致手工制作的词典难以满足实际需求,并且由于大量的医药文本有着非结构化和专业化等特点,使得人工标注的成本过高。为了解决这一问题,目前的主流方法是是通过机器学习的方法搭建一种可以实现医药命名实体识别和规范化的模型。但是,大多数基于机器学习的模型框架受限于医学语言的复杂性以及对文本信息提取的不充分,并且仅仅是针对医药命名实体识别(drug-named entity recognition,dner)和医药实体规范化(drug-named entity normalization,dnen)的简单建模,无法实现医药命名实体识别与实体规范化这两种任务的相互支持,导致识别实体名称及实体边界的准确率并不高。


技术实现要素:

4.本发明所要解决的技术问题是提供一种识别实体名称及实体边界的准确率较高的医药命名实体识别与实体规范化方法。
5.本发明解决上述技术问题所采用的技术方案为:一种医药命名实体识别与实体规范化方法,包括以下步骤:
6.步骤1、从ddi2011和ddi2013挑战语料库中获取数据构建用于训练深度学习模型的数据集,将用于训练深度学习模型的数据集按照以下方式进行初步处理:将数据集随机等分为t个子集d1,d2,

,d
t
,t为大于等于2的整数;分别对每个子集建立词word、字符char、标签label和特征feature这四个字母表,每个字母表分别为用于存储{key:instance,value:index}的词典,其中key代表存储的键,value代表存储的值,instance指的是词,index指的是索引;其中标签label为采用bioes标记法对词进行标记的符号,bioes标记法中,b表示这个词处于一个实体的开始(begin),i表示内部(inside),o表示外部(outside),e表示这个词处于一个实体的结束位置,s表示这个词是自己就可以组成一个实体(single);
7.步骤2、基于每个子集的四个字母表,分别为每个子集建立两个列表,两个列表分别包含四列数据,其中第一个列表的四列数据依次为[words,chars,labels,features],第二个列表的四列数据依次为[words_ids,chars_ids,labels_ids,features_ids],任意一个子集的第一个列表中,words对应为该子集的词word字母表中的数据,chars对应为该子集的字符char字母表中的数据,labels对应为该子集的标签label字母表中的数据,
features对应为该子集的特征feature字母表中的数据,任意一个子集的第二个列表中,words_ids记录该子集的第一个列表的words列中各个数据在对应的词word字母表中的位置,chars_ids记录该子集的第一个列表的chars列中各个数据在对应的char字母表中的位置,labels_ids记录该子集的第一个列表的labels列中各个数据在对应的标签label字母表中的位置,features_ids记录该子集的第一个列表的features列中各个数据在对应的特征feature字母表中的位置;
[0008]
步骤3、对步骤1的t个子集分别进行数据处理,得到t个训练子集,具体处理过程为:先对某个子集的词word、字符char、标签label和特征feature这四个字母表中所有词进行遍历,分别在每个字母表中建立其内每个词的嵌入矩阵,然后使用了glove算法对pmc生物医学语料库和pubmed生物医学语料库中的句子进行预训练得到词向量,采用得到的词向量对词word字母表中每个词的嵌入矩阵进行赋值更新,对字符char字母表、标签label和特征feature字母表中每个词的嵌入矩阵则是随机进行赋值更新,然后采用该子集更新后的四个字母表中每个词的嵌入矩阵反向更新该子集中对应的数据,得到该子集对应的训练子集;
[0009]
步骤4、从每个训练子集中分批次抽取句子,且每批次随机抽取batchsize个句子,直至该训练子集中所有句子被抽取完,其中,如果该训练子集中未被抽取的剩余句子数量不足10,则将剩余句子全部抽取作为该训练子集的最后一个批次,batchsize等于10,并且,从该训练子集对应的子集的第一个列表中去获取每个批次句子的对应信息,对每个批次句子进行修改,使每个批次句子都为[words,chars,labels,features]构成的嵌套list,然后将此时得到的每个批次句子分别按照如下方式进行处理后将一个批次句子作为一组训练数据,具体为:将某个批次句子按照句子的序列长度降序排列,然后确定该批次中最长句子的长度,在长度不足该批次中最长句子长度的其他句子的最后面添加0,使这些句子的长度等于该批次中最长句子长度,最后分别确定该批次的每个句子中最长词的长度,对每个句子中长度小于该句中最长词长度的其他词的最后面添加0使其长度等于该句中最长词长度,此时处理完成的一个批次的句子即为一组训练数据;由此,每个训练子集对应得到多组训练数据;
[0010]
步骤5、构建一个基于blstm-cnn-crf的深度学习模型,基于blstm-cnn-crf的深度学习模型依次包括三层:字符层、bilstm层和crf层,所述的字符层中设置有卷积神经网络cnn和dropout算法,所述的字符层支持预训练以及随机初始化两种方式,所述的字符层通过预训练或者随机初始化两种方式,获得输入其内所有数据的词级的词的嵌入矩阵,并通过卷积神经网络得到所有数据的字符级的词的嵌入矩阵以及标签,最后将得到的词级的词的嵌入矩阵、字符级的词的嵌入矩阵以及标签拼接组合得到拼接词的嵌入矩阵后输入所述的bilstm层,所述的dropout算法用于防止卷积神经网络工作过程中的过拟合;所述的bilstm层用于训练输入其内的拼接词的嵌入矩阵中每个词的嵌入矩阵以及标签的预测,捕获输入其内的拼接词的嵌入矩阵中每个词的嵌入矩阵中上下文的隐藏特征信息,基于隐藏特征信息得到隐状态序列映射矩阵后输入所述的crf层,所述的crf层用于基于隐状态序列映射矩阵得到对应的医药命名实体识别与实体规范化结果;
[0011]
步骤6、将步骤4得到的多组训练数据依次分别送入基于blstm-cnn-crf的深度学习模型中,对该基于blstm-cnn-crf的深度学习模型进行训练,将预测效果最好的基于
blstm-cnn-crf的深度学习模型作为训练完成的基于blstm-cnn-crf的深度学习模型;
[0012]
步骤7、、待预测的数据集作为一个子集,按照步骤1-4相同的方法将该子集数据转换为与基于blstm-cnn-crf的深度学习模型所匹配的数据格式,即每组训练数据相同的数据格式,然后将转换后的子集送入训练好的基于blstm-cnn-crf的深度学习模型中进行预测处理,得到待预测的数据集对应的命名实体识别与实体规范化结果。
[0013]
所述的bilstm层由前向lstm和后向lstm组成,所述的前向lstm和所述的后向lstm分别由多个lstm单元组合而成,其中所述的前向lstm和所述的后向lstm中的lstm单元的数量均等于输入所述的bilstm层的拼接词的嵌入矩阵中独立词的嵌入矩阵的总数量;在前向lstm中,输入所述的bilstm层的拼接词的嵌入矩阵按照从左到右的顺序确定其内各个独立词的嵌入矩阵的位置,此时该拼接词的嵌入矩阵中t位置的词的嵌入矩阵x
t
传入到第t个lstm单元,第t 1个位置的词的嵌入矩阵x
t 1
传入到第t 1个lstm单元,t表示拼接词的嵌入矩阵按照从左到右顺序计数时,计数为t的某个词的嵌入矩阵的位置,以此类推,将第t个lstm单元的输出记为即为x
t
的隐藏特征信息,同时除第1个lstm单元以外,第t个lstm单元的输入除了t位置的词的嵌入矩阵x
t
外,还有第t-1个lstm单元的输出即为x
t-1
的隐藏特征信息,所述的前向lstm中的每个lstm单元完成三个部分信息的判断:判断需要丢弃的信息量、判断加入到目前状态中新的信息量以及确定最终输出部分的信息量,然后最终输出输入其内对应位置词的嵌入矩阵的隐藏特征信息,得到拼接词的嵌入矩阵从左到右的隐藏特征信息;所述的后向lstm用于得到输入所述的bilstm层的拼接词的嵌入矩阵从右到左的隐藏特征信息,所述的后向lstm得到拼接词的嵌入矩阵从右到左的隐藏特征信息所采用的方法与所述的前向lstm相同,区别仅在于所述的后向lstm中,拼接词的嵌入矩阵按照从右到左的顺序确定其内各个独立词的嵌入矩阵的位置,将所述的后向lstm中得到的第t个位置词的嵌入矩阵的隐藏特征信息记为将作为拼接词的嵌入矩阵t位置的隐藏特征信息,将拼接词的嵌入矩阵第1个位置至最后一个位置的隐藏特征信息进行拼接,得到该拼接词的嵌入矩阵完整的隐状态序列;然后将拼接词的嵌入矩阵完整的隐状态序列进行映射,得到矩阵p=(p1,p2,...,pn),其中pj代表拼接词的嵌入矩阵中第j个词对应标签的分数,n表示拼接词的嵌入矩阵中词的数量,j=1,2,

,n,然后将矩阵p输入到crf层中,所述的crf层基于矩阵p判断该组训练数据中相邻词的标记信息是否合理,选取最优路径并最终得到拼接词的嵌入矩阵中每个词的命名实体识别结果,进而得到拼接词的嵌入矩阵的命名实体识别结果;采用上述方法得到每组训练数据对应的拼接词的嵌入矩阵的命名实体识别结果后,将每个训练子集对应的所有组训练数据对应的拼接词的嵌入矩阵的命名实体识别结果合并作为该训练子集的命名实体识别结果,该训练子集的命名实体识别结果中各个词对应的标签构成该训练子集的实体规范化结果;然后采用公式对每个子集进行更新,其中为更新后第i个子集,di代表第i个子集,i=1,2,

,t,为第i个子集对应的训练子集的实体规范化结果,ui是为第i个子集对应的训练子集的所有组训练数据通过所述的基于blstm-cnn-crf的深度学习模型处理时,在crf层中选取的最优路径构成的矩阵,符号表示哈达玛积运算;将此时得到的
至按照步骤1-步骤4的方法进行处理得到多组训练数据,然后将得到的多组训练数据再次分别输入基于blstm-cnn-crf的深度学习模型中进行处理,最后得到更新后每个子集对应的医药命名实体识别与实体规范化预测结果,将此时预测效果最好的基于blstm-cnn-crf的深度学习模型作为训练好的基于blstm-cnn-crf的深度学习模型保存。
[0014]
与现有技术相比,本发明的优点在于通过对输入数据使用cnn进行字符特征提取,利用elmo获取上下文相关的词向量,并将在生物医学上预训练的词的嵌入矩阵输入到基于blstm-cnn-crf的深度学习模型中,将输出的标签互相反馈更新任务参数,实现医药命名实体识别任务dner与实体规范化任务dnen的相互支持,本发明采取了完全共享的模式,在任务之间共享bilstm-cnn层,这意味着除了对dner和dnen设置对应的输出层外,基于blstm-cnn-crf的深度学习模型的所有参数都是共享的,这种结构保证了该模型可以捕获不同任务的特征表示,并互相反馈生成预测序列,由此本发明实现医药命名实体识别与实体规范化这两种任务的相互支持,识别实体名称及实体边界的准确率较高,实验结果显示本发明的方法在ddi2011及ddi2013数据集上有着更好的性能表现。
附图说明
[0015]
图1为本发明的医药命名实体识别与实体规范化方法与其他不同方法的表现对比图。
具体实施方式
[0016]
以下结合附图实施例对本发明作进一步详细描述。
[0017]
实施例:一种医药命名实体识别与实体规范化方法,包括以下步骤:
[0018]
步骤1、从ddi2011和ddi2013挑战语料库中获取数据构建用于训练深度学习模型的数据集,将用于训练深度学习模型的数据集按照以下方式进行初步处理:将数据集随机等分为t个子集d1,d2,

,d
t
,t为大于等于2的整数;分别对每个子集建立词word、字符char、标签label和特征feature这四个字母表,每个字母表分别为用于存储{key:instance,value:index}的词典,其中key代表存储的键,value代表存储的值,instance指的是词,index指的是索引;其中标签label为采用bioes标记法对词进行标记的符号,bioes标记法中,b表示这个词处于一个实体的开始(begin),i表示内部(inside),o表示外部(outside),e表示这个词处于一个实体的结束位置,s表示这个词是自己就可以组成一个实体(single);
[0019]
步骤2、基于每个子集的四个字母表,分别为每个子集建立两个列表,两个列表分别包含四列数据,其中第一个列表的四列数据依次为[words,chars,labels,features],第二个列表的四列数据依次为[words_ids,chars_ids,labels_ids,features_ids],任意一个子集的第一个列表中,words对应为该子集的词word字母表中的数据,chars对应为该子集的字符char字母表中的数据,labels对应为该子集的标签label字母表中的数据,features对应为该子集的特征feature字母表中的数据,任意一个子集的第二个列表中,words_ids记录该子集的第一个列表的words列中各个数据在对应的词word字母表中的位置,chars_ids记录该子集的第一个列表的chars列中各个数据在对应的char字母表中的位置,labels_ids记录该子集的第一个列表的labels列中各个数据在对应的标签label字母
表中的位置,features_ids记录该子集的第一个列表的features列中各个数据在对应的特征feature字母表中的位置;
[0020]
步骤3、对步骤1的t个子集分别进行数据处理,得到t个训练子集,具体处理过程为:先对某个子集的词word、字符char、标签label和特征feature这四个字母表中所有词进行遍历,分别在每个字母表中建立其内每个词的嵌入矩阵,然后使用了glove算法对pmc生物医学语料库和pubmed生物医学语料库中的句子进行预训练得到词向量,采用得到的词向量对词word字母表中每个词的嵌入矩阵进行赋值更新,对字符char字母表、标签label和特征feature字母表中每个词的嵌入矩阵则是随机进行赋值更新,然后采用该子集更新后的四个字母表中每个词的嵌入矩阵反向更新该子集中对应的数据,得到该子集对应的训练子集;
[0021]
步骤4、从每个训练子集中分批次抽取句子,且每批次随机抽取batchsize个句子,直至该训练子集中所有句子被抽取完,其中,如果该训练子集中未被抽取的剩余句子数量不足10,则将剩余句子全部抽取作为该训练子集的最后一个批次,batchsize等于10,并且,从该训练子集对应的子集的第一个列表中去获取每个批次句子的对应信息,对每个批次句子进行修改,使每个批次句子都为[words,chars,labels,features]构成的嵌套list,然后将此时得到的每个批次句子分别按照如下方式进行处理后将一个批次句子作为一组训练数据,具体为:将某个批次句子按照句子的序列长度降序排列,然后确定该批次中最长句子的长度,在长度不足该批次中最长句子长度的其他句子的最后面添加0,使这些句子的长度等于该批次中最长句子长度,最后分别确定该批次的每个句子中最长词的长度,对每个句子中长度小于该句中最长词长度的其他词的最后面添加0使其长度等于该句中最长词长度,此时处理完成的一个批次的句子即为一组训练数据;由此,每个训练子集对应得到多组训练数据;
[0022]
步骤5、构建一个基于blstm-cnn-crf的深度学习模型,基于blstm-cnn-crf的深度学习模型依次包括三层:字符层、bilstm层和crf层,所述的字符层中设置有卷积神经网络cnn和dropout算法,所述的字符层支持预训练以及随机初始化两种方式,所述的字符层通过预训练或者随机初始化两种方式,获得输入其内所有数据的词级的词的嵌入矩阵,并通过卷积神经网络得到所有数据的字符级的词的嵌入矩阵以及标签,最后将得到的词级的词的嵌入矩阵、字符级的词的嵌入矩阵以及标签拼接组合得到拼接词的嵌入矩阵后输入所述的bilstm层,所述的dropout算法用于防止卷积神经网络工作过程中的过拟合;所述的bilstm层用于训练输入其内的拼接词的嵌入矩阵中每个词的嵌入矩阵以及标签的预测,捕获输入其内的拼接词的嵌入矩阵中每个词的嵌入矩阵中上下文的隐藏特征信息,基于隐藏特征信息得到隐状态序列映射矩阵后输入所述的crf层,所述的crf层用于基于隐状态序列映射矩阵得到对应的医药命名实体识别与实体规范化结果;
[0023]
步骤6、将步骤4得到的多组训练数据依次分别送入基于blstm-cnn-crf的深度学习模型中,对该基于blstm-cnn-crf的深度学习模型进行训练,将预测效果最好的基于blstm-cnn-crf的深度学习模型作为训练完成的基于blstm-cnn-crf的深度学习模型;
[0024]
步骤7、、待预测的数据集作为一个子集,按照步骤1-4相同的方法将该子集数据转换为与基于blstm-cnn-crf的深度学习模型所匹配的数据格式,即每组训练数据相同的数据格式,然后将转换后的子集送入训练好的基于blstm-cnn-crf的深度学习模型中进行预
测处理,得到待预测的数据集对应的命名实体识别与实体规范化结果。
[0025]
本实施例中,所述的bilstm层由前向lstm和后向lstm组成,所述的前向lstm和所述的后向lstm分别由多个lstm单元组合而成,其中所述的前向lstm和所述的后向lstm中的lstm单元的数量均等于输入所述的bilstm层的拼接词的嵌入矩阵中独立词的嵌入矩阵的总数量;在前向lstm中,输入所述的bilstm层的拼接词的嵌入矩阵按照从左到右的顺序确定其内各个独立词的嵌入矩阵的位置,此时该拼接词的嵌入矩阵中t位置的词的嵌入矩阵x
t
传入到第t个lstm单元,第t 1个位置的词的嵌入矩阵x
t 1
传入到第t 1个lstm单元,t表示拼接词的嵌入矩阵按照从左到右顺序计数时,计数为t的某个词的嵌入矩阵的位置,以此类推,将第t个lstm单元的输出记为推,将第t个lstm单元的输出记为即为x
t
的隐藏特征信息,同时除第1个lstm单元以外,第t个lstm单元的输入除了t位置的词的嵌入矩阵x
t
外,还有第t-1个lstm单元的输出即为x
t-1
的隐藏特征信息,所述的前向lstm中的每个lstm单元完成三个部分信息的判断:判断需要丢弃的信息量、判断加入到目前状态中新的信息量以及确定最终输出部分的信息量,然后最终输出输入其内对应位置词的嵌入矩阵的隐藏特征信息,得到拼接词的嵌入矩阵从左到右的隐藏特征信息;所述的后向lstm用于得到输入所述的bilstm层的拼接词的嵌入矩阵从右到左的隐藏特征信息,所述的后向lstm得到拼接词的嵌入矩阵从右到左的隐藏特征信息所采用的方法与所述的前向lstm相同,区别仅在于所述的后向lstm中,拼接词的嵌入矩阵按照从右到左的顺序确定其内各个独立词的嵌入矩阵的位置,将所述的后向lstm中得到的第t个位置词的嵌入矩阵的隐藏特征信息记为将作为拼接词的嵌入矩阵t位置的隐藏特征信息,将拼接词的嵌入矩阵第1个位置至最后一个位置的隐藏特征信息进行拼接,得到该拼接词的嵌入矩阵完整的隐状态序列;然后将拼接词的嵌入矩阵完整的隐状态序列进行映射,得到矩阵p=(p1,p2,...,pn),其中pj代表拼接词的嵌入矩阵中第j个词对应标签的分数,n表示拼接词的嵌入矩阵中词的数量,j=1,2,

,n,然后将矩阵p输入到crf层中,所述的crf层基于矩阵p判断该组训练数据中相邻词的标记信息是否合理,选取最优路径并最终得到拼接词的嵌入矩阵中每个词的命名实体识别结果,进而得到拼接词的嵌入矩阵的命名实体识别结果;采用上述方法得到每组训练数据对应的拼接词的嵌入矩阵的命名实体识别结果后,将每个训练子集对应的所有组训练数据对应的拼接词的嵌入矩阵的命名实体识别结果合并作为该训练子集的命名实体识别结果,该训练子集的命名实体识别结果中各个词对应的标签构成该训练子集的实体规范化结果;然后采用公式对每个子集进行更新,其中为更新后第i个子集,di代表第i个子集,i=1,2,

,t,为第i个子集对应的训练子集的实体规范化结果,ui是为第i个子集对应的训练子集的所有组训练数据通过所述的基于blstm-cnn-crf的深度学习模型处理时,在crf层中选取的最优路径构成的矩阵,符号表示哈达玛积运算;将此时得到的至按照步骤1-步骤4的方法进行处理得到多组训练数据,然后将得到的多组训练数据再次分别输入基于blstm-cnn-crf的深度学习模型中进行处理,最后得到更新后每个子集对应的医药命名实体识别与实体规范化预测结果,将此时预测效果最好的基于blstm-cnn-crf的深度学习模型作为训练好的基于blstm-cnn-crf的深度学习模型保存。
[0026]
为验证本发明的性能,我们利用pytorch进行深度学习模型部署,并在nvidia gtx1080gpu上运行。在我们的实验中,我们采用了来自药品-药物相互作用任务的ddi2011挑战语料库。我们利用python中minidom模块对《sentence》、《entity》元素进行抽取,获取必要的文本以及实体信息,建立列表,进行将实体与文本进行匹配标注。然后将所有的训练数据集收集为训练数据,并收集所有测试数据集作为测试数据。表1显示了ddi2011中训练和测试集中的文档,句子和药品的分布。在该语料库中,只有一种类型的实体名称:drug,因此文本仅被标记为“b/i-drug”或“o”。
[0027]
表1ddi2011中的训练和测试设置
[0028][0029]
为了进一步评估深度学习模型的性能,我们使用semeval-2013的药物名称识别和分类任务中的数据集,表2显示了ddi2013训练集和测试集中的带注释的实体的编号。该数据集中包含了四个实体类型:drug,brand,group,drug_n。其中drug表示表示用于治疗、治愈、预防或诊断已批准供人类使用的疾病的任何化学试剂,brand以商品名或品牌名称为特征,group表示文中指定一组药物之间的化学或药理关系的任何术语,drug_n类型描述了一种尚未被批准用于人类医疗目的的化学试剂。
[0030]
表2.ddi2013中的带注释的实体数
[0031][0032]
本发明使用glove用于初始化词的嵌入矩阵,该词的嵌入矩阵是在pmc和pubmed生物医学语料库上预训练得到,利用elmo获取上下文相关的词向量,对于字符的嵌入矩阵按
照均匀样本进行随机初始化,其中dim=30。表3显示了我们的实验中使用的超参数,我们将基于预先训练好的单词的嵌入矩阵、字符的嵌入矩阵和上下文化的字符的嵌入矩阵的维度设置为30,100和1024,在训练过程中使用递减学习率的小批量随机梯度下降(sgd)来更新参数,我们将深度学习模型的初始化学习率为0.015,dropout rate设置为0.5,批量大小为10。
[0033]
表3.我们实验中的超参数
[0034][0035][0036]
在我们的实验中,我们使用精确率、召回率、f1来评估深度学习模型的性能,精确率代表所有预测正确的实体占总预测实体的比率,召回率代表预测的实体占数据集中实体总数的比率,f1代表精确率和召回率的调和均值,其公式如下所示:
[0037]
[0038][0039][0040]
其中tp表示真正的正样品的数量,tn代表真正的阴样本数量,fp表示误报的样本数量,f能代表假阴样本的数量。我们并使用ddi2013挑战提供的四个评估标准中的两个,类型匹配(只有在存在某些与相同类别的黄金药物名称重叠)和严格匹配(仅当标记的边界和类别与黄金药物名称完全匹配时,标记的药物名称才是正确的)。
[0041]
将本发明的深度学习模型在ddi2011和ddi2013上进行了评估,它们是具有代表性的生物医学语料库,表4展示了multi-dtr与其他团队工作的性能比较,然后我们分析了模型中各个架构对实验的影响,如不同的嵌入图层、不同的优化方法、多任务相互反馈的框架等。通过对比可以发现我们的深度学习模型架构在实验中有着很好的表现。
[0042]
我们将结果与其他团队的工作进行比较,为了保证实验的公平性和合理性,深度学习模型的超参数都是遵循文章中的最佳参数进行配置,从表4中可以看到,早期提出的基于词典和基于规则的方法取得了合理的结果,其中包括tsuruoka、hettne等人,后续的深度学习模型,如lasige等人将crf和从数据库中收集的用于dner处理的词典术语列表结合在一起,来对实体进行识别和分类,zeng等人不借助任何外部词典,利用bilstm-crf结构实现对医药实体的辨别,取得了较好的实验结果。yang等人使用分层递归网络进行跨语言迁移学习。liu等人的模型将生物医学文本中训练的词嵌入和三种医药词典的语义特征结合在一起,模型在ddi2013上的性能表现很好,表明我们的模型相较比liu的模型在精确度上低了0.90%,但召回率高了6.23%,f1高了2.43%。
[0043]
表4.在ddi2011和ddi2013中的实验结果
[0044][0045]
在进行ddi2013数据集的评估时,表5统计了深度学习模型在ddi2013语料库中各种实体类型识别的准确评估,在进行类型识别种都取得了很好的表现,但是因为drug_n的实体类型在数据集中占比较低(《4%),深度学习模型会忽略该实体与其他实体类型的差异,导致模型识别准确率相较其他实体较低。
[0046]
表5.ddi2013中不同实体类型的实验结果
[0047][0048]
本发明提出了通过预训练的词的嵌入矩阵、字符表示和上下文相关的词的嵌入矩
阵来获得更丰富的特征信息,如表6所示,为了测试不同的表示的输入信息对模型的影响,我们将三种嵌入矩阵信息分别组合输入到深度学习模型中,结果显示通过串联表示优于单一表示,并且多重表示的方法实现了最佳的性能。
[0049]
表6.每种表示的性能比较
[0050][0051]
我们比较了不同的优化器,其中包括sgd、adagrad、adadelta、rmsprop和adam,sgd通过随机提取固定大小的训练样本来计算梯度和更新参数,避免陷入鞍点或者比较差的局部最优点。adagrad则是最学习率进行了一个约束,适合处理稀疏梯度,但是可能会导致梯度消失,adadelta是对adagrad的扩展,在计算上进行了简化。rmsprop依赖于全局学习率,适合处理非平稳目标,adam利用梯度的一阶矩估计和二阶矩估计动态调整每个参数的学习率,但容易出现泛化性和收敛问题。实验结果见图1,sgd明显优于其他优化器。
[0052]
本发明评估了dropout的有效性,深度学习模型的其他所有的超参数都与表3中相同,如表8所示,我们观察使用dropout后,深度学习模型在ddi2011和ddi2013语料库中的性能都略有提升,它证明了dropout在减少过拟合方面的作用。
[0053]
表8.使用dropout层的表现对比
[0054][0055]
本发明还探究了多任务学习策略的有效性,从表9可以看出,采用两种显式反馈策略来联合建模dner和dnen对模型的性能表现有明显的提升,一方面受益于多任务学习所提供的这两个任务的一般表示,另一方面,我们的方法将层次任务转换为并行的多任务设置,同时保持了任务之间的相互支持。
[0056]
表9.采用多任务学习的性能比较
[0057]
[0058][0059]
综上所述,医药文本挖掘是计算机科学和生物医学的一个重要的学科交叉领域,本发明的医药命名实体识别与实体规范化方法,在ddi2011和ddi2013数据集上都有着很好的表现,并且通过详细的分析表明本发明中深度学习模型的主要增益来自于医药实体之间共享字符、预训练的字的嵌入矩阵和上下文相关的字的嵌入矩阵信息,并且通过dner和dnen的正向反馈基本解决了实体边界和类型冲突的问题,实验表明该方法无须通过任何的药物词典以及任何手工构建的功能就能获得很好的性能表现,建立了一个高效的医药实体识别系统。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献