(57)【要約】【課題】音声認識処理を用いた新たな情報提供方法を提供する。【解決手段】ある実施形態における情報提供方法は、ディスプレイを有する表示機器とユーザの音声を入力可能な音声入力機器とに接続され、ユーザの音声に応答して表示機器を介して情報を提供する情報提供システムにおける情報提供方法であって、表示機器のディスプレイに選択可能な複数の項目を含む表示画面を表示させる表示画面情報を、表示機器に送信し、ディスプレイの表示画面において、複数の項目の中の一の項目が選択されたことを示す項目選択情報を受信し、一の項目が選択されているときに、音声入力装置から指示内容を表す第１音声情報を含む音声指示を受信した場合、第１音声情報から指示内容を認識し、音声指示に指示語を示す第２音声情報が含まれているか否かを判断し、音声指示に第２音声情報が含まれていると判断した場合は、一の項目について指示内容を実行する。【選択図】図１
2020101822.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの音声を入力可能な音声入力装置に接続された機器の制御方法であって、
前記機器のコンピュータに、
ユーザによる入力装置への入力によって、前記機器により提示された複数の項目の中の一の項目が選択されたことを検知させ、
前記一の項目が選択されたことが検知されているときに、前記音声入力装置から指示内容を表す第１音声情報を含む音声指示が受信された場合、前記音声指示を他のコンピュータへ送信させ、
前記一の項目が選択されたことが検知されていないときに、前記音声入力装置から指示内容を表す第２音声情報を含む音声指示が受信された場合、前記第２音声情報から前記指示内容を認識させて前記音声指示が実行可能であるか否かを判断させ、
前記指示内容が実行可能であると判断されたとき、前記指示内容を実行させ、前記指示内容が実行できないと判断されたとき、前記音声指示を他のコンピュータへ送信させる、制御方法。
【請求項２】
前記機器の前記コンピュータに、さらに、
前記第１音声情報に指示語を示す第３音声情報が含まれているか否かを判断させ、
前記一の項目が選択されたことが検知され、前記第１音声情報から前記指示内容が認識され、かつ、前記第１音声情報に前記第３音声情報が含まれていると判断された場合、前記指示内容を実行させ、
前記音声指示に前記第３音声情報が含まれていると判断されなかった場合、前記音声指示を前記他のコンピュータへ送信させる、
請求項１に記載の制御方法。
【請求項３】
前記指示内容は、前記一の項目に関連する情報を検索する指示であり、前記指示内容に基づく検索結果をユーザへ通知させる、請求項１または２に記載の制御方法。
【請求項４】
前記機器はネットワークを介してサーバと接続され、前記一の項目に関連する情報を、前記サーバ内のデータベースを参照して検索させる、請求項３に記載の制御方法。
【請求項５】
前記機器はさらに、音声を出力可能な音声出力装置と接続され、前記検索結果を前記音声出力装置からの音声として出力させる検索結果情報を、前記音声出力装置に送信させる、請求項３に記載の制御方法。
【請求項６】
ユーザの音声を入力可能な音声入力装置に接続された機器に実行させるコンピュータプログラムであって、
前記コンピュータプログラムは前記機器のコンピュータに、
ユーザによる入力装置への入力によって、前記機器により提示された複数の項目の中の一の項目が選択されたことを検知させ、
前記一の項目が選択されたことが検知されているときに、前記音声入力装置から指示内容を表す第１音声情報を含む音声指示が受信された場合、前記音声指示を他のコンピュータへ送信させ、
前記一の項目が選択されたことが検知されていないときに、前記音声入力装置から指示内容を表す第２音声情報を含む音声指示が受信された場合、前記第２音声情報から前記指示内容を認識させて前記音声指示が実行可能であるか否かを判断させ、
前記指示内容が実行可能であると判断されたとき、前記指示内容を実行させ、前記指示内容が実行できないと判断されたとき、前記音声指示を他のコンピュータへ送信させる、
コンピュータプログラム。
【請求項７】
ユーザの音声を入力可能な音声入力装置に接続された機器であって、
制御回路と、
通信回路と、
を備え、
前記制御回路は、
ユーザによる入力装置への入力によって、前記機器により提示された複数の項目の中の一の項目が選択されたことを検知し、
前記一の項目が選択されたことを検知しているときに、前記音声入力装置から指示内容を表す第１音声情報を含む音声指示が受信された場合、前記音声指示を他のコンピュータに送信するように前記通信回路に指示し、
前記一の項目が選択されたことを検知していないときに、前記音声入力装置から指示内容を表す第２音声情報を含む音声指示が受信された場合、前記第２音声情報から前記指示内容を認識して前記音声指示が実行可能であるか否かを判断し、
前記指示内容が実行可能であると判断したとき、前記指示内容を実行し、前記指示内容が実行できないと判断したとき、前記音声指示を他のコンピュータへ送信するように前記通信回路に指示する、
機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、音声認識機能を用いた情報提供方法および機器の制御方法に関する。
【背景技術】
【０００２】
従来、マイクロフォン（以下、「マイク」と称することがある。）によって音声を受け付け、受け付けた音声を認識し、内容を解釈することで、機器を制御する装置がある。そのようなマイクロフォンは、機器に接続される場合もあれば、機器に付属の入力装置（例えば、リモートコントローラ（以下、「リモコン」と称することがある。））に内蔵される場合もある。音声による機器の制御によって、例えば電源のON、OFFや機器の一括制御などこれまでにない利便性をユーザに提供できる。
【０００３】
機器を制御する制御コマンドには、音声認識による入力が適している制御コマンドとそうでない制御コマンドとがある。そのため、リモコンなどの入力装置と音声の両方を組み合わせた、マルチモーダルな入力方法を利用した機器制御が望ましい。特許文献１は、リモコンと音声認識とを組み合わせた機器制御方法を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−２６０５４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述の音声認識機能を用いた機器制御方法においては、実用化に向けてさらなる改善が必要であった。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の一態様にかかる方法は、ディスプレイを有する表示機器とユーザの音声を入力可能な音声入力機器とに接続され、ユーザの音声に応答して表示機器を介して情報を提供する情報提供システムにおける情報提供方法であって、表示機器のディスプレイに選択可能な複数の項目を含む表示画面を表示させる表示画面情報を、表示機器に送信し、ディスプレイの表示画面において、複数の項目の中の一の項目が選択されたことを示す項目選択情報を受信し、一の項目が選択されているときに、音声入力装置から指示内容を表す第１音声情報を含む音声指示を受信した場合、第１音声情報から指示内容を認識し、音声指示に指示語を示す第２音声情報が含まれているか否かを判断し、音声指示に第２音声情報が含まれていると判断した場合は、一の項目について前記指示内容を実行する。
【０００７】
本発明の他の態様に係る方法は、ユーザの音声を入力可能な音声入力装置に接続され、ディスプレイを有する表示機器の制御方法であって、表示機器のコンピュータに、選択可能な複数の項目を含む表示画面をディスプレイに表示させ、ディスプレイの表示画面において、複数の項目の中の一の項目が選択されたことを検知させ、一の項目が選択されたことを検知しているときに、音声入力装置から指示内容を表す第１音声情報を含む音声指示を受信した場合、第１音声情報から指示内容を認識させて前記指示内容を実行させ、前記一の項目が選択されたことが検知されていないとき、または、前記指示内容が実行できないと判断されたとき、前記音声指示を他のコンピュータへ送信させる。
【０００８】
上記の各態様によって、機器制御中に生じるサーバとクライアントのアクセスが減るため、操作性が向上する。
【０００９】
上記の各態様は、システム、装置、またはコンピュータプログラムを用いて実現され得る。あるいは、システム、装置、およびコンピュータプログラムの組み合わせによっても実現され得る。
【発明の効果】
【００１０】
上記態様により、さらなる改善を実現できた。
【図面の簡単な説明】
【００１１】
【図１】例示的な実施の形態１における処理の概要を示すシーケンス図である。
【図２】例示的な実施の形態１による音声認識機能を用いた情報提示方法の構成を示す図である。
【図３】例示的な実施の形態１におけるサーバとクライアントとの通信処理を示す第１のシーケンスを示す図である。
【図４】例示的な実施の形態１におけるサーバでの処理を示す図である。
【図５】例示的な実施の形態１におけるクライアントでの処理を示す図である。
【図６】地図上の位置を指定する例を示す図である。
【図７Ａ】画面上の人物位置を指定する例を示す第１の図である。
【図７Ｂ】画面上の人物位置を指定する例を示す第２の図である。
【図８Ａ】地図上の位置を基準にした検索の例を示す第１の図である。
【図８Ｂ】地図上の位置を基準にした検索の例を示す第２の図である。
【図９】例示的な実施の形態１におけるサーバとクライアントとの通信処理を示す第２のシーケンスを示す図である。
【図１０】例示的な実施の形態１における処理の概要を示す第１のシーケンス図である。
【図１１】例示的な実施の形態１における処理の概要を示す第２のシーケンス図である。
【図１２】例示的な実施の形態２による音声認識機能を用いた情報提示方法の構成を示す図である。
【図１３】例示的な実施の形態２におけるサーバとクライアントとの通信処理を示すシーケンスを示す図である。
【図１４】例示的な実施の形態２におけるサーバでの処理を示す図である。
【図１５】例示的な実施の形態２におけるクライアントでの処理を示す図である。
【図１６】おすすめ番組一覧から番組内容を表示する例を示す図である。
【図１７】従来の音声認識機能を用いた情報提示方法の構成を示す図である。
【発明を実施するための形態】
【００１２】
（本発明の基礎となった知見）
本発明の基礎となった知見は以下のとおりである。
【００１３】
本願発明者らは、マイクによって音声を受け付け、受け付けた音声を認識し、内容を解釈することで、機器を制御する装置の実用化に向けて、さらなる改善が必要であると考えた。
【００１４】
音声による機器の制御では、複数の制御コマンドを一つの音声コマンドに割当てることで、簡単な言葉で機器を制御できる。ボタン数が多いリモコンの操作に不慣れなユーザであっても自然な音声で機器を制御できるという利点がある。
【００１５】
一方で、全ての操作を音声で行うことは利用者の操作性を損ねる。このことを、テレビ（ＴＶ）を例にして説明する。
【００１６】
図１６は、テレビに表示される画面の一例を示す図である。例えば、「おすすめ番組一覧」という音声コマンドにより、図１６に示すように、番組の一覧９０１が画面上に表示されるとする。これは、例えばＴＶが、リモコン９０２を介して利用者の音声を受け付け、「おすすめ番組一覧」という言葉（すなわち音声）を認識し、その内容を解釈することで、機器（すなわちＴＶ）がユーザに合わせたおすすめ番組を提示する機能である。ここで、番組を指定するためには、利用者は音声で「下」または「上」といったカーソル移動のコマンドを発話する。
【００１７】
表示されたおすすめ番組が多い場合、一画面に表示される番組の数が多くなる。表示画面が複数ページに渡ることもある。このような場合、番組を指定するためには、利用者は音声で「下」、「上」、「次のページ」、または「前のページ」といったカーソル移動のコマンドを数多く発話する必要がある。音声を繰り返し入力する場合、音声認識を誤る可能性が高くなる。このように、何度も同じ言葉を発する方法は、使いやすいとは言いがたい。
【００１８】
このような課題について、例えば、特許文献１は、リモコンと音声認識との組み合わせによってテレビの操作を簡便に行うことが可能な音声認識方法を開示している。
【００１９】
この従来の方法では、上述のような音声コマンドによっておすすめ番組一覧が表示された場合には、利用者はまずリモコンで番組を指定する。その後、利用者は指示代名詞（「指示語」または「指示文字列」と称することもある。）とその指定した番組を制御する言葉（すなわち指示内容）との対で構成される音声を入力することで、リモコンで指定した番組の制御を行う。例えば、番組一覧９０１が表示されているとき、利用者がリモコン９０２で番組を指定すると、画面状態が、番組が選択されたことがわかるような画面状態９０３に変わる。その後、利用者が「その内容を表示」と発話すると、番組内容表示画面９０４のようにリモコンで指定された番組の内容が表示される。この例では、「その」が指示語に該当し、「内容を表示」が指示内容に該当する。本明細書では、指示内容を表す音声情報を「第１音声情報」、指示語を表す音声情報を「第２音声情報」と称することがある。
【００２０】
図１７は、特許文献１に記載された従来の音声認識方法を実現する番組情報提示装置１０００の構成例を示す。図１７において、マイクロフォン１００１によって音声が入力され、音声認識部１００２によって音声認識が行われる。指示文字列検出部１００３は、音声認識結果から指示文字列を抽出する。音声合成部１００４は、ユーザに音声で応答するための合成音声を生成する。制御信号生成処理１００５は、機器を制御する信号を生成する。入力装置１００６は、マウスやタッチパネル、キーボード、リモートコントローラ等で構成されている。入力装置１００６は、複数の番組の情報が表示されている場合に、ユーザが複数の番組から一つの番組を選択するために用いられる。入力装置１００６は、画面に表示されている複数の番組から一つの番組がユーザによって選択されたときの選択位置の情報を受け付ける。出力部１００７は、選択された番組を表示する出力処理、制御信号生成処理で生成された信号に基づく機器の制御、制御結果の表示、音声合成処理で生成された合成音声の再生などの出力処理を行う。
【００２１】
リモコンに備え付けられているボタンの代わりに音声コマンドを利用する場合は、発生する言葉の数や種類はボタンの数に限られる。そのため、リモコンのボタンに記載されている名称、あるいは、そのボタンに対応する音声のコマンドが、認識用の辞書として予め登録されていればよい。辞書に登録される個々の言葉について、年齢または性別の異なる様々な人の音声を集めて音声認識のための音響モデルおよび言語モデルが構築される。誤認識が減るように、認識用の辞書またはモデルを手作業でカスタマイズするなどの工夫が行われることもある。
【００２２】
しかしながら、家電が宅外のネットワークに繋がるようになったことで、番組情報をウェブから取得することや、TV画面を利用したウェブ検索が可能になった。この場合、TVに関連しない言葉が入力される可能性も生じるため、どのような言葉が入力されるかを事前に知ることは難しい。つまり、事前に決められた単語群に特化した音響モデルおよび言語モデルを用意することができない。その結果、音声認識精度が低くなり、音声によってユーザが望む語彙を入力することが難しくなる。
【００２３】
リモコンに記載された言葉以外の言葉を高精度に認識するためには、大規模なデータ群によって音声認識のためのモデルを構築することが必要になる。大規模なデータ群を用いて統計的音声認識モデルを構築することで、事前に未知な単語でも高精度に認識することができる。統計的なモデルに基づく音声認識処理は、メモリ、計算量の必要なリソースが大きいため、ネットワークを介して機器に繋がるサーバコンピュータ（以下、単に「サーバ」と称することがある。）上で実行される。
【００２４】
特許文献１に開示されている技術では、制御対象となる機器本体と、音声認識処理部とが一体となっていた。そのため、機器本体を制御するリモコンに記載の内容については事前に音声認識辞書を用意することができる。しかし、ウェブ検索などの自由発話になると、音声認識精度が低かった。そのため、ユーザは使いにくく感じることが多く、音声認識の利用範囲を制限せざるを得なかった。
【００２５】
以上のような考察から、機器が受け付けた音声信号の音声認識処理をサーバで行うことが実用上は望ましい。しかしながら、ネットワークを介して音声認識処理を行う場合には、音声信号を送信してから応答が返ってくるまでの時間が長い。すなわち、処理遅延が発生するという問題がある。
【００２６】
この問題が生じるシステムの一例として、音声認識処理を行い、認識結果から指示文字列の検出を行った後、指示文字列の検出結果に応じて音声の応答や制御信号を返すシステムを想定する。音声認識処理をサーバで実行する場合、音声認識処理と指示文字列の検出、認識結果に基づく音声応答、機器制御までの一連の処理がサーバで行われる。この場合、音声認識結果の中に指示文字列が検出されると、その度にサーバからクライアントである機器にアクセスが発生する。これは、指示文字列（例えば、「その」等）が示す対象の項目が何であるかを問い合わせるためである。これにより、サーバとクライアントの間の通信処理が終わるまでは、それ以降の処理を行うことができない。このため、処理の遅延が生じ得る。このシステムでは、指示文字列が検出される度にサーバからクライアントにアクセスを行うことによる処理遅延を低減することが要求される。しかし、この要求を満たすための技術的な解決策に関して検討はされていなかった。
【００２７】
このような課題を解決するための、本音声認識機能を用いた機器制御方法の一態様は、ユーザからの入力を受け付ける入力処理と、入力処理によって画面上の一部が指定されているか否かの状態検出を行う選択状態検出処理と、選択された一の項目の画面上の位置に関する内部情報を取得する選択情報検出処理と、ユーザに応答を返す出力処理と、外部装置と通信する通信処理と、音声を入力する音声入力処理と、音声の認識を行う音声認識処理と、音声認識結果に基づいて指示文字列の検出を行う指示文字列検出処理と、ユーザによる項目選択の状態を管理する選択状態管理処理を包含し、制御対象機器とは異なるサーバに音声入力処理と音声認識処理と指示文字列検出処理と選択状態管理処理とを実行させ、選択状態検出処理で選択状態が変更されたことを検知するたびに、選択状態管理処理の状態を更新し、更新結果が選択状態である場合のみ、指示文字列検出処理は選択情報検出処理で検出された選択情報を取得する。
【００２８】
選択状態管理処理により、入力装置によって一の項目（例えば番組を示す項目）が選択されているか否かの状態に関する情報をサーバが保持する。このため、サーバ上で音声認識処理が行われる場合に、サーバ上で保持された状態に応じて、サーバからクライアントにアクセスするか否かを選択することができる。その結果、処理遅延を減らすことが可能になる。
【００２９】
上述の機器制御方法は、対話管理処理と応答文生成処理をさらに包含し、ユーザと対話型の処理によって機器の制御を行ってもよい。
【００３０】
上述の機器制御方法は、音声合成処理と制御信号生成処理をさらに包含し、出力処理でユーザに応答を返す際に、合成された音声で応答を返す、あるいは、生成された制御信号で機器制御することでユーザに応答を返してもよい。
【００３１】
選択状態管理処理は、入力処理で画面上の一部が選択されているかの状態のみを管理してもよい。
【００３２】
選択状態管理処理は、入力処理で画面上の一部が選択されているかの状態に加えて、選択された場所に対応する内部情報も管理してもよい。
【００３３】
入力処理は、テレビ番組に関するメタデータか、テレビ番組のコンテンツのいずれかを指定してもよい。
【００３４】
テレビ番組に関するメタデータは、番組名、チャンネル名、内容、注目度、おすすめ度のいずれかであってもよい。
【００３５】
テレビ番組のコンテンツには、人物、動物、車、地図、文字、数字のいずれかを含んでもよい。
【００３６】
さらに、上述の課題を解決するための情報提供方法の一態様は、ディスプレイを有する表示機器とユーザの音声を入力可能な音声入力機器とに接続され、ユーザの音声に応答して表示機器を介して情報を提供する情報提供システムにおける情報提供方法であって、表示機器のディスプレイに選択可能な複数の項目を含む表示画面を表示させる表示画面情報を、表示機器に送信し、ディスプレイの表示画面において、複数の項目の中の一の項目が選択されたことを示す項目選択情報を受信し、一の項目が選択されているときに、音声入力装置から指示内容を表す第１音声情報を含む音声指示を受信した場合、第１音声情報から指示内容を認識し、音声指示に指示語を示す第２音声情報が含まれているか否かを判断し、音声指示に第２音声情報が含まれていると判断した場合は、一の項目について指示内容を実行する。
【００３７】
指示内容は、一の項目に関連する情報を検索する指示であり、指示内容に基づく検索結果をユーザへ通知してもよい。
【００３８】
検索結果をディスプレイに表示させる検索結果情報を、表示機器に送信してもよい。
【００３９】
情報提供システムはさらに、音声を出力可能な音声出力装置と接続され、検索結果を音声出力装置からの音声として出力させる検索結果情報を、音声出力装置に送信してもよい。
【００４０】
複数の項目は、テレビ番組に関するメタデータまたはテレビ番組のコンテンツを示す項目であってもよい。
【００４１】
メタデータは、テレビ番組名、チャンネル名、テレビ番組の概要、テレビ番組の注目度、テレビ番組のおすすめ度の少なくとも１つを示していてもよい。
【００４２】
テレビ番組のコンテンツは、人物、動物、車、地図、文字、数字の少なくとも１つを示す情報を含んでもよい。
【００４３】
表示画面は特定地域における地図を表し、複数の項目の各々は地図上の任意の座標、または地図上のオブジェクトであってもよい。
【００４４】
オブジェクトは、地図上の建造物を示してもよい。
【００４５】
オブジェクトは、地図上の道路を示してもよい。
【００４６】
オブジェクトは、地図上の地名を示してもよい。
【００４７】
本開示の音声認識機能を用いた機器制御方法の他の態様は、ユーザからの入力を受け付ける入力処理と、入力処理によって画面上の一部が指定されているか否かの状態検出を行う選択状態検出処理と、選択された一の項目の画面上の位置に関する内部情報を取得する選択情報検出処理と、ユーザに応答を返す出力処理と、外部装置と通信する通信処理と、音声を入力する音声入力処理と、音声の認識を行う第一の音声認識処理と、第一の音声認識処理とは異なる方法で学習された第二の音声認識処理と、音声認識結果に基づいて指示文字列の検出を行う指示文字列検出処理と、音声認識結果に基づいて命令文字列の検出を行う命令文字列検出処理を包含し、選択状態検出処理において、入力処理によって画面上の一部が選択されており、かつ、指示文字列と命令文字列の両方が検出されたときは、第一の音声認識処理の結果に従って出力処理を行い、画面上の一部が選択されていない、あるいは、指示文字列と命令文字列のいずれかが検出されていないときには、第二の音声認識処理の結果に従って出力処理を行う。
【００４８】
これにより、入力処理による画面指定があり、指示文字列と命令文字列が検出された場合には、サーバからの音声認識結果を待つこと無く、ユーザに応答を返すことができる。このため、従来よりも音声対話における応答の遅延を削減することが可能になる。
【００４９】
上述の機器制御方法は、対話管理処理と応答文生成処理をさらに包含し、ユーザと対話型の処理によって機器の制御を行ってもよい。
【００５０】
上述の機器制御方法は、合成音声を生成する音声合成処理、および制御信号を生成する制御信号生成処理をさらに包含し、出力処理でユーザに応答を返す際に、合成された音声で応答を返す、あるいは、生成された制御信号で機器を制御することでユーザに応答を返してもよい。
【００５１】
選択状態検出処理は、入力処理で画面上の一部が選択されているかの状態のみを管理してもよい。
【００５２】
選択状態検出処理は、入力処理で画面上の一部が選択されているかの状態に加えて、選択された場所に対応する内部情報も管理してもよい。
【００５３】
入力処理は、テレビ番組に関するメタデータか、テレビ番組のコンテンツのいずれかを指定してもよい。
【００５４】
テレビ番組に関するメタデータは、番組名、チャンネル名、内容、注目度、おすすめ度のいずれかであってもよい。
【００５５】
テレビ番組のコンテンツには、人物、動物、車、地図、文字、数字のいずれかを含んでもよい。
【００５６】
さらに、上述の課題を解決するための制御方法の他の態様は、ユーザの音声を入力可能な音声入力装置に接続され、ディスプレイを有する表示機器の制御方法であって、表示機器のコンピュータに、選択可能な複数の項目を含む表示画面をディスプレイに表示させ、ディスプレイの表示画面において、複数の項目の中の一の項目が選択されたことを検知させ、一の項目が選択されたことが検知されているときに、音声入力装置から指示内容を表す第１音声情報を含む音声指示が受信された場合、第１音声情報から指示内容を認識させて指示内容を実行させ、一の項目が選択されたことが検知されていないとき、または、指示内容が実行できないと判断されたとき、音声指示を他のコンピュータへ送信させる。
【００５７】
表示機器のコンピュータに、さらに、音声指示に指示語を示す第２音声情報が含まれているか否かを判断させ、一の項目が選択されたことが検知され、第１音声情報から指示内容が認識され、かつ、音声指示に第２音声情報が含まれていると判断された場合、指示内容を実行させ、一の項目が選択されたことが検知されなかった場合、第１音声情報から前記指示内容が認識されなかった場合、または音声指示に第２音声情報が含まれていると判断されなかった場合、音声指示を前記他のコンピュータへ送信させてもよい。
【００５８】
指示内容は、一の項目に関連する情報を検索する指示であり、制御方法は、指示内容に基づく検索結果をユーザへ通知させてもよい。
【００５９】
表示機器はネットワークを介してサーバと接続され、一の項目に関連する情報を、サーバ内のデータベースを参照して検索してもよい。
【００６０】
制御方法は、検索結果をディスプレイに表示させてもよい。
【００６１】
音声入力装置は、表示機器に含まれてもよい。
【００６２】
表示機器はさらに、音声を出力可能な音声出力装置と接続され、制御方法は、検索結果を音声出力装置からの音声として出力させる検索結果情報を、音声出力装置に送信させてもよい。
【００６３】
音声出力装置は、表示機器に含まれてもよい。
【００６４】
複数の項目は、テレビ番組に関するメタデータまたはテレビ番組のコンテンツを示す項目であってもよい。
【００６５】
メタデータは、テレビ番組名、チャンネル名、テレビ番組の概容、テレビ番組の注目度、およびテレビ番組のおすすめ度の少なくとも１つを示してもよい。
【００６６】
テレビ番組のコンテンツは、人物、動物、車、地図、文字、数字の少なくとも１つを示す情報を含んでもよい。
【００６７】
表示画面は特定地域における地図を表し、複数の項目の各々は地図上の任意の座標、または地図上のオブジェクトであってもよい。
【００６８】
オブジェクトは、地図上の建造物を示してもよい。
【００６９】
オブジェクトは、地図上の道路を示してもよい。
【００７０】
オブジェクトは、地図上の地名を示してもよい。
【００７１】
さらに、上述の課題を解決するためのコンピュータプログラムの一態様は、ユーザの音声を入力可能な音声入力装置に接続され、ディスプレイを有する表示機器に実行させるコンピュータプログラムであって、前記コンピュータプログラムは前記表示機器のコンピュータに、選択可能な複数の項目を含む表示画面を前記ディスプレイに表示させ、前記ディスプレイの表示画面において、前記複数の項目の中の一の項目が選択されたことを検知させ、前記一の項目が選択されたことが検知されているときに、前記音声入力装置から指示内容を表す第１音声情報を含む音声指示が受信された場合、前記第１音声情報から前記指示内容を認識させて前記指示内容を実行させ、前記一の項目が選択されたことが検知されていないとき、または、前記指示内容が実行できないと判断されたとき、前記音声指示を他のコンピュータへ送信させる。
【００７２】
本開示の表示機器の一態様は、ユーザの音声を入力可能な音声入力装置に接続された表示機器であって、ディスプレイと、制御回路と、通信回路と、を備え、前記制御回路は、選択可能な複数の項目を含む表示画面を前記ディスプレイに表示させ、前記ディスプレイの前記表示画面において、前記複数の項目の中の一の項目が選択されたことを検知し、前記一の項目が選択されたことを検知しているときに、前記音声入力装置から指示内容を表す第１音声情報を含む音声指示が受信された場合、前記第１音声情報から前記指示内容を認識して前記指示内容を実行し、前記一の項目が選択されたことを検知していないとき、または、前記指示内容が実行できないと判断したとき、前記音声指示を他のコンピュータへ送信するように前記通信回路に指示する。
【００７３】
なお、以下で説明する実施の形態は、いずれも本発明の一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また全ての実施の形態において、各々の内容を組み合わせることも出来る。
【００７４】
以下、添付の図面を参照しながら、本発明の例示的な実施の形態を説明する。
【００７５】
（実施の形態１）
図１は、本実施の形態における情報提供システムが表示機器に対して実行する情報提供方法の概要を示すシーケンス図である。本実施の形態における情報提供システムは、ディスプレイを有する表示機器とユーザの音声を入力可能な音声入力機器とに接続される。ここで「接続される」とは、電気信号の送受信ができるように電気的に接続されることを意味する。「接続」は、有線に限らず無線でもよい。２つの機器の間に他の機器（例えば、スイッチングハブ、ルータ、パーソナルコンピュータ（ＰＣ）等）が接続され、それらを介して電気信号の送受信が行われ得る状態も、２つの機器が接続されている状態に該当する。
【００７６】
情報提供システムは、典型的にはサーバコンピュータを含む１以上の機器の組み合わせであり得る。情報提供システムは、選択可能な複数の項目を含む表示画面を表示機器のディスプレイに表示させる表示画面情報を表示機器に送信する。それを受けて、表示機器は表示画面をディスプレイに表示する（ステップＳ１００）。この表示画面は、選択可能な複数の項目を含む。複数の項目の各々は、例えば図１３に示すようなテレビ番組を示す項目であり得るが、これに限定されない。複数の項目の各々は、テレビ番組に関するメタデータまたはテレビ番組のコンテンツを示す項目であってもよい。メタデータは、例えば、テレビ番組名、チャンネル名、テレビ番組の概要、テレビ番組の注目度、およびテレビ番組のおすすめ度の少なくとも１つを示すデータであり得る。テレビ番組のコンテンツは、例えば人物、動物、車、地図、文字、数字の少なくとも１つを示す情報を含み得る。表示画面が地図の画像を含む場合、複数の項目の各々は、地図上の位置を特定する座標情報であり得る。
【００７７】
ユーザは、表示機器のディスプレイに表示された複数の項目の中から、一の項目を選択することができる。例えば、テレビ番組を示す複数の項目が表示されている場合、その中から１つの項目を選択することができる。表示機器がタッチスクリーンをディスプレイとして備えている場合、項目の選択はタッチスクリーンへの直接的な接触によって行われ得る。表示機器が外付けのディスプレイに表示画面を表示させる場合、項目の選択は例えばマウスの操作によって行われ得る。前者の場合はタッチスクリーンが、後者の場合はマウスが入力装置として機能する。
【００７８】
ディスプレイの表示画面において、複数の項目の中の一の項目が選択されると、表示機器は、そのことを示す情報（「項目選択情報」と称する。）を、情報提供システムに含まれるサーバに送信する。サーバは、項目選択情報を受信すると、どの項目が選択されたかを判断し、各項目の選択／非選択の状態を記録（または更新）する（ステップＳ１１０）。この処理を選択状態管理処理と称する。項目選択情報の送信および選択状態管理処理は、ユーザが項目の選択を変更する度に実行される。言い換えれば、ユーザの項目の選択（または変更）に起因する選択状態管理処理は、音声指示の前に何回でも実行され得る。
【００７９】
ユーザは、一の項目を選択した後、その項目に対する音声指示を行う。例えば、選択した項目に対応するテレビ番組を再生する指示や、そのテレビ番組の概要を表示したりする指示を音声によって行うことができる。そのような指示は、例えば、「それを再生」、「その内容を表示」などと発声することによって行われ得る。この指示は、「を再生」、「内容を表示」といった指示内容を示す第１音声情報と、「それ」、「その」といった指示語を示す第２音声情報とを含み得る。第１音声情報は、表示機器の制御コマンドと関連付けられる。表示機器が何等かの音声指示をユーザから受け付けると、表示機器はその音声情報をサーバに送信する。
【００８０】
サーバは、音声情報を受信すると、一の項目が選択されているか否か（ステップＳ１１１）、音声指示が第１音声情報を含むか否か（ステップＳ１１２）、音声指示が第２音声情報を含むか否か（ステップＳ１１３）を判定する。これらの３つのステップのいずれかでＮｏと判定した場合、サーバは指示内容を無視し、待機状態に戻る。あるいは、指示内容を実行しない旨を示す情報を表示機器に送信してもよい。
【００８１】
ステップＳ１１１では、サーバは、選択状態管理処理（Ｓ１１０）において更新された選択状態の情報を参照し、一の項目が選択されているか否かを判定する。一の項目が選択されている場合、ステップＳ１１２に進む。ステップＳ１１２では、サーバは、音声指示が第１音声情報（すなわち指示内容）を含むか否かを判定する。音声指示が第１音声情報を含むと判定した場合、サーバは、指示内容を認識する（ステップＳ１１３）。続くステップＳ１１４において、サーバは、音声指示が第２音声情報（すなわち指示語）を含むか否かを判定する。音声指示が第２音声情報を含むと判定した場合、サーバは、指示内容を実行する（ステップＳ１１５）。指示内容の実行は、例えば、要求された指示に対応する機器の制御情報などを表示機器に送信することによって行われる。なお、ステップＳ１１１、Ｓ１１２、Ｓ１１４の順序は図１に示す順序に限らず、相互に入れ替えてもよい。
【００８２】
このような方法により、選択状態管理処理（Ｓ１１０）によってサーバが表示機器の表示画面における項目の選択状態をリアルタイムで把握できる。サーバが音声指示を受け付けた後、表示機器に選択状態の問い合わせを行う必要がないため、表示機器とサーバとの間のアクセスを低減することができる。
【００８３】
次に、本実施の形態における番組情報提示方法を採用するシステムのより具体的な例を説明する。
【００８４】
図２は、本実施の形態における番組情報提示方法を採用するシステムの構成を示す。この番組情報提示方法は、ユーザの音声を認識する音声認識機能を利用して番組の情報をユーザに提示する。本システムは、クライアント１２１と、サーバ１２０とを含む。クライアント１２１は、前述の表示機器、または表示機器に接続される他の機器に対応する。クライアント１２１は、例えばテレビ、レコーダー、スマートフォン、タブレット端末などの機器であり得る。図２の例では、クライアント１２１は、音声入力装置であるマイクロフォン１０１と、入力装置１０８と、出力回路１１２と、通信回路１１３ｂと、これらを制御する制御回路１１４ｂとを備える。制御回路１１４ｂは、ユーザによる項目の選択を検出する選択状態検出部１０９と、入力装置によって指定された番組の表示画面上での位置情報および指定された番組の情報を検出する選択情報検出部１１１とを有する。
【００８５】
サーバ１２０は、クライアント１２１と通信する通信回路１１３ａと、制御回路１１４ａとを備える。制御回路１１４ａは、選択状態管理部１１０、音声認識部１０２、指示文字列検出部１０３、対話管理部１０４、応答文生成部１０５、音声合成部１０６、および制御信号生成部１０７の７つの機能部を有する。
【００８６】
本実施の形態では、音声入力装置であるマイクロフォン１０１がユーザの音声信号をセンシングする。サーバ１２０の音声認識部１０２は、センシングした音声信号を文字列に変換する。以後は主としてサーバ１２０による処理が行われる。指示文字列検出部１０３は、音声認識部１０２で変換された文字列中に含まれる指示代名詞を検出する。対話管理部１０４は、ユーザと機器との対話型の処理を行った履歴やどのような対話処理を行うかという応答戦略などを管理する。ここで、対話型処理とは、タッチパネルなどの物理的なインターフェースや音声などを用いたユーザと機器とのメッセージのやりとりに関する処理をいう。そのような履歴情報および応答戦略に用いられる情報は、不図示のメモリなどの記録媒体に格納される。
【００８７】
応答文生成部１０５は、入力された文字列に応じてユーザに応答する文字列を生成する。音声合成部１０６は、応答文生成部１０５で生成した文字列を音声に変換する。制御信号生成部１０７は、対話内容に応じた機器制御コマンドを生成する。
【００８８】
なお、音声合成部１０６は、応答文生成部１０５が生成した文章から合成音声を生成し、ユーザに音声を提示すると説明したが、これは一例である。例えば、TVなどのディスプレイ装置がクライアント１２１に設けられている場合には、文字列を画面上に表示しても構わない。
【００８９】
入力装置１０８は、例えば、マウス、タッチパネル、キーボード、リモートコントローラ等であり得る。この入力装置１０８は、ディスプレイ装置などの表示装置に複数の番組の情報が表示されている場合に、ユーザが一つの番組を選択することを可能にする。
【００９０】
入力装置１０８により番組が選択されると、その選択された画面上の位置の情報が取得される。位置の情報は、例えば二次元の座標情報であり得る。表示画面には、番組を示す選択可能な複数の項目の他に、指定可能な他の表示領域が存在し得る。例えば、ページ遷移のためのボタン、番組の選択を終了するボタン、または他の機能を呼び出すためのボタンなどの他の表示領域が存在し得る。ユーザはそのような表示領域も指定することができる。クライアント１２１における選択状態検出部１０９は、入力装置１０８によっていずれかの番組が選択されているか否かの検出を行う。この検出は、指定された位置がいずれかの番組を示す項目の位置と重なるか否かを判定することによって行われ得る。検出結果は通信回路１１３ｂ、１１３ａを介してサーバ１２０の選択状態管理部１１０に送られる。選択状態管理部１１０は、いずれかの番組が選択されているか否かを示す情報を管理する。例えば、いずれかの番組が選択されている場合は、選択状態管理部１１０の内部メモリに１を設定し、番組が選択されていない場合は、内部メモリに０を設定する。この内部メモリの値は選択状態に合わせて更新される。
【００９１】
選択情報検出部１１１は、入力装置１０８によって指定された番組の位置情報、および、指定された番組の情報などを検出する。検出された情報は、通信回路１１３ｂ、１１３ａを介して指示文字列検出部１０３に送信される。出力回路１１２は、応答文生成部１０５、音声合成部１０６、制御信号生成部１０７の出力結果に基づく情報を出力する。出力回路１１２は、例えば、ディスプレイへの応答文の表示、スピーカーへの合成音声の再生、生成された制御信号による機器の制御、およびディスプレイへの制御結果の表示などの出力処理を行う。
【００９２】
通信回路１１３ａおよび１１３ｂは、サーバ１２０とクライアント１２１の間の通信を行うための通信モジュールを備える。ここで、通信モジュールは、例えばＷｉ−Ｆｉ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）などの既存の通信方式を利用して通信を行う。そのような機能を有する限り、通信モジュールの種類は問わない。音声合成部１１３で合成された音声信号、および、機器を制御する制御信号は出力回路１０８に送信される。出力回路１０８は、音声信号、機器を制御するための信号、および制御結果を示す情報を出力する。
【００９３】
上述したサーバ１２０における制御回路１１４ａの各構成要素は、サーバ１２０のコンピュータ（たとえばＣＰＵ）が、コンピュータプログラムを実行することによって実現されてもよいし、それぞれが別個独立の回路等として設けられてもよい。
【００９４】
上述したクライアント１２１における制御回路１１４ｂの各構成要素（選択状態検出部１０９、および選択情報検出部１１１の各々）も、クライアント１２１のコンピュータ（たとえばＣＰＵ）が、コンピュータプログラムを実行することによって実現されてもよいし、それぞれが別個独立の回路等として設けられてもよい。
【００９５】
例えば、後述の図３に示されるサーバ１２０の各処理は、コンピュータプログラムを実行したサーバ１２０のコンピュータが行う制御方法として実現され得る。同様に、例えば図３に示されるクライアント１２１の各処理は、コンピュータプログラムを実行したクライアント１２１のコンピュータが行う制御方法として実現され得る。
【００９６】
本実施の形態では、音声認識処理を、サーバ１２０が行う例を説明する。音声認識を行った後に実行される対話管理部１０４、応答文生成部１０５、音声合成部１０６、および制御信号生成部１０７の各処理は、サーバ１２０ではなくクライアント１２１が実行しても良い。
【００９７】
図３は、サーバ１２０とクライアント１２１との通信処理のシーケンスを示す。このシーケンスは、ユーザがリモコンなどの入力装置１０８によって表示画面上の一部を指定することによって開始される。
【００９８】
ステップS２００の入力装置情報取得処理において、選択状態検出部１０９は、入力装置１０８によって指定された表示画面上の位置を示す情報を取得する。位置の指定は、入力装置１０８がタッチパネルであれば、指等によるタッチによって行われ得る。入力装置１０８がリモコンであればボタン操作によって行われ得る。
【００９９】
ステップS２０１の選択状態検出処理において、選択状態検出部１０９は、一の番組が選択されたか否かを検出する。この検出は、入力装置情報取得処理で取得された位置情報に基づいて、入力装置１０８によって指定された位置が番組を示す項目の位置に該当するか否かを判定することによって行われる。
【０１００】
ステップS２０２の選択情報保存処理において、クライアント１２１は、入力装置１０８によって選択された項目に関する情報（以下、「選択情報」と称することがある。）を取得してメモリ等の記録媒体に保存する処理を行う。例えば、番組であれば、選択された番組に関連づけられた情報（例えば、番組名、放送日時、概要、出演者などの情報）を取得する。なお、後述する例のように、ディスプレイに地図を表示させる例では、選択された項目に関する情報は、指定された位置にある建物の情報であり得る。地図の例については後述する。
【０１０１】
ステップS２０３の選択状態送信処理では、選択状態検出処理で取得した入力装置１０８による番組選択の有無を示す情報が、クライアント１２１の通信回路１１３ｂからサーバ１２０の通信回路１１３ａに送信される。
【０１０２】
ステップS２０４の選択状態受信処理では、サーバ１２０の通信回路１１３ａはクライアント１２１から送信された選択状態を示す情報を受信する。
【０１０３】
ステップS２０５の選択状態管理処理では、選択状態管理部１１０は、選択状態受信処理で受信した情報に基づき、番組選択状態を管理する。具体的には、選択状態管理部１１０は、番組が選択されている状態を１、選択されていない状態を０として、０か１かの情報をサーバ１２０における特定のメモリに保存する。これにより、番組の選択有無の管理を実現できる。
【０１０４】
以上のステップＳ２００〜Ｓ２０５は、ユーザによって番組の選択が変更される度に実行される。したがって、図３に示すステップＳ２００〜Ｓ２０５は、複数回実行され得る。
【０１０５】
ステップS２０６の音声要求送信処理では、サーバ１２０における通信回路１１３ａは、クライアント１２１における通信回路１１３ｂに、音声信号を送付するよう要求する信号を送信する。この処理は、例えば、ユーザからの音声指示の開始の要求に応答して行われる。音声指示の開始の要求は、例えば、画面に表示される開始ボタンの押下をトリガーとして行われ得る。
【０１０６】
ステップS２０７の音声要求受信処理では、クライアント１２１は、クライアント１２１に関連付けられたマイクロフォン１０１からの音声の入力を許可する。
【０１０７】
ステップS２０８のＡ／Ｄ変換処理では、クライアント１２１は、入力された音声信号についてＡ／Ｄ変換（アナログデジタル変換）を行う。これにより、アナログの音声がデジタルの音声信号に変換される。
【０１０８】
ステップS２０９の音声信号送信処理では、クライアント１２１の通信回路１１３ｂは、デジタル音声信号をサーバ１２０に送信する。
【０１０９】
ステップS２１０において、サーバ１２０の通信回路１１３ａは、クライアント１２１から送信された音声信号を受信する。
【０１１０】
ステップS２１１において、音声認識部１０２は音声認識処理を行う。音声認識処理とは、入力された音声信号を解析し、テキストデータに変換する処理である。
【０１１１】
ステップS２１２では、指示文字列検出部１０３は指示文字列を検出する。指示文字列検出処理とは、音声認識処理によって生成されたテキストデータを解析することで、指示文字列の検出を行う処理である。
【０１１２】
ステップS２１３の選択状態判定処理では、選択状態管理部１１０は、ステップＳ２０５の選択状態管理処理においてメモリに保存された選択状態の情報を参照することにより、一の項目が選択されている状態か否かを判定する。つまり、選択状態管理部１１０は、サーバ１２０上のデータのみに基づいて選択状態であるか否かの判定を行う。選択状態にあると判定した場合には、サーバ１２０は、クライアント１２１に、選択情報を要求する。クライアント１２１は、この要求を受信すると、ステップS２１４の選択情報送信処理において、ステップＳ２０２の選択情報保存処理でメモリに保存された選択情報をサーバに送信する。
【０１１３】
ステップS２１５の選択情報受信処理において、サーバ１２０の通信回路１１３ａは、クライアント１２１の通信回路１１３ｂから選択情報を受信する。
【０１１４】
ステップS２１６の対話管理処理では、対話管理部１０４は、受信した選択情報と指示文字列検出処理の結果に基づいて、機器の制御方法および音声での応答方法を決定し、クライアント１２１に返信するための情報を出力する。対話管理処理は、例えば、入力された音声の情報と出力の情報とが対応付けられたテーブルを参照することで、対話管理部１０４が応答方法を決める処理であり得る。例えば、「TV、電源ON」という音声が入力された場合、対話管理部１０４は、TVの電源をＯＮにする機器制御信号、あるいは、機器制御信号に対応する識別子（ID）を出力する。ユーザが「その番組の内容を表示」と言った場合、指示文字列検出結果により、「その」という文字が検出される。これにより、「その」という言葉が、ステップＳ２１５の選択情報受信処理で取得した選択情報を指していることがわかる。その結果、対話管理部１０４は、選択情報から得られる番組情報から番組内容を特定し、クライアント１２１に返信するための情報を生成できる。
【０１１５】
ステップS２１７の応答結果送信処理では、サーバ１２０の通信回路１１３ａは、ステップＳ２１６の対話管理処理において生成された情報をクライアント１２１に送信する。送信される情報は、例えば、機器の制御信号もしくは制御信号に対応するID、または、合成音声のデータもしくは音声を合成するためのテキストデータであり得る。
【０１１６】
ステップS２１８の応答結果受信処理では、サーバ１２０からの応答結果をクライアント１２１の通信回路１１３ｂが受信する。
【０１１７】
ステップS２１９の応答結果出力処理では、出力回路１１２は、ステップＳ２１８の応答結果受信処理で受信した機器の制御信号や合成音声、テキストなどを機器の出力手段を通じてユーザまたは制御対象の機器に出力する。例えば、機器の制御信号に関しては、応答結果出力処理として、TVの電源のON、OFFや、音量、チャンネルの上下を制御することが考えられる。合成音声に関しては、TVのスピーカーから応答音声を出力することが考えられる。テキストに関しては、クライアント１２１の機器が音声の合成を行い、合成された音声を出力してもよいし、加工されたテキストをTVの画面に表示してもよい。
【０１１８】
以下、サーバ１２０での処理とクライアント１２１での処理に分けて、音声認識機能を用いた番組情報提示方法をさらに詳細に説明する。
【０１１９】
図４は、サーバ１２０が音声指示を受信した後の処理フローの詳細を示す。
【０１２０】
まず、音声入力処理（S３００）では、マイクロフォン１０１から音声信号が入力される。本実施の形態では、マイクロフォンはクライアント１２１に備えられているものとし、クライアント１２１上でA/D変換された音声信号がサーバ１２０側に転送される。
【０１２１】
音声認識処理（S３０１）では、音声認識部１０２は入力された音声の認識処理を行う。音声認識処理では、入力された音声信号が文字列データに変換される。サーバ１２０上で音声認識を行うことで、大規模のデータ群から構築した音響モデルおよび言語モデルを利用できる。サーバ１２０の計算能力はクライアント１２１に比べると高い。大規模データから統計的学習手法によって学習した音響モデルおよび言語モデルを利用できるため、多様な言葉の認識率が高いというメリットがある。また、スマートフォンやFTTHなどの普及により、端末が常時ネットワークに接続された環境が整ってきている。このため、サーバ１２０上で音声認識を行う方法は実用的である。
【０１２２】
指示文字列検出処理（S３０２）では、指示文字列検出部１０３は音声認識によって得られる文字列から指示文字列の検出を行う。ここで、指示文字列とは、「これ」、「それ」、「あれ」、「この」、「その」、「あの」、「これの」、「それの」、「あれの」などといった指示語または指示詞のことである。ここでは、指示文字列の検出は次のようにして行う。まず、指示文字列検出部１０３は、入力された文字列を形態素解析によって単語、品詞単位に分割する。形態素とは文章の要素のうち意味を持つ最小の単位である。形態素解析によって、文章を単語や品詞など複数の形態素に分割できる。あらかじめ指示文字列をリストとして用意しておき、そのリストに含まれる語と分割した形態素とが一致すれば、文章中の指示文字列が検出できたものとする。このように、単語同士のマッチングにて、指示文字列が検出されたか否かの検出処理を行う。
【０１２３】
指示文字列を検出したか否かによってサーバ１２０は以降の処理を切換える（S３０３）。指示文字列を検出すると、選択状態管理部１１０はクライアント側の入力装置１０８がTV画面上の番組に関する情報を選択しているか否かの状態を取得する（S３０４）。そして選択状態管理部１１０は、取得した選択状態に基づき番組を選択している状態であるか否かの判定を行う（S３０５）。具体的には、入力装置１０８が画面上の番組を選択しているときは、選択状態として１を、番組を選択していないときは選択状態として１以外を指定するものとすると、選択状態管理部１１０は選択状態取得処理（S３０４）にて、１か１以外かの情報を取得する。選択状態管理部１１０は選択状態判定処理（S３０５）にて、選択状態であるか否かの判定、つまり、選択状態が１であるか否かの判定を行う。このときの１か１以外かの値は、選択状態管理部１１０に保存されている。この判定結果に基づき、番組が選択されているか否かにより処理が切り替えられる（S３０６）。
【０１２４】
もし番組が選択されていると判断されれば、選択状態管理部１１０は選択情報取得処理（S３０７）によって、画面上で選択された番組に関連する情報（例えば、番組名、放送日時、録画日時、ジャンル、放送局、番組内容、EPG情報など）を取得する。ここで、サーバ１２０がクライアント１２１から取得する情報は、番組に関する詳細な操作を行うためのものである。例えば、番組内容の表示、番組ジャンルの表示などの操作命令が入力されたときにサーバで処理できるように、番組の詳細な情報がクライアント１２１からサーバ１２０に送信される。
【０１２５】
指示文字列検出の判定（S３０３）で指示文字列が検出されたと判断される、もしくは番組選択の判定（S３０６）で番組が選択されていないと判定される場合、対話管理部１０４は対話管理処理（S３０８）を行う。本実施の形態における対話管理処理では、対話管理部１０４は、音声認識された文字列の内容を理解し、入力言語情報や過去の文脈等を考慮してどのような応答をするかを決定し、応答結果を示す情報を出力する。例えば、TV番組の録画設定やTV画面の制御など機器の制御に関する応答を行うのであれば、対話管理部１０４の指示に従って制御信号生成処理（S３０９）が、機器の制御信号を生成することで、クライアント１２１の機器制御を行う。また、音声でユーザに応答するのであれば、対話管理部１０４の指示に従って音声合成部１０６が音声合成処理（S３１０）において合成音声を生成し、音声信号を出力する。
【０１２６】
信号送信処理（S３１１）では、通信回路１１３ａは、機器信号生成処理と音声合成処理で生成した機器の制御信号や音声の合成信号をクライアント１２１の通信回路１１３ｂに送信する。
【０１２７】
図５は、クライアント１２１が実行する処理のうち、選択状態の検出および出力に関する部分に関する処理フローを示す。
【０１２８】
入力装置情報取得処理（S４００）は、入力装置１０８が情報を取得する処理である。ユーザが選択した番組の位置情報を入力装置１０８が取得する。選択状態検出処理（S４０１）では、入力装置１０８が番組を選択しているか否かを選択状態検出部１０９が検出する。入力装置１０８が番組を選択しているとは、例えば、入力装置１０８がリモコンであれば、ユーザが十字キーで番組を指定し、決定ボタンを押すことによって、番組が選択されている状態に遷移することをいう。決定ボタンを設けず、単に十字キーで番組を指定するだけで番組が選択されている状態に遷移するようにクライアント１２１を構成してもよい。入力装置１０８がタッチスクリーンまたはＰＣに接続されたディスプレイの場合、ユーザが特定の番組が表示されている箇所をタップまたはクリックすることによってその番組が選択されている状態に遷移するように構成してもよい。番組が選択されている状態で、ユーザが再度決定ボタンを押すなどして、非選択状態に変更することもできる。すなわち、入力装置情報取得処理で、どの位置を入力装置が指定しているかがわかり、選択状態検出処理で、どの位置のどの情報を選択しているかを知ることができる。
【０１２９】
選択状態保存処理（S４０２）では、クライアント１２１は、入力装置情報取得処理で取得した位置情報と選択状態検出処理で得られる選択中であるか否かの情報の保存処理を行う。選択情報検出処理（S４０３）では、選択情報検出部１１１は、選択状態保存処理にて保存されている位置情報に対応する番組の情報または番組に関する情報を検出する。本明細書において「番組に関する情報」とは、例えばテレビ番組に関するメタデータまたはテレビ番組のコンテンツをいう。メタデータは、例えばテレビ番組名、放送日時、ジャンル、放送局、チャンネル名、テレビ番組の内容、テレビ番組の人気度、テレビ番組のおすすめ度、出演者、CM企業の少なくとも１つを含む。メタデータとして録画日時を含んでもよい。また、テレビ番組のコンテンツは、人物、動物、車、地図、文字、数字の少なくとも１つの情報を含む。ただしこれらは一例であり、これらに限られない。番組の情報の検出には、番組名に関する情報をシステム内外のEPGから検索する方法や、番組名などに基づいてウェブ検索を行い、関連情報を取得する方法などがある。
【０１３０】
信号受信処理（S４０４）では、クライアント１２１の通信回路１１３ｂは、サーバの信号送信処理によって、サーバ１２０から送信される機器制御信号および合成された音声信号を受信する。
【０１３１】
出力処理（S４０５）では、出力回路１１２は信号受信処理で受信した制御信号生成処理（S３０６）の結果と音声合成処理（S３０７）の結果に基づいて、ユーザに処理結果を出力する。
【０１３２】
なお、入力装置１０８で指定される対象は、番組などを表すアイコンやリストに限ったものではない。例えば、地図などの任意の位置をマウスで指定されるものであってもよい。地図上の指定には、画面上のｘ座標、ｙ座標を位置情報としてもよいし、地図特有の緯度経度情報に座標が表現されてもよい。緯度経度の値は住所に対応付けることが可能である。このため、緯度経度情報をキーボードから数値で入力して住所を指定するものであってもよい。あるいは、住所自体をキーボードで入力してもよい。住所は比較的長い文字列であるため、音声認識を失敗しやすいと考えられる。このような場合は、ユーザが入力しやすい方法で指し示す対象を指定すればよい。
【０１３３】
位置指定の解除のためのボタン、アイコンを、位置指定した対象以外の位置に設けても良い。番組の選択の場合は、番組に関するアイコンの選択を繰返すことで、その番組の選択と選択解除を簡単に行える。しかし、地図上の特定の位置を指定する場合には、地図上の１点を選択することで、選択を解除することは難しい。そこで、図６に示すように、地図の画面上部に選択解除ボタンを設けてもよい。選択解除ボタンを押すことで選択解除を行うことができ、選択解除が容易になる。図６は、「○○スーパー」が指定されている例を示している。指定されている位置にカーソルを示す「矢印」が表示されている。図６では、選択解除は、地図右上にある選択解除枠を選択することで行われる。
【０１３４】
このような地図を表示させる表示機器は、テレビ、パーソナルコンピュータ、スマートフォン、タブレット端末などの情報機器の他、カーナビゲーションシステムに用いられてもよい。ユーザは任意の地点を指定（すなわち選択）した上で、その地点を示す指示語を含む音声指示により、所望の情報を得ることができる。例えば、「ここへの経路は？」、「ここから一番近いガソリンスタンドは？」といった音声指示に応答して要求された情報を提示するシステムを構築できる。
【０１３５】
選択状態検出部１０９において、番組が選択されたことを示す情報に対して、その番組が選択された時間を付随させて記憶してもよい。これによって、番組が選択された時刻と現在の時刻との絶対差ｔが、所定の閾値よりも小さい場合と大きい場合とで、対応付けられる指示語を変えることもできる。例えば、絶対差ｔが所定の閾値よりも小さい場合には、「この」、「その」、「こっち」、「これ」、「それ」、「そっち」などのように、近称、中称と呼ばれる指示語で番組の指定を行い、前記絶対差ｔが所定の閾値より大きい場合は、「あっち」、「あれ」などのように遠称と呼ばれる指示語で番組の指定を行うようにしてもよい。このように、前記絶対差ｔの大きさに応じて指定する言葉を変えてもよい。
【０１３６】
本実施の形態では、指示代名詞を用いて特定の番組を選択するため、２つ以上の番組が指定されている場合には、指示代名詞がどちらの番組を指し示しているか分からない場合がある。この場合には、最初に指定した番組を「この番組」「その番組」というように、近称、中称の指示語で選択し、後に指定した番組を「あの番組」というように、遠称の指示語で選択してもよい。これにより、指示代名詞の使い分けで、複数の候補から一つを選択することができる。
【０１３７】
指示代名詞を用いて番組を指定する際、不図示の個人認識部を活用した個人識別情報を利用してもよい。例えば、入力装置１０８によって番組を選択したときに、誰が番組を選択したかを識別し、個人識別情報を選択状態検出部１０９に保存してもよい。（この情報を個人識別情報Aとする）。このとき、個人識別情報とその人がどの番組を選択したかという情報が対で記憶される。さらに、指示文字列検出部１０３によって指示文字列が検出されたとき、その指示文字列を発話した個人を識別してもよい（この識別情報を個人識別情報Bとする）。個人識別情報Bに合致する個人識別情報Ａを選択状態検出部１０９が保持する情報の中から検索すれば、番組を選択した個人と指示文字列を発話した個人とが合致するか否かを判定できる。両者が合致したとき、その個人識別情報Ａと対で記憶されている番組を指示代名詞で指定された番組とし、操作対象とする。
【０１３８】
なお、リモコン上に搭載されたタッチパッドやジョイスティックなどによって画面の任意の場所を指定できるようにすれば、画面上の好きな所を指定できるようになる。これにより、例えば、画面上の特定の人物をカーソルで指定し、「その人がでている番組」と指定すると、カーソルで指定された人が出演している番組の一覧を画面に表示することも可能となる。画面上に一人しか写っていなければ、音声のみで「この人」が誰を表すかを知ることができる。しかし、図７Ａように人物が二人以上写っている場合には、音声のみで人物を指定することが難しい。カーソルを使うことにより、図７Ｂに示すように、音声では指定することができないような、TVに出演する複数人物のうち一人を選択することができる。これにより、選択された人物に特定した情報検索が可能となる。カーソルが指す人物が誰であるかを認識するためには、既存の顔検出技術、顔認識技術を用いることができる。図７Ａの画面例６０１は、画面上の人物をカーソルで指定した例である。画面例６０１では、左側の人物上にカーソルが合わせられている。カーソルで人物を指定すると、その近辺の顔検出、顔認識処理が行われる。その後、図７Ｂに示すように、どこの、誰が認識されたかをディスプレイに表示する、あるいは音声でユーザに提示することで、ユーザは視覚的に誰が指定されたかを確認できる（画面例６０２）。
【０１３９】
この例では、人物の検出例について述べたが、一般物体認識技術を利用することで、上述したように、動物、車、文字、数字などを認識することも可能である。
【０１４０】
画面上に表示された地図を用いて場所を検索する場合には、表示画面に特定地域における地図を表示し、カーソルで指定された地図上の任意の座標、または地図上のオブジェクトを基準とした検索が可能となる。図８Ａおよび図８Ｂに示すように、例えば、「この場所より北にあるドラッグストア」というと、カーソルの場所より北のドラッグストアを表示することができる。図８Ａの表示例７０１では、ｘｘ公園を指定しており、図面上は矢印にて表示されている。音声による検索を行うことで、図８Ｂの表示例７０２のようにドラッグストアの場所が提示される。表示例７０２では、検索位置が点線丸で表示される。これにより、利用者は、詳細な住所を知ることが無くても、直感的に現在指している位置の情報と音声による地図検索が可能となる。同様に、「そこまでの行き方は？」という聞き方をすることで、現在位置からカーソルが指定している位置までの行き方を検索（路線検索やカーナビゲーション）できる。これにより、通常は、地図で位置を確認した後、その位置までの行き方検索をするために数ステップのボタン操作が必要になるが、音声の入力で素早く処理を完了させることができ、設定が簡便になる。
【０１４１】
なお、本実施の形態では、選択状態の送受信と選択情報の送受信の処理を分けて記載したが、選択状態の送信時に選択情報も送信するような形態であっても構わない。このような場合、サーバとクライアントのデータ送受信のシーケンスは、図９のようになる。システムの構成、サーバとクライアントの処理フローはそれぞれ図２、図４、図５の通りである。以下、重複する説明は省略することがある。
【０１４２】
図９は、選択状態の送信時に選択情報も送信する場合におけるサーバ１２０とクライアント１２１との通信処理のシーケンスを示す。このシーケンスは、ユーザがリモコンなどの入力装置１０８によって表示画面上の一部を指定することによって開始される。
【０１４３】
ステップS８００は、入力装置情報取得処理である。選択状態検出部１０９は、入力装置１０８がクライアント１２１の画面上のどこを指しているかを検出する。
【０１４４】
ステップS８０１は、選択状態検出処理である。選択状態検出部１０９は、入力装置情報取得処理で指定された位置が、入力装置１０８によって指定されているか否かを取得する。
【０１４５】
ステップS８０２は、選択情報送信処理である。通信回路１１３ｂは、選択された項目に関する情報をサーバ１２０に送信する。
【０１４６】
ステップS８０３は、選択情報受信処理である。サーバ１２０の通信回路１１３ａは、クライアント１２１からの選択情報を受信する。
【０１４７】
ステップS８０４は、選択状態管理処理である。これは、選択状態管理部１１０が、選択状態受信処理で受信した入力装置１０８を介した選択状態をサーバ１２０側で管理するための処理である。選択状態管理処理では、選択状態管理部１１０は、入力装置１０８が特定の項目を選択しているという状態を１、選択していない状態を０として、０か１かの情報をサーバ１２０上の特定のメモリに保存する。この例では、選択情報も既に送信されているため、どのような情報が送信されているかもメモリ上に保存される。例えば、テレビ番組の一覧であれば、番組名、放送日、内容などが保存され、地図であれば、地名、緯度経度、選択された場所の住宅情報などが保存される。
【０１４８】
ステップS８０５は、音声要求送信処理である。サーバ１２０は、クライアント１２１に、音声信号を送付するよう要求する信号を送信する。
【０１４９】
ステップS８０６は、音声要求受信処理である。クライアント１２１は、音声要求受信処理を受け付けると、クライアント１２１に関連付けられたマイクロフォン１０１からの音声の入力を許可する。
【０１５０】
ステップS８０７において、クライアント１２１は、音声の入力を許可し、Ａ／Ｄ変換（アナログデジタル変換）を行う。これにより、アナログの音声がデジタルの音声信号に変換される。ステップS８０８の音声信号送信処理では、クライアント１２１の通信回路１１３ｂは、デジタル音声信号をサーバ１２０に送信する。
【０１５１】
ステップS８０９において、サーバ１２０の通信回路１１３ａは、クライアント１２１から送信された音声信号を受信する。
【０１５２】
ステップS８１０において、音声認識部１０２は音声認識処理を行う。さらに、ステップS８１１では、指示文字列検出部１０３は指示文字列を検出する。
【０１５３】
ステップS８１２は、対話管理処理である。対話管理部１０４は、受信した選択情報と指示文字列検出処理の結果から機器の制御や音声での応答方法などを出力する。対話管理処理の方法は、前述の方法と同じである。
【０１５４】
ステップS８１３は、応答結果送信処理である。応答結果送信処理は対話管理処理によって出力される制御信号、制御信号に対応するID、合成音声、音声を合成するためのテキストをクライアント１２１に送信する処理である。
【０１５５】
ステップS８１４は、応答結果受信処理である。これにより、サーバ１２０からの応答結果をクライアント１２１の通信回路１１３ｂが受信する。
【０１５６】
ステップS８１５は、応答結果出力処理である。応答結果出力処理として、出力回路１１２は、応答結果受信処理で受信した機器の制御信号や合成音声、テキストなどを機器の出力手段を通じてユーザ端末または制御対象の機器に出力する。
【０１５７】
以上の構成、処理によって、音声認識処理をサーバ上で実施する場合でも、処理遅延を削減することが可能になる。
【０１５８】
（実施の形態２）
図１０は、本実施の形態における情報提供システムが表示機器に対して実行する制御方法の概要を示すシーケンス図である。本実施の形態における情報提供システムは、表示機器も音声認識機能を備えている点で実施の形態１とは異なる。以下、実施の形態１と異なる点を中心に説明し、重複する事項については説明を省略することがある。
【０１５９】
本実施形態における表示機器の制御方法は、表示機器のコンピュータに、図１０に示す処理を実行させる。この制御方法は、まず、選択可能な複数の項目を含む表示画面を、表示機器に搭載または接続されたディスプレイに表示させる（ステップＳ９００）。次に、ディスプレイの前記表示画面において、前記複数の項目の中の一の項目が選択されたことを検知させる（ステップＳ９０１）。ステップＳ９００およびステップＳ９０１は、項目の選択が変更される度に繰り返し実行される。
【０１６０】
表示機器が音声指示を受け付けると、表示機器は、一の項目が選択されているか否かを判定する（ステップＳ９０２）。項目が選択されていない場合、表示機器は受け付けた音声情報を情報提供システムにおける他のコンピュータ（以下、「サーバ」と称する。）に送信する。項目が選択されている場合、表示機器は、音声指示が実行可能であるか否かを判定する（ステップＳ９０３）。音声指示が実行可能である場合、指示内容を実行する（ステップＳ９０４）。音声指示が実行可能でない場合、表示機器は、音声情報をサーバに送信する。サーバは、表示機器が実行できない音声指示を認識し、実行する（ステップＳ９１１およびＳ９１２）。
【０１６１】
ここで実行可能な音声指示とは、表示機器に予めプログラムされた機能の範囲内で処理できる音声指示を意味する。例えば、表示機器が、特定の指示語と特定の指示内容との結合からなる音声指示は正しく認識できるが、そうでない音声指示（例えばウェブ検索の指示等）は認識できない場合、前者は実行可能であるが、後者は実行可能でない。そのような場合、後者の音声指示は、サーバが代わりに実行し、応答結果を表示機器に返す。
【０１６２】
このように、本実施の形態の制御方法は、一の項目が選択されたことが検知されているときに、音声入力装置から指示内容を表す第１音声情報を含む音声指示が受信された場合、表示機器のコンピュータに、第１音声情報から指示内容を認識させて指示内容を実行させる。一方、一の項目が選択されたことが検知されていないとき、または、指示内容が実行できないと判断されたときは、音声指示をサーバへ送信させる。これにより、必要な場合のみ表示機器とサーバとのアクセスが発生するため、処理の遅延を軽減することができる。
【０１６３】
図１１は、指示語と指示内容との結合からなる音声指示を認識可能な表示機器の制御方法の一例を示すシーケンス図である。この制御方法では、図１０におけるステップＳ９０３の代わりにステップＳ９０５−Ｓ９０７が実行される。この点を除き、図１０の方法と同じである。ステップＳ９０５では、表示機器は、音声指示が指示内容を示す第１音声情報を含むか否かを判定する。判定結果がＮｏの場合、表示機器は音声情報をサーバに送信する。判定結果がＹｅｓの場合、表示機器は指示内容を認識する（ステップＳ９０６）。続くステップＳ９０７では、音声指示が指示語を示す第２音声情報を含むか否かを判定する。判定結果がＮｏの場合、表示機器は音声情報をサーバに送信する。判定結果がＹｅｓの場合、表示機器が指示内容を実行する（ステップＳ９０４）。
【０１６４】
このように、図１１に示す制御方法は、一の項目が選択されたことが検知され、第１音声情報から前記指示内容が認識され、かつ、音声指示に前記第２音声情報が含まれていると判断された場合、表示機器のコンピュータに指示内容を実行させる。一方、一の項目が選択されたことが検知されなかった場合、第１音声情報から指示内容が認識されなかった場合、または音声指示に第２音声情報が含まれていると判断されなかった場合、音声指示をサーバへ送信させる。これにより、必要な場合のみ表示機器とサーバとのアクセスが発生するため、処理の遅延を軽減することができる。
【０１６５】
次に、本実施の形態における番組情報提示方法を採用するシステムのより具体的な例を説明する。
【０１６６】
図１２は、本実施の形態における番組情報提示方法を採用するシステムの構成を示す。この番組情報提示方法は、ユーザの音声を認識する音声認識機能を利用して番組の情報をユーザに提示する。本システムは、クライアント１２１とサーバ１２０とを含む。クライアント１２１は、前述の表示機器、または表示機器に接続される他の機器に対応する。クライアント１２１は、例えばテレビ、レコーダー、スマートフォン、タブレット端末などの機器であり得る。図１２の例では、クライアント１２１は、音声入力装置であるマイクロフォン１０１と、入力装置１０８と、出力回路１１２と、通信回路１１３ｂと、これらを制御する制御回路１１４ｄとを備える。本実施形態における制御回路１１４ｄは、選択状態検出部１０９および選択情報検出部１１１に加えて、音声認識部１０２ｂと、指示文字列検出部１０３と、命令文字列検出部１１５とを有する点で図２に示す制御回路１１４ｂとは異なっている。
【０１６７】
サーバ１２０は、クライアント１２１と通信する通信回路１１３ａと、制御回路１１４ｃとを備える。制御回路１１４ｃは、音声認識部１０２、対話管理部１０４、応答文生成部１０５、音声合成部１０６、および制御信号生成部１０７の５つの機能部を有する。
【０１６８】
本実施の形態では、音声入力装置であるマイクロフォン１０１がユーザの音声信号をセンシングし、センシングした音声信号を音声認識部１０２ｂが文字列に変換する。指示文字列検出部１０３は変換された文字列に指示代名詞が含まれるかを判定する。命令文字列検出部１１５は、変換された文字列に機器を制御するなどの命令文字列が含まれるかを検出する。入力装置１０８は、ディスプレイに複数の番組情報が表示されている場合に、ユーザが一つの番組を選択することを可能にする。
【０１６９】
入力装置１０８により番組が選択されると、その選択された画面上の位置の情報がシステムに入力される。選択状態検出部１０９は、入力装置１０８によって番組が選択されているか否かの判定を行う。選択情報検出部１１１は、入力装置１０８によって選択された番組の位置情報、および、選択された番組に関する情報などを検出する。出力回路１１２は、応答文生成部１０５、音声合成部１０６、制御信号生成部１０７の出力結果を受けて、ディスプレイへの応答文の表示、スピーカーへの合成音声の再生、生成された制御信号による機器の制御、およびディスプレイへの制御結果の表示などの出力処理を行う。
【０１７０】
通信回路１１３ａおよび１１３ｂは、サーバ１２０とクライアント１２１の間の通信を行うための通信モジュールを備える。通信モジュールは、前述のように、例えばＷｉ−Ｆｉ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）などの既存の通信方式を利用して通信を行う。そのような機能を有する限り、通信モジュールの種類は問わない。音声合成部１０６で合成された音声信号、および、機器を制御する制御信号は出力回路１１２に送信される。出力回路１１２は、音声信号、機器を制御するための信号、制御結果を示す情報を出力する。
【０１７１】
音声認識部１０２ａはサーバ１２０上にて音声認識を行う。対話管理部１０４は、ユーザと機器との対話型の処理を行った履歴やどのような対話処理を行うかという応答戦略などを管理する。応答文生成部１０５は、入力された文字列に応じてユーザに応答する文字列を生成する。音声合成部１０６は、応答文生成部で生成した文字列を音声に変換する。制御信号生成部１０７は、対話内容に応じた機器制御コマンドを生成する。
【０１７２】
上述したサーバ１２０における制御回路１１４ｃおよびクライアント１２１における制御回路１１４ｄの各構成要素は、サーバ１２０のコンピュータ（例えばＣＰＵ）が、コンピュータプログラムを実行することによって実現されてもよいし、それぞれが別個独立の回路等として設けられてもよい。
【０１７３】
例えば、後述の図１３に示されるサーバ１２０の各処理は、コンピュータプログラムを実行したサーバ１２０のコンピュータが行う、サーバ１２０の制御方法として実現され得る。同様に、例えば図１３に示されるクライアント１２１の各処理は、コンピュータプログラムを実行したクライアント１２１のコンピュータが行う、クライアント１２１の制御方法として実現され得る。
【０１７４】
本実施の形態では、音声認識処理を、クライアント１２１とサーバ１２０の両方が行う点が従来技術および実施の形態１と異なる。音声認識を行った後に処理を実行する対話管理部１０４、応答文生成部１０５、あるいは、処理結果を生成する音声合成部１０６、制御信号生成部１０７は、それぞれサーバ１２０ではなくクライアント１２１が備えていても良い。
【０１７５】
図１３は、サーバ１２０とクライアント１２１との通信処理のシーケンスを示す。このシーケンスは、ユーザがリモコンなどの入力装置１０８によって表示画面上の一部を指定することによって開始される。
【０１７６】
ステップS５００は、入力装置情報取得処理である。選択状態検出部１０９は、入力装置１０８によって指定された表示画面上の位置を示す情報を取得する。
【０１７７】
ステップS５０１は、選択状態検出処理である。選択状態検出部１０９は、一の番組が選択されたか否かを検出する。この検出は、入力装置情報取得処理で取得された位置情報に基づいて、入力装置１０８によって指定された位置が番組を示す項目の位置に該当するか否かを判定することによって行われる。
【０１７８】
ステップS５０２において、クライアント１２１は、音声を入力し、Ａ／Ｄ変換（アナログデジタル変換）を行う。これにより、アナログの音声がデジタルの音声信号に変換される。
【０１７９】
ステップS５０３は、クライアント１２１が入力音声を認識する音声認識処理である。
【０１８０】
ステップS５０４では、指示文字列検出部１０３は指示文字列検出を行う。指示文字列検出処理では、音声認識処理を行ったテキストを解析することで、指示文字列の検出が行われる。
【０１８１】
ステップS５０５では、命令文字列検出部１１５は命令文字列検出を行う。命令文字列検出処理とは、音声認識処理を行ったテキストを解析することで、命令文字列の検出を行う処理である。
【０１８２】
ステップS５０６では、選択情報検出部１１１は選択情報検出処理を行う。入力装置１０８は情報取得処理で取得した位置の情報を検出する。
【０１８３】
ステップS５０７は、音声信号送信処理である。クライアント１２１の通信回路１１３ｂがサーバ１２０に音声信号を送信する。
【０１８４】
ステップS５０８は、音声信号受信処理である。サーバ１２０の通信回路１１３ａが音声信号を受信する。
【０１８５】
ステップS５０９は、音声入力処理である。通信回路１１３ａが受信した音声信号をサーバ１２０内部に入力する。
【０１８６】
ステップS５１０は、サーバ側の音声認識処理である。音声認識部１０２ａは、サーバ１２０上で音声認識処理を行う。
【０１８７】
ステップS５１１は、対話管理処理である。対話管理部１０４は受信した選択情報と指示文字列検出処理の結果に基づいて、機器の制御方法および音声での応答方法を決定し、クライアントに返信するための情報を出力する。対話管理処理の方法は、実施の形態１で説明したとおりである。
【０１８８】
ステップS５１２は、応答結果送信処理である。応答結果送信処理は対話管理処理によって出力される制御信号、制御信号に対応するID、合成音声、音声を合成するためのテキストをクライアント１２１に送信する。
【０１８９】
ステップS５１３は、応答結果受信処理である。これにより、サーバ１２０からの応答結果をクライアント１２１の通信回路１１３ｂが受信する。
【０１９０】
ステップS５１４は、応答結果出力処理である。応答結果出力処理として、出力回路１１２は、応答結果受信処理で受信した機器の制御信号や合成音声、テキストなどを機器の出力手段を通じてユーザ端末または制御対象の機器に出力する。
【０１９１】
以下、サーバ１２０での処理とクライアント１２１での処理にわけて、音声認識機能を用いた番組情報提示方法についてより詳細に説明する。
【０１９２】
図１４は、図１に示す構成のうち、サーバ１２０に関する処理フローを示す。
【０１９３】
まず、音声入力処理（S６００）では、マイクロフォン１０１から音声信号が入力される。本実施の形態では、マイクロフォンはクライアント１２１に備えられているものとする。クライアント１２１上でA/D変換された音声信号がサーバ１２０側に転送される。
【０１９４】
サーバ側音声認識処理（S６０１）では、音声認識部１０２ａは入力された音声の認識処理を行う。音声認識処理では、入力された音声信号を文字列データに変換する。サーバ１２０上で音声認識を行うことで、大規模のデータ群から構築した音響モデル、言語モデルを利用できる。また、サーバ１２０の計算能力はクライアント１２１に比べると高い。大規模データから統計的学習手法によって学習した音響モデル、言語モデルを利用できるため、多様な言葉の認識率が高いというメリットがある。また、スマートフォンやＦＴＴＨなどの普及により、端末が常時ネットワークに接続された環境が整ってきているため、サーバ１２０上で音声認識を行う方法は実用的である。
【０１９５】
対話管理処理（S６０２）では、対話管理部１０４は、音声認識された文字列の内容を理解し、入力言語情報や過去の文脈等を考慮してどのような応答をするか出力する。対話管理処理の出力結果に応じて、制御信号であるか否かの判定処理（S６０３）が行われる。例えば、TV番組の録画設定やTV画面の制御など機器の制御に関する応答を行うのであれば、制御信号生成処理（S６０４）において制御信号生成部１０７が、機器の制御信号を生成する。制御信号送信処理（S６０５）では、サーバ１２０の通信回路１１３ａが、制御信号生成処理で生成された制御信号をクライアント１２１に送信する。これにより、クライアント１２１側で機器制御が行われる。
【０１９６】
ステップＳ６０３でＮｏと判定された場合、またはステップＳ６０５が終了した場合、音声でユーザに応答するか否かが判断される（Ｓ６０６）。音声でユーザに応答する場合、応答文生成処理（S６０７）で応答文が生成される。続いて出力が音声かテキストかが判定される（Ｓ６０８）。出力が音声の場合、音声合成処理（S６０９）において音声合成部１０６が合成音声を生成し、音声信号を出力する。音声送信処理（S６０８）では、サーバ１２０の通信回路１１３ａがテキストから合成音声に変換されたデータをクライアント１２１に送信する。
【０１９７】
出力がテキストである場合、応答文送信処理（S６０７）が行われる。応答分生成部１０５が応答文生成処理によってテキストを生成し、生成されたテキストである応答文がサーバ１２０からクライアント１２１に送信される。
【０１９８】
図１５は、クライアント１２１が実行する処理のうち、選択状態の検出および出力に関する部分に関する処理フローを示す。
【０１９９】
入力装置情報取得処理（S７００）は、入力装置１０８が情報を取得する処理である。ユーザが選択した番組の位置情報を入力装置１０８が取得する。選択状態検出処理（S７０１）では、入力装置１０８がTV画面上の番組を選択しているか否かを選択状態検出部１０９が検出する。入力装置１０８が番組を選択しているとは、例えば、入力装置１０８がリモコンであれば、ユーザが十字キーで番組を指定し、決定ボタンを押すことによって、番組が選択されている状態に遷移することをいう。番組が選択されている状態で、ユーザが再度決定ボタンを押して、非選択状態に変更することもできる。すなわち、入力装置情報取得処理で、どの位置を入力装置が指定しているかがわかり、選択状態検出処理で、どの位置のどの情報を選択しているか否かを知ることができる。
【０２００】
音声入力処理（S７０２）では、通信回路１１３ａはクライアント１２１から送信された音声を受信する。音声認識処理（S７０３）では、音声認識部１０２は、入力された音声の認識を行う。クライアント１２１での音声認識は、サーバ型音声認識に比べると、登録可能な言葉に限界がある。限られた計算量、メモリで誤認識を減らすためには、必要最低限の言葉を辞書に登録することが望ましい。辞書は、音声認識部１０２として機能する回路内のメモリ（図示せず）に格納されていてもよいし、クライアント１２１に設けられた記憶装置（図示せず）に格納されていてもよい。
【０２０１】
必要最低限な言葉とは例えば、リモコンのボタンと対応づく言葉の集合であり、「電源ON」、「電源OFF」、「ボリュームアップ」、「ボリュームダウン」などである。さらに、本実施の形態では、後述する指示文字列検出処理と命令文字列検出処理を行うため、それらの検出に利用される語彙が予め辞書に登録される。例えば、指示文字列を認識するためには、「これ」、「それ」、「あれ」、「この」、「その」、「あの」、「これの」、「それの」、「あれの」などといった指示語、指示詞を登録しておく。また、「内容を表示」、「検索」などの命令語彙を登録する。これにより、音声認識部１０２は、「その番組の内容を表示」などの言葉を認識することができる。その結果、その後の処理によって、指示文字列と命令文字列を検出できる。
【０２０２】
指示文字列検出処理（S７０４）では、指示文字列検出部１０３は音声認識によって得られる文字列から指示文字列の検出を行う。指示文字列とは、前述した指示語、指示詞のことである。ここでは、指示文字列の検出は次のようにして行う。まず、指示文字列検出部１０３は、入力された文字列を形態素解析によって単語、品詞単位に分割する。形態素とは文章の要素のうち意味を持つ最小の単位である。形態素解析によって、文章を単語や品詞など複数の形態素に分割できる。あらかじめ指示文字列をリストとして用意しておき、そのリストに含まれる語と分割した形態素とが一致すれば、文章中の指示文字列が検出できたものとする。
【０２０３】
命令文字列検出処理（S７０５）では、命令文字列検出部１１５は音声認識結果から命令文字列を検出する。命令文字列検出部１１５は指示文字列検出処理と同様に形態素解析を行い、文章を分割する。分割した文章と事前に登録した単語リストとを比較することで命令文字列を検出する。ここで、単語リストに登録する命令文字列は、例えば、「内容、表示」、「検索」、「録画」などの操作コマンドに相当する言葉である。
【０２０４】
次に、選択状態検出部１０９は、選択状態検出処理を行って得られる情報を用いて、画面上の領域が選択されているか否かの判定を行う（S７０６）。選択状態検出部１０９は、例えば、TV画面上の番組が選択されている場合に、番組選択状態であるフラグを出力する。その場合、番組が選択されている場合は１を返し、番組が選択されていない場合は１以外を出力する。この値を利用することで、番組の選択状態を知り、状態を判定できる。次に、指示文字列検出部１０３および命令文字列検出部１１５はそれぞれ、指示文字列を検出したか否かの判定（S７０７）と命令文字列を検出したか否かの判定（S７０８）を行う。これらの文字列の検出判定には、前述したようにあらかじめ登録されたリストの語彙とのマッチングで指示文字列の検出を行う。
【０２０５】
選択状態検出部１０９によっていずれの項目も選択されていないと判定された場合、指示文字列検出部１０３によって指示文字列が検出されなかった場合、あるいは、命令文字列検出部１１５によって命令文字列が検出されなかった場合には、信号送受信処理（Ｓ７０９）が行われる。この処理では、通信回路１１３ａが音声信号をサーバ１２０に送信し、その後、サーバ１２０から返信される応答結果を示す信号を受信する。応答結果を示す信号には、サーバ１２０で音声認識および対話処理が行われて生成された音声信号、あるいは、機器制御信号が含まれる。出力回路１１２は、出力処理（S７１１）を行ってユーザに処理結果を通知する。
【０２０６】
ステップＳ７０６〜Ｓ７０８において、選択状態検出部１０９が選択状態で有ると判定し、かつ、指示文字列検出部１０３が指示文字列と命令文字列を検出した場合は、選択情報検出処理（S７１０）が行われる。選択情報検出処理（Ｓ７１０）では、選択情報検出部１０７が、入力装置情報取得処理で取得された位置の情報およびTV番組の情報などを取得する。例えば、入力装置１０８によってTV画面上で指定されている番組の画面上の位置や番組に関連する情報、例えば、前述したテレビ番組に関するメタデータまたはテレビ番組のコンテンツを取得する。ここで取得した情報と命令文字列に基づき出力回路１１２が出力処理（S７１１）を行い機器を制御する。
【０２０７】
以上のように、本実施の形態によれば、サーバ１２０だけでなくクライアント１２１でも音声指示の認識が行われる。クライアント１２１は、音声指示が実行できないときだけサーバ１２０に音声信号を送信し、処理をサーバ１２０に渡して応答結果を待つ。これにより、例えばテレビ番組に関する操作のように音声指示のバリエーションが少ない処理についてはクライアント１２１側で実行し、そうでない処理についてはサーバ側１２０で実行することができる。本実施の形態によれば、クライアント１２１とサーバ１２０との間のアクセスを最小限に抑えることができるため、処理の遅延を軽減できる。
【０２０８】
なお、本実施の形態においても、実施の形態１で説明した多様な変形例を適用することができる。実施の形態１と実施の形態２とを組み合わせて新たな実施の形態を構成してもよい。
【０２０９】
なお、上述の実施の形態では、音声入力装置であるマイクロフォン１０１はクライアントに設けられているとして説明した。しかしながらこの構成は一例である。例えばマイクロフォン１０１は、クライアントとは別の機器として存在していても良い。クライアントはそのようなマイクロフォン１０１と接続され、マイクロフォン１０１を介して音声の入力を受け取ることができればよい。
【０２１０】
仮に、マイクロフォン１０１がクライアントに設けられているとしても、クライアント１２１内部ではマイクロフォン１０１は独立した装置として存在しており、内部的に配線されているに過ぎない。マイクロフォン１０１は容易に着脱できるように設けることができる。マイクロフォン１０１は、クライアント１２１の必須の構成要素ではない。クライアント１２１は、その内部または外部でマイクロフォン１０１と接続されていればよい。
【０２１１】
また、上述の実施の形態では、出力回路１０８は、機器の制御信号、合成音声、テキストなどを出力すると説明した。出力回路１０８が、制御信号の送信部（例えば出力端子やリモコンの赤外線送信装置）、音声出力装置（例えばスピーカー）、ディスプレイの一部であり得ることを意味している。これらは一体で設けられていてもよいし、別個独立の機器として存在していてもよい。
【産業上の利用可能性】
【０２１２】
本開示は、音声認識機能を用いた情報提示方法に関して、サーバ上で音声認識処理を行う場合において有用である。
【符号の説明】
【０２１３】
１０１  マイクロフォン
１０２  音声認識部
１０３  指示文字列検出部
１０４  対話管理部
１０５  応答文生成部
１０６  音声合成部
１０７  制御信号生成部
１０８  入力装置
１０９  選択状態検出部
１１０  選択状態管理部
１１１  選択情報検出部
１１２  出力回路
１１３ａ、１１３ｂ  通信回路
１１４ａ、１１４ｂ  制御回路
１１５  命令文字列検出部
１２０  サーバ
１２１  クライアント
６０１  入力装置による人物指定の例
６０２  人物指定による個人認証結果の例
７０１  地図における場所を指定する例
７０２  地図における場所が指定された表示例
９０１  番組一覧の表示例
９０２  リモートコントローラ
９０３  番組一覧から番組を選択した例
９０４  リモコンと音声認識で番組内容の表示を行った例
１０００  従来の番組情報提示装置
１００１  マイクロフォン
１００２  音声認識部
１００３  指示文字列検出部
１００４  音声合成部
１００５  制御信号生成部
１００６  入力装置
１００７  出力部
【図１】
2020101822.tif 000003
【図２】
2020101822.tif 000004
【図３】
2020101822.tif 000005
【図４】
2020101822.tif 000006
【図５】
2020101822.tif 000007
【図６】
2020101822.tif 000008
【図７Ａ】
2020101822.tif 000009
【図７Ｂ】
2020101822.tif 000010
【図８Ａ】
2020101822.tif 000011
【図８Ｂ】
2020101822.tif 000012
【図９】
2020101822.tif 000013
【図１０】
2020101822.tif 000014
【図１１】
2020101822.tif 000015
【図１２】
2020101822.tif 000016
【図１３】
2020101822.tif 000017
【図１４】
2020101822.tif 000018
【図１５】
2020101822.tif 000019
【図１６】
2020101822.tif 000020
【図１７】
2020101822.tif 000021