WO2022264434A1 - Program code automatic generation system - Google Patents

Program code automatic generation system Download PDF

Info

Publication number
WO2022264434A1
WO2022264434A1 PCT/JP2021/023803 JP2021023803W WO2022264434A1 WO 2022264434 A1 WO2022264434 A1 WO 2022264434A1 JP 2021023803 W JP2021023803 W JP 2021023803W WO 2022264434 A1 WO2022264434 A1 WO 2022264434A1
Authority
WO
WIPO (PCT)
Prior art keywords
execution
program code
case
action
execution action
Prior art date
Application number
PCT/JP2021/023803
Other languages
French (fr)
Japanese (ja)
Inventor
基光 白川
Original Assignee
ソプラ株式会社
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 ソプラ株式会社 filed Critical ソプラ株式会社
Publication of WO2022264434A1 publication Critical patent/WO2022264434A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks

Definitions

  • the present invention relates to an automatic program code generation system that fundamentally changes the mechanism of program development.
  • the information processing apparatus of Patent Document 1 includes an acquisition unit that acquires user message information, an extraction unit that extracts task information related to the user from the acquired message information, and a task from the extracted task information.
  • an identification unit that identifies a person in charge and a related person; a classification unit that classifies the task information into first task information in which the user is the person in charge or second task information in which the user is the related person;
  • a registration unit for registering the classified first or second task information in a database, and an output unit for referring to the database and outputting the first or second task information.
  • the present invention has been devised in view of the above-described problems, and its object is to automatically execute business in a computer system, and to provide a method for executing the business.
  • program code it is extremely easy, and even if you do not have the technical skills of an SE, you can easily give instructions to the person in charge who is familiar with the work, and intervene with the help of people with SE technology. It is possible to generate program code automatically without any need, fundamentally change the mechanism of program development, and in the near future, program code automation that can avoid the serious impact of the chronic shortage of SE engineers on society It is to provide a generation system.
  • a program code automatic generation system comprises a receiving means for receiving input of text data via voice or an input terminal; an extracting means for extracting case components consisting of at least objective cases that depend on, an execution action table in which actual execution action commands for referential actions are associated, and actual execution action objects for reference cases are associated.
  • storage means for storing at least an object case table; an execution action instruction corresponding to the extracted pointing action; and an execution action object corresponding to the extracted object case are stored by the storage means.
  • a search means for searching by referring to an execution action table and an object case table, and by substituting the execution action object and the execution action object searched by the search means into the basic syntax of the program code, the execution action object is determined. and code generation means for automatically generating a program code for executing the execution operation specified in the execution operation instruction for the execution operation destination.
  • FIG. 1 is a block diagram of a program code automatic generation system according to Embodiment 1.
  • FIG. FIG. 2 is a flow chart of a program code automatic generation system to which the present invention is applied.
  • FIG. 3 is a diagram showing an example of setting and registering an execution destination in advance for each company by a user who provides this system.
  • FIG. 4 is a diagram showing an example of an execution action table.
  • 5 is a diagram showing another example of the execution operation table shown in FIG. 4.
  • FIG. FIG. 6 is a diagram showing an example of an object case table.
  • FIG. 7 is a diagram showing another example of the object case table shown in FIG.
  • FIG. 8 is a diagram showing an example of a final grade table.
  • FIG. 9 is a diagram showing another example of the end grade table shown in FIG. FIG.
  • FIG. 10 is a diagram for explaining a case where machine learning by artificial intelligence is used to search for the basic syntax of program code.
  • FIG. 11 is a diagram for explaining a method of generating a confirmation sentence for confirming input contents to the user.
  • FIG. 12 is a diagram illustrating an example of an execution operation table according to the second or fourth embodiment;
  • FIG. 13 is a diagram showing an example of an object case table according to the third or fourth embodiment.
  • FIG. 14 is a diagram showing another example of the end grade table.
  • 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 fundamental change in the mechanism of program development, and in the near future, it will be possible to avoid a chronic shortage of SE engineers having a huge impact on society.
  • the program code automatic generation system 100 automatically generates a program code for executing a business, thereby performing each business in the company (e.g., mail distribution, worker progress collection, file management, file transfer, etc.). 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 includes an acquisition unit and a calculation unit, and may include, for example, an execution unit, a storage unit, an output unit, and an intent storage unit.
  • Each function of the automatic program code 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.
  • artificial intelligence may be based on any known artificial intelligence technology.
  • the acquisition unit accepts input of text data via voice or an input terminal.
  • the acquisition unit acquires text data input by the user via the terminal 2 or the input unit of the automatic program code generation device 1, for example.
  • the acquisition unit uses a known voice recognition technology (for example, voice recognition technology) to generate Get the text data that has been specified.
  • 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 calculation unit refers to the database and executes various processing operations and calculations based on the acquired text data.
  • the calculation unit performs natural language analysis on the received conversational sentence to extract individual constituent elements of the sentence, including verbs, nouns, case components, and the like.
  • the calculation unit performs a processing operation of allocating an execution action instruction corresponding to the instruction action extracted from the received text data, an execution action target corresponding to the object case, and an execution action destination corresponding to the end case.
  • This computing unit performs a processing operation to determine an intent corresponding to the received text data.
  • the calculation unit refers to the storage unit and extracts the basic syntax of the program code. Further, the arithmetic unit generates a program code by substituting the assigned execution operation instruction, execution operation target, and execution operation destination for the basic syntax of the extracted program code.
  • the execution unit executes business processing based on the program code generated by the calculation unit.
  • Examples of business processing include routine work such as sending emails to the person in charge based on the content and deadline of the task, managing work hours, and updating the task progress history. be done.
  • the storage unit temporarily stores text data consisting of conversational sentences acquired via the acquisition unit.
  • the text data stored in this storage unit may be read and updated under the control of the calculation unit, execution unit, and the like.
  • the storage unit holds at least three tables: an execution action table, an object case table, and an end case table. Also, the storage unit may hold a code table.
  • the output unit outputs various information related to the operations executed by the program code.
  • the display data is notified so that the user can recognize it via the notification unit of the program code automatic generation device 1, the terminal 2, or the like.
  • the output unit outputs display data and the like to the terminal 2 and the like via the I/F, and outputs display data and the like to the notification unit via the I/F.
  • One or more intents are stored in the intent storage unit.
  • the intent may be stored in the intent storage section in association with information specifying the business process.
  • the information specifying the business process is usually an action name, which will be described later, but the format is not limited to this.
  • Corresponding also includes, for example, the case where an intent has information specifying business processing.
  • Terminal 2 for example, a known electronic device such as a server, personal computer, 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 .
  • ⁇ 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 .
  • 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.
  • the dialogue is accepted in step S11. Specifically, when a conversational sentence is acquired as voice data by the acquisition unit of the automatic program code generation device 1, text data is generated using a known voice recognition technology (for example, phoneme recognition technology). Further, when text data converted into electronic data is obtained by the obtaining unit of the automatic program code 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 acquisition unit of the automatic program code 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 input unit of the automatic program code generation device 1 .
  • the text data acquired in this manner is temporarily stored in the storage unit of the automatic program code generation device 1 .
  • step S12 the conversation sentence as text data acquired in S11 and temporarily stored in the storage unit of the automatic program code generation device 1 is read out and subjected to natural language analysis.
  • This natural language analysis is mainly performed by the computing unit of the automatic program code generation device 1 .
  • This natural language analysis may use any known natural language analysis technique, including morphological analysis and syntactic analysis.
  • step S12 for example, for the text data "Register the product name A5-7853K", an instruction consisting of "
  • the text ⁇ Taro Yamada's daily report for this month to Tokugawa section manager'' has the object case of ⁇ Taro Yamada
  • a case component is a noun phrase required to form a sentence with a verb (indicative action).
  • a case in case components is a function of selectively requesting a combination of nouns or noun phrases necessary for forming a sentence according to the lexical meaning that a verb has.
  • the case grammar which is the rationale for these case components, is based on the fact that a simple sentence consists of a deep case (objective case, conditional case, instrumental case, starting case, ending case, temporal case, etc.) and a verb connected to these cases. It is a theory that analyzes sentences as things that become. Then, the noun (phrase) requested by the verb as the deep case of the sentence can be said to be the necessary case component to supplement the realization of the proposition by the verb.
  • a case component is not a mere noun phrase, but a noun phrase to which a verb is dependent in order to realize its own proposition.
  • a case component is an element of nouns (including noun phrases) dependent on a verb that can serve as an action start condition for realizing a proposition by a verb that defines a referential action.
  • the object case here means the execution object of the proposition by the verb that defines the referent action.
  • "transfer file A” "file A” is subject to the verb "transfer”.
  • the terminal case defines the place where the execution object defined by the object case is reflected, the recipient of the benefit of the execution object, and the destination to which the execution object is sent.
  • the verb ⁇ Send'' is subject to ⁇ File A'' as an object case, and since this is what is sent with Taro Yamada as the end point, This final case is "Taro Yamada”.
  • step S13 determines the meaning and action of the natural language-analyzed conversational sentence.
  • a semantic action consisting of an execution action instruction, an execution action target, an execution action destination, etc. is determined from the instruction action and the case component analyzed through the natural language analysis.
  • step S12 the arithmetic unit of the automatic program code generation device 1 performs the natural language analysis of the conversational sentence, the execution action command corresponding to the extracted pointing action, the execution action object corresponding to the extracted object case, and the extracted
  • the destination of the execution action corresponding to the given end case is searched by referring to the degrees of association of the execution action table, the object case table, and the end case table.
  • the execution operation command here is a word for commanding the execution operation in the actual program code, and corresponds to actual database registration, file writing, transfer, deletion, monitor display, etc.
  • the execution operation target indicates the object for executing this execution operation command, and may be invoices, daily reports, specification files, data, emails, etc., product names, various events, and information. (eg, working hours, inventory, etc.).
  • the execution destination indicates the execution destination for executing the execution action instruction.
  • a user who installs this system may set and register an execution destination in advance for each company. For example, as shown in FIG. 3, "Taro Yamada's PC", “Manager Tokugawa's PC”, “development department's shared PC”, etc. may be registered as execution destinations in the company LAN.
  • an end-point case table is created. "Shared PC of the development department" may be registered in advance as each referencing execution destination of the terminal case table.
  • step S14 analyzes the program code for executing the conversation sentence for which the semantic action has been determined.
  • This program code association analysis operates to extract the basic syntax of the program code.
  • step S15 move to step S15 to create a program code.
  • step S14 as described above, the basic syntax of the program code is merely extracted, and the target of the actual processing operation and the text that defines each condition necessary to complete the processing operation are substituted. The program code is complete. For this reason, in step S15, by substituting words defining an execution target, an execution target, and an execution action command into the basic syntax of the extracted program code, the execution target is assigned to the execution target. to generate a program code for executing the execution action specified in the execution action instruction.
  • a program can be automatically generated based on the user's intention included in the conversation received in step S11.
  • the completed program code may be executed. That is, according to the present invention, it is possible to execute the automatically generated program code as it is. Therefore, when the process is included from step S11, when the user utters a conversation sentence, program code incorporating the intention can be automatically generated, and the generated program code can be executed as it is. be able to. When the user speaks the action he wants the system to perform in conversational sentences or inputs text data according to this, the action incorporating the intention is executed as it is based on the automatically generated program code. becomes possible.
  • an execution action table in which actual execution action commands are associated with referential actions with three or more degrees of association, and three actual execution action objects with respect to reference objects are provided.
  • Each of these tables is not limited to being arranged in a visually visible table or matrix, but is simply composed of learned data in which machine learning models of artificial intelligence are stored and their collections. may be
  • FIGS. 4 and 5 show examples of execution operation tables among these.
  • this execution motion table it is premised that three or more degrees of association between reference instruction motions and execution motion commands are set in advance.
  • the input data are reference instruction operations P01 to P03, for example.
  • the reference instruction action P01 is "send”
  • the reference instruction action P02 is "up”
  • the reference instruction action P03 is "erase”.
  • Such reference instruction operations P01 to P03 as input data are linked to execution operation commands as outputs.
  • Such a referencing instruction action has three or more levels of association with an execution action command (for example, "open file”, “transfer”, “print”, “delete”, etc.) as an output solution. They are related to each other through degrees. Reference instruction actions are arranged on the left side through this degree of association, and each execution action instruction is arranged on the right side through the degree of association.
  • the degree of relevance indicates the degree of relevance to which of the execution motion commands the referential motions arranged on the left side are highly related.
  • the degree of association is an index indicating the high possibility that each instructed action is linked to any execution action command, and is an indicator of the accuracy in selecting the most probable execution action command from the instructed actions. is shown. In the example of FIG. 4, w13 to w19 are shown as association degrees.
  • w13 to w19 are shown in 10 stages as shown in Table 1 below, and the closer to 10 points, the higher the degree of correlation between each combination as an intermediate node and the execution operation command as an output. Conversely, the closer to one point, the lower the degree of correlation between each combination as an intermediate node and the execution action command as an output.
  • Such three or more levels of association w13 to w19 shown in FIG. 4 are obtained in advance.
  • which of the processing operation and the execution operation command was adopted and evaluated is accumulated in the past data sets, and these are analyzed and analyzed, as shown in FIG. Build up the relevance.
  • This analysis may be performed by artificial intelligence.
  • the analysis is performed based on the past data set.
  • the degree of association leading to this execution action command is set higher, and if there are many cases of "print”, this execution action is set. Set higher relevance leading to orders. For example, in the example of processing operation P01, "open file” is linked to "print”, but from the previous example, the relevance of w13 leading to "open file” is set to 7 points, and "print” is linked. is set to 2 points.
  • this degree of association may be composed of nodes of a neural network in artificial intelligence. That is, the weighting coefficients for the outputs of the nodes of this neural network correspond to the degrees of association described above. Moreover, it is not limited to a neural network, and may be composed of all decision-making factors that constitute artificial intelligence.
  • a processing operation is input as input data
  • an execution operation instruction is output as output data
  • at least one or more hidden layers are provided between the input node and the output node, and the machine You may make it learn.
  • Either or both of the input nodes and the hidden layer nodes are set with the above-mentioned degree of relevance, which serves as a weighting for each node, based on which the output is selected. Then, when the degree of association exceeds a certain threshold, the output may be selected.
  • Such a degree of association becomes learned data in terms of artificial intelligence.
  • a search for an execution motion command is actually newly performed from the instructed motion.
  • the instruction action extracted in step S12 is newly obtained.
  • a search is made for an execution action command that matches it.
  • FIG. 4 Table 1 that have been acquired in advance. For example, if the newly acquired instruction action is the same as or similar to P02, "transfer” is associated with w15 and “print” with w16. In such a case, "transfer” with the highest degree of association is selected as the optimum solution.
  • a synonym dictionary is a dictionary about synonyms.
  • the synonym dictionary contains, for each of one or more reference instruction actions stored in the storage unit of the automatic program code generation device 1, a word possessed by the reference instruction action and one or two or more synonyms of the word. is registered. Specifically, for example, "send”, “distribute”, etc. may be registered in association with the instruction action for reference "transfer”. Through this synonym dictionary, it is possible to determine whether or not the newly acquired pointing action is similar to the referring pointing action. If the instruction action for reference is "transfer” and the newly acquired instruction action is "send”, it corresponds to "distribute” because it is registered in advance as a similar action in the synonym dictionary. It is possible to judge that
  • Figs. 6 and 7 show an example of using an object case table in which an object case for reference and an object for an actual execution action are associated with a degree of association of three or more levels.
  • the input data are reference cases P01 to P03, for example.
  • the reference case P04 is "mail at 12 o'clock on December 3”
  • the reference case P05 is “statement of delivery”
  • the reference case P06 is "weekly report”.
  • Such reference objects P04 to P06 as input data are linked to execution action objects as outputs.
  • Such a reference case is applied to the execution action object (for example, "mail received at 14:00 on December 7", “invoice”, “daily report”, “specification”, etc.) as this output solution. They are related to each other through three or more levels of relatedness. Objects for reference are arranged on the left side through this degree of association, and each execution action object is arranged on the right side through the degree of association.
  • the degree of relevance indicates the degree of relevance to which execution action object the reference case arranged on the left side has a high degree of relevance to.
  • the degree of association is an index indicating whether each object case is highly likely to be associated with an execution action object, and is an indicator of the accuracy in selecting the most probable execution action object from the object cases. is shown. In the example of FIG. 6, w13 to w19 are shown as association degrees. Of course, the examples of association degrees in FIG. 7 are not necessarily the same as those in FIG.
  • Such three or more levels of association w13 to w19 shown in FIG. 6 are obtained in advance.
  • which of the target case and the target of the execution action was adopted and evaluated is accumulated in past data sets, and these are analyzed and analyzed, as shown in FIG. Build up the relevance.
  • This analysis may be performed by artificial intelligence.
  • the target P04 is analyzed based on the past data set.
  • the degree of association leading to this execution action target is set higher, and if there are many cases of "invoice” , the degree of association leading to this execution action target is set higher.
  • "email received at 14:00 on December 7” is linked to "daily report", but from the previous example, it leads to "email received at 14:00 on December 7".
  • the degree of relevance of w13 is set to 7 points, and the degree of relevance of w14 connected to "daily report” is set to 2 points.
  • this degree of association may be composed of nodes of a neural network in artificial intelligence.
  • a processing operation is input as input data
  • an execution operation instruction is output as output data
  • at least one or more hidden layers are provided between the input node and the output node, and the machine You may make it learn.
  • Either or both of the input nodes and the hidden layer nodes are set with the above-mentioned degree of relevance, which serves as a weighting for each node, based on which the output is selected. Then, when the degree of association exceeds a certain threshold, the output may be selected.
  • Such a degree of association becomes learned data in terms of artificial intelligence. After such learned data is created, a new search for an execution action target is actually performed from the object case. In such a case, the object cases extracted in step S12 are newly obtained. Based on the newly acquired object case, a search is made for an execution action object that matches the object case. In such a case, reference is made to the degrees of association shown in FIG. 6 (Table 1) that have been acquired in advance. For example, when the newly acquired object case is the same as or similar to P05, "invoice” is associated with w15 and “daily report” is associated with w16. In such a case, the "bill" with the highest degree of association is selected as the optimum solution.
  • a synonym dictionary may be stored in the storage unit of the automatic program code generation device 1.
  • a word possessed by the object case and one or two or more synonyms of the word are registered. It is Specifically, for example, "business report”, “business diary”, etc. may be registered in association with the object for reference "daily report”.
  • this synonym dictionary it is possible to determine whether or not the newly acquired object case is similar to the reference object case. If the object case for reference is "daily report” and the newly acquired object case is "business diary”, it corresponds to "daily report” because it is registered in advance as a similar word in the synonym dictionary. can be determined.
  • Figures 8 and 9 show an example of using a terminal case table in which actual execution action targets are associated with reference terminal cases with a degree of association of three or more levels.
  • the input data are, for example, reference end points P07 to P09.
  • the reference ending point P07 is "Taro Yamada's PC”
  • the reference ending point P08 is "Doi's PC”
  • the reference ending point P09 is "person in charge of customer A company C”. and
  • the reference end points P07 to P09 as such input data are linked to the execution action destinations as outputs.
  • Such an end point case for reference is the destination of the execution action as this output solution (for example, "Taro Yamada's PC”, “Tokugawa's PC”, “Person in charge B of company A”, “Shared development department PC”, etc.) are related to each other through a degree of association of three or more levels.
  • the end point case for reference is arranged on the left side through this degree of association, and each execution action destination is arranged on the right side through the degree of association.
  • the degree of relevance indicates the degree of relevance with which execution action destination the reference end case arranged on the left side is highly relevant.
  • the degree of association is an index that indicates the high possibility that each end case is associated with an execution action destination, and is an indicator of the accuracy in selecting the most probable execution action destination from the end case. is shown.
  • w13 to w19 are shown as association degrees.
  • the examples of association degrees in FIG. 8 are not necessarily the same as those in FIGS.
  • Such three or more levels of association w13 to w19 shown in FIG. 8 are obtained in advance.
  • past data sets are accumulated to determine which of the end point case and the execution action destination was adopted and evaluated, and these are analyzed and analyzed, as shown in FIG. Build up the relevance.
  • This analysis may be performed by artificial intelligence.
  • the target P07 is analyzed based on the past data set. If there are many cases of "Taro Yamada's PC" when the end point is P07, the degree of association leading to this execution action destination is set higher, and there are many cases of "Person in charge B of company A". In this case, the degree of association leading to this execution action destination is set higher.
  • "Taro Yamada's PC” and “Person in charge B of company A" are linked. is set to 7 points, and the degree of association of w14 connected to "Person in charge B of company A" is set to 2 points.
  • this degree of association may be composed of nodes of a neural network in artificial intelligence.
  • a processing operation is input as input data
  • an execution operation instruction is output as output data
  • at least one or more hidden layers are provided between the input node and the output node, and the machine You may make it learn.
  • Either or both of the input nodes and the hidden layer nodes are set with the above-mentioned degree of relevance, which serves as a weighting for each node, based on which the output is selected. Then, when the degree of association exceeds a certain threshold, the output may be selected.
  • Such a degree of association becomes learned data in terms of artificial intelligence.
  • a new search for the destination of the execution action is actually performed from the end point case.
  • the final case extracted in step S12 is newly obtained.
  • a search is made for an execution action destination that matches this.
  • FIG. 9 Table 1 that have been acquired in advance. For example, if the newly acquired end point is the same as or similar to P08, "Tokugawa's PC” is w15 and "Person in charge B of company A” is associated with degree w16. In such a case, "Tokugawa's PC" with the highest degree of association is selected as the optimum solution.
  • a synonym dictionary may be stored in the storage unit of the automatic program code generation device 1.
  • the synonym dictionary for each of one or more reference terminal cases stored in the storage unit of the automatic program code generation device 1, a word possessed by the terminal case and one or more synonyms of the word are registered. It is Via this synonym dictionary, it may be determined whether or not the newly acquired terminal case is similar to the reference terminal case.
  • the creation of the program code extracts the basic syntax of the highly relevant program code based on the execution action target, execution action target, and execution action destination searched through the degree of association. Then, the object of execution action, the object of execution action, and the destination of execution action searched through the degree of association are substituted for the basic syntax of the extracted program code.
  • Table 2 shows an example of searching for the basic code of the program code.
  • the basic syntax of program code is the prototype of program code for actually executing various processing operations on a PC or the like.
  • the program code can be completed by substituting necessary wordings into the basic syntax of the program code.
  • An example of the basic syntax of the program code is "INSERT INTO registration destination VALUES ⁇ param1 ⁇ ;" ( ⁇ param1 ⁇ ) as the execution target is already completed in the syntax.
  • the program code can be completed by substituting the execution action target, the execution action target, and the execution action destination actually searched through the degree of association into such a syntax.
  • the basic syntax of the program code is searched via the code table shown in Table 2.
  • the basic syntaxes of the program code correspond to the reference execution action target, the reference execution action target, and the reference execution action destination in the same row. For example, if the reference execution operation target is "billing data" and the reference execution operation command is "DB reference”, the basic syntax of the corresponding program code is "SELECT billing amount”.
  • the combination of one reference execution-action object, reference execution-action target, and reference execution-action target may correspond to a plurality of basic syntaxes of program code, and conversely, one basic syntax may correspond to a plurality of references. In some cases, it corresponds to a combination of an execution action target for reference, an execution action target for reference, and an execution action destination for reference.
  • Fig. 10 shows an example of searching for the basic syntax of a program code through machine learning using artificial intelligence for a code table.
  • a combination having a reference execution operation command, a reference execution operation target, and a reference execution operation destination as input variables in the code table is input, and the basic syntax of the program code is output.
  • the input data are, for example, a reference execution operation command ("printer output", "open file”, etc.), a reference execution operation target, and a reference execution operation destination.
  • An intermediate node 61 is a combination of a referencing execution action command as input data, a referencing execution action target, and a referencing execution action destination. Each intermediate node 61 is also connected to an output.
  • basic syntaxes A to E of the program code are displayed as output solutions.
  • basic syntax B is, for example, "Write Line product list.dat ⁇ param1 ⁇ ;”.
  • Each combination (intermediate node) of a reference execution action instruction, a reference execution action target, and a reference execution action target is mutually associated through three or more levels of association with the basic syntax of the program code as the output solution. They are related. Execution action instructions for reference, objects of execution action for reference, and execution action destinations for reference are arranged on the left side through the degree of association, and basic syntaxes are arranged on the right side through the degree of association.
  • the degree of relevance indicates the degree of relevance to the basic syntax for the execution action instructions, etc., arranged on the left side.
  • the degree of association is an index that indicates to what basic syntax of the program code each reference execution action instruction, reference execution action target, and reference execution action target are likely to be associated with each other. , execution operation instructions, etc., to select the most probable basic syntax of the program code.
  • Such three or more levels of association w13 to w22 shown in FIG. 10 are obtained in advance.
  • past data is used to determine which of the reference execution operation instruction, the reference execution operation target, the reference execution operation destination, and the basic syntax of the program code in that case was suitable. By accumulating and analyzing these, the degree of association is created.
  • This analysis may be performed by artificial intelligence.
  • the program code Analyze the basic syntax from past data.
  • the degree of association leading to this basic syntax C is set higher.
  • the degree of association leading to the basic syntax C is set low.
  • the outputs of basic syntax A and basic syntax B are linked. The degree is set to 2 points.
  • the degree of association shown in FIG. 10 may be composed of nodes of a neural network in artificial intelligence. That is, the weighting coefficients for the outputs of the nodes of this neural network correspond to the degrees of association described above. Moreover, it is not limited to a neural network, and may be composed of all decision-making factors that constitute artificial intelligence.
  • the degree of relevance of the node 61b for the basic syntax C is w15
  • the degree of relevance for the basic syntax E is w16.
  • Such a degree of association becomes learned data in terms of artificial intelligence. After creating such learned data, the above-described learned data will be used when actually searching for the basic syntax. In such a case, the execution operation command, the execution operation target, and the execution operation destination searched in steps S13 and S14 are used.
  • the basic syntax of the optimum program code is searched based on the newly obtained execution operation command, the execution operation target, and the execution operation destination.
  • the degrees of association shown in FIG. 10 Table 1 that have been acquired in advance.
  • the node 61d is associated via the association degree.
  • this node 61d is associated with the basic syntax C with w19 and with the basic syntax D with the degree of association w20.
  • the basic syntax C with the highest degree of association is selected as the optimum solution.
  • Table 3 shows an example of the degree of association w1 to w12 extending from the input.
  • An intermediate node 61 may be selected based on the degree of association w1 to w12 extending from this input. In other words, the greater the degree of association w1 to w12, the heavier the weight in selecting the intermediate node 61 may be. However, the degrees of association w1 to w12 may all have the same value, and the weighting in selecting the intermediate nodes 61 may all be the same.
  • the present invention is not limited to the above-described embodiments.
  • searching for an execution action target, an execution action target, and an execution action destination, and substituting the execution action target, the execution action target, and the execution action destination into the basic syntax of the program code the execution action target is assigned to the execution action destination.
  • the program code for executing the execution operation specified in the execution operation instruction is generated by the execution operation instruction has been described as an example, the present invention is not limited to this. It is also possible to omit the search for the target of the execution action and generate the program code for executing the execution action specified in the execution action instruction on the target of the execution action.
  • case components to be extracted are not limited to the above-mentioned object case and end case, but may include start case and conditional case.
  • the starting case defines the place where the object to be executed defined by the object case is generated and the origin of the object to be executed.
  • the verb ⁇ send'' has ⁇ file A'' as an object case, and furthermore, this is what is sent starting from Taro Yamada.
  • the starting point case is "Taro Yamada”.
  • the reference ending case in the ending case table shown in FIG. In other words, a starting point case table is stored in which actual execution action sources are associated with reference starting point cases with a degree of association of three or more levels. Then, the text data is analyzed, and the source of the execution action for the extracted start case is searched by referring to the association degree of the stored start case table. Next, by substituting the searched execution action source into the basic syntax of the program code, the execution action specified in the execution action instruction is executed from the execution action source to the execution action destination. Generate program code for execution.
  • conditional case defines the conditions for executing the action to be executed defined by the objective case.
  • the conditions include when (time), by what method (method), when to start (operation start condition), by when (operation end condition), and the like.
  • the verb ⁇ send'' has ⁇ file A'' as the subjective case, and ⁇ by tomorrow'' as the conditional case. Therefore, the conditional case is ⁇ by tomorrow''.
  • the reference end case shown in FIG. That is, a conditional case table is stored in which actual execution action conditions are associated with reference conditional cases with a degree of association of three or more levels. Then, the text data is analyzed, and the execution action condition for the extracted conditional case is searched by referring to the degree of association of the stored conditional case table. Next, by substituting the searched execution operation condition into the basic syntax of the program code, the execution operation target is specified in the execution operation instruction based on the execution operation condition. will perform the action.
  • a confirmation sentence for confirming the input content is generated for the user.
  • the generated confirmation sentence may be output as a voice or as an image.
  • a confirmation sentence is generated again to inquire of the user about the intention. Run a process to verify. While the number of execution action commands, execution action targets, and execution action destinations as search solutions is finite, the types of wording in text data generated by the user are nearly infinite.
  • the confirmation sentence may be generated based on the degree of association associated with each execution action command, execution action target, and execution action destination searched through the execution action table, object case table, and end case table. If an execution action command "open file" is searched for in the execution action table, but the degree of association w13 associated with it is 5 out of 10 evaluations, to be honest, the degree of association is not so strong. Therefore, it is possible that the search solution does not reflect the user's intention. In other words, this is the case where the execution action command, the execution action target, and the execution action destination cannot be narrowed down through the degree of association. In such a case, a confirmation sentence is generated, the user's intention is confirmed, and re-input is accepted.
  • the solution search may be carried out without hesitation.
  • the degree of association associated with the execution action command, the execution action target, and the execution action destination is less than a certain threshold, it is determined that the search reflecting the user's intention is not performed.
  • This confirmation sentence may be prepared by preparing a plurality of types of example sentences in advance, and substituting the sentence corresponding to the search solution into the example sentence. For example, if you want to check whether or not the user really intends to execute the execution operation command "transfer", you can replace the ⁇ part of "Do you mean that you want to ⁇ file A?” A confirmation message may be generated by substituting "transfer (to)".
  • a confirmation sentence is generated by comparing the degree of association associated with each execution action command, execution action target, and execution action destination searched using each table. You may make it Assuming that the degrees of association associated with the searched execution action command, the execution action target, and the execution action target are compared with each other, if the degree of association associated with the searched execution action target is the lowest, A confirmation sentence for confirming this execution operation target may be generated and output.
  • FIG. 12 is a diagram showing an example of an execution operation table according to the second embodiment.
  • the main difference from the program code automatic generation system 100 in Embodiment 1 described above is that artificial intelligence is not used in the execution operation table. Description is omitted.
  • the execution operation instruction on the output side is "open file". It differs from the program code automatic generation system 100 in the first embodiment in that the reference instruction operation data on the side and the execution operation command data on the output side are prepared as linked data sets. It should be noted that the execution operation table of FIG. 12 is an example that corresponds to the execution operation table of FIG. 4 in the first embodiment.
  • FIG. 13 is a diagram showing an example of an object case table according to the third embodiment.
  • the main difference from the program code automatic generation system 100 in the above-described first embodiment is that artificial intelligence is not used in the object case table. Description is omitted.
  • the program code automatic generation system 100 in the object case table, for example, if the input side reference case P04-1 is used, the output side execution action target is "received at 14:00 on December 7".
  • the program code automatic generation system 100 prepares the input-side reference object data and the output-side execution action object data as linked data sets.
  • the object case table of FIG. 13 is shown as an example corresponding to the object case table of FIG. 6 in the first embodiment.
  • FIG. 12 is a diagram showing an example of an execution operation table according to the fourth embodiment.
  • FIG. 13 is a diagram showing an example of an object case table according to the fourth embodiment.
  • the main difference from the program code automatic generation system 100 in the first embodiment is that the execution action table and the object case table do not use artificial intelligence. and the explanation is omitted.
  • the execution operation command on the output side is "open file".
  • the data of the instruction operation for reference on the side and the data of the execution operation instruction on the output side are prepared as data sets in which they are associated with each other.
  • the output side execution action object is "received at 14:00 on December 7".
  • the input-side reference object data and the output-side execution action object data are prepared as linked data sets.
  • the automatic program code generation system in the fourth embodiment differs from the automatic program code generation system 100 in the first embodiment in these respects.
  • the execution action table of FIG. 12 corresponds to the execution action table of FIG. 4 in the first embodiment, and the object case table of FIG. An example corresponding to the table is shown.
  • the final case table using artificial intelligence in FIG. is "Taro Yamada's PC"
  • the data of the reference terminal case on the input side and the data of the execution action destination on the output side are replaced with the terminal case table prepared as a linked data set. may be implemented.
  • program code automatic generation device 2 terminal 3 server 4 communication network 61 intermediate node 100 program code automatic generation system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Machine Translation (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

[Problem] To fundamentally change a mechanism of developing programs to prevent an immense impact on society caused by a chronic shortage of system engineers in a near future. [Solution] The present invention includes: an accepting means that accepts input of text data through voice or an input terminal; an extracting means that subjects the text data to natural language analysis to extract an instructing operation and a case component consisting of object cases; a storing means that stores an execution operation table and an object case table; a searching means that searches an execution operation instruction corresponding to the instructing operation and an execution operation target corresponding to the object case by referring to the execution operation table and the object case table; and a code generating means that substitutes the execution operation instruction and the execution operation target searched by the searching means for basic syntax of program code to thereby generate program code for executing execution operation in which the execution operation target is prescribed for the execution operation instruction.

Description

プログラムコード自動生成システムProgram code automatic generation system
 本発明は、プログラム開発の仕組みを根本的に変えるプログラムコード自動生成システムに関するものである。 The present invention relates to an automatic program code generation system that fundamentally changes the mechanism of program development.
 近年、デスクワーク(定型作業)等のような業務の補助を実現するための手段として、RPA(Robotic Process Automation)等に関する技術が注目を集めている。このような技術として、例えば特許文献1の情報処理装置等が提案されている。 In recent years, technology related to RPA (Robotic Process Automation) has attracted attention as a means of assisting tasks such as desk work (routine work). As such a technique, for example, an information processing apparatus disclosed in Patent Document 1 has been proposed.
 特許文献1の情報処理装置は、ユーザのメッセージ情報を取得する取得部と、取得した前記メッセージ情報から、前記ユーザに関連するタスク情報を抽出する抽出部と、抽出した前記タスク情報から、タスクの担当者及び関係者を識別する識別部と、前記タスク情報を、前記ユーザが前記担当者である第1タスク情報、又は前記ユーザが前記関係者である第2タスク情報に分類する分類部と、分類した前記第1又は第2タスク情報をデータベースに登録する登録部と、該データベースを参照して、前記第1又は第2タスク情報を出力する出力部とを備えることを特徴とする。 The information processing apparatus of Patent Document 1 includes an acquisition unit that acquires user message information, an extraction unit that extracts task information related to the user from the acquired message information, and a task from the extracted task information. an identification unit that identifies a person in charge and a related person; a classification unit that classifies the task information into first task information in which the user is the person in charge or second task information in which the user is the related person; A registration unit for registering the classified first or second task information in a database, and an output unit for referring to the database and outputting the first or second task information.
特開2019-16280号公報JP 2019-16280 A
 ところで、新規業務についてプログラムにより自動的に実行させる場合には、プログラムを作成する作業が必要となる。プログラムの作成プロセスとして、従来は、その新規業務の要件定義を行い、システム設計を行い、更にプログラムコードをコーディングした後、これをテスト、検証するプロセスが必要である。このようなプログラムコードは、新規業務が生まれる都度、人手によりコーディングするのが通常であった。 By the way, in order to automatically execute a new task by a program, it is necessary to create a program. Conventionally, the process of creating a program requires a process of defining the requirements for the new business, designing the system, coding the program code, and then testing and verifying it. Such program code was usually manually coded each time a new task was created.
 しかしながら、近年のIT化の急速な進展に伴い、プログラム作成需要は増加の一途をたどり、IT技術者不足が深刻な社会問題となっている。 However, with the rapid progress of IT in recent years, the demand for programming has continued to increase, and the shortage of IT engineers has become a serious social problem.
 また、社内の簡単な作業一つとっても状況によっては随時変更を施さなければならないケースがある。例えば、「社員〇〇のPCに日報を送っておいて」という社内業務を自動的に行えるようにプログラムを作成しても、少しでも業務に変化があればプログラムコードを作成し直さなければならなくなる。 Also, depending on the situation, there are cases where even simple internal work must be changed at any time. For example, even if you create a program to automatically perform an internal task such as "Send a daily report to the PC of employee XX", if there is even the slightest change in the task, you have to recreate the program code. Gone.
 従来、このような問題点があるものの、それよりも、近い将来、慢性的なSE技術者不足が社会に甚大な影響を与える事が予測されているということがより深刻な問題点である。 Although there have been such problems in the past, a more serious problem is that in the near future, it is predicted that the chronic shortage of SE engineers will have a huge impact on society.
 そこで本発明は、上述した問題点に鑑みて案出されたものであり、その目的とするところは、業務をコンピュータのシステムにおいて自動的に実行していくために、その業務を実行するためのプログラムコードを生成する際において、極めて容易に、しかもSEとしての技術力がなくても、業務にさえ習熟した現場担当者であれば、簡単に指示を与え、SE技術を持った人手を介することなく自動的にプログラムコードを生成することが可能であり、プログラム開発の仕組みを根本的に変え、近い将来、慢性的なSE技術者不足が社会に甚大な影響を与える事を回避できるプログラムコード自動生成システムを提供することにある。 SUMMARY OF THE INVENTION Accordingly, the present invention has been devised in view of the above-described problems, and its object is to automatically execute business in a computer system, and to provide a method for executing the business. When generating program code, it is extremely easy, and even if you do not have the technical skills of an SE, you can easily give instructions to the person in charge who is familiar with the work, and intervene with the help of people with SE technology. It is possible to generate program code automatically without any need, fundamentally change the mechanism of program development, and in the near future, program code automation that can avoid the serious impact of the chronic shortage of SE engineers on society It is to provide a generation system.
 本発明に係るプログラムコード自動生成システムは、音声又は入力端末を介してテキストデータの入力を受け付ける受付手段と、上記受付手段により受け付けられたテキストデータを自然言語解析することにより、指示動作と、これに係り受けする少なくとも対象格からなる格成分を抽出する抽出手段と、参照用指示動作に対する実際の実行動作命令が関連付けられた実行動作テーブルと、参照用対象格に対する実際の実行動作対象が関連付けられた対象格テーブルとを少なくとも記憶する記憶手段と、上記抽出された指示動作に対応する実行動作命令と、上記抽出された対象格に対応する実行動作対象とを、上記記憶手段により記憶されている実行動作テーブル、対象格テーブルを参照することにより探索する探索手段と、プログラムコードの基本構文に、上記探索手段により探索された実行動作対象、実行動作対象を代入することにより、当該実行動作対象を当該実行動作先に対して当該実行動作命令に規定された実行動作を実行するためのプログラムコードを自動生成するコード生成手段とを備えることを特徴とする。 A program code automatic generation system according to the present invention comprises a receiving means for receiving input of text data via voice or an input terminal; an extracting means for extracting case components consisting of at least objective cases that depend on, an execution action table in which actual execution action commands for referential actions are associated, and actual execution action objects for reference cases are associated. storage means for storing at least an object case table; an execution action instruction corresponding to the extracted pointing action; and an execution action object corresponding to the extracted object case are stored by the storage means. A search means for searching by referring to an execution action table and an object case table, and by substituting the execution action object and the execution action object searched by the search means into the basic syntax of the program code, the execution action object is determined. and code generation means for automatically generating a program code for executing the execution operation specified in the execution operation instruction for the execution operation destination.
 上述した発明によれば、業務をコンピュータ側のシステムにおいて自動的に実行していくために、その業務を実行するためのプログラムコードを生成する際において、極めて容易に、しかもSEとしての技術力がなくても、業務にさえ習熟した現場担当者であれば、簡単に指示を与え、SE技術を持った人手を介することなく自動的にプログラムコードを生成することが可能であり、プログラム開発の仕組みを根本的に変え、近い将来、慢性的なSE技術者不足が社会に甚大な影響を与える事を回避できる。 According to the above-described invention, in order to automatically execute business in a computer-side system, it is extremely easy to generate program code for executing the business, and moreover, the technical capabilities as an SE are extremely easy. Even without it, if the person in charge of the work is familiar with the work, it is possible to easily give instructions and automatically generate the program code without human intervention with SE technology. will fundamentally change, and in the near future, it will be possible to avoid a chronic shortage of SE engineers having a huge impact on society.
図1は、実施形態1におけるプログラムコード自動生成システムのブロック図である。FIG. 1 is a block diagram of a program code automatic generation system according to Embodiment 1. FIG. 図2は、本発明を適用したプログラムコード自動生成システムのフローチャートである。FIG. 2 is a flow chart of a program code automatic generation system to which the present invention is applied. 図3は、本システムを設けるユーザが企業毎に予め実行先を設定登録する例を示す図である。FIG. 3 is a diagram showing an example of setting and registering an execution destination in advance for each company by a user who provides this system. 図4は、実行動作テーブルの例を示す図である。FIG. 4 is a diagram showing an example of an execution action table. 図5は、図4に示す実行動作テーブルの他の例を示す図である。5 is a diagram showing another example of the execution operation table shown in FIG. 4. FIG. 図6は、対象格テーブルの例を示す図である。FIG. 6 is a diagram showing an example of an object case table. 図7は、図5に示す対象格テーブルの他の例を示す図である。FIG. 7 is a diagram showing another example of the object case table shown in FIG. 図8は、終点格テーブルの例を示す図である。FIG. 8 is a diagram showing an example of a final grade table. 図9は、図8に示す終点格テーブルの他の例を示す図である。FIG. 9 is a diagram showing another example of the end grade table shown in FIG. 図10は、プログラムコードの基本構文を探索する上で人工知能による機械学習を利用する場合について説明するための図である。FIG. 10 is a diagram for explaining a case where machine learning by artificial intelligence is used to search for the basic syntax of program code. 図11は、ユーザに対して入力内容を確認するための確認文を生成する方法について説明するための図である。FIG. 11 is a diagram for explaining a method of generating a confirmation sentence for confirming input contents to the user. 図12は、実施形態2又は実施形態4における実行動作テーブルの例を示す図である。FIG. 12 is a diagram illustrating an example of an execution operation table according to the second or fourth embodiment; 図13は、実施形態3又は実施形態4における対象格テーブルの例を示す図である。FIG. 13 is a diagram showing an example of an object case table according to the third or fourth embodiment. 図14は、終点格テーブルの他の例を示す図である。FIG. 14 is a diagram showing another example of the end grade table.
 以下、本発明の実施形態1~4におけるプログラムコード自動生成システムを例示し、図面を参照しながら説明する。 Hereinafter, the program code automatic generation system according to Embodiments 1 to 4 of the present invention will be exemplified and explained with reference to the drawings.
[実施形態1]
(プログラムコード自動生成システム100)
 図1を参照して、本実施形態におけるプログラムコード自動生成システム100の構成の一例について説明する。図1は、本実施形態におけるプログラムコード自動生成システム100の全体の構成を示す模式図である。
[Embodiment 1]
(Program code automatic generation system 100)
An example of the configuration of a program code automatic generation system 100 according to this embodiment will be described with reference to FIG. FIG. 1 is a schematic diagram showing the overall configuration of a program code automatic generation system 100 according to this embodiment.
 プログラムコード自動生成システム100は、単なる業務補助ではなくプログラム開発の仕組みを根本的に変え、近い将来、慢性的なSE技術者不足が社会に甚大な影響を与える事を回避できるものである。 The automatic program code generation system 100 is not just a work assistance, but a fundamental change in the mechanism of program development, and in the near future, it will be possible to avoid a chronic shortage of SE engineers having a huge impact on society.
 すなわち、プログラムコード自動生成システム100は、業務を実行するためのプログラムコードを自動生成することで、企業内における各業務(例えば、メールの配信、作業者の進捗状況の収集、ファイル管理、ファイル転送等)の様々なデータ処理をコンピュータ上で自動的に行うことができる。プログラムコード自動生成システム100は、特にこのプログラムコードの自動生成を、音声又はテキストにより設定することができ、システム管理者等のような専門的知識を有しないユーザ(例えばプログラムコード自動生成システム100を利用して業務を管理する利用者等)においても、様々な業務処理をコンピュータに自動的に行わせるためのプログラムコードの自動生成を容易に実現することが可能となる。 That is, the program code automatic generation system 100 automatically generates a program code for executing a business, thereby performing each business in the company (e.g., mail distribution, worker progress collection, file management, file transfer, etc.). 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.
 プログラムコード自動生成システム100は、例えば図1に示すように、プログラムコード自動生成装置1を備え、ユーザがプログラムコード自動生成装置1を利用してもよい。プログラムコード自動生成システム100は、例えば通信網4を介してプログラムコード自動生成装置1と接続された端末2を備え、ユーザが端末2を介してプログラムコード自動生成装置1を利用してもよい。プログラムコード自動生成システム100は、例えば通信網4を介してプログラムコード自動生成装置1と接続されたサーバ3を備え、ユーザがプログラムコード自動生成装置1又は端末2を介してサーバ3との各種情報の送受信により、各手段を実現してもよい。 For example, as shown in FIG. 1, 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 .
 <プログラムコード自動生成装置1>
 プログラムコード自動生成装置1として、例えばサーバ、パーソナルコンピュータ、スマートフォン、タブレット端末、ウェアラブル端末等の公知の電子機器が用いられる。なお、本実施形態におけるプログラムコード自動生成システム100において、プログラムコード自動生成装置1は、クラウドサーバの中枢となる。
<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 . In addition, in the program code automatic generation system 100 in this embodiment, the program code automatic generation device 1 serves as the core of the cloud server.
 プログラムコード自動生成装置1は、図示は省略したが、取得部と、演算部とを備え、例えば実行部と、記憶部と、出力部と、インテント格納部とを備えてもよい。なお、プログラムコード自動生成装置1の各機能は、CPUが、RAMを作業領域として、保存部等に記憶されたプログラムを実行することにより実現される。また、各機能の一部は、人工知能により制御されてもよい。ここで、「人工知能」は、いかなる周知の人工知能技術に基づくものであってもよい。 Although not shown, the program code automatic generation device 1 includes an acquisition unit and a calculation unit, and may include, for example, an execution unit, a storage unit, an output unit, and an intent storage unit. Each function of the automatic program code 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. Here, "artificial intelligence" may be based on any known artificial intelligence technology.
 取得部は、音声又は入力端末を介してテキストデータの入力を受け付ける。取得部は、例えば端末2又はプログラムコード自動生成装置1の入力部を介してユーザから入力されたテキストデータを取得する。例えば端末2又はプログラムコード自動生成装置1の入力部を介して、ユーザから会話文が音声により入力された場合、取得部は、公知の音声認識技術(例えば音声認識技術)を用いて音声から生成されたテキストデータを取得する。なお、音声認識技術は、例えば通信網4を介して、クラウド型の音声認識技術を用いてもよい。 The acquisition unit accepts input of text data via voice or an input terminal. The acquisition unit acquires text data input by the user via the terminal 2 or the input unit of the automatic program code generation device 1, for example. For example, when a conversational sentence is input by voice from the user via the terminal 2 or the input unit of the automatic program code generation device 1, the acquisition unit uses a known voice recognition technology (for example, voice recognition technology) to generate Get the text data that has been specified. Note that cloud-type speech recognition technology may be used as the speech recognition technology via the communication network 4, for example.
 演算部は、データベースを参照し、取得したテキストデータに基づいて各種処理動作、演算を実行する。演算部は、受け付けた会話文について自然言語解析することにより、動詞や名詞、格成分等を始めとする文の個々の構成要素を抽出する。演算部は、受け付けたテキストデータから抽出した指示動作に対応する実行動作命令、対象格に対応する実行動作対象、終点格に対応する実行動作先を割り当てる処理動作を行う。この演算部は、受け付けたテキストデータに対応するインテントを決定する処理動作を実行する。演算部は、記憶部を参照し、プログラムコードの基本構文を抽出する。また演算部は、抽出されたプログラムコードの基本構文に、割り当てた実行動作命令、実行動作対象、実行動作先を代入することによりプログラムコードを生成する。 The calculation unit refers to the database and executes various processing operations and calculations based on the acquired text data. The calculation unit performs natural language analysis on the received conversational sentence to extract individual constituent elements of the sentence, including verbs, nouns, case components, and the like. The calculation unit performs a processing operation of allocating an execution action instruction corresponding to the instruction action extracted from the received text data, an execution action target corresponding to the object case, and an execution action destination corresponding to the end case. This computing unit performs a processing operation to determine an intent corresponding to the received text data. The calculation unit refers to the storage unit and extracts the basic syntax of the program code. Further, the arithmetic unit generates a program code by substituting the assigned execution operation instruction, execution operation target, and execution operation destination for the basic syntax of the extracted program code.
 実行部は、演算部において生成されたプログラムコードに基づき、業務処理を実行する。業務処理として、例えばタスクの内容や期限に基づき担当者へのメール送信、勤務管理、タスク進行履歴更新等の定型作業が挙げられ、業務処理情報をプログラムとしてコンピュータに実行させることができる内容が用いられる。 The execution unit executes business processing based on the program code generated by the calculation unit. Examples of business processing include routine work such as sending emails to the person in charge based on the content and deadline of the task, managing work hours, and updating the task progress history. be done.
 記憶部は、取得部を介して取得した会話文からなるテキストデータを一時的に保存する。この記憶部に記憶されたテキストデータは、演算部や実行部等による制御に基づき読み出され、また更新される場合もある。記憶部は、実行動作テーブル、対象格テーブル、終点格テーブルの少なくとも3つのテーブルを保持している。また記憶部は、コードテーブルを保持していてもよい。 The storage unit temporarily stores text data consisting of conversational sentences acquired via the acquisition unit. The text data stored in this storage unit may be read and updated under the control of the calculation unit, execution unit, and the like. The storage unit holds at least three tables: an execution action table, an object case table, and an end case table. Also, the storage unit may hold a code table.
 出力部は、プログラムコードにより実行された動作に関する各種情報を出力する。表示用データは、プログラムコード自動生成装置1の報知部又は端末2等を介して、ユーザが認識できるように報知される。出力部は、I/Fを介して端末2等に表示用データ等を出力し、I/Fを介して報知部に表示用データ等を出力する。 The output unit outputs various information related to the operations executed by the program code. The display data is notified so that the user can recognize it via the notification unit of the program code automatic generation device 1, the terminal 2, or the like. The output unit outputs display data and the like to the terminal 2 and the like via the I/F, and outputs display data and the like to the notification unit via the I/F.
 インテント格納部には、1または2以上のインテントが格納される。インテントは、業務処理を特定する情報に対応付けて、このインテント格納部に格納されるものであってもよい。なお、業務処理を特定する情報は、通常、後述するアクション名であるが、その形式はこれらに限定されるものではない。また、対応付くことは、例えば、インテントが、業務処理を特定する情報を有する場合も含む。  One or more intents are stored in the intent storage unit. The intent may be stored in the intent storage section in association with information specifying the business process. The information specifying the business process is usually an action name, which will be described later, but the format is not limited to this. Corresponding also includes, for example, the case where an intent has information specifying business processing.
 <端末2>
 端末2として、例えばサーバ、パーソナルコンピュータ、スマートフォン、タブレット端末、ウェアラブル端末等の公知の電子機器が用いられる。端末2は、例えばプログラムコード自動生成装置1と同様の構成及び機能の少なくとも一部を備えてもよい。端末2は、例えば複数備えてもよく、各端末2がそれぞれ通信網4を介してプログラムコード自動生成装置1と接続されてもよい。
<Terminal 2>
As the terminal 2, for example, a known electronic device such as a server, personal computer, 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. 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 .
 <サーバ3>
 サーバ3には、例えば各種情報が記憶される。サーバ3には、例えば通信網4を介してプログラムコード自動生成装置1等から送られてきた各種情報が蓄積される。サーバ3には、例えばプログラムコード自動生成装置1の保存部と同様の情報が記憶され、通信網4を介してプログラムコード自動生成装置1等と各種情報の送受信が行われてもよい。即ち、プログラムコード自動生成システム100では、プログラムコード自動生成装置1又はプログラムコード自動生成装置1の保存部の代わりにサーバ3を用いてもよい。
<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 .
 <通信網4>
 通信網4は、プログラムコード自動生成装置1が通信回路を介して接続されるインターネット網等である。通信網4は、いわゆる光ファイバ通信網で構成されてもよい。また、通信網4は、有線通信網のほか、無線通信網等の公知の通信網で実現されてもよい。
<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. Also, 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.
 次に、本発明を適用したプログラムコード自動生成システム100の動作について説明をする。 Next, the operation of the program code automatic generation system 100 to which the present invention is applied will be explained.
 図2に示すようにステップS11において会話文の受け付けを行う。具体的には、音声データとしてプログラムコード自動生成装置1の取得部において会話文が取得した場合には、これを公知の音声認識技術(例えば音素認識技術)を用いテキストデータを生成する。また、電子データ化されたテキストデータをプログラムコード自動生成装置1の取得部において取得した場合には、これをそのまま利用することになる。電子データ化されたテキストデータは、例えばメール文や社内又は社外において活用している情報掲示板や各種サイトの書き込みをそのまま取り込むようにしてもよい。 As shown in FIG. 2, the dialogue is accepted in step S11. Specifically, when a conversational sentence is acquired as voice data by the acquisition unit of the automatic program code generation device 1, text data is generated using a known voice recognition technology (for example, phoneme recognition technology). Further, when text data converted into electronic data is obtained by the obtaining unit of the automatic program code 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.
 プログラムコード自動生成装置1の取得部は、ユーザの入力するタイミング毎にテキストデータを取得するほか、例えば一定期間に蓄積された複数のテキストデータを一度に取得してもよい。なお、端末2又はプログラムコード自動生成装置1の入力部を介して入力された非テキスト形式のデータから、テキストデータを生成する方法は、公知技術を用いることができる。このようにして取得されたテキストデータは、プログラムコード自動生成装置1の記憶部において一時的に記憶される。 The acquisition unit of the automatic program code 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 input unit of the automatic program code generation device 1 . The text data acquired in this manner is temporarily stored in the storage unit of the automatic program code generation device 1 .
 次にステップS12に移行し、S11において取得され、プログラムコード自動生成装置1の記憶部において一時的に記憶されているテキストデータとしての会話文を読み出し、これを自然言語解析する。この自然言語解析は、主としてプログラムコード自動生成装置1の演算部が行う。この自然言語解析では、形態素解析や構文解析を始めとして周知のいかなる自然言語解析技術を利用するようにしてもよい。 Next, the process proceeds to step S12, where the conversation sentence as text data acquired in S11 and temporarily stored in the storage unit of the automatic program code generation device 1 is read out and subjected to natural language analysis. This natural language analysis is mainly performed by the computing unit of the automatic program code generation device 1 . This natural language analysis may use any known natural language analysis technique, including morphological analysis and syntactic analysis.
 このステップS12における自然言語解析の結果、例えばテキストデータ「商品名、A5-7853Kを登録して」については、「商品名|A5-7853K |からなる対象格 を | 登録 | して」からなる指示動作に分解することができる。またテキスト「山田太郎の今月の日報を徳川課長に転送して」は、「山田太郎|の | 今月 | の | 残業 | 時間 |」という対象格、「徳川課長|に」という終点格、「転送|して」の指示動作に分解することができる。つまりテキストデータを指示動作からなる動詞に係り受けする対象格や終点格からなる格成分の組み合わせを通じて抽出することができる。 As a result of the natural language analysis in step S12, for example, for the text data "Register the product name A5-7853K", an instruction consisting of "| It can be broken down into actions. In addition, the text ``Taro Yamada's daily report for this month to Tokugawa section manager'' has the object case of ``Taro Yamada | | That is, text data can be extracted through a combination of case components consisting of object cases and terminal cases that are dependent on verbs consisting of pointing actions.
 格成分は、動詞(指示動作)による文の形成に必要とされる名詞句である。格成分における格とは、動詞が自らの帯びている語彙的意味に応じて、文の形成に必要な名詞または名詞句の組み合わせを選択的に要求する働きであり、いわゆる格支配という。この格成分の理論的根拠となる格文法は、単文が、実体を表す深層格(対象格・条件格・道具格・始点格・終点格・時間格など)とこれらと結びついた一つの動詞からなるものとして文を分析する理論である。そして、動詞により文の深層格として要求された名詞(句)が、動詞による命題実現を補足する上で必要な格成分ということができる。格成分とは、単なる名詞句ではなく、動詞が自らの命題の実現するために係り受けた名詞句である。言い換えれば、格成分は、動詞に係り受けする名詞(名詞句を含む)のうち、指示動作を規定する動詞による命題を実現するための動作開始条件となり得る要素である。 A case component is a noun phrase required to form a sentence with a verb (indicative action). A case in case components is a function of selectively requesting a combination of nouns or noun phrases necessary for forming a sentence according to the lexical meaning that a verb has. The case grammar, which is the rationale for these case components, is based on the fact that a simple sentence consists of a deep case (objective case, conditional case, instrumental case, starting case, ending case, temporal case, etc.) and a verb connected to these cases. It is a theory that analyzes sentences as things that become. Then, the noun (phrase) requested by the verb as the deep case of the sentence can be said to be the necessary case component to supplement the realization of the proposition by the verb. A case component is not a mere noun phrase, but a noun phrase to which a verb is dependent in order to realize its own proposition. In other words, a case component is an element of nouns (including noun phrases) dependent on a verb that can serve as an action start condition for realizing a proposition by a verb that defines a referential action.
 ここでいう対象格は、指示動作を規定する動詞による命題の実行対象を意味する。「ファイルAを転送して」という文言の場合、「転送して」という動詞に対して「ファイルA」が対象格として係り受けすることになる。また終点格とは、対象格で規定される実行対象が反映される場所、実行対象による恩恵を受ける先、実行対象が送られる先を規定するものである。「ファイルAを山田太郎に送って」という文言の場合、「送って」という動詞に対して、「ファイルA」が対象格として係り受けし、更にこれが山田太郎を終点として送るものであるから、この終点格は「山田太郎」となる。 The object case here means the execution object of the proposition by the verb that defines the referent action. In the case of the phrase "transfer file A", "file A" is subject to the verb "transfer". In addition, the terminal case defines the place where the execution object defined by the object case is reflected, the recipient of the benefit of the execution object, and the destination to which the execution object is sent. In the case of the sentence ``Send File A to Taro Yamada'', the verb ``Send'' is subject to ``File A'' as an object case, and since this is what is sent with Taro Yamada as the end point, This final case is "Taro Yamada".
 次にステップS13に移行し、自然言語解析された会話文の意味動作決定を行う。このステップS13では、自然言語解析を通じて解析した指示動作、格成分から、実行動作命令、実行動作対象、実行動作先等からなる意味動作を決定する。 Next, the process proceeds to step S13 to determine the meaning and action of the natural language-analyzed conversational sentence. In this step S13, a semantic action consisting of an execution action instruction, an execution action target, an execution action destination, etc. is determined from the instruction action and the case component analyzed through the natural language analysis.
 プログラムコード自動生成装置1の演算部は、先ずステップS12において自然言語解析した会話文について、抽出された指示動作に対応する実行動作命令と、抽出された対象格に対応する実行動作対象と、抽出された終点格に対応する実行動作先とを、実行動作テーブル、対象格テーブル、終点格テーブルの各連関度を参照することにより探索する。 First, in step S12, the arithmetic unit of the automatic program code generation device 1 performs the natural language analysis of the conversational sentence, the execution action command corresponding to the extracted pointing action, the execution action object corresponding to the extracted object case, and the extracted The destination of the execution action corresponding to the given end case is searched by referring to the degrees of association of the execution action table, the object case table, and the end case table.
 ここでいう実行動作命令は、実際のプログラムコードにおいて実行動作を命令するための文言であり、実際のデータベース登録、ファイルへの書き込み、転送、削除、モニタ表示等に対応する。 The execution operation command here is a word for commanding the execution operation in the actual program code, and corresponds to actual database registration, file writing, transfer, deletion, monitor display, etc.
 実行動作対象とは、この実行動作命令を実行する対象を示すものであり、請求書や日報、仕様書のファイル、データ、或いはメール等であってもよいし、商品名や様々な事象、情報(例えば勤務時間や、在庫等)であってもよい。 The execution operation target indicates the object for executing this execution operation command, and may be invoices, daily reports, specification files, data, emails, etc., product names, various events, and information. (eg, working hours, inventory, etc.).
 この実行動作対象と実行動作命令とを組み合わせることで様々なプログラムコードを完成することができる。 Various program codes can be completed by combining this execution operation target and execution operation instructions.
 例えば、実行動作命令が「転送」であり、実行動作命令が「仕様書のファイル」であれば、これを組み合わせることで「仕様書のファイルの転送」というプログラムコードを作り上げることが可能となる。 For example, if the execution command is "transfer" and the execution command is "specification file", it is possible to create the program code "transfer of specification file" by combining them.
 実行動作先とは、実行動作命令を実行する実行先を示すものである。例えば、本システムを設けるユーザが企業毎に予め実行先を設定登録しておくようにしてもよい。例えば図3に示すように、社内LANにおいて、「山田太郎のPC」、「徳川課長のPC」、「開発部の共用PC」等を実行動作先として登録しておくようにしてもよい。また、社内LANを越えたが社外の取引先についても、外部の公衆通信網を介して「取引先A社の担当者B」等のように登録してもよい。 The execution destination indicates the execution destination for executing the execution action instruction. For example, a user who installs this system may set and register an execution destination in advance for each company. For example, as shown in FIG. 3, "Taro Yamada's PC", "Manager Tokugawa's PC", "development department's shared PC", etc. may be registered as execution destinations in the company LAN. In addition, it is also possible to register, for example, "Person in charge B of company A", etc., through an external public communication network with respect to business partners outside the company, even though the in-house LAN is crossed.
 即ち、本発明を実施する前に、終点格テーブルを作成することになるが、この作成時において、通信ネットワーク中の各端末装置(例えば、「山田太郎のPC」、「徳川課長のPC」、「開発部の共用PC」等)を上記終点格テーブルの各参照用実行動作先として予め登録する動作を実行してもよい。 That is, before implementing the present invention, an end-point case table is created. "Shared PC of the development department") may be registered in advance as each referencing execution destination of the terminal case table.
 次にステップS14へ移行し、意味動作決定された会話文を実行するためのプログラムコード解析を行う。このプログラムコードの関連付け解析は、プログラムコードの基本構文を抽出する動作を行う。 Next, the program moves to step S14 and analyzes the program code for executing the conversation sentence for which the semantic action has been determined. This program code association analysis operates to extract the basic syntax of the program code.
 なお、ステップS13、14の具体的な方法については、後段において詳述する。 The specific method of steps S13 and S14 will be detailed later.
 次にステップS15に移行し、プログラムコードの作成を行う。ステップS14においては、上述したように単にプログラムコードの基本構文を抽出したに過ぎず、実際の処理動作の対象や、処理動作を完成させるために必要な各条件を規定する文言を代入することでプログラムコードが完成になる。このため、ステップS15では、抽出したプログラムコードの基本構文に対して、実行動作対象、実行動作先、実行動作命令を規定する文言を代入することで、当該実行動作対象を当該実行動作先に対して当該実行動作命令に規定された実行動作を実行するためのプログラムコードを生成する。 Next, move to step S15 to create a program code. In step S14, as described above, the basic syntax of the program code is merely extracted, and the target of the actual processing operation and the text that defines each condition necessary to complete the processing operation are substituted. The program code is complete. For this reason, in step S15, by substituting words defining an execution target, an execution target, and an execution action command into the basic syntax of the extracted program code, the execution target is assigned to the execution target. to generate a program code for executing the execution action specified in the execution action instruction.
 このステップS11~S15の工程において、ステップS11において受け付けられた会話文に含められているユーザの意図に基づいてプログラムを自動生成させることができる。 In the process of steps S11 to S15, a program can be automatically generated based on the user's intention included in the conversation received in step S11.
 このようにしてプログラムコードを完成させた後、これをユーザに提供し、或いはプログラムコード自動生成装置1の報知部を介して表示するようにしてもよいし、プログラムコード自動生成装置1の実行部を介してその完成させたプログラムコードを実行させるようにしてもよい。即ち、本発明によれば、この自動生成したプログラムコードをそのまま実行させるようにすることが可能となる。このため、ステップS11からの工程から含めた場合には、ユーザが会話文を発することで、その意図を組み込んだプログラムコードを自動生成することができ、しかもその生成したプログラムコードをそのまま実行に移すことができる。これは、ユーザがシステムに対して実行して欲しい動作を会話文で話すか、これに応じたテキストデータを入力すると、その意図を組み込んだ動作を、自動生成したプログラムコードに基づいてそのまま実行させることが可能となる。 After completing the program code in this way, it may be provided to the user, or may be displayed via the notification unit of the automatic program code generation device 1, or may be displayed by the execution unit of the automatic program code generation device 1. , the completed program code may be executed. That is, according to the present invention, it is possible to execute the automatically generated program code as it is. Therefore, when the process is included from step S11, when the user utters a conversation sentence, program code incorporating the intention can be automatically generated, and the generated program code can be executed as it is. be able to. When the user speaks the action he wants the system to perform in conversational sentences or inputs text data according to this, the action incorporating the intention is executed as it is based on the automatically generated program code. becomes possible.
 次にステップS13の自然言語解析された会話文の意味動作決定、ステップS14の意味動作決定された会話文を実行するためのプログラムコード解析の詳細な方法について説明をする。 Next, a detailed method of program code analysis for determining the semantic action of the conversational sentence subjected to natural language analysis in step S13 and executing the semantic action-determined conversational sentence in step S14 will be described.
 これらの方法を実行する上では、参照用指示動作に対する実際の実行動作命令が3段階以上の連関度を以って関連付けられた実行動作テーブルと、参照用対象格に対する実際の実行動作対象が3段階以上の連関度を以って関連付けられた対象格テーブルを利用する。これらの各テーブルは視覚的に視認できるような表やマトリックスで整理されている場合に限定されるものではなく、単に人工知能の機械学習モデルが記憶された学習済みデータ、並びにその集合で構成されていてもよい。 In carrying out these methods, an execution action table in which actual execution action commands are associated with referential actions with three or more degrees of association, and three actual execution action objects with respect to reference objects are provided. Use the object case table associated with the degree of association of a grade or higher. Each of these tables is not limited to being arranged in a visually visible table or matrix, but is simply composed of learned data in which machine learning models of artificial intelligence are stored and their collections. may be
 図4、5は、これらのうち実行動作テーブルの例を示している。この実行動作テーブルでは、参照用指示動作と、実行動作命令との3段階以上の連関度が予め設定されていることが前提となる。入力データとして例えば参照用指示動作P01~P03であるものとする。例えば、この参照用指示動作P01は、「送っておいて」、参照用指示動作P02は「アップしておいて」、参照用指示動作P03は「消しておいて」等であるものとする。このような入力データとしての参照用指示動作P01~P03は、出力としての実行動作命令に連結している。 4 and 5 show examples of execution operation tables among these. In this execution motion table, it is premised that three or more degrees of association between reference instruction motions and execution motion commands are set in advance. Assume that the input data are reference instruction operations P01 to P03, for example. For example, the reference instruction action P01 is "send", the reference instruction action P02 is "up", and the reference instruction action P03 is "erase". Such reference instruction operations P01 to P03 as input data are linked to execution operation commands as outputs.
 このような参照用指示動作は、この出力解としての実行動作命令(例えば、「ファイルを開く」、「転送する」、「印刷する」、「削除する」等)に対して3段階以上の連関度を通じて互いに連関しあっている。参照用指示動作がこの連関度を介して左側に配列し、各実行動作命令が連関度を介して右側に配列している。連関度は、左側に配列された参照用指示動作に対して、何れの実行動作命令と関連性が高いかの度合いを示すものである。換言すれば、この連関度は、各指示動作が、いかなる実行動作命令に紐付けられる可能性が高いかを示す指標であり、指示動作から最も確からしい実行動作命令を選択する上での的確性を示すものである。図4の例では、連関度としてw13~w19が示されている。このw13~w19は以下の表1に示すように10段階で示されており、10点に近いほど、中間ノードとしての各組み合わせが出力としての実行動作命令と互いに関連度合いが高いことを示しており、逆に1点に近いほど中間ノードとしての各組み合わせが出力としての実行動作命令と互いに関連度合いが低いことを示している。 Such a referencing instruction action has three or more levels of association with an execution action command (for example, "open file", "transfer", "print", "delete", etc.) as an output solution. They are related to each other through degrees. Reference instruction actions are arranged on the left side through this degree of association, and each execution action instruction is arranged on the right side through the degree of association. The degree of relevance indicates the degree of relevance to which of the execution motion commands the referential motions arranged on the left side are highly related. In other words, the degree of association is an index indicating the high possibility that each instructed action is linked to any execution action command, and is an indicator of the accuracy in selecting the most probable execution action command from the instructed actions. is shown. In the example of FIG. 4, w13 to w19 are shown as association degrees. These w13 to w19 are shown in 10 stages as shown in Table 1 below, and the closer to 10 points, the higher the degree of correlation between each combination as an intermediate node and the execution operation command as an output. Conversely, the closer to one point, the lower the degree of correlation between each combination as an intermediate node and the execution action command as an output.
Figure JPOXMLDOC01-appb-T000001
Figure JPOXMLDOC01-appb-T000001
 このような図4に示す3段階以上の連関度w13~w19を予め取得しておく。つまり実際の探索解の判別を行う上で、処理動作と、実行動作命令の何れが採用、評価されたか、過去のデータセットを蓄積しておき、これらを分析、解析することで図5に示す連関度を作り上げておく。 Such three or more levels of association w13 to w19 shown in FIG. 4 are obtained in advance. In other words, in determining the actual search solution, which of the processing operation and the execution operation command was adopted and evaluated is accumulated in the past data sets, and these are analyzed and analyzed, as shown in FIG. Build up the relevance.
 例えば、過去において参照用指示動作P01に対して実行動作命令として「ファイルを開く」が最も適合性が高いと判断され、評価されたものとする。このようなデータセットを集めて分析することにより、参照用指示動作との連関度が強くなる。 For example, in the past, it is assumed that "open file" was judged to be most suitable as an execution action command for reference instruction action P01 and was evaluated. By collecting and analyzing such a data set, the degree of association with the reference pointing action is strengthened.
 この分析、解析は人工知能により行うようにしてもよい。かかる場合には、例えば指示動作P01である場合に、過去のデータセットに基づいて分析する。指示動作P01である場合に、「ファイルを開く」の事例が多い場合には、この実行動作命令につながる連関度をより高く設定し、「印刷する」の事例が多い場合には、この実行動作命令につながる連関度をより高く設定する。例えば処理動作P01の例では、「ファイルを開く」と、「印刷する」にリンクしているが、以前の事例から「ファイルを開く」につながるw13の連関度を7点に、「印刷する」につながるw14の連関度を2点に設定している。 This analysis may be performed by artificial intelligence. In such a case, for example, in the case of instruction action P01, the analysis is performed based on the past data set. In the case of the instructed action P01, if there are many cases of "open file", the degree of association leading to this execution action command is set higher, and if there are many cases of "print", this execution action is set. Set higher relevance leading to orders. For example, in the example of processing operation P01, "open file" is linked to "print", but from the previous example, the relevance of w13 leading to "open file" is set to 7 points, and "print" is linked. is set to 2 points.
 また、この連関度は、人工知能におけるニューラルネットワークのノードで構成されるものであってもよい。即ち、このニューラルネットワークのノードが出力に対する重み付け係数が、上述した連関度に対応することとなる。またニューラルネットワークに限らず、人工知能を構成するあらゆる意思決定因子で構成されるものであってもよい。 In addition, this degree of association may be composed of nodes of a neural network in artificial intelligence. That is, the weighting coefficients for the outputs of the nodes of this neural network correspond to the degrees of association described above. Moreover, it is not limited to a neural network, and may be composed of all decision-making factors that constitute artificial intelligence.
 かかる場合には、図5に示すように、入力データとして処理動作が入力され、出力データとして実行動作命令が出力され、入力ノードと出力ノードの間に少なくとも1以上の隠れ層が設けられ、機械学習させるようにしてもよい。入力ノード又は隠れ層ノードの何れか一方又は両方において上述した連関度が設定され、これが各ノードの重み付けとなり、これに基づいて出力の選択が行われる。そして、この連関度がある閾値を超えた場合に、その出力を選択するようにしてもよい。 In such a case, as shown in FIG. 5, a processing operation is input as input data, an execution operation instruction is output as output data, at least one or more hidden layers are provided between the input node and the output node, and the machine You may make it learn. Either or both of the input nodes and the hidden layer nodes are set with the above-mentioned degree of relevance, which serves as a weighting for each node, based on which the output is selected. Then, when the degree of association exceeds a certain threshold, the output may be selected.
 このような連関度が、人工知能でいうところの学習済みデータとなる。このような学習済みデータを作った後に、実際にこれから新たに指示動作から実行動作命令の探索を行うこととなる。かかる場合には、ステップS12において抽出した指示動作を新たに取得する。新たに取得した指示動作に基づいて、これに見合う実行動作命令を探索する。かかる場合には、予め取得した図4(表1)に示す連関度を参照する。例えば、新たに取得した指示動作がP02と同一かこれに類似するものである場合には、連関度を介して「転送する」がw15、「印刷する」が連関度w16で関連付けられている。かかる場合には、連関度の最も高い「転送する」を最適解として選択する。但し、最も連関度の高いものを最適解として選択することは必須ではなく、連関度は低いものの連関性そのものは認められる「印刷する」を最適解として選択するようにしてもよい。また、これ以外に矢印が繋がっていない出力解を選択してもよいことは勿論であり、連関度に基づくものであれば、その他いかなる優先順位で選択されるものであってもよい。 Such a degree of association becomes learned data in terms of artificial intelligence. After such learned data is created, a search for an execution motion command is actually newly performed from the instructed motion. In such a case, the instruction action extracted in step S12 is newly obtained. Based on the newly acquired instructed action, a search is made for an execution action command that matches it. In such a case, reference is made to the degrees of association shown in FIG. 4 (Table 1) that have been acquired in advance. For example, if the newly acquired instruction action is the same as or similar to P02, "transfer" is associated with w15 and "print" with w16. In such a case, "transfer" with the highest degree of association is selected as the optimum solution. However, it is not essential to select the one with the highest degree of association as the optimum solution, and "print", which has a low degree of association but still recognizes the association itself, may be selected as the optimum solution. In addition, it is of course possible to select an output solution that is not connected by an arrow, and any other priority may be used as long as it is based on the degree of association.
 このときプログラムコード自動生成装置1の記憶部に類義語辞書を格納しておくようにしてもよい。類義語辞書とは、類義語に関する辞書である。類義語辞書には、プログラムコード自動生成装置1の記憶部に格納されている1以上の各参照用指示動作ごとに、当該参照用指示動作が有する単語と、当該単語の1または2以上の類義語とが登録されている。具体的には、例えば、参照用指示動作「転送する」に対応付けて、「送信する」、「配信する」などが登録されていてもよい。そして、この類義語辞書を介して、新たに取得した指示動作が参照用指示動作と類似するか否かを判別することができる。仮に参照用指示動作が「転送する」である場合において、新たに取得した指示動作が「送信する」である場合、類義語辞書において類似するものとして予め登録されていることから「配信する」に対応するものと判断することが可能となる。 At this time, a synonym dictionary may be stored in the storage unit of the automatic program code generation device 1. A synonym dictionary is a dictionary about synonyms. The synonym dictionary contains, for each of one or more reference instruction actions stored in the storage unit of the automatic program code generation device 1, a word possessed by the reference instruction action and one or two or more synonyms of the word. is registered. Specifically, for example, "send", "distribute", etc. may be registered in association with the instruction action for reference "transfer". Through this synonym dictionary, it is possible to determine whether or not the newly acquired pointing action is similar to the referring pointing action. If the instruction action for reference is "transfer" and the newly acquired instruction action is "send", it corresponds to "distribute" because it is registered in advance as a similar action in the synonym dictionary. It is possible to judge that
 このような連関度を参照することにより、テキストデータから抽出した指示動作がいかなる実行動作命令に該当するものであるのかを精度良く判別することができる。 By referring to such a degree of association, it is possible to accurately determine to which execution action command the instruction action extracted from the text data corresponds.
 図6、7は、参照用対象格に対する実際の実行動作対象が3段階以上の連関度を以って関連付けられた対象格テーブルを利用する例について示している。  Figs. 6 and 7 show an example of using an object case table in which an object case for reference and an object for an actual execution action are associated with a degree of association of three or more levels.
 この対象格テーブルでは、参照用対象格と、実行動作対象との3段階以上の連関度が予め設定されていることが前提となる。入力データとして例えば参照用対象格P01~P03であるものとする。例えば、この参照用対象格P04は、「12月3日12時のメール」、参照用対象格P05は「納品書」、参照用対象格P06は「週報」等であるものとする。このような入力データとしての参照用対象格P04~P06は、出力としての実行動作対象に連結している。 In this object case table, it is assumed that three or more degrees of association between the reference case and the execution action object are set in advance. Assume that the input data are reference cases P01 to P03, for example. For example, the reference case P04 is "mail at 12 o'clock on December 3", the reference case P05 is "statement of delivery", and the reference case P06 is "weekly report". Such reference objects P04 to P06 as input data are linked to execution action objects as outputs.
 このような参照用対象格は、この出力解としての実行動作対象(例えば、「12月7日14時受信のメール」、「請求書」、「日報」、「仕様書」等)に対して3段階以上の連関度を通じて互いに連関しあっている。参照用対象格がこの連関度を介して左側に配列し、各実行動作対象が連関度を介して右側に配列している。連関度は、左側に配列された参照用対象格に対して、何れの実行動作対象と関連性が高いかの度合いを示すものである。換言すれば、この連関度は、各対象格が、いかなる実行動作対象に紐付けられる可能性が高いかを示す指標であり、対象格から最も確からしい実行動作対象を選択する上での的確性を示すものである。図6の例では、連関度としてw13~w19が示されている。図7の連関度の例は、図4のものと必ずしも同一とならないことは勿論である。 Such a reference case is applied to the execution action object (for example, "mail received at 14:00 on December 7", "invoice", "daily report", "specification", etc.) as this output solution. They are related to each other through three or more levels of relatedness. Objects for reference are arranged on the left side through this degree of association, and each execution action object is arranged on the right side through the degree of association. The degree of relevance indicates the degree of relevance to which execution action object the reference case arranged on the left side has a high degree of relevance to. In other words, the degree of association is an index indicating whether each object case is highly likely to be associated with an execution action object, and is an indicator of the accuracy in selecting the most probable execution action object from the object cases. is shown. In the example of FIG. 6, w13 to w19 are shown as association degrees. Of course, the examples of association degrees in FIG. 7 are not necessarily the same as those in FIG.
 このような図6に示す3段階以上の連関度w13~w19を予め取得しておく。つまり実際の探索解の判別を行う上で、対象格と、実行動作対象の何れが採用、評価されたか、過去のデータセットを蓄積しておき、これらを分析、解析することで図6に示す連関度を作り上げておく。 Such three or more levels of association w13 to w19 shown in FIG. 6 are obtained in advance. In other words, in determining the actual search solution, which of the target case and the target of the execution action was adopted and evaluated is accumulated in past data sets, and these are analyzed and analyzed, as shown in FIG. Build up the relevance.
 例えば、過去において参照用対象格P04に対して実行動作対象として「請求書」が最も適合性が高いと判断され、評価されたものとする。このようなデータセットを集めて分析することにより、参照用対象格との連関度が強くなる。 For example, in the past, it is assumed that "bill" was judged to be most suitable as an object to be executed for reference object P04 and was evaluated. By collecting and analyzing such data sets, the degree of association with the reference case becomes stronger.
 この分析、解析は人工知能により行うようにしてもよい。かかる場合には、例えば対象P04である場合に、過去のデータセットに基づいて分析する。対象格P04である場合に、「12月7日14時受信のメール」の事例が多い場合には、この実行動作対象につながる連関度をより高く設定し、「請求書」の事例が多い場合には、この実行動作対象につながる連関度をより高く設定する。例えば参照用対象格P04の例では、「12月7日14時受信のメール」と、「日報」にリンクしているが、以前の事例から「12月7日14時受信のメール」につながるw13の連関度を7点に、「日報」につながるw14の連関度を2点に設定している。 This analysis may be performed by artificial intelligence. In such a case, for example, the target P04 is analyzed based on the past data set. In the case of the target case P04, if there are many cases of "mail received at 14:00 on December 7", the degree of association leading to this execution action target is set higher, and if there are many cases of "invoice" , the degree of association leading to this execution action target is set higher. For example, in the example of reference object P04, "email received at 14:00 on December 7" is linked to "daily report", but from the previous example, it leads to "email received at 14:00 on December 7". The degree of relevance of w13 is set to 7 points, and the degree of relevance of w14 connected to "daily report" is set to 2 points.
 また、この連関度は、人工知能におけるニューラルネットワークのノードで構成されるものであってもよい。 In addition, this degree of association may be composed of nodes of a neural network in artificial intelligence.
 かかる場合には、図7に示すように、入力データとして処理動作が入力され、出力データとして実行動作命令が出力され、入力ノードと出力ノードの間に少なくとも1以上の隠れ層が設けられ、機械学習させるようにしてもよい。入力ノード又は隠れ層ノードの何れか一方又は両方において上述した連関度が設定され、これが各ノードの重み付けとなり、これに基づいて出力の選択が行われる。そして、この連関度がある閾値を超えた場合に、その出力を選択するようにしてもよい。 In such a case, as shown in FIG. 7, a processing operation is input as input data, an execution operation instruction is output as output data, at least one or more hidden layers are provided between the input node and the output node, and the machine You may make it learn. Either or both of the input nodes and the hidden layer nodes are set with the above-mentioned degree of relevance, which serves as a weighting for each node, based on which the output is selected. Then, when the degree of association exceeds a certain threshold, the output may be selected.
 このような連関度が、人工知能でいうところの学習済みデータとなる。このような学習済みデータを作った後に、実際にこれから新たに対象格から実行動作対象の探索を行うこととなる。かかる場合には、ステップS12において抽出した対象格を新たに取得する。新たに取得した対象格に基づいて、これに見合う実行動作対象を探索する。かかる場合には、予め取得した図6(表1)に示す連関度を参照する。例えば、新たに取得した対象格がP05と同一かこれに類似するものである場合には、連関度を介して「請求書」がw15、「日報」が連関度w16で関連付けられている。かかる場合には、連関度の最も高い「請求書」を最適解として選択する。但し、最も連関度の高いものを最適解として選択することは必須ではなく、連関度は低いものの連関性そのものは認められる「日報」を最適解として選択するようにしてもよい。また、これ以外に矢印が繋がっていない出力解を選択してもよいことは勿論であり、連関度に基づくものであれば、その他いかなる優先順位で選択されるものであってもよい。 Such a degree of association becomes learned data in terms of artificial intelligence. After such learned data is created, a new search for an execution action target is actually performed from the object case. In such a case, the object cases extracted in step S12 are newly obtained. Based on the newly acquired object case, a search is made for an execution action object that matches the object case. In such a case, reference is made to the degrees of association shown in FIG. 6 (Table 1) that have been acquired in advance. For example, when the newly acquired object case is the same as or similar to P05, "invoice" is associated with w15 and "daily report" is associated with w16. In such a case, the "bill" with the highest degree of association is selected as the optimum solution. However, it is not essential to select the one with the highest degree of association as the optimum solution, and the "daily report", which has a low degree of association but is recognized for its association itself, may be selected as the optimum solution. In addition, it is of course possible to select an output solution that is not connected by an arrow, and any other priority may be used as long as it is based on the degree of association.
 このときプログラムコード自動生成装置1の記憶部に類義語辞書を格納しておくようにしてもよい。類義語辞書には、プログラムコード自動生成装置1の記憶部に格納されている1以上の各参照用対象格ごとに、当該対象格が有する単語と、当該単語の1または2以上の類義語とが登録されている。具体的には、例えば、参照用対象格「日報」に対応付けて、「業務報告書」、「業務日誌」などが登録されていてもよい。そして、この類義語辞書を介して、新たに取得した対象格が参照用対象格と類似するか否かを判別することができる。仮に参照用対象格が「日報」である場合において、新たに取得した対象格が「業務日誌」である場合、類義語辞書において類似するものとして予め登録されていることから「日報」に対応するものと判断することが可能となる。 At this time, a synonym dictionary may be stored in the storage unit of the automatic program code generation device 1. In the synonym dictionary, for each of the one or more reference object cases stored in the storage unit of the automatic program code generation device 1, a word possessed by the object case and one or two or more synonyms of the word are registered. It is Specifically, for example, "business report", "business diary", etc. may be registered in association with the object for reference "daily report". Through this synonym dictionary, it is possible to determine whether or not the newly acquired object case is similar to the reference object case. If the object case for reference is "daily report" and the newly acquired object case is "business diary", it corresponds to "daily report" because it is registered in advance as a similar word in the synonym dictionary. can be determined.
 このような連関度を参照することにより、テキストデータから抽出した対象格がいかなる実行動作対象に該当するものであるのかを精度良く判別することができる。  By referring to such a degree of association, it is possible to accurately determine to what execution action object the object case extracted from the text data corresponds.
 図8、9は、参照用終点格に対する実際の実行動作対象が3段階以上の連関度を以って関連付けられた終点格テーブルを利用する例について示している。  Figures 8 and 9 show an example of using a terminal case table in which actual execution action targets are associated with reference terminal cases with a degree of association of three or more levels.
 この終点格テーブルでは、参照用終点格と、実行動作先との3段階以上の連関度が予め設定されていることが前提となる。入力データとして例えば参照用終点格P07~P09であるものとする。例えば、この参照用終点格P07は、「山田太郎のPC」、参照用終点格P08は「土井課長のPC」、参照用終点格P09は「取引先A社の担当者C」等であるものとする。このような入力データとしての参照用終点格P07~P09は、出力としての実行動作先に連結している。 In this terminal case table, it is assumed that three or more degrees of association between the reference terminal case and the execution action destination are set in advance. It is assumed that the input data are, for example, reference end points P07 to P09. For example, the reference ending point P07 is "Taro Yamada's PC", the reference ending point P08 is "Doi's PC", and the reference ending point P09 is "person in charge of customer A company C". and The reference end points P07 to P09 as such input data are linked to the execution action destinations as outputs.
 このような参照用終点格は、この出力解としての実行動作先(例えば、「山田太郎のPC」、「徳川課長のPC」、「取引先A社の担当者B」、「開発部の共用PC」等)に対して3段階以上の連関度を通じて互いに連関しあっている。参照用終点格がこの連関度を介して左側に配列し、各実行動作先が連関度を介して右側に配列している。連関度は、左側に配列された参照用終点格に対して、何れの実行動作先と関連性が高いかの度合いを示すものである。換言すれば、この連関度は、各終点格が、いかなる実行動作先に紐付けられる可能性が高いかを示す指標であり、終点格から最も確からしい実行動作先を選択する上での的確性を示すものである。図8の例では、連関度としてw13~w19が示されている。図8の連関度の例は、図4、6のものと必ずしも同一とならないことは勿論である。 Such an end point case for reference is the destination of the execution action as this output solution (for example, "Taro Yamada's PC", "Tokugawa's PC", "Person in charge B of company A", "Shared development department PC", etc.) are related to each other through a degree of association of three or more levels. The end point case for reference is arranged on the left side through this degree of association, and each execution action destination is arranged on the right side through the degree of association. The degree of relevance indicates the degree of relevance with which execution action destination the reference end case arranged on the left side is highly relevant. In other words, the degree of association is an index that indicates the high possibility that each end case is associated with an execution action destination, and is an indicator of the accuracy in selecting the most probable execution action destination from the end case. is shown. In the example of FIG. 8, w13 to w19 are shown as association degrees. Of course, the examples of association degrees in FIG. 8 are not necessarily the same as those in FIGS.
 このような図8に示す3段階以上の連関度w13~w19を予め取得しておく。つまり実際の探索解の判別を行う上で、終点格と、実行動作先の何れが採用、評価されたか、過去のデータセットを蓄積しておき、これらを分析、解析することで図8に示す連関度を作り上げておく。 Such three or more levels of association w13 to w19 shown in FIG. 8 are obtained in advance. In other words, in discriminating the actual search solution, past data sets are accumulated to determine which of the end point case and the execution action destination was adopted and evaluated, and these are analyzed and analyzed, as shown in FIG. Build up the relevance.
 例えば、過去において参照用終点格P07に対して実行動作先として「取引先A社の担当者B」が最も適合性が高いと判断され、評価されたものとする。このようなデータセットを集めて分析することにより、この参照用終点格P07との連関度が強くなる。 For example, in the past, it is assumed that "Person in charge B of customer A company" was judged to be the most suitable as an execution action destination for the reference end point P07 and was evaluated. By collecting and analyzing such a data set, the degree of association with this reference ending case P07 becomes stronger.
 この分析、解析は人工知能により行うようにしてもよい。かかる場合には、例えば対象P07である場合に、過去のデータセットに基づいて分析する。終点格P07である場合に、「山田太郎のPC」の事例が多い場合には、この実行動作先につながる連関度をより高く設定し、「取引先A社の担当者B」の事例が多い場合には、この実行動作先につながる連関度をより高く設定する。例えば参照用終点格P07の例では、「山田太郎のPC」と、「取引先A社の担当者B」にリンクしているが、以前の事例から「山田太郎のPC」につながるw13の連関度を7点に、「取引先A社の担当者B」につながるw14の連関度を2点に設定している。 This analysis may be performed by artificial intelligence. In such a case, for example, the target P07 is analyzed based on the past data set. If there are many cases of "Taro Yamada's PC" when the end point is P07, the degree of association leading to this execution action destination is set higher, and there are many cases of "Person in charge B of company A". In this case, the degree of association leading to this execution action destination is set higher. For example, in the example of the reference end point P07, "Taro Yamada's PC" and "Person in charge B of company A" are linked. is set to 7 points, and the degree of association of w14 connected to "Person in charge B of company A" is set to 2 points.
 また、この連関度は、人工知能におけるニューラルネットワークのノードで構成されるものであってもよい。 In addition, this degree of association may be composed of nodes of a neural network in artificial intelligence.
 かかる場合には、図9に示すように、入力データとして処理動作が入力され、出力データとして実行動作命令が出力され、入力ノードと出力ノードの間に少なくとも1以上の隠れ層が設けられ、機械学習させるようにしてもよい。入力ノード又は隠れ層ノードの何れか一方又は両方において上述した連関度が設定され、これが各ノードの重み付けとなり、これに基づいて出力の選択が行われる。そして、この連関度がある閾値を超えた場合に、その出力を選択するようにしてもよい。 In such a case, as shown in FIG. 9, a processing operation is input as input data, an execution operation instruction is output as output data, at least one or more hidden layers are provided between the input node and the output node, and the machine You may make it learn. Either or both of the input nodes and the hidden layer nodes are set with the above-mentioned degree of relevance, which serves as a weighting for each node, based on which the output is selected. Then, when the degree of association exceeds a certain threshold, the output may be selected.
 このような連関度が、人工知能でいうところの学習済みデータとなる。このような学習済みデータを作った後に、実際にこれから新たに終点格から実行動作先の探索を行うこととなる。かかる場合には、ステップS12において抽出した終点格を新たに取得する。新たに取得した終点格に基づいて、これに見合う実行動作先を探索する。かかる場合には、予め取得した図9(表1)に示す連関度を参照する。例えば、新たに取得した終点格がP08と同一かこれに類似するものである場合には、連関度を介して「徳川課長のPC」がw15、「取引先A社の担当者B」が連関度w16で関連付けられている。かかる場合には、連関度の最も高い「徳川課長のPC」を最適解として選択する。但し、最も連関度の高いものを最適解として選択することは必須ではなく、連関度は低いものの連関性そのものは認められる「取引先A社の担当者B」を最適解として選択するようにしてもよい。また、これ以外に矢印が繋がっていない出力解を選択してもよいことは勿論であり、連関度に基づくものであれば、その他いかなる優先順位で選択されるものであってもよい。 Such a degree of association becomes learned data in terms of artificial intelligence. After creating such learned data, a new search for the destination of the execution action is actually performed from the end point case. In such a case, the final case extracted in step S12 is newly obtained. Based on the newly acquired end point case, a search is made for an execution action destination that matches this. In such a case, reference is made to the degrees of association shown in FIG. 9 (Table 1) that have been acquired in advance. For example, if the newly acquired end point is the same as or similar to P08, "Tokugawa's PC" is w15 and "Person in charge B of company A" is associated with degree w16. In such a case, "Tokugawa's PC" with the highest degree of association is selected as the optimum solution. However, it is not essential to select the one with the highest degree of correlation as the optimal solution, and instead select "Person in charge B of company A", who has a low degree of correlation but is recognized for the correlation itself, as the optimal solution. good too. In addition, it is of course possible to select an output solution that is not connected by an arrow, and any other priority may be used as long as it is based on the degree of association.
 このときプログラムコード自動生成装置1の記憶部に類義語辞書を格納しておくようにしてもよい。類義語辞書には、プログラムコード自動生成装置1の記憶部に格納されている1以上の各参照用終点格ごとに、当該終点格が有する単語と、当該単語の1または2以上の類義語とが登録されている。この類義語辞書を介して、新たに取得した終点格が参照用終点格と類似するか否かを判別するようにしてもよい。 At this time, a synonym dictionary may be stored in the storage unit of the automatic program code generation device 1. In the synonym dictionary, for each of one or more reference terminal cases stored in the storage unit of the automatic program code generation device 1, a word possessed by the terminal case and one or more synonyms of the word are registered. It is Via this synonym dictionary, it may be determined whether or not the newly acquired terminal case is similar to the reference terminal case.
 このような連関度を参照することにより、テキストデータから抽出した終点格がいかなる実行動作先に該当するものであるのかを精度良く判別することができる。  By referring to such a degree of association, it is possible to accurately determine to which execution action destination the terminal case extracted from the text data corresponds.
 このようにしてステップS13、14においてプログラムコードの関連付け解析を行うことで、抽出された指示動作に対応する実行動作命令と、抽出された対象格に対応する実行動作対象と、抽出された終点格に対応する実行動作先が絞り込まれることになる。 By performing the association analysis of the program code in steps S13 and S14 in this manner, the execution action instruction corresponding to the extracted instruction action, the execution action object corresponding to the extracted object case, and the extracted end case The execution action destinations corresponding to are narrowed down.
 次にステップS15におけるプログラムコードの作成方法の詳細について説明をする。プログラムコードの作成は、連関度を介して探索された実行動作対象、実行動作対象、実行動作先に基づいて、関連性の高いプログラムコードの基本構文を抽出する。そして、抽出したプログラムコードの基本構文に対して、連関度を介して探索された実行動作対象、実行動作対象、実行動作先を代入することにより行う。 Next, the details of the method of creating the program code in step S15 will be explained. The creation of the program code extracts the basic syntax of the highly relevant program code based on the execution action target, execution action target, and execution action destination searched through the degree of association. Then, the object of execution action, the object of execution action, and the destination of execution action searched through the degree of association are substituted for the basic syntax of the extracted program code.
 表2は、プログラムコードの基本コードを探索する例を示している。 Table 2 shows an example of searching for the basic code of the program code.
Figure JPOXMLDOC01-appb-T000002
Figure JPOXMLDOC01-appb-T000002
 プログラムコードの基本構文は、実際にPC等により各種処理動作を実行させるためのプログラムコードの原型である。このプログラムコードの基本構文に、必要な文言を代入することで、プログラムコードを完成させることができる。プログラムコードの基本構文の例としては、「INSERT INTO 登録先 VALUES {param1} ;」等であり、実行動作命令としての「INSERT」(登録する)があり、実行動作先としての「登録先」、実行動作対象としての({param1})が構文で既に出来上がっている。このような構文に対して、実際に連関度を介して探索された実行動作対象、実行動作対象、実行動作先をそれぞれ代入していくことでプログラムコードを完成させることができる。例えば「登録先」として、探索した実行動作先「山田太郎のPC」を代入し、({param1})として、探索した売上のデータを代入することで、「売上のデータを山田太郎のPCに登録する」というプログラムコードが完成させることができる。 The basic syntax of program code is the prototype of program code for actually executing various processing operations on a PC or the like. The program code can be completed by substituting necessary wordings into the basic syntax of the program code. An example of the basic syntax of the program code is "INSERT INTO registration destination VALUES {param1};" ({param1}) as the execution target is already completed in the syntax. The program code can be completed by substituting the execution action target, the execution action target, and the execution action destination actually searched through the degree of association into such a syntax. For example, by substituting the searched execution destination "Taro Yamada's PC" as the "registration destination", and substituting the searched sales data as ({param1}), "Sales data to Taro Yamada's PC The program code "Register" can be completed.
 同様に、「プレゼンテーション用のスライドを会議室のディスプレイに表示する」というテキストデータの場合には、対象格としての「プレゼンテーション用のスライド」、終点格としての「会議室のディスプレイ」、指示動作としての「表示する」が抽出され、それぞれに応じた実行動作対象、実行動作対象、実行動作先が探索される。そして、この実行動作先に応じたプログラムコードの基本構文が同様に探索されることになる。 Similarly, in the case of text data ``Display a presentation slide on the conference room display'', the object case is ``presentation slide'', the end case is ``conference room display'', and the instruction action is is extracted, and an execution action target, an execution action target, and an execution action destination corresponding to each are searched. Then, the basic syntax of the program code corresponding to this execution operation destination is similarly searched.
 実際には、表2に示すコードテーブルを介して、プログラムコードの基本構文の探索を行う。コードテーブルでは、同一の行にある参照用実行動作対象、参照用実行動作対象、参照用実行動作先に対して、プログラムコードの基本構文が互いに対応する関係となる。例えば、参照用実行動作対象「請求データ」であり、参照用実行動作命令が「DB参照」であれば、これに対応するプログラムコードの基本構文は、「SELECT 請求額 」となる。 In practice, the basic syntax of the program code is searched via the code table shown in Table 2. In the code table, the basic syntaxes of the program code correspond to the reference execution action target, the reference execution action target, and the reference execution action destination in the same row. For example, if the reference execution operation target is "billing data" and the reference execution operation command is "DB reference", the basic syntax of the corresponding program code is "SELECT billing amount".
 このとき、一つの参照用実行動作対象、参照用実行動作対象、参照用実行動作先の組み合わせが複数のプログラムコードの基本構文に対応する場合もあれば、逆に一つの基本構文が複数の参照用実行動作対象、参照用実行動作対象、参照用実行動作先の組み合わせに対応する場合もある。 At this time, the combination of one reference execution-action object, reference execution-action target, and reference execution-action target may correspond to a plurality of basic syntaxes of program code, and conversely, one basic syntax may correspond to a plurality of references. In some cases, it corresponds to a combination of an execution action target for reference, an execution action target for reference, and an execution action destination for reference.
 このようなコードテーブルをプログラムコード自動生成装置1の記憶部に記憶させておくことで、プログラムコード自動生成装置1の演算部による演算の過程でこれを読み出し、参照することができる。 By storing such a code table in the storage unit of the automatic program code generation device 1, it can be read out and referred to in the process of calculation by the calculation unit of the automatic program code generation device 1.
 図10は、コードテーブルについて人工知能による機械学習を通じてプロゴラムコードの基本構文を探索する例を示している。この図10の例では、コードテーブルにおける入力変数としての参照用実行動作命令と、参照用実行動作対象、参照用実行動作先とを有する組み合わせを入力し、プログラムコードの基本構文が出力となる。具体的には、入力データとして例えば参照用実行動作命令(「プリンタ出力」、「ファイルを開く」等)と、参照用実行動作対象、参照用実行動作先であるものとする。このような入力データとしての、参照用実行動作命令に対して、参照用実行動作対象、参照用実行動作先が組み合わさったものが、中間ノード61である。各中間ノード61は、更に出力に連結している。この出力においては、出力解としての、プログラムコードの基本構文A~Eが表示されている。プログラムコードの基本構文Aは、例えば、「SELECT 請求額 FROM 請求データ WHERE 会社= {param1} AND 請求月={param2};」であり、基本構文Bは、例えば「Write Line 商品リスト.dat {param1} ;」であるものとする。 Fig. 10 shows an example of searching for the basic syntax of a program code through machine learning using artificial intelligence for a code table. In the example of FIG. 10, a combination having a reference execution operation command, a reference execution operation target, and a reference execution operation destination as input variables in the code table is input, and the basic syntax of the program code is output. Specifically, it is assumed that the input data are, for example, a reference execution operation command ("printer output", "open file", etc.), a reference execution operation target, and a reference execution operation destination. An intermediate node 61 is a combination of a referencing execution action command as input data, a referencing execution action target, and a referencing execution action destination. Each intermediate node 61 is also connected to an output. In this output, basic syntaxes A to E of the program code are displayed as output solutions. The basic syntax A of the program code is, for example, "SELECT billing amount FROM billing data WHERE company = {param1} AND billing month = {param2};", and basic syntax B is, for example, "Write Line product list.dat {param1 } ;".
 参照用実行動作命令と、参照用実行動作対象、参照用実行動作先との各組み合わせ(中間ノード)は、この出力解としての、プログラムコードの基本構文に対して3段階以上の連関度を通じて互いに連関しあっている。参照用実行動作命令と、参照用実行動作対象、参照用実行動作先がこの連関度を介して左側に配列し、基本構文が連関度を介して右側に配列している。連関度は、左側に配列された実行動作命令等に対して、基本構文と関連性が高いかの度合いを示すものである。換言すれば、この連関度は、各参照用実行動作命令と、参照用実行動作対象、参照用実行動作先が、いかなるプログラムコードの基本構文に紐付けられる可能性が高いかを示す指標であり、実行動作命令等から最も確からしいプログラムコードの基本構文を選択する上での的確性を示すものである。 Each combination (intermediate node) of a reference execution action instruction, a reference execution action target, and a reference execution action target is mutually associated through three or more levels of association with the basic syntax of the program code as the output solution. They are related. Execution action instructions for reference, objects of execution action for reference, and execution action destinations for reference are arranged on the left side through the degree of association, and basic syntaxes are arranged on the right side through the degree of association. The degree of relevance indicates the degree of relevance to the basic syntax for the execution action instructions, etc., arranged on the left side. In other words, the degree of association is an index that indicates to what basic syntax of the program code each reference execution action instruction, reference execution action target, and reference execution action target are likely to be associated with each other. , execution operation instructions, etc., to select the most probable basic syntax of the program code.
 このような図10に示す3段階以上の連関度w13~w22を予め取得しておく。実際の探索解の判別を行う上で、参照用実行動作命令と、参照用実行動作対象、参照用実行動作先、並びにその場合のプログラムコードの基本構文が何れが好適であったか、過去のデータを蓄積しておき、これらを分析、解析することで連関度を作り上げておく。 Such three or more levels of association w13 to w22 shown in FIG. 10 are obtained in advance. In determining the actual search solution, past data is used to determine which of the reference execution operation instruction, the reference execution operation target, the reference execution operation destination, and the basic syntax of the program code in that case was suitable. By accumulating and analyzing these, the degree of association is created.
 この分析、解析は人工知能により行うようにしてもよい。かかる場合には、例えば参照用実行動作命令が「転送する」であり、参照用実行動作対象、参照用実行動作先が「売り上げのデータ、山田太郎のPC」である場合に、そのプログラムコードの基本構文を過去のデータから分析する。基本構文Cの事例が多い場合には、この基本構文Cにつながる連関度をより高く設定し、基本構文Eの事例が多く、基本構文Cの事例が少ない場合には、基本構文Eにつながる連関度を高くし、基本構文Cにつながる連関度を低く設定する。例えば中間ノード61aの例では、基本構文Aと基本構文Bの出力にリンクしているが、以前の事例から基本構文Aにつながるw13の連関度を7点に、基本構文Bにつながるw14の連関度を2点に設定している。 This analysis may be performed by artificial intelligence. In such a case, for example, when the reference execution operation command is "transfer" and the reference execution operation target and reference execution operation destination are "sales data, Taro Yamada's PC", the program code Analyze the basic syntax from past data. When there are many examples of basic syntax C, the degree of association leading to this basic syntax C is set higher. The degree of association leading to the basic syntax C is set low. For example, in the example of the intermediate node 61a, the outputs of basic syntax A and basic syntax B are linked. The degree is set to 2 points.
 また、この図10に示す連関度は、人工知能におけるニューラルネットワークのノードで構成されるものであってもよい。即ち、このニューラルネットワークのノードが出力に対する重み付け係数が、上述した連関度に対応することとなる。またニューラルネットワークに限らず、人工知能を構成するあらゆる意思決定因子で構成されるものであってもよい。 Also, the degree of association shown in FIG. 10 may be composed of nodes of a neural network in artificial intelligence. That is, the weighting coefficients for the outputs of the nodes of this neural network correspond to the degrees of association described above. Moreover, it is not limited to a neural network, and may be composed of all decision-making factors that constitute artificial intelligence.
 図10に示す連関度の例で、ノード61bは、基本構文Cの連関度がw15、基本構文Eの連関度がw16となっている。 In the example of the degree of relevance shown in FIG. 10, the degree of relevance of the node 61b for the basic syntax C is w15, and the degree of relevance for the basic syntax E is w16.
 このような連関度が、人工知能でいうところの学習済みデータとなる。このような学習済みデータを作った後に、実際にこれから基本構文の探索を行う際において、上述した学習済みデータを利用して行うこととなる。かかる場合には、ステップS13~S14において探索された実行動作命令と実行動作対象と、実行動作先を利用する。 Such a degree of association becomes learned data in terms of artificial intelligence. After creating such learned data, the above-described learned data will be used when actually searching for the basic syntax. In such a case, the execution operation command, the execution operation target, and the execution operation destination searched in steps S13 and S14 are used.
 このようにして新たに取得した実行動作命令と、実行動作対象と、実行動作先に基づいて、最適なプログラムコードの基本構文を探索する。かかる場合には、予め取得した図10(表1)に示す連関度を参照する。例えば、新たに取得した実行動作命令が「ファイルを開く」である場合であって、実行動作対象と、実行動作先がP21である場合には、連関度を介してノード61dが関連付けられており、このノード61dは、基本構文Cがw19、基本構文Dが連関度w20で関連付けられている。かかる場合には、連関度の最も高い基本構文Cを最適解として選択する。但し、最も連関度の高いものを最適解として選択することは必須ではなく、連関度は低いものの連関性そのものは認められる基本構文Dを最適解として選択するようにしてもよい。また、これ以外に矢印が繋がっていない出力解を選択してもよいことは勿論であり、連関度に基づくものであれば、その他いかなる優先順位で選択されるものであってもよい。  In this way, the basic syntax of the optimum program code is searched based on the newly obtained execution operation command, the execution operation target, and the execution operation destination. In such a case, reference is made to the degrees of association shown in FIG. 10 (Table 1) that have been acquired in advance. For example, when the newly acquired execution action command is "open file" and the execution action target and the execution action destination are P21, the node 61d is associated via the association degree. , this node 61d is associated with the basic syntax C with w19 and with the basic syntax D with the degree of association w20. In such a case, the basic syntax C with the highest degree of association is selected as the optimum solution. However, it is not essential to select the one with the highest degree of relevance as the optimum solution, and the basic syntax D, which has a low degree of relevance but is recognized as having relevance itself, may be selected as the optimum solution. In addition, it is of course possible to select an output solution that is not connected by an arrow, and any other priority may be used as long as it is based on the degree of association.
 また、入力から伸びている連関度w1~w12の例を以下の表3に示す。 Table 3 below shows an example of the degree of association w1 to w12 extending from the input.
Figure JPOXMLDOC01-appb-T000003
Figure JPOXMLDOC01-appb-T000003
 この入力から伸びている連関度w1~w12に基づいて中間ノード61が選択されていてもよい。つまり連関度w1~w12が大きいほど、中間ノード61の選択における重みづけを重くしてもよい。しかし、この連関度w1~w12は何れも同じ値としてもよく、中間ノード61の選択における重みづけは何れも全て同一とされていてもよい。 An intermediate node 61 may be selected based on the degree of association w1 to w12 extending from this input. In other words, the greater the degree of association w1 to w12, the heavier the weight in selecting the intermediate node 61 may be. However, the degrees of association w1 to w12 may all have the same value, and the weighting in selecting the intermediate nodes 61 may all be the same.
 なお、本発明は、上述した実施の形態に限定されるものではない。実行動作対象、実行動作対象、実行動作先を探索し、プログラムコードの基本構文に、実行動作対象、実行動作対象、実行動作先を代入することにより、当該実行動作対象を当該実行動作先に対して当該実行動作命令に規定された実行動作を実行するためのプログラムコードを生成するが場合について例をとり説明をしたが、これに限定されるものではない。実行動作先の探索を省略し、当該実行動作対象を当該実行動作命令に規定された実行動作を実行するためのプログラムコードを生成するものであってもよい。 It should be noted that the present invention is not limited to the above-described embodiments. By searching for an execution action target, an execution action target, and an execution action destination, and substituting the execution action target, the execution action target, and the execution action destination into the basic syntax of the program code, the execution action target is assigned to the execution action destination. Although the case where the program code for executing the execution operation specified in the execution operation instruction is generated by the execution operation instruction has been described as an example, the present invention is not limited to this. It is also possible to omit the search for the target of the execution action and generate the program code for executing the execution action specified in the execution action instruction on the target of the execution action.
 また、抽出対象の格成分は、上述した対象格や終点格に限定されるものではなく、始点格、条件格を含めてもよい。 In addition, the case components to be extracted are not limited to the above-mentioned object case and end case, but may include start case and conditional case.
 始点格とは、対象格で規定される実行対象が生成される場所、実行対象の開始元を規定するものである。「ファイルAを山田太郎から送って」という文言の場合、「送って」という動詞に対して、「ファイルA」が対象格として係り受けし、更にこれが山田太郎を始点として送られるものであるから、この始点格は「山田太郎」となる。 The starting case defines the place where the object to be executed defined by the object case is generated and the origin of the object to be executed. In the case of the sentence ``Please send file A from Taro Yamada'', the verb ``send'' has ``file A'' as an object case, and furthermore, this is what is sent starting from Taro Yamada. , the starting point case is "Taro Yamada".
 このような始点格を利用する場合においても、図8に示す終点格テーブルにおける、参照用終点格が参照用始点格になり、探索するのは実行動作元となる。つまり参照用始点格に対する実際の実行動作元が3段階以上の連関度を以って関連付けられた始点格テーブルを記憶しておく。そして、テキストデータを分析し、抽出された始点格に対する実行動作元を、記憶されている始点格テーブルの連関度を参照することにより探索する。次に、プログラムコードの基本構文に、探索された実行動作元を代入することにより、当該実行動作対象を当該実行動作元から当該実行動作先に対して当該実行動作命令に規定された実行動作を実行するためのプログラムコードを生成する。 Even when using such a starting case, the reference ending case in the ending case table shown in FIG. In other words, a starting point case table is stored in which actual execution action sources are associated with reference starting point cases with a degree of association of three or more levels. Then, the text data is analyzed, and the source of the execution action for the extracted start case is searched by referring to the association degree of the stored start case table. Next, by substituting the searched execution action source into the basic syntax of the program code, the execution action specified in the execution action instruction is executed from the execution action source to the execution action destination. Generate program code for execution.
 また、条件格とは、対象格で規定される実行対象の動作を実行する条件を規定するものである。この条件としては、いつ(時間)やどのような方法で(方法)、いつから開始(動作開始条件)、いつまでに実行(動作終了条件)等である。 In addition, the conditional case defines the conditions for executing the action to be executed defined by the objective case. The conditions include when (time), by what method (method), when to start (operation start condition), by when (operation end condition), and the like.
 例えば「ファイルAを明日までに送って」という文言の場合、「送って」という動詞に対して、「ファイルA」が対象格として係り受けし、更に「明日までに」が条件格として係り受けするものであるから、この条件格は「明日までに」となる。 For example, in the case of the phrase ``Send file A by tomorrow'', the verb ``send'' has ``file A'' as the subjective case, and ``by tomorrow'' as the conditional case. Therefore, the conditional case is ``by tomorrow''.
 このような始点格を利用する場合においても、図8に示す参照用終点格が参照用条件格になり、探索するのは実行動作条件となる。つまり参照用条件格に対する実際の実行動作条件が3段階以上の連関度を以って関連付けられた条件格テーブルを記憶しておく。そして、テキストデータを分析し、抽出された条件格に対する実行動作条件を、記憶されている条件格テーブルの連関度を参照することにより探索する。次に、プログラムコードの基本構文に、探索された実行動作条件を代入することにより、当該実行動作対象を当該実行動作先に対して当該実行動作条件に基づいて当該実行動作命令に規定された実行動作を実行することになる。 Even when using such a start case, the reference end case shown in FIG. That is, a conditional case table is stored in which actual execution action conditions are associated with reference conditional cases with a degree of association of three or more levels. Then, the text data is analyzed, and the execution action condition for the extracted conditional case is searched by referring to the degree of association of the stored conditional case table. Next, by substituting the searched execution operation condition into the basic syntax of the program code, the execution operation target is specified in the execution operation instruction based on the execution operation condition. will perform the action.
 なお、本発明は、上述した本実施形態に限定されるものではない。例えば図11に示すように、実行動作テーブル、対象格テーブル、終点格テーブルのそれぞれに規定されている連関度に基づいて、ユーザに対して入力内容を確認するための確認文を生成するようにしてもよい。生成した確認文は、音声出力又は画像出力するようにしてもよい。つまり、ユーザからの入力内容から実行動作命令、実行動作対象、実行動作先のいずれかが好適に特定することができない場合には、改めてその意図をユーザに問い合わせるための確認文を生成し、意図を確認するプロセスを実行する。探索解としての実行動作命令、実行動作対象、実行動作先は、何れも有限であるのに対して、ユーザにより生成されるテキストデータの文言の種類は無限に近い。このため、ユーザから生成されるテキストデータから抽出した指示動作や格成分によっては、実行動作命令、実行動作対象、実行動作先を探索することができない場合がある。また、ユーザが方言を使う場合、その方言の内容によっては実行動作命令、実行動作対象、実行動作先を連関度を通じて絞り込めない場合がある。かかる場合には、改めてその意図をユーザに問い合わせるための確認文を生成する。確認文の生成、通知に対してユーザから改めてテキストデータの再入力を受け付けることにあるが、このプロセスは、いわゆるチャット形式で行うようにしてもよい。 It should be noted that the present invention is not limited to the present embodiment described above. For example, as shown in FIG. 11, based on the degree of association defined in each of the execution action table, object case table, and end case table, a confirmation sentence for confirming the input content is generated for the user. may The generated confirmation sentence may be output as a voice or as an image. In other words, when any of the execution operation command, the execution operation target, and the execution operation destination cannot be suitably specified from the contents of the input from the user, a confirmation sentence is generated again to inquire of the user about the intention. Run a process to verify. While the number of execution action commands, execution action targets, and execution action destinations as search solutions is finite, the types of wording in text data generated by the user are nearly infinite. For this reason, it may not be possible to search for an execution action command, an execution action target, or an execution action destination depending on the pointing action or case component extracted from the text data generated by the user. Further, when the user uses a dialect, depending on the content of the dialect, it may not be possible to narrow down the execution action command, the execution action target, and the execution action destination through the degree of association. In such a case, a confirmation sentence is generated to inquire of the user again about the intention. The purpose of this process is to accept the re-input of the text data from the user in response to the generation and notification of the confirmation text, and this process may be performed in a so-called chat format.
 確認文の生成は、実行動作テーブル、対象格テーブル、終点格テーブルを介して探索した実行動作命令、実行動作対象、実行動作先にそれぞれ紐付けられていた連関度に基づいて行ってもよい。仮に実行動作テーブルにおいて「ファイルを開く」という実行動作命令が探索されたが、これに紐付いている連関度w13が10段階評価の中で5である場合、正直なところ、それほど強い連関度の下で実行動作命令が決定されたものではなく、ユーザの意図を汲み取った探索解になっていない可能性がある。つまり、実行動作命令、実行動作対象、実行動作先を連関度を通じて絞り込めないケースである。かかる場合には、確認文を生成し、ユーザの意図を確認し、再入力を受け付ける。そして受け付けた再入力の内容に基づいて動揺に解探索を行うようにしてもよい。このように実行動作命令、実行動作対象、実行動作先にそれぞれ紐付けられていた連関度がある一定の閾値未満である場合に、ユーザの意図を反映した探索が行われていないものと判断し、確認文を生成するようにしてもよい。この確認文は、予め例文を複数種類準備しておき、これに対して探索解に応じたものを例文中に代入することで行うようにしてもよい。例えば、実行動作命令「転送する」について本当にユーザが意図しているか否かを確認したい場合には、「ファイルAを●●されたいということですか?」の●●の部分にこの実行動作命令「転送(する)」を代入することで確認文を生成するようにしてもよい。 The confirmation sentence may be generated based on the degree of association associated with each execution action command, execution action target, and execution action destination searched through the execution action table, object case table, and end case table. If an execution action command "open file" is searched for in the execution action table, but the degree of association w13 associated with it is 5 out of 10 evaluations, to be honest, the degree of association is not so strong. Therefore, it is possible that the search solution does not reflect the user's intention. In other words, this is the case where the execution action command, the execution action target, and the execution action destination cannot be narrowed down through the degree of association. In such a case, a confirmation sentence is generated, the user's intention is confirmed, and re-input is accepted. Then, based on the content of the received re-input, the solution search may be carried out without hesitation. In this way, when the degree of association associated with the execution action command, the execution action target, and the execution action destination is less than a certain threshold, it is determined that the search reflecting the user's intention is not performed. , may generate a confirmation sentence. This confirmation sentence may be prepared by preparing a plurality of types of example sentences in advance, and substituting the sentence corresponding to the search solution into the example sentence. For example, if you want to check whether or not the user really intends to execute the execution operation command "transfer", you can replace the ●● part of "Do you mean that you want to ●● file A?" A confirmation message may be generated by substituting "transfer (to)".
 また、このような閾値を設定する代わりに、各テーブルを利用して探索した実行動作命令、実行動作対象、実行動作先にそれぞれ紐付けられていた連関度を互いに比較することで確認文を生成するようにしてもよい。仮に探索した実行動作命令、実行動作対象、実行動作先にそれぞれ紐付けられていた連関度を互いに比較したところ、その探索した実行動作対象に紐付けられている連関度が最も低い場合には、この実行動作対象を確認するための確認文を生成して出力するようにしてもよい。 In addition, instead of setting such a threshold, a confirmation sentence is generated by comparing the degree of association associated with each execution action command, execution action target, and execution action destination searched using each table. You may make it Assuming that the degrees of association associated with the searched execution action command, the execution action target, and the execution action target are compared with each other, if the degree of association associated with the searched execution action target is the lowest, A confirmation sentence for confirming this execution operation target may be generated and output.
 また、ユーザの音声にノイズが重畳していることから、これをテキストデータに落とし込んだ場合、そもそも類義語辞典にそのような文言が存在せず、参照用指示動作、参照用対象格、参照用終点格との照合ができない場合が出てくる。このように参照用指示動作、参照用対象格、参照用終点格との照合ができない場合も、同様に確認文を生成し、ユーザに出力するようにしてもよい。この確認文の生成は、照合ができない参照用指示動作、参照用対象格、参照用終点格毎に例文を作成して記憶しておき、実際に照合ができなかった参照用指示動作、参照用対象格、参照用終点格に応じて例文を読み出して出力するようにしてもよい。 In addition, since noise is superimposed on the user's voice, when this is converted into text data, there is no such wording in the thesaurus in the first place, and the pointing action for reference, the object for reference, and the end point for reference There are cases where it is not possible to match with the case. In this way, even if it is not possible to match the referencing action, the referential object case, or the referential end case, a confirmation sentence may be similarly generated and output to the user. This confirmation sentence is generated by creating and storing example sentences for each referential action, reference object case, and reference end case that cannot be matched, and Example sentences may be read out and output in accordance with the object case and the final point case for reference.
 連関度が相対的に引く場合には、ユーザの意図を反映した探索が行われていないものと判断し、確認文を生成することでその意図を確認することが可能となる。 If the degree of association is relatively low, it is possible to determine that the user's intent has not been reflected in the search, and generate a confirmation sentence to confirm that intent.
[実施形態2]
 次に、図12を用いて、本発明の実施形態2におけるプログラムコード自動生成システムについて説明する。図12は、実施形態2における実行動作テーブルの例を示す図である。上述の実施形態1におけるプログラムコード自動生成システム100と相違する点は、主に、実行動作テーブルで人工知能を用いないことなので、その点について主に説明し、同一構成は同一符号を付し、説明を省略する。
[Embodiment 2]
Next, a program code automatic generation system according to Embodiment 2 of the present invention will be described with reference to FIG. FIG. 12 is a diagram showing an example of an execution operation table according to the second embodiment. The main difference from the program code automatic generation system 100 in Embodiment 1 described above is that artificial intelligence is not used in the execution operation table. Description is omitted.
 この実施形態2におけるプログラムコード自動生成システムでは、実行動作テーブルにおいて、例えば、入力側の参照用指示動作P01-1だと、出力側の実行動作命令が「ファイルを開く」となるように、入力側の参照用指示動作のデータと、出力側の実行動作命令のデータとが、それぞれ紐づけられたデータセットとして用意されていることが、実施形態1におけるプログラムコード自動生成システム100と異なる。なお、図12の実行動作テーブルは、実施形態1における図4の実行動作テーブルに対応するものを一例として示したものである。 In the program code automatic generation system according to the second embodiment, in the execution operation table, for example, for the reference instruction operation P01-1 on the input side, the execution operation instruction on the output side is "open file". It differs from the program code automatic generation system 100 in the first embodiment in that the reference instruction operation data on the side and the execution operation command data on the output side are prepared as linked data sets. It should be noted that the execution operation table of FIG. 12 is an example that corresponds to the execution operation table of FIG. 4 in the first embodiment.
[実施形態3]
 次に、図13を用いて、本発明の実施形態3におけるプログラムコード自動生成システムについて説明する。図13は、実施形態3における対象格テーブルの例を示す図である。上述の実施形態1におけるプログラムコード自動生成システム100と相違する点は、主に、対象格テーブルで人工知能を用いないことなので、その点について主に説明し、同一構成は同一符号を付し、説明を省略する。
[Embodiment 3]
Next, a program code automatic generation system according to Embodiment 3 of the present invention will be described with reference to FIG. FIG. 13 is a diagram showing an example of an object case table according to the third embodiment. The main difference from the program code automatic generation system 100 in the above-described first embodiment is that artificial intelligence is not used in the object case table. Description is omitted.
 この実施形態3におけるプログラムコード自動生成システムでは、対象格テーブルにおいて、例えば、入力側の参照用対象格P04-1だと、出力側の実行動作対象が「12月7日14時受信」となるように、入力側の参照用対象格のデータと、出力側の実行動作対象のデータとが、それぞれ紐づけられたデータセットとして用意されていることが、実施形態1におけるプログラムコード自動生成システム100と異なる。なお、図13の対象格テーブルは、実施形態1における図6の対象格テーブルに対応するものを一例として示したものである。 In the automatic program code generation system according to the third embodiment, in the object case table, for example, if the input side reference case P04-1 is used, the output side execution action target is "received at 14:00 on December 7". Thus, the program code automatic generation system 100 according to the first embodiment prepares the input-side reference object data and the output-side execution action object data as linked data sets. different from Note that the object case table of FIG. 13 is shown as an example corresponding to the object case table of FIG. 6 in the first embodiment.
[実施形態4]
 次に、図12及び図13を用いて、本発明の実施形態4におけるプログラムコード自動生成システムについて説明する。図12は、実施形態4における実行動作テーブルの例を示す図である。図13は、実施形態4における対象格テーブルの例を示す図である。上述の実施形態1におけるプログラムコード自動生成システム100と相違する点は、主に、実行動作テーブル及び対象格テーブルで人工知能を用いないことなので、その点について主に説明し、同一構成は同一符号を付し、説明を省略する。
[Embodiment 4]
Next, a program code automatic generation system according to Embodiment 4 of the present invention will be described with reference to FIGS. 12 and 13. FIG. FIG. 12 is a diagram showing an example of an execution operation table according to the fourth embodiment. FIG. 13 is a diagram showing an example of an object case table according to the fourth embodiment. The main difference from the program code automatic generation system 100 in the first embodiment is that the execution action table and the object case table do not use artificial intelligence. and the explanation is omitted.
 この実施形態4におけるプログラムコード自動生成システムでは、実行動作テーブルにおいて、例えば、入力側の参照用指示動作P01-1だと、出力側の実行動作命令が「ファイルを開く」となるように、入力側の参照用指示動作のデータと、出力側の実行動作命令のデータとが、それぞれ紐づけられたデータセットとして用意されている。 In the program code automatic generation system according to the fourth embodiment, in the execution operation table, for example, for the reference instruction operation P01-1 on the input side, the execution operation command on the output side is "open file". The data of the instruction operation for reference on the side and the data of the execution operation instruction on the output side are prepared as data sets in which they are associated with each other.
 また、この実施形態4におけるプログラムコード自動生成システムでは、対象格テーブルにおいて、例えば、入力側の参照用対象格P04-1だと、出力側の実行動作対象が「12月7日14時受信」となるように、入力側の参照用対象格のデータと、出力側の実行動作対象のデータとが、それぞれ紐づけられたデータセットとして用意されている。 Further, in the program code automatic generation system according to the fourth embodiment, in the object case table, for example, if the input side reference case P04-1 is used, the output side execution action object is "received at 14:00 on December 7". , the input-side reference object data and the output-side execution action object data are prepared as linked data sets.
 この実施形態4におけるプログラムコード自動生成システムでは、これらのことが、実施形態1におけるプログラムコード自動生成システム100と異なる。なお、図12の実行動作テーブルは、実施形態1における図4の実行動作テーブルに対応するものを一例として示したものであり、図13の対象格テーブルは、実施形態1における図6の対象格テーブルに対応するものを一例として示したものである。 The automatic program code generation system in the fourth embodiment differs from the automatic program code generation system 100 in the first embodiment in these respects. The execution action table of FIG. 12 corresponds to the execution action table of FIG. 4 in the first embodiment, and the object case table of FIG. An example corresponding to the table is shown.
 なお、実施形態1~4においては、図8の人工知能を用いた終点格テーブルを、図14のような、例えば、入力側の参照用終点格P07-1だと、出力側の実行動作先が「山田太郎のPC」となるように、入力側の参照用終点格のデータと、出力側の実行動作先のデータとが、それぞれ紐づけられたデータセットとして用意された終点格テーブルに置き換えて実施してもよい。 In Embodiments 1 to 4, the final case table using artificial intelligence in FIG. is "Taro Yamada's PC", the data of the reference terminal case on the input side and the data of the execution action destination on the output side are replaced with the terminal case table prepared as a linked data set. may be implemented.
1 プログラムコード自動生成装置
2 端末
3 サーバ
4 通信網
61 中間ノード
100 プログラムコード自動生成システム
1 program code automatic generation device 2 terminal 3 server 4 communication network 61 intermediate node 100 program code automatic generation system

Claims (14)

  1.  音声又は入力端末を介してテキストデータの入力を受け付ける受付手段と、
     上記受付手段により受け付けられたテキストデータを自然言語解析することにより、指示動作と、これに係り受けする少なくとも対象格からなる格成分を抽出する抽出手段と、
     参照用指示動作に対する実際の実行動作命令が関連付けられた実行動作テーブルと、参照用対象格に対する実際の実行動作対象が関連付けられた対象格テーブルとを少なくとも記憶する記憶手段と、
     上記抽出された指示動作に対応する実行動作命令と、上記抽出された対象格に対応する実行動作対象とを、上記記憶手段により記憶されている実行動作テーブル、対象格テーブルを参照することにより探索する探索手段と、
     プログラムコードの基本構文に、上記探索手段により探索された実行動作命令、実行動作対象を代入することにより、当該実行動作対象を当該実行動作命令に規定された実行動作を実行するためのプログラムコードを自動生成するコード生成手段とを備えること
     を特徴とするプログラムコード自動生成システム。
    receiving means for receiving input of text data via voice or an input terminal;
    extracting means for extracting a pointing action and a case component consisting of at least an object case related to the pointing action by performing a natural language analysis on the text data received by the receiving means;
    storage means for storing at least an execution action table in which an actual execution action instruction for a referential action is associated and an object case table in which an actual execution action object for a reference object case is associated;
    An execution action command corresponding to the extracted instruction action and an execution action object corresponding to the extracted object case are searched by referring to the execution action table and the object case table stored in the storage means. a search means for
    By substituting the execution operation instruction and the execution operation object searched for by the search means into the basic syntax of the program code, the program code for executing the execution operation specified in the execution operation instruction for the execution operation object A program code automatic generation system comprising: code generation means for automatically generating the program code.
  2.  実行動作テーブルは、参照用指示動作に対する実際の実行動作命令が3段階以上の連関度を以って関連付けられ、上記記憶手段に記憶されており、
     上記探索手段は、上記抽出された指示動作に対応する実行動作命令を、上記記憶手段により記憶されている実行動作テーブルの連関度を参照することにより探索すること
     を特徴とする請求項1記載のプログラムコード自動生成システム。
    the execution motion table is stored in the storage means, in which actual execution motion commands are associated with reference motion instructions with a degree of association of three or more stages;
    2. The method according to claim 1, wherein said search means searches for an execution action command corresponding to said extracted instructed action by referring to a degree of association in an execution action table stored in said storage means. Program code automatic generation system.
  3.  対象格テーブルは、参照用対象格に対する実際の実行動作対象が3段階以上の連関度を以って関連付けられ、上記記憶手段に記憶されており、
     上記探索手段は、上記抽出された対象格に対応する実行動作対象を、上記記憶手段により記憶されている対象格テーブルの連関度を参照することにより探索すること
     を特徴とする請求項1記載のプログラムコード自動生成システム。
    the object case table is stored in the storage means in which actual execution action objects are associated with reference object cases with a degree of association of three or more levels;
    2. The searching means according to claim 1, wherein said searching means searches for an execution action object corresponding to said extracted object case by referring to the degree of association of the object case table stored in said storage means. Program code automatic generation system.
  4.  上記抽出手段は、指示動作に係り受けする終点格からなる格成分を抽出し、
     上記記憶手段は、参照用終点格に対する実際の実行動作先が関連付けられた終点格テーブルを記憶し、
     上記探索手段は、上記抽出された終点格に対する実行動作先を、上記記憶手段により記憶されている終点格テーブルを参照することにより探索し、
     上記コード生成手段は、プログラムコードの基本構文に、上記探索手段により探索された実行動作先を代入することにより、当該実行動作対象を当該実行動作先に対して当該実行動作命令に規定された実行動作を実行するためのプログラムコードを自動生成すること
     を特徴とする請求項1~3のうち何れか1項記載のプログラムコード自動生成システム。
    The extracting means extracts a case component consisting of an end case that depends on the pointing action,
    the storage means stores an endpoint case table in which actual execution action destinations are associated with reference endpoint cases;
    The searching means searches for an execution action destination for the extracted terminal case by referring to the terminal case table stored by the storage means,
    The code generation means assigns the execution operation target searched by the search means to the basic syntax of the program code, thereby causing the execution operation target to be executed as specified in the execution operation instruction. 4. The program code automatic generation system according to any one of claims 1 to 3, wherein the program code for executing an operation is automatically generated.
  5.  上記記憶手段は、参照用終点格に対する実際の実行動作先が3段階以上の連関度を以って関連付けられた終点格テーブルを記憶し、
     上記探索手段は、上記抽出された終点格に対する実行動作先を、上記記憶手段により記憶されている終点格テーブルの連関度を参照することにより探索すること
     を特徴とする請求項4記載のプログラムコード自動生成システム。
    The storage means stores an end case table in which actual execution action destinations are associated with reference end cases with a degree of association of three or more levels,
    5. The program code according to claim 4, wherein said searching means searches for an execution action destination for said extracted terminal case by referring to the degree of association of the terminal case table stored in said storage means. Automatic generation system.
  6.  上記探索手段は、上記実行動作テーブル、上記対象格テーブル、上記終点格テーブルを介して探索した実行動作命令、実行動作対象、実行動作先にそれぞれ紐付けられていた連関度に基づいて、ユーザに対して入力内容を確認するための確認文を生成する確認文生成手段と、
     上記確認文生成手段により生成された確認文を音声出力又は画像出力する出力手段とを備え、
     上記受付手段は、ユーザによりテキストデータの再入力を受け付けること
     を特徴とする請求項5記載のプログラムコード自動生成システム。
    Based on the degree of association associated with each of the execution action command, the execution action target, and the execution action destination searched through the execution action table, the object case table, and the end case table, the search means asks the user a confirmation text generation means for generating a confirmation text for confirming the input contents;
    an output means for outputting the confirmation sentence generated by the confirmation sentence generation means by voice or image,
    6. The program code automatic generation system according to claim 5, wherein said accepting means accepts re-input of text data by a user.
  7.  上記コード生成手段は、参照用実行動作対象、参照用実行動作対象、参照用実行動作先の組み合わせに対するプログラムコードの基本構文が関連付けられたコードテーブルを参照し、上記探索手段により探索された実行動作対象、実行動作対象、実行動作先に基づいて、関連性の高いプログラムコードの基本構文を抽出し、抽出した基本構文に対して上記代入を行うこと
     を特徴とする請求項5又は6記載のプログラムコード自動生成システム。
    The code generation means refers to a code table associated with a basic syntax of a program code for a combination of a reference execution action target, a reference execution action target, and a reference execution action destination, and the execution action searched by the search means. 7. The program according to claim 5 or 6, wherein a basic syntax of highly related program code is extracted based on the target, the target of the execution action, and the destination of the execution action, and the substitution is performed for the extracted basic syntax. Code auto-generation system.
  8.  上記コード生成手段は、参照用実行動作対象、参照用実行動作対象、参照用実行動作先の組み合わせとプログラムコードの基本構文との3段階以上の連関度を以って関連付けられた上記コードテーブルを参照すること
     を特徴とする請求項7記載のプログラムコード自動生成システム。
    The code generation means generates the code table in which combinations of reference execution action objects, reference execution action targets, and reference execution action targets are associated with the basic syntax of the program code at three or more degrees of association. 8. The program code automatic generation system according to claim 7, wherein the program code is referred to.
  9.  上記コード生成手段により自動生成されたプログラムコードを実行するプログラム実行手段を更に備えること
     を特徴とする請求項1~8のうち何れか1項記載のプログラムコード自動生成システム。
    9. The program code automatic generation system according to claim 1, further comprising program execution means for executing the program code automatically generated by said code generation means.
  10.  通信ネットワーク中の各端末装置を上記終点格テーブルの各参照用実行動作先として予め登録するための動作先登録手段を更に備えること
     を特徴とする請求項5~8のうち何れか1項記載のプログラムコード自動生成システム。
    9. The method according to any one of claims 5 to 8, further comprising operation destination registration means for registering in advance each terminal device in the communication network as each referential execution destination of the terminal case table. Program code automatic generation system.
  11.  上記抽出手段は、指示動作に係り受けする始点格からなる格成分を抽出し、
     上記記憶手段は、参照用始点格に対する実際の実行動作元が3段階以上の連関度を以って関連付けられた始点格テーブルを記憶し、
     上記探索手段は、上記抽出された始点格に対する実行動作元を、上記記憶手段により記憶されている始点格テーブルの連関度を参照することにより探索し、
     上記コード生成手段は、プログラムコードの基本構文に、上記探索手段により探索された実行動作元を代入することにより、当該実行動作対象を当該実行動作元から当該実行動作先に対して当該実行動作命令に規定された実行動作を実行するためのプログラムコードを自動生成すること
     を特徴とする請求項5~8のうち何れか1項記載のプログラムコード自動生成システム。
    The extracting means extracts a case component consisting of a starting case related to the pointing action,
    The storage means stores a starting point case table in which actual execution action sources are associated with reference starting point cases with a degree of association of three or more levels,
    The search means searches for an execution action source for the extracted start case by referring to the degree of association of the start case table stored by the storage means,
    The code generation means substitutes the execution action source searched by the search means for the basic syntax of the program code, thereby transferring the execution action target from the execution action source to the execution action destination. 9. The program code automatic generation system according to any one of claims 5 to 8, wherein the program code for executing the execution operation specified in is automatically generated.
  12.  上記抽出手段は、指示動作に係り受けする条件格からなる格成分を抽出し、
     上記記憶手段は、参照用条件格に対する実際の実行動作条件が3段階以上の連関度を以って関連付けられた条件格テーブルを記憶し、
     上記探索手段は、上記抽出された条件格に対する実行動作条件を、上記記憶手段により記憶されている条件格テーブルの連関度を参照することにより探索し、
     上記コード生成手段は、プログラムコードの基本構文に、上記探索手段により探索された実行動作条件を代入することにより、当該実行動作対象を当該実行動作先に対して当該実行動作条件に基づいて当該実行動作命令に規定された実行動作を実行するためのプログラムコードを自動生成すること
     を特徴とする請求項5~8のうち何れか1項記載のプログラムコード自動生成システム。
    The extracting means extracts a case component consisting of a conditional case that depends on the pointing action,
    the storage means stores a conditional case table in which actual execution action conditions are associated with reference conditional cases with a degree of association of three or more levels;
    The search means searches for an execution action condition for the extracted conditional case by referring to the degree of association of the conditional case table stored by the storage means,
    The code generating means assigns the execution operation target searched by the search means to the basic syntax of the program code, thereby causing the execution operation target to be executed based on the execution operation condition. 9. The program code automatic generation system according to any one of claims 5 to 8, wherein the program code for executing the execution operation defined by the operation instruction is automatically generated.
  13.  上記記憶手段は、人工知能におけるニューラルネットワークのノードの各出力の重み付け係数に対応する上記連関度を記憶すること
     を特徴とする請求項2~12のうち何れか1項記載のプログラムコード自動生成システム。
    The program code automatic generation system according to any one of claims 2 to 12, wherein said storage means stores said degree of association corresponding to a weighting factor of each output of a neural network node in artificial intelligence. .
  14.  上記コード生成手段は、人工知能におけるニューラルネットワークのノードの各出力の重み付け係数に対応する上記連関度を利用すること
     を特徴とする請求項8記載のプログラムコード自動生成システム。
    9. The program code automatic generation system according to claim 8, wherein said code generation means utilizes said degree of association corresponding to a weighting factor of each output of a neural network node in artificial intelligence.
PCT/JP2021/023803 2021-06-15 2021-06-23 Program code automatic generation system WO2022264434A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-099206 2021-06-15
JP2021099206A JP6958884B1 (en) 2021-06-15 2021-06-15 Program code automatic generation system

Publications (1)

Publication Number Publication Date
WO2022264434A1 true WO2022264434A1 (en) 2022-12-22

Family

ID=78282104

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/023803 WO2022264434A1 (en) 2021-06-15 2021-06-23 Program code automatic generation system

Country Status (2)

Country Link
JP (1) JP6958884B1 (en)
WO (1) WO2022264434A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022203406A1 (en) * 2022-04-06 2023-10-12 Kuka Deutschland Gmbh Carrying out a robot application and creating a program for it

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07146785A (en) * 1993-11-24 1995-06-06 Hitachi Ltd Method for automatically generating program and device therefor
WO2018180970A1 (en) * 2017-03-30 2018-10-04 日本電気株式会社 Information processing system, feature value explanation method and feature value explanation program
JP6889448B1 (en) * 2020-02-13 2021-06-18 ソプラ株式会社 Program code automatic generation system and program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4498214B2 (en) * 2005-05-27 2010-07-07 株式会社日立製作所 Advertisement distribution processing system for transportation and advertisement distribution processing method for transportation
JP2010277572A (en) * 2009-04-28 2010-12-09 Sharp Corp Code generation program, computer readable recoding medium recording the same, code generation device, and code generation method
JP6753598B1 (en) * 2019-11-28 2020-09-09 ソプラ株式会社 Program code automatic generator and program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07146785A (en) * 1993-11-24 1995-06-06 Hitachi Ltd Method for automatically generating program and device therefor
WO2018180970A1 (en) * 2017-03-30 2018-10-04 日本電気株式会社 Information processing system, feature value explanation method and feature value explanation program
JP6889448B1 (en) * 2020-02-13 2021-06-18 ソプラ株式会社 Program code automatic generation system and program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Japanese programming language Nadeshiko Official Bible", 11 June 2009, SOSHIM CO., LTD., JP, ISBN: 978-4-88337-603-2, article KUJIRA HIKO TSUKUE: "whale plane", pages: 369 - 372, XP009543014 *

Also Published As

Publication number Publication date
JP6958884B1 (en) 2021-11-02
JP2022190776A (en) 2022-12-27

Similar Documents

Publication Publication Date Title
CN107210035B (en) Generation of language understanding systems and methods
US10095690B2 (en) Automated ontology building
CN110020424B (en) Contract information extraction method and device and text information extraction method
US8566699B2 (en) Intent-based information processing and updates
US7672908B2 (en) Intent-based information processing and updates in association with a service agent
US8954360B2 (en) Semantic request normalizer
US10750005B2 (en) Selective email narration system
US10783877B2 (en) Word clustering and categorization
KR101751113B1 (en) Method for dialog management based on multi-user using memory capacity and apparatus for performing the method
CN107209757B (en) Natural language understanding buffer
WO2021106380A1 (en) Program code automatic generation device and program
WO2021161629A1 (en) Automatic program code generation system, and program
US10713288B2 (en) Natural language content generator
US10977155B1 (en) System for providing autonomous discovery of field or navigation constraints
WO2013071305A2 (en) Systems and methods for manipulating data using natural language commands
WO2021063089A1 (en) Rule matching method, rule matching apparatus, storage medium and electronic device
CN111949785A (en) Query statement management method and device, readable storage medium and electronic device
WO2022264434A1 (en) Program code automatic generation system
CN114996549A (en) Intelligent tracking method and system based on active object information mining
WO2022072237A1 (en) Lifecycle management for customized natural language processing
CN110249326B (en) Natural language content generator
US20240095445A1 (en) Systems and methods for language modeling with textual clincal data
CN114528851B (en) Reply sentence determination method, reply sentence determination device, electronic equipment and storage medium
Iorliam et al. A comparative analysis of generative artificial intelligence tools for natural language processing
JP6949341B1 (en) Program code automatic generator and program

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: 21946108

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: 21946108

Country of ref document: EP

Kind code of ref document: A1