(58)【調査した分野】(Int.Cl.,DB名)
前記機器はさらに、音声を出力可能な音声出力装置と接続され、前記検索結果を前記音声出力装置からの音声として出力させる検索結果情報を、前記音声出力装置に送信させる、請求項3に記載の制御方法。
【発明を実施するための形態】
【0012】
(本発明の基礎となった知見)
本発明の基礎となった知見は以下のとおりである。
【0013】
本願発明者らは、マイクによって音声を受け付け、受け付けた音声を認識し、内容を解釈することで、機器を制御する装置の実用化に向けて、さらなる改善が必要であると考えた。
【0014】
音声による機器の制御では、複数の制御コマンドを一つの音声コマンドに割当てることで、簡単な言葉で機器を制御できる。ボタン数が多いリモコンの操作に不慣れなユーザであっても自然な音声で機器を制御できるという利点がある。
【0015】
一方で、全ての操作を音声で行うことは利用者の操作性を損ねる。このことを、テレビ
(TV)を例にして説明する。
【0016】
図16は、テレビに表示される画面の一例を示す図である。例えば、「おすすめ番組一覧」という音声コマンドにより、
図16に示すように、番組の一覧901が画面上に表示されるとする。これは、例えばTVが、リモコン902を介して利用者の音声を受け付け、「おすすめ番組一覧」という言葉(すなわち音声)を認識し、その内容を解釈することで、機器(すなわちTV)がユーザに合わせたおすすめ番組を提示する機能である。ここで、番組を指定するためには、利用者は音声で「下」または「上」といったカーソル移動のコマンドを発話する。
【0017】
表示されたおすすめ番組が多い場合、一画面に表示される番組の数が多くなる。表示画面が複数ページに渡ることもある。このような場合、番組を指定するためには、利用者は音声で「下」、「上」、「次のページ」、または「前のページ」といったカーソル移動のコマンドを数多く発話する必要がある。音声を繰り返し入力する場合、音声認識を誤る可能性が高くなる。このように、何度も同じ言葉を発する方法は、使いやすいとは言いがたい。
【0018】
このような課題について、例えば、特許文献1は、リモコンと音声認識との組み合わせによってテレビの操作を簡便に行うことが可能な音声認識方法を開示している。
【0019】
この従来の方法では、上述のような音声コマンドによっておすすめ番組一覧が表示された場合には、利用者はまずリモコンで番組を指定する。その後、利用者は指示代名詞(「指示語」または「指示文字列」と称することもある。)とその指定した番組を制御する言葉(すなわち指示内容)との対で構成される音声を入力することで、リモコンで指定した番組の制御を行う。例えば、番組一覧901が表示されているとき、利用者がリモコン902で番組を指定すると、画面状態が、番組が選択されたことがわかるような画面状態903に変わる。その後、利用者が「その内容を表示」と発話すると、番組内容表示画面904のようにリモコンで指定された番組の内容が表示される。この例では、「その」が指示語に該当し、「内容を表示」が指示内容に該当する。本明細書では、指示内容を表す音声情報を「第1音声情報」、指示語を表す音声情報を「第2音声情報」と称することがある。
【0020】
図17は、特許文献1に記載された従来の音声認識方法を実現する番組情報提示装置1000の構成例を示す。
図17において、マイクロフォン1001によって音声が入力され、音声認識部1002によって音声認識が行われる。指示文字列検出部1003は、音声認識結果から指示文字列を抽出する。音声合成部1004は、ユーザに音声で応答するための合成音声を生成する。制御信号生成処理1005は、機器を制御する信号を生成する。入力装置1006は、マウスやタッチパネル、キーボード、リモートコントローラ等で構成されている。入力装置1006は、複数の番組の情報が表示されている場合に、ユーザが複数の番組から一つの番組を選択するために用いられる。入力装置1006は、画面に表示されている複数の番組から一つの番組がユーザによって選択されたときの選択位置の情報を受け付ける。出力部1007は、選択された番組を表示する出力処理、制御信号生成処理で生成された信号に基づく機器の制御、制御結果の表示、音声合成処理で生成された合成音声の再生などの出力処理を行う。
【0021】
リモコンに備え付けられているボタンの代わりに音声コマンドを利用する場合は、発生する言葉の数や種類はボタンの数に限られる。そのため、リモコンのボタンに記載されている名称、あるいは、そのボタンに対応する音声のコマンドが、認識用の辞書として予め登録されていればよい。辞書に登録される個々の言葉について、年齢または性別の異なる様々な人の音声を集めて音声認識のための音響モデルおよび言語モデルが構築される。誤
認識が減るように、認識用の辞書またはモデルを手作業でカスタマイズするなどの工夫が行われることもある。
【0022】
しかしながら、家電が宅外のネットワークに繋がるようになったことで、番組情報をウェブから取得することや、TV画面を利用したウェブ検索が可能になった。この場合、TVに関連しない言葉が入力される可能性も生じるため、どのような言葉が入力されるかを事前に知ることは難しい。つまり、事前に決められた単語群に特化した音響モデルおよび言語モデルを用意することができない。その結果、音声認識精度が低くなり、音声によってユーザが望む語彙を入力することが難しくなる。
【0023】
リモコンに記載された言葉以外の言葉を高精度に認識するためには、大規模なデータ群によって音声認識のためのモデルを構築することが必要になる。大規模なデータ群を用いて統計的音声認識モデルを構築することで、事前に未知な単語でも高精度に認識することができる。統計的なモデルに基づく音声認識処理は、メモリ、計算量の必要なリソースが大きいため、ネットワークを介して機器に繋がるサーバコンピュータ(以下、単に「サーバ」と称することがある。)上で実行される。
【0024】
特許文献1に開示されている技術では、制御対象となる機器本体と、音声認識処理部とが一体となっていた。そのため、機器本体を制御するリモコンに記載の内容については事前に音声認識辞書を用意することができる。しかし、ウェブ検索などの自由発話になると、音声認識精度が低かった。そのため、ユーザは使いにくく感じることが多く、音声認識の利用範囲を制限せざるを得なかった。
【0025】
以上のような考察から、機器が受け付けた音声信号の音声認識処理をサーバで行うことが実用上は望ましい。しかしながら、ネットワークを介して音声認識処理を行う場合には、音声信号を送信してから応答が返ってくるまでの時間が長い。すなわち、処理遅延が発生するという問題がある。
【0026】
この問題が生じるシステムの一例として、音声認識処理を行い、認識結果から指示文字列の検出を行った後、指示文字列の検出結果に応じて音声の応答や制御信号を返すシステムを想定する。音声認識処理をサーバで実行する場合、音声認識処理と指示文字列の検出、認識結果に基づく音声応答、機器制御までの一連の処理がサーバで行われる。この場合、音声認識結果の中に指示文字列が検出されると、その度にサーバからクライアントである機器にアクセスが発生する。これは、指示文字列(例えば、「その」等)が示す対象の項目が何であるかを問い合わせるためである。これにより、サーバとクライアントの間の通信処理が終わるまでは、それ以降の処理を行うことができない。このため、処理の遅延が生じ得る。このシステムでは、指示文字列が検出される度にサーバからクライアントにアクセスを行うことによる処理遅延を低減することが要求される。しかし、この要求を満たすための技術的な解決策に関して検討はされていなかった。
【0027】
このような課題を解決するための、本音声認識機能を用いた機器制御方法の一態様は、ユーザからの入力を受け付ける入力処理と、入力処理によって画面上の一部が指定されているか否かの状態検出を行う選択状態検出処理と、選択された一の項目の画面上の位置に関する内部情報を取得する選択情報検出処理と、ユーザに応答を返す出力処理と、外部装置と通信する通信処理と、音声を入力する音声入力処理と、音声の認識を行う音声認識処理と、音声認識結果に基づいて指示文字列の検出を行う指示文字列検出処理と、ユーザによる項目選択の状態を管理する選択状態管理処理を包含し、制御対象機器とは異なるサーバに音声入力処理と音声認識処理と指示文字列検出処理と選択状態管理処理とを実行させ、選択状態検出処理で選択状態が変更されたことを検知するたびに、選択状態管理処理の状態を更新し、更新結果が選択状態である場合のみ、指示文字列検出処理は選択情報検出
処理で検出された選択情報を取得する。
【0028】
選択状態管理処理により、入力装置によって一の項目(例えば番組を示す項目)が選択されているか否かの状態に関する情報をサーバが保持する。このため、サーバ上で音声認識処理が行われる場合に、サーバ上で保持された状態に応じて、サーバからクライアントにアクセスするか否かを選択することができる。その結果、処理遅延を減らすことが可能になる。
【0029】
上述の機器制御方法は、対話管理処理と応答文生成処理をさらに包含し、ユーザと対話型の処理によって機器の制御を行ってもよい。
【0030】
上述の機器制御方法は、音声合成処理と制御信号生成処理をさらに包含し、出力処理でユーザに応答を返す際に、合成された音声で応答を返す、あるいは、生成された制御信号で機器制御することでユーザに応答を返してもよい。
【0031】
選択状態管理処理は、入力処理で画面上の一部が選択されているかの状態のみを管理してもよい。
【0032】
選択状態管理処理は、入力処理で画面上の一部が選択されているかの状態に加えて、選択された場所に対応する内部情報も管理してもよい。
【0033】
入力処理は、テレビ番組に関するメタデータか、テレビ番組のコンテンツのいずれかを指定してもよい。
【0034】
テレビ番組に関するメタデータは、番組名、チャンネル名、内容、注目度、おすすめ度のいずれかであってもよい。
【0035】
テレビ番組のコンテンツには、人物、動物、車、地図、文字、数字のいずれかを含んでもよい。
【0036】
さらに、上述の課題を解決するための情報提供方法の一態様は、ディスプレイを有する表示機器とユーザの音声を入力可能な音声入力機器とに接続され、ユーザの音声に応答して表示機器を介して情報を提供する情報提供システムにおける情報提供方法であって、表示機器のディスプレイに選択可能な複数の項目を含む表示画面を表示させる表示画面情報を、表示機器に送信し、ディスプレイの表示画面において、複数の項目の中の一の項目が選択されたことを示す項目選択情報を受信し、一の項目が選択されているときに、音声入力装置から指示内容を表す第1音声情報を含む音声指示を受信した場合、第1音声情報から指示内容を認識し、音声指示に指示語を示す第2音声情報が含まれているか否かを判断し、音声指示に第2音声情報が含まれていると判断した場合は、一の項目について指示内容を実行する。
【0037】
指示内容は、一の項目に関連する情報を検索する指示であり、指示内容に基づく検索結果をユーザへ通知してもよい。
【0038】
検索結果をディスプレイに表示させる検索結果情報を、表示機器に送信してもよい。
【0039】
情報提供システムはさらに、音声を出力可能な音声出力装置と接続され、検索結果を音声出力装置からの音声として出力させる検索結果情報を、音声出力装置に送信してもよい。
【0040】
複数の項目は、テレビ番組に関するメタデータまたはテレビ番組のコンテンツを示す項目であってもよい。
【0041】
メタデータは、テレビ番組名、チャンネル名、テレビ番組の概要、テレビ番組の注目度、テレビ番組のおすすめ度の少なくとも1つを示していてもよい。
【0042】
テレビ番組のコンテンツは、人物、動物、車、地図、文字、数字の少なくとも1つを示す情報を含んでもよい。
【0043】
表示画面は特定地域における地図を表し、複数の項目の各々は地図上の任意の座標、または地図上のオブジェクトであってもよい。
【0044】
オブジェクトは、地図上の建造物を示してもよい。
【0045】
オブジェクトは、地図上の道路を示してもよい。
【0046】
オブジェクトは、地図上の地名を示してもよい。
【0047】
本開示の音声認識機能を用いた機器制御方法の他の態様は、ユーザからの入力を受け付ける入力処理と、入力処理によって画面上の一部が指定されているか否かの状態検出を行う選択状態検出処理と、選択された一の項目の画面上の位置に関する内部情報を取得する選択情報検出処理と、ユーザに応答を返す出力処理と、外部装置と通信する通信処理と、音声を入力する音声入力処理と、音声の認識を行う第一の音声認識処理と、第一の音声認識処理とは異なる方法で学習された第二の音声認識処理と、音声認識結果に基づいて指示文字列の検出を行う指示文字列検出処理と、音声認識結果に基づいて命令文字列の検出を行う命令文字列検出処理を包含し、選択状態検出処理において、入力処理によって画面上の一部が選択されており、かつ、指示文字列と命令文字列の両方が検出されたときは、第一の音声認識処理の結果に従って出力処理を行い、画面上の一部が選択されていない、あるいは、指示文字列と命令文字列のいずれかが検出されていないときには、第二の音声認識処理の結果に従って出力処理を行う。
【0048】
これにより、入力処理による画面指定があり、指示文字列と命令文字列が検出された場合には、サーバからの音声認識結果を待つこと無く、ユーザに応答を返すことができる。このため、従来よりも音声対話における応答の遅延を削減することが可能になる。
【0049】
上述の機器制御方法は、対話管理処理と応答文生成処理をさらに包含し、ユーザと対話型の処理によって機器の制御を行ってもよい。
【0050】
上述の機器制御方法は、合成音声を生成する音声合成処理、および制御信号を生成する制御信号生成処理をさらに包含し、出力処理でユーザに応答を返す際に、合成された音声で応答を返す、あるいは、生成された制御信号で機器を制御することでユーザに応答を返してもよい。
【0051】
選択状態検出処理は、入力処理で画面上の一部が選択されているかの状態のみを管理してもよい。
【0052】
選択状態検出処理は、入力処理で画面上の一部が選択されているかの状態に加えて、選択された場所に対応する内部情報も管理してもよい。
【0053】
入力処理は、テレビ番組に関するメタデータか、テレビ番組のコンテンツのいずれかを
指定してもよい。
【0054】
テレビ番組に関するメタデータは、番組名、チャンネル名、内容、注目度、おすすめ度のいずれかであってもよい。
【0055】
テレビ番組のコンテンツには、人物、動物、車、地図、文字、数字のいずれかを含んでもよい。
【0056】
さらに、上述の課題を解決するための制御方法の他の態様は、ユーザの音声を入力可能な音声入力装置に接続され、ディスプレイを有する表示機器の制御方法であって、表示機器のコンピュータに、選択可能な複数の項目を含む表示画面をディスプレイに表示させ、ディスプレイの表示画面において、複数の項目の中の一の項目が選択されたことを検知させ、一の項目が選択されたことが検知されているときに、音声入力装置から指示内容を表す第1音声情報を含む音声指示が受信された場合、第1音声情報から指示内容を認識させて指示内容を実行させ、一の項目が選択されたことが検知されていないとき、または、指示内容が実行できないと判断されたとき、音声指示を他のコンピュータへ送信させる。
【0057】
表示機器のコンピュータに、さらに、音声指示に指示語を示す第2音声情報が含まれているか否かを判断させ、一の項目が選択されたことが検知され、第1音声情報から指示内容が認識され、かつ、音声指示に第2音声情報が含まれていると判断された場合、指示内容を実行させ、一の項目が選択されたことが検知されなかった場合、第1音声情報から前記指示内容が認識されなかった場合、または音声指示に第2音声情報が含まれていると判断されなかった場合、音声指示を前記他のコンピュータへ送信させてもよい。
【0058】
指示内容は、一の項目に関連する情報を検索する指示であり、制御方法は、指示内容に基づく検索結果をユーザへ通知させてもよい。
【0059】
表示機器はネットワークを介してサーバと接続され、一の項目に関連する情報を、サーバ内のデータベースを参照して検索してもよい。
【0060】
制御方法は、検索結果をディスプレイに表示させてもよい。
【0061】
音声入力装置は、表示機器に含まれてもよい。
【0062】
表示機器はさらに、音声を出力可能な音声出力装置と接続され、制御方法は、検索結果を音声出力装置からの音声として出力させる検索結果情報を、音声出力装置に送信させてもよい。
【0063】
音声出力装置は、表示機器に含まれてもよい。
【0064】
複数の項目は、テレビ番組に関するメタデータまたはテレビ番組のコンテンツを示す項目であってもよい。
【0065】
メタデータは、テレビ番組名、チャンネル名、テレビ番組の概容、テレビ番組の注目度、およびテレビ番組のおすすめ度の少なくとも1つを示してもよい。
【0066】
テレビ番組のコンテンツは、人物、動物、車、地図、文字、数字の少なくとも1つを示す情報を含んでもよい。
【0067】
表示画面は特定地域における地図を表し、複数の項目の各々は地図上の任意の座標、ま
たは地図上のオブジェクトであってもよい。
【0068】
オブジェクトは、地図上の建造物を示してもよい。
【0069】
オブジェクトは、地図上の道路を示してもよい。
【0070】
オブジェクトは、地図上の地名を示してもよい。
【0071】
さらに、上述の課題を解決するためのコンピュータプログラムの一態様は、ユーザの音声を入力可能な音声入力装置に接続され、ディスプレイを有する表示機器に実行させるコンピュータプログラムであって、前記コンピュータプログラムは前記表示機器のコンピュータに、選択可能な複数の項目を含む表示画面を前記ディスプレイに表示させ、前記ディスプレイの表示画面において、前記複数の項目の中の一の項目が選択されたことを検知させ、前記一の項目が選択されたことが検知されているときに、前記音声入力装置から指示内容を表す第1音声情報を含む音声指示が受信された場合、前記第1音声情報から前記指示内容を認識させて前記指示内容を実行させ、前記一の項目が選択されたことが検知されていないとき、または、前記指示内容が実行できないと判断されたとき、前記音声指示を他のコンピュータへ送信させる。
【0072】
本開示の表示機器の一態様は、ユーザの音声を入力可能な音声入力装置に接続された表示機器であって、ディスプレイと、制御回路と、通信回路と、を備え、前記制御回路は、選択可能な複数の項目を含む表示画面を前記ディスプレイに表示させ、前記ディスプレイの前記表示画面において、前記複数の項目の中の一の項目が選択されたことを検知し、前記一の項目が選択されたことを検知しているときに、前記音声入力装置から指示内容を表す第1音声情報を含む音声指示が受信された場合、前記第1音声情報から前記指示内容を認識して前記指示内容を実行し、前記一の項目が選択されたことを検知していないとき、または、前記指示内容が実行できないと判断したとき、前記音声指示を他のコンピュータへ送信するように前記通信回路に指示する。
【0073】
なお、以下で説明する実施の形態は、いずれも本発明の一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また全ての実施の形態において、各々の内容を組み合わせることも出来る。
【0074】
以下、添付の図面を参照しながら、本発明の例示的な実施の形態を説明する。
【0075】
(実施の形態1)
図1は、本実施の形態における情報提供システムが表示機器に対して実行する情報提供方法の概要を示すシーケンス図である。本実施の形態における情報提供システムは、ディスプレイを有する表示機器とユーザの音声を入力可能な音声入力機器とに接続される。ここで「接続される」とは、電気信号の送受信ができるように電気的に接続されることを意味する。「接続」は、有線に限らず無線でもよい。2つの機器の間に他の機器(例えば、スイッチングハブ、ルータ、パーソナルコンピュータ(PC)等)が接続され、それらを介して電気信号の送受信が行われ得る状態も、2つの機器が接続されている状態に該当する。
【0076】
情報提供システムは、典型的にはサーバコンピュータを含む1以上の機器の組み合わせであり得る。情報提供システムは、選択可能な複数の項目を含む表示画面を表示機器のデ
ィスプレイに表示させる表示画面情報を表示機器に送信する。それを受けて、表示機器は表示画面をディスプレイに表示する(ステップS100)。この表示画面は、選択可能な複数の項目を含む。複数の項目の各々は、例えば
図13に示すようなテレビ番組を示す項目であり得るが、これに限定されない。複数の項目の各々は、テレビ番組に関するメタデータまたはテレビ番組のコンテンツを示す項目であってもよい。メタデータは、例えば、テレビ番組名、チャンネル名、テレビ番組の概要、テレビ番組の注目度、およびテレビ番組のおすすめ度の少なくとも1つを示すデータであり得る。テレビ番組のコンテンツは、例えば人物、動物、車、地図、文字、数字の少なくとも1つを示す情報を含み得る。表示画面が地図の画像を含む場合、複数の項目の各々は、地図上の位置を特定する座標情報であり得る。
【0077】
ユーザは、表示機器のディスプレイに表示された複数の項目の中から、一の項目を選択することができる。例えば、テレビ番組を示す複数の項目が表示されている場合、その中から1つの項目を選択することができる。表示機器がタッチスクリーンをディスプレイとして備えている場合、項目の選択はタッチスクリーンへの直接的な接触によって行われ得る。表示機器が外付けのディスプレイに表示画面を表示させる場合、項目の選択は例えばマウスの操作によって行われ得る。前者の場合はタッチスクリーンが、後者の場合はマウスが入力装置として機能する。
【0078】
ディスプレイの表示画面において、複数の項目の中の一の項目が選択されると、表示機器は、そのことを示す情報(「項目選択情報」と称する。)を、情報提供システムに含まれるサーバに送信する。サーバは、項目選択情報を受信すると、どの項目が選択されたかを判断し、各項目の選択/非選択の状態を記録(または更新)する(ステップS110)。この処理を選択状態管理処理と称する。項目選択情報の送信および選択状態管理処理は、ユーザが項目の選択を変更する度に実行される。言い換えれば、ユーザの項目の選択(または変更)に起因する選択状態管理処理は、音声指示の前に何回でも実行され得る。
【0079】
ユーザは、一の項目を選択した後、その項目に対する音声指示を行う。例えば、選択した項目に対応するテレビ番組を再生する指示や、そのテレビ番組の概要を表示したりする指示を音声によって行うことができる。そのような指示は、例えば、「それを再生」、「その内容を表示」などと発声することによって行われ得る。この指示は、「を再生」、「内容を表示」といった指示内容を示す第1音声情報と、「それ」、「その」といった指示語を示す第2音声情報とを含み得る。第1音声情報は、表示機器の制御コマンドと関連付けられる。表示機器が何等かの音声指示をユーザから受け付けると、表示機器はその音声情報をサーバに送信する。
【0080】
サーバは、音声情報を受信すると、一の項目が選択されているか否か(ステップS111)、音声指示が第1音声情報を含むか否か(ステップS112)、音声指示が第2音声情報を含むか否か(ステップS113)を判定する。これらの3つのステップのいずれかでNoと判定した場合、サーバは指示内容を無視し、待機状態に戻る。あるいは、指示内容を実行しない旨を示す情報を表示機器に送信してもよい。
【0081】
ステップS111では、サーバは、選択状態管理処理(S110)において更新された選択状態の情報を参照し、一の項目が選択されているか否かを判定する。一の項目が選択されている場合、ステップS112に進む。ステップS112では、サーバは、音声指示が第1音声情報(すなわち指示内容)を含むか否かを判定する。音声指示が第1音声情報を含むと判定した場合、サーバは、指示内容を認識する(ステップS113)。続くステップS114において、サーバは、音声指示が第2音声情報(すなわち指示語)を含むか否かを判定する。音声指示が第2音声情報を含むと判定した場合、サーバは、指示内容を実行する(ステップS115)。指示内容の実行は、例えば、要求された指示に対応する
機器の制御情報などを表示機器に送信することによって行われる。なお、ステップS111、S112、S114の順序は
図1に示す順序に限らず、相互に入れ替えてもよい。
【0082】
このような方法により、選択状態管理処理(S110)によってサーバが表示機器の表示画面における項目の選択状態をリアルタイムで把握できる。サーバが音声指示を受け付けた後、表示機器に選択状態の問い合わせを行う必要がないため、表示機器とサーバとの間のアクセスを低減することができる。
【0083】
次に、本実施の形態における番組情報提示方法を採用するシステムのより具体的な例を説明する。
【0084】
図2は、本実施の形態における番組情報提示方法を採用するシステムの構成を示す。この番組情報提示方法は、ユーザの音声を認識する音声認識機能を利用して番組の情報をユーザに提示する。本システムは、クライアント121と、サーバ120とを含む。クライアント121は、前述の表示機器、または表示機器に接続される他の機器に対応する。クライアント121は、例えばテレビ、レコーダー、スマートフォン、タブレット端末などの機器であり得る。
図2の例では、クライアント121は、音声入力装置であるマイクロフォン101と、入力装置108と、出力回路112と、通信回路113bと、これらを制御する制御回路114bとを備える。制御回路114bは、ユーザによる項目の選択を検出する選択状態検出部109と、入力装置によって指定された番組の表示画面上での位置情報および指定された番組の情報を検出する選択情報検出部111とを有する。
【0085】
サーバ120は、クライアント121と通信する通信回路113aと、制御回路114aとを備える。制御回路114aは、選択状態管理部110、音声認識部102、指示文字列検出部103、対話管理部104、応答文生成部105、音声合成部106、および制御信号生成部107の7つの機能部を有する。
【0086】
本実施の形態では、音声入力装置であるマイクロフォン101がユーザの音声信号をセンシングする。サーバ120の音声認識部102は、センシングした音声信号を文字列に変換する。以後は主としてサーバ120による処理が行われる。指示文字列検出部103は、音声認識部102で変換された文字列中に含まれる指示代名詞を検出する。対話管理部104は、ユーザと機器との対話型の処理を行った履歴やどのような対話処理を行うかという応答戦略などを管理する。ここで、対話型処理とは、タッチパネルなどの物理的なインターフェースや音声などを用いたユーザと機器とのメッセージのやりとりに関する処理をいう。そのような履歴情報および応答戦略に用いられる情報は、不図示のメモリなどの記録媒体に格納される。
【0087】
応答文生成部105は、入力された文字列に応じてユーザに応答する文字列を生成する。音声合成部106は、応答文生成部105で生成した文字列を音声に変換する。制御信号生成部107は、対話内容に応じた機器制御コマンドを生成する。
【0088】
なお、音声合成部106は、応答文生成部105が生成した文章から合成音声を生成し、ユーザに音声を提示すると説明したが、これは一例である。例えば、TVなどのディスプレイ装置がクライアント121に設けられている場合には、文字列を画面上に表示しても構わない。
【0089】
入力装置108は、例えば、マウス、タッチパネル、キーボード、リモートコントローラ等であり得る。この入力装置108は、ディスプレイ装置などの表示装置に複数の番組の情報が表示されている場合に、ユーザが一つの番組を選択することを可能にする。
【0090】
入力装置108により番組が選択されると、その選択された画面上の位置の情報が取得される。位置の情報は、例えば二次元の座標情報であり得る。表示画面には、番組を示す選択可能な複数の項目の他に、指定可能な他の表示領域が存在し得る。例えば、ページ遷移のためのボタン、番組の選択を終了するボタン、または他の機能を呼び出すためのボタンなどの他の表示領域が存在し得る。ユーザはそのような表示領域も指定することができる。クライアント121における選択状態検出部109は、入力装置108によっていずれかの番組が選択されているか否かの検出を行う。この検出は、指定された位置がいずれかの番組を示す項目の位置と重なるか否かを判定することによって行われ得る。検出結果は通信回路113b、113aを介してサーバ120の選択状態管理部110に送られる。選択状態管理部110は、いずれかの番組が選択されているか否かを示す情報を管理する。例えば、いずれかの番組が選択されている場合は、選択状態管理部110の内部メモリに1を設定し、番組が選択されていない場合は、内部メモリに0を設定する。この内部メモリの値は選択状態に合わせて更新される。
【0091】
選択情報検出部111は、入力装置108によって指定された番組の位置情報、および、指定された番組の情報などを検出する。検出された情報は、通信回路113b、113aを介して指示文字列検出部103に送信される。出力回路112は、応答文生成部105、音声合成部106、制御信号生成部107の出力結果に基づく情報を出力する。出力回路112は、例えば、ディスプレイへの応答文の表示、スピーカーへの合成音声の再生、生成された制御信号による機器の制御、およびディスプレイへの制御結果の表示などの出力処理を行う。
【0092】
通信回路113aおよび113bは、サーバ120とクライアント121の間の通信を行うための通信モジュールを備える。ここで、通信モジュールは、例えばWi−Fi(登録商標)、Bluetooth(登録商標)などの既存の通信方式を利用して通信を行う。そのような機能を有する限り、通信モジュールの種類は問わない。音声合成部113で合成された音声信号、および、機器を制御する制御信号は出力回路108に送信される。出力回路108は、音声信号、機器を制御するための信号、および制御結果を示す情報を出力する。
【0093】
上述したサーバ120における制御回路114aの各構成要素は、サーバ120のコンピュータ(たとえばCPU)が、コンピュータプログラムを実行することによって実現されてもよいし、それぞれが別個独立の回路等として設けられてもよい。
【0094】
上述したクライアント121における制御回路114bの各構成要素(選択状態検出部109、および選択情報検出部111の各々)も、クライアント121のコンピュータ(たとえばCPU)が、コンピュータプログラムを実行することによって実現されてもよいし、それぞれが別個独立の回路等として設けられてもよい。
【0095】
例えば、後述の
図3に示されるサーバ120の各処理は、コンピュータプログラムを実行したサーバ120のコンピュータが行う制御方法として実現され得る。同様に、例えば
図3に示されるクライアント121の各処理は、コンピュータプログラムを実行したクライアント121のコンピュータが行う制御方法として実現され得る。
【0096】
本実施の形態では、音声認識処理を、サーバ120が行う例を説明する。音声認識を行った後に実行される対話管理部104、応答文生成部105、音声合成部106、および制御信号生成部107の各処理は、サーバ120ではなくクライアント121が実行しても良い。
【0097】
図3は、サーバ120とクライアント121との通信処理のシーケンスを示す。このシ
ーケンスは、ユーザがリモコンなどの入力装置108によって表示画面上の一部を指定することによって開始される。
【0098】
ステップS200の入力装置情報取得処理において、選択状態検出部109は、入力装
置108によって指定された表示画面上の位置を示す情報を取得する。位置の指定は、入力装置108がタッチパネルであれば、指等によるタッチによって行われ得る。入力装置108がリモコンであればボタン操作によって行われ得る。
【0099】
ステップS201の選択状態検出処理において、選択状態検出部109は、一の番組が
選択されたか否かを検出する。この検出は、入力装置情報取得処理で取得された位置情報に基づいて、入力装置108によって指定された位置が番組を示す項目の位置に該当するか否かを判定することによって行われる。
【0100】
ステップS202の選択情報保存処理において、クライアント121は、入力装置10
8によって選択された項目に関する情報(以下、「選択情報」と称することがある。)を取得してメモリ等の記録媒体に保存する処理を行う。例えば、番組であれば、選択された番組に関連づけられた情報(例えば、番組名、放送日時、概要、出演者などの情報)を取得する。なお、後述する例のように、ディスプレイに地図を表示させる例では、選択された項目に関する情報は、指定された位置にある建物の情報であり得る。地図の例については後述する。
【0101】
ステップS203の選択状態送信処理では、選択状態検出処理で取得した入力装置10
8による番組選択の有無を示す情報が、クライアント121の通信回路113bからサーバ120の通信回路113aに送信される。
【0102】
ステップS204の選択状態受信処理では、サーバ120の通信回路113aはクライ
アント121から送信された選択状態を示す情報を受信する。
【0103】
ステップS205の選択状態管理処理では、選択状態管理部110は、選択状態受信処
理で受信した情報に基づき、番組選択状態を管理する。具体的には、選択状態管理部110は、番組が選択されている状態を1、選択されていない状態を0として、0か1かの情報をサーバ120における特定のメモリに保存する。これにより、番組の選択有無の管理を実現できる。
【0104】
以上のステップS200〜S205は、ユーザによって番組の選択が変更される度に実行される。したがって、
図3に示すステップS200〜S205は、複数回実行され得る。
【0105】
ステップS206の音声要求送信処理では、サーバ120における通信回路113aは
、クライアント121における通信回路113bに、音声信号を送付するよう要求する信号を送信する。この処理は、例えば、ユーザからの音声指示の開始の要求に応答して行われる。音声指示の開始の要求は、例えば、画面に表示される開始ボタンの押下をトリガーとして行われ得る。
【0106】
ステップS207の音声要求受信処理では、クライアント121は、クライアント12
1に関連付けられたマイクロフォン101からの音声の入力を許可する。
【0107】
ステップS208のA/D変換処理では、クライアント121は、入力された音声信号
についてA/D変換(アナログデジタル変換)を行う。これにより、アナログの音声がデジタルの音声信号に変換される。
【0108】
ステップS209の音声信号送信処理では、クライアント121の通信回路113bは
、デジタル音声信号をサーバ120に送信する。
【0109】
ステップS210において、サーバ120の通信回路113aは、クライアント121
から送信された音声信号を受信する。
【0110】
ステップS211において、音声認識部102は音声認識処理を行う。音声認識処理と
は、入力された音声信号を解析し、テキストデータに変換する処理である。
【0111】
ステップS212では、指示文字列検出部103は指示文字列を検出する。指示文字列
検出処理とは、音声認識処理によって生成されたテキストデータを解析することで、指示文字列の検出を行う処理である。
【0112】
ステップS213の選択状態判定処理では、選択状態管理部110は、ステップS20
5の選択状態管理処理においてメモリに保存された選択状態の情報を参照することにより、一の項目が選択されている状態か否かを判定する。つまり、選択状態管理部110は、サーバ120上のデータのみに基づいて選択状態であるか否かの判定を行う。選択状態にあると判定した場合には、サーバ120は、クライアント121に、選択情報を要求する。クライアント121は、この要求を受信すると、ステップS214の選択情報送信処理
において、ステップS202の選択情報保存処理でメモリに保存された選択情報をサーバに送信する。
【0113】
ステップS215の選択情報受信処理において、サーバ120の通信回路113aは、
クライアント121の通信回路113bから選択情報を受信する。
【0114】
ステップS216の対話管理処理では、対話管理部104は、受信した選択情報と指示
文字列検出処理の結果に基づいて、機器の制御方法および音声での応答方法を決定し、クライアント121に返信するための情報を出力する。対話管理処理は、例えば、入力された音声の情報と出力の情報とが対応付けられたテーブルを参照することで、対話管理部104が応答方法を決める処理であり得る。例えば、「TV、電源ON」という音声が入力された場合、対話管理部104は、TVの電源をONにする機器制御信号、あるいは、機器制御信号に対応する識別子(ID)を出力する。ユーザが「その番組の内容を表示」と言った場合、指示文字列検出結果により、「その」という文字が検出される。これにより、「その」という言葉が、ステップS215の選択情報受信処理で取得した選択情報を指していることがわかる。その結果、対話管理部104は、選択情報から得られる番組情報から番組内容を特定し、クライアント121に返信するための情報を生成できる。
【0115】
ステップS217の応答結果送信処理では、サーバ120の通信回路113aは、ステ
ップS216の対話管理処理において生成された情報をクライアント121に送信する。送信される情報は、例えば、機器の制御信号もしくは制御信号に対応するID、または、合成音声のデータもしくは音声を合成するためのテキストデータであり得る。
【0116】
ステップS218の応答結果受信処理では、サーバ120からの応答結果をクライアン
ト121の通信回路113bが受信する。
【0117】
ステップS219の応答結果出力処理では、出力回路112は、ステップS218の応
答結果受信処理で受信した機器の制御信号や合成音声、テキストなどを機器の出力手段を通じてユーザまたは制御対象の機器に出力する。例えば、機器の制御信号に関しては、応答結果出力処理として、TVの電源のON、OFFや、音量、チャンネルの上下を制御すること
が考えられる。合成音声に関しては、TVのスピーカーから応答音声を出力することが考えられる。テキストに関しては、クライアント121の機器が音声の合成を行い、合成された音声を出力してもよいし、加工されたテキストをTVの画面に表示してもよい。
【0118】
以下、サーバ120での処理とクライアント121での処理に分けて、音声認識機能を用いた番組情報提示方法をさらに詳細に説明する。
【0119】
図4は、サーバ120が音声指示を受信した後の処理フローの詳細を示す。
【0120】
まず、音声入力処理(S300)では、マイクロフォン101から音声信号が入力され
る。本実施の形態では、マイクロフォンはクライアント121に備えられているものとし、クライアント121上でA/D変換された音声信号がサーバ120側に転送される。
【0121】
音声認識処理(S301)では、音声認識部102は入力された音声の認識処理を行う
。音声認識処理では、入力された音声信号が文字列データに変換される。サーバ120上で音声認識を行うことで、大規模のデータ群から構築した音響モデルおよび言語モデルを利用できる。サーバ120の計算能力はクライアント121に比べると高い。大規模データから統計的学習手法によって学習した音響モデルおよび言語モデルを利用できるため、多様な言葉の認識率が高いというメリットがある。また、スマートフォンやFTTHなどの普及により、端末が常時ネットワークに接続された環境が整ってきている。このため、サーバ120上で音声認識を行う方法は実用的である。
【0122】
指示文字列検出処理(S302)では、指示文字列検出部103は音声認識によって得
られる文字列から指示文字列の検出を行う。ここで、指示文字列とは、「これ」、「それ」、「あれ」、「この」、「その」、「あの」、「これの」、「それの」、「あれの」などといった指示語または指示詞のことである。ここでは、指示文字列の検出は次のようにして行う。まず、指示文字列検出部103は、入力された文字列を形態素解析によって単語、品詞単位に分割する。形態素とは文章の要素のうち意味を持つ最小の単位である。形態素解析によって、文章を単語や品詞など複数の形態素に分割できる。あらかじめ指示文字列をリストとして用意しておき、そのリストに含まれる語と分割した形態素とが一致すれば、文章中の指示文字列が検出できたものとする。このように、単語同士のマッチングにて、指示文字列が検出されたか否かの検出処理を行う。
【0123】
指示文字列を検出したか否かによってサーバ120は以降の処理を切換える(S303
)。指示文字列を検出すると、選択状態管理部110はクライアント側の入力装置108がTV画面上の番組に関する情報を選択しているか否かの状態を取得する(S304)。そ
して選択状態管理部110は、取得した選択状態に基づき番組を選択している状態であるか否かの判定を行う(S305)。具体的には、入力装置108が画面上の番組を選択し
ているときは、選択状態として1を、番組を選択していないときは選択状態として1以外を指定するものとすると、選択状態管理部110は選択状態取得処理(S304)にて、
1か1以外かの情報を取得する。選択状態管理部110は選択状態判定処理(S305)
にて、選択状態であるか否かの判定、つまり、選択状態が1であるか否かの判定を行う。このときの1か1以外かの値は、選択状態管理部110に保存されている。この判定結果に基づき、番組が選択されているか否かにより処理が切り替えられる(S306)。
【0124】
もし番組が選択されていると判断されれば、選択状態管理部110は選択情報取得処理(S307)によって、画面上で選択された番組に関連する情報(例えば、番組名、放送
日時、録画日時、ジャンル、放送局、番組内容、EPG情報など)を取得する。ここで、サ
ーバ120がクライアント121から取得する情報は、番組に関する詳細な操作を行うためのものである。例えば、番組内容の表示、番組ジャンルの表示などの操作命令が入力さ
れたときにサーバで処理できるように、番組の詳細な情報がクライアント121からサーバ120に送信される。
【0125】
指示文字列検出の判定(S303)で指示文字列が検出されたと判断される、もしくは
番組選択の判定(S306)で番組が選択されていないと判定される場合、対話管理部1
04は対話管理処理(S308)を行う。本実施の形態における対話管理処理では、対話
管理部104は、音声認識された文字列の内容を理解し、入力言語情報や過去の文脈等を考慮してどのような応答をするかを決定し、応答結果を示す情報を出力する。例えば、TV番組の録画設定やTV画面の制御など機器の制御に関する応答を行うのであれば、対話管理部104の指示に従って制御信号生成処理(S309)が、機器の制御信号を生成するこ
とで、クライアント121の機器制御を行う。また、音声でユーザに応答するのであれば、対話管理部104の指示に従って音声合成部106が音声合成処理(S310)におい
て合成音声を生成し、音声信号を出力する。
【0126】
信号送信処理(S311)では、通信回路113aは、機器信号生成処理と音声合成処
理で生成した機器の制御信号や音声の合成信号をクライアント121の通信回路113bに送信する。
【0127】
図5は、クライアント121が実行する処理のうち、選択状態の検出および出力に関する部分に関する処理フローを示す。
【0128】
入力装置情報取得処理(S400)は、入力装置108が情報を取得する処理である。
ユーザが選択した番組の位置情報を入力装置108が取得する。選択状態検出処理(S4
01)では、入力装置108が番組を選択しているか否かを選択状態検出部109が検出する。入力装置108が番組を選択しているとは、例えば、入力装置108がリモコンであれば、ユーザが十字キーで番組を指定し、決定ボタンを押すことによって、番組が選択されている状態に遷移することをいう。決定ボタンを設けず、単に十字キーで番組を指定するだけで番組が選択されている状態に遷移するようにクライアント121を構成してもよい。入力装置108がタッチスクリーンまたはPCに接続されたディスプレイの場合、ユーザが特定の番組が表示されている箇所をタップまたはクリックすることによってその番組が選択されている状態に遷移するように構成してもよい。番組が選択されている状態で、ユーザが再度決定ボタンを押すなどして、非選択状態に変更することもできる。すなわち、入力装置情報取得処理で、どの位置を入力装置が指定しているかがわかり、選択状態検出処理で、どの位置のどの情報を選択しているかを知ることができる。
【0129】
選択状態保存処理(S402)では、クライアント121は、入力装置情報取得処理で
取得した位置情報と選択状態検出処理で得られる選択中であるか否かの情報の保存処理を行う。選択情報検出処理(S403)では、選択情報検出部111は、選択状態保存処理
にて保存されている位置情報に対応する番組の情報または番組に関する情報を検出する。本明細書において「番組に関する情報」とは、例えばテレビ番組に関するメタデータまたはテレビ番組のコンテンツをいう。メタデータは、例えばテレビ番組名、放送日時、ジャンル、放送局、チャンネル名、テレビ番組の内容、テレビ番組の人気度、テレビ番組のおすすめ度、出演者、CM企業の少なくとも1つを含む。メタデータとして録画日時を含んでもよい。また、テレビ番組のコンテンツは、人物、動物、車、地図、文字、数字の少なくとも1つの情報を含む。ただしこれらは一例であり、これらに限られない。番組の情報の検出には、番組名に関する情報をシステム内外のEPGから検索する方法や、番組名などに
基づいてウェブ検索を行い、関連情報を取得する方法などがある。
【0130】
信号受信処理(S404)では、クライアント121の通信回路113bは、サーバの
信号送信処理によって、サーバ120から送信される機器制御信号および合成された音声
信号を受信する。
【0131】
出力処理(S405)では、出力回路112は信号受信処理で受信した制御信号生成処
理(S306)の結果と音声合成処理(S307)の結果に基づいて、ユーザに処理結果を出力する。
【0132】
なお、入力装置108で指定される対象は、番組などを表すアイコンやリストに限ったものではない。例えば、地図などの任意の位置をマウスで指定されるものであってもよい。地図上の指定には、画面上のx座標、y座標を位置情報としてもよいし、地図特有の緯度経度情報に座標が表現されてもよい。緯度経度の値は住所に対応付けることが可能である。このため、緯度経度情報をキーボードから数値で入力して住所を指定するものであってもよい。あるいは、住所自体をキーボードで入力してもよい。住所は比較的長い文字列であるため、音声認識を失敗しやすいと考えられる。このような場合は、ユーザが入力しやすい方法で指し示す対象を指定すればよい。
【0133】
位置指定の解除のためのボタン、アイコンを、位置指定した対象以外の位置に設けても良い。番組の選択の場合は、番組に関するアイコンの選択を繰返すことで、その番組の選択と選択解除を簡単に行える。しかし、地図上の特定の位置を指定する場合には、地図上の1点を選択することで、選択を解除することは難しい。そこで、
図6に示すように、地図の画面上部に選択解除ボタンを設けてもよい。選択解除ボタンを押すことで選択解除を行うことができ、選択解除が容易になる。
図6は、「○○スーパー」が指定されている例を示している。指定されている位置にカーソルを示す「矢印」が表示されている。
図6では、選択解除は、地図右上にある選択解除枠を選択することで行われる。
【0134】
このような地図を表示させる表示機器は、テレビ、パーソナルコンピュータ、スマートフォン、タブレット端末などの情報機器の他、カーナビゲーションシステムに用いられてもよい。ユーザは任意の地点を指定(すなわち選択)した上で、その地点を示す指示語を含む音声指示により、所望の情報を得ることができる。例えば、「ここへの経路は?」、「ここから一番近いガソリンスタンドは?」といった音声指示に応答して要求された情報を提示するシステムを構築できる。
【0135】
選択状態検出部109において、番組が選択されたことを示す情報に対して、その番組が選択された時間を付随させて記憶してもよい。これによって、番組が選択された時刻と現在の時刻との絶対差tが、所定の閾値よりも小さい場合と大きい場合とで、対応付けられる指示語を変えることもできる。例えば、絶対差tが所定の閾値よりも小さい場合には、「この」、「その」、「こっち」、「これ」、「それ」、「そっち」などのように、近称、中称と呼ばれる指示語で番組の指定を行い、前記絶対差tが所定の閾値より大きい場合は、「あっち」、「あれ」などのように遠称と呼ばれる指示語で番組の指定を行うようにしてもよい。このように、前記絶対差tの大きさに応じて指定する言葉を変えてもよい。
【0136】
本実施の形態では、指示代名詞を用いて特定の番組を選択するため、2つ以上の番組が指定されている場合には、指示代名詞がどちらの番組を指し示しているか分からない場合がある。この場合には、最初に指定した番組を「この番組」「その番組」というように、近称、中称の指示語で選択し、後に指定した番組を「あの番組」というように、遠称の指示語で選択してもよい。これにより、指示代名詞の使い分けで、複数の候補から一つを選択することができる。
【0137】
指示代名詞を用いて番組を指定する際、不図示の個人認識部を活用した個人識別情報を利用してもよい。例えば、入力装置108によって番組を選択したときに、誰が番組を選
択したかを識別し、個人識別情報を選択状態検出部109に保存してもよい。(この情報を個人識別情報Aとする)。このとき、個人識別情報とその人がどの番組を選択したかと
いう情報が対で記憶される。さらに、指示文字列検出部103によって指示文字列が検出されたとき、その指示文字列を発話した個人を識別してもよい(この識別情報を個人識別情報Bとする)。個人識別情報Bに合致する個人識別情報Aを選択状態検出部109が保持する情報の中から検索すれば、番組を選択した個人と指示文字列を発話した個人とが合致するか否かを判定できる。両者が合致したとき、その個人識別情報Aと対で記憶されている番組を指示代名詞で指定された番組とし、操作対象とする。
【0138】
なお、リモコン上に搭載されたタッチパッドやジョイスティックなどによって画面の任意の場所を指定できるようにすれば、画面上の好きな所を指定できるようになる。これにより、例えば、画面上の特定の人物をカーソルで指定し、「その人がでている番組」と指定すると、カーソルで指定された人が出演している番組の一覧を画面に表示することも可能となる。画面上に一人しか写っていなければ、音声のみで「この人」が誰を表すかを知ることができる。しかし、
図7Aように人物が二人以上写っている場合には、音声のみで人物を指定することが難しい。カーソルを使うことにより、
図7Bに示すように、音声では指定することができないような、TVに出演する複数人物のうち一人を選択することができる。これにより、選択された人物に特定した情報検索が可能となる。カーソルが指す人物が誰であるかを認識するためには、既存の顔検出技術、顔認識技術を用いることができる。
図7Aの画面例601は、画面上の人物をカーソルで指定した例である。画面例601では、左側の人物上にカーソルが合わせられている。カーソルで人物を指定すると、その近辺の顔検出、顔認識処理が行われる。その後、
図7Bに示すように、どこの、誰が認識されたかをディスプレイに表示する、あるいは音声でユーザに提示することで、ユーザは視覚的に誰が指定されたかを確認できる(画面例602)。
【0139】
この例では、人物の検出例について述べたが、一般物体認識技術を利用することで、上述したように、動物、車、文字、数字などを認識することも可能である。
【0140】
画面上に表示された地図を用いて場所を検索する場合には、表示画面に特定地域における地図を表示し、カーソルで指定された地図上の任意の座標、または地図上のオブジェクトを基準とした検索が可能となる。
図8Aおよび
図8Bに示すように、例えば、「この場所より北にあるドラッグストア」というと、カーソルの場所より北のドラッグストアを表示することができる。
図8Aの表示例701では、xx公園を指定しており、図面上は矢印にて表示されている。音声による検索を行うことで、
図8Bの表示例702のようにドラッグストアの場所が提示される。表示例702では、検索位置が点線丸で表示される。これにより、利用者は、詳細な住所を知ることが無くても、直感的に現在指している位置の情報と音声による地図検索が可能となる。同様に、「そこまでの行き方は?」という聞き方をすることで、現在位置からカーソルが指定している位置までの行き方を検索(路線検索やカーナビゲーション)できる。これにより、通常は、地図で位置を確認した後、その位置までの行き方検索をするために数ステップのボタン操作が必要になるが、音声の入力で素早く処理を完了させることができ、設定が簡便になる。
【0141】
なお、本実施の形態では、選択状態の送受信と選択情報の送受信の処理を分けて記載したが、選択状態の送信時に選択情報も送信するような形態であっても構わない。このような場合、サーバとクライアントのデータ送受信のシーケンスは、
図9のようになる。システムの構成、サーバとクライアントの処理フローはそれぞれ
図2、
図4、
図5の通りである。以下、重複する説明は省略することがある。
【0142】
図9は、選択状態の送信時に選択情報も送信する場合におけるサーバ120とクライアント121との通信処理のシーケンスを示す。このシーケンスは、ユーザがリモコンなど
の入力装置108によって表示画面上の一部を指定することによって開始される。
【0143】
ステップS800は、入力装置情報取得処理である。選択状態検出部109は、入力装
置108がクライアント121の画面上のどこを指しているかを検出する。
【0144】
ステップS801は、選択状態検出処理である。選択状態検出部109は、入力装置情
報取得処理で指定された位置が、入力装置108によって指定されているか否かを取得する。
【0145】
ステップS802は、選択情報送信処理である。通信回路113bは、選択された項目
に関する情報をサーバ120に送信する。
【0146】
ステップS803は、選択情報受信処理である。サーバ120の通信回路113aは、
クライアント121からの選択情報を受信する。
【0147】
ステップS804は、選択状態管理処理である。これは、選択状態管理部110が、選
択状態受信処理で受信した入力装置108を介した選択状態をサーバ120側で管理するための処理である。選択状態管理処理では、選択状態管理部110は、入力装置108が特定の項目を選択しているという状態を1、選択していない状態を0として、0か1かの情報をサーバ120上の特定のメモリに保存する。この例では、選択情報も既に送信されているため、どのような情報が送信されているかもメモリ上に保存される。例えば、テレビ番組の一覧であれば、番組名、放送日、内容などが保存され、地図であれば、地名、緯度経度、選択された場所の住宅情報などが保存される。
【0148】
ステップS805は、音声要求送信処理である。サーバ120は、クライアント121
に、音声信号を送付するよう要求する信号を送信する。
【0149】
ステップS806は、音声要求受信処理である。クライアント121は、音声要求受信
処理を受け付けると、クライアント121に関連付けられたマイクロフォン101からの音声の入力を許可する。
【0150】
ステップS807において、クライアント121は、音声の入力を許可し、A/D変換
(アナログデジタル変換)を行う。これにより、アナログの音声がデジタルの音声信号に変換される。ステップS808の音声信号送信処理では、クライアント121の通信回路
113bは、デジタル音声信号をサーバ120に送信する。
【0151】
ステップS809において、サーバ120の通信回路113aは、クライアント121
から送信された音声信号を受信する。
【0152】
ステップS810において、音声認識部102は音声認識処理を行う。さらに、ステッ
プS811では、指示文字列検出部103は指示文字列を検出する。
【0153】
ステップS812は、対話管理処理である。対話管理部104は、受信した選択情報と
指示文字列検出処理の結果から機器の制御や音声での応答方法などを出力する。対話管理処理の方法は、前述の方法と同じである。
【0154】
ステップS813は、応答結果送信処理である。応答結果送信処理は対話管理処理によ
って出力される制御信号、制御信号に対応するID、合成音声、音声を合成するためのテキストをクライアント121に送信する処理である。
【0155】
ステップS814は、応答結果受信処理である。これにより、サーバ120からの応答
結果をクライアント121の通信回路113bが受信する。
【0156】
ステップS815は、応答結果出力処理である。応答結果出力処理として、出力回路1
12は、応答結果受信処理で受信した機器の制御信号や合成音声、テキストなどを機器の出力手段を通じてユーザ端末または制御対象の機器に出力する。
【0157】
以上の構成、処理によって、音声認識処理をサーバ上で実施する場合でも、処理遅延を削減することが可能になる。
【0158】
(実施の形態2)
図10は、本実施の形態における情報提供システムが表示機器に対して実行する制御方法の概要を示すシーケンス図である。本実施の形態における情報提供システムは、表示機器も音声認識機能を備えている点で実施の形態1とは異なる。以下、実施の形態1と異なる点を中心に説明し、重複する事項については説明を省略することがある。
【0159】
本実施形態における表示機器の制御方法は、表示機器のコンピュータに、
図10に示す処理を実行させる。この制御方法は、まず、選択可能な複数の項目を含む表示画面を、表示機器に搭載または接続されたディスプレイに表示させる(ステップS900)。次に、ディスプレイの前記表示画面において、前記複数の項目の中の一の項目が選択されたことを検知させる(ステップS901)。ステップS900およびステップS901は、項目の選択が変更される度に繰り返し実行される。
【0160】
表示機器が音声指示を受け付けると、表示機器は、一の項目が選択されているか否かを判定する(ステップS902)。項目が選択されていない場合、表示機器は受け付けた音声情報を情報提供システムにおける他のコンピュータ(以下、「サーバ」と称する。)に送信する。項目が選択されている場合、表示機器は、音声指示が実行可能であるか否かを判定する(ステップS903)。音声指示が実行可能である場合、指示内容を実行する(ステップS904)。音声指示が実行可能でない場合、表示機器は、音声情報をサーバに送信する。サーバは、表示機器が実行できない音声指示を認識し、実行する(ステップS911およびS912)。
【0161】
ここで実行可能な音声指示とは、表示機器に予めプログラムされた機能の範囲内で処理できる音声指示を意味する。例えば、表示機器が、特定の指示語と特定の指示内容との結合からなる音声指示は正しく認識できるが、そうでない音声指示(例えばウェブ検索の指示等)は認識できない場合、前者は実行可能であるが、後者は実行可能でない。そのような場合、後者の音声指示は、サーバが代わりに実行し、応答結果を表示機器に返す。
【0162】
このように、本実施の形態の制御方法は、一の項目が選択されたことが検知されているときに、音声入力装置から指示内容を表す第1音声情報を含む音声指示が受信された場合、表示機器のコンピュータに、第1音声情報から指示内容を認識させて指示内容を実行させる。一方、一の項目が選択されたことが検知されていないとき、または、指示内容が実行できないと判断されたときは、音声指示をサーバへ送信させる。これにより、必要な場合のみ表示機器とサーバとのアクセスが発生するため、処理の遅延を軽減することができる。
【0163】
図11は、指示語と指示内容との結合からなる音声指示を認識可能な表示機器の制御方法の一例を示すシーケンス図である。この制御方法では、
図10におけるステップS903の代わりにステップS905−S907が実行される。この点を除き、
図10の方法と同じである。ステップS905では、表示機器は、音声指示が指示内容を示す第1音声情
報を含むか否かを判定する。判定結果がNoの場合、表示機器は音声情報をサーバに送信する。判定結果がYesの場合、表示機器は指示内容を認識する(ステップS906)。続くステップS907では、音声指示が指示語を示す第2音声情報を含むか否かを判定する。判定結果がNoの場合、表示機器は音声情報をサーバに送信する。判定結果がYesの場合、表示機器が指示内容を実行する(ステップS904)。
【0164】
このように、
図11に示す制御方法は、一の項目が選択されたことが検知され、第1音声情報から前記指示内容が認識され、かつ、音声指示に前記第2音声情報が含まれていると判断された場合、表示機器のコンピュータに指示内容を実行させる。一方、一の項目が選択されたことが検知されなかった場合、第1音声情報から指示内容が認識されなかった場合、または音声指示に第2音声情報が含まれていると判断されなかった場合、音声指示をサーバへ送信させる。これにより、必要な場合のみ表示機器とサーバとのアクセスが発生するため、処理の遅延を軽減することができる。
【0165】
次に、本実施の形態における番組情報提示方法を採用するシステムのより具体的な例を説明する。
【0166】
図12は、本実施の形態における番組情報提示方法を採用するシステムの構成を示す。この番組情報提示方法は、ユーザの音声を認識する音声認識機能を利用して番組の情報をユーザに提示する。本システムは、クライアント121とサーバ120とを含む。クライアント121は、前述の表示機器、または表示機器に接続される他の機器に対応する。クライアント121は、例えばテレビ、レコーダー、スマートフォン、タブレット端末などの機器であり得る。
図12の例では、クライアント121は、音声入力装置であるマイクロフォン101と、入力装置108と、出力回路112と、通信回路113bと、これらを制御する制御回路114dとを備える。本実施形態における制御回路114dは、選択状態検出部109および選択情報検出部111に加えて、音声認識部102bと、指示文字列検出部103と、命令文字列検出部115とを有する点で
図2に示す制御回路114bとは異なっている。
【0167】
サーバ120は、クライアント121と通信する通信回路113aと、制御回路114cとを備える。制御回路114cは、音声認識部102、対話管理部104、応答文生成部105、音声合成部106、および制御信号生成部107の5つの機能部を有する。
【0168】
本実施の形態では、音声入力装置であるマイクロフォン101がユーザの音声信号をセンシングし、センシングした音声信号を音声認識部102bが文字列に変換する。指示文字列検出部103は変換された文字列に指示代名詞が含まれるかを判定する。命令文字列検出部115は、変換された文字列に機器を制御するなどの命令文字列が含まれるかを検出する。入力装置108は、ディスプレイに複数の番組情報が表示されている場合に、ユーザが一つの番組を選択することを可能にする。
【0169】
入力装置108により番組が選択されると、その選択された画面上の位置の情報がシステムに入力される。選択状態検出部109は、入力装置108によって番組が選択されているか否かの判定を行う。選択情報検出部111は、入力装置108によって選択された番組の位置情報、および、選択された番組に関する情報などを検出する。出力回路112は、応答文生成部105、音声合成部106、制御信号生成部107の出力結果を受けて、ディスプレイへの応答文の表示、スピーカーへの合成音声の再生、生成された制御信号による機器の制御、およびディスプレイへの制御結果の表示などの出力処理を行う。
【0170】
通信回路113aおよび113bは、サーバ120とクライアント121の間の通信を行うための通信モジュールを備える。通信モジュールは、前述のように、例えばWi−F
i(登録商標)、Bluetooth(登録商標)などの既存の通信方式を利用して通信を行う。そのような機能を有する限り、通信モジュールの種類は問わない。音声合成部106で合成された音声信号、および、機器を制御する制御信号は出力回路112に送信される。出力回路112は、音声信号、機器を制御するための信号、制御結果を示す情報を出力する。
【0171】
音声認識部102aはサーバ120上にて音声認識を行う。対話管理部104は、ユーザと機器との対話型の処理を行った履歴やどのような対話処理を行うかという応答戦略などを管理する。応答文生成部105は、入力された文字列に応じてユーザに応答する文字列を生成する。音声合成部106は、応答文生成部で生成した文字列を音声に変換する。制御信号生成部107は、対話内容に応じた機器制御コマンドを生成する。
【0172】
上述したサーバ120における制御回路114cおよびクライアント121における制御回路114dの各構成要素は、サーバ120のコンピュータ(例えばCPU)が、コンピュータプログラムを実行することによって実現されてもよいし、それぞれが別個独立の回路等として設けられてもよい。
【0173】
例えば、後述の
図13に示されるサーバ120の各処理は、コンピュータプログラムを実行したサーバ120のコンピュータが行う、サーバ120の制御方法として実現され得る。同様に、例えば
図13に示されるクライアント121の各処理は、コンピュータプログラムを実行したクライアント121のコンピュータが行う、クライアント121の制御方法として実現され得る。
【0174】
本実施の形態では、音声認識処理を、クライアント121とサーバ120の両方が行う点が従来技術および実施の形態1と異なる。音声認識を行った後に処理を実行する対話管理部104、応答文生成部105、あるいは、処理結果を生成する音声合成部106、制御信号生成部107は、それぞれサーバ120ではなくクライアント121が備えていても良い。
【0175】
図13は、サーバ120とクライアント121との通信処理のシーケンスを示す。このシーケンスは、ユーザがリモコンなどの入力装置108によって表示画面上の一部を指定することによって開始される。
【0176】
ステップS500は、入力装置情報取得処理である。選択状態検出部109は、入力装
置108によって指定された表示画面上の位置を示す情報を取得する。
【0177】
ステップS501は、選択状態検出処理である。選択状態検出部109は、一の番組が
選択されたか否かを検出する。この検出は、入力装置情報取得処理で取得された位置情報に基づいて、入力装置108によって指定された位置が番組を示す項目の位置に該当するか否かを判定することによって行われる。
【0178】
ステップS502において、クライアント121は、音声を入力し、A/D変換(アナ
ログデジタル変換)を行う。これにより、アナログの音声がデジタルの音声信号に変換される。
【0179】
ステップS503は、クライアント121が入力音声を認識する音声認識処理である。
【0180】
ステップS504では、指示文字列検出部103は指示文字列検出を行う。指示文字列
検出処理では、音声認識処理を行ったテキストを解析することで、指示文字列の検出が行われる。
【0181】
ステップS505では、命令文字列検出部115は命令文字列検出を行う。命令文字列
検出処理とは、音声認識処理を行ったテキストを解析することで、命令文字列の検出を行う処理である。
【0182】
ステップS506では、選択情報検出部111は選択情報検出処理を行う。入力装置1
08は情報取得処理で取得した位置の情報を検出する。
【0183】
ステップS507は、音声信号送信処理である。クライアント121の通信回路113
bがサーバ120に音声信号を送信する。
【0184】
ステップS508は、音声信号受信処理である。サーバ120の通信回路113aが音
声信号を受信する。
【0185】
ステップS509は、音声入力処理である。通信回路113aが受信した音声信号をサ
ーバ120内部に入力する。
【0186】
ステップS510は、サーバ側の音声認識処理である。音声認識部102aは、サーバ
120上で音声認識処理を行う。
【0187】
ステップS511は、対話管理処理である。対話管理部104は受信した選択情報と指
示文字列検出処理の結果に基づいて、機器の制御方法および音声での応答方法を決定し、クライアントに返信するための情報を出力する。対話管理処理の方法は、実施の形態1で説明したとおりである。
【0188】
ステップS512は、応答結果送信処理である。応答結果送信処理は対話管理処理によ
って出力される制御信号、制御信号に対応するID、合成音声、音声を合成するためのテキストをクライアント121に送信する。
【0189】
ステップS513は、応答結果受信処理である。これにより、サーバ120からの応答
結果をクライアント121の通信回路113bが受信する。
【0190】
ステップS514は、応答結果出力処理である。応答結果出力処理として、出力回路1
12は、応答結果受信処理で受信した機器の制御信号や合成音声、テキストなどを機器の出力手段を通じてユーザ端末または制御対象の機器に出力する。
【0191】
以下、サーバ120での処理とクライアント121での処理にわけて、音声認識機能を用いた番組情報提示方法についてより詳細に説明する。
【0192】
図14は、
図1に示す構成のうち、サーバ120に関する処理フローを示す。
【0193】
まず、音声入力処理(S600)では、マイクロフォン101から音声信号が入力され
る。本実施の形態では、マイクロフォンはクライアント121に備えられているものとする。クライアント121上でA/D変換された音声信号がサーバ120側に転送される。
【0194】
サーバ側音声認識処理(S601)では、音声認識部102aは入力された音声の認識
処理を行う。音声認識処理では、入力された音声信号を文字列データに変換する。サーバ120上で音声認識を行うことで、大規模のデータ群から構築した音響モデル、言語モデルを利用できる。また、サーバ120の計算能力はクライアント121に比べると高い。大規模データから統計的学習手法によって学習した音響モデル、言語モデルを利用できる
ため、多様な言葉の認識率が高いというメリットがある。また、スマートフォンやFTTHなどの普及により、端末が常時ネットワークに接続された環境が整ってきているため、サーバ120上で音声認識を行う方法は実用的である。
【0195】
対話管理処理(S602)では、対話管理部104は、音声認識された文字列の内容を
理解し、入力言語情報や過去の文脈等を考慮してどのような応答をするか出力する。対話管理処理の出力結果に応じて、制御信号であるか否かの判定処理(S603)が行われる
。例えば、TV番組の録画設定やTV画面の制御など機器の制御に関する応答を行うのであれば、制御信号生成処理(S604)において制御信号生成部107が、機器の制御信号を
生成する。制御信号送信処理(S605)では、サーバ120の通信回路113aが、制
御信号生成処理で生成された制御信号をクライアント121に送信する。これにより、クライアント121側で機器制御が行われる。
【0196】
ステップS603でNoと判定された場合、またはステップS605が終了した場合、音声でユーザに応答するか否かが判断される(S606)。音声でユーザに応答する場合、応答文生成処理(S607)で応答文が生成される。続いて出力が音声かテキストかが
判定される(S608)。出力が音声の場合、音声合成処理(S609)において音声合
成部106が合成音声を生成し、音声信号を出力する。音声送信処理(S608)では、
サーバ120の通信回路113aがテキストから合成音声に変換されたデータをクライアント121に送信する。
【0197】
出力がテキストである場合、応答文送信処理(S607)が行われる。応答分生成部1
05が応答文生成処理によってテキストを生成し、生成されたテキストである応答文がサーバ120からクライアント121に送信される。
【0198】
図15は、クライアント121が実行する処理のうち、選択状態の検出および出力に関する部分に関する処理フローを示す。
【0199】
入力装置情報取得処理(S700)は、入力装置108が情報を取得する処理である。
ユーザが選択した番組の位置情報を入力装置108が取得する。選択状態検出処理(S7
01)では、入力装置108がTV画面上の番組を選択しているか否かを選択状態検出部109が検出する。入力装置108が番組を選択しているとは、例えば、入力装置108がリモコンであれば、ユーザが十字キーで番組を指定し、決定ボタンを押すことによって、番組が選択されている状態に遷移することをいう。番組が選択されている状態で、ユーザが再度決定ボタンを押して、非選択状態に変更することもできる。すなわち、入力装置情報取得処理で、どの位置を入力装置が指定しているかがわかり、選択状態検出処理で、どの位置のどの情報を選択しているか否かを知ることができる。
【0200】
音声入力処理(S702)では、通信回路113aはクライアント121から送信され
た音声を受信する。音声認識処理(S703)では、音声認識部102は、入力された音
声の認識を行う。クライアント121での音声認識は、サーバ型音声認識に比べると、登録可能な言葉に限界がある。限られた計算量、メモリで誤認識を減らすためには、必要最低限の言葉を辞書に登録することが望ましい。辞書は、音声認識部102として機能する回路内のメモリ(図示せず)に格納されていてもよいし、クライアント121に設けられた記憶装置(図示せず)に格納されていてもよい。
【0201】
必要最低限な言葉とは例えば、リモコンのボタンと対応づく言葉の集合であり、「電源ON」、「電源OFF」、「ボリュームアップ」、「ボリュームダウン」などである。さらに
、本実施の形態では、後述する指示文字列検出処理と命令文字列検出処理を行うため、それらの検出に利用される語彙が予め辞書に登録される。例えば、指示文字列を認識するた
めには、「これ」、「それ」、「あれ」、「この」、「その」、「あの」、「これの」、「それの」、「あれの」などといった指示語、指示詞を登録しておく。また、「内容を表示」、「検索」などの命令語彙を登録する。これにより、音声認識部102は、「その番組の内容を表示」などの言葉を認識することができる。その結果、その後の処理によって、指示文字列と命令文字列を検出できる。
【0202】
指示文字列検出処理(S704)では、指示文字列検出部103は音声認識によって得
られる文字列から指示文字列の検出を行う。指示文字列とは、前述した指示語、指示詞のことである。ここでは、指示文字列の検出は次のようにして行う。まず、指示文字列検出部103は、入力された文字列を形態素解析によって単語、品詞単位に分割する。形態素とは文章の要素のうち意味を持つ最小の単位である。形態素解析によって、文章を単語や品詞など複数の形態素に分割できる。あらかじめ指示文字列をリストとして用意しておき、そのリストに含まれる語と分割した形態素とが一致すれば、文章中の指示文字列が検出できたものとする。
【0203】
命令文字列検出処理(S705)では、命令文字列検出部115は音声認識結果から命
令文字列を検出する。命令文字列検出部115は指示文字列検出処理と同様に形態素解析を行い、文章を分割する。分割した文章と事前に登録した単語リストとを比較することで命令文字列を検出する。ここで、単語リストに登録する命令文字列は、例えば、「内容、表示」、「検索」、「録画」などの操作コマンドに相当する言葉である。
【0204】
次に、選択状態検出部109は、選択状態検出処理を行って得られる情報を用いて、画面上の領域が選択されているか否かの判定を行う(S706)。選択状態検出部109は
、例えば、TV画面上の番組が選択されている場合に、番組選択状態であるフラグを出力する。その場合、番組が選択されている場合は1を返し、番組が選択されていない場合は1以外を出力する。この値を利用することで、番組の選択状態を知り、状態を判定できる。次に、指示文字列検出部103および命令文字列検出部115はそれぞれ、指示文字列を検出したか否かの判定(S707)と命令文字列を検出したか否かの判定(S708)を行う。これらの文字列の検出判定には、前述したようにあらかじめ登録されたリストの語彙とのマッチングで指示文字列の検出を行う。
【0205】
選択状態検出部109によっていずれの項目も選択されていないと判定された場合、指示文字列検出部103によって指示文字列が検出されなかった場合、あるいは、命令文字列検出部115によって命令文字列が検出されなかった場合には、信号送受信処理(S709)が行われる。この処理では、通信回路113aが音声信号をサーバ120に送信し、その後、サーバ120から返信される応答結果を示す信号を受信する。応答結果を示す信号には、サーバ120で音声認識および対話処理が行われて生成された音声信号、あるいは、機器制御信号が含まれる。出力回路112は、出力処理(S711)を行ってユー
ザに処理結果を通知する。
【0206】
ステップS706〜S708において、選択状態検出部109が選択状態で有ると判定し、かつ、指示文字列検出部103が指示文字列と命令文字列を検出した場合は、選択情報検出処理(S710)が行われる。選択情報検出処理(S710)では、選択情報検出
部107が、入力装置情報取得処理で取得された位置の情報およびTV番組の情報などを取得する。例えば、入力装置108によってTV画面上で指定されている番組の画面上の位置や番組に関連する情報、例えば、前述したテレビ番組に関するメタデータまたはテレビ番組のコンテンツを取得する。ここで取得した情報と命令文字列に基づき出力回路112が出力処理(S711)を行い機器を制御する。
【0207】
以上のように、本実施の形態によれば、サーバ120だけでなくクライアント121で
も音声指示の認識が行われる。クライアント121は、音声指示が実行できないときだけサーバ120に音声信号を送信し、処理をサーバ120に渡して応答結果を待つ。これにより、例えばテレビ番組に関する操作のように音声指示のバリエーションが少ない処理についてはクライアント121側で実行し、そうでない処理についてはサーバ側120で実行することができる。本実施の形態によれば、クライアント121とサーバ120との間のアクセスを最小限に抑えることができるため、処理の遅延を軽減できる。
【0208】
なお、本実施の形態においても、実施の形態1で説明した多様な変形例を適用することができる。実施の形態1と実施の形態2とを組み合わせて新たな実施の形態を構成してもよい。
【0209】
なお、上述の実施の形態では、音声入力装置であるマイクロフォン101はクライアントに設けられているとして説明した。しかしながらこの構成は一例である。例えばマイクロフォン101は、クライアントとは別の機器として存在していても良い。クライアントはそのようなマイクロフォン101と接続され、マイクロフォン101を介して音声の入力を受け取ることができればよい。
【0210】
仮に、マイクロフォン101がクライアントに設けられているとしても、クライアント121内部ではマイクロフォン101は独立した装置として存在しており、内部的に配線されているに過ぎない。マイクロフォン101は容易に着脱できるように設けることができる。マイクロフォン101は、クライアント121の必須の構成要素ではない。クライアント121は、その内部または外部でマイクロフォン101と接続されていればよい。
【0211】
また、上述の実施の形態では、出力回路108は、機器の制御信号、合成音声、テキストなどを出力すると説明した。出力回路108が、制御信号の送信部(例えば出力端子やリモコンの赤外線送信装置)、音声出力装置(例えばスピーカー)、ディスプレイの一部であり得ることを意味している。これらは一体で設けられていてもよいし、別個独立の機器として存在していてもよい。