(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-11
(45)【発行日】2023-10-19
(54)【発明の名称】音声認識モデルを個人化する方法及び装置
(51)【国際特許分類】
G10L 15/07 20130101AFI20231012BHJP
G10L 15/06 20130101ALI20231012BHJP
G10L 15/16 20060101ALI20231012BHJP
【FI】
G10L15/07
G10L15/06 400Z
G10L15/16
(21)【出願番号】P 2019010114
(22)【出願日】2019-01-24
【審査請求日】2021-09-08
(31)【優先権主張番号】10-2018-0054448
(32)【優先日】2018-05-11
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】390019839
【氏名又は名称】三星電子株式会社
【氏名又は名称原語表記】Samsung Electronics Co.,Ltd.
【住所又は居所原語表記】129,Samsung-ro,Yeongtong-gu,Suwon-si,Gyeonggi-do,Republic of Korea
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100091214
【氏名又は名称】大貫 進介
(72)【発明者】
【氏名】權 奇秀
(72)【発明者】
【氏名】宋 仁哲
(72)【発明者】
【氏名】崔 榮相
【審査官】佐久 聖子
(56)【参考文献】
【文献】米国特許出願公開第2017/0161256(US,A1)
【文献】特開2005-227369(JP,A)
【文献】特開2015-102806(JP,A)
【文献】特開2017-058674(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 15/00-17/26
G10L 13/00-13/10
G10L 19/00-99/00
(57)【特許請求の範囲】
【請求項1】
プロセッサで具現される音声認識モデルを個人化する方法であって、
ユーザに対応する言語グループを識別するステップと、
音声認識モデルの複数のレイヤのうちの1つ以上のレイヤに、前記識別された言語グループに対応するグループスケール行列を適用することで個人化された音声認識モデルを生成するステップと、
を含み、
前記グループスケール行列を適用するステップは、前記言語グループのそれぞれの階層順に応じて順次前記言語グループのそれぞれに対応するグループスケール行列を前記1つ以上のレイヤに適用するステップを含む、音声認識モデルを個人化する方法。
【請求項2】
プロセッサで具現される音声認識モデルを個人化する方法であって、
ユーザに対応する言語グループを識別するステップと、
音声認識モデルの複数のレイヤのうちの1つ以上のレイヤに、前記識別された言語グループに対応するグループスケール行列を適用することで個人化された音声認識モデルを生成するステップと、を含み、
前記グループスケール行列を適用するステップは、
前記言語グループのうちの第1部分に対応する、前記グループスケール行列のうちの第1部分を、前記1つ以上のレイヤに適用するステップと、
前記言語グループのうちの第2部分に対応する、前記グループスケール行列のうちの第2部分を、前記音声認識モデルの他のレイヤに適用するステップと、
を含む
、音声認識モデルを個人化する方法。
【請求項3】
プロセッサで具現される音声認識モデルを個人化する方法であって、
ユーザに対応する言語グループを識別するステップと、
音声認識モデルの複数のレイヤのうちの1つ以上のレイヤに、前記識別された言語グループに対応するグループスケール行列を適用することで個人化された音声認識モデルを生成するステップと、を含み、
前記個人化された音声認識モデルを生成するステップは、前記グループスケール行列と共にユーザスケール行列を前記1つ以上のレイヤに適用することで前記個人化された音声認識モデルを生成するステップを含む
、音声認識モデルを個人化する方法。
【請求項4】
前記ユーザから音声信号が取得される場合に応答して、前記個人化された音声認識モデルでユーザスケール行列を前記取得された音声信号に基づいてトレーニングするステップと、
前記ユーザスケール行列のトレーニングの間に少なくとも1つのパラメータを固定するステップと、
をさらに含む、請求項
3に記載の音声認識モデルを個人化する方法。
【請求項5】
前記個人化された音声認識モデルのうち、前記グループスケール行列が変更されたことに応答して前記ユーザスケール行列をアップデートするステップをさらに含む、請求項
3に記載の音声認識モデルを個人化する方法。
【請求項6】
前記グループスケール行列の値と同一になるよう前記ユーザスケール行列の初期値を設定するステップをさらに含む、請求項
3に記載の音声認識モデルを個人化する方法。
【請求項7】
前記言語グループを識別するステップは、前記ユーザに関するユーザ入力、位置情報、及び言語特性推定情報のうち少なくとも1つに応答して、前記ユーザの前記言語グループを識別するステップを含む、請求項
1ないし6のうち何れか一項に記載の音声認識モデルを個人化する方法。
【請求項8】
前記個人化された音声認識モデルを生成するステップは、
前記1つ以上のレイヤでノードの出力に前記グループスケール行列を適用することで、前記1つ以上のレイヤに含まれたノードの出力を補正するステップと、
前記補正された出力を次のレイヤにフォワーディングするステップと、
を含む、請求項1ないし
7のうち何れか一項に記載の音声認識モデルを個人化する方法。
【請求項9】
前記言語グループを識別するステップは、現在ユーザが以前ユーザと異なる場合に、前記現在ユーザに対応する言語グループを識別するステップを含む、請求項1ないし
8のうち何れか一項に記載の音声認識モデルを個人化する方法。
【請求項10】
前記現在ユーザに対応する言語グループを識別するステップは、前記以前ユーザが属する言語グループにグループスケール行列のうち一部のグループスケール行列をロードするステップを含み、
前記個人化された音声認識モデルを生成するステップは、前記ロードされた一部のグループスケール行列を前記音声認識モデルに適用することで個人化された音声認識モデルを生成するステップを含む、請求項
9に記載の音声認識モデルを個人化する方法。
【請求項11】
前記個人化された音声認識モデルに基づいて、前記ユーザの音声入力を認識するステップをさらに含む、請求項1ないし
10のうち何れか一項に記載の音声認識モデルを個人化する方法。
【請求項12】
前記個人化された音声認識モデルが生成された後、前記ユーザに対応する追加言語グループをさらに識別するステップと、
前記追加言語グループに対応する追加グループスケール行列を前記1つ以上のレイヤに適用することで、前記個人化された音声認識モデルをアップデートするステップと、
をさらに含む、請求項1ないし
11のうち何れか一項に記載の音声認識モデルを個人化する方法。
【請求項13】
周期的に言語グループのうちターゲット言語グループに対応する複数のユーザからトレーニングデータを収集するステップと、
前記トレーニングデータに基づいて、前記ターゲット言語グループに対応するグループスケール行列をトレーニングするステップと、
をさらに含む、請求項1ないし
12のうち何れか一項に記載の音声認識モデルを個人化する方法。
【請求項14】
前記グループスケール行列をトレーニングするステップは、前記ターゲット言語グループに対応するグループスケール行列よりも上位階層のグループスケール行列についてもトレーニングするステップを含む、請求項
13に記載の音声認識モデルを個人化する方法。
【請求項15】
前記個人化された音声認識モデルを生成するステップは、前記グループスケール行列が適用された前記1つ以上のレイヤの出力のそれぞれを
予め決定された範囲に制限するステップを含む、請求項1ないし
14のうち何れか一項に記載の音声認識モデルを個人化する方法。
【請求項16】
前記1つ以上のレイヤは、前記音声認識モデルのレイヤのうち前記ユーザの言語に対して指定されたレイヤを含む、請求項1ないし
15のうち何れか一項に記載の音声認識モデルを個人化する方法。
【請求項17】
前記個人化された音声認識モデルを生成するステップは、以前ユーザと現在ユーザが同一である場合に応答して、前記以前ユーザに対して前記グループスケール行列が適用されたレイヤに前記グループスケール行列を適用するステップを含む、請求項1ないし
16のうち何れか一項に記載の音声認識モデルを個人化する方法。
【請求項18】
前記言語グループは、人種に基づくグループ、地域に基づくグループ、年齢に基づくグループ、方言に基づくグループ、及び性別に基づくグループのうちの1つ又は2つ以上の組合せを含む、請求項1ないし
17のうち何れか一項に記載の音声認識モデルを個人化する方法。
【請求項19】
請求項1乃至請求項
18のいずれか一項に記載の方法をコンピュータに実行させるための命令語を含むコンピュータプログラム。
【請求項20】
電子装置であって、
音声信号を検出するセンサと、
個人化された音声認識モデル及び命令を格納するメモリと、
前記命令を実行するプロセッサと、
を含み、前記命令は、
請求項1乃至請求項18のいずれか一項に記載の音声認識モデルを個人化する方法を前記プロセッサに実行させる、電子装置。
【請求項21】
前記センサは、ユーザの位置情報を検出し、
前記メモリは、前記位置情報を格納し、
前記プロセッサは、前記格納された位置情報に基づいて
ユーザに対応する言語グループを識別し、前記個人化された音声認識モデルを
生成する、請求項
20に記載の電子装置。
【発明の詳細な説明】
【技術分野】
【0001】
以下、音声認識モデルを個人化する技術が提供される。
【背景技術】
【0002】
音声認識は、音声入力に含まれた言語情報を音声入力に対応するテキスト情報に変換する過程で行われる。音声認識モデルは音声認識を補助する。音声認識モデルは、装置で音声入力を認識し、音声認識結果を出力するために使用される。音声認識モデルは、音声入力を分析して音声入力に含まれた言語情報がどのようなテキスト情報を示すかを推定するために使用され得る。音声入力は、音声シーケンスの形態を有する。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本発明の目的は、音声認識モデルを個人化する方法及び装置を提供することにある。
【課題を解決するための手段】
【0004】
一実施形態に係るプロセッサで具現される音声認識モデルを個人化する方法は、ユーザに対応する言語グループを識別するステップと、音声認識モデルの複数のレイヤのうちの1つ以上のレイヤに、前記識別された言語グループに対応するグループスケール行列を適用することで個人化された音声認識モデルを生成するステップとを含む。
【0005】
前記言語グループを識別するステップは、前記ユーザに関するユーザ入力、位置情報、及び言語特性推定情報のうち少なくとも1つに応答して、前記ユーザの前記言語グループを識別するステップを含み得る。
【0006】
前記言語グループを識別するステップは、前記ユーザに対応する言語グループを識別するステップを含み、前記個人化された音声認識モデルを生成するステップは、前記音声認識モデルの前記1つ以上のレイヤに前記言語グループのそれぞれに対応するグループスケール行列を適用するステップを含み得る。
【0007】
前記グループスケール行列を適用するステップは、前記言語グループのそれぞれの階層順に応じて順次前記言語グループのそれぞれに対応するグループスケール行列を前記1つ以上のレイヤに適用するステップを含み得る。
【0008】
前記グループスケール行列を適用するステップは、前記言語グループのうちの第1部分に対応する、前記グループスケール行列のうちの第1部分を、前記1つ以上のレイヤに適用するステップと、前記言語グループのうちの第2部分に対応する、前記グループスケール行列のうちの第2部分を、前記音声認識モデルの他のレイヤに適用するステップとを含み得る。
【0009】
前記個人化された音声認識モデルを生成するステップは、前記グループスケール行列と共にユーザスケール行列を前記1つ以上のレイヤに適用することで前記個人化された音声認識モデルを生成するステップを含み得る。
【0010】
音声認識モデルを個人化する方法は、前記ユーザから音声信号が取得される場合に応答して、前記個人化された音声認識モデルでユーザスケール行列を前記取得された音声信号に基づいてトレーニングするステップと、前記ユーザスケール行列のトレーニングの間に少なくとも1つのパラメータを固定するステップとをさらに含み得る。
【0011】
音声認識モデルを個人化する方法は、前記個人化された音声認識モデルのうち、前記グループスケール行列が変更されたことに応答して前記ユーザスケール行列をアップデートするステップをさらに含み得る。
【0012】
音声認識モデルを個人化する方法は、前記グループスケール行列の値と同一になるよう前記ユーザスケール行列の初期値を設定するステップをさらに含み得る。
【0013】
前記個人化された音声認識モデルを生成するステップは、前記1つ以上のレイヤでノードの出力に前記グループスケール行列を適用することで、前記1つ以上のレイヤに含まれたノードの出力を補正するステップと、前記補正された出力を次のレイヤにフォワーディングするステップとを含み得る。
【0014】
前記言語グループを識別するステップは、現在ユーザが以前ユーザと異なる場合に応答して、前記現在ユーザに対応する言語グループを識別するステップを含み得る。
【0015】
前記現在ユーザに対応する言語グループを識別するステップは、以前ユーザが属する言語グループにグループスケール行列のうち一部のグループスケール行列をロードするステップを含み、前記個人化された音声認識モデルを生成するステップは、前記ロードされた一部のグループスケール行列を前記音声認識モデルに適用することで個人化された音声認識モデルを生成するステップを含み得る。
【0016】
音声認識モデルを個人化する方法は、前記個人化された音声認識モデルに基づいて、前記ユーザの音声入力を認識するステップをさらに含み得る。
【0017】
音声認識モデルを個人化する方法は、前記個人化された音声認識モデルが生成された後、前記ユーザに対応する追加言語グループをさらに識別するステップと、前記追加言語グループに対応する追加グループスケール行列を前記1つ以上のレイヤに適用することで、前記個人化された音声認識モデルをアップデートするステップとをさらに含み得る。
【0018】
音声認識モデルを個人化する方法は、時間周期の間言語グループのうちターゲット言語グループに対応する複数のユーザからトレーニングデータを収集するステップと、前記トレーニングデータに基づいて、前記ターゲット言語グループに対応するグループスケール行列をトレーニングするステップとをさらに含み得る。
【0019】
前記グループスケール行列をトレーニングするステップは、前記ターゲット言語グループに対応するグループスケール行列よりも上位階層のグループスケール行列についてもトレーニングするステップを含み得る。
【0020】
前記個人化された音声認識モデルを生成するステップは、前記グループスケール行列が適用された前記1つ以上のレイヤの出力のそれぞれを範囲に制限するステップを含み得る。
【0021】
前記1つ以上のレイヤは、前記音声認識モデルのレイヤのうち前記ユーザの言語に対して指定されたレイヤを含み得る。
【0022】
前記個人化された音声認識モデルを生成するステップは、以前ユーザと現在ユーザが同一である場合に応答して、前記以前ユーザに対して前記グループスケール行列が適用されたレイヤに前記グループスケール行列を適用するステップを含み得る。
【0023】
前記言語グループは、人種に基づくグループ、地域に基づくグループ、年齢に基づくグループ、方言に基づくグループ、及び性別に基づくグループのうちの1つ又は2以上の組合せを含み得る。
【0024】
一実施形態に係る音声認識モデルを個人化する装置は、ユーザに対応する言語グループを識別し、音声認識モデルの1つ以上のレイヤに、前記識別された言語グループに対応するグループスケール行列を適用することで個人化された音声認識モデルを生成するプロセッサを含む。
【0025】
一実施形態に係る電子装置において、音声信号を検出するセンサと、個人化された音声認識モデル及び命令を格納するメモリと、前記命令を実行するプロセッサとを含み、前記命令は、ユーザに対応する言語グループを識別し、音声認識モデルのうちの1つ以上のレイヤに前記識別された言語グループに対応するグループスケール行列を適用することで前記個人化された音声認識モデルを生成し、前記個人化された音声認識モデルに基づいて前記音声信号を認識し、前記認識された音声信号に基づいて文字列を生成する。
【0026】
前記センサは、ユーザの位置情報を検出し、前記メモリは、前記位置情報を格納し、前記プロセッサは、前記格納された位置情報に基づいて前記個人化された音声認識モデルを周期的にアップデートし得る。
【発明の効果】
【0027】
本発明によると、音声認識モデルを個人化する技術を提供することができる。
【図面の簡単な説明】
【0028】
【
図1】一実施形態に係る個人化された音声認識システムの例示を説明する図である。
【
図2】一実施形態に係る音声認識モデルを説明する図である。
【
図3】一実施形態に係る音声認識モデルを個人化する方法を説明するフローチャートである。
【
図4】一実施形態に係る階層的に構成された言語グループを説明する図である。
【
図5】一実施形態に係るスケール行列が音声認識モデルに適用される例示を説明する図である。
【
図6】一実施形態に係るスケール行列が音声認識モデルに適用される例示を説明する図である。
【
図7】一実施形態に係るスケール行列が音声認識モデルに適用される例示を説明する図である。
【
図8】一実施形態に係るスケール行列のトレーニングを説明する図である。
【
図9】一実施形態に係る音声認識モデルを個人化する装置の構成に関するブロック図である。
【
図10】一実施形態に係る音声認識モデルを個人化する装置の構成に関するブロック図である。
【発明を実施するための形態】
【0029】
以下、添付する図面を参照しながら実施形態を詳細に説明する。しかし、特許出願の範囲がこのような実施形態によって制限も限定もされることはない。各図面に提示された同じ参照符号は同じ部材を示す。
【0030】
本明細書で開示されている特定の構造的又は機能的な説明は単に実施形態を説明するための目的として例示されたものであり、実施形態は様々な異なる形態で実施され、本明細書に説明された実施形態に限定されることはない。
【0031】
本明細書で用いた用語は、単に特定の実施形態を説明するために用いられるものであって、本発明を限定しようとする意図はない。単数の表現は、文脈上、明白に異なる意味をもたない限り複数の表現を含む。本明細書において、「含む」又は「有する」等の用語は明細書上に記載した特徴、数字、ステップ、動作、構成要素、部品又はこれらを組み合わせたものが存在することを示すものであって、1つ又はそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、又はこれを組み合わせたものなどの存在又は付加の可能性を予め排除しないものとして理解しなければならない。
【0032】
異なる定義がされない限り、技術的であるか又は科学的な用語を含むここで用いる全ての用語は、本実施形態が属する技術分野で通常の知識を有する者によって一般的に理解されるものと同じ意味を有する。一般的に用いられる予め定義された用語は、関連技術の文脈上で有する意味と一致する意味を有するものと解釈すべきであって、本明細書で明白に定義しない限り、理想的又は過度に形式的な意味として解釈されることはない。
【0033】
また、添付図面を参照して説明することにおいて、図面符号に関係なく同じ構成要素は同じ参照符号を付与し、これに対する重複する説明は省略する。実施形態の説明において関連する公知技術に対する具体的な説明が実施形態の要旨を不要に曖昧にすると判断される場合、その詳細な説明は省略する。
【0034】
図1は、一実施形態に係る個人化された音声認識システムの例示を説明する図である。
【0035】
音声認識機構(apparatus)は、音声認識装置及び音声認識サーバ130を含む。
【0036】
音声認識装置は、周辺の音を収集し、収集された周辺の音からデジタル信号である音声信号を取得する装置を示す。例えば、音声認識装置は、人が話す音(sound)を周辺の音として収集する。音声認識装置は、周辺の音から該当装置を所有するユーザの音声(voice)を区別する。
【0037】
音声認識装置は、個別ユーザによって所有する電子装置であってもよく、例えば、スマートフォン、スマートパッド、スマートバンドなどのウェアラブルデバイス、PDA(Personal Digital Assistance)、ラップトップなどを含む。異なる例として、音声認識装置は、複数のユーザ(例えば、第3ユーザ113及び第4ユーザ114)によって共有される電子装置であってもよく、例えば、音声認識スピーカ103、音声認識TV104などを含み得る。
【0038】
音声認識機構は、ユーザの音声を認識する。本明細書で音声認識は、音声信号に含まれたユーザの音声を区別し、ユーザの音声を言葉(language)に変換する動作を示す。例えば、音声認識は、ユーザの音声を文字に変換する動作を示す。
【0039】
音声認識サーバ130は音声信号を認識し、音声信号に対応するテキストデータを生成する。音声認識サーバ130は、音声認識装置からユーザの音声信号を受信し、受信された音声信号に基づいて音声信号に対応するテキストデータを生成する。音声認識サーバ130は、音声信号から変換されたテキストデータを音声認識装置に伝達する。音声認識サーバ130によって生成されたテキストデータは、音声認識装置のユーザに提供される様々なサービスに活用され得る。
【0040】
例えば、
図1を参照すると、第1端末101は、第1ユーザ111によって個人化(又はカスタマイズ)された電子装置を示し、第2端末102は、第2ユーザ112によって個人化された電子装置を示す。一例として、第1端末101は、「第1ユーザ111から第2ユーザ112に対応する第2端末102に電話をかけよ」との命令を示す音声信号を収集する。音声認識サーバ130は、第1ユーザ111の命令を指示する音声信号を第1端末101から受信する。音声認識サーバ130は、音声信号から第1ユーザ111の命令に対応するテキストデータを取得する。音声認識サーバ130は、取得されたテキストデータを第1端末101に伝達する。第1端末101は、第1ユーザ111の音声から認識されたテキストデータの受信に応答し、通話アプリケーションを実行して第2ユーザ112に電話をかけるよう通話アプリケーションを制御する。
【0041】
異なる例として、音声認識装置は、音声認識サーバ130によって認識されたテキストデータを用いて該当装置のユーザのスケジュールを生成したり、テキストデータを用いてウェブサービスのデータを検索したり、テキストデータを用いて文字メッセージを送信したり、テキストデータを用いて該当装置に格納されたデータを検索するサービスを提供する。例えば、音声認識サーバ130によって生成されたテキストデータは、ユーザの対応装置上に表示される。
【0042】
以下は、音声認識機構で個別ユーザのグループ化された共通の発話特徴に対して個人化レイヤをトレーニングさせたり、個人化されたトレーニングを用いて音声信号を認識したりする動作について説明する。
【0043】
ただし、音声認識装置及び音声認識サーバ130の動作を上述したように限定する必要はない。音声認識装置が音声信号を収集し、自体に該当の音声信号を認識してもよい。
【0044】
図2は、一実施形態に係る音声認識モデルを説明する図である。
【0045】
図1を参照して説明された音声認識システムは、音声認識モデル220を用いる。音声認識モデル220は、音声信号からテキストデータを出力するよう設計されたモデルを示す。音声認識モデル220は、音響モデル及び言語モデルを含む。本明細書では、音声認識サーバが音声認識モデル220を格納し、音声認識サーバが音声信号から音声認識モデル220に基づいてテキストデータを生成する実施形態を説明する。例えば、音声認識装置が音声信号又は音声信号から変換された特徴データを音声認識サーバに伝達し、音声認識サーバは、伝達された情報を用いて音声認識を行ってもよい。ただし、これに限定されることなく、音声認識装置が自体に音声認識モデル220を格納し、格納された音声認識モデル220を用いてユーザの音声を認識してもよい。
【0046】
音響モデルは、音声信号から抽出された特徴から音声信号を音素単位で認識するモデルを示す。例えば、音声認識システムは、音響モデルによって取得された音声信号を音素単位で認識した結果に基づいて、音声信号が示す単語を推定し得る。
【0047】
言語モデルは、単語間の連結関係に基づいた確率情報を取得するよう設計されたモデルを示す。言語モデルは、言語モデルに入力された単語に連結される次の単語に対する確率情報を提供する。例えば、言語モデルに「this」の単語が入力される場合、言語モデルは「this」の次に「is」又は「was」が連結される確率情報を提供する。一実施形態によれば、音声認識システムは、言語モデルによって提供された確率情報に基づいて、最も確率の高い単語間の連結関係を選択し、選択結果を音声認識結果として出力する。
【0048】
以下では、音声認識モデル220のうち音響モデルに関する動作を主に説明する。一実施形態に係る音響モデルは、ニューラルネットワーク、例えば、GMM(Gaussian Mixture Model)、DNN(Deep Neural Network)、n個レイヤニューラルネットワーク、又はBLSTM(Bidirectional Long Short Term Memory)などのように様々な構造で具現される。DNN又はn個レイヤニューラルネットワークは、CNN(convolutional neural network)、RNN(recurrent neural network)、DBN(deep belief network)、FCN(fully connected network)、双方向ニューラルネットワーク(bi-directional neural network)、又は、制限されたボルツマン・マシン(restricted Boltzman machine)に対応したり、それぞれ完全接続、畳み込み、循環、及び/又は双方向接続として異なったり重なるニューラルネットワークの部分を含んでもよい。音響モデルが具現され得る機械学習構造について上述のように限定することなく、GMM、DNN、及びBLSTMのうちの1つ以上の構造が結合される形態に具現されてもよい。ニューラルネットワークは、複数の人工ニューロン(以下、ノード)を用いて生物学的なシステムの算出能力を模倣するソフトウェアやハードウェアで具現された認識モデルを示す。ニューラルネットワークは、人工ニューロンを介して人の認知作用や学習過程を行う。
【0049】
一実施形態に係るニューラルネットワークは、複数のレイヤを含む。例えば、ニューラルネットワークは、入力レイヤ、1つ以上の隠れレイヤ221、及び出力レイヤを含む。入力レイヤは、入力データを受信して隠れレイヤ221に伝達し、出力レイヤは、隠れレイヤ221のノードから受信された信号に基づいて出力データを生成する。例えば、ニューラルネットワークは、入力、特徴マップ、出力を含む複数のレイヤを有する構造を有する。ニューラルネットワークで畳み込み演算は、カーネル(kernel)と称するフィルタで入力ソース文章に対して実行され、その結果、特徴マップが出力される。畳み込み演算は、入力特徴マップとして出力特徴マップに対してカーネルを用いて再び実行され、新しい特徴マップが出力される。畳み込み演算がこのように繰り返し実行される場合、入力ソース文字の特徴に対する認識結果は、最終的にニューラルネットワークを介して出力され得る。
【0050】
1つ以上の隠れレイヤ221が入力レイヤ及び出力レイヤの間に連結され、音声認識システムは、隠れレイヤ221を介して入力データを予測しやすい値に変換し得る。入力レイヤ及び1つ以上の隠れレイヤ221に含まれたノードは、連結加重値を有する連結線を介して接続され、隠れレイヤ221及び出力レイヤに含まれたノードも連結加重値を有する連結線を介して接続される。ニューラルネットワークのうち、複数の隠れレイヤ221を含むニューラルネットワークをディープニューラルネットワークという。ディープニューラルネットワークを学習させることをディープラーニングという。ニューラルネットワークのノードのうち、隠れレイヤ221に含まれたノードを称して隠れノード229という。
【0051】
入力レイヤ、1つ以上の隠れレイヤ221、及び出力レイヤは、複数のノードを含む。隠れレイヤ221は、CNN(convolutional neural network)における畳み込みフィルタ又は完全接続レイヤ(fully connected layer)、又は、特別な機能や特徴に基づいた々様な種類のフィルタ又はレイヤであってもよい。
【0052】
音響モデルは、例えば、RNN(recurrent neural network)で具現される。RNNは、以前フレームの隠れレイヤ221の出力値が現在フレームの隠れレイヤ221に再び入力されるネットワークを示す。RNNは、以前の出力が新しい出力の算出結果に影響を与えることがある。
【0053】
一実施形態に係る音声認識システムは、音声シーケンス201を複数のフレームに分割し、分割されたフレームに対応する発音を予測する。音声認識システムは音響モデルを用いて音声認識を行い、音響モデルは、入力レイヤ、隠れレイヤ221、及び出力レイヤを含む。出力レイヤは、入力レイヤに入力されたフレーム210に対して予測された発音結果230を出力する。例えば、音声認識装置又は音声認識サーバは、各隠れレイヤ221に以前の隠れレイヤに含まれた以前隠れノード229の出力を連結加重値を有する連結線を介して入力し、以前隠れノード229の出力に連結加重値が適用された値及び活性化関数に基づいて隠れレイヤ221に含まれた隠れノード229の出力を生成する。一例によれば、次の隠れノードに出力を発射(fire)するため、活性化関数の結果は、現在隠れノードの閾値を超過しなければならない。この場合、ノードは、入力ベクトルを介して特定閾値の活性化強度に達する前には次のノードに信号を発射せず、不活性化状態を保持する。
【0054】
出力レイヤは、ソフトマックスレイヤであってもよい。一実施形態によれば、出力レイヤは全体発音数と同一数のノードを含む。出力レイヤの各ノードは、入力されたフレーム210が特定発音である確率を示す。
【0055】
従来におけるニューラルネットワークの機構と比較して、本明細書に記載されたニューラルネットワークの機構は、ユーザが変わるたびに現在ユーザに対応する言語グループを識別することで、音声認識モデルを個人化するニューラルネットワークにおける畳み込み演算を迅速かつ効率よく処理できる。一実施形態に係るニューラルネットワークの機構は、ユーザに関する言語特性推定情報に基づいて、ユーザの言語グループを識別してニューラルネットワークで畳み込み演算を迅速かつ効率よく処理できる。したがって、音声認識で使用したハードウェアリソースを最適に使用することができる。
【0056】
以下は、音声認識モデルを個人化する装置の動作について説明する。本明細書において、音声認識モデルを個人化する装置は、音声認識サーバ又は音声認識装置であってもよい。
【0057】
図3は、一実施形態に係る音声認識モデルを個人化する方法を説明するフローチャートである。
【0058】
まず、ステップS310において、音声認識モデルを個人化する装置は、ユーザに対応する言語グループを識別する。言語グループは、任意の言語に対して言語特性に応じて分類されるグループを示す。同じ言語に対しても、言語グループは民族に係る言語グループ、地域に係る言語グループ、及び性別に係る言語グループなどに分類されてもよい。例えば、韓国語に対して、民族に係る言語グループとして韓国人(Korean)グループ及び外国人グループに分類されてもよい。地域に係る言語グループとして、ソウルグループ、全羅道グループ、及び慶尚道グループなどに分類されてもよく、地域に係るグループは地域の「なまり」により特徴付けられてもよい。性別に係る言語グループは、男性グループ及び女性グループなどに分類されてもよい。環境に係る言語グループは、室内グループ及び室外グループなどに分類されてもよい。年齢に係る言語グループは、ユーザの年齢層(例えば、10代、20代など)グループに分類されてもよい。ただし、上述した言語グループは単なる例示であって、設計に応じて変更されてもよい。また、各言語グループは、階層的に分類され、言語グループの階層は
図4を参照して詳細に説明する。
【0059】
そして、ステップS320において、音声認識モデルを個人化する装置は、音響モデルの複数のレイヤのうち少なくとも一部のレイヤに、識別された言語グループに対応するグループスケール行列を適用することで個人化された音響モデルを生成する。
【0060】
音響モデルは、トレーニングデータに基づいてトレーニングされたモデルを示す。例えば、トレーニングデータは、様々な人の音声及びそれに対応するラベルの対を含む。音響モデルは、個人化される前のモデルを示す。音響モデルは、全ての人に示される一般的な発音特徴がトレーニングされたグローバルモデルであってもよく、ユーザの独立音響モデルを示す。
【0061】
個人化された音響モデルは、スケール行列が適用されたモデルを示す。スケール行列の適用は、下記の
図5を参照して詳細に説明する。スケール行列は、言語グループの特性を示すグループスケール行列及びユーザの特性を示すユーザスケール行列を含む。例えば、音声認識モデルを個人化する装置は、ユーザが属する言語グループに対応するグループスケール行列を音声認識モデルに適用することにより、音声認識モデルを個人化し得る。また、音声認識モデルを個人化する装置は、該当ユーザに最適化したユーザスケール行列を音声認識モデルにさらに適用することで音声認識モデルをより個人化できる。
【0062】
一実施形態によれば、音声認識モデルを個人化する装置は、現在ユーザが以前ユーザと異なる場合に応答して、現在ユーザに対応する言語グループを識別する。例えば、人工知能スピーカの場合、様々なユーザによる音声が入力され、音声認識モデルを個人化する装置は、ユーザが変更されるごとに現在ユーザに対応する言語グループを識別し得る。
【0063】
また、音声認識モデルを個人化する装置は、以前ユーザが属する言語グループに複数のグループスケール行列のうち一部のグループスケール行列をロードする。音声認識モデルを個人化する装置は、ロードされた一部のグループスケール行列を音声認識モデルに適用することで個人化された音声認識モデルを生成し得る。例えば、音声認識モデルを個人化する装置は、以前ユーザ及び現在ユーザ間に共通している言語特性に対応するグループスケールベクトルのみをロードして用いてもよい。
【0064】
さらに、音声認識モデルを個人化する装置は、以前ユーザと現在ユーザが同一である場合に応答して、以前ユーザに対してグループスケール行列が適用されたレイヤにグループスケール行列を適用する。
【0065】
一実施形態に係る音声認識モデルを個人化する装置は、個人化された音声認識モデルに基づいてユーザの音声入力を認識することができる。
【0066】
図4は、一実施形態に係る階層的に構成された言語グループを説明する図である。
【0067】
任意の言語は、複数のユーザが有する共通の言語特性に応じて様々な言語グループに分類される。上述したように、言語グループは、民族、地域、性別、及び環境などのような様々な基準によって分類されてもよい。また、各言語グループは階層を示してもよく、音声認識モデルを個人化する装置は、言語グループを階層順に応じて適用してもよい。
【0068】
図4に示された例示は、階層的に構成された言語グループの例示として、最上位階層である第1階層は韓国人グループを含む。韓国人グループに対応するグループスケール行列はγ
Gkoに示されている。韓国人グループの下位階層である第2階層は地域に係る分類として、釜山グループ及びソウルグループなどを含んでもよい。釜山グループに対応するグループスケール行列は、γ
Gbuに、ソウルグループに対応するグループスケール行列はγ
Gseに示されている。釜山グループの下位階層である第3階層は、性別に係る分類として、女性グループ及び男性グループなどを含む。女性グループに対応するグループスケール行列はγ
Gfeに、男性グループに対応するグループスケール行列はγ
Gmaに示されている。
【0069】
最下位階層である第4階層は、個別ユーザによって区別される分類を示し、女性グループは、例えば、
図4において、韓国人として釜山で住んでいる女性N名(ここで、Nは1以上の整数)のそれぞれに対応するユーザスケール行列(例えば、γ
Sfe1~γ
GfeN)を含む。男性グループは、例えば、韓国人として釜山で住んでいる男性M名(ここで、Mは1以上の整数)のそれぞれに対応するユーザスケール行列(例えば、γ
Sma1~γ
SmaM)を含む。
【0070】
一実施形態に係る音声認識モデルを個人化する装置は、ユーザに対応する言語グループを識別する。例えば、任意の女性ユーザが韓国人として釜山に住んでいるケースを仮定する。音声認識モデルを個人化する装置は、
図4において、該当ユーザに対応する言語グループとして、韓国人グループ、釜山グループ、及び女性グループを識別する。音声認識モデルを個人化する装置は、識別された言語グループ及び該当ユーザに対応するスケール行列410(例えば、γ
Gko,γ
Gbu ,γ
Gfe 及びγ
Sfe1)を決定する。
【0071】
音声認識モデルを個人化する装置は、ユーザに関するユーザ入力、位置情報、及び言語特性推定情報のうち少なくとも1つに応答して、ユーザの言語グループを識別し得る。
【0072】
ユーザ入力は、ユーザから取得される入力を示す。音声認識モデルを個人化する装置は、ユーザから該当ユーザに関する言語特性に関する情報の直接的な入力を取得する。
図4に示す例示として、音声認識モデルを個人化する装置は、ユーザから、ユーザが韓国人であることを指示する入力、ユーザが釜山で住んでいることを指示する入力、及びユーザが女性であることを指示する入力を取得する。
【0073】
位置情報は、音声認識モデルを個人化する装置によって収集された、ユーザの位置を指示する情報を示す。
図4に示す例示として、位置情報は、ユーザの位置が釜山であることを指示する情報を示す。
【0074】
言語特性推定情報は、音声認識モデルを個人化する装置によって推定されたユーザの言語特性情報を示す。例えば、音声認識モデルを個人化する装置は、取得された音声信号からユーザの言語特性を推定し、推定された言語特性に対応する言語グループを識別する。例えば、音声認識モデルを個人化する装置は、取得された音声信号からユーザのなまりによって示されるアクセント及びトーンなどを推定し得る。
【0075】
他の例として、音声認識モデルを個人化する装置は、英語を使用するイギリス人として、リバプールで住んでいる30代以下の男性に対する言語グループを識別する。音声認識モデルを個人化する装置は、英語に対する音響モデルにおいて、イギリス人グループ、リバプールグループ、30歳以下のグループ、及び男性グループを識別し、該当言語グループのそれぞれに対応するグループスケール行列を決定する。更なる例として、音声認識モデルを個人化する装置は、英語に対する音響モデルにおいて、韓国人グループ及び男性グループなどを識別してもよい。
【0076】
音声認識モデルを個人化する装置は、以下で説明するように、決定されたスケール行列(例えば、グループスケール行列及びユーザスケール行列)を音声認識モデルに適用してもよい。
【0077】
図5~
図7は、一実施形態に係るスケール行列が音声認識モデルに適用される例示を説明する図である。
【0078】
図5は、音声認識モデル520として、3つのRNNがスタック(stack)された構造を示す。例えば、音声認識モデルを個人化する装置は、左側のRNNにt時点のフレームデータ511S
1(t)を入力し、中間のRNNにt+1時点のフレームデータ512S
1(t+1)を入力し、右側のRNNにt+2時点のフレームデータ513S
1(t+2)を入力する。
【0079】
音声認識モデルを個人化する装置は、グループスケール行列580を音声認識モデル520のレイヤ521に適用することで、個人化された音声認識モデル520を生成する。例えば、音声認識モデルを個人化する装置は、少なくとも一部のレイヤ521に含まれたノードの出力にグループスケール行列580を適用することで、少なくとも一部のレイヤ521に含まれたノードの出力を補正できる。また、音声認識モデルを個人化する装置は、グループスケール行列580と共にユーザスケール行列590を少なくとも一部のレイヤ521に適用することで、個人化された音声認識モデル520を生成し得る。音声認識モデルを個人化する装置は、ユーザスケール行列590及びグループスケール行列580を隠れレイヤ521の隠れノードの出力に適用することで、該当ノードの出力を補正できる。
【0080】
まず、補正される前の隠れノードの出力は下記の数式(1)のように示す。
【0081】
【数1】
h
i
jはi番目のレイヤでj番目の隠れノードの出力を示す。ψ
jはj番目の隠れノードの活性化関数を示す。xは隠れノードの入力として、例えば、以前レイヤのノードからフォワーディングされた出力に対応する。例えば、音声認識では、1秒の音声が10ms単位に分割されてもよく、音声認識モデルを個人化する装置は、1秒の音声を100個のフレームに分割されてもよい。各フレームは、ベクトルに表現され、
図5では、3つの時点のフレームデータ511,512,513がベクトルに表現される。i=1である場合、1番目のレイヤの隠れノードは、フレームデータ511,512,513を入力xとして受信してもよい。w
i
j
Tは隠れノードの入力に乗算される加重値ベクトルを示す。b
i
jはバイアスを示す。i及びjは1以上の整数を示す。レイヤは入力から出力の順に配置され、例えば、入力レイヤと最も近く連結された隠れレイヤは1番目のレイヤである。
【0082】
スケール行列が適用された隠れノードの補正された出力は、下記の数式(2)のように示す。
【0083】
【数2】
h
i,GL1
jはi番目のレイヤでj番目の隠れノードにスケール行列が適用された出力を示す。h
i
jは上述したように、i番目のレイヤでj番目の隠れノードの出力を示す。γ
GL1
jはL1言語グループのグループスケール行列580を示す。◎は要素演算を示し、例えば、行列の積を示す。fは、スケール行列をレイヤのノード出力に適用する関数を示し、例えば、補正された後の出力値の範囲を制限する関数であってもよい。例えば、fは、シグモイド関数及びtanh関数などであってもよい。Aはh
i,GL1
jの出力範囲を限定する定数を示す。
【0084】
したがって、音声認識モデルを個人化する装置は、グループスケール行列580が適用された少なくとも一部のレイヤ521の出力のそれぞれを、予め決定された範囲(例えば、0~2)に制限する。
【0085】
音声認識モデルを個人化する装置は、補正された出力を次のレイヤ522でフォワードする。音声認識モデルを個人化する装置は、ノードの出力をレイヤ単位で順にフォワーディングし、最後のレイヤで最終出力を生成し得る。
【0086】
一実施形態に係る音声認識モデルを個人化する装置は、スケール行列をレイヤの出力に適用することで、ユーザに個人化された音声認識結果を生成できる。
【0087】
図6は、複数の言語グループに対応するグループスケール行列が適用された例示を示す。
【0088】
音声認識モデルを個人化する装置は、ユーザに対応する複数の言語グループを識別する。音声認識モデルを個人化する装置は、音声認識モデル620の少なくとも一部のレイヤ621に複数の言語グループのそれぞれに対応するグループスケール行列を適用する。例えば、音声認識モデルを個人化する装置は、複数の言語グループのそれぞれの階層順に応じて、順に複数の言語グループのそれぞれに対応するグループスケール行列を少なくとも一部のレイヤ621に適用する。
【0089】
音声認識モデルを個人化する装置は、数式(1)及び数式(2)による演算を各スケール行列ごとに適用する。例えば、音声認識モデルを個人化する装置は、複数の言語グループに対応するスケール行列を下記の数式(3)のように適用する。
【0090】
【数3】
上述した数式(3)において、h
i,K
jはi番目のレイヤでj番目の隠れノードにK個のスケール行列が適用された出力を示す。h
i,K-1
jは、i番目のレイヤでj番目の隠れノードにK-1個のスケール行列が適用された出力を示す。Kは、2以上の整数を示す。γ
K
jは、K番目のスケール行列を示す。f
Kは、K-1個のスケール行列が適用された出力にK番目のスケール行列を適用する関数を示す。A
Kは、隠れノードの補正された出力の出力範囲を限定する定数を示す。ただし、複数のスケール行列の適用を上述した数式(3)に限定されることなく、様々な関数が適用されてもよい。
【0091】
図6に示された例示で、音声認識モデルを個人化する装置は、
図4を参照して上述したように、3つの言語グループ(例えば、韓国人グループ、釜山グループ、及び女性グループ)を識別してもよい。音声認識モデルを個人化する装置は、3つのグループスケール行列681,682,683及びユーザスケール行列690をレイヤ621に適用する。
図6に示された例示で数式(3)のKは4であってもよい。
【0092】
音声認識モデルを個人化する装置は、少なくとも一部のレイヤ621に含まれたノードの出力にグループスケール行列を適用することで、少なくとも一部のレイヤ621に含まれたノードの出力を補正し得る。音声認識モデルを個人化する装置は、補正された出力を次のレイヤ622にフォワードする。
【0093】
図7は、複数の言語グループに対応するグループスケール行列が適用された異なる例示を示す。
【0094】
音声認識モデルを個人化する装置は、識別された言語グループに対応するグループスケール行列781,782,783をレイヤ721,722,723のそれぞれに適用する。音声認識モデルを個人化する装置は、ユーザスケール行列791,792,793についてもレイヤ721,722,723のそれぞれに適用する。各グループスケール行列781,782,783は同じ言語グループに対応し、各ユーザスケール行列791,792,793は同じユーザに対応する。
【0095】
他の例として、音声認識モデルを個人化する装置は、複数の言語グループのうち少なくとも一部に対応するグループスケール行列を少なくとも一部のレイヤに適用してもよい。音声認識モデルを個人化する装置は、複数の言語グループのうち他の一部に対応する異なるグループスケール行列を他のレイヤに適用してもよい。例えば、音声認識モデルを個人化する装置は、第1レイヤに第1グループスケール行列及び第1ユーザスケール行列に適用し、第2レイヤに第2グループスケール行列及び第2ユーザスケール行列に適用してもよい。
【0096】
更なる例として、音声認識モデルを個人化する装置は、音声認識モデルの複数のレイヤのうち、ユーザの言語に対して指定されたレイヤにグループスケール行列を適用してもよい。例えば、韓国語に対する音声認識モデルの場合、音声認識モデルを個人化する装置は、上位レイヤ(例えば、出力レイヤに隣接するレイヤ)にスケール行列(例えば、グループスケール行列及びユーザスケール行列)を適用してもよい。英語に対する音声認識モデルの場合、音声認識モデルを個人化する装置は、下位レイヤ(例えば、入力レイヤに隣接するレイヤ)にスケール行列を適用してもよい。
【0097】
ただし、スケール行列の適用を上述したものに限定されることなく、設計に応じて様々な構造にスケール行列が音声認識モデル720に適用され得る。
【0098】
図8は、一実施形態に係るスケール行列のトレーニングを説明する図である。
【0099】
音声認識モデルを個人化する装置が音声認識サーバである場合、音声認識サーバは、個別ユーザ端末によって要求されるグループスケール行列及びユーザスケール行列をロードしたり、該当ユーザ端末に配布したりする。音声認識モデルを個人化する装置は、複数の階層に分類される複数のグループスケール行列を必要に応じて選択的にロードしたり配布したりする。音声認識モデルを個人化する装置は、ユーザからの音声認識要求を取得する前に、グループスケール行列を予めトレーニングしておく。音声認識モデルを個人化する装置は、個別ユーザに対して個人化された音声認識モデル820を生成した後からユーザスケール行列をトレーニングさせてもよい。
【0100】
一実施形態によれば、音声認識モデルを個人化する装置は、任意のユーザに対して初期モデルを生成する場合、識別された言語グループに対応するグループスケール行列をロードし、ロードされたグループスケール行列と共にユーザスケール行列を該当の初期モデルに適用する。初期モデルに適用されたグループスケール行列は、既存のトレーニングデータ890に基づいて該当言語グループに基づいて予めトレーニングされた行列であってもよい。初期モデルに適用されたユーザスケール行列は、トレーニングされる前の初期化された値を有する。ユーザスケール行列の初期値は、例えば、予めトレーニングされたグループスケール行列と同じ値を有するよう設定されてもよい。
【0101】
音声認識モデルを個人化する装置は、ユーザから音声信号が取得される場合に応答して、個人化された音声認識モデル820でユーザスケール行列を取得された音声信号に基づいてトレーニングさせ得る。例えば、音声認識モデルを個人化する装置は、ユーザスケール行列のトレーニングの間に残りのパラメータ(例えば、加重値ベクトル及びバイアスなど)を固定し得る。
【0102】
さらに、音声認識モデルを個人化する装置は、個人化された音声認識モデル820のうち、グループスケール行列が変更されたことに応答して、ユーザスケール行列をアップデートし得る。音声認識モデルを個人化する装置は、個人化された音声認識モデル820が生成された後、ユーザに対応する追加言語グループをさらに識別し得る。音声認識モデルを個人化する装置は、追加言語グループに対応するグループスケール行列を少なくとも一部のレイヤに追加的に適用することで、個人化された音声認識モデル820をアップデートする。グループスケール行列は、ユーザスケール行列よりも上位階層に属するため、グループスケール行列が変更される場合、ユーザスケールが再びトレーニングされる必要がある。
【0103】
また、音声認識モデルを個人化する装置は、予め決定された周期の間に複数の言語グループのうち、ターゲット言語グループに対応する複数のユーザからトレーニングデータ890を収集する。ターゲット言語グループは、トレーニングの対象となる言語グループを示す。音声認識モデルを個人化する装置は、トレーニングデータ890に基づいて、ターゲット言語グループに対応するグループスケール行列をトレーニングする。音声認識モデルを個人化する装置は、ターゲット言語グループに対応するグループスケール行列よりも上位階層のグループスケール行列についてもトレーニングさせてもよい。下位階層の言語グループは、上位階層の言語グループに対応する言語特性を含んでいるため、下位階層の言語グループをトレーニングするとき、上位階層の言語グループに対応するグループスケール行列についてもトレーニングされなければならない。
【0104】
音声認識モデルを個人化する装置は、ユーザから新しく取得された音声信号に基づいて、新しいトレーニングデータ890を生成する。新しいトレーニングデータ890は、トレーニング入力891、基準テキスト892、及びグループラベル893を含む。トレーニング入力891は、音声信号又は音声信号から抽出された特徴データを示す。基準テキスト892は、該当トレーニング入力891が指示する真の(true)テキストデータを示す。グループラベル893は、該当トレーニング入力891が示す言語特性によるグループを指示するデータを示す。
【0105】
一実施形態に係る音声認識モデルを個人化する装置は、教師あり学習(supervised learning)を介して音声認識モデル820(ニューラルネットワーク)のスケール行列をトレーニングさせ得る。教師あり学習は、トレーニングデータ890のトレーニング入力891に対応するトレーニング出力(
図8では基準テキスト892)を共に音声認識モデル820に入力し、トレーニングデータ890のトレーニング出力に対応する出力データが出力されるようにスケール行列をアップデートする方式である。
【0106】
一実施形態によれば、音声認識モデルを個人化する装置は、ニューラルネットワークに逆伝播される損失及びニューラルネットワークに含まれたノードの出力値809に基づいた勾配下降法(gradient descent)によりスケール行列を決定する。例えば、音声認識モデルを個人化する装置は、損失逆伝播学習により、グループスケール行列及びユーザスケール行列のうち少なくとも1つをアップデートする。損失逆伝播学習は、与えられたトレーニングデータ890に対してフォワード算出を介して損失を推定(例えば、誤差算出880)した後、出力レイヤから始まって隠れレイヤ及び入力レイヤに向かう逆方向に推定された損失を伝播しながら、損失を減らす方向にスケール行列をアップデートする方法である。
【0107】
音声認識モデルを個人化する装置は、現在設定されたスケール行列がどれ程最適に近いかを測定するための目的関数を定義し、目的関数の結果に基づいてスケール行列を続けて変更し、トレーニングを繰り返し行う。例えば、目的関数は、ニューラルネットワークがトレーニングデータ890のトレーニング入力891に基づいて、真の出力した出力値809と出力されることを所望する期待値(例えば、基準テキスト892)の間の損失を算出するための損失関数である。音声認識モデルを個人化する装置は、損失関数の値を減らす方向にスケール行列をアップデートする。
【0108】
音声認識モデルを個人化する装置は、個人化及び最新音声特性を反映するためにグループスケール行列をトレーニングさせ得る。特定ユーザの音声信号が個人化の目的として該当ユーザの音声認識モデル820に入力されれば、音声認識モデルを個人化する装置は、該当ユーザのユーザスケール行列をアップデートする。
【0109】
音声認識モデルを個人化する装置は、周期的に複数のユーザから音声信号を収集し、ユーザスケール行列よりも上位階層のグループスケール行列をアップデートする。音声認識モデルを個人化する装置は、複数のユーザから収集された音声信号のうち、共通している言語特性を示す音声信号を抽出する。音声認識モデルを個人化する装置は、共通している言語特性を示す音声信号を用いて、共通している言語特性を指示する言語グループに対応するグループスケール行列をトレーニングする。
【0110】
音声認識モデルを個人化する装置は、上述したトレーニングによって最新音声信号データ分布による言語特性をグループスケール行列に反映する。最新言語特性が反映されたグループスケール行列は、真の言語トレンドに対してより少ないミスマッチを示す。したがって、音声認識モデルを個人化する装置は、個別ユーザに対するトレーニングなくとも、該当ユーザの言語グループに基づいたグループスケール行列の適用を通して該当ユーザに対して個人化された音声認識モデル820を生成する。さらに、音声認識モデルを個人化する装置は、ユーザスケール行列の適用及びトレーニングによって該当ユーザに対してより個人化された音声認識モデル820を生成し得る。
【0111】
一実施形態に係る音声認識モデルを個人化する装置は、個別ユーザが生成された音声認識モデル820を用いるたびに、該当ユーザの音声特徴により最適化されるよう、個人化された音声認識モデル820をアップデートできる。
【0112】
また、音声認識モデルを個人化する装置は、個人化された音声認識モデル820のうち、グループスケール行列が変更されたことに応答して、ユーザスケール行列をアップデートできる。
【0113】
図9は、一実施形態に係る音声認識モデルを個人化する装置の構成に関するブロック図である。
【0114】
音声認識モデルを個人化する装置900は、入出力インタフェース910、プロセッサ920、及びメモリ930を含む。
【0115】
入出力インタフェース910は、ユーザの音声又は正解テキストなどが入力されたり、ユーザに認識結果又はガイドテキストを提示する構成を意味する。例えば、入出力インタフェース910は、ユーザの音声が入力されるマイクロフォンを含む。入出力インタフェース910は、ユーザから正解テキストが入力されるキーボード、タッチスクリーン、又はタッチパッドなどを含む。入出力インタフェース910は、認識結果又はガイドテキストを提示するディスプレイを含む。例えば、ディスプレイは、ユーザインタフェースをレンダリングしたり、ユーザ入力を受信できる1つ以上のハードウェア構成を含む物理的な構造であり得る。例えば、ディスプレイは装置900で埋め込められてもよい。例えば、ディスプレイは、装置900から取り外し可能な外部周辺装置であってもよい。ディスプレイは、単一スクリーン又はマルチスクリーンディスプレイであってもよい。
【0116】
プロセッサ920は、ユーザに対応する言語グループを識別し、音声認識モデルの複数のレイヤのうち少なくとも一部のレイヤに、識別された言語グループに対応するグループスケール行列を適用することで、個人化された音声認識モデルを生成し得る。ただし、プロセッサ920の動作がこれに限定されることなく、プロセッサ920は、
図1~
図8を参照して説明した動作を行ってもよい。プロセッサ920の詳細は下記で提供される。
【0117】
メモリ930は、プロセッサ920によって実行される命令及び音声認識モデルを格納する。音声認識モデルは、統計的な音声認識モデル又はニューラルネットワーク基盤の音声認識モデルであり得る。音声認識モデルがニューラルネットワークである場合、メモリ930は、ニューラルネットワークの各レイヤの加重値などのようなパラメータを格納する。また、メモリ930は、グループスケール行列及びユーザスケール行列などを格納する。メモリ930は、カーネル構成、特徴マップ、加重値構成、及び/又は音声構成がプロセッサ920にロードされるデータベースを格納する。例えば、メモリ930は、プロセッサ920のメモリ又はプロセッサ920に直接接続されたバッファ/メモリ(例えば、プロセッサ920及びメモリ930にデータを迅速に送信するためのもの)であってもよい。また、メモリ930は、ユーザスケール行列及び1つ以上のグループスケール行列を格納する。
【0118】
一実施形態に係る音声認識モデルを個人化する装置900は、個別ユーザの言語グループに対応するグループスケール行列を使用することで、最初から該当ユーザに個人化された音声認識を提供できる。
【0119】
また、音声認識モデルを個人化する装置900は、一日単位又は一週間単位などでグループスケール行列をアップデートすることで、迅速に最新の音声信号特性を音声認識モデルに反映できる。さらに、音声認識モデルを個人化する装置900は、数個の行列(例えば、ベクトル)のみをトレーニングさせればよいため、トレーニングに費やされる時間及び算出量が少ない。
【0120】
図10は、ニューラルネットワークを具現する電子システム又は装置1000の例示を示す。
図10を参照すれば、電子装置1000は、センサ1010、プロセッサ1020、ローカルメモリ(図示せず)、メモリ1030、ディスプレイ1050、及びユーザインタフェース1060を含む。センサ1010、プロセッサ1020、メモリ1030、ディスプレイ1050、ユーザインタフェース1060は、バス1040を経由して互いに通信する。電子装置1000は、
図1に示されたスマートフォン101、スマートパッド102、音声認識スピーカ103、音声認識TV104、音声認識サーバ130、又は、
図9に示す装置900のうちの1つ以上に対応する。電子装置1000は、上述したプロセス又は方法のうちの1つ以上又は全てを具現する。プロセッサ1020は
図9に示すプロセッサ920に対応し、メモリ1030は
図9に示すメモリ930に対応するが、これに限定されることはない。音声認識モデルがニューラルネットワークである場合、メモリ1030は、カーネル構成、特徴マップ、加重値構成、音声構成、及び/又はイメージ構成がプロセッサ1020のローカルバッファ/メモリからロードされたり、ローカルバッファ/メモリにロードされるデータベースを格納する。例えば、ローカルバッファ/メモリは、プロセッサ1020のメモリ又はローカルバッファ/メモリ及びプロセッサ1020にデータを迅速に送信できるプロセッサ1020に直接接続されたバッファ/メモリであってもよい。ローカルバッファ/メモリは、ニューラルネットワークの特定レイヤ又はニューラルネットワークの全てのレイヤの畳み込み出力結果を臨時的に格納するために割り当てられてもよい。最終の出力結果は、メモリ1030に格納されたり、次のレイヤの入力のために使用される。例えば、次のレイヤの入力として使用するための目的を除き、各レイヤの畳み込み結果は捨てられ、最終レイヤは単にメモリ1030に格納されたり、他のプロセス(例えば、アンラックのための協力動作及び電子装置1000としてモバイルフォンのディスプレイ動作など)のために用いられるニューラルネットワークの結果を出力する。プロセッサ1020は、ニューラルネットワークプロセッシング機構又は解釈機構のうちの1つ又はその組合せで構成される1つ以上のプロセッサを示す。
【0121】
センサ1010は、例えば、マイクロフォン及び/又はイメージセンサ又はオーディオデータ及びビデオデータを検出するカメラを含み、電子装置1000の周辺で話す人によって生成される声を収集する。センサ1010の出力は、プロセッサ1020又はメモリ1030に送信され、センサ1010の出力は、直接的にニューラルネットワークの入力レイヤに送信される。
【0122】
プロセッサ1020は、
図1~
図9を参照して上述した1つ以上又は全てのプロセスを行うように構成される。例えば、音声信号に対応するテキストデータを生成するために、プロセッサ1020は、
図1~
図9を参照して上述したニューラルネットワークの処理動作に基づいて入力データを認識、拒否、又は検証し得る。
図1~
図9を参照して説明されたニューラルネットワーク処理動作は、ユーザに関する言語特性推定情報に基づいてユーザの言語グループを識別し、ニューラルネットワークの畳み込み演算を効率よく処理できる。異なる例として、プロセッサ1020は、加速処理に考慮される損失逆伝播学習を介してユーザスケール行列及びグループスケール行列のうち少なくとも1つをアップデートすることで、音声認識モデルを個人化してニューラルネットワークで畳み込み動作を効率よく処理できる。認識動作の結果は、ディスプレイ1050を介して出力される。また、ニューラルネットワーク処理動作のユーザ調整又は選択的な動作は、ユーザインタフェース1060によって提供される。ユーザインタフェース1060は、タッチスクリーン又は他の入出力装置/システムを含む。プロセッサ1020は、GPU(graphics processor unit)、再構成可能なプロセッサ又は他のタイプの多重又は単一プロセッサの構成であってもよい。
【0123】
図1~
図10を参照して上述したニューラルネットワーク処理機構及び動作のうちの1つ以上の動作に対して、メモリ1030は、プロセッサ1020により実行されるとき、プロセッサ1020が追加動作、機能、及び電子装置1000の制御(例えば、電子システムのユーザインタフェースなど)を行うようにする命令をさらに格納してもよい。電子装置1000は、外部装置、例えば、PC、又は、ネットワークに電子システムの入出力装置を経由して接続されてもよく、外部装置とデータを交換し得る。電子装置1000は様々な装置であってもよく、例えば、モバイル装置(例えば、モバイル電話、スマートフォン)、ウェアラブルスマート装置(例えば、指輪、時計、メガネ、メガネタイプの装置、腕輪、アンクレット、ベルト、ネックレス、イヤリング、ヘアバンド、ヘルメット、服に埋め込まれた装置、EGD(eye glass display)など)、コンピューティング装置(例えば、サーバ、ラップトップ、ノート型パソコン、サブノート型パソコン、ネットブック、UMPC(ultra mobile PC)、タブレットPC、ファブレット、モバイルインターネット装置(MID、mobile internet device)、PDA(personal digital assistant)、EDA(enterprise digital assistant)、携帯ラップトップPC)、電子製品(例えば、ロボット、デジタルカメラ、デジタルビデオカメラ、携帯用ゲームコンソール、MP3プレーヤー、PMP(portable/personal multimedia player)、ハンドヘルド電子本(handheld e-book)、GPSナビゲーション、個人ナビゲーション装置、PND(portable navigation device)、ハンドヘルドゲームコンソール、電子本、TV、HDTV、スマートTV、スマート機器、スマートホーム装置)、又は、ゲート制御のためのセキュリティー装置、様々な事物インターネット(IoT、Internet of Things)装置、又は、無線ネットワーク通信が可能な装置であり得る。
【0124】
以上述した装置は、ハードウェア構成要素、ソフトウェア構成要素、又はハードウェア構成要素及びソフトウェア構成要素の組合せで具現される。例えば、本実施形態で説明した装置及び構成要素は、例えば、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ(digital signal processor)、マイクロコンピュータ、FPA(field programmable array)、PLU(programmable logic unit)、マイクロプロセッサー、又は命令(instruction)を実行して応答する異なる装置のように、1つ以上の汎用コンピュータ又は特殊目的コンピュータを用いて具現される。処理装置は、オペレーティングシステム(OS)及びオペレーティングシステム上で実行される1つ以上のソフトウェアアプリケーションを実行する。また、処理装置は、ソフトウェアの実行に応答してデータをアクセス、格納、操作、処理、及び生成する。理解の便宜のために、処理装置は1つが使用されるものとして説明する場合もあるが、当技術分野で通常の知識を有する者は、処理装置が複数の処理要素(processing element)及び/又は複数類型の処理要素を含むことが把握する。例えば、処理装置は、複数のプロセッサ又は1つのプロセッサ及び1つのコントローラを含む。また、並列プロセッサ(parallel processor)のような、他の処理構成も可能である。
【0125】
ソフトウェアは、コンピュータプログラム、コード、命令、又はこののうちの1つ以上の組合せを含み、希望通りに動作するように処理装置を構成し、独立的又は結合的に処理装置に命令する。ソフトウェア及び/又はデータは、処理装置によって解釈され、処理装置に命令又はデータを提供するためのあらゆる類型の機械、構成要素、物理的装置、仮想装置、コンピュータ格納媒体又は装置、或いは送信される信号波を介して永久的又は一時的に具現化される。ソフトウェアは、ネットワークに連結されたコンピュータシステム上に分散され、分散された方法で格納されるか又は実行される。ソフトウェア及びデータは1つ以上のコンピュータ読み取り可能な記録媒体に格納される。
【0126】
本実施形態による方法は、様々なコンピュータ手段を介して実施されるプログラム命令の形態で具現され、コンピュータ読み取り可能な記録媒体に記録される。記録媒体は、プログラム命令、データファイル、データ構造などを単独又は組合せて含む。記録媒体及びプログラム命令は、本発明の目的のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD-ROM、DYIJDのような光記録媒体、フロプティカルディスクのような磁気-光媒体、及びROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置を含む。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行される高級言語コードを含む。ハードウェア装置は、本発明に示す動作を実行するために1つ以上のソフトウェアモジュールとして作動するように構成してもよく、その逆も同様である。
【0127】
上述したように実施形態をたとえ限定された図面によって説明したが、当技術分野で通常の知識を有する者であれば、上記の説明に基づいて様々な技術的な修正及び変形を適用することができる。例えば、説明された技術が説明された方法と異なる順で実行されるし、及び/又は説明されたシステム、構造、装置、回路などの構成要素が説明された方法と異なる形態で結合又は組み合わせられてもよいし、他の構成要素又は均等物によって置き換え又は置換されたとしても適切な結果を達成することができる。
【0128】
したがって、本発明の範囲は、開示された実施形態に限定されて定められるものではなく、特許請求の範囲及び特許請求の範囲と均等なものなどによって定められるものである。
【符号の説明】
【0129】
900:音声認識モデルを個人化する装置
910:入出力インタフェース
920:プロセッサ
930:メモリ