一种加快医学关系抽取的方法和装置与流程

未命名 07-13 阅读:123 评论:0


1.本发明属于医学语言处理技术领域,具体涉及一种加快医学关系抽取的方法和装置。


背景技术:

2.现今国内绝大部分医院的病历以自然语言记录,这些非结构化的病历无法直接被机器使用,需要通过自然语言处理技术转换为结构化信息,以便机器处理。随着医疗信息化的发展,精准快速的从海量电子医疗病历中抽取关键信息,构造符合医学规范的结构化模型,成为数据二次使用的关键步骤。病历结构化主要基于信息抽取技术,涉及实体抽取、关系抽取、实体标准化等。其中关系抽取是病历结构化的关键步骤,目前普遍的关系抽取方法分为pipeline和joint两种方法,joint是联合抽取,实体和关系联合解码,一个步骤就能将关系抽取出来;pipeline分为两个步骤,先进行实体识别,在识别出的实体基础上进行关系抽取;
3.但是,现有的pipeline关系抽取上面还存在以下待优化问题:
4.在关系抽取时,有两个因素会影响抽取的速度:预测出的实体个数和待预测文本长度;
5.1、现有的pipeline关系抽取中,预测出的实体个数越多,关系预测时所用的时间就越长。因为在关系预测时,需要两两构建实体对,模型判断构建的实体对是否存在关系。预测出的实体无法进行优化,但是构建的实体对时是可以进行优化的,而目前没有针对构建实体对时进行优化,从而导致现有的pipeline关系抽取流程中实体预测数目较多,两两组合的实体对就越多,进而延长了预测时间,降低预测效率和关系抽取效率;
6.2、在现有的pipeline关系抽取中,未通过排序以及合并规则机制对待预测文本进行长度和数量处理,从而导致待预测文本长度过长,预测批次过多,经过bert模型时,多头自注意力机制层花费的时间越长,从而延长预测时间,降低预测效率和关系抽取效率。


技术实现要素:

7.针对上述现有技术的不足,本技术提供一种加快医学关系抽取的方法和装置。
8.第一方面本技术提出了一种加快医学关系抽取的方法,包括以下步骤:
9.从医院的数据库中获取原始诊断病例数据,通过正则表达式从所述原始诊断病例数据中提取原始文本语料;
10.对所述原始本文语料按照文本长度进行排序和计数,构建文本长度数量关系表,根据文本长度数量关系表对所述原始本文语料的文本进行合并补齐处理,将处理结果整合为待预测文本;
11.将所述待预测文本输入预设的实体抽取模型中进行实体抽取,得到实体预测结果;
12.通过实体对分析机制对实体预测结果进行实体对轻量化处理,得到实体预测优化
结果;
13.将所述实体预测优化结果输入预设的关系抽取模型中进行关系抽取,得到最终的医学关系抽取结果。
14.在一些实施例中,所述对所述原始本文语料按照文本长度进行排序和计数,构建文本长度数量关系表,根据文本长度数量关系表对所述原始本文语料的文本进行合并补齐处理,将处理结果整合为待预测文本,包括:
15.对所述原始本文语料按照文本长度进行排序,并按照文本长度进行计数,构建文本长度数量关系表;
16.根据所述文本长度数量关系表中的最长文本长度与最短文本长度设置合并阈值,基于所述合并阈值以及预设的文本预测批次最大数量对所述原始本文语料进行批次合并处理;
17.对批次合并处理后的所有文本进行补齐处理,将补齐处理结果后的文本整合为待预测文本。
18.在一些实施例中,所述将所述待预测文本输入预设的实体抽取模型中进行实体抽取,得到实体预测结果,实体抽取模型的处理过程包括以下步骤:
19.根据bert词表将所述待预测文本转换成第一数字表示;
20.构建待预测特征:使用排列组合方式,构建待预测范围的起始下标、结束下标和跨度;
21.将所述第一数字表示和所述待预测特征转换为第一数据张量;
22.将所述第一数据张量输入bert模型中,得到每个待预测范围的实体预测结果。
23.在一些实施例中,所述通过实体对分析机制对实体预测结果进行实体对轻量化处理,得到实体预测优化结果,包括:
24.设定实体对分析机制,所述实体对分析机制包括:判断两个实体的实体类型,如果实体类型相同,则不进行特征构建,如果实体类型不同,继而判断两个实体是否能构成实体对;
25.根据所述实体对分析机制去掉实体预测结果中相同类型的实体对和无法构成关系的实体对,得到实体预测优化结果。
26.在一些实施例中,所述将所述实体预测优化结果输入预设的关系抽取模型中进行关系抽取,得到最终的医学关系抽取结果,关系抽取模型的处理过程包括以下步骤:
27.根据所述实体预测优化结果构建实体对,构建过程中包含每一个实体的开始位置下标、结束位置下标和实体类型,形成待预测样例;
28.根据bert词表将所述待预测样例转换为第二数字表示;
29.将所述第二数字表示转换为第二数据张量;
30.将所述第二数据张量输入bert模型,得到关系抽取结果。
31.第二方面本技术提出了一种加快医学关系抽取的装置,包括原始文本获取模块、文本数据处理模块、实体抽取模块、实体优化模块和关系抽取模块;
32.所述原始文本获取模块,用于从医院的数据库中获取原始诊断病例数据,通过正则表达式从所述原始诊断病例数据中提取原始文本语料;
33.所述文本数据处理模块,用于对所述原始本文语料按照文本长度进行排序和计
数,构建文本长度数量关系表,根据文本长度数量关系表对所述原始本文语料的文本进行合并补齐处理,将处理结果整合为待预测文本;
34.所述实体抽取模块,用于将所述待预测文本输入预设的实体抽取模型中进行实体抽取,得到实体预测结果;
35.所述实体优化模块,用于通过实体对分析机制对实体预测结果进行实体对轻量化处理,得到实体预测优化结果;
36.所述关系抽取模块,用于将所述实体预测优化结果输入预设的关系抽取模型中进行关系抽取,得到最终的医学关系抽取结果。
37.在一些实施例中,所述文本数据处理模块包括关系表构建单元、批次合并处理单元和待预测文本整合单元;
38.所述关系表构建单元,用于对所述原始本文语料按照文本长度进行排序,并按照文本长度进行计数,构建文本长度数量关系表;
39.所述批次合并处理单元,用于根据所述文本长度数量关系表中的最长文本长度与最短文本长度设置合并阈值,基于所述合并阈值以及预设的文本预测批次最大数量对所述原始本文语料进行批次合并处理;
40.所述待预测文本整合单元,用于对批次合并处理后的所有文本进行补齐处理,将补齐处理结果后的文本整合为待预测文本。
41.在一些实施例中,所述实体抽取模块包括第一数字表示转换单元、待预测特征构建单元、第一数据张量转换单元和实体预测单元;
42.所述第一数字表示转换单元,用于根据bert词表将所述待预测文本转换成第一数字表示;
43.所述待预测特征构建单元,用于构建待预测特征:使用排列组合方式,构建待预测范围的起始下标、结束下标和跨度;
44.所述第一数据张量转换单元,用于将所述第一数字表示和所述待预测特征转换为第一数据张量;
45.所述实体预测单元,用于将所述第一数据张量输入bert模型中,得到每个待预测范围的实体预测结果。
46.在一些实施例中,所述实体优化模块包括实体对分析机制设定单元和实体预测优化单元;
47.所述实体对分析机制设定单元,用于设定实体对分析机制,所述实体对分析机制包括:判断两个实体的实体类型,如果实体类型相同,则不进行特征构建,如果实体类型不同,继而判断两个实体是否能构成实体对;
48.所述实体预测优化单元,用于根据所述实体对分析机制去掉实体预测结果中相同类型的实体对和无法构成关系的实体对,得到实体预测优化结果。
49.在一些实施例中,所述关系抽取模块包括待预测样例构建单元、第二数字表示转换单元、第二数据张量转化单元和关系抽取单元;
50.所述待预测样例构建单元,用于根据所述实体预测优化结果构建实体对,构建过程中包含每一个实体的开始位置下标、结束位置下标和实体类型,形成待预测样例;
51.所述第二数字表示转换单元,用于根据bert词表将所述待预测样例转换为第二数
字表示;
52.所述第二数据张量转化单元,用于将所述第二数字表示转换为第二数据张量;
53.所述关系抽取单元,用于将所述第二数据张量输入bert模型,得到关系抽取结果。
54.第三方面,本技术提出了一种计算机装置,计算机装置包括:
55.处理器,处理器用于执行存储器中存储的计算机程序时实现上述任一方法的步骤。
56.第四方面,本技术提出了一种计算机可读存储介质,其上存储有计算机指令,计算机指令被处理器执行时实现上述任一方法的步骤。
57.本发明的有益效果:
58.在实体预测抽取前,通过排序以及合并规则机制对待预测文本进行长度和数量处理,调整待预测文本的长度并精简预测批次,经过bert模型时,减少多头自注意力机制层花费的时间,提升预测效率和关系抽取效率;
59.在医学关系抽取前,对构建实体对时的实体进行判断,对于相同的实体类型不进行特征构建,对于不同的实体类型进行分析,从而去掉相同类型的实体对和不应该是头实体的实体对,对构建的实体对进行轻量化处理,提升预测效率和关系抽取效率。
附图说明
60.图1为本发明的总体流程图。
61.图2为本发明的装置原理框图。
具体实施方式
62.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制;相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
63.第一方面本技术提出了一种加快医学关系抽取的方法,如图1所示,包括以下步骤:
[0064] s100:从医院的数据库中获取原始诊断病例数据,通过正则表达式从所述原始诊断病例数据中提取原始文本语料;
[0065]
其中,将医院数据库中的病例首页文本经过数据清洗,获得诊断、检查、检验等不同类型的文本,将同一类型文本汇总后形成原始文本语料。
[0066]
s200:对所述原始本文语料按照文本长度进行排序和计数,构建文本长度数量关系表,根据文本长度数量关系表对所述原始本文语料的文本进行合并补齐处理,将处理结果整合为待预测文本;
[0067]
在一些实施例中,所述对所述原始本文语料按照文本长度进行排序和计数,构建文本长度数量关系表,根据文本长度数量关系表对所述原始本文语料的文本进行合并补齐处理,将处理结果整合为待预测文本,包括:
[0068]
对所述原始本文语料按照文本长度进行排序,并按照文本长度进行计数,构建文本长度数量关系表;
[0069]
一般情况下,对于原始本文语料不会进行单条预测,都是批量进行的。例如:有1000条待预测文本,每批预测100条,需要预测10次,即找出这100条文本中最长的一条,其他文本长度统一按照这个长度进行补齐;
[0070]
例如:假设该批次文本中,最长的文本长度是300,但是其他文本长度都是在50以内,需要全部补齐到300的长度。
[0071]
因此在预测之前,先对1000条文本按照长度进行排序,并按照长度进行计数,排序的执行代码为:
[0072]
text_data=sorted(obj.get("ann_info"),
[0073]
key=lambda x: len(x.get("text")))
[0074]
排序的目的就是为了让长度相差不是太大的文本能集中在一块,这样在补齐过程中,短的文本不至于补的太多,降低预测时间消耗,排序结果如下表1所示:
[0075]
表1
[0076]
一般情况下1000条数据长度分布会相对稀疏,列举此例可说明问题。
[0077]
根据所述文本长度数量关系表中的最长文本长度与最短文本长度设置合并阈值,基于所述合并阈值以及预设的文本预测批次最大数量对所述原始本文语料进行批次合并处理;
[0078] 其中,根据设置的批次最大数量和最长文本长度与最短文本长度差的合并阈值进行判断每次送入模型最终的批次数量,合并阈值的设置一般不要太大,大概30左右,批次数量一般设置32左右。合并阈值为主要因子,批次数量为次要因子,例如:如果小于合并阈值30的文本数量有100条,则每批送入模型的数量为32,需要100/32=4次;如果小于合并阈值20 的文本数量有30条,直接一次性送入模型。
[0079] 从上表可知,长度为12的文本有234条,每批次预测量为100,因此可以设定该批次下最长文本长度为12+6(6是为[cls]、[sep]、[unused3]、[unused4]、[unused23]、[unused24],获取批次内最长文本长度:max_seq_length = max([len(i) for data in batch_data for i in data.get("sentences")])+6),3个批次可以预测完长度为12的文本;
[0080]
同理,长度为19和22的文本如上所述。
[0081]
当某一长度的文本数量远远小于批次数量(可设置一定的比率),可与该长度以上的进行合并预测,合并规则如下所述:
[0082]
最长文本长度-最短文本长度《=阈值,如上表所示:阈值设定为30,那么长度为43、56、60可以合并一起预测,长度为103单独预测。
[0083]
进一步的,合并规则的执行代码如下所示:
[0084]
from collections import defaultdict
[0085]
batch_size = 32
[0086]
diff_length = 30
[0087]
# 长度区间统计
[0088]
len_count = defaultdict(list)
[0089]
# 获取文本
[0090]
texts = [i.get("text") for i in obj.get("ann_info")]
[0091]
# 获取最长文本长度
[0092]
max_len = max(sorted([len(i) for i in texts]))
[0093]
# 根据最长文本长度和长度差阈值,获取到不同的长度区间
[0094]
intervals = [[diff_length * i, diff_length * (i + 1)] for i in range(int(max_len / diff_length) + 1)]
[0095]
# 遍历所有文本,存放文本到对应的长度区间内
[0096]
for text in texts:
[0097]
for interval in intervals:
[0098]
if interval[0] 《 len(text) 《 interval[1]:
[0099]
len_count[str(interval[0]) + "~" + str(interval[1])].append(text)
[0100]
# 批量文本预测
[0101]
for interval in len_count:
[0102]
if len(len_count[interval]) 》 batch_size:
[0103]
for i in range(0, len(len_count[interval]), batch_size):
[0104]
result = predict(len_count[interval][i:i + batch_size]) else:
[0105]
result = predict(len_count[interval]);
[0106]
对批次合并处理后的所有文本进行补齐处理,将补齐处理结果后的文本整合为待预测文本。
[0107]
送入模型的文本长度先进行补齐操作。将最短文本进行补0操作,补齐到最长文本长度+6(最长文本也需要补6个位),补齐操作以后,送入模型进行预测,其中,以“发热咳嗽3天,咽痛一周”为例,如果和该条文本同批次的最长文本长度是300,那么就要对“发热咳嗽3天,咽痛一周”补齐为长度300,补齐的部分用0表示,这样在模型预测过程中,每一个token都要转成512维的向量表示,也就是“发热咳嗽3天,咽痛一周”从[11, 512]通过补齐操作转换为[300,512]。
[0108]
s300:将所述待预测文本输入预设的实体抽取模型中进行实体抽取,得到实体预测结果;
[0109]
在一些实施例中,所述将所述待预测文本输入预设的实体抽取模型中进行实体抽取,得到实体预测结果,实体抽取模型的处理过程包括以下步骤:
[0110]
根据bert词表将所述待预测文本转换成第一数字表示;
[0111]
构建待预测特征:使用排列组合方式,构建待预测范围的起始下标、结束下标和跨度;
[0112]
将所述第一数字表示和所述待预测特征转换为第一数据张量;
[0113]
将所述第一数据张量输入bert模型中,得到每个待预测范围的实体预测结果。
[0114]
其中,实体抽取模型:使用的是目前主流的算法模型bert,由12个transformers(自注意力机制神经网络)的encoder层构成,每一个encoder包含multi-head attention、layer norm、feed forward、addition。(每一个encoder包含多头自注意力、层归一化、前馈全连接和残差连接))处理流程如下:
[0115]
步骤1:根据bert词表,每一个字对应一个id,将待预测文本转化成数字表示;
[0116]
步骤2:待预测特征构建;使用排列组合方式(发、发热、发热咳
……
热、热咳
……
),构建待预测范围的起始下标,结束下标以及跨度,如:发热
‑‑
》(0,1,2)(0表示起始下标是0,1表示结束下标是1,2表示发热的长度是2);
[0117]
步骤3:将步骤1和2的结果转换成tensor(数据张量);
[0118]
步骤4:将步骤3的结果送入bert模型中,得到每个待预测范围的实体预测结果。
[0119]
s400:通过实体对分析机制对实体预测结果进行实体对轻量化处理,得到实体预测优化结果;
[0120]
在一些实施例中,所述通过实体对分析机制对实体预测结果进行实体对轻量化处理,得到实体预测优化结果,包括:
[0121]
设定实体对分析机制,所述实体对分析机制包括:判断两个实体的实体类型,如果实体类型相同,则不进行特征构建,如果实体类型不同,继而判断两个实体是否能构成实体对;
[0122]
根据所述实体对分析机制去掉实体预测结果中相同类型的实体对和无法构成关系的实体对,得到实体预测优化结果。
[0123]
其中,实体预测结果中预测出的实体个数越多,关系预测时所用的时间就越长。因为在关系预测时,需要两两构建实体对,模型判断构建的实体对是否存在关系。预测出的实体无法进行优化,但是构建的实体对时是可以进行优化的,以上述流程为例:实体类型有症状、时长两种,关系类型有持续时间一种。预测出的实体是5个,按照两两构建,会产生5*(5-1)=20个实体对,但是发热和咳嗽不可能组成关系,3天和一周不可能组成关系,因为发热和咳嗽是同一类型的实体,实体类型都是症状。而需要的关系类型是持续时间,也就是其中一个实体必须是症状,另外一个实体是时长,这样才能在此基础上判断这两个实体是否可以构成关系。既症状和症状组合不能构成关系,时长和时长不能构成关系,另外,时长不能是第一个实体,即:[3天,发热]这种实体对是不会构成关系的,在构成关系的条件中,a实体必须是症状,b实体必须是时长,这样ab实体才能构成关系,如果调换位置,就不能构成实体。这是模型训练过程中根据人工标注的语料训练得到的。
[0124]
通过去除上述两种组合,具体实现步骤为:
[0125]
1、判断两个实体的实体类型,如果相同,那么就不进行特征构建;
[0126]
2、如果两个实体类型不同,继而判断a实体是否是症状,b实体是否是时长),
[0127]
# 从模型路径中加载可能组成关系的实体对
[0128]
tot_pos_ner_pairs=get_params(os.path.join(obj.get("entity_model_dir"), "positive_ner_pairs.json"))
[0129]
# 将每一对实体对类型由列表转换成数组
[0130]
tot_pos_ner_pairs = [tuple(i) for i in tot_pos_ner_pairs]
[0131]
#特征构建时进行判断,如果两个实体对对应的实体类型在tot_pos_ner_pairs中,就构建该特征if (sample['subj_type'], sample['obj_type']) in tot_pos_ner_pairs:
[0132]
sent_samples.append(sample)
[0133]
执行上述代码,去掉相同类型的实体对和不应该是头实体的实体对,得到最后需要预测的实体对数量为6组([发热,3天],[咳嗽,3天],[发热,一周],[咳嗽,一周],[咽痛,3天],[咽痛,一周]),相比之前的20对待预测实体对,减少了2/3,通过以上两种方法,在实际生产中,能大大加快模型的预测速度,提升模型的预测效率。
[0134]
s500:将所述实体预测优化结果输入预设的关系抽取模型中进行关系抽取,得到最终的医学关系抽取结果。
[0135]
在一些实施例中,所述将所述实体预测优化结果输入预设的关系抽取模型中进行关系抽取,得到最终的医学关系抽取结果,关系抽取模型的处理过程包括以下步骤:
[0136]
根据所述实体预测优化结果构建实体对,构建过程中包含每一个实体的开始位置下标、结束位置下标和实体类型,形成待预测样例;
[0137]
根据bert词表将所述待预测样例转换为第二数字表示;
[0138]
将所述第二数字表示转换为第二数据张量;
[0139]
将所述第二数据张量输入bert模型,得到关系抽取结果。
[0140]
其中,关系抽取模型:同实体抽取模型,只是在特征构建时做了更改,处理流程如下:
[0141]
步骤1:构建实体对(全排列两两组合。如果预测的实体是n个,那么构建的实体对数量即为n*(n-1)个),构建过程中涵盖了每一个实体的开始位置下标,结束位置下标,实体类型。每一个实体对即为一条待预测样例;
[0142]
步骤2:将步骤1转化为数字表示;
[0143]
如下表2所示:表2
[0144]
其中,[cls]和[sep]分别表示句子的开始和句子结束符号,[unused3]表示发热实体的开始,[unused4]表示发热实体的结束,[unused23]表示咳嗽实体的开始,[unused24]表示咳嗽实体的结束。
[0145]
步骤3:将步骤2的结果转换为tensor(数据张量);
[0146]
步骤4:将步骤3结果送入bert模型,得到预测结果。
[0147]
第二方面本技术提出了一种加快医学关系抽取的装置,如图2所示,包括原始文本获取模块、文本数据处理模块、实体抽取模块、实体优化模块和关系抽取模块;
[0148]
所述原始文本获取模块,用于从医院的数据库中获取原始诊断病例数据,通过正则表达式从所述原始诊断病例数据中提取原始文本语料;
[0149]
所述文本数据处理模块,用于对所述原始本文语料按照文本长度进行排序和计数,构建文本长度数量关系表,根据文本长度数量关系表对所述原始本文语料的文本进行合并补齐处理,将处理结果整合为待预测文本;
[0150]
所述实体抽取模块,用于将所述待预测文本输入预设的实体抽取模型中进行实体抽取,得到实体预测结果;
[0151]
所述实体优化模块,用于通过实体对分析机制对实体预测结果进行实体对轻量化处理,得到实体预测优化结果;
[0152]
所述关系抽取模块,用于将所述实体预测优化结果输入预设的关系抽取模型中进行关系抽取,得到最终的医学关系抽取结果。
[0153]
在一些实施例中,所述文本数据处理模块包括关系表构建单元、批次合并处理单元和待预测文本整合单元;
[0154]
所述关系表构建单元,用于对所述原始本文语料按照文本长度进行排序,并按照文本长度进行计数,构建文本长度数量关系表;
[0155]
所述批次合并处理单元,用于根据所述文本长度数量关系表中的最长文本长度与最短文本长度设置合并阈值,基于所述合并阈值以及预设的文本预测批次最大数量对所述原始本文语料进行批次合并处理;
[0156]
所述待预测文本整合单元,用于对批次合并处理后的所有文本进行补齐处理,将补齐处理结果后的文本整合为待预测文本。
[0157]
在一些实施例中,所述实体抽取模块包括第一数字表示转换单元、待预测特征构建单元、第一数据张量转换单元和实体预测单元;
[0158]
所述第一数字表示转换单元,用于根据bert词表将所述待预测文本转换成第一数字表示;
[0159]
所述待预测特征构建单元,用于构建待预测特征:使用排列组合方式,构建待预测范围的起始下标、结束下标和跨度;
[0160]
所述第一数据张量转换单元,用于将所述第一数字表示和所述待预测特征转换为第一数据张量;
[0161]
所述实体预测单元,用于将所述第一数据张量输入bert模型中,得到每个待预测范围的实体预测结果。
[0162]
在一些实施例中,所述实体优化模块包括实体对分析机制设定单元和实体预测优化单元;
[0163]
所述实体对分析机制设定单元,用于设定实体对分析机制,所述实体对分析机制包括:判断两个实体的实体类型,如果实体类型相同,则不进行特征构建,如果实体类型不同,继而判断两个实体是否能构成实体对;
[0164]
所述实体预测优化单元,用于根据所述实体对分析机制去掉实体预测结果中相同类型的实体对和无法构成关系的实体对,得到实体预测优化结果。
[0165]
在一些实施例中,所述关系抽取模块包括待预测样例构建单元、第二数字表示转换单元、第二数据张量转化单元和关系抽取单元;
[0166]
所述待预测样例构建单元,用于根据所述实体预测优化结果构建实体对,构建过程中包含每一个实体的开始位置下标、结束位置下标和实体类型,形成待预测样例;
[0167]
所述第二数字表示转换单元,用于根据bert词表将所述待预测样例转换为第二数字表示;
[0168]
所述第二数据张量转化单元,用于将所述第二数字表示转换为第二数据张量;
[0169]
所述关系抽取单元,用于将所述第二数据张量输入bert模型,得到关系抽取结果。
[0170]
第三方面,本技术提出了一种计算机装置,计算机装置包括:
[0171]
处理器,处理器用于执行存储器中存储的计算机程序时实现上述任一方法的步骤。
[0172]
第四方面,本技术提出了一种计算机可读存储介质,其上存储有计算机指令,计算机指令被处理器执行时实现上述任一方法的步骤,计算机程序可以被分割成一个或多个模块/单元,一个或多个模块/单元被存储在存储器中,并由处理器执行,以完成本发明。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在计算机设备中的执行过程。
[0173]
计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算机设备。计算机设备可以包括但不仅限于处理器和存储器。本领域技术人员可以理解,计算机设备可以包括更多或更少的部件,或者组合某些部件,或者不同的部件,例如,计算机设备还可以包括输入输出设备、网络接入设备、总线等。
[0174]
处理器可以是中央处理单元(central processing unit,cpu),也可以是其它通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0175]
存储器可以是计算机设备的内部存储单元,例如,计算机设备的硬盘或内存。存储器也可以是计算机设备的外部存储设备,例如,计算机设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,存储器还可以既包括计算机设备的内部存储单元也包括外部存储设备。存储器用于存储计算机程序以及计算机设备所需的其它程序和数据。存储器还可以用于暂时地存储已经输出或者将要输出的数据。
[0176]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0177]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记
载的部分,可以参见其它实施例的相关描述。
[0178]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0179]
在本发明所提供的实施例中,应该理解到,所揭露的装置/计算机设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/计算机设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0180]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0181]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0182]
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储在计算机可读存储介质中,该计算机程序在被处理器执行时,可以实现上述各个方法实施例的步骤。计算机程序可以包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如,在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0183]
以上仅是本发明优选的实施方式,需指出的是,对于本领域技术人员在不脱离本技术方案的前提下,作出的若干变形和改进的技术方案应同样视为落入本权利要求书要求保护的范围。

技术特征:
1.一种加快医学关系抽取的方法,其特征在于:包括以下步骤:从医院的数据库中获取原始诊断病例数据,通过正则表达式从所述原始诊断病例数据中提取原始文本语料;对所述原始本文语料按照文本长度进行排序和计数,构建文本长度数量关系表,根据文本长度数量关系表对所述原始本文语料的文本进行合并补齐处理,将处理结果整合为待预测文本;将所述待预测文本输入预设的实体抽取模型中进行实体抽取,得到实体预测结果;通过实体对分析机制对实体预测结果进行实体对轻量化处理,得到实体预测优化结果;将所述实体预测优化结果输入预设的关系抽取模型中进行关系抽取,得到最终的医学关系抽取结果。2.根据权利要求1所述的方法,其特征在于:所述对所述原始本文语料按照文本长度进行排序和计数,构建文本长度数量关系表,根据文本长度数量关系表对所述原始本文语料的文本进行合并补齐处理,将处理结果整合为待预测文本,包括:对所述原始本文语料按照文本长度进行排序,并按照文本长度进行计数,构建文本长度数量关系表;根据所述文本长度数量关系表中的最长文本长度与最短文本长度设置合并阈值,基于所述合并阈值以及预设的文本预测批次最大数量对所述原始本文语料进行批次合并处理;对批次合并处理后的所有文本进行补齐处理,将补齐处理结果后的文本整合为待预测文本。3.根据权利要求2所述的方法,其特征在于:所述将所述待预测文本输入预设的实体抽取模型中进行实体抽取,得到实体预测结果,实体抽取模型的处理过程包括以下步骤:根据bert词表将所述待预测文本转换成第一数字表示;构建待预测特征:使用排列组合方式,构建待预测范围的起始下标、结束下标和跨度;将所述第一数字表示和所述待预测特征转换为第一数据张量;将所述第一数据张量输入bert模型中,得到每个待预测范围的实体预测结果。4.根据权利要求3所述的方法,其特征在于:所述通过实体对分析机制对实体预测结果进行实体对轻量化处理,得到实体预测优化结果,包括:设定实体对分析机制,所述实体对分析机制包括:判断两个实体的实体类型,如果实体类型相同,则不进行特征构建,如果实体类型不同,继而判断两个实体是否能构成实体对;根据所述实体对分析机制去掉实体预测结果中相同类型的实体对和无法构成关系的实体对,得到实体预测优化结果。5.根据权利要求4所述的方法,其特征在于:所述将所述实体预测优化结果输入预设的关系抽取模型中进行关系抽取,得到最终的医学关系抽取结果,关系抽取模型的处理过程包括以下步骤:根据所述实体预测优化结果构建实体对,构建过程中包含每一个实体的开始位置下标、结束位置下标和实体类型,形成待预测样例;根据bert词表将所述待预测样例转换为第二数字表示;将所述第二数字表示转换为第二数据张量;
将所述第二数据张量输入bert模型,得到关系抽取结果。6.一种加快医学关系抽取的装置,其特征在于:包括原始文本获取模块、文本数据处理模块、实体抽取模块、实体优化模块和关系抽取模块;所述原始文本获取模块,用于从医院的数据库中获取原始诊断病例数据,通过正则表达式从所述原始诊断病例数据中提取原始文本语料;所述文本数据处理模块,用于对所述原始本文语料按照文本长度进行排序和计数,构建文本长度数量关系表,根据文本长度数量关系表对所述原始本文语料的文本进行合并补齐处理,将处理结果整合为待预测文本;所述实体抽取模块,用于将所述待预测文本输入预设的实体抽取模型中进行实体抽取,得到实体预测结果;所述实体优化模块,用于通过实体对分析机制对实体预测结果进行实体对轻量化处理,得到实体预测优化结果;所述关系抽取模块,用于将所述实体预测优化结果输入预设的关系抽取模型中进行关系抽取,得到最终的医学关系抽取结果。7.据权利要求6所述的装置,其特征在于:所述文本数据处理模块包括关系表构建单元、批次合并处理单元和待预测文本整合单元;所述关系表构建单元,用于对所述原始本文语料按照文本长度进行排序,并按照文本长度进行计数,构建文本长度数量关系表;所述批次合并处理单元,用于根据所述文本长度数量关系表中的最长文本长度与最短文本长度设置合并阈值,基于所述合并阈值以及预设的文本预测批次最大数量对所述原始本文语料进行批次合并处理;所述待预测文本整合单元,用于对批次合并处理后的所有文本进行补齐处理,将补齐处理结果后的文本整合为待预测文本。8.根据权利要求7所述的装置,其特征在于:所述实体抽取模块包括第一数字表示转换单元、待预测特征构建单元、第一数据张量转换单元和实体预测单元;所述第一数字表示转换单元,用于根据bert词表将所述待预测文本转换成第一数字表示;所述待预测特征构建单元,用于构建待预测特征:使用排列组合方式,构建待预测范围的起始下标、结束下标和跨度;所述第一数据张量转换单元,用于将所述第一数字表示和所述待预测特征转换为第一数据张量;所述实体预测单元,用于将所述第一数据张量输入bert模型中,得到每个待预测范围的实体预测结果。9.根据权利要求8所述的装置,其特征在于:所述实体优化模块包括实体对分析机制设定单元和实体预测优化单元;所述实体对分析机制设定单元,用于设定实体对分析机制,所述实体对分析机制包括:判断两个实体的实体类型,如果实体类型相同,则不进行特征构建,如果实体类型不同,继而判断两个实体是否能构成实体对;所述实体预测优化单元,用于根据所述实体对分析机制去掉实体预测结果中相同类型
的实体对和无法构成关系的实体对,得到实体预测优化结果。10.根据权利要求9所述的装置,其特征在于:所述关系抽取模块包括待预测样例构建单元、第二数字表示转换单元、第二数据张量转化单元和关系抽取单元;所述待预测样例构建单元,用于根据所述实体预测优化结果构建实体对,构建过程中包含每一个实体的开始位置下标、结束位置下标和实体类型,形成待预测样例;所述第二数字表示转换单元,用于根据bert词表将所述待预测样例转换为第二数字表示;所述第二数据张量转化单元,用于将所述第二数字表示转换为第二数据张量;所述关系抽取单元,用于将所述第二数据张量输入bert模型,得到关系抽取结果。

技术总结
本发明公开了一种加快医学关系抽取的方法和装置,对于pipeline的关系抽取方法,在实体预测抽取前,通过排序以及合并规则机制对待预测文本进行长度和数量处理,调整待预测文本的长度并精简预测批次,经过bert模型时,减少多头自注意力机制层花费的时间,提升预测效率和关系抽取效率;在医学关系抽取前,对构建实体对时的实体进行判断,对于相同的实体类型不进行特征构建,对于不同的实体类型进行分析,从而去掉相同类型的实体对和不应该是头实体的实体对,对构建的实体对进行轻量化处理,提升预测效率和关系抽取效率。升预测效率和关系抽取效率。升预测效率和关系抽取效率。


技术研发人员:宋佳祥 白琨太 刘硕 杨雅婷 许娟
受保护的技术使用者:神州医疗科技股份有限公司
技术研发日:2023.06.07
技术公布日:2023/7/12
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐