(57)【特許請求の範囲】
【請求項１】
動作させる対象の機器および動作内容を表す指示信号を入力する入力部と、
前記指示信号を認識処理することにより認識情報を生成する認識部と、
前記認識情報を解析して、動作させる対象の機器および動作内容を示す操作情報を生成する解析部と、
前記操作情報に示される機器を、前記操作情報に示される内容で動作するように制御する制御部と、
前記制御部とは異なる手段に基づき動作した機器および動作内容を示す動作情報を受信する受信部と、
前記動作情報に基づき、前記認識情報が誤っているか否かを判定する判定部と、
誤っていると判定された前記認識情報を訂正する訂正情報を生成する訂正部と、
を備え、
前記判定部は、
前記指示信号を前記認識部とは異なる認識処理をすることにより補助認識情報を生成し、
前記補助認識情報に基づき、動作させる対象の機器および動作内容を示す補助操作情報を生成し、
前記補助操作情報と前記動作情報とが一致した場合、前記認識情報が誤っていると判定する
操作装置。
【請求項２】
前記訂正部は、前記判定部により生成した前記補助認識情報を前記訂正情報とする
請求項１に記載の操作装置。
【請求項３】
動作させる対象の機器および動作内容を表す指示信号を入力する入力部と、
前記指示信号を認識処理することにより認識情報を生成する認識部と、
前記認識情報を解析して、動作させる対象の機器および動作内容を示す操作情報を生成する解析部と、
前記操作情報に示される機器を、前記操作情報に示される内容で動作するように制御する制御部と、
前記制御部とは異なる手段に基づき動作した機器および動作内容を示す動作情報を受信する受信部と、
前記動作情報に基づき、前記認識情報が誤っているか否かを判定する判定部と、
誤っていると判定された前記認識情報を訂正する訂正情報を生成する訂正部と、
前記認識情報、前記操作情報および前記動作情報を対応付けて記憶する蓄積部と、
前記制御部が前記操作情報に基づき機器を制御した場合、前記操作情報および前記認識情報を対応付けて前記蓄積部に書き込む書込部と、
を備え、
前記受信部は、
受信した前記動作情報を、最後に書き込まれた前記操作情報および前記認識情報に対応付けて前記蓄積部に書き込み、
最後に書き込まれた前記操作情報および前記認識情報に対応付けて他の前記動作情報が既に書き込まれている場合、受信した前記動作情報を、何れの前記操作情報および前記認識情報にも対応付けずに前記蓄積部に書き込む
操作装置。
【請求項４】
前記判定部は、前記動作情報が示す機器と前記操作情報が示す機器とが同一であり、且つ、前記動作情報が示す動作内容が、前記操作情報が示す動作内容を打ち消す動作である場合、前記認識情報が誤っていると判定する
請求項３に記載の操作装置。
【請求項５】
前記判定部は、
受信した前記動作情報に対応する前記認識情報が前記蓄積部に記憶されている場合、受信した前記動作情報に基づき、対応して記憶されている前記認識情報が誤っているか否かを判定し、
受信した前記動作情報に対応する前記認識情報が前記蓄積部に記憶されていない場合、前記訂正情報が記憶されていないことを条件として、受信した前記動作情報に基づき、最後に書き込まれた前記認識情報が誤っているか否かを判定する
請求項３または４に記載の操作装置。
【請求項６】
動作させる対象の機器および動作内容を表す指示信号を入力する入力部と、
前記指示信号を認識処理することにより認識情報を生成する認識部と、
前記認識情報を解析して、動作させる対象の機器および動作内容を示す操作情報を生成する解析部と、
前記操作情報に示される機器を、前記操作情報に示される内容で動作するように制御する制御部と、
前記制御部とは異なる手段に基づき動作した機器および動作内容を示す動作情報を受信する受信部と、
前記動作情報に基づき、前記認識情報が誤っているか否かを判定する判定部と、
誤っていると判定された前記認識情報を訂正する訂正情報を生成する訂正部と、
を備え、
前記判定部は、前記操作情報に基づき機器を制御してから一定時間内に前記動作情報を受信したことを条件として、前記認識情報が誤っていると判定する
操作装置。
【請求項７】
動作させる対象の機器および動作内容を表す指示信号を入力する入力部と、
前記指示信号を認識処理することにより認識情報を生成する認識部と、
前記認識情報を解析して、動作させる対象の機器および動作内容を示す操作情報を生成する解析部と、
前記操作情報に示される機器を、前記操作情報に示される内容で動作するように制御する制御部と、
前記制御部とは異なる手段に基づき動作した機器および動作内容を示す動作情報を受信する受信部と、
前記動作情報に基づき、前記認識情報が誤っているか否かを判定する判定部と、
誤っていると判定された前記認識情報を訂正する訂正情報を生成する訂正部と、
を備え、
前記訂正部は、前記認識部とは異なるモデルを用いて、前記指示信号を認識処理することにより前記訂正情報を生成する
操作装置。
【請求項８】
動作させる対象の機器および動作内容を表す指示信号を入力する入力部と、
前記指示信号を認識処理することにより認識情報を生成する認識部と、
前記認識情報を解析して、動作させる対象の機器および動作内容を示す操作情報を生成する解析部と、
前記操作情報に示される機器を、前記操作情報に示される内容で動作するように制御する制御部と、
前記制御部とは異なる手段に基づき動作した機器および動作内容を示す動作情報を受信する受信部と、
前記動作情報に基づき、前記認識情報が誤っているか否かを判定する判定部と、
誤っていると判定された前記認識情報を訂正する訂正情報を生成する訂正部と、
を備え、
前記訂正部は、前記認識部と同一のモデルを用い、前記認識部とは異なるアルゴリズムで、前記指示信号を認識処理することにより前記訂正情報を生成する
操作装置。
【請求項９】
動作させる対象の機器および動作内容を表す指示信号を入力する入力部と、
前記指示信号を認識処理することにより認識情報を生成する認識部と、
前記認識情報を解析して、動作させる対象の機器および動作内容を示す操作情報を生成する解析部と、
前記操作情報に示される機器を、前記操作情報に示される内容で動作するように制御する制御部と、
前記制御部とは異なる手段に基づき動作した機器および動作内容を示す動作情報を受信する受信部と、
前記動作情報に基づき、前記認識情報が誤っているか否かを判定する判定部と、
誤っていると判定された前記認識情報を訂正する訂正情報を生成する訂正部と、
を備え、
前記訂正部は、クラウドソーシングを用いて不特定人が前記指示信号を認識した情報を用いて前記訂正情報を生成する
操作装置。
【請求項１０】
動作させる対象の機器および動作内容を表す指示信号を入力する入力部と、
前記指示信号を認識処理することにより認識情報を生成する認識部と、
前記認識情報を解析して、動作させる対象の機器および動作内容を示す操作情報を生成する解析部と、
前記操作情報に示される機器を、前記操作情報に示される内容で動作するように制御する制御部と、
前記制御部とは異なる手段に基づき動作した機器および動作内容を示す動作情報を受信する受信部と、
前記動作情報に基づき、前記認識情報が誤っているか否かを判定する判定部と、
誤っていると判定された前記認識情報を訂正する訂正情報を生成する訂正部と、
を備え、
前記訂正部は、前記認識部により生成された第２候補以降の前記認識情報を前記訂正情報とする
操作装置。
【請求項１１】
前記指示信号は、音声信号である
請求項１から１０の何れか１項に記載の操作装置。
【請求項１２】
動作させる対象の機器および動作内容を表す指示信号を入力する入力ステップと、
前記指示信号を認識処理することにより認識情報を生成する認識ステップと、
前記認識情報を解析して、動作させる対象の機器および動作内容を示す操作情報を生成する解析ステップと、
前記操作情報に示される機器を、前記操作情報に示される内容で動作するように制御する制御ステップと、
異なる手段に基づき動作した機器および動作内容を示す動作情報を受信する受信ステップと、
前記動作情報に基づき、前記認識情報が誤っているか否かを判定する判定ステップと、
誤っていると判定された前記認識情報を訂正する訂正情報を生成する訂正ステップと、
を備え、
前記判定ステップにおいて、
前記指示信号を前記認識部とは異なる認識処理をすることにより補助認識情報を生成し、
前記補助認識情報に基づき、動作させる対象の機器および動作内容を示す補助操作情報を生成し、
前記補助操作情報と前記動作情報とが一致した場合、前記認識情報が誤っていると判定する
訂正方法。
【請求項１３】
情報処理装置を操作装置として機能させるためのプログラムであって、
前記情報処理装置を、
動作させる対象の機器および動作内容を表す指示信号を入力する入力部と、
前記指示信号を認識処理することにより認識情報を生成する認識部と、
前記認識情報を解析して、動作させる対象の機器および動作内容を示す操作情報を生成する解析部と、
前記操作情報に示される機器を、前記操作情報に示される内容で動作するように制御する制御部と、
前記制御部とは異なる手段に基づき動作した機器および動作内容を示す動作情報を受信する受信部と、
前記動作情報に基づき、前記認識情報が誤っているか否かを判定する判定部と、
誤っていると判定された前記認識情報を訂正する訂正情報を生成する訂正部と、
して機能させ、
前記判定部は、
前記指示信号を前記認識部とは異なる認識処理をすることにより補助認識情報を生成し、
前記補助認識情報に基づき、動作させる対象の機器および動作内容を示す補助操作情報を生成し、
前記補助操作情報と前記動作情報とが一致した場合、前記認識情報が誤っていると判定する
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、操作装置、訂正方法およびプログラムに関する。
【背景技術】
【０００２】
近年、テレビジョンまたはエアコンディショナ等の機器を音声等で操作するユーザインタフェースが提案されている。このようなユーザインタフェースでは、音声信号と認識結果とを収集し、収集した情報により認識処理に用いるモデルを学習することにより、認識精度を向上させることができる。
【０００３】
ところで、収集した情報には、誤った認識結果も含まれる。モデルを学習する場合、誤った認識結果は予め訂正しておく必要がある。従来は、収集した認識結果を人間が確認して、手動で誤りを訂正していた。しかし、人間が手動で訂正するのは非常に煩雑で時間がかかり、負担が大きい。また、機器を操作するためのモデルの場合、認識結果を単に訂正すればよいのではなく、訂正した認識結果により機器を操作できなければならない。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２１６３４１号公報
【特許文献２】特開２０１０−４８８９０号公報
【特許文献３】特開２０００−２７６１８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする課題は、認識情報の誤りの訂正の負担を軽減させることにある。
【課題を解決するための手段】
【０００６】
実施形態の操作装置は、動作させる対象の機器および動作内容を表す指示信号を入力する入力部と、前記指示信号を認識処理することにより認識情報を生成する認識部と、前記認識情報を解析して、動作させる対象の機器および動作内容を示す操作情報を生成する解析部と、前記操作情報に示される機器を、前記操作情報に示される内容で動作するように制御する制御部と、前記制御部とは異なる手段に基づき動作した機器および動作内容を示す動作情報を受信する受信部と、前記動作情報に基づき、前記認識情報が誤っているか否かを判定する判定部と、誤っていると判定された前記認識情報を訂正する訂正情報を生成する訂正部と、を備え、前記判定部は、前記指示信号を前記認識部とは異なる認識処理をすることにより補助認識情報を生成し、前記補助認識情報に基づき、動作させる対象の機器および動作内容を示す補助操作情報を生成し、前記補助操作情報と前記動作情報とが一致した場合、前記認識情報が誤っていると判定する。
【図面の簡単な説明】
【０００７】
【図１】図１は、第１実施形態に係る操作装置の構成を機器とともに示す図である。
【図２】図２は、判定部の構成の一例を、蓄積部とともに示す図である。
【図３】図３は、操作装置における、機器の制御時の処理の流れを示す図である。
【図４】図４は、蓄積部に記憶された情報の一例を示す図である。
【図５】図５は、動作情報の受信時の処理の流れを示す図である。
【図６】図６は、最後のレコードの動作情報のフィールドに空きがある場合の、動作情報の書き込み位置の一例を示す図である。
【図７】図７は、最後のレコードの動作情報のフィールドに空きが無い場合の、動作情報の書き込み位置の一例を示す図である。
【図８】図８は、操作装置における判定時の処理の流れを示す図である。
【図９】図９は、判定部による判定処理の流れを示す図である。
【図１０】図１０は、動作情報が書き込まれたレコード（最後のレコード）に、認識情報が書き込まれている場合の、蓄積部に記憶された情報の一例を示す図である。
【図１１】図１１は、図１０の場合における、補助認識情報、補助操作情報および訂正情報を示す図である。
【図１２】図１２は、動作情報が書き込まれたレコード（最後のレコード）に、認識情報が書き込まれていない場合の、蓄積部に記憶された情報の一例を示す図である。
【図１３】図１３は、図１２の場合における、補助認識情報、補助操作情報および訂正情報を示す図である。
【図１４】図１４は、第１実施形態の第１変形例の判定部による判定処理の流れを示す図である。
【図１５】図１５は、最後のレコードの操作情報に示される動作を、最後のレコードの動作情報が打ち消す場合の、蓄積部に記憶された情報の一例を示す図である。
【図１６】図１６は、最後に書き込まれた操作情報に示される動作を、最後のレコードの動作情報が打ち消す場合の、蓄積部に記憶された情報の一例を示す図である。
【図１７】図１７は、第１実施形態の第２変形例の判定部の処理内容を説明するためのタイミングチャートである。
【図１８】図１８は、第２実施形態に係る操作装置の構成を機器とともに示す図である。
【図１９】図１９は、レコード番号＃１の操作情報を、直後のレコード番号＃２の操作情報が打ち消す場合の、蓄積部に記憶された情報の一例を示す図である。
【図２０】図２０は、第３実施形態に係る操作装置の構成を機器とともに示す図である。
【図２１】図２１は、操作情報の内容をユーザが肯定する場合のシーケンスを示す図である。
【図２２】図２２は、操作情報の内容をユーザが否定する場合のシーケンスを示す図である。
【図２３】図２３は、情報処理装置のハードウェア構成を示す図である。
【発明を実施するための形態】
【０００８】
以下、図面を参照しながら実施形態に係る操作装置について詳細に説明する。本実施形態に係る操作装置は、ユーザからの指示を認識して機器を制御するとともに、認識した情報の誤りを少ない負担でユーザに訂正させることを目的とする。
【０００９】
（第１実施形態）
図１は、第１実施形態に係る操作装置１０の構成を機器２０とともに示す図である。
【００１０】
操作装置１０は、音声またはジェスチャ等によるユーザの指示を受け付け、受け付けた指示に従って、少なくとも１つの機器２０（例えば機器２０−１，２０−２，２０−３）を制御する。機器２０は、例えば、テレビジョンおよびエアコンディショナ等である。操作装置１０は、例えば、電源のオンまたはオフ等の制御を行う。
【００１１】
操作装置１０は、入力部３１と、モデル記憶部３２と、認識部３３と、解析部３４と、制御部３５と、蓄積部３６と、書込部３７と、受信部３８と、判定部３９と、訂正部４０と、学習部４１とを備える。
【００１２】
入力部３１は、ユーザから、動作させる対象の機器２０および動作内容を表す指示信号を入力する。入力部３１は、例えば、ユーザの音声による指示をマイクロフォンで取り込み、マイクロフォンから出力された電気信号をサンプリングした音声信号を指示信号として入力する。また、入力部３１は、例えば、ユーザのジェスチャによる指示をカメラにより取り込んで得られる画像信号を、指示信号として入力する。
【００１３】
モデル記憶部３２は、指示信号を認識処理するために用いるモデルを記憶する。モデル記憶部３２は、例えば、音響モデルおよび言語モデル等を記憶する。モデル記憶部３２は、認識部３３からネットワークを介してアクセスが可能であれば、サーバ装置等が備えてもよい。
【００１４】
認識部３３は、入力部３１により入力された指示信号を、モデル記憶部３２に記憶されたモデルを用いて認識処理することにより認識情報を生成する。例えば、指示信号が音声信号である場合、認識部３３は、発話内容を表す文字列を、認識情報として生成する。また、例えば、指示信号がジェスチャを取り込んだ画像信号である場合、認識部３３は、ジェスチャを表す文字列を、認識情報として生成する。
【００１５】
解析部３４は、認識部３３により生成された認識情報を解析して、動作させる対象の機器２０および動作内容を示す操作情報を生成する。例えば、認識情報が文字列である場合には、解析部３４は、認識情報を解析して、機器名を特定する単語（例えば、テレビジョンまたはエアコンディショナ等）を抽出し、抽出した単語に基づき動作させる対象の機器２０を特定する。また、解析部３４は、認識情報を解析して、動作内容を特定する単語（電源を点けるまたは電源を消す等）を抽出し、抽出した単語に基づき動作内容を特定する。そして、解析部３４は、これらの内容を示す操作情報を生成する。
【００１６】
制御部３５は、操作情報に示される機器２０を、操作情報に示される内容で動作するように制御する。例えば、制御部３５は、操作情報に示される機器２０に対して、操作情報に示される動作を行わせるための信号（例えば、赤外線信号）を送信する。例えば、制御部３５は、操作情報に基づき、テレビジョンまたはエアコンディショナに対して電源をオンまたはオフにするための信号を送信する。また、制御部３５は、機器２０を制御した時刻を表す情報を出力する。
【００１７】
蓄積部３６は、時刻、指示信号、認識情報、操作情報、動作情報および訂正情報を対応付けて記憶する。例えば、蓄積部３６は、時刻、指示信号、認識情報、操作情報、動作情報および訂正情報を、１つのレコードに含めて記憶する。蓄積部３６は、一部の情報が含まれないレコードを記憶してもよい。蓄積部３６は、例えば、時刻、指示信号、認識情報および操作情報を含み、動作情報および訂正情報を含まないレコードを記憶してもよい。蓄積部３６は、例えば、訂正情報を含まないレコードを記憶してもよい。また、蓄積部３６は、例えば、動作情報のみを含むレコードを記憶してもよい。
【００１８】
書込部３７は、制御部３５が操作情報に基づき機器２０を制御した場合、機器２０を制御した時刻、操作情報、並びに、その操作情報に対応する指示信号および認識情報を、対応付けて蓄積部３６に書き込む。例えば、書込部３７は、制御部３５が機器２０を制御した場合、蓄積部３６に新規レコードを登録し、登録した新規レコードに、時刻、操作情報、指示信号および認識情報を書き込む。
【００１９】
受信部３８は、制御部３５とは異なる手段に基づき動作した機器２０および動作内容を示す動作情報を、機器２０から受信する。それぞれの機器２０は、制御部３５以外の手段により動作した場合、機器２０を示す情報および動作内容を示す情報を含む動作情報を、操作装置１０に送信する。例えば、それぞれの機器２０は、リモートコントローラまたは本体に設けられた操作ボタン等が操作された場合、動作情報を操作装置１０に送信する。受信部３８は、このような動作情報を受信する。
【００２０】
受信部３８は、動作情報を受信した場合、蓄積部３６に動作情報を書き込む。この場合、受信部３８は、受信した動作情報を、最後に書き込まれた、時刻、指示信号、認識情報および操作情報に対応付けて蓄積部３６に書き込む。例えば、受信部３８は、蓄積部３６に記憶された最後のレコード（最も新しいレコード）に、受信した動作情報を書き込む。
【００２１】
ただし、受信部３８は、最後に書き込まれた、時刻、指示信号、認識情報および操作情報に対応付けて、他の動作情報が既に書き込まれている場合、受信した動作情報を、何れの時刻、指示信号、認識情報および操作情報にも対応付けずに、単独で蓄積部３６に書き込む。例えば、受信部３８は、蓄積部３６に記憶された最後のレコードに他の動作情報が既に書き込まれている場合、蓄積部３６に新規レコードを登録し、登録した新規レコードに受信した動作情報を書き込む。
【００２２】
判定部３９は、動作情報に基づき、認識情報が誤っているか否かを判定する。つまり、判定部３９は、動作情報に基づき、認識情報の内容が、指示信号の内容と異なっているか否かを判定する。
【００２３】
判定部３９は、受信した動作情報に対応する認識情報が蓄積部３６に記憶されている場合、受信した動作情報に基づき、対応して記憶されている認識情報が誤っているか否かを判定する。例えば、判定部３９は、受信した動作情報が書き込まれたレコードに、認識情報が書き込まれている場合、受信した動作情報に基づき、同一のレコードに書き込まれている認識情報が誤っているか否かを判定する。
【００２４】
これにより、判定部３９は、制御部３５が何れかの機器２０を制御した後、次の機器２０を制御する前に、何れかの機器２０から動作情報を受信した場合に、認識情報が誤っているか否かを判定することができる。
【００２５】
ただし、判定部３９は、受信した動作情報に対応する認識情報が蓄積部３６に記憶されていない場合、訂正情報が記憶されていないことを条件として、受信した動作情報に基づき、最後に書き込まれた認識情報が誤っているか否かを判定する。例えば、判定部３９は、受信した動作情報が書き込まれたレコードに、認識情報が書き込まれていない場合、最後に認識情報が書き込まれたレコード（認識情報を含むレコードのうちの最も新しいレコード）に訂正情報が書き込まれていないことを条件として、受信した動作情報に基づき、そのレコードに書き込まれた認識情報が誤っているか否かを判定する。
【００２６】
これにより、判定部３９は、制御部３５が何れかの機器２０を制御した後、次の機器２０を制御する前に、動作情報を２回以上受信した場合において、２回目以降の動作情報の受信時に、最後に書き込まれた認識情報が誤っているか否かを判定することができる。
【００２７】
本実施形態において、判定部３９は、受信した動作情報に基づき次のように判定する。すなわち、判定部３９は、指示信号を認識部３３とは異なる認識処理をすることにより補助認識情報を生成する。続いて、判定部３９は、補助認識情報に基づき、動作させる対象の機器２０および動作内容を示す補助操作情報を生成する。そして、判定部３９は、補助操作情報と動作情報とが一致した場合、認識情報が誤っていると判定する。
【００２８】
これにより、判定部３９は、制御部３５が誤った認識結果に基づき機器２０を制御してしまったため、ユーザが他の手段を用いて目的の機器２０を意図に沿った動作をさせたことを検出することができる。そして、判定部３９は、このことを検知した場合に、認識結果が誤っていたと判定することができる。
【００２９】
訂正部４０は、判定部３９により誤っていると判定された認識情報を訂正する訂正情報を生成する。訂正部４０は、生成した訂正情報を、誤っていると判定された認識情報に対応させて蓄積部３６に記憶させる。例えば、訂正部４０は、蓄積部３６における、誤っていると判定された認識情報が書き込まれたレコードに、生成した訂正情報を書き込む。
【００３０】
なお、訂正部４０は、判定部３９において生成した補助認識情報を訂正情報としてよい。これにより、訂正部４０は、簡易に訂正情報を生成することができる。
【００３１】
また、訂正部４０は、認識部３３とは異なるモデルを用いて、指示信号を認識処理することにより訂正情報を生成してもよい。例えば、訂正部４０は、認識部３３が用いるモデルよりも情報量が多いモデルにネットワークを介してアクセスして訂正情報を生成してもよい。これにより、訂正部４０は、認識部３３による認識の誤りを訂正できる可能性を高くすることができる。
【００３２】
また、訂正部４０は、認識部３３と同一のモデルを用い、認識部３３とは異なるアルゴリズムで、指示信号を認識処理することにより訂正情報を生成してもよい。例えば、訂正部４０は、認識部３３より演算コストが大きいが正確に認識ができるアルゴリズムで訂正情報を生成してもよい。これにより、訂正部４０は、認識部３３による認識の誤りを訂正できる可能性を高くすることができる。
【００３３】
また、訂正部４０は、クラウドソーシングを用いて不特定人が指示信号を認識した情報を用いて訂正情報を生成してもよい。これにより、訂正部４０は、より確実に認識の誤りを訂正することができる。また、訂正部４０は、認識部３３により生成された第２候補以降の認識情報を訂正情報としてもよい。これにより、訂正部４０は、小さいコストで訂正情報を生成することができる。
【００３４】
学習部４１は、蓄積部３６に記憶された、指示信号、および、対応する認識情報または訂正情報を用いて、モデル記憶部３２に記憶されたモデルを学習する。学習部４１は、例えば定期的にモデルを学習する。これにより、学習部４１は、誤った認識結果を訂正する訂正情報を用いてモデルを学習することができる。従って、学習部４１は、学習後において、認識部３３による認識精度を向上させることができる。
【００３５】
図２は、判定部３９の構成の一例を、蓄積部３６とともに示す図である。判定部３９は、例えば、補助認識部５１と、補助解析部５２と、一致検出部５３とを有する。
【００３６】
補助認識部５１は、判定対象となる認識情報に対応して記憶された指示信号を蓄積部３６から読み出す。例えば、補助認識部５１は、判定対象となる認識情報と同一レコードに書き込まれた指示信号を読み出す。そして、補助認識部５１は、読み出した指示信号を、認識部３３とは異なる認識処理をすることにより補助認識情報を生成する。
【００３７】
補助認識部５１は、例えば、認識部３３とは異なるモデルを用いて、指示信号を認識処理することにより補助認識情報を生成する。補助認識部５１は、例えば、認識部３３と同一のモデルを用い、認識部３３とは異なるアルゴリズムで、指示信号を認識処理することにより補助認識情報を生成する。また、例えば、補助認識部５１は、ネットワークを介してクラウドソーシングを提供するサーバに認識を依頼し、クラウドソーシングを用いて不特定人が指示信号を認識した情報を取得して補助認識情報を生成してもよい。また、例えば、補助認識部５１は、認識部３３により生成された第２候補以降の認識情報を、補助認識情報としてもよい。
【００３８】
補助解析部５２は、補助認識部５１により生成された補助認識情報に対して、解析部３４と同一の処理を実行する。すなわち、補助解析部５２は、補助認識部５１により生成された補助認識情報を解析して、動作させる対象の機器２０および動作内容を示す補助操作情報を生成する。
【００３９】
一致検出部５３は、蓄積部３６に書き込まれた動作情報を読み出す。一致検出部５３は、補助解析部５２により生成された補助操作情報と、読み出した動作情報とが一致するか否かを判定する。すなわち、一致検出部５３は、補助操作情報に示される機器２０および動作内容が、受信した動作情報に示される機器２０および動作内容と同一であるか否かを判定する。一致検出部５３は、一致する場合、判定対象となる認識情報が誤っていることを示す判定結果を出力する。また、一致検出部５３は、一致しない場合、判定対象となる認識情報が誤ってはいないことを示す判定結果を出力する。
【００４０】
このような判定部３９は、制御部３５が誤った認識結果に基づき機器２０を制御してしまったため、ユーザが他の手段を用いて目的の機器２０を意図に沿った動作をさせたことを検出することができる。そして、判定部３９は、このことを検知した場合に、認識結果が誤っていたと判定することができる。
【００４１】
図３は、操作装置１０における、機器２０の制御時の処理の流れを示す図である。操作装置１０は、ユーザからの指示を受けた場合、図３に示す流れで処理を実行する。
【００４２】
まず、ステップＳ１１において、入力部３１は、ユーザの音声等による指示に応じて、指示信号を入力する。続いて、ステップＳ１２において、認識部３３は、入力された指示信号を認識処理することにより認識情報を生成する。
【００４３】
続いて、ステップＳ１３において、解析部３４は、認識情報を解析して操作情報を生成する。続いて、ステップＳ１４において、制御部３５は、操作情報に示される機器２０を、操作情報に示される内容で動作するように制御する。
【００４４】
続いて、ステップＳ１５において、書込部３７は、蓄積部３６に新規レコードを登録する。続いて、ステップＳ１６において、書込部３７は、ステップＳ１１で入力した指示信号、ステップＳ１２で生成した認識情報、ステップＳ１３で生成した操作情報、および、制御部３５が機器２０を制御した時刻を、新規レコードに書き込む。操作装置１０は、ステップＳ１６の処理を終えると、本フローを終了する。
【００４５】
図４は、蓄積部３６に記憶された情報の一例を示す図である。蓄積部３６は、時刻フィールド、指示信号フィールド、認識情報フィールド、操作情報フィールド、動作情報フィールドおよび訂正情報フィールドを含むレコードを記憶する。
【００４６】
時刻フィールドには、制御部３５が機器２０を制御した時刻が書き込まれる。指示信号フィールドには、入力部３１が入力した指示信号が書き込まれる。例えば、指示信号フィールドには、「テレビジョンを点けて」、「エアコンディショナを点けて」、「テレビジョンを消して」または「エアコンディショナを消して」等を表す音声信号が、指示信号として書き込まれる。
【００４７】
認識情報フィールドには、対応する指示信号を認識処理して得られた認識情報が書き込まれる。例えば、認識情報フィールドには、「テレビジョンを点けて」、「エアコンディショナを点けて」、「テレビジョンを消して」または「エアコンディショナを消して」等を表す文字列が、認識情報として書き込まれる。
【００４８】
操作情報フィールドには、対応する認識情報を解析して得られた操作情報が書き込まれる。例えば、操作情報フィールドには、対象の機器２０が「テレビジョン」および動作内容が「電源ＯＮ」を表す操作情報、対象の機器２０が「エアコンディショナ」および動作内容が「電源ＯＮ」を表す操作情報、対象の機器２０が「テレビジョン」および動作内容が「電源ＯＦＦ」を表す操作情報、または、対象の機器２０が「エアコンディショナ」および動作内容が「電源ＯＦＦ」を表す操作情報等が書き込まれる。
【００４９】
動作情報フィールドには、機器２０から受信して得られた動作情報が書き込まれる。例えば、動作情報フィールドには、操作情報フィールドに書き込まれる操作情報と同様の内容を表す動作情報が書き込まれる。
【００５０】
訂正情報フィールドには、対応する認識情報が誤っている場合に、認識情報を訂正する訂正情報が書き込まれる。例えば、訂正情報フィールドには、「テレビジョンを点けて」、「エアコンディショナを点けて」、「テレビジョンを消して」または「エアコンディショナを消して」等の文字列が、訂正情報として書き込まれる。
【００５１】
図５は、動作情報の受信時の処理の流れを示す図である。操作装置１０は、動作情報を受信した場合、図５に示す流れで処理を実行する。
【００５２】
まず、ステップＳ２１において、受信部３８は、何れかの機器２０から動作情報を受信したか否かを判断する。受信部３８は、動作情報を受信した場合（Ｓ２１のＹｅｓ）、処理をステップＳ２２に進め、動作情報を受信しない場合（Ｓ２１のＮｏ）、処理をステップＳ２１で待機する。
【００５３】
ステップＳ２２において、受信部３８は、蓄積部３６に登録された最後のレコード（最も新しいレコード）に動作情報が書き込まれているか否かを判断する。すなわち、受信部３８は、最後のレコードの動作情報フィールドが空いているか否かを判断する。最後のレコードに動作情報が書き込まれていない場合（Ｓ２２のＮｏ）、ステップＳ２３において、受信部３８は、受信した動作情報を最後のレコードに書き込む。これにより、受信部３８は、操作情報に応じて機器２０を制御した直後に受信した動作情報を、その操作情報に対応させて蓄積部３６に書き込むことができる。受信部３８は、ステップＳ２３の処理を終えると、処理をステップＳ２１から繰り返す。
【００５４】
一方、最後のレコードに動作情報が書き込まれている場合（Ｓ２２のＹｅｓ）、ステップＳ２４において、受信部３８は、蓄積部３６に新規レコードを登録する。続いて、ステップＳ２５において、受信部３８は、受信した動作情報を、新規レコードに書き込む。これにより、受信部３８は、操作情報に応じて機器２０を制御した後に、２回以上動作情報を受信した場合、２回目以降の動作情報を操作情報とは対応付けずに独立に蓄積部３６に書き込むことができる。受信部３８は、ステップＳ２５の処理を終えると、処理をステップＳ２１から繰り返す。
【００５５】
図６は、最後のレコードの動作情報のフィールドに空きがある場合の、動作情報の書き込み位置の一例を示す図である。例えば、ユーザがリモートコントローラによりエアコンディショナの電源をＯＦＦしたとする。この場合、受信部３８は、機器２０がエアコンディショナであり、動作内容が電源ＯＦＦであることを表す動作情報を受信する。
【００５６】
ここで、例えば、最後のレコード（レコード番号＃２）の動作情報フィールドが、空いている。この場合、受信部３８は、図６に示すように、受信した動作情報（機器２０がエアコンディショナ、動作内容が電源ＯＦＦ）を、最後のレコードの動作情報フィールドに書き込む。このように、受信部３８は、操作情報に応じて機器２０を制御した直後に受信した動作情報を、最後のレコードに書き込むことができる。
【００５７】
図７は、最後のレコードの動作情報のフィールドに空きが無い場合の、動作情報の書き込み位置の一例を示す図である。続いて、例えば、ユーザがリモートコントローラによりテレビジョンの電源をＯＮしたとする。この場合、受信部３８は、機器２０がテレビジョンであり、動作内容が電源ＯＮであることを表す動作情報を受信する。
【００５８】
ここで、例えば、最後のレコード（レコード番号＃２）の動作情報フィールドには、他の動作情報（機器２０がエアコンディショナ、動作内容が電源ＯＦＦ）が既に書き込まれている。従って、受信部３８は、蓄積部３６に、新規レコード（レコード番号＃３）を登録する。そして、受信部３８は、図７に示すように、受信した動作情報（機器２０がテレビジョン、動作内容が電源ＯＮ）を、新規レコードの動作情報フィールドに書き込む。なお、この場合、新規レコード（レコード番号＃３）には、動作情報以外の情報は書き込まれない。このように、受信部３８は、操作情報に応じて機器２０を制御した後、２回目以降に受信した動作情報を、新規レコードに書き込むことができる。
【００５９】
図８は、操作装置１０における判定時の処理の流れを示す図である。操作装置１０は、判定タイミングにおいて、図８に示す流れで処理を実行する。
【００６０】
まず、ステップＳ３１において、判定部３９は、判定対象の認識情報が誤っているか否かを判定する。判定部３９は、対象の認識情報が誤っていると判定した場合、処理をステップＳ３２に進める。判定部３９は、対象の認識情報が誤っていないと判定した場合、本フローを終了する。なお、判定部３９の判定処理の内容は、図９においてさらに説明する。
【００６１】
ステップＳ３２において、訂正部４０は、指示信号を認識部３３とは異なる認識処理により認識して、判定対象の認識情報を訂正する訂正情報を生成する。訂正部４０は、ステップＳ３１の判定処理において補助認識情報を生成した場合には、補助認識情報を訂正情報とする。
【００６２】
また、訂正部４０は、認識部３３とは異なるモデルを用いて訂正情報を生成してもよい。訂正部４０は、認識部３３とは異なる認識アルゴリズムで、認識部３３と同一のモデルを用いて訂正情報を生成してもよい。また、訂正部４０は、クラウドソーシングを用いて訂正情報を生成してもよい。また、訂正部４０は、認識部３３により生成された第２候補以降の認識情報を訂正情報としてもよい。
【００６３】
続いて、ステップＳ３３において、訂正部４０は、判定対象の認識情報に対応させて訂正情報を蓄積部３６に書き込む。例えば、訂正部４０は、判定対象の認識情報が書き込まれているレコードに訂正情報を書き込む。操作装置１０は、ステップＳ３３の処理を終えると、本フローを終了する。
【００６４】
このように、操作装置１０は、認識情報が誤っていると判定した場合、認識情報を訂正する訂正情報を蓄積部３６に書き込む。これにより、操作装置１０は、認識結果を用いてモデルを学習する場合、訂正情報を用いて学習をすることができるので、認識精度を向上させることができる。
【００６５】
図９は、判定部３９による判定処理の流れを示す図である。判定部３９は、図９に示す流れで判定処理を実行する。
【００６６】
まず、ステップＳ４１において、判定部３９は、受信部３８が動作情報を受信したか否かを判断する。判定部３９は、動作情報を受信した場合（Ｓ４１のＹｅｓ）、処理をステップＳ４２に進める。判定部３９は、動作情報を受信していない場合（Ｓ４１のＮｏ）、処理をステップＳ４１で待機する。
【００６７】
ステップＳ４２において、判定部３９は、受信した動作情報に対応する認識情報が蓄積部３６に記憶されているか否かを判断する。すなわち、判定部３９は、受信した動作情報が書き込まれたレコード（最後のレコード）に、認識情報が書き込まれているか否かを判断する。受信した動作情報に対応する認識情報が蓄積部３６に記憶されている場合（Ｓ４２のＹｅｓ）、判定部３９は、対応する認識情報（最後のレコードに書き込まれた認識情報）を判定対象とし、処理をステップＳ４４に進める。
【００６８】
受信した動作情報に対応する認識情報が蓄積部３６に記憶されていない場合（Ｓ４２のＮｏ）、つまり、受信した動作情報が新規レコードに書き込まれていた場合、判定部３９は、処理をステップＳ４３に進める。ステップＳ４３において、判定部３９は、最後に書き込まれた認識情報を含むレコード（認識情報が書き込まれたレコードのうち最も新しいレコード）に、訂正情報が書き込まれているか否かを判断する。最後に書き込まれた認識情報を含むレコードに、訂正情報が書き込まれている場合（Ｓ４３のＹｅｓ）、判定部３９は、判定対象の認識情報が誤っていないとして、本フローを終了する。最後に書き込まれた認識情報を含むレコードに、訂正情報が書き込まれていない場合（Ｓ４３のＮｏ）、判定部３９は、最後に書き込まれた認識情報（最も新しい認識情報）を判定対象とし、処理をステップＳ４４に進める。
【００６９】
続いて、ステップＳ４４において、判定部３９は、判定対象の認識情報の元となる指示信号を、認識部３３とは異なる認識処理により認識して、補助認識情報を生成する。例えば、判定部３９は、認識部３３とは異なるモデルを用いて補助認識情報を生成してもよい。また、判定部３９は、認識部３３とは異なる認識アルゴリズムで、認識部３３と同一のモデルを用いて補助認識情報を生成してもよい。また、判定部３９は、クラウドソーシングを用いて補助認識情報を生成してもよい。また、判定部３９は、認識部３３により生成された第２候補以降の認識情報を補助認識情報としてもよい。
【００７０】
続いて、ステップＳ４５において、判定部３９は、補助認識情報に基づき、補助操作情報を生成する。より具体的には、判定部３９は、解析部３４と同様の処理により、補助認識情報から補助操作情報を生成する。
【００７１】
続いて、ステップＳ４６において、判定部３９は、ステップＳ４１で受信した動作情報と、ステップＳ４５で生成した補助操作情報とが一致するか否かを判断する。すなわち、判定部３９は、受信した動作情報により示される機器２０および動作内容と、生成した補助操作情報の機器２０および動作内容とが一致するか否かを判定する。
【００７２】
一致しなかった場合（Ｓ４６のＮｏ）、判定部３９は、判定対象の認識情報が誤っていないと判定して、本フローを終了する。一致した場合（Ｓ４６のＹｅｓ）、判定部３９は、判定対象の認識情報が誤っていると判定して、本フローを終了する。
【００７３】
これにより、判定部３９は、生成した補助操作情報が、ユーザが他の手段を用いて目的の機器２０を意図に沿った動作をさせた内容と一致していることを検出することができる。そして、判定部３９は、このことを検知した場合に、認識結果が誤っていたと判定することができる。
【００７４】
図１０は、動作情報が書き込まれたレコード（最後のレコード）に、認識情報が書き込まれている場合の、蓄積部３６に記憶された情報の一例を示す図である。例えば、ユーザが「テレビジョンを点けて」と音声で指示をしたが、操作装置１０がエアコンディショナの電源をＯＮにしたとする。そして、ユーザは、テレビジョンの電源がＯＮにならなかったので、リモートコントローラを用いてテレビジョンの電源をＯＮにしたとする。
【００７５】
この場合、受信部３８は、機器２０がテレビジョンであり、動作内容が電源ＯＮであることを表す動作情報を受信する。受信部３８は、最後のレコード（レコード番号＃２）の動作情報フィールドが空いているので、受信した動作情報を最後のレコードに書き込む。
【００７６】
ここで、最後のレコード（レコード番号＃２）には、認識情報が存在する。従って、このような場合、判定部３９は、最後のレコードの認識情報を判定対象とする。
【００７７】
図１１は、図１０の場合における、補助認識情報、補助操作情報および訂正情報を示す図である。
【００７８】
続いて、判定部３９は、判定対象の認識情報の元となる指示信号に対して、認識部３３とは異なる認識処理をして、補助認識情報を生成する。本例においては、判定部３９は、最後のレコード（レコード番号＃２）の指示信号を認識処理して、「テレビジョンを点けて」という文字列の補助認識情報を生成する。
【００７９】
続いて、判定部３９は、補助認識情報を解析して補助操作情報を生成する。本例においては、判定部３９は、機器２０がテレビジョンであり、動作内容が電源ＯＮであることを表す補助操作情報を生成する。
【００８０】
続いて、判定部３９は、補助操作情報と、受信した動作情報とが一致するか否かを判断する。本例においては、補助操作情報と動作情報とが共に、機器２０がテレビジョンであり、動作内容が電源ＯＮであることを表す。従って、補助操作情報と動作情報とは一致する。補助操作情報と動作情報とが一致する場合、判定部３９は、判定対象の認識情報（レコード番号＃２の認識情報）が誤っていると判定する。
【００８１】
判定部３９により認識情報が誤っていると判定された場合、訂正部４０は、訂正情報を生成する。本例においては、訂正部４０は、判定部３９において生成された補助認識情報（「テレビジョンを点けて」）を取得して、訂正情報とする。そして、訂正部４０は、訂正情報を判定対象の認識情報に対応させて蓄積部３６に書き込む。本例においては、訂正部４０は、最後のレコード（レコード番号＃２）の訂正情報フィールドに、訂正情報（「テレビジョンを点けて」）を書き込む。
【００８２】
図１２は、動作情報が書き込まれたレコード（最後のレコード）に、認識情報が書き込まれていない場合の、蓄積部３６に記憶された情報の一例を示す図である。例えば、ユーザが「テレビジョンを点けて」と音声で指示をしたが、操作装置１０がエアコンディショナの電源をＯＮにしたとする。ユーザは、エアコンディショナの電源がＯＮとなってしまったので、リモートコントローラを用いてエアコンディショナの電源をＯＦＦにした後に、リモートコントローラを用いてテレビジョンの電源をＯＮにした。
【００８３】
この場合、受信部３８は、まず、機器２０がエアコンディショナであり、動作内容が電源ＯＦＦであることを表す動作情報を受信して、レコード番号＃２のレコードに書き込む。しかし、判定部３９は、生成した補助操作情報と、受信した動作情報とが一致せずに、認識情報は誤っていないと判定した。従って、訂正部４０は、レコード番号＃２のレコードに訂正情報を書き込まなかった。
【００８４】
続いて、受信部３８は、機器２０がテレビジョンであり、動作内容が電源ＯＮであることを表す動作情報を受信する。レコード番号＃２のレコードには、既に他の動作情報（機器２０がエアコンディショナ、動作内容が電源ＯＦＦ）が書き込まれている。従って、受信部３８は、新規レコード（レコード番号＃３）を登録する。そして、受信部３８は、新規レコード（レコード番号＃３）に、受信した動作情報を書き込む。この場合、最後のレコード（レコード番号＃３）には、認識情報が存在しない。
【００８５】
そこで、判定部３９は、最後に認識情報が書き込まれたレコードに訂正情報が書き込まれているか否かを確認し、訂正情報が書き込まれていないことを条件として、最後に書き込まれた認識情報を判定対象とする。本例においては、最後に認識情報が書き込まれたレコードは、レコード番号＃２のレコードである。レコード番号＃２のレコードには、訂正情報が書き込まれていない。従って、本例においては、判定部３９は、レコード番号＃２のレコードに書き込まれた認識情報を判定対象とする。
【００８６】
図１３は、図１２の場合における、補助認識情報、補助操作情報および訂正情報を示す図である。
【００８７】
続いて、判定部３９は、判定対象の認識情報の元となる指示信号に対して、認識部３３とは異なる認識処理をして、補助認識情報を生成する。本例においては、判定部３９は、最後に認識情報が書き込まれたレコード（レコード番号＃２）の指示信号を認識処理して、「テレビジョンを点けて」という文字列の補助認識情報を生成する。
【００８８】
続いて、判定部３９は、補助認識情報を解析して補助操作情報を生成する。本例においては、判定部３９は、機器２０がテレビジョンであり、動作内容が電源ＯＮであることを表す補助操作情報を生成する。
【００８９】
続いて、判定部３９は、補助操作情報と、受信した動作情報とが一致するか否かを判断する。本例においては、補助操作情報と動作情報とが共に、機器２０がテレビジョンであり、動作内容が電源ＯＮであることを表す。従って、補助操作情報と動作情報とは一致する。補助操作情報と動作情報とが一致する場合、判定部３９は、判定対象の認識情報が誤っていると判定する。
【００９０】
判定部３９により判定対象の認識情報が誤っていると判定された場合、訂正部４０は、訂正情報を生成する。本例においては、訂正部４０は、判定部３９において生成された補助認識情報（「テレビジョンを点けて」）を取得して、訂正情報とする。そして、訂正部４０は、訂正情報を判定対象の認識情報に対応させて蓄積部３６に書き込む。本例においては、訂正部４０は、最後に認識情報が書き込まれたレコード（レコード番号＃２）の訂正情報フィールドに、訂正情報（「テレビジョンを点けて」）を書き込む。
【００９１】
（効果）
以上のように、本実施形態に係る操作装置１０は、ユーザの音声またはジェスチャ等を認識して、機器２０を制御することができる。
【００９２】
さらに、操作装置１０は、機器２０がリモートコントローラまたは操作ボタン等により直接操作された場合、動作情報を受信する。そして、操作装置１０は、受信した動作情報に基づき、認識結果が誤っていたか否かを判定する。これにより、操作装置１０は、ユーザに負担をかけずに認識結果の誤りを検出することができる。
【００９３】
また、さらに、操作装置１０は、受信した動作情報と、認識部３３とは異なる認識処理により生成した補助認識情報に基づく補助操作情報とが一致した場合に、認識結果に誤りがあると判定する。そして、操作装置１０は、認識結果に誤りがある場合、補助認識情報を訂正情報とする。補助認識情報は、受信した動作情報と一致する補助操作情報の元となる情報である。従って、操作装置１０は、機器２０を確実に操作可能な訂正情報を生成することができる。
【００９４】
（第１変形例）
つぎに、第１実施形態の第１変形例に係る操作装置１０について説明する。第１変形例に係る操作装置１０については、図１から図１３を参照して説明した第１実施形態との相違点を説明する。
【００９５】
図１４は、第１実施形態の第１変形例の判定部３９による判定処理の流れを示す図である。第１変形例は、図９に示したフローチャートのステップＳ４４からステップＳ４６の処理が、図１４に示すステップＳ５１の処理に置き換わっている点において異なり、他の点については第１実施形態と同一である。
【００９６】
ステップＳ５１において、判定部３９は、受信した動作情報が、判定対象の認識情報に対応する操作情報を打ち消す処理を表すか否かを判定する。判定部３９は、受信した動作情報が、判定対象の認識情報に対応する操作情報を打ち消す処理を表していない場合（Ｓ５１のＮｏ）、判定対象の認識情報が誤っていないと判定する。
【００９７】
判定部３９は、受信した動作情報が、判定対象の認識情報に対応する操作情報を打ち消す処理を表す場合（Ｓ５１のＹｅｓ）、判定対象の認識情報が誤っていると判定する。より具体的には、判定部３９は、動作情報が示す機器と操作情報が示す機器とが同一であり、且つ、動作情報が示す動作内容が、操作情報が示す動作内容を打ち消す動作である場合、認識情報が誤っていると判定する。
【００９８】
ここで、打ち消す動作は、例えば、電源ＯＮした動作を、電源ＯＦＦにする動作である。また、打ち消す動作は、例えば、テレビジョンの受信チャンネルを元に戻す動作である。また、打ち消す動作は、例えば、エアコンディショナの設定温度を元に戻す動作である。
【００９９】
図１５は、最後のレコードの操作情報に示される動作を、最後のレコードの動作情報が打ち消す場合の、蓄積部３６に記憶された情報の一例を示す図である。例えば、ユーザが「テレビジョンを点けて」と音声で指示をしたが、操作装置１０がエアコンディショナの電源をＯＮにしたとする。ユーザは、エアコンディショナが電源ＯＮとなってしまったので、リモートコントローラを用いてエアコンディショナの電源をＯＦＦにしたとする。
【０１００】
この場合、最後のレコード（レコード番号＃１）の操作情報は、機器２０がエアコンディショナであり、動作内容が電源ＯＮであることを表す。また、最後のレコードの動作情報は、機器２０がエアコンディショナであり、動作内容が電源ＯＦＦであることを表す。つまり、動作情報が示す機器と操作情報が示す機器とが同一であり、且つ、動作情報が示す動作内容が、操作情報が示す動作内容を打ち消す動作である。
【０１０１】
従って、判定部３９は、判定対象の認識情報が誤っていると判定する。そして、訂正部４０は、判定対象の認識情報が書き込まれたレコード（レコード番号＃１）に、訂正情報を書き込む。
【０１０２】
図１６は、最後に書き込まれた操作情報に示される動作を、最後のレコードの動作情報が打ち消す場合の、蓄積部３６に記憶された情報の一例を示す図である。例えば、ユーザが「テレビジョンを点けて」と音声で指示をしたが、操作装置１０がエアコンディショナの電源をＯＮにしたとする。ユーザは、エアコンディショナの電源がＯＮとなってしまったので、リモートコントローラを用いてテレビジョンの電源をＯＮにした後に、リモートコントローラを用いてエアコンディショナの電源をＯＦＦにしたとする。
【０１０３】
この場合、最後に書き込まれた操作情報（レコード番号＃１の操作情報）は、機器２０がエアコンディショナであり、動作内容が電源ＯＮであることを表す。また、最後のレコード（レコード番号＃２）の動作情報は、機器２０がエアコンディショナであり、動作内容が電源ＯＦＦであることを表す。つまり、動作情報が示す機器と、最後に書き込まれた操作情報が示す機器とが同一であり、且つ、動作情報が示す動作内容が、最後に書き込まれた操作情報が示す動作内容を打ち消す動作である。
【０１０４】
従って、判定部３９は、最後に書き込まれた操作情報に対応する認識情報が誤っていると判定する。そして、訂正部４０は、最後に書き込まれた操作情報に対応する認識情報が書き込まれたレコード（レコード番号＃１）に、訂正情報を書き込む。
【０１０５】
制御部３５が誤った認識結果に基づき機器２０を制御してしまったため、意図とは異なる誤った機器２０が動作してしまったり、意図とは異なる誤った動作をしてしまったりした場合、ユーザは、リモートコントローラ等を用いてその誤りを元に戻す。第１変形例に係る操作装置１０は、動作情報に基づき、ユーザがリモートコントローラ等を用いて誤りを元に戻す動作をさせたことを検出することができる。そして、第１変形例に係る操作装置１０は、このことを検知した場合に、認識結果が誤っていたと判定することができる。
【０１０６】
これにより、第１変形例に係る操作装置１０は、ユーザに負担をかけずに認識結果の誤りを検出することができる。
【０１０７】
（第２変形例）
つぎに、第１実施形態の第２変形例に係る操作装置１０について説明する。第２変形例に係る操作装置１０については、図１から図１３を参照して説明した第１実施形態との相違点を説明する。
【０１０８】
図１７は、第１実施形態の第２変形例の判定部３９の処理内容を説明するためのタイミングチャートである。判定部３９は、動作情報を受信した場合、制御部３５が最後に機器２０を制御してから一定期間内にその動作情報を受信したか否かを確認する。判定部３９は、一定期間内に動作情報を受信した場合に、対応する認識情報が誤っていると判定する。また、判定部３９は、一定期間を経過した後に動作情報を受信した場合には、対応する認識情報が誤っていないと判定する。
【０１０９】
このような第２変形例に係る操作装置１０は、例えば、ユーザが音声等により機器２０を制御してから、比較的に短い時間で他の手段で機器２０を制御した場合には、音声等による機器２０の動作を修正した判断することができる。また、操作装置１０は、例えば、ユーザが音声等により機器２０を制御してから、一定期間を超えてから他の手段で機器２０を制御した場合には、音声等による機器２０の動作とは関連の無い操作をしたと判断することができる。
【０１１０】
また、判定部３９は、制御部３５が最後に機器２０を制御してから一定期間内にその動作情報を受信したことを、第１実施形態（図９のフローに示す処理）において、認識情報が誤っていると判定する前提条件としてもよい。また、判定部３９は、第１実施形態の第１変形例（図１４のフローに示す処理）において、認識情報が誤っていると判定する前提条件としてもよい。つまり、判定部３９は、操作情報に基づき機器２０を制御してから一定時間内に動作情報を受信したことを条件として、認識情報が誤っていると判定してもよい。
【０１１１】
（第２実施形態）
つぎに、第２実施形態に係る操作装置６０について説明する。第２実施形態に係る操作装置６０は、図１に示した第１実施形態に係る操作装置１０と略同一の構成および機能を有するので、略同一の機能を有する部材は同一の符号を付けて相違点を説明する。
【０１１２】
図１８は、第２実施形態に係る操作装置６０の構成を機器２０とともに示す図である。第２実施形態に係る操作装置６０は、受信部３８を備えない点において第１実施形態に係る操作装置１０と異なる。
【０１１３】
第２実施形態に係る判定部３９は、連続した２つの操作情報を比較して、先行する操作情報に対応する認識情報が誤っているか否かを判定する。具体的には、判定部３９は、操作情報が示す対象の機器２０が、直後の操作情報が示す対象の機器２０と同一であり、操作情報が示す動作内容を直後の操作情報が示す動作内容が打ち消している場合、対応する認識情報が誤っていると判定する。
【０１１４】
図１９は、レコード番号＃１の操作情報を、直後のレコード番号＃２の操作情報が打ち消す場合の、蓄積部３６に記憶された情報の一例を示す図である。例えば、ユーザが「テレビジョンを点けて」と音声で指示をしたが、制御部３５がエアコンディショナの電源をＯＮにしたとする。意図に反してエアコンディショナが点いてしまったので、ユーザは、続いて「エアコンディショナを消して」と音声で指示をし、制御部３５がエアコンディショナの電源をＯＦＦにしたとする。
【０１１５】
この場合、最初の音声の操作に応じて、書込部３７は、機器２０がエアコンディショナであり、動作内容が電源ＯＮであることを表す操作情報をレコード（レコード番号＃１）に書き込む。次の操作に応じて、書込部３７は、機器２０がエアコンディショナであり、動作内容が電源ＯＦＦであることを表す操作情報をレコード（レコード番号＃２）に書き込む。
【０１１６】
つまり、１回目の操作情報が示す対象の機器２０が、直後の２回目の操作情報が示す対象の機器２０と同一であり、１回目の操作情報が示す動作内容を直後の２回目の操作情報が示す動作内容が打ち消している。従って、判定部３９は、１回目の操作情報に対応する認識情報（「エアコンディショナを点けて」）が誤っていると判定する。そして、訂正部４０は、判定対象の認識情報が書き込まれたレコード（レコード番号＃１）に、訂正情報を書き込む。
【０１１７】
制御部３５が誤った認識結果に基づき機器２０を制御してしまったため、意図とは異なる誤った機器２０が動作してしまったり、意図とは異なる誤った動作をしてしまったりした場合、ユーザは、再度、操作装置１０を用いて機器２０を制御してその誤りを元に戻す。第２実施形態に係る操作装置６０は、連続する２つの操作情報を比較することにより、ユーザが操作装置１０を用いて誤りを元に戻す動作をさせたことを検出することができる。そして、第２実施形態に係る操作装置６０は、このことを検知した場合に、認識結果が誤っていたと判定することができる。
【０１１８】
これにより、第２実施形態に係る操作装置６０は、ユーザに負担をかけずに認識結果の誤りを検出することができる。
【０１１９】
（第３実施形態）
つぎに、第３実施形態に係る操作装置７０について説明する。第３実施形態に係る操作装置７０は、図１に示した第１実施形態に係る操作装置１０と略同一の構成および機能を有するので、略同一の機能を有する部材は同一の符号を付けて相違点を説明する。
【０１２０】
図２０は、第３実施形態に係る操作装置７０の構成を機器２０とともに示す図である。第３実施形態に係る操作装置７０は、受信部３８を備えない点において第１実施形態に係る操作装置１０と異なる。また、操作装置７０は、合成部７１と、対話部７２とをさらに備える。
【０１２１】
合成部７１は、解析部３４から出力された操作情報の内容をユーザに提示するための合成信号を生成する。例えば、合成部７１は、操作情報の内容を表す音声信号を生成する。また、合成部７１は、操作情報の内容を表す画像信号を生成してもよい。
【０１２２】
対話部７２は、合成信号をユーザに対して出力することにより操作情報の内容をユーザに提示する。そして、対話部７２は、操作情報の内容が正しいか否かをユーザに確認させる。例えば、対話部７２は、操作情報の内容を表す音声信号をスピーカから出力する。そして、例えば、対話部７２は、操作情報の内容が正しい（肯定的）または正しくない（否定的）の何れかの回答結果を、音声で入力する。また、例えば、対話部７２は、操作情報の内容を表す画像信号をモニタから出力する。そして、例えば、対話部７２は、肯定的または否定的の何れかの回答結果を、ボタン等により入力する。
【０１２３】
制御部３５は、対話部７２を介して操作情報が正しい（肯定的）と回答された場合、操作情報に示される機器２０を、操作情報に示される内容で動作するように制御する。また、制御部３５は、対話部７２を介して操作情報が正しくない（否定的）と回答された場合、何れの機器２０も制御しない。
【０１２４】
判定部３９は、対話部７２を介して操作情報が正しくない（否定的）と回答された場合、認識情報が誤っていると判定する。また、判定部３９は、対話部７２を介して操作情報が正しい（肯定的）と回答された場合、認識情報が誤っていないと判定する。そして、訂正部４０は、判定部３９により認識情報が誤っていると判定された場合、訂正情報を生成し、判定対象の認識情報に対応させて訂正情報を蓄積部３６に書き込む。
【０１２５】
図２１は、操作情報の内容をユーザが肯定する場合のシーケンスを示す図である。まず、ステップＳ６１において、ユーザが「テレビジョンを点けて」と音声で指示をする。続いて、ステップＳ６２において、認識部３３は、「テレビジョンを点けて」という文字列の認識情報を出力する。続いて、ステップＳ６３において、解析部３４は、機器２０がテレビジョンであり、動作内容が電源ＯＮであることを表す操作情報を出力する。続いて、ステップＳ６４において、合成部７１は、操作情報の内容をユーザに確認させるための「テレビジョンを点けますか」という音声信号である合成信号を生成する。続いて、ステップＳ６５において、対話部７２は、合成信号をスピーカから出力する。
【０１２６】
続いて、ステップＳ６６において、ユーザは、回答をする。ここでは、ユーザは、操作装置７０の認識が正しいので、「はい」という肯定的な回答を音声で発する。対話部７２は、ユーザからの回答を受信および解釈して、制御部３５および判定部３９に通知する。続いて、ステップＳ６７において、制御部３５は、肯定的な回答を取得したので、操作情報に従って機器２０を制御する。
【０１２７】
図２２は、操作情報の内容をユーザが否定する場合のシーケンスを示す図である。まず、ステップＳ７１において、ユーザが「テレビジョンを点けて」と音声で指示をする。続いて、ステップＳ７２において、認識部３３は、誤認識をしたため、「エアコンディショナを点けて」という文字列の認識情報を出力する。続いて、ステップＳ７３において、解析部３４は、機器２０がエアコンディショナであり、動作内容が電源ＯＮであることを表す操作情報を出力する。続いて、ステップＳ７４において、合成部７１は、操作情報の内容をユーザに確認させるための「エアコンディショナを点けますか」という音声信号である合成信号を生成する。続いて、ステップＳ７５において、対話部７２は、合成信号をスピーカから出力する。
【０１２８】
続いて、ステップＳ７６において、ユーザは、回答をする。ここでは、ユーザは、操作装置７０の認識が誤っているので、「いいえ」という否定的な回答を音声で発する。対話部７２は、ユーザからの回答を受信および解釈して、制御部３５および判定部３９に通知する。続いて、ステップＳ７７において、判定部３９は、否定的な回答を取得したので、認識情報が誤っていると判定する。続いて、ステップＳ７８において、訂正部４０は、訂正情報を生成して、蓄積部３６に書き込む。
【０１２９】
第３実施形態に係る操作装置７０は、操作情報の内容をユーザに提示して、操作情報の内容が正しいか否かを確認してから、機器２０を制御する。これにより、操作装置７０は、ユーザの意図通りに確実に機器２０を制御することができる。さらに、操作装置７０は、認識結果が誤っていることを確実に判定することができる。このように、第３実施形態に係る操作装置７０は、ユーザに負担をかけずに認識結果の誤りを検出することができる。
【０１３０】
図２３は、実施形態に係る情報処理装置２００のハードウェア構成を示す図である。操作装置１０，６０，７０は、例えば図２３に示すようなハードウェア構成の情報処理装置２００により実現される。
【０１３１】
この情報処理装置２００は、ＣＰＵ（Central  Processing  Unit）２０１と、ＲＡＭ（Random  Access  Memory）２０２と、ＲＯＭ（Read  Only  Memory）２０３と、操作入力装置２０４と、表示装置２０５と、記憶装置２０６と、通信装置２０７と、マイクロフォン２０８と、カメラ２０９と、スピーカ２１０とを備える。そして、これらの各部は、バスにより接続される。
【０１３２】
ＣＰＵ２０１は、プログラムに従って演算処理および制御処理等を実行するプロセッサである。ＣＰＵ２０１は、ＲＡＭ２０２の所定領域を作業領域として、ＲＯＭ２０３および記憶装置２０６等に記憶されたプログラムとの協働により各種処理を実行する。
【０１３３】
ＲＡＭ２０２は、ＳＤＲＡＭ（Synchronous  Dynamic  Random  Access  Memory）等のメモリである。ＲＡＭ２０２は、ＣＰＵ２０１の作業領域として機能する。ＲＯＭ２０３は、プログラムおよび各種情報を書き換え不可能に記憶するメモリである。
【０１３４】
操作入力装置２０４は、マウスおよびキーボード等の入力デバイスである。操作入力装置２０４は、ユーザから操作入力された情報を指示信号として受け付け、指示信号をＣＰＵ２０１に出力する。
【０１３５】
表示装置２０５は、ＬＣＤ（Liquid  Crystal  Display）等の表示デバイスである。表示装置２０５は、ＣＰＵ２０１からの表示信号に基づいて、各種情報を表示する。
【０１３６】
記憶装置２０６は、フラッシュメモリ等の半導体による記憶媒体、または、磁気的若しくは光学的に記録可能な記憶媒体等にデータを書き込みおよび読み出しをする装置である。記憶装置２０６は、ＣＰＵ２０１からの制御に応じて、記憶媒体にデータの書き込みおよび読み出しをする。通信装置２０７は、ＣＰＵ２０１からの制御に応じて外部の機器とネットワークを介して通信する。
【０１３７】
マイクロフォン２０８は、ユーザから発せられた音声の指示を電気信号に変換する。カメラ２０９は、ユーザを撮像して、ユーザのジェスチャ等を含む画像信号を生成する。スピーカ２１０は、合成音声等を出力する。
【０１３８】
情報処理装置２００で実行されるプログラムは、入力モジュール、認識モジュール、解析モジュール、制御モジュール、書込モジュール、受信モジュール、判定モジュール、訂正モジュールおよび学習モジュールを含むモジュール構成となっている。このプログラムは、ＣＰＵ２０１（プロセッサ）によりＲＡＭ２０２上に展開して実行されることにより、情報処理装置２００を、入力部３１、モデル記憶部３２、認識部３３、解析部３４、制御部３５、蓄積部３６、書込部３７、受信部３８、判定部３９、訂正部４０および学習部４１として機能させる。なお、情報処理装置２００は、入力部３１、認識部３３、解析部３４、制御部３５、書込部３７、受信部３８、判定部３９、訂正部４０および学習部４１の少なくとも一部をハードウェア回路（例えば半導体集積回路）により実現した構成であってもよい。
【０１３９】
また、情報処理装置２００で実行されるプログラムは、コンピュータにインストール可能な形式または実行可能な形式のファイルで、ＣＤ−ＲＯＭ、フレキシブルディスク、ＣＤ−Ｒ、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【０１４０】
また、情報処理装置２００で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、情報処理装置２００で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。また、情報処理装置２００で実行されるプログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【０１４１】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１４２】
１０  操作装置
２０  機器
３１  入力部
３２  モデル記憶部
３３  認識部
３４  解析部
３５  制御部
３６  蓄積部
３７  書込部
３８  受信部
３９  判定部
４０  訂正部
４１  学習部
５１  補助認識部
５２  補助解析部
５３  一致検出部
６０  操作装置
７０  操作装置
７１  合成部
７２  対話部
【図１】
0006548994.tif 000002
【図２】
0006548994.tif 000003
【図３】
0006548994.tif 000004
【図４】
0006548994.tif 000005
【図５】
0006548994.tif 000006
【図６】
0006548994.tif 000007
【図７】
0006548994.tif 000008
【図８】
0006548994.tif 000009
【図９】
0006548994.tif 000010
【図１０】
0006548994.tif 000011
【図１１】
0006548994.tif 000012
【図１２】
0006548994.tif 000013
【図１３】
0006548994.tif 000014
【図１４】
0006548994.tif 000015
【図１５】
0006548994.tif 000016
【図１６】
0006548994.tif 000017
【図１７】
0006548994.tif 000018
【図１８】
0006548994.tif 000019
【図１９】
0006548994.tif 000020
【図２０】
0006548994.tif 000021
【図２１】
0006548994.tif 000022
【図２２】
0006548994.tif 000023
【図２３】
0006548994.tif 000024