序列标注方法、系统和计算机设备与流程

文档序号:20952487发布日期:2020-06-02 20:13阅读:172来源:国知局
序列标注方法、系统和计算机设备与流程

本发明实施例涉及序列标注领域,尤其涉及一种序列标注方法、系统、计算机设备及计算机可读存储介质。



背景技术:

在所有的自然语言处理应用中,命名实体识别是最基本也是应用最广泛的一种。它是指识别文中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等。命名实体识别这一应用是后续的其他应用如信息提取、问答系统、句法分析、机器翻译、面向semanticweb的元数据标注等应用领域的重要基础工具。通过对命名实体识别这一工具的应用,可以构建一种自然语言模型,这种语言模型可以像人类那样理解、分析并回答自然语言的结果。但是现有模型往往无法考虑长远的上下文信息,从而使得识别的准确率受到限制的技术问题。

因此,如何解决现有模型无法考虑长远的上下文信息关系的问题,从而进一步提高序列标注的识别准确率,成为了当前要解决的技术问题之一。



技术实现要素:

有鉴于此,有必要提供一种序列标注方法、系统、计算机设备及计算机可读存储介质,以解决现有模型无法考虑长远的上下文信息关系,从而使得序列标注的识别准确率受到限制等技术问题。

为实现上述目的,本发明实施例提供了序列标注方法,所述方法步骤包括:

接收目标文本序列,并将所述目标文本序列转换为相应的句子向量、各个字的字向量和各个字的位置向量;

将所述目标文本序列的句子向量、各个字的字向量和各个字的位置向量输入到训练后的bert模型中,通过所述bert模型输出与所述目标文本序列对应的第一标注序列,其中,所述第一标注序列包括多个第一n维向量,每个第一n维向量对应所述目标文本序列中的一个字,所述第一n维向量表示对应字的属于n个第一标签中各个第一标签的第一概率;

将所述第一标注序列输入到全连接层,通过所述全连接层输出第二标注序列,其中,所述第二标注序列包括多个第二n维向量,每个第二n维向量对应所述目标文本序列中的一个字,所述第二n维向量表示对应字的属于n个第二标签中各个第二标签的第二概率;

将所述第二标注序列作为条件随机场crf模型的输入序列,以通过crf模型输出标签序列y=(y1,y2,...,ym);及

根据所述标签序列生成命名实体序列,并输出所述命名实体序列。

示例性的,将所述目标文本序列转换为相应的句子向量、各个字的字向量和各个字的位置向量的步骤,包括:

将所述目标文本序列输入到嵌入层,通过所述嵌入层输出与所述目标文本序列对应的多个字向量,所述多个字向量中包括至少一个标点向量;

将所述多个字向量输入到分割层,根据所述至少一个标点向量对所述多个字向量进行分割,得到n个字向量集合,所述n个字向量集合对应n个分割码;

通过位置编码对每个分割码进行编码运算,确定每个分割码的位置信息编码,以得到所述目标文本序列中每个字的位置向量;及

根据所述目标文本序列中每个字的字向量以及所述每个字的位置向量,生成所述目标文本序列的句子向量。

示例性的,所述通过所述bert模型输出与所述目标文本序列对应的第一标注序列的步骤,包括:

通过所述bert模型对所述目标文本序列的句子向量、各个字的字向量和各个字的位置向量进行特征提取,以得到所述目标文本序列中每个字的各个第一标签的第一概率;

根据所述目标文本序列中每个字的各个第一标签的第一概率,生成第一标注序列。

示例性的,所述将所述第一标注序列输入到全连接层,通过所述全连接层输出第二标注序列的步骤,包括:

将所述第一标注序列输入到全连接层的神经网络结构中,进行额外特征提取,以得到所述目标文本序列中每个字的各个第二标签的第二概率,对于所述目标文本序列中第i个字的额外特征提取的运算公式为bi=wxi+b,其中,xi是所述第一标注序列中第i个字的各个第一标签的第一概率,w与b是bert模型学习参数;

根据所述目标文本序列中每个字的各个标签的第二概率,生成第二标注序列。

示例性的,所述将所述第二将标注序列作为条件随机场crf模型的输入序列,以通过crf模型输出标签序列y=(y1,y2,...,ym)的步骤,包括:

将所述第二标注序列输入到crf模型中;

通过维特比算法对所述第二标注序列进行维特比求解,以得到所述第二标注序列中的最优求解路径,其中,所述最优求解路径即为所述标签序列为整条目标文本序列的最高概率序列;

根据所述最优求解路径生成标签序列。

为实现上述目的,本发明实施例还提供了一种序列标注系统,包括:

接收文本模块,用于接收目标文本序列,并将所述目标文本序列转换为相应的句子向量、各个字的字向量和各个字的位置向量;

第一标注模块,用于将所述目标文本序列的句子向量、各个字的字向量和各个字的位置向量输入到训练后的bert模型中,通过所述bert模型输出与所述目标文本序列对应的第一标注序列,其中,所述第一标注序列包括多个第一n维向量,每个第一n维向量对应所述目标文本序列中的一个字,所述第一n维向量表示对应字的属于n个第一标签中各个第一标签的第一概率;

第二标注模块,用于将所述第一标注序列输入到全连接层,通过所述全连接层输出第二标注序列,其中,所述第二标注序列包括多个第二n维向量,每个第二n维向量对应所述目标文本序列中的一个字,所述第二n维向量表示对应字的属于n个第二标签中各个第二标签的第二概率;

输出标签模块,用于将所述第二标注序列作为条件随机场crf模型的输入序列,以通过crf模型输出标签序列y=(y1,y2,...,ym);及

输出实体模块,用于根据所述标签序列生成命名实体序列,并输出所述命名实体序列。

示例性的,所述接收文本模块还用于:

将所述目标文本序列输入到嵌入层,通过所述嵌入层输出与所述目标文本序列对应的多个字向量,所述多个字向量中包括至少一个标点向量;

将所述多个字向量输入到分割层,根据所述至少一个标点向量对所述多个字向量进行分割,得到n个字向量集合,所述n个字向量集合对应n个分割码;及

通过位置编码对每个分割码进行编码运算,确定每个分割码的位置信息编码,以得到所述目标文本序列中每个字的位置向量;

根据所述目标文本序列中每个字的字向量以及所述每个字的位置向量,生成所述目标文本序列的句子向量。

示例性的,所述第一标注模块还用于:

通过所述bert模型对所述目标文本序列的句子向量、各个字的字向量和各个字的位置向量进行特征提取,以得到所述目标文本序列中每个字的各个第一标签的第一概率;

根据所述目标文本序列中每个字的各个第一标签的第一概率,生成第一标注序列。

为实现上述目的,本发明实施例还提供了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被处理器执行时实现如上述的序列标注方法的步骤。

为实现上述目的,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上述的序列标注方法的步骤。

本发明实施例提供的序列标注方法、系统、计算机设备及计算机可读存储介质,为文本序列提供了有效序列标注方法;本发明实施例解决现有技术中的模型无法考虑长远的上下文信息,从而使得识别的准确率受到限制的技术问题,达到了直接将原始语句输入模型就可以提取出语句中的命名实体,适应性强,适用面广,提高了序列标注对实体识别的准确率的技术效果。

附图说明

图1为本发明实施例序列标注方法的流程示意图。

图2为本发明序列标注系统实施例二的程序模块示意图。

图3为本发明计算机设备实施例三的硬件结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。

以下实施例中,将以计算机设备2为执行主体进行示例性描述。

实施例一

参阅图1,示出了本发明实施例之序列标注方法的步骤流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以计算机设备2为执行主体进行示例性描述。具体如下。

步骤s100,接收目标文本序列,并将所述目标文本序列转换为相应的句子向量、各个字的字向量和各个字的位置向量。

具体的,所述步骤s100可以进一步包括:

步骤s100a,将所述目标文本序列输入到嵌入层,通过所述嵌入层输出与所述目标文本序列对应的多个字向量,所述多个字向量中包括至少一个标点向量。

示例性的,当接收的目标文本序列为[居里生于波兰,居住在美国]时,则需要将每个字及特殊符号都转化为词嵌入向量,因为神经网络只能进行数值计算。

步骤s100b,将所述多个字向量输入到分割层,根据所述至少一个标点向量对所述多个字向量进行分割,得到n个字向量集合,所述n个字向量集合对应n个分割码。

示例性的,将目标文本序列为[居里生于波兰,居住在美国]分割为a句[居里生于波兰]和b句[居住在美国],前面半句会加上分割码a,后半句会加上分割码b。

步骤s100c,通过位置编码对每个分割码进行编码运算,确定每个分割码的位置信息编码,以得到所述目标文本序列中每个字的位置向量。

示例性的,所述位置信息编码可以用于确定所述目标文本序列中每个字的位置。

步骤s100d,根据所述目标文本序列中每个字的字向量以及所述每个字的位置向量,生成所述目标文本序列的句子向量。

步骤s102,将所述目标文本序列的句子向量、各个字的字向量和各个字的位置向量输入到训练后的bert模型中,通过所述bert模型输出与所述目标文本序列对应的第一标注序列,其中,所述第一标注序列包括多个第一n维向量,每个第一n维向量对应所述目标文本序列中的一个字,所述第一n维向量表示对应字的属于n个第一标签中各个第一标签的第一概率。

示例性的,所述n个第一标签可以是多个位置标签和多个语义标签,所述n个第一标签还可以是是多个位置标签和多个词性标签。

示例性的,bert是一种现有预训练模型,所述bert的全称是bidirectionalencoderrepresentationsfromtransformers,即双向transformer的编码器(encoder);其中,所述transformer是一种完全依赖于自注意力以计算输入与输出表征的方法;bert旨在通过联合调节所有层中的上下文来预先训练深度双向表示。因此,预训练的bert表示可以通过一个额外的输出层进行微调,适用于广泛任务的最先进模型的构建,比如问答任务和语言推理,无需针对具体任务做大幅架构修改。

示例性的,所述bert模型可以通过遮蔽语言模型(maskedlanguagemodel,mlm)方法捕捉词语和通过“下一句预测”(nextsentenceprediction)方法表示句子级别得到;其中,遮蔽语言模型随机遮蔽模型输入中的一些单词(token),目标在于仅基于遮蔽词的语境来预测其原始词汇id,与从左到右的语言模型预训练不同,遮蔽语言模型的训练目标允许表征融合左右两侧的语境,从而预训练一个深度双向transformer;“下一句预测”,即nextsentenceprediction指的是做语言模型预训练的时候,分两种情况选择两个句子,一种是选择语料中真正顺序相连的两个句子;另外一种是第二个句子从语料库中抛色子,随机选择一个拼到第一个句子后面。我们要求模型除了做上述的masked语言模型任务外,附带再做个句子关系预测,判断第二个句子是不是真的是第一个句子的后续句子。

示例性的,对所述预训练的bert模型的训练可以包括:获取多个训练文本序列,将所述多个训练文本序列作为bert模型的训练集,将所述训练集输入到预训练的bert模型中,通过所述训练集对所述预训练的bert模型进行训练以得到训练后的bert模型。

具体的,所述步骤s102可以进一步包括:

步骤s102a,通过所述bert模型对所述目标文本序列的句子向量、各个字的字向量和各个字的位置向量进行特征提取,以得到所述目标文本序列中每个字的各个第一标签的第一概率。

步骤s102b,根据所述目标文本序列中每个字的各个第一标签的第一概率,生成第一标注序列。

步骤s104,将所述第一标注序列输入到全连接层,通过所述全连接层输出第二标注序列,其中,所述第二标注序列包括多个第二n维向量,每个第二n维向量对应所述目标文本序列中的一个字,所述第二n维向量表示对应字的属于n个第二标签中各个第二标签的第二概率。

示例性的,所述n个第二标签可以是多个位置标签和多个语义标签,所述n个第二标签还可以是是多个位置标签和多个词性标签。

具体的,所述步骤s104可以进一步包括:

步骤s104a,将所述第一标注序列输入到全连接层的神经网络结构中,进行额外特征提取,以得到所述目标文本序列中每个字的各个标签的第二概率,对于所述目标文本序列中第i个字的额外特征提取的运算公式为bi=wxi+b,其中,xi是所述第一标注序列中第i个字的各个第一标签的第一概率,w与b是bert模型学习参数;

示例性的,本实施例的全连接层的神经网络结构可以是多层transformer结构,所述多层transformer结构还包括注意力机制,所述第一标注序经过所述注意力机制处理后,输入到前馈全连接神经网络结构进行额外特征提取,以得到所述目标文本序列中每个字的各个第二标签的第二概率;即通过wx+b的运算得到所述目标文本序列中每个字的各个第二标签的第二概率,其中x是序列,w与b是模型学习参数。

步骤s104b,根据所述目标文本序列中每个字的各个第二标签的第二概率,生成第二标注序列。

步骤s106,将所述第二标注序列作为条件随机场crf模型的输入序列,以通过crf模型输出标签序列y=(y1,y2,...,ym)。

具体的,所述步骤s106可以进一步包括:

步骤s106a,将所述第二标注序列输入到crf模型中;

步骤s106b,通过维特比算法对所述第二标注序列进行维特比求解,以得到所述第二标注序列中的最优求解路径,其中,所述最优求解路径即为所述标签序列为整条目标文本序列的最高概率序列;

示例性的,本步骤是根据所述目标文本序列中每个字的各个第二标签的第二概率的概率值,判断所述目标文本序列应该对应的输出对象;这里通过维特比算法实现,所述维特比算并非输出所述目标文本序列中每个字的各个第二标签的第二概率中的最高标签概率,而是将输出整个所述目标文本序列的最高概率标注序列。

示例性的,其中,所述维特比算法可以包括:当所述目标文本序列中每个字的各个第二标签的第二概率最大的路径经过篱笆网络的某点时,则从开始点到该点的子路径也一定是从开始到该点路径中概率最大的;当第i时刻有k个状态,则从开始到i时刻的k个状态有k条最短路径,而最终的最短路径必然经过其中的一条。

步骤s106c,根据所述最优求解路径生成标签序列。

示例性的,通过所述维特比算法计算所述整个所述目标文本序列的最高概率标注序列,在计算第i+1状态的最短路径时,只需要考虑从开始到当前的k个状态值的最短路径和当前状态值到第i+1状态值的最短路径即可。

步骤s108,根据所述标签序列生成命名实体序列,并输出所述命名实体序列。

示例性的,根据所述标签序列即可生成命名实体序列,所述命名实体序列是通过标注系统预测的目标文本序列。其中,所述命名实体包括地名、人名等;序列标注采用bioes形式,其中b为实体开端、i为实体中部、o为非实体、e为实体结尾、s为单字实体;而每一种命名实体标注又对应实体类别,可细化为b-地名:地名实体的开端等相似形式。这里以地名与人名为例;例如,现已语句“居里生于华沙”这一语句为例,这句话将被拆分为字序列。那么居字被标注为b人名,里字被标注为e人名,生字被标注为o,于字被标注为o,波字被标注为b地名,兰字被标注为e-地名。

实施例二

图2为本发明序列标注系统实施例二的程序模块示意图。序列标注系统20可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述序列标注方法。本发明实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述序列标注系统20在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能:

接收文本模块200,用于接收目标文本序列,并将所述目标文本序列转换为相应的句子向量、各个字的字向量和各个字的位置向量。

示例性的,所述接收文本模块200还用于:将所述目标文本序列输入到嵌入层,通过所述嵌入层输出与所述目标文本序列对应的多个字向量,所述多个字向量中包括至少一个标点向量;将所述多个字向量输入到分割层,根据所述至少一个标点向量对所述多个字向量进行分割,得到n个字向量集合,所述n个字向量集合对应n个分割码;通过位置编码对每个分割码进行编码运算,确定每个分割码的位置信息编码,以得到所述目标文本序列中每个字的位置向量;及根据所述目标文本序列中每个字的字向量以及所述每个字的位置向量,生成所述目标文本序列的句子向量。

第一标注模块202,用于将所述目标文本序列的句子向量、各个字的字向量和各个字的位置向量输入到训练后的bert模型中,通过所述bert模型输出与所述目标文本序列对应的第一标注序列,其中,所述第一标注序列包括多个第一n维向量,每个第一n维向量对应所述目标文本序列中的一个字,所述第一n维向量表示对应字的属于n个第一标签中各个第一标签的第一概率。

示例性的,所述第一标注模块202还用于:通过所述bert模型对所述目标文本序列的句子向量、各个字的字向量和各个字的位置向量进行特征提取,以得到所述目标文本序列中每个字的各个第一标签的第一概率;根据所述目标文本序列中每个字的各个第一标签的第一概率,生成第一标注序列。

第二标注模块204,用于将所述第一标注序列输入到全连接层,通过所述全连接层输出第二标注序列,其中,所述第二标注序列包括多个第二n维向量,每个第二n维向量对应所述目标文本序列中的一个字,所述第二n维向量表示对应字的属于n个第二标签中各个第二标签的第二概率。

示例性的,所述第二标注模块204还用于:将所述第一标注序列输入到全连接层的神经网络结构中,进行额外特征提取,以得到所述目标文本序列中每个字的各个第二标签的第二概率,对于所述目标文本序列中第i个字的额外特征提取的运算公式为bi=wxi+b,其中,xi是所述第一标注序列中第i个字的各个第一标签的第一概率,w与b是bert模型学习参数;根据所述目标文本序列中每个字的各个第二标签的第二概率,生成第二标注序列。

输出标签模块206,用于将所述第二标注序列作为条件随机场crf模型的输入序列,以通过crf模型输出标签序列y=(y1,y2,...,ym)。

示例性的,所述输出标签模块206还用于:将所述第二标注序列输入到crf模型中;通过维特比算法对所述第二标注序列进行维特比求解,以得到所述第二标注序列中的最优求解路径,其中,所述最优求解路径即为所述标签序列为整条目标文本序列的最高概率序列;根据所述最优求解路径生成标签序列。

输出实体模块208,用于根据所述标签序列生成命名实体序列,并输出所述命名实体序列。

实施例三

参阅图3,是本发明实施例三之计算机设备的硬件架构示意图。本实施例中,所述计算机设备2是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。该计算机设备2可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图所示,所述计算机设备2至少包括,但不限于,可通过系统总线相互通信连接存储器21、处理器22、网络接口23、以及序列标注系统20。

本实施例中,存储器21至少包括一种类型的计算机可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器21可以是计算机设备2的内部存储单元,例如该计算机设备2的硬盘或内存。在另一些实施例中,存储器21也可以是计算机设备2的外部存储设备,例如该计算机设备2上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。当然,存储器21还可以既包括计算机设备2的内部存储单元也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于计算机设备2的操作系统和各类应用软件,例如实施例二的序列标注系统20的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。

处理器22在一些实施例中可以是中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制计算机设备2的总体操作。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据,例如运行序列标注系统20,以实现实施例一的序列标注方法。

所述网络接口23可包括无线网络接口或有线网络接口,该网络接口23通常用于在所述计算机设备2与其他电子装置之间建立通信连接。例如,所述网络接口23用于通过网络将所述计算机设备2与外部终端相连,在所述计算机设备2与外部终端之间的建立数据传输通道和通信连接等。所述网络可以是企业内部网(intranet)、互联网(internet)、全球移动通讯系统(globalsystemofmobilecommunication,gsm)、宽带码分多址(widebandcodedivisionmultipleaccess,wcdma)、4g网络、5g网络、蓝牙(bluetooth)、wi-fi等无线或有线网络。

需要指出的是,图3仅示出了具有部件20-23的计算机设备2,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。

在本实施例中,存储于存储器21中的序列标注系统20还可以被分割为一个或者多个程序模块,所述一个或者多个程序模块被存储于存储器21中,并由一个或多个处理器(本实施例为处理器22)所执行,以完成本发明。

例如,图2示出了本发明实施例二之所述实现序列标注系统20的程序模块示意图,该实施例中,所述序列标注系统20可以被划分为接收文本模块200、第一标注模块202、第二标注模块204、输出标签模块206和输出实体模块208。其中,本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述所述序列标注系统20在所述计算机设备2中的执行过程。所述程序模块200-208的具体功能在实施例二中已有详细描述,在此不再赘述。

实施例四

本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘、服务器、app应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于序列标注系统20,被处理器执行时实现实施例一的序列标注方法。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1