首页 / 专利库 / 人工智能 / 词性标注 / 命名实体识别方法及装置

命名实体识别方法及装置

阅读:1015发布:2020-07-25

专利汇可以提供命名实体识别方法及装置专利检索,专利查询,专利分析的服务。并且本公开涉及一种 命名实体 识别方法及装置,包括根据预设标注集对于文本进行标注得到训练语料,所述预设标注集包含命名实体的类型和标注方式、以及非命名实体的标注方式;根据所述训练语料,训练预设的多个识别模型;采用所述多个识别模型分别识别待识别文本,得到每个识别模型的识别结果;基于各识别模型的权重以及各识别模型的识别结果,得到所述待识别文本的识别结果。通过采用多个识别模型分别识别待识别文本,得到每个识别模型的识别结果,根据本公开 实施例 的命名实体识别方法及装置能够有效能够提升命名实体识别的 精度 。,下面是命名实体识别方法及装置专利的具体信息内容。

1.一种命名实体识别方法,其特征在于,所述方法包括:
根据预设标注集对于文本进行标注得到训练语料,所述预设标注集包含命名实体的类型和标注方式、以及非命名实体的标注方式;
根据所述训练语料,训练预设的多个识别模型;
采用所述多个识别模型分别识别待识别文本,得到每个识别模型的识别结果;
基于各识别模型的权重以及各识别模型的识别结果,得到所述待识别文本的识别结果。
2.根据权利要求1所述的方法,其特征在于,所述识别模型为CRF模型时,所述根据预设标注集对文本进行标注得到训练语料,包括:
对所述文本进行分词处理,得到多个分词;
按照所述预设标注集包含的标注方式将属于命名实体的分词标注为相应的类型,以及对属于非命名实体的分词进行标注,得到训练语料。
3.根据权利要求2所述的方法,其特征在于,根据所述训练语料,训练预设的多个识别模型包括:
根据所述训练语料,训练所述CRF模型,包括:
获取所述训练语料中每个分词的词性特征;
将所述训练语料组织为矩阵形式,其中,矩阵中第一列为分词、中间列为各个分词的词性特征,最后一列为各个分词的标注结果,且第一列中各分词按照各分词在所述训练语料中的位置进行排序;
确定训练过程使用的CRF模板文件,所述CRF模板文件由多个模板组成,每个模板用于指定在针对当前分词提取上下文信息时,所提取的上下文信息相对于当前分词的行偏移,以及所提取的上下文信息所在列的绝对位置,所述上下文信息包括分词的上下文特征和词性的上下文特征;
根据所述矩阵和所述CRF模板文件,生成CRF模型。
4.根据权利要求1所述的方法,其特征在于,所述识别模型为BILSTM_CRF模型或者IDCNN_CRF模型时,所述根据预设标注集对文本进行标注得到训练语料,包括:
将所述文本划分为多个字符;
按照所述预设标注集包含的标注方式将属于命名实体的字符标注为相应的类型,以及对属于非命名实体的字符进行标注,得到训练语料。
5.根据权利要求4所述的方法,其特征在于,根据所述训练语料,训练预设的多个识别模型包括:
根据所述训练语料,训练所述BILSTM_CRF模型或者所述IDCNN_CRF模型,包括:
获取所述训练语料中每个字符的字符特征向量,所述字符特征向量包括字向量和字符分割向量;
根据所述训练语料中各字符的字符特征向量和各字符对应的标注结果,训练所述BILSTM_CRF模型或者所述IDCNN_CRF模型。
6.根据权利要求3或5所述的方法,其特征在于,所述多个识别模型包括CRF模型和/或BILSTM_CRF模型和/或IDCNN_CRF模型;
采用所述CRF模型识别待识别文本,得到识别结果包括:
对所述待识别文本进行分词处理,得到多个分词;
确定每个分词的词性特征;
将携带有所述词性特征的多个分词组成的分词序列输入所述CRF模型中,得到所述CRF模型的识别结果;
采用所述BILSTM_CRF模型或所述IDCNN_CRF模型识别待识别文本,得到识别结果包括:
将所述待识别文本拆分成字符,得到多个字符;
确定每个字符的字符特征向量;
将多个字符的字符特征向量组成的序列分别输入BILSTM_CRF模型或IDCNN_CRF模型中,得到BILSTM_CRF模型的识别结果或IDCNN_CRF模型的识别结果。
7.一种命名实体识别装置,其特征在于,所述装置包括:
标注模,用于根据预设标注集对于文本进行标注得到训练语料,所述预设标注集包含命名实体的类型和标注方式、以及非命名实体的标注方式;
训练模块,用于根据所述训练语料,训练预设的多个识别模型;
识别模块,用于采用所述多个识别模型分别识别待识别文本,得到每个识别模型的识别结果;
加权模块,用于基于各识别模型的权重以及各识别模型的识别结果,得到所述待识别文本的识别结果。
8.根据权利要求7所述的装置,其特征在于,所述标注模块具体用于:
所述识别模型为CRF模型时,对所述文本进行分词处理,得到多个分词;
按照所述预设标注集包含的标注方式将属于命名实体的分词标注为相应的类型,以及对属于非命名实体的分词进行标注,得到训练语料。
9.根据权利要求8所述的装置,其特征在于,所述训练模块包括:
第一训练子模块,用于根据所述训练语料,训练所述CRF模型;
所述第一训练子模块具体用于:
获取所述训练语料中每个分词的词性特征;
将所述训练语料组织为矩阵形式,其中,矩阵中第一列为分词、中间列为各个分词的词性特征,最后一列为各个分词的标注结果,且第一列中各分词按照各分词在所述训练语料中的位置进行排序;
确定训练过程使用的CRF模板文件,所述CRF模板文件由多个模板组成,每个模板用于指定在针对当前分词提取上下文信息时,所提取的上下文信息相对于当前分词的行偏移,以及所提取的上下文信息所在列的绝对位置,所述上下文信息包括分词的上下文特征和词性的上下文特征;
根据所述矩阵和所述CRF模板文件,生成CRF模型。
10.根据权利要求7所述的装置,其特征在于,所述标注模块具体用于:
所述识别模型为BILSTM_CRF模型或者IDCNN_CRF模型时,将所述文本划分为多个字符;
按照所述预设标注集包含的标注方式将属于命名实体的字符标注为相应的类型,以及对属于非命名实体的字符进行标注,得到训练语料。
11.根据权利要求10所述的装置,其特征在于,所述训练模块包括:
第二训练子模块,用于根据所述训练语料,训练所述BILSTM_CRF模型或者所述IDCNN_CRF模型;
所述第二训练子模块具体用于:
获取所述训练语料中每个字符的字符特征向量,所述字符特征向量包括字向量和字符分割向量;
根据所述训练语料中各字符的字符特征向量和各字符对应的标注结果,训练所述BILSTM_CRF模型或者所述IDCNN_CRF模型。
12.根据权利要求9或11所述的装置,其特征在于,所述多个识别模型包括CRF模型和/或BILSTM_CRF模型和/或IDCNN_CRF模型;所述识别模块包括:
第一识别子模块,用于采用所述CRF模型识别待识别文本,得到识别结果;
第二识别子模块,用于采用所述BILSTM_CRF模型或所述IDCNN_CRF模型识别待识别文本,得到识别结果;
其中,所述第一识别子模块具体用于:
对所述待识别文本进行分词处理,得到多个分词;
确定每个分词的词性特征;
将携带有所述词性特征的多个分词组成的分词序列输入所述CRF模型中,得到所述CRF模型的识别结果;
所述第二识别子模块具体用于:
将所述待识别文本拆分成字符,得到多个字符;
确定每个字符的字符特征向量;
将多个字符的字符特征向量组成的序列分别输入BILSTM_CRF模型或IDCNN_CRF模型中,得到BILSTM_CRF模型的识别结果或IDCNN_CRF模型的识别结果。

说明书全文

命名实体识别方法及装置

技术领域

[0001] 本公开涉及模式识别及分类技术领域,尤其涉及一种命名实体识别方法及装置。

背景技术

[0002] 命名实体识别旨在识别出自然语言文本中的专有名词和有意义的数量短语(指由数词和量词组合构成的短语),并加以分类。命名实体识别属于词法分析中未登录词识别的
范畴,是信息抽取信息检索机器翻译和问答系统等多种自然语言处理技术必不可少的组
成部分。
[0003] 相关技术中,命名实体识别的方法分为:基于规则和词典的方法、基于统计的方法和基于深度学习的方法等。基于规则和词典的方法依赖于具体语言、领域和文本格,容易
产生错误,可移植性较差。基于统计的方法对特征选取的要求较高,对语料库的依赖也比较
大。基于深度学习的方法在训练时存在梯度消失问题。这些方法难以满足对目前大量无规
则、多领域的命名实体的识别。
发明内容
[0004] 有鉴于此,本公开提出了一种命名实体识别方法及装置,能够提升命名实体识别的精度
[0005] 根据本公开的一方面,提供了一种命名实体识别方法,所述方法包括:根据预设标注集对于文本进行标注得到训练语料,所述预设标注集包含命名实体的类型和标注方式、
以及非命名实体的标注方式;根据所述训练语料,训练预设的多个识别模型;采用所述多个
识别模型分别识别待识别文本,得到每个识别模型的识别结果;基于各识别模型的权重以
及各识别模型的识别结果,得到所述待识别文本的识别结果。
[0006] 根据本公开的另一方面,提供了一种命名实体识别装置,所述装置包括:标注模,用于根据预设标注集对于文本进行标注得到训练语料,所述预设标注集包含命名实体
的类型和标注方式、以及非命名实体的标注方式;训练模块,用于根据所述训练语料,训练
预设的多个识别模型;识别模块,用于采用所述多个识别模型分别识别待识别文本,得到每
个识别模型的识别结果;加权模块,用于基于各识别模型的权重以及各识别模型的识别结
果,得到所述待识别文本的识别结果。
[0007] 在本公开实施例中,根据预设标注集对于文本进行标注得到训练语料,根据训练语料,训练预设的多个识别模型,采用多个识别模型分别识别待识别文本,得到每个识别模
型的识别结果,通过加权融合多个识别模型的识别结果,结合了不同识别模型的优势,提升
了命名实体识别的精度。
[0008] 根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。

附图说明

[0009] 包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
[0010] 图1示出根据本公开一实施例的命名实体识别方法的流程图
[0011] 图2示出根据本公开实施例的识别模型融合架构示意图。
[0012] 图3示出根据本公开一实施例的命名实体识别方法的流程图。
[0013] 图4示出根据本公开一实施例的步骤S12的流程图。
[0014] 图5示出根据本公开一实施例的命名实体识别方法的流程图。
[0015] 图6示出根据本公开一实施例的步骤S12的流程图。
[0016] 图7示出根据本公开一实施例的命名实体识别装置的框图
[0017] 图8示出根据本公开一实施例的命名实体识别装置的框图。
[0018] 图9是根据一示例性实施例示出的一种用于命名实体识别装置900的框图。

具体实施方式

[0019] 以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除
非特别指出,不必按比例绘制附图。
[0020] 在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
[0021] 另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于
本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
[0022] 图1示出根据本公开一实施例的命名实体识别方法的流程图。如图1所示,该方法可包括:
[0023] 步骤S11,根据预设标注集对于文本进行标注得到训练语料,所述预设标注集包含命名实体的类型、标注方式,以及非命名实体的标注方式。
[0024] 步骤S12,根据所述训练语料,训练预设的多个识别模型。
[0025] 步骤S13,采用所述多个识别模型分别识别待识别文本,得到每个识别模型的识别结果。
[0026] 步骤S14,基于各识别模型的权重以及各识别模型的识别结果,得到所述待识别文本的识别结果。
[0027] 在本公开实施例中,通过加权融合多个识别模型的识别结果,结合了不同识别模型的优势,提升了命名实体识别的精度。
[0028] 在模型进行训练和测试之前,需要对训练和测试时采用的文本进行标注,得到训练语料。预设标注集可以用于对文本进行标注。预设标注集可以包含命名实体的类型和标
注方式、以及非命名实体的标注方式。其中,命名实体的类型可以用于识别不同的命名实
体。命名实体的标注方式可以用于指示如何标注文本中各类型的命名实体。非命名实体实
体的标注方式可以用于指示如何标注文本中的非命名实体。
[0029] 本公开实施例中,以医疗电子病历数据为例进行说明,本公开实施例的命名实体识别方法还可以用于其他数据的识别。
[0030] 以医疗电子病历数据作为文本为例进行说明。通过分析医疗电子病历数据,医生针对患者的诊疗活动可以概括为:通过检查手段(做什么检查)发现疾病的表现(什么症
状),给出诊断结论(什么疾病),并基于诊断结论,给出治疗措施(如何治疗)。从这个过程中
可以看出,医疗活动主要涉及4类重要信息:检查、症状、疾病和治疗。在此基础上,预设标注集中可以包含5个命名实体的类型,包括:疾病类型、疾病诊断分类类型、症状类型、检查类
型和治疗类型。
[0031] 按照预设标注集包含的标注方式:疾病类型的命名实体可以标注为disease;疾病诊断分类类型的命名实体可以标注为disease_type;症状类型的命名实体可以标注为
symptom;检查类型的命名实体可以标注为test;治疗类型的命名实体可以标注为
treatment。
[0032] 表1示出本公开实施例的标注集以及训练语料的示例。在一个示例中,如表1所示,对于文本“老年女患,否认高血压、糖尿病史”中的“高血压、糖尿病”可以标注为disease。
[0033] 预设标注集还包含了非命名实体的标注方式,例如,非命名实体可以标注为O。其中,非命名实体可以表示语料中除命名实体以外的部分。
[0034] 表1
[0035]
[0036] 在一种可能的实现方式中,命名实体的标注方式还可以指示命名实体的第一个字符(或者第一个分词)、中间的字符(或者中间的分词)和最后一个字符(或者最后一个分
词)。如表1所示,在一个示例中,命名实体的第一个字符、中间的字符和最后一个字符可以
分别标注为B、I和E。例如,disease类型的命名实体的第一个字符可以标注为disease-B,
disease类型的命名实体的中间的字符可以标注为disease-I,disease类型的命名实体的
最后一个字符可以标注为disease-E。
[0037] 可以根据已标注的训练语料,训练预设的多个识别模型。每个识别模型可以用于识别命名实体。
[0038] 在一种可能的实现方式中,预设的多个识别模型可以包括CRF模型和/或BILSTM_CRF模型和/或IDCNN_CRF模型。其中,CRF模型为概率模型,在本公开实施例中,CRF模型的特
征包括分析的词性,以及由分词的上下文和词性的上下文组成的上下文信息;BILSTM_CRF
模型和IDCNN_CRF模型为深度学习模型,在本公开实施例中,BILSTM_CRF模型和IDCNN_CRF
模型的特征向量为字符的字向量和字符分割向量组成的字符特征向量。需要说明的是,本
公开实施例的多个识别模型还可以为其他的分类模型,对此本公开不做限制。
[0039] 待识别文本可以表示需要识别命名实体的文本。在完成多个预设的识别模型的训练后,服务器可以采用训练完成的识别模型识别待识别文本中的命名实体,并给出识别出
的命名实体的识别结果。
[0040] 图2示出根据本公开实施例的识别模型融合架构示意图。如图2所示,可以将待识别文本分别输入各识别模型,得到每个识别模型的识别结果,按照各识别模型的权重,对各
识别模型的识别结果进行加权求和,根据求和结果确定最终的识别结果。
[0041] 其中,通过识别模型得到的识别结果为待识别文本的各个字符被识别为命名实体的概率。
[0042] 在一种可能的实现方式中,当求和结果大于指定阈值时,确定属于命名实体,当求和结果小于或者等于指定阈值时,确定不属于命名实体。其中,指定阈值可以根据需要进行
确定,例如可以为0.5。
[0043] 在一个示例中,假设多个识别模型包括模型1、模型2和模型3,权重分别为0.1、0.3和0.7,指定阈值为0.5。待识别文本输入模型1、模型2和模型3后,得到模型1输出的待识别
文本中每个字符的识别结果(即每个字符被识别为命名实体的概率)、模型2输出的待识别
文本中每个字符的识别结果,以及模型3输出的待识别文本中每个字符的识别结果。以待识
别文本的第一个字符为例,假设模型1输出的第一个字符被识别为命名实体的概率为0.7,
模型2输出的第一个字符被识别为命名实体的概率为0.8,模型3输出的第一个字符被识别
为命名实体的概率为0.2,对这三个概率进行加权求和,可以得到求和结果为0.45,该求和
结果小于指定阈值0.5,因此,确定待识别文本的第一个字符不属于命名实体。对于待识别
文本的其他字符可以参照第一个字符,这里不再赘述。
[0044] 在一种可能的实现中,可以以融合后的模型的Loss(损失)最小为优化目标,在实现Loss值最小的过程中,不断迭代,最终搜索出最优的权重组合,从而确定出各个识别模型
的权重。
[0045] 以识别模型为CRF模型为例。图3示出根据本公开一实施例的命名实体识别方法的流程图。如图3所示,步骤S11根据所述训练语料,根据预设标注集对于文本进行标注得到训
练语料可包括步骤S111和步骤S112。
[0046] 步骤S111,对所述文本进行分词处理,得到多个分词。
[0047] 步骤S112,按照所述预设标注集包含的标注方式将属于命名实体的分词标注为相应的类型,以及对属于非命名实体的分词进行标注,得到训练语料。
[0048] 对于每个分词,可以确定该分词在文本中是否被标注为命名实体;若该分词被标注为命名实体,则可以确定该分词属于命名实体,若该分词被标注为非命名实体,则可以确
定该分词属于非命名实体。
[0049] 当分词属于命名实体时,可以确定该分词对应的命名实体的类型,按照预设标注集包含的该类型的命名实体的标注方式,标注该分词。
[0050] 当分词不属于命名实体时,可以按照预设标注集中包含的非命名实体的标注方式,标注该分词。例如,标注为O。
[0051] 在一个示例中,文本“4年前进行胆襄切除术”中的命名实体是已知的,“胆囊切除术”为治疗类型的命名实体,根据预设标注集“胆囊切除术”被标注为treatment,形成训练
语料。对训练语料进行分词处理,得到以下分词:“4”、“年”、“前”、“进行”、“胆囊”和“切除术”。将分词与被标注为treatment的命名实体“胆囊切除术”进行匹配,得到:分词“胆囊”和“切除术”属于疾病类型的命名实体,分词“胆囊”为该命名实体的第一个分词,分词“切除
术”为该命名实体的最后一个分词。因此,可以将“胆囊”标注为treatment-B,将“切除术”标注为treatment-E。对于文本中的其他分词,可以为这些分词添加O标注,对文本中的所有分
词标注完成后,可以得到训练语料。
[0052] 在一种可能的实现方式中,根据所述训练语料,训练预设的多个识别模型包括:根据所述训练语料,训练所述CRF模型。在此基础上,图4示出根据本公开一实施例的步骤S12
的流程图。如图4所示,步骤S12可包括:
[0053] 步骤S121,获取所述训练语料中每个分词的词性特征。
[0054] 步骤S122,将所述训练语料组织为矩阵形式,其中,矩阵中第一列为分词、中间列为各个分词的词性特征,最后一列为各个分词的标注结果,且第一列中各分词按照各分词
在所述训练语料中的位置进行排序。
[0055] 步骤S123,确定训练过程使用的CRF模板文件,所述CRF模板文件由多个模板组成,每个模板用于指定在针对当前分词提取上下文信息时,所提取的上下文信息相对于当前分
词的行偏移,以及所提取的上下文信息所在列的绝对位置,所述上下文信息包括分词的上
下文特征和词性的上下文特征。
[0056] 步骤S124,根据所述矩阵和所述CRF模板文件,生成CRF模型。
[0057] 分词的词性特征可以用于表示分词的词性。通过分析医疗电子病历数据,发现很多疾病名是由多个名词连接组成的,即疾病类型的命名实体通常由多个词性为名词的分词
组成。参照《中文电子病历分词规范》,词性主要包括名词(n)、动词(v)、介词(p)、数量词
(m)、符号(x)和副词(d)等。
[0058] 表2示出词性特征的示例。如表2所示,疾病类型的命名实体“腹部包块”由两个词性为名词的分词“腹部”和“包块”组成。需要说明的是,表2中,nr表示专有名词,专有名词可以作为上下文特征中的指定分词。
[0059] 表2
[0060]词 词性 标注
因 p O
发现 v O
腹部 n disease-B
包块 n disease-E
1 m O
年 m O
余 m O
入院 n O
。 x O
查体 nr O
: x O
n test-B
听诊 v test-E
无 v O
异常 d O
[0061] 可以将训练语料组织为矩阵形式,其中,矩阵中第一列为分词、中间列为各个分词的词性特征,最后一列为各个分词的标注结果,且第一列中各分词按照各分词在所述训练
语料中的位置进行排序。如表2所示,第一列是文本“因发现腹部包块1年余入院。查体:心肺
听诊无异常”包含的各个分词,第二列是各个分词的词性特征,第三列是各个分词的标注结
果。因此,表2可以表示训练语料组织成的矩阵,其中,表2所示的第一列可以作为矩阵的第
一列,表2所示的第二列可以作为矩阵的第二列,表2所示的第三列可以作为矩阵的第三列。
[0062] 其中,上下文信息包括分词的上下文特征和词性的上下文特征。
[0063] 分词的词性的上下文特征表示分词的上下文的特征。例如,疾病的症状通常出现在动词之后,即症状类型的命名实体通常出现在词性为动词的分词之后。举例来说,如表2
所示,检查类型的命名实体“心肺听诊”出现在词性为动词的分词“查体”之后。
[0064] 分词的上下文特征可以用于表示分词的上下文包括的分词的特征。分词的上下文特征可以由训练CRF模型时用到的特征模板生成。在训练CRF模型时用到的特征模板中可以
包含指定分词之前和/或之后的分词为指定分词。例如,“查体:”可以作为“心肺听诊”的上下文特征,“查体:”后面很大概率会出现检查类型的命名实体。在CRF模型时用到的特征模
板中可以包含相连的分词“查体”和分词“:”之后的分词为检查类型的命名实体。
[0065] CRF模板文件由多个模板组成,每个模板用于指定如何针对当前分词提取上下文信息。在CRF算法中,在针对当前分词提取上下文信息时,所提取的上下文信息相对于当前
分词的行偏移,以及所提取的上下文信息所在列的绝对位置。
[0066] 上下文信息可以表示为,其中,行和列的初始位置都是0。表3示出CRF模板文件的一个示例。表3所示的CRF模板文件中的每一行是一个模板,每个模板都由%x[row,col]来
指定提取的上下文信息。其中,row表示行的相对偏移量,col表示列的绝对位置。其中,row
为负数时,表示向前偏移,为正数时表示向后偏移,为0时表示当前分词。例如,参照表2和表
3,以当前分词是“腹部”为例进行说明。表3中%x[-2,0]为表2中行相对与“腹部”偏移量为-
2的行,列为第0列的内容,即分词“因”。表3中%x[0,1]为表2中行相对于“腹部”的偏移量为
0的行,列为第1列的内容,即分词“腹部”的词性特征“n”。表4示出,当前分词为“腹部”时,表
3所示的各模板对应的上下文信息。
[0067] 表3
[0068]#Unigram
U01:%x[-2,0]
U02:%x[-1,0]
U03:%x[0,0]
U04:%x[1,0]
U05:%x[2,0]
U06:%x[-1,0]/%x[0,0]
U07:%x[0,0]/%x[1,0]
U08:%x[-1,0]/%x[0,0]/%x[1,0]
U09:%x[-2,0]/%x[-1,0]/%x[0,0]
U10:%x[0,0]/%x[1,0]/%x[2,0]
U11:%x[0,1]
U12:%x[0,0]/%x[0,1]
#Bigram
B
[0069] 表4
[0070]
[0071] 对应各个模板,CRF算法会产生一系列的特征函数集合,用以反应训练语料的情况,进而生成对应的CRF模型。CRF算法中特征函数包括转移函数和状态函数,其中转移函数
为包含在当前位置前后的特征函数,状态函数为包含在当前位置上的特征函数。通常,特征
函数取值为1或者1。
[0072] 在一个示例中,表1示出了21种标注结果,根据模板U01%x[-2,0]可以得到如下状态特征函数:
[0073] Func1=if(output=‘disease-B’and feature=’U01:因’)return 1 else return 0
[0074] Func2=if(output=‘disease-I’and feature=’U01:因’)return 1 else return 0
[0075] Func3=if(output=‘disease-E’and feature=’U01:因’)return 1 else return 0
[0076] ……
[0077] Func21=if(output=‘O’and feature=’U01:因’)return 1 else return 0
[0078] 其中,output为当前分词“腹部”的观测标记,每个模板都会把所有可能的标记输出都列出来,然后通过训练确定各个特征函数的权重。合理的标记在训练样本中出现的次
数越多,对应的特征函数的权重越高,反之越少。
[0079] 根据所述矩阵和所述CRF模板文件,可以生成CRF模型。将矩阵和CRF模板文件输入CRF算法之后,CRF算法可以自动训练得到CRF模型。
[0080] 在一个示例中,可以通过命令“crf_learn template train.txt model”训练CRF模型。其中,template表示矩阵,train.txt表示CRF模板文件。该命令执行完后会生成model
文件,该model文件即为CRF模型。
[0081] 以BILSTM_CRF模型或者IDCNN_CRF模型为例。图5示出根据本公开一实施例的命名实体识别方法的流程图。如图5所示,步骤S11根据所述训练语料,根据预设标注集对于文本
进行标注得到训练语料可包括步骤S113和步骤S114。
[0082] 步骤S113,将所述文本划分为多个字符。
[0083] 步骤S114,按照所述预设标注集包含的标注方式将属于命名实体的字符标注为相应的类型,以及对属于非命名实体的字符进行标注,得到训练语料。
[0084] 对于每个字符,可以确定该字符在训练语料中是否被标注为命名实体;若该字符被标注为命名实体,则可以确定该字符属于命名实体;若该字符被标注为非命名实体,则可
以确定该字符属于非命名实体。
[0085] 当字符属于命名实体时,可以确定该字符对应的命名实体的类型,按照预设标注集包含的该类型的命名实体的标注方式,标注该字符。
[0086] 当字符不属于命名实体时,可以按照预设标注集中包含的非命名实体的标注方式,标注该字符。例如,标注为O。
[0087] 在一个示例中,文本“4年前进行胆襄切除术”中的命名实体是已知的,“胆囊切除术”为治疗类型的命名实体,根据预设标注集“胆囊切除术”被标注为treatment,形成训练
语料。将训练语料拆分为字符,得到字符“4”、“年”、“前”、“进”、“行”、“胆”、“襄”、“切”、“除”和“术”。将字符与被标注为treatment的命名实体“胆囊切除术”进行匹配,其中,字符“胆”、“襄”、“切”、“除”和“术”属于疾病类型的命名实体,字符“胆”为该命名实体的第一个字符,字符“襄”、“切”和“除”为该命名实体的中间的字符,字符“术”为该命名实体的最后一个字符。因此,可以为字符“胆”标注为treatment-B,字符“襄”、“切”和“除”分别标注为
treatment-I,字符“术”标注为treatment-E。对于训练语料中的其他分词,服务器可以为这
些分词标注为O,对文本中所有字符标注完成后,可以得到训练语料。
[0088] 在一种可能的实现方式中,根据所述训练语料,训练预设的多个识别模型包括:根据所述训练语料,训练所述BILSTM_CRF模型或者所述IDCNN_CRF模型。在此基础上,图6示出
根据本公开一实施例的步骤S12的流程图。如图6所示,步骤S12可包括:
[0089] 步骤S125,获取所述训练语料中每个字符的字符特征向量,所述字符特征向量包括字向量和字符分割向量。
[0090] 步骤S126,根据所述训练语料中各字符的字符特征向量和各字符对应的标注结果,训练所述BILSTM_CRF模型或者所述IDCNN_CRF模型。
[0091] 字符特征向量可以表示字符的特征向量,字符特征向量可包括字向量和字符分割向量。
[0092] 其中,字向量为可以表示字符的特征的向量,字向量的每一维的值可以代表一个具有一定语义和语法上解释的特征。其中,特征可以用于对字的基本要素(例如偏旁、部首、
笔画、含义等)进行表征的各种信息。可以根据外部字向量表(例如通过word2vec训练完成
的字向量表)对各字符进行id编码,得到各字符的字id。训练模型时,可以采用字id匹配外
部字向量表,得到字向量。
[0093] 字符分割向量可以用于识别属于同一个分词的字符。在将训练语料拆分成字符的过程中,可以对属于同一个命名实体的字符进行数值编码,例如“哈”“尔”“滨”三个字符属于一个命名实体,数值编码可以表示为“1”“2”“3”,“北”“京”两个字符属于一个命名实体,数值编码可以表示为“1”“3”,“鄂”“尔”“多”“斯”四个字符属于一个命名实体,数值编码可以表示为“1”“2”“2”“3”。在将训练语料拆分成字符的过程中,对不属于命名实体的字符,数值编码可以标注为0。例如,“我是哈尔滨人”的数值编码可以表示为“0 0 1 2 3 0”。可以对训练语料的各字符编码后,针对每个字符,可以对该字符进行随机初始化,生成该字符的初
始向量。在训练模型时,通过反向传播算法不断优化,最终为该字符训练出一个最优的字符
分割向量。
[0094] 表5示出字id和数值编码的示例。表6示出在表5的基础上,得到的字向量和字符分割向量的示例。其中,字向量的维度为100,字符分割向量的维度为20。
[0095] 表5
[0096]训练语料 [因,发,现,腹,部,包,块,……]
字id [230,16,511,14,1052,363,……]
数值编码 [0,0,0,1,2,2,3,……]
[0097] 表6
[0098]训练语料 字向量 字符分割向量
因 [0.5,0.6……0.25,0.5]1*100 [0.5,0.6……0.25]1*20
发 [0.7,0.8……0.32,0.3]1*100 [0.5,0.6……0.25]1*20
现 [0.9,0.5……0.72,0.8]1*100 [0.5,0.6……0.25]1*20
腹 [0.9,0.8……0.75,0.9]1*100 [0.9,0.8……0.75]1*20
部 [0.2,0.6……0.22,0.6]1*100 [0.2,0.6……0.22]1*20
包 [0.5,0.3……0.52,0.7]1*100 [0.2,0.6……0.22]1*20
块 [0.4,0.7……0.23,0.9]1*100 [0.4,0.7……0.23]1*20
…… …… …
[0099] 根据所述训练语料中各字符的字符特征向量和各字符对应的标注结果,训练所述BILSTM_CRF模型或者所述IDCNN_CRF模型。其中,第各字符的字符特征向量可以作为
BILSTM_CRF模型或者IDCNN_CRF模型的输入,各字符的标注结果可以用于监督BILSTM_CRF
模型和IDCNN_CRF模型的输出结果。
[0100] 以所述多个识别模型包括CRF模型和/或BILSTM_CRF模型和/或IDCNN_CRF模型为例。
[0101] 其中,采用所述CRF模型识别待识别文本,得到识别结果可包括:对所述待识别文本进行分词处理,得到多个分词;确定每个分词的词性特征;将携带有所述词性特征的多个
分词组成的分词序列输入所述CRF模型中,得到所述CRF模型的识别结果。
[0102] 采用所述BILSTM_CRF模型或所述IDCNN_CRF模型识别待识别文本,得到识别结果可包括:将所述待识别文本拆分成字符,得到多个字符;确定每个字符的字符特征向量;将
多个字符的字符特征向量组成的序列分别输入BILSTM_CRF模型或IDCNN_CRF模型中,得到
BILSTM_CRF模型的识别结果或IDCNN_CRF模型的识别结果。
[0103] 可以对待识别文本进行分词,并确定各分词的词性特征,将携带有词性特征的分词组成的分词序列输入到训练完成的CRF模型中,得到CRF模型的识别结果。
[0104] 可以将所述待识别文本拆分成字符,获取每个字符的字符特征向量,将各字符的字符特征向量组成的序列分别输入到训练完成的BILSTM_CRF模型和IDCNN_CRF模型中,得
到BILSTM_CRF模型的识别结果和IDCNN_CRF模型的识别结果。
[0105] 表7示出识别结果的一个示例。如表6所示,针对待识别文本中的某个字符,三种模型确定该字符属于命名实体的概率分别为0.7、0.8和0.2,以0.5为为分类阈值,三种模型的
预测类别分别为1、1、0。其中,1表示,该字符属于命名实体,0表示该字符不属于命名实体。
经过加权后,确定该字符属于命名实体的概率为0.45,可以确定最终识别结果为0,即该字
符不属于命名实体。
[0106] 表7
[0107]
[0108] 图7示出根据本公开一实施例的命名实体识别装置的框图。如图7所示,该装置30可以包括:
[0109] 标注模块31,用于根据预设标注集对于文本进行标注得到训练语料,所述预设标注集包含命名实体的类型和标注方式、以及非命名实体的标注方式;
[0110] 训练模块32,用于根据所述训练语料,训练预设的多个识别模型;
[0111] 识别模块33,用于采用所述多个识别模型分别识别待识别文本,得到每个识别模型的识别结果;
[0112] 加权模块34,用于基于各识别模型的权重以及各识别模型的识别结果,得到所述待识别文本的识别结果。
[0113] 在本公开实施例中,通过加权融合多个识别模型的识别结果,结合了不同识别模型的优势,提升了命名实体识别的精度。
[0114] 在一种可能的实现方式中,所述标注模块31具体可用于:
[0115] 所述识别模型为CRF模型时,对所述文本进行分词处理,得到多个分词;
[0116] 按照所述预设标注集包含的标注方式将属于命名实体的分词标注为相应的类型,以及对属于非命名实体的分词进行标注,得到训练语料。
[0117] 图8示出根据本公开一实施例的命名实体识别装置的框图。如图8所示,在一种可能的实现方式中,所述训练模块32可包括:
[0118] 第一训练子模块321,用于根据所述训练语料,训练所述CRF模型;
[0119] 所述第一训练子模块321具体可用于:
[0120] 获取所述训练语料中每个分词的词性特征;
[0121] 将所述训练语料组织为矩阵形式,其中,矩阵中第一列为分词、中间列为各个分词的词性特征,最后一列为各个分词的标注结果,且第一列中各分词按照各分词在所述训练
语料中的位置进行排序;
[0122] 确定训练过程使用的CRF模板文件,所述CRF模板文件由多个模板组成,每个模板用于指定在针对当前分词提取上下文信息时,所提取的上下文信息相对于当前分词的行偏
移,以及所提取的上下文信息所在列的绝对位置,所述上下文信息包括分词的上下文特征
和词性的上下文特征;
[0123] 根据所述矩阵和所述CRF模板文件,生成CRF模型。
[0124] 在一种可能的实现方式中,所述标注模块31具体可用于:
[0125] 所述识别模型为BILSTM_CRF模型或者IDCNN_CRF模型时,将所述文本划分为多个字符;
[0126] 按照所述预设标注集包含的标注方式将属于命名实体的字符标注为相应的类型,以及对属于非命名实体的字符进行标注,得到训练语料。
[0127] 在一种可能的实现方式中,所述训练模块32可包括:
[0128] 第二训练子模块322,用于根据所述训练语料,训练所述BILSTM_CRF模型或者所述IDCNN_CRF模型;
[0129] 所述第二训练子模块322具体可用于:
[0130] 获取所述训练语料中每个字符的字符特征向量,所述字符特征向量包括字向量和字符分割向量;
[0131] 根据所述训练语料中各字符的字符特征向量和各字符对应的标注结果,训练所述BILSTM_CRF模型或者所述IDCNN_CRF模型。
[0132] 在一种可能的实现方式中,所述多个识别模型包括CRF模型和/或BILSTM_CRF模型和/或所述IDCNN_CRF模型;所述识别模块33可包括:
[0133] 第一识别子模块331,用于采用所述CRF模型识别待识别文本,得到识别结果;
[0134] 第二识别子模块332,用于采用所述BILSTM_CRF模型或所述IDCNN_CRF模型识别待识别文本,得到识别结果;
[0135] 其中,所述第一识别子模块331具体可用于:
[0136] 对所述待识别文本进行分词处理,得到多个分词;
[0137] 确定每个分词的词性特征;
[0138] 将携带有所述词性特征的多个分词组成的分词序列输入所述CRF模型中,得到所述CRF模型的识别结果;
[0139] 所述第二识别子模块332具体可用于:
[0140] 将所述待识别文本拆分成字符,得到多个字符;
[0141] 确定每个字符的字符特征向量;
[0142] 将多个字符的字符特征向量组成的序列分别输入BILSTM_CRF模型或IDCNN_CRF模型中,得到BILSTM_CRF模型的识别结果或IDCNN_CRF模型的识别结果。
[0143] 图9是根据一示例性实施例示出的一种用于命名实体识别装置900的框图。参照图9,该装置900可包括处理器901、存储有机器可执行指令的机器可读存储介质902。处理器
901与机器可读存储介质902可经由系统总线903通信。并且,处理器901通过读取机器可读
存储介质902中与命名实体识别逻辑对应的机器可执行指令以执行上文所述的命名实体识
别方法。
[0144] 本文中提到的机器可读存储介质902可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:
RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱
动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介
质,或者它们的组合。
[0145] 以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技
术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨
在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领
域的其它普通技术人员能理解本文披露的各实施例。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈