特許第6874037号(P6874037)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ サウンドハウンド,インコーポレイテッドの特許一覧

<>
  • 特許6874037-カスタム音響モデル 図000003
  • 特許6874037-カスタム音響モデル 図000004
  • 特許6874037-カスタム音響モデル 図000005
  • 特許6874037-カスタム音響モデル 図000006
  • 特許6874037-カスタム音響モデル 図000007
  • 特許6874037-カスタム音響モデル 図000008
  • 特許6874037-カスタム音響モデル 図000009
  • 特許6874037-カスタム音響モデル 図000010
  • 特許6874037-カスタム音響モデル 図000011
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6874037
(24)【登録日】2021年4月23日
(45)【発行日】2021年5月19日
(54)【発明の名称】カスタム音響モデル
(51)【国際特許分類】
   G10L 15/18 20130101AFI20210510BHJP
【FI】
   G10L15/18 400
【請求項の数】16
【外国語出願】
【全頁数】21
(21)【出願番号】特願2019-29710(P2019-29710)
(22)【出願日】2019年2月21日
(65)【公開番号】特開2019-211752(P2019-211752A)
(43)【公開日】2019年12月12日
【審査請求日】2019年4月22日
(31)【優先権主張番号】15/996,393
(32)【優先日】2018年6月1日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】507134068
【氏名又は名称】サウンドハウンド,インコーポレイテッド
(74)【代理人】
【識別番号】110001195
【氏名又は名称】特許業務法人深見特許事務所
(72)【発明者】
【氏名】メフール・パテル
(72)【発明者】
【氏名】キーバン・モハジェー
【審査官】 渡部 幸和
(56)【参考文献】
【文献】 国際公開第2005/010868(WO,A1)
【文献】 特開2000−353294(JP,A)
【文献】 特開2005−181459(JP,A)
【文献】 特開2003−177790(JP,A)
【文献】 特開2008−158328(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 13/00−15/34
G06F 3/00−3/16
(57)【特許請求の範囲】
【請求項1】
デバイス固有の音声認識を構成するためのプラットフォームを提供する方法であって、前記方法は、
特定のタイプのデバイスに適した少なくとも2つの音響モデルのセットを開発者が選択するためのユーザインターフェイスを提供するステップと、
前記少なくとも2つの音響モデルのセットの選択を開発者から受信するステップと、
音声認識システムを構成して、前記少なくとも2つの音響モデルのセットの中の1つの音響モデルを使用して、前記特定のタイプのデバイス固有の音声認識を実行するステップとを含む、方法。
【請求項2】
前記デバイス固有の音声認識は、
前記特定のタイプのデバイスから、自然言語発話を含む発話音声を受信し前記受信する発話音声に対応付けられたメタデータを受信することと、
前記受信したメタデータに応じて、前記セットの前記少なくとも2つの音響モデルから1つの音響モデルを選択することと、
前記選択した音響モデルを使用して、前記受信した発話音声に含まれる前記自然言語発話からの音声を認識することとを含む、請求項1に記載の方法。
【請求項3】
前記メタデータは、前記特定のタイプのデバイスに従って前記セットに含まれる音響モデルを特定する、請求項2に記載の方法。
【請求項4】
前記メタデータは前記デバイスの特定のデバイス状態を特定し、前記音声認識システムは、前記特定のデバイス状態に応じて前記セットから前記1つの音響モデルを選択する、請求項2に記載の方法。
【請求項5】
前記特定のタイプのデバイスに適したカスタム音響モデルを受信するステップと、
前記セットの前記音響モデルのうちの1つとして選択される前記カスタム音響モデルを前記ユーザインターフェイス内に提供するステップとをさらに含む、請求項1〜請求項4のいずれか1項に記載の方法。
【請求項6】
前記特定のタイプのデバイスに適した訓練データを受信するステップと、
前記受信した訓練データを用いて音響モデルを訓練するステップと、
前記セットの前記音響モデルのうちの1つとして選択される前記訓練した音響モデルを、前記ユーザインターフェイス内に提供するステップとをさらに含む、請求項1〜請求項5のいずれか1項に記載の方法。
【請求項7】
デバイス固有の音声認識を構成するためのプラットフォームを使用する方法であって、前記方法は、
コンピュータシステムが提供する開発者のインターフェイスを通して、特定のタイプのデバイスに適した少なくとも2つの音響モデルのセットを選択するステップと、
カスタマイズされた雑音のデータを前記開発者のインターフェイスを通して提供するステップと、
前記開発者のインターフェイスから、(i)前記開発者のインターフェイスを通して提供された前記カスタマイズされた雑音のデータおよび(ii)クリーンな音声のデータを用いて訓練された、カスタム音響モデルを受信するステップと、
前記プラットフォームに対応付けられた音声認識システムに、発話音声をメタデータとともに提供するステップとを含む、方法。
【請求項8】
前記特定のタイプのデバイスに適したカスタム音響モデルを前記開発者のインターフェイスに提供するステップをさらに含み、
前記選択する音響モデルのセットは、前記提供するカスタム音響モデルを含む、請求項7に記載の方法。
【請求項9】
前記特定のタイプのデバイスに適した音響モデルを訓練するための訓練データを提供するステップと、
前記提供した訓練データに基づいて訓練された音響モデルを前記開発者のインターフェイスの中から選択するステップとをさらに含む、請求項7または請求項8に記載の方法。
【請求項10】
前記メタデータは、前記特定のタイプのデバイスに従って前記セットに含まれる音響モデルを特定する、請求項7〜請求項9のいずれか1項に記載の方法。
【請求項11】
前記メタデータは特定のデバイス状態を特定し、前記コンピュータシステムは、前記特定のデバイス状態に応じて前記セットから1つの音響モデルを選択する、請求項7〜請求項9のいずれか1項に記載の方法。
【請求項12】
前記開発者からカスタマイズされた雑音のデータを受信するステップと、
前記カスタマイズされた雑音のデータとクリーンな音声のデータとを用いて、前記カスタ音響モデルを訓練するステップと、
前記デバイス固有の音声認識に利用される、訓練された前記カスタム音響モデルを提供するステップと、をさらに備える、請求項に記載の方法。
【請求項13】
前記特定のタイプのローカルなデバイス上で、訓練された前記カスタム音響モデルを利用するステップをさらに備える、請求項7〜請求項11のいずれか1項に記載の方法。
【請求項14】
前記音声認識システムにおいて、音声認識に利用される訓練された前記カスタム音響モデルを選択するステップをさらに備える、請求項7〜請求項11および請求項13のいずれか1項に記載の方法。
【請求項15】
1つ以上のコンピュータによって実行されると請求項1〜請求項14のいずれか1項に記載の方法を前記1つ以上のコンピュータに実施させるコンピュータプログラム。
【請求項16】
1つ以上のコンピュータと、
前記1つ以上のコンピュータによって実行されると請求項1〜請求項14のいずれか1項に記載の方法を前記1つ以上のコンピュータに実施させるコンピュータプログラムを格納するメモリデバイスとを備えるコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【0001】
背景
開示する技術は自動音声認識(automatic speech recognition)(ASR)に関する。特に、開示する技術は、インテリジェント音声認識システムにおけるカスタム音響モデルの作成、識別、選択、および実装に関する。
【背景技術】
【0002】
音声認識システムは、現代の社会においてより広く普及するようになっている。ますます多くの常用機器、たとえば、特定用途向けの機器、乗物、モバイルデバイスなどが、音声認識機能を備えている。問題は、これらの常用機器が、ユーザから受信した発話音声に基づいて意味のある応答を提供することができないことである。この問題の根本的な原因の1つは、常用機器および/またはそれに接続されたローカルもしくは遠隔サービスが、受信した発話音声を適切なトランスクリプションに正確に変換できないことにある。一般的に、受信した発話音声は、音響モデルを用いて音素に変換する。しかしながら、これらの常用機器および/またはそれに接続されたローカルもしくは遠隔サービスが使用している音響モデルは、その(i)環境、(ii)予想される使用状態および/または(iii)予想されるユースケース結果に合わせて作られたものではない。そのため、音声認識機能が与えられたこれらの常用機器は、受信した発話音声を、それに基づいて有用な結果をユーザに伝えるとともにユーザまたはユーザのデバイスが適宜応答できるようにするための、信頼度が高いトランスクリプションに、正確に変換することができない。
【発明の概要】
【発明が解決しようとする課題】
【0003】
この問題の一例を以下に示す。あるコーヒーショップが、そのエスプレッソマシンを、音声起動される(すなわち音声認識システムが組み込まれた)新しいハイテクマシンにアップグレードすることに決めたと想定する。このエスプレッソマシンによって実装される音響モデルは、一般的な音響モデルであり、使用環境に合わせてカスタマイズされていない。この特定のコーヒーショップは、工業用室内装飾が最小限に抑えられているため、音は、他の環境における典型的な反響よりも遙かに大きく反響し響き渡る。さらに、エスプレッソマシンが配置された場所の片側は、顧客の注文を受けるエリアであり、エスプレッソマシンの前には流し台があり、エスプレッソマシンの反対側に豆挽き器がある。言うまでもなく、エスプレッソマシンの音声認識システムは、多くの背景雑音を受ける。加えて、コーヒーショップの温度は、暖かくなる傾向があり、エスプレッソマシンの構成部品は、常に使用されていると非常に熱くなる。これらの温度が原因で、1つ以上のマイクおよびそれに関連する電気部品の特徴の挙動が、通常の挙動とみなされるものから逸脱する。これらの要素すべてが、一般的な音響モデルとあいまって、エスプレッソマシンのトランスクリプションおよび応答を、エスプレッソマシンの音声認識特性の利用を非現実的にするほどの、極めて不正確なものにする。
【0004】
これらの問題は、特定のデバイスに合わせて調整できるとともに先に述べたようなさまざまな環境および動作状態に基づいて調整できる音響モデルを実装することが可能な技術を開発する機会を提供する。開示する技術は、これらの問題を解決し、より正確な音声認識システムおよび意味のある結果を提供することができる。
【課題を解決するための手段】
【0005】
概要
概して、開示する技術は、発話を解析するための自動音声認識(ASR)に関する。特に、開示する技術は、意味のある結果をエンドユーザに提供できるよう、音声認識システムにおける音響モデルを識別し、選択し、実装することに関する。開示する技術は、発話音声をその他のデータ(すなわちメタデータ)とともに受信したときに、どの音響モデルを実装すべきかを判断することができる。上記その他のデータは、デバイス(たとえば、エスプレッソマシンまたは洗濯機または乗物といったエンドユーザのデバイス)の種類および/またはこのデバイスの1つ以上の状態を示すデータである。また、開示する技術は、意味のある結果を提供できるようにするためには、どの種類の音響モデルを実装すべきか、または、最も実装すべきかを、製品の製造者または開発者が選択できるようにするインターフェイスを有する音声認識システムを提供する。
【0006】
開示する技術の具体的な側面は、請求項、明細書および図面に記載される。
【図面の簡単な説明】
【0007】
図1】音声認識および自然言語理解システムによって実装される包括的フレームワークを示すブロック図である。
図2】自然言語理解(NLU)のための言語モデルと音響モデルとの間のやり取りの実施形態の一例を示すブロック図である。
図3】各種音響モデルを実装できる環境の一例の図を示す。
図4】各種音響モデルを実装できる図3の環境の実装の一例を示す。
図5】各種音響モデルを実装できる図3の環境の実装の一例を示す。
図6】各種音響モデルを実装できる図3の環境の実装の一例を示す。
図7】各種音響モデルを実装できる図3の環境の実装の一例を示す。
図8】カスタマイズされた音響モデルを訓練することができる図3の環境の実装の一例を示す。
図9図3の環境の各種要素を実装出来るコンピュータシステムの一例のブロック図である。
【発明を実施するための形態】
【0008】
詳細な説明
以下、図面を参照しながら詳細な説明を行う。開示する技術を、請求項によって定められるその範囲を限定するためではなく、明らかにするために、実装例を説明する。以下の説明について各種の均等な変形を当業者は認識するであろう。
【0009】
図1は、音声認識および自然言語理解システム(たとえば自然言語理解プラットフォーム/サーバ)によって実装される包括的フレームワークを示すブロック図である。音声認識および自然言語理解システムの最新の実装例において、一般的に、音声認識は、先ず一列の単語または一組の単語列仮説を生成するために適用される。この種のシステムは、音声認識と言語または言語学的認識との組み合わせであると言われることがある。音声認識出力は、意味を抽出するためにNLUシステムに送られる。
【0010】
図1を参照して、包括的フレームワーク100は、自然な言語の発話を含む発話音声を受ける。発話音声の一例として、ある人物が発声した「ice cream cone(アイスクリームコーン)」というフレーズの録音を挙げる。この発話音声は、いずれのソースからでも受けることができる(たとえば、携帯電話、洗濯機、乗物など)。
【0011】
次に、音響フロントエンド102が音響モデル103を用いてこの発話音声を解析することにより、発話音声から音素を抽出する。これは音響認識と呼ばれることが多い。この動作の一例として、受けた発話音声に基づいて音素「AY S <sil> K R IY M <sil> K OW N」(カーネギーメロン大学(Carnegie Mellon University)(CMU)の音素セットによって表したもの)を生成することを挙げる。
【0012】
次に、音響フロントエンド102が生成した音素を、言語モデル104が受ける。言語モデル104を実装することにより、検出された音素(たとえば「AY S <sil> K R IY M <sil> K OW N」)を「ice cream cone」のような実際の文に転写することができる。音素をトランスクリプションに転写することは、単純なプロセスではなく、さまざまな要素が関わっている。
【0013】
1つ以上のトランスクリプションが決まると、NLUシステムが自然言語理解106を実行することにより、「ice cream cone」というトランスクリプションから意味を抽出する。意味は、ドメインもしくはバーティカルに基づく、または周辺コンテキストに基づくトランスクリプションに関係があることが多い。たとえば、バーティカルが、食品の検索に、またはより具体的には食品を提供する場所の検索に関係がある場合、「ice cream cone」というトランスクリプションに適用される意味により、即時消費されるアイスクリームを提供するローカルな(最も近い)場所の検索を実現することができる。これに対し、バーティカルが、後で消費される食品を販売する場所(たとえば食品雑貨店)に関係がある場合、その意味は、アイスクリームコーンを販売する食品雑貨店またはマーケットの検索をもたらす。
【0014】
開示する技術は、受けた音声から音素を生成するために最良の音響モデルを作成し、選択し、実装することに向けられる。過去、最良のトランスクリプションおよび最良の意味を求めるために多大な労力が費やされてきたが、いかなるときでも実装する最良のまたは最適な音響モデルを決定することには、今までそれほど大きな労力は費やされてこなかった。
【0015】
図2は、自然言語理解のための言語モデルと音響モデルとの間のやり取りの実施形態の一例を示すブロック図である。図2は、単に図1をより詳しくしたものであり、発話音声をユーザから受けてから、ユーザに対する意味のある応答を求めるまでの、プロセスまたはフローの一例を示す。開示する技術は、カスタム音響モデルの作成、選択、および実装に向けられているが、図2は、自然言語理解(natural language understanding)(NLU)を実行するために必要な各種ステップおよび処理のフレームワークの良い例を提供する。図2を参照しながら説明するすべての動作が開示する技術の実装に必要な訳ではない。開示する技術は、多くの異なるやり方でカスタム音響モデルの作成、選択、および実装を行うことができ、上記やり方のうち、図2の説明と一致するものと、図2の説明と一致しないものとがある。
【0016】
一例としての実施形態200は、音響フロントエンド204と、音響モデル206と、単語列認識器208と、言語モデル210とを含む自動音声認識(ASR)システム203を含む。一例としての実施形態200はまた、自然言語理解212を含む。ある人物が発話すると、自然言語発話を含む発話音声202が、音響フロントエンド204に入力される。音響フロントエンド204は、1つ以上の音響モデル206を用いて発話音声202の音響特徴を処理する。ASRシステム203は、たとえば音響フロントエンド204が1つ以上の音響モデル206から1つの音響モデルを選択するのを支援するために使用される選択基準(たとえばメタデータ)を受けることもできる。さらに、音響フロントエンドは1つ以上の音素列を生成する。
【0017】
単語列認識器208は、音響フロントエンド204から1つ以上の音素列を受け、言語モデル210からの1つ以上の言語モデルを実装することにより、上記音素を転写する。ASRシステム203は、最良の音素および/またはトランスクリプションを求めるために各種スコアリングシステムを実装することができる。たとえば、起こり得る各音素列は、この列が意図されている列である可能性が最も高い確率を示すスコアに、関連付けることができる。たとえば、話者が「I read a good book(私は良い本を読む)」と言う場合を想定する。(下記の)表1は、音素列の選択肢の例を、音響フロントエンド204が生成するであろうスコアとともに示す。音素列は、カーネギーメロン大学(CMU)の音素セットのような音素セットまたはその他いずれかの発音表記を用いて表すことができる。
【0018】
【表1】
【0019】
表1において、これら3つの非常に良く似た音素列間の相違に注意を促すために特定の音素が太字で表されているのがわかる。3番目の選択肢としての音素列は、間違ったトランスクリプションであるものの、音響スコアが最も高い。この種の誤りは、雑音、アクセント、または各種音声認識システムの欠陥によって生じる。これは、適切な音響モデルの実装が何故有益であるかを示す1つの例である。
【0020】
次に、上記トランスクリプションに対して自然言語理解(NLU)212を実行することにより、最終的には発話音声202の意味のある表現(またはデータ構造)を見出す。
【0021】
開示する技術は、たとえば音響フロントエンド204によって実装されるカスタム音響モデル(たとえば音響モデル206)を選択することに関する。選択されたカスタム音響モデルは、一例としての実施形態200のような環境において、または、当業者には明らかであろうその他任意のフレームワークにおいて、実装することができる。
【0022】
図3は、各種音響モデルを実装できる、一例としての環境300の図を示す。環境300は、少なくとも1つのユーザデバイス302、304、306を含む。ユーザデバイス302は、アプリケーション303を実行する、携帯電話、タブレット、ワークステーション、デスクトップコンピュータ、ラップトップまたはその他任意の種類のユーザデバイスであってもよい。ユーザデバイス304は自動車であってもよく、ユーザデバイス306は洗濯機であってもよく、これらは各々、アプリケーション303を実行する。これらのユーザデバイスのさまざまな実装例については、以下でより詳細に説明する。ユーザデバイス302、304、306は、環境300の各種コンポーネント間の通信を可能にする1つ以上の通信ネットワーク308に接続される。一実装例において、通信ネットワーク308はインターネットを含む。通信ネットワーク308は、専用またはプライベート通信リンクを利用することもできる。この専用またはプライベート通信リンクは、必ずしもインターネットの一部ではない。一実装例において、通信ネットワーク308は、標準通信技術、プロトコル、および/またはプロセス間通信技術を使用する。
【0023】
環境300はまた、アプリケーション310を含む。アプリケーション310は、ユーザデバイス302、304、306に予めインストールしておくことができる、または、通信ネットワーク308を通してユーザデバイス302、204、306上で更新/インストールすることができる。環境300はまた、この音声認識システムの一部である音声認識プラットフォーム/サーバ311を含む。音声認識プラットフォーム/サーバ311は、1つのコンピューティングデバイス(たとえばサーバ)であってもよく、またはクラウドコンピューティングデバイスであってもよく、または、意味のある音声認識を実行するのに必要な各種タスクを実行するために互いに通信することができるコンピューティングデバイス、クラウドコンピューティングデバイス等を任意に組み合わせたものであってもよい。音声認識プラットフォーム/サーバ311は、フレーズ解釈器312を含み、フレーズ解釈器312は、たとえば、図1を参照しながら先に説明した包括的フレームワーク100の機能を実行する。音声認識プラットフォーム/サーバ311は、複数のサーバ上および/またはクラウドコンピューティングデバイス上に広げることができるので、フレーズ解釈器312の動作も、複数のサーバ上および/またはクラウドコンピューティングデバイス上に広げることができる。アプリケーション310は、発話入力を理解するために、フレーズ解釈器312によって使用されるおよび/またはフレーズ解釈器312とともに使用することができる。環境300の各種コンポーネントは、セキュリティおよび効率のためにカスタマイズされたアプリケーションプログラムインターフェイス(API)を用いて互いに通信する(データをやり取りする)ことができる。
【0024】
ユーザデバイス302、304、306およびフレーズ解釈器312は各々、データおよびソフトウェアアプリケーションの格納のためのメモリと、アプリケーションを実行する際にデータにアクセスするためのプロセッサと、ネットワーク308を介した通信を容易にするコンポーネントとを含む。ユーザデバイス302、304、306は、ウェブブラウザ(たとえばユーザデバイス302上で実行されるウェブブラウザアプリケーション303)等のアプリケーション303を実行する。このアプリケーション303は、開発者がアプリケーション310を作成して投入できるようにするため、および、フレーズ解釈器312によって解釈される自然言語発話を含む発話音声をユーザが投入できるようにするための、アプリケーションである。フレーズ解釈器312は、実質的に、図1を参照しながら先に述べた包括的フレームワーク100の機能を実行する。
【0025】
環境300はまた、音響モデル選択インターフェイス320を含む。選択インターフェイス320は、開発者および/またはユーザが、音響モデル322のリポジトリから1つ以上の適切な音響モデルを選択できるようにする。音響モデル322のリポジトリは、必ずしも同じ場所に格納されていなくてもよく、各種ソースからの音響モデルを集めたものであってもよい。音響モデルは、開発者および/またはエンドユーザが特定の実装例に応じてカスタマイズすることができる。音響モデル選択インターフェイス320は、ブラウザまたはコマンドラインインターフェイスのような、フレーズ解釈器312が実装する音響モデルを選択させることができる、任意の種類のインターフェイスであればよい。さらに、フレーズ解釈器312が実装する複数の音響モデルが選択されてもよく、フレーズ解釈器312は、いずれかの所与のポイントで実装される最良の音響モデルを知的に選択することができる。音響モデルの選択と実装に関する詳細は、以下で他の図面を参照しながら説明する。
【0026】
フレーズ解釈器312は、1つ以上の音響モデル314、言語モデル316、および自然言語ドメイン318を実装する。図1を参照しながら先に説明した音響モデル314は、音素および/または音声トークンを出力することができる。フレーズ解釈器312の言語モデル316は、受けた発話音声のトランスクリプションを作成する。言語モデル316は、別の言語解析のアプリケーションを追加する一段または多段モデルであればよい。たとえば、音響モデル314は、受けた発話音声を処理して音素を生成することができる。これらの音素は、音素の列を検討しスコアを付ける言語モデル316に送ることができる。言語モデル316は、場合によってはダイフォン(diphone)またはトライフォン(triphone)解析を用いることにより、見込みのある音素の列を認識することができる。言語モデル316は、統計的言語モデルを用いることにより、統計的に見込みのある単語の列を認識することができる。
【0027】
フレーズ解釈器312が実装する自然言語ドメイン318は、受けた発話音声のトランスクリプションに実際の意味を加えるものである。図1を参照しながら先に述べたように、自然言語ドメイン318は、トランスクリプションにコンテキストと意味とを与えることができる。本明細書において以下でさらに説明する簡単な例として、洗濯機306が「今日の試合のサッカージャージを洗濯して下さい」という発話音声を送信するとする。フレーズ解釈器312が音素およびトランスクリプションを正しく生成すると、自然言語ドメイン318は、冷水を特別に長い浸漬・すすぎサイクルに使用することを洗濯機に命令することにより、転写されたフレーズに意味を与えることができる。これに代えて、単に「サーカージャージを洗濯せよ」という命令を自然言語ドメイン318が洗濯機306に送り、実現すべき洗濯設定を洗濯機306が知的に判断するようにしてもよい。
【0028】
フレーズ解釈器312は、少なくとも1つのハードウェアコンポーネントを用いて実装され、ファームウェア、またはハードウェア上で実行されるソフトウェアも含み得る。ハードウェアと組み合わされてフレーズ解釈器312のアクションを実行するソフトウェアが、回転または非回転メモリ等のコンピュータ読取可能媒体に格納されてもよい。非回転メモリは、揮発性であっても不揮発性であってもよい。本願において、コンピュータ読取可能媒体は、メモリに格納されない一時的な電磁信号は含まない。コンピュータ読取可能媒体は、実行のためのプログラム命令を格納する。フレーズ解釈器312だけでなく、音響モデル選択インターフェイス320、アプリケーション310、および音響モデル322のリポジトリは、その全体または一部が、クラウドにおいて、または、通信ネットワーク308を介して接続された他のエンティティによって、ホストおよび/または実行されてもよい。
【0029】
図4は、各種音響モデルを実装できる図3の環境の実装例を示す。特に、図4は、図3の環境300を示し、それに加えて、音声認識のクライアントデバイスとして洗濯機306が使用される実装例を示す。図4はユーザデバイスとして洗濯機306を実装する例を提供するが、洗濯機306の代わりにその他任意のユーザデバイスが使用されてもよい。言い換えると、この実装例は、ユーザデバイスとして洗濯機306のみに限定されない。
【0030】
具体的には、図4は、ユーザ402がマイク/スピーカーインターフェイス(図示せず)を用いて直接洗濯機306とやり取りをすること、および、ユーザ402は携帯電話404等の別の電子機器を用いて洗濯機306とやり取りできることを示している。一例として、ユーザ402は、発話音声を「今日の試合のサッカージャージを洗濯して下さい」として洗濯機306に伝えてもよい。この場合も、この発話音声は、洗濯機306に直接伝えられても、携帯電話404を介して洗濯機306に伝えられてもよい。すると、洗濯機306は、通信ネットワーク308を介して、録音された発話音声を、音声認識および自然言語理解を実施する音声認識プラットフォーム/サーバ311に与える。これに代えて、携帯電話404が、録音された発話音声を、通信ネットワーク308を介して音声認識プラットフォーム/サーバ311に伝えてもよい。そうすると、音声認識プラットフォーム/サーバ311は、フレーズ解釈器312を実装する。洗濯機306は、発話音声とともに、メタデータも送信する。なお、メタデータは、洗濯機306から通信ネットワーク308に送信されてもよく、および/または、洗濯機306から携帯電話404に送信された後に携帯電話404から通信ネットワーク308に送信されてもよい。音声認識プラットフォーム/サーバ311に伝達される発話音声およびメタデータを得るための、洗濯機306、携帯電話304、および通信ネットワーク308間の通信のその他の組み合わせは、当業者には明らかであろう。
【0031】
次に、フレーズ解釈器312は、適切な音響モデル314を選択するためにメタデータを使用する。メタデータは、適切な音響モデル314の選択を支援する有効な情報を含み得る。たとえば、メタデータは、デバイスタイプおよび特定のデバイス状態のうちの一方または双方を含み得る。具体的には、メタデータは、(i)洗濯機306の一意的な識別(たとえば、デバイスタイプ、型番、シリアルナンバー等)、(ii)洗濯室内の温度および/または環境状態等の使用状態、(iii)屋外の天候等のその他の環境状態、(iv)周囲の音響に影響し得る情報、(v)音響モデルの精度に干渉する可能性があるその他の種類の雑音に関する情報、(vi)洗濯機306の現在の動作状態、および、乾燥機または洗濯用シンク等の近くに位置するその他のデバイスの動作状態、ならびに(vii)洗濯機306の1つ以上のハードウェアおよびソフトウェアコンポーネントに関する、または、発話音声の受信に必要なおよび/またはユーザに音声フィードバックを与えるための他のコンポーンメントに関する情報を、含み得る。一般的に、音響モデルの選択および調節を最適化するシステムの能力は、発話とともにより多くのメタデータ情報を得ることによって改善される。
【0032】
フレーズ解釈器312が発話音声およびメタデータを受けると、フレーズ解釈器312(または音声認識を実行する全体のシステムまたはプラットフォームのその他いくつかのコンポーネント)は、音素を抽出するにはどの音響モデルが最適かを判断することができる。いくつかの実施形態は、洗濯機306の型番またはデバイスタイプのみを使用し、フレーズ解釈器312は、その特定のデバイスタイプに合わせて作成されたまたは調整された音響モデルを選択することができる。これは先に述べたその他の可能なメタデータについても同じである。さらに、洗濯機306のユーザを特定できる場合は、この特定のユーザの声に合わせて調整された音響モデルを実装することができる。なお、さまざまな音響モデルのさまざまな特徴を組み合わせてもよい。たとえば、特定のユーザの声に合わせて音響モデルを調整する特徴を、乾燥機の雑音に合わせて調整された音響モデルの特徴と組み合わせることができる。これは、メタデータに含まれる数多くの情報、および、音声認識プラットフォーム/サーバ311が自由に使用できる各種音響モデルに基づいて知的に作成および実装される、ミックスアンドマッチタイプの音響モデルである。
【0033】
音声認識サービスの開発者または加入者は、特定のデバイスに対して実装するためにどの音響モデルを利用できるかを予め選択することができる。フレーズ解釈器312は、これらの予め選択された音響モデルを格納することができる、および/または音響モデル322のリポジトリからこれらの予め選択された音響モデルを得ることができる。フレーズ解釈器312は、最適な音響モデル314の選択に役立つであろうその他の状態406を得ることもできる。フレーズ解釈器312は、必要な情報を受けると、その仕事にとって最適な音響モデル314を選択した後に、選択した音響モデル314を使用して音素を生成し、次に言語モデル316を実装することによって音素を転写し、次に自然言語ドメイン318を適用することによって意味のある命令を与えることができる。
【0034】
メタデータはまた、自然言語ドメイン318を支援する情報を含み得る。たとえば、特定の種類の天候(たとえば降雨)を示す情報をメタデータが含む場合、フレーズ解釈器312は、この天候状態によりサッカージャージは泥だらけである可能性が最も高いという知的な判断を下すことができる。フレーズ解釈器312から与えられる意味のある命令は、特定の種類の石鹸を投入する、追加の洗浄・すすぎサイクルを実行する、特定の水温を使用するといった洗濯機306に対する命令であってもよい。これに代えて、フレーズ解釈器312から与えられる意味のある命令は、単純に「汚れたスポーツユニフォーム」であってもよく、そうすると、実現すべき洗浄サイクルおよびオプションを洗濯機306が知的に判断する必要がある。いずれにしても、意味のある命令を与えることができるようにするための最も効率が高く正確な方法は、適切な音響モデルを選択できるようにすることである。発話音声を受ける状態に合わせて音響モデルが「調整」または「訓練」されていない場合、言語モデル316および自然言語ドメイン318が成功を収める可能性は大幅に低下する。
【0035】
洗濯機306および/またはユーザ402に返される意味のある情報は、さらに明確にすることを求める要求等である可能性がある。そうすると、ユーザ402および/または洗濯機306は、それに答えて追加情報をフレーズ解釈器312に提供すればよい。加えて、その他の状態406は、洗濯機306がメタデータに与えることができる情報であってもよいが、その他のソース(たとえば、天候、ユーザのカレンダー情報等)から学習されてもよい。たとえば、フレーズ解釈器312がサッカーの試合のおおよその日付/時間および場所を知ることができる場合は、天候、シミが付いてからの経過時間、およびサッカー競技場のグラウンドの種類(たとえば、人工芝、赤土等)を、より正確に知ることができるであろう。
【0036】
図5は、各種音響モデルを実装できる図3の環境の実装例を示す。特に、図5は、図3の環境300を示し、さらに、自然言語認識のためにクライアントデバイスとして乗物304が使用される実装例を示す。図5はユーザデバイスとして乗物304を実装する例を提供するが、乗物304の代わりにその他任意のユーザデバイスが使用されてもよい。言い換えると、この実装例は、ユーザデバイスとして乗物304のみに限定されない。
【0037】
具体的には、図5は、乗物304がユーザデバイスであり、乗物304が発話音声とメタデータとを、自然言語理解を実施する音声認識プラットフォーム/サーバ311に送信することを示している。図4に関する上記説明と同様、発話音声およびメタデータは、乗物304自体および1つ以上のモバイルデバイスといった通信機器を組み合わせたものを用いて送受信することができる。この乗物304を使用する例は、状態および意味のある命令が全く異なることを除いて、洗濯機306に関して先に述べたプロセスと同一のプロセスに従う。乗物304は複数のマイクおよびスピーカならびに運転者および同乗者の各種構成を有し得るので、発話している1人または複数の同乗者の位置を特定することが有益になる。さらに、乗物304は、その位置および運転の種類に応じて、多くの異なる種類の雑音環境に晒される可能性がある。ニューヨークのダウンタウンで交通渋滞が生じているかもしれず、雹の嵐が発生しているかもしれず、泣いている幼児がいるかもしれず、この乗物の窓が開けられているかもしれず、ラジオがついているかもしれず、高い回転数(RPM)もしくは低いRPMで走行しているかもしれず、または、乗物304がトンネルの中であるかもしれない。乗物304は、常にこれらの状況すべてをモニタリングしユーザが音声認識を呼び出したときに使用できる適切なメタデータを格納することができる。加えて、ユーザのモバイルデバイスから収集したメタデータを、乗物304が格納および/または送信することもできる。
【0038】
一例として、乗物304の後部座席の同乗者が「グランマ・モーゼスの携帯電話に電話して」と言う場合を想定する。洗濯機306について先に述べたメタデータの他に、メタデータは、同乗者の声の録音に使用した1つのマイクおよび/または複数のマイク、乗物304の窓は開いていたか閉じていたか、乗物304の暖房、換気、および空調(heating ventilation and air conditioning)(HVAC)はフル回転であったか否か等に関する情報、ならびに、最良の音響モデルの選択に影響する可能性がある収集可能なその他の情報を含み得る。
【0039】
図6は、各種音響モデルを実装できる図3の環境の実装例を示す。特に、図6は、図3の環境300を示し、さらに、自然言語認識のためにクライアントデバイスとして乗物304が使用される実装例を示す。図6はユーザデバイスとして乗物304を実装する例を提供するが、乗物304の代わりにその他任意のユーザデバイスが使用されてもよい。言い換えると、この実装例は、ユーザデバイスとして乗物304のみに限定されない。
【0040】
図6は、異なる実施形態が示されている点以外、図5に極めてよく似ている。
これらの実施形態のうちの1つは、乗物304が、ローカルに格納された一組の音響モデル322から適切な音響モデルを選択しその後意味のある命令を考え出すことを含む。この実施形態は、音響モデルを選択するという負担を音声認識プラットフォーム/サーバ311から取り除き、乗物304が最良の音響モデルを選択できるようにする。開発者および/またはユーザは、乗物304を、この乗物304用にカスタマイズされた音響モデルを備えるように予め構成してもよく、そうすると、この乗物は、自身で音響モデルを選択することができる。図6に示されるように、乗物304は実装する音響モデル406を格納することができる。乗物304は、音響モデルを自身で実装することができる、または、音響モデルを通信ネットワーク308を介して送信することができる。
【0041】
別の実施形態において、乗物304は、(i)自身で音響モデルを選択して実装することにより、意味のある命令を取得し、(ii)発話音声、メタデータ、および意味のある命令を音声認識プラットフォーム/サーバ311に送信することができる。すると、フレーズ解釈器312は、自身で音響モデル314を選択して意味のある結果を構築するために発話音声およびメタデータを検討することができる。その後、フレーズ解釈器312は、自身の意味のある命令を、乗物304から受けた意味のある命令と比較することにより、最良の意味のある命令を決定し、この最良の意味のある命令を乗物304に送信することができる。この実装例は、音声認識プラットフォーム/サーバ311がより正確な音響モデルで更新されているまたはその逆の可能性がある状況において、有益であろう。
【0042】
音声認識を実装するユーザデバイスは多種多様である可能性があり、そのようなユーザデバイスは常に増加しているので、図4図6に関する説明は例にすぎない。
【0043】
図7は、各種音響モデルを実装できる図3の環境の実装例を示す。特に、図7は、図3の環境300を示し、さらに、実装および/または訓練等のためのカスタム音響モデルを開発者が選択するために使用できるインターフェイス702を示す。
【0044】
具体的には、図7は、音響モデル選択インターフェイス320が開発者にインターフェイス702を提供することを示している。インターフェイス702は、カスタマイズされたアプリケーションまたはプログラムを通して提供されるグラフィカルユーザインターフェイスであってもよく、または、ウェブブラウザを通して閲覧できるものであってもよい。当業者は、インターフェイス702が包含するさまざまな種類のインターフェイスを認識するであろう。たとえば、インターフェイス702は、テキスト命令に対して応答するコマンドラインインターフェイスであってもよい。さらに、インターフェイス702は、種類が異なる状態、デバイスタイプ等に対して実現する異なるモデルを開発者が選択できるようにすることができる。この例において、開発者は、第1の状態に対して音響モデルAまたは音響モデルBのいずれを実装すべきかを選択することができる。第1の状態は、ユーザデバイス(たとえばエスプレッソマシン)が家庭環境またはビジネス/商業環境において使用されているか否かであってもよい。ユーザデバイスは、雑音を発する機器が近くにあるか否かに関連し得る第2の状態に対して音響モデルCまたは音響モデルDのいずれかを選択することもできる。たとえば、豆挽き器が近辺にあることがわかっているまたは近辺にあると予想されるときに開発者は音響モデルCを選択することができる。この例では、開発者が音響モデルB(家庭での使用)および音響モデルC(豆挽き器がごく近くにある)を選択したと想定する。
【0045】
それに応じて、音響モデルBおよびCを、デバイスIDに関連付けて、または、本明細書に記載のその他任意の種類のIDに関連付けて格納することができる。フレーズ解釈器312が最良の音響モデルを選択する実装例では、フレーズ解釈機312が音響モデルBおよびCを送信および/または格納してもよく、または、音響モデルBおよびCの場所をフレーズ解釈器312に認識させ、音響モデルBおよびCが特定の識別子(ID)についてのエスプレッソマシンに関する選択肢であることをフレーズ解釈器312に認識させるようにしてもよい。そうすると、フレーズ解釈器312は、発話音声とともに受信したメタデータに基づいて、音響モデルBまたは音響モデルCのいずれかを選択することができる。加えて、先に述べたように、音響モデルをミックス・マッチする(部分的に組み合わせる)ことによって最高の結果を提供することができる。
【0046】
これに代えて、音響モデルBおよび音響モデルCをユーザデバイス302(たとえばエスプレッソマシン)に送信し、適切な音響モデルをユーザデバイス302が選択できるようにしてもよい。ユーザデバイス302、304、306上で実行されているアプリケーションの開発者がインターフェイス702から音響モデルを選択してもよい。
【0047】
音響モデル選択インターフェイス320は、発話音声をメタデータとともに音声認識プラットフォーム/サーバ311に提供することもでき、これは、発話音声およびメタデータがユーザデバイス302、304、306から音声認識プラットフォーム/サーバ311に送られるのとは対照的である。
【0048】
たとえば、開発者は、コンピュータシステム上で実行されているインターフェイス702を通して、特定種類のユーザデバイス(たとえば洗濯機306)に適した少なくとも2つの音響モデルで構成される一組の音響モデル(または音響モデル1つだけ)を選択することができる。次に、その後の時点において、音響モデル選択インターフェイス320が受けた発話音声およびメタデータを、音響モデル選択インターフェイス320を実行しているコンピュータシステムを介して、および/またはユーザデバイスから、音声認識プラットフォーム/サーバ311に送信することができる。すると、音声認識プラットフォーム/サーバ311は、(フレーズ解釈器312を用いて)、音響モデル選択インターフェイス320を実行しているコンピュータシステムに、上記一組の音響モデルのうちの1つの音響モデルの選択に応じて、意味のある命令を与える。フレーズ解釈器312は、メタデータに基づいて、上記一組のモデルから1つのモデルを知的に選択してから意味のある命令を決定することができる。
【0049】
これに代えて、音響モデル選択インターフェイス320を実行しているコンピュータシステムは、メタデータまたはその他の情報に応じて一組の音響モデルから1つの音響モデルを選択し、その後、選択した音響モデルを実装するようフレーズ解釈器312に命令してもよい。
【0050】
さらに、インターフェイス702上で開発者に対して提示される音響モデルは、特定種類のユーザデバイスに適した音響モデルとなるよう、予め選択することができる。特定種類の計算に適したこれらの音響モデルは、特定種類のユーザデバイスから受けたメタデータまたは特定種類のユーザデバイスに関連付けられたメタデータに応じて、このユーザデバイスのアクティブセッションにおいて、予め選択することができる。言い換えると、ユーザデバイスから受けたメタデータを解析し、受けたメタデータに応じて適切な音響モデルを予め選択してから、それを開発者に提示することができる。このような実装例の目的は、関連性がない音響モデルによって開発者に負担をかけないようにすること、または、有益ではなく有害な音響モデルを開発者が選択しないようにすることである。また、ユーザデバイスのアクティブセッション外であっても、開発者はさまざまな種類のユーザデバイスに適した音響モデルを選択することができる。先に述べたのと同様のやり方で、音響モデル選択インターフェイス320を実行しているコンピューティングシステムは、開発者が構成しているユーザデバイスの各タイプに適した音響モデルを予め選択することができる。
【0051】
加えて、ユーザデバイス302、304、306の開発者および/または製造者は、これらユーザデバイス302、304、305のタイプ、および/またはこれらのユーザデバイス302、304、306を実装するかもしれないもしくは実装できる環境もしくは状態に合わせて特別に調整された、カスタマイズされた音響モデルを既に開発している、または訓練している場合がある。これらのカスタマイズされたモデルは、選択のためにインターフェイス702を介して開発者に提示することができる。音響モデルを訓練する環境については以下で図8を参照しながら説明する。
【0052】
図8は、カスタマイズされた音響モデルを訓練することができる図3の環境の実装の一例を示す。特に、図8は、図3の環境300を示し、また、如何にして音響モデル322を実装の前に訓練できるかを示す。
【0053】
具体的には、図8は、クリーン音声802および雑音804等の訓練データを音響モデルに入力することによってモデル訓練808を実行できることを示している。訓練される音響モデルは、開発者もしくは製造者から提供することができる、または、特定種類のデバイスおよび/または環境における実装用に訓練された一般モデルであってもよい。クリーン音声802は、一般的なものであってもよく、または、ユーザデバイス302、304、306が受信すると予想されるフレーズに基づいて特別に選択されてもよい。たとえば、異なる言語には異なる訓練音声が必要である。同様に、雑音804は、一般的なものであってもよく、または、ユーザデバイス302、304、306の動作環境において予想される雑音の種類に基づいて選択されてもよい。雑音804は、開発者および/または製造者から提供することができる。開発者および/または製造者は、雑音804を、カスタマイズされた雑音データの形態で提供することができる、または、雑音を生成するカスタマイズされた雑音モデルの形態でも提供することができる。開発者および/または製造者はまた、音響モデル322の一部として、即時実装用にカスタマイズされた音響モデルを提供することができ、開発者および/または製造者は、さらなるモデル訓練808のためにカスタマイズされた音響モデルを提供することができる。さらに、クリーン音声802および/または雑音804は、開発者および/または製造者が、音響モデル322からの音響モデルを自らで訓練し最終的にカスタマイズされ訓練された音響モデルを提供できるよう、開発者および/または製造者に提供されてもよい。音響モデル322のリポジトリをパースまたは分離することにより、ある開発者のおよび/または製造者のモデルが別の開発者および/または製造者によって実装されるというセキュリティ上の問題を防止することができる。
【0054】
開発者および/または製造者は、音響モデル選択インターフェイス320と同様のインターフェイスを用いて、音響モデルを訓練することもできる。訓練された音響モデルは、図7を参照しながら先に述べたようにインターフェイス702を用いて選択することができる。
【0055】
いくつかの実施形態は、たとえば各種アプリケーションを実行することによって各種ソフトウェア状態で動作することができる携帯電話等のデバイスである、またはデバイスに対するサーバとして機能する。どのアプリケーション(1つまたは複数)が実行されているかというステータスは、適切な音響モデルの選択に役立ち得る一種の状態である。たとえば、比較的低雑音の環境ではほとんどの場合電子メールアプリケーションが使用される。ナビゲーションアプリケーションは、乗物の道路または街路雑音が存在する可能性が高いことを示し得る。音楽プレーヤー、ビデオプレーヤー、またはゲーム等、音声を出力するアプリケーションは、背景音楽音に対して柔軟な音響モデルを好むであろう。
【0056】
いくつかの実施形態は、各種物理またはハードウェア状態で動作するデバイスである、またはデバイスに対するサーバとして機能する。たとえば、モバイルおよびポータブルデバイスのジオロケーション(geolocation)または動きの種類は、音響モデルの選択を導くのに役立つ。たとえば、競技場内のデバイスは、背景音声について訓練された音響モデルを好み、高速で動くデバイスは、道路雑音について訓練された音響モデルを好むであろう。
【0057】
基本的に、光レベルセンサ、加速度計、マイク、カメラ、衛星ナビゲーション(GPS等)受信機、およびBluetooth(登録商標)受信機といった携帯電話の中にあるどの種類のセンサも、カメラ、LIDAR、ジオロケーション、光レベル、牽引レベル、およびエンジン状態といった自動車の中にあるどの種類のセンサも、音響モデルの選択に役立つ情報を提供することができる。
【0058】
いくつかの実施形態は、通常検出することができるデバイス状態データを収集し、それを、オンラインまたはオフラインで、教師ありまたは教師なしの機械学習アルゴリズムを用いて音声記録に適用することによって、所与のデバイス状態において最も正確に音響モデルを選択し調整するためのモデルを訓練する。
【0059】
いくつかの実施形態は、発話音声に対応付けられたメタデータによって符号化されたデバイスタイプに従って音響モデルを選択する。このような実施形態のうちのいくつかは、複数種類のデバイス各々に対して一般コードを有する。それはたとえば、洗濯機、コーヒーマシン、および自動車を区別するコードである。いくつかの実施形態は、型番をメタデータとして符号化する。これは、家庭用コーヒーマシンと業務用コーヒーマシンとを区別する、またはスポーツ車と高級車とを区別するのに役立つ。いくつかの実施形態は、デバイスの各製品を一意に識別するシリアルナンバーを符号化する。これは、デバイスの実際の典型的な用途に合わせて音響モデルの選択をパーソナライズするのに役立ち得る。たとえば、コーヒーメーカーのいくつかのモデルは、ノイズ環境が異なる家庭および職場で使用できる。いくつかのデバイスはアクセントが異なる消費者によって購入される。デバイスのシリアルナンバーに基づいて音響モデルを選択することにより、選ばれた音響モデルが特定のアクセントを有する消費者にとって好都合な場合、音声認識の精度を高めることができる。
【0060】
乗物およびウェアラブルデバイス等のいくつかの実施形態は、時折または常に、ネットワークを介して音声認識サーバにアクセスすることなく動作する。このような実施形態は、ローカルに格納された複数の音響モデル322のうちの1つ以上を用いて音声認識をローカルに実行する。デバイスタイプは特別に有用な種類のメタデータではないが、デバイス状態は、音声認識のために最良の音響モデルを発話ごとに選択するのに有用である。
【0061】
メタデータによって導かれる音響モデルの選択を利用するローカル音声認識を実行するいくつかの実施形態は、メタデータを格納する記憶素子を含む。たとえば、自動車は、窓の位置、換気扇の状態、およびその音響システムの音量を示すメタデータを格納する。これらはすべて、さまざまな実施形態において適切な音響モデルを選択するのに役立つ。音響モデル選択方法のために実施形態において格納されるメタデータを使用することは、この方法を実行するためにメタデータが受信されると解釈されねばならない。
【0062】
ネットワーク接続されたサーバベースのいくつかのシステムは、適切な音響モデルをデバイス内にローカルに格納し、発話ごとに、または状態の変化を検出するたびに、最良の音響モデルを選択する。ネットワークを介して音声認識サーバに発話を送信するとき、システムは、音響モデルを発話音声とともに送信する。
【0063】
口述用、小語彙コマンド認識用、キーワード検索用、またはフレーズスポッティング用等のいくつかの実施形態は、自然言語理解なしで音声認識を実行し、いくつかの実施形態では言語モデルを使用しない。
【0064】
いくつかの実施形態は、SoundHound社のHoundify(登録商標)のようなカスタム音声認識プラットフォームである、またはこれを含む。これらは、サーバベースの音声認識を提供し、いくつかの実施形態では、自然言語処理および仮想アシスタント機能も提供する。いくつかの実施形態に係るプラットフォームは、開発者がその特定のデバイスに合わせて音声認識をカスタマイズするためのインターフェイスを提供する。このようないくつかのプラットフォームは、単純に、音声認識が近距離場音響モデルを使用すべきかまたは遠距離場音響モデルを使用すべきかの選択を提供する。いくつかのプラットフォームは、語彙サイズ、マイクの数、アプリケーションの種類、雑音プロファイル、およびデバイスのプライスポイント等のその他多数の構成パラメータを提供する。
【0065】
いくつかの実施形態は、このようなプラットフォーム構成インターフェイスを用いてある種のデバイス用の音声認識を構成する方法を含む。音声対応システムを開発する企業の中には、このようなプラットフォームを使用してそのクライアントデバイスのためにサーバベースの認識動作を構成する企業がある。いくつかの企業は、プラットフォームを用いて、デバイス上でローカルに実行する音声認識ソフトウェアを構成する。いずれの場合でも、いくつかのプラットフォームはテスト発話音声を認識する能力を提供し何人かの開発者はこの能力を利用する。いくつかのこのようなプラットフォームおよびユーザは、テスト発話音声をテストメタデータとともに提供することにより、その開発中のデバイスおよびシステムのための、意図する音響モデル選択の実行を、観察し変化させる。
【0066】
いくつかの実施形態は、ハードディスクドライブ、ソリッドステートドライブ、またはフラッシュRAMチップ等のコンピュータ読取可能媒体を1つ以上含む。サーバシステムとともに機能するように設計されたいくつかのデバイスは、音響モデルの選択に役立つメタデータの検出をデバイスに実行させるようにデバイスを制御するためのソフトウェアを格納するこのようなコンピュータ読取可能媒体を含む。これは、たとえば、デバイスのローカルセンサから読出すまたは格納されているデバイスステータスを記憶媒体から読出すことによって可能である。このようなソフトウェアはまた、デバイスが発話音声を受信しこの発話音声とメタデータとをサーバに送信し、要求した情報をサーバから受信するように制御する。たとえば、発話音声は天気予報を求める要求であってもよく、受信しる情報は天気報告の記述であろう。別の例として、発話音声はテキストメッセージの送信を求める要求であってもよく、受信する情報はテキストメッセージ作成機能を実行するようデバイスを制御するデータ構造であろう。
【0067】
本発明のための、記憶媒体においてデータを有するという受動的行為は、誰が記憶媒体にデータを書き込んだかにも、いつまたはどのようにして書込が行われたかにも関係なく、格納するという行為として解釈されねばならない。
【0068】
図9は、図3の環境300の各種コンポーネントを実装できるコンピュータシステムの一例のブロック図である。典型的に、コンピュータシステム910は、バスサブシステム912を介して複数の周辺機器と通信する少なくとも1つのプロセッサ914を含む。これらの周辺機器は、たとえばメモリデバイスおよびファイル記憶サブシステムを含む記憶サブシステム924と、ユーザインターフェイス入力デバイス922と、ユーザインターフェイス出力デバイス920と、ネットワークインターフェイスサブシステム916とを含み得る。入出力装置により、ユーザはコンピュータシステム910とやり取りすることができる。ネットワークインターフェイスサブシステム916は、通信ネットワーク308へのインターフェイスを含む外部ネットワークへのインターフェイスを提供し、通信ネットワーク308を介してその他のコンピュータシステム内の対応するインターフェイスデバイスに結合される。
【0069】
ユーザインターフェイス入力デバイス922は、キーボード、マウスやトラックボール等のポインティングデバイス、タッチパッドまたはグラフィクスタブレット、スキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システム等の音声入力デバイス、マイク、およびその他の種類の入力デバイスを含み得る。一般的に、「入力デバイス」という用語の使用は、可能なすべての種類のデバイスと、コンピュータシステム910内にまたは通信ネットワーク308上に情報を入力する方法とを含むことを意図している。
【0070】
ユーザインターフェイス出力デバイス920は、ディスプレイサブシステム、プリンタ、ファクシミリマシン、または、音声出力装置等の非視覚的ディスプレイを含み得る。ディスプレイサブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)等のフラットパネルデバイス、投射デバイス、または可視画像を作成するためのその他何らかのメカニズムを含み得る。また、ディスプレイサブシステムは、たとえば音声出力デバイスを介した非視覚的ディスプレイを提供し得る。一般的に、「出力デバイス」という用語の使用は、可能なすべての種類のデバイスと、コンピュータシステム910からユーザにまたは別のマシンもしくはコンピュータシステムに情報を出力する方法とを含むことを意図している。
【0071】
記憶サブシステム924は、本明細書に記載のモジュールのうちのいくつかまたはすべての機能を提供するプログラミングおよびデータ構成を格納する。これらのソフトウェアモジュールは一般的に、プロセッサ914が単独で実行する、または、プロセッサ914が他のプロセッサとともに実行する。
【0072】
記憶サブシステムで使用されるメモリ926は、複数のメモリを含み得る。これらのメモリは、プログラム実行中に命令およびデータを格納するためのメインランダムアクセスメモリ(RAM)930、および、固定命令が格納される読出し専用メモリ(ROM)932を含む。ファイル記憶サブシステム928は、プログラムおよびデータファイルの永続記憶を提供することができ、ハードディスクドライブ、対応付けられたリムーバブル媒体とともにフロッピー(登録商標)ディスクドライブ、CD−ROMドライブ、光学ドライブ、またはリムーバブル媒体カートリッジを含み得る。特定の実施形態の機能を実装するモジュールが、ファイル記憶サブシステム928によって記憶サブシステム924にまたはプロセッサがアクセス可能なその他のマシンに格納されてもよい。
【0073】
バスサブシステム912は、コンピュータシステム910の各種コンポーネントおよびサブシステムが意図される通りに相互通信するためのメカニズムを提供する。バスサブシステム912は1つのバスとして概略的に示されているが、バスサブシステムの代替実施形態は複数のバスを使用し得る。
【0074】
コンピュータシステム910は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、またはその他いずれかのデータ処理システムもしくはコンピューティングデバイスを含む多種多様な種類のものであってもよい。コンピュータおよびネットワークは絶えず変化しているので、図9に示されるコンピュータシステム910の説明は、各種実施形態を説明するための具体例を意図しているにすぎない。その他多くのコンピュータシステム910の構成が可能である。
【0075】
いくつかの具体的実装例
音声認識を実行するための各種実装例について説明する。
【0076】
開示される技術は、システム、方法、または製品(コードを格納する非一時的なコンピュータ読取可能媒体(computer readable medium))として実施することができる。ある実装例の1つ以上の特徴を、基礎となる実装例と組み合わせることができる。相互に排他的ではない実装例は組み合わせることができると教示される。ある実装例の1つ以上の特徴をその他の実装例と組み合わせることができる。この開示は定期的にこれらの選択肢をユーザに思い出させる。これらの選択肢を繰り返す記載がいくつかの実装例から省略されていたとしても、それは前のセクションで教示した組み合わせを制限するものとみなされてはならない。これらの記載を、以下の実装例各々に、引用により援用する。
【0077】
開示される技術のシステム実装例は、メモリに結合された1つ以上のプロセッサを含む。このメモリには、各種動作を実行するコンピュータ命令がロードされる。開示される技術のCRM実装例は、1つ以上のコンピュータによって実行されると当該1つ以上のコンピュータに各種動作を実行させるコードを格納する非一時的なコンピュータ読取可能媒体を含む。システム実装例およびCRM実装例は、下記方法実装例のうちのいずれかを実行することができる。
【0078】
一実装例において、複数の異なるデバイスの音声認識を実行する方法が提供される。この方法は、異なるデバイス状態に対応付けられた複数の音響モデルを格納するステップと、自然言語発話を含む発話音声を受信するステップと、デバイス状態を示すメタデータを受信するステップと、受信したデバイス状態を示すメタデータに応じて、音響モデルを複数の音響モデルから選択するステップと、選択した音響モデルを使用して、受信した発話音声に含まれる自然言語発話からの音声を認識するステップとを含む。
【0079】
別の実装例において、複数の異なるデバイスの音声認識を実行する方法が提供される。この方法は、異なるデバイスタイプに対応付けられた複数の音響モデルを格納するステップと、自然言語発話を含む発話音声を受信するステップと、デバイスタイプを示すメタデータを受信するステップと、受信したデバイスタイプを示すメタデータに応じて、音響モデルを複数の音響モデルから選択するステップと、選択した音響モデルを使用して、受信した発話音声に含まれる自然言語発話からの音声を認識するステップとを含む。
【0080】
さらに、他の実装例において、デバイス固有の音声認識を構成するためのプラットフォームを提供する方法が提供される。この方法は、特定のタイプのデバイスに適した少なくとも2つの音響モデルのセットを開発者が選択するためのユーザインターフェイスを提供するステップと、少なくとも2つの音響モデルのセットの選択を開発者から受信するステップと、音声認識システムを構成してデバイス固有の音声認識を実行するステップとを含む。
【0081】
別の実装例において、デバイス固有の音声認識を実行するための音声認識システムを構成する方法が提供される。この方法は、特定のデバイスタイプのデバイスから、自然言語発話を含む発話音声と、受ける発話音声に対応付けられたメタデータとを受信するステップと、受信したメタデータに応じて少なくとも2つの音響モデルから1つの音響モデルを選択するステップと、選択した音響モデルを用いて、受信した発話音声に含まれる自然言語発話からの音声を認識するステップとを含む。
【0082】
さらに他の実装例において、デバイス固有の音声認識を構成するためのプラットフォームを使用する方法が提供される。この方法は、コンピュータシステムが提供するユーザインターフェイスを通して、特定のタイプのデバイスに適した少なくとも2つの音響モデルのセットを選択するステップと、プラットフォームに対応付けられた音声認識システムに、発話音声をメタデータとともに提供するステップと、コンピュータ音声認識システムから意味のある命令を受信するステップとを含み、この意味のある命令は、音声認識システムが、上記セットに含まれる音響モデルのうちの1つの音響モデルの選択に応じて生成する。
【0083】
別の実装例において、コードを格納する非一時的なコンピュータ読取可能媒体が提供される。このコードは、1つ以上のコンピュータによって実行されると、音響モデルの選択に有用でありかつデバイス状態を示す情報を検出し、発話音声を受信し、検出した情報と受信した発話音声とを送信し、発話音声の音声によって要求した情報を受信することを、上記1つ以上のコンピュータに実行させる。検出された情報を用いることにより、異なるデバイス状態に対応付けられた複数の音響モデルから音響モデルを選択することができ、選択した音響モデルを用いて、送信された発話音声からの音声を認識する。
【0084】
システム、方法、および製品に適用可能な特徴は、基本的特徴の法定クラスごとに繰り返される訳ではない。このセクションにおいて特定された特徴を他の法定クラスにおける基本的特徴と如何にして簡単に組み合わせることができるかを、読み手は理解するであろう。
図1
図2
図3
図4
図5
図6
図7
図8
図9