JP2023075883A - 音声認識装置およびプログラム - Google Patents

音声認識装置およびプログラム Download PDF

Info

Publication number
JP2023075883A
JP2023075883A JP2022017159A JP2022017159A JP2023075883A JP 2023075883 A JP2023075883 A JP 2023075883A JP 2022017159 A JP2022017159 A JP 2022017159A JP 2022017159 A JP2022017159 A JP 2022017159A JP 2023075883 A JP2023075883 A JP 2023075883A
Authority
JP
Japan
Prior art keywords
output
encoder
symbol string
unit
string
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.)
Pending
Application number
JP2022017159A
Other languages
English (en)
Inventor
裕明 佐藤
Hiroaki Sato
智康 小森
Tomoyasu Komori
剛 三島
Takeshi Mishima
吉彦 河合
Yoshihiko Kawai
貴裕 望月
Takahiro Mochizuki
庄衛 佐藤
Shoe Sato
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.)
Japan Broadcasting Corp
NHK Engineering System Inc
Original Assignee
Nippon Hoso Kyokai NHK
Japan Broadcasting Corp
NHK Engineering System Inc
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 Nippon Hoso Kyokai NHK, Japan Broadcasting Corp, NHK Engineering System Inc filed Critical Nippon Hoso Kyokai NHK
Publication of JP2023075883A publication Critical patent/JP2023075883A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Machine Translation (AREA)

Abstract

【課題】対象の話題(領域)のテキストのみを用いて音声認識モデルに学習させ、推論時に話題(領域)に適した記号列を出力させることのできる音声認識装置を提供する。【解決手段】エンコーダー部は、音響特徴量のフレームの列を入力し前記音響特徴量のフレームに対応する記号の列として成る出力記号列を出力するように、複数階層で成るモデルを有する。アダプター部は、目的とする領域に属する記号列を入力し、前記エンコーダー部の最終層のモデルに入力するための特徴量を出力する。前記エンコーダー部は、前記音響特徴量のフレーム列と前記出力記号列との関係に基づく機械学習をした後に、前記アダプター部が出力する前記特徴量を前記エンコーダー部の前記最終層のモデルに入力して前記最終層のモデルからの出力に基づく損失である第1損失を用いて前記最終層のモデルの前記目的とする領域への適応化を行うことを可能として構成される。【選択図】図1

Description

本発明は、音声認識装置およびプログラムに関する。
音声認識処理のために用いる手法の一つとして、CTC音声認識モデルがある。CTCは、「Connectionist Temporal Classification」(コネクショニスト時間分類)の略である。CTC音声認識モデルは、発音記号等を介さずに、音声と文字列との関係を直接学習するように構成したモデルである。つまり、CTC音声認識モデルは、end-to-end音声認識モデルの手法の一つである。CTC音声認識モデルは、出力記号列に空白文字列<blank>を挿入することと、出力記号列に同一の記号が連続して出現することを許す。これにより、CTC音声認識モデルは、特徴量フレームと出力記号列とを対応させる。
非特許文献1には、Intermediate Loss Regularization(中間損失正則化)の手法が記載されている。Intermediate Loss Regularizationは、CTC音声認識モデルの中間層にCTC損失関数を算出する手段を設け、複数の層のCTC損失関数の値を重み付けして加算することで学習する手法である。
非特許文献2には、Shallow Fusion(シャローフュージョン)の手法が記載されている。Shallow Fusionは、テキストデータのみで学習した言語モデルを音声認識に活用する手法の一つである。Shallow Fusionの手法では、推論時に音声認識モデルと言語モデルの推論確率を対数領域で線形補間することによって、認識結果を出力する。
Jaesong Lee, Shinji Watanabe, "Intermediate Loss Regularization for CTC-based Speech Recognition," In Proc. 2021 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), pp. 6224-6228, 2021年. Caglar Gulcehre, Orhan Firat, Kelvin Xu, Kyunghyun Cho, Loic Barrault, Huei-Chi Lin, Fethi Bougares, Holger Schwenk, Yoshua Bengio, "On Using Monolingual Corpora in Neural Machine Translation," in arXiv:1503.03535v2, 2015年.
例えば日本語では、「橋」(はし)と「端」(はし)のように、異なる記号列であるがその発音が同一または類似となる表現が存在する。CTC音声認識モデルは、出力記号(文字)間の確率が独立であると仮定するモデルである。言い換えれば、出力記号の確率は、隣接する他の記号または近傍の他の記号の確率に依存しない。このため、CTC音声認識モデルは、複数の出力記号列の候補が存在する発音に対して、学習結果として得られた発音と記号列との対応に従って、記号列を出力する。このようなCTC音声認識モデルに、学習時に使用したテキストの話題と異なる話題の音声を認識させると、学習時のテキストに基づいた記号列を出現してしまう傾向がある。例えば、CTC音声認識モデルは、認識対象の音声が天気の話題に関するものであって認識結果として「最低気温」と出力すべき箇所において、「最適音」と出力してしまうことが起こり得る。つまり、CTC音声認識モデルは、推論するテキストの話題に適さない記号列を出力し、認識誤りを引き起こすという問題がある。
目的とする話題の音声とテキスト(音声認識結果の正解)との対のデータが入手できれば、そのデータを用いて事前にCTC音声認識モデルの学習を行うこともできるが、そのような音声のデータが事前に入手できるとは限らない。また、そのようなデータの入手が可能であっても、音声に対するアノテーションの作業にはコストがかかる。つまり、従来技術におけるCTC音声認識モデルの出力記号列を所望の話題に適応させることは、不可能または困難である。
本発明は、上記の課題認識に基づいて行なわれたものであり、推論対象の話題(領域)について音声とテキストとの対のデータが入手できない場合であっても、テキストのみが入手できれば、そのテキストのデータのみを用いて音声認識モデルに学習させ、推論時に話題(領域)に適した記号列を出力させることのできる音声認識装置およびプログラムを提供しようとするものである。
[1]上記の課題を解決するため、本発明の一態様による音声認識装置は、音響特徴量のフレームの列を入力し前記音響特徴量のフレームに対応する記号の列として成る出力記号列を出力するように、複数階層で成るモデルを有し、前記複数階層のモデルのそれぞれが機械学習可能に構成されたエンコーダー部と、目的とする領域に属する記号列を入力し、前記エンコーダー部の最終層のモデルに入力するための特徴量を出力するアダプター部と、を備え、前記エンコーダー部の前記複数階層のモデルにおけるある階層のモデルから次の階層のモデルへは中間特徴量が渡されるものであり、前記エンコーダー部は、前記音響特徴量のフレーム列と前記出力記号列との関係に基づく機械学習をした後に、前記アダプター部が出力する前記特徴量を前記エンコーダー部の前記最終層のモデルに入力して前記最終層のモデルからの出力に基づく損失である第1損失を用いて前記最終層のモデルの前記目的とする領域への適応化を行うことを可能として構成された、ものである。
[2]また、本発明の一態様は、上記の音声認識装置において、前記目的とする領域に属するテキストを基に、前記テキスト内の文字の繰り返し、または前記テキスト内の文字と文字との間への0個以上のブランク記号の挿入、の少なくともいずれかを行うことによって、前記アダプター部に入力するための前記記号列を生成する擬似記号列生成部、をさらに備える。
[3]また、本発明の一態様は、上記の音声認識装置において、所定の統計データを基に得られた出力文字確率分布にしたがって、前記目的とする領域に属するテキストに含まれる文字を別の文字で置換する処理を行う置換処理部、をさらに備え、前記擬似記号列生成部は、前記置換処理部が出力する置換処理後の前記目的とする領域に属するテキストを基に、前記記号列を生成する、ものである。
[4]また、本発明の一態様は、上記の音声認識装置において、前記擬似記号列生成部は、前記テキスト内の文字を繰り返す際の同一文字の繰り返し回数を、前記音響特徴量のフレーム列と前記出力記号列との関係に基づいて学習済みの前記エンコーダー部における所定の階層の前記モデルから出力される特徴量に基づいて算出される記号列である中間記号列における同一文字の繰り返し回数に関する統計に基づいて決定し、前記テキスト内の文字と文字との間に挿入するブランク記号の連続する個数を、前記中間記号列における前記ブランク記号の連続する個数に関する統計に基づいて決定する、ものである。
[5]また、本発明の一態様は、上記の音声認識装置において、前記アダプター部を学習するために前記アダプター部への入力となる記号列を、前記音響特徴量に基づいて前記エンコーダー部の所定の層のモデルから出力された前記中間特徴量に基づいて生成する記号列生成部と、前記記号列生成部によって生成された前記記号列に基づいて前記アダプター部が出力する特徴量についての損失である第2損失を算出するアダプター部用損失計算部と、をさらに備え、前記アダプター部用損失計算部が算出した前記第2損失を用いて前記アダプター部の機械学習を行えるように構成した、ものである。
[6]また、本発明の一態様は、上記の音声認識装置において、前記アダプター部用損失計算部は、前記アダプター部から出力される特徴量を前提としたときの正解の出力記号列の尤度に基づく損失と、前記アダプター部から出力される特徴量と前記エンコーダー部において対応する階層のモデルからの出力である特徴量との差を表す損失と、に基づく前記第2損失を算出する、ものである。
[7]また、本発明の一態様は、上記の音声認識装置において、前記出力記号列の中で繰り返されている文字を集約するとともに、前記出力記号列に含まれる前記ブランク記号を削除することによって得られる文字列を音声認識結果として出力する、ものである。
[8]また、本発明の一態様は、上記の音声認識装置において、前記エンコーダー部は、前記第1損失を用いて前記最終層のモデルの前記目的とする領域への適応化を行う際に、前記音響特徴量のフレーム列に基づいて前記エンコーダー部が有する前記複数階層で成るモデルが出力した記号列と、前記音響特徴量のフレーム列に対応する正解の前記出力記号列と、から得られる第3損失にも基づいた適応化を行う、というものである。なお、本態様は、後述する第2再学習手法を用いるものである。本態様によると、前記目的とする領域(ターゲットドメインと呼ぶ)への適応化を行いながら、エンコーダー部の元の学習を行った領域(ソースドメインと呼ぶ)での認識性能の劣化を防ぐ、あるいは少なくとも抑制することが可能である。
[9]また、本発明の一態様は、音響特徴量のフレームの列を入力し前記音響特徴量のフレームに対応する記号の列として成る出力記号列を出力するように、複数階層で成るモデルを有し、前記複数階層のモデルのそれぞれが機械学習可能に構成されたエンコーダー部と、目的とする領域に属する記号列を入力し、前記エンコーダー部の最終層のモデルに入力するための特徴量を出力するアダプター部と、を備え、前記エンコーダー部の前記複数階層のモデルにおけるある階層のモデルから次の階層のモデルへは中間特徴量が渡されるものであり、前記エンコーダー部は、前記音響特徴量のフレーム列と前記出力記号列との関係に基づく機械学習をした後に、前記アダプター部が出力する前記特徴量を前記エンコーダー部の前記最終層のモデルに入力して前記最終層のモデルからの出力に基づく損失である第1損失を用いて前記最終層のモデルの前記目的とする領域への適応化を行うことを可能として構成された、音声認識装置、としてコンピューターを機能させるためのプログラムである。
本発明によれば、目的領域のテキストデータのみを用いて、音声認識モデルのドメイン適応を行うことが可能となる。
本発明の一実施形態による音声認識装置の概略機能構成を示したブロック図である。 同実施形態による音声認識装置が持つ音声認識機能の主要部の機能構成を示すブロック図である。 同実施形態による音声認識装置が持つ、アダプター部の学習を行うための機能構成を示すブロック図である。 同実施形態による音声認識装置が、第1再学習手法を用いてEncoder(第3層エンコーダー部)の再学習を行うための機能の構成を示すブロック図である。 同実施形態による音声認識装置が、第2再学習手法を用いてEncoder(第3層エンコーダー部)の再学習を行うための機能の構成を示すブロック図である。 同実施形態における、文字列を基にして擬似的なCTC記号列への変換の処理の手順を示すフローチャート(1/2)である。 同実施形態における、文字列を基にして擬似的なCTC記号列への変換の処理の手順を示すフローチャート(2/2)である。 同実施形態による音声認識装置の内部構成の例を示すブロック図である。 同実施形態の音声認識装置における、変形例5による置換処理のための部分の機能構成を示すブロック図である。
次に、本発明の一実施形態について、図面を参照しながら説明する。以下では、本実施形態が前提とする技術事項を最初に説明した後で、本実施形態に特有の構成を順次説明する。
発音記号等を介さずに音声と文字列との関係を直接学習させるEnd-to-end音声認識モデルは、長さTのログメルペクトログラムのような入力音響特徴量系列を、長さLの出力記号列(文字列)に変換するモデルである。この入力音響特徴量系列xは、下の式(1)で表わされる。また、出力記号列yは、下の式(2)で表わされる。
Figure 2023075883000002
Figure 2023075883000003
上の式(1)におけるDは、1フレーム分の音響特徴量x[t]の次元数である。上の式(2)におけるVは、出力記号の集合(ボキャブラリー)である。
従来技術に属する手法であるShallow Fusion(非特許文献2)は、推論時に、音声認識モデルの推論確率と言語モデルの推論確率とを対数領域で線形補間する。Shallow Fusionの手法による認識結果y(ハット)は、下の式(3)で表わされる。
Figure 2023075883000004
式(3)におけるPAM(y|x)は、音声認識モデルの出力記号列の推論確率(入力音響特徴量系列xを前提としたときの出力記号列yの確率)である。また、PLM(y)は、言語モデルの出力記号列の推論確率(出力記号列yの確率)である。この言語モデルPLM(y)は、テキストデータのみを用いて学習し得るものである。一方、音声認識モデルPAM(y|x)は、音声とテキストとの対のデータを用いて学習するものである。
本実施形態の特徴は、テキストデータのみを用いて、言語モデルPLM(y)ではなく、音声認識モデルPAM(y|x)を学習するための構成を有することである。つまり、本実施形態の音声認識装置は、学習用のテキストデータが持つ話題に音声認識モデルを適応化するものである。
次に、CTC音声認識モデルの概要を説明する。CTC音声認識モデル自体は、既存技術に属する手法である。CTC音声認識モデルは、入力される特徴量1フレームごとに1記号を出力する。特徴量のフレーム長と出力記号間の系列長との差は、ブランク記号<blank>を挿入し得ることと、出力記号(文字)を連続させ得ることとで吸収される。一例として、4フレームの音響特徴に対して「天気」という記号列を対応させる場合のアラインメントは、以下の17通りである。なお、ここでは、ブランク記号<blank>を「_」に置き換えて表記している。また、記号と記号との間の区切りを、スラッシュで表わしている。
01: _/_/天/気
02: _/天/_/気
03: _/天/気/_
04: 天/_/_/気
05: 天/_/気/_
06: 天/気/_/_
07: _/天/天/気
08: 天/_/天/気
09: 天/天/_/気
10: 天/天/気/_
11: _/天/気/気
12: 天/_/気/気
13: 天/気/_/気
14: 天/気/気/_
15: 天/気/気/気
16: 天/天/気/気
17: 天/天/天/気
CTC音声認識モデルが推論結果として出力した記号列は、ブランク記号<blank>を消去するとともに、連続した同一の記号を1文字に圧縮することによって、認識結果に変換され得る。つまり、上記の17通りのアラインメントのそれぞれは、「天気」という認識結果に変換される。ただし、正解とする文字が例えば「いい天気」における「いい」のように、正解の認識結果において同一の文字が連続する場合のアラインメントは、これらの「い」と「い」の間に必ずブランク記号<blank>が挿入されなければならない。
CTC音声認識モデルの学習については、次の通りである。CTC音声認識モデルを用いた認識処理では、ニューラルネットワークから抽出された特徴量フレーム列hに対して、出力記号列のアラインメントaの確率を計算する。ここで、特徴量フレーム列hは、下の式(4)で表わされる。また、アラインメントaは、下の式(5)で表わされる。なお、式(4)および式(5)におけるTは、系列の長さである。
Figure 2023075883000005
Figure 2023075883000006
入力される特徴量フレーム列hを前提とした出力記号列のアラインメントaは、下の式(6)で表わされる。
Figure 2023075883000007
出力記号列yの、あり得るすべてのアライメントにおける確率の総和は、下の式(7)で求められる。
Figure 2023075883000008
式(7)におけるβ-1(y)は、出力記号列yと特徴量列hに対してとり得るすべてのアラインメントの集合である。CTC損失関数Lは、上記のP(y|h)の対数をとり、下の式(8)で計算される。
Figure 2023075883000009
CTC音声認識モデルの学習は、上記の損失関数値Lを最小化するようにニューラルネットワークの内部パラメーターの値を更新することによって行われる。
本実施形態の音声認識装置が持つ機能のそれぞれは、例えば、コンピューターと、プログラムとで実現することが可能である。また、それらの機能の各々は、必要に応じて、記憶手段を有する。記憶手段は、例えば、プログラム上の変数や、プログラムの実行によりアロケーションされるメモリーである。また、必要に応じて、磁気ハードディスク装置やソリッドステートドライブ(SSD)といった不揮発性の記憶手段を用いるようにしてもよい。また、各機能部の少なくとも一部の機能を、プログラムではなく専用の電子回路として実現してもよい。
本実施形態の音声認識装置1は、Intermediate CTC(非特許文献1)を前提として構成される。本実施形態での音声認識モデルの概要は、次の通りである。本実施形態の音声認識モデルは、Githubで提供されるオープンソースEspnet(https://github.com/espnet/espnet)をベースとして改良を加えたものである。Intermediate CTCでは、ニューラルネットワークの中間の層でもCTC損失関数の値を計算し、層ごとの重み付けを行った和を最終的な損失関数として、モデルの学習を行う。
図1は、本実施形態による音声認識装置1の概略機能構成を示すブロック図である。図示するように、音声認識装置1は、音声供給部10と、畳み込みニューラルネットワーク部20と、第1層エンコーダー部30(Encoder・30)と、第2層エンコーダー部40(Encoder・40)と、第3層エンコーダー部50(Encoder・50)と、目的領域テキスト供給部110と、擬似CTC記号列生成部120と、アダプター部130と、CTC記号列生成部210と、平均二乗誤差損失計算部220と、CTC損失計算部230とを含んで構成される。
音声供給部10は、音声認識装置1による認識処理の対象となる音声のデータを供給する。音声供給部10は、音声のデータを、畳み込みニューラルネットワーク部20に渡す。音声供給部10は、音声のデータとして、例えばベクトルで表わされる音響特徴量の列を供給する。
畳み込みニューラルネットワーク部20は、音声供給部10から渡される音声データの畳み込み処理を行う。畳み込みニューラルネットワーク部20は、畳み込み処理の結果として得られる特徴量(後述するh)を、第1層エンコーダー部30に渡す。
第1層エンコーダー部30と、第2層エンコーダー部40と、第3層エンコーダー部50とは、3層構成のエンコーダーである。第1層エンコーダー部30と、第2層エンコーダー部40と、第3層エンコーダー部50とのそれぞれは、セルフアテンションニューラルネットワークを用いて実現される。音声認識装置1は、第1層エンコーダー部30と、第2層エンコーダー部40と、第3層エンコーダー部50とのそれぞれの出力について、損失を計算する機能(CTC損失計算部)を有するが、本図ではその機能を省略している。損失を計算する機能については、図2で説明する。
複数の階層のモデルで構成される第1層エンコーダー部30と、第2層エンコーダー部40と、第3層エンコーダー部50とを、あわせて「エンコーダー部」と呼んでもよい。エンコーダー部は、音響特徴量のフレームの列を入力し前記音響特徴量のフレームに対応する記号の列として成る出力記号列を出力するように、複数階層で成るモデルを有し、前記複数階層のモデルのそれぞれが機械学習可能に構成されたものである。エンコーダー部の複数階層のモデルにおけるある階層のモデルから次の階層のモデルへは中間特徴量(後述するhやh)が渡される。なお、このエンコーダー部は、前記音響特徴量のフレーム列と前記出力記号列との関係に基づく機械学習をした後に、前記アダプター部が出力する前記特徴量を前記エンコーダー部の前記最終層のモデル(第3層エンコーダー部50)に入力して前記最終層のモデル(第3層エンコーダー部50)からの出力に基づく損失である第1損失を用いて前記最終層のモデル(第3層エンコーダー部50)の前記目的とする領域への適応化を行うことを可能として構成されている。
第1層エンコーダー部30は、Encoder・30とも呼ばれ、畳み込みニューラルネットワーク部20から受け取る特徴量hを基に、特徴量hを算出し、第2層エンコーダー部40に渡す。第2層エンコーダー部40は、Encoder・40とも呼ばれ、第1層エンコーダー部30から受け取る特徴量hを基に、特徴量hを算出し、第3層エンコーダー部50に渡す。第3層エンコーダー部50は、Encoder・50とも呼ばれ、第2層エンコーダー部40から受け取る特徴量hを基に、特徴量hを算出し、出力する。
なお、特徴量h、h、h、hのそれぞれは、ベクトルの系列である。
目的領域テキスト供給部110は、Encoder・50の適応化を行うためのテキストデータを供給する。目的領域テキスト供給部110は、推論時にEncoder・50が目的とする領域(ドメイン)に合ったテキストを出力するように、当該領域のテキストを供給する。目的領域テキスト供給部110は、目的領域のテキストを擬似CTC記号列生成部120に渡す。
擬似CTC記号列生成部120は、目的領域テキスト供給部110から渡されるテキスト文字列を基に、擬似的なCTC記号列を生成する。擬似CTC記号列生成部120は、単に「擬似記号列生成部」とも呼ばれる。擬似的なCTC記号列の生成の方法については、後でフローチャート等を参照しながら詳細に説明する。1つのテキスト文字列に対して、複数のCTC記号列が対応し得る。つまり、擬似CTC記号列生成部120は、1つのテキスト文字列に対応して、複数の擬似的なCTC記号列を出力する。言い換えれば、擬似CTC記号列生成部120は、1つのテキスト文字列を、複数通りの擬似的CTC記号列に変換する。なお、擬似CTC記号列生成部120は、目的領域テキスト供給部110が供給するテキストデータに含まれるそれぞれのテキスト文字列に対応して、複数の擬似的CTC記号列を生成することができる。
擬似CTC記号列生成部120は、目的とするドメインに属するテキストを基に、前記テキスト内の文字の繰り返し、または前記テキスト内の文字と文字との間への0個以上のブランク記号の挿入、の少なくともいずれかを行うことによって、アダプター部130に入力するための記号列を生成するものである。擬似CTC記号列生成部120は、前記テキスト内の文字を繰り返す際の同一文字の繰り返し回数を、前記音響特徴量のフレーム列と前記出力記号列との関係に基づいて学習済みの前記エンコーダー部における所定の階層の前記モデルから出力される特徴量に基づいて算出される記号列である中間記号列における同一文字の繰り返し回数に関する統計に基づいて決定してよい。また、擬似CTC記号列生成部120は、前記テキスト内の文字と文字との間に挿入するブランク記号の連続する個数を、前記中間記号列における前記ブランク記号の連続する個数に関する統計に基づいて決定してよい。
アダプター部130は、Encoder・50の適応化を行う場合に、擬似CTC記号列生成部120から渡される擬似CTC記号列のそれぞれを、Encoder・50に入力するための特徴量に変換する。つまり、アダプター部130は、ターゲットとする領域に属する記号列(擬似CTC記号列)を入力し、その記号列に基づいて、前記エンコーダー部の最終層のモデル(Encoder・50)に入力するための特徴量を出力するものである。
なお、アダプター部130は、セルフアテンションニューラルネットワークを用いて実現され、学習可能となるように構成されている。つまり、アダプター部130は、学習する。アダプター部130の学習を行う場合には、アダプター部130は、後述するCTC記号列生成部210から渡される記号列を基に、Encoder・40が出力する特徴量に近い特徴量を生成する。アダプター部130の学習により、アダプター部130が出力する特徴量は、Encoder・40が出力する特徴量に近づくことが期待される。アダプター部130の学習の際には、後述する平均二乗誤差損失計算部220とCTC損失計算部230とが計算する損失に基づいて、アダプター部130の内部のニューラルネットワークのパラメーターの調整が行われる。つまり、アダプター部130は、後述する「第2損失」を用いて機械学習を行えるように構成されている。
CTC記号列生成部210は、アダプター部130の学習を行う際に、Encoder・30から出力される特徴量hを基に、アラインメントa(ハット)を求める。CTC記号列生成部210は、求めたa(ハット)をアダプター部130に渡す。つまり、CTC記号列生成部210は、アダプター部130を学習するためにアダプター部130への入力となる記号列を、音響特徴量に基づいてエンコーダー部の所定の層(Encoder・30)のモデルから出力された中間特徴量に基づいて生成する。CTC記号列生成部210は、単に「記号列生成部」とも呼ばれる。
平均二乗誤差損失計算部220とCTC損失計算部230とは、アダプター部130の学習を行う際に、それぞれ、アダプター部130から出力される特徴量h(ハット)に関する損失を計算する。つまり、平均二乗誤差損失計算部220とCTC損失計算部230とのそれぞれは、アダプター部130の学習のための損失を計算するアダプター部用損失計算部の機能の一部である。平均二乗誤差損失計算部220およびCTC損失計算部230が算出する損失の詳細については、後で説明する。平均二乗誤差損失計算部220とCTC損失計算部230とが算出する損失は、アダプター部130の内部のニューラルネットワークのパラメーターの更新のために用いられる。
[音声認識機能]
図2は、本実施形態による音声認識装置1が持つ音声認識機能の主要部の機能構成を示すブロック図である。図示するように、音声認識装置1は、畳み込みニューラルネットワーク部20と、Encoder・30と、CTC損失計算部32と、Encoder・40と、CTC損失計算部42と、Encoder・50と、CTC損失計算部52とを含んで構成される。
図示する通り、音声認識モデルは、Convolution(畳み込みニューラルネットワーク部20)、Encoder・30(低レベルエンコーダー)、Encoder・40(中間レベルエンコーダー)、Encoder・50(高レベルエンコーダー)の4つのニューラルネットワークを持つように構成される。これら4つのニューラルネットワークのそれぞれは、複数の層で構成される。なお、Encoder・30と、Encoder・40と、Encoder・50とは、それぞれセルフアテンションネットワークである。この音声認識モデルは、Encoder・30、Encoder・40、Encoder・50の出力から、それぞれ、CTC損失関数値L、L、Lを算出する。なお、Convolutionの出力である特徴量hは、下の式(9)および式(10)の通りである。
Figure 2023075883000010
Figure 2023075883000011
なお、式(9)において、Tは、特徴量の系列長である。また、Dは、hに含まれる個々のベクトルの次元数である。また、式(10)に示すように、hは、音響特徴量xを入力したときのConvolutionの出力である。
Encoder・30からの出力h、Encoder・40からの出力h、およびEncoder・50からの出力hは、下の式(11)の通りであり、それぞれ、式(12)、式(13)、および式(14)で算出される。
Figure 2023075883000012
Figure 2023075883000013
Figure 2023075883000014
Figure 2023075883000015
即ち、特徴量hは、特徴量hを入力としてEncoder・30が出力する量である。また、特徴量hは、特徴量hを入力としてEncoder・40が出力する量である。また、特徴量hは、特徴量hを入力としてEncoder・50が出力する量である。
Encoder・30、Encoder・40、およびEncoder・50が出からの出力に対するそれぞれの損失関数値L、L、およびLは、それぞれ下の式(15)、式(16)、および式(17)によって算出される。CTC損失計算部32は、Encoder・30から出力される特徴量hを基に、損失Lを算出する。CTC損失計算部42は、Encoder・40から出力される特徴量hを基に、損失Lを算出する。CTC損失計算部52は、Encoder・50から出力される特徴量hを基に、損失Lを算出する。
Figure 2023075883000016
Figure 2023075883000017
Figure 2023075883000018
ベースモデルにおける目的関数は、例えば上記の損失関数値LとLとLとの平均として、下の式(18)で計算される。
Figure 2023075883000019
つまり、本実施形態が前提とするIntermediate CTCでは、式(18)によって算出されるLossを最小化するように、ニューラルネットワークの内部パラメーターを更新することによって学習を行う。
次に、本実施形態の音声認識装置1において、目的とする話題のテキストデータを用いて、音声認識モデルを再学習するための構成について説明する。本実施形態では、テキスト文字列を疑似的にCTC記号列に変換し、その変換結果であるCTC記号列を、後述するニューラルネットワークAdapterで特徴量フレームに変換する。本実施形態では、この特徴量フレームを用いて前述のIntermediate CTC音声認識モデル(本実施形態が前提とするモデル)のEndocerを再学習することによって、目的とする話題にニューラルネットワークを適応させる。
[Adapterの学習]
図3は、本実施形態による音声認識装置1が持つ、アダプター部130(単に「Adapter」とも呼ぶ)の学習を行うための構成を示すブロック図である。Adapterは、後述する音声認識モデルの再学習において、擬似CTC記号列を、Encoder・50に入力するための特徴量に変換する役割を果たす。図示するように、音声認識装置1は、畳み込みニューラルネットワーク部20と、Encoder・30と、Encoder・40と、Encoder・50と、アダプター部130と、CTC記号列生成部210と、平均二乗誤差損失計算部220と、CTC損失計算部230とを含んで構成される。
図3に示す各部の機能については、既に説明した通りである。つまり、CTC記号列生成部210は、Encoder・30から出力される特徴量hに基づいて、アラインメントa(ハット)を生成する。アダプターは、アラインメントa(ハット)を入力し、特徴量の推定値h(ハット)を出力する。平均二乗誤差損失計算部220およびCTC損失計算部230がそれぞれ算出する損失に基づいて、アダプター部130の学習が行われる。学習により、アダプター部130は、Encoder・40が出力する特徴量hに近い特徴量を出力するようになることが期待される。
ここで、ニューラルネットワークAdapterの学習の詳細について説明する。音声認識装置1は、学習済みのIntermediate CTC音声認識モデル(図3)に音響特徴量xを入力し、下の式(19)および式(20)によって特徴量hを算出する。
Figure 2023075883000020
Figure 2023075883000021
このhの算出の過程は、既に式(10)、式(12)、および式(13)で説明した計算と同様である。また、特徴量hに対して最も尤度の高いアラインメントa(ハット)は、次の式(21)で算出される。
Figure 2023075883000022
音声認識装置1は、CTCアラインメント系列がEncoderの出力特徴量フレームhに近づくように、Adapterの学習を行う。つまり、音声認識装置1は、Adapterが持つニューラルネットワークの内部パラメーターを更新する。アラインメントa(ハット)をAdapterに入力したときの出力であるh(ハット)は、下の式(22)で求められる。
Figure 2023075883000023
音声認識装置1は、式(22)のh(ハット)をhに近づけるように、Adapterの学習を行う。具体的には、音声認識装置1は、下の式(23)で算出される損失関数値Lと、式(24)によって算出される損失関数値Lmseに基づいて、Adapterが持つニューラルネットワークの内部パラメーターを更新する。なお、CTC損失計算部230が、式(23)に基づいて、Adapterからの出力であるh(ハット)を前提としたときの正解の出力記号列であるyの尤度に基づく損失Lを算出する。また、平均二乗誤差損失計算部220が、式(24)に基づいて、Adapterからの出力であるh(ハット)とEncoder・40(Adapterに対応する階層のモデル)からの出力である特徴量との差を表す損失Lmseを算出する。
Figure 2023075883000024
Figure 2023075883000025
式(24)に示す損失関数値Lmseは、平均二乗誤差損失である。音声認識装置1が、Adapterを学習する際の目的関数の一例は、下の式(25)によって計算されるものである。
Figure 2023075883000026
なお、式(25)において、αはハイパーパラメーターである。音声認識装置1は、式(25)で表わされる損失Lossを最小化するように、Adapterが持つニューラルネットワークの内部パラメーターを更新する。この損失Lossを便宜的に「第2損失」と呼ぶ場合がある。なお、音声認識装置1は、Adapter内の複数層のニューラルネットワークの最終層以外の層についてのパラメーターを更新するように、Adapterの学習を行う。なお、音声認識装置1は、Adapterの学習時には、学習済みのEncoder・40の最終層のパラメーターの値をそのままAdapterの最終層のパラメーターに流用する。このようにすることで、Encoder・40の出力が模擬できるように、Adapterの最終層以外の層のパラメーターが調整(更新)される。このようなAdapterの学習を行うことによって、Adapterは、CTC記号列をEncoderの出力特徴量フレームhに変換するモデルになることが期待される。
[Encoder・50の再学習]
次に、Encoder・50の再学習について説明する。Encoder・50の再学習では、推論対象の音声の話題が含まれるテキスト文字列を学習データとして用いて、推論対象の話題の認識精度を向上させる。以下において、前述のIntermediate CTC音声認識モデルおよびAdapterを学習した音声の話題が属するドメインをソースドメインと呼び、推論対象の音声の話題が属するドメインをターゲットドメインと呼ぶ。Encoder・50の再学習を行うための手法として、以下に説明する、第1再学習手法および第2再学習手法のいずれかを用いるようにしてよい。本実施形態では、用途等に応じて、第1再学習手法あるいは第2再学習手法のいずれかを任意に選択することができる。
[Encoder・50の再学習: 第1再学習手法]
図4は、本実施形態による音声認識装置1が、第1再学習手法を用いてEncoder・50の再学習を行うための機能の構成を示すブロック図である。第1再学習手法では、ターゲットドメインのテキストのみを用いたドメイン適応を行う。Encoder・50の再学習を行うのは、上述したAdapterの学習が完了していることが前提である。図示するように、音声認識装置1は、Encoder・50と、CTC損失計算部52と、擬似CTC記号列生成部120と、アダプター部130とを含んで構成される。なお、図4には、畳み込みニューラルネットワーク部20と、Encoder・30と、Encoder・40も記載している。
なお、図示する通り、擬似CTC記号列生成部120と、アダプター部130と、Encoder・50と、CTC損失計算部52とを含む構成を、モデル適応化装置2と呼んでもよい。モデル適応化装置2は、畳み込みニューラルネットワーク部20と、Encoder・30と、Encoder・40と、Encoder・50とを含んで成る音声認識モデルの、少なくとも認識結果出力側の層のエンコーダー(本実施形態ではEncoder・50のみ)の目的領域への適応化を行う。本実施形態の特徴は、このモデル適応化装置2が、目的とする領域の音声データを必要とせず、その領域のテキストデータのみに基づいて動作する点である。
なお、図4に示す各部の機能の概略については、既に説明した通りである。つまり、学習済みのアダプター部130は、擬似CTC記号列生成部120が出力する擬似CTC記号列に基づいて、Encoder・40が出力するであろう特徴量hに近い特徴量を出力する。Encoder・50は、そのアダプター部130からの出力に基づいて、特徴量hh,i(ハット)を出力する。Encoder・50は、CTC損失計算部52が算出する損失に基づいて、内部のニューラルネットワークのパラメーターを調整する。なお、Encoder・50の再学習のためにCTC損失計算部52が算出する損失を便宜的に「第1損失」と呼ぶ場合がある。つまり、第1損失は、Adapterが出力する特徴量をEncoder・50のモデルに入力して得られるEncoder・50からの出力に基づく損失である。
図4を参照しながら、第1再学習手法によるEncoder・50の再学習の詳細について説明する。上でAdapterの学習方法について説明したが、ここでは、学習済みのAdapterを用いて、Encoder・50の再学習を行う。Encoder・50の再学習では、認識対象とする音声の話題が含まれるテキスト文字列のみを学習データとして用いる。言い換えれば、Encoder・50の再学習では、目的とする話題(領域)のテキスト文字列の学習データを用いる。
第1再学習手法によるEncoder・50の再学習においては、音声認識装置1は、まず、学習データであるターゲットドメインのテキスト文字列を基に、後述する擬似CTC記号列変換手法を用いて、N個の擬似的なCTC記号列を生成する。このN個の擬似的なCTC記号列は、下の式(26)で表わされるa(ハット)である。
Figure 2023075883000027
音声認識装置1のCTC損失計算部52は、上記のa(ハット)に対して、下の式(27)および式(28)によって、損失関数値Lh,iを計算する。
Figure 2023075883000028
Figure 2023075883000029
つまり、i番目の損失関数値(i=1,・・・,N)であるLh,iは、i番目のCTC記号列であるa(ハット)を入力することによってAdapterが出力する特徴量を、Encoder・50に入力することによって得られるhh,i(ハット)を基に算出される。第1再学習手法によってEncoder・50の適応化学習を行う際の目的関数は、N個の損失関数値の平均として下の式(29)によって計算される。
Figure 2023075883000030
Encoderの再学習の過程では、音声認識装置1は、式(29)で表わされるLossの値を最小化するように、ニューラルネットワークの内部パラメーターを更新する。ただし、Encoder・50の再学習の際には、音声認識装置1は、学習済みのAdapterのパラメーターを固定とする。即ち、音声認識装置1は、Encoder・50の再学習の段階では、Adapterの内部パラメーターを更新せず、Encoder・50の内部パラメーターの更新を行う。
上記のような再学習を完了したときには、Encoder・50のニューラルネットワークは、再学習に用いたテキスト文字列の話題に適応していることが期待される。
[Encoder・50の再学習: 第2再学習手法]
図5は、本実施形態による音声認識装置1が、第1再学習手法を用いてEncoder・50の再学習を行うための機能の構成を示すブロック図である。図示するように、音声認識装置1は、Encoder・50と、CTC損失計算部52と、擬似CTC記号列生成部120と、アダプター部130と、畳み込みニューラルネットワーク部20と、Encoder・30と、Encoder・40とを含んで構成される。また、ここでは、Encoder・50と、CTC損失計算部52と、擬似CTC記号列生成部120と、アダプター部130と、畳み込みニューラルネットワーク部20と、Encoder・30と、Encoder・40とを含む構成は、第2再学習手法による処理を実行するモデル適応化装置2として機能する。第2再学習手法では、Encoder・50の再学習に、ターゲットドメインのテキストだけではなく、ソースドメインの音声テキスト対も用いたドメイン適応を行う。第2再学習手法を用いる場合には、ソースドメインの音声認識精度劣化を軽減する効果が期待される。
第2再学習手法によるEncoder・50の再学習においては、音声認識装置1は、学習データであるターゲットドメインのテキスト文字列を基に、後述する擬似CTC記号列変換手法を用いて、N個の擬似的なCTC記号列を生成する。このN個の擬似的なCTC記号列は、下の式(30)で表わされるat,i(ハット)である。
Figure 2023075883000031
音声認識装置1のCTC損失計算部52は、上記のat,i(ハット)に対して、下の式(31)および式(32)によって、損失関数値Lt,iを計算する。
Figure 2023075883000032
Figure 2023075883000033
また、学習済みのIntermediate CTC音声認識モデルにN個の音響特徴量の列を入力することによって、損失関数値Ls,jを計算する。この音響特徴量の列は、下の式(33)によって表される。また、損失関数値Ls,jは、式(34)、式(35)、式(36)、および式(37)によって計算される。
Figure 2023075883000034
Figure 2023075883000035
Figure 2023075883000036
Figure 2023075883000037
Figure 2023075883000038
つまり、畳み込みニューラルネットワーク部20は、音響特徴量の列xの畳み込みを行い、Convolution(x)を出力する。Encoder・30は、Convolution(x)を基に、hsl,jを出力する。Encoder・40は、hsl,jを基に、hsm,jを出力する。Encoder・50は、hsm,jを基に、hsh,jを出力する。
第2再学習手法における目的関数は、下の式(38)に表わされるLossstである。
Figure 2023075883000039
つまり、Lossstは、N個の損失関数値Lt,iの平均に対して、N個の損失関数値Ls,jの平均を、ソースドメインの認識精度劣化を抑制する正則化項として加えたものである。モデル適応化装置2は、Lossstを最小化するようにモデルのパラメーターを更新することにより、Encoder・50の再学習を行う。ただし、このとき、Adapterのパラメーターについては学習せず、固定とする。再学習の完了したEncoder・50は、ソースドメインの音声に対する処理能力を落とさずに、テキスト文字列の話題に適応したニューラルネットワークとなる。
上記の式(37)によって算出される損失を便宜的に「第3損失」と呼ぶ。つまり、第3損失は、音響特徴量のフレーム列に基づいてエンコーダー部が有する複数階層(本実施形態では、第1層エンコーダー部30、第2層エンコーダー部40、および第3層エンコーダー部50)で成るモデルが出力した記号列と、音響特徴量のフレーム列に対応する正解の出力記号列と、から得られる(算出される)損失である。つまり、ここで説明する第2再学習手法では、エンコーダー部は、第1損失を用いて最終層のモデルの目的とする領域(ターゲットドメイン)への適応化を行う際に、上記の第3損失にも基づいた適応化を行う。即ち、式(38)で表わされる損失Lossstに基づく再学習を行う。第2再学習手法によると、目的とする領域(ターゲットドメイン)への適応化を行いながら、エンコーダー部の元の学習を行った領域(ソースドメイン)での認識性能の劣化を防ぐ、あるいは少なくとも抑制することが可能である。
以上において説明した第1再学習手法と第2再学習手法とを比較したとき、第1再学習手法を用いる場合の方が、第2再学習手法を用いる場合よりも、ターゲットドメインでの音声認識精度の向上が期待できる。なお、第1再学習手法を用いた場合には、ソースドメインでの音声認識精度は劣化する。第2再学習手法を用いる場合には、ターゲットドメインの音声認識精度の改善効果は小さくなるが、ソースドメインの音声認識精度劣化を軽減する効果が期待できる。
[擬似CTC記号列の生成]
次に、テキスト文字列を、疑似的なCTC記号列に変換する方法について説明する。擬似CTC記号列は、上述したEncoder・50の再学習のために用いたものである。音声認識装置1は、学習用のテキストデータに含まれる文字列を基に、擬似的なCTC記号列の集合を生成する。
あるテキスト文字列を疑似的なCTC記号列に変換する場合を考える。例えば、CTC記号列の長さを6に限定した場合、「いい天気」という文字列に対応するCTC記号列は以下の9通りである。
1: _/い/_/い/天/気
2: い/_/_/い/天/気
3: い/_/い/_/天/気
4: い/_/い/天/_/気
5: い/_/い/天/気/_
6: い/い/_/い/天/気
7: い/_/い/い/天/気
8: い/_/い/天/天/気
9: い/_/い/天/気/気
上記の擬似的なCTC記号列において、「_」は、ブランク記号<blank>を簡略化した表現である。CTC記号列では、「いい」のように同じ記号が連続する箇所には必ずブランク記号<blank>がその間に挿入される。なお、記号と記号との間の区切りを、スラッシュで表わしている。
ブランク記号<blank>の位置は、特徴量フレームのうちの発音が存在しない位置(時間帯)であると捉えることができる。上で例示したように、ある文字列(ここでは「いい天気」)に対応するCTC記号列は数多く存在する。つまり、ある文字列に対応するすべてのCTC記号列のパターンを用いてニューラルネットワークの学習を行うと、その学習処理に膨大な時間を必要とする場合もある。一方で、CTC記号列においては、存在し得る記号列であるが現実的には生じにくい記号列も存在する。例えば、「いい天気」という文字列に対して、長さ10のCTC記号列が生成されることを仮定した場合に、「い/_/_/_/_/_/_/い/天/気」といった、「い」と「い」の間に長時間発音が存在しない区間がある場合や、「い/_/い/天/気/気/気/気/気/気」のように特定の記号の繰り返し(発音区間)が所定の長さ以上に長くなるような特徴量フレームは、現実的には生じにくい。したがって、あるテキスト文字列をCTC記号列に変換するときに、現実的に生じ得ると考えられるパターンの記号列のみに限定することもできる。
そこで、本実施形態の音声認識装置1は、学習済みのIntermediate CTCのEncoderから出力される特徴量フレームhに基づいて算出されるCTC記号列であるa(ハット)において、統計に基づいて、生じやすい擬似的なCTC記号列への変換を行う。具体的には、音声認識装置1は、同一記号の連続数およびブランク記号<blank>の連続数の統計から生成する確率密度関数に則って、疑似的なCTC記号列への変換を行う。
擬似的なCTC記号列を生成するための統計をとるために、例えば、Intermediate CTCの学習に使用した音声データを使用する。音声データを、学習済みのIntermediate CTCに入力し、Encoderから出力されるa(ハット)を基に統計をとる。具体的には、a(ハット)において、同一の記号(ただしブランク記号を除く)が連続してn回出現した回数をN(n)とし、ブランク記号<blank>が連続してn回出現した回数をN(n)とする。これらの回数のデータを基に、同一の記号(ただしブランク記号を除く)の連続数の確率密度関数P(n)、およびブランク記号<blank>の連続数の確率密度関数P(n)を、それぞれ、下の式(39)および式(40)で求める。つまり、本実施形態では、音声に基づいてエンコーダーから実際に出力される記号列に関する統計に基づいて、確率密度関数を生成する。
Figure 2023075883000040
Figure 2023075883000041
確率密度関数を求めるための計算の例は、次の通りである。音声データの中に、「いい天気」および「明日」という2つの言語表現が含まれる場合を想定する。「いい天気」および「明日」という音声に対してEncoderが出力するCTC記号列が、それぞれ、「_/_/い/_/い/い/い/_/天/気/_/_/_」および「_/明/明/_/_/_/日/日/_」である場合に、記号の連続数は次の通りである。なお、ブランク記号<blank>を「_」と表している。
ブランク記号以外の記号(文字)の連続数ごとの出現回数は、以下の通りである。
(0)=0
(1)=3 : (「い」、「天」、「気」が該当)
(2)=2 : (「明/明」、「日/日」が該当)
(3)=1 : (「い/い/い」が該当する)
よって、確率P(n)は、次の通りである。
(0)=0/6=0
(1)=3/6=1/2
(2)=2/6=1/3
(3)=1/6
一方、ブランク記号<blank>の連続数ごとの出現回数は、以下の通りである。
(0)=1 : (「天」と「気」の間に「_」が存在しないため、N(0)をカウントする)
(1)=4 : (「い」と「い」の間、「い」と「天」の間、「明」の前、「日」の後が該当)
(2)=1 : (「い」の前が該当)
(3)=2 : (「気」の後、「明」と「日」の間が該当)
よって、確率P(n)は、次の通りである。
(0)=1/8
(1)=4/8=1/2
(2)=1/8
(3)=2/8=1/4
上記の例は、「いい天気」および「明日」という2つの音声データに基づいて算出した確率値であるが、実際にとる統計はIntermediate CTCの学習に用いたすべての音声データに基づいて作成するものである。これにより、学習に用いた音声データに対応するCTC記号列において、連続して出現する記号(ブランク記号以外、あるいはブランク記号<blank>)の連続数に関する確率(傾向)が把握される。
図6および図7は、擬似的なCTC記号列への変換の処理の手順を示すフローチャートである。図6と図7とは結合子で結合されており、これら両図で1つのフローチャートである。このフローチャートの処理を実行するのは、擬似CTC記号列生成部120である。以下では、このフローチャートを参照しながら、CTC記号列を生成するための処理の手順を説明する。
このフローチャートの処理では、テキスト文字列cを、CTC記号列a(ハット)に変換する。このフローチャートの処理を繰り返すことにより、複数の(N個の)CTC記号列a(ハット)(ただし、i=1,・・・,N)を作り出すことができる。なお、テキスト文字列cは、下の式(41)で表わされる通りである。なお、式(41)において、Vはブランク記号を含まない出力記号(つまり、文字)の集合であり、Jは文字列cの長さ(文字数)である。
Figure 2023075883000042
まず図6のステップS1において、擬似CTC記号列生成部120は、a(ハット)をヌル記号列に設定(初期化)する。
次のステップS2は、ループ1の始点である。ここで擬似CTC記号列生成部120は、ループ1に関する条件の制御を行う。このフローチャートにおいて、jは、ループ1における繰り返しの指標となる変数である。そして、ループ1の初期条件はj=1である。ループ1の繰り返し時の条件は「+1」(即ち、j=j+1)である。ループ1の終了判定条件は「J」(j≦Jの条件を満たさなくなるようなjの場合にはループを抜ける)である。つまり、ループ1の処理は、j=1のときから、j=Jのときまで、jを1ずつ増分させながら繰り返される。なお、ループ1の終点は、ステップS10である。
次にステップS3において、擬似CTC記号列生成部120は、P(n)に従い、確率的にブランク記号<blank>の連続数Nを選択する。つまり、擬似CTC記号列生成部120は、予め得られた統計に基づいて且つランダムな要素にしたがって連続数Nを選択する。ステップS3の処理では、確率がゼロでない限りは、N=0,1,2,・・・のいずれかであり得る。
次にステップS4において、擬似CTC記号列生成部120は、その時点での文字の位置jに関して、(j≠1)且つ(c[j-1]==c[j])という条件の真偽を判定する。なお、j=1の場合には条件が偽であることが確定するためc[j-1]を参照しないようにしてもよい。あるいはc[0]が任意の何らかの記号であるという前提を置いてもよい。上記の条件が真の場合(ステップS4:YES)には次のステップS5に進む。上記の条件が偽の場合(ステップS4:NO)には図7のステップS8に飛ぶ。このステップS4における条件判定に基づく分岐は、入力文字列内において同一文字が連続する箇所についてのみ、ステップS5からS7までの処理を実行させるためのものである。
次にステップS5に進んだ場合、次の通りである。即ち、ステップS5は、ループ2の始点である。ここで擬似CTC記号列生成部120は、ループ2に関する条件の制御を行う。ループ2の内部の処理が実行される条件は、(N=0)である。Nの初期値(ステップS3において決定されたN)が0ではない場合には、ループ2の内部の処理は一度も実行されない。Nの初期値が0である場合は、Nの値が0である間、ループ2の処理を繰り返す。Nの値が0ではなくなったときに、ループ2を抜け出す。なお、ループ2の終点は、ステップS7である。
ステップS6は、ループ2の内部における唯一のステップである。ステップS6において、擬似CTC記号列生成部120は、P(n)に従い、確率的にブランク記号<blank>の連続数Nを選択する。なお、Nの選択を行う都度、異なる確率的要素に基づいた選択を行うこととする。つまり、Nの選択を繰り返すうちに、Nとして0以外の値が選択されることが期待できる。
ステップS7は、ループ2の終点である。前記の(N=0)の条件が真である場合には、ループ2の処理を繰り返す。(N=0)の条件が偽である場合には、ループ2を抜け出して次の図7のステップS8に進む。つまり、ループ2を抜け出した時点で、Nとして0以外の値が選択されている。
図7のステップS8において、擬似CTC記号列生成部120は、既に決定されているNの値に基づいて、N個のブランク記号<blank>を、その時点での記号列a(ハット)の後側(通常は、右側)に連結する。
次にステップS9において、擬似CTC記号列生成部120は、予め求められているP(n)に従い、確率的に文字(ブランク記号以外の記号)の連続数Nを選択する。つまり、擬似CTC記号列生成部120は、予め得られた統計に基づいて且つランダムな要素にしたがって連続数Nを選択する。つまり、確率がゼロでない限りは、N=0,1,2,・・・のいずれかであり得る。次に、擬似CTC記号列生成部120は、連続するN個(Nは、本ステップにおいて選択された値)の文字c[j]を、その時点での記号列a(ハット)の後側(通常は、右側)に連結する。
ステップS10は、ループ1の終点である。前記の条件の通り、jの値を+1(増分1)して、その結果としてjの値が1,2,・・・,Jのいずれかである限りは、ループ1の処理を繰り返す。繰り返しの条件が満たされなくなるとき、即ち、Jを増分することによってjの値がJ+1に達する場合には、ループ1を抜け出して次のS11に進む。つまり、ループ1を抜け出した時点で、変換元の文字列における文字c[1]からc[J]までの処理が完了している。
次にステップS11において、擬似CTC記号列生成部120は、予め求められているP(n)に従い、確率的にブランク記号<blank>の連続数Nを選択する。つまり、擬似CTC記号列生成部120は、予め得られた統計に基づいて且つランダムな要素にしたがって連続数Nを選択する。つまり、確率がゼロでない限りは、N=0,1,2,・・・のいずれかであり得る。次に、擬似CTC記号列生成部120は、連続するN個(Nは、本ステップにおいて選択された値)のブランク記号<blank>を、その時点での記号列a(ハット)の最後に連結する。
このフローチャートで示す処理のうち、ステップS1の処理を初期化処理と捉えることができる。また、ステップS3からS8までの処理を第1フェーズの処理と捉えることができる。第1フェーズの処理は、連続するブランク記号<blank>の連続数を決めてその数のブランク記号<blank>を生成すべき文字列の一部として連結する処理である。また、ステップS9の処理を第2フェーズの処理と捉えることができる。第2フェーズの処理は、連続する文字(ブランク記号以外)の連続数を決めてその数の文字生成すべき文字列の一部として連結する処理である。第1フェーズの処理と第2フェーズの処理とは、変換元のテキスト文字列に含まれる各文字(先頭から順に)について繰り返される(ステップS2とステップS10とで制御されるループ1の処理)。そして、ステップS11の処理を第3フェーズの処理と捉えることができる。第3フェーズの処理は、上記のループ1の処理の後に、即ち入力文字列の最後の文字の後に続くブランク記号<blank>の連続数を決めてその数のブランク記号<blank>を生成すべき文字列の一部として連結する処理である。
ここで、実例を用いて、上記のフローチャートの処理を説明する。例として、変換元のテキスト文字列が「明日はいい天気」である場合を想定する。
<第1フェーズの処理>
前述のフローチャートのステップS3における処理として、算出済みのP(n)にしたがって、確率的にブランク記号<blank>の連続数であるNを選択する。ここでは選択されたNが3である場合を想定する。N=3が選択される確率は、前記の例ではP(3)=1/4である。前述のフローチャートのステップS8における処理として、a(ハット)に3個のブランク記号<blank>を連結すると、a(ハット)=「_/_/_」となる。ただし、スラッシュは、便宜的に挿入している記号間の区切りである。
<第2フェーズの処理>
前述のフローチャートのステップS9における処理として、算出済みのP(n)にしたがって、確率的にブランク以外の記号(つまり、文字)の連続数であるNを選択する。選択されたNが2である場合を想定する。ここではN=2が選択される確率は、前記の例ではP(2)=1/3である。そして、N個(即ちここでは2個)の文字「明」の連続を、a(ハット)に連結する。すると、a(ハット)=「_/_/_/明/明」となる。スラッシュは、便宜的に挿入している記号間の区切りである。
<第1フェーズと第2フェーズの繰り返し>
入力文字列に含まれる残りの文字である「日」、「は」、「い」、「い」、「天」、「気」のそれぞれについても、上記の第1フェーズおよび第2フェーズの処理が繰り返される。
<第3フェーズの処理>
上記の繰り返し処理が終了した後に、第3フェーズの処理を行うことにより、CTC記号列に、最後に連続するブランク記号<blank>が付加される。
なお、入力文字列内において同一の文字が連続する場合(「明日はいい天気」における「いい」が該当)には、その連続する文字(「い」と「い」)の間のブランク記号<blank>の数Nは0にはならない。このことは、フローチャート内のステップS5からS7までの処理によって保証される。
以上のようにして、「明日はいい天気」という文字列を基に、例えば、「_/_/_/明/明/_/日/日/_/_/は/い/_/い/_/天/天/気/_/_」などといったCTC記号列が出力される。なお、N個のCTC記号列a(ハット)のそれぞれは、確率的要素(文字の連続数またはブランク記号<blank>の連続数)に基づいて生成されるため、偶然に一致する場合の組を除いて互いに異なる記号列となることが充分に期待される。
[推論時の処理]
次に、モデルの学習が完了した状態における音声認識装置1の推論時の処理について説明する。なお、推論を実行する前提として、目的とする領域のテキストデータを用いたEncoderの再学習も完了している。
入力される認識対象の音声xに対して、音声認識装置1は、下の式(42)によって、出力特徴量hを算出する。また、音声認識装置1は、下の式(43)によって、特徴量hを基に、CTC記号列a(ハット)を求める。
Figure 2023075883000043
Figure 2023075883000044
そして、音声認識装置1は、従来技術におけるCTC音声認識の手法と同様に、求められたCTC記号列a(ハット)に含まれる同一文字の連続を1文字にまとめるとともに、ブランク記号<blank>を削除することにより、音声認識結果のテキストを得る。つまり、音声認識装置1は、出力記号列(a(ハット))の中で繰り返されている文字を集約するとともに、当該出力記号列に含まれるブランク記号を削除することによって得られる文字列を音声認識結果として出力する。
図8は、本実施形態の音声認識装置1の内部構成の例を示すブロック図である。音声認識装置1は、コンピューターを用いて実現され得る。図示するように、そのコンピューターは、中央処理装置901と、RAM902と、入出力ポート903と、入出力デバイス904や905等と、バス906と、を含んで構成される。コンピューター自体は、既存技術を用いて実現可能である。中央処理装置901は、RAM902等から読み込んだプログラムに含まれる命令を実行する。中央処理装置901は、各命令にしたがって、RAM902にデータを書き込んだり、RAM902からデータを読み出したり、算術演算や論理演算を行ったりする。RAM902は、データやプログラムを記憶する。RAM902に含まれる各要素は、アドレスを持ち、アドレスを用いてアクセスされ得るものである。なお、RAMは、「ランダムアクセスメモリー」の略である。入出力ポート903は、中央処理装置901が外部の入出力デバイス等とデータのやり取りを行うためのポートである。入出力デバイス904や905は、入出力デバイスである。入出力デバイス904や905は、入出力ポート903を介して中央処理装置901との間でデータをやりとりする。バス906は、コンピューター内部で使用される共通の通信路である。例えば、中央処理装置901は、バス906を介してRAM902のデータを読んだり書いたりする。また、例えば、中央処理装置901は、バス906を介して入出力ポートにアクセスする。
なお、上述した実施形態における音声認識装置1の少なくとも一部の機能をコンピューターで実現することができる。その場合、この機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピューターシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM、DVD-ROM、USBメモリー等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。つまり、「コンピューター読み取り可能な記録媒体」とは、非一過性の(non-transitory)コンピューター読み取り可能な記録媒体であってよい。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、一時的に、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリーのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
なお、ニューラルネットワークの学習(パラメーターの更新)においては、算出された損失に基づく誤差逆伝播法を用いることができる。
以上、実施形態を説明したが、本発明はさらに下記のような変形例でも実施することが可能である。なお、複数の実施形態および変形例を、組み合わせることが可能な限りにおいて、組み合わせて実施してもよい。
[変形例1]
上記実施形態では、エンコーダーを3階層(第1層エンコーダー部30(Encoder・30)と、第2層エンコーダー部40(Encoder・40)と、第3層エンコーダー部50(Encoder・50))で実現した。エンコーダーの階層数を他の数としてもよい。例えば、エンコーダーの階層数を4以上としてもよい。そのような場合にも、少なくともエンコーダーの最終層(高レベル側)を含む層について、目的領域のテキストに基づく適応化を行えるようにする。
[変形例2]
図1に示した音声認識装置1の全体を実施する代わりに、図4に示したモデル適応化装置2のみを実施してもよい。その場合にも、モデル適応化装置2は、音声認識モデルの適応化を行うことができる。つまり、モデル適応化装置2は、目的領域のテキストに基づいて、音声認識モデルが目的領域に合った音声認識結果の文字列を出力するように、適応化を行うことができる。
[変形例3]
話題(分野、領域)ごとに異なるEncoder・50の再学習を予め行っておいてもよい。その場合には、音声認識対象の話題に合ったEncoder・50をその都度選択することにより、話題に合った音声認識結果の文字列が出力されることとなる。また、逆に、その都度、目的とする話題のテキストを用いて、Encoderの学習を行ってもよい。
[変形例4]
上記実施形態では、Encoder・50の再学習のために、擬似CTC記号列生成部120が擬似的なCTC記号列を生成した。変形例として、擬似CTC記号列生成部120を設ける代わりに、目的とする領域に属する記号列(擬似CTC記号列に相当するもの)を外部から与えるようにしてもよい。この場合にも、Adapterは、その記号列に基づいて、Encoder・50に入力するための特徴量を算出して、出力する。
[変形例5]
変形例5として、テキスト文字列を疑似的なCTC記号列に変換する前に、テキスト文字列における文字の置換処理を行ってもよい。このような置換処理を行うことにより、テキスト文字列は、Encoder・30が出力する文字列の誤りのパターンに似るという効果がある。そして、そのような置換処理後のテキスト文字列を基に、擬似的なCTC記号列を生成するようにする。つまり、このような誤りを含み得る文字列に対応するCTC記号列を基に、Adapterを介して、Encoder・50の再学習を行うことができる。これにより、認識性能のさらなる向上を期待することができる。
図9は、音声認識装置1内における、この変形例5による置換処理のための部分の機能構成を示すブロック図である。図示するように、変形例5による音声認識装置1(モデル適応化装置2)は、置換処理部115を備える。置換処理部115は、目標領域テキスト供給部110が供給するテキストデータ(文字列)における文字の置換の処理を行う。置換処理部115は、置換後のテキストデータ(文字列)を、擬似CTC記号列生成部120に渡す。変形例5においては、擬似CTC記号列生成部120は、目的領域テキスト供給部110から渡されるテキスト文字列を基に、置換処理部115が文字の置換を行った後の文字列を用いて、擬似的なCTC記号列を生成する。
変形例5で用いる出力文字確率分布の算出方法は、次の通りである。学習済みのIntermediate CTCに、Intermediate CTCの学習に使用した音声データを入力する。各音声データに対してEncoder・30が出力した最も高い確率であるアライメントa(ハット)は下の式(44)で表わされる。
Figure 2023075883000045
このa(ハット)の位置t=t´において、下の式(45)である場合を考える。
Figure 2023075883000046
上記の式(45)の場合に、t=t´の位置において、Encoder・30が各記号v(vはVの要素)を出力する確率を、下の式(46)の通りとする。つまり、式(46)が表す確率は、記号sが記号vによって置換される確率であり、tに依存しない。
Figure 2023075883000047
各学習データの各tにおいて、その位置の記号がs(sは、上記の通りVの要素)であった場合に、上記の式(46)の確率を計算し、計算された確率を平均したものを、出力文字確率分布P(v)と定義する。この出力文字確率分布が求まると、下の式(47)で表わされる値は、ある文字sが正解の文字である場合に、Encoder・30が誤って他の文字s´を出力する確率であるとみなせる。
Figure 2023075883000048
すべてのs(sはVの要素)に対し、出力文字確率分布P(v)を算出し、テキスト文字列の置換処理に利用することができる。
この変形例5におけるテキスト文字列の置換処理は、次のように行われる。つまり、テキスト文字列cに含まれる各文字c[j]に対して、下の式(48)で表わされる出力文字確率分布(上で獲得済み)にしたがって、文字の置換を行う。
Figure 2023075883000049
例えばテキスト文字列cが「天気予報です」である場合、c[1]=天である。また、文字の置換に関して、下の式(49)および式(50)の通りであるとする。
Figure 2023075883000050
Figure 2023075883000051
この例の場合には、0.8の確率で天から天への置換処理を行う。即ち、天の文字は変化せず、このような置換によって元の文字列cは変化しない。一方、0.1の確率で天から点への置換処理を行う。即ち、天が点に置換されるため、元の文字列cは「点気予報です」に変化する。上記の置換処理を、文字列cに含まれるすべてのc[j]について行うことによって、Encoder・30が出力する文字列の誤りに類似することを意図した文字列を得ることができる。そして、このような置換処理に基づいて得られるCTC記号列を用いて、Encoder・50の再学習を行うことができる。
つまり、変形例5において、置換処理部115は、所定の統計データを基に得られた出力文字確率分布にしたがって、目的とする領域に属するテキスト(目標領域テキスト供給部110から供給されるテキスト)に含まれる文字を別の文字で置換する処理を行う。また、擬似CTC記号列生成部120は、この置換処理部115が出力する置換処理後の目的とする領域に属するテキストを基に、CTC記号列を生成する処理を行う。
以上、この発明の実施形態(変形例を含む)について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
以上説明したように、本実施形態(変形例を含む)では、テキストデータのみによってend-to-end音声認識モデルを適応化することができる。つまり、テキストデータのみで(音声データなしで)、音声認識モデルをドメイン適応させ、対象ドメインの認識精度を向上させることが可能である。
[構成の効果の検証]
上で説明した実施形態による音声認識装置1の効果を検証するための実証実験を行った。実証実験に用いた第1の音声は、音声学に関する学会発表音声等を収録するCSJコーパスである。このCSJコーパスを用いて、Intermediate CTCの学習、およびAdapterの学習を行った。その後、上で学習済みのIntermediate CTCのうちのEncoderについて、天気予報のテキストデータを用いて、第1再学習手法および第2再学習手法のそれぞれでの再学習を行った。天気予報のテキストデータによる再学習の前後のそれぞれのEncoderを用いて、第2の音声である天気予報評価セットとCSJコーパス評価セットにおける文字誤り率(CER、Character Error Rate)を算出した。また、テキスト文字列の置換処理(変形例5で説明した処理)がある場合とない場合との文字誤り率を算出した。
第1再学習手法および第2再学習手法の両方に共通する実験の諸元は、次の通りである。
特徴量:ログメルスペクトログラム80次元+ピッチ3次元+Δ+ΔΔの合計249次元
文字種:3260種類
使用したモデルは、次の通りである。
Convolution: 畳み込みニューラルネットワーク2層
Encoder: Conformer 6層
Encoder: Conformer 3層
Encoder: Conformer 3層
Adapter: Conformer 6層
生成する疑似CTC記号列数N: 64
以下は、Encoder・50の再学習を行うための、第1再学習手法と第2再学習手法のそれぞれの個別の実験諸元と実験結果である。
第1再学習手法(ターゲットドメインのテキストのみを用いたドメイン適応)に関する学習用データは、次の通りである。
1)Intermediate CTCの学習: CSJコーパス
2)Adapterの学習: CSJコーパス
3)Encoderの再学習: 天気予報テキスト1000文
第1再学習手法に関する評価データは、次の通りである。
1)CSJ評価セットの、eval1、eval2、およびeval3
2)天気予報評価音声2時間分 ただし、Encoderの再学習に使用した天気予報テキスト1000文の音声は含まれていない。
第1再学習手法に関する学習諸元は、次の通りである。
1)Intermediate CTCの学習: 100エポック(epoch)中の、validation loss(検証損失)が最も低かったときのエポックを学習したモデルを使用
2)Adapterの学習: 50エポック中、validation loss が最も低かったときのエポックを学習したモデルを使用
3)Encoderの再学習: 20エポック中、最もCER(Character Error Rate,文字誤り率)の改善が見られたエポックを学習したモデルを使用
なお、疑似CTC文字列数Nは、64である。
下の表1は、Encoderの再学習(第1再学習手法の場合)の前後におけるCER(文字誤り率)の比較結果を示す。
Figure 2023075883000052
上の表1の通り、天気予報評価音声については、テキスト文字列の置換処理がない場合には、CERは、Encoderの再学習前の18.7%から15.5%に、3.2%改善した。テキスト文字列の置換処理がある場合(変形例5の場合)には、CERは、Encoderの再学習前の18.7%から13.7%に、5.0%改善した。逆に、CSJコーパスのeval1、eval2、eval3のそれぞれの音声については、当然ながら、Encoderの再学習を行ったことにより、CERが悪化している。CSJコーパスの評価データで、Encoderの再学習後において認識精度が劣化したのは、Encoderが、元のCSJコーパスの話題から天気予報の話題に適応し直したためである。
天気予報評価音声についての改善の具体例(ただし、テキスト文字列の置換処理がある場合)は、下記の通りである。
評価音声の発話: 「予想最低気温です」
Encoderの再学習前の認識結果:「予想最適基音です」
Encoderの再学習後の認識結果:「予想最低気温です」
以上のように、ここに記した実証実験では、天気予報のテキストデータのみを用いてEncoderの再学習を行い、推論時に天気予報の話題に適した記号列を出力させることが可能となったことを示せた。
第2再学習手法(ターゲットドメインのテキストと、ソースドメインの音声テキスト対とを用いたドメイン適応)に関する学習用データは、次の通りである。
1)Intermediate CTCの学習: CSJコーパス
2)Adapterの学習: CSJコーパス
3)Encoderの再学習: 天気予報テキスト1000文およびCSJコーパス
第2再学習手法に関する評価データは、次の通りである。
1)CSJ評価セットの、eval2
2)天気予報評価音声2時間分 ただし、Encoderの再学習に使用した天気予報テキスト1000文の音声は含まれていない。
第2再学習手法に関する学習諸元は、次の通りである。
1)Intermediate CTCの学習: 100エポック(epoch)中の、validation loss(検証損失)が最も低かったときのエポックを学習したモデルを使用
2)Adapterの学習: 50エポック中、validation loss が最も低かったときのエポックを学習したモデルを使用
3)Encoderの再学習: 20エポック中、最もCERの改善が見られたエポックを学習したモデルを使用(下の表2における、第2再学習手法でのEncoderの再学習後)
ただしエポックに関して、天気予報テキストの学習が一巡した際に1エポックとカウントした。
疑似CTC文字列数Nは、64である。
疑似CTC文字列と同時に学習するCSJ音声数Nは、64である。
下の表2は、Encoderの再学習(第2再学習手法の場合)の前後におけるCERの比較結果を示す。ただし、表2に示す再学習後の結果は、テキスト文字列の置換処理を行った場合(変形利5)である。
Figure 2023075883000053
表2に示す結果において、Encoderの再学習前と、第2再学習手法でのEncoderの再学習後との両方において、ソースドメインであるCSJ評価セット(CSJ eval2)のCERは、いずれも、5.2%である。つまり、ソースドメインにおける認識精度は、第2再学習手法での再学習によって劣化していない。一方で、ターゲットドメインである天気予報評価セット(天気予報)におけるCERは、再学習前の18.7%から、第2再学習手法による再学習後の15.3%へと改善されている。
表2において、第1再学習手法でのEncoderの再学習後(4エポックの場合および5エポックの場合)のCERは、比較対象である。これは、ソースドメインの音声認識精度を劣化させずにターゲットドメインの音声認識精度を改善する方法として、テキストデータのみを学習データとして用いた第1再学習手法による再学習を途中で停止させる方法が考えられるためである。つまり、第1再学習手法を用いた場合に、第2再学習手法を用いた場合の天気予報評価セットのCER(15.3%)と同等のCERが達成されるのが、4エポック(CERは15.5%)あるいは5エポック(CERは15.1%)である。第1再学習手法での再学習後4エポックの場合の、CSJ評価セット(CSJ eval2)のCERは5.8%である。また、第1再学習手法での再学習後5エポックの場合の、CSJ評価セット(CSJ eval2)のCERは6.1%である。つまり、4エポックの場合も5エポックの場合も、CSJ評価セット(CSJ eval2)でのCERは、再学習前の5.2%からは劣化している。つまり、ソースドメインの音声認識精度を劣化させないという目的においては、比較対象の第1再学習手法よりも第2再学習手法が有効であることを確認できた。
以上のように、第1再学習手法と第2再学習手法とは、適宜、使い分けることができる。また、第1再学習手法と第2再学習手法のいずれを用いる場合にも、本実施形態による再学習を行う方法は有効であることを示せた。つまり、予め学習させた汎用音声認識モデルに対し、認識させたい話題の音声に対する認識精度を向上させたい場合を想定する。例えば、流行り始めのスポーツの話題について、音声とテキストとの対のペアが入手できず、テキストのみが入手できる状況であると仮定する。このような状況において、対象スポーツの話題のテキストを用いて、本実施形態の適応化学習(Encoderの再学習)をすることにより、認識性能を改善することができる。
本発明は、例えば、音声認識処理や、音声認識のためのモデルの適応化の処理のために利用することができる。このような発明を利用できる業種は、広範囲に渡る。なお、本発明の利用範囲はここに例示したものには限られない。
1 音声認識装置
2 モデル適応化装置
10 音声供給部
20 畳み込みニューラルネットワーク部
30 第1層エンコーダー部(Encoder
32 CTC損失計算部
40 第2層エンコーダー部(Encoder
42 CTC損失計算部
50 第3層エンコーダー部(Encoder
52 CTC損失計算部
110 目的領域テキスト供給部
115 置換処理部
120 擬似CTC記号列生成部(擬似記号列生成部)
130 アダプター部
210 CTC記号列生成部(記号列生成部)
220 平均二乗誤差損失計算部(アダプター部用損失計算部)
230 CTC損失計算部(アダプター部用損失計算部)
901 中央処理装置
902 RAM
903 入出力ポート
904,905 入出力デバイス
906 バス

Claims (9)

  1. 音響特徴量のフレームの列を入力し前記音響特徴量のフレームに対応する記号の列として成る出力記号列を出力するように、複数階層で成るモデルを有し、前記複数階層のモデルのそれぞれが機械学習可能に構成されたエンコーダー部と、
    目的とする領域に属する記号列を入力し、前記エンコーダー部の最終層のモデルに入力するための特徴量を出力するアダプター部と、
    を備え、
    前記エンコーダー部の前記複数階層のモデルにおけるある階層のモデルから次の階層のモデルへは中間特徴量が渡されるものであり、
    前記エンコーダー部は、前記音響特徴量のフレーム列と前記出力記号列との関係に基づく機械学習をした後に、前記アダプター部が出力する前記特徴量を前記エンコーダー部の前記最終層のモデルに入力して前記最終層のモデルからの出力に基づく損失である第1損失を用いて前記最終層のモデルの前記目的とする領域への適応化を行うことを可能として構成された、
    音声認識装置。
  2. 前記目的とする領域に属するテキストを基に、前記テキスト内の文字の繰り返し、または前記テキスト内の文字と文字との間への0個以上のブランク記号の挿入、の少なくともいずれかを行うことによって、前記アダプター部に入力するための前記記号列を生成する擬似記号列生成部、
    をさらに備える、
    請求項1に記載の音声認識装置。
  3. 所定の統計データを基に得られた出力文字確率分布にしたがって、前記目的とする領域に属するテキストに含まれる文字を別の文字で置換する処理を行う置換処理部、
    をさらに備え、
    前記擬似記号列生成部は、前記置換処理部が出力する置換処理後の前記目的とする領域に属するテキストを基に、前記記号列を生成する、
    請求項2に記載の音声認識装置。
  4. 前記擬似記号列生成部は、
    前記テキスト内の文字を繰り返す際の同一文字の繰り返し回数を、前記音響特徴量のフレーム列と前記出力記号列との関係に基づいて学習済みの前記エンコーダー部における所定の階層の前記モデルから出力される特徴量に基づいて算出される記号列である中間記号列における同一文字の繰り返し回数に関する統計に基づいて決定し、
    前記テキスト内の文字と文字との間に挿入するブランク記号の連続する個数を、前記中間記号列における前記ブランク記号の連続する個数に関する統計に基づいて決定する、
    請求項2または3に記載の音声認識装置。
  5. 前記アダプター部を学習するために前記アダプター部への入力となる記号列を、前記音響特徴量に基づいて前記エンコーダー部の所定の層のモデルから出力された前記中間特徴量に基づいて生成する記号列生成部と、
    前記記号列生成部によって生成された前記記号列に基づいて前記アダプター部が出力する特徴量についての損失である第2損失を算出するアダプター部用損失計算部と、
    をさらに備え、
    前記アダプター部用損失計算部が算出した前記第2損失を用いて前記アダプター部の機械学習を行えるように構成した、
    請求項1から4までのいずれか一項に記載の音声認識装置。
  6. 前記アダプター部用損失計算部は、
    前記アダプター部から出力される特徴量を前提としたときの正解の出力記号列の尤度に基づく損失と、
    前記アダプター部から出力される特徴量と前記エンコーダー部において対応する階層のモデルからの出力である特徴量との差を表す損失と、
    に基づく前記第2損失を算出する、
    請求項5に記載の音声認識装置。
  7. 前記音声認識装置は、
    前記出力記号列の中で繰り返されている文字を集約するとともに、前記出力記号列に含まれるブランク記号を削除することによって得られる文字列を音声認識結果として出力する、
    請求項2または3に記載の音声認識装置。
  8. 前記エンコーダー部は、前記第1損失を用いて前記最終層のモデルの前記目的とする領域への適応化を行う際に、前記音響特徴量のフレーム列に基づいて前記エンコーダー部が有する前記複数階層で成るモデルが出力した記号列と、前記音響特徴量のフレーム列に対応する正解の前記出力記号列と、から得られる第3損失にも基づいた適応化を行う、
    請求項1から7までのいずれか一項に記載の音声認識装置。
  9. 音響特徴量のフレームの列を入力し前記音響特徴量のフレームに対応する記号の列として成る出力記号列を出力するように、複数階層で成るモデルを有し、前記複数階層のモデルのそれぞれが機械学習可能に構成されたエンコーダー部と、
    目的とする領域に属する記号列を入力し、前記エンコーダー部の最終層のモデルに入力するための特徴量を出力するアダプター部と、
    を備え、
    前記エンコーダー部の前記複数階層のモデルにおけるある階層のモデルから次の階層のモデルへは中間特徴量が渡されるものであり、
    前記エンコーダー部は、前記音響特徴量のフレーム列と前記出力記号列との関係に基づく機械学習をした後に、前記アダプター部が出力する前記特徴量を前記エンコーダー部の前記最終層のモデルに入力して前記最終層のモデルからの出力に基づく損失である第1損失を用いて前記最終層のモデルの前記目的とする領域への適応化を行うことを可能として構成された、
    音声認識装置、としてコンピューターを機能させるためのプログラム。
JP2022017159A 2021-11-19 2022-02-07 音声認識装置およびプログラム Pending JP2023075883A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021188801 2021-11-19
JP2021188801 2021-11-19

Publications (1)

Publication Number Publication Date
JP2023075883A true JP2023075883A (ja) 2023-05-31

Family

ID=86542275

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022017159A Pending JP2023075883A (ja) 2021-11-19 2022-02-07 音声認識装置およびプログラム

Country Status (1)

Country Link
JP (1) JP2023075883A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117558263A (zh) * 2024-01-10 2024-02-13 科大讯飞股份有限公司 语音识别方法、装置、设备及可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117558263A (zh) * 2024-01-10 2024-02-13 科大讯飞股份有限公司 语音识别方法、装置、设备及可读存储介质
CN117558263B (zh) * 2024-01-10 2024-04-26 科大讯飞股份有限公司 语音识别方法、装置、设备及可读存储介质

Similar Documents

Publication Publication Date Title
Popov et al. Grad-tts: A diffusion probabilistic model for text-to-speech
US11017761B2 (en) Parallel neural text-to-speech
Oord et al. Parallel wavenet: Fast high-fidelity speech synthesis
Higuchi et al. Improved Mask-CTC for non-autoregressive end-to-end ASR
CN111837178A (zh) 语音处理系统和处理语音信号的方法
US5268990A (en) Method for recognizing speech using linguistically-motivated hidden Markov models
CN108269568B (zh) 一种基于ctc的声学模型训练方法
JP5982297B2 (ja) 音声認識装置、音響モデル学習装置、その方法及びプログラム
Huang et al. Pretraining techniques for sequence-to-sequence voice conversion
JP2019159654A (ja) 時系列情報の学習システム、方法およびニューラルネットワークモデル
US20220319506A1 (en) Method and system for performing domain adaptation of end-to-end automatic speech recognition model
CN113205792A (zh) 一种基于Transformer和WaveNet的蒙古语语音合成方法
Fahmy et al. A transfer learning end-to-end arabic text-to-speech (tts) deep architecture
Inaguma et al. Orthros: Non-autoregressive end-to-end speech translation with dual-decoder
CN115836300A (zh) 用于文本到语音的自训练WaveNet
JP2023075883A (ja) 音声認識装置およびプログラム
Li et al. Bidirectional LSTM Network with Ordered Neurons for Speech Enhancement.
JP2004109590A (ja) 音響モデル作成方法および音声認識装置
Hsu et al. Parallel synthesis for autoregressive speech generation
Yoon et al. SC-CNN: Effective speaker conditioning method for zero-shot multi-speaker text-to-speech systems
Gref et al. Multi-Staged Cross-Lingual Acoustic Model Adaption for Robust Speech Recognition in Real-World Applications--A Case Study on German Oral History Interviews
EP4068279B1 (en) Method and system for performing domain adaptation of end-to-end automatic speech recognition model
Carvalho et al. TRIBUS: An end-to-end automatic speech recognition system for European Portuguese.
JP2024027914A (ja) 音声認識装置およびプログラム
Zhang et al. Discriminatively trained sparse inverse covariance matrices for speech recognition