(57)【要約】【課題】複数の処理部を制御するための全体の処理を制御する制御部を設けることなく、特定の処理部以外の処理部からの発行を抑制することができる情報処理装置及びプログラムを提供する。【解決手段】情報処理装置は、処理の内容を指示する処理指示情報を受け付ける受付部と、処理ごとに設けられ、一連の処理を実行する複数の処理部と、受付部が処理指示情報を受け付けたとき、処理指示情報に基づいて一連の処理の順序を指示する処理順序情報を含む処理指令情報を生成する生成手段と、生成された処理指令情報を複数の処理部に通知する通知手段と、複数の処理部に処理指令情報に基づいて自律的に一連の処理を実行させるよう制御する実行制御手段と、を備える。【選択図】図１
2019174915.tif 000002
【特許請求の範囲】
【請求項１】
処理の内容を指示する処理指示情報を受け付ける受付部と、
処理ごとに設けられ、一連の処理を実行する複数の処理部と、
前記受付部が前記処理指示情報を受け付けたとき、前記処理指示情報に基づいて前記一連の処理の順序を指示する処理順序情報を含む処理指令情報を生成する生成手段と、
生成された前記処理指令情報を前記複数の処理部に通知する通知手段と、
前記複数の処理部に前記処理指令情報に基づいて自律的に前記一連の処理を実行させるよう制御する実行制御手段と、
を備える、情報処理装置。
【請求項２】
前記処理指令情報に基づいて、前記一連の処理のうち最後の処理を実行する処理部を特定する特定手段と、
特定された前記最後の処理を実行する処理部から処理の結果を示す処理結果情報を出力する出力手段と、
をさらに備える、請求項１に記載の情報処理装置。
【請求項３】
特定された前記最後の処理を実行する処理部から他の処理部に対して特定のデータを要求する要求手段と、
前記要求に応じてデータを送信する送信手段と、
送信された前記データを取得する取得手段と、
をさらに備える、請求項２に記載の情報処理装置。
【請求項４】
前記処理部から処理の結果を示す処理結果情報を出力する出力手段をさらに備え、
前記生成手段は、前記受付部が前記処理指示情報を受け付けない場合に、予め定められた順序で処理を指示する前記処理指令情報を生成し、
前記出力手段は、前記複数の処理部からそれぞれ前記処理結果情報を出力する、
請求項１に記載の情報処理装置。
【請求項５】
前記処理指令情報に基づいて、前記一連の処理のうち最後の処理を実行する処理部を特定する特定手段をさらに備える、
請求項４に記載の情報処理装置。
【請求項６】
処理の内容を指示する処理指示情報を受け付ける受付部と、処理ごとに設けられ、一連の処理を実行する複数の処理部とを備えるコンピュータを、
前記受付部が前記処理指示情報を受け付けたとき、前記処理指示情報に基づいて前記一連の処理の順序を指示する処理順序情報を含む処理指令情報を生成する生成手段と、
生成された前記処理指令情報を前記複数の処理部に通知する通知手段と、
前記複数の処理部に前記処理指令情報に基づいて自律的に前記一連の処理を実行させるよう制御する実行制御手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
近年、複数の処理を特定の処理順序で実行させるイベント駆動型のシステムが提案されている（例えば、特許文献１参照。）。
【０００３】
特許文献１に記載されたイベント駆動型のシステムは、発生したイベントに対応して実行される複数の処理部で構成され、前記処理部の実行終了時、もしくは、実行時において、イベントを発生させるステップと、前記イベントの発生を監視するステップと、前記イベントの発生に応動して、他の処理部を実行させるステップとを有することを特徴とする。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−９４１６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の課題は、複数の処理部を制御するための全体の処理を制御する制御部を設けることなく、特定の処理部以外の処理部からの発行を抑制することができる情報処理装置及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
［１］処理の内容を指示する処理指示情報を受け付ける受付部と、処理ごとに設けられ、一連の処理を実行する複数の処理部と、前記受付部が前記処理指示情報を受け付けたとき、前記処理指示情報に基づいて前記一連の処理の順序を指示する処理順序情報を含む処理指令情報を生成する生成手段と、生成された前記処理指令情報を前記複数の処理部に通知する通知手段と、前記複数の処理部に前記処理指令情報に基づいて自律的に前記一連の処理を実行させるよう制御する実行制御手段と、を備える、情報処理装置。
［２］前記処理指令情報に基づいて、前記一連の処理のうち最後の処理を実行する処理部を特定する特定手段と、特定された前記最後の処理を実行する処理部から処理の結果を示す処理結果情報を出力する出力手段と、をさらに備える、前記［１］に記載の情報処理装置。
［３］特定された前記最後の処理を実行する処理部から他の処理部に対して特定のデータを要求する要求手段と、前記要求に応じてデータを送信する送信手段と、送信された前記データを取得する取得手段と、をさらに備える、前記［２］に記載の情報処理装置。
［４］前記処理部から処理の結果を示す処理結果情報を出力する出力手段をさらに備え、前記生成手段は、前記受付部が前記処理指示情報を受け付けない場合に、予め定められた順序で処理を指示する前記処理指令情報を生成し、前記出力手段は、前記複数の処理部からそれぞれ前記処理結果情報を出力する、前記［１］に記載の情報処理装置。
［５］前記処理指令情報に基づいて、前記一連の処理のうち最後の処理を実行する処理部を特定する特定手段をさらに備える、前記［４］に記載の情報処理装置。
［６］処理の内容を指示する処理指示情報を受け付ける受付部と、処理ごとに設けられ、一連の処理を実行する複数の処理部とを備えるコンピュータを、前記受付部が前記処理指示情報を受け付けたとき、前記処理指示情報に基づいて前記複一連の処理の順序を指示する処理順序情報を含む処理指令情報を生成する生成手段と、生成された前記処理指令情報を前記複数の処理部に通知する通知手段と、前記複数の処理部に前記処理指令情報に基づいて自律的に前記一連の処理を実行させるよう制御する実行制御手段として機能させるためのプログラム。
【発明の効果】
【０００７】
請求項１、６に係る発明によれば、複数の処理部を制御するための全体の処理を制御する制御部を設けることなく、特定の処理部以外の処理部からの発行を抑制することができる。
請求項２に係る発明によれば、ユーザに対して処理が完了した結果を出力することができる。
請求項３に係る発明によれば、最後の処理を実行する処理部にデータを集約して処理を実行することができる。
請求項４、５に係る発明によれば、処理順序情報がない場合であっても処理を実行することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、本発明の第１の実施の形態に係る情報処理システムの構成の概略を示す図である。
【図２】図２は、図１に示す情報処理システムの制御系の一例を示すブロック図である。
【図３】図３は、処理順序情報テーブルの一例を示す図である。
【図４】図４は、処理指令情報の一例を示す図である。
【図５】図５は、図１に示す情報処理システムの動作の一例を示すフローチャートである。
【図６】図６は、本発明の第２の実施の形態に係る情報処理システムの構成の概略を示す図である。
【図７】図７は、図６に示す情報処理システムの制御系の一例を示すブロック図である。
【図８】図８は、図６に示す情報処理システムの動作の一例を示すフローチャートである。
【図９】図９は、処理指令情報の変形例を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施の形態について図面を参照して説明する。なお、各図中、実質的に同一の機能を有する構成要素については、同一の符号を付してその重複した説明を省略する。
【００１０】
［実施の形態の要約］
本発明の実施の形態に係る情報処理装置は、処理の内容を指示する処理指示情報を受け付ける受付部と、処理ごとに設けられ、一連の処理を実行する複数の処理部と、受付部が処理指示情報を受け付けたとき、処理指示情報に基づいて、一連の処理の順序を指示する処理順序情報を含む処理指令情報を生成する生成手段と、生成された処理指令情報を複数の処理部に通知する通知手段と、複数の処理部に処理指令情報に基づいて自律的に一連の処理を実行させるよう制御する実行制御手段とを備える。
【００１１】
「処理指示情報」とは、複数の処理部によって行われる一連の処理の内容を指示す情報をいう。処理指示情報には、一連の処理の開始の合図となる言語情報や、処理の内容を具体的に示す処理内容情報が含まれる。ここで、「一連の処理」とは、各処理部によって行われる個々の処理を複数組み合わせて構成される一つの連続的な処理をいう。処理指示情報は、例えば、音声、ジェスチャー、画像、テキスト等によって情報処理装置に入力される。
【００１２】
「処理」は、対象物に対してデータ形式の変換（例えば、音声からテキスト）等を施す場合と、対象物が意味する内容を理解し、理解した内容に応じた動作等を行う場合とを含む。「処理順序情報」とは、上記の複数の処理を含む一連の処理において、処理の実行の順序を示す情報をいう。「処理指令情報」とは、この処理順序情報を含んで構成された、複数の処理部に対して処理の実行を指令する情報をいう。
【００１３】
［第１の実施の形態］
図１は、本発明の第１の実施の形態に係る情報処理システムの構成の概略を示す図である。以下では、一連の処理の一例として、ユーザによって発話された音声情報（「音声データ」ともいう。）に応じて表示部２４に表示された画面の切り替えを行う処理を例に挙げて説明する。なお、図１に示した矢印は、データや信号の流れを示している。詳細は、後述する。
【００１４】
図１に示すように、この情報処理システム１００は、それぞれ第１の処理モジュール２Ａ、第２の処理モジュール２Ｂ、第３の処理モジュール２Ｃ、第４の処理モジュール２Ｄ、・・・（以下これらを総称するときは「処理モジュール２」ともいう。）と、これら処理モジュール２間を互いに接続する集積装置（ＨＵＢ）３とを含む情報処理装置１と、ユーザにより入力される処理の内容を指示する情報（以下、「処理指示情報」ともいう。）を検出する検出装置４と、この検出装置４と情報処理装置１と接続するネットワーク５を備える。なお、「処理モジュール」とは、自己が有する機能に応じた処理を実行するハードウェアやソフトウェアを構成する個々の部品をいう。また、情報処理装置１は、例えば、パーソナルコンピュータ、タブレッド端末が該当する。
【００１５】
第１の処理モジュール２Ａは、処理の内容を指示する処理指示情報を受け付ける。また、第１の処理モジュール２Ａは、処理指示情報に基づいて一連の処理の順序を示す情報（以下、「処理順序情報」ともいう。）を含む、処理の実行を指令する情報（以下、「処理指令情報」ともいう。）を生成し、第２〜第４の処理モジュール２Ｂ，２Ｃ，２Ｄに通知する。第１の処理モジュール２Ａは、受付部の一例である。第２の処理モジュール２Ｂは、例えば、音声−テキスト変換モジュールである。第３の処理モジュール２Ｃは、例えば、テキスト−コマンド変換モジュールである。第４の処理モジュール２Ｄは、例えば、画面切り替えモジュールである。
【００１６】
第２〜第４の処理モジュール２Ｂ，２Ｃ，２Ｄは、処理ごとに設けられ、処理指示情報に応じて一連の処理を実行する。また、複数の処理部は、それぞれ処理指令情報に含まれる処理順序情報に基づいて自律的に一連の処理を実行する。具体的には、制御部２０（例えば、実行制御手段（不図示））が複数の処理部に処理順序情報に基づいて自律的に処理を実行させるよう制御することにより、複数の処理部は、自律的に一連の処理を実行する。第２の処理モジュール２Ｂ、第３の処理モジュール２Ｃ及び第４の処理モジュール２Ｄは、複数の処理部の一例である。
【００１７】
検出装置４には、例えば、マイク、静止画像取得用のカメラ、動画像取得用のカメラ等が含まれる。以下では、検出装置４として、マイクを例に挙げて説明する。ネットワーク５は、例えば、有線通信及び無線通信等によりデータの送受信を行うＬＡＮ（ローカルエリアネットワーク）、インターネット等の通信網である。
【００１８】
（情報処理装置の構成）
次に、図２を参照して、情報処理装置１の構成について説明する。図２は、図１に示す情報処理システム１００の制御系の一例を示すブロック図である。図２に示すように、情報処理装置１は、各部を制御する制御部２０と、各種のデータを記憶する記憶部２２と、液晶ディスプレイ等で実現される表示部２４と、外部装置との間でネットワーク５を介して通信する通信部２６とを備える。ここで、外部装置には、例えば、上述したマイク等の検出装置４が含まれる。
【００１９】
制御部２０は、ＣＰＵ（Central Processing Unit）、インターフェース等から構成されている。ＣＰＵは、記憶部２２に記録されたプログラム２２０に従って動作することにより、受付手段２００、抽出手段２０１、第１の変換手段２０２、第２の変換手段２０３、切替手段２０４、生成手段２０５、通知手段２０６、出力手段２０７、要求手段２０８、送信手段２０９、取得手段２１０等として機能する。各手段２００〜２１０の詳細については後述する。
【００２０】
また、受付手段２００、抽出手段２０１、生成手段２０５、通知手段２０６及び出力手段２０７は、第１の処理モジュール２Ａを構成する（図２の点線枠参照）。すなわち、受付部としての第１の処理モジュール２Ａは、受付手段２００、抽出手段２０１、生成手段２０５、通知手段２０６及び出力手段２０７を備える。
【００２１】
第１の変換手段２０２、出力手段２０７及び送信手段２０９は、第２の処理モジュール２Ｂを構成する（図２の破線枠参照）。第２の変換手段２０３、出力手段２０７、要求手段２０８、送信手段２０９及び取得手段２１０は、第３の処理モジュール２Ｃを構成する（図２の二点鎖線枠参照）。切替手段２０４、出力手段２０７、要求手段２０８及び取得手段２１０は、第４の処理モジュール２Ｄを構成する（図２の一点鎖線枠参照）。換言すれば、複数の処理部としての第２〜第４の処理モジュール２Ｂ，２Ｃ，２Ｄは、一連の処理を実行する手段としての第１の変換手段２０２、第２の変換手段２０３及び切替手段２０４と、出力手段２０７と、要求手段２０８と、送信手段２０９と、取得手段２１０とを備える。
【００２２】
記憶部２２は、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、ハードディスク等から構成され、プログラム２２０、処理順序情報テーブル２２１（図３参照）、コマンド情報テーブル２２２等の各種データを記憶する。コマンド情報テーブル２２２には、テキスト情報（後述する）とコマンド（後述する）とが関連付けられて記録されている。
【００２３】
（処理順序情報テーブルの構成）
図３は、処理順序情報テーブル２２１の一例を示す図である。図３に示すように、処理順序情報テーブル２２１には、「処理の番号」欄と、「キーワード情報」欄と、「処理順序情報」欄とが設けられ、一連の処理と処理の順序を示す情報とが関連付けられて記録されている。
【００２４】
「処理の番号」欄には、一連の処理を識別するＩＤが登録されている。「キーワード情報」欄には、一連の処理の開始の合図となる予め定められた特定のキーワードが登録されている。「処理順序情報」欄には、処理順序情報として処理の順序を示す番号（連番の自然数）が登録されている。なお、一連の処理における最後の処理の実行する処理モジュールの欄には、最後の処理を実行するモジュールであることを識別可能な情報がさらに記録されていてもよい。例えば、「最後」との文字情報が記録されている。最後の処理は、特定の処理の一例である。
【００２５】
（制御部の構成）
次に制御部２０を構成する各手段２００〜２１０について説明する。受付手段２００は、情報処理装置１に送信される各種情報や信号を受け付ける。具体的には、受付手段２００は、ユーザによって検出装置４に入力される処理指示情報を受け付ける。より具体的には、、受付手段２００は、一連の処理の開始の合図となる言語情報や、処理の内容を具体的に示す処理内容情報を受け付ける。なお、これら各種情報や信号は、例えば、音声、ジェスチャー、画像、テキスト等によって情報処理装置１に入力される。以下では、各種情報や信号が音声で入力される場合を例に挙げて説明する。
【００２６】
抽出手段２０１は、受付手段２００が受け付けた音声情報を認識してそこに含まれる言語情報を抽出する。また、抽出手段２０１は、抽出した言語情報を処理順序情報テーブル２２１の「キーワード情報」欄に記録されたキーワードと照合し、受付手段２００が受け付けた音声情報に処理順序情報テーブル２２１に記録された特定のキーワードが含まれるか否かを判定する。
【００２７】
第１の変換手段２０２、第２の変換手段２０３及び切替手段２０４は、受付手段２００が受け付けた処理指示情報に応じて一連の処理を実行する。第１の変換手段２０２、第２の変換手段２０３及び切替手段２０４は、一連の処理を構成する各処理に対応して設けられている。以下、一例として、ユーザによって発話された音声情報に応じて画面の切り替えを行う処理を例に挙げて具体的に説明する。
【００２８】
第１の変換手段２０２は、受付手段２００が受け付けた情報をテキスト情報に変換する。具体的には、第１の変換手段２０２は、受付手段２００が受け付けた音声情報をテキスト情報に変換する。
【００２９】
第２の変換手段２０３は、第１の変換手段２０２により得られたテキスト情報を対応するコマンドに変換する。具体的には、第２の変換手段２０３は、記憶部２２に記憶されたコマンド情報テーブル２２２を参照して、第１の変換手段２０２により得られたテキスト情報に対応するコマンドを抽出して、テキスト情報をコマンドに変換する。
【００３０】
切替手段２０４は、表示部２４を制御して表示部２４に表示された画面の切り替えを行う。なお、画面の切り替えには、特定の画面が表示部２４に表示されているときに当該特定の画面と別の画面を表示する場合のみならず、画面の表示の有無（すなわち、画面のオン及びオフ）を切り替える場合も含まれる。
【００３１】
生成手段２０５は、受付手段２００が受け付けた処理指示情報に基づいて、一連の処理の順序、すなわち複数の処理部（すなわち、第２から第４の処理モジュール２Ｂ，２Ｃ，２Ｄ）の処理の順序を指示する処理順序情報を含む処理指令情報２３０（図４参照）を生成する。具体的には、生成手段２０５は、記憶部２２に記憶された処理順序情報テーブル２２１を参照して処理順序情報を構成して処理指令情報２３０を生成する。処理指令情報２３０の詳細については後述する。
【００３２】
通知手段２０６は、生成手段２０５により生成された処理指令情報２３０を複数の処理部（すなわち、通知手段２０６は、処理指令情報を第２の処理モジュール２Ｂ、第３の処理モジュール２Ｃ及び第４の処理モジュール２Ｄ）に通知する。また、通知手段２０６は、イベント（以下、「第１のイベント」ともいう。）を発行して、処理指令情報２３０及び第１のイベントを第２の処理モジュール２Ｂ、第３の処理モジュール２Ｃ及び第４の処理モジュール２Ｄに通知する。なお、生成手段２０５により処理指令情報２３０が生成されない場合、通知手段２０６は、第１のイベントのみを通知する。
【００３３】
出力手段２０７は、処理の結果を示す処理結果情報を出力する。処理結果情報とは、処理の結果に係る各種情報をいう。処理結果情報には、例えば、処理の結果を格納している格納先の情報（例えば、ＵＲＬ情報）、処理の完了の日時や時刻を示す処理完了日時情報や、当該処理モジュール２における処理の１つ前の段階の処理を実行した処理モジュール２の識別情報等が含まれる。また、処理結果情報には、一連の処理の全体を示す情報として処理指令情報２３０を含めてもよい。
【００３４】
要求手段２０８は、一つの処理モジュール２から他の処理モジュール２に対して特定のデータを要求する。特定のデータは、例えば、要求を受けた処理モジュール２で処理されることにより出力されるデータ等が該当する。送信手段２０９は、処理モジュール２での処理により得られたデータを、データを要求した処理モジュール２に送信する。取得手段２１０は、送信されたデータを取得する。
【００３５】
（処理指令情報の構成）
図４は、処理指令情報２３０の一例を示す図である。図４に示すように、処理指令情報２３０は、処理モジュール２を識別する処理モジュールＩＤ２３１と、処理モジュールの名称２３２を示す文字列とを含んでいる。また、これら処理モジュール２のＩＤ２３１及び名称２３２は、処理を実行する順序で列挙されている。すなわち、処理モジュール２のＩＤ２３１及び名称２３２のセットは、処理順序情報に応じた順序で構成されている。
【００３６】
（第１の実施の形態の動作）
次に、図５を参照して情報処理システム１００の動作の一例について説明する。図５は、図１に示す情報処理システム１００の動作の一例を示すフローチャートである。
【００３７】
〔受付部（第１の処理モジュール）の動作〕
検出装置４がユーザにより発話された第１の音声情報を検出すると、第１の処理モジュール２Ａに係る受付手段２００は、当該第１の音声情報を受け付ける（Ｓ１）。第１の音声情報は、例えば、“Display Control”等の一連の処理の開始の合図となる言語情報に対応する音声情報である。
【００３８】
次に、抽出手段２０１は、受付手段２００が受け付けた第１の音声情報に記憶部２２の処理順序情報テーブル２２１（図３）に登録された特定のキーワードが含まれるか否かを判定する（Ｓ２）。第１の音声情報に特定のキーワードが含まれる場合（Ｓ２：Ｙｅｓ）、検出装置４は、ユーザから発話される第２の音声情報をさらに検出する。受付手段２００は、当該第２の音声情報を受け付ける（Ｓ３）。第２の音声情報とは、例えば、「電源を入れて」のような、処理の内容を具体的に指示する処理内容情報に対応する音声情報である。
【００３９】
また、生成手段２０５は、図４に示すように、処理順序情報テーブル２２１を参照して、当該特定のキーワードに対応する処理順序情報を含む処理指令情報２３０を生成する（Ｓ４）。
【００４０】
次に、通知手段２０６は、第１のイベントを発行する。また、通知手段２０６は、ＨＵＢ３を介して、生成手段２０５が生成した処理指令情報２３０及び第１のイベントを、複数の処理部（すなわち、第２の処理モジュール２Ｂ、第３の処理モジュール２Ｃ及び第４の処理モジュール２Ｄ）に通知する（Ｓ５）（図１の矢印Ｐ参照）。
【００４１】
〔処理部（第２〜第４の処理モジュール）の動作〕
（１）処理指令情報２３０がある場合
各処理モジュール２に処理指令情報２３０を伴う第１のイベントが通知された場合（Ｓ６：Ｙｅｓ）、各処理モジュール２は、それぞれ処理指令情報に含まれる処理順序情報に基づいて自律的に処理を実行する。自律的な処理の具体例について以下説明する。
【００４２】
まず、第２の処理モジュール２Ｂが処理を実行し、この処理の結果としてのデータを第３の処理モジュール２Ｃに送信する（Ｓ７）。具体的には、第２の処理モジュール２Ｂに係る第１の変換手段２０２が、受付手段２００が受け付けた音声情報をテキスト情報に変換する。この変換の処理が完了すると、送信手段２０９は、テキスト情報を第３の処理モジュール２Ｃに係る第２の変換手段２０３に送信する（図１の矢印Ｑ参照）。
【００４３】
次に、第３の処理モジュール２Ｃが処理を実行し、この処理の結果としてのデータを第４の処理モジュール２Ｄに送信する（Ｓ８）（図１の矢印参照）。具体的には、第３の処理モジュール２Ｃに係る第２の変換手段２０３が、テキスト情報を対応するコマンドに変換する。この変換の処理が完了すると、送信手段２０９は、コマンドを第４の処理モジュール２Ｄに係る切替手段２０４に送信する（図１の矢印Ｒ参照）。
【００４４】
次に、第４の処理モジュール２Ｄが処理を実行し、処理結果情報としてのイベント（以下、「第２のイベント」ともいう。）を発行して出力する（Ｓ９）。具体的には、切替手段２０４は、第２の変換手段２０３により得られたコマンドに応じて、表示部２４を制御して表示部２４に表示された画面の切り替えを行う。一例として、このコマンドが、「電源を入れて」という処理内容情報に対応するコマンドである場合、切替手段２０４は、表示部２４を制御して表示部２４に予め定められた画面を表示する。切替手段２０４による表示の切り替え処理が完了すると、出力手段２０７は、第２のイベントを発行して出力する（図１の矢印Ｔ参照）。
【００４５】
以上のようにして、複数の処理部を制御するための全体の処理を制御する制御部を設けることなく、受付部（第１の処理モジュール２Ａ）及び最後の処理部（第４の処理モジュール２Ｄ）以外の処理部（第２の処理モジュール２Ｂ及び第３の処理モジュール２Ｃ）からのイベントの発行を抑制することができる。これにより、以下に述べる従来の方法よりもイベントが発行される回数が低減され、無駄な処理を省くことができる。
【００４６】
（２）処理指令情報２３０がない場合
各処理モジュール２に処理指令情報２３０を伴わない第１のイベントが通知された場合（Ｓ６：Ｎｏ）、処理モジュール２ごとに毎回、処理結果情報（イベント）を出力する従来の方法によって処理を実行する。従来の方法には、例えば、予め定められた順序（例えば、第２、第３、第４の処理モジュールの順）で一連の処理を実行する方法が含まれる。すなわち、第２の処理モジュール２Ｂが処理を実行し、処理結果情報として第３のイベントを発行する（Ｓ１０）。次に、第３の処理モジュール２Ｃが第３のイベントを受信して、第２の処理モジュール２Ｂにデータを要求する（Ｓ１１）。第３の処理モジュール２Ｃは、第２の処理モジュール２Ｂからデータを取得して処理を実行し、処理結果情報としての第４のイベントを発行する（Ｓ１２）。次に、第４の処理モジュール２Ｄが第４のイベントを受信して、第３の処理モジュール２Ｃにデータを要求する（Ｓ１３）。第４の処理モジュール２Ｄは、第３の処理モジュール２Ｃからデータを取得して処理を実行し、処理結果情報としての第５のイベントを発行する（Ｓ１４）。なお、説明の便宜上、各処理モジュール２が処理を実行すると記載したが、具体的には、データの要求は、要求手段２０８が実行し、データの送信は、送信手段２０９が実行し、データの取得は、取得手段２１０が実行する。
【００４７】
［第２の実施の形態］
本発明の第２の実施の形態について説明する。図６は、本発明の第２の実施の形態に係る情報処理システム１００の構成の概略を示す図である。図７は、図６に示す情報処理システム１００の制御系の一例を示すブロック図である。第２の実施の形態では、後述する特定手段２１１を備える点で第１の実施の形態と相違する。以下、第１の実施の形態と同一の機能を有する構成要素については、同一の符号を付してその重複した説明を省略する。
【００４８】
図６に示すように、第２の実施の形態に係る情報処理システム１００は、第１の実施の形態に係る情報処理システム１００と同様の構成を有する。但し、データや信号の流れが相違する。詳細は、後述する。
【００４９】
また、図７に示すように、制御部２０は、記憶部２２に記録されたプログラム２２０に従って動作することにより、第１の実施の形態で説明した各手段２００〜２１０に加えて、さらに特定手段２１１等として機能する。特定手段２１１は、一連の処理のうち最後の処理を実行する処理部としての処理モジュール２を特定する。なお、特定手段２１１は、第１〜第４の処理モジュール２Ａ，２Ｂ，２Ｃ，２Ｄのいずれの処理モジュール２が備えてもよい。
【００５０】
また、出力手段２０７は、第１の実施の形態で説明した機能に加えて、特定手段２１１により特定された最後の処理を実行する処理モジュール２から処理結果情報を出力する。
【００５１】
要求手段２０８は、第１の実施の形態で説明した機能に加えて、特定手段２１１により特定された最後の処理を実行する処理モジュールから他の処理モジュールに対して特定のデータを要求する。
【００５２】
（第２の実施の形態の動作）
次に、図８を参照して第２の実施の形態に係る情報処理システム１００の動作の一例について説明する。図８は、図６に示す情報処理システム１００の動作の一例を示すフローチャートである。なお、以下の動作説明では、特に記述がない限り、制御部２０の各手段が処理を実行するものとする。図８に示すように、ステップＳ２１〜ステップＳ２６は、それぞれ第１の実施の形態に係る情報処理システム１００の動作フローにおけるステップＳ１〜ステップＳ６（図５参照）と同様に動作する。各ステップの説明は、省略する。
【００５３】
（１）処理指令情報２３０がある場合
各処理モジュール２に処理指令情報２３０を伴う第１のイベントが通知された場合（Ｓ６：Ｙｅｓ）、各処理モジュール２は、それぞれ処理指令情報に含まれる処理順序情報に基づいて自律的に処理を実行する。以下、具体的に説明する。
【００５４】
特定手段２１１は、処理順序情報に基づいて、一連の処理における最後の処理を実行する処理モジュール２を特定する。本実施の形態では、特定手段２１１は、最後の処理を実行する処理モジュール２として第４の処理モジュール２Ｄを特定する（Ｓ２７）。
【００５５】
次に、特定手段２１１により特定された最後の処理を実行する第４の処理モジュール２Ｄは、一連の処理の最初の処理を実行する第２の処理モジュール２Ｂに対して、第２の処理モジュール２Ｂにおける処理の結果としての第１のデータを要求する（Ｓ２８）（図６の矢印Ｕ参照）。第２の処理モジュール２Ｂは、処理を実行し、得られる第１のデータを第４の処理モジュール２Ｄに送信する。第４の処理モジュール２Ｄは、第１のデータを取得する（図６の矢印Ｖ参照）。なお、第１のデータは、例えば、音声情報から変換されたテキスト情報である。
【００５６】
次に、第４の処理モジュール２Ｄは、一連の処理において第２の処理モジュール２Ｂによる処理の次の処理を実行する第３の処理モジュール２Ｃに対して、第３の処理モジュール２Ｃにおける処理の結果としての第２のデータを要求する（Ｓ２９）（図６の矢印Ｗ参照）。このとき、第４の処理モジュール２Ｄは、第２の処理モジュール２Ｂから取得した第１のデータを第３の処理モジュール２Ｃに送信する。第１のデータは、第３の処理モジュール２Ｃでの処理の対象となるからである。第３の処理モジュール２Ｃは、処理を実行し、得られる第２のデータを第４の処理モジュール２Ｄに送信する。第４の処理モジュール２Ｄは、第２のデータを取得する（図６の矢印Ｚ参照）。なお、第２のデータは、テキスト情報から変換されたコマンドである。
【００５７】
次に、第４の処理モジュール２Ｄは、第２のデータに基づいて処理を実行して（例えば、コマンドに基づいて、切替手段２０４によって表示部２４の画面の切り替えを行い）、処理結果情報としての第２のイベントを発行する（Ｓ３０）。
【００５８】
（２）処理指令情報２３０がない場合
ステップＳ３１〜ステップＳ３５は、第１の実施の形態に係る情報処理システム１００の動作フローにおけるステップＳ１０及びステップＳ１４（図５参照）と同様に動作する。各ステップの説明は、省略する。
【００５９】
以上のようにしても、従来の方法と比較してイベントの発行回数を低減できるため、無駄な処理を省くことができる。
【００６０】
＜変形例＞
図９は、処理指令情報２３０の変形例を示す図である。図９に示すように、処理指令情報２３０は、ユーザＩＤ２３３をさらに含んでいる。情報処理システム１００に音声によりユーザを識別する機能をさらに設け、ユーザに応じて処理の内容を変更するようにしてもよい。なお、ユーザを特定する機能は、音声に基づくものに限定されるものではなく、発話の表情等顔認識を用いて特定してもよい。
【００６１】
以上、本発明の実施の形態を説明したが、本発明の実施の形態は上記実施の形態に限定されるものではなく、本発明の要旨を変更しない範囲内で種々の変形、実施が可能である。例えば、上述の実施の形態では、４つの処理モジュール２を設けたが、処理モジュール２の数は４つに限定されるものではない。また、これら４つの処理モジュール２が１つの情報処理装置１に含まれるものとして記載したが、かかる構成に限定されるものではなく、例えば、１つ又は複数の処理モジュール２を含む情報処理装置１を複数設ける構成でもよい。
【００６２】
また、一連の処理として、音声情報に基づいて画面を切り替える処理を例に挙げて説明したが、一連の処理はこの処理に限定されるものではない。また、検出装置４に代えて、キーボード、マウス、タッチパネル等の入力装置を設けてもよい。
【００６３】
また、本発明の要旨を変更しない範囲内で、上記実施の形態の構成要素の一部を省くことや変更することが可能である。また、本発明の要旨を変更しない範囲内で、上記実施の形態のフローにおいて、ステップの追加、削除、変更、入替え等が可能である。また、上記実施の形態で用いたプログラムをＣＤ−ＲＯＭ等のコンピュータ読み取り可能な記録媒体に記録して提供することができる。また、上記実施の形態で用いたプログラムをクラウドサーバ等の外部サーバに格納しておき、ネットワークを介して利用することができる。
【符号の説明】
【００６４】
１００…情報処理システム、１…情報処理装置、２…処理モジュール、２Ａ…第１の処理モジュール、２Ｂ…第２の処理モジュール、２Ｃ…第３の処理モジュール、２Ｄ…第４の処理モジュール、４…検出装置、５…ネットワーク、２０…制御部、２２…記憶部、２４…表示部、２６…通信部、２００…受付手段、２０１…抽出手段、２０２…第１の変換手段、２０３…第２の変換手段、２０４…切替手段、２０５…生成手段、２０６…通知手段、２０７…出力手段、２０８…要求手段、２０９…送信手段、２１０…取得手段、２１１…特定手段、２２０…プログラム、２２１…処理順序情報テーブル、２２２…コマンド情報テーブル、２３０…処理指令情報、２３１…処理モジュールＩＤ、２３２…処理モジュールの名称、Ｐ，Ｑ，Ｒ，Ｔ，Ｕ，Ｖ，Ｗ，Ｚ…矢印
【図１】
2019174915.tif 000003
【図２】
2019174915.tif 000004
【図３】
2019174915.tif 000005
【図４】
2019174915.tif 000006
【図５】
2019174915.tif 000007
【図６】
2019174915.tif 000008
【図７】
2019174915.tif 000009
【図８】
2019174915.tif 000010
【図９】
2019174915.tif 000011