1.実施形態
1.1 概要
図1は、移動体100を示す。移動体100は、一実施形態の音声操作方法を実行する音声操作システム10を備える。本実施形態の音声操作方法は、変換ステップと、抽出ステップと、解釈ステップと、生成ステップとを含む。変換ステップは、移動体100の操作のための音声データを文字データに変換するステップである。抽出ステップは、文字データで表される文字列から曖昧部分を抽出するステップである。解釈ステップは、移動体100の操作履歴及び移動体100の状態の少なくとも一方を含む移動体情報141を利用して曖昧部分の解釈をするステップである。生成ステップは、曖昧部分の解釈の結果に基づいて、文字データから移動体100の操作コマンドを生成するステップである。
音声操作方法では、移動体100の操作履歴及び移動体100の状態の少なくとも一方を含む移動体情報によって、文字列の曖昧部分を解釈し、曖昧部分の解釈の結果に基づいて文字データから移動体100の操作コマンドを生成する。そのため、文字列に曖昧部分がある場合であっても、曖昧部分の意味が反映された操作コマンドを移動体100に与えることができる。そのため、ユーザは、移動体100を操作するにあたって、意図的に曖昧部分がないように発話しなくて済む。したがって、音声操作方法によれば、自然な発話で移動体100を操作できる。
1.2 詳細
以下、本実施形態の音声操作方法について更に詳細に説明する。本実施形態の音声操作方法は、図1に示す、音声操作システム10によって実行される。音声操作システム10は、ユーザが音声によって、移動体100の操作をすることを可能にする。音声操作システム10は、いわゆる、ボイスユーザインタフェース(VUI)又は音声対話システムともいわれる。また、本実施形態では、移動体100は自動車である。
本実施形態では、移動体100の操作とは、移動体100それ自体の操作だけではなく、移動体100に付随する装置又はシステムの操作を含む。移動体100それ自体の操作としては、移動体100の運転操作を想定している。移動体100に付随する装置又はシステムとしては、移動体100の本体101に搭載されている種々の装置又はシステムを含む。例えば、移動体100に付随する装置又はシステムの例としては、空調システム、カーナビゲーションシステム、オーディオシステム、シート調整システム(リクライニングシステム)、パワーウィンドウシステム等がある。移動体100に付随する装置又はシステムは、必ずしも移動体100の本体101に搭載されている必要はなく、移動体100と通信可能な装置又はシステムであってもよい。移動体100と通信可能な装置又はシステムは、一例としては、スマートフォン、タブレット端末、ウェアラブル端末等の端末装置がある。
音声操作システム10は、図1に示すように、移動体100の本体101に搭載される。本体101には、更に、音声入力システム20、情報取得システム30、走行制御装置40、空調装置50、カーナビゲーションシステム60、及びオーディオシステム70が搭載される。
音声操作システム10は、図2に示すように、入出力部11と、処理部12と、通信部13と、記憶部14とを備える。音声操作システム10は、コンピュータシステムにより実現され得る。コンピュータシステムは、1以上のプロセッサ、1以上のコネクタ、1以上の通信機器、及び1以上のメモリ等を含み得る。
入出力部11は、移動体100の本体101に搭載されているシステムとの間の情報の入出力を行う。本実施形態では、入出力部11は、音声入力システム20、情報取得システム30、走行制御装置40、空調装置50、カーナビゲーションシステム60、及びオーディオシステム70に通信可能に接続される。入出力部11は、1以上の入出力装置を含み、1以上の入出力インタフェースを利用する。
音声入力システム20は、移動体100の操作のための音声データの入力のためのシステムである。音声入力システム20は、1以上のマイクロフォンを含む。音声入力システム20は、1以上のマイクロフォンにより音声を収集し、収集した音声を表す音声データを生成して出力する。これによって、入出力部11は、音声入力システム20から音声データを取得する。
情報取得システム30は、移動体100の状態の取得のためのシステムである。特に、情報取得システム30は、移動体100の内部状態の取得のためのシステムである。情報取得システム30が取得する状態は、特に、移動体100の動的な内部状態を含む。移動体100の動的な内部状態は、移動体100の移動に関する状態、及び移動体100に乗っている人物に関する状態の少なくとも一つを含み得る。移動体100の移動に関する状態の例としては、移動体100の速度(現在の速度)、移動体100の操舵角、移動体100のエネルギー(ガソリン、電気)の残量が挙げられる。更に、移動体100の移動に関する状態の例としては、移動体100の周囲の温度(現在の温度)、移動体100の周囲の騒音レベル、移動体100の周囲の状況(物体の有無等)が挙げられる。移動体100に乗っている人物に関する状態の例としては、移動体100に乗っている人物の状態(現在の状態)が挙げられる。情報取得システム30は、加速度センサ、カメラ、超音波センサ、マイクロフォン、温度センサ、圧力センサ、ミリ波(テラヘルツ波)センサ、呼気センサ等の種々のセンサを含み得る。また、情報取得システム30は、走行制御装置40等の他の装置から移動体100の情報(例えば、移動体100の操舵角、移動体100のエネルギー(ガソリン、電気)の残量)を取得するための入出力インタフェースを含み得る。
走行制御装置(走行制御システム)40は、移動体100の走行を制御するシステムである。走行制御装置40は、移動体100の速度の調節、移動体100の操舵角の調節、及び移動体100の前進・後退の切り替えを行う機能を有し得る。したがって、走行制御装置40によれば、移動体100のドライバーの操作がなくても、移動体100の速度を低下させたり、移動体100を停止させたりすることが可能である。
空調装置(空調システム)50は、移動体100内の温度を調整するためのシステムである。カーナビゲーションシステム60は、目的地までの案内等をするためのシステムである。カーナビゲーションシステム60は、液晶ディスプレイや、有機ELディスプレイ、3Dヘッドアップディスプレイ(HUD)等の画像表示装置、及び音声出力装置を含み得る。オーディオシステム70は、音声や音楽等を再生するためのシステムである。オーディオシステム70は、1以上のスピーカを含み得る。なお、空調装置50、カーナビゲーションシステム60、及びオーディオシステム70の機能自体はよく知られているため、詳細な説明は省略する。
通信部13は、移動体100の本体101に搭載されていないシステムとの間の情報の入出力を行う。本実施形態では、通信部13は、外部システム80に通信可能に接続される。通信部13は、1以上の通信装置を含み、通信ネットワークを介した通信を実現する。通信ネットワークは、単一の通信プロトコルに準拠したネットワークだけではなく、異なる通信プロトコルに準拠した複数のネットワークで構成されていてもよい。通信プロトコルは、周知の様々な有線及び無線通信規格から選択され得る。ただし、通信部13と外部システム80との間の通信は、移動体通信により行われることが好ましい。なお、通信ネットワークは、必要に応じて、リピータハブ、スイッチングハブ、ブリッジ、ゲートウェイ、ルータ等のデータ通信機器を含み得る。
外部システム80は、移動体100の状態の取得のためのシステムである。特に、外部システム80は、移動体100の外部状態の取得のためのシステムである。外部状態は、移動体100の位置に関する状態、移動体100の周辺の状態、及び移動体100と連携するシステムの状態の少なくとも一つを含み得る。移動体100の位置に関する状態の例としては、移動体100の位置情報が挙げられる。移動体100の周辺の状態の例としては、交通情報(渋滞情報等)、騒音レベル、天気情報、時間情報が挙げられる。移動体100と連携するシステムの状態の例としては、移動体100とは別の移動体からの情報、移動体100に関するサービス提供者からの情報等が挙げられる。例えば、別の移動体が移動体100の前方の移動体(車両)である場合には、別の移動体からの情報の例としては、衝突可能性物体の検出情報、急ブレーキの発生情報がある。移動体100に関するサービス提供者からの情報としては、移動体100が走行中の道路の平均速度がある。外部システム80は、1以上の情報提供システムを含み得る。情報提供システムの例としては、グローバル・ポジショニング・システム(GPS)、道路交通情報通信システムが挙げられる。
記憶部14は、処理部12が利用する情報を記憶するために用いられる。記憶部14は、1以上の記憶装置を含む。記憶装置は、例えば、RAM(Random Access Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)である。
記憶部14は、移動体情報141を記憶する。移動体情報141は、移動体100の操作履歴、及び移動体100の状態の少なくとも一方を含み得る。本実施形態では、移動体情報141は、移動体100の操作履歴、及び移動体100の状態の両方を含んでいる。
操作履歴は、移動体100の操作の履歴である。操作の履歴は、音声操作システム10による移動体100の操作の履歴と、ユーザによる移動体100の手動操作の履歴とを含み得る。上述したように、移動体100の操作は、移動体100それ自体の操作だけではなく、移動体100に付随する装置又はシステムの操作を含む。本実施形態では、移動体100の操作は、走行制御装置40の操作(移動体100自体の操作)に加えて、空調装置50の操作、カーナビゲーションシステム60の操作、及びオーディオシステム70の操作を含む。
移動体100の状態は、移動体100の内部状態と移動体100の外部状態との少なくとも一方を含み得る。内部状態は、移動体100の移動に関する状態、移動体100の性能に関する状態、及び移動体100に乗っている人物に関する状態の少なくとも一つを含み得る。ここで、移動体100の移動に関する状態、及び、移動体100に乗っている人物に関する状態は、情報取得システム30から取得可能である。移動体100の性能に関する状態は、移動体100の諸元(移動体100の本体101の寸法、燃費等)を含む。外部状態は、移動体の位置に関する状態、移動体の周辺の状態、及び移動体と連携する外部システムの状態の少なくとも一つを含み得る。外部状態は、外部システム80から取得可能である。なお、移動体100の状態のうち、静的な状態については、予め記憶部14に記憶されていてよいし、必要に応じて、外部システム80から取得してもよい。
処理部12は、例えば、1以上のプロセッサ(マイクロプロセッサ)により実現され得る。つまり、1以上のプロセッサが1以上のメモリに記憶された1以上のプログラム(コンピュータプログラム)を実行することで、処理部12として機能する。1以上のプログラムは、1以上のメモリに予め記録されていてもよいし、インターネット等の電気通信回線を通じて、又はメモリカード等の非一時的な記録媒体に記録されて提供されてもよい。
処理部12は、図2に示すように、取得部121と、変換部122と、抽出部123と、解釈部124と、生成部125とを有している。取得部121と、変換部122と、抽出部123と、解釈部124と、生成部125とは、実体のある構成を示しているわけではなく、処理部12によって実現される機能を示している。
取得部121は、移動体100の操作のための音声データを取得する。つまり、処理部12は、移動体の操作のための音声データを取得する取得ステップを実行する。取得部121は、入出力部11を通じて、音声入力システム20から音声データを取得する。
本実施形態では、取得部121は、音声データを特定の人物の音声から取得する。取得部121は、音声入力システム20からの音声データが表す音声の発話者が特定の人物である場合に、音声入力システム20からの音声データを取得する。特定の人物は、あらかじめ音声操作システム10に登録された人物であってよい。一例として、特定の人物は、移動体100のドライバーである。取得部121は、話者認識技術により、音声入力システム20から取得した音声データに基づいて、音声データが表す音声の発話者が特定の人物かどうかを判断する。取得部121は、音声データが表す音声の発話者が特定の人物である場合に、音声データを取得するが、そうでない場合には、音声データを破棄する。つまり、取得部121は、特定の人物からの音声データを変換部122に与える。これによって、意図しない人物によって音声操作システム10で移動体100が操作される可能性を低減できる。なお、話者認識技術には従来周知の技術を採用できるから詳細な説明は省略する。
変換部122は、移動体100の操作のための音声データを文字データに変換する。つまり、処理部12は、移動体100の操作のための音声データを文字データに変換する変換ステップを実行する。文字データは、特定言語の文字列(テキスト)を表すデータである。本実施形態では、特定言語として日本語を想定している。
変換部122は、音声認識技術により、取得部121からの音声データを、文字データに変換する。なお、音声認識技術には従来周知の技術が採用できるから詳細な説明は省略する。本実施形態では、変換部122は、文字データに特定の文字列が含まれている場合に、文字データの抽出部123への出力を開始する。特定の文字列は、いわゆるウェイクアップフレーズである。特定の文字列は、自由に決めることができるが、日常的な語句や移動体100の操作のための語句との混同が生じないように決定されるとよい。なお、変換部122は、終了条件が満たされるまでは、文字データに特定の文字列が含まれていなくても、文字データを抽出部123に出力してよい。これにより、ユーザは、その都度、特定の文字列を含む音声を発しなくて済むようになる。終了条件としては、取得部121から所定期間のあいだ音声データの入力がないことであってよい。所定期間は、ユーザが、特定の文字列を含む音声を発した後に、移動体100の操作の内容に対応する音声を発することが許容されるように決定されるとよい。
抽出部123は、文字データで表される文字列から曖昧部分を抽出する。つまり、処理部12は、文字データで表される文字列から曖昧部分を抽出する抽出ステップを実行する。曖昧部分は、文字列の一部又は全部であって、単独では意味が一意に定まらないものをいう。曖昧部分は、副詞又は副詞句である副詞部分である。副詞の種類としては、状態、程度等がある。特に、本実施形態では、副詞部分としては、程度を表す副詞部分を想定している。程度の副詞(又は副詞句)としては、程度の「大」、「中」、「小」に応じた副詞がある。程度が「大」の副詞としては、「もっと」、「ずっと」、「かなり」がある。程度が「中」の副詞としては、「そこそこ」、「ほどほど」がある。程度が「小」の副詞としては、「もう少し」、「ちょっと」ある。例えば、「速度をもう少し上げて」という文字列の場合、曖昧部分は、「もう少し」である。「温度をちょっと下げて」という文字列の場合、曖昧部分は、「ちょっと」である。「もっと先の地図を出して」という文字列の場合、曖昧部分は、「もっと」である。「音量をかなり上げて」という文字列の場合、曖昧部分は、「かなり」である。 また、曖昧部分は、文字列の一部に限らない。文字列全体が曖昧部分である場合があり、これは、文字列が文として成立していない場合である。一例としては、述語(動詞)が欠けている文、必要な目的語がない文等が挙げられる。例えば、「もっと」、「まだ」、「まだまだ」、「ずっと」、「とても」、「かなり」「もう少し」、「あとちょっと」、「まだまだ」とうい文字列の場合、これら全体が曖昧部分である。他の例としては、「ストップ」、「だめ」、「やめて」という文字列の場合、これら全体が曖昧部分である。
本実施形態では、抽出部123は、文字列に曖昧部分が含まれているかどうかを判断する。抽出部123は、文字列に曖昧部分が含まれている場合には、文字列から曖昧部分を抽出し、解釈部124に与える。一方、抽出部123は、文字列に曖昧部分が含まれていない場合には、文字列を生成部125に与える。
解釈部124は、移動体100の操作履歴及び移動体100の状態の少なくとも一方を含む移動体情報を利用して曖昧部分の解釈をする。つまり、処理部12は、移動体100の操作履歴及び移動体100の状態の少なくとも一方を含む移動体情報を利用して曖昧部分の解釈をする解釈ステップを実行する。
解釈部124は、抽出部123によって抽出された曖昧部分の解釈を行う。特に、解釈部124は、副詞部分の解釈では、副詞部分が表す程度に応じて移動体100の操作に関連するパラメータの変量又は目標値を決定する。特に、解釈部124は、副詞部分が表す程度の度合い(例えば、大、中、小の3分類)を判断し、これをパラメータの変量又は目標値に反映させる
この場合、まず、解釈部124は、文字列における曖昧部分を除く部分と移動体情報141との少なくとも一方を利用して、音声データに応じて変更するパラメータを決定する。本実施形態では、解釈部124は、文字列における曖昧部分を除く部分に目的語が含まれているかどうかを判断する。
目的語があれば、解釈部124は、目的語に基づいて、パラメータを決定する。例えば、文字列が「速度をもう少し上げて」である場合、曖昧部分は「もう少し」であり、曖昧部分を除く部分は、述語(動詞)「上げて」と目的語「速度」とを含んでいる。この場合、解釈部124は、文字列における曖昧部分を除く部分(目的語「速度」)を利用して、パラメータを決定する。つまり、解釈部124は、走行制御装置40での速度を、音声データに応じて変更するパラメータとして選択する。なお、解釈部124は、動詞に基づいて、パラメータを増やすか減らすかを決定してよい。ここでは動詞は「上げて」であるから、解釈部124は、パラメータを増やすと決定できる。例えば、文字列が「温度をちょっと下げて」である場合、曖昧部分を除く部分には、目的語「温度」がある。この場合、解釈部124は、空調装置50での温度(設定温度)を、音声データに応じて変更するパラメータとして選択する。また、文字列が「もっと先の地図を表示して」である場合に、曖昧部分を除く部分には、目的語「地図」がある。この場合、解釈部124は、カーナビゲーションシステム60で表示する地図の現在地からの距離を、音声データに応じて変更するパラメータとして選択する。また、文字列が「音量をかなり上げて」である場合、曖昧部分を除く部分には、目的語「音量」がある。この場合、解釈部124は、オーディオシステム70での音量を、音声データに応じて変更するパラメータとして選択する。
目的語がない場合、解釈部124は、移動体情報141を利用して、音声データに応じて変更するパラメータを決定する。例えば、解釈部124は、移動体情報141に含まれる移動体100の操作履歴を参照する。例えば、文字列が「もう少し」である場合、この文字列は、副詞のみであり、目的語が含まれていない。この場合、解釈部124は、移動体情報141に含まれる操作履歴を利用して、パラメータを決定する。つまり、解釈部124は、移動体100の操作履歴に基づいて、曖昧部分が係る語句を判定する。例えば、操作履歴によれば、音声データの入力の直前にドライバーが速度を上げていた場合、解釈部124は、走行制御装置40での速度を音声データに応じて変更するパラメータとして選択する。更に、解釈部124は、操作履歴から、パラメータを増やすか減らすかを決定してよい。操作履歴では速度を挙げているから、解釈部124は、パラメータを増やすと決定できる。また、操作履歴によれば、音声データの入力の直前にドライバーが空調装置50で温度(設定温度)を上げていた場合、解釈部124は、空調装置50の設定温度を音声データに応じて変更するパラメータとして選択する。また、操作履歴によれば、音声データの入力の直前にドライバーがカーナビゲーションシステム60の画面のサイズを大きくしていた場合、解釈部124は、カーナビゲーションシステム60の画面のサイズを音声データに応じて変更するパラメータとして選択する。また、操作履歴によれば、音声データの入力の直前にドライバーがオーディオシステム70での音量を上げていた場合、解釈部124は、オーディオシステム70での音量を音声データに応じて変更するパラメータとして選択する。
このようにして、解釈部124は、文字列における曖昧部分を除く部分と移動体情報141との少なくとも一方を利用して、音声データに応じて変更するパラメータを決定する。解釈部124が変更するパラメータを決定した時点では、文字列からは、どの程度パラメータを変更すればよいのかが不明である。そこで、解釈部124は、副詞部分が表す程度に応じて移動体100の操作に関連するパラメータの変量又は目標値を決定する。
本実施形態では、解釈部124は、予め設定された1以上のルールに従って曖昧部分の解釈をする。下記の表1は、速度というパラメータに関するルールの例を示す。表1のルールは、副詞部分の程度と速度の現在値とから、速度の変量を決定するルールである。表1のルールでは、変更するパラメータの現在値から、その変量を決定している。
このルールに従い、解釈部124は、移動体情報から速度の現在値を取得し、副詞部分の程度及び速度の現在値に応じて、速度の変量を決定する。例えば、曖昧部分が「もう少し」である場合、副詞部分の程度の度合いが「小」となる。そして、速度の現在値が90km/hであれば、解釈部124は、「もう少し」という曖昧部分(副詞部分)の程度が、速度というパラメータについて「5km/h」である、という解釈をする。また、速度の現在値が15km/hであれば、解釈部124は、「もう少し」という曖昧部分(副詞部分)の程度が、速度というパラメータについて「1km/h」である、という解釈をする。
また、下記の表2は、カーナビゲーションシステム60の画面に表示する地図の現在地からの距離というパラメータに関するルールの例を示す。表2のルールは、副詞部分の程度と速度の現在値とから、目標値を決定している。ここで、目標値は、カーナビゲーションシステム60の画面に表示する地図の現在地からの距離である。この例では、現在地からの距離というパラメータの目標値を決定するにあたっては、速度の現在値を利用している。つまり、曖昧部分の解釈においては、パラメータの変量又は目標値を決定するにあたり、別のパラメータを参照してよい。
このルールに従い、解釈部124は、移動体情報から速度の現在値を取得し、副詞部分の程度及び速度の現在値に応じて、表示する地図の現在地からの距離の目標値を決定する。例えば、曖昧部分が「もっと」である場合、副詞部分の程度の度合いが「小」となる。そして、速度の現在値が90km/hであれば、解釈部124は、「もっと」という曖昧部分(副詞部分)の程度が、表示する地図の現在値からの距離というパラメータについて「2km」である、という解釈をする。また、速度の現在値が15km/hであれば、解釈部124は、「もっと」という曖昧部分(副詞部分)の程度が、表示する地図の現在値からの距離というパラメータについて「300m」である、という解釈をする。
一方、解釈部124は、曖昧部分が程度の副詞部分ではない場合には、曖昧部分が否定的な意味合いかどうか判断する。例えば、解釈部124は、抽出部123で抽出された曖昧部分が、否定的な意味合いである曖昧部分に合致するかどうかを判断する。否定的な意味合いである曖昧部分の例としては、「ストップ」、「だめ」、「やめて」という文字列がある。解釈部124は、曖昧部分が否定的な意味合いである場合には、曖昧部分が否定的な意味合いであるという解釈の結果を、生成部125に与える。
以上述べたように、解釈部124は、抽出部123によって抽出された曖昧部分の解釈を行う。そして、解釈部124は、曖昧部分の解釈の結果を、生成部125に与える。
生成部125は、文字データから移動体100の操作コマンドを生成する。つまり、生成部125は、文字データから移動体100の操作コマンドを生成する生成ステップを実行する。
生成部125は、文字データに曖昧部分がない場合には、文字データから移動体100の操作コマンドを生成する。例えば、「速度を5キロ上げて」という文字列であれば、生成部125は、文字列の目的語に基づいてパラメータを決定する。また、生成部125は、文字列の述語(動詞)に基づいて、パラメータを増やすか減らすかを決定する。ここでは動詞は「上げて」であるから、生成部125は、パラメータを増やすと決定する。更に、生成部125は。文字列からパラメータの変量を決定する。ここでは、「5キロ」という部分に基づいて、速度のパラメータの変量を5km/hと判断する。その結果、生成部125は、速度を5km/h増加させることを指示する操作コマンドを生成する。生成部125は、生成した操作コマンドを、入出力部11を介して走行制御装置40に出力する。このような文字データに曖昧部分がない場合の処理は、従来周知の技術により実現可能であるから、詳細には説明しない。
生成部125は、文字データに曖昧部分がある場合には、解釈部124での解釈の結果に基づいて、文字データから移動体100の操作コマンドを生成する。ここで、曖昧部分が、程度を表す副詞部分であれば、解釈部124の解釈の結果から、生成部125は、音声データに応じて変更するパラメータ、及びパラメータの目標値又は変量を取得して、文字データから操作コマンドを生成する。例えば、文字列が「速度をもう少し上げて」であって、解釈部124が、「もう少し」という曖昧部分(副詞部分)の程度が、速度というパラメータについて「5km/h」である、という解釈をしたとする。この場合、生成部125は、解釈部124の解釈の結果に基づいて、「速度をもう少し上げて」という文字列を表す文字データから、速度を5km/h増加させることを指示する操作コマンドを生成する。生成部125は、生成した操作コマンドを、入出力部11を介して走行制御装置40に出力する。したがって、文字データが表す文字列に曖昧部分がある場合でも、音声操作システム10は、音声による移動体100の操作を可能にする。
一方、解釈部124で曖昧部分が否定的な意味合いに解釈された場合、生成部125は、移動体100の操作を中止するための操作コマンドを生成する。特に、生成部125は、直前の移動体100の操作を中止するための操作コマンドを生成する。直前の移動体100の操作は、例えば、直前に生成した操作コマンドによる移動体100の操作である。一例として、移動体100のドライバーが「ストップ」という音声を発した場合、抽出部123は「ストップ」という文字列を表す文字データから「ストップ」という部分を曖昧部分として抽出する。そして、解釈部124は「ストップ」という曖昧部分を否定的な意味合いに解釈する。そして、生成部125は、直前に、速度を5km/h増加させることを指示する操作コマンドを生成していた場合、この操作を中止するための操作コマンドを生成する。そして、生成部125は、生成した操作コマンドを、入出力部11を介して走行制御装置40に出力する。これによって、音声操作システム10は、ドライバーが誤った操作を行い、とっさに取り消したい場合にも対応することが可能となる。
1.3 動作
以下、音声操作システム10の動作について図3のフローチャートを参照して簡単に説明する。まず、音声入力システム20に音声が入力された場合(S11:Yes)、音声操作システム10では、取得部121が入出力部11を通じて音声入力システム20から音声データを取得する(S12)。なお、本実施形態では、取得部121は、音声データの音声が特定の人物の音声である場合だけ、音声データを取得する。つまり、特定の人物以外の音声の音声データは破棄される。取得部121が取得した音声データは、変換部122によって、文字データに変換される(S13)。そして、文字データが表す文字列に曖昧部分があるかどうかが、抽出部123によって判断される(S14)。曖昧部分がない場合(S14:No)、生成部125は、文字データから操作コマンドを生成する(S15)。そして、生成部125は、生成した操作コマンドを、対応するシステムに出力する(S16)。一方、文字データが表す文字列に曖昧部分がある場合(S14:No)、解釈部124で曖昧部分の解釈が行われる(S17)。そして、生成部125は、解釈部124での解釈の結果に基づいて、文字データから操作コマンドを生成する(S18)。そして、生成部125は、解釈部124での解釈の結果を利用して生成した操作コマンドを、対応するシステムに出力する(S16)。
1.4 まとめ
以上述べた音声操作システム10は、変換部122と、抽出部123と、解釈部124と、生成部125とを備える。変換部122は、移動体100の操作のための音声データを文字データに変換する。抽出部123は、文字データで表される文字列から曖昧部分を抽出する。解釈部124は、移動体100の操作履歴及び移動体100の状態の少なくとも一方を含む移動体情報141を利用して曖昧部分の解釈をする。生成部125は、曖昧部分の解釈の結果に基づいて、文字データから移動体100の操作コマンドを生成する。音声操作システム10によれば、自然な発話で移動体100を操作できる。
換言すれば、音声操作システム10は、下記の方法(音声操作方法)を実行しているといえる。音声操作方法は、変換ステップと、抽出ステップと、解釈ステップと、生成ステップとを含む。変換ステップは、移動体100の操作のための音声データを文字データに変換するステップである。抽出ステップは、文字データで表される文字列から曖昧部分を抽出するステップである。解釈ステップは、移動体100の操作履歴及び移動体100の状態の少なくとも一方を含む移動体情報141を利用して曖昧部分の解釈をするステップである。生成ステップは、曖昧部分の解釈の結果に基づいて、文字データから移動体100の操作コマンドを生成するステップである。この音声操作方法によれば、音声操作システム10と同様に、自然な発話で移動体100を操作できる。
音声操作方法は、1以上のプロセッサがプログラム(コンピュータプログラム)を実行することにより実現される。このプログラムは、1以上のプロセッサに音声操作方法を実行させるためのプログラムである。このようなプログラムによれば、音声操作方法と同様に、自然な発話で移動体100を操作できる。
2.変形例
本開示の実施形態は、上記実施形態に限定されない。上記実施形態は、本開示の目的を達成できれば、設計等に応じて種々の変更が可能である。以下に、上記実施形態の変形例を列挙する。
一変形例では、入出力部11、通信部13及び記憶部14は必須ではない。音声操作システム10は、処理部12が音声入力システム20、情報取得システム30、走行制御装置40、空調装置50、カーナビゲーションシステム60、オーディオシステム70、外部システム80と情報の授受をするように構成されていてよい。
一変形例では、取得部121は、必ずしも、音声データを特定の人物の音声から取得しなくてもよい。また、変換部122は、文字データが表す文字列に特定の文字列が確認されなくても、文字データの抽出部123への出力をしてよい。あるいは、取得部121は、特定の操作がされた際に、音声データを取得して変換部122に与え、これによって、変換部122が文字データを抽出部123へ出力してよい。特定の操作としては、発話開始の通知のためのボタンが押すことが挙げられる。これにより、プッシュ・トゥ・トーク(PTT)のように、音声を入力することが可能となる。
一変形例では、解釈部124で用いるルールは、関数であってもよい。つまり、副詞部分の程度及び移動体情報141からの数値に対してパラメータの目標値又は変量を与える関数を利用可能である。これによって、パラメータの目標値又は変量の設定の自由度が向上する。
一変形例では、解釈部124において、学習済みモデルを利用することが可能である。例えば、解釈部124は、移動体情報141と曖昧部分の解釈の結果との関係を学習した学習済みモデルを利用して、抽出部123で抽出した曖昧部分の解釈をしてよい。換言すれば、解釈ステップは、移動体情報141と曖昧部分の解釈の結果との関係を学習した学習済みモデルを利用して、抽出ステップで抽出した曖昧部分の解釈をするステップであってよい。
この場合、記憶部14は、解釈部124での解釈に使用される解釈モデルを格納する。解釈モデルは、移動体情報141と曖昧部分の解釈の結果との関係を示す学習用データセットにより、人工知能のプログラム(アルゴリズム)に、移動体情報141と曖昧部分の解釈の結果との関係を学習させることで、生成される。人工知能のプログラムは、機械学習のモデルであって、例えば、階層モデルの一種であるニューラルネットワークが用いられる。解釈モデルは、ニューラルネットワークに学習用データセットで機械学習(例えば、深層学習)を行わせることで、生成される。つまり、解釈モデルは、移動体情報141と曖昧部分の解釈の結果との関係を学習した学習済みモデルである。解釈モデルは、音声操作システム10の処理部12又は外部システム80により生成されてよい。
解釈部124は、記憶部14に記憶された解釈モデルを利用して、文字列が曖昧部分を含む文字データに基づいて曖昧部分の解釈を行う。解釈部124は、文字データを受け取ると、解釈モデルに、文字データ及び移動体情報141を入力して、曖昧部分の解釈の結果を出力させる。解釈部124は、曖昧部分の解釈の結果が得られると、生成部125に与える。
音声操作システム10では、解釈部124は、解釈モデルを生成するための学習用データを収集し、蓄積してもよい。このように解釈部124で新たに収集した学習用データは、解釈モデルの再学習に利用でき、これによって、解釈モデル(学習済みモデル)の性能の向上が図れる。特に、程度を表す副詞部分の解釈を行った後に受け取った曖昧部分が否定的な意味合いであった場合に、程度を表す副詞部分の解釈が誤りであったと考えられる。そこで、程度を表す副詞部分の誤った解釈を学習用データに利用すれば、解釈モデルの性能の向上が図れる。
上記実施形態では、音声データで変更するパラメータが速度や表示する地図の現在地からの距離である場合に、移動体情報として、速度の現在値を用いている。しかしながら、移動体情報141は、速度の現在値に限定されず、上述した移動体100の操作履歴及び移動体100の情報(内部情報及び外部情報)のいずれを利用してもよい。例えば、走行制御装置40に関する曖昧部分の解釈では、移動体100の速度(現在の速度)、移動体100の操舵角、移動体100の性能、移動体100が走行中の道路の平均速度が利用できる。例えば、空調装置50に関する曖昧部分の解釈では、移動体100の周囲の温度(現在の温度)、移動体100に乗っている人物の状態(現在の状態)、移動体100の位置情報、天気情報、時間情報が利用できる。例えば、カーナビゲーションシステム60に関する曖昧部分の解釈では、移動体100の速度(現在の速度)、移動体100の操舵角、移動体100のエネルギー(ガソリン、電気)の残量、移動体100の位置情報、天気情報、時間情報が利用できる。例えば、オーディオシステム70に関する曖昧部分の解釈では、移動体100の周囲の騒音レベル、移動体100に乗っている人物の状態(現在の状態)、天気情報、時間情報が利用できる。
上記実施形態では、音声操作システム10は、移動体100の本体101に搭載されているが、音声操作システム10は、移動体100と通信可能な装置に搭載されてよい。つまり、音声操作システム10は、移動体100の遠隔操作にも利用可能である。また、音声操作システム10での操作の対象となる移動体100は、自動車に限らず、例えば、二輪車、電車、ドローン、航空機、建設機械、及び船舶等、自動車以外の移動体にも適用可能である。
一変形例では、音声操作システム10は、複数のコンピュータにより構成されていてもよい。例えば、音声操作システム10の機能(特に、取得部121、変換部122、抽出部123、解釈部124、及び生成部125)は、複数の装置に分散されていてもよい。更に、音声操作システム10の機能の少なくとも一部が、例えば、クラウド(クラウドコンピューティング)によって実現されていてもよい。
以上述べた音声操作システム10の実行主体は、コンピュータシステムを含んでいる。コンピュータシステムは、ハードウェアとしてのプロセッサ及びメモリを有する。コンピュータシステムのメモリに記録されたプログラムをプロセッサが実行することによって、本開示における音声操作システム10の実行主体としての機能が実現される。プログラムは、コンピュータシステムのメモリに予め記録されていてもよいが、電気通信回線を通じて提供されてもよい。また、プログラムは、コンピュータシステムで読み取り可能なメモリカード、光学ディスク、ハードディスクドライブ等の非一時的な記録媒体に記録されて提供されてもよい。コンピュータシステムのプロセッサは、半導体集積回路(IC)又は大規模集積回路(LSI)を含む1乃至複数の電子回路で構成される。LSIの製造後にプログラムされる、フィールド・プログラマブル・ゲート・アレイ(FGPA)、ASIC(application specific integrated circuit)、又はLSI内部の接合関係の再構成又はLSI内部の回路区画のセットアップができる再構成可能な論理デバイスも同じ目的で使うことができる。複数の電子回路は、1つのチップに集約されていてもよいし、複数のチップに分散して設けられていてもよい。複数のチップは、1つの装置に集約されていてもよいし、複数の装置に分散して設けられていてもよい。
3.態様
上記実施形態及び変形例から明らかなように、本開示は、下記の態様を含む。以下では、実施形態との対応関係を明示するためだけに、符号を括弧付きで付している。
第1の態様は、音声操作方法であって、変換ステップと、抽出ステップと、解釈ステップと、生成ステップとを含む。前記「変換ステップは、移動体(100)の操作のための音声データを文字データに変換する。前記抽出ステップは、前記文字データで表される文字列から曖昧部分を抽出する。前記解釈ステップは、前記移動体(100)の操作履歴及び前記移動体(100)の状態の少なくとも一方を含む移動体(100)情報を利用して前記曖昧部分の解釈をする。前記生成ステップは、前記曖昧部分の解釈の結果に基づいて、前記文字データから前記移動体(100)の操作コマンドを生成する。この態様によれば、自然な発話で移動体(100)を操作できる。
第2の態様は、第1の態様の音声操作方法に基づく。第2の態様では、前記曖昧部分、副詞又は副詞句である副詞部分である。この態様によれば、より自然な発話で移動体(100)を操作できる。
第3の態様は、第2の態様の音声操作方法に基づく。第3の態様では、前記副詞部分は、程度を表す。この態様によれば、より自然な発話で移動体(100)を操作できる。
第4の態様は、第3の態様の音声操作方法に基づく。第4の態様では、前記副詞部分の解釈では、前記副詞部分が表す程度に応じて前記移動体(100)の操作に関連するパラメータの変量又は目標値を決定する。この態様によれば、より自然な発話で移動体(100)を操作できる。
第5の態様は、第4の態様の音声操作方法に基づく。第5の態様では、前記解釈ステップは、前記文字列における前記曖昧部分を除く部分と前記移動体(100)情報との少なくとも一方を利用して、前記音声データに応じて変更するパラメータを決定する。この態様によれば、より自然な発話で移動体(100)を操作できる。
第6の態様は、第1~第5の態様のいずれか一つの音声操作方法に基づく。第6の態様では、前記解釈ステップは、移動体(100)情報と曖昧部分の解釈の結果との関係を学習した学習済みモデルを利用して、前記抽出ステップで抽出した曖昧部分の解釈をする。この態様によれば、曖昧部分の解釈の精度が向上する。
第7の態様は、第1~第5の態様のいずれか一つの音声操作方法に基づく。第7の態様では、前記解釈ステップは、予め設定された1以上のルールに従って前記曖昧部分の解釈をする。この態様によれば、曖昧部分の解釈の精度が向上する。
第8の態様は、第1~第7の態様のいずれか一つの音声操作方法に基づく。第8の態様では、前記解釈ステップで前記曖昧部分が否定的な意味合いに解釈された場合、前記生成ステップは、前記移動体(100)の操作を中止するための操作コマンドを生成する。この態様によれば、移動体(100)の動作を中断する操作が行いやすくなる。
第9の態様は、第1~第8の態様のいずれか一つの音声操作方法に基づく。第9の態様では、前記解釈ステップは、前記移動体(100)の操作履歴に基づいて、前記曖昧部分が係る語句を判定する。この態様によれば、曖昧部分の解釈の精度が向上する。
第10の態様は、第1~第9の態様のいずれか一つの音声操作方法に基づく。第10の態様では、前記変換ステップの前に、前記音声データを特定の人物の音声から取得する取得ステップを含む。この態様によれば、意図しない人物によって移動体(100)が操作される可能性を低減できる。
第11の態様は、第1~第10の態様のいずれか一つの音声操作方法に基づく。第11の態様では、前記移動体(100)の状態は、前記移動体(100)の内部状態と前記移動体(100)の外部状態との少なくとも一方を含む。この態様によれば、曖昧部分の解釈の精度が向上する。
第12の態様は、第11の態様の音声操作方法に基づく。第12の態様では、前記内部状態は、前記移動体(100)の移動に関する状態、前記移動体(100)の性能に関する状態、及び前記移動体(100)に乗っている人物に関する状態の少なくとも一つを含む。前記外部状態は、前記移動体(100)の位置に関する状態、前記移動体(100)の周辺の状態、及び前記移動体(100)と連携するシステムの状態の少なくとも一つを含む。この態様によれば、曖昧部分の解釈の精度が向上する。
第13の態様は、プログラム(コンピュータプログラム)であって、1以上のプロセッサに、第1~第12の態様のいずれか一つの音声操作方法を実行させるための、プログラムである。この態様によれば、自然な発話で移動体(100)を操作できる。
第14の態様は、音声操作システム(10)であって、変換部(122)と、抽出部(123)と、解釈部(124)と、生成部(125)とを備える。前記変換部(122)は、移動体(100)の操作のための音声データを文字データに変換する。前記抽出部(123)は、前記文字データで表される文字列から曖昧部分を抽出する。前記解釈部(124)は、前記移動体(100)の操作履歴及び前記移動体(100)の状態の少なくとも一方を含む移動体(100)情報を利用して前記曖昧部分の解釈をする。前記生成部(125)は、前記曖昧部分の解釈の結果に基づいて、前記文字データから前記移動体(100)の操作コマンドを生成する。この態様によれば、自然な発話で移動体(100)を操作できる。
第15の態様は、移動体(100)であって、第14の態様の音声操作システム(10)と、前記音声操作システム(10)が搭載される本体(101)と、を備える。この態様によれば、自然な発話で移動体(100)を操作できる。