JP6958884B1 - Program code automatic generation system - Google Patents
Program code automatic generation system Download PDFInfo
- Publication number
- JP6958884B1 JP6958884B1 JP2021099206A JP2021099206A JP6958884B1 JP 6958884 B1 JP6958884 B1 JP 6958884B1 JP 2021099206 A JP2021099206 A JP 2021099206A JP 2021099206 A JP2021099206 A JP 2021099206A JP 6958884 B1 JP6958884 B1 JP 6958884B1
- Authority
- JP
- Japan
- Prior art keywords
- execution operation
- case
- execution
- target
- program code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
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
【課題】プログラム開発の仕組みを根本的に変え、近い将来、慢性的なSE技術者不足が社会に甚大な影響を与える事を回避する。【解決手段】音声又は入力端末を介してテキストデータの入力を受け付ける受付手段と、テキストデータを自然言語解析することにより、指示動作と、対象格からなる格成分を抽出する抽出手段と、実行動作テーブルと、対象格テーブルとを記憶する記憶手段と、指示動作に対応する実行動作命令と、対象格に対応する実行動作対象とを、実行動作テーブル、対象格テーブルを参照することにより探索する探索手段と、プログラムコードの基本構文に、上記探索手段により探索された実行動作命令、実行動作対象を代入することにより、実行動作対象を実行動作命令に規定された実行動作を実行するためのプログラムコードを生成するコード生成手段とを備える。【選択図】図2PROBLEM TO BE SOLVED: To fundamentally change the mechanism of program development and prevent a chronic shortage of SE engineers from having a great impact on society in the near future. SOLUTION: A reception means for receiving input of text data via a voice or an input terminal, an instruction operation by analyzing the text data in a natural language, an extraction means for extracting a case component composed of a target case, and an execution operation. Search for a table, a storage means for storing the target case table, an execution action instruction corresponding to an instruction action, and an execution action target corresponding to the target case by referring to the execution action table and the target case table. By substituting the execution operation instruction and the execution operation target searched by the above search means into the means and 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 target. It is provided with a code generation means for generating the above. [Selection diagram] Fig. 2
Description
本発明は、プログラム開発の仕組みを根本的に変えるプログラムコード自動生成システムに関するものである。 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, technologies related to RPA (Robotic Process Automation) and the like have been attracting attention as a means for realizing work assistance such as desk work (routine work). As such a technique, for example, an information processing device of Patent Document 1 has been proposed.
特許文献1の情報処理装置は、ユーザのメッセージ情報を取得する取得部と、取得した前記メッセージ情報から、前記ユーザに関連するタスク情報を抽出する抽出部と、抽出した前記タスク情報から、タスクの担当者及び関係者を識別する識別部と、前記タスク情報を、前記ユーザが前記担当者である第1タスク情報、又は前記ユーザが前記関係者である第2タスク情報に分類する分類部と、分類した前記第1又は第2タスク情報をデータベースに登録する登録部と、該データベースを参照して、前記第1又は第2タスク情報を出力する出力部とを備えることを特徴とする。 The information processing device of Patent Document 1 has 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 information from the extracted task information. An identification unit that identifies a person in charge and a related person, and 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. It is characterized by including a registration unit for registering the classified first or second task information in a database, and an output unit for outputting the first or second task information with reference to the database.
ところで、新規業務についてプログラムにより自動的に実行させる場合には、プログラムを作成する作業が必要となる。プログラムの作成プロセスとして、従来は、その新規業務の要件定義を行い、システム設計を行い、更にプログラムコードをコーディングした後、これをテスト、検証するプロセスが必要である。このようなプログラムコードは、新規業務が生まれる都度、人手によりコーディングするのが通常であった。 By the way, in order to automatically execute a new business by a program, it is necessary to create a program. Conventionally, as a program creation process, a process of defining requirements for the new business, designing a system, coding a program code, and then testing and verifying the program code is required. Such program code was usually manually coded each time a new business was created.
しかしながら、近年のIT化の急速な進展に伴い、プログラム作成需要は増加の一途をたどり、IT技術者不足が深刻な社会問題となっている。 However, with the rapid progress of IT in recent years, the demand for program creation continues to increase, and the shortage of IT engineers has become a serious social problem.
また、社内の簡単な作業一つとっても状況によっては随時変更を施さなければならないケースがある。例えば、「社員〇〇のPCに日報を送っておいて」という社内業務を自動的に行えるようにプログラムを作成しても、少しでも業務に変化があればプログラムコードを作成し直さなければならなくなる。 In addition, even one simple task in the company may have to be changed at any time depending on the situation. For example, even if you create a program so that you can automatically perform in-house work such as "send a daily report to the PC of employee XX", you have to recreate the program code if there is any change in the work. It disappears.
従来、このような問題点があるものの、それよりも、近い将来、慢性的なSE技術者不足が社会に甚大な影響を与える事が予測されているということがより深刻な問題点である。 Although there have been such problems in the past, the more serious problem is that it is predicted that a chronic shortage of SE engineers will have a tremendous impact on society in the near future.
そこで本発明は、上述した問題点に鑑みて案出されたものであり、その目的とするところは、業務をコンピュータのシステムにおいて自動的に実行していくために、その業務を実行するためのプログラムコードを生成する際において、極めて容易に、しかもSEとしての技術力がなくても、業務にさえ習熟した現場担当者であれば、簡単に指示を与え、SE技術を持った人手を介することなく自動的にプログラムコードを生成することが可能であり、プログラム開発の仕組みを根本的に変え、近い将来、慢性的なSE技術者不足が社会に甚大な影響を与える事を回避できるプログラムコード自動生成システムを提供することにある。 Therefore, the present invention has been devised in view of the above-mentioned problems, and an object of the present invention is to execute the business in order to automatically execute the business in the computer system. When generating a program code, it is extremely easy, and even if you do not have the technical skills as an SE, if you are a field person who is proficient in the work, you can easily give instructions and use a person with SE skills. It is possible to automatically generate program code without any problems, and it is possible to radically change the mechanism of program development and avoid a chronic shortage of SE engineers from having a huge impact on society in the near future. It is to provide a generation system.
本発明に係る第1のプログラムコード自動生成システムは、音声又は入力端末を介してテキストデータの入力を受け付ける受付手段と、上記受付手段により受け付けられたテキストデータを自然言語解析することにより、指示動作と、これに係り受けする少なくとも対象格からなる格成分を抽出する抽出手段と、参照用指示動作に対する実際の実行動作命令が関連付けられた実行動作テーブルと、参照用対象格に対する実際の実行動作対象が関連付けられた対象格テーブルとを少なくとも記憶する記憶手段と、上記抽出された指示動作に対応する実行動作命令と、上記抽出された対象格に対応する実行動作対象とを、上記記憶手段により記憶されている実行動作テーブル、対象格テーブルを参照することにより探索する探索手段と、プログラムコードの基本構文に、上記探索手段により探索された実行動作命令、実行動作対象を代入することにより、当該実行動作対象を当該実行動作命令に規定された実行動作を実行するためのプログラムコードを自動生成するコード生成手段とを備え、実行動作テーブルは、参照用指示動作に対する実際の実行動作命令が3段階以上の連関度を以って関連付けられ、上記記憶手段に記憶されており、上記探索手段は、上記抽出された指示動作に対応する実行動作命令を、上記記憶手段により記憶されている実行動作テーブルの連関度を参照することにより探索し、対象格テーブルにおいて、入力側の参照用対象格のデータと、出力側の実行動作対象のデータとが、それぞれ紐づけられたデータセットとして用意されていることを特徴とする。
本発明に係る第2のプログラムコード自動生成システムは、音声又は入力端末を介してテキストデータの入力を受け付ける受付手段と、上記受付手段により受け付けられたテキストデータを自然言語解析することにより、指示動作と、これに係り受けする少なくとも対象格からなる格成分を抽出する抽出手段と、参照用指示動作に対する実際の実行動作命令が関連付けられた実行動作テーブルと、参照用対象格に対する実際の実行動作対象が関連付けられた対象格テーブルとを少なくとも記憶する記憶手段と、上記抽出された指示動作に対応する実行動作命令と、上記抽出された対象格に対応する実行動作対象とを、上記記憶手段により記憶されている実行動作テーブル、対象格テーブルを参照することにより探索する探索手段と、プログラムコードの基本構文に、上記探索手段により探索された実行動作命令、実行動作対象を代入することにより、当該実行動作対象を当該実行動作命令に規定された実行動作を実行するためのプログラムコードを自動生成するコード生成手段とを備え、対象格テーブルは、参照用対象格に対する実際の実行動作対象が3段階以上の連関度を以って関連付けられ、上記記憶手段に記憶されており、上記探索手段は、上記抽出された対象格に対応する実行動作対象を、上記記憶手段により記憶されている対象格テーブルの連関度を参照することにより探索し、実行動作テーブルにおいて、入力側の参照用指示動作のデータと、出力側の実行動作命令のデータとが、それぞれ紐づけられたデータセットとして用意されていることを特徴とする。
The first program code automatic generation system according to the present invention is an instruction operation by a reception means that accepts input of text data via voice or an input terminal and a natural language analysis of the text data received by the reception means. And the extraction means that extracts the case component consisting of at least the target case related to this, the execution action table associated with the actual execution action instruction for the reference instruction action, and the actual execution action target for the reference target case. The storage means for storing at least the object case table associated with the data, the execution operation instruction corresponding to the extracted instruction operation, and the execution operation target corresponding to the extracted object case are stored by the storage means. By substituting the execution action instruction and the execution action target searched by the above search means into the search means searched by referring to the execution action table and the target case table and the basic syntax of the program code, the execution concerned. The operation target is provided with a code generation means for automatically generating a program code for executing the execution operation specified in the execution operation instruction, and the execution operation table has three or more stages of actual execution operation instructions for the reference instruction operation. The search means is stored in the storage means, and the search means stores the execution action instructions corresponding to the extracted instruction actions in the execution action table stored in the storage means. Search by referring to the degree of association, and in the target case table, the data of the target case for reference on the input side and the data of the execution operation target on the output side are prepared as data sets linked to each other. It is characterized by.
The second program code automatic generation system according to the present invention is an instruction operation by a reception means that accepts input of text data via voice or an input terminal and a natural language analysis of the text data received by the reception means. And the extraction means that extracts the case component consisting of at least the target case related to this, the execution action table associated with the actual execution action instruction for the reference instruction action, and the actual execution action target for the reference target case. The storage means for storing at least the object case table associated with the data, the execution operation instruction corresponding to the extracted instruction operation, and the execution operation target corresponding to the extracted object case are stored by the storage means. By substituting the execution action instruction and the execution action target searched by the above search means into the search means searched by referring to the execution action table and the target case table and the basic syntax of the program code, the execution concerned. The operation target is provided with a code generation means for automatically generating program code for executing the execution operation specified in the execution operation instruction, and the target case table has three or more stages of actual execution operation targets for the reference target case. It is associated with each other by the degree of association and is stored in the storage means, and the search means stores the execution operation target corresponding to the extracted target case in the target case table stored by the storage means. Search by referring to the degree of association, and in the execution operation table, the data of the reference instruction operation on the input side and the data of the execution operation instruction on the output side are prepared as data sets linked to each other. It is characterized by.
上述した発明によれば、業務をコンピュータ側のシステムにおいて自動的に実行していくために、その業務を実行するためのプログラムコードを生成する際において、極めて容易に、しかもSEとしての技術力がなくても、業務にさえ習熟した現場担当者であれば、簡単に指示を与え、SE技術を持った人手を介することなく自動的にプログラムコードを生成することが可能であり、プログラム開発の仕組みを根本的に変え、近い将来、慢性的なSE技術者不足が社会に甚大な影響を与える事を回避できる。 According to the above-mentioned invention, in order to automatically execute the business in the system on the computer side, it is extremely easy to generate the program code for executing the business, and the technical ability as SE is very easy. Even if you do not have it, if you are a person in charge of the field who is proficient in business, you can easily give instructions and automatically generate program code without human intervention with SE technology, and it is a mechanism of program development. In the near future, it will be possible to prevent a chronic shortage of SE engineers from having a tremendous impact on society.
以下、本発明の実施形態1〜4におけるプログラムコード自動生成システムを例示し、図面を参照しながら説明する。 Hereinafter, the program code automatic generation system according to the first to fourth embodiments of the present invention will be illustrated and described 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 the program code
プログラムコード自動生成システム100は、単なる業務補助ではなくプログラム開発の仕組みを根本的に変え、近い将来、慢性的なSE技術者不足が社会に甚大な影響を与える事を回避できるものである。
The program code
すなわち、プログラムコード自動生成システム100は、業務を実行するためのプログラムコードを自動生成することで、企業内における各業務(例えば、メールの配信、作業者の進捗状況の収集、ファイル管理、ファイル転送等)の様々なデータ処理をコンピュータ上で自動的に行うことができる。プログラムコード自動生成システム100は、特にこのプログラムコードの自動生成を、音声又はテキストにより設定することができ、システム管理者等のような専門的知識を有しないユーザ(例えばプログラムコード自動生成システム100を利用して業務を管理する利用者等)においても、様々な業務処理をコンピュータに自動的に行わせるためのプログラムコードの自動生成を容易に実現することが可能となる。
That is, the program code
プログラムコード自動生成システム100は、例えば図1に示すように、プログラムコード自動生成装置1を備え、ユーザがプログラムコード自動生成装置1を利用してもよい。プログラムコード自動生成システム100は、例えば通信網4を介してプログラムコード自動生成装置1と接続された端末2を備え、ユーザが端末2を介してプログラムコード自動生成装置1を利用してもよい。プログラムコード自動生成システム100は、例えば通信網4を介してプログラムコード自動生成装置1と接続されたサーバ3を備え、ユーザがプログラムコード自動生成装置1又は端末2を介してサーバ3との各種情報の送受信により、各手段を実現してもよい。
As shown in FIG. 1, for example, the program code
<プログラムコード自動生成装置1>
プログラムコード自動生成装置1として、例えばサーバ、パーソナルコンピュータ、スマートフォン、タブレット端末、ウェアラブル端末等の公知の電子機器が用いられる。なお、本実施形態におけるプログラムコード自動生成システム100において、プログラムコード自動生成装置1は、クラウドサーバの中枢となる。
<Automatic program code generator 1>
As the program code automatic generation device 1, for example, a known electronic device such as a server, a personal computer, a smartphone, a tablet terminal, or a wearable terminal is used. In the program code
プログラムコード自動生成装置1は、図示は省略したが、取得部と、演算部とを備え、例えば実行部と、記憶部と、出力部と、インテント格納部とを備えてもよい。なお、プログラムコード自動生成装置1の各機能は、CPUが、RAMを作業領域として、保存部等に記憶されたプログラムを実行することにより実現される。また、各機能の一部は、人工知能により制御されてもよい。ここで、「人工知能」は、いかなる周知の人工知能技術に基づくものであってもよい。 Although not shown, the program code automatic generation device 1 may include 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 program code automatic generation device 1 is realized by the CPU executing a program stored in a storage unit or the like using the RAM as a work area. In addition, a part of each function may be controlled by artificial intelligence. Here, the "artificial intelligence" may be based on any well-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 from the user via, for example, the input unit of the
演算部は、データベースを参照し、取得したテキストデータに基づいて各種処理動作、演算を実行する。演算部は、受け付けた会話文について自然言語解析することにより、動詞や名詞、格成分等を始めとする文の個々の構成要素を抽出する。演算部は、受け付けたテキストデータから抽出した指示動作に対応する実行動作命令、対象格に対応する実行動作対象、終点格に対応する実行動作先を割り当てる処理動作を行う。この演算部は、受け付けたテキストデータに対応するインテントを決定する処理動作を実行する。演算部は、記憶部を参照し、プログラムコードの基本構文を抽出する。また演算部は、抽出されたプログラムコードの基本構文に、割り当てた実行動作命令、実行動作対象、実行動作先を代入することによりプログラムコードを生成する。 The calculation unit refers to the database and executes various processing operations and calculations based on the acquired text data. The arithmetic unit extracts individual components of the sentence, including verbs, nouns, and case components, by analyzing the received conversational sentence in natural language. The arithmetic unit performs a processing operation of assigning an execution operation instruction corresponding to an instruction operation extracted from the received text data, an execution operation target corresponding to the accusative case, and an execution operation destination corresponding to the end point case. This arithmetic unit executes a processing operation for determining an intent corresponding to the received text data. The arithmetic unit refers to the storage unit and extracts the basic syntax of the program code. In addition, the arithmetic unit generates the program code by substituting the assigned execution operation instruction, execution operation target, and execution operation destination into the basic syntax of the extracted program code.
実行部は、演算部において生成されたプログラムコードに基づき、業務処理を実行する。業務処理として、例えばタスクの内容や期限に基づき担当者へのメール送信、勤務管理、タスク進行履歴更新等の定型作業が挙げられ、業務処理情報をプログラムとしてコンピュータに実行させることができる内容が用いられる。 The execution unit executes business processing based on the program code generated in the calculation unit. As business processing, for example, routine work such as sending an email to the person in charge based on the content and deadline of the task, work management, updating the task progress history, etc. can be mentioned, and the content that can execute the business processing information as a program on the computer is used. Be done.
記憶部は、取得部を介して取得した会話文からなるテキストデータを一時的に保存する。この記憶部に記憶されたテキストデータは、演算部や実行部等による制御に基づき読み出され、また更新される場合もある。記憶部は、実行動作テーブル、対象格テーブル、終点格テーブルの少なくとも3つのテーブルを保持している。また記憶部は、コードテーブルを保持していてもよい。 The storage unit temporarily stores text data consisting of conversational sentences acquired through the acquisition unit. The text data stored in this storage unit may be read out and updated under the control of a calculation unit, an execution unit, or the like. The storage unit holds at least three tables, an execution operation table, an accusative case table, and an end point case table. Further, the storage unit may hold a code table.
出力部は、プログラムコードにより実行された動作に関する各種情報を出力する。表示用データは、プログラムコード自動生成装置1の報知部又は端末2等を介して、ユーザが認識できるように報知される。出力部は、I/Fを介して端末2等に表示用データ等を出力し、I/Fを介して報知部に表示用データ等を出力する。
The output unit outputs various information regarding the operation 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
インテント格納部には、1または2以上のインテントが格納される。インテントは、業務処理を特定する情報に対応付けて、このインテント格納部に格納されるものであってもよい。なお、業務処理を特定する情報は、通常、後述するアクション名であるが、その形式はこれらに限定されるものではない。また、対応付くことは、例えば、インテントが、業務処理を特定する情報を有する場合も含む。 One or two or more intents are stored in the intent storage unit. The intent may be stored in the intent storage unit in association with the information that identifies the business process. The information that identifies the business process is usually an action name described later, but the format is not limited to these. Correspondence also includes, for example, the case where the intent has information that identifies the business process.
<端末2>
端末2として、例えばサーバ、パーソナルコンピュータ、スマートフォン、タブレット端末、ウェアラブル端末等の公知の電子機器が用いられる。端末2は、例えばプログラムコード自動生成装置1と同様の構成及び機能の少なくとも一部を備えてもよい。端末2は、例えば複数備えてもよく、各端末2がそれぞれ通信網4を介してプログラムコード自動生成装置1と接続されてもよい。
<
As the
<サーバ3>
サーバ3には、例えば各種情報が記憶される。サーバ3には、例えば通信網4を介してプログラムコード自動生成装置1等から送られてきた各種情報が蓄積される。サーバ3には、例えばプログラムコード自動生成装置1の保存部と同様の情報が記憶され、通信網4を介してプログラムコード自動生成装置1等と各種情報の送受信が行われてもよい。即ち、プログラムコード自動生成システム100では、プログラムコード自動生成装置1又はプログラムコード自動生成装置1の保存部の代わりにサーバ3を用いてもよい。
<Server 3>
For example, various information is stored in the server 3. Various information sent from the program code automatic generation device 1 and the like is stored in the server 3 via, for example, the
<通信網4>
通信網4は、プログラムコード自動生成装置1が通信回路を介して接続されるインターネット網等である。通信網4は、いわゆる光ファイバ通信網で構成されてもよい。また、通信網4は、有線通信網のほか、無線通信網等の公知の通信網で実現されてもよい。
<
The
次に、本発明を適用したプログラムコード自動生成システム100の動作について説明をする。
Next, the operation of the program code
図2に示すようにステップS11において会話文の受け付けを行う。具体的には、音声データとしてプログラムコード自動生成装置1の取得部において会話文が取得した場合には、これを公知の音声認識技術(例えば音素認識技術)を用いテキストデータを生成する。また、電子データ化されたテキストデータをプログラムコード自動生成装置1の取得部において取得した場合には、これをそのまま利用することになる。電子データ化されたテキストデータは、例えばメール文や社内又は社外において活用している情報掲示板や各種サイトの書き込みをそのまま取り込むようにしてもよい。 As shown in FIG. 2, the conversational sentence is accepted in step S11. Specifically, when a conversational sentence is acquired as voice data by the acquisition unit of the program code automatic generation device 1, text data is generated using a known voice recognition technique (for example, phoneme recognition technique). Further, when the text data converted into electronic data is acquired by the acquisition unit of the program code automatic generation device 1, this is used as it is. As the text data converted into electronic data, for example, an e-mail text, an information bulletin board used inside or outside the company, or a post on various sites may be taken in as it is.
プログラムコード自動生成装置1の取得部は、ユーザの入力するタイミング毎にテキストデータを取得するほか、例えば一定期間に蓄積された複数のテキストデータを一度に取得してもよい。なお、端末2又はプログラムコード自動生成装置1の入力部を介して入力された非テキスト形式のデータから、テキストデータを生成する方法は、公知技術を用いることができる。このようにして取得されたテキストデータは、プログラムコード自動生成装置1の記憶部において一時的に記憶される。
The acquisition unit of the program code automatic generation device 1 may acquire text data at each timing of input by the user, or may acquire, for example, a plurality of text data accumulated in a certain period at once. As a method of generating text data from non-text format data input via the input unit of the
次にステップS12に移行し、S11において取得され、プログラムコード自動生成装置1の記憶部において一時的に記憶されているテキストデータとしての会話文を読み出し、これを自然言語解析する。この自然言語解析は、主としてプログラムコード自動生成装置1の演算部が行う。この自然言語解析では、形態素解析や構文解析を始めとして周知のいかなる自然言語解析技術を利用するようにしてもよい。 Next, the process proceeds to step S12, and the conversational sentence as the text data acquired in S11 and temporarily stored in the storage unit of the program code automatic generation device 1 is read out and analyzed in natural language. This natural language analysis is mainly performed by the arithmetic unit of the program code automatic generation device 1. In this natural language analysis, any well-known natural language analysis technique such as morphological analysis and parsing may be used.
このステップ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", the instruction consisting of "Register the accusative case consisting of the product name | A5-7853K |". Can be disassembled into movements. In addition, the text "Transfer this month's daily report of Taro Yamada to Chief Tokugawa" has the accusative case of "Taro Yamada | | this month | | overtime | time |", the end point of "Taro Yamada | It can be decomposed into the instruction operation of "|". In other words, text data can be extracted through a combination of case components consisting of the accusative case and the end point case that are related to the verb consisting of the instruction action.
格成分は、動詞(指示動作)による文の形成に必要とされる名詞句である。格成分における格とは、動詞が自らの帯びている語彙的意味に応じて、文の形成に必要な名詞または名詞句の組み合わせを選択的に要求する働きであり、いわゆる格支配という。この格成分の理論的根拠となる格文法は、単文が、実体を表す深層格(対象格・条件格・道具格・始点格・終点格・時間格など)とこれらと結びついた一つの動詞からなるものとして文を分析する理論である。そして、動詞により文の深層格として要求された名詞(句)が、動詞による命題実現を補足する上で必要な格成分ということができる。格成分とは、単なる名詞句ではなく、動詞が自らの命題の実現するために係り受けた名詞句である。言い換えれば、格成分は、動詞に係り受けする名詞(名詞句を含む)のうち、指示動作を規定する動詞による命題を実現するための動作開始条件となり得る要素である。 Case components are noun phrases required to form sentences with verbs (instruction actions). The case in the case component is a function that selectively requests a combination of nouns or noun phrases necessary for forming a sentence according to the lexical meaning of the verb, and is called case control. The case grammar, which is the rationale for this case component, is based on a single sentence that is associated with a deep case (object case, conditional case, tool case, start point case, end point case, time case, etc.) that represents an entity. It is a theory that analyzes sentences as being. Then, it can be said that the noun (phrase) required as the deep case of the sentence by the verb is a case component necessary for supplementing the realization of the proposition by the verb. A case component is not just a noun phrase, but a noun phrase that a verb is involved in to realize its proposition. In other words, the case component is an element of nouns (including noun phrases) that are related to a verb, which can be an action start condition for realizing a proposition by a verb that defines an instructional action.
ここでいう対象格は、指示動作を規定する動詞による命題の実行対象を意味する。「ファイルAを転送して」という文言の場合、「転送して」という動詞に対して「ファイルA」が対象格として係り受けすることになる。また終点格とは、対象格で規定される実行対象が反映される場所、実行対象による恩恵を受ける先、実行対象が送られる先を規定するものである。「ファイルAを山田太郎に送って」という文言の場合、「送って」という動詞に対して、「ファイルA」が対象格として係り受けし、更にこれが山田太郎を終点として送るものであるから、この終点格は「山田太郎」となる。 The accusative case here means the execution target of a proposition by a verb that defines an instructional action. In the case of the phrase "transfer file A", the verb "transfer" is subject to "file A" as the accusative case. The end point rating defines the place where the execution target defined by the target case is reflected, the destination to benefit from the execution target, and the destination to which the execution target is sent. In the case of the phrase "send file A to Taro Yamada", the verb "send" is subject to "file A" as the accusative case, and this is sent with Taro Yamada as the end point. This end point is "Taro Yamada".
次にステップS13に移行し、自然言語解析された会話文の意味動作決定を行う。このステップS13では、自然言語解析を通じて解析した指示動作、格成分から、実行動作命令、実行動作対象、実行動作先等からなる意味動作を決定する。 Next, the process proceeds to step S13, and the meaning and action of the conversational sentence analyzed in natural language is determined. In step S13, a semantic action including an execution action instruction, an execution action target, an execution action destination, and the like is determined from the instruction action and the case component analyzed through natural language analysis.
プログラムコード自動生成装置1の演算部は、先ずステップS12において自然言語解析した会話文について、抽出された指示動作に対応する実行動作命令と、抽出された対象格に対応する実行動作対象と、抽出された終点格に対応する実行動作先とを、実行動作テーブル、対象格テーブル、終点格テーブルの各連関度を参照することにより探索する。 First, the arithmetic unit of the program code automatic generation device 1 extracts the execution operation instruction corresponding to the extracted instruction operation, the execution operation target corresponding to the extracted target case, and the conversation sentence analyzed in the natural language in step S12. The execution operation destination corresponding to the end point case is searched by referring to each degree of association of the execution action table, the target case table, and the end point case table.
ここでいう実行動作命令は、実際のプログラムコードにおいて実行動作を命令するための文言であり、実際のデータベース登録、ファイルへの書き込み、転送、削除、モニタ表示等に対応する。 The execution operation instruction referred to here is a wording for instructing an execution operation in an actual program code, and corresponds to actual database registration, writing to a file, transfer, deletion, monitor display, and the like.
実行動作対象とは、この実行動作命令を実行する対象を示すものであり、請求書や日報、仕様書のファイル、データ、或いはメール等であってもよいし、商品名や様々な事象、情報(例えば勤務時間や、在庫等)であってもよい。 The execution operation target indicates the target for executing this execution operation instruction, and may be an invoice, a daily report, a specification file, data, an email, or the like, a product name, various events, and information. It may be (for example, working hours, inventory, etc.).
この実行動作対象と実行動作命令とを組み合わせることで様々なプログラムコードを完成することができる。 Various program codes can be completed by combining the execution operation target and the execution operation instruction.
例えば、実行動作命令が「転送」であり、実行動作命令が「仕様書のファイル」であれば、これを組み合わせることで「仕様書のファイルの転送」というプログラムコードを作り上げることが可能となる。 For example, if the execution operation instruction is "transfer" and the execution operation instruction is "specification file", it is possible to create a program code called "specification file transfer" by combining these.
実行動作先とは、実行動作命令を実行する実行先を示すものである。例えば、本システムを設けるユーザが企業毎に予め実行先を設定登録しておくようにしてもよい。例えば図3に示すように、社内LANにおいて、「山田太郎のPC」、「徳川課長のPC」、「開発部の共用PC」等を実行動作先として登録しておくようにしてもよい。また、社内LANを越えたが社外の取引先についても、外部の公衆通信網を介して「取引先A社の担当者B」等のように登録してもよい。 The execution operation destination indicates an execution destination for executing an execution operation instruction. For example, the user who installs this system may set and register the execution destination in advance for each company. For example, as shown in FIG. 3, "Taro Yamada's PC", "Tokugawa section chief's PC", "Development department's shared PC", etc. may be registered as execution operation destinations in the in-house LAN. In addition, a business partner who has crossed the internal LAN but is outside the company may also be registered as "a person in charge B of the business partner A company" via an external public communication network.
即ち、本発明を実施する前に、終点格テーブルを作成することになるが、この作成時において、通信ネットワーク中の各端末装置(例えば、「山田太郎のPC」、「徳川課長のPC」、「開発部の共用PC」等)を上記終点格テーブルの各参照用実行動作先として予め登録する動作を実行してもよい。 That is, before implementing the present invention, the end point case table is created, and at the time of this creation, each terminal device in the communication network (for example, "PC of Taro Yamada", "PC of Tokugawa section manager", An operation of pre-registering "a shared PC of the development unit" or the like) as an execution operation destination for each reference in the end point case table may be executed.
次にステップS14へ移行し、意味動作決定された会話文を実行するためのプログラムコード解析を行う。このプログラムコードの関連付け解析は、プログラムコードの基本構文を抽出する動作を行う。 Next, the process proceeds to step S14, and the program code analysis for executing the conversational sentence whose meaning and action have been determined is performed. This association analysis of the program code performs an operation of extracting the basic syntax of the program code.
なお、ステップS13、14の具体的な方法については、後段において詳述する。 The specific methods of steps S13 and 14 will be described in detail later.
次にステップS15に移行し、プログラムコードの作成を行う。ステップS14においては、上述したように単にプログラムコードの基本構文を抽出したに過ぎず、実際の処理動作の対象や、処理動作を完成させるために必要な各条件を規定する文言を代入することでプログラムコードが完成になる。このため、ステップS15では、抽出したプログラムコードの基本構文に対して、実行動作対象、実行動作先、実行動作命令を規定する文言を代入することで、当該実行動作対象を当該実行動作先に対して当該実行動作命令に規定された実行動作を実行するためのプログラムコードを生成する。 Next, the process proceeds to step S15, and the program code is created. In step S14, as described above, the basic syntax of the program code is merely extracted, and by substituting the target of the actual processing operation and the wording that defines each condition necessary for completing the processing operation. The program code is complete. Therefore, in step S15, the execution operation target is assigned to the execution operation destination by substituting the words defining the execution operation target, the execution operation destination, and the execution operation instruction into the basic syntax of the extracted program code. To generate the program code for executing the execution operation specified in the execution operation instruction.
このステップS11〜S15の工程において、ステップS11において受け付けられた会話文に含められているユーザの意図に基づいてプログラムを自動生成させることができる。 In the steps S11 to S15, the program can be automatically generated based on the user's intention included in the conversational sentence received in step S11.
このようにしてプログラムコードを完成させた後、これをユーザに提供し、或いはプログラムコード自動生成装置1の報知部を介して表示するようにしてもよいし、プログラムコード自動生成装置1の実行部を介してその完成させたプログラムコードを実行させるようにしてもよい。即ち、本発明によれば、この自動生成したプログラムコードをそのまま実行させるようにすることが可能となる。このため、ステップS11からの工程から含めた場合には、ユーザが会話文を発することで、その意図を組み込んだプログラムコードを自動生成することができ、しかもその生成したプログラムコードをそのまま実行に移すことができる。これは、ユーザがシステムに対して実行して欲しい動作を会話文で話すか、これに応じたテキストデータを入力すると、その意図を組み込んだ動作を、自動生成したプログラムコードに基づいてそのまま実行させることが可能となる。 After the program code is completed in this way, it may be provided to the user or displayed via the notification unit of the program code automatic generation device 1, or may be displayed via the notification unit of the program code automatic generation device 1. The completed program code may be executed via. That is, according to the present invention, it is possible to execute the automatically generated program code as it is. Therefore, when included from the process from step S11, the user can automatically generate a program code incorporating the intention by issuing a conversational sentence, and the generated program code is put into execution as it is. be able to. This means that when the user speaks the action he / she wants the system to perform in a conversational sentence or inputs text data corresponding to the action, the action incorporating the intention is executed as it is based on the automatically generated program code. It becomes possible.
次にステップS13の自然言語解析された会話文の意味動作決定、ステップS14の意味動作決定された会話文を実行するためのプログラムコード解析の詳細な方法について説明をする。 Next, a detailed method of program code analysis for executing the meaning / action determination of the natural language-analyzed conversational sentence in step S13 and the conversational sentence whose meaning / action has been determined in step S14 will be described.
これらの方法を実行する上では、参照用指示動作に対する実際の実行動作命令が3段階以上の連関度を以って関連付けられた実行動作テーブルと、参照用対象格に対する実際の実行動作対象が3段階以上の連関度を以って関連付けられた対象格テーブルを利用する。これらの各テーブルは視覚的に視認できるような表やマトリックスで整理されている場合に限定されるものではなく、単に人工知能の機械学習モデルが記憶された学習済みデータ、並びにその集合で構成されていてもよい。 In executing these methods, the actual execution action instruction for the reference instruction action is associated with the execution action table having three or more levels of association, and the actual execution action target for the reference target case is three. Use the target case table associated with the degree of association of the level or higher. Each of these tables is not limited to being organized in a visually recognizable table or matrix, but simply consists of trained data in which a machine learning model of artificial intelligence is stored, and a set thereof. You may be.
図4、5は、これらのうち実行動作テーブルの例を示している。この実行動作テーブルでは、参照用指示動作と、実行動作命令との3段階以上の連関度が予め設定されていることが前提となる。入力データとして例えば参照用指示動作P01〜P03であるものとする。例えば、この参照用指示動作P01は、「送っておいて」、参照用指示動作P02は「アップしておいて」、参照用指示動作P03は「消しておいて」等であるものとする。このような入力データとしての参照用指示動作P01〜P03は、出力としての実行動作命令に連結している。 FIGS. 4 and 5 show an example of the execution operation table among these. In this execution operation table, it is premised that three or more levels of association between the reference instruction operation and the execution operation instruction are set in advance. It is assumed that the input data is, for example, reference instruction operations P01 to P03. For example, it is assumed that the reference instruction operation P01 is "sent", the reference instruction operation P02 is "up", the reference instruction operation P03 is "erase", and the like. The reference instruction operations P01 to P03 as such input data are linked to the execution operation instruction as output.
このような参照用指示動作は、この出力解としての実行動作命令(例えば、「ファイルを開く」、「転送する」、「印刷する」、「削除する」等)に対して3段階以上の連関度を通じて互いに連関しあっている。参照用指示動作がこの連関度を介して左側に配列し、各実行動作命令が連関度を介して右側に配列している。連関度は、左側に配列された参照用指示動作に対して、何れの実行動作命令と関連性が高いかの度合いを示すものである。換言すれば、この連関度は、各指示動作が、いかなる実行動作命令に紐付けられる可能性が高いかを示す指標であり、指示動作から最も確からしい実行動作命令を選択する上での的確性を示すものである。図4の例では、連関度としてw13〜w19が示されている。このw13〜w19は以下の表1に示すように10段階で示されており、10点に近いほど、中間ノードとしての各組み合わせが出力としての実行動作命令と互いに関連度合いが高いことを示しており、逆に1点に近いほど中間ノードとしての各組み合わせが出力としての実行動作命令と互いに関連度合いが低いことを示している。 Such a reference instruction operation is associated with three or more stages of execution operation instructions (for example, "open file", "transfer", "print", "delete", etc.) as the output solution. They are linked to each other throughout the degree. Reference instruction actions are arranged on the left side via this degree of association, and each execution operation instruction is arranged on the right side via this degree of association. The degree of association indicates the degree of relevance to which execution operation instruction is highly related to the reference instruction operation arranged on the left side. In other words, this degree of association is an index indicating which execution action instruction is likely to be associated with each instruction action, and the accuracy in selecting the most probable execution action instruction from the instruction actions. Is shown. In the example of FIG. 4, w13 to w19 are shown as the degree of association. 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 relevance of each combination as an intermediate node to the execution operation instruction as an output. On the contrary, the closer to one point, the lower the degree of relevance of each combination as an intermediate node to the execution operation instruction as an output.
このような図4に示す3段階以上の連関度w13〜w19を予め取得しておく。つまり実際の探索解の判別を行う上で、処理動作と、実行動作命令の何れが採用、評価されたか、過去のデータセットを蓄積しておき、これらを分析、解析することで図5に示す連関度を作り上げておく。 Such three or more levels of association w13 to w19 shown in FIG. 4 are acquired in advance. That is, in determining the actual search solution, it is shown in FIG. 5 by accumulating a past data set and analyzing and analyzing which of the processing operation and the execution operation instruction was adopted and evaluated. Create a degree of association.
例えば、過去において参照用指示動作P01に対して実行動作命令として「ファイルを開く」が最も適合性が高いと判断され、評価されたものとする。このようなデータセットを集めて分析することにより、参照用指示動作との連関度が強くなる。 For example, in the past, it is assumed that "open file" is judged to have the highest suitability as an execution operation instruction for the reference instruction operation P01 and evaluated. By collecting and analyzing such a data set, the degree of association with the reference instruction operation becomes stronger.
この分析、解析は人工知能により行うようにしてもよい。かかる場合には、例えば指示動作P01である場合に、過去のデータセットに基づいて分析する。指示動作P01である場合に、「ファイルを開く」の事例が多い場合には、この実行動作命令につながる連関度をより高く設定し、「印刷する」の事例が多い場合には、この実行動作命令につながる連関度をより高く設定する。例えば処理動作P01の例では、「ファイルを開く」と、「印刷する」にリンクしているが、以前の事例から「ファイルを開く」につながるw13の連関度を7点に、「印刷する」につながるw14の連関度を2点に設定している。 This analysis and analysis may be performed by artificial intelligence. In such a case, for example, in the case of the instruction operation P01, the analysis is performed based on the past data set. In the case of the instruction operation P01, if there are many cases of "opening a file", the degree of association connected to this execution operation instruction is set higher, and if there are many cases of "printing", this execution operation is performed. Set a higher degree of association that leads to the command. For example, in the example of the processing operation P01, "Open file" and "Print" are linked, but from the previous case, the degree of association of w13 that leads to "Open file" is set to 7 points, and "Print". The degree of association of w14 that leads to is set to 2 points.
また、この連関度は、人工知能におけるニューラルネットワークのノードで構成されるものであってもよい。即ち、このニューラルネットワークのノードが出力に対する重み付け係数が、上述した連関度に対応することとなる。またニューラルネットワークに限らず、人工知能を構成するあらゆる意思決定因子で構成されるものであってもよい。 Further, this degree of association may be composed of the nodes of the neural network in artificial intelligence. That is, the weighting coefficient for the output of the node of this neural network corresponds to the above-mentioned degree of association. Further, the network is not limited to a neural network, and may be composed of all decision-making factors constituting 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 hidden layer is provided between the input node and the output node, and the machine is provided. You may let them learn. The above-mentioned degree of association is set in either one or both of the input node and the hidden layer node, and this is the weight of each node, and the output is selected based on this. Then, when the degree of association exceeds a certain threshold value, the output may be selected.
このような連関度が、人工知能でいうところの学習済みデータとなる。このような学習済みデータを作った後に、実際にこれから新たに指示動作から実行動作命令の探索を行うこととなる。かかる場合には、ステップS12において抽出した指示動作を新たに取得する。新たに取得した指示動作に基づいて、これに見合う実行動作命令を探索する。かかる場合には、予め取得した図4(表1)に示す連関度を参照する。例えば、新たに取得した指示動作がP02と同一かこれに類似するものである場合には、連関度を介して「転送する」がw15、「印刷する」が連関度w16で関連付けられている。かかる場合には、連関度の最も高い「転送する」を最適解として選択する。但し、最も連関度の高いものを最適解として選択することは必須ではなく、連関度は低いものの連関性そのものは認められる「印刷する」を最適解として選択するようにしてもよい。また、これ以外に矢印が繋がっていない出力解を選択してもよいことは勿論であり、連関度に基づくものであれば、その他いかなる優先順位で選択されるものであってもよい。 Such a degree of association is what is called learned data in artificial intelligence. After creating such learned data, the execution operation instruction will be actually searched from the instruction operation. In such a case, the instruction operation extracted in step S12 is newly acquired. Based on the newly acquired instruction operation, the execution operation instruction corresponding to this is searched. In such a case, the degree of association shown in FIG. 4 (Table 1) acquired in advance is referred to. For example, when the newly acquired instruction operation is the same as or similar to P02, "transfer" is associated with w15 and "print" is associated with the association degree w16 via the association degree. 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 the lowest degree of association but the association itself is recognized, may be selected as the optimum solution. In addition to this, it goes without saying that an output solution to which the arrows are not connected may be selected, and as long as it is based on the degree of association, it may be selected in any other priority.
このときプログラムコード自動生成装置1の記憶部に類義語辞書を格納しておくようにしてもよい。類義語辞書とは、類義語に関する辞書である。類義語辞書には、プログラムコード自動生成装置1の記憶部に格納されている1以上の各参照用指示動作ごとに、当該参照用指示動作が有する単語と、当該単語の1または2以上の類義語とが登録されている。具体的には、例えば、参照用指示動作「転送する」に対応付けて、「送信する」、「配信する」などが登録されていてもよい。そして、この類義語辞書を介して、新たに取得した指示動作が参照用指示動作と類似するか否かを判別することができる。仮に参照用指示動作が「転送する」である場合において、新たに取得した指示動作が「送信する」である場合、類義語辞書において類似するものとして予め登録されていることから「配信する」に対応するものと判断することが可能となる。 At this time, the synonym dictionary may be stored in the storage unit of the program code automatic generation device 1. A synonym dictionary is a dictionary related to synonyms. In the synonym dictionary, for each one or more reference instruction operations stored in the storage unit of the program code automatic generation device 1, a word possessed by the reference instruction operation and one or more synonyms of the word are included in the synonym dictionary. Is registered. Specifically, for example, "send", "deliver", and the like may be registered in association with the reference instruction operation "transfer". Then, through this synonym dictionary, it is possible to determine whether or not the newly acquired instruction operation is similar to the reference instruction operation. If the reference instruction action is "transfer" and the newly acquired instruction action is "send", it corresponds to "deliver" because it is registered in advance as similar in the synonym dictionary. It becomes possible to judge that it should be done.
このような連関度を参照することにより、テキストデータから抽出した指示動作がいかなる実行動作命令に該当するものであるのかを精度良く判別することができる。 By referring to such a degree of association, it is possible to accurately determine what kind of execution operation instruction the instruction operation extracted from the text data corresponds to.
図6、7は、参照用対象格に対する実際の実行動作対象が3段階以上の連関度を以って関連付けられた対象格テーブルを利用する例について示している。 FIGS. 6 and 7 show an example in which the actual execution operation target for the reference target case uses the target case table associated with three or more levels of association.
この対象格テーブルでは、参照用対象格と、実行動作対象との3段階以上の連関度が予め設定されていることが前提となる。入力データとして例えば参照用対象格P01〜P03であるものとする。例えば、この参照用対象格P04は、「12月3日12時のメール」、参照用対象格P05は「納品書」、参照用対象格P06は「週報」等であるものとする。このような入力データとしての参照用対象格P04〜P06は、出力としての実行動作対象に連結している。 In this accusative case table, it is premised that three or more levels of association between the reference target case and the execution operation target are set in advance. It is assumed that the input data is, for example, reference target cases P01 to P03. For example, it is assumed that the reference target case P04 is "mail at 12:00 on December 3", the reference target case P05 is "delivery note", and the reference target case P06 is "weekly report". The reference target cases P04 to P06 as such input data are connected to the execution operation target as output.
このような参照用対象格は、この出力解としての実行動作対象(例えば、「12月7日14時受信のメール」、「請求書」、「日報」、「仕様書」等)に対して3段階以上の連関度を通じて互いに連関しあっている。参照用対象格がこの連関度を介して左側に配列し、各実行動作対象が連関度を介して右側に配列している。連関度は、左側に配列された参照用対象格に対して、何れの実行動作対象と関連性が高いかの度合いを示すものである。換言すれば、この連関度は、各対象格が、いかなる実行動作対象に紐付けられる可能性が高いかを示す指標であり、対象格から最も確からしい実行動作対象を選択する上での的確性を示すものである。図6の例では、連関度としてw13〜w19が示されている。図7の連関度の例は、図4のものと必ずしも同一とならないことは勿論である。 Such a reference target case is for an execution operation target as this output solution (for example, "mail received at 14:00 on December 7", "invoice", "daily report", "specification", etc.). They are linked to each other through three or more levels of linking. The reference target cases are arranged on the left side via this degree of association, and each execution operation target is arranged on the right side via this degree of association. The degree of association indicates the degree of relevance to which execution operation target is highly related to the reference target case arranged on the left side. In other words, this degree of association is an index showing what kind of accusative action object is likely to be associated with each accusative case, and the accuracy in selecting the most probable accusative action object from the accusative case. Is shown. In the example of FIG. 6, w13 to w19 are shown as the degree of association. Of course, the example of the degree of association in FIG. 7 is not necessarily the same as that in FIG.
このような図6に示す3段階以上の連関度w13〜w19を予め取得しておく。つまり実際の探索解の判別を行う上で、対象格と、実行動作対象の何れが採用、評価されたか、過去のデータセットを蓄積しておき、これらを分析、解析することで図6に示す連関度を作り上げておく。 Such three or more levels of association w13 to w19 shown in FIG. 6 are acquired in advance. That is, in determining the actual search solution, it is shown in FIG. 6 by accumulating past data sets and analyzing and analyzing which of the accusative case and the execution operation target was adopted and evaluated. Create a degree of association.
例えば、過去において参照用対象格P04に対して実行動作対象として「請求書」が最も適合性が高いと判断され、評価されたものとする。このようなデータセットを集めて分析することにより、参照用対象格との連関度が強くなる。 For example, it is assumed that the "invoice" is judged to have the highest suitability as the execution operation target with respect to the reference target case P04 in the past and is evaluated. By collecting and analyzing such data sets, the degree of association with the accusative case for reference becomes stronger.
この分析、解析は人工知能により行うようにしてもよい。かかる場合には、例えば対象P04である場合に、過去のデータセットに基づいて分析する。対象格P04である場合に、「12月7日14時受信のメール」の事例が多い場合には、この実行動作対象につながる連関度をより高く設定し、「請求書」の事例が多い場合には、この実行動作対象につながる連関度をより高く設定する。例えば参照用対象格P04の例では、「12月7日14時受信のメール」と、「日報」にリンクしているが、以前の事例から「12月7日14時受信のメール」につながるw13の連関度を7点に、「日報」につながるw14の連関度を2点に設定している。 This analysis and analysis may be performed by artificial intelligence. In such a case, for example, in the case of the target P04, the analysis is performed based on the past data set. In the case of accusative P04, if there are many cases of "email received at 14:00 on December 7", the degree of association connected to this execution operation target is set higher, and there are many cases of "invoice". Is set to a higher degree of association connected to this execution operation target. For example, in the example of the accusative case P04 for reference, it is linked to "Email received at 14:00 on December 7" and "Daily report", but it leads to "Email received at 14:00 on December 7" from the previous case. The degree of association of w13 is set to 7 points, and the degree of association of w14 that leads to the "daily report" is set to 2 points.
また、この連関度は、人工知能におけるニューラルネットワークのノードで構成されるものであってもよい。 Further, this degree of association may be composed of the nodes of the 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 hidden layer is provided between the input node and the output node, and the machine is provided. You may let them learn. The above-mentioned degree of association is set in either one or both of the input node and the hidden layer node, and this is the weight of each node, and the output is selected based on this. Then, when the degree of association exceeds a certain threshold value, the output may be selected.
このような連関度が、人工知能でいうところの学習済みデータとなる。このような学習済みデータを作った後に、実際にこれから新たに対象格から実行動作対象の探索を行うこととなる。かかる場合には、ステップS12において抽出した対象格を新たに取得する。新たに取得した対象格に基づいて、これに見合う実行動作対象を探索する。かかる場合には、予め取得した図6(表1)に示す連関度を参照する。例えば、新たに取得した対象格がP05と同一かこれに類似するものである場合には、連関度を介して「請求書」がw15、「日報」が連関度w16で関連付けられている。かかる場合には、連関度の最も高い「請求書」を最適解として選択する。但し、最も連関度の高いものを最適解として選択することは必須ではなく、連関度は低いものの連関性そのものは認められる「日報」を最適解として選択するようにしてもよい。また、これ以外に矢印が繋がっていない出力解を選択してもよいことは勿論であり、連関度に基づくものであれば、その他いかなる優先順位で選択されるものであってもよい。 Such a degree of association is what is called learned data in artificial intelligence. After creating such learned data, we will actually search for the execution operation target from the accusative case. In such a case, the accusative case extracted in step S12 is newly acquired. Based on the newly acquired accusative case, the execution operation target corresponding to this is searched. In such a case, the degree of association shown in FIG. 6 (Table 1) acquired in advance is referred to. For example, when the newly acquired accusative case is the same as or similar to P05, the "invoice" is associated with the association degree w15 and the "daily report" is associated with the association degree w16 through the association degree. In such a case, the “invoice” 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 the lowest degree of association but the association itself is recognized, may be selected as the optimum solution. In addition to this, it goes without saying that an output solution to which the arrows are not connected may be selected, and as long as it is based on the degree of association, it may be selected in any other priority.
このときプログラムコード自動生成装置1の記憶部に類義語辞書を格納しておくようにしてもよい。類義語辞書には、プログラムコード自動生成装置1の記憶部に格納されている1以上の各参照用対象格ごとに、当該対象格が有する単語と、当該単語の1または2以上の類義語とが登録されている。具体的には、例えば、参照用対象格「日報」に対応付けて、「業務報告書」、「業務日誌」などが登録されていてもよい。そして、この類義語辞書を介して、新たに取得した対象格が参照用対象格と類似するか否かを判別することができる。仮に参照用対象格が「日報」である場合において、新たに取得した対象格が「業務日誌」である場合、類義語辞書において類似するものとして予め登録されていることから「日報」に対応するものと判断することが可能となる。 At this time, the synonym dictionary may be stored in the storage unit of the program code automatic generation device 1. In the synonym dictionary, a word possessed by the target case and one or more synonyms of the word are registered for each one or more reference target cases stored in the storage unit of the program code automatic generation device 1. Has been done. Specifically, for example, a "business report", a "business diary", and the like may be registered in association with the reference target case "daily report". Then, through this synonym dictionary, it is possible to determine whether or not the newly acquired accusative case is similar to the reference accusative case. If the accusative case for reference is "daily report" and the newly acquired accusative case is "business diary", it corresponds to "daily report" because it is registered in advance as similar in the synonym dictionary. It becomes possible to judge.
このような連関度を参照することにより、テキストデータから抽出した対象格がいかなる実行動作対象に該当するものであるのかを精度良く判別することができる。 By referring to such a degree of association, it is possible to accurately determine what kind of execution operation target the target case extracted from the text data corresponds to.
図8、9は、参照用終点格に対する実際の実行動作対象が3段階以上の連関度を以って関連付けられた終点格テーブルを利用する例について示している。 FIGS. 8 and 9 show an example in which the actual execution operation target for the reference end point case uses the end point case table associated with three or more levels of association.
この終点格テーブルでは、参照用終点格と、実行動作先との3段階以上の連関度が予め設定されていることが前提となる。入力データとして例えば参照用終点格P07〜P09であるものとする。例えば、この参照用終点格P07は、「山田太郎のPC」、参照用終点格P08は「土井課長のPC」、参照用終点格P09は「取引先A社の担当者C」等であるものとする。このような入力データとしての参照用終点格P07〜P09は、出力としての実行動作先に連結している。 In this end point case table, it is premised that three or more levels of association between the reference end point case and the execution operation destination are set in advance. It is assumed that the input data is, for example, reference end point cases P07 to P09. For example, the reference end point rating P07 is "Taro Yamada's PC", the reference end point rating P08 is "Doi section chief's PC", and the reference end point rating P09 is "person in charge C of business partner A". And. The reference end point cases P07 to P09 as such input data are connected to the execution operation destination as the output.
このような参照用終点格は、この出力解としての実行動作先(例えば、「山田太郎のPC」、「徳川課長のPC」、「取引先A社の担当者B」、「開発部の共用PC」等)に対して3段階以上の連関度を通じて互いに連関しあっている。参照用終点格がこの連関度を介して左側に配列し、各実行動作先が連関度を介して右側に配列している。連関度は、左側に配列された参照用終点格に対して、何れの実行動作先と関連性が高いかの度合いを示すものである。換言すれば、この連関度は、各終点格が、いかなる実行動作先に紐付けられる可能性が高いかを示す指標であり、終点格から最も確からしい実行動作先を選択する上での的確性を示すものである。図8の例では、連関度としてw13〜w19が示されている。図8の連関度の例は、図4、6のものと必ずしも同一とならないことは勿論である。 Such reference end points are the execution operation destinations as this output solution (for example, "PC of Taro Yamada", "PC of Tokugawa section chief", "person in charge B of business partner A", "shared by development department". It is linked to each other through three or more levels of linking to "PC" etc.). The reference end point cases are arranged on the left side via this degree of association, and each execution operation destination is arranged on the right side via this degree of association. The degree of association indicates the degree of relevance to which execution operation destination is highly related to the reference end point case arranged on the left side. In other words, this degree of association is an index indicating what execution operation destination each end point case is likely to be associated with, and the accuracy in selecting the most probable execution operation destination from the end point case. Is shown. In the example of FIG. 8, w13 to w19 are shown as the degree of association. Of course, the example of the degree of association in FIG. 8 is not necessarily the same as that in FIGS. 4 and 6.
このような図8に示す3段階以上の連関度w13〜w19を予め取得しておく。つまり実際の探索解の判別を行う上で、終点格と、実行動作先の何れが採用、評価されたか、過去のデータセットを蓄積しておき、これらを分析、解析することで図8に示す連関度を作り上げておく。 Such three or more levels of association w13 to w19 shown in FIG. 8 are acquired in advance. That is, in determining the actual search solution, a past data set is accumulated to determine which of the end point case and the execution operation destination is adopted and evaluated, and these are analyzed and analyzed to show in FIG. Create a degree of association.
例えば、過去において参照用終点格P07に対して実行動作先として「取引先A社の担当者B」が最も適合性が高いと判断され、評価されたものとする。このようなデータセットを集めて分析することにより、この参照用終点格P07との連関度が強くなる。 For example, in the past, it is assumed that "the person in charge B of the business partner A" is judged to have the highest suitability for the reference end point rating P07 as the execution operation destination, and is evaluated. By collecting and analyzing such a data set, the degree of association with the reference end point case P07 becomes stronger.
この分析、解析は人工知能により行うようにしてもよい。かかる場合には、例えば対象P07である場合に、過去のデータセットに基づいて分析する。終点格P07である場合に、「山田太郎のPC」の事例が多い場合には、この実行動作先につながる連関度をより高く設定し、「取引先A社の担当者B」の事例が多い場合には、この実行動作先につながる連関度をより高く設定する。例えば参照用終点格P07の例では、「山田太郎のPC」と、「取引先A社の担当者B」にリンクしているが、以前の事例から「山田太郎のPC」につながるw13の連関度を7点に、「取引先A社の担当者B」につながるw14の連関度を2点に設定している。 This analysis and analysis may be performed by artificial intelligence. In such a case, for example, in the case of the target P07, the analysis is performed based on the past data set. In the case of the end point rating P07, if there are many cases of "Taro Yamada's PC", the degree of association connected to this execution operation destination is set higher, and there are many cases of "person in charge B of business partner A". In that case, the degree of association connected to this execution operation destination is set higher. For example, in the example of the end point rating P07 for reference, it is linked to "Taro Yamada's PC" and "Person in charge B of customer A company", but from the previous case, the connection of w13 connected to "Taro Yamada's PC". The degree is set to 7 points, and the degree of association of w14 connected to "the person in charge B of the business partner A company" is set to 2 points.
また、この連関度は、人工知能におけるニューラルネットワークのノードで構成されるものであってもよい。 Further, this degree of association may be composed of the nodes of the 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 hidden layer is provided between the input node and the output node, and the machine is provided. You may let them learn. The above-mentioned degree of association is set in either one or both of the input node and the hidden layer node, and this is the weight of each node, and the output is selected based on this. Then, when the degree of association exceeds a certain threshold value, the output may be selected.
このような連関度が、人工知能でいうところの学習済みデータとなる。このような学習済みデータを作った後に、実際にこれから新たに終点格から実行動作先の探索を行うこととなる。かかる場合には、ステップS12において抽出した終点格を新たに取得する。新たに取得した終点格に基づいて、これに見合う実行動作先を探索する。かかる場合には、予め取得した図9(表1)に示す連関度を参照する。例えば、新たに取得した終点格がP08と同一かこれに類似するものである場合には、連関度を介して「徳川課長のPC」がw15、「取引先A社の担当者B」が連関度w16で関連付けられている。かかる場合には、連関度の最も高い「徳川課長のPC」を最適解として選択する。但し、最も連関度の高いものを最適解として選択することは必須ではなく、連関度は低いものの連関性そのものは認められる「取引先A社の担当者B」を最適解として選択するようにしてもよい。また、これ以外に矢印が繋がっていない出力解を選択してもよいことは勿論であり、連関度に基づくものであれば、その他いかなる優先順位で選択されるものであってもよい。 Such a degree of association is what is called learned data in artificial intelligence. After creating such learned data, we will actually search for the execution operation destination from the end point case. In such a case, the end point case extracted in step S12 is newly acquired. Based on the newly acquired end point case, the execution operation destination corresponding to this is searched. In such a case, the degree of association shown in FIG. 9 (Table 1) acquired in advance is referred to. For example, if the newly acquired end point rating is the same as or similar to P08, the "PC of Tokugawa section chief" is w15 and the "person in charge B of business partner A" is linked through the degree of association. It is associated with degree w16. In such a case, the “PC of Tokugawa section chief” 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 select "the person in charge B of business partner A" as the optimum solution, although the degree of association is low but the association itself is recognized. May be good. In addition to this, it goes without saying that an output solution to which the arrows are not connected may be selected, and as long as it is based on the degree of association, it may be selected in any other priority.
このときプログラムコード自動生成装置1の記憶部に類義語辞書を格納しておくようにしてもよい。類義語辞書には、プログラムコード自動生成装置1の記憶部に格納されている1以上の各参照用終点格ごとに、当該終点格が有する単語と、当該単語の1または2以上の類義語とが登録されている。この類義語辞書を介して、新たに取得した終点格が参照用終点格と類似するか否かを判別するようにしてもよい。 At this time, the synonym dictionary may be stored in the storage unit of the program code automatic generation device 1. In the synonym dictionary, a word possessed by the end point case and one or more synonyms of the word are registered for each one or more reference end point cases stored in the storage unit of the program code automatic generation device 1. Has been done. Through this synonym dictionary, it may be determined whether or not the newly acquired end point case is similar to the reference end point case.
このような連関度を参照することにより、テキストデータから抽出した終点格がいかなる実行動作先に該当するものであるのかを精度良く判別することができる。 By referring to such a degree of association, it is possible to accurately determine what kind of execution operation destination the end point case extracted from the text data corresponds to.
このようにしてステップS13、14においてプログラムコードの関連付け解析を行うことで、抽出された指示動作に対応する実行動作命令と、抽出された対象格に対応する実行動作対象と、抽出された終点格に対応する実行動作先が絞り込まれることになる。 By performing the association analysis of the program code in steps S13 and 14 in this way, the execution operation instruction corresponding to the extracted instruction operation, the execution operation target corresponding to the extracted target case, and the extracted end point case The execution operation destination corresponding to is narrowed down.
次にステップS15におけるプログラムコードの作成方法の詳細について説明をする。プログラムコードの作成は、連関度を介して探索された実行動作対象、実行動作対象、実行動作先に基づいて、関連性の高いプログラムコードの基本構文を抽出する。そして、抽出したプログラムコードの基本構文に対して、連関度を介して探索された実行動作対象、実行動作対象、実行動作先を代入することにより行う。 Next, the details of the method of creating the program code in step S15 will be described. The program code is created by extracting the basic syntax of the highly relevant program code based on the execution operation target, the execution operation target, and the execution operation destination searched through the degree of association. Then, the execution operation target, the execution operation target, and the execution operation destination 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.
プログラムコードの基本構文は、実際にPC等により各種処理動作を実行させるためのプログラムコードの原型である。このプログラムコードの基本構文に、必要な文言を代入することで、プログラムコードを完成させることができる。プログラムコードの基本構文の例としては、「INSERT INTO 登録先 VALUES {param1} ;」等であり、実行動作命令としての「INSERT」(登録する)があり、実行動作先としての「登録先」、実行動作対象としての({param1})が構文で既に出来上がっている。このような構文に対して、実際に連関度を介して探索された実行動作対象、実行動作対象、実行動作先をそれぞれ代入していくことでプログラムコードを完成させることができる。例えば「登録先」として、探索した実行動作先「山田太郎のPC」を代入し、({param1})として、探索した売上のデータを代入することで、「売上のデータを山田太郎のPCに登録する」というプログラムコードが完成させることができる。 The basic syntax of the program code is the prototype of the program code for actually executing various processing operations by a PC or the like. The program code can be completed by substituting the necessary wording into the basic syntax of this program code. An example of the basic syntax of the program code is "INSERT INTO registration destination VALUES {param1};", there is "INSERT" (register) as an execution operation instruction, and "registration destination" as an execution operation destination. ({Param1}) as the execution operation target has already been completed in the syntax. The program code can be completed by substituting the execution operation target, the execution operation target, and the execution operation destination that are actually searched through the degree of association with such a syntax. For example, by substituting the searched execution operation destination "Taro Yamada's PC" as the "registration destination" and substituting the searched sales data as ({param1}), "the sales data is transferred to Taro Yamada's PC". The program code "Register" can be completed.
同様に、「プレゼンテーション用のスライドを会議室のディスプレイに表示する」というテキストデータの場合には、対象格としての「プレゼンテーション用のスライド」、終点格としての「会議室のディスプレイ」、指示動作としての「表示する」が抽出され、それぞれに応じた実行動作対象、実行動作対象、実行動作先が探索される。そして、この実行動作先に応じたプログラムコードの基本構文が同様に探索されることになる。 Similarly, in the case of the text data "display the slide for presentation on the display of the conference room", the "slide for presentation" as the target case, the "display of the conference room" as the end point case, and the instruction operation. "Display" is extracted, and the execution operation target, execution operation target, and execution operation destination are searched according to each. Then, the basic syntax of the program code according to the execution operation destination is searched in the same manner.
実際には、表2に示すコードテーブルを介して、プログラムコードの基本構文の探索を行う。コードテーブルでは、同一の行にある参照用実行動作対象、参照用実行動作対象、参照用実行動作先に対して、プログラムコードの基本構文が互いに対応する関係となる。例えば、参照用実行動作対象「請求データ」であり、参照用実行動作命令が「DB参照」であれば、これに対応するプログラムコードの基本構文は、「SELECT 請求額 」となる。 Actually, the basic syntax of the program code is searched through the code table shown in Table 2. In the code table, the basic syntax of the program code corresponds to each other for the reference execution operation target, the reference execution operation target, and the reference execution operation destination in the same row. For example, if the reference execution operation target is "billing data" and the reference execution operation instruction is "DB reference", the basic syntax of the corresponding program code is "SELECT billing amount".
このとき、一つの参照用実行動作対象、参照用実行動作対象、参照用実行動作先の組み合わせが複数のプログラムコードの基本構文に対応する場合もあれば、逆に一つの基本構文が複数の参照用実行動作対象、参照用実行動作対象、参照用実行動作先の組み合わせに対応する場合もある。 At this time, the combination of one reference execution operation target, reference execution operation target, and reference execution operation destination may correspond to the basic syntax of a plurality of program codes, and conversely, one basic syntax may correspond to a plurality of references. It may correspond to the combination of the execution operation target for reference, the execution operation target for reference, and the execution operation destination for reference.
このようなコードテーブルをプログラムコード自動生成装置1の記憶部に記憶させておくことで、プログラムコード自動生成装置1の演算部による演算の過程でこれを読み出し、参照することができる。 By storing such a code table in the storage unit of the program code automatic generation device 1, it is possible to read and refer to it in the process of calculation by the calculation unit of the program code automatic 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 the basic syntax of the program code through machine learning by artificial intelligence for the code table. In the example of FIG. 10, a combination having a reference execution operation instruction as an input variable in the code table, a reference execution operation target, and a reference execution operation destination is input, and the basic syntax of the program code is output. Specifically, it is assumed that the input data is, for example, a reference execution operation instruction (“printer output”, “open file”, etc.), a reference execution operation target, and a reference execution operation destination. The intermediate node 61 is a combination of the reference execution operation target and the reference execution operation destination with respect to the reference execution operation instruction as such input data. Each intermediate node 61 is further connected to an output. In this output, the basic syntaxes A to E of the program code as the output solution are displayed. 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 the basic syntax B is, for example, "Write Line product list.dat {param1". }; ”.
参照用実行動作命令と、参照用実行動作対象、参照用実行動作先との各組み合わせ(中間ノード)は、この出力解としての、プログラムコードの基本構文に対して3段階以上の連関度を通じて互いに連関しあっている。参照用実行動作命令と、参照用実行動作対象、参照用実行動作先がこの連関度を介して左側に配列し、基本構文が連関度を介して右側に配列している。連関度は、左側に配列された実行動作命令等に対して、基本構文と関連性が高いかの度合いを示すものである。換言すれば、この連関度は、各参照用実行動作命令と、参照用実行動作対象、参照用実行動作先が、いかなるプログラムコードの基本構文に紐付けられる可能性が高いかを示す指標であり、実行動作命令等から最も確からしいプログラムコードの基本構文を選択する上での的確性を示すものである。 Each combination (intermediate node) of the reference execution operation instruction, the reference execution operation target, and the reference execution operation destination is related to each other through three or more levels of association with the basic syntax of the program code as this output solution. It is related. The reference execution operation instruction, the reference execution operation target, and the reference execution operation destination are arranged on the left side via this degree of association, and the basic syntax is arranged on the right side via this degree of association. The degree of association indicates the degree of relevance to the basic syntax for the execution operation instructions arranged on the left side. In other words, this degree of association is an index indicating which program code basic syntax is likely to be associated with each reference execution operation instruction, reference execution operation target, and reference execution operation destination. , It shows the accuracy in selecting the most probable basic syntax of the program code from the execution operation instructions.
このような図10に示す3段階以上の連関度w13〜w22を予め取得しておく。実際の探索解の判別を行う上で、参照用実行動作命令と、参照用実行動作対象、参照用実行動作先、並びにその場合のプログラムコードの基本構文が何れが好適であったか、過去のデータを蓄積しておき、これらを分析、解析することで連関度を作り上げておく。 Such three or more levels of association w13 to w22 shown in FIG. 10 are acquired in advance. In determining the actual search solution, the past data indicating 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 is used. Accumulate and analyze and analyze these to create a degree of association.
この分析、解析は人工知能により行うようにしてもよい。かかる場合には、例えば参照用実行動作命令が「転送する」であり、参照用実行動作対象、参照用実行動作先が「売り上げのデータ、山田太郎のPC」である場合に、そのプログラムコードの基本構文を過去のデータから分析する。基本構文Cの事例が多い場合には、この基本構文Cにつながる連関度をより高く設定し、基本構文Eの事例が多く、基本構文Cの事例が少ない場合には、基本構文Eにつながる連関度を高くし、基本構文Cにつながる連関度を低く設定する。例えば中間ノード61aの例では、基本構文Aと基本構文Bの出力にリンクしているが、以前の事例から基本構文Aにつながるw13の連関度を7点に、基本構文Bにつながるw14の連関度を2点に設定している。
This analysis and analysis may be performed by artificial intelligence. In such a case, for example, when the reference execution operation instruction is "transfer", and the reference execution operation target and the reference execution operation destination are "sales data, Taro Yamada's PC", the program code Analyze the basic syntax from historical data. When there are many cases of basic syntax C, the degree of association leading to this basic syntax C is set higher, and when there are many cases of basic syntax E and few cases of basic syntax C, the association leading to basic syntax E is set. Set the degree high and the degree of association leading to the basic syntax C low. For example, in the example of the
また、この図10に示す連関度は、人工知能におけるニューラルネットワークのノードで構成されるものであってもよい。即ち、このニューラルネットワークのノードが出力に対する重み付け係数が、上述した連関度に対応することとなる。またニューラルネットワークに限らず、人工知能を構成するあらゆる意思決定因子で構成されるものであってもよい。 Further, the degree of association shown in FIG. 10 may be composed of the nodes of the neural network in artificial intelligence. That is, the weighting coefficient for the output of the node of this neural network corresponds to the above-mentioned degree of association. Further, the network is not limited to a neural network, and may be composed of all decision-making factors constituting artificial intelligence.
図10に示す連関度の例で、ノード61bは、基本構文Cの連関度がw15、基本構文Eの連関度がw16となっている。
In the example of the degree of association shown in FIG. 10, the
このような連関度が、人工知能でいうところの学習済みデータとなる。このような学習済みデータを作った後に、実際にこれから基本構文の探索を行う際において、上述した学習済みデータを利用して行うこととなる。かかる場合には、ステップS13〜S14において探索された実行動作命令と実行動作対象と、実行動作先を利用する。 Such a degree of association is what is called learned data in artificial intelligence. After creating such learned data, when actually searching for the basic syntax from now on, the above-mentioned learned data will be used. In such a case, the execution operation instruction, the execution operation target, and the execution operation destination searched in steps S13 to S14 are used.
このようにして新たに取得した実行動作命令と、実行動作対象と、実行動作先に基づいて、最適なプログラムコードの基本構文を探索する。かかる場合には、予め取得した図10(表1)に示す連関度を参照する。例えば、新たに取得した実行動作命令が「ファイルを開く」である場合であって、実行動作対象と、実行動作先がP21である場合には、連関度を介してノード61dが関連付けられており、このノード61dは、基本構文Cがw19、基本構文Dが連関度w20で関連付けられている。かかる場合には、連関度の最も高い基本構文Cを最適解として選択する。但し、最も連関度の高いものを最適解として選択することは必須ではなく、連関度は低いものの連関性そのものは認められる基本構文Dを最適解として選択するようにしてもよい。また、これ以外に矢印が繋がっていない出力解を選択してもよいことは勿論であり、連関度に基づくものであれば、その他いかなる優先順位で選択されるものであってもよい。
The basic syntax of the optimum program code is searched for based on the newly acquired execution operation instruction, the execution operation target, and the execution operation destination. In such a case, the degree of association shown in FIG. 10 (Table 1) acquired in advance is referred to. For example, when the newly acquired execution operation instruction is "open file" and the execution operation target and the execution operation destination are P21, the
また、入力から伸びている連関度w1〜w12の例を以下の表3に示す。 Further, an example of the degree of association w1 to w12 extending from the input is shown in Table 3 below.
この入力から伸びている連関度w1〜w12に基づいて中間ノード61が選択されていてもよい。つまり連関度w1〜w12が大きいほど、中間ノード61の選択における重みづけを重くしてもよい。しかし、この連関度w1〜w12は何れも同じ値としてもよく、中間ノード61の選択における重みづけは何れも全て同一とされていてもよい。 The intermediate node 61 may be selected based on the degree of association w1 to w12 extending from this input. That is, the larger the degree of association w1 to w12, the heavier the weighting in the selection of the intermediate node 61 may be. However, the degrees of association w1 to w12 may all have the same value, and the weights in the selection of the intermediate node 61 may all be the same.
なお、本発明は、上述した実施の形態に限定されるものではない。実行動作対象、実行動作対象、実行動作先を探索し、プログラムコードの基本構文に、実行動作対象、実行動作対象、実行動作先を代入することにより、当該実行動作対象を当該実行動作先に対して当該実行動作命令に規定された実行動作を実行するためのプログラムコードを生成するが場合について例をとり説明をしたが、これに限定されるものではない。実行動作先の探索を省略し、当該実行動作対象を当該実行動作命令に規定された実行動作を実行するためのプログラムコードを生成するものであってもよい。 The present invention is not limited to the above-described embodiment. By searching for the execution operation target, execution operation target, and execution operation destination, and substituting the execution operation target, execution operation target, and execution operation destination into the basic syntax of the program code, the execution operation target is assigned to the execution operation destination. The case where the program code for executing the execution operation specified in the execution operation instruction is generated has been described as an example, but the present invention is not limited to this. The search for the execution operation destination may be omitted, and the program code for executing the execution operation specified in the execution operation instruction may be generated for the execution operation target.
また、抽出対象の格成分は、上述した対象格や終点格に限定されるものではなく、始点格、条件格を含めてもよい。 Further, the case component to be extracted is not limited to the above-mentioned target case and end point case, and may include a start point case and a conditional case.
始点格とは、対象格で規定される実行対象が生成される場所、実行対象の開始元を規定するものである。「ファイルAを山田太郎から送って」という文言の場合、「送って」という動詞に対して、「ファイルA」が対象格として係り受けし、更にこれが山田太郎を始点として送られるものであるから、この始点格は「山田太郎」となる。 The starting point case defines the place where the execution target defined by the target case is generated and the start source of the execution target. In the case of the phrase "send file A from Taro Yamada", the verb "send" is subject to "file A" as the accusative case, and this is sent starting from Taro Yamada. , This starting point is "Taro Yamada".
このような始点格を利用する場合においても、図8に示す終点格テーブルにおける、参照用終点格が参照用始点格になり、探索するのは実行動作元となる。つまり参照用始点格に対する実際の実行動作元が3段階以上の連関度を以って関連付けられた始点格テーブルを記憶しておく。そして、テキストデータを分析し、抽出された始点格に対する実行動作元を、記憶されている始点格テーブルの連関度を参照することにより探索する。次に、プログラムコードの基本構文に、探索された実行動作元を代入することにより、当該実行動作対象を当該実行動作元から当該実行動作先に対して当該実行動作命令に規定された実行動作を実行するためのプログラムコードを生成する。 Even when such a start point case is used, the reference end point case in the end point case table shown in FIG. 8 becomes the reference start point case, and the search is the execution operation source. That is, the start point case table in which the actual execution operation source for the reference start point case is associated with three or more levels of association is stored. Then, the text data is analyzed, and the execution operation source for the extracted start point case is searched by referring to the degree of association of the stored start point case table. Next, by substituting the searched execution operation source into the basic syntax of the program code, the execution operation specified in the execution operation instruction is performed from the execution operation source to the execution operation destination. Generate program code to execute.
また、条件格とは、対象格で規定される実行対象の動作を実行する条件を規定するものである。この条件としては、いつ(時間)やどのような方法で(方法)、いつから開始(動作開始条件)、いつまでに実行(動作終了条件)等である。 The conditional case defines the conditions for executing the operation of the execution target defined by the accusative case. The conditions include when (time), how (method), when to start (operation start condition), and when to execute (operation end condition).
例えば「ファイルAを明日までに送って」という文言の場合、「送って」という動詞に対して、「ファイルA」が対象格として係り受けし、更に「明日までに」が条件格として係り受けするものであるから、この条件格は「明日までに」となる。 For example, in the case of the phrase "send file A by tomorrow", "file A" is assigned as the accusative case and "by tomorrow" is assigned as the accusative case for the verb "send". This condition is "by tomorrow".
このような始点格を利用する場合においても、図8に示す参照用終点格が参照用条件格になり、探索するのは実行動作条件となる。つまり参照用条件格に対する実際の実行動作条件が3段階以上の連関度を以って関連付けられた条件格テーブルを記憶しておく。そして、テキストデータを分析し、抽出された条件格に対する実行動作条件を、記憶されている条件格テーブルの連関度を参照することにより探索する。次に、プログラムコードの基本構文に、探索された実行動作条件を代入することにより、当該実行動作対象を当該実行動作先に対して当該実行動作条件に基づいて当該実行動作命令に規定された実行動作を実行することになる。 Even when such a start point case is used, the reference end point case shown in FIG. 8 becomes the reference condition case, and the search is the execution operation condition. That is, the condition case table in which the actual execution operation conditions for the reference condition case are associated with each other with three or more levels of association is stored. Then, the text data is analyzed, and the execution operation 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 executed for the execution operation destination as specified in the execution operation instruction based on the execution operation condition. The action will be performed.
なお、本発明は、上述した本実施形態に限定されるものではない。例えば図11に示すように、実行動作テーブル、対象格テーブル、終点格テーブルのそれぞれに規定されている連関度に基づいて、ユーザに対して入力内容を確認するための確認文を生成するようにしてもよい。生成した確認文は、音声出力又は画像出力するようにしてもよい。つまり、ユーザからの入力内容から実行動作命令、実行動作対象、実行動作先のいずれかが好適に特定することができない場合には、改めてその意図をユーザに問い合わせるための確認文を生成し、意図を確認するプロセスを実行する。探索解としての実行動作命令、実行動作対象、実行動作先は、何れも有限であるのに対して、ユーザにより生成されるテキストデータの文言の種類は無限に近い。このため、ユーザから生成されるテキストデータから抽出した指示動作や格成分によっては、実行動作命令、実行動作対象、実行動作先を探索することができない場合がある。また、ユーザが方言を使う場合、その方言の内容によっては実行動作命令、実行動作対象、実行動作先を連関度を通じて絞り込めない場合がある。かかる場合には、改めてその意図をユーザに問い合わせるための確認文を生成する。確認文の生成、通知に対してユーザから改めてテキストデータの再入力を受け付けることにあるが、このプロセスは、いわゆるチャット形式で行うようにしてもよい。 The present invention is not limited to the above-described embodiment. For example, as shown in FIG. 11, a confirmation statement for confirming the input contents to the user is generated based on the degree of association defined in each of the execution operation table, the target case table, and the end point case table. You may. The generated confirmation text may be output by voice or image. That is, when any of the execution operation instruction, the execution operation target, and the execution operation destination cannot be appropriately specified from the input contents from the user, a confirmation statement for inquiring the user about the intention is generated again and the intention is generated. Run the process to confirm. While the execution action instruction, the execution action target, and the execution action destination as the search solution are all finite, the types of wording of the text data generated by the user are almost infinite. Therefore, depending on the instruction operation or the case component extracted from the text data generated by the user, it may not be possible to search for the execution operation instruction, the execution operation target, or the execution operation destination. Further, when the user uses a dialect, the execution operation instruction, the execution operation target, and the execution operation destination may not be narrowed down through the degree of association depending on the content of the dialect. In such a case, a confirmation statement for inquiring the user about the intention is generated again. The process is to accept re-entry of text data from the user in response to the generation of confirmation text and notification, but this process may be performed in a so-called chat format.
確認文の生成は、実行動作テーブル、対象格テーブル、終点格テーブルを介して探索した実行動作命令、実行動作対象、実行動作先にそれぞれ紐付けられていた連関度に基づいて行ってもよい。仮に実行動作テーブルにおいて「ファイルを開く」という実行動作命令が探索されたが、これに紐付いている連関度w13が10段階評価の中で5である場合、正直なところ、それほど強い連関度の下で実行動作命令が決定されたものではなく、ユーザの意図を汲み取った探索解になっていない可能性がある。つまり、実行動作命令、実行動作対象、実行動作先を連関度を通じて絞り込めないケースである。かかる場合には、確認文を生成し、ユーザの意図を確認し、再入力を受け付ける。そして受け付けた再入力の内容に基づいて動揺に解探索を行うようにしてもよい。このように実行動作命令、実行動作対象、実行動作先にそれぞれ紐付けられていた連関度がある一定の閾値未満である場合に、ユーザの意図を反映した探索が行われていないものと判断し、確認文を生成するようにしてもよい。この確認文は、予め例文を複数種類準備しておき、これに対して探索解に応じたものを例文中に代入することで行うようにしてもよい。例えば、実行動作命令「転送する」について本当にユーザが意図しているか否かを確認したい場合には、「ファイルAを●●されたいということですか?」の●●の部分にこの実行動作命令「転送(する)」を代入することで確認文を生成するようにしてもよい。 The confirmation statement may be generated based on the degree of association associated with the execution action instruction, the execution action target, and the execution action destination searched through the execution action table, the target case table, and the end point case table. If the execution operation instruction "open file" is searched for in the execution operation table, but the association degree w13 associated with this is 5 out of 10 grades, to be honest, it is under such a strong association degree. There is a possibility that the execution operation instruction has not been determined in, and the search solution does not capture the user's intention. That is, it is a case where the execution operation instruction, the execution operation target, and the execution operation destination cannot be narrowed down through the degree of association. In such a case, a confirmation statement is generated, the user's intention is confirmed, and re-input is accepted. Then, the solution search may be performed upsetly based on the contents of the received re-input. In this way, when the degree of association associated with the execution operation instruction, the execution operation target, and the execution operation destination is less than a certain threshold value, it is determined that the search reflecting the user's intention has not been performed. , You may want to generate a confirmation statement. This confirmation sentence may be performed by preparing a plurality of types of example sentences in advance and substituting those corresponding to the search solution into the example sentences. For example, if you want to check whether the user really intends to "transfer" the execution operation instruction, this execution operation instruction is in the ●● part of "Do you want to ●● file A?" A confirmation statement may be generated by substituting "transfer".
また、このような閾値を設定する代わりに、各テーブルを利用して探索した実行動作命令、実行動作対象、実行動作先にそれぞれ紐付けられていた連関度を互いに比較することで確認文を生成するようにしてもよい。仮に探索した実行動作命令、実行動作対象、実行動作先にそれぞれ紐付けられていた連関度を互いに比較したところ、その探索した実行動作対象に紐付けられている連関度が最も低い場合には、この実行動作対象を確認するための確認文を生成して出力するようにしてもよい。 In addition, instead of setting such a threshold value, a confirmation statement is generated by comparing the degree of association associated with each of the execution operation instruction, the execution operation target, and the execution operation destination searched using each table. You may try to do it. When the degree of association associated with each of the searched execution operation instruction, execution operation target, and execution operation destination is compared with each other, if the degree of association associated with the searched execution operation target is the lowest, A confirmation statement for confirming the execution operation target may be generated and output.
また、ユーザの音声にノイズが重畳していることから、これをテキストデータに落とし込んだ場合、そもそも類義語辞典にそのような文言が存在せず、参照用指示動作、参照用対象格、参照用終点格との照合ができない場合が出てくる。このように参照用指示動作、参照用対象格、参照用終点格との照合ができない場合も、同様に確認文を生成し、ユーザに出力するようにしてもよい。この確認文の生成は、照合ができない参照用指示動作、参照用対象格、参照用終点格毎に例文を作成して記憶しておき、実際に照合ができなかった参照用指示動作、参照用対象格、参照用終点格に応じて例文を読み出して出力するようにしてもよい。 In addition, since noise is superimposed on the user's voice, when this is incorporated into text data, there is no such wording in the synonym dictionary in the first place, and the reference instruction operation, reference target case, and reference end point are used. In some cases, it cannot be matched with the case. Even when the reference instruction operation, the reference target case, and the reference end point case cannot be collated in this way, a confirmation statement may be generated and output to the user in the same manner. For the generation of this confirmation sentence, an example sentence is created and stored for each reference instruction operation, reference target case, and reference end point case that cannot be collated, and the reference instruction operation and reference that cannot be actually collated. An example sentence may be read and output according to the target case and the reference end point case.
連関度が相対的に引く場合には、ユーザの意図を反映した探索が行われていないものと判断し、確認文を生成することでその意図を確認することが可能となる。 When the degree of association is relatively low, it is determined that the search reflecting the user's intention has not been performed, and the intention can be confirmed by generating a confirmation sentence.
[実施形態2]
次に、図12を用いて、本発明の実施形態2におけるプログラムコード自動生成システムについて説明する。図12は、実施形態2における実行動作テーブルの例を示す図である。上述の実施形態1におけるプログラムコード自動生成システム100と相違する点は、主に、実行動作テーブルで人工知能を用いないことなので、その点について主に説明し、同一構成は同一符号を付し、説明を省略する。
[Embodiment 2]
Next, the program code automatic generation system according to the second embodiment 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 difference from the program code
この実施形態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, if the reference instruction operation P01-1 on the input side is used, the execution operation instruction on the output side is input so as to "open a file". It is different from the program code
[実施形態3]
次に、図13を用いて、本発明の実施形態3におけるプログラムコード自動生成システムについて説明する。図13は、実施形態3における対象格テーブルの例を示す図である。上述の実施形態1におけるプログラムコード自動生成システム100と相違する点は、主に、対象格テーブルで人工知能を用いないことなので、その点について主に説明し、同一構成は同一符号を付し、説明を省略する。
[Embodiment 3]
Next, the program code automatic generation system according to the third embodiment of the present invention will be described with reference to FIG. FIG. 13 is a diagram showing an example of the accusative case table in the third embodiment. The difference from the program code
この実施形態3におけるプログラムコード自動生成システムでは、対象格テーブルにおいて、例えば、入力側の参照用対象格P04−1だと、出力側の実行動作対象が「12月7日14時受信」となるように、入力側の参照用対象格のデータと、出力側の実行動作対象のデータとが、それぞれ紐づけられたデータセットとして用意されていることが、実施形態1におけるプログラムコード自動生成システム100と異なる。なお、図13の対象格テーブルは、実施形態1における図6の対象格テーブルに対応するものを一例として示したものである。
In the program code automatic generation system according to the third embodiment, in the target case table, for example, if the reference target case P04-1 on the input side, the execution operation target on the output side is "received at 14:00 on December 7". As described above, the program code
[実施形態4]
次に、図12及び図13を用いて、本発明の実施形態4におけるプログラムコード自動生成システムについて説明する。図12は、実施形態4における実行動作テーブルの例を示す図である。図13は、実施形態4における対象格テーブルの例を示す図である。上述の実施形態1におけるプログラムコード自動生成システム100と相違する点は、主に、実行動作テーブル及び対象格テーブルで人工知能を用いないことなので、その点について主に説明し、同一構成は同一符号を付し、説明を省略する。
[Embodiment 4]
Next, the program code automatic generation system according to the fourth embodiment of the present invention will be described with reference to FIGS. 12 and 13. 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 the accusative case table in the fourth embodiment. The difference from the program code
この実施形態4におけるプログラムコード自動生成システムでは、実行動作テーブルにおいて、例えば、入力側の参照用指示動作P01−1だと、出力側の実行動作命令が「ファイルを開く」となるように、入力側の参照用指示動作のデータと、出力側の実行動作命令のデータとが、それぞれ紐づけられたデータセットとして用意されている。 In the program code automatic generation system according to the fourth embodiment, in the execution operation table, for example, if the reference instruction operation P01-1 on the input side is used, the execution operation instruction on the output side is input so as to "open a file". The data of the reference instruction operation on the side and the data of the execution operation instruction on the output side are prepared as a data set 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 target case table, for example, if the reference target case P04-1 on the input side, the execution operation target on the output side is "received at 14:00 on December 7". The data of the reference target case on the input side and the data of the execution operation target on the output side are prepared as a data set associated with each other so as to be.
この実施形態4におけるプログラムコード自動生成システムでは、これらのことが、実施形態1におけるプログラムコード自動生成システム100と異なる。なお、図12の実行動作テーブルは、実施形態1における図4の実行動作テーブルに対応するものを一例として示したものであり、図13の対象格テーブルは、実施形態1における図6の対象格テーブルに対応するものを一例として示したものである。
In the program code automatic generation system of the fourth embodiment, these are different from the program code
なお、実施形態1〜4においては、図8の人工知能を用いた終点格テーブルを、図14のような、例えば、入力側の参照用終点格P07−1だと、出力側の実行動作先が「山田太郎のPC」となるように、入力側の参照用終点格のデータと、出力側の実行動作先のデータとが、それぞれ紐づけられたデータセットとして用意された終点格テーブルに置き換えて実施してもよい。 In the first to fourth embodiments, if the end point case table using the artificial intelligence of FIG. 8 is, for example, the reference end point case P07-1 on the input side as shown in FIG. 14, the execution operation destination on the output side. Is replaced with the end point case table prepared as the data set associated with the data of the reference end point case on the input side and the data of the execution operation destination on the output side so that becomes "Taro Yamada's PC". May be carried out.
1 プログラムコード自動生成装置
2 端末
3 サーバ
4 通信網
61 中間ノード
100 プログラムコード自動生成システム
1 Program code
Claims (13)
上記受付手段により受け付けられたテキストデータを自然言語解析することにより、指示動作と、これに係り受けする少なくとも対象格からなる格成分を抽出する抽出手段と、
参照用指示動作に対する実際の実行動作命令が関連付けられた実行動作テーブルと、参照用対象格に対する実際の実行動作対象が関連付けられた対象格テーブルとを少なくとも記憶する記憶手段と、
上記抽出された指示動作に対応する実行動作命令と、上記抽出された対象格に対応する実行動作対象とを、上記記憶手段により記憶されている実行動作テーブル、対象格テーブルを参照することにより探索する探索手段と、
プログラムコードの基本構文に、上記探索手段により探索された実行動作命令、実行動作対象を代入することにより、当該実行動作対象を当該実行動作命令に規定された実行動作を実行するためのプログラムコードを自動生成するコード生成手段とを備え、
実行動作テーブルは、参照用指示動作に対する実際の実行動作命令が3段階以上の連関度を以って関連付けられ、上記記憶手段に記憶されており、
上記探索手段は、上記抽出された指示動作に対応する実行動作命令を、上記記憶手段により記憶されている実行動作テーブルの連関度を参照することにより探索し、
対象格テーブルにおいて、入力側の参照用対象格のデータと、出力側の実行動作対象のデータとが、それぞれ紐づけられたデータセットとして用意されていること
を特徴とするプログラムコード自動生成システム。 A reception means that accepts text data input via voice or an input terminal,
By analyzing the text data received by the above-mentioned reception means in natural language, an instruction operation and an extraction means for extracting a case component consisting of at least the accusative case related to the instruction action,
A storage means for storing at least an execution action table associated with an actual execution action instruction for a reference instruction action and a target case table associated with an actual execution action target for a reference target case.
The execution action instruction corresponding to the extracted instruction action and the execution action target corresponding to the extracted target case are searched by referring to the execution action table and the target case table stored by the storage means. Search means to do
By substituting the execution operation instruction and the execution operation target searched by the above search means into the basic syntax of the program code, the program code for executing the execution operation specified in the execution operation instruction can be obtained. Equipped with an automatically generated code generation means
In the execution operation table, the actual execution operation instructions for the reference instruction operation are associated with each other with a degree of association of three or more levels, and are stored in the above storage means.
The search means searches for an execution action instruction corresponding to the extracted instruction action by referring to the degree of association of the execution action table stored by the storage means.
A program code automatic generation system characterized in that, in the target case table, the data of the target case for reference on the input side and the data of the execution operation target on the output side are prepared as a data set associated with each other.
上記受付手段により受け付けられたテキストデータを自然言語解析することにより、指示動作と、これに係り受けする少なくとも対象格からなる格成分を抽出する抽出手段と、
参照用指示動作に対する実際の実行動作命令が関連付けられた実行動作テーブルと、参照用対象格に対する実際の実行動作対象が関連付けられた対象格テーブルとを少なくとも記憶する記憶手段と、
上記抽出された指示動作に対応する実行動作命令と、上記抽出された対象格に対応する実行動作対象とを、上記記憶手段により記憶されている実行動作テーブル、対象格テーブルを参照することにより探索する探索手段と、
プログラムコードの基本構文に、上記探索手段により探索された実行動作命令、実行動作対象を代入することにより、当該実行動作対象を当該実行動作命令に規定された実行動作を実行するためのプログラムコードを自動生成するコード生成手段とを備え、
対象格テーブルは、参照用対象格に対する実際の実行動作対象が3段階以上の連関度を以って関連付けられ、上記記憶手段に記憶されており、
上記探索手段は、上記抽出された対象格に対応する実行動作対象を、上記記憶手段により記憶されている対象格テーブルの連関度を参照することにより探索し、
実行動作テーブルにおいて、入力側の参照用指示動作のデータと、出力側の実行動作命令のデータとが、それぞれ紐づけられたデータセットとして用意されていること
を特徴とするプログラムコード自動生成システム。 A reception means that accepts text data input via voice or an input terminal,
By analyzing the text data received by the above-mentioned reception means in natural language, an instruction operation and an extraction means for extracting a case component consisting of at least the accusative case related to the instruction action,
A storage means for storing at least an execution action table associated with an actual execution action instruction for a reference instruction action and a target case table associated with an actual execution action target for a reference target case.
The execution action instruction corresponding to the extracted instruction action and the execution action target corresponding to the extracted target case are searched by referring to the execution action table and the target case table stored by the storage means. Search means to do
By substituting the execution operation instruction and the execution operation target searched by the above search means into the basic syntax of the program code, the program code for executing the execution operation specified in the execution operation instruction can be obtained. Equipped with an automatically generated code generation means
In the accusative table, the actual execution operation target with respect to the reference target case is associated with each other with a degree of association of 3 or more levels, and is stored in the above storage means.
The search means searches for an execution operation target corresponding to the extracted target case by referring to the degree of association of the target case table stored by the storage means .
In execution operation table, and the input side of the reference instruction operation data, and the data of the execution operation command output side, generates automatic features and to Help program code that is provided as a data set that is associated string respectively system.
上記記憶手段は、参照用終点格に対する実際の実行動作先が関連付けられた終点格テーブルを記憶し、
上記探索手段は、上記抽出された終点格に対する実行動作先を、上記記憶手段により記憶されている終点格テーブルを参照することにより探索し、
上記コード生成手段は、プログラムコードの基本構文に、上記探索手段により探索された実行動作先を代入することにより、当該実行動作対象を当該実行動作先に対して当該実行動作命令に規定された実行動作を実行するためのプログラムコードを自動生成すること
を特徴とする請求項1又は2記載のプログラムコード自動生成システム。 The above-mentioned extraction means extracts a case component consisting of an end point case that depends on an instruction operation, and extracts the case component.
The above storage means stores the end point case table associated with the actual execution operation destination for the reference end point case, and stores the end point case.
The search means searches for the execution operation destination for the extracted end point case by referring to the end point case table stored by the storage means.
The code generating means substitutes the execution operation destination searched by the search means into the basic syntax of the program code, so that the execution operation target is executed with respect to the execution operation destination specified in the execution operation instruction. The program code automatic generation system according to claim 1 or 2, wherein the program code for executing an operation is automatically generated.
上記探索手段は、上記抽出された終点格に対する実行動作先を、上記記憶手段により記憶されている終点格テーブルの連関度を参照することにより探索すること
を特徴とする請求項3記載のプログラムコード自動生成システム。 The storage means stores an end point case table in which the actual execution operation destination for the reference end point case is associated with three or more levels of association.
The program code according to claim 3 , wherein the search means searches for an execution operation destination for the extracted end point case by referring to the degree of association of the end point case table stored by the storage means. Automatic generation system.
上記確認文生成手段により生成された確認文を音声出力又は画像出力する出力手段とを備え、
上記受付手段は、ユーザによりテキストデータの再入力を受け付けること
を特徴とする請求項4記載のプログラムコード自動生成システム。 The search means informs the user based on the degree of association associated with the execution action table, the target case table, the execution action instruction searched through the execution action table, the execution action target, and the execution action destination, respectively. On the other hand, a confirmation statement generation means for generating a confirmation statement for confirming the input contents, and a confirmation statement generation means
It is provided with an output means for outputting a voice or an image of the confirmation sentence generated by the above confirmation sentence generation means.
The program code automatic generation system according to claim 4 , wherein the reception means accepts re-input of text data by a user.
を特徴とする請求項4又は5記載のプログラムコード自動生成システム。 The code generation means refers to a code table associated with the basic syntax of the program code for the combination of the reference execution operation target, the reference execution operation target, and the reference execution operation destination, and the execution operation searched by the search means. The program according to claim 4 or 5, wherein the basic syntax of a highly relevant program code is extracted based on the target, the execution operation target, and the execution operation destination, and the above substitution is performed on the extracted basic syntax. Code automatic generation system.
を特徴とする請求項6記載のプログラムコード自動生成システム。 The above code generation means creates the above code table associated with a combination of a reference execution operation target, a reference execution operation target, and a reference execution operation destination with three or more levels of association with the basic syntax of the program code. The program code automatic generation system according to claim 6, further comprising reference.
を特徴とする請求項1〜7のうち何れか1項記載のプログラムコード自動生成システム。 The program code automatic generation system according to any one of claims 1 to 7 , further comprising a program execution means for executing the program code automatically generated by the code generation means.
を特徴とする請求項4〜7のうち何れか1項記載のプログラムコード自動生成システム。 Each terminal device in a communication network according to any one of claims 4-7, characterized by further comprising an operation destination registration means for registering in advance as the reference for execution operation target of the endpoint rating table Program code automatic generation system.
上記記憶手段は、参照用始点格に対する実際の実行動作元が3段階以上の連関度を以って関連付けられた始点格テーブルを記憶し、
上記探索手段は、上記抽出された始点格に対する実行動作元を、上記記憶手段により記憶されている始点格テーブルの連関度を参照することにより探索し、
上記コード生成手段は、プログラムコードの基本構文に、上記探索手段により探索された実行動作元を代入することにより、当該実行動作対象を当該実行動作元から当該実行動作先に対して当該実行動作命令に規定された実行動作を実行するためのプログラムコードを自動生成すること
を特徴とする請求項4〜7のうち何れか1項記載のプログラムコード自動生成システム。 The above-mentioned extraction means extracts a case component consisting of a starting point case that is affected by the instruction operation, and extracts the case component.
The storage means stores a start point case table in which the actual execution operation source for the reference start point case is associated with three or more levels of association.
The search means searches for an execution operation source for the extracted start point case by referring to the degree of association of the start point case table stored by the storage means.
By substituting the execution operation source searched by the search means into the basic syntax of the program code, the code generation means sets the execution operation target from the execution operation source to the execution operation destination. The program code automatic generation system according to any one of claims 4 to 7 , wherein the program code for executing the execution operation specified in the above is automatically generated.
上記記憶手段は、参照用条件格に対する実際の実行動作条件が3段階以上の連関度を以って関連付けられた条件格テーブルを記憶し、
上記探索手段は、上記抽出された条件格に対する実行動作条件を、上記記憶手段により記憶されている条件格テーブルの連関度を参照することにより探索し、
上記コード生成手段は、プログラムコードの基本構文に、上記探索手段により探索された実行動作条件を代入することにより、当該実行動作対象を当該実行動作先に対して当該実行動作条件に基づいて当該実行動作命令に規定された実行動作を実行するためのプログラムコードを自動生成すること
を特徴とする請求項4〜7のうち何れか1項記載のプログラムコード自動生成システム。 The above-mentioned extraction means extracts a case component consisting of a conditional case that depends on the instruction operation, and extracts the case component.
The storage means stores a condition case table in which the actual execution operation condition with respect to the reference condition case is associated with three or more levels of association.
The search means searches for the execution operation condition for the extracted conditional case by referring to the degree of association of the conditional case table stored by the storage means.
By substituting the execution operation condition searched by the search means into the basic syntax of the program code, the code generation means sends the execution operation target to the execution operation destination based on the execution operation condition. The program code automatic generation system according to any one of claims 4 to 7 , wherein a program code for executing an execution operation specified in an operation instruction is automatically generated.
を特徴とする請求項1〜11のうち何れか1項記載のプログラムコード自動生成システム。 The program code automatic generation system according to any one of claims 1 to 11 , wherein the storage means stores the degree of association corresponding to the weighting coefficient of each output of the node of the neural network in artificial intelligence. ..
を特徴とする請求項7記載のプログラムコード自動生成システム。 The program code automatic generation system according to claim 7 , wherein the code generation means uses the degree of association corresponding to the weighting coefficient of each output of the node of the neural network in artificial intelligence.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021099206A JP6958884B1 (en) | 2021-06-15 | 2021-06-15 | Program code automatic generation system |
PCT/JP2021/023803 WO2022264434A1 (en) | 2021-06-15 | 2021-06-23 | Program code automatic generation system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021099206A JP6958884B1 (en) | 2021-06-15 | 2021-06-15 | Program code automatic generation system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6958884B1 true JP6958884B1 (en) | 2021-11-02 |
JP2022190776A JP2022190776A (en) | 2022-12-27 |
Family
ID=78282104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021099206A Active JP6958884B1 (en) | 2021-06-15 | 2021-06-15 | Program code automatic generation system |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6958884B1 (en) |
WO (1) | WO2022264434A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023194007A1 (en) * | 2022-04-06 | 2023-10-12 | Kuka Deutschland Gmbh | Execution of a robot application and creation of a program therefor |
Citations (6)
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 |
JP2005353054A (en) * | 2005-05-27 | 2005-12-22 | Hitachi Ltd | Advertisement distribution system for transport facility |
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 |
WO2018180970A1 (en) * | 2017-03-30 | 2018-10-04 | 日本電気株式会社 | Information processing system, feature value explanation method and feature value explanation program |
WO2021106380A1 (en) * | 2019-11-28 | 2021-06-03 | ソプラ株式会社 | Program code automatic generation device and program |
JP6889448B1 (en) * | 2020-02-13 | 2021-06-18 | ソプラ株式会社 | Program code automatic generation system and program |
-
2021
- 2021-06-15 JP JP2021099206A patent/JP6958884B1/en active Active
- 2021-06-23 WO PCT/JP2021/023803 patent/WO2022264434A1/en active Application Filing
Patent Citations (6)
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 |
JP2005353054A (en) * | 2005-05-27 | 2005-12-22 | Hitachi Ltd | Advertisement distribution system for transport facility |
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 |
WO2018180970A1 (en) * | 2017-03-30 | 2018-10-04 | 日本電気株式会社 | Information processing system, feature value explanation method and feature value explanation program |
WO2021106380A1 (en) * | 2019-11-28 | 2021-06-03 | ソプラ株式会社 | Program code automatic generation device and program |
JP6889448B1 (en) * | 2020-02-13 | 2021-06-18 | ソプラ株式会社 | Program code automatic generation system and program |
Non-Patent Citations (1)
Title |
---|
クジラ飛行机, 日本語プログラム言語なでしこ公式バイブル, vol. 第1版, JPN6021027898, 1 June 2009 (2009-06-01), ISSN: 0004554536 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023194007A1 (en) * | 2022-04-06 | 2023-10-12 | Kuka Deutschland Gmbh | Execution of a robot application and creation of a program therefor |
Also Published As
Publication number | Publication date |
---|---|
JP2022190776A (en) | 2022-12-27 |
WO2022264434A1 (en) | 2022-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110337645B (en) | Adaptable processing assembly | |
WO2021161629A1 (en) | Automatic program code generation system, and program | |
CN110020424B (en) | Contract information extraction method and device and text information extraction method | |
US9239875B2 (en) | Method for disambiguated features in unstructured text | |
JP6753598B1 (en) | Program code automatic generator and program | |
US10783877B2 (en) | Word clustering and categorization | |
US10750005B2 (en) | Selective email narration system | |
US20120278707A1 (en) | Assisting document creation | |
US20190096425A1 (en) | Assessing the structural quality of conversations | |
KR20200032893A (en) | Communication information processing system for chat bot service and control method thereof | |
US20080010280A1 (en) | Method and apparatus for building asset based natural language call routing application with limited resources | |
CN111930792B (en) | Labeling method and device for data resources, storage medium and electronic equipment | |
WO2013071305A2 (en) | Systems and methods for manipulating data using natural language commands | |
Lommatzsch et al. | An Information Retrieval-based Approach for Building Intuitive Chatbots for Large Knowledge Bases. | |
JP2020135135A (en) | Dialog content creation assisting method and system | |
CN112579733A (en) | Rule matching method, rule matching device, storage medium and electronic equipment | |
CN111949785A (en) | Query statement management method and device, readable storage medium and electronic device | |
JP6958884B1 (en) | Program code automatic generation system | |
WO2021002800A1 (en) | Apparatus and method for tagging electronic legal documents for classification and retrieval | |
JP2019145102A (en) | Dialog management server, dialog management method, and program | |
Iorliam et al. | A comparative analysis of generative artificial intelligence tools for natural language processing | |
CN115796177A (en) | Method, medium and electronic device for realizing Chinese word segmentation and part-of-speech tagging | |
Rasheed et al. | Conversational chatbot system for student support in administrative exam information | |
CN112328653B (en) | Data identification method, device, electronic equipment and storage medium | |
Sagum et al. | FICOBU: Filipino WordNet construction using decision tree and language modeling |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210625 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20210625 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210720 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210914 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20210928 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210929 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6958884 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |