一种基于任务感知的报告自动生成方法及装置与流程
1.本发明涉及医学分析技术领域,尤其涉及的是一种基于任务感知的报告自动生成方法及装置。
背景技术:
2.医学图像是反映解剖区域内部结构的图像,常被用于医学分析。在此基础上撰写的医学报告,能够进一步用于疾病诊断或者医学研究。但由于有经验的医生数量的缺少以及就诊者数量的增加,一个医生会面临大量的影像阅读和报告书写工作,势必会造成工作质量的下降。因此通过计算机技术自动分析图像并生成诊断报告,实现医学图像报告自动生成具有非常重要的意义。
3.随着深度学习技术的快速发展以及相应大型的医学图像报告生成数据集的提出,医学图像字幕生成任务在近几年受到了广泛关注。大多数相关工作通常是将自然图像字幕生成领域的方法转移到医学图像报告生成任务上。这些方法基本采用了相似的框架,使用卷积神经网络从图像中提取视觉特征,并通过文本解码器将视觉特征转换为最终报告。与自然字幕生成类似,这些方法都直接将完整的报告作为了解码器训练的目标。早期的工作使用的文本解码器是循环神经网络,但该网络存在难以对长文本建模的问题。而医学图像报告的长度通常远大于自然图像字幕。例如,在一般的图像字幕数据集中,字幕文本的平均长度是10~15词,而iu x-ray数据集中报告的平均长度约为30~40词,最近提出的大型数据集mimic-cxr的报告长度则是50~60词。因此,更多的方法则是选择了分层长短时记忆网络用于解码。该网络一方面用长短时记忆网络代替循环神经网络,缓解了长文本生成时信息损失的问题,另一方面逐句子生成的方式也降低了每次生成时处理的文本的长度,从而更好地实现了对医学报告这种段落式文本的生成。但是,由于这种层次文本生成模型中缺乏上下文的连贯性,最终生成的段落中容易包含重复的句子。
4.因此,现有技术存在缺陷,有待改进与发展。
技术实现要素:
5.本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种基于任务感知的报告自动生成方法及装置,旨在解决现有技术中在自动生成报告时,生成的段落中容易包含重复的句子的问题。
6.本发明解决技术问题所采用的技术方案如下:
7.一种基于任务感知的报告自动生成方法,其中,包括:
8.将原始报告输入预先训练的报告生成模型,利用嵌入向量生成器生成块嵌入向量序列;
9.对原始报告中的各个解剖结构创建对应的分类嵌入向量,得到分类嵌入向量序列;
10.将所述块嵌入向量序列和所述分类嵌入向量序列输入到共享编码器中,得到隐藏
状态序列和分类标识序列;
11.将所述隐藏状态序列和所述分类标识序列输入到多头解码器中,得到拆分为各个解剖结构的结构化报告。
12.在一种实现方式中,所述将原始报告输入预先训练的报告生成模型,利用嵌入向量生成器生成块嵌入向量序列,包括:
13.将原始报告输入预先训练的报告生成模型,利用基于卷积神经网络的视觉提取器提取所述原始报告的图像视觉特征,得到图像视觉特征向量序列;
14.对所述图像视觉特征向量序列中的各个图像视觉特征向量进行线性投影处理,得到块嵌入向量序列。
15.在一种实现方式中,将所述块嵌入向量序列和所述分类嵌入向量序列输入到共享编码器中,得到隐藏状态序列和分类标识序列,包括:
16.将所述块嵌入向量序列和所述分类嵌入向量序列输入到共享编码器中;
17.所述分类嵌入向量序列对应输出分类标识,采用多层感知器对每个输出的分类标识进行监督;
18.根据每个输出的分类标识提取所述块嵌入向量序列中的解剖结构信息,得到隐藏状态序列和分类标识序列。
19.在一种实现方式中,将所述隐藏状态序列和所述分类标识序列输入到多头解码器中,得到拆分为各个解剖结构的结构化报告,包括:
20.将所述隐藏状态序列和所述分类标识序列输入到多头解码器中,得到各个解码器头输出的对应的解剖结构报告;
21.将各个解剖结构报告按照预设的拼接顺序进行拼接,得到结构化报告。
22.在一种实现方式中,所述报告生成模型的训练步骤包括:
23.获取训练数据集,所述训练数据集中包括原始训练报告;
24.对所述原始训练报告进行预处理,得到结构化训练报告,并将所述结构化训练报告作为参考报告;
25.将所述原始训练报告输入初始报告生成模型中,对所述初始报告生成模型进行生成任务的训练和分类任务的训练,得到结构化生成报告;
26.当生成任务和分类任务的总损失函数达到平稳,训练完成,得到已训练的报告生成模型;
27.其中,所述初始报告生成模型为cnn-transformer模型。
28.在一种实现方式中,对所述原始训练报告进行预处理,得到结构化训练报告,并将所述结构化训练报告作为参考报告,包括:
29.提取所述原始训练报告中的报告关键词;
30.获取胸片知识图谱,按照所述报告关键词和所述胸片知识图谱将不同的句子归入到不同的解剖结构中,得到结构化训练报告;
31.将所述结构化训练报告作为参考报告。
32.在一种实现方式中,所述初始报告生成模型中包括基于卷积神经的视觉提取器和线性投影;将所述原始训练报告输入初始报告生成模型中,对所述初始报告生成模型进行生成任务的训练和分类任务的训练,得到结构化生成报告,包括:
33.利用基于卷积神经网络的视觉提取器提取所述原始训练报告中的图像视觉特征,得到所述原始训练报告对应的图像视觉特征向量序列;
34.利用线性投影将所述原始训练报告对应的图像视觉特征向量序列中的各个图像视觉特征向量的维度降低至512,得到所述原始训练报告对应的块嵌入向量序列;
35.对所述原始训练报告中的各个解剖结构创建对应的分类嵌入向量,得到所述原始训练报告对应的分类嵌入向量序列;
36.将所述原始训练报告的块嵌入向量序列和分类嵌入向量序列输入到共享编码器中,得到所述原始训练报告的隐藏状态序列和分类标识序列;
37.将所述原始训练报告的隐藏状态序列和分类标识序列输入到多头解码器中,得到各个解码器头输出的对应的解剖结构训练报告;
38.将各个解剖结构训练报告按照预设的拼接顺序进行拼接,得到结构化生成报告。
39.在一种实现方式中,所述总损失函数的计算公式为:
40.其中,所述为生成任务的损失函数,所述为分类任务的损失函数,所述λ为用于调整生成任务与分类任务损失比例的超参;
41.所述生成任务的损失函数的计算公式为:
42.其中,所述m是解剖结构的个数,所述li是第i个解剖结构的参考报告的长度,所述r
ij
表示第i个解剖结构的参考报告中第j个单词,所述y
ij
表示第i个解剖结构的结构化生成报告中第j个单词;
43.所述分类任务的损失函数的计算公式为:
44.其中,所述gi为类别标签,所述为pi为预测结果;
45.所述类别标签包括每个解剖结构的正常标签和异常标签。
46.在一种实现方式中,所述拼接顺序的获取步骤包括:
47.获取所述训练数据集中原始训练报告的语句序列集合s={s1,s2,
…
,sn},其中,所述n是所述训练数据集中的原始训练报告的数量;
48.构建所有可能的语句序列集合t={t1,t2,
…
,tm},其中,所述m是可能的语句序列数量;
49.将所有可能的语句序列与所述训练数据集对应的语句序列进行比较,得到所有可能的语句序列与所述训练数据集的语句序列之间的整体语句次序的相似程度;
50.根据所述相似程度得到所述拼接顺序。
51.在一种实现方式中,将所述原始训练报告的块嵌入向量序列和分类嵌入向量序列输入到共享编码器中,得到所述原始训练报告的隐藏状态序列和分类标识序列,包括:
52.将所述原始训练报告的块嵌入向量序列和分类嵌入向量序列输入到共享编码器中;
53.所述原始训练报告的分类嵌入向量序列对应输出分类标识,采用多层感知器对每个输出的分类标识进行监督;
54.根据每个输出的分类标识提取所述原始训练报告的块嵌入向量序列中的解剖结构信息,得到所述原始训练报告的隐藏状态序列和分类标识序列。
55.本发明还提供一种基于任务感知的报告自动生成装置,其中,包括:
56.输入模块,用于将原始报告输入预先训练的报告生成模型,利用嵌入向量生成器生成块嵌入向量序列;
57.创建模块,用于对原始报告中的各个解剖结构创建对应的分类嵌入向量,得到分类嵌入向量序列;
58.编码模块,用于将所述块嵌入向量序列和所述分类嵌入向量序列输入到共享编码器中,得到隐藏状态序列和分类标识序列;
59.报告生成模块,用于将所述隐藏状态序列和所述分类标识序列输入到多头解码器中,得到拆分为各个解剖结构的结构化报告。
60.本发明还提供一种终端,其中,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于任务感知的报告自动生成程序,所述基于任务感知的报告自动生成程序被所述处理器执行时实现如上所述的基于任务感知的报告自动生成方法的步骤。
61.本发明还提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机程序,所述计算机程序能够被执行以用于实现如上所述的基于任务感知的报告自动生成方法的步骤。
62.本发明所提供的一种基于任务感知的报告自动生成方法及装置,所述方法包括:将原始报告输入预先训练的报告生成模型,利用嵌入向量生成器生成块嵌入向量序列;对原始报告中的各个解剖结构创建对应的分类嵌入向量,得到分类嵌入向量序列;将所述块嵌入向量序列和所述分类嵌入向量序列输入到共享编码器中,得到隐藏状态序列和分类标识序列;将所述隐藏状态序列和所述分类标识序列输入到多头解码器中,得到拆分为各个解剖结构的结构化报告。本发明利用报告生成模型中的多头解码器对原始报告中的各个解剖结构进行拆分,每个解码器头都只关注对应解剖结构的报告生成,避免了生成的段落中出现重复的句子,也使得每个解码器头需要处理的文本长度大大下降,降低了长文本建模的难度,提高了报告生成的准确性。
附图说明
63.图1是本发明中基于任务感知的报告自动生成方法较佳实施例的流程图。
64.图2是任务蒸馏模块和任务感知的报告生成模块的原理框图。
65.图3是分类标识模块的原理框图。
66.图4是本发明中基于任务感知的报告自动生成装置的较佳实施例的功能原理框图。
67.图5是本发明中终端的功能原理框图。
具体实施方式
68.为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
69.随着深度学习技术的快速发展以及相应大型的医学图像报告生成数据集的提出,医学图像字幕生成任务在近几年收到了广泛关注。大多数相关工作通常是从将自然图像字幕生成领域的方法转移到医学图像报告生成任务上。这些方法基本采用了相似的框架,使用卷积神经网络从图像中提取视觉特征,并通过文本解码器将视觉特征转换为最终报告。与自然字幕生成类似,这些方法都直接将完整的报告作为了解码器训练的目标。早期的工作使用的文本解码器是循环神经网络,但该网络存在难以对长文本建模的问题。而医学图像报告的长度通常远大于自然图像字幕。例如,在一般的图像字幕数据集中,字幕文本的平均长度是10~15词,而iu x-ray数据集中报告的平均长度约为30~40词,最近提出的大型数据集mimic-cxr的报告长度则是50~60词。因此,更多的方法则是选择了分层长短时记忆网络用于解码。该网络一方面用长短时记忆网络代替循环神经网络,缓解了长文本生成时信息损失的问题,另一方面逐句子生成的方式也降低了每次生成时处理的文本的长度,从而更好地实现了对医学报告这种段落式文本的生成。但由于这种层次文本生成模型中缺乏上下文的连贯性,最终生成的段落中容易包含重复的句子。
70.最近的一些研究则利用transformer模型来解决医学图像报告因文本长度所导致的难以生成的问题。
71.尽管在利用更有效的模型后,能够较好的解决长文本建模困难的问题,但这些研究都忽略了医学报告生成与自然图像字幕任务之间的本质区别。实际上,医学报告比自然图像字幕更有条理,说明医学图像报告生成是任务感知(task-aware)问题。具体而言,相同身体部位和模态的医学图像应该从相同的方面(通常基于解剖结构)进行描述,例如,胸部x射线图像通常从心、胸、骨、肺、气腔、动脉和外部设备等方面对图像进行描述。此外,与自然图像字幕主要是对图像中的感兴趣区域进行描述不同,医学图像报告会尽可能的包含医学图像上所有的信息,但表中的报告也能够观察到内容不完整的特点,这导致在这样的数据集上直接训练的模型可能会忽略某些结构的描述,从而生成内容不完整的报告。这有可能会忽略一些异常的结构,从而影响临床实践中的可用性。现有数据集的报告上,不同结构之间的顺序也不相同,这是不同医生书写习惯不同导致的。尽管在实际中,诊断报告中的语句次序并不会改变报告反映的信息,但是将这些书写规则不相同的报告直接用于网络训练时,必然会增加完整报告生成网络对于文本信息的理解难度。此外,这样训练得到的网络所生成的报告的可读性也相对较差。
72.本实施例提出了一种基于任务感知的结构化报告生成方法,用于生成诊断准确的报告。本方法通过对完整报告按结构进行分解,并分别生成不同解剖结构的描述,降低了任务的难度。此外,本算法通过引入对解剖结构是否存在异常的预测,构建了一个多任务学习模型,进一步提高了生成报告的质量。
73.请参见图1,图1是本发明中基于任务感知的报告自动生成方法的流程图。如图1所示,本发明实施例所述的基于任务感知的报告自动生成方法包括如下步骤:
74.步骤s100、将原始报告输入预先训练的报告生成模型,利用嵌入向量生成器生成块嵌入向量序列。
75.具体地,所述原始报告中包括图像及简要文字描述,本实施例利用预先训练的报告生成模型,利用嵌入向量生成器将图像中的特征转换为块嵌入向量序列。
76.在一种实现方式中,所述步骤s100具体包括:
77.步骤s110、将原始报告输入预先训练的报告生成模型,利用基于卷积神经网络的视觉提取器提取所述原始报告的图像视觉特征,得到图像视觉特征向量序列;
78.步骤s120、对所述图像视觉特征向量序列中的各个图像视觉特征向量进行线性投影处理,得到块嵌入向量序列。
79.具体地,嵌入向量生成器由基于卷积神经网络的视觉提取器fv和一个可训练的线性投影f
p
构成,对于输入的原始报告(如放射性图像x),其计算过程为:{e1,e2,
…
,en}=f
p
(fv(x))。基于卷积神经的视觉提取器可以为resnet-101模型。在本算法框架中,卷积神经网络最后的全连接层被移除,同时将最后一层卷积层输出的特征图通过自适应平均池化,得到固定大小为7
×7×
2048的输出,并将其视为长度为49,维度是2048的图像视觉特征向量序列,每个向量代表了图像某一区域的视觉信息。随后,线性投影将各个图像视觉特征向量的维度降低至512,最终得到块嵌入向量序列{e1,e2,
…
,en}。
80.如图1所示,所述基于任务感知的报告自动生成方法还包括如下步骤:
81.步骤s200、对原始报告中的各个解剖结构创建对应的分类嵌入向量,得到分类嵌入向量序列。
82.具体地,对不同的结构各自创建一个分类嵌入向量,其维度与块嵌入向量相同。分类嵌入向量是可学习的,并与块嵌入向量序列一起输入到transformer模型的编码器中。
83.在一种实施例中,所述步骤s200具体包括:
84.步骤s210、将所述块嵌入向量序列和所述分类嵌入向量序列输入到共享编码器中;
85.步骤s220、所述分类嵌入向量序列对应输出分类标识,采用多层感知器对每个输出的分类标识进行监督;
86.步骤s230、根据每个输出的分类标识提取所述块嵌入向量序列中的解剖结构信息,得到隐藏状态序列和分类标识序列。
87.也就是说,本实施例在每个输出的分类标识之后添加了多层感知器进行监督,使其能够提取块嵌入向量中的有关特定结构的信息。
88.如图1所示,所述基于任务感知的报告自动生成方法还包括如下步骤:
89.步骤s300、将所述块嵌入向量序列和所述分类嵌入向量序列输入到共享编码器中,得到隐藏状态序列和分类标识序列。
90.具体地,任务感知的多头transformer由一个共享的编码器和多个单独的解码器组成。其中,共享编码器由标准transformer编码器块堆叠,用于将块嵌入向量转换为隐藏状态。共享编码器的作用是利用transformer捕获全局信息的能力,提取到更有效的视觉特征信息。
91.如图1所示,所述基于任务感知的报告自动生成方法还包括如下步骤:
92.步骤s400、将所述隐藏状态序列和所述分类标识序列输入到多头解码器中,得到拆分为各个解剖结构的结构化报告。
93.具体地,多头解码器的每个头只负责生成特定解剖结构的描述,这一方面使得描述较少的结构不被忽视,另一方面也降低了生成模型对复杂报告理解的难度。
94.在一种实现方式中,所述步骤s400具体包括:
95.步骤s410、将所述隐藏状态序列和所述分类标识序列输入到多头解码器中,得到
各个解码器头输出的对应的解剖结构报告;
96.步骤s420、将各个解剖结构报告按照预设的拼接顺序进行拼接,得到结构化报告。
97.具体地,每个解码器头都是transformer解码器结构的修改版本,使用关系记忆和由记忆驱动的条件层来有效模拟医生的临床写作并生成专业描述,得到对应的解剖结构报告。
98.在训练过程中,本发明提出了任务感知的报告生成算法框架。首先根据先验知识,将完整报告分解为对多个解剖结构的描述,将分解后的报告称为结构化报告。与以往直接生成完整报告的方式不同,任务感知的报告生成算法通过不同的解码器分别对任务感知报告中不同结构的描述进行生成。在这样的框架中,一方面每个解码器需要处理的文本长度大大下降,降低了长文本建模的难度,另一方面,每个解码器都只关注特定结构的报告生成,因此训练时能够关注到图像中相应位置的信息,减少多余信息的干扰。此外,本发明提出的任务感知报告生成方式由于采用了分别生成不同结构的报告的方式,因此不存在结构之间顺序的影响,一定程度上也提高了生成报告的准确性。
99.在任务感知的报告生成算法框架的基础上,本发明构建了一个分类任务,通过先对不同结构是否存在异常进行判断,再根据这一语义信息并结合图像信息去分别生成,进一步降低了医学图像报告生成任务的建模难度。
100.在一种实现方式中,所述报告生成模型的训练步骤包括:
101.步骤s10、获取训练数据集,所述训练数据集中包括原始训练报告;
102.步骤s20、对所述原始训练报告进行预处理,得到结构化训练报告,并将所述结构化训练报告作为参考报告;
103.步骤s30、将所述原始训练报告输入初始报告生成模型中,对所述初始报告生成模型进行生成任务的训练和分类任务的训练,得到结构化生成报告;
104.步骤s40、当生成任务和分类任务的总损失函数达到平稳,训练完成,得到已训练的报告生成模型。
105.其中,所述初始报告生成模型为cnn-transformer模型。
106.具体地,本实施例建立在基本的cnn-transformer架构上,可以将本发明的模型框架分为任务蒸馏模块、任务感知的报告生成模块,和分类标识模块三个部分,如图2和图3所示。任务蒸馏模块作用于训练数据集中的原始训练报告上,用于将原始报告拆分成不同部分的报告;报告生成模块用于生成不同解剖结构的报告;分类标识模块则利用不同部位的信息,辅助报告生成。
107.在一种实施例中,所述步骤s20具体包括:
108.步骤s21、提取所述原始训练报告中的报告关键词;
109.步骤s22、获取胸片知识图谱,按照所述报告关键词和所述胸片知识图谱将不同的句子归入到不同的解剖结构中,得到结构化训练报告;
110.步骤s23、将所述结构化训练报告作为参考报告。
111.具体地,由于本实施例的核心思路是分别生成不同解剖结构的报告,而原始的报告是完整的一段话,因此,需要先对训练数据集中的原始训练报告进行分解处理,得到结构级别的报告。任务蒸馏模块通过对报告关键词的提取,并根据胸片知识图谱将不同的句子归入到不同结构中,从而得到结构化训练报告。
112.在一种实现方式中,所述初始报告生成模型中包括基于卷积神经的视觉提取器和线性投影。所述步骤s30具体包括:
113.步骤s31、利用基于卷积神经网络的视觉提取器提取所述原始训练报告中的图像视觉特征,得到所述原始训练报告对应的图像视觉特征向量序列;
114.步骤s32、利用线性投影将所述原始训练报告对应的图像视觉特征向量序列中的各个图像视觉特征向量的维度降低至512,得到所述原始训练报告对应的块嵌入向量序列;
115.步骤s33、对所述原始训练报告中的各个解剖结构创建对应的分类嵌入向量,得到所述原始训练报告对应的分类嵌入向量序列;
116.步骤s34、将所述原始训练报告的块嵌入向量序列和分类嵌入向量序列输入到共享编码器中,得到所述原始训练报告的隐藏状态序列和分类标识序列;
117.步骤s35、将所述原始训练报告的隐藏状态序列和分类标识序列输入到多头解码器中,得到各个解码器头输出的对应的解剖结构训练报告;
118.步骤s36、将各个解剖结构训练报告按照预设的拼接顺序进行拼接,得到结构化生成报告。
119.所述原始训练报告中包括原始训练图像,如胸片图像,原始训练图像会首先输入到任务感知的报告生成模块中。与一般的编码器解码器结构类似,任务感知的报告生成模块中的编码器部分用于提取图像的视觉表征,而解码器部分由多个解码器头组成,分别利用图像的视觉表征生成不同结构的报告。这样,一方面每个解码器需要处理的文本长度大大下降,降低了长文本建模的难度,另一方面,每个解码器都只关注特定结构的报告生成,因此,训练时能够关注到图像中相应位置的信息,减少多余信息的干扰。
120.具体地,报告生成模块由一个嵌入向量生成器模块和一个任务感知的多头transformer网络组成,其中每个头对应于特定结构的描述。嵌入向量生成器模块由基于卷积神经网络的视觉提取器fv和一个可训练的线性投影f
p
构成,对于输入的原始训练报告(如放射性图像x),其计算过程为:{e1,e2,
…
,en}=f
p
(fv(x))。
121.本实施例中选择resnet-101模型用于提取视觉特征,即,基于卷积神经的视觉提取器可以为resnet-101模型。在本算法框架中,卷积神经网络最后的全连接层被移除,同时将最后一层卷积层输出的特征图通过自适应平均池化,得到固定大小为7
×7×
2048的输出,并将其视为长度为49,维度是2048的图像视觉特征向量序列,每个向量代表了图像某一区域的视觉信息。随后,线性投影将各个图像视觉特征向量的维度降低至512,最终得到块嵌入向量序列{e1,e2,
…
,en},该序列将作为后续任务感知的多头transformer网络的源输入。
122.任务感知的多头transformer由一个共享的编码器和多个单独的解码器组成。其中,共享编码器由标准transformer编码器块堆叠,用于将块嵌入向量转换为隐藏状态,这个过程可以表示为:{h1,h2,
…
,hn}=fe({e1,e2,
…
,en});其中,fe代表共享编码器,{h1,h2,
…
,hn}表示隐藏状态序列。共享编码器的作用是利用transformer捕获全局信息的能力,提取到更有效的视觉特征信息。
123.与现有文献一次性生成整体报告不同,多头解码器的每个头只负责生成特定解剖结构的描述,这一方面使得描述较少的结构不被忽视,另一方面也降低了生成模型对复杂报告理解的难度。具体来说,每个头都是transformer解码器结构的修改版本,其中,使用关
系记忆和由记忆驱动的条件层来有效模拟医生的临床写作并生成专业描述。任务特定的描述y={y1,y2,
…
,ym}的生成可以表示为:其中表示第i个头的transformer解码器。
124.对于分类标识模块,医生在书写放射学报告时,通常会采取先判断再书写的方式,即先查看当前区域是否存在异常,再去书写相应正常或者异常的报告。受到这一机制启发,多种分类与生成相结合的多任务模型被提出并用于医学报告生成。目前已证明,这样的多任务模型在医学报告生成任务中是有效的,能够生成诊断更加准确的报告。
125.此外,现有的方法通常将卷积神经网络提取的全局图像特征向量输入到不同的多层感知器(multi-layer perceptron,mlp)中,实现多个二分类任务。这样的方式并没有考虑到不同的分类任务所需要的图像信息是不同的。例如对骨骼疾病的诊断是不需要心脏部位的信息的。此外,单纯的卷积神经网络无法建立长范围的建模。对此本发明的分类标识模块的实现建立在transformer模型的编码器端,同时利用了卷积神经网络归纳偏置的特性以及transformer模型的全局归纳建模能力,其结构如图3所示。
126.首先,对不同的结构各自创建一个分类嵌入向量,其维度与块嵌入向量相同。分类嵌入向量是可学习的,并与块嵌入向量序列一起输入到transformer模型的编码器中,其计算过程如下:
127.{h1,h2,
…
,hn},{t1,t2,
…
,tm}=fe({e1,e2,
…
,en},{c1,c2,
…
,cm});
128.其中,{c1,c2,
…
,cm}表示分类嵌入向量序列,{t1,t2,
…
,tm}表示输出的分类标识(classification token)序列。
129.分类标识序列与隐藏状态序列共同输入到解码器部分,为异常区域提供高级特征,报告生成过程可以修改为:
130.{h1,h2,
…
,hn},{t1,t2,
…
,tm}=fd({e1,e2,
…
,en},{c1,c2,
…
,cm});其中,fd表示解码器。
131.在一种实现方式中,所述总损失函数的计算公式为:其中,所述为生成任务的损失函数,所述为分类任务的损失函数,所述λ为用于调整生成任务与分类任务损失比例的超参。
132.生成任务的损失函数是不同解剖结构生成的交叉熵损失函数的叠加,所述生成任务的损失函数的计算公式为:其中,所述m是解剖结构的个数,所述li是第i个解剖结构的参考报告的长度,所述r
ij
表示第i个解剖结构的参考报告中第j个单词,所述y
ij
表示第i个解剖结构的结构化生成报告中第j个单词。
133.分类任务的损失函数则是多个二分类任务的损失函数的叠加,所述分类任务的损失函数的计算公式为:其中,所述gi为类别标签,所述为pi为预测结果;所述类别标签包括每个解剖结构的正常标签和异常标签。
134.具体地,为了给分类部分的训练提供相应标签,本实施例提取了常见疾病的标签,并结合常见无异常症状的关键词,得到了每个解剖结构的正常标签和异常标签。为了模拟
医生先诊断后撰写报告的过程,本实施例提出了分类标识模块用于对不同结构是否存在异常进行监督,并辅助报告生成模块生成诊断更准确的报告。
135.在一种实施例中,所述拼接顺序的获取步骤包括:
136.获取所述训练数据集中原始训练报告的语句序列集合s={s1,s2,
…
,sn},其中,所述n是所述训练数据集中的原始训练报告的数量;
137.构建所有可能的语句序列集合t={t1,t2,
…
,tm},其中,所述m是可能的语句序列数量;
138.将所有可能的语句序列与所述训练数据集对应的语句序列进行比较,得到所有可能的语句序列与所述训练数据集的语句序列之间的整体语句次序的相似程度;
139.根据所述相似程度得到所述拼接顺序。
140.具体地,本实施例最终生成的报告是结构级别的,为了方便与参考报告计算相应指标并同其他算法进行比较,本实施例对不同结构的报告按一定顺序进行拼接得到最终的报告。尽管实际中诊断报告的语句次序不会对报告的整体语义产生影响,但评价指标中的rouge-l是基于参考报告和生成报告之间的最长公共子序列计算的,会受到语句次序的影响。对此,本实施例简单设计了一种基于最长公共子序列的方法,用于尽可能到一种合适的语句次序。
141.首先得到训练集中所有报告的语句序列集合s={s1,s2,
…
,sn},其中,n是所述训练数据集中的原始训练报告的数量。然后构建所有可能的语句序列集合t={t1,t2,
…
,tm},其中,m是可能的语句序列数量,并且m=m!。对于任意一种可能的语句序列,通过将其与训练集中所有的语句序列进行比较,从而得到其与训练集整体语句次序的相似程度。
142.所述相似程度的计算公式为:lcs函数用于求出两个序列之间的最长公共子序列的长度。通过这样的方式,本实施例能够一种与训练集整体语句次序最接近的语句序列。最终,t
pos
就是本实施例最终采用的拼接顺序。
143.在一种实现方式中,所述步骤s34具体包括:将所述原始训练报告的块嵌入向量序列和分类嵌入向量序列输入到共享编码器中;所述原始训练报告的分类嵌入向量序列对应输出分类标识,采用多层感知器对每个输出的分类标识进行监督;根据每个输出的分类标识提取所述原始训练报告的块嵌入向量序列中的解剖结构信息,得到所述原始训练报告的隐藏状态序列和分类标识序列。也就是说,本实施例在每个输出的分类标识之后添加了多层感知器进行监督,使其能够提取块嵌入向量中的有关特定结构的信息,该过程表示为:pi=mlpi(ti),i∈1,2,
…
,m;其中,mlp代表多层感知器,并且不同的结构采用了单独的多层感知器。pi是最后生成的二分类概率向量,即分类标识序列。
144.相比之前的方法,本实施例对监督目标进行了改进。现有的文献主要利用了两种监督信息,一种是对疾病标签的预测,另一种是对报告中提取的关键词进行监督。疾病标签是通过一种名叫chexpert labeler的工具提取的,包含了12种胸片图像上常见的疾病,得到疾病标签和无异常标签。对于疾病标签的准确预测通常是比较困难的,同时由于报告数据集的不规范问题,网络很难将疾病标签与报告内容对应起来。而对于关键词的监督则存下以下问题:从报告中提取出的关键词主要包括结构、疾病类型以及相应描述词,其中的结构关键词例如“volume”等,通常会在多数报告中出现,因此对此进行监督并不能够改善生
成报告的质量。而相应描述词则包括“normal”、“left”等,网络无法根据这样的关键词判断出到底这些描述词描述的是哪个结构。而本发明算法则是对不同结构是否存在异常进行了监督,相对于直接预测疾病而言,这个判断更加简单,也能够使网络关注到相应的图像区域。同时,对不同结构是否存在异常的监督更加契合本发明算法对不同结构分别生成的方式,其分类得出的信息能够直接指导生成网络。
145.进一步地,如图4所示,基于上述基于任务感知的报告自动生成方法,本发明还相应提供了一种基于任务感知的报告自动生成装置,包括:
146.输入模块100,用于将原始报告输入预先训练的报告生成模型,利用嵌入向量生成器生成块嵌入向量序列;
147.创建模块200,用于对原始报告中的各个解剖结构创建对应的分类嵌入向量,得到分类嵌入向量序列;
148.编码模块300,用于将所述块嵌入向量序列和所述分类嵌入向量序列输入到共享编码器中,得到隐藏状态序列和分类标识序列;
149.报告生成模块400,用于将所述隐藏状态序列和所述分类标识序列输入到多头解码器中,得到拆分为各个解剖结构的结构化报告。
150.如图5所示,本发明还提供一种终端,包括:存储器20、处理器10及存储在所述存储器20上并可在所述处理器10上运行的基于任务感知的报告自动生成程序30,所述基于任务感知的报告自动生成程序30被所述处理器10执行时实现如上所述的基于任务感知的报告自动生成方法的步骤。
151.本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序能够被执行以用于实现如上所述的基于任务感知的报告自动生成方法的步骤。
152.综上所述,本发明公开的一种基于任务感知的报告自动生成方法及装置,所述方法包括:将原始报告输入预先训练的报告生成模型,利用嵌入向量生成器生成块嵌入向量序列;对原始报告中的各个解剖结构创建对应的分类嵌入向量,得到分类嵌入向量序列;将所述块嵌入向量序列和所述分类嵌入向量序列输入到共享编码器中,得到隐藏状态序列和分类标识序列;将所述隐藏状态序列和所述分类标识序列输入到多头解码器中,得到拆分为各个解剖结构的结构化报告。本发明利用报告生成模型中的多头解码器对原始报告中的各个解剖结构进行拆分,每个解码器头都只关注对应解剖结构的报告生成,避免了生成的段落中出现重复的句子,也使得每个解码器头需要处理的文本长度大大下降,降低了长文本建模的难度,提高了报告生成的准确性。
153.应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
技术特征:
1.一种基于任务感知的报告自动生成方法,其特征在于,包括:将原始报告输入预先训练的报告生成模型,利用嵌入向量生成器生成块嵌入向量序列;对原始报告中的各个解剖结构创建对应的分类嵌入向量,得到分类嵌入向量序列;将所述块嵌入向量序列和所述分类嵌入向量序列输入到共享编码器中,得到隐藏状态序列和分类标识序列;将所述隐藏状态序列和所述分类标识序列输入到多头解码器中,得到拆分为各个解剖结构的结构化报告。2.根据权利要求1所述的基于任务感知的报告自动生成方法,其特征在于,所述将原始报告输入预先训练的报告生成模型,利用嵌入向量生成器生成块嵌入向量序列,包括:将原始报告输入预先训练的报告生成模型,利用基于卷积神经网络的视觉提取器提取所述原始报告的图像视觉特征,得到图像视觉特征向量序列;对所述图像视觉特征向量序列中的各个图像视觉特征向量进行线性投影处理,得到块嵌入向量序列。3.根据权利要求1所述的基于任务感知的报告自动生成方法,其特征在于,将所述块嵌入向量序列和所述分类嵌入向量序列输入到共享编码器中,得到隐藏状态序列和分类标识序列,包括:将所述块嵌入向量序列和所述分类嵌入向量序列输入到共享编码器中;所述分类嵌入向量序列对应输出分类标识,采用多层感知器对每个输出的分类标识进行监督;根据每个输出的分类标识提取所述块嵌入向量序列中的解剖结构信息,得到隐藏状态序列和分类标识序列。4.根据权利要求1所述的基于任务感知的报告自动生成方法,其特征在于,将所述隐藏状态序列和所述分类标识序列输入到多头解码器中,得到拆分为各个解剖结构的结构化报告,包括:将所述隐藏状态序列和所述分类标识序列输入到多头解码器中,得到各个解码器头输出的对应的解剖结构报告;将各个解剖结构报告按照预设的拼接顺序进行拼接,得到结构化报告。5.根据权利要求1所述的基于任务感知的报告自动生成方法,其特征在于,所述报告生成模型的训练步骤包括:获取训练数据集,所述训练数据集中包括原始训练报告;对所述原始训练报告进行预处理,得到结构化训练报告,并将所述结构化训练报告作为参考报告;将所述原始训练报告输入初始报告生成模型中,对所述初始报告生成模型进行生成任务的训练和分类任务的训练,得到结构化生成报告;当生成任务和分类任务的总损失函数达到平稳,训练完成,得到已训练的报告生成模型;其中,所述初始报告生成模型为cnn-transformer模型。6.根据权利要求5所述的基于任务感知的报告自动生成方法,其特征在于,对所述原始
训练报告进行预处理,得到结构化训练报告,并将所述结构化训练报告作为参考报告,包括:提取所述原始训练报告中的报告关键词;获取胸片知识图谱,按照所述报告关键词和所述胸片知识图谱将不同的句子归入到不同的解剖结构中,得到结构化训练报告;将所述结构化训练报告作为参考报告。7.根据权利要求5所述的基于任务感知的报告自动生成方法,其特征在于,所述初始报告生成模型中包括基于卷积神经的视觉提取器和线性投影;将所述原始训练报告输入初始报告生成模型中,对所述初始报告生成模型进行生成任务的训练和分类任务的训练,得到结构化生成报告,包括:利用基于卷积神经网络的视觉提取器提取所述原始训练报告中的图像视觉特征,得到所述原始训练报告对应的图像视觉特征向量序列;利用线性投影将所述原始训练报告对应的图像视觉特征向量序列中的各个图像视觉特征向量的维度降低至512,得到所述原始训练报告对应的块嵌入向量序列;对所述原始训练报告中的各个解剖结构创建对应的分类嵌入向量,得到所述原始训练报告对应的分类嵌入向量序列;将所述原始训练报告的块嵌入向量序列和分类嵌入向量序列输入到共享编码器中,得到所述原始训练报告的隐藏状态序列和分类标识序列;将所述原始训练报告的隐藏状态序列和分类标识序列输入到多头解码器中,得到各个解码器头输出的对应的解剖结构训练报告;将各个解剖结构训练报告按照预设的拼接顺序进行拼接,得到结构化生成报告。8.根据权利要求5所述的基于任务感知的报告自动生成方法,其特征在于,所述总损失函数的计算公式为:其中,所述为生成任务的损失函数,所述为分类任务的损失函数,所述λ为用于调整生成任务与分类任务损失比例的超参;所述生成任务的损失函数的计算公式为:其中,所述m是解剖结构的个数,所述l
i
是第i个解剖结构的参考报告的长度,所述r
ij
表示第i个解剖结构的参考报告中第j个单词,所述y
ij
表示第i个解剖结构的结构化生成报告中第j个单词;所述分类任务的损失函数的计算公式为:其中,所述g
i
为类别标签,所述为p
i
为预测结果;所述类别标签包括每个解剖结构的正常标签和异常标签。9.根据权利要求7所述的基于任务感知的报告自动生成方法,其特征在于,所述拼接顺序的获取步骤包括:获取所述训练数据集中原始训练报告的语句序列集合s={s1,s2,
…
,s
n
},其中,所述n是所述训练数据集中的原始训练报告的数量;
构建所有可能的语句序列集合t={t1,t2,
…
,t
m
},其中,所述m是可能的语句序列数量;将所有可能的语句序列与所述训练数据集对应的语句序列进行比较,得到所有可能的语句序列与所述训练数据集的语句序列之间的整体语句次序的相似程度;根据所述相似程度得到所述拼接顺序。10.根据权利要求9所述的基于任务感知的报告自动生成方法,其特征在于,将所述原始训练报告的块嵌入向量序列和分类嵌入向量序列输入到共享编码器中,得到所述原始训练报告的隐藏状态序列和分类标识序列,包括:将所述原始训练报告的块嵌入向量序列和分类嵌入向量序列输入到共享编码器中;所述原始训练报告的分类嵌入向量序列对应输出分类标识,采用多层感知器对每个输出的分类标识进行监督;根据每个输出的分类标识提取所述原始训练报告的块嵌入向量序列中的解剖结构信息,得到所述原始训练报告的隐藏状态序列和分类标识序列。11.一种基于任务感知的报告自动生成装置,其特征在于,包括:输入模块,用于将原始报告输入预先训练的报告生成模型,利用嵌入向量生成器生成块嵌入向量序列;创建模块,用于对原始报告中的各个解剖结构创建对应的分类嵌入向量,得到分类嵌入向量序列;编码模块,用于将所述块嵌入向量序列和所述分类嵌入向量序列输入到共享编码器中,得到隐藏状态序列和分类标识序列;报告生成模块,用于将所述隐藏状态序列和所述分类标识序列输入到多头解码器中,得到拆分为各个解剖结构的结构化报告。12.一种终端,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于任务感知的报告自动生成程序,所述基于任务感知的报告自动生成程序被所述处理器执行时实现如权利要求1~10任意一项所述的基于任务感知的报告自动生成方法的步骤。13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序能够被执行以用于实现如权利要求1~10任意一项所述的基于任务感知的报告自动生成方法的步骤。
技术总结
本发明所提供的一种基于任务感知的报告自动生成方法及装置,方法包括:将原始报告输入预先训练的报告生成模型,利用嵌入向量生成器生成块嵌入向量序列;对原始报告中的各个解剖结构创建对应的分类嵌入向量,得到分类嵌入向量序列;将块嵌入向量序列和分类嵌入向量序列输入到共享编码器中,得到隐藏状态序列和分类标识序列;将隐藏状态序列和分类标识序列输入到多头解码器中,得到拆分为各个解剖结构的结构化报告。本发明利用报告生成模型中的多头解码器对原始报告中的各个解剖结构进行拆分,每个解码器头都只关注对应解剖结构的报告生成,避免了生成的段落中出现重复的句子,也降低了长文本建模的难度,提高了报告生成的准确性。性。性。