本公开提供了一种自然语言处理方法、装置和设备、介质以及计算机程序产品。本公开的方法基于自然语言处理模型,其包括多个编码块,每个编码块包括编码层和动态路由层,该方法包括:接收输入文本,并将输入文本转换为对应的多个输入向量;对于每个输入向量,将该输入向量输入至多个编码块;由当前编码块的动态路由层接收该输入向量;由动态路由层确定该输入向量在当前编码块处的目标跳跃次数,目标跳跃次数表示模型在针对该输入向量执行到当前编码块处时将跳过的编码块的数量;由动态路由层将该输入向量路由至目标跳跃次数指示的目标编码块处,并从目标编码块处继续执行模型;以及在模型执行结束时,输出与输入文本对应的自然语言处理结果。语言处理结果。语言处理结果。
【技术实现步骤摘要】
自然语言处理方法、装置、设备和介质
[0001]本公开一般涉及自然语言处理领域,并且更具体地涉及一种自然语言处理方法、自然语言处理装置和设备、计算机可读存储介质以及计算机程序产品。
技术介绍
[0002]自然语言处理(Nature Language Processing,NLP)是计算机科学领域与人工智能(Artificial Intelligence,AI)领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
[0003]近年来自然语言处理技术迅猛发展,诸如BERT、XLNET、GPT等的自然语言处理模型先后涌现,随之而来的是模型体量不断增大,以至高达百亿甚至千亿参数量。传统的机器学习模型已经无法满足这种大模型的庞大计算量,基于海量无标注数据的预训练的预训练模型则为此提供了有效的解决之道。然而,虽然预训练模型通过参数高效微调等方式大幅降低了模型微调成本,对于参数量高达百亿甚至千亿的大模型来说,模型训练和预测的时间成本仍然是巨大的。
技术实现思路
[0004]为此,本公开提供了一种自然语言处理方法、自然语言处理装置和设备、计算机可读存储介质以及计算机程序产品。
[0005]根据本公开的一个方面,提供了一种自然语言处理方法,其基于自然语言处理模型,所述模型包括多个编码块,所述多个编码块中的每个编码块包括编码层和动态路由层,所述方法包括:接收输入文本,并将所述输入文本转换为对应的多个输入向量;对于所述多个输入向量中的每个输入向量,将所述输入向量输入至所述多个编码块;由所述多个编码块中的当前编码块的动态路由层接收所述输入向量;由所述动态路由层确定所述输入向量在所述当前编码块处的目标跳跃次数,所述目标跳跃次数表示所述模型在针对所述输入向量执行到所述当前编码块处时将跳过的编码块的数量;由所述动态路由层将所述输入向量路由至所述目标跳跃次数指示的目标编码块处,并从所述目标编码块处继续执行所述模型;以及在所述模型执行结束时,输出与所述输入文本对应的自然语言处理结果。
[0006]根据本公开实施例的示例,其中,确定所述输入向量在所述当前编码块处的跳跃次数包括:基于所述输入向量和多个跳跃向量确定所述输入向量在所述当前编码块处的跳跃次数,其中所述多个跳跃向量中的不同跳跃向量对应于不同的跳跃次数。
[0007]根据本公开实施例的示例,其中,基于所述输入向量和多个跳跃向量确定所述输入向量在所述当前编码块处的跳跃次数包括:对所述输入向量进行非线性激活以生成激活向量;将所述激活向量分别与所述多个跳跃向量进行内积,以得到分别与所述多个跳跃向
量对应的多个跳跃分数;以及基于所述多个跳跃分数确定所述目标跳跃次数。
[0008]根据本公开实施例的示例,,其中,基于所述多个跳跃分数确定所述目标跳跃次数包括:将所述多个跳跃分数中的各个跳跃分数相对于所述多个跳跃分数之和进行归一化,以得到分别与所述多个跳跃分数对应的多个跳跃概率;以及将所述多个跳跃概率中的最大跳跃概率对应的跳跃次数确定为所述目标跳跃次数。
[0009]根据本公开实施例的示例,,其中,所述模型还包括多个第一适配层,所述多个第一适配层中的每个第一适配层位于相应的编码块的输入处,其中,在所述目标编码块不同于所述当前编码块时,从所述目标编码块处继续执行所述模型包括:由所述目标编码块对应的第一适配层接收从所述当前编码块路由的输入向量;对所述输入向量进行第一适配处理,以得到处理后的输入向量,所述处理后的输入向量与所述输入向量的维度相同但数值不同;以及将所述处理后的输入向量输入至所述目标编码块的动态路由层,并从所述目标编码块的动态路由层处继续执行所述模型。
[0010]根据本公开实施例的示例,其中,对所述输入向量进行第一适配处理以得到处理后的输入向量包括:对所述输入向量进行维度变换处理,以得到变换后的输入向量;将所述变换后的输入向量与所述输入向量之和进行层归一化,以得到所述处理后的输入向量。
[0011]根据本公开实施例的示例,其中,在所述目标编码块与所述当前编码块相同时,从所述目标编码块处继续执行所述模型包括:将所述输入向量输入至所述当前编码块的编码层,并从所述当前编码块的编码层处继续执行所述模型。
[0012]根据本公开实施例的示例,其中,所述编码层包括自注意力子层、前馈神经网络子层、以及位于所述自注意力子层和所述前馈神经网络子层之间的第二适配层。
[0013]根据本公开实施例的示例,所述方法还包括:由每个编码块的第二适配层对来自所述自注意力子层的自注意力输出向量进行第二适配处理,并将处理后的自注意力输出向量输入至所述前馈神经网络子层。
[0014]根据本公开实施例的示例,其中,对所述自注意力输出向量进行第二适配处理包括:对所述自注意力输出向量分别进行层归一化和非线性激活,以得到激活后的自注意力输出向量;以及将所述激活后的自注意力输出向量与所述自注意力输出向量相加,以得到所述处理后的自注意力输出向量。
[0015]根据本公开实施例的示例,其中,所述自然语言处理模型通过以下步骤进行训练:接收训练文本集,并将所述训练文本集转换为对应的输入向量集;对于所述输入向量集中的每个输入向量,将所述输入向量输入至所述多个编码块;由所述多个编码块中的当前编码块的动态路由层接收所述输入向量;由所述动态路由层确定所述输入向量在所述当前编码块处的目标跳跃次数;由所述动态路由层将所述输入向量路由至所述目标跳跃次数指示的目标编码块处,并从所述目标编码块处继续执行所述模型;在模型执行结束时,输出与所述训练文本集中的每个训练文本对应的自然语言处理结果;以及基于所述自然语言处理结果,对所述自然语言处理模型进行训练。
[0016]根据本公开的另一方面,提供了一种自然语言处理装置,其基于自然语言处理模型,所述模型包括多个编码块,所述多个编码块中的每个编码块包括编码层和动态路由层,所述装置包括:输入单元,被配置为接收输入文本,并将所述输入文本转换为对应的多个输入向量;处理单元,被配置为对于所述多个输入向量中的每个输入向量,将所述输入向量输
入至所述多个编码块,通过所述多个编码块中的当前编码块的动态路由层接收所述输入向量,确定所述输入向量在所述当前编码块处的目标跳跃次数,所述目标跳跃次数表示所述模型在针对所述输入向量执行到所述当前编码块处时将跳过的编码块的数量,将所述输入向量路由至所述目标跳跃次数指示的目标编码块处,并从所述目标编码块处继续执行所述模型,以及输出单元,被配置为在所述模型执行结束时输出与所述输入文本对应的自然语言处理结果。
[0017]根据本公开实施例的另一方面,提供了一种自然语言处理设备,包括:一个或多个处理器;以及一个或多个存储器,其中所述存储器中存储有本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种自然语言处理方法,其基于自然语言处理模型,所述模型包括多个编码块,所述多个编码块中的每个编码块包括编码层和动态路由层,所述方法包括:接收输入文本,并将所述输入文本转换为对应的多个输入向量;对于所述多个输入向量中的每个输入向量,将所述输入向量输入至所述多个编码块;由所述多个编码块中的当前编码块的动态路由层接收所述输入向量,并确定所述输入向量在所述当前编码块处的目标跳跃次数,所述目标跳跃次数表示所述模型在针对所述输入向量执行到所述当前编码块处时将跳过的编码块的数量;由所述动态路由层将所述输入向量路由至所述目标跳跃次数指示的目标编码块处,并从所述目标编码块处继续执行所述模型;以及在所述模型执行结束时,输出与所述输入文本对应的自然语言处理结果。2.根据权利要求1所述的方法,其中,确定所述输入向量在所述当前编码块处的跳跃次数包括:基于所述输入向量和多个跳跃向量确定所述输入向量在所述当前编码块处的跳跃次数,其中所述多个跳跃向量中的不同跳跃向量对应于不同的跳跃次数。3.根据权利要求2所述的方法,其中,基于所述输入向量和多个跳跃向量确定所述输入向量在所述当前编码块处的跳跃次数包括:对所述输入向量进行非线性激活以生成激活向量;将所述激活向量分别与所述多个跳跃向量进行内积,以得到分别与所述多个跳跃向量对应的多个跳跃分数;以及基于所述多个跳跃分数确定所述目标跳跃次数。4.根据权利要求3所述的方法,其中,基于所述多个跳跃分数确定所述目标跳跃次数包括:将所述多个跳跃分数中的各个跳跃分数相对于所述多个跳跃分数之和进行归一化,以得到分别与所述多个跳跃分数对应的多个跳跃概率;以及将所述多个跳跃概率中的最大跳跃概率对应的跳跃次数确定为所述目标跳跃次数。5.根据权利要求1所述的方法,其中,所述模型还包括多个第一适配层,所述多个第一适配层中的每个第一适配层位于相应的编码块的输入处,其中,在所述目标编码块不同于所述当前编码块时,从所述目标编码块处继续执行所述模型包括:由所述目标编码块对应的第一适配层接收从所述当前编码块路由的输入向量;对所述输入向量进行第一适配处理,以得到处理后的输入向量,所述处理后的输入向量与所述输入向量的维度相同但数值不同;以及将所述处理后的输入向量输入至所述目标编码块的动态路由层,并从所述目标编码块的动态路由层处继续执行所述模型。6.根据权利要求5所述的方法,其中,对所述输入向量进行第一适配处理以得到处理后的输入向量包括:对所述输入向量进行维度变换处理,以得到变换后的输入向量;将所述变换后的输入向量与所述输入向量之和进行层归一化,以得到所述处理后的输入向量。
7.根据权利要求1所述的方法,其中,在所述目标编码块与所述当前编码块相同时,从所述目标编码块处继续执行所述模型包括:将所述输入向量输入至所述当前编码块的编码层,并从所述当前编码块的编码层处继续执行所述模型。8.根据权利要求1所述的方法,其中,所述...
【专利技术属性】
技术研发人员:杨韬,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。