CN114139531A - 一种基于深度学习的医疗实体预测方法及系统 - Google Patents
一种基于深度学习的医疗实体预测方法及系统 Download PDFInfo
- Publication number
- CN114139531A CN114139531A CN202111449176.1A CN202111449176A CN114139531A CN 114139531 A CN114139531 A CN 114139531A CN 202111449176 A CN202111449176 A CN 202111449176A CN 114139531 A CN114139531 A CN 114139531A
- Authority
- CN
- China
- Prior art keywords
- word
- entity
- vector
- deep learning
- dialogue data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000013135 deep learning Methods 0.000 title claims abstract description 28
- 239000013598 vector Substances 0.000 claims abstract description 123
- 238000012549 training Methods 0.000 claims abstract description 61
- 238000013136 deep learning model Methods 0.000 claims abstract description 35
- 238000002372 labelling Methods 0.000 claims description 33
- 230000008569 process Effects 0.000 claims description 30
- 230000014509 gene expression Effects 0.000 claims description 16
- 238000004422 calculation algorithm Methods 0.000 claims description 10
- 230000004927 fusion Effects 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 6
- 230000011218 segmentation Effects 0.000 claims description 6
- 201000010099 disease Diseases 0.000 claims description 4
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 claims description 4
- 229940079593 drug Drugs 0.000 claims description 4
- 239000003814 drug Substances 0.000 claims description 4
- 238000007689 inspection Methods 0.000 claims description 4
- 238000007781 pre-processing Methods 0.000 claims description 4
- 238000005070 sampling Methods 0.000 claims description 4
- 208000024891 symptom Diseases 0.000 claims description 4
- 238000003058 natural language processing Methods 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 208000004998 Abdominal Pain Diseases 0.000 description 1
- 210000001015 abdomen Anatomy 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000009193 crawling Effects 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007500 overflow downdraw method Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H50/00—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
- G16H50/70—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for mining of medical data, e.g. analysing previous cases of other patients
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Biomedical Technology (AREA)
- Medical Informatics (AREA)
- Public Health (AREA)
- Pathology (AREA)
- Primary Health Care (AREA)
- Epidemiology (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Machine Translation (AREA)
Abstract
一种基于深度学习的医疗实体预测方法及系统,它属于自然语言处理与深度学习交叉技术领域。本发明解决了现有医疗实体预测方法存在预测效率低以及预测准确率低的问题。本发明方法具体包括以下步骤:步骤S1、获取原始医患对话数据并进行实体标注;步骤S2、获得对话数据文本字向量以及实体标签向量;步骤S3、基于获得的对话数据文本字向量以及实体标签向量对庞加莱模型和预训练好的深度学习模型进行训练;步骤S4、对于待进行实体预测的医患对话文本,采用步骤S2的方法获得对话文本字向量,对话文本字向量经过词典融合后,依次经过训练好的深度学习模型和庞加莱模型,得到实体预测结果。本发明可以应用于医疗实体预测。
Description
技术领域
本发明属于自然语言处理与深度学习交叉技术领域,具体涉及一种基于深度学习的医疗实体预测方法及系统。
背景技术
由于近年来,计算机软硬件性能的提高以及数据处理能力的不断提升,深度学习在自然语言处理、命名实体识别等领域取得了长足的发展。深度学习是通过神经元模拟人脑进行学习的神经网络,利用学习到的特征使机器更加智能,深度学习是机器学习的重要分支。目前,主流的深度学习方法有:(1)基于多层神经元的自动编码器、(2)基于卷积与池化的卷积神经网络、(3)基于时间序列的长短时记忆网络、(4)基于概率建模的生成对抗网络、(5)基于图结构的图神经网络等。
医疗实体预测是智能医疗对话系统中的一项重要任务,也是许多下游任务的重要先决条件,例如医患对话系统,实体链接和临床决策支持系统。因此,近年来医疗实体预测越来越受到关注。然而,传统的医疗实体预测主要有以下问题:(1)直接使用传统的检索方法,进行字符串匹配,效率低下,不易实际应用。(2)基于深度学习的实体识别,旨在从文本中识别出实体,往往通过序列标注的形式,对于实体类别的粒度不够细致,同时没有考虑标签间的相关性,因此,实体识别的准确率较低。
综上所述,现有医疗实体预测方法存在效率低以及准确率低的问题。
发明内容
本发明的目的是为解决现有医疗实体预测方法存在预测效率低以及预测准确率低的问题,而提出了一种基于深度学习的医疗实体预测方法及系统。
本发明为解决上述技术问题所采取的技术方案是:
基于本发明的一个方面,一种基于深度学习的医疗实体预测方法,所述方法具体包括以下步骤:
步骤S1、通过爬虫获取原始医患对话数据,并对获取的对话数据进行过滤,再对过滤后的对话数据进行实体标注,获得原始训练数据集;
步骤S2、对原始训练数据集中的数据进行预处理,获得对话数据文本字向量以及实体标签向量;
步骤S3、构建深度学习模型,基于获得的对话数据文本字向量以及实体标签向量对庞加莱模型和预训练好的深度学习模型进行训练;
步骤S4、对于待进行实体预测的医患对话文本,采用步骤S2的方法获得对话文本字向量,对话文本字向量经过词典融合后,依次经过训练好的深度学习模型和庞加莱模型,得到实体预测结果。
进一步地,所述步骤S1中,对获取的对话数据进行过滤,其具体过程为:
从获取的对话数据中,过滤掉关于个人信息的对话、有关图像的信息、有关音频的信息以及医生的回复少于3次的对话。
进一步地,所述对过滤后的对话数据进行实体标注是采用半自动的方式进行标注的,标注疾病、症状、属性、检查和药物五大类实体。
进一步地,所述对过滤后的对话数据进行实体标注,其具体过程为:
对过滤后的对话数据中的1000条对话数据进行人工实体标注,再使用程序对过滤后对话数据中其余的对话数据进行自动实体标注,程序使用正则表达式覆盖人工标注的1000条对话数据,并应用正则表达式自动标注其余对话数据;
对自动标注后的对话数据进行抽样二项检验,即从自动标注的对话数据中随机选取出400条对话数据,若随机选取出的自动标注对话数据的标注准确率达标,即标注准确率大于等于95%,则结束标注过程,否则修改程序的正则表达式,利用修改后的正则表达式重新进行自动标注,直至自动标注的准确率达标,获得了全部的标注后的对话数据。
进一步地,所述步骤S2的具体过程为:
使用transformer将对话数据中的每一个句子都处理成“[CLS]句子[SEP]”的形式,根据分词的词典,得到对话数据文本字向量;
将每一条对话数据具有的实体标签转换为实体标签向量。
进一步地,所述步骤S4中,对话文本字向量经过词典融合后,依次经过训练好的深度学习模型和庞加莱模型,得到实体预测结果;其具体过程为:
步骤S41、对字向量进行词典融合;
对于输入序列Sentence={c1,c2,…,cn},其中,ci是输入序列中的第i个字,i=1,2,…,n,将ci在WordNet中进行匹配,匹配词分为四个标签集合B(ci)、M(ci)、E(ci)和S(ci);
其中,L表示词典集合,fik表示由输入序列中的第i个字至第k个字形成的匹配词,i<k≤n,B(ci)是第i个字对应的匹配词fik的集合,B标签代表第i个字在匹配词fik的开始;fjk表示由输入序列中的第j个字至第k个字形成的匹配词,1≤j<i<k≤n,M(ci)是第i个字对应的匹配词fjk的集合,M标签代表第i个字在匹配词fjk的内部;fji表示由输入序列中的第j个字至第i个字形成的匹配词,1≤j<i,E(ci)是第i个字对应的匹配词fji的集合,E标签代表第i个字在匹配词fji的结尾;fii表示由输入序列中的第i个字形成的匹配词,S(ci)是第i个字对应的匹配词fii的集合,S标签代表第i个字是单独的匹配词;
分别对每个标签集合进行向量化表示,再将标签集合向量嵌入到同一个向量中,获得嵌入向量,再将嵌入向量添加到第i个字的字向量中,得到第i个字的最终字向量表示;
同理,分别得到输入序列中的每个字的最终字向量表示;
步骤S42、每个字的最终字向量表示经过训练好的深度学习模型后,得到每个字的模板向量;其具体过程为:
所述深度学习模型包括基于prompt的模型和掩码语言模型,基于prompt的模型生成每个字的模板,再基于掩码语言模型生成每个模板中的掩码,分别得到每个字的模板向量;
步骤S43、步骤S42所得到的模板向量经过训练好的庞加莱模型,得到实体预测结果;其具体过程为:
对于任意一个字的模板向量:
其中,u为该字的模板向量,v为实体向量,‖·‖为范数,dH(i,v)为u与v之间的距离;
将最短的3个距离所对应的实体作为该字的实体预测结果;
同理,分别得到每个字的实体预测结果。
进一步地,所述分别对每个标签集合进行向量化表示,再将标签集合向量嵌入到同一个向量中,获得嵌入向量;其具体过程为:
其中,Ew(H)表示标签集合H的向量化表示,H∈{B,M,E,S},z(f)表示匹配词f在原始训练数据集中出现的频率,ef(f)表示匹配词f通过预训练好的深度学习模型获得的词嵌入;
将Ew(H),H∈{B,M,E,S}嵌入到同一个向量中,获得嵌入向量Ew(B,M,E,S)=[Ew(B);Ew(M);Ew(E);ew(S)]。
更进一步地,所述深度学习模型训练时的超参数设置:训练轮次设置为20,容忍度设置为5,训练批次大小设置为4,学习率设置为0.0002;
训练的优化器为AdamW算法,训练策略为warmup策略。
基于本发明的另一个方面,一种基于深度学习的医疗实体预测系统,所述系统用于执行一种基于深度学习的医疗实体预测方法。
本发明的有益效果是:
本发明通过词典融合和庞加莱模型的双曲空间模型能够训练出更加准确的医疗实体预测模型,将训练好的模型用于医患对话系统中,可以准确地提供给医生回复中所需要的实体。而且,本发明方法与直接使用检索方法相比,实体预测的效率较高。
附图说明
图1为本发明方法的流程图;
图2是模型架构图;
图3是实体标注的流程图;
图4是数据示例图;
图5是模型预测结果图。
具体实施方式
具体实施方式一、结合图1说明本实施方式。本实施方式所述的一种基于深度学习的医疗实体预测方法,所述方法具体包括以下步骤:
步骤S1、通过爬虫获取原始医患对话数据,并对获取的对话数据进行过滤,再对过滤后的对话数据进行实体标注,获得原始训练数据集;
步骤S2、对原始训练数据集中的数据进行预处理,获得对话数据文本字向量以及实体标签向量;
步骤S3、构建深度学习模型,基于获得的对话数据文本字向量以及实体标签向量对庞加莱模型和预训练好的深度学习模型进行训练;
步骤S4、对于待进行实体预测的医患对话文本,采用步骤S2的方法获得对话文本字向量,对话文本字向量经过词典融合后,依次经过训练好的深度学习模型和庞加莱模型,得到实体预测结果。
具体实施方式二:本实施方式与具体实施方式一不同的是,所述步骤S1中,对获取的对话数据进行过滤,其具体过程为:
从获取的对话数据中,过滤掉关于个人信息的对话、有关图像的信息、有关音频的信息以及医生的回复少于3次的对话。
其它步骤及参数与具体实施方式一相同。
具体实施方式三:本实施方式与具体实施方式一或二不同的是,所述对过滤后的对话数据进行实体标注是采用半自动的方式进行标注的,标注疾病、症状、属性、检查和药物五大类实体。
其它步骤及参数与具体实施方式一或二相同。
具体实施方式四:结合图3说明本实施方式。本实施方式与具体实施方式一至三之一不同的是,所述对过滤后的对话数据进行实体标注,其具体过程为:
对过滤后的对话数据中的1000条对话数据进行人工实体标注,再使用程序对过滤后对话数据中其余的对话数据进行自动实体标注,程序使用正则表达式覆盖人工标注的1000条对话数据,并应用正则表达式自动标注其余对话数据;
对自动标注后的对话数据进行抽样二项检验,即从自动标注的对话数据中随机选取出400条对话数据,若随机选取出的自动标注对话数据的标注准确率达标,即标注准确率大于等于95%,则结束标注过程,否则修改程序的正则表达式,使其覆盖出现错误的对话数据,利用修改后的正则表达式重新进行自动标注,直至自动标注的准确率达标,获得了全部的标注后的对话数据。
其它步骤及参数与具体实施方式一至三之一相同。
具体实施方式五:本实施方式与具体实施方式一至四之一不同的是,所述步骤S2的具体过程为:
使用transformer将对话数据中的每一个句子都处理成“[CLS]句子[SEP]”的形式,根据分词的词典,得到对话数据文本字向量;
将每一条对话数据具有的实体标签转换为实体标签向量。
其它步骤及参数与具体实施方式一至四之一相同。
具体实施方式六:结合图2说明本实施方式。本实施方式与具体实施方式一至五之一不同的是,所述步骤S4中,对话文本字向量经过词典融合后,依次经过训练好的深度学习模型和庞加莱模型,得到实体预测结果;其具体过程为:
步骤S41、对字向量进行词典融合;
对于输入序列Sentence={c1,c2,…,cn},其中,ci是输入序列中的第i个字,i=1,2,…,n,将ci在WordNet中进行匹配,并对匹配词进行分类,匹配词分为四个标签集合B(ci)、M(ci)、E(ci)和S(ci);
其中,L表示词典集合,fik表示由输入序列中的第i个字至第k个字形成的匹配词,i<k≤n,B(ci)是第i个字对应的匹配词fik的集合,B标签代表第i个字在匹配词fik的开始;fjk表示由输入序列中的第j个字至第k个字形成的匹配词,1≤j<i<k≤n,M(ci)是第i个字对应的匹配词fjk的集合,M标签代表第i个字在匹配词fjk的内部;fji表示由输入序列中的第j个字至第i个字形成的匹配词,1≤j<i,E(ci)是第i个字对应的匹配词fji的集合,E标签代表第i个字在匹配词fji的结尾;fii表示由输入序列中的第i个字形成的匹配词,S(ci)是第i个字对应的匹配词fii的集合,S标签代表第i个字是单独的匹配词;
分别对每个标签集合进行向量化表示,再将标签集合向量嵌入到同一个向量中,获得嵌入向量,再将嵌入向量添加到第i个字的字向量中,得到第i个字的最终字向量表示;
同理,分别得到输入序列中的每个字的最终字向量表示;
步骤S42、每个字的最终字向量表示经过训练好的深度学习模型后,得到每个字的模板向量;其具体过程为:
所述深度学习模型包括基于prompt的模型和掩码语言模型,基于prompt的模型生成每个字的模板,再基于掩码语言模型生成每个模板中的掩码,分别得到每个字的模板向量;
步骤S43、步骤S42所得到的模板向量经过训练好的庞加莱模型,得到实体预测结果;其具体过程为:
对于任意一个字的模板向量:
其中,u为该字的模板向量,v为实体向量,‖·‖为范数,dH(u,v)为u与v之间的距离;
将最短的3个距离所对应的实体作为该字的实体预测结果;
同理,分别得到每个字的实体预测结果。
其它步骤及参数与具体实施方式一至五之一相同。
具体实施方式七:本实施方式与具体实施方式一至六之一不同的是,所述分别对每个标签集合进行向量化表示,再将标签集合向量嵌入到同一个向量中,获得嵌入向量;其具体过程为:
其中,Ew(H)表示标签集合H的向量化表示,H∈{B,M,E,S},z(f)表示匹配词f在原始训练数据集中出现的频率,ef(f)表示匹配词f通过预训练好的深度学习模型获得的词嵌入;
将Ew(H),H∈{B,M,E,S}嵌入到同一个向量中,获得嵌入向量Ew(B,M,E,S)=[Ew(B);Ew(M);Ew(E);Ew(S)]。
其它步骤及参数与具体实施方式一至六之一相同。
具体实施方式八:本实施方式与具体实施方式一至七之一不同的是,所述深度学习模型训练时的超参数设置:训练轮次设置为20,容忍度设置为5,训练批次大小设置为4,学习率设置为0.0002;
训练的优化器为AdamW算法,训练策略为warmup策略。
在输入字的最终字向量表示x后加入不同的prompt,形成五种类型的模板,形成的模板分别为:
利用生成的模板和实体标签向量对深度学习模型和庞加莱模型进行联合训练,掩码语言模型根据实体标签向量生成每个模板中的掩码,获得完整的模板向量;将模板向量和实体标签向量嵌入庞加莱模型,将实体标签向量作为训练目标,使最终字向量表示依次经过深度学习模型和庞加莱模型后,庞加莱模型输出的实体预测结果尽量与实体标签向量接近,以获得训练好的深度学习模型和庞加莱模型。训练好的基于prompt的模型用于生成输入对应的模板,掩码语言模型用于生成模板的掩码,庞加莱模型用于获得实体预测结果。
其它步骤及参数与具体实施方式一至七之一相同。
具体实施方式九、本实施方式所述的一种基于深度学习的医疗实体预测系统,所述系统用于执行一种基于深度学习的医疗实体预测方法。
下面将详细描述本发明的各个方面的特征和示例性实例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施,对本发明进行进一步详细描述。
如图1所示,为本发明方法的流程示意图:本发明提出的一种基于深度学习的实体预测方法,包括如下步骤:
(1)基于scrapy爬取原始医患对话数据,共17864条对话数据,历史医患对话数据的原始数据来自于在线健康社区“春雨医生”。此平台患者可以向医生咨询医疗问题,然后医生会向患者给出专业诊断建议。获得原始历史医患对话数据后,需要对对话数据进行标注,在标注之前,需要进行信息过滤,包括:(a)关于个人信息的对话。(b)有关图像的信息。(c)有关音频的信息。(d)没有足够对话轮次的对话。
对信息过滤之后,形成标准的历史医患对话数据,进而对对话数据进行实体标注。选择了五大类实体进行标注:疾病、症状、属性、检查和药物。需要注意的是,这里并不是顺序标记,而是使用一种从对话到信息的标注方法,采用半自动的方式进行标注。整个标注过程如图3所示,首先需要确定初步的标注方案,然后,对1000条对话数据进行人工标注,对于有歧义的对话数据,改进标注方案,保证1000条对话数据的标注没有歧义;之后使用程序来自动标记其余对话,程序使用正则表达式覆盖手工标记的1000条对话数据,应用这些正则表达式标注其余对话;随后,进行抽样二项检验,随机选取400条自动标注的对话数据,来评估标注的正确性;如果准确率未达标,修改程序的正则表达式,使其覆盖出现错误的对话数据。重复这个过程,直到准确率达标。这样就得到了模型训练所需要的数据集。如图4所示,是数据处理完成后的示例图。
(2)进行数据预处理,将数据集进行向量化,为模型训练做准备。
将数据集按照6:2:2的比例分为训练集、验证集和测试集。对数据集进行处理,将每一个句子转换为用于训练的标记ID,对于每一个句子,都处理成这种形式“[CLS]句子[SEP]”。根据分词的词典将其转换为对应的标记ID,设置输入模型的最大长度为512,对于小于输入长度的句子,使用[PAD]标记补全。
在模型训练之前,需要预训练好深度学习模型,此处使用2G的医疗文本数据来对深度学习模型进行参数训练。将医疗文本数据集中的每一个句子转换为用于训练的标记ID,输入到深度学习模型进行训练,设置超参数,设置AdamW优化器。然后使用warmup策略,最后计算损失函数进行迭代训练。使用GPU进行训练,设置训练的随机种子,所有的随机数算法在初始化阶段都需要一个随机种子,完全相同的种子每次将产生相同的随机数。
(3)构建模型架构,进行词典融合,基于prompt的预训练和庞加莱模型嵌入。
首先是输入表示层,不仅仅是简单的将字向量输入到模型中,而是融合了词典信息,增加了更多的词义信息。如图2所示,具体的词典融合过程如下:
词典融合的方法是基于词典对字向量进行的扩展,词典融合需要将分词状态信息转换为标签(共4种标签),比如“腹”这个字是“腹痛”这个词开始的第一个字(用B标签代表分词的开始状态)。还有三种分词状态,分别是M标签代表这个字是在词的内部,而不在开始和结尾处,E标签代表这个字处于词的结尾,S标签代表这个字是单独的一个词。四种标签状态可以用集合Yseg={B,M,E,S}表示。之后再把字向量与代表分词状态信息的向量拼接加入到输入表示层,输入表示层就获得了分词的边界信息。
词典融合的基本步骤如下:第一步是对匹配的词进行分类,本发明使用中文WordNet,该词典将一个词的同义词形成一个语义网络,并构成上位词与下位词的结构。将输入序列的每一个字在WordNet中进行匹配,并对匹配的词进行分类,所有的匹配词分为四个标签集合“BMES”,对于输入序列Sentence={c1,c2,…,cn},四个标签集合通过以下公式计算:
其中,L表示词典集合。如果标签集合为空,则用特殊字符“None”进行标记,保证集合一致性。
第二步是对标签集合进行向量化表示,并将所有的标签集合向量嵌入到同一个向量中。使用加权算法来进行嵌入,这里的权重使用每个词在数据集中出现的频率来表示,标签集合的加权表示如下:
H∈{B,M,E,S}
其中,z(f)表示词在数据集中出现的频率,即为权重。ef(f)表示通过预训练好的深度学习模型获得的词嵌入。通过加权表示,可以获得整体标签集合向量Ew(B,M,E,S)=[Ew(B);Ew(M);Ew(E);Ew(S)]。
第三步是将四个标签集合组合而成的向量添加到每个字向量中,每个字向量的最终表示为:xc=[xc;Ew(B,M,E,S)]。获得最终的字向量表示之后,输入到预训练好的深度学习模型中,用于实体预测。
其次是训练基于prompt的预训练好的模型,使其更加适应下游任务,在少量样本的作用下就可以得到不错的精度。本发明根据下游任务的特点,由于实体标签的不同,在输入文本x后加入不同的prompt,因此采用的模板有五种类型,分别为: 表示字符串连接。需要构造实体标签集合,用于填空每个模板中的掩码,对于每个文本x,使用上述模板进行扩展,掩码语言模型需要做的就是使实体标签预测分布与构造的实体标签集合尽可能的相似。在建模的过程中,本发明使用所有词的置信度得分来构造最终得分,对于输入文本x及其实体标签y,其条件概率为其中,λj表示当前预测词wj的权重,λj可以在模型训练过程中进行调优。模板可以通过参数化,并在模型训练过程中进行优化。本发明使用交叉熵损失函数训练由θ参数化的预训练模型以及给出的prompt嵌入,训练时,分为两个阶段:第一个阶段是训练由θ参数化的掩码语言模型;第二个阶段是训练参数化的prompt预训练模型。其交叉熵损失函数定义为:
通过深度学习模型后的向量为e(xc),考虑实体标签的层次相关性,增强实体预测。本发明引入双曲空间,二维双曲空间可以建模成一个单位圆盘,即庞加莱圆盘。它的单位圆表示无穷大,就是在双曲空间中,当一个点接近无穷大时,其范数在庞加莱圆盘模型中接近于1。在n维的情况下,庞加莱圆盘变成庞加莱超球在庞加莱超球模型中,两个点u,v∈Bn之间的距离表示为:
如果考虑原点O和两个点x和y,无限靠近圆盘,即‖x‖,‖y‖→1,那么dH(x,y)的距离趋向于dH(x,O)+dH(O,y)。也就是说,x和y之间的路径收敛于一条通过原点的路径。这种特性可以看作是对树型层次结构的连续模拟,在这种结构中,两个兄弟节点之间的最短路径会通过它们的共同祖先,而当点远离中心时,点之间的双曲空间距离呈现指数增长。这反映了随着深度的增加,树中节点数量呈指数增长,从而使双曲空间适合表示树的层次结构,更能获得层次关系。
通过在庞加莱超球嵌入层次结构,意味着嵌入向量范数表示层次结构中的深度,嵌入向量之间的距离表示各个标签的距离。将特征表示嵌入到庞加莱超球中的投影函数中,为了学习采用重新参数化技术进行计算从e(xc)的方向向量γ和范数量级λ。
其中为具有单个隐藏层的MLP,使用ReLu作为激活函数,以允许负值作为方向向量。使用单个线性层。σ表示Sigmoid函数。重新参数化嵌入向量定义为v=λγ,它位于庞加莱超球中。通过使用这种方式,可以保证嵌入向量位于庞加莱超球并进行优化。通过计算在庞加莱超球中两点的距离,来使其最小化,从而优化模型参数。在庞加莱超球模型中,两点u,v∈Bn之间的距离最小化定义为:
dB(u,v)=α(dH(u,v))2+βdcos(u,v)
其中,超参数α,β是为了突破余弦距离范围[0,1],dcos(u,v)是u和v之间的余弦距离。
另外,为了让真实标签表示嵌入到庞加莱超球中,本发明将其嵌入到双曲空间以确保相关标签在空间中彼此接近,通过标签间的距离,学习到的参数既捕获了相似性,也捕获了层次性。
(4)模型训练和模型预测
加载预处理好的数据,设置好批次大小,使用多个GPU进行训练。需要设置训练的随机种子,用于随机初始化权值参数,所有的随机数算法在初始化阶段都需要一个随机种子,完全相同的种子每次将产生相同的随机数。
优化器选择AdamW算法:Adam算法虽然收敛速度快,但是没有解决参数过拟合的问题,AdamW算法的更新公式如下:其中t表示次数,mt是对梯度的一阶矩估计,是对mt的纠正,vt是对梯度的二阶矩估计,是对vt的纠正。β1和β2分别为一阶矩和二阶矩的指数衰减率。mt和vt的更新如下:mt=β1mt-1+(1-β1)gt,gt是时间步为t时的梯度。AdamW算法为下一刻的参数更新时引入当前时刻的参数。
设置超参数:训练的轮次设置为20,容忍度设置为5(当在验证集上的指标5次不再增加,就停止训练,以免过拟合),训练批次大小设置为4,学习率为2e-4。使用warmup策略:基本过程为在开始训练时以很小的学习率进行训练,使得模型适应训练数据;随着训练的进行学习率慢慢变大;到了一定程度后设置的初始学习率进行训练(使得训练快速收敛);当模型学习到一定的程度,学习到的模型分布就比较稳定了。
训练模型:将训练数据处理成字向量,并根据模型表示中的方法融入词典信息,一起输入到预训练模型中;再根据庞加莱模型,从欧式空间转换到双曲空间,也就是庞加莱超球中,获得标签的层次关系;对于包含N个样本的批次数据D(x,y)(x代表两个向量的距离,y∈{1,-1}代表真实的标签,分别表示相似与不相似),在该批次中第n个样本对应的Hinge损失函数定义如下:当yn=-1时,若距离xn大于margin,不计入损失,即ln=0。该批次的损失定义为其中L={l1,l2,…,ln}。随后在反向传播过程得到梯度之后,每一步更新之前,使用梯度裁剪(采用直接裁剪方式,即确定一个范围,如果参数的梯度超过了,直接进行裁剪)并更新网络。梯度裁剪缓解了梯度消失或爆炸问题。
模型预测:针对每一个医患对话文本,输入进模型中,得到嵌入在庞加莱超球中的向量,将所有的标签也嵌入到庞加莱超球中,根据公式 计算它们之间的距离。将距离进行排序,选取距离最短的几个所对应的实体标签。其结果如图5所示。
本发明的上述算例仅为详细地说明本发明的计算模型和计算流程,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。
Claims (9)
1.一种基于深度学习的医疗实体预测方法,其特征在于,所述方法具体包括以下步骤:
步骤S1、通过爬虫获取原始医患对话数据,并对获取的对话数据进行过滤,再对过滤后的对话数据进行实体标注,获得原始训练数据集;
步骤S2、对原始训练数据集中的数据进行预处理,获得对话数据文本字向量以及实体标签向量;
步骤S3、构建深度学习模型,基于获得的对话数据文本字向量以及实体标签向量对庞加莱模型和预训练好的深度学习模型进行训练;
步骤S4、对于待进行实体预测的医患对话文本,采用步骤S2的方法获得对话文本字向量,对话文本字向量经过词典融合后,依次经过训练好的深度学习模型和庞加莱模型,得到实体预测结果。
2.根据权利要求1所述的一种基于深度学习的医疗实体预测方法,其特征在于,所述步骤S1中,对获取的对话数据进行过滤,其具体过程为:
从获取的对话数据中,过滤掉关于个人信息的对话、有关图像的信息、有关音频的信息以及医生的回复少于3次的对话。
3.根据权利要求2所述的一种基于深度学习的医疗实体预测方法,其特征在于,所述对过滤后的对话数据进行实体标注是采用半自动的方式进行标注的,标注疾病、症状、属性、检查和药物五大类实体。
4.根据权利要求3所述的一种基于深度学习的医疗实体预测方法,其特征在于,所述对过滤后的对话数据进行实体标注,其具体过程为:
对过滤后的对话数据中的1000条对话数据进行人工实体标注,再使用程序对过滤后对话数据中其余的对话数据进行自动实体标注,程序使用正则表达式覆盖人工标注的1000条对话数据,并应用正则表达式自动标注其余对话数据;
对自动标注后的对话数据进行抽样二项检验,即从自动标注的对话数据中随机选取出400条对话数据,若随机选取出的自动标注对话数据的标注准确率达标,即标注准确率大于等于95%,则结束标注过程,否则修改程序的正则表达式,利用修改后的正则表达式重新进行自动标注,直至自动标注的准确率达标,获得了全部的标注后的对话数据。
5.根据权利要求4所述的一种基于深度学习的医疗实体预测方法,其特征在于,所述步骤S2的具体过程为:
使用transformer将对话数据中的每一个句子都处理成“[CLS]句子[SEP]”的形式,根据分词的词典,得到对话数据文本字向量;
将每一条对话数据具有的实体标签转换为实体标签向量。
6.根据权利要求5所述的一种基于深度学习的医疗实体预测方法,其特征在于,所述步骤S4中,对话文本字向量经过词典融合后,依次经过训练好的深度学习模型和庞加莱模型,得到实体预测结果;其具体过程为:
步骤S41、对字向量进行词典融合;
对于输入序列Sentence={c1,c2,...,cn},其中,ci是输入序列中的第i个字,i=1,2,...,n,将ci在WordNet中进行匹配,匹配词分为四个标签集合B(ci)、M(ci)、E(ci)和S(ci);
其中,L表示词典集合,fik表示由输入序列中的第i个字至第k个字形成的匹配词,i<k≤n,B(ci)是第i个字对应的匹配词fik的集合,B标签代表第i个字在匹配词fik的开始;fjk表示由输入序列中的第j个字至第k个字形成的匹配词,1≤j<i<k≤n,M(ci)是第i个字对应的匹配词fjk的集合,M标签代表第i个字在匹配词fjk的内部;fji表示由输入序列中的第j个字至第i个字形成的匹配词,1≤j<i,E(ci)是第i个字对应的匹配词fji的集合,E标签代表第i个字在匹配词fji的结尾;fii表示由输入序列中的第i个字形成的匹配词,S(ci)是第i个字对应的匹配词fii的集合,S标签代表第i个字是单独的匹配词;
分别对每个标签集合进行向量化表示,再将标签集合向量嵌入到同一个向量中,获得嵌入向量,再将嵌入向量添加到第i个字的字向量中,得到第i个字的最终字向量表示;
同理,分别得到输入序列中的每个字的最终字向量表示;
步骤S42、每个字的最终字向量表示经过训练好的深度学习模型后,得到每个字的模板向量;其具体过程为:
所述深度学习模型包括基于prompt的模型和掩码语言模型,基于prompt的模型生成每个字的模板,再基于掩码语言模型生成每个模板中的掩码,分别得到每个字的模板向量;
步骤S43、步骤S42所得到的模板向量经过训练好的庞加莱模型,得到实体预测结果;其具体过程为:
对于任意一个字的模板向量:
其中,u为该字的模板向量,v为实体向量,||·||为范数,dH(u,v)为u与v之间的距离;
将最短的3个距离所对应的实体作为该字的实体预测结果;
同理,分别得到每个字的实体预测结果。
8.根据权利要求7所述的一种基于深度学习的医疗实体预测方法,其特征在于,所述深度学习模型训练时的超参数设置:训练轮次设置为20,容忍度设置为5,训练批次大小设置为4,学习率设置为0.0002;
训练的优化器为AdamW算法,训练策略为warmup策略。
9.一种基于深度学习的医疗实体预测系统,其特征在于,所述系统用于执行一种基于深度学习的医疗实体预测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111449176.1A CN114139531B (zh) | 2021-11-30 | 2021-11-30 | 一种基于深度学习的医疗实体预测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111449176.1A CN114139531B (zh) | 2021-11-30 | 2021-11-30 | 一种基于深度学习的医疗实体预测方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114139531A true CN114139531A (zh) | 2022-03-04 |
CN114139531B CN114139531B (zh) | 2024-05-14 |
Family
ID=80386505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111449176.1A Active CN114139531B (zh) | 2021-11-30 | 2021-11-30 | 一种基于深度学习的医疗实体预测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114139531B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117198547A (zh) * | 2023-09-01 | 2023-12-08 | 湖北中医药大学 | 中医临床科研知识智能提取方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109857457A (zh) * | 2019-01-29 | 2019-06-07 | 中南大学 | 一种在双曲空间中学习源代码中的函数层次嵌入表示方法 |
US20200104359A1 (en) * | 2018-09-28 | 2020-04-02 | Innoplexus Ag | System and method for comparing plurality of documents |
CN111782768A (zh) * | 2020-06-30 | 2020-10-16 | 首都师范大学 | 基于双曲空间表示和标签文本互动的细粒度实体识别方法 |
WO2021051560A1 (zh) * | 2019-09-17 | 2021-03-25 | 平安科技(深圳)有限公司 | 文本分类方法和装置、电子设备、计算机非易失性可读存储介质 |
CN112712118A (zh) * | 2020-12-29 | 2021-04-27 | 银江股份有限公司 | 一种面向医疗文本数据的过滤方法及系统 |
-
2021
- 2021-11-30 CN CN202111449176.1A patent/CN114139531B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200104359A1 (en) * | 2018-09-28 | 2020-04-02 | Innoplexus Ag | System and method for comparing plurality of documents |
CN109857457A (zh) * | 2019-01-29 | 2019-06-07 | 中南大学 | 一种在双曲空间中学习源代码中的函数层次嵌入表示方法 |
WO2021051560A1 (zh) * | 2019-09-17 | 2021-03-25 | 平安科技(深圳)有限公司 | 文本分类方法和装置、电子设备、计算机非易失性可读存储介质 |
CN111782768A (zh) * | 2020-06-30 | 2020-10-16 | 首都师范大学 | 基于双曲空间表示和标签文本互动的细粒度实体识别方法 |
CN112712118A (zh) * | 2020-12-29 | 2021-04-27 | 银江股份有限公司 | 一种面向医疗文本数据的过滤方法及系统 |
Non-Patent Citations (1)
Title |
---|
刘宇鹏;马春光;张亚楠: "深度递归的层次化机器翻译模型", 计算机学报, no. 004, 31 December 2017 (2017-12-31) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117198547A (zh) * | 2023-09-01 | 2023-12-08 | 湖北中医药大学 | 中医临床科研知识智能提取方法及系统 |
CN117198547B (zh) * | 2023-09-01 | 2024-04-30 | 湖北中医药大学 | 中医临床科研知识智能提取方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114139531B (zh) | 2024-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110502749B (zh) | 一种基于双层注意力机制与双向gru的文本关系抽取方法 | |
US11580415B2 (en) | Hierarchical multi-task term embedding learning for synonym prediction | |
US20210034813A1 (en) | Neural network model with evidence extraction | |
WO2017151757A1 (en) | Recurrent neural feedback model for automated image annotation | |
CN111079377A (zh) | 一种面向中文医疗文本命名实体识别的方法 | |
CN110991190B (zh) | 一种文档主题增强系统、文本情绪预测系统和方法 | |
CN111881292B (zh) | 一种文本分类方法及装置 | |
CN112530584A (zh) | 一种医疗诊断辅助方法及系统 | |
RU2720363C2 (ru) | Способ формирования математических моделей пациента с использованием технологий искусственного интеллекта | |
CN111666762A (zh) | 一种基于多任务学习的肠癌诊断电子病历属性值抽取方法 | |
CN114239612A (zh) | 一种多模态神经机器翻译方法、计算机设备及存储介质 | |
Sun et al. | Study on medical image report generation based on improved encoding-decoding method | |
CN111242059A (zh) | 基于递归记忆网络的无监督图像描述模型的生成方法 | |
CN114139531B (zh) | 一种基于深度学习的医疗实体预测方法及系统 | |
CN112216379A (zh) | 一种基于智能联合学习的疾病诊断系统 | |
Chen et al. | Breast cancer classification with electronic medical records using hierarchical attention bidirectional networks | |
CN112562809A (zh) | 一种基于电子病历文本进行辅助诊断的方法及系统 | |
Wu et al. | AGNet: Automatic generation network for skin imaging reports | |
CN114757310B (zh) | 情感识别模型及其训练方法、装置、设备及可读存储介质 | |
CN115964475A (zh) | 一种用于医疗问诊的对话摘要生成方法 | |
CN116341546A (zh) | 一种基于预训练模型的医学自然语言处理方法 | |
Noman | A shallow introduction to deep neural networks | |
CN114420232A (zh) | 基于电子病历数据生成健康教育数据的方法和系统 | |
Shaik et al. | Gated contextual transformer network for multi-modal retinal image clinical description generation | |
Thirumagal et al. | GAN models in natural language processing and image translation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |