CN116975635A - 参数预测模型的训练方法、参数预测方法和装置 - Google Patents
参数预测模型的训练方法、参数预测方法和装置 Download PDFInfo
- Publication number
- CN116975635A CN116975635A CN202310918799.1A CN202310918799A CN116975635A CN 116975635 A CN116975635 A CN 116975635A CN 202310918799 A CN202310918799 A CN 202310918799A CN 116975635 A CN116975635 A CN 116975635A
- Authority
- CN
- China
- Prior art keywords
- parameter
- api
- data
- model
- training
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012549 training Methods 0.000 title claims abstract description 150
- 238000000034 method Methods 0.000 title claims abstract description 79
- 230000003993 interaction Effects 0.000 claims description 17
- 238000005457 optimization Methods 0.000 claims description 10
- 238000004140 cleaning Methods 0.000 claims description 9
- 239000012634 fragment Substances 0.000 claims description 7
- 230000006870 function Effects 0.000 claims description 7
- 238000010276 construction Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000004927 fusion Effects 0.000 description 5
- 238000003058 natural language processing Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/449—Object-oriented method invocation or resolution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Machine Translation (AREA)
Abstract
本公开提供一种参数预测模型的训练方法、参数预测方法和装置,包括:获取第一目标数据,第一目标数据包括:历史应用程序接口API请求的参数数据和历史API请求的参数数据对应的属性数据,属性数据用于描述历史API请求的参数数据的参数声明,参数声明包括:参数名定义以及参数取值;基于第一目标数据,确定预训练模型,预训练模型用于对API请求进行首次参数预测;获取第二目标数据,第二目标数据用于描述多个用户问题对应的问答数据对,每个用户问题由API请求的参数数据和API请求的参数数据的属性数据所构建得出;基于第二目标数据和预训练模型,确定参数预测模型。从而,准确进行API参数预测。
Description
技术领域
本公开的实施例涉及计算机技术领域,具体地,涉及适用于一种参数预测模型的训练方法、参数预测方法和装置。
背景技术
API(Application Program Interface,应用程序接口)为操作系统留给应用程序的一个调用接口,应用程序可通过调用操作系统的API而使操作系统去执行应用程序的命令。用户在与操作系统进行交互时,操作系统需要先根据用户的使用行为进行API请求的参数预测,便于有效了解用户使用需求。
然而,采用现有预测方式,参数预测准确性不高。
发明内容
本文中描述的实施例提供了一种参数预测模型的训练方法、参数预测方法和装置,克服了上述问题。
第一方面,根据本公开的内容,提供了一种参数预测模型的训练方法,包括:
获取第一目标数据,所述第一目标数据包括:历史应用程序接口API请求的参数数据和所述历史API请求的参数数据对应的属性数据,所述属性数据用于描述所述历史API请求的参数数据的参数声明,所述参数声明包括:参数名定义以及参数取值;
基于所述第一目标数据,确定预训练模型,所述预训练模型用于对API请求进行首次参数预测;
获取第二目标数据,所述第二目标数据用于描述多个用户问题对应的问答数据对,每个所述用户问题由API请求的参数数据和所述API请求的参数数据的属性数据所构建得出;
基于所述第二目标数据和所述预训练模型,确定参数预测模型,所述参数预测模型用于描述对所述预训练模型进行调整后得到的优化模型,以对所述API请求进行最终参数预测。
第二方面,根据本公开的内容,提供了一种参数预测方法,包括:
获取用户输入文本,所述用户输入文本为语言交互场景对应的文本;
将所述用户输入文本输入参数预测模型中,根据所述参数预测模型的输出确定所述用户输入文本对应的目标API参数;
或者,将所述用户输入文本输入预训练模型中,根据所述预训练模型的输出确定所述用户输入文本对应的第一API参数,以及,将所述用户输入文本输入参数预测模型中,根据所述参数预测模型的输出确定所述用户输入文本对应的第二API参数,融合所述第一API参数和所述第二API参数,得到所述用户输入文本对应的目标API参数;
其中,所述参数预测模型为第一方面中所述的方法所训练生成的参数预测模型,所述预训练模型为第一方面中所述的方法所训练生成的预训练模型。
第三方面,根据本公开的内容,提供了一种参数预测模型的训练装置,包括:
第一获取模块,用于获取第一目标数据,所述第一目标数据包括:历史应用程序接口API请求的参数数据和所述历史API请求的参数数据对应的属性数据,所述属性数据用于描述所述历史API请求的参数数据的参数声明,所述参数声明包括:参数名定义以及参数取值;
第一确定模块,用于基于所述第一目标数据,确定预训练模型,所述预训练模型用于对API请求进行首次参数预测;
第二获取模块,用于获取第二目标数据,所述第二目标数据用于描述多个用户问题对应的问答数据对,每个所述用户问题由API请求的参数数据和所述API请求的参数数据的属性数据所构建得出;
第二确定模块,用于基于所述第二目标数据和所述预训练模型,确定参数预测模型,所述参数预测模型用于描述对所述预训练模型进行调整后得到的优化模型,以对所述API请求进行最终参数预测。
第四方面,根据本公开的内容,提供了一种参数预测装置,包括:
第三获取模块,用于获取用户输入文本,所述用户输入文本为语言交互场景对应的文本;
第三确定模块,用于将所述用户输入文本输入参数预测模型中,根据所述参数预测模型的输出确定所述用户输入文本对应的目标API参数;或者,将所述用户输入文本输入预训练模型中,根据所述预训练模型的输出确定所述用户输入文本对应的第一API参数,以及,将所述用户输入文本输入参数预测模型中,根据所述参数预测模型的输出确定所述用户输入文本对应的第二API参数,融合所述第一API参数和所述第二API参数,得到所述用户输入文本对应的目标API参数;
其中,所述参数预测模型为第一方面中所述的方法所训练生成的参数预测模型,所述预训练模型为第一方面中所述的方法所训练生成的预训练模型。
第五方面,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,处理器执行计算机程序时实现如以上任意一个实施例中参数预测模型的训练方法的步骤,或者,实现如以上任意一个实施例中参数预测方法的步骤。
第六方面,提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如以上任意一个实施例中参数预测模型的训练方法的步骤,或者,实现如以上任意一个实施例中参数预测方法的步骤。
本申请实施例提供的参数预测模型的训练方法,通过获取第一目标数据,第一目标数据包括:历史应用程序接口API请求的参数数据和历史API请求的参数数据对应的属性数据,属性数据用于描述历史API请求的参数数据的参数声明,参数声明包括:参数名定义以及参数取值;基于第一目标数据,确定预训练模型,预训练模型用于对API请求进行首次参数预测;获取第二目标数据,第二目标数据用于描述多个用户问题对应的问答数据对,每个用户问题由API请求的参数数据和API请求的参数数据的属性数据所构建得出;基于第二目标数据和预训练模型,确定参数预测模型,参数预测模型用于描述对预训练模型进行调整后得到的优化模型,以对API请求进行最终参数预测。如此,在模型预训练阶段,将参数声明的知识固话在预训练模型中,在模型终训练阶段,用具有思考能力的大语言模型对日志构建问答数据对作为微调训练数据,训练得到具有参数推理能力的参数预测模型,便于准确进行API参数预测。
上述说明仅是本申请实施例技术方案的概述,为了能够更清楚了解本申请实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本申请实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
为了更清楚地说明本公开的实施例的技术方案,下面将对实施例的附图进行简要说明,应当知道,以下描述的附图仅仅涉及本公开的一些实施例,而非对本公开的限制,其中:
图1是本公开提供的一种参数预测模型的训练方法的流程示意图。
图2是本公开提供的一种参数预测方法的流程示意图。
图3是本公开提供的一种参数预测模型的训练装置的结构示意图。
图4是本公开提供的一种参数预测装置的结构示意图。
图5是本公开提供的一种计算机设备的结构示意图。
需要注意的是,附图中的元素是示意性的,没有按比例绘制。
具体实施方式
为了使本公开的实施例的目的、技术方案和优点更加清楚,下面将结合附图,对本公开的实施例的技术方案进行清楚、完整的描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域技术人员在无需创造性劳动的前提下所获得的所有其它实施例,也都属于本公开保护的范围。
除非另外定义,否则在此使用的所有术语(包括技术和科学术语)具有与本公开主题所属领域的技术人员所通常理解的相同含义。进一步将理解的是,诸如在通常使用的词典中定义的那些的术语应解释为具有与说明书上下文和相关技术中它们的含义一致的含义,并且将不以理想化或过于正式的形式来解释,除非在此另外明确定义。如在此所使用的,将两个或更多部分“连接”或“耦接”到一起的陈述应指这些部分直接结合到一起或通过一个或多个中间部件结合。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语“实施例”并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:存在A,同时存在A和B,存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。诸如“第一”和“第二”的术语仅用于将一个部件(或部件的一部分)与另一个部件(或部件的另一部分)区分开。
在本申请的描述中,除非另有说明,“多个”的含义是指两个以上(包括两个),同理,“多组”指的是两组以上(包括两组)。
大语言模型((LLM,Large Language Mode)技术是近年来自然语言处理领域的重要突破之一,LLM能够通过大规模的数据训练,使模型具备自然语言处理和生成的能力。
随着LLM技术的发展,开始涌现一些更具有便利性的应用形式,即基于自然语言的交互形式LUI(Language User Interface,语言交互界面),与传统的GUI(Graphical UserInterface,图形用户界面)相比,LUI提供了更直接、更自然的交互方式。使用LUI,用户可以以更类似于日常对话的方式在应用中进行交互,而无需繁琐的点击与选择,这大大提升了用户的交互体验和生成效率。
在LUI中,使用自然语言表达用户的意图和需求后,需要将这些语言转化为机器能够理解的API请求参数。自动构建API参数的过程涉及对自然语言进行解析、理解和转化的技术。这些技术包括自然语言处理、自然语言理解、语义解析、实体识别和意图识别等。
并且,企业应用在累积的使用过程中,往往会产生大量的用户使用记录,其中包括对API请求的参数等重要信息,这些日志往往得不到很好的利用。
本实施例提供了一种API参数的自动构建方法,通过训练参数预测模型,一方面能够利用大量的API交互记录,另一方面可以使LUI的交互更加准确和流畅。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
图1是本公开实施例提供的一种参数预测模型的训练方法的流程示意图。
如图1所示,参数预测模型的训练方法的具体过程包括:
S110、获取第一目标数据。
其中,第一目标数据包括:历史应用程序接口API请求的参数数据和历史API请求的参数数据对应的属性数据,属性数据用于描述历史API请求的参数数据的参数声明,参数声明包括:参数名定义以及参数取值。
参数名定义即为参数的名称。参数取值包括:范围取值和规则取值,如参数值的格式、参数的描述等。
一些实施例中,获取第一目标数据,可包括:
从历史API参数日志中获取历史API请求的参数数据;从API参数日志对应的参数规范文件中获取历史API请求的参数数据对应的属性数据,参数声明中的参数取值为范围取值或规则取值;分别将历史API请求的参数数据和参数数据对应的属性数据,按照预设字符长度划分为多个文本片段,得到第一目标数据。
举例而言,历史API请求的参数数据如下表示:
从该API的Open API(API参数定义规范文档)文档中提取每个参数名的定义、以及参数值可能取值的范围或规则,例如:
可通过将上述数据按照预设字符长度划分为多个文本片段,预设字符长度可为最大长度1024个字符。
每个文本片段对应有参数数据以及属性数据,即一个文本片段中包括有参数数据,另一个文本片段中包括有属性数据,此属性数据与此参数数据相对应,即此属性数据为此参数数据对应的属性数据。
从而,通过获取历史API请求的参数数据以及历史API请求的参数数据对应的属性数据,并分别将历史API请求的参数数据和参数数据对应的属性数据,按照预设字符长度划分为多个文本片段,有效得出符合预训练模型文本输入续爱的训练样本。
其中,分别将历史API请求的参数数据和参数数据对应的属性数据,按照预设字符长度划分为多个文本片段之前,本实施例方法还可以包括:
对历史API请求的参数数据进行数据清洗,去除同一个历史API请求对应的空/重复的参数数据;对历史API请求的参数数据对应的属性数据进行数据清洗,去除同一个参数数据对应的空/重复的属性数据。从而,过滤掉参数数据以及属性数据中的空数据以及重复数据,保证模型训练样本的有效性。
清洗后的数据可参见如下表示:
其中,本实施例方法还可以包括:
若一个历史API请求的参数数据为空数据,则从历史API参数日志中选择与一个历史API请求最匹配的参数数据,作为一个历史API请求对应的参数数据;若一个历史API请求的参数数据对应的属性数据为空数据,则从历史API参数日志对应的参数规范文件中选择与一个历史API请求最匹配的属性数据,作为一个历史API请求的参数数据对应的属性数据。
从而,对于没有数据的历史API请求,通过补入说明性文字的方式,丰富历史API请求的参数数据和属性数据,扩充模型训练样本的数量,有效提升预训练模型的训练准确性。
另外,在从历史API参数日志中选择与一个历史API请求最匹配的参数数据时,若选择不出一个与一个历史API请求最匹配的参数数据,则可从历史API参数日志中匹配出与一个或多个历史API请求最相关/相似的请求,并通过一个或多个历史API请求最相关/相似的请求对应的参数数据,预测/推导出一个参数数据,作为一个历史API请求对应的参数数据。从而,对历史API请求对应的参数数据进行数据扩充。
在从历史API参数日志对应的参数规范文件中选择与一个历史API请求最匹配的属性数据时,若选择不出一个与一个历史API请求最匹配的属性数据,则可从参数规范文件中匹配出与一个或多个历史API请求最相关/相似的请求,并通过一个或多个历史API请求最相关/相似的请求对应的属性数据/参数数据,预测/推导出一个属性数据,作为一个历史API请求对应的属性数据。从而,对历史API请求对应的属性数据进行数据扩充。
S120、基于第一目标数据,确定预训练模型。
其中,预训练模型用于对API请求进行首次参数预测。
获取历史API参数日志并清洗数据,该数据可作为LLM Pretrain(预训练)阶段的训练数据,用清洗后的历史API参数日志作为预训练阶段数据,可以将参数声明的知识固化在预训练模型中。
一些实施例中,基于第一目标数据,确定预训练模型,包括:
将第一目标数据作为预训练样本,采用第一损失函数,对网络模型结构进行训练,网络模型结构用于描述大语言模型的结构;直至训练得到的模型对应的第一损失值的变化量小于预设变化阈值,得到预训练模型,第一损失值通过对网络模型结构进行训练得到的模型的输出结果与参考结果之间的差值确定。
其中,网络模型结构可为一种开源生成式模型:BLOOM(BigScience Large Open-science Open-access Multilingual Language Model)结构,BLOOM结构为具解码器的生成式模型,可以将输入的文本扩写或翻译成新的文本。
第一损失函数可为交叉熵损失。在预训练数据集中,将每个数据作为完整输入,模型在预训练阶段会通过回归方式预测每条数据中下一个文字直至复原原始的文档,监督过程评估模型在每个step中生成文本与真实文本每个token(单词)之间的交叉熵损失,将损失回传给模型使用权重优化方法来修正模型权重,直至模型在N个step内损失不再下降。
S130、获取第二目标数据。
其中,第二目标数据可用于描述多个用户问题对应的问答数据对,每个用户问题由API请求的参数数据和API请求的参数数据的属性数据所构建得出。
一些实施例中,获取第二目标数据,包括:
获取每个文本片段对应的参数数据以及文本片段对应的属性数据;分别基于每个文本片段的参数数据和每个文本片段对应的属性数据,构建一个用户问题,用户问题与文本片段对应的API请求相对应;将每个用户问题输入大语言模型中,根据大语言模型的输出确定用户问题对应的答复信息,答复信息用于对用户问题对应的用户使用行为进行预测;将每个用户问题和每个用户问题对应的答复信息,确定为第二目标数据。
举例而言,对每一条API日志数据(即一个文本片段),对其中涉及的API参数,在Open API文档中找到其定义,按照一定的格式将API日志数据和参数说明文本,构建为一个问题。并使用具有思考能力的LLM回答上述构建的问题,主要让LLM推断出针对该API,用户可能的行为,以此,构建出问答数据对。
构建的问题示例如下:
具有思考能力的LLM回答示例如下:
如上LLM的回答,即为用户可能的使用行为,即指令微调数据的“指令”。构建完后,完整的指令微调训练数据(即第二目标数据)如下表示:
其中,“instruction”和“input”都为将要微调训练的模型输入,期望模型输出的为“output”内容。
S140、基于第二目标数据和预训练模型,确定参数预测模型。
其中,参数预测模型用于描述对预训练模型进行调整后得到的优化模型,以对API请求进行最终参数预测。
一些实施例中,基于第二目标数据和预训练模型,确定参数预测模型,包括:
将第二目标数据作为微调训练样本,采用第二损失函数,对预训练模型进行训练;直至训练得到的模型对应的第二损失值的变化量小于预设变化阈值,得到参数预测模型,第二损失值通过对预训练模型进行训练得到的模型的输出结果与参考结果之间的差值确定。
举例而言,在指令微调训练数据集中,将每条数据的“instruction”和“input”拼接成一个文本字符串作为输入,模型将续写输入文本的后续文本直至API参数回答完成,监督过程评估模型在每个step中生成的output与真实的完整output每个token(单词)之间的交叉熵损失,将损失回传给模型使用权重优化方法来修正模型权重,直至模型在N个step内损失不再下降,停止训练,模型训练完成后,即得到了可以自动构建API参数的模型。
从而,通过借助自然语言处理(NLP)技术,将用户使用自然语言表达的意图和需求转化为机器可理解的API请求参数。其中涉及语义解析、实体识别、意图识别等技术,在LUI中实现准确的API参数构建。企业应用在使用过程中生成了大量的用户使用记录,其中包含对API请求的参数等关键信息,本实施里充分利用这些日志信息,通过训练模型,实现仅依靠自然语言文本即可自动构建API参数的方法。
传统的方法适用于参数较少且容易推理的场景,无法应对企业级API请求参数冗长且复杂的情况,本实施例提出的方法通过结合历史API参数日志,克服了LLM对于文本输入输出长度的限制,从而解决了复杂参数构建的问题。同时,通过提高API参数构建的准确性和流畅性,实现了更好的LUI交互,用户可以更自然地表达需求,系统能够准确理解并生成合适的API参数与值,进一步提升LUI交互的效果和用户满意度。
本实施例能够利用自然语言进行API参数构建、利用历史API参数日志、解决复杂参数自动构建问题,为准确和流畅的LUI交互提供可能性。从而可以构建更直观、更自然的应用交互方式,提高用户体验和工作效率,同时通过自动构建API参数的方法,进一步优化LUI交互的准确性和流畅性。
本实施例中,通过获取第一目标数据,第一目标数据包括:历史应用程序接口API请求的参数数据和历史API请求的参数数据对应的属性数据,属性数据用于描述历史API请求的参数数据的参数声明,参数声明包括:参数名定义以及参数取值;基于第一目标数据,确定预训练模型,预训练模型用于对API请求进行首次参数预测;获取第二目标数据,第二目标数据用于描述多个用户问题对应的问答数据对,每个用户问题由API请求的参数数据和API请求的参数数据的属性数据所构建得出;基于第二目标数据和预训练模型,确定参数预测模型,参数预测模型用于描述对预训练模型进行调整后得到的优化模型,以对API请求进行最终参数预测。如此,在模型预训练阶段,将参数声明的知识固话在预训练模型中,在模型终训练阶段,用具有思考能力的大语言模型对日志构建问答数据对作为微调训练数据,训练得到具有参数推理能力的参数预测模型,便于准确进行API参数预测。
图2为本实施例提供的一种参数预测方法的流程示意图。如图2所示,参数预测方法可以包括:
S210、获取用户输入文本。
其中,用户输入文本为语言交互场景对应的文本。
举例而言,用户输入文本可为用户通过触屏、语音、按键等方式在操作系统中输入的文本信息。
S220、将用户输入文本输入参数预测模型中,根据参数预测模型的输出确定用户输入文本对应的目标API参数。
当用户输入一个与交互相关的文本,将使用指令微调后的模型直接输出API参数,生成结果示例如下:
可以使用一些正则工具将模型输出的jsonblock解析出来,并用作API请求的参数数据。
或者,将用户输入文本输入预训练模型中,根据预训练模型的输出确定用户输入文本对应的第一API参数,以及,将用户输入文本输入参数预测模型中,根据参数预测模型的输出确定用户输入文本对应的第二API参数,融合第一API参数和第二API参数,得到用户输入文本对应的目标API参数。从而,能够进一步提升参数预测准确性。
其中,参数预测模型为上述实施例中的方法所训练生成的参数预测模型,预训练模型为上述实施例中的方法所训练生成的预训练模型。
在融合第一API参数和第二API参数时,可为其分别分配不用的融合加权系数,通过第一API参数、第二API参数、第一API参数对应的融合加权系数以及第二API参数对应的融合加权系数,融合第一API参数和第二API参数,便于得到用户输入文本对应的目标API参数。
需要说明的是,由于第一API参数是通过预训练模型得到的,第二API参数是通过参数预测模型得到的,由于参数预测模型是对预训练模型进行优化后得到的模型,因此,可设置第二API参数对应的融合加权系数大于第一API参数对应的融合加权系数,来保证目标API参数的精准性。
图3为本实施例提供的一种参数预测模型的训练装置的结构示意图。参数预测模型的训练装置可以包括:第一获取模块310、第一确定模块320、第二获取模块330和第二确定模块340。其中:
第一获取模块310,用于获取第一目标数据,所述第一目标数据包括:历史应用程序接口API请求的参数数据和所述历史API请求的参数数据对应的属性数据,所述属性数据用于描述所述历史API请求的参数数据的参数声明,所述参数声明包括:参数名定义以及参数取值。
第一确定模块320,用于基于所述第一目标数据,确定预训练模型,所述预训练模型用于对API请求进行首次参数预测。
第二获取模块330,用于获取第二目标数据,所述第二目标数据用于描述多个用户问题对应的问答数据对,每个所述用户问题由API请求的参数数据和所述API请求的参数数据的属性数据所构建得出。
第二确定模块340,用于基于所述第二目标数据和所述预训练模型,确定参数预测模型,所述参数预测模型用于描述对所述预训练模型进行调整后得到的优化模型,以对所述API请求进行最终参数预测。
在本实施例中,可选的,第一获取模块310,具体用于:
从历史API参数日志中获取历史API请求的参数数据;从所述API参数日志对应的参数规范文件中获取所述历史API请求的参数数据对应的属性数据,所述参数声明中的所述参数取值为范围取值或规则取值;分别将所述历史API请求的参数数据和所述参数数据对应的属性数据,按照预设字符长度划分为多个文本片段,得到所述第一目标数据,每个所述文本片段对应有参数数据以及属性数据。
在本实施例中,可选的,还包括:清洗模块。
清洗模块,用于对所述历史API请求的参数数据进行数据清洗,去除同一个所述历史API请求对应的空/重复的参数数据;对所述历史API请求的参数数据对应的属性数据进行数据清洗,去除同一个参数数据对应的空/重复的属性数据。
在本实施例中,可选的,选择模块。
选择模块,用于若一个历史API请求的参数数据为空数据,则从所述历史API参数日志中选择与所述一个历史API请求最匹配的参数数据,作为所述一个历史API请求对应的参数数据;若一个历史API请求的参数数据对应的属性数据为空数据,则从所述历史API参数日志对应的参数规范文件中选择与所述一个历史API请求最匹配的属性数据,作为所述一个历史API请求的参数数据对应的属性数据。
在本实施例中,可选的,第二获取模块330,具体用于:
获取每个文本片段对应的参数数据以及所述文本片段对应的属性数据;分别基于所述每个文本片段的参数数据和所述每个文本片段对应的属性数据,构建一个用户问题,所述用户问题与所述文本片段对应的API请求相对应;将每个所述用户问题输入大语言模型中,根据所述大语言模型的输出确定所述用户问题对应的答复信息,所述答复信息用于对所述用户问题对应的用户使用行为进行预测;将每个所述用户问题和每个所述用户问题对应的答复信息,确定为所述第二目标数据。
在本实施例中,可选的,第一确定模块320,具体用于:
将所述第一目标数据作为预训练样本,采用第一损失函数,对网络模型结构进行训练,所述网络模型结构用于描述大语言模型的结构;直至训练得到的模型对应的第一损失值的变化量小于预设变化阈值,得到所述预训练模型,所述第一损失值通过对所述网络模型结构进行训练得到的模型的输出结果与参考结果之间的差值确定。
在本实施例中,可选的,第二确定模块340,具体用于:
将所述第二目标数据作为微调训练样本,采用第二损失函数,对所述预训练模型进行训练;直至训练得到的模型对应的第二损失值的变化量小于预设变化阈值,得到所述参数预测模型,所述第二损失值通过对所述预训练模型进行训练得到的模型的输出结果与参考结果之间的差值确定。
本公开提供的参数预测模型的训练装置,可执行上述方法实施例,其具体实现原理和技术效果,可参见上述方法实施例,本公开此处不再赘述。
图4为本实施例提供的一种参数预测装置的结构示意图。参数预测装置可以包括:第三获取模块410和第三确定模块420。其中:
第三获取模块410,用于获取用户输入文本,所述用户输入文本为语言交互场景对应的文本。
第三确定模块420,用于将所述用户输入文本输入参数预测模型中,根据所述参数预测模型的输出确定所述用户输入文本对应的目标API参数;或者,将所述用户输入文本输入预训练模型中,根据所述预训练模型的输出确定所述用户输入文本对应的第一API参数,以及,将所述用户输入文本输入参数预测模型中,根据所述参数预测模型的输出确定所述用户输入文本对应的第二API参数,融合所述第一API参数和所述第二API参数,得到所述用户输入文本对应的目标API参数。
其中,所述参数预测模型为上述实施例中所述的方法所训练生成的参数预测模型,所述预训练模型为上述实施例中所述的方法所训练生成的预训练模型。
本公开提供的参数预测装置,可执行上述方法实施例,其具体实现原理和技术效果,可参见上述方法实施例,本公开此处不再赘述。
本申请实施例还提供了一种计算机设备。具体请参阅图5,图5为本实施例计算机设备基本结构框图。
计算机设备包括通过系统总线相互通信连接存储器510和处理器520。需要指出的是,图中仅示出了具有组件510-520的计算机设备,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
存储器510至少包括一种类型的可读存储介质,可读存储介质包括非易失性存储器(non-volatile memory)或易失性存储器,例如,闪存(flashmemory)、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦写可编程只读存储器(erasable programmable read-onlymemory,EPROM)、电可擦写可编程只读存储器(electrically erasable programmableread-onlymemory,EEPROM)、可编程只读存储器(programmable read-only memory,PROM)、磁性存储器、磁盘、光盘等,RAM可以包括静态RAM或动态RAM。在一些实施例中,存储器510可以是计算机设备的内部存储单元,例如,该计算机设备的硬盘或内存。在另一些实施例中,存储器510也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡或闪存卡(FlashCard)等。当然,存储器510还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,存储器510通常用于存储安装于计算机设备的操作系统和各类应用软件,例如上述方法的程序代码等。此外,存储器510还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器520通常用于执行计算机设备的总体操作。本实施例中,存储器510用于存储程序代码或指令,程序代码包括计算机操作指令,处理器520用于执行存储器510存储的程序代码或指令或者处理数据,例如运行上述方法的程序代码。
本文中,总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。该总线系统可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本申请的另一实施例还提供一种计算机可读介质,计算机可读介质可以是计算机可读信号介质或者计算机可读介质。计算机中的处理器读取存储在计算机可读介质中的计算机可读程序代码,使得处理器能够执行在上述方法中每个步骤、或各步骤的组合中规定的功能动作;生成实施在框图的每一块、或各块的组合中规定的功能动作的装置。
计算机可读介质包含但不限于电子、磁性、光学、电磁、红外的存储器或半导体系统、设备或者装置,或者前述的任意适当组合,存储器用于存储程序代码或指令,程序代码包括计算机操作指令,处理器用于执行存储器存储的上述方法的程序代码或指令。
存储器和处理器的定义,可以参考前述计算机设备实施例的描述,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
在本申请各个实施例中的各功能单元或模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。本申请描述的“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了装置若干的单元权利要求中,这些装置中的若干个单元可以是通过同一个硬件项来具体体现。第一、第二、以及第三等的使用不表示任何顺序,可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种参数预测模型的训练方法,其特征在于,包括:
获取第一目标数据,所述第一目标数据包括:历史应用程序接口API请求的参数数据和所述历史API请求的参数数据对应的属性数据,所述属性数据用于描述所述历史API请求的参数数据的参数声明,所述参数声明包括:参数名定义以及参数取值;
基于所述第一目标数据,确定预训练模型,所述预训练模型用于对API请求进行首次参数预测;
获取第二目标数据,所述第二目标数据用于描述多个用户问题对应的问答数据对,每个所述用户问题由API请求的参数数据和所述API请求的参数数据的属性数据所构建得出;
基于所述第二目标数据和所述预训练模型,确定参数预测模型,所述参数预测模型用于描述对所述预训练模型进行调整后得到的优化模型,以对所述API请求进行最终参数预测。
2.根据权利要求1所述的方法,其特征在于,所述获取第一目标数据,包括:
从历史API参数日志中获取历史API请求的参数数据;
从所述API参数日志对应的参数规范文件中获取所述历史API请求的参数数据对应的属性数据,所述参数声明中的所述参数取值为范围取值或规则取值;
分别将所述历史API请求的参数数据和所述参数数据对应的属性数据,按照预设字符长度划分为多个文本片段,得到所述第一目标数据,每个所述文本片段对应有参数数据以及属性数据。
3.根据权利要求2所述的方法,其特征在于,还包括:
对所述历史API请求的参数数据进行数据清洗,去除同一个所述历史API请求对应的空/重复的参数数据;
对所述历史API请求的参数数据对应的属性数据进行数据清洗,去除同一个参数数据对应的空/重复的属性数据。
4.根据权利要求3所述的方法,其特征在于,还包括:
若一个历史API请求的参数数据为空数据,则从所述历史API参数日志中选择与所述一个历史API请求最匹配的参数数据,作为所述一个历史API请求对应的参数数据;
若一个历史API请求的参数数据对应的属性数据为空数据,则从所述历史API参数日志对应的参数规范文件中选择与所述一个历史API请求最匹配的属性数据,作为所述一个历史API请求的参数数据对应的属性数据。
5.根据权利要求2所述的方法,其特征在于,所述获取第二目标数据,包括:
获取每个文本片段对应的参数数据以及所述文本片段对应的属性数据;
分别基于所述每个文本片段的参数数据和所述每个文本片段对应的属性数据,构建一个用户问题,所述用户问题与所述文本片段对应的API请求相对应;
将每个所述用户问题输入大语言模型中,根据所述大语言模型的输出确定所述用户问题对应的答复信息,所述答复信息用于对所述用户问题对应的用户使用行为进行预测;
将每个所述用户问题和每个所述用户问题对应的答复信息,确定为所述第二目标数据。
6.根据权利要求1所述的方法,其特征在于,所述基于所述第一目标数据,确定预训练模型,包括:
将所述第一目标数据作为预训练样本,采用第一损失函数,对网络模型结构进行训练,所述网络模型结构用于描述大语言模型的结构;
直至训练得到的模型对应的第一损失值的变化量小于预设变化阈值,得到所述预训练模型,所述第一损失值通过对所述网络模型结构进行训练得到的模型的输出结果与参考结果之间的差值确定。
7.根据权利要求1所述的方法,其特征在于,所述基于所述第二目标数据和所述预训练模型,确定参数预测模型,包括:
将所述第二目标数据作为微调训练样本,采用第二损失函数,对所述预训练模型进行训练;
直至训练得到的模型对应的第二损失值的变化量小于预设变化阈值,得到所述参数预测模型,所述第二损失值通过对所述预训练模型进行训练得到的模型的输出结果与参考结果之间的差值确定。
8.一种参数预测方法,其特征在于,包括:
获取用户输入文本,所述用户输入文本为语言交互场景对应的文本;
将所述用户输入文本输入参数预测模型中,根据所述参数预测模型的输出确定所述用户输入文本对应的目标API参数;
或者,将所述用户输入文本输入预训练模型中,根据所述预训练模型的输出确定所述用户输入文本对应的第一API参数,以及,将所述用户输入文本输入参数预测模型中,根据所述参数预测模型的输出确定所述用户输入文本对应的第二API参数,融合所述第一API参数和所述第二API参数,得到所述用户输入文本对应的目标API参数;
其中,所述参数预测模型为权利要求1-7中任一项所述的方法所训练生成的参数预测模型,所述预训练模型为权利要求1-7中任一项所述的方法所训练生成的预训练模型。
9.一种参数预测模型的训练装置,其特征在于,包括:
第一获取模块,用于获取第一目标数据,所述第一目标数据包括:历史应用程序接口API请求的参数数据和所述历史API请求的参数数据对应的属性数据,所述属性数据用于描述所述历史API请求的参数数据的参数声明,所述参数声明包括:参数名定义以及参数取值;
第一确定模块,用于基于所述第一目标数据,确定预训练模型,所述预训练模型用于对API请求进行首次参数预测;
第二获取模块,用于获取第二目标数据,所述第二目标数据用于描述多个用户问题对应的问答数据对,每个所述用户问题由API请求的参数数据和所述API请求的参数数据的属性数据所构建得出;
第二确定模块,用于基于所述第二目标数据和所述预训练模型,确定参数预测模型,所述参数预测模型用于描述对所述预训练模型进行调整后得到的优化模型,以对所述API请求进行最终参数预测。
10.一种参数预测装置,其特征在于,包括:
第三获取模块,用于获取用户输入文本,所述用户输入文本为语言交互场景对应的文本;
第三确定模块,用于将所述用户输入文本输入参数预测模型中,根据所述参数预测模型的输出确定所述用户输入文本对应的目标API参数;或者,将所述用户输入文本输入预训练模型中,根据所述预训练模型的输出确定所述用户输入文本对应的第一API参数,以及,将所述用户输入文本输入参数预测模型中,根据所述参数预测模型的输出确定所述用户输入文本对应的第二API参数,融合所述第一API参数和所述第二API参数,得到所述用户输入文本对应的目标API参数;
其中,所述参数预测模型为权利要求1-7中任一项所述的方法所训练生成的参数预测模型,所述预训练模型为权利要求1-7中任一项所述的方法所训练生成的预训练模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310918799.1A CN116975635A (zh) | 2023-07-25 | 2023-07-25 | 参数预测模型的训练方法、参数预测方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310918799.1A CN116975635A (zh) | 2023-07-25 | 2023-07-25 | 参数预测模型的训练方法、参数预测方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116975635A true CN116975635A (zh) | 2023-10-31 |
Family
ID=88477711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310918799.1A Pending CN116975635A (zh) | 2023-07-25 | 2023-07-25 | 参数预测模型的训练方法、参数预测方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116975635A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117874211A (zh) * | 2024-03-13 | 2024-04-12 | 蒲惠智造科技股份有限公司 | 基于saas软件的智能问答方法、系统、介质及电子设备 |
-
2023
- 2023-07-25 CN CN202310918799.1A patent/CN116975635A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117874211A (zh) * | 2024-03-13 | 2024-04-12 | 蒲惠智造科技股份有限公司 | 基于saas软件的智能问答方法、系统、介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021217935A1 (zh) | 问题生成模型的训练方法、问题生成方法及其相关设备 | |
WO2021068352A1 (zh) | Faq问答对自动构建方法、装置、计算机设备及存储介质 | |
US20230025317A1 (en) | Text classification model training method, text classification method, apparatus, device, storage medium and computer program product | |
JP2021197137A (ja) | モデルを訓練するための方法、装置、電子機器、記憶媒体およびコンピュータプログラム | |
CN111507088A (zh) | 语句补全方法、设备及可读存储介质 | |
CN110209803B (zh) | 故事生成方法、装置、计算机设备及存储介质 | |
CN112507735A (zh) | 机器翻译模型的训练方法、装置和电子设备 | |
CN111767394A (zh) | 一种基于人工智能专家系统的摘要提取方法及装置 | |
CN116975635A (zh) | 参数预测模型的训练方法、参数预测方法和装置 | |
JP2020135135A (ja) | 対話コンテンツ作成支援方法およびシステム | |
JP7309811B2 (ja) | データ注釈方法、装置、電子機器および記憶媒体 | |
CN115631261A (zh) | 图像生成模型的训练方法、图像生成方法和装置 | |
CN113626608B (zh) | 增强语义的关系抽取方法、装置、计算机设备及存储介质 | |
CN112559725A (zh) | 文本匹配方法、装置、终端和存储介质 | |
CN115186738B (zh) | 模型训练方法、装置和存储介质 | |
CN110852066B (zh) | 一种基于对抗训练机制的多语言实体关系抽取方法及系统 | |
CN116561298A (zh) | 基于人工智能的标题生成方法、装置、设备及存储介质 | |
US20220284280A1 (en) | Data labeling for synthetic data generation | |
US20170024405A1 (en) | Method for automatically generating dynamic index for content displayed on electronic device | |
CN116150324A (zh) | 对话模型的训练方法、装置、设备及介质 | |
CN113807106A (zh) | 翻译模型的训练方法、装置、电子设备及存储介质 | |
US20220004717A1 (en) | Method and system for enhancing document reliability to enable given document to receive higher reliability from reader | |
CN113901841A (zh) | 翻译方法、装置以及存储介质 | |
CN113284498B (zh) | 客户意图识别方法及装置 | |
CN117236347B (zh) | 交互文本翻译的方法、交互文本的显示方法和相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |