(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-25
(45)【発行日】2023-10-03
(54)【発明の名称】機械学習を利用したテキスト音声合成方法、装置およびコンピュータ読み取り可能な記憶媒体
(51)【国際特許分類】
G10L 13/10 20130101AFI20230926BHJP
G10L 25/30 20130101ALI20230926BHJP
【FI】
G10L13/10 113Z
G10L25/30
(21)【出願番号】P 2022081878
(22)【出願日】2022-05-18
(62)【分割の表示】P 2020538659の分割
【原出願日】2019-01-11
【審査請求日】2022-05-30
(31)【優先権主張番号】10-2018-0004066
(32)【優先日】2018-01-11
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2018-0004234
(32)【優先日】2018-01-12
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2018-0004235
(32)【優先日】2018-01-12
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2019-0004186
(32)【優先日】2019-01-11
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】519018864
【氏名又は名称】ネオサピエンス株式会社
【氏名又は名称原語表記】NEOSAPIENCE, INC.
(74)【代理人】
【識別番号】100121728
【氏名又は名称】井関 勝守
(74)【代理人】
【識別番号】100165803
【氏名又は名称】金子 修平
(72)【発明者】
【氏名】ギム テス
(72)【発明者】
【氏名】イ ヨングン
【審査官】山下 剛史
(56)【参考文献】
【文献】特開2017-32839(JP,A)
【文献】特開2017-58411(JP,A)
【文献】特開2006-189544(JP,A)
【文献】米国特許出願公開第2017/0092258(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 13/00-13/10,25/30
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
テキスト音声合成(text-to-speech synthesis)装置であって、
メモリと、
前記メモリと連結され、前記メモリに含まれたコンピュータ読み取り可能な少なくとも一つのプログラムを実行するように構成された少なくとも一つのプロセッサとを含み、
前記少なくとも一つのプログラムは、
入力テキストを受信し、
話者の発声特徴を受信し、
前記受信された入力
テキストおよび前記話者の発声特徴を人工ニューラルネットワークのテキスト音声合成モデルに入力して、前記話者の発声特徴が反映された前記入力テキストに対する出力音声データを生成し、
前記話者の発声特徴を調節するための追加の入力を受信するための命令語を含み、ここで、前記話者の発声特徴は、前記受信された追加の入力に基づいて調節される話者の発声特徴を含み、
前記人工ニューラルネットワークのテキスト音声合成モデルは、複数の学習テキストおよび前記複数の学習テキストに対応する音声データに基づいて機械学習を遂行して学習される、テキスト音声合成装置。
【請求項2】
前記話者の発声特徴は、前記話者の発声特徴を表す埋め込みベクトルを含み、前記埋め込みベクトルは、話者の音声サンプルから抽出される、請求項1に記載のテキスト音声合成装置。
【請求項3】
前記話者の発声特徴を表す埋め込みベクトルは、学習された人工ニューラルネットワークの埋め込みベクトル抽出モデルを用いて、話者の音声サンプルに基づいて抽出される、請求項2に記載のテキスト音声合成装置。
【請求項4】
前記話者の発声特徴を表す埋め込みベクトルは、前記話者の韻律的特徴を表す第1のサブ埋め込みベクトルを含み、ここで、前記韻律的特徴は、発話速度に関する情報、発音アクセントに関する情報、休止区間に関する情報または音高に関する情報のうち少なくとも1つを含み、
前記話者の発声特徴が反映された前記入力テキストに対する出力音声データを生成することは、前記話者の韻律的特徴を表す第1のサブ埋め込みベクトルを前記人工ニューラルネットワークのテキスト音声合成モデルに入力して、前記話者の韻律的特徴が反映された前記入力テキストに対する出力音声データを生成することを含む、請求項2に記載のテキスト音声合成装置。
【請求項5】
前記話者の発声特徴を表す埋め込みベクトルは、前記話者の感情的特徴を表す第2のサブ埋め込みベクトルを含み、ここで、前記感情的特徴は、前記話者の発話内容に内在された感情に関する情報を含み、
前記話者の発声特徴が反映された前記入力テキストに対する出力音声データを生成することは、前記話者の感情的特徴を表す第2のサブ埋め込みベクトルを前記人工ニューラルネットワークのテキスト音声合成モデルに入力して、前記話者の感情的特徴が反映された前記入力テキストに対する出力音声データを生成することを含む、請求項2に記載のテキスト音声合成装置。
【請求項6】
前記話者の発声特徴を表す埋め込みベクトルは、前記話者の音色および音高に対する特徴を表す第3のサブ埋め込みベクトルを含み、
前記話者の発声特徴が反映された前記入力テキストに対する出力音声データを生成することは、前記話者の音色および音高に対する特徴を表す第3のサブ埋め込みベクトルを前記人工ニューラルネットワークのテキスト音声合成モデルに入力して、前記話者の音色および音高に対する特徴が反映された前記入力テキストに対する出力音声データを生成することを含む、請求項2に記載のテキスト音声合成装置。
【請求項7】
前記少なくとも一つのプログラムは、
前記追加の入力に基づいて、前記話者の発声特徴を表す埋め込みベクトルを修正し、
前記修正された埋め込みベクトルを前記人工ニューラルネットワークのテキスト音声合成モデルに入力して、前記出力音声データを、前記追加の入力に含まれた情報が反映された前記入力テキストに対する音声データに変換するための命令語をさらに含む、請求項2に記載のテキスト音声合成装置。
【請求項8】
前記話者の発声特徴を調節するための追加の入力は、性別に関する情報、年齢に関する情報、地域別イントネーションに関する情報、発声の速度に関する情報、音高または発声の大きさに関する情報のうち少なくとも1つを含む、請求項1に記載のテキスト音声合成装置。
【請求項9】
前記話者の発声特徴を受信することは、
予め決定された時間区間内に、前記話者から入力された音声を前記話者の音声サンプルとしてリアルタイムで受信し、
前記話者の音声サンプルから前記話者の発声特徴を受信することを含む、請求項1に記載のテキスト音声合成装置。
【請求項10】
前記話者の発声特徴を受信することは、第1の話者の発声特徴および第2の話者の発声特徴を受信することを含み、ここで、前記第1の話者および前記第2の話者は互いに異なり、
前記話者の発声特徴が反映された前記入力テキストに対する出力音声データを生成することは、前記受信された入力
テキスト、前記第1の話者の発声特徴および前記第2の話者の発声特徴を前記人工ニューラルネットワークのテキスト音声合成モデルに入力して、前記第1の話者の発声特徴および前記第2の話者の発声特徴が反映された前記入力テキストに対する出力音声データを生成することを含む、請求項1に記載のテキスト音声合成装置。
【請求項11】
機械学習を利用したテキスト音声合成(text-to-speech synthesis)方法であって、
入力テキストを受信するステップと、
話者の発声特徴を受信するステップと、
前記受信された入力
テキストおよび前記話者の発声特徴を人工ニューラルネットワークのテキスト音声合成モデルに入力して、前記話者の発声特徴が反映された前記入力テキストに対する出力音声データを生成するステップと、
前記話者の発声特徴を調節するための追加の入力を受信するステップとを含み、ここで、前記話者の発声特徴は、前記受信された追加の入力に基づいて調節される話者の発声特徴を含み、
前記人工ニューラルネットワークのテキスト音声合成モデルは、複数の学習テキストおよび前記複数の学習テキストに対応する音声データに基づいて機械学習を遂行して学習される、テキスト音声合成方法。
【請求項12】
前記話者の発声特徴は、前記話者の発声特徴を表す埋め込みベクトルを含み、前記埋め込みベクトルは、話者の音声サンプルから抽出される、請求項11に記載のテキスト音声合成方法。
【請求項13】
前記話者の発声特徴を表す埋め込みベクトルは、学習された人工ニューラルネットワークの埋め込みベクトル抽出モデルを用いて、話者の音声サンプルに基づいて抽出される、請求項12に記載のテキスト音声合成方法。
【請求項14】
前記話者の発声特徴を表す埋め込みベクトルは、前記話者の韻律的特徴を表す第1のサブ埋め込みベクトルを含み、ここで、前記韻律的特徴は、発話速度に関する情報、発音アクセントに関する情報、休止区間に関する情報または音高に関する情報のうち少なくとも1つを含み、
前記話者の発声特徴が反映された前記入力テキストに対する出力音声データを生成するステップは、前記話者の韻律的特徴を表す第1のサブ埋め込みベクトルを前記人工ニューラルネットワークのテキスト音声合成モデルに入力して、前記話者の韻律的特徴が反映された前記入力テキストに対する出力音声データを生成するステップを含む、請求項12に記載のテキスト音声合成方法。
【請求項15】
前記話者の発声特徴を表す埋め込みベクトルは、前記話者の感情的特徴を表す第2のサブ埋め込みベクトルを含み、ここで、前記感情的特徴は、前記話者の発話内容に内在された感情に関する情報を含み、
前記話者の発声特徴が反映された前記入力テキストに対する出力音声データを生成するステップは、前記話者の感情的特徴を表す第2のサブ埋め込みベクトルを前記人工ニューラルネットワークのテキスト音声合成モデルに入力して、前記話者の感情的特徴が反映された前記入力テキストに対する出力音声データを生成するステップを含む、請求項12に記載のテキスト音声合成方法。
【請求項16】
前記話者の発声特徴を表す埋め込みベクトルは、前記話者の音色および音高に対する特徴を表す第3のサブ埋め込みベクトルを含み、
前記話者の発声特徴が反映された前記入力テキストに対する出力音声データを生成するステップは、前記話者の音色および音高に対する特徴を表す第3のサブ埋め込みベクトルを前記人工ニューラルネットワークのテキスト音声合成モデルに入力して、前記話者の音色および音高に対する特徴が反映された前記入力テキストに対する出力音声データを生成するステップを含む、請求項12に記載のテキスト音声合成方法。
【請求項17】
前記追加の入力に基づいて、前記話者の発声特徴を表す埋め込みベクトルを修正するステップと、
前記修正された埋め込みベクトルを前記人工ニューラルネットワークのテキスト音声合成モデルに入力して、前記出力音声データを、前記追加の入力に含まれた情報が反映された前記入力テキストに対する音声データに変換するステップとをさらに含む、請求項12に記載のテキスト音声合成方法。
【請求項18】
前記話者の発声特徴を調節するための追加の入力は、性別に関する情報、年齢に関する情報、地域別イントネーションに関する情報、発声の速度に関する情報、音高または発声の大きさに関する情報のうち少なくとも1つを含む、請求項11に記載のテキスト音声合成方法。
【請求項19】
前記話者の発声特徴を受信するステップは、
予め決定された時間区間内に、前記話者から入力された音声を前記話者の音声サンプルとしてリアルタイムで受信するステップと、
前記話者の音声サンプルから前記話者の発声特徴を受信するステップとを含む、請求項11に記載のテキスト音声合成方法。
【請求項20】
前記話者の発声特徴を受信するステップは、第1の話者の発声特徴および第2の話者の発声特徴を受信するステップを含み、ここで、前記第1の話者および前記第2の話者は互いに異なり、
前記話者の発声特徴が反映された前記入力テキストに対する出力音声データを生成するステップは、前記受信された入力
テキスト、前記第1の話者の発声特徴および前記第2の話者の発声特徴を前記人工ニューラルネットワークのテキスト音声合成モデルに入力して、前記第1の話者の発声特徴および前記第2の話者の発声特徴が反映された前記入力テキストに対する出力音声データを生成するステップを含む、請求項11に記載のテキスト音声合成方法。
【請求項21】
請求項11乃至20の何れか一項に記載の方法をコンピュータで実行するために、コンピュータ読み取り可能な記録媒体に保存されたコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、入力テキストを受信して入力テキストに対する音声を合成する方法および合
成された音声を再生する装置に関するものである。
【背景技術】
【0002】
音声(speech)は、人間の基礎的で効果的な意思を伝達できる道具の1つである
。音声ベースの通信は、ユーザーに直観的で便利なサービスを提供し、一部の装置は、音
声を使用して相互作用できる音声ユーザーインターフェースを使用している。従来の音声
ユーザーインターフェースにおいて、音声応答を具現する簡単な方法はオーディオ録音で
あるが、録音された音声のみが利用され得るという限界があった。これらの装置は、録音
されてない音声に対しては応答サービスを提供できないため、装置の使用における柔軟性
が低下する。例えば、Apple Siri(登録商標)およびAmazon Alex
a(登録商標)などの人工知能(AI)のエージェントは、ユーザーのクエリ(quer
ies)がランダムであり得るため、ユーザーのクエリに対する応答サービスのために多
様な文章を生成することができる必要がある。これらのアプリケーションにおいて可能な
すべての応答を録音する場合、かなりの時間と費用が要求される。このような環境におい
て、多くの研究者が自然で速い音声合成モデルを開発しようと努力している。また、テキ
ストから音声を生成できるTTS(text-to-speech)ともいうテキスト音
声合成が広く研究されている。
【0003】
一般的に、TTS技術は、波形接続型TTS(Concatenative TTS)
、パラメトリックTTS(Parametric TTS)など、多様な音声合成方法が
ある。例えば、波形接続型TTSは、音声を音素などの非常に短い単位で事前に切断して
格納し、合成する文章を構成する音声を結合して合成することができ、パラメトリックT
TSは、音声の特徴をパラメータで表現し、合成可能な文章を構成する音声の特徴を表す
パラメータを、ボコーダー(vocoder)を利用して文章に対応する音声に合成する
ことができる。
【0004】
一方、最近では、人工ニューラルネットワーク(例えば、ディープニューラルネットワ
ーク)ベースの音声合成方法が活発に研究されており、これらの音声合成方法によって合
成された音声は、従来の方法に比べてはるかに自然な音声の特徴を含んでいる。しかし、
人工ニューラルネットワークベースの音声合成方法によって新たな話者のための音声合成
サービスを提供するためには、その話者の声に該当する多くのデータが必要であり、この
データを利用した人工ニューラルネットワークモデルの再学習が要求される。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示による方法および装置は、新たな話者に関する多くのデータまたは情報の入力な
しに、その新たな話者の発声の特性が反映された、入力テキストに対する出力音声データ
を提供する音声合成方法および装置に関するものである。また、本開示による方法および
装置は、別途の機械学習なしに、新たな話者を拡張して音声合成サービスを提供すること
ができる。
【課題を解決するための手段】
【0006】
本開示の一実施例に係る機械学習を利用したテキスト音声合成(text-to-sp
eech synthesis)方法は、複数の学習テキストおよび複数の学習テキスト
に対応する音声データに基づいて機械学習を遂行して生成された、単一の人工ニューラル
ネットワークのテキスト音声合成(text-to-speech synthesis
)モデルを生成するステップと、入力テキストを受信するステップと、話者の発声特徴を
受信するステップと、話者の発声特徴を単一の人工ニューラルネットワークのテキスト音
声合成モデルに入力して、話者の発声特徴が反映された入力テキストに対する出力音声デ
ータを生成するステップと、を含むことができる。
【0007】
本開示の一実施例に係る機械学習を利用したテキスト音声合成方法の話者の発声特徴を
受信するステップは、音声サンプルを受信するステップと、音声サンプルから話者の発声
特徴を表す埋め込みベクトルを抽出するステップとを含むことができる。
【0008】
本開示の一実施例に係る機械学習を利用したテキスト音声合成方法の音声サンプルから
話者の発声特徴を表す埋め込みベクトルを抽出するステップは、話者の韻律的特徴を表す
第1のサブ埋め込みベクトルを抽出するステップを含み、ここで、韻律的特徴は、発話速
度に関する情報、発音アクセントに関する情報、休止区間に関する情報または音高に関す
る情報のうち少なくとも1つを含み、話者の発声特徴が反映された入力テキストに対する
出力音声データを生成するステップは、韻律的特徴を表す第1のサブ埋め込みベクトルを
単一の人工ニューラルネットワークのテキスト音声合成モデルに入力して、話者の韻律的
特徴が反映された入力テキストに対する出力音声データを生成するステップを含むことが
できる。
【0009】
本開示の一実施例に係る機械学習を利用したテキスト音声合成方法の音声サンプルから
話者の発声特徴を表す埋め込みベクトルを抽出するステップは、話者の感情的特徴を表す
第2のサブ埋め込みベクトルを抽出するステップを含み、ここで、感情的特徴は、話者の
発話内容に内在された感情に関する情報を含み、話者の発声特徴が反映された入力テキス
トに対する出力音声データを生成するステップは、感情的特徴を表す第2のサブ埋め込み
ベクトルを単一の人工ニューラルネットワークのテキスト音声合成モデルに入力して、話
者の感情的特徴が反映された入力テキストに対する出力音声データを生成するステップを
含むことができる。
【0010】
本開示の一実施例に係る機械学習を利用したテキスト音声合成方法の音声サンプルから
話者の発声特徴を表す埋め込みベクトルを抽出するステップは、話者の音色および音高に
対する特徴を表す第3のサブ埋め込みベクトルを抽出するステップを含み、話者の発声特
徴が反映された入力テキストに対する出力音声データを生成するステップは、話者の音色
および音高に対する特徴を表す第3のサブ埋め込みベクトルを単一の人工ニューラルネッ
トワークのテキスト音声合成モデルに入力して、話者の音色および音高に対する特徴が反
映された入力テキストに対する出力音声データを生成するステップを含むことができる。
【0011】
本開示の一実施例に係る機械学習を利用したテキスト音声合成方法の話者の発声特徴が
反映された入力テキストに対する出力音声データを生成するステップは、出力音声データ
に対する追加の入力を受信するステップと、追加の入力に基づいて、話者の発声特徴を表
す埋め込みベクトルを修正するステップと、修正された埋め込みベクトルを単一の人工ニ
ューラルネットワークのテキスト音声合成モデルに入力して、出力音声データを、追加の
入力に含まれた情報が反映された入力テキストに対する音声データに変換するステップと
を含むことができる。
【0012】
本開示の一実施例に係る機械学習を利用したテキスト音声合成方法の出力音声データに
対する追加の入力は、性別に関する情報、年齢に関する情報、地域別イントネーションに
関する情報、発声の速度に関する情報、音高または発声の大きさに関する情報のうち少な
くとも1つを含むことができる。
【0013】
本開示の一実施例に係る機械学習を利用したテキスト音声合成方法の音声サンプルを受
信するステップは、予め決定された時間区間内に、話者から入力された音声を音声サンプ
ルとしてリアルタイムで受信するステップを含むことができる。
【0014】
本開示の一実施例に係る機械学習を利用したテキスト音声合成方法の音声サンプルを受
信するステップは、予め決定された時間区間内に、話者から入力された音声を音声データ
ベースから受信するステップを含むことができる。
【0015】
また、上述したような機械学習を利用したテキスト音声合成方法を具現するためのプロ
グラムは、コンピュータ読み取り可能な記憶媒体に記録されることができる。
【0016】
また、上述したような機械学習を利用したテキスト音声合成方法と関連した装置および
技術的手段などもまた開示することができる。
【図面の簡単な説明】
【0017】
【
図1】
図1は、本開示の一実施例に係るテキスト音声合成端末を示す図である。
【
図2】
図2は、本開示の一実施例に係るテキスト音声合成装置を示す図である。
【
図3】
図3は、本開示の一実施例に係るテキスト音声合成方法を示すフローチャートである。
【
図4】
図4は、本開示の一実施例に係るテキスト音声合成装置を示す図である。
【
図5】
図5は、人工ニューラルネットワークベースのテキスト音声合成装置の構成を示す図である。
【
図6】
図6は、本開示の一実施例に係る人工ニューラルネットワークベースのテキスト音声合成装置の構成を示す図である。
【
図7】
図7は、本開示の一実施例に係る複数の話者の各々を区別することができる発声特徴を表す埋め込みベクトルを抽出するネットワークを示す図である。
【
図8】
図8は、本開示の一実施例に係る人工ニューラルネットワークベースのテキスト音声合成装置の構成を示す図である。
【
図9】
図9は、本開示の一実施例に係る発声特徴調節部の動作を示すフローチャートである。
【
図10】
図10は、本開示の一実施例に基づいて出力音声の特性を変更するユーザーインターフェースの例示を示す図である。
【
図11】
図11は、本開示の一実施例に係るテキスト音声合成システムのブロック図である。
【発明を実施するための形態】
【0018】
開示された実施例の利点および特徴、そしてそれらを達成する方法は、添付の図面と共
に後述される実施例を参照すると明確である。しかし、本開示は、以下において開示され
る実施形態に限定されるものではなく、異なる多様な形態で具現されることができ、単に
本実施例は、本開示が完全になるようにし、本開示が属する技術分野において通常の知識
を有する者に発明の範疇を完全に知らせるために提供されるだけのものである。
【0019】
本明細書において使用される用語について簡略に説明し、開示された実施例について具
体的に説明する。
【0020】
本明細書において使用される用語は、本開示での機能を考慮しながら可能な現在広く使
用される一般的な用語を選択したが、これは関連分野に携わる技術者の意図または判例、
新しい技術の出現などによって異なることができる。また、特定の場合、出願人が任意に
選定した用語もあり、この場合は該当する発明の説明部分で詳細にその意味を記載する。
したがって、本開示において使用される用語は、単純な用語の名称ではなく、その用語が
有する意味と本開示の全般にわたる内容に基づいて定義されるべきである。
【0021】
本明細書においての単数の表現は、文脈上明らかに単数であるものと特定していない限
り、複数の表現を含む。また、複数の表現は、文脈上明らかに複数であるものと特定して
いない限り、単数の表現を含む。
【0022】
明細書全体においてある部分がある構成要素を「含む」とするとき、これは特に反対の
記載がない限り、他の構成要素を除外するのではなく、他の構成要素をさらに含むことが
可能であることを意味する。
【0023】
また、明細書において使用される「部」という用語は、ソフトウェアまたはハードウェ
ア構成要素を意味し、「部」は、ある役割を遂行する。しかしながら、「部」は、ソフト
ウェアまたはハードウェアに限定される意味ではない。「部」は、アドレッシングできる
格納媒体にあるように構成することもでき、1つまたはそれ以上のプロセッサを再生させ
るように構成されることもできる。したがって、一例として「部」は、ソフトウェア構成
要素、オブジェクト指向ソフトウェア構成要素、クラス構成要素およびタスクの構成要素
のような構成要素と、プロセス、関数、属性、プロシージャ、サブルーチン、プログラム
コードのセグメント、ドライバ、ファームウェア、マイクロコード、回路、データ、デー
タベース、データ構造、テーブル、アレイおよび変数を含む。構成要素と「部」の中で提
供される機能は、より少数の構成要素および「部」で結合されたり、追加の構成要素と「
部」にさらに分離されたりすることができる。
【0024】
本開示の一実施例によれば、「部」は、プロセッサおよびメモリで具現されることがで
きる。用語「プロセッサ」は、汎用プロセッサ、中央処理装置(CPU)、マイクロプロ
セッサ、デジタル信号プロセッサ(DSP)、コントローラ、マイクロコントローラ、状
態マシンなどを含むように広く解釈されるべきである。いくつかの環境において「プロセ
ッサ」は、カスタムIC(ASIC)、プログラマブルロジックデバイス(PLD)、フ
ィールドプログラマブルゲートアレイ(FPGA)などを称することもできる。用語「プ
ロセッサ」は、例えば、DSPとマイクロプロセッサの組み合わせ、複数のマイクロプロ
セッサの組み合わせ、DSPコアと結合した1つ以上のマイクロプロセッサの組み合わせ
、または任意の他のこのような構成の組み合わせのような処理デバイスの組み合わせを称
することもできる。
【0025】
用語「メモリ」は、電子情報を格納可能な任意の電子コンポーネントを含むように広く
解釈されるべきである。用語「メモリ」は、ランダムアクセスメモリ(RAM)、読み出
し専用メモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、プログラマ
ブル読み出し専用メモリ(PROM)、消去可能なプログラマブル読み出し専用メモリ(
EPROM)、電気的に消去可能なプログラマブル読み出し専用メモリ(EEPROM)
、フラッシュメモリ、磁気または光学データ記憶装置、レジスタなどのプロセッサ-読み
出し可能媒体の多様なタイプを称することもできる。プロセッサがメモリから情報を読み
取りし/したり、メモリに情報を記録することができたりすれば、メモリは、プロセッサ
と電子通信状態にあると言われる。プロセッサに集積されたメモリは、プロセッサと電子
通信状態にある。
【0026】
以下では、添付した図面を参照して、実施例に対して本開示が属する技術分野における
通常の知識を有する者が容易に実施できるように詳細に説明する。そして図面で本開示を
明確に説明するために説明と関係ない部分は省略する。
【0027】
図1は、本開示の一実施例に係るテキスト音声合成端末(100)を示す図である。
【0028】
テキスト音声合成端末(100)は、少なくとも1つのプロセッサとメモリを含むこと
ができる。例えば、テキスト音声合成端末(100)は、スマートフォン、コンピュータ
または携帯電話などで具現されることができる。テキスト音声合成端末(100)は、通
信部を含んで外部装置(例えば、サーバ装置)と通信することができる。
【0029】
テキスト音声合成端末(100)は、ユーザー(110)からテキスト入力と特定の話
者入力を受信することができる。例えば、
図1に図示されたように、テキスト音声合成端
末(100)は、テキスト入力として、「How are you?」を受信することが
できる。また、テキスト音声合成端末(100)は、話者入力として、「人1」を受信す
ることができる。ここで、「人1」は、予め設定された話者、すなわち「人1」の発声特
徴を示すことができる。テキスト音声合成端末(100)は、複数の人の発声特徴のうち
少なくとも1つの発声特徴(例えば、「人1」)を予め設定するように構成されることが
できる。例えば、このような複数の人の発声特徴は、通信部を介してサーバー装置などの
外部装置から受信されることができる。
図1では、予め設定された話者を指定できるユー
ザーインターフェースを図示しているが、これに限定されるものではなく、ユーザーは、
特定のテキストに対する音声をテキスト音声合成端末(100)に提供することができ、
テキスト音声合成端末(100)は、受信された音声の発声特徴を抽出して、音声合成の
ためのユーザーの発声特徴が選択されるように表示することができる。例えば、受信され
た音声から音声の発声特徴が抽出されることができ、音声の発声特徴は、埋め込みベクト
ルで表示されることができる。
【0030】
テキスト音声合成端末(100)は、指定された話者の発声特徴が反映された入力テキ
ストに対する音声データを出力するように構成されることができる。例えば、
図1に図示
されたように、「How are you」の入力テキストに対する出力音声データを生
成するにおいて、選択された「人1」の発声特徴が出力音声データに反映されるように構
成されることができる。ここで、特定の話者の発声特徴は、その話者の音声を模写するこ
とだけでなく、その発声を構成できるスタイル、韻律、感情、音色、音高などの多様な要
素のうち少なくとも1つを含むことができる。このような出力音声データを生成するため
に、テキスト音声合成端末(100)は、テキスト音声合成装置に入力テキストおよび指
定された話者を提供することができ、テキスト音声合成装置から合成された音声データ(
例えば、「人1」の発声特徴が反映された「How are you」の音声データ)を
受信することができる。テキスト音声合成装置に関しては、以下の
図2でより詳細に説明
する。テキスト音声合成端末(100)は、合成された音声データをユーザー(110)
に出力することができる。これと異なり、テキスト音声合成端末(100)は、テキスト
音声合成装置を含むように構成されることができる。
【0031】
図2は、本開示の一実施例に係るテキスト音声合成装置(200)を示す図である。
【0032】
図2のテキスト音声合成装置(200)が使用するデータ学習部(図示せず)およびデ
ータ認識部(図示せず)は、後述される
図11のテキスト音声合成装置(1100)の構
成と同一または類似の構成を含むことができる。テキスト音声合成装置(200)は、発
声特徴抽出部(210)、発声特徴調節部(220)、音声データベース(230)、エ
ンコーダ(240)、デコーダ(250)、後処理プロセッサ(260)および通信部(
270)を含むことができる。
【0033】
一実施例によれば、発声特徴抽出部(210)は、話者の音声信号(例えば、音声サン
プル)を受信し、受信された音声信号から話者の発声特徴を抽出するように構成されるこ
とができる。ここで、受信した音声信号またはサンプルは、話者の発声特徴に関連する情
報を示す音声スペクトルデータを含むことができる。話者の発声特徴を抽出するにおいて
、話者の音声信号から発声特徴を抽出できる任意の知られた適切な特徴抽出方法が使用さ
れることができる。例えば、メル周波数ケプストラム(MFC)のような音声処理方法を
利用して受信された音声信号またはサンプルから発声特徴を抽出することができる。これ
と異なり、音声サンプルを学習された発声特徴抽出モデル(例えば、人工ニューラルネッ
トワーク)に入力して、発声特徴を抽出することができる。例えば、抽出された話者の発
声特徴は、埋め込みベクトルで表すことができる。他の実施例によれば、発声特徴抽出部
(210)は、テキストおよびビデオのうちの少なくとも1つを受信することができ、受
信されたテキストおよびビデオから話者の発声特徴を抽出するように構成されることがで
きる。抽出された話者の発声特徴は、エンコーダ(240)またはデコーダ(250)の
うち少なくとも1つに提供することができる。
【0034】
一実施例によれば、発声特徴抽出部(210)から抽出された話者の発声特徴は、記憶
媒体(例えば、音声データベース(230))または外部記憶装置に格納されることがで
きる。これにより、入力テキストに対する音声合成時に、記憶媒体に予め格納された複数
の話者の発声特徴のうち1つ以上の話者の発声特徴が選択または指定されることができ、
選択または指定された複数の話者の発声特徴が音声合成に利用されることができる。
【0035】
発声特徴調節部(220)は、話者の発声特徴を調節するように構成されることができ
る。一実施例によれば、発声特徴調節部(220)は、話者の発声特徴を調節するための
情報を受信することができる。例えば、話者の発声特徴を調節するための情報は、発声特
徴調節部(220)によってユーザーから入力されることができる。ユーザーから受信し
た情報に基づいて、発声特徴調節部(220)は、発声特徴抽出部(210)から抽出さ
れた話者の発声特徴を調節することができる。
【0036】
一実施例によれば、音声データベース(230)は、学習テキストおよび複数の学習テ
キストに対応する音声を格納することができる。学習テキストは、少なくとも1つの言語
で作成されることができ、人が理解できる単語、句および文章のうち少なくとも1つを含
むことができる。また、音声データベース(230)に格納された音声は、複数の話者が
学習テキストを読んだ音声データを含むことができる。学習テキストおよび音声データは
、音声データベース(230)に予め格納されていたり、通信部(270)から受信され
たりすることができる。音声データベース(230)が格納している学習テキストおよび
音声に基づいて、エンコーダ(240)およびデコーダ(250)のうち少なくとも1つ
は、単一の人工ニューラルネットワークのテキスト音声合成モデルを含んだり、生成した
りすることができる。例えば、エンコーダ(240)およびデコーダ(250)が、単一
の人工ニューラルネットワークのテキスト音声合成モデルを構成することができる。
【0037】
一実施例によれば、音声データベース(230)は、発声特徴抽出部(210)から抽
出された1つ以上の話者の発声特徴を格納するように設定されることができる。格納され
た話者の発声特徴(例えば、話者の発声特徴を表す埋め込みベクトル)は、音声合成時に
エンコーダ(240)またはデコーダのうち少なくとも1つに提供されることができる。
【0038】
また、エンコーダ(240)は、入力テキストを受信することができ、入力テキストを
文字埋め込みに変換して生成するように構成されることができる。このような文字埋め込
みは、単一の人工ニューラルネットワークのテキスト音声合成モデル(例えば、プレネッ
ト(pre-net)、CBHGモジュール、ディープニューラルネットワーク(DNN
)、畳み込みニューラルネットワーク+ディープニューラルネットワーク(CNN+DN
N)など)に入力して、エンコーダ(240)の隠れ状態を生成することができる。一実
施例によれば、エンコーダ(240)は、発声特徴抽出部(210)または発声特徴調節
部(220)のうち少なくとも1つから話者の発声特徴をさらに受信し、文字埋め込みお
よび話者の発声特徴を単一の人工ニューラルネットワークのテキスト音声合成モデル(例
えば、プレネット(pre-net)、CBHGモジュール、ディープニューラルネット
ワーク(DNN)、畳み込みニューラルネットワーク+ディープニューラルネットワーク
(CNN+DNN)など)に入力して、エンコーダ(240)の隠れ状態(hidden
states)を生成することができる。このように生成されたエンコーダ(240)
の隠れ状態は、デコーダ(820)に提供されることができる。
【0039】
デコーダ(250)は、話者の発声特徴を受信するように構成されることができる。デ
コーダ(250)は、発声特徴抽出部(210)および発声特徴調節部(220)のうち
少なくとも1つから話者の発声特徴を受信することができる。しかし、これに限定される
ものではなく、デコーダ(250)は、通信部(270)または入出力部(I/O部;図
示せず)から話者の発声特徴を受信することができる。
【0040】
デコーダ(250)は、エンコーダ(240)から入力テキストに対応した隠れ状態を
受信することができる。一実施例によれば、デコーダ(250)は、現在の時間-ステッ
プ(time-step)で入力テキストのうちどの部分から音声を生成するかを決定す
るように構成されたアテンションモジュールを含むことができる。
【0041】
デコーダ(250)は、話者の発声特徴および入力テキストを単一の人工ニューラルネ
ットワークのテキスト音声合成モデルに入力して、入力テキストに対応する出力音声デー
タを生成することができる。このような出力音声データは、話者の発声特徴が反映された
合成音声データを含むことができる。一実施例によれば、予め設定された第1の話者の発
声特徴に基づいて、第1の話者が入力テキストを読むように見える出力音声データが生成
されることができる。例えば、出力音声データは、メルスペクトログラムで表現されるこ
とができる。しかし、これに限定されるものではなく、出力音声データは、線形スペクト
ログラムで表現されることができる。このような出力音声データは、スピーカー、後処理
プロセッサ(260)または通信部(270)のうち少なくとも1つに出力されることが
できる。
【0042】
一実施例によれば、後処理プロセッサ(260)は、デコーダ(250)で生成された
出力音声データをスピーカーで出力可能な音声に変換するように構成されることができる
。例えば、変換された出力可能な音声は、波形(waveform)で表示することがで
きる。後処理プロセッサ(260)は、デコーダ(250)で生成された出力音声データ
がスピーカーで出力されるに不適切な場合にのみ動作するように構成されることができる
。つまり、デコーダ(250)で生成された出力音声データがスピーカーで出力されるに
適切な場合、出力音声データは、後処理プロセッサ(260)を経由せずに直接スピーカ
ーに出力されることができる。これにより、
図2では、後処理プロセッサ(260)がテ
キスト音声合成装置(200)に含まれるように図示されているが、後処理プロセッサ(
260)がテキスト音声合成装置(200)に含まれないように構成されることができる
。
【0043】
一実施例によれば、後処理プロセッサ(260)は、デコーダ(250)で生成された
メルスペクトログラムで表現された出力音声データを、時間ドメインの波形に変換するよ
うに構成されることができる。また、後処理プロセッサ(260)は、出力音声データの
信号の大きさが予め決定された基準の大きさに達していない場合、出力音声データの大き
さを増幅させることができる。後処理プロセッサ(260)は、変換された出力音声デー
タをスピーカーまたは通信部(270)のうち少なくとも1つに出力することができる。
【0044】
通信部(270)は、テキスト音声合成装置(200)が外部装置と、信号またはデー
タを送受信するように構成されることができる。外部装置は、
図1のテキスト音声合成端
末(100)を含むことができる。これと異なり、外部装置は、他のテキスト音声合成装
置を含むことができる。また、外部装置は、音声データベースを含む任意の装置であるこ
とができる。
【0045】
一実施例によれば、通信部(270)は、外部装置からテキストを受信するように構成
されることができる。ここで、テキストは、単一の人工ニューラルネットワークのテキス
ト音声合成モデルの学習のために使用される学習テキストを含むことができる。これと異
なり、テキストは、ユーザー端末から受信された入力テキストを含むことができる。これ
らのテキストは、エンコーダ(240)またはデコーダ(250)のうち少なくとも1つ
に提供されることができる。
【0046】
一実施例において、通信部(270)は、外部装置から話者の発声特徴を受信すること
ができる。通信部(270)は、外部装置から話者の音声信号またはサンプルを受信し、
発声特徴抽出部(210)に送信することができる。
【0047】
通信部(270)は、ユーザー端末から入力された情報を受信することができる。例え
ば、通信部(270)は、話者の発声特徴を調節するための入力情報を受信し、受信され
た入力情報を発声特徴調節部(220)に提供することができる。
【0048】
通信部(270)は、任意の信号またはデータを外部装置に送信することができる。例
えば、通信部(270)は、生成された出力音声に関連する情報、つまり、出力音声デー
タを外部装置に送信することができる。また、生成された単一の人工ニューラルネットワ
ークのテキスト音声合成モデルは、通信部(270)を介してテキスト音声合成端末(1
00)または他のテキスト音声合成装置に送信されることができる。
【0049】
一実施例によれば、テキスト音声合成装置(200)は、入出力部(I/O装置;図示
せず)をさらに含むことができる。入出力部は、ユーザーから入力を直接受信することが
できる。また、入出力部は、ユーザーに音声、映像またはテキストのうち少なくとも1つ
を出力することができる。
【0050】
図3は、本開示の一実施例に係るテキスト音声合成方法を示すフローチャートである。
【0051】
まず、ステップ310において、テキスト音声合成装置(200)は、複数の学習テキ
ストおよび複数の学習テキストに対応する音声データに基づいて機械学習を遂行して生成
された単一の人工ニューラルネットワークのテキスト音声合成(text-to-spe
ech synthesis)モデルを生成するステップを遂行することができる。テキ
スト音声合成装置(200)は、ステップ320において、入力テキストを受信するステ
ップを遂行することができる。ステップ330において、テキスト音声合成装置(200
)は、話者の発声特徴を受信するステップを遂行することができる。テキスト音声合成装
置(200)は、話者の発声特徴を予め学習されたテキスト音声合成モデルに入力して、
話者の発声特徴が反映された入力テキストに対する出力音声データを生成するステップを
ステップ340において遂行することができる。
【0052】
以下では、
図4と一緒にテキスト音声合成方法をより詳細に説明する。
【0053】
図4は、本開示の一実施例に係るテキスト音声合成装置(400)を示す図である。図
4のテキスト音声合成装置(400)は、
図2のテキスト音声合成装置(200)の構成
と同一または類似の構成を含むことができる。テキスト音声合成装置(400)は、発声
特徴抽出部(410)、音声データベース(430)、通信部(470)、エンコーダ(
440)およびデコーダ(450)を含むことができる。
図4の発声特徴抽出部(410
)は、
図2の発声特徴抽出部(210)の構成と同一または類似の構成を含むことができ
る。
図4の音声データベース(430)は、
図2の音声データベース(230)の構成と
同一または類似の構成を含むことができる。
図4の通信部(470)は、
図2の通信部(
270)の構成と同一または類似の構成を含むことができる。
図4のエンコーダ(440
)は、
図2のエンコーダ(240)の構成と同一または類似の構成を含むことができる。
図4のデコーダ(450)は、
図2のデコーダ(250)の構成と同一または類似の構成
を含むことができる。
図2のテキスト音声合成装置(200)の説明と
図4のテキスト音
声合成装置(400)の説明の中で重複する内容は省略する。
【0054】
一実施例によれば、テキスト音声合成装置(400)は、話者の音声サンプルまたは信
号を受信することができる。例えば、音声サンプルは、通信部(470)を介してユーザ
ー端末から受信されることができる。さらに他の例として、このような話者の音声サンプ
ルまたは信号は、音声データベースを含むテキスト音声合成端末から受信されることがで
きる。このような話者の音声サンプルまたは信号は、発声特徴抽出部(410)に提供さ
れることができる。話者の音声サンプルまたは信号は、予め決定された時間区間内に話者
から入力された音声データを含むことができる。例えば、予め決定された時間区間は、話
者が自分の音声を入力できる比較的短い時間(例:数秒、数十秒または数十分以内)を表
すことができる。
【0055】
一実施例によれば、テキスト音声合成装置(400)は、音声合成の対象である入力テ
キストを受信するように構成されることができる。例えば、入力テキストは、ユーザー端
末から通信部(470)を介して受信されることができる。これと異なり、テキスト音声
合成装置(400)は、入出力装置(図示せず)が含まれているため、これらの入力テキ
ストの入力を受けることができる。受信された入力テキストは、発声特徴抽出部(410
)に提供されることができる。
【0056】
一実施例によれば、音声データベース(430)は、1つ以上の話者の音声サンプルま
たは信号を格納するように構成されることができる。このような話者の音声サンプルまた
は信号は、発声特徴抽出部(410)に提供されることができる。
【0057】
発声特徴抽出部(410)は、音声サンプルまたは信号から話者の発声特徴を表す埋め
込みベクトルを抽出するステップを遂行することができる。発声特徴抽出部(410)は
、韻律的特徴抽出部(412)、感情的特徴抽出部(414)、音色および音高抽出部(
416)を含むことができる。
図4における発声特徴抽出部(410)は、韻律的特徴抽
出部(412)、感情的特徴抽出部(414)、音色および音高抽出部(416)を含む
ように図示されているが、韻律的特徴抽出部(412)、感情的特徴抽出部(414)、
音色および音高抽出部(416)のうち少なくとも1つを含むように構成されることがで
きる。
【0058】
韻律的特徴抽出部(412)は、話者の韻律的特徴を表す第1のサブ埋め込みベクトル
を抽出するように構成されることができる。ここで、韻律的特徴は、発話速度に関する情
報、発音アクセントに関する情報、休止区間に関する情報および音高に関する情報のうち
少なくとも1つを含むことができる。抽出された話者の韻律的特徴を表す第1のサブ埋め
込みベクトルは、エンコーダ(440)またはデコーダ(450)のうち少なくとも1つ
に提供されることができる。一実施例によれば、エンコーダ(440)およびデコーダ(
450)は、韻律的特徴を表す第1のサブ埋め込みベクトルを単一の人工ニューラルネッ
トワークのテキスト音声合成モデルに入力して、話者の韻律的特徴が反映された入力テキ
ストに対する出力音声データを生成することができる。
【0059】
感情的特徴抽出部(414)は、話者の感情的特徴を表す第2のサブ埋め込みベクトル
を抽出するように構成されることができる。ここで、感情的特徴は、話者の発話内容に内
在された感情に関する情報を含むことができる。例えば、感情的特徴は、予め決定された
感情に限定されず、話者の音声に内在されている1つ以上の感情のそれぞれに対する程度
および/または内在された感情の組み合わせなどの情報を含むことができる。抽出された
話者の感情的特徴を表す第2のサブ埋め込みベクトルは、エンコーダ(440)またはデ
コーダ(450)のうち少なくとも1つに提供されることができる。一実施例によれば、
エンコーダ(440)およびデコーダ(450)は、感情的特徴を表す第2のサブ埋め込
みベクトルを単一の人工ニューラルネットワークのテキスト音声合成モデルに入力して、
話者の感情的特徴が反映された入力テキストに対する出力音声データを生成することがで
きる。
【0060】
音色および音高抽出部(416)は、話者の音色および音高に対する特徴を表す第3の
サブ埋め込みベクトルを抽出するように構成されることができる。抽出された話者の音色
および音高に対する特徴を表す第3のサブ埋め込みベクトルは、エンコーダ(440)ま
たはデコーダ(450)のうち少なくとも1つに提供されることができる。一実施例によ
れば、エンコーダ(440)およびデコーダ(450)は、話者の音色および音高に対す
る特徴を表す第3のサブ埋め込みベクトルを単一の人工ニューラルネットワークのテキス
ト音声合成モデルに入力して、話者の音色および音高に対する特徴が反映された入力テキ
ストに対する出力音声データを生成することができる。
【0061】
一実施例によれば、エンコーダ(440)は、抽出された話者の発声特徴を表す埋め込
みベクトルを受信することができる。エンコーダ(440)は、予め機械学習された1つ
以上の話者の発声特徴を表す埋め込みベクトルおよび受信された話者の発声特徴を表す埋
め込みベクトルに基づいて、単一の人工ニューラルネットワークのテキスト音声合成モデ
ルを生成または更新することによって、より類似な話者の音声を合成することができる。
【0062】
図4においては、1つの話者の音声サンプルまたは信号から感情的特徴、韻律的特徴ま
たは音声および音高のうち少なくとも1つを抽出して、音声を合成するものとして図示さ
れているが、これに限定されるものではない。他の実施例において、感情的特徴、韻律的
特徴または音声および音高のうち少なくとも1つが他の話者の音声サンプルまたは信号か
ら抽出されることもできる。例えば、発声特徴抽出部(410)は、第1の話者の音声サ
ンプルまたは信号を受信し、受信された第1の話者の音声サンプルまたは信号から感情的
特徴および韻律的特徴を抽出する一方、第2の話者の音声サンプルまたは信号(例:有名
人の音声)を受信し、受信された第2の話者の音声サンプルまたは信号から音色および音
高の特徴を抽出することができる。このように抽出された2つの話者の発声特徴は、音声
合成時にエンコーダ(440)またはデコーダ(450)のうち少なくとも1つに提供さ
れることができる。これにより、合成される音声には、第1の話者の音声サンプルまたは
信号内に含まれた音声を発話した第1の話者の感情と韻律が反映されるが、第2の話者(
例示:有名人)の音声サンプルまたは信号内に含まれた音声を発話した第2の話者の音色
および音高が反映されることができる。
【0063】
図5は、人工ニューラルネットワークベースのテキスト音声合成装置の構成を示す図で
ある。
【0064】
一実施例によれば、エンコーダ(510)は、テキストを発音情報として生成するよう
に構成されることができる。また、生成された発音情報は、アテンションモジュールを含
むデコーダ(520)に提供され、デコーダ(520)は、このような発音情報を音声と
して生成するように構成されることができる。
【0065】
エンコーダ(510)は、入力テキストを文字埋め込み(character emb
edding)に変換して生成することができる。エンコーダ(510)において、生成
された文字埋め込みは、全結合層(fully-connected layer)を含
むプレネット(pre-net)に通過させることができる。また、エンコーダ(510
)は、プレネット(pre-net)からの出力をCBHGモジュールに提供し、
図5に
図示されたように、エンコーダの隠れ状態(Encorder hidden stat
es)eiを出力することができる。例えば、CBHGモジュールは、1次元畳み込みバ
ンク(1D convolution bank)、最大プーリング(max pool
ing)、ハイウェイネットワーク(highway network)、双方向GRU
(bidirectional gated recurrent unit)を含むこ
とができる。
【0066】
デコーダ(520)は、全結合層から構成されたプレネットとGRU(gated r
ecurrnt unit)を含むアテンション(attention)RNN(rec
urrent neural network)、レジデュアルGRU(residua
l GRU)を含むデコーダRNN(decoder RNN)を含むことができる。例
えば、デコーダ(520)からの出力は、メルスケールスペクトログラム(mel-sc
ale spectrogram)で表現されることができる。
【0067】
デコーダ(520)のアテンションRNNおよびデコーダRNNは、音声の話者に該当
する情報を受信することができる。例えば、デコーダ(520)は、ワンホット話者ID
ベクトル(521)を受信することができる。デコーダ(520)は、ワンホット話者I
Dベクトル(521)に基づいて、話者埋め込みベクトル(522)を生成することがで
きる。デコーダ(520)のアテンションRNNおよびデコーダRNNは、話者埋め込み
ベクトル(522)を受信して、与えられた話者別に異なる出力音声データを生成するこ
とができるように、単一の人工ニューラルネットワークのテキスト音声合成モデルを更新
することができる。
【0068】
また、デコーダ(520)は、エンコーダ(510)と同様に、単一の人工ニューラル
ネットワークのテキスト音声合成モデルを生成または更新するために、入力テキスト、話
者に関連する情報および入力テキストに対応する音声信号のペアで存在するデータベース
を利用することができる。デコーダ(520)は、入力テキスト、話者に関連する情報を
それぞれ人工ニューラルネットワークの入力とし、該当の入力テキストに対応する音声信
号を正解として学習することができる。デコーダ(520)は、入力テキストと話者に関
連する情報を更新された単一の人工ニューラルネットワークのテキスト音声合成モデルに
適用して、その話者の音声を出力することができる。
【0069】
また、デコーダ(520)の出力は、後処理プロセッサ(530)に提供されることが
できる。後処理プロセッサ(530)のCBHGは、デコーダ(520)のメルスケール
スペクトログラムをリニアスケールスペクトログラム(linear-scale sp
ectrogram)に変換するように構成されることができる。例えば、後処理プロセ
ッサ(530)のCBHGの出力信号は、マグニチュードスペクトログラム(magni
tude spectrogram)を含むことができる。後処理プロセッサ(530)
のCBHGの出力信号の位相(phase)は、グリフィンリム(Griffin-Li
m)アルゴリズムを通じて復元され、逆短時間フーリエ変換(inverse shor
t-time fourier transform)されることができる。後処理プロ
セッサ(530)は、時間ドメイン(time domain)の音声信号に出力するこ
とができる。
【0070】
このような人工ニューラルネットワークベースのテキスト音声合成装置は、テキストと
音声信号のペアで存在する大容量のデータベースを利用して学習されることができる。入
力としてテキストを入れて出た出力を、該当する正解音声信号と比較して損失関数(lo
ss function)を定義することができる。テキスト音声合成装置は、損失関数
を誤差逆伝播(error back propagation)アルゴリズムを通じて
学習し、最終的にランダムのテキストを入力したときに所望の音声出力が出る単一の人工
ニューラルネットワークのテキスト音声合成モデルを得ることができる。
【0071】
図6は、本開示の一実施例に係る人工ニューラルネットワークベースのテキスト音声合
成装置の構成を示す図である。
【0072】
図6において、
図5で説明した内容と重複する内容は省略される。
図6のデコーダ(6
20)は、エンコーダ(610)からエンコーダの隠れ状態eiを受信することができる
。また、
図6のデコーダ(620)は、
図5のデコーダ(520)と異なり、話者の音声
データ(621)を受信することができる。ここで、音声データ(621)は、予め決定
された時間区間(短い時間区間、例えば、数秒、数十秒または数十分)内に話者から入力
された音声を表すデータを含むことができる。例えば、話者の音声データ(621)は、
音声スペクトログラムデータ(例えば、ログメルスペクトログラム)を含むことができる
。デコーダ(620)は、話者の音声データに基づいて、話者の発声特徴を表す話者の発
声特徴埋め込みベクトル(622)を取得することができる。デコーダ(620)は、話
者の発声特徴埋め込みベクトル(622)をアテンションRNNおよびデコーダRNNに
提供することができる。
【0073】
図5に図示されたテキスト音声合成システムは、話者の発声特徴を表す情報として話者
(speaker)IDを使用し、これらの話者IDは、ワンホットベクトル(sing
le-hot vector)として表現されることができる。ただし、このようなワン
ホット話者IDベクトルは、学習データにない新たな話者に対するIDに容易に拡張する
ことができない。このようなテキスト音声合成システムは、ワンホットベクトルで表現さ
れた話者に対してのみ埋め込みを学習したため、新たな話者の埋め込みを得る方法がない
。新たな話者の音声を生成するためには、全体TTSモデルを再学習したり、TTSモデ
ルの埋め込み層を微調整したりする必要がある。これらの作業は、GPUが搭載された装
備を利用する場合、相当な時間が所要されるプロセスに該当する。これに反して、
図6に
図示されたテキスト音声合成システムは、新たな話者ベクトルを生成するためにTTSモ
デルを追加で学習したり、話者埋め込みベクトルを手動で検索したりすることなく、新た
な話者の音声を即時生成することができるTTSシステムを提供する。つまり、テキスト
音声合成システムは、複数の話者に適応的に変更された音声を生成することができる。
【0074】
一実施例によれば、
図6においては入力テキストに対する音声合成時に、第1の話者の
音声データ(621)から抽出された第1の話者の発声特徴埋め込みベクトル(622)
がデコーダRNNおよびアテンションRNNに入力されるように構成されているが、
図5
に図示された第2の話者のワンホット話者IDベクトル(521)も一緒にデコーダRN
NおよびアテンションRNNに入力されることができる。例えば、発声特徴埋め込みベク
トル(622)に関連する第1の話者とワンホット話者IDベクトル(521)に関連す
る第2の話者は同一であることができる。さらに他の例として、発声特徴埋め込みベクト
ル(622)に関連する第1の話者とワンホット話者IDベクトル(521)に関連する
第2の話者は異なることができる。これにより、入力テキストに対する音声合成時に、第
1の話者の発声特徴埋め込みベクトル(622)および第2の話者のワンホット話者ID
ベクトル(521)が一緒にデコーダRNNおよびアテンションRNNに入力されること
によって、入力テキストに対応する第2の話者の音声に第1の話者の発声特徴埋め込みベ
クトル(622)に含まれた韻律的特徴、感情的特徴または音色および音高の特徴のうち
少なくとも1つの特徴が反映された合成音声が生成されることができる。つまり、ワンホ
ット話者IDベクトル(521)と関連する第2の話者の声に、第1の話者の発声特徴、
すなわち、韻律的特徴、感情的特徴または音色および音高の特徴のうち少なくとも1つの
特徴が反映された合成音声が生成されることができる。
【0075】
図7は、本開示の一実施例に係る複数の話者の各々を区別することができる埋め込みベ
クトル(622)を抽出するネットワークを示す図である。
【0076】
一実施例によれば、
図7に図示されたネットワークは、畳み込みネットワーク(con
vulutional network)および最大オーバータイムプーリング(max
-over-time pooling)を含み、ログメルスペクトログラム(log-
Mel-spectrogram)の入力を受けて、音声サンプルまたは音声信号として
固定次元話者埋め込みベクトルを抽出することができる。ここで、音声サンプルまたは音
声信号は、入力テキストに該当する音声データである必要はなく、ランダムに選択された
音声信号が使用されることができる。
【0077】
このようなネットワークにおいて、スペクトログラムが利用されることに制約がないた
め、任意のスペクトログラムがこのネットワークに挿入されることができる。また、これ
により、ネットワークの即時的な適応を介して新たな話者のための発声特徴を表す埋め込
みベクトル(622)を生成することができる。入力スペクトログラムは、多様な長さを
有することができるが、例えば、時間軸に対して長さが1に固定された次元ベクトルが畳
み込み層の終端に位置する最大オーバータイムプーリング(max-over-time
pooling)層に入力されることができる。
【0078】
図7においては、畳み込みネットワーク(convulutional networ
k)および最大オーバータイムプーリング(max-over-time poolin
g)を含むネットワークを図示しているが、話者の発声特徴を抽出するために多様な層を
含むネットワークを構築することができる。例えば、話者の発声特徴のうちアクセントの
ように時間に応じて音声特徴パターンの変化を表す場合、RNN(Recurrent
neural network)を使用して特徴を抽出するようにネットワークを具現す
ることができる。
【0079】
図8は、本開示の一実施例に係る人工ニューラルネットワークベースのテキスト音声合
成装置の構成を示す図である。
図8のテキスト音声合成装置に対する説明において、
図5
または
図6のテキスト音声合成装置と重複する説明は省略する。
図8において、エンコー
ダ(810)は、入力テキストを受信することができる。例えば、入力テキストは、複数
の言語で構成されることができる。一実施例によれば、入力テキストは、1つ以上の言語
で使用される単語、句または文章のうち少なくとも1つを含むことができる。例えば、「
アンニョンハセヨ」などのような韓国語の文章または「How are you?」など
のような英語の文章のようなテキストの入力を受けることができる。入力テキストが受信
されると、エンコーダ(810)は、受信された入力テキストを字母単位、文字単位、音
素(phoneme)単位に分離することができる。他の実施例によれば、エンコーダ(
810)は、字母単位、文字単位、音素(phoneme)単位に分離された入力テキス
トを受信することができる。さらに他の実施例によれば、エンコーダ(810)は、入力
テキストに対する文字埋め込みを受信することができる。
【0080】
エンコーダ(810)が入力テキストまたは分離された入力テキストを受信した場合、
エンコーダ(810)は、少なくとも1つの埋め込み層を生成するように構成されること
ができる。一実施例によれば、エンコーダ(810)の少なくとも1つの埋め込み層は、
字母単位、文字単位、音素(phoneme)単位に分離された入力テキストに基づいて
文字埋め込みを生成することができる。例えば、エンコーダ(810)は、分離された入
力テキストに基づいて文字埋め込みを取得するために、すでに学習された機械学習モデル
(例えば、確率モデルまたはニューラルネットワークなど)を使用することができる。さ
らに、エンコーダ(810)は、機械学習を遂行しながら機械学習モデルを更新すること
ができる。機械学習モデルが更新される場合、分離された入力テキストに対する文字埋め
込みも変更されることができる。
【0081】
エンコーダ(810)は、文字埋め込みを全結合層(fully-connected
layer)で構成されたDNN(Deep Neural Network)モジュ
ールに通過させることができる。DNNは、一般的なフィードフォワード層(feedf
orward layer)または線形層(linear layer)を含むことがで
きる。
【0082】
エンコーダ(810)は、DNNの出力をCNN(convolutional ne
ural network)またはRNN(Recurrent Neural Net
work)のうち少なくとも1つが含まれたモジュールに提供することができる。また、
エンコーダ(810)は、デコーダ(820)で話者の音声データに基づいて生成された
話者の発声特徴埋め込みベクトル(s)を受信することができる。CNNは、畳み込みカ
ーネル(convolution kernel)サイズによる地域的特性を捕捉するこ
とができる反面、RNNは、長期依存性(long term dependency)
を捕捉することができる。エンコーダ(810)は、DNNの出力および話者の発声特徴
埋め込みベクトル(s)をCNNまたはRNNのうち少なくとも1つに入力して、エンコ
ーダ(810)の隠れ状態(h)を出力することができる。
【0083】
デコーダ(820)は、話者の音声データを受信することができる。デコーダ(820
)は、話者の音声データに基づいて、話者の発声特徴埋め込みベクトル(s)を生成する
ことができる。埋め込み層は、話者の音声データを受信することができる。埋め込み層は
、話者の音声データに基づいて、話者の発声特徴を生成することができる。ここで、話者
の発声特徴は、個人別に異なる特徴を有することができる。埋め込み層は、例えば、機械
学習に基づいて話者別の発声特徴を区別することができる。例えば、埋め込み層は、話者
の発声特徴を表す話者の発声特徴埋め込みベクトル(s)を生成することができる。一実
施例によれば、デコーダ(820)は、話者の発声特徴を話者の発声特徴埋め込みベクト
ル(s)に変換するために、すでに学習された機械学習モデルを使用することができる。
デコーダは、機械学習を遂行しながら機械学習モデルを更新することができる。機械学習
モデルが更新される場合、話者の発声特徴を表す話者の発声特徴埋め込みベクトル(s)
も変更されることができる。例えば、前述した
図7の音声抽出ネットワークを利用して、
受信された話者の音声データから話者の発声特徴を抽出することができる。
【0084】
話者の発声特徴埋め込みベクトル(s)は、エンコーダ(810)のCNNまたはRN
Nのうち少なくとも1つに出力されることができる。また、話者の発声特徴埋め込みベク
トル(s)は、デコーダのデコーダRNNおよびアテンションRNNに出力されることが
できる。
【0085】
デコーダ(820)のアテンション(attention)は、エンコーダ(810)
からエンコーダの隠れ状態(h)を受信することができる。隠れ状態(h)は、エンコー
ダ(810)の機械学習モデルからの結果値を示すことができる。例えば、隠れ状態(h
)は、本開示の一実施例による単一の人工ニューラルネットワークのテキスト音声合成モ
デルの一部構成要素を含むことができる。また、デコーダ(820)のアテンションは、
アテンションRNNから情報を受信することができる。アテンションRNNから受信した
情報は、デコーダ(820)が以前の時間-ステップ(time-step)までどの音
声を生成したのかに関する情報を含むことができる。また、デコーダ(820)のアテン
ションは、アテンションRNNから受信した情報およびエンコーダの情報に基づいて、コ
ンテキストベクトルを出力することができる。エンコーダ(810)の情報は、音声を生
成すべき入力テキストに関する情報を含むことができる。コンテキストベクトルは、現在
の時間-ステップ(time-step)で入力テキストのうちどの部分から音声を生成
するかを決定するための情報を含むことができる。例えば、デコーダ(820)のアテン
ションは、音声生成の初期には、入力テキストの前部分に基づいて音声を生成し、音声が
生成されるにつれて、徐々に入力テキストの後部分に基づいて音声を生成するようにする
情報を出力することができる。
【0086】
デコーダ(820)は、話者の発声特徴埋め込みベクトル(s)をアテンション(at
tention)RNNおよびデコーダ(decoder)RNNに入力して、話者別に
異ならせてデコードをするように人工ニューラルネットワークの構造を構成することがで
きる。一実施例によれば、テキスト音声合成システムは、人工ニューラルネットワークを
学習させるために、テキスト、話者の発声特徴埋め込みベクトル(s)、音声信号のペア
で存在するデータベースを利用することができる。他の実施例においては、
図5で説明し
たように、話者の発声特徴を表す話者の発声特徴埋め込みベクトル(s)の代わりにワン
ホットベクトルを使用して、データベースが構築されることができる。また、話者の発声
特徴埋め込みベクトル(s)とワンホットベクトルが一緒に使用されてデータベースが構
築されることができる。
【0087】
ダミーフレームは、以前の時間-ステップ(time-step)が存在しない場合、
デコーダに入力されるフレームである。RNNは、自動回帰(autoregressi
ve)で機械学習をすることができる。つまり、直前の時間-ステップ(822)で出力
されたrフレームは、現在の時間-ステップ(823)の入力となることができる。最初
の時間-ステップ(821)では直前の時間-ステップが存在しないため、デコーダ(8
20)は、最初の時間-ステップの機械学習ネットワークにダミーフレームを入力するこ
とができる。
【0088】
一実施例によれば、デコーダ(820)は、全結合層(fully-connecte
d layer)で構成されたDNNを含むことができる。DNNは、一般的なフィード
フォワード層(feedforward layer)または線形層(linear l
ayer)のうち少なくとも1つを含むことができる。
【0089】
一実施例において、デコーダ(820)は、GRUで構成されたアテンション(att
ention)RNNを含むことができる。アテンションRNNは、アテンションで使用
される情報を出力する層である。アテンションに関しては既に上述したため詳細な説明は
省略する。
【0090】
デコーダ(820)は、レジデュアル(residual)GRUで構成されたデコー
ダ(decoder)RNNを含むことができる。デコーダRNNは、アテンションから
入力テキストの位置情報を受信することができる。つまり、位置情報は、デコーダ(82
0)が入力テキストのどの位置を音声に変換しているかに関する情報を含むことができる
。デコーダRNNは、アテンションRNNから情報を受信することができる。アテンショ
ンRNNから受信した情報は、デコーダ(820)が以前の時間-ステップ(time-
step)までどの音声を生成したのかに関する情報を含むことができる。デコーダRN
Nは、今まで生成した音声に後続する次の出力音声を生成することができる。例えば、出
力音声は、メルスペクトログラムの形態を有することができ、出力音声は、r個のフレー
ムを含むことができる。
【0091】
テキスト音声合成のために、DNN、アテンションRNNおよびデコーダRNNの動作
は、繰り返して遂行されることができる。例えば、最初の時間-ステップ(821)で取
得されたr個のフレームは、次の時間-ステップ(822)の入力となることができる。
また、時間-ステップ(822)で出力されたr個のフレームは、次の時間-ステップ(
823)の入力となることができる。
【0092】
上述したような過程を通じて、テキストのすべての単位に対する音声が生成されること
ができる。一実施例によれば、テキスト音声合成システムは、それぞれの時間-ステップ
別に出たメルスペクトログラムを時間順に連結(concatenate)して、全体テ
キストに対するメルスペクトログラムの音声を取得することができる。全体テキストに対
するメルスペクトログラムの音声は、ボコーダ(830)に出力されることができる。
【0093】
本開示の一実施例によるボコーダー(830)のCNNまたはRNNは、エンコーダ(
810)のCNNまたはRNNと類似な動作をすることができる。つまり、ボコーダー(
830)のCNNまたはRNNは、地域的特性と長期依存性を捕捉することができる。こ
れにより、ボコーダー(830)のCNNまたはRNNは、リニアスケールスペクトログ
ラム(linear-scale spectrogram)を出力することができる。
例えば、リニアスケールスペクトログラムは、マグニチュードスペクトログラム(mag
nitude spectrogram)を含むことができる。ボコーダー(830)は
、
図8に図示されたように、スペクトログラムの位相(phase)をグリフィンリム(
Griffin-Lim)アルゴリズムを通じて予測することができる。ボコーダー(8
30)は、逆短時間フーリエ変換(Inverse Short-Time Fouri
er Transform)を利用して、時間ドメイン(time domain)の音
声信号を出力することができる。
【0094】
本開示の他の実施例によるボコーダーは、機械学習モデルに基づいて、メルスペクトロ
グラムから音声信号を生成することができる。機械学習モデルは、メルスペクトログラム
と音声信号との間の相関関係を機械学習したモデルを含むことができる。例えば、Wav
eNetまたはWaveGlowなどのような人工ニューラルネットワークモデルが使用
されることができる。
【0095】
このような人工ニューラルネットワークベースの音声合成装置は、1つ以上の言語で構
成されたテキストと音声信号のペアで存在する大容量のデータベースを利用して学習する
ことができる。一実施例によれば、音声合成装置は、テキストを受信し、出力された音声
信号を正解音声信号と比較して損失関数(loss function)を定義すること
ができる。音声合成装置は、損失関数を誤差逆伝播(error back propa
gation)アルゴリズムを通じて学習し、最終的にランダムのテキストを入力したと
きに所望の音声出力が出る人工ニューラルネットワークを得ることができる。
【0096】
このような人工ニューラルネットワークベースの音声合成装置においては、テキスト、
話者の発声特徴などが人工ニューラルネットワークに入力されて音声信号が出力されるこ
とができる。テキスト音声合成装置は、出力された音声信号と正解音声信号を比較して学
習することによって、テキストや話者の発声特徴を受信するときにその話者の音声でテキ
ストを読んだ出力音声データを生成することができる。
【0097】
図9は、本開示の一実施例に係る発声特徴調節部(900)の動作を示すフローチャー
トである。
【0098】
図9の発声特徴調節部(900)は、
図2の発声特徴調節部(220)の同一または類
似の構成を含むことができる。
図2と重複する説明は省略する。
【0099】
発声特徴調節部(900)は、話者の情報を表す埋め込みベクトルを受信することがで
きる。一実施例によれば、これらの埋め込みベクトルは、話者の発声特徴に対する埋め込
みベクトルを含むことができる。例えば、話者の情報に対する埋め込みベクトルは、話者
の発声特徴のうち互いに直交する複数のサブ埋め込みベクトルの加重和として表示される
ことができる。
【0100】
発声特徴調節部(900)は、受信された話者の情報に対する埋め込みベクトルの内在
要素を分離することができる。例えば、発声特徴調節部(900)は、話者の情報に対す
る埋め込みベクトルに基づいて、互いに直交する複数の単位埋め込みベクトルを取得する
ことができる。一実施例によれば、埋め込みベクトルに内在された要素を分離する方法と
しては、独立成分分析(ICA:independent component ana
lysis)、独立ベクトル分析(IVA:independent vector a
nalysis)、スパースコーディング(sparse coding)、独立因子分
析(IFA:independent factor analysis)、独立部分空
間分析(ISA:independent subspace analysis)、非
負値行列因子分解(NMF:nonnegative matrix factoriz
ation)などの多様な方法があり得る。そして、埋め込みベクトルに内在された要素
が分離され得るように、テキスト音声合成装置は、話者の情報に対する埋め込みベクトル
を学習するときにテキスト音声合成装置の学習式に正規化(regularizatio
n)を遂行することができる。テキスト音声合成装置が学習式に正規化を遂行して機械学
習をする場合、埋め込みベクトルは、スパースベクトル(sparse vector)
に学習されることができる。これにより、テキスト音声合成装置は、スパースベクトルに
学習された埋め込みベクトルで、主成分分析(PCA:principle compo
nent analysis)を利用して、内在された要素を正確に分離することができ
る。
【0101】
一実施例によれば、発声特徴調節部(900)は、出力音声データに対する追加の入力
を受信するように構成されることができる。発声特徴調節部(900)は、追加の入力に
基づいて、話者の発声特徴を表す埋め込みベクトルを修正することができる。例えば、発
声特徴調節部(900)は、追加の入力に基づいて、複数の単位埋め込みベクトルに対す
る加重値を変更することができる。
【0102】
一実施例において、発声特徴調節部(900)は、受信された追加の入力に基づいて話
者の発声特徴を表す埋め込みベクトルを修正するように構成されることができる。例えば
、発声特徴調節部(900)は、追加の入力に応じて変更された加重値を、複数の単位埋
め込みベクトルに乗じて加えることにより、話者の情報に対する埋め込みベクトルを再合
成することができる。発声特徴調節部(900)は、変更された話者の情報に対する埋め
込みベクトルを出力することができる。テキスト音声合成装置は、修正された埋め込みベ
クトルを単一の人工ニューラルネットワークのテキスト音声合成モデルに入力して、出力
音声データを、追加の入力に含まれた情報が反映された入力テキストに対する音声データ
に変換することができる。
【0103】
図10は、本開示の一実施例に基づいて出力音声の特性を変更するユーザーインターフ
ェースの例を示す図である。
【0104】
テキスト音声合成装置は、ユーザーからテキストウィンドウに入力されたテキストを受
信することができる。
図10に図示された再生ボタンが選択される場合(例えば、タッチ
されたり、押されたりする場合)、テキスト音声合成装置は、入力されたテキストに対応
する出力音声データを生成して、ユーザーインターフェースを含むユーザー端末に提供す
ることができる。
【0105】
テキスト音声合成装置は、ユーザーからの追加の入力を受信することができる。出力音
声データに対する追加の入力は、性別に関する情報、年齢に関する情報、地域別イントネ
ーションに関する情報、発声の速度に関する情報または音高および発声の大きさに関する
情報のうち少なくとも1つを含むことができる。
【0106】
一実施例によれば、テキスト音声合成装置は、現在の選択または指定された話者の発声
特徴を、通信部を介してユーザー端末に送信することができ、現在の音声特徴が、
図10
に図示されたように、ユーザー端末のディスプレイ部に所定の形状(例えば、線、多角形
、円形など)で表示されることができる。ユーザーは、入力部を利用して、性別に関する
情報、年齢に関する情報、地域別イントネーションに関する情報、発声の速度に関する情
報、音高および発声の大きさに関する情報のうち少なくとも1つを変更することができ、
ユーザーの入力に基づいて変更された出力音声が出力されることができる。例えば、ユー
ザーは、
図10に図示されたように、女性に近い性別、60代より10代に近い年齢、忠
清地方のイントネーションを選択することができる。選択された入力に基づいて、現在の
音声特徴が変更され、ユーザー端末に変更された音声特徴が反映されたり、合成された音
声が出力されたりすることができる。
【0107】
以上のように、複数の実施例に基づいて話者の情報に対する埋め込みベクトル中に内在
された要素の1つ以上を変更して、声の特性を変更する構成を説明したが、本発明はこれ
に限定されるものではなく、他の適切な方法によって構成することもできる。一実施例に
よれば、埋め込みベクトルの内在された要素をSSML(speech synthes
is markup language)の属性(attribute)に表現して変更
することもできる。例えば、<gender value = 「6」><region
value = 「3、4、5」>のようにSSMLの属性に表現することができる。
【0108】
図11は、本開示の一実施例に係るテキスト音声合成システム(1100)のブロック
図である。
【0109】
図11を参照すると、一実施例によるテキスト音声合成システム(1100)は、デー
タ学習部(1110)およびデータ認識部(1120)を含むことができる。データ学習
部(1110)は、データを入力して機械学習モデルを取得することができる。また、デ
ータ認識部(302)は、データを機械学習モデルに適用して、出力音声を生成すること
ができる。上述したようなテキスト音声合成システム(1100)は、プロセッサおよび
メモリを含むことができる。
【0110】
データ学習部(1110)は、テキストに対する音声学習をすることができる。データ
学習部(1110)は、テキストに応じてどの音声を出力するかに関する基準を学習する
ことができる。また、データ学習部(1110)は、どの音声の特徴を利用して音声を出
力するかに関する基準を学習することができる。音声の特徴は、音素の発音、ユーザーの
語調、イントネーションまたはアクセントのうち少なくとも1つを含むことができる。デ
ータ学習部(1110)は、学習に利用されるデータを取得し、取得されたデータを後述
するデータ学習モデルに適用することによって、テキストに応じた音声を学習することが
できる。
【0111】
データ認識部(1120)は、テキストに基づいてテキストに対する音声を出力するこ
とができる。データ認識部(1120)は、学習されたデータ学習モデルを利用して、所
定のテキストから音声を出力することができる。データ認識部(1120)は、学習によ
る予め設定された基準に基づいて、所定のテキスト(データ)を取得することができる。
また、データ認識部(1120)は、取得されたデータを入力値としてデータ学習モデル
を利用することによって、所定のデータに基づいた音声を出力することができる。また、
取得されたデータを入力値としてデータ学習モデルによって出力された結果値は、データ
学習モデルを更新するのに利用されることができる。
【0112】
データ学習部(1110)またはデータ認識部(1120)のうち少なくとも1つは、
少なくとも1つのハードウェアチップ形態に製作されて、電子機器に搭載されることがで
きる。例えば、データ学習部(1110)またはデータ認識部(1120)のうち少なく
とも1つは、人工知能(AI;artificial intelligence)のた
めの専用ハードウェアチップの形態に製作されることもでき、または既存の汎用プロセッ
サ(例:CPUまたはapplication processor)またはグラフィッ
ク専用プロセッサ(例:GPU)の一部として製作され、すでに説明した各種の電子機器
に搭載されることもできる。
【0113】
また、データ学習部(1110)およびデータ認識部(1120)は、別々の電子機器
にそれぞれ搭載されることもできる。例えば、データ学習部(1110)およびデータ認
識部(1120)のうち1つは電子機器に含まれ、残りの1つはサーバーに含まれること
ができる。また、データ学習部(1110)およびデータ認識部(1120)は、有線ま
たは無線を通じて、データ学習部(1110)が構築したモデルの情報をデータ認識部(
1120)に提供することもでき、データ認識部(1120)に入力されたデータが追加
の学習データとしてデータ学習部(1110)に提供されることもできる。
【0114】
一方、データ学習部(1110)またはデータ認識部(1120)のうち少なくとも1
つは、ソフトウェアモジュールで具現されることができる。データ学習部(1110)お
よびデータ認識部(1120)のうち少なくとも1つが、ソフトウェアモジュール(また
は、命令(instruction)を含むプログラムモジュール)で具現される場合、
ソフトウェアモジュールは、メモリまたはコンピュータ読み取り可能な非一時的な読み取
り可能な記録媒体(non-transitory computer readabl
e media)に格納されることができる。また、この場合、少なくとも1つのソフト
ウェアモジュールは、OS(Operating System)によって提供されたり
、所定のアプリケーションによって提供されたりすることができる。これと異なり、少な
くとも1つのソフトウェアモジュールのうち一部はOS(Operating Syst
em)によって提供され、残りの一部は所定のアプリケーションによって提供されること
ができる。
【0115】
本開示の一実施例によるデータ学習部(1110)は、データ取得部(1111)、前
処理部(1112)、学習データ選択部(1113)、モデル学習部(1114)および
モデル評価部(1115)を含むことができる。
【0116】
データ取得部(1111)は、機械学習に必要なデータを取得することができる。学習
のためには多くのデータが必要であるため、データ取得部(1111)は、複数のテキス
トおよびそれに対応する音声を受信することができる。
【0117】
前処理部(1112)は、ユーザーの心理状態判断のために取得されたデータが機械学
習に使用され得るように、取得されたデータを前処理することができる。前処理部(11
12)は、後述するモデル学習部(1114)が利用できるように、取得されたデータを
予め設定されたフォーマットに加工することができる。例えば、前処理部(1112)は
、テキストおよび音声を形態素解析して形態素埋め込みを取得することができる。
【0118】
学習データ選択部(1113)は、前処理されたデータの中から学習に必要なデータを
選択することができる。選択されたデータは、モデル学習部(1114)に提供されるこ
とができる。学習データ選択部(1113)は、既設定された基準に基づいて、前処理さ
れたデータの中から学習に必要なデータを選択することができる。また、学習データ選択
部(1113)は、後述するモデル学習部(1114)による学習によって、既設定され
た基準に基づいてデータを選択することもできる。
【0119】
モデル学習部(1114)は、学習データに基づいて、テキストに応じてどの音声を出
力するかに関する基準を学習することができる。また、モデル学習部(1114)は、テ
キストに応じて音声を出力する学習モデルを学習データとして利用して学習させることが
できる。この場合、データ学習モデルは、予め構築されたモデルを含むことができる。例
えば、データ学習モデルは、基本学習データ(例えば、サンプルイメージなど)の入力を
受けて予め構築されたモデルを含むことができる。
【0120】
データ学習モデルは、学習モデルの適用分野、学習の目的または装置のコンピュータ性
能などを考慮して構築されることができる。データ学習モデルは、例えば、ニューラルネ
ットワーク(Neural Network)をベースにするモデルを含むことができる
。例えば、ディープニューラルネットワーク(DNN:Deep Neural Net
work)、回帰型ニューラルネットワーク(RNN:Recurrent Neura
l Network)、長・短期記憶モデル(LSTM:Long Short-Ter
m Memory models)、双方向性回帰型ディープニューラルネットワーク(
BRDNN:Bidirectional Recurrent Deep Neura
l Network)、畳み込みニューラルネットワーク(CNN:Convoluti
onal Neural Networks)などのようなモデルがデータ学習モデルと
して使用されることができるが、これに限定されない。
【0121】
多様な実施例によれば、モデル学習部(1114)は、予め構築されたデータ学習モデ
ルが複数個存在する場合、入力された学習データと基本学習データの関連性が大きいデー
タ学習モデルを学習するデータ学習モデルとして決定することができる。この場合、基本
学習データは、データのタイプ別に既分類されていることができ、データ学習モデルは、
データのタイプ別に予め構築されていることができる。例えば、基本学習データは、学習
データが生成された地域、学習データが生成された時間、学習データの大きさ、学習デー
タのジャンル、学習データの生成者、学習データ内のオブジェクトの種類などのような多
様な基準で既分類されていることができる。
【0122】
また、モデル学習部(1114)は、例えば、誤差逆伝播法(error back-
propagation)または最急降下法(gradient descent)を含
む学習アルゴリズムなどを利用して、データ学習モデルを学習することができる。
【0123】
また、モデル学習部(1114)は、例えば、学習データを入力値とする教師あり学習
(supervised learning)を通じて、データ学習モデルを学習するこ
とができる。
【0124】
また、モデル学習部(1114)は、例えば、別途のガイドなしに、状況判断のために
必要なデータの種類を自分で学習することによって状況判断のための基準を発見する教師
なし学習(unsupervised learning)を通じて、データ学習モデル
を学習することができる。また、モデル学習部(1114)は、例えば、学習による状況
判断の結果が正しいかに対するフィードバックを利用する強化学習(reinforce
ment learning)を通じて、データ学習モデルを学習することができる。
【0125】
また、データ学習モデルが学習されると、モデル学習部(1114)は、学習されたデ
ータ学習モデルを格納することができる。この場合、モデル学習部(1114)は、学習
されたデータ学習モデルを、データ認識部(1120)を含む電子機器のメモリに格納す
ることができる。また、モデル学習部(1114)は、学習されたデータ学習モデルを電
子機器と有線または無線ネットワークで接続されるサーバーのメモリに格納することもで
きる。
【0126】
この場合、学習されたデータ学習モデルが格納されるメモリは、例えば、電子機器の少
なくとも1つの他の構成要素に関係された命令またはデータを一緒に格納することもでき
る。さらに、メモリは、ソフトウェアおよび/またはプログラムを格納することもできる
。プログラムは、例えば、カーネル、ミドルウェア、アプリケーションプログラミングイ
ンターフェース(API)および/またはアプリケーションプログラム(または「アプリ
ケーション」)などを含むことができる。
【0127】
モデル評価部(1115)は、データ学習モデルに評価データを入力し、評価データか
ら出力される結果が所定の基準を満たさない場合、モデル学習部(1114)が再学習す
るようにすることができる。この場合、評価データは、データ学習モデルを評価するため
の既設定されたデータを含むことができる。
【0128】
例えば、モデル評価部(1115)は、評価データに対する学習されたデータ学習モデ
ルの結果の中で、認識結果が正確でない評価データの数または比率が予め設定されたしき
い値を超える場合、所定の基準を満たさないものと評価することができる。例えば、所定
の基準が比率2%で定義される場合において、学習されたデータ学習モデルが総1000
個の評価データの中で20個を超える評価データに対して誤った認識結果を出力する場合
、モデル評価部(1115)は、学習されたデータ学習モデルが適していないものである
と評価することができる。
【0129】
一方、学習されたデータ学習モデルが複数個存在する場合、モデル評価部(1115)
は、それぞれの学習されたデータ学習モデルに対して所定の基準を満たすかを評価し、所
定の基準を満足するモデルを最終データ学習モデルとして決定することができる。この場
合、所定の基準を満たすモデルが複数個である場合、モデル評価部(1115)は、評価
点数の高い順に予め設定されたある1つまたは所定個数のモデルを最終データ学習モデル
として決定することができる。
【0130】
一方、データ学習部(1110)内のデータ取得部(1111)、前処理部(1112
)、学習データ選択部(1113)、モデル学習部(1114)またはモデル評価部(1
115)のうち少なくとも1つは、少なくとも1つのハードウェアチップ形態に製作され
て、電子機器に搭載されることができる。例えば、データ取得部(1111)、前処理部
(1112)、学習データ選択部(1113)、モデル学習部(1114)またはモデル
評価部(1115)のうち少なくとも1つは、人工知能(AI;artificial
intelligence)のための専用ハードウェアチップの形態に製作されることも
でき、または既存の汎用プロセッサ(例:CPUまたはapplication pro
cessor)またはグラフィック専用プロセッサ(例:GPU)の一部として製作され
、前述した各種の電子機器に搭載されることもできる。
【0131】
また、データ取得部(1111)、前処理部(1112)、学習データ選択部(111
3)、モデル学習部(1114)およびモデル評価部(1115)は、1つの電子機器に
搭載されることもでき、または別の電子機器にそれぞれ搭載されることもできる。例えば
、データ取得部(1111)、前処理部(1112)、学習データ選択部(1113)、
モデル学習部(1114)およびモデル評価部(1115)のうち一部は電子機器に含ま
れ、残りの一部はサーバーに含まれることができる。
【0132】
また、データ取得部(1111)、前処理部(1112)、学習データ選択部(111
3)、モデル学習部(1114)またはモデル評価部(1115)のうち少なくとも1つ
は、ソフトウェアモジュールで具現されることができる。データ取得部(1111)、前
処理部(1112)、学習データ選択部(1113)、モデル学習部(1114)または
モデル評価部(1115)のうち少なくとも1つがソフトウェアモジュール(または、命
令(instruction)を含むプログラムモジュール)で具現される場合、ソフト
ウェアモジュールは、コンピュータ読み取り可能な非一時的な読み取り可能な記録媒体(
non-transitory computer readable media)に
格納されることができる。また、この場合、少なくとも1つのソフトウェアモジュールは
、OS(Operating System)によって提供されたり、所定のアプリケー
ションによって提供されたりすることができる。これと異なり、少なくとも1つのソフト
ウェアモジュールのうち一部はOS(Operating System)によって提供
され、残りの一部は所定のアプリケーションによって提供されることができる。
【0133】
本開示の一実施例によるデータ認識部(1120)は、データ取得部(1121)、前
処理部(1122)、認識データ選択部(1123)、認識結果提供部(1124)およ
びモデル更新部(1125)を含むことができる。
【0134】
データ取得部(1121)は、音声を出力するために必要なテキストを取得することが
できる。逆に、データ取得部(1121)は、テキストを出力するために必要な音声を取
得することができる。前処理部(1122)は、音声またはテキストを出力するために取
得されたデータが使用され得るように、取得されたデータを前処理することができる。前
処理部(1122)は、後述する認識結果提供部(1124)が音声またはテキストを出
力するために取得されたデータを利用できるように、取得されたデータを既設定されたフ
ォーマットに加工することができる。
【0135】
認識データ選択部(1123)は、前処理されたデータの中から音声またはテキストを
出力するために必要なデータを選択することができる。選択されたデータは、認識結果提
供部(1124)に提供されることができる。認識データ選択部(1123)は、音声ま
たはテキストを出力するための既設定された基準に基づいて、前処理されたデータの中か
ら一部または全部を選択することができる。また、認識データ選択部(1123)は、モ
デル学習部(1114)による学習によって、既設定された基準に基づいてデータを選択
することもできる。
【0136】
認識結果提供部(1124)は、選択されたデータをデータ学習モデルに適用して、音
声またはテキストを出力することができる。認識結果提供部(1124)は、認識データ
選択部(1123)によって選択されたデータを入力値として利用することにより、選択
されたデータをデータ学習モデルに適用することができる。また、認識結果は、データ学
習モデルによって決定されることができる。
【0137】
モデル更新部(1125)は、認識結果提供部(1124)によって提供される認識結
果に対する評価に基づいて、データ学習モデルが更新されるようにすることができる。例
えば、モデル更新部(1125)は、認識結果提供部(1124)によって提供される認
識結果をモデル学習部(1114)に提供することにより、モデル学習部(1114)が
データ学習モデルを更新するようにすることができる。
【0138】
一方、データ認識部(1120)内のデータ取得部(1121)、前処理部(1122
)、認識データ選択部(1123)、認識結果提供部(1124)またはモデル更新部(
1125)のうち少なくとも1つは、少なくとも1つのハードウェアチップの形態に製作
されて、電子機器に搭載されることができる。例えば、データ取得部(1121)、前処
理部(1122)、認識データ選択部(1123)、認識結果提供部(1124)または
モデル更新部(1125)のうち少なくとも1つは、人工知能(AI;artifici
al intelligence)のための専用ハードウェアチップの形態に製作される
こともでき、または既存の汎用プロセッサ(例:CPUまたはapplication
processor)またはグラフィック専用プロセッサ(例:GPU)の一部として製
作され、前述した各種の電子機器に搭載されることもできる。
【0139】
また、データ取得部(1121)、前処理部(1122)、認識データ選択部(112
3)、認識結果提供部(1124)およびモデル更新部(1125)は、1つの電子機器
に搭載されることもでき、または別の電子機器にそれぞれ搭載されることもできる。例え
ば、データ取得部(1121)、前処理部(1122)、認識データ選択部(1123)
、認識結果提供部(1124)およびモデル更新部(1125)のうち一部は電子機器に
含まれ、残りの一部はサーバーに含まれることができる。
【0140】
また、データ取得部(1121)、前処理部(1122)、認識データ選択部(112
3)、認識結果提供部(1124)またはモデル更新部(1125)のうち少なくとも1
つは、ソフトウェアモジュールで具現されることができる。データ取得部(1121)、
前処理部(1122)、認識データ選択部(1123)、認識結果提供部(1124)ま
たはモデル更新部(1125)のうち少なくとも1つが、ソフトウェアモジュール(また
は、命令(instruction)を含むプログラムモジュール)で具現される場合、
ソフトウェアモジュールは、コンピュータ読み取り可能な非一時的な読み取り可能な記録
媒体(non-transitory computer readable medi
a)に格納されることができる。また、この場合、少なくとも1つのソフトウェアモジュ
ールは、OS(Operating System)によって提供されたり、所定のアプ
リケーションによって提供されたりすることができる。これと異なり、少なくとも1つの
ソフトウェアモジュールのうち一部はOS(Operating System)によっ
て提供され、残りの一部は所定のアプリケーションによって提供されることができる。
【0141】
これまでに多様な実施例を中心に説明した。本発明が属する技術分野において通常の知
識を有する者は、本発明が、本発明の本質的な特性から逸脱しない範囲で変形された形態
で具現され得ることを理解できるであろう。したがって、開示された実施例は、限定的な
観点ではなく、説明的な観点から考慮されるべきである。本発明の範囲は、前述した説明
ではなく、特許請求の範囲に示されており、それと同等の範囲内にあるすべての違いは、
本発明に含まれるものと解釈されるべきである。
【0142】
一方、上述した本発明の実施例は、コンピュータで実行され得るプログラムで作成可能
であり、コンピュータ読み取り可能な記録媒体を利用してプログラムを動作させる汎用デ
ジタルコンピュータで具現されることができる。コンピュータ読み取り可能な記録媒体は
、磁気記録媒体(例えば、ロム、フロッピーディスク、ハードディスクなど)、光学的読
み取り媒体(例えば、CD-ROM、DVDなど)のような記憶媒体を含む。