WO2023007791A1 - Système de génération automatique de code de programme - Google Patents

Système de génération automatique de code de programme Download PDF

Info

Publication number
WO2023007791A1
WO2023007791A1 PCT/JP2022/008237 JP2022008237W WO2023007791A1 WO 2023007791 A1 WO2023007791 A1 WO 2023007791A1 JP 2022008237 W JP2022008237 W JP 2022008237W WO 2023007791 A1 WO2023007791 A1 WO 2023007791A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
program code
code
context
text data
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.)
Ceased
Application number
PCT/JP2022/008237
Other languages
English (en)
Japanese (ja)
Inventor
基光 白川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Soppra Digital Transformation
Soppra Digital Transformation Corp
Original Assignee
Soppra Digital Transformation
Soppra Digital Transformation Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Soppra Digital Transformation, Soppra Digital Transformation Corp filed Critical Soppra Digital Transformation
Publication of WO2023007791A1 publication Critical patent/WO2023007791A1/fr
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven

Definitions

  • the present invention relates to an automatic program code generation system that fundamentally changes the mechanism of program development.
  • Patent Document 1 an automatic program code generation system has been proposed that is capable of automatically generating program code extremely easily and without manual intervention.
  • an instruction action and a case component related to the instruction action are extracted from text data based on acquired speech, and artificial intelligence is used to obtain an optimal execution action instruction and execution action. Explore the target.
  • the program code is generated by substituting the searched execution operation instruction and the execution operation target into the basic syntax of the program code.
  • the present invention has been devised in view of the above-described problems, and its object is to automatically execute business processing in a computer system. It is possible to automatically generate short, smooth and efficient program code that reflects the knowledge and experience of experienced IT engineers. To provide a program code automatic generation system that can fundamentally change the system and prevent the drastic impact on society of a chronic shortage of SE engineers that can occur in the near future.
  • a program code automatic generation system includes text data acquisition means for acquiring text data from a document or conversational sentence, and context is extracted by performing natural language analysis on the text data acquired by the text data acquisition means. a program code database in which one or more program codes are associated with each context; and a program grammar analysis database in which programming language grammars are recorded. Code assigning means for assigning one or more program codes according to the extracted context, and program automation in which streamlined program structuring patterns are associated with program codes or processing operations to be realized by the program codes. A code efficiency improvement means for referring to the generated knowledge database and rewriting the program code assigned by the code assignment means into an efficient program.
  • a program code automatic generation system includes text data acquisition means for acquiring text data from a document or conversational sentence, and natural language analysis of the text data acquired by the text data acquisition means to extract context.
  • a program code database in which one or more program codes are stored in association with each context; a program grammar analysis database in which grammars of programming languages are recorded;
  • a code assigning means for referring to a program automatically generated knowledge database associated with the streamlined program and generating one or more programs according to the context extracted by the context extracting means.
  • a program code automatic generation system is characterized in that, in the first invention or the second invention, the context extraction means extracts a word, an instruction action, an instruction action, and words related thereto by performing the natural language analysis.
  • the context is extracted by extracting any one of them.
  • a program code automatic generation system is the program code automatic generation system according to the third aspect of the invention, wherein the context extracting means stores a word, a pointing action, a pointing action, and a word related thereto in association with a meaning.
  • the context is extracted by referring to a semantic conversion database and searching for meanings associated with any of the newly extracted words, pointing actions, pointing actions, and words related thereto.
  • a program code automatic generation system is the program code automatic generation system according to the first invention or the second invention, wherein the code allocation means refers to the program grammar analysis database and analyzes the grammar of the program to be generated to determine whether the program is correct or not. is characterized by checking
  • a program code automatic generation system is, in the first invention, wherein the code efficiency means refers to an automatic program generation knowledge database in which the streamlined program is associated with the program code, and the code It is characterized by extracting the streamlined program related to the program code assigned by the assigning means and rewriting to this.
  • a program code automatic generation system is the first aspect, wherein the code efficiency improvement means converts the program code before the efficiency improvement to the efficient program for the processing operation to be realized by the program code.
  • the algorithm as the structured pattern associated with the processing operation to be realized by the program code assigned by the code assigning means, referring to the automatically generated program knowledge database associated with the algorithm for conversion as the structured pattern The rewriting is performed based on the above.
  • a program code automatic generation system is the third aspect, wherein the context extracting means is machine-learned using a word, an instruction action, an instruction action, and a word related thereto, and a meaning thereof as training data.
  • This model is characterized by using a model, referring to a semantic conversion database in which an input is a word, a pointing action, a pointing action, or a word dependent on this, and an output is a meaning.
  • a program code automatic generation system is the program code automatic generation system according to any one of the first invention to the eighth invention, wherein the code assigning means uses a model machine-learned using the context and the program code as teacher data, and converts the input into the context. and refers to a program code database whose output is a program code.
  • a program code automatic generation system is, in the first aspect, wherein the code efficiency improvement means teaches the program code or the processing operation to be realized by the program code and the structuring pattern of the streamlined program. It is characterized by using a machine-learned model as data, referring to an automatically generated program knowledge database in which the input is a program code or a processing operation to be realized by the program code, and the output is the structured pattern.
  • FIG. 2 is a diagram for explaining data stored in a semantic conversion database (DB);
  • FIG. FIG. 4 is a diagram for explaining data stored in a program code DB;
  • FIG. 4 is a diagram for explaining data stored in an automatic program generation knowledge DB;
  • FIG. 13 is another diagram for explaining data stored in the automatically generated program knowledge DB;
  • 4 is a flowchart for explaining an operation example of the program code automatic generation system to which the present invention is applied;
  • FIG. 10 is a diagram showing an example of using learning data by artificial intelligence for a semantic conversion DB;
  • FIG. 10 is a diagram showing an example of using learning data by artificial intelligence for a program code DB;
  • FIG. 10 is a diagram showing an example of using learning data by artificial intelligence for an automatically generated program knowledge DB;
  • FIG. 1 is a schematic diagram showing the overall configuration of a program code automatic generation system 100 according to this embodiment.
  • the automatic program code generation system 100 is not just a work assistance, but a system that fundamentally changes the mechanism of program development, and in the near future, it is possible to avoid the drastic impact on society of the chronic shortage of SE engineers.
  • the program code automatic generation system 100 automatically generates program codes for executing work, thereby performing various work processes (e.g., delivery of e-mail, collection of progress of workers, Various data processing such as file management, file transfer, etc.) can be automatically performed on a computer.
  • the automatic program code generation system 100 can set the automatic generation of the program code particularly by voice or text. It is also possible for users who use the software to manage business operations, etc., to easily realize automatic generation of program codes for causing computers to automatically perform various business processing.
  • the automatic program code generation system 100 includes an automatic program code generation device 1, and the user may use the automatic program code generation device 1.
  • the automatic program code generation system 100 may include, for example, a terminal 2 connected to the automatic program code generation device 1 via a communication network 4 , and the user may use the automatic program code generation device 1 via the terminal 2 .
  • the automatic program code generation system 100 includes, for example, a server 3 connected to the automatic program code generation device 1 via a communication network 4, and a user can exchange various information with the server 3 via the automatic program code generation device 1 or the terminal 2. Each means may be realized by transmission and reception of .
  • Program code automatic generation device 1 Known electronic devices such as servers, personal computers, smart phones, tablet terminals, and wearable terminals are used as the program code automatic generation device 1 .
  • the program code automatic generation device 1 serves as the core of the cloud server.
  • the program code automatic generation device 1 is composed of a server, a personal computer (PC), a smartphone, a tablet terminal, a wearable terminal, and the like. Each function of the program code automatic generation device 1 is implemented by the CPU using the RAM as a work area and executing a program stored in a storage unit or the like. Also, part of each function may be controlled by artificial intelligence.
  • the artificial intelligence referred to herein may be based on any known artificial intelligence technology.
  • the program code automatic generation device 1 acquires text data from documents or conversational sentences.
  • the acquisition unit uses a known voice recognition technology (for example, voice recognition technology) to extract text data from the voice received via the microphone. Generate.
  • voice recognition technology for example, voice recognition technology
  • cloud-type speech recognition technology may be used as the speech recognition technology via the communication network 4, for example.
  • the program code automatic generation device 1 acquires the text data from a character string in the document written on a paper medium or an electronic medium.
  • a character string read from a paper medium may be recognized by OCR technology and converted into text data, or a character string contained in a document made of an electronic medium may be acquired as text data as it is.
  • the text data acquired by this automatic program code generation device 1 should be acquired from the data in the database in the automatic program code generation device 1, the e-mail sentences in the server 3, document files, etc. may
  • acquisition of this text data may be performed on the terminal 2 side in addition to the case where the program code automatic generation device 1 itself performs the acquisition.
  • the terminal 2 must be equipped with a voice recognition function for obtaining text data from voice received via a microphone, or an OCR function for recognizing character strings from paper media. be.
  • Terminal 2 for example, a known electronic device such as a server, PC, smart phone, tablet terminal, or wearable terminal is used.
  • the terminal 2 may have at least part of the same configuration and functions as the program code automatic generation device 1, for example.
  • a plurality of terminals 2 may be provided, and each terminal 2 may be connected to the program code automatic generation device 1 via a communication network 4 .
  • the communication network 4 is an Internet network or the like to which the program code automatic generation device 1 is connected via a communication circuit.
  • the communication network 4 may be composed of a so-called optical fiber communication network.
  • the communication network 4 may be realized by a known communication network such as a wireless communication network, in addition to the wired communication network.
  • ⁇ Server 3> Various information is stored in the server 3, for example.
  • the server 3 accumulates various kinds of information sent from the program code automatic generation device 1 or the like via the communication network 4, for example.
  • the server 3 may store, for example, the same information as the storage unit of the automatic program code generation device 1 , and transmit/receive various information to/from the automatic program code generation device 1 and the like via the communication network 4 . That is, in the automatic program code generation system 100 , the server 3 may be used instead of the automatic program code generation device 1 or the storage unit of the automatic program code generation device 1 .
  • a semantic conversion database (DB) 31 a program code database (DB) 32, a program grammar analysis database (DB) 33, and a program automatically generated knowledge database (DB) 34 are constructed in the server 3.
  • the semantic conversion database (DB) 31 stores meanings associated with words, pointing actions, pointing actions, and related words.
  • Words include nouns, noun phrases, adjectives, adverbs, and other words contained in text data that make up the constituent elements of any sentence, excluding verbs. Each of these words forms one intended action by being dependent on the indicated action.
  • the instruction action is a verb included in the text data. Dependence of words on this verb forms one intended action.
  • Meanings are associated with such words and instructive actions.
  • the meaning here indicates a semantic concept that is actually specified through words and pointing actions.
  • the meaning does not simply indicate the intention of conversation used in everyday life, but rather indicates a suitable meaning for determining the program code.
  • Such pointing actions, words, and meanings all constitute the context of the text data. That is, pointing actions, words, and meanings can be thought of as connected to the context of what the text data indicates.
  • the context is not limited to being first formed by the pointing action, the word, and the meaning, but may be formed by at least one of the pointing action, the word, and the meaning.
  • FIG. 2(b) shows the context in the text data "move data".
  • the word is “data” and the command action is "output”.
  • Various semantic concepts such as “copy (data)” and “move (data)” can be conceived.
  • the meaning conversion DB 31 all possible meanings are associated with this instruction action or word.
  • FIG. 2(c) also shows the context in the text data "Show me the output data", and various semantic concepts can be recollected for one combination of words and instruction actions. .
  • the meaning conversion DB 31 all possible meanings are associated with this instruction action or word.
  • words such as "communication line”, “screen”, “printer”, etc., which can narrow down the semantic concept are included, such words are not included. It is possible to narrow down the meaning associated with each word or instruction action that includes such phrases.
  • the program code DB 32 stores templates in which program codes are linked to each context.
  • the program code corresponding to the intended processing operation included in the context is linked.
  • the context consists of a simple instruction action or words only
  • a program code is associated with each instruction action or word, as shown in FIG. 3(a).
  • the context is assigned an instruction action, a word, or a combination of an instruction action and at least a word depending on the instruction action, and furthermore, a meaning is assigned
  • a program code is associated with each meaning.
  • the program code DB 32 can be said to be a database that can identify the program code necessary to execute the intended processing operation included in the context, if the context can be identified.
  • multiple contexts may exist for a single program code.
  • a plurality of contexts may be associated with the one program code.
  • Such a program code DB 32 pre-builds a template that associates context and program code for each programming language. Further, the program code DB 32 is in a state in which all instruction words (program codes) for each programming language are associated with contexts (instruction actions, words, meanings, etc.). As a result, since each program code of all program languages is associated with the context, it becomes possible to search for the program code corresponding to the context for all program languages.
  • the program grammar analysis DB 33 is a database for checking whether the program code generated by referring to the program code DB 32 in the program code automatic generation device 1 is grammatically correct.
  • the program grammar analysis DB 33 checks the spelling and description method of the generated program code, the arrangement of instruction words, whether or not necessary symbols and marks are inserted, whether or not arguments are correctly inserted, etc., to ensure that the program operates correctly. It contains the information you need.
  • the program grammar analysis DB 33 may store, for example, electronic data of grammars for each programming language. Program language grammars usually explain mainly how to write program code, but since the correct grammar of program code is described, by referring to this, the automatic program code generation device It is possible to confirm whether the program code generated in 1 is grammatically correct.
  • the program grammar analysis DB 33 may also record rule settings that enable correct/wrong judgment of grammars corresponding to individual program codes (instructions). In such a case, for example, rules that enable correctness judgment such as spelling, description order, parameter contents, etc. may be recorded in advance, and an algorithm for correctness judgment based on the rules may be recorded. good. Note that the program grammar analysis DB 33 may store in advance information on rules and regulations necessary for normal grammar checks performed by a compiler or an assembler, and correct grammar.
  • the automatically generated program knowledge DB 34 is a database in which program codes or processing operations to be realized by the program codes are associated with streamlined program structuring patterns.
  • This automatic program generation knowledge DB 34 is used by a skilled IT engineer who has a high level of skill to program code a processing operation to be implemented. Information about structuring or knowledge about is recorded.
  • rules (definitions) of such structured patterns are set by skilled IT engineers.
  • a skilled IT engineer when displaying a multi-line table repeatedly on the screen, a skilled IT engineer can structure the program code by determining the number of repetitions and the position and performing loop processing to make it more efficient. In many cases, a short program code is drafted.
  • a structured program can be coded by making rules (codes) from the experiences and technique samples of skilled IT engineers and registering them in the automatic program generation knowledge DB 34 .
  • this automatic program generation knowledge DB 34 structural patterns of a number of efficient programs basically converted into templates are registered.
  • the efficient program structuring pattern referred to here reflects the experience and knowledge of the skilled IT engineer described above.
  • FIG. 4 shows an example in which normal program code and streamlined program code are stored in the automatic program generation knowledge DB 34 when displaying sales data for each product on the screen.
  • processing operation P1 to be implemented is to display the unit price, actual sales quantity, sales, and total sales for each product name in tabular form, then the individual product For each, the unit price and volume sales are aggregated and displayed as an execution command. As a result, the number of lines in the program increases, and the entire program becomes long and redundant.
  • the sales tabulation and display processing are performed collectively rather than for each individual product, and the display processing is also structured based on common logic. , and the data for display is listed in item_list at the end.
  • the program indicated by the structured pattern P3 it is possible to display the sales data for each product as the processing operation P1 to be realized on the screen in the same manner as the program code P2.
  • this structured pattern P3 reflects the knowledge and experience of a skilled IT engineer, it is possible to efficiently implement the same processing operation P1 to be executed with a short number of lines. can be done.
  • structured patterns P3 are recorded for such processing operation P1 and program code P2 to be realized.
  • program codes P2 and corresponding structured patterns P3 are linked to each other and recorded for each of the diverse processing operations P1 to be implemented. .
  • the processing operation P1 to be realized and the program code P2 corresponding thereto are linked.
  • the structured patterns P3 are associated with each other is shown, it is not limited to this.
  • the structured pattern P3 is directly associated with it, and the general program code P2 may be omitted.
  • the general program code P2 and the structured pattern P3 may be associated with each other, and the processing operation P1 to be realized may not be associated with them.
  • an algorithm for converting a general program code P2 into a streamlined program P3 is associated as a structured pattern with the processing operation P1 to be realized by the program code. There may be.
  • the general program code P2 before efficiency improvement can be converted into the efficient program P3 by reading the algorithm associated with it. becomes possible.
  • Such an algorithm was acquired from a skilled IT engineer, such as various rules, habits, knowledge, know-how, patterns, etc., in transitioning from the general program code P2 to the efficient program P3, and was made into an algorithm. can be anything.
  • the automatic program generation knowledge DB 34 concepts such as various rules, habits, knowledge, know-how, and patterns for transitioning from the processing operation P1 to be realized to the streamlined program P3 are recorded.
  • concepts such as various rules, habits, knowledge, know-how, and patterns for transitioning from the processing operation P1 to be realized to the streamlined program P3 are recorded.
  • Conceptual information such as whether to create a program consisting of various procedures, what concept the program is drafted, etc. may be stored.
  • FIG. 5 shows a general program code P2 before efficiency improvement and a general program code P2 before efficiency improvement, in an example of executing a process corresponding to an error when an error occurs when the processing operation P1 to be realized performs various processes.
  • 2 shows the program P3 that has been processed.
  • the general program code P2 since error processing codes are written at many places in the program, the code is long and redundant as a whole.
  • structured patterns P3 may be recorded for processing operations P1 and program codes P2 to be implemented in the same manner. Further, if there is a processing operation P1 to be realized, the structured pattern P3 may be directly linked to it, or only the general program code P2 and the structured pattern P3 are linked to each other. may Further, an algorithm for converting a general program code P2 into a streamlined program P3 may be associated as a structured pattern with the processing operation P1 to be implemented.
  • structured patterns P3 are accumulated in this automatic program generation knowledge DB 34 for each processing operation P1 or program code P2 to be implemented.
  • multiple types of structured patterns P3 may be associated with one processing operation P1 or program code P2.
  • multiple types of processing operations P1 or program codes P2 may be associated with one structured pattern P3.
  • this automatic program generation knowledge DB 34 may be associated not only with typical program code patterns, but also with some non-fixed patterns.
  • step S11 After starting the processing operation as shown in FIG. 6, first, as shown in step S11, it is confirmed whether the processing has ended. This confirmation may be made by inquiring directly to the user via the automatic program code generation device 1 or the terminal 2 whether or not to end the processing, or by automatically inquiring whether or not the processing is ended on the automatic program code generation system 100 side. You may make it discriminate
  • step S12 move to step S12 and acquire text data from the document or conversational sentence.
  • text data is generated using a known voice recognition technology (for example, phoneme recognition technology).
  • text data converted into electronic data is acquired by the program code automatic generation device 1, it is used as it is.
  • the text data converted into electronic data may be, for example, e-mails, information bulletin boards used inside or outside the company, and postings on various sites as they are.
  • the terminal 2 or the program code automatic generation device 1 acquires text data at each timing of input by the user, and may acquire, for example, multiple pieces of text data accumulated over a certain period of time at once.
  • a known technique can be used to generate text data from non-text data input via the terminal 2 or the program code automatic generation device 1 .
  • the text data obtained in this manner is temporarily stored in the automatic program code generation device 1 .
  • step S13 the text data acquired in S12 and temporarily stored in the automatic program code generation device 1 is read, and the context is extracted by natural language analysis.
  • This natural language analysis is mainly performed by the program code automatic generation device 1 .
  • This natural language analysis may use any known natural language analysis technique, including morphological analysis and syntactic analysis.
  • the text data “move data” can be decomposed into a word consisting of "data” and an instruction action consisting of "move”.
  • the text “Show me the output data” can be decomposed into the word “output data” and the instruction action “show me.” That is, it is possible to extract the context from the text data through the combination of words that depend on the verb that is composed of the pointing action.
  • the context is not limited to the case of extracting a combination of an instruction action and a word related thereto, and the context may be extracted only from an instruction action or from only a word.
  • the text data consists of only verbs or only words such as "show me” or "file A”
  • only the pointing action or only the words are extracted.
  • step S13 the process proceeds to step S14, and if the analysis is correct, the process proceeds to step S15. On the other hand, if the natural language analysis could not be performed correctly, the process returns to step S11.
  • step S15 the semantic conversion DB 31 is referred to, and the meaning of the words to be executed by the program is redefined from the context extracted in step S13.
  • step S15 the context contained in the text data is converted into a suitable meaning for determining the program code.
  • the meaning conversion is performed by referring to the meaning conversion DB 31. For example, as shown in FIG. Convert to “read out”. Similarly, if the instruction action is “inquire” and the word is “screen”, the meaning is converted to "show data”. Also, as shown in FIGS. 2(b) and 2(c), when a plurality of meanings are associated with one instruction action and word, all of these associated meanings are searched. Alternatively, only some of these meanings may be searched. Also, when only pointing actions or only words are extracted in step S13, the meaning conversion DB 31 is similarly referred to, and the meaning associated with the pointing actions or words is extracted. In step S15, the meaning thus extracted is defined as the context of the text data, and the process proceeds to step S16.
  • step S15 the processing operation of redefining the meaning of the words to be executed by the program in step S15 is not essential and may be omitted.
  • the word, pointing action, pointing action, and related words extracted in step S13 are defined as the context of the text data, and the process proceeds to step S16.
  • step S16 it is determined whether or not the context of the text data has been correctly defined through the semantic conversion in step S15. As a result, when the context of the text data can be correctly defined, the process proceeds to step S17. On the other hand, if the context of the text data could not be defined correctly, the process returns to step S15. Note that step S16 may be omitted if step S15 itself is omitted, or if the processing operation for redefining the meaning of the words to be executed by the program is not performed in step S15.
  • program code is automatically generated based on the context of the text data defined in step S15.
  • the program code DB 32 stores program codes corresponding to contexts (words, pointing actions, pointing actions and related words and meanings) in association with each other. Therefore, in step S17, the program code DB 32 is referenced to specify the program code corresponding to the context of the text data defined in step S15. At this time, the specified program code itself may be the program code to be automatically generated, but depending on the context, some program codes may be combined, or variables, symbols, arguments, etc. good too.
  • the program code DB 32 is similarly referred to when performing this combination or appropriation.
  • the program code DB 32 is referenced and extracted, and the program code is automatically generated based on this. If the context of the text data defined in step S15 includes "screen”, assign "text xxxx” etc. as an instruction word corresponding to this by referring to the program code DB 32, and based on this, program code is generated. Generate automatically. Similarly, if the context of the text data defined in step S15 includes "file”, the instruction word corresponding to this is assigned with reference to the program code DB 32, such as "import xxxx file.write". Automatically generate program code based on
  • the text data is composed of such instruction actions and words. If so, it may be automatically generated by assigning program codes associated with a plurality of corresponding meanings. In such a case, multiple program codes are automatically generated for one text data.
  • the text data is "output the input data to the screen and USB”
  • the instruction action is “output” as a result of natural language analysis
  • the words are “input data”, “screen”, “USB ”, referring to the program code DB 32 shown in FIG.
  • the meaning of the word "output” is analyzed to determine and generate the program code.
  • the program code may be read from the program code DB 32 and automatically generated.
  • the program grammar analysis DB 33 is referenced to check whether the grammar of the automatically generated program code is correct or incorrect.
  • the program grammar analysis DB 33 may store grammar electronic data for each programming language. By referring to this, the correctness of the grammar of the automatically generated program code can be checked. can be done. In practice, this automatically generated program code is compared with the electronic data of the grammar book. If it is written in a way that deviates from the description of the book, it can be judged to be grammatically incorrect.
  • imperative words are continuous in the automatically generated program code, refer to the part where the grammar of the imperative word is described in the content of the grammar stored in the program grammar analysis DB 33.
  • the grammar book does not describe a series of imperatives in succession as a correct example, it can be determined that the grammar is grammatically incorrect.
  • the automatically generated program code does not contain """ after "print”
  • the grammar book does not include an example where the information to be displayed is enclosed in """ after "print” as a correct example, it can be judged to be grammatically incorrect. can.
  • the program grammar analysis DB 33 when the rule setting that enables correct/wrong judgment of the grammar corresponding to the individual program code (command word) is recorded, the correct/wrong judgment is performed based on the rule setting. good too. Also, if an algorithm for making a correct/wrong judgment based on the rule is recorded, the judgment may be made based on that algorithm.
  • a normal grammar check performed by a compiler or assembler may be performed.
  • the rules and regulations necessary for normal grammatical checks performed by the compiler and assembler, stored in the program grammar analysis DB 33, and information on correct grammar are referred to.
  • step S17 If it is determined that the program code is grammatically incorrect as a result of checking correctness in the program grammar analysis DB 33, correction may be made in step S17.
  • the program grammar analysis DB 33 may be referred to in the same way, the description of the correct grammar may be quoted, and the program code may be corrected based on this.
  • the correctness of the grammar may be checked by referring to the program grammar analysis DB 33 by analyzing the grammar of the program to be generated.
  • the program to be generated here includes program code generated based on the program code DB 32, but is not limited to this. Also includes streamlined programs. That is, the correctness of the grammar is checked by referring to the program grammar analysis DB 33, and the program code generated based on the program code DB 32 is rewritten with reference to the program automatically generated knowledge DB 34 in step S19, which will be described later. Any of the programs provided can be covered.
  • step S17 the program grammar analysis DB 33 is not required to determine whether the program grammar is correct or incorrect, and may be omitted.
  • step S17 When each process in step S17 is completed, the process proceeds to step S18. In step S18, it is determined whether or not the program code is correct. If it is correct, the process returns to step S19. If not, the process returns to step S17.
  • step S19 the automatically generated program knowledge DB 34 is referred to, and the program code grammatically checked in step S17 is rewritten into a streamlined program.
  • the automatic program generation knowledge DB 34 stores the structured pattern P3 for the processing operation P1 to be realized and the program code P2, the structured pattern P3 for the processing operation P1 to be realized, the structured pattern P3 for the program code P2, Algorithms are stored for transforming a general program code P2 into a streamlined program P3 for a processing operation P1 to be implemented.
  • the structuring can be performed by referring to the automatic program generation knowledge DB 34 as shown in FIG.
  • the pattern P3 can be searched.
  • step S19 the program code automatically generated in step S17 exists. Therefore, if there is a program code automatically generated in step S17, the structured pattern P3 associated with the most similar program code P2 can be read out from this automatically generated program knowledge DB34. If the structured pattern P3 itself is composed of streamlined program code, this itself can be used as a new program to be rewritten. Further, if the structured pattern P3 read from the automatically generated program knowledge DB 34 differs from the program code automatically generated in step S17 in part, such as variables, expressions, definitions, arguments, etc., the structured pattern P3 Alternatively, a new program to be rewritten may be generated by correcting the different variables and expressions. That is, in step S19, the program is rewritten by correcting the program code automatically generated in step S17 based on the structured pattern P3 associated with the program code P2 that is most similar to the program code. may be
  • the rewriting of the program in step S19 is not limited to being performed based on the structured pattern P3 associated with the program code P2 that is most similar to the program code automatically generated in step S17.
  • a processing operation to be performed in the program code automatically generated in step S17 may be identified and compared with the processing operation P1 recorded in the automatically generated program knowledge DB 34 .
  • a data table is prepared in advance in which the pattern of the instruction word of the program and the processing operation P1 are linked, and automatically generated in step S17. It may be performed by extracting the instruction words of the program code and referring to the data table.
  • a data table in which the meaning and the processing operation P1 are directly linked may be prepared, and the meaning identified in step S15 may be identified by referring to the data table.
  • the program may be rewritten based on the structured pattern P3 associated therewith.
  • the transition pattern for converting the corresponding program code P2 to the structured pattern P3 is stored in the automatic program generation knowledge DB 34, so this transition pattern is read out. , the program code automatically generated in step S17 may be rewritten accordingly.
  • the automatic program generation knowledge DB 34 if an algorithm for converting the pre-efficient program code P2 to the streamlined program is associated as a structured pattern P3, the program code automatically generated in step S17 The algorithm associated with program code P2 that is most similar to P2 may be retrieved. Then, based on this read algorithm, the program code automatically generated in step S17 may be efficiently rewritten.
  • step S20 After rewriting the program in this automatically generated knowledge DB 34, the process moves to step S20, and it is confirmed whether code editing by an IT engineer or programmer is necessary. As a result, if code editing is required or if the request for code editing is received from the user side, the process proceeds to step S21. On the other hand, if code editing is unnecessary or if the user's request for code editing is not accepted, the process ends.
  • step S21 the program code rewritten in step S19 is edited by an IT engineer or programmer. In addition to manual editing of the program code, this code editing may be performed automatically by a well-known editing tool. After the code editing in step S21 is finished, the process returns to step S20, and if the code editing is no longer necessary, the process ends.
  • the program code for the intended business process is automatically generated in the system on the computer side through the processing operations described in steps S13 to S17. be able to. Therefore, it is possible to automatically generate a program code very easily and without the technical ability of a skilled IT engineer.
  • step S19 since the present invention can perform the structuring process in step S19, a short program code that reflects the knowledge and experience of a skilled IT engineer and is smooth and efficient can be automatically generated. It is possible to generate This will fundamentally change the system of program development and prevent the chronic shortage of IT engineers from having a huge impact on society in the near future.
  • a more efficient rewriting program can be generated in step S19. can be generated over a number of It is also possible to select the optimum one automatically or based on the user's intention from among the rewriting programs generated over a plurality of times, and it is possible to achieve more precise structuring.
  • step S19 itself can be omitted. good too.
  • step S17 when creating a program based on the program code DB 32, an efficient program is created instead of creating a general program code from the beginning. That is, a streamlined program is created directly without going through a general program.
  • the correctness of the grammar of the created program may be checked by referring to the program grammar analysis DB 33. That is, the directly created program may be included in the program to be generated as a target for checking whether the grammar is correct or not.
  • the semantic conversion DB 31 may use data learned by artificial intelligence, as shown in FIG.
  • the input data is composed of a word, an instruction action, an instruction action, and a word related thereto, and the output becomes the meaning.
  • the semantic conversion DB 31 is generated.
  • this learning data is referred to, and a matching search solution is obtained.
  • the program code DB 32 may use learning data by artificial intelligence, as shown in FIG.
  • the input data consists of contexts (words, pointing actions, pointing actions and related words, meanings, etc.), and the output is program code.
  • the program code DB 32 is generated by accumulating such learning data in advance. This learning data is referred to during the automatic generation of the program code in step S17, and the program code as a search solution suitable for the context is extracted.
  • the automatically generated program knowledge DB 34 may use learning data by artificial intelligence, as shown in FIG.
  • the input data are the processing operations P1 and/or the program code P2 to be implemented and the output is the structured pattern P3.
  • the automatic program generation knowledge DB 34 is generated. Then, this learning data is referenced when the structuring in step S19 is executed, and the structuring pattern P3 as a search solution suitable for the processing operation and/or program code to be realized is extracted.
  • program grammar analysis DB 33 may similarly use learning data from artificial intelligence.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Stored Programmes (AREA)
  • Machine Translation (AREA)
  • Document Processing Apparatus (AREA)

Abstract

L'invention aborde le problème de la génération automatique d'un code de programme court dans lequel se reflètent la connaissance et l'expérience d'un ingénieur en informatique qualifié et qui est fluide et rationalisé. La solution selon la présente invention consiste à : acquérir des données de texte à partir d'un document ou d'une phrase de conversation ; effectuer une analyse de langage naturel des données de texte acquises de façon à extraire des contextes ; se référer à une base de données de codes de programme DB32 dans laquelle un ou plusieurs codes de programme sont stockés en association avec chacun des contextes, une base de données d'analyse de grammaire de programme DB33 dans laquelle est enregistré un manuel de grammaire d'un langage de programme, et une base de données de connaissances de génération automatique de programme DB34 dans laquelle un programme simplifié est associé à une opération de traitement à réaliser ; et générer un ou plusieurs programmes selon chacun des contextes extraits.
PCT/JP2022/008237 2021-07-28 2022-02-28 Système de génération automatique de code de programme Ceased WO2023007791A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-123178 2021-07-28
JP2021123178A JP7064680B1 (ja) 2021-07-28 2021-07-28 プログラムコード自動生成システム

Publications (1)

Publication Number Publication Date
WO2023007791A1 true WO2023007791A1 (fr) 2023-02-02

Family

ID=81579245

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/008237 Ceased WO2023007791A1 (fr) 2021-07-28 2022-02-28 Système de génération automatique de code de programme

Country Status (2)

Country Link
JP (1) JP7064680B1 (fr)
WO (1) WO2023007791A1 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116931911A (zh) * 2023-06-15 2023-10-24 明物数智科技研究院(南京)有限公司 一种基于aigc的智能低代码应用开发平台及开发方法
WO2025233749A1 (fr) * 2024-05-09 2025-11-13 株式会社半導体エネルギー研究所 Système de traitement d'informations et procédé de traitement d'informations

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12498908B2 (en) 2021-01-26 2025-12-16 Akkio Inc. Methods and systems for automatically generating and executing computer code using a natural language description of a data manipulation to be performed on a data set
WO2024166977A1 (fr) 2023-02-10 2024-08-15 東ソー株式会社 Composition d'amine pour séparation de dioxyde de carbone et son procédé de production
CN121039613A (zh) * 2023-04-21 2025-11-28 株式会社纽罗贝斯 计算机程序、信息处理方法和信息处理装置
WO2024218997A1 (fr) * 2023-04-21 2024-10-24 株式会社ニューロベイス Programme, procédé de traitement d'informations et dispositif de traitement d'informations
JP7760554B2 (ja) * 2023-06-19 2025-10-27 ソフトバンクグループ株式会社 制御システム
EP4538860A1 (fr) 2023-10-13 2025-04-16 Ricoh Company, Ltd. Appareil de traitement d'informations, procédé de génération d'application et support de support
KR102929317B1 (ko) * 2023-12-08 2026-02-24 네이버클라우드 주식회사 사용자에 대한 최적화된 코딩 작업 환경을 제공하는 방법, 장치 및 컴퓨터 프로그램
JP2025186089A (ja) * 2024-06-11 2025-12-23 Nttアドバンステクノロジ株式会社 処理装置、処理方法及びプログラム
WO2026004089A1 (fr) * 2024-06-28 2026-01-02 Ntt株式会社 Dispositif de génération de code et procédé de génération de code

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0488531A (ja) * 1990-08-01 1992-03-23 Fuji Xerox Co Ltd コード最適化方式
JPH10254688A (ja) * 1997-03-07 1998-09-25 Toshiba Corp プログラム作成支援装置
JP2008243019A (ja) * 2007-03-28 2008-10-09 Toshiba Corp ソースコード変換装置及びソースコード変換方法
WO2021106380A1 (fr) * 2019-11-28 2021-06-03 ソプラ株式会社 Dispositif de génération automatique de code de programme et programme

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019139675A (ja) 2018-02-15 2019-08-22 日本電気株式会社 ソースコード最適化装置、プログラムおよび方法
GB2589900B (en) 2019-12-12 2022-06-01 Sony Interactive Entertainment Inc Apparatus and method for source code optimisation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0488531A (ja) * 1990-08-01 1992-03-23 Fuji Xerox Co Ltd コード最適化方式
JPH10254688A (ja) * 1997-03-07 1998-09-25 Toshiba Corp プログラム作成支援装置
JP2008243019A (ja) * 2007-03-28 2008-10-09 Toshiba Corp ソースコード変換装置及びソースコード変換方法
WO2021106380A1 (fr) * 2019-11-28 2021-06-03 ソプラ株式会社 Dispositif de génération automatique de code de programme et programme

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ANONYMOUS: "What is an ITmedia ID?", ITMEDIANEWS, 2 July 2020 (2020-07-02), XP093028528, Retrieved from the Internet <URL:https://www.itmedia.co.jp/news/articles/2007/02/news090.html> [retrieved on 20230302] *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116931911A (zh) * 2023-06-15 2023-10-24 明物数智科技研究院(南京)有限公司 一种基于aigc的智能低代码应用开发平台及开发方法
WO2025233749A1 (fr) * 2024-05-09 2025-11-13 株式会社半導体エネルギー研究所 Système de traitement d'informations et procédé de traitement d'informations

Also Published As

Publication number Publication date
JP2023018851A (ja) 2023-02-09
JP7064680B1 (ja) 2022-05-11

Similar Documents

Publication Publication Date Title
JP7064680B1 (ja) プログラムコード自動生成システム
US20220414463A1 (en) Automated troubleshooter
US20250117605A1 (en) Content assistance processes for foundation model integrations
TWI661349B (zh) 產生對話式使用者介面的方法及系統
CN115630146A (zh) 基于人机交互的需求文档自动生成方法、装置和存储介质
WO2025097982A1 (fr) Procédé d&#39;entraînement pour modèle de traitement de texte, appareil d&#39;entraînement pour modèle de traitement de texte, dispositif électronique, produit de programme et support de stockage
JP7641032B2 (ja) 生成ai管理システム、生成ai管理方法、及び生成ai管理プログラム
CN117494672B (zh) 行业文档的生成方法、装置及计算机可读存储介质
CN118504542A (zh) 基于大模型的智能合约生成系统、方法、设备及存储介质
CN119441443A (zh) 基于人机对话历史及语义检索的prompt自动构建方法
CN118796191A (zh) 代码解析方法、装置、系统、电子设备和存储介质
CN117910473B (zh) 融合实体类型信息的事件论元抽取方法及相关设备
CN113448544B (zh) 一种程序开发中文档自动生成方法及系统
CN114219438A (zh) 基于rpa及ai的公文文件分发方法、装置、设备及介质
CN118313348A (zh) 文档格式排版方法、装置、计算机设备、存储介质及产品
CN117933234A (zh) 一种控制模型输出结构化数据的方法
CN115329740B (zh) 合同文书的数据增广方法、装置、计算机设备及存储介质
CN112506488A (zh) 一种基于sql创建语句生成编程语言类的方法
CN119202191A (zh) 一种基于人工智能的平台对话方法、装置、系统及介质
CN118605873A (zh) 一种管理页面生成方法、装置、电子设备及存储介质
CN117910433A (zh) 文档编辑方法、装置、设备和存储介质
CN117973326A (zh) 文本优化方法、装置、设备及存储介质
US20250384201A1 (en) Summary generation system, summary generation method, and recording medium recording summary generation program
US20260044682A1 (en) Automated technical draft generation
CN120104764B (zh) 一种企业群聊消息的回复方法及系统

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22848875

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22848875

Country of ref document: EP

Kind code of ref document: A1