(58)【調査した分野】(Int.Cl.,DB名)
前記第1表示手段は、前記特定画像を表示するための特定画像データを前記音声認識プログラムまたは前記画像処理プログラムへ送信することで、前記特定画像を前記音声認識プログラムまたは前記画像処理プログラムに前記表示部へ表示させることを特徴とする請求項1に記載の情報処理プログラム。
前記第1文字列が前記テキストデータに含まれていないことが前記第1判断手段によって判断された場合に、前記テキストデータに前記第1文字列に類似する類似文字列が含まれている場合に、前記類似文字列に基づいて前記第1文字列を生成する第1文字列生成手段と、
生成された前記第1文字列を前記音声認識プログラムへ送信することで、前記第1文字列を前記音声認識プログラムに出力させる第1文字列送信手段と、
前記第1文字列送信手段で送信した前記第1文字列の使用可否を示す第1使用情報を前記音声認識プログラムから受信する第1使用情報受信手段と、
受信した前記第1使用情報が前記第1文字列を使用することを示している場合に、前記第1文字列生成手段によって生成された前記第1文字列が示す前記画像処理プログラムに、前記第2文字列が示す画像処理の実行を指示する第2指示手段と、
して前記情報処理装置をさらに機能させることを特徴とする請求項1〜3の何れか1項に記載の情報処理プログラム。
前記第2文字列が前記テキストデータに含まれていないことが前記第1判断手段によって判断された場合に、前記テキストデータに前記第2文字列に類似する類似文字列が含まれている場合に、前記類似文字列に基づいて前記第2文字列を生成する第2文字列生成手段と、
生成された前記第2文字列を前記音声認識プログラムへ送信することで、前記第2文字列を前記音声認識プログラムに出力させる第2文字列送信手段と、
前記第2文字列送信手段で送信した前記第2文字列の使用可否を示す第2使用情報を前記音声認識プログラムから受信する第2使用情報受信手段と、
受信した前記第2使用情報が前記第2文字列を使用することを示している場合に、前記第2文字列生成手段によって生成された前記第2文字列が示す画像処理の内容を示す特定画像を前記表示部に表示させる第2表示手段と、
前記画像処理の実行指示を受け付けた場合に、前記第2文字列生成手段によって生成された前記第2文字列が示す画像処理の実行を、前記第1文字列が示す前記画像処理プログラムに指示する第3指示手段と、
して前記情報処理装置をさらに機能させることを特徴とする請求項1〜4の何れか1項に記載の情報処理プログラム。
前記第2表示手段は、前記特定画像を表示するための特定画像データを前記音声認識プログラムまたは前記画像処理プログラムへ送信することで、前記特定画像を前記音声認識プログラムまたは前記画像処理プログラムに前記表示部へ表示させることを特徴とする請求項5に記載の情報処理プログラム。
前記第1文字列が前記テキストデータに含まれていないことが前記第1判断手段によって判断された場合に、前記第1文字列の候補となる複数の第1候補文字列を生成する第1候補文字列生成手段と、
生成された前記複数の第1候補文字列を前記音声認識プログラムへ送信することで、前記複数の第1候補文字列を前記音声認識プログラムに出力させる第1候補文字列送信手段と、
前記第1候補文字列送信手段で送信した前記複数の第1候補文字列のうちから選択された選択第1文字列を示す選択第1文字列情報を前記音声認識プログラムから受信する選択第1文字列情報受信手段と、
受信した前記選択第1文字列情報が示す前記選択第1文字列が示す前記画像処理プログラムに、前記第2文字列が示す画像処理の実行を指示する第4指示手段と、
して前記情報処理装置をさらに機能させることを特徴とする請求項1〜6の何れか1項に記載の情報処理プログラム。
前記第2文字列が前記テキストデータに含まれていないことが前記第1判断手段によって判断された場合に、前記第2文字列の候補となる複数の第2候補文字列を生成する第2候補文字列生成手段と、
生成された前記複数の第2候補文字列を前記音声認識プログラムへ送信することで、前記複数の第2候補文字列を前記音声認識プログラムに出力させる第2候補文字列送信手段と、
前記第2候補文字列送信手段で送信した前記複数の第2候補文字列のうちから選択された選択第2文字列を示す選択第2文字列情報を前記音声認識プログラムから受信する選択第2文字列情報受信手段と、
受信した前記選択第2文字列情報が示す前記選択第2文字列が示す画像処理の内容を示す特定画像を前記表示部に表示させる第3表示手段と、
前記画像処理の実行指示を受け付けた場合に、前記選択第2文字列が示す画像処理の実行を、前記第1文字列が示す前記画像処理プログラムに指示する第5指示手段と、
して前記情報処理装置をさらに機能させることを特徴とする請求項1〜7の何れか1項に記載の情報処理プログラム。
前記第3表示手段は、前記特定画像を表示するための特定画像データを前記音声認識プログラムまたは前記画像処理プログラムへ送信することで、前記特定画像を前記音声認識プログラムまたは前記画像処理プログラムに前記表示部へ表示させることを特徴とする請求項8に記載の情報処理プログラム。
前記第1文字列が前記テキストデータに含まれていないことが前記第1判断手段によって判断された場合に、前記第1文字列の入力を要求する第1要求情報を前記音声認識プログラムへ送信することで、前記第1文字列の入力を前記音声認識プログラムに受け付けさせる第1要求情報送信手段と、
前記第1文字列を前記音声認識プログラムから受信する第1文字列受信手段と、
受信した前記第1文字列が示す前記画像処理プログラムに、前記第2文字列が示す画像処理の実行を指示する第6指示手段と、
して前記情報処理装置をさらに機能させることを特徴とする請求項1〜9の何れか1項に記載の情報処理プログラム。
前記第2文字列が前記テキストデータに含まれていないことが前記第1判断手段によって判断された場合に、前記第2文字列の入力を要求する第2要求情報を前記音声認識プログラムへ送信することで、前記第2文字列の入力を前記音声認識プログラムに受け付けさせる第2要求情報送信手段と、
前記第2文字列を前記音声認識プログラムから受信する第2文字列受信手段と、
受信した前記第2文字列が示す画像処理の内容を示す特定画像を前記表示部に表示させる第4表示手段と、
前記画像処理の実行指示を受け付けた場合に、受信した前記第2文字列が示す画像処理の実行を、前記第1文字列が示す前記画像処理プログラムに、指示する第7指示手段と、
して前記情報処理装置をさらに機能させることを特徴とする請求項1〜10の何れか1項に記載の情報処理プログラム。
前記第4表示手段は、前記特定画像を表示するための特定画像データを前記音声認識プログラムまたは前記画像処理プログラムへ送信することで、前記特定画像を前記音声認識プログラムまたは前記画像処理プログラムに前記表示部へ表示させることを特徴とする請求項11に記載の情報処理プログラム。
【発明を実施するための形態】
【0008】
(通信システム10の構成)
図1は、通信システム10の構成を示すブロック図である。通信システム10は、情報処理装置100、MFP51を備えている。ここで、MFPとは、印刷機能、スキャン機能、コピー機能等を備える多機能周辺装置(Multifunction Peripheralとも称する)を示す。
【0009】
情報処理装置100は、例えば携帯電話や携帯端末装置などの携帯型の装置である。情報処理装置100は、表示手段102、タッチパネル103、入力I/F104、無線LAN_I/F105、CPU106、ROM107、RAM108、記憶部109、マイク111などを備えており、これらは入出力ポート110を介して互いに接続されている。なおI/Fとは、Interfaceの略である。
【0010】
表示手段102は、CPU106から出力される画信号を受信し、受信した画信号に基づく画像を表示する。表示手段102としては、例えばLCD(Liquid Crystal Displayとも称する)や、有機EL(Organic Electro-Luminescenceとも称する)パネルなどを用いることができる。タッチパネル103は透明な部材により形成され、表示手段102の表面を覆うようにして配設されている。タッチパネル103は、ユーザの指などによりタッチされた位置を検出し、検出した位置情報をCPU106へ出力する。入力I/F104は、例えば操作ボタンである。
【0011】
無線LAN_I/F105は、無線LANステーションとしての通信を行うI/Fである。無線LAN_I/F105は、Wi−Fi(Wi-Fi Allianceの登録商標)のインフラストラクチャーモードに準拠した通信や、Wi−Fi Direct(Wi-Fi Allianceの登録商標)に準拠した通信を行う。無線LAN_I/F105は、無線通信151および154と、アクセスポイント501を介して、MFP51と各種のデータを通信する。
【0012】
CPU106は、記憶部109に記憶されるプログラムを実行する。RAM108は、CPU106の処理に必要な情報を一時的に記憶する。記憶部109は、フラッシュメモリ、HDD(ハードディスクとも呼称する)、CPU106が備えるバッファなどが組み合わされて構成されている。記憶部109には、画像データや、文書データなどが記憶可能である。
【0013】
記憶部109は、プログラム120を記憶している。CPU106は、プログラム120に従って処理を実行する。記憶部109は、コンピュータが読み取り可能なストレージ媒体であってよい。コンピュータが読み取り可能なストレージ媒体とは、ROM、RAM、フラッシュメモリ、ハードディスクなどのnon-transitoryな媒体である。
【0014】
プログラム120は、印刷装置制御プログラム123、音声認識プログラム125、および、オペレーティングシステム124(以下、OS124とも記載する)を含んでいる。印刷装置制御プログラム123は、プリント/スキャンプログラム121、および仲介プログラム122を含んでいる。
【0015】
プリント/スキャンプログラム121は、MFP51に印刷処理やスキャン処理などの各種の画像処理を実行させるためのプログラムである。またプリント/スキャンプログラム121は、印刷処理で用いる画像データを生成し送信したり、スキャン処理によってMFP51で生成された画像データを受信することができる。本実施例の説明例では、プリント/スキャンプログラム121の名称が「プリントスキャンアプリ」である場合を説明する。
【0016】
仲介プログラム122は、プリント/スキャンプログラム121の機能を拡張するためのプログラムである。すなわち仲介プログラム122は、プリント/スキャンプログラム121のプラグイン機能を有するプログラムである。仲介プログラム122は、プリント/スキャンプログラム121と音声認識プログラム125との間での、各種の情報の通信を仲介する機能を有する。仲介プログラム122は、音声認識プログラム125やプリント/スキャンプログラム121に呼び出されて実行されてもよい。
【0017】
音声認識プログラム125は、ユーザがマイク111を介して入力した音声を、音声認識技術を用いてテキストデータに変換する。また、自然言語処理を用いて、変換されたテキストデータの内容を解釈する。これにより、音声による各種の指示を受け付けるとともに、指示に応じた処理を実行することが可能となる。音声認識プログラム125の一例としては、Siri(Apple Inc.の登録商標)やCortana(Microsoft Corporationの登録商標)が挙げられる。
【0018】
OS124は、仲介プログラム122やプリント/スキャンプログラム121等に共通して利用される、基本的な機能を提供するプログラムである。本実施形態では、OS124がiOS(Cisco Systemsの登録商標)である場合を説明する。仲介プログラム122、プリント/スキャンプログラム121、音声認識プログラム125等は、OS124が提供するAPIを用いてOS124に対する各種指示を出力する。すなわち、音声認識プログラム125やプリント/スキャンプログラム121等は、OS124を介して、情報処理装置100の各部にOS124を介して指示を行う。指示の結果は、OS124から音声認識プログラム125やプリント/スキャンプログラム121等に対して出力される。
【0019】
以降、仲介プログラム122や音声認識プログラム125など、プログラムを実行するCPU106のことを、単にプログラム名でも記載することにする場合がある。例えば「仲介プログラム122は」という記載は、仲介プログラム122を実行するCPU106は」を意味する場合がある。
【0020】
また記憶部109には、比較用第1文字列、比較用第2文字列、複数の第1候補文字列、複数の第2候補文字列が予め記憶されている。これらの文字列の内容は、後述する。比較用第1文字列および比較用第2文字列は、仲介プログラム122の作成者によって作成され、仲介プログラム122のインストール時に記憶部109に記憶されるとしてもよい。第1候補文字列や第2候補文字列は、ユーザによって記憶部109に記憶されるとしてもよい。
【0021】
(通信システムの動作)
通信システム10の動作を、
図2〜
図4のシーケンス図を用いて説明する。本実施例の説明例では、音声認識プログラム125が「Siri」(Apple Inc.の登録商標)である場合を説明する。
【0022】
通信システム10を構築するための事前準備について説明する。プリント/スキャンプログラム121の作成者は、プリント/スキャンプログラム121のコードに、音声認識プログラム125と通信可能であることを宣言する宣言文字列を含ませる。作成者は、プリント/スキャンプログラム121および仲介プログラム122を、不図示のサーバにアップロードする。ユーザは、プリント/スキャンプログラム121および仲介プログラム122をサーバからダウンロードし、情報処理装置100にインストールする。OS124は、プリント/スキャンプログラム121内の宣言文字列を検出することで、音声認識プログラム125とプリント/スキャンプログラム121とが連携する関係にあることを認識する。これにより、仲介プログラム122が、音声認識プログラム125とプリント/スキャンプログラム121との間の通信を仲介することが可能となる。
【0023】
情報処理装置100で音声認識プログラム125が起動されると、
図2のフローが開始される。S110において音声認識プログラム125は、マイク111からの音声入力を受け付ける。S120において音声認識プログラム125は、音声入力をテキストデータに変換する変換処理を実行する。S130において音声認識プログラム125は、テキストデータを解釈する。そして、ドメイン、第1文字列、第2文字列を特定する。
【0024】
ドメインは、音声認識プログラム125で実行可能なタスクを定義する情報である。ドメインには、複数の種類が存在する。そしてドメインの種類ごとに、そのドメインを使用するためのルールが定められている。ドメインの例としては、「メッセージ送信」、「ワークアウト」、「写真検索」などが挙げられる。「メッセージ送信」は、メールを用いてメッセージを送信するドメインである。「メッセージ送信」のドメインを使用するためのルールの一例としては、入力音声中に「メッセージを送信」という文字列を含めることが挙げられる。「ワークアウト」は、運動中に進捗状況を知らせるドメインである。「ワークアウト」のドメインを使用するためのルールの一例としては、入力音声中に「開始」という文字列を含めることが挙げられる。「写真検索」は、記憶部109に記憶されている複数の写真データのうちから、所望の写真データを検索するドメインである。
【0025】
ドメインには、第1種ドメインと第2種ドメインが存在する。第1種ドメインは処理の内容を指定できるドメインであり、第2種ドメインは処理の内容を指定できないドメインである。処理の内容を指定する態様の一例としては、画像処理で用いられる設定情報を指定する態様が挙げられる。設定情報の一例としては、用紙サイズ、印刷解像度、カラー印刷またはモノクロ印刷の設定、スキャン解像度、などが挙げられる。すなわち、第1種ドメインは、画像処理で用いられる設定情報がテキストデータに含まれていることを示すドメインである。また第2種ドメインは、画像処理で用いられる設定情報がテキストデータに含まれていないことを示すドメインである。第1種ドメインの一例としては「メッセージ送信」が挙げられる。第2種ドメインの一例としては「ワークアウト」が挙げられる。
【0026】
第1文字列は、プリント/スキャンプログラム121を識別するための文字列である。第1文字列は、プリント/スキャンプログラム121の名称や略称であってもよい。第2文字列は、プリント/スキャンプログラム121で行われる画像処理の内容を示す文字列である。第2文字列の一例としては、「印刷」「スキャン」等が挙げられる。
【0027】
本実施例の説明例では、S110において「“プリントスキャンアプリを使ってA4で印刷”というメッセージを送信」という音声入力を受け付けた場合を説明する。この場合、入力音声中に「メッセージを送信」という文字列が含まれているため、ドメインが「メッセージ送信」であると特定される。第1文字列として、「プリントスキャンアプリ」が特定される。第2文字列として、「印刷」が特定される。ドメインが「メッセージ送信」であるため、設定情報を指定可能であると判断される。そして、設定情報として「A4」が特定される。
【0028】
なお、S130においてドメイン、第1文字列、第2文字列の少なくとも何れか一方が特定できなかった場合には、音声認識プログラム125は、特定できなかったドメインまたは文字列をユーザに聞き直してもよい。また、設定情報を指定可能である場合(すなわち、第1種ドメインである場合)に、設定情報が特定できなかった場合には、音声認識プログラム125は、設定情報をユーザに聞き直してもよいし、聞き直さなくてもよい。
【0029】
S140において音声認識プログラム125は、仲介プログラム122を起動する。S150において音声認識プログラム125は、ドメイン、第1文字列、第2文字列を含んだテキストデータを、仲介プログラム122へ送信する。ドメインが第1種ドメインである場合には、テキストデータには、設定情報も含まれている。本実施例の説明例では、「メッセージ送信」のドメイン、「プリントスキャンアプリ」の第1文字列、「印刷」の第2文字列、「A4」の設定情報を含んだテキストデータが、送信される。
【0030】
S160において仲介プログラム122は、受信したテキストデータに含まれているドメインの種別を判断する。本実施例の説明例では、ドメインが「メッセージ送信」であると判断される。S165において仲介プログラム122は、ドメインの判断結果を記憶部109に一時的に記憶させる。
【0031】
S170において仲介プログラム122は、S150で受信したテキストデータ内に、画像処理の実行をプリント/スキャンプログラム121に指示するために必要な情報が全て含まれているかを判断する。具体的には、ドメインが第2種ドメインであることがS160で判断された場合には、第1文字列および第2文字列が含まれているかを判断する。一方、ドメインが第1種ドメインであることがS160で判断された場合には、第1文字列および第2文字列に加えて、設定情報が含まれているかを判断する。肯定判断される場合(S170:YES)には、S180へ進む。
【0032】
S180において仲介プログラム122は、成功情報、第1文字列、第2文字列、設定情報を、音声認識プログラム125へ送信する。成功情報は、画像処理の実行をプリント/スキャンプログラム121に指示するために必要な情報の全てを取得したことを示す情報である。なおドメインが第2種ドメインである場合には、設定情報は送信されない。
【0033】
一方、S170において否定判断される場合(S170:NO)には、S200へ進む。S200において仲介プログラム122は、第1文字列または/および第2文字列を推測可能であるか否かを判断する。具体的には、第1文字列に類似する第1類似文字列や、第2文字列に類似する第2類似文字列が、テキストデータに含まれているか否かを判断する。第1および第2類似文字列は、ユーザが言い間違えた場合や、音声認識に失敗した場合に生成される文字列である。第1文字列が「プリントスキャンアプリ」である場合の、言い間違えによる第1類似文字列の例としては、「プリントアプリ」、「スキャンアプリ」などが挙げられる。また、音声認識の失敗による第1類似文字列の例としては、「プリントゥスキャアップル」などが挙げられる。
【0034】
S200の判断は、記憶部109に予め記憶されている比較用第1文字列および比較用第2文字列を用いて行われてもよい。比較用第1文字列の一例としては、プリント/スキャンプログラム121の名称である「プリントスキャンアプリ」が挙げられる。比較用第2文字列の一例としては、「印刷」、「スキャン」が挙げられる。
【0035】
S200において肯定判断される場合(S200:YES)には、S210へ進む。S210において仲介プログラム122は、テキストデータに第1類似文字列が含まれている場合には、第1類似文字列に基づいて第1文字列を推測する。具体的には、第1文字列が、第1類似文字列に対応する比較用第1文字列と同一である、と推測する。例えば、第1類似文字列が「プリントアプリ」である場合には、第1文字列は、比較用第1文字列である「プリントスキャンアプリ」と同一であると推測する。また、テキストデータに第2類似文字列が含まれている場合には、第2類似文字列に基づいて第2文字列を推測する。具体的には、第2文字列が、第2類似文字列に対応する比較用第2文字列と同一である、と推測する。
【0036】
S220において仲介プログラム122は、S210で推測された第1文字列または/および第2文字列を、音声認識プログラム125へ送信する。
【0037】
S230において音声認識プログラム125は、推測された第1文字列または/および第2文字列が正しいか否かについて、ユーザに問い合わせる。ユーザへの問合せは、音声および画面表示の少なくとも一方によって行われてもよい。例えば、第1類似文字列が「プリントアプリ」である場合には、『「プリントアプリ」ではなく、「プリントスキャンアプリ」で正しいですか?』という文章を音声で読み上げるとともに、音声認識プログラム125の表示画面中に表示してもよい。
【0038】
S240において音声認識プログラム125は、ユーザによる回答の入力を受け付ける。回答の入力受付は、「はい」または「いいえ」という音声入力をマイク111を介して受信することで行われてもよい。
【0039】
S250において音声認識プログラム125は、第1使用情報または/および第2使用情報を生成し、仲介プログラム122へ送信する。第1使用情報は、推測された第1文字列を使用することが可能か否かを示す情報である。推測された第1文字列が正しいという回答がS240において受け付けられた場合には、第1使用情報は、推測された第1文字列を使用することが可能であることを示す内容になる。一方、推測された第1文字列が正しくないという回答がS240において受け付けられた場合には、第1使用情報は、推測された第1文字列を使用することができないことを示す内容になる。同様に、第2使用情報は、推測された第2文字列を使用することが可能か否かを示す情報である。
【0040】
S260において仲介プログラム122は、推測した第1文字列または/および第2文字列が使用可能であることを、第1使用情報または/および第2使用情報が示しているか否かを判断する。肯定判断される場合(S260:YES)には、S270へ進む。S270の処理内容は、前述したS180の内容と同様である。
【0041】
一方、S260において否定判断される場合(S260:NO)には、S300へ進む。S300において仲介プログラム122は、第1文字列または/および第2文字列の選択候補を複数生成することが可能であるか否かを判断する。当該判断は、例えば、第1文字列の候補となる複数の第1候補文字列や、第2文字列の候補となる複数の第2候補文字列が、記憶部109に記憶されているか否かによって行われてもよい。複数の第1候補文字列の一例としては、「プリントスキャンアプリ」、「ブラウザアプリ」などが挙げられる。複数の第2候補文字列の一例としては、「印刷」、「スキャン」などが挙げられる。
【0042】
S300において肯定判断される場合(S300:YES)には、S310へ進む。S310において仲介プログラム122は、複数の第1候補文字列または/および複数の第2候補文字列を生成する。具体的には、例えば、記憶部109に記憶されている複数の第1候補文字列または/および複数の第2候補文字列を読み出してもよい。
【0043】
S320において仲介プログラム122は、S310で生成された複数の第1候補文字列または/および複数の第2候補文字列を、音声認識プログラム125へ送信する。
【0044】
S330において音声認識プログラム125は、複数の第1候補文字列または/および複数の第2候補文字列のうちから、1つの第1文字列または/および第2文字列を選択することを、ユーザに要求する。ユーザへの要求は、音声および画面表示の少なくとも一方によって行われてもよい。例えば、複数の第2候補文字列が存在する場合には、『実行する処理は、「印刷」、「スキャン」のうちのどれですか?』という文章を音声で読み上げるとともに、音声認識プログラム125の表示画面中に表示してもよい。
【0045】
S340において音声認識プログラム125は、ユーザによる選択の入力を受け付ける。選択の入力受付は、例えば、「印刷」という音声入力をマイク111を介して受信することで行われてもよい。
【0046】
S350において音声認識プログラム125は、選択第1文字列情報または/および選択第2文字列情報を生成し、仲介プログラム122へ送信する。選択第1文字列情報は、複数の第1候補文字列のうちからユーザによって選択された選択第1文字列を示す情報である。選択第2文字列情報は、複数の第2候補文字列のうちからユーザによって選択された選択第2文字列を示す情報である。
【0047】
S360において仲介プログラム122は、選択第1文字列または/および選択第2文字列が正しいか否かを判断する。具体的には、選択第1文字列がプリント/スキャンプログラム121の名称を示しているか、選択第2文字列がプリント/スキャンプログラム121で実行可能な画像処理を示しているか、を判断する。例えばプリント/スキャンプログラム121がファックス処理を実行できない場合において、選択第2文字列が「ファックス」である場合には、選択第2文字列が正しくないと判断される。肯定判断される場合(S360:YES)には、S370へ進む。S370の処理内容は、前述したS180の内容と同様である。
【0048】
一方、S360において否定判断される場合(S360:NO)には、S420へ進む。S420において仲介プログラム122は、第1要求情報、第2要求情報、および設定要求情報の少なくとも1つを、音声認識プログラム125へ送信する。第1要求情報、第2要求情報、および設定要求情報の各々は、第1文字列、第2文字列、設定情報、の各々の入力をユーザに要求する処理を実行することを、音声認識プログラム125に指示するための情報である。
【0049】
S430において音声認識プログラム125は、第1文字列、第2文字列、設定情報、の少なくとも1つを入力することを、ユーザへ要求する。ユーザへの要求は、音声および画面表示の少なくとも一方によって行われてもよい。例えば、第2文字列が「印刷」である場合に、設定情報の入力を要求する場合には、『印刷で用いる用紙サイズを入力して下さい』という文章を音声で読み上げるとともに、音声認識プログラム125の表示画面中に表示してもよい。
【0050】
S440において音声認識プログラム125は、ユーザによる第1文字列などの入力を受け付ける。第1文字列などの入力受付は、音声入力をマイク111を介して受信することで行われてもよい。S450において音声認識プログラム125は、S440で入力された第1文字列、第2文字列、設定情報、の少なくとも1つを、仲介プログラム122へ送信する。
【0051】
S460において仲介プログラム122は、受信した第1文字列、第2文字列、設定情報、の少なくとも1つが、正しいか否かを判断する。具体的な判断内容は、前述したS360の内容と同様である。否定判断される場合(S460:NO)にはS420へ戻り、肯定判断される場合(S460:YES)にはS470へ進む。S470の処理内容は、前述したS180の内容と同様である。
【0052】
S180、S270、S370、S470の処理が行われた場合には、S510へ進む。S510において音声認識プログラム125は、最終確認処理の実行を仲介プログラム122に指示する。最終確認処理は、ユーザによって指示された画像処理をプリント/スキャンプログラム121に実行させてよいか否かを、ユーザに確認する処理である。
【0053】
S515において仲介プログラム122は、最終確認処理を実行可能な状態であるか否かを判断する。例えば、画像処理の実行をプリント/スキャンプログラム121に指示するために必要な情報が、全て揃っているか否かを判断する。否定判断される場合(S515:NO)にはフローを終了し、肯定判断される場合(S515:YES)にはS520へ進む。
【0054】
S520において仲介プログラム122は、最終動作確認画像を音声認識プログラム125に表示させるために用いられる最終動作確認画像データを、音声認識プログラム125へ送信する。最終動作確認画像は、第2文字列が示す画像処理をプリント/スキャンプログラム121に実行させてよいか否かを、ユーザに問い合わせるための画像である。
【0055】
S525において音声認識プログラム125は、最終動作確認画像を表示手段102に表示させる。本実施例の説明例では、「プリントスキャンアプリを用いてA4サイズで印刷してよいですか」という文章が、音声認識プログラム125の表示画面中に表示される場合を説明する。
【0056】
S530において音声認識プログラム125は、ユーザによる回答の入力を受け付ける。回答の入力受付は、「はい」または「いいえ」という音声入力をマイク111を介して受信することで行われてもよい。S540において音声認識プログラム125は、画像処理の実行を許可する回答が入力されたか否かを判断する。否定判断される場合(S540:NO)には処理を終了し、肯定判断される場合(S540:YES)にはS560へ進む。S560において音声認識プログラム125は、画像処理の実行を仲介プログラム122に指示する。S570において仲介プログラム122は、プリント/スキャンプログラム121を起動する。
【0057】
S572において仲介プログラム122は、今回使用しているドメインが、処理の内容を指定できる第1種ドメインであるか、処理の内容を指定できない第2種ドメインであるかを判断する。この判断は、S165で記憶部109に記憶させた判断結果を用いて行うことができる。第2種ドメインであると判断された場合(S572:第2種ドメイン)には、S574へ進む。S574において仲介プログラム122は、第2文字列が示す画像処理の実行を、プリント/スキャンプログラム121に指示する。本実施例の説明例では、印刷処理を実行することを指示する場合を説明する。
【0058】
一方、今回使用されているドメインが第1種ドメインであると判断された場合(S572:第1種ドメイン)には、S576へ進む。S576において仲介プログラム122は、設定情報を抽出する。S580において仲介プログラム122は、第2文字列が示す画像処理を、S576で抽出した設定情報に基づいて実行することを、プリント/スキャンプログラム121に指示する。本実施例の説明例では、印刷処理を「A4サイズ」で実行することを指示する場合を説明する。
【0059】
S590においてプリント/スキャンプログラム121は、第2文字列が示す画像処理を実行する。このとき、画像処理の実行対象となる画像データを、ユーザに選択させてもよい。そして、選択された画像データを、無線通信151および154を介してMFP51へ送信することで、MFP51に画像処理を実行させてもよい。本実施例の説明例では、ユーザが選択した画像データをMFP51に送信することで、MFP51がA4サイズの印刷用紙に印刷処理を実行してもよい。
【0060】
S600において仲介プログラム122は、第2文字列が示す画像処理を実行した結果を示す結果情報を、プリント/スキャンプログラム121から受信する。実行結果は、例えば、画像処理の成否、エラーの有無、などを含んでもよい。S610において仲介プログラム122は、結果情報を音声認識プログラム125へ送信する。S620において音声認識プログラム125は、結果情報をユーザへ報知する。ユーザへの報知は、音声および画面表示の少なくとも一方によって行われてもよい。例えば、『プリントスキャンアプリでの印刷処理が完了しました』という文章を音声で読み上げるとともに、音声認識プログラム125の表示画面中に表示してもよい。
【0061】
(効果)
仲介プログラム122は、プリント/スキャンプログラム121を示す第1文字列、および、画像処理の内容を示す第2文字列を、音声認識プログラム125から取得することができる(S150)。そして、第2文字列が示す画像処理の実行を、プリント/スキャンプログラム121に指示することができる(S574、S580)。これにより、音声認識プログラム125を介して、プリント/スキャンプログラム121に対して、音声によって画像処理の実行を指示することが可能となる。
【0062】
仲介プログラム122は、最終動作確認画像データを音声認識プログラム125へ送信(S520)することで、最終動作確認画像を音声認識プログラム125に表示(S525)させることができる。そして、画像処理の実行指示をユーザから受け付けた場合(S540:YES)に、画像処理の実行を、プリント/スキャンプログラム121に指示することができる(S574、S580)。これにより、画像処理の実行可否を、ユーザに対して最終確認することが可能となる。
【0063】
仲介プログラム122は、画像処理の実行結果を示す結果情報をプリント/スキャンプログラム121から受信(S600)し、受信した結果情報を音声認識プログラム125へ送信(S610)することで、処理結果を音声認識プログラム125に出力(S620)させることができる。これにより、画像処理の実行結果を、音声および画面表示の少なくとも一方を用いてユーザへ報知することが可能となる。
【0064】
仲介プログラム122は、第1文字列または/および第2文字列がテキストデータに含まれていない場合(S170:NO)に、テキストデータに第1類似文字列または/および第2類似文字列が含まれている場合(S200:YES)には、第1文字列または/および第2文字列を推測することができる(S210)。そして、推測した第1文字列または/および第2文字列の使用可否をユーザへ問い合わせる処理を、音声認識プログラム125に実行させることができる(S220〜S250)。これにより、ユーザがプリント/スキャンプログラム121の名称を間違えて覚えていたり、音声認識プログラム125での音声認識に失敗してテキストデータの一部がエラーになった場合においても、正しい第1文字列または/および第2文字列を取得することが可能となる。
【0065】
仲介プログラム122は、第1文字列または/および第2文字列がテキストデータに含まれていない場合(S170:NO)には、複数の第1候補文字列または/および複数の第2候補文字列を生成することができる(S310)。そして、複数の第1候補文字列または/および複数の第2候補文字列のうちから選択第1文字列または/および選択第2文字列を選択するユーザ操作を、音声認識プログラム125に受け付けさせることができる(S320〜S350)。選択肢をユーザに提示した上で選択を受け付けることができるため、ユーザの利便性を高めることが可能となる。
【0066】
仲介プログラム122は、第1文字列または/および第2文字列がテキストデータに含まれていない場合(S170:NO)には、第1文字列または/および第2文字列の入力をユーザへ要求する処理を、音声認識プログラム125に実行させることができる(S420〜S450)。これにより、ユーザは、音声によって第1文字列または/および第2文字列を入力することが可能となる(S440)。タッチパネル103を用いて第1文字列または/および第2文字列を入力する場合に比して、ユーザの負担を低減することが可能となる。
【0067】
仲介プログラム122は、S150で音声認識プログラム125から取得(S150)したドメインに基づいて、テキストデータに設定情報が含まれているか否かを判断(S170)することができる。テキストデータに設定情報が含まれていると判断した場合(S572:第1種ドメイン)には、設定情報を抽出(S576)することができる。そして、抽出した設定情報に従って画像処理を実行することを、プリント/スキャンプログラム121に指示することができる(S580)。これにより、音声認識プログラム125を介して受け付けた設定情報に基づいて、プリント/スキャンプログラム121に画像処理を実行させることが可能となる。
【0068】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【0069】
(変形例)
S520において仲介プログラム122は、最終動作確認画像データを、プリント/スキャンプログラム121へ送信してもよい。そしてプリント/スキャンプログラム121が最終動作確認画像を表示手段102に表示させてもよい。また、仲介プログラム122自身が、最終動作確認画像を表示手段102に表示させてもよい。
【0070】
S210において仲介プログラム122は、設定情報を推測してもよい。そして推測した設定情報を音声認識プログラム125へ送信(S220)し、推測した設定情報が使用可能か否かを示す情報を受信(S250)してもよい。
【0071】
S310において仲介プログラム122は、設定情報の候補となる複数の候補設定情報を生成してもよい。そして複数の候補設定情報を音声認識プログラム125へ送信(S320)し、ユーザによって選択された設定情報を示す情報を受信(S350)してもよい。
【0072】
N個(Nは1以上の自然数)のドメインの各々に対応して、N個の仲介プログラムが存在してもよい。例えば、「メッセージ送信」のドメインに対応した仲介プログラム、「ワークアウト」のドメインに対応した仲介プログラム、「写真検索」のドメインに対応した仲介プログラム、が存在してもよい。この場合、音声認識プログラム125は、S130で特定したドメインに対応する仲介プログラムを、S140において起動すればよい。また、S160およびS165の処理を省略すればよい。
【0073】
仲介プログラム122がプリント/スキャンプログラム121を起動(S570)する態様に限られない。S560において、音声認識プログラム125がプリント/スキャンプログラム121を起動してもよい。
【0074】
第1文字列等を推測する処理(S200〜S270)は省略することが可能である。第1文字列等の選択肢を生成する処理(S300〜S370)は省略することが可能である。第1文字列等の入力をユーザに要求する処理(S420〜S470)は省略することが可能である。最終確認処理(S510〜S540)は省略することが可能である。画像処理の結果を、音声認識プログラム125を用いてユーザに報告する処理(S600〜S620)は、省略することが可能である。以上より、一般的に言うと、仲介プログラム122は、「テキストデータ取得手段」と、「第1判断手段」と、「第1表示手段」と、「第1指示手段」として、情報処理装置を少なくとも機能させれば良い。具体例としては、仲介プログラム122は、S150と、S170と、S520と、S574およびS580と、を少なくとも実行させればよい。
【0075】
本実施形態で説明した、プリント/スキャンプログラム121と仲介プログラム122との処理の分担態様は、一例であり、他の分担態様であってもよい。例えば、仲介プログラム122の処理の一部をプリント/スキャンプログラム121が実行するとしてもよい。
【0076】
本明細書で説明した「メッセージ送信」などのドメインは一例である。他の種類のドメインに対しても、本明細書の技術を適用することが可能である。
【0077】
プリント/スキャンプログラム121で行われる画像処理は、「印刷」「スキャン」に限られない。他の種類の画像処理が実行される場合においても、本明細書の技術を適用することが可能である。
【0078】
本実施形態では、画像処理を実行させる装置の一例として、MFP51を用いて説明したが、この形態に限られない。ラベルプリンタ、スキャナ、コピー機、等であってもよい。
【0079】
上記の実施例では、情報処理装置100のCPU106が記憶部109内のプログラム120(即ちソフトウェア)を実行することによって、
図2〜
図4の各処理が実現される。これに代えて、
図2〜
図4の各処理のうちの少なくとも1つの処理は、論理回路、集積回路等のハードウェアによって実現されてもよい。
【0080】
CPU106は、コンピュータの一例である。仲介プログラム122は、情報処理プログラムの一例である。プリント/スキャンプログラム121は、画像処理プログラムの一例である。印刷、スキャンは、画像処理の一例である。S150を実行するCPUは、テキストデータ取得手段の一例である。プリント/スキャンプログラム121の名称である「プリントスキャンアプリ」は、第1文字列の一例である。「印刷」「スキャン」は、第2文字列の一例である。S170を実行するCPUは、第1判断手段の一例である。最終動作確認画像は、特定画像の一例である。S520を実行するCPUは、第1表示手段の一例である。S574およびS580を実行するCPUは、第1指示手段の一例である。最終動作確認画像データは、特定画像データの一例である。S600を実行するCPUは、結果情報受信手段の一例である。S610を実行するCPUは、結果情報送信手段の一例である。S210を実行するCPUは、第1文字列生成手段の一例である。S220を実行するCPUは、第1文字列送信手段の一例である。S250を実行するCPUは、第1使用情報受信手段の一例である。S574およびS580を実行するCPUは、第2指示手段の一例である。S210を実行するCPUは、第2文字列生成手段の一例である。S220を実行するCPUは、第2文字列送信手段の一例である。S250を実行するCPUは、第2使用情報受信手段の一例である。S520を実行するCPUは、第2表示手段の一例である。S574およびS580を実行するCPUは、第3指示手段の一例である。S310を実行するCPUは、第1候補文字列生成手段の一例である。S320を実行するCPUは、第1候補文字列送信手段の一例である。S350を実行するCPUは、選択第1文字列情報受信手段の一例である。S574およびS580を実行するCPUは、第4指示手段の一例である。S310を実行するCPUは、第2候補文字列生成手段の一例である。S320を実行するCPUは、第2候補文字列送信手段の一例である。S350を実行するCPUは、選択第2文字列情報受信手段の一例である。S520を実行するCPUは、第3表示手段の一例である。S574およびS580を実行するCPUは、第5指示手段の一例である。S420を実行するCPUは、第1要求情報送信手段の一例である。S450を実行するCPUは、第1文字列受信手段の一例である。S574およびS580を実行するCPUは、第6指示手段の一例である。S420を実行するCPUは、第2要求情報送信手段の一例である。S450を実行するCPUは、第2文字列受信手段の一例である。S520を実行するCPUは、第4表示手段の一例である。S574およびS580を実行するCPUは、第7指示手段の一例である。ドメインは、第1情報の一例である。S150を実行するCPUは、第1情報取得手段の一例である。S576を実行するCPUは、抽出手段の一例である。
【0081】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。