基于医学词库增强的病历质检解析方法、装置及设备与流程

文档序号:31871404发布日期:2022-10-21 19:29阅读:48来源:国知局
基于医学词库增强的病历质检解析方法、装置及设备与流程

1.本技术涉及基于医学词库增强的病历质检解析技术领域,尤其涉及一种基于医学词库增强的病历质检解析方法、装置及设备。


背景技术:

2.电子病历是患者从入院到出院过程中的各种文字和图像记录,是医务人员针对患者疾病发生和发展进行检查、检验、诊断和治疗等一系列医疗活动的完整记录。电子病历的书写质量非常重要,因此,各医院开始利用病历质检系统的审核提示和统计分析等功能时刻监管院内病历书写质量,促进病历书写质量的改善。
3.病历质检系统通常是利用预先训练的模型对病历进行解析,以识别和提取电子病历中的关键医学概念及其关系。不过,实际应用中,受模型训练样本的数量和质量的影响,训练得到的模型难以准确识别所有医学概念及其关系,导致最终的解析结果出现遗漏或偏差。


技术实现要素:

4.基于上述问题,本技术提出一种基于医学词库增强的病历质检解析方法、装置及设备,能够用于克服现有技术中的对电子病历的解析结果出现遗漏或偏差的问题。
5.本技术提出的技术方案具体如下:
6.第一方面,本技术提供一种基于医学词库增强的病历质检解析方法,包括:
7.通过对待解析病例文本进行文本分类处理,得到第一解析结果;所述文本分类处理用于确定文本中的文本片段对应的医学概念;
8.以及,通过将所述待解析病例文本与预先构建的医学词库进行匹配,对所述待解析病例文本进行分类解析处理,得到第二解析结果;其中,所述医学词库中存储医学概念标签,以及与医学概念标签对应的医学实体词;
9.对所述第一解析结果和所述第二解析结果进行融合处理,得到对所述待解析病例文本的解析结果。
10.第二方面,本技术提供一种基于医学词库增强的病历质检解析装置,其包括:
11.第一解析模块,用于通过对待解析病例文本进行文本分类处理,得到第一解析结果;所述文本分类处理用于确定文本中的文本片段对应的医学概念;
12.第二解析模块,用于通过将所述待解析病例文本与预先构建的医学词库进行匹配,对所述待解析病例文本进行分类解析处理,得到第二解析结果;其中,所述医学词库中存储医学概念标签,以及与医学概念标签对应的医学实体词;
13.融合处理模块,用于对所述第一解析结果和所述第二解析结果进行融合处理,得到对所述待解析病例文本的解析结果。
14.第三方面,本技术提供一种电子设备,其包括:
15.存储器和处理器;
16.其中,所述存储器用于存储程序,以及存储医学词库,所述医学词库中存储医学概念标签,以及与医学概念标签对应的医学实体词;
17.所述处理器,用于通过运行所述存储器中的程序,以及调用所述存储器中的所述医学词库,实现如第一方面所述的基于医学词库增强的病历质检解析方法。
18.第四方面,本技术提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现如第一方面所述的基于医学词库增强的病历质检解析方法的各个步骤。
19.本技术的基于医学词库增强的病历质检解析方法、装置、电子设备和存储介质,通过对待解析病例文本进行文本分类处理,得到第一解析结果;文本分类处理用于确定文本中的文本片段对应的医学概念;以及,通过将待解析病例文本与预先构建的医学词库进行匹配,对待解析病例文本进行分类解析处理,得到第二解析结果;其中,医学词库中存储医学概念标签,以及与医学概念标签对应的医学实体词;对第一解析结果和第二解析结果进行融合处理,得到对待解析病例文本的解析结果。可见本技术的方案中,在解析病例文本进行文本片段的分类处理的基础上,还利用医学词库对待解析病例文本进行分类解析处理,从而在融合两种处理结果之后,最终得到基于医学词库增强的解析结果,如此设置,通过基于医学词库的解析处理可以增强解析结果的准确性,从而可以避免不能准确识别所有医学概念及其关系的问题,使得解析结果更准确,避免解析结果出现遗漏或偏差。
附图说明
20.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
21.图1是本技术实施例提供的一种基于医学词库增强的病历质检解析方法的流程示意图;
22.图2是图1所示基于医学词库增强的病历质检解析方法的步骤s101的具体实现方法的流程示意图;
23.图3是图1所示基于医学词库增强的病历质检解析方法的步骤s102的具体实现方法的流程示意图;
24.图4是图1所示基于医学词库增强的病历质检解析方法的步骤s103的具体实现方法的流程示意图;
25.图5是本技术实施例提供的另一种基于医学词库增强的病历质检解析方法的流程示意图;
26.图6是图5所示基于医学词库增强的病历质检解析方法的步骤s201的具体实现方法的流程示意图;
27.图7是本技术实施例提供的一种病历质检解析模型的整体训练过程的架构示意图;
28.图8是本技术实施例提供的一种基于医学词库增强的病历质检解析装置的结构示意图;
29.图9是本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
30.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明的实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
31.申请概述
32.为了使得本发明实施例的方案更容易理解。首先对相关现有技术进行简要说明。
33.如背景技术部分所述,相关技术中,病历质检系统通常是利用预先训练的模型对电子病历进行解析,以识别和提取病历中的关键医学概念及其关系。不过,本发明的发明人在研究后发现,在实际部署使用病历质检系统时,同一个病历质检系统可能会被多家医院采购使用,但各家医院医生在表述治疗过程或实施治疗手段时,均会有所偏好,例如:有些医生喜欢用“感冒清热颗粒”治疗感冒,而部分医生习惯给感冒病人使用“复方氨酚烷胺片”。基于此,若在训练数据中仅出现过使用“感冒清热颗粒”治疗感冒,则训练得到的模型很可能无法识别出“复方氨酚烷胺片”也为用于治疗感冒的药物名称。这种由于医生书写习惯和治疗手段差异导致的病历解析问题,将直接影响其上构建的质检系统功能的稳定性。
34.针对上述问题,一种解决方案是增加训练样本并重新训练模型,但是,重新训练模型将消耗大量时间和人力成本,并且依然难以保证新增训练样本中的标注数据已经尽可能包含各类表述风格和治疗措施。此外该方法也难以适应成熟的病历质检系统快速更新部署的需求。
35.另一种解决方案是基于预训练语言模型,通过在海量病历文本上做自监督学习,从而训练一个病历文本编码器,接着通过在少量标注数据上微调让编码器模型具备病历解析能力,并且能够适应各种语言风格。但是,预训练语言模型通常参数量庞大,医院的计算机设备通常无法满足快速处理的要求,而病历文本作为保密数据也不能调用云平台服务进行处理。因此该方案不适用于病历质检这样的应用场景。
36.此外,采用的现有的方案思路时,若想实现较好的解析效果,则对模型的参数量要求也较高,也即需要参数量很大的模型才能够保证较好的解析效果。这同样导致不能满足病历质检系统快速更新部署的需求。
37.可见,现有的方案不能很好地解决上述问题或存在其他问题。因此,本发明提出一种基于医学词库增强的病历质检解析方案,从而在保证解析结果准确的前提下,降低时间及人工成本,实现病历质检系统的快速部署。以下通过多个实施例或示例对具体实现方案进行非限制性说明。
38.示例性方法
39.参照图1,本实施例提出一种基于医学词库增强的病历质检解析方法,如图1所示,该方法至少包括以下步骤:
40.步骤s101:通过对待解析病例文本进行文本分类处理,得到第一解析结果。其中,文本分类处理用于确定文本片段对应的医学概念。
41.具体地,待解析病例文本由大量字符组成,其中一些字符或字符的组合可以对应为医学实体词,并且这些医学实体词属于某个医学概念。本步骤的目的即是从待解析病例文本确定出其包含的所有医学实体词及其对应的医学概念。
42.其中,医学实体词指的是医学领域中的医学概念词语,比如可以是名词、动词或其组合等等。
43.例如,一些实施例中,医学概念可以包括:疾病、症状、药物、用药方式、手术和医用器具,等等。进一步地,疾病这一医学概念对应的医学实体词例如可以包括:感冒、胰腺炎和心脏病等等。并且,某些医学实体词可以包括更下位的医学实体词,例如,心脏病可以包括肺源性心脏病、风湿性心脏病和高原性心脏病,等等。
44.为了确定待解析病例文本包含的医学实体词及其对应的医学概念。本步骤首先对待解析病例文本进行文本片段枚举,也即枚举出待解析病例文本包含的所有可能的文本片段,并通过分类处理识别各个文本片段是不是医学实体词,并在其是医学实体词时,确定其属于哪一种医学概念。
45.一些实施例中,参照图2,步骤s101的具体实现方案可以包括:
46.步骤s1011:获取待解析病例文本中的每个字符的向量表征。
47.具体地,可首先对待解析病例文本按照字符进行切分,切分后的第i个字符可记作xi。之后将各个字符映射到初始化向量上,第i个字符xi对应的初始化向量可以记作ei。再之后,由于初始化向量ei不能很好地表征各个字符与上下文的联系,因此对初始化向量ei进行结合上下文的编码处理,从而得到第i个字符的向量表征hi。
48.在一些更具体的实施例中,步骤s1011可以包括:将待解析病例文本中的每个字符对应的初始化向量分别输入预先训练的基于门控机制的卷积神经网络,得到每个字符的包含上下文信息的向量表征;其中,基于门控机制的卷积神经网络,具备基于门控机制捕获上下文信息并对捕获的信息进行编码得到编码向量的能力。
49.其中,门控机制具有对上下文信息的记忆和遗忘能力,利用该能力,在编码处理过程中,可以捕获每个字符的上下文信息,从而得到的每个字符的向量表征,能够很好地体现每个字符与上下文的联系。基于门控机制的卷积神经网络(convolutional neural network,cnn)对输入向量的编码处理过程可以表示为:
50.g=sigmoid(cnn1(e))
51.h=g*cnn2(e)
52.式中,g∈(0,1),表示门控开关,sigmoid()表示门控开关g的处理过程,e={e1,e2…
,en},表示所有字符对应的初始化向量的集合;h={h1,h2…
,hn},表示编码结果的集合,其中,hi∈rd表示第i个字符编码后的向量表征,维度为d;cnn1和cnn2为两种不同的卷积计算。
53.需要说明的是,除了上述的基于门控机制的卷积神经网络,也可以通过其他神经网络作为编码器来对字符进行编码处理,以得到每个字符的向量表征。比如,相关技术中,bilstm(bi-directional long short-term memory,双向长短时记忆)编码器被广泛地应用于文本上下文语义表征,且能够获得较好的编码结果。但是,bilstm编码器是一类典型的递归神经网络,其推理速度相对卷积神经网络要慢很多,因而在海量病历文本解析场景下,需要很长的编码处理时间,性能不如卷积神经网络。因此,本实施例中,优选采用结合门控
机制的卷积神经网络(gatedcnn)作为上下文语义编码器。该网络基于cnn和门控机制,可以在保持高度并行计算性能的同时,借助门控机制实现上下文信息的记忆和遗忘。
54.通过上述方案,可以得到待解析病例文本中的每个字符的向量表征,并用于后续处理。
55.步骤s1012:枚举待解析病例文本中的所有文本片段,并根据各个文本片段包含的字符的向量表征,确定各个文本片段的向量表征。
56.具体地,枚举所有文本片段也即,列举出待解析病例文本中包含的所有可能的文本片段。例如,对于病历文本中的“头疼三天”,可以列举出的所有文本片段包括“头”、“头疼”、“头疼三”、“头疼三天”、“疼”、“疼三”、“疼三天”、“三”、“三天”和“天”。也就是说,对于只有汉字的病历文本,文本片段至少包括一个汉字。那么对于长度为n的病历文本,可以得到的文本片段的数量为n(n+1)/2个。
57.当然,可以理解的是,一些实施例中,列举的文本片段中除了可以包括文字之外,也可以包括符号等内容(每个符号为一个字符),具体可根据实际需要进行设定,对此不进行限制。此外,考虑到实际场景中医学实体词的长度存在上限,因此在枚举文本片段时,也可设定每个文本片段的最大长度,从而减少后续处理时的数据量(文本片段数量)。
58.并且,由于步骤s1011已经得到待解析病例文本每个字符的向量表征,因此本步骤中枚举得到所有文本片段后,可确定枚举得到的所有文本片段对应的向量表征。
59.更具体地,对于枚举得到的文本片段,可以表示为w
i:j
,其中,i和j分别表示该文本片段在待解析病例文本中的起始位置和终止位置。之后,根据前述步骤得到的第i个字符的向量表征hi,可以将文本片段w
i:j
的向量表征表示为h
i:j
。也即,对于每一个文本片段,可以分别获取其首字符和尾字符的向量表征,并将其拼接起来作为当前文本片段的向量表征。
60.例如,对于文本片段“头疼三天”,其包含上下文信息的向量表征可以表示为:h
头:天
=[h

;h

]。
[0061]
步骤s1013:根据各个文本片段的向量表征,对各个文本片段进行分类解析,得到第一解析结果。
[0062]
具体地,在前述步骤得到各个文本片段的向量表征后,可以对向量表征的结果进行分类处理,以确定各个文本片段可能对应的医学实体词及其医学概念标签。
[0063]
其中,一些实施例中,可以将各个文本片段的向量表征输入至预先训练的分类器中,利用分类器对各个文本片段进行分类,分类结果可以表示各个文本片段所属的医学概念。
[0064]
其中,本实施例的分类器可以采用softmax分类器。softmax可以为每个输出分类的结果都赋予一个概率值,概率值表示属于每个类别的可能性(置信度)。进一步地,根据该概率值与对应设置的概率阈值,即可确定所属的类别。对于本实施例的方案来说,也即分类器输出的概率值表示某个文本片段属于各个医学概念的可能性,根据该可能性,可以确定某个文本片段是否属于某个医学概念。
[0065]
为了便于更好地理解,进行如下举例说明:假设总共包括5个不同的医学概念,记作{a1,a2,a3,a4,a5},则softmax分类器需要包括5个分类结果,记作{a1,a2,a3,a4,a5}。基于此假设,如果某个文本片段对应的向量表征输入分类器后,输出的分类结果为{0.1,0.1,0.05,0.05,0.7},则表示该文本片段属于医学概念a1的概率为0.1,属于医学概念a2的概率
为0.1,属于医学概念a3的概率为0.05,属于医学概念a4的概率为0.05,属于医学概念a5的概率为0.7。那么,首先得出结论,该文本片段最可能属于医学概念a5。并且进一步地,如果设定为输出结果中的概率值达到0.6时表示输入向量属于对应的类别,则上述举例中,该文本片段属于医学概念a5;而如果设定为输出结果中的概率值达到0.8时表示输入向量属于对应的类别,则上述举例中,该文本片段不属于任何一个医学概念。
[0066]
需要说明的是,实际应用中,步骤s1012得到的各个文本片段的向量表征的维度,可能与分类器所支持输入的向量维度不一致,因此,在一些实施例中,在将s1012得到的各个文本片段的向量表征输入分类器之前,可对各个文本片段的向量表征进行全连接变化,以改变向量表征的维度,使其与分类器所支持输入的向量维度一致。其中,可采用多层感知机(multilayer perception,mlp)来实现全连接变化。其是较为常见的技术,此处不再详述。
[0067]
通过上述方案,可以对解析病例文本进行文本片段枚举及分类处理,得到第一解析结果。
[0068]
步骤s102:通过将待解析病例文本与预先构建的医学词库进行匹配,对待解析病例文本进行分类解析处理,得到第二解析结果。
[0069]
其中,医学词库中存储有医学概念标签,以及与医学概念标签对应的医学实体词。医学概念标签指的是为了方便表示某一医学概念而给定的一个“标签”。每个医学概念标签下通常可以对应至少两个医学实体词。并且,医学词库是预先利用已标注医学概念标签的病历文本得到的。
[0070]
通过将待解析病例文本与预先构建的医学词库进行匹配,可以确定待解析病例文本中包含的所有医学实体词及其对应的医学概念标签。
[0071]
一些实施例中,如图3所示,步骤s102具体可以包括:
[0072]
步骤s1021:将待解析病例文本与医学词库存储的医学实体词进行匹配,得到匹配结果。其中,匹配结果包括待解析病例文本包含的医学实体词及对应的医学概念标签。
[0073]
具体地,由于待解析病例文本由多个字符组成,且其中一些连续的字符可能与医学词库存储的医学实体词相同,因此将解析病例文本与医学词库存储的医学实体词进行匹配,可识别待解析病例文本包含的所有在医学词库中存在的医学实体词,并且由于医学词库中的所有医学实体词都具有对应的医学概念标签,因此,从待解析病例文本中识别得到医学实体词后,还可以得到对应的医学概念标签。
[0074]
更具体地,步骤s1021的一种可行的实现方式包括:针对医学词库存储的每个医学概念标签,分别构建对应的标签树;其中,医学概念标签对应的标签树中包含该医学概念标签对应的所有医学实体词;将待解析病例文本与各个标签树进行匹配,得到匹配结果。
[0075]
其中,标签树也即对各个医学概念标签建立的字典树(或称为词典树、单词查找树或trie树),每个医学概念标签对应的标签树中包含该医学概念标签对应的所有医学实体词,且标签树中的所有医学实体词以特定的规则顺序形成树形结构。建立标签树之后,可采用匹配算法依次利用每一个标签树与待解析病例文本进行匹配,从而识别出待解析病例文本包含的所有医学实体词及其对应的医学概念标签,也即得到匹配结果。采用的匹配算法可以但不限于是ac自动机(aho-corasick automaton)匹配算法。
[0076]
例如,将病历文本“头疼三天,服用散利痛未见效”与医学词库进行匹配后,得到的
匹配结果为:“头疼”(医学实体词)为一种“症状”(医学概念标签);“散利痛”(医学实体词)为一种“药物”(医学概念标签)。
[0077]
在此基础上,一些实施例中,对于匹配结果中重叠出现的词仅保留字符长度最大的结果,例如,对疾病标签树进行匹配时,若同时匹配出“慢性胰腺炎”和“胰腺炎”,则仅保留最长匹配结果“慢性胰腺炎”,舍弃“胰腺炎”的匹配结果。如此可降低匹配结果的复杂程度,且不会遗漏有效信息。
[0078]
步骤s1022:对匹配结果中的医学实体词进行分类解析,得到第二解析结果。
[0079]
具体地,步骤s101中可以基于字符和文本片段的向量表征,对待解析病例文本进行解析,得到第一解析结果;且步骤s1021中可以将待解析病例文本与医学词库存储的医学实体词进行匹配,得到包括待解析病例文本包含的医学实体词及对应的医学概念标签的匹配结果。但是第一解析结果与步骤s1021得到的匹配结果的表现形式不一致,不便于后续将步骤s102的第二解析结果与步骤s101的第一解析结果进行融合处理。针对该问题,本步骤中,也可以对匹配结果中的医学实体词进行向量化,也即确定匹配结果中的医学实体词的向量表征,之后再对该向量表征进行类似步骤s1013的分类解析,从而使得得到的第二解析结果的表现形式,与第一解析结果的表现形式一致,便于后续融合处理。
[0080]
则一些实施例中,步骤s1022具体可以包括:结合匹配结果中的医学实体词对应的医学概念标签,生成匹配结果中的各个医学实体词的向量表征;对各个医学实体词的向量表征进行分类解析,得到第二解析结果。
[0081]
具体地,通过步骤s1021,可以得到待解析病例文本中包括的所有医学实体词及其对应的医学概念标签。可以将待解析病例文本中匹配出的医学实体词记为其中,i和j分别表示该医学实体词在待解析病例文本中的起始位置和终止位置,l表示该医学实体词所属的医学概念标签。而对于待解析病例文本中未匹配出任何医学实体词的词,可以记为其中,o表示不属于任何医学概念标签,或者也可以理解为属于一种特殊定义的医学概念标签。也即,本实施例中,将未匹配到任何医学概念标签的词也视为一种特殊的医学实体词,并令其也参与后续的处理,主要是为了避免医学词库存在错漏。
[0082]
由于步骤s1011已经得到第i个字符的向量表征hi,则可以在向量表征hi的基础上,将待解析病例文本中匹配出的医学实体词也进行向量表征,即表示为并将待解析病例文本中未匹配出的词表示为其中需要说明的是,与步骤s1012中将文本片段w
i:j
的向量表征表示为h
i:j
不同的是,步骤s1021中除了可以匹配得到医学实体词(类似于步骤s1012中得到的文本片段w
i:j
),还可以得到医学实体词所属的医学概念标签l。因此为了将医学概念标签l也引入到向量表征中,本步骤中可以将所有医学概念标签l映射为训练好的向量m
l
,并新增标签o用于表示非标签词,标签o映射为训练好的向量mo。然后将标签映射的向量直接拼接到向量表征上即可得到各个医学实体词的结合医学概念标签的向量表征,也即,表示为以及
[0083]
得到结合医学概念标签的向量表征之后,可以采用类似步骤s1013的方式,对匹配和未匹配到医学概念标签的各个医学实体词的向量表征(和)进行分类解析,从而得到第二解析结果。
[0084]
也即,可以将匹配和未匹配到医学概念标签的各个医学实体词的向量表征输入至预先训练的softmax等分类器中,利用分类器进行分类,分类结果同样可以表示各个医学实体词是否属于某个医学概念标签。
[0085]
需要说明的是,实际应用中,步骤s1022得到的各个医学实体词的向量表征的维度,可能与分类器所支持输入的向量维度不一致,因此,在一些实施例中,在将s1022得到的各个医学实体词的向量表征输入分类器之前,可对各个医学实体词的向量表征进行全连接变化,以改变向量表征的维度,使其与分类器所支持输入的向量维度一致。
[0086]
通过上述方案,可以对解析病例文本进行匹配及分类解析处理,得到第二解析结果。
[0087]
步骤s103:对第一解析结果和第二解析结果进行融合处理,得到对待解析病例文本的解析结果。
[0088]
具体地,由于第一解析结果主要是利用预先训练的模型(比如基于门控机制的卷积神经网络)对待解析病例文本进行解析得到的,因此其准确性和合理性主要取决于训练模型的样本是否合理和全面;而第二解析结果主要是利用预先构建的医学词库得到的,因此其准确性和合理性主要取决于医学词库中存储的医学实体词和医学概念标签是否准确和全面。
[0089]
而本步骤中对第一解析结果和第二解析结果进行融合处理后,能够提取两种解析方式各自的优点,具体来说,当待解析病例文本中出现模型样本标注数据中不曾出现过的内容时,模型能够从医学词库获取信息协助预测;而当医学词典标注错误时,模型也能利用从样本标注数据中学习到的上下文推理能力,提升预测的合理性,从而最终提高解析结果的准确性和合理性,避免解析结果出现遗漏或偏差。
[0090]
一些实施例中,如图4所示,步骤s103具体可以包括:
[0091]
步骤s1031:确定第一解析结果和第二解析结果分别对应的第一权重和第二权重。
[0092]
步骤s1032:基于第一权重和第二权重,对第一解析结果和第二解析结果进行加权求和,得到对待解析病例文本的解析结果。
[0093]
具体地,在得到第一解析结果和第二解析结果后,为了将二者进行融合,本实施例中,首先确定第一解析结果和第二解析结果各自在最终结果的权重,之后,对第一解析结果和第二解析结果进行加权求和,从而得到最终的解析结果。
[0094]
其中,若前述步骤已得到待解析病例文本中的每个字符的向量表征,则一些实施例中,可以通过待解析病例文本中的每个字符的向量表征进行处理,从而得到第一解析结果和第二解析结果的权重。
[0095]
具体地,可以根据待解析病例文本中的字符层面的向量表征,利用分类器进行分类处理,其中,本实施例的分类器仅包括两个分类结果,两个分类结果(概率值)分别对应于第一解析结果和第二解析结果的权重。
[0096]
实际应用中,为了减少该分类器处理的数据量,提高分类速度。可首先对字符层面
的向量表征进行最大池化(max-pooling)处理,最大池化可有效降低信息冗余,在保留原特征的同时减少参数量。最大池化结果的向量维度可能不能满足分类器的输入要求,因此可对最大池化的结果进行全连接变化,从而改变向量维度。之后即可利用分类器得到第一解析结果和第二解析结果的权重。并进一步结合权重与第一解析结果和第二解析结果得到最终的解析结果。
[0097]
整个处理过程的公式表示如下:
[0098]hpool
=maxpool(h)
[0099]
w=softmax(mlp(h
pool
))
[0100]
p=w1p1+w2p2[0101]
式中,h
pool
∈rd,表示最大池化的结果;maxpool()表示最大池化处理的过程;h表示最大池化处理的对象;w∈r2,其包括两个分量w1和w2,w1表示第一解析结果对应的权重,w2表示第二解析结果对应的权重;mlp()表示利用多层感知机进行全连接变化的过程;softmax()表示softmax分类器的分类处理过程;p1表示第一解析结果,实际为第一解析结果对应的分类器输出的概率分布,p2表示第二解析结果,实际为第二解析结果对应的分类器输出的概率分布;p∈r1,表示最终的解析结果,也即概率分布。
[0102]
基于上述方案,通过将待解析病例文本与预先构建的医学词库进行匹配,对待解析病例文本进行分类解析处理,得到第一解析结果;其中,医学词库中存储医学概念标签,以及与医学概念标签对应的医学实体词;以及,通过对待解析病例文本进行文本片段枚举及分类处理,得到第二解析结果;对第一解析结果和第二解析结果进行融合处理,得到对待解析病例文本的解析结果。可见本技术的方案中,首先通过两种不同的解析方式对待解析病例文本进行解析处理,再对两种解析处理的结果进行融合处理,从而得到最终的解析结果,如此设置,结合多种解析方法,可以避免不能准确识别所有医学概念及其关系的问题,使得解析结果更准确,避免解析结果出现遗漏或偏差。
[0103]
此外,由于最终的解析结果包括基于医学词库的解析结果,因此在实际应用中,当解析系统部署到新的医院中时,为了适应该医院医生偏好的书写习惯和治疗手段,只需要利用新的医院的病历文本,对医学词库进行增量更新,即可有效地提升解析系统的解析准确性和合理性。而无需重新对新的医院的病历文本进行标注以及重新训练解析模型,从而降低部署解析系统所需的时间和人力成本。
[0104]
基于此,一些实施例中,如图5所示,基于医学词库增强的病历质检解析方法还可以包括:
[0105]
步骤s201:获取医学实体词,并确定获取的医学实体词对应的医学概念标签。
[0106]
步骤s202:基于获取的医学实体词对应的医学概念标签,将获取的医学实体词存储至医学词库。
[0107]
也即,本实施例中,可以通过将更多医学实体词存储至医学词库的方式,对医学词库进行增量更新,以使得医学词库包含的医学实体词更全面。如此,可以保证步骤s102中基于医学词库的解析结果更准确。
[0108]
比如,当解析系统应用于新的医院后,针对该新的医院特有的医学实体词,将其增量存储至预先构建的医学词库中,而无需对解析模型进行重新训练,从而即能够在保证解析结果的准确性的前提下,快速完成解析系统的部署。
[0109]
一些实施例中,参照图6,步骤s201具体可以包括:
[0110]
步骤s2011:对第一病例样本数据集中的各个病例样本进行分词处理,确定各个病例样本的文本分词。
[0111]
具体地,第一病例样本数据集也即包括待增加至医学词库的医学实体词的样本数据集。比如,可以是在将解析系统部署至新的医院时,从该新的医院获取的多个病例文本。但由于该第一病例样本数据集中的病历文本所包含的医学实体词未知,因此为了确定其包含的医学实体词,本步骤首先对各个病例样本进行分词处理,来得到各个病例样本包含的文本分词。
[0112]
其中,一些实施例中,分词处理的过程可以与前述实施例中的步骤s1012中的“枚举待解析病例文本中的所有文本片段”的过程类似,也即可以直接列举出第一病例样本数据集中各病历文本包括的所有可能的文本片段,从而得到各个病例样本的文本分词。如此设置的好处在于,无需识别各个文本分词的实际含义。
[0113]
另一些实施例中,分词处理的过程也可以是,通过语义识别技术,识别出各病历文本包含的可能为医学实体词的名词和动词等词语,作为各个病例样本的文本分词。如此设置的好处在于,可以减少后续处理的数据量,但是如果语义识别出现偏差,则可能导致遗漏医学实体词。
[0114]
步骤s2012:基于预设的各个医学概念标签,对各个病例样本的文本分词进行医学概念分类,确定各个病例样本的各个文本分词对应的医学概念标签。
[0115]
具体地,在前述步骤得到各个病例样本的文本分词之后,可结合预设的各个医学概念标签,判断各个文本分词所属的医学概念类别,也即判断其是否属于某一个医学概念标签。
[0116]
更具体地,步骤s2012可以通过如下方式实现:
[0117]
获取各个病例样本的文本分词的语义表征;通过计算各个病例样本的文本分词的语义表征与预设的各个医学概念标签的语义表征之间的相似度,确定各个病例样本的各个文本分词对应的医学概念标签。
[0118]
其中,可利用预先训练好的预训练语言模型来获取各个病例样本的文本分词的语义表征。
[0119]
具体地,该预训练语言模型可以在大量病历文本作为训练样本的基础上,基于bert(bidirectional encoder representation from transformers)的网络架构进行训练得到。具体训练过程较为常规,此处不再详述。
[0120]
得到训练好的预训练语言模型后,将各个病例样本的文本分词输入该预训练语言模型,即可得到各个病例样本的文本分词对应的多维向量形式的语义表征。然后,计算各个文本分词的语义表征与预设的各个医学概念标签的语义表征之间的相似度,若相似度大于设定阈值,则表示对应的文本分词可能属于对应的医学概念标签。
[0121]
其中,一些实施例中,上述计算的相似度可以为余弦相似度。当然,可以理解的是,上述计算相似度的目的在于进行语义距离度量,也即判断两个词语的语义距离,因此,另一些实施例中,也可以采用其他相似度算法计算各个文本分词的语义表征与预设的各个医学概念标签的语义表征之间的相似度,对此不进行限制
[0122]
一些实施例中,预设的各个医学概念标签的语义表征可以通过如下处理确定:
[0123]
从第二病例样本数据集的各个病例样本中分别获取医学实体词,并确定每个医学实体词对应的医学概念标签;其中,第二病例样本数据集中的病例样本均包含标注信息,标注信息用于标注病例样本中的医学实体及其所对应的医学概念标签;对应每一医学概念标签,计算对应该医学概念标签的各个医学实体词的语义表征的均值,作为该医学概念标签的语义表征。
[0124]
具体地,针对第二病例样本数据集中的各个病例样本,需要预先添加标注信息,以标注病例样本中所有的医学实体及其所对应的医学概念标签。之后,可将第二病例样本数据集中的各个病例样本输入至预先训练好的预训练语言模型中,得到各个病例样本中的各个医学实体词的语义表征,然后选取同属于某一个医学概念标签的所有医学实体词的语义表征,并计算均值,作为该医学概念标签的语义表征。
[0125]
步骤s2013:根据各个病例样本的各个文本分词对应的医学概念标签,从各个病例样本中获取医学实体词,并确定获取的医学实体词对应的医学概念标签。
[0126]
具体地,当确定某个文本分词对应属于某个医学概念标签时,则该文本分词即表示一个医学实体词,并且,该文本分词对应的医学概念标签也即该医学实体词对应的医学概念标签。
[0127]
通过上述方案即可从样本数据集中获取到所需的医学实体词并确定其对应的医学概念标签。
[0128]
在此基础上,考虑到上述方案确定的医学实体词可能会存在错误或遗漏,因此,一些实施例中,在获取到医学实体词之后,还可以进行人工校对,由人工判断确定的医学实体词是否正确,以及判断未被标记为医学实体词的文本分词中是否存在实际上属于医学实体词的情况。之后再将人工校对后得到的医学实体词存储至医学词库中。
[0129]
为了便于人工校对,一些实施例中,在步骤s2011中进行分词处理并确定文本分词之后,可统计每个文本分词的出现频次,从而用户可参考每个文本分词的出现频次来加快校对速度。
[0130]
具体来说,对于高频出现的文本分词,如果识别结果出现错误或遗漏,则对后续基于医学词库的解析结果的影响会较大,因此用户可重点关注以判断是否是医学实体词。其中,对于高频出现的文本分词中被识别为医学实体词的文本分词,用户可判断其是否确实为医学实体词;对于高频出现的文本分词中未被识别为医学实体词的文本分词,用户可以判断是否因识别错误而导致未将其识别为医学实体词。而对于低频出现的文本分词,其实际为医学实体词的可能性通常较小,因此用户可不重点关注。如此,即可在保证医学词库尽可能正确的前提下,加快人工校对速度。
[0131]
此外,为了保证医学词库中每一个医学概念标签包括的医学实体词尽可能全面和完善,一些实施例中,还可获取现有的医学词典,比如《常用临床医学名词》,以及现有的医学数据库,比如omaha(open medical and healthcare alliance,开放医疗与健康联盟)知识库,并对医学词典及医学数据库中的医学名词进行解析,并将其更新到医学词库中,从而构建相对更全面的医学词库。
[0132]
以上各实施例对基于医学词库增强的病历质检解析方法各步骤的具体实现过程进行了说明。在实际应用上述方法对待解析病历文本进行解析之前,需要对所使用的模型(比如用于进行字符编码的基于门控机制的卷积神经网络以及用于进行分类预测的分类
器)进行训练,训练过程中,可按照上述实施例的基于医学词库增强的病历质检解析方法中的各个步骤执行,其中与实际对待解析病历文本进行解析不同的是,训练时将待解析病历文本替换为训练样本,从而每次执行上述实施例的基于医学词库增强的病历质检解析方法后(也即进行训练后),都能够得到训练样本对应的解析结果;之后,根据训练样本的解析结果,可计算模型损失,并根据计算的模型损失,调整各个模型的参数并重新进行训练,直至模型的损失处于可接受范围内后,即得到最终的解析模型。病历解析模型的整体训练过程的架构如图7所示。
[0133]
其中,可采用交叉熵函数计算模型损失,计算公式如下:
[0134][0135]
式中,loss表示计算得到的模型损失;m表示该次训练时从训练样本中枚举得到的文本片段的数量;l表示该次训练时的医学概念标签的数量;y
mc
表示第m个片段的真实的医学概念标签;p
mc
表示模型最终将第m个片段解析(预测)成医学概念标签c的概率。
[0136]
当然,除了采用交叉熵函数作为损失函数外,根据实际需要,也可以采用其他损失函数,对此不进行限制。
[0137]
示例性装置
[0138]
与上述基于医学词库增强的病历质检解析方法相对应地,本技术实施例还公开了一种基于医学词库增强的病历质检解析装置,参见图8所示,该装置包括:第一解析模块100、第二解析模块110和融合处理模块120;其中,
[0139]
第一解析模块100用于,通过对待解析病例文本进行文本分类处理,得到第一解析结果;所述文本分类处理用于确定文本中的文本片段对应的医学概念;
[0140]
第二解析模块110用于,通过将所述待解析病例文本与预先构建的医学词库进行匹配,对所述待解析病例文本进行分类解析处理,得到第二解析结果;其中,所述医学词库中存储医学概念标签,以及与医学概念标签对应的医学实体词;
[0141]
融合处理模块120用于,对所述第一解析结果和所述第二解析结果进行融合处理,得到对所述待解析病例文本的解析结果。
[0142]
本实施例的基于医学词库增强的病历质检解析装置,第一解析模块100通对待解析病例文本进行文本分类处理,得到第一解析结果;以及,第二解析模块110通过将待解析病例文本与预先构建的医学词库进行匹配,对待解析病例文本进行分类解析处理,得到第二解析结果;其中,医学词库中存储医学概念标签,以及与医学概念标签对应的医学实体词。如此设置,结合多种解析方法,可以避免不能准确识别所有医学概念及其关系的问题,使得解析结果更准确,避免解析结果出现遗漏或偏差。
[0143]
一些实施例中,第一解析模块100还用于:
[0144]
获取医学实体词,并确定获取的医学实体词对应的医学概念标签;
[0145]
基于获取的医学实体词对应的医学概念标签,将获取的医学实体词存储至所述医学词库。
[0146]
一些实施例中,第一解析模块100在获取医学实体词,并确定获取的医学实体词对应的医学概念标签时,具体用于:
[0147]
对第一病例样本数据集中的各个病例样本进行分词处理,确定各个病例样本的文
本分词;
[0148]
基于预设的各个医学概念标签,对各个病例样本的文本分词进行医学概念分类,确定各个病例样本的各个文本分词对应的医学概念标签;
[0149]
根据各个病例样本的各个文本分词对应的医学概念标签,从各个病例样本中获取医学实体词,并确定获取的医学实体词对应的医学概念标签。
[0150]
一些实施例中,第一解析模块100在基于预设的各个医学概念标签,对各个病例样本的文本分词进行医学概念分类,确定各个病例样本的各个文本分词对应的医学概念标签时,具体用于:
[0151]
获取各个病例样本的文本分词的语义表征;
[0152]
通过计算各个病例样本的文本分词的语义表征与预设的各个医学概念标签的语义表征之间的相似度,确定各个病例样本的各个文本分词对应的医学概念标签。
[0153]
一些实施例中,所述预设的各个医学概念标签的语义表征通过如下处理确定:
[0154]
从第二病例样本数据集的各个病例样本中分别获取医学实体词,并确定每个医学实体词对应的医学概念标签;其中,所述第二病例样本数据集中的病例样本均包含标注信息,所述标注信息用于标注病例样本中的医学实体及其所对应的医学概念标签;
[0155]
对应每一医学概念标签,计算对应该医学概念标签的各个医学实体词的语义表征的均值,作为该医学概念标签的语义表征。
[0156]
一些实施例中,第一解析模块100在通过对待解析病例文本进行文本片段枚举及分类处理,得到第一解析结果时,具体用于:
[0157]
获取所述待解析病例文本中的每个字符的向量表征;
[0158]
枚举所述待解析病例文本中的所有文本片段,并根据各个文本片段包含的字符的向量表征,确定各个文本片段的向量表征;
[0159]
根据各个文本片段的向量表征,对各个文本片段进行分类解析,得到第一解析结果。
[0160]
一些实施例中,第一解析模块100在获取待解析病例文本中的每个字符的向量表征时,具体用于:
[0161]
将所述待解析病例文本中的每个字符对应的初始化向量分别输入预先训练的基于门控机制的卷积神经网络,得到每个字符的包含上下文信息的向量表征;
[0162]
其中,所述基于门控机制的卷积神经网络,具备基于门控机制捕获上下文信息并对捕获的信息进行编码得到编码向量的能力。
[0163]
一些实施例中,第二解析模块110在通过将待解析病例文本与预先构建的医学词库进行匹配,对待解析病例文本进行分类解析处理,得到第二解析结果时,具体用于:
[0164]
将待解析病例文本与所述医学词库存储的医学实体词进行匹配,得到匹配结果;所述匹配结果包括所述待解析病例文本包含的医学实体词及对应的医学概念标签;
[0165]
对所述匹配结果中的医学实体词进行分类解析,得到第二解析结果。
[0166]
一些实施例中,第二解析模块110在将待解析病例文本与所述医学词库存储的医学实体词进行匹配,得到匹配结果时,具体用于:
[0167]
针对所述医学词库存储的每个医学概念标签,分别构建对应的标签树;其中,医学概念标签对应的标签树中包含该医学概念标签对应的所有医学实体词;
[0168]
将待解析病例文本与各个所述标签树进行匹配,得到匹配结果。
[0169]
一些实施例中,第二解析模块110在对所述匹配结果中的医学实体词进行分类解析,得到第二解析结果时,具体用于:
[0170]
结合所述匹配结果中的医学实体词对应的医学概念标签,生成所述匹配结果中的各个医学实体词的向量表征;
[0171]
对各个医学实体词的向量表征进行分类解析,得到第二解析结果。
[0172]
一些实施例中,融合处理模块120在对所述第一解析结果和所述第二解析结果进行融合处理,得到对所述待解析病例文本的解析结果时,具体用于:
[0173]
确定所述第一解析结果和所述第二解析结果分别对应的第一权重和第二权重;
[0174]
基于所述第一权重和第二权重,对所述第一解析结果和所述第二解析结果进行加权求和,得到对所述待解析病例文本的解析结果。
[0175]
具体地,上述的基于医学词库增强的病历质检解析装置的各个模块的用途的具体实现方式,请参见上述方法实施例的内容,此处不再赘述。
[0176]
示例性电子设备及存储介质
[0177]
本技术一个实施例还提出一种电子设备,参见图9所示,该电子设备包括:
[0178]
存储器200和处理器210;
[0179]
其中,存储器200与处理器210连接,用于存储程序;
[0180]
处理器210,用于通过运行存储器200中存储的程序,实现上述任一实施例公开的电子基于医学词库增强的病历质检解析方法。
[0181]
具体地,上述电子设备还可以包括:总线、通信接口220、输入设备230和输出设备240。
[0182]
处理器210、存储器200、通信接口220、输入设备230和输出设备240通过总线相互连接。其中:
[0183]
总线可包括一通路,在计算机系统各个部件之间传送信息。
[0184]
处理器210可以是通用处理器,例如通用中央处理器(cpu)、微处理器等,也可以是特定应用集成电路(application-specific integrated circuit,asic),或一个或多个用于控制本技术方案程序执行的集成电路。还可以是数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0185]
处理器210可包括主处理器,还可包括基带芯片、调制解调器等。
[0186]
存储器200中保存有执行本技术技术方案的程序,还可以保存有操作系统和其他关键业务。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。更具体的,存储器200可以包括只读存储器(read-only memory,rom)、可存储静态信息和指令的其他类型的静态存储设备、随机存取存储器(random access memory,ram)、可存储信息和指令的其他类型的动态存储设备、磁盘存储器、flash等等。
[0187]
输入设备230可包括接收用户输入的数据和信息的装置,例如键盘、鼠标、摄像头、扫描仪、光笔、语音输入装置、触摸屏、计步器或重力感应器等。
[0188]
输出设备240可包括允许输出信息给用户的装置,例如显示屏、打印机、扬声器等。
[0189]
通信接口220可包括使用任何收发器一类的装置,以便与其他设备或通信网络通
信,如以太网,无线接入网(ran),无线局域网(wlan)等。
[0190]
处理器210执行存储器200中所存放的程序,以及调用其他设备,可用于实现本技术上述实施例所提供的电子基于医学词库增强的病历质检解析方法的各个步骤。
[0191]
本技术另一实施例还提供了一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时,实现上述任一实施例提供的电子基于医学词库增强的病历质检解析方法的各个步骤。
[0192]
具体地,上述的电子设备以及上述的存储介质上的计算机程序被处理器运行时的具体处理内容,均可以参见上述的电子基于医学词库增强的病历质检解析方法的各个实施例的内容,此处不再赘述。
[0193]
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。
[0194]
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0195]
本技术各实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减,各实施例中记载的技术特征可以进行替换或者组合。
[0196]
本技术各实施例种装置及终端中的模块和子模块可以根据实际需要进行合并、划分和删减。
[0197]
本技术所提供的几个实施例中,应该理解到,所揭露的终端,装置和方法,可以通过其它的方式实现。例如,以上所描述的终端实施例仅仅是示意性的,例如,模块或子模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个子模块或模块可以结合或者可以集成到另一个模块,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0198]
作为分离部件说明的模块或子模块可以是或者也可以不是物理上分开的,作为模块或子模块的部件可以是或者也可以不是物理模块或子模块,即可以位于一个地方,或者也可以分布到多个网络模块或子模块上。可以根据实际的需要选择其中的部分或者全部模块或子模块来实现本实施例方案的目的。
[0199]
另外,在本技术各个实施例中的各功能模块或子模块可以集成在一个处理模块中,也可以是各个模块或子模块单独物理存在,也可以两个或两个以上模块或子模块集成在一个模块中。上述集成的模块或子模块既可以采用硬件的形式实现,也可以采用软件功能模块或子模块的形式实现。
[0200]
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业
技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0201]
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件单元,或者二者的结合来实施。软件单元可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
[0202]
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0203]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1