IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ グーグル インコーポレイテッドの特許一覧

特表2022-552916キーワードスポッターのトレーニング
<>
  • 特表-キーワードスポッターのトレーニング 図1A
  • 特表-キーワードスポッターのトレーニング 図1B
  • 特表-キーワードスポッターのトレーニング 図1C
  • 特表-キーワードスポッターのトレーニング 図2A
  • 特表-キーワードスポッターのトレーニング 図2B
  • 特表-キーワードスポッターのトレーニング 図3
  • 特表-キーワードスポッターのトレーニング 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-12-20
(54)【発明の名称】キーワードスポッターのトレーニング
(51)【国際特許分類】
   G10L 15/06 20130101AFI20221213BHJP
   G10L 15/10 20060101ALI20221213BHJP
   G10L 15/28 20130101ALI20221213BHJP
   G10L 15/16 20060101ALI20221213BHJP
【FI】
G10L15/06 300C
G10L15/10 200W
G10L15/28 230K
G10L15/06 300Y
G10L15/16
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022537095
(86)(22)【出願日】2020-12-16
(85)【翻訳文提出日】2022-08-15
(86)【国際出願番号】 US2020065445
(87)【国際公開番号】W WO2021127064
(87)【国際公開日】2021-06-24
(31)【優先権主張番号】16/717,518
(32)【優先日】2019-12-17
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り 令和2年1月31日にウェブサイトのアドレス https://arxiv.org/abs/2002.01322にて発表
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100142907
【弁理士】
【氏名又は名称】本田 淳
(72)【発明者】
【氏名】シャリフィ、マシュー
(72)【発明者】
【氏名】キルガー、ケビン
(72)【発明者】
【氏名】ロブレク、ドミニク
(72)【発明者】
【氏名】リン、ジェームズ
(57)【要約】
カスタムホットワードモデル(200)をトレーニングする方法(300)は、第1の組のトレーニング音声サンプル(134)を受信することを含む。また、方法は、第1の組のトレーニング音声サンプルを入力として受信するように構成された音声埋め込みモデル(202)を使用して、第1の組のトレーニング音声サンプルの各トレーニング音声サンプルに対するカスタムホットワード(132)を表す対応するホットワード埋め込み(208)を生成することを含む。音声埋め込みモデルは、第1の組のトレーニング音声サンプルよりも多くのトレーニング音声サンプルを使用して、異なる組のトレーニング音声サンプル(144)で事前にトレーニングされたものである。さらに、方法は、音声データ(12)内のカスタムホットワードの存在を検出するようにカスタムホットワードモデルをトレーニングすることを含む。カスタムホットワードモデルは、入力として、各対応するホットワード埋め込みを受信し、出力として、各対応するホットワード埋め込みをカスタムホットワードに対応するものとして分類するように構成されている。
【特許請求の範囲】
【請求項1】
カスタムホットワードモデル(200)をトレーニングする方法(300)であって、
データ処理ハードウェア(112)において、カスタムホットワード(132)をそれぞれが含む第1の組のトレーニング音声サンプル(134)を受信するステップと、前記カスタムホットワード(132)は、1つまたは複数の単語を含んでおり、
前記データ処理ハードウェア(112)が、前記第1の組のトレーニング音声サンプル(134)を入力として受信するように構成された音声埋め込みモデル(202)を使用して、前記第1の組のトレーニング音声サンプル(134)の各トレーニング音声サンプル(134)に対するカスタムホットワード(132)を表す対応するホットワード埋め込み(208)を生成するステップと、前記音声埋め込みモデル(202)は、前記第1の組のトレーニング音声サンプル(134)とは異なる第2の組のトレーニング音声サンプル(144)で事前にトレーニングされたものであり、前記第2の組のトレーニング音声サンプル(144)は、前記第1の組のトレーニング音声サンプル(134)のよりも多くのトレーニング音声サンプル(144)を含んでおり、
前記データ処理ハードウェア(112)が、音声データ(12)内の前記カスタムホットワード(132)の存在を検出するためのカスタムホットワードモデル(200)をトレーニングするステップと、を含み、前記カスタムホットワードモデル(200)は、
入力として、前記音声埋め込みモデル(202)を使用して生成された各対応するホットワード埋め込み(208)を受信し、
出力として、各対応するホットワード埋め込み(208)を前記カスタムホットワード(132)に対応するものとして分類するように構成されている、方法(300)。
【請求項2】
前記カスタムホットワードモデル(200)をトレーニングした後、
ユーザデバイス(110)上にある前記データ処理ハードウェア(112)において、前記ユーザデバイス(110)によってキャプチャされたストリーミング音声データ(12)を受信するステップと、
前記データ処理ハードウェア(112)が、トレーニングされた前記カスタムホットワードモデル(200)を使用して、前記カスタムホットワード(132)が前記ストリーミング音声データ(12)内に存在するかどうかを決定するステップと、
前記カスタムホットワード(132)が前記ストリーミング音声データ(12)内に存在する場合、前記データ処理ハードウェア(112)が、前記カスタムホットワード(132)および/または前記ストリーミング音声データ(12)内の前記カスタムホットワード(132)に続く1つまたは複数の他の用語を処理するための前記ユーザデバイス(110)に対するウェイクアッププロセスを開始するステップと、をさらに含む、請求項1に記載の方法(300)。
【請求項3】
リモートシステム(140)は、前記第2の組のトレーニング音声サンプル(144)で前記音声埋め込みモデル(202)を事前にトレーニングし、前記第2の組のトレーニング音声サンプル(144)は、
1人または複数人の異なる話者によって話されたターゲットホットワードのコーパスを含むポジティブトレーニング音声サンプル(144p)と、
ターゲットホットワードの前記コーパスからの前記ターゲットホットワードを含まないネガティブトレーニング音声サンプル(144n)とを含む、請求項1または2に記載の方法(300)。
【請求項4】
前記リモートシステム(140)は、
ターゲットホットワードの前記コーパスをターゲットホットワードの複数のランダムなグループに分割すること、ターゲットホットワードの各グループは、ターゲットホットワードの前記コーパスからの個々の組の1つまたは複数のターゲットホットワードを含んでおり、
ターゲットホットワードの前記コーパスから分割されたターゲットホットワードの各グループについて、前記第2の組のトレーニング音声サンプル(144)内のターゲットホットワードの個々のグループから前記ターゲットホットワードのいずれかの存在を検出するように、前記音声埋め込みモデル(202)の上で個々の事前トレーニングホットワードモデル(200)をトレーニングすること、
ターゲットホットワードの複数のランダムグループに対する代表的な音声埋め込みを学習するように前記音声埋め込みモデル(202)をトレーニングすることによって、
前記音声埋め込みモデル(202)を事前にトレーニングするようにさらに構成される、請求項3に記載の方法(300)。
【請求項5】
前記第1の組のトレーニング音声サンプル(134)が、1つまたは複数の音声合成システムから出力された前記カスタムホットワード(132)の合成音声発話(162)を含む、請求項1乃至4のいずれか一項に記載の方法(300)。
【請求項6】
前記第1の組のトレーニング音声サンプル(134)が、
ユーザが話す前記カスタムホットワード(132)に対応する1つまたは複数の人間が生成した音声発話と、
1つまたは複数の音声合成システムから出力された前記カスタムホットワード(132)の複数の合成音声発話(162)とを含む、請求項1乃至5のいずれか一項に記載の方法(300)。
【請求項7】
前記複数の合成音声発話(162)のうちの少なくとも1つの合成音声発話(162)が、前記複数の合成音声発話(162)の他の合成音声発話(162)とは異なる合成音声を含む、請求項6に記載の方法(300)。
【請求項8】
前記データ処理ハードウェア(112)において、前記カスタムホットワード(132)に対応する入力テキスト(164)を受信するステップと、前記入力テキスト(164)は、ユーザがグラフィカルユーザインタフェースを介して前記データ処理ハードウェア(112)上で実行することによって入力され、
前記データ処理ハードウェア(112)が、前記1つまたは複数の音声合成システムへの入力としての前記入力テキスト(164)を使用して、前記カスタムホットワード(132)の前記複数の合成音声発話(162)を生成するステップと、をさらに含む、請求項6または7に記載の方法(300)。
【請求項9】
前記データ処理ハードウェア(112)において、ユーザが話すカスタムホットワード(132)に対応する1つまたは複数の人間が生成した音声発話を受信するステップと、
前記データ処理ハードウェア(112)が、1つまたは複数の人間が生成した音声発話のうちの少なくとも1つの転写(164)を生成するステップと、
前記データ処理ハードウェア(112)が、前記1つまたは複数の音声合成システムへの入力としての前記1つまたは複数の人間が生成した音声発話の前記少なくとも1つの転写(164)を使用して、前記カスタムホットワード(132)の前記複数の合成音声発話162)を生成するステップと、をさらに含む、請求項6乃至8のいずれか一項に記載の方法(300)。
【請求項10】
前記音声埋め込みモデル(202)は、5つの畳み込みブロック(210)を含み、
前記カスタムホットワードモデル(200)は、
前記音声埋め込みモデル(202)の前記5つの畳み込みブロック(210)の最後の畳み込みからの出力を入力として受信するように構成された1つの畳み込みブロック(210)と、
前記1つの畳み込みブロック(210)からの出力を入力として受信するように構成された分類ブロック(210)と、を含む、請求項1乃至9のいずれか一項に記載の方法(300)。
【請求項11】
前記音声埋め込みモデル(202)および前記カスタムホットワードモデル(200)の各畳み込みブロック(210)は、4つの畳み込み層(212)および1つの最大プール層(212)を含む、請求項10に記載の方法(300)。
【請求項12】
前記カスタムホットワードモデル(200)の前記分類ブロック(210)は、最大プール層(212)と、前記最大プール層(212)に続く畳み込み層(212)または全結合層(212)のいずれか1つとを含む、請求項10または11に記載の方法(300)。
【請求項13】
前記データ処理ハードウェア(112)が、ユーザに関連付けられたユーザデバイス(110)上に存在する、請求項1乃至12のいずれか一項に記載の方法(300)。
【請求項14】
前記ユーザデバイス(110)のユーザは、前記カスタムホットワード(132)を前記ユーザデバイス(110)に割り当てる、請求項13に記載の方法(300)。
【請求項15】
システム(110)であって、
データ処理ハードウェア(112)と、
前記データ処理ハードウェア(112)と通信するメモリハードウェア(114)と、を備え、前記メモリハードウェア(114)は、命令を格納しており、前記命令は、前記データ処理ハードウェア(112)上で実行されるときに、前記データ処理ハードウェア(112)に
カスタムホットワード(132)をそれぞれが含む第1の組のトレーニング音声サンプル(134)を受信すること、前記カスタムホットワード(132)は、1つまたは複数の単語を含んでおり、
前記第1の組のトレーニング音声サンプル(134)を入力として受信するように構成された音声埋め込みモデル(202)を使用して、前記第1の組のトレーニング音声サンプル(134)の各トレーニング音声サンプル(134)に対応するカスタムホットワード(132)を表すホットワード埋め込み(208)を生成すること、前記音声埋め込みモデル(202)は、前記第1の組のトレーニング音声サンプル(134)とは異なる第2の組のトレーニング音声サンプル(144)で事前にトレーニングされたものであり、前記第2の組のトレーニング音声サンプル(144)は、前記第1の組のトレーニング音声サンプル(134)よりも多くのトレーニング音声サンプル(144)を含んでおり、
音声データ(12)内の前記カスタムホットワード(132)の存在を検出するためのカスタムホットワードモデル(200)をトレーニングすること、とを含む動作を実行させ、前記カスタムホットワードモデル(200)は、
入力として、前記音声埋め込みモデル(202)を使用して生成された各対応するホットワード埋め込み(208)を受信し、
出力として、各対応するホットワード埋め込み(208)を前記カスタムホットワード(132)に対応するものとして分類するように構成されている、システム(110)。
【請求項16】
前記動作は、前記カスタムホットワードモデル(200)をトレーニングした後に、
ユーザデバイス(110)上で、前記ユーザデバイス(110)によってキャプチャされたストリーミング音声データ(12)を受信すること、
トレーニングされた前記カスタムホットワードモデル(200)を使用して、前記カスタムホットワード(132)が前記ストリーミング音声データ(12)内に存在するかどうかを決定すること、
前記カスタムホットワード(132)が前記ストリーミング音声データ(12)内に存在する場合、前記カスタムホットワード(132)および/または前記ストリーミング音声データ(12)内の前記カスタムホットワード(132)に続く1つまたは複数の他の用語を処理するための前記ユーザデバイス(110)に対するウェイクアッププロセスを開始すること、をさらに含む、請求項15に記載のシステム(110)。
【請求項17】
リモートシステム(140)は、前記第2の組のトレーニング音声サンプル(144)で前記音声埋め込みモデル(202)を事前にトレーニングし、前記第2の組のトレーニング音声サンプル(144)は、
1人または複数人の異なる話者によって話されたターゲットホットワードのコーパスを含むポジティブトレーニング音声サンプル(144p)と、
ターゲットホットワードの前記コーパスからの前記ターゲットホットワードを含まないネガティブトレーニング音声サンプル(144n)とを含む、請求項15または16に記載のシステム(110)。
【請求項18】
前記リモートシステム(140)は、
ターゲットホットワードの前記コーパスをターゲットホットワードの複数のランダムなグループに分割すること、ターゲットホットワードの各グループは、ターゲットホットワードの前記コーパスからの個々の組の1つまたは複数のターゲットホットワードを含んでおり、
ターゲットホットワードの前記コーパスから分割されたターゲットホットワードの各グループについて、前記第2の組のトレーニング音声サンプル(144)内のターゲットホットワードの個々のグループから前記ターゲットホットワードのいずれかの存在を検出するように、前記音声埋め込みモデル(202)の上で個々の事前トレーニングホットワードモデル(200)をトレーニングすること、
ターゲットホットワードの複数のランダムグループに対する代表的な音声埋め込みを学習するように前記音声埋め込みモデル(202)をトレーニングすることによって、
前記音声埋め込みモデル(202)を事前にトレーニングするようにさらに構成される、請求項17に記載のシステム(140)。
【請求項19】
前記第1の組のトレーニング音声サンプル(134)が、1つまたは複数の音声合成システムから出力された前記カスタムホットワード(132)の合成音声発話(162)を含む、請求項15乃至18のいずれか一項に記載のシステム(110)。
【請求項20】
前記第1の組のトレーニング音声サンプル(134)が、
ユーザが話す前記カスタムホットワード(132)に対応する1つまたは複数の人間が生成した音声発話と、
1つまたは複数の音声合成システムから出力された前記カスタムホットワード(132)の複数の合成音声発話(162)とを含む、請求項15乃至19のいずれか一項に記載のシステム(110)。
【請求項21】
前記複数の合成音声発話(162)のうちの少なくとも1つの合成音声発話(162)が、前記複数の合成音声発話(162)の他の合成音声発話(162)とは異なる合成音声を含む、請求項20に記載のシステム(110)。
【請求項22】
前記動作は、さらに
前記カスタムホットワード(132)に対応する入力テキストを受信すること、前記入力テキストは、ユーザがグラフィカルユーザインタフェースを介して前記データ処理ハードウェア(112)上で実行することによって入力され、
前記1つまたは複数の音声合成システムへの入力としての前記入力テキストを使用して、前記カスタムホットワード(132)の前記複数の合成音声発話(162)を生成すること、を含む、請求項20または21に記載のシステム(110)。
【請求項23】
前記動作は、さらに
ユーザが話す前記カスタムホットワード(132)に対応する1つまたは複数の人間が生成した音声発話を受信すること、
前記1つまたは複数の人間が生成した音声発話のうちの少なくとも1つの転写(164)を生成すること、
前記1つまたは複数の音声合成システムへの入力としての前記1つまたは複数の人間が生成した音声発話の前記少なくとも1つの転写(164)を使用して、前記カスタムホットワード(132)の前記複数の合成音声発話(162)を生成すること、を含む、請求項20乃至22のいずれか一項に記載のシステム(110)。
【請求項24】
前記音声埋め込みモデル(202)は、5つの畳み込みブロック(210)を含み、
前記カスタムホットワードモデル(200)は、
前記音声埋め込みモデル(202)の前記5つの畳み込みブロック(210)の最後の畳み込みからの出力を入力として受信するように構成された1つの畳み込みブロック(210)と、
前記1つの畳み込みブロック(210)からの出力を入力として受信するように構成された分類ブロック(210)と、を含む、請求項15乃至23のいずれか一項に記載のシステム(110)。
【請求項25】
前記音声埋め込みモデル(202)および前記カスタムホットワードモデル(200)の各畳み込みブロック(210)は、4つの畳み込み層(212)および1つの最大プール層(212)を含む、請求項24に記載のシステム(110)。
【請求項26】
前記カスタムホットワードモデル(200)の前記分類ブロック(210)は、最大プール層(212)と、前記最大プール層(212)に続く畳み込み層(212)または全結合層(212)のいずれか1つとを含む、請求項24または25に記載のシステム(110)。
【請求項27】
前記データ処理ハードウェア(112)が、ユーザに関連付けられたユーザデバイス(110)上に存在する、請求項15乃至26のいずれか一項に記載のシステム(110)。
【請求項28】
前記ユーザデバイス(110)のユーザは、前記カスタムホットワード(132)を前記ユーザデバイス(110)に割り当てる、請求項27に記載のシステム(110)。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、キーワードスポッターのトレーニングに関する。
【背景技術】
【0002】
音声対応環境(例えば、自宅、職場、学校、自動車など)では、ユーザがコンピュータベースのシステムにクエリ(問い合わせ)またはコマンド(命令)を声に出して話すと、コンピュータベースのシステムがクエリを処理して応答したり、かつ/またはコマンドに基づいて機能を実行したりすることが可能である。音声対応環境は、環境の様々な部屋または領域に分散している接続されたマイクロフォンデバイスのネットワークを使用して実施することができる。これらのデバイスは、環境内に存在する別の個人に向けられた発話とは対照的に、特定の発話がシステムに向けられたときを識別するのに役立つホットワードを使用することができる。従って、デバイスは、スリープ状態または休止状態で動作し、検出された発話にホットワードが含まれている場合にのみウェイクアップすることができる。ニューラルネットワークは、ストリーミング音声においてユーザが話したホットワードを検出するためのトレーニングモデルに対する魅力的なソリューションとして最近注目されている。通常、ホットワードを検出するために使用されるシステムは、ホットワードをほとんどまたは全くカスタマイズせずに、事前設定済みホットワードを認識するようにトレーニングされている。従って、これらのシステムは、大規模なデータセットを用いてトレーニングして事前設定済みホットワードに対するロバストなホットワード検出を生成することができるが、一般に、カスタムホットワードを同様に検出するためのトレーニングモデル用のこのような大規模なデータセットの余裕を有していない。
【発明の概要】
【0003】
本開示の一態様は、カスタムホットワードモデルをトレーニングするための方法を提供する。方法は、データ処理ハードウェアにおいて、カスタムホットワードをそれぞれが含む第1の組のトレーニング音声サンプルを受信することを含む。カスタムホットワードは、1つまたは複数の単語を含む。また、方法はデータ処理ハードウェアが、第1の組のトレーニング音声サンプルを入力として受信するように構成された音声埋め込みモデルを使用して、第1の組のトレーニング音声サンプルの各トレーニング音声サンプルに対するカスタムホットワードを表す対応するホットワード埋め込みを生成することを含む。音声埋め込みモデルは、第1の組のトレーニング音声データとは異なる第2の組のトレーニング音声サンプルで事前にトレーニングされたものである。第2の組のトレーニング音声サンプルは、第1の組のトレーニング音声サンプルよりも多くのトレーニング音声サンプルを含む。さらに、方法は、データ処理ハードウェアが、音声データ内のカスタムホットワードの存在を検出するようにカスタムホットワードモデルをトレーニングすることを含む。カスタムホットワードモデルは、音声埋め込みモデルを使用して生成された各対応するホットワード埋め込みを入力として受信するように構成される。カスタムホットワードモデルは、出力として、各対応するホットワード埋め込みをカスタムホットワードに対応するものとして分類するようにも構成されている。
【0004】
本開示の実施形態は、以下の任意の特徴のうちの1つまたは複数を含み得る。いくつかの実施形態では、カスタムホットワードモデルをトレーニングした後、方法は、ユーザデバイス上に存在するデータ処理ハードウェアにおいて、ユーザデバイスによってキャプチャされたストリーミング音声データを受信し、データ処理ハードウェアが、トレーニングされたカスタムホットワードモデルを使用して、カスタムホットワードがストリーミング音声データ内に存在するかどうか決定することを含む。この実施形態では、カスタムホットワードがストリーミング音声データ内に存在する場合、方法は、データ処理ハードウェアが、カスタムホットワードおよび/またはストリーミング音声データ内のカスタムホットワードに続く1つまたは複数の他の用語を処理するためのユーザデバイスに対するウェイクアッププロセスを開始することを含む。
【0005】
いくつかの構成では、リモートシステムは、第2の組のトレーニング音声サンプルで音声埋め込みモデルを事前にトレーニングする。この構成では、第2の組のトレーニング音声サンプルは、1人または複数人の異なる話者によって話されたターゲットホットワードのコーパスを含むポジティブトレーニング音声サンプルと、ターゲットホットワードのコーパスからのターゲットホットワードのいずれも含まないネガティブトレーニング音声サンプルとを含む。ここで、リモートシステムは、ターゲットホットワードのコーパスをターゲットホットワードの複数のランダムグループに分割することによって音声埋め込みモデルを事前にトレーニングするように構成され、ターゲットホットワードの各グループは、ターゲットホットワードのコーパスからの個々の組の1つまたは複数のターゲットホットワードを含む。ターゲットホットワードのコーパスから分割されたターゲットホットワードの各グループについて、リモートシステムは、第2の組のトレーニング音声サンプル内のターゲットホットワードの個々のグループからターゲットホットワードのいずれかの存在を検出するように、音声埋め込みモデルの上で個々の事前トレーニングホットワードモデルをトレーニングすることによって、音声埋め込みモデルを事前にトレーニングようにも構成される。リモートシステムは、ターゲットキーワードの複数のランダムグループに対する代表的な音声埋め込みを学習するように音声埋め込みモデルをトレーニングすることによって、音声埋め込みモデルを事前にトレーニングようにさらに構成することができる。
【0006】
いくつかの例では、第1の組のトレーニング音声サンプルが、1つまたは複数の音声合成システムから出力されたカスタムホットワードの合成音声発話を含む。他の例では、第1の組のトレーニング音声サンプルが、ユーザが話すカスタムホットワードに対応する1つまたは複数の人間が生成した(human-generated)音声発話と、1つまたは複数の音声合成システムから出力されたカスタムホットワードの複数の合成音声発話とを含む。ここで、複数の合成音声発話のうちの少なくとも1つの合成音声発話は、複数の合成音声発話の他の合成音声発話とは異なる合成音声を含み得る。方法は、データ処理ハードウェアにおいて、カスタムホットワードに対応する入力テキストを受信すること、入力テキストは、ユーザがグラフィカルユーザインタフェースを介してデータ処理ハードウェア上で実行することによって入力され、データ処理ハードウェアが、1つまたは複数の音声合成システムへの入力としての入力テキストを使用して、カスタムホットワードの複数の合成音声発話を生成することを含む。任意選択的に、方法は、データ処理ハードウェアにおいて、ユーザが話すカスタムホットワードに対応する1つまたは複数の人間が生成した音声発話を受信すること、データ処理ハードウェアが、1つまたは複数の人間が生成した音声発話の少なくとも1つの転写(transcription)を生成すること、データ処理ハードウェアが、1つまたは複数の音声合成システムへの入力として1つまたは複数の人間が生成した音声発話の少なくとも1つの転写を使用して、カスタムホットワードの複数の合成音声発話を生成することを含む。
【0007】
いくつかの実施形態では、音声埋め込みモデルは、5つの畳み込みブロックを含む。この実施形態では、カスタムホットワードモデルは、音声埋め込みモデルの5つの畳み込みブロックの最後の畳み込みからの出力を入力として受信するように構成された1つの畳み込みブロックと、畳み込みブロックからの出力を入力として受信するように構成された分類ブロックとを含む。音声埋め込みモデルとカスタムホットワードモデルの各畳み込みブロックは、4つの畳み込み層および1つの最大プール層を含む。カスタムホットワードモデルの分類ブロックは、最大プール層と、最大プール層に続く畳み込み層または全結合層のいずれか1つとを含む。
【0008】
いくつかの構成では、データ処理ハードウェアは、ユーザに関連付けられたユーザデバイス上に存在する。ここで、ユーザデバイスのユーザは、カスタムホットワードをユーザデバイスに割り当て得る。
【0009】
本開示の別の態様は、カスタムホットワードモデルをトレーニングするためのシステムを提供する。システムは、データ処理ハードウェアと、データ処理ハードウェアと通信するメモリハードウェアとを含む。メモリハードウェアは、データ処理ハードウェアによる実行時に、データ処理ハードウェアに動作を実行させる命令を格納する。動作は、カスタムホットワードをそれぞれが含む第1の組のトレーニング音声サンプルを受信することを含み、カスタムホットワードは1つまたは複数の単語を含む。動作は、第1の組のトレーニング音声サンプルを入力として受信するように構成された音声埋め込みモデルを使用して、第1の組のトレーニング音声サンプルの各トレーニング音声サンプルに対するカスタムホットワードを表す対応するホットワード埋め込みを生成することを含む。音声埋め込みモデルは、第1の組のトレーニング音声データとは異なる第2の組のトレーニング音声サンプルで事前にトレーニングされたものである。第2の組のトレーニング音声サンプルは、第1の組のトレーニング音声サンプルよりも多くのトレーニング音声サンプルを含む。動作は、音声データ内のカスタムホットワードの存在を検出するようにカスタムホットワードモデルをトレーニングすることをさらに含む。カスタムホットワードモデルは、入力として、音声埋め込みモデルを使用して生成された各対応するホットワード埋め込みを受信し、出力として、各対応するホットワード埋め込みをカスタムホットワードに対応するものとして分類するように構成されている。
【0010】
この態様は、以下の任意の特徴のうちの1つまたは複数を含み得る。いくつかの例では、データ処理ハードウェアはユーザデバイス上に存在し、動作は、カスタムホットワードモデルをトレーニングした後、ユーザデバイスによってキャプチャされたストリーミング音声データを受信すること、トレーニングカスタムホットワードモデルを使用して、カスタムホットワードがストリーミング音声データ内に存在するかどうかを決定することを含む。この例では、カスタムホットワードがストリーミング音声データ内に存在する場合、動作は、カスタムホットワードおよび/またはストリーミング音声データ内のカスタムホットワードに続く1つまたは複数の他の用語を処理するためのユーザデバイスに対するウェイクアッププロセスを開始することを含む。
【0011】
いくつかの実施形態では、リモートシステムは、第2の組のトレーニング音声サンプルで音声埋め込みモデルを事前にトレーニングする。この実施形態では、第2の組のトレーニング音声サンプルは、1人または複数人の異なる話者によって話されたターゲットホットワードのコーパスを含むポジティブトレーニング音声サンプルと、ターゲットホットワードのコーパスからのターゲットホットワードを含まないネガティブトレーニング音声サンプルとを含む。ここで、リモートシステムは、ターゲットホットワードのコーパスをターゲットホットワードの複数のランダムグループに分割することによって音声埋め込みモデルを事前にトレーニングするように構成され、ターゲットホットワードの各グループは、ターゲットホットワードのコーパスからの個々の組の1つまたは複数のターゲットホットワードを含む。さらに、ターゲットホットワードのコーパスから分割されたターゲットホットワードの各グループについて、リモートシステムは、第2の組のトレーニング音声サンプル内のターゲットホットワードの個々のグループからターゲットホットワードのいずれかの存在を検出するように、音声埋め込みモデルの上で個々の事前トレーニングホットワードモデルをトレーニングすること、およびターゲットキーワードの複数のランダムグループに対して代表的な音声埋め込みを学習するように音声埋め込みモデルをトレーニングすることによって、音声埋め込みモデルを事前にトレーニングするように構成され得る。
【0012】
いくつかの構成では、第1の組のトレーニング音声サンプルが、1つまたは複数の音声合成システムから出力されたカスタムホットワードの合成音声発話を含む。他の構成では、第1の組のトレーニング音声サンプルが、ユーザが話すカスタムホットワードに対応する1つまたは複数の人間が生成した音声発話と、1つまたは複数の音声合成システムから出力されたカスタムホットワードの複数の合成音声発話とを含む。ここで、複数の合成音声発話のうちの少なくとも1つの合成音声発話は、複数の合成音声発話の他の合成音声発話とは異なる合成音声を含み得る。動作は、カスタムホットワードに対応する入力テキストを受信すること、入力テキストは、ユーザグラフィカルユーザインタフェースを介してデータ処理ハードウェア上で実行することによって入力され、1つまたは複数の音声合成システムへの入力としての入力テキストを使用して、カスタムホットワードの複数の合成音声発話を生成することを含み得る。任意選択的に、動作は、ユーザが話すカスタムホットワードに対応する1つまたは複数の人間が生成した音声発話を受信すること、1つまたは複数の人間が生成した音声発話の少なくとも1つの転写を生成すること、1つまたは複数の音声合成システムへの入力としての1つまたは複数の人間が生成した音声発話の少なくとも1つの転写を使用して、カスタムホットワードの複数の合成音声発話を生成することを含む。
【0013】
いくつかの例では、音声埋め込みモデルは、5つの畳み込みブロックを含む。この例では、カスタムホットワードモデルは、音声埋め込みモデルの5つの畳み込みブロックの最後の畳み込みからの出力を入力として受信するように構成された1つの畳み込みブロックと、畳み込みブロックからの出力を入力として受信するように構成された分類ブロックとを含む。ここで、音声埋め込みモデルとカスタムホットワードモデルの各畳み込みブロックは、4つの畳み込み層および1つの最大プール層を含み得る。カスタムホットワードモデルの分類ブロックは、最大プール層と、最大プール層に続く畳み込み層または全結合層のいずれか1つとを含む。
【0014】
いくつかの実施形態では、データ処理ハードウェアは、ユーザに関連付けられたユーザデバイス上に存在する。ここで、ユーザデバイスのユーザは、カスタムホットワードをユーザデバイスに割り当て得る。
【0015】
本開示の1つまたは複数の実施の詳細は、添付の図面および以下の詳細な説明に記載されている。他の態様、特徴、および利点は、詳細な説明および図面、ならびに特許請求の範囲から明らかになる。
【図面の簡単な説明】
【0016】
図1A】音声対応環境の例の概略図である。
図1B】音声対応環境の例の概略図である。
図1C】音声対応環境の例の概略図である。
図2A図1Bおよび図1Cの例示的なカスタムホットワードモデルの概略図である。
図2B図2Aのカスタムホットワードモデルの例示的なブロックの概略図である。
図3】カスタムホットワードモデルをトレーニングする方法のための動作の例示的な構成のフローチャートである。
図4】本明細書で説明されるシステムおよび方法を実施するために使用され得る例示的なコンピューティングデバイスの概略図である。
【発明を実施するための形態】
【0017】
様々な図面の同様の参照記号は、同様の構成要素を示す。
音声対応デバイス(例えば、音声アシスタントを実行するユーザデバイス)では、ユーザがクエリまたはコマンドを声に出して話したり、クエリを処理して応答したり、かつ/またはコマンドに基づいて機能を実行したりすることが可能である。合意によって、音声対応デバイスに対して注意を喚起するために話される所定の用語/フレーズが予約されている「ホットワード」(「キーワード」、「アテンションワード」、「ウェイクアップフレーズ/ウェイクアップワード」、「トリガーフレーズ」、または「音声アクション開始コマンド」とも呼ばれる)を使用することにより、音声対応デバイスは、システムに向けられた発話(即ち、発話内のホットワードに続く1つまたは複数の用語を処理するためのウェイクアッププロセスを開始するための)と、環境内の個人に向けられた発話とを識別することができる。通常、音声対応デバイスは、バッテリ電力を節約するためにスリープ状態で動作し、入力音声データが音声ホットワードに続く場合を除き、入力音声データを処理しない。例えば、スリープ状態では、音声対応デバイスは、マイクロフォンを介して入力音声をキャプチャし、入力音声内のホットワードの存在を検出するようにトレーニングされたホットワード検出器を使用する。ホットワードが入力音声内で検出されると、音声対応デバイスは、ホットワードおよび/またはホットワードに続く入力音声内の他の用語を処理するためのウェイクアッププロセスを開始する。
【0018】
ホットワード検出器は、ストリーミング音声を継続的にリッスンして、ストリーミング音声内でホットワードの存在が検出されたときに正確かつ瞬時にトリガーする必要があるため、ホットワード検出は、干し草の山から針を探すのと似ている。言い換えると、ホットワード検出器は、ホットワードの存在が検出されない限り、ストリーミング音声を無視するように機能する。ニューラルネットワークは、音声の連続ストリーム内のホットワードの存在を検出する複雑さに対処するために、ホットワード検出器で一般的に採用されている。ホットワード検出器は、通常、ユーザデバイスのマイクロフォンによってキャプチャされた生の音声信号を、ニューラルネットワークによる処理用にフォーマットされた1つまたは複数の音声特徴に変換するコンポーネントを含む。ニューラルネットワークは、ホットワードを含む音声シーケンスを認識するようにトレーニングされる。しかしながら、多くの場合、異なるホットワードを検出するために別々のモデルが必要になったり、または、設定されたホットワードを変更することにモデルが適応できなかったりする。
【0019】
音声対応デバイスの増加に伴い、一般に、これらのデバイスは、音声認識を実行するためにデバイスが使用する処理リソースの点で効率的であると同時に、音声認識において効果的である必要がある。従って、一部の音声対応デバイスはクラウドコンピューティング環境を利用して音声認識を実行し、他の音声対応デバイスはオンデバイスで(on-device)音声認識を実行する。違いは、一般的に完全にオンデバイス手法では、音声対応デバイスのリソースのみを使用して音声認識を実行することである。これらの手法には、それぞれいくつかの欠点がある。例えば、音声認識に関連する計算をクラウドにオフロードすることにより、音声対応デバイスは、デバイスにおいてキャプチャされた音声の連続ストリームをネットワーク経由でクラウドコンピューティング環境に送信する。ネットワークを介したこれらのストリームの通信によって待ち時間が増加するとともに、音声対応デバイスは、クラウドコンピューティング環境とのネットワークを介したこの継続的な通信のための専用接続/専用チャネルが必要となる。オンデバイスの完全な音声認識システムは、これらの通信上の懸念の一部を軽減するように見えるかもしれないが、デバイス上に完全な音声認識システムを設けるには、しばしば、音声対応デバイスにおいて一桁多い処理能力が必要になる。いくつかの構成では、音声対応デバイスのユーザには、ユーザがクラウドコンピューティング環境に音声データを提供したくないという場合、および/またはユーザがクラウドコンピューティング環境に照会している内容を共有したくない場合に備えて、音声対応デバイスがオンデバイスで音声認識を実行するというオプションがある。
【0020】
これらの欠点のバランスをとるために、音声対応デバイスには、音声対応デバイスの使用に関連する特定の組のホットワードのみを検出するように設計されたホットワード検出器が含まれている。言い換えれば、ホットワード検出器は、話されたホットワードに続く入力音声データを処理すべきとホットワードが知らせるまで、スリープ状態にある間に最小限の処理を実行するように構成される。これにより、ホットワード検出器は、音声対応デバイス、クラウド、またはその2つの組み合わせで実行される完全な音声認識プロセスをトリガーすることができる。残念ながら、ホットワード検出器は、通常、特定の組のフレーズ(即ち、ホットワード)のみに対してトレーニングされる。ホットワード検出器は、特定の組のフレーズに制限されるため、従来は、ホットワードのカスタマイズに柔軟性がなかった。音声対応デバイスのユーザまたは音声対応デバイスの製造業者などの主体(エンティティ:entity)が、音声対応デバイスに対してカスタムホットワードを実装することを望む場合、主体は、このカスタムホットワードを正確に検出するようにホットワード検出器をトレーニングする新たなトレーニングプロセスまたは再トレーニングプロセスを開始する必要がある。ホットワード検出器をトレーニングしてホットワードを検出することは、ホットワードに関連する大量のトレーニングデータ(例えば、数万個のトレーニングサンプル)を含むプロセスであることが多いため、カスタムホットワードをトレーニングするには、同様にカスタムホットワードに関連するそのような大量のトレーニングデータが必要になる。従って、ホットワードを検出するようにモデルをトレーニングするという性質上、カスタムホットワードの設定は、主体が自身の音声対応デバイスの音声インタフェースをカスタマイズすることができるようにするような迅速な生成には適していない。
【0021】
ホットワードのカスタマイズに関連する問題の1つは、音声対応デバイスが事前トレーニング型ホットワード検出モデルで構成され得ることである。事前トレーニング型(pre-trained)ホットワード検出モデルは、リモートエンティティによってデバイス外で構築およびテストされ得る。ただし、ホットワードのカスタマイズを可能にするために、ホットワード検出器を完全にデバイス外でトレーニングすることはできない。音声対応デバイスのユーザまたは音声対応デバイスの製造業者など、カスタムホットワードを使用する主体は、音声対応デバイスにおいて(例えば、オンデマンド構築手法において)カスタムホットワード用のホットワード検出器をトレーニングする必要がある。これには、少なくとも2つの潜在的な問題がある。第一の問題は、デバイスにおいてカスタムホットワードを検出するためのロバストなモデルをどのようにして構築するかであり、第二の問題は、カスタムホットワード用のモデルの精度を保証するために大量のトレーニングデータをどのようにして生成するかである。
【0022】
リモートエンティティが事前トレーニング型モデルを生成することのそのような利点の1つは、リモートエンティティがトレーニングデータ(例えば、音声サンプル)を有するトレーニングデータリポジトリにアクセスできること、または事前トレーニング型モデルに基づいてホットワード検出器の精度を保証する大量のトレーニングデータを生成するのに十分な時間が与えられることである。ここで、ホットワードのカスタマイズにより、主体は、多かれ少なかれ、カスタムホットワードモデルがオンデマンドで構築される(即ち、要求時に構築される)ことを要求する。この需要を満たすカスタムホットワードモデルを迅速かつ効果的に作成するために、本明細書で説明する手法は、事前トレーニング型モデルを活用する。事前トレーニング型モデルを組み込むために、ホットワード検出器は、ニューラルネットワークモデル(例えば、畳み込みニューラルネットワーク(CNN:convolutional neural network))を使用する。このニューラルネットワークモデルは、入力データ(例えば、音声入力)から特徴を抽出して、(例えば、ホットワードを識別するために)抽出された特徴を分類する1つまたは複数の層を含む。CNNとは、トレーニング中に重みが自動的に学習される重み付きフィルタを使用して、畳み込みによって異なる特徴が抽出されるニューラルネットワークトポロジを指す。例えば、ニューラルネットワークモデルは、ホットワードの存在を識別し得る特徴を抽出し、ホットワードが存在するかどうかを分類するためにそれらの特徴を重み付けする。CNNのトポロジは、ホットワードに関連する特徴に関する抽象化レベルがそれぞれ異なる複数の層を含み得るため、カスタムホットワードの存在を検出するモデルは、非カスタマイズされたホットワードを識別する事前トレーニング型モデルといくつかの層を共有し得る。言い換えると、事前トレーニング型モデルの層を使用することにより、カスタムホットワードモデルが完全にゼロから生成されるのを防止することができる。これにより、事前トレーニング型ホットワード検出モデルから1つまたは複数の層と組み合わせた、カスタムホットワード検出用の1つまたは複数の新たな層(ヘッドモデルとも呼ばれる)を含むニューラルネットワークモデルが得られる。この種類の構成では、カスタムホットワードモデルは、(例えば、完全に事前にトレーニングされるモデルよりも少ないトレーニングデータで)効率的なオンデバイスでトレーニングを実行することが可能であり得る。ここで、カスタムホットワードモデルのヘッドモデルは、ベースモデルを完全に再トレーニングする必要なしに、カスタムホットワードを検出するように、オンデバイスでトレーニング(または再トレーニング)され得る。実際には、この構造により、カスタムホットワードモデルを音声対応デバイスに展開することが可能であり得る。
【0023】
いくつかの構成では、音声対応デバイスにカスタムホットワードモデルを効果的に展開することに加えて、本明細書の手法は、合成音声トレーニングデータ(例えば、合成音声トレーニング例)を利用して、カスタムホットワードモデルをトレーニングすることができる。合成音声トレーニングデータを使用することによって、カスタムホットワードを作成することを望む主体は、カスタムホットワードに対するモデルの精度を保証する大量のトレーニングデータを生成し得る。例えば、主体はカスタムホットワードモデルをトレーニングするためにいくつかの実際の音声トレーニングデータを生成し、この量の実際の音声トレーニングデータに合成音声トレーニングデータが追加される。代替的に、カスタムホットワードモデルは、合成音声トレーニングデータで完全にトレーニングされ得る。ここで、合成音声トレーニングデータは、カスタムホットワードモデルのトレーニングに対して有益であり得る。その理由は、カスタムホットワードモデルは、トレーニングデータリポジトリを利用することができるが(例えば、カスタムホットワードモデルの事前トレーニング型モデルの部分をトレーニングする場合)、ヘッドモデルは、音声対応デバイスにおいてカスタムホットワードに対してトレーニングするときに、この同じトレーニングデータリポジトリを利用することができないからである。従って、(例えば、テキスト読み上げ(TTS:text-to-speech)システムまたは他の合成音声生成システムによって生成された)合成トレーニング例は、カスタムホットワード検出の精度を向上させ得る。これらの手法(即ち、カスタムホットワードに関するヘッドモデルおよび/または合成トレーニングデータ)の一方または両方を使用することによって、迅速なプロトタイピングおよび/またはオンデマンドのカスタマイズを可能にするようにホットワード検出器をカスタムホットワード検出器に適合させることができる。
【0024】
図1A図1Cは、音声対応環境100(音声対応システム100とも呼ばれる)の複数の例である。音声対応環境100において、音声対応デバイス110などのコンピュータベースのシステムと対話するユーザの態様は、音声入力によるものであり得る。音声対応デバイス110(一般にデバイス110またはユーザデバイス110とも呼ばれる)は、音声対応環境100内の1人または複数人のユーザ10からの音(例えば、ストリーミング音声データ12)をキャプチャするように構成される。ここで、ストリーミング音声データ12は、デバイス110に対する可聴のクエリまたは可聴のコマンドとしての役割を持つ、ユーザ10による音声発話を指すことができる。音声対応システム100は、クエリに応答することによって、かつ/またはコマンドを実行させることによって、クエリまたはコマンドを処理し得る。ユーザデバイス110は、データ処理ハードウェア112と、データ処理ハードウェア112と通信し、かつ命令を格納するメモリハードウェア114とを含み、命令は、データ処理ハードウェア112による実行時に、データ処理ハードウェア112に1つまたは複数の動作を実行させる。ユーザデバイス110は、音声対応システム100内の音声発話12をキャプチャして電気信号に変換するための音声キャプチャデバイス(例えば、マイクロフォン)116と、可聴音声信号を(例えば、デバイス110からの出力音声データとして)伝達するための発話出力デバイス(例えば、スピーカ)118とをさらに含む。
【0025】
デバイス110は、ユーザ10に関連付けられ、例えば、音声データ12の発話がホットワード132で始まる場合、関連付けられたユーザ10からの音声データ12を処理することが可能であり得る。ホットワード132は、デバイス110に後に続いて話されるフレーズをシステムに対する音声入力として扱うようにさせる発話フレーズ(spoken phrase)であり得る。言い換えれば、ホットワード132は、発話入力が音声コマンドとして扱われることを明示的に示す発話フレーズであり得る。即ち、ホットワード132は、エンドポイント指定(endpointing)、自動音声認識(ASR:automated speech recognition)、またはホットワード132またはホットワード132に続く1つまたは複数の用語に対する意味解釈をトリガーする発話フレーズであり得る。言い換えれば、「ホットワード」とは、指定されたホットワードであるか、または指定されたホットワードの少なくとも一部に類似した音(例えば、他の言語でのホットワードに類似した音)である単語またはフレーズを指す。
【0026】
発話12内のホットワード132の存在を検出するために、デバイス110は、ホットワード検出器120を含む。ホットワード検出器120は、発話12に対応する音(例えば、ストリーミング音声データ12)を受信し、発話12が、ホットワード132として指定された、または割り当てられた用語を含むかどうかを判定し得る。いくつかの例では、ホットワード検出器120は、発話12からキャプチャされた音の音響的特徴を検出する。ここで、音響的特徴がホットワード132の特徴である場合、ホットワード検出器120は、ホットワード132を識別する。ホットワード132の検出により、ホットワード検出器120は、ウェイクアッププロセスおよびデバイス110に関するさらなるプロセスを開始し得る。他の構成では、ホットワード検出器120は、ホットワード132の検出をユーザデバイス110の他の構成要素に伝達する。ホットワード132を効率的かつ効果的に検出するためのいくつかの実施形態では、ホットワード検出器120は、発話12がホットワード132を含むかどうかを識別する方法を学習するように、音声のデータまたは例を用いて、ホットワード検出器モデル200、200a-b(例えば、カスタムホットワードモデル200)によってトレーニングされる。
【0027】
いくつかの例では、デバイス110の所有者または製造者などのユーザ10は、自身のデバイス110に関連付けられたホットワード132をカスタマイズすることを所望する。カスタムホットワード132を生成するために、ユーザ10は、カスタムホットワード132の要求130を開始し得る。例えば、図1A図1Cは、初期的には、デバイス110のホットワード132がマルチワードフレーズ「ねえ グーグル(Hey Google(登録商標))」に対応しているが、ユーザ10がこのデフォルトのホットワード132をカスタムホットワードフレーズ「ねえ ブーブー(Hey Boo Boo)」に変更することを所望していることを示している。言い換えれば、ユーザ10は、ヨギ・ベア(Yogi Bear)のファンである自身の子供に対してより多くのコメディ的な価値を提供するカスタムホットワード132を所望することがあり得る。いくつかの実施形態では、要求130は、デバイス110のホットワード132に関する構成設定に対応する。
【0028】
このホットワードカスタマイズ要求130を処理するために、デバイス110のカスタムホットワード検出器120は、カスタムホットワード132についてトレーニングされる必要がある。一般的に言えば、ホットワードのカスタマイズの前に、デバイス110は、デフォルトで、1つまたは複数の特定のホットワード132で構成され得る。ここで、デバイス110のホットワード検出器120は、これらのデフォルトのホットワード132(例えば、「ねえ グーグル」)で既にトレーニングされている。いくつかの例では、ネットワーク150を介してデバイス110と通信するリモートシステム140(例えば、クラウドコンピューティング環境などのリモートコンピューティング環境)は、(例えば、デバイス110のホットワード検出器120をトレーニングすることによって)デバイス110上にプッシュまたは実装されたホットワードモデル200、200aを既に生成している。これらの例では、リモートシステム140は、トレーニングデータサンプルリポジトリ142を使用して、ロバストなトレーニングされたホットワードモデル200を生成して、トレーニング中に1組のトレーニング音声サンプル144をホットワードモデル200aに提供し得る。言い換えれば、リモートシステム140は、ホットワードモデル200aの精度を保証する大規模な組のトレーニング音声サンプル144(例えば、数万個のサンプル)を含むか、または蓄積し得る。
【0029】
それでも、ユーザ10がデバイス110にホットワード検出器120によりカスタムホットワード検出を実行させたい場合、カスタムホットワード132を識別するために、ホットワードモデル200aをカスタムホットワードモデル200、200bに適合させる必要がある。カスタムホットワードモデル200bとホットワードモデル200aは、ホットワード特徴識別を実行するための機能が重複し得るため、ホットワードのカスタマイズプロセスはこれらの類似性を利用し得る。例えば、カスタムホットワードモデル200bは、事前トレーニング型モデル202(例えば、埋め込みモデルとも呼ばれる)と、ヘッドモデル204とを含み得る。ここで、事前トレーニング型モデル202(例えば、図2Aおよび図2Bに示されるような)は、ホットワードモデル200aとよく似た畳み込み層を含み得る。例えば、これらの畳み込み層は、特徴抽出がデフォルトのホットワード132に対するものであっても、カスタムホットワード132に対するものであっても、同様の方法で特徴抽出を実行し得る。図1Bおよび図1Cなどのいくつかの実施形態では、カスタムホットワードモデル200bの事前トレーニング型モデル202は、ホットワードモデル200aもトレーニングした1組のトレーニング音声サンプル144でトレーニングされていることが示されている。事前トレーニング型ホットワードモデル200aの一部(例えば、事前トレーニング型モデル202)を含むことによって、カスタムホットワードモデル200bは、完全にゼロからトレーニングされる必要はなく、例えば、リモートシステム140のトレーニングデータサンプルリポジトリ142を利用することができる。これにより、カスタムホットワードモデル200bは、これらのトレーニングサンプルが必ずしもカスタムホットワード132を含んでいないか、または全体的に含んでいなくても、依然として多数のトレーニングサンプルでトレーニングされ得る。
【0030】
いくつかの構成では、リモートシステム140は、異なるタイプのトレーニング音声サンプル144を使用して、ホットワードモデル200aおよび/またはカスタムホットワードモデル200bをトレーニングする。例えば、トレーニング音声サンプル144は、ポジティブトレーニング音声サンプル144、144pまたはネガティブトレーニング音声サンプル144、144nであり得る。ポジティブトレーニング音声サンプル144pは、ターゲットホットワード132(例えば、またはターゲットホットワード132のコーパスの一部)を含むトレーニング音声サンプル144を指す。対照的に、ネガティブトレーニング音声サンプル144nは、ターゲットホットワード132を含んでいないトレーニング音声サンプル144を指す。さらに、いくつかの実施形態では、ロバストなホットワードモデル200a-bの生成を支援するために、トレーニング音声サンプル144は、異なるアクセントまたは言語変化を有する複数の異なる話者から導出される。トレーニング音声サンプル144にこのような種類のバリエーションを持たせることによって、ホットワードモデル200a-bは、ユーザ10に関係なく、ホットワード132を正確に識別する可能性が高くなり得る。
【0031】
いくつかの実施形態では、リモートシステム140がカスタムホットワードモデル200bの事前トレーニング型モデル202を事前にトレーニングすると、リモートシステム140は、カスタムホットワードモデル200bをデバイス110にプッシュして、カスタムホットワードモデル200bのトレーニングプロセスを完了する。リモートシステム140は、ユーザ10がカスタムホットワード132として要求し得るものを推測または識別することができないため、トレーニングプロセスの残りは、デバイス110で発生し得る。いくつかの例では、ユーザ10がカスタムホットワード要求130を生成することに加えて、音声対応環境100内のユーザ10および/または他の話者は、カスタムホットワード132に固有のトレーニングデータを生成および/または提供する。例えば、図1Bおよび図1Cは、ユーザ10がトレーニング音声サンプル134を提供することを示す。いくつかの構成では、ユーザ10は、カスタムホットワード132を話すユーザ10の人間が生成した音声発話(実音声とも呼ばれる)に対応するトレーニング音声サンプル134を提供し、かつ/または生成する。例えば、ユーザ10は、カスタムホットワード132を数回話して、これらの人間が生成したトレーニング音声サンプル134、134a-nを生成する。いくつかの例では、リモートシステム140のトレーニング音声サンプル142と同様に、これらの人間が生成したトレーニング音声サンプル134は、ポジティブトレーニング例またはネガティブトレーニング例を含み得る。図1Bおよび図1Cは、ネガティブトレーニングサンプルを表すために、カスタムホットワード132のない第3のトレーニング音声サンプル134、134cを示す。トレーニング音声サンプル134に関して、デバイス110は、カスタムホットワード132を設定するための設定プロセス中に、人間が生成したトレーニング音声サンプル134を生成するようにユーザ10に促し得る。
【0032】
いくつかの実施形態では、デバイス110において人間が生成したトレーニング音声サンプル134でカスタムホットワードモデル200bをトレーニングすることに加えて、カスタムホットワードモデル200bは、1つまたは複数の音声合成器160(即ち、テキスト読み上げ(TTS)システム)から出力されたカスタムホットワード132の合成音声発話162に対応するトレーニング音声サンプルでトレーニングされるようにも構成される。いくつかの例では、カスタムホットワードモデル200bは、人間が生成したトレーニング音声サンプル134を補足するために、合成音声発話162で追加的にトレーニングする。他の例では、カスタムホットワードモデル200bは、デバイス110において合成音声発話162で完全にトレーニングする。カスタムホットワードモデル200bをトレーニングするために使用されるこれらの合成音声発話162は、トレーニング中に様々な音声または言語的な差異に対してカスタムホットワードモデル200bを導入することを試みるために、1つまたは複数の異なる合成音声を含み得る。
【0033】
図1Cなどのいくつかの構成では、音声対応環境100内のカスタムホットワード132に対してセットアップされるユーザデバイス110、110aまたは別のユーザデバイス110、110b(例えば、モバイルデバイスなど)は、カスタムホットワード132に対応する入力テキストを(例えば、グラフィカルインタフェースを介して)受信し、合成器160において入力テキストを使用して、1つまたは複数の合成音声発話162を生成する。いくつかの実施形態では、デバイス110またはリモートシステム140に実装されたASRシステム(図示せず)は、入力として、カスタムホットワード132の人間が生成した音声発話134を受信し、出力として、カスタムホットワード132の1つまたは複数の合成音声発話162を生成するための合成器への入力として提供され得るカスタムホットワード132の転写164を生成する。図示される例では、音声合成器160は、デバイス110上、リモートシステム140などのリモートコンピューティングシステム上、またはデバイス110およびリモートシステム140のいくつかの組み合わせ上に存在し得る。
【0034】
カスタムホットワードモデル200bをトレーニングした後、デバイス110は、音声キャプチャデバイス116でキャプチャされたストリーミング音声データ12(例えば、ユーザ10による音声発話)を受信し、トレーニングされたカスタムホットワードモデル200bに基づいて、音声データ12がカスタムホットワード132の存在を含むかどうかを決定し得る。ここで、カスタムホットワード132がストリーミング音声データ12内に存在する場合、デバイス110は、カスタムホットワード132および/またはストリーミング音声データ12内のカスタムホットワード132に続く1つまたは複数の用語を処理するためのウェイクアッププロセスを開始する。
【0035】
いくつかの構成では、デバイス110は、主体に関連付けられるとともに、上記の技法を使用してカスタムホットワード132の存在を検出するようにカスタムホットワードモデル200bを初期トレーニングするために、主体によって使用される。カスタムホットワードモデル200bのトレーニングが完了した後、トレーニングされたカスタムホットワードモデル200bは、主体の顧客および/または従業員が使用するために、主体に関連付けられた多数の音声対応デバイスに実装され得る。これらの構成において、主体は、主体に固有の商号、製品名、または他の専有名を含むが、これらに限定されない1つまたは複数のカスタムホットワード132を選択することができる。例えば、主体が自動車製造業者である場合、トレーニングされたカスタムホットワードモデル200bは、カスタムホットワード132「ねえ 車(Hey Car)」を検出するように、自動車製造業者の顧客に販売される車両のインフォテインメントシステムに実装され得る。別の例では、主体は家電製造業者を含むことができ、トレーニングされたカスタムホットワードモデル200bは、「食器洗い機(Dishwasher)」などのカスタムホットワード132を検出するように、家電製造業者によって販売される家電製品に実装され得る。
【0036】
図2Aおよび図2Bを参照すると、カスタムホットワードモデル200bのアーキテクチャは、事前トレーニング型モデル202およびヘッドモデル204を含む。ここで、前述したように、このアーキテクチャの前提は、ホットワード132を分類するために必要な作業の大部分は、実際のホットワード132とは無関係であるということである。従って、ホットワードモデル200aのトレーニングプロセスは、カスタムホットワードモデル200bの事前トレーニング型モデル202に(例えば、共有埋め込みモデルとして)組み込まれ得る。カスタムホットワードモデル200bの各部分202、204は、1つまたは複数のブロック210を含む。カスタムホットワードモデル200bがCNNトポロジを有する場合、各ブロック210は、畳み込みブロック210、210CVまたは分類ブロック210、210CLのいずれかである。一般的に言えば、畳み込みブロック210CVは特徴抽出を実行し、一方、分類ブロック210CLは、抽出された特徴を分類する(例えば、抽出された特徴の埋め込みを分類する)。いくつかの例では、事前トレーニング型モデル202におけるカスタムホットワードモデル200bは、入力として、ログメル(log mel)入力特徴206を受信する。例えば、カスタムホットワードモデル200bは、ログメル入力特徴206として32次元のログメル特徴ベクトルを提供する低フットプリント特徴抽出器上で稼動する。ログメル特徴ベクトルは、10ミリ秒ごとに8ビットに量子化される60Hzから3800Hzの範囲の音声周波数をカバーし得る。
【0037】
埋め込みモデルとも呼ばれる事前トレーニング型モデル202は、ログメル入力特徴206によって表される音声のストリーム(例えば、音声データ12)を埋め込み208、208a-n(例えば、次元特徴ベクトル)に変換するように構成されている。事前トレーニング型モデル202をトレーニングする際、複数のヘッドモデル204、204a-nが使用され得る。例えば、各ヘッドモデル204は、事前トレーニング型モデル202の上で並行にトレーニングされたターゲットホットワード132の異なるグループに対応する。いくつかの実施形態では、多数のターゲットホットワード132は、ターゲットホットワード132の複数のランダムなグループに分割され得る。例えば、図2Aは、ヘッドモデル204a、204b-nに対応するターゲットホットワード132の3つのランダムなグループを示している。ターゲットホットワード132のこれらのグループの各々は、全てのターゲットホットワード132の本体からの1組の1つまたは複数のターゲットホットワード132を含み得る。この手法によって、事前トレーニング型モデル202は、任意のグループのホットワード132に対して有用であり得る埋め込み208を学習することが可能となり得る。言い換えれば、事前トレーニング型モデル202を複数の並列ヘッドモデル204を用いて(例えば、ランダムなターゲットホットワードグループを用いて)トレーニングすることによって、事前トレーニング型モデル202は、その埋め込み出力が特定のホットワードに有用ではなく、むしろ後で定義される任意のホットワード132(例えば、カスタムホットワード132)に普遍的に有用であるようにトレーニングされる。いくつかの実施形態では、事前トレーニング型モデル202をトレーニングした後、複数の並列ヘッドモデル204は、デバイス110においてカスタムホットワード132を分類するために後で有用にトレーニングされるようにするために、破棄される。
【0038】
図2Aを引き続き参照すると、事前トレーニング型モデル202は、5つの畳み込みブロック210CV、210a-eを含む。畳み込み構造では、畳み込みブロック210の出力は、後続の畳み込みブロック210n+1への入力として供給される。例えば、第1の畳み込みブロック210、210aの出力は、第2の畳み込みブロック210、210bへの入力として供給される。次に、第2の畳み込みブロック210bの出力は、第3の畳み込みブロック210、210cへの入力として供給される。第3の畳み込みブロック210cの出力は、第4の畳み込みブロック210、210dへの入力として供給される。第4の畳み込みブロック210dの出力は、事前トレーニング型モデル202の第5の最後の畳み込みブロック210eへの入力として供給される。この5段階または5ブロックの畳み込みプロセスによって、事前トレーニング型モデル202は、1つまたは複数のホットワード埋め込み208を生成する。
【0039】
図2Bに示されるように、各畳み込みブロック210CVは、複数の層212にさらに細分され得る。例えば、畳み込みブロック210CVは、最大プーリング層212、212cとともに4つの畳み込み層212、212a、b、d、eに分割される。いくつかの例では、ブロック210の順序と同様に、畳み込み層212の順序は、第1の層212aから第5の層212eまで順次進行する。ここで、各ブロック210の畳み込み中に、畳み込みプロセスは、最初に第1の層212aで1x3畳み込みを実行し、次に第2の層212、212bで3x1畳み込みを実行し、続いて第3の層212、212cで最大プーリング演算を実行し、続いて第4の層212、212dで1x3畳み込み、続いて第5の層212eで3x1畳み込みを実行する。また、これらの畳み込み演算は、各ブロック210に対して1つまたは複数のチャネルにわたって複合化され得る。
【0040】
図2Aを引き続き参照すると、いくつかの例では、ヘッドモデル204は、単一の畳み込みブロック210CV、210fおよび単一の分類ブロック210CL、210gを含む。この構造では、畳み込みブロック210CV、210fは、入力として、事前トレーニング型モデル202の第5の畳み込みブロック210eの出力(例えば、ホットワード埋め込み208)を受信し、分類ブロック210CL、210gは、入力として、畳み込みブロック210CV、210fからの出力を受信する。ここで、分類ブロック210CL、210gは、ヘッドモデル204から予測値の連続したストリームが要求される場合に、1x1畳み込みが続く最大プール層212であるか、または全結合層212が続く最大プール層212であり得る。
【0041】
リモートシステム140が事前トレーニング型モデル202(即ち、埋め込みモデル202)をトレーニングすると、カスタムホットワードモデル200bがデバイス110にプッシュされる。次に、カスタムホットワードモデル200bは、1つまたは複数の特定のカスタムホットワード132に基づいて、デバイス110において追加的にトレーニングされるように進行され得る。例えば、デバイス110がカスタムホットワード132を生成する要求130を受信すると、事前トレーニング型モデル202は、各トレーニング音声サンプル(例えば、人間が生成した音声134または合成音声162)に対してホットワード埋め込み208を生成する。事前トレーニング型モデル202は、リモートシステム140がデバイス110において生成されたトレーニング音声サンプルよりも大きい数のトレーニング音声サンプル144に基づいて任意に有用なホットワード埋め込み208を生成するように事前トレーニング型モデル202を事前にトレーニングすることにより、トレーニング音声サンプルに対して有意なホットワード埋め込み208を迅速に生成することが可能である。各トレーニング音声サンプルに対する埋め込み208を用いて、ヘッドモデル204は、これらの埋め込み208を入力として受け取り、各埋め込み208をカスタムホットワード132に対応するものとして分類する。この手法に基づいて、カスタムホットワードモデル200bは、ホットワード検出器120においてトレーニングおよび展開され、続いて、カスタムホットワードモデル200bが検出するようにトレーニングされたカスタムホットワード132を識別する。
【0042】
図3は、カスタムホットワードモデルをトレーニングするための方法300の一例である。動作302において、方法300は、カスタムホットワード132をそれぞれが含む第1の組のトレーニング音声サンプル134、162を受信する。カスタムホットワード132は、1つまたは複数の単語を含む。動作304において、方法300は、第1の組のトレーニング音声サンプル134、162を入力として受信するように構成された音声埋め込みモデル202を使用して、第1の組のトレーニング音声サンプル134、162の各トレーニング音声サンプル134、162に対するカスタムホットワード132を表す対応するホットワード埋め込み208を生成する。音声埋め込みモデル202は、第1の組のトレーニング音声データ134、162とは異なる第2の組のトレーニング音声サンプル144で事前にトレーニングされたものである。第2の組のトレーニング音声サンプル144は、第1の組のトレーニング音声サンプル134、162よりも多くのトレーニング音声サンプルを含む。動作306において、方法300は、音声データ12内のカスタムホットワード132の存在を検出するようにカスタムホットワードモデル200bをトレーニングする。動作308において、カスタムホットワードモデル200bは、入力として、音声埋め込みモデル202を使用して生成された各対応するホットワード埋め込み208を受信するように構成される。動作310において、カスタムホットワードモデル200bは、出力として、各対応するホットワード埋め込み208をカスタムホットワード132に対応するものとして分類するようにも構成される。
【0043】
図4は、本明細書で説明されるシステムおよび方法を実施するために使用され得る例示的なコンピューティングデバイス400の概略図である。コンピューティングデバイス400は、ラップトップ、デスクトップ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなどの様々な形態のデジタルコンピュータを代表することが意図されている。本明細書に示された構成要素、それらの接続および関係、およびそれらの機能は、例示的なものに過ぎず、本明細書に記載および/または特許請求の範囲に記載される本発明の実施形態を限定するものではない。
【0044】
コンピューティングデバイス400は、プロセッサ410、メモリ420、ストレージデバイス430、メモリ420および高速拡張ポート450に接続する高速インタフェース/コントローラ440、および低速バス470およびストレージデバイス430に接続する低速インタフェース/コントローラ460を含む。構成要素410、420、430、440、450、および460の各々は、様々なバスを使用して相互接続されており、かつ共通のマザーボード上に、または適切な他の方法で搭載され得る。プロセッサ410は、メモリ420またはストレージデバイス430に格納された命令を含む、コンピューティングデバイス400内で実行するための命令を処理して、高速インタフェース440に接続されたディスプレイ480などの外部入力/出力デバイス上にグラフィカルユーザインタフェース(GUI)用のグラフィカル情報を表示することができる。他の実施形態では、複数のメモリおよび複数のタイプのメモリと共に、複数のプロセッサおよび/または複数のバスが適宜使用されてもよい。また、複数のコンピューティングデバイス400が接続され、各デバイスが(例えば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)必要な処理の一部を提供してもよい。
【0045】
メモリ420は、コンピューティングデバイス400内に非一時的に情報を格納する。メモリ420は、コンピュータ可読媒体、揮発性メモリユニット(複数可)、または不揮発性メモリユニット(複数可)であってもよい。非一時的メモリ420は、コンピューティングデバイス400によって使用するための一時的または永久的な基準でプログラム(例えば、命令のシーケンス)またはデータ(例えば、プログラム状態情報)を格納するために使用される物理デバイスであってもよい。不揮発性メモリの例には、これらに限定されないが、フラッシュメモリおよび読み出し専用メモリ(ROM)/プログラム可能読み出し専用メモリ(PROM)/消去可能プログラム可能読み出し専用メモリ(EPROM)/電子消去可能プログラム可能読み出し専用メモリ(EEPROM)(例えば、通常、ブートプログラムなどのファームウェアに使用される)が含まれる。揮発性メモリの例には、これらに限定されないが、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、およびディスクまたはテープが含まれる。
【0046】
ストレージデバイス430は、コンピューティングデバイス400の大容量ストレージデバイスを提供することができる。いくつかの実施形態では、ストレージデバイス430は、コンピュータ可読媒体である。様々な異なる実施形態では、ストレージデバイス430は、フロッピーディスク(登録商標)デバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリまたは他の同様のソリッドステートメモリデバイス、またはストレージエリアネットワークまたはその他の構成におけるデバイスを含むデバイスのアレイであり得る。追加の実施形態では、コンピュータプログラム製品は、情報媒体に有形的に具体化される。コンピュータプログラム製品は、実行時に、上記したような1つまたは複数の方法を実行する命令を含む。情報媒体は、メモリ420、ストレージデバイス430、またはプロセッサ410上のメモリなどの、コンピュータ可読媒体または機械可読媒体である。
【0047】
高速コントローラ440は、コンピューティングデバイス400の帯域幅を大量に使用する処理を管理し、低速コントローラ460は、より低い帯域幅を大量に使用する処理を管理する。このような役割の配分は、例示的なものに過ぎない。いくつかの実施形態では、高速コントローラ440は、メモリ420、ディスプレイ480(例えば、グラフィックプロセッサまたはアクセラレータを介する)、および各種拡張カード(図示せず)を受け入れる高速拡張ポート450に接続される。いくつかの実施形態では、低速コントローラ460は、ストレージデバイス430および低速拡張ポート490に接続される。様々な通信ポート(例えば、USB、ブルートゥース(登録商標)、イーサネット(登録商標)、無線イーサネット(登録商標))を含む低速拡張ポート490は、キーボード、ポインティングデバイス、スキャナ、または例えばネットワークアダプターを介するスイッチまたはルータなどのネットワークデバイスなどの1つまたは複数の入力/出力デバイスに接続され得る。
【0048】
コンピューティングデバイス400は、図面に示されるように、いくつかの異なる形態で実施することができる。例えば、それは、標準サーバ400aとして、またはそのようなサーバ400aのグループ内で複数回、ラップトップコンピュータ400bとして、またはラックサーバシステム400cの一部として実施することができる。
【0049】
本明細書に記載のシステムおよび技術の様々な実施形態は、デジタル電子回路および/または光回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組み合わせにおいて実現することができる。これらの様々な実施形態は、ストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、それらにデータおよび命令を送信するように接続された、特別または一般的な目的であってもよい、少なくとも1つのプログラム可能なプロセッサを含むプログラム可能なシステム上で実行可能および/または解釈可能な1つまたは複数のコンピュータプログラムにおける実施形態を含むことができる。
【0050】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られている)は、プログラマブルプロセッサ用の機械命令を含み、高水準の手続き型言語および/またはオブジェクト指向のプログラミング言語、および/またはアセンブリ言語/機械語で実施することができる。本明細書で使用する場合、「機械可読媒体」および「コンピュータ可読媒体」という用語は、任意のコンピュータプログラム製品、非一時的なコンピュータ可読媒体、機械命令を機械可読信号として受信する機械可読媒体を含む、プログラマブルプロセッサに機械命令および/またはデータを提供するために使用される装置および/またはデバイス(例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指す。「機械可読信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意の信号を指す。
【0051】
本明細書で説明するプロセスおよび論理フローは、入力データを処理して出力を生成することによって機能を実行する1つまたは複数のコンピュータプログラムを実行するデータ処理ハードウェアとも呼ばれる1つまたは複数のプログラマブルプロセッサによって実行することができる。プロセスおよび論理フローは、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)などの特定用途論理回路によっても実行することができる。コンピュータプログラムの実行に適したプロセッサは、一例として、汎用マイクロプロセッサおよび専用マイクロプロセッサの両方、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般に、プロセッサは、読み出し専用メモリまたはランダムアクセスメモリ、あるいはその両方から命令およびデータを受信する。コンピュータの必須要素は、命令を実行するプロセッサと、命令およびデータを格納するための1つまたは複数のメモリデバイスとである。一般に、コンピュータは、データを格納するための1つまたは複数の大容量ストレージデバイス(例えば、磁気ディスク、光磁気ディスク、または光ディスク)からのデータを受信するか、またはデータを転送するか、あるいはその両方を行うように動作可能に結合される。しかしながら、コンピュータはそのようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを格納するのに適したコンピュータ可読媒体には、半導体メモリデバイス(例えば、EPROM、EEPROM、およびフラッシュメモリデバイス)、磁気ディスク(例えば、内蔵ハードディスクまたはリムーバブルディスク)、光磁気ディスク、およびCDROMおよびDVD-ROMディスクを含む全ての形態の不揮発性メモリ、媒体およびメモリデバイスが含まれる。プロセッサおよびメモリは、特定用途論理回路によって補完または特定用途論理回路に組み込むことができる。
【0052】
ユーザとのインタラクションを提供するために、本開示の1つまたは複数の態様は、例えば、CRT(陰極線管)、LDC(液晶ディスプレイ)モニタ、またはタッチスクリーンなどのユーザに情報を表示するためのディスプレイデバイスと、任意選択でユーザがコンピュータに入力を提供するキーボードおよびポインティングデバイス(例えば、マウスやトラックボール)とを有するコンピュータ上で実施することができる。他の種類の装置を使用して、例えば、任意の形態の感覚フィードバック(例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)であり得るユーザに提供されるフィードバックとともにユーザとのインタラクションを提供することもでき、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形態で受信することができる。さらに、コンピュータは、ユーザによって使用されるデバイスとの間でドキュメントを送受信することによって(例えば、ウェブブラウザから受信した要求に応答してユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって)、ユーザとインタラクションすることができる。
【0053】
いくつかの実施形態が説明されている。それにもかかわらず、本開示の技術思想および範囲から逸脱することなく、様々な変更がなされ得ることが理解されるであろう。従って、他の実施形態も以下の特許請求の範囲内にある。
図1A
図1B
図1C
図2A
図2B
図3
図4
【手続補正書】
【提出日】2022-09-15
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
カスタムホットワードモデル(200)をトレーニングする方法(300)であって、
データ処理ハードウェア(112)において、カスタムホットワード(132)をそれぞれが含む第1の組のトレーニング音声サンプル(134)を受信するステップと、前記カスタムホットワード(132)は、1つまたは複数の単語を含んでおり、
前記データ処理ハードウェア(112)が、前記第1の組のトレーニング音声サンプル(134)を入力として受信するように構成された音声埋め込みモデル(202)を使用して、前記第1の組のトレーニング音声サンプル(134)の各トレーニング音声サンプル(134)に対するカスタムホットワード(132)を表す対応するホットワード埋め込み(208)を生成するステップと、前記音声埋め込みモデル(202)は、前記第1の組のトレーニング音声サンプル(134)とは異なる第2の組のトレーニング音声サンプル(144)で事前にトレーニングされたものであり、前記第2の組のトレーニング音声サンプル(144)は、前記第1の組のトレーニング音声サンプル(134)のよりも多くのトレーニング音声サンプル(144)を含んでおり、
前記データ処理ハードウェア(112)が、音声データ(12)内の前記カスタムホットワード(132)の存在を検出するためのカスタムホットワードモデル(200)をトレーニングするステップと、を含み、前記カスタムホットワードモデル(200)は、
入力として、前記音声埋め込みモデル(202)を使用して生成された各対応するホットワード埋め込み(208)を受信し、
出力として、各対応するホットワード埋め込み(208)を前記カスタムホットワード(132)に対応するものとして分類するように構成されており
リモートシステム(140)は、前記第2の組のトレーニング音声サンプル(144)で前記音声埋め込みモデル(202)を事前にトレーニングし、前記第2の組のトレーニング音声サンプル(144)は、
1人または複数人の異なる話者によって話されたターゲットホットワードのコーパスを含むポジティブトレーニング音声サンプル(144p)と、
ターゲットホットワードの前記コーパスからの前記ターゲットホットワードを含まないネガティブトレーニング音声サンプル(144n)とを含み、
前記リモートシステム(140)は、
ターゲットホットワードの前記コーパスをターゲットホットワードの複数のランダムなグループに分割すること、ターゲットホットワードの各グループは、ターゲットホットワードの前記コーパスからの個々の組の1つまたは複数のターゲットホットワードを含んでおり、
ターゲットホットワードの前記コーパスから分割されたターゲットホットワードの各グループについて、前記第2の組のトレーニング音声サンプル(144)内のターゲットホットワードの個々のグループから前記ターゲットホットワードのいずれかの存在を検出するように、前記音声埋め込みモデル(202)の上で個々の事前トレーニングホットワードモデル(200)をトレーニングすること、
ターゲットホットワードの複数のランダムグループに対する代表的な音声埋め込みを学習するように前記音声埋め込みモデル(202)をトレーニングすることによって、
前記音声埋め込みモデル(202)を事前にトレーニングするようにさらに構成される、方法(300)。
【請求項2】
前記カスタムホットワードモデル(200)をトレーニングした後、
ユーザデバイス(110)上にある前記データ処理ハードウェア(112)において、前記ユーザデバイス(110)によってキャプチャされたストリーミング音声データ(12)を受信するステップと、
前記データ処理ハードウェア(112)が、トレーニングされた前記カスタムホットワードモデル(200)を使用して、前記カスタムホットワード(132)が前記ストリーミング音声データ(12)内に存在するかどうかを決定するステップと、
前記カスタムホットワード(132)が前記ストリーミング音声データ(12)内に存在する場合、前記データ処理ハードウェア(112)が、前記カスタムホットワード(132)および/または前記ストリーミング音声データ(12)内の前記カスタムホットワード(132)に続く1つまたは複数の他の用語を処理するための前記ユーザデバイス(110)に対するウェイクアッププロセスを開始するステップと、をさらに含む、請求項1に記載の方法(300)。
【請求項3】
前記第1の組のトレーニング音声サンプル(134)が、1つまたは複数の音声合成システムから出力された前記カスタムホットワード(132)の合成音声発話(162)を含む、請求項1または2に記載の方法(300)。
【請求項4】
前記第1の組のトレーニング音声サンプル(134)が、
ユーザが話す前記カスタムホットワード(132)に対応する1つまたは複数の人間が生成した音声発話と、
1つまたは複数の音声合成システムから出力された前記カスタムホットワード(132)の複数の合成音声発話(162)とを含む、請求項1乃至のいずれか一項に記載の方法(300)。
【請求項5】
前記複数の合成音声発話(162)のうちの少なくとも1つの合成音声発話(162)が、前記複数の合成音声発話(162)の他の合成音声発話(162)とは異なる合成音声を含む、請求項に記載の方法(300)。
【請求項6】
前記データ処理ハードウェア(112)において、前記カスタムホットワード(132)に対応する入力テキスト(164)を受信するステップと、前記入力テキスト(164)は、ユーザがグラフィカルユーザインタフェースを介して前記データ処理ハードウェア(112)上で実行することによって入力され、
前記データ処理ハードウェア(112)が、前記1つまたは複数の音声合成システムへの入力としての前記入力テキスト(164)を使用して、前記カスタムホットワード(132)の前記複数の合成音声発話(162)を生成するステップと、をさらに含む、請求項またはに記載の方法(300)。
【請求項7】
前記データ処理ハードウェア(112)において、ユーザが話すカスタムホットワード(132)に対応する1つまたは複数の人間が生成した音声発話を受信するステップと、
前記データ処理ハードウェア(112)が、1つまたは複数の人間が生成した音声発話のうちの少なくとも1つの転写(164)を生成するステップと、
前記データ処理ハードウェア(112)が、前記1つまたは複数の音声合成システムへの入力としての前記1つまたは複数の人間が生成した音声発話の前記少なくとも1つの転写(164)を使用して、前記カスタムホットワード(132)の前記複数の合成音声発話162)を生成するステップと、をさらに含む、請求項乃至のいずれか一項に記載の方法(300)。
【請求項8】
前記音声埋め込みモデル(202)は、5つの畳み込みブロック(210)を含み、
前記カスタムホットワードモデル(200)は、
前記音声埋め込みモデル(202)の前記5つの畳み込みブロック(210)の最後の畳み込みからの出力を入力として受信するように構成された1つの畳み込みブロック(210)と、
前記1つの畳み込みブロック(210)からの出力を入力として受信するように構成された分類ブロック(210)と、を含む、請求項1乃至のいずれか一項に記載の方法(300)。
【請求項9】
前記音声埋め込みモデル(202)および前記カスタムホットワードモデル(200)の各畳み込みブロック(210)は、4つの畳み込み層(212)および1つの最大プール層(212)を含む、請求項に記載の方法(300)。
【請求項10】
前記カスタムホットワードモデル(200)の前記分類ブロック(210)は、最大プール層(212)と、前記最大プール層(212)に続く畳み込み層(212)または全結合層(212)のいずれか1つとを含む、請求項またはに記載の方法(300)。
【請求項11】
前記データ処理ハードウェア(112)が、ユーザに関連付けられたユーザデバイス(110)上に存在する、請求項1乃至10のいずれか一項に記載の方法(300)。
【請求項12】
前記ユーザデバイス(110)のユーザは、前記カスタムホットワード(132)を前記ユーザデバイス(110)に割り当てる、請求項11に記載の方法(300)。
【請求項13】
システム(110)であって、
データ処理ハードウェア(112)と、
前記データ処理ハードウェア(112)と通信するメモリハードウェア(114)と、を備え、前記メモリハードウェア(114)は、命令を格納しており、前記命令は、前記データ処理ハードウェア(112)上で実行されるときに、前記データ処理ハードウェア(112)に
カスタムホットワード(132)をそれぞれが含む第1の組のトレーニング音声サンプル(134)を受信すること、前記カスタムホットワード(132)は、1つまたは複数の単語を含んでおり、
前記第1の組のトレーニング音声サンプル(134)を入力として受信するように構成された音声埋め込みモデル(202)を使用して、前記第1の組のトレーニング音声サンプル(134)の各トレーニング音声サンプル(134)に対応するカスタムホットワード(132)を表すホットワード埋め込み(208)を生成すること、前記音声埋め込みモデル(202)は、前記第1の組のトレーニング音声サンプル(134)とは異なる第2の組のトレーニング音声サンプル(144)で事前にトレーニングされたものであり、前記第2の組のトレーニング音声サンプル(144)は、前記第1の組のトレーニング音声サンプル(134)よりも多くのトレーニング音声サンプル(144)を含んでおり、
音声データ(12)内の前記カスタムホットワード(132)の存在を検出するためのカスタムホットワードモデル(200)をトレーニングすること、とを含む動作を実行させ、前記カスタムホットワードモデル(200)は、
入力として、前記音声埋め込みモデル(202)を使用して生成された各対応するホットワード埋め込み(208)を受信し、
出力として、各対応するホットワード埋め込み(208)を前記カスタムホットワード(132)に対応するものとして分類するように構成されており
リモートシステム(140)は、前記第2の組のトレーニング音声サンプル(144)で前記音声埋め込みモデル(202)を事前にトレーニングし、前記第2の組のトレーニング音声サンプル(144)は、
1人または複数人の異なる話者によって話されたターゲットホットワードのコーパスを含むポジティブトレーニング音声サンプル(144p)と、
ターゲットホットワードの前記コーパスからの前記ターゲットホットワードを含まないネガティブトレーニング音声サンプル(144n)とを含み、
前記リモートシステム(140)は、
ターゲットホットワードの前記コーパスをターゲットホットワードの複数のランダムなグループに分割すること、ターゲットホットワードの各グループは、ターゲットホットワードの前記コーパスからの個々の組の1つまたは複数のターゲットホットワードを含んでおり、
ターゲットホットワードの前記コーパスから分割されたターゲットホットワードの各グループについて、前記第2の組のトレーニング音声サンプル(144)内のターゲットホットワードの個々のグループから前記ターゲットホットワードのいずれかの存在を検出するように、前記音声埋め込みモデル(202)の上で個々の事前トレーニングホットワードモデル(200)をトレーニングすること、
ターゲットホットワードの複数のランダムグループに対する代表的な音声埋め込みを学習するように前記音声埋め込みモデル(202)をトレーニングすることによって、
前記音声埋め込みモデル(202)を事前にトレーニングするようにさらに構成される、システム(110)。
【請求項14】
前記動作は、前記カスタムホットワードモデル(200)をトレーニングした後に、
ユーザデバイス(110)上で、前記ユーザデバイス(110)によってキャプチャされたストリーミング音声データ(12)を受信すること、
トレーニングされた前記カスタムホットワードモデル(200)を使用して、前記カスタムホットワード(132)が前記ストリーミング音声データ(12)内に存在するかどうかを決定すること、
前記カスタムホットワード(132)が前記ストリーミング音声データ(12)内に存在する場合、前記カスタムホットワード(132)および/または前記ストリーミング音声データ(12)内の前記カスタムホットワード(132)に続く1つまたは複数の他の用語を処理するための前記ユーザデバイス(110)に対するウェイクアッププロセスを開始すること、をさらに含む、請求項13に記載のシステム(110)。
【請求項15】
前記第1の組のトレーニング音声サンプル(134)が、1つまたは複数の音声合成システムから出力された前記カスタムホットワード(132)の合成音声発話(162)を含む、請求項13または14に記載のシステム(110)。
【請求項16】
前記第1の組のトレーニング音声サンプル(134)が、
ユーザが話す前記カスタムホットワード(132)に対応する1つまたは複数の人間が生成した音声発話と、
1つまたは複数の音声合成システムから出力された前記カスタムホットワード(132)の複数の合成音声発話(162)とを含む、請求項13乃至15のいずれか一項に記載のシステム(110)。
【請求項17】
前記複数の合成音声発話(162)のうちの少なくとも1つの合成音声発話(162)が、前記複数の合成音声発話(162)の他の合成音声発話(162)とは異なる合成音声を含む、請求項16に記載のシステム(110)。
【請求項18】
前記動作は、さらに
前記カスタムホットワード(132)に対応する入力テキストを受信すること、前記入力テキストは、ユーザがグラフィカルユーザインタフェースを介して前記データ処理ハードウェア(112)上で実行することによって入力され、
前記1つまたは複数の音声合成システムへの入力としての前記入力テキストを使用して、前記カスタムホットワード(132)の前記複数の合成音声発話(162)を生成すること、を含む、請求項16または17に記載のシステム(110)。
【請求項19】
前記動作は、さらに
ユーザが話す前記カスタムホットワード(132)に対応する1つまたは複数の人間が生成した音声発話を受信すること、
前記1つまたは複数の人間が生成した音声発話のうちの少なくとも1つの転写(164)を生成すること、
前記1つまたは複数の音声合成システムへの入力としての前記1つまたは複数の人間が生成した音声発話の前記少なくとも1つの転写(164)を使用して、前記カスタムホットワード(132)の前記複数の合成音声発話(162)を生成すること、を含む、請求項16乃至18のいずれか一項に記載のシステム(110)。
【請求項20】
前記音声埋め込みモデル(202)は、5つの畳み込みブロック(210)を含み、
前記カスタムホットワードモデル(200)は、
前記音声埋め込みモデル(202)の前記5つの畳み込みブロック(210)の最後の畳み込みからの出力を入力として受信するように構成された1つの畳み込みブロック(210)と、
前記1つの畳み込みブロック(210)からの出力を入力として受信するように構成された分類ブロック(210)と、を含む、請求項13乃至19のいずれか一項に記載のシステム(110)。
【請求項21】
前記音声埋め込みモデル(202)および前記カスタムホットワードモデル(200)の各畳み込みブロック(210)は、4つの畳み込み層(212)および1つの最大プール層(212)を含む、請求項20に記載のシステム(110)。
【請求項22】
前記カスタムホットワードモデル(200)の前記分類ブロック(210)は、最大プール層(212)と、前記最大プール層(212)に続く畳み込み層(212)または全結合層(212)のいずれか1つとを含む、請求項20または22に記載のシステム(110)。
【請求項23】
前記データ処理ハードウェア(112)が、ユーザに関連付けられたユーザデバイス(110)上に存在する、請求項13乃至22のいずれか一項に記載のシステム(110)。
【請求項24】
前記ユーザデバイス(110)のユーザは、前記カスタムホットワード(132)を前記ユーザデバイス(110)に割り当てる、請求項23に記載のシステム(110)。
【国際調査報告】