以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。従ってそれらについての詳細な説明は繰返さない。
<第1の実施の形態>
図1は、本発明の第1の実施の形態の1つにおける情報処理システムの全体概要を示す図である。図1を参照して、情報処理システム1は、MFP(Multi Function Peripheral)100と、パーソナルコンピューター(以下「PC」という)200と、を含む。
MFP100は、画像処理装置の一例である。PC200は、ジョブ生成装置の一例であり、一般的なコンピューターである。MFP100およびPC200それぞれは、ネットワーク3と接続されている。ネットワーク3は、例えば、ローカルエリアネットワーク(LAN)である。このため、MFP100およびPC200は、ネットワーク3を介して互いに通信可能である。PC200は、MFP100に実行させる処理を定めたジョブを生成する。また、PC200は、MFP100を制御するためのプリンタードライバープログラムがインストールされており、プリンタードライバープログラムを実行することにより、MFP100を制御して、MFP100にジョブを実行させることが可能である。ネットワーク3において、その接続形態は有線または無線を問わない。また、ネットワーク3は、ワイドエリアネットワーク(WAN)、公衆交換電話網(PSTN)、インターネット等であってもよい。
図2は、第1の実施の形態におけるPCのハードウェア構成の概要の一例を示すブロック図である。図2を参照して、PC200は、PC200の全体を制御するための中央演算処理装置(CPU)201と、CPU201が実行するためのプログラムを不揮発的に記憶するROM(Read Only Memory)202と、CPU201の作業領域として使用されるRAM(Random Access Memory)203と、データを不揮発的に記憶するハードディスクドライブ(HDD)204と、CPU201をネットワーク3に接続する通信部205と、情報を表示する表示部206と、ユーザーの操作の入力を受け付ける操作部207と、マイクロフォン208と、スピーカー209と、外部記憶装置210と、を含む。
CPU201は、インターネットに接続されたコンピューターからプログラムをダウンロードしてHDD204に記憶する。また、ネットワークに接続されたコンピューターがプログラムをHDD204に書込みする場合に、HDD204にプログラムが記憶される。CPU201は、HDD204に記憶されたプログラムをRAM203にロードして実行する。
CPU201のソフトウェアアーキテクチャとして、CPU201には、オペレーティングシステム(OS)層が形成され、その上の階層に、アプリケーション層が形成される。OS層は、CPU201がオペレーティングシステム(OS)プログラムを実行するタスクが属する。OS層に属するタスクは、PC200のハードウェア資源を制御する処理を実行する。ハードウェア資源は、ここでは、ROM202、RAM203、HDD204、通信部205、表示部206、操作部207、マイクロフォン208および外部記憶装置210を含む。
マイクロフォン208は、音声を収集し、収集した音声を電気信号に変換する。マイクロフォン208は、音声から電気信号に変換された音声データをCPU201に出力する。
外部記憶装置210は、CD−ROM(Compact Disk Read Only Memory)211が装着される。本実施の形態においては、CPU201は、ROM202またはHDD204に記憶されたプログラムを実行する例を説明する。しかしながら、CPU201は、外部記憶装置210を制御して、CD−ROM211からCPU201が実行するためのプログラムを読出し、読み出したプログラムをRAM203に記憶して実行してもよい。
なお、CPU201が実行するためのプログラムを記憶する記録媒体としては、CD−ROM211に限られず、フレキシブルディスク、カセットテープ、光ディスク(MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc))、ICカード、光カード、マスクROM、EPROM(Erasable Programmable ROM)等の半導体メモリ等の媒体でもよい。ここでいうプログラムは、CPU201により直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
図3は、第1の実施の形態におけるMFPのハードウェア構成の概要を示すブロック図である。図3を参照して、MFP100は、メイン回路110と、原稿を読み取るための原稿読取部130と、原稿を原稿読取部130に搬送するための自動原稿搬送装置120と、原稿読取部130が原稿を読み取って出力する画像データに基づいて用紙等に画像を形成するための画像形成部140と、画像形成部140に用紙を供給するための給紙部150と、画像が形成された用紙を処理する後処理部155と、ユーザーインターフェースとしての操作パネル160とを含む。
後処理部155は、画像形成部140により画像が形成された1以上の用紙を並び替えて排紙するソート処理、パンチ穴加工するパンチ処理、ステープル針を打ち込むステープル処理を実行する。
メイン回路110は、CPU111と、通信インターフェース(I/F)部112と、ROM113と、RAM114と、大容量記憶装置としてのハードディスクドライブ(HDD)115と、ファクシミリ部116と、CD−ROM118が装着される外部記憶装置117と、を含む。CPU111は、自動原稿搬送装置120、原稿読取部130、画像形成部140、給紙部150、後処理部155および操作パネル160と接続され、MFP100の全体を制御する。
ROM113は、CPU111が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。RAM114は、CPU111がプログラムを実行する際の作業領域として用いられる。さらに、RAM114は、原稿読取部130から連続的に送られてくる画像データを一時的に記憶する。
通信I/F部112は、MFP100をネットワーク3に接続するためのインターフェースである。CPU111は、通信I/F部112を介して、PC200との間で通信し、データを送受信する。また、通信I/F部112は、ネットワーク3を介してインターネット5に接続されたコンピューターと通信が可能である。
ファクシミリ部116は、公衆交換電話網(PSTN)に接続され、PSTNにファクシミリデータを送信する、またはPSTNからファクシミリデータを受信する。ファクシミリ部116は、受信したファクシミリデータを、HDD115に記憶する、または画像形成部140に出力する。画像形成部140は、ファクシミリ部116により受信されたファクシミリデータを用紙にプリントする。また、ファクシミリ部116は、HDD115に記憶されたデータをファクシミリデータに変換して、PSTNに接続されたファクシミリ装置に送信する。
外部記憶装置117は、CD−ROM118が装着される。CPU111は、外部記憶装置117を介してCD−ROM118にアクセス可能である。CPU111は、外部記憶装置117に装着されたCD−ROM118に記録されたプログラムをRAM114にロードして実行する。なお、CPU111が実行するプログラムを記憶する媒体としては、CD−ROM118に限られず、光ディスク、ICカード、光カード、マスクROM、EPROMなどの半導体メモリであってもよい。
また、CPU111が実行するプログラムは、CD−ROM118に記録されたプログラムに限られず、HDD115に記憶されたプログラムをRAM114にロードして実行するようにしてもよい。この場合、ネットワーク3に接続された他のコンピューターが、MFP100のHDD115に記憶されたプログラムを書き換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、MFP100が、ネットワーク3に接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをHDD115に記憶するようにしてもよい。ここでいうプログラムは、CPU111が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
操作パネル160は、MFP100の上面に設けられ、表示部161と操作部163とを含む。表示部161は、例えば、液晶表示装置(LCD)または有機LE(electroluminescence)ディスプレイであり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。操作部163は、タッチパネル165と、ハードキー部167とを含む。タッチパネル165は、表示部161の上面または下面に表示部161に重畳して設けられる。ハードキー部167は、複数のハードキーを含む。ハードキーは、例えば接点スイッチである。タッチパネル165は、表示部161の表示面中でユーザーにより指示された位置を検出する。
図4は、第1の実施の形態におけるPC200が備えるCPU201が有する機能の一例を示すブロック図である。図4に示す機能は、ハードウェアで実現してもよいし、PC200が備えるCPU201に、ROM202、HDD204またはCD−ROM211に記憶されたプログラムを実行させることにより、CPU201で実現してもよい。ここで、PC200が備えるCPU201にジョブ生成プログラムを実行させる場合を例に説明する。
図4を参照して、PC200が備えるCPU201は、音声受付部251と、音声認識部253と、ユーザー特定部255と、ジョブ生成部257と、ジョブ送信部259と、を含む。音声受付部251は、マイクロフォン208が出力する音声データを受け付ける。音声受付部251は、マイクロフォン208から入力される音声データと、その音声データが入力された時刻を示す時刻情報とを音声認識部253およびユーザー特定部255に出力する。
音声データは、ユーザーが発声している間だけマイクロフォン208から入力される。複数のユーザーが会話する場合、一のユーザーと別のユーザーとが発声した音声の音声データとが音声受付部251に入力される。一のユーザーの発声する期間と別のユーザーが発声する期間とが異なる場合、一のユーザーが発声した音声の音声データと別のユーザーが発声する音声の音声データとが異なる期間に音声受付部251に入力される。また、一人のユーザーが断続的に発声する場合、先の音声の音声データと次の音声データとが異なる期間に音声受付部251に入力される。
音声認識部253は、音声受付部251から音声データと時刻情報とが入力されるごとに、音声データで特定される音声を認識する。具体的には、音声認識部253は、音声データを文字で構成される音声情報に変換する。音声を認識する技術は公知なので、ここでは説明を繰り返さない。音声認識部253は、音声データを変換した音声情報と時刻情報との組をジョブ生成部257に出力する。音声認識部253は、音声データに複数のユーザーの音声が含まれる場合、音声データを複数のユーザーごとの音声データに分割し、複数の音声データごとに音声認識する。この場合、音声認識部253は、複数の音声データごとに、音声情報と時刻情報との組をジョブ生成部257に出力する。
ユーザー特定部255は、音声受付部251から音声データと時刻情報とが入力されるごとに、音声データで特定される音声を発声したユーザーを特定する。具体的には、予め登録された複数のユーザーそれぞれの声紋を示す声紋情報がHDD204に記憶されている。ユーザー特定部255は、音声受付部251から入力される音声データで特定される音声を複数のユーザーの声紋それぞれと比較することによって、ユーザーを特定する。なお、音声を発声したユーザーを特定する技術は公知なので、ここでは説明を繰り返さない。ユーザー特定部255は、特定されたユーザーを識別するためのユーザー識別情報と時刻情報との組をジョブ生成部257に出力する。
ジョブ生成部257は、音声認識部253から音声情報と時刻情報との組が入力され、ユーザー特定部255からユーザー識別情報と時刻情報との組が入力される。ジョブ生成部257は、音声情報と時刻情報との組の複数とユーザー識別情報と時刻情報との組の複数とが入力される場合がある。ジョブ生成部257は、複数の音声情報を区別するために時刻情報を用いる。
ジョブ生成部257は、それぞれと組になる時刻情報が同じユーザー識別情報と音声情報とを関連付ける。換言すれば、ジョブ生成部257は、音声とその音声を発声したユーザーとを関連付ける。具体的には、ジョブ生成部257は、音声から変換された音声情報と、その音声を発声したユーザーのユーザー識別情報と、音声が発生された時刻を示す時刻情報と、を含む音声レコードを生成し、音声レコードをHDD204に記憶された音声テーブルに追加する。
ジョブ生成部257は、音声認識部253から入力される音声情報に基づいてMFP100に実行させる処理とその処理を実行するための条件と定めたジョブを生成する。ジョブ生成部257は、決定部261と、通常ジョブ生成部263と、依頼ジョブ生成部265と、確認部267と、を含む。
決定部261は、音声情報に基づいて設定情報を決定する。設定情報は、MFP100に実行させる処理とその処理を実行するための条件とを示す情報である。決定部261は、音声情報がデータを識別するためのファイル名を含む場合、音声情報に含まれるファイル名で特定されるデータを処理の対象となるデータを示す設定情報に決定する。また、決定部261は、HDD204に予め記憶されたキーワードテーブルを用いて、音声情報に基づいて設定情報を決定する。キーワードテーブルは、設定情報にその設定情報に関連するキーワードを関連付ける。キーワードは、設定情報に関連する関連情報の1つである。
図5は、キーワードテーブルの一例を示す図である。キーワードテーブルは、キーワードと設定情報とを関連付ける複数のキーワードレコードを含む。設定情報は、MFP100に実行させる処理またはMFP100が処理を実行する条件を定める。キーワードレコードは、キーワードの項目と設定情報の項目とを含む。キーワードレコードにおいて、キーワードの項目にはキーワードが設定され、設定情報の項目には処理の名称または/および処理を実行する条件が設定される。キーワードテーブルが、キーワードとMFP100に実行させる処理とを関連付ける一例としては、キーワード「スキャン」を含むキーワードレコードは、キーワード「スキャン」に対してMFP100に原稿を読み取らせるスキャン処理を関連付ける。キーワードテーブルは、1つのキーワードに対して処理と、その処理を実行するための条件とを関連付ける場合がある。例えば、キーワード「2in1」を含むキーワードレコードは、キーワード「2in1」に対して複数の画像を合成する合成処理と、合成処理を実行する条件として合成の元になる画像の数が2つであることを関連付ける。キーワードテーブルは、1つのキーワードに対して複数の処理を関連付ける場合がある。例えば、キーワード「コピー」を含むキーワードレコードは、キーワード「コピー」に対してコピー処理を関連付ける。コピー処理は、MFP100に原稿を読み取らせるスキャン処理と用紙に画像を形成するプリント処理とを含む。
キーワードテーブルが、キーワードとMFP100が処理を実行する条件を関連付ける一例としては、キーワード「カラー」に対してMFP100が実行するプリント処理の条件としてフルカラーを関連付ける。また、別の一例として、キーワード「太郎」に対して、MFP100がデータを送信する送信処理を実行する条件としてユーザーに対して割り当てられた宛先情報である電子メールアドレス「taro@aaa.com」を関連付ける。宛先情報は、電子メールアドレスの他に、ファクシミリ番号、IPアドレスが用いられる。なお、キーワード「太郎」は予め登録されたユーザーの名称を示す。
図4に戻って、決定部261は、判断部262を含む。判断部262は、キーワードテーブルに設定されている複数のキーワードに基づいて、音声情報がジョブを決定することのできないあいまい情報を含むか否かを判断する。決定部261は、音声情報とキーワードテーブルに設定されている複数のキーワードとを比較し、音声情報の少なくとも一部と同一または類似する部分を含むキーワードが存在すれば、そのキーワードが設定されたキーワードレコードを抽出する。決定部261は、抽出されたキーワードレコードに設定された設定情報を決定する。決定部261は、決定された設定情報に基づいて、MFP100に実行させる処理を定めたジョブを生成する。具体的には、決定部261は、設定情報で定まる処理を設定情報で定まる条件でMFP100に実行させるジョブを生成する。
例えば、決定部261は、音声情報が「コピー」および「フルカラー」のキーワードを含む場合、キーワードテーブルによりキーワード「コピー」に関連付けられたスキャン処理およびプリント処理を定める設定情報を決定し、キーワード「フルカラー」に関連付けられたフルカラーでスキャン処理およびプリント処理を実行する条件を定める設定情報を決定する。この場合、判断部262は、音声情報から1つの設定情報が決定されるので音声情報がジョブを決定することのできないあいまい情報を含まないと判断し、決定部261は、原稿をフルカラーで読み取るスキャン処理と、スキャン処理が実行されて出力されるフルカラーの画像データの画像をフルカラーで用紙に形成するプリント処理とをMFP100に実行させるジョブを決定する。
また、決定部261は、音声情報が「送る」および「太郎」のキーワードを含む場合、キーワードテーブルによりキーワード「送る」に関連付けられたスキャン処理およびデータ送信処理が特定され、キーワードテーブルによりキーワード「太郎」に関連付けられた宛先を示す設定情報が特定される。この場合、判断部262は、音声情報から1つの設定情報が決定されるので音声情報がジョブを決定することのできないあいまい情報を含まないと判断し、決定部261は、原稿をモノクロで読み取るスキャン処理と、スキャン処理が実行されて出力されるモノクロの画像データを、名称が「太郎」のユーザーに対して登録された電子メールアドレス宛ての電子メールに添付して送信するデータ送信処理と、をMFP100に実行させるジョブを生成する。
決定部261は、1つの音声情報から複数の設定情報を決定し、1つの設定情報を決定できない場合がある。判断部262は、音声情報から1つの設定情報を決定できない場合、その音声情報がジョブを決定することのできないあいまい情報を含むと判断する。決定部261は、判断部262により音声情報があいまい情報を含むと判断される場合、確認部267に確認指示を出力する。確認指示は、決定部261により音声情報から決定される複数の設定情報を含む。以下、決定部261により音声情報から決定される複数の設定情報それぞれを候補情報という。
なお、決定部261は、キーワードテーブルを用いて音声情報から設定情報を決定する例を説明したが、ニューラルネットワークなどを用いたディープラーニング技術を採用して、音声情報と設定情報との関係を学習したモデルを生成しておき、そのモデルを用いて音声情報から設定情報を決定してもよい。このモデルを用いる場合においても、1つの音声情報から複数の設定情報が決定される場合がある。
決定部261が音声情報から複数の候補情報を決定する場合は、音声情報が設定情報を含む場合がある。例えば、ファイル名が同じ2つのデータが異なる記憶領域に記憶されている場合であって、音声情報がそのファイル名を含む場合、決定部261は、2つのデータをそれぞれ示す2つの設定情報を候補情報に決定する。
また、決定部261が音声情報から複数の候補情報を決定する場合は、音声情報から複数のキーワードレコードを抽出する場合がある。例えば、音声の一部にノイズが重畳する等して、音声認識の精度が低下する場合には、音声情報がキーワードの一部のみを含む場合がある。この場合、決定部261が音声情報の少なくとも一部から複数のキーワードレコードを抽出する場合がある。具体的には、音声情報が「in1」を含み、その前の部分が音声情報に含まれない場合である。この場合には、決定部261は、キーワードの項目に「2in1」が設定されたキーワードレコードと、キーワードの項目に「4in1」が設定されたキーワードレコードとを抽出する。決定部261は、「2in1」が設定されたキーワードレコードに含まれる設定情報と、キーワードの項目に「4in1」が設定されたキーワードレコードに含まれる設定情報とを、候補情報に決定する。
また、音声情報から複数の設定情報を決定する場合の他の一例は、音声認識は正常に実行されたが、音声情報の一部と同一または類似のキーワードが設定されたキーワードレコードが複数存在する場合である。より具体的には、発音は同じだが意味の異なる文字列を含む複数のキーワードがそれぞれ設定された複数のキーワードレコードがキーワードテーブルに登録されている場合である。この場合、複数のキーワードは同音異義語を含む。具体的には、音声情報が「たむら」を含む場合である。この場合、決定部261は、キーワードの項目に「田村」が設定されたキーワードレコードと、キーワードの項目に「多村」が設定されたキーワードレコードとを抽出する。決定部261は、「田村」が設定されたキーワードレコードに含まれる設定情報と、キーワードの項目に「多村」が設定されたキーワードレコードに含まれる設定情報とを、候補情報に決定する。また、音声情報が「houl」を含む場合である。この場合、決定部261は、キーワードの項目に「hole」が設定されたキーワードレコードと、キーワードの項目に「whole」が設定されたキーワードレコードとを抽出する。決定部261は、「hole」が設定されたキーワードレコードに含まれる設定情報と、キーワードの項目に「whole」が設定されたキーワードレコードに含まれる設定情報とを、候補情報に決定する。
確認部267は、確認指示に含まれる複数の候補情報のうちから1つを特定するために、ユーザーに問い合わせる。確認部267は、関連情報問合せ部271と、異義問合せ部273と、を含む。関連情報問合せ部271は、確認指示に含まれる複数の候補情報それぞれに関連する関連情報が互いに異なる場合、複数の候補情報それぞれに関連する関連情報を問い合わせる。具体的には、関連情報問合せ部271は、スピーカー209から関連情報を問い合わせるメッセージを再生する。関連情報問合せ部271は、関連情報を問い合わせるメッセージを再生した後に、音声認識部253から入力される音声情報に基づいて1つの関連情報を決定し、複数の候補情報のうちから決定された関連情報と関連付けられた1つの設定情報を決定する。
複数の候補情報それぞれがMFP100に実行させる処理の対象となるデータを特定する情報の場合、関連情報はデータの属性である。データの属性は、データの記憶領域名、データが作成された作成日、データが更新された更新日またはデータの内容を含む。関連情報問合せ部271は、関連情報である属性を問い合わせるメッセージを再生する。キーワードの属性を問い合わせるメッセージを聞くユーザーはその属性が正しければ、問い合わせに対して肯定的な言葉を発声することにより応答する。関連情報問合せ部271は、肯定的な応答を受け付けると、問合せた属性のデータを示す設定情報を決定する。キーワードの属性を問い合わせるメッセージで示される属性が正しくなければ、ユーザーは問い合わせに対して否定的な言葉を発声するので、関連情報問合せ部271は、別の属性を問い合わせるメッセージを再生する。
例えば、HDD204の2つの記憶領域「フォルダA」および「フォルダB」それぞれに同一のファイル名「AA」のデータが記憶されている状態で、音声情報がファイル名「AA」を含む場合である。この場合、2つの候補情報は、MFP100に実行させる処理の対象となるデータとしてHDD204の「フォルダA」に記憶されたファイル名「AA」と、HDD204の「フォルダB」に記憶されたファイル名「AA」とをそれぞれ特定する。この場合、関連情報問合せ部271は、「フォルダA」に記憶されたファイル名「AA」と、「フォルダB」に記憶されたファイル名「AA」とで属性が異なる場合に属性を問い合わせる。具体的には、関連情報問合せ部271は、「フォルダA」に記憶されたファイル名「AA」と「フォルダB」に記憶されたファイル名「AA」との少なくとも一方の記憶領域名、作成日または更新日を含むメッセージを再生する。具体的には、関連情報問合せ部271は、「フォルダAに保存されたファイルですか?」、「作成日はXX年XX月XX日のファイルですか?」または「更新日はXX年XX月XX日のファイルですか?」のメッセージを再生する。
また、複数の候補情報にそれぞれ対応する複数のキーワード間で一部が同一の場合、関連情報はキーワードである。関連情報問合せ部271は、関連情報であるキーワードそのものを問い合わせるメッセージを再生する。キーワードそのものを問い合わせるメッセージを聞くユーザーはそのキーワードが正しければ、問い合わせに対して肯定的な言葉を発声することにより応答する。関連情報問合せ部271は、肯定的な応答を受け付けると、問合せたキーワードに関連する設定情報を決定する。キーワードそのものを問い合わせるメッセージで示されるキーワードが正しくなければ、ユーザーは問い合わせに対して否定的な言葉を発声するので、関連情報問合せ部271は、別のキーワードそのものを問い合わせるメッセージを再生する。
例えば、上述した例のように、キーワードの項目に「2in1」が設定されたキーワードレコードと、キーワードの項目に「4in1」が設定されたキーワードレコードとが抽出される場合、関連情報問合せ部271は、「ツーインワンですか」のメッセージ、または、「フォーインワンですか」のメッセージを再生する。
複数の候補情報にそれぞれ対応する複数のキーワード間で一部の発音が同一または類似する場合、関連情報はキーワードである。異義問合せ部273は、複数のキーワードの少なくとも1つについて、キーワードを別の読みで発音するメッセージを再生する。キーワードを別の読みで発音したメッセージを聞くユーザーはそのキーワードが正しければ、問い合わせに対して肯定的な言葉を発声することにより応答する。異義問合せ部273は、肯定的な応答を受け付けると、問合せたキーワードに関連する設定情報を決定する。メッセージで示される発音が正しくなければ、ユーザーは問い合わせに対して否定的な言葉を発声するので、異義問合せ部273は、別のキーワードについて、別の発音を問い合わせる。
例えば、異義問合せ部273は、2つのキーワードのいずれか一方を構成する少なくとも1つの文字について、音読みならば訓読みで問い合わせ、訓読みならば音読みで問い合わせる。例えば、ユーザー名をそれぞれ示す「多村」および「田村」がキーワードの項目に設定された2つのキーワードレコードがキーワードテーブルに登録されている場合に、音声情報が「たむら」を含む場合は、キーワード「多村」および「田村」がキーワードの項目に設定された2つのキーワードレコードが抽出される。この場合、異義問合せ部273は、2つのキーワード「多村」および「田村」で異なる部分である「多」および「田」それぞれについて読み方を異ならせて問い合わせる。例えば、異義問合せ部273は、「おおいと読む多村ですか」または「でんと読む田村ですか」のメッセージを再生する。
また、異義問合せ部273は、2つのキーワードのいずれか一方を構成する少なくとも1つの文字を別の文字と組み合わせた単語で問い合わせる。例えば、異義問合せ部273は、「多少の多ですか?」または「田畑の田ですか?」のメッセージを再生する。
また、異義問合せ部273は、2つのキーワードのいずれか一方を構成する少なくとも1つの文字の意味を問い合わせる。例えば、異義問合せ部273は、「意味が多いを示す多村ですか?」のメッセージを再生する。
また、例えば、ユーザー名を示す「hole」および「whole」がキーワードの項目に設定された2つのキーワードレコードがキーワードテーブルに登録されている場合に、音声情報が「houl」を含む場合は、キーワード「hole」および「whole」がキーワードの項目に設定された2つのキーワードレコードが抽出される。この場合、関連情報問合せ部271は、2つのキーワード「hole」および「whole」それぞれについて読み方を異ならせて問い合わせる。具体的には、関連情報問合せ部271は、2つのキーワード「hole」および「whole」それぞれのスペルを読み上げる。
また、異義問合せ部273は、2つのキーワードのいずれか一方を構成する少なくとも1つの単語を別の単語と組み合わせて問い合わせる。例えば、異義問合せ部273は、キーワード「hole」に対して「dig a hole?」、またはキーワード「whole」に対して「the whole world?」のメッセージを再生する。
また、異義問合せ部273は、2つのキーワードのいずれか一方を構成する少なくとも1つの文字の意味を問い合わせる。例えば、異義問合せ部273は、キーワード「hole」に対して「a hollow place in a solid body?」のメッセージを再生する。また、異義問合せ部273は、キーワード「whole」に対して「entire?」のメッセージを再生する。
決定部261は、ジョブを生成する場合、そのジョブを生成するために用いた1以上の音声情報とそれぞれ組になる1以上のユーザー識別情報を決定する。例えば、第1ユーザーのユーザー識別情報と組になる1以上の音声情報に基づいてジョブが生成される場合、第1ユーザーのユーザー識別情報を決定する。第1ユーザーのユーザー識別情報と組になる1以上の音声情報と第2ユーザーのユーザー識別情報と組になる1以上の音声情報とに基づいてジョブが生成される場合、第1ユーザーのユーザー識別情報と第2ユーザーのユーザー識別情報とを決定する。決定部261は、ジョブと、決定された1以上のユーザー識別情報との組を依頼ジョブ生成部265および通常ジョブ生成部263に出力する。
依頼ジョブ生成部265は、決定部261からジョブと、1以上のユーザー識別情報との組が入力され、依頼ジョブを生成する。依頼ジョブは、依頼者である第1ユーザーが受諾者である第2ユーザーに依頼した作業を第2ユーザーが実行するために、第2ユーザーがMFP100に実行させるジョブである。換言すれば、依頼ジョブは、第2ユーザーによってMFP100に実行が指示されるジョブである。このため、依頼ジョブは、決定部261から入力されるジョブに、MFP100がジョブにより定められた処理を実行するための開始条件として第2ユーザーによる指示が設定されたジョブである。
依頼ジョブ生成部265は、1以上の音声情報にそれぞれ含まれるユーザー識別情報が複数の場合であって、音声認識部253から入力される1以上の音声情報のうちに依頼文字列を含む音声情報が存在する場合に依頼ジョブを生成する。依頼文字列は、他人に作業を依頼する場合に用いる語を含む。例えば、依頼文字列は、「お願いします」、「して下さい」、「しろ」等を含む。依頼文字列は予め定めておけばよい。また、CPU201にMFP100を使用する複数のユーザー間の会話を学習させてCPU201が依頼文字列を決定してもよい。
ただし、依頼ジョブ生成部265は、音声認識部253から入力される1以上の音声情報のうちに許諾文字列を含む音声情報が存在しない場合は依頼ジョブを生成しない。許諾文字列は、他人からの依頼を受ける場合に用いる語を含む。許諾文字列は、「了解しました」、「わかりました」、「引き受けます」等を含む。許諾文字列は予め定めておけばよい。また、許諾文字列は、MFP100を使用する複数のユーザー間の会話を学習することにより決定されてもよい。
依頼ジョブ生成部265は、依頼文字列を含む音声情報が存在する場合、その音声情報と組になるユーザー識別情報を第1ユーザーのユーザー識別情報に特定する。また、依頼ジョブ生成部265は、許諾文字列を含む音声情報が存在する場合、その音声情報と組になるユーザー識別情報を第2ユーザーのユーザー識別情報に特定する。依頼ジョブ生成部265は、決定部261から入力されるジョブに、MFP100がそのジョブにより定められた処理を実行するための開始条件として第2ユーザーによる指示を受け付けることを設定することにより、依頼ジョブを生成する。依頼ジョブ生成部265は、第1ユーザーのユーザー識別情報と依頼ジョブとの組をジョブ送信部259に出力する。
依頼ジョブ生成部265は、許諾文字列を含む音声情報が存在する場合に、その音声情報と組になる時刻情報で示される時刻よりも前の時刻を示す時刻情報と組になる音声情報を決定する。そして、依頼ジョブ生成部265は、決定された音声情報から依頼文字列を含む音声情報を抽出する。これにより、許諾文字列を含む音声情報が存在する場合に、依頼ジョブを生成すればよいので、音声情報のすべてからキーワードを抽出する必要がなく、負荷をできるだけ小さくすることができる。この場合は、許諾文字列を含む音声情報が存在することが確認された後にキーワードの抽出およびジョブの生成を開始するのが好ましい。
依頼ジョブ生成部265は、決定部261からジョブが入力されかつ依頼ジョブを生成しない場合、通常ジョブ生成部263に通常生成指示を出力する。通常ジョブ生成部263は、決定部261からジョブと1以上のユーザー識別情報との組が入力される。通常ジョブ生成部263は、依頼ジョブ生成部265から通常生成指示が入力される場合、決定部261から入力されるジョブと1以上のユーザー識別情報とに基づいて通常ジョブを生成する。通常ジョブは、依頼ジョブ以外のジョブである。
通常ジョブ生成部263は、決定部261から入力される1以上のユーザー識別情報のうち指示文字列を含む音声情報により関連付けられたユーザー識別情報のユーザーを、指示ユーザーに決定する。指示文字列は、処理の内容を指示する語であり、例えば、「したい。」、「する。」等である。また、通常ジョブ生成部263は、決定部261から入力される1以上のユーザー識別情報のうち、キーワードの数が最大となるユーザー識別情報で特定されるユーザーを指示ユーザーに決定してもよい。この場合、決定部261がジョブを生成する際に用いた複数のキーワードをそれぞれ含む複数の音声情報を用いて、ユーザー識別情報ごとにそれに対応するキーワードを集計し、ユーザー識別情報に対するキーワードの数を求めるようにすればよい。通常ジョブ生成部263は、決定部261から入力されるジョブに、MFP100がジョブにより定められた処理を実行するための開始条件として指示ユーザーによる指示を設定することにより、通常ジョブを生成する。通常ジョブ生成部263は、通常ジョブをジョブ送信部259に出力する。これにより、ジョブ送信部259により通常ジョブがMFP100に送信される。MFP100においては、PC200から通常ジョブを受信すると通常ジョブをHDD115に記憶し、指示ユーザーが操作部163を操作すると通常ジョブを実行可能な状態に設定する。
ジョブ送信部259は、MFP100にジョブを送信する。ジョブ送信部259は、依頼ジョブ生成部265から依頼ジョブと第1ユーザーのユーザー識別情報との組が入力される場合、依頼ジョブと第1ユーザーのユーザー識別情報との組をMFP100に送信する。また、ジョブ送信部259は、通常ジョブ生成部263から通常ジョブが入力される場合、通常ジョブをMFP100に送信する。
ジョブ送信部259は、操作者通知部281を含む。操作者通知部281は、依頼ジョブと第1ユーザーのユーザー識別情報との組がMFP100に送信される場合、第2ユーザーに依頼ジョブがMFP100で実行可能なことを通知する。第2ユーザーは、依頼ジョブで開始条件として設定されている第2ユーザーのユーザー識別情報によって特定される。例えば、操作者通知部281は、通信部205を制御して、MFP100に実行可能な依頼ジョブが存在することを示すメッセージを含む電子メールを、第2ユーザーに送信する。第2ユーザーの電子メールアドレスは予め記憶されている。なお、通知方法は、電子メールに限らず、メッセージ送信であってもよい。これにより、第2ユーザーに、MFP100に依頼ジョブを実行させるための操作を入力すればよいことを通知することができる。
図6は、第1の実施の形態におけるMFP100が備えるCPU111が有する機能の一例を示すブロック図である。図6に示す機能は、ハードウェアで実現してもよいし、MFP100が備えるCPU111が、ROM113、HDD115、CD−ROM118に記憶されたジョブ制御プログラムを実行することにより、CPU111により実現される機能である。ジョブ制御プログラムは、ジョブ生成プログラムの一部である。図6を参照して、CPU111は、操作ユーザー特定部51と、設定部53と、ジョブ制御部55と、依頼者通知部57と、を含む。
ジョブ制御部55は、ジョブ受信部81と、関連付部83と、ジョブ実行部85と、を含む。ジョブ受信部81は、通信I/F部112を制御し、PC200が送信するジョブを受信する。ジョブ受信部81は、PC200から依頼ジョブと第1ユーザーのユーザー識別情報との組を受信する場合、依頼ジョブをHDD115に記憶する。また、ジョブ受信部81は、PC200から通常ジョブを受信する場合、通常ジョブをHDD115に記憶する。
関連付部83は、通信I/F部112がPC200から依頼ジョブと第1ユーザーのユーザー識別情報との組を受信する場合、依頼ジョブと第1ユーザーとを関連付ける。具体的には、関連付部83は、HDD115に記憶された依頼ジョブを識別するためのジョブ識別情報と第1ユーザーのユーザー識別情報とを含むユーザーレコードを生成し、HDD115に記憶する。
ジョブ実行部85は、ハードウェア資源を制御してジョブを実行する。ハードウェア資源は、通信I/F部112、HDD115、ファクシミリ部116、自動原稿搬送装置120、原稿読取部130、画像形成部140、給紙部150、後処理部155および操作パネル160を含む。ジョブは、例えば、コピージョブ、プリントジョブ、スキャンジョブ、ファクシミリ送信ジョブ、データ送信ジョブを含む。なお、ジョブ実行部85が実行可能なジョブは、これらに限定されることなく、他のジョブを含んでもよい。コピージョブは、原稿読取部130に原稿を読み取らせるスキャン処理と、原稿読取部130が原稿を読み取って出力するデータの画像を画像形成部140に形成させるプリント処理とを含む。プリントジョブは、画像形成部140に、HDD115に記憶されたデータ、通信I/F部112が外部から受信するプリントデータの画像を用紙に形成させるプリント処理を含む。スキャンジョブは、原稿読取部130に原稿を読み取らせるスキャン処理と、原稿読取部130が原稿を読み取って出力する画像データを出力する出力処理を含む。出力処理は、データをHDD115に記憶させるデータ記憶処理と、データを通信I/F部112に外部に送信するデータ送信処理を含む。ファクシミリ送信ジョブは、原稿読取部130に原稿を読み取らせるスキャン処理と、原稿読取部130が原稿を読み取って出力するデータをファクシミリ部116に送信させるファクシミリ送信処理とを含む。データ送信ジョブは、HDD115に記憶されたデータまたは原稿読取部130が原稿を読み取って出力するデータを、通信I/F部112を制御して他のコンピューターに送信するデータ送信処理を含む。
操作ユーザー特定部51は、MFP100を操作する操作ユーザーを特定する。例えば、ユーザーが操作パネル160を操作する場合、そのユーザーがユーザー識別情報を操作部163に入力する場合に操作部163に入力されたユーザー識別情報で識別されるユーザーを操作ユーザーとして特定する。また、MFP100がカードリーダーを備える場合、操作ユーザー特定部51は、カードリーダーがカードに記憶されたユーザー識別情報を読み取る場合、ユーザーがカードリーダーにカードに記憶されたユーザー識別情報を読み取らせる操作を受け付ける。操作ユーザー特定部51は、カードリーダーが読み取ったユーザー識別情報で識別されるユーザーを操作ユーザーとして特定する。カードリーダーは、磁気カードリーダーであってもよいし、NFC(Near field communication)規格で通信する無線通信装置であってもよい。操作ユーザー特定部51は、操作ユーザーを特定する場合、操作ユーザーのユーザー識別情報を設定部53に出力する。
設定部53は、操作ユーザー特定部51から操作ユーザーのユーザー識別情報が入力される場合、そのユーザー識別情報のユーザーによる指示が開始条件に設定されている依頼ジョブまたは通常ジョブがHDD115に記憶されているか否かを判断する。そのような依頼ジョブまたは通常ジョブがHDD115に記憶されている場合、設定部53は、その依頼ジョブまたは通常ジョブを実行可能な状態に設定する。特に、設定部53は、依頼ジョブを実行可能な状態に設定する場合、第2ユーザーによる指示を受け付けるための設定ボタンを表示部161に表示する。設定ボタンは、依頼ジョブを実行するコマンドが割り当てられる。
図7は、ログイン画面の一例を示す図である。図7に示すログイン画面500は、第2ユーザーが操作部163を操作して、MFP100によりユーザーが特定される場合に表示部161に表示される。図7を参照して、ログイン画面500は、種々の処理を選択するための複数の選択ボタン503と設定ボタン501とを含む。設定ボタン501は、第2ユーザーが操作部163を操作してMFP100により第2ユーザーが特定される場合に表示される。したがって、HDD115に依頼ジョブが記憶されていない場合には、ログイン画面500に設定ボタン501は含まれない。設定ボタン501は、「作業依頼」の文字列と、「(××さん)」の文字列を含む。「(××さん)」の文字列は第1ユーザーのユーザー識別情報である第1ユーザー名を含む。したがって、設定ボタン501を見る第2ユーザーは、設定ボタン501が、第1ユーザーにより依頼された作業を遂行するための依頼ジョブを実行可能な状態にするためのボタンであることを知ることができる。
図6に戻って、設定部53は、設定ボタン501を表示部161に表示するのに代えて、HDD115に記憶されている1以上のジョブを識別するためのジョブ識別情報を選択可能に表示部161に表示してもよい。この場合、HDD115に依頼ジョブまたは通常ジョブが記憶されている場合、表示部161に依頼ジョブおよび通常ジョブのジョブ識別情報が選択可能に表示される。設定部53は、ユーザーが依頼ジョブのジョブ識別情報を選択する場合、設定ボタンが指示された場合と同様に、依頼ジョブまたは通常ジョブを実行可能な状態に設定する。
設定部53は、実行可能に設定したジョブの設定値を変更する操作を受け付ける場合、ジョブの設定値を変更する。これにより、第2ユーザーは、依頼ジョブに誤って設定されている設定値を正しい値に変更することができ、また、設定されていない設定値を追加して設定することができる。
また、第2ユーザーによる指示が開始条件に設定されている依頼ジョブが実行されることなくHDD115に記憶されてから所定の時間が経過する場合がある。この場合に設定部53は、操作ユーザー特定部51から第2ユーザーのユーザー識別情報が入力される場合であっても、依頼ジョブを実行可能な状態に設定しない。具体的には、設定部53は、依頼ジョブの実行のユーザーによる指示を受け付けるための設定ボタン501を表示部161に表示しない。所定時間を経過しても依頼ジョブが実行されていない場合は、依頼ジョブの実行が不要となった確率が高く、不要となった依頼ジョブがHDD115に記憶された状態が継続しないようにするためである。不要なデータを削除することにより記憶資源を有効に利用することができる。
ジョブ制御部55に含まれるジョブ実行部85は、第2ユーザーが操作部163に入力する依頼ジョブの実行操作を受け付ける場合、依頼ジョブを実行する。また、ジョブ実行部85は、指示ユーザーが操作部163に入力する通常ジョブの実行操作を受け付ける場合、通常ジョブを実行する。指示ユーザーは、通常ジョブのジョブ識別情報と関連付部83により関連付けられたユーザー識別情報で特定される。
依頼者通知部57は、依頼ジョブが実行されることに応じて、依頼ジョブが実行されたことを第1ユーザーに通知する。第1ユーザーは、依頼ジョブのジョブ識別情報と関連付部83により関連付けられたユーザー識別情報で特定される。依頼者通知部57は、第1ユーザーに対して予め登録された方法で依頼ジョブが実行されたことを通知する。例えば、依頼者通知部57は、第2ユーザーにより依頼ジョブが実行されたことを示すメッセージを、第1ユーザーに対して予め登録された宛先に電子メールで送信する。
図8は、第1の実施の形態におけるジョブ生成の流れの一例を示すフローチャートである。ジョブ生成は、PC200が備えるCPU201がROM202、HDD204またはCD−ROM211に記憶されたジョブ制御プログラムを実行することにより、CPU201により実行される処理である。ジョブ制御プログラムは、ジョブ生成プログラムの一部である。
図8を参照して、PC200が備えるCPU201は、音声を受け付けたか否かを判断する。具体的には、CPU201は、マイクロフォン208が出力する音声データを受け付ける場合、音声を受け付けたと判断する。CPU201は、マイクロフォン208から音声データを受け付けるまで待機状態となり(ステップS01でNO)、音声データを受け付けると(ステップS01でYES)、処理をステップS02に進める。
ステップS02においては、CPU201は、音声認識し、処理をステップS03に進める。具体的には、CPU201は、ステップS01において受け付けられた音声データで特定される音声を音声認識し、音声を文字で構成される音声情報に変換する。ステップS03においては、音声から変換された音声情報が決定され、処理はステップS04に進む。
ステップS04においては、音声データで特定される音声を発声したユーザーが特定され、処理はステップS05に進む。CPU201は、HDD204に記憶された声紋情報を用いて、音声データで特定される音声を複数のユーザーの声紋それぞれと比較することによって、ユーザーを特定される。声紋情報は、予め登録された複数のユーザーそれぞれの声紋を示す情報である。ステップS05においては、CPU201は、音声レコードを生成し、処理をステップS06に進める。具体的には、CPU201は、ステップS03で決定された音声情報とステップS04において特定されたユーザー識別情報と、音声データが受け付けられた日時と、を含む音声レコードを生成する。音声レコードは、音声から変換された音声情報とその音声を発声したユーザーのユーザー識別情報と、その音声が発生された日時と、を関連付ける情報である。ステップS06においては、音声レコードがHDD115に記憶された音声テーブルに追加され、処理はステップS07に進む。
ステップS07においては、音声情報が許諾文字列を含むか否かが判断される。許諾文字列は、他人からの依頼を受ける場合に用いる語を含む文字列であり、予め定められている。ステップS03において決定された音声情報が許諾文字列を含むならば処理はステップS08に進むが、そうでなければ処理はステップS13に進む。
ステップS08においては、ステップS04において特定されたユーザーが第2ユーザーに決定され、処理はステップS09に進む。第2ユーザーは、第1ユーザーからの作業の依頼を受諾するユーザーである。
ステップS09においては、ジョブ生成サブ処理が実行され、処理はステップS10に進む。ジョブ生成サブ処理の詳細は後述するが、HDD204に記憶された音声テーブルに含まれる1以上の音声レコードに基づいてジョブを生成するとともに、第2ユーザーに作業を依頼した第1ユーザーを決定する処理である。ステップS10においては、依頼ジョブが生成され、処理はステップS11に進む。ジョブ生成サブ処理が実行されることにより生成されるジョブと、ステップS08において決定された第2ユーザーとに基づいて依頼ジョブが生成される。依頼ジョブは、MFP100に依頼ジョブで定められる処理を実行させる開始条件として、第2ユーザーによる操作を受け付けることが設定されたジョブである。具体的には、ステップS09において生成されたジョブに、開始条件としてステップS08において決定された第2ユーザーによる操作を受け付けることが設定されることにより、依頼ジョブが生成される。次のステップS11においては、CPU201は、通信部205を制御して、依頼ジョブと第1ユーザーのユーザー識別情報とをMFP100に送信し、処理をステップS12に進める。ステップS12においては、依頼ジョブの存在が第2ユーザーに通知され、処理は終了する。具体的には、MFP100に実行可能な依頼ジョブが蓄積されていることを示すメッセージを含み、宛先アドレスに第2ユーザーの電子メールアドレスを設定した電子メールは生成され、通信部205によりその電子メールが送信される。
一方、ステップS13においては、音声情報が指示文字列を含むか否かが判断される。音声情報が指示文字列を含むならば処理はステップS14に進むが、そうでなければ処理はステップS01に戻る。ステップS14においては、指示文字列を発声したユーザーが指示ユーザーに決定され、処理はステップS15に進む。音声レコードにより音声情報に関連付けられたユーザー識別情報で特定されるユーザーが指示ユーザーに決定される。ステップS15においては、ジョブ生成サブ処理が実行され、処理はステップS16に進む。
ステップS16においては、通常ジョブが生成され、処理はステップS17に進む。通常ジョブは、MFP100に通常ジョブで定められる処理を実行させる開始条件として、指示ユーザーによる操作を受け付けることが設定されたジョブである。具体的には、ステップS15において生成されたジョブを、開始条件としてステップS14において決定された指示ユーザーによる操作を受け付けることが設定されることにより、通常ジョブが生成される。次のステップS17においては、通信部205を制御して、通常ジョブがMFP100に送信され、処理はステップS18に進む。ステップS18においては、通常ジョブの存在が指示ユーザーに通知され、処理は終了する。具体的には、MFP100に実行可能な通常ジョブが蓄積されていることを示すメッセージを含み、宛先アドレスに指示ユーザーの電子メールアドレスが設定された電子メールが生成され、通信部205によりその電子メールが送信される。
図9は、ジョブ生成サブ処理の流れの一例を示すフローチャートである。ジョブ生成サブ処理は、図8のステップS09およびステップS15で実行される処理である。ジョブ生成サブ処理が実行される前のステップS06において、許諾文字列を含む音声情報を含む音声レコードがHDD115に記憶される場合と指示文字列を含む音声情報を含む音声レコードがHDD115に記憶される場合とがある。以下、許諾文字列を含む音声情報を含む音声レコードまたは指示文字列を含む音声情報を含む音声レコードを処理対象レコードという。
図9を参照して、CPU201は、1つ前の時刻の音声レコードを読出す(ステップS21)。具体的には、CPU201は、HDD204に記憶されている音声テーブルに含まれる複数の音声レコードのうちから処理対象レコードに含まれる時刻情報で示される時刻より前で最も近い時刻を示す時刻情報を含む音声レコードを読出す。次のステップS22においては、音声レコードに含まれる音声情報が特定される。
そして、音声情報が依頼文字列を含むか否かが判断される(ステップS23)。依頼文字列は、他人に作業を依頼する場合に用いる語を含む。依頼文字列は予め定めておけばよい。音声情報が依頼文字列を含むならば処理はステップS24に進むが、そうでなければステップS24はステップS25に進む。ステップS24においては、依頼文字列を発声したユーザーが第1ユーザーに決定され、処理はステップS25に進む。ステップS21において読み出された音声レコードに含まれるユーザー識別情報で特定されるユーザーが第1ユーザーに決定される。
ステップS25においては、音声情報から設定情報が決定されたか否かを判断する。音声情報が、処理の対象となるデータのファイル名を含む場合に、処理対象のデータを特定する設定情報が決定される。音声情報から設定情報が決定されたならば処理はステップS26に進むが、そうでなければ処理はステップS28に進む。ステップS26においては、設定情報が複数決定されたか否かを判断する。複数の設定情報が決定されたならば処理はステップS30に進むが、そうでなければ処理はステップS34に進む。例えば、同一ファイル名の複数のデータが異なるフォルダに記憶されている場合に、複数のデータをそれぞれ示す複数の設定情報が決定される。
ステップS28においては、音声情報がキーワードと比較され、処理はステップS29に進む。具体的には、音声情報の少なくとも一部の発音と、HDD204に記憶されているキーワードテーブルに登録されているキーワードの少なくとも一部の発音とが比較される。次のステップS29においては、比較の結果、音声情報の少なくとも一部と発音が同一または類似の文字列を含むキーワードが複数存在するか否かが判断される。複数のキーワードが存在するならば処理はステップS27に進む。比較の結果、音声情報の少なくとも一部と発音が同一または類似の文字列を含むキーワードが複数存在するならば処理はステップS30に進み、複数でなく1つならば処理はステップS31に進む。ステップS31においては、比較の結果、キーワードが存在するか否かが判断される。キーワードが存在するならば処理はステップS33に進むが、そうでなければ処理はステップS34に進む。
ステップS30においては、確認処理が実行され、処理はステップS28に進む。確認処理の詳細は後述するが、複数の設定情報のいずれであるかをユーザーに確認する処理であり、複数の設定情報のうちから1つが決定される。ステップS31においては、確認処理の結果が設定情報の決定されないことを示すエラーか否かを判断する。確認処理の結果がエラーならば処理はステップS34に進むが、エラーでなければ処理はステップS33に進む。ステップS33においては、設定情報が決定され、処理はステップS34に進む。ステップS30が実行される場合は、確認処理で決定された設定情報が決定され、処理がステップS31から進む場合は、キーワードに関連付けられた設定情報が設定される。
ステップS34においては、ステップS33において決定された設定情報に基づいて、処理が決定されるか否かが判断される。処理が決定されるならば処理はステップS35に進むが、そうでなければ処理はステップS21に戻る。
ステップS35においては、ステップS33において決定された設定情報で定まる条件で、ステップS33において決定された設定情報で定まる処理をMFP100に実行させるためのジョブが生成され、処理はステップS36に進む。ステップS36においては、ジョブが完成したか否かが判断する。ジョブが複数の処理を定める場合があり、複数の処理のすべてが定まる場合にジョブが完成されたと判断される。ジョブが完成したならば処理はジョブ生成処理に戻るが、そうでなければ処理はステップS21に戻る。
図10は、確認処理の流れの一例を示すフローチャートである。確認処理は、ジョブ生成サブ処理のステップS30において実行される処理である。確認処理が実行される前の段階で、複数の設定情報が決定されている。図10を参照して、複数の設定情報がデータを定めるか否かが判断される(ステップS41)。複数の設定情報が処理の対象となるデータを定めるならば処理はステップS42に進むが、そうでなければ処理はステップS46に進む。
ステップS42においては、処理対象となる設定情報が選択され、処理はステップS43に進む。ステップS43においては、設定情報で特定されるデータの属性が問い合わされ、処理はステップS44に進む。データの属性は、記憶領域名、作成日または更新日を含む。そして、肯定的な応答を受け付けたか否かが判断される(ステップS44)。問い合わせの後にユーザーが発声する音声に対応する音声情報が、肯定的な応答を示す文字列を含むか否かを判断する。肯定的な応答を示す文字列は、例えば、「はい」、「正しいです」等である。肯定的な応答を受け付けたならば処理はステップS45に進むが、そうでなければ処理はステップS42に戻る。ステップS45においては、ステップS42において処理対象に選択された設定情報が決定され、処理はジョブ生成サブ処理に戻る。
ステップS46においては、複数の設定情報にそれぞれ関連付けられた複数のキーワードの一部が同一か否かが判断される。複数のキーワードの一部が同一ならば処理はステップS47に進むが、そうでなければ処理はステップS50に進む。
ステップS47においては、複数のキーワードのうちから処理対象となるキーワードが選択され、処理はステップS48に進む。ステップS48においては、キーワードが問い合わされ、処理はステップS49に進む。キーワードそのものを問い合わせるメッセージが再生される。そして、肯定的な応答を受け付けたか否かが判断される(ステップS49)。問い合わせの後にユーザーが発声する音声に対応する音声情報が、肯定的な応答を示す文字列を含むか否かが判断される(ステップS49)。肯定的な応答を受け付けたならば処理はステップS45に進むが、そうでなければ処理はステップS47に戻る。ステップS45おいては、ステップS47において処理対象に選択されたキーワードに関連付けられた設定情報が決定され、処理はジョブ生成サブ処理に戻る。
ステップS50においては、複数の設定情報にそれぞれ関連付けられた複数のキーワードの一部が同音異義語か否かが判断される。複数のキーワードの一部が同音異義語ならば処理はステップS51に進むが、そうでなければ処理はステップS54に進む。ステップS54においては、設定情報が確認できなかったことを示すエラーが設定され、処理はジョブ生成サブ処理に戻る。
ステップS51においては、複数のキーワードのうちから処理対象となるキーワードが選択され、処理はステップS52に進む。ステップS52においては、キーワードが別の発音で問い合わされ、処理はステップS53に進む。キーワードを別の読みで発音するメッセージが再生されることにより、キーワードが正しいか否かが問い合わされる。また、キーワードを別の文字と組み合わせた単語が再生されることにより、キーワードが正しいか否かが問い合わされてもよい。また、キーワードを示す文字の意味を示すメッセージが再生されることにより、キーワードが正しいか否かが問い合わされてもよい。
そして、肯定的な応答が受け付けられたか否かが判断される(ステップS53)。問い合わせの後にユーザーが発声する音声に対応する音声情報が、肯定的な応答を示す文字列を含むか否かが判断される。肯定的な応答が受け付けられたならば処理はステップS45に進むが、そうでなければ処理はステップS51に戻る。ステップS45においては、ステップS51において処理対象に選択されたキーワードに関連付けられた設定情報が決定され、処理はジョブ生成サブ処理に戻る。
図11は、ジョブ実行処理の流れの一例を示すフローチャートである。ジョブ実行処理は、MFP100が備えるCPU111が、ROM113、HDD115、CD−ROM118に記憶されたジョブ実行プログラムを実行することにより、CPU111により実現される機能である。ジョブ実行プログラムはジョブ生成プログラムの一部である。図11を参照して、MFP100が備えるCPU111は、依頼ジョブを受信したか否かを判断する(ステップS61)。CPU111は、通信I/F部112を制御して、PC200から依頼ジョブと第1ユーザーのユーザー識別情報とを受信したか否かを判断する。依頼ジョブを受信したならば処理はステップS62に進むが、そうでなければ処理はステップS63に進む。ステップS62においては、HDD115に、依頼ジョブと依頼ジョブとともに受信される第1ユーザーのユーザー識別情報とが記憶され、処理はステップS63に進む。
ステップS63において、通常ジョブが受信されたか否かが判断される。CPU111は、通信I/F部112を制御して、PC200から通常ジョブを受信したか否かを判断する。通常ジョブを受信したならば処理はステップS64に進むが、そうでなければ処理はステップS65に進む。ステップS64においては、HDD115に、通常ジョブが記憶され、処理はステップS65に進む。
ステップS65おいては、操作部163がユーザーにより入力される操作を受け付けたか否かが判断される。操作を受け付けたならば処理はステップS66に進むが、そうでなければ処理はステップS61に戻る。ステップS66においては、操作部163を操作するユーザーが特定され、処理はステップS67に進む。ユーザーが操作部163にユーザー識別情報を入力する場合に操作部163に入力されたユーザー識別情報で識別されるユーザーは操作ユーザーとして特定される。また、ユーザーがカードリーダーにカードに記憶されたユーザー識別情報を読み取らせる操作が受け付けられ、カードリーダーが読み取ったユーザー識別情報で識別されるユーザーは操作ユーザーとして特定される。
ステップS67においては、特定されたユーザーに対応する依頼ジョブが存在するか否かが判断される。特定されたユーザーの指示が開始条件に設定されている依頼ジョブがHDD115に記憶されているか否かが判断される。依頼ジョブが存在するならば処理はステップS68に進むが、そうでなければ処理はステップS71に進む。
ステップS68においては、依頼ジョブが受信されてからの経過時間が所定時間以内か否かは判断される。所定時間以内ならば処理はステップS69に進むが、所定時間を経過していれば処理は終了する。依頼ジョブが受信されてから所定時間が経過した場合には依頼ジョブが不要となった確率が高い。このため、不要となった依頼ジョブが実行されないようにできる。
ステップS69においては実行指示処理を実行し、処理はステップS70に進む。実行指示処理の詳細は後述する。ステップS70においては、依頼ジョブが実行されたことが第1ユーザーに通知され、処理は終了する。ステップS67において特定された依頼ジョブとともにステップS62においてHDD115に記憶されたユーザー識別情報を用いて、第1ユーザーは特定される。例えば、第2ユーザーにより依頼ジョブが実行されたことを示すメッセージを含み、第1ユーザーの電子メールアドレスを宛先に含む電子メールが生成され、通信I/F部112を介して電子メールが送信される。
ステップS71においては、ステップS66において特定されたユーザーに対応する通常ジョブが存在するか否かが判断される。特定されたユーザーの指示が開始条件に設定されている通常ジョブがHDD115に記憶されているか否かを判断する。通常ジョブが存在するならば処理はステップS72に進むが、そうでなければ処理は終了する。ステップS72においては通常ジョブが受信されてからの経過時間が所定時間以内か否かを判断する。所定時間以内ならば処理はステップS73に進むが、そうでなければ処理は終了する。通常ジョブが受信されてから所定時間が経過した場合には通常ジョブが不要となった確率が高い。このため、不要となった通常ジョブが実行されないようにできる。ステップS73においては、実行指示処理を実行し、処理は終了する。実行指示処理が実行される場合に通常ジョブが処理対象にされ、通常ジョブが実行される。
図12は、実行指示処理の流れの一例を示すフローチャートである。実行指示処理は、図11のステップS69またはステップS73において実行される処理である。実行指示処理が実行される前の段階で依頼ジョブが決定されている。図12を参照して、CPU111は、依頼ジョブが存在するか否かを判断する。MFP100を操作するユーザーとして特定されたユーザーに対応する依頼ジョブが存在するか否かが判断される(ステップS81)。MFP100を操作するユーザーの指示が開始条件に設定されている依頼ジョブがHDD115に記憶されているか否かが判断される。依頼ジョブが存在するならば処理はステップS83に進むが、そうでなければ処理はステップS84に進む。
ステップS82においては、表示部161に設定ボタンが表示され、処理はステップS83に進む。設定ボタンは、依頼ジョブを実行可能な状態に設定する操作を受け付けるためのボタンであり、依頼ジョブを実行可能な状態に設定するコマンドが関連付けられている。ステップS83においては、設定ボタンが指示されたか否かが判断される。設定ボタンが指示されるまで待機状態となり(ステップS83でNO)、設定ボタンが指示されたならば(ステップS83でYES)、処理はステップS85に進む。なお、設定ボタンが表示されてから所定時間経過しても設定ボタンが指示されない場合には、処理を終了してもよい。
一方、ステップS84においては、通常ジョブが選択されたか否かが判断される。MFP100を操作するユーザーに関連付けられたジョブの一覧が表示されるジョブ選択画面が表示された状態で、通常ジョブが選択されたか否かを判断する。通常ジョブが選択されるまで待機状態となり、通常ジョブが選択されたならば処理はステップS85に進む。なお、通常ジョブとは別のジョブが選択された場合に処理がステップS85に進むようにしてもよい。また、ジョブ選択画面が表示されてから所定時間経過しても通常ジョブが選択されない場合に処理を終了してもよい。
ステップS85においては、設定値を設定するための設定画面が表示され、処理はステップS86に進む。ステップS86においては、ユーザーにより入力される操作によって処理が分岐する。ユーザーにより入力される操作が実行操作ならば処理はステップS87に進み、設定操作ならば処理はステップS88に進む。実行操作は、ジョブの実行を指示するための操作である。設定操作は、ジョブの設定値を設定するための操作である。ステップS88においては、設定操作に従って設定値が設定され、処理はステップS86に戻る。ステップS87においては、依頼ジョブまたは通常ジョブが実行され、処理はジョブ実行処理に戻る。
<第1の変形例>
依頼ジョブ生成部265は、許諾文字列を含む音声情報と組になる時刻情報で示される時刻よりも前の時刻を示す時刻情報と組になる音声情報を、依頼ジョブを生成するために用いる音声情報に決定する。この場合、依頼ジョブ生成部265は、第2ユーザーの名前を含む音声情報を、依頼ジョブを生成するために用いる音声情報のうち時刻情報で示される時刻が最も前の音声情報とするようにしてもよい。ユーザーそれぞれの呼び名を予め登録しておけばよい。第1ユーザーが第2ユーザーに作業を依頼する場合、第2ユーザーの名前を発声した後に作業を依頼する場合が多い。このため、依頼ジョブを生成するために用いる音声情報を時刻情報に基づいて絞り込むことができる。そのため、処理対象とする音声情報の数をできるだけ少なくすることができ、CPU201の負荷を低減することができる。
なお、依頼ジョブ生成部265は、第2ユーザーの名前を含む音声情報に対応する時刻から許諾文字列を含む音声情報に対応する時刻までの間の時刻に対応する複数の音声情報のみに基づいて依頼ジョブを生成することができない場合がある。この場合には、依頼ジョブ生成部265は、第2ユーザーの呼び名を含む音声情報と組になる時刻情報で示される時刻よりも前の時刻を示す時刻情報と組になる音声情報を用いて依頼ジョブを生成する。
以上説明したように第1の実施の形態における情報処理システム1において、PC200は、ジョブ生成装置として機能し、音声から得られた音声情報に基づいてMFP100で実行する処理を定めたジョブを生成し、音声情報がジョブを決定することのできないあいまい情報を含む場合に問い合わせる。このため、ジョブを容易に生成することが可能なジョブ生成装置を提供することができる。
また、PC200は、音声情報に基づいてMFP100に実行させる処理およびその処理を実行させる条件を定める設定情報の候補として複数の候補情報を決定する場合に、音声情報があいまい情報を含むと判断する。このため、音声情報があいまい情報か否かを容易に判断することができる。
また、PC200は、複数の候補情報それぞれに関連する関連情報が互いに異なる場合、複数の候補情報それぞれに関連する関連情報を問い合わせるので、複数の候補情報のうちから1つを設定情報に決定することができる。
また、PC200は、設定情報がMFP100に実行させる処理の対象となるデータを特定する場合、そのデータが記憶される記憶領域名、データが作成された作成日、データが更新された更新日またはデータの内容を関連情報として問い合わせる。このため、複数の候補情報のうちから1つを設定情報に決定することができる。
また、PC200は、複数の候補情報にそれぞれ関連する関連情報である複数のキーワード間で発音が同一または類似する場合、複数のキーワードそれぞれの別の発音または意味を問い合わせる。このため、複数の候補情報のうちから1つを設定情報に決定することができる。
また、PC200は、第1ユーザーおよび第2ユーザーがそれぞれ特定される音声から得られた音声情報に基づいて、依頼ジョブを生成する。このため、2以上のユーザーの会話から依頼ジョブが生成されるので、依頼ジョブを生成するための操作を簡略にすることができる。
<第2の実施の形態>
図13は、本発明の第2の実施の形態の1つにおける情報処理システムの全体概要を示す図である。図13を参照して、第2の実施の形態における情報処理システム1は、MFP100と、PC200と、スマートスピーカー250と、を含む。第2の実施の形態におけるMFP100は、第1の実施の形態におけるMFP100と同様に画像処理装置として機能するとともに、ジョブ生成装置として機能する。
スマートスピーカー250は、マイクロフォンと、スピーカーと、無線LANインターフェースと、を備えている。スマートスピーカー250は、スピーカーから音を発生する出力デバイスとして機能するとともに、マイクロフォンで集音した音声を受け付ける入力デバイスとして機能する。アクセスポイント(AP)9は、無線通信機能を有する中継装置であり、ネットワーク3に接続される。スマートスピーカー250は、AP9と通信することによりネットワーク3に接続される。このため、スマートスピーカー250は、MFP100、PC200と通信可能である。
ゲートウェイ(G/W)装置7は、ネットワーク3に接続されるとともに、インターネット5に接続される。ゲートウェイ装置7は、ネットワーク3とインターネット5とを中継する。クラウドサーバー300は、インターネット5に接続される。このため、MFP100、PC200およびスマートスピーカー250それぞれは、ゲートウェイ装置7を介して、クラウドサーバー300と通信可能である。
クラウドサーバー300は、スマートスピーカー250のAI(Artificial Intelligence)アシスタントとして機能する。スマートスピーカー250には、クラウドサーバー300が備えるAIアシスタントが予め登録されている。スマートスピーカー250は、マイクロフォンで集音した音声を電子データである音声データに変換し、クラウドサーバー300に送信する。また、スマートスピーカー250は、クラウドサーバー300から送信される電子データを音声に変換し、音声をスピーカーから出力する。
クラウドサーバー300は、スマートスピーカー250をユーザーインターフェースとして用い、スマートスピーカー250で集音されたユーザーの音声を音声認識し、音声情報に変換する。
また、クラウドサーバー300は、ユーザー識別機能を有する。クラウドサーバー300は、スマートスピーカー250と関連付けて、スマートスピーカー250を操作するユーザーの声紋が予め登録されている。クラウドサーバー300は、スマートスピーカー250で集音された音声を、登録されたユーザーの声紋と比較して、音声からユーザーを識別する。このように、クラウドサーバー300は、スマートスピーカー250で集音された音声に基づいて、その音声を発声したユーザーを識別する。
さらに、クラウドサーバー300には、MFP100を制御するアプリケーションプログラムがインストールされており、ユーザーの音声を変換した音声情報とその音声を発声したユーザーのユーザー識別情報とを、MFP100に送信する。
なお、クラウドサーバー300が有するAIアシスタントおよび、クラウドサーバー300に登録されるアプリケーションプログラムの動作は、上述した動作に限定されるものではなく、他の動作をするようにしてもよい。
図14は、第2の実施の形態におけるMFPが備えるCPUの機能の一例を示すブロック図である。図14に示す機能は、MFP100が備えるCPU111が、ROM113、HDD115、CD−ROM118に記憶されたジョブ生成プログラムを実行することにより、CPU111に実現される機能である。図14を参照して、図6に示した機能と異なる点は、音声情報取得部71、ジョブ生成部73および操作者通知部59が追加された点、ジョブ受信部81がジョブ受付部81Aに変更された点である。その他の機能は、図6に示した機能と同じなので、ここでは説明を繰り返さない。
音声情報取得部71は、クラウドサーバー300から音声情報とユーザー識別情報とを取得する。具体的には、音声情報取得部71は、通信I/F部112を制御して、通信I/F部112がクラウドサーバー300から受信する音声情報とユーザー識別情報とを取得する。音声情報取得部71は、音声情報とユーザー識別情報との組をジョブ生成部73に出力する。
ジョブ生成部73は、第1の実施の形態におけるPC200が備えるCPU201が有するジョブ生成部257と同様の機能を有する。すなわち、ジョブ生成部73は、クラウドサーバー300から受信される音声情報およびユーザー識別情報に基づいて、依頼ジョブを生成するとともに、第1ユーザーを決定する。ジョブ生成部73は、依頼ジョブと第1ユーザーのユーザー識別情報とを、ジョブ制御部55に出力する。また、ジョブ生成部73は、クラウドサーバー300から受信する音声情報とユーザー識別情報に基づいて通常ジョブを生成し、通常ジョブをジョブ制御部55に出力する。ジョブ制御部55のジョブ受付部81Aは、ジョブ生成部73が依頼ジョブを生成する場合に依頼ジョブと第1ユーザーのユーザー識別情報とを受け付け、ジョブ生成部73が通常ジョブを生成する場合に通常ジョブを受け付ける。
操作者通知部59は、第1の実施の形態におけるPC200が備えるCPU201が有する操作者通知部281と同様の機能を有する。すなわち、操作者通知部59は、ジョブ生成部73により依頼ジョブが生成される場合、第2ユーザーに依頼ジョブがMFP100で実行可能なことを通知する。
第2の実施の形態における情報処理システム1においては、第1の実施の形態における情報処理システム1のPC200の機能の一部をクラウドサーバー300が有し、PC200の機能の他の一部をMFP100が有する。このため、PC200を用いる必要がないので、システムを簡略にすることができる。
なお、クラウドサーバー300の機能を、スマートスピーカー250が有するようにしてもよい。すなわち、スマートスピーカー250が、音声認識および音声認証機能を有する場合には、MFP100は、スマートスピーカー250から音声情報とユーザー識別情報とを取得することができる。この場合には、クラウドサーバー300が不要なので、システム構成を簡略にすることができる。
<第2の変形例>
第2の実施の形態におけるMFP100がマイクロフォンを備えるようにしてもよい。この場合、MFP100が備えるCPU111は、図4に示した第1の実施の形態におけるPC200が備えるCPU201の機能のうち音声受付部251、音声認識部253、ユーザー特定部255を有する。これにより、スマートスピーカー250、クラウドサーバー300が不要となるので、システム構成を簡略にすることができる。
<第3の変形例>
第2の実施の形態においては、クラウドサーバー300がMFP100に、ユーザーの音声を変換した音声情報とその音声を発声したユーザーのユーザー識別情報とを送信する。第3の変形例においては、スマートスピーカー250からユーザーの音声を示す音声データがMFP100に直接送信される。なお、スマートスピーカー250から音声データがクラウドサーバー300を経由してMFP100に送信されてもよい。この場合、MFP100が備えるCPU111は、図4に示した第1の実施の形態におけるPC200が備えるCPU201の機能のうち音声受付部251、音声認識部253およびユーザー特定部255を有する。
以上説明したように第2の実施の形態における情報処理システム1において、MFP100は、ジョブ生成装置として機能するとともに画像処理装置として機能する。また、MFP100は、音声から得られた音声情報に基づいてMFP100で実行する処理を定めたジョブを生成し、音声情報がジョブを決定することのできないあいまい情報を含む場合に問い合わせる。このため、ジョブを容易に生成することができる。第2の実施の形態におけるMFP100は、第1の実施の形態におけるPC200が奏する効果と同様の効果を奏することができる。
また、MFP100は、クラウドサーバー300からユーザーの音声を変換した音声情報とその音声を発声したユーザーのユーザー識別情報とを受信するので、システムの構成を簡略にできるとともに、MFP100の負荷を少なくすることができる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上述した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
<付記>
(1)好ましくは、前記データの属性は、前記データが記憶される記憶領域名、前記データが作成された作成日、前記データが更新された更新日または前記データの内容を含む。
(2)好ましくは、前記設定情報は、前記画像処理装置に実行させる処理がデータを送信するデータ送信処理の場合、データの送信先を示す宛先情報を含む。
(3)好ましくは、前記設定情報は、前記画像処理装置に実行させる処理が画像処理の場合、画像処理条件を含む。