一种基于npl的药品名片自动提取方法

文档序号:1087401 发布日期:2020-10-20 浏览:7次 >En<

阅读说明:本技术 一种基于npl的药品名片自动提取方法 (NPL-based automatic medicine business card extraction method ) 是由 邵志宇 傅建强 黄艳 陈龙彪 蔡晓海 游建议 林志铭 李灵琦 伊丽 于 2020-06-30 设计创作,主要内容包括:本发明公开了一种基于NLP的药品名片自动提取方法,方法具体包括如下步骤:步骤S1,对药品说明书进行预处理,构造训练集、验证集和测试集;步骤S2,加载训练集和验证集,进行数据封装和数据读取;步骤S3,加载BERT模型的配置数据和模型特征进行目标模型的参数初始化过程,构建BERT-BILSTM-CRF模型,训练BERT-BILSTM-CRF模型;步骤S4,利用训练好的BERT-BILSTM-CRF模型,加载测试集,对测试集数据预测输出药品名片字段内容。本发明提供的基于NLP的药品名片自动提取方法,有效提高提取效率和准确率,极大地减少人力成本。(The invention discloses an automatic extraction method of a medicine business card based on NLP, which specifically comprises the following steps: step S1, preprocessing the drug specification, and constructing a training set, a verification set and a test set; step S2, loading a training set and a verification set, and performing data encapsulation and data reading; step S3, loading configuration data and model characteristics of the BERT model to perform a parameter initialization process of the target model, constructing the BERT-BILSTM-CRF model, and training the BERT-BILSTM-CRF model; and step S4, loading a test set by using the trained BERT-BILSTM-CRF model, and predicting and outputting the field content of the medicine business card for the test set data. The automatic extraction method of the medicine business card based on NLP effectively improves extraction efficiency and accuracy and greatly reduces labor cost.)

一种基于NPL的药品名片自动提取方法

技术领域

本发明涉及一种信息处理领域,特别是涉及一种基于NPL的药品名片自动提取方法。

背景技术

药品说明书是载明药品重要信息的法定文件,是选用药品的法定指南,是药品的使用规范和药品信息的基本来源,是医生、药师、护师和病人治疗用药时的科学依据,最具医疗权威和法律效应,且药品说明书包含药品的安全性和有效性等基本科学信息。药品名片则是以药品说明书为底层数据库提取的药品知识名片,是认识药品最快有效的方法。

随着国家对互联网科技的重视,医院的药品维护系统已进入智能时代,在医院内部积攒了海量的药品说明书。这些药品说明书中包含了药品的成份与性状,用法用量,禁忌,接种对象、药理作用、适应症和注意事项等项内容。药品名片的构建维护显得至关重要。

近年来深度学习发展迅速,在语音识别、图像处理、自然语言处理等领域都取得了巨大的成就。考虑现有的药品名片维护方法主要是依赖于药师对专业认识的认知来对药品说明进行字段识别,手动填写药品名片内容,其维护效率低,且耗时耗力,同时药品维护方法还有基于规则的方法,也需要消耗大量人力成本,且规则本身难以设计,需要大量人力根据药品说明书构建药品名片,药品名片维护对于人力开销巨大。

发明内容

本发明针对现有技术存在的技术问题,提供一种基于NLP(自然语言处理)的药品名片自动提取方法,有效提高提取效率和准确率,极大地减少人力成本。

本发明解决其技术问题所采用的技术方案是:

一种基于NLP的药品名片自动提取方法,包括:

步骤S1,对药品说明书进行预处理,构造训练集、验证集和测试集;

步骤S2,加载训练集和验证集,进行数据封装和数据读取;

步骤S3,加载BERT模型的配置数据和模型特征进行目标模型的参数初始化过程,构建BERT-BILSTM-CRF模型,训练BERT-BILSTM-CRF模型;

步骤S4,利用训练好的BERT-BILSTM-CRF模型,加载测试集,对测试集数据预测输出药品名片字段内容。

优选的,所述步骤S1包括:

将药品说明书中内容按关键字分块存储于各个文本;

将所有同关键字的文本合并,构建数据集;

根据BIO表示法对数据集标注数据,得到训练集、验证集和测试集;

对训练集、验证集和测试集进行数据清洗。

优选的,所述的关键字包括但不限于:药品名称、适应症、用法用量、药理作用、不良反应、注意事项和禁忌。

优选的,所述步骤S2包括:

S21、加载训练集和验证集,得到数据的输入样本,即样本、样本编码和标签;

S22、构造一个评估控制器;

S23、将所有输入样本封装成为“tf_record格式”数据,作为模型数据输入;

S24、读取“tf_record格式”数据,组成批数据。

优选的,所述S23中,建立标签和编码的映射词典,并保存该词典,对数据进行分词,进行序列截断,长度为最大序列长度-2,并在序列首尾加上分隔符CLS和SEP符号,结构化到数据的特性集对象中。

优选的,所述步骤S3包括:

S31、构建模型,加载BERT模型的配置数据和模型特征,获取对应字的字向量;

S32、加载BILSTM-CRF模型对象,构造BERT-BILSTM-CRF模型;

S33、用评估控制器对训练集进行训练。

优选的,所述步骤S4包括:

S41、BERT-BILSTM-CRF模型参数,恢复模型;并加载标签和编码的映射词典;

S42、将测试集文本数据进行分词,并将字转化为字向量,将标签转化为对应编码,然后结构化到数据的特性集对象中;

S43、取得每个文本的输入样本中字的编码、输入掩码、段编码、标签的编码,并根据输入样本中字的编码、输入掩码运行会话获取当前预测的标签编码结果;

S44、根据加载的标签和编码映射词典将编码形式的结果转化为真实序列标签结果;

S45、根据真实序列标签结果和输入序列结合,获取标注结果,输出提取的药品名片字段。

相较于现有技术,本发明具有以下有益效果:

1、本发明基于NLP构建深度学习模型对药品说明书自动提取药品名片,相较于现有方法所采用的人工手动提取方法,具有优异的提取效率和准确率,极大地减少了人力成本。

以下结合附图及实施例对本发明作进一步详细说明;但本发明的一种基于NLP的药品名片自动提取方法不局限于实施例。

附图说明

图1是本发明的方法流程图;

图2是本发明实施例的药品说明书样本示意图;

图3是本发明实施例训练集样本示意图;

图4是本发明的实施例测试集准确率的结果示意图。

具体实施方式

实施例,请参阅图1,本发明的基于NLP的药品名片自动提取方法,包括下列步骤:

步骤S1,对药品说明书进行预处理,构造训练集、验证集和测试集。如图2为药品说明书的样本。步骤S1具体包括:

S11、对原始预料(word版药品说明书)进行数据清洗。将药品说明书内容分块存储:即按照说明书内每个大关键字如【用法用量】、【药理作用】、【禁忌】等项进行切分,并建立文本,取名为相应的大关键字,把对应内容存至对应文本中。

S12、将所有同关键字的文本合并,构成数据集。

S13、根据BIO表示法(B代表当前词是一个组块的开始,I当前词在一个组块中,O代表当前词不在任意组块中)对数据集标注数据,得到训练集、验证集和测试集,如图3。

S14、对训练集、验证集和测试集进行数据清洗,包括对标签标注格式检查,以及对三个数据集进行最大长度序列分割。

步骤S2,加载训练集、验证集,进行数据封装和数据读取,为模型输入做准备。步骤S2具体包括:

S21、加载训练集和验证集,得到数据的输入样本,即样本,样本编码和标签。

S22、利用“tf.estimator.Estimator”类构造一个评估控制器Estimator。

S23、将所有输入样本封装成为“tf_record(TFRecord格式是一种二进制文件,它能够更好的利用内存,更方便复制和移动,并且不需要单独的标签文件)格式”数据(数据封装),作为模型数据输入。建立标签和编码的映射词典,并保存该词典。对数据进行分词(英文分词,中文分字)。进行序列截断,长度为最大序列长度-2,并在序列首尾加上分隔符[CLS]和[SEP]符号。结构化到数据的特性集(InputFeatures)对象中。包括input_ids(输入样本中字的编码)、input_mask(输入掩码)、segment_ids(段编码)、label_ids(标签的编码)。

S24、利用“tf.data.TFRecordDataset”接口读取“tf_record格式”数据,组成批数据(数据读取)。

步骤S3,加载BERT模型的配置数据和模型特征进行目标模型的参数初始化过程,构建BERT-BILSTM-CRF模型,训练BERT-BILSTM-CRF模型。步骤S3具体包括:

S31、构建模型,加载BERT模型的配置数据和模型特征,即获取BERT模型的最后一层,获取对应字的embedding(字向量)。BERT模型的最后一层是所有“transformer模型”结果的最后一维,其是一个三维向量,维度是[batch_size,seq_length,embedding_size](批数据量大小,序列长度,词嵌入大小)。

S32、加载BILSTM-CRF模型对象,即添加双向长短期记忆网络,并添加条件随机场作为输出层,构造BERT-BILSTM-CRF模型。

S33、用评估控制器Estimator对训练集进行训练。

步骤S4,利用训练好的BERT-BILSTM-CRF模型,加载测试集,对测试集数据预测输出药品名片字段内容。步骤S4具体包括:

S41、初始化BERT-BILSTM-CRF模型参数,恢复模型。并加载标签和编码的映射词典。

S42、将测试集文本数据进行分词(英文分词,中文分字),并将字转化为字向量,将标签转化为对应编码,然后结构化到数据的特性集(InputFeatures)对象中。

S43、取得每个文本的“input_ids”(输入样本中字的编码),“input_mask”(输入掩码),“segment_ids”(段编码),“label_ids”(标签的编码)。并根据“input_ids”(输入样本中字的编码),“input_mask”运行会话获取当前预测的标签编码结果。

S44、根据加载的标签和编码映射词典将编码形式的结果转化为真实序列标签结果。

S45、根据真实序列标签结果和输入序列结合,获取标注结果,输出提取的药品名片字段。

本发明提出的方法是基于BERT,双向长短期记忆网络与条件随机场进行命名实体识别,BERT模型采用的是“双向Transformer”,模型的表示在所有层中,共同依赖于左右两侧的上下文,且能获得句子上下文更远的语言信息,能更好的正确理解语句和文章的语义信息。双向长短期记忆网络则不仅能捕获时序的动态信息,而且能够利用当前词的前后文信息,最终获取较强的依赖关系。将双向长短期记忆网络与条件随机场进行结合,这样既可以利用BiLSTM提取文本序列中的上下文信息,也可以通过CRF在整句层面上的标注信息来提高标注精确率。本发明提取准确率如图4所示。

上述实施例仅用来进一步说明本发明,但本发明并不局限于实施例,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均落入本发明技术方案的保护范围内。

9页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于导入Excel与三维模型互补的变电站工程方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!