以下、本発明の実施の形態について図面を参照して詳細に説明する。
実施の形態1.
図1は、本発明の実施の形態1に係る音声操作システム1の全体構成を示す図である。音声操作システム1は、住宅Hに設置された1又は複数の機器2を音声操作により制御できるようにしたシステムであり、1又は複数の機器2と、音声入出力装置3と、ホームゲートウェイ4と、音声処理サーバ5と、機器制御サーバ6とを備える。
各機器2は、エアコン、テレビ、照明器、冷蔵庫、IH(Induction Heating)調理器、給湯機等であり、いわゆるIoT(Internet of Things)機器、情報家電、ネット家電、スマート家電等と称され、ブロードバンドルータとしての機能を有するホームゲートウェイ4を介してインターネットに接続される。なお、少なくとも一部の機器2については、図示しない外付けの通信アダプタを介して、インターネットに接続されるようにしてもよい。
音声入出力装置3は、本発明に係る音声入力装置の一例である。音声入出力装置3は、ユーザの発話により入力された音声に基づいて様々なサービスを提供する装置であり、いわゆるスマートスピーカ(AIスピーカともいう。)である。音声入出力装置3は、図2に示すように、マイク30と、A/Dコンバータ31と、スピーカ32と、通信インタフェース33と、CPU(Central Processing Unit)34と、ROM(Read Only Memory)35と、RAM(Random Access Memory)36と、二次記憶装置37とを備える。これらの構成部は、バス38を介して相互に接続される。
マイク30は、ユーザが発した音声を入力し、入力した音声からアナログ音声信号を生成して、A/Dコンバータ31に出力する。A/Dコンバータ31は、マイク30から出力されたアナログ音声信号からノイズを除去し、デジタル音声信号を生成し、CPU34に供給する。スピーカ32は、CPU34から供給されたデジタル音声信号に対応する音声を出力する。通信インタフェース33は、ホームゲートウェイ4と有線又は無線にて通信接続し、ホームゲートウェイ4を介して、インターネットに接続される音声処理サーバ5と通信するためのネットワークカードを備える。
CPU34は、当該音声入出力装置3を統括的に制御する。CPU34によって実現される音声入出力装置3の機能の詳細については後述する。ROM35は、複数のファームウェア及びこれらのファームウェアの実行時に使用されるデータを記憶する。RAM36は、CPU34の作業領域として使用される。二次記憶装置37は、EEPROM(Electrically Erasable Programmable Read-Only Memory)、フラッシュメモリ等の読み書き可能な不揮発性の半導体メモリ又はHDD(Hard Disk Drive)を含んで構成される。二次記憶装置37は、音声入出力プログラムと、かかる音声入出力プログラムの実行時に使用されるデータとを記憶する。音声入出力プログラムは、ユーザの音声を入力し、入力した音声に基づく音声データを音声処理サーバ5に送信する処理と、音声処理サーバ5から音声データを受信し、受信した音声データに基づく音声を出力する処理とが記述されたプログラムである。
図1に戻り、音声処理サーバ5は、本発明に係る音声処理装置の一例である。音声処理サーバ5は、音声入出力装置3のメーカ、販売会社等によって設置され、運用されるサーバコンピュータであり、インターネットに接続される。音声処理サーバ5は、音声入出力装置3及び後述する機器制御サーバ6と協調して、機器2に対する音声操作を実現する。音声処理サーバ5は、図3に示すように、通信インタフェース50と、CPU51と、ROM52と、RAM53と、二次記憶装置54とを備える。これらの構成部は、バス55を介して相互に接続される。
通信インタフェース50は、インターネットに接続して、ホームゲートウェイ4、機器制御サーバ6等の他の装置と通信するための装置である。CPU51は、当該音声処理サーバ5を統括的に制御する。ROM52は、複数のファームウェア及びこれらのファームウェアの実行時に使用されるデータを記憶する。RAM53は、CPU51の作業領域として使用される。
二次記憶装置54は、EEPROM、フラッシュメモリ等の読み書き可能な不揮発性の半導体メモリ又はHDDを含んで構成される。二次記憶装置54は、音声処理プログラムと、音声処理プログラムの実行時に使用されるデータとを記憶する。音声処理プログラムは、音声操作サービスを実現するための音声処理に関するプログラムである。音声処理プログラムには、音声データ解析処理、機器操作関連処理等が記述されている。音声データ解析処理には、音声入出力装置3から送信された音声データを解析し、音声の内容を取得する処理が含まれる。機器操作関連処理には、取得した音声の内容に基づいて操作対象の機器2に対する操作情報を生成し、機器制御サーバ6に送信する処理、機器制御サーバ6から送信された制御結果情報に基づく結果データを音声入出力装置3に送信する処理とが含まれる。
音声処理サーバ5は、図4に示すように、機能的には、音声データ受信部500と、音声データ解析部501と、操作情報生成部502と、操作情報送信部503と、制御結果情報受信部504と、結果データ生成部505と、結果データ送信部506とを備える。これらの機能部は、CPU51が二次記憶装置54に記憶されている上記の音声処理プログラムを実行することで実現される。
音声データ受信部500は、音声入出力装置3からホームゲートウェイ4を介して送信された音声データを受信する。音声データ解析部501は、二次記憶装置54に記憶される図示しない音声認識データベースを使用して、音声データ受信部500により受信された音声データを解析する。そして、音声データ解析部501は、ユーザが発話した処理対象名を示すテキストデータ(以下、処理対象名データという。)と、ユーザが発話した制御内容を示すテキストデータ(以下、制御内容データという。)とを生成する。
処理対象名とは、各メーカで独自に定められた音声操作の対象を示す名称である(アプリケーション名と称されることもある。)。処理対象名には、例えば、機器2の製品名、当該メーカにおける複数の機器2の予め定めた総称等が含まれる。制御内容とは、処理対象名で特定される1又は複数の機器2に対する制御の内容であり、例えば、機器2がエアコンの場合、「エアコン付けて」、「エアコン消して」等が制御内容となる。
音声データ解析部501は、生成した処理対象名データ及び制御内容データを操作情報生成部502に供給する。また、音声データ解析部501は、生成した処理対象名データを結果データ生成部505に供給する。操作情報生成部502は、音声データ解析部501から供給された処理対象名データ及び制御内容データと、顧客情報DB540と、処理対象名DB541とに基づいて、機器制御サーバ6に対する操作情報を生成する。操作情報には、当該処理対象名を識別するためのID(identification)である処理対象名IDと、当該制御内容を識別するためのIDである制御内容IDとが含まれる。
顧客情報DB540は、音声操作サービスに加入している各顧客の個人情報が登録されたデータベースであり、二次記憶装置54に記憶される。顧客情報DB540には、各顧客の氏名、住所、性別、生年月日、当該顧客宅(即ち、当該顧客の住宅H)に設置されている音声入出力装置3のIP(Internet Protocol)アドレス等の情報が登録されている。
処理対象名DB541は、処理対象名に関する情報が登録されたデータベースであり、二次記憶装置54に記憶される。処理対象名DB541には、処理対象名毎に、処理対象名ID、処理対象名データ(即ち、処理対象名のテキストデータ)、メーカ名(あるいは、機器制御サーバ6を識別する情報)等を含むレコードが処理対象名の数分登録されている。
顧客情報DB540は、例えば、OAuth2.0により、音声処理サーバ5と機器制御サーバ6とが適宜連携動作することで、機器制御サーバ6が保持する顧客情報DBとリンクされ、その内容が更新される。
操作情報送信部503は、操作情報生成部502により生成された操作情報を機器制御サーバ6に送信する。制御結果情報受信部504は、機器制御サーバ6から制御結果情報を受信する。制御結果情報とは、先に送信した操作情報に従った制御が正常に実行されたか否かを示す情報である。制御結果情報受信部504は、受信した制御結果情報を結果データ生成部505に供給する。
結果データ生成部505は、制御結果情報受信部504から供給された制御結果情報に基づいて、公知の音声合成処理により音声データを生成する。結果データ生成部505は、生成した音声データと、音声データ解析部501により供給された処理対象名データとが格納された結果データを生成し、生成した結果データを結果データ送信部506に供給する。結果データ送信部506は、結果データ生成部505から供給された結果データを対応する音声入出力装置3に送信する。
図1に戻り、機器制御サーバ6は、機器2のメーカ、販売会社等によって設置され、運用されるサーバコンピュータであり、インターネットに接続される。機器制御サーバ6は、音声処理サーバ5と協調して、機器2に対する音声操作を実現する。機器制御サーバ6は、図5に示すように、通信インタフェース60と、CPU61と、ROM62と、RAM63と、二次記憶装置64とを備える。これらの構成部は、バス65を介して相互に接続される。通信インタフェース60は、インターネットに接続して、ホームゲートウェイ4、音声処理サーバ5等の他の装置と通信するための装置である。CPU61は、当該機器制御サーバ6を統括的に制御する。
ROM62は、複数のファームウェア及びこれらのファームウェアの実行時に使用されるデータを記憶する。RAM63は、CPU61の作業領域として使用される。二次記憶装置64は、EEPROM、フラッシュメモリ等の読み書き可能な不揮発性の半導体メモリ又はHDDを含んで構成される。二次記憶装置64は、機器制御プログラムと、機器制御プログラムの実行時に使用されるデータとを記憶する。機器制御プログラムは、音声処理サーバ5と協調して機器2に対する音声操作を実現するためプログラムである。機器制御プログラムには、音声処理サーバ5からの操作情報に基づいて、対応する各機器2を制御する処理、当該各機器2の制御結果を音声処理サーバ5に通知する処理等が記述されている。
機器制御サーバ6は、機能的には、図6に示すように、操作情報受信部600と、制御指令生成部601と、制御指令送信部602と、応答データ受信部603と、制御結果情報送信部604とを備える。これらの機能部は、CPU61が上記の機器制御プログラムを実行することで実現される。
操作情報受信部600は、音声処理サーバ5から送信された操作情報を受信する。制御指令生成部601は、操作情報受信部600が受信した操作情報と、顧客情報DB640と、顧客機器情報DB641とに基づいて、対象の各機器2を制御するための制御指令をそれぞれ生成する。
顧客情報DB640は、自社の機器2の購入者であって、当該音声操作サービスに加入している各顧客の個人情報が登録されたデータベースであり、二次記憶装置64に記憶される。顧客情報DB640には、各顧客の氏名、住所、性別、生年月日等の情報が登録されている。
顧客機器情報DB641は、各顧客宅(即ち、各住宅H)に設置されている自社の機器2に関する情報が登録されたデータベースである。顧客機器情報DB641には、顧客毎に、機器ID、製品名、型名(型番ともいう。)、設置場所、対応する処理対象名、対応する全ての制御内容ID、制御内容ID毎の指令内容、通信アドレス等を含むレコードが当該顧客宅に設置されている自社の機器2の台数分登録されている。機器IDは、当該音声操作サービスにおいて、各機器2を識別するために割り振られたIDである。通信アドレスは、例えば、当該機器2のIPアドレスである。
機器2を購入したユーザは、スマートフォン、タブレット端末等に予めインストールされた音声操作サービスを利用するためのアプリケーションプログラム(以下、音声操作アプリという。)を起動し、自己の個人情報及び機器2に関する情報を機器制御サーバ6に登録するための予め定められた手続(以下、登録手続という。)を行う。これにより、当該ユーザの個人情報及び当該ユーザ宅の機器2に関する情報が、当該スマートフォン、タブレット端末等から機器制御サーバ6に送信される。上記の音声操作アプリは、機器制御サーバ6、その他のプログラム配布サーバ等から当該スマートフォン、タブレット端末等にダウンロードすることができる。
上記の登録手続において、機器2の製品名、型名及びIPアドレスは、上記の音声操作アプリを起動したスマートフォン、タブレット端末等によって、ホームゲートウェイ4を介した通信により当該機器2から取得される。
また、上述したように、例えば、OAuth2.0により、機器制御サーバ6と音声処理サーバ5とが適宜連携動作することで、機器制御サーバ6の顧客情報DB640と、音声処理サーバ5の顧客情報DB540とがリンクされる。これにより、音声処理サーバ5の顧客情報DB540の内容が更新される。
制御指令送信部602は、制御指令生成部601が生成した各制御指令を各機器2に送信する。応答データ受信部603は、制御指令送信部602が制御指令を送信した後、送信先の各機器2から送られてくる各応答データを受信する。かかる応答データには、制御指令に従った動作を行ったか否かを示す情報が含まれている。一の操作情報に対応する全ての応答データに、各制御指令に従った動作を行ったことを示す情報が含まれている場合、応答データ受信部603は、当該操作情報に基づく制御が正常に実行されたことを制御結果情報送信部604に通知する。
一方、何れかの応答データに、制御指令に従った動作を行っていないことを示す情報が含まれている場合、応答データ受信部603は、当該操作情報に基づく制御が正常に実行されていないことを制御結果情報送信部604に通知する。また、応答データ受信部603は、対象となる各機器2に各制御指令が送信された後、予め定めた時間が経過しても当該対象の全ての機器2から応答データを受信できなかった場合、当該操作情報に基づく制御が正常に実行されていないことを制御結果情報送信部604に通知する。
制御結果情報送信部604は、応答データ受信部603から通知された内容に従った制御結果情報を生成し、音声処理サーバ5に送信する。
続いて、音声入出力装置3の機能について説明する。音声入出力装置3は、機能的には、図7に示すように、音声入力部300と、ウェイクワード検出部301と、音声データ送信部302と、結果データ受信部303と、音声データ抽出部304と、音声出力部305と、条件付ウェイクワード抽出部306とを備える。これらの機能部は、音声入出力装置3のCPU34が二次記憶装置37に記憶されている上述した音声入出力プログラムを実行することで実現される。
音声入力部300は、本発明に係る音声入力手段の一例である。音声入力部300は、ユーザが発話した音声を入力し、入力した音声に基づく音声データ(本発明に係る第1音声データの一例)を生成する。詳細には、音声入力部300は、ユーザの音声を示すアナログ音声信号にPCM(Pulse Code Modulation: パルス符号変調)を適用してデジタル音声信号に変換し、さらに非可逆圧縮を適用することにより音声データを生成する。
ウェイクワード検出部301は、本発明に係るウェイクワード検出手段の一例である。ウェイクワード検出部301は、音声入力部300により生成された音声データを解析して、ユーザが発話した音声にウェイクワードが含まれているか否かを検出する。ウェイクワードとは、当該音声入出力装置3が、ユーザの発話を音声操作であると認識するためのキーワードである。通常、音声操作をする際、ユーザは、先ず、ウェイクワード(例えば、「OK、あいうえおかきくけこ」)を発話し、続けて、処理対象名(例えば、「ABCで」)と制御内容(例えば、「エアコン付けて」)を発話する必要がある。
本実施の形態では、ウェイクワードには、通常のウェイクワード(以下、通常ウェイクワードという。)と、一定の制限の下で使用可能なウェイクワード(以下、条件付ウェイクワードという。)との2種類のウェイクワードがある。通常ウェイクワードは、ユーザが常時使用可能なウェイクワード(例えば、上記の「OK、あいうえおかきくけこ」)である。また、条件付ウェイクワードは、ユーザが直近に音声操作を行った際の処理対象名(例えば、「ABCで」)であり、前回の音声操作と同じ処理対象名の音声操作を行う場合のみに有効となる。通常ウェイクワードは、本発明に係る第1ウェイクワードの一例であり、条件付ウェイクワードは、本発明に係る第2ウェイクワードの一例である。通常ウェイクワードと、条件付ウェイクワードは、ウェイクワードテーブル370に保存されている。ウェイクワードテーブル370は、二次記憶装置37に記憶されるデータテーブルである。
ウェイクワード検出部301は、ウェイクワードテーブル370を参照して、先ず、ユーザの音声に通常ウェイクワードが含まれているか否かを検出し、含まれていない場合には、さらに、条件付ウェイクワードが含まれているか否かを検出する。通常ウェイクワードが含まれている場合、ウェイクワード検出部301は、音声入力部300により生成された音声データから通常ウェイクワードに対応する音声データを除いた音声データ(本発明に係る第2音声データの一例)を音声データ送信部302に供給する。
一方、ユーザの音声に通常ウェイクワードではなく、条件付ウェイクワードが含まれている場合、ウェイクワード検出部301は、音声入力部300により生成された音声データをそのまま音声データ送信部302に供給する。なお、ユーザの音声に通常ウェイクワード及び条件付ウェイクワードの何れも含まれていない場合、ウェイクワード検出部301は、音声入力部300により生成された音声データを破棄する。
音声データ送信部302は、本発明に係る音声データ送信手段の一例である。音声データ送信部302は、ウェイクワード検出部301から供給された音声データをホームゲートウェイ4を介して音声処理サーバ5に送信する。結果データ受信部303は、音声処理サーバ5から送信された結果データをホームゲートウェイ4を介して受信する。上述したように、結果データには、制御結果を示す音声データと、処理対象名データとが含まれている。
音声データ抽出部304は、結果データから音声データを抽出し、抽出した音声データを音声出力部305に供給する。音声出力部305は、音声データ抽出部304から供給された音声データに基づく音声を出力する。条件付ウェイクワード抽出部306は、結果データから処理対象名データを抽出し、抽出した処理対象名データを条件付ウェイクワードとしてウェイクワードテーブル370に保存する。結果データ受信部303及び条件付ウェイクワード抽出部306は、本発明に係る第2ウェイクワード取得手段の一例である。
図8は、音声入出力装置3が実行する音声入出力処理の手順を示すフローチャートである。ユーザが発話した音声が入力されると(ステップS101;YES)、音声入力部300は、ユーザの音声に基づく音声データを生成する(ステップS102)。
ウェイクワード検出部301は、音声入力部300により生成された音声データ、即ち、入力音声に基づく音声データと、ウェイクワードテーブル370とに基づいて、入力音声に通常ウェイクワードが含まれているか否かを判別する(ステップS103)。
入力音声に通常ウェイクワードが含まれている場合(ステップS103;YES)、音声データ送信部302は、入力音声に基づく音声データから通常ウェイクワードに対応する音声データを除去した音声データを音声処理サーバ5に送信する(ステップS104)。その後、ステップS101に戻る。
入力音声に通常ウェイクワードが含まれていない場合(ステップS103;NO)、ウェイクワード検出部301は、入力音声に基づく音声データと、ウェイクワードテーブル370とに基づいて、入力音声に条件付ウェイクワードが含まれているか否かを判別する(ステップS105)。
入力音声に条件付ウェイクワードが含まれている場合(ステップS105;YES)、音声データ送信部302は、入力音声に基づく音声データを音声処理サーバ5に送信する(ステップS106)。その後、ステップS101に戻る。一方、入力音声に条件付ウェイクワードが含まれていない場合(ステップS105;NO)、ウェイクワード検出部301は、入力音声に基づく音声データを破棄する(ステップS107)。その後、ステップS101に戻る。
ステップS101でNOの場合、結果データが受信されると(ステップS108;YES)、条件付ウェイクワード抽出部306は、結果データから処理対象名データを抽出し、抽出した処理対象名データを条件付ウェイクワードとしてウェイクワードテーブル370に保存する(ステップS109)。一方、結果データが受信されていない場合(ステップS108;NO)、ステップS101に戻る。
ステップS109の後、又は、並行して、音声データ抽出部304は、結果データから音声データを抽出する(ステップS110)。音声出力部305は、音声データ抽出部304により抽出された音声データに基づく音声を出力する(ステップS111)。その後、ステップS101に戻る。
図9は、ユーザによって音声操作が行われた際に音声操作システム1で実行される音声操作処理の流れを示す図である。ユーザにより、通常ウェイクワード(例えば、「OK、あいうえおかきくけこ」)が発話され、続けて、処理対象名(例えば、「ABCで」)と制御内容(例えば、「エアコン付けて」)とが発話されると、音声入出力装置3は、ユーザの発話を音声操作として認識し、発話された処理対象名及び制御内容に基づく音声データをホームゲートウェイ4を介して音声処理サーバ5に送信する(ステップS201)。
音声処理サーバ5は、受信した音声データを解析して操作情報を生成し(ステップS202)、機器制御サーバ6に送信する(ステップS203)。
機器制御サーバ6は、受信した操作情報に基づいて制御指令を生成し(ステップS204)、対象の機器2に送信する(ステップS205)。
機器2は、機器制御サーバ6から送信された制御指令をホームゲートウェイ4を介して受信すると、受信した制御指令に従った動作を行う(ステップS206)。例えば、ユーザが発話した制御内容が「エアコン付けて」の場合、エアコンである機器2は、運転を開始する。機器2は、応答データをホームゲートウェイ4を介して機器制御サーバ6に送信する(ステップS207)。その際、機器2は、制御指令に従った動作を行った場合、制御指令に従った動作を行ったことを示す情報が格納された応答データを機器制御サーバ6に送信する。一方、何らかの事情により制御指令に従った動作を行っていない場合、機器2は、制御指令に従った動作を行っていないことを示す情報が格納された応答データを機器制御サーバ6に送信する。
機器制御サーバ6は、機器2から応答データを受信すると、受信した応答データの内容に応じた制御結果情報を音声処理サーバ5に送信する(ステップS208)。
音声処理サーバ5は、機器制御サーバ6から送信された制御結果情報と、先の音声データの解析時に生成した処理対象名データとに基づいて、結果データを生成し(ステップS209)、生成した結果データを音声入出力装置3に送信する(ステップS210)。
音声入出力装置3は、受信した結果データから抽出した処理対象名データを条件付ウェイクワードとしてウェイクワードテーブル370に保存する(ステップS211)。また、音声入出力装置3は、受信した結果データから抽出した音声データに基づく音声、即ち、制御結果を示す音声を出力する(ステップS212)。
このように、条件付ウェイクワードがウェイクワードテーブル370に保存された後に、ユーザにより、直近の音声操作と同じ処理対象名を含む音声(例えば、「ABCで、エアコン消して」)が発話されると、音声入出力装置3は、ユーザの音声に条件付ウェイクワード(この例では、「ABCで」)が含まれているため、当該ユーザの発話を音声操作として認識する。そして、音声入出力装置3は、ユーザが発話した音声に基づく音声データをホームゲートウェイ4を介して音声処理サーバ5に送信する(ステップS213)。
音声処理サーバ5は、受信した音声データを解析して操作情報を生成し(ステップS214)、機器制御サーバ6に送信する(ステップS215)。
機器制御サーバ6は、受信した操作情報に基づいて制御指令を生成し(ステップS216)、対象の機器2に送信する(ステップS217)。これにより、機器2は、ユーザが発話した制御内容に従った動作を行う。例えば、ユーザが発話した制御内容が「エアコン消して」の場合、エアコンである機器2は運転を停止する。
以上説明したように、実施の形態1に係る音声操作システム1によれば、音声入出力装置3は、ユーザが音声操作の際に発話した処理対象名を示すテキストデータを条件付ウェイクワードとして保存し、次回に入力されたユーザの音声を解析する際に使用する。このため、ユーザは、前回と同じ処理対象名の音声操作を行う場合に、通常ウェイクワードを発話する必要がなく、音声操作の利便性の向上が図れる。
なお、音声処理サーバ5は、処理対象名データを制御結果を示す音声データと共に音声入出力装置3に送信するのではなく、音声入出力装置3から音声データを受信すると、処理対象名データを直ちに音声入出力装置3に送信してもよい。この場合、音声入出力装置3は、受信した処理対象名データを条件付ウェイクワードとしてウェイクワードテーブル370に保存する。
実施の形態2.
続いて、本発明の実施の形態2について説明する。なお、以下の説明において、実施の形態1と共通する構成要素等については、同一の符号を付し、その説明を省略する。
図10は、本発明の実施の形態2に係る音声操作システム1Aの全体構成を示す図である。音声操作システム1Aは、1又は複数の機器2と、音声入出力装置3Aと、ホームゲートウェイ4と、音声処理サーバ5Aと、機器制御サーバ6Aとを備える。
音声入出力装置3Aのハードウェア構成は、実施の形態1の音声入出力装置3と同様(図2参照)であり、音声処理サーバ5Aのハードウェア構成は、実施の形態1の音声処理サーバ5と同様(図3参照)であり、機器制御サーバ6Aのハードウェア構成は、実施の形態1の機器制御サーバ6と同様(図5参照)である。
本実施の形態の機器制御サーバ6Aは、実施の形態1の機器制御サーバ6と同様、音声処理サーバ5Aから受信した操作情報に基づいて、対象の機器2を制御し、当該機器2の制御が正常に実行されたか否かを示す制御結果情報を音声処理サーバ5Aに送信する。但し、機器制御サーバ6Aは、制御が正常に実行されたか否かを示す制御結果のみならず、さらに、受信した操作情報で示される処理対象名に対応する全ての制御内容(以下、制御内容のセットという。)が格納された制御結果情報を音声処理サーバ5Aに送信する。
音声処理サーバ5Aは、本発明に係る音声処理装置の一例である。音声処理サーバ5Aは、機能的には、図11に示すように、音声データ受信部500と、音声データ解析部501Aと、操作情報生成部502と、操作情報送信部503と、制御結果情報受信部504と、結果データ生成部505Aと、結果データ送信部506とを備える。これらの機能部は、音声処理サーバ5AのCPU51が、二次記憶装置54に記憶されている音声処理プログラムを実行することで実現される。
音声データ解析部501Aは、実施の形態1の音声データ解析部501と同様、二次記憶装置54に記憶される図示しない音声認識データベースを使用して、音声データ受信部500により受信された音声データを解析する。そして、音声データ解析部501Aは、ユーザが発話した処理対象名を示すテキストデータである処理対象名データと、ユーザが発話した制御内容を示すテキストデータである制御内容データとを生成する。音声データ解析部501Aは、生成した処理対象名データ及び制御内容データを操作情報生成部502に供給する。
但し、音声データ解析部501Aは、結果データ生成部505Aに対して、処理対象名データではなく、処理対象名を示す音声データ、即ち、ユーザが発話した処理対象名に対応する音声データ(以下、処理対象名の音声データという。)を供給する。処理対象名の音声データは、本発明に係る第3音声データの一例である。
結果データ生成部505Aは、実施の形態1の結果データ生成部505と同様、制御結果情報受信部504から供給された制御結果情報に基づいて、公知の音声合成処理により音声データを生成する。但し、上述したように、本実施の形態では、機器制御サーバ6Aから送信される制御結果情報には、制御結果と、制御内容のセットが含まれている。このため、結果データ生成部505Aは、制御結果情報から抽出した制御結果に基づいた音声データを生成する。
結果データ生成部505Aは、生成した音声データと、音声データ解析部501Aにより供給された処理対象名の音声データと、制御結果情報から抽出した制御内容のセットとが格納された結果データを生成し、生成した結果データを結果データ送信部506に供給する。結果データ送信部506は、結果データ生成部505Aから供給された結果データを対応する音声入出力装置3Aに送信する。
音声入出力装置3Aは、本発明に係る音声入力装置の一例である。音声入出力装置3Aは、機能的には、図12に示すように、音声入力部300と、ウェイクワード検出部301Aと、音声データ送信部302と、結果データ受信部303と、音声データ抽出部304と、音声出力部305と、条件付ウェイクワード抽出部306Aとを備える。これらの機能部は、音声入出力装置3AのCPU34が、二次記憶装置37に記憶されている音声入出力プログラムを実行することで実現される。
ウェイクワード検出部301Aは、本発明に係るウェイクワード検出手段の一例である。ウェイクワード検出部301Aは、実施の形態1のウェイクワード検出部301と同様、ユーザの音声に通常ウェイクワードが含まれている場合、音声入力部300により生成された音声データから通常ウェイクワードに対応する音声データを除いた音声データを音声データ送信部302に供給する。一方、ユーザの音声に通常ウェイクワードではなく、条件付ウェイクワードが含まれている場合、ウェイクワード検出部301Aの処理は、ウェイクワード検出部301の処理と相違する。
本実施の形態では、条件付ウェイクワードとして、ユーザが直近に音声操作を行った際の処理対象名に対応する各制御内容を使用する。例えば、処理対象名「ABCで」に対して、「エアコン付けて」、「エアコン消して」、「エアコンの温度下げて」及び「エアコンの温度上げて」の4つの制御内容が存在する場合、これらの各々が条件付ウェイクワードとして使用される。例えば、ユーザにより、通常ウェイクワードと処理対象名「ABCで」と制御内容(例えば、「エアコン付けて」)とを含む音声操作が行われ、その後、ユーザにより「エアコン消して」と発話されると、ウェイクワード検出部301Aは、ユーザの音声に条件付ウェイクワードが含まれていると判別し、ユーザの発話を音声操作であると認識する。
ユーザの音声に条件付ウェイクワードが含まれていると判別すると、ウェイクワード検出部301Aは、当該条件付ウェイクワードに対応する処理対象名(例えば、「ABCで」)を示す音声データ(即ち、第3音声データ)と、音声入力部300により生成された音声データ(即ち、第1音声データ)とを統合した音声データ(本発明に係る第4音声データの一例であり、例えば、「ABCで、エアコン消して」を示す音声データ)を音声データ送信部302に供給する。
音声データ送信部302は、本発明に係る音声データ送信手段の一例である。音声データ送信部302は、ウェイクワード検出部301Aから供給された音声データをホームゲートウェイ4を介して音声処理サーバ5に送信する。
条件付ウェイクワード抽出部306Aは、結果データから、処理対象名の音声データ(即ち、第3音声データ)と、制御内容のセットとを抽出する。条件付ウェイクワード抽出部306Aは、抽出した処理対象名の音声データを二次記憶装置37に保存し、抽出した制御内容のセットにおける各制御内容を、当該処理対象名の音声データに対応する各条件付ウェイクワードとしてウェイクワードテーブル370に保存する。例えば、処理対象名として「ABCで」を含む音声操作を行った場合には、結果データ受信部303が受信する結果データには、制御結果に基づく音声データと、「ABCで」を示す音声データと、「エアコン付けて」、「エアコン消して」、「エアコンの温度下げて」及び「エアコンの温度上げて」で構成される制御内容のセットとが含まれることになる。
この場合、条件付ウェイクワード抽出部306Aは、「エアコン付けて」、「エアコン消して」、「エアコンの温度下げて」及び「エアコンの温度上げて」の各々を、「ABCで」に対応する条件付ウェイクワードとしてウェイクワードテーブル370に保存する。結果データ受信部303及び条件付ウェイクワード抽出部306Aは、本発明に係る第2ウェイクワード取得手段の一例である。
図13は、ユーザによって音声操作が行われた際に音声操作システム1Aで実行される音声操作処理の流れを示す図である。ユーザにより、通常ウェイクワード(例えば、「OK、あいうえおかきくけこ」)が発話され、続けて、処理対象名(例えば、「ABCで」)と制御内容(例えば、「エアコン付けて」)とが発話されると、音声入出力装置3Aは、ユーザの発話を音声操作として認識し、発話された処理対象名及び制御内容に基づく音声データをホームゲートウェイ4を介して音声処理サーバ5Aに送信する(ステップS301)。
音声処理サーバ5Aは、受信した音声データを解析して操作情報を生成し(ステップS302)、機器制御サーバ6Aに送信する(ステップS303)。
機器制御サーバ6Aは、受信した操作情報に基づいて制御指令を生成し(ステップS304)、対象の機器2に送信する(ステップS305)。
機器2は、機器制御サーバ6Aから送信された制御指令をホームゲートウェイ4を介して受信すると、受信した制御指令に従った動作を行う(ステップS306)。例えば、ユーザが発話した制御内容が「エアコン付けて」の場合、エアコンである機器2は、運転を開始する。機器2は、応答データをホームゲートウェイ4を介して機器制御サーバ6Aに送信する(ステップS307)。その際、機器2は、制御指令に従った動作を行った場合、制御指令に従った動作を行ったことを示す情報を格納した応答データを機器制御サーバ6Aに送信する。一方、何らかの事情により制御指令に従った動作を行っていない場合、機器2は、制御指令に従った動作を行っていないことを示す情報を格納した応答データを機器制御サーバ6Aに送信する。
機器制御サーバ6Aは、機器2から応答データを受信すると、受信した応答データの内容に応じた制御結果と、制御内容のセットとが格納された制御結果情報を音声処理サーバ5Aに送信する(ステップS308)。
音声処理サーバ5Aは、機器制御サーバ6Aから送信された制御結果情報と、処理対象名の音声データとに基づいて、結果データを生成し(ステップS309)、生成した結果データを音声入出力装置3Aに送信する(ステップS310)。
音声入出力装置3Aは、受信した結果データから抽出した処理対象名の音声データを二次記憶装置37に保存し、受信した結果データから抽出した制御内容のセットにおける各制御内容を各条件付ウェイクワードとしてウェイクワードテーブル370に保存する(ステップS311)。また、音声入出力装置3Aは、受信した結果データから抽出した音声データに基づく音声を出力する(ステップS312)。
このように、直近の音声操作の処理対象名に対応する複数の制御内容が条件付ウェイクワードとしてウェイクワードテーブル370に保存された後に、ユーザにより、当該複数の制御内容の内の何れかの制御内容(例えば、「エアコン消して」)が発話されると、音声入出力装置3Aは、ユーザの音声に条件付ウェイクワードが含まれているため、当該ユーザの発話を音声操作として認識する。そして、音声入出力装置3Aは、二次記憶装置37に保存した処理対象名の音声データ(例えば、「ABCで」を示す音声データ)と、ユーザが発話した当該制御内容に基づく音声データとを統合した音声データ(例えば、「ABCで、エアコン消して」を示す音声データ)をホームゲートウェイ4を介して音声処理サーバ5Aに送信する(ステップS313)。
音声処理サーバ5Aは、受信した音声データを解析して操作情報を生成し(ステップS314)、機器制御サーバ6Aに送信する(ステップS315)。
機器制御サーバ6Aは、受信した操作情報に基づいて制御指令を生成し(ステップS316)、対象の機器2に送信する(ステップS317)。これにより、機器2は、ユーザが発話した制御内容に従った動作を行う。例えば、ユーザが発話した制御内容が「エアコン消して」の場合、エアコンである機器2は運転を停止する。
以上説明したように、実施の形態2に係る音声操作システム1Aによれば、ユーザが音声操作の際に発話した処理対象名に対応する各制御内容を示すテキストデータを条件付ウェイクワードとして保存し、次回の音声操作の判別の際に使用する。このため、ユーザは、前回と同じ処理対象名の音声操作を行う場合、制御内容のみを発話すればよい。つまり、通常ウェイクワード及び処理対象名を発話する必要がない。したがって、ユーザの音声操作の簡便化が一層図れる。
なお、機器制御サーバ6Aは、制御内容のセットを制御結果と共に音声処理サーバ5Aに送信するのではなく、音声処理サーバ5Aから操作情報を受信すると、直ちに制御内容のセットを音声処理サーバ5Aに送信してもよい。この場合、音声処理サーバ5Aは、機器制御サーバ6Aから制御内容のセットを受信すると、処理対象名の音声データと、制御内容のセットとが格納されたデータを音声入出力装置3Aに送信する。
実施の形態3.
続いて、本発明の実施の形態3について説明する。なお、以下の説明において、実施の形態1,2と共通する構成要素等については、同一の符号を付し、その説明を省略する。
図14は、本発明の実施の形態3に係る音声操作システム1Bの全体構成を示す図である。音声操作システム1Bは、1又は複数の機器2と、音声入出力装置3Bと、ホームゲートウェイ4と、音声処理サーバ5Bと、機器制御サーバ6Bとを備える。
音声入出力装置3Bのハードウェア構成は、実施の形態1の音声入出力装置3と同様(図2参照)であり、音声処理サーバ5Bのハードウェア構成は、実施の形態1の音声処理サーバ5と同様(図3参照)であり、機器制御サーバ6Bのハードウェア構成は、実施の形態1の機器制御サーバ6と同様(図5参照)である。
本実施の形態の機器制御サーバ6Bは、実施の形態1の機器制御サーバ6と同様、音声処理サーバ5Bから受信した操作情報に基づいて、対象の機器2を制御し、当該機器2の制御が正常に実行されたか否かを示す制御結果情報を音声処理サーバ5Bに送信する。但し、機器制御サーバ6Bは、制御が正常に実行されたか否かを示す制御結果のみならず、さらに、受信した操作情報で示される処理対象名に対応する簡易ウェイクワードが格納された制御結果情報を音声処理サーバ5Bに送信する。簡易ウェイクワードとは、処理対象名毎に、各メーカが独自に定めたキーワードであり、例えば、「へい」、「やあ」、「ねえ」等、通常ウェイクワードに比べて短い語になっている。
音声処理サーバ5Bは、本発明に係る音声処理装置の一例である。音声処理サーバ5Bは、機能的には、図15に示すように、音声データ受信部500と、音声データ解析部501Aと、操作情報生成部502と、操作情報送信部503と、制御結果情報受信部504と、結果データ生成部505Bと、結果データ送信部506とを備える。これらの機能部は、音声処理サーバ5BのCPU51が二次記憶装置54に記憶されている音声処理プログラムを実行することで実現される。
結果データ生成部505Bは、実施の形態1の結果データ生成部505と同様、制御結果情報受信部504から供給された制御結果情報に基づいて、公知の音声合成処理により音声データを生成する。但し、上述したように、本実施の形態では、機器制御サーバ6Bから送信される制御結果情報には、制御結果と、簡易ウェイクワードとが含まれている。このため、結果データ生成部505Bは、実施の形態2の結果データ生成部505Aと同様、制御結果情報から抽出した制御結果に基づいた音声データを生成する。
結果データ生成部505Bは、生成した音声データと、音声データ解析部501Aにより供給された処理対象名の音声データ(本発明に係る第3音声データの一例)と、制御結果情報から抽出した簡易ウェイクワードとが格納された結果データを生成し、生成した結果データを結果データ送信部506に供給する。結果データ送信部506は、結果データ生成部505Bから供給された結果データを対応する音声入出力装置3Bに送信する。
音声入出力装置3Bは、本発明に係る音声入力装置の一例である。音声入出力装置3Bは、機能的には、図16に示すように、音声入力部300と、ウェイクワード検出部301Bと、音声データ送信部302と、結果データ受信部303と、音声データ抽出部304と、音声出力部305と、条件付ウェイクワード抽出部306Bとを備える。これらの機能部は、音声入出力装置3BのCPU34が二次記憶装置37に記憶されている音声入出力プログラムを実行することで実現される。
ウェイクワード検出部301Bは、本発明に係るウェイクワード検出手段の一例である。ウェイクワード検出部301Bは、実施の形態1のウェイクワード検出部301と同様、ユーザの音声に通常ウェイクワードが含まれている場合、音声入力部300により生成された音声データから通常ウェイクワードに対応する音声データを除いた音声データを音声データ送信部302に供給する。一方、ユーザの音声に通常ウェイクワードではなく、条件付ウェイクワードが含まれている場合、ウェイクワード検出部301Bの処理は、ウェイクワード検出部301及びウェイクワード検出部301Aの処理と相違する。
本実施の形態では、条件付ウェイクワードとして、ユーザが直近に音声操作を行った際の処理対象名に対応する上述した簡易ウェイクワードを使用する。例えば、処理対象名「ABCで」に対応する簡易ウェイクワードが「やあ」の場合に、ユーザにより、通常ウェイクワードと処理対象名「ABCで」と制御内容(例えば、「エアコン付けて」)とを含む音声操作が行われ、その後、ユーザにより、「やあ」を含む音声(例えば、「やあ、エアコン消して」)が発話されると、ウェイクワード検出部301Bは、ユーザの音声に条件付ウェイクワードが含まれていると判別し、ユーザの発話を音声操作であると認識する。
ユーザの音声に条件付ウェイクワードが含まれていると判別すると、ウェイクワード検出部301Bは、当該条件付ウェイクワードに対応する処理対象名(例えば、「ABCで」)を示す音声データ(即ち、第3音声データ)と、音声入力部300により生成された音声データから当該条件付ウェイクワード(例えば、「やあ」)に対応する音声データを除いた音声データとを統合した音声データ(本発明に係る第4音声データの一例であり、例えば、「ABCで、エアコン消して」を示す音声データ)を音声データ送信部302に供給する。音声データ送信部302は、ウェイクワード検出部301Bから供給された音声データをホームゲートウェイ4を介して音声処理サーバ5に送信する。
条件付ウェイクワード抽出部306Bは、結果データから、処理対象名の音声データ(即ち、第3音声データ)と、簡易ウェイクワードとを抽出する。条件付ウェイクワード抽出部306Bは、抽出した処理対象名の音声データを二次記憶装置37に保存し、抽出した簡易ウェイクワードを当該処理対象名の音声データに対応する条件付ウェイクワードとしてウェイクワードテーブル370に保存する。例えば、処理対象名が「ABCで」に対応する簡易ウェイクワードが、「やあ」の場合、「やあ」が条件付ウェイクワードとしてウェイクワードテーブル370に保存される。結果データ受信部303及び条件付ウェイクワード抽出部306Bは、本発明に係る第2ウェイクワード取得手段の一例である。
以上説明したように、実施の形態3に係る音声操作システム1Bによれば、ユーザが音声操作の際に発話した処理対象名に対応する簡易ウェイクワードを条件付ウェイクワードとして保存し、次回の音声操作の判別の際に使用する。このため、ユーザは、前回と同じ処理対象名の音声操作を行う場合、通常ウェイクワードより短い語である簡易ウェイクワードと制御内容とを発話すればよい。したがって、音声操作の際のユーザの発話が容易となり、利便性の向上が図れる。
なお、機器制御サーバ6Bは、簡易ウェイクワードを制御結果と共に音声処理サーバ5Bに送信するのではなく、音声処理サーバ5Bから操作情報を受信すると、直ちに簡易ウェイクワードを音声処理サーバ5Bに送信してもよい。この場合、音声処理サーバ5Bは、機器制御サーバ6Bから簡易ウェイクワードを受信すると、処理対象名の音声データと、簡易ウェイクワードとが格納されたデータを音声入出力装置3Bに送信する。
本発明は、上記の各実施の形態に限定されず、本発明の要旨を逸脱しない範囲での種々の変更は勿論可能である。
例えば、音声入出力装置3,3A,3Bは、直近の音声操作から一定時間(例えば、24時間等の長時間)経過した場合、当該音声操作に基づく条件付ウェイクワードを破棄してもよい。また、音声入出力装置3,3A,3Bは、条件付ウェイクワードを処理対象名毎にウェイクワードテーブル370に保存してもよい。このようにすることで、直近の処理対象名とは異なる音声操作の場合であっても条件付ウェイクワードを使用することが可能となる。この場合、保存可能な条件付ウェイクワードの数(実施の形態2では、セット数)に制限を設け、最大数あるいは最大セット数に達した場合は、LRU(Least Recently Used)、LFU(Least Frequently Used)方式等により、保存されている条件付ウェイクワードが削除されるようにしてもよい。
上記の各実施の形態では、音声入出力装置3,3A,3Bにおいて、CPU34によって二次記憶装置37に記憶されている音声入出力プログラムが実行されることで、音声入出力装置3,3A,3Bの機能部(図7、図12、図16)が実現された。しかし、音声入出力装置3,3A,3Bの機能部の全部又は一部が、専用のハードウェアで実現されるようにしてもよい。同様に、音声処理サーバ5,5A,5Bの機能部(図4、図11、図15)の全部又は一部が、専用のハードウェアで実現されるようにしてもよいし、機器制御サーバ6,6A,6Bの機能部(図6参照)の全部又は一部が、専用のハードウェアで実現されるようにしてもよい。専用のハードウェアとは、例えば、単一回路、複合回路、プログラム化されたプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)又はこれらの組み合わせである。
また、音声入出力プログラム、音声処理プログラム、機器制御プログラムは、CD-ROM(Compact Disc Read Only Memory)、DVD(Digital Versatile Disc)、光磁気ディスク(Magneto-Optical Disc)、USB(Universal Serial Bus)メモリ、メモリカード、HDD等のコンピュータ読み取り可能な記録媒体に格納して配布することも可能である。
また、音声入出力プログラム、音声処理プログラム、機器制御プログラムをインターネット上の図示しないサーバが有する記憶装置に格納しておき、当該サーバから音声入出力装置3,3A,3B、音声処理サーバ5,5A,5B、機器制御サーバ6,6A,6Bに、これらの各プログラムがダウンロードされるようにしてもよい。