CN110727428B - 一种转换业务逻辑层代码的方法、装置和电子设备 - Google Patents
一种转换业务逻辑层代码的方法、装置和电子设备 Download PDFInfo
- Publication number
- CN110727428B CN110727428B CN201911319840.3A CN201911319840A CN110727428B CN 110727428 B CN110727428 B CN 110727428B CN 201911319840 A CN201911319840 A CN 201911319840A CN 110727428 B CN110727428 B CN 110727428B
- Authority
- CN
- China
- Prior art keywords
- sentence
- natural
- functional
- sentences
- natural language
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Machine Translation (AREA)
Abstract
本说明书实施例提供一种转换业务逻辑层代码的方法,通过获取基于业务需求的第一功能自然语句,及多个对应到不同单运算语句的第二功能自然语句,判断其是否可由多个所述第二功能自然语句组合对应的运算语句实现,使得对自然语句进行抽象描述可以从代码侧与需求侧向中间的自然语句来对接,第一功能自然语句、第一功能自然语句分别形成不同的功能层,使辅助语句库通过各层的自然语句均可以实现代码转换,即使不同用户对业务逻辑有不同的理解层次,依然可以利用该辅助语句库中对应层次的自然语句进行代码与自然语句之间的转换,降低了对不同用户的业务逻辑理解层次的依赖性,提高了辅助转换代码的便利性。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种转换业务逻辑层代码的方法、装置和电子设备。
背景技术
随着网络的迅猛发展,业务系统的开发逐渐成为开发市场的主流。业务系统主流架构是三层架构:数据访问层、业务逻辑层(中间层)、展现层。业务逻辑层通过访问数据访问层进行数据处理,既而实现数据库与展现层的数据传输。
业务逻辑层的设计,需要根据该业务系统展现层的需求,以及该需求需要调用的数据库、数据表,最终以运算语句的形式进行编码,得到业务逻辑层的源代码,进而完成业务系统的开发。
然而即使相同需求的业务系统,不同人员对业务逻辑的设计不同,这最终体现在源代码的差异上,这就使得业务逻辑层开发或维护时的复杂度较高。因此,如果能降低业务逻辑层开发或维护时的复杂度,将很大程度以上提高开发或维护的便利性和效率。
业内已经提出将代码自动翻译成自然语言的构想,或者利用自然语言对运算语句进行翻译,使得检查代码更直观、更简单,甚至用自然语言撰写程序,进而利用转换功能将自然语言逐句转换成代码,以完成代码的撰写。
比如,代码需求这只能利用单规则的运算语句(比如if 、then)的对应的自然语言进行撰写;或者,对多个运算语句所形成的功能进行抽象定义,得到功能描述语句,让代码显示注释,来帮助检查代码的正确性。
然而,申请人分析发现,这种方法在实际实施时,对不同用户的业务逻辑理解层次的依赖性较高,依然存在便利性差问题。
发明内容
本说明书实施例提供一种转换业务逻辑层代码的方法,以降低对用户的业务逻辑理解层次的依赖,提高辅助转换代码的便利性,解决现有技术存在的对用户的业务逻辑理解层次的依赖性高,便利性差的问题。
本说明书实施例提供一种转换业务逻辑层代码的方法,包括:
构建辅助语句库,包括:
获取用户基于样本业务需求输入的第一功能自然语句;
获取用户输入的多个对应到不同单运算语句的第二功能自然语句;
判断所述第一功能自然语句的可执行度,若所述第一功能自然语句可由多个所述第二功能自然语句组合对应的运算语句实现,则将所述第一功能自然语句和所述第二功能自然语句相关联生成多层自然语句功能层,否则提示用户通过根据第二功能自然语句分解第一功能自然语句,或者根据第一功能自然语句对多个第二功能自然语句进行组合操作,响应于用户操作生成多层自然语句功能层;
利用具有多层自然语句功能层的所述辅助语句库进行代码与自然语句之间的转换。
可选地,还包括:
构建所述多层自然语句功能层中各语句的父子关联关系,包括:
若所述第一功能自然语句可由一个所述第二功能自然语句对应的运算语句实现,或者可由多个所述第二功能自然语句组合对应的运算语句实现,则将所述第一功能自然语句作为父功能自然语句;
将所述第二功能自然语句作为子功能自然语句。
可选地,还包括:
获取用户通过分解第一功能自然语句同时对多个第二功能自然语句进行组合得到的多个第三功能自然语句,将所述多个第三功能自然语句与所述第一功能自然语句相关联;
将每个所述第三功能自然语句与多个第二功能自然语句组合相关联。
可选地,所述利用具有多层自然语句功能层的所述辅助语句库进行代码与自然语句之间的转换,包括:
获取用户基于业务需求输入的目标自然语句;
将所述目标自然语句与所述辅助语句库中各功能层的自然语句进行匹配,若匹配成功,则根据匹配成功的自然语句对应的运算语句生成代码。
可选地,所述根据匹配成功的自然语句对应的运算语句生成代码,包括:
确定匹配成功的自然语句关联的多个子功能自然语句组合;
根据所述多个子功能自然语句组合对应的运算语句生成代码。
可选地,所述将所述目标自然语句与所述辅助语句库中各功能层的自然语句进行匹配,包括:
确定所述目标自然语句与所述辅助语句库中各功能层的自然语句的语义匹配度;
将所述辅助语句库中匹配度大于阈值的自然语句作为匹配成功的自然语句。
可选地,还包括:
向用户提示所述辅助语句库中不同的自然语句功能层,使用户选择相应的自然语句功能层;
响应于用户选择的自然语句功能层,展示相应功能层的自然语句,提示用户基于展示的自然语句进行分解业务需求并输入目标自然语句。
可选地,所述利用具有多层自然语句功能层的所述辅助语句库进行代码与自然语句之间的转换,还包括:
若所述目标自然语句在所述辅助语句库中为子功能自然语句,则向用户提示所述目标自然语句的父功能自然语句,使用户基于所述父功能自然语句分解业务需求输入目标自然语句。
可选地,所述获取用户基于样本业务需求输入的第一功能自然语句,包括:
获取不同用户基于不同样本业务需求输入的多种定义方式的第一功能自然语句;
所述判断所述第一功能自然语句的可执行度,包括:
判断多个所述第一功能自然语句的可执行度;
所述生成多层自然语句功能层,包括:
生成多个的多层自然语句功能层,不同的多层自然语句功能层具有不同的定义方式。
可选地,所述利用具有多层自然语句功能层的所述辅助语句库进行代码与自然语句之间的转换,包括:
将所述目标自然语句与所述辅助语句库中所述多个多层自然语句功能层中的自然语句进行匹配。
可选地,所述利用具有多层自然语句功能层的所述辅助语句库进行代码与自然语句之间的转换,包括:
响应于用户选中多个运算语句组合的操作,确定用户选中的所述多个运算语句组合对应的自然语句;
展示所述自然语句。
可选地,所述确定用户选中的所述多个运算语句组合对应的自然语句,包括:
确定对应于所述多个运算语句组合的第二功能自然语句;
确定所述第二功能自然语句的父功能自然语句;
所述展示所述自然语句,还包括:
展示不同功能层的所述第二功能自然语句和所述第二功能自然语句的父功能自然语句。
可选地,还包括:
展示各自然语句的功能层标识;
响应于用户的功能层选中操作,隐藏用户未选中的功能层所对应的自然语句。
本说明书实施例还提供一种转换业务逻辑层代码的装置,包括:
辅助语句库模块,构建辅助语句库,包括:
获取模块,获取用户基于样本业务需求输入的第一功能自然语句;
获取用户输入的多个对应到不同单运算语句的第二功能自然语句;
关联模块,判断所述第一功能自然语句的可执行度,若所述第一功能自然语句可由多个所述第二功能自然语句组合对应的运算语句实现,则将所述第一功能自然语句和所述第二功能自然语句相关联生成多层自然语句功能层,否则提示用户通过根据第二功能自然语句分解第一功能自然语句,或者根据第一功能自然语句对多个第二功能自然语句进行组合操作,响应于用户操作生成多层自然语句功能层;
转换模块,利用具有多层自然语句功能层的所述辅助语句库进行代码与自然语句之间的转换。
可选地,所述关联模块,还用于:
构建所述多层自然语句功能层中各语句的父子关联关系,包括:
若所述第一功能自然语句可由一个所述第二功能自然语句对应的运算语句实现,或者可由多个所述第二功能自然语句组合对应的运算语句实现,则将所述第一功能自然语句作为父功能自然语句;
将所述第二功能自然语句作为子功能自然语句。
可选地,所述获取模块,还用于:
获取用户通过分解第一功能自然语句同时对多个第二功能自然语句进行组合得到的多个第三功能自然语句,将所述多个第三功能自然语句与所述第一功能自然语句相关联;
将每个所述第三功能自然语句与多个第二功能自然语句组合相关联。
可选地,所述利用具有多层自然语句功能层的所述辅助语句库进行代码与自然语句之间的转换,包括:
获取用户基于业务需求输入的目标自然语句;
将所述目标自然语句与所述辅助语句库中各功能层的自然语句进行匹配,若匹配成功,则根据匹配成功的自然语句对应的运算语句生成代码。
可选地,所述根据匹配成功的自然语句对应的运算语句生成代码,包括:
确定匹配成功的自然语句关联的多个子功能自然语句组合;
根据所述多个子功能自然语句组合对应的运算语句生成代码。
可选地,所述将所述目标自然语句与所述辅助语句库中各功能层的自然语句进行匹配,包括:
确定所述目标自然语句与所述辅助语句库中各功能层的自然语句的语义匹配度;
将所述辅助语句库中匹配度大于阈值的自然语句作为匹配成功的自然语句。
可选地,所述转换模块,还用于:
向用户提示所述辅助语句库中不同的自然语句功能层,使用户选择相应的自然语句功能层;
响应于用户选择的自然语句功能层,展示相应功能层的自然语句,提示用户基于展示的自然语句进行分解业务需求并输入目标自然语句。
可选地,所述利用具有多层自然语句功能层的所述辅助语句库进行代码与自然语句之间的转换,还包括:
若所述目标自然语句在所述辅助语句库中为子功能自然语句,则向用户提示所述目标自然语句的父功能自然语句,使用户基于所述父功能自然语句分解业务需求输入目标自然语句。
可选地,所述获取用户基于样本业务需求输入的第一功能自然语句,包括:
获取不同用户基于不同样本业务需求输入的多种定义方式的第一功能自然语句;
所述判断所述第一功能自然语句的可执行度,包括:
判断多个所述第一功能自然语句的可执行度;
所述生成多层自然语句功能层,包括:
生成多个的多层自然语句功能层,不同的多层自然语句功能层具有不同的定义方式。
可选地,所述利用具有多层自然语句功能层的所述辅助语句库进行代码与自然语句之间的转换,包括:
将所述目标自然语句与所述辅助语句库中所述多个多层自然语句功能层中的自然语句进行匹配。
可选地,所述利用具有多层自然语句功能层的所述辅助语句库进行代码与自然语句之间的转换,包括:
响应于用户选中多个运算语句组合的操作,确定用户选中的所述多个运算语句组合对应的自然语句;
展示所述自然语句。
可选地,所述确定用户选中的所述多个运算语句组合对应的自然语句,包括:
确定对应于所述多个运算语句组合的第二功能自然语句;
确定所述第二功能自然语句的父功能自然语句;
所述转换模块,还用于:
展示不同功能层的所述第二功能自然语句和所述第二功能自然语句的父功能自然语句。
可选地,所述转换模块,还用于:
展示各自然语句的功能层标识;
响应于用户的功能层选中操作,隐藏用户未选中的功能层所对应的自然语句。
本说明书实施例还提供一种电子设备,其中,该电子设备包括:
处理器;以及,
存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行任一项方法。
本说明书实施例还提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被处理器执行时,实现上述任一项方法。
本说明记载的各个实施例通过获取基于业务需求的第一功能自然语句,及多个对应到不同单运算语句的第二功能自然语句,判断其是否可由多个所述第二功能自然语句组合对应的运算语句实现,使得对自然语句进行抽象描述可以从代码侧与需求侧向中间的自然语句来对接,第一功能自然语句、第一功能自然语句分别形成不同的功能层,使辅助语句库通过各层的自然语句均可以实现代码转换,即使不同用户对业务逻辑有不同的理解层次,依然可以利用该辅助语句库中对应层次的自然语句进行代码与自然语句之间的转换,降低了对不同用户的业务逻辑理解层次的依赖性,提高了辅助转换代码的便利性。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本说明书实施例提供的一种转换业务逻辑层代码的方法的原理示意图;
图2为本说明书实施例提供的一种转换业务逻辑层代码的装置的结构示意图;
图3为本说明书实施例提供的一种电子设备的结构示意图;
图4为本说明书实施例提供的一种计算机可读介质的原理示意图。
具体实施方式
申请人分析发现,由于运算语句所形成的功能会表现出不同的层级,而不同的撰写代码的人对业务逻辑层的理解层次不同(用何种层次来分解业务需求所实现的功能,并编写实现该层功能的运算语句),因此,不同人定义的功能描述语句往往体现为不同的层次,比如,有些人只会对具有两层运算规则的代码进行定义功能,而有些人则可以对具有三层、四层甚至更多层运算规则的代码进行定义功能,这就使得,定义者(对代码功能进行定义的人)的功能描述语句在被使用者(适用定义的功能描述语句撰写代码)使用时,根据其自身习惯输入的功能描述语句往往很难有预存的对应关系(与代码的对应关系),而如果要克服这一点,往往需要使用者记住定义者定义的功能描述语句,甚至需要按照这个层次重新对业务逻辑层进行分析,再进行撰写,而这本身就加大了撰写的复杂性和难度。
基于此,本说明书实施例提供一种转换业务逻辑层代码的方法,包括:
构建辅助语句库,包括:
获取用户基于样本业务需求输入的第一功能自然语句;
获取用户输入的多个对应到不同单运算语句的第二功能自然语句;
判断所述第一功能自然语句的可执行度,若所述第一功能自然语句可由多个所述第二功能自然语句组合对应的运算语句实现,则将所述第一功能自然语句和所述第二功能自然语句相关联生成多层自然语句功能层,否则提示用户通过根据第二功能自然语句分解第一功能自然语句,或者根据第一功能自然语句对多个第二功能自然语句进行组合操作,响应于用户操作生成多层自然语句功能层;
利用具有多层自然语句功能层的所述辅助语句库进行代码与自然语句之间的转换。
通过获取基于业务需求的第一功能自然语句,及多个对应到不同单运算语句的第二功能自然语句,判断其是否可由多个所述第二功能自然语句组合对应的运算语句实现,使得对自然语句进行抽象描述可以从代码侧与需求侧向中间的自然语句来对接,由于用户对代码侧、需求侧的理解更透彻,对其中间层进行抽象的难度较高,因此,相比于从一侧来定义自然语句降低了抽象难度,通过构建具有多层自然语句功能层的辅助语句库,由于第一自然语句、第二自然语句分别形成了不同功能层,使得辅助语句库具有多层自然语句功能层,第二自然语句可以直接对应到运算语句上,而第一自然语句可以通过与第二语句的关联对应到运算语句上,第一功能自然语句、第二功能自然语句分别形成不同的功能层,使辅助语句库通过各层的自然语句均可以实现代码转换。因此,即使不同用户对业务逻辑有不同的理解层次,依然可以利用该辅助语句库中对应层次的自然语句进行代码与自然语句之间的转换,降低了对不同用户的业务逻辑理解层次的依赖性,提高了辅助转换代码的便利性,相比于从一侧来定义自然语句降低了抽象难度。
此外,利用这种方法,以自然语句为开发或维护的过渡,用户便可以先进行业务逻辑的分析,根据业务系统的需求输入自然语句,这个过程不需要关注具体的运算语句,不需要一边分析业务系统的需求想象出实现这些需求的业务逻辑,一边思考如何编写运算语句来实现这种业务逻辑,降低了业务逻辑层开发或维护时的复杂度。
在一种应用场景中,在构建辅助语句库时,用户通过不断地对自然语句人为地进行分解和组合,直至每个自然语句均可执行既而进行关联,每次将自然语句相关联,均可以看作形成新的逻辑层次,由于这些逻辑层次可以仅需要“确定自然语句”便可以由运算语句实现,因此可以看做形成了功能层,第二自然语句可以直接对应到运算语句上,而第一自然语句可以通过与第二语句的关联对应到运算语句上,因此,由于第一自然语句、第二自然语句分别形成了不同
功能层,使得辅助语句库具有多层自然语句功能层。
在使用时,辅助语句库利用不同层次的自然语句均可以实现代码转换(包括用户输入自然语句,利用辅助语句库生成代码,或者,辅助语句库以不同逻辑层次描述用户需要检查的代码,用户便可以用其适应的、习惯的逻辑层次进行检查代码等),因而对用户理解业务需求的要求低,可以适应于对业务需求理解层次存在差异的不同用户。
现在将参考附图更全面地描述本发明的示例性实施例。然而,示例性实施例能够以多种形式实施,且不应被理解为本发明仅限于在此阐述的实施例。相反,提供这些示例性实施例能够使得本发明更加全面和完整,更加便于将发明构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的元件、组件或部分,因而将省略对它们的重复描述。
图1为本说明书实施例提供的一种转换业务逻辑层代码的方法的原理示意图,该方法可以包括:
S101:构建辅助语句库,可以包括:
获取用户基于样本业务需求输入的第一功能自然语句;
获取用户输入的多个对应到不同单运算语句的第二功能自然语句;
判断所述第一功能自然语句的可执行度,若所述第一功能自然语句可由多个所述第二功能自然语句组合对应的运算语句实现,则将所述第一功能自然语句和所述第二功能自然语句相关联生成多层自然语句功能层,否则提示用户通过根据第二功能自然语句分解第一功能自然语句,或者根据第一功能自然语句对多个第二功能自然语句进行组合操作,响应于用户操作生成多层自然语句功能层。
在本说明书实施例中,第一功能自然语句可以是业务需求功能的自然语句,用于描述业务需求的抽象功能,比如,开发某个系统时,其中一个环节是需要监控一个设备,则可以输入监测该设备-控制该设备;而第二功能自然语句可以是运算语句的功能自然语句,用来描述运算语句的功能,比如执行,可以对应于do。
多层自然语句功能层可以以不同层次来分解业务需求,比如,最高层的第一功能自然语句是:监测该设备-控制该设备,实际上这个功能可以由多个中层的自然语句组合实现,比如,存储触发条件,接收触发数据,判断触发数据是否满足触发条件,执行控制方案。
在本说明书实施例中,通过构建辅助语句库可以响应用户操作,匹配用户操作对应的代码或自然语句,从而完成自然语句和代码之间的转换。
因此,可以获取样本业务需求输入的第一功能自然语句,及多个对应到不同单运算语句的第二功能自然语句。
既而,可以根据用户经验,或者提示用户判断所述第一功能自然语句的可执行度,这可以是判断所述第一功能自然语句可由多个所述第二功能自然语句组合对应的运算语句实现,以及实现所述第一功能自然语句所需要的第二功能自然语句的组合方式。
当然,这也可以由预设于计算机中的规则来进行判断,比如,利用机器学习的方法构建并训练执行度预测模型,具体的,可以包括:收集多个第二功能自然语句的组合与其所实现的第一功能自然语句,作为正样本,收集多个第二功能自然语句的组合与其无法实现的第一功能自然语句,作为负样本,进行训练,这样,执行度预测模型便可以预测第一功能自然语句是否可以通过对第二功能自然语句进行组合来实现和执行,此外,也可以为该执行度预测模型构建组合规则,这样,在构建得到辅助语句库后,代码需求用户在输入某个自然语句(称作目标自然语句)后,该执行度预测模型可以利用组合规则对辅助语句库中抽取自然语句,所述执行度预测模型将辅助语句库与所述目标自然语句匹配,若匹配成功过,则表示用户输入的目标自然语句可以被辅助语句库中的自然语句对应的运算语句实现。其中,利用组合规则对辅助语句库中抽取自然语句可以是将辅助语句库中的一个自然语句或者多个自然语句形成的自然语句组合与目标自然语句进行匹配,在此不作具体阐述和限制。
在本说明书实施例中,在判断所述第一功能自然语句的可执行度之后,若所述第一功能自然语句可由第二功能自然语句组合实现,则将所述第一功能自然语句和所述第二功能自然语句相关联,这样,便实现了将第一功能自然语句转换为第二功能自然语句组合的形式,既而可以以第二功能自然语句组合对应的单运算语句来实现,这样,第一功能自然语句、第二功能自然语句分别形成不同的自然语句功能层。
在本说明书实施例中,若第二功能自然语句组合无法直接实现所述第一功能自然语句,这时应该继续构建辅助语句库,因为如果利用这种状态的辅助语句库进行代码转换,那么如果代码需求用户恰好输入第一功能自然语句,实际上是得不到对应的运算语句的。
而这,可能说明第一功能自然语句太过抽象,太过靠近业务需求,因而太过远离对应运算语句的第二功能自然语句,因此,为了使,第一功能自然语句与第二功能自然语句实现关联,因此,可以提示用户对多个第二功能自然语句进行组合,形成多个组合,对每个组合,用户输入一个第三自然语句,用以描述对应第二功能自然语句组合的功能,而多个第三自然语句则可以继续与第一功能自然语句进行匹配,判断第一功能自然语句是否可由这多个第三功能自然语句执行或实现,若可执行,则将第一功能自然语句与多个第三自然语句关联,将每个第三功能自然语句与对应的第二功能自然语句关联。
这样,第三功能自然语句形成新的中间功能层。
当然,也可以提示用户对第一功能自然语句进一步进行分解,输入多个第三自然语句,再将每个第三自然语句与第二自然语句的组合进行匹配,判断每个第三自然语句可执行度,若可执行,则将则将第一功能自然语句与多个第三自然语句关联,将每个第三功能自然语句与对应的第二功能自然语句关联。这样,虽然第一功能自然语句不能与第二功能自然语句直接关联,但是由于第一功能自然语句、第二功能自然语句分别与第三功能自然语句相关联,因此,第一功能自然语句可以与第二功能自然语句间接关联,通过这种间接关联,使得描述业务需求的第一功能自然语句可以对应到运算语句上,进而通过转换得到实现业务需求功能的代码。
在这里,第三功能自然语句是为了区别基于业务需求直接输入的自然语句(第一功能自然语句),以及直接对应到运算语句的第二功能自然语句,因此,第三功能自然语句是对中间层的自然语句的统称,即,第三功能自然语句可以有一层,也可以有多层,比如,对于构建形成的具有5层功能层的辅助语句库,顶层(为方便描述,记作顶层1)的自然语句为第一功能自然语句,底层(记作底层1)的自然语句对应运算语句,称作第二功能自然语句,而第三功能自然语句,则对顶层1进行分解,得到顶层2,继续分解,得到顶层3,继续分解得到顶层4,顶层4的自然语句能够由底层1的自然语句执行,则完成分解业务需求构建辅助语句库的过程。
在这种情况下,顶层2、顶层3、顶层4的自然语句均可以看做第三功能自然语句。
当然,也可以由底层向顶层构建,比如,对底层1的自然语句进行组合,得到底层2的自然语句,此时判断无法执行顶层1的自然语句,因此继续组合,得到底层3、底层4的自然语句,底层4的自然语句可以实现底层1,这时,便完成了构建。
在这种情况下,底层2、底层3、底层4的自然语句均可以看做第三功能自然语句。
再或者,也可以是将由底层向上构建与由顶层向下构建相结合,比如,先对底层1进行组合,描述这个组合所具有的功能,根据这个功能输入底层2的自然语句,构建人发现难以继续组合描述,因而想到从顶层向下构建来向中间层对接,故而将对顶层1进行分解,得到顶层2,继续分解,得到顶层3,这时,经过匹配,得到顶层3的自然语句可以匹配到底层2的自然语句,这时便完成构建。
在这种情况下,顶层2、顶层3、底层2的自然语句均可以看做第三功能自然语句。
在以上三种情况中,“底层”和“顶层”只是为了描述该层自然语句是对上层自然语句进行分解得来的,还是通过对下层自然语句组合得来的,因此,对于具有M层功能层的辅助语句库,同一功能层既可以用顶层M-N来描述,也可以用底层N+1来描述,比如,上述实施例中的底层3(5-2),其实相当于底层3(2+1),都是最中间那层。
对于计算机来讲,计算机便可以响应用户操作,继续进行可执行度的判断,直至可执行时便可将自然语句相关联。
因此,响应于用户操作生成多层自然语句功能层,还可以包括:
判断第一功能自然语句是否可以由操作产生的第三功能自然语句或者第二功能自然语句对应的单运算语句实现,若可以,则将其与第一功能自然语言关联。
在本说明书实施例中,在本说明书实施例中,还可以包括:
获取用户通过分解第一功能自然语句同时对多个第二功能自然语句进行组合得到的多个第三功能自然语句,将所述多个第三功能自然语句与所述第一功能自然语句相关联;
将每个所述第三功能自然语句与多个第二功能自然语句组合相关联。
这样,第三功能自然语句便又形成1个层次的自然语句功能层,在这里,可以将第三功能自然语句理解成用户新输入的语句,使原来无法直接关联的第一功能自然语句与第二功能自然语句,通过分别与第三功能自然语句进行关联后,实现间接的关联,进而完成由业务需求到运算语句的分解过程。
在本说明实施例中,判断所述第一功能自然语句的可执行度,可以是通过自然语句的语义和自然语句组合的逻辑进行判断。
由于第二功能自然语句对应的单语句组合基本可以实现所有的业务需求和第一功能自然语句的功能。因此,以自然语句的组合逻辑和自然语句的语义进行判断可执行度,可以避免回到用单运算语句描述业务需求或者第一功能自然语句的情况,对于无法实现第一功能自然语句的情况,只需要在中间增设自然语句功能层,便可以通过自然语句之间的间接关联实现第一功能自然语句。
为了形成不同功能层中自然语句的层级关系,在本说明书实施例中,还可以包括:
构建所述多层自然语句功能层中各语句的父子关联关系,可以包括:
若所述第一功能自然语句可由一个所述第二功能自然语句对应的运算语句实现,或者可由多个所述第二功能自然语句组合对应的运算语句实现,则将所述第一功能自然语句作为父功能自然语句;
将所述第二功能自然语句作为子功能自然语句。
这样,将所述多个第三功能自然语句与所述第一功能自然语句相关联;
将每个所述第三功能自然语句与多个第二功能自然语句组合相关联,可以使多个所述第三功能自然语句具有所述第一功能自然语句的功能,每个所述第三功能自然语句均可由多个第二功能自然语句组合实现,不同的述第三功能自然语句可由不同组合的第二功能自然语句组合实现,所述第一功能自然语句相比所述第二功能自然语句、第三功能自然语句为父功能自然语句,所述第二功能自然语句相比于所述第三功能自然语句为父功能自然语句。
在本说明书实施例中,所述获取用户基于样本业务需求输入的第一功能自然语句,可以包括:
获取不同用户基于不同样本业务需求输入的多种定义方式的第一功能自然语句;
所述判断所述第一功能自然语句的可执行度,可以包括:
判断多个所述第一功能自然语句的可执行度;
所述生成多层自然语句功能层,可以包括:
生成多个的多层自然语句功能层,不同的多层自然语句功能层具有不同的定义方式。
这样,构建的辅助语句库既可以适应用户的不同理解层次,又可以适应用户的不同描述自然语句的定义方式,提高了辅助语句库与根据代码需求用户输入的自然语句匹配的概率。
在构建具有多层自然语句功能层的所述辅助语句库后,该辅助语句库便具有多种层次实现业务需求的代码组合方式,便可以根据用户需求匹配到对应层次的自然语言,进而进行转换。
S102:利用具有多层自然语句功能层的所述辅助语句库进行代码与自然语句之间的转换。
在本说明书实施例中,所述利用具有多层自然语句功能层的所述辅助语句库进行代码与自然语句之间的转换,可以包括:
利用具有多层自然语句功能层的所述辅助语句库将用户输入的自然语句转换成代码。
在本说明书实施例中,所述利用具有多层自然语句功能层的所述辅助语句库进行代码与自然语句之间的转换,还可以包括:
利用具有多层自然语句功能层的所述辅助语句库将代码转换成所述辅助语句库中的自然语句。
通过获取基于业务需求的第一功能自然语句,及多个对应到不同单运算语句的第二功能自然语句,判断其是否可由多个所述第二功能自然语句组合对应的运算语句实现,使得对自然语句进行抽象描述可以从代码侧与需求侧向中间的自然语句来对接,由于用户对代码侧、需求侧的理解更透彻,对其中间层进行抽象的难度较高,因此,相比于从一侧来定义自然语句降低了抽象难度,通过构建具有多层自然语句功能层的辅助语句库,第一功能自然语句、第二功能自然语句分别作为功能层,使各层的自然语句均可以由对应的运算语句实现,即使不同用户对业务逻辑有不同的理解层次,依然可以利用该辅助语句库中对应层次的自然语句进行代码与自然语句之间的转换,降低了对不同用户的业务逻辑理解层次的依赖性,提高了辅助转换代码的便利性,相比于从一侧来定义自然语句降低了抽象难度。
由于第二功能自然语句可以由对应的单运算语句实现,而第一功能自然语句也可以通过与第二功能自然语句的关联由间接地由单运算语句实现,使得多层自然语句功能层的辅助语句库中的不同功能层的自然语句均可实现,因此,具有多层自然语句功能层的辅助语句库可以适应对业务逻辑有不同的理解层次的用户,即使对业务逻辑有不同理解层次的不同用户输入不同的自然语句,依然可以得到根据对应实现方式的自然语句转换成的代码,从而降低对用户的业务逻辑理解层次的依赖。
在本说明书实施例中,所述利用具有多层自然语句功能层的所述辅助语句库进行代码与自然语句之间的转换,可以包括:
获取用户基于业务需求输入的目标自然语句;
将所述目标自然语句与所述辅助语句库中各功能层的自然语句进行匹配,若匹配成功,则根据匹配成功的自然语句对应的运算语句生成代码。
在本说明书实施例中,可以利用构建的执行度预测模型和组合规则将所述目标自然语句与所述辅助语句库中各功能层的自然语句进行匹配。
具体可以包括:
执行度预测模型可以利用组合规则对辅助语句库中抽取自然语句,将辅助语句库中的一个自然语句或者多个自然语句形成的自然语句组合与目标自然语句进行匹配。
其中,执行度预测模型多组样本数据训练得到的,所述样本数据包括子功能自然语句及其实现的父功能自然语句,多个自然语句组合及其无法实现的自然语句。
这样,在构建得到辅助语句库后,代码需求用户在输入某个自然语句(称作目标自然语句)后,该执行度预测模型将辅助语句库与所述目标自然语句匹配,若匹配成功过,则表示用户输入的目标自然语句可以被辅助语句库中的自然语句对应的运算语句实现。
在本说明书实施例中,所述将所述目标自然语句与所述辅助语句库中各功能层的自然语句进行匹配,也可以包括:
确定所述目标自然语句与所述辅助语句库中各功能层的自然语句的语义匹配度;
将所述辅助语句库中匹配度大于阈值的自然语句作为匹配成功的自然语句。
其中,可以提取自然语句的语义特征、逻辑特征,根据自然语句的特征的相似度计算匹配度,比如,可以利用欧氏距离的算法计算匹配度。
在本说明书实施例中,由于执行度预测模型可以提取父功能自然语句与执行该父功能自然语句的关联,进而可以判断父功能自然语句是否可由多个自然语言组合实现,因此,该模型也可以用于匹配目标自然语句与辅助语句库中各功能层的自然语句。
因此,所述将所述目标自然语句与所述辅助语句库中各功能层的自然语句进行匹配,也可以包括:
利用构建的执行度预测模型预测所述辅助语句库中执行所述目标自然语句的自然语句,若模型输出自然语句,则将其作为匹配成功的自然语句。
在本说明书实施例中,所述根据匹配成功的自然语句对应的运算语句生成代码,可以包括:
确定匹配成功的自然语句关联的多个子功能自然语句组合;
根据所述多个子功能自然语句组合对应的运算语句生成代码。
在本说明书实施例中,还可以包括:
向用户提示所述辅助语句库中不同的自然语句功能层,使用户选择相应的自然语句功能层;
响应于用户选择的自然语句功能层,展示相应功能层的自然语句,提示用户基于展示的自然语句进行分解业务需求并输入目标自然语句。
在本说明书实施例中,所述利用具有多层自然语句功能层的所述辅助语句库进行代码与自然语句之间的转换,还可以包括:
若所述目标自然语句在所述辅助语句库中为子功能自然语句,则向用户提示所述目标自然语句的父功能自然语句,使用户基于所述父功能自然语句分解业务需求输入目标自然语句。
在一种应用场景中,用户输入的目标自然语句在辅助语句库具有父功能自然语句,便可以向用户提示以父功能自然语句的层次进行业务立即分析和分解,利用父功能自然语句可以简化对业务需求进行分析和分解的过程,降低抽象难度。
对于具有多个的多层自然语句功能层,不同的多层自然语句功能层具有不同的定义方式的辅助语句库,可以为用户提供不同定义方式的自然语句,相同的功能可以体现为不同的自然语句,降低了对自然语言的描述一致性的要求。
因此,在本说明书实施例中,所述利用具有多层自然语句功能层的所述辅助语句库进行代码与自然语句之间的转换,可以包括:
将所述目标自然语句与所述辅助语句库中所述多个多层自然语句功能层中的自然语句进行匹配。
在本说明书实施例中,所述利用具有多层自然语句功能层的所述辅助语句库进行代码与自然语句之间的转换,可以包括:
响应于用户选中多个运算语句组合的操作,确定用户选中的所述多个运算语句组合对应的自然语句;
展示所述自然语句。
在一种实际场景中,这可以表示,当维护、检查代码的用户的鼠标落在运算语句上时,便可以看到其实现的功能自然语句,进而联想到该功能自然语句所体现的逻辑点是否正确,这样,维护人员根据各个自然语句便可以对该业务逻辑层的代码进行业务逻辑层面上的检查,而不需要通过阅读代码来想象其功能,降低了复杂度。
在本说明书实施例中,所述确定用户选中的所述多个运算语句组合对应的自然语句,可以包括:
确定对应于所述多个运算语句组合的第二功能自然语句;
确定所述第二功能自然语句的父功能自然语句;
所述展示所述自然语句,还包括:
展示不同功能层的所述第二功能自然语句和所述第二功能自然语句的父功能自然语句。
通过展示各自然语句所处的功能层,可以为用户同一层次分析分解业务逻辑的提示,进一步降低了分解业务逻辑的难度。
在本说明书实施例中,还可以包括:
展示各自然语句的功能层标识;
响应于用户的功能层选中操作,隐藏用户未选中的功能层所对应的自然语句。
其中,功能层标识可以是描述自然语句位于辅助语句库中第几层,比如,以最顶层为第一层为例,如果用户根据“自然语句位于辅助语句库中的第二层”,那么,由于最顶层的自然语句对运算语句的抽象程度更好,这时用户可以选中第一层,这样,用户便可以得到用第一层的自然语句对运算语句进行抽象的结果,由于第一层更靠近业务需求,因此,用户更容易理解第一层的运算语句。
当然,也可以是,第一层功能层标识也可以用注入“业务类型”这类名词来命名,对应的自然语句可以是设备监测、后端开发、终端交互等。在往下一层,可以根据对具体的业务类型(比如设备监测、后端开发、终端交互)进行分步、分类的方式来命名,通过分步、分类的形式逐渐分解业务需求。对于,终端交互,对应的第二层功能层标识可以是“交互要素”,对应的自然语句可以是:交互规则设置、数据存储和调用、交互页面配置等,当然,根据这种构思可以做出很多其他类似的例子,在此,不做具体阐述。
当然,也可以辅助语句库将用户输入的自然语句转换为代码的方法中展示各自然语句的功能层标识,这样,如果用户输入的自然语句的功能层标识为“3”,这就使得,可以提示该用户输入更靠近业务需求的自然语句(第2层的自然语句)来分解业务需求,来将重点放在思考业务需求的逻辑上,或者,如果该功能层具有6层,也可以提醒用户用输入更靠近运算语句的自然语句(比如第4层的自然语句),来将重点放在如何更好的具体实现这些功能。
在本说明书实施例中,考虑到业务逻辑层的实现的功能包括数据的存储、数据的提取和定义数据库结构等方式,因此,该方法还可以包括:
获取该自然语句对应的数据对象。
因此,作为其中的一种实施方式,第一功能自然语句可以包括交易查询类、存储类和定义数据表结构类中的至少一个,用于描述完成业务需求文件所需要执行的抽象功能,第二功能可以包括如果(if)那么(then)执行(do)等单运算语句。
由于代码的编写和检查规则需要用户进行记忆相关的规则,而构建具有不同的定义方式的多个多层自然语句功能层的辅助语句库,不需要用户记忆规则,只需要按照其习惯进行定义并输入功能自然语句,辅助语句库便可以通过匹配为其提供对应定义方式的和对应理解层次的功能自然语句,从而降低了对用户的要求,提高了便利性。
其中,运算语句可以是Java等高级语言,在此不做具体阐述和限制。
在具体实施时,构建辅助语句库可以通过编写运算语句组合的功能描述文件的形式进行,以文本文件的形式(.txt)保存,也可以存储到数据库中,这样服务器可以从数据库中调用数据进行辅助代码转换,对于其具体形式,在此不做具体限制。
在本说明书实施例中,对功能描述文件的结构作示例性解释,功能描述文件可以具有以下结构:
1)、功能编号;
2)、功能名(中/英文);
3)、功能描述:功能概述,输入输出说明;
4)、静态数据:该功能处理涉及的数据层的数据对象;
5)、调用:调用其他功能的名称;
6)、临时变量:定义处理过程使用的变量;
7)、输入检查:根据业务场景, 对定义输入参数的逻辑检查,包含判断不允许为空的输入是否为空,输入的值是否在预定的范围;
8)、预处理:在正式进行处理前需要预先准备的逻辑,如对变量赋初始值或是对输入的标识能否查询到相应的记录,当前是否允许进行此场景操作等;
9)、处理:根据业务场景,对业务处理逻辑进行详细的描述,包含数据加工、转换、结果输出,是每个功能描述文件的核心部分。
在本说明书实施例中,可以对功能描述文件中第二功能描述语句及其所对应的的运算语句进行举例。
临时变量定义(TypeAs),变量赋值(=),错误设置语句(ERROR),变量打印跟踪语句(DUMP),信息打印跟踪语句(TRACE),注释语句(//),插入数据库表语句(INSERT),更新数据库表语句(UPDATE),删除数据库表语句(DELETE),调用CF语句(CALLCF),调用存储过程语句(CALLSP),定长循环语句(LOOP),条件语句(IF),平台系统函数调用(CALLBF);
代码嵌入语句(EMBED),条件循环语句(WHILE)。
在本说明书实施例中,可以识别自然功能语句对应的附加数据,比如可以识别数据对象、运算符(算术运算符、逻辑运算符、比较运算符、赋值运算符、取值运算符)等。
经过上述论述可以发现,越上层(功能层)的自然功能语句越接近需求,越下层的自然功能语句越接近运算语句。
在一种应用场景中,用户可以输入自然语句“客户端应用的交互”,辅助语句库中便匹配到相似语义的自然语句“终端交互”,进而查询“终端交互”的子功能自然语句“交互规则设置、数据存储和调用、交互页面配置”,表示终端交互可以分三个部分来进行,进而,继续查询其各自的自然语句,直至“终端交互”的子功能自然语句、间接关联的子功能自然语句都映射到运算语句上,便可以根据关联关系生成代码。
而对业务需求存在另一种理解层次的用户,其编写代码的习惯适应于底层运算语句,这时,他可以输入“执行”、“判断”这类第二功能自然语句,通过其与运算代码的对应关系,辅助语句库为其生成代码。
当然,对于某些用户,其既不习惯用底层代码来理解业务需求,也不习惯用对业务需求简单分解形成的第一功能自然语句,对于这类用户,辅助语句库可以用中间功能层的自然语句为其提供代码转换,比如用户输入“客户端交互规则的设置”,辅助语句库匹配到“交互规则设置”、既而查询到直接或者间接关联的自然语句、运算语句,生成代码,而不是呆板的只能识别、匹配用户输入的底层自然语句,或者只能识别更偏向业务需求的顶层的自然语句。
图2为本说明书实施例提供的一种转换业务逻辑层代码的装置的结构示意图,该装置可以包括:
辅助语句库模块201,构建辅助语句库,可以包括:
获取模块2011,获取用户基于样本业务需求输入的第一功能自然语句;
获取用户输入的多个对应到不同单运算语句的第二功能自然语句;
关联模块2012,判断所述第一功能自然语句的可执行度,若所述第一功能自然语句可由多个所述第二功能自然语句组合对应的运算语句实现,则将所述第一功能自然语句和所述第二功能自然语句相关联生成多层自然语句功能层,否则提示用户通过根据第二功能自然语句分解第一功能自然语句,或者根据第一功能自然语句对多个第二功能自然语句进行组合操作,响应于用户操作生成多层自然语句功能层;
转换模块202,利用具有多层自然语句功能层的所述辅助语句库进行代码与自然语句之间的转换。
在本说明书实施例中,关联模块2012,还可以用于:
构建所述多层自然语句功能层中各语句的父子关联关系,可以包括:
若所述第一功能自然语句可由一个所述第二功能自然语句对应的运算语句实现,或者可由多个所述第二功能自然语句组合对应的运算语句实现,则将所述第一功能自然语句作为父功能自然语句;
将所述第二功能自然语句作为子功能自然语句。
在本说明书实施例中,获取模块2011,还可以用于:
获取用户通过分解第一功能自然语句同时对多个第二功能自然语句进行组合得到的多个第三功能自然语句,将所述多个第三功能自然语句与所述第一功能自然语句相关联;
将每个所述第三功能自然语句与多个第二功能自然语句组合相关联。
在本说明书实施例中,所述利用具有多层自然语句功能层的所述辅助语句库进行代码与自然语句之间的转换,可以包括:
获取用户基于业务需求输入的目标自然语句;
将所述目标自然语句与所述辅助语句库中各功能层的自然语句进行匹配,若匹配成功,则根据匹配成功的自然语句对应的运算语句生成代码。
在本说明书实施例中,所述根据匹配成功的自然语句对应的运算语句生成代码,可以包括:
确定匹配成功的自然语句关联的多个子功能自然语句组合;
根据所述多个子功能自然语句组合对应的运算语句生成代码。
在本说明书实施例中,所述将所述目标自然语句与所述辅助语句库中各功能层的自然语句进行匹配,可以包括:
确定所述目标自然语句与所述辅助语句库中各功能层的自然语句的语义匹配度;
将所述辅助语句库中匹配度大于阈值的自然语句作为匹配成功的自然语句。
在本说明书实施例中,转换模块202,还可以用于:
向用户提示所述辅助语句库中不同的自然语句功能层,使用户选择相应的自然语句功能层;
响应于用户选择的自然语句功能层,展示相应功能层的自然语句,提示用户基于展示的自然语句进行分解业务需求并输入目标自然语句。
在本说明书实施例中,所述利用具有多层自然语句功能层的所述辅助语句库进行代码与自然语句之间的转换,还可以包括:
若所述目标自然语句在所述辅助语句库中为子功能自然语句,则向用户提示所述目标自然语句的父功能自然语句,使用户基于所述父功能自然语句分解业务需求输入目标自然语句。
在本说明书实施例中,所述获取用户基于样本业务需求输入的第一功能自然语句,可以包括:
获取不同用户基于不同样本业务需求输入的多种定义方式的第一功能自然语句;
所述判断所述第一功能自然语句的可执行度,可以包括:
判断多个所述第一功能自然语句的可执行度;
所述生成多层自然语句功能层,可以包括:
生成多个的多层自然语句功能层,不同的多层自然语句功能层具有不同的定义方式。
在本说明书实施例中,所述利用具有多层自然语句功能层的所述辅助语句库进行代码与自然语句之间的转换,可以包括:
将所述目标自然语句与所述辅助语句库中所述多个多层自然语句功能层中的自然语句进行匹配。
在本说明书实施例中,所述利用具有多层自然语句功能层的所述辅助语句库进行代码与自然语句之间的转换,可以包括:
响应于用户选中多个运算语句组合的操作,确定用户选中的所述多个运算语句组合对应的自然语句;
展示所述自然语句。
在本说明书实施例中,所述确定用户选中的所述多个运算语句组合对应的自然语句,可以包括:
确定对应于所述多个运算语句组合的第二功能自然语句;
确定所述第二功能自然语句的父功能自然语句;
转换模块202,还可以用于:
展示不同功能层的所述第二功能自然语句和所述第二功能自然语句的父功能自然语句。
在本说明书实施例中,转换模块202,还可以用于:
展示各自然语句的功能层标识;
响应于用户的功能层选中操作,隐藏用户未选中的功能层所对应的自然语句。
该装置通过获取基于业务需求的第一功能自然语句,及多个对应到不同单运算语句的第二功能自然语句,判断其是否可由多个所述第二功能自然语句组合对应的运算语句实现,使得对自然语句进行抽象描述可以从代码侧与需求侧向中间的自然语句来对接,由于用户对代码侧、需求侧的理解更透彻,对其中间层进行抽象的难度较高,因此,相比于从一侧来定义自然语句降低了抽象难度,通过构建具有多层自然语句功能层的辅助语句库,由于第一自然语句、第二自然语句分别形成了不同功能层,使得辅助语句库具有多层自然语句功能层,第二自然语句可以直接对应的运算语句上,而第一自然语句可以通过与第二语句的关联对应到运算语句上,使各层的自然语句均可以由对应的运算语句实现,即使不同用户对业务逻辑有不同的理解层次,依然可以利用该辅助语句库中对应层次的自然语句进行代码与自然语句之间的转换,降低了对不同用户的业务逻辑理解层次的依赖性,提高了辅助转换代码的便利性,相比于从一侧来定义自然语句降低了抽象难度。
基于同一发明构思,本说明书实施例还提供一种电子设备。
下面描述本发明的电子设备实施例,该电子设备可以视为对于上述本发明的方法和装置实施例的具体实体实施方式。对于本发明电子设备实施例中描述的细节,应视为对于上述方法或装置实施例的补充;对于在本发明电子设备实施例中未披露的细节,可以参照上述方法或装置实施例来实现。
图3为本说明书实施例提供的一种电子设备的结构示意图。下面参照图3来描述根据本发明该实施例的电子设备300。图3显示的电子设备300仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图3所示,电子设备300以通用计算设备的形式表现。电子设备300的组件可以包括但不限于:至少一个处理单元310、至少一个存储单元320、连接不同系统组件(包括存储单元320和处理单元310)的总线330、显示单元340等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元310执行,使得所述处理单元310执行本说明书上述处理方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元310可以执行如图1所示的步骤。
所述存储单元320可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)3201和/或高速缓存存储单元3202,还可以进一步包括只读存储单元(ROM)3203。
所述存储单元320还可以包括具有一组(至少一个)程序模块3205的程序/实用工具3204,这样的程序模块3205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线330可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备300也可以与一个或多个外部设备400(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备300交互的设备通信,和/或与使得该电子设备300能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口350进行。并且,电子设备300还可以通过网络适配器360与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器360可以通过总线330与电子设备300的其它模块通信。应当明白,尽管图3中未示出,可以结合电子设备300使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,本发明描述的示例性实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个计算机可读的存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本发明的上述方法。当所述计算机程序被一个数据处理设备执行时,使得该计算机可读介质能够实现本发明的上述方法,即:如图1所示的方法。
图4为本说明书实施例提供的一种计算机可读介质的原理示意图。
实现图1所示方法的计算机程序可以存储于一个或多个计算机可读介质上。计算机可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
综上所述,本发明可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,本发明不与任何特定计算机、虚拟装置或者电子设备固有相关,各种通用装置也可以实现本发明。以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (12)
1.一种转换业务逻辑层代码的方法,其特征在于,包括:
构建辅助语句库,包括:
获取用户基于样本业务需求输入的第一功能自然语句;
获取用户输入的多个对应到不同单运算语句的第二功能自然语句;
判断所述第一功能自然语句的可执行度,若所述第一功能自然语句可由多个所述第二功能自然语句组合对应的运算语句实现,则将所述第一功能自然语句和所述第二功能自然语句相关联生成多层自然语句功能层,否则提示用户通过根据第二功能自然语句分解第一功能自然语句,或者根据第一功能自然语句对多个第二功能自然语句进行组合操作,响应于用户操作生成多层自然语句功能层;
利用具有多层自然语句功能层的所述辅助语句库进行代码与自然语句之间的转换。
2.根据权利要求1所述的方法,其特征在于,还包括:
构建所述多层自然语句功能层中各语句的父子关联关系,包括:
若所述第一功能自然语句可由一个所述第二功能自然语句对应的运算语句实现,或者可由多个所述第二功能自然语句组合对应的运算语句实现,则将所述第一功能自然语句作为父功能自然语句;
将所述第二功能自然语句作为子功能自然语句。
3.根据权利要求2所述的方法,其特征在于,还包括:
获取用户通过分解第一功能自然语句同时对多个第二功能自然语句进行组合得到的多个第三功能自然语句,将所述多个第三功能自然语句与所述第一功能自然语句相关联;
将每个所述第三功能自然语句与多个第二功能自然语句组合相关联。
4.根据权利要求3所述的方法,其特征在于,所述利用具有多层自然语句功能层的所述辅助语句库进行代码与自然语句之间的转换,包括:
获取用户基于业务需求输入的目标自然语句;
将所述目标自然语句与所述辅助语句库中各功能层的自然语句进行匹配,若匹配成功,则根据匹配成功的自然语句对应的运算语句生成代码。
5.根据权利要求4所述的方法,其特征在于,所述将所述目标自然语句与所述辅助语句库中各功能层的自然语句进行匹配,包括:
确定所述目标自然语句与所述辅助语句库中各功能层的自然语句的语义匹配度;
将所述辅助语句库中匹配度大于阈值的自然语句作为匹配成功的自然语句。
6.根据权利要求4所述的方法,其特征在于,所述利用具有多层自然语句功能层的所述辅助语句库进行代码与自然语句之间的转换,还包括:
若所述目标自然语句在所述辅助语句库中为子功能自然语句,则向用户提示所述目标自然语句的父功能自然语句,使用户基于所述父功能自然语句分解业务需求输入目标自然语句。
7.根据权利要求3所述的方法,其特征在于,所述利用具有多层自然语句功能层的所述辅助语句库进行代码与自然语句之间的转换,包括:
响应于用户选中多个运算语句组合的操作,确定用户选中的所述多个运算语句组合对应的自然语句;
展示所述自然语句。
8.根据权利要求7所述的方法,其特征在于,所述确定用户选中的所述多个运算语句组合对应的自然语句,包括:
确定对应于所述多个运算语句组合的第二功能自然语句;
确定所述第二功能自然语句的父功能自然语句;
所述展示所述自然语句,还包括:
展示不同功能层的所述第二功能自然语句和所述第二功能自然语句的父功能自然语句。
9.根据权利要求8所述的方法,其特征在于,还包括:
展示各自然语句的功能层标识;
响应于用户的功能层选中操作,隐藏用户未选中的功能层所对应的自然语句。
10.一种转换业务逻辑层代码的装置,其特征在于,包括:
辅助语句库模块,构建辅助语句库,包括:
获取模块,获取用户基于样本业务需求输入的第一功能自然语句;
获取用户输入的多个对应到不同单运算语句的第二功能自然语句;
关联模块,判断所述第一功能自然语句的可执行度,若所述第一功能自然语句可由多个所述第二功能自然语句组合对应的运算语句实现,则将所述第一功能自然语句和所述第二功能自然语句相关联生成多层自然语句功能层,否则提示用户通过根据第二功能自然语句分解第一功能自然语句,或者根据第一功能自然语句对多个第二功能自然语句进行组合操作,响应于用户操作生成多层自然语句功能层;
转换模块,利用具有多层自然语句功能层的所述辅助语句库进行代码与自然语句之间的转换。
11.一种电子设备,其中,该电子设备包括:
处理器;以及,
存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行根据权利要求1-9中任一项所述的方法。
12.一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被处理器执行时,实现权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911319840.3A CN110727428B (zh) | 2019-12-19 | 2019-12-19 | 一种转换业务逻辑层代码的方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911319840.3A CN110727428B (zh) | 2019-12-19 | 2019-12-19 | 一种转换业务逻辑层代码的方法、装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110727428A CN110727428A (zh) | 2020-01-24 |
CN110727428B true CN110727428B (zh) | 2020-05-15 |
Family
ID=69226470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911319840.3A Active CN110727428B (zh) | 2019-12-19 | 2019-12-19 | 一种转换业务逻辑层代码的方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110727428B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116185529B (zh) * | 2023-04-28 | 2023-07-28 | 北京拓普丰联信息科技股份有限公司 | 一种业务组件的处理方法、装置、电子设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1889043A (zh) * | 2006-07-17 | 2007-01-03 | 大连大有吴涛易语言软件开发有限公司 | 计算机编程中使用人类自然语言的方法 |
CN103645931B (zh) * | 2013-12-25 | 2016-06-22 | 盛杰 | 代码转换的方法及装置 |
CN106055537B (zh) * | 2016-05-23 | 2019-03-12 | 王立山 | 一种自然语言机器识别方法及系统 |
JP6181890B2 (ja) * | 2016-12-28 | 2017-08-16 | 一般財団法人工業所有権協力センター | 文献解析装置、文献解析方法およびプログラム |
CN108287858B (zh) * | 2017-03-02 | 2021-08-10 | 腾讯科技(深圳)有限公司 | 自然语言的语义提取方法及装置 |
-
2019
- 2019-12-19 CN CN201911319840.3A patent/CN110727428B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110727428A (zh) | 2020-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108388425B (zh) | 一种基于lstm自动补全代码的方法 | |
US11954461B2 (en) | Autonomously delivering software features | |
US20200226212A1 (en) | Adversarial Training Data Augmentation Data for Text Classifiers | |
CN1457041B (zh) | 为一个自然语言理解系统用来自动注解训练数据的一个系统 | |
US20140156282A1 (en) | Method and system for controlling target applications based upon a natural language command string | |
US11010284B1 (en) | System for understanding navigational semantics via hypothesis generation and contextual analysis | |
WO2019075390A1 (en) | BOX BLACK MATCHING MOTOR | |
US10977155B1 (en) | System for providing autonomous discovery of field or navigation constraints | |
CN112711581A (zh) | 医疗数据校验方法、装置、电子设备及存储介质 | |
Mariani et al. | Semantic matching of gui events for test reuse: are we there yet? | |
CN111316232A (zh) | 使用程序的注释来提供优化 | |
CN111435362B (zh) | 用于生成相关响应的对抗性训练数据增强 | |
WO2021129074A1 (zh) | 用于处理程序代码中的变量的引用的方法和系统 | |
CN115309451A (zh) | 代码克隆检测方法、装置、设备、存储介质及程序产品 | |
KR20230124104A (ko) | 자연 솔루션 언어 | |
US20230418566A1 (en) | Programmatically generating evaluation data sets for code generation models | |
KR20190015285A (ko) | Cpu 이용 및 코드 리팩토링을 위한 쿼리 최적화기 | |
US11029934B2 (en) | Method and system for updating legacy software | |
WO2008054331A1 (en) | System and method for processing language independent natural language statements | |
CN115803734A (zh) | 使用动作解释的自然语言丰富 | |
CN117369786A (zh) | 一种软件开发智能辅助方法及平台 | |
CN113687827B (zh) | 基于微件的数据列表生成方法、装置、设备及存储介质 | |
CN110727428B (zh) | 一种转换业务逻辑层代码的方法、装置和电子设备 | |
CN113885876A (zh) | 一种参数校验方法、装置、存储介质及计算机系统 | |
KR20230065017A (ko) | 인공지능 분석 기반 프로그램 소스코드의 요약문 생성 장치 및 방법 |
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 |