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

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

▶ 日本放送協会の特許一覧

<>
  • 特開-音声認識装置およびプログラム 図1
  • 特開-音声認識装置およびプログラム 図2
  • 特開-音声認識装置およびプログラム 図3
  • 特開-音声認識装置およびプログラム 図4
  • 特開-音声認識装置およびプログラム 図5
  • 特開-音声認識装置およびプログラム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025015341
(43)【公開日】2025-01-30
(54)【発明の名称】音声認識装置およびプログラム
(51)【国際特許分類】
   G10L 15/16 20060101AFI20250123BHJP
【FI】
G10L15/16
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023118694
(22)【出願日】2023-07-20
(71)【出願人】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】100141139
【弁理士】
【氏名又は名称】及川 周
(74)【代理人】
【識別番号】100171446
【弁理士】
【氏名又は名称】高田 尚幸
(74)【代理人】
【識別番号】100114937
【弁理士】
【氏名又は名称】松本 裕幸
(74)【代理人】
【識別番号】100171930
【弁理士】
【氏名又は名称】木下 郁一郎
(72)【発明者】
【氏名】佐藤 裕明
(57)【要約】
【課題】過去に発話されている文字(列)を繰り返し出力するという誤認識を軽減することのできる音声認識装置を提供する。
【解決手段】音声認識装置が、層構成のL個(Lは2以上の整数)のエンコーダー層を持ち、認識対象の音響特徴量の系列を入力し、認識対象の音響特徴量の系列に対応する認識結果を出力するストリーミングトランスフォーマーと、ストリーミングトランスフォーマーの第l番目(1≦l≦L-1)の層のエンコーダー層からの中間層信号を基に、認識結果を構成する記号についての確率分布情報を表す信号を生成し、中間層信号と記号についての確率分布情報を表す信号とを混合することによってストリーミングトランスフォーマーの第(l+1)番目の層のエンコーダー層への入力信号として供給する自己条件付きCTC処理部と、を備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
層構成のL個(Lは2以上の整数)のエンコーダー層を持ち、認識対象の音響特徴量の系列を入力し、且つ、前記認識対象の音響特徴量の系列よりも過去の音響特徴量に関する情報であるコンテキストエンベディングを入力し、前記認識対象の音響特徴量の系列に対応する認識結果を出力するストリーミングトランスフォーマーと、
前記ストリーミングトランスフォーマーの第l番目(1≦l≦L-1)の層の前記エンコーダー層からの中間層信号(h out)を基に、認識結果を構成する記号についての確率分布情報を表す信号を生成し、前記中間層信号と前記記号についての確率分布情報を表す信号とを混合することによって前記ストリーミングトランスフォーマーの第(l+1)番目の層の前記エンコーダー層への入力信号(hl+1 in)として供給する自己条件付きCTC処理部と、
を備える音声認識装置。
【請求項2】
学習用音響特徴量の系列と当該学習用音響特徴量の系列に対応する正解テキストとの対の集合である学習データを用いて、前記学習データの前記学習用音響特徴量の系列を前記ストリーミングトランスフォーマーに入力して、前記ストリーミングトランスフォーマーから出力される認識結果と前記学習データの前記正解テキストとの損失に基づいて、前記ストリーミングトランスフォーマーが持つ内部パラメーターの値と、前記自己条件付きCTC処理部が持つ内部パラメーターの値との最適化処理を可能とするよう構成された、
請求項1に記載の音声認識装置。
【請求項3】
前記認識対象の音響特徴量の系列は、N個(Nは正整数)の音響特徴量を含むブロックであり、
前記ストリーミングトランスフォーマーの第1番目の層の前記エンコーダー層は、前記ブロックを入力するとともに、当該ブロックよりも未来側のブロックに含まれるNahead個(Naheadは正整数)の音響特徴量を先読みして入力し、
前記ストリーミングトランスフォーマーの第(l+1)番目の層の前記エンコーダー層は、前記自己条件付きCTC処理部から渡される認識対象である当該ブロックの信号を入力するとともに、当該ブロックよりも未来側のブロックに基づいて前記自己条件付きCTC処理部から渡される信号を先読みして入力する、
請求項1に記載の音声認識装置。
【請求項4】
前記自己条件付きCTC処理部は、
前記ストリーミングトランスフォーマーの第l番目(1≦l≦L-1)の層の前記エンコーダー層からの中間層信号(h out)のレイヤー正規化の処理を行うレイヤー正規化層と、
前記レイヤー正規化層からの出力を線形変換してソフトマックス処理することにより前記確率分布情報(z)を出力するソフトマックス層と、
前記レイヤー正規化層からの出力(z norm)と前記ソフトマックス層からの出力(z)とを混合して、前記ストリーミングトランスフォーマーの第(l+1)番目の層の前記エンコーダー層への入力信号(hl+1 in)を出力する混合部と、
を備える、
請求項1に記載の音声認識装置。
【請求項5】
前記自己条件付きCTC処理部は、
前記ストリーミングトランスフォーマーの第l番目(1≦l≦L-1)の層の前記エンコーダー層からの中間層信号(h out)のレイヤー正規化の処理を行うレイヤー正規化層と、
前記レイヤー正規化層からの出力を線形変換してソフトマックス処理することにより前記確率分布情報を出力するソフトマックス層と、
前記ソフトマックス層からの出力(z)を入力して、リカレントニューラルネットワークによる処理の結果である信号(z rnn)を出力するリカレントニューラルネットワーク層と、
前記レイヤー正規化層からの出力(z norm)と前記リカレントニューラルネットワーク層からの出力(z rnn)とを混合して、前記ストリーミングトランスフォーマーの第(l+1)番目の層の前記エンコーダー層への入力信号(hl+1 in)を出力する混合部と、
を備え、
前記リカレントニューラルネットワーク層は、前記リカレントニューラルネットワーク層による前のブロックの信号の処理の結果として得られる潜在ベクトルにも基づいてリカレントニューラルネットワークによる処理を行うとともに、処理対象のブロックの信号の処理の結果として得られる潜在ベクトルを次のブロックの処理のために記憶する、
請求項1に記載の音声認識装置。
【請求項6】
前記混合部は、
前記レイヤー正規化層からの出力(z norm)と前記リカレントニューラルネットワーク層からの出力(z rnn)とを連結して線形変換処理を行うことによって1次元の係数(α)を算出し、当該係数(α)を重みとして作用させることによって前記レイヤー正規化層からの出力(z norm)と前記リカレントニューラルネットワーク層からの出力(z rnn)とを混合して、前記ストリーミングトランスフォーマーの第(l+1)番目の層の前記エンコーダー層への入力信号(hl+1 in)を出力する、
請求項5に記載の音声認識装置。
【請求項7】
層構成のL個(Lは2以上の整数)のエンコーダー層を持ち、認識対象の音響特徴量の系列を入力し、且つ、前記認識対象の音響特徴量の系列よりも過去の音響特徴量に関する情報であるコンテキストエンベディングを入力し、前記認識対象の音響特徴量の系列に対応する認識結果を出力するストリーミングトランスフォーマーと、
前記ストリーミングトランスフォーマーの第l番目(1≦l≦L-1)の層の前記エンコーダー層からの中間層信号(h out)を基に、認識結果を構成する記号についての確率分布情報を表す信号を生成し、前記中間層信号と前記記号についての確率分布情報を表す信号とを混合することによって前記ストリーミングトランスフォーマーの第(l+1)番目の層の前記エンコーダー層への入力信号(hl+1 in)として供給する自己条件付きCTC処理部と、
を備える音声認識装置、としてコンピューターを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音声認識装置およびプログラム
に関する。
【背景技術】
【0002】
リアルタイムに認識結果を出力する音声認識の処理の方式としては、2種類の方式が存在する。第1の方式は、1つずつ音響特徴を入力して認識結果を出力する方式である。第2の方式は、複数の音響特徴をまとめて1つのブロックとして、ブロック単位の音響特徴を入力して認識結果を出力する方式である。近年、ブロックごとに処理する音声認識技術であるStreaming transformer(ストリーミングトランスフォーマー)が提案された。Streaming transformerの手法では、過去に出力した認識結果を再度モデルに入力することにより、過去に出力した言語情報もふまえながら認識結果を出力することができる。また、Streaming transformerにおいては、過去に処理したブロックの音響的な情報を引き継ぐcontext embedding(コンテキストエンベディング)の手法を導入するなどすることによって、高い認識性能を達成している。
【0003】
非特許文献1には、Streaming transformerの技術が記載されている。
【0004】
非特許文献2には、エンコーダーにおいてコンテキストを引き継ぐ機構が記載されている(Fig.2等)。
【0005】
非特許文献3には、CTCベースの音声認識の技術が記載されている。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】Emiru Tsunoo,Yosuke Kashiwagi,Shinji Watanabe,“Streaming Transformer ASR with Blockwise Synchronous Beam Search”,In Proc. IEEE Spoken Language Technology Workshop (SLT),2021年.
【非特許文献2】Emiru Tsunoo,Yosuke Kashiwagi,Toshiyuki Kumakura,Shinji Watanabe,“Transformer ASR with Contextual Block Processing”,In Proc. IEEE Automatic Speech Recognition and Understanding Workshop (ASRU),2019年.
【非特許文献3】Jumon Nozaki,Tatsuya Komatsu,“Relaxing the Conditional Independence Assumption of CTC-based ASR by Conditioning on Intermediate Predictions”,In Proc. INTERSPEECH,pp. 3735-3739,2021年.
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、Streaming transformerの技術には過去に発話された文字を再度出力してしまうという問題があり、この問題は結果として誤認識につながる。
【0008】
Streaming transformerの手法が誤認識を起こす理由は次のとおりである。つまり、Streaming transformerの手法においては、デコーダーと呼ばれるニューラルネットワークが、エンコードされた情報を参照し、新たな認識結果が出力されなくなるまで認識結果を出力し続ける。この手法においては、発話の終わりを表す特殊記号や1つ前に出力した文字が繰り返し出力された場合に、認識結果の出力処理を終了する。この手法の欠点として、例えば、2文字の列の繰り返しなどといった繰り返しのパターンによって終了条件を満たさない場合があり、その場合には同じパターンの認識結果を繰り返し出力してしまうことが挙げられる。このような理由によって、Streaming transformerの手法における認識精度が低下してしまう。
【0009】
ここでStreaming transformerの技術を用いる場合の誤認識の例を説明する。
【0010】
正解文は次のとおりである。「二 % 達 成 へ 向 け た 道 筋 と い う こ と に つ い て は 二 % 達 成 の メ カ ニ ズ ム と い う 面 で は で す ね 従 来 か ら 申 し 上 げ て い た よ う に 一 方 で で す ね 実 質 金 利 の 引 き 下 げ に よ っ て *** *** *** 景 気 を 刺 激 し で す ね 失 業 率 を 引 き 下 げ る あ る い は G D P ギ ャ ッ プ を 縮 小 す る と い う こ と を 通 じ て 賃 金 や 物 価 が 上 昇 し て い く と い う *** メ カ ニ ズ ム は 基 本 的 に 変 わ っ て お り ま せ ん」。
【0011】
一方で、認識結果は次のとおりである。「二 % 達 成 へ 向 け た 道 筋 と い う こ と に つ い て は 二 % 達 成 の メ カ ニ ズ ム と い う 面 で は で す ね 従 来 か ら 申 し 上 げ て *** た よ う に 一 方 で で す ね 実 質 金 利 の 引 き 下 げ に よ っ て お よ び 景 気 を 刺 激 し で す ね 失 業 率 を 引 き 下 げ る あ る い は G D P ギ ャ ッ プ を 縮 小 す る と い う こ と を 通 じ て 賃 金 や 物 価 が 上 昇 し て い く と い う 面 で は で す ね 一 方 で で す ね 一 方 で お り ま せ ん」。
【0012】
上記の認識結果の例では、「ですね」や「一方で」という文字列が繰り返し出力されており、即ち、誤認識を引き起こしている。
【0013】
上記の誤認識の原因は、Streaming Transformerのソースターゲットアテンションの機構に起因する。Streaming Transformerにおけるデコーダー(Decoder)の各層はソースターゲットアテンションの機構を有している。つまり、Streaming Transformerにおけるデコーダー(Decoder)の1つの層は、過去において出力した認識結果の特徴量をqueryとして、エンコーダー(Encoder)出力の各ベクトルに対して重みを計算し、エンコーダー(Encoder)出力の各ベクトルを重み付き加算して次のデコーダー(Decoder)の層に伝搬する。この機構によって、Streaming Transformerは、エンコーダーから出力する音響的な特徴を柔軟に選択できるが、同じ箇所のエンコーダー(Encoder)出力を繰り返して参照する可能性があり、過去出力した文字や単語を再度出力するという誤認識を引き起こす。
【0014】
本発明は、上記のような課題認識に基づいて行なわれたものであり、音声認識において、Streaming transformerから出力される認識結果で見られるような、過去に発話されている文字(列)を再度(繰り返し)出力するという誤認識を軽減することのできる音声認識装置およびプログラムを提供しようとするものである。
【課題を解決するための手段】
【0015】
[1]上記の課題を解決するため、本発明の一態様による音声認識装置は、層構成のL個(Lは2以上の整数)のエンコーダー層を持ち、認識対象の音響特徴量の系列を入力し、且つ、前記認識対象の音響特徴量の系列よりも過去の音響特徴量に関する情報であるコンテキストエンベディングを入力し、前記認識対象の音響特徴量の系列に対応する認識結果を出力するストリーミングトランスフォーマーと、前記ストリーミングトランスフォーマーの第l番目(1≦l≦L-1)の層の前記エンコーダー層からの中間層信号(h out)を基に、認識結果を構成する記号についての確率分布情報を表す信号を生成し、前記中間層信号と前記記号についての確率分布情報を表す信号とを混合することによって前記ストリーミングトランスフォーマーの第(l+1)番目の層の前記エンコーダー層への入力信号(hl+1 in)として供給する自己条件付きCTC処理部と、を備える。
【0016】
[2]また、本発明の一態様は、上記[1]の音声認識装置において、学習用音響特徴量の系列と当該学習用音響特徴量の系列に対応する正解テキストとの対の集合である学習データを用いて、前記学習データの前記学習用音響特徴量の系列を前記ストリーミングトランスフォーマーに入力して、前記ストリーミングトランスフォーマーから出力される認識結果と前記学習データの前記正解テキストとの損失に基づいて、前記ストリーミングトランスフォーマーが持つ内部パラメーターの値と、前記自己条件付きCTC処理部が持つ内部パラメーターの値との最適化処理を可能とするよう構成されたものである。
【0017】
[3]また、本発明の一態様は、上記[1]または[2]の音声認識装置において、前記認識対象の音響特徴量の系列は、N個(Nは正整数)の音響特徴量を含むブロックであり、前記ストリーミングトランスフォーマーの第1番目の層の前記エンコーダー層は、前記ブロックを入力するとともに、当該ブロックよりも未来側のブロックに含まれるNahead個(Naheadは正整数)の音響特徴量を先読みして入力し、前記ストリーミングトランスフォーマーの第(l+1)番目の層の前記エンコーダー層は、前記自己条件付きCTC処理部から渡される認識対象である当該ブロックの信号を入力するとともに、当該ブロックよりも未来側のブロックに基づいて前記自己条件付きCTC処理部から渡される信号を先読みして入力するというものである。
【0018】
[4]また、本発明の一態様は、上記[1]から[3]までのいずれかの音声認識装置において、前記自己条件付きCTC処理部は、前記ストリーミングトランスフォーマーの第l番目(1≦l≦L-1)の層の前記エンコーダー層からの中間層信号(h out)のレイヤー正規化の処理を行うレイヤー正規化層と、前記レイヤー正規化層からの出力を線形変換してソフトマックス処理することにより前記確率分布情報を出力するソフトマックス層と、前記レイヤー正規化層からの出力(z norm)と前記ソフトマックス層からの出力(z)とを混合して、前記ストリーミングトランスフォーマーの第(l+1)番目の層の前記エンコーダー層への入力信号(hl+1 in)を出力する混合部と、を備えるものである。
【0019】
[5]また、本発明の一態様は、上記[1]から[3]までのいずれかの音声認識装置において、前記自己条件付きCTC処理部は、前記ストリーミングトランスフォーマーの第l番目(1≦l≦L-1)の層の前記エンコーダー層からの中間層信号(h out)のレイヤー正規化の処理を行うレイヤー正規化層と、前記レイヤー正規化層からの出力を線形変換してソフトマックス処理することにより前記確率分布情報を出力するソフトマックス層と、前記ソフトマックス層からの出力(z)を入力して、リカレントニューラルネットワークによる処理の結果である信号(z rnn)を出力するリカレントニューラルネットワーク層と、前記レイヤー正規化層からの出力(z norm)と前記リカレントニューラルネットワーク層からの出力(z rnn)とを混合して、前記ストリーミングトランスフォーマーの第(l+1)番目の層の前記エンコーダー層への入力信号(hl+1 in)を出力する混合部と、を備え、前記リカレントニューラルネットワーク層は、前記リカレントニューラルネットワーク層による前のブロックの信号の処理の結果として得られる潜在ベクトルにも基づいてリカレントニューラルネットワークによる処理を行うとともに、処理対象のブロックの信号の処理の結果として得られる潜在ベクトルを次のブロックの処理のために記憶する、というものである。
【0020】
[6]また、本発明の一態様は、上記[5]の音声認識装置において、前記混合部は、前記レイヤー正規化層からの出力(z norm)と前記リカレントニューラルネットワーク層からの出力(z rnn)とを連結して線形変換処理を行うことによって1次元の係数(α)を算出し、当該係数(α)を重みとして作用させることによって前記レイヤー正規化層からの出力(z norm)と前記リカレントニューラルネットワーク層からの出力(z rnn)とを混合して、前記ストリーミングトランスフォーマーの第(l+1)番目の層の前記エンコーダー層への入力信号(hl+1 in)を出力する、というものである。
【0021】
[7]また、本発明の一態様は、層構成のL個(Lは2以上の整数)のエンコーダー層を持ち、認識対象の音響特徴量の系列を入力し、且つ、前記認識対象の音響特徴量の系列よりも過去の音響特徴量に関する情報であるコンテキストエンベディングを入力し、前記認識対象の音響特徴量の系列に対応する認識結果を出力するストリーミングトランスフォーマーと、前記ストリーミングトランスフォーマーの第l番目(1≦l≦L-1)の層の前記エンコーダー層からの中間層信号(h out)を基に、認識結果を構成する記号についての確率分布情報を表す信号を生成し、前記中間層信号と前記記号についての確率分布情報を表す信号とを混合することによって前記ストリーミングトランスフォーマーの第(l+1)番目の層の前記エンコーダー層への入力信号(hl+1 in)として供給する自己条件付きCTC処理部と、を備える音声認識装置、としてコンピューターを機能させるプログラムである。
【発明の効果】
【0022】
本発明によれば、自己条件付きCTCの処理により、ネットワークの中間層においても音声認識を行い、中間層から出力する文字(記号)に関する確率分布情報を音声認識モデルのネットワークに再度フィードバックする。これにより、音声認識装置は、文脈を考慮しながら認識結果を出力する。つまり、認識制度の向上が期待できる。
【図面の簡単な説明】
【0023】
図1】本発明の第1実施形態による音声認識装置の概略機能構成を示すブロック図である。
図2】第1実施形態による音声認識装置のブロックごとの処理における、ブロックと音響特徴量との関係の例を示す概略図である。
図3】第2実施形態による音声認識装置の概略機能構成を示すブロック図である。
図4】第3実施形態による音声認識装置の概略機能構成を示すブロック図である。
図5】第3実施形態による音声認識装置が持つマージ層の内部の機能構成を示すブロック図である。
図6】第1実施形態から第3実施形態まで(変形例を含む)の音声認識装置の内部構成(コンピューター)の一例を示すブロック図である。
【発明を実施するための形態】
【0024】
次に、本発明の複数の実施形態について、図面を参照しながら説明する。これらの実施形態は、従来技術として説明したStreaming transformerによる音声認識装置を大幅に改良したものである。
【0025】
これらの実施形態では、前述の課題を解決するために、Streaming transformerが持つソースターゲットアテンション機構を用いず、入力した音響特徴ごとに認識結果を出力する方法を採用する。音響特徴ごとに認識結果を出力する方式の一つは、CTC(Connectionist Temporal Classification,コネクショニスト時系列分類)の技術である。CTCでは、音響特徴量の系列長と正解文字や正解単語の系列長との差を埋めるため、正解の文字や単語を連続させるとともにブランク記号を導入する。CTCでは、これにより、音響特徴量と正解文字や正解単語とを1対1に対応させて学習する。認識の処理を行う際は、連続して出力された文字や単語をまとめて1つに変換するとともに、ブランク記号を削除することによって、最終的な音声認識結果を出力する。
【0026】
つまり、以下のそれぞれの実施形態では、CTCをベースとした音声認識モデルをリアルタイムで動作させることによって、音響特徴と認識結果とを1対1に対応させる。これによって、Streaming transformerが持つソースターゲットアテンションの機構にみられる、過去の情報を誤って参照するという誤認識を起こさせないようにする。
【0027】
しかしながら、CTCの技術による音声認識モデルは、Streaming transformerのように言語情報を活用しながら認識結果を出力するという機構を有していない。よって単純にCTCの技術を適用するだけでは高い認識精度を得られない可能性がある。そこで、以下のそれぞれの実施形態では、Self conditioning CTC(自己条件付きCTC)を導入する。Self conditioning CTCは、モデルの中間層で認識結果を一旦出力し、その認識結果の情報を言語情報として再度モデルに入力することによって認識精度の向上を図る手法である。
【0028】
以下のそれぞれの実施形態(第1実施形態から第3実施形態まで)では、このself conditioning CTCをリアルタイムで動作させる。また、過去に認識した音声区間の音響情報を引き継ぎつつ音声認識するために、Streaming transformerで提案されたcontext embeddingの手法も活用する。
【0029】
また、第2実施形態および第3実施形態の音声認識装置は、RNN層(RNNは、Recurrent Neural Network(再帰型ニューラルネットワーク)の略)を備え、RNN処理を行う。このRNN層は、Self conditioning CTCの手法によって出力された中間層(レイヤー正規化層)の文字に関する確率分布ベクトルに基づく処理を行う。これにより、第2実施形態および第3実施形態の音声認識装置は、より長期な文脈を引き継ぎながら認識処理を行うことができる。
【0030】
また、第3実施形態の音声認識装置は、マージ層を備える。マージ層は、RNN層から出力されたベクトルと中間層(レイヤー正規化層)からの出力であるベクトルとを結合し、線形変換することにより1次元のスカラー値(α)を生成する。マージ層は、このスカラー値(α)を重みとして用いることにより、RNN処理したベクトルの情報を音声認識モデルが使用するかどうかを都度判断する作用を有する。
【0031】
第2実施形態および第3実施形態の音声認識装置のそれぞれは、上記のような手法を用いることにより、self conditioning CTCの手法において、長期文脈の情報を引き継ぎつつ音声認識を行うことを可能にする。
【0032】
ここで、本発明の各実施形態で用いる技術要素について説明する。
【0033】
[技術要素1]CTC(コネクショニスト時系列分類)
CTC音声認識モデルは、音声と文字列との間に発音記号等を介さずに、音声と文字列との関係を直接学習させるエンドトゥエンド(End-to-end)音声認識モデルの手法の1つである。CTC音声認識では、出力記号列に空白文字列<blank>を挿入し、同一の記号が連続して出力されるのを許すことで、音響特徴量フレームと出力記号列を対応させている。CTC音声認識モデルは、音響特徴量1フレームごとに1記号を出力する。CTC音声認識モデルでは、音響特徴量のフレーム長と出力記号間の系列長の差を、ブランク記号<blank>と、出力文字を連続させることで吸収して学習する。
【0034】
例えば、4フレームの音響特徴量に対する出力記号列「天気」のアライメントは、以下の17通りである。ただし、空白文字列<blank>を「_」(アンダーバー)に置き換えて表記している。
1:_ _ 天 気
2:_ 天 _ 気
3:_ 天 気 _
4:天_ _ 気
5:_ 天 気 _
6:天 気 _ _
7:_ 天 天 気
8:天 _ 天 気
9:天 天 _ 気
10:天 天 気 _
11:_ 天 気 気
12:天 _ 気 気
13:天 気 _ 気
14:天 気 気 _
15:天 気 気 気
16:天 天 気 気
17:天 天 天 気
【0035】
CTC音声認識モデルによる推論時には、CTC音声認識モデルが出力する記号列の中で連続する同一の文字を1文字に圧縮するとともに、ブランク記号を消去することによって、認識結果を得ることができる。ただし、正解である認識文字列の中に同一の文字の連続を含む場合には、それら同一の文字の間に必ずブランク記号が挿入されなければならない。一例として、正解の認識文字列が「いい天気」である場合、この文字列内には同一の文字「い」の連続を含む。この場合には、「い」と「い」との間に必ずブランク記号が挿入されなければならない。
【0036】
CTC音声認識モデルの学習については、次のとおりである。CTC音声認識におけるニューラルネットワークの最終層から算出される出力ベクトルh(太字)において、出力記号列との対応、すなわちアライメントa(太字)の確率を計算する。ここで、h(太字)は式(1)で表され、a(太字)は式(2)で表される。
【0037】
【数1】
【0038】
【数2】
【0039】
ただし、Tは出力ベクトルh(太字)の次元数である。また、Vは出力記号に含まれ得る記号の集合である。出力ベクトルh(太字)におけるアライメントa(太字)の確率は、下の式(3)で計算される。
【0040】
【数3】
【0041】
出力記号y(太字)の、あり得るすべてのアラインメントにおける確率の総和は、下の式(4)で与えられる。
【0042】
【数4】
【0043】
ただし、ここでβ-1(y(太字))は、出力記号y(太字)とh(太字)との、すべてのとり得るアラインメントの集合である。CTC損失Lは、対数を用いて下の式(5)で計算される。
【0044】
【数5】
【0045】
この損失Lを最小化するようにニューラルネットワークのパラメーターを更新(調整)することによって、CTC音声認識モデルの学習が行われる。
【0046】
[技術要素2]Self conditioning CTC(自己条件付きCTC)
Self conditioning CTCは、元は、リアルタイムの音声認識ではなく発話単位での音声認識を行う手法として提案されたものである。Self conditioning CTCは、上で説明したCTC音声認識モデルの音声認識精度を向上させる手法として提案されたものである。Self conditioning CTCにおいては、中間層にもCTC損失関数を設定し、最終層でのCTC損失と中間層でのCTC損失との重み付け和に基づいてモデルを学習する。
【0047】
なお、中間層で計算された出力記号に関する確率ベクトルは、線形変換処理後にモデルの中間層に加算される。つまり、次のとおりである。任意のl(エル)番目のエンコーダーの層の出力ベクトルをh out(太字)とする。レイヤー正規化(layer normalization)処理をLayerNorm(・)、線形変換処理をLinear(・)、ソフトマックス処理をSoftmax(・)でそれぞれ表現すると、(l+1)番目のエンコーダー層への入力hl+1 in(太字)は、下の式(6)、式(7)、および式(8)で計算される。
【0048】
【数6】
【0049】
【数7】
【0050】
【数8】
【0051】
つまり、Self conditioning CTCは、中間層で出力する文字に関する情報z(太字)も利用しながら、最終層で出力される認識結果の精度を向上させる。
【0052】
[技術要素3]Streaming transformer(ストリーミングトランスフォーマー)のエンコーダー
Streaming transformerのモデルは、エンコーダー(Encoder)とデコーダー(Decoder)とで構成される。エンコーダーにはブロック単位での音響特徴量が入力される。Streaming transformerは、トランスフォーマー(transformer)の構造を用いてリアルタイムに音声認識を行う。b番目のブロックの音響特徴量x(b)(太字)は、下の式(9)で表される。ただし、Lblockはブロックサイズであり、Lhopはブロック処理開始の間隔である。
【0053】
【数9】
【0054】
また、Streaming transformerのモデルには、上記の音響特徴量に加えて、コンテキストエンベディング(context embedding)も一緒に入力される。コンテキストエンベディングは、上記の音響特徴量x(b)(太字)を平均することによって、または音響特徴量x(b)(太字)をマックスプーリング(max pooling)することによって、またはPositional encodingを利用することによって得られる。音声認識モデルの最初の層(第1番目の層)に入力されるコンテキストエンベディングc (b)(太字)は、下の式(10)で表される。なお、Average(・)は平均値を計算する操作であり、Maxpool(・)はマックスプーリング操作である。また、PE(b-1,j)はポジショナルエンコーディングであり、jはベクトルの要素についてのインデックスである。dmodelは、コンテキストエンベディングの次元数である。
【0055】
【数10】
【0056】
なお、ポジショナルエンコーディングとAverage(x(b)(太字))とを加算してもよく、または、ポジショナルエンコーディングとMaxpool(x(b)(太字))とを加算してもよい。以後において、PE(b,j)の要素で構成されるベクトルを、PE(b)(太字)と表記するものとする。
【0057】
つまり、Streaming transformerのモデルは、過去のブロックに含まれる音響特徴量の情報を、コンテキストエンベディングとして、セルフアテンションにより引き継いでいく。
【0058】
音声認識モデルの最初の層(第1番目の層)におけるb番目のブロックのセルフアテンション層のクエリー(query)、キー(key)、およびバリュー(value)を、それぞれ、Q (b)(太字)、K (b)(太字)、およびV (b)(太字)とする。Streaming transformerでは、これらのクエリー、キー、およびバリューにコンテキストエンベディングを結合して、新たなクエリー、キー、およびバリューとし、セルフアテンションにより、処理を行う。最初の層(第1番目の層)における新たなクエリー、キー、およびバリューは、下の式(11)のように表される。
【0059】
【数11】
【0060】
第l(エル)番目のエンコーダー層のb番目のブロックのセルフアテンション層のクエリー、キー、およびバリューを、それぞれ、Q (b)(太字)、K (b)(太字)、およびV (b)(太字)とする。第2番目以降の層においては、前(過去)のブロックからの情報(コンテキスト情報)を引き継ぐため、クエリー、キー、およびバリューは、下の式(12)および式(13)で表されるとおりである。
【0061】
【数12】
【0062】
【数13】
【0063】
上記のように過去のブロックにおける音響特徴量の情報を、コンテキストエンベディングとして、セルフアテンションにより引き継いでいく。
【0064】
[第1実施形態]
図1は、第1実施形態による音声認識装置の概略機能構成を示すブロック図である。図示するように、音声認識装置1は、入力側から順に、エンコーダー層101およびエンコーダー層102と、レイヤー正規化層111と、ソフトマックス層112と、加算部114と、エンコーダー層121と、を含んで構成される。音声認識装置1の構成において、エンコーダー層101およびエンコーダー層102と、レイヤー正規化層111と、エンコーダー層121とは、ニューラルネットワークを用いて実現される。つまり、エンコーダー層101およびエンコーダー層102と、レイヤー正規化層111と、エンコーダー層121とは、内部にパラメーターを持ち、それらのパラメーターは更新可能である。つまり、音声認識装置1は、学習データを用いて機械学習(パラメーター値の最適化)を行うことができる。
【0065】
音声認識装置1を構成する各機能部の少なくとも一部は、例えば、コンピューターと、プログラムとで実現することが可能である。また、各機能部は、必要に応じて、記憶手段を有する。記憶手段は、例えば、プログラム上の変数や、プログラムの実行によりアロケーションされるメモリーである。また、必要に応じて、磁気ハードディスク装置やソリッドステートドライブ(SSD)といった不揮発性の記憶手段を用いるようにしてもよい。また、各機能部の少なくとも一部の機能を、プログラムではなく専用の電子回路として実現してもよい。
【0066】
音声認識装置1に入力される情報は、音響特徴量の系列(時系列)である。図1において、符号201が音響特徴量である。音響特徴量として用いられ得るのは、例えば、ログメルスペクトログラム等である。音響特徴量は、多次元の数値ベクトルとして表現される。また、音声認識装置1には、コンテキストエンベディング202(コンテキスト情報)も入力される。コンテキストエンベディング202は、過去の音響特徴量に基づいて算出される情報である。なお、音声認識装置1が認識対象とする音声(例えば音声波形を表すサンプリングデータ)から音響特徴量を算出する方法自体としては、既存技術を用いることができる。
【0067】
図示する例では、音声認識装置1が持つネットワークの最下層であるエンコーダー層101には、N個の音響特徴量(ベクトル)と、Nahead個の先読み(look-ahead)対象の音響特徴量と、コンテキストエンベディング202とが入力される。なお、NおよびNaheadは、それぞれ、正の整数である。一例として、N=64、Nahead=16などとしてよい。ただし、NおよびNaheadの値は、ここに例示した値に限定されるものではない。なお、音響特徴量の時系列の並びとして、図1においては、左側が相対的に過去の音響特徴量であり、右側が相対的に未来の音響特徴量である。
【0068】
図1に示す構成のうち、エンコーダー層101、102、および121は、ストリーミングトランスフォーマーを構成する。なお、一般化すると、ストリーミングトランスフォーマーを構成するエンコーダー層の個数(層の数)は、L個である。ただし、Lは、2以上の整数である。個々のエンコーダー層は、ニューラルネットワークを用いて構成され、それらの内部パラメーターは、学習データを用いた機械学習によって最適化され得る。図1に示す構成においては、L=3である。
【0069】
つまり、ストリーミングトランスフォーマーは、層構成のL個(Lは2以上の整数)のエンコーダー層を持ち、認識対象の音響特徴量の系列を入力し、且つ、前記認識対象の音響特徴量の系列よりも過去の音響特徴量に関する情報であるコンテキストエンベディングを入力し、前記認識対象の音響特徴量の系列に対応する認識結果を出力する。
【0070】
また、図1に示す構成のうち、レイヤー正規化層111と、ソフトマックス層112と、加算部114とは、自己条件付きCTC処理(Self conditioning CTC)部を構成する。自己条件付きCTC処理部は、前記ストリーミングトランスフォーマーの第l番目(1≦l≦L-1)の層の前記エンコーダー層からの中間層信号(h out)を基に、認識結果を構成する記号についての確率分布情報を表す信号を生成し、前記中間層信号と前記記号についての確率分布情報を表す信号とを混合することによって前記ストリーミングトランスフォーマーの第(l+1)番目の層の前記エンコーダー層への入力信号(hl+1 in)として供給する。なお、図1に示す構成の例においては、L=3であり、l=2である。ただし、一般には、Lやlの値はこれらに限定されるものではない。レイヤー正規化層111と、ソフトマックス層112と、加算部114とは、ニューラルネットワークを用いて構成され、それらの内部パラメーターは、学習データを用いた機械学習によって最適化され得る。
【0071】
なお、第l(エル)番目(l=1,2,・・・,L-1)の層のエンコーダー層のうち、自己条件CTC処理部に対して信号を渡すエンコーダー層(図1に示す例においては、エンコーダー層102)以外のエンコーダー層は、出力する信号を、次の層のエンコーダー層に直接渡す。
【0072】
エンコーダー層101、エンコーダー層102、およびエンコーダー層121は、それぞれ、第1番目、第2番目、および第3番目のエンコーダー層である。個々のエンコーダー層自体は、前述のStreaming transformerの場合と同様の構成により実現される。エンコーダー層101から出力される信号h outは、エンコーダー層102に入力される信号h inである。エンコーダー層102から出力される信号h outは、自己条件付きCTC処理部に入力される。自己条件付きCTC処理部から出力される信号h inは、エンコーダー層121に入力される。
【0073】
レイヤー正規化層111は、ストリーミングトランスフォーマーの第l(エル)番目(1≦l≦L-1)の層のエンコーダー層から出力される中間層信号(h out)のレイヤー正規化の処理を行う。図1に示す構成の例では、レイヤー正規化層111は、エンコーダー層102から出力される中間層信号(h out)のレイヤー正規化の処理を行う。レイヤー正規化層111は、信号z normを出力する。
【0074】
ソフトマックス層112は、レイヤー正規化層111からの出力信号z normを線形変換して、linear(z norm)を求め、さらにソフトマックス処理することにより確率分布情報を出力する。ソフトマックス層112が出力する信号は、zである。
【0075】
加算部114は、「混合部」とも呼ばれる。加算部114は、レイヤー正規化層111からの出力(z norm)とソフトマックス層112からの出力(z)とを混合して、ストリーミングトランスフォーマーの第(l+1)番目の層のエンコーダー層への入力信号(hl+1 in)を出力する。図1に示す構成例では、エンコーダー層102が、第(l+1)番目の層のエンコーダー層である。
【0076】
つまり、加算部114は、認識結果を構成する記号についての確率分布情報を表す信号と、中間層信号と、を混合する。具体的には、加算部114は、式(8)に示したように、上記の確率分布情報を表す信号と中間層信号とを、加算することによって混合する。
【0077】
図1に示したように、音声認識装置1は、Streaming transformerのエンコーダーのモデル構造を基本としながら、音響特徴量とコンテキストエンベディングとをブロックごとに取り込んで処理する。音声認識装置1は、過去のブロックにおける音響特徴量の情報を、コンテキストエンベディングとして、セルフアテンションにより引き継いでいく。
【0078】
ただし、音声認識装置1の特徴(Streaming transformerとの相違点)は、Streaming transformerの中間層において式(6)、式(7)、および式(8)で示したSelf conditioning CTCの手法による計算を行う点である。
【0079】
なお、音声認識装置1は、機械学習によって内部パラメーターの値を最適化することができるように構成される。学習データは、学習用音響特徴量の系列と当該学習用音響特徴量の系列に対応する正解テキストとの対の集合である。音声認識装置1は、学習データを用いることにより、学習データの前記学習用音響特徴量の系列を前記ストリーミングトランスフォーマーに入力して、前記ストリーミングトランスフォーマーから出力される認識結果と前記学習データが持つ正解テキストとの損失を算出する。音声認識装置1は、この算出に基づいて、前記ストリーミングトランスフォーマーが持つ内部パラメーターの値と、前記自己条件付きCTC処理部が持つ内部パラメーターの値との最適化処理を可能とするように構成されている。
【0080】
モデルの学習の際に用いる損失(Self conditioning CTC損失関数)としては、最終層におけるCTC損失と中間層におけるCTC損失との重み付け和を用いてよい。
【0081】
音声認識装置1による最終的な音声認識結果は、最終層(エンコーダー層121)からの出力によって得られる。音声認識装置1は、Self conditioning CTCの手法を用いることによって、通常のCTCでは考慮できない文字に関する情報もふまえながら音声認識処理を行う。
【0082】
なお、(l+1)番目以降のコンテキストエンベディングcl+1 (b)(太字)は、(l+1)番目の層への入力であるhl+1 in(太字)を用いて、下の式(14)によって再度算出することとする。Average(・)は、ブロック内の平均値を算出する処理である。
【0083】
【数14】
【0084】
この式(14)に示すように、音声認識装置1においては、中間層の文字に関する確率の情報もコンテキスト情報として次のブロックに引き継ぐ。
【0085】
[先読み(look ahead)について]
本実施形態の音声認識装置1は、先読みを行う。つまり、音声認識装置1は、認識対象である音響特徴量よりも先(後)の時刻の音響特徴量も参照しながら、音声認識の処理を行う。一例として、1つのブロックあたりの音響特徴量の数が64である場合、音声認識装置1は、先頭16個(即ち、当該64個の音響特徴量よりも時間的に後続する16個)の音響特徴量に対する認識結果を出力せず、他の音響特徴量のアテンションの計算等に使用するのみである。この先(後)の時刻における16個の音響特徴量は、次のブロックで認識結果を出力する対象となる。このように認識しようとしている音響特徴量よりも先(後)の時刻の音響特徴量を使用する方法を先読み(look ahead)と呼ぶ。上述の例で言えば、先読み(look ahead)する音響特徴量の数は16である。Streaming transformerも先読み(look ahead)の仕組みを利用することができる。本実施形態においても先読み(look ahead)の方法を利用する。図1では、1つのブロックあたりの音響特徴量の数をNと表し、先読み(look ahead)する音響特徴量の数をNaheadと表している。
【0086】
本実施形態の特徴として、self conditioning CTCを適用した後の第(l+1)番目の層以降でも先読み(look ahead)を用いている。Self conditioning CTCは、中間層での文字に関する認識確率をモデルの中間層に加算する。しかしながら、先読み(look ahead)の対象である箇所の音響特徴量に対する認識確率は、次のブロックの処理を行ってからでなければ得ることができない。つまり、本実施形態において、self conditioning CTCを適用した後の第(l+1)番目の層以降でも先読み(look ahead)を行うために、1ブロック分の遅延が発生する。一方で、self conditioning CTCを適用した後の第(l+1)番目の層以降でも先読み(look ahead)を行うという本実施形態の機構による利点は、未来の認識確率を考慮しながら音声認識を行える点である。この仕組みによって、現在のブロックの中間層での認識確率のみならず、未来のブロックでの中間層の認識確率も考慮しながら、最終層で精度の良い音声認識結果を出力することが期待できる。
【0087】
つまり、本実施形態において、認識対象の音響特徴量の系列は、N個(Nは正整数)の音響特徴量を含むブロックである。ストリーミングトランスフォーマーの第1番目の層のエンコーダー層は、認識対象のブロックの音響特徴量を入力するとともに、当該ブロックよりも未来側のブロックに含まれるNahead個(Naheadは正整数)の音響特徴量を先読みして入力する。また、ストリーミングトランスフォーマーの第(l+1)番目の層のエンコーダー層(図1においては、エンコーダー層121)は、前記自己条件付きCTC処理部から渡される認識対象である当該ブロックの信号を入力するとともに、当該ブロックよりも未来側のブロックに基づいて前記自己条件付きCTC処理部から渡される信号を先読みして入力する。
【0088】
図2は、音声認識装置1のブロックごとの処理における、ブロックと音響特徴量との関係の例を示す概略図である。音響特徴量には、過去側から未来側に向かって順に番号が1,2,3,・・・と付与されている。また、ブロックにも、過去側から未来側に向かって順に番号が1,2,3,・・・と付与されている。図示する例では、音声認識処理対象のブロックに含まれる音響特徴量の数(N)を64とし、先読み(look ahead)対象の音響特徴量の数(Nahead)を16とし、ブロック処理開始の間隔(Lhop)を16としている。ただし、N、Nahead、およびLhopのそれぞれは、任意の正整数であってよい。
【0089】
図示するように、本例では、番号1のブロック(第1番目のブロック)では、音声認識対象の音響特徴量の番号は1から64までであり、先読み(look ahead)対象の音響特徴量の番号は65から80までである。番号2のブロック(第2番目のブロック)では、音声認識対象の音響特徴量の番号は17から80までであり、先読み(look ahead)対象の音響特徴量の番号は81から96までであり、コンテキストエンベディングは番号1から64までの音響特徴量を基に生成される。番号3のブロック(第3番目のブロック)では、音声認識対象の音響特徴量の番号は33から96までであり、先読み(look ahead)対象の音響特徴量の番号は97から112までであり、コンテキストエンベディングは番号17から80までの音響特徴量を基に生成される。番号4以後のブロックについても同様である。
【0090】
一般化すると、番号b(bは正整数)のブロック(第b番目のブロック)においては、音声認識対象の音響特徴量の番号は、(b-1)Lhop+1から、(b-1)Lhop+Nまでである。また、先読み(look ahead)対象の音響特徴量の番号は、(b-1)Lhop+N+1から、(b-1)Lhop+N+Naheadまでである。また、b≧2のとき、コンテキストエンベディングを生成する基となる音響特徴量の番号は、(b-2)Lhop+1から、(b-2)Lhop+Nまでである。
【0091】
以上説明したように、第1実施形態によれば、エンコーダー層の中間層の信号を基に、自己条件付きCTC処理部が、認識結果を構成する記号についての確率分布情報を表す信号を生成し、その確率分布情報を音声認識モデルのネットワークに再度フィードバックする。これにより、第1実施形態の音声認識装置の認識誤りを軽減することができる。
【0092】
[第2実施形態]
次に、本発明の第2実施形態について説明する。なお、前実施形態において既に説明した事項については以下において説明を省略する場合がある。ここでは、本実施形態に特有の事項を中心に説明する。
【0093】
第2実施形態では、RNNを導入することにより、第1実施形態で説明した手法の認識精度をさらに向上させる。つまり、第2実施形態では、中間層からの出力(文字に関する出力確率)z(太字)に対してRNNを適用することによって、時系列の情報を組み込んで処理する。
【0094】
図3は、第2実施形態による音声認識装置の概略機能構成を示すブロック図である。図示するように、音声認識装置2は、入力側から順に、エンコーダー層101およびエンコーダー層102と、レイヤー正規化層111と、ソフトマックス層112と、RNN層113と、加算部114と、エンコーダー層121と、を含んで構成される。なお、RNN層113は、RNN(Recurrent Neural Network,再帰型ニューラルネットワーク)を用いて構成される。
【0095】
音声認識装置2の構成において、エンコーダー層101およびエンコーダー層102と、レイヤー正規化層111と、RNN層113と、エンコーダー層121とは、ニューラルネットワークを用いて実現される。つまり、エンコーダー層101およびエンコーダー層102と、レイヤー正規化層111と、RNN層113と、エンコーダー層121とは、内部にパラメーターを持ち、それらのパラメーターは更新可能である。
【0096】
本実施形態による音声認識装置2の特徴は、自己条件付きCTC処理部がRNN層113を含んで構成されることである。
【0097】
RNN層113は、「リカレントニューラルネットワーク層」とも呼ばれる。RNN層113は、ソフトマックス層112からの出力(z)を取得して、リカレントニューラルネットワークによる処理の結果である信号(z rnn)を出力する。また、RNN層113は、過去の(1つ前の)ブロックの信号の処理の結果として得られる潜在ベクトルにも基づいて、リカレントニューラルネットワークによる処理を行う。RNN層113は、当該ブロックの信号の処理の結果として得られる潜在ベクトルを記憶し、次の部六の信号の処理において使用する。図3において、RNN層113に入力され、またRNN層113から出力される「M」は、この潜在ベクトルを一時的に記憶することを表している。つまり、RNN層113は、潜在ベクトルとして、過去側から未来側に情報を引き継ぐ。
【0098】
なお、RNN層113は、例えばLong Short-Term Memory(LSTM)等のRNNを使用して実現され得る。
【0099】
音声認識装置2が持つその他の機能は、第1実施形態における音声認識装置1の機能と同様のもの、あるいはそれに準じるものである。つまり、エンコーダー層101と、エンコーダー層102と、レイヤー正規化層111と、ソフトマックス層112と、加算部114と、エンコーダー層121とは、第1実施形態と同様の機能を持つ。ただし、本実施形態の音声認識装置2においては、ソフトマックス層112からの出力は、RNN層113に渡される。また、加算部114(混合部)は、レイヤー正規化層111からの出力である信号z normと、RNN層113からの出力である信号z rnnを線形変換した結果と、を加算することにより混合する。加算部114は、加算した結果の信号を、ストリーミングトランスフォーマーの第(l+1)番目の層の前記エンコーダー層(図3におけるエンコーダー層121)への入力信号(hl+1 in)として出力する。
【0100】
具体的に、レイヤー正規化層111から加算部114までの各層において行われる処理は、次の式(15)、式(16)、式(17)、および式(18)で表すとおりである。
【0101】
【数15】
【0102】
【数16】
【0103】
【数17】
【0104】
【数18】
【0105】
つまり、上の式(15)に表すように、レイヤー正規化層111は、第l(エル)番目の層のエンコーダー層102から出力される信号h out(太字)の正規化処理を行い、信号z norm(太字)を出力する。また、上の式(16)に表すように、ソフトマックス層112は、レイヤー正規化層111から出力される信号z norm(太字)の線形変換処理を行ったうえで、ソフトマックス関数による処理を行い、信号z(太字)を出力する。また、上の式(17)に表すように、RNN層113は、ソフトマックス層112から出力される信号z(太字)に基づき、RNNの処理を行い、信号z rnn(太字)を出力する。また、上の式(18)に表すように、加算部114は、レイヤー正規化層111から出力された信号z norm(太字)と、RNN層113から出力された信号z rnn(太字)に線形変換処理を行ったものと、を加算し、その結果を信号hl+1 in(太字)として出力する。この信号hl+1 in(太字)は、第(l+1)番目の層のエンコーダー層121に入力される。
【0106】
なお、前述のとおり、ブロックの切り替わり時においては、現ブロックの最後にRNN層113から出力される潜在ベクトルを、次のブロックの処理のための長期記憶としてRNN層113に入力する(図3における信号M)。つまり、RNN層113は、ブロック間をまたいで過去の情報を未来方向に伝搬させることを可能にしている。信号Mはブロックをまたがって記憶される。
【0107】
以上説明したように、第2実施形態によれば、第1実施形態における作用・効果に加えて、RNN層113は、過去のブロックの最後にRNN層113から出力された潜在ベクトルを、次のブロックのRNN層113での処理のために入力する。すなわち、ブロックをまたいで過去の情報を伝播させることを可能にする。
【0108】
[第3実施形態]
次に、本発明の第3実施形態について説明する。なお、前実施形態までにおいて既に説明した事項については以下において説明を省略する場合がある。ここでは、本実施形態に特有の事項を中心に説明する。
【0109】
第3実施形態の特徴は、第2実施形態の構成における加算部114の処理(上の式(18))の代わりに、加算の際の各項にモデルが生成する重み係数(スカラー)を作用させる点である。このような係数を用いることにより、式(18)の加算の際の第1項目と第2項目のそれぞれのどちらをどの程度重視するかをモデル自身が決定する。第3実施形態は、これにより認識精度の向上を図る。
【0110】
図4は、第3実施形態による音声認識装置の概略機能構成を示すブロック図である。図示するように、音声認識装置3は、入力側から順に、エンコーダー層101およびエンコーダー層102と、レイヤー正規化層111と、ソフトマックス層112と、RNN層113と、マージ層115と、エンコーダー層121と、を含んで構成される。マージ層115は、レイヤー正規化層111から出力される信号とRNN層113から出力される信号とを、所定の比率(α)に基づいてマージする。このαの値は、マージ層115の内部で算出される。
【0111】
マージ層115は、「混合部」とも呼ばれる。マージ層115は、レイヤー正規化層111からの出力(z norm)とRNN層113からの出力(z rnn)とを連結して線形変換処理を行うことによって1次元の係数(α)を算出し、当該係数(α)を重みとして作用させることによってレイヤー正規化層111からの出力(z norm)とRNN層113からの出力(z rnn)とを混合(重み付け加算)する。具体的には、後の式(24)のとおりである。マージ層115は、その混合の結果を、ストリーミングトランスフォーマーの第(l+1)番目の層(エンコーダー層121)への入力信号(hl+1 in)として出力する。マージ層115の内部の構成を、図5で説明する。
【0112】
図5は、本実施形態におけるマージ層115の内部の機能構成を示すブロック図である。図示するように、マージ層115は、入力側から、連結層151と、線形変換層152と、シグモイド関数計算部153と、重み付き加算部154とを含んで構成される。
【0113】
連結層151は、レイヤー正規化層111からの出力(z norm)とRNN層113からの出力(z rnn)とを連結する。連結層151が行う処理は、2つのベクトルそれぞれの要素の列の連結である。その結果として、連結層151は、1つのベクトルを出力する。
【0114】
線形変換層152は、連結層151から渡される1つのベクトルを基に、線形変換を行い、1次元の係数を求める。線形変換層152は、ニューラルネットワークを用いて構成される。このニューラルネットワークの各ノードにおけるパラメーター(重み)は、学習によって最適化され得る。
【0115】
シグモイド関数計算部153は、線形変換層152によって求められた1次元の係数にシグモイド関数を作用させる。これにより、シグモイド関数計算部153は、0.0以上且つ1.0以下の1次元の係数(α)を出力する。シグモイド関数計算部153は、係数αの値を重み付き加算部154に渡す。
【0116】
重み付き加算部154は、シグモイド関数計算部153から渡された値αを重み係数として、RNN層113からの出力(z rnn)を線形変換した信号と、レイヤー正規化層111からの出力(z norm)とを加算する。重み付き加算部154が行う具体的な計算の例は、後の式(24)のとおりである。
【0117】
本実施形態の具体的な処理は、次のとおりである。図4に示すレイヤー正規化層111は、第l(エル)番目の層のエンコーダー層102からの出力信号であるh out(太字)を基に、レイヤー正規化の処理を行い、z norm(太字)を出力する。レイヤー正規化層111は、この出力z norm(太字)を、ソフトマックス層112とマージ層115とに渡す。つまり、下の式(19)のとおりである。
【0118】
【数19】
【0119】
ソフトマックス層112は、レイヤー正規化層111から渡される信号z norm(太字)を基に、線形変換処理を行い、さらにその結果についてソフトマックス関数による処理を行う。この処理の結果として、ソフトマックス層112は、信号z(太字)を出力する。ソフトマックス層112は、この信号z(太字)を、RNN層113に渡す。つまり、下の式(20)のとおりである。
【0120】
【数20】
【0121】
RNN層113は、ソフトマックス層112から渡される信号z(太字)を基に、RNNの処理を行い、その結果である信号z rnn(太字)を出力する。RNN層113は、この信号z rnn(太字)をマージ層115に渡す。つまり、下の式(21)のとおりである。
【0122】
【数21】
【0123】
マージ層115の内部においては、次の処理を行う。即ち、図5に示す連結層151は、レイヤー正規化層111から渡される信号z norm(太字)のベクトルと、RNN層113から渡される信号z rnn(太字)のベクトルとを単に連結(concatenation)し、信号z concat(太字)を出力する。連結層151は、この信号z concat(太字)を線形変換層152に渡す。つまり、下の式(22)のとおりである。なお、Concat(・,・)は、引数であるベクトルを結合する関数である。
【0124】
【数22】
【0125】
線形変換層152は、連結層151から渡される信号z concat(太字)を入力し、線形変換の処理を行う。線形変換層152は、線形変換した結果である信号Liner(z concat(太字))をシグモイド関数計算部153に渡す。なお、Liner(z concat(太字))の次元数は1である。シグモイド関数計算部153は、上記のLiner(z concat(太字))の値を入力としてシグモイド関数の計算を行い、その結果である値αを算出する。つまり、線形変換層152およびシグモイド関数計算部153の処理は、下の式(23)のとおりである。なお、Sigmoid(・)は、シグモイド関数である。
【0126】
【数23】
【0127】
なお、シグモイド関数計算部153から出力されるαの値の下限は0.0であり、上限は1.0である。つまり、マージ層115の内部では、レイヤー正規化層111から渡される信号z norm(太字)のベクトルと、RNN層113から渡される信号z rnn(太字)のベクトルとに応じたαの値が算出される。なお、線形変換層152が持つ重み(線形返還の際の重み)のパラメーターの値は、学習によって最適に決定される。つまり、マージ層115の内部では、学習結果に基づいて適切なαの値が求められる。
【0128】
重み付き加算部154は、上記の値αを用いて、レイヤー正規化層111から渡される信号z norm(太字)のベクトルと、RNN層113から渡される信号z rnn(太字)のベクトルとを、所定の比率で重み付けして加算する。具体的には、重み付き加算部154は、下の式(24)による計算を行い、hl+1 in(太字)を算出する。
【0129】
【数24】
【0130】
つまり、上記の値αは、レイヤー正規化層111から渡される信号z norm(太字)のベクトルと、RNN層113から渡される信号z rnn(太字)のベクトルとのどちらをどの程度重視するかを決定するための要素である。
【0131】
重み付き加算部154は、算出された信号hl+1 in(太字)を出力する。このhl+1 in(太字)は、第(l+1)番目の層のエンコーダー層121への入力となる。
【0132】
なお、上の式(19)から式(23)までで表す処理においては、単体のベクトルを基に1次元の係数αを生成しているが、複数の時系列のベクトルから、1次元の係数αを生成するようにしてもよい。
【0133】
図6は、第1実施形態から第3実施形態まで(変形例を含む)の音声認識装置の内部構成の一例を示すブロック図である。音声認識装置1、2、および3等は、コンピューターを用いて実現され得る。図示するように、そのコンピューターは、中央処理装置901と、RAM902と、入出力ポート903と、入出力デバイス904や905等と、バス906と、を含んで構成される。コンピューター自体は、既存技術を用いて実現可能である。中央処理装置901は、RAM902等から読み込んだプログラムに含まれる命令を実行する。中央処理装置901は、各命令にしたがって、RAM902にデータを書き込んだり、RAM902からデータを読み出したり、算術演算や論理演算を行ったりする。RAM902は、データやプログラムを記憶する。RAM902に含まれる各要素は、アドレスを持ち、アドレスを用いてアクセスされ得るものである。なお、RAMは、「ランダムアクセスメモリー」の略である。入出力ポート903は、中央処理装置901が外部の入出力デバイス等とデータのやり取りを行うためのポートである。入出力デバイス904や905は、入出力ポート903を介して中央処理装置901との間でデータをやりとりする。バス906は、コンピューター内部で使用される共通の通信路である。例えば、中央処理装置901は、バス906を介してRAM902のデータを読んだり書いたりする。また、例えば、中央処理装置901は、バス906を介して入出力ポート903にアクセスする。
【0134】
なお、上述した各実施形態(変形例を含む)における音声認識装置の少なくとも一部の機能をコンピューターおよびプログラムで実現することができる。その場合、この機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピューターシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM、DVD-ROM、USBメモリー等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。つまり、「コンピューター読み取り可能な記録媒体」とは、非一過性の(non-transitory)コンピューター読み取り可能な記録媒体であってよい。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、一時的に、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリーのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【0135】
以上、複数の実施形態を説明したが、本発明はさらに次のような変形例でも実施することが可能である。なお、複数の実施形態および変形例を、組み合わせることが可能な限りにおいて、組み合わせて実施してもよい。
【0136】
[変形例1:エンコーダー層の層(レイヤー)数]
第1実施形態から第3実施形態までのそれぞれの音声認識装置では、エンコーダー層の層数を3としていた(エンコーダー層101、102、および121)。変形例として、任意の数(ただし、2以上)のレイヤーを有するエンコーダーを用いてもよい。
【0137】
[変形例2:第(l+1)番目の層以降における先読み(look ahead)の有無]
第1実施形態から第3実施形態までのそれぞれの音声認識装置では、第(l+1)番目以降の層においても先読み(look ahead)を用いていた。変形例として、第(l+1)番目以降の層においては先読み(look ahead)を用いないようにしてもよい。
【0138】
以上説明した第1実施形態から第3実施形態まで(変形例を含む)のいずれかの音声認識装置は、音響特徴量を複数個まとめたブロックをモデルに入力し、音響特徴量ごとにリアルタイムで認識結果を出力する。
【0139】
また、第1実施形態から第3実施形態まで(変形例を含む)のいずれかの音声認識装置は、コンテキストエンベディングにより、過去において音声認識処理を行ったブロックの情報を引き継ぎながら音声認識処理を行う。
【0140】
また、第1実施形態から第3実施形態まで(変形例を含む)のいずれかの音声認識装置は、self conditioning Connectionist Temporal Classification(自己条件付きCTC)の方法により、中間層においても音声認識を行い、中間層から出力する文字(記号)に関する確率分布ベクトル(確率分布情報)を音声認識モデルのネットワークに再度フィードバックする。これにより、音声認識装置は、文脈を考慮しながら認識結果を出力する。
【0141】
また、第2実施形態および第3実施形態の音声認識装置は、上記の文字(記号)に関する確率分布ベクトル(確率分布情報)をrecurrent neural network(RNN)に入力して処理する。
【0142】
また、第3実施形態の音声認識装置は、また、フィードバックされる上記の確率分布ベクトル(確率分布情報)とネットワークの中間層のベクトルとを連結し、線形変換層で処理して、スカラー値αを生成する。このスカラー値αをフィードバックする確率分布ベクトル(確率分布情報)に乗算することによって、確率分布ベクトルを優先させるか中間層のベクトルを優先させるかの取捨選択(あるいは重み付け)を音声認識モデル自身が行えるようにしている。
【0143】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【0144】
[実証実験1]
各実施形態の効果を検証するための実証実験を行った。実証実験1では、従来技術(Streaming transformer)において発生する、過去の発話を誤って繰り返し出力するという問題が、第1実施形態によりどのように改善されるかを評価した。第1実施形態の音声認識装置と、従来技術(Streaming transformer)とを比較した。学習の諸元は、以下のとおりである。
【0145】
第1実施形態の音声認識装置1を実現するモデルの諸元として、Conformer15層、アテンションヘッド8、線形変換層の次元数2048、出力次元数512とした。なお、Self conditioningを行うのは第12層目と第13層目との間とした。
【0146】
従来技術(Streaming transformer)の諸元として、エンコーダーは、Conformer12層、アテンションヘッド8、線形変換層の次元数2048、出力次元数512とした。デコーダーは、Transformer3層、アテンションヘッド8、線形変換層の次元数1024、出力次元数512とした。
【0147】
第1実施形態の音声認識装置と従来技術(Streaming transformer)とに共通の諸元は、次のとおりである。1ブロックの音響特徴量の数Nを64とし、先読み(look ahead)する音響特徴量の数Naheadを16とし、音響特徴量16個ずつブロックをずらしながらエンコードを行った(Lhop=16)。学習データとしては、日本放送協会(NHK)が過去に放送した番組4500時間の音声と、その音声に対応する字幕テキストとの対を用いた。評価データとしては、NHKが過去に放送した番組10時間の音声と、その人手による書き起こしテキストとを用いた。また、音響特徴量としては、ログメルフィルタバンク80次元を使用した。出力単語は、Word Piece 4500種であった。
【0148】
実証実験1の結果は、次のとおりである。第1実施形態および従来技術のそれぞれにおける文字誤り率(CER,単位はパーセント)は、下の表1のとおりであった。
【0149】
【表1】
【0150】
表1に示すように、第1実施形態の手法を用いた場合の文字誤り率は、従来技術(Streaming transformer)の文字誤り率よりも0.6ポイント改善された。
【0151】
具体的な認識結果の改善例は次のとおりである。ただし、括弧「」内が認識誤りである。
評価音声の発話: 県立コウノトリの郷公園三田市の県立人と自然の博物館
従来技術(Streaming transformer): 県立コウノ「とり」の「里」公園三田市の県立「コウノ」と自然の博物館
第1実施形態: 県立「こうのとり」の「里」公園三田市の県立人と自然の博物館
【0152】
従来技術と第1実施形態との両方において、平仮名とカタカナの表記の誤りや、郷と里のように同音異義語の誤りが見られる。従来技術(Streaming transformer)の認識結果では、発話された音声とは関係がない箇所で、「コウノ」という過去発話された出力を繰り返して出力するという誤認識が発生している。一方で、第1実施形態の方では、繰り返して出力するという誤りはみられなかった。また、上記発話のみならず、全体的にも(他の評価音声でも)、第1実施形態では繰り返して出力するという誤りはみられなかった。
【0153】
[実証実験2]
第1実施形態と比較して、第2実施形態および第3実施形態のそれぞれにおける認識精度がさらに向上するか否かを検証した。実証実験2では、Corpus of Spontaneous Japanese(CSJ)を、学習データおよび評価データとして用いた。
【0154】
モデルの諸元は次のとおりである。
第1実施形態の諸元は、上の実証実験1で説明したとおりである。
第2実施形態の諸元は、上の実証実験1で説明した第1実施形態のそれと同様である。ただし、第2実施形態で導入したRNNモジュールは、1024次元のユニットを有するLong short-term memory(LSTM)1層である。
第3実施形態の諸元は、上の第2実施形態のそれと同様である。ただし、第3実施形態における式(23)の線形変換(Linear)モジュールは2層で構成したものである。この2層のそれぞれの層において、2048次元から1024次元への射影、および1024次元から1次元への射影を行うようにしている。
【0155】
学習データは、CSJの520時間の音声とテキストとの対である。評価データは、CSJのeval1、eval2、およびeval3である。音響特徴量としては、ログメルフィルタバンク80次元を使用した。出力単語は、Word Piece 4500種であった。
【0156】
実証実験2の結果は、次のとおりである。第1実施形態、第2実施形態、および第3実施形態のそれぞれにおける文字誤り率(CER,単位はパーセント)は、下の表2のとおりであった。
【0157】
【表2】
【0158】
表2は、第1実施形態、第2実施形態、および第3実施形態のそれぞれについて、評価セットeval1、eval2、およびeval3のそれぞれでの文字誤り率(CER)を表す。この表に示すように、第2実施形態は、eval1、eval2、およびeval3のすべての評価セットにおいて、第1実施形態よりも良好な文字誤り率を記録した。一方で、第3実施形態の手法は、第1実施形態と比べて文字誤り率が改善しているものの、第2実施形態と比べたときには評価セットeval2およびeval3において文字誤り率が悪化している。
【0159】
第3実施形態においては、式(19)から式(23)までにおいて1次元の係数αを算出しているが、複数の時系列のベクトルを基に1次元の係数を生成するようにして認識精度を改善できる可能性がある。
【産業上の利用可能性】
【0160】
本発明は、例えば、音声を自動認識する目的等であらゆる産業において広く利用することができる。但し、本発明の利用範囲はここに例示したものには限られない。
【符号の説明】
【0161】
1,2,3 音声認識装置
101 エンコーダー層
102 エンコーダー層
111 レイヤー正規化層
112 ソフトマックス層
113 RNN層
114 加算部(混合部)
115 マージ層(混合部)
121 エンコーダー層
151 連結層
152 線形変換層
153 シグモイド関数計算部
154 重み付き加算部
201 音響特徴量
202 コンテキストエンベディング(コンテキスト情報)
901 中央処理装置
902 RAM
903 入出力ポート
904,905 入出力デバイス
906 バス
図1
図2
図3
図4
図5
図6