JP2019101254A - コマンドデータ生成システム及びコマンド生成方法 - Google Patents

コマンドデータ生成システム及びコマンド生成方法 Download PDF

Info

Publication number
JP2019101254A
JP2019101254A JP2017232567A JP2017232567A JP2019101254A JP 2019101254 A JP2019101254 A JP 2019101254A JP 2017232567 A JP2017232567 A JP 2017232567A JP 2017232567 A JP2017232567 A JP 2017232567A JP 2019101254 A JP2019101254 A JP 2019101254A
Authority
JP
Japan
Prior art keywords
command
character string
degree
recognition result
approximation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2017232567A
Other languages
English (en)
Inventor
須山 明彦
Akihiko Suyama
明彦 須山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2017232567A priority Critical patent/JP2019101254A/ja
Publication of JP2019101254A publication Critical patent/JP2019101254A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Telephonic Communication Services (AREA)

Abstract

【課題】音声に対する認識結果から問題発生の懸念があるコマンド文字列が不用意に選択され、当該コマンド文字列に基づいてコマンドデータが生成されることを防止したコマンドデータ生成システムを提供する。【解決手段】コマンド生成システムは、機器への音声コマンドに対する認識結果を示す認識結果文字列を取得する音声認識結果取得部と、前記認識結果文字列と、複数のコマンド文字列のそれぞれと、の近似度を計算する近似度計算部と、前記各近似度と、前記各コマンド文字列に対応する閾値と、に基づいて、前記コマンド文字列を選択するコマンド文字列選択部と、前記選択されたコマンド文字列に基づいて、前記機器に対して送信すべきコマンドを生成するコマンド生成部と、を有する。【選択図】図8

Description

本発明はコマンドデータ生成システム及びコマンド生成方法に関する。
ネットワークを介して送信されるコマンドデータを受信して当該コマンドデータに対応する動作を行う機器が知られている(特許文献1)。また、近年、当該機器と、音声入力装置に入力された音声を変換することでコマンドデータを生成する装置とを合わせたシステムが用いられている。
特開2015−100085号公報
機器の名称等は、ユーザによって任意に設定される場合があり、当該名称を予め予測することは困難である。そのため、任意に設定された名称を含む音声が音声入力装置に入力されると、予め記憶したコマンド文字列から機器に送信するコマンド文字列を選択することはできない。この場合、予め記憶されたコマンド文字列のうち、当該コマンド文字列と音声から変換されたデータとの近似度が所定の閾値より高いコマンド文字列が選択される。
しかし、当該閾値がどのコマンド文字列に対しても一定であれば、生成されるコマンド文字列によっては、不都合が生じる場合がある。例えば、当該コマンド文字列が機器に音楽の再生を指示するコマンドを表す場合や、再生した音楽の音量を上げるコマンドを表す場合、安眠を妨げる等の問題が生じる可能性がある。このように、コマンド文字列には、実際に発行されることによりトラブルが発生する懸念があるコマンド文字列が含まれる。
本発明は上記課題に鑑みてなされたものであって、その目的は、音声に対する認識結果から問題発生の懸念があるコマンド文字列が不用意に選択され、当該コマンド文字列に基づいてコマンドデータが生成されることを防止したコマンドデータ生成システムを提供することにある。
本開示にかかるコマンド生成システムは、機器への音声コマンドに対する認識結果を示す認識結果文字列を取得する音声認識結果取得部と、前記認識結果文字列と、複数のコマンド文字列のそれぞれと、の近似度を計算する近似度計算部と、前記各近似度と、前記各コマンド文字列に対応する閾値と、に基づいて、前記コマンド文字列を選択するコマンド文字列選択部と、前記選択されたコマンド文字列に基づいて、前記機器に対して送信すべきコマンドを生成するコマンド生成部と、を有することを特徴とする。
本開示にかかるコマンド生成方法は、機器への音声コマンドに対する認識結果を示す認識結果文字列を取得する音声認識結果取得ステップと、前記認識結果文字列と、複数のコマンド文字列のそれぞれと、の近似度を計算する近似度計算ステップと、前記各近似度と、前記各コマンド文字列に対応する閾値と、に基づいて、前記コマンド文字列を選択するコマンド文字列選択ステップと、前記選択されたコマンド文字列に基づいて、前記機器に対して送信すべきコマンドを生成するコマンド生成ステップと、を有することを特徴とする。
本発明によれば、音声に対する認識結果から問題発生の懸念があるコマンドデータが不用意に生成されることを防止できる。
コマンド生成システムを含む機器制御システムの構成を示す図である。 コマンドの例を示す図である。 コマンド生成システムの構成を示す図である。 機器テーブルの一例を示す図である。 機器閾値テーブルの一例を示す図である。 機器閾値テーブルの一例を示す図である。 コマンドテーブルの一例を示す図である。 機器制御システムの機能ブロック図である。 コマンドデータの例を示す図である。 コマンド生成システムで実行される処理を示す図である。 コマンド生成システムで実行される処理を示す図である。 コマンド生成システムで実行される処理を示す図である。
以下、本発明の実施形態の例を図面に基づいて説明する。
[1.システム構成]図1は、本発明の実施形態に係るコマンド生成システム50を含む機器制御システム1の構成を示す。図1に示すように、機器制御システム1は、第1機器20−1、第2機器20−2、第3機器20−3、第4機器20−4、第5機器20−5、第1音声入力装置30−1、第2音声入力装置30−2、第3音声入力装置30−3、音声認識装置40、及びコマンド生成システム50を含む。
以下では、第1機器20−1、第2機器20−2、第3機器20−3、第4機器20−4及び第5機器20−5を総称して「機器20」と記載する場合がある。第1音声入力装置30−1、第2音声入力装置30−2及び第3音声入力装置30−3を総称して「音声入力装置30」と記載する場合がある。第1LAN2−1及び第2LAN2−2を総称して「LAN2」と記載する場合がある。第1ルータ4−1及び第2ルータ4−2を総称して「ルータ4」と記載する場合がある。
機器20及び音声入力装置30はローカルエリアに設置され、第1LAN2−1または第2LAN2−2に接続される。具体的には、第1機器20−1、第2機器20−2、第3機器20−3、第4機器20−4、第1音声入力装置30−1及び第2音声入力装置30−2は、第1LAN2−1に接続される。第5機器20−5及び第3音声入力装置30−3は、第2LAN2−2に接続される。第1LAN2−1と第2LAN2−2は、分離されたローカルエリアネットワークである。
LAN2は有線LANであってもよいし、無線LANであってもよい。LAN2はルータ4を介してインターネット6(ワイドエリアネットワーク)に接続される。具体的には、第1LAN2−1は、自宅に設置されたローカルエリアネットワークである。第2LAN2−2は、別荘に設置されたローカルエリアネットワークであって、第1LAN2−1とは分離されている。第1LAN2−1は、第1ルータ4−1を介してインターネット6に接続される。第2LAN2−2は、第2ルータ4−2を介してインターネット6に接続される。音声認識装置40及びコマンド生成システム50はローカルエリア外に設置される。すなわち、機器20及び音声入力装置30から見て、音声認識装置40及びコマンド生成システム50はインターネット6側に設置される。
なお、「ローカルエリア」とは、LAN2を介した通信が可能な限られた範囲のエリアである。一方、「ワイドエリア」とは、ローカルエリア外も含むエリアであり、インターネット6を介した通信が可能な範囲のエリアである。また、図1には2個のローカルエリアを記載しているが、ローカルエリアは1個であってもよいし、3個以上であってもよい。
機器20は、コマンド生成システム50が生成したコマンドデータの宛先となる機器である。図1では、5台の機器20のみが示されているが、6台以上の機器20が含まれていてもよいし、4台以下の機器20のみが含まれていてもよい。
例えば、機器20はオーディオ機器又はオーディオビジュアル機器である。具体的には、機器20は、AVレシーバ、AVアンプ、スピーカ、光ディスク再生機器(ブルーレイディスク(登録商標)プレーヤ又はDVD(登録商標)プレーヤ等)、又はテレビジョン受像機である。また例えば、機器20は楽器(電子楽器又は電気楽器等)であってもよい。なお、機器20はこれら以外の機器であってもよい。
以下では、第1機器20−1がAVレシーバであり、第2機器20−2が自動演奏機能(データに基づいて鍵盤やペダルの動きを再現して自動的に演奏を行う機能)を備えた電子ピアノであり、第3機器20−3、第4機器20−4及び第5機器20−5がテレビジョン受像機である例を想定する。また、第1機器20−1、第2機器20−2、第3機器20−3及び第1音声入力装置30−1は、自宅のリビングルームに設置されているとする。また、第4機器20−4及び第2音声入力装置30−2は、自宅のベッドルームに設置されているとする。さらに、第5機器20−5及び第3音声入力装置30−3は、別荘のベッドルームに設置されているとする。
第2機器20−2はオーディオケーブルを介して第1機器20−1の外部入力端子に接続され、第3機器20−3はHDMI(High-Definition Multimedia Interface:登録商標)ケーブルを介して第1機器20−1の第1のHDMI端子(HDMI1)に接続されている。
また、第1機器20−1のMACアドレスは「aa:bb:cc:dd:ee:11」であり、プライベートIPアドレス「192.168.0.2」が第1機器20−1に対して設定されている。第2機器20−2のMACアドレスは「aa:bb:cc:dd:ee:22」であり、プライベートIPアドレス「192.168.0.3」が第2機器20−2に対して設定されている。第3機器20−3のMACアドレスは「aa:bb:cc:dd:ee:33」であり、プライベートIPアドレス「192.168.0.4」が第3機器20−3に対して設定されている。第4機器20−4のMACアドレスは「aa:bb:cc:dd:ee:44」であり、プライベートIPアドレス「192.168.0.5」が第4機器20−4に対して設定されている。第5機器20−5のMACアドレスは「aa:bb:cc:dd:ee:55」であり、プライベートIPアドレス「192.168.0.6」が第5機器20−5に対して設定されている。
図1に示すように、第1機器20−1は制御部21、記憶部22、及び通信部23を含む。制御部21は少なくとも一つのマイクロプロセッサ(CPU)を含み、記憶部22に記憶されたプログラムに従って処理を実行する。記憶部22は、主記憶部(例えばRAM)及び補助記憶部(例えば、不揮発性の半導体メモリ、ハードディスクドライブ、又はソリッドステートドライブ)を含む。記憶部22はプログラムやデータを記憶するためのものである。通信部23は他の装置との間でデータを送受信するためのものである。図1では省略されているが、第2機器20−2、第3機器20−3、第4機器20−4及び第5機器20−5も制御部21、記憶部22、及び通信部23を含む。
なお、機器20は、情報記憶媒体(例えば光ディスク又はメモリカード等)に記憶されたプログラムやデータを読み取るための構成要素(例えば光ディスクドライブ又はメモリーカードスロット等)を備えてもよい。そして、プログラムが情報記憶媒体を介して機器20に供給されてもよい。プログラムはインターネット6を介して機器20に供給されてもよい。
機器20は、第1LAN2−1または第2LAN2−2(ローカルエリア内での伝送手段の一例)を介して送信されるコマンドを受信して当該コマンドに対応する動作を行う。このため、LAN2を介して機器20を制御できる。すなわち、スマートフォン又はタブレット型コンピュータ等の端末からLAN2を介してコマンドを機器20に送信することによって、当該コマンドに応じた動作を機器20に行わせることができる。
図2はコマンドの例を示す。図2に示すコマンドC1及びC5は第1機器20−1(AVレシーバ)に対するコマンドの例であり、コマンドC2乃至C4は第2機器20−2(電子ピアノ)に対するコマンドの例である。
図2に示すコマンドはHTTPプロトコルを使用したものになっており、コマンドとしてURLが設定されている。図2に示す例の場合、コマンドがHTTPリクエストの形で第1機器20−1又は第2機器20−2に対して送信される。第1機器20−1又は第2機器20−2ではHTTPデーモンが起動されており、HTTPデーモンによってHTTPリクエストが受け付けられ、当該HTTPリクエストに応じた処理が実行される。そして、その処理結果を示すHTTPレスポンスがコマンドの送信元に返信される。なお、第3機器20−3、第4機器20−4及び第5機器20−5に対しても、HTTPプロトコルを使用したコマンドを送信することが可能である。
コマンドC1は第1機器20−1をスタンバイ状態(非起動状態)から起動するコマンドである。「スタンバイ状態」とは消費電力が通常状態(起動状態)よりも低減された状態である。すなわち、スタンバイ状態は完全に電源がオフになった状態ではなく、スタンバイ状態でもネットワーク通信機能等は有効になっており、コマンドデータを受信したり、コマンドを実行(送信)したり、コマンドを受け付けたりすることが可能である。
コマンドC2は、第2機器20−2(電子ピアノ)の自動演奏を開始させるコマンドである。コマンドC3は、第2機器20−2の出力音量を上げるコマンドである。コマンドC4は、第2機器20−2の出力音量を下げるコマンドである。コマンドC5は第1機器20−1を起動状態からスタンバイ状態に移行させるコマンドである。
なお、第2機器20−2と第1機器20−1とでコマンドの形式は同じであってもよいし、異なっていてもよい。第1機器20−1、第2機器20−2、第3機器20−3、第4機器20−4及び第5機器20−5の間でもコマンドの形式は同じであってもよいし、異なっていてもよい。
音声入力装置30はマイクロフォンを含み、音声コマンドを受け付ける。本実施形態では、ユーザが機器20への音声コマンドを入力するために音声入力装置30が使用される。例えば、ユーザが電子ピアノに自動演奏させたい場合、ユーザは「piano play」等を音声入力装置30に入力する。また例えば、居間に設置されているオーディオシステムに音楽を再生させたい場合、ユーザは「play in living room」等を音声入力装置30に入力する。
なお、音声入力装置30は、複数であってもよいし、1つであってもよい。また、図1に示すように、1つのローカルエリアネットワーク(第1LAN2−1)に複数の音声入力装置30が接続されていてもよい。
音声入力装置30に入力された音声コマンド(動作指示)を示す音声データはユーザIDとともにインターネット6を介して音声認識装置40に送信される。音声認識装置40は例えばサーバコンピュータによって実現される。音声認識装置40は音声認識処理を実行することによって、音声データを、プログラム(コマンド生成システム50)によって理解しやすい形式のデータに変換する。例えば、音声データを所定形式のテキストデータに変換する。そして、テキストデータに変換された音声コマンドはユーザIDとともにコマンド生成システム50に送信される。
なお、ユーザIDは、音声データがコマンド生成システム50に送信されるまでの間に、いずれかのインターネット側の装置(処理)によって付与されてもよい。また、音声データは、当該音声データが入力された音声入力装置30を識別する音声入力装置識別子(以下音声入力装置IDとする)とともに音声認識装置40に送信されてもよい。
なお、機器20の製造元ごとに異なるコマンド生成システム50が用意されている場合であれば、機器20に対する音声コマンドは、当該機器20を製造したメーカー用のコマンド生成システム50に送信される。また、コマンドの形式ごとに異なるコマンド生成システム50が用意されている場合であれば、機器20に対する音声コマンドは、当該機器20で採用されているコマンドの形式用のコマンド生成システム50に送信される。
図3に示すように、コマンド生成システム50は、コマンドデータ送信装置10、データベース60、及びMQTT(Message Queueing Telemetry Transport)サーバ70を含む。
コマンドデータ送信装置10は例えばサーバコンピュータによって実現される。図3に示すように、コマンドデータ送信装置10は制御部11、記憶部12、及び通信部13を含む。制御部11、記憶部12、及び通信部13は制御部21、記憶部22、及び通信部23と同様である。なお、コマンドデータ送信装置10は、情報記憶媒体(例えば光ディスク又はメモリカード等)に記憶されたプログラムやデータを読み取るための構成要素(例えば光ディスクドライブ又はメモリーカードスロット等)を備えてもよい。そして、プログラムが情報記憶媒体を介してコマンドデータ送信装置10に供給されてもよい。プログラムはインターネット6を介してコマンドデータ送信装置10に供給されてもよい。
コマンドデータ送信装置10はデータベース60にアクセス可能である。コマンドデータ送信装置10とデータベース60とは一つのサーバコンピュータによって実現されてもよいし、別のサーバコンピュータによって実現されてもよい。
コマンドデータ送信装置10は、機器20に対する音声コマンドを受け付け、当該音声コマンドに基づいてコマンドデータを生成し、当該コマンドデータを当該機器20又は他の機器20(代替機器)に送信する。後述するように、コマンドデータはMQTTサーバ70を介して機器20又は他の機器20(代替機器)に送信される。
データベース60は各種データを記憶する。例えば、データベース60は各ユーザの所有している機器20の情報を記憶する。図4はデータベース60に記憶される機器テーブルの一例を示す。機器テーブルT1はユーザごとに(ユーザIDと関連付けて)記憶される。なお、コマンド生成システム50(データベース60)で使用されるユーザIDは、音声入力装置30及び音声認識装置40で使用されるユーザIDと異なっていてもよいし、同じであってもよい。ただし、これらのユーザIDが異なる場合には、それらのユーザIDを変換するための対応関係データがコマンド生成システム50又は音声認識装置40に記憶されている必要がある。
図4に示すように、機器テーブルT1は「ID」、「名称」、「zone」、「LID」「MACアドレス」、「IPアドレス」、「音声入力装置ID」フィールドを含む。
「ID」フィールドは、ユーザの所有している各機器20を一意に識別する情報を示す。図4では、第1機器20−1が機器ID「1」に相当し、第2機器20−2が機器ID「2」に相当する。
「名称」フィールドは機器20の名称を示す。この名称はユーザが動作指示の対象の機器20を指定するために使用される。名称としては、ユーザによって設定された任意の名称が使用されるようにしてもよいし、機器20の製造元等によって設定された名称が使用されるようにしてもよい。
例えば、第1機器20−1乃至第3機器20−3の名称として、「living room」が設定されている。第4機器20−4の名称として、「bed room1」が設定されている。第5機器20−5の名称として、「bed room2」が設定されている。
「zone」フィールドは、ホスト機器によって制御されるクライアント機器の名称を示す。具体的には、図1に示すように、第1機器20−1がホスト機器であって、第2機器20−2及び第3機器20−3が第1機器20−1のクライアント機器であるとして説明する。「zone」フィールドに「main」が設定された機器は、ホスト機器である。すなわち、第1機器20−1は、ホスト機器である。「zone」フィールドに「main」という情報以外が設定された機器20は、クライアント機器である。すなわち、第2機器20−2及び第3機器20−3は、第1機器20−1のクライアント機器である。第2機器20−2の「zone」フィールドには、「piano」が設定されている。第3機器20−3の「zone」フィールドには、「TV」が設定されている。また、ホスト機器とクライアント機器の関係にある機器20の「名称」フィールドには、同一の名称が設定される。
なお、「名称」フィールド及び「zone」フィールドの各値は、特許請求の範囲のコマンド文字列の一部に相当する。
「LID」フィールドは、機器20が設置されているロケーションを識別する情報(ロケーション識別子、以下「LID」とする)を示す。具体的には、「LID」フィールドには、設置された環境ごとに当該環境を識別する情報が設定される。例えば、それぞれ自宅のリビングルームに設置された第1機器20−1、第2機器20−2及び第3機器20−3に対して、同じ「0」という「LID」が設定される。自宅のベッドルームに設置された第4機器20−4に対して、「1」という「LID」が設定される。別荘のベッドルームに設置された第5機器20−5に対して、「2」という「LID」が設定される。また、「LID」フィールドは、部屋ごとではなくフロアごとに一意の値が設定されてもよい。例えば、1階に設置された各機器20に対し「0」という「LID」を設定し、2階に設置された各機器20に対し「1」という「LID」を設定してもよい。
直近の指示の対象となった機器20の「LID」は、例えば記憶部12に、「CID」として記憶される。「CID」は、テンポラリデータであって、ユーザが機器20に対して指示を行うごとに、「CID」は更新される。具体的には、例えば、直前にユーザが「LID」が「0」である第2機器20−2に対して指示をしていた場合、「0」という「CID」が記憶部12に記憶される。なお、「CID」はデータベース60に記憶されてもよい。
「MACアドレス」及び「IPアドレス」フィールドは、機器20が備えている有線又は無線ネットワークインタフェースカードに対して設定されたMACアドレス及びIPアドレスを示す。
「音声入力装置ID」フィールドは、機器20と関連付けられた音声入力装置30を識別する識別子を示す。具体的には、第1音声入力装置30−1と同じ自宅のリビングルームに設置された第1機器20−1、第2機器20−2及び第3機器20−3に対して、同じ「0」という「音声入力装置ID」が設定される。第2音声入力装置30−2と同じ自宅のベッドルームに設置された第4機器20−4に対して、「1」という「音声入力装置ID」が設定される。第3音声入力装置30−3と同じ別荘のベッドルームに設置された第5機器20−5に対して、「2」という「音声入力装置ID」が設定される。
なお、機器テーブルT1は、「LID」フィールドと「音声入力装置ID」フィールドとを共に含んでいてもよいし、いずれか一方のみを含んでいてもよい。
また、直近の指示の対象となった機器20の「LID」ではなく、直近の音声コマンドが入力された音声入力装置30の「音声入力装置ID」を「CID」として記憶してもよい。例えば、ユーザが直近に入力した音声コマンドが、第1音声入力装置30−1に対しての音声コマンドである場合、第1音声入力装置30−1の「音声入力装置ID」である「0」が「CID」として記憶されてもよい。
また、データベース60は、機器閾値テーブルを記憶する。図5及び図6は、データベース60に記憶される機器閾値テーブルの一例である機器閾値テーブルT2及びT3を示す。機器閾値テーブルは「LID」ごとに(LIDと関連付けて)記憶される。
なお、機器閾値テーブルは、LIDの値によらず一意に定まるテーブルであってもよい。また、音声入力装置30の「音声入力装置ID」を「CID」として記憶する場合、機器閾値テーブルは、「音声入力装置ID」ごとに(音声入力装置IDと関連付けて)記憶されるようにしてもよい。
図5及び図6に示すように、機器閾値テーブルT2及びT3は「ID」、「名称」、「zone」及び「閾値」フィールドを含む。「ID」、「名称」及び「zone」フィールドは、機器テーブルT1の「ID」、「名称」及び「zone」とそれぞれ同じである。
「閾値」フィールドは、機器選択部150及びコマンド選択部160がコマンド文字列を選択する際に、近似度との比較の対象となる値を示す。「閾値」は、各「LID」ごとに各「ID」と関連付けて設定される。図5及び図6に示すように、同じ「ID」である機器に対して、「LID」が異なる場合には異なる「閾値」が設定される。
機器閾値テーブルT2並びにT3及びコマンドテーブルT4の「閾値」フィールドには、例えば、そのLIDと関連付けられた機器20が選択されやすいように小さい値が設定されるとともに、誤って選択された場合に問題が大きい機器20又はコマンドと関連付けて大きな値が設定される。例えば、指示対象である機器20が誤って認識されるおそれがある。具体的には、ユーザが指示対象の機器20として「piano」を音声入力したにもかかわらず、「bed room1」として認識されたとする。この場合、ユーザの意図に反して、リビングルームに設置された電子ピアノではなく、寝室に設置されたTVが動作するおそれがある。このように、誤った指示がなされた場合に問題が大きいと考えられる各項目について、大きな「閾値」が設定される。
例えば、「0」という「LID」と関連付けられた機器閾値テーブルT2では、「0」という「LID」と関連付けられた第1機器20−1、第2機器20−2及び第3機器20−3に対して、第4機器20−4及び第5機器20−5よりも小さい閾値が設定される。「2」という「LID」と関連付けられた機器閾値テーブルT3では、「2」という「LID」と関連付けられた第5機器20−5に対して、第1機器20−1、第2機器20−2、第3機器20−3及び第4機器20−4よりも小さい閾値が設定される。
また、LIDと関連付けられていない機器20を機器閾値テーブルから取り除いておいてもよい。これにより、そのLIDと関連付けられた機器20のみを検索対象とすることができる。
さらに、データベース60は、コマンドテーブルを記憶する。図7は、データベース60に記憶されるコマンドテーブルT4の一例を示す。図7に示すように、コマンドテーブルT4は「コマンドID」、「コマンド」、及び「閾値」フィールドを含む。
「コマンドID」フィールドは、機器20に対する各コマンドを一意に識別する情報を示す。図7では、「power on」コマンドがコマンドID「1」に相当し、「play」コマンドがコマンドID「2」に相当し、「volume up」コマンドがコマンドID「3」に相当し、「volume down」コマンドがコマンドID「4」に相当し、「power off」コマンドがコマンドID「5」に相当する。
「コマンド」フィールドは、機器20に対する音声コマンドの内容を示す。具体的には、「power on」コマンドは、機器をスタンバイ状態から起動するコマンドである。「play」コマンドは、機器20(例えば、第2機器20−2である電子ピアノ)の自動演奏を開始させるコマンドである「volume up」コマンドは、機器20の出力音量を上げるコマンドである。「volume down」コマンドは、機器20の出力音量を下げるコマンドである。「power off」コマンドは、機器20を起動状態からスタンバイ状態に移行させるコマンドである。
なお、「コマンド」フィールドの各値は、特許請求の範囲のコマンド文字列の一部に相当する。
「閾値」フィールドは、機器閾値テーブルT2及びT3に含まれる「閾値」と同様、後述するコマンド文字列選択部がコマンド文字列を選択する際に、近似度との比較の対象となる値を示す。
なお、図7のコマンドテーブルT4には、図2のコマンドC1乃至C5と対応するコマンドが記載されているが、他のコマンドを含んでいてもよい。また、各コマンドと対応する「閾値」は、機器20に共通の値であってもよいし、機器20ごとに(機器IDと関連付けて)異なる値であってもよい。
データベース60には機器テーブルT1、機器閾値テーブルT2並びにT3及びコマンドテーブルT4以外のデータも記憶される。例えば、音声コマンドとコマンド文字列との対応関係を示すデータ(言い換えれば、音声コマンドをテキストデータであるコマンドに変換するためのデータ)がデータベース60に記憶される。このデータはコマンドの種類(体系)ごとに記憶される。
MQTTサーバ70は、MQTTプロトコルを使用してデータを送受信するためのものである。コマンドデータ送信装置10とMQTTサーバ70とは一つのサーバコンピュータによって実現されてもよいし、別のサーバコンピュータによって実現されてもよい。
[2.機能ブロック]図8は、コマンド生成システム50及び機器20で実現される機能ブロックの一例を示す。
図8に示すように、コマンドデータ送信装置10は音声認識結果取得部110、コマンドデータ制御部120、コマンドデータ送信部130を含む。コマンドデータ制御部120は、近似度計算部140、機器選択部150、コマンド選択部160、及びコマンドデータ生成部170を含む。これらの機能ブロックは例えば制御部11によって実現される。
また図8に示すように、機器20はコマンドデータ受信部210、及びコマンド送信部220を含む。これらの機能ブロックは例えば制御部21によって実現される。
音声認識結果取得部110は、機器20への音声コマンドに対する認識結果を示す認識結果文字列を取得する。具体的には、例えば、ユーザが第1音声入力装置30−1に対して、「piano play」という音声を入力した例を想定して説明する。第1音声入力装置30−1に入力された音声は、第1音声入力装置30−1によって音声データに変換される。変換された音声データは、第1ルータ4−1及びインターネット6を介して音声認識装置40に送信される。音声認識装置40は、音声データを所定形式のテキストデータに変換する。例えば、「piano play」という音声データに基づいて、「piano play」というテキストデータが生成される。
ここで、第1音声入力装置30−1の置かれた環境等に起因して、ユーザの意図を反映しないテキストデータに変換される場合がある。例えば、「piano play」という音声に基づいて、「pino ply」というテキストデータが生成される場合がある。この場合、音声認識結果取得部110は、音声認識装置40によって変換された、「pino ply」というテキストデータを取得する。
また、音声認識結果取得部110は、認識結果文字列と関連付けて、音声コマンドが入力された音声入力装置を識別する「音声入力装置ID」を取得してもよい。具体的には、例えば図4に示す「音声入力装置ID」が設定されている場合を想定して説明する。まず、第1音声入力装置30−1に音声コマンドが入力される。第1音声入力装置30−1に入力された音声コマンドは、第1音声入力装置30−1の「音声入力装置ID」である「0」とともにインターネット6を介して音声認識装置40に送信される。音声認識装置40は、音声データのデータ形式を変換し、変換後の音声データである認識結果文字列とともに「0」という「音声入力装置ID」を音声認識結果取得部110に送信する。そして、音声認識結果取得部110は、認識結果文字列と関連付けて、「0」という「音声入力装置ID」を取得してもよい。
コマンドデータ制御部120は、音声認識結果取得部110が取得した認識結果文字列に基づいて、コマンド文字列の選択及び機器20に送信するコマンドデータの生成等を行う。近似度計算部140は、認識結果文字列と、複数のコマンド文字列のそれぞれと、の近似度を計算する。具体的には、近似度計算部140は、認識結果文字列に含まれる機器20を示す文字列と、機器テーブルT1に含まれる当該機器20の「名称」フィールドまたは「zone」フィールドの各値と、の近似度を計算する。
例えば、音声認識結果取得部110が取得した認識結果文字列が「piano play」である場合、近似度計算部140は、認識結果文字列に含まれる「piano」という文字列を機器20に相当する文字列として抽出する。さらに、「piano」という文字列と、「living room」、「bed room1」、「bed room2」、「main」、「piano」及び「TV」の各文字列と、の近似度を計算する。なお、文字列同士の近似度の計算方法については、従来技術を用いる為詳細な説明は省略する。
近似度計算部140は、「piano」という文字列と、「piano」という文字列と、の近似度は例えば1.0であると算出する。近似度計算部140は、「piano」という文字列と、「living room」、「bed room1」、「bed room2」、「main」、「piano」及び「TV」の各文字列と、の近似度はそれぞれ例えば「0.1」であると算出する。ここでは、近似度「1.0」という値は、文字列同士が最も近似していることを示し、近似度「0.0」という値は、文字列同士が最も近似していないことを示す。
また、例えば、音声認識結果取得部110が取得した認識結果文字列が「pino ply」である場合、近似度計算部140は、認識結果文字列に含まれる「pino」という文字列を機器20に相当する文字列として抽出する。さらに、「pino」という文字列と、「living room」、「bed room1」、「bed room2」、「main」、「piano」及び「TV」の各文字列と、の近似度を計算する。この場合、近似度計算部140は、「pino」という文字列と、「piano」という文字列と、の近似度は例えば「0.7」であると算出する。近似度計算部140は、「pino」という文字列と、「living room」、「bed room1」、「bed room2」、「main」、「piano」及び「TV」の各文字列との近似度は例えばそれぞれ「0.1」であると算出する。
さらに、近似度計算部140は、認識結果文字列に含まれるコマンドを示す文字列と、コマンドテーブルT4に含まれる「コマンド」フィールドの各値と、の近似度を計算する。例えば、音声認識結果取得部110が取得した認識結果文字列が「piano play」である場合、近似度計算部140は、認識結果文字列に含まれる「play」という文字列をコマンドに相当する文字列として抽出する。さらに、「play」という文字列と、「power on」、「play」、「volume up」、「volume down」及び「power off」の各文字列と、の近似度を計算する。近似度計算部140は、「play」という文字列と、「play」という文字列と、の近似度は例えば「1.0」であると算出する。近似度計算部140は、「play」という文字列と、「power on」、「play」、「volume up」、「volume down」及び「power off」の各文字列との近似度は例えばそれぞれ「0.1」であると算出する。
また、例えば、音声認識結果取得部110が取得した認識結果文字列が「pino ply」である場合、近似度計算部140は、認識結果文字列に含まれる「ply」という文字列をコマンドに相当する文字列として抽出する。さらに、「ply」という文字列と、「power on」、「play」、「volume up」、「volume down」及び「power off」の各文字列と、の近似度を計算する。この場合、近似度計算部140は、「ply」という文字列と、「play」という文字列と、の近似度は例えば「0.8」であると算出する。近似度計算部140は、「ply」という文字列と、「power on」、「play」、「volume up」、「volume down」及び「power off」の各文字列との近似度は例えばそれぞれ「0.1」であると算出する。
なお、近似度計算部140は、直近のロケーションIDと関連付けられた1または複数のコマンド文字列と、認識結果文字列と、の近似度のみを計算してもよい。具体的には、例えば、直近のコマンドデータが第2機器20−2に対して送信されていた場合、「CID」は、第2機器20−2と関連付けられた「LID」の値である「0」となる。この場合、近似度計算部は、認識結果文字列と、「LID」が「0」である第1機器20−1、第2機器20−2及び第3機器20−3と関連付けられた「名称」及び「zone」の値とのみ、近似度を計算してもよい。「CID」が「LID」と異なる機器20に関して、近似度の計算対象から除外することによって、現在ユーザが操作している対象の機器20と異なるロケーションに設置された機器20に対して誤った指示がなされることを防止できる。
機器選択部150及びコマンド選択部160は、各近似度と、各コマンド文字列に対応する閾値と、に基づいて、コマンド文字列を選択する。なお、特許請求の範囲におけるコマンド選択部は、機器選択部150及びコマンド選択部160に相当する。具体的には、機器選択部150は、機器20に関する近似度と、機器閾値テーブルT2又はT3に含まれる当該機器20と関連付けられた「閾値」と、に基づいて、機器閾値より大きな近似度に対応したコマンド文字列を選択する。
例えば、音声認識結果取得部110が取得した認識結果文字列が「piano play」である場合、第2機器20−2に関する近似度「1.0」は、機器閾値テーブルT2に含まれる第2機器20−2と対応する「閾値」の値「0.7」よりも大きい。他の機器20に関する各近似度は、機器閾値テーブルT2に含まれるそれぞれ対応する機器20の「閾値」の値よりも小さい。そのため、機器選択部150は、第2機器20−2と対応する「piano」というコマンド文字列を選択する。
また、例えば、音声認識結果取得部110が取得した認識結果文字列が「pino ply」である場合、第2機器20−2に関する近似度「0.7」は、機器閾値テーブルT2に含まれる第2機器20−2と対応する「閾値」の値「0.7」と同じである。他の機器20に関する各近似度は、機器閾値テーブルT2に含まれるそれぞれ対応する機器20の「閾値」の値よりも小さい。そのため、機器選択部150は、第2機器20−2と対応する「piano」というコマンド文字列を選択する。
なお、機器選択部150は、さらに、コマンド文字列を選択するごとに、選択されたコマンド文字列と関連付けられた機器20が設置されたロケーションを識別するロケーション識別子(LID)を取得してもよい。具体的には、例えば、機器選択部150は、「piano」というコマンド文字列を選択した場合、「piano」というコマンド文字列と関連付けられた「0」という「LID」を取得する。機器選択部150が取得した「LID」は、「CID」として記憶部に記憶される。
また、機器選択部150は、直近のLIDと関連付けられた「名称」及び「zone」フィールドのみを検索の対象としてもよい。具体的には、例えば、直近のコマンドデータが第2機器20−2に対して送信されていた場合、「CID」は、第2機器20−2と関連付けられた「LID」の値である「0」となる。この場合、機器選択部150は、「LID」が「0」である第1機器20−1、第2機器20−2及び第3機器20−3と関連付けられた「名称」及び「zone」のみを検索の対象としてもよい。
コマンド選択部160は、コマンドに関する近似度と、コマンドテーブルT4に含まれる当該コマンドと関連付けられた「閾値」と、に基づいて、機器閾値より大きな近似度に対応したコマンド文字列を選択する。
例えば、音声認識結果取得部110が取得した認識結果文字列が「piano play」である場合、「play」というコマンドに関する近似度「1.0」は、コマンドテーブルT4に含まれる「play」と対応する「閾値」の値「0.8」よりも大きい。他のコマンドに関する各近似度は、コマンドテーブルT4に含まれるそれぞれ対応するコマンドの「閾値」の値よりも小さい。そのため、機器選択部150は、「play」というコマンド文字列を選択する。
また、例えば、音声認識結果取得部110が取得した認識結果文字列が「pino ply」である場合、「ply」というコマンドに関する近似度「0.8」は、コマンドテーブルT4に含まれる「ply」と対応する「閾値」の値「0.8」と同じである。他のコマンドに関する各近似度は、コマンドテーブルT4に含まれるそれぞれ対応するコマンドの「閾値」の値よりも小さい。そのため、機器選択部150は、「play」というコマンド文字列を選択する。
上記のように、音声認識結果取得部110が取得した認識結果文字列が、実際にユーザ意図したコマンド文字列と異なる場合であっても、同じコマンド文字列が選択される。これにより、音声に対する認識結果から問題発生の可能性があるコマンドデータが不用意に生成されることを防止できる。
なお、コマンド選択部は、取得された音声入力装置IDと関連付けられた1または複数のコマンド文字列の中に、閾値より大きな近似度に対応したコマンド文字列が有る場合に該対応するコマンド文字列を選択してもよい。さらに、コマンド選択部は、該対応したコマンド文字列がない場合に、取得された音声入力装置IDと関連付けられていない1または複数のコマンド文字列の中から閾値より大きな近似度に対応したコマンド文字列を選択するようにしてもよい。具体的には、例えば取得された音声入力装置IDが「0」である場合、コマンド選択部は、まず「0」という音声入力装置IDと関連付けられた「名称」及び「zone」フィールドの中から、閾値より大きな近似度に対応したコマンド文字列を選択する。コマンド選択部は、閾値より大きな近似度に対応したコマンド文字列がない場合に、「0」という音声入力装置IDと関連付けられていない1または複数のコマンド文字列の中から閾値より大きな近似度に対応したコマンド文字列を選択するようにしてもよい。これにより、取得された音声入力装置IDと関連付けられたコマンド文字列が優先的に選択される。
コマンドデータ生成部170は、選択されたコマンド文字列に基づいて、機器20に対して送信すべきコマンドを生成する。具体的には、コマンドデータ生成部170は、音声コマンドに応じた動作を行わせるために機器20に対して送信すべきコマンドと、当該コマンドをLAN2を介して機器20に送信する際の宛先とを示すコマンドデータを生成する。
図9はコマンドデータの例を示す。図9に示すコマンドデータD1は、第1機器20−1をスタンバイ状態から起動する音声コマンドが受け付けられた場合に生成されるコマンドデータの一例を示す。すなわち、コマンドデータD1は、図2に示したコマンドC1を第1機器20−1に対して実行したい場合に生成されるコマンドデータの一例を示す。
コマンドデータD1は項目「type」,「id」,「command」を含む。項目「type」はデータの種別を示す。図9に示す例では「cmd」が項目「type」に設定されている。これはデータがコマンドデータであることを示している。項目「id」はデータ(コマンドデータ)を一意に識別する識別情報を示す。項目「command」はコマンドデータの内容を示す。項目「command」は項目「ip」,「path」,「method」を含む。項目「ip」はコマンドの宛先を示す。第1機器20−1のIPアドレスが項目「ip」に設定されている。項目「path」はコマンド本体に相当する。項目「ip」はコマンドC1のうちのIPアドレス部分に相当し、項目「path」はコマンドC1のうちのIPアドレス以降の部分に相当する。項目「method」は、使用されるHTTPプロトコルのメソッドを示す。
図9に示すコマンドデータD2は、第2機器20−2を自動演奏する音声コマンドが受け付けられた場合に生成されるデータの一例を示す。すなわち、コマンドデータD2は、図2に示したコマンドC2を第2機器20−2に対して実行したい場合に生成されるコマンドデータの一例を示す。コマンドデータD1と同様、コマンドデータD2も項目「type」,「id」,「command」を含む。コマンドデータD2では、第2機器20−2のIPアドレスが項目「ip」に設定されている。コマンドデータD2では、項目「ip」がコマンドC2のうちのIPアドレス部分に相当し、項目「path」はコマンドC2のうちのIPアドレス以降の部分に相当する。
なお、コマンドデータD1,D2では、HTTPプロトコルのGETメソッドを使用する場合について示していたが、POSTメソッドを使用するようにしてもよい。図9のコマンドデータD3に示すように、POSTメソッドを使用する場合には、POSTメソッドによって送信される内容を示す項目「body」を含む。なお、HTTPヘッダ情報によって送信される内容を示す項目「headers」をコマンドデータに含めてもよい。例えば、“headers”:[“X−HEADER1:INFO1”,“X−HEADER2:INFO2”]のような項目「headers」をコマンドデータに含め、コマンド送信時に当該内容をHTTPヘッダに追加して送信するようにしてもよい。
コマンドデータ送信部130は、コマンドデータ生成部170によって生成されたコマンドデータをインターネット6を介してローカルエリア装置に送信する。「ローカルエリア装置」とは、ローカルエリアに設置される装置であり、インターネット6を介してデータを受信可能な装置であり、LAN2を介してコマンドを宛先に送信可能な装置である。
例えば、第1機器20−1は、ホスト機器であって、インターネット6を介して送信されるデータを受信可能である。このため、第1機器20−1に対するコマンドを示すコマンドデータが生成された場合、コマンドデータ送信部130は当該コマンドデータを、インターネット6を介して第1機器20−1(ローカルエリア装置)に送信する。
一方、第2機器20−2は、クライアント機器である。このため、第2機器20−2に対するコマンドを示すコマンドデータが生成された場合、コマンドデータ送信部130は当該コマンドデータを、インターネット6及び第1機器20−1を介して第2機器20−2に送信する。
コマンドデータはMQTTプロトコルを使用してローカルエリア装置に送信される。すなわち、コマンドデータ送信部130はMQTTサーバ70を介してコマンドデータをローカルエリア装置に送信する。MQTTサーバ70は、従来技術と同様であるため詳細な説明は省略する。
コマンドデータ受信部210は、コマンドデータをインターネット6を介して受信する。コマンド送信部220は、コマンドデータに基づいて、LAN2を介して宛先にコマンドを送信する。
[3.処理]コマンド生成システム50で実行される処理について説明する。
図10は、テキストデータに変換された音声コマンドがユーザID及び「音声入力装置ID」とともにコマンドデータ送信装置10に送信された場合に実行される処理の一例を示す。制御部11がプログラムに従って図10に示す処理を実行することによって、制御部11が音声認識結果取得部110、コマンドデータ制御部120、及びコマンドデータ送信部130として機能する。以下では、電子ピアノの自動演奏を指示する音声コマンドがユーザID「U1」とともに受信され、「CID」が「0」である場合を想定して、図10に示す処理を説明する。
図10に示すように、まず、制御部11は、ユーザID及び「音声入力装置ID」とともに認識結果文字列を取得する(S100)。具体的には、音声認識結果取得部110は、「U1」というユーザID及び「0」という「音声入力装置ID」とともに、「piano play」という文字列を取得する。また、場合によっては、音声認識結果取得部110は、「pino ply」という文字列を取得する。
次に、音声認識結果取得部110は、「CID」を取得する(S102)。例えば、音声認識結果取得部110は、「0」という「CID」を取得する。CIDは、テンポラリデータとして記憶部12に記憶されている。そのため、音声認識結果取得部110は、記憶部12から「CID」を取得する。
次に、制御部11は対象機器を特定する(S104)。制御部11はユーザU1の機器テーブルT1及び機器閾値テーブルT2を参照し、動作指示の対象となる機器20を特定する。なお、S102において取得された「CID」が「0」であるため、制御部11は機器閾値テーブルT2を参照するが、取得された「CID」が「2」である場合、制御部11は機器閾値テーブルT3を参照する。具体的な制御部11が対象機器を特定するフローについて、図11を用いて説明する。
まず、近似度計算部140は、認識結果文字列に含まれる「piano」または「pino」という文字列を機器20に相当する文字列として抽出する(S1100)。そして、近似度計算部140は、近似度を計算する(S1102)。具体的には、近似度計算部140は、上記のように「piano」という文字列と、「piano」という文字列と、の近似度は1.0であると算出する。抽出された文字列が「pino」である場合、近似度計算部140は、「pino」という文字列と、「piano」という文字列と、の近似度は「0.7」であると算出する。さらに、近似度計算部140は、「piano」または「pino」という文字列と、「living room」、「bed room1」、「bed room2」、「main」、「piano」及び「TV」の各文字列と、との近似度はそれぞれ「0.1」であると算出する。
次に、機器選択部150は、各近似度と、各コマンド文字列に対応する閾値との大小関係を判定し(S1104)、コマンド文字列を選択する(S1106)。具体的には、機器選択部150は、第2機器20−2に関する近似度「1.0」は、機器閾値テーブルT2に含まれる第2機器20−2と対応する「閾値」の値「0.7」よりも大きいと判定する。または「pino」という文字列が抽出された場合、機器選択部150は、第2機器20−2に関する近似度「0.7」は、機器閾値テーブルT2に含まれる第2機器20−2と対応する「閾値」の値「0.7」と同じであると判定する。機器選択部150は、他の文字列に関する近似度はそれぞれ対応する「閾値」の値より小さいと判定する。そして、機器選択部150は、第2機器20−2と対応する「piano」というコマンド文字列を選択する。
次に、制御部11は、コマンドを特定する(S106)。制御部11はコマンドテーブルT4を参照し、音声コマンドの内容を表すコマンドを特定する。具体的な制御部11がコマンドを特定するフローについて、図12を用いて説明する。
まず、近似度計算部140は、認識結果文字列に含まれる「play」または「ply」という文字列をコマンドに相当する文字列として抽出する(S1200)。そして、近似度計算部140は、近似度を計算する(S1202)。具体的には、近似度計算部140は、「play」という文字列と、「play」という文字列と、の近似度は1.0であると算出する。抽出された文字列が「ply」である場合、近似度計算部140は、「ply」という文字列と、「play」という文字列と、の近似度は「0.8」であると算出する。さらに、近似度計算部140は、「play」または「ply」という文字列と、power on」、「play」、「volume up」、「volume down」及び「power off」の各文字列との近似度はそれぞれ「0.1」であると算出する。
次に、機器選択部150は、各近似度と、各コマンド文字列に対応する閾値との大小関係を判定し(S1204)、コマンド文字列を選択する(S1206)。具体的には、機器選択部150は、「play」というコマンドに関する近似度「1.0」は、コマンドテーブルT4に含まれる「play」コマンドと対応する「閾値」の値「0.8」よりも大きいと判定する。または「ply」という文字列が抽出された場合、機器選択部150は、「ply」というコマンドに関する近似度「0.8」は、コマンドテーブルT4に含まれる「play」コマンドと対応する「閾値」の値「0.8」と同じであると判定する。機器選択部150は、他の文字列に関する近似度はそれぞれ対応する「閾値」の値より小さいと判定する。そして、機器選択部150は、「play」というコマンド文字列を選択する。
次に、制御部11は対象機器及び関連機器を制御するためのコマンドデータを生成する(S108)。具体的には、制御部11は、第2機器20−2が自動演奏を行わせるためのコマンドデータD2を生成する。
その後、制御部11はコマンドデータを送信する(S110)。具体的には、制御部11は、コマンドデータD2をMQTTサーバ70を介して第2機器20−2に送信する。コマンドデータD2を取得したコマンド送信部220は、コマンドデータD2の項目「ip」及び「path」に基づき、図2に示したコマンドC2を取得する。そして、コマンド送信部220はコマンドC2として設定されたURLにアクセスする。この場合、HTTPリクエストが第2機器20−2に送信され、その結果、第2機器20−2による自動演奏が開始される。
[4.まとめ]以上に説明したコマンド生成システム50によれば、音声に対する認識結果から問題発生の懸念があるコマンドデータが不用意に生成されることを防止できる。
[5.変形例]本発明は以上に説明した実施形態に限定されるものではない。
[5−1]以上では、主に、第1機器20−1、第2機器20−2、第3機器20−3、第4機器20−4及び第5機器20−5がAVレシーバ、電子ピアノ、テレビジョン受像機、又はブルーレイディスクプレーヤである場合を想定して説明したが、機器制御システム1による制御の対象となる機器20はこれらに限られない。機器20は、AVレシーバ、テレビジョン受像機、及びブルーレイディスクプレーヤ以外のオーディオ機器又はオーディオビジュアル機器であってもよいし、電子ピアノ以外の楽器(電子オルガン又はギター等のネットワーク機能を有する楽器)であってもよい。ネットワーク通信機能を有するオーディオ機器、オーディオビジュアル機器、又は楽器は機器制御システム1による制御の対象となり得る。また、機器20は、オーディオ機器、オーディオビジュアル機器、及び楽器以外の機器であってもよい。ネットワーク通信機能を有する機器は機器制御システム1による制御の対象となり得る。
また、コマンドデータ送信装置10からコマンドデータを受信するローカルエリア装置は、機器制御システム1による制御の対象となる機器20以外の装置であってもよい。例えば、ローカルエリア装置は、ルータ、スイッチ、無線通信アクセスポイント等のネットワーク機器であってもよい。
[5−2]音声入力装置30はインターネット6に接続していればよく、機器20と同じLAN2に接続されていなくてもよい。
[5−3]以上に説明した実施形態では、ユーザが機器20の音声コマンドを音声入力装置30に入力するようになっていたが、動作指示は音声入力されなくてもよい。例えば、ユーザが端末の画面に表示されるボタンを選択することによって動作指示を入力できるようにしてもよい。
[5−4]LAN2が有線LANと無線LANとの両方を含む場合、コマンドの送信先の機器20に応じて、いずれかを優先的に使用してもよい。
[5−5]以上に説明した実施形態では、コマンドがLAN2を介して送信されていたが、コマンドはLAN2以外の伝送手段を介して送信されてもよい。例えば、コマンドは、Bluetooth(登録商標)等の、無線LAN以外の無線通信を介して送信されてもよいし、HDMIケーブル等の、LANケーブル以外のケーブルを介して送信されてもよい。この場合、「ローカルエリア」とは、無線通信又はケーブルを介して通信可能なエリアである。
また、コマンドは以上に説明した形式(図2参照)に限られず、他の形式であってもよい。コマンドデータも以上に説明した形式(図5,7,8参照)に限られず、他の形式であってもよい。つまり、コマンドはHTTPプロトコルを使用したものでなくてもよい。
[5−6]以上に説明した実施形態では、MQTTプロトコルを使用した方法でコマンドデータを送信していたが、他の手法を採用してもよい。例えば、コマンドデータをサーバに登録しておき、機器20がサーバにアクセスすることによって、サーバに登録されたコマンドデータをダウンロードするようにしてもよい。
1 機器制御システム、2 LAN、2−1 第1LAN、2−2 第2LAN、4 ルータ、4−1 第1ルータ、4−2 第2ルータ、6 インターネット、10 コマンドデータ送信装置、11 制御部、12 記憶部、13 通信部、20 機器、20−1 第1機器、20−2 第2機器、20−3 第3機器、20−4 第4機器、20−5 第5機器、21 制御部、22 記憶部、23 通信部、30 音声入力装置、30−1 第1音声入力装置、30−2 第2音声入力装置、30−3 第3音声入力装置、40 音声認識装置、50 コマンド生成システム、60 データベース、70 MQTTサーバ、110 音声認識結果取得部、120 コマンドデータ制御部、130 コマンドデータ送信部、140 近似度計算部、150 機器選択部、160 コマンド選択部、170 コマンドデータ生成部、210 コマンドデータ受信部、220 コマンド送信部、C1〜C5 コマンド、D1〜D3 コマンドデータ、T1 機器テーブル、T2 機器閾値テーブル、T3 機器閾値テーブル、T4 コマンドテーブル。

Claims (5)

  1. 機器への音声コマンドに対する認識結果を示す認識結果文字列を取得する音声認識結果取得部と、
    前記認識結果文字列と、複数のコマンド文字列のそれぞれと、の近似度を計算する近似度計算部と、
    前記各近似度と、前記各コマンド文字列に対応する閾値と、に基づいて、前記コマンド文字列を選択するコマンド文字列選択部と、
    前記選択されたコマンド文字列に基づいて、前記機器に対して送信すべきコマンドを生成するコマンド生成部と、
    を有することを特徴とするコマンド生成システム。
  2. 前記文字列選択部は、前記閾値より大きな近似度に対応した前記コマンド文字列を選択することを特徴とする請求項1に記載のコマンド生成システム。
  3. 前記コマンド文字列選択部は、さらに、前記コマンド文字列を選択するごとに、選択された前記コマンド文字列と関連付けられた前記機器が設置されたロケーションを識別するロケーション識別子を取得し、
    前記近似度計算部は、直近の前記ロケーション識別子と関連付けられた1または複数の前記コマンド文字列と、前記認識結果文字列と、の近似度のみを計算する、
    ことを特徴とする請求項1または2に記載のコマンド生成システム。
  4. 前記音声認識結果取得部は、さらに、前記認識結果文字列と関連付けて、前記音声コマンドが入力された音声入力装置を識別する音声入力装置識別子を取得し、
    前記複数のコマンド文字列は、それぞれ前記音声入力装置識別子と関連付けられ、
    前記コマンド文字列選択部は、取得された前記音声入力装置識別子と関連付けられた1または複数の前記コマンド文字列の中に、前記閾値より大きな近似度に対応した前記コマンド文字列が有る場合に該対応する前記コマンド文字列を選択し、該対応した前記コマンド文字列がない場合に、取得された前記音声入力装置識別子と関連付けられていない1または複数の前記コマンド文字列の中から前記閾値より大きな近似度に対応した前記コマンド文字列を選択する、
    ことを特徴とする請求項1または2に記載のコマンド生成システム。
  5. 機器への音声コマンドに対する認識結果を示す認識結果文字列を取得する音声認識結果取得ステップと、
    前記認識結果文字列と、複数のコマンド文字列のそれぞれと、の近似度を計算する近似度計算ステップと、
    前記各近似度と、前記各コマンド文字列に対応する閾値と、に基づいて、前記コマンド文字列を選択するコマンド文字列選択ステップと、
    前記選択されたコマンド文字列に基づいて、前記機器に対して送信すべきコマンドを生成するコマンド生成ステップと、
    を有することを特徴とするコマンド生成方法。
JP2017232567A 2017-12-04 2017-12-04 コマンドデータ生成システム及びコマンド生成方法 Pending JP2019101254A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017232567A JP2019101254A (ja) 2017-12-04 2017-12-04 コマンドデータ生成システム及びコマンド生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017232567A JP2019101254A (ja) 2017-12-04 2017-12-04 コマンドデータ生成システム及びコマンド生成方法

Publications (1)

Publication Number Publication Date
JP2019101254A true JP2019101254A (ja) 2019-06-24

Family

ID=66973535

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017232567A Pending JP2019101254A (ja) 2017-12-04 2017-12-04 コマンドデータ生成システム及びコマンド生成方法

Country Status (1)

Country Link
JP (1) JP2019101254A (ja)

Similar Documents

Publication Publication Date Title
JP6725008B2 (ja) コマンドデータ送信装置、ローカルエリア装置、機器制御システム、コマンドデータ送信装置の制御方法、ローカルエリア装置の制御方法、機器制御方法、及びプログラム
US8526484B2 (en) Content reproduction apparatus, content receiving apparatus, method of reproducing content, program, and content reproduction system
US7685324B2 (en) Audio-video processing apparatus and program therefor
KR20060043362A (ko) 정보 제어 방법, 정보 재생 시스템, 정보 제공 장치, 정보재생 장치, 및 정보 제어 프로그램
US8928553B2 (en) Method and apparatus for accessing device based on intuitive selection
US11538458B2 (en) Electronic apparatus and method for controlling voice recognition thereof
JP6151112B2 (ja) 再生装置、再生装置の制御方法、サーバ、および、システム
JP2009086157A (ja) コンテンツ再生装置
US20120327304A1 (en) Contents processing system, contents processing apparatus, and program of the apparatus
JP5014927B2 (ja) リクエスト対応カラオケシステム
US11050579B2 (en) Distribution destination specifying device and distribution destination specifying method
JP2006004489A (ja) 増幅装置
JP5057511B2 (ja) カラオケシステム
JP2019101254A (ja) コマンドデータ生成システム及びコマンド生成方法
JP5652065B2 (ja) コンテンツ再生システム、制御装置及び再生装置
JP2007065225A (ja) カラオケbgm演奏管理システム
JP4529478B2 (ja) 情報再生システム、情報提供装置、情報再生方法および情報管理プログラム
JP2013114148A (ja) サーバ装置、カラオケ曲情報提示方法、及びサーバ処理プログラム
JP5349171B2 (ja) 演奏条件設定機能付きカラオケシステム
JP2006012257A (ja) 楽曲選択装置、楽曲選択システム、及び楽曲選択方法
WO2011118649A1 (ja) コンテンツ再生装置、コンテンツ再生装置の制御方法、制御プログラム、記録媒体、及びテレビジョン受像機
JP3884225B2 (ja) ディジタルインタフェースを経由して送/受信される命令及び/又は応答フレームの生成装置
US20180088757A1 (en) Information processing device and information processing method
JP5962742B2 (ja) コンテンツ再生システム、制御装置及び再生装置
JP6079971B2 (ja) カラオケ用ホスト装置、カラオケシステム及びカラオケ用プログラム