1.本发明涉及自然语言处理技术领域,特别涉及一种命名实体识别方法、终端以及存储介质。
背景技术:2.目前,很多家电已经支持语音控制,但是,在现有技术中,家电的语音控制是预先存储特定的词语,通过识别用户发出的语音中是否存在特定的词语来确定是否需要对语音进行响应,例如需要用户说出包括“开机”、“关机”、“升高温度”等,不能识别用户发出的语音的语义,进而执行相应操作,用户使用不方便。因此,现有技术还有待改进和提高。
技术实现要素:3.针对现有技术的上述缺陷,提供一种命名实体识别方法、终端及存储介质,旨在解决现有技术中语音控制终端时需要说出特定词汇使用不便的问题。
4.本发明的第一方面,提供一种命名实体识别方法,包括:
5.将目标文本输入至经训练的特征提取模型,通过所述特征提取模型提取所述目标文本的目标特征向量;
6.将所述目标特征向量输入至经训练的命名实体抽取网络,获取所述命名实体抽取网络输出的命名实体识别结果。
7.所述的命名实体识别方法,其中,所述通过所述特征提取模型提取所述目标文本的目标特征向量,包括:
8.在所述特征提取模型中:
9.获取所述目标文本的位置嵌入向量和所述目标文本的初始特征向量;
10.根据所述位置嵌入向量和所述初始特征向量获取所述目标文本的目标特征向量。
11.所述的命名实体识别方法,其中,所述获取所述目标文本的位置嵌入向量,包括:
12.根据所述目标文本中各个词与其他词之间的相对位置;
13.根据各个所述相对位置在位置嵌入矩阵中查找各个所述相对位置对应的向量得到所述目标文本的位置嵌入向量。
14.所述的命名实体识别方法,其中,所述获取所述目标文本的初始特征向量,包括:
15.在词嵌入矩阵中查找所述目标文本的各个词对应的词嵌入向量得到所述初始特征向量。
16.所述的命名实体识别方法,其中,所述特征提取模型中包括依次连接的至少一个特征提取模块;所述根据所述位置嵌入向量和所述初始特征向量获取所述目标文本的目标特征向量,包括:
17.将最后一个特征提取模块输出的特征向量作为所述目标特征向量;
18.在每一个所述特征提取模块中:
19.根据上一个所述特征提取模块输出的特征向量获取初始自注意力计算向量;
20.将所述位置嵌入向量与所述自注意力计算向量进行运算,得到特征矩阵;
21.从所述特征矩阵中获取所述目标文本中各个位置的目标自注意力计算向量;
22.根据所述目标自注意力计算向量计算自注意力后输出所述目标文本的特征向量;
23.其中,在第一个所述特征提取模块中根据所述初始特征向量获取所述初始自注意力计算向量。
24.所述的命名实体识别方法,其中,所述根据所述目标文本中各个词与其他词的相对位置从所述特征矩阵中获取所述目标文本中各个位置的目标自注意力计算向量,包括:
25.获取目标位置相对于所述目标文本中所有位置的相对位置,根据所述相对位置在所述特征矩阵中选取对应的数据得到所述目标位置的所述目标自注意力计算向量。
26.所述的命名实体识别方法,其中,所述特征提取模型是根据多组第一训练数据训练的,每组第一训练数据包括第一样本文本以及所述第一样本文本对应的第二样本文本,所述第一样本文本通过随机遮掩所述第二样本文本中的词得到,每个所述第二样本文本中包括至少两种语种的文字,每个所述第二样本文本中各个语种的文字的语义一致。
27.所述的命名实体识别方法,其中,所述命名实体抽取网络是根据多组第二训练数据训练的,每组第二训练数据包括第三样本文本的目标特征向量以及所述第三样本文本对应的命名实体标注结果,其中,所述第三样本文本的目标特征向量是通过所述经训练的特征提取模型得到的,所述第三样本文本中的文字为目标语种,所述目标语种为所述第二样本文本中包括的语种中的一种。
28.所述的命名实体识别方法,其中,所述命名实体抽取网络为指针网络。
29.本发明的第二方面,提供一种终端,包括:处理器、与处理器通信连接的存储介质,存储介质适于存储多条指令,处理器适于调用存储介质中的指令,以执行实现上述任一项所述的命名实体识别方法的步骤。
30.本发明的第三方面,提供一种计算机可读存储介质,其中,计算机可读存储介质存储有一个或者多个程序,该一个或者多个程序可被一个或者多个处理器执行,以实现上述任一项所述的命名实体识别方法的步骤。
31.有益效果:与现有技术相比,本发明提供了一种命名实体识别方法、终端及存储介质,本发明提供的命名实体识别方法通过预先训练特征提取模型和命名实体抽取网络,通过特征提取模型提取文本中的目标特征向量,再通过命名实体抽取网络根据目标特征向量输出目标文本的命名实体识别结果,使得终端可以进一步根据命名实体识别结果识别目标文本的语义并执行相应的操作,用户可以发出不限于特定词汇的语音来控制终端,使用更加方便。
附图说明
32.图1为本发明提供的命名实体识别方法的实施例的流程图;
33.图2为本发明提供的命名实体识别方法的实施例中特征提取模型的结构示意图;
34.图3为本发明提供的命名实体识别方法的实施例中特征提取模型的结构示意图;
35.图4为本发明提供的终端的实施例的结构原理图。
具体实施方式
36.为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
37.本发明提供的一种命名实体识别方法,是可以应用在终端中,终端可以但不限于是各种个人计算机、笔记本电脑、手机、平板电脑、车载电脑和便携式可穿戴设备。终端在获取到目标文本后,可以通过本发明提供的命名实体识别方法识别目标文本中的命名实体。
38.实施例一
39.如图1所示,本发明提供的命名实体识别方法包括步骤:
40.s100、将目标文本输入至经训练的特征提取模型,通过所述特征提取模型提取所述目标文本的目标特征向量。
41.具体地,所述目标文本可以是用户发出的用于控制终端的语音转化得到的文本,终端接收到用户发出的语音后并转化为所述目标文本后,通过本实施例提供的命名实体识别方法识别其中的命名实体。命名实体(named entity)就是人名、机构名、地名以及其他所有以名称为标识的实体,更广泛的实体还包括数字、日期、货币、地址等,命名实体识别(ner)是自然语言处理中的一项基本任务。在提取中所述目标文本中的命名实体后,可以根据提取的命名实体实现语义识别。
42.获取到目标文本后,将目标文本输入至经训练的特征提取模型,在本实施例中,所述特征提取模型是根据多组第一训练数据训练的,每组第一训练数据包括第一样本文本以及所述第一样本文本对应的第二样本文本,所述第一样本文本通过随机遮掩所述第二样本文本中的词得到,每个所述第二样本文本中包括至少两种语种的文字,每个所述第二样本文本中各个语种的文字的语义一致。值得说明的是,每个所述第二样本文本中各个语种的文字的语义一致可以是文字的意思完全相同或相近,所述第二样本文本可以是通过翻译语料对组合生成,即所述第二样本文本中的每一个语种的文字可以是通过所述第二样本文本其他的一种语种的文字翻译得到。
43.具体地,遮掩(masking)是现有的文本特征向量提取模型中常用的训练方式,例如bert(bidirectional encoder representations from transformers)模型等,在本实施例中,所述命名实体识别模型的结构可以采用与bert模型结构类似的roberta来构建,在训练的时候,使用动态mask技术,每次随机遮掩训练文本中的词。在本实施例中,用于训练所述特征提取模型的第一训练数据为翻译语料对,具体地,每组第一训练数据包括第二样本文本,每个第二样本文本中包括至少两种语种的文字,每个第二样本文本中包括的各个语种的文字的语义一致,在实际应用中,可以通过爬虫等方式从互联网上抓取多种语种的文字,生成翻译语料对,即,将不同语种具有相同意思的文字拼接起来,得到第二样本文本,再通过随机mask第二样本文本中的词得到第二样本文本对应的第一样本文本,第一样本文本和第二样本文本组成一组训练所述特征提取模型的训练数据,送入所述特征提取模型中进行训练,这样在训练过程中,能够实现不同语种相似词语的对齐,即,在句子中具有意思类似的不同语种的词语能够提取出类似的特征向量。
44.具体地,所述通过所述特征提取模型库提取所述目标文本的目标特征向量,包括:
45.在所述特征提取模型中:
46.s110、获取所述目标文本的位置嵌入向量和所述目标文本的初始特征向量;
47.s120、根据所述位置嵌入向量和所述初始特征向量获取所述目标文本的目标特征向量。
48.在通过所述特征提取模型对所述目标文本进行处理,提取所述目标文本的目标特征向量时,首先获取所述目标文本的位置嵌入向量和所述目标文本的初始特征向量(如图2中的relembedding和token embedding),所述获取所述目标文本的位置嵌入向量,包括:
49.s111、根据所述目标文本中各个词与其他词之间的相对位置;
50.s112、根据各个所述相对位置在位置嵌入矩阵中查找各个所述相对位置对应的向量的到所述目标文本的位置嵌入向量。
51.在本实施例中,首先建立一个位置嵌入矩阵,所述位置嵌入矩阵中包括多个向量,所述位置嵌入矩阵中的每个向量对应句子中的一个相对位置,具体地,本实施例中的相对位置是文本中每个词相对于其他词的位置,例如,文本中包括5个词,那么,第一个词相对于其他词的位置可以分别用0,1,2,3,4来表示,第二个词相对于其他词的位置可以分别用-1,0,1,2,3来表示,以此类推,第五个词相对于其他词的位置可以分别为-4,-3,-2,-1,0来表示,不难看出,对于一个具有n个词的文本中,共存在有2n-1个相对位置,所述位置嵌入矩阵的大小可以根据预先设置的、本发明提供的命名实体识别方法的应用场景中能够处理的文本的最大长度来确定,例如,对于家电设备语音控制来说,需要处理的都是短句子,那么所述位置嵌入矩阵中向量的个数可以少一些。具体地,以文本的最大长度为256个词为例(中文语言可以为256个字),那么最大长度的文本中包括176个位置:分别为第一个词的位置、第二个词的位置
……
,包括511个相对位置,所述位置嵌入矩阵中包括511个向量,每个相对位置分别对应一个向量,每个向量的维度可以为128维或其他维度。在获取到所述目标文本后,根据所述目标文本中包括的词的个数可以确定出所述目标文本中存在的相对位置,在所诉位置嵌入矩阵中查找各个所述相对位置对应的向量作为所述目标文本的位置嵌入向量,不难看出,所述位置嵌入向量是由多个向量组成的。假设所述目标文本中有5个词,所述位置嵌入矩阵中每个向量为128维,那么所述位置嵌入向量的大小为9*128。
52.所述获取所述目标文本的初始特征向量,包括:
53.在词嵌入矩阵中查找所述目标文本的各个词对应的词嵌入向量得到所述初始特征向量。
54.所述目标文本的初始特征向量中包括所述目标文本的各个词对应的词嵌入向量,所述词嵌入矩阵是预先设置包括多个向量的矩阵,在所述词嵌入矩阵中,包括各个预设的词对应的向量,在获取到所述目标文本后,在所述词嵌入矩阵中查找所述目标文本各个词对应的向量得到所述初始特征想开了,假设所述目标文本中有5个词,所述词嵌入矩阵中每个向量为128维,那么所述初始特征向量大小为5*128。
55.如图2所示,所述特征提取模型的结构为现有的自然语言处理中常见的自注意力框架(transformer)。具体地,所述特征提取模型中包括依次连接的至少一个特征提取模块,所述根据所述位置嵌入向量和所述初始特征向量获取所述目标文本的目标特征向量,包括:
56.将最后一个特征提取模块输出的特征向量作为所述目标特征向量。
57.在每一个特征提取模块中,进行如下步骤:
58.s121、根据上一个所述特征提取模块输出的特征向量获取初始自注意力计算向量;
59.s122、将所述位置嵌入向量与所述自注意力计算向量进行运算,得到特征矩阵;
60.s123、从所述特征矩阵中获取所述目标文本中各个位置的目标自注意力计算向量;
61.s124、根据所述目标自注意力计算向量计算自注意力后输出所述目标文本的特征向量。
62.在每一个特征提取模块中,都对上一个特征提取模块输出的特征向量进行进一步提取,输出新的特征向量。具体地,在每一个特征提取模块中,首先根据上一个所述特征提取模块输出的特征向量获取初始自注意力计算向量,在transformer中,计算自注意力需要使用三个自注意力计算向量:query、key、value,简称为q、k、v,如图2所示,可以通过线性映射层(qkv_liner)得到。在现有技术中,直接将位置嵌入向量与特征向量相加后得到q、k、v再进行自注意力运算,在本实施例中,先对输入的特征向量(即上一个所述特征提取模块输出的特征向量)进行运算得到初始自注意力计算向量,即得到初始的q、k、v,再将所述位置嵌入向量与所述初始自注意力计算向量进行运算,得到特征矩阵,具体地,是对每个所述初始自助注意力计算向量分别进行升维运算,将其扩充至n*m的大小,其中,n为所述目标文本中相对位置的数量,m为每个词嵌入向量的维度,假设目标文本中包括5个词,词嵌入向量的维度为128,那么,所述特征向量的维度为5*128,q、k、v的维度也均为5*128,而位置嵌入向量的维度为9*128,将所述位置嵌入向量与所述自注意力计算向量进行运算后得到的特征矩阵维度为:9*128,实现对所述自注意力计算向量进行升维的效果。在计算所述目标文本中各个位置的自注意力时,采用不同的自注意力计算向量,具体地,所述从所述特征矩阵中获取所述目标文本中各个位置的目标自注意力计算向量包括:
63.获取目标位置与其他位置的相对位置,根据所述相对位置在所述特征矩阵中选取对应的数据得到所述目标位置的所述目标自注意力计算向量。
64.下面举例说明,假设所述目标文本中包括5个词,在计算第一个位置的目标自注意力计算向量时,获取第一个位置相对于所述目标文本中所有位置的相对位置为:0,1,2,3,4,那么在q、k、v分别对应的所述特征矩阵中,选取这几个相对位置对应的向量得到新的q、k、v,新的q、k、v的维度为5*128。具体地,在根据所属位置嵌入向量对所述自注意力计算向量进行运算时,每个所述自注意力计算向量都对应生成一个所述特征矩阵,且所述特征矩阵的尺寸与所述位置嵌入向量的维度相同,为9*128,即,所述特征矩阵中的各个行(或列)分别与所述位置嵌入向量中各个相对位置相对应,在获取目标位置对应的目标自注意力计算向量时,根据该目标位置对应的相对位置,在所述特征矩阵中选取数据组成所述目标自注意力计算向量。自注意力计算向量包括q、k、v,第一个位置的相对位置为0,1,2,3,4,在q、k、v分别对应的特征矩阵中均选取0,1,2,3,4对应的行(或列)的数据作为目标自注意力计算向量中的q、k、v。同样地,在计算第二个位置的目标自注意力计算向量时,第二个位置的相对位置为:-1,0,1,2,3,那么选取相对位置-1,0,1,2,3对应的行(或列)的数据作为目标自注意力计算向量中的q、k、v,以此类推。从上面的说明不难看出,得到目标自注意力计算向量的过程可以看做是控制一个固定大小的串口在所述特征矩阵中偏移选取数据的过程。
65.如图2所示,获取到各个位置的自注意力计算向量后可以计算自注意力分数并再
通过残差归一化处理输出新的特征向量,自注意力的计算方法以及计算后输出新的特征向量的方法为现有技术,在此不再赘述。在一种可能的实现方式中,计算自注意力得分时可以去除现有的自注意力计算是的比例因子(scale factor),使得注意力得分更加稀疏,更加适合命名实体识别任务。
66.所述特征提取模块可以有多个,如图2所示,可以有24个,当然并不限于这个数字,可以根据模型实际的运算效果进行增减。在每一个特征提取模块中进行上述步骤s121-s124,进行特征的进一步提取,第一个所述特征提取模块中根据所述初始特征向量获取所述初始自注意力计算向量。由于在所述特征提取模块中,每一个位置的自注意力计算中都融入了相对位置信息,使自注意力获得了方向性,增强了特征提取的准确性。
67.请再次参阅图1,本实施例提供的命名实体识别方法还包括步骤:
68.s200、将所述目标特征向量输入至经训练的命名实体抽取网络,获取所述命名实体抽取网络输出的命名实体识别结果。
69.具体地,所述命名实体抽取网络是根据多组第二训练数据训练的,每组第二训练数据包括第三样本文本的目标特征向量以及所述第三样本文本对应的命名实体标注结果,其中,所述第三样本文本的目标特征向量是通过所述经训练的特征提取模型得到的,所述第三样本文本中的文字为目标语种,所述目标语种为所述第二样本文本中包括的语种中的一种。
70.在训练完成所述特征提取网络后,根据所述特征提取网络来进行所述命名实体抽取网络的训练,具体地,在生成所述命名实体抽取网络的第二训练数据时,对第三样本文本进行命名实体标注,即标注出所述第三样本文本中的命名实体,并通过所述特征提取网络获取所述第三样本文本的目标特征向量,所述第三样本文本的目标特征向量以及所述第三样本文本的命名实体标注结果组成用于训练所述命名实体抽取网络的一组训练数据。从前面的说明不难看出,由于所述特征提取网络能够实现不同语种相似意思的词语输出相似的特征向量,因此,在训练所述命名实体抽取网络时,可以只对一种语种的预料进行标注,就可以实现通过所述命名实体抽取网络识别多种语种语言文本中的命名实体,标注成本低。
71.所述命名实体抽取网络可以为指针网络,如图3所示,文本的特征向量输入至所述命名实体抽取网络中,先经过全连接层ffn0进行升维,经过gelu层进行非线性变换后再经过全连接层ffn1进行降维,再分别输入至两个全连接网络层fnn20和fnn21,将特征向量的维度与要预测的实体类型种类数目拉齐,然后再分别使用sigmoid激活函数进行非线性变换,一路输出命名实体的启示位置,另一路预测命名实体的结束位置。当然,图3中只是示例而已,本领域技术人员也可以选择其他的命名实体抽取网络结构。
72.综上所述,本实施例提供一种命名实体识别方法,预先训练特征提取模型和命名实体抽取网络,通过特征提取模型提取文本中的目标特征向量,再通过命名实体抽取网络根据目标特征向量输出目标文本的命名实体识别结果,使得终端可以进一步根据命名实体识别结果识别目标文本的语义并执行相应的操作,用户可以发出不限于特定词汇的语音来控制终端,使用更加方便。
73.应该理解的是,虽然本发明说明书附图中给出的的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,本发明中的步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序
执行。而且,本发明步骤的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
74.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
75.实施例二
76.基于上述实施例,本发明还提供了一种终端,其原理框图可以如图4所示。该终端包括存储器10和处理器20,存储器10中存储有计算机程序,该处理器10执行计算机程序时至少可以实现以下步骤:
77.将目标文本输入至经训练的特征提取模型,通过所述特征提取模型提取所述目标文本的目标特征向量;
78.将所述目标特征向量输入至经训练的命名实体抽取网络,获取所述命名实体抽取网络输出的命名实体识别结果。
79.其中,所述通过所述特征提取模型提取所述目标文本的目标特征向量,包括:
80.在所述特征提取模型中:
81.获取所述目标文本的位置嵌入向量和所述目标文本的初始特征向量;
82.根据所述位置嵌入向量和所述初始特征向量获取所述目标文本的目标特征向量。
83.其中,所述获取所述目标文本的位置嵌入向量,包括:
84.根据所述目标文本中各个词与其他词之间的相对位置;
85.根据各个所述相对位置在位置嵌入矩阵中查找各个所述相对位置对应的向量得到所述目标文本的位置嵌入向量。
86.其中,所述获取所述目标文本的初始特征向量,包括:
87.在词嵌入矩阵中查找所述目标文本的各个词对应的词嵌入向量得到所述初始特征向量。
88.其中,所述特征提取模型中包括依次连接的至少一个特征提取模块;所述根据所述位置嵌入向量和所述初始特征向量获取所述目标文本的目标特征向量,包括:
89.将最后一个特征提取模块输出的特征向量作为所述目标特征向量;
90.在每一个所述特征提取模块中:
91.根据上一个所述特征提取模块输出的特征向量获取初始自注意力计算向量;
92.将所述位置嵌入向量与所述自注意力计算向量进行运算,得到特征矩阵;
93.从所述特征矩阵中获取所述目标文本中各个位置的目标自注意力计算向量;
94.根据所述目标自注意力计算向量计算自注意力后输出所述目标文本的特征向量;
95.其中,在第一个所述特征提取模块中根据所述初始特征向量获取所述初始自注意力计算向量。
96.其中,所述根据所述目标文本中各个词与其他词的相对位置从所述特征矩阵中获取所述目标文本中各个位置的目标自注意力计算向量,包括:
97.获取目标位置相对于所述目标文本中所有位置的相对位置,根据所述相对位置在所述特征矩阵中选取对应的数据得到所述目标位置的所述目标自注意力计算向量。
98.其中,所述特征提取模型是根据多组第一训练数据训练的,每组第一训练数据包括第一样本文本以及所述第一样本文本对应的第二样本文本,所述第一样本文本通过随机遮掩所述第二样本文本中的词得到,每个所述第二样本文本中包括至少两种语种的文字,每个所述第二样本文本中各个语种的文字的语义一致。
99.其中,所述命名实体抽取网络是根据多组第二训练数据训练的,每组第二训练数据包括第三样本文本的目标特征向量以及所述第三样本文本对应的命名实体标注结果,其中,所述第三样本文本的目标特征向量是通过所述经训练的特征提取模型得到的,所述第三样本文本中的文字为目标语种,所述目标语种为所述第二样本文本中包括的语种中的一种。
100.其中,所述命名实体抽取网络为指针网络。
101.实施例三
102.本发明还提供了一种计算机可读存储介质,该计算机可读存储介质存储有一个或者多个程序,该一个或者多个程序可被一个或者多个处理器执行,以实现上述实施例所述的命名实体识别方法的步骤。
103.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。