医学文本的向量表示生成方法和装置

文档序号:27633649发布日期:2021-11-29 16:43阅读:157来源:国知局
医学文本的向量表示生成方法和装置

1.本发明实施例涉及计算机技术领域,特别涉及一种医学文本的向量表示生成方法和装置。


背景技术:

2.文本表征是自然语言处理应用的关键任务。它的目标是将非结构化文本映射到低维的向量空间中去,以便可以用数学的方法对文本进行计算。不同的文本表征可以捕捉和解析隐藏在文本中的不同方面的语义信息。因此,如何学习较好的文本表示对于更好地解决自然语言处理问题至关重要。
3.当前,现有的表征方式大都利用神经网络模型来生成文本的表示。在针对中文的相关技术中,许多研究基于词级别进行建模,但是不同于英文文本,中文没有分隔符,文本划分成词的过程中,会由于分词错误引入大量噪声;而另一部分研究则采用基于字的模型,避开了中文分词错误的问题,但是这种建模方式的不足在于丢失了词的边界信息,而且词中每个字符的语义叠加后的结果和词本身的语义很多时候并不能等同。近年来,一些研究致力于将词的信息集成到字中,因为词的表示中包含着更完整的语义信息,甚至边界信息,这两类信息的补充都可以对最终的模型预测起到重要的作用。
4.然而,这些方法大都没有考虑过医疗领域这种专业领域的文本的一些独特的属性,即文本本身在语义上通常是模糊的,在结构上是具有层次性的。字符、单词这两个粒度的知识,不足以增强文本表征的信息丰富程度。
5.因此,亟待需要一种融合多种粒度知识的表征模型来解决上述问题。


技术实现要素:

6.为了增强文本表征的信息丰富程度,本发明实施例提供了一种医学文本的向量表示生成方法和装置。
7.第一方面,本发明实施例提供了一种医学文本的向量表示生成方法,包括:
8.构建医学文本的单一粒度图和与每一个单一粒度图对应的第一邻接矩阵;其中,所述单一粒度图包括字符粒度图、单词粒度图和术语粒度图,每一个单一粒度图均包括多个节点和多条边,每条边连接于两个所述节点之间,所述第一邻接矩阵是基于与该第一邻接矩阵对应的单一粒度图中每一条边的权重确定的;
9.基于所述第一邻接矩阵,利用预设的图神经网络模型对每一个单一粒度图进行多次迭代操作,得到该单一粒度图中各节点的第一向量表示;其中,每一个单一粒度图中各节点的第一向量表示是聚合该单一粒度图中各节点自身的向量表示和各阶邻居节点的向量表示得到的;
10.拼接每一个单一粒度图中各节点的第一向量表示,得到各节点自身的第二向量表示;
11.基于不同单一粒度图的节点的包含关系,确定多粒度图的第二邻接矩阵;其中,所
述多粒度图是通过对所有单一粒度图进行重构得到的,所述多粒度图包括每一个单一粒度图中的所有节点,所述多粒度图包括的边是基于不同单一粒度图的节点的包含关系得到的;
12.基于所述第二邻接矩阵,利用所述图神经网络模型对所述多粒度图进行多次迭代操作,得到所述多粒度图中各节点的目标向量表示;其中,所述多粒度图中各节点的目标向量表示是聚合所述多粒度图中各节点自身的第二向量表示和各阶邻居节点的第二向量表示得到的。
13.在一种可能的设计中,所述构建所述医学文本的单一粒度图和与每一个单一粒度图对应的第一邻接矩阵,包括:
14.对所述医学文本分别进行分字处理、分词处理和医学知识库匹配,得到包括字符、单词和术语三种类型的节点;
15.针对每一种类型的节点,确定连接于两个节点之间的边;
16.基于相同类型的节点和连接于该类型中两个节点之间的边,构建与该类型节点对应的单一粒度图;
17.针对每一种类型的节点,确定该类型中连接两个节点之间的边的权重;
18.基于该类型中连接两个节点之间的边的权重,构建与该类型节点对应的第一邻接矩阵。
19.在一种可能的设计中,所述基于所述第一邻接矩阵,利用预设的图神经网络模型对每一个单一粒度图进行多次迭代操作,得到该单一粒度图中各节点的第一向量表示,包括:
20.基于每一个单一粒度图中各节点的上一次向量表示、所述第一邻接矩阵和权重参数矩阵,确定各节点的当前向量表示;其中,各节点的上一次向量表示是利用预设的图神经网络模型对所述第一邻接矩阵进行第t

1次迭代操作后得到的,各节点的当前向量表示是利用所述图神经网络模型对所述第一邻接矩阵进行第t次迭代操作后得到的,t为大于1的正整数,各节点的上一次向量表示包括各节点自身的向量表示及其t

1阶邻居节点的向量表示,各节点的当前向量表示包括各节点的自身的向量表示及其t阶邻居节点的向量表示;
21.根据各节点的当前向量表示,确定各节点的第一向量表示。
22.在一种可能的设计中,所述基于各节点的当前向量表示,确定所述各节点的第一向量表示,包括:
23.基于各节点的上一次向量表示、各节点的当前向量表示、更新门权重参数矩阵、更新门偏差参数矩阵和更新门激活函数,确定各节点的待更新特征矩阵;
24.基于各节点的上一次向量表示、各节点的当前向量表示、遗忘门权重参数矩阵、遗忘门偏差参数矩阵和遗忘门激活函数,确定各节点的待遗忘特征矩阵;
25.基于各节点的上一次向量表示、各节点的当前向量表示、各节点的待遗忘特征矩阵、遗忘权重参数矩阵和遗忘偏差参数矩阵,确定各节点的遗忘特征矩阵;
26.基于各节点的遗忘特征矩阵、各节点的待更新特征矩阵和各节点的上一次向量表示,确定各节点的第一向量表示。
27.在一种可能的设计中,所述基于所述第二邻接矩阵,利用所述图神经网络模型对多粒度图进行多次迭代操作,得到多粒度图中各节点的目标向量表示,包括:
28.基于多粒度图中各节点的上一次第二向量表示、所述第二邻接矩阵和权重参数矩阵,确定各节点的当前第二向量表示;其中,各节点的上一次第二向量表示是利用所述图神经网络模型对所述第二邻接矩阵进行第t

1次迭代操作后得到的,各节点的当前第二向量表示是利用所述图神经网络模型对所述第二邻接矩阵进行第t次迭代操作后得到的,t为大于1的正整数,各节点的上一次第二向量表示包括各节点自身的第二向量表示及其t

1阶邻居节点的第二向量表示,各节点的当前第二向量表示包括各节点的自身的第二向量表示及其t阶邻居节点的第二向量表示;
29.根据各节点的当前第二向量表示,确定各节点的目标向量表示。
30.在一种可能的设计中,所述基于各节点的当前第二向量表示,确定所述各节点的目标向量表示,包括:
31.基于各节点的上一次第二向量表示、各节点的当前第二向量表示、更新门权重参数矩阵、更新门偏差参数矩阵和更新门激活函数,确定各节点的待更新特征矩阵;
32.基于各节点的上一次第二向量表示、各节点的当前第二向量表示、遗忘门权重参数矩阵、遗忘门偏差参数矩阵和遗忘门激活函数,确定各节点的待遗忘特征矩阵;
33.基于各节点的上一次第二向量表示、各节点的当前第二向量表示、各节点的待遗忘特征矩阵、遗忘权重参数矩阵和遗忘偏差参数矩阵,确定各节点的遗忘特征矩阵;
34.基于各节点的遗忘特征矩阵、各节点的待更新特征矩阵和各节点的上一次第二向量表示,确定各节点的目标向量表示。
35.在一种可能的设计中,所述基于不同单一粒度图的节点的包含关系,确定多粒度图的第二邻接矩阵,包括:
36.基于不同单一粒度图的节点的包含关系,确定连接于不同单一粒度图的节点之间的边的第一权重;
37.基于多粒度图中各条边的第一权重和各节点的余弦相似度,得到多粒度图中各条边的第二权重,以确定出第二邻接矩阵;其中,所述第二邻接矩阵中的项为所述第二权重。
38.第二方面,本发明实施例还提供了一种医学文本的向量表示生成装置,包括:
39.构建模块,用于构建医学文本的单一粒度图和与每一个单一粒度图对应的第一邻接矩阵;其中,所述单一粒度图包括字符粒度图、单词粒度图和术语粒度图,每一个单一粒度图均包括多个节点和多条边,每条边连接于两个所述节点之间,所述第一邻接矩阵是基于与该第一邻接矩阵对应的单一粒度图中每一条边的权重确定的;
40.第一迭代模块,用于基于所述第一邻接矩阵,利用预设的图神经网络模型对每一个单一粒度图进行多次迭代操作,得到该单一粒度图中各节点的第一向量表示;其中,每一个单一粒度图中各节点的第一向量表示是聚合该单一粒度图中各节点自身的向量表示和各阶邻居节点的向量表示得到的;
41.拼接模块,用于拼接每一个单一粒度图中各节点的第一向量表示,得到各节点自身的第二向量表示;
42.确定模块,用于基于不同单一粒度图的节点的包含关系,确定多粒度图的第二邻接矩阵;其中,所述多粒度图是通过对所有单一粒度图进行重构得到的,所述多粒度图包括每一个单一粒度图中的所有节点,所述多粒度图包括的边是基于不同单一粒度图的节点的包含关系得到的;
43.第二迭代模块,用于基于所述第二邻接矩阵,利用所述图神经网络模型对多粒度图进行多次迭代操作,得到多粒度图中各节点的目标向量表示;其中,多粒度图中各节点的目标向量表示是聚合多粒度图中各节点自身的第二向量表示和各阶邻居节点的第二向量表示得到的。
44.第三方面,本发明实施例还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现如上述任一项所述的方法。
45.第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行上述任一项所述的方法
46.本发明实施例提供了一种医学文本的向量表示生成方法和装置,通过构建不同粒度信息的单一粒度图,并利用预设的图神经网络模型对每一个单一粒度图进行多次迭代操作,如此得到了该单一粒度图中各节点的第一向量表示,从而完成了图内消息的传递,使得同一粒度图中节点之间的语义信息更丰富;然后拼接每一个单一粒度图中各节点的第一向量表示,得到各节点自身的第二向量表示,以及基于不同单一粒度图的节点的包含关系,确定多粒度图的第二邻接矩阵,并利用图神经网络模型对多粒度图进行多次迭代操作,如此得到了多粒度图中各节点的目标向量表示,从而完成了图间消息的传递,使得不同粒度图中各节点的第一向量表示的交互融合,进而能够增强文本表征的信息丰富程度,以提升医学文本表征的鲁棒性。
附图说明
47.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
48.图1是本发明一实施例提供的一种医学文本的向量表示生成方法流程图;
49.图2是本发明一实施例提供的一种计算设备的硬件架构图;
50.图3是本发明一实施例提供的一种医学文本的向量表示生成装置的结构图。
具体实施方式
51.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
52.对于特定领域的自然语言处理任务,总是存在大量高质量的专业知识,例如医学领域中的医学术语等。这些专业知识的表现形式包括词典信息、语义关系信息和维基百科中的描述等等,我们可称之为领域先验知识。通过对先验知识的学习,人类可以更深入地理解对应领域自然语言的语义,机器学习模型对于任务中的语义理解也是如此。
53.从语义颗粒度的角度来看,知识可以划分为细粒度知识和粗粒度知识。以医学领域为例,细粒度的知识往往以单个字符或词的形式存在,如“肾”“血糖”等,其蕴含着部位信
息和疾病类型。而较为完整的术语,例如手术名称、症状和体征等,可以看作是粗粒度的知识。
54.在理解整个文本语义的过程中,不同粒度的知识提供了不同层面的信息。字符作为最小的语义单元,也是最细粒度的知识。以字符为单位,去解析自然文本,能够对所表述语义进行大范围的覆盖。而粒度越粗,如以句子级别,或者篇章级别对文本进行理解,则对文本所要传递的重点和核心把握地更加完整和准确。许多研究以考虑字符、单词粒度的知识为主,预训练语言模型是细粒度信息学习的典型代表,它们在大规模语料库上进行训练,例如elmo、bert和xlnet,并在多项任务上表现出强大的性能。然而,在专业领域,存在着许多不常见的表述及专业术语,它们的语义颗粒度要比字符和单词更粗,这些知识在以字词级别的建模过程中被丢弃了。对于中文自然语言处理任务,由于中文分词错误,这个问题更加常见。专业领域的不规则表达,更容易被分词工具截断。因此,在特征提取过程中丢失了专业术语等粗粒度信息的语义表示。
55.而且,不同粒度的知识可以相互补充,因为粗粒度信息是由细粒度信息组成的,它们的语义关系是相互关联的。一些研究将更粗粒度的单词信息引入到基于字符的模型中以弥补丢失的信息,因为如果模型仅基于字符,单词信息将被丢弃,额外的粗粒度信息导致更准确的文本表示。此外,如果可以涉及更粗粒度的知识,则可以获得更准确的语义。反过来,细粒度信息也有利于粗粒度信息的丰富性。
56.总的来说,专业领域的先验知识对理解自然语言有很大的帮助。不同粒度的知识,可以提供不同层面的信息,而且不同粒度之间彼此相互补充,对多种粒度知识的良好学习对于自然语言理解起着至关重要的作用。然而,尽管我们已经大量积累了专业领域的先验知识,但在现有模型中还没有得到充分利用。在利用先验知识的研究中,粗粒度的知识更容易在建模的过程中被丢弃,仅部分细粒度的信息被有效利用起来。
57.为了解决该技术问题,可以考虑将不同粒度的知识进行融合,这样能够增强文本表征的信息丰富程度,以提升医学文本表征的鲁棒性。
58.下面描述以上构思的具体实现方式。
59.请参考图1,本发明实施例提供了一种医学文本的向量表示生成方法,包括:
60.步骤100:构建医学文本的单一粒度图和与每一个单一粒度图对应的第一邻接矩阵;其中,单一粒度图包括字符粒度图、单词粒度图和术语粒度图,每一个单一粒度图均包括多个节点和多条边,每条边连接于两个节点之间,第一邻接矩阵是基于与该第一邻接矩阵对应的单一粒度图中每一条边的权重确定的;
61.步骤102:基于第一邻接矩阵,利用预设的图神经网络模型对每一个单一粒度图进行多次迭代操作,得到该单一粒度图中各节点的第一向量表示;其中,每一个单一粒度图中各节点的第一向量表示是聚合该单一粒度图中各节点自身的向量表示和各阶邻居节点的向量表示得到的;
62.步骤104:拼接每一个单一粒度图中各节点的第一向量表示,得到各节点自身的第二向量表示;
63.步骤106、基于不同单一粒度图的节点的包含关系,确定多粒度图的第二邻接矩阵;其中,多粒度图是通过对所有单一粒度图进行重构得到的,多粒度图包括每一个单一粒度图中的所有节点,多粒度图包括的边是基于不同单一粒度图的节点的包含关系得到的;
64.步骤108、基于第二邻接矩阵,利用图神经网络模型对多粒度图进行多次迭代操作,得到多粒度图中各节点的目标向量表示;其中,多粒度图中各节点的目标向量表示是聚合多粒度图中各节点自身的第二向量表示和各阶邻居节点的第二向量表示得到的。
65.本发明实施例中,通过构建不同粒度信息的单一粒度图,并利用预设的图神经网络模型对每一个单一粒度图进行多次迭代操作,如此得到了该单一粒度图中各节点的第一向量表示,从而完成了图内消息的传递,使得同一粒度图中节点之间的语义信息更丰富;然后拼接每一个单一粒度图中各节点的第一向量表示,得到各节点自身的第二向量表示,以及基于不同单一粒度图的节点的包含关系,确定多粒度图的第二邻接矩阵,并利用图神经网络模型对多粒度图进行多次迭代操作,如此得到了多粒度图中各节点的目标向量表示,从而完成了图间消息的传递,使得不同粒度图中各节点的第一向量表示的交互融合,进而能够增强文本表征的信息丰富程度,以提升医学文本表征的鲁棒性。
66.下面对图1中的每一个步骤分别进行说明。
67.针对步骤100,在一些实施方式中,步骤100具体可以包括如下步骤:
68.步骤a1、对医学文本分别进行分字处理、分词处理和医学知识库匹配,得到包括字符、单词和术语三种类型的节点。
69.在该步骤中,分字处理是指将医学文本以字符(即单字)为单位进行处理,例如“腰椎退行性病变”的分字处理的结果为“腰”、“椎”、“退”、“行”“性”、“病”和“变”;分词处理可以利用结巴分词工具包对医学文本进行处理,例如“腰椎退行性病变”的分词处理的结果为“腰椎”、“退行性”、“性病”和“病变”;医学知识库匹配可以利用预先设置好医学知识库对医学文本进行匹配,例如“腰椎退行性病变”的医学知识库匹配的结果为“腰椎退行性病变”。
70.步骤a2、针对每一种类型的节点,确定连接于两个节点之间的边。
71.在该步骤中,确定不同节点之间的共线关系的方式包括滑动窗口、点互信息和余弦相似度。在一些实施方式中,确定字符类型的节点之间的共线关系的方式为滑动窗口,确定单词类型的节点之间的共线关系的方式为滑动窗口或点互信息,确定术语类型的节点之间的共线关系的方式为余弦相似度。
72.以点互信息的方式为例,若两个节点之间的点互信息值为0,则可以认为这两个节点之间没有共线关系,即不存在边;若两个节点之间的点互信息值大于0,则可以在这两个节点之间构建一条边,并将该点互信息作为该边的权重。
73.以余弦相似度的方式为例,若两个节点之间的余弦相似度为0,则可以认为这两个节点之间没有共线关系,即不存在边;若两个节点之间的余弦相似度大于0,则可以在这两个节点之间构建一条边,并将该余弦相似度作为该边的权重。
74.步骤a3、基于相同类型的节点和连接于该类型中两个节点之间的边,构建与该类型节点对应的单一粒度图。
75.步骤a4、针对每一种类型的节点,确定该类型中不同节点之间的边的权重。
76.在该步骤中,采用滑动窗口的方式确定边的权重为本领域技术人员所熟知,在此不进行赘述。采用点互信息和余弦相似度的方式请参见步骤a2。
77.步骤a5、基于该类型中不同节点之间的边的权重,构建与该类型节点对应的第一邻接矩阵。
78.在该步骤中,如果当前单一粒度图包括m个节点,m为大于或等于1的正整数,则可
以生成一个m*m的第一邻接矩阵,这个第一邻接矩阵中的每一项的数值对应各节点之间的边的权重。
79.针对步骤102,图神经网络模型可以是基于门控的图神经网络(ggnn)模型,也可以是图卷积模型(gcn)模型,在此不进行具体限定。迭代操作的次数可以根据实际需求设定,每次迭代操作可以聚合一阶邻居节点的向量表示,多次迭代操作可以聚合多阶邻居节点特征。例如,第一次迭代操作可以聚合各节点自身的向量表示和一阶邻居节点的向量表示,第二次迭代操作可以在第一次迭代操作的基础上聚合各节点的二阶邻居节点向量表示,以此类推。由此,通过多次迭代操作,可以获得每一个单一粒度图中的各节点的第一向量表示。
80.在一些实施方式中,步骤102具体可以包括如下步骤:
81.步骤b1、基于每一个单一粒度图中各节点的上一次向量表示、第一邻接矩阵和权重参数矩阵,确定各节点的当前向量表示。
82.在该步骤中,各节点的上一次向量表示是利用预设的图神经网络模型对第一邻接矩阵进行第t

1次迭代操作后得到的,各节点的当前向量表示是利用图神经网络模型对第一邻接矩阵进行第t次迭代操作后得到的,t为大于1的正整数,各节点的上一次向量表示包括各节点自身的向量表示及其t

1阶邻居节点的向量表示,各节点的当前向量表示包括各节点的自身的向量表示及其t阶邻居节点的向量表示。
83.在一些实施方式中,可以根据如下公式确定各节点的当前向量表示:
84.a
(t)
=ah
(t

1)
w
t
85.式中,a
(t)
表示当前向量表示,a表示第一邻接矩阵,h
(t

1)
表示上一次向量表示,w
t
表示权重参数矩阵。
86.步骤b2、根据各节点的当前向量表示,确定各节点的第一向量表示。
87.在一些实施方式中,步骤b2具体可以包括如下步骤:
88.步骤b21、基于各节点的上一次向量表示、各节点的当前向量表示、更新门权重参数矩阵、更新门偏差参数矩阵和更新门激活函数,确定各节点的待更新特征矩阵。
89.在该步骤中,为了刻画不同阶不同的邻居节点的向量表示对中心节点的向量表示起到的不同重要性影响,可以在图神经网络模型的基础上,加入门控机制,即更新门和遗忘门。
90.在一些实施方式中,可以根据如下公式确定各节点的待更新特征矩阵:
91.z
(t)
=σ1(w
z
a
t
+u
z
h
(t

1)
+b
z
)
92.式中,z
(t)
表示待更新特征矩阵,σ1表示更新门激活函数,w
z
和u
z
表示更新门权重参数矩阵,b
z
表示更新门偏差参数矩阵。其中,更新门权重参数矩阵和更新门偏差参数矩阵可以控制是否采纳邻居节点的向量表示和采纳程度。
93.步骤b22、基于各节点的上一次向量表示、各节点的当前向量表示、遗忘门权重参数矩阵、遗忘门偏差参数矩阵和遗忘门激活函数,确定各节点的待遗忘特征矩阵。
94.在该步骤中,可以根据如下公式确定各节点的待遗忘特征矩阵:
95.r
(t)
=σ2(w
r
a
t
+u
r
h
(t

1)
+b
r
)
96.式中,r
(t)
表示待遗忘特征矩阵,σ2表示遗忘门激活函数,w
r
和u
r
表示遗忘门权重参数矩阵,b
r
表示遗忘门偏差参数矩阵。其中,遗忘门权重参数矩阵和遗忘门偏差参数矩阵可以控制是否采纳邻居节点的向量表示。
97.步骤b23、基于各节点的上一次向量表示、各节点的当前向量表示、各节点的待遗忘特征矩阵、遗忘权重参数矩阵和遗忘偏差参数矩阵,确定各节点的遗忘特征矩阵。
98.在该步骤中,可以根据如下公式确定各节点的遗忘特征矩阵:
[0099][0100]
式中,表示遗忘特征矩阵,w
a
和u
a
表示遗忘权重参数矩阵,bh表示遗忘偏差参数矩阵,

表示hadamard乘积。
[0101]
步骤b24、基于各节点的遗忘特征矩阵、各节点的待更新特征矩阵和各节点的上一次向量表示,确定各节点的第一向量表示。
[0102]
在该步骤中,可以根据如下公式确定各节点的第一向量表示:
[0103][0104]
式中,h
t
表示第一向量表示。
[0105]
在该实施例中,根据计算第一向量表示的公式来对遗忘门之后的遗忘特征矩阵进行信息聚合,对遗忘特征矩阵和待更新特征矩阵z
(t)
计算相似度,然后将上一次语义表征h
(t

1)
与(1

z
(t)
)计算相似度,如此可使得图神经网络模型在保留上一次向量表示的基础上,对当前向量表示的更新以及更新程度有一个可控制的选择,同时还能防止图神经网络模型震荡。
[0106]
经过步骤102之后,完成了单一粒度图的图内信息聚合。然而,通常不同粒度的字符、单词和术语均包含不同级别的语义。对于中文医学知识库匹配任务为例,基于字符的模型是最细粒度的模型,与基于词的模型相比,前者表现出更为优越的性能。但是,这并不意味着粗粒度的词信息对实体的识别没有积极影响。因此,在完成图内信息聚合之后,有必要进行单一粒度图之间的信息聚合(即图间信息聚合,其中图间信息聚合的过程包括步骤104至108)。如此,可以使得不同粒度的信息进行相互促进和补充,从而能够增强文本表征的信息丰富程度,以提升医学文本表征的鲁棒性。
[0107]
针对步骤104,拼接每一个单一粒度图中各节点的第一向量表示,可以认为是每一个单一粒度图中各节点的第一向量表示的叠加或叠加之后取平均,在此不进行具体限定。
[0108]
针对步骤106,具体可以包括如下步骤:
[0109]
步骤c1、基于不同单一粒度图的节点的包含关系,确定连接于不同单一粒度图的节点之间的边的第一权重。
[0110]
在该步骤中,例如一条医学文本为“患者出现咽痛,鼻塞流涕,无发热”,字符粒度图中的节点为“患”、“者”、“出”、“现”、“咽”、“痛”、“鼻”、“塞”、“流”、“涕”、“无”、“发”和“热”,单词粒度图中的节点为“患者”、“出现”、“咽痛”、“鼻塞”、“流涕”、“无发热”,例如“患”和“患者”的包含关系为1,“者”和“患者”的包含关系为1,“出”和“患者”的包含关系为0,等等。其中,1和0即为连接两个节点之间的边的第一权重。术语粒度图的节点与其它粒度图的节点之间的边的第一权重和上述方式相似,在此不进行赘述。
[0111]
步骤c2、基于多粒度图中各条边的第一权重和各节点的余弦相似度,得到多粒度图中各条边的第二权重,以确定出第二邻接矩阵;其中,第二邻接矩阵中的项为第二权重。
[0112]
在该步骤中,假设多粒度图中第i行第j列的第一权重a
ij
为1,则第i行和第j列所在
的节点之间的余弦相似度通过如下公式确定:
[0113]
g
ij
=simi[(v
i
‑1+v
i
+v
i+1
)t3,v
j
]
[0114]
式中,g
ij
为第i行和第j列所在的节点之间的余弦相似度,simi为余弦相似度函数,v
i
为第i行所在的节点的第一权重的一维向量,v
j
为第j列所在的节点的第一权重的一维向量。
[0115]
在一些实施方式中,第二权重是通过各条边的第一权重和各节点的余弦相似度进行hadamard乘积得到的。
[0116]
在该实施例中,通过对多粒度图中各条边的第一权重进行更新(即与各节点的余弦相似度进行hadamard乘积),使得得到的多粒度图中各条边的第二权重更能反应真实的权重分布,从而有利于得到更加准确的向量表示。
[0117]
举例来说,“腰椎退行性病变”是一个疾病名称,“性”字处于与“退行性”和“性病”两个词之中,且在这两个词中展现出了不同的含义。显然在当前语境下,此处“性”字的语义主要是由“退行性”而不是“性病”决定的。通过进行图间信息融合,可以实现信息的传递,从而可以控制字符“性”从“退行性”而不是“性病”接收更多信息,即“性”与“行”的边的权重大于“性”与“病”的边的权重。
[0118]
针对步骤108,具体可以包括如下步骤:
[0119]
步骤d1、基于多粒度图中各节点的上一次第二向量表示、第二邻接矩阵和权重参数矩阵,确定各节点的当前第二向量表示。
[0120]
在该步骤中,各节点的上一次第二向量表示是利用图神经网络模型对第二邻接矩阵进行第t

1次迭代操作后得到的,各节点的当前第二向量表示是利用图神经网络模型对第二邻接矩阵进行第t次迭代操作后得到的,t为大于1的正整数,各节点的上一次第二向量表示包括各节点自身的第二向量表示及其t

1阶邻居节点的第二向量表示,各节点的当前第二向量表示包括各节点的自身的第二向量表示及其t阶邻居节点的第二向量表示。
[0121]
步骤d2、根据各节点的当前第二向量表示,确定各节点的目标向量表示。
[0122]
在一些实施方式中,步骤d2具体可以包括如下步骤:
[0123]
基于各节点的上一次第二向量表示、各节点的当前第二向量表示、更新门权重参数矩阵、更新门偏差参数矩阵和更新门激活函数,确定各节点的待更新特征矩阵;
[0124]
基于各节点的上一次第二向量表示、各节点的当前第二向量表示、遗忘门权重参数矩阵、遗忘门偏差参数矩阵和遗忘门激活函数,确定各节点的待遗忘特征矩阵;
[0125]
基于各节点的上一次第二向量表示、各节点的当前第二向量表示、各节点的待遗忘特征矩阵、遗忘权重参数矩阵和遗忘偏差参数矩阵,确定各节点的遗忘特征矩阵;
[0126]
基于各节点的遗忘特征矩阵、各节点的待更新特征矩阵和各节点的上一次第二向量表示,确定各节点的目标向量表示。
[0127]
可以理解的是,步骤108所采取的操作和步骤102相似,相关内容请参见上文对步骤102的描述,在此不进行赘述。
[0128]
为了进一步说明本发明的发明构思,下面例举了两个典型的医学任务的应用场景。
[0129]
(1)医学文本序列标记任务
[0130]
该任务旨在识别中文电子病历emr中的诊断、药物、症状等,这是将文本电子病历
转换为结构化知识的关键步骤。我们在由合作医院提供的中文电子病历的ner数据集上进行了实验,该数据集的标签由临床医生手工标注,共包含2506个病历文本和11个医学术语类别。每段文本的长度不超过100字,这些文本片段以8:2的比例分为训练集和测试集。
[0131]
我们的模型在准确率、精准率、召回率和f1值四个指标上都取得了较高的成绩。以局部pmi连接的多粒度模型的准确率达到了86.68%,而以全局pmi连接的多粒度模型的准确率达到了87.07%。
[0132]
为了验证知识在单粒度下的有效性,我们进行了消融实验,分别做了字、词和术语的单粒度的实验,以及两种粒度两两结合实验。结果表明,词级别的模型在单一粒度模型的学习中表现最好,准确率达到85.94%。此外,在整合了两种粒度知识的结果中,单词结合术语的粒度最佳,准确率达到86.45%。
[0133]
(2)辅助诊断任务。
[0134]
辅助诊断任务,也称为疾病预测任务。诊断是医疗的核心部分,是医生在听取患者描述病情、分析症状后给出的诊断。这个过程耗时且依赖于医生对医学知识的理解,而辅助诊断就是帮助医生做出更好的决策。为此,我们收集了电子病历中的主诉和现病史,并将它们放在一起生成样本。该样本的标签是电子病历中的诊断,并且只有一个诊断被分配给一个样本,共获得12439个样本,153个一般疾病诊断。
[0135]
在bilstm+crf的经典基线模型中,最好的micro

f1是75.49%。进一步地,在一些试图将更多的单词信息集成到字符表示中的方法里,lattice lstm和soft lexicon给出了相似的最佳性能,分别为79.27%和79.22%。我们的方法的f1值达到了80.26%。并且,融入单词的方法和我们方法极大地提高了召回率,因为它们引入了额外的单词和术语信息。
[0136]
为了验证每个粒度对最终性能都有积极影响,我们进行了消融实验,该实验应用于仅字符粒度模型和字符词粒度模型。字符级别的图模型的micro

f1值为76.66%。与bi

lstm相比,字符粒度图在字符嵌入层和bi

lstm层之间添加了图间聚合,有效地促进了字符表示。字符粒度图和单词粒度图使用相同的图间聚合方法来更新最终的字符表示,并将f1值提高1.07%。术语信息也被证明是有效的,因为三种粒度图的f1

score从77.73%提高到80.26%。因此,每个粒度的知识都有其语义信息,将它们结合起来可以更好地表示知识。
[0137]
如图2和图3所示,本发明实施例提供了一种医学文本的向量表示生成装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图2所示,为本发明实施例提供的一种医学文本的向量表示生成装置所在计算设备的一种硬件架构图,除了图2所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的计算设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图3所示,作为一个逻辑意义上的装置,是通过其所在计算设备的cpu将非易失性存储器中对应的计算机程序读取到内存中运行形成的。
[0138]
如图3所示,本实施例提供的一种医学文本的向量表示生成装置,包括:
[0139]
构建模块300,用于构建医学文本的单一粒度图和与每一个单一粒度图对应的第一邻接矩阵;其中,所述单一粒度图包括字符粒度图、单词粒度图和术语粒度图,每一个单一粒度图均包括多个节点和多条边,每条边连接于两个所述节点之间,所述第一邻接矩阵是基于与该第一邻接矩阵对应的单一粒度图中每一条边的权重确定的;
[0140]
第一迭代模块302,用于基于所述第一邻接矩阵,利用预设的图神经网络模型对每
一个单一粒度图进行多次迭代操作,得到该单一粒度图中各节点的第一向量表示;其中,每一个单一粒度图中各节点的第一向量表示是聚合该单一粒度图中各节点自身的向量表示和各阶邻居节点的向量表示得到的;
[0141]
拼接模块304,用于拼接每一个单一粒度图中各节点的第一向量表示,得到各节点自身的第二向量表示;
[0142]
确定模块306,用于基于不同单一粒度图的节点的包含关系,确定多粒度图的第二邻接矩阵;其中,所述多粒度图是通过对所有单一粒度图进行重构得到的,所述多粒度图包括每一个单一粒度图中的所有节点,所述多粒度图包括的边是基于不同单一粒度图的节点的包含关系得到的;
[0143]
第二迭代模块308,用于基于所述第二邻接矩阵,利用所述图神经网络模型对多粒度图进行多次迭代操作,得到多粒度图中各节点的目标向量表示;其中,多粒度图中各节点的目标向量表示是聚合多粒度图中各节点自身的第二向量表示和各阶邻居节点的第二向量表示得到的。
[0144]
在本发明实施例中,构建模块300可用于执行上述方法实施例中的步骤100,第一迭代模块302可用于执行上述方法实施例中的步骤102,拼接模块304可用于执行上述方法实施例中的步骤104,确定模块306可用于执行上述方法实施例中的步骤106,第二迭代模块308可用于执行上述方法实施例中的步骤108。
[0145]
在本发明的一个实施例中,所述构建模块300,用于执行如下操作:
[0146]
对所述医学文本分别进行分字处理、分词处理和医学知识库匹配,得到包括字符、单词和术语三种类型的节点;
[0147]
针对每一种类型的节点,确定连接于两个节点之间的边;
[0148]
基于相同类型的节点和连接于该类型中两个节点之间的边,构建与该类型节点对应的单一粒度图;
[0149]
针对每一种类型的节点,确定该类型中连接两个节点之间的边的权重;
[0150]
基于该类型中连接两个节点之间的边的权重,构建与该类型节点对应的第一邻接矩阵。
[0151]
在本发明的一个实施例中,所述第一迭代模块302,用于执行如下操作:
[0152]
基于每一个单一粒度图中各节点的上一次向量表示、所述第一邻接矩阵和权重参数矩阵,确定各节点的当前向量表示;其中,各节点的上一次向量表示是利用预设的图神经网络模型对所述第一邻接矩阵进行第t

1次迭代操作后得到的,各节点的当前向量表示是利用所述图神经网络模型对所述第一邻接矩阵进行第t次迭代操作后得到的,t为大于1的正整数,各节点的上一次向量表示包括各节点自身的向量表示及其t

1阶邻居节点的向量表示,各节点的当前向量表示包括各节点的自身的向量表示及其t阶邻居节点的向量表示;
[0153]
根据各节点的当前向量表示,确定各节点的第一向量表示。
[0154]
在本发明的一个实施例中,所述第一迭代模块302在执行根据各节点的当前向量表示,确定各节点的第一向量表示时,用于执行如下操作:
[0155]
基于各节点的上一次向量表示、各节点的当前向量表示、更新门权重参数矩阵、更新门偏差参数矩阵和更新门激活函数,确定各节点的待更新特征矩阵;
[0156]
基于各节点的上一次向量表示、各节点的当前向量表示、遗忘门权重参数矩阵、遗
忘门偏差参数矩阵和遗忘门激活函数,确定各节点的待遗忘特征矩阵;
[0157]
基于各节点的上一次向量表示、各节点的当前向量表示、各节点的待遗忘特征矩阵、遗忘权重参数矩阵和遗忘偏差参数矩阵,确定各节点的遗忘特征矩阵;
[0158]
基于各节点的遗忘特征矩阵、各节点的待更新特征矩阵和各节点的上一次向量表示,确定各节点的第一向量表示。
[0159]
在本发明的一个实施例中,所述第二迭代模块308,用于执行如下操作:
[0160]
基于多粒度图中各节点的上一次第二向量表示、所述第二邻接矩阵和权重参数矩阵,确定各节点的当前第二向量表示;其中,各节点的上一次第二向量表示是利用所述图神经网络模型对所述第二邻接矩阵进行第t

1次迭代操作后得到的,各节点的当前第二向量表示是利用所述图神经网络模型对所述第二邻接矩阵进行第t次迭代操作后得到的,t为大于1的正整数,各节点的上一次第二向量表示包括各节点自身的第二向量表示及其t

1阶邻居节点的第二向量表示,各节点的当前第二向量表示包括各节点的自身的第二向量表示及其t阶邻居节点的第二向量表示;
[0161]
根据各节点的当前第二向量表示,确定各节点的目标向量表示。
[0162]
在本发明的一个实施例中,所述第二迭代模块308在执行根据各节点的当前第二向量表示,确定各节点的目标向量表示时,用于执行如下操作:
[0163]
基于各节点的上一次第二向量表示、各节点的当前第二向量表示、更新门权重参数矩阵、更新门偏差参数矩阵和更新门激活函数,确定各节点的待更新特征矩阵;
[0164]
基于各节点的上一次第二向量表示、各节点的当前第二向量表示、遗忘门权重参数矩阵、遗忘门偏差参数矩阵和遗忘门激活函数,确定各节点的待遗忘特征矩阵;
[0165]
基于各节点的上一次第二向量表示、各节点的当前第二向量表示、各节点的待遗忘特征矩阵、遗忘权重参数矩阵和遗忘偏差参数矩阵,确定各节点的遗忘特征矩阵;
[0166]
基于各节点的遗忘特征矩阵、各节点的待更新特征矩阵和各节点的上一次第二向量表示,确定各节点的目标向量表示。
[0167]
在本发明的一个实施例中,所述确定模块306,用于执行如下操作:
[0168]
基于不同单一粒度图的节点的包含关系,确定连接于不同单一粒度图的节点之间的边的第一权重;
[0169]
基于多粒度图中各条边的第一权重和各节点的余弦相似度,得到多粒度图中各条边的第二权重,以确定出第二邻接矩阵;其中,所述第二邻接矩阵中的项为所述第二权重。
[0170]
可以理解的是,本发明实施例示意的结构并不构成对一种医学文本的向量表示生成装置的具体限定。在本发明的另一些实施例中,一种医学文本的向量表示生成装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
[0171]
上述装置内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
[0172]
本发明实施例还提供了一种计算设备,包括存储器和处理器,存储器中存储有计算机程序,处理器执行计算机程序时,实现本发明任一实施例中的一种医学文本的向量表示生成方法。
[0173]
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有
计算机程序,计算机程序在被处理器执行时,使处理器执行本发明任一实施例中的一种医学文本的向量表示生成方法。
[0174]
具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或cpu或mpu)读出并执行存储在存储介质中的程序代码。
[0175]
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
[0176]
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如cd

rom、cd

r、cd

rw、dvd

rom、dvd

ram、dvd

rw、dvd+rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上下载程序代码。
[0177]
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
[0178]
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展模块中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展模块上的cpu等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
[0179]
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
…”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
[0180]
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质中。
[0181]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1