模型训练、命名实体识别方法及装置转让专利

申请号 : CN202010631307.7

文献号 : CN111523313B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李扬名李小龙姚开盛

申请人 : 支付宝(杭州)信息技术有限公司

摘要 :

本说明书实施例提供一种模型训练、命名实体识别方法及装置。在模型训练时,将第一样本序列中的第一命名实体替换为第一预设字符,得到第二样本序列,并从第二样本序列中确定包含第一预设字符的文本片段;采用第一递归神经网络,递归地确定第二样本序列中多个分词的隐向量,并确定文本片段的表征向量;通过变分自编码器,基于表征向量构建高斯分布并确定针对文本片段的全局隐向量;采用第一递归神经网络,以全局隐向量作为初始隐向量,递归地确定文本片段中分词的解码隐向量,并确定文本片段中分词的预测值;基于文本片段中分词与其预测值的差异以及分布差异,确定预测损失值,向减小预测损失值的方向,更新第一递归神经网络和变分自编码器。

权利要求 :

1.一种用于识别命名实体的模型训练方法,通过计算机执行,包括:

获取包含多个分词的第一样本序列,多个分词包含命名实体和非命名实体;

将所述第一样本序列中的第一命名实体替换为第一预设字符,得到第二样本序列,并从所述第二样本序列中确定包含所述第一预设字符的文本片段;所述第一命名实体从所述第一样本序列的各个命名实体中确定;

采用第一递归神经网络,以预设隐向量作为初始隐向量,递归地确定所述第二样本序列中多个分词的隐向量,使得所述第二样本序列中后一个分词的隐向量包含前面各个分词的信息;基于所述第二样本序列中多个分词的隐向量,确定所述文本片段的表征向量;

通过变分自编码器,基于所述表征向量构建高斯分布,基于所述高斯分布确定针对所述文本片段的全局隐向量;

采用所述第一递归神经网络,以所述全局隐向量作为初始隐向量,递归地确定所述文本片段中分词的隐向量,作为解码隐向量,并基于所述解码隐向量,确定所述文本片段中分词的预测值;

基于所述文本片段中分词与其预测值的差异,以及基于所述高斯分布确定的分布差异,确定预测损失值,向减小所述预测损失值的方向,更新所述第一递归神经网络和所述变分自编码器。

2.根据权利要求1所述的方法,所述将所述第一样本序列中的第一命名实体替换为第一预设字符的步骤,包括:从所述第一样本序列中的至少一个命名实体中随机确定第一数量个命名实体,作为第一命名实体,将所述第一命名实体替换为第一预设字符。

3.根据权利要求1所述的方法,所述从所述第二样本序列中确定包含所述第一预设字符的文本片段的步骤,包括:将所述第二样本序列中,从所述第一预设字符开始,以所述第一预设字符之后的第一个命名实体结尾的序列,确定为文本片段;或者,将所述第二样本序列中,以所述第一预设字符结尾,以所述第一预设字符之前的第一个命名实体开始的序列,确定为文本片段。

4.根据权利要求3所述的方法,所述基于所述第二样本序列中多个分词的隐向量,确定所述文本片段的表征向量的步骤,包括:从所述第二样本序列的多个分词的隐向量中,确定所述文本片段的首分词的隐向量和尾分词的隐向量,并分别作为所述首分词的初始隐向量和所述尾分词的初始隐向量,基于所述尾分词的初始隐向量与所述首分词的初始隐向量的差值,确定所述文本片段的表征向量。

5.根据权利要求1所述的方法,所述基于所述表征向量构建高斯分布,基于所述高斯分布确定针对所述文本片段的全局隐向量的步骤,包括:通过变分自编码器,基于所述表征向量,确定高斯分布的均值和方差,基于所述高斯分布的均值和方差确定针对所述文本片段的全局隐向量。

6.根据权利要求1所述的方法,所述递归地确定所述文本片段中分词的解码隐向量的步骤,包括:通过所述第一递归神经网络,针对所述文本片段中首分词和尾分词之外的每个中间分词,基于上一分词的解码隐向量确定该中间分词的解码隐向量,其中,第一个中间分词的上一分词的解码隐向量为所述全局隐向量。

7.根据权利要求1所述的方法,所述第一递归神经网络包括双向递归神经网络;所述递归地确定所述第二样本序列中多个分词的隐向量;基于所述第二样本序列中多个分词的隐向量,确定所述文本片段的表征向量的步骤,包括:采用第一递归神经网络,以预设隐向量作为初始隐向量,按照序列的前向顺序,递归地确定所述第二样本序列中多个分词的第一隐向量,按照序列的后向顺序,递归地确定所述第二样本序列中多个分词的第二隐向量;基于多个所述第一隐向量,确定所述文本片段的第一表征向量,基于多个所述第二隐向量,确定所述文本片段的第二表征向量;

所述基于所述表征向量构建高斯分布,基于所述高斯分布确定针对所述文本片段的全局隐向量的步骤,包括:通过变分自编码器,基于所述第一表征向量构建第一高斯分布,基于所述第一高斯分布确定针对所述文本片段的第一全局隐向量,基于所述第二表征向量构建第二高斯分布,基于所述第二高斯分布确定针对所述文本片段的第二全局隐向量;

所述递归地确定所述文本片段中分词的解码隐向量,并基于所述解码隐向量,确定所述文本片段中分词的预测值的步骤,包括:采用所述第一递归神经网络,以所述全局隐向量作为初始隐向量,按照序列的前向顺序,递归地确定所述文本片段中每个中间分词的第一解码隐向量,按照序列的后向顺序,递归地确定所述文本片段中每个中间分词的第二解码隐向量;并基于所述第一解码隐向量,确定所述文本片段中每个中间分词的第一预测值,基于所述第二解码隐向量,确定所述文本片段中每个中间分词的第二预测值;所述中间分词为所述文本片段中首分词和尾分词之外的分词;

所述确定预测损失值的步骤,包括:

基于所述文本片段中每个分词与其第一预测值的差异,以及基于所述第一高斯分布确定的第一分布差异,确定第一损失值;基于所述文本片段中每个分词与其第二预测值的差异,以及基于所述第二高斯分布确定的第二分布差异,确定第二损失值;基于所述第一损失值和第二损失值的和,确定预测损失值。

8.根据权利要求1所述的方法,所述第一递归神经网络包括循环神经网络RNN或长短期记忆LSTM。

9.一种使用模型对命名实体识别的方法,通过计算机执行,包括:

获取待识别的包含多个分词的第一分词序列,多个分词包含命名实体和非命名实体;

将所述第一分词序列输入训练好的第一递归神经网络,得到所述第一分词序列中多个分词的隐向量;所述第一递归神经网络采用权利要求1的方法训练得到;

基于所述第一分词序列的每个分词的隐向量,确定所述第一分词序列的每个分词在多个预设标签上的分布概率;

基于所述第一分词序列的每个分词的分布概率,确定每个分词对应的预设标签。

10.一种用于识别命名实体的模型训练装置,部署在计算机中,包括:

第一获取模块,配置为,获取包含多个分词的第一样本序列,多个分词包含命名实体和非命名实体;

第一替换模块,配置为,将所述第一样本序列中的第一命名实体替换为第一预设字符,得到第二样本序列,并从所述第二样本序列中确定包含所述第一预设字符的文本片段;所述第一命名实体从所述第一样本序列的各个命名实体中确定;

第一确定模块,配置为,采用第一递归神经网络,以预设隐向量作为初始隐向量,递归地确定所述第二样本序列中多个分词的隐向量,使得所述第二样本序列中后一个分词的隐向量包含前面各个分词的信息;基于所述第二样本序列中多个分词的隐向量,确定所述文本片段的表征向量;

第一构建模块,配置为,通过变分自编码器,基于所述表征向量构建高斯分布,基于所述高斯分布确定针对所述文本片段的全局隐向量;

第二确定模块,配置为,采用所述第一递归神经网络,以所述全局隐向量作为初始隐向量,递归地确定所述文本片段中分词的隐向量,作为解码隐向量,并基于所述解码隐向量,确定所述文本片段中分词的预测值;

第一更新模块,配置为,基于所述文本片段中分词与其预测值的差异,以及基于所述高斯分布确定的分布差异,确定预测损失值,向减小所述预测损失值的方向,更新所述第一递归神经网络和所述变分自编码器。

11.根据权利要求10所述的装置,所述第一替换模块,将所述第一样本序列中的第一命名实体替换为第一预设字符时,包括:从所述第一样本序列中的至少一个命名实体中随机确定第一数量个命名实体,作为第一命名实体,将所述第一命名实体替换为第一预设字符。

12.根据权利要求10所述的装置,所述第一替换模块,从所述第二样本序列中确定包含所述第一预设字符的文本片段时,包括:将所述第二样本序列中,从所述第一预设字符开始,以所述第一预设字符之后的第一个命名实体结尾的序列,确定为文本片段;或者,将所述第二样本序列中,以所述第一预设字符结尾,以所述第一预设字符之前的第一个命名实体开始的序列,确定为文本片段。

13.根据权利要求12所述的装置,所述第一确定模块,基于所述第二样本序列中多个分词的隐向量,确定所述文本片段的表征向量时,包括:从所述第二样本序列的多个分词的隐向量中,确定所述文本片段的首分词的隐向量和尾分词的隐向量,并分别作为所述首分词的初始隐向量和所述尾分词的初始隐向量,基于所述尾分词的初始隐向量与所述首分词的初始隐向量的差值,确定所述文本片段的表征向量。

14.根据权利要求10所述的装置,所述第一构建模块,具体配置为:

通过变分自编码器,基于所述表征向量,确定高斯分布的均值和方差,基于所述高斯分布的均值和方差确定针对所述文本片段的全局隐向量。

15.根据权利要求10所述的装置,所述第二确定模块,递归地确定所述文本片段中分词的解码隐向量时,包括:通过所述第一递归神经网络,针对所述文本片段中首分词和尾分词之外的每个中间分词,基于上一分词的解码隐向量确定该中间分词的解码隐向量,其中,第一个中间分词的上一分词的解码隐向量为所述全局隐向量。

16.根据权利要求10所述的装置,所述第一递归神经网络包括双向递归神经网络;所述第一确定模块,具体配置为:采用第一递归神经网络,以预设隐向量作为初始隐向量,按照序列的前向顺序,递归地确定所述第二样本序列中多个分词的第一隐向量,按照序列的后向顺序,递归地确定所述第二样本序列中多个分词的第二隐向量;基于多个所述第一隐向量,确定所述文本片段的第一表征向量,基于多个所述第二隐向量,确定所述文本片段的第二表征向量;

所述第一构建模块,具体配置为:

通过变分自编码器,基于所述第一表征向量构建第一高斯分布,基于所述第一高斯分布确定针对所述文本片段的第一全局隐向量,基于所述第二表征向量构建第二高斯分布,基于所述第二高斯分布确定针对所述文本片段的第二全局隐向量;

所述第二确定模块,具体配置为:

采用所述第一递归神经网络,以所述全局隐向量作为初始隐向量,按照序列的前向顺序,递归地确定所述文本片段中每个中间分词的第一解码隐向量,按照序列的后向顺序,递归地确定所述文本片段中每个中间分词的第二解码隐向量;并基于所述第一解码隐向量,确定所述文本片段中每个中间分词的第一预测值,基于所述第二解码隐向量,确定所述文本片段中每个中间分词的第二预测值;所述中间分词为所述文本片段中首分词和尾分词之外的分词;

所述第一更新模块,确定预测损失值时,包括:

基于所述文本片段中每个分词与其第一预测值的差异,以及基于所述第一高斯分布确定的第一分布差异,确定第一损失值;基于所述文本片段中每个分词与其第二预测值的差异,以及基于所述第二高斯分布确定的第二分布差异,确定第二损失值;基于所述第一损失值和第二损失值的和,确定预测损失值。

17.根据权利要求10所述的装置,所述第一递归神经网络包括循环神经网络RNN或长短期记忆LSTM。

18.一种使用模型对命名实体识别的装置,部署在计算机中,包括:

第二获取模块,配置为,获取待识别的包含多个分词的第一分词序列,多个分词包含命名实体和非命名实体;

第一输入模块,配置为,将所述第一分词序列输入训练好的第一递归神经网络,得到所述第一分词序列中多个分词的隐向量;所述第一递归神经网络采用权利要求1的方法训练得到;

第三确定模块,配置为,基于所述第一分词序列的每个分词的隐向量,确定所述第一分词序列的每个分词在多个预设标签上的分布概率;

第四确定模块,配置为,基于所述第一分词序列的每个分词的分布概率,确定每个分词对应的预设标签。

19.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-9中任一项所述的方法。

20.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-9中任一项所述的方法。

说明书 :

模型训练、命名实体识别方法及装置

技术领域

[0001] 本说明书一个或多个实施例涉及自然语言处理技术领域,尤其涉及模型训练、命名实体识别方法及装置。

背景技术

[0002] 在自然语言处理技术领域,对文本序列中的命名实体(Entity)进行分类,是研究的一个重要方向。命名实体,在词性中具有名词性质,包括人名、机构名、地名以及其他所有以名称为标识的实体类别。更广泛的命名实体还包括数字、日期、货币、地址等类别。对命名实体的类别进行准确识别,能够提高自然语言处理的准确性和有效性。
[0003] 通常,采用训练集训练用于识别命名实体的模型,在模型训练完成后,采用测试集对模型进行测试。命名实体识别中的一大挑战,是对集外词和低频词这些稀有实体的识别。集外词是指测试集中出现,但训练集中没有出现过的命名实体。低频词是指测试集中出现,而训练集中出现次数较低的命名实体。这种训练数据的稀疏性,给模型训练带来巨大挑战。
[0004] 因此,希望能有改进的方案,可以训练得到有效性更好、准确性更高的模型,使得模型在面临稀有实体时,能更好地对其进行识别。

发明内容

[0005] 本说明书一个或多个实施例描述了模型训练、命名实体识别方法及装置,以训练得到有效性更好、准确性更高的模型,使得模型在面临稀有实体时,能更好地对其进行识别。具体的技术方案如下。
[0006] 第一方面,提供了一种用于识别命名实体的模型训练方法,通过计算机执行,包括:
[0007] 获取包含多个分词的第一样本序列,多个分词包含命名实体和非命名实体;
[0008] 将所述第一样本序列中的第一命名实体替换为第一预设字符,得到第二样本序列,并从所述第二样本序列中确定包含所述第一预设字符的文本片段;
[0009] 采用第一递归神经网络,以预设隐向量作为初始隐向量,递归地确定所述第二样本序列中多个分词的隐向量;基于所述第二样本序列中多个分词的隐向量,确定所述文本片段的表征向量;
[0010] 通过变分自编码器,基于所述表征向量构建高斯分布,基于所述高斯分布确定针对所述文本片段的全局隐向量;
[0011] 采用所述第一递归神经网络,以所述全局隐向量作为初始隐向量,递归地确定所述文本片段中分词的解码隐向量,并基于所述解码隐向量,确定所述文本片段中分词的预测值;
[0012] 基于所述文本片段中分词与其预测值的差异,以及基于所述高斯分布确定的分布差异,确定预测损失值,向减小所述预测损失值的方向,更新所述第一递归神经网络和所述变分自编码器。
[0013] 在一种实施方式中,所述将所述第一样本序列中的第一命名实体替换为第一预设字符的步骤,包括:
[0014] 从所述第一样本序列中的至少一个命名实体中随机确定第一数量个命名实体,作为第一命名实体,将所述第一命名实体替换为第一预设字符。
[0015] 在一种实施方式中,所述从所述第二样本序列中确定包含所述第一预设字符的文本片段的步骤,包括:
[0016] 将所述第二样本序列中,从所述第一预设字符开始,以所述第一预设字符之后的第一个命名实体结尾的序列,确定为文本片段;或者,将所述第二样本序列中,以所述第一预设字符结尾,以所述第一预设字符之前的第一个命名实体开始的序列,确定为文本片段。
[0017] 在一种实施方式中,所述基于所述第二样本序列中多个分词的隐向量,确定所述文本片段的表征向量的步骤,包括:
[0018] 从所述第二样本序列的多个分词的隐向量中,确定所述文本片段的首分词的初始隐向量和尾分词的初始隐向量,基于所述尾分词的初始隐向量与所述首分词的初始隐向量的差值,确定所述文本片段的表征向量。
[0019] 在一种实施方式中,所述基于所述表征向量构建高斯分布,基于所述高斯分布确定针对所述文本片段的全局隐向量的步骤,包括:
[0020] 通过变分自编码器,基于所述表征向量,确定高斯分布的均值和方差,基于所述高斯分布的均值和方差确定针对所述文本片段的全局隐向量。
[0021] 在一种实施方式中,所述递归地确定所述文本片段中分词的解码隐向量的步骤,包括:
[0022] 通过所述第一递归神经网络,针对所述文本片段中首分词和尾分词之外的每个中间分词,基于上一分词的解码隐向量确定该中间分词的解码隐向量,其中,第一个中间分词的上一分词的解码隐向量为所述全局隐向量。
[0023] 在一种实施方式中,所述第一递归神经网络包括双向递归神经网络;所述递归地确定所述第二样本序列中多个分词的隐向量;基于所述第二样本序列中多个分词的隐向量,确定所述文本片段的表征向量的步骤,包括:
[0024] 采用第一递归神经网络,以预设隐向量作为初始隐向量,按照序列的前向顺序,递归地确定所述第二样本序列中多个分词的第一隐向量,按照序列的后向顺序,递归地确定所述第二样本序列中多个分词的第二隐向量;基于多个所述第一隐向量,确定所述文本片段的第一表征向量,基于多个所述第二隐向量,确定所述文本片段的第二表征向量;
[0025] 所述基于所述表征向量构建高斯分布,基于所述高斯分布确定针对所述文本片段的全局隐向量的步骤,包括:
[0026] 通过变分自编码器,基于所述第一表征向量构建第一高斯分布,基于所述第一高斯分布确定针对所述文本片段的第一全局隐向量,基于所述第二表征向量构建第二高斯分布,基于所述第二高斯分布确定针对所述文本片段的第二全局隐向量;
[0027] 所述递归地确定所述文本片段中分词的解码隐向量,并基于所述解码隐向量,确定所述文本片段中分词的预测值的步骤,包括:
[0028] 采用所述第一递归神经网络,以所述全局隐向量作为初始隐向量,按照序列的前向顺序,递归地确定所述文本片段中每个中间分词的第一解码隐向量,按照序列的后向顺序,递归地确定所述文本片段中每个中间分词的第二解码隐向量;并基于所述第一解码隐向量,确定所述文本片段中每个中间分词的第一预测值,基于所述第二解码隐向量,确定所述文本片段中每个中间分词的第二预测值;所述中间分词为所述文本片段中首分词和尾分词之外的分词;
[0029] 所述确定预测损失值的步骤,包括:
[0030] 基于所述文本片段中每个分词与其第一预测值的差异,以及基于所述第一高斯分布确定的第一分布差异,确定第一损失值;基于所述文本片段中每个分词与其第二预测值的差异,以及基于所述第二高斯分布确定的第二分布差异,确定第二损失值;基于所述第一损失值和第二损失值的和,确定预测损失值。
[0031] 在一种实施方式中,所述第一递归神经网络包括循环神经网络RNN或长短期记忆LSTM。
[0032] 第二方面,实施例提供了一种使用模型对命名实体识别的方法,通过计算机执行,包括:
[0033] 获取待识别的包含多个分词的第一分词序列,多个分词包含命名实体和非命名实体;
[0034] 将所述第一分词序列输入训练好的第一递归神经网络,得到所述第一分词序列中多个分词的隐向量;所述第一递归神经网络采用权利要求1的方法训练得到;
[0035] 基于所述第一分词序列的每个分词的隐向量,确定所述第一分词序列的每个分词在多个预设标签上的分布概率;
[0036] 基于所述第一分词序列的每个分词的分布概率,确定每个分词对应的预设标签。
[0037] 第三方面,实施例提供了一种用于识别命名实体的模型训练装置,部署在计算机中,包括:
[0038] 第一获取模块,配置为,获取包含多个分词的第一样本序列,多个分词包含命名实体和非命名实体;
[0039] 第一替换模块,配置为,将所述第一样本序列中的第一命名实体替换为第一预设字符,得到第二样本序列,并从所述第二样本序列中确定包含所述第一预设字符的文本片段;
[0040] 第一确定模块,配置为,采用第一递归神经网络,以预设隐向量作为初始隐向量,递归地确定所述第二样本序列中多个分词的隐向量;基于所述第二样本序列中多个分词的隐向量,确定所述文本片段的表征向量;
[0041] 第一构建模块,配置为,通过变分自编码器,基于所述表征向量构建高斯分布,基于所述高斯分布确定针对所述文本片段的全局隐向量;
[0042] 第二确定模块,配置为,采用所述第一递归神经网络,以所述全局隐向量作为初始隐向量,递归地确定所述文本片段中分词的解码隐向量,并基于所述解码隐向量,确定所述文本片段中分词的预测值;
[0043] 第一更新模块,配置为,基于所述文本片段中分词与其预测值的差异,以及基于所述高斯分布确定的分布差异,确定预测损失值,向减小所述预测损失值的方向,更新所述第一递归神经网络和所述变分自编码器。
[0044] 在一种实施方式中,所述第一替换模块,将所述第一样本序列中的第一命名实体替换为第一预设字符时,包括:
[0045] 从所述第一样本序列中的至少一个命名实体中随机确定第一数量个命名实体,作为第一命名实体,将所述第一命名实体替换为第一预设字符。
[0046] 在一种实施方式中,所述第一替换模块,从所述第二样本序列中确定包含所述第一预设字符的文本片段时,包括:
[0047] 将所述第二样本序列中,从所述第一预设字符开始,以所述第一预设字符之后的第一个命名实体结尾的序列,确定为文本片段;或者,将所述第二样本序列中,以所述第一预设字符结尾,以所述第一预设字符之前的第一个命名实体开始的序列,确定为文本片段。
[0048] 在一种实施方式中,所述第一确定模块,基于所述第二样本序列中多个分词的隐向量,确定所述文本片段的表征向量时,包括:
[0049] 从所述第二样本序列的多个分词的隐向量中,确定所述文本片段的首分词的初始隐向量和尾分词的初始隐向量,基于所述尾分词的初始隐向量与所述首分词的初始隐向量的差值,确定所述文本片段的表征向量。
[0050] 在一种实施方式中,所述第一构建模块,具体配置为:
[0051] 通过变分自编码器,基于所述表征向量,确定高斯分布的均值和方差,基于所述高斯分布的均值和方差确定针对所述文本片段的全局隐向量。
[0052] 在一种实施方式中,所述第二确定模块,递归地确定所述文本片段中分词的解码隐向量时,包括:
[0053] 通过所述第一递归神经网络,针对所述文本片段中首分词和尾分词之外的每个中间分词,基于上一分词的解码隐向量确定该中间分词的解码隐向量,其中,第一个中间分词的上一分词的解码隐向量为所述全局隐向量。
[0054] 在一种实施方式中,所述第一递归神经网络包括双向递归神经网络;所述第一确定模块,具体配置为:
[0055] 采用第一递归神经网络,以预设隐向量作为初始隐向量,按照序列的前向顺序,递归地确定所述第二样本序列中多个分词的第一隐向量,按照序列的后向顺序,递归地确定所述第二样本序列中多个分词的第二隐向量;基于多个所述第一隐向量,确定所述文本片段的第一表征向量,基于多个所述第二隐向量,确定所述文本片段的第二表征向量;
[0056] 所述第一构建模块,具体配置为:
[0057] 通过变分自编码器,基于所述第一表征向量构建第一高斯分布,基于所述第一高斯分布确定针对所述文本片段的第一全局隐向量,基于所述第二表征向量构建第二高斯分布,基于所述第二高斯分布确定针对所述文本片段的第二全局隐向量;
[0058] 所述第二确定模块,具体配置为:
[0059] 采用所述第一递归神经网络,以所述全局隐向量作为初始隐向量,按照序列的前向顺序,递归地确定所述文本片段中每个中间分词的第一解码隐向量,按照序列的后向顺序,递归地确定所述文本片段中每个中间分词的第二解码隐向量;并基于所述第一解码隐向量,确定所述文本片段中每个中间分词的第一预测值,基于所述第二解码隐向量,确定所述文本片段中每个中间分词的第二预测值;中间分词为所述文本片段中首分词和尾分词之外的分词;
[0060] 所述第一更新模块,确定预测损失值时,包括:
[0061] 基于所述文本片段中每个分词与其第一预测值的差异,以及基于所述第一高斯分布确定的第一分布差异,确定第一损失值;基于所述文本片段中每个分词与其第二预测值的差异,以及基于所述第二高斯分布确定的第二分布差异,确定第二损失值;基于所述第一损失值和第二损失值的和,确定预测损失值。
[0062] 在一种实施方式中,所述第一递归神经网络包括循环神经网络RNN或长短期记忆LSTM。
[0063] 第四方面,实施例提供了一种使用模型对命名实体识别的装置,部署在计算机中,包括:
[0064] 第二获取模块,配置为,获取待识别的包含多个分词的第一分词序列,多个分词包含命名实体和非命名实体;
[0065] 第一输入模块,配置为,将所述第一分词序列输入训练好的第一递归神经网络,得到所述第一分词序列中多个分词的隐向量;所述第一递归神经网络采用权利要求1的方法训练得到;
[0066] 第三确定模块,配置为,基于所述第一分词序列的每个分词的隐向量,确定所述第一分词序列的每个分词在多个预设标签上的分布概率;
[0067] 第四确定模块,配置为,基于所述第一分词序列的每个分词的分布概率,确定每个分词对应的预设标签。
[0068] 第五方面,实施例提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面至第二方面中任一项所述的方法。
[0069] 第六方面,实施例提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面至第二方面中任一项所述的方法。
[0070] 本说明书实施例提供的方法和装置,可以将第一样本序列中的第一命名实体假设为稀有实体,通过将其替换为第一预设字符而将其遮蔽起来,然后通过第一递归神经网络对文本片段进行编码,并通过变分自编码器重构文本片段的全局隐向量,再基于该全局隐向量,重构出文本片段中分词的解码隐向量,也就是基于全局隐向量对文本片段进行解码,基于解码隐向量确定文本片段中分词的预测值。当第一递归神经网络和变分自编码器训练得比较好时,即便是将命名实体进行了遮蔽,第一递归神经网络也能基于被遮蔽的命名实体的上下文,很好地采用隐向量对各个分词进行表征。当模型确定的各个分词的隐向量有更高的表征能力时,基于分词的隐向量进行的命名实体识别也能够更加有效、更加准确。

附图说明

[0071] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0072] 图1为本说明书披露的一个实施例的实施场景示意图;
[0073] 图2为实施例提供的一种用于识别命名实体的模型训练方法的流程示意图;
[0074] 图3为一个文本片段的示例图;
[0075] 图4为实施例提供的一种训练执行过程的示例图;
[0076] 图5为实施例提供的一种使用模型对命名实体识别的方法流程示意图;
[0077] 图6为实施例提供的一种用于识别命名实体的模型训练装置的示意性框图;
[0078] 图7为实施例提供的一种使用模型对命名实体识别的装置的示意性框图。

具体实施方式

[0079] 下面结合附图,对本说明书提供的方案进行描述。
[0080] 图1本说明书披露的一个实施例的实施场景示意图。其中,将包含多个分词的分词序列 输入第一递归神经网络,第一递归神经网络可以输出每个分词的隐向量 ,基于每个隐向量可以确定每个分词在各个分类中的分布概率,
并基于这些分布概率,得到每个分词的分类结果,即每个分词对应于哪个分类的标签。分类可以采用标签表示。SOS为分词序列的开始符号,EOS为分词序列的结尾符号。
[0081] 命名实体(Entity),也可以称为实体词,在词性中具有名词性质,包括人名、机构名、地名以及其他所有以名称为标识的实体类别,更广泛的命名实体还包括数字、日期、货币、地址等类别。
[0082] 针对一个包含多个分词的分词序列,可以预先根据定义的标签对每个分词进行标注。以下表1为一个例子中定义的标签所对应的含义。
[0083] 表1
[0084] 标签 含义 标签 含义 标签 含义n 普通名词 f 方位名词 s 处所名词
nw 作品名 PER 人名 LOC 地名
ORG 机构名 TIME 时间 O 其他
[0085] 在表1中,“O”代表的含义是其他,是指实体名词之外的其他词,比如动词、介词、形容词、副词、连词等。从n到TIME的多个标签,是对实体名词的细化分类。以上分类仅仅是为了便于理解而举的例子,其并不构成对本申请的限制。
[0086] 分词序列可以是对文本序列进行分词之后得到的序列。例如,对英文文本序列进行分词时,每个单词或符号即为一个分词;对中文文本序列进行分词时,可以基于预设的分词词典进行分词。例如,对于英文文本序列“List flights to Indianapolis with fares on Monday morning,please”,其中的每个单词和逗号都可以作为一个分词。对于中文文本序列“请列出周一早上飞往印第安纳波利斯的航班,并提供票价”进行分词之后,可以得到“请-列出-周一-早上-飞往-印第安纳波利斯-的-航班-,-并-提供-票价”这样的分词序列。本说明书并不限定分词序列的具体形式。
[0087] 为了更有效、更准确地确定分词序列中每个分词对应的分类,通过可以采用训练集对第一递归神经网络进行训练。其中,训练集可以包含大量的样本序列以及样本序列中每个分词对应的标签。在对第一递归神经网络训练完成时,可以采用测试集对其进行测试,以确定模型性能。测试集中也包含大量的分词序列和每个分词的标签。由于自然语言的多样性,测试集中可能包含有稀有实体,例如集外词和低频词。集外词是指测试集中出现,但训练集中没有出现过的命名实体。低频词是指测试集中出现,而训练集中出现次数较低的命名实体。使用上述训练集训练的模型无法很好地对这些稀有实体进行正确有效的分类。
[0088] 为了训练得到有效性更好、准确性更高的模型,使得模型在面临稀有实体时,能更好地对其进行分类识别,本说明书实施例提供了一种模型训练方法。在该方法中,针对训练集中的每个样本序列,例如称为第一样本序列,将第一样本序列中的某个命名实体,例如第一命名实体,替换为某个预设字符,例如替换为第一预设字符,得到第二样本序列。从第二样本序列中确定包含第一预设字符的文本片段,采用第一递归神经网络,确定文本片段的表征向量,然后通过变分自编码器,基于该表征向量构建高斯分布,并基于高斯分布确定文本片段的全局隐向量,再采用第一递归神经网络,以全局隐向量为初始隐向量,递归地确定文本片段中分词的解码隐向量,并基于解码隐向量确定文本片段中分词的预测值,基于文本片段中分词与其预测值的差异,以及基于高斯分布确定的分布差异,确定预测损失值,向减小预测损失值的方向,更新第一递归神经网络和变分自编码器。当第一递归神经网络和变分自编码器训练得比较好时,即便是采用预设字符将命名实体进行了遮蔽,第一递归神经网络也能基于被遮蔽的命名实体的上下文,很好地采用隐向量对各个分词进行表征。当模型确定的各个分词的隐向量有更高的表征能力时,基于分词的隐向量进行的命名实体识别也能够更加有效、更加准确。
[0089] 下面详细对本说明书实施例进行说明。
[0090] 图2为实施例提供的一种用于识别命名实体的模型训练方法的流程示意图。该方法可以通过计算机执行。该计算机可以通过任何具有计算、处理能力的设备、平台或设备集群来实现。该方法包括以下步骤S210 S260。~
[0091] 步骤S210,获取包含多个分词的第一样本序列,多个分词包含命名实体和非命名实体。第一样本序列可以是从训练集中获取的任意一个样本序列,训练集中包含第一样本序列的每个分词的标签,该标签例如可以表示分词是否属于命名实体,以及属于哪种命名实体。样本序列与上文提到的分词序列的结构相同,即第一样本序列中包含多个分词,第一样本序列通过对文本序列进行分词得到。例如,第一样本序列可以为英文文本序列“List flights to Indianapolis with fares on Monday morning,please”,其中,“List、flights、to、with、fares、on、please”可以属于非命名实体,“Indianapolis、Monday、morning”属于命名实体。第一样本序列可以采用 表示, 为第一样本序列X中的第N个分词,N为整数。
[0092] 步骤S220,将第一样本序列中的第一命名实体替换为第一预设字符,得到第二样本序列,并从第二样本序列中确定包含第一预设字符的文本片段。
[0093] 本步骤中,可以从第一样本序列中的至少一个命名实体中随机确定第一数量个命名实体,作为第一命名实体,将第一命名实体替换为第一预设字符。第一数量可以为预设的相对于第一样本序列的总分词数N较小的数,比如取值为1或2等。第一预设字符例如可以为“[UNK]”。
[0094] 在一种实施方式中,可以针对第一样本序列中的每个分词,生成对应的随机数 ,取值在0到1之间,当随机数 大于预设阈值p,且该随机数 对应的分词为命名实体时,将随机数 对应的命名实体作为第一命名实体。采用公式表示即为
[0095]                                (1)
[0096] 其中, 表示分词 的标签 不为其他分类,也就是 为命名实体分类。按照公式(1)对第一样本序列中的每个分词处理过之后,得到第二样本序列。
[0097] 在步骤S220中,从第二样本序列中确定包含第一预设字符的文本片段时,可以将第二样本序列中,从第一预设字符开始,以第一预设字符之后的第一个命名实体结尾的序列,确定为文本片段。或者,将第二样本序列中,以第一预设字符结尾,以第一预设字符之前的第一个命名实体开始的序列,确定为文本片段。
[0098] 例如,图3为一个文本片段的示例图。其中,在该第一样本序列中,“Indianapolis”被替换为“[UNK]”,则可以将该序号j到序号k之间的序列,确定为文本片段,k为j之后的第一个命名实体。图3中的第二行示出了第一样本序列中每个分词的标签,标签含义可以参见表1。
[0099] 步骤S230,采用第一递归神经网络,以预设隐向量作为初始隐向量,递归地确定第二样本序列中多个分词的隐向量,基于第二样本序列中多个分词的隐向量,确定文本片段的表征向量。本步骤可以理解为,将预设隐向量作为初始隐向量输入第一递归神经网络,第一递归神经网络输出确定的第二样本序列中分词的隐向量。
[0100] 第一递归神经网络可以包括循环神经网络(Recurrent neural network,RNN)或长短期记忆(Long Short-Term Memory,LSTM)。
[0101] 在确定第二样本序列中多个分词的隐向量时,针对第二样本序列中的首分词,基于初始隐向量确定该首分词的隐向量,针对第二样本序列中首分词之后的各个分词,基于上一分词的隐向量确定该分词的隐向量。这就是递归地确定各个分词的隐向量,后一个分词的隐向量中包含前面各个分词的信息。隐向量是用于表示分词特征的向量。在基于初始隐向量或者上一分词的隐向量确定分词的隐向量时,可以采用第一递归神经网络中的f函数进行,f函数中包含待更新参数。例如,可以采用以下公式(2)确定每个分词的隐向量:
[0102]                                         (2)
[0103] 其中, 为第二样本序列第i个分词的隐向量, 为第i-1个分词的隐向量,为初始隐向量。在本步骤中,初始隐向量可以为预设隐向量,预设隐向量可以为随机生成的隐向量,也可以为固定设置的某个隐向量。
[0104] 采用第一递归神经网络,以预设隐向量作为初始隐向量,递归地确定第二样本序列中多个分词的隐向量的过程,可以理解为采用第一递归神经网络对分词进行编码的过程。
[0105] 在步骤S230中,基于第二样本序列中多个分词的隐向量,确定文本片段的表征向量时,可以从第二样本序列的多个分词的隐向量中,确定文本片段的首分词的初始隐向量和尾分词的初始隐向量,基于尾分词的初始隐向量与首分词的初始隐向量的差值,确定文本片段的表征向量。
[0106] 由于文本片段是从第二样本序列中截取的片段,因此可以从第二样本序列中确定文本片段的首分词的隐向量,作为首分词的初始隐向量;从第二样本序列中确定文本片段的尾分词的隐向量,作为尾分词的初始隐向量。例如,参见图3的例子,将第二样本序列中第j个分词的隐向量和第k个分词的隐向量,分别作为文本片段的首分词的初始隐向量和尾分词的初始隐向量。
[0107] 在确定文本片段的表征向量时,可以将直接将尾分词的初始隐向量与首分词的初始隐向量的差值作为表征向量,也可以对该差值进行预定变换后的结果作为表征向量。例如,预定变换可以包括将该差值乘以某个系数。
[0108] 一个例子中,文本片段的表征向量可以采用以下公式(3)确定:
[0109]                                           (3)
[0110] 其中, 表示从j到k的文本片段的表征向量, 为尾分词的初始隐向量, 为首分词的初始隐向量。j和k都是整数。
[0111] 步骤S240,通过变分自编码器,基于表征向量构建高斯分布,基于高斯分布确定针对文本片段的全局隐向量。变分自编码器(Variational Auto-Encoder,VAE)可以理解为其中存在连续的高斯分布,当向变分自编码器中输入一组均值和方差时,变分自编码器即可以确定该均值和方差对应的高斯分布,并基于从该高斯分布中进行采样,得到对应的向量。
[0112] 在本实施例中,通过变分自编码器,基于该表征向量,确定高斯分布的均值和方差,基于高斯分布的均值和方差确定针对文本片段的全局隐向量。具体的,将表征向量输入VAE中,VAE可以根据其参数输出对应的均值和方差,当均值和方差确定时,也就是确定了均值和方差对应的高斯分布,VAE可以从该高斯分布中进行采样,将采样得到的向量作为文本片段的隐向量。
[0113] 例如,VAE可以通过以下公式(4)确定均值和方差:
[0114]                                 (4)
[0115] 其中, 为j到k的文本片段的表征向量, 为该表征向量的均值, 为该表征向量的方差, 、 、 和 为VAE中的待更新参数,在初次迭代中,该参数可以取初始值,在后续的多次迭代中该参数被不断地更新。VAE可以基于文本片段的均值 和方差确定文本片段的全局隐向量 。
[0116] 步骤S250,采用第一递归神经网络,以全局隐向量作为初始隐向量,递归地确定文本片段中分词的解码隐向量,并基于解码隐向量,确定文本片段中分词的预测值。本步骤可以理解为,将全局隐向量作为初始隐向量输入第一递归神经网络,第一递归神经网络输出确定的文本片段中分词的解码隐向量。本步骤中,基于全局隐向量确定文本片段中分词的解码隐向量,可以理解为基于全局隐向量对文本片段中的分词进行重构,这对应于对分词进行解码的过程,具体可以对其中间分词进行解码、重构。
[0117] 在一个实施方式中,可以通过第一递归神经网络,针对文本片段中首分词和尾分词之外的每个中间分词,基于上一分词的解码隐向量确定该中间分词的解码隐向量,其中,第一个中间分词的上一分词的解码隐向量为全局隐向量。中间分词的数量可以为一个或多个。该过程可以采用以下公式(5)来表示:
[0118]                                         (5)
[0119] 其中, 为文本片段中的第m个中间分词 的解码隐向量, 为第m-1个中间分词的解码隐向量, 取值为全局隐向量 。m在[j+1,j+2,…,k-1]之间取值,文本片段为从j到k的分词组成。
[0120] 在基于解码隐向量,确定文本片段中分词的预测值,可以理解为,确定文本片段中分词是预设词典中某个词的概率,也就是对该分词是什么词进行预测。具体的,可以采用softmax函数来计算文本片段中分词的预测值,即采用公式(6)来计算:
[0121]                                   (6)
[0122] 其中, 为文本片段中第m个中间分词的预测值,可以为概率分布; 为第m个中间分词的解码隐向量。 是迭代过程中的待更新参数。
[0123] 步骤S260,基于文本片段中分词与其预测值的差异,以及基于高斯分布确定的分布差异,确定预测损失值,向减小预测损失值的方向,更新第一递归神经网络和变分自编码器,即更新其中的参数。除了更新第一递归神经网络和变分自编码器的参数,还可以更新上述步骤中提到的待更新的参数。
[0124] 文本片段中的分词即为标准值,该标准值可以采用概率分布来表示,其预测值也可以采用概率分布来表示,标准值与预测值的差异可以采用交叉熵来计算。文本片段中的分词可以为中间分词,当中间分词为多个时,可以对每个分词的交叉熵取和,基于和值来计算预测损失值。
[0125] 由于模型训练过程中也可以对VAE的参数进行学习,因此可以基于高斯分布确定对应的KL(Kullback-Leibler)散度,作为分布差异,其表示VAE的初始分布与其预测的高斯分布之间的差异。在确定预测损失值时,可以基于文本片段中分词与其预测值的差异,以及基于高斯分布确定的分布差异之间的和值确定。例如,预测损失值可以采用以下公式(7)表示:
[0126]                              (7)
[0127] 其中, 。 为基于文本片段中分词与其预测值的差异计算的交叉熵, 为基于高斯分布确定KL散度, 为确定的预测损失值的负值。
[0128] 上述步骤S210 S260为一次迭代过程。该迭代过程可以重复多次,直至迭代过程收~敛。收敛条件可以包括,迭代次数大于预设次数阈值,或者预测损失值小于某个阈值等等。
在步骤S210 S260所示的迭代过程中,是基于一个第一样本序列来说明的,在另一实施例~
中,还可以根据步骤S210 S260包含的过程,对多个第一样本序列进行处理,确定多个第一~
样本序列对应的总的预测损失值,向减小总的预测损失值的方向,更新第一递归神经网络和变分自编码器。这样可以减少更新模型参数的次数,提高训练效率。
[0129] 在本说明书的另一实施例中,上述第一递归神经网络可以包括双向递归神经网络,例如双向RNN,或双向LSTM。在本实施例中,上述公式(2)(7)表示的执行过程,按照序列~的前向顺序执行一遍,按照序列的后向顺序执行一遍,将得到的预测损失值求和,通过向减小求和后的预测损失值的方向,更新第一递归神经网络和变分自编码器。双向训练神经网络所提取的样本特征会更加丰富,这使得针对样本序列的训练过程会更加充分,并且使得对模型的训练更有效、更准确。具体的实施方案如下。
[0130] 在步骤S230中,递归地确定第二样本序列中多个分词的隐向量,基于第二样本序列中多个分词的隐向量,确定文本片段的表征向量的步骤,包括:
[0131] 采用第一递归神经网络,以预设隐向量作为初始隐向量,按照序列的前向顺序,递归地确定第二样本序列中多个分词的第一隐向量,按照序列的后向顺序,递归地确定第二样本序列中多个分词的第二隐向量;基于多个第一隐向量,确定文本片段的第一表征向量,基于多个第二隐向量,确定文本片段的第二表征向量。
[0132] 在步骤S240中,基于表征向量构建高斯分布,基于高斯分布确定针对文本片段的全局隐向量的步骤,包括:
[0133] 通过变分自编码器,基于第一表征向量构建第一高斯分布,基于第一高斯分布确定针对文本片段的第一全局隐向量,基于第二表征向量构建第二高斯分布,基于第二高斯分布确定针对文本片段的第二全局隐向量。
[0134] 在步骤S250中,递归地确定文本片段中分词的解码隐向量,并基于解码隐向量,确定文本片段中分词的预测值的步骤,包括:
[0135] 采用第一递归神经网络,以全局隐向量作为初始隐向量,按照序列的前向顺序,递归地确定文本片段中每个中间分词的第一解码隐向量,按照序列的后向顺序,递归地确定文本片段中每个中间分词的第二解码隐向量;并基于第一解码隐向量,确定文本片段中每个中间分词的第一预测值,基于第二解码隐向量,确定文本片段中每个中间分词的第二预测值。其中,中间分词为文本片段中首分词和尾分词之外的分词。
[0136] 在步骤S260中,确定预测损失值的步骤可以包括:
[0137] 基于文本片段中每个分词与其第一预测值的差异,以及基于第一高斯分布确定的第一分布差异,确定第一损失值;基于文本片段中每个分词与其第二预测值的差异,以及基于第二高斯分布确定的第二分布差异,确定第二损失值;基于第一损失值和第二损失值的和,确定预测损失值。
[0138] 针对图3所示的第二样本序列,序列的前向顺序为从“List”到“please”的过程,序列的后向顺序为从“please”到“List”的过程。针对图3中的文本片段,序列的前向顺序为从“Indianapolis”到“Monday”的过程,序列的后向顺序为从“Monday”到“Indianapolis”的过程。前向训练过程和后向训练过程的实施,可以根据上述公式(2)(7)表示的执行过程进~行,此处不再赘述。
[0139] 对于第一递归神经网络,其前向过程和后向过程中的参数共享,前向过程和后向过程的不同之处在于序列的前后顺序不同。
[0140] 双向训练过程的训练目标可以表示为
[0141]                  (8)
[0142] 其中, 为前向训练过程确定的第一损失值, 为后向训练过程确定的第二损失值, 表示预测损失值, 表示第一递归神经网络的待更新参数, 表示其他的待更新参数,X为第一样本序列。
[0143] 图4为实施例提供的一种训练执行过程的示例图。在该实施例中,文本片段为“Indianapolis with fares on Monday”,其中“Indianapolis”被遮盖为第一预设符号“[UNK]”。对该文本片段进行局部上下文重建,可以基于文本片段的表征向量确定均值μ和对数方差logσ,基于均值μ和对数方差logσ对应的高斯分布可以确定文本片段的全局隐向量,以该全局隐向量作为中间分词“with fares on”的初始隐向量 ,分别确定每个中间分词的解码隐向量 。基于该解码隐向量,即可以进行分词的预测,以及损失值的确定等~过程。
[0144] 在基于上述实施例对第一递归神经网络训练完成时,在基于该第一递归神经网络对分词序列中的命名实体进行识别,即便分词序列中存在训练集中未出现过的集外词,或者存在低频词,第一递归神经网络均能基于分词序列,确定针对每个分词进行超强表征的隐向量,当隐向量能够很好地表征序列特征时,也能够更准确地确定分词的标签。
[0145] 图5为实施例提供的一种使用模型对命名实体识别的方法流程示意图。该方法通过计算机执行,该计算机可以通过任何具有计算、处理能力的设备、平台或设备集群来实现。该方法包括以下步骤S510 S540。~
[0146] 步骤S510,获取待识别的包含多个分词的第一分词序列,多个分词包含命名实体和非命名实体。第一分词序列可以是测试集中的任意一个分词序列,也可以是采用其他方式得到的分词序列。
[0147] 步骤S520,将第一分词序列输入训练好的第一递归神经网络,得到第一分词序列中多个分词的隐向量。第一递归神经网络采用图2所示的方法训练得到。
[0148] 第一递归神经网络也可以采用双向递归神经网络,例如双向RNN,或者双向LSTM。在这种实施方式中,可以将第一分词序列输入训练好的第一递归神经网络,得到按照序列的前向顺序确定的第一分词序列的多个分词的前向隐向量,以及按照序列的后向顺序确定的第一分词序列的多个分词的后向隐向量,针对每个分词,将其前向隐向量和后向隐向量进行向量拼接,可以得到该分词的隐向量。
[0149] 步骤S530,基于第一分词序列的每个分词的隐向量,确定第一分词序列的每个分词在多个预设标签上的分布概率。本步骤可以采用条件随机场(conditional Random Field,CRF)确定第一分词序列的每个分词在多个预设标签上的分布概率。CRF中的参数可以预先根据训练集训练完成。具体的,可以将第一分词序列的每个分词的隐向量输入CRF中,得到第一分词序列的每个分词在多个预设标签上的分布概率。多个预设标签可以例如参见表1所示的多个标签。
[0150] CRF中的参数可以预先根据训练集训练完成。在训练时,例如可以保持第一递归神经网络中的参数不变,而根据训练集中的标签得到损失值,基于向减小损失值的方向调整CRF的参数。
[0151] 步骤S540,基于第一分词序列的每个分词的分布概率,确定每个分词对应的预设标签。具体可以将分布概率中,最大概率值对应的预设标签,确定为对应分词的预设标签,即分类结果。
[0152] 当采用图2所示实施例对第一递归神经网络训练完成时,即便是分词序列中遇到了没有训练过的命名实体,第一递归神经网络也能基于该命名实体的上下文,很好地采用隐向量对各个分词进行表征。当模型确定的各个分词的隐向量有更高的表征能力时,基于分词的隐向量进行的命名实体识别也能够更加有效、更加准确。
[0153] 上述内容对本说明书的特定实施例进行了描述,其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行,并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要按照示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的,或者可能是有利的。
[0154] 图6为实施例提供的一种用于识别命名实体的模型训练装置的示意性框图。该装置600部署在计算机中。该实施例与图2所示方法实施例相对应。该装置600包括:
[0155] 第一获取模块610,配置为,获取包含多个分词的第一样本序列,多个分词包含命名实体和非命名实体;
[0156] 第一替换模块620,配置为,将所述第一样本序列中的第一命名实体替换为第一预设字符,得到第二样本序列,并从所述第二样本序列中确定包含所述第一预设字符的文本片段;
[0157] 第一确定模块630,配置为,采用第一递归神经网络,以预设隐向量作为初始隐向量,递归地确定所述第二样本序列中多个分词的隐向量;基于所述第二样本序列中多个分词的隐向量,确定所述文本片段的表征向量;
[0158] 第一构建模块640,配置为,通过变分自编码器,基于所述表征向量构建高斯分布,基于所述高斯分布确定针对所述文本片段的全局隐向量;
[0159] 第二确定模块650,配置为,采用所述第一递归神经网络,以所述全局隐向量作为初始隐向量,递归地确定所述文本片段中分词的解码隐向量,并基于所述解码隐向量,确定所述文本片段中分词的预测值;
[0160] 第一更新模块660,配置为,基于所述文本片段中分词与其预测值的差异,以及基于所述高斯分布确定的分布差异,确定预测损失值,向减小所述预测损失值的方向,更新所述第一递归神经网络和所述变分自编码器。
[0161] 在一种实施方式中,第一替换模块620,将所述第一样本序列中的第一命名实体替换为第一预设字符时,包括:
[0162] 从所述第一样本序列中的至少一个命名实体中随机确定第一数量个命名实体,作为第一命名实体,将所述第一命名实体替换为第一预设字符。
[0163] 在一种实施方式中,所述第一替换模块620,从所述第二样本序列中确定包含所述第一预设字符的文本片段时,包括:
[0164] 将所述第二样本序列中,从所述第一预设字符开始,以所述第一预设字符之后的第一个命名实体结尾的序列,确定为文本片段;或者,将所述第二样本序列中,以所述第一预设字符结尾,以所述第一预设字符之前的第一个命名实体开始的序列,确定为文本片段。
[0165] 在一种实施方式中,所述第一确定模块630,基于所述第二样本序列中多个分词的隐向量,确定所述文本片段的表征向量时,包括:
[0166] 从所述第二样本序列的多个分词的隐向量中,确定所述文本片段的首分词的初始隐向量和尾分词的初始隐向量,基于所述尾分词的初始隐向量与所述首分词的初始隐向量的差值,确定所述文本片段的表征向量。
[0167] 在一种实施方式中,所述第一构建模块640,具体配置为:
[0168] 通过变分自编码器,基于所述表征向量,确定高斯分布的均值和方差,基于所述高斯分布的均值和方差确定针对所述文本片段的全局隐向量。
[0169] 在一种实施方式中,所述第二确定模块650,递归地确定所述文本片段中分词的解码隐向量时,包括:
[0170] 通过所述第一递归神经网络,针对所述文本片段中首分词和尾分词之外的每个中间分词,基于上一分词的解码隐向量确定该中间分词的解码隐向量,其中,第一个中间分词的上一分词的解码隐向量为所述全局隐向量。
[0171] 在一种实施方式中,所述第一递归神经网络包括双向递归神经网络;所述第一确定模块630,具体配置为:
[0172] 采用第一递归神经网络,以预设隐向量作为初始隐向量,按照序列的前向顺序,递归地确定所述第二样本序列中多个分词的第一隐向量,按照序列的后向顺序,递归地确定所述第二样本序列中多个分词的第二隐向量;基于多个所述第一隐向量,确定所述文本片段的第一表征向量,基于多个所述第二隐向量,确定所述文本片段的第二表征向量;
[0173] 所述第一构建模块640具体配置为:
[0174] 通过变分自编码器,基于所述第一表征向量构建第一高斯分布,基于所述第一高斯分布确定针对所述文本片段的第一全局隐向量,基于所述第二表征向量构建第二高斯分布,基于所述第二高斯分布确定针对所述文本片段的第二全局隐向量;
[0175] 所述第二确定模块650具体配置为:
[0176] 采用所述第一递归神经网络,以所述全局隐向量作为初始隐向量,按照序列的前向顺序,递归地确定所述文本片段中每个中间分词的第一解码隐向量,按照序列的后向顺序,递归地确定所述文本片段中每个中间分词的第二解码隐向量;并基于所述第一解码隐向量,确定所述文本片段中每个中间分词的第一预测值,基于所述第二解码隐向量,确定所述文本片段中每个中间分词的第二预测值;所述中间分词为所述文本片段中首分词和尾分词之外的分词;
[0177] 所述第一更新模块660,确定预测损失值时,包括:
[0178] 基于所述文本片段中每个分词与其第一预测值的差异,以及基于所述第一高斯分布确定的第一分布差异,确定第一损失值;基于所述文本片段中每个分词与其第二预测值的差异,以及基于所述第二高斯分布确定的第二分布差异,确定第二损失值;基于所述第一损失值和第二损失值的和,确定预测损失值。
[0179] 在一种实施方式中,所述第一递归神经网络包括循环神经网络RNN或长短期记忆LSTM。
[0180] 图7为实施例提供的一种使用模型对命名实体识别的装置的示意性框图。该装置700部署在计算机中。该装置实施例与图5所示方法实施例相对应。该装置700包括:
[0181] 第二获取模块710,配置为,获取待识别的包含多个分词的第一分词序列,多个分词包含命名实体和非命名实体;
[0182] 第一输入模块720,配置为,将所述第一分词序列输入训练好的第一递归神经网络,得到所述第一分词序列中多个分词的隐向量;所述第一递归神经网络采用图2所示方法训练得到;
[0183] 第三确定模块730,配置为,基于所述第一分词序列的每个分词的隐向量,确定所述第一分词序列的每个分词在多个预设标签上的分布概率;
[0184] 第四确定模块740,配置为,基于所述第一分词序列的每个分词的分布概率,确定每个分词对应的预设标签。
[0185] 上述装置实施例与方法实施例相对应,具体说明可以参见方法实施例部分的描述,此处不再赘述。装置实施例是基于对应的方法实施例得到,与对应的方法实施例具有同样的技术效果,具体说明可参见对应的方法实施例。
[0186] 本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行图1至图5任一项所述的方法。
[0187] 本说明书实施例还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现图1至图5任一项所述的方法。
[0188] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于存储介质和计算设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
[0189] 本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
[0190] 以上所述的具体实施方式,对本发明实施例的目的、技术方案和有益效果进行了进一步的详细说明。所应理解的是,以上所述仅为本发明实施例的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。