解码处理方法、设备和存储介质技术

技术编号:37846568 阅读:16 留言:0更新日期:2023-06-14 22:31
本公开提供了一种解码处理方法、设备和存储介质,涉及深度学习、自然语言处理等人工智能技术领域。具体实现方案为:获取自然语言生成模型的编码层对输入文本进行编码所得到的编码结果;根据编码结果,确定自然语言生成模型的解码层所引用的预设词表中各个词汇在输入文本的下一个位置上的概率值;根据各个词汇在下一个位置上的概率值,从各个词汇中选择概率值靠前的K个候选词汇;在K个候选词汇在下一个位置上的概率之和大于或者等于预设概率阈值的情况下,从K个候选词中确定出下一个位置上的目标词汇。由此,快速解码出了在输入文本之后的下一个位置上的词汇,提升了自然语言生成模型的解码速度。成模型的解码速度。成模型的解码速度。

【技术实现步骤摘要】
解码处理方法、设备和存储介质


[0001]本公开涉及计算机
,具体涉及深度学习、自然语言处理等人工智能
,尤其涉及解码处理方法、设备和存储介质。

技术介绍

[0002]自然语言处理(Natural Language Processing,NLP)是涉及计算机科学、人工智能(Artificial Intelligence,AI)和语言学的交叉技术,目的是让计算机处理或“理解”自然语言,以执行诸如语言翻译和问题回答等任务。随着语音接口和聊天机器人的兴起,NLP成为了信息时代最重要的技术之一,是人工智能的重要组成部分。
[0003]其中,自然语言生成(Natural Language Generation,NLU)任务是自然语言处理的重要组成部分。目前,在自然语言生成任务中,如何使得自然语言生成模型中的编码层可快速进行解码,对于快速得到自然语言生成任务的结果是重要的。

技术实现思路

[0004]本公开提供了一种用于解码处理方法、设备和存储介质。
[0005]根据本公开的一方面,提供了一种解码处理方法,包括:获取自然语言生成模型的编码层对输入文本进行编码所得到的编码结果;根据所述编码结果,确定所述自然语言生成模型的解码层所引用的预设词表中各个词汇在所述输入文本的下一个位置上的概率值;根据各个词汇在所述下一个位置上的概率值,从各个词汇中选择概率值靠前的K个候选词汇,K为正整数;在所述K个候选词汇在所述下一个位置上的概率之和大于或者等于预设概率阈值的情况下,从所述K个候选词中确定出所述下一个位置上的目标词汇。
[0006]根据本公开的另一方面,提供了一种解码处理装置,包括:第一获取模块,用于获取自然语言生成模型的编码层对输入文本进行编码所得到的编码结果;第一确定模块,用于根据所述编码结果,确定所述自然语言生成模型的解码层所引用的预设词表中各个词汇在所述输入文本的下一个位置上的概率值;选择模块,用于根据各个词汇在所述下一个位置上的概率值,从各个词汇中选择概率值靠前的K个候选词汇,K为正整数;第二确定模块,用于在所述K个候选词汇在所述下一个位置上的概率之和大于或者等于预设概率阈值的情况下,从所述K个候选词中确定出所述下一个位置上的目标词汇。
[0007]根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开的解码处理方法。
[0008]根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本公开实施例公开的解码处理方法。
[0009]根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现本公开的解码处理方法。
[0010]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0011]附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0012]图1是根据本公开第一实施例的示意图;
[0013]图2是根据本公开第一实施例的示意图;
[0014]图3是根据本公开第三实施例的示意图;
[0015]图4是根据本公开第四实施例的示意图;
[0016]图5是根据本公开第五实施例的示意图;
[0017]图6是根据本公开第六实施例的示意图;
[0018]图7是根据本公开一个实施例中的自然语言生成模型的内部结构的示例图;
[0019]图8是根据本公开第七实施例的示意图;
[0020]图9是根据本公开第八实施例的示意图;
[0021]图10是用来实现本公开实施例的解码处理方法的电子设备的框图。
具体实施方式
[0022]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0023]下面参考附图描述本公开实施例的解码处理方法、设备和存储介质。
[0024]图1是根据本公开第一实施例的示意图。
[0025]如图1所示,该解码处理方法可以包括:
[0026]步骤101,获取自然语言生成模型的编码层对输入文本进行编码所得到的编码结果。
[0027]其中,需要说明的是,上述解码处理方法的执行主体为解码处理装置,该解码处理装置可以由软件和/或硬件的方式实现,该实施例中的解码处理装置可以为电子设备,或者,可以配置在电子设备中。
[0028]其中,本示例实施例中电子设备可以包括但不限于终端设备和服务器等设备,该实施例对电子设备不作限定。
[0029]其中,输入文本是指输入到自然语言生成模型的编码层的文本。可以理解的是,在实际应用中,可根据实际需求确定出待输入到该自然语言生成模型的文本,该实施例对输入文本不作具体限定。
[0030]在一些示例性的实施方式中,本示例中的编码层可以为任意可对文本进行编码的编码层。例如,自然语言生成模型的编码层可以为语义增强表示模型中所使用的编码层。在一些示例中,为了进一步提高所确定出下一个位置上的词语的准确性,本示例中的编码层还可以为基于注意力机制的编码层。
[0031]步骤102,根据编码结果,确定自然语言生成模型的解码层所引用的预设词表中各
个词汇在输入文本的下一个位置上的概率值。
[0032]步骤103,根据各个词汇在下一个位置上的概率值,从各个词汇中选择概率值靠前的K个候选词汇,K为正整数。
[0033]其中,K是在解码装置中预先设置的,作为一种示例,可根据预设词表中的词汇总数预先确定出K的取值,并根据所确定出的K的取值在解码装置中来预先设置K。例如,根据预设词表中的词汇总数,确定出K的取值为5,对应地,可在解码装置预先设置K的取值为5。
[0034]在一些示例中,在获取预设词表中的词汇总数M后,根据预设词表中的词汇总数,计算出K的公式如下:
[0035]K=log2(M)
[0036]在一些示例性的实施方式中,在从各个词汇中选择概率值靠前的K个候选词汇的过程中,为了进一步提高自然语言生成模型的解码层的解码速度,可避免对各个词汇在下一个位置上的概率值进行全量排序。其中,无需基于概率值对词表中的词汇进行全量排序,即可从各个词汇中选择出概率值靠前的K个候选词汇的实现方式有多种,示例性说明如下:
[0037]作为一种示例,可采用冒泡排序的方式,对各个词汇在下一个位置上的概率值进行排序,并从排序结果中获取一个概率最大值,并获取该概率最本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种解码处理方法,包括:获取自然语言生成模型的编码层对输入文本进行编码所得到的编码结果;根据所述编码结果,确定所述自然语言生成模型的解码层所引用的预设词表中各个词汇在所述输入文本的下一个位置上的概率值;根据各个词汇在所述下一个位置上的概率值,从各个词汇中选择概率值靠前的K个候选词汇,K为正整数;在所述K个候选词汇在所述下一个位置上的概率之和大于或者等于预设概率阈值的情况下,从所述K个候选词中确定出所述下一个位置上的目标词汇。2.根据权利要求1所述的方法,其中,所述根据各个词汇在所述下一个位置上的概率值,从各个词汇中选择概率值靠前的K个候选词汇,包括:对各个词汇进行分组处理,以得到多个词汇组;针对各个词汇组,根据所述词汇组中各个词汇在所述下一个位置上的概率值,从所述词汇组中选择出概率值靠前的M个候选词汇,其中,M为正整数,并且M小于K;根据各个所述词汇组所确定出的M个候选词汇,确定出概率值靠前的所述K个候选词汇。3.根据权利要求2所述的方法,其中,通过多个线程对所述多个词汇组进行并行处理,所述针对各个词汇组,根据所述词汇组中各个词汇在所述下一个位置上的概率值,从所述词汇组中选择出概率值靠前的M个候选词汇,包括:针对每个线程:从所述多个词汇组中获取一个未被进行处理的目标词汇组;调用所述线程,根据所述目标词汇组中各个词汇在所述下一个位置上的概率值,从所述目标词汇组中选择出概率值靠前的M个候选词汇。4.根据权利要求2所述的方法,其中,在所述根据各个词汇在所述下一个位置上的概率值,从各个词汇中选择概率值靠前的K个候选词汇之前,所述方法还包括:根据所述预设词表中的词汇总数,确定所述K的取值;根据所述K的取值,确定所述M的取值。5.根据权利要求4所述的方法,其中,所述根据所述K的取值,确定所述M的取值,包括:获取所述K的取值除以第一预设值所得到的商值;将所述商值和第二预设值中的最小值作为所述M的取值。6.根据权利要求1所述的方法,其中,所述方法还包括:在所述K个候选词汇在所述下一个位置上的概率之和小于预设概率阈值的情况下,按照所述概率值从大到小的顺序,对各个词汇进行排序,以得到排序结果;针对第i轮迭代,按照多个线程束的调用顺序,依次调用每个线程束从所述排序结果中获取L个词汇的概率值,其中,L等于所述线程束中的线程个数,其中,i为大于1的整数;针对每个线程束,将第i

1轮迭代中所述线程束计算得到的第一概率累积值与所述第i轮迭代中所述线程束获取的L个词汇的概率值进行加和处理,得到所述第i轮迭代中所述线程束计算得到的第二概率累积值;在存在第二概率累积值大于或者等于所述预设概率阈值的目标线程束的情况下,根据所述目标线程束中各个线程在第i轮迭代中所获取的概率值所对应的词汇,确定所述下一
个位置上的目标词汇。7.根据权利要求6所述的方法,其中,所述根据所述目标线程束中各个线程在第i轮迭代中所获取的概率值所对应的词汇,确定所述下一个位置上的目标词汇,包括:从所述目标线程束获取目标线程,其中,所述目标线程所获取的概率值、所述目标线程束中在所述目标线程之前的各个线程所获取的概率值以及所述第一概率累积值的总和大于或者等于所述预设概率阈值,并且所述目标线程束中在所述目标线程之前的各个线程所获取的概率值以及所述第一概率累积值的总和小于所述预设概率阈值;确定所述目标线程在第i轮迭代中所处理的概率值所对应的词汇在所述排序结果中的位置;根据所述位置,从所述排序结果中获取词汇,将所获取到的词汇作为目标词汇。8.根据权利要求7所述的方法,其中,所述确定所述目标线程在第i轮迭代中所处理的概率值所对应的词汇在所述排序结果中的位置,包括:根据m、所述多个线程束的数量以及所述L,确定前i

1轮迭代中所获取的概率值的总数,其中,m等于i

1;获取所述目标线程束的调用序号;获取所述目标线程在所述目标线程束中的序号;根据所述总数、所述调用序号、所述L和所述序号,确定所述目标线程在第i轮迭代中所处理的概率值所对应的词汇在所述排序结果中的位置。9.根据权利要求1

8中任一项所述的方法,其中,所述方法还包括:对所述预设概率阈值进行缩小处理。10.根据权利要求9所述的方法,其中,所述对所述预设概率阈值进行缩小处理,包括:获取0到1之间的随机数;根据所述随机数,对所述预设概率阈值进行缩小处理。11.根据权利要求9所述的方法,其中,所述从所述K个候选词中确定出所述下一个位置上的目标词汇,包括:将所述K个候选词汇中概率最小的候选词汇作为所述下一个位置上的目标词汇。12.一种解码处理装置,包括:第一获取模块,用于获取自然语言生成模型的编码层对输入文本进行编码所得到的编码结果;第一确定模块,用于根据所述编码结果,确定所述自然语言生成模型的解码层所引用的预设词表中各个词汇在所述输入文本的下...

【专利技术属性】
技术研发人员:李振宇
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1