(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-12
(45)【発行日】2022-12-20
(54)【発明の名称】機器制御装置及び機器を制御する制御方法
(51)【国際特許分類】
B60R 16/02 20060101AFI20221213BHJP
G10L 15/00 20130101ALI20221213BHJP
G10L 15/28 20130101ALI20221213BHJP
【FI】
B60R16/02 655A
G10L15/00 200J
G10L15/28 500
(21)【出願番号】P 2020514779
(86)(22)【出願日】2018-04-20
(86)【国際出願番号】 IB2018000566
(87)【国際公開番号】W WO2019202351
(87)【国際公開日】2019-10-24
【審査請求日】2020-10-06
【前置審査】
(73)【特許権者】
【識別番号】000003997
【氏名又は名称】日産自動車株式会社
(74)【代理人】
【識別番号】110000486
【氏名又は名称】弁理士法人とこしえ特許事務所
(72)【発明者】
【氏名】大久保 翔太
(72)【発明者】
【氏名】井上 裕史
(72)【発明者】
【氏名】西山 乘
(72)【発明者】
【氏名】寺口 剛仁
(72)【発明者】
【氏名】志小田 雄宇
【審査官】菅 和幸
(56)【参考文献】
【文献】特開2009-251019(JP,A)
【文献】特開昭59-117610(JP,A)
【文献】特開昭62-093706(JP,A)
【文献】特開2016-218361(JP,A)
【文献】特開2004-198832(JP,A)
【文献】特開2012-059107(JP,A)
【文献】特開2004-050975(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B60R 16/02
G10L 15/00
G10L 15/28
(57)【特許請求の範囲】
【請求項1】
音を検出する検出器と、
複数の機器を制御するコントローラとを備え、
前記複数の機器は、車両の運転に関連しない第1機器と前記車両の運転に関連する第2機器を含み、
前記コントローラは、
前記検出器により検出された音データを用いて、ユーザの音声を認識し、
認識された前記音声に基づき、複数の前記機器の中から操作対象となる操作対象機器の種別と、前記操作対象機器の操作内容をそれぞれ特定し、
前記特定された操作対象が前記第1機器である場合には、前記第1機器の動作を前記特定された操作内容で開始する旨の通知を行い
、前記特定された操作内容で前記第1機器を動作させる前に、所定の操作内容で前記第1機器を動作させ、
前記特定された操作対象が前記第2機器である場合には、前記特定された操作内容で前記第2機器を動作させる前に、前記ユーザに対して返答を求めるための通知を
し、前記第2機器とは異なる機器を動作させ、
前記所定の操作内容では、前記特定された操作内容に関連する操作を短時間行う機器制御装置。
【請求項2】
請求項
1に記載の機器制御装置において、
前記コントローラは、
前記特定された操作対象が前記第1機器である場合には、前記ユーザに対して返答を求めるための通知をすることなく、前記特定された操作内容で前記第1機器を動作させる機器制御装置。
【請求項3】
請求項
1又は2に記載の機器制御装置において、
前記音声のデータ、前記操作対象機器の種別を示すデータ、及び、前記操作内容を示すデータをそれぞれ記憶するデータベースを備え、
前記コントローラは、
前記データベースに記憶されたデータを参照し、前記検出器により検出された音声に対応する、前記操作対象機器及び前記操作内容をそれぞれ特定する機器制御装置。
【請求項4】
請求項
1~3のいずれか一項に記載の機器制御装置において、
前記コントローラは、
前記音声を認識する音声認識制御と、前記操作対象機器の種別と前記操作内容を特定する機器特定制御を並行して実行する機器制御装置。
【請求項5】
請求項
1~4のいずれか一項に記載の機器制御装置において、
前記コントローラは、
前記検出器により検出された音声に基づき、前記操作対象機器及び前記操作内容の認識結果を示す確度を算出する機器制御装置。
【請求項6】
請求項
1~5のいずれか一項に記載の機器制御装置において、
前記コントローラは、
認識された前記音声に基づき、前記操作対象機器及び前記操作内容の少なくともいずれか一方を特定できない場合には、前記ユーザに対して再発話を要求する機器制御装置。
【請求項7】
請求項
1~6のいずれか一項に記載の機器制御装置において、
音又は光を出力する出力装置を備え、
前記コントローラは、
認識された前記音声に基づき、前記操作対象機器及び前記操作内容の少なくともいずれか一方を特定できない場合には、前記出力装置から前記音又は前記光を出力させる機器制御装置。
【請求項8】
請求項
1~6のいずれか一項に記載の機器制御装置において、
スピーカを備え
前記コントローラは、
認識された前記音声に応じて、前記スピーカを用いて音を出力することで、前記ユーザと対話を行い、
認識された前記音声に基づき、前記操作対象機器及び前記操作内容の少なくともいずれか一方を特定できない状態で所定時間が経過した場合には、前記ユーザに対して再発話を要求する機器制御装置。
【請求項9】
請求項
1~6のいずれか一項記載の機器制御装置において、
スピーカを備え
前記コントローラは、
認識された前記音声に応じて、前記スピーカを用いて音を出力することで、前記ユーザと対話を行い、
前記検出器により検出された音声に基づき、前記操作対象機器及び前記操作内容の認識結果を示す確度を算出し、
算出された前記確度が所定値以下の状態で所定時間が経過した場合には、前記ユーザに対して再発話を要求する機器制御装置。
【請求項10】
請求項
8又は請求項
9に記載の機器制御装置において、
前記コントローラは、
前記所定時間が経過する前に、前記対話から前記音声の認識結果の誤りを特定した場合には、前記ユーザに対して再発話を要求する機器制御装置。
【請求項11】
機器を制御するコントローラにより、車両の運転に関連しない第1機器と前記車両の運転に関連する第2機器とを制御する制御方法において、
検出器により検出された音データを用いて、ユーザの音声を認識し、
認識された前記音声に基づき、複数の前記機器の中から操作対象となる操作対象機器の種別と、前記操作対象機器の操作内容をそれぞれ特定し、
前記特定された操作対象が前記第1機器である場合には、前記第1機器の動作を前記特定された操作内容で開始する旨の通知を行い
、前記特定された操作内容で前記第1機器を動作させる前に、所定の操作内容で前記第1機器を動作させ、
前記特定された操作対象が前記第2機器である場合には、前記特定された操作内容で前記第2機器を動作させる前に、前記ユーザに対して返答を求めるための通知を
し、前記第2機器とは異なる機器を動作させ、
前記所定の操作内容では、前記特定された操作内容に関連する操作を短時間行う制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機器制御装置及び機器を制御する制御方法に関するものである。
【背景技術】
【0002】
従来より知られている、車載用電子機器の音声認識結果報知方法は、ユーザより発せられた音声を音声認識手段で認識し、認識結果に応じてスピーカからメッセージとして合成音声を出力させて、ユーザから再報知指示を受け付けた場合には、合成音声を再びスピーカから出力して再報知を行う。そして、再報知指示を受付可能な所定時間が経過した場合に、認識結果に基づいて所定の処理を実行する(例えば特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の報知方法では、ユーザが声を発してから、機器が所定の処理を実行するまで多くの時間を要するという問題がある。
【0005】
本発明が解決しようとする課題は、ユーザが声を発してから機器が動作するまでの時間を短縮化できる、機器制御装置及び機器を制御する制御方法を提供することである。
【課題を解決するための手段】
【0006】
本発明は、ユーザの音声を認識し、認識された音声に基づき、複数の機器の中から操作対象となる操作対象機器の種別と、操作対象機器の操作内容をそれぞれ特定し、特定された操作対象の種別に応じて、特定された操作内容で操作対象機器を動作させる時のタイミングを制御することによって上記課題を解決する。
【発明の効果】
【0007】
本発明は、ユーザが声を発してから機器を動作するまでの時間を短縮化できる。
【図面の簡単な説明】
【0008】
【
図3】
図3は、
図1に示すコントローラの制御フローを示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態を図面に基づいて説明する。
《第1実施形態》
【0010】
図1は、本発明に係る機器制御装置1のブロック図である。機器制御装置1は、マイク11と、スピーカ12と、ワイパー21と、ライト22と、オーディオ23と、エアコン24と、データベース30と、コントローラ100とを備える。本実施形態の機器制御装置1は、車両に搭載させる制御装置であり、ユーザの音声を認識して、音声に基づき、複数の車載機器を制御する。
【0011】
マイク11は、ユーザが発する音声を電気信号に変換して、コントローラ100に出力する。マイク11は、ユーザの音声を含めた車室内の音を検出する検出器に相当する。スピーカ12は、コントローラ100から出力される音声信号を、音に変換して、車室内のユーザに向けて音を発する装置である。音声認識システムは、マイク11、スピーカ12、データベース30、及びコントローラ100を含んでいる。音声認識システムは、公知の音声認識技術を利用して、マイク11で検出された音から、ユーザの意思を表す情報を特定する。そして、音声認識システムは、特定された情報に応じて、スピーカ12から音を発する。これにより、音声認識システムは、ユーザとコントローラ100との間の対話を実現している。
【0012】
ワイパー21は、フロントガラスの表面の汚れ等を取り除く機器である。ライト22は、車外を照らす照明機器である。オーディオは、ラジオ及び再生装置を含む機器であり、車室内に音楽等を流すための機器である。エアコン24は、車室内に空調(温度等)を調整する機器である。ワイパー21及びライト22は、運転に関係する機器(以下、運転関連機器と称す)である。運転関連機器は、ユーザ操作又は自動運転により車両が走行する場合に、車両の挙動及び/又はユーザの運転操作に影響を及ぼす機器である。なお、運転関連機器は、ワイパー21及びライト22に限らず、例えばハンドル、ウィンカー等も含まれる。
【0013】
オーディオ23及びエアコン24は、運転に関係しない機器(以下、非運転関連機器とも称す)である。非運転関連機器は、オーディオ23及びエアコン24に限らず、例えば読書灯などでもよい。
【0014】
データベース30は、記録媒体であって、音声認識に必要なデータや、車載機器の操作に必要なデータなどが記録されている。音声認識に必要なデータには、日本語であれば例えば「あ」、「い」等の言葉を区別するために必要な音響モデルのデータが挙げられる。また音声認識に必要なデータには、認識された音声信号と特定のシーケンスの類似性を張るためのアルゴリズムが保存されている。また、データベースには、操作対象となる機器を識別するためのデータ(以下、機器識別データとも称す)や、ある機器の操作を識別するためのデータ(操作識別データとも称す)が記録されている。例えば、エアコン24を識別するための識別データには、エアコンという名称のデータ、エアーコンディショナーという名称のデータが含まれる。また、日本語の場合には、夏にエアコンを駆動させる際に、エアコンの俗称として「冷房」という言葉が使用される。そのため、エアコン24の識別データには「冷房」を含めてもよい。操作識別データは、少なくとも運転関連機器と非運転関連機器の2種類のうち、どちらに該当するか区別された上で、データベースに記憶されている。例えば、操作識別データがエアコンである場合には、非運転関連機器の種別に該当する。
【0015】
操作識別データは、機器の各種操作を表すデータであって、機器毎に分類されて、データベース30に記憶されている。例えば、機器がエアコン24である場合に、操作識別データは、エアコン24を操作するために必要な操作の名称、数字、温度調整を示す用語などを示している。例えば、ユーザが呼び掛けて、エアコンを動作するシーンを想定した場合に、ユーザは、「オン」、「オフ」、「強める」、「弱める」、「ドライモード」、「25℃」等の用語を発することが予想される。操作識別データには、このような、操作に関する言語データが含まれている。そして、エアコン24に関する複数の操作識別データが、エアコン24の機器識別データと対応付けられて、データベース30に記録されている。
【0016】
またデータベース30には、音声認識システムによる認識結果のデータが記憶されている。例えば、ユーザとコントローラ100との間で対話が行われている場合には、ユーザの声から認識されたデータがデータベース30に記録される。データベース30に記録されたユーザの音声データは解析されて、上述の音声認識処理に用いられるキーワード等が更新されることにより、音声認識の精度は向上されるように構成されている。
【0017】
コントローラ100は、ワイパー21、ライト、22、オーディオ23及びエアコン24等の機器、音声認識システムを制御する。コントローラ100は、ROM、CPU等を有している。ROMは、制御を実行するためのプログラムを記録する。CPUは、ROMに記録されたプログラムを実行するためのユニットである。コントローラ100は、本実施形態の機器の制御方法を実行するための制御主体となる。
【0018】
次に、
図2を用いて、コントローラ100の機能を説明する。
図2は、コントローラ100のブロック図である。コントローラ100は、音声認識システムを用いて機器を制御するための機能ブロックとして、音声入出力部101と、音声認識部102と、機器特定部103と、操作指令部104を備えている。
【0019】
音声入出力部101は、マイク11を用いて、ユーザが発する声の音声データを取得し、所定の周期で音声データを音声認識部102に送信する。音声入出力部101は、スピーカ12を用いて、音声認識部102で生成された音のデータをユーザに対して出力する。音声入出力部101は、エアコン24等の機器の動作中に、ユーザからの音声を取得できる状態で待機している。また、音声入出力部101は、対話中も、ユーザからの音声を取得できる状態で待機している。対話は、音声認識システムを利用した、ユーザとコントローラ100との間で対話である。
【0020】
音声認識部102は、音声入出力部101で取得された、ユーザの音声データを解析して、ユーザが発する声を文字列の情報に変換する。例えば、ユーザがエアコンと発した場合には、音声認識部102は、自然言語処理技術を用いて、「エ」、「ア」、「コ」、「ン」という文字列で音声を認識する。なお、音声データから文字列への変換処理は、外部からのノイズ等に影響するため、例えば、ユーザがエアコンと発した場合でも、音声認識部102は、「エ」、「ワ」、「コ」、「ン」のように、一部の文字を誤って認識することもある。このような、音声認識のエラーは、後述する確度の値に影響する。音声認識部102は、データベースに記憶されている音響モデル及びアルゴリズムを用いて、ユーザの音声を認識する。そして、音声認識部102は、認識結果を機器特定部103に出力する。また音声認識部102は、認識した音声のデータをデータベース30に記録する。
【0021】
音声認識部102は、ユーザとコントローラ100との間で対話を行っている場合には、音声認識で認識された文字列から、文字列に対応する指令を特定し、指令に応じた反応を、音声データで出力してもよい。例えば、ユーザが「今日の天気は?」と発した場合に、音声認識部102は、ユーザの音声データを解析して、「きょ」、「う」、「の」、「て」、「ん」、「き」、「は」の順で文字列を生成する。文字列をつなげることで、音声認識部102は、ユーザの意図を把握することができる。そして、音声認識部102は、把握されたユーザの意図に合う音のデータを生成し、音のデータを音声入出力部101に出力する。上記の例では、ユーザが本日の天気を尋ねていることを認識できるため、音声認識部102は、「晴れ」などの音のデータを出力する。これにより、ユーザとコントローラ100との間の対話が実現される。
【0022】
音声認識部102は、ユーザからの発話が、操作要求の発話、ユーザ返答待ち、及び、対話中止要求のうち、どの分類に該当するか特定している。操作要求は、ユーザが機器の操作を要求していることを示す。ユーザ返答待ちは、音声認識部がユーザからの返答を待っている状態を示す。対話中止要求は、ユーザがシステムとの対話中止を要求していることを示す。
【0023】
ユーザからの発話が操作要求の発話に該当する場合には、音声認識部102は、音声認識で特定した文字列のデータを機器特定部103に出力する。
【0024】
ユーザからの発話が、ユーザ返答待ちに該当する場合には、音声認識部102は、所定期間、ユーザの返答を待つ待機状態を保つ。本実施形態では、ユーザの音声に基づき、ワイパー操作を特定した場合には、ワイパーはユーザの運転に影響を及ぼす機器のため、ユーザに対して、ワイパーを動作させてもよいか、動作前に確認を行う。このような場合には、音声認識部102はユーザ返答待ちの状態となる。また、音声認識部102は、ユーザの返答を待つ待機状態となる場合には、音声の認識結果をユーザに通知してもよい。例えば、ユーザの音声に基づき、ワイパー操作が特定された場合には、音声認識部102は、ユーザに対して「ワイパーを操作してもよいですか」のような音声を、スピーカ12から出力されてもよい。このような音声を発することで、認識結果の正誤をユーザに対して伝えることができる。
【0025】
ユーザからの発話が、対話中止要求に該当する場合には、ユーザとコントローラ100との間の対話が中止される。例えば、ユーザが「音声認識システム停止」と発し、音声認識部102が、音声認識よりユーザの意図を認識でできた場合には対話が中止される。
【0026】
機器特定部103は、音声認識部102で認識された音声の認識結果に基づき、ユーザが目的とする操作対象機器及び操作内容をそれぞれ特定する。機器特定部103は、認識結果で示される文字列(ユーザの音声に相当)のデータとデータベース30に記録された機器識別データを参照し、データベースに記憶されている機器の名称の中から、文字列で示される名称と一致又は類似する名称を特定する。
【0027】
機器特定部103は、認識結果で示される文字列(ユーザの音声に相当)のデータとデータベース30に記録された操作識別データを参照し、データベースに記憶されている操作内容の名称の中から、文字列で示される名称と一致又は類似する名称を特定する。
【0028】
また機器特定部103は、操作対象機器及び操作内容を特定する際に、それぞれの確度を算出する。操作対象機器の確度は、音声データから認識された音声データと機器識別データとの類似性を示している。操作内容の確度は、音声データから認識された音声データと操作識別データとの類似性(文字列の類似性)を示している。確度が高いほど、ユーザが操作したい機器と、音声認識で特定された機器との間で一致する確率が高くなる。また、確度が高いほど、ユーザが操作したい操作内容と、音声認識で特定された操作内容との間で一致する確率が高くなる。すなわち、操作対象機器の確度及び操作内容の確度は、音声認識システムにおける認識結果の確度を示しており、確度はデータの一致度を表している
【0029】
確度は、例えば0から1までの値で表される。機器特定部103は、音声データから複数の機器を特定できる場合には、特定された機器毎に確度を算出する。機器特定部103は、音声データから複数の操作内容を特定できる場合には、特定された操作内容毎に確度を算出する。
【0030】
機器特定部103は、算出された確度と確度閾値とを比較し、算出された確度が確度閾値より高い場合には、算出された確度に対応する機器を、操作対象機器として特定する。確度閾値は予め設定される閾値である。これにより、機器特定部103は、認識された音声に基づき、操作対象機器を特定する。データベース30において、機器識別データは運転関連機器と非運転関連機器で分類されている。そのため、機器特定部103により操作対象機器が特定されると、操作対象の機器の分類も特定される。
【0031】
機器特定部103は、操作内容についても同様に、算出された確度と確度閾値とを比較し、算出された確度が確度閾値より高い場合には、算出された確度に対応する操作内容を、操作対象機器の操作内容として特定する。これにより、機器特定部103は、認識された音声に基づき、操作対象機器の操作内容を特定する。
【0032】
機器特定部103は、特定された操作機器対象の情報、特定された操作内容の情報、確度の情報を含む信号を操作指令部104に送信し、また各情報をデータベース30に記録する。ユーザとコントローラ100との間の対話により、機器の操作を行う場合には、操作対象機器、操作内容、及び確度の情報は、対話中、データベース30に保持される。機器特定部103は、対話が終了した場合、又は、操作対象機器の操作が終了した場合には、データベースに保持された情報をリセットする。
【0033】
機器特定部103は、算出された確度と確度閾値とを比較し、算出された確度が確度閾値以下である場合には、ユーザに対して再発話を要求するための信号を音声認識部102に出力する。機器特定部103は、操作対象機器を特定できない場合には、ユーザに対して機器の名称を発してもらうために、再発話要求の信号を機器特定部103に出力する。また、機器特定部103は、操作内容を特定できない場合には、ユーザに対して操作内容を示す言語を発してもらうために、再発話要求の信号を機器特定部103に出力する。また、機器特定部103は、音声認識で認識された音声データから確度を算出できない場合には、ユーザに対して再発話を要求するための信号を、音声認識部102に出力する。
【0034】
操作指令部104は、機器特定部103から受信した、操作対象機器の情報及び操作内容の情報に基づき、操作対象機器の動作を制御する。このとき、操作指令部104は、操作対象機器の種別に応じて、操作内容で操作対象機器を動作させる動作タイミングを制御する。
【0035】
ところで、ユーザの声質や車室内の音などにより、音声認識システムによる音声認識の精度が低くなることがある。そのため、ユーザの音声により機器を動作させる場合に、全ての機器の操作について、動作開始前に、ユーザとシステムの対話を用いて、ユーザの意思を確認することも考えられる。しかしながら、全ての機器の操作に対して、ユーザの意思確認をする場合には、音声認識による対話に時間がかかるため、ユーザが声を発してから機器が動作するまでの時間が長くなる。
【0036】
本実施形態では、複数の機器の種別を、ユーザからの返答を要する機器と、ユーザからの返答を要しない機器に分類した上で、機器対象機器の種別に応じて動作タイミングを制御している。すなわち、操作対象機器が、ユーザからの返答を要する機器である場合には、コントローラ100は、ユーザに対して、機器を動作すべきか否かを確認するための通知を行い、ユーザから機器を動作する旨の返答を確認した場合に、機器を動作させる。ユーザへの通知は、ユーザとコントローラ100との間の対話で行われる。また、操作対象機器が、ユーザからの返答を要しない機器である場合には、コントローラ100は、ユーザに対して機器を動作すべきか否かを確認するための通知を行うことなく、機器を動作させる。なお、操作対象機器がユーザからの返答を要しない機器である場合には、コントローラ100は、機器の動作を開始する旨の通知を行い、ユーザからの返答を待たずに機器を動作させてもよい。
【0037】
上記のとおり、複数の機器の種別は、運転関連機器と非運転関連機器に分けられている。操作指令部104は、操作対象機器が運転関連機器である場合には、操作対象機器を、特定された操作内容で動作する前に、ユーザとの対話を行う。一方、操作指令部104は、操作対象機器が非運転関連機器である場合には、音声認識結果の確度に応じて、動作タイミングを制御する。すなわち、確度が判定閾値以上である場合には、操作指令部104は、ユーザに対して動作確認を行うことなく、特定された操作内容で操作対象機器を動作させる。一方、確度が判定閾値未満である場合には、操作指令部104は、特定された操作内容で操作対象機器を動作させる前に、ユーザに対して動作確認を行う。そして、操作指令部104は、特定された操作内容を示す指令値を、操作対象機器に送信する。
【0038】
次に、
図3を用いて、コントローラ100の制御フローを説明する。
図3は、コントローラ100の制御フローを示すフローチャートである。なお、
図3に示す制御フローは、所定の周期で繰り返し実行される。
【0039】
ステップS1にて、コントローラ100は、マイク11を用いて、ユーザの音声を取得する。ステップS2にて、コントローラ100は音声認識処理を実行する。音声認識処理は、音声認識システムによる制御処理であって、マイク11から出力される音声データを用いて、ユーザの音声を認識するための処理である。また、コントローラ100は、は音声認識処理で認識された音声データをデータベース30に記憶する。すなわち、コントローラ100は、音声の認識結果を示すデータをデータベース30に記憶する記憶制御と、音声認識制御を並行して実行する。これにより、音声認識処理を行う際に、過去の認識結果を利用できるため、音声認識の精度を高めることができる。
【0040】
ステップS3にて、コントローラ100は、音声認識処理の結果から新規音声を認識したか否かを判定する。新規音声は、ユーザとコントローラ100との間で対話を開始するための音声である。コントローラ100は、新規音声を認識したと判定した場合には、ユーザとの間で対話をできる状態にする。例えば、音声認識システムが、音声認識精度を高めるためにノイズキャンセル機能を有している場合には、コントローラ100は、このノイズキャンセル機能を動作させた状態とする。コントローラ100は、新規音声を認識していない判定した場合には、ステップS1の制御フローを実行する。ステップS1~ステップS3の制御ループが繰り返し実行されることで、ユーザからの発話を待つ状態が維持される。
【0041】
ステップS4にて、コントローラ100は、音声認識処理で認識された音声に基づき、操作対象機器及び操作内容を特定するための機器特定処理を開始する。ステップS5にて、コントローラ100は、機器操作を目的としているか否かを判定する。例えば、音声認識により認識された文字列が、機器識別データで示される名称に該当しない場合には、コントローラ100は、機器操作を目的としていないと判定し、ステップS1の制御フローを実行する。またコントローラ100は、識別さされた音声に対して、確度を算出する。
【0042】
機器操作を目的としていると判定された場合には、ステップS6にて、コントローラ100は、算出された確度を確度閾値とを比較し、その比較結果に基づいて、操作対象機器を特定できるか否か判定する。操作対象機器を特定できない場合には、コントローラ100はステップS1の制御フローを実行する。このとき、コントローラ100は、操作対象機器が特定できなかったこと、及び、ユーザに対して再発話を求めることを示すための音声をスピーカ12から出力させてもよい。
【0043】
操作対象機器を特定できると判定された場合には、ステップS7にて、コントローラ100は、算出された確度を確度閾値とを比較し、操作対象機器に対応する操作内容を特定できるか否か判定する。操作内容特定できない場合には、コントローラ100はステップS1の制御フローを実行する。このとき、コントローラ100は、操作内容が特定できなかったこと、及び、ユーザに対して再発話を求めることを示すための音声をスピーカ12から出力させてもよい。
【0044】
上記のとおり、コントローラ100は、ステップS6の制御処理及びステップS7の制御処理を実行することで、音声認識された音声に基づき、操作対象機器及び操作内容の少なくともいずれか一方を特定できない場合には、ユーザに対して再発話を要求する。これにより、ユーザは機器を操作するために、何をすべきかを速やかに理解することができる。
【0045】
ステップS8にて、コントローラ100は、操作対象機器と操作内容が対応しているか否かを判定する。操作対象機器と操作内容が対応していない場合には、コントローラ100はステップS17の制御フローを実行する。
【0046】
操作対象機器と操作内容が対応している場合には、ステップS9にて、コントローラ100は、特定された操作対象機器の種別が運転関連機器に該当するか否か判定する。操作対象機器が運転関連機器に該当する場合には、ステップS10にて、コントローラ100は、ユーザに対して音声により操作対象機器を動作させるか否かを確認するための通知(以降、動作確認という)を行う。例えば、ワイパーが操作対象機器として特定された場合には、コントローラ100は、「ワイパーを操作しますか?」のような音声をスピーカ12から出力させる。
【0047】
ステップS11にて、コントローラ100は、ユーザによる再発話を待機する待機状態を保持する。コントローラ100は、再発話の待機中に、ユーザから機器を動作する旨の返答を確認した場合には、後述するステップS16の制御フローで、機器を動作させる。
【0048】
ステップS9の制御フローで、特定された操作対象機器の種別が運転関連機器に該当しないと判定された場合(すなわち、特定された操作対象機器の種別が非運転関連機器に該当すると判定された場合)には、コントローラ100は、音声認識結果の確度が判定閾値以上であるか否かを判定する。
【0049】
音声認識結果の確度が判定閾値未満である場合には、コントローラ100は、ステップS13にて、コントローラ100は、ユーザに対して音声による動作確認を行う。ステップS14にて、コントローラ100は、ユーザによる再発話を待機する待機状態を保持する。コントローラ100は、再発話の待機中に、ユーザから機器を動作する旨の返答を確認した場合には、後述するステップS16の制御フローで、機器を動作させる。
【0050】
ステップS15にて、コントローラ100は、ステップS11又はステップS14の制御処理により待機状態を開始した時点から所定期間内に、誤りを指摘する音声を認識したか否か判定する。所定期間内に誤りを指摘する音声が音声認識処理で認識された場合には、コントローラ100は、ステップS18の制御処理を実行する。誤りを指摘する音声が所定時間内に認識されない場合には、コントローラ100は、ステップS16の制御フローを実行する。
【0051】
ステップS12の制御フローにおいて音声認識結果の確度が判定閾値以上であると判定された場合には、コントローラ100は、ステップS10又はステップS13の制御フローのような音声による動作確認を行うことなく、ステップS16の制御フローを実行する。なお、ここでステップS12とステップS16の間に、特定された操作対象機器(この場合、非運転関連機器)の動作を開始する旨の通知を行ってもよい。例えば、操作対象機器が「エアコン」であり、操作内容が「21℃」であれば、この場合の通知内容は、「エアコンを21℃に設定します」という通知となる。つまり、特定された操作対象機器が非運転関連機器であって、音声認識結果の確度が閾値以上ある場合、ユーザに対して動作させるか否かを確認するための通知は行われないが、操作対象機器の動作を開始する等の一方的な通知は行ってもよい。
【0052】
ステップS16にて、コントローラ100は、特定された操作対象機器を特定された操作内容で動作させる。特定された操作機器対象が運転関連機器である場合には、コントローラ100は、ステップS10の制御フローで動作確認を行い、ステップS11及びステップS15の制御フローで、ユーザから機器を動作する旨の返答を確認した場合に、操作対象機器を動作させる。また、特定された操作機器対象が非運転関連機器であって、音声認識結果の確信度が閾値未満である場合には、ステップS13の制御フローで動作確認を行い、ステップS14及びステップS15の制御フローで、ユーザから機器を動作する旨の返答を確認した場合に、操作対象機器を動作させる。なお、コントローラ100は、ステップS10又はステップS13の制御フローで動作確認を行った後、所定期間内にユーザからの返答を確認できない場合には、再度、動作確認を行ってもよい。また、コントローラ100は、ステップS10又はステップS13の制御フローで動作確認を行った後、所定期間内にユーザからの返答を確認できない場合には、コントローラ100は、操作対象機器を操作せずに、音声認識の処理を中止する旨の通知を行ってもよい。
【0053】
ステップS8の制御フローにおいて、操作対象機器と操作内容が対応していないと判定された場合には、ステップS17にて、コントローラ100は、スピーカ12からエラーメッセージを出力する。エラーメッセージは、操作内容を特定できない旨、又は、操作対象機器を特定できない旨のメッセージである。ステップS18にて、コントローラ100は、ユーザに対して再発話を求めることを示すための音声をスピーカ12から出力させて、ステップS1の制御処理を実行する。
なお、上記実施形態では、
図1に記載の各ハードウェアを車両に搭載された車両機器として例示したが、
図1に記載のハードウェアの一部または
図2に記載のコントローラ100の機能の一部を、ネットワークで接続されたサーバの一部により実現してもよい。例えば、音声認識部102をネットワークで接続されたサーバに設け、車両に備えられた音声入出力部101からの音声データを受信して、音声により認識された結果を車両に対して送信するように構成してもよい。
また、
図1に記載のハードウェアの一部または
図2に記載のコントローラ100の機能の一部を、ネットワークで接続されたモバイル端末により実現してもよい。例えば、音声入力部101及び音声認識部102を備えたモバイル機器にてユーザの発話の音声認識及びユーザとの対話を行い、音声により認識された結果を車両に対して送信する構成としてもよい。
【0054】
上記のように本実施形態では、検出器により検出された音データを用いてユーザの音声を認識し、認識された前記音声に基づき複数の機器の中から操作対象となる操作対象機器の種別と、操作対象機器の操作内容をそれぞれ特定し、特定された操作対象機器の種別に応じて、操作内容で操作対象機器を動作させる時のタイミングを制御する。これにより、機器の種別に応じて動作タイミングを早めることができる。その結果として、ユーザが声を発してから機器を動作するまでの時間を短縮化できる。
【0055】
また本実施形態では、特定された操作対象が第1機器である場合には、特定された操作内容で第1機器を動作させ、特定された操作対象が第2機器(第1機器とは種別の異なる第2電子部品)である場合には、特定された操作内容で第2機器を動作させる前に、ユーザに対して返答を求めるための通知をする。これにより、ユーザに対して動作確認を要する機器を音声認識で動作する場合には、ユーザに対して返答を求めるための通知がされるため、最適な対象機器伝達プロセス、および操作実行プロセスを実行できる。
【0056】
また、本実施形態において、複数の機器の種別を、非運転関連機器(第1機器に相当)と、運転関連機器(第2機器に相当)に区別する。これにより操作対象機器が、車両の挙動又は運転操作に影響を及ぼすかどうかによって、対象機器伝達プロセス、および操作実行プロセスを分岐させることができる。
【0057】
また本実施形態では、特定された操作対象が非運転関連機器である場合には、ユーザに対して通知することなく、特定された操作内容で非運転関連機器を動作させる。これにより、動作確認をユーザに行うことなく直接操作に移行するので、ユーザを待たせることなく速やかに操作を実行することができる。
【0058】
また本実施形態では、特定された操作対象が非運転関連機器である場合には、前記ユーザに対して返答を求めるための通知をすることなく、特定された操作内容で非運転関連機器を動作させる。これにより、動作確認をユーザに行うことなく直接操作に移行するので、ユーザを待たせることなく速やかに操作を実行することができる。
【0059】
また本実施形態では、音声のデータ、操作対象機器の種別を示すデータ、及び、操作内容を示すデータをそれぞれデータベースに記憶させ、データベースに記憶されたデータを参照し、マイク11(検出器に相当)により検出された音声に対応する、操作対象機器及び操作内容をそれぞれ特定する。これにより、音声認識の精度を高めることができる。
【0060】
また本実施形態では、音声を認識する音声認識制御と、操作対象機器の種別と操作内容を特定する機器特定制御を並行して実行する。これにより、ユーザの発話終了後、速やかに機器特定制御を実行することができる。
【0061】
また本実施形態では、操作対象機器及び操作内容の認識結果を示す確度を算出する。これにより、確度を用いて制御フローを最適な処理で分岐できる。
【0062】
また本実施形態では、ユーザの音声の認識結果をユーザに通知する。これにより、認識結果に対するユーザの返答が分かるので、速やかに操作の実行または再発話の要求へ移行することができる。
【0063】
また本実施形態では、認識された音声に応じてスピーカを用いて音を出力することでユーザと対話を行い、音声の認識結果に応じてユーザとの対話を中止する。これにより、ユーザの対話中止の意図が分かるので、速やかに対話の中止を行うことができる。
【0064】
なお、
図3に示すように、操作対象機器及び操作対象の少なくともいずれか一方を特定できない場合には、ステップS1~ステップS7の制御フロー及びステップS1~ステップS8の制御フローのいずれか一方の制御ループが実行される。
【0065】
本実施形態の変形例では、制御ループが繰り返し実行されている間に、操作対象機器及び操作対象の少なくともいずれか一方を特定できない状態で所定時間が経過した場合には、コントローラ100は、ユーザに対して再発話を要求する。これにより、機器操作に必要な情報の不足をユーザに伝達できるので、ユーザによる補足を促すことができる。
【0066】
また本実施形態の他の変形例では、制御ループが繰り返し実行されている間に、算出された確度が所定値以下の状態で所定時間が経過した場合には、ユーザに対して再発話を要求する。これにより、確度が閾値に満たない場合は再発話を要求するので、不十分な確度によるシステムの不安定な動作を防ぐことができる。
【0067】
また本実施形態の他の変形例では、上記の所定期間が経過する前に、ユーザとの対話から音声の認識結果の誤りを特定した場合には、ユーザに対して再発話を要求する。これにより、再発話の要求を待つことなく速やかに再発話に移行することができる。
【0068】
また本実施形態の他の変形例では、特定された操作対象が運転関連機器である場合には、特定された操作内容で運転関連機器を動作させる前に、運転関連機器とは異なる機器を動作させる。コントローラ100は、運転関連機器とは異なる機器としてランプを光らせてもよい。ランプは、特定の運転関連機器の動作の開始を、点滅等で示す。これにより、ユーザは、運転関連機器が実際に動作するまえに、操作対象が運転関連機器であることを認識できる。
【0069】
また本実施形態の他の変形例では、特定された操作対象が非運転関連機器である場合には、特定された操作内容で非運転関連機器を動作させる前に、所定の操作内容で非運転関連機器を動作させる。例として、ユーザの要求が「エアコンの風量を弱くして」の場合には、コントローラ100は、エアコンの風量を0.2秒程度のわずかな時間弱くする動作を数回繰り返す。すなわち、ユーザが意図とする「風量を弱くして」は、数秒程度はなく、長い時間、風量を弱くすることを意図としているが、コントローラは、特定された操作内容とは異なる操作として、短時間、風量を弱くする。これにより、ユーザは、エアコンが操作対象であることを認識できる。なお、風量の時間を調整する代わりに、風量を変えれば、ユーザは生じる音によってエアコンが操作対象であることを認識できる。また他の例として、ユーザの目的が「ラジオをラジオ局AAに設定する」である場合に、オーディオから0.2秒程度のわずかな時間、固有の音を流すことによって、ユーザにオーディオが操作対象であることを伝達する。これにより、ユーザに安全かつ速やかに操作対象機器を伝えることができる。
【0070】
また本実施形態の他の変形例では、認識された前記音声に基づき、操作対象機器及び操作内容の少なくともいずれか一方を特定できない場合には、出力装置から音又は光を出力させる。運転関連機器の動作を示す照明を設け、この照明が発光することよって、操作対象をユーザに伝達できる。これにより、アラーム音又は光による短時間での伝達なので、速やかに再発話、およびその認識に移行することができる。なお出力装置はスピーカ12でもよい。
【0071】
なお、ステップS10の制御フローでは、ユーザに対して音声を出力したが、音声を出力する代わりに、非運転関連機器152の機能を用いた固有の動作により、ユーザに対して、操作対象機器を伝達してもよい。例えば非運転関連機器152がオーディオの場合には、固有の動作は例えば固有の音に相当する。
【符号の説明】
1…機器制御装置
11…マイク
12…スピーカ
21…ワイパー
22…ライト
23…オーディオ
24…エアコン
30…データベース
100…コントローラ
101…音声入出力部
102…音声認識部
103…機器特定部
104…操作指令部