(57)【要約】      （修正有）【課題】常用の音声認識システムの音響モデル並びに特定のデバイスおよび／または状態のための音響モデルをデバイスの開発者が選択、構成および／または訓練するのに使用するプラットフォームおよびインターフェイスを提供する。【解決手段】各種音響モデルを実装できる環境３００において、異なるデバイスまたはデバイス状態に対応付けられた複数の音響モデルを格納し、自然言語発話を含む発話音声を受信し、デバイスタイプと状態を示すメタデータを受信し、受信したメタデータに応じて音響モデルを複数の音響モデルから選択し、選択した音響モデルを使用して、受信した発話音声に含まれる自然言語発話からの音声を認識する。音声認識および音響モデル格納は各々、デバイスがローカルで、または、ネットワーク接続されたサーバ上で実行する。【選択図】図３
2019211752.tif 000002
【特許請求の範囲】
【請求項１】
複数の異なるデバイスの音声認識を実行する方法であって、前記方法は、
異なるデバイス状態に対応付けられた複数の音響モデルを格納するステップと、
自然言語発話を含む発話音声を受信するステップと、
デバイス状態を示すメタデータを受信するステップと、
前記受信したデバイス状態を示すメタデータに応じて、音響モデルを前記複数の音響モデルから選択するステップと、
前記選択した音響モデルを使用して、前記受信した発話音声に含まれる前記自然言語発話からの音声を認識するステップとを含む、方法。
【請求項２】
前記デバイス状態はデバイスの使用状態を含む、請求項１に記載の方法。
【請求項３】
前記デバイスの使用状態は、前記発話音声を受信するための、または前記デバイスのユーザに音声フィードバックを与えるための、前記デバイスの１つ以上のハードウェアおよびソフトウェアコンポーネントに関する情報を提供する、請求項２に記載の方法。
【請求項４】
前記受信したメタデータはデバイスに格納される、請求項１〜３のいずれか１項に記載の方法。
【請求項５】
複数の異なるデバイスの音声認識を実行する方法であって、前記方法は、
異なるデバイスタイプに対応付けられた複数の音響モデルを格納するステップと、
自然言語発話を含む発話音声を受信するステップと、
デバイスタイプを示すメタデータを受信するステップと、
前記受信したデバイスタイプを示すメタデータに応じて、音響モデルを前記複数の音響モデルから選択するステップと、
前記選択した音響モデルを使用して、前記受信した発話音声に含まれる前記自然言語発話からの音声を認識するステップとを含む、方法。
【請求項６】
前記デバイスタイプは、デバイスの型番およびシリアルナンバーのうちの少なくとも１つを特定する、請求項５に記載の方法。
【請求項７】
デバイス固有の音声認識を構成するためのプラットフォームを提供する方法であって、前記方法は、
特定のタイプのデバイスに適した少なくとも２つの音響モデルのセットを開発者が選択するためのユーザインターフェイスを提供するステップと、
前記少なくとも２つの音響モデルのセットの選択を開発者から受信するステップと、
音声認識システムを構成してデバイス固有の音声認識を実行するステップとを含む、方法。
【請求項８】
前記デバイス固有の音声認識は、
前記特定のタイプのデバイスから、自然言語発話を含む発話音声を受信し前記受信する発話音声に対応付けられたメタデータを受信することと、
前記受信したメタデータに応じて、前記セットの前記少なくとも２つの音響モデルから１つの音響モデルを選択することと、
前記選択した音響モデルを使用して、前記受信した発話音声に含まれる前記自然言語発話からの音声を認識することとを含む、請求項７に記載の方法。
【請求項９】
前記メタデータは、前記特定のタイプのデバイスに従って前記セットに含まれる音響モデルを特定する、請求項８に記載の方法。
【請求項１０】
前記メタデータは前記デバイスの特定のデバイス状態を特定し、前記音声認識システムは、前記特定のデバイス状態に応じて前記セットから前記１つの音響モデルを選択する、請求項８に記載の方法。
【請求項１１】
前記特定のタイプのデバイスに適したカスタム音響モデルを受信するステップと、
前記セットの前記音響モデルのうちの１つとして選択される前記カスタムモデルを前記ユーザインターフェイス内に提供するステップとをさらに含む、請求項７〜１０のいずれか１項に記載の方法。
【請求項１２】
前記特定のタイプのデバイスに適した訓練データを受信するステップと、
前記受信した訓練データを用いて音響モデルを訓練するステップと、
前記セットの前記音響モデルのうちの１つとして選択される前記訓練した音響モデルを、前記ユーザインターフェイス内に提供するステップとをさらに含む、請求項７〜１１のいずれか１項に記載の方法。
【請求項１３】
デバイス固有の音声認識を構成するためのプラットフォームを使用する方法であって、前記方法は、
コンピュータシステムが提供するユーザインターフェイスを通して、特定のタイプのデバイスに適した少なくとも２つの音響モデルのセットを選択するステップと、
前記プラットフォームに対応付けられた音声認識システムに、発話音声をメタデータとともに提供するステップとを含む、方法。
【請求項１４】
前記特定のタイプのデバイスに適したカスタム音響モデルを前記ユーザインターフェイスに提供するステップをさらに含み、
前記選択する音響モデルのセットは、前記提供するカスタム音響モデルを含む、請求項１３に記載の方法。
【請求項１５】
前記特定のタイプのデバイスに適した音響モデルを訓練するための訓練データを提供するステップと、
前記提供した訓練データに基づいて訓練された音響モデルを前記ユーザインターフェイスの中から選択するステップとをさらに含む、請求項１３または１４に記載の方法。
【請求項１６】
前記メタデータは、前記特定のタイプのデバイスに従って前記セットに含まれる音響モデルを特定する、請求項１３〜１５のいずれか１項に記載の方法。
【請求項１７】
前記メタデータは特定のデバイス状態を特定し、前記コンピュータシステムは、前記特定のデバイス状態に応じて前記セットから１つの音響モデルを選択する、請求項１３〜１５のいずれか１項に記載の方法。
【請求項１８】
１つ以上のコンピュータによって実行されると請求項１〜１７のいずれか１項に記載の方法を前記１つ以上のコンピュータに実施させるコンピュータプログラム。
【請求項１９】
１つ以上のコンピュータと、
前記１つ以上のコンピュータによって実行されると請求項１〜１５のいずれか１項に記載の方法を前記１つ以上のコンピュータに実施させるコンピュータプログラムを格納するメモリデバイスとを備えるコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
背景
開示する技術は自動音声認識（automatic speech recognition）（ＡＳＲ）に関する。特に、開示する技術は、インテリジェント音声認識システムにおけるカスタム音響モデルの作成、識別、選択、および実装に関する。
【背景技術】
【０００２】
音声認識システムは、現代の社会においてより広く普及するようになっている。ますます多くの常用機器、たとえば、特定用途向けの機器、乗物、モバイルデバイスなどが、音声認識機能を備えている。問題は、これらの常用機器が、ユーザから受信した発話音声に基づいて意味のある応答を提供することができないことである。この問題の根本的な原因の１つは、常用機器および／またはそれに接続されたローカルもしくは遠隔サービスが、受信した発話音声を適切なトランスクリプションに正確に変換できないことにある。一般的に、受信した発話音声は、音響モデルを用いて音素に変換する。しかしながら、これらの常用機器および／またはそれに接続されたローカルもしくは遠隔サービスが使用している音響モデルは、その（ｉ）環境、（ｉｉ）予想される使用状態および／または（ｉｉｉ）予想されるユースケース結果に合わせて作られたものではない。そのため、音声認識機能が与えられたこれらの常用機器は、受信した発話音声を、それに基づいて有用な結果をユーザに伝えるとともにユーザまたはユーザのデバイスが適宜応答できるようにするための、信頼度が高いトランスクリプションに、正確に変換することができない。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
この問題の一例を以下に示す。あるコーヒーショップが、そのエスプレッソマシンを、音声起動される（すなわち音声認識システムが組み込まれた）新しいハイテクマシンにアップグレードすることに決めたと想定する。このエスプレッソマシンによって実装される音響モデルは、一般的な音響モデルであり、使用環境に合わせてカスタマイズされていない。この特定のコーヒーショップは、工業用室内装飾が最小限に抑えられているため、音は、他の環境における典型的な反響よりも遙かに大きく反響し響き渡る。さらに、エスプレッソマシンが配置された場所の片側は、顧客の注文を受けるエリアであり、エスプレッソマシンの前には流し台があり、エスプレッソマシンの反対側に豆挽き器がある。言うまでもなく、エスプレッソマシンの音声認識システムは、多くの背景雑音を受ける。加えて、コーヒーショップの温度は、暖かくなる傾向があり、エスプレッソマシンの構成部品は、常に使用されていると非常に熱くなる。これらの温度が原因で、１つ以上のマイクおよびそれに関連する電気部品の特徴の挙動が、通常の挙動とみなされるものから逸脱する。これらの要素すべてが、一般的な音響モデルとあいまって、エスプレッソマシンのトランスクリプションおよび応答を、エスプレッソマシンの音声認識特性の利用を非現実的にするほどの、極めて不正確なものにする。
【０００４】
これらの問題は、特定のデバイスに合わせて調整できるとともに先に述べたようなさまざまな環境および動作状態に基づいて調整できる音響モデルを実装することが可能な技術を開発する機会を提供する。開示する技術は、これらの問題を解決し、より正確な音声認識システムおよび意味のある結果を提供することができる。
【課題を解決するための手段】
【０００５】
概要
概して、開示する技術は、発話を解析するための自動音声認識（ＡＳＲ）に関する。特に、開示する技術は、意味のある結果をエンドユーザに提供できるよう、音声認識システムにおける音響モデルを識別し、選択し、実装することに関する。開示する技術は、発話音声をその他のデータ（すなわちメタデータ）とともに受信したときに、どの音響モデルを実装すべきかを判断することができる。上記その他のデータは、デバイス（たとえば、エスプレッソマシンまたは洗濯機または乗物といったエンドユーザのデバイス）の種類および／またはこのデバイスの１つ以上の状態を示すデータである。また、開示する技術は、意味のある結果を提供できるようにするためには、どの種類の音響モデルを実装すべきか、または、最も実装すべきかを、製品の製造者または開発者が選択できるようにするインターフェイスを有する音声認識システムを提供する。
【０００６】
開示する技術の具体的な側面は、請求項、明細書および図面に記載される。
【図面の簡単な説明】
【０００７】
【図１】音声認識および自然言語理解システムによって実装される包括的フレームワークを示すブロック図である。
【図２】自然言語理解（ＮＬＵ）のための言語モデルと音響モデルとの間のやり取りの実施形態の一例を示すブロック図である。
【図３】各種音響モデルを実装できる環境の一例の図を示す。
【図４】各種音響モデルを実装できる図３の環境の実装の一例を示す。
【図５】各種音響モデルを実装できる図３の環境の実装の一例を示す。
【図６】各種音響モデルを実装できる図３の環境の実装の一例を示す。
【図７】各種音響モデルを実装できる図３の環境の実装の一例を示す。
【図８】カスタマイズされた音響モデルを訓練することができる図３の環境の実装の一例を示す。
【図９】図３の環境の各種要素を実装出来るコンピュータシステムの一例のブロック図である。
【発明を実施するための形態】
【０００８】
詳細な説明
以下、図面を参照しながら詳細な説明を行う。開示する技術を、請求項によって定められるその範囲を限定するためではなく、明らかにするために、実装例を説明する。以下の説明について各種の均等な変形を当業者は認識するであろう。
【０００９】
図１は、音声認識および自然言語理解システム（たとえば自然言語理解プラットフォーム／サーバ）によって実装される包括的フレームワークを示すブロック図である。音声認識および自然言語理解システムの最新の実装例において、一般的に、音声認識は、先ず一列の単語または一組の単語列仮説を生成するために適用される。この種のシステムは、音声認識と言語または言語学的認識との組み合わせであると言われることがある。音声認識出力は、意味を抽出するためにＮＬＵシステムに送られる。
【００１０】
図１を参照して、包括的フレームワーク１００は、自然な言語の発話を含む発話音声を受ける。発話音声の一例として、ある人物が発声した「ice cream cone（アイスクリームコーン）」というフレーズの録音を挙げる。この発話音声は、いずれのソースからでも受けることができる（たとえば、携帯電話、洗濯機、乗物など）。
【００１１】
次に、音響フロントエンド１０２が音響モデル１０３を用いてこの発話音声を解析することにより、発話音声から音素を抽出する。これは音響認識と呼ばれることが多い。この動作の一例として、受けた発話音声に基づいて音素「AY S <sil> K R IY M <sil> K OW N」（カーネギーメロン大学（Carnegie Mellon University）（ＣＭＵ）の音素セットによって表したもの）を生成することを挙げる。
【００１２】
次に、音響フロントエンド１０２が生成した音素を、言語モデル１０４が受ける。言語モデル１０４を実装することにより、検出された音素（たとえば「AY S <sil> K R IY M <sil> K OW N」）を「ice cream cone」のような実際の文に転写することができる。音素をトランスクリプションに転写することは、単純なプロセスではなく、さまざまな要素が関わっている。
【００１３】
１つ以上のトランスクリプションが決まると、ＮＬＵシステムが自然言語理解１０６を実行することにより、「ice cream cone」というトランスクリプションから意味を抽出する。意味は、ドメインもしくはバーティカルに基づく、または周辺コンテキストに基づくトランスクリプションに関係があることが多い。たとえば、バーティカルが、食品の検索に、またはより具体的には食品を提供する場所の検索に関係がある場合、「ice cream cone」というトランスクリプションに適用される意味により、即時消費されるアイスクリームを提供するローカルな（最も近い）場所の検索を実現することができる。これに対し、バーティカルが、後で消費される食品を販売する場所（たとえば食品雑貨店）に関係がある場合、その意味は、アイスクリームコーンを販売する食品雑貨店またはマーケットの検索をもたらす。
【００１４】
開示する技術は、受けた音声から音素を生成するために最良の音響モデルを作成し、選択し、実装することに向けられる。過去、最良のトランスクリプションおよび最良の意味を求めるために多大な労力が費やされてきたが、いかなるときでも実装する最良のまたは最適な音響モデルを決定することには、今までそれほど大きな労力は費やされてこなかった。
【００１５】
図２は、自然言語理解のための言語モデルと音響モデルとの間のやり取りの実施形態の一例を示すブロック図である。図２は、単に図１をより詳しくしたものであり、発話音声をユーザから受けてから、ユーザに対する意味のある応答を求めるまでの、プロセスまたはフローの一例を示す。開示する技術は、カスタム音響モデルの作成、選択、および実装に向けられているが、図２は、自然言語理解（natural language understanding）（ＮＬＵ）を実行するために必要な各種ステップおよび処理のフレームワークの良い例を提供する。図２を参照しながら説明するすべての動作が開示する技術の実装に必要な訳ではない。開示する技術は、多くの異なるやり方でカスタム音響モデルの作成、選択、および実装を行うことができ、上記やり方のうち、図２の説明と一致するものと、図２の説明と一致しないものとがある。
【００１６】
一例としての実施形態２００は、音響フロントエンド２０４と、音響モデル２０６と、単語列認識器２０８と、言語モデル２１０とを含む自動音声認識（ＡＳＲ）システム２０３を含む。一例としての実施形態２００はまた、自然言語理解２１２を含む。ある人物が発話すると、自然言語発話を含む発話音声２０２が、音響フロントエンド２０４に入力される。音響フロントエンド２０４は、１つ以上の音響モデル２０６を用いて発話音声２０２の音響特徴を処理する。ＡＳＲシステム２０３は、たとえば音響フロントエンド２０４が１つ以上の音響モデル２０６から１つの音響モデルを選択するのを支援するために使用される選択基準（たとえばメタデータ）を受けることもできる。さらに、音響フロントエンドは１つ以上の音素列を生成する。
【００１７】
単語列認識器２０８は、音響フロントエンド２０４から１つ以上の音素列を受け、言語モデル２１０からの１つ以上の言語モデルを実装することにより、上記音素を転写する。ＡＳＲシステム２０３は、最良の音素および/またはトランスクリプションを求めるために各種スコアリングシステムを実装することができる。たとえば、起こり得る各音素列は、この列が意図されている列である可能性が最も高い確率を示すスコアに、関連付けることができる。たとえば、話者が「I read a good book（私は良い本を読む）」と言う場合を想定する。（下記の）表１は、音素列の選択肢の例を、音響フロントエンド２０４が生成するであろうスコアとともに示す。音素列は、カーネギーメロン大学（ＣＭＵ）の音素セットのような音素セットまたはその他いずれかの発音表記を用いて表すことができる。
【００１８】
【表１】
2019211752.tif 000003
【００１９】
表１において、これら３つの非常に良く似た音素列間の相違に注意を促すために特定の音素が太字で表されているのがわかる。３番目の選択肢としての音素列は、間違ったトランスクリプションであるものの、音響スコアが最も高い。この種の誤りは、雑音、アクセント、または各種音声認識システムの欠陥によって生じる。これは、適切な音響モデルの実装が何故有益であるかを示す１つの例である。
【００２０】
次に、上記トランスクリプションに対して自然言語理解（ＮＬＵ）２１２を実行することにより、最終的には発話音声２０２の意味のある表現（またはデータ構造）を見出す。
【００２１】
開示する技術は、たとえば音響フロントエンド２０４によって実装されるカスタム音響モデル（たとえば音響モデル２０６）を選択することに関する。選択されたカスタム音響モデルは、一例としての実施形態２００のような環境において、または、当業者には明らかであろうその他任意のフレームワークにおいて、実装することができる。
【００２２】
図３は、各種音響モデルを実装できる、一例としての環境３００の図を示す。環境３００は、少なくとも１つのユーザデバイス３０２、３０４、３０６を含む。ユーザデバイス３０２は、アプリケーション３０３を実行する、携帯電話、タブレット、ワークステーション、デスクトップコンピュータ、ラップトップまたはその他任意の種類のユーザデバイスであってもよい。ユーザデバイス３０４は自動車であってもよく、ユーザデバイス３０６は洗濯機であってもよく、これらは各々、アプリケーション３０３を実行する。これらのユーザデバイスのさまざまな実装例については、以下でより詳細に説明する。ユーザデバイス３０２、３０４、３０６は、環境３００の各種コンポーネント間の通信を可能にする１つ以上の通信ネットワーク３０８に接続される。一実装例において、通信ネットワーク３０８はインターネットを含む。通信ネットワーク３０８は、専用またはプライベート通信リンクを利用することもできる。この専用またはプライベート通信リンクは、必ずしもインターネットの一部ではない。一実装例において、通信ネットワーク３０８は、標準通信技術、プロトコル、および/またはプロセス間通信技術を使用する。
【００２３】
環境３００はまた、アプリケーション３１０を含む。アプリケーション３１０は、ユーザデバイス３０２、３０４、３０６に予めインストールしておくことができる、または、通信ネットワーク３０８を通してユーザデバイス３０２、２０４、３０６上で更新／インストールすることができる。環境３００はまた、この音声認識システムの一部である音声認識プラットフォーム／サーバ３１１を含む。音声認識プラットフォーム／サーバ３１１は、１つのコンピューティングデバイス（たとえばサーバ）であってもよく、またはクラウドコンピューティングデバイスであってもよく、または、意味のある音声認識を実行するのに必要な各種タスクを実行するために互いに通信することができるコンピューティングデバイス、クラウドコンピューティングデバイス等を任意に組み合わせたものであってもよい。音声認識プラットフォーム／サーバ３１１は、フレーズ解釈器３１２を含み、フレーズ解釈器３１２は、たとえば、図１を参照しながら先に説明した包括的フレームワーク１００の機能を実行する。音声認識プラットフォーム／サーバ３１１は、複数のサーバ上および／またはクラウドコンピューティングデバイス上に広げることができるので、フレーズ解釈器３１２の動作も、複数のサーバ上および／またはクラウドコンピューティングデバイス上に広げることができる。アプリケーション３１０は、発話入力を理解するために、フレーズ解釈器３１２によって使用されるおよび／またはフレーズ解釈器３１２とともに使用することができる。環境３００の各種コンポーネントは、セキュリティおよび効率のためにカスタマイズされたアプリケーションプログラムインターフェイス（ＡＰＩ）を用いて互いに通信する（データをやり取りする）ことができる。
【００２４】
ユーザデバイス３０２、３０４、３０６およびフレーズ解釈器３１２は各々、データおよびソフトウェアアプリケーションの格納のためのメモリと、アプリケーションを実行する際にデータにアクセスするためのプロセッサと、ネットワーク３０８を介した通信を容易にするコンポーネントとを含む。ユーザデバイス３０２、３０４、３０６は、ウェブブラウザ（たとえばユーザデバイス３０２上で実行されるウェブブラウザアプリケーション３０３）等のアプリケーション３０３を実行する。このアプリケーション３０３は、開発者がアプリケーション３１０を作成して投入できるようにするため、および、フレーズ解釈器３１２によって解釈される自然言語発話を含む発話音声をユーザが投入できるようにするための、アプリケーションである。フレーズ解釈器３１２は、実質的に、図１を参照しながら先に述べた包括的フレームワーク１００の機能を実行する。
【００２５】
環境３００はまた、音響モデル選択インターフェイス３２０を含む。選択インターフェイス３２０は、開発者および／またはユーザが、音響モデル３２２のリポジトリから１つ以上の適切な音響モデルを選択できるようにする。音響モデル３２２のリポジトリは、必ずしも同じ場所に格納されていなくてもよく、各種ソースからの音響モデルを集めたものであってもよい。音響モデルは、開発者および／またはエンドユーザが特定の実装例に応じてカスタマイズすることができる。音響モデル選択インターフェイス３２０は、ブラウザまたはコマンドラインインターフェイスのような、フレーズ解釈器３１２が実装する音響モデルを選択させることができる、任意の種類のインターフェイスであればよい。さらに、フレーズ解釈器３１２が実装する複数の音響モデルが選択されてもよく、フレーズ解釈器３１２は、いずれかの所与のポイントで実装される最良の音響モデルを知的に選択することができる。音響モデルの選択と実装に関する詳細は、以下で他の図面を参照しながら説明する。
【００２６】
フレーズ解釈器３１２は、１つ以上の音響モデル３１４、言語モデル３１６、および自然言語ドメイン３１８を実装する。図１を参照しながら先に説明した音響モデル３１４は、音素および／または音声トークンを出力することができる。フレーズ解釈器３１２の言語モデル３１６は、受けた発話音声のトランスクリプションを作成する。言語モデル３１６は、別の言語解析のアプリケーションを追加する一段または多段モデルであればよい。たとえば、音響モデル３１４は、受けた発話音声を処理して音素を生成することができる。これらの音素は、音素の列を検討しスコアを付ける言語モデル３１６に送ることができる。言語モデル３１６は、場合によってはダイフォン（diphone）またはトライフォン（triphone）解析を用いることにより、見込みのある音素の列を認識することができる。言語モデル３１６は、統計的言語モデルを用いることにより、統計的に見込みのある単語の列を認識することができる。
【００２７】
フレーズ解釈器３１２が実装する自然言語ドメイン３１８は、受けた発話音声のトランスクリプションに実際の意味を加えるものである。図１を参照しながら先に述べたように、自然言語ドメイン３１８は、トランスクリプションにコンテキストと意味とを与えることができる。本明細書において以下でさらに説明する簡単な例として、洗濯機３０６が「今日の試合のサッカージャージを洗濯して下さい」という発話音声を送信するとする。フレーズ解釈器３１２が音素およびトランスクリプションを正しく生成すると、自然言語ドメイン３１８は、冷水を特別に長い浸漬・すすぎサイクルに使用することを洗濯機に命令することにより、転写されたフレーズに意味を与えることができる。これに代えて、単に「サーカージャージを洗濯せよ」という命令を自然言語ドメイン３１８が洗濯機３０６に送り、実現すべき洗濯設定を洗濯機３０６が知的に判断するようにしてもよい。
【００２８】
フレーズ解釈器３１２は、少なくとも１つのハードウェアコンポーネントを用いて実装され、ファームウェア、またはハードウェア上で実行されるソフトウェアも含み得る。ハードウェアと組み合わされてフレーズ解釈器３１２のアクションを実行するソフトウェアが、回転または非回転メモリ等のコンピュータ読取可能媒体に格納されてもよい。非回転メモリは、揮発性であっても不揮発性であってもよい。本願において、コンピュータ読取可能媒体は、メモリに格納されない一時的な電磁信号は含まない。コンピュータ読取可能媒体は、実行のためのプログラム命令を格納する。フレーズ解釈器３１２だけでなく、音響モデル選択インターフェイス３２０、アプリケーション３１０、および音響モデル３２２のリポジトリは、その全体または一部が、クラウドにおいて、または、通信ネットワーク３０８を介して接続された他のエンティティによって、ホストおよび／または実行されてもよい。
【００２９】
図４は、各種音響モデルを実装できる図３の環境の実装例を示す。特に、図４は、図３の環境３００を示し、それに加えて、音声認識のクライアントデバイスとして洗濯機３０６が使用される実装例を示す。図４はユーザデバイスとして洗濯機３０６を実装する例を提供するが、洗濯機３０６の代わりにその他任意のユーザデバイスが使用されてもよい。言い換えると、この実装例は、ユーザデバイスとして洗濯機３０６のみに限定されない。
【００３０】
具体的には、図４は、ユーザ４０２がマイク／スピーカーインターフェイス（図示せず）を用いて直接洗濯機３０６とやり取りをすること、および、ユーザ４０２は携帯電話４０４等の別の電子機器を用いて洗濯機３０６とやり取りできることを示している。一例として、ユーザ４０２は、発話音声を「今日の試合のサッカージャージを洗濯して下さい」として洗濯機３０６に伝えてもよい。この場合も、この発話音声は、洗濯機３０６に直接伝えられても、携帯電話４０４を介して洗濯機３０６に伝えられてもよい。すると、洗濯機３０６は、通信ネットワーク３０８を介して、録音された発話音声を、音声認識および自然言語理解を実施する音声認識プラットフォーム／サーバ３１１に与える。これに代えて、携帯電話４０４が、録音された発話音声を、通信ネットワーク３０８を介して音声認識プラットフォーム／サーバ３１１に伝えてもよい。そうすると、音声認識プラットフォーム／サーバ３１１は、フレーズ解釈器３１２を実装する。洗濯機３０６は、発話音声とともに、メタデータも送信する。なお、メタデータは、洗濯機３０６から通信ネットワーク３０８に送信されてもよく、および／または、洗濯機３０６から携帯電話４０４に送信された後に携帯電話４０４から通信ネットワーク３０８に送信されてもよい。音声認識プラットフォーム／サーバ３１１に伝達される発話音声およびメタデータを得るための、洗濯機３０６、携帯電話３０４、および通信ネットワーク３０８間の通信のその他の組み合わせは、当業者には明らかであろう。
【００３１】
次に、フレーズ解釈器３１２は、適切な音響モデル３１４を選択するためにメタデータを使用する。メタデータは、適切な音響モデル３１４の選択を支援する有効な情報を含み得る。たとえば、メタデータは、デバイスタイプおよび特定のデバイス状態のうちの一方または双方を含み得る。具体的には、メタデータは、（ｉ）洗濯機３０６の一意的な識別（たとえば、デバイスタイプ、型番、シリアルナンバー等）、（ｉｉ）洗濯室内の温度および／または環境状態等の使用状態、（ｉｉｉ）屋外の天候等のその他の環境状態、（ｉｖ）周囲の音響に影響し得る情報、（ｖ）音響モデルの精度に干渉する可能性があるその他の種類の雑音に関する情報、（ｖｉ）洗濯機３０６の現在の動作状態、および、乾燥機または洗濯用シンク等の近くに位置するその他のデバイスの動作状態、ならびに（ｖｉｉ）洗濯機３０６の１つ以上のハードウェアおよびソフトウェアコンポーネントに関する、または、発話音声の受信に必要なおよび／またはユーザに音声フィードバックを与えるための他のコンポーンメントに関する情報を、含み得る。一般的に、音響モデルの選択および調節を最適化するシステムの能力は、発話とともにより多くのメタデータ情報を得ることによって改善される。
【００３２】
フレーズ解釈器３１２が発話音声およびメタデータを受けると、フレーズ解釈器３１２（または音声認識を実行する全体のシステムまたはプラットフォームのその他いくつかのコンポーネント）は、音素を抽出するにはどの音響モデルが最適かを判断することができる。いくつかの実施形態は、洗濯機３０６の型番またはデバイスタイプのみを使用し、フレーズ解釈器３１２は、その特定のデバイスタイプに合わせて作成されたまたは調整された音響モデルを選択することができる。これは先に述べたその他の可能なメタデータについても同じである。さらに、洗濯機３０６のユーザを特定できる場合は、この特定のユーザの声に合わせて調整された音響モデルを実装することができる。なお、さまざまな音響モデルのさまざまな特徴を組み合わせてもよい。たとえば、特定のユーザの声に合わせて音響モデルを調整する特徴を、乾燥機の雑音に合わせて調整された音響モデルの特徴と組み合わせることができる。これは、メタデータに含まれる数多くの情報、および、音声認識プラットフォーム／サーバ３１１が自由に使用できる各種音響モデルに基づいて知的に作成および実装される、ミックスアンドマッチタイプの音響モデルである。
【００３３】
音声認識サービスの開発者または加入者は、特定のデバイスに対して実装するためにどの音響モデルを利用できるかを予め選択することができる。フレーズ解釈器３１２は、これらの予め選択された音響モデルを格納することができる、および／または音響モデル３２２のリポジトリからこれらの予め選択された音響モデルを得ることができる。フレーズ解釈器３１２は、最適な音響モデル３１４の選択に役立つであろうその他の状態４０６を得ることもできる。フレーズ解釈器３１２は、必要な情報を受けると、その仕事にとって最適な音響モデル３１４を選択した後に、選択した音響モデル３１４を使用して音素を生成し、次に言語モデル３１６を実装することによって音素を転写し、次に自然言語ドメイン３１８を適用することによって意味のある命令を与えることができる。
【００３４】
メタデータはまた、自然言語ドメイン３１８を支援する情報を含み得る。たとえば、特定の種類の天候（たとえば降雨）を示す情報をメタデータが含む場合、フレーズ解釈器３１２は、この天候状態によりサッカージャージは泥だらけである可能性が最も高いという知的な判断を下すことができる。フレーズ解釈器３１２から与えられる意味のある命令は、特定の種類の石鹸を投入する、追加の洗浄・すすぎサイクルを実行する、特定の水温を使用するといった洗濯機３０６に対する命令であってもよい。これに代えて、フレーズ解釈器３１２から与えられる意味のある命令は、単純に「汚れたスポーツユニフォーム」であってもよく、そうすると、実現すべき洗浄サイクルおよびオプションを洗濯機３０６が知的に判断する必要がある。いずれにしても、意味のある命令を与えることができるようにするための最も効率が高く正確な方法は、適切な音響モデルを選択できるようにすることである。発話音声を受ける状態に合わせて音響モデルが「調整」または「訓練」されていない場合、言語モデル３１６および自然言語ドメイン３１８が成功を収める可能性は大幅に低下する。
【００３５】
洗濯機３０６および／またはユーザ４０２に返される意味のある情報は、さらに明確にすることを求める要求等である可能性がある。そうすると、ユーザ４０２および／または洗濯機３０６は、それに答えて追加情報をフレーズ解釈器３１２に提供すればよい。加えて、その他の状態４０６は、洗濯機３０６がメタデータに与えることができる情報であってもよいが、その他のソース（たとえば、天候、ユーザのカレンダー情報等）から学習されてもよい。たとえば、フレーズ解釈器３１２がサッカーの試合のおおよその日付／時間および場所を知ることができる場合は、天候、シミが付いてからの経過時間、およびサッカー競技場のグラウンドの種類（たとえば、人工芝、赤土等）を、より正確に知ることができるであろう。
【００３６】
図５は、各種音響モデルを実装できる図３の環境の実装例を示す。特に、図５は、図３の環境３００を示し、さらに、自然言語認識のためにクライアントデバイスとして乗物３０４が使用される実装例を示す。図５はユーザデバイスとして乗物３０４を実装する例を提供するが、乗物３０４の代わりにその他任意のユーザデバイスが使用されてもよい。言い換えると、この実装例は、ユーザデバイスとして乗物３０４のみに限定されない。
【００３７】
具体的には、図５は、乗物３０４がユーザデバイスであり、乗物３０４が発話音声とメタデータとを、自然言語理解を実施する音声認識プラットフォーム／サーバ３１１に送信することを示している。図４に関する上記説明と同様、発話音声およびメタデータは、乗物３０４自体および１つ以上のモバイルデバイスといった通信機器を組み合わせたものを用いて送受信することができる。この乗物３０４を使用する例は、状態および意味のある命令が全く異なることを除いて、洗濯機３０６に関して先に述べたプロセスと同一のプロセスに従う。乗物３０４は複数のマイクおよびスピーカならびに運転者および同乗者の各種構成を有し得るので、発話している１人または複数の同乗者の位置を特定することが有益になる。さらに、乗物３０４は、その位置および運転の種類に応じて、多くの異なる種類の雑音環境に晒される可能性がある。ニューヨークのダウンタウンで交通渋滞が生じているかもしれず、雹の嵐が発生しているかもしれず、泣いている幼児がいるかもしれず、この乗物の窓が開けられているかもしれず、ラジオがついているかもしれず、高い回転数（ＲＰＭ）もしくは低いＲＰＭで走行しているかもしれず、または、乗物３０４がトンネルの中であるかもしれない。乗物３０４は、常にこれらの状況すべてをモニタリングしユーザが音声認識を呼び出したときに使用できる適切なメタデータを格納することができる。加えて、ユーザのモバイルデバイスから収集したメタデータを、乗物３０４が格納および／または送信することもできる。
【００３８】
一例として、乗物３０４の後部座席の同乗者が「グランマ・モーゼスの携帯電話に電話して」と言う場合を想定する。洗濯機３０６について先に述べたメタデータの他に、メタデータは、同乗者の声の録音に使用した１つのマイクおよび／または複数のマイク、乗物３０４の窓は開いていたか閉じていたか、乗物３０４の暖房、換気、および空調（heating ventilation and air conditioning）（ＨＶＡＣ）はフル回転であったか否か等に関する情報、ならびに、最良の音響モデルの選択に影響する可能性がある収集可能なその他の情報を含み得る。
【００３９】
図６は、各種音響モデルを実装できる図３の環境の実装例を示す。特に、図６は、図３の環境３００を示し、さらに、自然言語認識のためにクライアントデバイスとして乗物３０４が使用される実装例を示す。図６はユーザデバイスとして乗物３０４を実装する例を提供するが、乗物３０４の代わりにその他任意のユーザデバイスが使用されてもよい。言い換えると、この実装例は、ユーザデバイスとして乗物３０４のみに限定されない。
【００４０】
図６は、異なる実施形態が示されている点以外、図５に極めてよく似ている。
これらの実施形態のうちの１つは、乗物３０４が、ローカルに格納された一組の音響モデル３２２から適切な音響モデルを選択しその後意味のある命令を考え出すことを含む。この実施形態は、音響モデルを選択するという負担を音声認識プラットフォーム／サーバ３１１から取り除き、乗物３０４が最良の音響モデルを選択できるようにする。開発者および／またはユーザは、乗物３０４を、この乗物３０４用にカスタマイズされた音響モデルを備えるように予め構成してもよく、そうすると、この乗物は、自身で音響モデルを選択することができる。図６に示されるように、乗物３０４は実装する音響モデル４０６を格納することができる。乗物３０４は、音響モデルを自身で実装することができる、または、音響モデルを通信ネットワーク３０８を介して送信することができる。
【００４１】
別の実施形態において、乗物３０４は、（ｉ）自身で音響モデルを選択して実装することにより、意味のある命令を取得し、（ｉｉ）発話音声、メタデータ、および意味のある命令を音声認識プラットフォーム／サーバ３１１に送信することができる。すると、フレーズ解釈器３１２は、自身で音響モデル３１４を選択して意味のある結果を構築するために発話音声およびメタデータを検討することができる。その後、フレーズ解釈器３１２は、自身の意味のある命令を、乗物３０４から受けた意味のある命令と比較することにより、最良の意味のある命令を決定し、この最良の意味のある命令を乗物３０４に送信することができる。この実装例は、音声認識プラットフォーム／サーバ３１１がより正確な音響モデルで更新されているまたはその逆の可能性がある状況において、有益であろう。
【００４２】
音声認識を実装するユーザデバイスは多種多様である可能性があり、そのようなユーザデバイスは常に増加しているので、図４〜図６に関する説明は例にすぎない。
【００４３】
図７は、各種音響モデルを実装できる図３の環境の実装例を示す。特に、図７は、図３の環境３００を示し、さらに、実装および／または訓練等のためのカスタム音響モデルを開発者が選択するために使用できるインターフェイス７０２を示す。
【００４４】
具体的には、図７は、音響モデル選択インターフェイス３２０が開発者にインターフェイス７０２を提供することを示している。インターフェイス７０２は、カスタマイズされたアプリケーションまたはプログラムを通して提供されるグラフィカルユーザインターフェイスであってもよく、または、ウェブブラウザを通して閲覧できるものであってもよい。当業者は、インターフェイス７０２が包含するさまざまな種類のインターフェイスを認識するであろう。たとえば、インターフェイス７０２は、テキスト命令に対して応答するコマンドラインインターフェイスであってもよい。さらに、インターフェイス７０２は、種類が異なる状態、デバイスタイプ等に対して実現する異なるモデルを開発者が選択できるようにすることができる。この例において、開発者は、第１の状態に対して音響モデルＡまたは音響モデルＢのいずれを実装すべきかを選択することができる。第１の状態は、ユーザデバイス（たとえばエスプレッソマシン）が家庭環境またはビジネス／商業環境において使用されているか否かであってもよい。ユーザデバイスは、雑音を発する機器が近くにあるか否かに関連し得る第２の状態に対して音響モデルＣまたは音響モデルＤのいずれかを選択することもできる。たとえば、豆挽き器が近辺にあることがわかっているまたは近辺にあると予想されるときに開発者は音響モデルＣを選択することができる。この例では、開発者が音響モデルＢ（家庭での使用）および音響モデルＣ（豆挽き器がごく近くにある）を選択したと想定する。
【００４５】
それに応じて、音響モデルＢおよびＣを、デバイスＩＤに関連付けて、または、本明細書に記載のその他任意の種類のＩＤに関連付けて格納することができる。フレーズ解釈器３１２が最良の音響モデルを選択する実装例では、フレーズ解釈機３１２が音響モデルＢおよびＣを送信および／または格納してもよく、または、音響モデルＢおよびＣの場所をフレーズ解釈器３１２に認識させ、音響モデルＢおよびＣが特定の識別子（ＩＤ）についてのエスプレッソマシンに関する選択肢であることをフレーズ解釈器３１２に認識させるようにしてもよい。そうすると、フレーズ解釈器３１２は、発話音声とともに受信したメタデータに基づいて、音響モデルＢまたは音響モデルＣのいずれかを選択することができる。加えて、先に述べたように、音響モデルをミックス・マッチする（部分的に組み合わせる）ことによって最高の結果を提供することができる。
【００４６】
これに代えて、音響モデルＢおよび音響モデルＣをユーザデバイス３０２（たとえばエスプレッソマシン）に送信し、適切な音響モデルをユーザデバイス３０２が選択できるようにしてもよい。ユーザデバイス３０２、３０４、３０６上で実行されているアプリケーションの開発者がインターフェイス７０２から音響モデルを選択してもよい。
【００４７】
音響モデル選択インターフェイス３２０は、発話音声をメタデータとともに音声認識プラットフォーム／サーバ３１１に提供することもでき、これは、発話音声およびメタデータがユーザデバイス３０２、３０４、３０６から音声認識プラットフォーム／サーバ３１１に送られるのとは対照的である。
【００４８】
たとえば、開発者は、コンピュータシステム上で実行されているインターフェイス７０２を通して、特定種類のユーザデバイス（たとえば洗濯機３０６）に適した少なくとも２つの音響モデルで構成される一組の音響モデル（または音響モデル１つだけ）を選択することができる。次に、その後の時点において、音響モデル選択インターフェイス３２０が受けた発話音声およびメタデータを、音響モデル選択インターフェイス３２０を実行しているコンピュータシステムを介して、および／またはユーザデバイスから、音声認識プラットフォーム／サーバ３１１に送信することができる。すると、音声認識プラットフォーム／サーバ３１１は、（フレーズ解釈器３１２を用いて）、音響モデル選択インターフェイス３２０を実行しているコンピュータシステムに、上記一組の音響モデルのうちの１つの音響モデルの選択に応じて、意味のある命令を与える。フレーズ解釈器３１２は、メタデータに基づいて、上記一組のモデルから１つのモデルを知的に選択してから意味のある命令を決定することができる。
【００４９】
これに代えて、音響モデル選択インターフェイス３２０を実行しているコンピュータシステムは、メタデータまたはその他の情報に応じて一組の音響モデルから１つの音響モデルを選択し、その後、選択した音響モデルを実装するようフレーズ解釈器３１２に命令してもよい。
【００５０】
さらに、インターフェイス７０２上で開発者に対して提示される音響モデルは、特定種類のユーザデバイスに適した音響モデルとなるよう、予め選択することができる。特定種類の計算に適したこれらの音響モデルは、特定種類のユーザデバイスから受けたメタデータまたは特定種類のユーザデバイスに関連付けられたメタデータに応じて、このユーザデバイスのアクティブセッションにおいて、予め選択することができる。言い換えると、ユーザデバイスから受けたメタデータを解析し、受けたメタデータに応じて適切な音響モデルを予め選択してから、それを開発者に提示することができる。このような実装例の目的は、関連性がない音響モデルによって開発者に負担をかけないようにすること、または、有益ではなく有害な音響モデルを開発者が選択しないようにすることである。また、ユーザデバイスのアクティブセッション外であっても、開発者はさまざまな種類のユーザデバイスに適した音響モデルを選択することができる。先に述べたのと同様のやり方で、音響モデル選択インターフェイス３２０を実行しているコンピューティングシステムは、開発者が構成しているユーザデバイスの各タイプに適した音響モデルを予め選択することができる。
【００５１】
加えて、ユーザデバイス３０２、３０４、３０６の開発者および／または製造者は、これらユーザデバイス３０２、３０４、３０５のタイプ、および／またはこれらのユーザデバイス３０２、３０４、３０６を実装するかもしれないもしくは実装できる環境もしくは状態に合わせて特別に調整された、カスタマイズされた音響モデルを既に開発している、または訓練している場合がある。これらのカスタマイズされたモデルは、選択のためにインターフェイス７０２を介して開発者に提示することができる。音響モデルを訓練する環境については以下で図８を参照しながら説明する。
【００５２】
図８は、カスタマイズされた音響モデルを訓練することができる図３の環境の実装の一例を示す。特に、図８は、図３の環境３００を示し、また、如何にして音響モデル３２２を実装の前に訓練できるかを示す。
【００５３】
具体的には、図８は、クリーン音声８０２および雑音８０４等の訓練データを音響モデルに入力することによってモデル訓練８０８を実行できることを示している。訓練される音響モデルは、開発者もしくは製造者から提供することができる、または、特定種類のデバイスおよび／または環境における実装用に訓練された一般モデルであってもよい。クリーン音声８０２は、一般的なものであってもよく、または、ユーザデバイス３０２、３０４、３０６が受信すると予想されるフレーズに基づいて特別に選択されてもよい。たとえば、異なる言語には異なる訓練音声が必要である。同様に、雑音８０４は、一般的なものであってもよく、または、ユーザデバイス３０２、３０４、３０６の動作環境において予想される雑音の種類に基づいて選択されてもよい。雑音８０４は、開発者および／または製造者から提供することができる。開発者および／または製造者は、雑音８０４を、カスタマイズされた雑音データの形態で提供することができる、または、雑音を生成するカスタマイズされた雑音モデルの形態でも提供することができる。開発者および／または製造者はまた、音響モデル３２２の一部として、即時実装用にカスタマイズされた音響モデルを提供することができ、開発者および／または製造者は、さらなるモデル訓練８０８のためにカスタマイズされた音響モデルを提供することができる。さらに、クリーン音声８０２および／または雑音８０４は、開発者および／または製造者が、音響モデル３２２からの音響モデルを自らで訓練し最終的にカスタマイズされ訓練された音響モデルを提供できるよう、開発者および／または製造者に提供されてもよい。音響モデル３２２のリポジトリをパースまたは分離することにより、ある開発者のおよび／または製造者のモデルが別の開発者および／または製造者によって実装されるというセキュリティ上の問題を防止することができる。
【００５４】
開発者および／または製造者は、音響モデル選択インターフェイス３２０と同様のインターフェイスを用いて、音響モデルを訓練することもできる。訓練された音響モデルは、図７を参照しながら先に述べたようにインターフェイス７０２を用いて選択することができる。
【００５５】
いくつかの実施形態は、たとえば各種アプリケーションを実行することによって各種ソフトウェア状態で動作することができる携帯電話等のデバイスである、またはデバイスに対するサーバとして機能する。どのアプリケーション（１つまたは複数）が実行されているかというステータスは、適切な音響モデルの選択に役立ち得る一種の状態である。たとえば、比較的低雑音の環境ではほとんどの場合電子メールアプリケーションが使用される。ナビゲーションアプリケーションは、乗物の道路または街路雑音が存在する可能性が高いことを示し得る。音楽プレーヤー、ビデオプレーヤー、またはゲーム等、音声を出力するアプリケーションは、背景音楽音に対して柔軟な音響モデルを好むであろう。
【００５６】
いくつかの実施形態は、各種物理またはハードウェア状態で動作するデバイスである、またはデバイスに対するサーバとして機能する。たとえば、モバイルおよびポータブルデバイスのジオロケーション（geolocation）または動きの種類は、音響モデルの選択を導くのに役立つ。たとえば、競技場内のデバイスは、背景音声について訓練された音響モデルを好み、高速で動くデバイスは、道路雑音について訓練された音響モデルを好むであろう。
【００５７】
基本的に、光レベルセンサ、加速度計、マイク、カメラ、衛星ナビゲーション（ＧＰＳ等）受信機、およびBluetooth（登録商標）受信機といった携帯電話の中にあるどの種類のセンサも、カメラ、ＬＩＤＡＲ、ジオロケーション、光レベル、牽引レベル、およびエンジン状態といった自動車の中にあるどの種類のセンサも、音響モデルの選択に役立つ情報を提供することができる。
【００５８】
いくつかの実施形態は、通常検出することができるデバイス状態データを収集し、それを、オンラインまたはオフラインで、教師ありまたは教師なしの機械学習アルゴリズムを用いて音声記録に適用することによって、所与のデバイス状態において最も正確に音響モデルを選択し調整するためのモデルを訓練する。
【００５９】
いくつかの実施形態は、発話音声に対応付けられたメタデータによって符号化されたデバイスタイプに従って音響モデルを選択する。このような実施形態のうちのいくつかは、複数種類のデバイス各々に対して一般コードを有する。それはたとえば、洗濯機、コーヒーマシン、および自動車を区別するコードである。いくつかの実施形態は、型番をメタデータとして符号化する。これは、家庭用コーヒーマシンと業務用コーヒーマシンとを区別する、またはスポーツ車と高級車とを区別するのに役立つ。いくつかの実施形態は、デバイスの各製品を一意に識別するシリアルナンバーを符号化する。これは、デバイスの実際の典型的な用途に合わせて音響モデルの選択をパーソナライズするのに役立ち得る。たとえば、コーヒーメーカーのいくつかのモデルは、ノイズ環境が異なる家庭および職場で使用できる。いくつかのデバイスはアクセントが異なる消費者によって購入される。デバイスのシリアルナンバーに基づいて音響モデルを選択することにより、選ばれた音響モデルが特定のアクセントを有する消費者にとって好都合な場合、音声認識の精度を高めることができる。
【００６０】
乗物およびウェアラブルデバイス等のいくつかの実施形態は、時折または常に、ネットワークを介して音声認識サーバにアクセスすることなく動作する。このような実施形態は、ローカルに格納された複数の音響モデル３２２のうちの１つ以上を用いて音声認識をローカルに実行する。デバイスタイプは特別に有用な種類のメタデータではないが、デバイス状態は、音声認識のために最良の音響モデルを発話ごとに選択するのに有用である。
【００６１】
メタデータによって導かれる音響モデルの選択を利用するローカル音声認識を実行するいくつかの実施形態は、メタデータを格納する記憶素子を含む。たとえば、自動車は、窓の位置、換気扇の状態、およびその音響システムの音量を示すメタデータを格納する。これらはすべて、さまざまな実施形態において適切な音響モデルを選択するのに役立つ。音響モデル選択方法のために実施形態において格納されるメタデータを使用することは、この方法を実行するためにメタデータが受信されると解釈されねばならない。
【００６２】
ネットワーク接続されたサーバベースのいくつかのシステムは、適切な音響モデルをデバイス内にローカルに格納し、発話ごとに、または状態の変化を検出するたびに、最良の音響モデルを選択する。ネットワークを介して音声認識サーバに発話を送信するとき、システムは、音響モデルを発話音声とともに送信する。
【００６３】
口述用、小語彙コマンド認識用、キーワード検索用、またはフレーズスポッティング用等のいくつかの実施形態は、自然言語理解なしで音声認識を実行し、いくつかの実施形態では言語モデルを使用しない。
【００６４】
いくつかの実施形態は、SoundHound社のHoundify（登録商標）のようなカスタム音声認識プラットフォームである、またはこれを含む。これらは、サーバベースの音声認識を提供し、いくつかの実施形態では、自然言語処理および仮想アシスタント機能も提供する。いくつかの実施形態に係るプラットフォームは、開発者がその特定のデバイスに合わせて音声認識をカスタマイズするためのインターフェイスを提供する。このようないくつかのプラットフォームは、単純に、音声認識が近距離場音響モデルを使用すべきかまたは遠距離場音響モデルを使用すべきかの選択を提供する。いくつかのプラットフォームは、語彙サイズ、マイクの数、アプリケーションの種類、雑音プロファイル、およびデバイスのプライスポイント等のその他多数の構成パラメータを提供する。
【００６５】
いくつかの実施形態は、このようなプラットフォーム構成インターフェイスを用いてある種のデバイス用の音声認識を構成する方法を含む。音声対応システムを開発する企業の中には、このようなプラットフォームを使用してそのクライアントデバイスのためにサーバベースの認識動作を構成する企業がある。いくつかの企業は、プラットフォームを用いて、デバイス上でローカルに実行する音声認識ソフトウェアを構成する。いずれの場合でも、いくつかのプラットフォームはテスト発話音声を認識する能力を提供し何人かの開発者はこの能力を利用する。いくつかのこのようなプラットフォームおよびユーザは、テスト発話音声をテストメタデータとともに提供することにより、その開発中のデバイスおよびシステムのための、意図する音響モデル選択の実行を、観察し変化させる。
【００６６】
いくつかの実施形態は、ハードディスクドライブ、ソリッドステートドライブ、またはフラッシュＲＡＭチップ等のコンピュータ読取可能媒体を１つ以上含む。サーバシステムとともに機能するように設計されたいくつかのデバイスは、音響モデルの選択に役立つメタデータの検出をデバイスに実行させるようにデバイスを制御するためのソフトウェアを格納するこのようなコンピュータ読取可能媒体を含む。これは、たとえば、デバイスのローカルセンサから読出すまたは格納されているデバイスステータスを記憶媒体から読出すことによって可能である。このようなソフトウェアはまた、デバイスが発話音声を受信しこの発話音声とメタデータとをサーバに送信し、要求した情報をサーバから受信するように制御する。たとえば、発話音声は天気予報を求める要求であってもよく、受信しる情報は天気報告の記述であろう。別の例として、発話音声はテキストメッセージの送信を求める要求であってもよく、受信する情報はテキストメッセージ作成機能を実行するようデバイスを制御するデータ構造であろう。
【００６７】
本発明のための、記憶媒体においてデータを有するという受動的行為は、誰が記憶媒体にデータを書き込んだかにも、いつまたはどのようにして書込が行われたかにも関係なく、格納するという行為として解釈されねばならない。
【００６８】
図９は、図３の環境３００の各種コンポーネントを実装できるコンピュータシステムの一例のブロック図である。典型的に、コンピュータシステム９１０は、バスサブシステム９１２を介して複数の周辺機器と通信する少なくとも１つのプロセッサ９１４を含む。これらの周辺機器は、たとえばメモリデバイスおよびファイル記憶サブシステムを含む記憶サブシステム９２４と、ユーザインターフェイス入力デバイス９２２と、ユーザインターフェイス出力デバイス９２０と、ネットワークインターフェイスサブシステム９１６とを含み得る。入出力装置により、ユーザはコンピュータシステム９１０とやり取りすることができる。ネットワークインターフェイスサブシステム９１６は、通信ネットワーク３０８へのインターフェイスを含む外部ネットワークへのインターフェイスを提供し、通信ネットワーク３０８を介してその他のコンピュータシステム内の対応するインターフェイスデバイスに結合される。
【００６９】
ユーザインターフェイス入力デバイス９２２は、キーボード、マウスやトラックボール等のポインティングデバイス、タッチパッドまたはグラフィクスタブレット、スキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システム等の音声入力デバイス、マイク、およびその他の種類の入力デバイスを含み得る。一般的に、「入力デバイス」という用語の使用は、可能なすべての種類のデバイスと、コンピュータシステム９１０内にまたは通信ネットワーク３０８上に情報を入力する方法とを含むことを意図している。
【００７０】
ユーザインターフェイス出力デバイス９２０は、ディスプレイサブシステム、プリンタ、ファクシミリマシン、または、音声出力装置等の非視覚的ディスプレイを含み得る。ディスプレイサブシステムは、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）等のフラットパネルデバイス、投射デバイス、または可視画像を作成するためのその他何らかのメカニズムを含み得る。また、ディスプレイサブシステムは、たとえば音声出力デバイスを介した非視覚的ディスプレイを提供し得る。一般的に、「出力デバイス」という用語の使用は、可能なすべての種類のデバイスと、コンピュータシステム９１０からユーザにまたは別のマシンもしくはコンピュータシステムに情報を出力する方法とを含むことを意図している。
【００７１】
記憶サブシステム９２４は、本明細書に記載のモジュールのうちのいくつかまたはすべての機能を提供するプログラミングおよびデータ構成を格納する。これらのソフトウェアモジュールは一般的に、プロセッサ９１４が単独で実行する、または、プロセッサ９１４が他のプロセッサとともに実行する。
【００７２】
記憶サブシステムで使用されるメモリ９２６は、複数のメモリを含み得る。これらのメモリは、プログラム実行中に命令およびデータを格納するためのメインランダムアクセスメモリ（ＲＡＭ）９３０、および、固定命令が格納される読出し専用メモリ（ＲＯＭ）９３２を含む。ファイル記憶サブシステム９２８は、プログラムおよびデータファイルの永続記憶を提供することができ、ハードディスクドライブ、対応付けられたリムーバブル媒体とともにフロッピー（登録商標）ディスクドライブ、ＣＤ−ＲＯＭドライブ、光学ドライブ、またはリムーバブル媒体カートリッジを含み得る。特定の実施形態の機能を実装するモジュールが、ファイル記憶サブシステム９２８によって記憶サブシステム９２４にまたはプロセッサがアクセス可能なその他のマシンに格納されてもよい。
【００７３】
バスサブシステム９１２は、コンピュータシステム９１０の各種コンポーネントおよびサブシステムが意図される通りに相互通信するためのメカニズムを提供する。バスサブシステム９１２は１つのバスとして概略的に示されているが、バスサブシステムの代替実施形態は複数のバスを使用し得る。
【００７４】
コンピュータシステム９１０は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、またはその他いずれかのデータ処理システムもしくはコンピューティングデバイスを含む多種多様な種類のものであってもよい。コンピュータおよびネットワークは絶えず変化しているので、図９に示されるコンピュータシステム９１０の説明は、各種実施形態を説明するための具体例を意図しているにすぎない。その他多くのコンピュータシステム９１０の構成が可能である。
【００７５】
いくつかの具体的実装例
音声認識を実行するための各種実装例について説明する。
【００７６】
開示される技術は、システム、方法、または製品（コードを格納する非一時的なコンピュータ読取可能媒体（computer readable medium））として実施することができる。ある実装例の１つ以上の特徴を、基礎となる実装例と組み合わせることができる。相互に排他的ではない実装例は組み合わせることができると教示される。ある実装例の１つ以上の特徴をその他の実装例と組み合わせることができる。この開示は定期的にこれらの選択肢をユーザに思い出させる。これらの選択肢を繰り返す記載がいくつかの実装例から省略されていたとしても、それは前のセクションで教示した組み合わせを制限するものとみなされてはならない。これらの記載を、以下の実装例各々に、引用により援用する。
【００７７】
開示される技術のシステム実装例は、メモリに結合された１つ以上のプロセッサを含む。このメモリには、各種動作を実行するコンピュータ命令がロードされる。開示される技術のＣＲＭ実装例は、１つ以上のコンピュータによって実行されると当該１つ以上のコンピュータに各種動作を実行させるコードを格納する非一時的なコンピュータ読取可能媒体を含む。システム実装例およびＣＲＭ実装例は、下記方法実装例のうちのいずれかを実行することができる。
【００７８】
一実装例において、複数の異なるデバイスの音声認識を実行する方法が提供される。この方法は、異なるデバイス状態に対応付けられた複数の音響モデルを格納するステップと、自然言語発話を含む発話音声を受信するステップと、デバイス状態を示すメタデータを受信するステップと、受信したデバイス状態を示すメタデータに応じて、音響モデルを複数の音響モデルから選択するステップと、選択した音響モデルを使用して、受信した発話音声に含まれる自然言語発話からの音声を認識するステップとを含む。
【００７９】
別の実装例において、複数の異なるデバイスの音声認識を実行する方法が提供される。この方法は、異なるデバイスタイプに対応付けられた複数の音響モデルを格納するステップと、自然言語発話を含む発話音声を受信するステップと、デバイスタイプを示すメタデータを受信するステップと、受信したデバイスタイプを示すメタデータに応じて、音響モデルを複数の音響モデルから選択するステップと、選択した音響モデルを使用して、受信した発話音声に含まれる自然言語発話からの音声を認識するステップとを含む。
【００８０】
さらに、他の実装例において、デバイス固有の音声認識を構成するためのプラットフォームを提供する方法が提供される。この方法は、特定のタイプのデバイスに適した少なくとも２つの音響モデルのセットを開発者が選択するためのユーザインターフェイスを提供するステップと、少なくとも２つの音響モデルのセットの選択を開発者から受信するステップと、音声認識システムを構成してデバイス固有の音声認識を実行するステップとを含む。
【００８１】
別の実装例において、デバイス固有の音声認識を実行するための音声認識システムを構成する方法が提供される。この方法は、特定のデバイスタイプのデバイスから、自然言語発話を含む発話音声と、受ける発話音声に対応付けられたメタデータとを受信するステップと、受信したメタデータに応じて少なくとも２つの音響モデルから１つの音響モデルを選択するステップと、選択した音響モデルを用いて、受信した発話音声に含まれる自然言語発話からの音声を認識するステップとを含む。
【００８２】
さらに他の実装例において、デバイス固有の音声認識を構成するためのプラットフォームを使用する方法が提供される。この方法は、コンピュータシステムが提供するユーザインターフェイスを通して、特定のタイプのデバイスに適した少なくとも２つの音響モデルのセットを選択するステップと、プラットフォームに対応付けられた音声認識システムに、発話音声をメタデータとともに提供するステップと、コンピュータ音声認識システムから意味のある命令を受信するステップとを含み、この意味のある命令は、音声認識システムが、上記セットに含まれる音響モデルのうちの１つの音響モデルの選択に応じて生成する。
【００８３】
別の実装例において、コードを格納する非一時的なコンピュータ読取可能媒体が提供される。このコードは、１つ以上のコンピュータによって実行されると、音響モデルの選択に有用でありかつデバイス状態を示す情報を検出し、発話音声を受信し、検出した情報と受信した発話音声とを送信し、発話音声の音声によって要求した情報を受信することを、上記１つ以上のコンピュータに実行させる。検出された情報を用いることにより、異なるデバイス状態に対応付けられた複数の音響モデルから音響モデルを選択することができ、選択した音響モデルを用いて、送信された発話音声からの音声を認識する。
【００８４】
システム、方法、および製品に適用可能な特徴は、基本的特徴の法定クラスごとに繰り返される訳ではない。このセクションにおいて特定された特徴を他の法定クラスにおける基本的特徴と如何にして簡単に組み合わせることができるかを、読み手は理解するであろう。
【図１】
2019211752.tif 000004
【図２】
2019211752.tif 000005
【図３】
2019211752.tif 000006
【図４】
2019211752.tif 000007
【図５】
2019211752.tif 000008
【図６】
2019211752.tif 000009
【図７】
2019211752.tif 000010
【図８】
2019211752.tif 000011
【図９】
2019211752.tif 000012
【外国語明細書】
2019211752000001.pdf