【解決手段】入力支援装置は、利用者が発した音声をテキスト情報に変換するテキスト変換部と、表示画面と、キーワードと、アプリケーションの操作を示す命令とを対応付けた操作定義情報を記憶する操作定義情報記憶部から、現在の表示画面に対して、テキスト変換部が変換したテキスト情報に含まれるキーワードに対応付けられている命令を取得し、取得した命令を、アプリケーションに送信して実行させる支援処理部とを備える。
前記支援処理部は、前記利用者が途中まで発した音声を変換した途中テキスト情報を前記テキスト変換部から取得し、取得した前記途中テキスト情報と、前記アプリケーションに過去に送信した前記命令の履歴情報とに基づいて、前記テキスト情報の候補を提示する
ことを特徴とする請求項1から請求項8のいずれか一項に記載の入力支援装置。
【発明を実施するための形態】
【0020】
以下、本発明の実施形態による入力支援装置、及び入力支援方法について、図面を参照して説明する。
【0021】
[第1の実施形態]
図1は、本実施形態による入力支援装置1の一例を示すブロック図である。
図1に示すように、入力支援装置1は、マイク11と、スピーカ12と、記憶部13と、制御部14とを備えている。入力支援装置1は、利用者の音声を利用して、キーボードやマウスなどの入力操作を代行して、アプリケーション20への入力処理を支援する。入力支援装置1は、例えば、端末装置2と接続されており、利用者の音声に応じた命令(コマンド)を端末装置2が実行するアプリケーションに送信する。
【0022】
端末装置2は、例えば、パーソナルコンピュータなどの利用者が各種アプリケーションを実行するコンピュータ装置であり、入力部21と、表示部22と、記憶部23と、制御部24とを備えている。
【0023】
入力部21は、例えば、キーボードやタッチパネルなどの入力装置であり、利用者の入力情報を受け付ける。入力部21は、受け付けたユーザの入力情報を制御部24に出力する。
表示部22は、例えば、液晶ディスプレイ装置などであり、各種情報を表示する。表示部22は、後述しるアプリケーション20によって、各種表示画面を表示する。
【0024】
記憶部23は、端末装置2が利用する各種情報を記憶する。記憶部23は、例えば、アプリケーション20が利用する情報を記憶する。
制御部24は、例えば、CPU(Central Processing Unit)などを含むプロセッサであり、端末装置2を統括的に制御する。制御部24は、アプリケーション20を実行し、アプリケーション20によって、入力部21が受け付けた入力情報、又は入力支援装置1から送信された命令により各種処理を実行するとともに、表示部22に各種情報(表示画面)を表示させる。
【0025】
なお、本実施形態において、アプリケーション20は、例えば、業務アプリケーションなどであり、制御部24によって実現される機能部として説明する。
【0026】
マイク11(収音部の一例)は、入力支援装置1の周辺の音を収音する。マイク11は、利用者が音声によりアプリケーション20を操作する際に、利用者が発した音声を収音する。
スピーカ12は、利用者に向けた各種音声(例えば、利用者への聞き返しや質問などの音声)を出力する。
【0027】
記憶部13は、入力支援装置1が利用する各種情報を記憶する。記憶部13は、操作定義情報記憶部131と、履歴情報記憶部132と、一括定義情報記憶部133と、入力順序記憶部134とを備えている。
【0028】
操作定義情報記憶部131は、音声による操作を実行するためのルール情報を記憶する。操作定義情報記憶部131は、キーワードに対応して、アプリケーション20に送信する命令(コマンド)を定義した、操作定義情報及び共通定義情報を記憶する。
操作定義情報記憶部131は、例えば、
図2に示すように、表示画面と、キーワードと、アプリケーション20の操作を示す命令とを対応付けた操作定義情報を記憶する。
【0029】
図2は、本実施形態における操作定義情報のデータ例を示す図である。この図に示すように、操作定義情報記憶部131は、「表示画面」と、「キーワード」と、「命令」と、「操作内容」とを対応付けた操作定義情報を複数記憶している。
ここで、「表示画面」は、アプリケーション20の表示画面を示し、「キーワード」は、利用者が発した音声に含まれるキーワードを示している。また、「命令」は、アプリケーション20の操作のために、アプリケーション20に送信する命令(コマンド)を示し、「操作内容」は、「命令」の操作内容を示している。
【0030】
図2に示す例では、例えば、「表示画面」が“ログイン画面”である場合に、「キーワード」として“「ID」を「選択」”が含まれる音声に対して、「ID」の入力欄を選択する「命令」“oncursol_id”を送信することを示している。また、「キーワード」として“「パスワード」を「選択」”が含まれる音声に対して、「パスワード」の入力欄を選択する「命令」“oncursol_password”を送信することを示している。
【0031】
なお、「キーワード」は、複数の単語を含む“「ID」を「選択」”をキーワードとしてもよいし、単語である「ID」及び「選択」をキーワードとしてもよい。
また、操作定義情報には、1つの命令に複数のキーワードが対応付けられている類似定義情報が含まれるようにしてもよい。すなわち、「表示画面」が“メニュー3”の「命令」が“menu3_reg”(「登録ボタン」を押す)に示すように、1つの「命令」に対して、“「登録ボタン」の「押下」”、“「登録ボタン」を「クリック」”、及び“「登録ボタン」を「押す」”の3つの「キーワード」が対応付けられてもよい。この場合、“「登録ボタン」の「押下」”、“「登録ボタン」を「クリック」”、及び“「登録ボタン」を「押す」”は、類似語に対応し、当該操作定義情報は、類似定義情報に対応する。
【0032】
また、操作定義情報記憶部131は、例えば、
図3に示すように、全ての表示画面に対して共通のキーワードと命令とを対応付けた共通定義情報を記憶する。
図3は、本実施形態における共通定義情報のデータ例を示す図である。この図に示すように、操作定義情報記憶部131は、「キーワード」と、「命令」と、「操作内容」とを対応付けた共通定義情報を複数記憶している。
図3に示す例では、例えば、「キーワード」の“「エンター」”に対応する「命令」が「Enter」キーを押下する“RETURN”であることを示している。
【0033】
図1の説明に戻り、履歴情報記憶部132は、入力支援装置1がアプリケーション20に送信した命令の履歴情報を記憶する。履歴情報記憶部132は、例えば、命令の送信日時、入力された音声のテキスト情報、表示画面を示す情報、及び命令などを対応付けて、履歴情報として記憶する。
【0034】
一括定義情報記憶部133は、送信された命令を所定の単位でまとめて、キーワードを付与した一括定義情報を記憶する。ここで、所定の単位は、例えば、一連の作業、同一の日、最新の入力処理、同一の時間帯などである。一括定義情報記憶部133は、例えば、
図4に示すように、「キーワード」と、「命令」とを対応付けて一括定義情報として記憶する。
【0035】
図4は、本実施形態における一括定義情報記憶部133のデータ例を示す図である。
図4に示す例では、例えば、「キーワード」の“昨日と同じ登録”に対して、昨日の登録において実行された一連の命令(・・・、“open_menu1”、・・・)が定義されている。なお、命令には、各種の入力項目に対して入力された入力値も含まれる。
また、例えば、「キーワード」の“朝の作業”に対して、「命令」に“昨日と同じ登録”と、“○○○でメール読み上げ”とが定義されている。この場合の“昨日と同じ登録”及び“○○○でメール読み上げ”は、一連の処理が定義されているキーワードである。このように、一括定義情報には、ネスティング(入れ子構造)により命令を定義することが可能である。
【0036】
再び、
図1の説明に戻り、入力順序記憶部134は、表示画面において入力値を入力する入力項目の順序情報を記憶する。入力順序記憶部134は、例えば、表示画面と、入力項目のリスト(順序)とを対応付けて順序情報として記憶する。
【0037】
制御部14は、例えば、CPUなどを含むプロセッサであり、入力支援装置1を統括的に制御する。制御部14は、例えば、マイク11が収音した利用者の音声に基づいて、アプリケーション20に命令を送信する。また、制御部14は、例えば、利用者に、応答や各種情報の提示のための音声を合成して、スピーカ12から出力させる。
制御部14は、テキスト変換部141と、支援処理部142と、音声合成部143とを備えている。
【0038】
テキスト変換部141は、マイク11が収音した利用者の音声を音声認識により音声テキストデータであるテキスト情報に変換する。
支援処理部142は、テキスト変換部141がテキスト変換したテキスト情報に基づいて、命令を生成し、当該命令をアプリケーション20に送信する。支援処理部142は、例えば、操作定義情報記憶部131の操作定義情報から、現在の表示画面に対して、テキスト変換部141が変換したテキスト情報に含まれるキーワードに対応付けられている命令を取得し、取得した命令を、アプリケーション20に送信して実行させる。ここで、操作定義情報は、ポインティングデバイスの代わりの位置指定やメニュー選択などの操作などに用いられる。
【0039】
また、支援処理部142は、操作定義情報から命令を取得できなかった場合に、例えば、操作定義情報記憶部131の共通定義情報から、テキスト変換部141が変換したテキスト情報に含まれるキーワードに対応付けられている全ての表示画面に共通の命令を取得する。支援処理部142は、取得した共通の命令を、アプリケーション20に送信して実行させる。
【0040】
また、支援処理部142は、操作定義情報記憶部131から、現在の表示画面に対して、キーワードに対応付けられている命令を取得できなかった場合に、テキスト変換部141が変換したテキスト情報を、入力値として含む入力命令を、命令としてアプリケーション20に送信する。すなわち、支援処理部142は、テキスト情報に含まれる単語又は複数の単語の組合せをキーワードとして、当該キーワードに対応する命令を取得できなかった場合には、テキスト情報を入力値とした入力命令を、アプリケーション20に送信する。
【0041】
また、支援処理部142は、アプリケーション20に送信した命令の履歴情報に基づいて、送信された命令を所定の単位でまとめて、キーワードを付与した一括定義情報を、一括定義情報記憶部133に記憶させる(
図4参照)。そして、支援処理部142は、テキスト変換部141が変換したテキスト情報に含まれるキーワードが、所定の単位に付与されたキーワードと一致する場合に、一括定義情報記憶部133が記憶する一括定義情報に基づいて、命令をアプリケーション20に送信する。
【0042】
具体的に、支援処理部142は、例えば、テキスト情報に「昨日と同じ登録」が含まれていた場合には、上述した
図4に示すキーワード“昨日と同じ登録”に対応付けられた一連の命令を順次アプリケーション20に送信する。なお、この一連の命令の中には、“2”や“XXXX”などの入力値を送信する入力命令も含まれる。
【0043】
また、支援処理部142は、例えば、テキスト情報に「朝の作業」が含まれていた場合には、上述した
図4に示すキーワード“朝の作業”に対応付けられた一連の命令を順次アプリケーション20に送信する。この場合、命令は、“昨日と同じ登録”及び“○○○でメール読み上げ”とキーワードになっており、支援処理部142は、命令として記載されたキーワードに対応する一連の命令を、順次アプリケーション20に送信する。このように、支援処理部142は、一括定義情報記憶部133が記憶する一括定義情報に基づいて、ネスティングにより命令をアプリケーション20に送信する。
【0044】
また、支援処理部142は、例えば、テキスト情報に「最新のファイルを開く」が含まれていた場合には、一括定義情報記憶部133が記憶する一括定義情報に基づいて、「最新のファイルを開く」命令をアプリケーション20に送信する。ここで、一括定義情報には、「キーワード」の“最新のファイルを開く”に対応付けて、最新の更新ファイル名の情報を含むファイルを開く命令が設定されており、更新ファイル名の情報は、適宜更新されるものとする。
【0045】
また、支援処理部142は、一括定義情報に基づいて、命令を送信する際に、表示画面における入力項目に対して、一括定義情報に含まれる命令による入力項目が不適切である場合に、不適切な入力項目に対する入力を促す情報を利用者に提示する。ここで、入力項目が不適切である場合とは、例えば、入力項目が不足している又は余剰に存在している場合、入力値が不適切な場合などである。このような場合に、支援処理部142は、利用者に聞き返す又は問合せるためのテキスト情報を後述する音声合成部143に音声信号に変換させて、スピーカ12から当該音声を利用者に向けて出力させる。
【0046】
また、支援処理部142は、一括定義情報に基づいて、命令を順次送信する際に、中断を示すキーワードが含まれているテキスト情報をテキスト変換部141から取得した場合に、命令の送信を中断する。支援処理部142は、例えば、利用者が、「ちょっと止めて」、「ストップ」などの中断する音声を発した場合に、一括定義情報に基づく命令の送信を中断する。
なお、支援処理部142は、中断と同様に、一括定義情報に基づく一連の命令の中断中に、再開を示すキーワードが含まれているテキスト情報をテキスト変換部141から取得した場合に、命令の送信を再開するようにしてもよい。
【0047】
また、支援処理部142は、テキスト変換部141が変換したテキスト情報に、次の入力項目に進めるキーワードが含まれる場合に、表示画面において入力値を入力する入力項目の順序情報に基づいて、指定されている現在の入力項目の次の入力項目を指定する命令を、アプリケーション20に送信する。例えば、テキスト情報に、キーワードの「次の項目」が含まれる場合に、支援処理部142は、
図4の“次に項目”に対応する“次の入力欄に移動”する命令を、アプリケーション20に送信する。この場合、支援処理部142は、例えば、入力順序記憶部134が記憶する順序情報に基づいて、“次の入力欄に移動”する命令を生成して、当該命令をアプリケーション20に送信する。
【0048】
音声合成部143は、テキスト情報を音声信号に変換して、スピーカ12に出力する。音声合成部143は、例えば、支援処理部142から利用者に対する応答(問合せなど)のテキスト情報を取得し、取得したテキスト情報を音声信号に変換して、スピーカ12に出力する。
【0049】
次に、図面を参照して、本実施形態による入力支援装置1の動作について説明する。
図5は、本実施形態による入力支援装置1の動作の一例を説明する図である。
図5に示すように、入力支援装置1は、まず、音声を受信したか否かを判定する(ステップS101)。入力支援装置1の制御部14は、マイク11が、利用者の音声を収音(受信)したか否かによって、音声を受信したか否かを判定する。制御部14は、音声を受信した場合(ステップS101:YES)に、処理をステップS102に進める。また、制御部14は、音声を受信していない場合(ステップS101:NO)に、処理をステップS101に戻す。
【0050】
ステップS102において、制御部14のテキスト変換部141は、受信した音声をテキスト変換する。テキスト変換部141は、マイク11が収音した利用者の音声を、テキスト情報に変換する。
次に、制御部14の支援処理部142は、表示画面を示す情報を取得する(ステップS103)。支援処理部142は、例えば、アプリケーション20から、現在の表示画面を示す情報を取得する。
【0051】
次に、支援処理部142は、操作定義情報記憶部131を検索して(ステップS104)、表示画面及びキーワードに対応付けられた命令があるか否かを判定する(ステップS105)。すなわち、支援処理部142は、現在の表示画面と、テキスト変換部141が変換したテキスト情報に含まれるキーワードとに対応する命令が、操作定義情報記憶部131にあるか否かを判定する。支援処理部142は、表示画面及びキーワードに対応付けられた命令がある場合(ステップS105:YES)に、処理をステップS106に進める。また、支援処理部142は、表示画面及びキーワードに対応付けられた命令がない場合(ステップS105:NO)に、処理をステップS107に進める。
【0052】
ステップS106において、支援処理部142は、表示画面及びキーワードに対応する命令を、操作定義情報記憶部131から取得して、取得した命令をアプリケーション20に送信する。すなわち、支援処理部142は、操作定義情報及び共通定義情報からテキスト情報に含まれるキーワードと一致する命令を取得し、取得した命令をアプリケーション20に送信する。ステップS106の処理後に、支援処理部142は、処理をステップS111に進める。
【0053】
また、ステップS107において、支援処理部142は、一括定義情報記憶部133を検索し、キーワードに対応付けられた一括定義情報があるか否かを判定する(ステップS108)。支援処理部142は、テキスト変換部141が変換したテキスト情報に含まれるキーワードと一致する一括定義情報が一括定義情報記憶部133にあるか否かを判定する。支援処理部142は、キーワードに対応付けられた一括定義情報がある場合(ステップS108:YES)に、処理をステップS109に進める。また、支援処理部142は、キーワードに対応付けられた一括定義情報がない場合(ステップS108:NO)に、処理をステップS110に進める。
【0054】
ステップS109において、支援処理部142は、一括定義情報に基づいて、アプリケーション20に順次命令を送信する。すなわち、支援処理部142は、例えば、
図4に示す一括定義情報による一連の命令をアプリケーション20に送信する。
なお、支援処理部142は、
図4の「キーワード」の“朝の作業”に対応する一括定義情報のように、ネスティングにより命令をアプリケーション20に送信してもよい。また、支援処理部142は、
図4の「キーワード」の“次の項目” に対応する一括定義情報のように、例えば、入力順序記憶部134が記憶する順序情報に基づいて、“次の入力欄に移動”する命令を生成して、当該命令をアプリケーション20に送信するようにしてもよい。ステップS109の処理後に、支援処理部142は、処理をステップS111に進める。
【0055】
また、ステップS110において、支援処理部142は、テキスト情報を入力値とした命令をアプリケーション20に送信する。支援処理部142は、テキスト変換部141が変換したテキスト情報をそのまま入力値とする入力命令を、アプリケーション20に送信する。
【0056】
次に、ステップS111において、支援処理部142は、命令の履歴情報を履歴情報記憶部132に記憶させる。
次に、支援処理部142は、一括定義情報を登録するか否かを判定する(ステップS112)。支援処理部142は、例えば、一括定義情報が定義する一連の命令に含まれる入力値やファイル名などの更新が必要であるか否か、利用者によって、新たな一括定義情報を登録(更新)する登録要求があるか否かなどによって、一括定義情報を登録するか否かを判定する。支援処理部142は、一括定義情報を登録(更新)する場合(ステップS112:YES)に、処理をステップS113に進める。また、支援処理部142は、一括定義情報を登録(更新)しない場合(ステップS112:NO)に、処理をステップS101に戻し、次の音声の受信を待つ。
【0057】
ステップS113において、支援処理部142は、一括定義情報を登録する。支援処理部142は、例えば、履歴情報記憶部132が記憶する命令の履歴情報に基づいて、一括定義情報記憶部133に、一括定義情報を登録又は更新する。また、利用者の要求により、一括定義情報を登録する場合には、支援処理部142は、例えば、利用者に指定された一括定義情報を、履歴情報記憶部132に記憶させる。ステップS113の処理後に、支援処理部142は、処理をステップS101に戻し、次の音声の受信を待つ。
【0058】
次に、
図6〜
図10を参照して、本実施形態による入力支援装置1のより具体的な動作について説明する。
図6は、本実施形態による入力支援装置1の動作の一例を説明する図である。この図では、利用者U1の音声入力により、アプリケーション20の「○○システム」における住所の登録処理を操作する場合の一例について説明する。
【0059】
図6において、まず、利用者U1は、音声入力により“「○○システム」の「起動」”を入力支援装置1に発音する(ステップS201)。これにより、入力支援装置1のマイク11が利用者U1の音声を収音し、テキスト変換部141が音声をテキスト情報に変換する。
【0060】
次に、入力支援装置1は、命令(○○.exe)を端末装置2(アプリケーション20)に送信する(ステップS202)。入力支援装置1の支援処理部142は、テキスト変換部141が変換したテキスト情報のキーワード“「○○システム」の「起動」”に対応する命令(○○.exe)を、操作定義情報記憶部131(
図2の操作定義情報を参照)から取得する。そして、支援処理部142は、取得した命令(○○.exe)を端末装置2に送信する。
【0061】
次に、端末装置2は、トップページを表示する(ステップS203)。端末装置2は、入力支援装置1から送信された命令(○○.exe)を実行し、「○○システム」(アプリケーション20)を起動して、アプリケーション20は、
図7に示すような「○○システム」のトップページ(表示画面G1)を、表示部22に表示させる。
【0062】
次に、アプリケーション20は、画面情報(トップページ)を入力支援装置1に送信する(ステップS204)。すなわち、アプリケーション20は、トップページ(表示画面G1)を示す情報を、入力支援装置1に送信し、入力支援装置1は、トップページ(表示画面G1)を示す情報を取得する。
【0063】
次に、利用者U1は、音声入力により“「メニュー3」を「クリック」”を入力支援装置1に発音する(ステップS205)。すなわち、端末装置2の表示部22が、トップページ(表示画面G1)を表示していることを確認した利用者U1は、メニュー3を選択するために、“「メニュー3」を「クリック」”を入力支援装置1に向けて発音する。
【0064】
次に、入力支援装置1は、命令(open_menu3)をアプリケーション20に送信する(ステップS206)。支援処理部142は、テキスト変換部141が変換したテキスト情報のキーワード“「メニュー3」を「クリック」”に対応する命令(open_menu3)を、操作定義情報記憶部131(
図2の操作定義情報を参照)から取得する。そして、支援処理部142は、取得した命令(open_menu3)をアプリケーション20に送信する。
【0065】
次に、アプリケーション20は、メニュー3を表示する(ステップS207)。アプリケーション20は、命令(open_menu3)を受け付けて、
図8に示すようなメニュー3の画面(表示画面G2)を表示部22に表示させる。
【0066】
次に、アプリケーション20は、画面情報(メニュー3)を入力支援装置1に送信する(ステップS208)。すなわち、アプリケーション20は、メニュー3の画面(表示画面G2)を示す情報を、入力支援装置1に送信し、入力支援装置1は、メニュー3の画面(表示画面G2)を示す情報を取得する。
【0067】
次に、利用者U1は、音声入力により“「住所」を「選択」”を入力支援装置1に発音する(ステップS209)。すなわち、端末装置2の表示部22が、メニュー3の画面(表示画面G2)を表示していることを確認した利用者U1は、「住所」の入力欄を選択するために、“「住所」を「選択」”を入力支援装置1に向けて発音する。
【0068】
次に、入力支援装置1は、命令(menu3_oncursol_address)をアプリケーション20に送信する(ステップS210)。支援処理部142は、テキスト変換部141が変換したテキスト情報のキーワード“「住所」を「選択」”に対応する命令(menu3_oncursol_address)を、操作定義情報記憶部131(
図2参照)から取得する。そして、支援処理部142は、取得した命令(menu3_oncursol_address)をアプリケーション20に送信する。
【0069】
次に、アプリケーション20は、「住所」の入力欄を選択する(ステップS211)。アプリケーション20は、命令(menu3_oncursol_address)を受け付けて、
図8の表示画面G2に示すように、カーソルを「住所」の入力欄に移動させる。
【0070】
次に、利用者U1は、音声入力により“「とうきょうとみなとくこうなん」”を入力支援装置1に発音する(ステップS212)。すなわち、アプリケーション20が、メニュー3の画面(表示画面G2)において、カーソルを「住所」の入力欄に移動したことを確認した利用者U1は、「住所」の入力欄に入力値を入力するために、“「とうきょうとみなとくこうなん」”を入力支援装置1に向けて発音する。
【0071】
次に、入力支援装置1は、入力命令(“とうきょうとみなとくこうなん”)をアプリケーション20に送信する(ステップS213)。ここでは、支援処理部142は、操作定義情報、共通定義情報、及び一括定義情報のいずれにもキーワード“「とうきょうとみなとくこうなん」”と一致するものがないため、テキスト情報を直接の入力値として、入力命令(“とうきょうとみなとくこうなん”)をアプリケーション20に送信する。
【0072】
次に、アプリケーション20は、入力テキストを表示する(ステップS214)。アプリケーション20は、入力命令(“とうきょうとみなとくこうなん”)を受け付けて、「住所」の入力欄に“とうきょうとみなとくこうなん”を表示する。
【0073】
次に、利用者U1は、音声入力により“「変換」”を入力支援装置1に発音する(ステップS215)。すなわち、アプリケーション20が、「住所」の入力欄に“とうきょうとみなとくこうなん”を表示したことを確認した利用者U1は、“とうきょうとみなとくこうなん”を漢字に変換するために、“「変換」”を入力支援装置1に向けて発音する。
【0074】
次に、入力支援装置1は、命令(CONVERT)をアプリケーション20に送信する(ステップS216)。支援処理部142は、テキスト変換部141が変換したテキスト情報のキーワード“「変換」”に対応する命令(CONVERT)を、操作定義情報記憶部131(
図3の共通定義情報を参照)から取得する。そして、支援処理部142は、取得した命令(CONVERT)をアプリケーション20に送信する。
【0075】
次に、アプリケーション20は、入力テキストを変換する(ステップS217)。アプリケーション20は、命令(CONVERT)を受け付けて、「住所」の入力欄に“とうきょうとみなとくこうなん”を、
図9の表示画面G3に示すように、漢字の“東京都港区港南”に変換する。
【0076】
次に、利用者U1は、音声入力により“「確定」”を入力支援装置1に発音する(ステップS218)。すなわち、アプリケーション20が、「住所」の入力欄に“東京都港区港南”を表示したことを確認した利用者U1は、入力値を確定ために、“「確定」”を入力支援装置1に向けて発音する。
【0077】
次に、入力支援装置1は、命令(RETURN)をアプリケーション20に送信する(ステップS219)。支援処理部142は、テキスト変換部141が変換したテキスト情報のキーワード“「登録ボタン」を「クリック」”に対応する命令(RETURN)を、操作定義情報記憶部131(共通定義情報)から取得する。そして、支援処理部142は、取得した命令(RETURN)をアプリケーション20に送信する。これにより、アプリケーション20は、入力テキストを確定する。
【0078】
次に、利用者U1は、音声入力により“「登録ボタン」を「クリック」”を入力支援装置1に発音する(ステップS220)。すなわち、利用者U1は、入力値を登録ために、“「登録ボタン」を「クリック」”を入力支援装置1に向けて発音する。
【0079】
次に、入力支援装置1は、命令(menu3_reg)をアプリケーション20に送信する(ステップS221)。支援処理部142は、テキスト変換部141が変換したテキスト情報のキーワード“「登録ボタン」を「クリック」”に対応する命令(menu3_reg)を、操作定義情報記憶部131(
図2の操作定義情報を参照)から取得する。そして、支援処理部142は、取得した命令(menu3_reg)をアプリケーション20に送信する。
【0080】
次に、アプリケーション20は、登録処理を実行する(ステップS222)。アプリケーション20は、命令(menu3_reg)を受け付けて、登録処理を実行する。
次に、アプリケーション20は、トップページを表示する(ステップS223)。アプリケーション20は、再び
図7に示すような「○○システム」のトップページ(表示画面G1)を、表示部22に表示させる。
【0081】
次に、アプリケーション20は、画面情報(トップページ)を入力支援装置1に送信する(ステップS224)。すなわち、アプリケーション20は、トップページ(表示画面G1)を示す情報を、入力支援装置1に送信し、入力支援装置1は、トップページ(表示画面G1)を示す情報を取得する。
【0082】
また、
図10は、本実施形態による入力支援装置1の一括処理の動作の一例を説明する図である。この図では、上述した
図6により説明した処理と同一の処理を一括定義情報に基づく一括処理により実行させる場合の一例である。
【0083】
図10において、まず、利用者U1は、音声入力により“「○○システム」に「昨日と同じ登録」”を入力支援装置1に発音する(ステップS301)。これにより、入力支援装置1のマイク11が利用者U1の音声を収音し、テキスト変換部141が音声をテキスト情報に変換する。
【0084】
次に、入力支援装置1は、命令(○○.exe)を端末装置2(アプリケーション20)に送信する(ステップS302)。入力支援装置1の支援処理部142は、テキスト変換部141が変換したテキスト情報のキーワード“「昨日と同じ登録」”に対応する一括定義情報(
図4の一括定義情報を参照)に基づいて、命令(○○.exe)を端末装置2に送信する。
【0085】
次に、端末装置2は、トップページを表示する(ステップS303)。端末装置2は、入力支援装置1から送信された命令(○○.exe)を実行し、「○○システム」(アプリケーション20)を起動して、アプリケーション20は、
図7に示すような「○○システム」のトップページ(表示画面G1)を、表示部22に表示させる。
【0086】
次に、支援処理部142は、キーワード“「昨日と同じ登録」”に対応する一括定義情報(
図4の一括定義情報を参照)に基づいて、命令(open_menu3)をアプリケーション20に送信する(ステップS304)。
次に、アプリケーション20は、命令(open_menu3)を受け付けて、メニュー3を表示する(ステップS305)。
【0087】
このように、支援処理部142は、キーワード“「昨日と同じ登録」”に対応する一括定義情報(
図4の一括定義情報を参照)に基づいて、順次命令をアプリケーション20に送信し、最後に、命令(menu3_reg)をアプリケーション20に送信する(ステップS306)。
次に、アプリケーション20は、命令(menu3_reg)を受け付けて、登録処理を実行し(ステップS307)、再び
図7に示すような「○○システム」のトップページ(表示画面G1)を、表示部22に表示させる(ステップS308)。
【0088】
なお、
図10に示す一例において、一括定義情報に基づく一括処理の途中で、利用者U1が、音声入力により“「ストップ」”などの中断する音声を発した場合に、支援処理部142は、一括定義情報に基づく命令の送信を中断する。
また、支援処理部142は、中断と同様に、一括定義情報に基づく一連の命令の中断中に、利用者U1が、音声入力により再開を示すキーワードを発した場合に、命令の送信を再開する。
【0089】
以上説明したように、本実施形態による入力支援装置1は、テキスト変換部141と、支援処理部142とを備える。テキスト変換部141は、利用者が発した音声をテキスト情報に変換する。支援処理部142は、表示画面と、キーワードと、アプリケーション20の操作を示す命令とを対応付けた操作定義情報を記憶する操作定義情報記憶部131から、現在の表示画面に対して、テキスト変換部141が変換したテキスト情報に含まれるキーワードに対応付けられている命令を取得する。そして、支援処理部142は、取得した命令を、アプリケーション20に送信して実行させる。
【0090】
これにより、本実施形態による入力支援装置1は、例えば、ポインティングデバイスの代わりの操作を行う場合に、操作定義情報を利用してキーワードにより所望の位置を指定(選択)できるため、利用者の音声による操作性を向上させることができる。また、本実施形態による入力支援装置1は、表示画面に対応するキーワードにより操作するため、業務アプリケーション等の汎用アプリケーションの操作に容易に対応することができる。
本実施形態による入力支援装置1は、例えば、手指等にハンディキャップを有する利用者が操作する場合や、建設業や製造業などの両手を使用している状態で各種の操作を行う必要がある場合などにおいて、利用者の音声により安全且つ適切に操作を行うことができる。
【0091】
また、本実施形態では、操作定義情報記憶部131は、操作定義情報、及び、全ての表示画面に対して共通のキーワードと命令とを対応付けた共通定義情報を記憶する。支援処理部142は、操作定義情報記憶部131から、現在の表示画面に対して、キーワードに対応付けられている命令を取得できなかった場合に、テキスト変換部141が変換したテキスト情報を、入力値として含む入力命令を、命令としてアプリケーション20に送信する。
これにより、本実施形態による入力支援装置1は、全ての表示画面に対して共通のキーワードの音声入力により、アプリケーション20を操作することができるとともに、操作定義情報記憶部131に一致するキーワードがない場合に、テキスト情報を、入力値として、アプリケーション20に送信することができる。よって、本実施形態による入力支援装置1は、利用者の音声による操作性をさらに向上させることができる。
【0092】
また、本実施形態では、支援処理部142は、アプリケーション20に送信した命令の履歴情報に基づいて、送信された命令を所定の単位でまとめて、キーワードを付与した一括定義情報を、一括定義情報記憶部133に記憶させる。そして、支援処理部142は、テキスト変換部141が変換したテキスト情報に含まれるキーワードが、所定の単位に付与されたキーワードと一致する場合に、一括定義情報記憶部133が記憶する一括定義情報に基づいて、命令をアプリケーション20に送信する。なお、所定の単位には、例えば、一連の作業、同一の日、最新の入力処理、同一の時間帯などが含まれる。
これにより、本実施形態による入力支援装置1は、過去に実行した操作を、一括定義情報により一括処理させることが可能になり、操作性をさらに向上させることができる。
【0093】
また、本実施形態では、支援処理部142は、一括定義情報に基づいて、命令を送信する際に、表示画面における入力項目に対して、一括定義情報に含まれる命令による入力項目が不適切である場合に、不適切な入力項目に対する入力を促す情報(例えば、聞き直しや問合せを示す情報など)を利用者に提示する。
これにより、本実施形態による入力支援装置1は、不適切な入力項目を利用者に提示しながら、一括処理させることができるため、利便性を向上させることができる。
【0094】
また、本実施形態では、支援処理部142は、一括定義情報に基づいて、命令を順次送信する際に、中断を示すキーワードが含まれているテキスト情報をテキスト変換部141から取得した場合に、命令の送信を中断する。
これにより、本実施形態による入力支援装置1は、一括定義情報に基づく一連の操作を中断して、例えば、操作内容の確認、操作内容の変更(修正)を行うことができるため、利便性を向上させることができる。
【0095】
また、本実施形態では、操作定義情報には、1つの命令に複数のキーワードが対応付けられている類似定義情報が含まれる(例えば、
図2の“menu3_reg”を参照)。
これにより、本実施形態による入力支援装置1は、類似語や、利用者の発音の揺らぎなどを吸収しつつ、利用者の音声による操作を適切におこなうことができ、利便性をさらに向上させることができる。
【0096】
また、本実施形態では、支援処理部142は、テキスト変換部141が変換したテキスト情報に、次の入力項目に進めるキーワードが含まれる場合に、表示画面において入力値を入力する入力項目の順序情報に基づいて、指定されている現在の入力項目の次の入力項目を指定する命令を、アプリケーション20に送信する。
これにより、本実施形態による入力支援装置1は、例えば、“次の入力項目”などの簡略化したキーワードにより、入力欄の指定(選択)を移動できるため、さらに操作性及び利便性を向上させることができる。
【0097】
また、本実施形態では、一括定義情報は、ネスティング(入れ子構造)により命令を定義してもよい。
これにより、本実施形態による入力支援装置1は、さらに短縮したキーワードにより、複雑な操作が可能になるため、利便性を向上させることができる。
【0098】
また、本実施形態による入力支援方法は、テキスト変換ステップと、支援処理ステップとを含む。テキスト変換ステップにおいて、テキスト変換部141が、利用者が発した音声をテキスト情報に変換する。支援処理ステップにおいて、支援処理部142が、表示画面と、キーワードと、アプリケーション20の操作を示す命令とを対応付けた操作定義情報を記憶する操作定義情報記憶部131から、現在の表示画面に対して、テキスト変換ステップによって変換されたテキスト情報に含まれるキーワードに対応付けられている命令を取得し、取得した命令を、アプリケーション20に送信して実行させる。
これにより、本実施形態による入力支援方法は、上述した入力支援装置1と同様の効果を奏し、利用者の音声による操作性を向上させることができる。
【0099】
[第2の実施形態]
次に、図面を参照して、第2の実施形態による入力支援装置1aについて説明する。本実施形態では、操作定義情報及び一括定義情報が、利用者ごとに設定されている場合の変形例について説明する。
【0100】
図11は、本実施形態による入力支援装置1aの一例を示すブロック図である。
図11に示すように、入力支援装置1aは、マイク11と、スピーカ12と、記憶部13aと、制御部14aとを備えている。
なお、この図において、
図1と同一の構成は、同一の符号を付与して、その説明を省略する。
【0101】
記憶部13aは、入力支援装置1aが利用する各種情報を記憶する。記憶部13aは、操作定義情報記憶部131aと、履歴情報記憶部132と、一括定義情報記憶部133aと、入力順序記憶部134とを備えている。
【0102】
操作定義情報記憶部131aは、音声による操作を実行するためのルール情報を記憶する。操作定義情報記憶部131aは、キーワードに対応して、アプリケーション20に送信する命令(コマンド)を定義した、操作定義情報及び共通定義情報を記憶する。
操作定義情報記憶部131aは、例えば、
図12に示すように、利用者ごとに操作定義情報を記憶している。
【0103】
図12は、本実施形態における操作定義情報のデータ例を示す図である。この図に示すように、操作定義情報記憶部131aは、「利用者ID」と、「表示画面」と、「キーワード」と、「命令」と、「操作内容」とを対応付けた操作定義情報を複数記憶している。
ここで、「利用者ID」は、利用者を識別する識別情報である。
【0104】
図12に示す例では、例えば、「利用者ID」が“U0001”であり、「表示画面」が“ログイン画面”である場合に、「キーワード」として“「ID」を「選択」”が含まれる音声に対して、「ID」の入力欄を選択する「命令」“oncursol_id”を送信することを示している。
操作定義情報記憶部131aは、利用者ごとに異なる操作定義情報を設定可能である。なお、操作定義情報記憶部131aが記憶する共通定義情報については、上述した第1の実施形態と同様であるため、ここではその説明を省略する。
【0105】
一括定義情報記憶部133aは、送信された命令を所定の単位でまとめて、キーワードを付与した一括定義情報を利用者ごとに記憶する。ここで、所定の単位は、第1の実施形態と同様であり、例えば、一連の作業、同一の日、最新の入力処理、同一の時間帯などである。一括定義情報記憶部133aは、例えば、
図13に示すように、「利用者ID」と、「キーワード」と、「命令」とを対応付けて一括定義情報として記憶する。
【0106】
図13は、本実施形態における一括定義情報記憶部133aのデータ例を示す図である。
図13に示す例では、例えば、「利用者ID」が“U0001”である場合における「キーワード」の“昨日と同じ登録”に対して、昨日の登録において実行された一連の命令(・・・、“open_menu1”、・・・)が定義されている。
このように、一括定義情報記憶部133aは、利用者ごとに、一括定義情報を記憶する。
【0107】
制御部14aは、例えば、CPUなどを含むプロセッサであり、入力支援装置1aを統括的に制御する。制御部14aは、テキスト変換部141と、支援処理部142aと、音声合成部143と、利用者判定部144とを備えている。
利用者判定部144は、マイク11が収音した利用者の音声を取得して、例えば、声紋などの既存の音声認識技術を利用して、利用者を判定する。
【0108】
支援処理部142aは、テキスト変換部141がテキスト変換したテキスト情報に基づいて、命令を生成し、当該命令をアプリケーション20に送信する。支援処理部142aの基本的な機能は、上述した第1の実施形態の支援処理部142と同様である。支援処理部142aは、利用者判定部144が判定した利用者を示す情報(例えば、利用者IDなど)を取得する。支援処理部142aは、取得した利用者を示す情報及びテキスト変換部141が変換したテキスト情報に基づいて、テキスト変換部141が利用者に対応する音声を変換したテキスト情報に含まれるキーワードに対応付けられている命令を、操作定義情報記憶部131aが記憶している当該利用者に対応する操作定義情報のうちから取得する。
【0109】
また、支援処理部142aは、アプリケーション20に送信した命令の履歴情報に基づいて、送信された命令を所定の単位でまとめて、キーワードを付与した一括定義情報を、利用者ごとに、一括定義情報記憶部133aに記憶させる(
図13参照)。そして、支援処理部142aは、テキスト変換部141が変換したテキスト情報に含まれるキーワード及び利用者が、利用者ごとの一括定義情報のキーワードと一致する場合に、一括定義情報記憶部133aが記憶する利用者ごとの一括定義情報に基づいて、命令をアプリケーション20に送信する。
【0110】
次に、図面を参照して、本実施形態による入力支援装置1aの動作について説明する。
図14は、本実施形態による入力支援装置1aの動作の一例を説明する図である。
図14に示すように、入力支援装置1aは、まず、音声を受信したか否かを判定する(ステップS401)。入力支援装置1aの制御部14aは、音声を受信した場合(ステップS401:YES)に、処理をステップS402に進める。また、制御部14aは、音声を受信していない場合(ステップS401:NO)に、処理をステップS401に戻す。
【0111】
ステップS401において、入力支援装置1aは、利用者を判定する。入力支援装置1aの利用者判定部144は、マイク11が収音した利用者の音声を取得して、例えば、声紋などの既存の音声認識技術を利用して、利用者を判定する。
【0112】
続くステップS403及びステップS404の処理は、上述した
図5に示すステップS102及びステップS103の処理と同様であるため、ここではその説明を省略する。
【0113】
次に、支援処理部142aは、操作定義情報記憶部131aを検索して(ステップS405)、利用者、表示画面及びキーワードに対応付けられた命令があるか否かを判定する(ステップS406)。すなわち、支援処理部142aは、利用者判定部144が判定した利用者と、現在の表示画面と、テキスト変換部141が変換したテキスト情報に含まれるキーワードとに対応する命令が、操作定義情報記憶部131aにあるか否かを判定する。支援処理部142aは、利用者、表示画面及びキーワードに対応付けられた命令がある場合(ステップS406:YES)に、処理をステップS407に進める。また、支援処理部142aは、利用者、表示画面及びキーワードに対応付けられた命令がない場合(ステップS406:NO)に、処理をステップS408に進める。
【0114】
ステップS407において、支援処理部142aは、利用者、表示画面及びキーワードに対応する命令を、操作定義情報記憶部131aから取得して、取得した命令をアプリケーション20に送信する。ステップS407の処理後に、支援処理部142aは、処理をステップS412に進める。
【0115】
また、ステップS408において、支援処理部142aは、一括定義情報記憶部133aを検索し、利用者及びキーワードに対応付けられた一括定義情報があるか否かを判定する(ステップS409)。支援処理部142aは、利用者判定部144が判定した利用者、及びテキスト変換部141が変換したテキスト情報に含まれるキーワードと一致する一括定義情報が一括定義情報記憶部133aにあるか否かを判定する。支援処理部142aは、利用者及びキーワードに対応付けられた一括定義情報がある場合(ステップS409:YES)に、処理をステップS410に進める。また、支援処理部142aは、利用者及びキーワードに対応付けられた一括定義情報がない場合(ステップS409:NO)に、処理をステップS411に進める。
【0116】
続く、ステップS410からステップS414までの処理は、上述した
図5に示すステップS109からステップS113までの処理と同様であるため、ここではその説明を省略する。
【0117】
以上説明したように、本実施形態による入力支援装置1aでは、操作定義情報記憶部131aは、利用者ごとに操作定義情報を記憶する。また、支援処理部142aは、テキスト変換部141が利用者に対応する音声を変換したテキスト情報に含まれるキーワードに対応付けられている命令を、操作定義情報記憶部131aが記憶している当該利用者に対応する操作定義情報のうちから取得する。そして、支援処理部142aは、取得した命令をアプリケーション20に送信して実行させる。
【0118】
これにより、本実施形態による入力支援装置1aは、利用者ごとに操作定義情報が記憶されているため、例えば、複数の利用者及び複数の入力支援装置1aを使用して、音声入力により操作する場合などに、音声入力の混線による誤動作を低減することができる。また、本実施形態による入力支援装置1aは、利用者ごとに異なる設定が可能であり、さらに利便性を向上させることができる。
【0119】
また、本実施形態では、一括定義情報記憶部133aは、利用者ごとに、一括定義情報を記憶する。そして、支援処理部142aは、テキスト変換部141が変換したテキスト情報に含まれるキーワード及び利用者が、利用者ごとの一括定義情報のキーワードと一致する場合に、一括定義情報記憶部133aが記憶する利用者ごとの一括定義情報に基づいて、命令をアプリケーション20に送信する。
これにより、本実施形態による入力支援装置1aは、一括定義情報による一括処理において、音声入力の混線による誤動作を低減することができる。また、本実施形態による入力支援装置1aは、利用者ごとに異なる一括定義情報の設定が可能であり、さらに利便性を向上させることができる。
【0120】
[第3の実施形態]
次に、図面を参照して、第3の実施形態による入力支援装置1bについて説明する。本実施形態では、操作定義情報及び一括定義情報が、エージェント機能のニックネームごとに設定されている場合の変形例について説明する。ここで、エージェント機能とは、例えば、支援処理部142bによる支援処理機能のことであり、ニックネームは、例えば、利用者に対応して付与されたエージェント機能の識別名称である。
【0121】
図15は、本実施形態による入力支援装置1bの一例を示すブロック図である。
図15に示すように、入力支援装置1bは、マイク11と、スピーカ12と、記憶部13bと、制御部14bとを備えている。
なお、この図において、
図1と同一の構成は、同一の符号を付与して、その説明を省略する。
【0122】
記憶部13bは、入力支援装置1bが利用する各種情報を記憶する。記憶部13bは、操作定義情報記憶部131bと、履歴情報記憶部132と、一括定義情報記憶部133bと、入力順序記憶部134とを備えている。
【0123】
操作定義情報記憶部131bは、音声による操作を実行するためのルール情報を記憶する。操作定義情報記憶部131bは、キーワードに対応して、アプリケーション20に送信する命令(コマンド)を定義した、操作定義情報及び共通定義情報を記憶する。
操作定義情報記憶部131bは、例えば、
図16に示すように、エージェント機能のニックネームごとに操作定義情報を記憶している。
【0124】
図16は、本実施形態における操作定義情報のデータ例を示す図である。この図に示すように、操作定義情報記憶部131bは、「ニックネーム」と、「表示画面」と、「キーワード」と、「命令」と、「操作内容」とを対応付けた操作定義情報を複数記憶している。
ここで、「ニックネーム」は、利用者に対応して付与されたエージェント機能のニックネームである。
【0125】
図16に示す例では、例えば、「ニックネーム」が“○×△”であり、「表示画面」が“ログイン画面”である場合に、「キーワード」として“「ID」を「選択」”が含まれる音声に対して、「ID」の入力欄を選択する「命令」“oncursol_id”を送信することを示している。
操作定義情報記憶部131bは、ニックネームごとに異なる操作定義情報を設定可能である。なお、操作定義情報記憶部131bが記憶する共通定義情報については、上述した第1の実施形態と同様であるため、ここではその説明を省略する。
【0126】
一括定義情報記憶部133bは、送信された命令を所定の単位でまとめて、キーワードを付与した一括定義情報をニックネームごとに記憶する。ここで、所定の単位は、第1の実施形態と同様であり、例えば、一連の作業、同一の日、最新の入力処理、同一の時間帯などである。一括定義情報記憶部133bは、例えば、
図17に示すように、「ニックネーム」と、「キーワード」と、「命令」とを対応付けて一括定義情報として記憶する。
【0127】
図17は、本実施形態における一括定義情報記憶部133bのデータ例を示す図である。
図17に示す例では、例えば、「ニックネーム」が“○×△”である場合における「キーワード」の“昨日と同じ登録”に対して、昨日の登録において実行された一連の命令(・・・、“open_menu1”、・・・)が定義されている。
このように、一括定義情報記憶部133bは、ニックネームごとに、一括定義情報を記憶する。
【0128】
制御部14bは、例えば、CPUなどを含むプロセッサであり、入力支援装置1bを統括的に制御する。制御部14bは、テキスト変換部141と、支援処理部142bと、音声合成部143とを備えている。
【0129】
支援処理部142bは、テキスト変換部141がテキスト変換したテキスト情報に基づいて、命令を生成し、当該命令をアプリケーション20に送信する。支援処理部142bの基本的な機能は、上述した第1の実施形態の支援処理部142と同様である。支援処理部142bは、テキスト変換部141が音声を変換したテキスト情報に含まれるニックネーム及びキーワードに対応付けられている命令を、操作定義情報記憶部131bが記憶している操作定義情報のうちから取得する。すなわち、支援処理部142bは、テキスト変換部141がニックネームに対応する音声を変換したテキスト情報に含まれるキーワードに対応付けられている命令を、操作定義情報記憶部131bが記憶している当該ニックネームに対応する操作定義情報のうちから取得する。
【0130】
また、支援処理部142bは、アプリケーション20に送信した命令の履歴情報に基づいて、送信された命令を所定の単位でまとめて、キーワードを付与した一括定義情報を、ニックネームごとに、一括定義情報記憶部133bに記憶させる(
図17参照)。そして、支援処理部142bは、テキスト変換部141が変換したテキスト情報に含まれるニックネーム及びキーワードが、一括定義情報のニックネーム及びキーワードと一致する場合に、一括定義情報記憶部133bが記憶するニックネームごとの一括定義情報に基づいて、命令をアプリケーション20に送信する。
【0131】
次に、図面を参照して、本実施形態による入力支援装置1bの動作について説明する。
図18は、本実施形態による入力支援装置1bの動作の一例を説明する図である。
図18に示すように、入力支援装置1bは、まず、音声を受信したか否かを判定する(ステップS501)。なお、ステップS501からステップS503までの処理は、上述した
図5に示すステップS101からステップS103までの処理と同様であるため、ここではその説明を省略する。
【0132】
次に、支援処理部142bは、操作定義情報記憶部131bを検索して(ステップS504)、ニックネーム、表示画面及びキーワードに対応付けられた命令があるか否かを判定する(ステップS505)。すなわち、支援処理部142bは、現在の表示画面と、テキスト変換部141が変換したテキスト情報に含まれるニックネーム及びキーワードとに対応する命令が、操作定義情報記憶部131bにあるか否かを判定する。支援処理部142bは、ニックネーム、表示画面及びキーワードに対応付けられた命令がある場合(ステップS505:YES)に、処理をステップS506に進める。また、支援処理部142bは、ニックネーム、表示画面及びキーワードに対応付けられた命令がない場合(ステップS505:NO)に、処理をステップS507に進める。
【0133】
ステップS506において、支援処理部142bは、ニックネーム、表示画面及びキーワードに対応する命令を、操作定義情報記憶部131bから取得して、取得した命令をアプリケーション20に送信する。ステップS506の処理後に、支援処理部142bは、処理をステップS511に進める。
【0134】
また、ステップS507において、支援処理部142bは、一括定義情報記憶部133bを検索し、ニックネーム及びキーワードに対応付けられた一括定義情報があるか否かを判定する(ステップS508)。支援処理部142bは、テキスト変換部141が変換したテキスト情報に含まれるニックネーム及びキーワードと一致する一括定義情報が一括定義情報記憶部133bにあるか否かを判定する。支援処理部142bは、ニックネーム及びキーワードに対応付けられた一括定義情報がある場合(ステップS508:YES)に、処理をステップS509に進める。また、支援処理部142bは、ニックネーム及びキーワードに対応付けられた一括定義情報がない場合(ステップS508:NO)に、処理をステップS510に進める。
【0135】
続く、ステップS509からステップS513までの処理は、上述した
図5に示すステップS109からステップS113までの処理と同様であるため、ここではその説明を省略する。
【0136】
以上説明したように、本実施形態による入力支援装置1bでは、操作定義情報記憶部131bは、利用者に対応して付与された支援処理部142bによるエージェント機能のニックネーム(支援処理機能の識別名称)ごとに操作定義情報を記憶する。また、支援処理部142bは、テキスト変換部141がニックネームに対応する音声を変換したテキスト情報に含まれるキーワードに対応付けられている命令を、操作定義情報記憶部131bが記憶している当該ニックネームに対応する操作定義情報のうちから取得する。そして、支援処理部142bは、取得した命令をアプリケーション20に送信して実行させる。
【0137】
これにより、本実施形態による入力支援装置1bは、ニックネームごとに操作定義情報が記憶されているため、例えば、複数の利用者及び複数の入力支援装置1bを使用して、音声入力により操作する場合などに、音声入力の混線による誤動作を低減することができる。また、本実施形態による入力支援装置1bは、ニックネームごとに異なる設定が可能であり、さらに利便性を向上させることができる。
【0138】
また、本実施形態では、一括定義情報記憶部133bは、ニックネームごとに、一括定義情報を記憶する。そして、支援処理部142bは、テキスト変換部141が変換したテキスト情報に含まれるキーワード及びニックネームが、ニックネームごとの一括定義情報のキーワードと一致する場合に、一括定義情報記憶部133bが記憶するニックネームごとの一括定義情報に基づいて、命令をアプリケーション20に送信する。
これにより、本実施形態による入力支援装置1bは、一括定義情報による一括処理において、音声入力の混線による誤動作を低減することができる。また、本実施形態による入力支援装置1bは、ニックネームごとに異なる一括定義情報の設定が可能であり、さらに利便性を向上させることができる。
【0139】
なお、本発明は、上記の各実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で変更可能である。
例えば、上述した支援処理部142(142a、142b)は、利用者が途中まで発した音声を変換した途中テキスト情報をテキスト変換部141から取得し、取得した途中テキスト情報と、アプリケーション20に過去に送信した命令の履歴情報とに基づいて、テキスト情報の候補(入力の候補)を提示するようにしてもよい。すなわち、支援処理部142(142a、142b)は、音声合成部143を介して、音声によりスピーカ12から入力の候補を出力するようにしてもよいし、アプリケーション20に命令によって、テキスト情報の候補(入力の候補)を表示部22に表示させるようにしてもよい。
【0140】
このようにすることにより、入力支援装置1(1a、1b)は、音声による入力を短縮することが可能になるとともに、利用者特有の言い回しや発音の揺らぎに適切に対応することができる。また、入力支援装置1(1a、1b)は、機械学習手法を利用して、履歴情報から学習した学習結果に基づいて、テキスト情報の候補(入力の候補)を生成するようにしてもよい。
【0141】
また、上記の各実施形態において、入力支援装置1(1a、1b)は、端末装置2の外部に備える例を説明したが、入力支援装置1(1a、1b)の一部又は全部を端末装置2の内部に備えるようにしてもよい。また、入力支援装置1(1a、1b)の制御部14(14a、14b)の一部の機能を、例えば、ネットワーク上のサーバ装置などの外部に備えるようにしてもよい。
【0142】
また、上記の各実施形態において、アプリケーション20は、端末装置2の制御部24により実現される機能部として説明したが、例えば、ネットワーク上のサーバ装置などにより実現される機能であってもよい。
【0143】
また、上記の各実施形態において、入力支援装置1(1a、1b)は、記憶部13(13a、13b)を備える例を説明したが、これに限定されるものではなく、記憶部13(13a、13b)の一部又は全部を外部に備えるようにしてもよい。また、記憶部13(13a、13b)の一部又は全部を外部に備える場合には、記憶部13(13a、13b)は、例えば、ネットワークを介して入力支援装置1(1a、1b)と接続された記憶装置であってもよい。
【0144】
また、記憶部13(13a、13b)が入力支援装置1(1a、1b)の外部に備えられている場合には、入力支援装置1(1a、1b)と、記憶部13(13a、13b)とにより、入力支援システムとしてもよい。
また、上記の各実施形態において、操作定義情報において、1つの命令に複数のキーワードを設定する例を説明したが、このような設定を、履歴情報を基に機械学習手法により発音の揺らぎや類似語を抽出して、自動で追加するようにしてもよい。
【0145】
また、上記の第2の実施形態において、利用者判定部144は、声紋などの既存の音声認識技術を利用して利用者を判定する例を説明したが、これに限定されるものではなく、例えば、利用者による利用者ID及びパスワードによるアプリケーション20へのログイン結果により、利用者を判定するようにしてもよい。
【0146】
なお、上述した入力支援装置1(1a、1b)が備える各構成は、内部に、コンピュータシステムを有している。そして、上述した入力支援装置1(1a、1b)が備える各構成の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述した入力支援装置1(1a、1b)が備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、CD−ROM等の非一過性の記録媒体であってもよい。
【0147】
また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部又は外部に設けられた記録媒体も含まれる。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後に入力支援装置1(1a、1b)が備える各構成で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0148】
また、上述した機能の一部又は全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。上述した各機能は個別にプロセッサ化してもよいし、一部、又は全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、又は汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。