掌桥专利:专业的专利平台
掌桥专利
首页

文本处理方法、装置、电子设备及存储介质

文献发布时间:2024-04-18 19:59:31


文本处理方法、装置、电子设备及存储介质

技术领域

本申请涉及互联网通信技术领域,尤其涉及一种文本处理方法、装置、电子设备及存储介质。

背景技术

随着互联网通信技术的发展,各类互联网产品层出不穷。相关互联网产品可以提供文本处理服务。所提供的文本处理服务可以关注于文本改写,基于历史文本对输入文本进行改写,旨在使得改写结果呈现的信息更完整。相关技术中,训练改写模型来进行文本改写,依赖于对样本文本进行分词维度的标注,如标注某一分词需要删除、替换等。这样的标注工作量较大,影响着训练获得改写模型的效率,影响着应用改写模型进行文本改写的效率。因此,需要提供更具效率的文本处理方案。

发明内容

为了解决上述提出的至少一个技术问题,本申请提供了一种文本处理方法、装置、电子设备及存储介质:

根据本申请的第一方面,提供了一种文本处理方法,所述方法包括:

获取待处理文本以及所述待处理文本对应的至少一个目标历史文本;

以所述待处理文本和所述至少一个目标历史文本为输入,利用目标预测模型输出所述待处理文本的目标改写结果,所述目标预测模型是基于多个样本对生成式预训练模型和预设低秩矩阵进行训练得到的,所述训练中基于目标样本文本的预测结果和第一类标注数据间的差异调整所述预设低秩矩阵,所述预设低秩矩阵用于表征所述生成式预训练模型中关键参数的权重,每一所述样本包括一个所述目标样本文本和至少一个历史样本文本,所述第一类标注数据指示第一理想改写结果,所述第一理想改写结果基于所述至少一个历史样本文本和所述目标样本文本确定。

根据本申请的第二方面,提供了一种文本处理装置,所述装置包括:

获取模块:用于获取待处理文本以及所述待处理文本对应的至少一个目标历史文本;

预测模块:用于以所述待处理文本和所述至少一个目标历史文本为输入,利用目标预测模型输出所述待处理文本的目标改写结果,所述目标预测模型是基于多个样本对生成式预训练模型和预设低秩矩阵进行训练得到的,所述训练中基于目标样本文本的预测结果和第一类标注数据间的差异调整所述预设低秩矩阵,所述预设低秩矩阵用于表征所述生成式预训练模型中关键参数的权重,每一所述样本包括一个所述目标样本文本和至少一个历史样本文本,所述第一类标注数据指示第一理想改写结果,所述第一理想改写结果基于所述至少一个历史样本文本和所述目标样本文本确定。

根据本申请的第三方面,提供了一种电子设备,所述电子设备包括至少一个处理器,以及与所述至少一个处理器通信连接的存储器;其中,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由所述至少一个处理器加载并执行以实现如第一方面所述的文本处理方法。

根据本申请的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如第一方面所述的文本处理方法。

根据本申请的第五方面,提供了一种计算机程序产品,所述计算机程序产品包括至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如第一方面所述的文本处理方法。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本申请。

实施本申请,具有以下有益效果:

本申请以生成式预训练模型为待训练模型的基础,通过对待训练模型中的预设低秩矩阵进行调整来获得目标预测模型,这样提高了训练获得目标预测模型的便捷性和效率,可以在保证训练效果的同时降低对于样本的标注要求。训练中样本的标注是样本文本维度的,相较于相关技术中分词维度的标注,降低了样本标注工作量和难度,有利于提高模型训练速度。训练获得的目标预测模型可用于文本改写,目标预测模型基于输入的待处理文本和至少一个目标历史文本输出待处理文本的目标改写结果。目标预测模型具有高泛化能力,有利于提高文本改写的效率、适应性和可靠性。

根据下面参考附图对示例性实施例的详细说明,本申请的其它特征及方面将变得清楚。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。

图1示出根据本申请实施例的一种应用环境示意图;

图2示出根据本申请实施例的一种文本处理方法的流程示意图;

图3示出根据本申请实施例的训练获得目标预测模型的流程示意图;

图4示出根据本申请实施例的确定第一差异的流程示意图;

图5示出根据本申请实施例的基于第二差异对预设模型进行调整的流程示意图;

图6示出根据本申请实施例的获取多个样本的流程示意图;

图7示出根据本申请实施例的装置框图;

图8示出根据本申请实施例的应用于智能客服场景的示意图;

图9示出根据本申请实施例的电子设备示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

以下将参考附图详细说明本申请的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。

在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。

本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。

另外,为了更好地说明本申请,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本申请同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本申请的主旨。

对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。

Baichuan-13B-Chat:一种大语言模型,它训练了1.4万亿tokens,支持中英双语,使用ALiBi位置编码,上下文窗口长度为4096,开源了int8和int4的量化版。

GPT(Generative Pretrained Transformer):是一系列文本预训练模型,包括GPT、GPT-2、GPT-3和GPT-3.5等。它们使用Transformer架构进行预训练,其中模型通过自回归语言建模任务来学习生成文本的能力。

请参阅图1,图1示出根据本申请实施例的应用环境示意图,应用环境中可以包括终端10和服务器端20。终端10与服务器端20可以通过有线或无线通信方式进行直接或间接地连接。目标对象(比如目标用户)通过终端10向服务器端20发送文本处理请求。服务器端20基于接收到的文本处理请求获取待处理文本以及待处理文本对应的至少一个目标历史文本;然后,以待处理文本和至少一个目标历史文本为输入,利用目标预测模型输出待处理文本的目标改写结果。

所用到的目标预测模型是通过下述步骤训练获得的:1)获取生成式预训练模型、预设低秩矩阵,以构建预设模型;2)获取多个样本;3)以样本为输入,利用预设模型输出目标样本文本的预测结果;4)基于目标样本文本的预测结果和目标样本文本的第一类标注数据之间的第一差异,对预设低秩矩阵进行调整,以得到目标预测模型。其中,预设低秩矩阵用于表征生成式预训练模型中关键参数的权重,每一样本包括一个目标样本文本和至少一个历史样本文本,至少一个历史样本文本是目标样本文本对应的历史文本,第一类标注数据指示基于至少一个历史样本文本和目标样本文本确定的理想改写结果。需要说明的是,图1仅仅是一种示例。

终端10可以是智能手机、电脑(如台式电脑、平板电脑、笔记本电脑)、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、数字助理、智能语音交互设备(如智能音箱)、智能可穿戴设备、智能家电、车载终端等类型的实体设备。终端10的操作系统可以是安卓系统(Android系统)、iOS系统(是由苹果公司开发的移动操作系统)、linux系统(一种操作系统)、Microsoft Windows系统(微软视窗操作系统)等。终端10上可以安装有客户端,如智能客服客户端、导航客户端、即时通信客户端等。

服务器端20可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)以及大数据和人工智能平台等基础云计算服务的云服务器。其中服务器可以包括有网络通信单元、处理器和存储器等等。

在实际应用中,通过本申请实施例提供的训练步骤训练获得目标预测模型的服务器端可以是服务器端A,通过本申请实施例提供的文本处理方法处理待处理文本的服务器端可以是服务器端B,服务器端A和服务器端B可以指示同一服务器端,也可以指示不同的两个服务器端。另外,也可以由终端利用本地保存的目标预测模型处理待处理文本。

本申请实施例提供的文本处理方法可以用到有关人工智能(ArtificialIntelligence,AI)和自然语言处理(Nature Language processing,NLP)的技术。其中人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、预训练模型技术、操作/交互系统、机电一体化等。其中,预训练模型又称大模型、基础模型,经过微调后可以广泛应用于人工智能各大方向下游任务。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。自然语言处理是计算机科学领域与人工智能领域中的重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。自然语言处理任务可以由预训练模型处理。人工智能领域模型训练的重要技术,预训练模型,即是从NLP领域的大语言模型发展而来。经过微调,大语言模型可以广泛应用于处理文本处理、语义理解、机器翻译等任务。

需要说明的是,对于与用户信息存在关联关系的待处理文本、目标历史文本等,当本申请实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。

图2示出根据本申请实施例的一种文本处理方法的流程示意图,如图2所示,该文本处理方法可以由电子设备执行,该电子设备可以是终端或服务器端,该方法包括:

S201:获取待处理文本以及所述待处理文本对应的至少一个目标历史文本;

在本申请实施例中,电子设备获取待处理文本以及待处理文本对应的至少一个目标历史文本。待处理文本可以是由至少一句话或一段话构成的文本。目标历史文本可以是由至少一句话或一段话构成的文本。目标历史文本的生成时间早于待处理文本的生成时间。

目标历史文本与待处理文本之间可以具有语义上的潜在关联关系。目标历史文本与待处理文本可以由同一对象(如一个账号、一个用户)来生成。可以理解,在后文本可以对在前文本进行语义上的补充。

目标历史文本与待处理文本之间可以具有互动形式上的关联关系。比如,待处理文本由第一对象生成。第一对象与第二对象进行对话互动,目标历史文本可以由第二对象生成。进一步的,对于至少两个目标历史文本,至少两个目标历史文本涉及的生成方可以指示一个对象(如由第二对象生成该至少两个目标历史文本),也可以指示至少两个对象(如由第一对象生成第一部分文本,由第二对象生成第二部分文本,第一部分文本和第二部分文本构成了该至少两个目标历史文本)。需要说明的是,进行对话互动的两个对象可以是同类对象,比如两个玩家账号;进行对话互动的两个对象也可以是不同类对象,比如用户与智能客服。

在实际应用中,目标历史文本与待处理文本可以指示同一轮对话。对于一个对话轮次的界定:1)可以通过时间区间实现。比如,以待处理文本的生成时间为终点,确定符合该终点和该时间区间的要求的时间段,确定除待处理文本之外的生成时间属于该时间段的至少一个对话文本,该至少一个对话文本和待处理文本对应同一对话轮次。2)可以通过对话主题实现。一轮对话可以是针对一个对话主题的提问和回复,相应的,一轮对话涉及问题文本和回复文本。目标历史文本与待处理文本可以共同构成某一轮对话的问题文本,目标历史文本与待处理文本也可以共同构成某一轮对话的回复文本,目标历史文本与待处理文本也可以共同构成某一轮对话的问题文本和回复文本。

S202:以所述待处理文本和所述至少一个目标历史文本为输入,利用目标预测模型输出所述待处理文本的目标改写结果。

在本申请实施例中,以待处理文本和至少一个目标历史文本为输入,电子设备利用目标预测模型输出待处理文本的目标改写结果。目标改写结果可以是由至少一句话或一段话构成的文本。相较于待处理文本,目标改写结果能够在表述准确度、信息传递丰富度上有所改善。通过目标预测模型可以获得对应的目标改写结果,这样借助目标预测模型的适应性和可靠性,可以提高获得的目标改写结果的效率、准确度。

示例性的,目标历史文本与待处理文本共同构成了全局文本,待处理文本对目标历史文本进行语义上的补充。可以基于目标历史文本确定对全局文本中信息的表述形式,如以陈述句形式来表述全局文本中全部或部分信息、以疑问句形式来表述全局文本中全部或部分信息。比如,目标历史文本体现了对象1提问和对象2回答,待处理文本体现了对象1对对象2的回复的附和(如“我也是”)。那么,对于全局文本中信息的表述,应该采用站在对象1角度带有附和意味的陈述句形式。进一步的,待处理文本除了体现了对象1对对象2的回复的附和(如“我也是”),还体现了对象1的新提问。那么,对于全局文本中一部分信息的表述,应该采用上述站在对象1角度带有附和意味的陈述句形式;对于全局文本中另一部分信息的表述,应该采用疑问句形式,也即采用疑问句形式表述上述新提问。

全局文本提供了形成至少一个理想语句的完整信息,这些信息分散于目标历史文本与待处理文本中。作为全局文本中的在后文本,待处理文本提供的信息对于形成至少一个理想语句是不够的。目标改写结果则是目标预测模型在待处理文本的基础上、引入目标历史文本旨在获得至少一个理想语句的实际体现。

例如,待处理文本为“提了100块钱,帮我查一下”。按照生成时间的先后顺序,两个目标历史文本分别是“我的提现没到”和“昨天的”。待处理文本和两个目标历史文本构成了全局文本,旨在查询未到账的提现。待处理文本和两个目标历史文本各自贡献了有关“查询未到账的提现”的信息。目标预测模型基于待处理文本和两个目标历史文本可以获得目标改写结果,目标改写结果为“我昨天的提现100块没到,帮我查一下”。如果说目标改写结果“我昨天的提现100块没到,帮我查一下”呈现了一个表述准确、信息完整的理想语句,那么待处理文本“提了100块钱,帮我查一下”为实际语句的形成贡献了提现金额信息(“100块钱”)以及部分话术信息“帮我查一下”;目标历史文本“我的提现没到”为实际语句的形成贡献了查询类型信息;目标历史文本“昨天的”为实际语句的形成贡献了提现时间信息(“昨天”)。

对于获得的目标改写结果,目标改写结果可以在一定程度上实现对于由目标历史文本与待处理文本构成的全局文本的整理总结,可以通过目标改写结果提高对于全局文本的可读性,有利于快速捕获全局文本中的信息。相较于全局文本或者待处理文本,目标改写结果更便于作为意图识别的对象,有利于提高意图识别的准确度,也有利于基于意图识别结果为相关对象提供准确及时的业务响应。

在一个实施例中,对于前述步骤S201,所述获取待处理文本以及所述待处理文本对应的至少一个目标历史文本之前,所述方法还包括:接收目标对象发送的文本处理请求;所述获取待处理文本以及所述待处理文本对应的至少一个目标历史文本,包括:基于所述文本处理请求获取所述待处理文本和所述至少一个目标历史文本。对于前述步骤S202,所述以所述待处理文本和所述至少一个目标历史文本为输入,利用目标预测模型输出所述待处理文本的目标改写结果之后,所述方法还包括:对所述目标改写结果进行意图识别,得到目标意图;发送所述目标改写结果至与所述目标意图相匹配的业务模块,以使得所述业务模块对所述目标改写结果进行响应。

这里文本处理流程源于目标对象发送的文本处理请求的触发。若目标历史文本与待处理文本构成了全局文本,目标对象可以是参与全局文本生成的对象,也可以不是参与全局文本生成的对象。目标意图指示目标改写结果希望达到某种目的的想法。比如,作为目标改写结果的“我昨天的提现100块没到,帮我查一下”,它的目标意图是希望达到“查询未到账的提现”这一目的。可以理解,有多个预设模块,每一预设模块提供对应的一类业务服务。结合这里的示例,目标意图的类型可以是提现类别,与目标意图相匹配的业务模块则是多个预设模块中提供提现类别的业务服务的预设模块。该业务模块可以对目标改写结果进行响应,比如查询下提现未到账的原因,并将原因直接或间接的反馈至目标对象。

在实际应用中,终端上可以安装有客户端,目标用户通过终端使用客户端。目标用户使用客户端的过程中生成文本处理请求,终端向服务器端发送文本处理请求,服务器端响应文本处理请求以获得目标改写结果。服务器端还部署有意图识别模块、以及上述多个预设模块。意图识别模块对目标改写结果进行意图识别以得到目标意图。意图识别模块发送目标改写结果至与目标意图相匹配的业务模块,以使得业务模块对目标改写结果进行响应。业务模块响应目标改写结果可以通过调用相关业务接口来实现。服务器端将文本处理、意图识别、改写结果响应几个任务分模块部署,有利于任务维护的有效性。

下面将对目标预测模型进行详细说明。所述目标预测模型是基于多个样本对生成式预训练模型和预设低秩矩阵进行训练得到的,所述训练中基于目标样本文本的预测结果和第一类标注数据间的差异调整所述预设低秩矩阵,所述预设低秩矩阵用于表征所述生成式预训练模型中关键参数的权重,每一所述样本包括一个所述目标样本文本和至少一个历史样本文本,所述第一类标注数据指示第一理想改写结果,所述第一理想改写结果基于所述至少一个历史样本文本和所述目标样本文本确定。

如图3所示,所述目标预测模型通过下述步骤训练获得:

S301:获取所述生成式预训练模型、所述预设低秩矩阵,以构建预设模型;

S302:获取所述多个样本;

S303:以所述样本为输入,利用所述预设模型输出所述目标样本文本的预测结果;

S304:基于所述目标样本文本的预测结果和所述目标样本文本的所述第一类标注数据之间的第一差异,对所述预设低秩矩阵进行调整,以得到所述目标预测模型。

一个样本包括一个目标样本文本和至少一个历史样本文本,目标样本文本携带有第一类标注数据。对于目标样本文本和历史样本文本,可以参考前述步骤S201-S202中对于待处理文本和目标历史文本的相关记载,不再赘述。对于第一类标注数据,可以参考前述步骤S202中对于目标改写结果的相关记载,不再赘述。

预设模型包括生成式预训练模型和预设低秩矩阵,预设低秩矩阵用于表征生成式预训练模型中关键参数的权重。生成式预训练模型是预设模型的基础,生成式预训练模型提供了多个预设参数,以及每一预设参数的预设权重。关键参数来自于多个预设参数。在预设模型中,沿用生成式预训练模型,也即多个预设参数固定、每一预设参数的预设权重固定;引入表征生成式预训练模型中关键参数的权重的预设低秩矩阵。在训练预设模型获得目标预测模型的过程中,调整对象是预设低秩矩阵,也即调整其中关键参数的权重;调整依据是目标样本文本的预测结果和第一类标注数据带来的第一差异。

生成式预训练模型是已有的文本生成式预训练模型。可以基于资源条件的允许情况来进行生成式预训练模型的选择,比如选择参数规模大些还是小些的模型。生成式预训练模型可以是参数规模在1-100亿之间的大语言模型,通过借助已有的文本生成式预训练模型可以大大提升上下文理解能力,以使得生成内容更加流畅和精准。生成式预训练模型可以采用Baichuan-13B-Chat、GPT3.5。

预设低秩矩阵可以是建立于生成式预训练模型的一个旁路,对旁路的调整,来影响预设模型整体的训练效果。预设低秩矩阵的确定依赖于从生成式预训练模型提供的多个预设参数中选择出多个关键参数,可以根据历史反馈将生成式预训练模型中关键层的全部或者部分参数作为关键参数,关键层可以是嵌入(Embedding)层、多层感知器(Multi-LayerPerceptron,MLP)层中的隐层等;可以根据历史反馈将生成式预训练模型中与注意力机制应用有关的参数作为关键参数;也可以根据多个预设参数各自的预设权重,确定预设权重更大的部分预设参数为关键参数,比如按预设权重的大小顺序对多个预设参数进行降序排序得到参数序列,确定预设权重大小降序排序次序在预设排序次序之前范围内的预设参数为关键参数。

考虑到为适配当前文本处理任务的性能要求生成式预训练模型仍需进行调整,以及生成式预训练模型的参数数量,引入作为调整对象的预设低秩矩阵来适配当前文本处理任务的性能要求,这样待调整的参数权重的数量减少,可以兼顾训练获得目标预测模型的效率、便捷性以及所获得目标预测模型的预测准确度。

示例性的,多个样本是N个样本,样本i是N个样本中的第i个样本,i的取值范围是1-N。样本i由目标样本文本i10、历史样本文本i21和历史样本文本i22构成。目标样本文本i10携带有第一类标注数据i10。将样本i输入预设模型。由预设模型基于样本i输出对应的预测结果i。

可以确定预测结果i与第一类标注数据i10之间的第一差异,进而利用第一差异对预设低秩矩阵进行调整。在利用第一差异对预设低秩矩阵进行调整时,可以基于第一差异构建损失函数,然后采用损失函数对预设低秩矩阵进行调整。需要说明的是,每一样本输入模型后得到对应的预测结果,进而得到每一样本对应的预测结果与第一类标注数据之间的第一差异。在训练获得目标预测模型的过程中,可以涉及至少一次模型调整,每一次模型调整的依据是对应样本批次中每一样本对应的第一差异。一个样本批次可以是多个样本中的全部,也可以是多个样本中的部分。

模型训练是不断进行的,目标预测模型可以是上一次训练的结果,也可以是下一次训练的基础。目标预测模型是经训练得到的具有高泛化能力的模型,利用目标预测模型预测改写结果,可以提高预测适应性和可靠性。

进一步的,所述预设低秩矩阵指示第一矩阵和第二矩阵的相乘结果,所述对所述预设低秩矩阵进行调整之前,所述方法还可以包括:对所述第一矩阵进行零初始化;对所述第二矩阵进行高斯初始化。例如,生成式预训练模型可以提供一个权重矩阵W

另外,对于如何确定第一差异,可以参考图4所示的步骤:

S401:按照预设分词规则对所述目标样本文本的预测结果进行分词处理,得到第一分词集;

S402:按照所述预设分词规则对所述目标样本文本的所述第一类标注数据进行分词处理,得到第二分词集;

S403:基于所述第一分词集和所述第二分词集确定出至少一个共现分词;

S404:基于所述至少一个共现分词的总数和所述第二分词集中分词数量确定所述第一差异。

示例性的,若目标样本文本的预测结果是“后天还有票吗”,目标样本文本的第一类标注数据是“后天的票还有吗”。按照预设分词规则对目标样本文本的预测结果进行分词处理,得到“后”、“天”、“还”、“有”、“票”、“吗”,以构建第一分词集。按照预设分词规则对目标样本文本的第一类标注数据进行分词处理,得到“后”、“天”、“的”、“票”、“还”、“有”、“吗”,以构建第二分词集。所确定出的共现分词有“后”、“天”、“还”、“有”、“票”、“吗”这5个,因为它们均在第一分词集和第二分词集同时出现。而第二分词集中分词数量为7。第一差异可以通过至少一个共现分词的总数与第二分词集中分词数量的比值表征,如6/7;也可以通过至少一个共现分词的总数与第二分词集中分词数量的差值表征,如7-6=1。

预设分词规则可以基于预设的分词字数实现,如上述采用了1为预设的分词字数。当然,也可以采用2、3等为预设分词字数。此外,预设分词规则还可以预设词典实现。

这里提供了基于目标样本文本的预测结果和目标样本文本的第一类标注数据快速确定第一差异的方式,第一差异的快速确定,有利于提高模型训练效率,也适应模型的快速迭代。

在实际应用中,可以将多个样本切分成训练集、测试集。上述确定第一差异的方式可以用在测试集上,以实现模型评测。此外,还可以由工作人员对模型进行人工评测。在人工评测过程中,主要分为3个维度来作为准确率和打分标注的规则:语义评测(生成通顺度、语义一致性、实体完整)、业务性能(业务表述明确、关键信息保留、无关信息过滤)和意图识别(同意图信息整合、意图切换点识别、否定词理解)。

所述目标样本文本和所述历史样本文本携带有对应的时间戳,所述样本指示按照所述时间戳的先后顺序进行排布的样本文本序列,所述训练还包括学习所述样本文本序列中相邻文本间的改写关联关系,每一所述历史样本文本携带有对应的第二类标注数据,所述第二类标注数据指示第二理想改写结果,所述第二理想改写结果基于目标历史样本文本和所述目标历史样本的在前文本确定,所述目标历史样本文本是所述至少一个历史样本文本中的任一样本文本。如图5所示,除了基于第一差异对预设模型进行调整外,还可以基于第二差异对预设模型进行调整:

S501:以所述目标历史样本文本和目标第二类标注数据为输入,利用所述预设模型输出所述目标历史样本文本的预测结果,所述目标第二类标注数据指示所述样本文本序列中与所述目标历史样本文本相邻的前一样本文本的所述第二类标注数据;

S502:基于所述目标历史样本文本的预测结果和所述目标历史样本文本的所述第二类标注数据之间的第二差异,对所述预设低秩矩阵进行调整。

示例性的,目标样本文本和两个历史样本文本分别携带有对应的时间戳。样本指示按照时间戳的先后顺序进行排布的样本文本序列,也即历史样本文本1-历史样本文本2-目标样本文本。目标样本文本携带有第一类标注数据,两个历史样本文本分别携带有对应的第二类标注数据,可参考下

表1:

表1

以历史样本文本2为目标历史样本文本为例,此时目标历史样本的在前文本是历史样本文本1。第二类标注数据2指示基于历史样本文本1和历史样本文本2确定的理想改写结果。以历史样本文本1为目标历史样本文本为例,此时没有目标历史样本的在前文本。第二类标注数据1指示历史样本文本1本身。目标历史样本的在前文本的候选范围是至少一个历史样本文本。

以历史样本文本2为目标历史样本文本为例,此时样本文本序列中与目标历史样本文本相邻的前一样本文本是历史样本文本2,相应的,目标第二类标注数据指示第二类标注数据1。以历史样本文本2和第二类标注数据1为输入,利用预设模型输出历史样本文本2的预测结果。

可以确定历史样本文本2的预测结果与第二类标注数据2之间的第二差异,进而利用第二差异对预设低秩矩阵进行调整。在利用第二差异对预设低秩矩阵进行调整时,可以基于第二差异构建损失函数,然后采用损失函数对预设低秩矩阵进行调整。这里第二差异的确定方式也可以参考前述步骤S401-S404中确定第一差异的方式。

在关注基于第一差异进行模型调整的同时,引入第二差异为调整依据,第二差异可以为模型学习样本文本序列中相邻文本间的改写关联关系进行引导,这样有利于从样本中捕捉更多的信息,进而提高所训练的模型进行预测的准确度。

如图6所示,对于前述步骤S301,所述获取所述多个样本,包括:

S601:获取至少两个候选文本;

S602:对所述至少两个候选文本进行意图识别,得到意图识别结果;

S603:在所述意图识别结果指示一个意图的情况下,从所述至少两个候选文本中确定出所述目标样本文本和所述历史样本文本;

S604:在所述意图识别结果指示至少两个意图的情况下,将所述至少两个候选文本切分为至少两个文本集,所述至少两个文本集与所述至少两个意图一一对应;对于每一所述文本集,从所述文本集中确定出所述目标样本文本和所述历史样本文本。

这里提供了获取样本的方式,可以保证一个样本与一个意图相对应,这样一个样本中信息与一个主题相契合,有助于提高样本标注的有效性,也有助于模型基于样本中样本文本与标注数据进行更有效的学习。

以至少两个候选文本为文本1-2为例,可参考下表2:

表2

这里文本1-2的意图均是希望达到“查询未到账的提现”这一目的。那么,文本1可以作为历史样本文本,文本2可以作为目标样本文本。

以至少两个候选文本为文本1-4为例,可参考下表3

表3

这里文本1-3的意图均是希望达到“查询未到账的提现”这一目的,而文本4、5的意图是希望达到“找回支付密码”这一目的。那么,文本1-3构成了一个文本集,其中文本1和文本2可以作为历史样本文本,文本3可以作为目标样本文本;文本4、5构成了另一个文本集,其中文本4可以作为历史样本文本,文本5可以作为目标样本文本。

此外,这里提供的获取样本方式也适配提供候选文本的数据源。数据源可以由现网的对话数据构成。数据源还可以由Restoration-200K(一个大型多轮对话数据集)中的部分多轮对话数据构成。需要说明的是,对于与用户信息存在关联关系的对话数据等,当本申请实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。从数据源中对话数据获得的样本,可以主要是用户提问。需要标注的样本可以包括三部分:来自现网的对话数据的单意图提问、来自现网的对话数据的多意图提问以及Restoration-200K提供的第三方语料。单意图提问的形式可以参考上述“至少两个候选文本为文本1-2”的示例,多意图提问的形式可以参考上述“至少两个候选文本为文本1-4”的示例。这里单意图提问的数据量可以是9w,多意图提问的数据量可以是1w,第三方语料的数据量可以是1w。

对样本文本的标注,可以理解为对样本文本进行改写,改写结果可以包含上文的业务需求以及时间、金额等关键要素,同时舍弃吐槽、辱骂等无效发言。在实际应用中,可以采用下表4所示的改写规范进行样本文本标注,该改写规范统一了改写标准,设置了包括业务关键词保留、错字修正、无效信息过滤、非强关联问题独立成句等规则。

/>

表4

本申请实施例提供的文本处理方案可以采用文本生成预训练模型(如Baichuan-13B-Chat)作为待训练模型的基础、主干,并引入表征生成式预训练模型中关键参数的权重的预设低秩矩阵至待训练模型中。

为提高模型的推理速度,本申请实施例还提供了性能测试方面的内容。可以在特定测试环境和参数下对训练获得的中间模型进行性能测试,在batch size=1、生成长度=2048时连续生成速度约为21.1token/s。以此为参考,可以对中间模型进行int8量化并选用fastllm和vllm这两个大语言模型加速框架对其进行优化。下表5示出了量化、优化尝试中模型的性能表现:

/>

表5

可知,相较于表5中第二行的模型加载方式,使用HFint8量化加载后,模型的推理速度并没有明显提升,但是显存占用明显下降。对比各个加速框架的表现,可以发现在单条预测(batch=1)时,无论是fastllm还是vllm在推理速度上的表现都只有5%左右的提升,但在batch上升时推理速度提升非常明显,batch设置为128时甚至可以达到2500token/s。

同时,在测试集上进行了性能损失评估,int8量化后的模型在推理效果上下降比较明显,偶尔会丢字或生成过长。因为业务问题对于业务词的完整度和意图切换比较严格,所以量化后的效果普遍下降5-10%。但也观察到fastllm优化后的模型偶尔会出现生成无法停止,会一直生成到最大长度,导致显存占用极高,这样不够稳定,且在使用时需要先将原始模型加载到CPU上再进行fastllm框架优化,否则会造成显存不足加载失败。而vllm框架比较稳定,可以直接从原始模型加载优化,可以选择vllm作为优化框架来加速模型推理过程。

在测试中为了模拟实际使用方式是以单条方式调用模型,而根据量化框架的特性,将单条推理方式改为batch推理方式,模拟将一个时间窗口内的所有预测内容合并为一个batch一起返回,这样可以最大化利用加速框架,通过这个方式可以成功在一台8卡的V100服务器上实现对最大100条/秒的推理速度的支持。

训练获得的目标预测模型可以用于进行多轮对话改写,可以根据历史对话将当前问题表述成完整的一句话。

在应用目标预测模型时,prompt(文本提示)如下:

其中,instruction表示指令,input中问题1表示当前问题,问题2表示历史问题,instruction+input为模型输入,output为模型输出。这样适合多轮对话改写任务的prompt,可以使得待训练模型在调整后更加契合任务,文本生成质量更高。

如图8所示,目标预测模型可应用于智能客服场景中。用户提问后,可以先将用户的当前问题和历史问题组装成prompt输入到多目标预测模型,模型输出改写结果。再将改写结果输入到意图识别模型进行意图识别,输出当前意图。最后根据所确定的当前意图,查询相应的解决方案返回给用户。比如,用户的当前问题为“扫码付款”,历史问题为“xx应用突然就支付不了了 什么情况”,改写结果为“xx应用扫码付款支付不了”。应用目标预测模型对当前问题进行改写后,“扫码付款”这一模糊问题,变成了明确问题“xx应用扫码付款支付不了了”,精准定位了用户问题,提升了意图识别准确率。目标预测模型的应用能够很好的适应智能客服场景中多轮对话所带来的意图识别难题,如对话中由于用户追问、扩散问题、补充信息而将信息分散于多个句子的问题。在实际应用中,上线目标预测模型后,对于用户问题的意图识别命中率和准确率都有所提升,识别出的意图模糊和回答不上(给不出解决方案)的情况大幅度下降。

由以上本申请实施例提供的技术方案可见,本申请实施例以生成式预训练模型为待训练模型的基础,通过对待训练模型中的预设低秩矩阵进行调整来获得目标预测模型,这样提高了训练获得目标预测模型的便捷性和效率,可以在保证训练效果的同时降低对于样本的标注要求。训练中样本的标注是样本文本维度的,相较于相关技术中分词维度的标注,降低了样本标注工作量和难度,有利于提高模型训练速度。训练获得的目标预测模型可用于文本改写,目标预测模型基于输入的待处理文本和至少一个目标历史文本输出待处理文本的目标改写结果。目标预测模型具有高泛化能力,有利于提高文本改写的效率、适应性和可靠性。

本申请实施例还提供了一种文本处理装置,如图7所示,该文本处理装置70包括:

获取模块701:用于获取待处理文本以及所述待处理文本对应的至少一个目标历史文本;

预测模块702:用于以所述待处理文本和所述至少一个目标历史文本为输入,利用目标预测模型输出所述待处理文本的目标改写结果,所述目标预测模型是基于多个样本对生成式预训练模型和预设低秩矩阵进行训练得到的,所述训练中基于目标样本文本的预测结果和第一类标注数据间的差异调整所述预设低秩矩阵,所述预设低秩矩阵用于表征所述生成式预训练模型中关键参数的权重,每一所述样本包括一个所述目标样本文本和至少一个历史样本文本,所述第一类标注数据指示第一理想改写结果,所述第一理想改写结果基于所述至少一个历史样本文本和所述目标样本文本确定。

在一个实施例中,所述目标预测模型通过下述步骤训练获得:获取所述生成式预训练模型、所述预设低秩矩阵,以构建预设模型;获取所述多个样本;以所述样本为输入,利用所述预设模型输出所述目标样本文本的预测结果;基于所述目标样本文本的预测结果和所述目标样本文本的所述第一类标注数据之间的第一差异,对所述预设低秩矩阵进行调整,以得到所述目标预测模型。

在一个实施例中,所述预设低秩矩阵指示第一矩阵和第二矩阵的相乘结果,所述装置还包括初始化模块,所述初始化模块:用于在所述对所述预设低秩矩阵进行调整之前,对所述第一矩阵进行零初始化;对所述第二矩阵进行高斯初始化。

在一个实施例中,所述装置还包括差异确定模块,所述差异确定模块:用于按照预设分词规则对所述目标样本文本的预测结果进行分词处理,得到第一分词集;按照所述预设分词规则对所述目标样本文本的所述第一类标注数据进行分词处理,得到第二分词集;基于所述第一分词集和所述第二分词集确定出至少一个共现分词;基于所述至少一个共现分词的总数和所述第二分词集中分词数量确定所述第一差异。

在一个实施例中,所述目标样本文本和所述历史样本文本携带有对应的时间戳,所述样本指示按照所述时间戳的先后顺序进行排布的样本文本序列,所述训练还包括学习所述样本文本序列中相邻文本间的改写关联关系,每一所述历史样本文本携带有对应的第二类标注数据,所述第二类标注数据指示第二理想改写结果,所述第二理想改写结果基于目标历史样本文本和所述目标历史样本的在前文本确定,所述目标历史样本文本是所述至少一个历史样本文本中的任一样本文本,所述装置还包括辅助调整模块,所述辅助调整模块:用于以所述目标历史样本文本和目标第二类标注数据为输入,利用所述预设模型输出所述目标历史样本文本的预测结果,所述目标第二类标注数据指示所述样本文本序列中与所述目标历史样本文本相邻的前一样本文本的所述第二类标注数据;基于所述目标历史样本文本的预测结果和所述目标历史样本文本的所述第二类标注数据之间的第二差异,对所述预设低秩矩阵进行调整。

在一个实施例中,所述获取所述多个样本,包括:获取至少两个候选文本;对所述至少两个候选文本进行意图识别,得到意图识别结果;在所述意图识别结果指示一个意图的情况下,从所述至少两个候选文本中确定出所述目标样本文本和所述历史样本文本;在所述意图识别结果指示至少两个意图的情况下,将所述至少两个候选文本切分为至少两个文本集,所述至少两个文本集与所述至少两个意图一一对应;对于每一所述文本集,从所述文本集中确定出所述目标样本文本和所述历史样本文本。

在一个实施例中,所述装置还包括请求接收模块,所述请求接收模块:用于在所述获取待处理文本以及所述待处理文本对应的至少一个目标历史文本之前,接收目标对象发送的文本处理请求;

所述获取待处理文本以及所述待处理文本对应的至少一个目标历史文本,包括:基于所述文本处理请求获取所述待处理文本和所述至少一个目标历史文本;

所述装置还包括转发模块,所述转发模块:用于在所述以所述待处理文本和所述至少一个目标历史文本为输入,利用目标预测模型输出所述待处理文本的目标改写结果之后,对所述目标改写结果进行意图识别,得到目标意图;发送所述目标改写结果至与所述目标意图相匹配的业务模块,以使得所述业务模块对所述目标改写结果进行响应。

需要说明的,所述装置实施例中的装置与方法实施例基于同样的发明构思。

在一些实施例中,本申请实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。

本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现上述方法。计算机可读存储介质可以是非易失性计算机可读存储介质。

本申请实施例还提供了一种电子设备,所述电子设备包括至少一个处理器,以及与所述至少一个处理器通信连接的存储器;其中,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由所述至少一个处理器加载并执行以实现上述方法。

电子设备可以被提供为终端、服务器或其它形态的设备。

图9示出根据本申请实施例的一种电子设备的框图。参照图9,电子设备1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令。此外,处理组件1922被配置为执行指令,以执行上述方法。

电子设备1900还可以包括一个电源组件1926被配置为执行电子设备1900的电源管理,一个有线或无线网络接口1950被配置为将电子设备1900连接到网络,和一个输入输出(I/O)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。

在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由电子设备1900的处理组件1922执行以完成上述方法。

本申请可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本申请的各个方面的至少一条指令或至少一段程序。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的至少一条指令或至少一段程序可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收至少一条指令或至少一段程序,并转发该至少一条指令或至少一段程序,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本申请操作的至少一条指令或至少一段程序可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,上述编程语言包括面向对象的编程语言—诸如Smalltalk、C+等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。至少一条指令或至少一段程序可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用至少一条指令或至少一段程序的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行至少一条指令或至少一段程序,从而实现本申请的各个方面。

这里参照根据本申请实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本申请的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由至少一条指令或至少一段程序实现。

该至少一条指令或至少一段程序可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把该至少一条指令或至少一段程序存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把至少一条指令或至少一段程序加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

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

以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

相关技术
  • 一种用于永磁同步电机装配装置及装配方法
  • 一种提高高功率密度电机装配质量的方法
  • 大功率密度鼠笼发电机转子结构及其装配方法
技术分类

06120116521445