(57)【要約】【課題】ユーザによる入力情報と過去の利用状況とに基づいて入力指示内容を推定するコミュニケーション支援装置、ユーザデバイス、コミュニケーション支援方法、およびプログラムを提供すること【解決手段】ユーザの制御対象装置の操作に対する自然言語による入力と、制御対象装置の利用状況を取得する取得部と、前記取得部の取得した前記入力と前記利用状況とに基づいて、前記ユーザの入力意図を推定する推定部と、を備えるコミュニケーション支援装置。【選択図】図１
2020047101.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの制御対象装置の操作に対する自然言語による入力と、制御対象装置の利用状況を取得する取得部と、
前記取得部の取得した前記入力と前記利用状況とに基づいて、前記ユーザの入力意図を推定する推定部と、
を備えるコミュニケーション支援装置。
【請求項２】
前記推定部は、前記取得部が取得した前記ユーザの入力意図が不明瞭である場合、前記取得部の取得した前記入力と前記利用状況とに基づいて、前記入力意図を推定する、
請求項１に記載のコミュニケーション支援装置。
【請求項３】
前記取得部は、更に、前記ユーザの周辺情報を取得し、
前記推定部は、更に、前記取得部の取得した前記ユーザの周辺情報に基づいて、前記ユーザの入力意図を推定する、
請求項１または２に記載のコミュニケーション支援装置。
【請求項４】
前記取得部による前記ユーザの入力の取得結果に対して、前記推定部による推定結果が正解であったか否かに基づいて、前記入力、前記周辺情報、および前記利用状況に対する入力意図の関係を学習する学習部を更に備え、
前記推定部は、前記学習部により学習された関係に基づいて、前記入力意図を推定する、
請求項３に記載のコミュニケーション支援装置。
【請求項５】
前記推定部は、前記入力意図を、前記学習部による学習結果を機械学習した学習済モデルを用いて推定する、
請求項４に記載のコミュニケーション支援装置。
【請求項６】
前記推定部は、前記学習済モデルを導出する際に、シャム双生児型（Siamese）畳み込みニューラルネットワーク（Convolutional Neural Network；ＣＮＮ）モデルを用いて推定する、
請求項５に記載のコミュニケーション支援装置。
【請求項７】
前記推定部は、前記ユーザの置かれている状況をあらかじめ設定されたコンテキストパターンのいずれかに分類し、分類した前記コンテキストパターンに応じて前記入力意図を推定する、
請求項１から６のうちいずれか１項に記載のコミュニケーション支援装置。
【請求項８】
前記推定部は、更にネットワーク上の行動履歴を加味して前記入力意図を推定する、
請求項１から７のうちいずれか１項に記載のコミュニケーション支援装置。
【請求項９】
請求項１から８のうちいずれか１項に記載のコミュニケーション支援装置と、
ユーザの入力を受け付ける入力受付部、
を備える、ユーザデバイス。
【請求項１０】
コンピュータが、
ユーザの制御対象装置の操作に対する自然言語による入力を取得し、
制御対象装置の利用状況を取得し、
前記取得した前記利用状況に基づいて、前記入力の意図である入力意図を推定する、
コミュニケーション支援方法。
【請求項１１】
コンピュータに、
ユーザの制御対象装置の操作に対する自然言語による入力を取得させ、
制御対象装置の利用状況を取得させ、
前記取得させた前記利用状況に基づいて、前記入力の意図である入力意図を推定させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コミュニケーション支援装置、ユーザデバイス、コミュニケーション支援方法、およびプログラムに関する。
【背景技術】
【０００２】
従来、温度センサ、光センサ、音声センサ等により取得された情報や、地理的位置情報に基づいて、設置場所との相関性のあるテーマの広告が、携帯電話等の持ち運び可能な端末に配信される方法が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−３７６９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術では過去の利用状況をさらに加味して相関性のあるテーマを選択する方法については考慮されていなかった。
【０００５】
本発明は、このような事情を考慮してなされたものであり、ユーザによる入力情報と過去の利用状況とに基づいて入力指示内容を推定することができるコミュニケーション支援装置、ユーザデバイス、コミュニケーション支援方法、およびプログラムを提供することを目的の一つとする。
【課題を解決するための手段】
【０００６】
本発明の一態様は、ユーザの制御対象装置の操作に対する自然言語による入力と、制御対象装置の利用状況を取得する取得部と、前記取得部の取得した前記入力と前記利用状況とに基づいて、前記ユーザの入力意図を推定する推定部と、を備えるコミュニケーション支援装置である。
【発明の効果】
【０００７】
本発明の一態様によれば、ユーザによる入力情報と過去の利用状況とに基づいて入力指示内容を好適に推定することができる。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態のコミュニケーションシステム１の概要図である。
【図２】コミュニケーション支援装置２００がユーザデバイス１００からの音声データを受け付ける処理の流れを示すシーケンス図である。
【図３】推定部２４０の学習結果を模式的に示す図である。
【図４】推定部２４０による推定方法を説明する図である。
【図５】インプット情報Ｉ０と学習結果Ｉ１の具体例を示す図である。
【図６】インプット情報Ｉ０と学習結果Ｉ１の他の例を示す図である。
【図７】インプット情報Ｉ０と学習結果Ｉ１の他の例を示す図である。
【図８】学習結果Ｉ１として用いられる、操作指示の履歴を示す図である。
【図９】コミュニケーション支援装置２００の処理の流れの一例を示すフローチャートである。
【図１０】変形例であるコミュニケーションシステム１Ａの概要図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照し、本発明のコミュニケーション支援装置、ユーザデバイス、コミュニケーション支援方法、およびプログラムの実施形態について説明する。
【００１０】
コミュニケーション支援装置は、ユーザからの音声やテキストなどの自然言語による操作指示に基づいて、制御対象装置（例えば、電灯、テレビ、ラジオ、空調機器、カーテン、ブラインド、ドア、窓、ガレージ、門）の電源のオン・オフや、利用開始・終了（開閉）、利用強度の調整（例えば、電灯であれば照度や色調の設定、空調機器であれば温度設定や風量設定、テレビであれば音量設定や画面の明るさの設定など）の操作指示の意図を解釈する装置である。
【００１１】
コミュニケーション支援装置は、音声が入力または出力の対象とされたユーザデバイス（例えば、マイクやスピーカ）に対するユーザの自然言語による入力に基づいて、制御対象装置への操作指示命令を生成し、その命令を送信する。また、コミュニケーション支援装置は、ユーザの入力時の制御対象装置の利用状況を取得することで、ユーザの入力意図を推定する。
【００１２】
コミュニケーション支援装置は、ユーザによる入力内容を解釈して制御対象装置とその制御対象装置に対する操作指示命令を生成し、コントローラを介して制御対象装置に操作指示命令を送信する。
【００１３】
音声入力機能を有するユーザデバイスは、ユーザの入力の一部が聞き取れなかった場合、再度ユーザの音声入力を求めたり、代替機能（例えば、入力ボタン等の他のデバイス）による入力を促したりすることが一般的である。しかしながら、複数回連続して音声入力が受け付けられなかったり、頻繁に音声入力が受け付けられなかったりする場合、ユーザによっては、強い不快感を覚える可能性がある。
【００１４】
そこで、コミュニケーション支援装置は、ユーザによる入力と、制御対象装置の利用状況とに基づいてユーザの入力を推定し、その推定結果に基づいて操作指示命令を生成することで、ユーザデバイスの利便性を向上させる。この推定において、コミュニケーション支援装置は、例えば、制御対象装置への操作指示の履歴を学習し、この学習した履歴を活用して操作指示命令を生成する。
【００１５】
＜第１実施形態＞
［全体構成］
図１は、第１実施形態のコミュニケーションシステム１の概要図である。コミュニケーションシステム１において、コミュニケーション支援装置２００は、ユーザデバイス１００およびｎ個（ｎは任意の自然数）の制御対象装置３００とネットワークＮＷを介して互いに通信する。ネットワークＮＷは、例えば、ＷＡＮ（Wide Area Network）やＬＡＮ（Local Area Network）、インターネット、専用回線、無線基地局、プロバイダ、赤外線通信、Ｂｌｕｅｔｏｏｔｈ（登録商標）などを含む。ユーザデバイス１００は、例えば、スマートスピーカ（Artificial intelligenceスピーカ；ＡＩスピーカ）や、スマートフォン、タブレット端末、パーソナルコンピュータ等である。制御対象装置３００は、例えば、室内照明器具、空調機器、電動ブラインド、電動カーテンレール、テレビ、ラジオ等の家電機器や、門、ガレージ、ドア、窓等の電動制御できる種々のものを含む。
【００１６】
ユーザデバイス１００は、いわゆるスマートスピーカ、スマートフォン、その他の装置である。ユーザデバイス１００は、例えば、マイク１１０と、音声認識部１２０と、音声生成部１３０と、スピーカ１４０と、情報取得部１５０と、制御部１６０と、通信部１７０とを備える。音声認識部１２０、音声生成部１３０、情報取得部１５０、および制御部１６０は、例えば、ＣＰＵ（Central Processing Unit）等のハードウェアプロセッサが、フラッシュメモリなどの記憶部（不図示）に記憶されたアプリケーションプログラムを実行することにより実現される。アプリケーションプログラムは、例えば、ネットワークを介してサーバ装置等からダウンロードされてもよいし、ユーザデバイス１００にプリインストールされていてもよい。なお、アプリケーションプログラムに代えて、以下に説明するものと同様の機能を有するブラウザがＵＡ（User Agent）として用いられてもよい。
【００１７】
マイク１１０は、ユーザによって発せられた音声を取得する。音声認識部１２０は、マイク１１０が取得した音声を認識し、音声データに変換する。音声生成部１３０は、コミュニケーション支援装置２００により送信された情報に基づいて、音声データを生成する。スピーカ１４０は、音声生成部１３０により生成された音声データに応じた音声を出力する。なお、音声認識部１２０は、ユーザデバイス１００を利用するユーザが複数名である場合、どのユーザが音声を発したかを識別して、音声データにユーザを識別する情報を付与してもよい。
【００１８】
情報取得部１５０は、制御対象装置３００の利用状況を取得する。利用状況とは、例えば、制御対象装置３００の電源のオン・オフや、音量・温度・風量・湿度のように強度等を数値制御できるものであればその数値、高（High）・中（Medium）・弱（Low）のように段階的に強度を設定できるものはその強度である。情報取得部１５０は、ユーザデバイス１００がインターネット接続機能を有する場合、インターネットのユーザの閲覧履歴や検索ワード履歴などのネットワーク上の行動履歴を取得し、取得した行動履歴を加味してユーザの入力意図を推定してもよい。入力意図の推定については後述する。
【００１９】
また、情報取得部１５０は、ユーザまたはユーザデバイス１００の周辺情報を取得してもよい。周辺情報とは、例えば、ユーザデバイス１００の設置場所の気温、湿度、照度、地理的位置情報、時刻、季節等の周辺環境に関する情報や、ユーザデバイス１００の設置場所周辺の人物の有無の認識結果である。情報取得部１５０は、例えば、カメラ、温湿度センサ、照度センサ、人感センサ等により実現される。また、周辺情報にはユーザのユーザデバイス１００の過去の利用履歴、ユーザの置かれている状況（例えば、ユーザのスケジュール、生活習慣、ユーザが興味関心を持つと設定したニュースジャンルや記事分類、社会情勢、流行）等が含まれてもよい。なお、ユーザとユーザデバイス１００とが物理的に離れている場合、情報取得部１５０が取得する周辺情報には、ユーザによる遠隔操作状態であるという情報を含んでもよい。
【００２０】
制御部１６０は、音声認識部１２０により出力された音声データ、および情報取得部１５０によって取得された制御対象装置３００の利用状況をコミュニケーション支援装置２００に送信する。制御部１６０は、情報取得部１５０によってユーザデバイス１００の周辺情報が取得された場合、その周辺情報を併せてコミュニケーション支援装置２００に送信してもよい。
【００２１】
また、制御部１６０は、コミュニケーション支援装置２００より受信した制御対象装置３００の操作指示命令を、通信部１７０を介して制御対象装置３００に送信する。また、制御部１６０は、コミュニケーション支援装置２００より受信した音声データを、音声生成部１３０を介してスピーカ１４０から出力させる。
【００２２】
通信部１７０は、コミュニケーション支援装置２００および制御対象装置３００と通信する。通信部１７０は、コミュニケーション支援装置２００から送信された制御対象装置３００の操作指示命令を、制御対象装置３００に送信する。
【００２３】
コミュニケーション支援装置２００は、例えば、通信部２１０と、取得部２２０と、自動制御部２３０と、推定部２４０と、学習部２５０と、記憶部２６０とを備える。通信部２１０、取得部２２０、推定部２４０、および学習部２５０は、例えば、ＣＰＵ等のハードウェアプロセッサが、記憶装置に記憶されたプログラムを実行することにより実現される。また、これらの機能部は、ＬＳＩ（Large Scale Integration）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field-Programmable Gate Array）、ＧＰＵ（Graphics Processing Unit）等のハードウェアによって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。また、上記のプログラムは、予め記憶部２６０に格納されていてもよいし、ＤＶＤやＣＤ−ＲＯＭなどの着脱可能な記憶媒体に格納されており、記憶媒体がドライブ装置に装着されることで記憶部２６０にインストールされてもよい。記憶部２６０は、例えば、ＲＯＭ（Read Only Memory）、フラッシュメモリ、ＳＤカード、ＲＡＭ（Random Access Memory）、レジスタ等によって実現される。
【００２４】
通信部２１０は、ユーザデバイス１００と通信する。取得部２２０は、通信部２１０を介してユーザデバイス１００からの出力情報を取得し、出力履歴２６２として記憶部２６０に格納する。出力履歴２６２は、ユーザデバイス１００に対して入力された音声に基づくテキストデータである。出力履歴２６２は、ユーザデバイス１００をユーザがユーザデバイス１００に付随するスイッチなどを直接操作し、稼働状況や設定が変更される履歴を含んでもよい。
【００２５】
また、取得部２２０は、通信部２１０を介してユーザの周辺情報を取得し、制御履歴２６４として記憶部２６０に格納する。また、取得部２２０は、通信部２１０を介して制御対象装置３００の利用状況を取得し、利用履歴２６６として記憶部２６０に格納する。利用履歴２６６は、ユーザデバイス１００から送信されたユーザの入力による制御結果と、ユーザの手動による制御結果とを含んでもよいし、前者のみ含んでもよい。
【００２６】
自動制御部２３０は、取得部２２０が取得した音声データが明瞭である場合（制御対象となる制御対象装置３００と、その制御対象装置３００に実行させたい制御の内容が明確に識別できる場合）に、音声データに基づいて操作指示命令を生成し、生成した操作指示命令を、通信部２１０を介してユーザデバイス１００に送信する。自動制御部２３０は、取得部２２０が取得した音声データが明瞭でない場合に、推定部２４０に音声データを出力する。
【００２７】
推定部２４０は、音声データと制御対象装置３００の利用状況とに基づいて、ユーザの入力意図を推定する。推定部２４０は、例えば、記憶部２６０に格納された情報に基づいて、ユーザの入力意図を推定し、推定結果に基づく操作指示命令を生成し、通信部２１０を介してユーザデバイス１００に出力する。推定部２４０は、音声データと制御対象装置３００の利用状況に加え、情報取得部１５０により取得された周辺情報に基づいて、ユーザの入力意図を推定してもよい。操作指示命令については後述する。また、推定部２４０は、ユーザの入力意図を推定できなかった場合には、ユーザに再入力を依頼する音声データを生成して、ユーザデバイス１００に出力する。学習部２５０は、自動制御部２３０による制御結果および推定部２４０による推定結果と、取得部２２０により取得されたユーザデバイス１００からの出力情報との関係を学習する。
【００２８】
記憶部２６０は、ユーザデバイス１００から取得した出力履歴２６２、制御対象装置３００の制御操作履歴である制御履歴２６４、ユーザデバイス１００の利用履歴２６６、推定部２４０による推定結果２６８を格納する。出力履歴２６２には、情報取得部１５０が取得した周辺情報が含まれていてもよい。制御履歴２６４には、制御対象装置３００の制御操作履歴以外に、ユーザのポータルサイト、ニュース媒体等の閲覧履歴や、ショッピング、オークション、旅行等の購買履歴、ゲーム等のサービスへの課金履歴などが含まれていてもよい。
【００２９】
制御対象装置３００は、ユーザデバイス１００による操作指示命令を受け付ける。なお、以下の例において、符号におけるハイフンおよびこれに続く数字は、いずれの制御対象装置に対応する構成であるかを示すものとする。また、適宜、ハイフンおよびこれに続く数字を省略して説明を行う場合がある。
【００３０】
［コミュニケーション支援装置２００による処理］
図２は、コミュニケーション支援装置２００がユーザデバイス１００からの音声データを受け付ける処理の流れを示すシーケンス図である。
【００３１】
［自動制御］
図２の上図（ａ）は、コミュニケーション支援装置２００がユーザデバイス１００からの音声データを受け付け、入力意図を推定する処理の流れを示すシーケンス図である。
【００３２】
まず、ユーザデバイス１００は、コミュニケーション支援装置２００に音声データを送信する（Ｓ１）。次に、コミュニケーション支援装置２００の自動制御部２３０は、受信した音声データが明瞭であるか否かを判断し（Ｓ２）、明瞭であると判断しなかった場合には推定部２４０にユーザの入力意図を推定させる（Ｓ３）。
【００３３】
コミュニケーション支援装置２００は、処理結果をユーザデバイス１００に送信する（Ｓ４）。処理結果とは、Ｓ２で明瞭であると判断された場合、またはＳ３で入力意図が推定できた場合、制御対象装置３００に送信する操作指示命令である。また、Ｓ３で入力意図が推定できなかった場合、ユーザデバイス１００のスピーカ１４０からユーザに再入力を促す音声を再生させるための元となる音声データである。
【００３４】
ユーザデバイス１００は、Ｓ４で操作指示命令を受信した場合、制御対象装置３００にその操作指示命令を送信する（Ｓ５）。また、ユーザデバイス１００は、Ｓ４で音声データを受信した場合、スピーカ１４０からユーザに再入力を促す音声を再生することで処理結果を出力する（Ｓ６）。以上、図２の上図（ａ）のシーケンスの説明を終了する。
【００３５】
なお、自動制御部２３０が受信した音声データが明瞭であると判断した場合、図２の下図（ｂ）に示すように、Ｓ３の処理は省略される。
【００３６】
［推定部による学習］
推定部２４０は、取得部２２０により取得された制御履歴２６４の周辺情報、および利用履歴２６６の利用状況と、今回入力された音声データとに基づいて、ユーザの入力意図を推定する。
【００３７】
推定部２４０は、例えば、情報取得部１５０の取得結果と、その取得結果が得られた時刻または時間帯とを学習し、その学習結果に基づいて、ユーザの置かれている状況をあらかじめ設定されたパターン（以下、コンテキストパターン）から最適なパターンを選択する。コンテキストパターンには、例えば、「帰宅」のような数秒〜数分程度でアクションが完結する状態と、「在宅」や「留守」のような数時間程度同じ状態が継続するものとが含まれる。
【００３８】
推定部２４０は、例えば、ユーザデバイス１００がユーザの自宅に常設される場合であり、日中仕事等で自宅を離れていたユーザが、夕方にユーザデバイス１００の設置場所に戻ってきたことをセンシングした場合に「コンテキストパターン：帰宅」を選択する。また、推定部２４０は、例えば、ユーザデバイス１００がユーザにより持ち運ばれる場合であり、ユーザが頻繁に訪れる特定の場所に到着したことをセンシングした場合にその場所に因んだコンテキストパターンを選択してもよい。場所に因んだコンテキストパターンとは、例えば、勤務先のオフィスを意味する「出社」や、通学先の学校を意味する「登校」である。コンテキストパターンは、ユーザによって予め設定されてもよいし、推定部２４０によって推定されてもよい。
【００３９】
図３は、推定部２４０の学習結果を模式的に示す図である。推定部２４０は、例えば、制御対象装置３００への操作指示と、操作指示が行われた際の周辺情報を含む制御履歴２６４、制御対象装置の利用状況を含む利用履歴２６６、および生成した操作指示命令の合致度合いを学習する。
【００４０】
図３の上図は、情報取得部１５０が取得した周辺情報と制御対象装置３００である照明器具の利用状況の状態遷移を示す図である。また、図３の下図はユーザデバイス１００が受け付けるユーザの入力履歴Ｈ１〜Ｈ３を示す図である。推定部２４０が学習するユーザの入力履歴には、例えば、入力を受け付けた時刻、入力された音声データ、入力を受け付けた時点での周辺情報および利用状況、および操作指示命令を生成した結果（合致度合い）が含まれる。
【００４１】
推定部２４０は、操作指示命令を生成した結果、その操作指示命令が正解であった否か、すなわちユーザの入力意図を正しく反映した操作指示命令が生成されたか否かを学習する。推定部２４０は、例えば、ユーザデバイス１００がユーザから連続して同一または類似の制御対象装置３００に対する入力を受け付けた場合や、ユーザにより入力意図が正しく認識されなかったことを示すリアクションが行われたことを検出した場合には、入力意図が正しく推定されなかった（間違った推定であった）と判定する。
【００４２】
例えば、図３の例において、入力履歴Ｈ１は、７月１日の１８時にユーザデバイス１００の各種センサがユーザの帰宅をセンシングし、推定部２４０が「コンテキストパターン：帰宅」に該当すると推定することを示す。また、入力履歴Ｈ１は、ユーザデバイス１００がユーザから「灯りを点けて。」という入力を受け付け、制御対象装置３００の電源を入れたことを示す。また、入力履歴Ｈ１は、制御対象装置の操作の結果、ユーザから特に訂正するような入力を受け付けなかったため、推定結果が正しかったものとして制御履歴２６４に記憶される。
【００４３】
一方、入力履歴Ｈ２は、制御対象装置の操作の結果、ユーザから再入力による訂正（入力履歴Ｈ３）を受け付けなかったため、推定結果が間違ったものとして制御履歴２６４に記憶される。推定部２４０は、このように学習結果に基づいて推定を行うことで、推定精度を高める。
【００４４】
［入力意図の推定］
以下、推定部２４０によるユーザの入力意図の推定方法について説明する。推定部２４０は、ユーザの入力意図を推定し、推定結果に基づいて操作指示命令を生成する。入力意図とは、制御対象となる制御対象装置３００、およびその制御対象装置３００に対して行う制御の内容のことである。推定部２４０は、音声データに加え、ユーザデバイス１００の情報取得部１５０によって取得されたユーザデバイス１００の周辺情報と、制御対象装置３００の利用状況とを用いてユーザの入力意図を推定する。
【００４５】
推定部２４０は、認識可能であると判定しなかった場合に、上記の推定を行うようにしてもよい。ここで、認識可能であるとは、制御対象装置とその制御対象装置に対する操作指示の内容の両方が、音声データから解釈できることを指す。コミュニケーション支援装置は、制御対象装置、またはる操作指示の内容の少なくともいずれか一方が音声データから解釈できない場合には入力が認識可能でない（入力が不明瞭である）ものとする。
【００４６】
推定部２４０は、例えば、音声データを学習済モデルに入力し、学習済モデルの出力結果に基づいて音声データを分類する。学習済モデルとは、例えば、機械学習などによって生成されたニューラルネットワーク（Neural Network）などの音声データを分類するためのモデルである。
【００４７】
また、推定部２４０は、例えば、学習済モデルとしてシャム双生児型（Siamese）の畳み込みニューラルネットワーク（Convolutional Neural Network；ＣＮＮ）モデルを用いて、学習結果に基づいてユーザの入力意図を推定する。シャム双生児型ＣＮＮモデルとは、元となる学習結果が極端に少ない場合であっても過去の類似データに基づいて効率的な学習を実現するディープラーニングモデルの一例である。シャム双生児型ＣＮＮモデルは、１ショットラーニング（One-Shot Learning）モデル、少数ショットラーニング（Few Shot Learning）モデルと称される場合がある。
【００４８】
図４は、推定部２４０による推定方法を説明する図である。図４は、推定元情報であるインプット情報Ｉ０と、学習結果である過去のインプット情報Ｉ１（以下、学習結果Ｉ１）との類似度Ｄを導出する様子を示す模式図である。例えば、インプット情報Ｉ０は、音声データＬ０と周辺情報（または利用状況）Ｅ０とを含み、学習結果Ｉ１は音声データＬ１と周辺情報Ｅ１とを含む。
【００４９】
図４に示すように、推定部２４０は、例えば、インプット情報Ｉ０に、シャム双生児型ＣＮＮモデルを適用してインプット情報Ｉ０の特性ベクトルＶ０を導出する。さらに推定部２４０は、学習結果Ｉ１に、インプット情報Ｉ０を処理したものと同一機構、同一パラメータのシャム双生児型ＣＮＮモデルを適用してインプット情報Ｉ１の特性ベクトルＶ１を導出する。推定部２４０は、特性ベクトルＶ０およびＶ１の類似度を演算して、インプット情報Ｉ０と学習結果Ｉ１とが類似であるか、非類似であるかの度合を示す類似度Ｄを推定する。類似度Ｄは、例えば、類似であれば１に近似する値となり、非類似であれば―１に近似する値となる。類似度Ｄは、合致度合いの具体例である。
【００５０】
推定部２４０は、また、推定部２４０は、インプット情報Ｉ０と学習結果Ｉ１が類似であるか、非類似であるかを推定する際に、類似度Ｄが所定の閾値以上（例えば、類似度Ｄが０以上）である場合には、インプット情報Ｉ０と学習結果Ｉ１が類似であるものとする。その場合、推定部２４０は、学習結果Ｉ１に基づいて操作指示命令を生成する。
【００５１】
また、推定部２４０は、類似度Ｄが所定の閾値未満（例えば、類似度Ｄが０未満）である場合には、非類似であるものとする。その場合、推定部２４０は、ユーザの再入力を促すようユーザデバイス１００を制御してもよい。
【００５２】
また、推定部２４０は、類似度Ｄが所定の閾値以上であるが、その値が低い場合（例えば、類似度Ｄが０〜０．４程度）には、学習結果Ｉ１に基づいて操作指示命令を生成してもよいかをユーザに問い合わせるようユーザデバイス１００を制御してもよい。
【００５３】
［類似度の導出例］
以下、図５〜図７を用いて、推定部２４０による類似度Ｄの導出例について具体的な例を挙げて説明する。以下、周辺情報Ｅのうち、類似度Ｄの導出に用いる事象のことを「推定条件」と称する。
【００５４】
［類似度導出例１］
以下、情報取得部１５０により取得された周辺情報を推定条件として、過去の類似入力から入力意図を推定する推定方法について説明する。図５は、インプット情報Ｉ０と学習結果Ｉ１の具体例を示す図である。
【００５５】
ユーザデバイス１００は、７月１１日の１９時に、情報取得部１５０が内包する照度センサがユーザデバイス１００の設置場所の照度が「暗い」状態であると識別している状態で、ユーザデバイス１００を介してユーザＵによるインプット情報Ｉ０として音声入力「ｘｘｘを点けて。」を受け付ける。ここで、「ｘｘｘ」は音声認識部１２０が認識できなかったユーザの音声を示すものである。
【００５６】
ユーザデバイス１００は、前日の７月１０日の１９時に、情報取得部１５０が内包する照度センサがユーザデバイス１００の設置場所の照度が「暗い」状態であると識別している状態で、ユーザデバイス１００を介してユーザによる音声入力「灯りを点けて。」を受け付け、制御対象装置３００である玄関照明を点灯状態にしたという学習結果Ｉ１を記憶している。そこで、推定部２４０は、インプット情報Ｉ０と学習結果Ｉ１との類似度Ｄを導出する。このとき、情報取得部１５０は、ユーザＵによる音声入力と、推定条件（照度センサのセンシング結果、およびユーザＵによる音声入力を受け付けた時間帯）から類似度Ｄを導出する。推定部２４０は、前日の同時刻帯の学習結果Ｉ１である、照度センサが室内の照度が「暗い」状態であると識別している状態で受け付けた音声入力と、インプット情報Ｉ０の類似度が高いと判定し、前日の同時刻に受け付けた音声入力に基づいて生成した玄関照明を点灯状態にする操作指示命令を生成する。
【００５７】
なお、学習部２５０は、推定部２４０による推定結果の成果、すなわち推定結果が正解であったか、間違っていたかを学習することで、推定精度を高めるようにしてもよい。学習部２５０は、例えば、推定部２４０による推定結果に基づいて操作指示命令を生成した結果、ユーザからその操作指示命令に対する訂正を含む入力を受け付けなかった場合や、ユーザから「ありがとう」等の肯定的な音声入力を受けた場合に、推定結果が正解であるものとして学習する。また、学習部２５０は、例えば、推定結果に基づいて操作指示命令を生成した結果、ユーザから「違う」、「そっちじゃなくて廊下の灯りを点けて。」等の操作の訂正の指示を含む入力を受け付けた場合に、推定結果が間違っていたものとして学習する。
【００５８】
なお、推定部２４０は、類似度Ｄが閾値未満である場合に、ユーザＵに再入力を求める代わりに、ユーザＵが指定した可能性の高い制御対象装置３００をユーザに提示し確認する音声を生成してもよく、例えば、「灯りを点ける、でよろしいですか？」等の音声をユーザデバイス１００の音声生成部１３０に生成させ、再生させる。これにより、ユーザデバイス１００は、ユーザＵに音声入力が受け付けられなかったことに対する不快感を与えにくくすることができる。また、ユーザＵが指定した可能性の高い制御対象装置３００をユーザに提示し確認する音声に対するユーザの返答音声は「はい」、「いいえ」等、音声認識部１２０が比較的音声認識しやすい入力がなされる可能性が高いことから、コミュニケーション支援装置２００は、ユーザデバイス１００に不明瞭な音声入力が繰り返し受け付け、その入力意図の推定を繰り返すことを避けることができる。
【００５９】
また、ユーザデバイス１００は、操作指示の前にユーザが発した音声に基づいて推定してもよい。推定部２４０は、「暗いなぁ。」という独り言ののちに、「ｘｘｘを点けて。」という音声入力がなされた場合に、「暗い」という言葉から制御対象装置３００が室内を明るく照らす装置であると推定（連想）してもよい。
【００６０】
［他の推定方法１］
以下、推定部２４０が情報取得部１５０により取得された周辺情報を推定条件として、入力意図を推定する推定方法について説明する。図６は、インプット情報Ｉ０と学習結果Ｉ１の他の例を示す図である。
【００６１】
ユーザデバイス１００の情報取得部１５０は、７月１１日の１３時に、ユーザＵによるポータルサイトでの検索履歴として「ワールドカップ  トーナメント表」を取得する。情報取得部１５０は、上述の検索履歴や、検索後にユーザＵが閲覧したサッカーワールドカップに関連する記事の閲覧履歴をコミュニケーション支援装置２００に送信する。コミュニケーション支援装置２００は、受信した検索履歴および閲覧履歴を、制御履歴２６４として記憶する。
【００６２】
ユーザデバイス１００は、同日７月１１日の１７時に、ユーザＵに「試合日程を教えて。」という音声入力を受け付けたとする。この場合、推定部２４０は、ユーザＵの指す「試合日程」が何の試合を指しているかを推定する。推定部２４０は、ユーザＵのポータルサイトでの検索履歴を制御履歴２６４から取得する。推定部２４０は、制御履歴２６４から取得した検索履歴から、ユーザＵがサッカーワールドカップに強い関心を持っており、「試合日程」がサッカーワールドカップの試合日程を指していると推定する。
【００６３】
なお、推定部２４０は、制御履歴２６４から取得した検索履歴に限らず、ユーザのスケジュール、社会一般の流行やニュースを収集した結果に基づいてユーザの入力意図の推定を行ってもよい。推定部２４０は、例えば、開催期間中のスポーツ大会や、近日中に開催されるスポーツ大会の中から、ユーザＵが指している試合を推定する。また、推定部２４０は、例えば、ユーザのスケジュールから「試合」を検索して、その検索結果が得られた場合には、ユーザの入力意図が、ユーザ自身のスケジュールを参照し、予定を確認することであると推定する。
【００６４】
［他の推定方法２］
以下、情報取得部１５０により取得された周辺情報を推定条件として、入力意図を推定する推定方法について説明する。図７は、インプット情報Ｉ０と学習結果Ｉ１の他の例を示す図である。
【００６５】
ユーザデバイス１００は、例えば、図７に示す複数の制御対象装置３００−１〜３００−３を制御対象として認識している場合、それぞれの制御対象装置３００の利用状況を収集する。
【００６６】
ユーザデバイス１００は、ユーザＵから「あれを点けて。」のように、対象となる制御対象装置３００が不明瞭な音声入力を受け付けたとする。推定部２４０は、制御対象装置３００の利用状況の収集結果に基づいて、ユーザＵが「点けて」と音声入力する可能性のある制御対象装置３００を抽出し、さらに、その時点で電源が点いていない状態である制御対象装置３００から、ユーザＵの入力意図に応じた制御対象装置３００を選択する。
【００６７】
推定部２４０は、ユーザＵの入力意図を、その時点で稼働していない制御対象装置３００のいずれかを稼働させることであると推定する。推定部２４０は、図７に示すように、制御対象装置３００−１である電灯、および制御対象装置３００−２であるテレビは電源が入っており稼働しているが、制御対象装置３００−３の空調機器は稼働していない状態である場合に、制御対象装置３００−３を稼働させることがユーザＵの入力意図であると推定する。
【００６８】
上述の推定方法において、推定部２４０は、例えば、情報取得部１５０によってユーザのジェスチャや、手話、テキスト等の自然言語による入力を取得し、その入力に基づいて推定してもよい。推定部２４０は、例えば、ユーザの指さす方向に存在する制御対象装置３００から入力意図を推定する。
【００６９】
［他の推定方法３］
累積操作履歴を推定条件とする推定方法について説明する。推定部２４０は、ユーザによる音声入力の頻度を推定条件として、入力意図を推定する。推定部２４０は、例えば、ユーザによる音声入力が不明瞭である場合に、直前の操作に関連することや、頻繁に行われること、定期的または定刻に行われること等から、指示される可能性が高いものとして推定する。図８は、学習結果Ｉ１として用いられる、ユーザデバイス１００の受け付けた入力履歴の累積情報（制御履歴２６４の集計結果）を示す図である。
【００７０】
推定部２４０は、入力を受け付けた時間や、タイミング、対応するコンテキストパターンから入力意図を推定する。推定部２４０は、例えば、情報取得部１５０により設定されたコンテキストパターンに基づいて、累積情報から対応するコンテキストパターンを累積情報として持つ制御対象装置３００を操作対象であると推定する。
【００７１】
また、推定部２４０は、音声データとして「テレビのｘｘｘ。」と認識し、ユーザの入力のうち制御対象が制御対象装置３００−２のテレビであることが明確であるが、操作指示が不明瞭である場合に、累積情報から制御対象装置３００−２のテレビに対応する操作指示を検索して入力意図を推定する。推定部２４０は、累積情報を検索した結果、ユーザから「テレビの音量を上げて。」という操作指示を頻繁に受け付けることから、入力意図が同様のものである可能性が高いと推定する。
【００７２】
また、推定部２４０は、累積操作履歴を推定条件とする場合、累積操作履歴に対応付けられた時刻や、累積操作回数の多寡に応じてそれぞれのデータの重みづけを行ってもよい。推定部２４０は、例えば、音声データとして「ｘｘｘを点けて。」と認識しており制御対象装置３００が不明瞭である場合、最近使われたものに重みづけをしている場合には制御対象装置３００−１の照明が操作対象であるものと推定し、累積操作回数による重みづけをしている場合には制御対象装置３００−４の加湿器が操作対象であるものと推定する。
【００７３】
［処理フロー］
図９は、コミュニケーション支援装置２００の処理の流れの一例を示すフローチャートである。まず、ユーザデバイス１００の情報取得部１５０は、制御履歴２６４や制御対象装置３００の利用履歴２６６を収集し取得する（Ｓ１００）。次に、ユーザデバイス１００のマイク１１０はユーザの音声入力を受け付け（Ｓ１０２）、音声認識部１２０に出力する。次に、音声認識部１２０は、マイク１１０に入力された音声をデータ変換する（Ｓ１０４）。次に、変換した音声データは、通信部１７０を介してコミュニケーション支援装置２００に送信される（Ｓ１０６）。
【００７４】
次に、コミュニケーション支援装置２００の自動制御部２３０は、受信した音声データの認識結果が明瞭であるか否かを判定する（Ｓ１０８）。自動制御部２３０は、受信した音声データの認識結果が明瞭であると判定した場合、音声認識結果に基づく操作指示命令を生成する（Ｓ１１０）。
【００７５】
推定部２４０は、Ｓ１０８において、自動制御部２３０により受信した音声データの認識結果が明瞭であると判定されなかった場合、ユーザの入力意図を推定する（Ｓ１１４）。なお、Ｓ１０８の処理を省略し、自動制御部２３０は、音声データを受信すると、直ちにユーザの入力意図を推定するようにしてもよい。推定部２４０は、制御対象装置３００および、操作指示命令が推定できたか否かを判断する（Ｓ１１６）。推定部２４０は、ユーザの入力意図を推定できた場合、推定した入力意図に基づいて操作指示命令を生成する（Ｓ１１８）。
【００７６】
Ｓ１１０またはＳ１１８の処理ののち、コミュニケーション支援装置２００は、ユーザデバイス１００を介して生成した操作指示命令を制御対象装置３００に送信させ、処理を終了する（Ｓ１１２）。
【００７７】
また、Ｓ１１６の処理においてユーザの入力意図を推定できなかった場合、推定部２４０は、ユーザに再入力を依頼する音声データを生成して、ユーザデバイス１００に出力し（Ｓ１２０）、スピーカ１４０から出力させ、処理を終了する（Ｓ１２２）。以上、本フローチャートの処理の説明を終了する。
【００７８】
以上説明した第１実施形態によれば、ユーザの音声入力を受け付けるマイク１１０の出力を取得し音声入力内容を認識する音声認識部１２０の認識結果と制御対象装置３００の利用状況を取得する情報取得部１５０と、情報取得部１５０の取得した音声認識部１２０の認識結果と制御対象装置３００の利用状況とに基づいて、ユーザの入力意図を推定する推定部２４０を備えるコミュニケーション支援装置２００により、ユーザによる入力と過去の利用状況とに基づいて入力意図を好適に推定することができる。
【００７９】
＜変形例＞
図１０は、変形例のコミュニケーションシステム１Ａの構成図である。変形例のユーザデバイス１００Ａは、第１実施形態のコミュニケーション支援装置２００を内包する装置である。なお、図１０に示すようにコミュニケーションシステム１Ａにおいて、通信部２１０は省略されてもよい。コミュニケーションシステム１Ａにおいて、ユーザデバイス１００Ａのマイク１１０および情報取得部１５０は「入力受付部」の一例である。
【００８０】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【符号の説明】
【００８１】
１、１Ａ…コミュニケーションシステム、１００、１００Ａ…ユーザデバイス、１１０…マイク、１５０…情報取得部、１６０…制御部、２００…コミュニケーション支援装置、２２０…取得部、２３０…自動制御部、２４０…推定部、２５０…学習部、３００…制御対象装置
【図１】
2020047101.tif 000003
【図２】
2020047101.tif 000004
【図３】
2020047101.tif 000005
【図４】
2020047101.tif 000006
【図５】
2020047101.tif 000007
【図６】
2020047101.tif 000008
【図７】
2020047101.tif 000009
【図８】
2020047101.tif 000010
【図９】
2020047101.tif 000011
【図１０】
2020047101.tif 000012