一种将算法模型研究成果智能化生成报告的方法与流程

文档序号:32337165发布日期:2022-11-26 08:26阅读:125来源:国知局
一种将算法模型研究成果智能化生成报告的方法与流程

1.本发明涉及将算法模型研究成果智能化生成报告的方法技术领域,具体涉及一种将算法模型研究成果智能化生成报告的方法。


背景技术:

2.随着社会信息时代的推进、企业核心业务能力的发展诉求需要,如果说半导体芯片是不断集成的“摩尔定律”,那么人工智能时代则更多需要依靠算法模型技术与能力来突破企业海量数据、解决企业业务发展的瓶颈问题。在企业数据爆炸时代和较为高额的硬件费用下,迫使企业和业务人员通过算法模型来完成精准业务营销与产品效益提升。
3.模型的好坏在于模型前期在设计、业务的数据质量、以及特征定义与选取上有着重要联系,对于模型通过海量数据样本训练后,能得出企业数据业务指标和业务决策能力是否符合业务预期是模型的效果评估重要所在。在模型研发的过程当中,按照常规的企业研发顺序来模型需求分析、模型设计、模型特征加工、模型的研发、模型评审和模型灰度ab上线、部署、运维和效果监控等流程进行模型生命周期管理。其中在模型评审环节前,模型研发人员往往需要做到模型样本选取定义、特征选取、开发、部署等手册的编写,常见的痛点与问题有:
4.1.算法研发人员需要在模型研发成功后,根据现有的代码逻辑、业务规则等,进行文档的人工编写,结合当前业务规则和数据,区分好坏样本等数据截图、数据样例进行反复的模型评审文档粘贴,增加研发工作量。
5.2.对于样本好坏定义、数据样本选取定义,模型评审说明等章节,大量的固定化文本冗余且不利于后期文档维护。
6.3.模型开发、模型部署步骤等没有形成文档模板化,研发人员每开发完一个模型,就需要花一定的时间与精力去编写文档,耗费较多人力。


技术实现要素:

7.本发明的目的是针对现有技术存在的不足,提供一种将算法模型研究成果智能化生成报告的方法。
8.为实现上述目的,本发明提供了一种将算法模型研究成果智能化生成报告的方法,包括:
9.编写文档模板,以完成模板文档中关键词、变量、图像的占位符操作;
10.在jupyter系统中进行模型编码,在编码期间定义字典变量设置,定义的字典变量为数组或变量中的数组格式,字典中的变量与文档中的占位符一一对应,若key对应重复,则获取最后一个变量为最新值进行文档操作,对涉及到jupyter的模型输出图片,若需要截取这些图片,则加入如下注释:“#snbdocwidgets[key=`key`,width=`apx`]”,其中,#snbdocwidgets为固定写法,参数key为文档中{{key}}的占位符,width为宽高纵横比,用于调整截取图片后的大小;
[0011]
调用snbdocutils中的load方法来加载“文件列表”中的docx文档,并显示在插件的预览区域,文件加载完成后,以设定的频率调用监控,以完成文档中变量替换;
[0012]
通过调用save方法来进行模型评审文档的生成,并将生成的模型评审文档保存在保存路径中;
[0013]
向用户返回模型评审文档链接。
[0014]
进一步的,所述模型评审文档的生成具体如下:
[0015]
基于save方法加载当前用户正在编码的ipynb文件z;
[0016]
解析文件z中是否有“#snbdocwidgets[key=`key`,width=`apx`]”注释,若有注释,则放入list列表进行处理进行提取,在提取期间逐一判断当前outs中的类型,若为text/html类型,则取出并通过python流方式写入html文件,然后加载jupyter中的css合并成静态网页静态网页,保存静态网页路径到临时变量中,然后取出#snbdocwidgets注释中的key定义,将value设为临时图路径;
[0017]
对所述静态网页通过调用cutycapt包进行网页截图,并通过cv2进行图像空白识别截图,去除图片多余空白,并根据传入的width来设置高宽纵横比,生成完的图像保存到/tmp/{{uuid}}.png下,将用户传入的字典变量x与当前程序处理的增量添加到save方法字典变量x中,以使字典变量x是包含了所有待替换的变量key-value集合;
[0018]
将字典变量x进行render渲染word文档,以使word文档中所有key是图片的地方被替换;
[0019]
将字典变量x调用文字处理类进行替换,替换技术采用docxtpl进行模板渲染,完成文档中所有文字的替换,以生成模型评审文档。
[0020]
进一步的,所述模板文档中关键词、变量、图像的占位符操作基于jinja2语法完成。
[0021]
进一步的,所述字典变量设置基于python字典方式完成。
[0022]
进一步的,所述设定的频率为每分钟1次。
[0023]
有益效果:1、本发明采用可视化方式组件,研发人员只需要在ide右侧点击插件图标,即可展示界面,并可在界面中选择模板文件;
[0024]
2、本发明采用预览方式,展现word文档,用户可在线编辑文档模板,修改模板数据,实时点击生成并查阅模型文档是否符合要求;
[0025]
3、本发明快速有效的减少研发人员编写文档的工作量,节约大量企业模型研发后编写文档的成本问题;
[0026]
4、可靠性高,高度化代码自由定制,符合现有的业务流程和使用习惯。
附图说明
[0027]
图1是将算法模型研究成果智能化生成报告的方法的流程示意图;
[0028]
图2是研发界面示意图。
具体实施方式
[0029]
下面结合附图和具体实施例,进一步阐明本发明,本实施例在以本发明技术方案为前提下进行实施,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围。
[0030]
如图1所示,本发明实施例提供了一种将算法模型研究成果智能化生成报告的方法,包括:
[0031]
编写文档模板,以完成模板文档中关键词、变量、图像的占位符操作。上述模板文档中关键词、变量、图像的占位符操作基于业界主流的jinja2语法完成,具体的,本发明采用{{keya}}word文档渲染技术,对其文档中出现的{{x}}进行渲染替换,使用了{{x}}种处理方式来进行解析文档,文档中可按用户当前业务要求,设计n个标签占位符号。其中,对涉及到的静态文字的,可预先在模板文档中写好占位符,如{{title}},方便后续程序对文档中的变量、图像等进行批量替换操作。
[0032]
模型研发人员在jupyter系统中进行模型编码,在编码期间定义字典变量设置。字典变量设置可基于python字典方式完成,其中,python字典包含了图片、文字等类型,图片的类型为inlineimage对象。编码时研发人员可定义如下字典变量设置,可参考步骤1中设置的{{}}占位符,如:a={`x`:`这是标题`},定义的字典变量为数组或变量中的数组格式,字典中的变量与文档中的占位符一一对应,若key对应重复,则获取最后一个变量为最新值进行文档操作。模板中的标签可以被当前工具软件中的docxtpl统一替换完成。在编码期间,用户可边预览模板中的占位符操作情况,也可关闭插件栏进行编码后预览。对涉及到jupyter的模型输出图片,如shap、matplotlib、dataframe图等输出在out cells中,若需要截取这些图片,则需要在in cells中编写如下注释前缀:“#snbdocwidgets[key=`key`,width=`apx`]”,以在后续程序中,对当前模型开发ipynb文件中in下的outs中的cells进行程序分析并进行截图取出。,其中,#snbdocwidgets为固定写法,参数key为文档中{{key}}的占位符,width为宽高纵横比,用于调整截取图片后的大小,a为宽高纵横比的设定值,如可以将a设置为200,可根据实际需要进行变化。
[0033]
用户点击插件中的“打开”按钮时,会调用snbdocutils中的load方法来加载“文件列表”中的docx文档,并显示在插件的预览区域,文件加载完成后,以设定的频率调用监控,以完成文档中变量替换,方便用户预览最终文档的情况。其中,上述设定的频率优选为每分钟一次,load方法包含一个参数,即模板文件路径p,程序加载时,采用self.docxtpl的docxtemplate()方法加载完成,并通过snbdocutils的流渲染操作来进行界面预览。
[0034]
用户在点击“生成”按钮时,会通过调用save方法来进行模型评审文档的生成,并将生成的模型评审文档保存在保存路径中。save主要有两个参数,一个是用户传入的字典变量x,一个是保存路径y,模型评审文档的生成具体如下:
[0035]
基于save方法加载当前用户正在编码的ipynb文件z,文件z为一个json格式的文件。文件z里面包含了cells的详细数据键值对,如步骤2中设置的注释会在z文件的in中详细记录。
[0036]
解析文件z的in数据是否有“#snbdocwidgets[key=`key`,width=`apx`]”注释,若有注释,则放入list列表进行处理进行提取,程序在处理时,会对所有in中有包含#snbdocwidgets的关键字采用正则查找放入list。在提取期间逐一判断当前outs中的类型,若为text/html类型,则取出并通过python流方式写入html文件,然后加载jupyter中的css合并成静态网页静态网页,采用cutycapt linux底层控件保存静态网页路径静态网页,然后取出#snbdocwidgets注释中的key定义,将value设为临时图路径,方便后面与用户传入的字典变量x进行extend字典合并。通过对ipynb文件的分析,原ipynb中打开即可显示图
片,是因为其json格式中保存了base64图片编码与html格式的字符串,程序会通过判断,如是html则加载。
[0037]
对静态网页通过调用cutycapt包进行网页截图,并通过cv2进行图像空白识别截图,去除图片多余空白,并根据传入的width来设置高宽纵横比,生成完的图像保存到/tmp/{{uuid}}.png下,将用户传入的字典变量x与当前程序处理的增量添加到save方法字典变量x中,以使字典变量x是包含了所有待替换的变量key-value集合。
[0038]
将字典变量x进行render渲染word文档,以使word文档中所有key是图片的地方被替换。
[0039]
将字典变量x调用文字处理类进行替换,替换技术采用docxtpl进行模板渲染,完成文档中所有文字的替换。在完成图片、文字的占位符替换后,即可生成模型评审文档,程序会将生成的word文档保存在保存路径y下。
[0040]
向用户返回模型评审文档链接。用户可通过其接收的模型评审文档链接来查阅下载模型评审文档。
[0041]
本发明通过自研的snb_docx_ipywidgets组件来实现可视化研发,通过在jupyter中安装自研的snb_docx_ipywidgets组件包即可。snb_docx_ipywidgets组件采用python语言研发,基于官方ipywidgets组件,使用button,list,等可视化组件研发,通过jupyter-server组件来提供与底层jupyter-client的kernel的连接调用。具体可参见图2,打开按钮采用基于python流处理方式,读取当前word文档或是markdown文档,将文档通过预览方式在研发人员的工作空间右侧打开。用户可以在编辑区域通过修改、编辑当前的jinja语言,加入标记点位符,完成模板的动态编写与模板的样式研发。研发人员在“模型代码研发工作空间中”,需要采用python字典方式,在程序研发期间设定好模板的相应字典数据。当模型中的变量数据、文字说明被定义好后,研发人员可以在“自研插件显示”一栏中的预览界面编写{{key}},方便生成替换。当研发人员点右侧“自研插件显示”一栏中的“生成”按钮时,系统按如下流程进行生成并替换操作。另外,预览文档中的逻辑为每1分钟调用如上所有步骤完成
[0042]
可以看出,上述snb_docx_ipywidgets主要包括如下几个功能:
[0043]
1)用户可以在插件中选择docx模板文件,用于指定当前模板文件,并可将当前指定的变量数据替换模板中的内容。
[0044]
2)至少支持当前的jupyter调试结果的保存,包含图片、文字、表格等信息的展现,且需要在点击按钮后,可将数据全量、替换保存到word文档中。
[0045]
3)可视化的展现当前的模板内容,使用预加载功能显示出模板内容,并可边研发,边修改模板文件。
[0046]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,其它未具体描述的部分,属于现有技术或公知常识。在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1