(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-15
(45)【発行日】2023-11-24
(54)【発明の名称】推論器、推論プログラムおよび学習方法
(51)【国際特許分類】
G10L 15/10 20060101AFI20231116BHJP
G10L 15/16 20060101ALI20231116BHJP
【FI】
G10L15/10 500Z
G10L15/16
(21)【出願番号】P 2019163555
(22)【出願日】2019-09-09
【審査請求日】2022-08-10
(73)【特許権者】
【識別番号】301022471
【氏名又は名称】国立研究開発法人情報通信研究機構
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】李 勝
(72)【発明者】
【氏名】ルー シュガン
(72)【発明者】
【氏名】丁 塵辰
(72)【発明者】
【氏名】河原 達也
(72)【発明者】
【氏名】河井 恒
【審査官】中村 天真
(56)【参考文献】
【文献】特表平09-500223(JP,A)
【文献】特開2010-072446(JP,A)
【文献】特開2014-229124(JP,A)
【文献】米国特許第05758023(US,A)
【文献】米国特許出願公開第2016/0110642(US,A1)
【文献】米国特許出願公開第2019/0189111(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 15/00-15/34
G10L 25/00-25/93
(57)【特許請求の範囲】
【請求項1】
複数の言語のうち任意の言語で発話された音声信号の入力を受けて、対応するテキストを出力する推論器であって、
前記音声信号の音声特徴を示す入力シーケンスを受けて、対応するテキストに含まれる文字の特徴を示す、文字レベルとは異なるレベルの表現を出力する学習済モデルと、
予め定められた文字と当該文字の特徴との対応関係を参照して、前記学習済モデルから出力される表現から対応するテキストを再構成する再構成部とを備え
、
前記学習済モデルから出力される表現は、対応するテキストに含まれる各文字の構造を特定する情報を含む、推論器。
【請求項2】
複数の言語のうち任意の言語で発話された音声信号の入力を受けて、対応するテキストを出力する推論器であって、
前記音声信号の音声特徴を示す入力シーケンスを受けて、対応するテキストに含まれる文字の特徴を示す、文字レベルとは異なるレベルの表現を出力する学習済モデルと、
予め定められた文字と当該文字の特徴との対応関係を参照して、前記学習済モデルから出力される表現から対応するテキストを再構成する再構成部とを備え
、
前記学習済モデルから出力される表現は、対応するテキストがいずれの言語であるかを特定するための情報を含む、推論器。
【請求項3】
前記学習済モデルから出力される表現は、対応するテキストに含まれる各文字の発音を特定する情報を含む、請求項
2に記載の推論器。
【請求項4】
前記文字の発音を特定する情報は、音韻構造を表現するユニバーサル特徴に基づいて、対応する文字の発音を特定する情報を含む、請求項3に記載の推論器。
【請求項5】
請求項1~4のいずれか1項に記載の推論器をコンピュータで実現するための推論プログラム。
【請求項6】
複数の言語のうち任意の言語で発話された音声信号の入力を受けて、対応するテキストを出力する推論器を学習する学習方法であって、
音声信号と対応するテキストとを用意するステップと、
前記テキストに含まれる文字の特徴を示す、文字レベルとは異なるレベルの表現を生成するステップと、
前記音声信号の音声特徴を示す入力シーケンスを前記推論器に入力して得られる推論結果と、対応する表現との誤差に基づいて、前記推論器を規定するパラメータを最適化するステップとを備え
、
前記文字レベルとは異なるレベルの表現
は、対応するテキストに含まれる各文字の構造を特定する情報、または、対応するテキストがいずれの言語であるかを特定するための情報を含む、学習方法。
【発明の詳細な説明】
【技術分野】
【0001】
本技術は、音声認識タスクを実現するための推論器、推論プログラムおよび学習方法に関する。
【背景技術】
【0002】
音声認識分野においては、音響モデル、言語モデル、および辞書(lexicon)を一体化したニューラルネットワークである、エンド・トゥ・エンド(end-to-end)モデルが検討および提案されている(非特許文献1および2など参照)。音声認識タスクに向けられたエンド・トゥ・エンドモデルとして、Transformerベースの自動音声認識(ASR:Automatic Speech Recognition)システムが注目されている(非特許文献3など参照)。Transformerベースのエンド・トゥ・エンドモデルを用いることで、ASRシステムの構築および学習を容易化できる。
【0003】
非特許文献4および5は、中国語に関して、Transformerベースのエンド・トゥ・エンド音声認識システムにおける音響モデルの研究成果を開示する。
【0004】
また、非特許文献6および7は、単一のモデルを用いた多言語エンド・トゥ・エンド音声認識システムを効率的に学習する方法を開示する。より具体的には、各発話の先頭に、当該発話がいずれの言語であるかを示す特定のワード<Language Mark>(例えば、<English>,<Mandarin>,<Japanese>,<German>など)を追加したデータセットを用いて学習を行う。<Language Mark>がラベルとして取り扱われる。
【先行技術文献】
【非特許文献】
【0005】
【文献】A. Graves and N. Jaitly, "Towards End-to-End speech recognition with recurrent neural networks," in Proc. ICML, 2014.
【文献】A. W. Chan, N. Jaitly, Q. Le, and O. Vinyals, "Listen, attend and spell: A neural network for large vocabulary conversational speech recognition," in Proc. IEEE-ICASSP, 2016.
【文献】A. Vaswani, N. Shazeer, N. Parmar, J. Uszkoreit, L. Jones, A. Gomez, L. Kaiser, and I. Polosukhin, "Attention is all you need," in CoRR abs/1706.03762, 2017.
【文献】S. Zhou, L. Dong, S. Xu, and B. Xu, "A comparison of modeling units in sequence-to-sequence speech recognition with the transformer on Mandarin Chinese," in CoRR abs/1805.06239, 2018.
【文献】S. Zhou, L. Dong, S. Xu, and B. Xu, "Syllable-based sequence-to-sequence speech recognition with the transformer in mandarin Chinese," in Proc. INTERSPEECH, 2018.
【文献】S. Zhou, S. Xu, and B. Xu, "Multilingual end-to-end speech recognition with a single transformer on low-resource languages," in CoRR abs/1806.05059, 2018.
【文献】B. Li and et al., "Multi-dialect speech recognition with a dingle sequence-to- sequence model," in CoRR abs/1806.05059, 2018.
【発明の概要】
【発明が解決しようとする課題】
【0006】
上述の非特許文献6および7に開示される方法は、文字(character)レベルで学習を行うものであり、複数の言語を同時に学習した場合(すなわち、単一のモデルを用いて多言語の音声認識システムを構築使用とした場合)には、トークンの数が膨大となり、パラメータサイズが巨大化するという課題がある。
【0007】
本技術は、より少ないパラメータサイズのモデルを用いて、多言語エンド・トゥ・エンド音声認識システムを実現するための技術を提供することを目的とする。
【課題を解決するための手段】
【0008】
ある実施の形態によれば、複数の言語のうち任意の言語で発話された音声信号の入力を受けて、対応するテキストを出力する推論器が提供される。推論器は、前記音声信号の音声特徴を示す入力シーケンスを受けて、対応するテキストに含まれる文字の特徴を示す、文字レベルとは異なるレベルの表現を出力する学習済モデルと、予め定められた文字と当該文字の特徴との対応関係を参照して、前記学習済モデルから出力される表現から対応するテキストを再構成する再構成部とを含む。
【0009】
前記学習済モデルから出力される表現は、対応するテキストに含まれる各文字の構造を特定する情報を含んでいてもよい。
【0010】
前記文字の構造を特定する情報は、対応する文字を構成する1または複数の文字部品を特定する情報を含んでいてもよい。
【0011】
前記文字の構造を特定する情報は、前記1または複数の文字部品の配置を特定する情報を含んでいてもよい。
【0012】
前記対応関係は、言語ごとに、1または複数の文字部品と対応する文字との対応関係を規定してもよい。
【0013】
前記学習済モデルから出力される表現は、対応するテキストに含まれる各文字の発音を特定する情報を含んでいてもよい。
【0014】
前記文字の発音を特定する情報は、音韻構造を表現するユニバーサル特徴に基づいて、対応する文字の発音を特定する情報を含んでいてもよい。
【0015】
前記文字の発音を特定する情報は、対応するテキストに含まれる単語をさらに分解した文字ごとに発音を規定する情報を含んでいてもよい。
【0016】
前記対応関係は、言語ごとに、発音を特定する情報と対応する文字との対応関係を規定してもよい。
【0017】
別の実施の形態によれば、上記の推論器をコンピュータで実現するための推論プログラムが提供される。
【0018】
さらに別の実施の形態によれば、複数の言語のうち任意の言語で発話された音声信号の入力を受けて、対応するテキストを出力する推論器を学習する学習方法が提供される。学習方法は、音声信号と対応するテキストとを用意するステップと、前記テキストに含まれる文字の特徴を示す、文字レベルとは異なるレベルの表現を生成するステップと、前記音声信号の音声特徴を示す入力シーケンスを前記推論器に入力して得られる推論結果と、対応する表現との誤差に基づいて、前記推論器を規定するパラメータを最適化するステップとを含む。
【0019】
さらに別の実施の形態によれば、コンピュータに上記の学習方法を実行させるための学習プログラムが提供される。
【発明の効果】
【0020】
本技術によれば、より少ないパラメータサイズのモデルを用いて、多言語エンド・トゥ・エンド音声認識システムを実現できる。
【図面の簡単な説明】
【0021】
【
図1】本発明の関連技術に従うTransformerの一例を示す模式図である。
【
図2】本実施の形態に従う音声認識システムを実現するハードウェア構成の一例を示す模式図である。
【
図3】第1の実施例に従う音声認識システムの概要を示す模式図である。
【
図4】第1の実施例に従う音声認識システムにおける文字部品への分解の方法を説明するための図である。
【
図5】第1の実施例に従う音声認識システムの文字合成部において利用される文字部品対応テーブルの一例を示す図である。
【
図6】第1の実施例に従う音声認識システムの学習処理を説明するための模式図である。
【
図7】第1の実施例に従う音声認識システムの学習処理の手順を示すフローチャートである。
【
図8】第1の実施例に従う音声認識システムの推論処理の手順を示すフローチャートである。
【
図9】第2の実施例に従う音声認識システムの概要を示す模式図である。
【
図10】第2の実施例に従う音声認識システムにおける学習処理および推論処理の内容を説明するための模式図である。
【
図11】第2の実施例に従う音声認識システムにおけるユニバーサル音声表現に係る処理を説明するための図である。
【
図12】第2の実施例に従う音声認識システムの文字変換部において利用される音声特徴対応テーブルの一例を示す図である。
【
図13】第2の実施例に従う音声認識システムの学習処理の手順を示すフローチャートである。
【
図14】第2の実施例に従う音声認識システムの推論処理の手順を示すフローチャートである。
【発明を実施するための形態】
【0022】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
【0023】
[A.概要]
音声認識タスクに用いられる従来のモデル(典型的には、DNN-HMMモデル)は、1フレームの発話に対して1つのトークンのみがラベルとして使用できる。これに対して、Transformerなどのエンド・トゥ・エンドモデルでは、1フレームの発話に対して一連のトークンを関連付けることができ、これによってより強力な表現能力を発揮する。
【0024】
本実施の形態に従う音声認識システムは、エンド・トゥ・エンドモデルを用いて多言語対応の音声認識タスクを実行する。本実施の形態に従う音声認識システムは、既存の音声認識システムのような文字(character)レベルではなく、異なるレベルの表現(representation)を用いる。
【0025】
より具体的には、言語間の類似性に着目した表現を利用することで、パラメータサイズを低減する。このような言語間の類似性の一例として、以下では、個々の文字が意味を表す表意文字(典型的には、漢字)の構造に着目する例(第1の実施例)、および、個々の文字が音素または音節を表す表音文字(あるいは、音標文字)の構造に着目する例(第2の実施例)について例示する。なお、本発明の技術的範囲は、表意文字および表音文字に限られず、言語間の任意の類似性を利用した音声認識システムを包含するものである。
【0026】
第1の実施例(表意文字)は、類似した表意文字(典型的には、漢字)を利用する複数の言語に対して単一のモデルを用いる場合を想定しており、漢字を「へん」と「つくり」といった1または複数の文字部品の組み合わせと捉えて、学習済モデルを構築する。
【0027】
第2の実施例(表音文字)は、類似した表音文字を利用する複数の言語に対して単一のモデルを用いる場合を想定しており、文字(character)を1または複数の音調特徴(articulatory feature)の組み合わせと捉えて、学習済モデルを構築する。
【0028】
このような学習済モデルを採用することで、モデルの規模(パラメータサイズ)を抑制しつつ、多言語対応のリアルタイムな音声認識システムを実現できる。さらに、認識性能の向上も期待できる。
【0029】
以下、本実施の形態に従う音声認識システムの詳細について説明する。
[B.Transformer]
本実施の形態に従う音声認識システムには、どのようなエンド・トゥ・エンドモデルを用いてもよい。現時点では、例えば、Transformer、LSTM(Long short-term memory)を用いたモデル、BERTと称されるモデルなどが挙げられる。以下の説明においては、典型例として、Transformerベースのエンド・トゥ・エンドモデルを採用する。但し、技術の進歩に伴って新たなエンド・トゥ・エンドモデルが開発された場合には、そのような新たなモデルにも適用可能であることは自明である。
【0030】
以下、一般的なTransformerについて説明する。
図1は、本発明の関連技術に従うTransformer10の一例を示す模式図である。
図1を参照して、Transformer10は、学習済モデルであり、ニュートラルネットワークの一形態に相当する。
【0031】
Transformer10は、スタックされたN層分のエンコーダブロック20とM層分のデコーダブロック40とを含む。スタックされたN層分のエンコーダブロック20をまとめてエンコーダ200とも称す。スタックされたM層分のデコーダブロック40をまとめてデコーダ400とも称す。
【0032】
エンコーダ200は、入力シーケンス2から中間シーケンスを出力する。デコーダ400は、エンコーダ200から出力される中間シーケンスおよび先に出力された出力シーケンスに基づいて出力シーケンス70を出力する。
【0033】
エンコーダ200(すなわち、N層分のエンコーダブロック20のうち先頭層)には、入力埋め込み(Input Embedding)層4、位置埋め込み層(Positional Embedding)層6および加算器8により生成される入力トークン列が入力される。エンコーダ200(すなわち、N層分のエンコーダブロック20のうち最終層)は、算出結果として、中間センテンス表現を出力する。
【0034】
入力埋め込み層4は、センテンスなどの入力シーケンス2を、所定単位で1または複数のトークンに分割するとともに、各分割したトークンの値を示す所定次元のベクトルを生成する。位置埋め込み層6は、各トークンが入力シーケンス2内のいずれの位置に存在しているのかを示す値である位置埋め込み(positional embedding)を出力する。加算器8は、入力埋め込み層4からのシーケンスに、位置埋め込み層6からの位置埋め込みを付加する。
【0035】
エンコーダブロック20の各々は、MHA(Multi-head Attention)層22と、フィードフォワード(Feed Forward)層26と、加算・正則化(Add & Norm)層24,28とを含む。
【0036】
MHA層22は、入力トークン列(ベクトル)についてAttentionを算出する。加算・正則化層24は、入力トークン列(ベクトル)にMHA層22から出力されるベクトルを加算した上で、任意の手法で正則化(normalize)する。フィードフォワード層26は、入力されたベクトルに対して位置(すなわち、入力される時刻)をシフトする。加算・正則化層28は、加算・正則化層24から出力されるベクトルに、フィードフォワード層26から出力されるベクトルを加算した上で、任意の手法で正則化する。
【0037】
デコーダ400(すなわち、M層分のデコーダブロック40のうち先頭層)には、出力埋め込み(Output Embedding)層14、位置埋め込み層(Positional Embedding)層16および加算器18により生成される出力トークン列が入力される。デコーダ400(すなわち、M層分のデコーダブロック40のうち最終層)は、算出結果として、出力シーケンスを出力する。
【0038】
出力埋め込み層14は、既出力シーケンス(前回の出力シーケンスに対して時刻を一致させるためにシフトされたもの)(Outputs(Shifted right))12を、所定単位で1または複数のトークンに分割するとともに、各分割したトークンの値を示す所定次元のベクトルを生成する。位置埋め込み層16は、各トークンが既出力シーケンス12内のいずれの位置に存在しているのかを示す値である位置埋め込み(positional embedding)を出力する。加算器18は、出力埋め込み層14からのトークン列に、位置埋め込み層16からの位置埋め込みを付加する。
【0039】
デコーダブロック40の各々は、MMHA(Masked Multi-head Attention)層42と、MHA(Multi-head Attention)層46と、フィードフォワード(Feed Forward)層50と、加算・正則化(Add & Norm)層44,48,52とを含む。すなわち、デコーダブロック40は、エンコーダブロック20と類似した構成となっているが、MMHA層42および加算・正則化層44を含んでいる点が異なっている。
【0040】
MMHA層42は、先に算出されたベクトルのうち存在し得ないベクトルに対してマスク処理を実行する。加算・正則化層44は、出力トークン列(ベクトル)にMMHA層42から出力されるベクトルを加算した上で、任意の手法で正則化する。
【0041】
MHA層46は、エンコーダブロック20の加算・正則化層28から出力される中間センテンス表現、および、加算・正則化層44から出力されるベクトルについて、Attentionを算出する。MHA層46の基本的な処理は、MHA層22と同様である。加算・正則化層48は、加算・正則化層44から出力されるベクトルに、MHA層46から出力されるベクトルを加算した上で、任意の手法で正則化する。フィードフォワード層50は、入力されたベクトルに対して位置(すなわち、入力される時刻)をシフトする。加算・正則化層52は、MHA層46から出力されるベクトルに、フィードフォワード層50から出力されるベクトルを加算した上で、任意の手法で正則化する。
【0042】
Transformer10は、出力層として、ソフトマックス(Softmax)層60を含む。ソフトマックス層60は、デコーダ400から出力されるベクトルをソフトマックス関数に入力して得られる結果を出力シーケンス70として出力する。
【0043】
[C.ハードウェア構成]
次に、本実施の形態に従う音声認識システムを実現するハードウェア構成の一例について説明する。
【0044】
図2は、本実施の形態に従う音声認識システムを実現するハードウェア構成の一例を示す模式図である。音声認識システムは、典型的には、コンピュータの一例である情報処理装置500を用いて実現される。
【0045】
図2を参照して、音声認識システムを実現する情報処理装置500は、主要なハードウェアコンポーネントとして、CPU(central processing unit)502と、GPU(graphics processing unit)504と、主メモリ506と、ディスプレイ508と、ネットワークインターフェイス(I/F:interface)510と、二次記憶装置512と、入力デバイス522と、光学ドライブ524とを含む。これらのコンポーネントは、内部バス528を介して互いに接続される。
【0046】
CPU502および/またはGPU504は、本実施の形態に従う音声認識システムの実現に必要な処理を実行するプロセッサである。CPU502およびGPU504は、複数個配置されてもよいし、複数のコアを有していてもよい。
【0047】
主メモリ506は、プロセッサ(CPU502および/またはGPU504)が処理を実行するにあたって、プログラムコードやワークデータなどを一時的に格納(あるいは、キャッシュ)する記憶領域であり、例えば、DRAM(dynamic random access memory)やSRAM(static random access memory)などの揮発性メモリデバイスなどで構成される。
【0048】
ディスプレイ508は、処理に係るユーザインターフェイスや処理結果などを出力する表示部であり、例えば、LCD(liquid crystal display)や有機EL(electroluminescence)ディスプレイなどで構成される。
【0049】
ネットワークインターフェイス510は、インターネット上またはイントラネット上の任意の情報処理装置などとの間でデータを遣り取りする。ネットワークインターフェイス510としては、例えば、イーサネット(登録商標)、無線LAN(local area network)、Bluetooth(登録商標)などの任意の通信方式を採用できる。
【0050】
入力デバイス522は、ユーザからの指示や操作などを受け付けるデバイスであり、例えば、キーボード、マウス、タッチパネル、ペンなどで構成される。また、入力デバイス522は、学習およびデコーディングに必要な音声信号を収集するための集音デバイスを含んでいてもよいし、集音デバイスにより収集された音声信号の入力を受け付けるためのインターフェイスを含んでいてもよい。
【0051】
光学ドライブ524は、CD-ROM(compact disc read only memory)、DVD(digital versatile disc)などの光学ディスク526に格納されている情報を読出して、内部バス528を介して他のコンポーネントへ出力する。光学ディスク526は、非一過的(non-transitory)な記録媒体の一例であり、任意のプログラムを不揮発的に格納した状態で流通する。光学ドライブ524が光学ディスク526からプログラムを読み出して、二次記憶装置512などにインストールすることで、コンピュータが情報処理装置500として機能するようになる。したがって、本発明の主題は、二次記憶装置512などにインストールされたプログラム自体、または、本実施の形態に従う機能や処理を実現するためのプログラムを格納した光学ディスク526などの記録媒体でもあり得る。
【0052】
図2には、非一過的な記録媒体の一例として、光学ディスク526などの光学記録媒体を示すが、これに限らず、フラッシュメモリなどの半導体記録媒体、ハードディスクまたはストレージテープなどの磁気記録媒体、MO(magneto-optical disk)などの光磁気記録媒体を用いてもよい。
【0053】
二次記憶装置512は、コンピュータを情報処理装置500として機能させるために必要なプログラムおよびデータを格納する。例えば、ハードディスク、SSD(solid state drive)などの不揮発性記憶装置で構成される。
【0054】
より具体的には、二次記憶装置512は、図示しないOS(operating system)の他、学習処理を実現するための学習プログラム514と、音声認識システムに用いられるモデルの構造を定義するモデル定義データ516と、音声認識システムに用いられる学習済モデルを規定する複数のパラメータからなるパラメータセット518と、推論プログラム520と、トレーニングデータセット530とを格納している。
【0055】
学習プログラム514は、プロセッサ(CPU502および/またはGPU504)により実行されることで、パラメータセット518を決定するための学習処理を実現する。すなわち、学習プログラム514は、コンピュータに推論器(音声認識システム)を学習するための学習処理を実行させる。
【0056】
モデル定義データ516は、音声認識システムを構成するモデルに含まれるコンポーネントおよびコンポーネント間の接続関係などを定義するための情報を含む。
【0057】
パラメータセット518は、音声認識システムを構成する各コンポーネントについてのパラメータを含む。パラメータセット518に含まれる各パラメータは、学習プログラム514の実行により最適化される。
【0058】
推論プログラム520は、パラメータセット518により規定されるモデルを用いた推論処理を実行する。すなわち、推論プログラム520は、後述するような推論器をコンピュータで実現する。トレーニングデータセット530は、
図4に示すようなデータの組み合わせからなる。
【0059】
プロセッサ(CPU502および/またはGPU504)がプログラムを実行する際に必要となるライブラリや機能モジュールの一部を、OSが標準で提供するライブラリまたは機能モジュールにより代替してもよい。この場合には、プログラム単体では、対応する機能を実現するために必要なプログラムモジュールのすべてを含むものにはならないが、OSの実行環境下にインストールされることで、目的の処理を実現できる。このような一部のライブラリまたは機能モジュールを含まないプログラムであっても、本発明の技術的範囲に含まれ得る。
【0060】
また、これらのプログラムは、上述したようないずれかの記録媒体に格納されて流通するだけでなく、インターネットまたはイントラネットを介してサーバ装置などからダウンロードすることで配布されてもよい。
【0061】
図2には、単一のコンピュータを用いて情報処理装置500を構成する例を示すが、これに限らず、コンピュータネットワークを介して接続された複数のコンピュータが明示的または黙示的に連携して、音声認識システムを構成する学習済モデルおよび学習済モデルを用いた推論器を実現するようにしてもよい。
【0062】
プロセッサ(CPU502および/またはGPU504)がプログラムを実行することで実現される機能の全部または一部を、集積回路などのハードワイヤード回路(hard-wired circuit)を用いて実現してもよい。例えば、ASIC(application specific integrated circuit)やFPGA(field-programmable gate array)などを用いて実現してもよい。
【0063】
当業者であれば、本発明が実施される時代に応じた技術を適宜用いて、本実施の形態に従う情報処理装置500を実現できるであろう。
【0064】
説明の便宜上、同一の情報処理装置500を用いて、学習処理および推論処理を実行する例を示すが、学習処理および推論処理を異なるハードウェアを用いて実現してもよい。
【0065】
[D.第1の実施例(表意文字)]
第1の実施例として、漢字などの表意文字を用いる複数の言語に対して単一のモデルを用いた音声認識システムについて説明する。
【0066】
(d1:概要)
図3は、第1の実施例に従う音声認識システム100Aの概要を示す模式図である。
図3を参照して、音声認識システム100Aは、音声特徴を示す入力シーケンス2の入力を受けて、対応するテキストを出力シーケンス70として出力する。すなわち、音声認識システム100Aは、複数の言語のうち任意の言語で発話された音声信号の入力を受けて、対応するテキストを出力する推論器に相当する。
【0067】
出力シーケンス70の先頭には、いずれの言語であるかを示す言語ラベル72(<TW>,<HK>,<MA>など)が付加されている。このような言語ラベル72が付加されることによって、いずれの言語であるかを一意に特定できる。
【0068】
音声認識システム100Aは、Transformer10と、文字合成部80とを含む。
【0069】
Transformer10は、音声信号の音声特徴を示す入力シーケンス2を受けて、対応するテキストに含まれる文字の特徴を示す、文字(character)レベルとは異なるレベルの表現を出力する学習済モデルに相当する。より具体的には、Transformer10は、漢字を構成する1または複数の文字部品を示す、文字レベルではなく、異なるレベルの表現(以下、「文字部品表現82」あるいは「Decomposed Character representation」とも称す。)を用いる。文字部品表現82は、対応するテキストに含まれる各文字の構造を特定する情報を含む(詳細については後述する)。
【0070】
本明細書において、「文字部品」は、出力すべきテキストを構成する少なくとも一部分を構成する要素を意味し、言語体系などに応じて任意に決定できる単位で規定される。
【0071】
文字合成部80は、予め定められた文字と当該文字の特徴との対応関係を参照して、Transformer10(学習済モデル)から出力される表現から対応するテキストを再構成する再構成部に相当する。より具体的には、文字合成部80は、Transformer10から出力される文字部品表現82の入力を受けて、出力すべき文字(漢字)に合成して、出力シーケンス70として出力する。
【0072】
第1の実施例においては、漢字を構成する1または複数の文字部品に分解した状態を示す表現を用いてモデルの学習を行う。
【0073】
(d2:文字部品表現82)
図3に示す文字部品表現82は、典型的には、以下のようなデータ構造のシーケンスとして出力される。
【0074】
(1)<言語ラベル>[部品特定情報],[部品特定情報],・・・,<区切文字>,[部品特定情報],[部品特定情報],・・・
(2)<言語ラベル>[構造特定情報],[部品特定情報],[部品特定情報],・・・,<区切文字>,[部品特定情報],[部品特定情報],・・・
文字部品表現82に含まれる<言語ラベル>は、いずれの言語であるかを特定するための情報を含む。<言語ラベル>としては、例えば、<TW>(台湾),<HK>(香港),<MA>(中国標準語)などが用いられる。
【0075】
文字部品表現82に含まれる[部品特定情報]は、対応する文字を構成する文字部品を特定するための情報を含む。文字部品表現82に含まれる<区切文字>は、出力される文字の区切りを意味し、<区切文字>から次の<区切文字>までに存在する[部品特定情報]に基づいて、出力すべき文字が再構成される。<区切文字>としては、単にブランク(無出力)を用いてもよい。このように、文字部品表現82は、対応する文字を構成する1または複数の文字部品を特定する情報を含む。
【0076】
文字部品表現82に含まれる[構造特定情報]は、対応する文字を構成する文字部品の組み合わせに係る構造を特定するための情報を含む。例えば、ある文字が横並びで配置された2つの文字部品で構成されている場合において、[構造特定情報]は、横並びで配置されていることを示す情報を含むことになる。このように、文字部品表現82は、1または複数の文字部品の配置を特定する情報を含んでいてもよい。
【0077】
なお、上述した文字部品表現82のデータ構造は一例であり、文字を再構成できるものであれば、どのようなデータ構造を採用してもよい。さらに、文字部品表現82には、より多くの情報を含めるようにしてもよい。
【0078】
(d3:文字部品への分解)
次に、文字を文字部品に分解する方法の一例について説明する。
【0079】
図4は、第1の実施例に従う音声認識システム100Aにおける文字部品への分解の方法を説明するための図である。
図4を参照して、複数の文字の構造802が規定されており、各文字についていずれの構造802に該当するのかが決定された上で、決定された構造802に応じて、各文字が1または複数の文字部品804に分解される。
【0080】
したがって、各文字からは、決定された構造802の情報と、当該決定された構造802の情報に基づいて分解された1または複数の文字部品804との情報が生成される(単純分解806)。
【0081】
さらに、文字によっては、複数の構造802を有していると決定され、それぞれの構造802に従って文字部品804の情報が生成されてもよい(混合構造808)。
【0082】
文字の構造802については、漢字の構造に基づいて任意のパターンを決定すればよいが、典型例としては、12種類の構造802を予め用意すればよい。
【0083】
(d4:文字合成部80)
次に、第1の実施例に従う音声認識システム100Aの文字合成部80(
図3参照)における処理例について説明する。
【0084】
上述したように、文字部品表現82は、出力すべき文字を構成する1または複数の文字部品を特定するための部品特定情報からなる。文字合成部80は、文字部品表現82に含まれる文字ごとに規定される1または複数の部品特定情報に基づいて、出力すべき文字を再構成する。文字部品表現82は文字部品対応テーブル84を有しており、文字部品対応テーブル84に基づいて、文字が再構成される。
【0085】
文字部品対応テーブル84は、言語ごとに、1または複数の文字部品と対応する文字との対応関係を規定する。
【0086】
図5は、第1の実施例に従う音声認識システム100Aの文字合成部80において利用される文字部品対応テーブル84の一例を示す図である。
図5を参照して、文字部品対応テーブル84は、1または複数の文字部品の組み合わせを規定する組み合わせ定義842と、対応する文字844との組を複数含む。
【0087】
文字合成部80は、Transformer10から出力される文字部品表現82に含まれる区切文字の位置で区切って、1または複数の部品特定情報を抽出する。そして、文字合成部80は、抽出した1または複数の部品特定情報をキーにして文字部品対応テーブル84を参照することで、対応する文字を決定する。文字部品対応テーブル84を参照した文字の決定処理を繰り返すことで、入力シーケンス2に対応するテキストを出力シーケンス70として出力する。
【0088】
文字部品対応テーブル84は、言語ごとに用意されてもよい。この場合には、文字合成部80は、Transformer10から出力される文字部品表現82のシーケンスの先頭に含まれる言語ラベルの値に基づいて、対応する言語の文字部品対応テーブル84を選択する。
【0089】
さらに、文字部品対応テーブル84は、各データに関連付けて構造特定情報(対応する文字を構成する文字部品の組み合わせに係る構造を特定するための情報)を含んでいてもよい。構造特定情報を付加することで、同じ文字部品で構成されるものの、配置が異なる文字同士を区別することができる。
【0090】
上述のような文字部品対応テーブル84を参照することで、Transformer10から出力される文字部品表現82から出力シーケンス70を生成できる。
【0091】
(d5:学習処理)
次に、第1の実施例に従う音声認識システム100Aの学習処理についての一例について説明する。
【0092】
図6は、第1の実施例に従う音声認識システム100Aの学習処理を説明するための模式図である。
図6を参照して、トレーニングデータセットとして、音声特徴を示す入力シーケンス2と対応するテキスト64との組が用意される。テキスト64には、いずれの言語であるかを示す言語ラベルを含んでいてもよい。
【0093】
学習処理においては、前処理として、テキスト64に含まれる各文字を1または複数の文字部品に分解した文字部品表現82が生成される。文字部品表現82の生成に際して、文字部品対応テーブル84が必要に応じて参照されるとともに、文字部品対応テーブル84の内容が適宜更新されてもよい。
【0094】
そして、入力シーケンス2と対応する文字部品表現82との組をトレーニングデータとして用いて、モデル(Transformer10)を学習する。モデルの学習方法自体については、公知の技術を適宜採用することができる。
【0095】
図7は、第1の実施例に従う音声認識システム100Aの学習処理の手順を示すフローチャートである。
図7に示す主要なステップは、典型的には、情報処理装置500のプロセッサ(CPU502および/またはGPU504)が学習プログラム514を実行することで実現される。
【0096】
図7を参照して、情報処理装置500は、音声特徴を示す入力シーケンス2と対応するテキストとの組からなるトレーニングデータセットの入力を受け付ける(ステップS100)。情報処理装置500は、受け付けたトレーニングデータセットのテキストに含まれる各文字を、所定規則に従って1または複数の文字部品の組み合わせに分解することで、文字部品表現82を生成する(ステップS102)。このように、情報処理装置500は、テキストに含まれる文字の特徴を示す、文字レベルとは異なるレベルの表現を生成する。そして、情報処理装置500は、音声特徴を示す入力シーケンス2と対応する文字部品表現82との組み合わせからなるトレーニングデータセットを生成する(ステップS104)。
【0097】
続いて、情報処理装置500は、Transformer10のパラメータを初期化する(ステップS106)。そして、パラメータの最適化が実行される。すなわち、トレーニングデータセットを用いてTransformer10に含まれるパラメータが最適化される。
【0098】
より具体的には、情報処理装置500は、トレーニングデータセットに含まれる入力シーケンス2をTransformer10に入力して出力シーケンス(文字部品表現82の推論結果)を演算する(ステップS108)。そして、情報処理装置500は、出力シーケンス(推論結果)と、トレーニングデータセットの対応する文字部品表現82(正解データ)とを比較して誤差情報を演算し(ステップS110)、当該演算した誤差情報に基づいてTransformer10のパラメータを最適化する(ステップS112)。
【0099】
情報処理装置500は、予め定められた学習処理の終了条件が満たされているか否かを判断する(ステップS114)。予め定められた学習処理の終了条件が満たされていなければ(ステップS114においてNO)、情報処理装置500は、トレーニングデータセットに含まれるトレーニングデータを選択して、ステップS108以下の処理を再度実行する。
【0100】
これに対して、予め定められた学習処理の終了条件が満たされていれば(ステップS114においてYES)、情報処理装置500は、当該時点のパラメータ値で規定されるTransformer10を学習済モデルとして決定する(ステップS116)。このときのパラメータ値が、学習済モデルを規定するパラメータセット518として出力される。そして、処理は終了する。
【0101】
(d6:推論処理)
図8は、第1の実施例に従う音声認識システム100Aの推論処理の手順を示すフローチャートである。
図8に示す主要なステップは、典型的には、情報処理装置500のプロセッサ(CPU502および/またはGPU504)が推論プログラム520を実行することで実現される。
【0102】
図8を参照して、情報処理装置500は、入力される音声信号から音声特徴を演算することで入力シーケンスを生成する(ステップS150)。情報処理装置500は、生成した入力シーケンスをTransformer10に入力して、推論結果の出力シーケンスとして、文字部品表現82を演算する(ステップS152)。続いて、情報処理装置500は、文字部品対応テーブル84を参照して、文字部品表現82からテキストを再構成する(ステップS154)。この再構成したテキストが出力シーケンスとして出力される。
【0103】
そして、情報処理装置500は、音声信号の入力が継続しているか否かを判断する(ステップS156)。音声信号の入力が継続していれば(ステップS156においてYES)、ステップS150以下の処理が繰り返される。
【0104】
一方、音声信号の入力が継続していなければ(ステップS156においてNO)、推論処理は一旦終了する。
【0105】
(d7:性能評価結果)
次に、第1の実施例に従う音声認識システム100Aの性能評価を行った結果の一例を示す。
【0106】
第1の実験例では、漢字を用いる言語として、台湾<TW>、香港<HK>、中国標準語<MA>の3言語のトレーニングデータセットを用いた評価を行った。評価対象の音声認識システムとしては、文字(character)レベルで処理する音声認識システム(関連技術)(表中「(c)」で示される)と、第1の実施例に従う音声認識システム100A(文字部品表現を用いる)(表中「(r)」で示される)とを比較した。
【0107】
また、各言語単体で学習を行った場合と、単一のモデルを3つの言語で学習した場合とを比較した。評価としては、各言語のデータセットの一部をテストデータとして用いた。
【0108】
認識性能の評価指標として、文字誤り率(CER%:Character Error Rate)を用いている。
【0109】
【0110】
表1に示すように、文字レベルの音声認識システムを単一の言語で学習した場合、当該学習した言語については高い性能を示している(MA(c),HK(c),TW(c))。これに対して、第1の実施例に従う音声認識システム100Aにおいては、単一の言語で学習した場合の性能はやや劣っている(MA(r),HK(r),TW(r))。
【0111】
しかしながら、単一のモデルを3つの言語で学習した場合には、第1の実施例に従う音声認識システム100A(MA+HK+TW(r))は、関連技術に従う音声認識システム(MA+HK+TW(c))に比較して、高い認識性能を示していることが分かる。
【0112】
次に、第2の実験例では、関連技術に従う音声認識システムにおいて、文字(character)単位および単語(word)単位で学習を行った場合と比較した。このとき、他の音声認識システムと比較可能となるように、第1の実施例に従う音声認識システム100Aを、台湾<TW>、香港<HK>、中国標準語<MA>の3言語のトレーニングデータセットに加えて、日本語のトレーニングデータセットを用いて学習した。日本語のトレーニングデータセットとしては、日本語話し言葉コーパス(Corpus of Spontaneous Japanese:CSJ)を用いた。なお、表2において、「E01」,「E02」,「E03」は、CSJ-Eval01,CSJ-Eval02,CSJ-Eval03をそれぞれ意味する。
【0113】
このとき、日本語については、漢字に加えて、かなに相当する文字部品を含む文字部品表現を用いた。
【0114】
また、表2中において、WPM(Wordpiece Model)についても比較例として示す。
【0115】
【0116】
表2に示すように、第1の実施例に従う音声認識システム100Aの認識性能は、最新のモデルの認識性能と同等あるいはそれ以上となっている。
【0117】
次に、第3の実験例では、関連技術に従う音声認識システムのパラメータサイズについて評価を行った。第1の実施例に従う音声認識システム100A(表中「(r)」で示される)および関連技術に従う音声認識システム(表中「(c)」で示される)を、中国標準語<MA>および日本語<JP>のトレーニングデータセットを用いて学習した。
【0118】
第1の実施例に従う音声認識システム100Aと関連技術に従う音声認識システムとの間でほぼ同一の認識性能を発揮するまで学習した状態を比較すると、以下の表3のようになる。
【0119】
【0120】
表3に示すように、文字誤り率(CER%)がほぼ同じ状態のモデル同士を比較すると、第1の実施例に従う音声認識システム100Aのパラメータサイズは、関連技術に従う音声認識システムの1/2以下であり、パラメータサイズが大幅に抑制されていることが分かる。
【0121】
[E.第2の実施例(表音文字)]
第2の実施例として、類似した発音体系を有する複数の言語に対して単一のモデルを用いた音声認識システムについて説明する。
【0122】
(e1:概要)
図9は、第2の実施例に従う音声認識システム100Bの概要を示す模式図である。
図9を参照して、音声認識システム100Bは、音声特徴を示す入力シーケンス2の入力を受けて、対応するテキストを出力シーケンス70として出力する。すなわち、音声認識システム100Bは、複数の言語のうち任意の言語で発話された音声信号の入力を受けて、対応するテキストを出力する推論器に相当する。
【0123】
出力シーケンス70の先頭には、いずれの言語であるかを示す言語ラベル72(<MY>,<KH>,<SI>,<NE>など)が付加されている。このような言語ラベル72が付加されることによって、いずれの言語であるかを一意に特定できる。
【0124】
音声認識システム100Bは、Transformer10と、文字変換部90とを含む。
【0125】
Transformer10は、音声信号の音声特徴を示す入力シーケンス2を受けて、対応するテキストに含まれる文字の特徴を示す、文字(character)レベルとは異なるレベルの表現を出力する学習済モデルに相当する。より具体的には、Transformer10は、文字レベルではなく、異なるレベルの表現(以下、「ユニバーサル音声表現92」あるいは「Universal Articulatory representation」とも称す。)を用いる。ユニバーサル音声表現92は、対応するテキストに含まれる各文字の発音を特定する情報を含む(詳細については後述する)。
【0126】
文字変換部90は、予め定められた文字と当該文字の特徴との対応関係を参照して、Transformer10(学習済モデル)から出力される表現から対応するテキストを再構成する再構成部に相当する。より具体的には、文字変換部90は、Transformer10から出力されるユニバーサル音声表現92の入力を受けて、出力すべき文字に変換して、出力シーケンス70として出力する。
【0127】
第2の実施例においては、文字が示す音声を示す表現を用いてモデルの学習を行う。
(e2:ユニバーサル音声表現92)
ユニバーサル音声表現92は、テキストの発音を規定する表現である。テキストの発音は、国際音声記号(IPA:International Pronunciation Alphabet)を用いて規定されることが一般的である。ここで、異なる言語間では単音セット(phone-sets)が異なるが、IPAを用いた場合にはこのような異なる単音セットを適切に規定することが難しい。
【0128】
そこで、第2の実施例に従う音声認識システム100Bにおいては、さまざまな言語の音韻構造を表現するユニバーサル特徴に基づく、ユニバーサル音声表現92を用いる。ユニバーサル特徴としては、(1)円/非円唇、(2)舌(低、中央、高)、(3)舌(前、中、後)、(4)有無声音(声帯震動)、(5)子音(気流)、(6)唇、舌頂、舌背、咽喉音の6種類が想定される。さらに、ユニバーサル特徴として、声調などのその他の要因を加えてもよい。
【0129】
より具体的には、以下の表4のユニバーサル音声テーブルに示すように、3つのカテゴリごとに複数の属性(Attributes)が規定されている。3つのカテゴリは、子音の位置(consonants(position))、子音の態様(consonants(manner))、母音(vowel)を含む。
【0130】
【0131】
ユニバーサル音声表現92は、文字ごとに1または複数の属性の組み合わせが割り当てられることによって生成される。
【0132】
ユニバーサル音声表現92は、典型的には、以下のようなデータ構造のシーケンスとして出力される。
【0133】
<言語ラベル>[属性],[属性],・・・,<区切文字>,[属性],[属性],・・・
ユニバーサル音声表現92に含まれる<言語ラベル>は、いずれの言語であるかを特定するための情報を含む。
【0134】
ユニバーサル音声表現92に含まれる[属性](Attributes)は、表4のユニバーサル音声テーブルに従って定義されるユニバーサル特徴を特定するための情報を含む。このように、ユニバーサル音声表現92は、音韻構造を表現するユニバーサル特徴に基づいて、対応する文字の発音を特定する情報を含む。
【0135】
ユニバーサル音声表現92に含まれる<区切文字>は、出力される文字の区切りを意味し、<区切文字>から次の<区切文字>までに存在する[属性]に基づいて、出力すべき文字が再構成される。<区切文字>としては、単にブランク(無出力)を用いてもよい。
【0136】
なお、上述したユニバーサル音声表現92のデータ構造は一例であり、文字を再構成できるものであれば、どのようなデータ構造を採用してもよい。
【0137】
上述したように、第2の実施例に従う音声認識システム100Bにおいては、文字(character)レベルではなく、各文字の発音を規定するユニバーサル特徴のレベルで学習処理および推論処理を実行する。
【0138】
(e3:処理の詳細)
次に、第2の実施例に従う音声認識システム100Bにおける処理の詳細について説明する。
【0139】
図10は、第2の実施例に従う音声認識システム100Bにおける学習処理および推論処理の内容を説明するための模式図である。
図10を参照して、学習処理においては、多言語音声データ531および多言語テキストデータ532を含むトレーニングデータセット530が用いられる。多言語テキストデータ532には、いずれの言語であるかを示す言語ラベルを含んでいてもよい。
【0140】
多言語音声データ531から抽出される音声特徴(入力シーケンス)としてTransformer10へ入力される。
【0141】
また、多言語テキストデータ532に対してユニバーサル特徴変換91が適用されて、多言語テキストデータ532に含まれる文字ごとの発音を示す、1または複数の属性の組み合わせが出力される。多言語テキストデータ532に含まれる言語ラベルも抽出される。
【0142】
言語ラベルと1または複数の属性の組み合わせとを含むユニバーサル音声表現92が、対応するラベル(正解データ)として、Transformer10へ入力される。
【0143】
すなわち、多言語音声データ531と多言語テキストデータ532との組から生成される、音声特徴とユニバーサル音声表現92との組に基づいて、Transformer10のパラメータが最適化される。
【0144】
一方、推論処理においては、認識対象の多言語音声データ533から抽出される音声特徴(入力シーケンス)としてTransformer10へ入力される。Transformer10は、推論結果として、ユニバーサル音声表現92を出力する。文字変換部90は、ユニバーサル音声表現92をテキストデータ534に変換し、推論結果として出力する。
【0145】
図11は、第2の実施例に従う音声認識システム100Bにおけるユニバーサル音声表現に係る処理を説明するための図である。
図11においては、
図10に示す学習処理および推論処理に対応付けて処理が示されている。
【0146】
図11を参照して、学習処理においては、多言語テキストデータ532に含まれるテキストが単語(Word)96の単位に分割された後、文字(character)97の単位にさらに分割される。最終的に、文字97ごとに1または複数の属性の組み合わせ98が割り当てられる。このとき、音声特徴対応テーブル94が参照される。このように、ユニバーサル音声表現92は、対応するテキストに含まれる単語96をさらに分解した文字97ごとに発音を規定する情報を含むことになる。
【0147】
音声特徴対応テーブル94は、言語ごとに、発音を特定する情報と対応する文字との対応関係を規定する。より具体的には、音声特徴対応テーブル94は、各文字と1または複数の属性との対応関係を規定する。
【0148】
図12は、第2の実施例に従う音声認識システム100Bの文字変換部90において利用される音声特徴対応テーブル94の一例を示す図である。
図12を参照して、音声特徴対応テーブル94は、文字(character)と、文字に対応するユニバーサル特徴の1または複数の属性の組み合わせとを規定する。音声特徴対応テーブル94は、言語ごとに用意されてもよい。
【0149】
再度
図11を参照して、推論処理においては、音声特徴対応テーブル94を参照して、音声特徴を示す入力シーケンスに対応する推論結果に含まれる属性の組み合わせ98に対応する文字97に順次変換される。そして、変換によって得られた文字97から単語96が再構成されて、推論結果として出力される。
【0150】
以上のような処理手順によって、音声認識システムを構築および運用できる。
(e4:学習処理)
次に、第2の実施例に従う音声認識システム100Bの学習処理についての一例について説明する。
【0151】
図13は、第2の実施例に従う音声認識システム100Bの学習処理の手順を示すフローチャートである。
図13に示す主要なステップは、典型的には、情報処理装置500のプロセッサ(CPU502および/またはGPU504)が学習プログラム514を実行することで実現される。
【0152】
図13を参照して、情報処理装置500は、音声特徴を示す入力シーケンス2と対応するテキストとの組からなるトレーニングデータセットの入力を受け付ける(ステップS200)。情報処理装置500は、受け付けたトレーニングデータセットのテキストを単語ごとに分割し(ステップS202)、分割した各単語を文字ごとに分割する(ステップS204)。さらに、情報処理装置500は、文字ごとにユニバーサル特徴の1または複数の属性の組み合わせを決定する(ステップS206)。決定された1または複数の属性の組み合わせからラベルとしてのユニバーサル音声表現92が生成される。このとき、対象のテキスト言語に対応する音声特徴対応テーブル94が参照されてもよい。このように、情報処理装置500は、テキストに含まれる文字の特徴を示す、文字レベルとは異なるレベルの表現を生成する。
【0153】
情報処理装置500は、音声特徴を示す入力シーケンス2と対応する1または複数の属性との組み合わせからなるトレーニングデータセットを生成する(ステップS208)。
【0154】
続いて、情報処理装置500は、Transformer10のパラメータを初期化する(ステップS210)。そして、パラメータの最適化が実行される。すなわち、トレーニングデータセットを用いてTransformer10に含まれるパラメータが最適化される。
【0155】
より具体的には、情報処理装置500は、トレーニングデータセットに含まれる入力シーケンス2をTransformer10に入力して出力シーケンス(ユニバーサル音声表現92)を演算する(ステップS212)。そして、情報処理装置500は、出力シーケンス(推論結果)と、トレーニングデータセットの対応するユニバーサル音声表現92(正解データ)とを比較して誤差情報を演算し(ステップS214)、当該演算した誤差情報に基づいてTransformer10のパラメータを最適化する(ステップS216)。
【0156】
情報処理装置500は、予め定められた学習処理の終了条件が満たされているか否かを判断する(ステップS218)。予め定められた学習処理の終了条件が満たされていなければ(ステップS218においてNO)、情報処理装置500は、トレーニングデータセットに含まれるトレーニングデータを選択して、ステップS212以下の処理を再度実行する。
【0157】
これに対して、予め定められた学習処理の終了条件が満たされていれば(ステップS218においてYES)、情報処理装置500は、当該時点のパラメータ値で規定されるTransformer10を学習済モデルとして決定する(ステップS220)。このときのパラメータ値が、学習済モデルを規定するパラメータセット518として出力される。そして、処理は終了する。
【0158】
(e5:推論処理)
図14は、第2の実施例に従う音声認識システム100Bの推論処理の手順を示すフローチャートである。
図14に示す主要なステップは、典型的には、情報処理装置500のプロセッサ(CPU502および/またはGPU504)が推論プログラム520を実行することで実現される。
【0159】
図14を参照して、情報処理装置500は、入力される音声信号から音声特徴を演算することで入力シーケンスを生成する(ステップS250)。情報処理装置500は、生成した入力シーケンスをTransformer10に入力して、推論結果の出力シーケンスとして、ユニバーサル音声表現92を演算する(ステップS252)。続いて、情報処理装置500は、音声特徴対応テーブル94を参照して、ユニバーサル音声表現92を文字に変換し(ステップS254)、変換した複数の文字から単語を再構成する(ステップS256)。最終的に、再構成した複数の単語からなるテキストを生成する(ステップS258)。この生成したテキストが出力シーケンスとして出力される。
【0160】
そして、情報処理装置500は、音声信号の入力が継続しているか否かを判断する(ステップS260)。音声信号の入力が継続していれば(ステップS260においてYES)、ステップS250以下の処理が繰り返される。
【0161】
一方、音声信号の入力が継続していなければ(ステップS260においてNO)、推論処理は一旦終了する。
【0162】
(e6:性能評価結果)
次に、第2の実施例に従う音声認識システム100Bの性能評価を行った結果の一例を示す。
【0163】
第2の実験例では、漢字を用いる言語として、アジア圏で用いられる、マレーシア語<MY>、クメール語<KH>、シンハラ語<SI>、ネパール語<NE>の4言語のトレーニングデータセットを用いた評価を行った。評価対象の音声認識システムとしては、単語(word)レベルで処理する音声認識システム(関連技術)(表中「(w)」で示される)、文字(character)レベルで処理する音声認識システム(関連技術)(表中「(c)」で示される)、国際音声記号(IPA)に従う発音記号レベルで処理する音声認識システム(関連技術)(表中「(p)」で示される)、ならびに、第2の実施例に従う音声認識システム100B(ユニバーサル音声表現を用いる)(表中「(a)」で示される)を採用した。
【0164】
表5には、各言語単体および4言語で学習を行った場合のパラメータサイズの変化を示す。
【0165】
【0166】
表5に示すように、いずれの評価例においても、第2の実施例に従う音声認識システム100Bのパラメータサイズが最小となっていることが分かる。
【0167】
また、表6には、各言語単体および4言語で学習を行った場合の認識性能の変化を示す。認識性能の評価指標として、文字誤り率(CER%:Character Error Rate)を用いている。
【0168】
【0169】
表6に示すように、第2の実施例に従う音声認識システム100Bの認識性能は、国際音声記号(IPA)に従う発音記号レベルで処理する音声認識システム(関連技術)の認識性能と同等あるいはそれ以上となっている。表5に示すように、パラメータサイズを大幅に低減できることを考慮すると、ユニバーサル音声表現を用いることで、より少ないパラメータサイズのモデルを用いて、多言語エンド・トゥ・エンド音声認識システムを実現できることが分かる。
【0170】
[F.応用例および変形例]
本実施の形態に従う音声認識システムを用いた応用例として、自動音声翻訳システムなどを実現してもよい。この場合には、本実施の形態に従う音声認識システムから出力されるテキストに対応する音声を出力する音声合成部をさらに追加することで実現できる。
【0171】
また、上述した第1の実施例および第2の実施例を単一のモデルを用いて実現することもできる。この場合には、文字部品表現およびユニバーサル音声表現の両方を出力できるように、Transformer10の出力層の次元数を設定すればよい。加えて、さらに、第1の実施例および/または第2の実施例に加えて、文字レベルあるいは単語レベルで学習を行う言語を追加することも可能である。
【0172】
[G.まとめ]
本実施の形態に従う学習処理によれば、文字レベルとは異なるレベルの表現を用いた学習済モデルを利用することで、パラメータサイズの増大を抑制しつつ、認識性能を高めることができる推定器を実現できる。これによって、より少ないパラメータサイズのモデルを用いて、多言語エンド・トゥ・エンド音声認識システムを実現するための技術を提供できる。
【0173】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0174】
2 入力シーケンス、4 入力埋め込み層、6,16 位置埋め込み層、8,18 加算器、10 Transformer、14 出力埋め込み層、20 エンコーダブロック、22,46 MHA層、24,28,44,48,52 加算・正則化層、26,50 フィードフォワード層、40 デコーダブロック、42 MMHA層、60 ソフトマックス層、64 テキスト、70 出力シーケンス、72 言語ラベル、80 文字合成部、82 文字部品表現、84 文字部品対応テーブル、90 文字変換部、91 ユニバーサル特徴変換、92 ユニバーサル音声表現、94 音声特徴対応テーブル、96 単語、97,844 文字、98 属性の組み合わせ、100A,100B 音声認識システム、200 エンコーダ、400 デコーダ、500 情報処理装置、502 CPU、504 GPU、506 主メモリ、508 ディスプレイ、510 ネットワークインターフェイス、512 二次記憶装置、514 学習プログラム、516 モデル定義データ、518 パラメータセット、520 推論プログラム、522 入力デバイス、524 光学ドライブ、526 光学ディスク、528 内部バス、530 トレーニングデータセット、531,533 多言語音声データ、532 多言語テキストデータ、534 テキストデータ、802 構造、804 文字部品、806 単純分解、808 混合構造、842 組み合わせ定義。