本発明は、電気機器を制御するための音声に基づくユーザインターフェースの分野に関し、特に、複数の電気機器に跨るポータブル(portable)の自然言語処理(NLP)インターフェースを提供するための方法、及びシステムに関する。
(関連出願への相互参照)
本願は、2018年10月15日に提出された米国特許出願第No.16/160,929号に対する優先権を主張し、その全ての内容が引用により本明細書に組み込まれる。
近ごろ、アップルのSIRI(アップルスマート音声アシスタント)、アマゾンのEcho(アマゾンスマートスピーカー)、グーグルのGoogle Assistant(グーグルアシスタント)とマイクロソフトのCortana(マイクロソフトのコルタナ)のような音声に基づくデジタルアシスタントは、例えば家庭用電気機器への制御、ネットワーク検索、スケジュール、リマインダーなどの様々なタスクを処理するために市場に導入されている。このような音声に基づくデジタルアシスタントの利点の1つは、ユーザがデバイスを持ったり、見たりすることなく、両手を解放する方式でデバイスと対話することができることにある。従来、音声に基づくデジタルアシスタントを起動するために、ユーザは、音声に基づくデジタルアシスタントにトリガーフレーズ(例えば、所定のウェイクワード又はコマンド)を話すか、又は音声に基づくデジタルアシスタントを制御するために結合されたユーザ装置と(例えば、スマートフォン上でアプリケーションプログラムを開いてユーザインターフェイス上の仮想ボタンを押すことによって)対話する。音声に基づくデジタルアシスタントは、アクティブ化された後、受信した音声コマンドを解釈し、且つ動作(例えば、情報的回答を提供し、及び/又は符号化コマンドを送信して、周辺機器、例えばスマートホーム環境における電気機器を制御する)を実行する。
しかしながら、伝統的な音声に基づくデジタルアシスタントにより複数の電気機器を制御することには、多くの制限がある。例えば、従来の音声に基づくデジタルアシスタントは、環境で常に音声コマンドを聞く必要があるため、効率が高くない。従来の音声に基づくデジタルアシスタントは、サーバーにアクセスして複雑で強い自然言語処理(NLP)を行うために、インターネットに接続する必要もある。しかしながら、インターネットアクセシビリティは、デジタルアシスタントに追加されたいくつかのハードウェア及びソフトウェアを必要とするだけでなく、ユーザにプライバシーの問題をもたらす。また、従来の音声に基づくデジタルアシスタントは、様々な音声コマンドを処理できる複雑なNLPモデルと共に使用される。しかしながら、このような複雑なNLPモデルは、トレーニング及びアップグレードが難しく、時間がかかり、且つこのような複雑なNLPモデルを使用する精度及び効率が低下する。また、従来の音声に基づくデジタルアシスタントは、ユーザが特定の環境内(例えば、自宅で)の様々な位置で様々なアクティビティを行う際に複数の電気機器を制御するニーズを満たすために、十分なモビリティを提供することができない。ユーザ装置(例えば、スマートフォン)を使用して音声に基づくデジタルアシスタントを制御することができる場合でも、特にユーザが様々なアクティビティに従事しているときに、ユーザは、依然としてユーザ装置と対話してコマンドを音声に基づくデジタルアシスタントに送信する必要があり、これは不便で効率が低い。また、従来の音声に基づくデジタルアシスタントは、独自仕様であり、高価なハイエンドモデルの電気機器及び/又は指定された製造業者によって製造された電気機器のみと共に使用され得る。
従って、複数の電気機器を制御する方式を改善するために、ポータブルのNLPインターフェースを提供することは有益である。
したがって、電気機器としては、使用コストが低く、消費電力が低いポータブルの音声制御機器(例えば、ポータブルのNLPインターフェース、ポータブルのNLP機器)を使用して複数の電気機器(及び/又は他の装置)を制御するための方法及びシステムが必要である。音声制御機器は、サーバー又はインターネットに接続することなく、複雑なNLP処理を行うことができる。また、音声制御機器は、個々のユーザのニーズに合わせてカスタマイズすると共に、異なるモデル及び/又は異なる製造業者の様々なタイプの電気機器に適用することができる。
以下に説明される実施例は、内蔵の音声通信インターフェースと、内蔵のデータ通信インターフェースと、複数のNLPモデルを含む内蔵のNLPモジュールとを備えた音声制御機器により、複数の電気機器を制御するためのシステム及び方法を提供する。ここで、対応するNLPモデルは、複数の電気機器のそれぞれに使用される。音声制御機器は、音声コマンドを持続的に聞かない。逆に、本明細書に開示されるように、予め定義されたトリガーイベントによって内蔵の音声通信インターフェースをアクティブ化して、ユーザからの音声コマンドの聞き取りを開始する。このようにして、本明細書に開示される音声制御機器は、小型、携帯しやすく且つ消費電力が低いものに作られてもよい。また、音声制御機器は、どの制御すべきターゲット電気機器を選択するかを音声コマンドによって確定することができ、かつ対応するNLPモデルは、受信した音声コマンドを処理して、選択されたターゲット電気機器を制御するための機械コマンドを取得するために使用される。音声制御機器のNLPモジュールは、カスタマイズ、アップグレードが容易であり、且つ異なる電気機器のタイプに適用する。例えば、音声制御機器は、ユーザが環境(例えば、自宅で)で所有及び/又は共同で使用する1つ又は複数の電気機器のタイプに対応する1つ又は複数のNLPモデルを記憶することができる。また、対応する電気機器のタイプの電気機器のユーザの常用機能及び/又は優先機能に従って個々の単独のNLPモデルに対してカスタマイズすることができる。このようにして、本明細書で開示される音声制御機器は、サーバーによって操作される複雑なNLPモデルと共に動作する必要がない。逆に、音声制御機器は、軽量でカスタマイズが可能であり、かつインターネットから完全にオフラインで動作できることで、音声制御機器がユーザの音声コマンドを効果的かつ正確に処理して電気機器を制御できることを確保するとともに、ユーザのプライバシーを保護し、装置のセキュリティ対策を実現するためのコストを削減する。また、ユーザ装置を音声制御機器とサーバー(例えば、NLPサーバー)の間の仲介として使用することにより、音声制御機器は、独自のグラフィカルユーザインターフェイを必要としない(例えば、音声制御機器にはディスプレイ又はタッチセンシティブパネルが必要ではない)。
本明細書に開示されるように、一部の実施例において、複数のタイプの電気機器のためのポータブルの音声制御に基づくユーザインターフェースを提供する方法は、音声制御機器(音声制御機器には1つ又は複数のプロセッサ、メモリ、内蔵のデータ通信インターフェイス、内蔵の音声通信インターフェイス及び内蔵の自然言語処理(NLP)モジュールがあり、データ通信インターフェイスは、複数のタイプの電気機器(前記電気機器は異なる機械コマンドセットに応答して対応する電気機器操作を実行するように構成さる)とのデータ通信を確立するように構成され、音声通信インターフェイスは、ユーザからの音声に基づく入力を受信するように構成され、NLPモジュールは、前記音声制御機器のメモリに記憶され、ここで、NLPモジュールは、複数のタイプの電気機器のそれぞれに対応するNLPモデルを含む)においては、音声制御機器の内蔵の音声通信インターフェイスをアクティブ化するようにユーザリクエストを検出することと、前記音声制御機器の内蔵の音声通信インターフェイスをアクティブ化するように前記ユーザリクエストを検出したことに応答することと、音声制御機器の内蔵の音声通信インターフェイスをアクティブ化して、1つ又は複数のターゲット選択基準に従って、音声制御機器の内蔵の音声通信インターフェイスを介して受信される1つ又は複数の音声に基づくコマンドのための第1のターゲット電気機器を選択して、内蔵の音声通信インターフェースがアクティブに維持され且つ現在の選択された第1のターゲット電気機器が変えないように維持される場合、音声制御機器の内蔵の音声通信インターフェースを介して第1の音声入力を受信して、第1の音声入力を受信することに応答して、第1のターゲット電気機器が第1の電気機器のタイプの第1の電気機器であるという確定に従って、内蔵のNLPモジュールの、第1の電気機器のタイプに対応する第1のNLPモデルを使用して第1の音声入力を処理して、第1の機械コマンドを取得し、且つ内蔵のデータ通信インターフェースを介して第1の機械命令を第1の電気機器に送信し、前記第1のターゲット電気機器が前記第1の電気機器のタイプとは異なる第2の電気機器のタイプの第2の電気機器であるという確定に従って、前記内蔵のNLPモジュールの、前記第2の電気機器のタイプに対応する第2のNLPモデルを使用して前記第1の音声入力を処理して、第2の機械コマンドを取得し、且つ内蔵のデータ通信インターフェースを介して第2の機械コマンドを第2の電気機器に送信する、こととを含む。
一部の実施例によれば、音声制御機器は、複数のタイプの電気機器(異なる機械コマンドセットに応答して対応する電気機器操作を実行するように構成さる)とのデータ通信を確立するように構成される内蔵のデータ通信インターフェースと、ユーザからの音声に基づく入力を受信するように構成される音声通信インターフェースと、前記音声制御機器のメモリ内に記憶された内蔵のNLPモジュールとを含み、ここで、NLPモジュールが、複数のタイプの電気機器のそれぞれに対応するNLPモデル、1つ又は複数のプロセッサ、コマンドを記憶するメモリを含み、コマンドが1つ又は複数のプロセッサによって実行される場合、当該コマンドがプロセッサに本明細書に記載されるいずれかの方法の操作を実行させる。一部の実施例によれば、コンピュータ読み取り可能な記憶媒体(例えば、非一時的コンピュータ読み取り可能な記憶媒体)が提供され、当該コンピュータ読み取り可能な記憶媒体は、音声制御機器の1つ又は複数のプロセッサによって実行されるための1つ又は複数のプログラムを記憶し、1つの又は複数のプログラムが本明細書に記載されるいずれかの方法を実行するためのコマンドを含む。
以下の説明から、本出願の様々な利点は、明らかになる。
以下、添付の図面を参照して好ましい実施例を詳細に説明した後、開示された技術の上記の特徴及び利点、並びにその追加の特徴及び利点がより明確に理解される。
この開示される技術の実施例又は従来技術における技術案をより明確に説明するために、以下では、実施例又は従来技術を説明するための添付の図面を簡単に紹介する。明らかに、以下の説明する図面は、この開示された技術の一部の実施例を示すだけであるが、当業者は、創造的な努力なしに、これらの図面から他の図面を依然として導き出すことができる。
一部の実施例による、音声制御機器で制御できる複数の電気機器を含む操作環境を示すブロック図である。
一部の実施例によるネットワーク構成を示すブロック図であり、当該ネットワーク構成では、音声制御機器がユーザ装置と共に動作して音声制御機器をカスタマイズする。
一部の実施例による音声制御機器に使用される電気機器のタイプに対する例示的なNLPモデルのブロック図である。
一部の実施例による複数のタイプの電気機器のための音声制御に基づくユーザインターフェイスを提供する方法のフローチャートである。
一部の実施例による音声制御機器の音声通信インターフェースをアクティブ化する様々な実施例を示すブロック図である。
一部の実施例による音声制御機器の音声通信インターフェースをアクティブ化する様々な実施例を示すブロック図である。
一部の実施例による音声制御機器の音声通信インターフェースをアクティブ化する様々な実施例を示すブロック図である。
一部の実施例による音声制御機器の音声通信インターフェースをアクティブ化する様々な実施例を示すブロック図である。
一部の実施例による音声制御機器の音声通信インターフェースをアクティブ化する様々な実施例を示すブロック図である。
一部の実施例による音声制御機器の音声通信インターフェースをアクティブ化する様々な実施例を示すブロック図である。
一部の実施例による音声制御機器の音声通信インターフェースをアクティブ化する様々な実施例を示すブロック図である。
一部の実施例による音声制御機器を使用して複数のタイプの電気機器を制御する様々な操作シーンを示すブロック図である。
一部の実施例による音声制御機器を使用して複数のタイプの電気機器を制御する様々な操作シーンを示すブロック図である。
一部の実施例による複数のタイプの電気機器のためのポータブルの音声制御に基づくユーザインターフェイスをカスタマイズする方法のフローチャートである。
一部の実施例による複数のタイプの電気機器のためのポータブルの音声制御に基づくユーザインターフェイスをカスタマイズするためのシステム及びユーザインターフェイスの例を示す図である。
一部の実施例による複数のタイプの電気機器のためのポータブルの音声制御に基づくユーザインターフェイスをカスタマイズするためのシステム及びユーザインターフェイスの例を示す図である。
一部の実施例による複数のタイプの電気機器のためのポータブルの音声制御に基づくユーザインターフェイスをカスタマイズするためのシステム及びユーザインターフェイスの例を示す図である。
一部の実施例による複数のタイプの電気機器のためのポータブルの音声制御に基づくユーザインターフェイスをカスタマイズするためのシステム及びユーザインターフェイスの例を示す図である。
一部の実施例による複数のタイプの電気機器のためのポータブルの音声制御に基づくユーザインターフェイスをカスタマイズするためのシステム及びユーザインターフェイスの例を示す図である。
一部の実施例による複数のタイプの電気機器のためのポータブルの音声制御に基づくユーザインターフェイスをカスタマイズするためのシステム及びユーザインターフェイスの例を示す図である。
一部の実施例による複数のタイプの電気機器のためのポータブルの音声制御に基づくユーザインターフェイスをカスタマイズするためのシステム及びユーザインターフェイスの例を示す図である。
一部の実施例による複数のタイプの電気機器を制御するための音声制御機器を示すブロック図である。
一部の実施例による複数のタイプの電気機器に対して音声制御機器をカスタマイズするためのユーザ装置を示すブロック図である。
類似する符号は、図面の複数のビューにおける対応する部材を指す。
以下に実施例を詳細に参照し、実施例の例を図面に示す。以下の詳細な説明では、ここに提案されたテーマに対する全面的な理解を提供するように、多くの具体的な詳細が提案される。しかし、このテーマがこれらの特定の詳細なしに実施されることができることは当業者にとって明らかである。他の場合でも、実施例の様々な態様を不必要に不明瞭にしないように、既知の方法、プロセス、コンポーネント及び回路は、詳細に説明されていない。
本出願の実施例における図面を参照して、以下では本出願の実施例における技術案を明確かつ全面的に説明する。明らかに、説明される実施例は、本出願の一部の実施例だけであるが、全ての実施例ではない。当業者が創造的な努力を要せずに、本出願の実施例に基づいて得たすべての他の実施例は、本出願の保護範囲に含まれる。
図1は一部の実施例による、音声制御機器で制御できる複数の電気機器124を含む操作環境100を示すブロック図である。一部の実施例では、操作環境100はホーム環境、例えば自宅の台所である。一部の実施例では、ホーム環境100は、第1の家庭用電気機器、例えば、天井に近くの台所の壁に位置するエアコン124(a)を含む。一部の実施例では、ホーム環境100は、第2の家庭用電気機器、例えば、2つの他の家庭用電気機器の間、例えばオーブン124(d)と電子レンジ124(b)の間に位置する冷蔵庫124(c)をさらに含み、これらの3つの電気機器は、すべて台所に配置される。一部の実施例では、ホーム環境100は、台所の壁に取り付けられた食器棚124(e)をさらに含む。
一部の実施例では、音声制御機器102は、環境からの音声入力を含むオーディオデータを収集するための内蔵のマイクロフォン又は任意の他の音声記録装置を含み得る内蔵の音声通信インターフェース104と、収集されたオーディオデータから音声コマンドを識別するための音声識別モジュールとを含む。一部の実施例では、従来の音声に基づくデジタルアシスタントとは異なり、音声通信インターフェース104は、ユーザの音声コマンドを聞くために持続的にアクティブ化されない。逆に、音声通信インターフェース104は、例えば、音声制御機器102上のボタンが押されたことを検出すること、音声制御機器102が特定の方向へ回転することを検出すること、通信インターフェース(例えば、1つ(又は複数)の電気機器のためのデータ通信インターフェース108又はユーザ装置のための通信インターフェース114)がアクティブ化されること、又は音声制御機器102が電気機器124に物理的に結合(例えば、接続)されることなどの予め定義されたトリガーイベントに従ってアクティブ化されてもよい。音声通信インターフェース104がアクティブ化されると、音声通信インターフェース104は、ユーザ122から音声コマンド(例えば、音声に基づく入力、音声入力)を受信して、操作環境100内の1つ又は複数の電気機器124を制御するように構成される。
一部の実施例では、音声制御機器102は、図1の破線に示される「可能な通信パス」のように、台所内の異なるタイプの電気機器と通信することができる。一部の実施例では、各制御セッションでは1つの電気機器のみが選択される。一部の実施例では、図1の実線に示す「選択されたターゲット電気機器のための機械コマンド」のように、1つの制御セッションは、音声制御機器102の音声通信インターフェース104がいつアクティブ化されるか、音声制御機器102によって制御され、且つ現在のセッションにおいてそのまま維持されるように、電気機器(例えば、電子レンジ124(b))が選択される場合に対応する。一部の実施例では、音声制御機器102は、音声制御機器102によって処理されたユーザの音声コマンドによって制御されるターゲット電気機器を選択するように構成されるターゲット選択モジュール106を含む。音声制御機器102を各セッションで1つの電気機器と通信させることにより、異なる電気機器の間の混乱を減らし、且つ音声コマンドを音声制御機器102で機械コマンドに処理する効率を向上させることができる。これは、異なる電気機器が同じ音声コマンドを持っている可能性があるか、又は同じ音声コマンドが異なる電気機器の異なる操作に対応する可能性があるためである。例えば、ユーザの音声入力「オン」は、電子レンジ124(b)の電源をオンにすること、又はストーブ124(d)の電源をオンにすることに対応することができる。別の例では、「ファンをオンにしてください」は、エアコン124(a)のファンモードをオンにすること、又はストーブ124(d)の換気ファンをオンにすることに対応することができる。したがって、音声制御機器102が音声コマンドを対応する機械コマンドに変換し、音声制御機器102の通信インターフェース108を介して機械コマンドをターゲット電気機器に送信し、ユーザにリクエストされた操作を効果的かつ正確に実行することができるように、現在のセッションでどの電気機器が制御されるように選択されるかを明確にする必要がある(例えば、ターゲット電気機器は図1の電子レンジ124(b)である)。
一部の実施例では、音声制御機器102は、自然言語処理(NLP)モジュール130を含み、自然言語処理モジュールは、様々なタイプの電気機器にそれぞれ対応する複数のNLPモデル132を含む。一部の実施例では、対応するNLPモデルは、音声コマンドを処理して機械コマンドを取得して、対応する電気機器に音声コマンドによって要求されたれる操作を実行させるように構成される。一部の実施例では、異なる電気機器に対する異なる機械コマンドを取得するように、同じ音声コマンドは、異なるNLPモデルによって処理されてもよい。一部の実施例では、音声制御機器102内の対応するNLPモデルは、テンプレートに基づくモデル又はステートマシンであり、対応する電気機器に関連する同じ数の所定の操作に対応する多くの音声コマンドを処理して、対応する電気機器によって読み取られる同じ数の機械コマンドを取得して、対応する所定の操作を実行するために使用されてもよい。特定の電気機器に関連するコマンドの数量が制限されるため、NLPモデル132を含むNLPモジュール130は、小さな占有スペース及びより高い識別精度を有する。音声制御機器102に複数のNLPモデル132が含まれでも、音声制御機器102は、過度のメモリ使用又はサーバーからのサポートなしに、すべてのNLPを依然としてローカルで実行することができる。一部の実施例では、NLPモジュール130は、NLPモデルレジストリ136を含み、NLPモデルレジストリは、音声制御機器102での複数のNLPモデル132の識別子を記憶し、これらの識別子は、それぞれ、複数の電気機器のタイプの識別子に関連する。一部の実施例では、NLPモジュール130は、NLPモデル選択モジュール134を含み、NLPモデル選択モジュールは、NLPモデルレジストリ136に記憶された関係に応じてNLPモデル132を選択して、選択されたターゲット電気機器に対する音声コマンドを処理するように構成される。
一部の実施例では、音声制御機器102は、機械コマンドを1つ又は複数の電気機器に送信するためのデータ通信インターフェース108を含む。一部の実施例では、データ通信インターフェース108は、1つのセッション期間に1つの電気機器(例えば、選択されたターゲット電気機器)のみとデータ(例えば、機械コマンド又は他のタイプのメッセージ)を交換する。例えば、ターゲット選択モジュール106が現在のセッションのターゲット電気機器を確定した後、選択されたターゲット電気機器と通信するデータ通信インターフェース108(例えば、サブインターフェース)がアクティブ化される。一部の実施例では、データ通信インターフェース108は、1つ以上の電気機器(及び/又は装置)とデータを交換することができる。しかしながら、データ通信インターフェース108は、1つの制御セッション期間に1つのターゲット電気機器のみと通信するように構成される。一部の実施例では、データ通信インターフェース108は、ハードウェア(例えば、アンテナ、チップ、コネクタなど)及び/又はソフトウェア(例えば、通信プロトコルなど)を含む。一部の実施例では、データ通信インターフェース108は、例えばブルートゥース(登録商標)、Wi-Fi、近距離無線通信(NFC)又はZigBeeなどの無線データ通信、又はコネクタに基づくデータ通信(例えばUSB接続)を含む1つ又は複数の通信方法をサポートする。一部の実施例では、音声制御機器102は、ユーザ装置(例えば、図2のユーザ装置202)とデータ(例えば、音声コマンドデータ、1つ(又は複数)のNLPモデルなど)を交換するように構成される通信インターフェース114を含む。一部の実施例では、通信インターフェース114は、例えばブルートゥース、Wi-Fi、NFC又はパープルビー(ZigBee)などの無線データ通信、又はコネクタに基づくデータ通信(例えば、USB接続)を含む1つ又は複数の通信方法をサポートする。
一部の実施例では、音声制御機器102は、電気機器のタイプのユーザ選択及び選択された各電気機器のタイプに対する電気機能のユーザ選択に従って、ユーザ装置202から1つ又は複数のNLPモデルをダウンロードしてNLPモジュール130に追加するように構成されるNLPモデルダウンロードモジュール116を含む。一部の実施例では、音声制御機器102は、ユーザの音声入力から収集された音声コマンドデータを記憶して、1つ又は複数の電気機器の機能をそれぞれ制御するように構成される音声コマンドメモリ112を含む。一部の実施例では、音声制御機器102は、音声コマンドデータを音声コマンドメモリ112からユーザ装置202にアップロードして、対応するNLPモデルをそれぞれ更新するように構成される音声コマンドアップロードモジュール118を含む。
一部の実施例では、音声制御機器102は、音声制御機器102の様々な機能に電力を供給するように構成されるバッテリー110を含む。これらの機能は、音声通信インターフェース104をアクティブ化すること、ターゲット選択モジュール106を選択することでターゲット電気機器を選択すること、音声通信インターフェース104を介して音声入力を受信すること、NLPモジュール130を使用して音声入力を処理してターゲット電気機器に対する機械コマンドを取得すること、取得された機械コマンドをデータ通信インターフェース108を介して送信すること、ユーザ装置202への通信インターフェース114を介してユーザ装置(例えば、図2のユーザ装置202)と通信すること、NLPモデルダウンロードモジュール116を介してユーザ装置202からNLPモデルをダウンロードすること、ユーザ122から受信された音声コマンドを、音声制御機器102のNLPモデルを更新するためのトレーニングサンプルとして音声コマンドメモリ112に記憶すること、音声コマンドアップロードモジュール118を介して音声コマンドを音声コマンドメモリ112からユーザ装置202にアップロードすることを含むが、これらに限定されない。一部の実施例では、音声制御機器102は、電源に接続される時に、又は電源に接続された電気機器に結合される時に、バッテリー110を充電することができる。一部の実施例では、音声制御機器102は、ディスプレイ、ユーザ対話型ディスプレイ又はタッチセンシティブパネルを含めない。一部の実施例では、音声制御機器102は、現在の選択されたターゲット電気機器をユーザに視覚的に示すための1つ又は複数のインジケータを含むことができる。
図2は一部の実施例によるネットワーク構成200を示すブロック図であり、当該ネットワーク構成では、音声制御機器102はユーザ装置202と共に動作して音声制御機器102をカスタマイズする。一部の実施例では、オプションとして、ネットワーク構成200は、クライアント-サーバーモデルに従って実現される。一部の実施例では、ネットワーク構成200は、ホーム環境100(例えば、図1に示す台所環境)で動作する音声制御機器102及びユーザ装置202、ならびにクラウドネットワーク240を介してホーム環境100に通信可能に結合されたサーバーシステム220を含む。図1で論じられる一部の実施例では、ホーム環境100は、1つ又は複数の家庭用電気機器124(図2には示されていない)を含む。一部の実施例では、クライアント環境100(例えば、ホーム環境100)は、ユーザ装置202(例えば、スマートフォン、タブレットコンピュータ、パーソナルコンピュータ又は中央通信ハブ)をさらに含む。
一部の実施例では、サーバーシステム220は、1つ又は複数の処理モジュール、例えば、モデルトレーニングモジュール222、データベース224に記憶されたデータ及びモデル、クライアント228への入力/出力(I/O)インターフェース、及びI/Oと外部サービス230の間のI/Oインターフェースを含む。一部の実施例では、クライアント向けI/Oインターフェース228は、サーバーシステム220のクライアント向けの入力及び出力処理を促進する。例えば、オプションとして、対応する各電気機器のタイプの1つ又は複数の機能に関連する音声コマンドデータに基づいて、サーバーシステム220は、1つ又は複数の電気機器のタイプのためのモデルトレーニングサービスを提供する。データベース及びモデル224は、1つ又は複数のユーザ(ユーザ122を含む)からの音声コマンド、及び個々のユーザ及び/又はユーザ家庭に対するユーザデータ、例えば個人ユーザのアカウントデータ(例えば、画像、年齢、性別、特徴など)、及びユーザインターフェイスの構成好みと制限などを含む。一部の実施例では、モデルトレーニングモジュール222は、データベース224からのデータ及びモデルを使用して、電気機器のタイプに対するNLPモデルをそれぞれトレーニングする。
一部の実施例では、サーバーシステム220は、さらに、1つ(又は複数)のネットワーク240を介して外部サービス240(例えば、1つ(又は複数)の電気機器製造業者サービス、1つ(又は複数)の家庭用電気機器制御サービス、1つ(又は複数)のナビゲーションサービス、1つ(又は複数)のメッセージングサービス、1つ(又は複数)の情報サービス、1つ(又は複数)のカレンダーサービス、1つ(又は複数)のソーシャルネットワーキングサービスなど)と通信して、タスクを完了し、又は情報を取得する。外部サービス230へのI/Oインターフェースは、このような通信を促進する。
一部の実施例では、サーバーシステム220は、少なくとも1つのデータ処理機器及び/又はコンピュータの分散ネットワーク上に実現されてもよい。一部の実施例では、サーバーシステム220は、さらに、サードパーティサービスプロバイダ(例えば、サードパーティクラウドサービスプロバイダ)の様々な仮想装置及び/又はサービスを使用して、サーバーシステム220の基礎となるコンピューティングリソース及び/又はインフラストラクチャリソースを提供する。
1つ又は複数の通信ネットワーク240の例としては、ローカルエリアネットワーク(LAN)及びワイドエリアネットワーク(WAN)、例えばインターネットを含む。1つ又は複数の通信ネットワーク110は、様々な有線又は無線プロトコル、例えば、イーサネット、ユニバーサルシリアルバス(USB)、ファイアワイヤ(FIREWIRE)(登録商標)、グローバルシステムフォーモバイルコミュニケーションズ(GSM)、強化型データGSM環境(EDGE)、コード分割マルチアクセス(CDMA)、時間分割マルチアクセス(TDMA)、ブルートゥース、Wi-Fi、ボイスオーバーインターネットプロトコル(VoIP)、Wi-MAX、又は任意の他の適切な通信プロトコルを含む任意の既知のネットワークプロトコルを使用して実現してもよい。
ユーザ装置202の例としては、セルラー電話、スマートフォン、ハンドヘルドコンピュータ、ウェアラブルコンピューティングデバイス(例えば、ヘッドマウントディスプレイHMD)、パーソナルデジタルアシスタント(PDA)、タブレットコンピュータ、ノートブックコンピュータ、デスクトップコンピュータ、強化型汎用パケット無線サービス(EGPRS)携帯電話、メディアプレーヤー、ナビゲーション機器、ゲーム機、テレビ、リモコン、販売時点情報管理(POS)端末、オンボードコンピューター、電子書籍リーダー、オンサイトコンピューターキオスク、モバイル販売ロボット、ヒューマノイドロボット又はこれらのデータ処理装置又は他のデータ処理装置内の任意の2つ又は複数の組み合わせを含むが、これらに限定されない。
図2及び9Bを参照して論じられたように、対応するユーザ装置202は、サーバーシステム220のサーバー側モジュールで論じられたものと類似する機能を実行するための1つ又は複数のクライアントモジュールを含むことができる。対応するユーザ装置202は、サーバシステム220のデータベース224と類似する様々なタイプのデータを記憶するための1つ又は複数のデータベースをさらに含むことができる。
一部の実施例では、図2に示されない他のモジュールで、ユーザ装置202は、音声制御機器102に(例えば、無線で又はコネクタに基づく接続を介して)接続するように構成されるデバイス接続モジュール204を含む。一部の実施例では、ユーザ装置202は、音声制御機器102に対して初期構成を実行するように構成されるデバイス構成モジュール206をさらに含む。例えば、ユーザは、ユーザのニーズ及び/又は好みに応じて1つ又は複数の電気機器及び各電気機器の1つ又は複数の機能を選択して、自分又は自分の家族のために音声制御機器102をカスタマイズすることができる。一部の実施例では、音声制御機器202は、サーバーシステム220からのユーザの選択に従って1つ又は複数のNLPモデルをダウンロードするように構成されるNLPモデルダウンロードモジュール208を含む。一部の実施例では、ユーザ装置202は、ダウンロードされたNLPモデルを音声制御機器102のNLPモジュール130に追加するように構成されるNLPモデル追加モジュール210をさらに含む。一部の実施例では、ユーザ装置202は、音声制御機器102で収集されたユーザの音声コマンドに応じてNLPモデルを更新する(例えば、カスタマイズする)ように構成されるNLPモデル更新モジュール212を含む。例えば、NLPモデル更新モジュール212は、モデル関数の対応する重みを確定し、且つ収集されたユーザの音声コマンドサンプルに基づいて既存のモデル関数の対応する重みを調整することができる。一部の実施例では、ユーザ装置202は、音声制御機器102から1つ又は複数の電気機器を制御するためのユーザの音声コマンドデータを検索し、当該音声コマンドデータをサーバーシステム220にアップロードして、トレーニングし、及び/又はNLPモデルを更新するように構成される音声入力管理モジュール214を含む。一部の実施例では、ユーザ装置202は、NLPモデルをトレーニングするように構成されるNLPモデルトレーニングモジュール216を含む。一部の実施例では、ユーザ装置202のNLPモデルトレーニングモジュール216は、サーバーシステム220のモデルトレーニングモジュール222と類似する。
一部の実施例では、本明細書に記載されるように、本開示の音声制御機器をカスタマイズするためのNLPモデルトレーニング及び更新、ならびにユーザインターフェース構成は、サーバー220によって遠隔的に提供されるか、又はユーザ装置202によってローカルに提供され、及び/又はサーバー220とユーザ装置202の間の連携により共同で提供される。
上記の例は、説明のみを目的として提供される。以下に音声制御機器102及びユーザ装置202の機能のより多くの詳細は、それぞれ図4及び図7に示すフローチャートに従って説明される。
図3は一部の実施例による音声制御機器102に使用される電気機器のタイプ(例えば、図1のストーブ124(d))に対する例示的なNLPモデル310のブロック図である。本明細書で論じられたように、音声制御デバイス102内の対応するNLPモデル310(例えば、図1のNLPモデル132に対応する)は、テンプレートに基づくモデル又はステートマシンであり、対応する電気機器に関連する同じ数量の所定の操作に対応する限られた数量の音声コマンドタイプを処理するために使用されてもよい。例えば、図3に示すように、限られた数量の音声コマンドは、音声コマンド302-1「オン」、音声コマンド302-2「ファンをオンにしてください」、音声コマンド302-3「450Fに加熱してください」及び音声コマンド302-4「5分間加熱してください」を含む。ストーブ124(d)のこれらの機能の使用に関連するユーザの音声コマンドを含むデータサンプルは、他のユーザからのこれらの機能に関連する音声コマンドであれば、NLPモデル310をトレーニングするために使用されてもよい。したがって、ストーブ124(d)に関連する所定の操作に対応する同数の機械コマンドを取得することができる。これらの機械コマンドは、対応する操作を実行するようにストーブ124(d)によって識別されてもよい。例えば、コマンド320-1「xx5002xEP00」は音声コマンド302-1「オン」に対応し、コマンド320-2「xx5011110010」は、音声コマンド302-2「ファンをオンにしてください」に対応し、コマンド320-3「xx5120x1AF10」は音声コマンド302-3「450Fに加熱してください」に対応し、コマンド320-4「xx51140CE010」は、音声コマンド302-3「5分間加熱してくだし」に対応する。本明細書で論じられたように、異なる電気機器に対する別のNLPモデルについては、同じ音声コマンドは、当該別の電気機器で識別可能な異なる機械コマンドに対応する。
図3に示す音声コマンドと対応する機械コマンドは、例示的なものだけである。様々な実施例では、対応する電気機器を制御するための他の音声コマンド及び対応する機械コマンドも可能である。以下に音声制御機器102及びユーザ装置202の機能を使用するより多くの詳細は、それぞれ図4及び図7に示すフローチャートに従って説明される。
図4は一部の実施例による複数のタイプの電気機器のための音声制御に基づくユーザインターフェイスを提供する方法400のフローチャートである。一部の実施例では、方法400は、メモリ及び1つ又は複数のプロセッサを有する音声制御機器(例えば、図1の音声制御機器102)で実行される(402)。一部の実施例では、音声制御機器102は、内蔵のデータ通信インターフェース(例えば、図1のデータ通信インターフェース108)を含み、内蔵のデータ通信インターフェースは、複数のタイプの電気機器(例えば、図1の電気機器124(a)-(e))とのデータ通信を確立するように構成され、当該複数のタイプの電気機器は、異なる機械コマンドセットに応答して対応する電気機器操作を実行するように構成される。一部の実施例では、データ通信インターフェース108は、電気機器における対応するインターフェースに差し込まれたピン又はコネクタを使用して、コネクタに基づく通信を実現する。一部の実施例では、データ通信インターフェース108は、ブルートゥース、Wi-Fi、NFC、ZigBee、超音波、音響(acoustics)又は磁気共振を含むが,これらに限定されない無線通信を可能にする。一部の実施例では、異なるタイプの電気機器(異なる電気機器のブランド及びモデルを含む)のための特定の機械通信及びコマンドプロトコルに従って対応する機械コマンドセットをフォーマットする。一部の実施例では、各電気機器のタイプ(例えば、電気機器のブランド及びモデルを含む)は、それ自体の電気機器の機能セットを有する。
一部の実施例では、音声制御機器102は、内蔵の音声通信インターフェース(例えば、図1の音声通信インターフェース104)を含み、内蔵の音声通信インターフェースは、ユーザからの音声に基づく入力を受信するように構成される。一部の例では、内蔵の音声通信インターフェースは、内蔵のマイク及び音声録音装置を含む。
一部の実施例では、音声制御機器102は、音声制御機器102のメモリに記憶されたNLPモジュール(例えば、NLPモジュール130)をさらに含む。一部の実施例では、NLPモジュール130は、複数のNLPモデル(例えば、図1のNLPモデル132(a)-132(c))を含み、且つ対応するNLPモデルは、複数のタイプの電気機器のそれぞれに使用されるように構成される。一部の例では、第1のNLPモデルは、ストーブ(例えば、ストーブ124(d))のための音声コマンドを処理するために使用され、第2のNLPモデルは、冷蔵庫(例えば、冷蔵庫124(c))のための音声命令を処理するために使用され、第3のNLPモデルは、洗濯機のための音声コマンドを処理するために使用され、第4のNLPモデルは、乾燥機のための音声コマンドを処理するために使用される。一部の実施例では、NLPモジュール130は、音声制御デバイス102が制御するように構成されている各電気機器のタイプのための対応するNLPモデル132を有する。例えば、ユーザは、電気機器及び機能を選択し、且つ構成プロセスを通じて特定のNLPモデルを音声制御機器102にダウンロードする。一部の実施例では、各電気機器のタイプに対するNLPモデルは、音声入力を電気機器のタイプの対応する機械コマンドに直接分類する。特定の電気機器に関連するコマンドの数量が制限されるため、NLPモデル、小さな占有スペース及びより高い識別精度を有する。音声制御機器に複数のNLPモデルが含まれでも、音声制御機器は、過度のメモリ使用又はサーバーからのサポートなしに、すべてのNLPを依然としてローカルで実行することができる。
一部の実施例では、NLPモジュール130は、各カテゴリの電気機器に対して組み合せたNLPモデルを使用する。例えば、異なるブランド及びモデルのストーブは、カテゴリ1の電気機器に属し、異なるブランド及びモデルの冷蔵庫は別のカテゴリの電気機器に属する。各カテゴリの電気機器の組み合わせたNLPモデルをトレーニングして、電気機器カテゴリに対応する通用機能セットの音声コマンドを識別する。組み合わせたNLPモデルは、さらに、識別された音声コマンドを、当該電気機器カテゴリでの複数の異なる電気機器ブランド及び/又はモデルから選択された1つに対応する機械コマンド(例えば、特定の機械通信及びコマンドプロトコルに従ってフォーマットする)に変換するように構成される。同じカテゴリの電気機器は、電気機器機能において多くの重複があり、したがって、同じ電気機器カテゴリでの異なる電気機器ブランド及びモデルに対してNLPモデルのコマンド識別部分を組み合わせると、音声制御機器の全体的な処理及び記憶要件を減らすことに役立ち、組み合わせたNLPモデルの識別精度に悪い影響を与えない。
一部の実施例では、ポータブルの音声制御機器102は、グラフィカルユーザインターフェイス、ユーザ対話型ディスプレイ、タッチセンシティブパネル又はディスプレイを含めない。一部の実施例では、音声制御機器102は、小型LED又はLDCスクリーンを含むことができ、LED又はLDCスクリーンは、音声制御機器の状態情報、例えば、時間/日付、電源のオン/オフ、音声通信インターフェースのアクティブ/非アクティブ、現在どの電気機器に接続されているかを簡単に表示する。
方法400は、ユーザリクエストを検出して音声制御機器102の内蔵の音声通信インターフェース(例えば、図1の音声通信インターフェース104)をアクティブ化すること(404)を含む。方法400は、音声制御機器の内蔵の音声通信インターフェースをアクティブ化するようにユーザリクエストを検出したことに応答することであって、音声制御機器102の内蔵の音声通信インターフェース104をアクティブ化し、例えば、内蔵のマイクロフォン及び録音デバイスをアクティブ化してユーザからの音声入力を聞くこと(406)をさらに含む。方法400は、音声制御機器102の内蔵の音声通信インターフェース104を介して受信される1つ又は複数の音声に基づくコマンドのために、第1のターゲット電気機器(例えばオーブン、冷蔵庫、洗濯機、エアコンなど)を、1つ又は複数のターゲット選択基準に従って選択すること(410)をさらに含む。図5A-図5C、図5D-1、図5D-2、図5E-1及び図5E-2は、一部の実施例による音声制御機器102の音声通信インターフェース104をアクティブ化する様々な実施例を示すブロック図である。
一部の実施例では、1つ又は複数のターゲット選択基準は、アクティブ化されたデータ通信インターフェースを介して受信されたデータ通信に基づく。例えば、デバイスがデータ通信インターフェース108を介して電気機器とのデータ接続を確立すると、電気機器は、電気機器のタイプの識別子を送信する。一部の実施例では、ターゲット選択基準は、音声制御機器102の方向に基づく。例えば、音声制御機器102の各面(例えば、図5Bのデバイスのどちらの側が上を向くか)は、ある電気機器のタイプに関連付けられるように予め割り当てられる。一部の実施例では、ターゲット選択基準は、ユーザがどの電気機器選択ボタンを押すかに基づく。例えば、図5Aに示すように、各ボタンは、ある電気機器のタイプに関連付けられるように予め割り当てられており、且つどのボタンが押されるかをチェックすることにより、ターゲット電気機器を確定することができる。
一部の実施例では、ユーザリクエストを検出して内蔵の音声通信インターフェース104をアクティブ化することは、音声制御機器の予め定義された部分とのユーザインタラクションを検出することを含む。例えば、音声制御機器102は、音声制御機器102の外表面に設けられた複数のハードウェアアクティベーションボタン(例えば、図5Aの物理的ボタン502、504、506、508、510及び512)を含む。一部の実施例では、ユーザリクエストは、音声制御機器102のハードウェアアクティベーションボタン上でボタンを押すという形で現れることができる。
一部の実施例では、音声制御機器の予め定義された部分が第1のターゲット電気機器に関連付けられるように予め割り当てられるという確定に従って、音声制御機器102のターゲット選択モジュール106は、音声制御機器の内蔵の音声通信インターフェイスを介して受信された1つ又は複数の音声に基づく命令のために第1のターゲット電気機器を選択する。例えば、対応する物理的ボタン(図5A)を押し、次に、アクティブ化された内蔵の音声通信インターフェース104を介して受信される1つ又は複数の音声に基づくコマンドのために複数のタイプの電気機器内の対応するタイプの電気機器を選択する。
一部の実施例では、ユーザリクエストを検出して内蔵の音声通信インターフェース104をアクティブ化することは、音声制御機器の予め定義された配向状態を検出することを含む。一部の実施例では、ターゲット選択モジュール106は、音声制御機器の予め定義された配向状態が第1のターゲット電気機器に関連付けられるように予め割り当てられるという確定に従って、音声制御機器の内蔵の音声通信インターフェイスを介して受信される1つ又は複数の音声に基づく命令のために第1のターゲット電気機器を選択する。例えば、第1の面が上を向く場合、第1の面に関連付けられた電気機器のタイプの電気機器(例えば、冷蔵庫)をターゲット電気機器として選択する。又は、第2の面が上を向く場合、第2の面に関連付けられた電気機器のタイプの電気機器(例えば、電子レンジ)をターゲット電気機器として選択する。一部の実施例では、音声制御機器102は、ジャイロスコープ(例えば、図5Bのジャイロスコープ520)を含み、音声制御機器102の外表面に設けられた複数の面(例えば、図5Bのファセット522、524及び526)を有する。一部の実施例では、各面は、複数のタイプの電気機器のうちの電気機器のタイプに関連付けられるように予め指定される。例えば、面522は、冷蔵庫に関連付けられるものとして予め指定されており、面524は、ストーブに関連付けられるものとして予め指定されており、面526は、電子レンジに関連付けられるものとして予め指定される。一部の実施例では、ユーザリクエストは、音声制御機器102の向きを変更し、例えばデバイスを上下に反転させ、又はデバイスを所望の電気機器のタイプに対応する特定の向きに変更することを含む。
一部の実施例では、データ通信インターフェース108をアクティブ化することに応答して、内蔵の音声通信インターフェース104はアクティブ化される。例えば、図5Cに示すように、音声制御機器102は、電気機器(例えば、図5Cのストーブ124(d))の通信インターフェース(例えば、図5CのUSB接続530)に挿入されて、音声制御機器102がストーブ124(d)とのデータ通信を行うことができるようにする。別の例では、図5D-1に示すように、音声制御機器102は、電子レンジ124(b)に非常に近い(例えば、近づく)個所に配置され、又は電子レンジと直接接触して(例えば、電子レンジに直接配置されて)音声制御機器102と電子レンジ124(b)との間のNFC540をアクティブ化する。データ通信をアクティブ化することに応答して、音声通信インターフェース104がアクティブ化されて、1つ(又は複数)の電気機器を制御するためのユーザ音声コマンドを受信する。一方、図5D-2に示すように、音声制御機器102が電子レンジ124(b)から離れすぎると、音声制御機器102と電子レンジ124(b)との間にNFCが確立されない。
一部の実施例では、図5E-1及び図5E-2に示すように、音声制御機器102が、電気機器(例えば、冷蔵庫124(c))の表面に付着できる磁石550を含む場合、内蔵の音声通信インターフェース104はアクティブ化される。冷蔵庫124(c)への磁石550の付着は、スイッチ552を閉じることを引き起こすことができ、これにより、音声通信インターフェース104のアクティブ化をさらにトリガーする。
本明細書に開示されるように、一部の実施例では、ユーザリクエストを検出して内蔵の音声通信インターフェースをアクティブ化することは、音声制御機器が複数のタイプの電気機器のうちの対応するタイプの電気機器に物理的に結合される(例えば、磁気的に付着したり(例えば、図5E-1及び図5E-2)、コネクタ(例えば、図5のUSB)を介して接続されたりする)ことを検出することを含む。一部の実施例では、1つ又は複数のターゲット選択基準は、音声制御機器102が電気機器(例えば、図5Cのオーブン124(d)、図5D-1及び5D-2の電子レンジ124(b)、図5E-1及び図5E-2の冷蔵庫124(c))に物理的に結合されるという確定に従って、電気機器が第1のターゲット電気機器として選択されることを要求する。一部の実施形態では、音声制御機器102は、内蔵のデータ通信インターフェース108をアクティブ化して、音声制御機器102とターゲット電気機器との間の物理的接続により機械コマンドを第1のターゲット電気機器に伝送する。
一部の実施例では、ユーザリクエストを検出して内蔵の音声通信インターフェースをアクティブ化することは、音声制御機器が複数のタイプの電気機器のうちの対応するタイプの電気機器の閾値距離内に持ち込まれたことを検出することを含む。一部の実施例では、音声制御機器は、モーションセンサーを備えており、且つユーザがそれを手に取り、部屋の中で歩くときにユーザと一緒に移動すると、音声制御機器は、アクティブ化されて、電気機器からの通信リクエストを聞く。連続電源に差し込まれた電気機器は、音声制御機器に通信リクエストを周期的に送信することができ、且つ音声制御機器が特定の電気機器の閾値距離内に持ち込まれた場合、特定の電気機器の通信リクエストは、音声制御機器によって聞かれる。一部の実施例では、ユーザが電気機器上の予め定義されたボタンをアクティブ化する場合(音声制御機器がユーザのポケットにあり、ユーザが特定の電気機器の隣に立っており、且つユーザが電気機器上の音声制御アアクティベーションボタンを押す場合)、特定の電気機器は、音声制御機器に通信リクエストを送信する。一部の実施形態では、音声制御機器は、センサー、例えば、物体/障害物検出センサー(例えば、赤外線センサー、レーダー又は超音波センサー)を備えて、音声制御機器を持つユーザが電気機器の閾値距離内で歩くと電気機器を検出する。
一部の実施例では、音声制御機器が第1のターゲット電気機器の閾値距離内(例えば、図5D-1及び図5D-2)にあるという検出に従って、ターゲット選択モジュール106は、音声制御機器の内蔵の音声通信インターフェイスを介して受信された1つ又は複数の音声に基づく命令のために第1のターゲット電気機器を選択する。一部の実施例では、音声制御機器はさらに、通信リクエストに基づいて検出された物体のサイズ、形状、位置に基づいて電気機器のタイプを識別するように構成される。
一部の実施例では、方法400は、音声制御機器の内蔵の音声通信インターフェースをアクティブ化するようにユーザリクエストを検出したことに応答して、内蔵のデータ通信インターフェースをアクティブ化することをさらに含み、内蔵のデータ通信インターフェースは、複数のタイプの電気機器のうちの1つ又は複数の電気機器に機械コマンドを送信するように構成される。一部の実施例では、エネルギー消費を節約するために、音声制御機器の内蔵のデータ通信インターフェースは常に開いていない。一部の実施例では、内蔵の音声通信インターフェースがアクティブ化される場合、内蔵のデータ通信インターフェースはアクティブ化される。一部の実施例では、内蔵の音声通信インターフェースが無効になる場合、内蔵のデータ通信インターフェースは、無効になる(例えば、スリープ状態に入り、自動的に非アクティブ状態になる)。一部の実施例では、音声制御機器が1つ又は複数のデバイス(例えば、電気機器)と無線で通信する場合、内蔵のデータ通信インターフェースがアクティブ化されて、任意の他の通信可能なデバイス/機器と通信することができる。一部の実施例では、内蔵のデータ通信インターフェースは、複数のデバイス及び/又は機器とそれぞれ通信するための複数の通信チャネル(又は周波数帯域)を含む。例えば、対応する通信チャネルは、異なるデバイスとの通信間の干渉を低減するために、別の通信チャネルとは異なる周波数範囲を有することができる。一部の実施例では、音声制御機器が電気機器に物理的に結合される場合(例えば、図5C、図5D-1、図5D-2、図5E-1及び図5E-2を参照して論じられたように)、又は、電気機器に関連付けられるように予め割り当てられた、対応する物理的特性がトリガーされる場合(例えば、図5A-5Bを参照して論じられたように)、内蔵のデータ通信インターフェースがアクティブ化される。
一部の実施例では、方法400は、アクティブ化された内蔵のデータ通信インターフェースを介して、第1のターゲット電気機器の電気機器のタイプを識別ための電気機器のタイプの識別子を含むメッセージを受信し、音声制御機器の内蔵の音声通信インターフェースを介して受信される1つ又は複数の音声に基づくコマンドのために第1のターゲット電気機器を選択することをさらに含む。一部の実施例では、内蔵のデータ通信インターフェースがアクティブ化された後、音声制御機器は、内蔵のデータ通信インターフェースを介してメッセージを受信して、ターゲット電気機器として選択される電気機器の電気機器のタイプを識別する。一部の実施例では、音声制御機器が電気機器に物理的に結合される場合、音声制御機器は、音声制御機器とターゲット電気機器として選択される電気機器との間の物理的結合方法(例えば、USB)によりメッセージを受信する。一部の実施例では、音声制御機器は、ターゲット電気機器として選択される電気機器からメッセージを受信する。一部の実施例では、アクティブ化された内蔵のデータ通信がユーザ装置(例えば、携帯電話、タブレットコンピュータ、パーソナルコンピュータなど)と通信できる場合、音声制御機器は、ユーザ装置から、ターゲット電気機器を識別するためのメッセージを受信する。例えば、音声制御機器に関連するアプリケーションプログラム又はターゲット電気機器に関連する電気機器を使用する場合、ユーザ装置上に表示される電気機器のリストからターゲット電気機器の電気機器のタイプを選択することにより、ユーザは、ユーザ装置からメッセージを送信する。一部の実施例では、音声制御機器の内蔵の音声通信インターフェースは、持続的又は周期的にオンになり、且つ音声制御機器は、ターゲット電気機器として選択される電気機器の電気機器のタイプを識別するためのメッセージを受信することにより、ターゲット電気機器を選択する。つまり、本明細書に開示されるように、ターゲット電気機器の選択は、内蔵のデータ通信インターフェースのアクティブ化と関連しなくてもよい。
一部の実施例では、ユーザリクエストを検出して音声インターフェースをアクティブ化する方法は、ターゲット電気機器を選択する方法に関連付けられる。一部の実施例では、これらの2つの方面は互いに関連する必要がない。例えば、ユーザが音声制御機器のみを冷蔵庫に付着させることは、音声通信インターフェイスをアクティブ化するためだけである。次に、音声制御機器上の冷蔵庫に関連付けられるように予め割り当てられた、予め定義されたボタンを押すことにより、冷蔵庫は、ターゲット電気機器として選択される。別の例では、データ通信インターフェースは物理的アクセサリによって(例えば、USBによって)アクティブ化され、次に音声制御機器は、冷蔵庫から冷蔵庫識別子を含むメッセージを受信し、次に音声制御機器は、冷蔵庫をターゲット電気機器として選択する。さらに別の例では、音声制御機器は、簡単な音声コマンドを理解できるNLPトレーニング済みモデルを含む。音声通信インターフェースがアクティブ化された後、ユーザは、「冷蔵庫」と言うことができる。音声制御機器は、このような簡単なコマンドを理解することができ、且つターゲット選択モジュールは、冷蔵庫をターゲット電気機器として引き続き選択して、次のことを実行する。
一部の実施例では、ユーザリクエストを検出して内蔵の音声通信インターフェースをアクティブ化する前に、音声制御機器102の内蔵の音声通信インターフェース104は非アクティブである。一部の実施例では、低エネルギー消費及びユーザプライバシー保護という目的のために、音声制御機器は常に聞いていない。内蔵の音声通信インターフェイス及び関連のハードウェア(例えばマイク)は、トリガーイベント(例えば、音声通信インターフェイスをアクティブ化するためのユーザリクエスト)が受信される前に非アクティブである。つまり、ユーザが音声入力をランダムに与える場合、音声制御機器は音声入力に応答しない。一部の実施例では、内蔵の音声通信インターフェースは、所定のスケジュールに従って周期的に目覚め、例えば、午前11時の昼食準備時間中に、午後12時30分に非アクティブ状態に入り、平日の午後5時から午後7時までの夕食時に目覚めることができる。
一部の実施例では、内蔵の音声通信インターフェースがアクティブ化された後、方法400は、所定の期間内に内蔵の音声通信インターフェース104をアクティブ状態に維持することをさらに含む。例えば、所定の時間(例えば、1分間、2分間、3分間、5分間又は10分間)内に音声入力が受信されない場合、内蔵の音声通信インターフェース104は、非アクティブ状態になる。一部の例では、内蔵の音声通信インターフェイスを無効にするユーザリクエスト(例えば、ボタンを押してマイクロフォンをオフにすること、面を変えること、音声制御機器をターゲット電気機器からオフフック/デタッチすること、音声制御機器の位置を、ターゲット電気機器の範囲を超えるように変更すること)が受信されるまで、内蔵の音声通信インターフェイス104は非アクティブ状態になる。
一部の実施例では、内蔵のデータ通信インターフェース108は、ブルートゥース、Wi-Fi、NFC、ZigBee、超音波、音響(acoustics)及び磁気共振という無線通信プロトコールを含むグループから選択された無線通信プロトコールに対応する。
一部の実施例では、第1の音声入力を受信する前に、方法400は、複数の電気機器のタイプに対する複数の電気機器の機能セットのそれぞれのユーザ選択に従って、内蔵のNLPモジュール130において複数のNLPモデルを取得して取り付けることをさらに含む。各NLPモデルは、対応する電気機器のタイプの対応する電気機器の機能セットに対応する。一部の実施例では、1つ又は複数のユーザからの音声コマンドデータに基づいて対応するNLPモデルをトレーニングして、対応する電気機器の機能セットを実行するように対応する電気機器のタイプの対応する電気機器を制御する。
一部の実施例では、方法400は、1つ又は複数のターゲット選択基準に従って第1のターゲット電気機器を選択した後、第1のターゲット電気機器との第1の無線データ通信を確立することをさらに含む。例えば、第1のターゲット電気機器が選択された後、音声制御機器は、ブルートゥース又はNFCを介して第1のターゲット電気機器とペアリングされる。
一部の実施例では、方法400は、第2のユーザリクエストを検出して第1のターゲット電気機器から第2のターゲット電気機器に切り替えることであって、当該第2のターゲット電気機器が音声制御機器の内蔵の音声通信インターフェースを介して1つ又は複数の音声に基づく命令を使用してユーザによって制御されることをさらに含む。一部の例では、ユーザは、音声制御機器を第1の電気機器(例えば、冷蔵庫)から取り外し、次にそれを第2の電気機器(例えば、電子レンジ)に付着させる。一部の実施例では、ユーザは、別の物理的ボタンを押すか、又は異なる配向状態に変更することができ、当該異なる配向状態は、それぞれ、第1のターゲット電気機器の電気機器のタイプからの異なる電気機器のタイプに関連付けられる。一部の実施例では、第2のユーザリクエストを検出することに応答して、方法400は、内蔵の音声通信インターフェースを介して受信される1つ又は複数の音声に基づくコマンドのために第2のターゲット電気機器を選択することと、第1のターゲット電気機器との第1のデータ通信を無効にすることと、第2のデータ通信を確立して機械コマンドを第2のターゲット電気機器に送信することとを含む。したがって、本開示では、エネルギー消費を節約し、複雑なデータ通信ハードウェア/ソフトウェア構成を回避するために、一度に1つのターゲット電気機器への接続が確立される。
内蔵の音声通信インターフェイスがアクティブに維持されかつ現在の選択された第1のターゲット電気機器が変えないように維持される場合(例えば、音声制御機器が異なる電気機器に移動されない場合、又は異なるターゲット電気機器に対するターゲット選択基準を満たす他の変更が行われない場合、およびマイクロフォンがアクティブ化されてからタイムアウト期間が満了していない場合)、方法400は、音声制御機器の内蔵の音声通信インターフェースを介して第1の音声入力(例えば、「電源をオンにしてください。」、「オーブンをオフにしてください。」、「電力を高く設定してください。」、「ファンをオンにしてください。」、「朝の操作プロファイルを起動してください。」、「省電力モードをアクティブ化してください。」など)を受信すること(412)を含む。第1の音声入力を受信すること(414)に応答して、方法400は、第1のターゲット電気機器(例えば、第1のターゲット電気機器がストーブである)が第1の電気機器のタイプの第1の電気機器であるという確定に従って、第1の電気機器のタイプに対応する内蔵NLPモジュールの第1のNLPモデル(例えばストーブの機能に対応する音声コマンドのみでトレーニングされた言語モデル)を使用して第1の音声入力(例えば、「ファンをオンにしてください。」)を処理して、第1の機械コマンド(例えば、機械コマンドxx5002xEP00)を取得し、および内蔵のデータ通信インターフェースを介して第1の機械命令を第1の電気機器(例えば、ストーブ)に送信すること(416)を含む。第1のターゲット電気機器(例えば、ターゲット電気機器がエアコンである)が第1の電気機器のタイプとは異なる第2の電気機器のタイプの第2の電気機器であるという確定に従って、方法400は、第2の電気機器のタイプに対応する内蔵のNLPモジュールの第2のNLPモデル(例えば、エアコンの機能に対応する音声コマンドのみでトレーニングされた言語モデル)を使用して第1の音声入力(例えば、「ファンをオンにしてください。」)を処理して、第2の機械コマンド(例えば、機械コマンドxx5011110010)を取得し、および内蔵のデータ通信インターフェースを介して第2の機械命令を第2の電気機器に送信すること(418)を含む。
図6A~図6Bは一部の実施例による音声制御機器102を使用して複数のタイプの電気機器を制御する様々な操作シーンを示すブロック図である。一部の実施例では、音声制御機器が第1のターゲット電気機器である電子レンジ124(b)の近くに付着又は配置される場合、ユーザは、音声コマンド602「電源をオンにしてください」を発声する。音声制御機器は、電子レンジ124(b)に対応するNLPモデルを使用して、音声コマンド602を処理して、機械コマンド604 xx5002xEP00を取得して、電子レンジ124(b)の電源をオンにする。ターゲット電気機器が第1の電気機器である電子レンジ124(b)から第2のターゲット電気機器であるストーブ124(d)に切り替えられた後、音声制御機器は、電子レンジ124(b)に対応する他のNLPモデルを使用して音声コマンド612「電源をオンにしてください」を処理して、機械コマンド614xx5170xAB14を取得して、電子レンジ124(b)をオンにする。
一部の実施例では、音声制御機器のNLPモデル選択モジュール134は、メモリに記憶されたNLPモデルレジストリ136に基づいて、内蔵のNLPモジュール130に記憶された複数のNLPモデルから対応するNLPモデルを選択する。例えば、NLPモデルレジストリ136は、複数の電気機器のタイプの識別子にそれぞれ関連付けられた複数のNLPモデルの識別子を記憶する。NLPモデルレジストリ136は、初期設定プロセスに作成/カスタマイズされてもよく(例えば、ユーザによってカスタマイズされてもよい)、且つユーザが1つ又は複数のNLPモデルを削除又は追加して1つ又は複数の電気機器の機能セットを制御したいときに更新されてもよい。第1の電気機器のタイプの第1の識別子を識別した後(例えば、ターゲット電気機器を選択するとき)、デバイスは、対応するNLPモデルの識別子をNLPモデルレジストリ136から検索し、次に対応するNLPモデルをNLPモジュール130モデルから検索して、音声入力を処理する。
一部の実施例では、第1のターゲット電気機器を選択することは、内蔵のNLPモジュールが第1のターゲット電気機器の電気機器のタイプに対応するNLPモデルを記憶するか否かを確定することをさらに含む。例えば、NLPモデルレジストリには、電気機器のタイプIDにそれぞれ関連付けられた複数のNLPモデルのモデルIDが示される。例えば、第1のターゲット電気機器の電気機器のタイプの識別子が受信された後、NLPモジュールは、そのレジストリをチェックして、当該特定の電気機器のタイプのためにNLPモデルが記憶されるか否かを確認する。内蔵のNLPモジュールに第1のターゲット電気機器の電気機器のタイプに対応するNLPモデルが記憶されるという確定に従って、NLPモデル選択モジュール134は、第1のターゲット電気機器の電気機器のタイプに対応するNLPモデルを選択する。内蔵のNLPモジュールに第1のターゲット電気機器の電気機器のタイプに対応するNLPモデルが記憶されないという確定に従って、音声制御機器は、エラーメッセージを第1のターゲット電気機器に返信する。例えば、それから、電気機器は、NLPモデルがないことをユーザに通知し、且つユーザの携帯電話を使用してNLPモデルサーバーからNLPモデルを検索することをユーザに提案する。一部の実施例では、音声制御機器に記憶された1つ(又は複数)のNLPモデル(例えば、レジストリに示される)が更新される場合、電気機器(または音声制御機器に結合されたユーザ装置)は、ユーザに通知することもできる。
一部の実施例では、音声制御機器は、バッテリー110をさらに含み、方法400は、第1のターゲット電気機器とのデータ通信を確立することに応答して、第1のターゲット電気機器が内蔵のデータ通信インターフェースを介して音声制御機器のバッテリー110を充電することをさらに含む。例えば、音声制御機器は、USB又は電気機器に接続されたケーブルを介して充電される。別の例では、バッテリーは、内蔵のデータ通信インターフェースを介して無線で充電されることができるため、他の電源コードが必要ではない。例えば、充電は、ターゲット電気機器とのデータ通信インターフェースをアクティブ化することに応答して、又はターゲット電気機器を選択することに応答して実行されてもよい。例えば、一部の実施例では、音声制御機器は、バッテリーを含まなくてもよく、ここで、音声制御機器が電気機器に接続されてコンデンサを介して又は無線(例えばRF無線充電)で電力を受信する場合のみ、当該音声制御機器は、電力を有し、そして、音声制御機器は、小型無線充電モジュールを有する必要があり、当該モジュールは、受信コイルを含み、RF信号の磁場を受信してそれを交流電流として伝送し、次に整流器によって交流電流を直流電流に変換し、それによってバッテリーを充電する。
一部の実施例では、音声制御機器のバッテリへの充電を(例えば、電気機器との有線又は無線の結合により)開始することに応答して、方法400は、データ通信リクエストメッセージをブロードキャストしてユーザ装置を検索することであって、ここで、ユーザ装置が第1のNLPモデル及び第2のNLPモデルを含む複数のNLPモデルをトレーニングするNLPモデルサーバーと通信するように構成されることをさらに含む。一部の実施例では、初期カスタマイズプロセスに、音声制御機器は、音声制御機器と予めペアリングされた/予め関連されたユーザ装置(例えば、ユーザ装置の識別子が音声制御機器内のレジストリに記憶されている)によって受信され得る信号をブロードキャストする。デバイスが閾値時間内に電話を見つけることができないと、デバイスは休止して充電を開始する。
一部の実施例では、方法400は、1つ又は複数の電気機器の管理に関連する1つ又は複数のユーザの音声入力から音声データをそれぞれ収集する(例えば、音声サンプルを収集して、1つ又は複数のタイプの電気機器に対して1つ又は複数のNLPモデルをトレーニング及び更新する)ことをさらに含む。音声制御機器がユーザ装置(当該ユーザ装置は、第1のNLPモデル及び第2のNLPモデルを含む複数のNLPモデルをトレーニングするように構成されるNLPモデルサーバーと通信することができる)とのデータ通信接続を確立したという確定に従って、方法400は、収集された音声データをユーザ装置に送信して、NLPモデルサーバーに転送して1つ又は複数の電気機器のタイプの1つ又は複数の電気機器に対応する1つ又は複数のNLPモデルをそれぞれ更新することを含む。一部の実施例では、音声制御機器が携帯電話に結合される場合(例えば、初期設定/カスタマイズプロセスに又は充電期間に、デバイスは携帯電話を検索して見つけた場合)、音声制御機器は、最新の音声入力データを携帯電話にアップロードし、携帯電話は、音声入力データをNLPサーバーに転送して、対応するNLPモデルをトレーニング及び更新する。一部の実施例では、方法400は、収集された音声データをユーザ装置にアップロードしてから所定の期間が経過した後、例えば、音声制御機器上の記憶空間を解放するように、収集された音声データを音声制御機器から削除することを含む。一部の実施例では、方法400は、音声データを収集してから所定の期間が経過した後、例えば、音声制御機器上の記憶空間を解放するように、収集された音声データを音声制御機器から削除することを含む。
図4に記載される操作の特定の順序が単なる例示であり、記述された順序が操作を実行できる唯一の順序であることを示すことを意図するものではないことを理解すべきである。当業者は、本明細書に記載の操作を並べ替える様々な方式を認識する。また、本明細書に記載された他の方法及び/又はプロセスに関して、本明細書に記載された他のプロセスの詳細も類似する方式で上記の方法400に適用され得ることに留意すべきである。
図7は一部の実施例による複数のタイプの電気機器のためのポータブルの音声制御に基づくユーザインターフェイスをカスタマイズする方法700のフローチャートである。図8A~図8Gは一部の実施例による複数のタイプの電気機器のためのポータブルの音声制御に基づくユーザインターフェイスをカスタマイズするためのシステム及びユーザインターフェイスの例を示す図である。一部の実施例では、方法700は、1つ又は複数のプロセッサ、メモリ及びディスプレイを有するユーザ装置202(例えば、スマートフォン又はタブレットデバイス又はデスクトップコンピュータ)で実行される。一部の実施例では、方法700は、音声制御機器102とのデータ通信接続を確立すること(702)を含む。本明細書で論じられる一部の実施例では、音声制御機器102は、複数のタイプの電気機器(例えば、ストーブ、冷蔵庫、電子レンジ、洗濯機、衣類乾燥機、エアコンなど)とのデータ通信を確立するように構成され、当該複数のタイプの電気機器が異なる機械コマンドセットに対応して(例えば、異なるタイプの電気機器(異なる電気機器製造業者及びモデルを含む)の特定の機械通信及びコマンドプロトコルに従って対応する機械コマンドセットをフォーマットする)、対応する電気機器操作(例えば、各電気機器のタイプ(例えば、電気機器製造業者及びモデル)が自分の電気機能セットを有する)を実行するように構成される内蔵のデータ通信インターフェース(例えば、図1のデータ通信インターフェース108)と、ユーザからの音声に基づく入力を受信するように構成される内蔵の音声通信インターフェース(例えば、図1の音声通信インターフェース104)と、音声制御機器のメモリに記憶された内蔵のNLPモジュール(例えば、図1のNLPモジュール130)とを有し、ここで、NLPモジュールが、複数のNLPモデルを記憶し、且つ現在の受信された音声入力に対して指定されたターゲット電気機器に応じて前記複数のNLPモデルのうちの対応する1つのNLPモデルを選択的に使用するように構成される。
一部の実施例では、データ通信接続の確立は、ユーザによって駆動される。例えば、ユーザは、デバイスの箱を開けて手動でデバイスをユーザ装置に接続するか、又はデバイス上のボタンを押してユーザ装置に関連付けられた面を向いて、ユーザ装置に無線接続(例えば、ブルートゥースでペアリング)する。別の例では、ユーザは、まずユーザ装置でデバイス管理に関連付けられたアプリケーションプログラムを開き、機能リストを閲覧してから、クリックしてデバイスに「接続」する。この場合、音声制御機器がユーザ装置に物理的に接続されるか、又は「聞く」ように手動でトリガーされない限り、音声制御機器は聞くことができることが要求される。一部の実施例では、データ通信接続の確立は、デバイスによって駆動される(例えば、音声制御機器は、充電を開始して、ユーザ装置を検索する)。
一部の実施例では、方法700は、第1のユーザリクエストを検出して音声制御機器のNLPモジュールを更新すること(704)を含む。一部の例では、リクエストは、音声制御機器に対応するユーザアプリケーションプログラムを開き、且つユーザアプリケーションプラグラムのグラフィカルユーザインターフェースから機能更新を選択し、又はユーザ装置に表示されるプロンプト/通知に応答するという形である。例えば、図8Aに示すように、ユーザ装置202のユーザインターフェース800上に複数のアプリケーションプログラムアイコンが表示される。ユーザ装置202は、ユーザジェスチャ806を検出して音声制御機器に対応するGUI(グラフィカルユーザインターフェース)800上に表示されるアプリケーション804(「美的アプリケーション」)を開く。一部の実施例では、第1のユーザリクエストを検出して音声制御機器のNLPモジュールを更新すること(706)に応答して、方法700は、音声制御機器に対応するNLPモデルサーバー(例えば、図2のサーバー220)との接続を確立すること(708)をさらに含む。例えば、図2に示すように、ユーザ装置は、1つ(又は複数)のネットワーク240を介してNLPモデルサーバー220に接続される。
一部の実施例では、方法700は、ディスプレイ上のグラフィカルユーザインターフェース(例えば、図8Bから図8Cのグラフィカルユーザインターフェース800)に、電気機器のタイプのリスト(図8Bの美的家庭用電気機器830)及び各電気機器のタイプの対応する電気機器機能のリスト(図8Cの美的家庭用電気機器及び機能840)を表示すること(710)をさらに含む。例えば、図8Bに示すように、ユーザは、家庭用電気機器リストからエアコン、電子レンジ及び冷蔵庫を選択し(832)、これは、ユーザが音声制御機器102上に対応するNLPモデルを取り付けたいことを示し、」ユーザは、音声制御機器102を介して音声コマンドを使用してこれらの電気機器を制御することができる。
一部の実施例では、方法700は、グラフィカルユーザインターフェースに表示される、第1の電気機器のタイプに対する第1の電気機器の機能セット及び第2の電気機器のタイプのための第2の電気機器の機能セットのユーザ選択を受信すること(712)をさらに含む。例えば、図8Cに示すように、ユーザは、エアコンに関連するすべての機能を選択し、その結果、すべての音声コマンドを使用してエアコンを制御するための完全なNLPモデルは、音声制御機器102に追加される。一方、ユーザは、電子レンジに対してすべての機能ではなく、一部の機能を選択する。例えば、ユーザは、予めプログラムされた調理モード機能を使用したくない可能性がある。逆に、ユーザは、電源のオン/オフに加えて、電子レンジを使用するときに、通常、温度、電力レベル、タイミングを調整する。したがって、カスタマイズされたNLPモデルは、音声制御機器102に追加されて、「調理モードのオン/オフ」機能を除外するユーザのニーズに適応し、且つ音声コマンドを使用して、電子レンジに対して選択された機能のみを制御する。
一部の実施例では、方法700は、第1の電気機器のタイプに対する第1の電気機器の機能セット及び第2の電気機器のタイプに対する第2の電気機器の機能セットのユーザ選択を受信すること(714)に応答することであって、NLPモジュールサーバー(例えば、図2のサーバーシステム220)から第1の電気機器のタイプに対する第1の電気機器の機能セットについての音声コマンドでトレーニングされた第1のNLPモデルと、第2の電気機器のタイプに対する第2の電気機器の機能セットについての音声コマンドでトレーニングされた第2のNLPモデルとをダウンロードするをダウンロードすること(716)をさらに含む。
一部の実施例では、ユーザが他の電気機器のタイプに対する電気機器機能についての音声コマンドでトレーニングされたNLPモデルを選択しないと、それらは、サーバーからダウンロードされない。一部の実施例では、ユーザ入力は、ダウンロードされたNLPモデルを削除するためのユーザリクエスト(例えば、音声制御機器に記憶されたNLPモデルもグラフィカルユーザインターフェイスにおける電気機器のタイプ及び電気機器機能のリストに(例えば、選択又は選択された形で)表示される)を含み、リクエスト(例えば、ユーザはダウンロードされた特定のNLPモデルのために電気機器のタイプの選択をキャンセルする)に応答して、ユーザ装置は、削除信号を音声制御機器に送信して、ユーザによって選択された削除すべきNLPモデルを削除する。
一部の実施例では、方法700は、ダウンロードされた第1のNLPモデル及び第2のNLPモデルを音声制御機器のNLPモジュール(例えば、図1のNLPモジュール130)に追加すること(718)をさらに含む。一部の実施例では、方法700は、第1のNLPモデル及び第2のNLPモデルのためにレジストリ識別子を確立し、且つレジストリ識別子をNLPモジュール130のNLPモデルのメインテーブルに記憶することをさらに含む。一部の実施例では、方法700は、NLPモジュール130と第1及び第2のNLPモデル132との間の入力及び出力インターフェースを確立して、NLPモジュール130が現在の受信された音声入力に対して指定されたターゲット電気機器に応じて、音声制御機器上に記憶された既存のNLPモデルのうちの第1のNLPモデル及び第2のNLPモデル132を選択的に使用することができるようにすることをさらに含む。
一部の実施例では、音声制御機器とのデータ通信接続を確立することは、音声制御機器が音声制御機器のバッテリーを充電している場合、音声制御機器からデータ通信リクエストを受信することを含む。例えば、図8Eに示すように、音声制御機器102を差し込んで充電する場合、音声制御機器102は、ユーザ装置202の検索を開始する。一部の実施例では、音声制御機器102が(例えば、以前の接続から確立された関係に基づいて)ユーザ装置202を見つける場合、ユーザ装置202は、プロンプト860(例えば、「音声制御機器が接続したい」)を表示して、ユーザ装置202に接続するための音声制御機器のリクエストに対するユーザの応答を問い合わせる。一部の実施例では、ユーザがユーザインターフェース800上で866「許容」864を選択した後、ユーザ装置202は、音声制御機器102との(例えば、無線)データ通信を確立する。次に、ユーザは、ユーザ装置202と対話してNLPモデルを更新し、及び/又は音声制御機器102は、記憶されたトレーニングデータをユーザ装置202にアップロードする。
一部の実施例では、音声制御機器をユーザ装置に接続させることに応答して、第1のユーザリクエストを検出して音声制御機器のNLPモジュール130を更新する。例えば、図8Dに示すように、音声制御機器102は、無線通信方法又はUSB接続によりユーザ装置102に通信可能に結合される。音声制御機器102とユーザ装置102との間のデータ通信が確立された後、ユーザ装置202は、プロンプト885060(例えば、「音声制御機器が接続され、NLPモジュールを更新する必要があるか否か」)を表示して、NLPモジュールの更新リクエストに対するユーザの応答を問い合わせる。一部の実施例では、ユーザがユーザインターフェース800上で856「確認」854を選択した後、ユーザ装置は、音声制御機器102内のNLPモジュール130を更新し続ける。
一部の実施例では、第1のユーザリクエストを検出して音声制御機器のNLPモジュールを更新することは、前記ユーザ装置内の音声制御機器を管理するためのユーザアプリケーションプログラムを起動するためのユーザ入力を検出することと、ユーザアプリケーションプログラムに対するグラフィカルユーザインターフェイスに表示される機能更新のユーザ選択を検出することとを含む。一部の実施例では、音声制御機器の更新されたNLPモジュールは、初めて設けられるデバイスであってもよく、又は既存のNLPモデルを後で更新/調整したものであってもよい。
一部の実施例では、方法700は、音声制御機器で第1のNLPモデルをNLPモジュールに追加した後、音声制御機器とのデータ通信接続を確立することをさらに含む。これは、デバイスを設けるための初期のデータ通信接続の後に実行される。例えば、ユーザは、音声制御機器をユーザ装置に挿入したり、アプリケーションプログラムを使用して音声制御機器への無線接続を選択したりすることができ、音声制御機器は、バッテリーを充電する時にユーザ装置を検索して、ユーザに通知するようにプロンプトすることができる。方法700は、音声制御機器からユーザからの1つ又は複数の音声コマンドの音声データを受信して、第1の電気機器のタイプに対する第1の電気機器の機能セットを制御することと、NLPモデルサーバーとの接続を確立した後、音声データを音声制御機器に対応するNLPモデルサーバーにアップロードすることと、NLPモデルサーバーが1つ又は複数の音声コマンドの音声データを使用して第1のNLPモデルを更新した後、NLPモデルサーバーから第1のNLPモデルを受信することと、調整された第1のNLPモデルを音声制御機器のNLPモジュールに追加することとをさらに含む。一部の実施例では、NLPモデルサーバーは、ユーザからの1つ又は複数の音声コマンドの音声データを使用して、第1のNLPモデルを更新し、この特定の音声制御機器のユーザ(例えば、所有者)のサウンド特徴(例えば、方言)に基づいてNLPモデルをさらにカスタマイズする。
この実施例では、ユーザからの新しい音声データを使用して、NLPモデルを更新(例えば、カスタマイズ)する。ユーザ装置は、収集した音声データを音声制御機器からNLPサーバーに中継する。一部の実施例では、音声制御機器は、ユーザ装置に接続されない期間中に受信された音声データを蓄積する。音声制御機器がユーザ装置へのデータ通信接続を有する場合、それは、ユーザによって駆動され(例えば、ユーザが音声制御機器をユーザ装置に手動で接続するか、又は音声制御機器のボタン又は回転面を押して、ユーザ装置に接続し(例えば、ブルートゥースでペアリングし)、次に音声制御アプリケーションプログラムを開き、UI(ユーザインターフェイス)上の機能を選択して音声データをアップロードし、NLPモデルを更新する)、又はデバイスによって駆動される(例えば、デバイスは充電を開始し、且つユーザ装置を検索する)。一部の実施例では、蓄積された音声データのアップロードは、デバイスがユーザ装置に接続された後に自動的に実行されてもよいし、ユーザ入力によってトリガーされたユーザリクエストに応答して実行されてもよく、例えば、アプリケーションのGUIで、ユーザは、「新しい音声データサンプルをアップロードしてNLPモデルを更新する」という機能を選択する。
一部の実施例では、音声制御機器が蓄積された音声データをユーザ装置にアップロードした後、ユーザ装置は、音声データをNLPサーバー220に転送して、第1のNLPモデルをトレーニング/更新する。一部の実施例では、NLPサーバー220は、音声制御機器からの音声データのみに基づいてNLPモデルをトレーニング/更新し、その結果、NLPモデルは、より高い精度を持ち、デバイス所有者の家庭へのカスタマイズ化(例えば、家庭のうちの1つ(又は複数)のユーザの音声特性と家庭でよく使用されるコマンド)を実現することができる。一部の実施例では、NLPサーバーは、音声制御機器からの音声データ、及び同じ電気機器のタイプであるが異なる家庭からのNLPサーバーで収集された音声データに基づいて、NLPモデルをトレーニング/更新する。異なるユーザが同じ部屋(例えば、本明細書で説明される音声制御機器を備えたエアビーアンドビー(Airbnb)アパート/タウンハウス/部屋)で同じ電気機器を使用する場合、又は複数の学生や若年労働者が借りる部屋で、異なる方言と異なる電気機器の使用行為を有する人を接待することが予想され、このタイプのNLPモデルは、より高い精度を持つことができる。
一部の実施例では、方法700は、音声制御機器で第1のNLPモデルをNLPモジュールに追加した後、音声制御機器とのデータ通信接続を確立することと、音声制御機器からユーザからの1つ又は複数の音声命令の音声データを受信して、第1の電気機器のタイプに対する第1の電気機器の機能セットを制御することと、ユーザ装置での1つ又は複数の音声コマンドの音声データに基づき、第1のNLPモデルを調整する(例えば、図2のNLPモデル更新モジュール212により)ことと、調整された第1のNLPモデルを音声制御機器のNLPモデルに追加することとをさらに含む。一部の実施例では、ユーザ装置は、NLPモデルトレーニングモジュール216及び/又はNLPモデル更新モジュール212を含み、NLPモデルトレーニングモジュール及び/又はNLPモデル更新モジュールは、新しいデータサンプルに基づいてトレーニングし(モデル関数の各重みを確定し)及び/又は既存のモデル関数の対応する重みを調整するように構成される。
一部の実施例では、ユーザ装置が新しい音声データでNLPモデルを更新し、ユーザ装置は、ユーザ装置上で1つ又は複数のNLPモデルをローカルにトレーニング/調整/チューニング/更新することができる。一部の実施例では、ユーザ装置は、当該家庭からの音声データのみに基づいて、第1のNLPモデルをトレーニング/更新する。このタイプの家庭用にカスタマイズされたNLPモデルは、より高い精度を提供し(例えば、より多くのカスタマイズと集中のサンプルに基づいて)、ユーザエクスペリエンス(例えば、より良いカスタマイズ、例えば、コマンドの方言又は個人的な好み)を向上させることができる。これは、第1のNLPモデルがデバイスに取り付けられた後に実行される。
一部の実施例では、音声制御機器がユーザ機器とのデータ接続を確立するたびに、音声制御機器は、デバイスに記憶された、蓄積された音声データをユーザ装置に送信する。しかしながら、毎回のデータサンプルのサイズが制限されるため、ユーザ装置又はNLPサーバーは、対応する1つ(又は複数)のNLPモデルを徐々にトレーニング/更新する。一定期間(例えば、1か月、2週間又は1週間)が経過した後、ユーザ装置又はNLPサーバーは、更新された1つ(又は複数)のNLPモデルの新しいバージョンを生成する。次に、ユーザ装置は、1つ(又は複数)のNLPモデルの新しいバージョンを音声制御機器のNLPモジュール130に追加する。
一部の実施例では、方法700は、音声制御機器で第1のNLPモデルをNLPモジュールに追加した後、音声制御機器とのデータ通信接続を確立することと、第1のユーザ入力を受信して、グラフィカルユーザインターフェイスに表示される電気機器のタイプのリスト及び各電気機器のタイプに対応する電気機器機能のリストから、第1の電気機器のタイプに対する第1の電気機器の機能セットの選択をキャンセルすることであって、ここで、第1の電気機器のタイプに対する第1の電気機器の機能セットに対応する第1のNLPモデルが音声制御機器のNLPモジュールに既に追加されたことと、第1のユーザ入力に応答して、音声制御機器に削除コマンドを送信して、音声制御機器のNLPモジュールから第1のNLPモデルを削除することとをさらに含む。
一部の実施例では、方法700は、音声制御機器で第1のNLPモデルをNLPモジュールに追加した後、音声制御機器とのデータ通信接続を確立することと、第2のユーザ入力を受信して、グラフィカルユーザインターフェイスに表示される電気機器のタイプのリスト及び各電気機器のタイプに対応する電気機器機能のリストから、第1の電気機器のタイプに対する第1の電気機器の機能サブセットの選択をキャンセルすることであって、ここで、第1の電気機器のタイプに対する第1の電気機器の機能セットに対応する第1のNLPモデルが音声制御機器のNLPモジュールに追加されたことと、NLPモデルサーバーへリクエストを送信して、第1の電気機器のタイプに対する第1の電気機器の機能セットから除去された第1の電気機器の機能サブセットに基づいて第1のNLPモデルを調整することと、調整された第1のNLPモデルをダウンロードし、調整された第1のNLPモデルが更新されて第1の電気機器のタイプに対する第1の電気機器の機能セットから第1の電気機器の機能サブセットを除外することと、調整された第1のNLPモデルを音声制御機器のNLPモジュールに追加することとをさらに含む。一部の実施例では、調整された第1のNLPモデルを残りの電気機器機能に対応する音声コマンドサンプルによってトレーニングし、調整されたNLPモデルから、削除された電気機器の機能に基づく音声コマンドサンプルのトレーニング効果を除去する。
一部の実施例では、当該実施例は、よく使用されない機能サブセットに対する選択をキャンセルし、それに応じてモデルを更新し、これは、NLPサーバー上で実行される。一部の実施例では、このプロセスは、通常、ユーザがアプリケーションプログラムを開いて、グラフィカルユーザインターフェースに表示される電気機器のタイプのリスト及び各電気機器のタイプの対応する電気機器機能のリストを見て編集するときに実行される。通常、音声制御機器とユーザ装置との間のデータ通信は、例えば音声制御機器をユーザ装置に挿入し、又は音声制御機器上のボタンを押してユーザ装置に接続するなどのユーザイベントに応答して確立される。一部の実施例では、音声制御機器がそのバッテリーの充電を開始し、ユーザ装置を検索して見つける場合、それはデータ通信をトリガーすることもでき、「デバイスを発見する」の通知が携帯電話で受信される場合、ユーザは、アプリケーションプログラムを開いてリストと対話することができる。ユーザがデバイス機能リストをカスタマイズし、例えば、ユーザが使用しない機能サブセットを削除する(例えば、図3を参照し、音声コマンド302の数を減少するため、モデル310の複雑さが低下し、且つ機械命令320の出力を減少する)ことにより、対応するNLPモデルの精度を向上させ(例えば、曖昧な音声コマンドサンプルを減らし、関連するサンプルを増やす)、NLPモデルの処理速度を向上させる(例えば、テンプレート、モデル、コーパスを減らす)ことができ、且つNLPモデルのサイズが小さくため、記憶空間が節約される。
一部の実施例では、よく使用されない機能サブセットの選択をキャンセルし、モデルを更新する上記の方法は、ユーザ装置上でローカルに実行されてもよい。一部の実施例では、方法700は、音声制御機器で第1のNLPモデルをNLPモジュールに追加した後、音声制御機器とのデータ通信接続を確立することと、第2のユーザ入力を受信して、グラフィカルユーザインターフェイスに表示される電気機器のタイプのリスト及び各電気機器のタイプに対応する電気機器機能のリストから、第1の電気機器のタイプに対する第1の電気機器の機能セットからの第1の電気機器の機能サブセットの選択をキャンセルすることであって、ここで、第1の電気機器のタイプに対する第1の電気機器の機能セットに対応する第1のNLPモデルが音声制御機器のNLPモジュールに追加されたことと、第1の電気機器のタイプに対する第1の電気機器の機能セットから除去された第1の電気機器の機能サブセットに基づいて、第1のNLPモデルを調整することと、調整された第1のNLPモデルを音声制御機器のNLPモジュールに追加することとをさらに含む。一部の実施例では、調整された第1のNLPモデルを残りの電気機器機能に対応する音声コマンドサンプルによってトレーニングし、且つ調整されたNLPモデルから、削除された電気機器機能に基づく音声コマンドサンプルのトレーニング効果を除去する。
一部の実施例では、方法700は、音声制御機器で第1のNLPモデルをNLPモジュールに追加した後、音声制御機器とのデータ通信接続を確立することと、第1の電気機器のタイプに対する第1の電気機器の機能セットの1つ又は複数の機能の更新を検出することと、検出された1つ又は複数の機能の更新に対するユーザ選択に従って、第1のNLPモデルを更新するためのプロンプトをディスプレイに表示することとをさらに含む。一部の実施例では、第1の電気機器の機能は、製造業者のサーバーに接続された第1の電気機器自体によって第1の電気機器で更新される。
図8Fに示す一部の実施例では、電気機器124(b)が更新されると(例えば、ソフトウェア機能のアップグレード又はハードウェアのリコール/調整)、インターネット(例えば、図8Fのネットワーク240)を介して製造業者のサーバー(例えば、図8Fの外部サービス240)と通信することができる電気機器(例えば、図8Fの電子レンジ124(b))は、製造業者のサーバー240に周期的に接続され、又は製造業者のサーバー240によってピング(ping)されて、その機能(及び電気機器に記憶された、対応する機能のリスト)を更新することができる。当該電気機器124(b)と音声制御機器102との間でデータ通信が確立されると、音声制御機器102は、電気機器の機能のリストの更新についての通知を電気機器124(b)から受信する。一部の実施例では、音声制御機器102は、電気機器124(b)のためにその現在のNLPモデルレジストリ136を更新して、言語モデルを更新する必要がある可能性があることを示す。音声制御機器102が当該更新状態をマーキングした後、音声制御機器102は、次にユーザ装置202とのデータ通信が確立されるときに、当該更新をユーザ装置202に報告する。一部の実施例では、特定の電気機器の機能の更新が検出された後、音声制御機器102は、ユーザ装置を能動的に検索し(例えば、バッテリー残量が許す場合)、且つこれらの更新をユーザ装置に通知する。音声制御機器102とユーザ装置202との間でデータ通信が確立される場合、ユーザ装置は、音声制御機器102に記憶されたNLPレジストリ136又は上記のアップグレードされた電気機器の機能のリストをチェックし、電気機器の機能の更新を検出する。次に、ユーザ装置202は、GUI800上にメッセージ(例えば、図8Fのメッセージ872)プロンプトを表示して、電気機器124(b)の対応するNLPモデル132を更新すべきか否か(例えば、「マイクロ波機能が更新された。これらの新しい機能を音声で制御することができるようにNLPモジュールを更新する必要があるか否か」)をユーザに問い合わせる。次に、ユーザ装置202は、電気機器(例えば、電子レンジ)のアップグレードされた機能、又は電気機器に関連するすべての機能のリスト880(図8G)に含まれる/追加された、更新された機能のみを表示し(例えば、図8Gに示すように、ユーザは拡張機能のリストを選択することができる)、ユーザがそれに応じて電気機器124(b)のNLPモデルへの更新を選択するようにすることができる。一部の実施例では、これは、電気機器の機能のアップグレードをユーザに通知する方式(電気機器124(b)と音声制御機器102との間の初期接続を介して、次に音声制御機器102とユーザ装置202との間の接続を介する)、且つ選択をユーザに提供して、ユーザの好みに応じて対応する電気機器のNLPモデル132を更新して、アップグレードされた機能(図8Gに示される太字の下線付きの機能)への音声制御に適応する。一部の例では、いくつかの機能のアップグレードはユーザに必要がない可能性があり(例えば、図8Gでユーザが電子レンジを使用して料理を調理及びグリルするという新しい機能を選択しない)、したがって、ユーザは、音声制御機器への負荷を回避するために、対応するNLPモデルの1つ又は複数の機能サブセットを音声制御機器に含めないことを選択することがきる。一方、ユーザは、音声コマンドを使用して、パスタを調理するように電子レンジを制御するという新しい機能に興味がある可能性がある。したがって、ユーザは、ユーザインターフェース上でパスタのチェックボックスのチェックを入れ、電子レンジに対応するNLPモデルは、調理及びグリルに関連する機能を除外するように更新されるが、電子レンジを使用したパスタの調理に関連する機能を含む。
図7に記載される操作の特定の順序は単なる例示であり、説明された順序が操作を実行できる唯一の順序であることを示すことを意図するものではないことが理解すべきである。当業者は、様々な方式を認識して本明細書に記載の操作を新たに並べ替える。さらに、本明細書に記載される他の方法及び/又はプロセスの詳細も類似する方式で上記の方法700に適用することに注意すべきである。
図9Aは音声制御機器102を示すブロック図である。音声制御機器102は、1つ又は複数の処理ユニット(CPU)902、1つ又は複数のネットワークインターフェース904、メモリ906、及びこれらのコンポーネント(チップセットと呼ばれることもある)を互いに接続するための1つ又は複数の通信バス908を含む。音声制御機器102は、ユーザインターフェース910をさらに含む。オプションとして、ユーザインターフェース910は、1つ又は複数の出力装置912を含み、メディアコンテンツを提示することが可能となり、出力装置は、1つ又は複数のスピーカー及び/又は1つ又は複数の視覚的ディスプレイを含む。一部の実施例では、音声制御機器102は、いかなる出力機器を含めない。ユーザインターフェース910は、1つ又は複数の入力装置914をさらに含み、入力装置は、音声コマンド入力ユニット又はマイクロフォンを含む。一部の実施例では、音声制御機器102は、タッチスクリーンディスプレイ、タッチセンシティブパネル、又はジェスチャキャプチャカメラ、又は他の入力ボタン又はコントロールを含めない。一部の実施例では、音声制御機器102は、メモリ906を含む。メモリ906は、DRAM、SRAM、DDR RAM又は他のランダムアクセスソリッドステートストレージデバイスなどの高速ランダムアクセスメモリを含み、かつ、オプションとして、不揮発性メモリ、例えば、1つ又は複数の磁気ディスク記憶装置、1つ又は複数の光ディスク記憶装置、1つ又は複数のフラッシュメモリ装置、又は1つ又は複数の他の不揮発性ソリッドステートメモリ装置を含む。オプションとして、メモリ506は、1つ又は複数の処理ユニット902から遠隔にポジショニングされた1つ又は複数の記憶装置を含む。メモリ906、又はメモリ906内の不揮発性メモリは、非一時的コンピュータ読み取り可能な記憶媒体を含む。一部の実施例では、メモリ906又はメモリ906の非一時的コンピュータ読み取り可能な記憶媒体は、以下のプログラム、モジュール及びデータ構造、又はそれらのサブセット又はスーパーセットを記憶する。
―オペレーティングシステム918は、様々な基本システムサービスを処理し、ハードウェアに関連するタスクを実行するためのプロセスを含む。
―ネットワーク通信モジュール920は、1つ又は複数のネットワークインターフェース904(有線又は無線)を介して音声制御機器102を、1つ又は複数のネットワークに接続された他のコンピュータ装置(例えば、サーバーシステム220)又はユーザ装置202(例えば、スマートフォン又はタブレットコンピュータ)に接続するために使用される。
―音声通信モジュール922は、ユーザからの音声入力を受信するために使用される。
―データ通信モジュール924は、複数のタイプの電気機器とのデータ通信を確立するために使用され、当該複数のタイプの電気機器は、異なる機械コマンドセットに応答して、対応する機器操作を実行するように構成される。
―NLP処理モジュール926は、ユーザからの音声入力を処理して、機械コマンドを取得して対応する電気機器を制御するために使用され、NLP処理モジュール926は、
――ターゲット電気機器のためにNLPモデルを選択するためのNLPモデル選択モジュール928と、
――NLPモデルと対応する電気機器との間の関係を記録するためのNLPモデル登録モジュール930とを含む。
―通信インターフェース932は、音声制御機器102とユーザ装置202との間のデータ通信を確立するために使用され、
――サーバーシステム220からNLPモデルをダウンロードするためのNLPモデルダウンロードモジュール934と、
――音声制御機器で収集された音声コマンドデータをNLPモデルの更新のためにアップロードするための音声コマンドアップロードモジュール936とを含む。
―データベース940は、
――ユーザ制御電気機器から収集された音声コマンド942と、
――NLPモデル944(例えば、図1のNLPモデル132)、及び
――NLPモデルレジストリ946(例えば、図1のNLPモデルレジストリ136)を含む。
図9Bは一部の実施例によるユーザ装置202を示すブロック図である。ユーザ装置202は、通常、1つ又は複数の処理ユニット(CPU)952(例えば、プロセッサ)、1つ又は複数のネットワークインターフェース954、メモリ956、及びこれらのコンポーネント(チップセットと呼ばれることもある)を互いに接続するための1つ又は複数の通信バス958を含む。ユーザ装置202は、ユーザインターフェース960をさらに含む。ユーザインターフェース960は、1つ又は複数の出力装置962を含み、メディアコンテンツを提示することが可能となり、出力装置は、1つ又は複数のスピーカー及び/又は1つ又は複数の視覚的ディスプレイを含む。ユーザインターフェース960は、1つ又は複数の入力装置964をさらに含み、入力装置は、キーボード、マウス、音声コマンド入力ユニット又はマイク、タッチスクリーンディスプレイ、タッチセンシティブパネル、ジェスチャキャプチャカメラ、1つ又は複数のカメラ、深度カメラ又は他の入力ボタン又はコントロールなどのユーザ入力を容易にするユーザインターフェイスコンポーネントを含む。また、いくつかのユーザ装置202は、マイク及び音声識別、又はカメラ及びジェスチャー識別を使用してキーボードを補足又は置き換える。一部の実施例では、ユーザ装置202は、ユーザ装置202の現在の状態又はユーザ装置202に関連する環境条件についてのコンテキスト情報を提供するセンサーをさらに含む。センサーは、1つ又は複数のマイク、1つ又は複数のカメラ、環境光センサー、1つ又は複数の加速度計、1つ又は複数のジャイロスコープ、GPS測位システム、ブルートゥース(Bluetooth)又はBLE(低エネルギー消費ブルートゥース)システム、温度センサー、1つ又は複数のモーションセンサー、1つ又は複数のバイオセンサー(例えば電気皮膚刺激センサー、パルスオキシメーターなど)及び他のセンサーを含むが、これらに限定されない。メモリ956は、DRAM、SRAM、DDR RAM又は他のランダムアクセスソリッドステートストレージデバイスなどの高速ランダムアクセスメモリを含み、並びに、オプションとして、不揮発性メモリ、例えば、1つ又は複数の磁気ディスク記憶装置、1つ又は複数の光ディスク記憶装置、1つ又は複数のフラッシュメモリ装置、又は1つ又は複数の他の不揮発性ソリッドステートストレージデバイスを含む。オプションとして、メモリ956は、1つ又は複数の処理ユニット952から遠隔にポジショニングされた1つ又は複数の記憶装置を含む。メモリ956、又はメモリ956内の不揮発性メモリは、非一時的コンピュータ読み取り可能な記憶媒体を含む。一部の実施形態では、メモリ956又はメモリ956の非一時的コンピュータ読み取り可能な記憶媒体は、以下のプログラム、モジュール及びデータ構造、又はそれらのサブセット又はスーパーセットを記憶する。
―オペレーティングシステム966は、様々な基本システムサービスを処理し、ハードウェアに関連するタスクを実行するためのプロセスを含む。
―通信モジュール968は、1つ又は複数のネットワークインタ―フェース954(有線又は無線)を介してユーザ装置202を、1つ又は複数のネットワーク240に接続された他のコンピュータ装置(例えば、サーバーシステム220)に接続するために使用される。
―ユーザ入力処理モジュール970は、1つ又は複数の入力装置964のうちの1つから1つ又は複数のユーザ入力又は対話を検出し、且つ検出された入力又は対話を解釈するために使用される。
―ユーザ装置202によって実行される1つ又は複数のアプリケーションプログラム974(例えば、支払いプラットフォーム、メディアプレーヤー及び/又は他のネットワークベース又は非ネットワークベースのアプリケーションプログラム)。
―クライアントモジュールは、音声コマンドデバイス管理モジュール974を含み、前記音声コマンドデバイス管理モジュール974は、
――音声制御機器102とのデータ接続を確立するためのデバイス接続モジュール976と、
――音声制御機器102に対して初期構成を行うためのデバイス構成モジュール978と、
――ユーザの選択に従って、サーバーシステム220から1つ又は複数のNLPモデルをダウンロードするためのNLPモデルダウンロードモジュール980と、
――ダウンロードされたNLPモデルを音声制御機器102のNLPモジュール130に追加するためのNLPモデル追加モジュール982と、
――音声制御機器102で収集されたユーザの音声コマンドに応じてNLPモデルを更新(例えばカスタマイズ)するためのNLPモデル更新モジュール984と、
――1つ又は複数の電気機器を制御するためのユーザの音声コマンドデータを音声制御機器102から検索するための音声入力管理モジュール986と、
――NLPモデルをトレーニングするためのNLPモデルトレーニングモジュール988と、
――本明細書で説明される他の機能を実行するための他のモジュールとを含むが、これらに限定されない。
―クライアントデータベース990は、データ及びモデルを記憶するために使用され、
――音声入力992と、
――NLPモデル994と、
――ユーザデータ996(例えば、顧客名、年齢、収入レベル、色の好み、以前に購入した製品、製品カテゴリ、製品ポートフォリオ/組み合わせ、先に問い合わせた製品、過去の納品先、インタラクションチャネル、インタラクション場所、購入時間、納期、特殊な要求、IDデータ、人口統計データ、社会的関係、ソーシャルネットワークアカウント名、ソーシャルネットワークへの投稿又はコメント、営業担当者、カスタマーサービス担当者又は配送担当者とのやりとりのレコード、好み、嫌気、気持ち、信仰、習俗、個性、気質、対話スタイルなど)、を含むが、これらに限定されない。
上記の確定された要素のそれぞれは、上記の1つ又は複数のメモリ装置に記憶されてもよく、かつ上記機能を実行するためのコマンドセットに対応する。上記の確定されたモジュール又はプログラム(即ち、コマンドセット)は、単独のソフトウェアプログラム、プログラム、モジュール又はデータ構造として実現される必要がなく、したがって、これらのモジュールの様々なサブセットは、様々な実施例で組み合わせられ、又は他の方式で並べ替えることができる。一部の実施例では、オプションとして、メモリ506は、上記の確定されたモジュールとデータ構造のサブセットを記憶する。また、オプションとして、メモリ506は、以上に説明されない追加モジュールとデータ構造を記憶する。
以上に特定の実施例は説明されるが、これは、本出願をこれらの特定の実施例に限定することを意図するものではないことが理解できる。逆に、本出願は、添付の特許請求の範囲の精神及び範囲内の代替、修正および同等物を含む。本明細書に記載されたテーマを完全に理解するために、多くの具体的な詳細が記載される。しかし、これらの具体的な詳細がなくてもこのテーマを実践できることは当業者によって明らかである。他の場合でも、実施例の様々な態様を不必要に不明瞭にしないように、周知の方法、プログラム、コンポーネントと回路は、詳細に説明されない。
100 操作環境
102 音声制御機器
102 音声制御デバイス
102 ユーザ装置
104 音声通信インターフェース
106 ターゲット選択モジュール
108 通信インターフェース
112 音声コマンドメモリ
114 通信インターフェース
116 NLPモデルダウンロードモジュール
118 音声コマンドアップロードモジュール
本発明は、電気機器を制御するための音声に基づくユーザインターフェースの分野に関し、特に、複数の電気機器に跨るポータブル(portable)の自然言語処理(NLP)インターフェースを提供するための方法、及びシステムに関する。
(関連出願への相互参照)
本願は、2018年10月15日に提出された米国特許出願第No.16/160,929号に対する優先権を主張し、その全ての内容が引用により本明細書に組み込まれる。
近ごろ、アップルのSIRI(アップルスマート音声アシスタント)、アマゾンのEcho(アマゾンスマートスピーカー)、グーグルのGoogle Assistant(グーグルアシスタント)とマイクロソフトのCortana(マイクロソフトのコルタナ)のような音声に基づくデジタルアシスタントは、例えば家庭用電気機器への制御、ネットワーク検索、スケジュール、リマインダーなどの様々なタスクを処理するために市場に導入されている。このような音声に基づくデジタルアシスタントの利点の1つは、ユーザがデバイスを持ったり、見たりすることなく、両手を解放する方式でデバイスと対話することができることにある。従来、音声に基づくデジタルアシスタントを起動するために、ユーザは、音声に基づくデジタルアシスタントにトリガーフレーズ(例えば、所定のウェイクワード又はコマンド)を話すか、又は音声に基づくデジタルアシスタントを制御するために結合されたユーザ装置と(例えば、スマートフォン上でアプリケーションプログラムを開いてユーザインターフェイス上の仮想ボタンを押すことによって)対話する。音声に基づくデジタルアシスタントは、アクティブ化された後、受信した音声コマンドを解釈し、且つ動作(例えば、情報的回答を提供し、及び/又は符号化コマンドを送信して、周辺機器、例えばスマートホーム環境における電気機器を制御する)を実行する。
しかしながら、伝統的な音声に基づくデジタルアシスタントにより複数の電気機器を制御することには、多くの制限がある。例えば、従来の音声に基づくデジタルアシスタントは、環境で常に音声コマンドを聞く必要があるため、効率が高くない。従来の音声に基づくデジタルアシスタントは、サーバーにアクセスして複雑で強い自然言語処理(NLP)を行うために、インターネットに接続する必要もある。しかしながら、インターネットアクセシビリティは、デジタルアシスタントに追加されたいくつかのハードウェア及びソフトウェアを必要とするだけでなく、ユーザにプライバシーの問題をもたらす。また、従来の音声に基づくデジタルアシスタントは、様々な音声コマンドを処理できる複雑なNLPモデルと共に使用される。しかしながら、このような複雑なNLPモデルは、トレーニング及びアップグレードが難しく、時間がかかり、且つこのような複雑なNLPモデルを使用する精度及び効率が低下する。また、従来の音声に基づくデジタルアシスタントは、ユーザが特定の環境内(例えば、自宅で)の様々な位置で様々なアクティビティを行う際に複数の電気機器を制御するニーズを満たすために、十分なモビリティを提供することができない。ユーザ装置(例えば、スマートフォン)を使用して音声に基づくデジタルアシスタントを制御することができる場合でも、特にユーザが様々なアクティビティに従事しているときに、ユーザは、依然としてユーザ装置と対話してコマンドを音声に基づくデジタルアシスタントに送信する必要があり、これは不便で効率が低い。また、従来の音声に基づくデジタルアシスタントは、独自仕様であり、高価なハイエンドモデルの電気機器及び/又は指定された製造業者によって製造された電気機器のみと共に使用され得る。
従って、複数の電気機器を制御する方式を改善するために、ポータブルのNLPインターフェースを提供することは有益である。
したがって、電気機器としては、使用コストが低く、消費電力が低いポータブルの音声制御機器(例えば、ポータブルのNLPインターフェース、ポータブルのNLP機器)を使用して複数の電気機器(及び/又は他の装置)を制御するための方法及びシステムが必要である。音声制御機器は、サーバー又はインターネットに接続することなく、複雑なNLP処理を行うことができる。また、音声制御機器は、個々のユーザのニーズに合わせてカスタマイズすると共に、異なるモデル及び/又は異なる製造業者の様々なタイプの電気機器に適用することができる。
以下に説明される実施例は、内蔵の音声通信インターフェースと、内蔵のデータ通信インターフェースと、複数のNLPモデルを含む内蔵のNLPモジュールとを備えた音声制御機器により、複数の電気機器を制御するためのシステム及び方法を提供する。ここで、対応するNLPモデルは、複数の電気機器のそれぞれに使用される。音声制御機器は、音声コマンドを持続的に聞かない。逆に、本明細書に開示されるように、予め定義されたトリガーイベントによって内蔵の音声通信インターフェースをアクティブ化して、ユーザからの音声コマンドの聞き取りを開始する。このようにして、本明細書に開示される音声制御機器は、小型、携帯しやすく且つ消費電力が低いものに作られてもよい。また、音声制御機器は、どの制御すべきターゲット電気機器を選択するかを音声コマンドによって確定することができ、かつ対応するNLPモデルは、受信した音声コマンドを処理して、選択されたターゲット電気機器を制御するための機械コマンドを取得するために使用される。音声制御機器のNLPモジュールは、カスタマイズ、アップグレードが容易であり、且つ異なる電気機器のタイプに適用する。例えば、音声制御機器は、ユーザが環境(例えば、自宅で)で所有及び/又は共同で使用する1つ又は複数の電気機器のタイプに対応する1つ又は複数のNLPモデルを記憶することができる。また、対応する電気機器のタイプの電気機器のユーザの常用機能及び/又は優先機能に従って個々の単独のNLPモデルに対してカスタマイズすることができる。このようにして、本明細書で開示される音声制御機器は、サーバーによって操作される複雑なNLPモデルと共に動作する必要がない。逆に、音声制御機器は、軽量でカスタマイズが可能であり、かつインターネットから完全にオフラインで動作できることで、音声制御機器がユーザの音声コマンドを効果的かつ正確に処理して電気機器を制御できることを確保するとともに、ユーザのプライバシーを保護し、装置のセキュリティ対策を実現するためのコストを削減する。また、ユーザ装置を音声制御機器とサーバー(例えば、NLPサーバー)の間の仲介として使用することにより、音声制御機器は、独自のグラフィカルユーザインターフェイを必要としない(例えば、音声制御機器にはディスプレイ又はタッチセンシティブパネルが必要ではない)。
本明細書に開示されるように、一部の実施例において、複数のタイプの電気機器のためのポータブルの音声制御に基づくユーザインターフェースを提供する方法は、音声制御機器(音声制御機器には1つ又は複数のプロセッサ、メモリ、内蔵のデータ通信インターフェイス、内蔵の音声通信インターフェイス及び内蔵の自然言語処理(NLP)モジュールがあり、データ通信インターフェイスは、複数のタイプの電気機器(前記電気機器は異なる機械コマンドセットに応答して対応する電気機器操作を実行するように構成さる)とのデータ通信を確立するように構成され、音声通信インターフェイスは、ユーザからの音声に基づく入力を受信するように構成され、NLPモジュールは、前記音声制御機器のメモリに記憶され、ここで、NLPモジュールは、複数のタイプの電気機器のそれぞれに対応するNLPモデルを含む)においては、音声制御機器の内蔵の音声通信インターフェイスをアクティブ化するようにユーザリクエストを検出することと、前記音声制御機器の内蔵の音声通信インターフェイスをアクティブ化するように前記ユーザリクエストを検出したことに応答することと、音声制御機器の内蔵の音声通信インターフェイスをアクティブ化して、1つ又は複数のターゲット選択基準に従って、音声制御機器の内蔵の音声通信インターフェイスを介して受信される1つ又は複数の音声に基づくコマンドのための第1のターゲット電気機器を選択して、内蔵の音声通信インターフェースがアクティブに維持され且つ現在の選択された第1のターゲット電気機器が変えないように維持される場合、音声制御機器の内蔵の音声通信インターフェースを介して第1の音声入力を受信して、第1の音声入力を受信することに応答して、第1のターゲット電気機器が第1の電気機器のタイプの第1の電気機器であるという確定に従って、内蔵のNLPモジュールの、第1の電気機器のタイプに対応する第1のNLPモデルを使用して第1の音声入力を処理して、第1の機械コマンドを取得し、且つ内蔵のデータ通信インターフェースを介して第1の機械命令を第1の電気機器に送信し、前記第1のターゲット電気機器が前記第1の電気機器のタイプとは異なる第2の電気機器のタイプの第2の電気機器であるという確定に従って、前記内蔵のNLPモジュールの、前記第2の電気機器のタイプに対応する第2のNLPモデルを使用して前記第1の音声入力を処理して、第2の機械コマンドを取得し、且つ内蔵のデータ通信インターフェースを介して第2の機械コマンドを第2の電気機器に送信する、こととを含む。
一部の実施例によれば、音声制御機器は、複数のタイプの電気機器(異なる機械コマンドセットに応答して対応する電気機器操作を実行するように構成さる)とのデータ通信を確立するように構成される内蔵のデータ通信インターフェースと、ユーザからの音声に基づく入力を受信するように構成される音声通信インターフェースと、前記音声制御機器のメモリ内に記憶された内蔵のNLPモジュールとを含み、ここで、NLPモジュールが、複数のタイプの電気機器のそれぞれに対応するNLPモデル、1つ又は複数のプロセッサ、コマンドを記憶するメモリを含み、コマンドが1つ又は複数のプロセッサによって実行される場合、当該コマンドがプロセッサに本明細書に記載されるいずれかの方法の操作を実行させる。一部の実施例によれば、コンピュータ読み取り可能な記憶媒体(例えば、非一時的コンピュータ読み取り可能な記憶媒体)が提供され、当該コンピュータ読み取り可能な記憶媒体は、音声制御機器の1つ又は複数のプロセッサによって実行されるための1つ又は複数のプログラムを記憶し、1つの又は複数のプログラムが本明細書に記載されるいずれかの方法を実行するためのコマンドを含む。
以下の説明から、本出願の様々な利点は、明らかになる。
以下、添付の図面を参照して好ましい実施例を詳細に説明した後、開示された技術の上記の特徴及び利点、並びにその追加の特徴及び利点がより明確に理解される。
この開示される技術の実施例又は従来技術における技術案をより明確に説明するために、以下では、実施例又は従来技術を説明するための添付の図面を簡単に紹介する。明らかに、以下の説明する図面は、この開示された技術の一部の実施例を示すだけであるが、当業者は、創造的な努力なしに、これらの図面から他の図面を依然として導き出すことができる。
一部の実施例による、音声制御機器で制御できる複数の電気機器を含む操作環境を示すブロック図である。
一部の実施例によるネットワーク構成を示すブロック図であり、当該ネットワーク構成では、音声制御機器がユーザ装置と共に動作して音声制御機器をカスタマイズする。
一部の実施例による音声制御機器に使用される電気機器のタイプに対する例示的なNLPモデルのブロック図である。
一部の実施例による複数のタイプの電気機器のための音声制御に基づくユーザインターフェイスを提供する方法のフローチャートである。
一部の実施例による音声制御機器の音声通信インターフェースをアクティブ化する様々な実施例を示すブロック図である。
一部の実施例による音声制御機器の音声通信インターフェースをアクティブ化する様々な実施例を示すブロック図である。
一部の実施例による音声制御機器の音声通信インターフェースをアクティブ化する様々な実施例を示すブロック図である。
一部の実施例による音声制御機器の音声通信インターフェースをアクティブ化する様々な実施例を示すブロック図である。
一部の実施例による音声制御機器の音声通信インターフェースをアクティブ化する様々な実施例を示すブロック図である。
一部の実施例による音声制御機器の音声通信インターフェースをアクティブ化する様々な実施例を示すブロック図である。
一部の実施例による音声制御機器の音声通信インターフェースをアクティブ化する様々な実施例を示すブロック図である。
一部の実施例による音声制御機器を使用して複数のタイプの電気機器を制御する様々な操作シーンを示すブロック図である。
一部の実施例による音声制御機器を使用して複数のタイプの電気機器を制御する様々な操作シーンを示すブロック図である。
一部の実施例による複数のタイプの電気機器のためのポータブルの音声制御に基づくユーザインターフェイスをカスタマイズする方法のフローチャートである。
一部の実施例による複数のタイプの電気機器のためのポータブルの音声制御に基づくユーザインターフェイスをカスタマイズするためのシステム及びユーザインターフェイスの例を示す図である。
一部の実施例による複数のタイプの電気機器のためのポータブルの音声制御に基づくユーザインターフェイスをカスタマイズするためのシステム及びユーザインターフェイスの例を示す図である。
一部の実施例による複数のタイプの電気機器のためのポータブルの音声制御に基づくユーザインターフェイスをカスタマイズするためのシステム及びユーザインターフェイスの例を示す図である。
一部の実施例による複数のタイプの電気機器のためのポータブルの音声制御に基づくユーザインターフェイスをカスタマイズするためのシステム及びユーザインターフェイスの例を示す図である。
一部の実施例による複数のタイプの電気機器のためのポータブルの音声制御に基づくユーザインターフェイスをカスタマイズするためのシステム及びユーザインターフェイスの例を示す図である。
一部の実施例による複数のタイプの電気機器のためのポータブルの音声制御に基づくユーザインターフェイスをカスタマイズするためのシステム及びユーザインターフェイスの例を示す図である。
一部の実施例による複数のタイプの電気機器のためのポータブルの音声制御に基づくユーザインターフェイスをカスタマイズするためのシステム及びユーザインターフェイスの例を示す図である。
一部の実施例による複数のタイプの電気機器を制御するための音声制御機器を示すブロック図である。
一部の実施例による複数のタイプの電気機器に対して音声制御機器をカスタマイズするためのユーザ装置を示すブロック図である。
類似する符号は、図面の複数のビューにおける対応する部材を指す。
以下に実施例を詳細に参照し、実施例の例を図面に示す。以下の詳細な説明では、ここに提案されたテーマに対する全面的な理解を提供するように、多くの具体的な詳細が提案される。しかし、このテーマがこれらの特定の詳細なしに実施されることができることは当業者にとって明らかである。他の場合でも、実施例の様々な態様を不必要に不明瞭にしないように、既知の方法、プロセス、コンポーネント及び回路は、詳細に説明されていない。
本出願の実施例における図面を参照して、以下では本出願の実施例における技術案を明確かつ全面的に説明する。明らかに、説明される実施例は、本出願の一部の実施例だけであるが、全ての実施例ではない。当業者が創造的な努力を要せずに、本出願の実施例に基づいて得たすべての他の実施例は、本出願の保護範囲に含まれる。
図1は一部の実施例による、音声制御機器で制御できる複数の電気機器124を含む操作環境100を示すブロック図である。一部の実施例では、操作環境100はホーム環境、例えば自宅の台所である。一部の実施例では、ホーム環境100は、第1の家庭用電気機器、例えば、天井に近くの台所の壁に位置するエアコン124(a)を含む。一部の実施例では、ホーム環境100は、第2の家庭用電気機器、例えば、2つの他の家庭用電気機器の間、例えばオーブン124(d)と電子レンジ124(b)の間に位置する冷蔵庫124(c)をさらに含み、これらの3つの電気機器は、すべて台所に配置される。一部の実施例では、ホーム環境100は、台所の壁に取り付けられた食器棚124(e)をさらに含む。
一部の実施例では、音声制御機器102は、環境からの音声入力を含むオーディオデータを収集するための内蔵のマイクロフォン又は任意の他の音声記録装置を含み得る内蔵の音声通信インターフェース104と、収集されたオーディオデータから音声コマンドを識別するための音声識別モジュールとを含む。一部の実施例では、従来の音声に基づくデジタルアシスタントとは異なり、音声通信インターフェース104は、ユーザの音声コマンドを聞くために持続的にアクティブ化されない。逆に、音声通信インターフェース104は、例えば、音声制御機器102上のボタンが押されたことを検出すること、音声制御機器102が特定の方向へ回転することを検出すること、通信インターフェース(例えば、1つ(又は複数)の電気機器のためのデータ通信インターフェース108又はユーザ装置のための通信インターフェース114)がアクティブ化されること、又は音声制御機器102が電気機器124に物理的に結合(例えば、接続)されることなどの予め定義されたトリガーイベントに従ってアクティブ化されてもよい。音声通信インターフェース104がアクティブ化されると、音声通信インターフェース104は、ユーザ122から音声コマンド(例えば、音声に基づく入力、音声入力)を受信して、操作環境100内の1つ又は複数の電気機器124を制御するように構成される。
一部の実施例では、音声制御機器102は、図1の破線に示される「可能な通信パス」のように、台所内の異なるタイプの電気機器と通信することができる。一部の実施例では、各制御セッションでは1つの電気機器のみが選択される。一部の実施例では、図1の実線に示す「選択されたターゲット電気機器のための機械コマンド」のように、1つの制御セッションは、音声制御機器102の音声通信インターフェース104がいつアクティブ化されるか、音声制御機器102によって制御され、且つ現在のセッションにおいてそのまま維持されるように、電気機器(例えば、電子レンジ124(b))が選択される場合に対応する。一部の実施例では、音声制御機器102は、音声制御機器102によって処理されたユーザの音声コマンドによって制御されるターゲット電気機器を選択するように構成されるターゲット選択モジュール106を含む。音声制御機器102を各セッションで1つの電気機器と通信させることにより、異なる電気機器の間の混乱を減らし、且つ音声コマンドを音声制御機器102で機械コマンドに処理する効率を向上させることができる。これは、異なる電気機器が同じ音声コマンドを持っている可能性があるか、又は同じ音声コマンドが異なる電気機器の異なる操作に対応する可能性があるためである。例えば、ユーザの音声入力「オン」は、電子レンジ124(b)の電源をオンにすること、又はストーブ124(d)の電源をオンにすることに対応することができる。別の例では、「ファンをオンにしてください」は、エアコン124(a)のファンモードをオンにすること、又はストーブ124(d)の換気ファンをオンにすることに対応することができる。したがって、音声制御機器102が音声コマンドを対応する機械コマンドに変換し、音声制御機器102の通信インターフェース108を介して機械コマンドをターゲット電気機器に送信し、ユーザにリクエストされた操作を効果的かつ正確に実行することができるように、現在のセッションでどの電気機器が制御されるように選択されるかを明確にする必要がある(例えば、ターゲット電気機器は図1の電子レンジ124(b)である)。
一部の実施例では、音声制御機器102は、自然言語処理(NLP)モジュール130を含み、自然言語処理モジュールは、様々なタイプの電気機器にそれぞれ対応する複数のNLPモデル132を含む。一部の実施例では、対応するNLPモデルは、音声コマンドを処理して機械コマンドを取得して、対応する電気機器に音声コマンドによって要求されたれる操作を実行させるように構成される。一部の実施例では、異なる電気機器に対する異なる機械コマンドを取得するように、同じ音声コマンドは、異なるNLPモデルによって処理されてもよい。一部の実施例では、音声制御機器102内の対応するNLPモデルは、テンプレートに基づくモデル又はステートマシンであり、対応する電気機器に関連する同じ数の所定の操作に対応する多くの音声コマンドを処理して、対応する電気機器によって読み取られる同じ数の機械コマンドを取得して、対応する所定の操作を実行するために使用されてもよい。特定の電気機器に関連するコマンドの数量が制限されるため、NLPモデル132を含むNLPモジュール130は、小さな占有スペース及びより高い識別精度を有する。音声制御機器102に複数のNLPモデル132が含まれでも、音声制御機器102は、過度のメモリ使用又はサーバーからのサポートなしに、すべてのNLPを依然としてローカルで実行することができる。一部の実施例では、NLPモジュール130は、NLPモデルレジストリ136を含み、NLPモデルレジストリは、音声制御機器102での複数のNLPモデル132の識別子を記憶し、これらの識別子は、それぞれ、複数の電気機器のタイプの識別子に関連する。一部の実施例では、NLPモジュール130は、NLPモデル選択モジュール134を含み、NLPモデル選択モジュールは、NLPモデルレジストリ136に記憶された関係に応じてNLPモデル132を選択して、選択されたターゲット電気機器に対する音声コマンドを処理するように構成される。
一部の実施例では、音声制御機器102は、機械コマンドを1つ又は複数の電気機器に送信するためのデータ通信インターフェース108を含む。一部の実施例では、データ通信インターフェース108は、1つのセッション期間に1つの電気機器(例えば、選択されたターゲット電気機器)のみとデータ(例えば、機械コマンド又は他のタイプのメッセージ)を交換する。例えば、ターゲット選択モジュール106が現在のセッションのターゲット電気機器を確定した後、選択されたターゲット電気機器と通信するデータ通信インターフェース108(例えば、サブインターフェース)がアクティブ化される。一部の実施例では、データ通信インターフェース108は、1つ以上の電気機器(及び/又は装置)とデータを交換することができる。しかしながら、データ通信インターフェース108は、1つの制御セッション期間に1つのターゲット電気機器のみと通信するように構成される。一部の実施例では、データ通信インターフェース108は、ハードウェア(例えば、アンテナ、チップ、コネクタなど)及び/又はソフトウェア(例えば、通信プロトコルなど)を含む。一部の実施例では、データ通信インターフェース108は、例えばブルートゥース(登録商標)、Wi-Fi、近距離無線通信(NFC)又はZigBeeなどの無線データ通信、又はコネクタに基づくデータ通信(例えばUSB接続)を含む1つ又は複数の通信方法をサポートする。一部の実施例では、音声制御機器102は、ユーザ装置(例えば、図2のユーザ装置202)とデータ(例えば、音声コマンドデータ、1つ(又は複数)のNLPモデルなど)を交換するように構成される通信インターフェース114を含む。一部の実施例では、通信インターフェース114は、例えばブルートゥース、Wi-Fi、NFC又はパープルビー(ZigBee)などの無線データ通信、又はコネクタに基づくデータ通信(例えば、USB接続)を含む1つ又は複数の通信方法をサポートする。
一部の実施例では、音声制御機器102は、電気機器のタイプのユーザ選択及び選択された各電気機器のタイプに対する電気機能のユーザ選択に従って、ユーザ装置202から1つ又は複数のNLPモデルをダウンロードしてNLPモジュール130に追加するように構成されるNLPモデルダウンロードモジュール116を含む。一部の実施例では、音声制御機器102は、ユーザの音声入力から収集された音声コマンドデータを記憶して、1つ又は複数の電気機器の機能をそれぞれ制御するように構成される音声コマンドメモリ112を含む。一部の実施例では、音声制御機器102は、音声コマンドデータを音声コマンドメモリ112からユーザ装置202にアップロードして、対応するNLPモデルをそれぞれ更新するように構成される音声コマンドアップロードモジュール118を含む。
一部の実施例では、音声制御機器102は、音声制御機器102の様々な機能に電力を供給するように構成されるバッテリー110を含む。これらの機能は、音声通信インターフェース104をアクティブ化すること、ターゲット選択モジュール106を選択することでターゲット電気機器を選択すること、音声通信インターフェース104を介して音声入力を受信すること、NLPモジュール130を使用して音声入力を処理してターゲット電気機器に対する機械コマンドを取得すること、取得された機械コマンドをデータ通信インターフェース108を介して送信すること、ユーザ装置202への通信インターフェース114を介してユーザ装置(例えば、図2のユーザ装置202)と通信すること、NLPモデルダウンロードモジュール116を介してユーザ装置202からNLPモデルをダウンロードすること、ユーザ122から受信された音声コマンドを、音声制御機器102のNLPモデルを更新するためのトレーニングサンプルとして音声コマンドメモリ112に記憶すること、音声コマンドアップロードモジュール118を介して音声コマンドを音声コマンドメモリ112からユーザ装置202にアップロードすることを含むが、これらに限定されない。一部の実施例では、音声制御機器102は、電源に接続される時に、又は電源に接続された電気機器に結合される時に、バッテリー110を充電することができる。一部の実施例では、音声制御機器102は、ディスプレイ、ユーザ対話型ディスプレイ又はタッチセンシティブパネルを含めない。一部の実施例では、音声制御機器102は、現在の選択されたターゲット電気機器をユーザに視覚的に示すための1つ又は複数のインジケータを含むことができる。
図2は一部の実施例によるネットワーク構成200を示すブロック図であり、当該ネットワーク構成では、音声制御機器102はユーザ装置202と共に動作して音声制御機器102をカスタマイズする。一部の実施例では、オプションとして、ネットワーク構成200は、クライアント-サーバーモデルに従って実現される。一部の実施例では、ネットワーク構成200は、ホーム環境100(例えば、図1に示す台所環境)で動作する音声制御機器102及びユーザ装置202、ならびにクラウドネットワーク240を介してホーム環境100に通信可能に結合されたサーバーシステム220を含む。図1で論じられる一部の実施例では、ホーム環境100は、1つ又は複数の家庭用電気機器124(図2には示されていない)を含む。一部の実施例では、クライアント環境100(例えば、ホーム環境100)は、ユーザ装置202(例えば、スマートフォン、タブレットコンピュータ、パーソナルコンピュータ又は中央通信ハブ)をさらに含む。
一部の実施例では、サーバーシステム220は、1つ又は複数の処理モジュール、例えば、モデルトレーニングモジュール222、データベース224に記憶されたデータ及びモデル、クライアント228への入力/出力(I/O)インターフェース、及びI/Oと外部サービス230の間のI/Oインターフェースを含む。一部の実施例では、クライアント向けI/Oインターフェース228は、サーバーシステム220のクライアント向けの入力及び出力処理を促進する。例えば、オプションとして、対応する各電気機器のタイプの1つ又は複数の機能に関連する音声コマンドデータに基づいて、サーバーシステム220は、1つ又は複数の電気機器のタイプのためのモデルトレーニングサービスを提供する。データベース及びモデル224は、1つ又は複数のユーザ(ユーザ122を含む)からの音声コマンド、及び個々のユーザ及び/又はユーザ家庭に対するユーザデータ、例えば個人ユーザのアカウントデータ(例えば、画像、年齢、性別、特徴など)、及びユーザインターフェイスの構成好みと制限などを含む。一部の実施例では、モデルトレーニングモジュール222は、データベース224からのデータ及びモデルを使用して、電気機器のタイプに対するNLPモデルをそれぞれトレーニングする。
一部の実施例では、サーバーシステム220は、さらに、1つ(又は複数)のネットワーク240を介して外部サービス240(例えば、1つ(又は複数)の電気機器製造業者サービス、1つ(又は複数)の家庭用電気機器制御サービス、1つ(又は複数)のナビゲーションサービス、1つ(又は複数)のメッセージングサービス、1つ(又は複数)の情報サービス、1つ(又は複数)のカレンダーサービス、1つ(又は複数)のソーシャルネットワーキングサービスなど)と通信して、タスクを完了し、又は情報を取得する。外部サービス230へのI/Oインターフェースは、このような通信を促進する。
一部の実施例では、サーバーシステム220は、少なくとも1つのデータ処理機器及び/又はコンピュータの分散ネットワーク上に実現されてもよい。一部の実施例では、サーバーシステム220は、さらに、サードパーティサービスプロバイダ(例えば、サードパーティクラウドサービスプロバイダ)の様々な仮想装置及び/又はサービスを使用して、サーバーシステム220の基礎となるコンピューティングリソース及び/又はインフラストラクチャリソースを提供する。
1つ又は複数の通信ネットワーク240の例としては、ローカルエリアネットワーク(LAN)及びワイドエリアネットワーク(WAN)、例えばインターネットを含む。1つ又は複数の通信ネットワーク240は、様々な有線又は無線プロトコル、例えば、イーサネット、ユニバーサルシリアルバス(USB)、ファイアワイヤ(FIREWIRE)(登録商標)、グローバルシステムフォーモバイルコミュニケーションズ(GSM)、強化型データGSM環境(EDGE)、コード分割マルチアクセス(CDMA)、時間分割マルチアクセス(TDMA)、ブルートゥース、Wi-Fi、ボイスオーバーインターネットプロトコル(VoIP)、Wi-MAX、又は任意の他の適切な通信プロトコルを含む任意の既知のネットワークプロトコルを使用して実現してもよい。
ユーザ装置202の例としては、セルラー電話、スマートフォン、ハンドヘルドコンピュータ、ウェアラブルコンピューティングデバイス(例えば、ヘッドマウントディスプレイHMD)、パーソナルデジタルアシスタント(PDA)、タブレットコンピュータ、ノートブックコンピュータ、デスクトップコンピュータ、強化型汎用パケット無線サービス(EGPRS)携帯電話、メディアプレーヤー、ナビゲーション機器、ゲーム機、テレビ、リモコン、販売時点情報管理(POS)端末、オンボードコンピューター、電子書籍リーダー、オンサイトコンピューターキオスク、モバイル販売ロボット、ヒューマノイドロボット又はこれらのデータ処理装置又は他のデータ処理装置内の任意の2つ又は複数の組み合わせを含むが、これらに限定されない。
図2及び9Bを参照して論じられたように、対応するユーザ装置202は、サーバーシステム220のサーバー側モジュールで論じられたものと類似する機能を実行するための1つ又は複数のクライアントモジュールを含むことができる。対応するユーザ装置202は、サーバシステム220のデータベース224と類似する様々なタイプのデータを記憶するための1つ又は複数のデータベースをさらに含むことができる。
一部の実施例では、図2に示されない他のモジュールで、ユーザ装置202は、音声制御機器102に(例えば、無線で又はコネクタに基づく接続を介して)接続するように構成されるデバイス接続モジュール204を含む。一部の実施例では、ユーザ装置202は、音声制御機器102に対して初期構成を実行するように構成されるデバイス構成モジュール206をさらに含む。例えば、ユーザは、ユーザのニーズ及び/又は好みに応じて1つ又は複数の電気機器及び各電気機器の1つ又は複数の機能を選択して、自分又は自分の家族のために音声制御機器102をカスタマイズすることができる。一部の実施例では、音声制御機器202は、サーバーシステム220からのユーザの選択に従って1つ又は複数のNLPモデルをダウンロードするように構成されるNLPモデルダウンロードモジュール208を含む。一部の実施例では、ユーザ装置202は、ダウンロードされたNLPモデルを音声制御機器102のNLPモジュール130に追加するように構成されるNLPモデル追加モジュール210をさらに含む。一部の実施例では、ユーザ装置202は、音声制御機器102で収集されたユーザの音声コマンドに応じてNLPモデルを更新する(例えば、カスタマイズする)ように構成されるNLPモデル更新モジュール212を含む。例えば、NLPモデル更新モジュール212は、モデル関数の対応する重みを確定し、且つ収集されたユーザの音声コマンドサンプルに基づいて既存のモデル関数の対応する重みを調整することができる。一部の実施例では、ユーザ装置202は、音声制御機器102から1つ又は複数の電気機器を制御するためのユーザの音声コマンドデータを検索し、当該音声コマンドデータをサーバーシステム220にアップロードして、トレーニングし、及び/又はNLPモデルを更新するように構成される音声入力管理モジュール214を含む。一部の実施例では、ユーザ装置202は、NLPモデルをトレーニングするように構成されるNLPモデルトレーニングモジュール216を含む。一部の実施例では、ユーザ装置202のNLPモデルトレーニングモジュール216は、サーバーシステム220のモデルトレーニングモジュール222と類似する。
一部の実施例では、本明細書に記載されるように、本開示の音声制御機器をカスタマイズするためのNLPモデルトレーニング及び更新、ならびにユーザインターフェース構成は、サーバー220によって遠隔的に提供されるか、又はユーザ装置202によってローカルに提供され、及び/又はサーバー220とユーザ装置202の間の連携により共同で提供される。
上記の例は、説明のみを目的として提供される。以下に音声制御機器102及びユーザ装置202の機能のより多くの詳細は、それぞれ図4及び図7に示すフローチャートに従って説明される。
図3は一部の実施例による音声制御機器102に使用される電気機器のタイプ(例えば、図1のストーブ124(d))に対する例示的なNLPモデル310のブロック図である。本明細書で論じられたように、音声制御デバイス102内の対応するNLPモデル310(例えば、図1のNLPモデル132に対応する)は、テンプレートに基づくモデル又はステートマシンであり、対応する電気機器に関連する同じ数量の所定の操作に対応する限られた数量の音声コマンドタイプを処理するために使用されてもよい。例えば、図3に示すように、限られた数量の音声コマンドは、音声コマンド302-1「オン」、音声コマンド302-2「ファンをオンにしてください」、音声コマンド302-3「450Fに加熱してください」及び音声コマンド302-4「5分間加熱してください」を含む。ストーブ124(d)のこれらの機能の使用に関連するユーザの音声コマンドを含むデータサンプルは、他のユーザからのこれらの機能に関連する音声コマンドであれば、NLPモデル310をトレーニングするために使用されてもよい。したがって、ストーブ124(d)に関連する所定の操作に対応する同数の機械コマンドを取得することができる。これらの機械コマンドは、対応する操作を実行するようにストーブ124(d)によって識別されてもよい。例えば、コマンド320-1「xx5002xEP00」は音声コマンド302-1「オン」に対応し、コマンド320-2「xx5011110010」は、音声コマンド302-2「ファンをオンにしてください」に対応し、コマンド320-3「xx5120x1AF10」は音声コマンド302-3「450Fに加熱してください」に対応し、コマンド320-4「xx51140CE010」は、音声コマンド302-3「5分間加熱してくだし」に対応する。本明細書で論じられたように、異なる電気機器に対する別のNLPモデルについては、同じ音声コマンドは、当該別の電気機器で識別可能な異なる機械コマンドに対応する。
図3に示す音声コマンドと対応する機械コマンドは、例示的なものだけである。様々な実施例では、対応する電気機器を制御するための他の音声コマンド及び対応する機械コマンドも可能である。以下に音声制御機器102及びユーザ装置202の機能を使用するより多くの詳細は、それぞれ図4及び図7に示すフローチャートに従って説明される。
図4は一部の実施例による複数のタイプの電気機器のための音声制御に基づくユーザインターフェイスを提供する方法400のフローチャートである。一部の実施例では、方法400は、メモリ及び1つ又は複数のプロセッサを有する音声制御機器(例えば、図1の音声制御機器102)で実行される(402)。一部の実施例では、音声制御機器102は、内蔵のデータ通信インターフェース(例えば、図1のデータ通信インターフェース108)を含み、内蔵のデータ通信インターフェースは、複数のタイプの電気機器(例えば、図1の電気機器124(a)-(e))とのデータ通信を確立するように構成され、当該複数のタイプの電気機器は、異なる機械コマンドセットに応答して対応する電気機器操作を実行するように構成される。一部の実施例では、データ通信インターフェース108は、電気機器における対応するインターフェースに差し込まれたピン又はコネクタを使用して、コネクタに基づく通信を実現する。一部の実施例では、データ通信インターフェース108は、ブルートゥース、Wi-Fi、NFC、ZigBee、超音波、音響(acoustics)又は磁気共振を含むが,これらに限定されない無線通信を可能にする。一部の実施例では、異なるタイプの電気機器(異なる電気機器のブランド及びモデルを含む)のための特定の機械通信及びコマンドプロトコルに従って対応する機械コマンドセットをフォーマットする。一部の実施例では、各電気機器のタイプ(例えば、電気機器のブランド及びモデルを含む)は、それ自体の電気機器の機能セットを有する。
一部の実施例では、音声制御機器102は、内蔵の音声通信インターフェース(例えば、図1の音声通信インターフェース104)を含み、内蔵の音声通信インターフェースは、ユーザからの音声に基づく入力を受信するように構成される。一部の例では、内蔵の音声通信インターフェースは、内蔵のマイク及び音声録音装置を含む。
一部の実施例では、音声制御機器102は、音声制御機器102のメモリに記憶されたNLPモジュール(例えば、NLPモジュール130)をさらに含む。一部の実施例では、NLPモジュール130は、複数のNLPモデル(例えば、図1のNLPモデル132(a)-132(c))を含み、且つ対応するNLPモデルは、複数のタイプの電気機器のそれぞれに使用されるように構成される。一部の例では、第1のNLPモデルは、ストーブ(例えば、ストーブ124(d))のための音声コマンドを処理するために使用され、第2のNLPモデルは、冷蔵庫(例えば、冷蔵庫124(c))のための音声命令を処理するために使用され、第3のNLPモデルは、洗濯機のための音声コマンドを処理するために使用され、第4のNLPモデルは、乾燥機のための音声コマンドを処理するために使用される。一部の実施例では、NLPモジュール130は、音声制御デバイス102が制御するように構成されている各電気機器のタイプのための対応するNLPモデル132を有する。例えば、ユーザは、電気機器及び機能を選択し、且つ構成プロセスを通じて特定のNLPモデルを音声制御機器102にダウンロードする。一部の実施例では、各電気機器のタイプに対するNLPモデルは、音声入力を電気機器のタイプの対応する機械コマンドに直接分類する。特定の電気機器に関連するコマンドの数量が制限されるため、NLPモデル、小さな占有スペース及びより高い識別精度を有する。音声制御機器に複数のNLPモデルが含まれでも、音声制御機器は、過度のメモリ使用又はサーバーからのサポートなしに、すべてのNLPを依然としてローカルで実行することができる。
一部の実施例では、NLPモジュール130は、各カテゴリの電気機器に対して組み合せたNLPモデルを使用する。例えば、異なるブランド及びモデルのストーブは、カテゴリ1の電気機器に属し、異なるブランド及びモデルの冷蔵庫は別のカテゴリの電気機器に属する。各カテゴリの電気機器の組み合わせたNLPモデルをトレーニングして、電気機器カテゴリに対応する通用機能セットの音声コマンドを識別する。組み合わせたNLPモデルは、さらに、識別された音声コマンドを、当該電気機器カテゴリでの複数の異なる電気機器ブランド及び/又はモデルから選択された1つに対応する機械コマンド(例えば、特定の機械通信及びコマンドプロトコルに従ってフォーマットする)に変換するように構成される。同じカテゴリの電気機器は、電気機器機能において多くの重複があり、したがって、同じ電気機器カテゴリでの異なる電気機器ブランド及びモデルに対してNLPモデルのコマンド識別部分を組み合わせると、音声制御機器の全体的な処理及び記憶要件を減らすことに役立ち、組み合わせたNLPモデルの識別精度に悪い影響を与えない。
一部の実施例では、ポータブルの音声制御機器102は、グラフィカルユーザインターフェイス、ユーザ対話型ディスプレイ、タッチセンシティブパネル又はディスプレイを含めない。一部の実施例では、音声制御機器102は、小型LED又はLDCスクリーンを含むことができ、LED又はLDCスクリーンは、音声制御機器の状態情報、例えば、時間/日付、電源のオン/オフ、音声通信インターフェースのアクティブ/非アクティブ、現在どの電気機器に接続されているかを簡単に表示する。
方法400は、ユーザリクエストを検出して音声制御機器102の内蔵の音声通信インターフェース(例えば、図1の音声通信インターフェース104)をアクティブ化すること(404)を含む。方法400は、音声制御機器の内蔵の音声通信インターフェースをアクティブ化するようにユーザリクエストを検出したことに応答することであって、音声制御機器102の内蔵の音声通信インターフェース104をアクティブ化し、例えば、内蔵のマイクロフォン及び録音デバイスをアクティブ化してユーザからの音声入力を聞くこと(406)をさらに含む。方法400は、音声制御機器102の内蔵の音声通信インターフェース104を介して受信される1つ又は複数の音声に基づくコマンドのために、第1のターゲット電気機器(例えばオーブン、冷蔵庫、洗濯機、エアコンなど)を、1つ又は複数のターゲット選択基準に従って選択すること(410)をさらに含む。図5A-図5C、図5D-1、図5D-2、図5E-1及び図5E-2は、一部の実施例による音声制御機器102の音声通信インターフェース104をアクティブ化する様々な実施例を示すブロック図である。
一部の実施例では、1つ又は複数のターゲット選択基準は、アクティブ化されたデータ通信インターフェースを介して受信されたデータ通信に基づく。例えば、デバイスがデータ通信インターフェース108を介して電気機器とのデータ接続を確立すると、電気機器は、電気機器のタイプの識別子を送信する。一部の実施例では、ターゲット選択基準は、音声制御機器102の方向に基づく。例えば、音声制御機器102の各面(例えば、図5Bのデバイスのどちらの側が上を向くか)は、ある電気機器のタイプに関連付けられるように予め割り当てられる。一部の実施例では、ターゲット選択基準は、ユーザがどの電気機器選択ボタンを押すかに基づく。例えば、図5Aに示すように、各ボタンは、ある電気機器のタイプに関連付けられるように予め割り当てられており、且つどのボタンが押されるかをチェックすることにより、ターゲット電気機器を確定することができる。
一部の実施例では、ユーザリクエストを検出して内蔵の音声通信インターフェース104をアクティブ化することは、音声制御機器の予め定義された部分とのユーザインタラクションを検出することを含む。例えば、音声制御機器102は、音声制御機器102の外表面に設けられた複数のハードウェアアクティベーションボタン(例えば、図5Aの物理的ボタン502、504、506、508、510及び512)を含む。一部の実施例では、ユーザリクエストは、音声制御機器102のハードウェアアクティベーションボタン上でボタンを押すという形で現れることができる。
一部の実施例では、音声制御機器の予め定義された部分が第1のターゲット電気機器に関連付けられるように予め割り当てられるという確定に従って、音声制御機器102のターゲット選択モジュール106は、音声制御機器の内蔵の音声通信インターフェイスを介して受信された1つ又は複数の音声に基づく命令のために第1のターゲット電気機器を選択する。例えば、対応する物理的ボタン(図5A)を押し、次に、アクティブ化された内蔵の音声通信インターフェース104を介して受信される1つ又は複数の音声に基づくコマンドのために複数のタイプの電気機器内の対応するタイプの電気機器を選択する。
一部の実施例では、ユーザリクエストを検出して内蔵の音声通信インターフェース104をアクティブ化することは、音声制御機器の予め定義された配向状態を検出することを含む。一部の実施例では、ターゲット選択モジュール106は、音声制御機器の予め定義された配向状態が第1のターゲット電気機器に関連付けられるように予め割り当てられるという確定に従って、音声制御機器の内蔵の音声通信インターフェイスを介して受信される1つ又は複数の音声に基づく命令のために第1のターゲット電気機器を選択する。例えば、第1の面が上を向く場合、第1の面に関連付けられた電気機器のタイプの電気機器(例えば、冷蔵庫)をターゲット電気機器として選択する。又は、第2の面が上を向く場合、第2の面に関連付けられた電気機器のタイプの電気機器(例えば、電子レンジ)をターゲット電気機器として選択する。一部の実施例では、音声制御機器102は、ジャイロスコープ(例えば、図5Bのジャイロスコープ520)を含み、音声制御機器102の外表面に設けられた複数の面(例えば、図5Bのファセット522、524及び526)を有する。一部の実施例では、各面は、複数のタイプの電気機器のうちの電気機器のタイプに関連付けられるように予め指定される。例えば、面522は、冷蔵庫に関連付けられるものとして予め指定されており、面524は、ストーブに関連付けられるものとして予め指定されており、面526は、電子レンジに関連付けられるものとして予め指定される。一部の実施例では、ユーザリクエストは、音声制御機器102の向きを変更し、例えばデバイスを上下に反転させ、又はデバイスを所望の電気機器のタイプに対応する特定の向きに変更することを含む。
一部の実施例では、データ通信インターフェース108をアクティブ化することに応答して、内蔵の音声通信インターフェース104はアクティブ化される。例えば、図5Cに示すように、音声制御機器102は、電気機器(例えば、図5Cのストーブ124(d))の通信インターフェース(例えば、図5CのUSB接続530)に挿入されて、音声制御機器102がストーブ124(d)とのデータ通信を行うことができるようにする。別の例では、図5D-1に示すように、音声制御機器102は、電子レンジ124(b)に非常に近い(例えば、近づく)個所に配置され、又は電子レンジと直接接触して(例えば、電子レンジに直接配置されて)音声制御機器102と電子レンジ124(b)との間のNFC540をアクティブ化する。データ通信をアクティブ化することに応答して、音声通信インターフェース104がアクティブ化されて、1つ(又は複数)の電気機器を制御するためのユーザ音声コマンドを受信する。一方、図5D-2に示すように、音声制御機器102が電子レンジ124(b)から離れすぎると、音声制御機器102と電子レンジ124(b)との間にNFCが確立されない。
一部の実施例では、図5E-1及び図5E-2に示すように、音声制御機器102が、電気機器(例えば、冷蔵庫124(c))の表面に付着できる磁石550を含む場合、内蔵の音声通信インターフェース104はアクティブ化される。冷蔵庫124(c)への磁石550の付着は、スイッチ552を閉じることを引き起こすことができ、これにより、音声通信インターフェース104のアクティブ化をさらにトリガーする。
本明細書に開示されるように、一部の実施例では、ユーザリクエストを検出して内蔵の音声通信インターフェースをアクティブ化することは、音声制御機器が複数のタイプの電気機器のうちの対応するタイプの電気機器に物理的に結合される(例えば、磁気的に付着したり(例えば、図5E-1及び図5E-2)、コネクタ(例えば、図5のUSB)を介して接続されたりする)ことを検出することを含む。一部の実施例では、1つ又は複数のターゲット選択基準は、音声制御機器102が電気機器(例えば、図5Cのオーブン124(d)、図5D-1及び5D-2の電子レンジ124(b)、図5E-1及び図5E-2の冷蔵庫124(c))に物理的に結合されるという確定に従って、電気機器が第1のターゲット電気機器として選択されることを要求する。一部の実施形態では、音声制御機器102は、内蔵のデータ通信インターフェース108をアクティブ化して、音声制御機器102とターゲット電気機器との間の物理的接続により機械コマンドを第1のターゲット電気機器に伝送する。
一部の実施例では、ユーザリクエストを検出して内蔵の音声通信インターフェースをアクティブ化することは、音声制御機器が複数のタイプの電気機器のうちの対応するタイプの電気機器の閾値距離内に持ち込まれたことを検出することを含む。一部の実施例では、音声制御機器は、モーションセンサーを備えており、且つユーザがそれを手に取り、部屋の中で歩くときにユーザと一緒に移動すると、音声制御機器は、アクティブ化されて、電気機器からの通信リクエストを聞く。連続電源に差し込まれた電気機器は、音声制御機器に通信リクエストを周期的に送信することができ、且つ音声制御機器が特定の電気機器の閾値距離内に持ち込まれた場合、特定の電気機器の通信リクエストは、音声制御機器によって聞かれる。一部の実施例では、ユーザが電気機器上の予め定義されたボタンをアクティブ化する場合(音声制御機器がユーザのポケットにあり、ユーザが特定の電気機器の隣に立っており、且つユーザが電気機器上の音声制御アアクティベーションボタンを押す場合)、特定の電気機器は、音声制御機器に通信リクエストを送信する。一部の実施形態では、音声制御機器は、センサー、例えば、物体/障害物検出センサー(例えば、赤外線センサー、レーダー又は超音波センサー)を備えて、音声制御機器を持つユーザが電気機器の閾値距離内で歩くと電気機器を検出する。
一部の実施例では、音声制御機器が第1のターゲット電気機器の閾値距離内(例えば、図5D-1及び図5D-2)にあるという検出に従って、ターゲット選択モジュール106は、音声制御機器の内蔵の音声通信インターフェイスを介して受信された1つ又は複数の音声に基づく命令のために第1のターゲット電気機器を選択する。一部の実施例では、音声制御機器はさらに、通信リクエストに基づいて検出された物体のサイズ、形状、位置に基づいて電気機器のタイプを識別するように構成される。
一部の実施例では、方法400は、音声制御機器の内蔵の音声通信インターフェースをアクティブ化するようにユーザリクエストを検出したことに応答して、内蔵のデータ通信インターフェースをアクティブ化することをさらに含み、内蔵のデータ通信インターフェースは、複数のタイプの電気機器のうちの1つ又は複数の電気機器に機械コマンドを送信するように構成される。一部の実施例では、エネルギー消費を節約するために、音声制御機器の内蔵のデータ通信インターフェースは常に開いていない。一部の実施例では、内蔵の音声通信インターフェースがアクティブ化される場合、内蔵のデータ通信インターフェースはアクティブ化される。一部の実施例では、内蔵の音声通信インターフェースが無効になる場合、内蔵のデータ通信インターフェースは、無効になる(例えば、スリープ状態に入り、自動的に非アクティブ状態になる)。一部の実施例では、音声制御機器が1つ又は複数のデバイス(例えば、電気機器)と無線で通信する場合、内蔵のデータ通信インターフェースがアクティブ化されて、任意の他の通信可能なデバイス/機器と通信することができる。一部の実施例では、内蔵のデータ通信インターフェースは、複数のデバイス及び/又は機器とそれぞれ通信するための複数の通信チャネル(又は周波数帯域)を含む。例えば、対応する通信チャネルは、異なるデバイスとの通信間の干渉を低減するために、別の通信チャネルとは異なる周波数範囲を有することができる。一部の実施例では、音声制御機器が電気機器に物理的に結合される場合(例えば、図5C、図5D-1、図5D-2、図5E-1及び図5E-2を参照して論じられたように)、又は、電気機器に関連付けられるように予め割り当てられた、対応する物理的特性がトリガーされる場合(例えば、図5A-5Bを参照して論じられたように)、内蔵のデータ通信インターフェースがアクティブ化される。
一部の実施例では、方法400は、アクティブ化された内蔵のデータ通信インターフェースを介して、第1のターゲット電気機器の電気機器のタイプを識別ための電気機器のタイプの識別子を含むメッセージを受信し、音声制御機器の内蔵の音声通信インターフェースを介して受信される1つ又は複数の音声に基づくコマンドのために第1のターゲット電気機器を選択することをさらに含む。一部の実施例では、内蔵のデータ通信インターフェースがアクティブ化された後、音声制御機器は、内蔵のデータ通信インターフェースを介してメッセージを受信して、ターゲット電気機器として選択される電気機器の電気機器のタイプを識別する。一部の実施例では、音声制御機器が電気機器に物理的に結合される場合、音声制御機器は、音声制御機器とターゲット電気機器として選択される電気機器との間の物理的結合方法(例えば、USB)によりメッセージを受信する。一部の実施例では、音声制御機器は、ターゲット電気機器として選択される電気機器からメッセージを受信する。一部の実施例では、アクティブ化された内蔵のデータ通信がユーザ装置(例えば、携帯電話、タブレットコンピュータ、パーソナルコンピュータなど)と通信できる場合、音声制御機器は、ユーザ装置から、ターゲット電気機器を識別するためのメッセージを受信する。例えば、音声制御機器に関連するアプリケーションプログラム又はターゲット電気機器に関連する電気機器を使用する場合、ユーザ装置上に表示される電気機器のリストからターゲット電気機器の電気機器のタイプを選択することにより、ユーザは、ユーザ装置からメッセージを送信する。一部の実施例では、音声制御機器の内蔵の音声通信インターフェースは、持続的又は周期的にオンになり、且つ音声制御機器は、ターゲット電気機器として選択される電気機器の電気機器のタイプを識別するためのメッセージを受信することにより、ターゲット電気機器を選択する。つまり、本明細書に開示されるように、ターゲット電気機器の選択は、内蔵のデータ通信インターフェースのアクティブ化と関連しなくてもよい。
一部の実施例では、ユーザリクエストを検出して音声インターフェースをアクティブ化する方法は、ターゲット電気機器を選択する方法に関連付けられる。一部の実施例では、これらの2つの方面は互いに関連する必要がない。例えば、ユーザが音声制御機器のみを冷蔵庫に付着させることは、音声通信インターフェイスをアクティブ化するためだけである。次に、音声制御機器上の冷蔵庫に関連付けられるように予め割り当てられた、予め定義されたボタンを押すことにより、冷蔵庫は、ターゲット電気機器として選択される。別の例では、データ通信インターフェースは物理的アクセサリによって(例えば、USBによって)アクティブ化され、次に音声制御機器は、冷蔵庫から冷蔵庫識別子を含むメッセージを受信し、次に音声制御機器は、冷蔵庫をターゲット電気機器として選択する。さらに別の例では、音声制御機器は、簡単な音声コマンドを理解できるNLPトレーニング済みモデルを含む。音声通信インターフェースがアクティブ化された後、ユーザは、「冷蔵庫」と言うことができる。音声制御機器は、このような簡単なコマンドを理解することができ、且つターゲット選択モジュールは、冷蔵庫をターゲット電気機器として引き続き選択して、次のことを実行する。
一部の実施例では、ユーザリクエストを検出して内蔵の音声通信インターフェースをアクティブ化する前に、音声制御機器102の内蔵の音声通信インターフェース104は非アクティブである。一部の実施例では、低エネルギー消費及びユーザプライバシー保護という目的のために、音声制御機器は常に聞いていない。内蔵の音声通信インターフェイス及び関連のハードウェア(例えばマイク)は、トリガーイベント(例えば、音声通信インターフェイスをアクティブ化するためのユーザリクエスト)が受信される前に非アクティブである。つまり、ユーザが音声入力をランダムに与える場合、音声制御機器は音声入力に応答しない。一部の実施例では、内蔵の音声通信インターフェースは、所定のスケジュールに従って周期的に目覚め、例えば、午前11時の昼食準備時間中に、午後12時30分に非アクティブ状態に入り、平日の午後5時から午後7時までの夕食時に目覚めることができる。
一部の実施例では、内蔵の音声通信インターフェースがアクティブ化された後、方法400は、所定の期間内に内蔵の音声通信インターフェース104をアクティブ状態に維持することをさらに含む。例えば、所定の時間(例えば、1分間、2分間、3分間、5分間又は10分間)内に音声入力が受信されない場合、内蔵の音声通信インターフェース104は、非アクティブ状態になる。一部の例では、内蔵の音声通信インターフェイスを無効にするユーザリクエスト(例えば、ボタンを押してマイクロフォンをオフにすること、面を変えること、音声制御機器をターゲット電気機器からオフフック/デタッチすること、音声制御機器の位置を、ターゲット電気機器の範囲を超えるように変更すること)が受信されるまで、内蔵の音声通信インターフェイス104は非アクティブ状態になる。
一部の実施例では、内蔵のデータ通信インターフェース108は、ブルートゥース、Wi-Fi、NFC、ZigBee、超音波、音響(acoustics)及び磁気共振という無線通信プロトコールを含むグループから選択された無線通信プロトコールに対応する。
一部の実施例では、第1の音声入力を受信する前に、方法400は、複数の電気機器のタイプに対する複数の電気機器の機能セットのそれぞれのユーザ選択に従って、内蔵のNLPモジュール130において複数のNLPモデルを取得して取り付けることをさらに含む。各NLPモデルは、対応する電気機器のタイプの対応する電気機器の機能セットに対応する。一部の実施例では、1つ又は複数のユーザからの音声コマンドデータに基づいて対応するNLPモデルをトレーニングして、対応する電気機器の機能セットを実行するように対応する電気機器のタイプの対応する電気機器を制御する。
一部の実施例では、方法400は、1つ又は複数のターゲット選択基準に従って第1のターゲット電気機器を選択した後、第1のターゲット電気機器との第1の無線データ通信を確立することをさらに含む。例えば、第1のターゲット電気機器が選択された後、音声制御機器は、ブルートゥース又はNFCを介して第1のターゲット電気機器とペアリングされる。
一部の実施例では、方法400は、第2のユーザリクエストを検出して第1のターゲット電気機器から第2のターゲット電気機器に切り替えることであって、当該第2のターゲット電気機器が音声制御機器の内蔵の音声通信インターフェースを介して1つ又は複数の音声に基づく命令を使用してユーザによって制御されることをさらに含む。一部の例では、ユーザは、音声制御機器を第1の電気機器(例えば、冷蔵庫)から取り外し、次にそれを第2の電気機器(例えば、電子レンジ)に付着させる。一部の実施例では、ユーザは、別の物理的ボタンを押すか、又は異なる配向状態に変更することができ、当該異なる配向状態は、それぞれ、第1のターゲット電気機器の電気機器のタイプからの異なる電気機器のタイプに関連付けられる。一部の実施例では、第2のユーザリクエストを検出することに応答して、方法400は、内蔵の音声通信インターフェースを介して受信される1つ又は複数の音声に基づくコマンドのために第2のターゲット電気機器を選択することと、第1のターゲット電気機器との第1のデータ通信を無効にすることと、第2のデータ通信を確立して機械コマンドを第2のターゲット電気機器に送信することとを含む。したがって、本開示では、エネルギー消費を節約し、複雑なデータ通信ハードウェア/ソフトウェア構成を回避するために、一度に1つのターゲット電気機器への接続が確立される。
内蔵の音声通信インターフェイスがアクティブに維持されかつ現在の選択された第1のターゲット電気機器が変えないように維持される場合(例えば、音声制御機器が異なる電気機器に移動されない場合、又は異なるターゲット電気機器に対するターゲット選択基準を満たす他の変更が行われない場合、およびマイクロフォンがアクティブ化されてからタイムアウト期間が満了していない場合)、方法400は、音声制御機器の内蔵の音声通信インターフェースを介して第1の音声入力(例えば、「電源をオンにしてください。」、「オーブンをオフにしてください。」、「電力を高く設定してください。」、「ファンをオンにしてください。」、「朝の操作プロファイルを起動してください。」、「省電力モードをアクティブ化してください。」など)を受信すること(412)を含む。第1の音声入力を受信すること(414)に応答して、方法400は、第1のターゲット電気機器(例えば、第1のターゲット電気機器がストーブである)が第1の電気機器のタイプの第1の電気機器であるという確定に従って、第1の電気機器のタイプに対応する内蔵NLPモジュールの第1のNLPモデル(例えばストーブの機能に対応する音声コマンドのみでトレーニングされた言語モデル)を使用して第1の音声入力(例えば、「ファンをオンにしてください。」)を処理して、第1の機械コマンド(例えば、機械コマンドxx5002xEP00)を取得し、および内蔵のデータ通信インターフェースを介して第1の機械命令を第1の電気機器(例えば、ストーブ)に送信すること(416)を含む。第1のターゲット電気機器(例えば、ターゲット電気機器がエアコンである)が第1の電気機器のタイプとは異なる第2の電気機器のタイプの第2の電気機器であるという確定に従って、方法400は、第2の電気機器のタイプに対応する内蔵のNLPモジュールの第2のNLPモデル(例えば、エアコンの機能に対応する音声コマンドのみでトレーニングされた言語モデル)を使用して第1の音声入力(例えば、「ファンをオンにしてください。」)を処理して、第2の機械コマンド(例えば、機械コマンドxx5011110010)を取得し、および内蔵のデータ通信インターフェースを介して第2の機械命令を第2の電気機器に送信すること(418)を含む。
図6A~図6Bは一部の実施例による音声制御機器102を使用して複数のタイプの電気機器を制御する様々な操作シーンを示すブロック図である。一部の実施例では、音声制御機器が第1のターゲット電気機器である電子レンジ124(b)の近くに付着又は配置される場合、ユーザは、音声コマンド602「電源をオンにしてください」を発声する。音声制御機器は、電子レンジ124(b)に対応するNLPモデルを使用して、音声コマンド602を処理して、機械コマンド604 xx5002xEP00を取得して、電子レンジ124(b)の電源をオンにする。ターゲット電気機器が第1の電気機器である電子レンジ124(b)から第2のターゲット電気機器であるストーブ124(d)に切り替えられた後、音声制御機器は、電子レンジ124(b)に対応する他のNLPモデルを使用して音声コマンド612「電源をオンにしてください」を処理して、機械コマンド614xx5170xAB14を取得して、電子レンジ124(b)をオンにする。
一部の実施例では、音声制御機器のNLPモデル選択モジュール134は、メモリに記憶されたNLPモデルレジストリ136に基づいて、内蔵のNLPモジュール130に記憶された複数のNLPモデルから対応するNLPモデルを選択する。例えば、NLPモデルレジストリ136は、複数の電気機器のタイプの識別子にそれぞれ関連付けられた複数のNLPモデルの識別子を記憶する。NLPモデルレジストリ136は、初期設定プロセスに作成/カスタマイズされてもよく(例えば、ユーザによってカスタマイズされてもよい)、且つユーザが1つ又は複数のNLPモデルを削除又は追加して1つ又は複数の電気機器の機能セットを制御したいときに更新されてもよい。第1の電気機器のタイプの第1の識別子を識別した後(例えば、ターゲット電気機器を選択するとき)、デバイスは、対応するNLPモデルの識別子をNLPモデルレジストリ136から検索し、次に対応するNLPモデルをNLPモジュール130モデルから検索して、音声入力を処理する。
一部の実施例では、第1のターゲット電気機器を選択することは、内蔵のNLPモジュールが第1のターゲット電気機器の電気機器のタイプに対応するNLPモデルを記憶するか否かを確定することをさらに含む。例えば、NLPモデルレジストリには、電気機器のタイプIDにそれぞれ関連付けられた複数のNLPモデルのモデルIDが示される。例えば、第1のターゲット電気機器の電気機器のタイプの識別子が受信された後、NLPモジュールは、そのレジストリをチェックして、当該特定の電気機器のタイプのためにNLPモデルが記憶されるか否かを確認する。内蔵のNLPモジュールに第1のターゲット電気機器の電気機器のタイプに対応するNLPモデルが記憶されるという確定に従って、NLPモデル選択モジュール134は、第1のターゲット電気機器の電気機器のタイプに対応するNLPモデルを選択する。内蔵のNLPモジュールに第1のターゲット電気機器の電気機器のタイプに対応するNLPモデルが記憶されないという確定に従って、音声制御機器は、エラーメッセージを第1のターゲット電気機器に返信する。例えば、それから、電気機器は、NLPモデルがないことをユーザに通知し、且つユーザの携帯電話を使用してNLPモデルサーバーからNLPモデルを検索することをユーザに提案する。一部の実施例では、音声制御機器に記憶された1つ(又は複数)のNLPモデル(例えば、レジストリに示される)が更新される場合、電気機器(または音声制御機器に結合されたユーザ装置)は、ユーザに通知することもできる。
一部の実施例では、音声制御機器は、バッテリー110をさらに含み、方法400は、第1のターゲット電気機器とのデータ通信を確立することに応答して、第1のターゲット電気機器が内蔵のデータ通信インターフェースを介して音声制御機器のバッテリー110を充電することをさらに含む。例えば、音声制御機器は、USB又は電気機器に接続されたケーブルを介して充電される。別の例では、バッテリーは、内蔵のデータ通信インターフェースを介して無線で充電されることができるため、他の電源コードが必要ではない。例えば、充電は、ターゲット電気機器とのデータ通信インターフェースをアクティブ化することに応答して、又はターゲット電気機器を選択することに応答して実行されてもよい。例えば、一部の実施例では、音声制御機器は、バッテリーを含まなくてもよく、ここで、音声制御機器が電気機器に接続されてコンデンサを介して又は無線(例えばRF無線充電)で電力を受信する場合のみ、当該音声制御機器は、電力を有し、そして、音声制御機器は、小型無線充電モジュールを有する必要があり、当該モジュールは、受信コイルを含み、RF信号の磁場を受信してそれを交流電流として伝送し、次に整流器によって交流電流を直流電流に変換し、それによってバッテリーを充電する。
一部の実施例では、音声制御機器のバッテリへの充電を(例えば、電気機器との有線又は無線の結合により)開始することに応答して、方法400は、データ通信リクエストメッセージをブロードキャストしてユーザ装置を検索することであって、ここで、ユーザ装置が第1のNLPモデル及び第2のNLPモデルを含む複数のNLPモデルをトレーニングするNLPモデルサーバーと通信するように構成されることをさらに含む。一部の実施例では、初期カスタマイズプロセスに、音声制御機器は、音声制御機器と予めペアリングされた/予め関連されたユーザ装置(例えば、ユーザ装置の識別子が音声制御機器内のレジストリに記憶されている)によって受信され得る信号をブロードキャストする。デバイスが閾値時間内に電話を見つけることができないと、デバイスは休止して充電を開始する。
一部の実施例では、方法400は、1つ又は複数の電気機器の管理に関連する1つ又は複数のユーザの音声入力から音声データをそれぞれ収集する(例えば、音声サンプルを収集して、1つ又は複数のタイプの電気機器に対して1つ又は複数のNLPモデルをトレーニング及び更新する)ことをさらに含む。音声制御機器がユーザ装置(当該ユーザ装置は、第1のNLPモデル及び第2のNLPモデルを含む複数のNLPモデルをトレーニングするように構成されるNLPモデルサーバーと通信することができる)とのデータ通信接続を確立したという確定に従って、方法400は、収集された音声データをユーザ装置に送信して、NLPモデルサーバーに転送して1つ又は複数の電気機器のタイプの1つ又は複数の電気機器に対応する1つ又は複数のNLPモデルをそれぞれ更新することを含む。一部の実施例では、音声制御機器が携帯電話に結合される場合(例えば、初期設定/カスタマイズプロセスに又は充電期間に、デバイスは携帯電話を検索して見つけた場合)、音声制御機器は、最新の音声入力データを携帯電話にアップロードし、携帯電話は、音声入力データをNLPサーバーに転送して、対応するNLPモデルをトレーニング及び更新する。一部の実施例では、方法400は、収集された音声データをユーザ装置にアップロードしてから所定の期間が経過した後、例えば、音声制御機器上の記憶空間を解放するように、収集された音声データを音声制御機器から削除することを含む。一部の実施例では、方法400は、音声データを収集してから所定の期間が経過した後、例えば、音声制御機器上の記憶空間を解放するように、収集された音声データを音声制御機器から削除することを含む。
図4に記載される操作の特定の順序が単なる例示であり、記述された順序が操作を実行できる唯一の順序であることを示すことを意図するものではないことを理解すべきである。当業者は、本明細書に記載の操作を並べ替える様々な方式を認識する。また、本明細書に記載された他の方法及び/又はプロセスに関して、本明細書に記載された他のプロセスの詳細も類似する方式で上記の方法400に適用され得ることに留意すべきである。
図7は一部の実施例による複数のタイプの電気機器のためのポータブルの音声制御に基づくユーザインターフェイスをカスタマイズする方法700のフローチャートである。図8A~図8Gは一部の実施例による複数のタイプの電気機器のためのポータブルの音声制御に基づくユーザインターフェイスをカスタマイズするためのシステム及びユーザインターフェイスの例を示す図である。一部の実施例では、方法700は、1つ又は複数のプロセッサ、メモリ及びディスプレイを有するユーザ装置202(例えば、スマートフォン又はタブレットデバイス又はデスクトップコンピュータ)で実行される。一部の実施例では、方法700は、音声制御機器102とのデータ通信接続を確立すること(702)を含む。本明細書で論じられる一部の実施例では、音声制御機器102は、複数のタイプの電気機器(例えば、ストーブ、冷蔵庫、電子レンジ、洗濯機、衣類乾燥機、エアコンなど)とのデータ通信を確立するように構成され、当該複数のタイプの電気機器が異なる機械コマンドセットに対応して(例えば、異なるタイプの電気機器(異なる電気機器製造業者及びモデルを含む)の特定の機械通信及びコマンドプロトコルに従って対応する機械コマンドセットをフォーマットする)、対応する電気機器操作(例えば、各電気機器のタイプ(例えば、電気機器製造業者及びモデル)が自分の電気機能セットを有する)を実行するように構成される内蔵のデータ通信インターフェース(例えば、図1のデータ通信インターフェース108)と、ユーザからの音声に基づく入力を受信するように構成される内蔵の音声通信インターフェース(例えば、図1の音声通信インターフェース104)と、音声制御機器のメモリに記憶された内蔵のNLPモジュール(例えば、図1のNLPモジュール130)とを有し、ここで、NLPモジュールが、複数のNLPモデルを記憶し、且つ現在の受信された音声入力に対して指定されたターゲット電気機器に応じて前記複数のNLPモデルのうちの対応する1つのNLPモデルを選択的に使用するように構成される。
一部の実施例では、データ通信接続の確立は、ユーザによって駆動される。例えば、ユーザは、デバイスの箱を開けて手動でデバイスをユーザ装置に接続するか、又はデバイス上のボタンを押してユーザ装置に関連付けられた面を向いて、ユーザ装置に無線接続(例えば、ブルートゥースでペアリング)する。別の例では、ユーザは、まずユーザ装置でデバイス管理に関連付けられたアプリケーションプログラムを開き、機能リストを閲覧してから、クリックしてデバイスに「接続」する。この場合、音声制御機器がユーザ装置に物理的に接続されるか、又は「聞く」ように手動でトリガーされない限り、音声制御機器は聞くことができることが要求される。一部の実施例では、データ通信接続の確立は、デバイスによって駆動される(例えば、音声制御機器は、充電を開始して、ユーザ装置を検索する)。
一部の実施例では、方法700は、第1のユーザリクエストを検出して音声制御機器のNLPモジュールを更新すること(704)を含む。一部の例では、リクエストは、音声制御機器に対応するユーザアプリケーションプログラムを開き、且つユーザアプリケーションプラグラムのグラフィカルユーザインターフェースから機能更新を選択し、又はユーザ装置に表示されるプロンプト/通知に応答するという形である。例えば、図8Aに示すように、ユーザ装置202のユーザインターフェース800上に複数のアプリケーションプログラムアイコンが表示される。ユーザ装置202は、ユーザジェスチャ806を検出して音声制御機器に対応するGUI(グラフィカルユーザインターフェース)800上に表示されるアプリケーション804(「美的アプリケーション」)を開く。一部の実施例では、第1のユーザリクエストを検出して音声制御機器のNLPモジュールを更新すること(706)に応答して、方法700は、音声制御機器に対応するNLPモデルサーバー(例えば、図2のサーバー220)との接続を確立すること(708)をさらに含む。例えば、図2に示すように、ユーザ装置は、1つ(又は複数)のネットワーク240を介してNLPモデルサーバー220に接続される。
一部の実施例では、方法700は、ディスプレイ上のグラフィカルユーザインターフェース(例えば、図8Bから図8Cのグラフィカルユーザインターフェース800)に、電気機器のタイプのリスト(図8Bの美的家庭用電気機器830)及び各電気機器のタイプの対応する電気機器機能のリスト(図8Cの美的家庭用電気機器及び機能840)を表示すること(710)をさらに含む。例えば、図8Bに示すように、ユーザは、家庭用電気機器リストからエアコン、電子レンジ及び冷蔵庫を選択し(832)、これは、ユーザが音声制御機器102上に対応するNLPモデルを取り付けたいことを示し、」ユーザは、音声制御機器102を介して音声コマンドを使用してこれらの電気機器を制御することができる。
一部の実施例では、方法700は、グラフィカルユーザインターフェースに表示される、第1の電気機器のタイプに対する第1の電気機器の機能セット及び第2の電気機器のタイプのための第2の電気機器の機能セットのユーザ選択を受信すること(712)をさらに含む。例えば、図8Cに示すように、ユーザは、エアコンに関連するすべての機能を選択し、その結果、すべての音声コマンドを使用してエアコンを制御するための完全なNLPモデルは、音声制御機器102に追加される。一方、ユーザは、電子レンジに対してすべての機能ではなく、一部の機能を選択する。例えば、ユーザは、予めプログラムされた調理モード機能を使用したくない可能性がある。逆に、ユーザは、電源のオン/オフに加えて、電子レンジを使用するときに、通常、温度、電力レベル、タイミングを調整する。したがって、カスタマイズされたNLPモデルは、音声制御機器102に追加されて、「調理モードのオン/オフ」機能を除外するユーザのニーズに適応し、且つ音声コマンドを使用して、電子レンジに対して選択された機能のみを制御する。
一部の実施例では、方法700は、第1の電気機器のタイプに対する第1の電気機器の機能セット及び第2の電気機器のタイプに対する第2の電気機器の機能セットのユーザ選択を受信すること(714)に応答することであって、NLPモジュールサーバー(例えば、図2のサーバーシステム220)から第1の電気機器のタイプに対する第1の電気機器の機能セットについての音声コマンドでトレーニングされた第1のNLPモデルと、第2の電気機器のタイプに対する第2の電気機器の機能セットについての音声コマンドでトレーニングされた第2のNLPモデルとをダウンロードするをダウンロードすること(716)をさらに含む。
一部の実施例では、ユーザが他の電気機器のタイプに対する電気機器機能についての音声コマンドでトレーニングされたNLPモデルを選択しないと、それらは、サーバーからダウンロードされない。一部の実施例では、ユーザ入力は、ダウンロードされたNLPモデルを削除するためのユーザリクエスト(例えば、音声制御機器に記憶されたNLPモデルもグラフィカルユーザインターフェイスにおける電気機器のタイプ及び電気機器機能のリストに(例えば、選択又は選択された形で)表示される)を含み、リクエスト(例えば、ユーザはダウンロードされた特定のNLPモデルのために電気機器のタイプの選択をキャンセルする)に応答して、ユーザ装置は、削除信号を音声制御機器に送信して、ユーザによって選択された削除すべきNLPモデルを削除する。
一部の実施例では、方法700は、ダウンロードされた第1のNLPモデル及び第2のNLPモデルを音声制御機器のNLPモジュール(例えば、図1のNLPモジュール130)に追加すること(718)をさらに含む。一部の実施例では、方法700は、第1のNLPモデル及び第2のNLPモデルのためにレジストリ識別子を確立し、且つレジストリ識別子をNLPモジュール130のNLPモデルのメインテーブルに記憶することをさらに含む。一部の実施例では、方法700は、NLPモジュール130と第1及び第2のNLPモデル132との間の入力及び出力インターフェースを確立して、NLPモジュール130が現在の受信された音声入力に対して指定されたターゲット電気機器に応じて、音声制御機器上に記憶された既存のNLPモデルのうちの第1のNLPモデル及び第2のNLPモデル132を選択的に使用することができるようにすることをさらに含む。
一部の実施例では、音声制御機器とのデータ通信接続を確立することは、音声制御機器が音声制御機器のバッテリーを充電している場合、音声制御機器からデータ通信リクエストを受信することを含む。例えば、図8Eに示すように、音声制御機器102を差し込んで充電する場合、音声制御機器102は、ユーザ装置202の検索を開始する。一部の実施例では、音声制御機器102が(例えば、以前の接続から確立された関係に基づいて)ユーザ装置202を見つける場合、ユーザ装置202は、プロンプト860(例えば、「音声制御機器が接続したい」)を表示して、ユーザ装置202に接続するための音声制御機器のリクエストに対するユーザの応答を問い合わせる。一部の実施例では、ユーザがユーザインターフェース800上で866「許容」864を選択した後、ユーザ装置202は、音声制御機器102との(例えば、無線)データ通信を確立する。次に、ユーザは、ユーザ装置202と対話してNLPモデルを更新し、及び/又は音声制御機器102は、記憶されたトレーニングデータをユーザ装置202にアップロードする。
一部の実施例では、音声制御機器をユーザ装置に接続させることに応答して、第1のユーザリクエストを検出して音声制御機器のNLPモジュール130を更新する。例えば、図8Dに示すように、音声制御機器102は、無線通信方法又はUSB接続によりユーザ装置102に通信可能に結合される。音声制御機器102とユーザ装置102との間のデータ通信が確立された後、ユーザ装置202は、プロンプト885060(例えば、「音声制御機器が接続され、NLPモジュールを更新する必要があるか否か」)を表示して、NLPモジュールの更新リクエストに対するユーザの応答を問い合わせる。一部の実施例では、ユーザがユーザインターフェース800上で856「確認」854を選択した後、ユーザ装置は、音声制御機器102内のNLPモジュール130を更新し続ける。
一部の実施例では、第1のユーザリクエストを検出して音声制御機器のNLPモジュールを更新することは、前記ユーザ装置内の音声制御機器を管理するためのユーザアプリケーションプログラムを起動するためのユーザ入力を検出することと、ユーザアプリケーションプログラムに対するグラフィカルユーザインターフェイスに表示される機能更新のユーザ選択を検出することとを含む。一部の実施例では、音声制御機器の更新されたNLPモジュールは、初めて設けられるデバイスであってもよく、又は既存のNLPモデルを後で更新/調整したものであってもよい。
一部の実施例では、方法700は、音声制御機器で第1のNLPモデルをNLPモジュールに追加した後、音声制御機器とのデータ通信接続を確立することをさらに含む。これは、デバイスを設けるための初期のデータ通信接続の後に実行される。例えば、ユーザは、音声制御機器をユーザ装置に挿入したり、アプリケーションプログラムを使用して音声制御機器への無線接続を選択したりすることができ、音声制御機器は、バッテリーを充電する時にユーザ装置を検索して、ユーザに通知するようにプロンプトすることができる。方法700は、音声制御機器からユーザからの1つ又は複数の音声コマンドの音声データを受信して、第1の電気機器のタイプに対する第1の電気機器の機能セットを制御することと、NLPモデルサーバーとの接続を確立した後、音声データを音声制御機器に対応するNLPモデルサーバーにアップロードすることと、NLPモデルサーバーが1つ又は複数の音声コマンドの音声データを使用して第1のNLPモデルを更新した後、NLPモデルサーバーから第1のNLPモデルを受信することと、更新された第1のNLPモデルを音声制御機器のNLPモジュールに追加することとをさらに含む。一部の実施例では、NLPモデルサーバーは、ユーザからの1つ又は複数の音声コマンドの音声データを使用して、第1のNLPモデルを更新し、この特定の音声制御機器のユーザ(例えば、所有者)のサウンド特徴(例えば、方言)に基づいてNLPモデルをさらにカスタマイズする。
この実施例では、ユーザからの新しい音声データを使用して、NLPモデルを更新(例えば、カスタマイズ)する。ユーザ装置は、収集した音声データを音声制御機器からNLPサーバーに中継する。一部の実施例では、音声制御機器は、ユーザ装置に接続されない期間中に受信された音声データを蓄積する。音声制御機器がユーザ装置へのデータ通信接続を有する場合、それは、ユーザによって駆動され(例えば、ユーザが音声制御機器をユーザ装置に手動で接続するか、又は音声制御機器のボタン又は回転面を押して、ユーザ装置に接続し(例えば、ブルートゥースでペアリングし)、次に音声制御アプリケーションプログラムを開き、UI(ユーザインターフェイス)上の機能を選択して音声データをアップロードし、NLPモデルを更新する)、又はデバイスによって駆動される(例えば、デバイスは充電を開始し、且つユーザ装置を検索する)。一部の実施例では、蓄積された音声データのアップロードは、デバイスがユーザ装置に接続された後に自動的に実行されてもよいし、ユーザ入力によってトリガーされたユーザリクエストに応答して実行されてもよく、例えば、アプリケーションのGUIで、ユーザは、「新しい音声データサンプルをアップロードしてNLPモデルを更新する」という機能を選択する。
一部の実施例では、音声制御機器が蓄積された音声データをユーザ装置にアップロードした後、ユーザ装置は、音声データをNLPサーバー220に転送して、第1のNLPモデルをトレーニング/更新する。一部の実施例では、NLPサーバー220は、音声制御機器からの音声データのみに基づいてNLPモデルをトレーニング/更新し、その結果、NLPモデルは、より高い精度を持ち、デバイス所有者の家庭へのカスタマイズ化(例えば、家庭のうちの1つ(又は複数)のユーザの音声特性と家庭でよく使用されるコマンド)を実現することができる。一部の実施例では、NLPサーバーは、音声制御機器からの音声データ、及び同じ電気機器のタイプであるが異なる家庭からのNLPサーバーで収集された音声データに基づいて、NLPモデルをトレーニング/更新する。異なるユーザが同じ部屋(例えば、本明細書で説明される音声制御機器を備えたエアビーアンドビー(Airbnb)アパート/タウンハウス/部屋)で同じ電気機器を使用する場合、又は複数の学生や若年労働者が借りる部屋で、異なる方言と異なる電気機器の使用行為を有する人を接待することが予想され、このタイプのNLPモデルは、より高い精度を持つことができる。
一部の実施例では、方法700は、音声制御機器で第1のNLPモデルをNLPモジュールに追加した後、音声制御機器とのデータ通信接続を確立することと、音声制御機器からユーザからの1つ又は複数の音声命令の音声データを受信して、第1の電気機器のタイプに対する第1の電気機器の機能セットを制御することと、ユーザ装置での1つ又は複数の音声コマンドの音声データに基づき、第1のNLPモデルを調整する(例えば、図2のNLPモデル更新モジュール212により)ことと、調整された第1のNLPモデルを音声制御機器のNLPモデルに追加することとをさらに含む。一部の実施例では、ユーザ装置は、NLPモデルトレーニングモジュール216及び/又はNLPモデル更新モジュール212を含み、NLPモデルトレーニングモジュール及び/又はNLPモデル更新モジュールは、新しいデータサンプルに基づいてトレーニングし(モデル関数の各重みを確定し)及び/又は既存のモデル関数の対応する重みを調整するように構成される。
一部の実施例では、ユーザ装置が新しい音声データでNLPモデルを更新し、ユーザ装置は、ユーザ装置上で1つ又は複数のNLPモデルをローカルにトレーニング/調整/チューニング/更新することができる。一部の実施例では、ユーザ装置は、当該家庭からの音声データのみに基づいて、第1のNLPモデルをトレーニング/更新する。このタイプの家庭用にカスタマイズされたNLPモデルは、より高い精度を提供し(例えば、より多くのカスタマイズと集中のサンプルに基づいて)、ユーザエクスペリエンス(例えば、より良いカスタマイズ、例えば、コマンドの方言又は個人的な好み)を向上させることができる。これは、第1のNLPモデルがデバイスに取り付けられた後に実行される。
一部の実施例では、音声制御機器がユーザ機器とのデータ接続を確立するたびに、音声制御機器は、デバイスに記憶された、蓄積された音声データをユーザ装置に送信する。しかしながら、毎回のデータサンプルのサイズが制限されるため、ユーザ装置又はNLPサーバーは、対応する1つ(又は複数)のNLPモデルを徐々にトレーニング/更新する。一定期間(例えば、1か月、2週間又は1週間)が経過した後、ユーザ装置又はNLPサーバーは、更新された1つ(又は複数)のNLPモデルの新しいバージョンを生成する。次に、ユーザ装置は、1つ(又は複数)のNLPモデルの新しいバージョンを音声制御機器のNLPモジュール130に追加する。
一部の実施例では、方法700は、音声制御機器で第1のNLPモデルをNLPモジュールに追加した後、音声制御機器とのデータ通信接続を確立することと、第1のユーザ入力を受信して、グラフィカルユーザインターフェイスに表示される電気機器のタイプのリスト及び各電気機器のタイプに対応する電気機器機能のリストから、第1の電気機器のタイプに対する第1の電気機器の機能セットの選択をキャンセルすることであって、ここで、第1の電気機器のタイプに対する第1の電気機器の機能セットに対応する第1のNLPモデルが音声制御機器のNLPモジュールに既に追加されたことと、第1のユーザ入力に応答して、音声制御機器に削除コマンドを送信して、音声制御機器のNLPモジュールから第1のNLPモデルを削除することとをさらに含む。
一部の実施例では、方法700は、音声制御機器で第1のNLPモデルをNLPモジュールに追加した後、音声制御機器とのデータ通信接続を確立することと、第2のユーザ入力を受信して、グラフィカルユーザインターフェイスに表示される電気機器のタイプのリスト及び各電気機器のタイプに対応する電気機器機能のリストから、第1の電気機器のタイプに対する第1の電気機器の機能サブセットの選択をキャンセルすることであって、ここで、第1の電気機器のタイプに対する第1の電気機器の機能セットに対応する第1のNLPモデルが音声制御機器のNLPモジュールに追加されたことと、NLPモデルサーバーへリクエストを送信して、第1の電気機器のタイプに対する第1の電気機器の機能セットから除去された第1の電気機器の機能サブセットに基づいて第1のNLPモデルを調整することと、調整された第1のNLPモデルをダウンロードし、調整された第1のNLPモデルが更新されて第1の電気機器のタイプに対する第1の電気機器の機能セットから第1の電気機器の機能サブセットを除外することと、調整された第1のNLPモデルを音声制御機器のNLPモジュールに追加することとをさらに含む。一部の実施例では、調整された第1のNLPモデルを残りの電気機器機能に対応する音声コマンドサンプルによってトレーニングし、調整されたNLPモデルから、削除された電気機器の機能に基づく音声コマンドサンプルのトレーニング効果を除去する。
一部の実施例では、当該実施例は、よく使用されない機能サブセットに対する選択をキャンセルし、それに応じてモデルを更新し、これは、NLPサーバー上で実行される。一部の実施例では、このプロセスは、通常、ユーザがアプリケーションプログラムを開いて、グラフィカルユーザインターフェースに表示される電気機器のタイプのリスト及び各電気機器のタイプの対応する電気機器機能のリストを見て編集するときに実行される。通常、音声制御機器とユーザ装置との間のデータ通信は、例えば音声制御機器をユーザ装置に挿入し、又は音声制御機器上のボタンを押してユーザ装置に接続するなどのユーザイベントに応答して確立される。一部の実施例では、音声制御機器がそのバッテリーの充電を開始し、ユーザ装置を検索して見つける場合、それはデータ通信をトリガーすることもでき、「デバイスを発見する」の通知が携帯電話で受信される場合、ユーザは、アプリケーションプログラムを開いてリストと対話することができる。ユーザがデバイス機能リストをカスタマイズし、例えば、ユーザが使用しない機能サブセットを削除する(例えば、図3を参照し、音声コマンド302の数を減少するため、モデル310の複雑さが低下し、且つ機械命令320の出力を減少する)ことにより、対応するNLPモデルの精度を向上させ(例えば、曖昧な音声コマンドサンプルを減らし、関連するサンプルを増やす)、NLPモデルの処理速度を向上させる(例えば、テンプレート、モデル、コーパスを減らす)ことができ、且つNLPモデルのサイズが小さくため、記憶空間が節約される。
一部の実施例では、よく使用されない機能サブセットの選択をキャンセルし、モデルを更新する上記の方法は、ユーザ装置上でローカルに実行されてもよい。一部の実施例では、方法700は、音声制御機器で第1のNLPモデルをNLPモジュールに追加した後、音声制御機器とのデータ通信接続を確立することと、第2のユーザ入力を受信して、グラフィカルユーザインターフェイスに表示される電気機器のタイプのリスト及び各電気機器のタイプに対応する電気機器機能のリストから、第1の電気機器のタイプに対する第1の電気機器の機能セットからの第1の電気機器の機能サブセットの選択をキャンセルすることであって、ここで、第1の電気機器のタイプに対する第1の電気機器の機能セットに対応する第1のNLPモデルが音声制御機器のNLPモジュールに追加されたことと、第1の電気機器のタイプに対する第1の電気機器の機能セットから除去された第1の電気機器の機能サブセットに基づいて、第1のNLPモデルを調整することと、調整された第1のNLPモデルを音声制御機器のNLPモジュールに追加することとをさらに含む。一部の実施例では、調整された第1のNLPモデルを残りの電気機器機能に対応する音声コマンドサンプルによってトレーニングし、且つ調整されたNLPモデルから、削除された電気機器機能に基づく音声コマンドサンプルのトレーニング効果を除去する。
一部の実施例では、方法700は、音声制御機器で第1のNLPモデルをNLPモジュールに追加した後、音声制御機器とのデータ通信接続を確立することと、第1の電気機器のタイプに対する第1の電気機器の機能セットの1つ又は複数の機能の更新を検出することと、検出された1つ又は複数の機能の更新に対するユーザ選択に従って、第1のNLPモデルを更新するためのプロンプトをディスプレイに表示することとをさらに含む。一部の実施例では、第1の電気機器の機能は、製造業者のサーバーに接続された第1の電気機器自体によって第1の電気機器で更新される。
図8Fに示す一部の実施例では、電気機器124(b)が更新されると(例えば、ソフトウェア機能のアップグレード又はハードウェアのリコール/調整)、インターネット(例えば、図8Fのネットワーク240)を介して製造業者のサーバー(例えば、図8Fの外部サービス240)と通信することができる電気機器(例えば、図8Fの電子レンジ124(b))は、製造業者のサーバー240に周期的に接続され、又は製造業者のサーバー240によってピング(ping)されて、その機能(及び電気機器に記憶された、対応する機能のリスト)を更新することができる。当該電気機器124(b)と音声制御機器102との間でデータ通信が確立されると、音声制御機器102は、電気機器の機能のリストの更新についての通知を電気機器124(b)から受信する。一部の実施例では、音声制御機器102は、電気機器124(b)のためにその現在のNLPモデルレジストリ136を更新して、言語モデルを更新する必要がある可能性があることを示す。音声制御機器102が当該更新状態をマーキングした後、音声制御機器102は、次にユーザ装置202とのデータ通信が確立されるときに、当該更新をユーザ装置202に報告する。一部の実施例では、特定の電気機器の機能の更新が検出された後、音声制御機器102は、ユーザ装置を能動的に検索し(例えば、バッテリー残量が許す場合)、且つこれらの更新をユーザ装置に通知する。音声制御機器102とユーザ装置202との間でデータ通信が確立される場合、ユーザ装置は、音声制御機器102に記憶されたNLPレジストリ136又は上記のアップグレードされた電気機器の機能のリストをチェックし、電気機器の機能の更新を検出する。次に、ユーザ装置202は、GUI800上にメッセージ(例えば、図8Fのメッセージ872)プロンプトを表示して、電気機器124(b)の対応するNLPモデル132を更新すべきか否か(例えば、「マイクロ波機能が更新された。これらの新しい機能を音声で制御することができるようにNLPモジュールを更新する必要があるか否か」)をユーザに問い合わせる。次に、ユーザ装置202は、電気機器(例えば、電子レンジ)のアップグレードされた機能、又は電気機器に関連するすべての機能のリスト880(図8G)に含まれる/追加された、更新された機能のみを表示し(例えば、図8Gに示すように、ユーザは拡張機能のリストを選択することができる)、ユーザがそれに応じて電気機器124(b)のNLPモデルへの更新を選択するようにすることができる。一部の実施例では、これは、電気機器の機能のアップグレードをユーザに通知する方式(電気機器124(b)と音声制御機器102との間の初期接続を介して、次に音声制御機器102とユーザ装置202との間の接続を介する)、且つ選択をユーザに提供して、ユーザの好みに応じて対応する電気機器のNLPモデル132を更新して、アップグレードされた機能(図8Gに示される太字の下線付きの機能)への音声制御に適応する。一部の例では、いくつかの機能のアップグレードはユーザに必要がない可能性があり(例えば、図8Gでユーザが電子レンジを使用して料理を調理及びグリルするという新しい機能を選択しない)、したがって、ユーザは、音声制御機器への負荷を回避するために、対応するNLPモデルの1つ又は複数の機能サブセットを音声制御機器に含めないことを選択することがきる。一方、ユーザは、音声コマンドを使用して、パスタを調理するように電子レンジを制御するという新しい機能に興味がある可能性がある。したがって、ユーザは、ユーザインターフェース上でパスタのチェックボックスのチェックを入れ、電子レンジに対応するNLPモデルは、調理及びグリルに関連する機能を除外するように更新されるが、電子レンジを使用したパスタの調理に関連する機能を含む。
図7に記載される操作の特定の順序は単なる例示であり、説明された順序が操作を実行できる唯一の順序であることを示すことを意図するものではないことが理解すべきである。当業者は、様々な方式を認識して本明細書に記載の操作を新たに並べ替える。さらに、本明細書に記載される他の方法及び/又はプロセスの詳細も類似する方式で上記の方法700に適用することに注意すべきである。
図9Aは音声制御機器102を示すブロック図である。音声制御機器102は、1つ又は複数の処理ユニット(CPU)902、1つ又は複数のネットワークインターフェース904、メモリ906、及びこれらのコンポーネント(チップセットと呼ばれることもある)を互いに接続するための1つ又は複数の通信バス908を含む。音声制御機器102は、ユーザインターフェース910をさらに含む。オプションとして、ユーザインターフェース910は、1つ又は複数の出力装置912を含み、メディアコンテンツを提示することが可能となり、出力装置は、1つ又は複数のスピーカー及び/又は1つ又は複数の視覚的ディスプレイを含む。一部の実施例では、音声制御機器102は、いかなる出力機器を含めない。ユーザインターフェース910は、1つ又は複数の入力装置914をさらに含み、入力装置は、音声コマンド入力ユニット又はマイクロフォンを含む。一部の実施例では、音声制御機器102は、タッチスクリーンディスプレイ、タッチセンシティブパネル、又はジェスチャキャプチャカメラ、又は他の入力ボタン又はコントロールを含めない。一部の実施例では、音声制御機器102は、メモリ906を含む。メモリ906は、DRAM、SRAM、DDR RAM又は他のランダムアクセスソリッドステートストレージデバイスなどの高速ランダムアクセスメモリを含み、かつ、オプションとして、不揮発性メモリ、例えば、1つ又は複数の磁気ディスク記憶装置、1つ又は複数の光ディスク記憶装置、1つ又は複数のフラッシュメモリ装置、又は1つ又は複数の他の不揮発性ソリッドステートメモリ装置を含む。オプションとして、メモリ506は、1つ又は複数の処理ユニット902から遠隔にポジショニングされた1つ又は複数の記憶装置を含む。メモリ906、又はメモリ906内の不揮発性メモリは、非一時的コンピュータ読み取り可能な記憶媒体を含む。一部の実施例では、メモリ906又はメモリ906の非一時的コンピュータ読み取り可能な記憶媒体は、以下のプログラム、モジュール及びデータ構造、又はそれらのサブセット又はスーパーセットを記憶する。
―オペレーティングシステム918は、様々な基本システムサービスを処理し、ハードウェアに関連するタスクを実行するためのプロセスを含む。
―ネットワーク通信モジュール920は、1つ又は複数のネットワークインターフェース904(有線又は無線)を介して音声制御機器102を、1つ又は複数のネットワークに接続された他のコンピュータ装置(例えば、サーバーシステム220)又はユーザ装置202(例えば、スマートフォン又はタブレットコンピュータ)に接続するために使用される。
―音声通信モジュール922は、ユーザからの音声入力を受信するために使用される。
―データ通信モジュール924は、複数のタイプの電気機器とのデータ通信を確立するために使用され、当該複数のタイプの電気機器は、異なる機械コマンドセットに応答して、対応する機器操作を実行するように構成される。
―NLP処理モジュール926は、ユーザからの音声入力を処理して、機械コマンドを取得して対応する電気機器を制御するために使用され、NLP処理モジュール926は、
――ターゲット電気機器のためにNLPモデルを選択するためのNLPモデル選択モジュール928と、
――NLPモデルと対応する電気機器との間の関係を記録するためのNLPモデル登録モジュール930とを含む。
―通信インターフェース932は、音声制御機器102とユーザ装置202との間のデータ通信を確立するために使用され、
――サーバーシステム220からNLPモデルをダウンロードするためのNLPモデルダウンロードモジュール934と、
――音声制御機器で収集された音声コマンドデータをNLPモデルの更新のためにアップロードするための音声コマンドアップロードモジュール936とを含む。
―データベース940は、
――ユーザ制御電気機器から収集された音声コマンド942と、
――NLPモデル944(例えば、図1のNLPモデル132)、及び
――NLPモデルレジストリ946(例えば、図1のNLPモデルレジストリ136)を含む。
図9Bは一部の実施例によるユーザ装置202を示すブロック図である。ユーザ装置202は、通常、1つ又は複数の処理ユニット(CPU)952(例えば、プロセッサ)、1つ又は複数のネットワークインターフェース954、メモリ956、及びこれらのコンポーネント(チップセットと呼ばれることもある)を互いに接続するための1つ又は複数の通信バス958を含む。ユーザ装置202は、ユーザインターフェース960をさらに含む。ユーザインターフェース960は、1つ又は複数の出力装置962を含み、メディアコンテンツを提示することが可能となり、出力装置は、1つ又は複数のスピーカー及び/又は1つ又は複数の視覚的ディスプレイを含む。ユーザインターフェース960は、1つ又は複数の入力装置964をさらに含み、入力装置は、キーボード、マウス、音声コマンド入力ユニット又はマイク、タッチスクリーンディスプレイ、タッチセンシティブパネル、ジェスチャキャプチャカメラ、1つ又は複数のカメラ、深度カメラ又は他の入力ボタン又はコントロールなどのユーザ入力を容易にするユーザインターフェイスコンポーネントを含む。また、いくつかのユーザ装置202は、マイク及び音声識別、又はカメラ及びジェスチャー識別を使用してキーボードを補足又は置き換える。一部の実施例では、ユーザ装置202は、ユーザ装置202の現在の状態又はユーザ装置202に関連する環境条件についてのコンテキスト情報を提供するセンサーをさらに含む。センサーは、1つ又は複数のマイク、1つ又は複数のカメラ、環境光センサー、1つ又は複数の加速度計、1つ又は複数のジャイロスコープ、GPS測位システム、ブルートゥース(Bluetooth)又はBLE(低エネルギー消費ブルートゥース)システム、温度センサー、1つ又は複数のモーションセンサー、1つ又は複数のバイオセンサー(例えば電気皮膚刺激センサー、パルスオキシメーターなど)及び他のセンサーを含むが、これらに限定されない。メモリ956は、DRAM、SRAM、DDR RAM又は他のランダムアクセスソリッドステートストレージデバイスなどの高速ランダムアクセスメモリを含み、並びに、オプションとして、不揮発性メモリ、例えば、1つ又は複数の磁気ディスク記憶装置、1つ又は複数の光ディスク記憶装置、1つ又は複数のフラッシュメモリ装置、又は1つ又は複数の他の不揮発性ソリッドステートストレージデバイスを含む。オプションとして、メモリ956は、1つ又は複数の処理ユニット952から遠隔にポジショニングされた1つ又は複数の記憶装置を含む。メモリ956、又はメモリ956内の不揮発性メモリは、非一時的コンピュータ読み取り可能な記憶媒体を含む。一部の実施形態では、メモリ956又はメモリ956の非一時的コンピュータ読み取り可能な記憶媒体は、以下のプログラム、モジュール及びデータ構造、又はそれらのサブセット又はスーパーセットを記憶する。
―オペレーティングシステム966は、様々な基本システムサービスを処理し、ハードウェアに関連するタスクを実行するためのプロセスを含む。
―通信モジュール968は、1つ又は複数のネットワークインタ―フェース954(有線又は無線)を介してユーザ装置202を、1つ又は複数のネットワーク240に接続された他のコンピュータ装置(例えば、サーバーシステム220)に接続するために使用される。
―ユーザ入力処理モジュール970は、1つ又は複数の入力装置964のうちの1つから1つ又は複数のユーザ入力又は対話を検出し、且つ検出された入力又は対話を解釈するために使用される。
―ユーザ装置202によって実行される1つ又は複数のアプリケーションプログラム972(例えば、支払いプラットフォーム、メディアプレーヤー及び/又は他のネットワークベース又は非ネットワークベースのアプリケーションプログラム)。
―クライアントモジュールは、音声コマンドデバイス管理モジュール974を含み、前記音声コマンドデバイス管理モジュール974は、
――音声制御機器102とのデータ接続を確立するためのデバイス接続モジュール976と、
――音声制御機器102に対して初期構成を行うためのデバイス構成モジュール978と、
――ユーザの選択に従って、サーバーシステム220から1つ又は複数のNLPモデルをダウンロードするためのNLPモデルダウンロードモジュール980と、
――ダウンロードされたNLPモデルを音声制御機器102のNLPモジュール130に追加するためのNLPモデル追加モジュール982と、
――音声制御機器102で収集されたユーザの音声コマンドに応じてNLPモデルを更新(例えばカスタマイズ)するためのNLPモデル更新モジュール984と、
――1つ又は複数の電気機器を制御するためのユーザの音声コマンドデータを音声制御機器102から検索するための音声入力管理モジュール986と、
――NLPモデルをトレーニングするためのNLPモデルトレーニングモジュール988と、
――本明細書で説明される他の機能を実行するための他のモジュールとを含むが、これらに限定されない。
―クライアントデータベース990は、データ及びモデルを記憶するために使用され、
――音声入力992と、
――NLPモデル994と、
――ユーザデータ996(例えば、顧客名、年齢、収入レベル、色の好み、以前に購入した製品、製品カテゴリ、製品ポートフォリオ/組み合わせ、先に問い合わせた製品、過去の納品先、インタラクションチャネル、インタラクション場所、購入時間、納期、特殊な要求、IDデータ、人口統計データ、社会的関係、ソーシャルネットワークアカウント名、ソーシャルネットワークへの投稿又はコメント、営業担当者、カスタマーサービス担当者又は配送担当者とのやりとりのレコード、好み、嫌気、気持ち、信仰、習俗、個性、気質、対話スタイルなど)、を含むが、これらに限定されない。
上記の確定された要素のそれぞれは、上記の1つ又は複数のメモリ装置に記憶されてもよく、かつ上記機能を実行するためのコマンドセットに対応する。上記の確定されたモジュール又はプログラム(即ち、コマンドセット)は、単独のソフトウェアプログラム、プログラム、モジュール又はデータ構造として実現される必要がなく、したがって、これらのモジュールの様々なサブセットは、様々な実施例で組み合わせられ、又は他の方式で並べ替えることができる。一部の実施例では、オプションとして、メモリ506は、上記の確定されたモジュールとデータ構造のサブセットを記憶する。また、オプションとして、メモリ506は、以上に説明されない追加モジュールとデータ構造を記憶する。
以上に特定の実施例は説明されるが、これは、本出願をこれらの特定の実施例に限定することを意図するものではないことが理解できる。逆に、本出願は、添付の特許請求の範囲の精神及び範囲内の代替、修正および同等物を含む。本明細書に記載されたテーマを完全に理解するために、多くの具体的な詳細が記載される。しかし、これらの具体的な詳細がなくてもこのテーマを実践できることは当業者によって明らかである。他の場合でも、実施例の様々な態様を不必要に不明瞭にしないように、周知の方法、プログラム、コンポーネントと回路は、詳細に説明されない。
100 操作環境
102 音声制御機器
102 音声制御デバイス
102 ユーザ装置
104 音声通信インターフェース
106 ターゲット選択モジュール
108 通信インターフェース
112 音声コマンドメモリ
114 通信インターフェース
116 NLPモデルダウンロードモジュール
118 音声コマンドアップロードモジュール