命名实体识别模型训练方法、命名实体识别方法及装置
技术领域
本发明涉及自然语言处理领域,尤其涉及一种命名实体识别模型训练方法、命名实体识别方法及装置。
背景技术
命名实体识别(Named Entities Recognition,NER)是自然语言处理(NaturalLanguage Processing,NLP)的一个基础任务,其目的是识别输入文本中人名、地名、组织机构名或根据特定需求划分的命名实体,如‘红富士苹果’和‘苹果256G内存手机’中的‘苹果’的不同含义,前面的‘苹果’属于商品,后面的“苹果”属于品牌。
目前,命名实体识别技术可以粗略分为基于规则和基于统计两类方法,这两种方式各有一定的缺陷。具体来说,基于规则的命名实体识别在处理新词方面有很大局限性,不太适用于商品标签识别这种有着较大规模新词和一词多义的场景下。而基于统计的识别方法则建立在统计模型之上,利用一系列的统计理论和数学模型来进行命名实体识别,但模型特征的提取和特定语料的选取都过于依赖人工,特别需要专业知识和工程经验,语料库的质量将会影响最终的识别效果。
发明内容
为了解决上述背景技术中提到的技术问题,本发明提供了一种命名实体识别模型训练方法、命名实体识别方法及装置,通过利用统计方法中的双向语言模型和自注意力机制模型更好地挖掘出不同语境下的语义表示,并通过利用双向神经网络和条件随机场进行训练,能够有效地提升命名实体识别模型的适用广度和训练效果,从而提高命名实体的识别准确度。
本发明实施例提供的具体技术方案如下:
第一方面,本发明提供一种命名实体识别模型训练方法,所述方法包括:
对语料样本进行预处理,得到字符序列样本,并对所述字符序列样本标注命名实体标签,得到训练字符序列;
基于预设的第一双向语言模型和第一自注意力机制模型分别对所述训练字符序列进行预训练,获得所述训练字符序列对应的字特征向量和字权重向量;
基于预设的第二双向语言模型和第二自注意力机制模型分别对所述训练字符序列进行预训练,获得所述训练字符序列对应的词特征向量和词权重向量;
对所述训练字符序列对应的字特征向量和字权重向量进行融合获得所述训练字符序列的第一上下文向量;
对所述训练字符序列对应的词特征向量和词权重向量进行融合获得所述训练字符序列的第二上下文向量;
使用所述训练字符序列的第一上下文向量和第二上下文向量对依次连接的双向神经网络和条件随机场进行训练,得到命名实体识别模型。
进一步地,所述对语料样本进行预处理,得到字符序列样本,并对所述字符序列样本标注命名实体标签,得到训练字符序列,包括:
对所述语料样本进行分词处理,获得多个分词;
对所述多个分词分别分解出所有单个字符,得到所述字符序列样本;
根据BMEO标注规则对所述字符序列样本进行标注对应的命名实体标签,获得所述训练字符序列。
进一步地,所述字特征向量和所述字权重向量均为N维向量,所述对所述训练字符序列对应的字特征向量和字权重向量进行融合获得所述训练字符序列的第一上下文向量,包括:
对所述训练字符序列的字特征向量和所述训练字符序列的字权重向量进行逐个维度融合,得到所述第一上下文向量,其中,所述第一上下文向量为N维向量;
所述词特征向量和所述词权重向量均为M维向量,所述对所述训练字符序列对应的词特征向量和词权重向量进行融合获得所述训练字符序列的第二上下文向量,包括:
对所述训练字符序列的词特征向量和所述训练字符序列的词权重向量进行逐个维度融合,得到所述第二上下文向量,其中,所述第二上下文向量为M维向量。
进一步地,所述使用所述训练字符序列的第一上下文向量和第二上下文向量对依次连接的双向神经网络和条件随机场进行训练,得到命名实体识别模型,包括:
对所述训练字符序列的第一上下文向量和第二上下文向量进行融合,得到所述训练字符序列的融合向量;
将所述训练字符序列的融合向量输入到所述双向神经网络中进行训练,得到所述训练字符序列的语义信息特征;
使用所述条件随机场模型对所述训练字符序列的语义信息特征进行标注,获得所述训练字符序列的命名实体识别结果;
对所述训练字符序列的命名实体识别结果与所述训练字符序列预先标注的命名实体标签进行误差计算,得到误差损失;
根据所述误差损失对所述双向神经网络和所述条件随机场模型进行训练,得到所述命名实体识别模型。
进一步地,所述使用所述条件随机场模型对所述训练字符序列的语义信息特征进行标注,获得所述训练字符序列的命名实体识别结果,包括:
将所述训练字符序列的语义信息特征输入到所述条件随机场模型中,计算对应的最优标签序列,并以最大概率的序列作为所述训练字符序列的命名实体识别结果。
第二方面,提供了一种命名实体识别方法,所述方法包括:
对待标注文本进行预处理,得到待标注字符序列;
基于预设的第一双向语言模型和第一自注意力机制模型分别对所述待标注字符序列进行处理,获得所述待标注字符序列对应的字特征向量和字权重向量;
基于预设的第二双向语言模型和第二自注意力机制模型分别对所述待标注字符序列进行处理,获得所述待标注字符序列对应的词特征向量和词权重向量;
对所述待标注字符序列对应的字符特征向量和字符权重向量进行融合获得所述待标注字符序列的第一上下文向量;
对所述待标注字符序列对应的词特征向量和词权重向量进行融合获得所述待标注字符序列的第二上下文向量;
将所述待标注字符序列的第一上下文向量和第二上下文向量输入到命名实体识别模型中,获得所述待标注字符序列对应的命名实体识别结果,其中,所述命名实体识别模型基于如第一方面任一所述的方法训练得到。
第三方面,提供了一种命名实体识别模型训练装置,所述装置包括:
训练数据获取模块,用于对语料样本进行预处理,得到字符序列样本,并对所述字符序列样本标注命名实体标签,得到训练字符序列;
第一预训练模块,用于基于预设的第一双向语言模型和第一自注意力机制模型分别对所述训练字符序列进行预训练,获得所述训练字符序列对应的字特征向量和字权重向量;
第二预训练模块,用于基于预设的第二双向语言模型和第二自注意力机制模型分别对所述训练字符序列进行预训练,获得所述训练字符序列对应的词特征向量和词权重向量;
第一向量融合模块,用于对所述训练字符序列对应的字特征向量和字权重向量进行融合获得所述训练字符序列的第一上下文向量;
第二向量融合模块,用于对所述训练字符序列对应的词特征向量和词权重向量进行融合获得所述训练字符序列的第二上下文向量;
识别模型训练模块,用于使用所述训练字符序列的第一上下文向量和第二上下文向量对依次连接的双向神经网络和条件随机场进行训练,得到命名实体识别模型。
进一步地,所述训练数据获取模块具体用于:
对所述语料样本进行分词处理,获得多个分词;
对所述多个分词分别分解出所有单个字符,得到所述字符序列样本;
根据BMEO标注规则对所述字符序列样本进行标注对应的命名实体标签,获得所述训练字符序列。
进一步地,所述字特征向量和所述字权重向量均为N维向量,所述第一向量融合模块具体用于:
对所述训练字符的字特征向量和所述训练字符的字权重向量进行逐个维度融合,得到所述上下文信息向量,其中,所述第一上下文向量为N维向量;
所述词特征向量和所述词权重向量均为M维向量,所述第二向量融合模块具体用于:
对所述训练字符序列的词特征向量和所述训练字符序列的词权重向量进行逐个维度融合,得到所述第二上下文向量,其中,所述第二上下文向量为M维向量。
进一步地,所述识别模型训练模块包括:
向量融合子模块,用于对所述训练字符序列的第一上下文向量和第二上下文向量进行融合,得到所述训练字符序列的融合向量;
语义获取子模块,用于将所述训练字符序列的融合向量输入到所述双向神经网络中进行训练,得到所述训练字符序列的语义信息特征;
实体标注子模块,用于使用所述条件随机场模型对所述训练字符序列的语义信息特征进行标注,获得所述训练字符序列的命名实体识别结果;
误差计算子模块,用于对所述训练字符序列的命名实体识别结果与所述训练字符序列预先标注的命名实体标签进行误差计算,得到误差损失;
模型训练子模块,用于根据所述误差损失对所述双向神经网络和所述条件随机场模型进行训练,得到所述命名实体识别模型。
进一步地,所述实体标注子模块具体用于:
将所述训练字符序列的语义信息特征输入到所述条件随机场模型中,计算对应的最优标签序列,并以最大概率的序列作为所述训练字符序列的命名实体识别结果。
第四方面,提供了一种命名实体识别装置,所述装置包括:
待标注数据获取模块,用于对待标注文本进行预处理,得到待标注字符序列;
第一数据处理模块,用于基于预设的第一双向语言模型和第一自注意力机制模型分别对所述待标注字符序列进行处理,获得所述待标注字符序列对应的字特征向量和字权重向量;
第二数据处理模块,用于基于预设的第二双向语言模型和第二自注意力机制模型分别对所述待标注字符序列进行处理,获得所述待标注字符序列对应的词特征向量和词权重向量;
第一向量融合模块,用于对所述待标注字符序列对应的字特征向量和字权重向量进行融合获得所述待标注字符序列的第二上下文向量;
第二向量融合模块,用于对所述待标注字符序列对应的词特征向量和词权重向量进行融合获得所述待标注字符序列的第二上下文向量;
命名实体识别模块,用于将所述待标注字符序列的第一上下文向量和第二上下文向量输入到命名实体识别模型中,获得所述待标注字符序列对应的命名实体识别结果;
其中,所述命名实体识别模型基于如第一方面任一所述的方法训练得到。
本发明提供的命名实体识别模型训练方法、命名实体识别方法及装置,首先通过对语料样本进行处理获取已标注的训练字符序列,然后,对训练字符序列通过预设的第一双向语言模型和第一自注意力机制模型分别进行处理,得到的字特征向量和字权重向量进行融合以得到第一上下文向量,以及对训练字符序列通过预设的第二双向语言模型和第二自注意力机制模型分别进行处理,得到的词特征向量和词权重向量进行融合以得到第二上下文向量,最后,使用第一上下文向量和第二上下文向量对依次连接的双向神经网络和条件随机场进行训练以训练出用于命名实体识别的命名实体识别模型,本发明通过结合双向语言模型能很好地识别每个字或词在字符序列中不同位置的表达含义以及自注意力机制模型能够计算出每个字或词在字符序列中的重要度,并通过向量融合,从而能够表达出更深层次的语义信息,并且也能表达出新词在不同语境下的不同语义,整个过程并不需要依赖人工选取的模型特征,由此提高了不同语境下的表达准确性,提高了命名实体识别模型的适用广度和训练效果;另外,通过结合双向神经网络和条件随机场所构建的命名实体识别模型,能够更有效地提升命名实体识别模型训练效果,从而提高了命名实体识别模型进行识别命名实体的准确度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种命名实体识别模型训练方法的流程示意图;
图2是本发明实施例提供的一种命名实体识别方法的流程示意图;
图3是本发明实施例提供的一种命名实体识别模型训练装置的结构示意图;
图4是本发明实施例提供的一种命名实体识别装置的结构示意图;
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,在本发明的描述中,除非上下文明确要求,否则整个说明书和权利要求书中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。
还应当理解,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
实施例一
图1是本发明实施例提供的一种命名实体识别模型训练方法的流程示意图,参照图1所示,该方法可以包括步骤:
步骤101,对语料样本进行预处理,得到字符序列样本,并对字符序列样本标注命名实体标签,得到训练字符序列。
具体地,对语料样本进行分词处理,获得多个分词,对多个分词分别分解出所有单个字符,得到字符序列样本;根据BMEO标注规则对字符序列样本进行标注对应的命名实体标签,获得训练字符序列。
本实施例中,可以利用开源分词工具(例如结巴分词工具)对语料样本进行分词处理,并将各个分词分解成单个字符形式,对分解得到的所有单个字符按正向顺序进行排列,得到字符序列样本。得到语料样本的字符序列样本之后,可以采用BMEO标注规则,通过人工标注方式对字符序列样本进行标注对应的命名实体标签,获得训练字符序列。
其中,训练字符序列的标注结果中包含{B,M,E,O},其中,B表示命名实体的开头,M表示命名实体中间部分,E表示命名实体结尾部分,O表示不属于实体部分。在商品标签识别的应用场景下,可以使用BRA表示品牌,COM表示商品,PAR表示属性,例如,语料样本“红富士苹果”,其训练字符序列的标注结果如下表1所示:
表1:
红 |
富 |
士 |
苹 |
果 |
B-BRA |
M-BRA |
E-BRA |
B-COM |
E-COM |
步骤102,基于预设的第一双向语言模型和第一自注意力机制模型分别对训练字符序列进行预训练,获得训练字符序列对应的字特征向量和字权重向量,在执行步骤102后,执行步骤104。
其中,基于预设的第一双向语言模型对训练字符序列进行预训练,获得训练字符序列对应的字特征向量,该过程可以包括:
将训练字符序列输入到第一双向语言模型中,获得双向语言模型输出的结果,以作为训练字符序列对应的字特征向量。
本实施例中,双向语言模型,即ELMO(Embeddings from Language Models)模型,是基于bi-LSTM的语言模型,首先在大规模语料库上预训练出两层bi-LSTM模型,然后利用领域语料库的训练数据对预训练得到的两层bi-LSTM模型进行fine tuning(微调),得到最终的向量表示。
其中,两层bi-LSTM模型包含两个隐含层,一个隐含层表示前向LSTM神经网络,另一个隐含层表示后向LSTM神经网络,利用前向LSTM神经网络预测下文信息,利用后向LSTM神经网络预测上文信息,通过双向遍历充分提取字符序列中的字符特征信息。
本实施例中,可以将基于双向语言模型对训练字符序列进行预训练所获得的字符特征向量表示为{t1,...tN}。
其中,基于预设的第一自注意力机制模型对训练字符序列进行预训练,获得训练字符序列对应的字权重向量,该过程可以包括:
将训练字符序列输入到第一自注意力机制模型中,获得第一自注意力机制模型输出的结果,得到训练字符序列对应的字权重向量。
本实施例中,自注意力机制模型是基于自注意力机制的Transformer模型,即基于叠层self-Attention和全连接层的注意力机制模型,可以用于处理字符序列内部权重,得到字符序列的每个字符在字符序列中的重要度的向量。对于序列的每个字符对应的权重值利用如下的注意力机制计算公式进行计算:
其中,key,value是源语句source中的数据,key,value是对应的。Query是目标语句target中的数据,计算Query和source中的各个key的相似性,得到key对应的value的权重系数。
本实施例中,可以将自注意力机制模型对训练字符序列进行预训练所获得的字权重向量表示为{q1,...qn}。
步骤103,基于预设的第二双向语言模型和第二自注意力机制模型分别对训练字符序列进行预训练,获得训练字符序列对应的词特征向量和词权重向量,在执行步骤103后,执行步骤105。
其中,基于预设的第二双向语言模型对训练字符序列进行预训练,获得训练字符序列对应的词特征向量,该过程可以包括:
将训练字符序列输入到第二双向语言模型中,获得第二双向语言模型输出的结果,以作为训练字符序列对应的词特征向量。
本实施例中,通过第二双向语言模型能很好地识别每个词在训练字符序列中不同位置的表达含义,可以充分提取字符序列中的词特征信息。
其中,基于预设的第二自注意力机制模型对训练字符序列进行预训练,获得训练字符序列对应的词权重向量,该过程可以包括:
将训练字符序列输入到第二自注意力机制模型中,获得第二自注意力机制模型输出的结果,得到训练字符序列对应的词权重向量。
本实施例中,通过第二自注意力机制模型计算字符序列中的各个词的权重,可以得到字符序列的每个词在字符序列中的重要度的向量。
需要说明的是,执行上述步骤102和步骤103的过程中,可以先执行步骤102,再执行步骤103,也可以先执行步骤103,再执行步骤102,本发明实施例以同时执行步骤102和步骤103作为优选方案,以提高模型训练效率。
步骤104,对训练字符序列对应的字特征向量和字权重向量进行融合获得训练字符序列的第一上下文向量。
具体地,字特征向量和字权重向量均为N维向量,对训练字符序列的字特征向量和训练字符序列的字权重向量进行逐个维度融合,得到第一上下文向量,其中,上下文信息向量为N维向量。
本发明实施例中,通过对双向语言模型计算后得到字符序列的字符特征向量与经过注意力机制计算后得到的字符在序列中的权重向量进行逐个维度融合,从而在字符层面上能够更好地表达出不同语境下的不同语义,同时也能表达出新词在不同语境下的不同语义,进而能够有效地提升后续模型训练的效果。
步骤105,对训练字符序列对应的词特征向量和词权重向量进行融合获得训练字符序列的第二上下文向量。
具体地,词特征向量和所述词权重向量均为M维向量,对训练字符序列的词特征向量和训练字符序列的词权重向量进行逐个维度融合,得到第二上下文向量,其中,第二上下文向量为M维向量。
本发明实施例中,通过对双向语言模型计算后得到字符序列的词特征向量与经过注意力机制计算后得到的词权重向量进行逐个维度融合,从而在词语层面上能够更好地表达出不同语境下的不同语义,能够有效地提升后续模型训练的效果。
步骤106,使用训练字符序列的第一上下文向量和第二上下文向量对依次连接的双向神经网络和条件随机场进行训练,得到命名实体识别模型。
本实施例中,双向神经网络具体可以采用双向GRU神经网络,包括两个隐含层,一个隐含层表示前向GRU神经网络,另一个隐含层表示后向GRU神经网络,每个隐含层拥有固定大小的GRU内核。其中,双向GRU神经网络中的GRU内核是对传统RNN(Recurrent NeuralNetwork)的一种改进,通过增加更新和重置机制,来选择性的更新和重置输入信息,能有效避免RNN在求导时梯度消失或者梯度爆炸的问题。GRU网络包含两个门函数(reset gate和update gate),reset gate决定先前的信息如何结合当前的输入,update gate决定保留多少先前的信息。如果将reset全部设置为1,update gate设置为0,则模型退化为RNN模型。
条件随机场(conditional random field)是给定随机变量X条件下,随机变量Y的马尔可夫随机场。在实际应用中,可以采用线性链条件随机场。
具体地,步骤106的实现过程具体可以包括:
步骤1061,对所述训练字符序列的第一上下文向量和第二上下文向量进行融合,得到所述训练字符序列的融合向量。
具体地,对第一上下文向量和第二上下文向量进行级联拼接,得到所述训练字符序列的融合向量。其中,将N维度的第一上下文向量和M维度的第二上下文向量件级联拼接,可以得到(N+M)维度的融合向量。
步骤1062,将训练字符序列的第一上下文向量和第二上下文向量输入到双向神经网络中进行训练,得到训练字符序列的语义信息特征。
步骤1063,使用条件随机场模型对训练字符序列的语义信息特征进行标注,获得训练字符序列的命名实体识别结果。
具体地,将训练字符序列的语义信息特征输入到条件随机场模型中,计算对应的最优标签序列,并以最大概率的序列作为训练字符序列的命名实体识别结果。
步骤1064,对训练字符序列的命名实体识别结果与训练字符序列预先标注的命名实体标签进行误差计算,得到误差损失。
步骤1065,根据误差损失对双向神经网络和条件随机场模型进行训练,得到命名实体识别模型。
具体的,将误差损失反向传播回双向神经网络和条件随机场中对原始参数进行迭代更新,直至迭代更新结果满足预设条件,得到训练好的双向神经网络和条件随机场模型,并将包含训练好的依次连接的双向神经网络和条件随机场模型的模型确定为命名实体识别模型。
本申请实施例提供一种命名实体识别模型训练方法,首先通过对语料样本进行处理获取已标注的训练字符序列,然后,对训练字符序列通过预设的第一双向语言模型和第一自注意力机制模型分别进行处理,得到的字特征向量和字权重向量进行融合以得到第一上下文向量,以及对训练字符序列通过预设的第二双向语言模型和第二自注意力机制模型分别进行处理,得到的词特征向量和词权重向量进行融合以得到第二上下文向量,最后,使用第一上下文向量和第二上下文向量对依次连接的双向神经网络和条件随机场中进行训练以训练出用于命名实体识别的命名实体识别模型,本发明通过结合双向语言模型能很好地识别每个字或词在字符序列中不同位置的表达含义以及和自注意力机制模型能够计算出每个字或词在字符序列中的重要度,并通过向量融合,从而能够表达出更深层次的语义信息,并且也能表达出新词在不同语境下的不同语义,整个过程并不需要依赖人工选取的模型特征,由此提高了不同语境下的表达准确性,提高了命名实体识别模型的适用广度和训练效果;另外,通过结合双向神经网络和条件随机场所构建的命名实体识别模型,能够更有效地提升命名实体识别模型训练效果。
实施例二
基于实施例一中训练得到的命名实体识别模型,本发明实施例还提供一种命名实体识别方法,在对命名实体识别模型进行部署服务化后,通过该命名实体识别方法能够实现针对待标注文本快速调用线上的命名实体识别模型进行命名实体识别。
参照图2所示,本发明实施例提供一种命名实体识别方法,该方法包括:
步骤201,对待标注文本进行预处理,得到待标注字符序列。
具体地,对待标注文本进行分词处理,获得多个分词,对多个分词分别分解出所有单个字符,得到待标注字符序列。
本实施例中,可以利用开源分词工具(例如结巴分词工具)对待标注文本进行分词处理,并将各个分词分解成单个字符形式,对分解得到的所有单个字符按正向顺序进行排列,得到待标注字符序列。
步骤202,基于第一双向语言模型和第一自注意力机制模型分别对待标注字符序列进行处理,获得待标注字符序列对应的字特征向量和字权重向量,在执行
步骤202后,执行步骤204。
具体地,该步骤的实施过程可以参照实施例一中的步骤102,此处不再赘述。
步骤203,基于第二双向语言模型和第二自注意力机制模型分别对待标注字符序列进行处理,获得待标注字符序列对应的词特征向量和词权重向量,在执行
步骤203后,执行步骤205。
具体地,该步骤的实施过程可以参照实施例一中的步骤103,此处不再赘述。
需要说明的是,执行上述步骤202和步骤203的过程中,可以先执行步骤202,再执行步骤203,也可以先执行步骤203,再执行步骤202,本发明实施例以同时执行步骤202和步骤203作为优选方案,以提高模型识别效率。
步骤204,对待标注字符序列对应的字特征向量和字权重向量进行融合获得待标注字符序列的第一上下文向量。
具体地,该步骤的实施过程可以参照实施例一中的步骤104,此处不再赘述。
步骤205,对待标注字符序列对应的词特征向量和词权重向量进行融合获得待标注字符序列的第二上下文向量。
具体地,该步骤的实施过程可以参照实施例一中的步骤105,此处不再赘述。
步骤206,将待标注字符序列的第一上下文向量和第二上下文向量输入到命名实体识别模型中,获得待标注字符序列对应的命名实体识别结果。
具体地,首先将待标注字符序列的第一上下文向量和第二上下文向量进行融合,将融合得到待标注字符序列的融合向量输入到训练后的双向神经网络中进行处理,获得待标注字符序列的语义信息特征,然后,将待标注字符序列的语义信息特征传入训练后的条件随机场模型进行标注,获得待标注字符序列的命名实体识别结果。
其中,将待标注字符序列的语义信息特征传入训练好的条件随机场模型进行标注,获得待标注字符序列的命名实体识别结果,包括:
将待标注字符序列的语义信息特征输入到条件随机场模型中,计算对应的最优标签序列,并以最大概率的序列作为待标注字符序列的命名实体识别结果。
本实施例中,在获得待标注字符序列的命名实体识别结果后,可以将命名实体识别结果标识在待标注文本中,以方便用户查看。
示例性地,在商品标签识别场景下,针对待标注文本的字符序列“红富士苹果”,“苹果256G内存手机”可以通过命名实体识别模型分别进行命名实体识别,得到的命名实体识别结果分别参照表2及表3所示,可以看出,不同语境下的“苹果”这个词,在品牌名“红富士”的后面能被识别成物品,而在物品词和属性词前面能被识别成品牌。
表2:
红 |
富 |
士 |
苹 |
果 |
B-BRA |
M-BRA |
E-BRA |
B-COM |
E-COM |
表3:
苹 |
果 |
256G |
内 |
存 |
手 |
机 |
B-BRA |
E-BRA |
B-PAR |
O |
O |
B-COM |
E-COM |
本发明实施例提供的命名实体识别方法,该方法是基于命名实体识别模型进行命名实体识别,由于命名实体识别模型的训练过程中是利用双向语言模型和自注意力机制模型可以更好地挖掘出不同语境下的语义表示,并通过利用双向神经网络和条件随机场进行训练,因此命名实体识别模型的适用广度和训练效果得到了有效的提升,从而通过命名实体识别模型能够提高命名实体的识别准确度。
实施例三
图3是本发明实施例提供的一种命名实体识别模型训练装置的结构示意图,如图3所示,该装置包括:
训练数据获取模块31,用于对语料样本进行预处理,得到字符序列样本,并对字符序列样本标注命名实体标签,得到训练字符序列;
第一预训练模块32,用于基于预设的第一双向语言模型和第一自注意力机制模型分别对训练字符序列进行预训练,获得训练字符序列对应的字符特征向量和字符权重向量;
第二预训练模块33,用于基于预设的第二双向语言模型和第二自注意力机制模型分别对训练字符序列进行预训练,获得训练字符序列对应的词特征向量和词权重向量;
第一向量融合模块34,用于对训练字符序列对应的字符特征向量和字符权重向量进行融合获得训练字符序列的第一上下文向量;
第二向量融合模块35,用于对训练字符序列对应的词特征向量和词权重向量进行融合获得训练字符序列的第二上下文向量;
识别模型训练模块36,用于使用训练字符序列的第一上下文向量和第二上下文向量对依次连接的双向神经网络和条件随机场进行训练,得到命名实体识别模型。
进一步地,训练数据获取模块31具体用于:
对语料样本进行分词处理,获得多个分词;
对多个分词分别分解出所有单个字符,得到字符序列样本;
根据BMEO标注规则对字符序列样本进行标注对应的命名实体标签,获得训练字符序列。
进一步地,字特征向量和字权重向量均为N维向量,第一向量融合模块34具体用于:
对训练字符的字符特征向量和训练字符的字符权重向量进行逐个维度融合,得到第一上下文向量,其中,第一上下文向量为N维向量;
词特征向量和所述词权重向量均为M维向量,第二向量融合模块35具体用于:
对所述训练字符序列的词特征向量和所述训练字符序列的词权重向量进行逐个维度融合,得到所述第二上下文向量,其中,所述第二上下文向量为M维向量。
进一步地,识别模型训练模块36包括:
向量融合子模块,用于对训练字符序列的第一上下文向量和第二上下文向量进行融合,得到训练字符序列的融合向量;
语义获取子模块,用于将训练字符序列的融合向量输入到双向神经网络中进行训练,得到训练字符序列的语义信息特征;
实体标注子模块,用于使用条件随机场模型对训练字符序列的语义信息特征进行标注,获得训练字符序列的命名实体识别结果;
误差计算子模块,用于对训练字符序列的命名实体识别结果与训练字符序列预先标注的命名实体标签进行误差计算,得到误差损失;
模型训练子模块,用于根据误差损失对双向神经网络和条件随机场模型进行训练,得到命名实体识别模型。
进一步地,实体标注子模块具体用于:
将训练字符序列的语义信息特征输入到条件随机场模型中,计算对应的最优标签序列,并以最大概率的序列作为训练字符序列的命名实体识别结果。
本实施例提供的命名实体识别模型训练装置,与本发明实施例一所提供的命名实体识别模型训练方法属于同一发明构思,可执行本发明实施例一所提供的命名实体识别模型训练方法,具备执行命名实体识别模型训练方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例一提供的命名实体识别模型训练方法,此处不再加以赘述。
实施例四
图4是本发明实施例提供的一种命名实体识别装置的结构示意图,如图4所示,该命名实体识别装置包括:
待标注数据获取模块41,用于对待标注文本进行预处理,得到待标注字符序列;
第一数据处理模块42,用于基于预设的第一双向语言模型和第一自注意力机制模型分别对待标注字符序列进行处理,获得待标注字符序列对应的字符特征向量和字符权重向量;
第二数据处理模块43,用于基于预设的第二双向语言模型和第二自注意力机制模型分别对所述待标注字符序列进行处理,获得所述待标注字符序列对应的词特征向量和词权重向量;
第一向量融合模块44,用于对待标注字符序列对应的字符特征向量和字符权重向量进行融合获得待标注字符序列的上下文信息向量;
第二向量融合模块45,用于对所述待标注字符序列对应的词特征向量和词权重向量进行融合获得所述待标注字符序列的第二上下文向量;
命名实体识别模块46,用于将待标注字符序列的第一上下文向量和第二上下文向量输入到命名实体识别模型中,获得待标注字符序列对应的命名实体识别结果;
其中,命名实体识别模型基于如实施例一的方法训练得到。
本发明实施例提供的命名实体识别装置,与本发明实施例二所提供的命名实体识别方法属于同一发明构思,可执行本发明实施例二所提供的命名实体识别方法,具备执行命名实体识别方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例二提供的命名实体识别方法,此处不再加以赘述。
在一个实施例中,提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述实施例一中的命名实体识别模型训练方法。
在一个实施例中,提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述实施例二中的命名实体识别方法。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述实施例一中的命名实体识别模型训练方法。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述实施例二中的命名实体识别方法。
本领域内的技术人员应明白,本发明实施例中的实施例可提供为方法、系统、或计算机程序产品。因此,本发明实施例中可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例中可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例中是参照根据本发明实施例中实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例中的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例中范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。