(57)【要約】【課題】ユーザがトリガーワードを発話しなくても、ユーザの命令を誤認識する可能性を低減する。【解決手段】スマートスピーカ２の命令解釈部２４は、収音されたユーザの音声を解析することにより解釈される命令であって、制御対象機器の状態を第１状態から第２状態に変化させることを要求する命令を特定する。待機時間決定部２５は、特定された命令を実行するまでの待機時間を特定する。命令実行部２８は、特定された待機時間が経過するまでに、制御対象機器の状態が第１状態から第２状態に変化しなかった場合に、特定された命令を実行する。【選択図】図１
2019168636.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの音声を収音する収音部と、
前記収音された音声を解析することにより解釈される命令であって、制御対象機器の状態を第１状態から第２状態に変化させることを要求する命令を特定する命令特定部と、
前記特定された命令を実行するまでの待機時間を特定する待機時間特定部と、
前記特定された待機時間が経過するまでに、前記制御対象機器の状態が前記第１状態から前記第２状態に変化しなかった場合に、前記特定された命令を実行する命令実行部と
を備える情報処理装置。
【請求項２】
前記待機時間は、前記制御対象機器の種別に応じて決定されることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記待機時間は、前記制御対象機器についてなされた命令の履歴に基づいて決定されることを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記待機時間は、前記ユーザと、前記制御対象機器又は前記制御対象機器を操作するための装置の間の距離に応じて決定されることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記命令実行部は、前記待機時間が経過するまでに、前記制御対象機器の状態が前記第１状態から前記第２状態に変化しなかった場合であって、かつ、前記制御対象機器又は前記制御対象機器を操作するための装置に接近する者がいなかった場合であって、かつ、前記ユーザとは異なるユーザの音声が収音されなかった場合に、前記特定された命令を実行することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記命令実行部は、前記収音された音声を解析することにより認識される前記ユーザの感情が所定の感情である場合に、前記命令を実行しないことを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記命令実行部は、前記特定された命令が、他者への呼び掛けを示唆する所定のキーワードを含む場合に、前記命令を実行しないことを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
コンピュータを、
ユーザの音声を収音する収音部と、
前記収音された音声を解析することにより解釈される命令であって、制御対象機器の状態を第１状態から第２状態に変化させることを要求する命令を特定する命令特定部と、
前記特定された命令を実行するまでの待機時間を特定する待機時間特定部と、
前記特定された待機時間が経過するまでに、前記制御対象機器の状態が前記第１状態から前記第２状態に変化しなかった場合に、前記特定された命令を実行する命令実行部
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声による命令を認識して実行するための技術に関する。
【背景技術】
【０００２】
従来、スマートスピーカと呼ばれる音声対話型のＡＩアシスタントが知られている。スマートスピーカは、ユーザが所定のトリガーワードを発話すると起動し、トリガーワードの後に発話された命令を自機への命令として認識して実行する（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−７６１１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、命令のたびにトリガーワードを発話することはユーザにとって煩わしい。とはいえ、トリガーワードをなくしてしまうと、ユーザから他者宛ての命令やユーザの独り言を、自機への命令であるとスマートスピーカが誤認識する可能性がある。
【０００５】
本発明はこのような事情に鑑みてなされたものであり、ユーザがトリガーワードを発話しなくても、ユーザの命令を誤認識する可能性を低減することを目的とする。
【課題を解決するための手段】
【０００６】
上記の課題を解決するため、本発明に係る情報処理装置は、ユーザの音声を収音する収音部と、前記収音された音声を解析することにより解釈される命令であって、制御対象機器の状態を第１状態から第２状態に変化させることを要求する命令を特定する命令特定部と、前記特定された命令を実行するまでの待機時間を特定する待機時間特定部と、前記特定された待機時間が経過するまでに、前記制御対象機器の状態が前記第１状態から前記第２状態に変化しなかった場合に、前記特定された命令を実行する命令実行部とを備える。
【０００７】
上記の情報処理装置において、前記待機時間は、前記制御対象機器の種別に応じて決定されてもよい。
【０００８】
上記の情報処理装置において、前記待機時間は、前記制御対象機器についてなされた命令の履歴に基づいて決定されてもよい。
【０００９】
上記の情報処理装置において、前記待機時間は、前記ユーザと、前記制御対象機器又は前記制御対象機器を操作するための装置の間の距離に応じて決定されてもよい。
【００１０】
上記の情報処理装置において、前記命令実行部は、前記待機時間が経過するまでに、前記制御対象機器の状態が前記第１状態から前記第２状態に変化しなかった場合であって、かつ、前記制御対象機器又は前記制御対象機器を操作するための装置に接近する者がいなかった場合であって、かつ、前記ユーザとは異なるユーザの音声が収音されなかった場合に、前記特定された命令を実行するようにしてもよい。
【００１１】
上記の情報処理装置において、前記命令実行部は、前記収音された音声を解析することにより認識される前記ユーザの感情が所定の感情である場合に、前記命令を実行しないようにしてもよい。
【００１２】
上記の情報処理装置において、前記命令実行部は、前記特定された命令が、他者への呼び掛けを示唆する所定のキーワードを含む場合に、前記命令を実行しないようにしてもよい。
【００１３】
また、本発明に係るプログラムは、コンピュータを、ユーザの音声を収音する収音部と、前記収音された音声を解析することにより解釈される命令であって、制御対象機器の状態を第１状態から第２状態に変化させることを要求する命令を特定する命令特定部と、前記特定された命令を実行するまでの待機時間を特定する待機時間特定部と、前記特定された待機時間が経過するまでに、前記制御対象機器の状態が前記第１状態から前記第２状態に変化しなかった場合に、前記特定された命令を実行する命令実行部として機能させるためのプログラムである。
【発明の効果】
【００１４】
本発明によれば、ユーザがトリガーワードを発話しなくても、ユーザの命令を誤認識する可能性を低減することができる。
【図面の簡単な説明】
【００１５】
【図１】スマートスピーカシステム１の一例を示す図
【図２】命令テーブル２２の一例を示す図
【図３】ユーザＤＢ３１の一例を示す図
【図４】機器ＤＢ３２の一例を示す図
【図５】フィールドマップＤＢ３３の一例を示す図
【図６】スマートスピーカシステム１の動作の一例を示すフローチャート
【発明を実施するための形態】
【００１６】
１．実施形態
１−１．スマートスピーカシステム１の構成
図１は、本発明の一実施形態に係るスマートスピーカシステム１の一例を示す図である。スマートスピーカシステム１は、３台以上のスマートスピーカ２と、スマートスピーカ２の動作を支援するサーバ３を備える。３台以上のスマートスピーカ２は、例えば、ユーザの部屋の各所に設置される。各スマートスピーカ２とサーバ３は、無線ＬＡＮやインターネット等の通信回線４を介して互いに接続される。
【００１７】
１−２．スマートスピーカ２の構成
スマートスピーカ２は、音声対話型のＡＩアシスタントである。スマートスピーカ２は、ユーザが命令を発話すると、発話された命令を認識して実行する。このスマートスピーカ２は、具体的には、ＣＰＵ等のプロセッサと、フラッシュメモリ等のメモリと、外部装置と通信するためのネットワーク通信部と、タッチパネル等の操作入力部と、ユーザの音声を収音するためのマイクと、音声を出力するためのスピーカを備える。スマートスピーカ２のプロセッサが、メモリに記憶されているプログラムを実行すると、図１に示す各機能が実現される。なお、このプログラムは、インターネット等のネットワークや非一時的な記録媒体を介して頒布可能なプログラムである。
【００１８】
ユーザ認証部２１は、ユーザの音声がマイクにより収音されて音声データが生成されると、生成された音声データを、その生成時刻と対応付けて命令テーブル２２に格納する。図２は、命令テーブル２２の一例を示す図である。命令テーブル２２は、同図に示すように、生成時刻と、音声データと、発話者のユーザＩＤと、音声データを解析して得られるテキストデータと、制御対象の機器名と、制御内容と、命令実行時刻と、制御対象の状態変化フラグと、制御対象への接近フラグを対応付けて格納する。ユーザ認証部２１は、音声データを命令テーブル２２に格納すると、当該音声データとその生成時刻を含む認証要求をサーバ３に対して送信する。そして、サーバ３から認証結果を受信し、受信した認証結果にユーザＩＤが含まれる場合には、当該ユーザＩＤを、処理対象の音声データと対応付けて命令テーブル２２に格納する。一方、受信した認証結果が、認証失敗を示すものである場合には、ユーザＩＤの格納を省略する。
【００１９】
音声認識部２３は、命令テーブル２２に格納されている音声データのうち、ユーザＩＤと対応付けられている音声データを取得して、音声認識処理によりテキストデータを生成する。そして、生成したテキストデータを、処理対象の音声データと対応付けて命令テーブル２２に格納する。
【００２０】
命令解釈部２４は、命令テーブル２２に格納されているテキストデータを解析して、ユーザの命令を特定する。ここで、ユーザの命令とは、制御対象機器の状態を現在の状態から別の状態に変化させることを要求する命令である。命令解釈部２４は、具体的には、制御対象の機器名と、ユーザが要求する変化の内容、すなわち制御内容を特定する。ここで、制御対象の機器とは、スマートスピーカ２か、又はスマートスピーカ２に有線又は無線で接続される電子機器（図示略）である。この電子機器とは、例えば、テレビ、エアコン、扇風機、シーリングライト、オーディオ機器である。一方、制御内容とは、例えば、電源のオンオフ、数値設定（具体的には、選局、音量設定、温度設定、風量設定、調光など）、動作モードの設定、機能の実行（具体的には、情報の提供、映像又は音声の再生、アラーム設定、通話など）である。命令解釈部２４がユーザの命令を特定する方法としては、一例として、テキストデータから所定のキーワードを抽出して特定する方法がある。具体的には、制御対象機器名を表すキーワードと制御内容を表すキーワードを予めテーブルに登録しておき、テキストデータから登録されているキーワードを抽出することにより、命令を特定する。その場合、制御対象機器名を表すキーワードを抽出できない場合には、制御対象がスマートスピーカ２であると判定する。命令解釈部２４は、テキストデータを解析して制御対象機器名と制御内容を特定すると、処理対象のテキストデータと対応付けて命令テーブル２２に格納する。
【００２１】
待機時間決定部２５は、命令解釈部２４により特定された命令を実行するまでの待機時間を決定する。具体的にはまず、命令テーブル２２から制御対象機器名を取得し、取得した機器名が示す制御対象機器の情報をサーバ３に要求する。そして、サーバ３から当該情報を受信すると、受信した情報のうち、設定時間と実行比率に基づいて待機時間を算出する。具体的には、設定時間に、「１」から実行比率の値を減算して求めた値を乗算することにより、待機時間を算出する。例えば、設定時間が「０．５秒」で実行比率が「８０％」の場合には、待機時間として「０．１秒［＝０．５＊（１−０．８）］」を算出する。算出される待機時間は、実行比率が高いほど短くなる。待機時間を算出すると、処理対象の制御対象機器と対応付けられている生成時刻に、算出した待機時間を加算することにより、命令実行時刻を算出する。命令実行時刻を算出すると、処理対象の制御対象機器と対応付けて命令テーブル２２に格納する。その際、サーバ３から受信した機器の位置座標も命令テーブル２２に格納する。
【００２２】
機器状態判定部２６は、命令テーブル２２にその名称が格納されている制御対象機器の状態が、ユーザが要求する制御後の状態に変化したか否かを判定する。具体的には、その制御対象機器に対して状態データを要求し、取得した状態データが示す状態が、ユーザが要求する制御後の状態を示すか否かを判定する。この判定の結果、取得した状態データが示す状態が、ユーザが要求する制御後の状態を示す場合には、命令テーブル２２において処理対象の制御対象機器と対応付けられている状態変化フラグを「ＹＥＳ」に変更する。一方、取得した状態データが示す状態が、ユーザが要求する制御後の状態を示すものでない場合には、状態変化フラグを「ＮＯ」のまま維持する。
【００２３】
接近判定部２７は、命令テーブル２２にその名称が格納されている制御対象機器又は当該機器を操作するための装置に接近する者がいるか否かを判定する。ここで、制御対象機器を操作するための装置とは、リモートコントロール装置や、部屋の壁面に設置されたスイッチである。具体的にはまず、命令テーブル２２においてその制御対象機器と対応付けられている機器の位置座標を特定する。次に、各ユーザの移動の軌跡を示すフィールドマップ情報をサーバ３に要求する。その際、処理対象の機器と命令テーブル２２において対応付けられている生成時刻をサーバ３に送信する。そして、サーバ３からフィールドマップ情報を受信すると、受信したフィールドマップ情報と特定した機器の位置座標を基に、制御対象機器等に接近する者がいるか否かを判定する。具体的には、機器との距離が所定値以上短くなったユーザがいるか否かを判定する。この判定の結果、制御対象機器等に接近する者がいる場合には、命令テーブル２２において処理対象の制御対象機器と対応付けられている接近フラグを「ＹＥＳ」に変更する。一方、制御対象機器等に接近する者がいない場合には、接近フラグを「ＮＯ」のまま維持する。
【００２４】
命令実行部２８は、命令テーブル２２に登録されている命令であって、その命令実行時刻が到来した命令であり、かつ、状態変化フラグと接近フラグの両方が「ＮＯ」である命令を実行する。言い換えると、命令実行部２８は、待機時間決定部２５により決定された待機時間が経過するまでに、制御対象機器の状態が、ユーザが要求する制御後の状態に変化しなかった命令であって、かつ、制御対象機器等に接近する者がいなかった命令を実行する。実行する命令の制御対象が自機である場合には、命令実行部２８は、ユーザが要求する制御を実行する。一方、命令の制御対象が、スマートスピーカ２に接続される電子機器である場合には、命令実行部２８は、当該電子機器に対してユーザが要求する制御を指示する。命令実行部２８は、命令実行時刻が到来すると、その命令の実行の有無にかかわらず、当該命令のレコードを命令テーブル２２から削除する。
【００２５】
１−３．サーバ３の構成
サーバ３は、ＣＰＵ等のプロセッサと、ＨＤＤ等の記憶装置と、外部装置と通信するためのネットワーク通信部とを備える。サーバ３の記憶装置は、図１に示す各データベースを記憶する。
【００２６】
図３は、ユーザＤＢ３１の一例を示す図である。ユーザＤＢ３１は、同図に示すように、スマートスピーカ２の使用権限を有するユーザのユーザＩＤと声紋データを対応付けて格納する。
【００２７】
図４は、機器ＤＢ３２の一例を示す図である。この機器ＤＢ３２は、スマートスピーカ２を介して制御可能な各機器（自機を含む）の情報を格納するためのデータベースである。機器ＤＢ３２は、同図に示すように、機器ＩＤと、機器名と、設定時間と、命令回数と、命令実行回数と、実行比率と、機器の位置座標を対応付けて格納する。ここで、設定時間は、機器の種別ごとに設定可能となっている。そのため、この設定時間に基づいて算出される待機時間は、機器の種別に応じて決定されることになる。命令回数は、その機器についてスマートスピーカ２が命令を受け付けた回数である。命令実行回数は、その機器についてスマートスピーカ２が実際に命令を実行した回数である。実行比率とは、命令回数に対する命令実行回数の割合である。この実行比率は、命令の履歴である命令回数と命令実行回数に基づいて算出される値であるため、この実行比率に基づいて算出される待機時間は、命令の履歴に基づいて決定されることになる。機器の位置座標は、機器又は当該機器を操作するための装置の位置を示し、ユーザにより予め登録される。
【００２８】
図５は、フィールドマップＤＢ３３の一例を示す図である。このフィールドマップＤＢ３３は、発話したユーザの位置の履歴を記録するためのデータベースである。フィールドマップＤＢ３３は、同図に示すように、発話したユーザのユーザＩＤと、ユーザの位置座標と、発話時刻を対応付けて格納する。
【００２９】
サーバ３のプロセッサが、記憶装置に記憶されているプログラムを実行すると、図１に示す各機能が実現される。なお、このプログラムは、インターネット等のネットワークや非一時的な記録媒体を介して頒布可能なプログラムである。
【００３０】
声紋データ生成部３４は、スマートスピーカ２から認証要求を受信すると、受信した認証要求に含まれる音声データを声紋データに変換する。
【００３１】
声紋照合部３５は、声紋データ生成部３４により生成された声紋データを、ユーザＤＢ３１に格納されている声紋データと照合して、対応するユーザＩＤを特定する。照合の結果、対応するユーザＩＤを特定できた場合には、特定したユーザＩＤを含む認証結果をスマートスピーカ２に送信する。一方、対応するユーザＩＤを特定できなかった場合には、認証に失敗した旨を通知する認証結果をスマートスピーカ２に送信する。
【００３２】
測位部３６は、３台以上のスマートスピーカ２から同一のユーザについて連続して認証要求が受信されると、受信された認証要求に含まれる生成時刻の時間差に基づいて当該ユーザの位置座標を推定する。そして、推定した位置座標を、声紋照合部３５により特定されたユーザＩＤと、最も早い生成時刻とに対応付けて、フィールドマップＤＢ３３に格納する。
なお、本実施形態に係るスマートスピーカシステム１が３台以上のスマートスピーカ２を備えている理由は、スマートスピーカ２にユーザの音声が到達する時間差からユーザの位置座標を推定するためである。変形例として、ユーザの位置座標の推定を省略する場合には、スマートスピーカ２の台数は１台でもよい。
【００３３】
機器情報提供部３７は、スマートスピーカ２から制御対象機器の情報要求を受信すると、要求された情報を機器ＤＢ３２から検索して、スマートスピーカ２に対して送信する。
【００３４】
フィールドマップ情報提供部３８は、スマートスピーカ２からフィールドマップ情報の要求を受信すると、受信した要求に含まれる生成時刻以降の時刻と対応付けられているユーザの位置座標とユーザＩＤの組をフィールドマップＤＢ３３から検索して、フィールドマップ情報としてスマートスピーカ２に送信する。
【００３５】
１−４．スマートスピーカシステム１の動作
図６は、スマートスピーカシステム１の動作の一例を示すフローチャートである。
スマートスピーカ２のマイクは、ユーザの音声を収音すると、収音した音声を表す音声データを生成する（Ｓ１）。スマートスピーカ２のユーザ認証部２１は、生成された音声データを、その生成時刻と対応付けて命令テーブル２２に格納する。また、ユーザ認証部２１は、その音声データと生成時刻を含む認証要求をサーバ３に対して送信する（Ｓ２）。
【００３６】
この認証要求を受信したサーバ３の声紋データ生成部３４は、受信した認証要求に含まれる音声データを声紋データに変換する。サーバ３の声紋照合部３５は、生成された声紋データを、ユーザＤＢ３１に格納されている声紋データと照合して、対応するユーザＩＤを特定する。照合の結果、対応するユーザＩＤを特定できた場合には、特定したユーザＩＤを含む認証結果をスマートスピーカ２に送信する。一方、対応するユーザＩＤを特定できなかった場合には、認証に失敗した旨を通知する認証結果をスマートスピーカ２に送信する。
【００３７】
認証結果を受信したスマートスピーカ２のユーザ認証部２１は、受信した認証結果にユーザＩＤが含まれる場合には（Ｓ３のＹＥＳ）、当該ユーザＩＤを、処理対象の音声データと対応付けて命令テーブル２２に格納する。一方、受信した認証結果が、認証失敗を示すものである場合には（Ｓ３のＮＯ）、ユーザＩＤの格納を省略する。その結果、本動作は終了する。
【００３８】
ユーザＩＤが命令テーブル２２に格納されると、スマートスピーカ２の音声認識部２３は、格納されたユーザＩＤと対応付けられている音声データを取得して、音声認識処理によりテキストデータを生成する（Ｓ４）。そして、生成したテキストデータを、処理対象の音声データと対応付けて命令テーブル２２に格納する。テキストデータが命令テーブル２２に格納されると、スマートスピーカ２の命令解釈部２４は、格納されたテキストデータを解析して、ユーザの命令を特定する（Ｓ５）。具体的には、制御対象機器名と制御内容を特定して、処理対象のテキストデータと対応付けて命令テーブル２２に格納する。制御対象機器名が命令テーブルに格納されると、スマートスピーカ２の待機時間決定部２５は、格納された機器名が示す制御対象機器の情報をサーバ３に要求する（Ｓ６）。
【００３９】
この情報要求を受信したサーバ３の機器情報提供部３７は、制御対象機器の情報を機器ＤＢ３２から検索して、スマートスピーカ２に対して送信する。
【００４０】
制御対象機器の情報を受信した待機時間決定部２５は、受信した情報のうち、設定時間と実行比率に基づいて待機時間を算出する（Ｓ７）。具体的には、設定時間に、「１」から実行比率の値を減算して求めた値を乗算することにより、待機時間を算出する。待機時間を算出すると、命令テーブル２２においてその制御対象機器と対応付けられている生成時刻に、算出した待機時間を加算することにより、命令実行時刻を算出する（Ｓ８）。命令実行時刻を算出すると、処理対象の制御対象機器と対応付けて命令テーブル２２に格納する。その際、サーバ３から受信した機器の位置座標も命令テーブル２２に格納する。
【００４１】
命令実行時刻が命令テーブル２２に格納されると、スマートスピーカ２の機器状態判定部２６は、格納された命令実行時刻と対応付けられている制御対象機器の状態が、ユーザが要求する制御後の状態に変化したか否かを判定する（Ｓ９）。具体的には、その制御対象機器に対して状態データを要求し、取得した状態データが示す状態が、ユーザが要求する制御後の状態を示すか否かを判定する。この判定の結果、取得した状態データが示す状態が、ユーザが要求する制御後の状態を示す場合には、命令テーブル２２において処理対象の制御対象機器と対応付けられている状態変化フラグを「ＹＥＳ」に変更する（Ｓ９のＹＥＳ）。その結果、スマートスピーカ２の命令実行部２８はユーザの命令を実行せず、本動作は終了する。一方、取得した状態データが示す状態が、ユーザが要求する制御後の状態を示すものでない場合には、状態変化フラグを「ＮＯ」のまま維持する（Ｓ９のＮＯ）。
【００４２】
また、命令実行時刻が命令テーブル２２に格納されると、スマートスピーカ２の接近判定部２７は、格納された命令実行時刻と対応付けられている制御対象機器の位置座標を特定する（Ｓ１０）。そして、フィールドマップ情報をサーバ３に要求する（Ｓ１１）。その際、制御対象機器と命令テーブル２２において対応付けられている生成時刻をサーバ３に送信する。
【００４３】
この情報要求を受信したサーバ３のフィールドマップ情報提供部３８は、受信した要求に含まれる生成時刻以降の時刻と対応付けられているユーザの位置座標とユーザＩＤの組をフィールドマップＤＢ３３から検索して、フィールドマップ情報としてスマートスピーカ２に送信する。
【００４４】
フィールドマップ情報を受信した接近判定部２７は、受信したフィールドマップ情報と、ステップＳ１０で特定した制御対象機器の位置座標を基に、制御対象機器又は当該機器を操作するための装置に接近する者がいるか否かを判定する（Ｓ１２）。この判定の結果、制御対象機器等に接近する者がいる場合には、命令テーブル２２において処理対象の制御対象機器と対応付けられている接近フラグを「ＹＥＳ」に変更する（Ｓ１２のＹＥＳ）。その結果、スマートスピーカ２の命令実行部２８はユーザの命令を実行せず、本動作は終了する。一方、制御対象機器等に接近する者がいない場合には、状態変化フラグを「ＮＯ」のまま維持する（Ｓ１２のＮＯ）。
【００４５】
また、命令実行時刻が命令テーブル２２に格納されると、スマートスピーカ２の命令実行部２８は、格納された命令実行時刻を監視する。そして、命令実行時刻が到来するまでは命令の実行を保留する（Ｓ１３のＮＯ）。その間、ステップＳ９〜Ｓ１２が繰り返し実行される。そして、状態変化フラグと接近フラグのいずれもが「ＮＯ」の状態で命令実行時刻が到来すると（Ｓ１３のＹＥＳ）、命令を実行する（Ｓ１４）。
以上が、スマートスピーカシステム１の動作についての説明である。
【００４６】
以上説明したスマートスピーカシステム１では、ユーザの命令がただちに実行されずに、待機時間が経過するまで実行が保留される。そして、この待機時間内に、制御対象機器の状態の変化や制御対象機器へのユーザの接近が検出されると（すなわち、ユーザの命令が他者宛ての命令か又は独り言であることを示す事象が検出されると）、命令の実行が中止される。そのため、本システムによれば、ユーザの他者宛ての命令や独り言を、スマートスピーカ２が自機宛ての命令と誤認識して実行する可能性を低減することができる。
【００４７】
２．変形例
上記の実施形態は下記のように変形してもよい。なお、以下に記載する２以上の変形例は互いに組み合わせてもよい。
【００４８】
２−１．変形例１
スマートスピーカ２が実行する処理の一部をサーバ３側で実行するようにしてもよい。例えば、音声認識部２３、命令解釈部２４、待機時間決定部２５、機器状態判定部２６又は接近判定部２７が実行する処理をサーバ３側で実行するようにしてもよい。
【００４９】
音声認識部２３の処理をサーバ３で実行する場合、スマートスピーカ２は音声データをサーバ３に送信して、この音声データを音声認識処理して得られるテキストデータをサーバ３から受信する。命令解釈部２４の処理をサーバ３で実行する場合は、スマートスピーカ２はテキストデータをサーバ３に送信して、このテキストデータを解釈して得られる制御対象機器名と制御内容をサーバ３から受信する。待機時間決定部２５の処理をサーバ３で実行する場合は、スマートスピーカ２は制御対象機器名をサーバ３に送信して、この機器名に対応する設定時間と実行比率に基づいて算出される待機時間をサーバ３から受信する。機器状態判定部２６の処理をサーバ３で実行する場合は、スマートスピーカ２は制御対象機器名と制御内容をサーバ３に送信して、この機器名が示す機器の状態が制御後の状態に変化すると、その旨の通知をサーバ３から受信する。接近判定部２７の処理をサーバ３で実行する場合は、スマートスピーカ２は制御対象機器名と音声データの生成時刻とをサーバ３に送信して、この機器名が示す機器等にユーザが接近すると、その旨の通知をサーバ３から受信する。
【００５０】
上記と逆に、サーバ３が実行する処理の一部をスマートスピーカ２側で実行するようにしてもよい。例えば、声紋データ生成部３４、声紋照合部３５、測位部３６、機器情報提供部３７又はフィールドマップ情報提供部３８が実行する処理をスマートスピーカ２側で実行するようにしてもよい。
【００５１】
２−２．変形例２
スマートスピーカ２の待機時間決定部２５は、上記の実施形態とは異なる方法で待機時間を算出するようにしてもよい。例えば、設定時間から、実行比率に応じた値を減算することにより、待機時間を算出するようにしてもよい。ここで、実行比率に応じた値は、実行比率に比例するように設定される。そのため、算出される待機時間は、実行比率が高いほど短くなる。ここで、実行比率が高いほど待機時間を短くしている理由は、実行比率が高いということはスマートスピーカ２が実行する可能性が高いからである。
【００５２】
または、待機時間決定部２５は、命令を発話したユーザと、制御対象の機器又は当該機器を操作するための装置の間の距離に応じて待機時間を決定するようにしてもよい。具体的には、命令を発話したユーザと制御対象の機器等との距離が近いほど、長めの待機時間を設定するようにしてもよい。これは、命令を発話したユーザが制御対象機器等の近くに存在する場合には、当該ユーザが自ら当該機器を操作する可能性が高いと考えられるからである。この場合、待機時間決定部２５は、命令を発話したユーザの位置座標を、フィールドマップＤＢ３３を参照して特定し、制御対象機器の位置座標を、機器ＤＢ３２を参照して特定し、両者の距離を算出する。そして、算出した距離に応じた値を設定時間から減算することにより、待機時間を算出する。ここで、算出した距離に応じた値は、距離に比例するように設定される。そのため、算出される待機時間は、距離が近くなるほど短くなる。
なお、上記とは逆に、命令を発話したユーザと制御対象の機器等との距離が遠いほど、長めの待機時間を設定するようにしてもよい。
以上説明した待機時間の決定方法はあくまで一例であり、上記以外の方法で決定してもよい。
【００５３】
２−３．変形例３
スマートスピーカ２の機器状態判定部２６は、上記の実施形態とは異なる方法で、制御対象機器の状態が、ユーザが要求する制御後の状態に変化したか否かを判定するようにしてもよい。例えば、スマートスピーカ２に、制御対象機器を撮影するためのカメラを備えさせ、ユーザが要求する制御後の状態が機器の外観から判別できるものである場合には（例えば、テレビのオンオフ）、カメラ画像を解析することにより、制御後の状態へ変化したか否かを判定するようにしてもよい。
【００５４】
２−４．変形例４
ユーザの測位は、上記の実施形態とは異なる方法で実行されてもよい。例えば、スマートスピーカ２が設置される部屋に複数台のカメラを設置し、カメラ画像から人物を検出して、各々の人物の位置を追跡するようにしてもよい。このようにカメラを用いて測位を行った場合、音声の到達時間の差に基づいて測位を行う必要がなくなり、１つの部屋に複数台のスマートスピーカ２を設置する必要がなくなる。
【００５５】
２−５．変形例５
スマートスピーカ２の命令実行部２８は、ユーザが命令を発話した後に別のユーザがその命令に対する応答を発話した場合には、当該命令の実行を中止してもよい。これは、別のユーザが応答したということは、その命令はその別のユーザに宛てたものである可能性が高いと考えられるからである。この場合、命令実行部２８は、命令テーブル２２に登録されている命令の命令実行時刻が到来すると、状態変化フラグと接近フラグの両方が「ＮＯ」であり、かつ、命令テーブル２２においてその命令の後に別のユーザによる発話が登録されていない場合に限り、当該命令を実行する。言い換えると、命令実行部２８は、待機時間決定部２５により決定された待機時間が経過するまでに、制御対象機器の状態が、ユーザが要求する制御後の状態に変化しなかった命令であって、かつ、制御対象機器等に接近する者がいなかった命令であり、かつ、異なるユーザの音声が収音されなかった命令を実行する。
【００５６】
２−６．変形例６
スマートスピーカ２は、命令を発話したユーザの感情（又は気分）に基づいて、当該命令が自機宛てか否かを判定するようにしてもよい。具体的には、命令を発話したユーザの感情が平静（又は平常）である場合に限り、当該命令を実行するようにしてもよい。これは、機械に対して命令するときは、人は通常、感情を込めない可能性が高いと考えられるからである。この場合、スマートスピーカ２は、命令テーブル２２に格納されている音声データを感情解析して、発話者の感情を推定するための感情解析部を備える。この感情解析部は、例えば、音声の物理的特徴量を解析することで発話者の感情を推定する。感情解析技術としては、例えば、「Empath（登録商標）」と呼ばれる技術がある。感情解析の結果、発話者の感情が平静以外である場合には（例えば、喜び、怒り、悲しみなど）、音声認識部２３は、処理対象となっている音声データの音声認識処理を中止する。その結果、この音声データが表す命令は、命令実行部２８により実行されない。
なお、この感情解析部の処理は、サーバ３で実行してもよい。
【００５７】
２−７．変形例７
スマートスピーカ２の命令解釈部２４は、ユーザの命令に、他者への呼び掛けを示唆する所定のキーワードが含まれる場合に、当該命令の解釈を中止してもよい。具体的には、ユーザの命令に「お母さん」、「お父さん」といったキーワードが含まれる場合に、当該命令の解釈を中止してもよい。これは、ユーザの命令中に他者への呼び掛けが含まれる場合には、当該命令はその他者に宛てたものである可能性が高いと考えられるからである。この場合、命令解釈部２４は、例えば、事前に登録されたキーワードテーブルを参照して、ユーザの命令に、他者への呼び掛けを示唆するキーワードが含まれるか否かを判定する。そして、キーワードが含まれる場合には、当該命令の解釈を中止する。その結果、当該命令は、命令実行部２８により実行されない。
【００５８】
２−８．変形例８
スマートスピーカ２が備える各機能（図１参照）は、他の情報処理装置に備えさせてもよい。例えば、スマートフォンやタブレット端末や、上述した電子機器に備えさせてもよい。
【符号の説明】
【００５９】
１…スマートスピーカシステム、２…スマートスピーカ、３…サーバ、４…通信回線、２１…ユーザ認証部、２２…命令テーブル、２３…音声認識部、２４…命令解釈部、２５…待機時間決定部、２６…機器状態判定部、２７…接近判定部、２８…命令実行部、３１…ユーザＤＢ、３２…機器ＤＢ、３３…フィールドマップＤＢ、３４…声紋データ生成部、３５…声紋照合部、３６…測位部、３７…機器情報提供部、３８…フィールドマップ情報提供部
【図１】
2019168636.tif 000003
【図２】
2019168636.tif 000004
【図３】
2019168636.tif 000005
【図４】
2019168636.tif 000006
【図５】
2019168636.tif 000007
【図６】
2019168636.tif 000008
【手続補正書】
【提出日】平成31年4月9日(2019.4.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ユーザの音声を収音する収音部と、
前記収音された音声を解析することにより解釈される命令であって、制御対象機器の状態を第１状態から第２状態に変化させることを要求する命令を特定する命令特定部と、
前記特定された命令を実行するまでの待機時間を特定する待機時間特定部と、
前記特定された待機時間が経過するまでに、前記制御対象機器の状態が前記第１状態から前記第２状態に変化しなかった場合に、前記特定された命令を実行する命令実行部と
を備える情報処理装置。
【請求項２】
前記待機時間は、前記制御対象機器の種別に応じて決定されることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記待機時間は、前記制御対象機器についてなされた命令の履歴に基づいて決定されることを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記待機時間は、前記ユーザと、前記制御対象機器又は前記制御対象機器を操作するための装置の間の距離に応じて決定されることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記命令実行部は、前記待機時間が経過するまでに、前記制御対象機器の状態が前記第１状態から前記第２状態に変化しなかった場合であって、かつ、前記制御対象機器又は前記制御対象機器を操作するための装置に接近する者がいなかった場合であって、かつ、前記ユーザとは異なるユーザの音声が収音されなかった場合に、前記特定された命令を実行することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記命令実行部は、前記収音された音声を解析することにより認識される前記ユーザの感情が所定の感情である場合に、前記命令を実行しないことを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
コンピュータを、
ユーザの音声を収音する収音部と、
前記収音された音声を解析することにより解釈される命令であって、制御対象機器の状態を第１状態から第２状態に変化させることを要求する命令を特定する命令特定部と、
前記特定された命令を実行するまでの待機時間を特定する待機時間特定部と、
前記特定された待機時間が経過するまでに、前記制御対象機器の状態が前記第１状態から前記第２状態に変化しなかった場合に、前記特定された命令を実行する命令実行部
として機能させるためのプログラム。