掌桥专利:专业的专利平台
掌桥专利
首页

基于注意力的Bi-LSTM+CRF模型的实体识别方法及装置

文献发布时间:2023-06-19 19:38:38


基于注意力的Bi-LSTM+CRF模型的实体识别方法及装置

技术领域

本申请涉及自然语言处理技术领域,尤其涉及一种基于注意力的Bi-LSTM+CRF模型的实体识别方法及装置。

背景技术

实体识别是自然语言处理领域的常用问题,主要是从一段文本中提取目标词语。LSTM(Long-Short Term Memory,长短期记忆网络)是一种改进之后的RNN(RecurrentNeural Network,循环神经网络),LSTM作为序列建模的代表,天然适合序列建模,尽管比RNN增加了输入门、遗忘门等门机制,但对模式复杂的长文本建模还是不足,无法捕捉长距离的文本信息。

基于LSTM的特点,相关技术的Bi-LSTM(Bi-directional Long-Short TermMemory,双向长短时记忆网络)+CRF(Conditional Random Field,条件随机场,属于判别式概率图模型)模型,将文本的字粒度特征和词粒度特征两者简单叠加等比较粗糙方式获得输入特征,对常见的简单文本实体识别效果较好,但对于模式复杂的长文本实体识别却效果不佳。

总之,相关技术的Bi-LSTM+CRF模型,对长文本建模不足,无法捕捉长距离文本信息,无法准确地对模式复杂的长文本中的实体进行识别,无法达到最佳的实体识别效果。

发明内容

为解决或部分解决相关技术中存在的问题,本申请提供一种基于注意力的Bi-LSTM+CRF模型的实体识别方法及装置,能够准确地对文本中的实体进行识别,达到最佳的实体识别效果。

本申请第一方面提供一种基于注意力的Bi-LSTM+CRF模型的实体识别方法,所述方法包括:

对训练集进行预处理,获得所述训练集的输入向量,所述输入向量包括字符粒度向量、单词粒度向量、词库粒度向量;

将所述输入向量输入待训练的基于注意力的Bi-LSTM+CRF模型;

在所述待训练的基于注意力的Bi-LSTM+CRF模型的输入特征层,采用注意力机制,分别对所述输入向量的不同位置的字符粒度向量、单词粒度向量、词库粒度向量赋予权重,获得加权和运算后的混合向量;

根据所述混合向量,获得所述待训练的基于注意力的Bi-LSTM+CRF模型输出的实体识别结果;

根据所述实体识别结果和所述训练集,获得损失函数值;

如果所述损失函数值小于设定损失阈值和/或循环迭代训练的次数达到设定迭代次数,确定完成基于注意力的Bi-LSTM+CRF模型的训练;

对待实体识别文本进行预处理,获得所述待实体识别文本的输入向量;

将所述待实体识别文本的输入向量输入完成训练的基于注意力的Bi-LSTM+CRF模型,以使基于注意力的Bi-LSTM+CRF模型输出实体识别结果。

优选的,所述基于注意力的Bi-LSTM+CRF模型包括输入特征层、设置于前向LSTM之前的第一注意力层、设置于后向LSTM之前的第二注意力层。

优选的,在所述待训练的基于注意力的Bi-LSTM+CRF模型的输入特征层,采用注意力机制,分别对所述输入向量的不同位置的字符粒度向量、单词粒度向量、词库粒度向量赋予权重,获得加权和运算后的混合向量,包括:

在所述待训练的基于注意力的Bi-LSTM+CRF模型的输入特征层,采用注意力机制,分别对所述输入向量的每个不同位置的字符粒度向量、单词粒度向量、词库粒度向量赋予权重;

根据输入向量每个不同位置的字符粒度向量、单词粒度向量、词库粒度向量的权重,采用注意力机制,分别对输入向量的每个不同位置的字符粒度向量、单词粒度向量、词库粒度向量进行加权和运算,获得加权和运算后的混合向量。

优选的,所述根据所述混合向量,获得所述待训练的基于注意力的Bi-LSTM+CRF模型输出的实体识别结果,包括:

将所述混合向量输入所述第一注意力层,采用注意力机制,获得所述第一注意力层输出的第一加权和向量;

将所述第一加权和向量输入所述前向LSTM,获得所述前向LSTM输出的前向融合向量;

将所述前向融合向量输入所述第二注意力层,采用注意力机制,获得第二加权和向量;

将所述第二加权和向量输入所述后向LSTM,获得所述后向LSTM输出的后向融合向量;

将所述后向融合向量输入CRF层,获得所述CRF层输出的实体识别结果。

优选的,所述方法还包括:

如果所述损失函数值大于或等于设定损失阈值和/或循环迭代训练的次数没有达到设定迭代次数,执行所述在所述待训练的基于注意力的Bi-LSTM+CRF模型的输入特征层,采用注意力机制,分别对所述输入向量的不同位置的字符粒度向量、单词粒度向量、词库粒度向量赋予权重,获得加权和运算后的混合向量的步骤。

本申请第二方面提供一种基于注意力的Bi-LSTM+CRF模型的实体识别装置,所述装置包括:

预处理模块,用于对训练集进行预处理,获得所述训练集的输入向量,所述输入向量包括字符粒度向量、单词粒度向量、词库粒度向量;

向量输入模块,用于将所述预处理模块获得的输入向量输入待训练的基于注意力的Bi-LSTM+CRF模型;

向量混合模块,用于在所述待训练的基于注意力的Bi-LSTM+CRF模型的输入特征层,采用注意力机制,分别对所述向量输入模块输入的输入向量的不同位置的字符粒度向量、单词粒度向量、词库粒度向量赋予权重,获得加权和运算后的混合向量;

结果获取模块,用于根据所述向量混合模块获得的混合向量,获得所述待训练的基于注意力的Bi-LSTM+CRF模型输出的实体识别结果;

损失计算模块,用于根据所述结果获取模块获得的实体识别结果和所述训练集,获得损失函数值;

训练完成模块,用于如果所述损失计算模块获得的损失函数值小于设定损失阈值和/或循环迭代训练的次数达到设定迭代次数,确定完成基于注意力的Bi-LSTM+CRF模型的训练;

所述预处理模块,还用于对待实体识别文本进行预处理,获得所述待实体识别文本的输入向量;

所述向量输入模块,还用于将所述预处理模块获得的待实体识别文本的输入向量输入完成训练的基于注意力的Bi-LSTM+CRF模型,以使基于注意力的Bi-LSTM+CRF模型输出实体识别结果。

优选的,所述向量混合模块包括:

权重赋予子模块,用于在所述待训练的基于注意力的Bi-LSTM+CRF模型的输入特征层,采用注意力机制,分别对所述向量输入模块输入的输入向量的每个不同位置的字符粒度向量、单词粒度向量、词库粒度向量赋予权重;

向量运算子模块,用于根据所述权重赋予子模块赋予的输入向量每个不同位置的字符粒度向量、单词粒度向量、词库粒度向量的权重,采用注意力机制,分别对所述向量输入模块输入的输入向量的每个不同位置的字符粒度向量、单词粒度向量、词库粒度向量进行加权和运算,获得加权和运算后的混合向量。

优选的,所述结果获取模块还用于:

将所述向量混合模块获得的混合向量输入所述待训练的基于注意力的Bi-LSTM+CRF模型的第一注意力层,采用注意力机制,获得所述第一注意力层输出的第一加权和向量;

将所述第一加权和向量输入所述待训练的基于注意力的Bi-LSTM+CRF模型的前向LSTM,获得所述前向LSTM输出的前向融合向量;

将所述前向融合向量输入所述待训练的基于注意力的Bi-LSTM+CRF模型的第二注意力层,采用注意力机制,获得第二加权和向量;

将所述第二加权和向量输入所述待训练的基于注意力的Bi-LSTM+CRF模型的后向LSTM,获得所述后向LSTM输出的后向融合向量;

将所述后向融合向量输入所述待训练的基于注意力的Bi-LSTM+CRF模型的CRF层,获得所述CRF层输出的实体识别结果。

本申请第三方面提供一种电子设备,包括:

处理器;以及

存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如上所述的方法。

本申请第四方面提供一种计算机可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如上所述的方法。

本申请提供的技术方案可以包括以下有益效果:

本申请的技术方案,输入向量包括字符粒度向量、单词粒度向量、词库粒度向量3种不同粒度的向量,在基于注意力的Bi-LSTM+CRF模型的输入特征层,采用注意力机制,分别对输入向量不同位置的3种不同粒度的向量赋予权重,获得加权和运算后的混合向量,根据混合向量,获得基于注意力的Bi-LSTM+CRF模型输出的实体识别结果,让基于注意力的Bi-LSTM+CRF模型在训练过程动态给予输入向量不同位置的不同粒度的向量不同权重的关注,动态调整对输入向量的拟合能力,全面增强输入向量包含的信息,丰富向量中各个位置的信息,能够更好地对基于注意力的Bi-LSTM+CRF模型进行训练,提高模型的训练效率,能够准确地对文本特别是长文本中的实体进行识别,提高实体识别的精度和速度,达到最佳的实体识别效果。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

通过结合附图对本申请示例性实施方式进行更详细地描述,本申请的上述以及其它目的、特征和优势将变得更加明显,其中,在本申请示例性实施方式中,相同的参考标号通常代表相同部件。

图1是本申请实施例示出的基于注意力的Bi-LSTM+CRF模型的实体识别方法的流程示意图;

图2是本申请实施例示出的基于注意力的Bi-LSTM+CRF模型的实体识别方法的另一流程示意图;

图3是本申请实施例示出的基于注意力的Bi-LSTM+CRF模型的实体识别方法的输入向量及权重的示意图;

图4是本申请实施例示出的基于注意力的Bi-LSTM+CRF模型的实体识别方法的基于注意力的Bi-LSTM+CRF模型的结构框图;

图5是本申请实施例示出的基于注意力的Bi-LSTM+CRF模型的实体识别装置的结构示意图;

图6是本申请实施例示出的基于注意力的Bi-LSTM+CRF模型的实体识别装置的另一结构示意图;

图7是本申请实施例示出的电子设备的结构示意图。

具体实施方式

下面将参照附图更详细地描述本申请的实施方式。虽然附图中显示了本申请的实施方式,然而应该理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本申请更加透彻和完整,并且能够将本申请的范围完整地传达给本领域的技术人员。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语“第一”、“第二”、“第三”等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

本申请实施例提供一种基于注意力的Bi-LSTM+CRF模型的实体识别方法,能够准确地对文本中的实体进行识别,达到最佳的实体识别效果。

以下结合附图详细描述本申请实施例的技术方案。

图1是本申请实施例示出的基于注意力的Bi-LSTM+CRF模型的实体识别方法的流程示意图。

参见图1,一种基于注意力的Bi-LSTM+CRF模型的实体识别方法,包括:

在步骤S101中,对训练集进行预处理,获得训练集的输入向量,输入向量包括字符粒度向量、单词粒度向量、词库粒度向量。

在一种实施方式中,可以采用标注工具对文本的实体进行正确标注,将完成对文本的实体进行正确标注的多个文本组合成训练集,对训练集的文本进行向量转换,输入向量可以包括字符粒度向量、单词粒度向量、词库粒度向量。

在步骤S102中,将输入向量输入待训练的基于注意力的Bi-LSTM+CRF模型。

在步骤S103中,在待训练的基于注意力的Bi-LSTM+CRF模型的输入特征层,采用注意力机制,分别对输入向量的不同位置的字符粒度向量、单词粒度向量、词库粒度向量赋予权重,获得加权和运算后的混合向量。

在一种实施方式中,可以在待训练的基于注意力的Bi-LSTM+CRF模型的输入特征层引入Attention(注意力)机制,分别对输入向量不同位置的字符粒度向量、单词粒度向量、词库粒度向量分别赋予权重,其中,输入向量同一位置的字符粒度向量、单词粒度向量、词库粒度向量的权重之和等于1;根据输入向量不同位置的不同粒度向量的权重,分别对输入向量的不同位置的不同粒度向量进行加权和运算,获得混合输入向量不同位置的不同粒度向量的混合向量,获得输入特征层根据输入向量采用注意力机制输出的混合向量。

在步骤S104中,根据混合向量,获得待训练的基于注意力的Bi-LSTM+CRF模型输出的实体识别结果。

在一种实施方式中,可以通过待训练的基于注意力的Bi-LSTM+CRF模型的注意力层、前向LSTM、后向LSTM、CRF层,根据输入特征层输出的混合向量,获得待训练的基于注意力的Bi-LSTM+CRF模型输出的实体识别结果。

在步骤S105中,根据实体识别结果和训练集,获得损失函数值。

在一种实施方式中,根据待训练的基于注意力的Bi-LSTM+CRF模型输出的实体识别结果,以及训练集的实体标注,计算待训练的基于注意力的Bi-LSTM+CRF模型的损失函数值。

在步骤S106中,如果损失函数值小于设定损失阈值和/或循环迭代训练的次数达到设定迭代次数,确定完成基于注意力的Bi-LSTM+CRF模型的训练。

在一种实施方式中,如果损失函数值小于设定损失阈值,确定完成基于注意力的Bi-LSTM+CRF模型的训练;和/或,在循环迭代训练的次数达到设定迭代次数,确定完成基于注意力的Bi-LSTM+CRF模型的训练。

在步骤S107中,对待实体识别文本进行预处理,获得待实体识别文本的输入向量。

在步骤S108中,将待实体识别文本的输入向量输入完成训练的基于注意力的Bi-LSTM+CRF模型,以使基于注意力的Bi-LSTM+CRF模型输出实体识别结果。

本申请实施例示出的基于注意力的Bi-LSTM+CRF模型的实体识别方法,输入向量包括字符粒度向量、单词粒度向量、词库粒度向量3种不同粒度的向量,在基于注意力的Bi-LSTM+CRF模型的输入特征层,采用注意力机制,分别对输入向量不同位置的3种不同粒度的向量赋予权重,获得加权和运算后的混合向量,根据混合向量,获得基于注意力的Bi-LSTM+CRF模型输出的实体识别结果,让基于注意力的Bi-LSTM+CRF模型在训练过程动态给予输入向量不同位置的不同粒度的向量不同权重的关注,动态调整对输入向量的拟合能力,全面增强输入向量包含的信息,丰富向量中各个位置的信息,能够更好地对基于注意力的Bi-LSTM+CRF模型进行训练,提高模型的训练效率,能够准确地对文本特别是长文本中的实体进行识别,提高实体识别的精度和速度,达到最佳的实体识别效果。

图2是本申请实施例示出的基于注意力的Bi-LSTM+CRF模型的实体识别方法的另一流程示意图。图2相对于图1更详细描述了本申请的方案。

参见图2,一种基于注意力的Bi-LSTM+CRF模型的实体识别方法,包括:

在步骤S201中,对待识别文本进行正确的标注,获得训练集。

在一种实施方式中,可以采用标注工具对多个长文本的实体进行正确标注,将完成正确标注的多个长文本组合成训练集。例如,对多篇游记中的实体进行正确的标注,由多篇实体进行正确的标注游记组成训练集。

在步骤S202中,对训练集的文本进行3种不同粒度的向量转换,获得训练集的输入向量,输入向量包括字符粒度向量、单词粒度向量、词库粒度向量。

在一种实施方式中,可以根据字符粒度对训练集的文本进行向量转换,获得训练集的字符粒度向量;可以根据单词粒度对训练集的文本进行向量转换,获得训练集的单词粒度向量;可以根据词库粒度对训练集的文本进行向量转换,获得训练集的词库粒度向量。词库粒度就是直接标记当前词是否在预存的POI(Point of Interest,兴趣点)库中,可以提升对已有POI的识别能力。在预存的POI库中,存储有景点、餐厅和酒店等POI信息。如果当前词在预存的POI库中,当前词的向量为1;如果当前词不在预存的POI库中,当前词的向量为0。

在一种实施方式中,如图3所示,以文本“惠州的双月湾很美”为例,对该文本进行字符粒度、单词粒度和词库粒度的分割,获得该文本对应字符粒度、单词粒度和词库粒度三种不同粒度的三种不同的向量:字符粒度向量L1、单词粒度向量L2、词库粒度向量L3,该文本的输入向量L包括字符粒度向量L1、单词粒度向量L2、词库粒度向量L3。

在一种实施方式中,可以对全部训练文本使用jieba分词工具分词,通过word2vec(word2vector)词向量模型获取单词粒度向量;对分词后的文本使用word2vec的skipgram模型训练;不断迭代直至满足停止条件,得到各个单词的128维的词向量。

在一种实施方式中,可以用文本的字符数或字数表示文本的长度,对训练集的文本进行长度判断;若文本超过200个字符或者字数,则对文本进行截断,将文本分组成最大长度为200个字符或字数的多个输入文本。

在一种实施方式中,对文本进行截断,可以以常见的标点符号的点号(例如,逗号、句号、问号、感叹号)等作为截断分隔符,将文本分组成最大长度为200个字符或字数的多个输入文本。如果截止至某个截断分隔符,字符数大于200,可以将当前输入文本的截断位置提前到上一个截断分隔符。例如,“国庆去哪里*******(第一句),不如考虑*********(第二句),上海普陀山******。(第三句)”如果截断位置在第3句的句号位置,由第一句、第二句和第三句组成的输入文本长度超过200字符,则将截断位置放在第二句的逗号(,),由第一句和第二句作为一个输入文本,第三句可以单独作为另一个输入文本。

在步骤S203中,将训练集的输入向量输入待训练的基于注意力的Bi-LSTM+CRF模型,基于注意力的Bi-LSTM+CRF模型包括引入注意力机制的输入特征层、设置于前向LSTM之前的第一注意力层、设置于后向LSTM之前的第二注意力层。

在一种实施方式中,如图4所示,基于注意力的Bi-LSTM+CRF模型包括引入注意力机制的输入特征层401、设置于前向LSTM403之前的第一Attention层402、设置于后向LSTM405之前的第二注意力层404、CRF层406。

在步骤S204中,在输入特征层,采用注意力机制,分别对输入向量的每个不同位置的字符粒度向量、单词粒度向量、词库粒度向量赋予权重,根据输入向量每个不同位置的字符粒度向量、单词粒度向量、词库粒度向量的权重,采用注意力机制,分别对输入向量的每个不同位置的字符粒度向量、单词粒度向量、词库粒度向量进行加权和运算,获得加权和运算后的混合向量。

在一种实施方式中,在引入注意力机制的输入特征层,分别对输入向量每个不同位置的字符粒度向量、单词粒度向量、词库粒度向量分别赋予权重,其中,输入向量同一位置的字符粒度向量、单词粒度向量、词库粒度向量的3个权重的和等于1;根据每个不同位置的字符粒度向量、单词粒度向量、词库粒度向量的权重,采用注意力机制,分别对输入向量的每个不同位置的字符粒度向量、单词粒度向量、词库粒度向量进行加权和运算,获得混合输入向量每个不同位置的字符粒度向量、单词粒度向量、词库粒度向量的混合向量,获得输入特征层根据输入向量基于注意力机制输出的混合向量。

如图3所示,文本“惠州的双月湾很美”的输入向量包括:字符粒度的字符粒度向量、单词粒度的单词粒度向量、词库粒度的词库粒度向量,输入向量第一位置字符粒度向量、单词粒度向量、词库粒度向量的权重分别是a、b、c,a+b+c=1,第一位置的混合向量=第一位置的字符粒度向量*a+第一位置的单词粒度向量*b+第一位置的词库粒度向量*c;输入向量第二位置字符粒度向量、单词粒度向量、词库粒度向量的权重分别是a2、b2、c2,a2+b2+c2=1,第二位置的混合向量=第二位置的字符粒度向量*a2+第二位置的单词粒度向量*b2+第二位置的词库粒度向量*c2;…;依此类推,分别对输入向量每个不同位置的字符粒度向量、单词粒度向量、词库粒度向量分别赋予权重,分别对输入向量的每个不同位置的字符粒度向量、单词粒度向量、词库粒度向量进行加权和运算,获得输入向量每个不同位置的混合字符粒度向量、单词粒度向量、词库粒度向量的混合向量,获得输入特征层根据输入向量基于注意力机制输出的混合向量。

在一种实施方式中,训练集的输入向量由字符粒度向量,单词粒度向量,词库粒度向量3种不同粒度的向量组成,因此,输入向量每个不同位置的字符粒度向量、单词粒度向量、词库粒度向量的权重可以构成一个3X3的矩阵,矩阵中的每个值代表3种不同粒度的向量在输入向量每个位置的权重。在模型的训练过程,让模型在损失函数值反向传播时修正3x3矩阵中的值,从而训练学习到输入向量每个位置3种不同粒度向量中字符粒度向量,单词粒度向量,词库粒度向量各自的权重。

在步骤S205中,将混合向量输入第一注意力层,采用注意力机制,获得第一注意力层输出的第一加权和向量。

在一种实施方式中,将输入特征层输出的混合向量输入第一Attention层。在第一Attention层,采用注意力机制,可以获得混合向量中两两位置之间的相似度;根据两两位置之间的相似度,对混合向量不同位置赋予不同的权重;根据混合向量不同位置的不同权重,对混合向量进行加权和运算,获得附有注意力信息的第一加权和向量,获得第一Attention层输出的第一加权和向量。

在步骤S206中,将第一加权和向量输入前向LSTM,获得前向LSTM输出的前向融合向量。

在一种实施方式中,可以将第一Attention层输出的第一加权和向量输入前向LSTM,前向LSTM对第一加权和向量的信息进行前向融合,输出前向融合向量,获得前向LSTM输出的第一加权和向量。

在步骤S207中,将前向融合向量输入第二注意力层,采用注意力机制,获得第二加权和向量。

在一种实施方式中,可以将前向LSTM输出的前向融合向量输入第二Attention层。在第二Attention层,采用注意力机制,对前向融合向量不同位置赋予不同的权重;根据前向融合向量不同位置的不同权重,对前向融合向量进行加权和运算,获得附有注意力信息的第二加权和向量;获得第二Attention层输出的第二加权和向量。

在步骤S208中,将第二加权和向量输入后向LSTM,获得后向LSTM输出的后向融合向量。

在一种实施方式中,可以将第二Attention层输出的第二加权和向量输入后向LSTM。后向LSTM对第二加权和向量的信息进行反向融合,输出后向融合向量,获得后向LSTM输出的后向融合向量。

在步骤S209中,将后向融合向量输入CRF层,获得CRF层输出的实体识别结果。

在一种实施方式中,可以将后向LSTM输出的后向融合向量输入CRF层。CRF层可以采用s标记独立字符,采用b标记实体开始,采用m标记实体颞部,采用e标记实体结束;以后向融合向量作为CRF层的输入,对后向融合向量每个位置的向量进行标记;根据每个向量的标记标签,获得分类标签结果,输出训练集的实体识别结果。例如,待识别文本“惠州的双月湾很美”,这句话的标记标签就是:besbmess,CRF层可以对向量序列中各个位置属于sbme中的哪一个进行标记并分类,根据分类结果中的be,可以知道哪一个词是实体,即be之间的字符串就是一个实体。

在步骤S210中,根据实体识别结果与训练集,计算损失函数值。

在步骤S211中,判断损失函数值是否小于设定损失阈值或循环迭代训练次数是否达到设定迭代次数;如果是,执行步骤S212;如果否,执行步骤S204。

在一种实施方式中,可以对基于注意力的Bi-LSTM+CRF模型的损失函数值和/或循环迭代训练次数进行判断,如果损失函数值小于设定损失阈值和/或循环迭代训练的次数达到设定迭代次数,执行步骤S212;如果损失函数值大于或等于设定损失阈值或循环迭代训练的次数没有达到设定迭代次数,执行步骤S204,继续对基于注意力的Bi-LSTM+CRF模型进行迭代训练,直至基于注意力的Bi-LSTM+CRF模型的损失函数值小于设定损失阈值和/或循环迭代训练的次数达到设定迭代次数。

在步骤S212中;确定完成基于注意力的Bi-LSTM+CRF模型的训练。

在一种实施方式中,如果损失函数值小于设定损失阈值,可以确定完成基于注意力的Bi-LSTM+CRF模型的训练;和/或,如果对基于注意力的Bi-LSTM+CRF模型的循环迭代训练次数达到设定迭代次数,也可以确定完成基于注意力的Bi-LSTM+CRF模型的训练。

可以理解的,在损失函数值小于设定损失阈值和循环迭代训练次数达到设定迭代次数两个条件中的任一个条件满足时,确定完成基于注意力的Bi-LSTM+CRF模型的训练;也可以在损失函数值小于设定损失阈值和循环迭代训练的次数达到设定迭代次数两个条件都满足时,确定完成基于注意力的Bi-LSTM+CRF模型的训练。

在步骤S213中,对待实体识别文本进行预处理,获得待实体识别文本的输入向量;将待实体识别文本的输入向量输入完成训练的基于注意力的Bi-LSTM+CRF模型,以使基于注意力的Bi-LSTM+CRF模型输出实体识别结果。

在一种实施方式中,可以根据字符粒度对待实体识别文本进行向量转换,获得训练集的字符粒度向量;可以根据单词粒度对待实体识别文本进行向量转换,获得训练集的单词粒度向量;可以根据词库粒度对待实体识别文本进行向量转换,获得训练集的词库粒度向量;获得待实体识别文本的输入向量,输入向量包括字符粒度向量、单词粒度向量和词库粒度向量;将待实体识别文本的输入向量输入完成训练的基于注意力的Bi-LSTM+CRF模型,获得待实体识别文本的标记标签,依据标记标签输出实体识别结果。

在一种实施方式中,可以通过viterbi算法对文本的标记标签进行解码。viterbi算法从前向后,基于上一位置计算截止到当前位置的标记标签的序列概率,在输入最后一个位置挑选概率最大的标记标签的序列作为结果序列组合,获得文本的实体。

本申请实施例示出的基于注意力的Bi-LSTM+CRF模型的实体识别方法,输入向量包括字符粒度向量、单词粒度向量、词库粒度向量3种不同粒度的向量,在基于注意力的Bi-LSTM+CRF模型的输入特征层,采用注意力机制,分别对输入向量每个不同位置的不同粒度的向量赋予权重,获得加权和运算后的混合向量,根据混合向量,获得基于注意力的Bi-LSTM+CRF模型输出的实体识别结果,让基于注意力的Bi-LSTM+CRF模型在训练过程动态给予输入向量每个不同位置的不同粒度的向量不同权重的关注,动态调整对输入向量的拟合能力,全面增强输入向量包含的信息,丰富向量中各个位置的信息,能够更好地对基于注意力的Bi-LSTM+CRF模型进行训练,提高模型的训练效率,能够准确地对文本特别是长文本中的实体进行识别,提高实体识别的精度和速度,达到最佳的实体识别效果。

进一步地,本申请实施例示出的基于注意力的Bi-LSTM+CRF模型的实体识别方法,基于注意力的Bi-LSTM+CRF模型包括设置于前向LSTM之前的第一注意力层、设置于后向LSTM之前的第二注意力层,能够全面地、多样性地获得向量中的信息,能够提高对文本特别是长文本实体识别的精度,满足各种应用场景的需求,达到最佳的实体识别效果。

与前述应用功能实现方法实施例相对应,本申请还提供了一种基于注意力的Bi-LSTM+CRF模型的实体识别装置、电子设备及相应的实施例。

图5是本申请实施例示出的基于注意力的Bi-LSTM+CRF模型的实体识别装置的结构示意图。

参见图5,一种基于注意力的Bi-LSTM+CRF模型的实体识别装置,包括预处理模块501、向量输入模块502、向量混合模块503、结果获取模块504、损失计算模块505、训练完成模块506。

预处理模块501,用于对训练集进行预处理,获得训练集的输入向量,输入向量包括字符粒度向量、单词粒度向量、词库粒度向量。

在一种实施方式中,可以采用标注工具对文本的实体进行正确标注,将完成对文本的实体进行正确标注的多个文本组合成训练集。预处理模块501对训练集的文本进行向量转换,输入向量可以包括字符粒度向量、单词粒度向量、词库粒度向量。

向量输入模块502,用于将预处理模块501获得的输入向量输入待训练的基于注意力的Bi-LSTM+CRF模型。

向量混合模块503,用于在待训练的基于注意力的Bi-LSTM+CRF模型的输入特征层,采用注意力机制,分别对向量输入模块502输入的输入向量的不同位置的字符粒度向量、单词粒度向量、词库粒度向量赋予权重,获得加权和运算后的混合向量。

在一种实施方式中,向量混合模块503可以在待训练的基于注意力的Bi-LSTM+CRF模型的输入特征层引入Attention(注意力)机制,分别对向量输入模块502输入的输入向量不同位置的字符粒度向量、单词粒度向量、词库粒度向量分别赋予权重,其中,输入向量同一位置的字符粒度向量、单词粒度向量、词库粒度向量的权重之和等于1;根据输入向量不同位置的不同粒度向量的权重,分别对输入向量的不同位置的不同粒度向量进行加权和运算,获得混合输入向量不同位置的不同粒度向量的混合向量,获得输入特征层根据输入向量采用注意力机制输出的混合向量。

结果获取模块504,用于根据向量混合模块503获得的混合向量,获得待训练的基于注意力的Bi-LSTM+CRF模型输出的实体识别结果。

在一种实施方式中,结果获取模块504可以通过待训练的基于注意力的Bi-LSTM+CRF模型的注意力层、前向LSTM、后向LSTM、CRF层,根据向量混合模块503获得的混合向量,获得待训练的基于注意力的Bi-LSTM+CRF模型输出的实体识别结果。

损失计算模块505,用于根据结果获取模块504获得的实体识别结果和训练集,获得损失函数值。

在一种实施方式中,损失计算模块505根据待训练的基于注意力的Bi-LSTM+CRF模型输出的实体识别结果,以及训练集的实体标注,计算待训练的基于注意力的Bi-LSTM+CRF模型的损失函数值。

训练完成模块506,用于如果损失计算模块505获得的损失函数值小于设定损失阈值和/或循环迭代训练的次数达到设定迭代次数,确定完成基于注意力的Bi-LSTM+CRF模型的训练。

在一种实施方式中,如果损失计算模块505获得的损失函数值小于设定损失阈值,训练完成模块506确定完成基于注意力的Bi-LSTM+CRF模型的训练;和/或,在循环迭代训练的次数达到设定迭代次数,训练完成模块506确定完成基于注意力的Bi-LSTM+CRF模型的训练。

预处理模块501,还用于对待实体识别文本进行预处理,获得待实体识别文本的输入向量。

向量输入模块,还用于将预处理模块501获得的待实体识别文本的输入向量输入完成训练的基于注意力的Bi-LSTM+CRF模型,以使基于注意力的Bi-LSTM+CRF模型输出实体识别结果。

本申请实施例示出的技术方案,输入向量包括字符粒度向量、单词粒度向量、词库粒度向量3种不同粒度的向量,在基于注意力的Bi-LSTM+CRF模型的输入特征层,采用注意力机制,分别对输入向量每个不同位置的不同粒度的向量赋予权重,获得加权和运算后的混合向量,根据混合向量,获得基于注意力的Bi-LSTM+CRF模型输出的实体识别结果,让基于注意力的Bi-LSTM+CRF模型在训练过程动态给予输入向量每个不同位置的不同粒度的向量不同权重的关注,动态调整对输入向量的拟合能力,全面增强输入向量包含的信息,丰富向量中各个位置的信息,能够更好地对基于注意力的Bi-LSTM+CRF模型进行训练,提高模型的训练效率,能够准确地对文本特别是长文本中的实体进行识别,提高实体识别的精度和速度,达到最佳的实体识别效果。

图6是本申请实施例示出的基于注意力的Bi-LSTM+CRF模型的实体识别装置的另一结构示意图。

参见图6,一种基于注意力的Bi-LSTM+CRF模型的实体识别装置,包括预处理模块501、向量输入模块502、向量混合模块503、结果获取模块504、损失计算模块505、训练完成模块506、判断模块601。

损失计算模块505的功能可以参见图5所示。

预处理模块501,用于对训练集的文本进行3中不同粒度的向量转换,获得训练集的输入向量,输入向量包括字符粒度向量、单词粒度向量、词库粒度向量。

在一种实施方式中,预处理模块501可以根据字符粒度对训练集的文本进行向量转换,获得训练集的字符粒度向量;可以根据单词粒度对训练集的文本进行向量转换,获得训练集的单词粒度向量;可以根据词库粒度对训练集的文本进行向量转换,获得训练集的词库粒度向量。词库粒度就是直接标记当前词是否在预存的POI(Point of Interest,兴趣点)库中,可以提升对已有POI的识别能力。在预存的POI库中,存储有景点、餐厅和酒店等POI信息。如果当前词在预存的POI库中,预处理模块501将当前词的向量设为1;如果当前词不在预存的POI库中,预处理模块501将当前词的向量为设0。

向量输入模块502,用于将预处理模块501获得的训练集的输入向量输入待训练的基于注意力的Bi-LSTM+CRF模型,基于注意力的Bi-LSTM+CRF模型包括引入注意力机制的输入特征层、设置于前向LSTM之前的第一注意力层、设置于后向LSTM之前的第二注意力层。

向量混合模块503包括权重赋予子模块5031、向量运算子模块5032。

权重赋予子模块5031,用于在待训练的基于注意力的Bi-LSTM+CRF模型的输入特征层,采用注意力机制,分别对向量输入模块502输入的输入向量的每个不同位置的字符粒度向量、单词粒度向量、词库粒度向量赋予权重。

向量运算子模块5032,用于根据权重赋予子模块5031赋予的输入向量每个不同位置的字符粒度向量、单词粒度向量、词库粒度向量的权重,采用注意力机制,分别对向量输入模块502输入的输入向量的每个不同位置的字符粒度向量、单词粒度向量、词库粒度向量进行加权和运算,获得加权和运算后的混合向量。

结果获取模块504,还用于将向量混合模块503获得的混合向量输入待训练的基于注意力的Bi-LSTM+CRF模型的第一注意力层,采用注意力机制,获得第一注意力层输出的第一加权和向量;将第一加权和向量输入待训练的基于注意力的Bi-LSTM+CRF模型的前向LSTM,获得前向LSTM输出的前向融合向量;将前向融合向量输入待训练的基于注意力的Bi-LSTM+CRF模型的第二注意力层,采用注意力机制,获得第二加权和向量;将第二加权和向量输入待训练的基于注意力的Bi-LSTM+CRF模型的后向LSTM,获得后向LSTM输出的后向融合向量;将后向融合向量输入待训练的基于注意力的Bi-LSTM+CRF模型的CRF层,获得CRF层输出的实体识别结果。

判断模块601,用于判断损失计算模块505获得的损失函数值是否小于设定损失阈值或循环迭代训练次数是否达到设定迭代次数。

在一种实施方式中,如果判断模块601判断损失函数值大于或等于设定损失阈值和/或循环迭代训练的次数没有达到设定迭代次数,可以使向量混合模块503在待训练的基于注意力的Bi-LSTM+CRF模型的输入特征层,采用注意力机制,分别对向量输入模块502输入的输入向量的每个不同位置的不同粒度的向量赋予权重,获得加权和运算后的混合向量。

在一种实施方式中,判断模块601可以对损失计算模块505获得的基于注意力的Bi-LSTM+CRF模型的损失函数值和/或循环迭代训练次数进行判断,如果判断模块601判断损失函数值小于设定损失阈值和/或循环迭代训练的次数达到设定迭代次数,训练完成模块506确定完成基于注意力的Bi-LSTM+CRF模型的训练;如果判断模块601判断损失函数值大于或等于设定损失阈值或循环迭代训练的次数没有达到设定迭代次数,继续执行向量混合模块503、结果获取模块504、损失计算模块505、判断模块601对基于注意力的Bi-LSTM+CRF模型进行迭代训练,直至判断模块601判断基于注意力的Bi-LSTM+CRF模型的损失函数值小于设定损失阈值和/或循环迭代训练的次数达到设定迭代次数,训练完成模块506确定完成基于注意力的Bi-LSTM+CRF模型的训练。

预处理模块501,还用于对待实体识别文本进行预处理,获得待实体识别文本的输入向量。

向量输入模块502,还用于将预处理模块501获得的待实体识别文本的输入向量输入完成训练的基于注意力的Bi-LSTM+CRF模型,以使基于注意力的Bi-LSTM+CRF模型输出实体识别结果。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不再做详细阐述说明。

图7是本申请实施例示出的电子设备的结构示意图。

参见图7,电子设备70包括存储器701和处理器702。

处理器702可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器701可以包括各种类型的存储单元,例如系统内存、只读存储器(ROM)和永久存储装置。其中,ROM可以存储处理器702或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器701可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(例如DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器701可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro-SD卡等)、磁性软盘等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。

存储器701上存储有可执行代码,当可执行代码被处理器702处理时,可以使处理器702执行上文述及的方法中的部分或全部。

此外,根据本申请的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本申请的上述方法中部分或全部步骤的计算机程序代码指令。

或者,本申请还可以实施为一种计算机可读存储介质(或非暂时性机器可读存储介质或机器可读存储介质),其上存储有可执行代码(或计算机程序或计算机指令代码),当可执行代码(或计算机程序或计算机指令代码)被电子设备(或服务器等)的处理器执行时,使处理器执行根据本申请的上述方法的各个步骤的部分或全部。

以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文披露的各实施例。

相关技术
  • 命名实体识别模型训练方法、命名实体识别方法及装置
  • 一种基于注意力状态转移模型的生物嵌套命名实体识别方法
  • 基于注意力机制和语言模型学习的中文命名实体识别方法
技术分类

06120115983527