以下に添付図面を参照して、情報処理システム、プログラムおよび情報処理方法の実施の形態を詳細に説明する。
(第1の実施の形態)
(システム構成)
図1は、第1の実施の形態の音声操作システムのシステム構成図である。この図1に示すように、情報処理システムである第1の実施の形態の音声操作システムは、外部装置の一例である複合機(MFP:Multifunction Peripheral)1、スマートフォン又はタブレット端末等の携帯端末装置2(情報処理装置の一例)、音声認識サーバ装置3及びAI(Artificial intelligence)アシスタントサーバ装置4を、例えばLAN(Local Area Network)等の所定のネットワーク5を介して相互に接続することで形成されている。ただし、外部装置は複合機には限定されず、電子黒板やプロジェクタなどのオフィス機器を含む、種々の電子機器であっても良い。
携帯端末装置2は、MFP1を音声操作するための、ユーザからの音声入力を受け付ける。また、受け付けた操作を、ユーザへ音声または画面表示でフィードバックする。また、携帯端末装置2は、音声認識サーバ装置3及びAIアシスタントサーバ装置4の間のデータ通信(後述するテキストデータの通信)を中継する。音声認識サーバ装置3は、携帯端末装置2から受信した音声データを分析し、テキストデータに変換する。なお、音声認識サーバ装置3は、第1サーバ装置に相当する。AIアシスタントサーバ装置4は、テキストデータを分析し、事前登録されているユーザの意図(MFP1のジョブ実行命令)に変換して携帯端末装置2に送信する。
なお、AIアシスタントサーバ装置4は、第2サーバ装置に相当する。MFP1は、携帯端末装置2から送信されるジョブ実行命令を実行する。なお、携帯端末装置2とMFP1との通信は、無線通信であっても有線通信であっても良い。つまり、携帯端末装置2は、MFP1に固定的に接続される操作端末であっても良い。
また、この例では、音声認識サーバ装置3及びAIアシスタントサーバ装置4の、2つのサーバ装置が設けられていることとしたが、各サーバ装置3、4を物理的に一つのサーバ装置としてもよい。または、各サーバ装置3、4を、さらに複数のサーバ装置で実現してもよい。
(MFPのハードウェア構成)
図2は、音声操作システムに設けられているMFP1のハードウェア構成図である。MFP1は、例えばプリンタ機能及びスキャナ機能等の複数の機能を備えている。すなわち、MFP1は、図2に示すように、コントローラ19、通信部15、操作部16、スキャナエンジン17及びプリンタエンジン18を有している。
コントローラ19は、CPU10、ASIC(Application Specific Integrated Circuit)11、メモリ12、HDD(Hard Disk Drive)13及びタイマ14を有する。CPU10〜タイマ14は、それぞれバスラインを介して通信可能なように相互に接続されている。
通信部15は、ネットワーク5に接続されており、後述するように、例えばスキャン指示又は印刷指示等の、携帯端末装置2を用いて音声入力されたジョブ実行命令を取得する。
操作部16は、液晶表示部(LCD:Liquid Crystal Display)とタッチセンサとが一体的に形成された、いわゆるタッチパネルとなっている。操作者は、操作部16を用いて所望の動作の実行命令を行う場合、操作部16に表示された操作ボタン(ソフトウェアキー)を接触操作することで、所望の動作を指定する。
スキャナエンジン17は、スキャナユニットを制御して、光学的に原稿の読み取りを行う。プリンタエンジン18は、画像書き込みユニットを制御して、例えば転写紙等に画像を印刷する。CPU10は、画像形成装置を統括的に制御する。ASIC11は、いわゆる大規模集積回路(LSI:Large-Scale Integration)となっており、スキャナエンジン17及びプリンタエンジン18で処理する画像に必要な各種の画像処理等を行う。携帯端末装置2から取得したジョブ実行命令を実行する手段であるスキャナエンジン17及びプリンタエンジン18は、機能部に相当する。
メモリ12は、CPU10が実行する各種アプリケーション及びアプリケーションを実行する際に用いられる種々のデータが記憶されている。HDD13は、画像データ、各種のプログラム、フォントデータ、及び、各種のファイル等を記憶する。なお、HDD13の代わり又はHDD13と共に、SSD(Solid State Drive)を設けてもよい。
(携帯端末のハードウェア構成)
図3は、音声操作システムに設けられている携帯端末装置2のハードウェア構成図である。携帯端末装置2は、図3に示すようにCPU21、RAM22、不揮発性のROM23、インタフェース部(I/F部)24及び通信部25を、バスライン26を介して相互に接続して形成されている。RAM22には、電子メール、スキャンした画像等の宛先となるユーザの電子メールアドレス等が記憶されたアドレス帳が記憶されている。また、RAM22には、印刷を行う画像データであるファイル等が記憶されている。
ROM23には、操作音声処理プログラムが記憶されている。CPU21は、この操作音声処理プログラムを実行することで、MFP1の音声入力操作を可能とする。
I/F部24には、タッチパネル27、スピーカ部28及びマイクロホン部29が接続されている。マイクロホン部29は、通話音声の他、MFP1に対するジョブの実行命令の入力音声を集音(取得)する。入力音声は、通信部25を介して音声認識サーバ装置3に送信され、テキストデータに変換される。
(音声認識サーバ装置のハードウェア構成)
図4は、音声操作システムに設けられている音声認識サーバ装置3のハードウェア構成図である。音声認識サーバ装置3は、図4に示すように、CPU31、RAM32、ROM33、HDD(Hard Disk Drive)34、インタフェース部(I/F部)35及び通信部36を、バスライン37を介して相互に接続して形成されている。I/F部35には、表示部38及び操作部39が接続されている。HDD34には、音声データをテキストデータに変換するための操作音声変換プログラムが記憶されている。CPU31は、操作音声変換プログラムを実行することで、携帯端末装置2から送信された音声データをテキストデータに変換して、携帯端末装置2に返信する。
(AIアシスタントサーバ装置のハードウェア構成)
図5は、音声操作システムに設けられているAIアシスタントサーバ装置4のハードウェア構成図である。AIアシスタントサーバ装置4は、図5に示すように、CPU41、RAM42、ROM43、HDD44、インタフェース部(I/F部)45及び通信部46を、バスライン47を介して相互に接続して形成されている。I/F部45には、表示部48及び操作部49が接続されている。HDD44には、ユーザから指示されたジョブを解釈するための操作解釈プログラムが記憶されている。CPU41は、この操作解釈プログラムを実行することで、音声認識サーバ装置3で生成(変換)されたテキストデータから、ユーザから指示されたジョブを解釈する。この解釈結果は、携帯端末装置2に送信される。携帯端末は、解釈結果をジョブ命令に変換してMFP1に供給する。これにより、携帯端末装置2を介して入力した音声により、MFP1を操作できる。
(携帯端末の機能)
図6は、音声操作システムに設けられている携帯端末装置2の機能ブロック図である。携帯端末装置2のCPU21は、ROM23に記憶されている操作音声処理プログラムを実行することで、図6に示すように取得部51、通信制御部52、フィードバック部55、処理能力取得部56、実行判定部57及び検索部58として機能する。
取得部51は、取得部の一例であり、マイクロホン部29を介して集音された、MFP1を音声操作するためのユーザの指示音声を取得する。通信制御部52は、出力部の一例であり、携帯端末装置2とMFP1との間、携帯端末装置2と音声認識サーバ装置3との間、及び、携帯端末装置2とAIアシスタントサーバ装置4との間の通信をそれぞれ制御する。解釈結果変換部53は、AIアシスタントサーバ装置4でユーザの指示音声のテキストデータの解釈結果を、MFP1に対するジョブの実行命令に変換する。実行指示部54は、ジョブの実行命令をMFP1に送信して、ジョブの実行を指示する。
フィードバック部55は、報知部の一例であり、対話型の音声入力操作を実現すべく、例えば不足するデータを補う入力を促す音声または画面表示をフィードバックし、又は、入力を確認する音声または画面表示のフィードバック等を行う。処理能力取得部56は、MFP1から、例えば処理可能な最大画素数等の処理能力を取得する。実行判定部57は、MFP1の能力と、ユーザから指定されたジョブとを比較することで、ユーザから指定されたジョブをMFP1で実行可能か否か判定する。検索部58は、ユーザから音声指示された宛先又はファイル等をRAM22等のメモリから検索する。
なお、この例では、取得部51〜検索部58をソフトウェアで実現することとしたが、これらのうち、一部又は全部を、IC(Integrated Circuit)等のハードウェアで実現してもよい。また、取得部51〜検索部58が実現する機能は、操作音声処理プログラム単体で実現しても良いし、他のプログラムに処理の一部を実行させる、又は他のプログラムを用いて間接的に処理を実行させても良い。例えば、MFP1の処理能力などの情報の取得は他のプログラムが実行し、処理能力取得部56は他のプログラムが取得した情報を取得することで、間接的にMFP1が有する情報を取得することができる。
(音声認識サーバ装置の機能)
図7は、音声操作システムに設けられている音声認識サーバ装置3の機能ブロック図である。音声認識サーバ装置3のCPU31は、HDD34に記憶されている操作音声変換プログラムを実行することで、図7に示すように取得部61、テキスト変換部62及び通信制御部63として機能する。取得部61は、携帯端末装置2から送信される、ユーザにより入力された音声データを取得する。テキスト変換部62は、音声認識部の一例であり、ユーザにより入力された音声データをテキストデータに変換する。通信制御部63は、ユーザにより入力された音声データの受信、及び、携帯端末装置2に対するテキストデータの送信等を行うように、通信部36を通信制御する。
なお、この例では、取得部61〜通信制御部63をソフトウェアで実現することとしたが、これらのうち、一部又は全部を、IC(Integrated Circuit)等のハードウェアで実現してもよい。また、取得部61〜通信制御部63が実現する機能は、操作音声変換プログラム単体で実現しても良いし、他のプログラムに処理の一部を実行させる、又は他のプログラムを用いて間接的に処理を実行させても良い。
(AIアシスタントサーバ装置の機能)
図8は、音声操作システムに設けられているAIアシスタントサーバ装置4の機能ブロック図である。AIアシスタントサーバ装置4のCPU41は、HDD44に記憶されている操作解釈プログラムを実行することで、図8に示すように取得部71、解釈部72及び通信制御部73として機能する。取得部71は、携帯端末装置2から送信される、ユーザにより入力された音声データのテキストデータを取得する。解釈部72は、テキストデータに基づいて、ユーザからの操作指示を解釈する。通信制御部73は、ユーザの携帯端末装置2に対する解釈結果の送信、及び、ユーザにより入力された音声データのテキストデータの受信等を行うように通信部46を通信制御する。
なお、この例では、取得部71〜通信制御部73をソフトウェアで実現することとしたが、これらのうち、一部又は全部を、IC(Integrated Circuit)等のハードウェアで実現してもよい。また、取得部71〜通信制御部73が実現する機能は、操作解釈プログラム単体で実現しても良いし、他のプログラムに処理の一部を実行させる、又は他のプログラムを用いて間接的に処理を実行させても良い。
また、操作音声処理プログラム、操作音声変換プログラム及び操作解釈プログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)などのコンピュータ装置で読み取り可能な記録媒体に記録して提供してもよい。また、CD−R、DVD(Digital Versatile Disk)、ブルーレイディスク(登録商標)、半導体メモリなどのコンピュータ装置で読み取り可能な記録媒体に記録して提供してもよい。また、インターネット等のネットワーク経由でインストールするかたちで提供してもよいし、機器内のROM等に予め組み込んで提供してもよい。
(音声入力操作の全体的な動作)
次に、実施の形態の音声操作システムにおける音声入力操作の全体的な動作を説明する。図9は、音声操作システムにおける音声操作の全体的な動作の流れを示すシーケンス図である。この図9の例は、MFP1の両面コピー機能を、携帯端末装置2を介して音声入力操作する例である。この場合、ユーザは、携帯端末装置2の操作音声処理プログラムを起動し、例えば「両面でコピー」と発声する。このユーザの音声は、携帯端末装置2のマイクロホン部29で集音され、取得部51により取得される(ステップS1)。携帯端末装置2の通信制御部52は、この「両面でコピー」との音声データを音声認識サーバ装置3に送信し、テキスト変換要求を行うように通信部25を制御する(ステップS2)。
音声認識サーバ装置3のテキスト変換部62は、「両面でコピー」との音声データをテキストデータに変換処理する。そして、通信制御部63は、変換処理されたテキストデータを、携帯端末装置2に送信するように通信部36を制御する(ステップS3)。携帯端末装置2の通信制御部52は、「両面でコピー」とのテキストデータを、AIアシスタントサーバ装置4に送信する(ステップS4)。
この例の場合、AIアシスタントサーバ装置4の解釈部72は、MFP1に実行を要求する動作は「コピーである(Action:Copy_Execcute)」と解釈し、「印刷面は両面である(印刷面=両面)」と解釈する(ステップS5)。このように、解釈部72は、テキストデータに基づいて、ユーザから指定されたジョブの種別(アクション)及び内容(パラメータ)を示す解釈結果を生成する。この解釈結果は、AIアシスタントサーバ装置4の通信制御部63により、通信部46を介して携帯端末装置2に送信される(ステップS6)。
携帯端末装置2の解釈結果変換部53は、AIアシスタントサーバ装置4から受信した解釈結果を、MFP1のジョブ命令に変換処理する(ステップS7)。以下の表1に、解釈結果と、解釈結果から変換処理されたジョブ命令の一例を示す。なお、解釈結果変換部53は、解釈結果をジョブ命令に変換するために、表1に相当する情報を携帯端末装置2の記憶部(ROM23)に記憶し、参照できる構成としても良い。
この表1の例の場合、「COPY_EXECUTE」、「SCAN_EXECUTE」、「PRINT_EXECUTE」及び「FAX_EXECUTE」が、アクション(Action)の一例として示されている。また、「印刷面」及び「部数」等がパラメータ(Parameter)の一例として示されている。なお、パラメータとしては、ジョブの設定値として指定可能な全てのパラメータが含まれる。
携帯端末装置2の解釈結果変換部53は、「COPY_EXECUTE」の解釈結果を、「コピージョブの実行」との、MFP1のジョブ命令に変換処理する。同様に、解釈結果変換部53は、「SCAN_EXECUTE」の解釈結果を、「スキャンジョブの実行」との、MFP1のジョブ命令に変換処理する。同様に、解釈結果変換部53は、「PRINT_EXECUTE」の解釈結果を、「印刷ジョブの実行」との、MFP1のジョブ命令に変換処理する。同様に、解釈結果変換部53は、「FAX_EXECUTE」の解釈結果を、「FAXジョブの実行」との、MFP1のジョブ命令に変換処理する。
また、携帯端末装置2の解釈結果変換部53は、解釈結果に「印刷面」のパラメータが含まれている場合、「印刷面の設定値の変更」を行うMFP1のジョブ命令を形成する。同様に、解釈結果変換部53は、解釈結果に「部数」のパラメータが含まれている場合、「部数の設定値の変更」を行うMFP1のジョブ命令を形成する。
すなわち、携帯端末装置2の解釈結果変換部53は、解釈結果の「Action」に含まれる情報で、MFP1に実行させるジョブの種類を判断し、「Parameter」に含まれる値を、ジョブの設定値と判断して、解釈結果をジョブ命令に変換処理する。
携帯端末装置2の通信制御部52は、このようにして形成されたジョブ命令を、MFP1に送信するように通信部25を制御する(ステップS8)。この例の場合、「コピージョブ実行(印刷面=両面)」のジョブ命令がMFP1に送信される。これにより、MFP1で両面印刷が実行される。
(AIアシスタントサーバ装置における解釈動作の詳細)
AIアシスタントサーバ装置4のHDD44のAI記憶部40には、ユーザが音声入力により指示しているジョブを解釈するためAIアシスタントサービス情報が記憶されている。このAIアシスタントサービス情報は、エンティティ(Entity)情報、アクション(Action)情報及びインテント(Intent)情報を含んで構成されている。エンティティ情報は、ジョブのパラメータと自然言語を関連付ける情報である。1つのパラメータに複数の類義語が登録可能となっている。アクション情報は、ジョブの種類を示す情報である。インテント情報は、ユーザの発話フレーズ(自然言語)とエンティティ情報、及び、ユーザの発話フレーズ(自然言語)とアクション情報を、それぞれ関連付ける情報である。インテント情報により、パラメータの発話順序又はニュアンスが多少変わっても、正しい解釈が可能となっている。また、インデント情報により、入力された内容に基づいてレスポンスのテキスト(解釈結果)を生成可能となっている。
図10は、ユーザの入力音声の解釈に用いられるエンティティ情報の一例を示す図である。この図10は、印刷色(Print Color)に対応するエンティティ情報である。この図10において、「Print Color」の文字は、エンティティ名を示している。また、図10において、左の列の「auto_color」、「monochrome」、「color」・・・等の文字は、パラメータ名を示している。また、図10において、右の列の「auto_color」、「monochrome,black and white」、「color,full color」・・・等の文字は、類義語を示している。
この図10からわかるように、エンティティ情報としては、パラメータ及び類義語が関連付けられて記憶されている。パラメータと共に、類義語を登録することで、例えばモノクロでのコピーを指示する場合に、「Please copy by black and white」と発話しても、「Please copy by monochrome」と発話しても、パラメータの設定を可能とすることができる。
図11は、発話フレーズに基づいて登録されるエンティティ情報を示す図である。図11(a)は、ユーザの発話フレーズの例、図11(b)は、アクション名、図11(c)は、エンティティ情報を示している。この図11(a)〜図11(c)に示すように、AIアシスタントサーバ装置4が備える表示部48に表示される画面上において、操作部49を操作することで、ユーザの発話をドラッグする。または、ネットワークを介してAIアシスタントサーバ装置4にアクセスした装置の表示部に表示される画面上において、この装置の操作部を操作することで、ユーザの発話をドラッグする。
これにより、関連付け対象となるエンティティ情報を選択できるようになっている。また、選択したエンティティ情報でバリュー(VALUE)を設定すると、応答で入るパラメータが変更される。例えば、「Please copy by black and white」と発話した場合、バリューを「$printColor」とすると、戻り値として「printColor=monochrome」が返る。これに対して、バリューを「$printColor.original」とすると、戻り値として「printColor=black and white」が返る。ここで、バリューを「$printColor.original」とすると、ユーザの発話内容がそのまま応答のパラメータとして返すことができる。
(対話型動作)
次に、実施の形態の音声操作システムでは、ユーザからの入力内容に基づいて、システムが応答する対話型システムを実現している。実施の形態の音声操作システムでは、対話に必要な定型文を応答する以外に、MFP1の操作特有の応答として、「入力不足フィードバック」及び「入力確認フィードバック」の、2種類の応答を行うことで、対話型MFP操作システムを実現している。
「入力不足フィードバック」は、ジョブを実行するために必要な情報が揃っていない場合に出力される応答である。ユーザの入力結果を聞き取れなかった場合、又は、必須パラメータが不足している場合に出力される。つまり、必須パラメータ以外のパラメータについては、指示されていない場合であっても入力不足フィードバックを行う必要はない。また、パラメータ以外にも、コピー機能又はスキャン機能等のうち、利用する機能を確認する処理を含んでも良い。
例えば、携帯端末装置2が通信接続中の外部装置の種類に応じて、ユーザに確認する機能、及びパラメータを変更しても良い。この場合、処理能力取得部56が外部装置との通信が確立した後の所定のタイミングで外部装置の種類や機能を示す情報を取得し、取得した情報に基づいてユーザに確認する機能及びパラメータを例えばフィードバック部55が決定してもよい。例えば、外部装置の種類がMFP1である場合には、コピー、プリント、スキャン、FAXなどのMPF1が有する機能をユーザに確認でき、更に、コピー、プリント、スキャン、FAXのうちMFP1が有している機能についてのみ、いずれの機能を使用するかをユーザに確認しても良い。
「入力確認フィードバック」は、ジョブを実行するために必要な情報が揃った場合に出力される応答である。つまり、入力確認フィードバックは、全ての必須パラメータについて指示された場合に行われる。また、入力確認フィードバックは、現在の設定値でジョブを実行するか、又は、設定値を変更するかの選択をユーザに促すために行う。なお、現在の設定値でジョブを実行するか否かを確認するために、ユーザにより指示された全てのパラメータ(必須パラメータか必須パラメータ以外のパラメータかに関わらず)を音声出力することで、ユーザに確認することができる。
図12は、対話式の入力操作の流れを示す図である。このような各フィードバックを含めた、システムとユーザの対話型操作の例が図12である。この図12の例は、カラーロ画像を両面(上下開き)でコピーを行い、上2ヶ所でステープルするようにMFP1を操作する例である。また、この例の場合、ステープル位置が必須パラメータとなっている。なお、必須パラメータはステープル位置に限定されず、モノクロ、カラー、又は、用紙サイズ等、複数のパラメータを含めても良い。
また、図13は図12に示す処理が実行された場合における画面表示の一例を示す図である。即ち、携帯端末装置2は、ユーザ発話した内容(認識結果)と、AIアシスタントサーバ装置4からフィードバックされた内容(操作情報)をタッチパネル27の画面上に表示する。なお、図13において携帯端末装置2のタッチパネル27の画面右側から吹き出し表示されるコメントは、ユーザが携帯端末装置2に対して発話した内容を示すコメントを示す。また、図13において携帯端末装置2のタッチパネル27の画面左側から吹き出し表示されるコメントである。つまり、携帯端末装置2は、AIアシスタントサーバ装置4からフィードバックを受けた場合、音声出力でユーザへフィードバックすると同時に、タッチパネル27の画面表示によってもフィードバックを行う。ただし、音声出力のフィードバックについては省略しても良い。
また、携帯端末装置2の画面左側に表示させるアイコンは、携帯端末装置2が接続する機器に応じて変えることができる。
なお、パラメータのうち、いずれのパラメータが必須パラメータであるかは、AIアシスタントサーバ装置4が有する記憶部に予め記憶しておくことがでる。また、ユーザが操作部49を操作によって、又はネットワークを介してAIアシスタントサーバ装置4に対してアクセスすることで、いずれのパラメータが必須パラメータであるかは適宜変更することができても良い。
図12の例は、斜線で示す発話がユーザの発話であり、斜線の無い発話がシステムの発話、網掛けで示す会話が携帯端末装置2の画面またはシステムの発話(音声)である。まず、システムが、「コピーしますか?スキャンしますか?」との音声出力を行うと、ユーザは、「コピー」と発音してコピー機能の利用を指示する。システム側では、ユーザから指定された「コピー」の設定値の入力を求めるべく、「設定値を入力してください。」との音声出力を携帯端末装置2にて行う。
これに対して、ユーザは、「カラー、両面、上下開き、ステープル上2ヶ所」と発話したとする。この例の場合、上述のようにステープル位置が必須のパラメータとなっている。このため、システム側では、入力不足ではないと判断し、コピー開始の指示を促す。これが、ジョブを実行するために必要な情報が揃った場合に出力される「入力確認フィードバック」である。
そして、ユーザが「OK」と応答すると、システム側は、「ジョブを実行します」との応答を行い、ユーザから指示されたジョブを実行する。
(対話型動作の流れ)
図14及び図15は、このような対話型動作の流れを示すシーケンス図である。図14のシーケンス図は、対話型動作の前半の動作の流れを示しており、図15のシーケンス図は、対話型動作の後半の動作の流れを示している。
まず、ユーザにより携帯端末装置2の操作音声処理プログラムが起動操作されると(ステップS11)、フィードバック部55は、「コピーしますか?スキャンしますか?」との音声および画面表示でのフィードバックを行う(ステップS12)。
なお、携帯端末装置2は、「コピーしますか?スキャンしますか?」のコメントを、ステップS12の音声フィードバックと共にタッチパネル27の画面に表示する。つまり、携帯端末装置2は、携帯端末装置2のROM23などに予め記憶されたテキストデータを表示させる。
ユーザが、「コピー」と発音すると(ステップS13)、携帯端末装置2の通信制御部52は、音声認識サーバ装置3に対して、「コピー」との音声データを送信し、テキスト変換要求を行う(ステップS14)。音声認識サーバ装置3のテキスト変換部62は、「コピー」との音声データをテキストデータに変換処理し、携帯端末装置2に送信する(ステップS15)。
なお、携帯端末装置2は、「コピー」のコメントを、ステップS15で携帯端末装置2が音声認識サーバ装置3からテキストデータを受信したタイミングでタッチパネル27の画面に表示する。このとき、携帯端末装置2は、「コピー」を音声でフィードバックしても良いし、省略しても良い。
携帯端末装置2の取得部51は、このテキストデータを取得する。また、携帯端末装置2の通信制御部52は、取得したテキストデータをAIアシスタントサーバ装置4に送信する(ステップS16)。AIアシスタントサーバ装置4の解釈部72は、図10及び図11を用いて説明したように、受信したテキストデータで示されるユーザの発話フレーズに基づいて、アクション及びパラメータを解釈する。この例の場合、ユーザは、「コピー」としか発音していないため、ステープル位置等が不明となる(入力不足)。
このため、解釈部72は、「Copy_Parameter_Setting」としたアクションに、「設定値を入力してください」とのレスポンス(Response)を付加した解釈結果を形成する(ステップS17)。AIアシスタントサーバ装置4の通信制御部73、この解釈結果を携帯端末装置2に送信する(ステップS18)。携帯端末装置2のフィードバック部55は、スピーカ部28を介して「設定値を入力してください」との音声出力を行うと共に、タッチパネル27に対して「設定値を入力してください」とのテキスト表示を行う(ステップS19:入力不足フィードバック)。
次に、入力不足フィードバックがあったため、ユーザは、例えば「カラー、両面、上下開き、ステープル上2ヶ所でコピー」と発話する(ステップS20)。携帯端末装置2の通信制御部52は、音声認識サーバ装置3に対して、「カラー、両面、上下開き、ステープル上2ヶ所でコピー」との音声データを送信し、テキスト変換要求を行う(ステップS21)。音声認識サーバ装置3のテキスト変換部62は、「カラー、両面、上下開き、ステープル上2ヶ所でコピー」との音声データをテキストデータに変換処理し、携帯端末装置2に送信する(ステップS22)。
携帯端末装置2の取得部51は、このテキストデータを取得する。また、携帯端末装置2の通信制御部52は、取得したテキストデータをAIアシスタントサーバ装置4に送信する(ステップS23)。AIアシスタントサーバ装置4の解釈部72は、受信したテキストデータで示されるユーザの発話フレーズに基づいて、アクション及びパラメータを解釈する(ステップS24)。この例の場合、ユーザは、「コピー」及び「カラー、両面、上下開き、ステープル上2ヶ所でコピー」と発音しているため、コピーのジョブに対する必須パラメータ不足は解消する。このため、解釈部72は、「Copy_Confirm」としたアクションに、「カラー/モノクロ=カラー」、「印刷面=両面」、「開き方向=上下開き」及び「ステープル位置=上2ヶ所」とのパラメータを付加した解釈結果を形成する。AIアシスタントサーバ装置4の通信制御部73、この解釈結果を携帯端末装置2に送信する(ステップS25)。
携帯端末装置2のフィードバック部55は、必須パラメータ不足が解消し、コピーを開始する準備が整ったため、例えば「カラー、両面、上下開き、ステープル上2ヶ所でコピーします。よろしいでしょうか?」とのフィードバックのテキストを、解釈結果に含まれるResponseに基づいて生成する(ステップS26)。ここで、テキストの生成は、携帯端末装置2の記憶部に記憶されたテキストデータの中から全て、又は一部を読み出し、組み合わせることで生成してもよい。
なお、フィードバック部55は、ステップS26に限らず、AIアシスタントサーバ装置4から解釈結果を取得した場合であれば、他のステップでも同様にフィードバックのテキストを生成しても良いが、フィードバックするテキスト情報が解釈結果のレスポンスに含まれている場合は、フィードバックのテキストを生成する必要はない。
次に、携帯端末装置2は、上述の入力確認フィードバックを行う(ステップS27)。この入力確認フィードバックに対して、ユーザは、設定値の変更又はコピーの開始を指示する音声入力を行う。
なお、必須パラメータが不足していると判断された場合は、更にコメント表示、及び音声出力を行うことでユーザに不足している必須パラメータの設定を促すことができる。
複数のパラメータのうち、いずれのパラメータが必須パラメータであるかは、AIアシストサーバ装置4の記憶部に予め記憶しておくことができる。この場合、解釈部72は、記憶部に記憶された必須パラメータの情報に基づいて、携帯端末装置2から取得したパラメータが全ての必須パラメータの設定を行っているか否かを判断し、必須パラメータについて設定が行われていない場合は、必須パラメータの設定を行うように、携帯端末装置2を介してユーザへ促すことができる。
このように、操作音声処理プログラムは、予め携帯端末装置2で記憶されたテキストデータ、音声認識サーバ装置3から受信したテキストデータ、AIアシスタントサーバ装置4から受信したResponseに基づいて、コメントを携帯端末装置2のタッチパネル27の画面に表示させる。
図15のシーケンス図のステップS35〜ステップS42が、設定値の変更を音声指示した場合の動作の流れを示すシーケンス図である。この図15において、ユーザが設定値を変更する発話を行うと(ステップS35)、音声認識サーバ装置3のテキスト変換部62が、変更された設定値のテキストデータに生成し、携帯端末装置2を介してAIアシスタントサーバ装置4に送信する(ステップS36〜ステップS38)。AIアシスタントサーバ装置4は、受信したテキストデータで示されるユーザの発話フレーズに基づいて、変更された設定値を示す解釈結果を生成し(ステップS39)、携帯端末装置2に送信する(ステップS40)。
携帯端末装置2のフィードバック部55は、解釈結果に含まれるResponseに基づいてフィードバックのテキストを生成し(ステップS41)、例えば「モノクロ、2部、両面でコピーします。よろしいですか?」等の、上述の入力確認フィードバックを行うことで、変更された設定値でコピーを開始してよいか否かの確認を行う(ステップS42)。
図15のシーケンス図のステップS43〜ステップS50が、コピーの開始を指示した際の各部の動作の流れである。すなわち、上述の入力確認フィードバックにより、ユーザが「はい」と応答すると(ステップS43)、テキスト化され、携帯端末装置2を介してAIアシスタントサーバ装置4に送信される(ステップS44〜ステップS46)。AIアシスタントサーバ装置4は、受信したテキストデータに基づいてコピー開始指示を認識すると、「Copy_Execute」としたアクションに、「印刷面=両面」及び「部数=1部」とのパラメータを付加した解釈結果を形成し、これを携帯端末装置2に送信する(ステップS47〜ステップS48)。
携帯端末装置2の解釈結果変換部53は、解釈結果をMFP1のジョブ命令に変換処理し(ステップS49)、MFP1に送信する(ステップS50)。これにより、音声入力操作により、MFP1をコピー制御することができる。
なお、携帯端末装置2がMFP1へジョブ命令を送信した後、MFP1において連結コピーモードONで、且つ、ステープルモードONの場合に、親機である携帯端末装置2は子機であるMFP1に対して、フィニッシャなどの周辺機器の接続状況を要求する。MFP1に周辺機器が接続されていない場合は、携帯端末装置2のタッチパネル27に連結コピーができない旨の表示を行う。
(AIアシスタントサーバ装置4からフィードバックされる情報の例)
以下の表2に、AIアシスタントサーバ装置4から携帯端末装置2にフィードバックされる解釈結果の一例を示す。
この表2に示すように、例えばジョブの設定値の入力促すための「Copy_Parameter_Setting」、ジョブの設定値の確認を促すための「Copy_Confirm」、ジョブの実行開始を伝えるための「Copy_Execute」等のアクションが、解釈結果に含められて携帯端末装置2にフィードバックされる。
フィードバック部55は、解釈結果に含まれるアクション、パラメータ、レスポンスに応じて、ユーザに対するフィードバックを判断することができる。フィードバック部55は、フィードバックする内容を決定するために、表2に相当する情報を携帯端末装置2の記憶部に記憶し、参照できる構成としても良い。なお、表2では、コピーの場合を例に説明したが、プリント、スキャン、FAXも表2と同様にアクションとして、ジョブの設定値の入力促すための「Parameter_Setting」、ジョブの設定値の確認を促すための「Confirm」が用いられても良い。
また、例えば両面又は片面等の印刷面の設定値、又は、コピー部数等のパラメータが、解釈結果に含められて携帯端末装置2にフィードバックされる。さらに、必須パラメータが不足している場合、不足するパラメータの入力を促すメッセージが、レスポンスとして解釈結果に含められて携帯端末装置2にフィードバックされる。
なお、操作音声処理プログラムは、MFP1に対してジョブ実行指示を送信した後、MFP1からジョブ実行結果の通知を受け、該ジョブ実行結果を音声フィードバックさせるとともに、携帯端末装置2のタッチパネル27の画面上に表示させても良い。例えば、ジョブが正常に完了した場合には、「ジョブが完了しました」というメッセージを音声フィードバックさせるとともに、携帯端末装置2のタッチパネル27の画面上に表示させても良い。ただし、ジョブ実行結果のフィードバックは省略しても良く、図13では省略した場合を示している。
次に、携帯端末装置2(操作音声処理プログラム)の機能について説明する。
携帯端末装置2の操作音声処理プログラムは、MFP1などの外部装置と携帯端末装置2との接続を制御することができ、更に外部装置から機器情報を取得することができる。
例えば、操作音声処理プログラムは、携帯端末装置2のタッチパネル27の画面上に表示された所定のボタン操作などにより、外部装置との接続指示を受け付けた場合、図16、図17に示す画面をタッチパネル27に表示させる。
図16に示すように、操作音声処理プログラムは、接続したい外部装置のホスト名やIPアドレスの入力画面Aを表示し、ユーザから入力を受け付けることで、接続先の外部装置を特定することができる。
この後、操作音声処理プログラムは、図17に示す画面Bに遷移する。
図17に示すように、操作音声処理プログラムは、対象外部装置のログインID及びパスワードの入力画面Bを表示し、ユーザから入力を受け付けることで、接続先の外部装置にログインすることができる。ただし、図17に示すログイン画面は省略しても良い。
操作音声処理プログラムは、外部装置との接続が確立した後、対象の外部装置から機器情報を取得することができる。機器情報は、機器の種類(種類としては、MFP、プロジェクタ、デジタルホワイトボードなどである)、型番、処理能力、ファームウェアなどを含むプログラムのバージョン情報、接続されているオプション機器の情報など、外部装置を特定するために必要な情報である。
操作音声処理プログラムは、外部装置から取得した機器情報に基づいて、携帯端末装置2の画面に表示する機器アイコンを決定する。
例えば、携帯端末装置2の操作音声処理プログラムは、外部装置がMFPであればMFPの画像を機器アイコンとして決定し、外部装置がプロジェクタであれば、プロジェクタの画像を機器アイコンとして決定する。また、携帯端末装置2が接続する外部装置として、同じ種類の複数の外部装置と接続する場合が考えられる。
例えば、MFPを例に説明すると、オフィスにおいてユーザは複数のMFPを使用することがあり得る。このため、操作音声処理プログラムは、機器の種類がMFPの場合、型番などMFPを特定できる機器情報、又はホスト名/IPアドレスに基づいて、MFP毎に異なる機器アイコンを設定する。
ここで、図18は画面表示の一例を示す図である。例えば、図18に示すように、MFPの画像と共に、「A」、「B」など、テキストを表示させることで、MFPを区別することができる。図18では、9:00においてユーザがジョブ実行させたMFPと、17:00においてジョブ実行させたMFPとが異なる場合を示している。
ただし、機器アイコンを区別する方法はこれに限定されず、テキストの内容や位置は任意に変更することができる。また、MFPの画像自体を変えても良いし、MFPの画像又は背景の色や輝度を変えても良いし、MFPの画像に星印などのマークを付与しても良い。
ここで、機器アイコンの画像は、携帯端末装置2のROM23、又は携帯端末装置2がアクセス可能なサーバなどに予め記憶しておくことができる。例えば、外部装置の種類ごとに複数の機器アイコンを記憶しておくことができる。この場合、操作音声処理プログラムは、記憶された機器アイコンの画像を読み出すだけで良い。
ただし、これに限定されず、操作音声処理プログラムは、記憶された機器アイコンの画像と、取得した機器情報又はホスト名/IPアドレスを組み合わせて機器アイコンを作成しても良い。この場合、操作音声処理プログラムは、例えばMFPの画像に対して、取得した機器情報又はホスト名/IPアドレスをテキストとして付加することで、機器アイコンを作成することができる。
なお、以上では操作音声処理プログラムが自動的に機器アイコンを生成する場合について説明したが、これに限定されず、ユーザによって機器アイコンが設定されても良い。例えば、携帯端末装置2のタッチパネル27の画面上の機器アイコンの表示位置をタッチすることで、又は操作音声処理プログラムの設定画面を表示させることで、機器アイコンの画像を変更することができる。機器アイコンの画像としては、携帯端末やサーバなどに記憶された画像データの中から所望の画像を機器アイコンとして表示させたい画像を選択しても良いし、画像データと共に表示するテキストやマークを変更しても良いし、予め記憶された機器アイコンの中から所望の機器アイコンを選択しても良い。
また、操作音声処理プログラムは、機器アイコンを決定する際に、機器アイコンを決定するために用いた情報(機器情報、又はホスト名/IPアドレス)と、機器アイコンとを紐づけて、携帯端末装置2のROM23などに記憶することができる。
これにより、操作音声処理プログラムによってジョブ実行を行う場合に、前回ジョブ実行時に接続した外部装置と、今回ジョブ実行時に接続した外部装置が同じものであれば、同じ機器アイコンを表示させることができる。
ここで、図19はアイコン設定処理の流れを示すフローチャートである。図19に示すように、携帯端末装置2のCPU21は、操作音声処理プログラムに従い、外部装置との接続を確立すると(ステップS81)、現在接続中の外部装置について過去に機器アイコンを決定したかを判断する(ステップS82)。つまり、携帯端末装置2のCPU21は、操作音声処理プログラムに従い、携帯端末装置2のROM23に記憶された情報を参照して、該外部装置と紐づく機器アイコンが記憶されているか否かを確認し、記憶されている場合には(ステップS82のYes)、該機器アイコンを読み出す(ステップS83)。また、携帯端末装置2のCPU21は、操作音声処理プログラムに従い、記憶されていない場合には(ステップS82のNo)、新たに機器アイコンを設定する(ステップS84)。携帯端末装置2のCPU21は、操作音声処理プログラムに従い、フィードバック時に聞きアイコンを表示する(ステップS85)。
以上では、操作音声処理プログラムによって外部装置との接続、及び外部装置の機器情報の取得が行われる場合について説明したが、これに限定されず、これらの処理は操作音声処理プログラムとは別のプログラムで実行しても良い。この場合、該別のプログラムは、外部装置との接続の結果、外部装置から取得した機器情報を操作音声処理プログラムへ送信し、操作音声処理プログラムは、取得した情報に基づいて表示する機器アイコンを決定することができる。
このように本実施の形態によれば、音声にて指示が可能な複数の外部装置が存在する場合に、いずれの外部装置からの応答なのかを直観的に判断することができる。
なお、上述の実施の形態の説明では、音声認識サーバ装置3でユーザの発話に対応するテキストデータを生成し、AIアシスタントサーバ装置4でテキストデータに基づいて、ユーザの意図している操作を解釈した。しかし、携帯端末装置2側に、このような音声認識機能及び解釈機能を設け、携帯端末装置2で、ユーザの発話から意図する操作を解釈してもよい。これにより、音声認識サーバ装置3及びAIアシスタントサーバ装置4を不要とすることができ、システム構成を簡素化できる。
(第2の実施の形態)
次に、第2の実施の形態について説明する。
第2の実施の形態は、携帯端末装置2に代えてスマートスピーカーを適用する点が、第1の実施の形態と異なる。以下、第2の実施の形態の説明では、第1の実施の形態と同一部分の説明については省略し、第1の実施の形態と異なる箇所について説明する。
図20は、第2の実施の形態の音声操作システムのシステム構成図である。この図20に示すように、第2の実施の形態の音声操作システムは、図1で説明した携帯端末装置2に代えてスマートスピーカー50(情報処理装置の一例)を適用したものである。スマートスピーカーとは、AIスピーカーとも呼ばれ、対話型の音声操作に対応したAIアシスタント機能を持つスピーカーである。
音声操作システムは、外部装置の一例であるMFP1、スマートスピーカー50(情報処理装置の一例)、クラウドサービス装置60を、例えばLAN(Local Area Network)等の所定のネットワーク5を介して相互に接続することで形成されている。ただし、外部装置は複合機には限定されず、電子黒板やプロジェクタなどのオフィス機器を含む、種々の電子機器であっても良い。
スマートスピーカー50は、MFP1を音声操作するための、ユーザからの音声入力を受け付ける。スマートスピーカー50は、MFP1に近接して設置される。また、スマートスピーカー50とMFP1とは、1対1で対応する。したがって、スマートスピーカー50は、基本的に、MFP1の前で操作しているユーザを対象として機能提供を行う。ただし、これに限定されず、スマートスピーカー50は複数のMPF1及び他の電子機器と対応しても良い。
クラウドサービス装置60は、物理的に一つのサーバ装置としてもよいし、複数のサーバ装置で実現してもよい。クラウドサービス装置60は、音声データをテキストデータに変換し、更にユーザの意図を解釈するための操作音声変換プログラムがインストールされている制御装置である。また、クラウドサービス装置60は、MFP1を管理するための管理プログラムがインストールされている制御装置である。したがって、クラウドサービス装置60は、第1の実施の形態の音声認識サーバ装置3やAIアシスタントサーバ装置4と同様の機能を発揮する。
操作音声変換プログラムは、MFP1に対する操作用の音声辞書と操作を作成/登録する。管理プログラムは、スマートスピーカー50やMFP1のアカウント/デバイスを紐付け、システム全体を管理する。
(スマートスピーカー50のハードウェア構成)
図21は、音声操作システムに設けられているスマートスピーカー50のハードウェア構成図である。図21に示すように、スマートスピーカー50は、図3で説明した携帯端末装置2と同様に、CPU21、RAM22、ROM23、インタフェース部(I/F部)24及び通信部25を、バスライン26を介して相互に接続して形成されている。
ROM23には、操作音声処理プログラムが記憶されている。CPU21は、この操作音声処理プログラムを実行することで、MFP1の音声入力操作を可能とする。
I/F部24には、タッチパネル27、スピーカ部28及びマイクロホン部29が接続されている。マイクロホン部29は、通話音声の他、MFP1に対するジョブの実行命令の入力音声を集音(取得)する。入力音声は、通信部25を介してクラウドサービス装置60に送信され、テキストデータに変換される。
(クラウドサービス装置60のハードウェア構成)
図22は、音声操作システムに設けられているクラウドサービス装置60のハードウェア構成図である。なお、図22においては、クラウドサービス装置60は、物理的に一つのサーバ装置で構成されているものとする。図22に示すように、クラウドサービス装置60は、図4で説明した音声認識サーバ装置3と同様に、CPU31、RAM32、ROM33、HDD(Hard Disk Drive)34、インタフェース部(I/F部)35及び通信部36を、バスライン37を介して相互に接続して形成されている。I/F部35には、表示部38及び操作部39が接続されている。HDD34には、MFP1に対する操作用の音声辞書と操作を作成/登録するための操作音声変換プログラムが記憶されている。また、HDD34には、スマートスピーカー50やMFP1のアカウント/デバイスを紐付け、システム全体を管理する管理プログラムが記憶されている。CPU31は、操作音声変換プログラムや管理プログラムを実行することで、携帯端末装置2から送信された音声データに基づいて、MFP1を操作可能とする。
(全体の機能構成)
図23は、全体の機能の概要説明図である。図23には、クラウドサービスを提供する主な機能を示している。主な機能の詳細や、図23に示したスマートスピーカー50についての機能の説明については、図24〜図25を参照して後に説明する。
クラウド100の機能は、1つのクラウドサービス装置60、あるいは複数のクラウドサービス装置60により実現される。これらの機能は1つまたは複数のクラウドサービス装置60に適宜設定されるものであり、1つのクラウドサービス装置60でもよいし、複数のクラウドサービス装置60でもよい。
クラウドサービス装置60のCPU31はHDD34の操作音声変換プログラムをRAM32に読み出して実行することにより操作音声変換部310として機能する。操作音声変換部310は、音声データをテキストデータに変換する機能を有する。更に、操作音声変換部310は、テキストデータを予め定義された辞書情報と一致するか否かを判断する機能を有する。更に、操作音声変換部310は、マッチした場合にはテキストデータをユーザの意図を示すアクションおよびジョブ条件などの変数を示すパラメータに変換する機能を有する。
また、クラウドサービス装置60のCPU31はHDD34の音声アシスタントプログラムをRAM32に読み出して実行することにより音声アシスタント部320として機能する。音声アシスタント部320は、辞書情報を保持する機能を有する。
また、クラウドサービス装置60のCPU31はHDD34の管理プログラムをRAM32に読み出して実行することにより管理部330として機能する。管理部330は、アクションとパラメータに基づいてMFP1が解釈可能な形式であるジョブ実行指示に変換した上で登録されたMFP1へ送信する機能を有する。
このようにクラウド100は、少なくとも操作音声変換部310、音声アシスタント部320、および管理部330の機能によりクラウドサービス300を提供する。
クラウドサービス300は、MFP1や情報処理装置との通信に基づき、各種の情報をDBに記憶する。一例として、管理部330が、管理DB340や、紐づけ用DB350や、機器情報DB360などを使用して各種情報を管理する。
管理DB340は、テキストデータ、画像データ、音声データなど、クラウドサービス300が提供するコンテンツにかかるデータを記憶するデータベースである。
紐づけ用DB350は、情報処理装置と紐づける外部装置を記憶するデータベースである。紐づけ用DB350は、本例では、情報処理装置として使用するスマートスピーカー50のデバイスIDと、そのスマートスピーカー50と対応付ける外部装置(本例ではMFP1)のIDとを対応付けて記憶する。なお、スマートスピーカー50と外部装置は一対一で紐づけられていても良いが、スマートスピーカー50と複数の外部装置を紐づけても良い。つまり、デバイスIDと紐づく外部装置の種類と個数は限定されない。また、外部装置とスマートスピーカー50の紐づけの方法についても上記の方法に限定されない。つまり、ユーザアカウントやユーザIDなどのユーザを特定する情報と外部装置とを紐づける構成であっても良い。この場合、デバイスIDなどのスマートスピーカー50からクラウドへ送信されるスマートスピーカー50を特定する情報と、ユーザを特定する情報とをクラウド100の紐づけ用DBなどに記憶しておき、管理部330はデバイスIDと紐づくユーザを特定する情報に基づいて外部装置を特定する構成であっても良い。若しくは、スマートスピーカー50からデバイスIDに代えてユーザを特定する情報を送信しても良い。また、ユーザを特定するための情報に代えて、部署や企業などの組織を特定する情報、又は部屋や建物などの場所を特定する情報と、外部装置とを紐づける構成であっても良く、この場合は1以上のスマートスピーカー50と1以上の外部装置を紐づけても良い。
機器情報DB360は、MFP1を含む各外部装置のIDとそれぞれの機器情報とを対応付けて記憶するデータベースである。
(スマートスピーカー50の機能)
図24は、スマートスピーカー50の機能ブロックの構成の一例を示す図である。スマートスピーカー50のCPU21は、ROM23に記憶されている操作処理プログラムを実行することで、図24に示すように取得部211、通信制御部212、フィードバック部213として機能する。
取得部211は、マイクロホン部29(図3参照)を介して集音された、MFP1を音声操作するためのユーザの指示音声を、取得する。なお、取得部211は、タッチパネル27(図3参照)や物理スイッチ(不図示)などを介してユーザの操作を取得してもよい。通信制御部212は、クラウド100との間の通信を制御する。通信制御部212は、クラウド100と通信し、取得部211が取得した情報をクラウド100へ送信したり、クラウド100からテキストデータや画像データ、音声データを取得したりする。また、通信制御部212は、取得部211が取得した情報をクラウド100へ送信する場合、スマートスピーカー50を特定するデバイスIDを共に送信してもよい。
フィードバック部213は、対話型の音声入力操作を実現すべく、例えば不足するデータを補う入力を促す音声や、入力を確認する音声などをユーザ側にフィードバックする。また、フィードバック部213は、タッチパネル27のディスプレイ表示を制御することによって、テキストまたは画像としてユーザに対してフィードバックを行ってもよい。
なお、この例では、取得部211〜フィードバック部213をソフトウェアで実現することとしたが、これらのうちの一部または全部をIC(Integrated Circuit)等のハードウェアで実現してもよい。また、取得部211〜フィードバック部213の各機能は、操作処理プログラム単体で実現してもよいし、他のプログラムに処理の一部を実行させる、または他のプログラムを用いて間接的に処理を実行させてもよい。
(クラウドサービスの機能の詳細)
図25は、クラウドサービスの各機能の構成の一例を示す図である。操作音声変換部310は、図25に示すように、取得部311や、テキスト変換部312や、解釈部313や、出力部314などの機能を含む。取得部311は、スマートスピーカー50から送信される音声データ(ユーザにより入力された音声データ)を取得する。また、取得部311は、スマートスピーカー50のタッチパネル27や物理スイッチ(ボタンなども含む)などに対してユーザが行った操作を示すデータを取得してもよい。テキスト変換部312は、音声データ(スマートスピーカー50において入力されたユーザの音声データ)をテキストデータに変換するSTT(Speech To Text)を含む。解釈部313は、テキスト変換部312により変換されたテキストデータに基づいてユーザの指示の内容を解釈する。具体的に、解釈部313は、テキスト変換部312により変換されたテキストデータに含まれる単語などが、音声アシスタント部320が提供する辞書情報にマッチしているか否かを確認し、マッチしている場合に、ジョブの種類を示すアクションと、ジョブ条件などの変数を示すパラメータとに変換する。そして、解釈部313は、例えば音声データの取得元であるスマートスピーカー50を特定するデバイスIDなどと共に、アクションおよびパラメータを管理部330に対して送信する。出力部314は、テキストデータを音声データに合成するTTS(Text To Speech)を含む。出力部314は、通信部36(図4参照)を通信制御し、スマートスピーカー50にテキストデータ、音声データ、画像データなどのデータの送信等を行う。
なお、この例では、取得部311〜出力部314をソフトウェアで実現することとしたが、これらのうちの一部または全部をIC(Integrated Circuit)等のハードウェアで実現してもよい。また、取得部311〜出力部314が実現する各機能は、操作音声変換プログラム単体で実現してもよいし、他のプログラムに処理の一部を実行させる、または他のプログラムを用いて間接的に処理を実行させてもよい。また、操作音声変換プログラムの解釈部313の機能の一部または全てを音声アシスタントプログラムに実行させてもよい。この場合、例えばテキストデータに含まれる単語などが辞書情報にマッチしているか否かの確認、マッチしている場合にユーザの意図を示すアクションとジョブ条件などの変数を示すパラメータへの変換は、音声アシスタント部320が行う。解釈部313はアクションおよびパラメータを音声アシスタント部320から取得するだけでよい。
音声アシスタント部320は、図25に示すように提供部321の機能を含む。提供部321は、テキストデータとアクションおよびパラメータの関係を予め定義した辞書情報を管理し、操作音声変換部310に辞書情報を提供する。なお、音声アシスタント部320は、操作音声変換部310からテキストデータを受け付けて、そのテキストデータからユーザの操作指示を解釈してもよい。例えば、音声アシスタント部320は、解釈部313からテキストデータを取得し、テキストデータに含まれる単語などが辞書情報にマッチしているか否かを確認し、マッチしている場合にテキストデータをアクションとパラメータに変換する。その後、アクションおよびパラメータを解釈部313に提供する。
なお、この例では、音声アシスタント部320(提供部321を含む)をソフトウェアで実現することとしたが、そのうちの一部または全部をIC(Integrated Circuit)等のハードウェアで実現してもよい。また、提供部321などの機能は、音声アシスタントプログラム単体で実現してもよいし、他のプログラムに処理の一部を実行させる、または他のプログラムを用いて間接的に処理を実行させてもよい。
管理部330は、図25に示すように、取得部331や、解釈結果変換部332や、実行指示部333や、機器情報取得部334や、実行判定部335や、通知部336や、DB管理部337などの機能を含む。
取得部331は、解釈部313から解釈結果を取得する。
解釈結果変換部332は、操作音声変換部310で変換されたアクションおよびパラメータなどの解釈結果を、MFP1が解釈可能なジョブの実行命令に変換する。
実行指示部333は、ジョブの実行命令をMFP1に送信することによりジョブの実行を指示する。具体的に、実行指示部333は、アクションおよびパラメータと共に、ユーザが音声指示したスマートスピーカー50のデバイスIDを取得する。実行指示部333は、取得したデバイスIDに対応するMFP1を紐づけ用DB350(図23参照)から検索し、検索により得られたMFP1に対してジョブ実行命令を送信する。
機器情報取得部334は、登録されている各外部装置(この例ではMFP1)から機器情報を取得する。例えば、機器情報取得部334は、処理可能な最大画素数等の処理能力を示す情報を取得する。また、機器情報取得部334は、MFP1との間で、通信接続が確立されているか否かを示す接続状態、MFP1の電源のON/OFFまたはスリープモードであるかを示す電力状態、エラーの有無とエラーの種類、用紙やトナーなどの消耗品の残余状況、ユーザのログイン状態、ログインユーザに使用が許可された機能を示す権限情報、などを含む機器状態を示す情報も設定に応じて適宜取得する。
なお、機器情報取得部334は、複数のMFP1から処理能力などの機器情報を取得した場合、機器情報DB360(図23参照)において、各外部装置を特定するIDなどの情報と紐づけてそれぞれの機器情報を管理する。
実行判定部335は、MFP1の処理能力と、ユーザから指定されたジョブ(即ち、操作音声変換部310で生成されたアクションおよびパラメータ)とを比較することで、ユーザから指定されたジョブをMFP1で実行可能か否か判定する。ユーザから指定されたジョブ実行が実行可能と判断した場合はMFP1に対してジョブ実行命令を送信する。なお、実行不可能と判断した場合は通知部336により操作音声変換部310を介してスマートスピーカー50に対してエラーメッセージなどをレスポンス情報としてフィードバックさせてもよい。
通知部336は、ユーザのジョブ実行指示への応答としてテキストデータ、音声データ、画像データなどを操作音声変換部310へ送信する。また、ジョブの実行するためのジョブ条件を示すパラメータが不足している場合には、操作音声変換部310を介してスマートスピーカー50に対してフィードバックすることでユーザにパラメータの更なる指示を促す。ここで、不足しているパラメータを確認するために必要な情報として、パラメータ情報を送信してもよいし、ユーザにパラメータの指定を促すために必要な情報としてテキストデータ、音声データ、画像データを送信してもよい。
DB管理部337は、管理DB340、紐づけ用DB350、および機器情報DB360を管理する。具体的には、各種テーブルの設定や、各種テーブルに対してのデータの登録、検索、削除、更新などを行う。例えば、DB管理部337は、MFP1、スマートスピーカー50、またはクラウドサービス装置60のクライアントデバイスに入力された情報および指示に基づいて、スマートスピーカー50のデバイスIDとMFP1のIDとを紐づけて紐づけ用DB350に登録する。紐づけ用DB350は、スマートスピーカー50のデバイスIDとMFP1のIDとを紐づけた情報をテーブルデータなどで保持する。
(対話型動作の流れ)
図26〜図29は、音声操作システムにおいてユーザがシステムと対話してMFPの操作を行う場合の全体の動作の一例を示す図である。図26は、起動時の動作の流れを示しており、図27〜図29は、起動後の対話型動作の流れを示している。システムと対話して操作を行う場合、対話のセッション管理が必要になる。対話のセッション管理については後述する。ここでは、一例としてユーザがスマートスピーカー50を介してカラー画像を両面上下開き、ステープル上2か所で2部のコピーを行う操作を指示する場合の動作を示す。この例では、部数(=2部)が必須パラメータとなっているが、部数に限定されず、モノクロ、カラー、または、用紙サイズ等、複数のパラメータを必須パラメータに含めてもよい。
まず、ユーザによりスマートスピーカー50(操作処理プログラム)が起動操作された後、例えばユーザがスマートスピーカー50に起動ワードを音声入力する(ステップS1´)。ここで、ユーザが音声アシスタントプログラムを起動するための起動ワードを発話することで、所望の音声アシスタントプログラムを起動させることができる。スマートスピーカー50(通信制御部212)は、クラウド100(操作音声変換部310)に対して起動ワードの音声データを送信する(ステップS2´)。
クラウド100では、操作音声変換部310(取得部311)が、スマートスピーカー50から送信データを取得し、操作音声変換部310(テキスト変換部312)が、音声データをテキスト化、つまりテキストデータに変換処理する(ステップS3´)。
操作音声変換部310(解釈部313)は、音声アシスタント部320(提供部321)に辞書情報を要求して音声アシスタント部320(提供部321)から辞書情報を取得する(ステップS4´)。
さらに、操作音声変換部310(解釈部313)は、取得した辞書情報から、テキスト解釈を行う(ステップS5´)。
そして、操作音声変換部310(解釈部313)は、その解釈結果を、管理部330に渡す(ステップS6´)。
ここで、管理部330は、必要に応じて、紐づけ用DBの検索(ステップS71)、接続状態確認(ステップS72)、アプリ状態確認(ステップS73)、機器情報取得(ステップS74)などを行う。なお、これらの処理の順番は適宜入れ替えてよい。また、各処理は、それぞれ、別のタイミングで行っていれば、ここでの処理を省略してもよい。
紐づけ用DBの検索(ステップS71)では、管理部330(DB管理部337)が、取得したデバイスID(スマートスピーカー50のID)に対応するMFP1(MFP1のID)を、紐づけ用DB350から検索して取得する。このとき、管理部330(通知部336)は、デバイスIDと紐づくMFP1のIDが検索で得られなかった場合、スマートスピーカー50が通信対象と紐づけられていないことを操作音声変換部310(出力部314)を介してユーザに通知する。例えば、管理部330(通知部336)は、「このデバイスは機器と紐づけられていません」とのレスポンスを含むレスポンス情報を生成する。ここで、管理部330(通知部336)は、デバイスと通信対象を紐づけする方法をレスポンスに含めてもよい。なお、ステップS71は、デバイスIDを取得した他の任意のタイミングで行ってもよい。
接続状態確認(ステップS72)は、管理部330が通信対象(この例ではMFP1)の機器状態を確認する。例えばDB管理部337が機器情報DB360の予め取得した機器情報を参照することで確認する。あるは、機器情報取得部334が通信対象のMFP1から機器情報を取得して確認してもよい。ここで、機器状態の確認は、例えば通信対象のMFP1と通信可能か否かおよびMFP1が使用可能か否かの確認である。このとき、デバイスIDと紐づくMFP1(確認対象のMFP1)との接続が確立していない場合、または、そのMFP1が起動中などで使用できない場合、管理部330(通知部336)は、操作音声変換部310(出力部314)を介してユーザに通知を行う。例えば、管理部330(通知部336)は、「機器がオフラインです」または「機器が準備中です」とのレスポンスを含むレスポンス情報を生成して通知する。ここで、管理部330(通知部336)は、対策方法をレスポンスに含めてもよい。なお、機器状態の確認は、操作音声変換部310(解釈部313)からアクションおよびパラメータ、デバイスIDを取得した他の任意のタイミングで行ってもよい。
アプリ状態確認(ステップS73)は、管理部330が通信対象のMFP1にユーザから指定された機能を実行するアプリケーションの状態を確認する。例えばDB管理部337が、機器情報DB360の予め取得した機器情報を参照することで確認する。あるいは、機器情報取得部334が通信対象のMFP1から機器情報を取得して確認してもよい。ここで、アプリ状態の確認は、例えばアプリケーションがインストールされているか否か、アプリケーションが実行可能な状態であるか否かの確認である。そして、実行を指示された機能がコピーであったとして、コピーに関するアプリケーションがデバイスIDと紐づくMFP1にインストールされていなかったり、あるいは、アプリケーションが起動中などで使用できなかったりする場合は、管理部330(通知部336)は、操作音声変換部310(出力部314)を介してユーザに通知を行う。例えば、管理部330(通知部336)は、「アプリケーションがインストールされていません」または「アプリケーションは現在利用できません」とのレスポンスを含むレスポンス情報を生成して通知する。ここで、管理部330(通知部336)は、対策方法をレスポンスに含めてもよい。なお、アプリケーションの状態の確認は、操作音声変換部310(解釈部313)からアクションおよびパラメータ、デバイスIDを取得した他の任意のタイミングで行ってもよい。
機器情報取得(ステップS74)は、管理部330が通信対象(この例ではMFP1)の機器情報を取得する。例えばDB管理部337が機器情報DB360の予め取得した機器情報を取得する。あるは、機器情報取得部334が通信対象のMFP1から機器情報を取得してもよい。ここで取得する機器状態は、例えば通信対象のMFP1において、ユーザが指示したジョブ種類およびジョブ条件が実行可能か否かを判断する際に利用される。
これらの処理が起動後の任意のタイミングで完了していると、管理部330(実行判定部335)は、必須パラメータ不足判断を行う(ステップS75)。管理部330(実行判定部335)は、必須パラメータ不足判断において、解釈結果のアクションおよびパラメータに基づいてジョブ実行に必要な条件が全て揃っているか否かを判断する。
なお、音声アシスタントプログラムの起動を指示する際においてジョブの種類および必須の設定条件をすべて指定していた場合には、これ以降に示す「入力フィードバック」のステップは省略し、MFP1に実行を指示してもよい。
この段階では、音声で起動が指示されただけで、それ以外に、MFP1が有する複数のアクションやパラメータの指定をユーザが受け付けていないため、管理部330(実行判定部335)は、必須パラメータを満たしていないと判断する。音声アシスタントプログラムの起動を指示する際に必須の条件の指示漏れがある場合にも必須パラメータを満たしていないと判断する。従って、管理部330(通知部336)はレスポンス情報を作成し、操作音声変換部310(出力部314)を介してスマートスピーカー50にレスポンス情報を送信する(ステップS76、ステップS77)。
なお、管理部330(DB管理部337)は、このスマートスピーカー50との通信のセッションを管理DB340で管理する。管理部330(通知部336)はスマートスピーカー50にレスポンス情報を送信する際に、セッションが継続していることを示す状態情報を送信することができる。ここで状態情報は、セッションが継続していることを示す情報である。後段の手順においても適宜説明を省略しているが、クラウド100がスマートスピーカー50に問合せを行う場合、状態情報を含めてスマートスピーカー50に送信する。
レスポンス情報には、ユーザに問合せる内容としてテキストデータ、音声データ、画像データを含めることができる。ここでは一例として、「コピーしますか?スキャンしますか?」の音声データを送信する。これにより、スマートスピーカー50(フィードバック部213)は、「コピーしますか?スキャンしますか?」と音声でフィードバックを行う(ステップS78)。
なお、ユーザに対してジョブの種類またはジョブの設定条件の入力を促すメッセージであればフィードバックの内容はこれに限定されない。更に、ユーザに対するフィードバックは、音声出力だけでなく、タッチパネルにテキストまたは画像を表示することで行ってもよい。その場合、スマートスピーカー50にテキストデータや画像データ(表示情報)などを送信する。
ステップS78の後に、ユーザが「コピー」と発話した場合(音声アシスタントプログラムの起動指示の際に「コピー」と発話していた場合も同様)、次のように処理が進む。ユーザが発話した音声は、スマートスピーカー50(取得部211)により音声データとして取得される(ステップS1−1)。スマートスピーカー50(通信制御部212)は、この「コピー」の音声データをクラウド100に送信する(ステップS2−1)。このとき、スマートスピーカー50(通信制御部212)は、スマートスピーカー50を特定するデバイスIDをクラウド100に送信する。
クラウド100では、操作音声変換部310(取得部311)が、その音声データを取得し、その後は、ステップS3´〜ステップS5´と同様に、操作音声変換部310においてテキスト解釈までの処理が行われ(ステップS3−1〜ステップS5−1)、解釈結果が管理部330へ渡される(ステップS6−1)。ここでは、「コピーして」に対応する「Copy_Execute」としたアクションを解釈結果として渡す。
そして、管理部330(実行判定部335)は、改めて必須パラメータ不足判断を行う(ステップS75―1)。この例の場合、ユーザは、「コピー」としか発話しておらず、必須パラメータのコピー部数等の設定値が不明である。
このため、クラウド100がスマートスピーカー50に対して不足しているパラメータを問い合わせる。具体的には、この段階では設定値不足であったため、管理部330(通知部336)が「設定値を入力してください」を含むレスポンス情報を生成し、操作音声変換部310(出力部314)を介して「設定値を入力してください」の音声データをスマートスピーカー50に送信する(ステップS75−1〜ステップS77−1)。そして、スマートスピーカー50(フィードバック部213)が「設定値を入力してください」との音声出力を行う(ステップS78−1)。なお、この場合も、音声出力の他に、タッチパネル27において「設定値を入力してください」とのテキスト表示などを行ってもよい。
次に、入力不足フィードバックがあったため、ユーザは、例えば「カラー両面上下開きステープル上2か所で」と発話する。ユーザが発話した音声は、スマートスピーカー50(取得部211)により音声データとして取得される(ステップS1−2)。スマートスピーカー50(通信制御部212)は、この「カラー両面上下開きステープル上2か所で」の音声データをクラウド100に送信する(ステップS2−2)。このとき、スマートスピーカー50(通信制御部212)は、スマートスピーカー50を特定するデバイスIDをクラウド100に送信する。
クラウド100では、操作音声変換部310(取得部311)が、その音声データを取得し、その後は、ステップS3´〜ステップS5´と同様に、操作音声変換部310においてテキスト解釈までの処理が行われ(ステップS3−2〜ステップS5−2)、解釈結果が管理部330へ渡される(ステップS6−2)。
ここでは、操作音声変換部310(解釈部313)が「Parameter:カラー/モノクロ=カラー、印刷面=両面、開き方向=上下開き、ステープル=上2ヶ所」としたパラメータを解釈結果として生成し、その解釈結果を管理部330へ渡す。
具体的に、管理部330(DB管理部337)は、前回の発話の解釈結果と今回の発話の解釈結果とを統合してアクションおよびパラメータを完成させる。つまり、この例では、「Copy_Execute」としたアクション、および「Parameter:カラー/モノクロ=カラー、印刷面=両面、開き方向=上下開き、ステープル=上2ヶ所」としたパラメータを完成させる。管理部330(実行判定部335)は、この統合された解釈結果に基づいて改めて必須パラメータ不足判断を行う。この例の場合、ユーザが「2部」と発話したことで、コピーのジョブに対する必須パラメータ不足が解消する。
この例では、続いて管理部330(通知部336)は、入力確認フィードバックを行うために「カラー、両面、上下開き、ステープル上2か所でコピーします。よろしいですか?」とのレスポンス情報を生成し、操作音声変換部310(出力部314)を介して「カラー、両面、上下開き、ステープル上2か所でコピーします。よろしいですか?」の音声データをスマートスピーカー50に送信する(ステップS75−3〜ステップS77−3)。そして、スマートスピーカー50(フィードバック部213)が「両面で2部コピーします。よろしいですか?」との音声出力を行う(ステップS78−3)。なお、この場合も、音声出力の他に、タッチパネル27において「カラー、両面、上下開き、ステープル上2か所でコピーします。よろしいですか?」とのテキスト表示などを行ってもよい。ここで、レスポンス情報に含まれるテキストデータや音声データを出力することに代えて、レスポンス情報に含まれる情報に基づいてスマートスピーカー50の記憶部に記憶されたテキストデータを組み合わせて出力情報を生成してもよい。
その後、ユーザは、この入力確認フィードバックに対して、設定値の変更またはコピーの開始を端末に発話する。ユーザが設定値を変更する内容を発話した場合は、その発話した設定値の変更について、スマートスピーカー50からクラウド100へ音声データが送信され、クラウド100で設定値の変更が行われて、スマートスピーカー50に設定値の変更が行われたことについて音声でフィードバックされる。音声のフィードバックは、例えば「○○設定でコピーします。よろしいですか?」など、変更された設定値でコピーを開始してよいか否かの確認を行う。
その後も、ユーザが設定値を変更する内容を発話する場合は、この手続きが繰り返される。従って、「カラー、両面、上下開き、ステープル上2か所でコピーします。よろしいですか?」との音声出力が行われた後は、ユーザが設定値を変更する内容を発話した回数(k回)だけ、手続きが繰り返される。
ユーザが「はい」と応答するなどしてコピーの開始を指示した場合は、図29に示されるn番目の手順が行われる。つまり、ユーザが発話した音声は、スマートスピーカー50(取得部211)により音声データとして取得される(ステップS1−n)。スマートスピーカー50(通信制御部212)は、この「はい」の音声データをクラウド100に送信する(ステップS2−n)。このとき、スマートスピーカー50(通信制御部212)は、スマートスピーカー50を特定するデバイスIDをクラウド100に送信する。
クラウド100では、操作音声変換部310(取得部311)が、その音声データを取得し、その後は、ステップS3´〜ステップS5´と同様に、操作音声変換部310においてテキスト解釈までの処理が行われ(ステップS3−n〜ステップS5−n)、解釈結果が管理部330へ渡される(ステップS6−n)。
ここで、操作音声変換部310(解釈部313)は、コピー開始指示を認識すると、その解釈結果を管理部330に渡し、管理部330(実行判定部335)が、最終確認OKと判断する(ステップS75―n)。
これにより、管理部330(解釈結果変換部332)は、解釈結果をMFP1のジョブ命令に変換処理する(ステップS76)。そして管理部330(実行指示部333)は、変換処理した実行指示情報をMFP1に送信する(ステップS8)。これにより、音声入力操作により、MFP1をコピー制御することができる。
図30は、スマートスピーカー50の表示部に表示される画面を示す正面図である。図30に示すように、スマートスピーカー50の表示部に表示される画面は、図13に示した携帯端末装置2に表示される画面と同じである。
スマートスピーカー50に対する発話、及びフィードバックの処理については、第1の実施の形態で示した処理と同じである。概略的には、スマートスピーカー50は、ユーザが発話した内容と、クラウドサービス装置60(操作音声変換プログラム)から受信したレスポンス情報を出力する。レスポンス情報は、テキストデータ、音声データ、画像データの少なくともいずれかを含む情報である。
なお、図30においてスマートスピーカー50のタッチパネル27の画面右側から吹き出し表示されるコメントは、ユーザがスマートスピーカー50に対して発話した内容を示すコメントを示す。また、図30においてスマートスピーカー50のタッチパネル27の画面左側から吹き出し表示されるコメントは、クラウドサービス装置60からユーザの発話に対して音声フィードバックされた内容を示すコメントである。つまり、スマートスピーカー50は、クラウドサービス装置60からフィードバック情報を受信した場合、音声出力でユーザへフィードバックすると同時に、画面表示によってもフィードバックを行う。ただし、音声出力のフィードバックについては省略しても良い。
また、スマートスピーカー50の画面左側に表示させるアイコンは、スマートスピーカー50が接続する機器に応じて変えることができる。
ここで、図26〜図29を用いて説明すると、「コピーしますか?スキャンしますか?」のコメントは、ステップS78の音声フィードバックと共にスマートスピーカー50のタッチパネル27の画面に表示される。
なお、スマートスピーカー50の操作音声処理プログラムは、クラウドサービス装置60からのレスポンス情報に基づいて表示するテキストを生成したり、スマートスピーカー50のROM23などに予め記憶されたテキストデータを表示させたりしても良い。また、レスポンス情報に含まれるテキストデータ及び音声データをそのまま表示しても良い。
スマートスピーカー50の操作音声処理プログラムは、「コピー」のコメントを、クラウドサービス装置60(操作音声変換プログラム)が音声データをテキストデータに変換したものをレスポンス情報として受信してスマートスピーカー50のタッチパネル27の画面に表示させることができる。
なお、クラウドサービス装置60(操作音声変換プログラム)は、任意のタイミングでレスポンス情報を送信することができる。例えば、クラウドサービス装置60(操作音声変換プログラム)は、テキストデータに変換したタイミングで「コピー」のレスポンス情報を生成してスマートスピーカー50に対して送信しても良い(この場合は、「コピー」だけが表示される)。
また、クラウドサービス装置60(管理プログラム)は、「設定値を入力してください」のレスポンス情報を生成するタイミングで、「コピー」のレスポンス情報も生成して、操作音声変換プログラムを介してスマートスピーカー50に送信しても良い(この場合、「コピー」と「設定値を入力してください」がほぼ同時にスマートスピーカー50のタッチパネル27に画面表示される。
なお、操作音声変換プログラムは、管理プログラムに対して「Copy_Execute」としたインテントを解釈結果として送信する際に、「コピー」のレスポンス情報を生成するために必要な情報を送信しても良い。
また、レスポンス情報は操作音声変換プログラムが作成して、管理プログラムが操作音声変換プログラムを介して「設定値を入力してください」のレスポンス情報をスマートスピーカー50へ送信する際に、一緒に「コピー」のレスポンス情報をスマートスピーカー50へ送信しても良い。
スマートスピーカー50の操作音声処理プログラムは、「設定値を入力してください」のコメントは、図27のステップS78−1の音声フィードバックと共にスマートスピーカー50のタッチパネル27の画面に表示される。即ち、クラウドサービス装置60(管理プログラム)から受信したレスポンス情報に基づいてコメントを表示させる。
スマートスピーカー50の操作音声処理プログラムは、「カラー、両面、上下開き、ステープル上2ヶ所でコピー」のコメントを、クラウドサービス装置60(操作音声変換プログラム)が音声データをテキストデータに変換したものを受信して画面に表示させることができる。表示の方法については、「コピー」と話した場合と同様である。
併せて、スマートスピーカー50の操作音声処理プログラムは、入力不足ではないと判断した場合、例えば「カラー、両面、上下開き、ステープル上2ヶ所でコピーします。よろしいでしょうか?」とのフィードバックのテキストを、タッチパネル27に表示させ、コピー開始の指示を促す。
このように、スマートスピーカー50は、予めスマートスピーカー50に記憶されたテキストデータ、クラウドサービス装置60から受信したテキストデータ又はレスポンス情報に基づいて、コメントをスマートスピーカー50のタッチパネル27の画面に表示させる。
クラウドサービス装置60(管理プログラム)は、MFP1に対してジョブ実行指示を送信した後、MFP1からジョブ実行結果の通知を受け、該ジョブ実行結果を操作音声変換プログラムを介してスマートスピーカー50へ送信して、音声フィードバックさせるとともに、タッチパネル27の画面上に表示させても良い。例えば、ジョブが正常に完了した場合には、「ジョブが完了しました」というメッセージを音声フィードバックさせるとともに、タッチパネル27の画面上に表示させても良い。ただし、ジョブ実行結果のフィードバックは省略しても良く。図30では省略した場合を示している。
クラウドサービス装置60(管理プログラム又は操作音声変換プログラム)は、レスポンス情報をスマートスピーカー50へ送信するとき、後で同様のジョブを実行する際に利用可能な情報を送信しても良い。例えば、レスポンス情報として、操作音声変換プログラムから取得したインテント及びパラメータの情報を含めてスマートスピーカー50へ送信しても良い。
ここで、第1の実施の形態で説明した具体例を本実施の形態に適用した場合について説明する。
スマートスピーカー50の操作音声処理プログラムは、MFP1などの外部装置とスマートスピーカー50との接続を制御することができ、更に外部装置から機器情報を取得することができる。
例えば、操作音声処理プログラムは、スマートスピーカー50のタッチパネル27の画面上に表示された所定のボタン操作などにより、外部装置との接続指示を受け付けた場合、図16、図17に示す画面をタッチパネル27に表示させる。
図16に示すように、スマートスピーカー50の操作音声処理プログラムは、接続したい外部装置のホスト名やIPアドレスの入力画面Aを表示し、ユーザから入力を受け付けることで、接続先の外部装置を特定することができる。
この後、スマートスピーカー50の操作音声処理プログラムは、図17に示す画面Bに遷移する。
図17に示すように、スマートスピーカー50の操作音声処理プログラムは、対象外部装置のログインID及びパスワードの入力画面Bを表示し、ユーザから入力を受け付けることで、接続先の外部装置にログインすることができる。ただし、図17に示すログイン画面は省略しても良い。
操作音声処理プログラムは、外部装置との接続が確立した後、対象の外部装置から機器情報を取得することができる。機器情報は、機器の種類(種類としては、MFP、プロジェクタ、デジタルホワイトボードなどである)、型番、処理能力、ファームウェアなどを含むプログラムのバージョン情報、接続されているオプション機器の情報など、外部装置を特定するために必要な情報である。なお、以上ではスマートスピーカー50が外部装置と接続する場合について説明したが、これに限定されず、スマートスピーカー50と外部装置とは直接は接続せずに、クラウドサービス装置60と外部装置が接続する構成であっても良い。
例えば、スマートスピーカー50の操作音声処理プログラムは、操作対象となる外部装置に応じて、スマートスピーカー50のタッチパネル27の画面に表示する機器アイコンを決定する。
例えば、スマートスピーカー50の操作音声処理プログラムは、クラウドサービス装置60から通信対象に対応する機器情報を取得して、スマートスピーカー50のタッチパネル27の画面に表示する機器アイコンを決定する。
例えば、クラウドサービス装置60の管理プログラムは、外部装置から所定のタイミングで機器情報を取得し、外部装置を特定する情報と該外部装置の機器情報とを紐づけて、クラウドサービス装置60のHDD34などの記憶部に記憶しておく。このため、管理プログラムは、操作音声変換プログラムが生成した解釈結果であるインテント及びパラメータに応じて通信対象を決定し、決定した通信対象に応じて機器情報を取得、又は予め記憶しておいた機器情報を読み出すことができる。なお、通信対象が一つのみ存在する場合は、通信対象の決定は不要であり、予め定められた一の通信対象の機器情報を取得すればよい。
また、管理プログラムは、スマートスピーカー50へレスポンス情報を操作音声変換プログラムを介して送信する場合、レスポンス情報に機器情報を含めて送信することができる。
ただし、クラウドサービス装置60がスマートスピーカー50に対して機器情報を送信するタイミングはこれに限定さない。操作音声変換プログラムがスマートスピーカー50に対してデータを送信するタイミングで機器情報を送信すれば良い。
ここで、管理プログラムは、スマートスピーカー50の操作対象となる外部装置を特定し、特定した外部装置から機器情報を所定のタイミングで取得することができる。なお、スマートスピーカー50から操作が可能な外部装置は、予めクラウドサービス装置60に登録しておくことができる。これにより、管理プログラムは、外部装置を特定し、外部装置と通信接続を確立することができる。
なお、機器情報を取得するタイミングは、任意のタイミングであって良いが、例えば、外部装置をクラウドサービス装置60に登録するタイミング、スマートスピーカー50がクラウドサービス装置60にアクセスしたタイミング、などである。
また、管理プログラムが外部装置から機器情報を取得する構成に代えて、クライアントPCがクラウドサービス装置60にアクセスすることで、登録された外部装置に関する機器情報を入力する構成であっても良い。
例えば、スマートスピーカー50の操作音声処理プログラムは、外部装置がMFPであればMFPの画像を機器アイコンとして決定し、外部装置がプロジェクタであれば、プロジェクタの画像を機器アイコンとして決定する。また、スマートスピーカー50が操作する対象の外部装置として、同じ種類の複数の外部装置と接続する場合が考えられる。
例えば、MFPを例に説明すると、オフィスにおいてユーザは複数のMFPを使用することがあり得る。このため、操作音声処理プログラムは、機器の種類がMFPの場合、型番などMFPを特定できる機器情報、又はホスト名/MFPアドレスに基づいて、MFP毎に異なる機器アイコンを設定する。
ここで、図31は画面表示の一例を示す図である。例えば、図31に示すように、MFPの画像と共に、「A」、「B」など、テキストを表示させることで、MFPを区別することができる。図31では、9:00においてユーザがジョブ実行させたMFPと、17:00においてジョブ実行させたMFPとが異なる場合を示している。
ただし、機器アイコンを区別する方法はこれに限定されず、テキストの内容や位置は任意に変更することができる。また、MFPの画像自体を変えても良いし、MFP又は背景の色や輝度を変えても良いし、MFPの画像に星印などのマークを付与しても良い。
ここで、機器アイコンの画像は、スマートスピーカー50のROM23、又はスマートスピーカー50がアクセス可能なサーバなどに予め記憶しておくことができる。例えば、外部装置の種類ごとに複数の機器アイコンを記憶しておくことができる。この場合、操作音声処理プログラムは、記憶された機器アイコンの画像を読み出すだけで良い。
ただし、これに限定されず、操作音声処理プログラムは、記憶された機器アイコンの画像と、取得した機器情報又はホスト名/IPアドレスを組み合わせて機器アイコンを作成しても良い。この場合、操作音声処理プログラムは、例えばMFPの画像に対して、取得した機器情報又はホスト名/IPアドレスをテキストとして付加することで、機器アイコンを作成することができる。
なお、以上では操作音声処理プログラムが自動的に機器アイコンを生成する場合について説明したが、これに限定されず、ユーザによって機器アイコンが設定されても良い。例えば、スマートスピーカー50のタッチパネル27の画面上の機器アイコンの表示位置をタッチすることで、又は操作音声処理プログラムの設定画面を表示させることで、機器アイコンの画像を変更することができる。機器アイコンの画像としては、スマートスピーカー50やサーバやクラウドサービス装置60などに記憶された画像データの中から所望の画像を機器アイコンとして表示させたい画像を選択しても良いし、画像データと共に表示するテキストやマークを変更しても良いし、予め記憶された機器アイコンの中から所望の機器アイコンを選択しても良い。
また、操作音声処理プログラムは、機器アイコンを決定する際に、機器アイコンを決定するために用いた情報(機器情報、又はホスト名/IPアドレス)と、機器アイコンとを紐づけて、スマートスピーカー50のROM23などに記憶することができる。なお、操作音声処理プログラムが機器アイコンを決定する場合は、クラウドサービス装置60のHDD34などに記憶させる。
これにより、操作音声処理プログラムによってジョブ実行を行う場合に、前回ジョブ実行時に接続した外部装置と、今回ジョブ実行時に接続した外部装置が同じものであれば、同じ機器アイコンを表示させることができる。
ここで、図32はアイコン設定処理の流れを示すフローチャートである。図32に示すように、スマートスピーカー50のCPU21は、操作音声処理プログラムに従い、外部装置との接続を確立すると(ステップS91)、現在接続中の外部装置について過去に機器アイコンを決定したかを判断する(ステップS92)。つまり、スマートスピーカー50のCPU21は、操作音声処理プログラムに従い、スマートスピーカー50のROM23に記憶された情報を参照して、該外部装置と紐づく機器アイコンが記憶されているか否かを確認し、記憶されている場合には(ステップS92のYes)、該機器アイコンを読み出す(ステップS93)。また、スマートスピーカー50のCPU21は、操作音声処理プログラムに従い、記憶されていない場合には(ステップS92のNo)、新たに機器アイコンを設定する(ステップS94)。スマートスピーカー50のCPU21は、操作音声処理プログラムに従い、フィードバック時に聞きアイコンを表示する(ステップS95)。
以上では、スマートスピーカー50側で機器アイコンを決定する場合を例にして説明したが、これに限定されず、クラウドサービス装置60側の管理プログラム(又は操作音声変換プログラムなど他のプログラムであっても良い)が、管理プログラムによって特定した外部装置の機器情報に基づいて、機器アイコンを決定しても良い。
例えば、管理プログラムは、操作音声変換プログラムが生成した解釈結果であるインテント及びパラメータに応じて通信対象を決定し、決定した通信対象に応じて機器情報を取得、又は予め記憶しておいた機器情報を読み出す。そして、管理プログラムは、機器情報に応じて、機器アイコンを決定する。ここで、管理プログラムは、機器情報と機器アイコンを紐づけて記憶したデータベースから機器アイコンを検索しても良いし、データベースに該当する機器アイコンがなければ新たに機器アイコンを生成しても良い。
そして、管理プログラムは、決定した機器アイコンの画像をレスポンス情報としてスマートスピーカー50へ送信する。なお、機器アイコンの画像に代えて、機器アイコンを特定する情報(ID情報など)を送信しても良い。
スマートスピーカー50は、機器アイコンの画像データを取得した場合には該画像をフィードバック内容と共に表示させ、機器アイコンを特定する情報(ID情報)を取得した場合は該IDと紐づく機器アイコンの画像をスマートスピーカー50内のROM23又はサーバなどから検索し、検索した画像を取得した上で該画像とフィードバック内容とを共に表示させる。
なお、管理プログラムは、MFPを特定できる機器情報、又はホスト名/IPアドレスと、機器アイコンの画像又は機器アイコンを特定する情報(ID)とを紐づけて、クラウドサービス装置60のHDD34又はクラウドサービス装置60からアクセス可能なサーバなどに記憶することができる。
また、ユーザによって機器アイコンが設定された場合は、スマートスピーカー50から機器アイコンの情報と、MFPを特定できる機器情報又はホスト名/IPアドレスを取得して、クラウドサービス装置60のHDD34又はクラウドサービス装置60からアクセス可能なサーバなどに記憶する。
このように本実施の形態によれば、音声にて指示が可能な複数の外部装置が存在する場合に、いずれの外部装置からの応答なのかを直観的に判断することができる。
最後に、上述の各実施の形態は、一例として提示したものであり、本発明の範囲を限定することは意図していない。この新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことも可能である。
このような各実施の形態及び各実施の形態の変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
なお、上記実施の形態では、本発明の画像形成装置を、コピー機能、プリンタ機能、スキャナ機能およびファクシミリ機能のうち少なくとも2つの機能を有する複合機に適用した例を挙げて説明するが、複写機、プリンタ、スキャナ装置、ファクシミリ装置等の画像形成装置であればいずれにも適用することができる。