本发明涉及自然语言处理技术领域,尤其涉及一种用于序列标注的方法、装置和电子设备。
背景技术:
随着深度学习等人工智能技术的发展,文本挖掘技术给产业界带来了日益深广的影响,其中越来越多的服务与应用依赖知识抽取等技术的辅助以提供更好的服务。
目前,序列标注常用的代表性模型有lstm或注意力模型等,其中,lstm模型计算效率较低,注意力模型通过输入的并行式大大提高了计算效率,但是因为每个输入是独立的,存在对局部上下文信息利用不足的缺点,从而导致最终错误的识别结果。
技术实现要素:
为解决现有技术中存在的问题,本发明提供了如下技术方案。
本发明的一方面提供了一种用于序列标注的方法,包括:
将句子转换为词向量;
根据所述词向量提取句子的局部上下文特征;
根据所述词向量和所述局部上下文特征获取注意力表示;
将所述注意力表示作为输入训练序列标注模型。
进一步地,在将句子转换为词向量之前,还包括:对句子进行数据清洗并使用bio方法转换所述句子的格式。
进一步地,所述根据所述词向量提取句子的局部上下文特征,包括:
将所述词向量输入双层的卷积神经网络模型中,得到表示局部上下文相关性的特征图(featuremap);
将所述特征图(featuremap)转换为局部上下文相关性的特征表示。
进一步地,所述将所述词向量输入双层的卷积神经网络模型中,得到表示局部上下文相关性的特征图(featuremap),包括:
基于选定的核,在句子方向上从左到右进行窗口滑动,对句子进行两层卷积操作,得到表示局部上下文相关性的特征图(featuremap),其中,句子表示为一个l*v的矩阵,l为预设的句子长度,v为对应位置的词向量;特征图(featuremap)表示为n个l′*v的矩阵,n为核的数量,l′≤l。
进一步地,所述将所述特征图(featuremap)转换为局部上下文相关性的特征表示,包括:
将表示为n个l′*v的矩阵的所述特征图(featuremap)做平均值计算得到一个l′*v的向量输出;
利用前馈神经网络层,将所述向量转化成一个指定大小的特征矩阵,即局部上下文相关性的特征表示。
进一步地,所述根据所述词向量和所述局部上下文特征获取注意力表示,包括:
将所述词向量输入改进的多头注意力模型中计算多头注意力,所述改进的多头注意力模型中包括局部上下文特征;
拼接所述多头注意力,得到隐藏层状态输出作为注意力表示。
进一步地,所述序列标注层为条件随机场层。
本发明第二方面提供了一种用于序列标注的装置,包括:
词向量转换模块,用于将句子转换为词向量;
局部上下文特征提取模块,用于根据所述词向量提取句子的局部上下文特征;
注意力表示获取模块,用于根据所述词向量和所述局部上下文特征获取注意力表示;
模型生成模块,用于将所述注意力表示输入序列标注层,得到用于序列标注的模型。
本发明第三方面提供了一种存储器,存储有多条指令,所述指令用于实现上述的方法。
本发明第四方面提供了一种电子设备,包括处理器和与所述处理器连接的存储器,所述存储器存储有多条指令,所述指令可被所述处理器加载并执行,以使所述处理器能够执行上述的方法。
本发明的有益效果是:本发明提供的技术方案,首先根据转换句子得到的词向量提取句子的局部上下文特征,再根据词向量和局部上下文特征获取注意力表示,最后将所述注意力表示输入序列标注层,得到用于序列标注的模型。通过对局部上下文相关性的特征表示进行增强,使得到的用于序列标注的模型可以更有效地学习文本的局部上下文信息,从而得到准确的识别结果,更好的完成序列标注任务及其衍生出的更多的自然语言处理任务。
附图说明
图1为本发明所述用于序列标注的方法流程示意图;
图2为本发明所述用于序列标注的模型的结构示意图;
图3为本发明所述用于序列标注的装置的结构示意图。
具体实施方式
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案做详细的说明。
本发明提供的方法可以在如下的终端环境中实施,该终端可以包括一个或多个如下部件:处理器、存储器和显示屏。其中,存储器中存储有至少一条指令,所述指令由处理器加载并执行以实现下述实施例所述的方法。
处理器可以包括一个或者多个处理核心。处理器利用各种接口和线路连接整个终端内的各个部分,通过运行或执行存储在存储器内的指令、程序、代码集或指令集,以及调用存储在存储器内的数据,执行终端的各种功能和处理数据。
存储器可以包括随机存储器(randomaccessmemory,ram),也可以包括只读存储器(read-onlymemory,rom)。存储器可用于存储指令、程序、代码、代码集或指令。
显示屏用于显示各个应用程序的用户界面。
除此之外,本领域技术人员可以理解,上述终端的结构并不构成对终端的限定,终端可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,终端中还包括射频电路、输入单元、传感器、音频电路、电源等部件,在此不再赘述。
实施例一
如图1所示,本发明实施例提供了一种用于序列标注的方法,包括:
s101,将句子转换为词向量;
s102,根据所述词向量提取句子的局部上下文特征;
s103,根据所述词向量和所述局部上下文特征获取注意力表示;
s104,将所述注意力表示输入序列标注层,得到用于序列标注的模型。
在步骤s101中,为避免分词错误引入错误的词边界信息,本发明实施例基于词向量模型(中文处理粒度为字级别,英文等为单词级别)来表示文本中所包含语义。对文本进行预训练得到每个词向量表示集合x:
x={x0,x1…xn}
在步骤s101之前还包括:对句子进行数据清洗并使用bio方法转换所述句子的格式。可以根据具体的文本格式采用不同的方法进行数据清洗。例如,对于非格式化数据,可以进行统一字符编码、去除无意义的特殊符号等噪音数据的处理。数据清洗时还可以根据实际需要对段落或句子进行分割等。
本实施例中,可以根据序列标注具体任务所需,用b开始、i连续、o其它的方式表示一个待标注序列的起始位置,并根据需要添加类别标识。例如,“华盛顿大学位于西雅图”中需要将“华盛顿大学”(一个组织名)用org进行标识,“西雅图”(一个地名)用loc标识,则“华盛顿大学位于西雅图”表示为“华-b-org,盛-i-org,顿-i-org,位-o,于-o,西-b-loc,雅-i-loc,图-i-loc”,剩下字符同理标示为与任务有关的类别,或是其它字符o。
执行步骤s102,包括:
将所述词向量输入双层的卷积神经网络模型中,得到表示局部上下文相关性的特征图(featuremap);
将所述特征图(featuremap)转换为局部上下文相关性的特征表示。
具体地,可以采用如下方法进行实施:
首先,基于选定的核,在句子方向上从左到右进行窗口滑动,对句子进行两层卷积操作,得到表示局部上下文相关性的特征图(featuremap),其中,句子表示为一个l*v的矩阵,l为预设的句子长度,v为对应位置的词向量;特征图(featuremap)表示为n个l′*v的矩阵,n为核的数量,l′≤l;
然后,将表示为n个l′*v的矩阵的所述特征图(featuremap)做平均值计算得到一个l′*v的向量输出;
利用前馈神经网络层,将所述向量转化成一个指定大小的特征矩阵,即局部上下文相关性的特征表示。
执行步骤s103,包括:
将所述词向量输入改进的多头注意力模型中计算多头注意力,所述改进的多头注意力模型中包括局部上下文特征;
拼接所述多头注意力,得到隐藏层状态输出作为注意力表示。
其中,将所述词向量输入改进的多头注意力模型中,采用如下公式计算多头注意力:
其中,flocal为局部上下文特征矩阵,
通过上述方法,将局部上下文特征引入到多头注意力模型中,使得注意力模型能够在获取全局上下文特征的同时,对局部上下文特征进行增强。从而使得模型能够更好的学习文本上下文信息,以便更准确的进行文本识别。
执行步骤s104,将所述注意力表示输入序列标注层,得到用于序列标注的模型。
本发明实施例中,序列标注层可以为条件随机场层。
具体的,可以采用如下方法进行实施:
将步骤s103中得到的注意力表示,输入一个条件随机场(crf)层进行序列类型的预测。
其中,对于一个给定的句子x=(x1,x2,…,xn),具有预测标记序列y=(y1,y2,…,yn),其预测分数可定义为:
其中,a为转移得分矩阵,ai,j表示标签i到标签j的转移得分。
句子x被标注为序列y的概率可以计算为
其中,yx为给定的句子x所有可能的标注序列
最后,利用转换系统输出具体任务所需要的格式。
作为一个实施例,图2为用于序列标注的模型,本发明提供的方法可以通过图2所示的模型实施。图2所示的模型包括:卷积层、映射层、注意力层和crf层。
本发明实施例提供的上述方法,通过对局部上下文相关性的特征表示进行增强,使用于序列标注的模型可以更有效地学习文本的局部上下文信息,从而得到准确的识别结果。
本发明提供的上述方法,可以应用于所有可转化为序列标注问题的任务,并在该领域具有更好的效果,通过本发明训练所得的用于序列标注的模型,可直接应用于分词、词性标注、信息抽取等序列标注的具体任务,并可以服务更多自然语言处理的后续任务如翻译、推荐、推理、对话等等。
实施例二
如图3所示,本发明的另一方面还包括和前述方法流程完全对应一致的功能模块架构,即本发明实施例还提供了一种用于序列标注的装置,包括:
词向量转换模块301,用于将句子转换为词向量;
局部上下文特征提取模块302,用于根据所述词向量提取句子的局部上下文特征;
注意力表示获取模块303,用于根据所述词向量和所述局部上下文特征获取注意力表示;
模型生成模块304,用于将所述注意力表示输入序列标注层,得到用于序列标注的模型。
本发明实施例提供的装置还包括数据预处理模块,用于在将句子转换为词向量之前,对句子进行数据清洗并使用bio方法转换所述句子的格式。
所述局部上下文特征提取模块,具体用于:
将所述词向量输入双层的卷积神经网络模型中,得到表示局部上下文相关性的特征图(featuremap);
将所述特征图(featuremap)转换为局部上下文相关性的特征表示。
进一步地,所述将所述词向量输入双层的卷积神经网络模型中,得到表示局部上下文相关性的特征图(featuremap),包括:
基于选定的核,在句子方向上从左到右进行窗口滑动,对句子进行两层卷积操作,得到表示局部上下文相关性的特征图(featuremap),其中,句子表示为一个l*v的矩阵,l为预设的句子长度,v为对应位置的词向量;特征图(featuremap)表示为n个l′*v的矩阵,n为核的数量,l′≤l。
进一步地,所述将所述特征图(featuremap)转换为局部上下文相关性的特征表示,包括:
将表示为n个l′*v的矩阵的所述特征图(featuremap)做平均值计算得到一个l′*v的向量输出;
利用前馈神经网络层,将所述向量转化成一个指定大小的特征矩阵,即局部上下文相关性的特征表示。
所述注意力表示获取模块,具体用于:
将所述词向量输入改进的多头注意力模型中计算多头注意力,所述改进的多头注意力模型中包括局部上下文特征;
拼接所述多头注意力,得到隐藏层状态输出作为注意力表示。
在所述模型生成模块中,所述序列标注层可以为条件随机场层。
该装置可通过上述实施例一提供的用于序列标注的法实现,具体的实现方法可参见实施例一中的描述,在此不再赘述。
本发明还提供了一种存储器,存储有多条指令,所述指令用于实现如实施例一所述的方法。
本发明还提供了一种电子设备,包括处理器和与所述处理器连接的存储器,所述存储器存储有多条指令,所述指令可被所述处理器加载并执行,以使所述处理器能够执行如实施例一所述的方法。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
1.一种用于序列标注的方法,其特征在于,包括:
将句子转换为词向量;
根据所述词向量提取句子的局部上下文特征;
根据所述词向量和所述局部上下文特征获取注意力表示;
将所述注意力表示输入序列标注层,得到用于序列标注的模型。
2.如权利要求1所述的用于序列标注的方法,其特征在于,在将句子转换为词向量之前,还包括:对句子进行数据清洗并使用bio方法转换所述句子的格式。
3.如权利要求2所述的用于序列标注的方法,其特征在于,所述根据所述词向量提取句子的局部上下文特征,包括:
将所述词向量输入双层的卷积神经网络模型中,得到表示局部上下文相关性的特征图(featuremap);
将所述特征图(featuremap)转换为局部上下文相关性的特征表示。
4.如权利要求3所述的用于序列标注的方法,其特征在于,所述将所述词向量输入双层的卷积神经网络模型中,得到表示局部上下文相关性的特征图(featuremap),包括:
基于选定的核,在句子方向上从左到右进行窗口滑动,对句子进行两层卷积操作,得到表示局部上下文相关性的特征图(featuremap),其中,句子表示为一个l*v的矩阵,l为预设的句子长度,v为对应位置的词向量;特征图(featuremap)表示为n个l′*v的矩阵,n为核的数量,l′≤l。
5.如权利要求4所述的用于序列标注的方法,其特征在于,所述将所述特征图(featuremap)转换为局部上下文相关性的特征表示,包括:
将表示为n个l′*v的矩阵的所述特征图(featuremap)做平均值计算得到一个l′*v的向量输出;
利用前馈神经网络层,将所述向量转化成一个指定大小的特征矩阵,即局部上下文相关性的特征表示。
6.如权利要求2所述的用于序列标注的方法,其特征在于,所述根据所述词向量和所述局部上下文特征获取注意力表示,包括:
将所述词向量输入改进的多头注意力模型中计算多头注意力,所述改进的多头注意力模型中包括局部上下文特征;
拼接所述多头注意力,得到隐藏层状态输出作为注意力表示。
7.如权利要求1所述的用于序列标注的方法,其特征在于,所述序列标注层为条件随机场层。
8.一种用于序列标注的装置,其特征在于,包括:
词向量转换模块,用于将句子转换为词向量;
局部上下文特征提取模块,用于根据所述词向量提取句子的局部上下文特征;
注意力表示获取模块,用于根据所述词向量和所述局部上下文特征获取注意力表示;
模型生成模块,用于将所述注意力表示输入序列标注层,得到用于序列标注的模型。
9.一种存储器,其特征在于,存储有多条指令,所述指令用于实现如权利要求1-7任一项所述的方法。
10.一种电子设备,其特征在于,包括处理器和与所述处理器连接的存储器,所述存储器存储有多条指令,所述指令可被所述处理器加载并执行,以使所述处理器能够执行如权利要求1-7任一项所述的方法。
技术总结