Courseware development method, device, equipment and storage medium

By automatically determining the code for associative reasoning services and parameter specifications on the learning software development platform, the problem of low efficiency in learning software construction in existing technologies is solved, and the automatic generation and rapid construction of learning software code are realized.

CN115437627BActive Publication Date: 2025-11-18CHINA MOBILE GROUP ZHEJIANG +2
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202110627562.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-06-04
Publication Date
2025-11-18
Estimated Expiration
2041-06-04

AI Technical Summary

Technical Problem

Existing AI-based intelligent learning component service systems suffer from low efficiency in building learning components and cannot achieve unified and efficient scenario reuse due to the separate development and adaptation by each team.

Method used

When a learning software development instruction is detected, the associated reasoning service and learning software parameters of the learning software to be developed are determined. The first associated code for calling the associated reasoning service and the second associated code for the parameter specification corresponding to the learning software parameters are generated. Based on these codes, the target code is automatically determined, thereby realizing the automatic generation of learning software code.

Benefits of technology

It improved the efficiency of learning software development, reduced a lot of coding work, and enabled the automatic generation and rapid construction of learning software code.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115437627B_ABST
    Figure CN115437627B_ABST
Patent Text Reader

Abstract

The application discloses a learning object development method, device and equipment and a storage medium. The method comprises the following steps: when a learning object development instruction is detected, determining an associated reasoning service of a to-be-developed learning object, and determining a learning object parameter of the to-be-developed learning object; generating first associated code for calling the associated reasoning service, and generating second associated code corresponding to a parameter regulation of the learning object parameter; and determining target code of the to-be-developed learning object based on the first associated code and the second associated code, so as to complete development of the to-be-developed learning object. In the application, the first associated code for calling the associated reasoning service is automatically generated, the second associated code corresponding to the parameter regulation of the learning object parameter is generated, and the target code of the to-be-developed learning object is automatically determined based on the first associated code and the second associated code, that is, automatic production of learning object code is realized, and the development efficiency of the learning object is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of application software technology, and in particular to a learning software development method, apparatus, device and storage medium. Background Technology

[0002] To address repetitive development work in the software development process, the concept of learnware was developed. Learnware = Model + Specification. Once the learnware is determined, rapid scenario reuse can be achieved by configuring the specification parameters.

[0003] Currently, various industries are gradually building AI-based intelligent software service systems. However, these systems are typically developed and adapted separately by multiple teams, making them non-universal and relatively closed, resulting in low efficiency in software development. Summary of the Invention

[0004] The main objective of this application is to provide a learning software development method, apparatus, device, and storage medium, which aims to solve the technical problem of low efficiency in learning software construction in the prior art.

[0005] To achieve the above objectives, this application provides a learning software development method, the learning software development method comprising:

[0006] When a learning software development instruction is detected, the associated reasoning service of the learning software to be developed is determined, and the learning software parameters of the learning software to be developed are determined.

[0007] Generate a first association code that calls the association reasoning service, and generate a second association code that reduces the parameters corresponding to the learning materials parameters;

[0008] Based on the first associated code and the second associated code, the target code of the learning software to be developed is determined in order to complete the development of the learning software.

[0009] Optionally, the step of generating the first association code that invokes the association inference service and generating the second association code that corresponds to the parameter reduction of the learning materials parameters includes:

[0010] Load a preset header library and obtain the response logic data of a preset interface based on the preset header library;

[0011] Based on the response logic data, a first association code is generated to call the association reasoning service, and the association reasoning service is loaded to obtain output parameters;

[0012] Based on the response logic data, a second association code is generated that corresponds to the output parameters and the parameter specification of the learning materials.

[0013] Optionally, the step of generating the second association code corresponding to the output parameters and the learning device parameters based on the response logic data includes:

[0014] Obtain the parameter values ​​corresponding to each of the output parameters and each of the learning device parameters, and obtain the parameter types corresponding to each of the output parameters and each of the learning device parameters;

[0015] Based on the response logic data, the parameter values, and the parameter types, a second association code is generated that corresponds to the output parameters and the parameter specifications of the learning materials.

[0016] Optionally, the step of generating the output parameters and the second association code corresponding to the parameter specification of the learning materials parameters based on the response logic data, the parameter values, and the parameter types includes:

[0017] Calculate the component matching degree based on the response logic data, the parameter values, and the parameter types;

[0018] Based on the component matching degree, a set of candidate components is determined to construct a target component tree;

[0019] The flowchart for determining the target component tree;

[0020] Based on the program flowchart, a second association code is generated to specify the output parameters and the corresponding parameter specifications of the learning materials.

[0021] Optionally, the step of determining a candidate component set based on the component matching degree to construct a target component tree includes:

[0022] Based on the component matching degree, a set of candidate components is determined;

[0023] Obtain the output parameters and the parameter input values ​​corresponding to each of the learning components. Based on the parameter input values, select an initial component tree from the candidate component set whose first component input value is the same as the parameter input value.

[0024] Determine the remaining component set, and based on the output values ​​of all components in the initial component tree, select a lower-level component tree from the remaining component set whose second component input value is the same as the component output value;

[0025] Return to the steps for determining the remaining component set until the component output value of the last level component tree does not have a matching component input value. At this point, the component tree construction ends and the target component tree is obtained.

[0026] Optionally, the step of determining the program flowchart of the target component tree includes:

[0027] Determine the starting node in the preset program flowchart, and scan each level of the target component tree nodes sequentially;

[0028] If the scanned tree node is a preset ordinary node, add the preset ordinary node as a sequential node to the preset program flowchart.

[0029] If the scanned tree node is a branch node, add the branch node to the branch program diagram in the program flowchart.

[0030] Once all nodes in the component tree have been scanned, the flowchart construction is complete, and the program flowchart of the target component tree is obtained.

[0031] Optionally, after the step of determining the target code of the learning software to be developed based on the first associated code and the second associated code to complete the development of the learning software, the method includes:

[0032] Debug the target code online;

[0033] Once the target code has been debugged, the target code is released and its automated deployment is completed.

[0034] This application also provides a learning software development apparatus, the learning software development apparatus comprising:

[0035] The detection module is used to determine the associated reasoning service of the learning software to be developed and the learning software parameters of the learning software to be developed when a learning software development instruction is detected.

[0036] The generation module is used to generate the first association code that calls the association reasoning service, and to generate the second association code that corresponds to the parameter reduction of the learning material parameters;

[0037] The determination module is used to determine the target code of the learning software to be developed based on the first associated code and the second associated code, so as to complete the development of the learning software.

[0038] Optionally, the generation module includes:

[0039] The loading unit is used to load a preset header library and obtain the response logic data of a preset interface based on the preset header library.

[0040] The first generation unit is used to generate first association code that calls the association reasoning service based on the response logic data, and load the association reasoning service to obtain output parameters;

[0041] The second generation unit is used to generate the second association code of the output parameters and the parameter specification corresponding to the learning device parameters based on the response logic data.

[0042] Optionally, the second generation unit includes:

[0043] The acquisition subunit is used to acquire the parameter values ​​corresponding to each of the output parameters and each of the learning device parameters, and to acquire the parameter types corresponding to each of the output parameters and each of the learning device parameters.

[0044] A generation subunit is used to generate the output parameters and the second association code corresponding to the parameter specification of the learning device parameters based on the response logic data, the parameter values, and the parameter types.

[0045] Optionally, the generating subunit is used to implement:

[0046] Calculate the component matching degree based on the response logic data, the parameter values, and the parameter types;

[0047] Based on the component matching degree, a set of candidate components is determined to construct a target component tree;

[0048] The flowchart for determining the target component tree;

[0049] Based on the program flowchart, a second association code is generated to specify the output parameters and the corresponding parameter specifications of the learning materials.

[0050] Optionally, the generating subunit is further configured to implement:

[0051] Based on the component matching degree, a set of candidate components is determined;

[0052] Obtain the output parameters and the parameter input values ​​corresponding to each of the learning components. Based on the parameter input values, select an initial component tree from the candidate component set whose first component input value is the same as the parameter input value.

[0053] Determine the remaining component set, and based on the output values ​​of all components in the initial component tree, select a lower-level component tree from the remaining component set whose second component input value is the same as the component output value;

[0054] Return to the steps for determining the remaining component set until the component output value of the last level component tree does not have a matching component input value. At this point, the component tree construction ends and the target component tree is obtained.

[0055] Optionally, the generating subunit is further configured to implement:

[0056] Determine the starting node in the preset program flowchart, and scan each level of the target component tree nodes sequentially;

[0057] If the scanned tree node is a preset ordinary node, add the preset ordinary node as a sequential node to the preset program flowchart.

[0058] If the scanned tree node is a branch node, add the branch node to the branch program diagram in the program flowchart.

[0059] Once all nodes in the component tree have been scanned, the flowchart construction is complete, and the program flowchart of the target component tree is obtained.

[0060] Optionally, the learning software development apparatus further includes:

[0061] A debugging module is used for online debugging of the target code;

[0062] The publishing module is used to publish the target code and complete the automated deployment of the target code when the debugging of the target code is completed.

[0063] This application also provides a learning software development device, which is a physical node device. The learning software development device includes: a memory, a processor, and a program of the learning software development method stored in the memory and executable on the processor. When the program of the learning software development method is executed by the processor, it can implement the steps of the learning software development method as described above.

[0064] This application also provides a storage medium storing a program that implements the above-described learning software development method. When the program is executed by a processor, it implements the steps of the learning software development method as described above.

[0065] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the above-described software development method.

[0066] This application provides a learning software development method, apparatus, device, and storage medium. Compared with the prior art, which requires multiple teams to independently adapt and develop their own learning software construction systems, resulting in low learning software construction efficiency, this application, upon detecting a learning software development instruction, determines the associated reasoning service of the learning software to be developed and determines the learning software parameters of the learning software to be developed; generates a first associated code that calls the associated reasoning service and generates a second associated code that corresponds to the parameter specification of the learning software parameters; and, based on the first associated code and the second associated code, determines the target code of the learning software to be developed to complete the development of the learning software. In this application, a unified learning software development platform is constructed. On this platform, as soon as a learning software development instruction is detected, the associated reasoning service of the learning software to be developed can be determined, and the learning software parameters of the learning software to be developed can be determined. Then, a first associated code that calls the associated reasoning service is automatically generated, and a second associated code that corresponds to the parameter specification of the learning software parameters is generated. Based on the first associated code and the second associated code, the target code of the learning software to be developed is automatically determined. That is, in this embodiment, the automatic generation of learning software code is realized, which reduces a lot of coding work for the construction of the final learning software code and improves the development efficiency of learning software. Attached Figure Description

[0067] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.

[0068] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0069] Figure 1 This is a flowchart illustrating the first embodiment of the learning material development method of this application;

[0070] Figure 2 This is a detailed flowchart illustrating step S20 in the software development method of this application.

[0071] Figure 3 This is a schematic diagram of the device structure of the hardware operating environment involved in the embodiments of this application.

[0072] The purpose, features, and advantages of this application will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation

[0073] It should be understood that the specific embodiments described herein are merely illustrative of this application and are not intended to limit this application.

[0074] This application provides a learning software development method. In the first embodiment of the learning software development method of this application, refer to... Figure 1 The learning software development method includes:

[0075] Step S10: When a learning software development instruction is detected, determine the associated reasoning service of the learning software to be developed, and determine the learning software parameters of the learning software to be developed;

[0076] Step S20: Generate the first association code that calls the association reasoning service, and generate the second association code that corresponds to the parameter reduction of the learning material parameters;

[0077] Step S30: Based on the first associated code and the second associated code, determine the target code of the learning software to be developed, so as to complete the development of the learning software.

[0078] The specific steps are as follows:

[0079] Step S10: When a learning software development instruction is detected, determine the associated reasoning service of the learning software to be developed, and determine the learning software parameters of the learning software to be developed;

[0080] In this embodiment, it should be noted that the learning software development method belongs to the learning software development system, and the learning software development system belongs to the learning software development equipment.

[0081] The concept of learnware was proposed by Professor Zhou Zhihua of Nanjing University. Learnware = Model + Specification. By developing learnware, the problem of repetitive development of scenario services can be solved. That is, many scenarios are generally common. After the learnware is developed, scenario reuse can be achieved by configuring specification parameters, so as to avoid a lot of repetitive development work.

[0082] In this embodiment, the learning materials development system realizes the automatic generation of learning materials code. That is, the learning materials development system provides corresponding process specifications or process frameworks for the generation of learning materials code. Users only need to set the corresponding information, and then trigger the filling in of the corresponding code in the corresponding framework.

[0083] In this embodiment, the learning software development system has a visual interface on the whole. On this visual interface, users can set information. After the settings are completed, the corresponding completed learning software can be output through the learning software development system. That is, in this embodiment, the construction of learning software can be completed quickly and conveniently through the learning software development system. In order to complete the construction of learning software quickly and conveniently, the learning software development system needs to pre-set functional modules. The learning software development system mainly includes three modules: inference service association module, parameter definition module, and learning software code generation module.

[0084] Specifically, the inference service association module is mainly used to define learning scenarios and what AI inference services are needed to implement the learning.

[0085] In this embodiment, it should be noted that the inference service association module defines the AI ​​capability implementation scenario on which the learning material is based. That is, the inference service association module associates with the corresponding AI inference service. After associating with the AI ​​inference service, the corresponding inference service interface can be determined, providing the basic conditions for the generation of the learning material code.

[0086] Specifically, for example, if the learning material is in an image recognition scenario, the inference service association module can associate it with the AI ​​inference service corresponding to the image recognition scenario. Based on the pre-set calling logic in the learning material development system, the first association code for calling the associated inference service (determined by the code generation module) can be automatically constructed. Then, based on the first association code, the corresponding image recognition result can be output through the image recognition model service in the AI ​​inference service.

[0087] In this embodiment, the parameter definition module is mainly used to configure the parameters required for learning software development, and provides a visual definition of the configuration parameters, as well as the corresponding parameter calculations.

[0088] In this embodiment, specifically, the parameter definition module also implements the conditions on which the parameters in the learning material are specified, that is, the parameter specification is determined. After the parameter specification is determined, the second association code corresponding to the parameter specification of the learning material parameter can be automatically generated (determined by the code generation module) for the parameter type and the parameter specification.

[0089] In this embodiment, it should be noted that the learning material development system has a built-in list of commonly used parameters to facilitate parameter definition, thereby effectively improving the efficiency of generating learning material code. In this embodiment, after the parameter definition is completed, it can also be saved so that the same parameters can be automatically filtered in the future.

[0090] In this embodiment, the learning code generation module can quickly generate learning code based on the information determined in the inference service association module and the parameter definition module. After the learning code is generated, it can be modified and debugged based on the JupyterNotebook application in the learning development system.

[0091] In this embodiment, it should be noted that the learning material code generation module is the core of the learning material development system. It realizes the automatic generation of learning material code and provides corresponding specifications for some custom code. You only need to fill in the corresponding code in the corresponding framework.

[0092] When a learning tool development instruction is detected, the associated reasoning service of the learning tool to be developed is determined, and the learning tool parameters of the learning tool to be developed are determined.

[0093] The methods for determining the associative reasoning service for the learning materials to be developed include:

[0094] Method 1: When a learning tool development instruction is detected, the related reasoning service of the learning tool to be developed is directly extracted from the instruction;

[0095] Method 2: When a learning tool development instruction is detected, the scene information of the learning tool to be developed is directly extracted from the instruction, and the related reasoning service of the learning tool to be developed is directly obtained based on the scene information.

[0096] In this embodiment, it should be noted that once the association reasoning service is determined, the corresponding calling code for calling the association reasoning service can be automatically generated.

[0097] In this embodiment, the learning software parameters to be developed are determined. The method for determining the learning software parameters to be developed can be as follows:

[0098] Method 1: Obtain the learning materials parameters directly selected by the user through the visual interface;

[0099] Method 2: Determine the learning parameters of the learning software to be developed based on the output parameters obtained from the association reasoning service.

[0100] Step S20: Generate the first association code that calls the association reasoning service, and generate the second association code that corresponds to the parameter reduction of the learning material parameters;

[0101] In this embodiment, after obtaining the association reasoning service, a first association code for calling the association reasoning service is generated, and a second association code for the parameter specification corresponding to the learning material parameters is generated.

[0102] In this embodiment, to generate the first associated code that calls the associated reasoning service, a first processing logic (response logic data) needs to be built into the learning material development system. This first processing logic is used to trigger the step of generating the first associated code that calls the associated reasoning service after detecting and determining the associated reasoning service of the learning material to be developed.

[0103] In this embodiment, after generating the first association code that calls the association reasoning service, the output parameters are determined based on the first association code that is called.

[0104] In this embodiment, a second association code corresponding to the parameter specification of the learning material parameters (including output parameters) is also generated.

[0105] In this embodiment, to generate the second associated code corresponding to the parameter specification of the learning material parameters, a second processing logic (response logic data) needs to be built into the learning material development system. This second processing logic is used to trigger the step of generating the second associated code corresponding to the parameter specification of the learning material parameters after the first associated code is generated.

[0106] In this embodiment, refer to Figure 2 The steps of generating the first association code that calls the association inference service and generating the second association code that corresponds to the parameter reduction of the learning materials parameters include:

[0107] Step S21: Load the preset header class library and obtain the response logic data of the preset interface based on the preset header class library;

[0108] In this embodiment, a preset header library is automatically loaded. Specifically, in addition to automatically loading the preset header library, other libraries can be loaded automatically. That is, other libraries can be loaded as needed during software development.

[0109] In this embodiment, the preset header class library is a collection of classes, specifically, a collection of preset commonly used classes.

[0110] In this embodiment, the response logic data of the preset interface is obtained based on the preset header class library. The response logic data of the preset interface may be parameter receiving logic data, response message conversion logic data, etc., and no specific limitation is made here.

[0111] In this embodiment, it should be noted that, firstly, a preset interface (OpenAPI) is determined. The preset interface can be allocated from a set of preset interfaces. After determining the preset interface, the response logic data of the preset interface is determined. The response logic data can be written by the user on the learning software development system. That is, the learning software developer (user) writes the response logic data (message format and logic) of the learning software OpenAPI according to their own business needs. Therefore, after calling the learning software OpenAPI, the response is performed according to the definition (response logic data) (including parameter response, message format parsing, etc.).

[0112] Specifically, in this embodiment, it should be noted that, in addition to the initial response logic, the response logic data also requires the software developer to write further response logic according to the business return requirements, that is, based on the return results.

[0113] Step S22: Based on the response logic data, generate the first association code that calls the association reasoning service, load the association reasoning service, and obtain the output parameters;

[0114] In this embodiment, based on the response logic data (where triggering the loading of the related reasoning service is also a type of response logic), the first related code for calling the related reasoning service is generated (the code for calling the model reasoning service is automatically generated).

[0115] In this embodiment, after generating the first association code that calls the association reasoning service, the association reasoning service is also loaded to obtain output parameters. The logic of loading the association reasoning service after generating the first association code that calls the association reasoning service is also preset in the response logic data, thereby obtaining the output parameters.

[0116] In this embodiment, the associated inference service is loaded and the output results (output parameters) of the inference service are obtained. Loading the associated inference service mainly refers to automatically loading the associated model inference service, such as automatically obtaining the token service of the AI ​​inference model, automatically parsing the AI ​​model inference service, and automatically calling the AI ​​model inference service.

[0117] Step S23: Based on the response logic data, generate the second association code of the output parameters and the parameter specification corresponding to the learning device parameters.

[0118] In this embodiment, based on the response logic data, a second association code for the parameter specification corresponding to the output parameter and the learning component parameter is generated. Specifically, if there are no other parameters after the output parameter, a second association code for the parameter specification corresponding to the output parameter is generated.

[0119] In this embodiment, based on the response logic data, the output parameters and the parameter specifications corresponding to the learning materials parameters are determined. That is, in this embodiment, the corresponding parameter specifications can be user-defined. For the parameter specifications, the learning materials development system performs a corresponding response, which requires calling the corresponding components. In other words, in this embodiment, after determining the output parameters and the parameter specifications corresponding to the learning materials parameters, an automatic code construction algorithm (which requires a large number of pre-built components) is used to automatically generate the processing logic for the parameters corresponding to the learning materials, such as calculation, mean, and variance processing logic. Additionally, in this embodiment, it is necessary to supplement the business logic processing required after the specifications are met or not met, such as sending SMS notifications and handling exceptions.

[0120] The step of generating the output parameters and the second association code corresponding to the parameter reduction of the learning materials based on the response logic data includes:

[0121] Step A1: Obtain the parameter values ​​corresponding to each of the output parameters and each of the learning device parameters, and obtain the parameter types corresponding to each of the output parameters and each of the learning device parameters;

[0122] In this embodiment, the second association code corresponding to the parameter specifications of the output parameters and learning components is specifically explained. Specifically, the parameter values ​​corresponding to each output parameter and each learning component parameter are first obtained, and the parameter types corresponding to each output parameter and each learning component parameter are also obtained. The purpose of obtaining the parameter values ​​and parameter types is to find the matching components and then automatically generate the second association code.

[0123] Step A2: Based on the response logic data, the parameter values, and the parameter types, generate the second association code for the output parameters and the parameter specifications corresponding to the learning device parameters.

[0124] In this embodiment, based on the response logic data, the parameter values, and the parameter types, a second association code is generated that corresponds to the output parameters and the parameter specifications of the learning components.

[0125] The step of generating the output parameters and the second association code corresponding to the parameter specification of the learning materials parameters based on the response logic data, the parameter values, and the parameter types includes:

[0126] Step B1: Calculate the component matching degree based on the response logic data, the parameter values, and the parameter types;

[0127] In this embodiment, based on the response logic data, the parameter values, and the parameter types, the component matching degree is calculated to set the node matching degree NM. Specifically, if the input matching degree is IM, the output matching degree is OM, and the functional matching degree is *FM, then the component matching degree calculation formula is: NM = BF(IM, OM) * FM, where,

[0128]

[0129] Step B2: Based on the component matching degree, determine the candidate component set to construct the target component tree;

[0130] In this embodiment, based on the component matching degree, specifically, based on the matching degree level, the component with the highest matching degree corresponding to each parameter is selected, and then the candidate component set is determined by the components with the highest matching degree, thereby constructing the target component tree.

[0131] Step B3: Determine the program flowchart of the target component tree;

[0132] In this embodiment, the program flowchart of the target component tree is determined by incorporating the tree nodes in the target component tree into the program execution sequence steps, thereby obtaining the program flowchart.

[0133] Step B4: Based on the program flowchart, generate the second association code for the parameter specification corresponding to the output parameters and the learning parameters.

[0134] In this embodiment, based on the program flowchart, a second association code is generated to specify the output parameters and the corresponding parameter specifications of the learning materials.

[0135] Step S30: Based on the first associated code and the second associated code, determine the target code of the learning software to be developed, so as to complete the development of the learning software.

[0136] In this embodiment, the target code of the learning software to be developed is determined based on the first associated code and the second associated code to complete the development of the learning software. That is, templates for the first associated code and the second associated code are defined, and a component library is introduced. The components are automatically matched according to the code automatic construction algorithm, realizing the automatic production of learning software code and reducing a lot of coding work for the construction of the final learning software code.

[0137] After the step of determining the target code of the learning software to be developed based on the first associated code and the second associated code to complete the development of the learning software, the method includes:

[0138] Step S40: Debug the target code online;

[0139] Step S50: If the target code debugging is completed, release the target code and complete the automated deployment of the target code.

[0140] In this embodiment, after the learning software to be developed is completed, the target code can be debugged online directly on the learning software development system. Specifically, the target code is debugged online in the Jupyter Notebook of the learning software development system. After the target code is debugged, the target code is published and the automated deployment of the target code is completed. That is, the executable code can be automatically published as a mirror and deployed automatically to improve development efficiency.

[0141] This application provides a learning software development method, apparatus, device, and storage medium. Compared with the prior art, which requires multiple teams to independently adapt and develop their own learning software construction systems, resulting in low learning software construction efficiency, this application, upon detecting a learning software development instruction, determines the associated reasoning service of the learning software to be developed and determines the learning software parameters of the learning software to be developed; generates a first associated code that calls the associated reasoning service and generates a second associated code that corresponds to the parameter specification of the learning software parameters; and, based on the first associated code and the second associated code, determines the target code of the learning software to be developed to complete the development of the learning software. In this application, a unified learning software development platform is constructed. On this platform, as soon as a learning software development instruction is detected, the associated reasoning service of the learning software to be developed can be determined, and the learning software parameters of the learning software to be developed can be determined. Then, a first associated code that calls the associated reasoning service is automatically generated, and a second associated code that corresponds to the parameter specification of the learning software parameters is generated. Based on the first associated code and the second associated code, the target code of the learning software to be developed is automatically determined. That is, in this embodiment, the automatic generation of learning software code is realized, which reduces a lot of coding work for the construction of the final learning software code and improves the development efficiency of learning software.

[0142] Furthermore, based on the first embodiment of this application, another embodiment of this application is provided. In this embodiment, the step of determining a candidate component set based on the component matching degree to construct a target component tree includes:

[0143] Step C1: Determine the candidate component set based on the component matching degree;

[0144] Step C2: Obtain the output parameters and the parameter input values ​​corresponding to each of the learning components. Based on the parameter input values, select an initial component tree from the candidate component set whose first component input value is the same as the parameter input value.

[0145] In this embodiment, the output parameters and the parameter input values ​​corresponding to each of the learning components are obtained. Based on the parameter input values, an initial component tree with the same first component input value as the parameter input value is selected from the candidate component set. Specifically, the component tree is set as T, the candidate component set is N, the interface input parameter set is II, the interface output parameter set is IO, the scene input parameter set is SI, the input parameter I(i) of component i, and the output parameter O(i) of component i are set.

[0146] In this embodiment, an initial component tree is selected from the candidate component set whose first component input value is the same as the parameter input value. That is, after the parameter input value is determined, components with the same input (i.e., the same parameter input value) are selected from the component set. These components constitute the initial component tree, where IT = {i,j|i∈N,j∈SI,I(i)∈II,I(j)∈SI}.

[0147] Step C3: Determine the remaining component set. Based on the output values ​​of all components in the initial component tree, select a lower-level component tree from the remaining component set whose second component input value is the same as the component output value.

[0148] Based on the initial component tree and candidate component set, determine the remaining component set (divided into the first remaining component set, the second remaining component set, etc. according to the number of iterations). Based on all the outputs (component output values) in the initial component tree, retrieve the components with the same input as the components in the first remaining component set (i.e., the input in the first remaining component set is the same as the corresponding output in the initial component tree). These components form the lower-level component tree. For the output of the lower-level component tree, continue to retrieve the components with the same input as the components in the second remaining component set, that is, recursively generate the lower-level component tree.

[0149]

[0150] Step C4 returns to the step of determining the remaining component set until the component output value of the last level component tree does not have a matching component input value. The component tree construction ends and the target component tree is obtained.

[0151] Returning to the steps for determining the remaining component set, the component tree construction ends when the component output value of the last-level component tree does not match the same component input value, and the target component tree is obtained. That is, for the output of the lower-level component tree, continue to search for components that have the same component input as the remaining component set, and recursively generate the lower-level component tree. The component tree construction ends when the output of the last-level component tree does not have a matching set of input components. T = {IT ∪ NTi, 0 < i < n, where n is the level of the tree}

[0152] In this embodiment, a candidate component set is determined based on the component matching degree; the output parameters and the corresponding parameter input values ​​for each learning component parameter are obtained; based on the parameter input values, an initial component tree with the same first component input value as the parameter input value is selected from the candidate component set; a remaining component set is determined; based on all component output values ​​in the initial component tree, a lower-level component tree with the same second component input value as the component output value is selected from the remaining component set; the process of determining the remaining component set is repeated until the component output value of the last-level component tree has no matching component input value, at which point the component tree construction ends, and the target component tree is obtained. In this embodiment, the target component tree is accurately obtained, laying the foundation for the automatic development of learning component code.

[0153] Furthermore, based on the first and second embodiments of this application, another embodiment of this application is provided. In this embodiment, the step of determining the flowchart of the target component tree includes:

[0154] Step D1: Determine the starting node in the preset program flowchart, and scan each level of the target component tree in sequence;

[0155] Step D2: If the scanned tree node is a preset ordinary node, add the preset ordinary node as a sequential node to the preset program flowchart.

[0156] Step D3: If the scanned tree node is a branch node, add the branch node to the branch program diagram in the program flowchart.

[0157] Step D4: When all nodes of the component tree have been scanned, the flowchart construction is completed, and the program flowchart of the target component tree is obtained.

[0158] In this embodiment, the starting tree node in the target component tree is first used as the starting node (current node) in the preset program flowchart. Each level of the target component tree is scanned sequentially. If the scanned tree node is a preset ordinary node, it is added as a sequential node to the preset program flowchart (the next node corresponding to the current node). The next node corresponding to the starting node is then used as the current node. If the current node of the component tree is a branch node, it is added to the branch program flowchart. When all nodes of the component tree have been scanned, the flowchart construction is completed, and the program flowchart of the target component tree is obtained.

[0159] In this embodiment, a starting node in a preset program flowchart is determined, and each level of the target component tree is scanned sequentially. If the scanned tree node is a preset ordinary node, it is added as a sequential node to the preset program flowchart. If the scanned tree node is a branch node, it is added to the branch program flowchart. When all nodes in the component tree have been scanned, the flowchart construction is complete, and the program flowchart of the target component tree is obtained. In this embodiment, the program flowchart is automatically constructed, laying the foundation for the automatic construction of target code.

[0160] Reference Figure 3 , Figure 3 This is a schematic diagram of the device structure of the hardware operating environment involved in the embodiments of this application.

[0161] like Figure 3 As shown, the learning device development equipment may include: a processor 1001, such as a CPU, a memory 1005, and a communication bus 1002. The communication bus 1002 is used to establish communication between the processor 1001 and the memory 1005. The memory 1005 may be a high-speed RAM or a stable, non-volatile memory, such as a disk storage device. Optionally, the memory 1005 may also be a storage device independent of the aforementioned processor 1001.

[0162] Optionally, the learning device development equipment may also include a rectangular user interface, a network interface, a camera, RF (Radio Frequency) circuitry, sensors, audio circuitry, a WiFi module, etc. The rectangular user interface may include a display screen and an input submodule such as a keyboard. Optionally, the rectangular user interface may also include standard wired or wireless interfaces. The network interface may optionally include standard wired or wireless interfaces (such as a Wi-Fi interface).

[0163] Those skilled in the art will understand that Figure 3 The learning device structure shown does not constitute a limitation on the learning device and may include more or fewer components than shown, or combine certain components, or have different component arrangements.

[0164] like Figure 3 As shown, the memory 1005, serving as a storage medium, may include an operating system, a network communication module, and learning software development programs. The operating system is a program that manages and controls the hardware and software resources of the learning software development device, supporting the operation of the learning software development programs and other software and / or programs. The network communication module is used to enable communication between the various components within the memory 1005, as well as communication with other hardware and software in the learning software development system.

[0165] exist Figure 3 In the learning software development device shown, the processor 1001 is used to execute the learning software development program stored in the memory 1005 to implement the steps of the learning software development method described above.

[0166] The specific implementation method of the learning software development equipment in this application is basically the same as the embodiments of the learning software development method described above, and will not be repeated here.

[0167] This application also provides a learning software development apparatus, the learning software development apparatus comprising:

[0168] The learning software development device includes:

[0169] The detection module is used to determine the associated reasoning service of the learning software to be developed and the learning software parameters of the learning software to be developed when a learning software development instruction is detected.

[0170] The generation module is used to generate the first association code that calls the association reasoning service, and to generate the second association code that corresponds to the parameter reduction of the learning material parameters;

[0171] The determination module is used to determine the target code of the learning software to be developed based on the first associated code and the second associated code, so as to complete the development of the learning software.

[0172] Optionally, the generation module includes:

[0173] The loading unit is used to load a preset header library and obtain the response logic data of a preset interface based on the preset header library.

[0174] The first generation unit is used to generate first association code that calls the association reasoning service based on the response logic data, and load the association reasoning service to obtain output parameters;

[0175] The second generation unit is used to generate the second association code of the output parameters and the parameter specification corresponding to the learning device parameters based on the response logic data.

[0176] Optionally, the second generation unit includes:

[0177] The acquisition subunit is used to acquire the parameter values ​​corresponding to each of the output parameters and each of the learning device parameters, and to acquire the parameter types corresponding to each of the output parameters and each of the learning device parameters.

[0178] A generation subunit is used to generate the output parameters and the second association code corresponding to the parameter specification of the learning device parameters based on the response logic data, the parameter values, and the parameter types.

[0179] Optionally, the generating subunit is used to implement:

[0180] Calculate the component matching degree based on the response logic data, the parameter values, and the parameter types;

[0181] Based on the component matching degree, a set of candidate components is determined to construct a target component tree;

[0182] The flowchart for determining the target component tree;

[0183] Based on the program flowchart, a second association code is generated to specify the output parameters and the corresponding parameter specifications of the learning materials.

[0184] Optionally, the generating subunit is further configured to implement:

[0185] Based on the component matching degree, a set of candidate components is determined;

[0186] Obtain the output parameters and the parameter input values ​​corresponding to each of the learning components. Based on the parameter input values, select an initial component tree from the candidate component set whose first component input value is the same as the parameter input value.

[0187] Determine the remaining component set, and based on the output values ​​of all components in the initial component tree, select a lower-level component tree from the remaining component set whose second component input value is the same as the component output value;

[0188] Return to the steps for determining the remaining component set until the component output value of the last level component tree does not have a matching component input value. At this point, the component tree construction ends and the target component tree is obtained.

[0189] Optionally, the generating subunit is further configured to implement:

[0190] Determine the starting node in the preset program flowchart, and scan each level of the target component tree nodes sequentially;

[0191] If the scanned tree node is a preset ordinary node, add the preset ordinary node as a sequential node to the preset program flowchart.

[0192] If the scanned tree node is a branch node, add the branch node to the branch program diagram in the program flowchart.

[0193] Once all nodes in the component tree have been scanned, the flowchart construction is complete, and the program flowchart of the target component tree is obtained.

[0194] Optionally, the learning software development apparatus further includes:

[0195] A debugging module is used for online debugging of the target code;

[0196] The publishing module is used to publish the target code and complete the automated deployment of the target code when the debugging of the target code is completed.

[0197] The specific implementation of the storage medium in this application is basically the same as the embodiments of the above-mentioned learning device development method, and will not be repeated here.

[0198] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the above-described software development method.

[0199] The specific implementation method of the computer program product of this application is basically the same as the embodiments of the above-mentioned software development method, and will not be repeated here.

[0200] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0201] The sequence numbers of the above embodiments of the present invention are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.

[0202] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of the present invention.

[0203] The above are merely preferred embodiments of the present invention and do not limit the patent scope of the present invention. Any equivalent structural or procedural transformations made based on the content of the present invention's specification and drawings, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of the present invention.

Claims

1. A learning software development method, characterized in that, The learning software development method includes: When a learning software development instruction is detected, the associated reasoning service of the learning software to be developed is determined, and the learning software parameters of the learning software to be developed are determined. Generate a first association code that calls the association reasoning service, and generate a second association code that reduces the parameters corresponding to the learning materials parameters; Based on the first associated code and the second associated code, the target code of the learning software to be developed is determined in order to complete the development of the learning software; The steps of generating the first association code that invokes the association inference service and generating the second association code that corresponds to the parameter reduction of the learning materials parameters include: Load a preset header library and obtain the response logic data of a preset interface based on the preset header library; Based on the response logic data, a first association code is generated to call the association reasoning service, and the association reasoning service is loaded to obtain output parameters; Based on the response logic data, a second association code is generated that corresponds to the output parameters and the parameter specification of the learning materials.

2. The learning software development method as described in claim 1, characterized in that, The step of generating the output parameters and the second association code corresponding to the parameter reduction of the learning device parameters based on the response logic data includes: Obtain the parameter values ​​corresponding to each of the output parameters and each of the learning device parameters, and obtain the parameter types corresponding to each of the output parameters and each of the learning device parameters; Based on the response logic data, the parameter values, and the parameter types, a second association code is generated that corresponds to the output parameters and the parameter specifications of the learning materials.

3. The learning software development method as described in claim 2, characterized in that, The step of generating the output parameters and the second association code corresponding to the parameter specification of the learning materials parameters based on the response logic data, the parameter values, and the parameter types includes: Calculate the component matching degree based on the response logic data, the parameter values, and the parameter types; Based on the component matching degree, a set of candidate components is determined to construct a target component tree; The flowchart for determining the target component tree; Based on the program flowchart, a second association code is generated to specify the output parameters and the corresponding parameter specifications of the learning materials.

4. The learning software development method as described in claim 3, characterized in that, The step of determining a candidate component set based on the component matching degree to construct a target component tree includes: Based on the component matching degree, a set of candidate components is determined; Obtain the output parameters and the parameter input values ​​corresponding to each of the learning components. Based on the parameter input values, select an initial component tree from the candidate component set whose first component input value is the same as the parameter input value. Determine the remaining component set, and based on the output values ​​of all components in the initial component tree, select a lower-level component tree from the remaining component set whose second component input value is the same as the component output value; Return to the steps for determining the remaining component set until the component output value of the last level component tree does not have a matching component input value. At this point, the component tree construction ends and the target component tree is obtained.

5. The learning software development method as described in claim 3, characterized in that, The step of determining the program flowchart of the target component tree includes: Determine the starting node in the preset program flowchart, and scan each level of the target component tree nodes sequentially; If the scanned tree node is a preset ordinary node, add the preset ordinary node as a sequential node to the preset program flowchart. If the scanned tree node is a branch node, add the branch node to the branch program diagram in the program flowchart. Once all nodes in the component tree have been scanned, the flowchart construction is complete, and the program flowchart of the target component tree is obtained.

6. The learning software development method as described in claim 1, characterized in that, After the step of determining the target code of the learning software to be developed based on the first associated code and the second associated code to complete the development of the learning software, the method includes: Debug the target code online; Once the target code has been debugged, the target code is released and its automated deployment is completed.

7. A learning software development device, characterized in that, The learning software development device includes: The detection module is used to determine the associated reasoning service of the learning software to be developed and the learning software parameters of the learning software to be developed when a learning software development instruction is detected. The generation module is used to generate the first association code that calls the association reasoning service, and to generate the second association code that corresponds to the parameter reduction of the learning material parameters; The determination module is used to determine the target code of the learning software to be developed based on the first associated code and the second associated code, so as to complete the development of the learning software to be developed; The generation module is also used to implement: Load a preset header library and obtain the response logic data of a preset interface based on the preset header library; Based on the response logic data, a first association code is generated to call the association reasoning service, and the association reasoning service is loaded to obtain output parameters; Based on the response logic data, a second association code is generated that corresponds to the output parameters and the parameter specification of the learning materials.

8. A learning software development device, characterized in that, The learning software development device includes: a memory, a processor, and a program stored in the memory for implementing the learning software development method. The memory is used to store programs that implement the learning software development method; The processor is configured to execute a program that implements the learning software development method, thereby implementing the steps of the learning software development method as described in any one of claims 1 to 6.

9. A storage medium, characterized in that, The storage medium stores a program for implementing the learning software development method, which is executed by a processor to implement the steps of the learning software development method as described in any one of claims 1 to 6.

Citation Information

Patent Citations

  • Code generation method and device, electronic equipment and storage medium

    CN111782181A