一种基于乱序重排的自然语言模型预训练方法及电子设备与流程

    专利2022-07-08  112


    【技术领域】

    本发明涉及语言处理技术领域,尤其涉及一种基于乱序重排的自然语言模型预训练方法及电子设备。



    背景技术:

    语言模型的预训练是自然语言处理的重要先行步骤,其目的是从大规模未经标注的语料中,学习字或词的表达方式——高维空间的一个向量。预训练的意义在于为后续的特定任务的训练提供初始化的字词表达向量,进而降低后续任务的训练时间,提升后续任务的效果。因此,一个好的预训练方法,对自然语言处理的大量任务,有至关重要的作用。

    近年来,深度学习方法被应用在语言模型的预训练中,取得了良好的结果。其使用的预训练语料有多种来源,如维基百科,新闻语料,医疗问答语料和财报数据等。根据训练模型对字、词表达方式的不同,预训练方法可以分为以下两种:

    基于传统语言模型的字词表达的nlp预训练方法。

    该类方法中,每个词被一个固定的词向量表示。获取词向量的主要算法有skip-gram和continuousbag-of-words,二者均通过优化词预测任务(即给定一部分文本,预测未出现文本),来迫使系统学习字、词的表达。前者旨在给出一个词的上下文文本,任务是预测这个词;后者则给定一个词预测其附近的词。这样的方法虽然通过上下文关系对词向量进行学习,但是在训练过程结束后,词向量将被固定。在测试环节中,在不同上下文中出现的同一个词将保持同一种词向量表达。这样的固定表达忽略了上下文对理解词义的影响,因此在最终效果上低于下述的第二种预训练方法:

    基于上下文的字词表达的nlp预训练方法。

    为了解决传统语言模型的问题,近年来谷歌、facebook等公司陆续提出了多种基于上下文字词表达的预训练方法,即同一个词的词向量表示与其所处的上下文环境有关。该类方法最成功的例子是transformer结构:输入一个句子,其中的每个词通过自注意力机制与句子中的其他词产生联系,从而最终被表达成一个含有上下文信息的向量。

    该类方法也可以被分为两类,分别是自回归语言模型(autoregressivemodel)与自编码语言模型(autoencodingmodel)。

    gpt和gpt2是表现较好的自回归语言模型,其训练目标是根据前文来正确推测下一个字。其缺点为在模型的训练和词向量的生成中仅考虑了前文的信息,而忽略了后文的信息。

    bert(bidirectionalencoderrepresentationsfromtransformer)是代表性的自编码语言模型,其训练目标是根据上下文正确推测出被遮盖或替换的字。bert可以同时利用上下文信息,但是其中在预训练过程中,为了遮盖推测目标字,<mask>标记被加入训练语料用于替换原来的目标字。因此,bert也可以看做对文本施加<mask>干扰,再训练模型去除这种干扰的训练方法。

    bert有两个缺点:从后续任务的角度看,<mask>作为一种特殊干扰,其本身不会出现在针对特定任务的微调整过程中,因此语言模型在预训练时的输入与后续任务的输入并不匹配,进而影响了模型在后续任务中表现。从训练任务的角度看,恢复<mask>干扰需要的信息有限,模型在训练时提取上下文信息中对预测某一个位置词有帮助的信息,而忽略了文本的整体信息、非预测词之间的相关信息。近期,一系列针对bert的改进模型如mass,ernie等,虽然扩充了被预测词的范围,但其仍是基于<mask>词语的预测,无法克服bert模型本身的缺点。

    综上,目前的自然语言模型存在信息提取不完善,导致后续任务效果不佳的问题。



    技术实现要素:

    针对现有的语言模型存在信息提取不完善,导致后续任务效果不佳的缺陷,本发明提供一种基于乱序重排的自然语言模型预训练方法及电子设备。

    为了解决上述技术问题,本发明提供一种基于乱序重排的自然语言模型预训练方法,其包括如下步骤:s1、提供一个顺序恢复网络及预训练文本;s2、按照词级别或者句级分别将所述预训练文本的顺序打乱以获得词级训练文本或句级训练文本;s3、将打乱顺序的词级训练文本的每个词转化为输入词向量或者对所述句级训练文本的每个句子提取句意以获得与每个句子对应的输入句向量;s4、将所述输入词向量或所述输入句向量输入至顺序恢复网络中以获得与词级训练文本或句级训练文本对应的预测顺序概率分布;s5、根据所述预测顺序概率分布和所述词级训练文本的真实顺序对比或者根据所述预测顺序概率分布和所述句级训练文本的真实顺序对比以对顺序恢复网络进行优化;s6、重复上述步骤s2-s5直至顺序恢复网络达到设定的优化条件以获得优化后的顺序恢复网络。

    优选地,所述步骤s4包括如下步骤:步骤s41、将所述输入词向量和所述输入句向量输入至所述顺序恢复网络中以获得与所述输入词向量对应的输出词向量或与所述输入句向量对应的输出句向量;步骤s42、将所述输出词向量或所述输出句向量分别转化为句向量或段落向量;及步骤s43、将所述步骤s42中的句向量或段落向量分别和所述输入词向量或输入句向量比对以获得预测顺序概率分布;或者将所述步骤s42中的句向量或段落向量分别和所述步骤s41中输出词向量和输出句向量比对以获得预测顺序概率分布。

    优选地,在所述步骤s41中,将所述输入词向量输入至所述顺序恢复网络中之前在所述词级训练文本的句首添加一个[cls]字符,同时将所述[cls]字符转化为输入词向量,同时将所述[cls]字符的输入词向量输入至所述顺序恢复网络中,所述[cls]字符经所述顺序恢复网络输出之后代表所述预训练句子的句向量。

    优选地,在所述步骤s41中,将所述输入句向量输入至所述顺序恢复网络中之前在所述句级训练文本的段首添加一个[cls]字符,同时将所述[cls]字符转化为输入句向量,同时将所述[cls]字符的输入句向量输入至所述顺序恢复网络中进行转化,所述[cls]字符经所述顺序恢复网络输出之后代表所述句级训练文本的段落向量。

    优选地,在上述步骤s3中,通过transformer网络框架将所述句级训练文本的每个句子提取句意以获得与每个句子对应的输入句向量。

    优选地,通过transformer网络框架将所述句级训练文本的每个句子提取句意以获得与每个句子对应的输入句向量的步骤和所述步骤s41中将所述输入词向量输入至所述顺序恢复网络中以获得与所述输入词向量对应的词向量以及步骤s42中将所述词向量转化为句向量的步骤相同,所述步骤s42中的句向量即对应为句级训练文本中每个句子对应的输入句向量。

    优选地,基于乱序重排的自然语言模型预训练方法还可以包括如下步骤:步骤s20、将所述词级训练文本中的部分字符按照预设比例进行覆盖或替换;此时所述步骤s43中的输入词向量对应为所述词级训练文本中的字符不被覆盖或者替换时的输入词向量,所述步骤s20在所述步骤s2和所述步骤s3之间。

    优选地,所述顺序恢复网络包括transformer网络框架和pointernetwork网络框架;其中,所述transformer网络框架用于执行所述步骤s41和所述步骤s42;pointernetwork网络框架用于执行所述步骤s43和所述步骤s5。

    优选地,所述输入层供输入词向量或输入句向量输入;所述转化层用于将输入的输入词向量或输入句向量对应转化为输出词向量或输出句向量;所述转化层为多层结构组成;所述输出层用于将输出词向量和输出句向量输出、以及将与所述[cls]字符的输入词向量对应的句向量、以及将与所述[cls]字符的输入句向量对应的段落向量输出。

    为了解决上述技术问题,本发明还提供一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被设置为运行时执行如上所述的所述的基于乱序重排的自然语言模型预训练方法;所述处理器被设置为通过所述计算机程序执行如上所述的所述的基于乱序重排的自然语言模型预训练方法。

    与现有技术相比,本发明提供的基于乱序重排的自然语言模型预训练方法及顺序恢复网络具有如下有益效果:

    首先提供一个顺序恢复网络和预训练文本,按照词级别或者句级分别将所述预训练文本的顺序打乱以获得词级训练文本或句级训练文本;将打乱顺序的词级训练文本的每个词转化为输入词向量或者对所述句级训练文本的每个句子提取句意以获得与每个句子对应的输入句向量;将所述输入词向量或所述输入句向量输入至顺序恢复网络中以获得与词级训练文本或句级训练文本对应的预测顺序概率分布;根据所述预测顺序概率分布和所述词级训练文本的真实顺序对比或者和所述句级训练文本的真实顺序对比从而对顺序恢复网络进行优化,能在多个层次上提取上下文信息,生成更准确的词向量、句向量表达,使得下游任务比如:中文分词,词性标注,实体识别,情感分析,文档分类等更加容易进行。

    本发明提供的顺序恢复网络中,transformer网络框架和pointernetwork网络框架是多样性的,是可替代的,在执行步骤s2时,不管是对预训练文本的顺序进行打乱或者是在打乱顺序的同时引入“mask”噪声,本发明不但可以通过乱序恢复任务进行自然语言模型的预训练,还可以同时通过“mask”词预测任务和乱序恢复任务进行自然语言模型的预训练。

    【附图说明】

    图1是本发明第一实施例中基于乱序重排的自然语言模型预训练方法的流程示意图;

    图2是本发明中第一实施例中步骤s3的细节流程示意图;

    图3是本发明中第一实施例中通过transformer网络框架获取与句级训练文本对应的的输入句向量的框架示意图;

    图4是本发明第一实施例中步骤s4的细节流程图;

    图5是本发明第一实施例中当预训练文本为词级训练文本时的顺序恢复网络的框架示意图;

    图6是本发明第一实施例中当预训练文本为词级训练文本时变形实施例中的顺序恢复网络的框架示意图;

    图7是本发明第一实施例中当预训练文本为句级训练文本时的顺序恢复网络的框架示意图;

    图8是本发明第一实施例中当预训练文本为句级训练文本时变形实施例中的顺序恢复网络的框架示意图;

    图9是本发明第一实施例中基于乱序重排的自然语言模型预训练方法中变形实施例的流程示意图;

    图10是本发明第一实施例中基于乱序重排的自然语言模型预训练方法中变形实施例中的顺序恢复网络的框架结构示意图;

    图11是本发明第二实施例中提供的电子设备的模块示意图;

    图12是适于用来实现本发明实施例的服务器的计算机系统的结构示意图。

    附图标记说明:

    10、transformer网络框架;101、输入层;102、转化层;103、输出层;20、transformer网络框架;201、输入层;202、转化层;203、输出层;30、pointernetwork网络框架;60、电子设备;601、存储器;602、处理器;800、计算机系统;801、中央处理单元(cpu);802、存储器(rom);803、ram;804、总线;805、i/o接口;806、输入部分;807、输出部分;808、存储部分;809、通信部分;810、驱动器;811、可拆卸介质。

    【具体实施方式】

    为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图及实施实例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

    请参阅图1,本发明第一实施例提供一种基于乱序重排的自然语言模型预训练方法,其包括如下步骤:

    s1、提供一个顺序恢复网络及预训练文本;

    s2、按照词级别或者句级分别将所述预训练文本的顺序打乱以获得词级训练文本或句级训练文本;

    s3、将打乱顺序的词级训练文本的每个词转化为输入词向量或者对所述句级训练文本的每个句子提取句意以获得与每个句子对应的输入句向量;

    s4、将所述输入词向量或所述输入句向量输入至顺序恢复网络中以获得与词级训练文本或句级训练文本对应的预测顺序概率分布;

    s5、根据所述预测顺序概率分布和所述词级训练文本的真实顺序对比或者根据所述预测顺序概率分布和所述句级训练文本的真实顺序对比从而对顺序恢复网络进行优化;

    s6、重复上述步骤s2-s5直至顺序恢复网络达到设定的优化条件以获得优化后的顺序恢复网络。

    在所述步骤s1中,所述预训练文本的获得从维基百科、新闻语料、医疗问答语料和财报数据等纯文本文件选取获得。

    在所述步骤s2中,当按照词级别将所述预训练文本的顺序打乱时,首先需要将预训练文本中每个句子划分为词,然后在每个句子内将划分的词打乱即可获得词级训练文本。通常通过现有的分词算法对每个句子实现分词。现有的分词算法有基于词典的分词算法、基于理解的分词算法和基于统计的机器学习算法等。其中基于统计的机器学习算法包括hmm、crf、svm深度学习等算法。比如,stanford、hanlp分词工具是基于crf算法实现的。本实施例中,采用stanford分词工具对每个句子进行分词。比如,本实施例中的预训练文本的其中一个句子为:“我爱吃苹果”,对其进行分词之后对应为:“我”、“爱”、“吃”、“苹果”,随机将其打乱顺序之后获得词级训练文本为:“我苹果吃爱”。“我苹果吃爱”只是其中的一种顺序,还可以是其他的排列顺序。

    同样可以理解的是,比如预训练文本为一段话时,将该段话的每个句子在段内打乱即可获得句级训练文本。

    在所述步骤s3中,通过随机化的方式或者函数映射的方法将所述词级训练文本中的每个词转化为输入词向量。可以理解,通过随机化的方式,也即将所述词级训练文本中的每个词随机赋予一个初始值,该值是可以通过人为设定的。当然,也可以通过函数映射的方式将词级训练文本中的每个词转化为输入词向量。可选地,通过google在2013年发布的word2vec模型将词级训练文本中的每个词转化为输入词向量。

    请参阅图2,在步骤s3中,通过transformer网络框架将所述句级训练文本的每个句子提取句意以获得与每个句子对应的输入句向量。其中,transformer网络框架是google的论文《attentionisallyouneed》中提出的结构。具体包括如下步骤:

    步骤s31、将所述预训练文本中的每个句子进行分词;

    步骤s32、将分词之后的每个句子中的每个词转化为输入词向量;

    步骤s33、在所述每个句子的句首添加一个[cls]字符且将所述[cls]转化为初始字符向量;

    步骤s34、将所述步骤s32中的输入词向量和所述步骤s33中的初始字符向量输入至所述transformer网络框架以获得与每个句子对应的输入句向量。

    其中,所述步骤s31中,将所述预训练文本中的每个句子进行分词的方式和词级训练文本中进行分词的方式相同。

    步骤s32中,将分词之后的每个句子中的每个词转化为输入词向量和方式和词级训练文本中的将每个词转化为输入词向量的方式相同。

    在步骤s33中,将所述[cls]字符转化为初始字符向量的方式和词级训练文本中的每个词转化为输入词向量的方式相同。

    请参阅图3,所述transformer网络框架10包括:输入层101、转化层102和输出层103,其中,

    所述输入层101供所述步骤s32中的输入词向量和所述步骤s33中的初始字符向量输入。如图3中所示,所述句级预训练文本中的其中一个句子为“我爱吃苹果”,对其进行分词之后对应为:“我”、“爱”、“吃”、“苹果”。因此,输入层101中输入的为“我”、“爱”、“吃”、“苹果”对应的输入词向量。

    所述转化层102用于将输入的输入词向量或初始字符向量转化为输出词向量;所述转化层102的层数为多个,如图3中所示的layer1转化层102至layern转化层102。其中,每一层转化层102包括一个multi-headselfattention(多头自注意力机制)和一个feedforward(前馈神经网络)。其中的每个词的输入词向量通过multi-headselfattention(多头自注意力机制)以及feedforward(前馈神经网络)与句子中的其他词产生联系,从而最终被表达成一个含有上下文信息的输出词向量。

    所述输出层103用于将输出词向量输出,其中与[cls]的初始字符向量对应的输出词向量即为句级训练文本中该句的输入句向量。

    在上述步骤s4中,将所述输入词向量或所述输入句向量输入至顺序恢复网络中以获得与词级训练文本或句级训练文本对应的预测顺序概率分布。

    请参阅图4,所述步骤s4包括如下步骤:

    步骤s41、将所述输入词向量和所述输入句向量输入至所述顺序恢复网络中以获得与所述输入词向量对应的输出词向量或与所述输入句向量对应的输出句向量;

    步骤s42、将所述输出词向量或所述输出句向量分别转化为句向量或段落向量;及

    步骤s43、将所述步骤s42中的句向量或段落向量分别和所述输入词向量或输入句向量比对以获得预测顺序概率分布;或者将所述步骤s42中的句向量或段落向量分别和所述步骤s41中输出词向量和输出句向量比对以获得预测顺序概率分布。

    在所述步骤s41中,将所述输入词向量输入至所述顺序恢复网络中之前在所述词级训练文本的句首添加一个[cls]字符,同时将所述[cls]字符转化为输入词向量,同时将所述[cls]字符的输入词向量输入至所述顺序恢复网络中,所述[cls]字符经所述顺序恢复网络输出之后代表所述预训练句子的句向量。也即,经过步骤s42之后,所述[cls]字符经所述顺序恢复网络输出之后代表所述词级训练文本的句向量。

    在所述步骤s41中,将所述输入句向量输入至所述顺序恢复网络中之前在所述句级训练文本的段首添加一个[cls]字符,同时将所述[cls]字符转化为输入句向量,同时将所述[cls]字符的输入句向量输入至所述顺序恢复网络中,所述[cls]字符经所述顺序恢复网络输出之后代表所述句级训练文本的段落向量。也即,经过步骤s42之后,所述[cls]字符经所述顺序恢复网络输出之后代表所述句级训练文本的段落向量。

    在上述步骤s5中,根据所述预测顺序概率分布和所述词级训练文本的真实顺序对比或者和所述句级训练文本的真实顺序对比从而对顺序恢复网络进行优化。在本步骤中,将与词级训练文本对应的预测顺序概率分布和所述词级训练文本的真实顺序对比从而对顺序恢复网络进行优化,或者将与句级训练文本对应的预测顺序概率分布和所述句级训练文本的真实顺序对比从而对顺序恢复网络进行优化。

    所述步骤s5包括如下步骤:

    s51、建立关于所述顺序恢复网络的目标函数;

    s52、根据所述预测顺序概率分布计算所述目标函数;及

    s53、对所述目标函数求导并更新所述顺序恢复网络的参数。

    在上述步骤s6中,重复上述步骤s2-s5直至顺序恢复网络达到设定的优化条件以获得优化后的顺序恢复网络。在本步骤中,设定的优化条件对应为目标函数收敛时的状态。

    请参阅图5,在上述步骤中,所述顺序恢复网络为基于现有的自编码语言模型进行改进获得的,现有的自编码语言模型其包括但不限于bert(bidirectionalencoderrepresentationsfromtransformer)语言模型。所述顺序恢复网络包括transformer网络框架20和pointernetwork网络框架30。其中,transformer网络框架20和步骤s3中用到的transformer网络框架10相同,均是google的论文《attentionisallyouneed》中提出的结构。

    所述transformer网络框架20用于执行所述步骤s41和所述步骤s42;

    所述pointernetwork网络框架30用于执行所述步骤s43和所述步骤s5。

    请继续参阅图5,所述transformer网络框架20包括输入层201、转化层202和输出层203;其中,图5示出的是当所述预训练文本为词级训练文本时的网络框架结构。

    所述输入层201供输入词向量输入;

    所述转化层202用于将输入的输入词向量转化为输出词向量;所述转化层202为多层结构组成。如图5中所示的layer1转化层202至layern转化层202。其中,每一层转化层202包括一个multi-headselfattention(多头自注意力机制)和一个feedforward(前馈神经网络)。其中的每个词的输入词向量通过multi-headselfattention(多头自注意力机制)以及feedforward(前馈神经网络)与句子中的其他词产生联系,从而最终被表达成一个含有上下文信息的输出词向量。

    所述输出层203用于将输出词向量输出;其中与[cls]的初始字符向量对应的输出词向量即为词级训练文本中的句向量(sentencerepresentation)。

    在所述pointernetwork网络框架30中,将所述步骤s42中的句向量分别和所述输入词向量比对以获得预测顺序概率分布。

    在一些其他实施方式中,还可以将所述步骤s42中的句向量和所述步骤s41中输出词向量比对以获得预测顺序概率分布;同时,根据所述预测顺序概率分布和所述词级训练文本的真实顺序对比从而对顺序恢复网络进行优化。此时,对应的顺序恢复的网络框架如图6所示。

    请参阅图7,在图7中示出了当所述预训练文本为句级训练文本的框架结构图。

    所述输入层201供输入句向量输入;

    所述转化层202用于将输入句向量转化为输出句向量;所述转化层202为多层结构组成。如图6中所示的layer1至layern层。其中,每一层转化层202包括一个multi-headselfattention(多头自注意力机制)和一个feedforward(前馈神经网络)。其中的每个词的输入句向量通过multi-headselfattention(多头自注意力机制)以及feedforward(前馈神经网络)与段落中的其他句子产生联系,从而最终被表达成一个含有上下文信息的输出句向量。

    所述输出层203用于将输出句向量输出;其中与[cls]的初始字符向量对应的输出句向量即为句级训练文本中的段落向量(textrepresentation)。

    在所述pointernetwork网络框架30中,将所述步骤s42中的段落向量和所述输入句向量比对以获得预测顺序概率分布。

    在一些其他实施方式中,还可以通过将所述步骤s42中的段落向量和所述步骤s41中的输出句向量比对以获得预测顺序概率分布;同时,根据所述预测顺序概率分布和所述句级训练文本的真实顺序对比从而对顺序恢复网络进行优化,此时,对应的顺序恢复网路的框架图如图8所示。

    请参阅图9,基于乱序重排的自然语言模型预训练方法还包括如下步骤:步骤s20、将所述词级训练文本中的部分字符按照预设比例进行覆盖或替换,所述步骤s20在所述步骤s2和所述步骤s3之间。此时所述步骤s43中的输入词向量对应为所述词级训练文本中的字符不被覆盖或者替换时的输入词向量,其具体的顺序恢复网络的框架结构图如图10所示。

    请参阅图11,本发明的第二实施例提供一种电子设备60,包括存储器601和处理器602,所述存储器601中存储有计算机程序,所述计算机程序被设置为运行时执行如第一实施例所述的结合类词信息的语言模型预训练方法;

    所述处理器602被设置为通过所述计算机程序执行如第一实施例所述的结合类词信息的语言模型预训练方法。

    下面参考图12,其示出了适于用来实现本申请实施例的终端设备/服务器的计算机系统800的结构示意图。图8示出的终端设备/服务器仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

    如图12所示,计算机系统800包括中央处理单元(cpu)801,其可以根据存储在只读存储器(rom)802中的程序或者从存储部分808加载到随机访问存储器(ram)803中的程序而执行各种适当的动作和处理。在ram803中,还存储有系统800操作所需的各种程序和数据。cpu801、rom802以及ram803通过总线804彼此相连。输入/输出(i/o)接口805也连接至总线804。

    以下部件连接至i/o接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至i/o接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。

    根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(cpu)801执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是—但不限于—电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

    可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c ,还包括常规的过程式程序设计语言—诸如“如“语言或类似的程序设计语言。程序代码可以完全地在管理端计算机上执行、部分地在管理端计算机上执行、作为一个独立的软件包执行、部分在管理端计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)域连接到管理端计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

    附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

    与现有技术相比,本发明提供的基于乱序重排的自然语言模型预训练方法及顺序恢复网络具有如下有益效果:

    首先提供一个顺序恢复网络和预训练文本,按照词级别或者句级分别将所述预训练文本的顺序打乱以获得词级训练文本或句级训练文本;将打乱顺序的词级训练文本的每个词转化为输入词向量或者对所述句级训练文本的每个句子提取句意以获得与每个句子对应的输入句向量;将所述输入词向量或所述输入句向量输入至顺序恢复网络中以获得与词级训练文本或句级训练文本对应的预测顺序概率分布;根据所述预测顺序概率分布和所述词级训练文本的真实顺序对比或者和所述句级训练文本的真实顺序对比从而对顺序恢复网络进行优化,能在多个层次上提取上下文信息,生成更准确的词向量、句向量表达,使得下游任务比如:中文分词,词性标注,实体识别,情感分析,文档分类等更加容易进行。

    本发明提供的顺序恢复网络中,transformer网络框架和pointernetwork网络框架是多样性的,是可替代的,在执行步骤s2时,不管是对预训练文本的顺序进行打乱或者是在打乱顺序的同时引入“mask”噪声,本发明不但可以通过乱序恢复任务进行自然语言模型的预训练,还可以同时通过“mask”词预测任务和乱序恢复任务进行自然语言模型的预训练。

    以上所述仅为本发明较佳实施例而已,并不用以限制本发明,凡在本发明原则之内所作的任何修改,等同替换和改进等均应包含本发明的保护范围之内。


    技术特征:

    1.一种基于乱序重排的自然语言模型预训练方法,其特征在于:其包括如下步骤:

    s1、提供一个顺序恢复网络及预训练文本;

    s2、按照词级别或者句级分别将所述预训练文本的顺序打乱以获得词级训练文本或句级训练文本;

    s3、将打乱顺序的词级训练文本的每个词转化为输入词向量或者对所述句级训练文本的每个句子提取句意以获得与每个句子对应的输入句向量;

    s4、将所述输入词向量或所述输入句向量输入至顺序恢复网络中以获得与词级训练文本或句级训练文本对应的预测顺序概率分布;

    s5、根据所述预测顺序概率分布和所述词级训练文本的真实顺序对比或者根据所述预测顺序概率分布和所述句级训练文本的真实顺序对比以对顺序恢复网络进行优化;

    s6、重复上述步骤s2-s5直至顺序恢复网络达到设定的优化条件以获得优化后的顺序恢复网络。

    2.如权利要求1所述的基于乱序重排的自然语言模型预训练方法,其特征在于:所述步骤s4包括如下步骤:

    步骤s41、将所述输入词向量和所述输入句向量输入至所述顺序恢复网络中以获得与所述输入词向量对应的输出词向量或与所述输入句向量对应的输出句向量;

    步骤s42、将所述输出词向量或所述输出句向量分别转化为句向量或段落向量;及

    步骤s43、将所述步骤s42中的句向量或段落向量分别和所述输入词向量或输入句向量比对以获得预测顺序概率分布;或者将所述步骤s42中的句向量或段落向量分别和所述步骤s41中输出词向量和输出句向量比对以获得预测顺序概率分布。

    3.如权利要求2所述的基于乱序重排的自然语言模型预训练方法,其特征在于:在所述步骤s41中,将所述输入词向量输入至所述顺序恢复网络中之前在所述词级训练文本的句首添加一个[cls]字符,同时将所述[cls]字符转化为输入词向量,同时将所述[cls]字符的输入词向量输入至所述顺序恢复网络中进行转化,所述[cls]字符经所述顺序恢复网络输出之后代表所述预训练句子的句向量。

    4.如权利要求2所述的基于乱序重排的自然语言模型预训练方法,其特征在于:在所述步骤s41中,将所述输入句向量输入至所述顺序恢复网络中之前在所述句级训练文本的段首添加一个[cls]字符,同时将所述[cls]字符转化为输入句向量,同时将所述[cls]字符的输入句向量输入至所述顺序恢复网络中进行转化,所述[cls]字符经所述顺序恢复网络输出之后代表所述句级训练文本的段落向量。

    5.如权利要求1所述的基于乱序重排的自然语言模型预训练方法,其特征在于:在上述步骤s3中,通过transformer网络框架将所述句级训练文本的每个句子提取句意以获得与每个句子对应的输入句向量。

    6.如权利要求5所述的基于乱序重排的自然语言模型预训练方法,其特征在于:通过transformer网络框架将所述句级训练文本的每个句子提取句意以获得与每个句子对应的输入句向量的步骤和所述步骤s41中将所述输入词向量输入至所述顺序恢复网络中以获得与所述输入词向量对应的词向量以及步骤s42中将所述词向量转化为句向量的步骤相同,所述步骤s42中的句向量即对应为句级训练文本中每个句子对应的输入句向量。

    7.如权利要求2所述的基于乱序重排的自然语言模型预训练方法,其特征在于:基于乱序重排的自然语言模型预训练方法还可以包括如下步骤:步骤s20、将所述词级训练文本中的部分字符按照预设比例进行覆盖或替换;此时所述步骤s43中的输入词向量对应为所述词级训练文本中的字符不被覆盖或者替换时的输入词向量,所述步骤s20在所述步骤s2和所述步骤s3之间。

    8.如权利要求2所述的基于乱序重排的自然语言模型预训练方法,其特征在于:所述顺序恢复网络包括transformer网络框架和pointernetwork网络框架;其中,

    所述transformer网络框架用于执行所述步骤s41和所述步骤s42;

    所述pointernetwork网络框架用于执行所述步骤s43和所述步骤s5。

    9.如权利要求8所述的基于乱序重排的自然语言模型预训练方法,其特征在于:所述transformer网络框包括输入层、转化层和输出层;其中,

    所述输入层供输入词向量或输入句向量输入;

    所述转化层用于将输入的输入词向量或输入句向量对应转化为输出词向量或输出句向量;所述转化层为多层结构组成;

    所述输出层用于将输出词向量和输出句向量输出、以及将与所述[cls]字符的输入词向量对应的句向量、以及将与所述[cls]字符的输入句向量对应的段落向量输出。

    10.一种电子设备,包括存储器和处理器,其特征在于:所述存储器中存储有计算机程序,所述计算机程序被设置为运行时执行所述权利要求1至9任一项中所述的基于乱序重排的自然语言模型预训练方法;

    所述处理器被设置为通过所述计算机程序执行所述权利要求1至9任一项中所述的基于乱序重排的自然语言模型预训练方法。

    技术总结
    本发明涉及语言处理技术领域,尤其涉及一种基于乱序重排的自然语言模型预训练方法及电子设备,其包括如下步骤:S1、提供顺序恢复网络及预训练文本;S2、获得词级训练文本或句级训练文本;S3、将词级训练文本的每个词转化为输入词向量或者输入句向量;S4、将输入词向量或输入句向量输入至顺序恢复网络中以获得预测顺序概率分布;S5、根据预测顺序概率分布和词级训练文本的真实顺序对比或者和句级训练文本的真实顺序对比从而对顺序恢复网络进行优化;S6、重复上述步骤S2‑S5直至顺序恢复网络达到设定的优化条件。本发明提供的基于乱序重排的自然语言模型预训练方法及顺序恢复网络从而可在多个层次上提取上下文信息,使得下游任务更加容易进行。

    技术研发人员:宋思睿;宋彦
    受保护的技术使用者:创新工场(广州)人工智能研究有限公司
    技术研发日:2019.08.22
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-20096.html

    最新回复(0)