具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供的基于联邦学习的薪资计算方法,可应用在如图1的应用环境中,其中,终端设备通过网络与服务器进行通信。其中,终端设备可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
系统框架100可以包括终端设备、网络和服务器。网络用以在终端设备和服务器之间提供通信链路的介质。网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备通过网络与服务器交互,以接收或者发送消息等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器 (Moving Picture EpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureEperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、 103上显示的页面提供支持的后台服务器。
需要说明的是,本申请实施例所提供的基于联邦学习的薪资计算方法由服务器执行,相应地,基于联邦学习的薪资计算装置设置于服务器中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的,根据实现需要,可以具有任意数目的终端设备、网络和服务器,本申请实施例中的终端设备具体可以对应的是实际生产中的应用系统。
在一实施例中,如图2所示,提供一种基于联邦学习的薪资计算方法,应用于薪资计算系统中,薪资计算系统中包括应用端、薪资聚合服务器和本地参与方模型,以该方法应用在图1中的服务器为例进行说明,包括如下步骤:
S10,应用端创建薪资计算任务,其中,薪资计算任务包括薪资基础信息,薪资基础信息包括行业信息和岗位信息。
具体的,薪资计算对象通过薪资计算系统的应用端创建薪资计算任务。
应用端是指具有薪资计算功能的应用程序、网页,薪资计算对象是指具有薪资发放责任的企业等。
在需要发放薪资时,通过薪资计算系统的应用端,创建薪资计算任务,薪资计算任务包括薪资基础信息,其中,薪资基础信息用于获取计算员工薪资的基础信息,进一步的,薪资基础信息具体包括员工标识、所属行业信息和所在行业的岗位信息。
其中,员工标识包括但不限于姓名、工号等用于标识员工身份的符号。行业信息是指该员工所述的行业,例如互联网行业、游戏行业等。岗位信息是指该员工任职的职位对应的岗位,例如游戏行业中的游戏建模岗等。
S20,本地参与方模型基于薪资基础信息,从薪资聚合服务器获取薪资聚合参数,其中,薪资聚合服务器和本地参与方模型基于联邦学习模型构建。
具体的,本地参与方模型是指具有薪资计算需求的对象作为参与方构建的模型,其中,参与方基于联邦学习模型构建本地参与方模型和薪资聚合服务器。
首先,本地参与方模型从薪资聚合服务器获取加密梯度信息,对加密梯度信息进行解密后,再从薪资聚合服务器获取薪资聚合参数。
S30,本地参与方模型基于薪资聚合参数,获取本地数据库的人力成本数据,并将人力成本数据输入到参数计算神经网络,得到员工业绩参数和薪资阈值数据,其中,参数计算神经网络基于卷积神经网络构建。
其中,本地参与方模型基于薪资聚合参数,在参与方的本地数据库中获取人力成本数据,其中,人力成本数据是指参与方维持人力资源的成本数据,具体包括员工的薪资等。
将人力成本数据输入到参数计算神经网络,得到员工业绩参数和薪资阈值数据。员工业绩参数用于员工在基础薪资之外应该获得的额外薪资,根据员工业绩参数计算得到员工的额外薪资。
需要说明的是,本实施例中的参数计算神经网络基于卷积神经网络构建。
员工绩效参数中包括员工的个人能力指标,公司福利达到公司目标的奖励数据等。
S40,应用端基于薪资阈值数据,生成薪资阈值区间,并基于薪资阈值区间,生成薪资计算公式。
具体的,薪资阈值数据是基于人力成本数据得到,可以理解的,薪资阈值数据与人力成本数据相关,根据薪资阈值数据得到薪资阈值区间,具体是,员工薪资应该小于参与方维持人力成本的最大值等。根据薪资阈值数据与员工薪资的限定关系,生成薪资阈值区间,生成薪资计算公式。
S50,应用端根据薪资聚合参数和员工业绩参数,通过薪资计算公式计算得到员工薪资。
具体的,薪资聚合参数包括基础薪资、可变薪资和间接薪资,员工业绩参数根据薪资聚合参数的类型,对应生成相应的类别,具体的,员工业绩参数的类型包括工作能力参数、福利参数和公司目标参数。
其中,工作能力参数和基础薪资对应,可变薪资和福利参数对应,间接薪资和公司目标参数对应。
薪资计算公式可以通过如下公式表示:
员工薪资=模型聚合参数+员工业绩参数<薪资阈值数据
员工薪资=基础薪资+可变薪资+间接薪资<薪资阈值数据
其中,按照模型聚合参数和员工业绩参数之间的对应关系,得到基础薪资、可变薪资和间接薪资。
本申请实施例提供的一种基于联邦学习的薪资计算方法,通过联邦学习模型构建薪资聚合服务器和本地参与方服务器,通过薪资聚合服务器计算得到薪资聚合参数,在本地数据库基于薪资聚合参数获取本地数据库的人力成本数据,将人力成本数据输入到本地参与方模型中的参数计算神经网络,得到员工业绩参数和薪资阈值数据。基于薪资阈值数据的限定关系,生成薪资计算公式,将员工业绩参数和薪资聚合参数输入到薪资计算公式,则计算得到员工薪资,根据联邦学习模型聚合得到薪资聚合参数,并通过参数计算神经网络计算得到员工业绩参数,避免了人工录入员工业绩信息,人工计算出员工业绩信息,根据自动生成的薪资计算公式,计算得到员工薪资,提高员工薪资的计算效率,并能有效保证员工薪资的准确性。
在本实施例中,在步骤S20中,薪资聚合服务器和本地参与方模型基于联邦学习模型构建包括:
S201,薪资聚合服务器将初始模型参数发送给本地参与方模型,其中,本地参与方模型由属于同一领域的至少两个薪资计算对象构建。
具体的,本地参与方模型由同一行业领域的至少两个薪资计算对象构建,即每个薪资计算对象作为参与方分别拥有一个本地参与方模型。
其中,每个参与方来自同一领域的不同对象。
首先,薪资聚合 服务器初始化基于卷积神经网络构建的初始模型参数,并将初始模型参数发送给每个本地参与方模型,并确定参与方的个数。
S202,薪资聚合服务器接收本地参与方模型发送的加密梯度信息,并对加密梯度信息进行聚合,得到加密聚合参数。
S203 ,本地参与方模型基于加密聚合参数进行本地模型更新,得到本地薪资计算模型以及本地模型更新参数,将本地模型更新参数发送给薪资聚合服务器,并基于薪资计算模型构建薪资计算系统。
具体的,薪资聚合服务器再接收本地参与方模型发送的加密梯度,进行迭代后,得到聚合后的加密梯度,作为加密聚合参数发送给本地参与方模型,用于本地参与方模型对本地模型进行模型参数更新,通过本地参与方模型和薪资聚合服务器构建薪资计算系统。
本地参与方模型基于本地数据库的数据,在薪资聚合服务器进行安全聚合,得到薪资聚合参数。
在本实施例中,通过联邦模型构建薪资聚合服务器和本地参与方模型,进而构建薪资计算系统,通过薪资计算系统创建薪资计算任务,进而根据薪资聚合服务器获取薪资聚合参数,按照同一行业领域的数据进行聚合,得到薪资绝活参数,在计算员工薪资时,根据全行业的数据聚合得到的薪资聚合参数设定员工薪资的基准线,保证员工薪资的计算准确度,有效减少人力维持成本。
在本实施例中,在步骤S20中,薪资聚合参数的类型包括基础薪资参数、间接薪资参数、可变薪资参数和薪资计算因子。
具体的,基础薪资参数是薪资聚合服务器通过安全聚合得到的行业间的基础薪资的均值;间接薪资参数是薪资聚合服务器通过安全聚合得到的行业间的间接薪资的均值;可变薪资参数是薪资聚合服务器通过安全聚合得到的行业间的可变薪资的均值。
薪资计算因子是指影响薪资高低的因素,具体有薪资计算对象的市场份额、规模以及员工个数。
在本实施例中,将薪资聚合参数分成多个维度,便于从多个维度计算员工薪资,最大程度反映员工的工作成果,有效提高员工薪资的准确性。
在本实施例中,在步骤S30中,本地参与方模型基于薪资聚合参数,获取本地数据库的人力成本数据,并将人力成本数据输入到参数计算神经网络,得到员工业绩参数和薪资阈值数包括:
S301,获取本地数据库的人力成本数据,按照薪资聚合参数的类型,将人力成本数据划分为人力成本数据集、绩效数据集、企业福利数据集和企业目标数据集。
S302,将薪资计算因子分别与人力成本数据集、绩效数据集、企业福利数据集和企业目标数据集共同输入到卷积神经网络中,依次得到薪资阈值数据、工作能力参数、福利参数和间接薪资参数。
S303,将工作能力参数、福利参数和间接薪资参数作为员工业绩参数。
具体的,可以理解的,薪资计算对象应当是参与方之一。
在薪资计算对象的本地数据库中获取人力成本数据,并将人力成本数据划分成人力成本数据集、绩效数据集、企业福利数据集和企业目标数据集。
将薪资计算因子和人力成本数据集输入到参数计算神经网络,得到薪资阈值数据;将薪资计算因子和绩效数据集输入到参数计算神经网络,得到工作能力参数;将薪资计算因子和企业福利数据集输入到参数计算神经网络,得到福利参数;将薪资计算因子和企业目标数据集输入到参数计算神经网络,得到间接薪资参数。
将工作能力参数、福利参数和间接薪资参数作为员工业绩参数。
在本实施例中,通过本地数据库中的人力成本数据,通过参数计算神经网络计算得到员工绩效参数,员工绩效参数基于每个薪资计算对象的具体人力成本数据计算得到,根据员工绩效参数在后续计算员工薪资时,能够满足薪资计算对象的人力承担成本,进一步能够保证计算得到的员工薪资的准确性。
在本实施例中,在步骤S40中,应用端基于薪资阈值数据,生成薪资阈值区间,并基于薪资阈值区间,生成薪资计算公式包括:
S401,基于薪资阈值数据,生成薪资阈值区间。
S402,根据薪资阈值区间以及薪资计算规则,生成薪资计算方程,并将薪资计算方程作为薪资计算公式。
具体的,基于薪资阈值数据,生成薪资阈值区间,根据薪资阈值区间作为薪资计算的限定指标。其中,薪资阈值区间的最小值可以是当地的最低薪资标准,最大值可以是薪资计算对象的人力成本最大值。
根据模型聚合参数和员工绩效参数以及薪资阈值区间,生成薪资计算方程,并将薪资计算方程作为薪资计算公式。
将每个员工的参数代入薪资计算公式,计算得到该员工的员工薪资。
在本实施例中,通过薪资阈值数据确定薪资阈值区间,根据薪资阈值区间,有效限定薪资的有效范围,保证计算得到的员工薪资的有效性,并且能够提高计算员工薪资的效率。
进一步的,需要说明的是,根据薪资计算公式计算得到后的员工薪资若大于薪资阈值区间的最大值,则按照薪资阈值区间的最大值作为员工薪资,并记录当前时间节点的员工薪资的实际数值。
在本实施例中,在步骤S50,应用端基于薪资阈值数据得到薪资计算方式,并基于薪资聚合参数和员工业绩参数,通过薪资计算方式计算得到员工薪资之后,包括:
S51,针对任一员工标识,获取员工标识在预设时间区间内每个时间节点的员工薪资,其中,预设时间区间中包括至少两个时间节点。
具体的,员工标识是指员工姓名、员工工号等用于表示员工身份的符号。根据薪资计算任务中的员工标识信息,获取该员工标识在预设时间区间内的每个时间节点的薪资。
其中,预设时间区间是指由多个计算薪资的时间节点组成的时间段,例如[xxx年xx月,xxx年yy月]等。其中,时间节点是指薪资计算对象在发送员工薪资的时间节点,例如,发薪日是每月10号,则将每月的10号作为一个时间节点。
S52,比较每个时间节点的员工薪资与薪资阈值数据的大小,得到比较结果,比较结果包括每个时间节点的员工薪资大于薪资阈值数据的次数。
具体的,循环比较每个时间节点的员工薪资与薪资阈值数据的大小结果,若员工薪资大于薪资阈值数据,则计数+1,将次数作为比较结果。
S53,根据比较结果次数,生成员工的升职评价结果。
具体的,根据比较结果次数与总次数的比值,若比值大于第一阈值,则得到第一升职评价结果,若比值大于第二阈值,则得到第二升职评价结果。
其中,第一阈值、第二阈值、第一升职评价结果以及第二升职评价结果可根据实际需求设定,在此不做限定。
在本实施例中,根据员工薪资,按照预设方式得到员工的升职评价结果,便于用人单位对员工的职位进行评估,提高有效的参考价值。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
在一实施例中,提供一种基于联邦学习的薪资计算装置,该基于联邦学习的薪资计算装置与上述实施例中基于联邦学习的薪资计算方法一一对应。
如图3所示,该基于联邦学习的薪资计算装置包括:
薪资任务创建模块31,用于所述应用端创建薪资计算任务,其中,所述薪资计算任务包括薪资基础信息,所述薪资基础信息包括行业信息和岗位信息。
聚合参数获取模块32,用于所述本地参与方模型基于所述薪资基础信息,从薪资聚合服务器获取薪资聚合参数,其中,所述薪资聚合服务器和所述本地参与方模型基于联邦学习模型构建。
参数计算模块33,用于所述本地参与方模型基于所述薪资聚合参数,获取本地数据库的人力成本数据,并将所述人力成本数据输入到参数计算神经网络,得到员工业绩参数和薪资阈值数据,其中,所述参数计算神经网络基于卷积神经网络构建。
公式生成模块34,用于所述应用端基于所述薪资阈值数据,生成薪资阈值区间,并基于所述薪资阈值区间,生成薪资计算公式。
薪资计算模块35,用于所述应用端根据所述薪资聚合参数和所述员工业绩参数,通过所述薪资计算公式计算得到员工薪资。
进一步的,在本实施例中,基于联邦学习的薪资计算装置包括:
初始参数模块,用于所述薪资聚合服务器将初始模型参数发送给本地参与方模型,其中,所述本地参与方模型由属于同一领域的至少两个薪资计算对象构建。
参数加密模块,用于所述薪资聚合服务器接收所述本地参与方模型发送的加密梯度信息,并对所述加密梯度信息进行聚合,得到加密聚合参数。
本地模型更新模块,用于所述本地参与方模型基于所述加密聚合参数进行本地模型更新,得到本地薪资计算模型以及本地模型更新参数,将所述本地模型更新参数发送给所述薪资聚合服务器,并基于所述薪资计算模型构建薪资计算系统。
进一步的,参数计算模块33包括:
数据获取单元,用于获取本地数据库的人力成本数据,按照所述薪资聚合参数的类型,将所述人力成本数据划分为人力成本数据集、绩效数据集、企业福利数据集和企业目标数据集。
参数计算单元,用于将所述薪资计算因子分别与所述人力成本数据集、所述绩效数据集、所述企业福利数据集合所述企业目标数据集共同输入到卷积神经网络中,依次得到薪资阈值数据、工作能力参数、福利参数和间接薪资参数。
参数生成单元,用于将所述工作能力参数、所述福利参数和所述间接薪资参数作为员工业绩参数。
进一步的,公式生成模块34包括:
区间生成单元,用于基于所述薪资阈值数据,生成薪资阈值区间。
公式生成单元,用于据所述薪资阈值区间以及薪资计算规则,生成薪资计算方程,并将所述薪资计算方程作为所述薪资计算公式。
进一步的,基于联邦学习的薪资计算装置还包括:
薪资获取膜块,用于针对任一员工标识,获取所述员工标识在预设时间区间内每个时间节点的员工薪资,其中,所述预设时间区间中包括至少两个时间节点。
比较模块,用于比较每个所述时间节点的员工薪资与所述薪资阈值数据的大小,得到比较结果,所述比较结果包括每个所述时间节点的员工薪资大于所述薪资阈值数据的次数。
结果生成模块,用于根据所述比较结果次数,生成所述员工的升职评价结果。
其中上述模块/单元中的“第一”和“第二”的意义仅在于将不同的模块 /单元加以区分,并不用于限定哪个模块/单元的优先级更高或者其它的限定意义。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本申请中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式。
关于基于联邦学习的薪资计算装置的具体限定可以参见上文中对于基于联邦学习的薪资计算方法的限定,在此不再赘述。上述基于联邦学习的薪资计算装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储基于联邦学习的薪资计算方法中涉及到的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于联邦学习的薪资计算方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中基于联邦学习的薪资计算方法的步骤,例如图2所示的步骤S10 至步骤S50及该方法的其它扩展和相关步骤的延伸。或者,处理器执行计算机程序时实现上述实施例中基于联邦学习的薪资计算装置的各模块/单元的功能,例如图3所示模块31至模块35的功能。为避免重复,这里不再赘述。
所述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、视频数据等)等。
所述存储器可以集成在所述处理器中,也可以与所述处理器分开设置。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中基于联邦学习的薪资计算方法的步骤,例如图2所示的步骤S10至步骤S50及该方法的其它扩展和相关步骤的延伸。或者,计算机程序被处理器执行时实现上述实施例中基于联邦学习的薪资计算装置的各模块/单元的功能,例如图3所示模块31至模块35的功能。为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM (RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。