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

一种序列标注方法、装置及设备

文献发布时间:2023-06-19 11:29:13


一种序列标注方法、装置及设备

技术领域

本发明涉及自然语言处理技术领域,特别是涉及一种序列标注方法、装置及设备。

背景技术

序列标注是自然语言处理(Natural Language Processing,NLP)中的重要任务,被广泛应用于文本处理等相关领域,例如,分词标注、词性标注、命名实体识别标注、依存句法分析标注、时间序列分析等。

在传统的序列标注方法中,通常要依赖于高质量的注释数据进行有监督学习,这种有监督学习方法可以实现对文本的有效标注,但是,由于在许多的领域中缺乏相关的注释数据,从而难以实现对该领域内的文本进行序列标注,而通过知识迁移学习其他领域的知识,对未知领域的文本进行标注的方式,若领域之间差别较大,共有信息较少,也会影响迁移学习的效果,导致序列标注的准确性较低。

发明内容

为克服相关技术中存在的问题,本发明实施例提供了一种序列标注方法、装置及设备。

根据本发明实施例的第一方面,提供一种序列标注方法,包括如下步骤:

获取目标领域内目标句子对应的嵌入表示;

将所述目标句子对应的嵌入表示输入至预设的所述目标领域的语言模型中,得到所述目标句子对应的句子特征表示;其中,预设的所述目标领域的语言模型采用预训练好的所述目标领域的语言模型参数;

根据所述目标句子对应的句子特征表示、预训练好的各个源领域的序列标注模型参数和预设的源领域参数学习算法,得到所述目标领域的序列标注模型参数;

将所述目标句子对应的嵌入表示输入采用所述目标领域的序列标注模型参数的序列标注模型,得到所述目标句子对应的隐藏状态信息;

根据所述目标句子对应的隐藏状态信息和预设的条件随机场算法,得到所述目标句子中各个单词对应的标签;

根据本发明实施例的第二方面,提供一种序列标注装置,包括:

第一获取单元,用于获取目标领域内目标句子对应的嵌入表示;

特征表示单元,用于将所述目标句子对应的嵌入表示输入至预设的所述目标领域的语言模型中,得到所述目标句子对应的句子特征表示;其中,预设的所述目标领域的语言模型采用预训练好的所述目标领域的语言模型参数;

参数学习单元,用于根据所述目标句子对应的句子特征表示、预训练好的各个源领域的序列标注模型参数和预设的源领域参数学习算法,得到所述目标领域的序列标注模型参数;

隐藏信息获取单元,用于将所述目标句子对应的嵌入表示输入采用所述目标领域的序列标注模型参数的序列标注模型,得到所述目标句子对应的隐藏状态信息;

标注单元,用于根据所述目标句子对应的隐藏状态信息和预设的条件随机场算法,得到所述目标句子中各个单词对应的标签。

根据本发明实施例的第三方面,提供一种序列标注设备,包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述方法的步骤。

在本申请实施例中,首先通过获取目标领域内目标句子对应的嵌入表示,将所述目标句子对应的嵌入表示输入至预设的所述目标领域的语言模型中,得到所述目标句子对应的句子特征表示,其中,预设的所述目标领域的语言模型采用预训练好的所述目标领域的语言模型参数;之后,根据所述目标句子对应的句子特征表示、预训练好的各个源领域的序列标注模型参数和预设的源领域参数学习算法,得到所述目标领域的序列标注模型参数,从而实现对多个源领域参数的迁移学习,从中获取到最适合该目标领域的序列标注模型参数;再之后,将所述目标句子对应的嵌入表示输入采用所述目标领域的序列标注参数的序列标注模型,得到所述目标句子对应的隐藏状态信息;根据所述目标句子对应的隐藏状态信息和预设的条件随机场算法,得到所述目标句子中各个单词对应的标签,提高目标领域的序列标注的准确性。

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

为了更好地理解和实施,下面结合附图详细说明本发明。

附图说明

图1为本发明一个示例性实施例提供的序列标注方法的流程示意图;

图2为本发明另一个示例性实施例提供的序列标注方法的流程示意图;

图3为本发明另一个示例性实施例提供的序列标注方法中S106的流程示意图;

图4为本发明一个示例性实施例提供的序列标注方法中S103的流程示意图;

图5为本发明一个示例性实施例提供的序列标注方法中S105的流程示意图;

图6为本发明一个示例性实施例提供的序列标注装置的结构示意图;

图7为本发明一个示例性实施例提供的序列标注设备的结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

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

应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”/“若”可以被解释成为“在……时”或“当……时”或“响应于确定”。

请参阅图1,图1为本发明一个示例性实施例提供的序列标注方法的流程示意图,所述方法由序列标注设备(以下简称序列标注设备)执行,包括如下步骤:

S101:获取目标领域内目标句子对应的嵌入表示。

在本申请实施例中存在众多领域的数据需要进行序列标注。其中,在一些领域中,会存在有大量能够用于训练序列标注模型的训练数据,因而,可以利用这些训练数据对该领域的序列标注模型进行训练,进而能够基于训练好的序列标注模型对该领域内未经标注的句子进行序列标注。

但是,在另一些领域中,由于缺乏能够用于训练序列标注模型的训练数据,因而,无法对这些领域中的序列标注模型进行有效训练,进而就会导致无法对这些领域内的句子进行准确地序列标注。

本申请实施例中提出的目标领域即为缺乏训练数据进行序列标注模型训练的领域。

具体地,在进行对目标句子进行序列标注之前,序列标注设备需获取目标领域内目标句子对应的嵌入表示。

首先,序列标注设备先获取目标领域的句子合集

之后,序列标注设备再根据目标领域的目标句子

其中,预设的嵌入表示计算公式如下:

在此,

需要说明的是,本申请所称的序列标注为所有序列标注任务的统称,其可以包括命名实体识别(NER),词性标注(POS)和/或分词等众多序列标注任务中的基本任务。

S102:将所述目标句子对应的嵌入表示输入至预设的所述目标领域的语言模型中,得到所述目标句子对应的句子特征表示;其中,预设的所述目标领域的语言模型采用预训练好的所述目标领域的语言模型参数。

在本申请实施例中,序列标注设备中预先设置有目标领域的语言模型和目标领域的序列标注模型。

其中,目标领域的语言模型用于能够提取到目标句子的上下文关系,并在提取上下关系的过程中获取到目标句子对应的句子特征表示。

目标领域的序列标注模型则用于对目标句子进行序列标注。

虽然,目标领域缺乏已经标注好的训练数据,故无法对序列标注模型进行训练,但是,目标领域内数据的上下文关系是已知的,因此,可以预先对目标领域的语言模型进行训练,得到预训练好的目标领域的语言模型参数。

预设的目标领域的语言模型采用预训练好的目标领域的语言模型参数,序列标注设备将目标句子对应的嵌入表示输入该预设的目标领域的语言模型中,得到目标句子对应的句子特征表示。

上述预训练好的目标领域的语言模型参数可以表示为

在目标领域的语言模型中存在多个隐藏层,序列标注设备在获取目标领域对应的句子特征表示时,需要根据将上一隐藏层的输出结果、目标句子的嵌入表示以及预训练好的目标领域的语言模型参数,得到当前隐藏层的输出结果,迭代上述步骤直至得到最后一个隐藏层的输出结果,最后一个隐藏层的输出结果也即目标领域对应的句子特征表示。

在一个可选的实施例中,若所述目标领域的语言模型为一个双向长短期记忆网络模型(Bi-LSTM),则其分为前向网络模型和后向网络模型,相应地,最后一个隐藏层的输出结果就包括前向网络模型的最后一个隐藏层的输出结果和后向网络模型的最后一个隐藏层的输出结果。

具体地:

其中,

需要说明的是,无论是前向网络模型隐藏层的操作还是后向网络模型隐藏层的操作均是相同的计算过程,但是其输入和输出的方向发生了改变。

前向网络模型的最后一个隐藏层的输出结果表示为

在另一个实施例中,步骤S102之前,请参阅图2,该序列标注方法还包括步骤S106,具体如下:

S106:获取各个所述源领域的序列标注模型参数和所述目标领域的语言模型参数;其中,所述源领域的序列标注模型参数和所述目标领域的语言模型参数是通过依次训练各个所述源领域的语言模型和序列标注模型以及所述目标领域的语言模型参数得到的。

序列标注设备获取各个所述源领域的序列标注模型参数和所述目标领域的语言模型参数。

其中,所述源领域的序列标注模型参数和所述目标领域的语言模型参数是通过依次训练各个所述源领域的语言模型和序列标注模型以及所述目标领域的语言模型参数得到的。

为了提高序列标注的准确性,更好地训练各个模型,请参阅图3,步骤S106包括步骤S1061~S1062,具体如下:

S1061:获取p个所述源领域的训练数据集和所述目标领域的训练数据集;其中,每个所述源领域的训练数据集中包括训练句子对应的嵌入表示、所述训练句子中各个单词对应的真实标签和所述训练句子对应的真实上下文关系,所述目标领域的训练数据集中包括训练句子对应的嵌入表示和所述训练句子对应的真实上下文关系。

序列标注设备获取p个源领域的训练数据集和目标领域的训练数据集。

其中,p个源领域的训练数据集包括用于训练p个源领域的序列标注模型的数据集,用于训练p个源领域的语言模型的数据集,两者不同点在于用于训练p个源领域的序列标注模型的数据集带有训练句子中单词对应的真实标签。

目标领域的训练数据集是用于训练目标领域的语言模型的数据集,其包括训练句子对应的嵌入表示和所述训练句子对应的真实上下文关系。目标领域的训练数据集中没有用于训练目标领域的序列标注模型的数据集。

具体地,用于训练p个源领域的序列标注模型的数据集可以表示为

用于训练p个源领域的语言模型的数据集可以表示为

用于训练目标领域的语言模型的数据集可以表示为

在获取到

具体地,序列标注设备根据p个源领域的训练数据集、目标领域的训练数据集以及预设的嵌入表示计算公式,得到目标领域内训练句子对应的嵌入表示和k个源领域内训练句子对应的嵌入表示。

其中,预设的嵌入表示计算公式如下:

该公式的具体符号含义与步骤S101中阐述的相同,在此不进行复述,具体可以查阅S101中的相关说明。

S1062:根据p个所述源领域的训练数据集、所述目标领域的训练数据集以及预设的联合损失函数,依次训练第1个所述源领域的语言模型、第1个所述源领域的序列标注模型至第p个所述源领域的语言模型、第p个所述源领域的序列标注模型,最后训练所述目标领域的语言模型,得到p个所述源领域的语言模型参数、p个所述源领域的序列标注模型参数和所述目标领域的语言模型参数。

序列标注设备根据p个所述源领域的训练数据集、所述目标领域的训练数据集以及预设的联合损失函数,依次训练第1个所述源领域的语言模型、第1个所述源领域的序列标注模型至第p个所述源领域的语言模型、第p个所述源领域的序列标注模型,最后训练所述目标领域的语言模型,得到p个所述源领域的语言模型参数、p个所述源领域的序列标注模型参数和所述目标领域的语言模型参数。

在一个可选的实施例中,预设的联合损失函数中包括训练序列标注模型的损失函数和训练语言模型的损失函数,训练序列标注模型的损失函数和训练语言模型的损失函数不同,其均可以采用现有的损失函数,在此不进行赘述。

通过最小化预设的联合损失函数的值,得到p个所述源领域的语言模型参数、p个所述源领域的序列标注模型参数和所述目标领域的语言模型参数。。

在另一个可选的实施例中,所述序列标注模型参数和所述语言模型参数均包括共享参数和领域参数,其中,共享参数是指在各个模型中传递共享的参数,领域参数是指各个模型中特有的参数。

具体地,S1062包括如下步骤:

第一步,序列标注设备根据第k-1个所述源领域的序列标注模型参数中的共享参数、随机初始化的第k个所述源领域的语言模型参数中的领域参数和预设的参数生成器,得到第k个所述源领域的语言模型参数。

由于本申请实施例共享参数要在训练过程中在模型中传递共享,因此,在获取第k个源领域的语言模型参数时,需要使用到第k-1个所述源领域的序列标注模型参数中的共享参数。

故,序列标注设备在获取到第k-1个所述源领域的序列标注模型参数中的共享参数、随机初始化的第k个源领域的语言模型参数中的领域参数之后,可以利用预设的参数生成器,得到第k个所述源领域的语言模型参数。

其中,该预设的参数生成器用于求取第k-1个所述源领域的序列标注模型参数中的共享参数和随机初始化的第k个源领域的语言模型参数的领域参数两者的张量拼接结果。

第二步,序列标注设备将第k个所述源领域的训练句子对应的嵌入表示输入至所述第k个所述源领域的语言模型中,得到第k个所述源领域的语言模型输出的训练句子对应的隐藏状态信息。

在一个可选的实施例中,第k个源领域的语言模型采用了第一步中得到的第k个源领域的语言模型参数,第k个源领域的语言模型为双向长短期记忆网络模型(Bi-LSTM),其也分为前向网络模型和后向网络模型,前向网络模型的第j层的输出结果和后向网络模型的第j层的输出结果,共同组成了第k个源领域的语言模型的第j层隐藏层的输出结果,所有隐藏层的输出结果即为第k个源领域的语言模型输出的训练句子对应的隐藏状态信息。

具体地,

其中,

其中,

第三步,序列标注设备根据第k个所述源领域的训练句子对应的隐藏状态信息,得到第k个所述源领域的训练句子对应的真实上下文关系的输出概率。

具体地,序列标注设备根据第k个所述源领域的训练句子对应的隐藏状态信息和预设的第一上下文关系计算公式,得到第k个所述源领域的训练句子对应的真实上下文关系的输出概率。

预设的第一上下文关系计算公式如下:

其中,

exp表示以e为底的指数函数,Z表示归一化计算的结果;

第k个所述源领域的训练句子对应的真实上下文关系的输出概率包括在给定第k 个源领域的第i个训练句子内的第1个单词至第j个单词的条件下,出现第j+1个单词的概率

第四步,根据第k个所述源领域的语言模型参数中的共享参数、随机初始化的第k个所述源领域的序列标注模型参数中的领域参数和预设的参数生成器,得到第k个所述源领域的序列标注模型参数。

其中,预设的参数生成器用于求取第k个所述源领域的语言模型参数中的共享参数和随机初始化的第k个源领域的序列标注模型参数的领域参数两者的张量拼接结果,该张量拼接结果即为第k个所述源领域的序列标注模型参数。

第五步,序列标注设备将第k个所述源领域的训练句子对应的嵌入表示输入至第k个所述源领域的序列标注模型中,得到第k个所述源领域的序列标注模型输出的训练句子对应的隐藏状态信息。

第k个源领域的序列标注模型采用了第四步中得到的第k个源领域的序列标注模型参数。

在一个可选的实施例中,第k个源领域的序列标注模型也为双向长短期记忆网络模型(Bi-LSTM),其也分为前向网络模型和后向网络模型,前向网络模型的第j层的输出结果和后向网络模型的第j层的输出结果,共同组成了第k个源领域的序列标注模型的第j层隐藏层的输出结果,所有隐藏层的输出结果即为第k个源领域的训练句子对应的隐藏状态信息。

具体地,

其中,

第六步,序列标注设备根据第k个所述源领域的训练句子对应的隐藏状态信息和预设的条件随机场算法,得到第k个所述源领域的训练句子中的各个单词对应的预测标签。

具体地,根据第k个所述源领域的训练句子对应的隐藏状态信息和预设的条件随机场公式,得到第k个所述源领域的训练句子中的各个单词对应的真实标签的输出概率;

其中,预设的条件随机场计算公式,具体如下:

第七步,重复执行上述步骤,直至得到第p个所述源领域的序列标注模型参数之后,根据第p个所述源领域的序列标注模型参数中的共享参数、随机初始化的所述目标领域的语言模型参数中的领域参数和预设的参数生成器,得到所述目标领域的语言模型参数。

其中,该预设的参数生成器用于求取第p个所述源领域的序列标注模型参数中的共享参数和随机初始化的目标领域的语言模型参数的领域参数两者的张量拼接结果。

第八步,序列标注设备将所述目标领域的训练句子对应的嵌入表示输入至所述目标领域的语言模型中,得到所述目标领域的训练句子对应的隐藏状态信息。

目标领域的语言模型采用了第七步中得到的目标领域的语言模型参数。

在一个可选的实施例中,目标领域的语言模型为双向长短期记忆网络模型(Bi-LSTM),其也分为前向网络模型和后向网络模型,前向网络模型的第j层的输出结果和后向网络模型的第j层的输出结果,共同组成了目标领域的语言模型的第j层隐藏层的输出结果,所有隐藏层的输出结果即为目标领域的语言模型输出的训练句子对应的隐藏状态信息。

具体地,

其中,

其中,

第九步,序列标注设备根据所述目标领域的训练句子对应的隐藏状态信息,得到所述目标领域的训练句子对应的真实上下文关系的输出概率。

序列标注设备根据目标领域的训练句子对应的隐藏状态信息和预设的第二上下文关系计算公式,得到目标领域的训练句子对应的真实上下文关系的输出概率。

预设的第二上下文关系计算公式如下:

其中,

exp表示以e为底的指数函数,Z表示归一化计算的结果;

目标领域的训练句子对应的真实上下文关系的输出概率包括在给定目标领域的 第i个训练句子内的第1个单词至第j个单词的条件下,出现第j+1个单词的概率

第十步,序列标注设备根据p个所述源领域的训练句子对应的真实上下文关系的输出概率、p个所述源领域的训练句子中的各个单词对应的真实标签的输出概率、目标领域的训练句子对应的真实上下文关系的输出概率以及预设的联合损失函数,对p个所述源领域的语言模型、p个所述源领域的序列标注模型以及所述目标领域的语言模型进行联合训练,得到使所述联合损失函数值最小的所述训练好的p个所述源领域的语言模型参数、p个所述源领域的序列标注模型参数和所述目标领域的语言模型参数。

其中,预设的联合损失函数如下:

在本实施例中,序列标注设备最终得到的是使所述联合损失函数值最小的训练好的p个源领域的语言模型参数、p个源领域的序列标注模型参数和目标领域的语言模型参数。

S103:根据所述目标句子对应的句子特征表示、预训练好的各个源领域的序列标注模型参数和预设的源领域参数学习算法,得到所述目标领域的序列标注模型参数。

在本申请实施例中,由于目标领域的序列标注模型参数无法通过训练得到,因此,序列标注设备需要根据预设的源领域参数学习算法,去学习各个源领域的序列标注模型参数。

其中,源领域参数学习算法预先设置在序列标注设备中,其能够基于目标句子对应的句子特征表示学习预训练好的各个源领域的序列标注模型参数,以得到目标领域的序列标注模型参数。

在一个可选的实施例中,为实现更好地参数学习效果,请参阅图4,步骤S103包括步骤S1031~S1032,具体如下:

S1031:根据所述目标句子对应的句子特征表示、预训练好的各个所述源领域的序列标注模型参数和预设的参数权重计算公式,得到各个所述源领域的序列标注模型参数的权重。

其中,预设的参数权重计算公式如下:

S1032:根据各个所述源领域的序列标注模型参数和各个所述源领域的序列标注模型参数的权重,获取所述目标领域的序列标注模型参数。

序列标注设备根据各个所述源领域的序列标注模型参数、各个所述源领域的序列标注模型参数的权重和预设的目标领域的序列标注模型参数计算公式,获取所述目标领域的序列标注模型参数。

其中,预设的目标领域的序列标注模型参数计算公式如下:

S104:将所述目标句子对应的嵌入表示输入采用所述目标领域的序列标注模型参数的序列标注模型,得到所述目标句子对应的隐藏状态信息。

目标领域的序列标注模型采用了步骤S103中得到的目标领域的序列标注模型参数。

在一个可选的实施例中,目标领域的序列标注模型也为双向长短期记忆网络模型(Bi-LSTM),其也分为前向网络模型和后向网络模型,前向网络模型的第j层的输出结果和后向网络模型的第j层的输出结果,共同组成了目标领域的序列标注模型的第j层隐藏层的输出结果,所有隐藏层的输出结果即为目标句子对应的隐藏状态信息。

具体地,

其中,

S105:根据所述目标句子对应的隐藏状态信息和预设的条件随机场算法,得到所述目标句子中各个单词对应的标签。

序列标注设备根据所述目标句子对应的隐藏状态信息和预设的条件随机场算法,得到所述目标句子中各个单词对应的标签。

其中,该条件随机场算法预先设置在序列标注设备中,序列标注设备再获取到目标句子对应的隐藏状态信息之后,调用该条件随机场算法,得到所述目标句子中各个单词对应的标签。

具体地,在一个可选的实施例中,请参阅图5,步骤S105包括步骤S1051~S1052,如下所示:

S1051:根据所述目标句子对应的隐藏状态信息和预设的条件随机场计算公式,得到所述目标句子中的单词在各个预设标签上输出的概率;

其中,预设的条件随机场算法对应的计算公式如下:

需要说明的是,步骤S1051中与步骤S1062中第六步采用的条件随机场算法对应的计算公式在具体操作上是相同的,但是里面采用的参数、输入以及输出是不同的。

S1052:根据所述目标句子中的单词在各个预设标签上输出的概率,获取所述目标句子中各个单词对应的标签。

序列标注设备根据所述目标句子中的单词在各个预设标签上输出的概率,获取所述目标句子中各个单词对应的标签。

具体地,在一个可选的实施例中,序列标注设备可以根据所述目标句子中的单词在各个预设标签上输出的概率和预设的一阶维特比算法,查找所述目标句子中各个单词对应的标签。

其中,该一阶维特比算法预先设置在序列标注设备中,能够用于找查找得分最高的预设标签序列,该得分最高的预设标签序列即包括目标句子中各个单词对应的标签。

该一阶维特比算法是一种动态规划算法,它用于寻找最有可能产生观测事件序列的维特比路径。在本申请实施例中,不同标签序列中标签的顺序即能组成不同的路径,序列标注设备基于该一阶维特比算法寻找的就是得分最高的标签序列。

具体地,序列标注设备基于该一阶维特比算法先计算局部单词对应的得分最高的标签,然后再计算出整体句子对应的得分最高的标签序列,将其作为最终所述目标句子对应的标签序列,进而也就得到了上述目标句子中各个单词对应的标签。

需要说明的是,这里的得分最高的标签序列可以理解为概率和最高的标签序列。

在本实施例中,相对于通过穷举所有可能的标签序列,计算每个标签序列对应的概率和,再从中得到概率和最高的标签序列的方式,采用一阶维特比算法能够减少计算量、节省计算资源,从而提高序列标注的效率。

在本申请实施例中,首先通过获取目标领域内目标句子对应的嵌入表示,将所述目标句子对应的嵌入表示输入至预设的所述目标领域的语言模型中,得到所述目标句子对应的句子特征表示,其中,预设的所述目标领域的语言模型采用预训练好的所述目标领域的语言模型参数;之后,根据所述目标句子对应的句子特征表示、预训练好的各个源领域的序列标注模型参数和预设的源领域参数学习算法,得到所述目标领域的序列标注模型参数,从而实现对多个源领域参数的迁移学习,从中获取到最适合该目标领域的序列标注模型参数;再之后,将所述目标句子对应的嵌入表示输入采用所述目标领域的序列标注参数的序列标注模型,得到所述目标句子对应的隐藏状态信息;根据所述目标句子对应的隐藏状态信息和预设的条件随机场算法,得到所述目标句子中各个单词对应的标签,提高目标领域的序列标注的准确性。

请参见图6,为本申请一个实施例提供的序列标注装置的结构示意图。该装置可以通过软件、硬件或两者的结合实现成为序列标注设备的全部或一部分。该装置6包括:

第一获取单元61,用于获取目标领域内目标句子对应的嵌入表示;

特征表示单元62,用于将所述目标句子对应的嵌入表示输入至预设的所述目标领域的语言模型中,得到所述目标句子对应的句子特征表示;其中,预设的所述目标领域的语言模型采用预训练好的所述目标领域的语言模型参数;

参数学习单元63,用于根据所述目标句子对应的句子特征表示、预训练好的各个源领域的序列标注模型参数和预设的源领域参数学习算法,得到所述目标领域的序列标注模型参数;

隐藏信息获取单元64,用于将所述目标句子对应的嵌入表示输入采用所述目标领域的序列标注模型参数的序列标注模型,得到所述目标句子对应的隐藏状态信息;

标注单元65,用于根据所述目标句子对应的隐藏状态信息和预设的条件随机场算法,得到所述目标句子中各个单词对应的标签。

在本申请实施例中,首先通过获取目标领域内目标句子对应的嵌入表示,将所述目标句子对应的嵌入表示输入至预设的所述目标领域的语言模型中,得到所述目标句子对应的句子特征表示,其中,预设的所述目标领域的语言模型采用预训练好的所述目标领域的语言模型参数;之后,根据所述目标句子对应的句子特征表示、预训练好的各个源领域的序列标注模型参数和预设的源领域参数学习算法,得到所述目标领域的序列标注模型参数,从而实现对多个源领域参数的迁移学习,从中获取到最适合该目标领域的序列标注模型参数;再之后,将所述目标句子对应的嵌入表示输入采用所述目标领域的序列标注参数的序列标注模型,得到所述目标句子对应的隐藏状态信息;根据所述目标句子对应的隐藏状态信息和预设的条件随机场算法,得到所述目标句子中各个单词对应的标签,提高目标领域的序列标注的准确性。

需要说明的是,上述实施例提供的序列标注装置在执行序列标注方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分为不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的序列标注装置与序列标注方法属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。

请参见图7,为本申请一个实施例提供的序列标注设备的结构示意图。如图7所示,该序列标注设备7可以包括:处理器70、存储器71以及存储在该存储器71并可以在该处理器70上运行的计算机程序72,例如:序列标注程序;该处理器70执行该计算机程序72时实现上述各方法实施例中的步骤,例如图1所示的步骤S101至S105。或者,该处理器70执行该计算机程序72时实现上述各装置实施例中各模块/单元的功能,例如图6所示模块61至65的功能。

其中,该处理器70可以包括一个或多个处理核心。处理器70利用各种接口和线路连接该序列标注设备7内的各个部分,通过运行或执行存储在存储器71内的指令、程序、代码集或指令集,以及调用存储器71内的数据,执行序列标注设备7的各种功能和处理数据,可选的,处理器70可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programble LogicArray,PLA)中的至少一个硬件形式来实现。处理器70可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责触摸显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器70中,单独通过一块芯片进行实现。

其中,存储器71可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选的,该存储器71包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器71可用于存储指令、程序、代码、代码集或指令集。存储器71可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控指令等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器71可选的还可以是至少一个位于远离前述处理器70的存储装置。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将该装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅是示意性的,例如,该模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

该集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,该计算机程序包括计算机程序代码,该计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。

本发明并不局限于上述实施方式,如果对本发明的各种改动或变形不脱离本发明的精神和范围,倘若这些改动和变形属于本发明的权利要求和等同技术范围之内,则本发明也意图包含这些改动和变形。

相关技术
  • 一种用于序列标注的方法、装置和电子设备
  • 一种序列标注方法、装置及设备
技术分类

06120112940748