IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ AI inside株式会社の特許一覧

特開2023-138337プログラム、情報処理装置、情報処理システム、情報処理方法
<>
  • 特開-プログラム、情報処理装置、情報処理システム、情報処理方法 図1
  • 特開-プログラム、情報処理装置、情報処理システム、情報処理方法 図2
  • 特開-プログラム、情報処理装置、情報処理システム、情報処理方法 図3
  • 特開-プログラム、情報処理装置、情報処理システム、情報処理方法 図4
  • 特開-プログラム、情報処理装置、情報処理システム、情報処理方法 図5
  • 特開-プログラム、情報処理装置、情報処理システム、情報処理方法 図6
  • 特開-プログラム、情報処理装置、情報処理システム、情報処理方法 図7
  • 特開-プログラム、情報処理装置、情報処理システム、情報処理方法 図8
  • 特開-プログラム、情報処理装置、情報処理システム、情報処理方法 図9
  • 特開-プログラム、情報処理装置、情報処理システム、情報処理方法 図10
  • 特開-プログラム、情報処理装置、情報処理システム、情報処理方法 図11
  • 特開-プログラム、情報処理装置、情報処理システム、情報処理方法 図12
  • 特開-プログラム、情報処理装置、情報処理システム、情報処理方法 図13
  • 特開-プログラム、情報処理装置、情報処理システム、情報処理方法 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023138337
(43)【公開日】2023-10-02
(54)【発明の名称】プログラム、情報処理装置、情報処理システム、情報処理方法
(51)【国際特許分類】
   G06Q 10/0633 20230101AFI20230922BHJP
【FI】
G06Q10/0633
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2023011480
(22)【出願日】2023-01-30
(62)【分割の表示】P 2022043796の分割
【原出願日】2022-03-18
(71)【出願人】
【識別番号】516092005
【氏名又は名称】AI inside株式会社
(74)【代理人】
【識別番号】110002815
【氏名又は名称】IPTech弁理士法人
(72)【発明者】
【氏名】胡 為明
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049AA07
(57)【要約】      (修正有)
【課題】ユーザは自身の業務プロセスに適したソフトウェアサービスを柔軟、かつ、容易に実現するプログラム、情報処理装置、情報処理システム及び情報処理方法を提供する。
【解決手段】プロセッサと、記憶部とを備えるコンピュータに実行させるためのプログラムであって、プログラムは、プロセッサに、ユーザにより選択された複数の学習モデルを受け付けるモデル受付ステップと、モデル受付ステップにおいて受け付けた複数の学習モデルを組み合わせることにより情報処理プロセスを生成する生成ステップと、を実行させる。
【選択図】図10
【特許請求の範囲】
【請求項1】
プロセッサと、記憶部とを備えるコンピュータに実行させるためのプログラムであって、
前記プログラムは、前記プロセッサに、
ユーザにより選択された複数の学習モデルを受け付けるモデル受付ステップと、
前記モデル受付ステップにおいて受け付けた前記複数の学習モデルを組み合わせることにより情報処理プロセスを生成する生成ステップと、
を実行させるプログラム。
【請求項2】
前記生成ステップは、
前記複数の学習モデルに含まれる第1学習モデルの出力データが、前記複数の学習モデルに含まれる第2学習モデルの入力データとなるような組み合わせを含む前記情報処理プロセスを生成可能なステップであり、
第1学習モデルの出力データ型および出力ロールを含む出力データ制約は、第2学習モデルの入力データ型および入力ロールを含む入力データ制約に含まれる、
請求項1記載のプログラム。
【請求項3】
前記生成ステップは、
前記複数の学習モデルに含まれる第1学習モデルの出力データが、前記複数の学習モデルに含まれる第3学習モデルの入力データとなるような組み合わせを含む前記情報処理プロセスを生成可能なステップであり、
第1学習モデルは、第1学習モデルが出力する出力データの出力データ制約が、第2学習モデルまたは第3学習モデルの入力データ制約に含まれるように、前記出力データを第2学習モデルまたは第3学習モデルのいずれかに対して選択的に出力する、
請求項2記載のプログラム。
【請求項4】
第1学習モデルは、
第1学習モデルが出力する前記出力データの出力データ制約が、第2学習モデルの入力データ制約に含まれる場合には、前記出力データを第2学習モデルへ出力し、
第1学習モデルが出力する前記出力データの出力データ制約が、第2学習モデルの入力データ制約に含まれない場合には、前記出力データを第2学習モデルへ出力せず、
第1学習モデルが出力する前記出力データの出力データ制約が、第3学習モデルの入力データ制約に含まれる場合には、前記出力データを第3学習モデルへ出力し、
第1学習モデルが出力する前記出力データの出力データ制約が、第3学習モデルの入力データ制約に含まれない場合には、前記出力データを第3学習モデルへ出力しない、
請求項3記載のプログラム。
【請求項5】
前記プログラムは、前記プロセッサに、
前記ユーザにより選択された複数の画面を受け付ける画面受付ステップと、
を実行させ、
前記生成ステップは、前記モデル受付ステップにおいて受け付けた前記複数の学習モデル、および、前記画面受付ステップにおいて受け付けた前記複数の画面を組み合わせることにより前記情報処理プロセスを生成するステップである、
請求項1から4のいずれか記載のプログラム。
【請求項6】
前記生成ステップは、
前記複数の画面に含まれる第1画面の出力データが、それぞれ、前記複数の学習モデルに含まれる第1学習モデルの入力データとなるような組み合わせを含む前記情報処理プロセスを生成するステップと、
第1学習モデルの入力データ型および入力ロールを含む入力データ制約に基づき、第1入力画面に含まれる入力欄および、前記入力欄のデータ型およびロールを含むデータ制約を特定するステップと、
を含む、
請求項1から5のいずれか記載のプログラム。
【請求項7】
前記プログラムは、前記プロセッサに、
前記ユーザにより選択された複数のファンクションを受け付ける関数受付ステップと、
を実行させ、
前記生成ステップは、前記関数受付ステップにおいて受け付けた前記複数のファンクションを組み合わせることによりワークフローを生成するステップである、
請求項1から6のいずれか記載のプログラム。
【請求項8】
前記生成ステップは、
前記複数の学習モデルに含まれる第1学習モデルの出力データが、前記複数のファンクションに含まれる第1ファンクションの入力データとなるような組み合わせを含む前記情報処理プロセスを生成可能なステップであり、
第1学習モデルの出力データ型は、第1ファンクションの入力データ型に含まれる、
請求項7記載のプログラム。
【請求項9】
前記プログラムは、前記プロセッサに、
前記モデル受付ステップにおいて受け付けた前記複数の学習モデルの入力データ型および入力ロールを含む入力データ制約、または、出力データ型および出力ロールを含む出力データ制約に基づき、前記ユーザが選択可能な複数のファンクションを前記ユーザに対して提示する提示ステップと、
を実行させ、
前記関数受付ステップは、前記提示ステップにおいて提示された前記ユーザが選択可能な複数のファンクションから、前記ユーザにより選択された複数のファンクションを受け付けるステップである、
請求項7または8記載のプログラム。
【請求項10】
プロセッサと、記憶部とを備える情報処理装置であって、
前記プロセッサに、請求項1から9のいずれか記載のプログラムを実行させる、
情報処理装置。
【請求項11】
プロセッサと、記憶部とを備える情報処理装置を含む情報処理システムであって、
前記プロセッサに、請求項1から9のいずれか記載のプログラムを実行させる、
情報処理システム。
【請求項12】
プロセッサと、記憶部とを備えるコンピュータにより実行される情報処理方法であって、
前記プロセッサに、請求項1から9のいずれか記載のプログラムを実行させる、
情報処理方法。


【発明の詳細な説明】
【技術分野】
【0001】
本開示は、プログラム、情報処理装置、情報処理システム、情報処理方法に関する。
【背景技術】
【0002】
複数のアプリケーション間でのデータ連携を行う連携システムが知られている。
特許文献1には、手軽で汎用性の高いアプリケーション連携システムが開示されている。
特許文献2には、ユーザに特段の負担をかけずに多様なソフトウェアモジュールの組み合わせを実現し、多様な処理を実施することができる情報処理装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2014-10512号公報
【特許文献2】特開2010-55610号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
業務プロセスをソフトウェアにより実現しようとした場合に、ソフトウェア、開発環境、インフラなどを連携させて実現することに困難性があった。
そこで、本開示は、上記課題を解決すべくなされたものであって、その目的は、ユーザごとの業務プロセスをソフトウェアサービスとして柔軟に実現する技術を提供することである。
【課題を解決するための手段】
【0005】
プロセッサと、記憶部とを備えるコンピュータに実行させるためのプログラムであって、プログラムは、プロセッサに、ユーザにより選択された複数の学習モデルを受け付けるモデル受付ステップと、モデル受付ステップにおいて受け付けた複数の学習モデルを組み合わせることにより情報処理プロセスを生成する生成ステップと、を実行させるプログラム。
【発明の効果】
【0006】
本開示によれば、ユーザは自身の業務プロセスに適したソフトウェアサービスを柔軟かつ容易に実現することができる。
【図面の簡単な説明】
【0007】
図1】情報処理システム1の機能構成を示すブロック図である。
図2】サーバ10の機能構成を示すブロック図である。
図3】ユーザ端末20の機能構成を示すブロック図である。
図4】ユーザテーブル1012のデータ構造を示す図である。
図5】ワークフローテーブル1013のデータ構造を示す図である。
図6】モデルマスタ1021のデータ構造を示す図である。
図7】ファンクションマスタ1022のデータ構造を示す図である。
図8】画面マスタ1023のデータ構造を示す図である。
図9】ワークフロー作成処理の動作を示すフローチャートである。
図10】ワークフロー作成処理における学習モデル選択を示す画面例である。
図11】ワークフロー作成処理におけるファンクション選択を示す画面例である。
図12】ワークフロー作成処理における入力画面設定を示す画面例である。
図13】ワークフロー作成処理における通知画面設定を示す画面例である。
図14】コンピュータ90の基本的なハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【0008】
以下、本開示の実施形態について図面を参照して説明する。実施形態を説明する全図において、共通の構成要素には同一の符号を付し、繰り返しの説明を省略する。なお、以下の実施形態は、特許請求の範囲に記載された本開示の内容を不当に限定するものではない。また、実施形態に示される構成要素のすべてが、本開示の必須の構成要素であるとは限らない。また、各図は模式図であり、必ずしも厳密に図示されたものではない。
【0009】
<情報処理システム1の構成>
本開示における情報処理システム1は、学習モデル、ファンクション、画面などを組み合わせることにより、入力データに対して一連の情報処理を実行するためのワークフローとよばれる情報処理プロセスを作成し提供する情報処理システムである。
情報処理システム1は、ネットワークNを介して接続された、サーバ10、ユーザ端末20A、20B、20C・・・の情報処理装置を備える。
図1は、情報処理システム1の機能構成を示すブロック図である。
図2は、サーバ10の機能構成を示すブロック図である。
図3は、ユーザ端末20の機能構成を示すブロック図である。
【0010】
各情報処理装置は演算装置と記憶装置とを備えたコンピュータにより構成されている。コンピュータの基本ハードウェア構成および、当該ハードウェア構成により実現されるコンピュータの基本機能構成は後述する。サーバ10、ユーザ端末20のそれぞれについて、後述するコンピュータの基本ハードウェア構成およびコンピュータの基本機能構成と重複する説明は省略する。
【0011】
<サーバ10の構成>
サーバ10は、後述するワークフロー作成処理サービスを提供する情報処理装置である。
サーバ10は、記憶部101、制御部104を備える。
【0012】
<サーバ10の記憶部101の構成>
サーバ10の記憶部101は、アプリケーションプログラム1011、ユーザテーブル1012、ワークフローテーブル1013、モデルマスタ1021、ファンクションマスタ1022、画面マスタ1023を備える。
【0013】
アプリケーションプログラム1011は、サーバ10の制御部104を各機能ユニットとして機能させるためのプログラムである。
アプリケーションプログラム1011は、ウェブブラウザアプリケーションなどのアプリケーションを含む。
【0014】
ユーザテーブル1012は、サービスを利用する会員ユーザ(以下、ユーザ)の情報を記憶し管理するテーブルである。ユーザは、サービスの利用登録を行うことで、当該ユーザの情報がユーザテーブル1012の新しいレコードに記憶される。これにより、ユーザは本開示にかかるサービスを利用できるようになる。
ユーザテーブル1012は、ユーザIDを主キーとして、ユーザID、ユーザ名のカラムを有するテーブルである。
図4は、ユーザテーブル1012のデータ構造を示す図である。
【0015】
ユーザIDは、ユーザを識別するためのユーザ識別情報を記憶する項目である。ユーザ識別情報は、ユーザ情報ごとにユニークな値が設定されている項目である。
ユーザ名は、ユーザの氏名を記憶する項目である。ユーザ名は、氏名ではなく、ニックネームなど任意の文字列を設定しても良い。
【0016】
ワークフローテーブル1013は、ワークフローに関する情報(ワークフロー情報)を記憶し管理するためのテーブルである。
ワークフローテーブル1013は、ワークフローIDを主キーとして、ワークフローID、ユーザID、ワークフローデータのカラムを有するテーブルである。
図5は、ワークフローテーブル1013のデータ構造を示す図である。
【0017】
ワークフローIDは、ワークフローを識別するためのワークフロー識別情報を記憶する項目である。ワークフロー識別情報は、ワークフロー情報ごとにユニークな値が設定されている項目である。
ユーザIDは、ユーザを識別するためのユーザ識別情報を記憶する項目である。
ワークフローデータは、一連の処理を実現するワークフローに関する情報を記憶する項目である。ワークフローデータはワークフロー作成者のユーザIDと関連付けられて記憶される。
ワークフローデータは、モデル情報、ファンクション情報、画面情報などの入出力データがそれぞれ接続された情報を記憶する項目である。具体的に、ワークフローデータは、複数のモデルID、複数のファンクションID、複数の画面ID、および、それぞれのモデルID、ファンクションID、画面IDの入力データおよび出力データの接続情報が記憶される。
例えば、ワークフローデータには、モデルID「M001」のモデルの出力データが、ファンクションID「F001」の入力データとして入力されるといった情報が記憶される。
【0018】
モデルマスタ1021は、モデルに関する情報(モデル情報)を記憶し管理するためのテーブルである。
モデルマスタ1021は、モデルIDを主キーとして、モデルID、モデル名、モデルデータ、入力データ型、入力ロール、出力データ型、出力ロールのカラムを有するテーブルである。
図6は、モデルマスタ1021のデータ構造を示す図である。
【0019】
モデルIDは、モデルを識別するためのモデル識別情報を記憶する項目である。モデル識別情報は、モデル情報ごとにユニークな値が設定されている項目である。
モデル名は、モデルの名称を記憶する項目である。モデル名は任意の文字列を設定することができる。
モデルデータは、学習モデルのデータが記憶される項目である。モデルデータは、入力データ型、入力ロールの項目で特定されるクラスのデータを入力データとして、出力データ型、出力ロールの項目で特定されるクラスのデータを出力(推論)する推論モデルである。
モデルデータは、例えば推論モデル、機械学習、人工知能、深層学習モデルなどの一種である。
モデルデータは、単一の学習モデルである必要はなく、複数の独立した学習モデルを切り替えて実現しても良い。
モデルデータの一例として、深層学習におけるディープニューラルネットワークによる深層学習モデルを説明する。モデルデータは、深層学習モデルである必要は必ずしもなく、任意の機械学習、人工知能モデルでも良い。
入力データ型は、モデルデータに入力されるデータのデータ型を記憶する項目である。具体的に、データ型は、数値、文字列、日付、画像、音声、動画などを含む。
入力ロールは、モデルデータに入力されるデータの役割を規定したロール情報を記憶する項目である。例えば、ロールは、文字列データであれば、氏名、性別(M、Fなど)、あだ名、ニックネーム、商品名、商品IDなどが含まれる。数値データであれば、年齢、カテゴリなどが含まれる。画像データであれば、帳票、身分証明書、運転免許証、健康保険証、道路、タイヤ、人物の顔など、画像データに含まれる撮影対象のオブジェクトの種別が記憶される。
本開示において、入力データ型、入力ロールをまとめて入力データ制約とよぶ。
出力データ型は、モデルデータから出力されるデータのデータ型を記憶する項目である。
出力ロールは、モデルデータから出力されるデータの役割を規定したロール情報を記憶する項目である。
本開示において、出力データ型、出力ロールをまとめて出力データ制約とよぶ。
【0020】
ファンクションマスタ1022は、ファンクションに関する情報(ファンクション情報)を記憶し管理するためのテーブルである。
ファンクションマスタ1022は、ファンクションIDを主キーとして、ファンクションID、ファンクション名、ファンクションデータ、入力データ型、出力データ型のカラムを有するテーブルである。
図7は、ファンクションマスタ1022のデータ構造を示す図である。
【0021】
ファンクションIDは、ファンクションを識別するためのファンクション識別情報を記憶する項目である。ファンクション識別情報は、ファンクション情報ごとにユニークな値が設定されている項目である。
ファンクション名は、ファンクションの名称を記憶する項目である。ファンクション名は任意の文字列を設定することができる。
ファンクションデータは、所定の処理を実現する関数(ファンクション)のデータが記憶される項目である。ファンクションデータは、入力データ型を有するデータを入力データとして、出力データ型を有するデータを出力データとして出力(推論)する推論モデルである。
ファンクションデータは、任意のプログラミング言語で定義された関数の一種である。ファンクションデータは、一定のルールに従って入力データを出力データへ変換する任意のプログラム、アプリケーション等を含む。
入力データ型は、ファンクションデータに入力されるデータのデータ型を記憶する項目である。
出力データ型は、ファンクションデータから出力されるデータのデータ型を記憶する項目である。
【0022】
画面マスタ1023は、画面に関する情報(画面情報)を記憶し管理するためのテーブルである。
画面マスタ1023は、画面IDを主キーとして、画面ID、画面種別のカラムを有するテーブルである。
図8は、画面マスタ1023のデータ構造を示す図である。
【0023】
画面IDは、画面を識別するための画面識別情報を記憶する項目である。画面識別情報は、画面情報ごとにユニークな値が設定されている項目である。
画面種別は、画面の種別を記憶する項目である。画面種別には、入力画面、通知画面などが含まれる。入力画面は、モデルデータ、ファンクションデータの入力データを、ユーザが入力するための画面である。通知画面は、入力画面、モデルデータ、ファンクションデータの出力データを、ユーザに通知する画面である。
【0024】
<サーバ10の制御部104の構成>
サーバ10の制御部104は、ユーザ登録制御部1041、作成部1042を備える。制御部104は、記憶部101に記憶されたアプリケーションプログラム1011を実行することにより、各機能ユニットが実現される。
【0025】
ユーザ登録制御部1041は、本開示に係るサービスの利用を希望するユーザの情報をユーザテーブル1012に記憶する処理を行う。
ユーザテーブル1012に記憶される情報は、ユーザが任意の情報処理端末からサービス提供者が運営するウェブページなどを開き、所定の入力フォームに情報を入力しサーバ10へ送信する。ユーザ登録制御部1041は、受信した情報をユーザテーブル1012の新しいレコードに記憶し、ユーザ登録が完了する。これにより、ユーザテーブル1012に記憶されたユーザはサービスを利用することができるようになる。
ユーザ登録制御部1041によるユーザ情報のユーザテーブル1012への登録に先立ち、サービス提供者は所定の審査を行いユーザによるサービス利用可否を制限しても良い。
ユーザIDは、ユーザを識別できる任意の文字列または数字で良く、ユーザが希望する任意の文字列または数字、もしくはユーザ登録制御部1041が自動的に任意の文字列または数字を設定しても良い。
【0026】
作成部1042は、ワークフロー作成処理を実行する。詳細は後述する。
【0027】
<ユーザ端末20の構成>
ユーザ端末20は、サービスを利用するユーザが操作する情報処理装置である。ユーザ端末20は、例えば、スマートフォン、タブレット等の携帯端末でもよいし、据え置き型のPC(Personal Computer)、ラップトップPCであってもよい。また、HMD(Head Mount Display)、腕時計型端末等のウェアラブル端末であってもよい。
ユーザ端末20は、記憶部201、制御部204、入力装置206、出力装置208を備える。
【0028】
<ユーザ端末20の記憶部201の構成>
ユーザ端末20の記憶部201は、ユーザID2011、アプリケーションプログラム2012を備える。
【0029】
ユーザID2011はユーザのアカウントIDである。ユーザは、ユーザ端末20からユーザID2011を、サーバ10へ送信する。サーバ10は、ユーザID2011に基づきユーザを識別し、本開示にかかるサービスをユーザに対して提供する。なお、ユーザID2011には、ユーザ端末20を利用しているユーザを識別するにあたりサーバ10から一時的に付与されるセッションIDなどの情報を含む。
【0030】
アプリケーションプログラム2012は、記憶部201に予め記憶されていても良いし、通信IFを介してサービス提供者が運営するウェブサーバ等からダウンロードする構成としても良い。
アプリケーションプログラム2012は、ウェブブラウザアプリケーションなどのアプリケーションを含む。
アプリケーションプログラム2012は、ユーザ端末20に記憶されているウェブブラウザアプリケーション上で実行されるJavaScript(登録商標)などのインタープリター型プログラミング言語を含む。
【0031】
<ユーザ端末20の制御部204の構成>
ユーザ端末20の制御部204は、入力制御部2041、出力制御部2042を備える。制御部204は、記憶部201に記憶されたアプリケーションプログラム2012を実行することにより、各機能ユニットが実現される。
【0032】
<ユーザ端末20の入力装置206の構成>
ユーザ端末20の入力装置206は、カメラ2061、マイク2062、位置情報センサ2063、モーションセンサ2064、タッチデバイス2065を備える。
【0033】
<ユーザ端末20の出力装置208の構成>
ユーザ端末20の出力装置208は、ディスプレイ2081、スピーカ2082を備える。
【0034】
<情報処理システム1の動作>
以下、情報処理システム1の各処理について説明する。
図9は、ワークフロー作成処理の動作を示すフローチャートである。
図10は、ワークフロー作成処理における学習モデル選択を示す画面例である。
図11は、ワークフロー作成処理におけるファンクション選択を示す画面例である。
図12は、ワークフロー作成処理における入力画面設定を示す画面例である。
図13は、ワークフロー作成処理における通知画面設定を示す画面例である。
【0035】
<ワークフロー作成処理>
ワークフロー作成処理は、学習モデル、ファンクション、画面などを組み合わせることにより、入力データに対して一連の情報処理を実行するためのワークフローとよばれる情報処理プロセスを作成し生成する処理である。
【0036】
<ワークフロー作成処理の概要>
ワークフロー作成処理は、ユーザに対し学習モデルを提示し、ユーザにより選択された学習モデルを受け付け、受け付けた学習モデルに基づき仮ワークフローをユーザに対し提示し、ユーザに対しファンクションを提示し、ユーザにより選択されたファンクションを受け付け、ユーザにより選択された画面を受け付け、入力データに対して一連の情報処理を実行するためのワークフローを作成する一連の処理である
【0037】
<ワークフロー作成処理の詳細>
以下に、ワークフロー作成処理の詳細を説明する。
【0038】
ステップS101において、サーバ10の作成部1042は、ユーザに対し複数の学習モデルを提示する。具体的に、サーバ10の作成部1042は、モデルマスタ1021を参照し、モデルID、モデル名を含むモデル情報を取得し、ユーザ端末20に送信する。モデル情報には、モデルごとにモデルの説明等の情報が含まれていても良い。
ユーザ端末20のディスプレイ2081は、サーバ10から受信したモデルID、モデル名をユーザに対し提示する。
【0039】
図10は、ユーザ端末20のディスプレイ2081に表示される画面例である。画面70は、モデル情報を示すオブジェクト701~707、入力画面を示すオブジェクト708、「次へ」ボタン711を含む。
【0040】
ステップS102において、サーバ10の作成部1042は、ユーザにより選択された複数の学習モデルを受け付けるモデル受付ステップを実行する。
ユーザは、ユーザ端末20の入力装置206などを操作することにより、オブジェクト701~707を選択することにより、オブジェクトに対応するモデル情報を選択することができる。ユーザは、作成したいワークフローに応じて所望のモデル情報を選択する。
ユーザは、選択したモデル情報に対する入力画面を設定したい場合には、ユーザ端末20の入力装置206などを操作することにより、入力画面に対応するオブジェクト708を選択することができる。具体的に、選択されたオブジェクト704、705、707、708の枠線は太く表示され、選択されていることがユーザに対して明示される。ユーザは、所望のモデル情報の選択を完了すると、ユーザ端末20の入力装置206などを操作することにより、「次へ」ボタン711を押下げする。これにより、ユーザ端末20の制御部204は、ユーザID2011、選択したモデル情報に含まれるモデルID、選択した入力画面の画面IDを含むリクエストをサーバ10へ送信する。
【0041】
サーバ10の作成部1042は、リクエストに含まれるユーザID2011、モデルID、画面IDを受信し、受け付ける。
【0042】
ステップS103において、サーバ10の作成部1042は、モデル受付ステップにおいて受け付けた複数の学習モデルを組み合わせることにより情報処理プロセスを生成する生成ステップを実行する。
具体的に、サーバ10の作成部1042は、受信したリクエストに含まれるモデルID、画面IDに基づき、仮ワークフローを作成する。サーバ10の作成部1042は、ユーザID2011、仮ワークフローを、それぞれ、ワークフローテーブル1013のユーザID、ワークフローデータの項目に記憶する。
【0043】
ステップS103において、生成ステップは、複数の学習モデルに含まれる第1学習モデルの出力データが、複数の学習モデルに含まれる第2学習モデルの入力データとなるような組み合わせを含む情報処理プロセスを生成可能なステップであり、第1学習モデルの出力データ型および出力ロールを含む出力データ制約は、第2学習モデルの入力データ型および入力ロールを含む入力データ制約に含まれる。
【0044】
具体的に、受信したモデルIDは、第1モデルID、第2モデルIDを含む場合を想定する。サーバ10の作成部1042は、第1モデルID、第2モデルIDに基づきモデルマスタ1021のモデルIDの項目を検索し、第1モデルの第1入力データ型、第1入力ロールからなる第1入力制約、第1出力データ型、第1出力ロールからなる第1出力制約、第2モデルの第2入力データ型からなる第2入力制約、第2入力ロール、第2出力データ型、第2出力ロールからなる第2出力制約を取得する。
【0045】
サーバ10の作成部1042は、第1出力制約と、第2入力制約とを比較し、第1出力制約が第2入力制約に含まれる場合には、第1モデルの出力データが、第2モデルの入力データとなるように第1モデルと第2モデルとを関連付け仮ワークフローとして記憶する。
第1出力制約が第2入力制約に含まれる場合とは、第1出力データ型が、第2入力データ型に含まれ、かつ、第1出力ロールが、第2入力ロールに含まれる場合とする。例えば、第1出力データ型が画像データであり、第2入力データ型が画像データであり、第1出力ロールが人物顔であり、第2入力ロールが人物顔である場合がある。また、例えば、第1出力データ型が画像データであり、第2入力データ型が画像データであり、第1出力ロールが免許証であり、第2入力ロールが帳票である場合も、免許証は帳票の一種であるので第1出力ロールは第2入力ロールに含まれるといえる。なお、データ型、ロールの包含関係については、不図示の辞書データベースなどで定義される構成としても良い。
【0046】
サーバ10の作成部1042は、第2出力制約と、第1入力制約とを比較し、第2出力制約が第1入力制約に含まれる場合には、第2モデルの出力データが、第1モデルの入力データとなるように第1モデルと第2モデルとを関連付け仮ワークフローとして記憶する。
第2出力制約が第1入力制約に含まれる場合とは、第2出力データ型が、第1入力データ型に含まれ、かつ、第2出力ロールが、第1入力ロールに含まれる場合とする。例えば、第2出力データ型が画像データであり、第1入力データ型が画像データであり、第2出力ロールが人物顔であり、第1入力ロールが人物顔である場合がある。また、例えば、第2出力データ型が画像データであり、第1入力データ型が画像データであり、第2出力ロールが免許証であり、第1入力ロールが帳票である場合も、免許証は帳票の一種であるので第2出力ロールは第1入力ロールに含まれるといえる。
【0047】
また、ステップS103において、生成ステップは、複数の学習モデルに含まれる第1学習モデルの出力データが、複数の学習モデルに含まれる第3学習モデルの入力データとなるような組み合わせを含む情報処理プロセスを生成可能なステップであり、第1学習モデルは、第1学習モデルが出力する出力データの出力データ制約が、第2学習モデルまたは第3学習モデルの入力データ制約に含まれるように、出力データを第2学習モデルまたは第3学習モデルのいずれかに対して選択的に出力しても良い。
【0048】
具体的に、受信したモデルIDは、第1モデルID、第2モデルID、第3モデルIDを含む場合を想定する。サーバ10の作成部1042は、第1モデルID、第2モデルID、第3モデルIDに基づきモデルマスタ1021のモデルIDの項目を検索し、第1モデルの第1入力データ型、第1入力ロールからなる第1入力制約、第1出力データ型、第1出力ロールからなる第1出力制約、第2モデルの第2入力データ型からなる第2入力制約、第2入力ロール、第2出力データ型、第2出力ロールからなる第2出力制約、第3モデルの第3入力データ型からなる第3入力制約、第3入力ロール、第3出力データ型、第3出力ロールからなる第3出力制約を取得する。
この場合、第1出力制約に含まれる第1出力データ型、第1出力ロールからなる第1出力制約は複数の出力制約を含んでも良い。例えば、第1出力制約は、出力データ型、出力ロールがそれぞれ、画像、免許証である出力制約A、出力データ型、出力ロールがそれぞれ、画像、健康保険証である出力制約Bを含んでも良い。
【0049】
サーバ10の作成部1042は、第1出力制約に含まれる出力制約Aおよび出力制約Bと、第2入力制約とを比較し、出力制約Aまたは出力制約Bのいずれかが第2入力制約に含まれる場合には、第1モデルの出力データが、第2モデルの入力データとなるように第1モデルと第2モデルとを関連付け仮ワークフローとして記憶する。
サーバ10の作成部1042は、第1出力制約に含まれる出力制約Aおよび出力制約Bと、第3入力制約とを比較し、出力制約Aまたは出力制約Bのいずれかが第3入力制約に含まれる場合には、第1モデルの出力データが、第3モデルの入力データとなるように第1モデルと第3モデルとを関連付け仮ワークフローとして記憶する。
【0050】
この場合、ワークフローにおいて、第1学習モデルは、出力する出力データの出力データ型、出力ロールからなる出力制約に基づき、第2学習モデルまたは第3学習モデルのいずれかに出力データを出力する。具体的に、第1学習モデルが出力する出力データの出力制約が出力制約Aである場合は、第1学習モデルは、出力データを第2学習モデルへ出力する。一方、第1学習モデルが出力する出力データの出力制約が出力制約Bである場合は、第1学習モデルは、出力データを第3学習モデルへ出力する。
例えば、第1学習モデルが、免許証または健康保険証などの帳票を含む画像データを入力データとして、出力データ型、出力ロールがそれぞれ、画像、免許証である出力制約Aの出力データA、または、出力データ型、出力ロールがそれぞれ、画像、健康保険証である出力制約Bの出力データBを出力データとして出力する場合を考える。
このとき、出力データAは、第2学習モデルに対する入力データとして入力される。一方、出力データBは、第3学習モデルに対する入力データとして入力される。
【0051】
このように、本開示においては学習モデルが複数の出力データ型、出力ロールからなる出力制約に従った出力データを出力する場合においても、当該出力データを入力データとして入力可能な学習モデルへ選択的に入力することができるため、専門的なエンジニアリングスキルなしに複数の学習モデルを組み合わせた一連の情報処理を実行するためのワークフローを実現することができる。
【0052】
サーバ10の作成部1042は、第1出力制約が第2入力制約に含まれない場合、第2出力制約が第1入力制約に含まれない場合には、第1モデルと第2モデルとを関連付けずに仮ワークフローとしてワークフローデータの項目に記憶する。
【0053】
ステップS104において、サーバ10の作成部1042は、モデル受付ステップにおいて受け付けた複数の学習モデルの入力データ型および入力ロールを含む入力データ制約、または、出力データ型および出力ロールを含む出力データ制約に基づき、ユーザが選択可能な複数のファンクションをユーザに対して提示する提示ステップを実行する。
【0054】
具体的に、サーバ10の作成部1042は、ステップS102において受け付けたモデルIDに基づきモデルマスタ1021のモデルIDの項目を検索し、モデルIDごとの出力制約、入力制約を取得する。
サーバ10の作成部1042は、ファンクションマスタ1022を参照し、ファンクションID、ファンクション名、入力データ型、出力データ型を含むファンクション情報を取得し、ユーザ端末20に送信する。ファンクション情報には、ファンクションごとにファンクションの説明等の情報が含まれていても良い。
サーバ10の作成部1042は、取得したファンクション情報のうち、ファンクション情報の入力データ型が、モデルIDごとの出力制約の出力データ型を含むもの、入力データ型が、モデルIDごとの出力制約の出力データ型を含むファンクション情報を特定する。つまり、サーバ10の作成部1042は、ステップS102において受け付けたモデルIDにより特定されるモデル情報に対して、入力データを出力可能、または、出力データを入力可能なファンクション情報を特定する。
【0055】
サーバ10の作成部1042は、画面マスタ1023を参照し、画面ID、画面名を含む画面情報を取得し、ユーザ端末20に送信する。画面情報には、画面ごとに画面の説明等の情報が含まれていても良い。
【0056】
サーバ10の作成部1042は、特定したファンクション情報を、ユーザ端末20に送信する。ユーザ端末20のディスプレイ2081は、サーバ10から受信したファンクションID、ファンクション名をユーザに対し提示する。
【0057】
図11は、ユーザ端末20のディスプレイ2081に表示される画面例である。画面70は、モデル情報を示すオブジェクト704、705、707、入力画面を示すオブジェクト708、通知画面を示すオブジェクト709、ファンクション情報を示すオブジェクト731~733、画面情報を示すオブジェクト751、752、「次へ」ボタン761を含む。モデル情報を示すオブジェクト704、705、707は、仮ワークフローを構成するモデル情報である。
【0058】
ステップS105において、サーバ10の作成部1042は、ユーザにより選択された複数のファンクションを受け付ける関数受付ステップを実行する。関数受付ステップは、提示ステップにおいて提示されたユーザが選択可能な複数のファンクションから、ユーザにより選択された複数のファンクションを受け付けるステップを実行する。
具体的に、ユーザは、ユーザ端末20の入力装置206などを操作することにより、オブジェクト731~733を選択することにより、オブジェクトに対応するファンクション情報を選択することができる。ユーザは、作成したいワークフローに応じて所望のファンクション情報を選択する。
【0059】
ステップS105において、生成ステップは、関数受付ステップにおいて受け付けた複数のファンクションを組み合わせることによりワークフローを生成するステップを実行する。
ユーザは、ユーザ端末20の入力装置206などを操作することにより、ファンクション情報のオブジェクト731の出力ノード7311、入力ノード7312を、それぞれ、仮ワークフローを構成するモデル情報のオブジェクト707の入力ノード7211、出力ノード7212にドラッグアンドドロップなどすることにより、モデル情報のオブジェクト707に対応する学習モデルの入力データ、出力データに、それぞれ、ファンクション情報のオブジェクト731の出力データ、入力データを接続することができる。なお、入力データのデータ型に、出力データのデータ型が含まれない場合には、操作しても接続できないように構成しても良い。
また、ファンクション情報のオブジェクト731は必ず出力ノード7311、入力ノード7312を有する必要はなく、出力ノード7311のみ、入力ノード7312のみを有する構成としても良い。
【0060】
このように、本開示において、ユーザは、ファンクション情報のオブジェクト731~733の入力データ、出力データを、モデル情報のオブジェクト704、705、707の入力データ、出力データに接続することにより、ファンクション情報のオブジェクト735~737を含む一連の情報処理を実行するためのワークフローとよばれる情報処理プロセスを作成することができる。
【0061】
なお、本開示においてはファンクション情報をモデル情報に接続する事例を説明したが、ファンクション情報をファンクション情報に接続しても良いし、モデル情報をモデル情報に接続しても良い。
モデル情報の出力データを、モデル情報またはファンクション情報に出力する構成としても良い。同様に、ファンクション情報の出力データを、ファンクション情報またはモデル情報に出力する構成としても良い。
【0062】
サーバ10の作成部1042は、ユーザID2011、選択されたファンクション情報、ファンクション情報とモデル情報との接続に関する情報を、それぞれ、ワークフローテーブル1013のユーザID、ワークフローデータの項目に記憶する。
【0063】
ステップS105において、生成ステップは、複数の学習モデルに含まれる第1学習モデルの出力データが、複数のファンクションに含まれる第1ファンクションの入力データとなるような組み合わせを含む情報処理プロセスを生成可能なステップであり、第1学習モデルの出力データ型は、第1ファンクションの入力データ型に含まれる。
【0064】
具体的に、受信したモデルIDとして第1モデルID、選択したファンクションIDとして第1ファンクションIDを含む場合を想定する。サーバ10の作成部1042は、第1モデルIDに基づきモデルマスタ1021のモデルIDの項目を検索し、第1モデルの第1入力データ型、第1出力データ型を取得する。サーバ10の作成部1042は、第1ファンクションIDに基づき、ファンクションマスタ1022のファンクションIDの項目を検索し、第1ファンクションの第3入力データ型、第3出力データ型を取得する。
【0065】
サーバ10の作成部1042は、第1出力データ型と、第3入力データ型とを比較し、第1出力データ型が第3入力データ型に含まれる場合には、第1モデルの出力データが、第1ファンクションの入力データとなるように第1モデルと第1ファンクションとを関連付け仮ワークフローとして記憶する。
例えば、第1出力データ型が画像データであり、第3入力データ型が画像データである場合がある。
【0066】
ステップS106において、サーバ10の作成部1042は、ユーザにより選択された複数の画面を受け付ける画面受付ステップを実行する。
具体的に、ユーザは、ユーザ端末20の入力装置206などを操作することにより、オブジェクト751、752を選択することにより、オブジェクトに対応する画面情報を選択することができる。ユーザは、作成したワークフローに応じて所望の画面情報を選択する。
【0067】
ステップS106において、生成ステップは、複数の画面に含まれる第1画面の出力データが、それぞれ、複数の学習モデルに含まれる第1学習モデルの入力データとなるような組み合わせを含む情報処理プロセスを生成するステップと、第1学習モデルの入力データ型および入力ロールを含む入力データ制約に基づき、第1入力画面に含まれる入力欄および、入力欄のデータ型およびロールを含むデータ制約を特定するステップと、を含む。
これにより、ユーザは、複数の学習モデルに、入力画面を組み合わせる際に、学習モデルの出力データ型、出力ロールに従って入力画面の入力欄が設定されるため、ユーザが複雑な操作を行うことなしに、容易かつ柔軟に入力画面を作成することができる。
ユーザは、ユーザ端末20の入力装置206などを操作することにより、画面情報のオブジェクト751の出力ノード7511、入力ノード7512を、それぞれ、仮ワークフローを構成するモデル情報のオブジェクト707の入力ノード7211、出力ノード7212にドラッグアンドドロップなどすることにより、モデル情報のオブジェクト707に対応する学習モデルの入力データ、出力データに、それぞれ、画面情報のオブジェクト751の 出力データ、入力データを接続することができる。
なお、画面情報が入力画面の場合には、オブジェクト751は、出力ノード7511のみを有し、入力ノード7512を有しない。画面情報が通知画面の場合には、オブジェクト751は、入力ノード7512のみを有し、出力ノード7511を有しない。
【0068】
このように、本開示において、ユーザは、画面情報のオブジェクト751の出力データを、モデル情報のオブジェクト704、705、707の入力データ、出力データに接続することにより、一連の情報処理を実行するためのワークフローとよばれる情報処理プロセスを作成することができる。
【0069】
このように、本開示において、ユーザは、画面情報のオブジェクト751、752の入力データ、出力データを、モデル情報のオブジェクト704、705、707の入力データ、出力データに接続したり、画面情報のオブジェクト751、752の入力データ、出力データを、ファンクション情報のオブジェクト731~733の入力データ、出力データに接続することにより、一連の情報処理を実行するためのワークフローとよばれる情報処理プロセスを作成することができる。
【0070】
なお、本開示においては画面情報をモデル情報に接続する事例を説明したが、画面情報を画面情報に接続しても良いし、画面情報をファンクション情報に接続しても良い。
つまり、画面情報の出力データを、モデル情報、ファンクション情報または画面情報に出力する構成としても良い。同様に、モデル情報、ファンクション情報または画面情報の出力データを、画面情報に出力する構成としても良い。
【0071】
サーバ10の作成部1042は、ユーザID2011、選択された画面情報、画面情報、ファンクション情報、モデル情報との接続に関する情報を、それぞれ、ワークフローテーブル1013のユーザID、ワークフローデータの項目に記憶する。
【0072】
本開示においては、ステップS105のファンクション情報の選択後に、ステップS106において画面情報を選択する構成としたが、画面情報の選択後にファンクション情報を選択する構成としても構わないし、画面70において、ユーザがファンクション情報、画面情報を自由に選択可能な構成としても構わない。
つまり、ユーザは、ファンクション情報のオブジェクト731~733、画面情報のオブジェクト751、752をモデル情報のオブジェクト704、705、707に自由に組み合わせてワークフローを作成することができるものとしても良い。
【0073】
図12は、ワークフロー作成処理における入力画面設定を示す画面例である。画面70には、ユーザによる入力欄に対応する入力欄771、772、773が含まれる。ユーザ端末20のディスプレイ2081は、入力画面の出力データに接続された、モデル情報、ファンクション情報の入力データの入力データ制約または入力データ型に基づき、入力欄771、772、773が設定される。つまり、入力欄771、772、773は、それぞれの入力欄に入力データが出力先となるモデル情報、ファンクション情報の入力データ制約に含まれる入力データ型、入力ロールなどに基づく入力欄となり、ユーザは、入力データ型以外のデータを入力することができなくなる。つまり、入力欄771、772、773の入力制約、入力規則が自動的に設定される。
【0074】
図13は、ワークフロー作成処理における通知画面設定を示す画面例である。画面70には、ユーザによる通知設定欄781、782が含まれる。ユーザは、ユーザ端末20の入力装置206などを操作することにより、通知設定欄781、782を設定することにより、通知対象となる入力データ、通知手段を設定することができる。具体的に、ユーザは、ユーザ端末20の入力装置206などを操作することにより、通知画面に入力されるモデル情報、ファンクション情報の複数の出力データのうち、通知対象となる1または複数の出力データを通知内容として選択することができる。ユーザは、ユーザ端末20の入力装置206などを操作することにより、通知手段としてメール、Slackなどのチャットツール、SMSなどを選択することができる。
【0075】
ステップS107において、生成ステップは、モデル受付ステップにおいて受け付けた複数の学習モデル、および、画面受付ステップにおいて受け付けた複数の画面を組み合わせることにより情報処理プロセスを生成するステップを実行する。
具体的に、サーバ10の作成部1042は、ステップS102、ステップS105、ステップS106において受け付けた、モデル情報、ファンクション情報、画面情報に基づき、それぞれの、入力データを出力データに接続した一連の情報処理プロセスであるワークフローの作成を完成させる。
具体的に、サーバ10の作成部1042は、ワークフローテーブル1013のワークフローデータの一連の処理の最終出力データに対し、ワークフローの処理を示す終了情報または通知画面を接続させることによりワークフローテーブルの作成を完成させる。完成させたワークフローデータにより、ワークフローテーブル1013のワークフローデータの項目を更新し、記憶する。これにより、完成したワークフローに関する情報が、ワークフローテーブル1013のワークフローデータの項目に記憶される。
【0076】
ユーザは、ワークフローテーブル1013のワークフローデータの項目に記憶されたワークフロー情報の入力画面から、入力データを入力することにより、ワークフローの出力データとして所望の出力データを得ることができる。
本開示においては、ワークフロー、ワークフローを構成する学習モデル、ファンクション、入力画面は、サーバ10の記憶部101に記憶されるため、ワークフローに入力された入力データは、その後、サーバ10とユーザ端末20等との不必要な通信を行うことなしに、ワークフローに含まれる一連の情報処理プロセスが実行され、ユーザは所望の出力データを得ることができる。
【0077】
<変形例>
ユーザは、ユーザ端末20のディスプレイ2081に提示された画面70において、ユーザ端末20の入力装置206などを操作することにより、他の学習モデル、ファンクション、入力画面等の他、ユーザが他の情報処理端末等において作成した任意の学習モデル、ファンクション、入力画面等を読み込ませることにより、作成したワークフローに組み合わせて新たなワークフローを作成することができる。
また、ユーザは、ユーザ端末20の入力装置206などを操作することにより、モデル情報を示すオブジェクト704、705、707等を選択することにより、選択したモデル情報を、ユーザが読み込ませた、他の情報処理端末等において作成した任意の学習モデル、ファンクション、入力画面等により置き換えることができる。
これにより、作成したワークフローに含まれる一部の学習モデル等を、ユーザが自身で作成した学習モデルに置き換えることができる。ユーザは、専門的なエンジニアリングスキルなしに既に作成したワークフローの一部を置き換えて新たなワークフローを作成することができる。
【0078】
<コンピュータの基本ハードウェア構成>
図14は、コンピュータ90の基本的なハードウェア構成を示すブロック図である。コンピュータ90は、プロセッサ901、主記憶装置902、補助記憶装置903、通信IF991(インタフェース、Interface)を少なくとも備える。これらは通信バス921により相互に電気的に接続される。
【0079】
プロセッサ901とは、プログラムに記述された命令セットを実行するためのハードウェアである。プロセッサ901は、演算装置、レジスタ、周辺回路等から構成される。
【0080】
主記憶装置902とは、プログラム、及びプログラム等で処理されるデータ等を一時的に記憶するためのものである。例えば、DRAM(Dynamic Random Access Memory)等の揮発性のメモリである。
【0081】
補助記憶装置903とは、データ及びプログラムを保存するための記憶装置である。例えば、フラッシュメモリ、HDD(Hard Disc Drive)、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリ等である。
【0082】
通信IF991とは、有線又は無線の通信規格を用いて、他のコンピュータとネットワークを介して通信するための信号を入出力するためのインタフェースである。
ネットワークは、インターネット、LAN、無線基地局等によって構築される各種移動通信システム等で構成される。例えば、ネットワークには、3G、4G、5G移動通信システム、LTE(Long Term Evolution)、所定のアクセスポイントによってインターネットに接続可能な無線ネットワーク(例えばWi-Fi(登録商標))等が含まれる。無線で接続する場合、通信プロトコルとして例えば、Z-Wave(登録商標)、ZigBee(登録商標)、Bluetooth(登録商標)等が含まれる。有線で接続する場合は、ネットワークには、USB(Universal Serial Bus)ケーブル等により直接接続するものも含む。
【0083】
なお、各ハードウェア構成の全部または一部を複数のコンピュータ90に分散して設け、ネットワークを介して相互に接続することによりコンピュータ90を仮想的に実現することができる。このように、コンピュータ90は、単一の筐体、ケースに収納されたコンピュータ90だけでなく、仮想化されたコンピュータシステムも含む概念である。
【0084】
<コンピュータ90の基本機能構成>
コンピュータ90の基本ハードウェア構成(図14)により実現されるコンピュータの機能構成を説明する。コンピュータは、制御部、記憶部、通信部の機能ユニットを少なくとも備える。
【0085】
なお、コンピュータ90が備える機能ユニットは、それぞれの機能ユニットの全部または一部を、ネットワークで相互に接続された複数のコンピュータ90に分散して設けても実現することができる。コンピュータ90は、単一のコンピュータ90だけでなく、仮想化されたコンピュータシステムも含む概念である。
【0086】
制御部は、プロセッサ901が補助記憶装置903に記憶された各種プログラムを読み出して主記憶装置902に展開し、当該プログラムに従って処理を実行することにより実現される。制御部は、プログラムの種類に応じて様々な情報処理を行う機能ユニットを実現することができる。これにより、コンピュータは情報処理を行う情報処理装置として実現される。
【0087】
記憶部は、主記憶装置902、補助記憶装置903により実現される。記憶部は、データ、各種プログラム、各種データベースを記憶する。また、プロセッサ901は、プログラムに従って記憶部に対応する記憶領域を主記憶装置902または補助記憶装置903に確保することができる。また、制御部は、各種プログラムに従ってプロセッサ901に、記憶部に記憶されたデータの追加、更新、削除処理を実行させることができる。
【0088】
データベースは、リレーショナルデータベースを指し、行と列によって構造的に規定された表形式のテーブル、マスタと呼ばれるデータ集合を、互いに関連づけて管理するためのものである。データベースでは、表をテーブル、マスタ、表の列をカラム、表の行をレコードと呼ぶ。リレーショナルデータベースでは、テーブル、マスタ同士の関係を設定し、関連づけることができる。
通常、各テーブル、各マスタにはレコードを一意に特定するための主キーとなるカラムが設定されるが、カラムへの主キーの設定は必須ではない。制御部は、各種プログラムに従ってプロセッサ901に、記憶部に記憶された特定のテーブル、マスタにレコードを追加、削除、更新を実行させることができる。
【0089】
なお、本開示におけるデータベース、マスタは、情報が構造的に規定された任意のデータ構造体(リスト、辞書、連想配列、オブジェクトなど)を含み得る。データ構造体には、データと、任意のプログラミング言語により記述された関数、クラス、メソッドなどを組み合わせることにより、データ構造体と見なし得るデータも含むものとする。
【0090】
通信部は、通信IF991により実現される。通信部は、ネットワークを介して他のコンピュータ90と通信を行う機能を実現する。通信部は、他のコンピュータ90から送信された情報を受信し、制御部へ入力することができる。制御部は、各種プログラムに従ってプロセッサ901に、受信した情報に対する情報処理を実行させることができる。また、通信部は、制御部から出力された情報を他のコンピュータ90へ送信することができる。
【0091】
<付記>
以上の各実施形態で説明した事項を以下に付記する。
【0092】
(付記1)
プロセッサと、記憶部とを備えるコンピュータに実行させるためのプログラムであって、プログラムは、プロセッサに、ユーザにより選択された複数の学習モデルを受け付けるモデル受付ステップ(S102)と、モデル受付ステップにおいて受け付けた複数の学習モデルを組み合わせることにより情報処理プロセスを生成する生成ステップ(S103,S107)と、を実行させるプログラム。
これにより、ユーザは、複数の学習モデルを組み合わせることにより柔軟かつ容易にワークフローを作成することができる。
【0093】
(付記2)
生成ステップ(S103,S107)は、複数の学習モデルに含まれる第1学習モデルの出力データが、複数の学習モデルに含まれる第2学習モデルの入力データとなるような組み合わせを含む情報処理プロセスを生成可能なステップであり、第1学習モデルの出力データ型および出力ロールを含む出力データ制約は、第2学習モデルの入力データ型および入力ロールを含む入力データ制約に含まれる、付記1記載のプログラム。
これにより、ユーザは、複数の学習モデルを組み合わせることにより柔軟かつ容易にワークフローを作成することができる。
【0094】
(付記3)
生成ステップ(S103,S107)は、複数の学習モデルに含まれる第1学習モデルの出力データが、複数の学習モデルに含まれる第3学習モデルの入力データとなるような組み合わせを含む情報処理プロセスを生成可能なステップであり、第1学習モデルは、第1学習モデルが出力する出力データの出力データ制約が、第2学習モデルまたは第3学習モデルの入力データ制約に含まれるように、出力データを第2学習モデルまたは第3学習モデルのいずれかに対して選択的に出力する、付記2記載のプログラム。
これにより、ユーザは、複数の学習モデルに、入力画面、通知画面などの複数の画面を組み合わせることにより柔軟かつ容易にワークフローを作成することができる。
【0095】
(付記4)
第1学習モデルは、第1学習モデルが出力する出力データの出力データ制約が、第2学習モデルの入力データ制約に含まれる場合には、出力データを第2学習モデルへ出力し、第1学習モデルが出力する出力データの出力データ制約が、第2学習モデルの入力データ制約に含まれない場合には、出力データを第2学習モデルへ出力せず、第1学習モデルが出力する出力データの出力データ制約が、第3学習モデルの入力データ制約に含まれる場合には、出力データを第3学習モデルへ出力し、第1学習モデルが出力する出力データの出力データ制約が、第3学習モデルの入力データ制約に含まれない場合には、出力データを第3学習モデルへ出力しない、付記3記載のプログラム。
これにより、ユーザは、複数の学習モデルに、入力画面を組み合わせる際に、学習モデルの出力データ型、出力ロールに従って入力画面の入力欄が設定されるため、ユーザが複雑な操作を行うことなしに、容易かつ柔軟に入力画面を作成することができる。
【0096】
(付記5)
ユーザにより選択された複数の画面を受け付ける画面受付ステップ(S106)と、を実行させ、生成ステップ(S107)は、モデル受付ステップにおいて受け付けた複数の学習モデル、および、画面受付ステップにおいて受け付けた複数の画面を組み合わせることにより情報処理プロセスを生成するステップである、付記1から4のいずれか記載のプログラム。
これにより、ユーザは、複数の学習モデルに、複数のファンクションを組み合わせることにより柔軟かつ容易にワークフローを作成することができる。
【0097】
(付記7)
ユーザにより選択された複数のファンクションを受け付ける関数受付ステップ(S105)と、生成ステップ(S105)は、関数受付ステップにおいて受け付けた複数のファンクションを組み合わせることによりワークフローを生成するステップである、付記1から6のいずれか記載のプログラム。
これにより、ユーザは受付ステップにおいて受け付けた学習モデルに組み合わせ可能な複数のファンクションの提示を受け、当該提示されたファンクションから所望のファンクションを選択することにより、柔軟かつ容易にワークフローを作成することができる。
【0098】
(付記8)
生成ステップ(S105)は、複数の学習モデルに含まれる第1学習モデルの出力データが、複数のファンクションに含まれる第1ファンクションの入力データとなるような組み合わせを含む情報処理プロセスを生成可能なステップであり、第1学習モデルの出力データ型は、第1ファンクションの入力データ型に含まれる、付記7記載のプログラム。
これにより、ユーザは、複数の学習モデルを組み合わせることにより柔軟かつ容易にワークフローを作成することができる。
【0099】
(付記9)
モデル受付ステップにおいて受け付けた複数の学習モデルの入力データ型および入力ロールを含む入力データ制約、または、出力データ型および出力ロールを含む出力データ制約に基づき、ユーザが選択可能な複数のファンクションをユーザに対して提示する提示ステップ(S104)と、を実行させ、関数受付ステップ(S105)は、提示ステップにおいて提示されたユーザが選択可能な複数のファンクションから、ユーザにより選択された複数のファンクションを受け付けるステップである、付記7または8記載のプログラム。
これにより、ユーザは、複数の学習モデルを組み合わせることにより柔軟かつ容易にワークフローを作成することができる。
【0100】
(付記10)
プロセッサと、記憶部とを備える情報処理装置であって、プロセッサに、付記1から9のいずれか記載のプログラムを実行させる、情報処理装置。
これにより、ユーザは、複数の学習モデルを組み合わせることにより柔軟かつ容易にワークフローを作成することができる。
【符号の説明】
【0101】
1 情報処理システム、10 サーバ、101 記憶部、104 制御部、106 入力装置、108 出力装置、20 ユーザ端末、201 記憶部、204 制御部、206 入力装置、208 出力装置

図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14