CN116719514B - 一种基于bert的rpa代码自动生成方法及装置 - Google Patents

一种基于bert的rpa代码自动生成方法及装置 Download PDF

Info

Publication number
CN116719514B
CN116719514B CN202310991373.9A CN202310991373A CN116719514B CN 116719514 B CN116719514 B CN 116719514B CN 202310991373 A CN202310991373 A CN 202310991373A CN 116719514 B CN116719514 B CN 116719514B
Authority
CN
China
Prior art keywords
nodes
flow
bert
node
branch
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202310991373.9A
Other languages
English (en)
Other versions
CN116719514A (zh
Inventor
龚栎鑫
董丙冰
张竞超
吴信东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Anhui Sigao Intelligent Technology Co ltd
Original Assignee
Anhui Sigao Intelligent Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Anhui Sigao Intelligent Technology Co ltd filed Critical Anhui Sigao Intelligent Technology Co ltd
Priority to CN202310991373.9A priority Critical patent/CN116719514B/zh
Publication of CN116719514A publication Critical patent/CN116719514A/zh
Application granted granted Critical
Publication of CN116719514B publication Critical patent/CN116719514B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Resources & Organizations (AREA)
  • Data Mining & Analysis (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于BERT的RPA代码自动生成方法,包括:获取用户需求文档,提取用户需求文档中的流程块信息,形成流程块字典D;基于NLP方法对字典D进行处理,提取出流程块字典D的流程节点和流程关系;基于提取出的流程节点和流程关系,自动生成流程图;将流程图转换成对应的代码,并以指定格式输出。本发明的方案实现了流程图代码的自动化生成,减轻了软件开发人员的工作负担,提高了开发效率。

Description

一种基于BERT的RPA代码自动生成方法及装置
技术领域
本发明涉及RPA产品领域,尤其涉及一种基于BERT的RPA代码自动生成方法及装置。
背景技术
随着数字化时代的到来,越来越多的企业和组织开始将数字化业务放在首位,这意味着他们需要自动化和简化大量的手动流程,以提高效率和准确性。机器人流程自动化(RPA)作为基于软件的解决方案出现,用于自动化基于规则的业务流程,这些业务流程涉及例行任务、结构化数据和确定性结果。
自动代码生成技术是RPA技术中的核心之一,它可以通过分析和模拟现有流程,生成新的代码或脚本,以实现自动化流程的自动化生成。自动代码生成技术在RPA中的应用,不仅提高了RPA的效率和准确性,还可以减少错误率和降低成本。通过使用自动代码生成技术,RPA工具可以更快地适应不同的需求和环境,从而提高用户的工作效率和满意度。此外,自动代码生成技术还可以帮助RPA工具更好地集成现有的系统和流程,实现更高效的自动化。
发明内容
有鉴于此,本发明提供了一种基于BERT的RPA代码自动生成方法,包括以下步骤:
S1、获取用户需求文档,提取用户需求文档中的流程块信息,形成流程块字典D;
S2、基于NLP方法对字典D进行处理,提取出流程块字典D的流程节点和流程关系;
S3、基于提取出的流程节点和流程关系,生成流程图;
S4、将流程图转换成对应的代码,并以指定格式输出。
进一步地,流程块字典D中的每个流程块包括一个名称和若干具体步骤的描述。
进一步地,流程关系的类型包括顺序关系、分支关系、循环关系、并行关系、合并关系。
进一步地,步骤S2具体为:
S21、对流程块字典D的每个流程块的描述进行短语分块;
S22、使用BERT-base模型生成每个分块后流程块的描述的词嵌入;
S23、将BERT-base模型生成的词嵌入输入到AllenNLP中的预训练语义角色标注模型,从语义角色标注模型的输出中提取关键短语,关键短语为流程节点;
S25、将BERT-base模型生成词嵌入输入到AllenNLP中的预训练依存句法分析模型中,从预训练依存句法分析模型输出中提取关键短语之间的依存关系,关键短语之间的依存关系为流程关系。
进一步地,步骤S3具体为:
S31、根据提取出的流程节点和流程关系建立初始的流程图,将流程节点作为初始的流程图中的节点,将流程关系作为流程节点间的边;
S32、根据流程图的流程节点和流程关系,采用自动布局算法对初始的流程图进行布局,生成流程图。
进一步地,自动布局算法具体为:
顺序关系:按照节点的出现顺序,依次从左到右排列,每个节点的纵坐标相同,横坐标依次递增;
分支关系:将分支节点的两个分支分别放在分支节点的上方和下方,分支上的节点按照顺序从上到下排列,分支上的节点的横坐标相同,纵坐标分别在分支节点的纵坐标的上方和下方;
循环关系:将循环节点放在其对应的循环体节点的上方,循环体节点按照顺序从左到右排列,循环节点和循环体节点的纵坐标相同,循环节点的横坐标在循环体节点的横坐标的左方;
并行关系:将并行节点的所有分支按照顺序从左到右排列,每个分支的节点按照顺序从上到下排列,分支节点的纵坐标位于分支节点和分支下方的节点之间,横坐标和分支下方的节点相同;
合并关系:将所有合并节点按照顺序从左到右排列,合并节点上方的节点和合并节点下方的节点纵坐标相同,合并节点的横坐标在合并节点上下两个节点的中间位置。
本发明还提出一种基于BERT的RPA代码自动生成装置,包括:
处理器;
存储器,其上存储有可在所述处理器上运行的计算机程序;
其中,所述计算机程序被所述处理器执行时实现一种基于BERT的RPA代码自动生成方法。
本发明提供的技术方案带来的有益效果是:
本发明提供一种基于BERT的RPA代码自动生成方法,通过提取用户需求文档中流程块信息的流程节点和流程关系,生成流程图,并将流程图转换成对应的代码。实现了流程图代码的自动化生成,减轻了软件开发人员的工作负担,提高了开发效率。
附图说明
图1是本发明实施一种基于BERT的RPA代码自动生成方法的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地描述。
本发明实施一种基于BERT的RPA代码自动生成方法的流程图如图1,具体包括以下步骤:
S1、获取用户需求文档,提取用户需求文档中的流程块信息,形成流程块字典D。
流程块字典D中的每个流程块包括一个名称和若干具体步骤的描述。
流程块是指将整个流程划分为不同的模块,每个模块都代表一个特定的功能或任务。这些模块可以是代码块、子程序或其他可重复利用的组件。通过将流程分为块,可以更轻松地管理复杂系统,并且可以在需要的时候简单地替换或修改特定的块。流程图和流程块通常是相互关联的,流程图通常会包含多个流程块,通常需要使用流程块来实现流程图所描述的逻辑。
进一步的实施例中,流程块字典D的内容举例如下:D:{“初始化读取配置”:[“读取配置文件中公司列表、人员名单,日报表处理模板板相关信息”,“打开结果文件的基表文件”,“发送流程开始通知”,“将配置文件相关配置项写入全局变量”,“将当前结果文件写入全局变量”,“写入操作日志”],……}。
S2、基于NLP方法对字典D进行处理,提取出流程块字典D的流程节点和流程关系。流程关系的类型包括顺序关系、分支关系、循环关系、并行关系、合并关系。
具体为:
S21、对流程块字典D的每个流程块的描述进行短语分块,以识别和提取关键信息。本实施例中,在对每个流程块描述进行短语分块之前,利用现有的深度学习NLP工具或库,对流程块字典D中的每个流程块的描述进行处理。
S22、使用BERT-base模型生成每个分块后流程块描述的词嵌入。
S23、将BERT-base模型生成的词嵌入输入到AllenNLP中的预训练语义角色标注模型,从语义角色标注模型的输出中提取关键短语,关键短语为流程节点。关键短语可以为名词短语、动词短语等。
S25、将BERT-base模型生成词嵌入输入到AllenNLP中的预训练依存句法分析模型中,从预训练依存句法分析模型输出中提取关键短语之间的依存关系,如主谓关系、动宾关系等。关键短语之间的依存关系为流程图中的关系。
进一步的实施例中,流程节点举例为:
(1)初始化读取配置;
(2)读取配置文件中公司列表、人员名单,日报表处理模板板相关信息;
(3)打开结果文件的基表文件;
(4)发送流程开始通知;
(5)将配置文件相关配置项写入全局变量;
(6)将当前结果文件写入全局变量;
(7)写入操作日志。
流程关系举例为:
(1)初始化读取配置与读取配置文件中公司列表、人员名单,日报表处理模板板相关信息之间是并列关系;
(2)读取配置文件中公司列表、人员名单,日报表处理模板板相关信息与打开结果文件的基表文件之间是顺序关系;
(3)打开结果文件的基表文件与发送流程开始通知之间是顺序关系;
(4)发送流程开始通知与将配置文件相关配置项写入全局变量之间是顺序关系;
(5)将配置文件相关配置项写入全局变量与将当前结果文件写入全局变量之间是并列关系;
(6)将当前结果文件写入全局变量与写入操作日志之间是并列关系。
S3、基于提取出的流程节点和流程关系,自动生成流程图。
具体为:
S31、根据提取出的流程节点和流程关系建立初始的流程图,将流程节点作为初始的流程图中的节点,将流程关系作为流程节点间的边;
S32、根据流程图的流程节点和流程关系,采用自动布局算法对初始的流程图进行布局,自动生成流程图。
自动布局算法设计如下:
顺序关系:按照节点的出现顺序,依次从左到右排列,每个节点的纵坐标相同,横坐标依次递增;
分支关系:将分支节点的两个分支分别放在分支节点的上方和下方,分支上的节点按照顺序从上到下排列,分支上的节点的横坐标相同,纵坐标分别在分支节点的纵坐标的上方和下方;
循环关系:将循环节点放在其对应的循环体节点的上方,循环体节点按照顺序从左到右排列,循环节点和循环体节点的纵坐标相同,循环节点的横坐标在循环体节点的横坐标的左方;
并行关系:将并行节点的所有分支按照顺序从左到右排列,每个分支的节点按照顺序从上到下排列,分支节点的纵坐标位于分支节点和分支下方的节点之间,横坐标和分支下方的节点相同;
合并关系:将所有合并节点按照顺序从左到右排列,合并节点上方的节点和合并节点下方的节点纵坐标相同,合并节点的横坐标在合并节点上下两个节点的中间位置。
S4、将流程图转换成对应的代码,并以指定格式输出。根据用户需求和项目需求选择适合的编程语言,比如Java、Python等。使用Draw.io工具,用户可以根据需要调整流程图的样式和布局,然后使用其自带的代码生成功能将流程图转换为Python、Java、Python3、C++等代码。
实施例中还包括一种基于BERT的RPA代码自动生成装置,包括:
处理器;
存储器,其上存储有可在所述处理器上运行的计算机程序;
其中,计算机程序被处理器执行时实现一种基于BERT的RPA代码自动生成方法。
本发明提供一种基于BERT的RPA代码自动生成方法,通过提取用户需求文档中流程块信息的流程节点和流程关系,自动生成流程图,并将流程图转换成对应的代码。实现了流程图代码的自动化生成,减轻了软件开发人员的工作负担,提高了开发效率。采用自然语言处理技术,提高了流程图需求的准确性和完整性;且支持多种编程语言的代码生成,扩展性强。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (5)

1.一种基于BERT的RPA代码自动生成方法,其特征在于,包括以下步骤:
S1、获取用户需求文档,提取用户需求文档中的流程块信息,形成流程块字典D;流程块字典D中的每个流程块包括一个名称和若干具体步骤的描述;
S2、基于NLP方法对字典D进行处理,提取流程块字典D的流程节点和流程关系;
具体为:
S21、对流程块字典D的每个流程块的描述进行短语分块;
S22、使用BERT-base模型生成每个分块后流程块描述的词嵌入;
S23、将BERT-base模型生成的词嵌入输入到AllenNLP中的预训练语义角色标注模型,从语义角色标注模型的输出中提取关键短语,关键短语为流程节点;
S25、将BERT-base模型生成词嵌入输入到AllenNLP中的预训练依存句法分析模型中,从预训练依存句法分析模型输出中提取关键短语之间的依存关系,关键短语之间的依存关系为流程关系;
S3、基于提取出的流程节点和流程关系,生成流程图;
S4、将流程图转换成对应的代码,并以指定格式输出。
2.根据权利要求1所述的一种基于BERT的RPA代码自动生成方法,其特征在于,流程关系的类型包括顺序关系、分支关系、循环关系、并行关系、合并关系。
3.根据权利要求2所述的一种基于BERT的RPA代码自动生成方法,其特征在于,步骤S3具体为:
S31、根据提取出的流程节点和流程关系建立初始的流程图,将流程节点作为初始的流程图中的节点,将流程关系作为流程节点间的边;
S32、根据流程图的流程节点和流程关系,采用自动布局算法对初始的流程图进行布局,生成流程图。
4.根据权利要求3所述的一种基于BERT的RPA代码自动生成方法,其特征在于,自动布局算法具体为:
顺序关系:按照节点的出现顺序,依次从左到右排列,每个节点的纵坐标相同,横坐标依次递增;
分支关系:将分支节点的两个分支分别放在分支节点的上方和下方,分支上的节点按照顺序从上到下排列,分支上的节点的横坐标相同,纵坐标分别在分支节点的纵坐标的上方和下方;
循环关系:将循环节点放在其对应的循环体节点的上方,循环体节点按照顺序从左到右排列,循环节点和循环体节点的纵坐标相同,循环节点的横坐标在循环体节点的横坐标的左方;
并行关系:将并行节点的所有分支按照顺序从左到右排列,每个分支的节点按照顺序从上到下排列,分支节点的纵坐标位于分支节点和分支下方的节点之间,横坐标和分支下方的节点相同;
合并关系:将所有合并节点按照顺序从左到右排列,合并节点上方的节点和合并节点下方的节点纵坐标相同,合并节点的横坐标在合并节点上下两个节点的中间位置。
5.一种基于BERT的RPA代码自动生成装置,其特征在于,所述装置包括:
处理器;
存储器,其上存储有可在所述处理器上运行的计算机程序;
其中,所述计算机程序被所述处理器执行时实现如权利要求1至4中任一项所述的一种基于BERT的RPA代码自动生成方法。
CN202310991373.9A 2023-08-08 2023-08-08 一种基于bert的rpa代码自动生成方法及装置 Active CN116719514B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310991373.9A CN116719514B (zh) 2023-08-08 2023-08-08 一种基于bert的rpa代码自动生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310991373.9A CN116719514B (zh) 2023-08-08 2023-08-08 一种基于bert的rpa代码自动生成方法及装置

Publications (2)

Publication Number Publication Date
CN116719514A CN116719514A (zh) 2023-09-08
CN116719514B true CN116719514B (zh) 2023-10-20

Family

ID=87868266

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310991373.9A Active CN116719514B (zh) 2023-08-08 2023-08-08 一种基于bert的rpa代码自动生成方法及装置

Country Status (1)

Country Link
CN (1) CN116719514B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7765097B1 (en) * 2006-03-20 2010-07-27 Intuit Inc. Automatic code generation via natural language processing
CN112001175A (zh) * 2020-08-24 2020-11-27 平安科技(深圳)有限公司 流程自动化方法、装置、电子设备及存储介质
CN112163420A (zh) * 2020-09-23 2021-01-01 北京天行有灵科技有限公司 一种基于nlp技术的rpa流程自动生成方法
CN114816497A (zh) * 2022-04-18 2022-07-29 南京航空航天大学 基于bert预训练模型的链接生成方法
WO2022160707A1 (zh) * 2021-01-29 2022-08-04 北京来也网络科技有限公司 结合rpa和ai的人机互动方法、装置、存储介质及电子设备
CN115202640A (zh) * 2022-07-26 2022-10-18 上海交通大学 基于自然语义理解的代码生成方法及系统
WO2023024287A1 (zh) * 2021-08-25 2023-03-02 北京来也网络科技有限公司 Rpa结合ai的模型融合结果获取方法、装置及电子设备
CN116167365A (zh) * 2023-04-18 2023-05-26 安徽思高智能科技有限公司 一种基于表格模板的流程图生成方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11613008B2 (en) * 2019-01-14 2023-03-28 International Business Machines Corporation Automating a process using robotic process automation code
US11610051B2 (en) * 2020-09-08 2023-03-21 Rowan TELS Corp. Dynamically generating documents using natural language processing and dynamic user interface
US20230041718A1 (en) * 2021-08-09 2023-02-09 Kenneth Raymond Perry Automated code generation based on pseudo-code
US11816636B2 (en) * 2021-08-26 2023-11-14 Microsoft Technology Licensing, Llc Mining training data for training dependency model

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7765097B1 (en) * 2006-03-20 2010-07-27 Intuit Inc. Automatic code generation via natural language processing
CN112001175A (zh) * 2020-08-24 2020-11-27 平安科技(深圳)有限公司 流程自动化方法、装置、电子设备及存储介质
CN112163420A (zh) * 2020-09-23 2021-01-01 北京天行有灵科技有限公司 一种基于nlp技术的rpa流程自动生成方法
WO2022160707A1 (zh) * 2021-01-29 2022-08-04 北京来也网络科技有限公司 结合rpa和ai的人机互动方法、装置、存储介质及电子设备
WO2023024287A1 (zh) * 2021-08-25 2023-03-02 北京来也网络科技有限公司 Rpa结合ai的模型融合结果获取方法、装置及电子设备
CN114816497A (zh) * 2022-04-18 2022-07-29 南京航空航天大学 基于bert预训练模型的链接生成方法
CN115202640A (zh) * 2022-07-26 2022-10-18 上海交通大学 基于自然语义理解的代码生成方法及系统
CN116167365A (zh) * 2023-04-18 2023-05-26 安徽思高智能科技有限公司 一种基于表格模板的流程图生成方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"审计+人工智能"在中国移动的创新应用;郭宇晨;张国宏;;中国内部审计(第06期);第28-34页 *

Also Published As

Publication number Publication date
CN116719514A (zh) 2023-09-08

Similar Documents

Publication Publication Date Title
Kühn et al. Choosy and picky: configuration of language product lines
CN110941427B (zh) 代码生成方法及代码生成器
Elallaoui et al. Automatic generation of UML sequence diagrams from user stories in Scrum process
CN106843849B (zh) 一种基于文档的库函数的代码模型的自动合成方法
CN109491658A (zh) 计算机可执行代码数据的生成方法及装置
Abdelnabi et al. Generating uml class diagram from natural language requirements: A survey of approaches and techniques
Štuikys et al. Open PROMOL: an experimental language for target program modification
Sharma et al. Extracting high-level functional design from software requirements
CN113655996A (zh) 一种基于需求模型的企业级系统生成方法
CN116719514B (zh) 一种基于bert的rpa代码自动生成方法及装置
CN109359055B (zh) 一种数据测试的方法和设备
CN111126008A (zh) 基于xsd的代码生成方法、装置、计算机设备及存储介质
CN115374764A (zh) 一种基于用户故事的需求模型自动生成方法及系统
Romanov et al. Representing programs with dependency and function call graphs for learning hierarchical embeddings
CN112507083B (zh) 一种基于调度防误领域语言的防误规则库构建方法
CN114036055A (zh) 一种xmind测试用例与jmeter脚本互转的系统
CN110619185B (zh) 一种数据处理方法、装置及电子设备
Mohanan et al. Open NLP based refinement of software requirements
Jain et al. Semantic web, ontologies and e-government: A review
Ludewig Espreso—A system for process control software specification
Zhu et al. A supporting tool for syntactic analysis of sofl formal specifications and automatic generation of functional scenarios
CN112181398A (zh) 配置文件处理装置、方法及存储介质
Wotawa et al. The Java2CSP debugging tool utilizing constraint solving and model-based diagnosis principles
Amarasingha et al. PseudoJ: A Pseudo-code interpreter for transforming Pseudo-code into JAVA
CN114580387B (zh) 一种基于多工具的自然语言处理方法、设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant