CN110442840A - 序列标注网络更新方法、电子病历处理方法及相关装置 - Google Patents
序列标注网络更新方法、电子病历处理方法及相关装置 Download PDFInfo
- Publication number
- CN110442840A CN110442840A CN201910625241.8A CN201910625241A CN110442840A CN 110442840 A CN110442840 A CN 110442840A CN 201910625241 A CN201910625241 A CN 201910625241A CN 110442840 A CN110442840 A CN 110442840A
- Authority
- CN
- China
- Prior art keywords
- sequence
- network
- vector
- semantic
- labelling
- 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
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/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3347—Query execution using vector based model
-
- 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/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Animal Behavior & Ethology (AREA)
- Epidemiology (AREA)
- Medical Informatics (AREA)
- Primary Health Care (AREA)
- Public Health (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例涉及自然语言处理技术领域,提供一种序列标注网络更新方法、电子病历处理方法及相关装置,所述方法包括:获取待训练序列和待训练序列的标注序列;将待训练序列输入预先构建的序列标注网络,利用序列标注网络的前处理网络获得待训练序列的嵌入向量序列;将嵌入向量序列输入序列标注网络的语义处理网络,得到待训练序列对应的语义序列;利用序列标注网络的后处理网络对语义序列进行处理,得到待训练序列的预测结果;依据预测结果和标注序列对序列标注网络进行参数更新。与现有技术相比,本发明实施例增加了语义处理网络学习序列的语义信息,能够有效提高序列标注的准确度。
Description
技术领域
本发明实施例涉及自然语言处理技术领域,具体而言,涉及一种序列标注网络更新方法、电子病历处理方法及相关装置。
背景技术
随着计算机技术的发展,人们越来越希望计算机能够理解人类的语言,以更好的辅助自身完成各种工作,因此自然语言处理成为了近年来的研究热点。而在自然语言处理中,序列标注问题是最常见的问题,因为绝大多数自然语言处理问题都可以转换为序列标注问题,序列标注问题包括分词标注、词性标注、命名实体识别,关键词抽取,词义角色标注等等。
传统技术中,通常采用隐马尔可夫模型(Hidden Markov Model,HMM)、最大熵模型、条件随机场(Conditional random field,CRF)等来将解决序列标注问题,这些模型均需要人工寻找特征,故序列标注的准确度不足。
发明内容
本发明实施例的目的在于提供一种序列标注网络更新方法、电子病历处理方法及相关装置,用以解决现有序列标注准确度低的问题。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种序列标注网络更新方法,所述方法包括:获取待训练序列和所述待训练序列的标注序列;将所述待训练序列输入预先构建的序列标注网络,利用所述序列标注网络的前处理网络获得所述待训练序列的嵌入向量序列,所述嵌入向量序列包括所述待训练序列中每个词的嵌入向量,所述嵌入向量包括字嵌入向量和/或词嵌入向量、以及位置嵌入向量;将所述嵌入向量序列输入所述序列标注网络的语义处理网络,得到所述待训练序列对应的语义序列;利用所述序列标注网络的后处理网络对所述语义序列进行处理,得到所述待训练序列的预测结果;依据所述预测结果和所述标注序列对所述序列标注网络进行参数更新。
第二方面,本发明实施例还提供了一种电子病历处理方法,所述方法包括:获取电子病历文本;对所述电子病历文本进行预处理,得到表征待训练序列的多个待识别序列;将每一所述待识别序列输入利用上述的序列标注网络更新方法更新后的序列标注网络,得到表征预测结果的所有预测实体序列及每个预测实体序列的序列得分;将序列得分最高的预测实体序列作为每一所述待识别序列的实体序列;依据所有待识别序列的实体序列,生成所述电子病历文本对应的医学科普结果,并将所述医学科普结果添加至预先建立的医学知识库中,所述医学科普结果包括所述电子病历文本中的所有实体及每个实体的医学科普知识。
第三方面,本发明实施例还提供了一种序列标注网络更新装置,所述装置包括第一获取模块、第一执行模块、第二执行模块、第三执行模块及参数更新模块。其中,第一获取模块用于获取待训练序列和所述待训练序列的标注序列;第一执行模块用于将所述待训练序列输入预先构建的序列标注网络,利用所述序列标注网络的前处理网络获得所述待训练序列的嵌入向量序列,所述嵌入向量序列包括所述待训练序列中每个词的嵌入向量,所述嵌入向量包括字嵌入向量和/或词嵌入向量、以及位置嵌入向量;第二执行模块用于将所述嵌入向量序列输入所述序列标注网络的语义处理网络,得到所述待训练序列对应的语义序列;第三执行模块用于利用所述序列标注网络的后处理网络对所述语义序列进行处理,得到所述待训练序列的预测结果;参数更新模块用于依据所述预测结果和所述标注序列对所述序列标注网络进行参数更新。
第四方面,本发明实施例还提供了一种电子病历处理装置,所述装置包括第二获取模块、预处理模块、第一处理模块、第二处理模块及第三处理模块。其中,第二获取模块用于获取电子病历文本;预处理模块用于对所述电子病历文本进行预处理,得到表征待训练序列的多个待识别序列;第一处理模块用于将每一所述待识别序列输入利用上述的序列标注网络更新方法更新后的序列标注网络,得到表征预测结果的所有预测实体序列及每个预测实体序列的序列得分;第二处理模块用于将序列得分最高的预测实体序列作为每一所述待识别序列的实体序列;第三处理模块用于依据所有待识别序列的实体序列,生成所述电子病历文本对应的医学科普结果,并将所述医学科普结果添加至预先建立的医学知识库中,所述医学科普结果包括所述电子病历文本中的所有实体及每个实体的医学科普知识。
第五方面,本发明实施例还提供了一种电子设备,所述电子设备包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述的序列标注网络更新方法或者电子病历处理方法。
第六方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的序列标注网络更新方法或者电子病历处理方法。
相对现有技术,本发明实施例提供的一种序列标注网络更新方法、电子病历处理方法及相关装置,预先建立包括前处理网络、语义处理网络及后处理网络的序列标注网络,在对该序列标注网络进行参数更新时,利用前处理网络得到待训练序列的嵌入向量序列后,通过语义处理网络学习嵌入向量序列的语义信息,得到语义序列;再利用后处理网络输出待训练序列的预测结果,并依据预测结果更新序列标注网络的参数。与现有技术相比,本发明实施例增加了语义处理网络学习序列的语义信息,能够有效提高序列标注的准确度。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的序列标注网络更新方法的流程图。
图2示出了本发明实施例提供的序列标注网络的结构示意图。
图3示出了本发明实施例提供的语义连接网络的结构示意图。
图4示出了一种DCNN的结构示意图。
图5示出了本发明实施例提供的IDCNN的结构示意图。
图6示出了本发明实施例提供的电子病历处理方法的流程图。
图7示出了本发明实施例提供的序列标注网络更新装置的方框示意图。
图8示出了本发明实施例提供的电子病历处理装置的方框示意图。
图9示出了本发明实施例提供的电子设备的方框示意图。
图标:100-序列标注网络更新装置;101-第一获取模块;102-第一执行模块;103-第二执行模块;104-第三执行模块;105-参数更新模块;106-序列标注模块;200-电子病历处理装置;201-第二获取模块;202-预处理模块;203-第一处理模块;204-第二处理模块;205-第三处理模块;20-电子设备;21-处理器;22-存储器;23-总线。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请参照图1,图1示出了本发明实施例提供的序列标注网络更新方法的一流程图。序列标注网络更新方法可以应用于电子设备20,该序列标注网络更新方法包括以下步骤:
在自然语言处理中,序列标注网络是最常见的网络,也有着广泛的应用。与一般分类网络不同的是,序列标注网络输出的是一个标签序列,一般而言,标签之间是相互联系的,基于这种联系,在解决序列标注问题时序列标注网络往往能够得到比分类网络更好的结果。
传统的序列标注网络主要有HMM模型、最大熵隐马尔科夫模型、CRF模型等,在解决序列标注问题时,这些传统模型需要人工寻找特征并添加重要的外部特征,由于引入了大量的人力,故效率低且准确度低。
随着深度学习的发展,循环神经网络(Recurrent Neural Networks,RNN)在序列标注问题中取得了很好的效果,RNN是一种端到端的深度学习算法,其避免了繁琐的人工特征抽取,让序列标注问题变得简单,但是,RNN会出现梯度消失问题,即,无法正常的进行模型训练。为解决这一问题,改进的RNN逐渐被应用到序列标注中,例如,双向门控循环单元(Gated Recurrent Unit,GRU)、长短期记忆网络(Long Short-Term Memory,LSTM)、双向长短期记忆网络(Bi-directional Long Short-Term Memory,BiLSTM)等。改进的RNN能够处理可变长度的输入向量,并在处理过程中能够有长时期的记忆,但是,改进的RNN(例如,LSTM、BiLSTM等)很难并行计算,在训练和测试阶段比较耗时。
为了解决上述问题,本实施例构建序列标注网络,该序列标注网络采用卷积神经网络(Convolutional Neural Networks,CNN)及改进的CNN进行特征提取,改进的CNN可以包括空洞卷积神经网络(Dilated Convolutions Neural Network,DCNN)、迭代空洞卷积神经网络(Iteration Dilated Convolutions Neural Network,IDCNN)、DepthwiseConvolution(深度卷积)、PointwiseConvolution(逐点卷积)、Group Convolution(分组卷积)等,CNN及改进的CNN在并行计算上具有天生的优势,可以有效缩短训练和测试阶段的时长,并且,改进的CNN(例如,DCNN、IDCNN等)可以使感受野变得更大。感受野指的是CNN及改进的CNN中每一层输出的特征图上的一个点在输入图片上映射的区域大小,例如,CNN包括2层卷积核为3*3的卷积层,CNN的输入图片大小为10×10、输出图片大小为6×6,第1层卷积层输出的特征图为8×8,该特征图上一个点在输入图片上映射的区域大小为3×3,则第1层卷积层的感受野为3;第2层卷积层输出的特征图为6×6,该特征图上一个点在输入图片上映射的区域大小为5×5,则第2层卷积层的感受野为5。
但是,当序列长度较长时,CNN及改进的CNN不能很好的学习到序列的长距离特征信息,对于长距离依赖的序列,序列标注的准确度不足,因此,本实施例构建的序列标注网络还包括语义处理网络,语义处理网络能够学习序列中的语义信息以缓解长距离依赖问题,这样可以有效提高序列标注的效率和准确度。
本发明实施例可以用于解决分词标注、词性标注、命名实体识别、关键词抽取、词义角色标注等序列标注任务,下面以命名实体识别为例进行详细说明。
请参照图1,图1示出了本发明实施例提供的序列标注网络更新方法的一流程图。列标注网络更新方法可以应用于电子设备20,该序列标注网络更新方法包括以下步骤:
步骤S101,获取待训练序列和待训练序列的标注序列。
在本实施例中,首先建立训练样本集,训练样本集包括多个训练样本,每个训练样本均包括一个待训练序列和该待训练序列的标注序列,训练样本可以用(xi,yi)表示,xi表示待训练序列,xi的长度可以为n,即,xi=(xi1,xi2,…,xin);yi表示标注序列,yi的类别个数为n-classes,yi∈{y1,y2,…,yn_classes}。
待训练序列是待进行序列标注的线性输入序列,例如,小花在成都的四川大学读大一;标注序列是针对具体的序列标注任务,人工为待训练序列中的每个词打上标签集合中的某个标签,标签集合Y={y1,y2,…,yn_classes}。以命名实体识别为例,定义标签集合为:
LabelSet={BA,MA,EA,BO,MO,EO,BP,MP,EP,SA,SO,SP,O}
其中,BA代表地址(Address)首字,MA代表地址中间字,EA代表地址尾字;BO代表机构名(Org)首字,MO代表机构名中间字,EO代表机构名尾字;BP代表人名(PersonName)首字,MP代表人名中间字,EP代表人名尾字;O代表不属于命名实体;SA代表单个地址;SO代表单个机构名;SP代表单个人名。
例如,针对待训练序列“小花在成都的四川大学读大一”,该序列中“小花”为人名,“成都”为地名,“四川大学”为机构名,则得到标注序列为“小/BP花/EP在/O成/BA都/EA的/O四/BO川/MO大/MO学/EO读/O大/O一/O”。
作为一种实施方式,待训练序列可以从网络下载的文章、教材等文本数据中获取,也可以从用户实时传输的文本数据中获取,例如,用户通过电子设备20的输入界面输入的文本数据,或者用户通过与电子设备20通信连接的其他终端设备(例如,智能手机、平板电脑等)发送的文本数据;还可以从接入各个电子化的系统中获取,例如,接入电子医疗系统获取到的电子病历文本等。
在本实施例中,在获取到训练样本后,开始对预先建立的序列标注网络进行训练,请参照图2,序列标注网络包括前处理网络、语义处理网络及后处理网络。前处理网络用于获得待训练序列中每个词的嵌入向量,语义处理网络用于学习前处理网络得到的每个词的嵌入向量的语义信息,后处理网络用于输出待训练序列的预测结果,下面通过步骤S102~S104进行详细介绍。
步骤S102,将待训练序列输入预先构建的序列标注网络,利用序列标注网络的前处理网络获得待训练序列的嵌入向量序列,嵌入向量序列包括待训练序列中每个词的嵌入向量,嵌入向量包括字嵌入向量和/或词嵌入向量、以及位置嵌入向量。
在本实施例中,嵌入向量序列包括待训练序列中每个词的嵌入向量,如果待训练序列为中文,此处的“词”指的是待训练序列中的字或者词语;如果待训练序列为英文,此处的“词”指的是待训练序列中的单词,故每个词的嵌入向量可以包括每个词的字嵌入向量和/或词嵌入向量、以及位置嵌入向量。嵌入向量序列可以表示为e1、e2、…、en,其中,et∈Rn _dim,t=1,2,…,n,n_dim表示每个词的嵌入向量的长度。
在自然语言处理中,得到序列中每个词的嵌入向量的方法,一般有字嵌入、词嵌入、字嵌入和词嵌入的结合等。针对不同的序列标注任务,可以选择不同的嵌入方法,例如,在分词标注中,由于目标是对序列进行分词,故不能采用词嵌入;在命名实体识别中,可以采用字嵌入、词嵌入、字嵌入和词嵌入的结合等。另外,由于本实施例中的序列标注网络采用CNN及改进的CNN(例如,DCNN、IDCNN等),而CNN及改进的CNN(例如,DCNN、IDCNN等)不容易记住序列的位置,故为序列中的每个词添加位置嵌入,也就是,每个词的嵌入向量均包括这个词的字嵌入向量和/或词嵌入向量、以及位置嵌入向量。
也就是说,将待训练序列输入序列标注网络的前处理网络后,利用前处理网络获得待训练序列的嵌入向量序列的过程,可以包括:
首先,获得待训练序列中每个词的字嵌入向量和/或词嵌入向量;
在本实施例中,前处理网络可以对待训练序列进行分词处理,得到组成待训练序列的各个独立的字和/或词,再将各个独立的字和/或词向量化,就能得到待训练序列中每个词的字嵌入向量和/或词嵌入向量。具体地,可以先采用预设的分词方式对待训练序列进行分词处理,得到各个单独的字和/或词,这些字和/或词按照各自在待训练序列中出现的先后顺序排列,例如,待训练序列为“小花在成都的四川大学读大一”,将其分词得到“小/花/在/成/都/的/四/川/大/学/读/大/一/”;然后,根据每个字和/或词的内容,将每个字和/或词向量化,得到每个词的字嵌入向量和/或词嵌入向量,例如,“小”的字嵌入向量为[00 0 1...],“花”的字嵌入向量为[0 0 1 0...]。在对每个字和/或词进行向量化时,可以采用随机初始化的方法,也可以利用机器学习模型将每个字和/或词向量化的方法,机器学习模型可以是Word2Vec、GloVe等。
然后,获得待训练序列中每个词的位置嵌入向量;
在本实施例中,由于序列标注网络中采用的IDCNN不容易记住序列的位置,故为待训练序列中的每个词添加位置嵌入。具体地,可以先获取每个词在待训练序列中的位置,位置可以用0~9的数字进行表示,例如,待训练序列“小花在成都的四川大学读大一”中,每个词的位置为“小/0花/1在/2成/3都/4的/5四/6川/7大/8学/9读/0大/1一/2”;然后,将每个词的位置向量化,就能得到每个词的位置嵌入向量,例如,“小”的位置嵌入向量为[0 0 00...],“花”的位置嵌入向量为[0 0 0 1...]。
最后,合并每个词的字嵌入向量和/或词嵌入向量与位置嵌入向量,得到每个词的嵌入向量,其中,所有词的嵌入向量构成嵌入向量序列。
在本实施例中,得到待训练序列中每个每个词的字嵌入向量和/或词嵌入向量、位置嵌入向量后,合并每个词的字嵌入向量和/或词嵌入向量、位置嵌入向量为一个向量,即可得到每个词的嵌入向量,这里的合并可以是将字嵌入向量和/或词嵌入向量与位置嵌入向量进行拼接,假设字嵌入向量和/或词嵌入向量的维度为n_dim1、位置嵌入向量的维度为n_dim2,则嵌入向量的维度n_dim=n_dim1+n_dim2。例如,“小”的嵌入向量为[0 0 0 1...00 0 0...],“花”的嵌入向量为[0 0 1 0...0 0 0 1...]。
步骤S103,将嵌入向量序列输入序列标注网络的语义处理网络,得到待训练序列对应的语义序列。
在本实施例中,利用前处理网络获得待训练序列的嵌入向量序列之后,将嵌入向量序列输入语义处理网络,利用语义处理网络学习嵌入向量序列的语义信息,语义信息是反映对应词的语义的向量,这里的语义是对应词在待训练序列中表达的语义,也就是说,每个词的语义信息是该词在待训练序列的语境中结合上下文信息反映的语义。例如,“乒乓球拍卖完了”和“拍卖会结束了”这两个序列中均包含“拍卖”这一词,但是这两个“拍卖”有着不同的语义,第一个的语义是球拍卖完了,第二个的语义是拍卖。
对于长距离依赖的序列,同一个词可能会出现多次,如上述举例中的“拍卖”,每次出现时的上下文信息可能不同,此时就需要知道这个词当前的语义,并根据语义进行序列标注,以此来提高序列标注的准确度。
作为一种实施方式,语义处理网络可以包括CNN+注意力(attention)层、或者改进的CNN+attention层等,改进的CNN可以包括DCNN、IDCNN、Depthwise Convolution、PointwiseConvolution、Group Convolution,或者任意组合等。
作为另一种实施方式,语义处理网络可以包括卷积神经网络和语义连接网络,此时,将嵌入向量序列输入序列标注网络的语义处理网络,得到待训练序列对应的语义序列的过程,可以包括:
第一步,将嵌入向量序列输入卷积神经网络,通过卷积神经网络学习浅层语义信息,得到特征序列;
在本实施例中,卷积神经网络用于对嵌入向量序列进行特征提取,以学习序列中的浅层语义信息,这里的卷积神经网络即为普通的卷积神经网络CNN,也可以用改进的CNN(例如,DCNN、IDCNN等)代替这里的CNN。浅层语义信息指的是单个词的语义,例如,“苹果”这个词的语义是“一种水果”,“一种水果”即为浅层语义信息。
本实施例中卷积神经网络的输入为前处理网络的输出,即嵌入向量序列e1、e2、…、en,其可以学习嵌入向量序列的浅层语义信息,从而输出特征序列例如,
其中,Wc为卷积神经网络的参数,λ为卷积神经网络的感受野大小,感受野大小表示的是输出神经元只与其临近的λ个输入神经元有关,式(1)中CNN的输入神经元与输出神经元的连接是通过定义λ的大小而相互连接的。
第二步,将特征序列输入语义连接网络,通过语义连接网络学习深层语义信息,得到语义序列。
在本实施例中,通过卷积神经网络得到特征序列之后,将特征序列输入语义连接网络,以学习序列中的深层语义信息,语义连接网络可以包括CNN、DCNN、IDCNN、DepthwiseConvolution、PointwiseConvolution、Group Convolution,或者任意组合等。深层语义信息指的是各个词在具体序列中的特定语义,例如,“苹果”在“我的苹果手机坏了”中的特定语义为“手机品牌”,“手机品牌”即为深层语义信息。
作为一种实施方式,语义连接网络可以包括多层串联连接的IDCNN,如图3所示,IDCNN包括k个堆叠的DCNN,k的大小、每个DCNN的λ和膨胀步长width均可以由用户自行设定,DCNN的输入神经元与输出神经元通过膨胀步长width相互连接。
请参照图4,图4示出了一种DCNN的结构示意图,该DCNN的width=2、λ=5,当width=1时,DCNN即为CNN。从图4中可以看出,输出神经元与其临近的5个输入神经元有关,但是,由于设定的膨胀步长为2,因此,输出神经元只与其中的三个输入神经元有连接,也即输出神经元以width=2的步长与其感受野λ=5的输入神经元相互连接,具体的计算过程为:
假设DCNN的输入层和输出层的序列向量分别为i=(i1,i2,…,in)、o=(o1,o2,…,on),其中,则可以计算出输出向量为:
ot=W·[it-2,it,it+2] (2)
其中,W为DCNN的参数且符号·表示矩阵的乘法运算,符号[]表示向量的连接,如,向量a=(1,2,3),向量b=(4,5,6),则[a,b]=(1,2,3,4,5,6)。通常将式(1)写为:
ot=DCNN((i1,i2,…,in),λ,width,W),?t=1,2,…,n (3)
请参照图5,本实施例提供的IDCNN共迭代了3层DCNN,其中,第1层DCNN(图5中的隐藏层1)的λ=3,width=1;第2层DCNN(图5中的隐藏层2)的λ=5,width=2;第3层DCNN(图5中的输出层)的λ=9,width=4,记作层数k=3、λ=[3,5,9]、膨胀步长width=[1,2,4],IDCNN具体的计算过程为:
假设输入层序列向量为i=(i1,i2,…,in),隐藏层1序列向量为隐藏层2序列向量为输出层序列向量为o=(o1,o2,…,on),即可得到3层DCNN的输出依次为:
对式(4)~(6)进行简化,得到IDCNN的输出为:
ot=IDCNN(input=(i1,i2,…,in),k=3,λ=[3,5,9],width=[1,2,4],W=[W1,W2,W3]) (7)
其中,t=1,2,…,n,(i1,i2,…,in)为IDCNN的输入,W1,W2,W3分别为第1层、第2层、第3层DCNN的参数。
在本实施例中,图3示出的语义连接网络共包括k层IDCNN,k=1,2,…,语义连接网络的输出向量长度为h,k层IDCNN的输出序列向量分别为k层IDCNN的输入序列向量分别为利用图3所示的语义连接网络学习深层语义信息,得到语义序列的过程,可以包括:
首先,将特征序列输入第一层IDCNN进行卷积处理,得到输出向量序列并输入中间层IDCNN,中间层IDCNN包括至少一层IDCNN,也就是将将卷积神经网络输出的特征序列输入第一层IDCNN,即,第一层IDCNN对特征序列进行卷积处理,即,
其中,t=1,2,…,n,为第一层IDCNN的参数。
然后,在中间层IDCNN中,合并当前层IDCNN前每一层IDCNN的输出向量序列作为当前层IDCNN的输入向量序列,即,
也就是,将第一层IDCNN的输出向量序列作为第二层IDCNN的输入向量序列,合并第一层IDCNN、第二层IDCNN的输出向量序列作为第三层IDCNN的输入向量序列,合并第一层IDCNN、第二层IDCNN、第三层IDCNN的输出序列作为第四层IDCNN的输入向量序列等;
利用当前层IDCNN对输入向量序列进行卷积处理,得到当前层IDCNN的输出向量序列,即,
其中,t=1,2,…,k,t=1,2,…,n,为第j层IDCNN的参数。
最后,合并最后一层IDCNN前每一层IDCNN的输出向量序列作为最后一层IDCNN的输入向量序列,并将最后一层IDCNN的输出向量序列作为语义序列,假设语义连接网络的最后一层IDCNN的输出向量序列为即将作为语义序列,即,
其中,
步骤S104,利用所述序列标注网络的后处理网络对所述语义序列进行处理,得到所述待训练序列的预测结果。
在本实施例中,利用语义处理网络得到待训练序列对应的语义序列之后,将语义序列输入后处理网络,利用后处理网络对语义序列中的每个向量进行处理,此时,后处理网络可以包括前馈神经网络层(feed-forward)、或者包括前馈神经网络层+CRF层,预测结果包括所有预测序列及每个预测序列的序列得分。
作为一种实施方式,后处理网络包括第一预测网络和第二预测网络,第一预测网络可以为前馈神经网络层,第二网络可以为CRF层。此时,利用后处理网络对语义序列进行处理,得到待训练序列对应的预测结果的过程,可以包括:
第一步,将语义序列输入第一预测网络,得到所有的预测序列及每个预测序列的输出得分,其中,输出得分包括待训练序列中每个词被预测为一个预设标签的概率之和,预测序列包括待训练序列中每个词的预测标签。以命名实体识别为例,预测序列包括每个词的预测标签BA/MA/EA/BO/MO/EO/BP/MP/EP/O,输出得分包括待训练序列中的每个词被预测为标签集合LabelSet={BA,MA,EA,BO,MO,EO,BP,MP,EP,SA,SO,SP,O}中一个预设标签的概率之和。
假设第一预测网络的输出向量序列为o1、o2、…、on,则
其中,Wt和bt为需要学习的参数;ot表示序列标注任务对应的标签类别,ot的向量长度为n-classes,记作otk表示待训练序列xi的第t个元素xit被预测为预设标签yk的概率。因此,对于待训练序列xi,预测序列可以用yi=(yi1,yi2,…,yin)表示,预测序列中任意两个预测标签是相互独立的,同时,预测序列yi=(yi1,yi2,…,yin)的输出得分为:
其中,l=1,2,…,n,k=1,2,…,n,n≠k。
以命名实体识别为例,针对待训练序列“小花在成都的四川大学读大一”,第一预测网络得到的部分预测序列及其输出得分如下:
y1={小/BP花/EP在/O成/BA都/EA的/O四/BO川/MO大/MO学/EO读/O大/O一/O},S1=6;
y2={小/BP花/BP在/O成/BA都/MA的/O四/BO川/MO大/MO学/EO读/O大/O一/O},S1=5;
y3={小/BP花/BP在/O成/BA都/MA的/O四/BO川/MO大/EO学/EO读/O大/O一/O},S1=4。
第二步,将每个预测序列的输出得分输入第二预测网络,第二预测网络依据转移得分矩阵和每个预测序列的输出得分,输出每个预测序列的序列得分,其中,转移得分矩阵表征由一个预设标签转移到另一个预设标签的概率。以命名实体识别为例,转移得分矩阵可以用于确定待训练序列中前一个词的预测标签为BA、MA、EA、BO、MO、EO、BP、MP、EP、O时,后一个词的预测标签为BA/MA/EA/BO/MO/EO/BP/MP/EP/O的概率,例如,当前一个词的预测标签为BA时,后一个词的预测标签不可能为BA,即,由BA转移到BA的概率为0。
假设转移得分矩阵为A=[Aij],Aij表示由标签yi转移到标签yj的转移概率,即
Aij=p(yit=yj|yit-1=yi) (13)
对于待训练序列xi,预测序列yi=(yi1,yi2,…,yin)的转移得分为:
其中,y0和yin+1分别代表待训练序列的起始(start)和结束(end),且当前元素的标签yit只与其前一个元素的标签yit-1有关,即p(yit|yi1,yi2,…,yit-1)=p(yit|yit-1)。
以命名实体识别为例,针对待训练序列“小花在成都的四川大学读大一”,部分预测序列及其转移得分如下:
y1={小/BP花/EP在/O成/BA都/EA的/O四/BO川/MO大/MO学/EO读/O大/O一/O},S2=3.5;
y2={小/BP花/BP在/O成/BA都/MA的/O四/BO川/MO大/MO学/EO读/O大/O一/O},S2=2.5;
y3={小/BP花/BP在/O成/BA都/MA的/O四/BO川/MO大/EO学/EO读/O大/O一/O},S2=1。
因此,对于待训练序列xi,其预测序列yi=(yi1,yi2,…,yin)的序列得分为:
以命名实体识别为例,针对待训练序列“小花在成都的四川大学读大一”,部分预测序列的序列得分为:
y1={小/BP花/EP在/O成/BA都/EA的/O四/BO川/MO大/MO学/EO读/O大/O一/O},S=9.5;
y2={小/BP花/BP在/O成/BA都/MA的/O四/BO川/MO大/MO学/EO读/O大/O一/O},S=7.5;
y3={小/BP花/BP在/O成/BA都/MA的/O四/BO川/MO大/EO学/EO读/O大/O一/O},S=5。
步骤S105,依据预测结果和标注序列对序列标注网络进行参数更新。
在本实施例中,将待训练序列输入序列标注网络得到预测结果后,基于预测结果和标注序列,利用反向传播算法对序列标注网络进行参数更新,具体过程可以包括:
第一步,依据每个预测序列的序列得分和标注序列,确定损失函数;
在本实施例中,损失函数用于衡量序列标注网络得到的预测序列与标注序列的不一致程度,损失函数越小,表明序列标注网络的性能越好,可以定义损失函数为:
其中,yi表示待训练序列xi的标注序列,S(xi,yi)表示标注序列yi的序列得分,以命名实体识别为例,对于待训练序列“小花在成都的四川大学读大一”,假设其标注序列“小/BP花/EP在/O成/BA都/EA的/O四/BO川/MO大/MO学/EO读/O大/O一/O”的总得分为10;表示待训练序列xi的所有预测序列,表示对每个预测序列的序列得分进行求和。
第二步,依据损失函数更新序列标注网络的参数,直至损失函数满足预设收敛条件,得到更新后的序列标注网络。
在本实施例中,可以通过梯度下降优化算法来最小化损失函数,具体地,首先计算损失函数的梯度,并根据梯度来更新序列标注网络中卷积神经网络、语义语义连接网络及第一预测网络的参数,即,式(1)中的Wc、式(9)中的式(11)中的Wt和bt,以最小化损失函数;然后,判断损失函数是否满足预设收敛条件,预设收敛条件可以是根据经验设定的迭代次数(例如,2000次)或者最小值(例如,0.1),当损失函数满足预设收敛条件时,停止序列标注网络的参数更新,得到更新后的序列标注网络。
完成序列标注网络的更新之后,可以利用更新后的序列标注网络进行序列标注任务,例如,进行分词、词性标注、命名实体识别、实体修饰识别等任务,序列标注任务可以应用在机器翻译、智能客服、医疗、农业等领域,下面以序列标注任务在电子病历领域的应用为例进行描述。
随着社会的发展,电子医疗系统得到了迅速普及,大量医疗相关的信息以电子病历(Electronic Medical Records,EMR)的形式存储下来。电子病历是指医务人员在医疗活动过程中,使用医疗机构的信息系统生成的面向患者个体的数字化医疗记录,包含了关于病人个体健康信息的全面、详实、专业、即时、准确的描述。电子病历通常由结构化数据和非结构化数据组成,结构化数据包括医院名称、就诊时间、科室、医生姓名等能够自动生成的数据;非结构化数据主要是医务人员以自由文本形式记载的病理信息,可以包括主诉、现病史、病程记录、病历小结等。
采用序列标注网络对电子病历进行分析和挖掘,可以从中获得大量的医疗知识,且这些知识可应用于临床决策支持和个性化医疗健康信息服务等方面,例如,某患者的电子病历中记录着“头CT显示脑实质内高密度灶”,对该电子病历进行分词处理,可以得到分词结果“头CT/显示/脑实质内高密度灶/”;对该电子病历进行命名实体识别,可以得到实体“头CT”和“脑实质内高密度灶”,二者的实体类别分别为检查手段和疾病。
下面以利用序列标注网络进行电子病历命名实体识别为例进行描述。请参照图6,图6示出了本发明实施例提供的电子病历处理方法的流程图。电子病历处理方法可以应用于电子设备20,该电子病历处理方法包括以下步骤:
步骤S201,获取电子病历文本。
通常,电子病历的非结构化数据定义的实体有4类,包括疾病(disease)、检查(test)、症状(symptom)、治疗(treatment),也就是,电子病历按照这4类实体类别确定实体。例如,“双肺听诊可闻及少量痰鸣音”中,“听诊”是检查,“痰鸣音”是疾病;又如“自带胸片示左下肺症病变”中,“胸片”是检查,“左下肺症病变”是症状。对电子病历进行命名实体识别,就是从电子病历中自动抽取出所有的疾病、检查、症状、治疗。
步骤S202,对电子病历文本进行预处理,得到表征待训练序列的多个待识别序列。
在本实施例中,获取到电子病历文本后,需要对电子病历文本进行预处理,此处的预处理也就是分句处理,即,对于一份电子病历文本,可以以标点符号为基准进行分句,如出现句号或分号则进行分句。例如,假设电子病历文本为“确诊左肺腺癌3月,拟行第三次化疗。查体:双肺叩诊呈清音。”,分句处理得到“确诊左肺腺癌3月,拟行第三次化疗。”和“查体:双肺叩诊呈清音。”。
步骤S203,将每一待识别序列输入利用上述的序列标注网络更新方法更新后的序列标注网络,得到表征预测结果的所有预测实体序列及每个预测实体序列的序列得分。
在本实施例中,预测实体序列包括待识别序列中每个词的实体信息,由于对电子病历进行命名实体识别时,考虑的实体类别包括疾病(disease)、检查(test)、症状(symptom)、治疗(treatment),因此,对电子病历文本进行命名实体识别后,电子病历文本每个词的实体信息只可能是disease-B、disease-I、disease-E、disease-S、test-B、test-I、test-E、test-S、symptom-B、symptom-I、symptom-E、symptom-S、treatment-B、treatment-I、treatment-E、treatment–S、O,其中,disease-B、disease-I、disease-E、disease-S分别表示疾病的开始字符、疾病的中间字符、疾病的结束字符、单字词疾病;test-B、test-I、test-E、test-S分别表示检查的开始字符、检查的中间字符、检查的结束字符、单字词检查;symptom-B、symptom-I、symptom-E、symptom-S分别表示症状的开始字符、症状的中间字符、症状的结束字符、单字词症状;treatment-B、treatment-I、treatment-E、treatment–S分别表示治疗的开始字符、治疗的中间字符、治疗的结束字符、单字词治疗;O表示非实体。
待识别序列可以表示为xnew,例如,xnew=“确诊左肺腺癌3月,拟行第三次化疗。”、或者“查体:双肺叩诊呈清音。”,每一待识别序列均相当于序列标注网络更新方法中的待训练序列,将电子病历文本处理为多个待识别序列后,可以利用更新后的序列标注网络,输出每一待识别序列的表征预测结果的所有预测实体序列及每个预测实体序列的序列得分。
将每一待识别序列xnew输入更新后的序列标注网络后,具体的处理过程可以包括:
首先,利用序列标注网络的前处理网络获得待识别序列xnew的嵌入向量序列,嵌入向量序列包括待识别序列xnew中每个词的字嵌入向量和/或词嵌入向量、以及位置嵌入向量;
然后,将待识别序列xnew的嵌入向量序列输入语义处理网络,得到待识别序列xnew的语义序列;
接下来,通过后处理网络对待识别序列xnew的语义序列进行处理,得到待识别序列xnew的所有预测实体序列ynew_i及每个预测实体序列ynew_i的序列得分S。
例如,xnew=“确诊左肺腺癌3月,拟行第三次化疗。”,得到的部分预测实体序列ynew_i及其序列得分如下:
ynew_1={确/O诊/O左/disease-B肺/disease-I腺/disease-I癌/disease-E 3/O月/O,/O拟/O行/O第/O三/O次/O化/treatment-B疗/treatment-E。/O},S=8.5;
ynew_2={确/O诊/O左/disease-B肺/disease-I腺/disease-I癌/disease-I 3/O月/O,/O拟/O行/O第/O三/O次/O化/treatment-B疗/treatment-E。/O},S=7;
ynew_3={确/O诊/O左/disease-B肺/disease-I腺/disease-I癌/disease-I 3/O月/O,/O拟/O行/O第/O三/O次/O化/O疗/O。/O},S=5。
步骤S204,将序列得分最高的预测实体序列作为每一待识别序列的实体序列。
在本实施例中,得到待识别序列的表征预测结果的所有预测实体序列ynew_i及每个预测实体序列ynew_i的序列得分S之后,将序列得分最高对应的预测实体序列作为待识别序列的实体序列。例如,xnew=“确诊左肺腺癌3月,拟行第三次化疗。”,假设最高序列得分Smax=8.5,则对应的实体序列为:{确/O诊/O左/disease-B肺/disease-I腺/disease-I癌/disease-E 3/O月/O,/O拟/O行/O第/O三/O次/O化/treatment-B疗/treatment-E。/O}。
步骤S205,依据所有待识别序列的实体序列,生成电子病历文本对应的医学科普结果,并将医学科普结果添加至预先建立的医学知识库中,医学科普结果包括电子病历文本中的所有实体及每个实体的医学科普知识。
在本实施例中,得到每一待识别序列的实体序列之后,首先,依据每一待识别序列中每个词的实体信息,获得每一待识别序列中的所有实体,例如,“确诊左肺腺癌3月,拟行第三次化疗。”的实体序列为{确/O诊/O左/disease-B肺/disease-I腺/disease-I癌/disease-E 3/O月/O,/O拟/O行/O第/O三/O次/O化/treatment-B疗/treatment-E。/O},则得到实体“左肺腺癌”和“化疗”,其中“左肺腺癌”是疾病,“化疗”是治疗;“查体:双肺叩诊呈清音。”的实体序列为{查/O体/O:/O双/test-B肺/test-I叩/test-I诊/test-E呈/O清/symptom-B音/symptom-E。/O},则得到实体“双肺叩诊”和“清音”,其中“双肺叩诊”是检查,“清音”是症状;
然后,获取每一实体的医学科普知识,并依据每一待识别序列中的所有实体和每一实体的医学科普知识,生成电子病历文本对应的医学科普结果,疾病、症状的医学科普知识可以包括定义解释、成因、所属科室、护理方法、预防方法等,检查、治疗的医学科普知识可以包括定义解释、所属科室、注意事项、适用病症等。医学科普知识可以由医务人员提供,也可以从医学专业书籍和论文中获得。例如,“左肺腺癌”的医学科普知识为:起源于支气管粘膜上皮、少数起源于大支气管的粘液腺;发病率比鳞癌和未分化癌低,发病年龄较小,女性相对多见;早期一般没有明显的临床症状,往往在胸部X线检查时被发现。
电子病历文本对应的医学科普结果包括电子病历文本中的所有实体及每个实体的医学科普知识,医学科普结果可以是结构化数据,如下表1所示:
表1医学科普结果示例
得到电子病历文本对应的医学科普结果之后,将医学科普结果添加至预先建立的医学知识库中,医学知识库中的各个实体可以按照实体类别(即,疾病、症状、检查、治疗)进行存储。通过医学知识库,用户不用去医院就能随时随地查询和了解医学知识,从而降低用户到医院看病就诊的恐惧及不信任感,在一定程度上解决医疗工作者工作量过大的问题。
与现有技术相比,本发明实施例具有以下有益效果:
首先,在前处理网络中引入位置嵌入向量,也就是,每个词的嵌入向量均包括这个词的字嵌入向量和/或词嵌入向量、以及位置嵌入向量,从而辅助CNN及改进的CNN(例如,DCNN、IDCNN等)记住序列的位置,提高序列标注的准确度;
其次,序列标注网络采用CNN及改进的CNN(例如,DCNN、IDCNN等),CNN及改进的CNN(例如,DCNN、IDCNN等)在并行计算上具有天生的优势,可以有效缩短训练和测试阶段的时长;同时,本实施例构建的序列标注网络还包括语义处理网络,语义处理网络能够学习序列中的语义信息以缓解长距离依赖问题,这样可以有效提高序列标注的效率和准确度;
最后,利用序列标注网络进行电子病历命名实体,能够电子病历文本对应的医学科普结果,进而完善预先建立的医学知识库,用户可以通过医学知识库随时随地查询和了解医学知识,从而降低用户到医院看病就诊的恐惧及不信任感,在一定程度上解决医疗工作者工作量过大的问题。
请参照图7,图7示出了本发明实施例提供的序列标注网络更新装置100的方框示意图。序列标注网络更新装置100包括第一获取模块101、第一执行模块102、第二执行模块103、第三执行模块104、参数更新模块105及序列标注模块106。
第一获取模块101,用于获取待训练序列和待训练序列的标注序列。
第一执行模块102,用于将待训练序列输入预先构建的序列标注网络,利用序列标注网络的前处理网络获得待训练序列的嵌入向量序列,嵌入向量序列包括待训练序列中每个词的嵌入向量,嵌入向量包括字嵌入向量和/或词嵌入向量、以及位置嵌入向量。
第二执行模块103,用于将嵌入向量序列输入序列标注网络的语义处理网络,得到待训练序列对应的语义序列。
在本实施例中,语义处理网络包括卷积神经网络和语义连接网络,第二执行模块103具体用于:将嵌入向量序列输入卷积神经网络,通过卷积神经网络学习浅层语义信息,得到特征序列;将特征序列输入语义连接网络,通过语义连接网络学习深层语义信息,得到语义序列。
在本实施例中,语义连接网络包括多层串联连接的迭代空洞卷积神经网络IDCNN,第二执行模块103执行将特征序列输入语义连接网络,通过语义连接网络学习深层语义信息,得到语义序列的方式,包括:将特征序列输入第一层IDCNN进行卷积处理,得到输出向量序列并输入中间层IDCNN,中间层IDCNN包括至少一层IDCNN;在中间层IDCNN中,合并当前层IDCNN前每一层IDCNN的输出向量序列作为当前层IDCNN的输入向量序列,利用当前层IDCNN对输入向量序列进行卷积处理,得到当前层IDCNN的输出向量序列;合并最后一层IDCNN前每一层IDCNN的输出向量序列作为最后一层IDCNN的输入向量序列,并将最后一层IDCNN的输出向量序列作为语义序列。
第三执行模块104,用于利用所述序列标注网络的后处理网络对所述语义序列进行处理,得到所述待训练序列的预测结果。
在本实施例中,后处理网络包括第一预测网络和第二预测网络,预测结果包括所有预测序列及每个预测序列的序列得分;第三执行模块104具体用于:将语义序列输入第一预测网络,得到所有的预测序列及每个预测序列的输出得分,其中,输出得分包括待训练序列中每个词被预测为一个预设标签的概率之和;将每个预测序列的输出得分输入第二预测网络,第二预测网络依据转移得分矩阵和每个预测序列的输出得分,输出每个预测序列的序列得分,其中,转移得分矩阵表征由一个预设标签转移到另一个预设标签的概率。
参数更新模块105,用于依据预测结果和标注序列对序列标注网络进行参数更新。
在本实施例中,参数更新模块105具体用于:依据每个预测序列的序列得分和标注序列,确定损失函数;依据损失函数更新序列标注网络的参数,直至损失函数满足预设收敛条件,得到更新后的序列标注网络。
请参照图8,图8示出了本发明实施例提供的电子病历处理装置200的方框示意图。电子病历处理装置200包括第二获取模块201、预处理模块202、第一处理模块203、第二处理模块204及第三处理模块205。
第二获取模块201,用于获取电子病历文本。
预处理模块202,用于对电子病历文本进行预处理,得到表征待训练序列的多个待识别序列。
第一处理模块203,用于将每一待识别序列输入利用上述的序列标注网络更新方法更新后的序列标注网络,得到表征预测结果的所有预测实体序列及每个预测实体序列的序列得分。
第二处理模块204,用于将序列得分最高的预测实体序列作为每一待识别序列的实体序列。
第三处理模块205,用于依据所有待识别序列的实体序列,生成电子病历文本对应的医学科普结果,并将医学科普结果添加至预先建立的医学知识库中,医学科普结果包括电子病历文本中的所有实体及每个实体的医学科普知识。
在本实施例中,实体序列包括待识别序列中每个词的实体信息;第三处理模块205具体用于:依据每一待识别序列中每个词的实体信息,获得每一待识别序列中的所有实体;获取每一实体的医学科普知识,并依据每一待识别序列中的所有实体和每一实体的医学科普知识,生成电子病历文本对应的医学科普结果。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的序列标注网络更新装置100和电子病历处理装置200的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
请参照图9,图9示出了本发明实施例提供的电子设备20的方框示意图。电子设备20包括处理器21、存储器22及总线23,处理器21和存储器22通过总线23连接。
存储器22用于存储程序,例如图7所示的序列标注网络更新装置100和/或电子病历处理装置200,序列标注网络更新装置100和/或电子病历处理装置200包括至少一个可以软件或固件(firmware)的形式存储于存储器22中或固化在电子设备20的操作系统(operating system,OS)中的软件功能模块,处理器21在接收到执行指令后,执行所述程序以实现发明上述实施例揭示的序列标注网络更新方法或电子病历处理方法。
电子设备20可以是通用计算机或特殊用途的计算机,两者都可以用于实现本发明实施例的序列标注网络更新方法或电子病历处理方法。本发明实施例尽管仅示出了一个计算机,但是为了方便起见,可以在多个类似平台上以分布式方式实现本申请描述的功能,以均衡处理负载。
存储器22可能包括高速随机存取存储器(RAM:Random Access Memory),也可能还包括非易失存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器21可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器21中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器21可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器21执行时实现上述实施例揭示的序列标注网络更新方法或电子病历处理方法。
综上所述,本发明实施例提供的一种序列标注网络更新方法、电子病历处理方法及相关装置,所述方法包括:获取待训练序列和待训练序列的标注序列;将待训练序列输入预先构建的序列标注网络,利用序列标注网络的前处理网络获得待训练序列的嵌入向量序列,嵌入向量序列包括待训练序列中每个词的嵌入向量,嵌入向量包括字嵌入向量和/或词嵌入向量、以及位置嵌入向量;将嵌入向量序列输入序列标注网络的语义处理网络,得到待训练序列对应的语义序列;利用序列标注网络的后处理网络对语义序列进行处理,得到待训练序列的预测结果;依据预测结果和标注序列对序列标注网络进行参数更新。本实施例采用IDCNN,可以有效缩短训练和测试阶段的时长,同时,增加语义处理网络,以学习序列中的语义信息来解决序列的长距离依赖问题,从而有效提高序列标注的效率和准确度。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
Claims (11)
1.一种序列标注网络更新方法,其特征在于,所述方法包括:
获取待训练序列和所述待训练序列的标注序列;
将所述待训练序列输入预先构建的序列标注网络,利用所述序列标注网络的前处理网络获得所述待训练序列的嵌入向量序列,所述嵌入向量序列包括所述待训练序列中每个词的嵌入向量,所述嵌入向量包括字嵌入向量和/或词嵌入向量、以及位置嵌入向量;
将所述嵌入向量序列输入所述序列标注网络的语义处理网络,得到所述待训练序列对应的语义序列;
利用所述序列标注网络的后处理网络对所述语义序列进行处理,得到所述待训练序列的预测结果;
依据所述预测结果和所述标注序列对所述序列标注网络进行参数更新。
2.如权利要求1所述的方法,其特征在于,所述语义处理网络包括卷积神经网络和语义连接网络;
所述将所述嵌入向量序列输入所述序列标注网络的语义处理网络,得到所述待训练序列对应的语义序列的步骤,包括:
将所述嵌入向量序列输入所述卷积神经网络,通过所述卷积神经网络学习浅层语义信息,得到特征序列;
将所述特征序列输入所述语义连接网络,通过所述语义连接网络学习深层语义信息,得到所述语义序列。
3.如权利要求2所述的方法,其特征在于,所述语义连接网络包括多层串联连接的迭代空洞卷积神经网络IDCNN;
所述将所述特征序列输入所述语义连接网络,通过所述语义连接网络学习深层语义信息,得到所述语义序列的步骤,包括:
将所述特征序列输入第一层IDCNN进行卷积处理,得到输出向量序列并输入中间层IDCNN,所述中间层IDCNN包括至少一层IDCNN;
在所述中间层IDCNN中,合并当前层IDCNN前每一层IDCNN的输出向量序列作为当前层IDCNN的输入向量序列,利用当前层IDCNN对输入向量序列进行卷积处理,得到当前层IDCNN的输出向量序列;
合并最后一层IDCNN前每一层IDCNN的输出向量序列作为最后一层IDCNN的输入向量序列,并将最后一层IDCNN的输出向量序列作为所述语义序列。
4.如权利要求1所述的方法,其特征在于,所述后处理网络包括第一预测网络和第二预测网络,所述预测结果包括所有预测序列及每个预测序列的序列得分;
所述利用所述序列标注网络的后处理网络对所述语义序列进行处理,得到所述待训练序列对应的预测结果的步骤,包括:
将所述语义序列输入所述第一预测网络,得到所有的预测序列及每个预测序列的输出得分,其中,所述输出得分包括所述待训练序列中每个词被预测为一个预设标签的概率之和;
将每个预测序列的输出得分输入第二预测网络,所述第二预测网络依据转移得分矩阵和每个预测序列的输出得分,输出每个预测序列的序列得分,其中,所述转移得分矩阵表征由一个预设标签转移到另一个预设标签的概率。
5.如权利要求4所述的方法,其特征在于,所述依据所述预测结果和所述标注序列对所述序列标注网络进行参数更新的步骤,包括:
依据每个预测序列的序列得分和所述标注序列,确定损失函数;
依据所述损失函数更新所述序列标注网络的参数,直至所述损失函数满足预设收敛条件,得到更新后的序列标注网络。
6.一种电子病历处理方法,其特征在于,所述方法包括:
获取电子病历文本;
对所述电子病历文本进行预处理,得到表征待训练序列的多个待识别序列;
将每一所述待识别序列输入利用权利要求1-5任一项所述的方法更新后的序列标注网络,得到表征预测结果的所有预测实体序列及每个预测实体序列的序列得分;
将序列得分最高的预测实体序列作为每一所述待识别序列的实体序列;
依据所有待识别序列的实体序列,生成所述电子病历文本对应的医学科普结果,并将所述医学科普结果添加至预先建立的医学知识库中,所述医学科普结果包括所述电子病历文本中的所有实体及每个实体的医学科普知识。
7.如权利要求6所述的方法,其特征在于,所述实体序列包括所述待识别序列中每个词的实体信息;
所述依据所有待识别序列的实体序列,生成所述电子病历文本对应的医学科普结果的步骤,包括:
依据每一所述待识别序列中每个词的实体信息,获得每一所述待识别序列中的所有实体;
获取每一所述实体的医学科普知识,并依据每一所述待识别序列中的所有实体和每一所述实体的医学科普知识,生成所述电子病历文本对应的医学科普结果。
8.一种序列标注网络更新装置,其特征在于,所述装置包括:
第一获取模块,用于获取待训练序列和所述待训练序列的标注序列;
第一执行模块,用于将所述待训练序列输入预先构建的序列标注网络,利用所述序列标注网络的前处理网络获得所述待训练序列的嵌入向量序列,所述嵌入向量序列包括所述待训练序列中每个词的嵌入向量,所述嵌入向量包括字嵌入向量和/或词嵌入向量、以及位置嵌入向量;
第二执行模块,用于将所述嵌入向量序列输入所述序列标注网络的语义处理网络,得到所述待训练序列对应的语义序列;
第三执行模块,用于利用所述序列标注网络的后处理网络对所述语义序列进行处理,得到所述待训练序列的预测结果;
参数更新模块,用于依据所述预测结果和所述标注序列对所述序列标注网络进行参数更新。
9.一种电子病历处理装置,其特征在于,所述装置包括:
第二获取模块,用于获取电子病历文本;
预处理模块,用于对所述电子病历文本进行预处理,得到表征待训练序列的多个待识别序列;
第一处理模块,用于将每一所述待识别序列输入利用权利要求1-5任一项所述的方法更新后的序列标注网络,得到表征预测结果的所有预测实体序列及每个预测实体序列的序列得分;
第二处理模块,用于将序列得分最高的预测实体序列作为每一所述待识别序列的实体序列;
第三处理模块,用于依据所有待识别序列的实体序列,生成所述电子病历文本对应的医学科普结果,并将所述医学科普结果添加至预先建立的医学知识库中,所述医学科普结果包括所述电子病历文本中的所有实体及每个实体的医学科普知识。
10.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-5中任一项所述的序列标注网络更新方法,或者,如权利要求6-7中任一项所述的电子病历处理方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-5中任一项所述的序列标注网络更新方法,或者,如权利要求6-7中任一项所述的电子病历处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910625241.8A CN110442840B (zh) | 2019-07-11 | 2019-07-11 | 序列标注网络更新方法、电子病历处理方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910625241.8A CN110442840B (zh) | 2019-07-11 | 2019-07-11 | 序列标注网络更新方法、电子病历处理方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110442840A true CN110442840A (zh) | 2019-11-12 |
CN110442840B CN110442840B (zh) | 2022-12-09 |
Family
ID=68430198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910625241.8A Active CN110442840B (zh) | 2019-07-11 | 2019-07-11 | 序列标注网络更新方法、电子病历处理方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110442840B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111368526A (zh) * | 2020-03-03 | 2020-07-03 | 支付宝(杭州)信息技术有限公司 | 一种序列标注方法和系统 |
CN111522958A (zh) * | 2020-05-28 | 2020-08-11 | 泰康保险集团股份有限公司 | 文本分类方法和装置 |
CN111709242A (zh) * | 2020-06-01 | 2020-09-25 | 广州多益网络股份有限公司 | 一种基于命名实体识别的中文标点符号添加方法 |
CN111767723A (zh) * | 2020-05-14 | 2020-10-13 | 上海大学 | 一种基于bic的中文电子病历实体标注方法 |
CN111951792A (zh) * | 2020-07-30 | 2020-11-17 | 北京先声智能科技有限公司 | 一种基于分组卷积神经网络的标点标注模型 |
CN112199953A (zh) * | 2020-08-24 | 2021-01-08 | 广州九四智能科技有限公司 | 一种电话通话中信息提取方法、装置及计算机设备 |
WO2021179570A1 (zh) * | 2020-03-13 | 2021-09-16 | 平安科技(深圳)有限公司 | 序列标注方法、装置、计算机设备和存储介质 |
CN113435569A (zh) * | 2020-03-23 | 2021-09-24 | 脸谱公司 | 使用每通道卷积运算的流水线逐点卷积 |
CN113822020A (zh) * | 2021-11-22 | 2021-12-21 | 湖北亿咖通科技有限公司 | 文本处理方法、设备、存储介质及程序产品 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105894088A (zh) * | 2016-03-25 | 2016-08-24 | 苏州赫博特医疗信息科技有限公司 | 基于深度学习及分布式语义特征医学信息抽取系统及方法 |
US20180203848A1 (en) * | 2017-01-17 | 2018-07-19 | Xerox Corporation | Author personality trait recognition from short texts with a deep compositional learning approach |
US20180349766A1 (en) * | 2017-05-30 | 2018-12-06 | Drvision Technologies Llc | Prediction guided sequential data learning method |
CN109284361A (zh) * | 2018-09-29 | 2019-01-29 | 深圳追科技有限公司 | 一种基于深度学习的实体抽取方法及系统 |
-
2019
- 2019-07-11 CN CN201910625241.8A patent/CN110442840B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105894088A (zh) * | 2016-03-25 | 2016-08-24 | 苏州赫博特医疗信息科技有限公司 | 基于深度学习及分布式语义特征医学信息抽取系统及方法 |
US20180203848A1 (en) * | 2017-01-17 | 2018-07-19 | Xerox Corporation | Author personality trait recognition from short texts with a deep compositional learning approach |
US20180349766A1 (en) * | 2017-05-30 | 2018-12-06 | Drvision Technologies Llc | Prediction guided sequential data learning method |
CN109284361A (zh) * | 2018-09-29 | 2019-01-29 | 深圳追科技有限公司 | 一种基于深度学习的实体抽取方法及系统 |
Non-Patent Citations (3)
Title |
---|
DI LIU: "Sequence Labeling of Chinese Text Based on Bidirectional Gru-Cnn-Crf Model", 《SEQUENCE LABELING OF CHINESE TEXT BASED ON BIDIRECTIONAL GRU-CNN-CRF MODEL》 * |
唐国强等: "融入语言模型和注意力机制的临床电子病历命名实体识别", 《计算机科学》 * |
苗军; 李凯; 许少武: "基于卷积神经网络多层特征融合的目标跟踪", 《现代电子技术》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111368526A (zh) * | 2020-03-03 | 2020-07-03 | 支付宝(杭州)信息技术有限公司 | 一种序列标注方法和系统 |
CN111368526B (zh) * | 2020-03-03 | 2023-04-25 | 支付宝(杭州)信息技术有限公司 | 一种序列标注方法和系统 |
WO2021179570A1 (zh) * | 2020-03-13 | 2021-09-16 | 平安科技(深圳)有限公司 | 序列标注方法、装置、计算机设备和存储介质 |
CN113435569A (zh) * | 2020-03-23 | 2021-09-24 | 脸谱公司 | 使用每通道卷积运算的流水线逐点卷积 |
CN111767723A (zh) * | 2020-05-14 | 2020-10-13 | 上海大学 | 一种基于bic的中文电子病历实体标注方法 |
CN111522958A (zh) * | 2020-05-28 | 2020-08-11 | 泰康保险集团股份有限公司 | 文本分类方法和装置 |
CN111709242A (zh) * | 2020-06-01 | 2020-09-25 | 广州多益网络股份有限公司 | 一种基于命名实体识别的中文标点符号添加方法 |
CN111709242B (zh) * | 2020-06-01 | 2024-02-02 | 广州多益网络股份有限公司 | 一种基于命名实体识别的中文标点符号添加方法 |
CN111951792A (zh) * | 2020-07-30 | 2020-11-17 | 北京先声智能科技有限公司 | 一种基于分组卷积神经网络的标点标注模型 |
CN111951792B (zh) * | 2020-07-30 | 2022-12-16 | 北京先声智能科技有限公司 | 一种基于分组卷积神经网络的标点标注模型 |
CN112199953A (zh) * | 2020-08-24 | 2021-01-08 | 广州九四智能科技有限公司 | 一种电话通话中信息提取方法、装置及计算机设备 |
CN113822020A (zh) * | 2021-11-22 | 2021-12-21 | 湖北亿咖通科技有限公司 | 文本处理方法、设备、存储介质及程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN110442840B (zh) | 2022-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110442840A (zh) | 序列标注网络更新方法、电子病历处理方法及相关装置 | |
CN110472229A (zh) | 序列标注模型训练方法、电子病历处理方法及相关装置 | |
CN112214995B (zh) | 用于同义词预测的分层多任务术语嵌入学习 | |
CN110459282A (zh) | 序列标注模型训练方法、电子病历处理方法及相关装置 | |
CN107977361B (zh) | 基于深度语义信息表示的中文临床医疗实体识别方法 | |
CN106980683B (zh) | 基于深度学习的博客文本摘要生成方法 | |
CN107391906B (zh) | 基于神经网络和图谱结构的健康饮食知识网络构建方法 | |
CN113535984B (zh) | 一种基于注意力机制的知识图谱关系预测方法及装置 | |
CN110457675A (zh) | 预测模型训练方法、装置、存储介质及计算机设备 | |
CN109192300A (zh) | 智能问诊方法、系统、计算机设备和存储介质 | |
CN110032739A (zh) | 中文电子病历命名实体抽取方法及系统 | |
CN105404632B (zh) | 基于深度神经网络对生物医学文本序列化标注的系统和方法 | |
CN108509411A (zh) | 语义分析方法和装置 | |
US20200104409A1 (en) | Method and system for extracting information from graphs | |
CN110162779A (zh) | 病历质量的评估方法、装置及设备 | |
CN109190120A (zh) | 神经网络训练方法和装置及命名实体识别方法和装置 | |
CN112883714B (zh) | 基于依赖图卷积和迁移学习的absc任务句法约束方法 | |
CN108804423A (zh) | 医疗文本特征提取与自动匹配方法和系统 | |
CN110444261A (zh) | 序列标注网络训练方法、电子病历处理方法及相关装置 | |
CN110472049B (zh) | 疾病筛查文本分类方法、计算机设备和可读存储介质 | |
Wan et al. | A self-attention based neural architecture for Chinese medical named entity recognition | |
CN110837736B (zh) | 一种基于字结构的中文医疗记录的命名实体识别方法 | |
CN106407387B (zh) | 一种针对医疗诊断文本的概念连接方法 | |
CN112420191A (zh) | 一种中医辅助决策系统及方法 | |
Song et al. | A method for identifying local drug names in xinjiang based on BERT-BiLSTM-CRF |
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 |