JP2019200756A - 人工知能プログラミングサーバおよびそのプログラム - Google Patents

人工知能プログラミングサーバおよびそのプログラム Download PDF

Info

Publication number
JP2019200756A
JP2019200756A JP2018096693A JP2018096693A JP2019200756A JP 2019200756 A JP2019200756 A JP 2019200756A JP 2018096693 A JP2018096693 A JP 2018096693A JP 2018096693 A JP2018096693 A JP 2018096693A JP 2019200756 A JP2019200756 A JP 2019200756A
Authority
JP
Japan
Prior art keywords
program
computer program
feature vector
natural language
artificial intelligence
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.)
Granted
Application number
JP2018096693A
Other languages
English (en)
Other versions
JP7169770B2 (ja
Inventor
貴信 海上
Takanobu Umigami
貴信 海上
加藤 國彦
Kunihiko Kato
國彦 加藤
忠 向井
Tadashi Mukai
忠 向井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tomy Co Ltd
Original Assignee
Tomy Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tomy Co Ltd filed Critical Tomy Co Ltd
Priority to JP2018096693A priority Critical patent/JP7169770B2/ja
Publication of JP2019200756A publication Critical patent/JP2019200756A/ja
Application granted granted Critical
Publication of JP7169770B2 publication Critical patent/JP7169770B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】自然言語の曖昧さを許容しつつ、自然言語で記述された文章からコンピュータプログラムを簡単に生成する。【解決手段】自然言語処理部6aは、変換対象に係る文章を自然言語処理によって解析する。特徴抽出部6bは、自然言語処理部6aの解析結果を低次元の要素で特徴化した特徴ベクトルを生成する。学習器6dは、ある特徴ベクトルの入力に応じて、特定のコンピュータプログラムを指定する識別子が出力されるように、自己が有する関数の内部パラメータが調整されている。プログラムデータベース8は、コンピュータの処理手順が規定された複数のコンピュータプログラムをコンピュータプログラム毎に固有の識別子と対応付けて保持する。生成処理部6cは、特徴ベクトルを学習器6dに入力するとともに、学習器6dから出力された識別子に基づいてプログラムデータベース8を検索し、この識別子に対応するコンピュータプログラムを出力する。【選択図】図2

Description

本発明は、自然言語で記述された文章からコンピュータプログラムを生成する人工知能プログラミングサーバおよびそのプログラムに関する。
従来、自然言語で記述された文章をベースとしてコンピュータプログラムを生成、または、これを補助する技術が知られている。例えば、特許文献1には、自然言語に基づいた命令語で機器等に対する操作の指示を可能にしたデータ処理装置が開示されている。このデータ処理装置は、機器の行動パターンが用語に対応付けて保持された用語付きデータベースを備えている。機器の操作を指示する用語が入力された場合、入力された用語と、用語付きデータベースに保持された各用語とが比較され、入力された用語と一致する用語に対応付けられた行動パターンが選択される。そして、この行動パターンに基づいて機器が制御される。
また、特許文献2には、ユーザと日常言語コンピュータシステムとの間において、ユーザによって入力された言語テクストの対話的なやりとりを個々のユーザに特化した形で柔軟にかつ精密に行う秘書エージェントシステムが開示されている。このエージェントシステムは、日常言語の意味の体系を構造化したセミオティックベースを備えており、まず、このセミオティックベースを参照して、言語テクストの意味理解を行うことで言語テクストの言語的特徴が得られる。つぎに、この言語的特徴に基づいて、進行中の対話の構造を各プランユニット間の依存関係として表すプラン構造における現時点のステージが同定される。そして、現時点のステージに続く可能性のあるステージのうち、実質的な動作を表すステージである最適なムーブが選択される。そして、これに基づいて、他のエージェントへ出力される操作指示が生成される。
特許第3884160号公報 特開2004−139446号公報
一般に、コンピュータプログラムは、プログラミング言語で記述された構文や変数についての曖昧さは許されず、これらを厳密に規定しない限り、正しい処理結果を得ることができない。これは、コンピュータやロボットなどの制御対象について、処理や動作の正確性を担保する上では好ましいものの、プログラミングに関する高度な理解が要求されるため、これを熟知していないユーザにとっては敷居が高いという欠点がある。これに対して、自然言語は誰もが簡単に記述できる反面、本来的に曖昧さが内在しているため、プログラミング用途には向いていない。
本発明は、かかる事情に鑑みてなされたものであり、その目的は、自然言語の曖昧さを許容しつつ、自然言語で記述された文章からコンピュータプログラムを簡単に生成することである。
かかる課題を解決すべく、第1の発明は、受信部と、自然言語処理部と、特徴抽出部と、学習器と、プログラムデータベースと、生成処理部と、送信部とを有する人工知能プログラミングサーバを提供する。受信部は、コンピュータプログラムへの変換対象として、コンピュータの処理内容が自然言語で記述された文章を受信する。自然言語処理部は、変換対象に係る文章を自然言語処理によって解析する。特徴抽出部は、自然言語処理部による解析結果を低次元の要素で特徴化した特徴ベクトルを生成する。学習器は、ある特徴ベクトルの入力に応じて、特定のコンピュータプログラムを指定する識別子が出力されるように、自己が有する関数の内部パラメータが調整されている。プログラムデータベースは、コンピュータの処理手順が規定された複数のコンピュータプログラムをコンピュータプログラム毎に固有の識別子と対応付けて保持する。生成処理部は、特徴抽出部によって生成された特徴ベクトルを学習器に入力するとともに、学習器から出力された識別子に基づいてプログラムデータベースを検索し、この識別子に対応するコンピュータプログラムを出力する。送信部は、生成処理部から出力されたコンピュータプログラムを、変換対象に係る文章の変換結果として送信する。
ここで、第1の発明において、上記プログラムデータベースは、コンピュータプログラムに対応付けて特徴ベクトルを保持することが好ましく、この場合、データベース管理部をさらに設けることが好ましい。このデータベース管理部は、プログラムデータベースにコンピュータプログラムを新規に登録する場合、識別子を新たに採番するとともに、識別子と、コンピュータプログラムと、特徴ベクトルとを対応付けてプログラムデータベースに追加する。また、この場合、プログラムデータベースに保持されている特徴ベクトルおよび識別子の対を教師データとして用いた教師あり学習によって、学習器が有する関数の内部パラメータを調整する学習処理部をさらに設けてもよい。
第1の発明において、上記学習器は、ある特徴ベクトルの入力に対して複数の識別子が出力されることが許容されており、上記生成処理部は、一つのコンピュータプログラムを出力するために、複数の識別子のいずれかを選択してもよい。この場合、上記生成処理部は、変換対象に係る特徴ベクトルと、学習器から出力された複数の識別子のそれぞれに対応付けられた特徴ベクトルとの類似度に基づいて、複数の識別子のいずれかを選択してもよいし、あるいは、学習器から出力された複数の識別子のいずれかをランダムで選択してもよい。また、上記自然言語処理部は、コンピュータプログラムの内容に関連する語句が記述された辞書テーブルを備え、自然言語処理による解析結果のうち、辞書テーブルに記述された語句を抽出するフィルタリング処理を行ってもよい。
第2の発明は、第1のステップから第4のステップを有する処理をコンピュータに実行させる人工知能プログラミング用プログラムを提供する。第1のステップでは、コンピュータプログラムへの変換対象として入力された、コンピュータの処理内容が自然言語で記述された文章について、自然言語処理を行う。第2のステップでは、自然言語処理の解析結果を低次元の要素で特徴化した特徴ベクトルを生成する。第3のステップでは、ある特徴ベクトルの入力に応じて、特定のコンピュータプログラムを指定する識別子が出力されるように、自己が有する関数の内部パラメータが調整された学習器に対して、特徴抽出部によって生成された特徴ベクトルを入力する。第4のステップでは、コンピュータの処理手順が規定された複数のコンピュータプログラムをコンピュータプログラム毎に固有の識別子と対応付けて保持するプログラムデータベースを検索して、学習器から出力された識別子に対応するコンピュータプログラムを変換対象に係る文章の変換結果として出力する。
ここで、第2の発明において、上記プログラムデータベースは、コンピュータプログラムに対応付けて特徴ベクトルを保持することが好ましく、この場合、第5のステップをさらに設けることが好ましい。第5のステップでは、プログラムデータベースにコンピュータプログラムを新規に登録する場合、識別子を新たに採番するとともに、識別子と、コンピュータプログラムと、特徴ベクトルとを対応付けてプログラムデータベースに追加する。また、この場合、プログラムデータベースに保持されている特徴ベクトルおよび識別子の対を教師データとして用いた教師あり学習によって、学習器が有する関数の内部パラメータを調整する第6のステップをさらに設けてもよい。
第2の発明において、上記学習器は、ある特徴ベクトルの入力に対して複数の識別子が出力されることが許容されており、上記第4のステップは、一つのコンピュータプログラムを出力するために、複数の識別子のいずれかを選択するステップを含んでいてもよい。この場合、上記第4のステップは、変換対象に係る特徴ベクトルと、学習器から出力された複数の識別子のそれぞれに対応付けられた特徴ベクトルとの類似度に基づいて、複数の識別子のいずれかを選択してもよいし、あるいは、学習器から出力された複数の識別子のいずれかをランダムで選択してもよい。また、上記第1のステップは、コンピュータプログラムの内容に関連する語句が記述された辞書テーブルを参照して、自然言語処理による解析結果のうち、辞書テーブルに記述された語句を抽出するフィルタリング処理を行うステップを含んでいてもよい。
本発明によれば、コンピュータプログラムへの変換対象として入力された自然言語による文章の曖昧さを学習器を用いた機械学習で補完することによって、この文章と関連性を有するコンピュータプログラムが出力される。これにより、自然言語の曖昧さを許容しつつ、文章を記述したユーザの意図を反映したコンピュータプログラムを簡単に生成できる。
ネットワークシステムの全体構成図 人工知能プログラミングサーバの構成図 第1の実施形態に係る学習器の説明図 プログラムデータベースの説明図 プログラム生成ルーチンのフローチャート 第1の例に係る文章の変換結果の説明図 第2の例に係る文章の変換結果の説明図 第2の実施形態に係る変形例に係る学習器の説明図 特徴ベクトルの類似度の説明図
(第1の実施形態)
図1は、本実施形態に係るネットワークシステムの全体構成図である。このネットワークシステム1は、依頼者が操作する依頼元クライアント2と、実行対象3と、人工知能プログラミングサーバ4とを主体としたサーバクライアント型のネットワーク構成を有している。依頼者は、依頼元クライアント2を操作して、自然言語で記述された文章からコンピュータプログラムへ変換を依頼する。人工知能プログラミングサーバ4は、依頼元クライアント2からの変換依頼を受けて、コンピュータの処理内容が自然言語で記述された文章からプログラムを生成し、実行対象3に送信する。実行対象3は、人工知能プログラミングサーバ4より受信した変換結果としてのコンピュータプログラムを実行する主体であり、例えば、コンピュータや、コンピュータやマイコンによって動作が制御される玩具ロボットなどが想定される。また、この実行対象3は依頼元クライアント2との異同を問わない。例えば、依頼元クライアント2自体でコンピュータプログラムを実行する場合、依頼元クライアント2と実行対象3とは同一の主体となる。また、例えば、依頼元クライアント2からの依頼に基づき玩具ロボットを制御する場合、依頼元クライアント2と実行対象3とは異なる主体となる。
人工知能プログラミングサーバ4は、予め定められた用途について、ユーザ(依頼者)の意向に沿った適切なコンピュータプログラムを提供する。このコンピュータプログラムは、ユーザによって自然言語で記述された文章に基づき生成される。したがって、ユーザは、この用途に即した内容を文章として記述する必要があり、これとは無関係な内容を記述しても、適切なコンピュータプログラムを取得することはできない。例えば、アバターの挙動を依頼元クライアント2の画面上に表示するコンピュータプログラムを生成するためには、アバターの挙動に関する文章でなければならない。また、例えば、玩具ロボットの挙動を規定するコンピュータプログラムを生成するためには、玩具ロボットの挙動に関する文章でなければならない。コンピュータプログラムの生成対象を特定の用途に特化・限定することにより、自然言語の文章に曖昧さが存在しても、ユーザの意図に近いコンピュータプログラムを提供することが可能になる。
図2は、人工知能プログラミングサーバ4の構成図である。この人工知能プログラミングサーバ4は、受信部5と、処理モジュール6と、送信部7と、プログラムデータベース8とを主体に構成されている。受信部5は、インターネット等のネットワークに接続された依頼元クライアント2から、文章をコンピュータプログラムに変換すべき旨の依頼を受信する。この変換依頼に際しては、コンピュータプログラムへの変換対象として、コンピュータの処理内容が自然言語で記述された文章も併せて受信される。
処理モジュール6は、変換対象となる文章からコンピュータプログラムを生成するための処理を行うモジュールであり、自然言語処理部6a、特徴抽出部6b、生成処理部6c、および、学習器6dに加えて、データベース管理部6eおよび学習処理部6fが付加されている。処理モジュール6をコンピュータプログラムで実現する場合、これらの機能的なブロック6a〜6fはサブルーチンとして形成することができる。
自然言語処理部6aは、変換対象に係る文章(自然言語文)を自然言語処理によって解析する。周知のように、自然言語処理には、形態素解析、構文解析、意味解析、文脈解析などがある。形態素解析は、文を形態素と呼ばれる最も小さな文法単位に分割する解析であり、ヒューリスティックな候補選択法、コスト最小化法、統計的アプローチ(例えばn−gramモデル)、二値分類問題としてのアプローチなどが知られている。構文解析は、与えられた言語の文法に従って文法構造を特定する解析であり、句構造解析や係り受け解析などが知られている。文章が日本語の場合、文節が係り受けの単位となるので、構文解析の前に単語を文節にまとめる処理が行われる。意味解析は、単語間の意味関係を解析して文の曖昧さを低減するための解析であり、格文法などが知られている。文脈解析は、単一の文だけでは解析できない代名詞の差し先や省略された主語などを複数の文を参照することによって特定する解析である。なお、自然言語処理部6aとして、形態素解析、構文解析、意味解析および文脈解析のすべてを用いる必要性は必ずしもなく、システムの処理能力や出力結果の妥当性などを考慮した上で、これらを選択的にまたは組み合わせて用いてもよい。
自然言語処理によって非構造化テキスト(文章)を解析するためにAPIとしては、例えば、グーグル社が提供する「Cloud Natural Language」が知られている。このAPIは、機械学習モデルを用いてテキストの構造と意味とを解析し、文章に含まれる特徴的な情報を重要度付きで抽出する。
なお、自然言語処理部6aにおいて、特定用途のコンピュータプログラムに関連するキーワードのみを抽出すべく、自然言語処理によって抽出された語句のフィルタリング処理を行ってもよい。この場合、出力すべきコンピュータプログラムの内容に関係する語句(キーワード)が記述された辞書テーブルを予め作成しておく。例えば、図6に示す第1の例のように、アバターの存在状況を描画するコンピュータプログラムの場合、アバターの存在状況に関係する語句、例えば、「部屋」、「テーブル」、「イス」などがキーワードとなる。また、図7に示す第2の例のように、玩具ロボットの挙動を制御するコンピュータプログラムの場合、玩具ロボットの動作に関係する語句、例えば、「走る」、「センサ」、「左」、「右」などがキーワードとなる。そして、自然言語処理によって抽出された語句のうち、辞書テーブルの記述内容に合致するものが抽出され、特徴抽出部6bに出力される。このようなフィルタリング処理を行うことで、生成すべきコンピュータプログラムの内容との関連性が希薄な語句を除外して、情報の冗長性の低減が図れる。
特徴抽出部6bは、自然言語処理部6aによる解析結果を低次元の要素で特徴化した特徴ベクトルを生成する。特徴ベクトル化する手法としては、例えば、BoW(Bag-of-Word)やTF−IDF(単語出現頻度−逆文書頻度)などを用いることができる。このように、文章を特徴ベクトルに変換することで、換言すれば、機械学習やパターン認識ができるように高次元の文章を低次化(抽象化)することで、演算量を大幅に低減しつつ、後述する学習器6dによる分類精度を確保することが可能になる。
生成処理部6cは、特徴抽出部6bによって生成された特徴ベクトルを学習器6dに入力する。それとともに、生成処理部6cは、学習器6dから出力された識別子に基づいて、プログラムデータベース8を検索し、この識別子に対応するコンピュータプログラムを出力する。
学習器6dは、特徴ベクトルの入力に対して、特定のコンピュータプログラムを指定する識別子を出力する。図3は、学習器6dの説明図である。学習器6dは、所定の関数Y=f(X,θ)を有している。ここで、入力Xは、特徴抽出部6bによって生成された特徴ベクトルFVであり、m次元の要素(x1,x2,・・・,xm)によって構成されている。また、出力Yは、n次元の要素(y1,y2,・・・,yn)よりなる識別子IDである。さらに、θは、この関数の内部パラメータである。学習器6dの内部パラメータθは最適化されており、これによって、学習器6dは、ある特徴ベクトルFVの入力に適した識別子IDを出力する。このような学習器6dとしては、例えば、機械学習の一分類である「教師あり学習」、より具体的には、ニューラルネットワーク、サポートベクターマシン、自己組織化マップ(SOM:Self-Organizing Map)などを用いることができる。
データベース管理部6eは、プログラムデータベース8を管理する。プログラムデータベース8は、コンピュータの処理手順が規定された複数のコンピュータプログラムをコンピュータプログラム毎に固有の識別子と対応付けて保持している。図4は、プログラムデータベース8の説明図である。このプログラムデータベース8は、多数のレコードによって構成されており、それぞれのレコードによって、識別子IDと、特徴ベクトルFVと、コンピュータプログラムCPとが対応付けられている。識別子IDは、コンピュータプログラムCP毎に採番されたプログラム固有の情報である。特徴ベクトルFVは、コンピュータプログラムCPの処理内容を自然言語で記述した文章の特徴ベクトルである。この特徴ベクトルFVは、上述した変換対象に係る特徴ベクトルと同様、自然言語処理による解析結果を低次元の要素で特徴化したものである。コンピュータプログラムCPは、プログラム本体であってもよいし、プログラム本体が格納されている格納場所を指定するアドレスであってもよい。データベース管理部6eは、新たなコンピュータプログラムをプログラムデータベース8に登録する場合、新たな識別子IDを採番するとともに、この識別子IDと、外部から与えられた教師データ(特徴ベクトルFVおよびコンピュータプログラムCPとの対)とが記述された新規レコードをプログラムデータベース8に追加する。
学習処理部6fは、プログラムデータベース8に保持されている特徴ベクトルFV(入力)と識別子ID(出力)との対を教師データとして用いた教師あり学習によって、学習器6dが有する関数の内部パラメータθが調整されている。具体的には、図3に示したように、特徴ベクトルFVの入力に対して出力された識別子IDの合否が「教師ベクトル」として学習器6dにフィードバックされる。これに基づいて、学習器6dは、正しい識別子IDが出力されるように、内部パラメータθ(例えば、ニューラルネットワークの結合重み)の値を更新する。このような処理をプログラムデータベース8に記憶された全てのレコードについて繰り返すことで、内部パラメータθの学習(調整)が行われる。このような学習は、人工知能プログラミング4の初期構築時のみならず、プログラムデータベース8におけるデータの蓄積が進んだ時点での再学習としても実行される。プログラムデータベース8の蓄積に応じた再学習を行うことで、ユーザの意図をより的確に反映した精度の高いコンピュータプログラムの提示が可能となる。
送信部7は、生成処理部6cから出力されたコンピュータプログラムCPを、変換対象に係る文章の変換結果として実行対象3に送信する。変換結果の送信は、変換依頼の受信と同様、インターネット等のネットワークを介して行われる。
図5は、処理モジュール6において実行されるプログラム生成ルーチンのフローチャートである。まず、ステップ1において、コンピュータプログラムへの変換対象として、コンピュータの処理内容を自然言語で記述した文章が自然言語処理部6aに入力される。つぎに、ステップ2において、自然言語処理部6aにおいて、変換対象に係る文章が自然言語処理によって解析される。ステップ3において、自然言語処理の解析結果を低次元の要素で特徴化した特徴ベクトルFVが生成される。ステップ4において、学習器6dに対して特徴ベクトルFVが入力される。上述したように、学習器6dの内部パラメータθは、ある特徴ベクトルの入力FVに応じて、特定のコンピュータプログラムを指定する識別子IDが出力されるように、予め調整されている。ステップ5において、学習器6dから出力された識別子IDをキーとしてプログラムデータベース8を検索して、この識別子IDに対応するコンピュータプログラムCPが特定される。最後に、このコンピュータプログラムCPが変換対象に係る文章の変換結果として出力され、本ルーチンが終了する。
図6は、第1の例に係る文章の変換結果の説明図である。自然言語による文章には曖昧さが内在しており、アバターの状況を記述した同例では、「私」の位置や姿勢などに不確定要素が存在する。しかしながら、このような曖昧さは学習器6dを用いた機械学習によって補完され、この文章と関連性を有するコンピュータプログラムが得られる。その結果、ユーザ側の端末(依頼元クライアント2)において、ユーザの意図に近い実行結果(表示結果)が得られる。また、厳密な意味でユーザの意図どおりの実行結果が得られなかったとしても、意外性という点で面白みを演出することができる。なお、ユーザ側の端末がスマートフォン等の場合、コンピュータプログラムはFLASHのような形態でアプリとして実行される。
図7は、第2の例に係る文章の変換結果の説明図である。玩具ロボットの挙動を記述した同例では、学習器6dの学習の程度次第で、3つの例a〜cの入力から同じコンピュータプログラムが得られる。その結果、実行対象3である玩具ロボットにおいて、ユーザの意図に近い実行結果が得られる。また、厳密な意味でユーザの意図どおりの実行結果が得られなかったとしても、玩具ロボットという用途であれば、意外性という点で面白みを演出することができる。
このように、本実施形態によれば、コンピュータプログラムへの変換対象として入力された自然言語による文章の曖昧さを学習器6dを用いた機械学習で補完することによって、この文章と関連性を有するコンピュータプログラムが出力される。これにより、自然言語の曖昧さを許容しつつ、文章を記述したユーザの意図を反映したコンピュータプログラムを簡単に生成できる。また、特に、厳密な処理結果が要求されない玩具等の用途であれば、コンピュータプログラムの実行結果の意外性という点で面白みを演出することができる。
(第2の実施形態)
図8は、第2の実施形態に係る変形例に係る学習器の説明図である。この学習器6gは、第1の実施形態で述べた学習器6dとは異なり、ある特徴ベクトルFVの入力に対して、n個(n≧2)の識別子ID1〜IDnの出力が許容されている。このような学習器6gとしては、例えば、マイクロソフト・リサーチが提案しているAttnGAN(Attentional Generative Adversarial Networks)が知られている。AttnGANは、機械学習を用いて自然言語から画像を生成するものであるが、本発明のようなコンピュータプログラムの生成用途でも利用することが可能である。生成処理部6cは、学習器6gから出力された複数の識別子ID1〜IDnのいずれかを選択し、これをキーにプログラムデータベース8を検索して、一つのコンピュータプログラムCPを変換結果として出力する。
識別子ID1〜IDnの選択方法としては、様々なものが考えられる。例えば、変換対象に係る特徴ベクトルと、学習器6gから出力された複数の識別子ID1〜IDnのそれぞれに対応付けられた特徴ベクトルFVとの類似度を個別に算出し、類似度が最も大きい識別子のコンピュータプログラムCPを出力してもよい。図9は、特徴ベクトルの類似度の説明図である。m次元の特徴空間上において、変換対象に係る特徴ベクトルが指し示す点を特徴点1とし、プログラムデータベース8に保持された特徴ベクトルFVが指し示す点を特徴点2とする。これらの特徴ベクトルの類似度が高いということは、特徴点1,2間の距離が短いことを意味する。そこで、ユークリッド距離や座標成分差の絶対総和といった周知の手法を用いて、特徴点1,2間の距離を算出すれば、特徴ベクトルFVの類似度を評価することができる。
また、別の選択手法として、学習器6gから出力された複数の識別子ID1〜IDnのいずれかをランダムで選択してもよい。
なお、学習器6gによって複数の識別子ID1〜IDnが出力される点、および、生成処理部6cによってこれらのいずれかが選択される点以外は、第1の実施形態と同様なので、ここでの説明を省略する。
このように、本実施形態によれば、第1の実施形態と同様の作用効果を奏するほか、学習器6gから出力された複数の識別子ID1〜IDnのいずれかを選択的に用いることで、変換対象に係る文章との関連性がより高いコンピュータプログラムを生成することができる。また、識別子ID1〜IDnの選択をランダムで行う場合には、コンピュータプログラムの実行結果の意外性という点で面白みを演出することができる。
1 ネットワークシステム
2 依頼元クライアント
3 実行対象
4 人工知能プログラミングサーバ
5 受信部
6 処理モジュール
6a 自然言語処理部
6b 特徴抽出部
6c 生成処理部
6d,6g 学習器
6e データベース管理部
6f 学習処理部
7 送信部
8 プログラムデータベース

Claims (14)

  1. 人工知能プログラミングサーバにおいて、
    コンピュータプログラムへの変換対象として、コンピュータの処理内容が自然言語で記述された文章を受信する受信部と、
    前記変換対象に係る文章を自然言語処理によって解析する自然言語処理部と、
    前記自然言語処理部による解析結果を低次元の要素で特徴化した特徴ベクトルを生成する特徴抽出部と、
    ある特徴ベクトルの入力に応じて、特定のコンピュータプログラムを指定する識別子が出力されるように、自己が有する関数の内部パラメータが調整された学習器と、
    コンピュータの処理手順が規定された複数のコンピュータプログラムをコンピュータプログラム毎に固有の識別子と対応付けて保持するプログラムデータベースと、
    前記特徴抽出部によって生成された特徴ベクトルを前記学習器に入力するとともに、前記学習器から出力された識別子に基づいて前記プログラムデータベースを検索し、当該識別子に対応するコンピュータプログラムを出力する生成処理部と、
    前記生成処理部から出力されたコンピュータプログラムを、前記変換対象に係る文章の変換結果として送信する送信部と
    を有することを特徴とする人工知能プログラミングサーバ。
  2. 前記プログラムデータベースは、前記コンピュータプログラムに対応付けて前記特徴ベクトルを保持しており、
    前記プログラムデータベースに前記コンピュータプログラムを新規に登録する場合、前記識別子を新たに採番するとともに、前記識別子と、前記コンピュータプログラムと、前記特徴ベクトルとを対応付けて前記プログラムデータベースに追加するデータベース管理部をさらに有することを特徴とする請求項1に記載された人工知能プログラミングサーバ。
  3. 前記プログラムデータベースに保持されている前記特徴ベクトルおよび前記識別子の対を教師データとして用いた教師あり学習によって、前記学習器が有する関数の内部パラメータを調整する学習処理部をさらに有することを特徴とする請求項2に記載された人工知能プログラミングサーバ。
  4. 前記学習器は、ある特徴ベクトルの入力に対して複数の識別子が出力されることが許容されており、
    前記生成処理部は、一つのコンピュータプログラムを出力するために、前記複数の識別子のいずれかを選択することを特徴とする請求項1から3のいずれかに記載された人工知能プログラミングサーバ。
  5. 前記生成処理部は、前記変換対象に係る特徴ベクトルと、前記学習器から出力された前記複数の識別子のそれぞれに対応付けられた特徴ベクトルとの類似度に基づいて、前記複数の識別子のいずれかを選択することを特徴とする請求項4に記載された人工知能プログラミングサーバ。
  6. 前記生成処理部は、前記学習器から出力された前記複数の識別子のいずれかをランダムで選択することを特徴とする請求項4に記載された人工知能プログラミングサーバ。
  7. 前記自然言語処理部は、前記コンピュータプログラムの内容に関連する語句が記述された辞書テーブルを備え、前記自然言語処理による解析結果のうち、前記辞書テーブルに記述された語句を抽出するフィルタリング処理を行うことを特徴とする請求項1から3のいずれかに記載された人工知能プログラミングサーバ。
  8. 人工知能プログラミング用プログラムにおいて、
    コンピュータプログラムへの変換対象として入力された、コンピュータの処理内容が自然言語で記述された文章について、自然言語処理を行う第1のステップと、
    前記自然言語処理の解析結果を低次元の要素で特徴化した特徴ベクトルを生成する第2のステップと、
    ある特徴ベクトルの入力に応じて、特定のコンピュータプログラムを指定する識別子が出力されるように、自己が有する関数の内部パラメータが調整された学習器に対して、前記特徴抽出部によって生成された特徴ベクトルを入力する第3のステップと、
    コンピュータの処理手順が規定された複数のコンピュータプログラムをコンピュータプログラム毎に固有の識別子と対応付けて保持するプログラムデータベースを検索して、前記学習器から出力された識別子に対応するコンピュータプログラムを前記変換対象に係る文章の変換結果として出力する第4のステップと
    を有する処理をコンピュータに実行させることを特徴とする人工知能プログラミング用プログラム。
  9. 前記プログラムデータベースは、前記コンピュータプログラムに対応付けて前記特徴ベクトルを保持しており、
    前記プログラムデータベースに前記コンピュータプログラムを新規に登録する場合、前記識別子を新たに採番するとともに、前記識別子と、前記コンピュータプログラムと、前記特徴ベクトルとを対応付けて前記プログラムデータベースに追加する第5のステップをさらに有することを特徴とする請求項8に記載された人工知能プログラミング用プログラム。
  10. 前記プログラムデータベースに保持されている前記特徴ベクトルおよび前記識別子の対を教師データとして用いた教師あり学習によって、前記学習器が有する関数の内部パラメータを調整する第6のステップをさらに有することを特徴とする請求項9に記載された人工知能プログラミング用プログラム。
  11. 前記学習器は、ある特徴ベクトルの入力に対して複数の識別子が出力されることが許容されており、
    前記第4のステップは、一つのコンピュータプログラムを出力するために、前記複数の識別子のいずれかを選択するステップを含むことを特徴とする請求項8から10のいずれかに記載された人工知能プログラミング用プログラム。
  12. 前記第4のステップは、前記変換対象に係る特徴ベクトルと、前記学習器から出力された前記複数の識別子のそれぞれに対応付けられた特徴ベクトルとの類似度に基づいて、前記複数の識別子のいずれかを選択するステップを含むことを特徴とする請求項11に記載された人工知能プログラミング用プログラム。
  13. 前記第4のステップは、前記学習器から出力された前記複数の識別子のいずれかをランダムで選択するステップを含むことを特徴とする請求項11に記載された人工知能プログラミング用プログラム。
  14. 前記第1のステップは、前記コンピュータプログラムの内容に関連する語句が記述された辞書テーブルを参照して、前記自然言語処理による解析結果のうち、前記辞書テーブルに記述された語句を抽出するフィルタリング処理を行うステップを含むことを特徴とする請求項8から10のいずれかに記載された人工知能プログラミング用プログラム。
JP2018096693A 2018-05-20 2018-05-20 人工知能プログラミングサーバおよびそのプログラム Active JP7169770B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018096693A JP7169770B2 (ja) 2018-05-20 2018-05-20 人工知能プログラミングサーバおよびそのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018096693A JP7169770B2 (ja) 2018-05-20 2018-05-20 人工知能プログラミングサーバおよびそのプログラム

Publications (2)

Publication Number Publication Date
JP2019200756A true JP2019200756A (ja) 2019-11-21
JP7169770B2 JP7169770B2 (ja) 2022-11-11

Family

ID=68613227

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018096693A Active JP7169770B2 (ja) 2018-05-20 2018-05-20 人工知能プログラミングサーバおよびそのプログラム

Country Status (1)

Country Link
JP (1) JP7169770B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112255962A (zh) * 2020-10-30 2021-01-22 浙江佳乐科仪股份有限公司 基于人工智能的plc编程系统
JP2021086409A (ja) * 2019-11-28 2021-06-03 ソプラ株式会社 プログラムコード自動生成装置及びプログラム
WO2021161629A1 (ja) * 2020-02-13 2021-08-19 ソプラ株式会社 プログラムコード自動生成システム及びプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05233707A (ja) * 1992-02-17 1993-09-10 Mitsubishi Electric Corp 情報データベース装置
JPH07311773A (ja) * 1994-05-17 1995-11-28 Nec Corp 対象適応型自然言語インタフェース装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05233707A (ja) * 1992-02-17 1993-09-10 Mitsubishi Electric Corp 情報データベース装置
JPH07311773A (ja) * 1994-05-17 1995-11-28 Nec Corp 対象適応型自然言語インタフェース装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021086409A (ja) * 2019-11-28 2021-06-03 ソプラ株式会社 プログラムコード自動生成装置及びプログラム
WO2021106380A1 (ja) * 2019-11-28 2021-06-03 ソプラ株式会社 プログラムコード自動生成装置及びプログラム
WO2021161629A1 (ja) * 2020-02-13 2021-08-19 ソプラ株式会社 プログラムコード自動生成システム及びプログラム
JP2021128516A (ja) * 2020-02-13 2021-09-02 ソプラ株式会社 プログラムコード自動生成システム及びプログラム
CN112255962A (zh) * 2020-10-30 2021-01-22 浙江佳乐科仪股份有限公司 基于人工智能的plc编程系统

Also Published As

Publication number Publication date
JP7169770B2 (ja) 2022-11-11

Similar Documents

Publication Publication Date Title
CN111344779B (zh) 训练和/或使用编码器模型确定自然语言输入的响应动作
KR102504699B1 (ko) 엔티티 링킹 방법, 장치, 기기, 저장 매체 및 컴퓨터 프로그램
CN112214593B (zh) 问答处理方法、装置、电子设备及存储介质
WO2018165932A1 (en) Generating responses in automated chatting
CN108536735B (zh) 基于多通道自编码器的多模态词汇表示方法与系统
JP7169770B2 (ja) 人工知能プログラミングサーバおよびそのプログラム
US20220147719A1 (en) Dialogue management
JP2021170310A (ja) 対話生成方法、装置、電子機器、プログラム及び記憶媒体
Sur RBN: enhancement in language attribute prediction using global representation of natural language transfer learning technology like Google BERT
CN114444462A (zh) 模型训练方法及人机交互方法、装置
Zhuang et al. An ensemble approach to conversation generation
Nair et al. Knowledge graph based question answering system for remote school education
US20060155673A1 (en) Method and apparatus for robust input interpretation by conversation systems
CN117122927A (zh) Npc交互方法、装置及存储介质
CN110309252B (zh) 一种自然语言处理方法及装置
CN117290478A (zh) 一种知识图谱问答方法、装置、设备和存储介质
US12099908B2 (en) Updating training examples for artificial intelligence
Takano et al. Construction of a space of motion labels from their mapping to full-body motion symbols
CN114398903B (zh) 意图识别方法、装置、电子设备及存储介质
Giachos et al. A contemporary survey on intelligent human-robot interfaces focused on natural language processing
JP2021144633A (ja) ユーザの関心度に応じて対話内容を切り替える対話装置、プログラム及び方法
Mohapatra et al. Domain based chunking
Huang Context Understanding and Response Algorithm of Chat Robot Based on Enhanced Seq2seq Model
Persson et al. Fluent human–robot dialogues about grounded objects in home environments
KR20230057238A (ko) 실시간 채팅 환경에서의 이후 문맥 예측 정보를 이용한 문맥의존 철자오류 교정 장치 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210511

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220530

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220706

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221031

R150 Certificate of patent or registration of utility model

Ref document number: 7169770

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150