一种命名实体识别方法及装置

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

阅读说明:本技术 一种命名实体识别方法及装置 (Named entity identification method and device ) 是由 陈漠沙 仇伟 李林琳 司罗 于 2019-03-21 设计创作,主要内容包括:本申请公开了一种命名实体识别方法及装置,该方法包括:对需要处理的文本进行处理得到第一识别实体;对第一识别实体中存在多个单独字的实体进行合并处理,对合并处理后的第一识别实体进行处理得到第二识别实体;根据第一识别实体和第二识别实体获得对所述文本的识别结果。本申请针对具有嵌套结构的命名实体实现了识别。(The application discloses a named entity identification method and a device, wherein the method comprises the following steps: processing a text to be processed to obtain a first recognition entity; merging entities with a plurality of single words in the first recognition entity, and processing the merged first recognition entity to obtain a second recognition entity; and obtaining a recognition result of the text according to the first recognition entity and the second recognition entity. The present application enables identification of named entities having a nested structure.)

一种命名实体识别方法及装置

技术领域

本申请涉及但不限于机器学习技术,尤指一种命名实体识别方法及装置。

背景技术

近年来随着医院信息化建设的不断完善,电子病历逐步取代手写病历成为规范,促进了AI-NLP文本技术在医疗行业的应用。其中,最基础的任务是对医疗命名实体的识别,医疗命名实体可以包括如:疾病、症状、药品、药品反应、检查、检查值、手术等。不同于业界或者学术界日常定义的命名实体识别,比如:识别“人名”、“地名”、“时间”、“商品名”等,医学文本的命名实体往往更复杂,一方面,医学文本的命名实体往往更长,比如“药品名”、“疾病名”等;另一方面,医学文本的命名实体往往具备结构信息,且这种结构是嵌套的,比如对于“胸部正片”这个文本,“胸部正片”自身是一个检查名称,而其中的“胸部”又是一个表示身体部位的名称。由于医学文本的特殊性,嵌套结构出现的频率非常高。

其中,命名实体识别(NER,Named Entity Recognition),也称为专名识别,是指识别文本中具有特定意义的实体。以医疗文本为例主要包括如:疾病、症状、用药、检查、手术、身体部位等。命名实体识别是一项典型的序列标注问题。嵌套命名实体,指的是一个命名实体中包含了一项或者多项其他类型的命名实体类型,以“胸部正片”为例,“胸部正片”表明一个检查名称,而其中的“胸部”表明一个身体部位名称。

相关技术中,机器学习包括深度学习方法,一般都是基于非嵌套的命名实体展开的,也称为flatten命名体,因此,这些算法如果应用到嵌套结构实体的识别,是不能取得期望的结果的,特别是算法需要对预测的标签进行唯一性判定的情况。以“胸部正片”为例,如果算法已经将“胸部”预测为身体部位,那么,对“胸部正片”是不会再被预测为检查类型的。但是,实际上,识别的过程是期望算法能够输出两个预测标签。也就是说,相关技术中没有针对具有嵌套结构的命名实体的识别方案。

发明内容

本申请提供一种命名实体识别方法及装置,能够针对具有嵌套结构的命名实体实现识别。

本发明实施例提供了一种命名实体识别方法,包括:

对需要处理的文本进行处理得到第一识别实体;

对第一识别实体中存在多个单独字的实体进行合并处理,对合并处理后的第一识别实体进行处理得到第二识别实体;

至少根据第一识别实体和第二识别实体获得对所述文本的识别结果。

在一种示例性实例中,所述对命名实体进行处理得到第一识别实体,包括:

对所述命名实体进行处理获得词向量;

利用第一神经网络对获得的词向量进行处理;

对处理后的结果进行解码和标注得到所述第一识别实体。

在一种示例性实例中,所述对第一识别实体中存在多个单独字的实体进行合并处理,包括:

对所述第一识别实体中存在多个单独字的实体,将所包含的单独字表示进行加权平均处理后构成一个单字。

在一种示例性实例中,所述对合并处理后的第一识别实体进行处理得到第二识别实体,包括:

利用第二神经网络对所述处理后的第一识别实体进行处理;

对第二神经网络处理后的结果进行解码得到所述第二识别实体。

在一种示例性实例中,所述根据第一识别实体和第二识别实体获得对命名实体的识别结果,包括:

将所述第一识别实体中的表示身体部位实体类型的实体和所述第二识别实体中表示检查实体类型的实体作为所述命名实体的识别结果。

在一种示例性实例中,所述第一神经网络或所述第二神经网络包括循环神经网络RNN。

在一种示例性实例中,所述循环神经网络包括双向循环神经网络Bi-RNN。

在一种示例性实例中,所述Bi-RNN包括双向长短期记忆网络Bi-LSTM。

在一种示例性实例中,所述第一神经网络或所述第二神经网络包括:卷积神经网络CNN+RNN、或基于Attention机制的RNN、或基于Attention机制的CNN+RNN。

在一种示例性实例中,所述解码采用条件随机场CRF解码。

在一种示例性实例中,所述标注包括BIO标注体系,其中,B表示起始位置;I表示序列的中间位置;B和I一起组成命名实体的标记;O表示非命名体识别部分。

在一种示例性实例中,所述方法应用于对医疗命名实体的识别。

本发明实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述任一项所述的命名实体识别方法。

本发明实施例又提供了一种用于实现命名实体识别的装置,包括存储器和处理器,其中,存储器中存储有以下可被处理器执行的指令:用于执行上述任一项所述的命名实体识别方法的步骤。

本发明实施例再提供了一种命名实体识别装置,包括:第一处理模块、第二处理模块、识别模块;其中,

第一处理模块,用于对需要处理的文本进行处理得到第一识别实体;

第二处理模块,用于对第一识别实体中存在多个单独字的实体进行合并处理,对合并处理后的第一识别实体进行处理得到第二识别实体;

识别模块,用于根据第一识别实体和第二识别实体获得对所述文本的识别结果。

本申请包括:对需要处理的文本进行处理得到第一识别实体;对第一识别实体中存在多个单独字的实体进行合并处理,对合并处理后的第一识别实体进行处理得到第二识别实体;根据第一识别实体和第二识别实体获得对所述文本的识别结果。本申请针对具有嵌套结构的命名实体实现了识别。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本申请技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。

图1为本申请命名实体识别方法的流程示意图;

图2为本申请命名实体识别实施例的网络结构示意图;

图3为本申请命名实体识别装置的组成结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚明白,下文中将结合附图对本申请的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

在本申请一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

针对嵌套的命名实体识别,相关技术中,是通过模型先得到flatten命名体的识别结果,之后,再通过后处理规则来完善嵌套命名实体的识别。仍以手术识别为例,一般,手术命名中经常会包括身体部位,比如对于命名实体--直肠HARTMANN手术,相关技术中,首先,通过算法模型识别出身体部位即本例中为直肠,然后,再利用预先设置的规则如查找是否存在“身体部位+中间内容+术”的格式(pattern)出现,如果存在这样的pattern,那么按照后处理规则可以判定出“身体部位+中间内容+术”为手术命名实体。这种方式,需要增加进一步的后处理规则,由于后处理规则需要专家来整理,而且实际命名实体格式多种多样,整理好的规则很难做到都涵盖,因此,存在覆盖率不足的问题,从而使得整体性能会受到影响。

图1为本申请命名实体识别方法的流程示意图,如图1所示,包括:

步骤100:对需要处理的文本进行处理得到第一识别实体。

在一种示例性实例中,本步骤可以包括:

对需要处理的文本进行处理获得词向量;

对获得的词向量进行识别得到第一识别实体。

在一种示例性实例中,可以基于如word2vec工具训练得到需要处理的句子的词向量。其中,word2vec是谷歌(google)开源的一个工具,可以将单词转换成向量形式的工具。

在一种示例性实例中,还可以使用其他的词向量转换模型,比如Glove,fasttext等词向量训练工具。

在一种示例性实例中,词向量转换也可以使用最新的语言模型技术,如Elmo,Bert等来替代。

词向量(Word Embedding)也称为词嵌入,可以利用上下文内容,通过训练神经网络语言模型得到的单词的稠密向量表示。针对本申请实施例,常对独立的汉字计算字向量。

在一种示例性实例中,本步骤中的对获得的词向量进行识别得到第一识别实体,可以包括:

利用第一神经网络对获得的词向量进行处理;

对第一神经网络处理后的结果进行解码和标注得到第一识别实体。

在一种示例性实例中,第一神经网络可以是循环神经网络(RNN,RecurrentNeural Network)。其中,循环神经网络是一种节点定向连接成环的人工神经网络,这种网络的内部状态可以展示动态时序行为。RNN可以利用它内部的记忆来处理任意时序的输入序列,这让它可以更容易处理如不分段的手写识别、语音识别等。

在一种示例性实例中,循环神经网络可以是双向RNN(Bi-RNN)。

在一种示例性实例中,Bi-RNN可以包括但不限于:双向LSTM(Bi-LSTM,Bidirectional LSTM),其中,长短期记忆网络(LSTM,Long Short-Term Memory)是一种RNN的变种,适合于处理和预测时间序列中间隔和延迟相对较长的重要事件。

在一种示例性实例中,第一神经网络可以是如卷积神经网络(CNN,ConvolutionalNeural Network)+RNN、基于Attention机制的RNN(RNN+Attention)、基于Attention机制的CNN+RNN(CNN+RNN+Attention)等网络结构。

在一种示例性实例中,解码可以采用条件随机场(CRF,Conditional RandomField)解码。CRF是一种基于遵循马尔可夫性的概率图模型,适用于解决序列标注、时序标注等问题。

在一种示例性实例中,标注可以采用如BIO标注体系。BIO标注体系是一种通用的序列标注标记方法,采用B(Begin)表示起始位置;I表示序列的中间位置;B和I一起组成了命名实体的标记;O表示非命名体识别部分。这里仅以“1、报告结果显示:患者左胸无异常”为例,对BIO标注法进行简要介绍,一种可能的序列标注结果包括:1-O、-O报-O告-O结-O果-O显-O示-O:-O患-O者-O左-B-Body胸-I-Body无-O异-B-Symptom常-I-Symptom。-O。其中,“-”表示对应的标注结果,Body表示身体部位,Symptom表示症状。

图2为本申请命名实体识别实施例的网络结构示意图,以需要处理的句子包括“查胸部正片”为例,如图2所示,本实施例中,基于如word2vec工具训练得到需要处理的句子即“查胸部正片”的词向量包括:“查”、“胸”、“部”、“正”、“片”,将得到的词向量输入第一神经网络层如本实施例中的Bi-RNN,并对Bi-RNN的输出进行解码、标注后得到第一识别实体,第一识别实体包括:“查”、“胸部”、“正”、“片”,也就是说,识别出“胸部”为身体部位这个实体类型。

通过本步骤识别出了命名实体的一种实体类型,比如针对医疗类命名实体,识别出了身体部位的实体类型。

步骤101:对第一识别实体中存在多个单独字的实体进行合并处理,对合并处理后的第一识别实体进行处理得到第二识别实体。

在一种示例性实例中,对第一识别实体中存在多个单独字的实体进行合并处理,可以包括:

对第一识别实体中存在多个单独字的实体,将所包含的单独字表示进行加权平均处理后构成一个单字。

如图2所示,以“查胸部正片”为例,假设第一神经网络层如Bi-RNN的输出即“查”、“胸”、“部”、“正”、“片”分别标注表示为W1,W2,W3,W4,W5,Wi(i=1、2、3…)是第一神经网络输出的向量(vector)。这里,由于“胸部”已经识别为身体部位,因此,会对包含两个单独字的W2,W3进行如求平均处理以形成一个新的针对“胸部”的标注表示,本实施例中假设表示为:W23=(W2+W3)/2,那么,处理后的第一识别实体即“查”、“胸部”、“正”、“片”分别标注表示为W1,W23,W4,W5。

在一种示例性实例中,本步骤中的对合并处理后的第一识别实体进行处理得到第二识别实体,可以包括:

利用第二神经网络对处理后的第一识别实体进行处理;

对第二神经网络处理后的结果进行解码得到第二识别实体。

在一种示例性实例中,第二神经网络可以是RNN。

在一种示例性实例中,循环神经网络可以是Bi-RNN。

在一种示例性实例中,Bi-RNN可以包括但不限于:Bi-LSTM。

在一种示例性实例中,第二神经网络可以是如CNN+RNN、基于Attention机制的RNN、基于Attention机制的CNN+RNN等网络结构。

在一种示例性实例中,解码可以采用CRF。

如图2所示,第二神经网络层如本实施例中的Bi-RNN的输入包括W1,W23,W4,W5,分别代表“查”,“胸部”,“正”,“片”。对第二神经网络层的输出进行CRF解码后,得到第二识别实体。第二识别实体包括:“查”、“胸部正片”,也就是说,识别出“胸部正片”为检查实体类型。

需要说明的是,图2所示的结构主要用于表示的是第一层BiRNN网络结构的输出,作为第二层BiRNN网络结构的输入。

通过本步骤识别出了命名实体的另一种实体类型,比如针对医疗类命名实体,识别出了检查实体类型。

需要说明的是,当对第一识别实体中不存在多个单独字的实体时,直接退出本申请的流程,直接根据步骤100的输出的第一识别实体即可获得对命名实体的识别结果。

步骤102:根据第一识别实体和第二识别实体获得对所述文本的识别结果。

在一种示例性实例中,本步骤可以包括:

将第一识别实体中的表示身体部位实体类型的实体和第二识别实体中表示检查实体类型的实体作为需要处理的文本的识别结果。

如图2所示,仍以需要处理的文本为“查胸部正片”为例,经过本申请提供的两层循环神经网络结构,最终识别出“胸部”,“胸部正片”两个实体类型,这两个实体类型是嵌套结构。

本申请针对具有嵌套结构的命名实体实现了识别。特别地,针对医疗命名实体,在病历质检电子数据集上,整体实体的性能指标提升大约0.1%(F1:88.83%->88.91%)其中,F1是一个衡量命名实体识别的度量指标。

本申请还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述任一项的命名实体识别方法。

本申请再提供一种实现命名实体识别的装置,包括存储器和处理器,其中,存储器中存储有上述任一项命名实体识别方法的步骤。

图3为本申请命名实体识别装置的组成结构示意图,如图3所示,至少包括:第一处理模块、第二处理模块、识别模块;其中,

第一处理模块,用于对需要处理的文本进行处理得到第一识别实体;

第二处理模块,用于对第一识别实体中存在多个单独字的实体进行合并处理,对合并处理后的第一识别实体进行处理得到第二识别实体;

识别模块,用于根据第一识别实体和第二识别实体获得对所述文本的识别结果。

在一种示例性实例中,第一处理模块具体用于:

对命名实体即需要处理的句子进行处理获得词向量;

对获得的词向量进行识别得到第一识别实体。

在一种示例性实例中,第一处理模块中的对获得的词向量进行识别得到第一识别实体,包括:

利用第一神经网络对获得的词向量进行处理;

对第一神经网络处理后的结果进行解码和标注得到第一识别实体。

在一种示例性实例中,第二处理模块具体用于:

对第一识别实体中存在多个单独字的实体,将所包含的单独字表示进行加权平均处理后构成一个单字;

利用第二神经网络对处理后的第一识别实体进行处理;

对第二神经网络处理后的结果进行解码得到第二识别实体。

在一种示例性实例中,第一神经网络或第二神经网络可以是RNN。

在一种示例性实例中,循环神经网络可以是Bi-RNN。

在一种示例性实例中,Bi-RNN可以包括但不限于:Bi-LSTM。

在一种示例性实例中,第一神经网络或第二神经网络可以是如CNN+RNN、基于Attention机制的RNN、基于Attention机制的CNN+RNN等网络结构。

在一种示例性实例中,解码可以采用CRF。

在一种示例性实例中,标注可以采用如BIO标注体系。

在一种示例性实例中,识别模块具体用于:

将第一识别实体中的表示身体部位实体类型的实体和第二识别实体中表示检查实体类型的实体作为命名实体的识别结果。

本申请针对具有嵌套结构的命名实体实现了识别。

虽然本申请所揭露的实施方式如上,但所述的内容仅为便于理解本申请而采用的实施方式,并非用以限定本申请。任何本申请所属领域内的技术人员,在不脱离本申请所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本申请的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于处理属性信息的装置及方法

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!