医学语义匹配模型的训练方法、医学知识匹配方法及装置

文档序号:1953465 发布日期:2021-12-10 浏览:18次 >En<

阅读说明:本技术 医学语义匹配模型的训练方法、医学知识匹配方法及装置 (Training method of medical semantic matching model, medical knowledge matching method and device ) 是由 陈思彤 陶然 刘斯 刘芯雨 于 2021-09-27 设计创作,主要内容包括:本发明公开了医学语义匹配模型的训练方法、医学知识匹配方法及装置,该方法包括:在模型训练过程中,使用医学领域的文本对预训练语言模型进行语义训练,得到医学语义分析模型。通过医学语义分析模型的编码器生成每个样本对的两个第一句子级语义向量,再计算转换得到的两个第一句子级语义向量间的相似度,根据第二损失函数计算第二损失值并调整医学语义分析模型中的参数,以得到医学语义匹配模型。在应用过程中,通过文本库建立向量化知识库,再根据需求自行选择需要的模型并结合向量化知识库来进行高精度的匹配或粗精度的匹配,最后基于匹配结果及向量化知识库内的索引完成对匹配结果的输出,这样用户就快速找对与待匹配文本相关联的医学知识。(The invention discloses a training method of a medical semantic matching model, a medical knowledge matching method and a medical knowledge matching device, wherein the method comprises the following steps: in the model training process, the text in the medical field is used for carrying out semantic training on the pre-training language model to obtain a medical semantic analysis model. And generating two first sentence-level semantic vectors of each sample pair through an encoder of the medical semantic analysis model, calculating the similarity between the two converted first sentence-level semantic vectors, calculating a second loss value according to a second loss function, and adjusting parameters in the medical semantic analysis model to obtain a medical semantic matching model. In the application process, a vectorization knowledge base is established through a text base, then a required model is selected according to the requirement and combined with the vectorization knowledge base to perform high-precision matching or coarse-precision matching, and finally the matching result is output based on the matching result and the index in the vectorization knowledge base, so that a user can quickly find medical knowledge associated with the text to be matched.)

医学语义匹配模型的训练方法、医学知识匹配方法及装置

技术领域

本发明涉及大数据技术领域,尤其是涉及医学语义匹配模型的训练方法、医学知识匹配方法及装置。

背景技术

目前大量的文本数据仍缺乏高效率的管理方式,主要还是依赖专家系统来人为管理。专家系统需要依靠临床分析师对文本数据进行阅读,定位业务中所需要的知识点,再把整理好的知识点与相关的项目关联起来。这种方法投入的人力成本高,效率低,速度慢且缺乏规划。

在当今自然语言处理领域,预训练语言模型开创了研究的新范式,刷新了多项自然语言处理任务的最好水平。预训练语言模型即先基于大量无监督语料进行语言模型预训练(Pre-training),再使用少量标注语料进行微调(Fine-tuning)来完成文本分类、序列标注、机器翻译、阅读理解等下游NLP(自然语言处理,Neuro-Linguistic Programming)任务。目前的预训练语言模型虽然在一般通用领域内表现较好,但由于其基于的大规模语料并非针对某一特定领域,所以目前常用的预训练语言模型无法很好的解决专业领域内的自然语言处理问题。在医学领域,这一缺点尤为严重,因为医学领域专业性极强,并且在医学领域使用深度学习模型的容错程度更低,所以目前常用的预训练语言模型如BERT等,在医学领域的适用性并不好,并不能很好的完成医学知识匹配任务。

发明内容

基于此,有必要针对上述问题,提供适用于医学领域的医学语义匹配模型的训练方法、医学知识匹配方法及装置。

一种医学语义匹配模型的训练方法,方法包括:

获取第一文本知识库和预训练语言模型,对第一文本知识库的文本进行实体全词覆盖,得到语义训练样本;第一文本数据库的文本包括多个检测报告文本和知识条目,实体全词覆盖用于隐藏文本中的至少一个词汇;

使用语义训练样本对预训练语言模型进行语义训练,以预测在语义训练样本的覆盖位置处的词汇补全结果,根据词汇补全结果和第一损失函数计算第一损失值,根据第一损失值调整预训练语言模型中的参数,得到训练后的医学语义分析模型,预训练语言模型包括编码器和第一输出层,编码器用于提取语义向量,第一输出层用于根据编码器输出的语义向量输出词汇补全结果;

获取多个样本对,多个样本对包括正样本对和负样本对,一个正样本对包括一个检测报告和一个匹配的知识条目,一个负样本对包括一个检测报告和一个不匹配的知识条目;

通过医学语义分析模型中的编码器生成每个样本对的两组词语级语义向量,对每个样本对的两组词语级语义向量进行降维,得到每个样本对的两个第一句子级语义向量;两组词语级语义向量包括检测报告对应的一组词语级语义向量和知识条目对应的一组词语级语义向量,一组词语级语义向量包括多个词语级语义向量,一个词语级语义向量为一个字对应的多维度语义向量;

通过与医学语义分析模型中编码器连接的第二输出层计算每个样本对的两个第一句子级语义向量间的相似度,根据相似度和第二损失函数计算第二损失值,根据第二损失值调整医学语义分析模型中编码器和第二输出层的参数,以增大正样本对的两个第一句子级语义向量间的相似度,且减小负样本对的两个第一句子级语义向量间的相似度,以得到训练后的医学语义匹配模型。

在其中一个实施例中,对第一文本知识库的文本进行实体全词覆盖,得到语义训练样本,包括:

获取医学标准术语库,医学标准术语库包括多个医学标准术语;

以词汇为单位对第一文本知识库中的文本进行分词,得到分词结果;

根据医学标准术语库,用覆盖标签对分词结果中的医学标准术语进行覆盖,得到语义训练样本。

在其中一个实施例中,对第一文本知识库的文本进行实体全词覆盖,得到语义训练样本,包括:

当每进行一轮语义训练时,随机对第一文本知识库的文本进行实体全词覆盖,其中一个目标文本中覆盖的实体词汇的字数与目标文本的字数的比值大于预设的第一比值,目标文本为任一文本。

在其中一个实施例中,对每个样本对的两组词语级语义向量进行降维,得到每个样本对的两个第一句子级语义向量,包括:

对每个样本对的两组词语级语义向量分别在预设的维度上取平均值,得到每个样本对的两个第一句子级语义向量。

在其中一个实施例中,第一损失函数为负对数拟然损失函数,预训练语言模型中的参数包括预训练语言模型中编码器的参数和第一输出层的参数。

在其中一个实施例中,第二损失函数为三重损失函数。

一种医学知识匹配方法,应用如权利要求1的医学语义分析模型和医学语义匹配模型,方法包括:

获取向量化知识库,向量化知识库包括多个向量化知识,一个向量化知识由医学语义分析模型中的编码器对第二文本知识库中的一个知识条目转换得到,第二文本知识库包括若干知识条目,一个向量化知识通过一个索引与第二文本知识库的一个知识条目关联;

当进行第一匹配标准的知识匹配时,通过医学语义分析模型的编码器将待匹配文本转换为向量化待匹配文本,将向量化待匹配文本和目标向量化知识输入医学语义匹配模型,输出所有向量化知识与待匹配文本的匹配度,目标向量化知识为向量化知识库中的任一向量化知识;

当进行第二匹配标准的知识匹配时,在向量化知识库内对向量化检索文本进行相似度计算,输出所有向量化知识与待匹配文本的匹配度;其中第一匹配标准对准确率的要求大于第二匹配标准;

根据匹配度对所有向量化知识进行排序,根据得到的排序结果和索引从第二文本知识库中输出第三预设数量的知识条目作为待匹配文本的医学知识匹配结果。

在其中一个实施例中,获取向量化知识库,包括:

通过医学语义分析模型将第二文本知识库中的每个知识条目均转化为一组词语级语义向量,对每组词语级语义向量进行降维,得到多个第二句子级语义向量;

对多个第二句子级语义向量分别进行白化操作,得到向量化知识库。

一种医学语义匹配模型的训练装置,装置包括:

医学语义分析模型训练模块,用于获取第一文本知识库和预训练语言模型,对第一文本知识库的文本进行实体全词覆盖,得到语义训练样本;第一文本数据库的文本包括多个检测报告文本和知识条目,实体全词覆盖用于隐藏文本中的至少一个词汇;使用语义训练样本对预训练语言模型进行语义训练,以预测在语义训练样本的覆盖位置处的词汇补全结果,根据词汇补全结果和第一损失函数计算第一损失值,根据第一损失值调整预训练语言模型中的参数,得到训练后的医学语义分析模型,预训练语言模型包括编码器和第一输出层,编码器用于提取语义向量,第一输出层用于根据编码器输出的语义向量输出词汇补全结果;

医学语义匹配模型训练模块,用于获取多个样本对,多个样本对包括正样本对和负样本对,一个正样本对包括一个检测报告和一个匹配的知识条目,一个负样本对包括一个检测报告和一个不匹配的知识条目;通过医学语义分析模型中的编码器生成每个样本对的两组词语级语义向量,对每个样本对的两组词语级语义向量进行降维,得到每个样本对的两个第一句子级语义向量;两组词语级语义向量包括检测报告对应的一组词语级语义向量和知识条目对应的一组词语级语义向量,一组词语级语义向量包括多个词语级语义向量,一个词语级语义向量为一个字对应的多维度语义向量;通过与医学语义分析模型中编码器连接的第二输出层计算每个样本对的两个第一句子级语义向量间的相似度,根据相似度和第二损失函数计算第二损失值,根据第二损失值调整医学语义分析模型中编码器和第二输出层的参数,以增大正样本对的两个第一句子级语义向量间的相似度,且减小负样本对的两个第一句子级语义向量间的相似度,以得到训练后的医学语义匹配模型。

一种医学知识匹配装置,应用上述的医学语义分析模型和医学语义匹配模型,装置包括:

向量化知识库获取模块,用于获取向量化知识库,向量化知识库包括多个向量化知识,一个向量化知识由医学语义分析模型中的编码器对第二文本知识库中的一个知识条目转换得到,第二文本知识库包括若干知识条目,一个向量化知识通过一个索引与第二文本知识库的一个知识条目关联;

第一匹配模块,用于当进行第一匹配标准的知识匹配时,将待匹配文本嵌入为待匹配文本向量,将待匹配文本向量和目标向量化知识输入医学语义匹配模型,输出所有向量化知识与待匹配文本的匹配度,目标向量化知识为向量化知识库中的任一向量化知识;

第二匹配模块,用于当进行第二匹配标准的知识匹配时,通过医学语义分析模型的编码器将待匹配文本转换为向量化待匹配文本,在向量化知识库内对向量化检索文本进行相似度计算,输出所有向量化知识与待匹配文本的匹配度;其中第一匹配标准对准确率的要求大于第二匹配标准;

匹配结果输出模块,用于根据匹配度对所有向量化知识进行排序,根据得到的排序结果和索引从第二文本知识库中输出第三预设数量的知识条目作为待匹配文本的医学知识匹配结果。

本发明提供了医学语义匹配模型的训练方法、医学知识匹配方法及装置,在模型训练过程中,使用医学领域的文本对预训练语言模型进行语义训练,得到医学语义分析模型,使得该医学语义分析模型能更好的解析医学语言的意义,从而更好地在医学领域适用。然后通过获取的多个样本对来训练医学语义分析模型的匹配能力,先通过医学语义分析模型的编码器生成每个样本对的两个第一句子级语义向量,再计算转换得到的两个第一句子级语义向量间的相似度,根据第二损失函数计算第二损失值,根据第二损失值调整医学语义分析模型中编码器和第二输出层的参数,得到训练后的医学语义匹配模型。通过该医学语义匹配模型即可高精度的对医学知识进行定位及管理,实现检测报告与医学知识之间的快速及准确匹配。在应用过程中,先通过包含各种知识条目的文本库建立向量化知识库,当进行不同匹配标准的知识匹配时,可根据需求自行选择需要的模型并结合向量化知识库来进行高精度的匹配或粗精度的匹配,最后基于匹配结果以及向量化知识库内在先建立的索引完成对知识匹配结果的输出,这样用户就快速找对与待匹配文本相关联的医学知识。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

其中:

图1为一个实施例中医学语义匹配模型训练方法的流程示意图;

图2为一个实施例中医学知识匹配方法的流程示意图;

图3为医学知识匹配流程图;

图4为向量化知识库的示意图;

图5为一个实施例中医学语义匹配模型训练装置的结构示意图;

图6为一个实施例中医学知识匹配装置的结构示意图。

具体实施方式

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

如图1所示,图1为一个实施例中医学语义匹配模型训练方法的流程示意图,本实施例中医学语义匹配模型训练方法提供的步骤包括:

步骤102,获取第一文本知识库和预训练语言模型,对第一文本知识库的文本进行实体全词覆盖,得到语义训练样本。

其中,第一文本数据库内的文本包括足够数量的检测报告文本和知识条目。该检测报告文本是一种待匹配的文本,可以是为检测项目的结论性报告,也可以是一种医学问题,需要与至少一条知识条目之间建立匹配关系。示例性的,一个检测报告文本可以是“痰培养检出金黄色葡萄球菌”。一个知识条目为某一种类型的医学知识,包括医学文献、指南、结构化知识等。本实施例中的预训练语言模型选用Google开源的BERT-Chinese模型。而实体全词覆盖(Whole Entity Masking)是一个隐藏每一条文本中的至少一个词汇的动作,用覆盖标签mask对分词结果中的医学标准术语进行覆盖,通过对第一文本知识库的文本进行实体全词覆盖以得到语义训练样本。例如将文本“检测出的结果为阳性”隐藏为“检测出的结果为[mask][mask]”。该语义训练样本用于后续的语义训练(Masked Language Model,MLM训练),从而更好的理解文本被隐藏的词汇,使得模型具有理解语义的功能。

进一步的,检测报告文本涵盖的疾病和科室较多,为了提高第一文本数据库内语言的多样性,我们可以以检测项目为单位,通过以下公式从各个数据库总筛选出语言更加丰富的检测报告文本(也即文本库占比i更大的检测报告文本),以作为第一文本知识库中的数据:

文本库占比i=报告量占比i*(1-min(2文本重复率i+1-2,1))

报告量占比i=项目i报告数量/报告总量

文本重复率i=项目i报告最长模糊公共子串/项目i报告平均长度

其中项目i报告最长模糊公共子串为项目i报告中最长的公共连续子串,输出其长度,例如项目i报告[abcde],其公共连续子串[bcd],输出为3。项目i报告平均长度为所有项目报告的平均字数。

在一个具体实施例中,只针对医学标准术语进行实体全词覆盖,而不是对任意的词汇进行覆盖,从而能使后续训练得到的医学语义分析模型能更好的解析医学语言的意义。具体的,首先获取预先构建的医学标准术语库,该医学标准术语库内包括“葡萄球菌”、“痰培养”等医学标准术语。然后以词汇为单位对第一文本知识库中的文本进行分词,也即将文本中的所有词汇划分出来,得到分词结果。然后根据医学标准术语库,用覆盖标签mask对分词结果中的医学标准术语进行覆盖,得到语义训练样本。例如对于“痰培养检出金黄色葡萄球菌”进行覆盖,得到“[mask][mask][mask]检出金黄色葡萄球菌”的语义训练样本。

传统的静态覆盖(Static Masking)会在数据处理阶段就将语料进行覆盖,造成训练阶段每一轮(epoch)模型所需要预测的被覆盖词都相同,这样不利于学习更多语言多样性。

因此在一个具体实施例中,还通过动态调整覆盖机制(Dynamic Masking)来改变训练数据的生成流程,将覆盖机制由静态转换为动态,以保证模型每一轮训练过程中都会用到不同的、更多样的训练数据,让模型能从更多维的角度理解医学语言。具体的,当每进行一轮语义训练时,随机对第一文本知识库的文本进行实体全词覆盖,例如对于“痰培养检出金黄色葡萄球菌”进行覆盖,可以得到“[mask][mask][mask]检出金黄色葡萄球菌”的语义训练样本,也可以得到“痰培养检出金黄色[mask][mask][mask][mask]”的语义训练样本。其中一个目标文本中覆盖的实体词汇的字数与目标文本的字数的比值大于预设的第一比值,该目标文本为任一文本,也即mask数量占文本的字数大于第一比值。例如,本实施例中的第一比值取15%。

步骤104,使用语义训练样本对预训练语言模型进行语义训练,以预测在语义训练样本的覆盖位置处的词汇补全结果,根据词汇补全结果和第一损失函数计算第一损失值,根据第一损失值调整预训练语言模型中的参数,得到训练后的医学语义分析模型。

其中,该预训练语言模型BERT-Chinese包括多层编码器和第一输出层,该编码器用于提取语义训练样本的语义向量,该第一输出层用于根据编码器输出的语义向量输出词汇覆盖处的词汇补全结果。MLM训练是一个完形填空的过程,基于语义训练样本中被覆盖词汇的上下文信息,预测在语义训练样本的覆盖位置处的词汇补全结果。也即例如通过“金黄色葡萄球菌”来预测“[mask][mask][mask]检出金黄色葡萄球菌”这一文本中mask处的原词汇是什么。被覆盖词汇在最后一个隐藏层的预测参数会输入softmax层,再通过如下所示的第一损失函数(负对数拟然损失函数)来计算计算第一损失值L(θ,θ1):

其中,M为覆盖词集合;V为字典词ID集合;θ为预训练语言模型中编码器部分的参数;θ1为该第一输出层中的参数,p表示各种预测的补全结果的概率。最后根据第一损失值L(θ,θ1)计算梯度,完成对θ和θ1的反向优化,使得L(θ,θ1)不断减小,直至达到预设的训练标准,从而得到训练后的医学语义分析模型KM-BERT。

步骤106,获取多个样本对,通过医学语义分析模型中的编码器生成每个样本对的两组词语级语义向量,对每个样本对的两组词语级语义向量进行降维,得到每个样本对的两个第一句子级语义向量。

基于上述的KM-BERT模型,通过在不同类型的知识(如检测项目,临床意义,文献指南等)上进行知识匹配精训练,来进一步达到知识定位及匹配管理的效果。进行知识匹配精训练需要准备充足的样本对,该样本对既包括正样本对也包括负样本对,一个正样本对包括一个检测报告和一个匹配的知识条目,该匹配的知识条目与可以作为该检测报告的参考信息,以帮助用户更明确的了解检测报告的含义,对该正样本打上标签1;一个负样本对包括一个检测报告和一个不匹配的知识条目,该不匹配的知识条目是与该检测报告无关的信息,不会帮助用户更明确的了解检测报告的含义,对该负样本打上标签-1。训练时要求正样本对和负样本对的比例为1:10。

KM-BERT模型有一共有12层的编码器,针对输入的每一个字,每一层都可以生成一个基于语义分析的768维度的向量。由于在倒数第二层生成的语义向量在下游任务中有较好的效果,所以我们只取每个字在倒数第二层生成的语义向量,则每句话的所生成的语义向量维度为[词数*768],也就是本实施例中的一组词语级语义向量。可见,对于一个样本对而言,生成的两组词语级语义向量,既包括检测报告对应的一组词语级语义向量,也包括知识条目对应的一组词语级语义向量。一组词语级语义向量包括多个词语级语义向量,一个词语级语义向量为一个字对应的多维度语义向量。再采用Reduce-Mean方法沿着预设的词数(axis=0)维度求取平均值(也即对词语级语义向量进行降维),从而将每一条检测报告或每一条知识条目生成为一个句子级的768维度语义向量,也即本实施例中的一个第一句子级语义向量。

具体的来说,Reduce-mean方法举例如下:

例句:金黄色葡萄球菌

以上7字例句通过KM-BERT模型生成一个维度为7*768的词语级语义向量:

[[0.234,0.142,0.112,...,0.653,0.543,0.125],

[0.234,0.142,0.112,...,0.653,0.543,0.125],

...

[0.234,0.142,0.112,...,0.653,0.543,0.125]

[0.234,0.142,0.112,...,0.653,0.543,0.125]]

再沿着词数维度(axis=0)求平均值可得一个1*768维度的句子级语义向量:

[0.234,0.142,0.112,...,0.653,0.543,0.125]

对于一个样本对来说,我们可以同时获得2个1*768维度的句子级语义向量。

步骤108,通过与医学语义分析模型中编码器连接的第二输出层计算每个样本对的两个第一句子级语义向量间的相似度,根据相似度和第二损失函数计算第二损失值,根据第二损失值调整医学语义分析模型中编码器和第二输出层的参数,以得到训练后的医学语义匹配模型。

在一个具体实施例中,为将模型训练得到知识匹配的能力,还在输出的第一句子级语义向量后添加一层第二输出层来计算每两个第一句子级语义向量间的相似度,并输出至如下所示的第二损失函数(三重损失函数)中,通过第二损失函数计算第二损失值L(θ,θ2)。

L(θ,θ2)=max(||f(A∣θ,θ2)-f(P∣θ,θ2)||2-||f(A∣θ,θ2)-f(N∣θ,θ2)||2+α,0)

其中A为anchor对象,也就是待检测文本,P为与A属于同一个正样本对内的知识条目,N为与A属于同一个负样本对内的知识条目,ɑ是匹配的知识条目与不匹配的知识条目之间的间隔,f=编码器,f(A∣θ,θ2)为编码器将待检测文本转换出的向量,f(P∣θ,θ2)为编码器将匹配的知识条目转换出的向量,f(N∣θ,θ2)为编码器将不匹配的知识条目转换出的向量,||f(A∣θ,θ2)-fP∣θ,θ2表示向量空间中检测报告和匹配的知识条目的距离,fA∣θ,θ2-fN∣θ,θ2表示向量空间中检测报告和不匹配的知识条目的距离,θ是KM-BERT模型中编码器的参数,θ2是与该编码器连接的第二输出层的参数。根据第二损失值L(θ,θ2)计算梯度完成对KM-BERT模型中的参数θ和θ2的反向优化,使得L(θ,θ2)不断减小,直至达到预设的训练标准,以增大正样本对的两个第一句子级语义向量间的相似度,且减小负样本对的两个第一句子级语义向量间的相似度,将包括KM-BERT模型中训练后的编码器和与KM-BERT模型中编码器连接的第二输出层作为训练后的医学语义匹配模型KM-SEARCH。

上述医学语义匹配模型的训练方法,使用医学领域的文本对预训练语言模型进行语义训练,得到医学语义分析模型,使得该医学语义分析模型能更好的解析医学语言的意义,从而更好地在医学领域适用。然后通过获取的多个样本对来训练医学语义分析模型的匹配能力,先通过医学语义分析模型的编码器生成每个样本对的两个第一句子级语义向量,再计算转换得到的两个第一句子级语义向量间的相似度,根据第二损失函数计算第二损失值,根据第二损失值调整医学语义分析模型中编码器和第二输出层的参数,得到训练后的医学语义匹配模型。通过该医学语义匹配模型即可高精度的对医学知识进行定位及管理,实现检测报告与医学知识之间的快速及准确匹配。

如图2所示,图2为一个实施例中医学知识匹配方法的流程示意图,同时可参见图3,图3为医学知识匹配流程图,包括高精度的匹配和粗精度的匹配两个应用场景,可由用户根据需求自行选择。

本实施例中医学知识匹配方法提供的步骤包括:

步骤202,获取向量化知识库。

其中,向量化知识库包括多个向量化知识,一个向量化知识由KM-BERT模型中的编码器对第二文本知识库中的一个知识条目转换得到,具体由KM-BERT模型中倒数第二层的编码器生成一个知识条目对应的一个向量化知识并输出,该第二文本知识库内仅包括若干知识条目,一个向量化知识还通过一个索引与第二文本知识库的一个知识条目关联,从而便于后续步骤中进行查询。

具体的,假如我们有3000个检测项目需要进行管理,首先通过KM-BERT模型将每个检测项目均转化为一组词语级语义向量,再同样采用Reduce-Mean方法对每组词语级语义向量进行降维,得到3000个768维度的第二句子级语义向量,亦可描述为3000*768维度的矩阵来抽象表示3000个不同的检测项目。可参见图4,图4为得到的向量化知识库。

但由于768维度的语义向量仍过于庞大,为了减少下游的计算量,我们使用白化操作(Vector Whitening)技术降低第二句子级语义向量的维度,从而得到向量化知识库。这样不仅可以提高下游任务的计算效率和降低内存使用,实验也证明来可以提高匹配的精准率。通常我们会将维度降至256再进入下一步。此时我们对检测项目的抽象表示缩小为3000*256维度的矩阵,大大缩小了之后需要的计算量。其中,白化操作的流程如下:

假设有一组句子级语义向量我们需对其进行如下线性变化:

其中,为白化降维后的新语义向量,xi为当前语义向量。当前语义向量xi的均值为0且协方差矩阵W为单位阵;为了计算W,我们将当前的协方差记录为:

已知则:

Σ=(WT)-1W-1=(W-1)TW-1

已知Σ是一个正定对称矩阵,则以下SVD分解公式成立:

Σ=UΛUT

其中U为正交矩阵,Λ是一个正对角矩阵,根据定理综上可得:

得到W后,我们即可执行线性变化的公式,完成白化操作。

步骤204,当进行第一匹配标准的知识匹配时,通过医学语义分析模型的编码器将待匹配文本转换为向量化待匹配文本,将向量化待匹配文本和目标向量化知识输入医学语义匹配模型,输出所有向量化知识与待匹配文本的匹配度。

其中,该第一匹配标准也即进行当用户选择高精度匹配时对应的标准。待匹配文本可以是为检测项目的结论性报告,也可以是一种医学问题,需要与至少一条知识条目之间建立匹配关系。首先通过KM-BERT模型中倒数第二层的编码器将待匹配文本转换为向量化待匹配文本,该向量化待匹配文本也就是待匹配文本的向量化表示。目标向量化知识为向量化知识库中的任一向量化知识。在进行高精度的匹配时,只能逐一的通过KM-SEARCH中的第二输出层计算向量化待匹配文本与一个向量化知识之间的匹配度,例如通过计算余弦相似度的方式,直至所有的向量化知识都完成匹配度的计算,此时输出所有向量化知识与待匹配文本的匹配度。

步骤206,当进行第二匹配标准的知识匹配时,在向量化知识库内对向量化检索文本进行相似度计算,输出所有向量化知识与待匹配文本的匹配度。

其中,第一匹配标准对准确率的要求大于第二匹配标准,也即第二匹配标准是当用户选择粗精度匹配时对应的标准。该向量化检索文本也通过KM-BERT模型中倒数第二层的编码器将待匹配文本转换得到。

在一个具体实施例中,当进行第二匹配标准的知识匹配时,在向量化知识库这个语义空间通过余弦相似度计算并排序的方法来搜索匹配度靠前的向量化知识。其中相似度的值域在-1和1之间,结果越靠近1代表两者在语义空间越接近,越靠近-1则相反,具体公式如下:

其中x为向量化检索文本,y为某一向量化知识。

步骤208,根据匹配度对所有向量化知识进行排序,根据得到的排序结果和索引从第二文本知识库中输出第三预设数量的知识条目作为待匹配文本的医学知识匹配结果。

如图3所示,根据输出的匹配度我们可以对每条向量化知识进行排序并依照需求提取部分的向量化知识(例如前3)。然后根据提取的向量化知识和在先对每条知识生成的索引,回到第二文本知识库中查询相应的知识条目并输出,以作为待匹配文本的医学知识匹配结果。

上述医学知识匹配方法,先通过包含各种知识条目的文本库建立向量化知识库,当进行不同匹配标准的知识匹配时,可根据需求自行选择需要的模型并结合向量化知识库来进行高精度的匹配或粗精度的匹配,最后基于匹配结果以及向量化知识库内在先建立的索引完成对知识匹配结果的输出,这样用户就快速找对与待匹配文本相关联的医学知识。

在一个实施例中,如图5所示,提出了一种医学语义匹配模型训练装置,该装置包括:

医学语义分析模型训练模块502,用于获取第一文本知识库和预训练语言模型,对第一文本知识库的文本进行实体全词覆盖,得到语义训练样本;第一文本数据库的文本包括多个检测报告文本和知识条目,实体全词覆盖用于隐藏文本中的至少一个词汇;使用语义训练样本对预训练语言模型进行语义训练,以预测在语义训练样本的覆盖位置处的词汇补全结果,根据词汇补全结果和第一损失函数计算第一损失值,根据第一损失值调整预训练语言模型中的参数,得到训练后的医学语义分析模型,预训练语言模型包括编码器和第一输出层,编码器用于提取语义向量,第一输出层用于根据编码器输出的语义向量输出词汇补全结果。

医学语义匹配模型训练模块504,用于获取多个样本对,多个样本对包括正样本对和负样本对,一个正样本对包括一个检测报告和一个匹配的知识条目,一个负样本对包括一个检测报告和一个不匹配的知识条目;通过医学语义分析模型中的编码器生成每个样本对的两组词语级语义向量,对每个样本对的两组词语级语义向量进行降维,得到每个样本对的两个第一句子级语义向量;两组词语级语义向量包括检测报告对应的一组词语级语义向量和知识条目对应的一组词语级语义向量,一组词语级语义向量包括多个词语级语义向量,一个词语级语义向量为一个字对应的多维度语义向量;通过与医学语义分析模型中编码器连接的第二输出层计算每个样本对的两个第一句子级语义向量间的相似度,根据相似度和第二损失函数计算第二损失值,根据第二损失值调整医学语义分析模型中编码器和第二输出层的参数,以增大正样本对的两个第一句子级语义向量间的相似度,且减小负样本对的两个第一句子级语义向量间的相似度,以得到训练后的医学语义匹配模型。

在一个实施例中,如图6所示,提出了一种医学语义匹配模型训练装置,该装置包括:

向量化知识库获取模块602,用于获取向量化知识库,向量化知识库包括多个向量化知识,一个向量化知识由医学语义分析模型中的编码器对第二文本知识库中的一个知识条目转换得到,第二文本知识库包括若干知识条目,一个向量化知识通过一个索引与第二文本知识库的一个知识条目关联。

第一匹配模块604,用于当进行第一匹配标准的知识匹配时,将待匹配文本嵌入为待匹配文本向量,将待匹配文本向量和目标向量化知识输入医学语义匹配模型,输出所有向量化知识与待匹配文本的匹配度,目标向量化知识为向量化知识库中的任一向量化知识。

第二匹配模块606,用于当进行第二匹配标准的知识匹配时,通过医学语义分析模型的编码器将待匹配文本转换为向量化待匹配文本,在向量化知识库内对向量化检索文本进行相似度计算,输出所有向量化知识与待匹配文本的匹配度;其中第一匹配标准对准确率的要求大于第二匹配标准。

匹配结果输出模块608,用于根据匹配度对所有向量化知识进行排序,根据得到的排序结果和索引从第二文本知识库中输出第三预设数量的知识条目作为待匹配文本的医学知识匹配结果。

需要说明的是,上述医学语义匹配模型的训练方法、医学知识匹配方法及装置属于一个总的发明构思,医学语义匹配模型的训练方法、医学知识匹配方法及装置实施例中的内容可相互适用。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

19页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:语料筛选方法、意图识别模型优化方法、设备及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!