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

一种开源协议的风险评估方法、装置、设备及存储介质

文献发布时间:2023-06-19 11:44:10


一种开源协议的风险评估方法、装置、设备及存储介质

技术领域

本发明涉及软件开发领域,特别涉及一种开源协议的风险评估方法、装置、设备及计算机可读存储介质。

背景技术

随着开源软件的多样化发展,开源协议类型也越来越多。开源协议规定了在使用开源软件时的权利和责任,各类型的开源协议的规范和定义各不相同,相同类型的开源协议的不同版本也各有不同,并且开源协议也有上下级的继承关系;如果某些开源软件中引入了某些有专利版权保护的闭源商业软件,也会有很大的风险。为了减少不必要的使用纠纷和潜在法律诉讼,在选择某一类开源组件来构建开源软件过程中,需要准确对所使用的开源软件进行风险评估,得出风险评估信息。

现有技术中,一般是通过技术人员查看开源软件中的开源协议,根据自身技术经验确定出开源协议的风险评估信息,但是现有技术的方法,不仅操作过程繁琐,需要消耗大量的人力资源,而且在实际操作中技术人员漏看、错看代码数据的情况时有发生,因此将导致得出的风险评估信息不准确。

因此,如何高效准确地对开源协议进行风险评估,降低对人力资源的消耗,是本领域技术人员目前需要解决的技术问题。

发明内容

有鉴于此,本发明的目的在于提供一种开源协议的风险评估方法,能够高效准确地对开源协议进行风险评估,降低对人力资源的消耗,;本发明的另一目的是提供一种开源协议的风险评估装置、设备及计算机可读存储介质,均具有上述有益效果。

为解决上述技术问题,本发明提供一种开源协议的风险评估方法,包括:

获取样本开源协议,并利用与所述样本开源协议对应的样本风险评估信息为所述样本开源协议设置标签信息,得出训练样本;

利用所述训练样本进行学习训练,得出目标模型;

当存在目标开源协议时,将所述目标开源协议输入至所述目标模型中,利用所述目标模型输出与所述目标开源协议对应的目标风险评估信息。

优选地,所述获取样本开源协议,并利用与所述样本开源协议对应的样本风险评估信息为所述样本开源协议设置标签信息,得出训练样本的过程,具体包括:

获取所述样本开源协议;

根据模块格式对所述样本开源协议进行协议拆解,得出标准格式的所述样本开源协议;

接收与各所述样本开源协议对应的所述样本风险评估信息,利用所述样本风险评估信息为各所述样本开源协议设置对应的标签信息,得到所述训练样本。

优选地,所述根据模块格式对所述样本开源协议进行协议拆解,得出标准格式的所述样本开源协议的过程,具体包括:

利用NLP分析器根据所述模块格式对所述样本开源协议进行协议拆解,得出标准格式的所述样本开源协议。

优选地,所述利用所述训练样本进行学习训练,得出目标模型的过程,具体包括:

将所述训练样本输入至深度神经网络中进行学习训练,当模型精准度达到预设标准时输出所述目标模型。

优选地,所述将所述训练样本输入至深度神经网络中进行学习训练,当模型精准度达到预设标准时输出所述目标模型的过程,具体包括:

将所述训练样本输入至所述深度神经网络中进行学习训练,调用多个不同的比对函数库判断所述模型精准度,当所述模型精准度达到预设标准时输出所述目标模型。

优选地,在所述根据模块格式对所述样本开源协议进行协议拆解,得出标准格式的所述样本开源协议之后,进一步包括:

对标准格式的所述样本开源协议进行降维处理。

优选地,进一步包括:

当迭代更新模型达到最大迭代次数时,将迭代更新次数为所述最大迭代次数对应的模型输出为所述目标模型。

为解决上述技术问题,本发明还提供一种开源协议的风险评估装置,包括:

获取模块,用于获取样本开源协议,并利用与所述样本开源协议对应的样本风险评估信息为所述样本开源协议设置标签信息,得出训练样本;

训练模块,用于利用所述训练样本进行学习训练,得出目标模型;

输出模块,用于当存在目标开源协议时,将所述目标开源协议输入至所述目标模型中,利用所述目标模型输出与所述目标开源协议对应的目标风险评估信息。

为解决上述技术问题,本发明还提供一种开源协议的风险评估设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现上述任一种开源协议的风险评估方法的步骤。

为解决上述技术问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种开源协议的风险评估方法的步骤。

本发明提供的一种开源协议的风险评估方法,通过预先利用样本开源协议进行学习训练得出目标模型,后续便可以利用目标模型确定出与目标开源协议对应的目标风险评估信息,避免了技术人员手动查看得出目标风险评估信息的过程,因此本方法能够简化操作过程,提高风险评估的效率,降低对人力资源的消耗,并且通过目标模型输出目标风险评估信息,避免了技术人员漏看、错看代码数据的情况,能够提高风险评估的准确度。

为解决上述技术问题,本发明还提供了一种开源协议的风险评估装置、设备及计算机可读存储介质,均具有上述有益效果。

附图说明

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

图1为本发明实施例提供的一种开源协议的风险评估方法的流程图;

图2为本发明实施例提供的一种开源协议的风险评估装置的结构图;

图3为本发明实施例提供的一种开源协议的风险评估设备的结构图。

具体实施方式

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

本发明实施例的核心是提供一种开源协议的风险评估方法,能够高效准确地对开源协议进行风险评估,降低对人力资源的消耗,;本发明的另一核心是提供一种开源协议的风险评估装置、设备及计算机可读存储介质,均具有上述有益效果。

为了使本领域技术人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。

图1为本发明实施例提供的一种开源协议的风险评估方法的流程图。如图1所示,一种开源协议的风险评估方法包括:

S10:获取样本开源协议,并利用与样本开源协议对应的样本风险评估信息为样本开源协议设置标签信息,得出训练样本;

S20:利用训练样本进行学习训练,得出目标模型。

具体的,在本实施例中,样本开源协议指的是已经得出对应的样本风险评估信息的开源协议,样本风险评估信息即与样本开源协议对应的风险评估信息,包括该样本开源协议是否可以进行商业化开发,该样本开源协议是否可以进行二次修改,该样本开源协议是否存在违规的风险等。在获取样本开源协议后,利用与样本开源协议对应的样本风险评估信息为样本开源协议设置标签信息,从而得出训练样本。

在本步骤中,可以是利用深度学习神经网络进行学习训练,本实施例对此不做限定;在训练目标模型之前,一般根据实际需求选择训练样本的数量,本实施例对此不做限定,一般所使用的训练样本的样本量越大,训练出的目标模型的精准度越高。

S30:当存在目标开源协议时,将目标开源协议输入至目标模型中,利用目标模型输出与目标开源协议对应的目标风险评估信息。

具体的,在训练出目标模型之后,当存在目标开源协议时,即存在需要确定出对应的目标风险评估信息的开源协议时,将目标开源协议输入至目标模型中,利用目标模型输出与目标开源协议对应的目标风险评估信息。

本发明实施例提供的一种开源协议的风险评估方法,通过获取样本开源协议,并利用与样本开源协议对应的样本风险评估信息为样本开源协议设置标签信息,得出训练样本,并利用训练样本进行学习训练得出目标模型,后续便可以利用目标模型确定出与目标开源协议对应的目标风险评估信息,避免了技术人员手动查看得出目标风险评估信息的过程,因此本方法能够简化操作过程,提高风险评估的效率,降低对人力资源的消耗,并且通过目标模型输出目标风险评估信息,避免了技术人员漏看、错看代码数据的情况,能够提高风险评估的准确度。

在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,本实施例中,获取样本开源协议,并利用与样本开源协议对应的样本风险评估信息为样本开源协议设置标签信息,得出训练样本的过程,具体包括:

获取样本开源协议;

根据模块格式对样本开源协议进行协议拆解,得出标准格式的样本开源协议;

接收与各样本开源协议对应的样本风险评估信息,利用样本风险评估信息为各样本开源协议设置对应的标签信息,得到训练样本。

在本实施例中,是在获取样本开源协议之后,进一步根据模块格式对样本开源协议进行协议拆解。具体的,样本开源协议为普通的协议文本,进行协议拆解之后转义为标准格式的样本开源协议,以键值对存储,键为关键词,值为与关键词对应的协议文本;关键词包括编写者版权、是否允许二次开发等。然后接收与各样本开源协议对应的样本风险评估信息,利用样本风险评估信息为各样本开源协议设置对应的标签信息,得到训练样本。

作为优选的实施方式,根据模块格式对样本开源协议进行协议拆解,得出标准格式的样本开源协议的过程,具体包括:

利用NLP分析器根据模块格式对样本开源协议进行协议拆解,得出标准格式的样本开源协议。

具体的,NLP(Natural Language Processing,自然语言处理)是指让计算机接受用户自然语言形式的输入,即样本开源协议,并在内部通过人类所定义的算法进行加工、计算等系列操作,即根据模块格式对样本开源协议进行协议拆解,以模拟人类对自然语言的理解,并返回用户所期望的结果,即标准格式的样本开源协议。可见,利用NLP分析器对样本开源协议进行协议拆解得出标准格式的样本开源协议的方式更加便捷。

本实施例通过进一步根据模块格式对样本开源协议进行协议拆解,利用标准格式的样本开源协议对应的训练样本进行学习训练,能进一步提高训练得出目标模型的效率。

在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,本实施例中,利用训练样本进行学习训练,得出目标模型的过程,具体包括:

将训练样本输入至深度神经网络中进行学习训练,当模型精准度达到预设标准时输出目标模型。

具体的,在本实施例中,是在利用与样本开源协议对应的样本风险评估信息为样本开源协议设置标签信息得出训练样本之后,将训练样本划分为训练集和测试集,将训练样本中的训练集输入至深度神经网络中进行学习训练,在模型精准度达到第一阈值时,输出初始化模型;再利用训练样本中的测试集对初始化模型进行训练,调整模型的参数,直至模型精准度达到第二阈值,此时输出目标模型。按照本实施例的方法,能够相对保障训练出的目标模型的精准度。

另外需要说明的是,在实际操作中,还可以通过增强学习的方法来加快学习训练的速度,加快模型收敛速度,降低梯度下降的时间,提高模型的准确率,进一步提高训练得出目标模型的效率。

在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,本实施例中,将训练样本输入至深度神经网络中进行学习训练,当模型精准度达到预设标准时输出目标模型的过程,具体包括:

将训练样本输入至深度神经网络中进行学习训练,调用多个不同的比对函数库判断模型精准度,当模型精准度达到预设标准时输出目标模型。

需要说明的是,在本实施例中,是在进行学习训练不断更新初始化模型的过程中,调用多个不同的比对函数库判断每次迭代更新得出的初始化模型的模型精准度,将测试集中的样本开源协议输入至目标模型得出对应的输出风险评估信息,利用不同的比对函数库计算输出风险评估信息与测试集中对应的样本风险评估信息的词频的相似度,比对函数库包括用于计算欧氏距离、余弦距离、曼哈顿距离、加权曼哈顿距离的算法以及包括LDA(Latent Dirichlet Allocation,文档主题生成模型)算法、TF-IDF(Term Frequency–Inverse Document Frequency,词频-逆文本频率指数)算法等算法的函数库,本实施例对此不做限定;根据各不同比对函数库分别对应的计算结果确定出当前迭代出的初始化模型的模型精准度,再根据模型精准度是否达到预设标准来确定是否输出目标模型;若模型精准度达到预设标准,则输出目标模型;否则,则继续迭代更新初始化模型,直至模型精准度达到预设标准时输出目标模型。

可见,本实施例通过调用多个不同的比对函数库判断模型精准度,能够进一步保障目标模型的精准度。

在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,本实施例在根据模块格式对样本开源协议进行协议拆解,得出标准格式的样本开源协议之后,进一步包括:

对标准格式的样本开源协议进行降维处理。

具体的,在本实施例中,具体是利用PCA(Principal Component Analysis,主成分分析)降维算法对标准格式的样本开源协议进行降维处理,PCA降维算法是一种无监督的方式,既可以减少需要分析的开源协议的维度,又可以尽可能多地保持原来开源协议的特征。

可见,本实施例通过进一步对样本开源协议进行降维处理,能够进一步提高训练出目标模型的效率。

另外,在实际操作中,在获取到目标开源协议后,也可以对目标开源协议进行降维处理,以便利用目标模型更加便捷地确定出与目标开源协议对应的目标风险评估信息。

在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,本实施例进一步包括:

当迭代更新模型达到最大迭代次数时,将迭代更新次数为最大迭代次数对应的模型输出为目标模型。

需要说明的是,在实际操作中,还可能存在初始化模型收敛慢,造成对初始化模型迭代更新很多次仍无法使得初始化模型的模型精准度达到预设标准的情况,为了解决这一技术问题,在本实施例中,是进一步设置最大迭代次数,在学习训练的过程中,累计进行迭代更新初始化模型的累计迭代更新次数,并进一步将该累计迭代更新次数与最大迭代次数进行比较,若累计迭代更新次数大于最大迭代次数,即表示迭代更新初始化模型达到最大迭代次数仍无法使得对应的初始化模型的模型精准度达到预设标准,因此结束迭代并将达到最大迭代次数时对应的初始化模型输出为目标模型。

可见,按照本实施例的方法,能够避免迭代更新的次数过多造成资源浪费。

上文对于本发明提供的一种开源协议的风险评估方法的实施例进行了详细的描述,本发明还提供了一种与该方法对应的开源协议的风险评估装置、设备及计算机可读存储介质,由于装置、设备及计算机可读存储介质部分的实施例与方法部分的实施例相互照应,因此装置、设备及计算机可读存储介质部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。

图2为本发明实施例提供的一种开源协议的风险评估装置的结构图,如图2所示,一种开源协议的风险评估装置包括:

获取模块21,用于获取样本开源协议,并利用与样本开源协议对应的样本风险评估信息为样本开源协议设置标签信息,得出训练样本;

训练模块22,用于利用训练样本进行学习训练,得出目标模型;

输出模块23,用于当存在目标开源协议时,将目标开源协议输入至目标模型中,利用目标模型输出与目标开源协议对应的目标风险评估信息。

本发明实施例提供的开源协议的风险评估装置,具有上述开源协议的风险评估方法的有益效果。

作为优选的实施方式,获取模块具体包括:

获取子模块,用于获取样本开源协议;

转义子模块,用于根据模块格式对样本开源协议进行协议拆解,得出标准格式的样本开源协议;

设置子模块,用于接收与各样本开源协议对应的样本风险评估信息,利用样本风险评估信息为各样本开源协议设置对应的标签信息,得到训练样本。

作为优选的实施方式,训练模块具体包括:

训练子模块,用于将训练样本输入至深度神经网络中进行学习训练,当模型精准度达到预设标准时输出目标模型。

作为优选的实施方式,训练子模块具体包括:

训练单元,用于将训练样本输入至深度神经网络中进行学习训练,调用多个不同的比对函数库判断模型精准度,当模型精准度达到预设标准时输出目标模型。

作为优选的实施方式,另一种开源协议的风险评估装置进一步包括:

降维处理模块,用于对标准格式的样本开源协议进行降维处理。

作为优选的实施方式,另一种开源协议的风险评估装置进一步包括:

迭代限制模块,用于当迭代更新模型达到最大迭代次数时,将迭代更新次数为最大迭代次数对应的模型输出为目标模型。

图3为本发明实施例提供的一种开源协议的风险评估设备的结构图,如图3所示,一种开源协议的风险评估设备包括:

存储器31,用于存储计算机程序;

处理器32,用于执行计算机程序时实现如上述开源协议的风险评估方法的步骤。

本发明实施例提供的开源协议的风险评估设备,具有上述开源协议的风险评估方法的有益效果。

为解决上述技术问题,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述开源协议的风险评估方法的步骤。

本发明实施例提供的计算机可读存储介质,具有上述开源协议的风险评估方法的有益效果。

以上对本发明所提供的开源协议的风险评估方法、装置、设备及计算机可读存储介质进行了详细介绍。本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

相关技术
  • 一种开源协议的风险评估方法、装置、设备及存储介质
  • 一种火灾风险评估方法、装置、终端设备及存储介质
技术分类

06120113034500