IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ヤフー株式会社の特許一覧

特許7182969コミュニケーション支援装置、ユーザデバイス、コミュニケーション支援方法、およびプログラム
<>
  • 特許-コミュニケーション支援装置、ユーザデバイス、コミュニケーション支援方法、およびプログラム 図1
  • 特許-コミュニケーション支援装置、ユーザデバイス、コミュニケーション支援方法、およびプログラム 図2
  • 特許-コミュニケーション支援装置、ユーザデバイス、コミュニケーション支援方法、およびプログラム 図3
  • 特許-コミュニケーション支援装置、ユーザデバイス、コミュニケーション支援方法、およびプログラム 図4
  • 特許-コミュニケーション支援装置、ユーザデバイス、コミュニケーション支援方法、およびプログラム 図5
  • 特許-コミュニケーション支援装置、ユーザデバイス、コミュニケーション支援方法、およびプログラム 図6
  • 特許-コミュニケーション支援装置、ユーザデバイス、コミュニケーション支援方法、およびプログラム 図7
  • 特許-コミュニケーション支援装置、ユーザデバイス、コミュニケーション支援方法、およびプログラム 図8
  • 特許-コミュニケーション支援装置、ユーザデバイス、コミュニケーション支援方法、およびプログラム 図9
  • 特許-コミュニケーション支援装置、ユーザデバイス、コミュニケーション支援方法、およびプログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-25
(45)【発行日】2022-12-05
(54)【発明の名称】コミュニケーション支援装置、ユーザデバイス、コミュニケーション支援方法、およびプログラム
(51)【国際特許分類】
   G06F 40/30 20200101AFI20221128BHJP
   G06N 3/04 20060101ALI20221128BHJP
   H04M 11/00 20060101ALI20221128BHJP
【FI】
G06F40/30
G06N3/04 154
H04M11/00 301
【請求項の数】 9
(21)【出願番号】P 2018176379
(22)【出願日】2018-09-20
(65)【公開番号】P2020047101
(43)【公開日】2020-03-26
【審査請求日】2020-09-15
(73)【特許権者】
【識別番号】319013263
【氏名又は名称】ヤフー株式会社
(74)【代理人】
【識別番号】100149548
【弁理士】
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100154852
【弁理士】
【氏名又は名称】酒井 太一
(74)【代理人】
【識別番号】100181124
【弁理士】
【氏名又は名称】沖田 壮男
(74)【代理人】
【識別番号】100194087
【弁理士】
【氏名又は名称】渡辺 伸一
(72)【発明者】
【氏名】清水 伸幸
【審査官】長 由紀子
(56)【参考文献】
【文献】特開2006-137366(JP,A)
【文献】国際公開第2016/120904(WO,A1)
【文献】特開2017-142780(JP,A)
【文献】国際公開第2015/129566(WO,A1)
【文献】特開2018-045332(JP,A)
【文献】特開2017-117371(JP,A)
【文献】特開2017-083526(JP,A)
【文献】米国特許出願公開第2018/0143802(US,A1)
【文献】特開2002-287793(JP,A)
【文献】米国特許出願公開第2017/0140041(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/00-58
G06F 16/00-958
G06N 3/04
H04M 11/00
(57)【特許請求の範囲】
【請求項1】
ユーザの制御対象装置の操作に関する自然言語による入力をユーザデバイスを介して受け付けると共に、前記入力があった時点における制御対象装置の作動状態を含む前記制御対象装置の利用状況を取得する取得部と、
前記取得部の取得した前記入力と前記利用状況とに基づいて、前記ユーザの入力意図を推定する推定部と、
を備え、
前記推定部は、
前記ユーザの置かれている状況をあらかじめ設定されたコンテキストパターンのいずれかに分類し、分類した前記コンテキストパターンに応じて前記入力意図を推定するものであり、
前記ユーザデバイスが前記ユーザに持ち運びされるユーザデバイスであるか否かに基づいて、前記ユーザの置かれている状況をあらかじめ設定されたコンテキストパターンのいずれかに分類する、
コミュニケーション支援装置。
【請求項2】
前記推定部は、前記取得部が取得した前記ユーザの入力意図が不明瞭である場合、前記取得部の取得した前記入力と前記利用状況とに基づいて、前記入力意図を推定する、
請求項1に記載のコミュニケーション支援装置。
【請求項3】
前記取得部は、更に、前記取得部を含む装置の周辺環境または周辺に存在する人物の有無を含む前記ユーザの周辺情報を取得し、
前記推定部は、更に、前記取得部の取得した前記ユーザの周辺情報に基づいて、前記ユーザの入力意図を推定する、
請求項1または2に記載のコミュニケーション支援装置。
【請求項4】
前記取得部による前記ユーザの入力の取得結果に対して、前記推定部による推定結果が正解であったか否かに基づいて、前記入力、前記周辺情報、および前記利用状況に対する入力意図の関係を学習する学習部を更に備え、
前記推定部は、前記学習部により学習された関係に基づいて、前記入力意図を推定する、
請求項3に記載のコミュニケーション支援装置。
【請求項5】
前記推定部は、前記入力意図を、前記学習部による学習結果を機械学習した学習済モデルを用いて推定する、
請求項4に記載のコミュニケーション支援装置。
【請求項6】
前記推定部は、シャム双生児型(Siamese)畳み込みニューラルネットワーク(Convolutional Neural Network;CNN)モデルを用いて前記学習済モデルを導出し、既に学習された学習済モデルと同一の学習済モデルに対して前記取得部の取得した情報を入力し、出力結果が類似し且つ入力意図が既知の入力情報に基づいて、前記入力意図を推定する、
請求項5に記載のコミュニケーション支援装置。
【請求項7】
前記推定部は、更にネットワーク上の行動履歴を加味して前記入力意図を推定する、
請求項1から6のうちいずれか1項に記載のコミュニケーション支援装置。
【請求項8】
コンピュータが、
ユーザの制御対象装置の操作に関する自然言語による入力をユーザデバイスを介して取得し、
前記入力があった時点における制御対象装置の作動状態を含む前記制御対象装置の利用状況を取得し、
前記取得した前記利用状況に基づいて、前記入力の意図である入力意図を推定
前記推定する際に、前記ユーザの置かれている状況をあらかじめ設定されたコンテキストパターンのいずれかに分類し、分類した前記コンテキストパターンに応じて前記入力意図を推定し、
前記ユーザデバイスが前記ユーザに持ち運びされるユーザデバイスであるか否かに基づいて、前記ユーザの置かれている状況をあらかじめ設定されたコンテキストパターンのいずれかに分類する、
コミュニケーション支援方法。
【請求項9】
コンピュータに、
ユーザの制御対象装置の操作に関する自然言語による入力をユーザデバイスを介して取得させ、
前記入力があった時点における制御対象装置の作動状態を含む前記制御対象装置の利用状況を取得させ、
前記取得させた前記利用状況に基づいて、前記入力の意図である入力意図を推定させ
前記推定する際に、前記ユーザの置かれている状況をあらかじめ設定されたコンテキストパターンのいずれかに分類し、分類した前記コンテキストパターンに応じて前記入力意図を推定させ、
前記ユーザデバイスが前記ユーザに持ち運びされるユーザデバイスであるか否かに基づいて、前記ユーザの置かれている状況をあらかじめ設定されたコンテキストパターンのいずれかに分類させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コミュニケーション支援装置、ユーザデバイス、コミュニケーション支援方法、およびプログラムに関する。
【背景技術】
【0002】
従来、温度センサ、光センサ、音声センサ等により取得された情報や、地理的位置情報に基づいて、設置場所との相関性のあるテーマの広告が、携帯電話等の持ち運び可能な端末に配信される方法が知られている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2013-37699号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の技術では過去の利用状況をさらに加味して相関性のあるテーマを選択する方法については考慮されていなかった。
【0005】
本発明は、このような事情を考慮してなされたものであり、ユーザによる入力情報と過去の利用状況とに基づいて入力指示内容を推定することができるコミュニケーション支援装置、ユーザデバイス、コミュニケーション支援方法、およびプログラムを提供することを目的の一つとする。
【課題を解決するための手段】
【0006】
本発明の一態様は、ユーザの制御対象装置の操作に対する自然言語による入力と、制御対象装置の利用状況を取得する取得部と、前記取得部の取得した前記入力と前記利用状況とに基づいて、前記ユーザの入力意図を推定する推定部と、を備えるコミュニケーション支援装置である。
【発明の効果】
【0007】
本発明の一態様によれば、ユーザによる入力情報と過去の利用状況とに基づいて入力指示内容を好適に推定することができる。
【図面の簡単な説明】
【0008】
図1】第1実施形態のコミュニケーションシステム1の概要図である。
図2】コミュニケーション支援装置200がユーザデバイス100からの音声データを受け付ける処理の流れを示すシーケンス図である。
図3】推定部240の学習結果を模式的に示す図である。
図4】推定部240による推定方法を説明する図である。
図5】インプット情報Iと学習結果Iの具体例を示す図である。
図6】インプット情報Iと学習結果Iの他の例を示す図である。
図7】インプット情報Iと学習結果Iの他の例を示す図である。
図8】学習結果Iとして用いられる、操作指示の履歴を示す図である。
図9】コミュニケーション支援装置200の処理の流れの一例を示すフローチャートである。
図10】変形例であるコミュニケーションシステム1Aの概要図である。
【発明を実施するための形態】
【0009】
以下、図面を参照し、本発明のコミュニケーション支援装置、ユーザデバイス、コミュニケーション支援方法、およびプログラムの実施形態について説明する。
【0010】
コミュニケーション支援装置は、ユーザからの音声やテキストなどの自然言語による操作指示に基づいて、制御対象装置(例えば、電灯、テレビ、ラジオ、空調機器、カーテン、ブラインド、ドア、窓、ガレージ、門)の電源のオン・オフや、利用開始・終了(開閉)、利用強度の調整(例えば、電灯であれば照度や色調の設定、空調機器であれば温度設定や風量設定、テレビであれば音量設定や画面の明るさの設定など)の操作指示の意図を解釈する装置である。
【0011】
コミュニケーション支援装置は、音声が入力または出力の対象とされたユーザデバイス(例えば、マイクやスピーカ)に対するユーザの自然言語による入力に基づいて、制御対象装置への操作指示命令を生成し、その命令を送信する。また、コミュニケーション支援装置は、ユーザの入力時の制御対象装置の利用状況を取得することで、ユーザの入力意図を推定する。
【0012】
コミュニケーション支援装置は、ユーザによる入力内容を解釈して制御対象装置とその制御対象装置に対する操作指示命令を生成し、コントローラを介して制御対象装置に操作指示命令を送信する。
【0013】
音声入力機能を有するユーザデバイスは、ユーザの入力の一部が聞き取れなかった場合、再度ユーザの音声入力を求めたり、代替機能(例えば、入力ボタン等の他のデバイス)による入力を促したりすることが一般的である。しかしながら、複数回連続して音声入力が受け付けられなかったり、頻繁に音声入力が受け付けられなかったりする場合、ユーザによっては、強い不快感を覚える可能性がある。
【0014】
そこで、コミュニケーション支援装置は、ユーザによる入力と、制御対象装置の利用状況とに基づいてユーザの入力を推定し、その推定結果に基づいて操作指示命令を生成することで、ユーザデバイスの利便性を向上させる。この推定において、コミュニケーション支援装置は、例えば、制御対象装置への操作指示の履歴を学習し、この学習した履歴を活用して操作指示命令を生成する。
【0015】
<第1実施形態>
[全体構成]
図1は、第1実施形態のコミュニケーションシステム1の概要図である。コミュニケーションシステム1において、コミュニケーション支援装置200は、ユーザデバイス100およびn個(nは任意の自然数)の制御対象装置300とネットワークNWを介して互いに通信する。ネットワークNWは、例えば、WAN(Wide Area Network)やLAN(Local Area Network)、インターネット、専用回線、無線基地局、プロバイダ、赤外線通信、Bluetooth(登録商標)などを含む。ユーザデバイス100は、例えば、スマートスピーカ(Artificial intelligenceスピーカ;AIスピーカ)や、スマートフォン、タブレット端末、パーソナルコンピュータ等である。制御対象装置300は、例えば、室内照明器具、空調機器、電動ブラインド、電動カーテンレール、テレビ、ラジオ等の家電機器や、門、ガレージ、ドア、窓等の電動制御できる種々のものを含む。
【0016】
ユーザデバイス100は、いわゆるスマートスピーカ、スマートフォン、その他の装置である。ユーザデバイス100は、例えば、マイク110と、音声認識部120と、音声生成部130と、スピーカ140と、情報取得部150と、制御部160と、通信部170とを備える。音声認識部120、音声生成部130、情報取得部150、および制御部160は、例えば、CPU(Central Processing Unit)等のハードウェアプロセッサが、フラッシュメモリなどの記憶部(不図示)に記憶されたアプリケーションプログラムを実行することにより実現される。アプリケーションプログラムは、例えば、ネットワークを介してサーバ装置等からダウンロードされてもよいし、ユーザデバイス100にプリインストールされていてもよい。なお、アプリケーションプログラムに代えて、以下に説明するものと同様の機能を有するブラウザがUA(User Agent)として用いられてもよい。
【0017】
マイク110は、ユーザによって発せられた音声を取得する。音声認識部120は、マイク110が取得した音声を認識し、音声データに変換する。音声生成部130は、コミュニケーション支援装置200により送信された情報に基づいて、音声データを生成する。スピーカ140は、音声生成部130により生成された音声データに応じた音声を出力する。なお、音声認識部120は、ユーザデバイス100を利用するユーザが複数名である場合、どのユーザが音声を発したかを識別して、音声データにユーザを識別する情報を付与してもよい。
【0018】
情報取得部150は、制御対象装置300の利用状況を取得する。利用状況とは、例えば、制御対象装置300の電源のオン・オフや、音量・温度・風量・湿度のように強度等を数値制御できるものであればその数値、高(High)・中(Medium)・弱(Low)のように段階的に強度を設定できるものはその強度である。情報取得部150は、ユーザデバイス100がインターネット接続機能を有する場合、インターネットのユーザの閲覧履歴や検索ワード履歴などのネットワーク上の行動履歴を取得し、取得した行動履歴を加味してユーザの入力意図を推定してもよい。入力意図の推定については後述する。
【0019】
また、情報取得部150は、ユーザまたはユーザデバイス100の周辺情報を取得してもよい。周辺情報とは、例えば、ユーザデバイス100の設置場所の気温、湿度、照度、地理的位置情報、時刻、季節等の周辺環境に関する情報や、ユーザデバイス100の設置場所周辺の人物の有無の認識結果である。情報取得部150は、例えば、カメラ、温湿度センサ、照度センサ、人感センサ等により実現される。また、周辺情報にはユーザのユーザデバイス100の過去の利用履歴、ユーザの置かれている状況(例えば、ユーザのスケジュール、生活習慣、ユーザが興味関心を持つと設定したニュースジャンルや記事分類、社会情勢、流行)等が含まれてもよい。なお、ユーザとユーザデバイス100とが物理的に離れている場合、情報取得部150が取得する周辺情報には、ユーザによる遠隔操作状態であるという情報を含んでもよい。
【0020】
制御部160は、音声認識部120により出力された音声データ、および情報取得部150によって取得された制御対象装置300の利用状況をコミュニケーション支援装置200に送信する。制御部160は、情報取得部150によってユーザデバイス100の周辺情報が取得された場合、その周辺情報を併せてコミュニケーション支援装置200に送信してもよい。
【0021】
また、制御部160は、コミュニケーション支援装置200より受信した制御対象装置300の操作指示命令を、通信部170を介して制御対象装置300に送信する。また、制御部160は、コミュニケーション支援装置200より受信した音声データを、音声生成部130を介してスピーカ140から出力させる。
【0022】
通信部170は、コミュニケーション支援装置200および制御対象装置300と通信する。通信部170は、コミュニケーション支援装置200から送信された制御対象装置300の操作指示命令を、制御対象装置300に送信する。
【0023】
コミュニケーション支援装置200は、例えば、通信部210と、取得部220と、自動制御部230と、推定部240と、学習部250と、記憶部260とを備える。通信部210、取得部220、推定部240、および学習部250は、例えば、CPU等のハードウェアプロセッサが、記憶装置に記憶されたプログラムを実行することにより実現される。また、これらの機能部は、LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、GPU(Graphics Processing Unit)等のハードウェアによって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。また、上記のプログラムは、予め記憶部260に格納されていてもよいし、DVDやCD-ROMなどの着脱可能な記憶媒体に格納されており、記憶媒体がドライブ装置に装着されることで記憶部260にインストールされてもよい。記憶部260は、例えば、ROM(Read Only Memory)、フラッシュメモリ、SDカード、RAM(Random Access Memory)、レジスタ等によって実現される。
【0024】
通信部210は、ユーザデバイス100と通信する。取得部220は、通信部210を介してユーザデバイス100からの出力情報を取得し、出力履歴262として記憶部260に格納する。出力履歴262は、ユーザデバイス100に対して入力された音声に基づくテキストデータである。出力履歴262は、ユーザデバイス100をユーザがユーザデバイス100に付随するスイッチなどを直接操作し、稼働状況や設定が変更される履歴を含んでもよい。
【0025】
また、取得部220は、通信部210を介してユーザの周辺情報を取得し、制御履歴264として記憶部260に格納する。また、取得部220は、通信部210を介して制御対象装置300の利用状況を取得し、利用履歴266として記憶部260に格納する。利用履歴266は、ユーザデバイス100から送信されたユーザの入力による制御結果と、ユーザの手動による制御結果とを含んでもよいし、前者のみ含んでもよい。
【0026】
自動制御部230は、取得部220が取得した音声データが明瞭である場合(制御対象となる制御対象装置300と、その制御対象装置300に実行させたい制御の内容が明確に識別できる場合)に、音声データに基づいて操作指示命令を生成し、生成した操作指示命令を、通信部210を介してユーザデバイス100に送信する。自動制御部230は、取得部220が取得した音声データが明瞭でない場合に、推定部240に音声データを出力する。
【0027】
推定部240は、音声データと制御対象装置300の利用状況とに基づいて、ユーザの入力意図を推定する。推定部240は、例えば、記憶部260に格納された情報に基づいて、ユーザの入力意図を推定し、推定結果に基づく操作指示命令を生成し、通信部210を介してユーザデバイス100に出力する。推定部240は、音声データと制御対象装置300の利用状況に加え、情報取得部150により取得された周辺情報に基づいて、ユーザの入力意図を推定してもよい。操作指示命令については後述する。また、推定部240は、ユーザの入力意図を推定できなかった場合には、ユーザに再入力を依頼する音声データを生成して、ユーザデバイス100に出力する。学習部250は、自動制御部230による制御結果および推定部240による推定結果と、取得部220により取得されたユーザデバイス100からの出力情報との関係を学習する。
【0028】
記憶部260は、ユーザデバイス100から取得した出力履歴262、制御対象装置300の制御操作履歴である制御履歴264、ユーザデバイス100の利用履歴266、推定部240による推定結果268を格納する。出力履歴262には、情報取得部150が取得した周辺情報が含まれていてもよい。制御履歴264には、制御対象装置300の制御操作履歴以外に、ユーザのポータルサイト、ニュース媒体等の閲覧履歴や、ショッピング、オークション、旅行等の購買履歴、ゲーム等のサービスへの課金履歴などが含まれていてもよい。
【0029】
制御対象装置300は、ユーザデバイス100による操作指示命令を受け付ける。なお、以下の例において、符号におけるハイフンおよびこれに続く数字は、いずれの制御対象装置に対応する構成であるかを示すものとする。また、適宜、ハイフンおよびこれに続く数字を省略して説明を行う場合がある。
【0030】
[コミュニケーション支援装置200による処理]
図2は、コミュニケーション支援装置200がユーザデバイス100からの音声データを受け付ける処理の流れを示すシーケンス図である。
【0031】
[自動制御]
図2の上図(a)は、コミュニケーション支援装置200がユーザデバイス100からの音声データを受け付け、入力意図を推定する処理の流れを示すシーケンス図である。
【0032】
まず、ユーザデバイス100は、コミュニケーション支援装置200に音声データを送信する(S1)。次に、コミュニケーション支援装置200の自動制御部230は、受信した音声データが明瞭であるか否かを判断し(S2)、明瞭であると判断しなかった場合には推定部240にユーザの入力意図を推定させる(S3)。
【0033】
コミュニケーション支援装置200は、処理結果をユーザデバイス100に送信する(S4)。処理結果とは、S2で明瞭であると判断された場合、またはS3で入力意図が推定できた場合、制御対象装置300に送信する操作指示命令である。また、S3で入力意図が推定できなかった場合、ユーザデバイス100のスピーカ140からユーザに再入力を促す音声を再生させるための元となる音声データである。
【0034】
ユーザデバイス100は、S4で操作指示命令を受信した場合、制御対象装置300にその操作指示命令を送信する(S5)。また、ユーザデバイス100は、S4で音声データを受信した場合、スピーカ140からユーザに再入力を促す音声を再生することで処理結果を出力する(S6)。以上、図2の上図(a)のシーケンスの説明を終了する。
【0035】
なお、自動制御部230が受信した音声データが明瞭であると判断した場合、図2の下図(b)に示すように、S3の処理は省略される。
【0036】
[推定部による学習]
推定部240は、取得部220により取得された制御履歴264の周辺情報、および利用履歴266の利用状況と、今回入力された音声データとに基づいて、ユーザの入力意図を推定する。
【0037】
推定部240は、例えば、情報取得部150の取得結果と、その取得結果が得られた時刻または時間帯とを学習し、その学習結果に基づいて、ユーザの置かれている状況をあらかじめ設定されたパターン(以下、コンテキストパターン)から最適なパターンを選択する。コンテキストパターンには、例えば、「帰宅」のような数秒~数分程度でアクションが完結する状態と、「在宅」や「留守」のような数時間程度同じ状態が継続するものとが含まれる。
【0038】
推定部240は、例えば、ユーザデバイス100がユーザの自宅に常設される場合であり、日中仕事等で自宅を離れていたユーザが、夕方にユーザデバイス100の設置場所に戻ってきたことをセンシングした場合に「コンテキストパターン:帰宅」を選択する。また、推定部240は、例えば、ユーザデバイス100がユーザにより持ち運ばれる場合であり、ユーザが頻繁に訪れる特定の場所に到着したことをセンシングした場合にその場所に因んだコンテキストパターンを選択してもよい。場所に因んだコンテキストパターンとは、例えば、勤務先のオフィスを意味する「出社」や、通学先の学校を意味する「登校」である。コンテキストパターンは、ユーザによって予め設定されてもよいし、推定部240によって推定されてもよい。
【0039】
図3は、推定部240の学習結果を模式的に示す図である。推定部240は、例えば、制御対象装置300への操作指示と、操作指示が行われた際の周辺情報を含む制御履歴264、制御対象装置の利用状況を含む利用履歴266、および生成した操作指示命令の合致度合いを学習する。
【0040】
図3の上図は、情報取得部150が取得した周辺情報と制御対象装置300である照明器具の利用状況の状態遷移を示す図である。また、図3の下図はユーザデバイス100が受け付けるユーザの入力履歴H1~H3を示す図である。推定部240が学習するユーザの入力履歴には、例えば、入力を受け付けた時刻、入力された音声データ、入力を受け付けた時点での周辺情報および利用状況、および操作指示命令を生成した結果(合致度合い)が含まれる。
【0041】
推定部240は、操作指示命令を生成した結果、その操作指示命令が正解であった否か、すなわちユーザの入力意図を正しく反映した操作指示命令が生成されたか否かを学習する。推定部240は、例えば、ユーザデバイス100がユーザから連続して同一または類似の制御対象装置300に対する入力を受け付けた場合や、ユーザにより入力意図が正しく認識されなかったことを示すリアクションが行われたことを検出した場合には、入力意図が正しく推定されなかった(間違った推定であった)と判定する。
【0042】
例えば、図3の例において、入力履歴H1は、7月1日の18時にユーザデバイス100の各種センサがユーザの帰宅をセンシングし、推定部240が「コンテキストパターン:帰宅」に該当すると推定することを示す。また、入力履歴H1は、ユーザデバイス100がユーザから「灯りを点けて。」という入力を受け付け、制御対象装置300の電源を入れたことを示す。また、入力履歴H1は、制御対象装置の操作の結果、ユーザから特に訂正するような入力を受け付けなかったため、推定結果が正しかったものとして制御履歴264に記憶される。
【0043】
一方、入力履歴H2は、制御対象装置の操作の結果、ユーザから再入力による訂正(入力履歴H3)を受け付けなかったため、推定結果が間違ったものとして制御履歴264に記憶される。推定部240は、このように学習結果に基づいて推定を行うことで、推定精度を高める。
【0044】
[入力意図の推定]
以下、推定部240によるユーザの入力意図の推定方法について説明する。推定部240は、ユーザの入力意図を推定し、推定結果に基づいて操作指示命令を生成する。入力意図とは、制御対象となる制御対象装置300、およびその制御対象装置300に対して行う制御の内容のことである。推定部240は、音声データに加え、ユーザデバイス100の情報取得部150によって取得されたユーザデバイス100の周辺情報と、制御対象装置300の利用状況とを用いてユーザの入力意図を推定する。
【0045】
推定部240は、認識可能であると判定しなかった場合に、上記の推定を行うようにしてもよい。ここで、認識可能であるとは、制御対象装置とその制御対象装置に対する操作指示の内容の両方が、音声データから解釈できることを指す。コミュニケーション支援装置は、制御対象装置、またはる操作指示の内容の少なくともいずれか一方が音声データから解釈できない場合には入力が認識可能でない(入力が不明瞭である)ものとする。
【0046】
推定部240は、例えば、音声データを学習済モデルに入力し、学習済モデルの出力結果に基づいて音声データを分類する。学習済モデルとは、例えば、機械学習などによって生成されたニューラルネットワーク(Neural Network)などの音声データを分類するためのモデルである。
【0047】
また、推定部240は、例えば、学習済モデルとしてシャム双生児型(Siamese)の畳み込みニューラルネットワーク(Convolutional Neural Network;CNN)モデルを用いて、学習結果に基づいてユーザの入力意図を推定する。シャム双生児型CNNモデルとは、元となる学習結果が極端に少ない場合であっても過去の類似データに基づいて効率的な学習を実現するディープラーニングモデルの一例である。シャム双生児型CNNモデルは、1ショットラーニング(One-Shot Learning)モデル、少数ショットラーニング(Few Shot Learning)モデルと称される場合がある。
【0048】
図4は、推定部240による推定方法を説明する図である。図4は、推定元情報であるインプット情報I0と、学習結果である過去のインプット情報I(以下、学習結果I1)との類似度Dを導出する様子を示す模式図である。例えば、インプット情報Iは、音声データLと周辺情報(または利用状況)Eとを含み、学習結果Iは音声データLと周辺情報Eとを含む。
【0049】
図4に示すように、推定部240は、例えば、インプット情報Iに、シャム双生児型CNNモデルを適用してインプット情報Iの特性ベクトルVを導出する。さらに推定部240は、学習結果I1に、インプット情報Iを処理したものと同一機構、同一パラメータのシャム双生児型CNNモデルを適用してインプット情報Iの特性ベクトルV1を導出する。推定部240は、特性ベクトルVおよびVの類似度を演算して、インプット情報Iと学習結果Iとが類似であるか、非類似であるかの度合を示す類似度Dを推定する。類似度Dは、例えば、類似であれば1に近似する値となり、非類似であれば―1に近似する値となる。類似度Dは、合致度合いの具体例である。
【0050】
推定部240は、また、推定部240は、インプット情報Iと学習結果Iが類似であるか、非類似であるかを推定する際に、類似度Dが所定の閾値以上(例えば、類似度Dが0以上)である場合には、インプット情報Iと学習結果Iが類似であるものとする。その場合、推定部240は、学習結果Iに基づいて操作指示命令を生成する。
【0051】
また、推定部240は、類似度Dが所定の閾値未満(例えば、類似度Dが0未満)である場合には、非類似であるものとする。その場合、推定部240は、ユーザの再入力を促すようユーザデバイス100を制御してもよい。
【0052】
また、推定部240は、類似度Dが所定の閾値以上であるが、その値が低い場合(例えば、類似度Dが0~0.4程度)には、学習結果Iに基づいて操作指示命令を生成してもよいかをユーザに問い合わせるようユーザデバイス100を制御してもよい。
【0053】
[類似度の導出例]
以下、図5図7を用いて、推定部240による類似度Dの導出例について具体的な例を挙げて説明する。以下、周辺情報Eのうち、類似度Dの導出に用いる事象のことを「推定条件」と称する。
【0054】
[類似度導出例1]
以下、情報取得部150により取得された周辺情報を推定条件として、過去の類似入力から入力意図を推定する推定方法について説明する。図5は、インプット情報Iと学習結果Iの具体例を示す図である。
【0055】
ユーザデバイス100は、7月11日の19時に、情報取得部150が内包する照度センサがユーザデバイス100の設置場所の照度が「暗い」状態であると識別している状態で、ユーザデバイス100を介してユーザUによるインプット情報I0として音声入力「xxxを点けて。」を受け付ける。ここで、「xxx」は音声認識部120が認識できなかったユーザの音声を示すものである。
【0056】
ユーザデバイス100は、前日の7月10日の19時に、情報取得部150が内包する照度センサがユーザデバイス100の設置場所の照度が「暗い」状態であると識別している状態で、ユーザデバイス100を介してユーザによる音声入力「灯りを点けて。」を受け付け、制御対象装置300である玄関照明を点灯状態にしたという学習結果Iを記憶している。そこで、推定部240は、インプット情報Iと学習結果Iとの類似度Dを導出する。このとき、情報取得部150は、ユーザUによる音声入力と、推定条件(照度センサのセンシング結果、およびユーザUによる音声入力を受け付けた時間帯)から類似度Dを導出する。推定部240は、前日の同時刻帯の学習結果Iである、照度センサが室内の照度が「暗い」状態であると識別している状態で受け付けた音声入力と、インプット情報Iの類似度が高いと判定し、前日の同時刻に受け付けた音声入力に基づいて生成した玄関照明を点灯状態にする操作指示命令を生成する。
【0057】
なお、学習部250は、推定部240による推定結果の成果、すなわち推定結果が正解であったか、間違っていたかを学習することで、推定精度を高めるようにしてもよい。学習部250は、例えば、推定部240による推定結果に基づいて操作指示命令を生成した結果、ユーザからその操作指示命令に対する訂正を含む入力を受け付けなかった場合や、ユーザから「ありがとう」等の肯定的な音声入力を受けた場合に、推定結果が正解であるものとして学習する。また、学習部250は、例えば、推定結果に基づいて操作指示命令を生成した結果、ユーザから「違う」、「そっちじゃなくて廊下の灯りを点けて。」等の操作の訂正の指示を含む入力を受け付けた場合に、推定結果が間違っていたものとして学習する。
【0058】
なお、推定部240は、類似度Dが閾値未満である場合に、ユーザUに再入力を求める代わりに、ユーザUが指定した可能性の高い制御対象装置300をユーザに提示し確認する音声を生成してもよく、例えば、「灯りを点ける、でよろしいですか?」等の音声をユーザデバイス100の音声生成部130に生成させ、再生させる。これにより、ユーザデバイス100は、ユーザUに音声入力が受け付けられなかったことに対する不快感を与えにくくすることができる。また、ユーザUが指定した可能性の高い制御対象装置300をユーザに提示し確認する音声に対するユーザの返答音声は「はい」、「いいえ」等、音声認識部120が比較的音声認識しやすい入力がなされる可能性が高いことから、コミュニケーション支援装置200は、ユーザデバイス100に不明瞭な音声入力が繰り返し受け付け、その入力意図の推定を繰り返すことを避けることができる。
【0059】
また、ユーザデバイス100は、操作指示の前にユーザが発した音声に基づいて推定してもよい。推定部240は、「暗いなぁ。」という独り言ののちに、「xxxを点けて。」という音声入力がなされた場合に、「暗い」という言葉から制御対象装置300が室内を明るく照らす装置であると推定(連想)してもよい。
【0060】
[他の推定方法1]
以下、推定部240が情報取得部150により取得された周辺情報を推定条件として、入力意図を推定する推定方法について説明する。図6は、インプット情報Iと学習結果Iの他の例を示す図である。
【0061】
ユーザデバイス100の情報取得部150は、7月11日の13時に、ユーザUによるポータルサイトでの検索履歴として「ワールドカップ トーナメント表」を取得する。情報取得部150は、上述の検索履歴や、検索後にユーザUが閲覧したサッカーワールドカップに関連する記事の閲覧履歴をコミュニケーション支援装置200に送信する。コミュニケーション支援装置200は、受信した検索履歴および閲覧履歴を、制御履歴264として記憶する。
【0062】
ユーザデバイス100は、同日7月11日の17時に、ユーザUに「試合日程を教えて。」という音声入力を受け付けたとする。この場合、推定部240は、ユーザUの指す「試合日程」が何の試合を指しているかを推定する。推定部240は、ユーザUのポータルサイトでの検索履歴を制御履歴264から取得する。推定部240は、制御履歴264から取得した検索履歴から、ユーザUがサッカーワールドカップに強い関心を持っており、「試合日程」がサッカーワールドカップの試合日程を指していると推定する。
【0063】
なお、推定部240は、制御履歴264から取得した検索履歴に限らず、ユーザのスケジュール、社会一般の流行やニュースを収集した結果に基づいてユーザの入力意図の推定を行ってもよい。推定部240は、例えば、開催期間中のスポーツ大会や、近日中に開催されるスポーツ大会の中から、ユーザUが指している試合を推定する。また、推定部240は、例えば、ユーザのスケジュールから「試合」を検索して、その検索結果が得られた場合には、ユーザの入力意図が、ユーザ自身のスケジュールを参照し、予定を確認することであると推定する。
【0064】
[他の推定方法2]
以下、情報取得部150により取得された周辺情報を推定条件として、入力意図を推定する推定方法について説明する。図7は、インプット情報Iと学習結果Iの他の例を示す図である。
【0065】
ユーザデバイス100は、例えば、図7に示す複数の制御対象装置300-1~300-3を制御対象として認識している場合、それぞれの制御対象装置300の利用状況を収集する。
【0066】
ユーザデバイス100は、ユーザUから「あれを点けて。」のように、対象となる制御対象装置300が不明瞭な音声入力を受け付けたとする。推定部240は、制御対象装置300の利用状況の収集結果に基づいて、ユーザUが「点けて」と音声入力する可能性のある制御対象装置300を抽出し、さらに、その時点で電源が点いていない状態である制御対象装置300から、ユーザUの入力意図に応じた制御対象装置300を選択する。
【0067】
推定部240は、ユーザUの入力意図を、その時点で稼働していない制御対象装置300のいずれかを稼働させることであると推定する。推定部240は、図7に示すように、制御対象装置300-1である電灯、および制御対象装置300-2であるテレビは電源が入っており稼働しているが、制御対象装置300-3の空調機器は稼働していない状態である場合に、制御対象装置300-3を稼働させることがユーザUの入力意図であると推定する。
【0068】
上述の推定方法において、推定部240は、例えば、情報取得部150によってユーザのジェスチャや、手話、テキスト等の自然言語による入力を取得し、その入力に基づいて推定してもよい。推定部240は、例えば、ユーザの指さす方向に存在する制御対象装置300から入力意図を推定する。
【0069】
[他の推定方法3]
累積操作履歴を推定条件とする推定方法について説明する。推定部240は、ユーザによる音声入力の頻度を推定条件として、入力意図を推定する。推定部240は、例えば、ユーザによる音声入力が不明瞭である場合に、直前の操作に関連することや、頻繁に行われること、定期的または定刻に行われること等から、指示される可能性が高いものとして推定する。図8は、学習結果Iとして用いられる、ユーザデバイス100の受け付けた入力履歴の累積情報(制御履歴264の集計結果)を示す図である。
【0070】
推定部240は、入力を受け付けた時間や、タイミング、対応するコンテキストパターンから入力意図を推定する。推定部240は、例えば、情報取得部150により設定されたコンテキストパターンに基づいて、累積情報から対応するコンテキストパターンを累積情報として持つ制御対象装置300を操作対象であると推定する。
【0071】
また、推定部240は、音声データとして「テレビのxxx。」と認識し、ユーザの入力のうち制御対象が制御対象装置300-2のテレビであることが明確であるが、操作指示が不明瞭である場合に、累積情報から制御対象装置300-2のテレビに対応する操作指示を検索して入力意図を推定する。推定部240は、累積情報を検索した結果、ユーザから「テレビの音量を上げて。」という操作指示を頻繁に受け付けることから、入力意図が同様のものである可能性が高いと推定する。
【0072】
また、推定部240は、累積操作履歴を推定条件とする場合、累積操作履歴に対応付けられた時刻や、累積操作回数の多寡に応じてそれぞれのデータの重みづけを行ってもよい。推定部240は、例えば、音声データとして「xxxを点けて。」と認識しており制御対象装置300が不明瞭である場合、最近使われたものに重みづけをしている場合には制御対象装置300-1の照明が操作対象であるものと推定し、累積操作回数による重みづけをしている場合には制御対象装置300-4の加湿器が操作対象であるものと推定する。
【0073】
[処理フロー]
図9は、コミュニケーション支援装置200の処理の流れの一例を示すフローチャートである。まず、ユーザデバイス100の情報取得部150は、制御履歴264や制御対象装置300の利用履歴266を収集し取得する(S100)。次に、ユーザデバイス100のマイク110はユーザの音声入力を受け付け(S102)、音声認識部120に出力する。次に、音声認識部120は、マイク110に入力された音声をデータ変換する(S104)。次に、変換した音声データは、通信部170を介してコミュニケーション支援装置200に送信される(S106)。
【0074】
次に、コミュニケーション支援装置200の自動制御部230は、受信した音声データの認識結果が明瞭であるか否かを判定する(S108)。自動制御部230は、受信した音声データの認識結果が明瞭であると判定した場合、音声認識結果に基づく操作指示命令を生成する(S110)。
【0075】
推定部240は、S108において、自動制御部230により受信した音声データの認識結果が明瞭であると判定されなかった場合、ユーザの入力意図を推定する(S114)。なお、S108の処理を省略し、自動制御部230は、音声データを受信すると、直ちにユーザの入力意図を推定するようにしてもよい。推定部240は、制御対象装置300および、操作指示命令が推定できたか否かを判断する(S116)。推定部240は、ユーザの入力意図を推定できた場合、推定した入力意図に基づいて操作指示命令を生成する(S118)。
【0076】
S110またはS118の処理ののち、コミュニケーション支援装置200は、ユーザデバイス100を介して生成した操作指示命令を制御対象装置300に送信させ、処理を終了する(S112)。
【0077】
また、S116の処理においてユーザの入力意図を推定できなかった場合、推定部240は、ユーザに再入力を依頼する音声データを生成して、ユーザデバイス100に出力し(S120)、スピーカ140から出力させ、処理を終了する(S122)。以上、本フローチャートの処理の説明を終了する。
【0078】
以上説明した第1実施形態によれば、ユーザの音声入力を受け付けるマイク110の出力を取得し音声入力内容を認識する音声認識部120の認識結果と制御対象装置300の利用状況を取得する情報取得部150と、情報取得部150の取得した音声認識部120の認識結果と制御対象装置300の利用状況とに基づいて、ユーザの入力意図を推定する推定部240を備えるコミュニケーション支援装置200により、ユーザによる入力と過去の利用状況とに基づいて入力意図を好適に推定することができる。
【0079】
<変形例>
図10は、変形例のコミュニケーションシステム1Aの構成図である。変形例のユーザデバイス100Aは、第1実施形態のコミュニケーション支援装置200を内包する装置である。なお、図10に示すようにコミュニケーションシステム1Aにおいて、通信部210は省略されてもよい。コミュニケーションシステム1Aにおいて、ユーザデバイス100Aのマイク110および情報取得部150は「入力受付部」の一例である。
【0080】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【符号の説明】
【0081】
1、1A…コミュニケーションシステム、100、100A…ユーザデバイス、110…マイク、150…情報取得部、160…制御部、200…コミュニケーション支援装置、220…取得部、230…自動制御部、240…推定部、250…学習部、300…制御対象装置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10