〔全体概略〕
以下、図面を用いて、本発明の一実施形態の全体の概略について説明する。本実施形態は、ジェスチャ操作及び音声操作を利用した命令要求システムを開示している。即ち、本実施形態は、ユーザのジェスチャ操作及び音声操作に基づいて生成された命令を命令要求装置から命令実行装置に送信して、ジェスチャ操作及び音声操作に対応した命令の実行を実現する発明を開示している。
〔実施形態の全体構成〕
図1は、本実施形態に係る命令処理システムの構成の一例を示す図である。図1に示すように、本実施形態の命令処理システムは、少なくとも1以上のスマートスピーカ2、情報認識サーバ装置3、AIアシスタントサーバ装置4及び少なくとも1以上のMFP(Multifunction Peripheral)6を、例えばLAN(Local Area Network)等のネットワーク7を介して相互に接続することで形成されている。
スマートスピーカ2は、内蔵されているマイクで音声を集音して音声データを得るリモート操作可能な周知のスマートスピーカ装置である。また、スマートスピーカ2は、音声入力によって、例えば、音楽及び動画などの各種コンテンツ、天気、ニュース等の視聴を可能にする人工知能を搭載した機器であり、例えば、対話型の音声操作に対応したAIアシスタント機能を備える。さらに、スマートスピーカ2は、照明及び家電等の各種機器をユーザ(使用者ともいう)の発話等に伴う音声によって遠隔操作する機能も備える。さらに、スマートスピーカ2は、ユーザによって保持される原稿等の画像、及びユーザの手足の動き、顔の表情、眼の瞬き等の所定の操作や表情等を撮影する内蔵カメラ、並びに、動画、静止画等を映すモニタを備える。なお、本実施形態では、ユーザによって保持される原稿等の画像を内蔵カメラに翳す操作、並びにユーザの手足の動き、顔の表情の変化及び眼の瞬き等による各種操作は、「ジェスチャ操作」の一例である。また、本実施形態では、上述した内蔵カメラが撮影する原稿は、被写体の一例である。
上述したように、スマートスピーカ2は、例えば、ユーザのジェスチャ操作及び音声操作を受け付ける。つまり、スマートスピーカ2は、ジェスチャ操作によって得られる画像データ(画像情報ともいう)及び音声操作によって得られる音声データ(音声情報ともいう)を取得するデータ取得装置の一例として機能する。なお、ジェスチャ操作によって得られる画像データは、静止画像及び動画像のうち、いずれか又はその両方が与えられてもよい。また、スマートスピーカ2は、命令処理システムにおいて2以上備えられていてもよく、受け付けたジェスチャ操作に基づく画像データ及び音声操作に基づく音声データを、ネットワーク7を介して情報認識サーバ装置3に送信する。さらに、スマートスピーカ2は、ユーザの手の動き等によるジェスチャ操作から得られる画像データ、及び音声操作から得られる音声データを補完するために、ユーザに対してフィードバックを行うためのマイク機能、カメラ機能を上述したマイク及び内蔵カメラで実現してもよい。
情報認識サーバ装置3は、スマートスピーカ2で得られた画像データ及び音声データを受信し、テキストデータに変換する機能を備える。
AIアシスタントサーバ装置4は、情報認識サーバ装置3と連携してスマートスピーカ2で得られた画像データ及び音声データを処理する機能を備える。例えば、AIアシスタントサーバ装置4は、情報認識サーバ装置3によって変換されたユーザの意図(指示)に基づいてMFP6が解釈可能な印刷命令等に変換する。その後、AIアシスタントサーバ装置4は、変換した印刷命令等を、ネットワーク7を介してMFP6に送信する。
また、AIアシスタントサーバ装置4は、HDD44等の記憶部に管理データベース401(以下、「管理DB401」という)及び紐づけ用データベース402(以下、「紐づけ用DB402」という)を備えている。管理DB401及び紐づけ用DB402は、例えば、クラウドサービス装置5がネットワーク7上に備えるHDD等の記憶部を用いることができる。このほか、管理DB401及び紐づけ用DB402のうち、少なくとも一方に対してネットワーク7を介してクラウドサービス装置5でアクセス可能な別のサーバ装置に記憶してもよい。
管理DB401には、例えば、AIアシスタントサーバ装置4が提供するコンテンツ(データ)としてのテキストデータ、音声データ、画像データ及び命令実行装置で使用される印刷対象又は表示対象としてのデータファイル等が記憶されている。管理DB401で管理される情報は、例えば、ネットワーク7を介して接続されるMFP6によって新規追加又は変更することができる。図1では、管理DB401とAIアシスタントサーバ装置4は別体として図示されているが、同一の機能を備えた記憶媒体として構成されてもよい。この場合、後述する管理プログラムは、管理DB401に対してMFP6に対する印刷命令を送信することによって、管理DB401が管理する各種情報を取得してもよい。さらに、管理DB401及び紐づけ用DB402は、ともにAIアシスタントサーバ装置4に含まれていてもよい。さらに、いずれか一方がAIアシスタントサーバ装置4に含まれ、他方がAIアシスタントサーバ装置4と別に設けられてもよい。なお、印刷命令は、所定の画像データに係る画像に対する第2の命令情報の一例である。
紐づけ用DB402には、例えば、各スマートスピーカ2を識別するための装置識別情報を示すデバイスID(以下、単に「デバイスID」ともいう)と、各スマートスピーカ2に関連付けられた命令実行装置としてのMFP6(MFP_#1、MFP_#2、等)の命令実行装置IDとが関連付けられて記憶されている。この紐づけ用DB402の詳細については、後述する。
また、本実施形態では、情報認識サーバ装置3及びAIアシスタントサーバ装置4の二つのサーバ装置を、ネットワーク7を介して一つに纏めたクラウドサービス装置5として説明する。但し、情報認識サーバ装置3、AIアシスタントサーバ装置4のそれぞれは、さらに複数のサーバ装置に分けて実現されてもよい。一方で、情報認識サーバ装置3の機能の一部又は全部をAIアシスタントサーバ装置4が有していてもよいし、AIアシスタントサーバ装置4の機能の一部又は全部を情報認識サーバ装置3が有していてもよい。つまり、情報認識サーバ装置3とAIアシスタントサーバ装置は、互いの機能を補完し合うように構成されていてもよい。また、クラウドサービス装置5は、一つのサーバによって構成されていてもよいし、3以上のサーバによって構成されていてもよい。なお、上述したクラウドサービス装置5を構成する情報認識サーバ装置3及びAIアシスタントサーバ装置4のうちの少なくとも一つ又はその両方は、命令要求装置の一例である。
上述した構成にしたがって、クラウドサービス装置5は、例えば、MFP6に対して印刷命令等を生成して送信する。ここで、印刷命令は、例えば、ユーザがスマートスピーカ2に対して行ったジェスチャ操作及び音声操作のうち少なくとも一方により与えられた原稿を印刷するための指示(以下、「印刷指示」という)に基づいて生成される。なお、印刷指示は、画像データに係る画像に対する特定の命令を示す第1の命令情報の一例である。
さらに、本実施形態では、クラウドサービス装置5の機能の一部又は全部を、スマートスピーカ2又はMFP6が有していてもよい。クラウドサービス装置5の機能の全部をスマートスピーカ2又はMFP6が有している場合、命令処理システムにクラウドサービス装置5は含まれていなくてもよい。このような場合、スマートスピーカ2はクラウドサービス装置5を介さずにMFP6と通信してもよく、命令処理システムは、スマートスピーカ2及びMFP6を纏めた入力応答システム8を構築してもよい。
つまり本実施形態に係る命令処理システムでは、まず、スマートスピーカ2が、ユーザが行ったジェスチャ操作及び音声操作から画像データ及び音声データを取得する。その後、スマートスピーカ2は、クラウドサービス装置5に画像データ及び音声データを送信する。クラウドサービス装置5は、スマートスピーカ2から受信した画像データ及び音声データに基づいてMFP6に対する印刷命令等を生成し、生成した印刷命令等を、ネットワーク7を介してMFP6に送信する。さらに、印刷命令を受信したMFP6は、受信した印刷命令等を実行する。ここで、MFP6は、命令実行装置の一例である。なお、上述したネットワーク7は、有線LAN、無線LANのいずれで構成されてもよい。
〔ハードウェア構成〕
次に、図2乃至図6を用いて、本実施形態の命令要求システムの各ハードウェア構成について説明する。
<スマートスピーカのハードウェア構成>
図2は、スマートスピーカのハードウェア構成の一例を示す図である。スマートスピーカ2は、図2に示すようにCPU21、RAM22、ROM23、外部インターフェイス(I/F)部24及び通信I/F25を含むハードウェア資源を、内部バス26を介して相互に接続される。
CPU21は、スマートスピーカ2全体を統括制御する制御デバイスである。
RAM22は、例えば、ROM23等に記憶された各種プログラムがダウンロードされ、CPU21によって各種処理が実行されるワークエリアとしての機能を有する。
ROM23には、操作画像処理プログラム及び操作音声処理プログラムを含む各種プログラムを構成するデータが記憶されている。CPU21は、これらの処理プログラムを実行することで、MFP6に対する画像操作及び音声操作による処理を可能とする。また、CPU21は、クラウドサービス装置5から取得したデータのタッチパネル27への表示制御、スピーカ28を介したフィードバックのための音声出力制御、画像出力制御等を実行する。
外部I/F24には、タッチパネル27、スピーカ28、マイクロホン29及びカメラ30が接続される。
通信I/F25は、音声操作によって得られた情報を、ネットワーク7を介して情報認識サーバ装置3に送信する。また、通信I/F25は、ネットワーク7を介して他の装置と通信を行う際、有線、無線いずれの通信形態でも通信を行うことが可能である。
内部バス26は、CPU21、RAM22、ROM23、外部I/F24及び通信I/F25を接続する汎用バスである。この内部バス26は、スマートスピーカ等の汎用機器で一般的に用いられるバスであればその種類は問わない。
タッチパネル27は、例えば、液晶表示部(LCD:Liquid Crystal Display)とタッチセンサとが一体的に形成されたものである。タッチパネル27は、液晶表示部上に配置されたタッチキー等に対してユーザがタッチ動作等を行うことによって、所望の動作が指定される。
スピーカ28は、ユーザに対して、不足する情報の入力等を促すための音声による音声フィードバックを行う。
マイクロホン29は、例えば、音声操作によってMFP6に対して印刷を実行させるために、ユーザが発話した音声によって与えられた音声データを取得する。取得された音声データは、通信I/F25を介して情報認識サーバ装置3に送信され、情報認識サーバ装置3でテキストデータに変換される。
カメラ30は、スマートスピーカ2を使用するユーザのジェスチャ操作を撮像(撮影)する。撮影されたジェスチャ操作は、動画像データ若しくは静止画像データ(以下、単に「画像データ」ともいう)として通信I/F25を介して情報認識サーバ装置3に送信される。
<情報認識サーバ装置のハードウェア構成>
図3は、情報認識サーバ装置のハードウェア構成の一例を示す図である。
情報認識サーバ装置3は、図3に示すように、CPU31、RAM32、ROM33、HDD(Hard Disk Drive)34、外部インターフェイス(I/F)35及び通信I/F36を含むハードウェア資源を、内部バス37を介して相互に接続される。また、外部I/F35には、ディスプレイ38及び操作パネル39が接続される。
HDD34には、操作画像変換プログラム、操作音声変換プログラム及び操作解釈プログラムを構成するデータが記憶されている。操作画像変換プログラムは、例えば、スマートスピーカ2が送信した画像データから、その画像データに含まれる特徴的なデータ及びジェスチャ操作に基づくユーザの意図を抽出してテキストデータ等に変換する。具体的には、操作画像変換プログラムは、画像データに含まれる特徴的なデータ及び変換されたテキストデータを、出力すべき画像ファイルを特定する情報、並びにユーザの意図を示すインテント(Intent)及び所定の処理の実行条件などの変数を示すパラメータに変換する。その後、操作画像変換プログラムは、ユーザの意図を示すインテント及び所定の処理の実行条件などの変数を示すパラメータを、AIアシスタントサーバ装置4に送信する。画像データに含まれる特徴的なデータとは、例えば、その画像データに含まれる特定の文字列情報、特徴的な画像イメージなどである。
一方、操作音声変換プログラムは、例えば、スマートスピーカ2から受信した音声データをテキストデータに変換し、変換したテキストデータを予め定義された辞書情報と一致するか否かを判断する。辞書情報と一致するか否かの判断において、操作音声変換プログラムは、辞書情報と一致した場合には、テキストデータをユーザの意図を示すインテント(Intent)及び所定の処理の実行条件などの変数を示すパラメータに変換する。その後、操作音声変換プログラムは、ユーザの意図を示すインテント及び所定の処理の実行条件などの変数を示すパラメータを、AIアシスタントサーバ装置4に送信する。
上述したように、本実施形態においては、操作画像変換プログラムと操作音声変換プログラムが互いに補完し合い、ユーザにより与えられたジェスチャ操作及び音声操作に基づく特定の意図から、命令実行装置に送信する命令等に変換するための事前の処理が行われる。なお、本発明に係る実施形態において、変換とは、ジェスチャ操作及び音声操作のうち少なくとも一方の操作に含まれるユーザの意図(指示)を、MFP6等の命令実行装置が解釈可能な言語(機械語等)にすることを含む。つまり、変換とは、人間が用いる指示や言語を機械が解釈する言語(機械語等)にすることを意味するものであって、本質的な意味や機能を変えるものではない。
CPU31は、上述した操作画像変換プログラム及び操作音声変換プログラムを含む各種プログラムを実行する。つまり、情報認識サーバ装置3は、スマートスピーカ2のカメラ30で撮影された画像データ及びマイクロホン29で集音された音声データを受信して、原稿等の画像を含めたジェスチャ操作及び音声操作による指示内容を認識して解析する装置として機能する。なお、操作画像変換プログラム、操作音声変換プログラム及び操作解釈プログラムは、一つのサーバ装置で実行されてもよいし、それぞれ異なるサーバ装置で実行されてもよい。さらに、複数のサーバ装置の連携によって、これらのプログラムが実行されてもよい。
RAM32には、例えば、ROM33等の記憶部に記憶された各種プログラムがダウンロードされ、CPU31によって各種処理が実行されるワークエリアとしての機能を有する。
ROM33には、HDD34に記憶された各種プログラム以外のその他のプログラムを構成するデータが記憶されている。CPU31は、ROM33に記憶された各種プログラムを実行することで、スマートスピーカ2及びAIアシスタントサーバ装置4との間の制御を行ってもよい。
外部I/F35には、ディスプレイ38及び操作パネル39が接続される。
通信I/F36は、ユーザのジェスチャ操作及び発話等に伴う音声操作によって得られた画像データ、音声データ等をスマートスピーカ2から受信する。また、通信I/F36は、ネットワーク7を介して他の装置と通信を行う際、有線、無線いずれの通信形態でも通信を行うことが可能である。
内部バス37は、CPU31、RAM32、ROM33、HDD34、外部I/F35及び通信I/F36を接続する汎用バスである。この内部バス37は、情報認識サーバ装置3がサーバ装置としての機能が実現できるものであれば、その種類は問わない。
ディスプレイ38は、例えば、液晶表示部(LCD:Liquid Crystal Display)で構成され、例えば、情報認識サーバ装置3の各種状態を表示する。
操作パネル39は、例えば、液晶表示部とタッチセンサとが一体的に形成された、いわゆるタッチパネルである。操作者(ユーザ)は、操作パネル39を用いて所望の命令を実行させる場合、操作パネル39に表示された操作ボタン(ソフトウェアキー、アイコン等)を接触操作することで、所望の動作を指定する。なお、操作パネル39は、その機能の代用として一般的なPCのキーボードでもよい。
また、操作画像処理プログラム及び操作音声処理プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、フレキシブルディスク(FD)などのコンピュータ装置で読み取り可能な記録媒体に記録して提供してもよい。また、CD-R、DVD(Digital Versatile Disk)、ブルーレイディスク(登録商標)、半導体メモリなどのコンピュータ装置で読み取り可能な記録媒体に記録して提供してもよい。また、インターネット等のネットワーク経由でインストールするかたちで提供してもよいし、情報認識サーバ装置3のROM等の記憶部に予め組み込んで提供してもよい。
<AIアシスタントサーバ装置のハードウェア構成>
図4は、AIアシスタントサーバ装置のハードウェア構成の一例を示す図である。AIアシスタントサーバ装置4は、CPU41、RAM42、ROM43、HDD44、外部インターフェイス(I/F)45及び通信I/F46を含むハードウェア資源を、内部バス47を介して相互に接続している。また、外部I/F45には、ディスプレイ48及び操作パネル49が接続されている。
HDD44には、画像アシスタントプログラム、音声アシスタントプログラム及び管理プログラムを含む各種プログラムが記憶されている。画像アシスタントプログラムは、上述した操作画像変換プログラムに対して、例えば、取得した画像データを、出力すべき画像ファイルを特定する情報、並びにユーザの意図を示すインテント(Intent)及び所定の処理の実行条件などの変数を示すパラメータに変換するための情報を提供する。一方、音声アシスタントプログラムは、上述した操作音声変換プログラムに対して辞書情報を提供する。さらに、管理プログラムは、例えば、後述するインテント及びパラメータに基づいて、AIアシスタントサーバ装置4が解釈可能なデータに変換した命令を、MFP6等の命令実行装置に送信するためのプログラムである。
また、HDD44を含む記憶部には、AI記憶部40、管理DB401及び紐づけ用DB402が構築されている。AI記憶部40には、ユーザがジェスチャ操作及び音声操作によって指示された印刷命令等の命令を解釈するための辞書情報が記憶されている。この辞書情報には、後述するエンティティ(Entity)情報、アクション(Action)情報及びインテント情報が含まれる。
管理DB401には、例えば、AIアシスタントサーバ装置4がクラウドサービス装置5として提供するコンテンツを示すテキストデータ、命令実行装置に送信される画像ファイルなどの画像データ及びスマートスピーカ2にフィードバックする際に用いられる音声データ等が記憶されている。
紐づけ用DB402には、例えば、スマートスピーカ2が複数用いられることを想定して、以下の情報が記憶されている。例えば、各スマートスピーカ2(データ取得装置)を特定する各デバイスIDと、各スマートスピーカ2へのジェスチャ操作及び音声操作によって印刷命令等が実行されるMFP6の装置ID、画像データ、ユーザが発話した音声データ等が関連付けられた情報である。すなわち、紐づけ用DB402は、各スマートスピーカ2に対するジェスチャ操作及び音声操作によって、印刷対象となる画像データ又は画像ファイル、並びに使用可能なMFP6を特定するためのデータテーブルとして機能する。
CPU41は、情報認識サーバ装置3で生成された解釈結果をMFP6に対する印刷命令等のデータに変換してネットワーク7を介してMFP6に送信する。なお、ユーザから指示された意図は、例えば、MFP6への印刷命令等のための指示を含む。このようにして、スマートスピーカ2で取得された音声データにより、MFP6を操作することができる。
RAM42は、例えば、HDD44等の記憶部に記憶された各種プログラムがダウンロードされ、CPU41によって各種処理が実行されるワークエリアとしての機能を有する。
ROM43には、例えば、HDD44に記憶されたプログラム以外の各種プログラムを構成するデータが記憶されている。
外部I/F45には、ディスプレイ48及び操作パネル49が接続される。
通信I/F46は、情報認識サーバ装置3及びMFP6に対するデータの送受信を、ネットワーク7を介して行う。また、通信I/F46は、ネットワーク7を介して他の装置と通信を行う際、有線、無線いずれの通信形態でも通信を行うことが可能である。
内部バス47は、CPU41、RAM42、ROM43、HDD44、外部I/F45及び通信I/F46を接続する汎用バスである。この内部バス47は、AIアシスタントサーバ装置4が命令要求装置の機能を実現するものであれば、その種類は問わない。
ディスプレイ48は、例えば、液晶表示部(LCD:Liquid Crystal Display)で構成され、例えば、AIアシスタントサーバ装置4の各種状態を表示する。
操作パネル49は、例えば、液晶表示部とタッチセンサとが一体的に形成された、いわゆるタッチパネルである。操作者(ユーザ)は、操作パネル49を用いて所望の命令を実行する場合、操作パネル49に表示された操作ボタン(ソフトウェアキー、アイコン等)を接触操作することで、所望の動作を指定する。なお、操作パネル49は、その機能の代用として一般的なPCのキーボードでもよい。
<クラウドサービス装置のハードウェア構成>
クラウドサービス装置5は、上述したように、例えば、情報認識サーバ装置3及びAIアシスタントサーバ装置4を纏めたもので、スマートスピーカ2及びMFP6とそれぞれネットワーク7を介して接続される。クラウドサービス装置5を構成するハードウェア構成は、情報認識サーバ装置3及びAIアシスタントサーバ装置4で説明したとおりである。
<MFPのハードウェア構成>
図6は、MFPのハードウェア構成の一例を示す図である。MFP6は、コントローラ600、近距離無線通信回路620、エンジン制御部630、操作パネル640、ネットワークI/F650を備えている。
これらのうち、コントローラ600は、例えば、操作パネル640からの入力等を制御する。また、コントローラ600は、MFP6の全体制御を行う制御部としてのCPU601、システムメモリ(MEM-P)602、ノースブリッジ(NB)603、サウスブリッジ(SB)604、ASIC(Application Specific Integrated Circuit)606、記憶部としてのローカルメモリ(MEM-C)607、HDDコントローラ608及び記憶部としてのHDD609を有する。さらに、NB603とASIC606との間は、AGP(Accelerated Graphics Port)バス621で接続される。
NB603は、CPU601と、MEM-P602、SB604及びASIC606とを接続するためのブリッジ回路である。NB603は、MEM-P602に対する読み書きなどを制御するメモリコントローラと、PCI(Peripheral Component Interconnect)マスタ及びAGPターゲットとを有する。
MEM-P602は、コントローラ600の各機能を実現させるプログラム及びデータの格納用メモリであるROM602a、プログラム及びデータの展開並びに原稿スキャン時のストレージ用メモリ及びメモリ印刷時の描画用メモリなどとして用いるRAM602bを備える。なお、RAM602bに記憶されているプログラムは、インストール可能な形式又は実行可能な形式のファイルで、CD-ROM、CD-R、DVD等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
SB604は、NB603とPCIデバイス、周辺デバイスとを接続するためのブリッジ回路である。
ASIC606は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)である。その役割は、AGPバス621、PCIバス622、HDDコントローラ608及びMEM-C607をそれぞれ接続するブリッジ回路である。また、ASIC606は、PCIターゲット及びAGPマスタ、ASIC606に接続される他のデバイスの動作及びタイミングを調停するアービタ(ARB)、MEM-C607を制御するメモリコントローラ、DMA制御を司るDMAC(Direct Memory Access Controller)、スキャナ部631及びプリンタ部632との間でPCIバス622を介したデータ転送を行うPCIユニットを有する。
なお、ASIC606には、USB(Universal Serial Bus)のインターフェイス、及び、IEEE1394(Institute of Electrical and Electronics Engineers 1394)のインターフェイスを接続するようにしてもよい。
MEM-C607は、コピー用画像バッファ及び符号バッファとして用いるローカルメモリである。
HDD609は、画像データの蓄積、原稿の印刷時に用いるフォントデータの蓄積、フォームの蓄積等を行うためのストレージである。HDDコントローラ608は、CPU601の制御にしたがってHDD609に対するデータの読出し又は書込みを制御する。
AGPバス621は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレータカード用のバスインターフェイスである。AGPバス621は、MEM-P602に高スループットで直接アクセスすることにより、グラフィックスアクセラレータカードを高速にすることができる。
近距離無線通信回路620は、近距離無線通信を行うための回路であり、近距離無線通信回路用アンテナ620aを備える。近距離無線通信回路620は、例えば、NFC(Near Field Communication)、Bluetooth(登録商標)等の無線通信回路である。
エンジン制御部630は、スキャナ部631及びプリンタ部632によって構成される。スキャナ部631及びプリンタ部632には、誤差拡散及びガンマ変換などの画像処理部分が含まれる。
操作部11の一部としての操作パネル640は、MFP6に搭載又は接続可能であり、パネル表示部640a及びパネル操作部640bを含む。本実施形態では、一例としてMFP6に接続可能な状態を示している。パネル表示部640aは、現在の設定値及び選択画面等を表示させ、操作者からの入力を受け付けるタッチパネル等を備える。また、パネル操作部640bは、原稿サイズ、ファイル形式、カラー/モノクロ、部数等で与えられる印刷に係る属性情報(各種条件ともいう)の入力を受け付けるテンキー及びコピー開始指示を受け付けるスタートキー等を備える。印刷に係る属性情報は、具体的には、印刷対象特定テーブル402cに例示した原稿特定情報、特定の画像データ、命令実行装置名、命令実行装置の装置ID、原稿サイズ、ファイル形式、カラー/モノクロ、部数等が与えられる。
ネットワークI/F650は、通信ネットワークを利用してデータ通信をするためのインターフェイスである。近距離無線通信回路620及びネットワークI/F650は、PCIバス622を介して、ASIC606に電気的に接続される。
なお、MFP6は、パネル表示部640aに表示される又はパネル操作部640bが備えるアプリケーション切替キーにより、ドキュメントボックス機能、コピー機能、プリンタ機能及びファクシミリ機能を切り替えて選択することが可能となる。つまり、MFP6は、ドキュメントボックス機能の選択時にはドキュメントボックスモードとなり、コピー機能の選択時にはコピーモードとなり、プリンタ機能の選択時にはプリンタモードとなり、ファクシミリ機能の選択時にはファクシミリモードとなる。
〔機能構成〕
<命令処理システムの機能構成>
図7は、命令処理システムを構成する各装置の機能ブロックの一例を示す図である。命令処理システムは、図1に示したように、スマートスピーカ2、情報認識サーバ装置3及びAIアシスタントサーバ装置4(クラウドサービス装置5)、並びにMFP6がそれぞれネットワーク7を介して接続されている。
<スマートスピーカの機能構成>
スマートスピーカ2は、クラウドサービス装置5を構成する情報認識サーバ装置3及びAIアシスタントサーバ装置4との間で、例えば音声データ、画像データ及びテキストデータ等のデータ通信を行う。
(操作画像処理プログラム及び操作音声処理プログラムの機能)
図2に示したスマートスピーカ2のCPU21は、ROM23等の記憶部に記憶された操作画像処理プログラム及び操作音声処理プログラムをRAM22に展開して実行することで、例えば、通信制御部251、取得部252、フィードバック部253、記憶・読出処理部254(以下、通信制御部251~記憶・読出処理部254とも記載する)として機能又は機能する手段を構成する。
<スマートスピーカの各機能構成>
次に、スマートスピーカ2の各機能構成について説明する。通信制御部251は、ネットワーク7を介してスマートスピーカ2とクラウドサービス装置5との間の通信を制御し、各種データ又は情報の送受信を行う。その際、通信制御部251は、スマートスピーカ2の通信I/F25を制御して各種データ又は情報の送受信を行う。通信制御部251は、次に説明する取得部252が取得したスマートスピーカ2に対してユーザが行った所定の操作及び指示等に基づく情報をクラウドサービス装置5に送信する。また、通信制御部251は、フィードバックのために、クラウドサービス装置5からテキストデータ、画像データ、音声データ等を取得する。さらに、通信制御部251は、ユーザが行った所定の操作及び指示等に係る情報をクラウドサービス装置5に送信する際に、スマートスピーカ2を特定するデバイスIDもあわせて送信する。
上述したように、通信制御部251は、スマートスピーカ2がLAN等のネットワーク7を介して接続される他の装置との通信を制御する。この通信を行う際の通信方式は、例えば、一般的にLANで使用されるEthernet(登録商標)等の通信プロトコルが用いられる。この通信制御部については、後述する情報認識サーバ装置3、AIアシスタントサーバ装置4、クラウドサービス装置5及びMFP6が有する各通信制御部についても同様の機能を有する。
取得部252は、データ取得手段の一例として機能又は機能する手段を有する。取得部252は、マイクロホン29を介して集音されたユーザの音声操作に伴う指示音声を取得する。さらに取得部252は、カメラ30を介して撮影されたユーザのジェスチャ入力操作に伴う指示画像を取得する。また、取得部252は、ユーザによるタップ操作又は物理スイッチの押下などの機械操作を含む指示操作を取得してもよい。つまり、取得部252は、指示画像、指示音声及び指示操作を含む各種指示を表す指示情報のうち少なくとも一つを取得する。なお、指示画像、指示音声には、例えば、MFP6等に印刷を実行させるための印刷命令に変換するための情報が含まれる。本実施形態において、ユーザのジェスチャ操作により与えられる指示画像で示される画像データは、例えば、原稿等を含む被写体を撮影して取得した画像データ、並びに、ユーザの手、指、及びペン先等を撮影して取得した画像データの少なくとも一方の画像データである。また、ユーザの音声操作により与えられる指示音声で示される音声データは、例えば、ユーザ自身の発話音声の他、ユーザが予め録音した音声を再生した音声、コンピュータで擬人化された音声等を集音して取得した音声データの少なくとも一方の音声データである。
取得部252は、上述した操作画像処理プログラム及び操作音声処理プログラムを実行することで、ユーザのジェスチャ操作によって与えられた画像データ、及びユーザの音声操作よって与えられた音声データを取得してクラウドサービス装置5に送信する。さらに取得部252は、フィードバック部253と協働して、クラウドサービス装置5から取得したデータ(画像データ、音声データ及びテキストデータ等)を、タッチパネル27に表示するか、又はスピーカ28を介した音声をユーザに通知する。なお、タッチパネル27は、スマートスピーカ2と一体で構成されていてもよいし、別々に構成されていてもよい。スマートスピーカ2と別々に構成される場合、タッチパネル27は、スマートスピーカ2と行う無線通信等に必要な無線通信インターフェイスを備えておけばよい。
フィードバック部253は、ユーザのジェスチャ操作によって与えられた画像データ、及びユーザによって与えられた音声データに基づいてMFP6で実行される印刷処理において、必要に応じてスマートスピーカ2がユーザに対して応答するように機能する。このフィードバック部253によって、本実施形態はスマートスピーカ2を操作するユーザとの間での対話型システムを実現している。また、この対話型システムにおけるジェスチャ操作及び音声操作を実現するため、フィードバック部253は、例えば、ユーザから与えられた指示画像及び指示音声に対して不足するデータを補うために音声又は画像によるフィードバックを行う。さらに、フィードバック部253は、タッチパネル27の画面への表示により、フィードバック対象のテキスト、音声又は画像をユーザに提供してもよい。なお、フィードバック部253による対話型動作及びフィードバックの詳細については、後述する。
記憶・読出処理部254は、例えば、ROM23に対する各種データの書込み処理、並びにROM23に記憶された操作画像処理プログラム、操作音声処理プログラム等の各種プログラムを構成するデータの読出し処理を行う。
なお、本実施形態では、通信制御部251~記憶・読出処理部254は、ソフトウェアで実現されてもよい。また、通信制御部251~記憶・読出処理部254は、他のプログラムに処理の一部を実行させ、又は他のプログラムを用いて間接的に処理を実行させてもよい。さらに、通信制御部251~記憶・読出処理部254は、一部又は全部を、IC(Integrated Circuit)等のハードウェアで実現されてもよい。
<情報認識サーバ装置の機能構成>
情報認識サーバ装置3は、スマートスピーカ2から受信した画像データ及び音声データを解析し、テキストデータへ変換する。また、テキストデータと事前登録されている辞書情報とに基づいてユーザの意図を解釈し、解釈結果をAIアシスタントサーバ装置4に送信する。
(操作画像変換プログラム及び操作音声変換プログラムの機能)
情報認識サーバ装置3のCPU31は、スマートスピーカ2を介してユーザによって与えられた画像データ及び音声データに応じて、HDD34等の記憶部に記憶された操作画像変換プログラム、操作音声変換プログラム、操作解釈プログラム等をRAM32に展開して実行する。この操作画像変換プログラム、操作音声変換プログラム、操作解釈プログラム等が実行されることにより、CPU31は、例えば、通信制御部351、取得部352、抽出部353、生成部354、出力部355及び記憶・読出処理部356(以下、通信制御部351~記憶・読出処理部356とも記載する)として機能又は機能する手段を構成する。
<情報認識サーバ装置の各機能構成>
次に、情報認識サーバ装置3の各機能構成について説明する。通信制御部351は、ネットワーク7を介してスマートスピーカ2又はAIアシスタントサーバ装置4との間の通信を制御し、各種データ又は情報の送受信を行う。具体的には、通信制御部351は、ユーザによって与えられた画像データ及び音声データの受信、並びにスマートスピーカ2に対するテキストデータの送信等を行うように、情報認識サーバ装置3の通信I/F36を制御する。
取得部352は、例えば、スマートスピーカ2から送信されるジェスチャ操作に基づく原稿の画像データを取得する。また、取得部352は、スマートスピーカ2から送信される音声操作に基づく指示情報を取得する。なお、取得部352は、スマートスピーカ2のタッチパネル、ボタン又はスイッチ等のユーザの操作に基づく情報を取得してもよい。
抽出部353は、取得部352で取得した音声データをテキストデータに変換し、取得部352で取得した画像データに係る画像から、所定の領域を抽出する。つまり、抽出部353は、抽出手段の一例として機能又は機能する手段を有する。
生成部354は、画像アシスタントプログラムから提供された、画像データに含まれる特徴的なデータ、並びにユーザの意図を示すインテント(Intent)及び所定の処理の実行条件などを示すパラメータに変換するための情報に基づいて、例えば、ユーザがスマートスピーカ2のカメラ30に翳した原稿及び体の一部等が何を示すものであったかを解釈して、原稿の画像から所定の領域を抽出する。さらに、上述した画像、体の一部等の内容に応じて、所定の処理の実行条件などを示すパラメータを生成又はパラメータに変換することもできる。つまり、生成部354は、抽出部353によって抽出された所定の領域から、所定の情報を生成する生成手段の一例として機能又は機能する手段を有する。
さらに、生成部354は、抽出部353で変換されたテキストデータに基づいて、ユーザから与えられた音声データに基づく指示内容を解釈する。具体的には、生成部354は、音声アシスタントプログラムから提供された辞書情報に基づいて、テキストデータに含まれる単語などが辞書情報と一致しているか否かを判断する。そして、辞書情報と一致している場合には、生成部354は、ユーザの意図を示すインテントと所定の処理の実行条件などの変数を示すパラメータとして生成する。その後生成部354は、生成したインテント及びパラメータを、通信制御部351を介してAIアシスタントサーバ装置4で実行される管理プログラムに送信する。
このとき、生成部354は、スマートスピーカ2のデバイスIDもインテント及びパラメータと共に通信制御部351を介してAIアシスタントサーバ装置4で実行される管理プログラムに送信する。このとき、生成部354は、ユーザが用いたデバイスを特定するためのスマートスピーカ2のデバイスIDも共に管理プログラムに送信する。上述した例では、画像アシスタントプログラム及び音声アシスタントプログラムが個別に実行されるように記載したが、並行若しくは同時に実行されてもよい。
さらに生成部354は、抽出部353によって抽出された所定の領域から、OCR等を利用して所定の情報、すなわち特定の文字列に相当する情報を生成する。
出力部355は、スマートスピーカ2に対するテキストデータ、画像データ及び音声データ等のデータの送信を行うように、通信I/F36を制御する。
記憶・読出処理部356は、例えば、ROM33に記憶された操作画像変換プログラム、操作音声変換プログラム及び操作解釈プログラム等の各種プログラムを構成する各種データの読出し、及びHDD34等の記憶部への各種データの書込み等の処理を行う。
なお、本実施形態では、通信制御部351~記憶・読出処理部356は、ソフトウェアで実現されてもよい。また、通信制御部351~記憶・読出処理部356は、他のプログラムに処理の一部を実行させ、又は他のプログラムを用いて間接的に処理を実行させてもよい。例えば、操作画像変換プログラムの生成部354の機能の一部又は全てを画像アシスタントプログラムに実行させてもよい。さらに、操作音声変換プログラムの生成部354の機能の一部又は全てを音声アシスタントプログラムに実行させてもよい。これらの場合、例えば、テキストデータに含まれる単語などが辞書情報と一致しているか否かの判断、及び辞書情報と一致している場合にユーザの意図を示すインテントと所定の処理の実行条件などの変数を示すパラメータへの変換は、音声アシスタントアプリ、画像アシスタントアプリ等に実行させてもよい。さらに、生成部354は、インテント及びパラメータを画像アシスタントプログラム、音声アシスタントプログラム等から取得するものとしてもよい。さらに、通信制御部351~記憶・読出処理部356のうち、一部又は全部を、IC(Integrated Circuit)等のハードウェアで実現してもよい。
また、上述した例では、通信制御部351~記憶・読出処理部356をソフトウェアで実現することとしたが、これらのうち、一部又は全部を、IC(Integrated Circuit)等のハードウェアで実現してもよいこと等は、上述の他のプログラムと同様である。
<AIアシスタントサーバ装置の機能構成>
AIアシスタントサーバ装置4は、例えば、情報認識サーバ装置3で実行された操作画像変換プログラム、操作音声変換プログラム、画像アシスタントプログラム及び音声アシスタントプログラムによって得られたインテント、パラメータ及びスマートスピーカ2のデバイスID等を取得して、後述する各機能の処理を行う。
また、AIアシスタントサーバ装置4は、情報認識サーバ装置3から要求された辞書情報を提供する。さらに、AIアシスタントサーバ装置4は、情報認識サーバ装置3から受信した解釈結果を、MFP6に対する印刷命令等のデータに変換する。その後、AIアシスタントサーバ装置4は、変換した印刷命令等のデータをMFP6に送信する。MFP6では、AIアシスタントサーバ装置4から送信される印刷命令等にしたがって所定の処理が実行される。なお、AIアシスタントサーバ装置4は、MFP6に印刷命令等を送信する以外に、例えば、MFP6を管理する他のサーバ装置が存在すれば、MFP6で実行される他の命令等を他のサーバ装置に送信してもよい。
(管理プログラムの機能)
図4に示したAIアシスタントサーバ装置4のCPU41は、ネットワーク7を介して情報認識サーバ装置3のHDD34等の記憶部に記憶された画像アシスタントプログラム、音声アシスタントプログラム及び管理プログラムを取得し、RAM42に展開して実行する。CPU41は、これらのプログラムのうち、管理プログラムを実行することで、例えば、通信制御部451、取得部452、変換・選択部453、実行判定部454、補完部455、実行指示部456、機器情報取得部457、通知・提供部458、管理部459、検索部460及び記憶・読出処理部461(以下、通信制御部451~記憶・読出処理部461とも記載する)として機能又は機能する手段を構成する。
また、AIアシスタントサーバ装置4は、図4に示されているRAM42及びHDD44によって構築される記憶部を有している。この記憶部を構築するデータベースの一つである紐づけ用DB402は、以下に示すユーザ管理テーブル402a、装置管理テーブル402b及び印刷対象特定テーブル402cによって構成されている。特に、印刷対象特定テーブル402cは、管理情報の一例である。以下に、ユーザ管理テーブル402a、装置管理テーブル402b及び印刷対象特定テーブル402cの概要を説明する。なお、下記各テーブルで同じ名称の項目(カラム)は同じ意味を示すため、二つ目以降の説明を省略する。
○ユーザ管理テーブル○
図5Aは、本実施形態に係るユーザ管理テーブル402aを示す概念図である。ユーザ管理テーブル402aでは、データ取得装置名毎に、データ取得装置のデバイスID、ユーザ名及びユーザIDが関連付けられて記憶、管理されている。
データ取得装置のデバイスIDは、スマートスピーカ2を識別するための装置識別情報の一例である。なお、データ取得装置のデバイスIDを、以下、単に「デバイスID」という。
ユーザ名は、スマートスピーカ2を使用する使用者の名前、ニックネーム等である。
ユーザIDは、ユーザを識別するためのユーザ識別情報である。
○装置管理テーブル○
図5Bは、本実施形態に係る装置管理テーブル402bを示す概念図である。装置管理テーブル402bでは、データ取得装置名毎に、データ取得装置のデバイスID、命令実行装置名、命令実行装置の装置ID及び接続情報(命令実行装置のIPアドレス)が関連付けられて記憶、管理されている。
データ取得装置名は、スマートスピーカ2に与えられた名称である。
命令実行装置名は、ユーザが使用するスマートスピーカ2に対するジェスチャ操作及び音声操作に基づいて印刷命令等の命令が実行される命令実行装置の装置名である。この命令実行装置名には、上述したMFP6、プロジェクタ装置、デジタルサイネージ等の各種装置の装置名が与えられる。
命令実行装置の装置IDは、MFP6等の命令実行装置を識別するための命令実行装置識別情報の一例である。なお、命令実行装置の装置IDを、以下、単に「命令実行装置ID」という。
接続情報(命令実行装置のIPアドレス)は、例えば、命令実行装置への宛先を示すIPアドレスが含まれる。
なお、装置管理テーブル402bを構成する紐づけ用DB402が構築されるHDD44等の記憶部には、MFP6等の命令実行装置毎に接続情報が割り振られて記憶されてもよい。ここで、接続情報はそれぞれの命令実行装置と通信接続するために必要な情報であり、例えば命令実行装置のアドレスが与えられる。
さらに、装置管理テーブル402bは、未登録のユーザのユーザID及びそのユーザが使用するデータ取得装置のデバイスID、並びに、そのユーザが指定した命令実行装置IDをそれぞれ関連付けて、新たに追加登録されるようにしてもよい。
○印刷対象特定テーブル○
図5Cは、本実施形態に係る印刷対象特定テーブル402cを示す概念図である。印刷対象特定テーブル402cでは、処理の種類毎に、印刷命令変換条件、印刷対象特定条件及び印刷対象が関連付けられて記憶、管理されている。
処理の種類は、ユーザによって与えられる処理を区別する管理番号である。
印刷命令変換条件は、ユーザによって撮影された原稿の画像中に含まれる文字列などのテキスト情報、QRコード、バーコード、人物や動物等の「顔」情報、ペットボトルや看板等の「物体」情報を含む情報である。
印刷対象特定条件は、印刷命令変換条件のそれぞれの情報を含むファイルが管理DB401に存在することを示している。
印刷対象は、テキスト情報を含むファイル、QRコード情報を含むファイル、バーコード情報を含むファイル、スマートスピーカの撮影画像及び対象物の属性に関連付けられたファイルを含む。
なお、印刷対象特定テーブル402cは、MFP6のHDD609等の記憶部に記憶されていてもよい。この場合、印刷対象特定テーブル402cはMFP6でのみ利用されるため、命令実行装置(MFP6)の装置名及びMFP6の装置IDを含まなくてもよい。
上述した各テーブルでは、データ取得装置のデバイスIDに代えて又は加えて、データ取得装置の装置名を示すデータ取得装置名が管理されてもよい。さらに、上述した各テーブルの値は予め所定の設定値が与えられているが、命令処理システムが動作を行う際に、必要に応じて適宜更新、追加及び変更等が行われてもよい。
<AIアシスタントサーバ装置の各機能構成>
次に、AIアシスタントサーバ装置4の各機能構成について説明する。通信制御部451は、ユーザのスマートスピーカ2に対する解釈結果の送信、及びユーザによって与えられた音声データに係るテキストデータの受信等を行うように通信I/F46を制御する。
取得部452は、は、情報認識サーバ装置3から送信されるインテント、パラメータ及びスマートスピーカ2のデバイスID等を取得する。
変換・選択部453は、情報認識サーバ装置3で実行された操作画像変換プログラム及び操作音声変換プログラムのうち少なくとも一方で変換されたインテント及びパラメータなどの解釈結果を、MFP6が実行可能な印刷命令等の命令に変換する。この変換・選択部453は、クラウドサービス装置5で実行される管理プログラムの機能の一つである。
実行判定部454は、ユーザから指定された指示に基づいて命令に変換可能か否か、あるいは、変換された命令が実行可能か否かを上述した各データテーブルを参照して判断する。判断時に必要となる判断対象は、変換・選択部453で解釈された解釈結果、取得した機器情報で示されるMFP6等の命令実行装置の状態、及びユーザから指定された印刷指示等である。ユーザから指定された印刷に係る内容は、例えば、ユーザから指示された時間帯にMFP6が使用可能か否かの判断処理、MFP6の電源状態の変更処理、MFP6に対する印刷処理である。また、ユーザから指定された印刷指示等に基づく各処理が実行可能と判断された場合、実行判定部454は、変換・選択部453に対して、MFP6に印刷命令及びファイル出力命令等の各種命令に変換するように判定する。一方、実行不可能と判断された場合、実行判定部454は、操作画像変換プログラム及び操作音声変換プログラム等の実行により、スマートスピーカ2に対して指示情報の再取得要求を示す要求情報、エラーメッセージ等のレスポンス情報、等をフィードバックする。つまり、実行判定部454は、印刷命令に変換可能であると判断した場合に、変換・選択部453と協働して、インテント及びパラメータ(必須パラメータ)に基づいて所定の命令に変換する。そのため、変換・選択部453及び実行判定部454は、それぞれ協働して命令変換部462として機能する。つまり、命令変換部462は、スマートスピーカ2で取得したユーザの意図(指示)を表す第1の命令情報を、MFP6等の命令実行装置が実行可能な印刷命令を表す第2の命令情報に変換する変換手段の一例として機能又は機能する手段を有する。
補完部455は、変換・選択部453によって変換される各種命令に対して、装置管理テーブル402b及び印刷対象特定テーブル402cを参照して、MFP6における処理に必要な情報を補完する機能を有する。この処理に必要な情報とは、例えば、MFP6に対する各種命令への変換に必要な情報である。この補完部455は補完手段の一例として機能又は機能する手段を有する。
実行指示部456は、変換・選択部453で変換されたMFP6への各種命令の実行を指示する。また、実行指示部456は、ユーザが使用したスマートスピーカ2を特定するデバイスIDに関連付けられているMFP6を紐づけ用DB402から検索し、MFP6に対して、インテント及びパラメータと共に印刷命令、ファイル出力命令等を送信する。
機器情報取得部457は、例えば、MFP6との通信接続が確立されているか否かを示す接続状態、MFP6の電源のオン/オフ等に係る電力使用状態、MFP6への電力供給状態(通常モード、省エネモード等)の機器情報を取得する。なお、機器情報取得部457は、MFP6から取得した機器情報を、MFP6を特定する装置ID等と関連付けてHDD44等の記憶部に記憶して管理する。この機器情報の記憶先は、紐づけ用DB402を構築する後述する装置管理テーブル402bでもよい。さらに、機器情報取得部457は、装置管理テーブル402bを参照して、MFP6で実行される各種命令の生成に関連する情報を補完する機能も有する。
通知・提供部458は、HDD44等の記憶部に記憶されているテキストデータ、インテント及びパラメータの関係を予め定義した辞書情報を管理する。音声アシスタントプログラムが実行されると、通知・提供部458は、情報認識サーバ装置3で実行される操作音声変換プログラムに対して辞書情報を提供する。また、通知・提供部458は、情報認識サーバ装置3の抽出部353で変換されたテキストデータに基づいて、ユーザから与えられた音声操作の内容を変換、解釈してもよい。すなわち、通知・提供部458は、操作指示を解釈することも可能である。具体的には、通知・提供部458は、まず操作音声変換プログラムからテキストデータを取得し、テキストデータに含まれる単語などが辞書情報と一致しているか否かを判断する。その判断の結果、辞書情報と一致している場合には、通知・提供部458は、テキストデータをインテントとパラメータに変換する。その後、通知・提供部458は、インテント及びパラメータを操作音声変換プログラムに対して提供する。
一方、画像アシスタントプログラムが実行されると、通知・提供部458は、HDD44等の記憶部に記憶されているOCR情報等を参照して、操作画像変換プログラムに対して文字情報等を提供する。このOCR情報とは、スマートスピーカ2のカメラ30によって撮影されたユーザの原稿等に含まれる文字列などのテキストを既存の光学文字認識技術(以下、単に「OCR」と記す)で抽出した所定のテキストデータのことをいう。このように、通知・提供部458は、OCR情報を利用してユーザから与えられたジェスチャ操作に伴う画像データの内容を変換、解釈することができる。
上述したように、通知・提供部458は、ユーザによる印刷指示等に対する応答としてテキストデータ、画像データ及び音声データ等を操作画像変換プログラム、操作音声変換プログラム等に通知する。また、MFP6に対する印刷命令及びファイル出力命令等の実行条件を示すパラメータが不足している場合には、通知・提供部458は、操作画像変換プログラム及び操作音声変換プログラムの少なくとも一方を介してスマートスピーカ2に対してフィードバックを行う。このフィードバックにより、通知・提供部458は、ユーザに対して不足しているパラメータの入力を促す。ここで、通知・提供部458は、不足しているパラメータを確認するために必要な情報として、所定のパラメータ情報をスマートスピーカ2に送信してもよい。さらに、通知・提供部458は、パラメータの指定を促すために必要な情報としてテキストデータ、画像データ及び音声データ等をスマートスピーカ2に送信してもよい。上述したそれぞれの処理によって、ユーザは、どのような情報が不足しているかをスマートスピーカ2から出力される音声、画像等によって確認することができる。
管理部459は、クライアントデバイスに対して入力された情報に基づいて、スマートスピーカ2のデバイスIDとMFP6の装置IDとを関連付けて、紐づけ用DB402に登録する。つまり、紐づけ用DB402では、スマートスピーカ2のデバイスIDとMFP6の装置IDとを関連付けた情報が、装置管理テーブル402bとして記憶され、管理される。なお、クライアントデバイスは、例えば、スマートスピーカ2又はクラウドサービス装置5にネットワークを介して接続された装置である。
検索部460は、スマートスピーカ2のデバイスID及びユーザのユーザID(使用者ID)に基づいて命令実行装置となるMFP6を検索し、特定する。なお、検索部460は、上述した管理部459と合わせて一つの機能ユニットとして機能してもよい。
記憶・読出処理部461は、AIアシスタントサーバ装置4のHDD44等の記憶部に記憶された画像アシスタントプログラム、音声アシスタントプログラム、管理プログラム等の各種プログラムを構成する各種データの読出し、HDD44等の記憶部への各種データの書込み等の処理を行う。
上述した通信制御部451~記憶・読出処理部461のそれぞれの機能は一例であり、どの機能ユニットがどのような処理を行うかは、命令処理システムのシステム構成若しくはソフトウェア構成により適宜変えることができる。
なお、本実施形態では、通信制御部451~記憶・読出処理部461をソフトウェアで実現することとしたが、これらのうち、一部又は全部を、IC(Integrated Circuit)等のハードウェアで実現してもよい。また、通信制御部451~記憶・読出処理部461が実現する機能は、情報認識サーバ装置3のHDD34等の記憶部に記憶された他のプログラムに処理の一部を実行させる、又は他のプログラムを用いて間接的に処理を実行させてもよい。
(クラウドサービス装置による解釈動作の詳細)
ここで、クラウドサービス装置5による解釈動作の詳細について説明する。クラウドサービス装置5は、上述したように情報認識サーバ装置3及びAIアシスタントサーバ装置4を一つに纏めた装置であり、一つのサーバ装置としても機能するものである。
また、ユーザの音声操作に基づいて生成されたテキストデータに対して、AIアシスタントサーバ装置4から提供される辞書情報は、そのテキストデータに関連するインテント及びパラメータを生成することができるものであればどのような形態であってもよい。一例として、辞書情報は、エンティティ情報、インテント情報及び関連付け情報を含んで構成される。エンティティ情報は、MFP6が所定の処理を実行するためのパラメータと自然言語を関連付ける情報である。また、一つのパラメータには、複数の類義語が登録可能である。
インテント情報は、上述したように所定の処理の種類を示す情報である。関連付け情報は、ユーザが発話した発話フレーズ(自然言語)及びエンティティ情報、並びに、発話フレーズ及びインテント情報を、それぞれ関連付ける情報である。この関連付け情報により、クラウドサービス装置5は、パラメータの発話順序又はニュアンスが多少変わっても、正しい解釈が可能となる。同様に、関連付け情報は、ユーザが行ったジェスチャ操作に係る画像情報及びエンティティ情報、並びに、ジェスチャ操作に係る画像情報及びインテント情報を、それぞれ関連付ける情報である。この関連付け情報により、クラウドサービス装置5は、パラメータのジェスチャ操作の大きさや速さなどが多少変わっても、それらの変化を包含する解釈を行うため、正しい解釈が可能となる。また、関連付け情報は、発話された内容及び行われたジェスチャに基づいてレスポンスのテキスト(解釈結果)を生成してもよい。なお、辞書情報は、上述したAIアシスタントサーバ装置4と一部機能を共通にする。
さらに、エンティティ情報には、関連付け情報の一例としてのパラメータに係る類義語も関連付けられて記憶されている。この類義語には、例えば、「プリント」や「プリントして」といった発話内容に対して、「印刷する」、「印刷」、「印刷して」等がMFP6に対する同じ命令及び処理を与えるものとして対応付けられている。このような類義語を登録することで、クラウドサービス装置5は、例えば、MFP6を用いて原稿を印刷する場合に、「これプリントして」と発話しても、「これ印刷して」と発話しても、同様の処理を行うパラメータとして設定することができる。つまり、クラウドサービス装置5は、同様の処理として解釈をすることができる。
(対話型動作)
本実施形態の命令処理システムでは、ユーザのジェスチャ操作によって与えられた画像データ、及びユーザによって与えられた音声データに基づいて、システムが応答する対話型システムによる対話型動作を実現している。この対話型動作は、上述したように、スマートスピーカ2のフィードバック部253によって実行される動作の一つである。また、命令処理システムは、対話等に必要な定型文を応答する以外に、例えば、MFP6における印刷処理に係る特有の応答として、「入力不足フィードバック」及び「入力確認フィードバック」の、2種類の応答をする。これによって、命令処理システムは、対話によるMFP6における印刷処理等を可能とする対話型操作システムを実現している。
「入力不足フィードバック」は、MFP6における印刷処理を実行するために必要な情報が揃っていない場合にスマートスピーカ2から出力される応答である。さらに、「入力不足フィードバック」は、ユーザのジェスチャ操作によって与えられた画像データ、及びユーザによって与えられた音声データのうち、少なくとも一方の入力内容を認識できなかった場合、又は、ジェスチャ操作及び音声操作による入力内容に必要な項目(以下、「必須パラメータ」という)が不足している場合にスマートスピーカ2から出力される。換言すれば、必須パラメータ以外の項目(以下、単に「パラメータ」ともいう)については、ユーザから指示されていない場合であっても命令への変換に支障はないと判断して入力不足フィードバックを行う必要はない。一方で、「入力不足フィードバック」は、パラメータ以外にも、MFP6における印刷処理等において必要な機能を確認する処理を含んでもよい。
対話型動作では、フィードバック部253は、クラウドサービス装置5が通信接続中の命令実行装置の種類に応じて、ユーザに確認する機能及びパラメータを変更してもよい。この場合、AIアシスタントサーバ装置4の機器情報取得部457が、命令実行装置との通信が確立した後の所定のタイミングで命令実行装置の種類及び機能を示す情報を取得する。その後、機器情報取得部457は、取得した情報に基づいて、フィードバック部253がユーザに確認する機能及びパラメータを決定してもよい。
例えば、命令実行装置の種類が複合機(MFP6)である場合、フィードバック部253は、MFP6での印刷処理に必要な項目(ユーザ名、使用日時、等)をユーザに確認することができる。更に、フィードバック部253は、MFP6で使用される備品リソース等の情報をユーザに確認してもよい。また、機器情報取得部457は、ユーザから指定された設定条件に応じて必須パラメータを変更してもよい。例えば、ユーザが指定した印刷の条件がステープル処理付き印刷の場合は、機器情報取得部457は、ステープル処理に必要な具体的な条件(例えば、ステープラが装着されているか、等)を必須パラメータとして設定してもよい。
「入力確認フィードバック」は、MFP6での印刷処理を実行するために必要な情報が揃った場合に行われる応答である。つまり、「入力確認フィードバック」は、全ての必須パラメータについて指示された場合に行われる。また、「入力確認フィードバック」は、現在の設定値で印刷処理を実行するか、又は、設定値を変更するかの選択をユーザに促すために行われる。なお、「入力確認フィードバック」が行われることによって、現在の設定値で印刷処理を実行するか否かを確認するために、ユーザにより指示された全てのパラメータ(必須パラメータか必須パラメータ以外のパラメータかに関わらず)を、ユーザに確認することができる。
(クラウドサービス装置からフィードバックされる情報の例)
上述の説明では、スマートスピーカ2のフィードバック部253はレスポンス情報に含まれるテキストデータ及び音声データを出力することとして説明した。しかし、フィードバック部253は、スマートスピーカ2のROM23等の記憶部に記憶されたテキストデータに基づいて、レスポンス情報に対応するテキストデータを形成し、フィードバック出力(音声出力及びテキスト出力のうち少なくとも一つ)を行ってもよい。なお、具体的なフィードバックの内容は後述する。
次に、紐づけ用DB402の具体例について図5を用いて説明する。図5は、命令処理システムで用いられる紐づけ用DB402で管理されるデータテーブルの一例である。例えば、本実施形態では、デバイスIDとして「ud1001」を有するスマートスピーカ2から原稿の印刷指示が与えられた命令実行装置の名称は、「MFP_#1」であり、「MFP_#1」の装置IDは、「d0001」である。以下、詳細な説明は省略するが、図5に示した紐づけ用DB402の装置管理テーブル402bは、データ取得装置名毎に、データ取得装置のデバイスID、命令実行装置名及び装置IDが関連付けられている。すなわち、紐づけ用DB402には、各スマートスピーカ2とMFP6とを特定できるように、各スマートスピーカ2のデバイスIDとMFP6の装置IDとがそれぞれ関連付けられて記憶されている。なお、図5に示したそれぞれのIDの種類及び値は一例であり、上述した内容に限らない。
<MFPの機能構成>
MFP6のCPU601は、クラウドサービス装置5から送信された印刷命令及びファイル出力命令等の各種命令に基づいて、HDD609等の記憶手段に記憶された印刷実行プログラムをRAM602bに展開して実行する。CPU601は、この印刷実行プログラムを実行することで、例えば、通信制御部651、命令受信部652、判断部653、命令実行部654、通知部655及び記憶・読出処理部656(以下、通信制御部651~記憶・読出処理部656とも記載する)として機能又は機能する手段を構成する。
<MFPの各機能構成>
次に、MFP6の各機能構成について説明する。通信制御部651は、AIアシスタントサーバ装置4の通信制御部451とネットワーク7を介して通信を行う。但し、クラウドサービス装置5と直接通信を行ってもよい。
命令受信部652は、MFP6で実行される印刷命令及びファイル出力命令等の各種命令を、クラウドサービス装置5から受信する。つまり、命令受信部652は、クラウドサービス装置5又はAIアシスタントサーバ装置4から各種命令を受信する受信手段の一例として機能又は機能する手段を有する。
判断部653は、命令受信部652が印刷命令及びファイル出力命令等を受信した場合、各命令に係る情報(命令実行装置名、命令実行装置の装置ID、ユーザ名及びユーザID、等)に基づいて、HDD609等の記憶部に記憶された各種情報の検索を行い、印刷命令及びファイル出力命令の実行対象となるファイルを特定する。
命令実行部654は、命令受信部652で受信した印刷命令に基づいて、MFP6において印刷処理を実行する。また、命令実行部654は、例えば、命令受信部652が印刷命令を受信した場合、印刷命令に含まれる上述の各種情報に基づいて、HDD609等の記憶部に記憶された印刷処理の状況を更新する。一方、MFP6が何らかの原因で印刷処理ができない場合は、MFP6からステータス信号等を受信して、外部にエラーを通知してもよい。その際、エラー通知はMFP6から直接スマートスピーカ2に送信される。また、エラー通知の受信に伴い、印刷処理に係る取消要求を取得した場合は、命令実行部654は、条件に一致するMFP6の印刷処理を記憶部から削除する。
上述したように、命令実行部654は、スマートスピーカ2に対してユーザが行うジェスチャ操作及び音声操作によって与えられた、MFP6に対する印刷指示及びファイル出力指示等の内容に基づく印刷命令及びファイル出力命令等を実行する命令実行手段の機能として機能又は機能する手段を有する。本実施形態では、命令実行部654は、MFP6における印刷処理を例に説明したが、実行される処理が印刷処理に加えて外部装置へのファイル送信及びストレージへの保存等を行うことも可能である。その場合は、命令実行部654は、通信制御部651と協働して、命令実行装置で受信したそれぞれのファイル及びデータを所定の出力要求に含まれる出力形式で出力(送信)することが可能である。つまり、通信制御部651は、ファイル送信手段の一例として機能又は機能する手段を有する。
通知部655は、MFP6の状態をスマートスピーカ2に通知する。通知される内容は、例えば、MFP6における印刷処理及びその他の動作に係る情報、並びにMFP6の起動又はログイン等に関する情報である。なお、通知部655は、ユーザから与えられた原稿の印刷指示を受け付けた時点で、上述した各種情報をスマートスピーカ2に通知してもよい。一方で通知部655は、受信した印刷命令に含まれる印刷処理の開始時刻になったら上述した各種情報をスマートスピーカ2に通知してもよい。また、印刷命令に含まれる原稿の印刷処理の内容に重複があった場合、又は印刷処理の開始時刻の所定時間前(例えば、10分前)にMFP6に故障等が発生した場合は、通知部655は、通信制御部651を介してスマートスピーカ2に対して、メール及び画像配信等で印刷処理に係る内容の重複及び故障等に関する通知を行ってもよい。
記憶・読出処理部656は、HDD609等の記憶部を制御して、各種データの読出し、書込みを行う。
なお、本実施形態では、通信制御部651~記憶・読出処理部656をソフトウェアで実現することとしたが、これらのうち、一部又は全部を、IC(Integrated Circuit)等のハードウェアで実現してもよい。
〔実施形態の処理又は動作〕
●第1の実施形態
以下、図5乃至図10を用いて、本発明の第1の実施形態について説明する。
<命令処理システムの処理の概要>
第1の実施形態に係る命令処理システムの特徴は、以下のとおりである。まず、スマートスピーカ2は、被写体を撮影して取得した画像データ、スマートスピーカ2のデバイスID及び画像データに係る画像に対する命令を示す印刷指示を情報認識サーバ装置3に送信する。その後、情報認識サーバ装置3は、AIアシスタントサーバ装置4と協働してクラウドサービス装置5を構成し、画像データ、デバイスID及び印刷指示に基づいて、複数の画像データのうち特定した特定の画像データと第2の命令情報とを、MFP6に送信することである。
このような特徴により、ユーザが行ったジェスチャ操作及び音声操作に基づいて、AIアシスタントサーバ装置4が所定の命令に変換し、変換した命令をMFP6に送信することで、MFP6が所定の命令を実行することができるようになる。以下に、その詳細を説明する。
図8は、第1の実施形態に係るユーザのジェスチャ操作及び音声操作に基づく処理の一例を示すシーケンス図である。第1の実施形態では、AIアシスタントサーバ装置4からMFP6に対する原稿の印刷命令を送信する処理について説明する。具体的には、第1の実施形態では、ユーザのジェスチャ操作によって特定された原稿の画像データ、及び音声操作によって得られた命令を示す印刷指示に基づいて、AIアシスタントサーバ装置4からMFP6の一つであるMFP_#1に対して印刷命令を送信し、MFP_#1で印刷処理を行う場合を例示する。なお、本実施形態においては、所定の通信プロトコルによって、少なくともスマートスピーカ2、情報認識サーバ装置3及びAIアシスタントサーバ装置4との間の通信が確立しているものとする。以下に図8の各シーケンス図における処理を示す。
本実施形態に係る命令処理システムでは、まずユーザは、自らが使用するスマートスピーカ2に対して、発話を伴う音声操作等により自身のユーザ名及びユーザIDの少なくとも一方を入力する。スマートスピーカ2は、ユーザによりユーザ名及びユーザIDの少なくとも一方がマイクロホン29を介して入力されると、ユーザ名及びユーザIDの少なくとも一方とスマートスピーカ2の装置名及びデバイスIDの少なくとも一方との関連付けを行う。上述の関連付けにより生成されたデータテーブルの一例が、図5のユーザ管理テーブル402aである。
次にユーザは、ユーザが保持する原稿の所望のページ(先頭ページ等)を開いてスマートスピーカ2のカメラ30に原稿を翳しながら、そのページの所望の箇所を指先やスタイラスペン等のペン先で指し示す。このとき、ユーザは、音声操作によりスマートスピーカ2のマイクロホン29に、例えば、「これ印刷して」と発話してもよい。つまり、ユーザのジェスチャ操作及び音声操作により、スマートスピーカ2の取得部252は、ユーザから与えられた画像データ及び音声データを、カメラ30及びマイクロホン29の少なくとも一方を介して取得する(ステップS101)。なお、ボールペン、サインペン、マーカーペン及びスタイラスペンなどのペン先を有する各種ペン類、並びに、鉛筆を含む木製の棒、プラスチック製の棒及び金属製の棒などの棒状の物体は、所定の器具の一例である。このとき、音声操作に代えて、スマートスピーカ2に備えられた操作部の特定の操作ボタン等をユーザが押下することにより、MFP6に対する印刷指示を示すデータとしてスマートスピーカ2に与えられるようにしてもよい。なお、ユーザが押下する操作部の特定の操作ボタンは、命令を示す印刷指示を受け付ける手段又は機能の一例である。
上述したように、ユーザによる音声操作を受け付けることで、スマートスピーカ2は、ジェスチャ操作だけによる操作よりもさらに正確な原稿の印刷指示をユーザから取得することができる。なお、ユーザが保持する原稿の印刷指示に関する内容であれば、発話内容は上述したものに限定されない。さらに、ユーザがカメラ30に原稿を翳した場合は、必ずしも発話による情報を与えなくてもよい。例えば、ユーザがその原稿を叩くジェスチャ操作をすることによって、原稿を叩くジェスチャ操作が「これ印刷して」という意味を持たせるように関連付けて処理を行うようにしてもよい。
次に、取得部252は、音声操作に基づいて取得した音声データ、デバイスID、デバイス位置情報及びユーザIDを含む情報を、通信制御部251を介して情報認識サーバ装置3の操作音声変換プログラムに送信する(ステップS102)。ここで、上述した「これ印刷して」のようなユーザの音声操作に基づいて取得された音声データは、上述した印刷指示に相当し、第1の命令情報の一例である。
上述したユーザIDについてそのIDを特定する方法として、ここで、上述した「これ印刷して」のようなユーザの音声操作に基づいて取得された音声データは、上述した印刷指示に相当し、第1の命令情報の一例である。例えば、以下の方法がある。スマートスピーカ2をあるユーザが使用する場合、そのスマートスピーカ2に向けて自分の名前をマイクロホン29に向けて発話する。この発話を伴う音声操作による名前の入力を受けて、情報認識サーバ装置3の取得部352は、入力された名前のテキスト化を行う。続いて、AIアシスタントサーバ装置4の変換・選択部453は、上述したユーザ管理テーブル402aで記憶、管理されているユーザ名を照合して、発話をしたユーザのユーザIDを特定する。なお、ユーザIDを特定する方法として、名前の入力に代えてユーザのメールアドレス等がユーザによって発話されるようにしてもよい。さらに、スマートスピーカ2のカメラ30を使用して撮影されたユーザの顔写真等に係る撮影画像とユーザIDとが照合されるようにしてもよい。さらに、ユーザIDを特定する方法として、スマートスピーカ2に備えられた操作部にユーザ名及びユーザIDの少なくとも一方が入力されるようにしてもよい。
また、別の例として、スマートスピーカ2及びそのスマートスピーカ2を利用するユーザが変わり、新たなユーザID及びデバイスIDの組合せでMFP_#1における印刷等に関する情報が与えられたときは、管理部459は、それらの情報をAIアシスタントサーバ装置4のHDD44等の記憶部に記憶、管理された各データテーブルのMFP_#1の項目に追加、更新してもよい。
なお、デバイスIDは、ユーザに関連付けられたスマートスピーカ2を特定する情報の一例であり、ユーザ管理テーブル402aに示したとおりである。通信制御部251は、例えば、デバイスIDに代えて又は加えて、スマートスピーカ2の位置を示す位置情報、スマートスピーカ2を使用するユーザ個人を特定するユーザID、ユーザ名又はユーザの所属する組織等の個人を特定する情報を送信してもよい。
同様に、取得部252は、ジェスチャ操作に基づいて取得した画像データ、デバイスID、デバイス位置情報及びユーザIDを含む情報を、通信制御部251を介して情報認識サーバ装置3の操作画像変換プログラム及び操作音声変換プログラムに送信する(ステップS103)。このとき、取得部252は、操作画像変換プログラムに対して、画像データ及び画像データに含まれる原稿を特定するための特定の情報(以下、「原稿特定情報」という)を送信する。なお、ステップS103において、取得部252は、送信されるデバイスID、デバイス位置情報及びユーザIDがステップS102で送信される内容と同じである場合は、これらの情報の送信を省略してもよい。さらに、スマートスピーカ2は、上述したステップS102及びS103の処理の順番を入れ替えて実行してもよい。さらに、スマートスピーカ2は、ステップS102及びS103の処理をまとめて実行してもよい。
原稿特定情報は、カメラ30で撮影した原稿の画像全体を示す画像データでもよいし、撮影した原稿のうち原稿の一部を抽出した画像を示す画像データであってもよい。また、原稿の画像中にバーコード、QRコード(登録商標)、並びに、その原稿に係る画像ファイルを特定するためのキーワード及びテキスト情報等が含まれる場合には、原稿特定情報は、それらの情報が含まれる領域を切り出した画像を示す画像データであってもよい。なお、撮影した原稿の画像データに含まれるバーコード、QRコード等の抽出は、情報認識サーバ装置3の抽出部353によって行われる。QRコードを解析することで得られた情報、又は原稿の画像の一部若しくは全部に対してOCRで抽出したテキストデータのうちのいずれかであってもよい。上述したQRコードを解析することで得られた情報は、例えば、ファイル名、ファイルID及びファイルの保存場所を示す情報等を含む。
続いて、情報認識サーバ装置3の取得部352は、通信制御部351を介して、デバイスID、デバイス位置情報及びユーザIDを含む情報とあわせてスマートスピーカ2から送信された原稿の画像及び印刷指示を含む画像データ並びに印刷指示を含む音声データを取得する。その後、情報認識サーバ装置3の抽出部353は、スマートスピーカ2から送信された画像データに対して画像データに係る画像から所定の領域を抽出するとともに、スマートスピーカ2から送信されたユーザの意図を表す音声データをテキスト化する(ステップS104)。
なお、取得部352は、スマートスピーカ2に備えられた音声データを得るための取得部252の機能を兼ね備えてもよい。その場合、取得部352は、例えば、マイクロホン29を介して集音されたユーザの指示音声、及びカメラ30を介して取得されたユーザの指示画像を、スマートスピーカ2のデバイスID及びユーザのユーザIDとあわせて取得する機能を有する。つまり、取得部352は、上述したステップS102及びステップS103の機能を兼用する。このような取得部352は、スマートスピーカ2の取得部252と同様に、データ取得手段の一例として機能又は機能する手段を有してもよい。つまり、情報認識サーバ装置3は、データ取得手段を備えるサーバ装置の一例として機能又は機能する手段を有してもよい。
上述したように、情報認識サーバ装置3の抽出部353は、スマートスピーカ2から取得した音声データをテキスト化する。このテキスト化の処理は、例えば、「これ印刷して」という内容の音声操作に基づく音声データをテキストデータに変換する処理を行う。
続いて、抽出部353は、AIアシスタントサーバ装置4で実行される画像アシスタントプログラムに対して、画像データに含まれる特徴的なデータから所定の領域を抽出して原稿を特定する原稿特定情報を要求する。また、抽出部353は、所定の領域を抽出して得られた原稿特定情報から印刷対象となる画像データ(ファイル)を決定するために、AIアシスタントサーバ装置4で実行される画像アシスタントプログラムに対して取得した画像データを、通信制御部351を介してAIアシスタントサーバ装置4に送信するさらに、抽出部353は、AIアシスタントサーバ装置4で実行される音声アシスタントプログラムに対して辞書情報を要求するために、テキスト化した音声データを、通信制御部351を介してAIアシスタントサーバ装置4に送信する(ステップS105)。なお、上述した原稿特定情報の要求及び辞書情報の要求は、一度のタイミングでAIアシスタントサーバ装置4に送信されてもよいし、時間を分けて送信されてもよい。
原稿特定情報の要求及び辞書情報の要求を受信したAIアシスタントサーバ装置4は、画像アシスタントプログラム及び音声アシスタントプログラムを実行する。画像アシスタントプログラム及び音声アシスタントプログラムが実行されることにより機能する取得部452は、情報認識サーバ装置3から送信された特徴的なデータから原稿特定情報を作成する。具体的には、取得部452は、HDD44等の記憶手段に設けられた紐づけ用DB402を検索し、印刷対象特定テーブル402cに含まれる原稿特定情報と送信元のスマートスピーカ2のデバイスIDから、送信された画像データからその画像データに係る原稿特定情報を取得する。さらに、取得部452は、テキスト化された音声データから辞書情報を取得する。その後、取得部452は、抽出した原稿特定情報及び作成した辞書情報を情報認識サーバ装置3で実行される操作画像変換プログラム及び操作音声変換プログラムにそれぞれ提供(送信)する(ステップS106)。
続いて、情報認識サーバ装置3で操作画像変換プログラム及び操作音声変換プログラムが実行されることにより、生成部354は、スマートスピーカ2から送信された画像データ及びその画像データに係る原稿特定情報、並びにテキスト化された音声データを解釈する。続いて、生成部354は、ユーザが行ったジェスチャ操作及び音声操作に対応したインテント(Intent)とパラメータ(Parameter)を生成する(ステップS107)。具体的には、生成部354は、画像アシスタントプログラムから取得した原稿特定情報及び音声アシスタントプログラムから取得した辞書情報に基づいて、テキストデータに含まれる単語及び所定の意味を持つことば等が辞書情報と一致しているか否かを判断する。つまり、テキスト解釈を行う。テキストデータに含まれる単語及び所定の意味を持つことば等が辞書情報と一致している場合、生成部354は、ユーザから指示された内容に対応したインテント及び各種処理の実行条件等の変数を示すパラメータを生成する。
ここで、インテントとは、MFP6に対して送信する印刷要求などの各種処理の対象、種類等を示す情報であり、パラメータとは、各種処理の設定等を示す情報である。本実施形態の場合、インテントは、例えば、MFP6に対して要求するジョブの種類を示す情報、すなわちMFP6に対する印刷要求を示す情報であり、パラメータは、そのインテントに関連する内容、例えば、MFP6に対して要求するジョブに関連する情報、すなわちMFP6で実行される印刷時の付随情報を示す情報である。
但し、上述した内容に限定されず、インテント又はパラメータ中にMFP6に対して印刷対象となるファイル検索を要求する情報を含めてもよい。なお、後述するように情報認識サーバ装置3又はAIアシスタントサーバ装置4によって印刷対象が特定される場合には、パラメータは、ファイル名やファイル保存場所を示す情報等のファイルを特定するための情報であってもよい。
続いて、生成部354は、生成したインテント、パラメータ、スマートスピーカ2のデバイスID及びジェスチャ操作で得られた画像データを、通信制御部351を介してAIアシスタントサーバ装置4で実行される管理プログラムに送信する(ステップS108)。管理プログラムは、インテントとパラメータに基づいて必須パラメータが充足しているか否かを判断する。必須パラメータとしては、印刷枚数、カラー/モノクロ等の任意の条件を設定することができる。
<情報の補完処理、印刷命令への変換及び画像データの特定の概要>
次に、クラウドサービス装置5で実行される情報の補完処理、印刷命令への変換及び画像データの特定の一例を説明する。ここでの処理は、主に、ユーザのジェスチャ操作に伴う画像データ及び音声操作に伴う音声データから、印刷命令への変換と印刷対象となる画像データ等の特定が行われる。印刷命令への変換には、インテント及びパラメータが必要となる。
まず、AIアシスタントサーバ装置4の変換・選択部453は、取得部452で取得されたインテント、パラメータ及びスマートスピーカ2のデバイスID等に基づいて、命令実行装置に対する印刷命令に変換する。このとき、インテントには、命令実行装置の一例である「MFP_#1」が与えられる。以下、命令実行装置としてMFP_#1を例に説明するが、装置管理テーブル402bに例示したような命令実行装置であれば、その種類は問わない。さらに、パラメータについて、装置管理テーブル402b及び印刷対象特定テーブル402cに例示したような内容であれば、その種類は問わない。
変換・選択部453によるデータ変換に伴い、管理部459は、ユーザ管理テーブル402aに示すスマートスピーカ2のデバイスID、ユーザ名及びユーザID、並びに装置管理テーブル402bで管理される情報に基づいて、印刷に用いられるMFP_#1を特定する。なお、MFP_#1を特定する場合、管理部459は、装置管理テーブル402bで記憶、管理されている各種情報を利用する。つまり、管理部459は、データ取得装置のデバイスIDに基づいて命令実行装置の装置IDを照合し、命令実行装置を特定する。
さらに補完部455は、ユーザによって与えられた音声データに対して、紐づけ用DB402に記憶された装置管理テーブル402b及び印刷対象特定テーブル402cを参照して、MFP_#1で実行される命令の変換(生成)に必要な情報を補完する(ステップS109)。しかし、この装置管理テーブル402b及び印刷対象特定テーブル402cを参照してもなお命令に係る必須パラメータの生成に必要な情報を補完できない場合は、補完部455は、スマートスピーカ2を介してユーザにフィードバックを行い、必須パラメータの生成に必要な情報の入力(取得)をユーザに促すよう制御してもよい。なお、補完に係る補完処理は、補完手段の一例として機能又は機能する手段を有する補完部455により行われる。
このとき、管理部459は、紐づけ用DB402に対して、デバイスID、ユーザID及び命令実行装置名(MFP_#1等)を関連付けて、ユーザ管理テーブル402a及び装置管理テーブル402bとして登録することができる。
但し、ユーザから発話された内容が単に「プリントして」のように原稿の印刷に係る印刷部数等が含まれていない場合は、AIアシスタントサーバ装置4の補完部455は、後述するフィードバック処理によって、スマートスピーカ2に対して「何部印刷しますか?」、「後処理はしますか?」等の問合せを音声で行うように制御する。この問合せには、各種パラメータを補完するための情報が含まれる。つまり、本実施形態に係る命令処理システムは、ユーザによるジェスチャ操作及び音声操作の少なくとも一方のうち、一つの内容に対して一つの質問(1対1のフィードバック処理)が行われることを前提とする。但し、命令処理システムは、ユーザが発話した複数の内容に対して一つの質問(多対1のフィードバック処理)、又は、ユーザが発話した一つの内容に対して複数の質問(1対多のフィードバック処理)が行われるように制御されてもよい。
<情報の補完処理、印刷命令への変換及び画像データの特定の詳細)
上述したステップS109の処理の詳細について、以下に、図9に示されているフローチャートを用いて説明する。図9は、第1の実施形態に係る情報の補完及び問合せ処理、並びに印刷命令の変換処理の一例を示すフローチャートである。なお、図9のフローチャートは、主に、管理プログラムが実行されることで動作する。
図9では主に、変換・選択部453及び実行判定部454が、以下に示す画像データ及び各種情報に基づいて、スマートスピーカ2で取得された画像データ及び音声データから、印刷対象となる画像データ又は画像ファイルを特定し、印刷命令に変換する。この画像データ及び各種情報には、スマートスピーカ2で取得された画像データ、音声データ及びスマートスピーカ2を識別するデバイスID、並びに、各種データテーブルで示される印刷に係る属性情報及びMFP6を識別する命令実行装置ID等が含まれる。以下に記載する内容は、印刷対象となる画像データ又は画像ファイルを特定する処理、並びに、印刷命令に変換(印刷命令を生成)する処理の詳細である。
まず、AIアシスタントサーバ装置4の取得部452は、ステップS108の処理で情報認識サーバ装置3からインテント、パラメータ、デバイスID及び画像データを取得する(ステップS1001)。
続いて、実行判定部454は、取得したインテント、パラメータ、デバイスID及び画像データ等の各種データから、命令実行装置として設定されるMFP_#1における印刷処理に必要な必須パラメータを充足するか否かを判断する(ステップS1002)。この必須パラメータとは、例えば、受信したパラメータのうち印刷の対象となる原稿の属性情報を特定するための情報である。つまり、必須パラメータには、上述したデータテーブルに記憶、管理されるファイルのファイル形式、印刷時の部数、カラー/モノクロ設定、ファイル送信時の宛先等の任意の条件が設定される。
また、この必須パラメータは、上述した印刷対象特定テーブル402cとして、上述したAIアシスタントサーバ装置4のHDD44等の記憶部に予め記憶させておき、適宜設定することもできる。さらに、この必須パラメータは、ユーザ及び命令実行装置の組合せ等にしたがって適宜必須パラメータと通常のパラメータを入れ替えることも可能である。つまり、ある条件では必須パラメータとして定義されたものでも、別の条件では通常のパラメータとして管理してもよい。
この必須パラメータを充足するか否かの判断について、実行判定部454は、例えば、ユーザ名、ユーザID及び印刷に必要となる情報が、取得したインテント、パラメータ及びデバイスID等のデータに含まれているか否かを確認する。上述の判断は、具体的には、実行判定部454が、紐づけ用DB402に記憶されたユーザ管理テーブル402a、装置管理テーブル402b及び印刷対象特定テーブル402c等の各種データテーブルを参照することで実現される。
続いて、取得したインテント、パラメータ及びデバイスID等のデータから、必須パラメータを充足すると判断された場合(ステップS1002;Yes)、実行判定部454は、取得した画像データに対して印刷対象特定テーブル402c及び印刷対象特定テーブル402dを参照する(ステップS1003)。
続いて、実行判定部454は、取得したインテント及びパラメータ、又は参照した印刷対象特定テーブル402cに基づいて、MFP6に対する印刷命令に変換可能か否かを判断する。すなわち、実行判定部454は、音声データ又は原稿特定情報から印刷命令に変換可能か否かを判断する(ステップS1004)。例えば、ユーザが原稿をスマートスピーカ2のカメラ30に翳した状態で「これ印刷して」と発話した場合について説明する。実行判定部454は、ユーザのジェスチャ操作及び音声操作に伴う印刷指示に対して、印刷対象特定テーブル402cに示される印刷命令変換条件が満たされるか否かを判断する。例えば、実行判定部454は、ユーザがスマートスピーカ2のカメラ30に原稿を翳すことによって取得した原稿の画像にテキスト情報が含まれると判断した場合を考える。この場合、印刷対象特定テーブル402cに示されている例では、印刷命令変換条件の「画像中にテキスト情報が含まれる」という条件と一致するため、実行判定部454は、必須パラメータの一つを充足するとして印刷命令に変換可能であると判断する。
印刷命令に変換可能と判断された場合(ステップS1004;Yes)、実行判定部454は、さらに、取得した画像データに係る原稿特定情報から、管理DB401及び紐づけ用DB402に記憶、管理されている印刷対象が特定可能か否かを判断する(ステップS1005)。
なお、ステップS1005で実行される必須パラメータの充足判断において、変換・選択部453は、ユーザが、スマートスピーカ2のカメラ30に翳した原稿に含まれる原稿特定情報から、MFP_#1で印刷される画像データ又は画像ファイル(以下、「印刷対象」という)を特定する。この特定に係る処理は、まず、変換・選択部453がユーザ管理テーブル402a、装置管理テーブル402bを参照してスマートスピーカ2のデバイスIDとユーザIDとの関連付けを確認する。図5では、変換・選択部453は、u0001のユーザIDをもつ「Hamada」というユーザ名をもつユーザが、スマートスピーカ2として「AIスピーカ1」を使用していることを把握する。この印刷対象の特定については、後程詳細に説明する。なお、本実施形態では、命令実行装置としてMFPが適用されるため、印刷に用いられる画像データ又は画像ファイルは印刷対象として扱われるが、命令実行装置がプロジェクタ等の画像表示装置であれば、画像データ又は画像ファイルは表示に用いられる表示対象として扱われる。
上述したように、原稿の画像中に原稿特定情報が含まれる場合には、変換・選択部453は、原稿特定情報で示される領域を切り出した画像データを生成してもよい。また、原稿の画像中にバーコード、QRコード等のコード情報が含まれる場合には、変換・選択部453は、それらのコード情報を解析することでファイルを特定する情報(ファイル名、ファイルID、ファイルの保存場所を示す情報等)を取得してもよい。さらに、変換・選択部453は、原稿の画像中のテキストに対してOCRを用いてテキストデータを取得してもよい。
実行判定部454は、図5Cに示されている印刷対象特定テーブルの印刷対象特定条件を満たすか否かを判断する。例えば、実行判定部454は、画像中に含まれるテキスト情報と一致するテキストを含むファイルが管理DB401に記憶されているかを検索する。ここで、実行判定部454は、管理DB401に記憶、管理されているファイル(複数の画像データを含む画像ファイル)のうち、スマートスピーカ2を使用するユーザがアクセス可能なファイルを検索対象とすることができる。例えば、実行判定部454は、u0001のユーザIDを持つ「Hamada」というユーザ名に対応するファイルのみを検索対象とする。また、スマートスピーカ2で撮影された原稿の画像中に「リスト」という文字列で示されるテキスト情報が含まれていた場合、実行判定部454は、「リスト」というテキスト情報を含むタイトルを有するファイルとして、例えば、「テーマAの出願リスト.doc」を印刷対象として特定する。つまり、図5Cに示されている例では、原稿の画像中に含まれる「リスト」というテキスト情報が印刷対象特定テーブル402cの「テキスト情報を含むファイルが管理DBに存在する」という印刷対象特定条件を満たすため、実行判定部454は、その原稿に対して印刷対象を特定可能と判断する。なお、「リスト」のように原稿の画像中に含まれるテキスト情報は、原稿特定情報の一例である。上述した印刷対象の特定方法については、後述する。
印刷対象を特定可能と判断された場合(ステップS1005:Yes)、実行判定部454は、変換・選択部453に対して印刷命令への変換を要求し、変換・選択部453は、印刷命令への変換及び印刷対象の特定を行い、このフローを抜ける(ステップS1006)。具体的には、変換される印刷命令によって印刷対象となるファイルは、原稿特定情報である「リスト」と複数の画像データ例とを照合して特定された特定の画像データ(印刷対象)を示す「テーマAの出願リスト.doc」である。この「テーマAの出願リスト.doc」が、AIアシスタントサーバ装置4が複数の画像データのうち特定した特定の画像データの一例である。なお、上述した特定の画像データを特定する手法は、人工知能(AI)を用いた類似検索機能等により、類似する文字列、類似する画像及び類似する概念等から特定するようにしてもよい。
一方、取得したインテント、パラメータ及びデバイスID等のデータから、必須パラメータを充足しないと判断された場合(ステップS1002;No)、実行判定部454は、情報の補完処理を行う。さらに、実行判定部454は、ユーザに対して必須パラメータの問合せをするためにこのフローを抜け、フィードバック処理(ステップS110)に移行する(ステップS1007)。
また、音声データから印刷命令に変換不可能と判断された場合(ステップS1004;No)、実行判定部454は、取得した音声データ及び原稿に係る画像データのいずれからも印刷命令への変換及び印刷対象となる画像データ等を特定できないとして、ユーザに対して音声データに基づく必須パラメータ及び原稿特定情報の問合せをするためにこのフローを抜け、フィードバック処理(ステップS110)に移行する(ステップS1008)。
さらに、画像データ又は画像ファイルを特定不可能と判断された場合(ステップS1005:No)、実行判定部454は、取得した原稿に係る画像データからは印刷対象となる画像データ等を特定できないとして、ユーザに対して原稿の問合せをするためにこのフローを抜け、フィードバック処理(ステップS110)に移行する(ステップS1009)。なお、ステップS1007,S1008及びS1009で実行されるフィードバック処理では、実行判定部454は、通知・提供部458を制御してユーザに対するメッセージ等の内容を適宜変えてもよい。
以上、図9のフローチャートについて説明したが、図9での処理の主体である実行判定部454の機能は、画像アシスタントプログラム及び音声アシスタントプログラムが実行されることにより機能するようにしてもよい。さらに、実行判定部454に代えて、又は協働して、変換・選択部453、機器情報取得部457等が、実行判定部454が行う各機能を実行するようにソフトウェアが構築されてもよい。
(情報の補完処理の具体例)
図8に戻り、AIアシスタントサーバ装置4の実行判定部454は、取得したインテント及びパラメータ等から必須パラメータを充足するか否かを判断する。その後、機器情報取得部457は、紐づけ用DB402に記憶されたデータテーブルを参照して、必須パラメータの生成に関連する情報を補完する。必須パラメータの生成に関連する情報としては、印刷における原稿及び命令実行装置(MFP_#1、等)を特定するための情報等が挙げられる。具体的には、印刷部数、印刷色、命令実行装置の装置名等の情報である。しかし、必須パラメータの生成に関連する情報、装置管理テーブル402b及び印刷対象特定テーブル402cを参照してもなお必須パラメータの生成に必要な情報を補完できない場合は、機器情報取得部457は、必須パラメータを補完するための問合せとして、スマートスピーカ2に対して、不足しているパラメータの要求を送信する(ステップS110)。
さらに、ステップS109で機器情報取得部457からパラメータの要求を受信したスマートスピーカ2の取得部252は、受信したパラメータの要求をフィードバック部253に転送する。フィードバック部253は、パラメータの要求に相当する情報を音声に変換して通信制御部251を介してユーザにフィードバックを行い、必須パラメータの生成に必要な情報の入力をユーザに促すよう制御する(ステップS111)。なお、ステップS110及びS111の各処理は、図9に示されているフローチャートのステップS1006の処理に相当する。但し、図9でステップS1006の処理の実行が不要と判断された場合は、上述したステップS110及びS111の処理は行われない(省略される)。
続いて、実行判定部454は、上述した補完処理に基づいて、必須パラメータの充足判断を行う。その際、実行判定部454は、補完処理によって補完された内容でもなお必須パラメータが充足していないと判断した場合は、必須パラメータを問い合わせるためのレスポンス情報を生成する。このレスポンス情報の生成に基づいて、通知・提供部458は、生成されたレスポンス情報をスマートスピーカ2に対して送信し、スマートスピーカ2から出力される音声等によってユーザに周知する。
なお、実行判定部454は、必須パラメータが充足していない場合は、必須パラメータが充足するまでパラメータを指定するようなレスポンス情報を生成して、スマートスピーカ2を介してユーザに問合せを継続するように機能する。
また、必須パラメータは、ステップS102でスマートスピーカ2から取得したデバイスID及びユーザIDのうち少なくとも一つに基づいて変更されてもよい。また、必須パラメータには、MFP_#1を使用するユーザのユーザ名、ユーザID等が含まれていることが好ましい。但し、ユーザが音声操作等によってMFP_#1のユーザ名、ユーザID等を設定しなかった場合、実行判定部454は、ステップS102でスマートスピーカ2から取得したデバイスID及びユーザIDのうち少なくとも一つによってユーザを特定できるか否かを判断する。例えば、ある1台のスマートスピーカ2は、一人のユーザによって占有される場合があり得る。そこで、実行判定部454は、スマートスピーカ2のデバイスID及びユーザIDに関連付けられたユーザが紐づけ用DB402に登録されているかを判断する。つまり、実行判定部454は、デバイスID及びユーザIDに基づいてユーザを検索し、ユーザを特定する機能も備える。
ここで、実行判定部454は、ユーザを特定できた場合には、特定したユーザをMFP_#1のユーザとしてパラメータに設定することができる。一方、ユーザを特定できなかった場合には、実行判定部454は、スマートスピーカ2を介してユーザの情報を設定するようにユーザへ問い合わせてもよい。つまり、所定の処理要求(印刷指示等)を示すデータを生成するために、実行判定部454は、通知・提供部458及び通信制御部451を介してスマートスピーカ2と通信し、ユーザに対して補完情報の入力を依頼してもよい。
なお、パラメータにはMFP_#1のユーザに係る情報が含まれていてもよい。但し、ユーザが音声操作によってユーザに係る情報、すなわち、ユーザ名及びユーザID等を設定しない場合、実行判定部454は、ステップS102でスマートスピーカ2から取得したデバイスID及びユーザIDのうち少なくとも一つによってMFP_#1を特定できるか否かを判断する。
上述の判断に基づいて、検索部460は、印刷に用いられるMFP_#1を検索し、特定する。ここで、MFP_#1を特定できた場合には、検索部460は、MFP_#1を印刷に用いられる命令実行装置としてパラメータに設定する。一方、MFP_#1を特定できなかった場合には、検索部460は、通知・提供部458と協働してスマートスピーカ2を介してMFP_#1を設定するようにユーザへ問い合わせてもよい。
なお、ユーザが音声操作によってMFP_#1を設定した場合であっても、設定したMFP_#1と同一の名称を含む命令実行装置が複数存在する場合がある。そこで、実行判定部454は、音声操作によって設定されたMFP_#1の名称に加えて、デバイスID及びユーザIDのうち少なくとも一つによってMFP_#1を特定できるか否かを判断してもよい。つまり、実行判定部454は、デバイスID及びユーザIDに関連付けられたMFP_#1が紐づけ用DB402を構築する装置管理テーブル402bに登録されているか否かを判断する。これに続いて検索部460は、音声操作によって設定されたMFP_#1の名称に加えて、デバイスID及びユーザIDに基づいてMFP_#1を検索し、検索した結果から目的のMFP_#1を特定する。
<命令の変換処理>
続いて、AIアシスタントサーバ装置4で実行される印刷命令への変換、及び印刷対象の特定処理について説明する。変換・選択部453は、ステップS108で補完された情報から、例えば、MFP_#1で実行される印刷命令に変換して、変換した印刷命令を、印刷対象となる原稿特定情報を含む画像ファイル(特定した印刷対象)とあわせて通信制御部451を介してMFP_#1に送信する(ステップS112)。このとき、変換・選択部453は、特定した印刷対象を表す画像データ(ファイル)を送信してもよいが、特定した印刷対象の格納場所を示す情報をMFP6に送るようにしてもよい。このようにすることで、AIアシスタントサーバ装置4とMFP6の間の通信量を軽減させることができる。ステップS112の処理により、変換・選択部453は、例えば、原稿の画像データ及びユーザのジェスチャ操作の少なくとも一方によって取得された画像データから特定される原稿特定情報に基づいて、複数の画像データの中から選択して画像データを特定する。さらに、変換・選択部453は、取得したスマートスピーカ2のデバイスIDとジェスチャ操作及び音声操作の少なくとも一方から得られた印刷指示(第1の命令情報の一例)を印刷命令(特定の命令の一例)に変換する。なお、原稿特定情報は、特定の情報の一例である。さらに、複数の画像データの中から特定した画像データは、特定の画像データの一例である。つまり、変換・選択部453は、ユーザのジェスチャ操作に伴う画像を撮影することによって得られた画像データに含まれる原稿特定情報、及びスマートスピーカ2のデバイスIDに基づいて、印刷対象特定テーブル402cで記憶、管理される複数の画像データのうちから特定の画像データを特定する特定手段の一例として機能又は機能する手段を有する。さらに、MFP_#1で実行される印刷命令は、上述したように第2の命令情報の一例である。
この場合、ジェスチャ操作に加えて、音声操作に伴う印刷指示に基づいて生成された印刷命令が、クラウドサービス装置5から通信制御部451を介してMFP_#1に送信されてもよい。その場合の音声操作の内容には、ユーザが発話した「これ印刷して」、「これを5部プリントして」等の指示内容が含まれる。なお、通信制御部451は、特定の画像データと、ユーザによる印刷指示で示された特定の命令をMFP_#1が解釈可能な印刷命令としてMFP_#1に送信する送信手段の一例として機能又は機能する手段を有する。さらに、通信制御部451は、画像データ及び第1の命令情報の一例である印刷指示を受信する受信手段の一例として機能又は機能する手段を有する。
そして、MFP_#1の命令実行部654は、命令を受信してその原稿に対する印刷処理を実行して、図8に示した一連のシーケンスを終了する(ステップS113)。なお、ステップS112で、変換・選択部453が特定した印刷対象の格納場所を示す情報を受信した場合には、MFP6は、その情報に基づいて格納場所にアクセスすることによってファイルを取得することができる。
なお、図9に示したフローチャートは一例であって、実行判定部454により実行される処理は上述した例に限らない。例えば、本実施形態に係る命令処理システムの置かれた環境及びシステムの用途等に応じて、上述したフローチャートの内容を適宜変えることが可能である。
<印刷対象の特定処理>
ここで、図10を用いてジェスチャ操作によってスマートスピーカ2のカメラ30が撮影する画像の例について説明する。図10は、第1の実施形態に係る原稿の撮影に伴う印刷指示を示す図である。図10では、表紙に「テーマA出願リスト」と書かれた少なくとも1ページ以上の原稿1150を使用者の一例であるユーザ(「Hamada」)が手1160で持っている。この状態で、ユーザが原稿1150の1ページ目をスマートスピーカ2のカメラに翳すと、ユーザの所定の操作により、スマートスピーカ2のカメラ30は、例えば、3秒後に矩形で示されている撮影範囲1170を撮影する。このとき、ユーザは、「これ印刷して」という発話内容で音声操作を行うと、スマートスピーカ2のマイクロホン29は、「これ印刷して」という印刷指示1180を集音して音声データを取得する。
さらに、ユーザは、原稿をスマートスピーカ2のカメラ30に翳した際に、原稿の一部を人体の一部である指1165で指定した箇所を含む例が示されている。具体的には、ユーザが原稿1150を手1160で持った状態で原稿1150の1ページ目をスマートスピーカ2のカメラ30に翳すと、カメラ30は、撮影範囲1170で原稿1150を撮影する。このとき、ユーザは、ユーザ自身の指1165で原稿の一部の文字列等を強調するジェスチャをする。そのジェスチャ操作は、ユーザの指1165の指先で、原稿1150の「テーマA 出願リスト」という文字列の周りに対して円を描くジェスチャである。そこで、情報認識サーバ装置3の抽出部353は、撮影された撮影範囲1170内の指1165で指し示された文字列の画像から、例えば、AIの類似検索機能を用いて原稿特定情報を抽出する。その後、抽出部353は、抽出した原稿特定情報をAIアシスタントサーバ装置4に送信する。そして、原稿特定情報を受信したAIアシスタントサーバ装置4の変換・選択部453は、印刷対象特定テーブル402cを参照して、抽出した原稿特定情報と印刷対象特定テーブル402cに含まれる複数の画像データ例を比較して撮影された原稿に対応する画像データを特定する。
つまり、抽出部353は、まず、カメラ30で撮影された撮影範囲1170にある指1165の画像自体をその色や形状から原稿1150とは別の異物情報と判断して扱い、その異物情報を除いた情報を原稿特定情報として抽出する。続いて、抽出部353は、抽出した原稿特定情報及び異物情報をAIアシスタントサーバ装置4に送信する。その後、AIアシスタントサーバ装置4の変換・選択部453は、受信した異物情報の形状や動きから、AIアシスタントサーバ装置4に記憶、管理されているデータテーブルを用いてその異物情報の形状や動きを解析する。変換・選択部453は、解析の結果を用いて、指1165の形状や動きが、特定の処理を要求するためのジェスチャ操作であると判断する。また、受信した原稿特定情報から、印刷対象特定テーブル402cを用いて、印刷対象となる画像を特定する。
なお、抽出部353は、原稿1150上の文字列に含まれる原稿特定情を抽出する他の方法として、例えば、原稿の「テーマA 出願リスト」という文字列をユーザの指1165で左から右になぞる動作がカメラ30によって動画撮影された場合に、なぞられた文字列を原稿1150の原稿特定情報として認識するようにしてもよい。原稿特定情報を指定する場合、ユーザの指先に代えてペン先等で特定されてもよい。なお、本実施形態では、撮影範囲1170を矩形で示したが、円、楕円、その他の形状からなる所定の範囲を撮影範囲1170として与えてもよい。
上述した一連のジェスチャ操作を伴う撮影処理によって、スマートスピーカ2によって撮影された画像は、スマートスピーカ2から情報認識サーバ装置3に送信される。その後、情報認識サーバ装置3及びAIアシスタントサーバ装置4で構成されるクラウドサービス装置5(命令要求システム)は、OCR等でその画像を解析して、原稿特定情報を抽出し、管理DB401及び紐づけ用DB402に記憶、管理されている各種データから印刷命令及び印刷対象を表す画像データ(ファイル)を特定する。これにより、クラウドサービス装置5は、撮影された撮影範囲のうち、ユーザの指先等の周辺の画像を解析することで原稿に含まれる原稿特定情報を得て、印刷対象を特定することができる。なお、撮影された原稿1150について、クラウドサービス装置5が管理DB401及び紐づけ用DB402を参照しても、その原稿に係る原稿特定情報を特定できなければ、クラウドサービス装置5は、ユーザに対して別のページの情報等を指し示すようにフィードバック処理を実行してもよい。
さらに、クラウドサービス装置5は、ユーザが原稿全体と原稿の一部を撮影して情報を与えた際に、ユーザの指先にある文字データとその文字データが存在するページ情報及び座標情報等からファイルを特定するようにしてもよい。
なお、上述した情報認識サーバ装置3の抽出部353及び生成部354、並びにAIアシスタントサーバ装置4の変換・選択部453は、一つにまとめて機能する機能部として構成されてもよいし、上述した機能部以外の機能部を設けて構成されてもよい。
さらに、クラウドサービス装置5は、ユーザの指先の熱を検知する感熱センサを備えたスマートスピーカ2と連携してスマートスピーカ2で検出した温度分布情報等から、ユーザが原稿のどこを指しているかを特定するようにしてもよい。但し、ユーザが原稿のファイル名を直接指し示す、その原稿の名称を示唆する文字列等を指し示した場合は、音声操作による音声データを取得して原稿特定情報を特定しなくてもよい。
なお、図10において、スマートスピーカ2のカメラ30は、静止画を撮影してもよいし、一定時間の動画を撮影してもよい。さらに、スマートスピーカ2は、カメラ30による撮影の補助として、例えば、撮影している原稿等のピントを合わせるための通信端末201をスマートスピーカ2の近くに配置して撮影範囲を表示させるように通信端末を制御してもよい。その際、スマートスピーカ2は、通信端末201と無線通信等により情報のやり取りをしてもよい。そのため、通信端末201は、撮影された被写体を映す表示装置の一例として機能する。
<原稿特定情報に基づく印刷対象の特定>
上述したように、スマートスピーカ2によって撮影された原稿1150を示す画像データは、その原稿の画像データに含まれる原稿特定情報とあわせて情報認識サーバ装置3を経由してAIアシスタントサーバ装置4に送られる。
図10の場合、画像アシスタントプログラム及び操作画像変換プログラムが実行されることで機能する生成部354は、AIアシスタントサーバ装置4と協働して、原稿1150に記載されている「テーマA 出願リスト」の文字列から、以下の解釈及び生成をする。その解釈は、撮影された原稿は、原稿特定情報として「リスト」に関連する原稿であるという内容である。その後、生成部354は、解釈及び生成された原稿特定情報「リスト」を、通信制御部351を介してAIアシスタントサーバ装置4に送信する。
その後、変換・選択部453は、印刷対象特定テーブル402cを参照し、印刷対象特定テーブル402cに含まれる原稿特定情報と情報認識サーバ装置3から送信された「リスト」という原稿特定情報を比較する。変換・選択部453は、印刷対象特定テーブル402cの原稿特定情報に「リスト」及びそれに対応する複数の画像データ(ファイル)のリストが存在するため、次に、複数の画像データ例を参照する。この場合、変換・選択部453は、情報認識サーバ装置3から送信された画像データに含まれる他の情報から、画像データ又は画像ファイルを特定する。具体的には、撮影された画像データに含まれる文字列が、撮影範囲1170では「テーマA 出願リスト」という内容である。この内容に基づいて、変換・選択部453は、原稿特定情報として特定された「リスト」及び「テーマA」という文字列の情報、並びに印刷対象特定テーブル402cに記憶、管理されているデータに一致又は類似する「テーマAの出願リスト.doc」というファイル名の原稿を印刷対象として特定する。そして、変換・選択部453は、特定の画像データとしての「テーマAの出願リスト.doc」ファイルを、ユーザによってスマートスピーカ2に翳された原稿に対応する印刷対象であると特定する。つまり、変換・選択部453は、AIアシスタントサーバ装置4で受信した画像データに含まれる所定の情報に一致又は類似する特定の情報を含む特定の画像データを選択する選択手段
一方、変換・選択部453は、複数の画像データのうち画像データに含まれる所定の情報に一致する原稿特定情報を含む画像データがない場合には、所定の情報に最も類似する特定の情報を含む画像データを選択する選択手段の一例として機能又は機能する手段を有する。
さらに、変換・選択部453は、装置管理テーブル402bも参照することで、デバイスID、命令実行装置IDから、命令実行装置をMFP_#1と特定する。なお、印刷対象特定テーブル402cの「複数の画像データ例」欄に記憶、管理されている情報は、上述した管理DB401に記憶、管理されているデータファイルの名称である。つまり、この「複数の画像データ例」欄に記憶、管理されている各データファイル名は、印刷対象特定テーブル402cで対応付けられている命令実行装置で使用されるファイルである。
一方、ユーザが持つ原稿がスマートスピーカ2によって撮影されたとき、原稿特定情報が特定(判別)できない場合もあり得る。そのような場合は、変換・選択部453は、スマートスピーカ2に対してユーザから別の情報を入手すべく、フィードバックメッセージ又はフィードバック音声を出力するようにしてもよい。
なお、本実施形態において、ユーザによるジェスチャ操作及び音声操作に印刷に不足しているパラメータがある場合、AIアシスタントサーバ装置4の実行判定部454は、図9のフローチャートを実行する前に、変換・選択部453と協働してユーザに対してフィードバック処理(図8のステップS110,S111)を実行するようにしてもよい。
以上では、原稿特定情報として、スピーカ2のカメラ30で撮影した画像中に含まれるテキスト情報を用いる場合について説明した。しかし、原稿特定情報は、これに限定されない。図5Cに示されているように、原稿特定情報は、カメラで撮影した画像中に含まれるQRコードやバーコードなどのコード、記号、図形、絵などによって示される情報であってもよい。例えば、実行判定部454は、撮影した画像中にQRコード又はバーコードのコード情報が含まれていた場合、印刷命令に変換可能であると判断する。この場合、実行判定部454は、コード情報を含むファイル又はコード情報に含まれる情報を含むファイルが管理DB401に存在する場合に、印刷対象が特定可能であると判断し、そのファイルを印刷対象としてもよい。また、実行判定部454は、撮影した画像中に顔画像が含まれている場合に、印刷命令に変換可能であると判断し、その画像を印刷対象としてもよい。さらに、実行判定部454は、撮影した画像中に特定の物体が含まれていた場合に印刷命令に変換可能であると判断し、その物体に関連付けられたファイルが管理DB401に存在する場合に印刷対象が特定可能であると判断してそのファイルを印刷対象としてもよい。より具体的には、実行判定部454は、撮影した画像中の物体の属性を判断し、その属性を含むファイルを特定することができる。例えば、撮影した画像中にペットボトルが含まれていた場合には、実行判定部454は、属性として「ペットボトル」を特定し、その属性を含むファイルとして、「廃棄物の分類方法.doc」を印刷対象として特定する。また、撮影した画像中に看板が含まれていた場合には、実行判定部454は、属性として「看板」を特定し、その属性を含むファイルとして、「新製品の広告.doc」を印刷対象として特定する。
〔本実施形態の主な効果〕
以上説明したように、本実施形態によれば、クラウドサービス装置5は、ジェスチャ操作及び音声操作により得られた原稿に対する印刷指示を示すインテント及びパラメータを受信し(ステップS108)、複数の画像データのうち受信した画像データに含まれる原稿特定情報に一致又は類似する特定の画像データと、受信された印刷指示で示された印刷命令をMFP6(MFP_#1)が解釈可能な印刷命令としてMFP6に送信する(ステップS112)。これにより、ジェスチャ操作によってスマートスピーカ2に印刷対象となる原稿を翳し、音声操作によって印刷指示を与えるユーザは、音声操作のみで機器を操作することに伴う操作のやり直し、及び印刷指示の誤認による機器の誤動作を極力回避することが可能になる。
●第2の実施形態
以下、図11を用いて、本発明の第2の実施形態について説明する。
<命令処理システムの処理の概要>
第2の実施形態に係る命令処理システムの特徴は、以下のとおりである。まず、スマートスピーカ2において被写体を撮影して取得した画像データ、スマートスピーカ2のデバイスID及び画像データに係る画像に対する命令を示す印刷指示を情報認識サーバ装置3に送信する。情報認識サーバ装置3は、AIアシスタントサーバ装置4と協働してクラウドサービス装置5を構成し、画像データから得られた原稿特定情報をMFP6に送信する。原稿特定情報を受信したMFP6は、MFP6で記憶、管理する印刷対象特定テーブル402cを参照して、複数の画像データのうちから特定の画像データを特定し、受信した印刷命令に基づいて印刷対象である画像データの印刷を実行することである。つまり、第1の実施形態との相違点は、命令の変換をクラウドサービス装置5ではなく、MFP6が行うことである。具体的には、AIアシスタントサーバ装置4の紐づけ用DB402を構成する印刷対象特定テーブル402c、及び実行判定部454の機能をMFP6側が有し、判断部653が、命令変換の可否判断及び命令の変換を行う点である。
これにより、ユーザが行ったジェスチャ操作及び音声操作に基づいて、MFP6自らが所定の命令に変換し、その命令を実行することができるようになる。以下に、その詳細を説明する。
図11A及び図11Bは、第2の実施形態に係るユーザのジェスチャ操作及び音声操作に基づく処理の一例を示すシーケンス図である。図11における第1の実施形態との相違点は、AIアシスタントサーバ装置4で生成された原稿特定情報をMFP6に送信し、原稿特定情報を受信したMFP6が印刷命令に変換し、印刷命令を実行する点である。具体的には、MFP_#1が、AIアシスタントサーバ装置4からインテント及びパラメータを受信して、原稿特定情報を自ら生成して解釈、判断して印刷対象を特定する点である。以下にシーケンス図における各処理を示す。
<原稿特定情報の特定処理及び印刷処理>
図11Aのシーケンス図において、ステップS101~S108までは図8の場合と同様のため、詳細な説明を省略する。図12は、第2の実施形態に係る情報の補完及び問合せ処理、並びに原稿特定情報の特定の一例を示すフローチャートである。
AIアシスタントサーバ装置4の変換・選択部453は、第1の実施形態の図8で示したステップS109と同様の処理を行う(ステップS209)。また、図12についても、以下に説明するステップS2006以外の処理は、第1の実施形態で示した図9のフローチャートと同様である。但し、図12では、印刷対象を特定可能と判断された場合(ステップS1005:Yes)、実行判定部454は、変換・選択部453に対して印刷命令への変換及び原稿特定情報の特定を行うよう要求し、変換・選択部453は、印刷命令への変換及び原稿特定情報の特定を行うことでこのフローを抜ける(ステップS2006)。
図11に戻る。但し、第1の実施形態と同様のステップS110,S111の処理については説明を省略する。AIアシスタントサーバ装置4の変換・選択部453は、ステップS209で変換された印刷命令及び特定された原稿特定情報を、通信制御部451を介してMFP_#1に送信する(ステップS212)。なお、MFP_#1では印刷命令及び特定された原稿特定情報を、通信制御部651を介して命令受信部652で受信するが、本実施形態では、命令受信部652は、命令受信手段の一例としてとして機能又は機能する手段を有する。
原稿特定情報を受信したMFP_#1は、MFP_#1のHDD609等の記憶部に記憶されている印刷対象特定テーブル402cを参照して、印刷対象の特定を行う(ステップS213)。この印刷対象の特定についても、MFP_#1において第1の実施形態と同様の処理が行われるため、詳細な説明を省略する。
MFP_#1の判断部653は、印刷対象の特定を行った後、命令実行部654に対して印刷対象となる画像データ又は画像ファイルを送る。その後、命令実行部654は、AIアシスタントサーバ装置4から受信した印刷命令に基づいて、印刷対象の印刷処理を行う(ステップS214)。ここで、印刷対象が複数ページからなる画像ファイルであった場合、全てのページを含むデータを取得してもよいし、複数ページのうちユーザが提示したページのデータのみを取得してもよい。また特定した印刷対象が複数の画像ファイルである場合は、全てのファイルを取得してもよいし、特定した画像ファイルが格納されるフォルダ内に存在する全てのファイルを関連するファイルとして取得してもよい。
さらに、MFP_#1は、画像ファイルを操作部に表示してもよい。例えば、複数ページから構成される画像ファイルを取得した場合には、MFP_#1は、操作パネル640に取得した画像ファイルのページのプレビュー画像又は一覧を表示してもよい。さらに、複数の画像ファイルを取得した場合には、MFP_#1は、画像ファイルの一覧を表示してもよい。このような構成を備えることで、ユーザは、操作パネル640に表示されたページ及び画像ファイルのうち、印刷したいページ及び画像ファイルを任意に選択することができる。
AIアシスタントサーバ装置4から受信した命令に基づいて印刷を実行する場合、MFP_#1は、MFP_#1のHDD609等の記憶部に記憶されている装置管理テーブル402bを参照して、自装置の操作部に印刷に係る設定及びスキャンデータの送付先を示す宛先を表示する画面を表示してもよい。また、あわせて、ユーザがスマートスピーカ2に翳した原稿に対する印刷条件の変更を受け付けてもよいし、ユーザの許可を受け付けたことを条件に、原稿の外部装置へのファイル送信を実行してもよい。
さらに、MFP_#1は、原稿特定情報から特定されたファイルを1つのファイルとして生成し、生成したファイルを印刷することもできる。なお、上述した命令受信部652は、AIアシスタントサーバ装置4から命令を受信する命令受信手段として機能すると説明したが、通信制御部651が命令受信手段として機能又は機能する手段を有してもよい。
さらに、MFP_#1は、自装置が有する操作部に、印刷に係る各設定情報、印刷処理によって取得したファイル名、自装置内部ストレージへの記憶設定、外部装置へのファイル送信条件及び印刷を実行することを示す画面等を表示してもよい。このときに、ユーザの許可を受け付けたことを条件に印刷処理を実行してもよい。
なお、MFP_#1は、クラウドサービス装置5から送信された印刷命令に応じて、装置の電源及びネットワーク設定を起動し、印刷を開始するようにしてもよい。
また、本実施形態によれば、MFP_#1は、操作部による操作を受け付けることなく直ちにジョブを実行することができる。
なお、図12に示したフローチャートは一例であって、実行される処理は上述した例に限らない。例えば、本実施形態に係る命令処理システムの置かれた環境及びシステムの用途等に応じて、上述したフローチャートの内容を適宜変えてもよい。
本実施形態において、命令処理システムは、例えば、過去のMFP_#1の印刷処理等に係る履歴及び使用履歴、並びに図5の紐づけ用DB402を構築する各テーブルの情報から、ユーザのジェスチャ操作に伴う画像データ及び音声操作に伴う音声データついて、機械学習を利用してもよい。その場合、MFP_#1における印刷処理に加えて関連する処理も自動的に実行するような構成を備えていてもよい。
〔本実施形態の主な効果〕
本実施形態に係るクラウドサービス装置5は、スマートスピーカ2から、ジェスチャ操作及び音声操作により得られた原稿に対する印刷指示を示すインテント及びパラメータを受信し(ステップS108)、複数の画像データのうち受信した画像データに含まれる原稿特定情報と、受信された印刷指示で示された印刷命令をMFP6(MFP_#1)が解釈可能な印刷命令としてMFP6に送信する(ステップS212)。これにより、音声操作のみで機器を操作することに伴う操作のやり直し、及び取得した操作内容の誤認により機器が誤動作する可能性を低減させることが可能になる。
さらに、本実施形態に係るMFP6は、クラウドサービス装置5から、ジェスチャ操作及び音声操作により得られた原稿に対する印刷命令及び原稿特定情報を受信し(ステップS212)、受信した原稿特定情報から印刷対象を特定して(ステップS213)、特定した印刷対象に対して印刷命令を実行する(ステップS214)。これにより、MFP6は、ジェスチャ操作及び音声操作により得られた印刷命令及び原稿特定情報に基づいて印刷命令を実行するので、クラウドサービス装置5側の画像データの特定に係る処理負荷を軽減させるという効果も期待できる。
さらに、本実施形態によれば、タッチパネル27等のGUI(Graphical User Interface)による操作を不要とすることができる。このため、操作に慣れているユーザであっても、さらに正確かつ簡単な入力操作を可能とすることができる。また、対話等による操作サポートによって、例えば、複雑なネットワーク設定、高度な処理の設定又は新規アプリの導入等が不要となる。その結果、高齢者又は機械操作に不慣れなユーザ等であっても、ユーザが希望する操作を正確かつ簡単に実行可能とすることができ、利便性が向上する。さらに、操作性の向上が期待できる。
なお、スマートスピーカ2を一例とするデータ取得装置は、マイク機能、撮像(撮影)機能、スピーカ機能、表示機能、操作機能及び通信機能等を備えた装置であれば、スマートスピーカに限られない。データ取得装置は、例えば、ノートPC(Personal Computer)、携帯電話、スマートフォン、タブレット端末、ゲーム機、PDA(Personal Digital Assistant)、デジタルカメラ、ウェアラブルPC、デスクトップPC又はイヤホン型の送受信装置であってもよい。このイヤホン型の送受信装置とは、例えば、ユーザの耳に装着された状態で発話したユーザ自身の音声を受信(取得)し、受信した音声を音声データに変換して所定のサーバ装置に送信し、所定のサーバ装置からフィードバック結果等を受信(取得)する機能を備えた通信装置をいう。
さらに、MFP6を一例とする命令実行装置は、通信機能を備え、入力(受信)した画像データに対する所定の命令を実行することが可能な装置であれば画像形成装置(MFP6)に限られない。つまり、命令実行装置は、例えば、PJ(Projector:プロジェクタ)、IWB(Interactive White Board:相互通信が可能な電子式の黒板機能を有する白板)、デジタルサイネージ等の電子機器であってもよい。さらに、命令実行装置は、HUD(Head Up Display)装置、産業機械、(撮影)装置、集音装置、医療機器、ネットワーク家電、自動車(Connected Car)、ノートPC(Personal Computer)、携帯電話、スマートフォン、タブレット端末、ゲーム機、PDA(Personal Digital Assistant)、デジタルカメラ、ウェアラブルPC又はデスクトップPC等であってもよい。
上述した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサ、上述した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)及び従来の回路モジュール等のデバイスを含むものとする。
最後に、上述の実施形態は、一例として提示したものであり、本発明の範囲を限定することは意図していない。これらの各実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置換え、変更を行うことも可能である。例えば、上述の第1の実施形態の説明では、情報認識サーバ装置3がユーザにより与えられた発話等に対応するテキストデータを生成し、生成したテキストデータに基づいて、AIアシスタントサーバ装置4がユーザの意図している操作を解釈して各種命令に変換した。しかし、スマートスピーカ2に、画像認識機能、音声認識機能及び解釈機能を設け、スマートスピーカ2で、ユーザのジェスチャ操作及び音声操作から意図する指示内容を解釈してもよい。これにより、情報認識サーバ装置3及びAIアシスタントサーバ装置4を不要とすることができ、システム構成を簡素化することができる。
このような各実施形態及び各実施形態の変形は、発明の範囲及び要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。