CN110335653B - 基于openEHR病历格式的非标准病历解析方法 - Google Patents
基于openEHR病历格式的非标准病历解析方法 Download PDFInfo
- Publication number
- CN110335653B CN110335653B CN201910582002.9A CN201910582002A CN110335653B CN 110335653 B CN110335653 B CN 110335653B CN 201910582002 A CN201910582002 A CN 201910582002A CN 110335653 B CN110335653 B CN 110335653B
- Authority
- CN
- China
- Prior art keywords
- medical record
- openehr
- word
- text
- model
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24133—Distances to prototypes
- G06F18/24137—Distances to cluster centroïds
- G06F18/2414—Smoothing the distance, e.g. radial basis function networks [RBFN]
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
-
- 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
- G16H10/00—ICT specially adapted for the handling or processing of patient-related medical or healthcare data
- G16H10/60—ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Bioinformatics & Computational Biology (AREA)
- Epidemiology (AREA)
- Animal Behavior & Ethology (AREA)
- Public Health (AREA)
- Primary Health Care (AREA)
- Medical Informatics (AREA)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
本发明提供一种基于openEHR病历格式的非标准病历解析方法,其特征在于:包括以下步骤:通过电子病历分类识别方法,实现电子病历与openEHR模板的匹配,找到与病历文本对应的openEHR格式病历;通过电子病历关键信息的抽取,生成openEHR格式的病历。本发明通过先识别常见的普通电子病历检查报告类型,以便找到相对应的OpenEHR模板,然后从其中抽取出相关的医疗检验数据,转换为OpenEHR格式,减少规则制定和模式获取所需花费的时间,提高数据提取准确率。本发明解决了非标准电子病历OpenEHR标准化以及准确提取数据的问题,可以应用于openEHR标准的电子病历系统中,推进电子病历系统的使用与普及。
Description
技术领域
本发明涉及自然语言处理、电子病历、openEHR格式领域,特别涉及机器学习进行电子病历标准化的方法。
背景技术
随着我国迅速发展,健康卫生方面的信息化建设势在必行。其中,尽管传统的纸质病历系统仍在医疗系统中占据很大一部分,但随着医疗电子化、互联网化的发展趋势,电子病历的发展也愈加迅速。
OpenEHR是由国际openEHR组织于1999年提出的开发式电子健康档案规范,它的核心在于实现了医疗知识和具体临床信息的分离,将医疗领域知识从具体的临床信息中分离出来,从而保证了信息模型的高可扩展性。openEHR是开放的EHR规范,它允许该规范能够为说有人直接获取并进行修改,这有助于标准化的形成以及提高标准合理性。中国医疗器械行业协会医用软件分支、智慧及移动医疗分会于2016年3月联合成立openEHR技术委员会,旨在更好地在中国推广与应用openEHR规范,推动我国医用软件和移动医疗的标准化研究。
因此,需要对现有技术进行改进。
发明内容
本发明要解决的技术问题是提供一种高效的基于openEHR病历格式的非标准病历解析方法。
为解决上述技术问题,本发明提供一种基于openEHR病历格式的非标准病历解析方法,其特征在于:包括以下步骤:
通过电子病历分类识别方法,实现电子病历与openEHR模板的匹配,找到与病历文本对应的openEHR格式病历;通过电子病历关键信息的抽取,生成openEHR格式的病历。
作为对本发明基于openEHR病历格式的非标准病历解析方法的改进:电子病历分类识别方法为:包括以下步骤:
步骤1:病历文本经过数据预处理,得到预处理得到的数据集;
步骤2:预处理得到的数据集通过训练完成后的WDRNN模型进行分类预测,从而得到正确的OpenEHR病历模板。
作为对本发明基于openEHR病历格式的非标准病历解析方法的进一步改进:WDRNN模型的训练方法为;
深度学习模型采用前馈神经网络,双向LSTM模型,产生128维变长张量,通过Attention模型产生128维向量并经过Relu激活的全连接层输出64维向量,最终连接到Softmax输出层,使用预处理得到的数据集进行训练。
作为对本发明基于openEHR病历格式的非标准病历解析方法的进一步改进:数据预处理方法为:通过在语料库中添加词典,利用jieba分词对病历进行分词得到病历文本,将医学语料文本中所有词构建词表,并对每一词进行one-hot编码,采用TD-IDF方法修正词频特征值得到文本向量,得到预处理得到的数据集。
作为对本发明基于openEHR病历格式的非标准病历解析方法的进一步改进:电子病历关键信息的抽取为:
步骤1:对病例文本进行分词处理得到文本标签向量矩阵数据集;
步骤2:根据文本标签向量矩阵数据集识别出命名实体;
步骤3:通过与正确的OpenEHR病历模板进行相似度匹配从而提取该命名实体在病历文本中的位置信息;
步骤4:通过数据匹配的方式进行数据抽取。
作为对本发明基于openEHR病历格式的非标准病历解析方法的进一步改进:识别命名实体使用的模型为:包括CRF层和2层biLSTM;
输入为文本标签向量矩阵数据集,通过第一层biLSTM将词向量降维到128维,第二层biLSTM将词向量降维到3维,再通过softmax激活函数进行激活;
CRF层是条件随机场层,是对softmax分类的结果通过约束性规则进行修正,输出为最终预测的标签类别。
作为对本发明基于openEHR病历格式的非标准病历解析方法的进一步改进:相似度匹配使用的模型为基于LSTM的循环神经网络语义模型:
正负样本集的临床检验项目数据集和正确的OpenEHR病历模板的临床检验项目作为两路输入,通过基于LSTM的循环神经网络语义模型;该模型使用两层LSTM,输出均为128维;两层LSTM构成的结构将输入映射成128维特征向量,最后两个特征向量输入由Relu激活的全连接层和由Sigmoid激活的输出层组成,其中Relu层的输入为两个128维向量拼接而成的256维向量,输出为64维向量,Sigmoid输出层的输出为匹配的得分,得分输出为0到1的数,代表匹配得分,即两个临床检验项目的语义相似概率,选取相似概率最高的作为匹配结果。
本发明基于openEHR病历格式的非标准病历解析方法的技术优势为:
本发明通过先识别常见的普通电子病历检查报告类型,以便找到相对应的OpenEHR模板,然后从其中抽取出相关的医疗检验数据,转换为OpenEHR格式,减少规则制定和模式获取所需花费的时间,提高数据提取准确率。本发明解决了非标准电子病历OpenEHR标准化以及准确提取数据的问题,可以应用于openEHR标准的电子病历系统中,推进电子病历系统的使用与普及。
附图说明
下面结合附图对本发明的具体实施方式作进一步详细说明。
图1为本方法的全部流程示意图;
图2为非标准病历分类识别模块的流程图;
图3为非标准电子病历数据抽取算法流程图;
图4为基于循环神经网络的wide&deep网络(WDRNN)结构图;
图5为WDRNN中双向LSTM模型按时间展开结构;
图6为WDRNN结构图中的注意力模型;
图7为基于条件随机场和循环神经网络的标注模型结构图;
图8为基于条件随机场和循环神经网络的标注模型按序列输入时间展开图;
图9为CRF层按时间展开的结构图;
图10为基于LSTM的循环神经网络语义模型结构图;
图11为基于LSTM的循环神经网络语义模型按时间序列展开图;
图12为非标准格式病历文本图;
图13为分词后病历文本图;
图14为WDRNN网络对各类病历识别混淆矩阵;
图15为WDRNN对各类病例分类性能指标;
图16为用于CRF的转移概率矩阵;
图17为RNN对于由w1、w2、w3构成的文本矩阵的输出。
具体实施方式
下面结合具体实施例对本发明进行进一步描述,但本发明的保护范围并不仅限于此。
实施例1、基于openEHR病历格式的非标准病历解析方法,如图1-17所示,包括以下步骤:
1.非标准病历分类识别。该模块功能是解决内容各异的非标准病历的分类识别问题,为非标准病历选择与之对应的OpenEHR模板。该模块如图2所示,分为预处理流程和预测模型。
(1.1)预处理流程:
a、文本分词处理,本实施例中采用jieba分词工具,为保证更高的正确率,jieba分词工具中添加了《医学专业最全术语》、《简明英汉汉英词典》和《湘雅医学大词典》,丰富语料库(医学词语语料库),对实例中使用的12688份病历进行精准分词,存储分词好的病历文本,分词前非标准病历见图12,分词后病历(医学语料文本)见图13。
病历文本中包括若干个OpenEHR临床检验项目,OpenEHR临床检验项目包含若干个词。为保证病历文本正确性,所有病历文本都经过医学专家从真实患者提取,并做了脱敏处理保护患者信息。
b、词袋子向量生成。对医学语料文本中所有词构建词表,并对每一词进行one-hot编码(独热编码)。
1)、统计每个词在每个文档(病历文本)的词频TF和逆文本频IDF(逆文本频指的是文本频率的倒数,即文本总词数与出现特定词的文本数的比值的对数)。
2)、计算每个词在每个文档的TF-IDF权重,用TF-IDF权重的词袋子向量表示病历文本,本实例中共有157796维。TF-IDF权重公式如下所示:
TF-IDF=TF(X)×IDF(w)
其中TF(X)表示指的是给定的词语,此处为w在文档中出现的频率,即词w在文档中出现的次数Tw和文档中总词数T的比值。
IDF(w)表示一个词语普遍重要性的度量,可以由总文件数目除以包含该词语之文件的数目,再将得到的商取对数得到。此处,给定词语w,N表示文本总数,N(w)表示包含词项x的文本数,即可求得词在该文档的TF-IDF权值。
3)、使用softmax分类器提取文本特征。用病历文本训练softmax分类器,TF-IDF化的文本向量(即one-hot编码经过TF-IDF处理后的词袋子向量)作为输入,输出8维向量,表示病历文本的分类,即8类。本实例中类1至类8分别表示血常规检查、肝肾脂糖电解质检查、尿常规检查、粪便常规检查、体格检查、血压检查、糖化血红蛋白检查、胰岛功能检查。
4)、基于tensorflow平台,经过softmax分类,和8类的真实值做残差,进行梯度更新,训练网络,可以自动求解出softmax分类器的参数权重,参数个数为(15×157796)。
5)、将参数权重取绝对值作为权重评分,依次从大到小排列,运行20次,每次都取权重为前500的特征,最终综合每次权重评分筛选出300个特征。
6)、单独提取这特定300个特征的TF-IDF向量表示文本向量。
c、词向量文本矩阵生成。实例采用python的第三方库Gensim的word2vec模块集成的负采样negative的CBOW算法训练词向量,并在医学词语语料库的基础上添加维基百科语料库。具体流程如下:
1)、对语料库进行词向量训练。
2)、在Gensim的word2vec模型中添加分词后的病历文本和维基百科语料库。
3)、设置负采样negative的CBOW模式,并设置隐藏层神经元个数为300,定义上下文的滑动窗口大小为5,最小有效词为5。
4)、训练并保存word2vec模型,输出为300维词向量。
5)、对病历文本进行词向量矩阵表示:
6)、用训练好的word2vec模型将病历文本中的词进行词向量表示。
7)、将病历文本按照词序进行词向量表示,由词向量构建文本词向量矩阵,得到300维词向量表示的文本矩阵。
得到满足用基于循环神经网络的wide&deep网络模型(WDRNN网络)输入的文本向量,作为WDRNN模型训练所使用的数据集。
(1.2)模型训练。
深度学习模型采用前馈神经网络,双向LSTM模型,联系文本上下文记忆产生128维变长张量。之后通过Attention模型产生128维向量并经过Relu激活的全连接层输出64维向量,最终连接到Softmax输出层。
实例中使用Adam优化器训练。将经过(1.1)预处理流程得到的预处理得到的数据集按照9:1的比例分为训练集和测试集,迭代训练次数为3000次,选取的batchsize大小为64。损失函数使用交叉熵损失,公式如下:
L=-∑yilnSi
其中Si表示第i个神经元的输出,zi表示第i个神经元的输入,k表示softmax层神经元个数,yi表示真实分类向量中第i维的值,ln表示自然对数,L表示计算出的最终误差。
使用训练集训练深度学习模型得到训练完成后的WDRNN网络;
广泛线性模型采用d维向量输入和d维偏置参数,将步骤1.1经过文本特征提取得到的文本向量作为输入连接到softmax,输出8维向量,表示分类类别;
(1.3)模型训练完成后。将经过步骤(1.2)得到的训练完成后的WDRNN网络对测试集进行分类识别,训练完成后的WDRNN网络对各类病历识别混淆矩阵如图14所示。其中类1至类8分别表示血常规检查、肝肾脂糖电解质检查、尿常规检查、粪便常规检查、体格检查、血压检查、糖化血红蛋白检查、胰岛功能检查。
训练完成后的WDRNN网络对各类病例分类性能指标如图15所示。本专利中训练完成后的WDRNN网络的wide部分考虑到了输入文本的TF-IDF权重,deep部分从文本上下文中通过注意力机制提取了关键特征,不仅具有泛化能力,也具备了RNN中的记忆能力,输入的文本词向量矩阵是取决于文本自身的不定长矩阵,保留了完备的文本信息,从而提升了文本分类的效果,然后根据文本分类的结果取得正确的OpenEHR病历模板。之后步骤的数据抽取算法将根据选择得到的OpenEHR病历模板进行,作为步骤(2.3)的输入。
例如将输入的病历分类完成后,得到其属于血常规检查的结果。之后的病历数据抽取将根据选择的血常规检查OpenEHR模板进行。
2.非标准电子病历数据抽取算法。该模块功能为将非标准病历中的医疗数据一一对应地自动填写到匹配的OpenEHR病历模板中。本实施例需要从步骤(1.1)的医学语料文本中的分词处理好的句段中识别出临床检验项目等命名实体。具体流程如下:
(2.1)预处理流程。利用专家标注好的标签,专家标注好的标签中含有临床检验项目命名实体的各种词汇(首词、非首词),本专利中分为3类。将临床检验项目命名实体的首词用向量(1,0,0)表示,代表标签B;将临床检验项目命名实体的非首词用向量(0,1,0)表示,代表标签I;将不是临床检验项目命名实体的词用向量(0,0,1)表示,代表标签O。
例如医学语料文本的某句段:
“患者平均血红蛋白含量30.8pg”
其中“患者”、“30.8”、“pg”的标签都是O,即不是临床检验项目命名实体的词,而“平均”是B,即为临床检验项目命名实体的首词,“血红蛋白”和“含量”都是I,即临床检验项目命名实体的非首词。
用于CRLM模型的数据预处理的具体流程如下所示,利用已经做好的jieba模型和word2vec模型的训练。
1)、对病历文本进行分词处理:
2)、用已经训练好的word2vec模型将病历文本中的词进行词向量表示,词向量维度为300维。
3)、将文本按照词序进行词向量表示,由词向量构建文本词向量矩阵,与步骤(1.1)得到的文本矩阵相同。
4)、利用由医生专家标注好的标签,对文本词向量矩阵进行处理,将临床检验项目命名实体的首词用向量(1,0,0)表示,代表标签B;将临床检验项目命名实体的非首词用向量(0,1,0)表示,代表标签I;将不是临床检验项目命名实体的词用向量(0,0,1)表示,代表标签O;
5)、将病历文本按照词序进行输出标签的向量表示,构建文本标签向量矩阵。得到满足命名实体标注模型(CRLM模型)的输入和输出格式要求的文本标签向量矩阵数据集,用于步骤(2.2)中的CRLM模型的训练。
用于基于LSTM的循环神经网络语义模型(RNNSM)的数据预处理的具体流程如下所示:
1)、对病历文本进行分词处理;
2)、用医生专家标注的临床检验项目标签,将分词好的病历文本中的临床检验项目筛选出来。
3)、利用由医生专家标注好的标签中的临床检验项目,找出病历文本中与之对应的原始OpenEHR临床检验项目。
4)、由医生专家标注好的标签中的临床检验项目与标注的对应的原始OpenEHR临床检验项目构成一个正样本对,即临床检验标签和OpenEHR标签做人工对应,则可构成一个正样本对,例如“平均血小板体积”与“血小板体积均值”,语义均为表示血小板平均的体积,此样本可人工标注为一组正样本。
5)、与正样本对获取方式相反,将临床检验项目标签中的OpenEHR临床检验项目和不与之对应的OpenEHR临床检验项目构成一个负样本对,例如“平均血小板体积”与“白蛋白含量”。由于这样构建的负样本对数远远多于正样本数,我们采取随机的方法,一个临床检验项目随机取任意5个不对应的样本。最终得到正负样本集。
6)、用已经训练好的word2vec模型对经过上述步骤得到的正负样本集进行词向量表示,词向量维度为300维,作为正负样本词向量矩阵;
7)、用正负样本词向量矩阵代表临床检验项目。得到满足相似度检测模型输入输出格式要求的临床检验项目数据集。
(2.2)命名实体标注。命名实体标注模型使用基于条件随机场(CRF)和循环神经的标注模型(CRLM)。模型训练使用经过步骤(2.1)得到的文本标签向量矩阵数据集,Adam优化器和随机梯度下降法进行训练及参数更新。训练集和测试集划分为9:1,batchsize大小为8,并采用早停的方法控制迭代次数。
将训练好的模型用于病历文本命名实体标注(标注方法与上述相同),实例中使用准确率precision、召回率recall和F值来衡量模型的性能。
输入为文本标签向量矩阵数据集,测试结果CRLM模型的准确率precision为90.73%、召回率recall为91.58%和F值为91.15%。
识别命名实体模型为新型基于条件随机场和循环神经的标注模型,该模型由CRF层和2层biLSTM构成,具体如下:
输入为文本标签向量矩阵数据集,通过第一层biLSTM将词向量降维到128维,第二层biLSTM将词向量降维到3维,再通过softmax激活函数进行激活。
CRF层是条件随机场层,是对softmax分类的结果通过约束性规则进行修正。CRF中有预先完全随机设置好的条件转移矩阵,其表示由某一个标注状态(B、I、O)得到下一个标注(即下一个词)的状态(B、I、O)的转移概率得分,如图16所示。其中Start表示文本的开头,End表示文本的结尾。例如,第3行第4列表示当前词标注为B,下一个词标记为I的概率的分是0.55。从第2行可以看出,跳转到下一个词的标注为Start的概率得分几乎为0,还有Start跳到下个词为I的概率得分也几乎为0。
接下来通过预先设计的得分算法计算最后得分,得分最大者即为输出。算法如下:
Si=SRi+STi
其中Pi为最后的得分,SRi表示通过RNN网络softmax输出层的概率得分按这种标注方式计算的得分。STi代表通过转移矩阵按这种标注方式计算的得分。
例如:RNN对于由w1、w2、w3构成的文本矩阵的输出如图17所示,其中w1、w2、w3即为经过两层biLSTM和softmax激活后输出的结果:
如果按照Start、O、B、O、End(w1、w2、w3即为中间的OBO)的方式对文本中词语按序进行标注。那么这种方式的SRi为:
SRi=xstart+xO+xB+xO+xEnd
=0+0.89+0.83+0.73+0=2.45
其中xStart、xEnd等于0,xo代表w1为O的概率得分,即w1在RNN的softmax输出中为O的概率得分,同理xB、xo分布代表w2为B的概率得分、w3为O的概率得分。
STi计算方法为:
SRi=tstart-O+tO-B+tB-O+tO-End
其中tStart-O表示转移矩阵中当前词标注为Start,下一个词标记为O的概率得分。to-B表示转移矩阵中当前词标注为O,下一个词标记为B的概率得分。tB-O表示转移矩阵中当前词标注为B,下一个词标记为O的概率得分。tO-End表示转移矩阵中当前词标注为O,下一个词标记为End的概率得分。
经此方式计算出的得分最大即为输出,从而识别出命名实体。
(2.3)语义相似度检测。本专利提出的基于LSTM的循环神经网络语义模型,用于检测同义异形的临床检验实体之间的相似度。
该步骤使用基于LSTM的循环神经网络语义模型,输入是正负样本集的临床检验项目和正确的OpenEHR病历模板的临床检验项目,模型的输出层是sigmoid激活,表示预测概率,采用logistic Loss函数。网络训练使用梯度下降法进行训练,具体使用Adam优化器。由于数据集正负样本对数不均衡,比例为1:5。实例采用上采样的方法,把小众的正样本对复制多份,达到样本均衡(比例为1:1)。将数据集按照9:1的比例分成了训练集和测试集进行迭代训练,选取的batchsize大小为32。
实例使用的临床检验项目对数为374的测试集,临床检验项目的出处涵盖了血常规检查、肝肾脂糖电解质检查、尿常规检查、粪便常规检查、体格检查、血压检查、糖化血红蛋白检查、胰岛功能检查。测试集中临床检验项目对数的正负比例为1:1,其中语义相似的正样本对数为186,语义无关的负样本对数为188。
通过将步骤(2.1)得到的正负样本集的临床检验项目和步骤(1.3)得到的正确的OpenEHR病历模板的临床检验项目作为两路输入,通过结构和权重相同的模型。该模型使用两层LSTM,输出均为128维。两层LSTM构成的结构将输入映射成128维特征向量,最后两个特征向量输入由Relu激活的全连接层和由Sigmoid激活的输出层组成,其中Relu层的输入为两个128维向量拼接而成的256维向量,输出为64维向量,Sigmoid输出层的输出为匹配的得分。得分输出为0到1的数,代表匹配得分,即两个临床检验项目的语义相似概率,匹配得分最高的即为匹配结果,选取相似概率最高的作为匹配结果。提取该命名实体在病历文本中的位置信息。
(2.4)数据抽取。实例定义的临床检验项目命名实体是后面带有检验结果数据的命名实体,并且相对于医学词项,医学数据的格式规则较为统一规范,因此采用人工规则的方法进行文本匹配。我们这里,主要通过现有的匹配数字、英文单位格式、阴阳性等特殊规则,例采用Kettle工具抽取信息,匹配出位于对应临床检验项目后的数据。例如,找到“总蛋白质含量69.2g/L”、“总胆红素9.9μmol/L”就可以通过文本正则匹配出“总蛋白质含量”为“69.2g/L”。生成openEHR格式的病历。
最后,还需要注意的是,以上列举的仅是本发明的若干个具体实施例。显然,本发明不限于以上实施例,还可以有许多变形。本领域的普通技术人员能从本发明公开的内容直接导出或联想到的所有变形,均应认为是本发明的保护范围。
Claims (5)
1.基于openEHR病历格式的非标准病历解析方法,其特征在于:包括以下步骤:
通过电子病历分类识别方法,实现电子病历与openEHR模板的匹配,找到与病历文本对应的openEHR格式病历;通过电子病历关键信息的抽取,生成openEHR格式的病历;
电子病历关键信息的抽取为:
步骤1:对病例文本进行分词处理得到文本标签向量矩阵数据集;
步骤2:根据文本标签向量矩阵数据集识别出命名实体;
步骤3:通过与正确的OpenEHR病历模板进行相似度匹配从而提取该命名实体在病历文本中的位置信息;
步骤4:通过数据匹配的方式进行数据抽取;
识别命名实体使用的模型为:包括CRF层和2层biLSTM;
输入为文本标签向量矩阵数据集,通过第一层biLSTM将词向量降维到128维,第二层biLSTM将词向量降维到3维,再通过softmax激活函数进行激活;
CRF层是条件随机场层,是对softmax分类的结果通过约束性规则进行修正,输出为最终预测的标签类别。
2.根据权利要求1所述的基于openEHR病历格式的非标准病历解析方法,其特征在于:电子病历分类识别方法为:包括以下步骤:
步骤1:病历文本经过数据预处理,得到预处理得到的数据集;
步骤2:预处理得到的数据集通过训练完成后的WDRNN模型进行分类预测,从而得到正确的OpenEHR病历模板。
3.根据权利要求2所述的基于openEHR病历格式的非标准病历解析方法,其特征在于:WDRNN模型的训练方法为;
深度学习模型采用前馈神经网络,双向LSTM模型,产生128维变长张量,通过Attention模型产生128维向量并经过Relu激活的全连接层输出64维向量,最终连接到Softmax输出层,使用预处理得到的数据集进行训练。
4.根据权利要求3所述的基于openEHR病历格式的非标准病历解析方法,其特征在于:数据预处理方法为:通过在语料库中添加词典,利用jieba分词对病历进行分词得到病历文本,将医学语料文本中所有词构建词表,并对每一词进行one-hot编码,采用TD-IDF方法修正词频特征值得到文本向量,得到预处理得到的数据集。
5.根据权利要求4所述的基于openEHR病历格式的非标准病历解析方法,其特征在于:相似度匹配使用的模型为基于LSTM的循环神经网络语义模型:
正负样本集的临床检验项目数据集和正确的OpenEHR病历模板的临床检验项目作为两路输入,通过基于LSTM的循环神经网络语义模型;该模型使用两层LSTM,输出均为128维;两层LSTM构成的结构将输入映射成128维特征向量,最后两个特征向量输入由Relu激活的全连接层和由Sigmoid激活的输出层组成,其中Relu层的输入为两个128维向量拼接而成的256维向量,输出为64维向量,Sigmoid输出层的输出为匹配的得分,得分输出为0到1的数,代表匹配得分,即两个临床检验项目的语义相似概率,选取相似概率最高的作为匹配结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910582002.9A CN110335653B (zh) | 2019-06-30 | 2019-06-30 | 基于openEHR病历格式的非标准病历解析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910582002.9A CN110335653B (zh) | 2019-06-30 | 2019-06-30 | 基于openEHR病历格式的非标准病历解析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110335653A CN110335653A (zh) | 2019-10-15 |
CN110335653B true CN110335653B (zh) | 2022-05-24 |
Family
ID=68143701
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910582002.9A Active CN110335653B (zh) | 2019-06-30 | 2019-06-30 | 基于openEHR病历格式的非标准病历解析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110335653B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111177309B (zh) * | 2019-12-05 | 2024-04-12 | 宁波紫冬认知信息科技有限公司 | 病历数据的处理方法及装置 |
CN111312354B (zh) * | 2020-02-10 | 2023-10-24 | 东华大学 | 基于多智能体强化学习的乳腺病历实体识别标注增强系统 |
CN111370132B (zh) * | 2020-02-28 | 2022-04-15 | 平安医疗健康管理股份有限公司 | 电子文件的解析方法及装置、计算机设备、存储介质 |
CN112786129A (zh) * | 2020-03-19 | 2021-05-11 | 中国医学科学院北京协和医院 | 病例数据的分析方法、装置、电子设备及存储介质 |
CN111696637A (zh) * | 2020-05-15 | 2020-09-22 | 平安科技(深圳)有限公司 | 一种病历数据的质量检测方法和相关装置 |
CN112002415B (zh) * | 2020-08-23 | 2024-03-01 | 吾征智能技术(北京)有限公司 | 一种基于人体粪便智能认知疾病系统 |
CN112101030B (zh) * | 2020-08-24 | 2024-01-26 | 沈阳东软智能医疗科技研究院有限公司 | 建立术语映射模型、实现标准词映射的方法、装置及设备 |
CN112131851B (zh) * | 2020-09-03 | 2022-07-29 | 卫宁健康科技集团股份有限公司 | 一种目标电子病历模板生成方法及装置 |
CN112863628A (zh) * | 2021-03-16 | 2021-05-28 | 云知声智能科技股份有限公司 | 一种电子病历数据处理方法及系统 |
CN113361254A (zh) * | 2021-06-03 | 2021-09-07 | 重庆南鹏人工智能科技研究院有限公司 | 一种自动化电子病历解析方法与装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102365641A (zh) * | 2009-03-26 | 2012-02-29 | 皇家飞利浦电子股份有限公司 | 基于诊断信息自动检索报告模板的系统 |
CN103810259A (zh) * | 2014-01-26 | 2014-05-21 | 浙江大学 | 基于OpenEHR的尿检原型构建和数据存储方法 |
CN104835098A (zh) * | 2015-05-15 | 2015-08-12 | 上海翼依信息技术有限公司 | 一种病历电子数据识别方法及系统 |
CN105512985A (zh) * | 2015-12-29 | 2016-04-20 | 杭州邦泰科技有限公司 | 基于openEHR标准的糖尿病电子病历数据存储方法 |
CN108628824A (zh) * | 2018-04-08 | 2018-10-09 | 上海熙业信息科技有限公司 | 一种基于中文电子病历的实体识别方法 |
CN108831559B (zh) * | 2018-06-20 | 2021-01-15 | 清华大学 | 一种中文电子病历文本分析方法与系统 |
CN109471895B (zh) * | 2018-10-29 | 2021-02-26 | 清华大学 | 电子病历表型抽取、表型名称规范化方法及系统 |
CN109632693A (zh) * | 2018-12-10 | 2019-04-16 | 昆明理工大学 | 一种基于blstm-rnn的太赫兹光谱识别方法 |
-
2019
- 2019-06-30 CN CN201910582002.9A patent/CN110335653B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110335653A (zh) | 2019-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110335653B (zh) | 基于openEHR病历格式的非标准病历解析方法 | |
CN110019839B (zh) | 基于神经网络和远程监督的医学知识图谱构建方法和系统 | |
CN110210037B (zh) | 面向循证医学领域的类别检测方法 | |
CN111274806B (zh) | 分词和词性识别方法、装置及电子病历的分析方法、装置 | |
CN106599032B (zh) | 一种结合稀疏编码和结构感知机的文本事件抽取方法 | |
CN111738003B (zh) | 命名实体识别模型训练方法、命名实体识别方法和介质 | |
CN106844351B (zh) | 一种面向多数据源的医疗机构组织类实体识别方法及装置 | |
CN111611775B (zh) | 一种实体识别模型生成方法、实体识别方法及装置、设备 | |
CN112151183A (zh) | 一种基于Lattice LSTM模型的中文电子病历的实体识别方法 | |
CN109003677B (zh) | 病历数据结构化分析处理方法 | |
CN114818717A (zh) | 融合词汇和句法信息的中文命名实体识别方法及系统 | |
CN115238697A (zh) | 基于自然语言处理的司法命名实体识别方法 | |
CN115130465A (zh) | 文献数据集上知识图谱实体标注错误识别方法和系统 | |
CN112784601B (zh) | 关键信息提取方法、装置、电子设备和存储介质 | |
CN112732863B (zh) | 电子病历标准化切分方法 | |
CN113157918A (zh) | 一种基于注意力机制的商品名称短文本分类方法和系统 | |
CN116881463A (zh) | 基于数据的艺术多模态语料库构建系统 | |
CN116702753A (zh) | 基于图注意力网络的文本情感分析方法 | |
CN116127097A (zh) | 一种结构化文本关系抽取方法、装置、设备 | |
CN115510230A (zh) | 一种基于多维特征融合与比较增强学习机制的蒙古语情感分析方法 | |
CN115630140A (zh) | 一种基于文本特征融合的英语阅读材料难度判断的方法 | |
CN115204143A (zh) | 一种基于prompt的文本相似度计算方法及系统 | |
CN114817537A (zh) | 一种基于政策文件数据的分类方法 | |
CN114757183A (zh) | 一种基于对比对齐网络的跨领域情感分类方法 | |
CN114611489A (zh) | 文本逻辑条件抽取ai模型构建方法、抽取方法及系统 |
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 |