System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于医疗自然语言处理,具体是指一种融合关系语义信息的医疗文本实体关系联合抽取方法。
技术介绍
1、当前,国内大多数医院的病历采用自然语言记录,这类非结构化的文本没办法直接被计算机使用,需要转化成计算机易于处理的结构化格式,而从非结构化文本中提取结构化的信息正是自然语言处理的研究方向之一。从病历中快速准确地提取结构化信息主要基于自然语言处理中的信息抽取技术,包括实体抽取,关系抽取,事件抽取。其中实体和关系抽取是病历结构化的关键步骤。
2、实体和关系抽取是信息抽取的关键任务之一。实体关系抽取主要有两类方法,一类是采用流水线的方式,研究者将实体关系抽取当成两个级联的子任务处理,其中关系抽取依赖实体抽取。缺点是这种方法存在误差传播的问题,没有考虑两个子任务间的交互性。另一类是采用联合解码的方式,即关系和实体抽取共用一个编码器,这类方法目前已成为主流方式,例如casrel,实体和关系抽取共用一个bert编码器。
3、近几年,实体关系抽取领域实现sota效果的方法大多基于token-pair的方式,例如tplinker,枚举句子中任意两个token作为可能的实体或者实体对的表示。这种方式优点非常明显,解决了误差累积的问题,实现了实体和关系同时抽取。
4、最近,chatgpt的大火再次将人工智能推向新的浪尖。我们不仅可以和chatgpt进行聊天,还可以在和其对话过程中辅助我们完成科研任务。在实体关系抽取领域,一方面,我们可以使用chatgpt进行数据增强,通过和chatgpt进行聊天的方式让其帮助
5、最后,目前的实体关系抽取模型仅仅把关系当做成一个数字编号,而没有具体的语义信息。实际上这种做法是有欠妥的。例如在给你定句子和关系名称的条件下,我们可以很快地捕获到句子哪些词语和关系名称存在关联。这个例子充分说明关系的语义信息对于捕获关系三元组的重要意义。另外,很多模型训练数据集本身存在类别不平衡的问题。因此,在这样的背景下,我们需要提出一种模型将关系的语义信息考虑进去,同时解决数据集本身类别不平衡的问题。
技术实现思路
1、为了解决
技术介绍
中的问题,本专利技术公开了一种融合关系语义信息的医疗文本实体关系联合抽取方法。本专利技术的目的有三点:1)将关系的语义信息融入候选的关系三元组中,解决三元组信息不完整的问题。2)使用chatgpt帮助我们生成新样本解决数据集本身类别不平衡的问题。3)使用chatgpt对抽取的关系三元组进行过滤操作提升了模型的精准率。
2、本专利技术采用的技术方案包括以下步骤:
3、(1)对公开的医疗文本数据集中的每条样本进行预处理生成原始的模型训练数据集;
4、(2)使用chatgpt对步骤1)构建的模型训练数据集进行数据增强以解决其存在类别不平衡的问题,构建新的模型训练数据集;
5、(3)基于预训练语言模型bert构建relationlinker神经网络模型结构;
6、(4)基于步骤2)的模型数据集训练步骤3)构建的relationlinker神经网络模型。
7、(5)使用步骤4)训练好的relationlinker神经网络模型对医学文本进行实体关系联合抽取;
8、(6)使用chatgpt对步骤5)抽取的关系三元组进行过滤得到最终结果集。
9、所述步骤1)具体为:
10、1.1)根据公开的医疗文本数据集中的每条文本t和文本对应的三元组列表定义三种标记矩阵:实体的首尾标记eh-et,主语和宾语组合的首首标记sh-oh和尾尾标记st-ot;
11、其中,三元组列表包括subject,predicate,object;
12、其中,实体的首尾标记矩阵用于抽取主语和宾语;主语和宾语的首首标记、尾尾标记矩阵用于进行主客体对齐。
13、1.2)使用tokenizer对文本t(包括cls和sep符号)进行分词生成token序列:t1,t2,…,tn;
14、1.3)对文本t对应的每个三元组进行处理:
15、a)获取实体的首尾标记:
16、抽取三元组中的主语和宾语作为实体,将实体在token序列中的起始和终止位置形成的二元组(entity-head,entity-tail)作为实体首尾标记矩阵的坐标,并设置其上的值为1。
17、b)获取实体对的首首标记和尾尾标记:
18、实体对为三元组中已知关系的主语和宾语组合;
19、将主语和宾语在token序列中的起始位置形成的二元组(subject-head,object-head)作为实体对首首标记矩阵的坐标,并设置其上的值为1;将主语和宾语在token序列中的终止位置形成的二元组(subject-tail,object-tail)作为实体对尾尾标记矩阵的坐标,并设置其上的值为1;
20、其中,标记矩阵上其他坐标的值为0。
21、所述步骤2)具体为:
22、2.1)对公开的医疗文本数据集中的样本进行关系的类别统计;
23、2.2)对于类别出现次数小于阈值的样本使用chatgpt进行数据增强,在不改变句意和关键词的条件下进行句子改写生成新样本。
24、2.3)对新样本进行预处理后加入步骤(1)的数据集中构建新的模型训练数据集;
25、所述新样本的预处理为:去除语义不顺、句义扭曲的句子后,采用步骤1的预处理方法对新样本进行处理。
26、所述步骤3)的relationlinker神经网络模型结构包括bert编码层、关系嵌入表示模块、主客体抽取模块和主客体对齐模块;
27、3.1)编码层
28、采用roberta进行编码,其中编码层的输入为:[cls]文本[sep],输出为:(h1,h2,…,hn);
29、其中,hi为第i个token经过roberta编码后的隐向量表示,hi∈(h1,h2,…,hn);
30、3.2)关系嵌入模块
31、在主客体对齐过程中,对数据集遵循的关系范式中任意一种关系ri,使用嵌入向量进行表示,嵌入向量使用函数torch.nn.embedding随机生成;
32、其中,ri∈r,r={r1,r2,…,rm},1≤i≤m,m为关系范式中的关系个数;
33、在主客体生成过程中,将抽取主体和抽取客体视作两种特殊的关系r1和r2,对其中任意一种特殊关系rk使用嵌入向量进行表示,嵌入向量使用函数torch.nn.embedding随机生成;
34、其中,rk∈r,r={r1,r2},1≤k≤2;
35、其中,抽取主体表示抽取句子中的主语,抽取客体表示抽取句子中的宾语;特殊的关系r和r2用于表示抽取主体或客体的行为;
36、3.3)本文档来自技高网...
【技术保护点】
1.一种融合关系语义信息的医疗文本实体关系联合抽取方法,包括如下步骤:
2.根据权利要求1所述的一种融合关系语义信息的医疗文本实体关系联合抽取方法,其特征在于,所述步骤1)具体为:
3.根据权利要求1所述的一种融合关系语义信息的医疗文本实体关系联合抽取方法,其特征在于,所述步骤2)具体为:
4.根据权利要求1所述的一种融合关系语义信息的医疗文本实体关系联合抽取方法,其特征在于,所述步骤3)的RelationLinker神经网络模型结构包括Bert编码层、关系嵌入表示模块、主客体抽取模块和主客体对齐模块;
5.根据权利要求1所述的一种融合关系语义信息的医疗文本实体关系联合抽取方法,其特征在于,所述步骤4)具体为:
6.根据权利要求1所述的一种融合关系语义信息的医疗文本实体关系联合抽取方法,其特征在于,所述步骤5)具体为:
7.根据权利要求6所述的一种融合关系语义信息的医疗文本实体关系联合抽取方法,其特征在于,所述步骤5.4)的解码过程具体为:
8.根据权利要求1所述的一种融合关系语义信息的医疗文本实
...【技术特征摘要】
1.一种融合关系语义信息的医疗文本实体关系联合抽取方法,包括如下步骤:
2.根据权利要求1所述的一种融合关系语义信息的医疗文本实体关系联合抽取方法,其特征在于,所述步骤1)具体为:
3.根据权利要求1所述的一种融合关系语义信息的医疗文本实体关系联合抽取方法,其特征在于,所述步骤2)具体为:
4.根据权利要求1所述的一种融合关系语义信息的医疗文本实体关系联合抽取方法,其特征在于,所述步骤3)的relationlinker神经网络模型结构包括bert编码层、关系嵌入表示模块、主客体抽取模...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。