一种基于电子病历文本的可迁移语言模型
技术领域
本发明涉及一种语言模型,尤其涉及面向于电子病历的可迁移语言模型方法。
背景技术
电子病历的文本包含了病人的症状,检查结果,以及医生根据症状、理化指标等基础数据做出的诊断和治疗过程的描述,这些重要的信息保存在非结构化信息中,不能被计算机所理解和处理。
由于医疗数据的保密性与医疗术语的专业性,研究人员需要尽可能的减少语料的标注,然而现有的模型通常只能同时用于一个领域,切换领域需要重新标注数据,费时费力。同时病历文本本身也具有一定的特殊性,通常采用“模板+术语”的构成方式,例如胃癌手术过程文本:“探查:肝、胆、胰、脾,大小肠未见异常,病灶位于胃小弯前壁”,可以分解为模板:“探查[身体器官][异常情况],病灶位于[身体器官]”与术语:“肝”、“胆”、“胰”、“脾”,“大小肠”,“胃小弯前壁”以及“未见异常”的组合;并且在相近专科中,模板几乎一致,仅是其中的术语发生了替换,例如肠癌手术过程文本:“探查见:肝胆胰脾未见明显异常,腹腔内小肠广泛粘连”,如果能建立一种将模板与专业术语分离建模的信息抽取模型,即可大幅降低模型在相近专科内的迁移难度。
发明内容
针对现有语言模型中所存在的不足,本发明提供了一种基于电子病历文本的可迁移语言模型,将电子病历文本分离成模板与术语两大部分,使得模型能够利用医学知识库分离病历文本进行建模,从而完成跨专科的信息抽取。同时采用无监督的方式进行预训练,减少了对人工标注数据的需要,使得模型能够在面对不同专科的电子病历文本时降低迁移难度。
本发明采用以下技术方案:
1.基于电子病历文本的可迁移语言模型,其主要思路包括如下步骤:
S1:模板术语分离器,以医学知识库为字典,从医学文本S中匹配出对应的术语部分,将匹配的术语进行替换,生成文本模板与专业术语集合。
S2:模板术语编码器,输入文本模板与专业术语,输出融合后的向量表征。
S3:预训练下游任务层,本发明使用了模板挖词填空、术语还原、否定考量三个方法进行预训练。预训练阶段的输出为下游任务的损失,微调阶段的输出为融合后的向量表征El+1。
2.具体的,所述步骤S1中,模板术语分离器的方法包括如下步骤:
S11:输入为病历文本SDoc、字段名Skey,输出入为字段值Svalue,根据字段类型确定不同的处理方式。具体的,任务可分为如下三类:
S12:利用字典树匹配算法,以医学知识库KG为字典,从医学文本S中匹配出对应的术语部分,再对其进行替换,生成文本模板Spattern与专业术语集合SKG。
3.具体的步骤S2中,模板术语编码器的方法包括如下步骤:
S21:模板术语编码器使用Patten Attention、KG Cross Attention依次捕捉模板的上下文语义信息,模板与知识库之间的关联信息
S22:使用FNN层对其进行一次非线性变换,得融合后的向量表征El+1。其具体公式如下,层数l∈{x|1≤x≤12}。
SelfAttention(X)=ln(mult_headh=12(X,X,X,MASK)+X)
KGCrossAttention(X,K)=ln(mult-headh=12(X,K,K,MASK)+X)
El+1=FFN(KGCrossAttention(SelfAttention(El),K,MASK))
E1=layer_normal(add([xi]s_max,[pi]s_max))
其中,E1为初始向量,源于文本X经过词向量映射的[xi]s_max以及对应的位置编码[pi]s-max。K为专业术语集合SKG中每个词的向量表示。MASK为掩码矩阵,能够控制每个词的注意力范围,此处用于KG Cross Attention中让模板只关注对应替换位置的向量表示。
4.具体的步骤S3中,模板术语解码器的方法包括如下步骤:
S31:模板挖词填空任务,用于学习模板中每个字的上下文有关表示。具体做法为,从模板中随机选择15%的正常字符,按照80%概率替换为[MASK],10%替换为词表中的其他字符,10%保持不动,再通过下游任务层将这字符还原。
S32:术语还原任务,用于学习模板中的槽与所填术语之间的联系。具体做法为,从术语集中随机选择10%的术语,按照80%概率替换为[MASK],10%替换为知识库中的其他术语,10%保持不动,再通过下游任务层将这些术语还原。此外,病历文本中通常包含部分结构化信息,该信息可以通过病历描述文本推测出,本文对此类信息中的结构化术语进行同样的替换操作,迫使模型学习描述文本与结构化文本之间的推理关系。
S33:语义倾向判断任务,具体做法为:从语料中利用预定义的规则匹配包含否定含义的段落作为负例,随机挑选一些其他段落作为正例,其中限制正例的最大采样个数等于负例个数,再通过下游任务层预测该段落的倾向。
S34:使用三个任务进行联合预训练,预训练阶段的输出为下游任务的损失,微调阶段的输出为融合后的向量表征El+1。
附图说明
读者在参照附图阅读了本发明的
具体实施方式
以后,将会更清楚地了解本发明的各个方面。其中,
图1示出依据本发明的实施方式,基于电子病历文本的可迁移语言模型的示意图。
具体实施方式
为了使本申请所揭示的技术内容更加详尽与完备,可参照附图以及本发明的下述各种具体实施例,附图中相同的标记代表相同或相似的组件。然而,本领域的普通技术人员应当理解,下文中所提供的实施例并非用来限制本发明所涵盖的范围。此外,附图仅仅用于示意性地加以说明,并未依照其原尺寸进行绘制。
下面参照附图,对本发明各个方面的具体实施方式作进一步的详细描述。
图1示出依据本发明的实施方式,基于电子病历文本的可迁移语言模型的示意图。
1.基于电子病历文本的可迁移语言模型,其主要思路包括如下步骤:
S1:模板术语分离器,以医学知识库为字典,从医学文本S中匹配出对应的术语部分,将匹配的术语进行替换,生成文本模板与专业术语集合。
S2:模板术语编码器,输入文本模板与专业术语,输出融合后的向量表征。
S3:预训练下游任务层,本发明使用了模板挖词填空、术语还原、否定考量三个方法进行预训练。
2.具体的,所述步骤S1中,构建基于电子病历文本的可迁移语言模型包括如下步骤:
S11:构建基于电子病历文本的可迁移语言模型,模型结构主要分为模板术语分离器,模板术语编码器以及预训练下游任务层。
S12:模板术语分离器利用字典树匹配算法,以医学知识库KG为字典,从医学文本S中匹配出对应的术语部分,再对其进行替换,生成文本模板Spattern与专业术语集合SKG。
例如胃癌手术过程文本:“探查:肝、胆、胰、脾,大小肠未见异常,病灶位于胃小弯前壁”,可以分解为模板:“探查[身体器官][异常情况],病灶位于[身体器官]”与术语:“肝”、“胆”、“胰”、“脾”,“大小肠”,“胃小弯前壁”以及“未见异常”的组合。
3.具体的,所述步骤S2中,构建模板术语编码器包括如下步骤:
S21:模板术语编码器使用Patten Attention、KG Cross Attention依次捕捉模板的上下文语义信息,模板与知识库之间的关联信息。
S22:使用FNN层对其进行一次非线性变换,得融合后的向量表征El+1。其具体公式如下,层数l∈{x|1≤x≤12}。
SelfAttention(X)=ln(mult_headh=12(X,X,X,MASK)+X)
KGCrossAttention(X,K)=ln(mult-headh=12(X,K,K,MASK)+X)
El+1=FFN(KGCrossAttention(SelfAttentton(El),K,MASK))
E1=layer_normal(add([xi]s_max,[pi]s_max))
其中,E1为初始向量,源于文本X经过词向量映射的[xi]s_max以及对应的位置编码[pi]s_max。K为专业术语集合SKG中每个词的向量表示。MASK为掩码矩阵,能够控制每个词的注意力范围,此处用于KG Cross Attention中让模板只关注对应替换位置的向量表示。
4.具体的,所述步骤S3中,对模型预训练包括如下步骤:
S31:模板挖词填空任务,用于学习模板中每个字的上下文有关表示。具体做法为,从模板中随机选择15%的正常字符,按照80%概率替换为[MASK],10%替换为词表中的其他字符,10%保持不动,再通过下游任务层将这字符还原。具体计算公式如下:
Hmlm=ln(relu(WmlmDl+1+bmlm))
通过这一任务使得模型能够无监督的根据上下文为输入文本的每个字生成对应的表示。
S32:术语还原任务,用于学习模板中的槽与所填术语之间的联系。具体做法为,从术语集中随机选择10%的术语,按照80%概率替换为[MASK],10%替换为知识库中的其他术语,10%保持不动,再通过下游任务层将这些术语还原。此外,病历文本中通常包含部分结构化信息,该信息可以通过病历描述文本推测出,本文对此类信息中的结构化术语进行同样的替换操作,迫使模型学习描述文本与结构化文本之间的推理关系。
术语还原任务整体计算公式如下:
Htmlm=ln(relu(WtmlmDl+1+btmlm))
这一任务针对电子病历文本中含有大量术语的特点,使得模型能够针对术语的特点进行学习,增强模型面对电子病历文本时的表现。
S33:语义倾向判断任务,具体做法为:从语料中利用预定义的规则匹配包含否定含义的段落作为负例,随机挑选一些其他段落作为正例,其中限制正例的最大采样个数等于负例个数,再通过下游任务层预测该段落的倾向。其具体计算公式如下:
lossneg=-∑p∈positive paralog(P(para is positive|Hp))
-∑p∈negative paralog(1-P(para is positive|Hp))
由于注意力机制偏向于捕捉字与字之间的联系,容易忽视整体的语境信息,而医学中对否定语境的要求相比于通用领域要高许多,因此通过这一任务来提升模型对于否定语义的理解。
S34:使用三种任务联合进行预训练,最终总的预训练loss为三者的加权和,公式如下:
loss=lossmlm+losstmlm+lossneg
本发明提出的基于电子病历文本的可迁移语言模型,该模型通过医学知识库将电子病历文本分离成模板与术语两大部分,先利用Pattern Attention对自然语言模板单独建模,再利用KG Cross Attention融合对应的医疗术语,使得模型能够利用医学知识库分离病历文本进行建模,从而完成跨专科的信息抽取。为了让模型更加适应于电子病历文本,本发明设计了三种预训练任务,通过这种方法对模型进行预训练后,可以大幅降低模型在相近专科内的迁移难度。
以上仅为本发明的实施实例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,不经过创造性劳动所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:意图识别方法、装置、设备及存储介质