合约生成模型训练方法、合约生成方法及电子设备与流程

文档序号:25856585发布日期:2021-07-13 16:10阅读:91来源:国知局
合约生成模型训练方法、合约生成方法及电子设备与流程

本发明涉及计算机技术领域,尤其涉及一种合约生成模型训练方法、合约生成方法及电子设备。



背景技术:

智能合约(smartcontract)是一种旨在以信息化方式传播、验证或执行合同的计算机协议。相关技术中,通常基于合约参与方的历史合约记录生成区块链的智能合约,然而,当需要生成的智能合约类型与历史合约记录中的智能合约的类型不同时,无法根据历史合约记录生成新的智能合约。



技术实现要素:

有鉴于此,本发明实施例期望提供一种合约生成模型训练方法、合约生成方法及电子设备,以解决相关技术中当需要生成的智能合约类型与历史合约记录中的智能合约的类型不同时,无法根据历史合约记录生成新的智能合约的技术问题。

为达到上述目的,本发明的技术方案是这样实现的:

本发明实施例提供一种合约生成模型训练方法,包括:

对智能合约进行聚类,得到设定类别的至少一个智能合约样本;

将第一功能函数名称和所述设定类别的至少一个智能合约样本输入至合约生成模型,得到所述第一功能函数名称对应的第一源码;

基于所述第一源码和第二源码,更新所述合约生成模型的权重参数;其中,

所述合约生成模型包括第一入口和第二入口,所述第一入口用于输入智能合约样本,所述第二入口用于输入功能函数名称;所述第一源码由所述合约生成模型基于至少一份语义编码和所述第一功能函数名称确定出;所述至少一份语义编码基于输入的智能合约样本得到;每份语义编码表征输入的智能合约样本中的一种功能函数的特征;所述第二源码为输入的智能合约样本中所述第一功能函数名称对应的源码。

上述方案中,所述合约生成模型包括级联的第一神经网络和第二神经网络;所述将第一功能函数名称和所述设定类别的至少一个智能合约样本输入至合约生成模型,得到所述第一功能函数名称对应的第一源码,包括:

将所述设定类别的至少一个智能合约样本输入至合约生成模型的第一神经网络,得到至少一份语义编码;

将第一功能函数名称和所述至少一份语义编码输入至合约生成模型的第二神经网络,得到所述第一功能函数名称对应的第一源码。

上述方案中,所述方法还包括:

从所述设定类别的至少一个智能合约样本中,确定出第一功能函数名称和对应的第二源码。

上述方案中,所述对智能合约进行聚类,得到设定类别的至少一个智能合约样本,包括:

确定出每个智能合约对应的特征向量;

对确定出的特征向量进行密度聚类,得到至少一个类别的特征向量;

基于设定类别对应的设定关键词以及所述至少一个类别的特征向量,确定出设定类别的至少一个智能合约样本。

上述方案中,所述确定出每个智能合约对应的特征向量,包括:

对第一智能合约进行预处理,得到第二智能合约;

对第二智能合约进行分词处理,得到第二智能合约的分词结果;

基于第二智能合约的分词结果,确定出第二智能合约对应的特征向量。

上述方案中,所述对第一智能合约进行预处理,包括以下至少之一:

去除第一智能合约中的注释源码;

按照设定格式,调整第一智能合约中的源码;

在第一智能合约中每个功能函数的源码的结束位置,增加停止词。

本发明实施例还提供了一种合约生成方法,包括:

将至少一个功能函数名称输入至第一模型,得到所述至少一个功能函数名称中每个功能函数名称对应的源码;

基于所述至少一个功能函数名称中每个功能函数名称对应的源码,生成智能合约;其中,

所述第一模型为采用上述任一种合约生成模型训练方法训练得到的合约生成模型。

本发明实施例还提供了一种电子设备,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,

其中,所述处理器用于运行所述计算机程序时,执行上述任一种合约生成模型训练方法的步骤,或执行上述任一种合约生成方法的步骤。

本发明实施例还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种合约生成模型训练方法的步骤,或执行上述任一种合约生成方法的步骤。

本发明实施例,对智能合约进行聚类,得到设定类别的至少一个智能合约样本,可以获取到不同合约参与方的智能合约,丰富设定类别的智能合约样本;基于第一功能函数名称和所述设定类别的至少一个智能合约样本训练合约生成模型,基于合约生成模型输出的第一源码和输入的智能合约样本中的第二源码,更新合约生成模型的权重参数,在满足更新停止条件时,得到训练完毕的合约生成模型。由于,训练完毕的合约生成模型基于输入的功能函数名称输出对应的功能函数名称的源码,因此,即使不懂编程的用户也可以利用训练完毕的合约生成模型生成任一功能函数名称对应的源码,从而得到智能合约,降低了智能合约的开发难度,可以提高智能合约的生成效率。

附图说明

图1为本发明实施例提供的一种合约生成模型训练方法的实现流程示意图;

图2为本发明实施例提供的一种合约生成模型训练方法的示意图;

图3为本发明另一实施例提供的一种合约生成方法的实现流程示意图;

图4为本发明实施例提供的合约生成模型训练装置的结构示意图;

图5为本发明另一实施例提供的合约生成装置的结构示意图;

图6为本发明实施例提供的电子设备的硬件组成结构示意图。

具体实施方式

以下结合说明书附图及具体实施例对本发明的技术方案做进一步的详细阐述。

图1示出了本发明实施例提供的一种合约生成模型训练方法的实现流程示意图。在本发明实施例中,合约生成模型训练方法的执行主体是电子设备,电子设备可以是服务器,也可以是终端,终端包括台式电脑、平板电脑、手机等。

参照图1,本发明实施例提供的合约生成模型训练方法包括:

s101:对智能合约进行聚类,得到设定类别的至少一个智能合约样本。

这里,电子设备获取到的智能合约进行聚类处理,得到至少一个类别的智能合约;基于设定类别对应的设定关键词,从至少一个类别的智能合约中,确定出设定类别的至少一个智能合约样本。其中,设定关键词用于识别设定类别的智能合约。智能合约的类别可以包括交易、投票等。设定类别可以是用户选择的智能合约的类别。

在实际应用中,电子设备可以从本地数据库中获取智能合约,也可以从非本地数据量中获取智能合约,例如利用网络爬虫技术从以太坊中获取经过验证的智能合约。利用网络爬虫技术从以太坊中获取经过验证的智能合约的过程为:利用网络爬虫技术从以太坊中获取智能合约的索引信息,索引信息包括智能合约的名称和统一资源定位符(url,uniformresourcelocator);基于智能合约的url,跳转到智能合约的详情页,从智能合约的详情页获取对应的智能合约的源码,并将智能合约的名称和源码关联保存。其中,智能合约的详情页写入了智能合约的源码。

需要说明的是,电子设备在获取到智能合约的索引信息的情况下,可以基于获取索引信息建立索引文件,索引文件中保存有获取到的每个智能合约的名称和对应的url;电子设备基于索引文件中的url,获取对应的智能合约的源码。

为了准确地对智能合约进行分类,在一些实施例中,所述对智能合约进行聚类,得到设定类别的至少一个智能合约样本,包括:

确定出每个智能合约对应的特征向量;

对确定出的特征向量进行密度聚类,得到至少一个类别的特征向量;

基于设定类别对应的设定关键词以及所述至少一个类别的特征向量,确定出设定类别的至少一个智能合约样本。

这里,电子设备利用分词技术对获取到的智能合约中的源码进行分词处理,得到每个智能合约对应的分词结果;基于每个智能合约对应的分词结果,将分词结果中的每个分词转换成对应的向量,得到每个智能合约对应的特征向量。实际应用时,电子设备可以利用向量空间模型(vsm,vectorspacemodel)将智能合约中的文本信息映射成对应的特征向量。一个智能合约对应一个多维特征向量。智能合约对应的多维特征向量中包括智能合约对应的分词结果中的每个分词对应的向量。

电子设备对智能合约对应的特征向量进行密度聚类,得到至少一个类别的特征向量;基于设定类别对应的设定关键词对应的向量,从至少一个类别的特征向量中确定出设定类别对应的至少一个特征向量,得到设定类别对应的至少一个智能合约样本。其中,密度聚类是寻找被低密度区域分离出的高密度区域。

电子设备可以基于设定的邻域半径(eps)和设定的邻域最小点数(minpts),从智能合约对应的特征向量中确定出至少一个核心对象,并创建以至少一个核心对象中每个核心对象为中心的簇。电子设备基于设定的邻域半径,从智能合约对应的特征向量中,确定出处于核心对象的邻域半径内的特征向量,将确定出的特征向量添加至对应的核心对象对应的簇;当没有新的特征向量添加到任何核心对象对应的簇时,表征密度聚类结束,得到至少一个类别的特征向量;其中,同一个簇内的特征向量属于同一类别。

需要说明的是,在进行密度聚类时,每个智能合约的特征向量表征一个点;不同的智能合约的特征向量之间的距离表征特征向量之间的欧式距离。当任一特征向量的邻域半径内包含的特征向量的数量大于minpts时,该特征向量为核心对象。

实际应用时,电子设备可以采用基于密度的聚类算法对智能合约对应的特征向量进行聚类,得到至少一个类别的特征向量。基于密度的聚类算法包括具有噪声的基于密度的聚类方法(dbscan,density-basedspatialclusteringofapplicationswithnoise)。

为了提高智能合约样本的准确度和减少数据处理量,在一些实施例中,所述确定出每个智能合约对应的特征向量,包括:

对第一智能合约进行预处理,得到第二智能合约;

对第二智能合约进行分词处理,得到第二智能合约的分词结果;

基于第二智能合约的分词结果,确定出第二智能合约对应的特征向量。

这里,电子设备对第一智能合约进行预处理,以减小数据误差。第二智能合约对应的特征向量中的每个元素表征一个分词的向量。这里所说的第一智能合约为上文中获取到的智能合约。

在一些实施例中,所述对第一智能合约进行预处理,包括以下至少之一:

去除第一智能合约中的注释源码;

按照设定格式,调整第一智能合约中的源码;

在第一智能合约中每个功能函数的源码的结束位置,增加停止词。

在实际应用中,考虑到注释源码通常起到解释说明的作用,去除第一智能合约中的注释源码,以减少电子设备的数据处理量。

按照设定格式,调整第一智能合约中的源码,包括:将第一智能合约中的源码统一转换成大写或小写;将语义相同的不同单词,调整为相同的单词。

停止词可以为return;增加的停止词用于标记功能函数已结束,以便电子设备可以基于停止词准确地确定出每个功能函数的源码。

在一些实施例中,在得到设定类别的至少一个智能合约样本的情况下,所述方法还包括:

从所述设定类别的至少一个智能合约样本中,确定出第一功能函数名称和对应的第二源码。

这里,电子设备可以对设定类别的至少一个智能合约样本中的每个智能合约样本进行分析,从而确定出设定类别的每个智能合约样本中包含的功能函数名称,并确定出每个功能函数名称对应的源码。在确定出智能合约样本中包含的功能函数名称和对应的源码的情况下,建立功能函数名称和源码之间的对应关系。实际应用时,电子设备可以基于停止词,确定出设定类别的每个智能合约样本中包含的功能函数和对应的源码。

在利用设定类别的至少一个智能合约训练合约生成模型时,电子设备从设定类别的至少一个智能合约样本包含的功能函数名称中,确定出第一功能函数名称;基于功能函数名称和源码之间的对应关系,从每个智能合约中确定出第一功能函数名称对应的第二源码。第二源码用于与合约生成模型输出的第一功能函数名称对应的第一源码进行比较,从而确定合约生成模型的损失值。

实际应用时,合约生成模型的输入数据和输出数据均以向量的形式进行表示;电子设备在确定出第二智能合约对应的特征向量的情况下,可以从第二智能合约对应的特征向量中确定出第一功能函数名称和对应的第二源码。

需要说明的是,第一功能函数名称泛指设定类别的智能合约样本中包含的任一功能函数。电子设备可以利用设定类别的智能合约中包含的每个功能函数名称训练合约生成模型。

s102:将第一功能函数名称和所述设定类别的至少一个智能合约样本输入至合约生成模型,得到所述第一功能函数名称对应的第一源码。其中,

所述合约生成模型包括第一入口和第二入口,所述第一入口用于输入智能合约样本,所述第二入口用于输入功能函数名称;所述第一源码由所述合约生成模型基于至少一份语义编码和所述第一功能函数名称确定出;所述至少一份语义编码基于输入的智能合约样本得到;每份语义编码表征输入的智能合约样本中的一种功能函数的特征。

这里,由于合约生成模型的输入数据和输出数据均以向量的形式进行表示,因此,输入合约生成模型的第一功能函数名称和设定类别的智能合约样本均为向量,第一功能函数名称对应的第一源码也为向量。

电子设备将设定类别的至少一个智能合约样本中的至少一个智能合约样本,从合约生成模型的第一入口输入至合约生成模型;将第一功能函数名称从合约生成模型的第二入口输入至合约生成模型。

电子设备获取合约生成模型基于输入的智能合约样本和第一功能函数名称,输出的第一功能函数名称对应的第一源码。其中,

合约生成模型基于输入的智能合约样本和第一功能函数名称,输出第一功能函数名称对应的第一源码的实现过程如下:

合约生成模型对输入的至少一个智能合约样本中的每个智能合约样本进行特征提取,得到每个智能合约样本的特征信息;基于每个智能合约样本的特征信息,确定出至少一份语义编码;合约生成模型基于第一功能函数名称和确定出的至少一个语义编码,确定出第一功能函数名称对应的第一源码。其中,语义编码用向量进行表示,每份语义编码表征输入的智能合约样本中的一种功能函数的特征。

在实际应用中,合约生成模型可以由长短期记忆网络(lstm,longshort-termmemory)构成,或者由循环神经网络(rnn,recurrentneuralnetwork)构成。

请一并参照图2,在一些实施例中,所述合约生成模型包括级联的第一神经网络和第二神经网络;合约生成模型的第一入口为第一神经网络的输入层的入口,合约生成模型的第二入口为第二神经网络的输入层的入口。

所述将第一功能函数名称和所述设定类别的至少一个智能合约样本输入至合约生成模型,得到所述第一功能函数名称对应的第一源码,包括:

将所述设定类别的至少一个智能合约样本输入至合约生成模型的第一神经网络,得到至少一份语义编码;

将第一功能函数名称和所述至少一份语义编码输入至合约生成模型的第二神经网络,得到所述第一功能函数名称对应的第一源码。

这里,电子设备将设定类别的至少一个智能合约中每个智能合约输入至合约生成模型的第一神经网络。第一神经网络对输入的智能合约进行特征提取,得到至少一种功能函数的编码特征;第一神经网络基于至少一种功能函数中每种功能函数的编码特征,输出至少一份语义编码。其中,每份语义编码表征输入的智能合约中的一种功能函数的特征。

电子设备在获取到第一神经网络输出的至少一份语义编码的情况下,将第一功能函数名称和获取到的至少一份语义编码输入至第二神经网络。第二神经网络从输入的至少一份语义编码中,确定出第一功能函数名称对应的语义编码,对第一功能函数名称对应的语义编码进行解码,输出第一功能函数名称对应的第一源码。

在实际应用中,第一神经网络和第二神经网络均由lstm,或均由rnn构成。第一神经网络和第二神经网络的结构可以相同。

s103:基于所述第一源码和第二源码,更新所述合约生成模型的权重参数;其中,所述第二源码为输入的智能合约样本中所述第一功能函数名称对应的源码。

这里,电子设备获取输入合约生成模型的每份智能合约中第一功能函数名称对应的第二源码,基于第一源码和获取到的第二源码,计算出第一源码和每份第二源码之间的第一损失值;基于计算出的所有第一损失值,计算平均损失值,得到合约生成模型的总损失函数;根据确定出的总损失函数更新合约生成模型的权重参数,以提升合约生成模型输出的第一源码的准确度。其中,

第一源码和第二源码属于同一维度。实际应用时,当第一源码为向量时,第二源码也为向量;当第一源码为文本信息时,第二源码也为文本信息。

电子设备将合约生成模型的总损失值在合约生成模型中进行反向传播,在将总损失值反向传播至合约生成模型的各个层的过程中,根据总损失值计算出损失函数的梯度,并沿梯度的下降方向更新反向传播到当前层的权重参数。

电子设备将更新后得到的权重参数,作为训练完毕的合约生成模型所使用的权重参数。训练完毕的合约生成模型中包括设定类别的智能合约样本对应的语义编码集合。电子设备可以针对不同类别的智能合约样本,按照上述方法训练出不同的合约生成模型。

这里,可设定更新停止条件,在满足更新停止条件时,将最后一次更新得到的权重参数,确定为训练完毕的合约生成模型所使用的权重参数。更新停止条件如设定的训练轮次(epoch),一个训练轮次即为根据至少一个智能合约样本和第一功能函数名称对合约生成模型训练一次的过程。当然,更新停止条件并不限于此,例如还可为设定的平均准确率(map,meanaverageprecision)等。

需要说明的是,损失函数(lossfunction)用于度量模型的预测值与真实值(标定值)之间的不一致程度。实际应用时,通过最小化损失函数来实现模型训练。

反向传播是相对于前向传播而言的,前向传播是指模型的前馈处理过程,而反向传播的方向与前向传播的方向相反。反向传播是指根据模型输出的结果对模型各个层的权重参数进行更新。例如,模型包括输入层、隐藏层和输出层,则前向传播是指按照输入层-隐藏层-输出层的顺序进行处理,反向传播是指按照输出层-隐藏层-输入层的顺序,依次更新各个层的权重参数。

本实施例中,对智能合约进行聚类,得到设定类别的至少一个智能合约样本,可以获取到不同合约参与方的智能合约,丰富设定类别的智能合约样本;基于第一功能函数名称和所述设定类别的至少一个智能合约样本训练合约生成模型,基于合约生成模型输出的第一源码和输入的智能合约样本中的第二源码,更新合约生成模型的权重参数,在满足更新停止条件时,得到训练完毕的合约生成模型。由于,训练完毕的合约生成模型基于输入的功能函数名称输出对应的功能函数名称的源码,因此,即使不懂编程的用户也可以利用训练完毕的合约生成模型生成任一功能函数名称对应的源码,从而得到智能合约,降低了智能合约的开发难度,可以提高智能合约的生成效率。

作为本发明的另一实施例,图3示出了本发明另一实施例提供的一种合约生成方法的实现流程示意图。合约生成方法的执行主体为电子设备,电子设备可以为手机、电脑等终端,也可以为服务器。需要说明的是,用于训练合约生成模型的电子设备,与用于生成智能合约的电子设备可以相同,也可以不同。例如,利用服务器训练合约生成模型,利用电脑基于训练完毕的合约生成模型生成智能合约。

参照图3,本实施例提供的合约生成方法,包括:

s301:将至少一个功能函数名称输入至第一模型,得到所述至少一个功能函数名称中每个功能函数名称对应的源码;其中,

所述第一模型为采用上述任一实施例所述的合约生成模型训练方法训练得到的合约生成模型。

这里,用户可以通过相应的交互界面选择智能合约的类别和智能合约中包含的功能函数。电子设备在获取到用户选择的智能合约的第一类别和至少一个功能函数名称的情况下,确定出第一类别对应的第一模型,将获取到的功能函数名称对应的向量输入至确定出的第一模型的第二入口,得到第一模型输出的功能函数名称对应的源码。其中,

第一模型基于输入的功能函数名称输出功能函数名称对应的源码的实现过程如下:

第一模型基于输入的功能函数名称和内置于第一模型中的语义编码集合,确定出输入的功能函数名称对应的语义编码,对确定出的语义编码进行解码,输出对应的功能函数的源码。

内置于第一模型中的语义编码集合是在模型训练完毕时得到的第一类别的智能合约样本对应的语义编码集合。语义编码集合包括至少一份语义编码,每份语义编码表征一种功能函数名称对应的特征。

实际应用时,当用户选择的功能函数名称的数量大于或等于2时,电子设备可以利用第一模型分别得到每个功能函数名称对应的源码。

当第一模型包括级联的第一神经网络和第二神经网络时,电子设备将获取到的功能函数名称对应的向量输入至第二神经网络,第二神经网络基于输入的功能函数名称对应的向量和语义编码集合,输出对应的功能函数名称的源码。

需要说明的是,语义编码集合可以内置于第一神经网络,也可以内置于第二神经网络。

s302:基于所述至少一个功能函数名称中每个功能函数名称对应的源码,生成智能合约。

这里,由于第一模型输出的源码是以向量的形式进行表示的,因此,电子设备在获取到每个功能函数名称对应的源码的情况下,将每个功能函数名称对应的源码映射为对应的文本信息;基于每个功能函数名称对应的源码的文本信息,生成智能合约。其中,电子设备可以将每个功能函数名称对应的源码中的文本信息进行合并,得到智能合约。

在一些实施例中,所述方法还包括:

基于被触发的至少一个设定控件,确定出所述至少一个设定控件中每个设定控件对应的至少一个功能函数名称。

为了方便用户使用,本发明提供一个设定的页面编辑器,页面编辑器中设置有与第一模型链接的至少一个设定控件,每个设定控件对应一种功能函数,一种功能函数对应至少一个功能函数名称。

用户可以通过设定的页面编辑器,根据实际需求选择需要生成的智能合约的类别,根据需要的功能函数点击页面编辑器中的设定控件。实际应用时,用户可以通过点击设定控件,从设定控件对应的至少一个功能函数名称中选择需要的功能函数名称。

电子设备在检测到设定的页面编辑器中的设定控件被触发时,确定出被触发的设定控件对应的至少一个功能函数名称,并利用第一模型生成确定出的功能函数名称对应的源码。

需要说明的是,电子设备可以基于第一模型输出的源码生成智能合约。在一些实施例中,电子设备在获取到第一模型基于功能函数名称输出的源码的情况下,在设定的页面编辑器显示功能函数名称对应的源码的文本信息,以便用户将设定的页面编辑器中显示的源码的文本信息复制或拖拽至用户编辑的智能合约中。

在实际应用中,电子设备在生成智能合约之后,可以将智能合约存储至本地数据库;也可以在确认生成的智能合约为可用的智能合约的情况下,将可用的智能合约部署至以太坊。

本实施例中,通过将功能函数名称输入至第一模型,得到第一模型输出的功能函数名称对应的源码;基于第一模型输出的功能函数名称对应的源码,生成智能合约。第一模型可以基于功能函数名称输出对应的源码,即使不懂编程的用户也可以利用第一模型生成需要的智能合约,降低了智能合约的开发难度,可以提高智能合约的生成效率。

用户可以通过点击设定控件来根据实际需求设计智能合约,以便用户定制个性化的智能合约。

为实现本发明实施例的方法,本发明实施例还提供了一种合约生成模型训练装置,设置在终端或服务器等电子设备上,如图4所示,该合约生成模型训练装置包括:

获取单元41,用于对智能合约进行聚类,得到设定类别的至少一个智能合约样本;

训练单元42,用于将第一功能函数名称和所述设定类别的至少一个智能合约样本输入至合约生成模型,得到所述第一功能函数名称对应的第一源码;

更新单元43,用于基于所述第一源码和第二源码,更新所述合约生成模型的权重参数;其中,

所述合约生成模型包括第一入口和第二入口,所述第一入口用于输入智能合约样本,所述第二入口用于输入功能函数名称;所述第一源码由所述合约生成模型基于至少一份语义编码和所述第一功能函数名称确定出;所述至少一份语义编码基于输入的智能合约样本得到;每份语义编码表征输入的智能合约样本中的一种功能函数的特征;所述第二源码为输入的智能合约样本中所述第一功能函数名称对应的源码。

在一些实施例中,所述合约生成模型包括级联的第一神经网络和第二神经网络;训练单元42用于:

将所述设定类别的至少一个智能合约样本输入至合约生成模型的第一神经网络,得到至少一份语义编码;

将第一功能函数名称和所述至少一份语义编码输入至合约生成模型的第二神经网络,得到所述第一功能函数名称对应的第一源码。

在一些实施例中,该合约生成模型训练装置还包括:

确定单元,用于从所述设定类别的至少一个智能合约样本中,确定出第一功能函数名称和对应的第二源码。

在一些实施例中,获取单元41用于:

确定出每个智能合约对应的特征向量;

对确定出的特征向量进行密度聚类,得到至少一个类别的特征向量;

基于设定类别对应的设定关键词以及所述至少一个类别的特征向量,确定出设定类别的至少一个智能合约样本。

在一些实施例中,获取单元41用于:

对第一智能合约进行预处理,得到第二智能合约;

对第二智能合约进行分词处理,得到第二智能合约的分词结果;

基于第二智能合约的分词结果,确定出第二智能合约对应的特征向量。

在一些实施例中,所述对第一智能合约进行预处理,包括以下至少之一:

去除第一智能合约中的注释源码;

按照设定格式,调整第一智能合约中的源码;

在第一智能合约中每个功能函数的源码的结束位置,增加停止词。

实际应用时,合约生成模型训练装置包括的各单元,可由合约生成模型训练装置中的处理器来实现,或者由合约生成模型训练装置中的处理器和通信接口共同实现。当然,处理器需要运行存储器中存储的程序来实现上述各程序模块的功能。

需要说明的是:上述实施例提供的合约生成模型训练装置在训练合约生成模型时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将合约生成模型训练装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的合约生成模型训练装置与合约生成模型训练方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

为实现本发明实施例的方法,本发明实施例还提供了一种合约生成装置,设置在终端或服务器等电子设备上,如图5所示,该合约生成装置包括:

输入单元51,用于将至少一个功能函数名称输入至第一模型,得到所述至少一个功能函数名称中每个功能函数名称对应的源码;

合约生成单元52,用于基于所述至少一个功能函数名称中每个功能函数名称对应的源码,生成智能合约;其中,

所述第一模型为采用上述任一实施例所述的合约生成模型训练方法训练得到的合约生成模型。

在一些实施例中,该合约生成装置还包括

确定单元,用于基于被触发的至少一个设定控件,确定出所述至少一个设定控件中每个设定控件对应的至少一个功能函数名称。

实际应用时,合约生成装置包括的各单元,可由合约生成装置中的处理器来实现,或者由合约生成装置中的处理器和通信接口共同实现。当然,处理器需要运行存储器中存储的程序来实现上述各程序模块的功能。

需要说明的是:上述实施例提供的合约生成装置在生成智能合约时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将合约生成装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的合约生成装置与合约生成方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

基于上述程序模块的硬件实现,且为了实现本发明实施例的方法,本发明实施例还提供了一种电子设备。图6为本发明实施例电子设备的硬件组成结构示意图,如图6所示,电子设备包括:

通信接口61,能够与其它设备比如网络设备等进行信息交互;

处理器62,与通信接口61连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的合约生成模型训练方法,和/或,合约生成方法。而所述计算机程序存储在存储器63上。

当然,实际应用时,电子设备中的各个组件通过总线系统64耦合在一起。可理解,总线系统64用于实现这些组件之间的连接通信。总线系统64除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图6中将各种总线都标为总线系统64。

本发明实施例中的存储器63用于存储各种类型的数据以支持电子设备的操作。这些数据的示例包括:用于在电子设备上操作的任何计算机程序。

可以理解,存储器63可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom,readonlymemory)、可编程只读存储器(prom,programmableread-onlymemory)、可擦除可编程只读存储器(eprom,erasableprogrammableread-onlymemory)、电可擦除可编程只读存储器(eeprom,electricallyerasableprogrammableread-onlymemory)、磁性随机存取存储器(fram,ferromagneticrandomaccessmemory)、快闪存储器(flashmemory)、磁表面存储器、光盘、或只读光盘(cd-rom,compactdiscread-onlymemory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(ram,randomaccessmemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram,staticrandomaccessmemory)、同步静态随机存取存储器(ssram,synchronousstaticrandomaccessmemory)、动态随机存取存储器(dram,dynamicrandomaccessmemory)、同步动态随机存取存储器(sdram,synchronousdynamicrandomaccessmemory)、双倍数据速率同步动态随机存取存储器(ddrsdram,doubledataratesynchronousdynamicrandomaccessmemory)、增强型同步动态随机存取存储器(esdram,enhancedsynchronousdynamicrandomaccessmemory)、同步连接动态随机存取存储器(sldram,synclinkdynamicrandomaccessmemory)、直接内存总线随机存取存储器(drram,directrambusrandomaccessmemory)。本发明实施例描述的存储器3旨在包括但不限于这些和任意其它适合类型的存储器。

上述本发明实施例揭示的方法可以应用于处理器62中,或者由处理器62实现。处理器62可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器62中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器62可以是通用处理器、dsp,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器62可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器63,处理器62读取存储器63中的程序,结合其硬件完成前述方法的步骤。

处理器62执行所述程序时实现本发明实施例的各个方法中的相应流程,为了简洁,在此不再赘述。

在示例性实施例中,本发明实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器63,上述计算机程序可由处理器62执行,以完成前述方法所述步骤。计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、flashmemory、磁表面存储器、光盘、或cd-rom等存储器。

在本发明所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本发明各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是,本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1