JP7445089B2 - シーケンスレベルの放出正則化を用いた高速放出低遅延のストリーミングasr - Google Patents

シーケンスレベルの放出正則化を用いた高速放出低遅延のストリーミングasr Download PDF

Info

Publication number
JP7445089B2
JP7445089B2 JP2023524188A JP2023524188A JP7445089B2 JP 7445089 B2 JP7445089 B2 JP 7445089B2 JP 2023524188 A JP2023524188 A JP 2023524188A JP 2023524188 A JP2023524188 A JP 2023524188A JP 7445089 B2 JP7445089 B2 JP 7445089B2
Authority
JP
Japan
Prior art keywords
probability
speech recognition
tokens
model
label
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2023524188A
Other languages
English (en)
Other versions
JP2023546914A (ja
Inventor
ジアフイ・ユ
チュン-チェン・チウ
ボ・リ
シュオ-イン・チャン
タラ・エヌ・サイナス
ウェイ・ハン
アンモル・グラティ
ヤンジャン・ヘ
アルン・ナラヤナン
ヨンフイ・ウ
ルオミン・パン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of JP2023546914A publication Critical patent/JP2023546914A/ja
Application granted granted Critical
Publication of JP7445089B2 publication Critical patent/JP7445089B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/187Phonemic context, e.g. pronunciation rules, phonotactical constraints or phoneme n-grams

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Machine Translation (AREA)

Description

本開示は、シーケンスレベルの放出正則化を用いた高速放出低遅延のASRを使用することに関する。
自動音声認識(ASR)は、オーディオ入力を取り込み、オーディオ入力をテキストに転写することによって、人が話したことの正確な転写を実現しようと試みる。ストリーミングASRモデルは、できる限り速くかつ正確に自動入力で各単語を転写することを実現することを目指す。ストリーミングASRモデルでは、エンドツーエンド(E2E)のリカレントニューラルネットワークトランスデューサ(RNN-T)モデルが絶大な人気を得ている。これらのストリーミングASRモデルは、音声入力の未来のコンテキストを使用することによって最も良く予測することを学習するが、これがユーザの発話と転写生成との間に著しい遅れを引き起こす。いくつかの手法は、遅れ量を減少させるために、転写の確率を操作する。しかしながら、転写の確率を操作すると、ストリーミングASRモデルの遅延を減少させることには幾分成功するが、その成功は、著しい精度の後退に見舞われるという犠牲を払って得られる。
「Transformer Transducer: A Streamable Speech Recognition Model with Transformer Encoders and RNN-T Loss」、https://arxiv.org/pdf/2002.02562.pdf 「Contextnet: Improving Convolutional Neural Networks for Automatic Speech Recognition with Global Context」、https://arxiv.org/abs/2005.03191 「Conformer: Convolution-augmented transformer for speech recognition」、https://arxiv.org/abs/2005.08100
本開示の一態様は、データ処理ハードウェア上で実行されると、データ処理ハードウェアにストリーミング音声認識モデルをトレーニングするための動作を行わせる、コンピュータ実装方法を提供する。動作は、音声認識モデルへの入力として、音響フレームのシーケンスを受信することを含む。ストリーミング音声認識モデルは、音響フレームのシーケンスと語彙トークンの出力シーケンスとの間のアライメント確率を学習するように構成される。語彙トークンは、複数のラベルトークンと、ブランクトークンとを含む。複数の出力ステップの各ステップにおいて、動作は、ラベルトークンの1つを放出する第1の確率を決定することと、ブランクトークンを放出する第2の確率を決定することとを含む。動作はまた、各出力ステップで、ラベルトークンの1つを放出する第1の確率およびブランクトークンを放出する第2の確率に基づいて、シーケンスレベルでアライメント確率を生成することを含む。動作はまた、ラベルトークンの1つを放出する第1の確率を最大にするために、シーケンスレベルでアライメント確率にチューニングパラメータを適用することを含む。
本開示の実装形態は、以下の随意の特徴のうちの1つまたは複数を含み得る。いくつかの実装形態では、それぞれのステップでラベルトークンの1つを放出する第1の確率は、それぞれのラベルトークンをすでに放出した後にラベルトークンの1つを放出する確率に対応する。それぞれのステップでブランクトークンを放出する第2の確率は、それぞれのステップの直前のステップでブランクラベルまたはラベルトークンのうちの1つを放出した後にブランクラベルを放出する確率に対応し得る。場合によっては、第1の確率および第2の確率は、前向き後向き伝播アルゴリズムの前向き変数を定義し得る。
いくつかの例では、動作は、複数のノードを含むアライメント格子を生成することをさらに含み、アライメント格子は、T列のノードおよびU行のノードを有する行列として定義される。ここで、T列の各列は、複数の出力ステップの対応するステップに対応し、U行の各行は、音響フレームのシーケンスをテキストで表すラベルに対応する。これらの例では、アライメント格子の行列の各ノードロケーションで、動作は、それぞれのノードに隣接する後続ノードを予測するための前向き確率を決定することであって、前向き確率が第1の確率および第2の確率を含む、決定することと、それぞれのノードに隣接する後続ノードから、語彙トークンの出力シーケンスにそれぞれのノードを含む後向き確率を決定することとをさらに含み得る。シーケンスレベルでアライメント格子を生成することは、アライメント格子の各それぞれのステップにおいてすべてのノードについて、前向き確率と後向き確率を統合することを含み得る。
いくつかの実装形態では、シーケンスレベルでアライメント確率にチューニングパラメータを適用して、ストリーミング音声認識モデルをトレーニングするとき、ストリーミング音声認識モデルにおける損失および正則化損失を平衡させる。チューニングパラメータは、どんな発話語のアライメント情報とも無関係に適用され得る。いくつかの例では、出力ステップの1つでのブランクトークンの放出は、ペナルティを科されない。場合によっては、ストリーミング音声認識モデルは、リカレントニューラルトランスデューサ(RNN-T)モデル、トランスフォーマ-トランスデューサモデル、畳み込みネットワーク-トランスデューサ(ConvNetトランスデューサ)モデル、またはコンフォーマ-トランスデューサモデルのうちの少なくとも1つを含んでもよい。ストリーミング音声認識モデルは、リカレントニューラルトランスデューサ(RNN-T)モデルを含んでもよい。ストリーミング音声認識モデルは、コンフォーマ-トランスデューサモデルを含んでもよい。いくつかの実装形態では、ストリーミング音声認識モデルをトレーニングした後、トレーニングされたストリーミング音声認識モデルは、ストリーミング式で音声を転写するためにユーザデバイス上で実行される。他の実装形態では、ストリーミング音声認識モデルをトレーニングした後に、トレーニングされたストリーミング音声認識モデルは、サーバ上で実行される。
本開示の別の態様は、ストリーミング音声認識モデルをトレーニングするシステムを提供する。このシステムは、データ処理ハードウェアと、データ処理ハードウェアと通信しているメモリハードウェアとを含む。メモリハードウェアは、データ処理ハードウェア上で実行されると、データ処理ハードウェアに動作を行わせる命令を記憶する。動作は、音声認識モデルへの入力として、音響フレームのシーケンスを受信することを含む。ストリーミング音声認識モデルは、音響フレームのシーケンスと語彙トークンの出力シーケンスとの間のアライメント確率を学習するように構成される。語彙トークンは、複数のラベルトークンと、ブランクトークンとを含む。複数の出力ステップの各ステップにおいて、動作は、ラベルトークンの1つを放出する第1の確率を決定することと、ブランクトークンを放出する第2の確率を決定することとを含む。動作はまた、各出力ステップで、ラベルトークンの1つを放出する第1の確率およびブランクトークンを放出する第2の確率に基づいて、シーケンスレベルでアライメント確率を生成することを含む。動作はまた、ラベルトークンの1つを放出する第1の確率を最大にするために、シーケンスレベルでアライメント確率にチューニングパラメータを適用することを含む。
本開示の実装形態は、以下の随意の特徴のうちの1つまたは複数を含み得る。いくつかの実装形態では、それぞれのステップでラベルトークンの1つを放出する第1の確率は、それぞれのラベルトークンをすでに放出した後にラベルトークンの1つを放出する確率に対応する。それぞれのステップでブランクトークンを放出する第2の確率は、それぞれのステップの直前のステップでブランクラベルまたはラベルトークンのうちの1つを放出した後にブランクラベルを放出する確率に対応し得る。場合によっては、第1の確率および第2の確率は、前向き後向き伝播アルゴリズムの前向き変数を定義し得る。
いくつかの例では、動作は、複数のノードを含むアライメント格子を生成することをさらに含み、アライメント格子は、T列のノードおよびU行のノードを有する行列として定義される。ここで、T列の各列は、複数の出力ステップの対応するステップに対応し、U行の各行は、音響フレームのシーケンスをテキストで表すラベルに対応する。これらの例では、アライメント格子の行列の各ノードロケーションで、動作は、それぞれのノードに隣接する後続ノードを予測するための前向き確率を決定することであって、前向き確率が第1の確率および第2の確率を含む、決定することと、それぞれのノードに隣接する後続ノードから、語彙トークンの出力シーケンスにそれぞれのノードを含む後向き確率を決定することとをさらに含み得る。シーケンスレベルでアライメント格子を生成することは、アライメント格子の各それぞれのステップにおいてすべてのノードについて、前向き確率と後向き確率を統合することを含み得る。
いくつかの実装形態では、シーケンスレベルでアライメント確率にチューニングパラメータを適用して、ストリーミング音声認識モデルをトレーニングするとき、ストリーミング音声認識モデルにおける損失および正則化損失を平衡させる。チューニングパラメータは、どんな発話語のアライメント情報とも無関係に適用され得る。いくつかの例では、出力ステップの1つでのブランクトークンの放出は、ペナルティを科されない。場合によっては、ストリーミング音声認識モデルは、リカレントニューラルトランスデューサ(RNN-T)モデル、トランスフォーマ-トランスデューサモデル、畳み込みネットワーク-トランスデューサ(ConvNetトランスデューサ)モデル、またはコンフォーマ-トランスデューサモデルのうちの少なくとも1つを含んでもよい。ストリーミング音声認識モデルは、リカレントニューラルトランスデューサ(RNN-T)モデルを含んでもよい。ストリーミング音声認識モデルは、コンフォーマ-トランスデューサモデルを含んでもよい。いくつかの実装形態では、ストリーミング音声認識モデルをトレーニングした後、トレーニングされたストリーミング音声認識モデルは、ストリーミング式で音声を転写するためにユーザデバイス上で実行される。他の実装形態では、ストリーミング音声認識モデルをトレーニングした後に、トレーニングされたストリーミング音声認識モデルは、サーバ上で実行される。
本開示の1つまたは複数の実装形態の詳細について、添付図面および以下の説明に示す。他の態様、特徴、および利点は、説明および図面から、ならびに特許請求の範囲から明らかになろう。
例示的な音声認識システムについての例示的なシステムである。 リカレントニューラルネットワークトランスデューサ(RNN-T)音声認識モデルの概略図である。 音声認識システム用の言語モデルのトレーニングの概略図である。 例示的なアライメント格子の概略図である。 図3Aのアライメント格子の前向き確率の決定の概略図である。 図3Aのアライメント格子の後向き確率の決定の概略図である。 ストリーミング音声認識モデルをトレーニングする方法のための動作の例示的並びのフローチャートである。 本明細書で説明するシステムおよび方法を実装するために使用され得る例示的なコンピューティングデバイスの概略図である。
様々な図面における同様の符号は、同様の要素を示す。
ストリーミング自動音声認識(ASR)は、各仮定語をできる限り速くかつ正確に放出することを目指す。しかしながら、正確さを保ちながら各仮定語の放出遅れ(すなわち、ユーザの発話とテキストの表示との間の遅れ)を減少させることは困難である。いくつかの手法は、トランスデューサモデルにおけるトークンごとのまたはフレームごとの確率予測を操作することによって、放出遅れを正則化する、またはこれにペナルティを科す。トークンごとのまたはフレームごとの確率を操作することによって放出遅れにペナルティを科して、放出遅れを減少させるが、これらの手法は、著しい精度の後退を生じるという欠点がある。ストリーミング音声認識結果の精度を上げるために、本明細書の実装形態は、シーケンスレベルのストリーミング音声認識モデルをトレーニングする方法を対象とする。詳細には、トランスデューサモデルをトレーニングすることは、精度の後退に見舞われることなく、放出遅延を減少させることを目指す。放出遅延は、ユーザが発話を終えるときと、ユーザによって話された最後の語の転写が表示される時との間の時間期間を表す。
次に図1を参照すると、例示的な発話環境100が、ユーザ10のユーザデバイス102上に、および/またはネットワーク150を介してユーザデバイス102と通信しているリモートコンピューティングデバイス160(たとえば、クラウドコンピューティング環境で実行している分散システムの1つまたは複数のサーバ)上にある、自動音声認識(ASR)システム130を含む。ユーザデバイス102はモバイルコンピューティングデバイス(たとえば、スマートフォン)として示されているが、ユーザデバイス102は、限定はしないが、タブレットデバイス、ラップトップ/デスクトップコンピュータ、ウェアラブルデバイス、デジタルアシスタントデバイス、スマートスピーカ/ディスプレイ、スマート家電、自動車用インフォテインメントシステム、またはモノのインターネット(IoT)デバイスなど、どんなタイプのコンピューティングデバイスにも対応し得る。ユーザデバイス102は、データ処理ハードウェア104と、データ処理ハードウェア104と通信しているメモリハードウェア106とを含み、データ処理ハードウェア104によって実行されるとデータ処理ハードウェア104に1つまたは複数の動作を行わせる命令を記憶する。
ユーザデバイス102は、発話環境100内の話された言葉12を取り込み、変換して電気信号にするためのオーディオキャプチャデバイス(たとえば、マイクロフォン)116、116aと、可聴オーディオ信号を(たとえば、ユーザデバイス102からの出力オーディオデータとして)伝えるための音声出力デバイス(たとえば、スピーカ)116、116bとを備えたオーディオシステム116をさらに含む。ユーザデバイス102は、図示の例では単一のオーディオキャプチャデバイス116aを実装するが、ユーザデバイス102は、本開示の範囲から逸脱することなく、オーディオキャプチャデバイス116aのアレイを実装してもよく、それによってアレイの1つまたは複数のキャプチャデバイス116aが、物理的にユーザデバイス102上にないが、オーディオシステム116と通信していてもよい。
ユーザデバイス102は、ユーザ10によって話された(たとえば、1つまたは複数のマイクロフォン116aによって取り込まれた)言葉12を受信するように構成されたオーディオサブシステム120を含み、その言葉12を、ASRシステム130によって処理されることが可能な入力音響フレーム122に関連する対応するデジタルフォーマットに変換する。図示の例では、ユーザ10は、「What song is playing now?(今何の歌が再生中ですか)」というフレーズの英語の自然言語でそれぞれの言葉12を話し、オーディオサブシステム120は、その言葉12をASRシステム130への入力のために音響フレーム122の対応するシーケンスに変換する。その後、ASRシステム130は、言葉12に対応する音響フレーム122を入力として受信し、言葉12の対応する転写(たとえば、認識結果/仮説)132を出力として生成/予測する。ユーザ10が話すことをやめる124とき(たとえば、発話の終わり(EOS)124)と、転写の最後のトークン(たとえば、転写の終わり134)が転写されるときとの間の時間期間は、放出遅延136を表す。
図示の例では、ユーザデバイス102および/またはリモートコンピューティングデバイス160は、言葉12の転写132の表現をユーザデバイス102のユーザ10に提示するように構成されたユーザインターフェース生成器140もまた実行する。いくつかの構成では、ASRシステム130から出力された転写132は、ユーザコマンドを実行するために、たとえば、ユーザデバイス102上で実行する自然言語理解(NLU)モジュール、またはリモートコンピューティングデバイス160によって処理される。追加または代替として、テキスト音声システム(たとえば、ユーザデバイス102またはリモートコンピューティングデバイス160の任意の組合せ上で実行する)が、転写132を別のデバイスによる可聴出力のために合成音声に変換してもよい。たとえば、元の言葉12は、ユーザ10が友人に送っているメッセージに対応し、その転写132は、元の言葉12で伝えられるメッセージを聴く友人への可聴出力のために合成音声に変換される場合がある。図1に示すように、例示的な発話環境100、100aは、ASRシステム130を用いて転写132を生成する。
ASRシステム130は、EOS124と転写の終わり134との間の放出遅延136を減少させるように構成されたストリーミングASRモデル200を含む。トレーニングプロセス201(図2B)は、ブランクの放出にペナルティを科すことなく、ブランクを放出するよりもASRモデル200が転写132の文字を放出するよう促すためにASRモデル200をトレーニングする。いくつかの例では、ASRモデル200は、フレームごとまたはトークンごとのレベルではなく、シーケンスレベルで文字転写を放出する確率を最大にする。
図2Aは、対話型アプリケーションに関連する遅延制約に従うリカレントニューラルネットワークトランスデューサ(RNN-T)モデルアーキテクチャを含む例示的なASRモデル200を示す。RNN-Tモデル200は、小さい計算フットプリントを可能にし、従来のASRアーキテクチャよりも少ないメモリ要件を利用し、RNN-Tモデルアーキテクチャを完全にユーザデバイス102上で音声認識を実行するのに適したものにする(たとえば、リモートサーバとの通信を必要としない)。図2Aは、RNN-Tモデルアーキテクチャを含むASRモデル200を示しているが、ASRモデル200は、本開示の範囲から逸脱することなく、トランスフォーマ-トランスデューサモデルアーキテクチャ、畳み込みニューラルネットワークトランスデューサ(CNNトランスデューサ)モデルアーキテクチャ、畳み込みネットワークトランスデューサ(ConvNetトランスデューサ)モデル、またはコンフォーマ-トランスデューサモデルアーキテクチャなどの他のタイプのトランスデューサモデルも含み得る。例示的なトランスフォーマ-トランスデューサモデルアーキテクチャは、その内容全体が参照により組み込まれる、「Transformer Transducer: A Streamable Speech Recognition Model with Transformer Encoders and RNN-T Loss」、https://arxiv.org/pdf/2002.02562.pdfにおいて詳細に説明されている。例示的なCNNトランスデューサモデルアーキテクチャは、その内容全体が参照により組み込まれる、「Contextnet: Improving Convolutional Neural Networks for Automatic Speech Recognition with Global Context」、https://arxiv.org/abs/2005.03191において詳細に説明されている。例示的なコンフォーマ-トランスデューサモデルアーキテクチャは、その内容全体が参照により組み込まれる、「Conformer: Convolution-augmented transformer for speech recognition」、https://arxiv.org/abs/2005.08100において詳細に説明されている。
図2AのRNN-Tモデル200は、エンコーダネットワーク210と、予測ネットワーク220と、結合ネットワーク230とを含む。エンコーダネットワーク210は、概して旧来のASRシステムの音響モデル(AM)に類似しており、積層長期短期記憶(LSTM)層のリカレントネットワークを含む。たとえば、エンコーダは、d次元の特長ベクトル(たとえば、音響フレーム122(図1))のシーケンスx=(x1,x2,・・・, xT)、ここで
を読み取り、各時間ステップで、より高次の特徴表現を生成する。このより高次の特徴表現は、
と示される。
同様に、予測ネットワーク220もまた、LSTMネットワークであり、言語モデル(LM)のように、これまで最終ソフトマックス層240によって出力される非ブランクトークンのシーケンスy0, . . . , yui-1を処理して、密な表現
にする。最終的に、RNN-Tモデルアーキテクチャを用いて、エンコーダおよび予測ネットワーク210、220によって生成された表現は、結合ネットワーク230によって組み合わされる。結合ネットワークは次いで、次の出力トークンについての分布である、
を予測する。言い方を変えれば、結合ネットワーク230は、各出力ステップ(たとえば、時間ステップ)で、考えられる音声認識仮説についての確率分布を生成する。ここで、「考えられる音声認識仮説」は、指定された自然言語の記号/文字を各々表すラベルトークン204のセットに対応する。たとえば、自然言語が英語であるとき、ラベルトークンのセットは、27個の(27)記号、たとえば、英語のアルファベットの26文字の各々に対して1つのラベルトークンと、スペースを示す1つのラベルを含み得る。したがって、結合ネットワーク230は、ラベルトークンの所定のセットの各々の出現の可能性を示す値のセットを出力し得る。値のこのセットは、ベクトルとすることができ、ラベルトークンのセットについての確率分布を示すことができる。いくつかの場合には、ラベルトークンは、書記素(たとえば、個々の文字、および潜在的には句読点および他の記号)であるが、ラベルトークンのセットは、そのように限定されない。たとえば、ラベルトークンのセットは、書記素に加えて、またはその代わりに、ワードピースおよび/または単語全体を含むことができる。結合ネットワーク230の出力分布は、異なるラベルトークンの各々についての事後確率値を含むことができる。したがって、異なる書記素または他の記号を表す100個の異なるラベルトークンがある場合、結合ネットワーク230の出力yiは、各ラベルトークンに1つの、100個の異なる確率値を含むことができる。確率分布は、したがって、転写132を決定するために(たとえば、ソフトマックス層240によって)ビーム探索プロセスにおいて候補綴字要素(たとえば、書記素、ワードピース、および/または単語)にスコアを選択し、割り当てるために使用され得る。
ソフトマックス層240は、対応する出力ステップでトランスデューサモデル200によって予測される次の出力記号として分布の中で最も高い確率をもつラベルトークンを選択するために任意の技法を採用してもよい。このようにして、RNN-Tモデル200は、条件付き独立仮説を立てず、各ラベルトークンの予測は、音響効果のみならず、これまで放出されたラベルトークンのシーケンスにも条件付けられる。RNN-Tモデル200は、ラベルトークンが未来の音響フレーム110とは無関係であると仮定し、RNN-Tモデルがストリーミング式で採用されるのを可能にする。
いくつかの例では、RNN-Tモデル200のエンコーダネットワーク210は、540次元の投射層が各々続く、8つの2,048次元のLSTM層で構成されている。予測ネットワーク220は、2つの2,048次元のLSTM層を有していてもよく、それらの各々もまた、540次元の投射層が続いている。最終的に、結合ネットワーク230もまた、540の隠れユニットを有してもよい。ソフトマックス層240は、複数のトレーニングデータセットですべて固有のワードピースまたは書記素を使用して生成される、統合ワードピースまたは書記素セットから成ってもよい。
図2Bは、ASRモデル200をトレーニングするためのトレーニングプロセス201を示す。トランスデューサベースのストリーミングASRモデル200のトレーニングは、精度の後退に見舞われることなく放出遅延136を最小にすることを目指す。トランスデューサベースのストリーミングASRモデル200は、「トランスデューサモデル200」と区別なく呼ばれる場合がある。トランスデューサモデル200は、オーディオサブシステム120から音響フレーム122のシーケンスを受信し、音響フレーム122のシーケンス(たとえば、x = (x1, x2, . . ., xT))と語彙トークン204の出力シーケンス(たとえば、y = (y1, y2, . . ., yU))との間のアライメント確率206を学習するように構成される。語彙トークン204は、複数のラベルトークン204、204a(図3A)と、ブランクトークン204、204b(図3A)とを含むトランスデューサモデル200の出力要素である。ラベルトークン204aは、書記素(たとえば、個々の文字、ならびに場合によっては句読点および他の記号)、ワードピース、および/または単語全体を含む場合がある言葉12のテキスト表現である。ブランクトークン204bは、ブランク/空の出力に対する言葉12のテキスト表現である。したがって、語彙トークンの出力シーケンスは、言葉12の転写を表すために、ラベルトークン204aとブランクトークン204bの両方のシーケンスを含む。いくつかの例では、語彙トークン204は、アルファベット文字(すなわち、A~Z)を表す各ラベルトークン204aと、ブランクスペースを表すブランクトークン204bとを有する文字語彙を表す。他の例では、語彙トークン204は、1つまたは複数のアルファベット文字を表す各ラベルトークン204aと、ブランクスペースを表すブランクトークン204bとを有するワードピース語彙を表す。語彙トークン204はまた、句読点および他の記号を表す場合がある。語彙トークン204は、文字語彙、ワードピース語彙、ならびに/または句読点および他の記号の任意の組合せを含む場合がある。
アライメント確率206は、トランスデューサモデル200が語彙トークン204のすべての考えられる出力シーケンスから語彙トークン204のそれぞれの出力シーケンスを放出する可能性を指す。アライメント確率206を学習するために、トランスデューサモデル200は、ブランクトークン204bで出力シーケンスを拡張する。トランスデューサモデル200をトレーニングすることは、以下によって表される条件付き分布の対数確率を最大にすることを目指す。
式(1)では、Lはトランスデューサ損失を表し、aはアライメント格子を表し、
は、ラベルトークン204aのグランドトゥルース出力シーケンスを表し、xは音響フレーム122のシーケンスを表し、Bは、アライメント格子aからブランクトークン204bを取り除く関数を表す。いくつかの実装形態では、トレーニングプロセス201は、格子生成器250、前向き確率層260、後向き確率層270、アライメントモデル280、および損失モデル290を利用する。格子生成器250は、ASRモデル200への音響フレーム122入力のシーケンスに対してアライメント格子300を生成するように構成される。格子生成器250は、トランスデューサモデル200のエンコーダ210と、予測ネットワーク220と、結合ネットワーク230とから成ってもよい。アライメント格子300は、言葉12についての音響フレーム122のシーケンスに対応する語彙トークン204(たとえば、ラベルトークン204aおよびブランクトークン204b)の行列を含む。各出力ステップで、トランスデューサモデル200は、アライメント格子300からラベルトークン204aまたはブランクトークン204bのうちの1つを放出する。
次に図3A~図3Cを参照すると、アライメント格子300は、複数のノード254、254a~nを有する行列を含む。複数のノード254の各ノード254は、語彙トークン204の1つを表す。すなわち、アライメント格子300は、U行のノード254を含み、各行が、音響フレーム122のシーケンスの一部分をテキストで表すラベルトークン204aに対応する。さらに、アライメント格子300は、T列のノード254を含み、各列が、複数の出力ステップからのある出力ステップに対応する。トランスデューサモデル200は、各出力ステップでラベルトークン204aまたはブランクトークン204bのうちの1つを放出する。T列のノード254の数は、音響フレーム122の対応するシーケンスに対してラベルトークン204aのすべてを放出するために必要とされる出力ステップの量によって決まる。格子生成器250は、言葉12に対する音響フレーム122のシーケンスに基づいてアライメント格子300を生成する。次に図2Bおよび図3Aを参照すると、アライメント格子300は、「HELLO」という言葉12に対して、5つの(5)行のノード254と7つの(7)列のノード254とを含む。アライメント格子300の各行のラベルトークン204aは、「HELLO」という語のアルファベット文字を表す。ここでは、アライメント格子300は、トランスデューサモデル200が「HELLO」という言葉12を放出するために7つの(7)出力ステップを必要とするので、7つの列を含む。アライメント格子300は、音響フレーム122の対応するシーケンスを表すために必要とされる任意の数のT列およびU行を含んでもよい。
アライメント格子300は、語彙トークン204の出力シーケンスを生成するために語彙トークン204の行列をトランスデューサモデル200に提供する。すなわち、トランスデューサモデル200は、アライメント格子300の各ノード254で、ラベルトークン204aまたはブランクトークン204bの1つを放出するかどうかを決定する。したがって、各出力ステップで、トランスデューサモデル200は、ラベルトークン204aの1つを放出する(たとえば、上矢印)か、またはブランクトークン204bを放出する(たとえば、右矢印)かのいずれかである。トランスデューサモデル200は、最後のラベルトークン204aが放出されるまで、語彙トークン204を出力することを続ける。トランスデューサモデル200が最後のラベルトークン204aを放出すると、語彙トークン204の出力シーケンスは完了する。格子生成器250は、アライメント格子300および複数のノード254を、前向き確率層260および後向き確率層270に送る。
前向き確率層260および後向き確率層270は、ラベルトークン204aまたはブランクトークン204bの1つを放出する可能性を決定するように構成される。前向き確率層260は、トークンごとおよび/またはフレームごとの確率に基づいて、語彙トークン204を放出する可能性を決定する。すなわち、前向き確率層260は、語彙トークン204またはフレームのみに基づいて、語彙トークン204を放出する可能性を決定する。後向き確率層270は、シーケンスごとの確率に基づいて、語彙トークン204を放出する可能性を決定する。したがって、後向き確率層270は、次にどの語彙トークン204を放出するかを決定するとき、すでに放出した語彙トークン204を考慮に入れる。まとめると、前向き確率層260および後向き確率層270は、トークンごと/フレームごと、およびシーケンスごとの確率に基づいて、どの語彙トークン204を放出するかを決定する。
詳細には、前向き確率層260は、アライメント格子300の後続ノード254、254Sでラベルトークン204aの1つまたはブランクトークン204bを放出する可能性を決定する。すなわち、前向き確率層260は、アライメント格子300のそれぞれのノード254から、後続ノード254Sでラベルトークン204aまたはブランクトークン204bの1つを放出する可能性を決定する。ここでは、後続ノード254Sは、それぞれのノード254に隣接している。後続ノード254Sは、ブランクトークン204bを放出することを示す、それぞれのノード254の右側にある(たとえば、ノード(T+1,U))、またはラベルトークン204aの1つを放出することを示す、それぞれのノード254の上にある(たとえば、ノード(T,U+1))場合がある。
前向き確率層260は、前向き確率262に基づいて、語彙トークン204を放出する可能性を決定する。前向き確率262は、以下によって表される。
式2において、α(t, u)は、前向き確率262を表し、
は、ラベルトークン204aを表し、b(t,u)は、ブランクトークン204bを表し、tは、それぞれのノード254の列を表し、uは、それぞれのノード254の行を表す。
たとえば、次に図3Bを参照すると、前向き確率層260は、それぞれのノード254(たとえば、ノード(T,U))から、ラベルトークン204aの1つを放出する第1の確率264、およびブランクトークン204bを放出する第2の確率266を含む前向き確率262を決定する。ここで、第1の確率264は、ラベルトークン204aの1つを放出するために、それぞれのノード254から後続ノード254S(たとえば、ノード(T,U+1))へ進む可能性を表す。詳細には、第1の確率264は、次の出力ステップでラベルトークン204a「L」を放出する可能性を表す。この例を続けると、第2の確率266は、ブランクトークン204bを放出するために、それぞれのノード254から後続ノード254S(たとえば、ノード(T+1,U))へ進む可能性を表す。すなわち、第2の確率266は、次の出力ステップでブランクを放出する可能性を表す。いくつかの例では、それぞれのステップでブランクトークン204bを放出する第2の確率266は、それぞれのステップの直前のステップでブランクトークン204bまたはラベルトークンのうちの1つを放出した後にブランクトークン204bを放出する確率に対応する。
後向き確率層270は、出力シーケンスがそれぞれの後続ノード254Sを含む可能性を決定するように構成される。後向き確率層270は、後向き確率272に基づいて、出力シーケンスがそれぞれの後続ノード254Sを含む可能性を決定する。後向き確率層270は、以下によって表される、すべての考えられる出力シーケンス202およびそれぞれの後続ノード254Sを含むすべての考えられる出力シーケンス202の比率に基づいて、後向き確率272を決定する。
β(t, u)は、後向き確率を表し、
は、ラベルトークン204aを表し、b(t,u)は、ブランクトークン204bを表し、tは、それぞれのノード254の列を表し、uは、それぞれのノード254の行を表す。次に図3Cを参照すると、後続ノード244Sから、後向き確率層270は、出力シーケンス202にそれぞれの後続ノード254Sを含む後向き確率272を決定する。図示の例では、後向き確率層270は、3つの出力シーケンス202を決定するが、後向き確率層270は、任意の数の出力シーケンス202を決定し得ると理解されたい。この例では、第1の出力シーケンス202、202aおよび第2の出力シーケンス202、202bは、それぞれの後続ノード254Sを含むが、第3の出力シーケンス202、202cは、それぞれの後続ノード254Sを含まない。後向き確率層270は、すべての考えられる出力シーケンス202から後続ノード254Sを含む出力シーケンス202の数に基づいて、後向き確率272を決定する。この例では、出力シーケンス202がそれぞれの後続ノード254Sを含む後向き確率272は、3分の1である。
いくつかの実装形態では、後向き確率層270は、複数の後続ノード254Sについて後向き確率272を決定する。すなわち、それぞれのノード254から、2つの考えられる後続ノード254S、ラベルトークン204aを表す後続ノード254S、またはブランクトークン204bを表す後続ノード254Sのいずれかがある。いくつかの例では、後向き確率層270は、両方の後続ノード254Sについて後向き確率272を決定する。他の例では、後向き確率層270は、しきい値を満たす後続ノード254Sについてのみ後向き確率272を決定する。すなわち、後向き確率層270は、第1の確率264がしきい値を満たすとき、ラベルトークン204aを表す後続ノード254Sについて後向き確率272を決定し、第2の確率266がしきい値を満たすとき、ブランクトークン204bを表す後続ノード254Sについて後向き確率272を決定するにすぎない。
いくつかの実装形態では、アライメント格子300のノード254は、ラベルトークン204aの1つと、ブランクトークン204bの両方を表す場合がある。出力シーケンス202がどのようにノード254を横切るかに応じて、ノード254がラベルトークン204aの1つであるか、それともブランクトークン204bであるかが決まる。図3Cに示すように、語彙トークン204A、204Bの2つの出力シーケンスは、後続ノード254Cを含む。語彙トークン204Aの第1の出力シーケンスは、ブランクトークン204bを放出すること(たとえば、右矢印)によって後続ノード254Sへ進む。この例では、後続ノード254Sは、ブランクトークン204bを表す。語彙トークン204Bの第2の出力シーケンスは、ラベルトークン204aの1つを放出すること(たとえば、上矢印)によって後続ノード254Sへ進む。ここでは、後続ノード254Sは、ラベルトークン204aの1つを表す。したがって、アライメント格子300の中のノード254が、ラベルトークン204aの1つを表すか、それともブランクトークン204bを表すかは、語彙トークン204の出力シーケンスによって決まる。前向き確率層260および後向き確率層270は、それぞれ前向き確率262および後向き確率272をアライメントモデル280に送る。トランスデューサモデル200は、出力ステップで1つまたは複数の語彙トークン204を放出し得る。たとえば、語彙トークン202Cの第3の出力シーケンスでの出力ステップT=6で、トランスデューサモデル200は、文字「L」、「L」、および「O」に対応する3つの(3)ラベルトークン204aを通って進む。ここでは、出力ステップT=6でトランスデューサモデル200は、ラベルトークン204aの3つ(3)すべてを放出する。
再び図2Bを参照すると、前向き確率層260および後向き確率層270は、前向き確率262および後向き確率272をアライメントモデル280に送る。アライメントモデル280は、前向き確率262および後向き確率272に基づいてアライメント確率206を決定するように構成される。すなわち、アライメントモデル280は、アライメント格子300の各それぞれの出力ステップですべてのノードについて前向き確率262および後向き確率272を統合することによって、シーケンスレベルでアライメント確率206を生成する。アライメントモデル280は、以下の式に基づいて、アライメント確率206を決定する。
式4および式5において、At,uは、アライメント格子300のそれぞれのノード254の座標を表す。したがって、P(At,u│x)は、それぞれのノード254を通る語彙トークン204のすべての完全な出力シーケンスの確率を表し、
は、アライメント格子300における語彙トークン204のすべての出力シーケンスの確率を表す。式4において、α(t,u)b(t,u)β(t+1,u)は、ブランクトークン204bを予測する確率を表し、
は、ラベルトークン204aの1つを予測する確率を表す。このようにして、アライメントモデル280は、トークンごとの確率(たとえば、前向き確率262)およびシーケンスごとの確率(たとえば、後向き確率272)に基づいて、アライメント確率206を決定し得る。いくつかの例では、アライメントモデル280は、言葉12に対応する転写132を生成するために、ラベルトークン204aの1つを放出するか、それともブランクトークン204bを放出するかを決定するために、アライメント確率206をASRシステム130に送る。
いくつかの実装形態では、トレーニングプロセス201は、アライメント格子300のいずれかのノード254に対してトランスデューサ損失292を決定するように構成された損失モデル290を利用する。アライメントモデル280は、各出力ステップでトランスデューサ損失292を決定するために損失モデル290にアライメント確率206を送ってもよい。損失関数は、以下によって表され得る。
トランスデューサモデル200は、放出遅延にかかわらず、語彙トークン204のすべての考えられる出力シーケンスの対数確率を最大にする。すなわち、対数確率(たとえば、式1)が最大化されるので、トランスデューサモデル200は、ラベルトークン204aの1つを放出することと、ブランクトークンを放出することとを等しく扱う。したがって、トランスデューサモデル200は、より多くの未来のコンテキストを使用することによってより良く予測することを学習し、著しい放出遅延136を引き起こすので、ラベルトークン204aおよびブランクトークン204bの放出を等しく扱うと、必然的に放出遅延136につながる。すなわち、損失モデル290は、アライメントモデル280にフィードバックとしてトランスデューサ損失292を提供する。アライメントモデル280は、語彙トークン204放出における誤りを最小にするためにトランスデューサ損失292を使用する。したがって、ラベルトークン204aおよびブランクトークン204bの放出が等しく扱われるので、アライメントモデル280は必然的に、放出遅延136をもたらす。本明細書の実装形態は、以下によって表されるラベルトークン204aの確率を最大にすることによって、ブランクトークン204bよりもラベルトークン204aの1つを予測することを促すために、トランスデューサモデル200をトレーニングすることを対象とする。
式8および式9では、
は、ラベルトークン204aの1つを放出する最大化された確率を表し、
は、更新されたトランスデューサ損失を表し、λは、チューニングパラメータを表す。したがって、第1の確率264および第2の確率266は、前向き後向き伝播アルゴリズムの前向き変数を定義する。詳細には、アライメントモデル280は、語彙トークン204の出力シーケンスを放出するアライメント確率206を決定するために、第1の確率264および第2の確率266を使用し、損失モデル190は、アライメントモデル280をトレーニングするためのトランスデューサ損失292を決定するために、第1の確率264および第2の確率266を使用する。アライメントモデル280は、図2Aのトランスデューサモデル200の結合ネットワーク230および/またはソフトマックス層240に組み込まれてもよい。
更新されたトランスデューサ損失の損失関数(たとえば、式8)は、シーケンスレベルでラベルトークン204aの1つを放出する確率を最大にするためにチューニングパラメータ282を利用する。チューニングパラメータ282は、トランスデューサ損失292および正則化損失294を平衡させるように構成される。すなわち、チューニングパラメータ282は、語彙トークン204放出の精度(たとえば、トランスデューサ損失292)および放出遅延136にペナルティを科すこと(たとえば、正則化損失294)を平衡させる。したがって、トランスデューサモデル200は、ブランクトークン204bの1つを放出する確率にペナルティを科すことなく、ラベルトークン204aの1つを放出する確率を最大にする。チューニングパラメータ282は、どんな発話語のアライメント情報とも無関係にアライメントモデル280に適用され得る。いくつかの実装形態では、新しい正則化トランスデューサ損失は、以下によって表すことができるので、チューニングパラメータ282は、既存のトランスデューサモデル200に基づいて実装され得る。
いくつかの例では、チューニングパラメータ282を使用してトランスデューサモデル200をトレーニングした後、トレーニングされたトランスデューサモデル200は、推論中にリモートコンピューティングデバイス160上で実行されるように構成される。他の例では、トレーニングされたトランスデューサモデル200は、推論中にユーザデバイス102上で実行される。トレーニングされたトランスデューサモデル200を実行すると、ブランクトークン204bを放出する確率にペナルティを科すことなく、シーケンスレベルでラベルトークン204aの1つを放出する確率を最大にすることによって、言葉12の転写132を生成することの放出遅延136が減少する。
図4は、ストリーミング音声認識モデルをトレーニングする方法400のための動作の例示的並びのフローチャートである。方法400は、ステップ402において、音声認識モデルへの入力として、音響フレーム122のシーケンスを受信することを含む。ストリーミング音声認識モデルは、音響フレーム122のシーケンスと語彙トークン204の出力シーケンスとの間のアライメント確率206を学習するように構成される。語彙トークン204は、複数のラベルトークン204aと、ブランクトークン204bとを含む。複数の出力ステップの各ステップで、方法400は、ステップ404において、ラベルトークン204aの1つを放出する第1の確率264を決定することを含む。ステップ406において、方法400は、ブランクトークン204bを放出する第2の確率266を決定することを含む。
方法400は、ステップ408において、各出力ステップで、ラベルトークン204aの1つを放出する第1の確率264およびブランクトークン204bを放出する第2の確率266に基づいて、シーケンスレベルでアライメント確率206を生成することを含む。方法400は、ステップ410において、ラベルトークン204aの1つを放出する第1の確率264を最大にするために、シーケンスレベルでアライメント確率206にチューニングパラメータ282を適用することを含む。
図5は、本文書に記載するシステムおよび方法を実装するのに使うことができる例示的コンピューティングデバイス500の概略図である。コンピューティングデバイス500は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなど、様々な形のデジタルコンピュータを表すことを意図している。ここに示す構成要素、それらの接続および関係、ならびにそれらの機能は、例示にすぎないものとし、本明細書で説明および/または請求する本発明の実装形態を限定するものではない。
コンピューティングデバイス500は、プロセッサ510と、メモリ520と、記憶デバイス530と、メモリ520および高速拡張ポート550に接続する高速インターフェース/コントローラ540と、低速バス570および記憶デバイス530に接続する低速インターフェース/コントローラ560とを含む。構成要素510、520、530、540、550、および560の各々は、様々なバスを使って相互接続され、共通マザーボード上に、または必要に応じて他の方式で搭載されてよい。プロセッサ510は、グラフィカルユーザインターフェース(GUI)についてのグラフィカル情報を、高速インターフェース540に結合されたディスプレイ580などの外部入力/出力デバイス上に表示するための、メモリ520中または記憶デバイス530上に記憶された命令を含む、コンピューティングデバイス500内での実行のための命令を処理することができる。他の実装形態では、複数のプロセッサおよび/または複数のバスが、必要に応じて、複数のメモリおよび複数のタイプのメモリとともに使われてよい。また、複数のコンピューティングデバイス500が接続されてもよく、各デバイスは、必要な動作の部分を(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)提供する。
メモリ520は、コンピューティングデバイス500内に情報を非一時的に記憶する。メモリ520は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットであってよい。非一時的メモリ520は、プログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラム状態情報)を、コンピューティングデバイス500による使用のために、一時的または永続的に記憶するのに使われる物理デバイスであってよい。不揮発性メモリの例は、限定はしないが、フラッシュメモリおよび読取り専用メモリ(ROM)/プログラム可能読取り専用メモリ(PROM)/消去可能プログラマブル読取り専用メモリ(EPROM)/電子的消去可能プログラマブル読取り専用メモリ(EEPROM)(たとえば、通常は、ブートプログラムなどのファームウェア用に使われる)を含む。揮発性メモリの例は、限定はしないが、ランダムアクセスメモリ(RAM)、動的ランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)ならびにディスクまたはテープを含む。
記憶デバイス530は、コンピューティングデバイス500に大容量記憶を提供することが可能である。いくつかの実装形態では、記憶デバイス530は、コンピュータ可読媒体である。様々な異なる実装形態において、記憶デバイス530は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、もしくはテープデバイス、フラッシュメモリもしくは他の同様の固体メモリデバイス、または記憶エリアネットワークもしくは他の構成におけるデバイスを含むデバイスのアレイであってよい。追加の実装形態では、コンピュータプログラム製品が、情報キャリアに具現化される。コンピュータプログラム製品は、実行されると、上記で説明した方法などの1つまたは複数の方法を実施する命令を含む。情報キャリアは、メモリ520、記憶デバイス530、またはプロセッサ510上のメモリなどのコンピュータまたは機械可読媒体である。
高速コントローラ540は、コンピューティングデバイス500のための帯域幅集約的な動作を管理するが、低速コントローラ560は、帯域幅低集約的な動作を管理する。役割のそのような割振りは、例示にすぎない。いくつかの実装形態では、高速コントローラ540は、メモリ520、ディスプレイ580に(たとえば、グラフィックスプロセッサまたはアクセラレータを通して)結合され、および様々な拡張カード(図示せず)を受け入れることができる高速拡張ポート550に結合される。いくつかの実装形態において、低速コントローラ560は、記憶デバイス530および低速拡張ポート590に結合される。低速拡張ポート590は、様々な通信ポート(たとえば、USB、Bluetooth、イーサネット、ワイヤレスイーサネット)を含み得るが、キーボード、ポインティングデバイス、スキャナなど、1つもしくは複数の入力/出力デバイス、またはスイッチもしくはルータなどのネットワークデバイスに、たとえば、ネットワークアダプタを通して結合され得る。
コンピューティングデバイス500は、図に示すように、いくつかの異なる形態で実装され得る。たとえば、コンピューティングデバイス500は、標準的なサーバ500aとして、もしくはそのようなサーバ500aのグループで複数回、またはラップトップコンピュータ500bとして、またはラックサーバシステム500cの一部として実装され得る。
本明細書に記載するシステムおよび技法の様々な実装形態は、デジタル電子および/もしくは光学回路構成、集積回路構成、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、ならびに/またはそれらの組合せで実現され得る。これらの様々な実装形態は、少なくとも1つのプログラム可能プロセッサを含むプログラム可能システム上で実行可能および/または翻訳可能な1つまたは複数のコンピュータプログラムでの実装を含むことができ、プログラム可能プロセッサは、記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信するように、ならびにそれらにデータおよび命令を送信するように結合された、特殊または一般的目的であってもよい。
ソフトウェアアプリケーション(すなわち、ソフトウェアリソース)は、コンピューティングデバイスにタスクを実施させるコンピュータソフトウェアを指し得る。いくつかの例では、ソフトウェアアプリケーションは、「アプリケーション」、「アプリ」、または「プログラム」と呼ばれる場合がある。例示的アプリケーションは、限定はしないが、システム診断アプリケーション、システム管理アプリケーション、システム保守アプリケーション、文書処理アプリケーション、表計算アプリケーション、メッセージングアプリケーション、メディアストリーミングアプリケーション、ソーシャルネットワーキングアプリケーション、およびゲーム用アプリケーションを含む。
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られる)は、プログラム可能プロセッサ用の機械命令を含み、高度手続型および/もしくはオブジェクト指向プログラミング言語で、ならびに/またはアセンブリ/機械言語で実装され得る。本明細書で使用する「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械命令を機械可読信号として受信する機械可読媒体を含むプログラム可能プロセッサに、機械命令および/またはデータを提供するのに使われる、どのコンピュータプログラム製品、非一時的コンピュータ可読媒体、装置および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラム可能論理デバイス(PLD))も指す。「機械可読信号」という用語は、プログラム可能プロセッサに機械命令および/またはデータを提供するのに使われるどの信号も指す。
本明細書に記載したプロセスおよび論理フローは、入力データに対して動作し、出力を生成することによって機能を実施するための1つまたは複数のコンピュータプログラムを実行する、データ処理ハードウェアとも呼ばれる1つまたは複数のプログラム可能プロセッサによって実施することができる。プロセスおよび論理フローは、特殊目的論理回路構成、たとえば、FPGA(フィールドプログラム可能ゲートアレイ)やASIC(特定用途向け集積回路)によって実施することもできる。コンピュータプログラムの実行に適したプロセッサは、例として、汎用および特殊目的マイクロプロセッサの両方、ならびにどの種類のデジタルコンピュータのどの1つまたは複数のプロセッサも含む。概して、プロセッサは、読取り専用メモリもしくはランダムアクセスメモリまたは両方から、命令およびデータを受信することになる。コンピュータの本質的要素は、命令を実施するためのプロセッサ、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。概して、コンピュータは、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば、磁気、光磁気ディスク、または光ディスクも含み、あるいは大容量記憶デバイスからデータを受信し、もしくはデータを転送し、または両方を行うように大容量記憶デバイスに動作可能に結合される。ただし、コンピュータは、そのようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイスと、磁気ディスク、たとえば、内部ハードディスクまたは取外し可能ディスクと、光磁気ディスクと、CD-ROMおよびDVD-ROMディスクとを含む、あらゆる形の不揮発性メモリ、媒体およびメモリデバイスを含む。プロセッサおよびメモリは、特殊目的論理回路要素によって補完することも、その中に組み込むこともできる。
ユーザとの対話を可能にするために、本開示の1つまたは複数の態様は、ユーザに情報を表示するためのディスプレイデバイス、たとえば、CRT(陰極線管)やLCD(液晶ディスプレイ)モニタ、またはタッチスクリーンと、随意には、ユーザがコンピュータに入力を与えることができるためのキーボードおよびポインティングデバイス、たとえば、マウスやトラックボールとを有するコンピュータ上で実装することができる。他の種類のデバイスも、ユーザとの対話を提供するのに使われることが可能であり、たとえば、ユーザに与えられるフィードバックは、どの形の感覚フィードバックでも、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであることができ、ユーザからの入力は、音響、音声、または触覚入力を含む、どの形でも受信されることが可能である。さらに、コンピュータは、ユーザによって使われるデバイスへドキュメントを送信し、デバイスからドキュメントを受信することによって、たとえば、ウェブブラウザから受信された要求に応答して、ユーザのクライアントデバイス上のウェブブラウザへウェブページを送信することによって、ユーザと対話することができる。
いくつかの実装形態について説明した。それにもかかわらず、本開示の趣旨および範囲から逸脱することなく、様々な修正が行われ得ることが理解されよう。したがって、他の実装形態が、以下の特許請求の範囲内にある。
10 ユーザ
12 言葉
100 発話環境
102 ユーザデバイス
104 データ処理ハードウェア
106 メモリハードウェア
116 オーディオシステム
120 オーディオサブシステム
122 音響フレーム
124 発話の終わり
130 自動音声認識(ASR)システム
132 転写
134 転写の終わり
136 放出遅延
140 ユーザインターフェース生成器
150 ネットワーク
160 リモートコンピューティングデバイス
200 ASRモデル
202 出力シーケンス
204 語彙トークン、ラベルトークン、ブランクトークン
206 アライメント確率
210 エンコーダネットワーク
220 予測ネットワーク
230 結合ネットワーク
240 ソフトマックス層
250 格子生成器
254 ノード
260 前向き確率層
262 前向き確率
264 第1の確率
266 第2の確率
270 後向き確率層
272 後向き確率
280 アライメントモデル
282 チューニングパラメータ
290 損失モデル
292 トランスデューサ損失
294 正則化損失
300 アライメント格子

Claims (30)

  1. データ処理ハードウェア(104)上で実行されると、前記データ処理ハードウェア(104)にストリーミング音声認識モデル(200)をトレーニングするための動作を行わせるコンピュータ実装方法(400)であって、前記動作が、
    前記ストリーミング音声認識モデル(200)への入力として、音響フレーム(122)のシーケンスを受信するステップであって、前記ストリーミング音声認識モデル(200)が、音響フレーム(122)の前記シーケンスと、語彙トークン(204)の出力シーケンスとの間のアライメント確率(206)を学習するように構成され、前記語彙トークン(204)が、複数のラベルトークン(204)とブランクトークン(204)とを含む、受信するステップと、
    複数の出力ステップの各ステップで、
    前記ラベルトークン(204)の1つを放出する第1の確率(264)を決定し、
    前記ブランクトークン(204)を放出する第2の確率(266)を決定するステップと、
    各出力ステップで、前記ラベルトークン(204)の1つを放出する前記第1の確率(264)および前記ブランクトークン(204)を放出する前記第2の確率(266)に基づいて、シーケンスレベルで前記アライメント確率(206)を生成するステップと、
    前記ラベルトークン(204)の1つを放出する前記第1の確率(264)を最大にするために、前記シーケンスレベルで前記アライメント確率(206)にチューニングパラメータ(282)を適用するステップと
    を含む、コンピュータ実装方法(400)。
  2. 前記それぞれのステップで前記ラベルトークン(204)の1つを放出する前記第1の確率(264)が、それぞれのラベルトークン(204)をすでに放出した後に前記ラベルトークン(204)の1つを放出する確率に対応する、請求項1に記載のコンピュータ実装方法(400)。
  3. 前記それぞれのステップで前記ブランクトークン(204)を放出する前記第2の確率(266)が、前記それぞれのステップの直前のステップで前記ブランクトークン(204)またはラベルトークン(204)のうちの1つを放出した後に、前記ブランクトークン(204)を放出する確率に対応する、請求項1または2に記載のコンピュータ実装方法(400)。
  4. 前記第1の確率(264)および前記第2の確率(266)が、前向き後向き伝播アルゴリズムの前向き変数を定義する、請求項1から3のいずれか一項に記載のコンピュータ実装方法(400)。
  5. 前記動作が、複数のノード(254)を含むアライメント格子(300)を生成するステップをさらに含み、前記アライメント格子(300)が、T列のノード(254)およびU行のノード(254)を有する行列として定義され、前記T列の各列が、前記複数の出力ステップの対応するステップに対応し、前記U行の各行が、音響フレーム(122)の前記シーケンスをテキストで表すラベルに対応する、請求項1から4のいずれか一項に記載のコンピュータ実装方法(400)。
  6. 前記動作が、前記アライメント格子(300)の前記行列の各ノード(254)ロケーションで、
    前記それぞれのノード(254)に隣接する後続ノード(254)を予測するための前向き確率(262)を決定するステップであって、前記前向き確率(262)が前記第1の確率(264)と、前記第2の確率(266)とを含む、決定するステップと、
    前記それぞれのノード(254)に隣接する前記後続ノード(254)から、語彙トークン(204)の出力シーケンスに前記それぞれの後続ノード(254)を含む後向き確率(272)を決定するステップと
    をさらに含む、請求項5に記載のコンピュータ実装方法(400)。
  7. 前記シーケンスレベルで前記アライメント確率(206)を生成するステップが、前記アライメント格子(300)の各それぞれのステップですべてのノード(254)について前記前向き確率(262)および前記後向き確率(272)を統合するステップを含む、請求項6に記載のコンピュータ実装方法(400)。
  8. 前記シーケンスレベルで前記アライメント確率(206)に前記チューニングパラメータ(282)を適用するステップが、前記ストリーミング音声認識モデル(200)をトレーニングするとき、前記ストリーミング音声認識モデル(200)における損失および正則化損失(294)を平衡させる、請求項1から7のいずれか一項に記載のコンピュータ実装方法(400)。
  9. 前記チューニングパラメータ(282)が、どんな発話語のアライメント情報とも無関係に適用される、請求項1から8のいずれか一項に記載のコンピュータ実装方法(400)。
  10. 前記出力ステップの1つでの前記ブランクトークン(204)の放出が、ペナルティを科されない、請求項1から9のいずれか一項に記載のコンピュータ実装方法(400)。
  11. 前記ストリーミング音声認識モデル(200)が、
    リカレントニューラルトランスデューサ(RNN-T)モデル、
    トランスフォーマ-トランスデューサモデル、
    畳み込みネットワークトランスデューサ(ConvNetトランスデューサ)モデル、または
    コンフォーマ-トランスデューサモデル
    のうちの少なくとも1つを含む、請求項1から10のいずれか一項に記載のコンピュータ実装方法(400)。
  12. 前記ストリーミング音声認識モデル(200)が、リカレントニューラルトランスデューサ(RNN-T)モデルを含む、請求項1から11のいずれか一項に記載のコンピュータ実装方法(400)。
  13. 前記ストリーミング音声認識モデル(200)が、コンフォーマ-トランスデューサモデルを含む、請求項1から12のいずれか一項に記載のコンピュータ実装方法(400)。
  14. 前記ストリーミング音声認識モデル(200)をトレーニングした後に、前記トレーニングされたストリーミング音声認識モデル(200)が、ストリーミング式で音声を転写するためにユーザデバイス(102)上で実行される、請求項1から13のいずれか一項に記載のコンピュータ実装方法(400)。
  15. 前記ストリーミング音声認識モデル(200)をトレーニングした後に、前記トレーニングされたストリーミング音声認識モデル(200)が、サーバ上で実行される、請求項1から14のいずれか一項に記載のコンピュータ実装方法(400)。
  16. データ処理ハードウェア(104)と、
    前記データ処理ハードウェア(104)と通信しているメモリハードウェア(106)とを備え、前記メモリハードウェア(106)が命令を記憶し、前記命令は前記データ処理ハードウェア(104)によって実行されると、前記データ処理ハードウェア(104)に動作を行わせ、前記動作が、
    ストリーミング音声認識モデル(200)への入力として、音響フレーム(122)のシーケンスを受信するステップであって、ストリーミング音声認識モデル(200)が、音響フレーム(122)の前記シーケンスと、語彙トークン(204)の出力シーケンスとの間のアライメント確率(206)を学習するように構成され、前記語彙トークン(204)が、複数のラベルトークン(204)とブランクトークン(204)とを含む、受信するステップと、
    複数の出力ステップの各ステップで、
    前記ラベルトークン(204)の1つを放出する第1の確率(264)を決定し、
    前記ブランクトークン(204)を放出する第2の確率(266)を決定するステップと、
    各出力ステップで、前記ラベルトークン(204)の1つを放出する前記第1の確率(264)および前記ブランクトークン(204)を放出する前記第2の確率(266)に基づいて、シーケンスレベルで前記アライメント確率(206)を生成するステップと、
    前記ラベルトークン(204)の1つを放出する前記第1の確率(264)を最大にするために、前記シーケンスレベルで前記アライメント確率(206)にチューニングパラメータ(282)を適用するステップと
    を含む、前記ストリーミング音声認識モデル(200)をトレーニングするシステム(130)。
  17. 前記それぞれのステップで前記ラベルトークン(204)の1つを放出する前記第1の確率(264)が、それぞれのラベルトークンをすでに放出した後に前記ラベルトークン(204)の1つを放出する確率に対応する、請求項16に記載のシステム(130)。
  18. 前記それぞれのステップで前記ブランクトークン(204)を放出する前記第2の確率(266)が、前記それぞれのステップの直前のステップでブランクラベルまたはラベルトークンの1つを放出した後に、前記ブランクラベルを放出する確率に対応する、請求項16または17に記載のシステム(130)。
  19. 前記第1の確率(264)および前記第2の確率(266)が、前向き後向き伝播アルゴリズムの前向き変数を定義する、請求項16から18のいずれか一項に記載のシステム(130)。
  20. 前記動作が、複数のノード(254)を含むアライメント格子(300)を生成するステップをさらに含み、前記アライメント格子(300)が、T列のノード(254)およびU行のノード(254)を有する行列として定義され、前記T列の各列が、前記複数の出力ステップの対応するステップに対応し、前記U行の各行が、音響フレーム(122)の前記シーケンスをテキストで表すラベルに対応する、請求項16から19のいずれか一項に記載のシステム(130)。
  21. 前記動作が、前記アライメント格子(300)の前記行列の各ノード(254)ロケーションで、
    前記それぞれのノード(254)に隣接する後続ノード(254)を予測するための前向き確率(262)を決定するステップであって、前記前向き確率(262)が前記第1の確率(264)と、前記第2の確率(266)とを含む、決定するステップと、
    前記それぞれのノード(254)に隣接する前記後続ノード(254)から、語彙トークン(204)の出力シーケンスに前記それぞれの後続ノード(254)を含む後向き確率(272)を決定するステップと
    をさらに含む、請求項20に記載のシステム(130)。
  22. 前記シーケンスレベルで前記アライメント確率(206)を生成するステップが、前記アライメント格子(300)の各それぞれのステップですべてのノード(254)について前記前向き確率(262)および前記後向き確率(272)を統合するステップを含む、請求項21に記載のシステム(130)。
  23. 前記シーケンスレベルで前記アライメント確率(206)に前記チューニングパラメータ(282)を適用するステップが、前記ストリーミング音声認識モデル(200)をトレーニングするとき、前記ストリーミング音声認識モデル(200)における損失および正則化損失(294)を平衡させる、請求項16から22のいずれか一項に記載のシステム(130)。
  24. 前記チューニングパラメータ(282)が、どんな発話語のアライメント情報とも無関係に適用される、請求項16から23のいずれか一項に記載のシステム(130)。
  25. 前記出力ステップの1つでの前記ブランクトークン(204)の放出が、ペナルティを科されない、請求項16から24のいずれか一項に記載のシステム(130)。
  26. 前記ストリーミング音声認識モデル(200)が、
    リカレントニューラルトランスデューサ(RNN-T)モデル、
    トランスフォーマ-トランスデューサモデル、
    畳み込みネットワークトランスデューサ(ConvNetトランスデューサ)モデル、または
    コンフォーマ-トランスデューサモデル
    のうちの少なくとも1つを含む、請求項16から25のいずれか一項に記載のシステム(130)。
  27. 前記ストリーミング音声認識モデル(200)が、リカレントニューラルトランスデューサ(RNN-T)モデルを含む、請求項16から26のいずれか一項に記載のシステム(130)。
  28. 前記ストリーミング音声認識モデル(200)が、コンフォーマ-トランスデューサモデルを含む、請求項16から27のいずれか一項に記載のシステム(130)。
  29. 前記ストリーミング音声認識モデル(200)をトレーニングした後に、前記トレーニングされたストリーミング音声認識モデル(200)が、ストリーミング式で音声を転写するためにユーザデバイス(102)上で実行される、請求項16から28のいずれか一項に記載のシステム(130)。
  30. 前記ストリーミング音声認識モデル(200)をトレーニングした後に、前記トレーニングされたストリーミング音声認識モデル(200)が、サーバ上で実行される、請求項16から29のいずれか一項に記載のシステム(130)。
JP2023524188A 2020-10-20 2021-09-09 シーケンスレベルの放出正則化を用いた高速放出低遅延のストリーミングasr Active JP7445089B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063094274P 2020-10-20 2020-10-20
US63/094,274 2020-10-20
PCT/US2021/049738 WO2022086640A1 (en) 2020-10-20 2021-09-09 Fast emit low-latency streaming asr with sequence-level emission regularization

Publications (2)

Publication Number Publication Date
JP2023546914A JP2023546914A (ja) 2023-11-08
JP7445089B2 true JP7445089B2 (ja) 2024-03-06

Family

ID=78080483

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023524188A Active JP7445089B2 (ja) 2020-10-20 2021-09-09 シーケンスレベルの放出正則化を用いた高速放出低遅延のストリーミングasr

Country Status (6)

Country Link
US (1) US20220122586A1 (ja)
EP (1) EP4218007A1 (ja)
JP (1) JP7445089B2 (ja)
KR (1) KR20230088455A (ja)
CN (1) CN116848579A (ja)
WO (1) WO2022086640A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118355434A (zh) * 2022-10-19 2024-07-16 微软技术许可有限责任公司 流式长格式语音识别

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020505650A (ja) 2017-05-11 2020-02-20 三菱電機株式会社 音声認識システム及び音声認識の方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9280969B2 (en) * 2009-06-10 2016-03-08 Microsoft Technology Licensing, Llc Model training for automatic speech recognition from imperfect transcription data
US9786270B2 (en) * 2015-07-09 2017-10-10 Google Inc. Generating acoustic models
US10229672B1 (en) * 2015-12-31 2019-03-12 Google Llc Training acoustic models using connectionist temporal classification
US10706840B2 (en) * 2017-08-18 2020-07-07 Google Llc Encoder-decoder models for sequence to sequence mapping

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020505650A (ja) 2017-05-11 2020-02-20 三菱電機株式会社 音声認識システム及び音声認識の方法

Also Published As

Publication number Publication date
CN116848579A (zh) 2023-10-03
JP2023546914A (ja) 2023-11-08
KR20230088455A (ko) 2023-06-19
EP4218007A1 (en) 2023-08-02
US20220122586A1 (en) 2022-04-21
WO2022086640A1 (en) 2022-04-28

Similar Documents

Publication Publication Date Title
JP7359969B2 (ja) ストリーミングシーケンスモデルの一貫性予測
KR20220007160A (ko) 스트리밍 엔드-투-엔드 모델을 사용한 대규모 다국어 음성 인식
CN111344779A (zh) 训练和/或使用编码器模型确定自然语言输入的响应动作
JP7351018B2 (ja) エンド・ツー・エンド音声認識における固有名詞認識
CN116250038A (zh) 变换器换能器:一种统一流式和非流式语音识别的模型
CN116670757A (zh) 用于简化的流式和非流式语音识别的级联编码器
JP2024530969A (ja) 音声合成ベースのモデル適応での音声認識の向上
JP7502561B2 (ja) 言語間音声合成を改良するための音声認識の使用
JP7445089B2 (ja) シーケンスレベルの放出正則化を用いた高速放出低遅延のストリーミングasr
CN117378004A (zh) 具有序列的对比损失的有监督和无监督的训练
US20230343332A1 (en) Joint Segmenting and Automatic Speech Recognition
CN117043856A (zh) 高效流式非递归设备上的端到端模型
Heymann et al. Improving CTC using stimulated learning for sequence modeling
KR20230156425A (ko) 자체 정렬을 통한 스트리밍 asr 모델 지연 감소
JP2024510816A (ja) タイイングされ縮小されたrnn-t
US20240013777A1 (en) Unsupervised Data Selection via Discrete Speech Representation for Automatic Speech Recognition
US12087279B2 (en) Regularizing word segmentation
US20220310061A1 (en) Regularizing Word Segmentation
WO2023205367A1 (en) Joint segmenting and automatic speech recognition
JP2024119883A (ja) 言語間音声合成を改良するための音声認識の使用
CN117378005A (zh) 用于自动语音识别的多语言重新评分模型
KR20240072263A (ko) 엔드-투-엔드 음성 인식 모델의 온-디바이스 배칭을 위한 단어 경계 예측
JP2024525220A (ja) 自己教師あり音声事前トレーニングにおけるテキストの挿入

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230619

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230619

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20230619

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230911

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231115

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240129

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240222

R150 Certificate of patent or registration of utility model

Ref document number: 7445089

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150