(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022169308
(43)【公開日】2022-11-09
(54)【発明の名称】情報処理装置、情報処理方法、及びプログラム
(51)【国際特許分類】
G06F 9/451 20180101AFI20221101BHJP
G06F 3/14 20060101ALI20221101BHJP
G06F 3/048 20220101ALI20221101BHJP
G06F 8/38 20180101ALI20221101BHJP
【FI】
G06F9/451
G06F3/14 310C
G06F3/14 340A
G06F3/048
G06F8/38
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2021075262
(22)【出願日】2021-04-27
(71)【出願人】
【識別番号】000002299
【氏名又は名称】清水建設株式会社
(74)【代理人】
【識別番号】100149548
【弁理士】
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100161506
【弁理士】
【氏名又は名称】川渕 健一
(74)【代理人】
【識別番号】100161207
【弁理士】
【氏名又は名称】西澤 和純
(72)【発明者】
【氏名】長谷川 裕員
(72)【発明者】
【氏名】辻 正邦
【テーマコード(参考)】
5B069
5B376
5E555
【Fターム(参考)】
5B069AA01
5B069AA02
5B069FA01
5B069FA02
5B376AE44
5B376BC24
5B376BC32
5B376FA13
5E555AA79
5E555BA02
5E555BA05
5E555BA06
5E555BA53
5E555BB02
5E555BB05
5E555BB06
5E555BC19
5E555CA24
5E555CB33
5E555CB37
5E555CB44
5E555CC03
5E555CC19
5E555DB25
5E555DB41
5E555DC13
5E555DC63
5E555EA16
5E555EA19
5E555EA27
5E555FA00
(57)【要約】
【課題】学習済みモデルを用いたシステムのWEBアプリケーション化を容易に行うことが可能な情報処理装置、情報処理方法、及びプログラムを提供する。
【解決手段】ユーザによってWebベースのユーザインタフェースに入力される入力情報を学習済みモデルへの入力として用い、当該学習済みモデルを用いた処理を実行する情報処理装置であって、前記学習済みモデルへ入力される前記入力情報と、前記学習済みモデルから出力される出力情報とが定義された定義情報を取得する定義情報取得部と、前記取得された定義情報に基づき、前記ユーザが前記入力情報を入力する入力領域と前記出力情報が出力される出力領域とを少なくとも含む、前記ユーザインタフェースを生成するユーザインタフェース生成部と、を備える情報処理装置。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ユーザによってWebベースのユーザインタフェースに入力される入力情報を学習済みモデルへの入力として用い、当該学習済みモデルを用いた処理を実行する情報処理装置であって、
前記学習済みモデルへ入力される前記入力情報と、前記学習済みモデルから出力される出力情報とが定義された定義情報を取得する定義情報取得部と、
前記取得された定義情報に基づき、前記ユーザが前記入力情報を入力する入力領域と前記出力情報が出力される出力領域とを少なくとも含む、前記ユーザインタフェースを生成するユーザインタフェース生成部と、
を備える情報処理装置。
【請求項2】
前記学習済みモデルと、前記学習済みモデルを用いた処理を実行するための実行プログラムとを記憶する記憶部と、
前記ユーザインタフェースの前記入力領域に入力された前記入力情報を取得する入力情報取得部と、
前記取得された入力情報に基づき、当該入力情報に対応する前記実行プログラムを実行するプログラム実行部と、
をさらに備える、請求項1に記載の情報処理装置。
【請求項3】
前記実行プログラムは、前記学習済みモデルに対するPoC(Proof of Concept)を実行する、
請求項2に記載の情報処理装置。
【請求項4】
前記ユーザインタフェース生成部は、HTML(Hyper Text Markup Language)又はスクリプトを用いて前記ユーザインタフェースを生成する、
請求項1から請求項3のいずれか1項に記載の情報処理装置。
【請求項5】
ユーザによってWebベースのユーザインタフェースに入力される入力情報を学習済みモデルへの入力として用い、当該学習済みモデルを用いた処理を実行する情報処理装置における情報処理方法であって、
定義情報取得部が、前記学習済みモデルへ入力される前記入力情報と、前記学習済みモデルから出力される出力情報とが定義された定義情報を取得する過程と、
ユーザインタフェース生成部が、前記取得された定義情報に基づき、前記ユーザが前記入力情報を入力する入力領域と前記出力情報が出力される出力領域とを少なくとも含む、前記ユーザインタフェースを生成する過程と、
を含む情報処理方法。
【請求項6】
ユーザによってWebベースのユーザインタフェースに入力される入力情報を学習済みモデルへの入力として用い、当該学習済みモデルを用いた処理を実行する情報処理装置としてコンピュータを機能させるためのプログラムであって、
前記コンピュータを、
前記学習済みモデルへ入力される前記入力情報と、前記学習済みモデルから出力される出力情報とが定義された定義情報を取得する定義情報取得ステップと、
前記取得された定義情報に基づき、前記ユーザが前記入力情報を入力する入力領域と前記出力情報が出力される出力領域とを少なくとも含む、前記ユーザインタフェースを生成するユーザインタフェース生成ステップと、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【0002】
従来、AI(Artificial Intelligence)を用いたシステム(以下、「AIシステム」とも称される)の開発では、AIモデルの開発とは別に、AIモデルを利用するための仕組みの開発も必要となる。AIモデル(以下、「学習済みモデル」とも称される)を利用するための仕組みとして、例えば、Jupyter Notebookなどの開発環境が挙げられる。当該開発環境において、例えば、学習済みモデルを用いた処理を実行するプログラム(以下、「実行プログラム」とも称される)を実行することで、開発した学習済みモデルを利用することが可能である。
参考までに、下記特許文献1には、管理装置にて学習済みモデルを生成し、生成した学習済みモデルをエッジ端末へ送信し、当該エッジ端末にて学習済みモデルを利用する技術が開示されている。
【0003】
しかしながら、一般ユーザが開発環境を用いることは困難である。そこで、一般ユーザが学習済みモデルを容易に利用可能とするために、ユーザインタフェース(UI)やデータの入出力機能をアプリケーション化又はWEBアプリケーション化する開発が必要となる。学習済みモデルを用いたシステムを一般ユーザに広くかつ簡単に活用してもらうためには、WEBアプリケーション化が有効である。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、WEBアプリケーション化を行うためには、WEBに関する様々な専門知識や技術(例えばサーバ技術・クライアント技術など)が必要とされる。そのため、WEBの専門家でないAI開発者にとって、AIシステムのWEBアプリケーション化は困難であり、負荷の大きな作業であるといえる。
【0006】
上述の課題を鑑み、本発明の目的は、学習済みモデルを用いたシステムのWEBアプリケーション化を容易に行うことが可能な情報処理装置、情報処理方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【0007】
上述の課題を解決するために、本発明の一態様に係る情報処理装置は、ユーザによってWebベースのユーザインタフェースに入力される入力情報を学習済みモデルへの入力として用い、当該学習済みモデルを用いた処理を実行する情報処理装置であって、前記学習済みモデルへ入力される前記入力情報と、前記学習済みモデルから出力される出力情報とが定義された定義情報を取得する定義情報取得部と、前記取得された定義情報に基づき、前記ユーザが前記入力情報を入力する入力領域と前記出力情報が出力される出力領域とを少なくとも含む、前記ユーザインタフェースを生成するユーザインタフェース生成部と、を備える。
【0008】
本発明の一態様に係る情報処理方法は、ユーザによってWebベースのユーザインタフェースに入力される入力情報を学習済みモデルへの入力として用い、当該学習済みモデルを用いた処理を実行する情報処理装置における情報処理方法であって、定義情報取得部が、前記学習済みモデルへ入力される前記入力情報と、前記学習済みモデルから出力される出力情報とが定義された定義情報を取得する過程と、ユーザインタフェース生成部が、前記取得された定義情報に基づき、前記ユーザが前記入力情報を入力する入力領域と前記出力情報が出力される出力領域とを少なくとも含む、前記ユーザインタフェースを生成する過程と、を含む。
【0009】
本発明の一態様に係るプログラムは、ユーザによってWebベースのユーザインタフェースに入力される入力情報を学習済みモデルへの入力として用い、当該学習済みモデルを用いた処理を実行する情報処理装置としてコンピュータを機能させるためのプログラムであって、前記コンピュータを、前記学習済みモデルへ入力される前記入力情報と、前記学習済みモデルから出力される出力情報とが定義された定義情報を取得する定義情報取得ステップと、前記取得された定義情報に基づき、前記ユーザが前記入力情報を入力する入力領域と前記出力情報が出力される出力領域とを少なくとも含む、前記ユーザインタフェースを生成するユーザインタフェース生成ステップと、として機能させる。
【発明の効果】
【0010】
本発明によれば、学習済みモデルを用いたシステムのWEBアプリケーション化を容易に行うことができる。
【図面の簡単な説明】
【0011】
【
図1】本発明の実施形態に係る情報処理システムの構成の一例を示すブロック図である。
【
図2】本発明の実施形態に係る表示画面の一例を示す図である。
【
図3】本発明の実施形態に係る登録処理の流れの一例を示すシーケンス図である。
【
図4】本発明の実施形態に係るユーザインタフェース生成処理の流れの一例を示すフローチャートである。
【
図5】本発明の実施形態に係る実行処理の流れの一例を示すシーケンス図である。
【発明を実施するための形態】
【0012】
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
本発明は、AI(Artificial Intelligence)を用いたシステム(以下、「AIシステム」とも称される)に関する。具体的に、本実施形態では、学習済みモデル(AIモデルの一例)を用いた情報処理システム(AIシステムの一例)について説明する。
【0013】
<<1.情報処理システムの構成>>
図1を参照して、本発明の実施形態に係る情報処理システムの構成について説明する。
図1は、本発明の実施形態に係る情報処理システムの構成の一例を示すブロック図である。
図1に示すように、本実施形態に係る情報処理システム1は、開発者端末10、利用者端末20、及びサーバ装置30(情報処理装置の一例)を備える。
【0014】
<1.開発者端末10>
開発者端末10は、開発者が各種開発に用いる端末である。本実施形態に係る開発者端末10は、例えば、PC(Personal Computer)である。なお、開発者端末10はPCに限定されず、スマートフォンやタブレット端末等であってもよい。
開発者端末10は、ネットワークNWを介して、サーバ装置30と通信可能に接続されている。
【0015】
開発者は、例えば、開発者端末10を用いて学習済みモデルの開発や、当該学習済みモデルを用いた処理を実行するプログラム(以下、「実行プログラム」とも称される)の開発を行う。以下、本実施形態では、一例として、学習済みモデルは軽量化コンクリート配管打設の閉塞可能性を判定するためのモデルである例について説明する。また、実行プログラムは、当該学習済みモデルに対するPoC(Proof of Concept)を実行するプログラムである例について説明する。なお、実行プログラムは、学習済みモデルを用いた推論実行を行うためのプログラムであって、PoCの実行に用いられる例に限定されない。例えば、実行プログラムは、学習済みモデルの本運用にて用いられてもよい。
【0016】
開発者は、Webブラウザを介して、開発した実行プログラムを実行するためのシステム(以下、「実行環境システム」とも称される)へアクセスする。実行環境システムへアクセスすると、開発者端末10には、Webベースのユーザインタフェースが表示される。具体的には実行環境システムの起動画面が表示される。
開発者は、表示されたユーザインタフェースを操作して登録画面を表示し、学習済みモデルごとに登録処理を行う。登録処理において、開発者は、例えば、学習済みモデル単位でプロジェクトを登録する。プロジェクトの登録において、開発者は、定義情報の入力と、開発した学習済みモデル及び実行プログラムのアップロードを行う。
【0017】
定義情報は、プロジェクトを定義する情報である。定義情報には、主に学習済みモデルへ入力される入力情報と、学習済みモデルから出力される出力情報とが定義される。具体的に、定義情報は、プロジェクトコード、プロジェクト名、プロジェクト説明文、実行プログラム名、モデル名、入力パラメータ数、入力パラメータ名リスト、出力パラメータ数、及び出力パラメータ名リストを含む。
【0018】
プロジェクトコードは、各プロジェクトを一意に識別するための識別情報である。一例として、プロジェクト名は「A003」である。なお、本実施形態では、プロジェクトコードは、システムによって付与される情報である。よって、開発者は、上述の9個の項目の内、プロジェクトコードを除く8個の項目を入力する。
プロジェクト名は、プロジェクトの名称を示す。一例として、プロジェクト名は「concreat」である。
プロジェクト説明文は、プロジェクトの内容を説明する文を示す。一例として、プロジェクト説明文は「軽量化コンクリート配管打設の閉塞可能性を判定」である。
実行プログラム名は、実行する実行プログラムの名称を示す。一例として、実行プログラム名は「concreat.py」である。
モデル名は、実行する学習済みモデルの名称を示す。一例として、モデル名は「concreat.pkl」である。
入力パラメータ数は、学習済みモデルへ入力される入力情報の数を示す。一例として、入力パラメータ数は「20」個である。
入力パラメータ名リストは、入力パラメータの名称を示す。一例として、入力パラメータ名リストは、「打設月、セメント量、スランプ、空気量、空気量骨材修正係数、単位水量、粗骨材の吸水率、細骨材の吸水率」などである。
出力パラメータ数は、学習済みモデルから出力される出力情報の数を示す。一例として、出力パラメータ数は「1」個である。
出力パラメータ名リストは、出力パラメータの名称を示す。一例として、出力パラメータ名リストは、「閉塞確率」を示す。
【0019】
<2.利用者端末20>
利用者端末20は、利用者(請求項におけるユーザの一例)が実行環境システムの利用に用いる端末である。本実施形態に係る利用者端末20は、例えば、スマートフォンである。なお、利用者端末20はスマートフォンに限定されず、タブレット端末又はPC等であってもよい。
利用者端末20は、ネットワークNWを介して、サーバ装置30と通信可能に接続されている。
【0020】
利用者は、Webブラウザを介して、実行環境システムへアクセス可能である。実行環境システムへアクセスすると、利用者端末20には、Webベースのユーザインタフェースが表示される。具体的には実行環境システムの起動画面が表示される。
利用者は、表示されたユーザインタフェースを操作して実行画面を表示し、学習済みモデルの実行処理を行う。実行処理において、利用者は、例えば、登録されているプロジェクトの中から実行するプロジェクトを選択する。プロジェクトの選択後、利用者は、学習済みモデルへ入力する入力情報を入力し、実行操作を行う。実行後、実行結果を示す出力情報が利用者端末20に出力される。出力情報は、例えば、利用者端末20の表示部(不図示)に表示される。
【0021】
なお、開発者端末10と利用者端末20は、開発者と利用者が同一の人物であるか否かに関わらず、同一の端末であってもよいし異なる端末であってもよい。以下、本実施形態では、開発者と利用者が同一の人物である場合には開発者端末10と利用者端末20が同一の端末であるものとし、開発者と利用者が異なる人物である場合には開発者端末10と利用者端末20が異なる端末であるものとする。
【0022】
<3.サーバ装置30>
サーバ装置30は、各種の処理を実行するサーバ装置である。本実施形態に係るサーバ装置30は、例えば、PCによって実現される。
サーバ装置30は、ネットワークNWを介して、開発者端末10及び利用者端末20と通信可能に接続されている。
【0023】
サーバ装置30は、ユーザによってWebベースのユーザインタフェースに入力される入力情報を学習済みモデルへの入力として用い、当該学習済みモデルを用いた処理を実行する装置である。
図1に示すように、サーバ装置30は、通信部31、記憶部32、及び、制御部33を備える。
【0024】
(1)通信部31
通信部31は、各種情報の送受信を行う機能を有する。例えば、通信部31は、ネットワークNWを介して、開発者端末10や利用者端末20と情報の送受信を行う。
【0025】
(2)記憶部32
記憶部32は、各種情報を記憶する機能を有する。記憶部32は、サーバ装置30がハードウェアとして備える記憶媒体、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ、EEPROM(Electrically Erasable Programmable Read Only Memory)、RAM(Random Access read/write Memory)、ROM(Read Only Memory)、又はこれらの記憶媒体の任意の組み合わせによって構成される。
図1に示すように、記憶部32は、各種DB(Data Base)を記憶している。具体的に、記憶部32は、定義情報DB321、学習済みモデルDB322、実行プログラムDB323、及びコードDB324を記憶している。
【0026】
定義情報DB321は、定義情報を記憶するデータベースである。
学習済みモデルDB322は、学習済みモデルを記憶するデータベースである。例えば、学習済みモデルDB322は、開発者によってアップロードされた学習済みモデルを、当該学習済みモデルの定義情報に対応付けて記憶する。
実行プログラムDB323は、実行プログラムを記憶するデータベースである。例えば、実行プログラムDB323は、開発者によってアップロードされた実行プログラムを、当該実行プログラムが実行する学習済みモデルに対応付けて記憶する。
コードDB324は、ユーザインタフェースのコードを記憶するデータベースである。例えば、コードDB324は、学習済みモデルごとに生成される実行画面(ユーザインタフェース)のコードを、それぞれの学習済みモデルに対応付けて記憶する。
【0027】
なお、学習済みモデルDB322は、学習済みモデルのファイル名のみを記憶する構成であってもよい。この場合、学習済みモデルのファイル自体は、別途、記憶部32に用意されるフォルダに格納(記憶)される。また、実行プログラムDB323も同様に、実行プログラムのファイル名のみを記憶する構成であってもよい。この場合、実行プログラムのファイル自体は、別途、記憶部32に用意されるフォルダに格納(記憶)される。学習済みモデル及び実行プログラムが格納されるフォルダは、定義情報が示すプロジェクトごとに、各プロジェクトの情報を格納するためのフォルダ(以下、「プロジェクト用フォルダ」とも称される)である。
【0028】
(3)制御部33は、
制御部33は、サーバ装置30の動作全般を制御する機能を有する。制御部33は、例えば、サーバ装置30がハードウェアとして備えるCPU(Central Processing Unit)にプログラムを実行させることによって実現される。
図1に示すように、制御部33は、定義情報取得部331、入力情報取得部332、登録部333、フォルダ処理部334、ユーザインタフェース生成部335、プログラム実行部336、及び表示処理部337を備える。
【0029】
(3-1)定義情報取得部331
定義情報取得部331は、定義情報を取得する機能を有する。例えば、定義情報取得部331は、開発者によって登録画面の定義情報入力欄に入力された定義情報を取得する。具体的に、定義情報取得部331は、後述するユーザインタフェース生成部335がユーザインタフェースを生成する際に、開発者によってアップロードされた学習済みモデルと対応する定義情報を、定義情報DB321から取得する。
【0030】
(3-2)入力情報取得部332
入力情報取得部332は、入力情報を取得する機能を有する。例えば、入力情報取得部332は、利用者によって実行画面(ユーザインタフェース)の入力情報入力欄(入力領域)に入力された入力情報を取得する。具体的に、入力情報取得部332は、後述するプログラム実行部336が実行プログラムを実行する際に、利用者によって入力された入力情報を取得する。
【0031】
(3-3)登録部333
登録部333は、各種情報の登録を行う機能を有する。例えば、登録部333は、開発者によって入力される定義情報や、開発者によってアップロードされる学習済みモデルと実行プログラムの登録を行う。
【0032】
(3-4)フォルダ処理部334
フォルダ処理部334は、フォルダに関する処理を行う機能を有する。例えば、フォルダ処理部334は、登録された定義情報が示すプロジェクトごとに、プロジェクト用フォルダを作成する。また、フォルダ処理部334は、後述するユーザインタフェース生成部335が生成したユーザインタフェースをテンプレートとして格納するためのフォルダ(テンプレートフォルダ)を作成する。フォルダ処理部334は、作成した各フォルダへ情報の出し入れを制御してもよい。
【0033】
(3-5)ユーザインタフェース生成部335
ユーザインタフェース生成部335は、ユーザインタフェースを生成する機能を有する。ユーザインタフェース生成部335は、取得された定義情報に基づき、ユーザが入力情報を入力する入力領域と出力情報が出力される出力領域とを少なくとも含む、ユーザインタフェースを生成する。ユーザインタフェース生成部335は、例えば、HTML(Hyper Text Markup Language)又はスクリプトを用いてユーザインタフェースを生成する。ユーザインタフェース生成部335は、ソースコードを生成してもよいしスクリプトコードを生成してもよい。このように、ユーザインタフェースは、ユーザインタフェース生成部335によって動的に自動生成される。
【0034】
(3-6)プログラム実行部336
プログラム実行部336は、実行プログラムを実行する機能を有する。例えば、プログラム実行部336は、取得された入力情報に基づき、入力情報に対応する実行プログラムを実行する。プログラム実行部336は、例えば、実行プログラムDB323から検索したファイル名をもとに、入力情報に対応する実行プログラムを実行する。
【0035】
(3-7)表示処理部337
表示処理部337は、各端末における表示を制御する機能を有する。例えば、表示処理部337は、開発者端末10と利用者端末20に起動画面を表示させる。また、表示処理部337は、開発者端末10に登録画面を表示させる。また、表示処理部337は、利用者端末20に実行画面を表示させる。
【0036】
ここで、
図2を参照して、本実施形態に係る表示画面について説明する。
図2は、本発明の実施形態に係る表示画面の一例を示す図である。
図2には、表示画面の一例として、起動画面40、登録画面50、及び実行画面60が示されている。
【0037】
起動画面40は、実行環境システムにアクセスした際に表示される画面の一例である。
図2に示すように、起動画面40には一例として、プロジェクト登録ボタン41、データベース管理ボタン42、及びプロジェクトリスト43が表示されている。
プロジェクト登録ボタン41は、押下によって起動画面40から登録画面50へ画面を遷移させるボタンである。
データベース管理ボタン42は、押下によって起動画面40からデータベース管理画面(不図示)へ画面を遷移させるボタンである。
プロジェクトリスト43には登録済みのプロジェクト名が示されている。表示されているプロジェクト名を選択すると、対応する実行画面60へ画面が遷移する。例えば、
図2に示すように、「(3)プロジェクトIII」を選択すると、プロジェクトIIIの実行画面60が表示される。
【0038】
登録画面50は、プロジェクトごとの定義情報を登録する画面である。
図2に示すように、登録画面50には一例として、定義情報入力欄51-1~51-N(Nは自然数)及び登録ボタン52が表示されている。開発者が定義情報入力欄51-1~51-Nに定義情報を入力して登録ボタン52を押下すると、入力された定義情報が登録される。
【0039】
実行画面60は、選択したプロジェクトを実行(即ち実行プログラムを実行)する画面である。
図2に示すように、実行画面60には一例として、入力情報入力欄61-1~61-M(Mは自然数)、実行ボタン62、及び実行結果出力欄63が表示されている。利用者が入力情報入力欄61-1~61-M(入力領域)に入力情報を入力して実行ボタン62を押下すると、実行結果出力欄63(出力領域)に実行結果が表示される。上述したように、本実施形態の出力パラメータ名は「閉塞確率」であるため、実行結果出力欄63には閉塞確率が「x%」であることが示されている。
【0040】
<4.処理の流れ>
図3から
図5を参照して、本発明の実施形態に係る処理の流れについて説明する。以下、各図を参照して、登録処理、ユーザインタフェース生成処理、及び実行処理について説明する。
【0041】
(1)登録処理
図3を参照して、登録処理の流れについて説明する。
図3は、本発明の実施形態に係る登録処理の流れの一例を示すシーケンス図である。
図3に示すように、まず、開発者は、学習済みモデルと、当該学習済みモデルの実行プログラムを予め開発する(ステップS101及びステップS102)。開発者は、開発者端末10を操作して、実行環境システムへのアクセス操作を行う(ステップS103)。開発者端末10は、開発者による実行環境システムへのアクセス操作の入力を受け付けると、サーバ装置30へ実行環境システムへのアクセス要求を送信する(ステップS104)。サーバ装置30の通信部31が開発者端末10からの要求を受信したとする。この場合、サーバ装置30の表示処理部337は、当該要求に対する応答として、実行環境システムの起動画面を表示するための情報を通信部31から開発者端末10へ送信する(ステップS105)。開発者端末10は、サーバ装置30から受信した情報に基づき、起動画面を表示する(ステップS106)。
【0042】
開発者は、起動画面に対して、登録画面へアクセスするための操作を行う(ステップS111)。開発者端末10は、開発者による登録画面へのアクセス操作の入力を受け付けると、サーバ装置30へ登録画面へのアクセス要求を送信する(ステップS112)。サーバ装置30の通信部31が開発者端末10からの要求を受信したとする。この場合、サーバ装置30の表示処理部337は、当該要求に対する応答として、登録画面を表示するための情報を通信部31から開発者端末10へ送信する(ステップS113)。開発者端末10は、サーバ装置30から受信した情報に基づき、登録画面を表示する(ステップS114)。開発者は、登録画面に対して、定義情報を入力する(ステップS115)。開発者端末10は、開発者による定義情報の入力を受け付けると、サーバ装置30へ定義情報を送信する(ステップS116)。通信部31が開発者端末10から定義情報を受信すると、サーバ装置30の登録部333は、通信部31が受信した定義情報を記憶部32の定義情報DB321に書き込んで記憶させる(ステップS117)。サーバ装置30のフォルダ処理部334は、開発者が登録した定義情報を登録したプロジェクトのプロジェクト用フォルダを作成する(ステップS118)。
【0043】
開発者は、登録画面に対して、学習済みモデルと実行プログラムのアップロード操作を行う(ステップS121)。開発者端末10は、開発者によるアップロード操作を受け付けると、サーバ装置30へ学習済みモデルと実行プログラムを送信する(ステップS122)。通信部31が開発者端末10から学習済みモデルと実行プログラムを受信すると、登録部333は、通信部31が受信した学習済みモデルと実行プログラムを記憶部32の学習済みモデルDB322と実行プログラムDB323にそれぞれ書き込んで記憶する。また、登録部333は、学習済みモデルと実行プログラムをプロジェクト用フォルダへ格納する(ステップS123)。格納後、サーバ装置30のユーザインタフェース生成部335は、ユーザインタフェース生成処理を実行する(ステップS124)。なお、ユーザインタフェース生成処理の詳細は、後述する。ユーザインタフェース生成部335は、生成したユーザインタフェースのコードを記憶部32のコードDB324に書き込んで記憶させる。また、ユーザインタフェース生成部335は、生成したユーザインタフェースのコードをテンプレートフォルダへ格納する(ステップS125)。
【0044】
(2)ユーザインタフェース生成処理
図4は、本発明の実施形態に係るユーザインタフェース生成処理の流れの一例を示すフローチャートである。
図4に示すように、まず、定義情報取得部331は、定義情報DB321から定義情報を取得する(ステップS201)。次いで、ユーザインタフェース生成部335は、HTMLのUIコードを追加して、新規ファイルを作成する(ステップS202)。次いで、ユーザインタフェース生成部335は、UIライブラリ定義等の定型コードを生成する(ステップS203)。次いで、ユーザインタフェース生成部335は、定義情報に基づき、入力情報の変数名を受信するための変数名受信用コードの生成と(ステップS204)、入力情報の入力領域を表示するための入力用コードの生成を行う(ステップS205)。なお、ユーザインタフェース生成部335は、変数名受信用コードの生成と入力用コードの生成を入力パラメータ数が示す数だけ繰り返す。次いで、ユーザインタフェース生成部335は、キャンセル用コードを生成する(ステップS206)。次いで、ユーザインタフェース生成部335は、定義情報に基づき、実行結果の出力領域を表示するための出力結果表示用コードを生成する(ステップS207)。次いで、ユーザインタフェース生成部335は、ライブラリ読込用コードを生成する(ステップS208)。
なお、定型コードは、例えば、HTMLのHEADタグに記述される。また、変数名受信用コード、入力用コード、キャンセル用コード、出力結果表示用コード、及びライブラリ読込用コードは、例えば、HTMLのBODYタグに記述される。
【0045】
(3)実行処理
図5は、本発明の実施形態に係る実行処理の流れの一例を示すシーケンス図である。
図5に示すように、利用者は、利用者端末20を操作して、実行環境システムへのアクセス操作を行う(ステップS301)。利用者端末20は、利用者による実行環境システムへのアクセス操作の入力を受け付けると、サーバ装置30へ実行環境システムへのアクセス要求を送信する(ステップS302)。通信部31が開発者端末10からの要求を受信したとする。この場合、表示処理部337は、当該要求に対する応答として、実行環境システムの起動画面を表示するための情報を通信部31から開発者端末10へ送信する(ステップS303)。利用者端末20は、サーバ装置30から受信した情報に基づき、起動画面を表示する(ステップS304)。
【0046】
利用者は、起動画面に対して、実行画面へアクセスするための操作を行う(ステップS311)。利用者端末20は、利用者による実行画面へのアクセス操作の入力を受け付けると、サーバ装置30へ実行画面へのアクセス要求を送信する(ステップS312)。通信部31が利用者端末20からの要求を受信したとする。この場合、表示処理部337は、当該要求に対する応答として、実行画面を表示するための情報を通信部31から利用者端末20へ送信する(ステップS313)。利用者端末20は、サーバ装置30から受信した情報に基づき、実行画面を表示する(ステップS314)。
【0047】
利用者は、実行画面に対して、入力情報を入力し、実行操作を行う(ステップS321)。利用者端末20は、利用者による実行操作を受け付けると、サーバ装置30へ入力情と実行要求を送信する(ステップS322)。通信部31が利用者端末20から実行要求を受信すると、サーバ装置30の入力情報取得部332は、通信部31から入力情報を取得する。サーバ装置30のプログラム実行部336は、入力情報に基づき、当該入力情報に対応するプロジェクトの実行プログラムを実行する(ステップS323)。実行後、表示処理部337は、実行結果を通信部31から利用者端末20へ送信する(ステップS324)。利用者端末20は、サーバ装置30から受信した実行結果を表示する(ステップS325)。
【0048】
以上説明したように、本実施形態に係るサーバ装置30は、ユーザによってWebベースのユーザインタフェースに入力される入力情報を学習済みモデルへの入力として用い、当該学習済みモデルを用いた処理を実行する情報処理装置である。上述したように、サーバ装置30は、定義情報取得部331及びユーザインタフェース生成部335を備える。
定義情報取得部331は、学習済みモデルへ入力される入力情報と、学習済みモデルから出力される出力情報とが定義された定義情報を取得する。
ユーザインタフェース生成部335は、取得された定義情報に基づき、ユーザが入力情報を入力する入力領域と出力情報が出力される出力領域とを少なくとも含む、ユーザインタフェースを生成する。
【0049】
かかる構成により、サーバ装置30は、使用する学習済みモデルの入出力の項目に応じて、Webベースのユーザインタフェースを生成する。これにより、開発者や利用者等のユーザは、Webベースのユーザインタフェースを生成する際に、使用する学習済みモデルの入出力項目に応じたコーディングを手動で行う必要がなくなる。よって、WEBの専門家でないAI開発者であっても、AIシステムのWEBアプリケーション化を容易に行うことができる。
【0050】
以上より、本実施形態に係るサーバ装置30は、学習済みモデルを用いたシステムのWEBアプリケーション化を容易に行うことを可能とする。
また、手動で行うコーディングの量が減ることで、AIシステムのWEBアプリケーション化にかかる時間を短縮することができ、AIシステムをスピーディーに活用することが可能となる。また、手動によるコーディングを行う人員の削減やAIシステム全体の開発期間の短縮も可能となり、AIシステムの開発におけるコストを削減することも可能となる。
【0051】
以上、本発明の実施形態について説明した。なお、上述した実施形態におけるサーバ装置30の一部又は全部をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【0052】
以上、図面を参照してこの発明の実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【符号の説明】
【0053】
1…情報処理システム、10…開発者端末、20…利用者端末、30…サーバ装置、31…通信部、32…記憶部、33…制御部、40…起動画面、50…登録画面、60…実行画面、321…定義情報DB、322…学習済みモデルDB、323…実行プログラムDB、324…コードDB、331…定義情報取得部、332…入力情報取得部、333…登録部、334…フォルダ処理部、335…ユーザインタフェース生成部、336…プログラム実行部、337…表示処理部、NW…ネットワーク