(本発明の基礎となった知見)
ユーザからの発話に従って家庭内の複数の機器の状態を確認又は操作するサービスを提供するための技術が検討されている。
このようなシステムでは、装置は、ユーザの発話開始から終了までの区間を特定することでユーザの発話内容のみの音声データを取得する。そして、装置は、音声データを解析することで、ユーザが確認又は操作したい電子機器と、その確認又は操作内容を決定する。
また、ユーザの発話内容を取得する方法として、特定方向の音のみを選択するビームフォーミング処理、又は反響音を識別して反響音を削減するエコーキャンセル処理等を利用してノイズ低減を行なう方法が提案されている。しかし、ノイズ低減処理にも限界があり、既存のノイズ低減を利用した構成では十分なレベルの音声認識精度を実現することは困難である。
また、確認又は操作したい電子機器とその確認又は操作内容を特定する方法として、ユーザの発話を解析し、その結果をフレーム(テンプレート)に当てはめることによって対話を進行させるスロットフィリング技術がある。例えば、フレームは、「機器」、「操作」及び「場所」の3つの情報から構成される。ユーザが「電源を入れて」と発話するとフレームの「操作」に「power_on」が設定されるが、他の「機器」及び「場所」のフレームは埋まらない。この場合、システムは、ユーザに対して「どの機器の電源を入れたいですか」「どこにあるどの機器の電源を入れたいですか」等を聞き返すことにより対話を継続する。ユーザが再度「エアコン」又は「リビングのエアコン」等の発話を行うことで空いている「機器」、及び/又は「場所」のフレームが埋められる。しかし、フレームが埋まるまでユーザに対して聞き返しを行い、ユーザに発話を促す必要があるため、ユーザを苛立たせる可能性がある。また、聞き返し時の発話を誤認識して更に聞き返しを繰り返したり、意図しない結果に陥ったりする可能性がある。
このような問題を解決する方法として、辞書を確認又は操作対象となる機器ごとに用意する方法がある。そうすることで、ユーザは、確認又は操作する内容のみ伝えればよくなるため、ユーザの発話回数が少なく抑えられる。これにより、上記のような問題を防ぐことができる。
また、全ての機器に対応した汎用的な辞書を作成すると、当該辞書が大規模かつ複雑になり、メンテナンス性が悪化する可能性が高い。特に、一部の機器に特化した機能が多数存在する場合、そのために辞書が肥大化することは望ましくない。そのため、対象となる機器個別に辞書を作成できれば、特定の機器に特化した内容は個別の辞書に記載し、共通機能及び機器連携機能等に関する内容のみを汎用的な辞書に記載することができるなど、辞書作成者にとってもメリットがあると考えられる。ただし、辞書が複数存在する場合、使用する辞書を適切に選択することが求められる。
また、ユーザは、機器に対して話しかけることに抵抗がある一方で、何も見ずに発話することに不自然さを感じる。また、発話した内容が認識されなかったり、複数の機器が存在する場合には、ユーザは、操作対象の機器を特定するために何度も言い直しをさせられたりすることで使いにくさを感じることもある。これらのニーズを満たすための技術的な解決策に関して、検討はされていなかった。
例えば、ユーザが特定の電子機器に関連付けられていないアバター、天井マイク又はウェアラブルマイク等を利用して発話する場合、どの辞書を選択すべきかを特定することは困難である。
このように、操作対象の機器が複数存在する場合には、ユーザの発話に操作内容に加え、操作対象の機器を特定するための情報を含める必要がある。これにより、ユーザの発話が長くなるため、ノイズ等の影響によりユーザの発話内容を正しく把握できない状況が発生する可能性が高くなる。さらに、ユーザは機器操作のために多くの文言を発する必要があり、また、対象機器を特定できない場合には聞き返しが発生する。これにより、ユーザの利便性が低下するとゆう課題がある。
本開示の一態様に係る方法は、集音装置により収集されたユーザの発話内容に基づき複数の機器を操作する制御装置が行う方法であって、前記ユーザの視線が向けられている方向に関する視線情報を取得する取得ステップと、前記視線情報に基づき、前記ユーザの視線が、当該ユーザが視認可能な空間における一部の領域であって、前記複数の機器が存在する位置と異なる第1の領域に向けられているか否かを判断する判断ステップと、前記ユーザの視線が前記第1の領域に向けられていると判断された場合、前記ユーザの発話内容を、対応する機器の制御命令に変換するために用いられる複数の辞書の中から、前記複数の機器のうち、当該ユーザが視認不可能な空間に存在する第1の機器に対応する第1の辞書を選択する選択ステップとを含む。
これにより、ユーザの視線が、機器が存在する位置以外の特定の領域に向けられている場合、ユーザにとって視認することのできない空間に存在する機器の辞書が選択される。これにより、ユーザの発話内容に対象機器を特定する情報が含まれない場合であっても対象機器を特定できる。よって、ユーザに対する聞き返しの発生を低減できるので、ユーザの利便性を向上できる。
例えば、前記判断ステップでは、さらに、前記ユーザの視線が、当該ユーザが視認可能な空間に存在する、前記複数の機器に含まれる第2の機器に向けられているか否かを判断し、前記選択ステップでは、前記ユーザの視線が前記第2の機器に向けられていると判断された場合、前記複数の辞書の中から、前記第2の機器に対応する第2の辞書を選択してもよい。
これにより、ユーザがある機器に視線を向けている場合、その機器の辞書が選択される。これにより、ユーザの発話内容に対象機器を特定する情報が含まれない場合であっても対象機器を特定できる。よって、ユーザに対する聞き返しの発生を低減できるので、ユーザの利便性を向上できる。
例えば、前記第1の領域は、前記制御装置が存在する領域であってもよい。
これにより、ユーザの視線がホームゲートウェイなどの制御装置に向けられている場合、ユーザにとって視認することのできない空間に存在する機器の辞書が選択される。これにより、ユーザに対する聞き返しの発生を低減できるので、ユーザの利便性を向上できる。
例えば、前記制御装置は、前記ユーザの視線が当該制御装置に向けられているかを検出する視線検出部を備え、前記取得ステップでは、前記視線検出部が前記ユーザの視線が前記制御装置に向けられていることを検出した旨を前記視線情報として取得し、前記判断ステップでは、前記視線検出部が前記ユーザの視線が前記制御装置に向けられていることを検出した場合に、前記ユーザの視線が前記第1の領域に向けられていると判断してもよい。
これにより、ユーザの視線が制御装置に向けられているかを容易な構成で精度良く検出できる。
例えば、前記集音装置は、前記複数の機器とは異なる位置に設置されており、前記第1の領域は、前記集音装置が存在する領域であってもよい。
これにより、ユーザの視線が、特定の機器に関連付けられていない天井マイク、又はウェアラブルマイク等の集音装置に向けられている場合、ユーザにとって視認することのできない空間に存在する機器の辞書が選択される。これにより、ユーザに対する聞き返しの発生を低減できるので、ユーザの利便性を向上できる。
例えば、前記集音装置は、前記ユーザの視線が当該集音装置に向けられているかを検出する視線検出部を備え、前記取得ステップでは、前記視線検出部が前記ユーザの視線が前記集音装置に向けられていることを検出した旨を前記視線情報として取得し、前記判断ステップでは、前記視線検出部が前記ユーザの視線が前記集音装置に向けられていることを検出した場合に、前記ユーザの視線が前記第1の領域に向けられていると判断してもよい。
これにより、ユーザの視線が集音装置に向けられているかを容易な構成で精度良く検出できる。
例えば、前記第1の領域は、前記ユーザによる発話の相手であるオブジェクトが存在する領域であってもよい。
これにより、ユーザの視線が、特定の機器に関連付けられていない特定のオブジェクト(例えばぬいぐるみ)に向けられている場合、ユーザにとって視認することのできない空間に存在する機器の辞書が選択される。これにより、ユーザに対する聞き返しの発生を低減できるので、ユーザの利便性を向上できる。
例えば、前記オブジェクトは、前記ユーザの視線が当該オブジェクトに向けられているかを検出する視線検出部を備え、前記取得ステップでは、前記視線検出部が前記ユーザの視線が前記オブジェクトに向けられていることを検出した旨を前記視線情報として取得し、前記判断ステップでは、前記視線検出部が前記ユーザの視線が前記オブジェクトに向けられていることを検出した場合に、前記ユーザの視線が前記第1の領域に向けられていると判断してもよい。
これにより、ユーザの視線がオブジェクトに向けられているかを容易な構成で精度良く検出できる。
例えば、前記第1の領域は、前記ユーザによる発話の相手である仮想オブジェクトが存在する領域であってもよい。
これにより、ユーザの視線が、特定の機器に関連付けられていない仮想的なオブジェクト(例えばアバター)に向けられている場合、ユーザにとって視認することのできない空間に存在する機器の辞書が選択される。これにより、ユーザに対する聞き返しの発生を低減できるので、ユーザの利便性を向上できる。
例えば、前記取得ステップは、撮像装置により撮影された、前記ユーザが含まれる画像を取得する第1ステップと、前記画像から前記ユーザの視線が向けられている方向を解析する第2ステップとを含んでもよい。
これにより、ユーザの視線を容易な構成で精度良く検出できる。
例えば、前記方法は、さらに、選択された前記第1の辞書を用いて前記ユーザの発話内容を制御命令に変換する変換ステップと、前記制御命令を前記第1の機器に送信する送信ステップとを含んでもよい。
これにより、ユーザの発話内容に基づき、ユーザが視認不可能な空間に存在する機器を操作できる。
例えば、前記方法は、さらに、選択された前記第1の辞書を用いて前記ユーザの発話内容を制御命令に変換する変換ステップと、前記制御命令による操作内容を前記ユーザに通知する通知ステップを含んでもよい。
これにより、ユーザの発話内容に基づき、ユーザが視認不可能な空間に存在する機器を操作する前に操作内容をユーザに確認できるので、ユーザの意図しない操作が行われることを防止できる。
例えば、前記方法は、さらに、選択された前記第1の辞書を用いて前記ユーザの発話内容を制御命令に変換する変換ステップと、前記選択された第1の辞書を用いて、前記ユーザの発話内容を制御命令に変換できなかった場合、制御命令を特定するために必要となる情報の入力を前記ユーザに促すステップとを含んでもよい。
これにより、ユーザの発話内容に基づき、ユーザが視認不可能な空間に存在する電子機器を操作するための制御命令を確実に生成することが可能となる。
例えば、前記複数の辞書に含まれる第3の辞書では、前記ユーザの発話内容と、前記複数の機器のうちの1以上の機器に対する複数の制御命令とが対応付けられており、前記方法は、さらに、前記第3の辞書を用いて、前記ユーザの発話内容を前記複数の制御命令に変換する変換ステップを含んでもよい。
これにより、ユーザの一つの発話内容に基づき、複数の制御命令を一括して実行できる。
例えば、前記複数の辞書は、制御対象となりうる機器が複数存在する場合に用いる辞書である統合制御辞書を含み、前記方法は、さらに、前記選択された第1の辞書を用いて、前記ユーザの発話内容を制御命令に変換でき、かつ、前記統合制御辞書を用いて、前記ユーザの発話内容を制御命令に変換できる場合には、前記統合制御辞書を用いて、前記ユーザの発話内容を制御命令に変換する変換ステップを含んでもよい。
これにより、ユーザの視線情報に基づき選択された辞書により制御命令が特定できる場合であっても、統合制御辞書により制御命令が特定できる場合には、統合制御辞書が用いられる。これにより、ユーザの発話内容で操作対象の機器を特定できる場合には、ユーザの発話内容が優先される。よって、ユーザの意図しない機器が誤って操作対象に選択されることを抑制できる。
また、本開示は、以上のような特徴的な処理を実行する方法として実現することができるだけでなく、方法に含まれる特徴的なステップを実行するための処理部を備える制御装置などとして実現することもできる。また、このような方法に含まれる特徴的な各ステップをコンピュータに実行させるコンピュータプログラムとして実現することもできる。そして、そのようなコンピュータプログラムを、CD−ROM等のコンピュータ読取可能な非一時的な記録媒体あるいはインターネット等の通信ネットワークを介して流通させることができるのは、言うまでもない。
なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また全ての実施の形態において、各々の内容を組み合わせることも出来る。
(提供するサービスの全体像)
まず、本実施の形態における情報管理システムが提供するサービスの全体像について説明する。
図1Aは、本実施の形態における情報管理システムが提供するサービスの全体像を示す図である。情報管理システムは、グループ1100、データセンタ運営会社1110及びサービスプロバイダ1120を備える。
グループ1100は、例えば企業、団体又は家庭等であり、その規模を問わない。グループ1100は、第1の機器及び第2の機器を含む複数の機器1101及びホームゲートウェイ1102を備える。複数の機器1101は、インターネットと接続可能な機器(例えば、スマートフォン、パーソナルコンピュータ(PC)又はテレビ等)、及びそれ自身ではインターネットと接続不可能な機器(例えば、照明、洗濯機又は冷蔵庫等)を含む。複数の機器1101は、それ自身ではインターネットと接続不可能であっても、ホームゲートウェイ1102を介してインターネットと接続可能となる機器を含んでもよい。また、ユーザ1010は、グループ1100内の複数の機器1101を使用する。
データセンタ運営会社1110は、クラウドサーバ1111を備える。クラウドサーバ1111は、インターネットを介して様々な機器と連携する仮想化サーバである。クラウドサーバ1111は、主に通常のデータベース管理ツール等で扱うことが困難な巨大なデータ(ビッグデータ)等を管理する。データセンタ運営会社1110は、データの管理、クラウドサーバ1111の管理、及びそれらを行うデータセンタの運営等を行っている。データセンタ運営会社1110が行っている役務の詳細については後述する。
ここで、データセンタ運営会社1110は、データの管理又はクラウドサーバ1111の管理のみを行っている会社に限らない。例えば、図1Bに示すように、複数の機器1101のうちの一つの機器を開発又は製造している機器メーカが、データの管理又はクラウドサーバ1111の管理等を行っている場合は、機器メーカがデータセンタ運営会社1110に該当する。また、データセンタ運営会社1110は一つの会社に限らない。例えば、図1Cに示すように、機器メーカ及び管理会社が共同又は分担してデータの管理又はクラウドサーバ1111の管理を行っている場合は、両者又はいずれか一方がデータセンタ運営会社1110に該当する。
サービスプロバイダ1120は、サーバ1121を備える。ここで言うサーバ1121とは、その規模は問わず、例えば、個人用PC内のメモリ等も含む。また、サービスプロバイダ1120がサーバ1121を備えていない場合もある。
なお、上記の情報管理システムにおいて、ホームゲートウェイ1102は必須ではない。例えば、クラウドサーバ1111が全てのデータ管理を行っている場合等は、ホームゲートウェイ1102は不要となる。また、家庭内の全ての機器がインターネットに接続されている場合のように、それ自身ではインターネットと接続不可能な機器は存在しない場合もある。
次に、上記の情報管理システムにおける情報の流れを説明する。
まず、グループ1100の第1の機器又は第2の機器は、各ログ情報をデータセンタ運営会社1110のクラウドサーバ1111にそれぞれ送信する。クラウドサーバ1111は、第1の機器又は第2の機器のログ情報を集積する(図1Aの矢印1131)。ここで、ログ情報とは、複数の機器1101の例えば運転状況又は動作日時等を示す情報である。例えば、ログ情報は、テレビの視聴履歴、レコーダーの録画予約情報、洗濯機の運転日時、洗濯物の量、冷蔵庫の開閉日時、又は冷蔵庫の開閉回数などを含むが、これらの情報に限らず、種々の機器から取得が可能な種々の情報を含んでもよい。なお、ログ情報は、インターネットを介して複数の機器1101自体から直接、クラウドサーバ1111に提供されてもよい。また、ログ情報は、複数の機器1101から一旦、ホームゲートウェイ1102に集積され、ホームゲートウェイ1102からクラウドサーバ1111に提供されてもよい。
次に、データセンタ運営会社1110のクラウドサーバ1111は、集積したログ情報を一定の単位でサービスプロバイダ1120に提供する。ここで、一定の単位とは、データセンタ運営会社1110が集積した情報を整理してサービスプロバイダ1120に提供することの出来る単位でもよいし、サービスプロバイダ1120が要求する単位でもよい。また、一定の単位で提供するとしているが、一定の単位でなくてもよく、状況に応じて提供する情報量が変化してもよい。ログ情報は、必要に応じてサービスプロバイダ1120が保有するサーバ1121に保存される(図1Aの矢印1132)。
そして、サービスプロバイダ1120は、ログ情報をユーザに提供するサービスに適合する情報に整理し、ユーザに提供する。情報が提供されるユーザは、複数の機器1101を使用するユーザ1010でもよいし、外部のユーザ1020でもよい。ユーザ1010及び1020への情報提供方法としては、例えば、サービスプロバイダ1120から直接ユーザ1010及び1020へ情報が提供されてもよい(図1Aの矢印1133及び1134)。また、ユーザ1010への情報提供方法としては、例えば、データセンタ運営会社1110のクラウドサーバ1111を再度経由して、ユーザ1010に情報が提供されてもよい(図1Aの矢印1135及び1136)。また、データセンタ運営会社1110のクラウドサーバ1111は、ログ情報をユーザに提供するサービスに適合する情報に整理し、サービスプロバイダ1120に提供してもよい。
なお、ユーザ1010は、ユーザ1020と異なっていても同一であってもよい。
(実施の形態1)
本実施の形態では、ユーザが天井マイク等のように集音機能を持つ機器を利用して発話による機器の状態を確認及び操作する場合の一例を示す。
本実施の形態では、ユーザの視線がある機器を向いている場合には、当該機器の辞書が選択される。また、ユーザの視線が機器のない空間を向いている(例えば、集音装置を向いている)場合には、ユーザの視認範囲にない機器の辞書が選択される。
図2は、本実施の形態における対話情報提供システムの構成を示す図である。この対話情報提供システムは、グループ1100と、データセンタ運営会社1110内の音声対話サーバ2100とを含む。グループ1100と、音声対話サーバ2100とはネットワーク2020を経由して接続されている。
グループ1100は、第1の空間2001と第2の空間2002とを含む。例えば、グループ1100は、家庭(住宅)であり、第1の空間2001及び第2の空間2002はリビング又は寝室等の部屋である。なお、空間には、複数の部屋が含まれてもよい。例えば、空間は、住宅の一階、又は二階などであってもよい。また、空間は、一つの部屋のある空間(領域)であってもよい。
また、グループ1100は、第1の機器2011、第2の機器2012、集音装置2013、及びホームゲートウェイ1102を含む。第1の機器2011、集音装置2013、及びホームゲートウェイ1102は第1の空間2001に配置されており、第2の機器2012は、第2の空間2002に配置されている。また、第1の機器2011、第2の機器2012、集音装置2013、及びホームゲートウェイ1102は、ネットワーク2021を経由して接続されている。ネットワーク2021は機器間通信できる手段であればよく、有線LAN、無線LAN、Bluetooth(登録商標)、又は特定小電力無線等である。
ここで、第1の機器2011及び第2の機器2012は、エアコン又は照明等の家電機器であり、ユーザとの対話に基づき、その動作が操作又は制御される機器である。
まず、本実施の形態に係る対話情報提供システムに動作の概略を説明する。図3は、本実施の形態に係る対話情報提供システムにおける辞書を選択する処理のフローチャートである。
なお、以下の処理は、対話情報提供システムに含まれる制御装置により行われる。ここで制御装置とは、例えば、ホームゲートウェイ1102である。なお、後述するように、以下の処理は、グループ1100に含まれる1又は複数の機器により行われてもよいし、グループ1100に含まれる1又は複数の機器と、当該機器とネットワークを経由して接続されている外部の機器(例えば、音声対話サーバ2100)とで分散処理されてもよい。
まず、制御装置は、ユーザの視線がいずれかの機器を向いているか否かを判定する(S101)。具体的には、制御装置は、ユーザの視線が向けられている方向に関する視線情報を取得する。次に、制御装置は、当該視線情報に基づき、ユーザの視線が、当該ユーザが視認可能な空間に存在する、複数の機器に含まれる第2の機器に向けられているか否かを判断する。また、制御装置は、当該視線情報に基づき、ユーザの視線が、当該ユーザが視認可能な空間における一部の領域であって、複数の機器が存在する位置と異なる第1の領域に向けられているか否かを判断する。ここで視認可能な空間とは、ユーザが現在の位置において視認できる空間である。
ユーザの視線がいずれの機器にも向いていない場合、つまり、ユーザの視線が上記第1の領域に向けられていると判断された場合(S101でNo)、制御装置は、複数の機器のうち、当該ユーザが視認不可能な空間に存在する第1の機器の個別制御辞書2102を選択する(S103)。ここで視認不可能な空間とは、ユーザが現在の位置において視認できない空間である。
なお、詳細は後述するが、辞書は、ユーザの発話内容に対応する機器の制御命令を示し、ユーザの発話内容を、機器の制御命令に変換するために用いられる。また、制御対象となりうる機器が複数存在する場合に用いられる辞書である統合制御辞書2101と、制御対象となりうる機器毎に設けられている個別制御辞書2102とが存在する。言い換えると、統合制御辞書2101では、複数の機器が対象となるため、発話内容に機器を特定する情報が必要になる場合がある。一方で、個別制御辞書2102では機器を特定する情報は必要ない。なお、統合制御辞書2101は、エアコン及び照明といった複数の種別の機器に共通に用いられる辞書であってもよい。同様に、個別制御辞書2102は、機器の種別毎に設けられていてもよい。
一方、ユーザの視線がいずれかの機器を向いている場合、つまり、ユーザの視線が上記第2の機器に向けられていると判断された場合(S101でYes)、当該第2の機器の個別制御辞書2102を選択する(S102)。
次に、制御装置は、統合制御辞書2101を用いて、ユーザの発話内容を制御命令に変換できるかを判定する(S104)。統合制御辞書2101を用いて発話内容を制御命令に変換できる場合(S104でYes)、制御装置は、統合制御辞書2101を用いて発話内容を制御命令に変換する(S105)。
一方、統合制御辞書2101を用いて発話内容を制御命令に変換できない場合(S104でNo)、制御装置は、ステップS102又はS103で選択された個別制御辞書2102を用いて発話内容を制御命令に変換できるかを判定する(S106)。個別制御辞書2102を用いて発話内容を制御命令に変換できる場合(S106でYes)、制御装置は、個別制御辞書2102を用いて発話内容を制御命令に変換する(S107)。
つまり、制御装置は、選択された個別制御辞書2102を用いて、ユーザの発話内容を制御命令に変換でき、かつ、統合制御辞書2101を用いて、ユーザの発話内容を制御命令に変換できる場合には、統合制御辞書2101を用いて、ユーザの発話内容を制御命令に変換する。上述したように、統合制御辞書2101では発話内容から対象機器が特定される必要があるので、上記動作は、ユーザの発話内容に対象機器を特定する情報が含まれる場合には、ユーザの発話内容を優先することに相当する。
一方、統合制御辞書2101及び個別制御辞書2102のいずれを用いても発話内容を制御命令に変換できない場合(S106でNo)、制御装置は、ユーザに、制御命令を確認するための聞き返し対話を行い(S111)、当該対話により得られたユーザの発話内容に対してステップS101以降の処理を再度行う。
次に、制御装置は、制御命令が正しいかをユーザに確認する(S108)。具体的には、制御装置は、ユーザに対して、特定された制御命令を通知し、その返答を得る。なお、制御命令は、制御内容と、対象機器とを含んでもよい。
特定した制御命令がユーザにより承認された場合(S108でYes)、制御装置は、制御命令で対象機器を操作する(S109)。具体的には、制御装置は、制御命令を対象機器に送信する。
一方、制御命令がユーザにより承認されなかった場合(S108でNo)、制御装置は、ユーザに、制御命令を確認するための聞き返し対話を行い(S111)、当該対話により得られたユーザの発話内容に対してステップS101以降の処理を再度行う。
以上により、ユーザの視線が、機器が存在する位置以外の特定の領域に向けられている場合、ユーザにとって視認することのできない空間に存在する機器の個別制御辞書2102が選択される。これにより、発話内容から対象機器が特定できない場合であっても、対象機器を特定できる場合がある。よって、ユーザに対する聞き返しの発生を低減できるので、ユーザの利便性を向上できる。
例えば、ユーザがリビングにおり、リビングに照明が設置されており、寝室にエアコンが設置されている。この場合において、ユーザがリビングの照明を制御したい場合には、ユーザはリビングの照明に視線を向けて、「電源入れて」と発話することで、リビングの照明を制御できる。
さらに、ユーザが寝室のエアコンを制御したい場合には、ユーザは、リビングに配置されているいずれの機器にも視線を向けない状態で上記発話を行うことで、寝室のエアコンを制御できる。
このように、本実施の形態に係る手法により、対象機器がユーザの視認範囲外に存在する場合においても、ユーザの視線に基づき対象機器を特定できる。これにより、このような場合において、ユーザの発話内容を短くできるので、ユーザの利便性を向上できるとともに、ノイズ等の影響により発話内容が認識できない、又は誤って解釈されることを抑制できる。
なお、図3では、制御装置は、ステップS108及びS109において、制御命令の確認を行っているが、これらの処理を行わなくてもよい。または、ステップS105及びS107のいずれかの後のみ制御命令の確認が行われてもよい。例えば、統合制御辞書2101に基づき制御命令が選択された場合(S105の後)には、制御命令の確認が行われてなくてもよい。
また、ステップS101〜S103の一連の処理と、ステップS104及びS105の処理との順序は一例であり、これらの処理は逆の順序で行われてもよいし、少なくとも一部が並列に行われてもよい。例えば、ステップS104でNoの場合に、ステップ101〜S103が行われてもよい。
以下、各機器の構成及び動作の一例を詳細に説明する。
図2に示すように、第1の機器2011は、視線検出部2111を備え、第2の機器2012は視線検出部2121を備える。視線検出部2111、2121及び2131(後述)は、ユーザの視線方向を検出する。具体的には、視線検出部2111、2121及び2131は、赤外線カメラ又は可視カメラを備え、これらのカメラで得られた映像を解析し、顔認識等を利用してユーザの視線が自機器へ向いているかどうかを検出する。なお、視線検出部2111、2121及び2131は、ユーザの顔の向きを視線の向きとして検出してもよいし、ユーザの眼球の向きを視線の向きとして検出してもよい。
なお、ここでは、各機器がユーザの視線が自機器に向いているかを検出する例を述べるが、グループ1100内に配置された1以上のカメラにより撮影された映像を解析することでユーザの視線の方向が検出されてもよいし、その他の手法によりユーザの視線の方向が検出されてもよい。
また、以下では、この視線検出をトリガとしてユーザが発話を開始するのかどうか判定する例を述べるが、ユーザの発話開始のトリガとして視線検出に加え、又は視線検出の代わりに、口唇検出、ジェスチャ検出、又は「マイクオン」のような固定ワードの発話検出等が用いられてもよい。口唇検出は、カメラで撮影した画像からユーザの口の動き、すなわち、口唇動作を検出し、口唇動作に基づいてユーザが発話を開始するのかどうか判定する。ジェスチャ検出は、拍手又は手を挙げる等、ユーザが予め決められた動作を行った際にカメラで撮影した画像又は音声データに基づいてユーザが発話を開始するのかどうか判定する。
集音装置2013は、視線検出部2131及び集音部2132を備える。集音部2132は、周辺の音声を取得し、当該音声に含まれる、ユーザの発話内容を一定期間保持する。具体的には、集音部2132は、カメラ等で得られたユーザの位置情報に基づき発話音源(ユーザ)の方向を特定し、発話音源の方向を用いて、得られた音声かから周辺ノイズを低減させることで、ユーザの発話内容を抽出する。
なお、集音装置2013は、集音する機能を持ち、集音したデータを転送可能な機能を持つ機器であればよい。例えば、集音装置2013は、天井に設置されている天井マイク、ユーザが身につけるウェアラブルマイク、又は集音する機能が備わっているぬいぐるみ等である。
ホームゲートウェイ1102は、辞書選択部2141、及び音声対話部2143を備える。また、ホームゲートウェイ1102は、機器管理情報2142を保持している。辞書選択部2141は、第1の機器2011、第2の機器2012、及び集音装置2013のいずれかの視線検出部2111、2121及び2131でユーザの視線が検出された際、機器管理情報2142を利用して操作対象の対象機器を特定し、特定された対象機器の個別制御辞書2102を選択する。
機器管理情報2142は、各機器の設置場所及び視線検出機能の有無等を示す(詳細は後述する)。音声対話部2143は、音声対話処理を行う。具体的には、音声対話部2143は、集音装置2013へ集音開始指示命令を発行することでユーザの発話内容を含む音声データを取得し、取得した音声データを音声対話サーバ2100へ転送する。音声対話部2143は、音声データに含まれる発話内容に基づく制御命令を音声対話サーバ2100から取得し、制御命令を対象機器に送信する。
なお、本実施の形態では、ホームゲートウェイ1102と集音装置2013とが別々に存在しているが、ホームゲートウェイ1102内に集音装置2013の機能が含まれてもよい。
音声対話サーバ2100は、クラウドサーバ1111の一つであり、統合制御辞書2101及び個別制御辞書2102を保持している。この音声対話サーバ2100は、音声データ解析により音声データから発話内容を特定し、統合制御辞書2101及び個別制御辞書2102を利用して発話内容から制御命令を特定する。
統合制御辞書2101及び個別制御辞書2102には、発話内容(テキスト)から制御命令を特定するためのルールが記載されている(詳細は後述する)。なお、本実施の形態では、音声対話サーバ2100とホームゲートウェイ1102とが別々に存在しているが、ホームゲートウェイ1102内に音声対話サーバ2100の機能が含まれてもよい。また、ホームゲートウェイ1102内に、音声対話サーバ2100の機能の一部が含まれてもよい。
図4Aは、本実施の形態における機器管理情報2142の一例を示す図である。
機器管理情報2142は、機器を一意に特定する識別子情報と、機器がホームゲートウェイかどうかを示す属性情報と、機器が保有する機能のカテゴリーを示す種別情報と、機器が集音能力を保有しているかどうかを示す集音情報と、機器が設置されている場所を示す設置場所情報と、機器がユーザの発話開始トリガ(視線)を検出した機器かどうかを示す発話情報とを含む。
識別子情報は、例えば、WiFi又はBluetooth(登録商標)等のペアリング時に機器のMACアドレス及び乱数から生成される。または、識別子情報は、ECHONET Liteのインスタンスリスト通知に含まれる識別子が利用される。
属性情報及び種別情報は、ECHONET Lite等の家電機器制御プロトコルをサポートしている場合はその家電機器制御のカテゴリーの情報を利用して設定される。
集音情報は、WiFi又はBluetooth(登録商標)等のペアリング時に通知された集音機能有無に基づき設定される。設置場所情報は、ホームゲートウェイ1102の設定メニュー等を利用してユーザにより設定される。発話情報は、第1の機器2011、第2の機器2012、及び集音装置2013のいずれかの視線検出部2111、2121、及び2131からユーザの発話開始トリガ(視線)が検出された際に設定される。
図4Bは、本実施の形態における統合制御辞書2101の一例を示す図である。図4C及び図4Dは、本実施の形態における個別制御辞書2102の一例である個別制御辞書2102A及び2102Bを示す図である。
統合制御辞書2101及び個別制御辞書2102は、音声認識の結果得られた文字列情報(発話内容)を示す発話認識テキスト情報と、発話認識テキストから制御命令を特定するためのアクション情報とを含む。
統合制御辞書2101は、制御対象となりうる機器が複数存在する場合に用いる辞書であり、アクション情報として、発話認識テキストから特定される制御命令を示す制御命令情報と、対象機器の種別(属性)を示す機器情報と、対象機器が設置されている場所を示す場所情報とを含む。
例えば、ユーザが「リビングの照明つけて」と発話した場合、「リビング」「照明」「つけて」のキーワードマッチングにより、アクション情報として全フレーム(制御命令(power_on)、機器(照明)、場所(リビング))が埋まる。これにより、リビングに設置されている照明の電源をオンにする処理が行われる。
また、ユーザが「エアコンつけて」と発話した場合、「エアコン」「つけて」のキーワードマッチングにより、アクション情報として場所以外のフレーム(制御命令(power_on)、機器(エアコン))が埋まる。この場合、ユーザ宅にエアコンが1台しか設置されていない場合はそのエアコンの電源をオンにする処理が行われるが、2台以上設置されている場合は「どこのエアコンの電源を入れますか」と聞き返してユーザから場所を指定して貰うことで最終的に電源をオンにする処理を行う対象のエアコンが特定される。
また、ユーザが「冷房つけて」と発話した場合、機器そのものを特定する内容は発話されていないが機器固有の操作指示内容が発話されているので、統合制御辞書2101を用いて機器情報が補完される。また、ユーザが「電源入れて」又は「あたためて」と発話した場合、アクション情報として制御命令(power_on、heating_on)しか埋まらない。よって、ユーザから機器又は場所の情報を指示してもらう必要がある。
また、ユーザが「一括オフ」と発話した場合のように、アクション情報のうち制御命令(all_poff)しか埋まらなくても操作可能になる場合もある。
一方、個別制御辞書2102は、制御対象となる機器が一意に特定されている場合に用いる辞書であり、アクション情報として制御命令情報のみを含む。図4C及び図4Dは、それぞれ操作対象がエアコンの場合、及び照明の場合の例を示す。個別制御辞書2102が用いられる場合とは、既に制御対象となる対象機器の種類及び場所が特定されている場合である。よって、例えば、ユーザが「あたためて」と発話すれば、該当するエアコンを暖房に設定する処理が行われ、機器情報及び場所情報が特定される必要はない。
図5は、本実施の形態における対話情報提供システムに各機器の構成例を示すブロック図である。
第1の機器2011は、先述した視線検出部2111に加え、機器通信部2112及び機器命令実行部2113を備える。第2の機器2012は、先述した視線検出部2121に加え、機器通信部2122及び機器命令実行部2123を備える。
機器通信部2112は、ECHONET Lite等の家電機器制御のプロトコルスタックである。具体的には、機器通信部2112は、ホームゲートウェイ1102に対して、第1の機器2011が起動された際の通知等のインスタンスリスト通知と、電源入り又は切りの変化の通知等の機器状態の通知と、ホームゲートウェイ1102からの電源入り設定等の制御命令の受信及び解釈並びに制御命令の実行結果の応答とを行う。
また、視線検出結果のホームゲートウェイ1102への通知は、この通知機能を利用しても行われてもよいし、独自のプロトコルで行われてもよい。
機器命令実行部2113は、機器通信部2112から受けとった制御命令を機器のハードウェア命令へ変換して実行する。
なお、視線検出部2121、機器通信部2122及び機器命令実行部2123の機能は、視線検出部2111、機器通信部2112及び機器命令実行部2113の機能と同様である。
集音装置2013は、先述した視線検出部2131及び集音部2132に加え、情報提示部2133及び機器通信部2134を備える。
情報提示部2133は、視線検出部2131で検出されたユーザに対して、各種情報を提示する。例えば、情報提示部2133は、ユーザに対して「お話ください」と音声を出力したり、LEDライトを発光させたりしてユーザの発話を促す。
機器通信部2134の機能は、先述した機器通信部2112及び2122と同様である。
ホームゲートウェイ1102は、先述した辞書選択部2141及び音声対話部2143に加え、機器管理部2144、機器通信部2145及びクラウド通信部2146を備える。
機器通信部2145の機能は、先述した機器通信部2112、2122及び2134の機能と同様である。クラウド通信部2146は、対話機能を利用するにあたって、ユーザが利用許諾に同意したかどうかを管理し、ユーザが利用許諾に同意した場合に音声対話サーバ2100との接続を確立し、音声対話サーバ2100と情報を送受信する。
図6は、本実施の形態における、ユーザが対象機器に対して発話する場合の対話情報提供システムにおける動作例を示す図である。例えば、第1の機器2011は第1の空間2001(1階リビング)に設置されている照明であり、第2の機器2012は第2の空間2002(2階寝室)に設定されているエアコンであり、集音装置2013は、第1の空間2001(1階リビング)の天井に設置されているマイクである。ユーザは、第1の空間2001において、第1の機器2011に視線を向けて「電源入れて」と発話する。
これにより、第1の機器2011は、ユーザの視線が自機器に向けられていることを検出し(S301)、検出結果をホームゲートウェイ1102に通知する(S302)。ホームゲートウェイ1102は、統合制御辞書2101及び複数の個別制御辞書2102から使用する辞書を選択する(S303)。この場合、第1の機器2011にユーザの視線が向けられているため、ホームゲートウェイ1102は、第1の機器2011の個別制御辞書2102を選択する。
次に、集音装置2013、ホームゲートウェイ1102及び音声対話サーバ2100は、音声対話処理を行う(S304)。音声対話処理は、ユーザの発話を集音した音声データを解析した結果得られた文字列情報と統合制御辞書2101及び個別制御辞書2102からユーザの意図する家電操作を特定し、その結果をユーザに通知する処理である。図4Bにおける統合制御辞書2101の例では、発話認識テキスト「電源入れて」から、制御命令を特定することはできない。一方で本実施の形態では、ステップS303において個別制御辞書2102が選択されることにより、当該個別制御辞書2102を用いて、発話認識テキスト「電源入れて」から制御命令を特定できる。
次に、ホームゲートウェイ1102は、音声対話処理の結果に基づいて第1の機器2011に制御命令を送信する(S305)。第1の機器2011は、受信した制御命令を実行する(S306)。
このような流れにより、ユーザが機器を特定する内容の発話を行わない場合であっても機器を特定して操作することが可能になる。
なお、ユーザが発話内容に機器を特定する要素が入っている場合は、ステップS303で特定された機器よりも、ユーザの発話内容で特定される機器を優先し、ユーザの発話内容で特定される機器を対象機器に決定する。例えば、リビングの照明(第1の機器2011)を見て「エアコンつけて」と発話した場合は、リビングの照明ではなく、寝室のエアコンの電源が入れられる。
図7は、本実施の形態における、ユーザが集音装置2013に対して発話する場合の対話情報提供システムにおける動作例を示す図である。ユーザは、集音装置2013に視線を向けて「電源入れて」と発話する。
集音装置2013は、ユーザの視線が自機器に向けられていることを検知し(S311)、検出結果をホームゲートウェイ1102に通知する(S312)。ホームゲートウェイ1102は、統合制御辞書2101及び複数の個別制御辞書2102から使用する辞書を選択する(S313)。この場合、集音装置2013にユーザの視線が向けられているため、ホームゲートウェイ1102は、第1の機器2011及び第2の機器2012の個別制御辞書2102うち、ユーザの視認範囲外に存在する第2の機器2012の個別制御辞書2102を選択する。なお、ここでは、ユーザは、第1の空間2001(リビング)に存在し、対象機器として第1の空間2001と異なる第2の空間2002(寝室)に配置されている第2の機器2012の個別制御辞書2102が選択される。
次に、集音装置2013、ホームゲートウェイ1102及び音声対話サーバ2100は、ステップS304と同様に、音声対話処理を行う(S314)。そして、ホームゲートウェイ1102は、音声対話処理の結果に基づいて第2の機器2012に制御命令を送信する(S315)。第2の機器2012は、受信した制御命令を実行する(S316)。
このような流れにより、ユーザが機器を特定する内容の発話を行わず、かつ、機器に関連付けされていない集音装置2013に対してユーザが発話した場合であっても機器を特定して操作することが可能になる。
次に、各装置の動作を説明する。図8は、第1の機器2011の動作の流れを示すフローチャートである。なお、第2の機器2012の動作も同様である。
まず、第1の機器2011は、ユーザの視線が自機器に向いているかを検出することで、ユーザの発話開始を検出する(S201)。第1の機器2011は、ユーザの視線を検出した場合(S201でYes)、ユーザの視線を検出したことを示す視線検出通知をホームゲートウェイ1102に送信する(S202)。
また、第1の機器2011は、ホームゲートウェイ1102から制御命令を受信した場合(S203でYes)、受信した制御命令を実行する(S204)。
図9は、集音装置2013の動作の流れを示すフローチャートである。まず、集音装置2013は、ユーザの視線が自機器に向いているかを検出することで、ユーザの発話開始を検出する(S211)。集音装置2013は、ユーザの視線を検出した場合(S211でYes)、ユーザの視線を検出したことを示す視線検出通知をホームゲートウェイ1102に送信する(S212)。
図10は、ホームゲートウェイ1102の動作の流れを示すフローチャートである。ホームゲートウェイ1102は、第1の機器2011、第2の機器2012又は集音装置2013から視線検出通知を受信した場合(S221でYes)、いずれの装置で視線が検出されたかに基づき、統合制御辞書2101及び複数の個別制御辞書2102から使用する辞書を選択する(S222)。次に、ホームゲートウェイ1102は、音声対話処理を行う(S223)。次に、ホームゲートウェイ1102は、対象機器に音声対話処理で特定された制御命令を送信する(S224)。
以下、ホームゲートウェイ1102における辞書選択処理(S222)の詳細を説明する。図11は、辞書選択処理(S222)の詳細を示すフローチャートである。
ホームゲートウェイ1102は、デフォルトの対話辞書として統合制御辞書2101を選択する(S230)。
次に、ホームゲートウェイ1102は、機器管理情報2142を参照し、視線検出通知の送信元の装置が家電機器かどうかを判定する(S231)。ここで家電機器とは、音声対話により操作を行う対象の機器である。
視線検出通知の送信元の装置が家電機器である場合(S231でYes)、ホームゲートウェイ1102は、ステップS230で選択された統合制御辞書2101に加え、視線検出通知の送信元の装置の個別制御辞書2102を選択する(S232)。一方、視線検出通知の送信元の装置が家電機器でない場合(S231でNo)、ホームゲートウェイ1102は、機器管理情報2142を参照し、ユーザの視認範囲外に機器が存在するかどうか判定する(S233)。
具体的には、ユーザがどの空間に存在するかは検出されている。例えば、ホームゲートウェイ1102は、視線検出通知の送信元の装置と同じ空間(例えば部屋)にユーザが存在していると判断する。なお、ホームゲートウェイ1102は、ユーザの音声を取得した集音装置2013と同じ空間にユーザが存在していると判定してもよい。また、ホームゲートウェイ1102は、視線検出通知の送信元の装置の近傍にユーザが存在していると判断してもよい。または、ホームゲートウェイ1102は、グループ1100内に設置されているカメラで得られた情報から、ユーザの位置を判定してもよい。
ホームゲートウェイ1102は、機器管理情報2142を参照し、ユーザの存在する空間(例えば部屋)と異なる空間に存在する機器を、ユーザの視認範囲外の機器と判断する。なお、ここでは、ユーザと機器とが同じ空間(例えば部屋)に存在するか否かに基づき、各機器がユーザの視認範囲内であるか視認範囲外であるかが判定されているが、ホームゲートウェイ1102は、各機器及びユーザの位置をより詳細に判定するとともに、ユーザの存在する空間の詳細な間取りの情報等を用いて、ユーザの位置から実際に視認可能な機器を特定し、特定された機器以外をユーザの視認範囲外の機器と判定してもよい。
ユーザの視認範囲外に機器が存在する場合(S233でYes)、ホームゲートウェイ1102は、ステップS230で選択された統合制御辞書2101に加え、ユーザの視認範囲外の機器の個別制御辞書2102を選択する(S234)。
一方、ユーザの視認範囲外に機器が存在しない場合(S233でNo)、ホームゲートウェイ1102は、個別制御辞書2102を選択せず、ステップS230で選択された統合制御辞書2101のみが使用する辞書として選択される。
また、ステップS234では、複数の個別制御辞書2102が選択されてもよい。また、この場合には、複数の個別制御辞書2102に優先度が設定されてもよい。
以下、図6及び図7に示す音声対話処理(S304及びS314)の詳細を説明する。図12は、音声対話処理(S304及びS314)の動作例を示す図である。
まず、集音装置2013、ホームゲートウェイ1102及び音声対話サーバ2100は、発話内容をテキストに変換する音声認識処理を行う(S321)。次に、ホームゲートウェイ1102及び音声対話サーバ2100は、統合制御辞書2101及び個別制御辞書2102に基づいて、音声認識処理の結果として得られた認識テキストから機器への制御命令を出力する意図理解処理を行う(S322)。この意図理解処理により、対象機器又は制御命令が特定できていない場合(S323)、ホームゲートウェイ1102は、ユーザに聞き返しを行うように集音装置2013へ指示する(S324)。集音装置2013は、聞き返しの指示を受信すると、ユーザに対して対象機器又は制御命令を特定するための聞き返しを行う(S325)。
この聞き返しにより得られた発話内容に対して、再度、音声認識処理(S326)及び意図理解処理(S327)が行われる。この意図理解処理により、対象機器及び制御命令が特定できた場合(S328)、ホームゲートウェイ1102は、集音装置2013に音声対話の結果を提示させる指示を集音装置2013へ送信する(S329)。集音装置2013は、結果表示の指示を受信すると、音声対話結果の情報をユーザに対して提示する(S330)。
図13は、ホームゲートウェイ1102による音声対話処理(図10のS223)のフローチャートである。まず、ホームゲートウェイ1102は、音声認識処理(S241)及び意図理解処理(S242)を行う。次に、ホームゲートウェイ1102は、対象機器が特定できているかを判断する(S243)。機器が特定できている場合(S243でYes)、ホームゲートウェイ1102は、制御命令が特定できているかを判断する(S244)。制御命令が特定できている場合(S244でYes)、ホームゲートウェイ1102は、集音装置2013に音声対話の結果を表示させる指示を集音装置2013へ送信する(S245)。
一方、対象機器が特定できていないと判断された場合(S243でNo)、又は、制御命令が特定できていないと判断された場合(S244でNo)、ホームゲートウェイ1102は、ユーザに聞き返しを行うように集音装置2013へ指示する(S246)。
ここで、音声認識処理において、辞書選択処理によって選択された個別制御辞書2102を利用することにより誤認識のリスクを低減できる可能性がある。例えば、ユーザが「あたためて」と発話した場合、音声認識結果を抽出する際には、「あたためて」、「暖めて」、「温めて」、「アタタメテ」等複数の候補が考えられる。ここで、エアコンの個別制御辞書2102が選択されている場合、「暖めて」が最有力候補として選択される。また、電子レンジの個別制御辞書2102が選択されている場合は「温めて」が選択される。また、統合制御辞書2101のみが選択されている場合は、例えば「あたためて」を選定したほうがよい。
また、聞き返しを行っても理想的な回数の発話で必ずユーザが望む機器操作が行われるわけではない。例えば、ユーザが「電源入れて」と発話した場合、図4Bに示す統合制御辞書2101では、聞き返しにより機器と場所との2つの情報をユーザに発話してもらえば処理が完結するはずである。ただ、実際には機器として「エアコン」、場所として「寝室」のみをはっきり大きな声で発話してもらえる保証はない。雑音が混じったり、ユーザが余計な言葉を言ったり、ユーザが小さくこもった声で発話する場合もある。このように、認識に失敗する可能性は多々あるため、辞書選択処理によりなるべく少ない発話で機器操作を行えるようにすることでユーザの利便性は高まる。あまりに誤認識が発生する場合には、ユーザに対して認識しやすい発話例を提示することで誤認識率の低減をはかったり、愛嬌あるキャラクター等に謝罪させることによりユーザの苛立ちを緩和させるようにしたりしても良い。
図14は、音声認識処理(図12のS321)の動作例を示す図である。まず、ホームゲートウェイ1102は、集音装置2013に対して音声を保持するように指示し(S351)、音声対話サーバ2100に対して音声認識を開始するように指示する(S352)。
指示を受けた集音装置2013は、ユーザが発話した音声データの保持を開始する(S353)。その後、集音装置2013は、ユーザに対して発話するよう誘導するための情報を提示する(S355)。一方で、指示を受けた音声対話サーバ2100は、音声データに対する音声認識を開始する(S354)。
次に、ホームゲートウェイ1102は、集音装置2013が保持している音声データを取得し(S356)、音声対話サーバ2100に音声データを転送する(S357)。音声対話サーバ2100は、転送された音声データに対して音声認識処理を行う(S358)。この一連の処理がユーザの発話が終了するまで繰り返される。
ユーザの発話が終了した場合、ホームゲートウェイ1102は、集音装置2013に対して音声データの保持を終了するよう通知し(S359)、音声対話サーバ2100に対して音声認識を終了するよう通知する(S360)。
通知を受けた集音装置2013は、ユーザが発話した音声データの保持を終了する(S361)。通知を受けた音声対話サーバ2100は、音声認識処理を終了し(S362)、ホームゲートウェイ1102へ音声認識結果を通知する(S363)。
図15は、ホームゲートウェイ1102による音声認識処理(図13のS241)のフローチャートである。
まず、ホームゲートウェイ1102は、集音装置2013に対して音声を保持するように指示し、音声対話サーバ2100に対して音声認識を開始するように指示する(S251)。次に、ホームゲートウェイ1102は、集音装置2013が保持している音声データを取得する(S252)。そして、ホームゲートウェイ1102は、取得した音声データに基づき、ユーザの発話が終了したかどうかを判断する(S253)。
ユーザの発話がまだ続いていると判断された場合(S253でNo)、ホームゲートウェイ1102は、音声対話サーバ2100に音声データを転送し(S254)、ステップS252に戻る。
一方、ユーザの発話が終了したと判断された場合(S253でYes)、ホームゲートウェイ1102は、集音装置2013に対して音声データの保持を終了するよう通知し、音声対話サーバ2100に対して音声認識を終了するよう通知する(S255)。
次に、ホームゲートウェイ1102は、音声対話サーバ2100から送信された音声認識結果を受信する(S256)。
図16は、意図理解処理(図12のS322及びS327)の動作例を示す図である。まず、ホームゲートウェイ1102は、音声対話サーバ2100に対して意図理解の開始を指示する(S371)。このとき、ホームゲートウェイ1102は、例えば、発話認識テキストと辞書選択処理により選択された辞書の情報などを入力情報として音声対話サーバ2100に送る。
音声対話サーバ2100は、意図理解開始の指示を受けると、発話認識テキストと統合制御辞書2101及び個別制御辞書2102とを照合して、機器に対して指示するアクションを決定する(S372)。具体的には、音声対話サーバ2100は、個別制御辞書2102及び統合制御辞書2101の各々を用いて、発話認識テキストからアクションを決定する。そして、音声対話サーバ2100は、ホームゲートウェイ1102に対して、決定したアクションを示す情報を送信する(S373)。なお、複数の辞書に基づき複数のアクションが決定された場合には、複数のアクションが送信される。
ホームゲートウェイ1102は、複数のアクションを受信すると、機器に対する制御命令を特定する(S374)。このとき、ホームゲートウェイ1102は、個別制御辞書2102でアクションが生成されていたとしても、統合制御辞書2101において場所及び機器のスロットが埋まっているか、又は機器操作可能な状態になっている場合、統合制御辞書2101の結果を選択する。つまり、ホームゲートウェイ1102は、統合制御辞書2101及び個別制御辞書2102の両方によりアクションが生成された場合には、統合制御辞書2101のアクションを優先する。これにより、例えば、ユーザが照明を向いて「エアコンつけて」と発話した場合に、視線先の照明ではなく、発話内容で特定されるエアコンの電源を入れる処理が行われる。
また、複数の個別制御辞書2102によりアクションが生成された場合は、ホームゲートウェイ1102は、機器に設定されている優先度に基づいて使用するアクションを特定する。なお、この優先度は、後述する距離情報に基づき設定されてもよいし、他の条件に基づき設定されてもよい。
また、統合制御辞書2101から生成されたアクションで特定される命令が優先される動作例として、機器の一括制御を行うケースもある。例えば、第1の機器2011はエアコンであり、第2の機器2012は照明であり、集音装置2013は天井に設置されたマイクである。ユーザが集音装置2013を見ながら「一括オフ」と発話する。この場合、辞書選択処理により、統合制御辞書2101と、所定空間内にあるエアコンの個別制御辞書2102が選択される。図4Bに示す統合制御辞書2101においては「一括オフ」の発話により操作命令が埋まることで操作可能な状態となる。これにより、統合制御辞書2101のアクションが優先されることで、エアコン及び照明の電源がオフされる。
なお、上記説明では、ユーザの視線が複数の機器が存在しない領域に向けられていることを検出する手法として、集音装置2013が備える視線検出部2131の検出結果が用いられているが、これ以外の方法が用いられてもよい。例えば、視線検出部は、複数の機器(第1の機器2011及び第2の機器2012)が配置されている領域以外の任意の領域に設けられていてもよい。
例えば、ホームゲートウェイ1102が視線検出部を備えてもよい。または、ユーザの対話の対象となるオブジェクト(人形等)に視線検出部が設けられていてもよい。さらに、ユーザの対話の対象となるオブジェクトは仮想的なオブジェクト(フォログラム等)であってもよい。この場合、例えば、グループ1100内に設置されているカメラにより撮影された画像に基づき、ユーザの視線の方向が検出されてもよい。また、複数の機器が備える視線検出部のいずれにおいてもユーザの視線が検出されなかった場合に、ユーザの視線が複数の機器が存在しない領域に向けられていると判定されてもよい。
なお、ユーザの視線が複数の機器が存在しない領域に向けられていることを検出する手法として、上記のいずれかが用いられても良いし、2以上の手法が用いられてもよい。
以上のように、本実施の形態に係る方法は、集音装置2013により収集されたユーザの発話内容に基づき複数の機器を操作する制御装置(例えば、ホームゲートウェイ1102等)により行われる。なお、先述したように制御装置は、ホームゲートウェイ1102に限定されず、システムに含まれる任意の機器であればよい。例えば、後述するように、制御装置は、ホームゲートウェイ1102、集音装置2013及び音声対話サーバ2100の機能のうち少なくとも一部を含んでもよい。
まず、制御装置は、ユーザの視線が向けられている方向に関する視線情報を取得する。制御装置は、視線情報に基づき、ユーザの視線が、当該ユーザが視認可能な空間における一部の領域であって、複数の機器が存在する位置と異なる第1の領域に向けられているか否かを判断する(S101、S231)。
例えば、第1の領域は、制御装置が存在する領域である。具体的には、制御装置は、ユーザの視線が当該制御装置に向けられているかを検出する視線検出部を備え、当該視線検出部がユーザの視線が制御装置に向けられていることを検出した旨を視線情報として取得する。制御装置は、視線検出部がユーザの視線が制御装置に向けられていることを検出した場合に、ユーザの視線が第1の領域に向けられていると判断する。
または、集音装置2013は、複数の機器とは異なる位置に設置されており、第1の領域は、集音装置2013が存在する領域である。具体的には、集音装置2013は、ユーザの視線が当該集音装置2013に向けられているかを検出する視線検出部2131を備える。制御装置は、視線検出部2131がユーザの視線が集音装置2013に向けられていることを検出した旨を視線情報として取得する。制御装置は、視線検出部2131がユーザの視線が集音装置2013に向けられていることを検出した場合に、ユーザの視線が第1の領域に向けられていると判断する。
または、第1の領域は、ユーザによる発話(対話)の相手であるオブジェクト(人形等)が存在する領域である。具体的には、オブジェクトは、ユーザの視線が当該オブジェクトに向けられているかを検出する視線検出部を備える。制御装置は、視線検出部がユーザの視線がオブジェクトに向けられていることを検出した旨を視線情報として取得する。制御装置は、視線検出部がユーザの視線がオブジェクトに向けられていることを検出した場合に、ユーザの視線が第1の領域に向けられていると判断する。
または、第1の領域は、ユーザによる発話(対話)の相手である仮想オブジェクト(フォログラム等)が存在する領域である。具体的には、制御装置は、撮像装置により撮影された、ユーザが含まれる画像を視線情報として取得する。制御装置は、当該画像からユーザの視線が向けられている方向を解析する。
ユーザの視線が前記第1の領域に向けられていると判断された場合(S101でNo、S231でNo)、制御装置は、ユーザの発話内容を、対応する機器の制御命令に変換するために用いられる複数の個別制御辞書2102の中から、複数の機器のうち、当該ユーザが視認不可能な空間に存在する第1の機器に対応する第1の辞書を選択する(S103、S234)。
次に、制御装置は、選択された第1の辞書を用いてユーザの発話内容を制御命令に変換する(S107)。また、制御装置は、制御命令を対象機器に送信する(S110)。
また、制御装置は、制御命令により操作による操作内容をユーザに通知し(S108)、操作内容が承認された場合(S109でYes)に、制御命令により対象機器を操作する(S110)。
これにより、本実施の形態に係る方法は、ユーザの視線が、機器が存在する位置以外の特定の領域に向けられている場合には、ユーザにとって視認することのできない空間に存在する機器の個別制御辞書2102を選択することで、当該機器を操作対象であると特定できる。これにより、ユーザに対する聞き返しの発生を低減できるので、ユーザの利便性を向上できる。
また、制御装置は、ユーザの視線が、当該ユーザが視認可能な空間に存在する、複数の機器に含まれる第2の機器に向けられているか否かを判断し(S101、S231)、ユーザの視線が第2の機器に向けられていると判断された場合(S101でYes、S231でYes)、複数の個別制御辞書2102の中から、当該第2の機器に対応する個別制御辞書2102を選択する(S102、S232)。また、制御装置は、選択された第2の辞書を用いてユーザの発話内容を制御命令に変換する(S107)。
これにより、本実施の形態に係る方法は、ユーザがある機器に視線を向けている場合、その機器の個別制御辞書2102を選択することで、当該機器が操作対象であると特定できる。これにより、ユーザに対する聞き返しの発生を低減できるので、ユーザの利便性を向上できる。
また、制御装置は、選択された第1の辞書を用いて、ユーザの発話内容を制御命令に変換できなかった場合(S106でNo)、制御命令を特定するために必要となる情報の入力をユーザに促す(S111)。
また、複数の辞書は、制御対象となりうる機器が複数存在する場合に用いる辞書である統合制御辞書2101を含む。制御装置は、選択された第1の辞書(個別制御辞書2102)を用いて、ユーザの発話内容を制御命令に変換でき、かつ、統合制御辞書2101を用いて、ユーザの発話内容を制御命令に変換できる場合(S104でYes)には、統合制御辞書2101を用いて、ユーザの発話内容を制御命令に変換する(S105)。
これにより、ユーザの視線情報に基づき個別制御辞書2102が選択された場合であっても、ユーザの発話内容から特定される機器を操作対象として優先させることができる。よって、ユーザの意図しない機器が誤って操作対象に選択されることを抑制できる。
(実施の形態2)
本実施の形態では、上記実施の形態1に係る対話情報提供システムの変形例について説明する。なお、以下の実施の形態では、先の実施の形態と重複する説明は省略し、主に相違点を説明する。
本実施の形態に係る対話情報提供システムは、実施の形態1に係る対話情報提供システムに対して、辞書選択処理(図10のS222)が異なる。具体的には、本実施の形態では、ユーザの視線が機器に向いていない場合、ユーザの近くに存在する機器の個別制御辞書2102を選択する。
図17は、本実施の形態に係る辞書選択処理(S222A)のフローチャートである。なお、図17に示す処理は、図10に示す処理に対してステップS233及びS234の代わりにステップS233A及びS234を含む。
視線検出通知の送信元の装置が家電機器でない場合(S231でNo)、ホームゲートウェイ1102は、機器管理情報2142を参照し、ユーザの近くに機器が存在するかどうか判定する(S233A)。
具体的には、ホームゲートウェイ1102は、機器管理情報2142を参照し、ユーザの存在する空間(例えば部屋)と同じ空間に存在する機器を、ユーザの近くの機器と判断する。
ユーザの近くに機器が存在する場合(S233AでYes)、ホームゲートウェイ1102は、ステップS230で選択された統合制御辞書2101に加え、ユーザの近くの機器の個別制御辞書2102を選択する(S234A)。
一方、ユーザの近くに機器が存在しない場合(S233AでNo)、ホームゲートウェイ1102は、個別制御辞書2102を選択せず、ステップS230で選択された統合制御辞書2101のみが使用する辞書として選択される。
また、ステップS234Aでは、複数の個別制御辞書2102が選択されてもよい。また、この場合には、複数の個別制御辞書2102に優先度が設定されてもよい。
図18は、本実施の形態における、ユーザが集音装置2013に対して発話する場合の対話情報提供システムにおける動作例を示す図である。なお、ユーザが対象機器に対して発話する場合の対話情報提供システムにおける動作例は、図6と同様である。
例えば、ユーザは、集音装置2013に視線を向けて「電源入れて」と発話する。
集音装置2013は、ユーザの視線が自機器に向けられていることを検知し(S311)、検出結果をホームゲートウェイ1102に通知する(S312)。ホームゲートウェイ1102は、統合制御辞書2101及び複数の個別制御辞書2102から使用する辞書を選択する(S313A)。この場合、集音装置2013にユーザの視線が向けられているため、ホームゲートウェイ1102は、第1の機器2011及び第2の機器2012のうち、ユーザの近くに存在する第1の機器2011の個別制御辞書2102を選択する。なお、ここでは、ユーザは、第1の空間2001(リビング)に存在し、対象機器として、ユーザと同じ第1の空間2001に存在する第1の機器2011が選択される。
次に、集音装置2013、ホームゲートウェイ1102及び音声対話サーバ2100は、ステップS304と同様に、音声対話処理を行う(S314)。そして、ホームゲートウェイ1102は、音声対話処理の結果に基づいて第1の機器2011に制御命令を送信する(S315A)。第1の機器2011は、受信した制御命令を実行する(S316A)。
このような流れにより、ユーザが機器を特定する内容の発話を行わず、かつ、機器に関連付けされていない集音装置2013に対してユーザが発話した場合であっても機器を特定して操作することが可能になる。
(実施の形態3)
本実施の形態では、上記実施の形態1に係る対話情報提供システムの変形例について説明する。本実施の形態では、第1の機器2011及び第2の機器2012は、さらに、ユーザとの距離を検出する機能を有する。対話情報提供システムは、検出された、機器とユーザとの距離に基づき、ユーザの視認範囲外の機器を特定する。
図19は、本実施の形態における第1の機器2011A及び第2の機器2012Aの一例を示すブロック図である。第1の機器2011A及び第2の機器2012Aは、実施の形態1に係る第1の機器2011及び第2の機器2012の構成要素に加え、ユーザと自機器との距離を検出する距離検出部2114及び2124を備える。ここで距離検出部2114及び2124は、ユーザが自機器から所定の距離以内に存在するか否かを検出してもよいし、ユーザと自機器との距離(値)を検出してもよい。
図20A〜図20Cは、本実施の形態における機器管理情報2142の一例を示す図である。図20Aに示す機器管理情報2142Aの例では、ホームゲートウェイ1102と、第1の機器2011である照明と、集音装置2013である天井マイクとがリビングに設置され、第2の機器2012であるエアコンが寝室に設置されている。また、距離検出部2114及び2124で取得されたユーザと機器との距離情報として、第1の機器2011でユーザが検出されたことが示されている。
図20Bに示す機器管理情報2142Bの例では、ホームゲートウェイ1102と、第1の機器2011である照明と、第2の機器2012であるエアコンと、集音装置2013である天井マイクとが存在しているが、各装置の設置場所は設定されていない。また、距離検出部2114及び2124で取得されたユーザと機器との距離情報として、第1の機器2011でユーザが検出されたことが示されている。
図20Cに示す機器管理情報2142Cの例では、ホームゲートウェイ1102と、第2の機器2012であるエアコンとがリビングに設置されており、第1の機器2011である電子レンジと、集音装置2013である集音マイクとがキッチンに設置されている。また、距離検出部2114及び2124で取得されたユーザと機器との距離情報として、第1の機器2011でユーザが検出されたことが示されている。
なお、ここでは、距離情報としてどの機器でユーザが検出されたかが示されているが、距離の遠近が分かるよう数値情報が示されてもよい。また、この数値情報として、機器との通信時間を示す情報が用いられてもよい。これにより、ユーザを検出した機器が複数存在する場合に、どの機器がユーザに最も近いかを判定できる。
図21は、図11に示す処理のうち、ユーザの視認範囲外の機器を対象機器に設定する処理(S233及びS234)の詳細を示すフローチャートである。
まず、ホームゲートウェイ1102は、機器管理情報2142に設置場所情報が設定されているかどうか判定する(S401)。設置場所情報が設定されている場合(S401でYes)、ホームゲートウェイ1102は、ユーザと異なる空間(例えば異なる部屋)に設置されている機器の個別制御辞書2102を選択する(S402)。
一方、設置場所情報が設定されていない場合(S401でNo)、ホームゲートウェイ1102は、距離情報に基づき、ユーザから所定の距離以上は離れている機器の個別制御辞書2102を選択する(S403)。例えば、ホームゲートウェイ1102は、ユーザを検出した機器以外の機器の個別制御辞書2102を選択する。
また、ステップS402及びS403において、複数の個別制御辞書2102が選択された場合(S404でYes)、ホームゲートウェイ1102は、ユーザからの距離が遠いほど優先度が高くなるように複数の個別制御辞書2102に優先度を設定する(S405)。
以下、この処理の具体例を図20A及び図20Bの例で説明する。
図20Aに示す例では、第1の機器2011はリビングに設置されている照明であり、第2の機器2012は寝室に設置されているエアコンであり、集音装置2013は天井に設置されているマイクである。ユーザがリビングで機器に視線を向けずに(例えば集音装置2013に視線を向けて)「電源入れて」と発話した場合には、ユーザと異なる部屋に設置されている寝室のエアコンが対象機器として選択される。なお、異なる部屋に複数台のエアコンが設置されている場合は、これらの全てのエアコンが選択されてもよいし、最もユーザから遠い機器のみが選択されてもよい。
また、図20Bに示す例では、ユーザからの距離が近い順に第1の機器2011、第2の機器2012が存在している。第1の機器2011は照明であり、第2の機器2012はエアコンであり、集音装置2013は天井に設置されているマイクである。ユーザがリビングで機器に視線を向けずに「電源入れて」と発話した場合、ユーザからの距離が最も遠い寝室のエアコンの運転が開始される。
(実施の形態4)
本実施の形態では、上記実施の形態2に係る対話情報提供システムに対して、実施の形態3と同様の変形例を適用した場合について説明する。なお、第1の機器2011A及び第2の機器2012A、及び機器管理情報2142の構成は、実施の形態3と同様である。
図22は、図17に示す処理のうち、ユーザの近くの機器を対象機器に設定する処理(S233A及びS234A)の詳細を示すフローチャートである。
まず、ホームゲートウェイ1102は、機器管理情報2142に設置場所情報が設定されているかどうか判定する(S401)。設置場所情報が設定されている場合(S401でYes)、ホームゲートウェイ1102は、ユーザと同じ空間(例えば同じ部屋)に設置されている機器の個別制御辞書2102を選択する(S402A)。
一方、設置場所情報が設定されていない場合(S401でNo)、ホームゲートウェイ1102は、距離情報に基づき、ユーザから所定の距離以内に存在する機器の個別制御辞書2102を選択する(S403A)。例えば、ホームゲートウェイ1102は、ユーザを検出した機器の個別制御辞書2102を選択する。
また、ステップS402A及びS403Aにおいて、複数の個別制御辞書2102が選択された場合(S404でYes)、ホームゲートウェイ1102は、ユーザからの距離が近いほど優先度が高くなるように複数の個別制御辞書2102に優先度を設定する(S405A)。
以下、この処理の具体例を図20A〜図20Cの例で説明する。
図20Aに示す例では、第1の機器2011はリビングに設置されている照明であり、第2の機器2012は寝室に設置されているエアコンであり、集音装置2013は天井に設置されているマイクである。ユーザがリビングで機器に視線を向けずに「電源入れて」と発話した場合には、ユーザと同じ部屋に設置されているリビングのエアコンが対象機器として選択される。なお、リビングに複数台のエアコンが設置されている場合は、これらの全てのエアコンが選択されてもよいし、最もユーザに近い機器のみが選択されてもよい。
また、図20Bに示す例では、ユーザからの距離が近い順に第1の機器2011、第2の機器2012が存在している。第1の機器2011は照明であり、第2の機器2012はエアコンであり、集音装置2013は天井に設置されているマイクである。ユーザがリビングで機器に視線を向けずに「電源入れて」と発話した場合、ユーザからの距離が近いリビングの照明の電源が入れられる。これにより、ユーザにより快適な環境を提供できる。
また、図20Cに示す例では、第1の機器2011はキッチンに設置されている電子レンジであり、第2の機器2012はリビングに設置されているエアコンであり、集音装置2013はキッチンに設置されているマイク機能を有する表示機器である。ユーザがキッチンで表示機器を利用してレシピを検索しながら「あたためて」と発話した場合にも同様に、発話しているユーザとの距離が閾値以内の機器である電子レンジが選択される。または、ユーザが居る場所をキッチンと特定すると、距離の遠近のみでなく、調理家電カテゴリーの機器である電子レンジを優先することで更にユーザの意図を推定しやすくなる可能性がある。
(実施の形態5)
本実施の形態では、上記実施の形態4の変形例を説明する。また、本実施の形態では、ユーザが自分専用のぬいぐるみ、アバター、又はウェアラブルマイク等を利用して、発話により家電機器の状態を確認又は操作する場合について説明する。具体的には、ユーザが機器に視線を向けずに発話した場合であって、ユーザ専用の集音装置で発話が取得された場合には、そのユーザに対応付けられている機器(例えば、そのユーザの部屋に設置されている機器)が選択される。
図23は、本実施の形態における対話情報提供システムの一例を示す図である。図23に示す対話情報提供システムは、図2に示す対話情報提供システムに対してグループ1100Aの構成がグループ1100と異なる。具体的には、グループ1100Aは、さらに、集音装置2014を含む。集音装置2014は、視線検出部2151と集音部2152を備える。視線検出部2151と集音部2152の機能は、集音装置2013が備える視線検出部2131と集音部2132と同様である。集音装置2014は、更に、ユーザ情報2155を保持している。ユーザ情報2155は、集音装置2013を使用するユーザ(所有者)の名称又は識別子等を示す。
図24は、本実施の形態における機器管理情報2142の一例を示す図である。図24に示す機器管理情報2142Dの例では、ホームゲートウェイ1102と、第1の機器2011である照明と、集音装置2013である天井マイクとがリビングに設置され、第2の機器2012であるエアコンが子供部屋に設置されている。また、子供が、集音装置2014であるウェアラブルマイクを身につけて発話しようとしている。
図25は、ユーザの近くの機器を対象機器に設定する処理(図17のS233A及びS234A)の詳細を示すフローチャートである。図25に示す処理は、図22に示す処理に対してステップS406及びS407が追加されている。
設置場所情報が設定されている場合(S401でYes)、ホームゲートウェイ1102は、ユーザが天井マイクのように設置場所が固定されている設置マイクを利用して発話したかどうか判定する(S406)。ユーザが設置マイクを利用して発話した場合(S406でYes)、実施の形態4と同様にステップS402A以降の処理が行われる。
一方、ユーザが設置マイクを利用して発話していない場合、つまり、そのユーザに対応付けられているウェアラブルマイク等の携帯マイクを利用して発話した場合(S406でNo)、ホームゲートウェイ1102は、ユーザの部屋に設置されている機器の個別制御辞書2102を選択する(S407)。
この処理の具体例を図24の例で説明する。
図24の例では、第1の機器2011はリビングに設置されている照明であり、第2の機器2012はユーザの部屋に設置されているエアコンであり、集音装置2014はユーザ専用のウェアラブルマイクである。ユーザは、リビングでウェアラブルマイクを利用して「電源入れて」と発話した場合には、ユーザの部屋に設置されている第2の機器2012の個別制御辞書2102が選択される。
このようにして、「電源入れて」のようにユーザが機器を特定する発話をしない場合でも機器を特定して該当機器を制御することが可能になる。
なお、ユーザには予め優先度が設定されていてもよい。これにより、複数のユーザが同時に発話した場合に、より優先度の高いユーザの発話が優先される。例えば、家族内において大人の優先度が子供より高く設定されていてもよい。または、家族の優先度が高く設定されており、来客等の予め登録されていないユーザの優先度が低く設定されてもよい。
なお、ここでは、実施の形態4の変形例として、本実施の形態の動作を説明したが、他の実施の形態に対しても同様の変形例を適用できる。
以上のように、制御装置は、複数の集音装置2013及び2014のいずれかにより収集されたユーザの発話に基づき対象機器を操作する。複数の集音装置2013及び2014は、ユーザに予め対応付けられている第1の集音装置2014を含む。制御装置は、第1の集音装置2014によりユーザの発話が収集された場合、複数の機器(第1の機器2011及び第2の機器2012)の個別制御辞書2102のうち、ユーザに予め対応付けられている機器の個別制御辞書2102を選択する。
これにより、ユーザに対応付けられている機器を操作対象として優先させることができる。よって、ユーザの意図しない機器が誤って操作対象に選択されることを抑制できる。
(実施の形態6)
本実施の形態では、上記実施の形態5に係る対話情報提供システムの変形例について説明する。
図26は、本実施の形態における音声対話サーバ2100Aの一例を示すブロック図である。音声対話サーバ2100Aは、音声対話サーバ2100の構成に加え、さらに、複数のアクション情報の組から成る制御シナリオが記載されたシナリオ情報2103を保持している。また、統合制御辞書2101Aの構成が統合制御辞書2101と異なる。
図27A、図27B及び図27Cは、それぞれ本実施の形態における統合制御辞書2101A、シナリオ情報2103、及び個別制御辞書2102Cの一例を示す図である。
シナリオ情報2103は、制御シナリオの名称にあたる文字列であるラベルと、その制御シナリオを使用できるユーザを示す対象ユーザ情報と、その制御シナリオに含まれる複数のアクション情報(制御命令、機器情報及び場所情報の組)のリストとを含む。
対象ユーザ情報は、集音装置2014が保持するユーザ情報2155と同様の情報である。つまり、対象ユーザ情報で示されるユーザに対してのみ、制御シナリオが適用される。
例えば、「おやすみ」というラベルが割り当てられた制御シナリオは、ユーザの就寝時に自動で空調制御を行う制御シナリオである。記載されたアクション情報が上から順に実行されることにより、ユーザの部屋のエアコンの電源を、適当なタイミングでOFFし、また起床する際に快適な環境となるタイミングでONするという制御が行われる。なお、ここでは、アクションとして、場所と機器の種類が記載されているがが、同一空間に複数の機器が存在する場合は、その全てが操作されてもよいし、いずれかの代表の機器が選択的に操作されてもよい。また、同一空間にある各機器を一意に特定できるような識別子が各機器に割り当てられ、シナリオ情報2103にこの識別子が記載されることで、各機器が個別に操作されてもよい。
統合制御辞書2101Aには、発話認識テキストとシナリオとの対応関係が記載されている。具体的には、統合制御辞書2101Aは、発話認識テキストに対応する制御シナリオを示すシナリオ情報と、その制御シナリオを使用できるユーザを示す対象ユーザ情報とを含む。
ユーザが「おやすみ」と発話した場合、アクション情報についてはいずれのフレームも埋まらないが、シナリオのフレームが埋められる。これにより、シナリオ情報2103に含まれる制御シナリオから、先述の「おやすみ」というラベルに対応する制御シナリオが実行される。
なお、このようなユーザ専用のルールは、ユーザが任意に追加及び削除できるものとする。例えば、ホームゲートウェイ1102は液晶ディスプレイ等の画面出力部、及びタッチパネル等の情報入力部を備える。ユーザは、それらを用いて機器の制御内容、及びそれを実行するための発話テキストの情報を入力する。ホームゲートウェイ1102は、音声対話サーバ2100へと入力された情報を送信し、音声対話サーバ2100は、統合制御辞書2101Aへとその情報を反映する。これにより、ユーザは、ユーザ専用のルールを統合制御辞書2101Aに設定できる。
また、ユーザ専用ルールはサービス提供者又は辞書作成者が追加してもよい。つまり、ユーザ専用ルールが、対話サーバ2100により自動的に追加されてもよい。例えば、ユーザの持つ属性又はシステム利用傾向が分析され、よりユーザに適したルールが追加されてもよい。例えば、ユーザの出身地情報又は発話履歴からユーザが特定の方言を使用するとわかった場合、その方言を使用したルールを辞書に追加することにより、ユーザが期待する機器制御を実現しやすくなる。
また、本実施の形態における対話情報提供システムの動作の流れは、以下の点を除き、実施の形態1における動作と同様である。図16に示すステップS371における意図理解開始時に、ホームゲートウェイ1102は、発話したユーザのユーザ情報を合わせて送信する。ステップS372において、音声対話サーバ2100は、受信したユーザ情報と統合制御辞書2101A内の対象ユーザ情報とを照合する。これにより、音声対話サーバ2100は、該当するユーザの設定したアクションのみを生成できる。そのため、ユーザA以外が「おやすみ」と発話しても、発話したユーザのユーザ情報と、統合制御辞書2101Aに記載の対照ユーザ情報とが一致しないため、アクションは生成されない。また、ユーザAが、ユーザ情報2155を保持していない集音装置2013を用いて「おやすみ」と発話しても、音声対話サーバ2100は、発話したユーザの情報が取得できないため照合ができず、アクションが生成されない。
以下、動作例を説明する。第1の機器2011はリビングに設置されたエアコンであり、第2の機器2012は、ユーザAの部屋に設置されたエアコンであり、集音装置2014はユーザAのユーザ情報2155を保持しているウェアラブルマイクである。
ユーザAがウェアラブルマイクを利用して「おやすみ」と発話した場合には、図27A、及び図27Bに示す統合制御辞書2101A及びシナリオ情報2103により、ユーザAの部屋、及びリビングのエアコンのタイマーが制御される。ここで、図27Cに示す個別制御辞書2102Cを用いて同様の設定を行おうとすると、ユーザは、リビングのエアコンに対して「電源切って」及び「6:30に電源入れて」と発話し、寝室のエアコンに対して「0:00に電源切って」及び「6:30に電源入れて」と発話する必要がある。このように、統合制御辞書2101Aを用いることにより、ユーザはより簡単な発話で複雑な操作を実現できる。
また、同様に集音装置2014へユーザごとの情報を登録する、又は各ユーザに対して集音装置2014と同様の集音装置を用意し、統合制御辞書2101Aにルールを追記することにより、例えば、ユーザが「おやすみ」と発話した場合でも、ユーザごとに異なる機器制御を実行できる。
以上のように、複数の辞書(統合制御辞書2101A及び個別制御辞書2102)に含まれる第3の辞書では、ユーザの発話内容と、複数の機器のうちの1以上の機器に対する複数の制御命令とが対応付けられている。制御装置は、第3の辞書を用いて、ユーザの発話内容を複数の制御命令に変換する。
これにより、少ない発話で複雑な制御を実行できるだけでなく、ユーザごとに適した機器制御を実行できる。
(実施の形態7)
本実施の形態では、上記実施の形態1の変形例を説明する。本実施の形態では、対話情報提供システムは、集音を開始する際にユーザに操作したい機器を明示的に指示してもらえるようユーザを誘導する。具体的には、対話情報提供システムは、ユーザに対象機器の方を向いて発話することを促す。
図28は、辞書選択処理(S222)の変形例(S222B)のフローチャートである。図28に示す処理は、図11に示す処理に対してステップS235及びS236が追加されている。
視線検出通知の送信元の装置が家電機器でない場合(S231でNo)、ホームゲートウェイ1102は、ユーザに対象機器へ視線を向けて発話してもらう通知を行ったかどうか判定する(S235)。通知を行っていない場合(S235でNo)、ホームゲートウェイ1102は、ユーザへの情報提示能力を有する集音装置2013等に、ユーザにメッセージを伝えるように指示する(S236)。例えば、このメッセージとは「操作したい機器を向いてお話ください」等である。
このようにすることで、より明確にユーザの操作したい機器を特定することが可能になる。
(その他の変形例)
なお、上記実施の形態において説明された技術は、例えば以下の構成によっても実現されうる。
図29では、視線検出部2131と集音部2132とが別機器に分離されている。つまり、図29に示すグループ1100Bは、集音装置2013の代わりに、視線検出部2131を備える視線検出装置2013Aと、集音部2132を備える集音装置2013Bとを備える。このような構成にすることにより、機器の単価を下げられるだけでなく、機器を小型化及び軽量化できるので機器を携帯しやすくできる。これにより、視線検出の精度を向上できる。
図30に示すグループ1100Cでは、ホームゲートウェイ1102Aは統合制御辞書2147及び個別制御辞書2148を保持している。このような構成にすることにより、電波不良又は有線LANケーブルが抜けている場合等の通信切断時においても発話による機器制御を実施できる。また、通信可能な場合においても通信によるオーバーヘッドを低減できるため応答性を高めることができる。
なお、この場合、ホームゲートウェイ1102A、及び音声対話サーバ2100の両方で意図理解処理を実施してもよい。この場合、ホームゲートウェイ1102Aが保有する統合制御辞書2147及び個別制御辞書2148と、音声対話サーバ2100が保有する統合制御辞書2101及び個別制御辞書2102とに差異が発生する場合が考えられるため、いずれか一方でしか所望の結果が得られない可能性がある。
図31に示す例では、ホームゲートウェイ1102Aに統合制御辞書2147及び個別制御辞書2148が保持され、音声対話サーバ2100が存在しない。このような構成にすることにより、インターネットに接続していない環境においても発話による機器制御を実施できる。
図32に示すグループ1100Dでは、ホームゲートウェイ1102と集音装置2013とが一体化されている。グループ1100Dに含まれるホームゲートウェイ1102Bは、視線検出部2131及び集音部2132を備える。このような構成にすることにより、視線検出通知等を機器間通信で行う必要がなくなるため通信によるオーバーヘッドが低減されるので、ユーザへの応答性を向上できる。
図33に示すグループ1100Eでは、各機器が、当該機器に対応する個別制御辞書を保持する。具体的には、第1の機器2011Bは、当該第1の機器2011Bに対応する個別制御辞書2115を保持し、第2の機器2012Bは、当該第2の機器2012Bに対応する個別制御辞書2125を保持している。これは、機器に特化した個別制御辞書を提供する1つの形態である。
音声対話サーバ2100は、これらの機器に対応する個別制御辞書を保持していない場合、これらの機器を制御する際に統合制御辞書2101しか使用できない。そのため、ホームゲートウェイ1102は、機器管理情報2142を更新するタイミング等に合わせて各機器の持つ辞書の情報を収集しておく。そして、ホームゲートウェイ1102は、音声対話サーバ2100に該当する辞書がない、又は音声対話サーバ2100に保持されている個別制御辞書2102のバージョンが古い場合には、収集した辞書を音声対話サーバ2100へアップロードする。これにより、音声対話サーバ2100は、これらの機器に特化した最新の個別制御辞書2102を使用できる。ただし、それらの個別制御辞書2102はアップロード元となった機器の属するグループにおける発話に対してのみ使用されるようにすべきである。
なお、上記態様において説明された技術は、例えば、以下のクラウドサービスの類型において実現されうる。しかし、上記態様において説明された技術が実現されるクラウドサービスの類型はこれらに限られるものでない。
(サービスの類型1:自社データセンタ型クラウドサービス)
図34は、サービスの類型1(自社データセンタ型クラウドサービス)における情報管理システムが提供するサービスの全体像を示す図である。本類型では、サービスプロバイダ1120がグループ1100から情報を取得し、ユーザに対してサービスを提供する。本類型では、サービスプロバイダ1120が、データセンタ運営会社の機能を有している。すなわち、サービスプロバイダ1120が、ビッグデータを管理するクラウドサーバ1111を保有している。したがって、データセンタ運営会社は存在しない。
本類型では、サービスプロバイダ1120は、データセンタ(クラウドサーバ)1203を運営及び管理している。また、サービスプロバイダ1120は、オペレーティングシステム(OS)1202及びアプリケーション1201を管理する。サービスプロバイダ1120は、サービスプロバイダ1120が管理するOS1202及びアプリケーション1201を用いてサービスを提供する(矢印1204)。
(サービスの類型2:IaaS利用型クラウドサービス)
図35は、サービスの類型2(IaaS利用型クラウドサービス)における情報管理システムが提供するサービスの全体像を示す図である。ここで、IaaSとは、インフラストラクチャー・アズ・ア・サービスの略であり、コンピュータシステムを構築及び稼動させるための基盤そのものを、インターネット経由のサービスとして提供するクラウドサービス提供モデルである。
本類型では、データセンタ運営会社1110が、データセンタ(クラウドサーバ)1203を運営及び管理している。また、サービスプロバイダ1120は、OS1202及びアプリケーション1201を管理する。サービスプロバイダ1120は、サービスプロバイダ1120が管理するOS1202及びアプリケーション1201を用いてサービスを提供する(矢印1204)。
(サービスの類型3:PaaS利用型クラウドサービス)
図36は、サービスの類型3(PaaS利用型クラウドサービス)における情報管理システムが提供するサービスの全体像を示す図である。ここで、PaaSとは、プラットフォーム・アズ・ア・サービスの略であり、ソフトウェアを構築及び稼動させるための土台となるプラットフォームを、インターネット経由のサービスとして提供するクラウドサービス提供モデルである。
本類型では、データセンタ運営会社1110は、OS1202を管理し、データセンタ(クラウドサーバ)1203を運営及び管理している。また、サービスプロバイダ1120は、アプリケーション1201を管理する。サービスプロバイダ1120は、データセンタ運営会社1110が管理するOS1202及びサービスプロバイダ1120が管理するアプリケーション1201を用いてサービスを提供する(矢印1204)。
(サービスの類型4:SaaS利用型クラウドサービス)
図37は、サービスの類型4(SaaS利用型クラウドサービス)における情報管理システムが提供するサービスの全体像を示す図である。ここで、SaaSとは、ソフトウェア・アズ・ア・サービスの略である。SaaS利用型クラウドサービスは、例えば、データセンタ(クラウドサーバ)を保有しているプラットフォーム提供者が提供するアプリケーションを、データセンタ(クラウドサーバ)を保有していない会社又は個人などの利用者がインターネットなどのネットワーク経由で使用できる機能を有するクラウドサービス提供モデルである。
本類型では、データセンタ運営会社1110は、アプリケーション1201を管理し、OS1202を管理し、データセンタ(クラウドサーバ)1203を運営及び管理している。また、サービスプロバイダ1120は、データセンタ運営会社1110が管理するOS1202及びアプリケーション1201を用いてサービスを提供する(矢印1204)。
以上、いずれのクラウドサービスの類型においても、サービスプロバイダ1120がサービスを提供する。また、例えば、サービスプロバイダ又はデータセンタ運営会社は、OS、アプリケーション又はビッグデータのデータベース等を自ら開発してもよいし、また、第三者に外注させてもよい。
以上、本開示の実施の形態に係る対話情報提供システムについて説明したが、本開示は、この実施の形態に限定されるものではない。
また、上記実施の形態に係る対話情報提供システムに含まれる各処理部は典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。
また、集積回路化はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、又はLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
なお、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
さらに、本開示は上記プログラムであってもよいし、上記プログラムが記録された非一時的なコンピュータ読み取り可能な記録媒体であってもよい。また、上記プログラムは、インターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを一つの機能ブロックとして実現したり、一つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
また、上記フローチャート等に示す複数のステップが実行される順序は、本開示を具体的に説明するために例示するためのものであり、上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時(並列)に実行されてもよい。
以上、一つまたは複数の態様に係る対話情報提供システムについて、実施の形態に基づいて説明したが、本開示は、この実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。