用于实体标注的方法和装置与流程

文档序号:27759313发布日期:2021-12-03 23:13阅读:204来源:国知局
用于实体标注的方法和装置与流程

1.本技术涉及人工智能(artificial intelligence,ai)领域,并且更具体地涉及ai领域中的用于实体标注的方法和装置。


背景技术:

2.命名实体识别(named entity recognition,ner)是自然语言处理(natural language processing,nlp)中的一项基础任务。ner能够识别人名、地名、组织机构名、日期时间等类别的实体,从而可以利用识别的实体进行信息抽取、信息检索、句法分析、语义角色标注等。
3.在ner中可以将输入语句输入序列标注模型,从而输出各个词语的标签。在现有技术中,利用特定语料训练的序列标注模型,只能适用于特定的输入语句,例如,训练序列标注模型的样本集的训练语句包括电影语料,则输入序列标注模型进行预测的输入语句需要包括电影,则才能预测标签,如果输入语句包括电影和电视剧,则只能预测电影不能预测电视剧。如果有多种不同语料的多个输入语句,则需要训练不同语料或不同语料组合的多个序列标注模型,则会导致复杂度高。并且为了预测输入语句的标签需要并发运行多个序列标注模型,在多个序列标注模型中匹配适合输入语句的序列标注模型,导致计算量大,复杂度高。


技术实现要素:

4.本技术实施例提供了一种用于实体标注的方法和装置,能够降低复杂度,有助于提高实体标注的性能。
5.第一方面,提供了一种用于实体标注的方法,方法可由处理器或者处理模模块执行,方法包括:确定n个样本集的n个掩码向量,n个样本集与n个掩码向量一一对应,n个样本集中不同样本集对应的实体语料不同,n个样本集中每个样本集包括至少一个实体语料的多个样本,n个掩码向量中每个掩码向量的m个维度对应m个命名实体,m和n为正整数;
6.根据n个样本集中每个样本集中的部分样本和n个掩码向量更新第一序列标注模型,得到第二序列标注模型,第二序列标注模型用于实体标注。
7.在上述技术方案中,一个样本集对应一个掩码向量,不同样本集对应的实体语料不同,换句话说,不同语料的样本集掩码向量不同,处理器可以结合n个样本集对应的n个掩码向量更新第一序列标注模型。由于每个掩码向量的m个维度对应m个命名实体,这样每个掩码向量能够体现关注部分命名实体,不关注剩余部分命名实体,这样,可以在一次更新序列标注模型中,处理器可以调整部分命名实体对应的参数,不调整剩余部分命名实体对应的参数,经过一次或多次更新后,第二序列标注模型可以预测不同语料的预测语句,避免需要为m个样本集训练m个不同的实体标注模型,能够降低复杂度,有助于提高实体标注的性能。
8.可选地,n个掩码向量用于掩码根据n个样本集得到的多个损失向量,掩码后的多
个损失向量用于更新第一序列标注模型。可选地,处理器将n个样本集每个样本集的训练语句的词语输入到更新前的第一序列标注模型得到每个词语的权重向量,处理器根据将每个词语的权重向量和每个词语的实际标签输入到损失函数中,得到多个损失向量。
9.n个样本集中不同样本集对应的实体语料不同可以理解为:n个样本集中不同样本集对应的实体语料不完全相同。具体地,上述n个样本集中第一样本集对应第一实体语料,第二样本集对应第二实体语料,第一实体语料与第二实体语料完全不同,或者,第一实体语料与第二实体语料可以存在部分语料相同。换句话说,n个样本集中不同样本集对应的实体语料完全不同或者部分相同部分不同。
10.上述n个样本集中不同样本集对应的实体语料的数量相同语料种类不同(存在至少一个语料的种类不同),或者,不同样本集对应的实体语料的数量不同语料种类存在至少一个相同,或者不同样本集对应的实体语料的数量不同语料种类也不同。
11.上述n个样本集中一个样本集中包括至少一个实体语料的训练语句,同一样本集中包括的不同训练语句对应相同的实体语料。
12.上述n个掩码向量中每个掩码向量的维度相同,都为m维向量。
13.上述n个掩码向量中每个掩码向量的一个维度对应一个命名实体,m维的掩码向量与m个命名实体一一对应,n个掩码向量共对应m个命名实体。
14.不同的实体语料包括不同的命名实体,例如,第一实体语料包括第一命名实体,第二实体语料包括第二命名实体,第一命名实体与第二命名实体不完全相同。
15.可选地,每个掩码向量由0和1组成。
16.需要说明的是,上述方案中可以更新一次或多次第一序列标注模型,每更新完一次第一序列标注模型之后,更新完的可以继续称之为第一序列标注模型,这样经过一次或多次更新之后,可以得到第二序列标注模型。
17.上述n个样本集中每个样本集由测试集和训练集组成,训练集中的样本用于更新第一序列标注模型,测试集中的样本用于测试第二序列标注模型的稳定性。每个样本集的中样本是包括实体词的语句,在测试集中的样本可以称为测试语句,在训练集中的样本可以称为训练语句。
18.在一些可能的实现方式中,根据n个样本集中每个样本集中的部分样本和n个掩码向量更新第一序列标注模型,包括:
19.将n个样本集中的第一样本集中的第一样本中的第一词语输入到第一序列标注模型中,输出第一词语的权重向量;
20.将第一词语的实际标签向量与权重向量输入到损失函数中,计算第一词语的损失向量;
21.将损失向量和第一样本集对应的第一掩码向量相乘,得到掩码后的损失向量;根据掩码后的损失向量更新第一序列标注模型;
22.其中,权重向量、实际标签向量和损失向量的维度为m。
23.在上述方案中,在更新第一序列标注模型时,以第一词语为例,可以将第一词语输入第一序列标注模型,得到第一词语的权重向量,权重向量在一定程度上能体现第一词语被标记为哪个标签的可能性,利用权重向量与第一词语的实际标签向量计算损失向量,并利用第一掩码向量掩码损失向量,这样,在利用掩码后的损失向量更新第一序列标注模型
时,只调整掩码向量非零位置对应的命名实体的参数,不调整掩码向量零位置对应的命名实体的参数,从而可以使得更新后的第一序列标注模型更接近于掩码向量非零位置对应的命名实体的序列标注模型,从而可以提高第二序列标注模型的准确性。
24.上述第一词语的权重向量的维度、第一词语的实际标签向量的维度、损失向量的维度、每个掩码向量的维度和掩码后的损失向量的维度相同。
25.可选地,上述的损失函数为交叉熵(cross-entropy)函数。
26.需要理解的是,在本技术中,两个向量相乘可以为点乘运算,点乘运算为两个向量对应元素相乘。
27.在一些可能的实现方式中,第一词语为第一样本中的实体词,而不是非实体词,这样,可以提高更新第一序列标注模型的效率。
28.在一些可能的实现方式中,方法还包括:根据n个样本集中每个样本集中的剩余样本测试第二序列标注模型的稳定性。
29.具体地,每个样本集中的部分样本可以用于训练第一序列标注模型,得到第二序列标注模型,这样,可以利用每个样本集中的部分样本更新第一序列标注模型,利用每个样本集中的剩余样本测试第二序列标注模型的稳定性。
30.在一些可能的实现方式中,方法还包括:将预测语句中的第二实体词输入到第二序列标注模型,输出预测向量;
31.根据预测向量确定第二实体词的至少一个标签,预测语句为包括n个样本集中任一样本集对应的实体语料的语句;
32.其中,预测向量的维度为m。
33.在一些可能的实现方式中,根据预测标签向量确定第二实体词的至少一个标签,包括:确定预测向量每个维度的取值是否大于预设值;则将预测向量中取值大于预设值的维度对应的命名实体标签确定为第二实体词的至少一个标签。
34.在上述方案中,可以利用第二序列标注模型预测第二实体词的标签,可以根据第二序列标注模型输出的预测向量中每个元素的取值是否大于预设值,为第二实体词标记一个或多个标签,这样,本技术实施例中可以为一个实体词标记一个以上的标签。
35.在一些可能的实现方式中,确定n个样本集的n个掩码向量,包括:确定n个掩码向量中每个掩码向量的维度为n个样本集对应的实体语料种类的总数量;根据n个样本集中每个样本集对应的实体语料确定n个掩码向量每个掩码向量对应的取值。
36.第二方面,提供了一种用于实体标注方法,包括:将预测语句中的第二实体词输入到第二序列标注模型,输出预测向量;根据预测向量确定第二实体词的至少一个标签。
37.上述第二序列标注模型是根据n个样本集中每个样本集中的部分样本和n个掩码向量更新第一序列标注模型之后得到的。
38.在一些可能的实现方式中,根据预测标签向量确定第二实体词的至少一个标签,包括:确定预测向量每个维度的取值是否大于预设值;则将预测向量中取值大于预设值的维度对应的命名实体标签确定为第二实体词的至少一个标签。
39.第三方面,提供了一种用于实体标注的装置,所述装置用于执行上述第一方面或第一方面的任一可能的实现方式中的方法。具体地,所述装置可以包括用于执行第一方面或第一方面的任一可能的实现方式中的方法的模块。
40.第四方面,提供一种用于实体标注的装置,所述装置用于执行上述第二方面或第二方面的任一可能的实现方式中的方法。具体地,所述装置可以包括用于执行第二方面或第二方面的任一可能的实现方式中的方法的模块。
41.第五方面,提供一种用于实体标注的装置,所述装置包括处理器,处理器与存储器耦合,存储器用于存储计算机程序或指令,处理器用于执行存储器存储的计算机程序或指令,使得第一方面中的方法被执行。
42.例如,处理器用于执行存储器存储的计算机程序或指令,使得该装置执行第一方面中的方法。
43.可选地,该装置包括的处理器为一个或多个。
44.可选地,该装置中还可以包括与处理器耦合的存储器。
45.可选地,该装置包括的存储器可以为一个或多个。
46.可选地,该存储器可以与该处理器集成在一起,或者分离设置。
47.可选地,该装置中还可以包括收发器。
48.第六方面,提供一种用于实体标注的装置,所述装置包括处理器,处理器与存储器耦合,存储器用于存储计算机程序或指令,处理器用于执行存储器存储的计算机程序或指令,使得第二方面中的方法被执行。
49.例如,处理器用于执行存储器存储的计算机程序或指令,使得该装置执行第二方面中的方法。
50.可选地,该装置包括的处理器为一个或多个。
51.可选地,该装置中还可以包括与处理器耦合的存储器。
52.可选地,该装置包括的存储器可以为一个或多个。
53.可选地,该存储器可以与该处理器集成在一起,或者分离设置。
54.可选地,该装置中还可以包括收发器。
55.第七方面,提供一种计算机可读存储介质,其上存储有用于实现第一方面中的方法的计算机程序(也可称为指令或代码)。
56.例如,该计算机程序被计算机执行时,使得该计算机可以执行第一方面中的方法。
57.第八方面,提供一种计算机可读存储介质,其上存储有用于实现第一方面或者第二方面中的方法的计算机程序(也可称为指令或代码)。
58.例如,该计算机程序被计算机执行时,使得该计算机可以执行第二方面中的方法。
59.第九方面,本技术提供一种芯片,包括处理器。处理器用于读取并执行存储器中存储的计算机程序,以执行第一方面及其任意可能的实现方式中的方法。
60.可选地,所述芯片还包括存储器,存储器与处理器通过电路或电线与存储器连接。
61.进一步可选地,所述芯片还包括通信接口。
62.第十方面,本技术提供一种芯片系统,包括处理器。处理器用于读取并执行存储器中存储的计算机程序,以执行第二方面及其任意可能的实现方式中的方法。
63.可选地,所述芯片还包括存储器,存储器与处理器通过电路或电线与存储器连接。
64.进一步可选地,所述芯片还包括通信接口。
65.第十一方面,本技术提供一种计算机程序产品,所述计算机程序产品包括计算机程序(也可称为指令或代码),所述计算机程序被计算机执行时使得所述计算机实现第一方
面中的方法。
66.第十二方面,本技术提供一种计算机程序产品,所述计算机程序产品包括计算机程序(也可称为指令或代码),所述计算机程序被计算机执行时使得所述计算机实现第二方面中的方法。
附图说明
67.图1是本技术实施例提供的用于实体标注的方法示意图。
68.图2是本技术实施例提供的得到第二序列标注模型的方法示意图。
69.图3是本技术实施例提供的更新第一序列标注模型的示例示意图。
70.图4是本技术实施例提供的另一更新第一序列标注模型的示例示意图。
71.图5是本技术实施例提供的利用第二序列标注模型进行预测的示意图。
72.图6是本技术实施例提供的利用第二序列标注模型进行预测的示例示意图。
73.图7是本技术实施例提供的可能的应用场景示意图。
74.图8是本技术实施例提供的用于实体标注的装置的示意性框图。
75.图9是本技术实施例提供的另一用于实体标注的装置的示意性框图。
具体实施方式
76.本技术提供的实施例可以应用于ai领域中的ai业务,ai业务涉及语音助手、字幕生成、语音输入、聊天机器人、客户机器人或口语评测,当然,在实际应用中,还可以包括其他的ai业务,本技术实施例对此不作限定。
77.下面对本技术实施例用到的术语进行解释。
78.1、样本集,一个样本集由测试集和训练集组成,测试集中的样本为测试样本,测试样本也可以称为测试语句;训练集中的样本为训练样本,训练样本也可以称为训练语句。每个样本集中的样本包括相同的语料,换句话说,一个样本集中的样本由包括相同语料的测试语句和训练语句组成。例如,样本集1的每个样本包括电影实体,以样本集1包括3个样本为例,3个样本分别为:我要看“三国演义”,给我播放“少年的你”,请打开“唐山大地震”;又例如,样本集2的至少部分样本可以包括电影和电视剧实体,剩余部分样本可以包括电影或电视剧,以样本集2包括3个训练语句为例,3个训练语句分别为:给我播放“哪吒”(哪吒是电影)和“三生三世”(三生三世是电视剧),我要看“三国演义”(这里三国演义可能是电影也可能是电视剧),“给我播放哪吒”(哪吒是电影)。
79.2、序列标注模型,可以为长短期记忆网络(long short-term memory,lstm)-条件随机场(conditional random field,crf)模型。lstm适合序列建模问题,lstm叠加crf之后有利于路径规划。序列标注模型还可以是序列对序列(sequence to sequence,seq2seq)或者转换(transformer)模型。
80.3、掩码向量,由0和1组成的向量,掩码向量的一个维度对应一个命名实体,一个维度的取值为1表示关注该命名实体,一个维度的取值为0表示不关注该命名实体。
81.现有技术中,利用特定语料训练的序列标注模型,只能适用于特定的输入语句,例如,训练序列标注模型的样本集的为上述的样本集2,则输入序列标注模型进行预测的输入语句也需要包括电影和/或电视剧,换句话说,输入序列标注模型进行预测的输入语句的实
体需要是样本集2包括的训练语句和测试语句的实体的子集,才能满足预测的准确性。又例如,训练序列标注模型的样本集为上述的样本集1,则输入序列标注模型进行预测的输入语句需要包括电影,则才能预测标签,如果输入语句包括电影和电视剧,则只能预测电影不能预测电视剧,例如,预测输入语句为“我要看三国演义”,则只能给“三国演义”输出电影标签,“三国演义”有可能是电视剧,则无法输出电视剧标签,因此会导致实体标注不准确。如果需要预测多种语料的多个输入语句,则需要训练不同语料或不同语料组合的多个序列标注模型,则会导致复杂度高。并且为了预测输入语句的标签需要并发多个序列标注模型,在多个序列标注模型中匹配适合输入语句的序列标注模型,导致计算量大,复杂度高。
82.下面结合附图描述本技术实施例提供的用于实体标注的方法100,方法100可以由处理器执行,方法100包括:
83.s110,处理器确定n个样本集的n个掩码向量,n个样本集与n个掩码向量一一对应,n个样本集中不同样本集对应的实体语料不同,n个样本集中每个样本集包括至少一个实体语料的多个样本,n个掩码向量中每个掩码向量的m个维度对应m个命名实体,m和n为正整数。
84.其中,n个样本集中不同样本集对应的实体语料不同可以理解为:不同样本集对应的实体语料不完全相同。具体地,n个样本集中不同样本集对应的部分实体语料相同部分实体语料不同,或者,n个样本集中不同样本集对应的实体语料完全不同。
85.可以理解的是,上述n个掩码向量每个掩码向量的维度都是m,掩码向量的一个维度对应一个命名实体,m维的掩码向量与m个命名实体一一对应,n个掩码向量共对应m个命名实体。
86.可选地,n个样本集中,不同样本集包括至少一个相同的训练语句和/或测试语句,或者不同样本集的包括的每个训练语句和/或每个测试语句不同,本技术实施例不予限制。
87.为了更好的说明n个样本集、m维的n个掩码向量。下面举例描述,假设n=6,即6个样本集(样本集1、样本集2、样本集3、样本集4、样本集5和样本集6)对应6个掩码向量,样本集1对应电影语料、样本集2对应电视剧语料、样本集3对应综艺语料,样本集4对应动漫语料,样本集5对应电影和电视剧语料,样本集6对应电视剧和综艺语料。则6个样本集共包括4种类型的语料,因此掩码向量的维度是4,即m=4,4个维度分别对应电影、电视剧、动漫和综艺4个命名实体,具体地,可以规定掩码向量的维度与命名实体之间的对应关系,例如,每个掩码向量的第一个维度对应电影,第二维度对应电视剧,第三个维度对应综艺,第四个维度对应动漫,这样,6个样本集对应的6个掩码向量分别为[1 0 0 0]、[0 1 0 0]、[0 0 1 0]、[0 0 0 1]、[1 1 0 0]、[0 1 1 0]。
[0088]
需要说明的是,m和n具有以下关系,n是小于或等于的值,结合上述的例子,若m=4,则n是小于或等于16的正整数。其中,中的1表示掩码向量可以为[0 0 0 0],表示对任何一个维度的命名实体都不进行掩码处理;中的表示掩码向量可以为[1 0 0 0]、[0 1 0 0]、[0 0 1 0]和[0 0 0 1];中的表示掩码向量可以为[1 1 0 0]、[0 1 1 0]、[1 0 1 0]、[1 0 0 1]、[01 0 1]和[0 0 1 1];中的表示掩码向量可以为
[1 1 1 0]、[0 1 1 1]、[1 0 11]和[1 1 0 1];中的表示掩码向量可以为[1 1 1 1]。
[0089]
s120,处理器根据n个样本集中每个样本集中的部分样本和n个掩码向量更新第一序列标注模型,得到第二序列标注模型,第二序列标注模型用于实体标注。
[0090]
在方法100中,一个样本集对应一个掩码向量,不同样本集对应的实体语料不同,换句话说,不同语料的样本集掩码向量不同,处理器可以结合n个样本集对应的n个掩码向量更新第一序列标注模型。由于每个掩码向量的m个维度对应m个命名实体,这样每个掩码向量能够体现关注部分命名实体,不关注剩余部分命名实体,这样,可以在一次更新序列标注模型中,处理器可以调整部分命名实体对应的参数,不调整剩余部分命名实体对应的参数,经过一次或多次更新后,第二序列标注模型可以预测不同语料的输入语句,避免需要为m个样本集训练m个不同的实体标注模型,能够降低复杂度,有助于提高实体标注的性能。
[0091]
为了更好的理解上述方法100,下面结合图2的方法200具体描述如何得到第二序列标注模型,方法200由方法100中的处理器执行。
[0092]
s210,处理器获取n个样本集。
[0093]
具体地,在s210之前,人工需要收集包括实体语料的多个训练语句和多个测试语句,并对多个训练语句和多个测试语句进行人工标注,人工标注分为单个命名实体标注和多个命名实体混标,将标注后的训练语句按照命名实体标签或者语料进行分类得到n个样本集,并输入到处理器中。
[0094]
n个样本集中每个样本集包括的训练语句和测试语句中的实体词都存在对应的实际标签。
[0095]
示例性地,若一个训练语句为“我想看哪吒和三生三世”,则可以将哪吒标注为电影标签,三生三世标注为电视剧标签,这种方式为多个命名实体混标的方式,即一个训练语句可以标注至少两个以上的标签。如果训练语句还是“我想看哪吒和三生三世”,则可以将“哪吒”标注为电影标签,三生三世不标注,或者,将“三生三世”标注为电视剧,哪吒不标注,这种方式为单个命名实体标注的方式;这样,不同语料(电影语料、电视剧语料、电影+电视剧语料)的样本集中都可以包括“我想看哪吒和三生三世”这个训练语句。
[0096]
s220,处理器确定n个样本集对应的n个掩码向量,s220等同于s110。其中,n个样本集与n个掩码向量一一对应。
[0097]
具体地,处理器根据n个样本集中每个样本集的包括的命名实体确定每个掩码向量的维度和取值,具体地确定方式参见s110的描述。
[0098]
需要说明的是,一个样本集对应一个掩码向量可以理解为一个样本集中的多个样本对应一个掩码向量。
[0099]
每个训练语句中的词语的也存在实际标签向量,实际标签向量与掩码向量的维度相同,结合s110中的例子,掩码向量的维度是4,实际标签向量的维度也是4,实际标签向量的第一个维度对应电影,第二个维度对应电视剧,第三个维度对应综艺,第四个维度对应动漫,则对于“我要看哪吒”这个训练语句中的“哪吒”的实际标签向量为[1 0 0 0],对于“我要看三国演义”这个训练语句中的“三国演义”的实际标签向量为[1 1 0 0],即三国演义可能为电影也可能为电视剧。
[0100]
s230,确定第一序列标注模型,例如,初始的第一序列标注模型可以是lstm-crf模
型。
[0101]
需要说明的是,s220与s230的顺序不限定,s220可以在s230之前或者之后或者同时进行。
[0102]
下面以n个样本集中的第一样本集中的第一样本(第一样本为训练语句)中的第一词语为例描述,其他样本集中的样本中的词语与第一词语类似,为了避免赘述,不详细举例。
[0103]
需要说明的是,第一序列标注模型被处理器更新一次,则更新后的第一序列标注模型也可以称为第一序列标注模型。
[0104]
s240,处理器将n个样本集中的第一样本集中的第一样本中的第一词语输入到第一序列标注模型中,输出第一词语的权重向量。
[0105]
可以理解的是,第一词语的权重向量的物理意义为:第一词语为各个命名实体标签的权重,权重向量的某一维度越大,则表示第一词语为该维度对应的命名实体标签的可能性越大。
[0106]
需要说明的是,本技术实施例中,第一掩码向量,第一词语的实际标签向量以及第一词语的权重向量的维度相同,且每个向量的同一维度对应的命名实体相同,例如,结合s110的例子,第一掩码向量、第一词语的实际标签向量以及第一词语的权重向量的第一维度对应电影,第二维度对应电视剧,第三个维度对应综艺,第四个维度对应动漫。
[0107]
可选地,第一词语为第一训练语句中的实体词,当然也可以是非实体词,本技术实施例不予限定。
[0108]
s250,处理器将第一词语的实际标签向量和权重向量输入到损失函数中,计算第一词语的损失向量。
[0109]
例如,损失函数为交叉熵(cross entropy)函数。
[0110]
需要说明的是,s250中,处理器需要将第一词语的实际标签向量与权重向量进行比较,确定第一序列模型输出的权重向量与第一词语的实际标签向量的偏离程度。
[0111]
s260,处理器将第一词语的损失向量与第一样本集对应的第一掩码向量相乘,得到掩码后的损失向量。掩码后的损失向量用于更新第一序列标注模型,因此,执行s230。
[0112]
在s260中,第一样本集对应的第一掩码向量只关注非零部分对应的命名实体,处理器将第一掩码向量与第一词语的损失向量相乘之后,处理器在利用得到的掩码后的损失向量更新或调整第一序列标注模型时,只关注第一掩码向量的非零部分对应的命名实体,不关注零对应的命名实体,换句话说,从而处理器在调整第一序列标注模型的部分命名实体对应的参数时不会影响其他命名实体的参数,这样可以保证调整后的第一序列标注模型能够满足不同语料的输入语句。
[0113]
上述s230-s260为第一样本集中的第一训练语句中的第一词语的执行过程,任何一个样本集中的任何一个训练语句中的任何一个词语的也可以执行与s230-s260类似的过程,为了避免赘述本技术实施例不详细描述。仅分以下两种情况讨论处理器按照何种时序利用每个样本集的多个训练语句更新第一序列标注模型:
[0114]
情况一,处理器将每个样本集中的部分样本分批输入到第一序列标注模型中,第一序列标注模型可以同时被更新多次。举例来说,n=3,每个样本集包括100个样本,每个样本集的其中70个样本为训练样本,70个训练样本用于更新第一序列标注模型(每个样本集
中的剩余30个样本为测试样本,30个测试样本用于测试第二序列标注模型的稳定性),将每个样本集的其中70个训练样本分7批输入到第一序列标注模型中,例如,第一批训练样本分别包括3个训练样本集中每个训练样本集中的10个训练样本,如处理器根据一个训练样本集的一个训练样本可以更新一次第一序列标注模型,以一个训练样本包括一个实体词为例,则在第一个时间点,处理器可以将3个训练样本集中的3个训练样本按照s240-s260同时分别更新一次第一序列标注模型;在第二个时间点,处理器可以将3个训练样本集中的另外3个训练样本按照s240-s260同时分别更新一次第一序列标注模型;依次类推,在第10个时间点,处理器可以将3个训练样本集中的最后3个训练样本按照s240-s260同时分别更新一次第一序列标注模型,完成利用第一批训练样本更新第一序列标注模型的过程;依次类推,将3个训练样本集中每个训练样本集中的60个训练样本输入到第一序列标注模型中,得到更新后的第一序列标注模型。这个例子只是为了更好的说明更新第一序列标注模型的过程,上述描述的是处理器根据一个训练样本集的一个训练样本中的一个词语可以更新一次第一序列标注模型,也可以根据一个样本集中的多个训练样本中的多个词语更新一次第一序列标注模型。
[0115]
情况二,处理器将n个样本集中每个样本集包括的训练样本全部混合在一起,然后将混合后的训练样本分批输入到第一序列标注模型中,每个训练样本执行一次s240-s260,则可以分批更新第一序列标注模型,其中,每个训练样本存在对应的掩码向量。
[0116]
为了更好的说明方法200,下面结合图3进行举例说明,如图3所示,电影语料的样本集包括“我要看三国演义”的训练样本,电影语料的样本集对应的掩码向量为[1 0 0 0]。处理器将“我要看三国演义”的词语分别输入到第一序列标注模型中,其中,“我”“要”“看”为非实体词图中以“o”标记,处理器将“三国演义”输入第一序列标注模型,即此步骤为上述的s240,例如对于“三国演义”输出的权重向量p为[0.5 0.4 0 0.1],权重向量的第一维度对应电影,第二维度对应电视剧,第三个维度对应综艺,第四个维度对应动漫,即“三国演义”可能为电影的概率为0.5,可能为电视剧的概率为0.4,可能为综艺的概率为0,可能为动漫的概率为0.1,此时权重向量的各个维度的值加起来等于1。在电影语料中“三国演义”的实际标签向量y为[1 0 0 0],例如损失函数为-(y
i log(p
i
)+(1-y
i
)log(1-p
i
)),其中y
i
为y对应维度的取值,p
i
为p对应维度的取值,i的取值为1,2,3,4。则处理器根据p和y计算得到的损失向量为[0.3 0.2 0 0.04],处理器利用掩码向量[1 0 0 0]与损失向量[0.3 0.2 0 0.04]相乘,得到掩码后的损失向量[0.3 0 0 0],然后将掩码后的损失向量[0.3 0 0 0]反馈到第一序列标注模型中,利用掩码后的损失向量[0.3 0 0 0]只调整第一序列标注模型关于电影那部分的参数,其他参数保留不变。其中,两个向量相乘也可以为点乘运算,即两个向量相应位置相乘。
[0117]
为了更好的说明方法200,下面结合图4进行举例说明,如图4所示,电影+电视剧语料的样本集包括“我要看三国演义”的训练样本,电影语料+电视剧的样本集对应的掩码向量为[1 1 0 0]。处理器将“我要看三国演义”的词语分别输入到第一序列标注模型中,其中,“我”“要”“看”为非实体词图中以“o”标记,处理器将“三国演义”输入第一序列标注模型,即此步骤为上述的s240,例如对于“三国演义”输出的权重向量p为[0.5 0.4 0 0.1],权重向量的第一维度对应电影,第二维度对应电视剧,第三个维度对应综艺,第四个维度对应动漫,即“三国演义”可能为电影的概率为0.5,可能为电视剧的概率为0.4,可能为综艺的概
率为0,可能为动漫的概率为0.1,此时权重向量的各个维度的值加起来等于1。在电影语料中“三国演义”的实际标签向量y为[1 1 0 0],即三国演义有可能是电视剧也可以可能是电影。例如损失函数为-(y
i log(p
i
)+(1-y
i
)log(1-p
i
)),其中y
i
为y对应维度的取值,p
i
为p对应维度的取值,i的取值为1,2,3,4。则处理器根据p和y计算得到的损失向量为[0.3 0.2 0 0.04],处理器利用掩码向量[1 1 0 0]与损失向量[0.3 0.2 0 0.04]相乘,得到掩码后的损失向量[0.3 0.2 00],然后将掩码后的损失向量[0.3 0.2 0 0]反馈到第一序列标注模型中,利用掩码后的损失向量[0.3 0 0 0]只调整第一序列标注模型关于电影和电视剧那部分的参数,其他参数保留不变。其中,两个向量相乘也可以为点乘运算,即两个向量相应位置相乘。
[0118]
可以理解的是,在一定程度上,一个样本集对应的掩码向量与该样本集中训练样本中的词语的实际标签向量相等,例如,图3中,电影样本集对应的掩码向量和训练样本对应的实际标签向量都为[1 0 0 0];又例如,图4中,电影+电视剧样本集对应的掩码向量和训练样本对应的实际标签向量都为[1 1 0 0]。
[0119]
上述图2-图4中描述的是利用n个样本集中每个样本集中的部分样本(部分样本也称为训练样本)更新第一序列标注模型,得到第二序列标注模型,当得到第二序列标注模型时,处理器可以利用n个每个样本集中的剩余部分样本(剩余样本也可以称为测试样本)可以测试第二序列标注模型的稳定性。例如,将每个样本集的剩余部分样本输入第二序列标注模型,第二序列标注模型输出每个样本的每个词语的权重向量,根据权重向量确定每个词语的命名实体标签,根据每个词语的命名实体标签与实际标签比较,如果一致,则合格的样本数量加一,否则不合格的样本数量加一,依次类推,直到处理器将剩余部分样本输入第二序列标注模型之后,确定样本的合格率,合格率为合格的样本数/总的样本数,如果合格率满足阈值,则表示第二序列标注模型稳定,否则第二序列标注模型不稳定,继续执行上述图1-图2的方法。继续执行上述图1-图2的方法可以是:将第一序列标注模型更新为测试后的第二序列标注模型,重新采集样本集,继续执行图1或图2所示的方法,也可以是:重新确定一个与第二序列标注模型无关的第一序列标注模型,重新采集样本集,继续执行图1或图2所示的方法,直到得到的第二序列标注模型稳定。
[0120]
经过上述过程中,得到的第二序列标注模型稳定之后,可以利用第二序列标注模型进行预测,具体预测过程如图5所示,图5由处理器执行,方法500包括:
[0121]
s510,处理器将预测语句中的第二实体词输入到第二序列标注模型,输出预测向量。
[0122]
s520,处理器根据预测向量确定第二实体词的至少一个标签,预测语句为包括n个样本集中任一样本集对应的实体语料的语句。其中,预测向量的维度为m。
[0123]
可选地,s520,包括:将预测向量中取值大于预设值的维度对应的命名实体标签确定为第二实体词的至少一个标签。例如,预设值为0.5,如图6所示,将“我要看三国演义”输入第二序列标注模型,其中,“我”“要”“看”为非实体词图,对于“三国演义”输出的预测向量为[0.7 0.6 0 1],预测向量第一个维度和第二维度都大于0.5,第一个维度对应电影,第二维度对应电视剧,则“三国演义”的命名实体标签为电影和电视剧。
[0124]
需要说明的是,预测向量的各个维度的值加起来可能等于1也可能不等于1,例如可能大于1,本技术实施例对此不作限制。
[0125]
下面结合图7描述本技术实施例中的一个可能的语音助手的场景,由图7的各个模块协调完成,上述方法实施例中处理器可以包括自然语言理解(natural language understand,nlu)模块,如图7所示,由自动语音识别(automatic speech recognition,asr)模块、对话管理(dialog manager,dm)模块、自然语言理解(natural language understand,nlu)模块和文本转语音(text to speech,tts)模块执行方法700。具体地,方法700包括以下步骤:
[0126]
s701,asr模块接收用户说法。
[0127]
s702,asr模块将用户说话转化为文本信息。
[0128]
s703,asr模块将文本信息发送给dm模块。
[0129]
s704,dm模块结合该文本信息的上下文,确定该文本信息对应的上下文信息。
[0130]
需要说明是,s701中的用户说法为一次语言表达,在该次语言表达之前用户还可能说过与此次对话相关的其他的说法,这样,用户其他的说法即为上下文信息。
[0131]
s705,dm模块将上下文信息以及文本信息发送给nlu模块。
[0132]
此时的文本信息也可以称为预测的输入语句。
[0133]
s706,nlu模块将文本信息输入第二序列标注模型中,结合上下文信息确定文本信息对应的意图信息和槽位信息。
[0134]
需要说明的是,s706即为与本技术上述实施例相关利用第二序列标注模型预测输入语句中的实体词的命名实体标签,根据命名实体标签确定文本信息对应的意图信息和槽位信息。
[0135]
s707,nlu模块将意图信息和槽位信息发送给dm模块。
[0136]
s708,dm模块根据意图信息和槽位信息调用tts模块中的语音结果。
[0137]
s709,tts模块根据语音结果向用户进行语音播放。
[0138]
为了更好的理解方法700,举例来说,s701中用户会说“我想查询明天的天气”,s704中确定文本信息的上下信息,例如,在用户说“我想查询明天的天气”之前,用户还说了“我想查询北京的天气”,这样,s706中,nlu模块根据这两句话就知道用户的意图是查询天气,槽位是查询北京明天的天气,s708中,语音结果是查询到的北京明天的天气情况,s709,tts执行播放北京明天的天气情况。
[0139]
需要说明的是,图7所示的各个模块的逻辑划分只是为了更好的理解场景,在实际应用中,不限定是上述模块,还可以是其他的划分方式,本技术实施例不予限定。此外,图7仅示出了一个可能的应用场景,本技术实施例还可以应用到其他的应用场景,例如电视语音助手的播放视频等。
[0140]
也需要说明的是,本技术实施例的举例都是以样本集中的样本是中文描述,本技术实施例还可以应用到任何一种可能的语言,例如,英文、法文或德文等等,本技术不予限制。
[0141]
本文中描述的各个实施例可以为独立的方案,也可以根据内在逻辑进行组合,这些方案都落入本技术的保护范围中。
[0142]
可以理解的是,上述各个方法实施例中由电子设备实现的方法和操作,也可以由可用于电子设备的部件(例如芯片或者电路)实现。
[0143]
上文描述了本技术提供的方法实施例,下文将描述本技术提供的装置实施例。应
理解,装置实施例的描述与方法实施例的描述相互对应,因此,未详细描述的内容可以参见上文方法实施例,为了简洁,这里不再赘述。
[0144]
本领域技术人员应该可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本技术能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的保护范围。
[0145]
本技术实施例可以根据上述方法示例,对电子设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本技术实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有其它可行的划分方式。下面以采用对应各个功能划分各个功能模块为例进行说明。
[0146]
图8为本技术实施例提供的用于命名实体标注的装置800的示意性框图。该装置800包括确定单元810和更新单元820。确定单元810用于执行上文的实施例中处理器的确定相关的操作。更新单元820用于执行上文的实施例中处理器的更新相关的操作。
[0147]
确定单元810,用于确定n个样本集的n个掩码向量,n个样本集与n个掩码向量一一对应,n个样本集中不同样本集对应的实体语料不同,n个样本集中每个样本集包括至少一个实体语料的多个样本,n个掩码向量中每个掩码向量的m个维度对应m个命名实体,m和n为正整数;
[0148]
更新单元820,用于根据n个样本集中每个样本集中的部分样本和n个掩码向量更新第一序列标注模型,得到第二序列标注模型,第二序列标注模型用于实体标注。
[0149]
作为一个可选实施例,确定单元810具体用于:
[0150]
将n个样本集中的第一样本集中的第一样本中的第一词语输入到第一序列标注模型中,输出第一词语的权重向量;
[0151]
将第一词语的实际标签向量与权重向量输入到损失函数中,计算第一词语的损失向量;
[0152]
将损失向量和第一样本集对应的第一掩码向量相乘,得到掩码后的损失向量;
[0153]
根据掩码后的损失向量更新第一序列标注模型;
[0154]
其中,权重向量、实际标签向量和损失向量的维度为m。
[0155]
作为一个可选实施例,第一词语为第一样本中的实体词。
[0156]
作为一个可选实施例,损失函数为交叉熵函数。
[0157]
作为一个可选实施例,装置800还包括:测试单元,用于根据n个样本集中每个样本集中的剩余样本测试第二序列标注模型的稳定性。
[0158]
作为一个可选实施例,装置800还包括:输入输出单元,用于将预测语句中的第二实体词输入到第二序列标注模型,输出预测向量;确定单元还用于根据预测向量确定第二实体词的至少一个标签,预测语句为包括n个样本集中任一样本集对应的实体语料的语句,预测向量的维度为m。
[0159]
其中,输入输出单元可以与外部进行通信。输入输出单元还可以称为通信接口或
通信单元。
[0160]
作为一个可选实施例,确定单元810具体用于:确定预测向量每个维度的取值是否大于预设值;将预测向量中取值大于预设值的维度对应的命名实体标签确定为第二实体词的至少一个标签。
[0161]
作为一个可选实施例,确定单元810具体用于:确定n个掩码向量中每个掩码向量的维度为n个样本集对应的实体语料种类的总数量;
[0162]
根据n个样本集中每个样本集对应的实体语料确定n个掩码向量每个掩码向量对应的取值。
[0163]
图9是本技术实施例提供的用于命名实体标注的装置900的结构性示意性图。所述通信装置900包括:处理器910、存储器920、通信接口930、总线940。
[0164]
图9所示的装置900中的处理器910可以对应于图8中的装置800中的确定单元810和更新单元820。通信接口930可以对应于装置800中的输入输出单元。
[0165]
其中,该处理器910可以与存储器920连接。该存储器920可以用于存储该程序代码和数据。因此,该存储器920可以是处理器910内部的存储单元,也可以是与处理器910独立的外部存储单元,还可以是包括处理器910内部的存储单元和与处理器910独立的外部存储单元的部件。
[0166]
可选的,装置900还可以包括总线940。其中,存储器920、通信接口930可以通过总线940与处理器910连接。总线940可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。所述总线940可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。
[0167]
应理解,在本技术实施例中,该处理器910可以采用中央处理单元(central processing unit,cpu)。该处理器还可以是其它通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field programmable gate array,fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。或者该处理器910采用一个或多个集成电路,用于执行相关程序,以实现本技术实施例所提供的技术方案。
[0168]
该存储器920可以包括只读存储器和随机存取存储器,并向处理器910提供指令和数据。处理器910的一部分还可以包括非易失性随机存取存储器。例如,处理器910还可以存储设备类型的信息。
[0169]
在装置900运行时,所述处理器910执行所述存储器920中的计算机执行指令以通过所述装置900执行上述方法的操作步骤。
[0170]
应理解,根据本技术实施例的装置900可对应于本技术实施例中的装置800,并且装置800中的各个单元的上述和其它操作和/或功能分别为了实现方法的相应流程,为了简洁,在此不再赘述。
[0171]
可选地,在一些实施例中,本技术实施例还提供了一种计算机可读介质,所述计算机可读介质存储有程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述各方面中的方法。
[0172]
可选地,在一些实施例中,本技术实施例还提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述各方面中的方法。
[0173]
在本技术实施例中,终端设备或网络设备包括硬件层、运行在硬件层之上的操作系统层,以及运行在操作系统层上的应用层。其中,硬件层可以包括中央处理器(central processing unit,cpu)、内存管理单元(memory management unit,mmu)和内存(也称为主存)等硬件。操作系统层的操作系统可以是任意一种或多种通过进程(process)实现业务处理的计算机操作系统,例如,linux操作系统、unix操作系统、android操作系统、ios操作系统或windows操作系统等。应用层可以包含浏览器、通讯录、文字处理软件、即时通信软件等应用。
[0174]
本技术实施例并未对本技术实施例提供的方法的执行主体的具体结构进行特别限定,只要能够通过运行记录有本技术实施例提供的方法的代码的程序,以根据本技术实施例提供的方法进行通信即可。例如,本技术实施例提供的方法的执行主体可以是终端设备或网络设备,或者,是终端设备或网络设备中能够调用程序并执行程序的功能模块。
[0175]
本技术的各个方面或特征可以实现成方法、装置或使用标准编程和/或工程技术的制品。本文中使用的术语“制品”可以涵盖可从任何计算机可读器件、载体或介质访问的计算机程序。例如,计算机可读介质可以包括但不限于:磁存储器件(例如,硬盘、软盘或磁带等),光盘(例如,压缩盘(compact disc,cd)、数字通用盘(digital versatile disc,dvd)等),智能卡和闪存器件(例如,可擦写可编程只读存储器(erasable programmable read-only memory,eprom)、卡、棒或钥匙驱动器等)。
[0176]
本文描述的各种存储介质可代表用于存储信息的一个或多个设备和/或其它机器可读介质。术语“机器可读介质”可以包括但不限于:无线信道和能够存储、包含和/或承载指令和/或数据的各种其它介质。
[0177]
应理解,本技术实施例中提及的处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0178]
还应理解,本技术实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram)。例如,ram可以用作外部高速缓存。作为示例而非限定,ram可以包括如下多种形式:静态随机存取存储器(static ram,sram)、动态随机存取存储器(dynamic ram,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存
取存储器(direct rambus ram,dr ram)。
[0179]
需要说明的是,当处理器为通用处理器、dsp、asic、fpga或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)可以集成在处理器中。
[0180]
还需要说明的是,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
[0181]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的保护范围。
[0182]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0183]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。此外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0184]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0185]
另外,在本技术各个实施例中的各功能单元可以集成在一个单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0186]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上,或者说对现有技术做出贡献的部分,或者该技术方案的部分,可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,该计算机软件产品包括若干指令,该指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。前述的存储介质可以包括但不限于:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0187]
除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中在本技术的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本技术。
[0188]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1