一种跨语言机器学习方法及系统技术方案

技术编号:27145310 阅读:12 留言:0更新日期:2021-01-27 21:50
本发明专利技术公开了一种跨语言机器学习方法及系统,应用于以web服务的形式形成的机器学习平台,根据机器学习算法的各算法流程,生成算法流程图框架;根据各算法流程各自对应的具体操作步骤,一一为算法流程图框架上的各流程节点配置相应的算法描述;遍历算法流程图框架上的各流程节点,生成节点执行顺序,并按照节点执行顺序分别将各流程节点配置的算法描述自主翻译成python代码,得到用python代码表示的机器学习算法,以利用此机器学习算法实现机器学习。可见,本申请既能让web服务系统选择最常用的java语言,又能让机器学习算法的实现使用python语言,从而发挥了两种语言的生态优势。从而发挥了两种语言的生态优势。从而发挥了两种语言的生态优势。

【技术实现步骤摘要】
一种跨语言机器学习方法及系统


[0001]本专利技术涉及机器学习领域,特别是涉及一种跨语言机器学习方法及系统。

技术介绍

[0002]目前,机器学习算法通常都会以web服务的形式形成机器学习平台。在一个机器学习平台中,web服务和机器学习算法都用同一语言实现。web服务一般使用Java语言实现,所以web服务系统中的机器学习算法也用Java语言实现,需专业工程师进行编写,比较麻烦;而且,在机器学习领域中,最常用、模块最丰富的语言是Python语言。
[0003]因此,如何提供一种在web服务系统中,自主编写Python语言的机器学习算法实现机器学习的方案是本领域的技术人员目前需要解决的问题。

技术实现思路

[0004]本专利技术的目的是提供一种跨语言机器学习方法及系统,既能让web服务系统选择最常用的java语言,又能让机器学习算法的实现使用python语言,从而发挥了两种语言的生态优势。
[0005]为解决上述技术问题,本专利技术提供了一种跨语言机器学习方法,应用于以web服务的形式形成的机器学习平台,包括:
[0006]根据机器学习算法的各算法流程,生成算法流程图框架;
[0007]根据所述各算法流程各自对应的具体操作步骤,一一为所述算法流程图框架上的各流程节点配置相应的算法描述;
[0008]遍历所述算法流程图框架上的各流程节点,生成节点执行顺序,并按照所述节点执行顺序分别将所述各流程节点配置的算法描述自主翻译成python代码,得到用python代码表示的机器学习算法,以利用此机器学习算法实现机器学习。
[0009]优选地,遍历所述算法流程图框架上的各流程节点,生成节点执行顺序的过程,包括:
[0010]根据所述算法流程图框架上各流程节点的箭头指向,确定箭头两侧先后执行的流程节点;
[0011]根据所述算法流程图框架上各流程节点的先后执行顺序,生成最终的节点执行顺序。
[0012]优选地,根据所述算法流程图框架上各流程节点的箭头指向,确定箭头两侧先后执行的流程节点;根据所述算法流程图框架上各流程节点的先后执行顺序,生成最终的节点执行顺序的过程,包括:
[0013]将所述算法流程图框架上所有流程节点的节点ID均加入currentNodes数组中;
[0014]判断所述currentNodes数组中的节点数目是否为0;若是,则将reorderNodes数组的节点加入顺序作为所述节点执行顺序;若否,则将当下所有入度为0的流程节点的节点ID均加入所述reorderNodes数组中;
[0015]将当下所有入度大于0的流程节点的节点ID均加入nextNodes数组中,并去除所有与当下所有入度为0的流程节点相连的箭头,且根据所述nextNodes数组中的内容更新所述currentNodes数组中的内容;
[0016]若所述currentNodes数组当下存在入度为0的流程节点的节点ID或为空,则返回判断所述currentNodes数组中的节点数目是否为0的步骤。
[0017]优选地,所述跨语言机器学习方法还包括:
[0018]若所述currentNodes数组当下不为空但不存在入度为0的流程节点的节点ID,则确定所述算法流程图框架存在死循环。
[0019]优选地,所述跨语言机器学习方法还包括:
[0020]在确定所述算法流程图框架存在死循环之后,根据所述算法流程图框架上各流程节点的箭头指向,确定形成流程环路的目标流程节点;
[0021]将所述目标流程节点的节点ID进行存储,供用户查看。
[0022]优选地,在遍历所述算法流程图框架上的各流程节点之前,所述跨语言机器学习方法还包括:
[0023]将配置好算法描述的算法流程图框架用json格式表示,以遍历用json格式表示的算法流程图框架上的各流程节点。
[0024]为解决上述技术问题,本专利技术还提供了一种跨语言机器学习系统,应用于以web服务的形式形成的机器学习平台,包括:
[0025]框架生成模块,用于根据机器学习算法的各算法流程,生成算法流程图框架;
[0026]描述配置模块,用于根据所述各算法流程各自对应的具体操作步骤,一一为所述算法流程图框架上的各流程节点配置相应的算法描述;
[0027]代码翻译模块,用于遍历所述算法流程图框架上的各流程节点,生成节点执行顺序,并按照所述节点执行顺序分别将所述各流程节点配置的算法描述自主翻译成python代码,得到用python代码表示的机器学习算法,以利用此机器学习算法实现机器学习。
[0028]优选地,所述代码翻译模块中遍历所述算法流程图框架上的各流程节点,生成节点执行顺序的过程,包括:
[0029]根据所述算法流程图框架上各流程节点的箭头指向,确定箭头两侧先后执行的流程节点;
[0030]根据所述算法流程图框架上各流程节点的先后执行顺序,生成最终的节点执行顺序。
[0031]优选地,所述代码翻译模块中根据所述算法流程图框架上各流程节点的箭头指向,确定箭头两侧先后执行的流程节点;根据所述算法流程图框架上各流程节点的先后执行顺序,生成最终的节点执行顺序的过程,包括:
[0032]将所述算法流程图框架上所有流程节点的节点ID均加入currentNodes数组中;
[0033]判断所述currentNodes数组中的节点数目是否为0;若是,则将reorderNodes数组的节点加入顺序作为所述节点执行顺序;若否,则将当下所有入度为0的流程节点的节点ID均加入所述reorderNodes数组中;
[0034]将当下所有入度大于0的流程节点的节点ID均加入nextNodes数组中,并去除所有与当下所有入度为0的流程节点相连的箭头,且根据所述nextNodes数组中的内容更新所述
currentNodes数组中的内容;
[0035]若所述currentNodes数组当下存在入度为0的流程节点的节点ID或为空,则返回判断所述currentNodes数组中的节点数目是否为0的步骤。
[0036]优选地,所述代码翻译模块还用于:
[0037]若所述currentNodes数组当下不为空但不存在入度为0的流程节点的节点ID,则确定所述算法流程图框架存在死循环。
[0038]本专利技术提供了一种跨语言机器学习方法,应用于以web服务的形式形成的机器学习平台,根据机器学习算法的各算法流程,生成算法流程图框架;根据各算法流程各自对应的具体操作步骤,一一为算法流程图框架上的各流程节点配置相应的算法描述;遍历算法流程图框架上的各流程节点,生成节点执行顺序,并按照节点执行顺序分别将各流程节点配置的算法描述自主翻译成python代码,得到用python代码表示的机器学习算法,以利用此机器学习算法实现机器学习。可见,本申请既能让web服务系统选择最常用的java语言,又能让机器学习算法的实现使用python语言,从本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种跨语言机器学习方法,其特征在于,应用于以web服务的形式形成的机器学习平台,包括:根据机器学习算法的各算法流程,生成算法流程图框架;根据所述各算法流程各自对应的具体操作步骤,一一为所述算法流程图框架上的各流程节点配置相应的算法描述;遍历所述算法流程图框架上的各流程节点,生成节点执行顺序,并按照所述节点执行顺序分别将所述各流程节点配置的算法描述自主翻译成python代码,得到用python代码表示的机器学习算法,以利用此机器学习算法实现机器学习。2.如权利要求1所述的跨语言机器学习方法,其特征在于,遍历所述算法流程图框架上的各流程节点,生成节点执行顺序的过程,包括:根据所述算法流程图框架上各流程节点的箭头指向,确定箭头两侧先后执行的流程节点;根据所述算法流程图框架上各流程节点的先后执行顺序,生成最终的节点执行顺序。3.如权利要求2所述的跨语言机器学习方法,其特征在于,根据所述算法流程图框架上各流程节点的箭头指向,确定箭头两侧先后执行的流程节点;根据所述算法流程图框架上各流程节点的先后执行顺序,生成最终的节点执行顺序的过程,包括:将所述算法流程图框架上所有流程节点的节点ID均加入currentNodes数组中;判断所述currentNodes数组中的节点数目是否为0;若是,则将reorderNodes数组的节点加入顺序作为所述节点执行顺序;若否,则将当下所有入度为0的流程节点的节点ID均加入所述reorderNodes数组中;将当下所有入度大于0的流程节点的节点ID均加入nextNodes数组中,并去除所有与当下所有入度为0的流程节点相连的箭头,且根据所述nextNodes数组中的内容更新所述currentNodes数组中的内容;若所述currentNodes数组当下存在入度为0的流程节点的节点ID或为空,则返回判断所述currentNodes数组中的节点数目是否为0的步骤。4.如权利要求3所述的跨语言机器学习方法,其特征在于,所述跨语言机器学习方法还包括:若所述currentNodes数组当下不为空但不存在入度为0的流程节点的节点ID,则确定所述算法流程图框架存在死循环。5.如权利要求4所述的跨语言机器学习方法,其特征在于,所述跨语言机器学习方法还包括:在确定所述算法流程图框架存在死循环之后,根据所述算法流程图框架上各流程节点的箭头指向,确定形成流程环路的目标流程节点;将所述目标流程节点的节点ID进行存储,供用户查看。6.如权利要求1所述的跨语言机器学习方法,其特征...

【专利技术属性】
技术研发人员:刘子星张镇潮梁嘉楠徐煌
申请(专利权)人:税友软件集团股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1