(57)【要約】【課題】本開示は、テキストから音声を合成する方法および合成された音声を再生する装置に関するものである。【解決手段】機械学習を利用したテキスト音声合成（ｔｅｘｔ−ｔｏ−ｓｐｅｅｃｈ  ｓｙｎｔｈｅｓｉｓ）方法は、複数の学習テキストおよび複数の学習テキストに対応する音声データに基づいて機械学習を遂行して生成された、単一の人工ニューラルネットワークのテキスト音声合成（ｔｅｘｔ−ｔｏ−ｓｐｅｅｃｈ  ｓｙｎｔｈｅｓｉｓ）モデルを生成するステップ、入力テキストを受信するステップ、話者の発声特徴を受信するステップ、および話者の発声特徴を単一の人工ニューラルネットワークのテキスト音声合成モデルに入力して、話者の発声特徴が反映された入力テキストに対する出力音声データを生成するステップを含む。【選択図】図３
2021511533.tif 000002
【特許請求の範囲】
【請求項１】
機械学習を利用したテキスト音声合成（ｔｅｘｔ−ｔｏ−ｓｐｅｅｃｈ  ｓｙｎｔｈｅｓｉｓ）方法であって、
複数の学習テキストおよび前記複数の学習テキストに対応する音声データに基づいて機械学習を遂行して生成された、単一の人工ニューラルネットワークのテキスト音声合成（ｔｅｘｔ−ｔｏ−ｓｐｅｅｃｈ  ｓｙｎｔｈｅｓｉｓ）モデルを生成するステップと、
入力テキストを受信するステップと、
話者の発声特徴を受信するステップと、
前記話者の発声特徴を前記単一の人工ニューラルネットワークのテキスト音声合成モデルに入力して、前記話者の発声特徴が反映された前記入力テキストに対する出力音声データを生成するステップと、
を含む、テキスト音声合成方法。
【請求項２】
前記話者の発声特徴を受信するステップは、
音声サンプルを受信するステップと、
前記音声サンプルから前記話者の発声特徴を表す埋め込みベクトルを抽出するステップと、
を含む、請求項１に記載のテキスト音声合成方法。
【請求項３】
前記音声サンプルから前記話者の発声特徴を表す埋め込みベクトルを抽出するステップは、前記話者の韻律的特徴を表す第１のサブ埋め込みベクトルを抽出するステップを含み、ここで、前記韻律的特徴は、発話速度に関する情報、発音アクセントに関する情報、休止区間に関する情報または音高に関する情報のうち少なくとも１つを含み、
前記話者の発声特徴が反映された前記入力テキストに対する出力音声データを生成するステップは、前記韻律的特徴を表す第１のサブ埋め込みベクトルを前記単一の人工ニューラルネットワークのテキスト音声合成モデルに入力して、前記話者の韻律的特徴が反映された前記入力テキストに対する出力音声データを生成するステップを含む、
請求項２に記載のテキスト音声合成方法。
【請求項４】
前記音声サンプルから前記話者の発声特徴を表す埋め込みベクトルを抽出するステップは、前記話者の感情的特徴を表す第２のサブ埋め込みベクトルを抽出するステップを含み、ここで、前記感情的特徴は、前記話者の発話内容に内在された感情に関する情報を含み、
前記話者の発声特徴が反映された前記入力テキストに対する出力音声データを生成するステップは、前記感情的特徴を表す第２のサブ埋め込みベクトルを前記単一の人工ニューラルネットワークのテキスト音声合成モデルに入力して、前記話者の感情的特徴が反映された前記入力テキストに対する出力音声データを生成するステップを含む、
請求項２に記載のテキスト音声合成方法。
【請求項５】
前記音声サンプルから前記話者の発声特徴を表す埋め込みベクトルを抽出するステップは、前記話者の音色および音高に対する特徴を表す第３のサブ埋め込みベクトルを抽出するステップを含み、
前記話者の発声特徴が反映された前記入力テキストに対する出力音声データを生成するステップは、前記話者の音色および音高に対する特徴を表す第３のサブ埋め込みベクトルを前記単一の人工ニューラルネットワークのテキスト音声合成モデルに入力して、前記話者の音色および音高に対する特徴が反映された前記入力テキストに対する出力音声データを生成するステップを含む、
請求項２に記載のテキスト音声合成方法。
【請求項６】
前記話者の発声特徴が反映された前記入力テキストに対する出力音声データを生成するステップは、
前記出力音声データに対する追加の入力を受信するステップと、
前記追加の入力に基づいて、前記話者の発声特徴を表す埋め込みベクトルを修正するステップと、
前記修正された埋め込みベクトルを前記単一の人工ニューラルネットワークのテキスト音声合成モデルに入力して、前記出力音声データを、前記追加の入力に含まれた情報が反映された前記入力テキストに対する音声データに変換するステップと、
を含む、請求項２に記載のテキスト音声合成方法。
【請求項７】
前記出力音声データに対する追加の入力に含まれた情報は、性別に関する情報、年齢に関する情報、地域別イントネーションに関する情報、発声の速度に関する情報、音高または発声の大きさに関する情報のうち少なくとも１つを含む、
請求項６に記載のテキスト音声合成方法。
【請求項８】
前記音声サンプルを受信するステップは、予め決定された時間区間内に、前記話者から入力された音声を前記音声サンプルとしてリアルタイムで受信するステップを含む、
請求項２に記載のテキスト音声合成方法。
【請求項９】
前記音声サンプルを受信するステップは、予め決定された時間区間内に、前記話者から入力された音声を音声データベースから受信するステップを含む、
請求項２に記載のテキスト音声合成方法。
【請求項１０】
請求項１の機械学習を利用したテキスト音声合成方法によるそれぞれのステップを遂行する命令語を含むプログラムが記録された、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、入力テキストを受信して入力テキストに対する音声を合成する方法および合成された音声を再生する装置に関するものである。
【背景技術】
【０００２】
音声（ｓｐｅｅｃｈ）は、人間の基礎的で効果的な意思を伝達できる道具の１つである。音声ベースの通信は、ユーザーに直観的で便利なサービスを提供し、一部の装置は、音声を使用して相互作用できる音声ユーザーインターフェースを使用している。従来の音声ユーザーインターフェースにおいて、音声応答を具現する簡単な方法はオーディオ録音であるが、録音された音声のみが利用され得るという限界があった。これらの装置は、録音されてない音声に対しては応答サービスを提供できないため、装置の使用における柔軟性が低下する。例えば、Ａｐｐｌｅ  Ｓｉｒｉ（登録商標）およびＡｍａｚｏｎ  Ａｌｅｘａ（登録商標）などの人工知能（ＡＩ）のエージェントは、ユーザーのクエリ（ｑｕｅｒｉｅｓ）がランダムであり得るため、ユーザーのクエリに対する応答サービスのために多様な文章を生成することができる必要がある。これらのアプリケーションにおいて可能なすべての応答を録音する場合、かなりの時間と費用が要求される。このような環境において、多くの研究者が自然で速い音声合成モデルを開発しようと努力している。また、テキストから音声を生成できるＴＴＳ（ｔｅｘｔ−ｔｏ−ｓｐｅｅｃｈ）ともいうテキスト音声合成が広く研究されている。
【０００３】
一般的に、ＴＴＳ技術は、波形接続型ＴＴＳ（Ｃｏｎｃａｔｅｎａｔｉｖｅ  ＴＴＳ）、パラメトリックＴＴＳ（Ｐａｒａｍｅｔｒｉｃ  ＴＴＳ）など、多様な音声合成方法がある。例えば、波形接続型ＴＴＳは、音声を音素などの非常に短い単位で事前に切断して格納し、合成する文章を構成する音声を結合して合成することができ、パラメトリックＴＴＳは、音声の特徴をパラメータで表現し、合成可能な文章を構成する音声の特徴を表すパラメータを、ボコーダー（ｖｏｃｏｄｅｒ）を利用して文章に対応する音声に合成することができる。
【０００４】
一方、最近では、人工ニューラルネットワーク（例えば、ディープニューラルネットワーク）ベースの音声合成方法が活発に研究されており、これらの音声合成方法によって合成された音声は、従来の方法に比べてはるかに自然な音声の特徴を含んでいる。しかし、人工ニューラルネットワークベースの音声合成方法によって新たな話者のための音声合成サービスを提供するためには、その話者の声に該当する多くのデータが必要であり、このデータを利用した人工ニューラルネットワークモデルの再学習が要求される。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本開示による方法および装置は、新たな話者に関する多くのデータまたは情報の入力なしに、その新たな話者の発声の特性が反映された、入力テキストに対する出力音声データを提供する音声合成方法および装置に関するものである。また、本開示による方法および装置は、別途の機械学習なしに、新たな話者を拡張して音声合成サービスを提供することができる。
【課題を解決するための手段】
【０００６】
本開示の一実施例に係る機械学習を利用したテキスト音声合成（ｔｅｘｔ−ｔｏ−ｓｐｅｅｃｈ  ｓｙｎｔｈｅｓｉｓ）方法は、複数の学習テキストおよび複数の学習テキストに対応する音声データに基づいて機械学習を遂行して生成された、単一の人工ニューラルネットワークのテキスト音声合成（ｔｅｘｔ−ｔｏ−ｓｐｅｅｃｈ  ｓｙｎｔｈｅｓｉｓ）モデルを生成するステップと、入力テキストを受信するステップと、話者の発声特徴を受信するステップと、話者の発声特徴を単一の人工ニューラルネットワークのテキスト音声合成モデルに入力して、話者の発声特徴が反映された入力テキストに対する出力音声データを生成するステップと、を含むことができる。
【０００７】
本開示の一実施例に係る機械学習を利用したテキスト音声合成方法の話者の発声特徴を受信するステップは、音声サンプルを受信するステップと、音声サンプルから話者の発声特徴を表す埋め込みベクトルを抽出するステップとを含むことができる。
【０００８】
本開示の一実施例に係る機械学習を利用したテキスト音声合成方法の音声サンプルから話者の発声特徴を表す埋め込みベクトルを抽出するステップは、話者の韻律的特徴を表す第１のサブ埋め込みベクトルを抽出するステップを含み、ここで、韻律的特徴は、発話速度に関する情報、発音アクセントに関する情報、休止区間に関する情報または音高に関する情報のうち少なくとも１つを含み、話者の発声特徴が反映された入力テキストに対する出力音声データを生成するステップは、韻律的特徴を表す第１のサブ埋め込みベクトルを単一の人工ニューラルネットワークのテキスト音声合成モデルに入力して、話者の韻律的特徴が反映された入力テキストに対する出力音声データを生成するステップを含むことができる。
【０００９】
本開示の一実施例に係る機械学習を利用したテキスト音声合成方法の音声サンプルから話者の発声特徴を表す埋め込みベクトルを抽出するステップは、話者の感情的特徴を表す第２のサブ埋め込みベクトルを抽出するステップを含み、ここで、感情的特徴は、話者の発話内容に内在された感情に関する情報を含み、話者の発声特徴が反映された入力テキストに対する出力音声データを生成するステップは、感情的特徴を表す第２のサブ埋め込みベクトルを単一の人工ニューラルネットワークのテキスト音声合成モデルに入力して、話者の感情的特徴が反映された入力テキストに対する出力音声データを生成するステップを含むことができる。
【００１０】
本開示の一実施例に係る機械学習を利用したテキスト音声合成方法の音声サンプルから話者の発声特徴を表す埋め込みベクトルを抽出するステップは、話者の音色および音高に対する特徴を表す第３のサブ埋め込みベクトルを抽出するステップを含み、話者の発声特徴が反映された入力テキストに対する出力音声データを生成するステップは、話者の音色および音高に対する特徴を表す第３のサブ埋め込みベクトルを単一の人工ニューラルネットワークのテキスト音声合成モデルに入力して、話者の音色および音高に対する特徴が反映された入力テキストに対する出力音声データを生成するステップを含むことができる。
【００１１】
本開示の一実施例に係る機械学習を利用したテキスト音声合成方法の話者の発声特徴が反映された入力テキストに対する出力音声データを生成するステップは、出力音声データに対する追加の入力を受信するステップと、追加の入力に基づいて、話者の発声特徴を表す埋め込みベクトルを修正するステップと、修正された埋め込みベクトルを単一の人工ニューラルネットワークのテキスト音声合成モデルに入力して、出力音声データを、追加の入力に含まれた情報が反映された入力テキストに対する音声データに変換するステップとを含むことができる。
【００１２】
本開示の一実施例に係る機械学習を利用したテキスト音声合成方法の出力音声データに対する追加の入力は、性別に関する情報、年齢に関する情報、地域別イントネーションに関する情報、発声の速度に関する情報、音高または発声の大きさに関する情報のうち少なくとも１つを含むことができる。
【００１３】
本開示の一実施例に係る機械学習を利用したテキスト音声合成方法の音声サンプルを受信するステップは、予め決定された時間区間内に、話者から入力された音声を音声サンプルとしてリアルタイムで受信するステップを含むことができる。
【００１４】
本開示の一実施例に係る機械学習を利用したテキスト音声合成方法の音声サンプルを受信するステップは、予め決定された時間区間内に、話者から入力された音声を音声データベースから受信するステップを含むことができる。
【００１５】
また、上述したような機械学習を利用したテキスト音声合成方法を具現するためのプログラムは、コンピュータ読み取り可能な記憶媒体に記録されることができる。
【００１６】
また、上述したような機械学習を利用したテキスト音声合成方法と関連した装置および技術的手段などもまた開示することができる。
【図面の簡単な説明】
【００１７】
【図１】図１は、本開示の一実施例に係るテキスト音声合成端末を示す図である。
【図２】図２は、本開示の一実施例に係るテキスト音声合成装置を示す図である。
【図３】図３は、本開示の一実施例に係るテキスト音声合成方法を示すフローチャートである。
【図４】図４は、本開示の一実施例に係るテキスト音声合成装置を示す図である。
【図５】図５は、人工ニューラルネットワークベースのテキスト音声合成装置の構成を示す図である。
【図６】図６は、本開示の一実施例に係る人工ニューラルネットワークベースのテキスト音声合成装置の構成を示す図である。
【図７】図７は、本開示の一実施例に係る複数の話者の各々を区別することができる発声特徴を表す埋め込みベクトルを抽出するネットワークを示す図である。
【図８】図８は、本開示の一実施例に係る人工ニューラルネットワークベースのテキスト音声合成装置の構成を示す図である。
【図９】図９は、本開示の一実施例に係る発声特徴調節部の動作を示すフローチャートである。
【図１０】図１０は、本開示の一実施例に基づいて出力音声の特性を変更するユーザーインターフェースの例示を示す図である。
【図１１】図１１は、本開示の一実施例に係るテキスト音声合成システムのブロック図である。
【発明を実施するための形態】
【００１８】
開示された実施例の利点および特徴、そしてそれらを達成する方法は、添付の図面と共に後述される実施例を参照すると明確である。しかし、本開示は、以下において開示される実施形態に限定されるものではなく、異なる多様な形態で具現されることができ、単に本実施例は、本開示が完全になるようにし、本開示が属する技術分野において通常の知識を有する者に発明の範疇を完全に知らせるために提供されるだけのものである。
【００１９】
本明細書において使用される用語について簡略に説明し、開示された実施例について具体的に説明する。
【００２０】
本明細書において使用される用語は、本開示での機能を考慮しながら可能な現在広く使用される一般的な用語を選択したが、これは関連分野に携わる技術者の意図または判例、新しい技術の出現などによって異なることができる。また、特定の場合、出願人が任意に選定した用語もあり、この場合は該当する発明の説明部分で詳細にその意味を記載する。したがって、本開示において使用される用語は、単純な用語の名称ではなく、その用語が有する意味と本開示の全般にわたる内容に基づいて定義されるべきである。
【００２１】
本明細書においての単数の表現は、文脈上明らかに単数であるものと特定していない限り、複数の表現を含む。また、複数の表現は、文脈上明らかに複数であるものと特定していない限り、単数の表現を含む。
【００２２】
明細書全体においてある部分がある構成要素を「含む」とするとき、これは特に反対の記載がない限り、他の構成要素を除外するのではなく、他の構成要素をさらに含むことが可能であることを意味する。
【００２３】
また、明細書において使用される「部」という用語は、ソフトウェアまたはハードウェア構成要素を意味し、「部」は、ある役割を遂行する。しかしながら、「部」は、ソフトウェアまたはハードウェアに限定される意味ではない。「部」は、アドレッシングできる格納媒体にあるように構成することもでき、１つまたはそれ以上のプロセッサを再生させるように構成されることもできる。したがって、一例として「部」は、ソフトウェア構成要素、オブジェクト指向ソフトウェア構成要素、クラス構成要素およびタスクの構成要素のような構成要素と、プロセス、関数、属性、プロシージャ、サブルーチン、プログラムコードのセグメント、ドライバ、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイおよび変数を含む。構成要素と「部」の中で提供される機能は、より少数の構成要素および「部」で結合されたり、追加の構成要素と「部」にさらに分離されたりすることができる。
【００２４】
本開示の一実施例によれば、「部」は、プロセッサおよびメモリで具現されることができる。用語「プロセッサ」は、汎用プロセッサ、中央処理装置（ＣＰＵ）、マイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、コントローラ、マイクロコントローラ、状態マシンなどを含むように広く解釈されるべきである。いくつかの環境において「プロセッサ」は、カスタムＩＣ（ＡＳＩＣ）、プログラマブルロジックデバイス（ＰＬＤ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）などを称することもできる。用語「プロセッサ」は、例えば、ＤＳＰとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサの組み合わせ、ＤＳＰコアと結合した１つ以上のマイクロプロセッサの組み合わせ、または任意の他のこのような構成の組み合わせのような処理デバイスの組み合わせを称することもできる。
【００２５】
用語「メモリ」は、電子情報を格納可能な任意の電子コンポーネントを含むように広く解釈されるべきである。用語「メモリ」は、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、プログラマブル読み出し専用メモリ（ＰＲＯＭ）、消去可能なプログラマブル読み出し専用メモリ（ＥＰＲＯＭ）、電気的に消去可能なプログラマブル読み出し専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリ、磁気または光学データ記憶装置、レジスタなどのプロセッサ−読み出し可能媒体の多様なタイプを称することもできる。プロセッサがメモリから情報を読み取りし／したり、メモリに情報を記録することができたりすれば、メモリは、プロセッサと電子通信状態にあると言われる。プロセッサに集積されたメモリは、プロセッサと電子通信状態にある。
【００２６】
以下では、添付した図面を参照して、実施例に対して本開示が属する技術分野における通常の知識を有する者が容易に実施できるように詳細に説明する。そして図面で本開示を明確に説明するために説明と関係ない部分は省略する。
【００２７】
図１は、本開示の一実施例に係るテキスト音声合成端末（１００）を示す図である。
【００２８】
テキスト音声合成端末（１００）は、少なくとも１つのプロセッサとメモリを含むことができる。例えば、テキスト音声合成端末（１００）は、スマートフォン、コンピュータまたは携帯電話などで具現されることができる。テキスト音声合成端末（１００）は、通信部を含んで外部装置（例えば、サーバ装置）と通信することができる。
【００２９】
テキスト音声合成端末（１００）は、ユーザー（１１０）からテキスト入力と特定の話者入力を受信することができる。例えば、図１に図示されたように、テキスト音声合成端末（１００）は、テキスト入力として、「Ｈｏｗ  ａｒｅ  ｙｏｕ？」を受信することができる。また、テキスト音声合成端末（１００）は、話者入力として、「人１」を受信することができる。ここで、「人１」は、予め設定された話者、すなわち「人１」の発声特徴を示すことができる。テキスト音声合成端末（１００）は、複数の人の発声特徴のうち少なくとも１つの発声特徴（例えば、「人１」）を予め設定するように構成されることができる。例えば、このような複数の人の発声特徴は、通信部を介してサーバー装置などの外部装置から受信されることができる。図１では、予め設定された話者を指定できるユーザーインターフェースを図示しているが、これに限定されるものではなく、ユーザーは、特定のテキストに対する音声をテキスト音声合成端末（１００）に提供することができ、テキスト音声合成端末（１００）は、受信された音声の発声特徴を抽出して、音声合成のためのユーザーの発声特徴が選択されるように表示することができる。例えば、受信された音声から音声の発声特徴が抽出されることができ、音声の発声特徴は、埋め込みベクトルで表示されることができる。
【００３０】
テキスト音声合成端末（１００）は、指定された話者の発声特徴が反映された入力テキストに対する音声データを出力するように構成されることができる。例えば、図１に図示されたように、「Ｈｏｗ  ａｒｅ  ｙｏｕ」の入力テキストに対する出力音声データを生成するにおいて、選択された「人１」の発声特徴が出力音声データに反映されるように構成されることができる。ここで、特定の話者の発声特徴は、その話者の音声を模写することだけでなく、その発声を構成できるスタイル、韻律、感情、音色、音高などの多様な要素のうち少なくとも１つを含むことができる。このような出力音声データを生成するために、テキスト音声合成端末（１００）は、テキスト音声合成装置に入力テキストおよび指定された話者を提供することができ、テキスト音声合成装置から合成された音声データ（例えば、「人１」の発声特徴が反映された「Ｈｏｗ  ａｒｅ  ｙｏｕ」の音声データ）を受信することができる。テキスト音声合成装置に関しては、以下の図２でより詳細に説明する。テキスト音声合成端末（１００）は、合成された音声データをユーザー（１１０）に出力することができる。これと異なり、テキスト音声合成端末（１００）は、テキスト音声合成装置を含むように構成されることができる。
【００３１】
図２は、本開示の一実施例に係るテキスト音声合成装置（２００）を示す図である。
【００３２】
図２のテキスト音声合成装置（２００）が使用するデータ学習部（図示せず）およびデータ認識部（図示せず）は、後述される図１１のテキスト音声合成装置（１１００）の構成と同一または類似の構成を含むことができる。テキスト音声合成装置（２００）は、発声特徴抽出部（２１０）、発声特徴調節部（２２０）、音声データベース（２３０）、エンコーダ（２４０）、デコーダ（２５０）、後処理プロセッサ（２６０）および通信部（２７０）を含むことができる。
【００３３】
一実施例によれば、発声特徴抽出部（２１０）は、話者の音声信号（例えば、音声サンプル）を受信し、受信された音声信号から話者の発声特徴を抽出するように構成されることができる。ここで、受信した音声信号またはサンプルは、話者の発声特徴に関連する情報を示す音声スペクトルデータを含むことができる。話者の発声特徴を抽出するにおいて、話者の音声信号から発声特徴を抽出できる任意の知られた適切な特徴抽出方法が使用されることができる。例えば、メル周波数ケプストラム（ＭＦＣ）のような音声処理方法を利用して受信された音声信号またはサンプルから発声特徴を抽出することができる。これと異なり、音声サンプルを学習された発声特徴抽出モデル（例えば、人工ニューラルネットワーク）に入力して、発声特徴を抽出することができる。例えば、抽出された話者の発声特徴は、埋め込みベクトルで表すことができる。他の実施例によれば、発声特徴抽出部（２１０）は、テキストおよびビデオのうちの少なくとも１つを受信することができ、受信されたテキストおよびビデオから話者の発声特徴を抽出するように構成されることができる。抽出された話者の発声特徴は、エンコーダ（２４０）またはデコーダ（２５０）のうち少なくとも１つに提供することができる。
【００３４】
一実施例によれば、発声特徴抽出部（２１０）から抽出された話者の発声特徴は、記憶媒体（例えば、音声データベース（２３０））または外部記憶装置に格納されることができる。これにより、入力テキストに対する音声合成時に、記憶媒体に予め格納された複数の話者の発声特徴のうち１つ以上の話者の発声特徴が選択または指定されることができ、選択または指定された複数の話者の発声特徴が音声合成に利用されることができる。
【００３５】
発声特徴調節部（２２０）は、話者の発声特徴を調節するように構成されることができる。一実施例によれば、発声特徴調節部（２２０）は、話者の発声特徴を調節するための情報を受信することができる。例えば、話者の発声特徴を調節するための情報は、発声特徴調節部（２２０）によってユーザーから入力されることができる。ユーザーから受信した情報に基づいて、発声特徴調節部（２２０）は、発声特徴抽出部（２１０）から抽出された話者の発声特徴を調節することができる。
【００３６】
一実施例によれば、音声データベース（２３０）は、学習テキストおよび複数の学習テキストに対応する音声を格納することができる。学習テキストは、少なくとも１つの言語で作成されることができ、人が理解できる単語、句および文章のうち少なくとも１つを含むことができる。また、音声データベース（２３０）に格納された音声は、複数の話者が学習テキストを読んだ音声データを含むことができる。学習テキストおよび音声データは、音声データベース（２３０）に予め格納されていたり、通信部（２７０）から受信されたりすることができる。音声データベース（２３０）が格納している学習テキストおよび音声に基づいて、エンコーダ（２４０）およびデコーダ（２５０）のうち少なくとも１つは、単一の人工ニューラルネットワークのテキスト音声合成モデルを含んだり、生成したりすることができる。例えば、エンコーダ（２４０）およびデコーダ（２５０）が、単一の人工ニューラルネットワークのテキスト音声合成モデルを構成することができる。
【００３７】
一実施例によれば、音声データベース（２３０）は、発声特徴抽出部（２１０）から抽出された１つ以上の話者の発声特徴を格納するように設定されることができる。格納された話者の発声特徴（例えば、話者の発声特徴を表す埋め込みベクトル）は、音声合成時にエンコーダ（２４０）またはデコーダのうち少なくとも１つに提供されることができる。
【００３８】
また、エンコーダ（２４０）は、入力テキストを受信することができ、入力テキストを文字埋め込みに変換して生成するように構成されることができる。このような文字埋め込みは、単一の人工ニューラルネットワークのテキスト音声合成モデル（例えば、プレネット（ｐｒｅ−ｎｅｔ）、ＣＢＨＧモジュール、ディープニューラルネットワーク（ＤＮＮ）、畳み込みニューラルネットワーク＋ディープニューラルネットワーク（ＣＮＮ＋ＤＮＮ）など）に入力して、エンコーダ（２４０）の隠れ状態を生成することができる。一実施例によれば、エンコーダ（２４０）は、発声特徴抽出部（２１０）または発声特徴調節部（２２０）のうち少なくとも１つから話者の発声特徴をさらに受信し、文字埋め込みおよび話者の発声特徴を単一の人工ニューラルネットワークのテキスト音声合成モデル（例えば、プレネット（ｐｒｅ−ｎｅｔ）、ＣＢＨＧモジュール、ディープニューラルネットワーク（ＤＮＮ）、畳み込みニューラルネットワーク＋ディープニューラルネットワーク（ＣＮＮ＋ＤＮＮ）など）に入力して、エンコーダ（２４０）の隠れ状態（ｈｉｄｄｅｎ  ｓｔａｔｅｓ）を生成することができる。このように生成されたエンコーダ（２４０）の隠れ状態は、デコーダ（８２０）に提供されることができる。
【００３９】
デコーダ（２５０）は、話者の発声特徴を受信するように構成されることができる。デコーダ（２５０）は、発声特徴抽出部（２１０）および発声特徴調節部（２２０）のうち少なくとも１つから話者の発声特徴を受信することができる。しかし、これに限定されるものではなく、デコーダ（２５０）は、通信部（２７０）または入出力部（Ｉ／Ｏ部；図示せず）から話者の発声特徴を受信することができる。
【００４０】
デコーダ（２５０）は、エンコーダ（２４０）から入力テキストに対応した隠れ状態を受信することができる。一実施例によれば、デコーダ（２５０）は、現在の時間−ステップ（ｔｉｍｅ−ｓｔｅｐ）で入力テキストのうちどの部分から音声を生成するかを決定するように構成されたアテンションモジュールを含むことができる。
【００４１】
デコーダ（２５０）は、話者の発声特徴および入力テキストを単一の人工ニューラルネットワークのテキスト音声合成モデルに入力して、入力テキストに対応する出力音声データを生成することができる。このような出力音声データは、話者の発声特徴が反映された合成音声データを含むことができる。一実施例によれば、予め設定された第１の話者の発声特徴に基づいて、第１の話者が入力テキストを読むように見える出力音声データが生成されることができる。例えば、出力音声データは、メルスペクトログラムで表現されることができる。しかし、これに限定されるものではなく、出力音声データは、線形スペクトログラムで表現されることができる。このような出力音声データは、スピーカー、後処理プロセッサ（２６０）または通信部（２７０）のうち少なくとも１つに出力されることができる。
【００４２】
一実施例によれば、後処理プロセッサ（２６０）は、デコーダ（２５０）で生成された出力音声データをスピーカーで出力可能な音声に変換するように構成されることができる。例えば、変換された出力可能な音声は、波形（ｗａｖｅｆｏｒｍ）で表示することができる。後処理プロセッサ（２６０）は、デコーダ（２５０）で生成された出力音声データがスピーカーで出力されるに不適切な場合にのみ動作するように構成されることができる。つまり、デコーダ（２５０）で生成された出力音声データがスピーカーで出力されるに適切な場合、出力音声データは、後処理プロセッサ（２６０）を経由せずに直接スピーカーに出力されることができる。これにより、図２では、後処理プロセッサ（２６０）がテキスト音声合成装置（２００）に含まれるように図示されているが、後処理プロセッサ（２６０）がテキスト音声合成装置（２００）に含まれないように構成されることができる。
【００４３】
一実施例によれば、後処理プロセッサ（２６０）は、デコーダ（２５０）で生成されたメルスペクトログラムで表現された出力音声データを、時間ドメインの波形に変換するように構成されることができる。また、後処理プロセッサ（２６０）は、出力音声データの信号の大きさが予め決定された基準の大きさに達していない場合、出力音声データの大きさを増幅させることができる。後処理プロセッサ（２６０）は、変換された出力音声データをスピーカーまたは通信部（２７０）のうち少なくとも１つに出力することができる。
【００４４】
通信部（２７０）は、テキスト音声合成装置（２００）が外部装置と、信号またはデータを送受信するように構成されることができる。外部装置は、図１のテキスト音声合成端末（１００）を含むことができる。これと異なり、外部装置は、他のテキスト音声合成装置を含むことができる。また、外部装置は、音声データベースを含む任意の装置であることができる。
【００４５】
一実施例によれば、通信部（２７０）は、外部装置からテキストを受信するように構成されることができる。ここで、テキストは、単一の人工ニューラルネットワークのテキスト音声合成モデルの学習のために使用される学習テキストを含むことができる。これと異なり、テキストは、ユーザー端末から受信された入力テキストを含むことができる。これらのテキストは、エンコーダ（２４０）またはデコーダ（２５０）のうち少なくとも１つに提供されることができる。
【００４６】
一実施例において、通信部（２７０）は、外部装置から話者の発声特徴を受信することができる。通信部（２７０）は、外部装置から話者の音声信号またはサンプルを受信し、発声特徴抽出部（２１０）に送信することができる。
【００４７】
通信部（２７０）は、ユーザー端末から入力された情報を受信することができる。例えば、通信部（２７０）は、話者の発声特徴を調節するための入力情報を受信し、受信された入力情報を発声特徴調節部（２２０）に提供することができる。
【００４８】
通信部（２７０）は、任意の信号またはデータを外部装置に送信することができる。例えば、通信部（２７０）は、生成された出力音声に関連する情報、つまり、出力音声データを外部装置に送信することができる。また、生成された単一の人工ニューラルネットワークのテキスト音声合成モデルは、通信部（２７０）を介してテキスト音声合成端末（１００）または他のテキスト音声合成装置に送信されることができる。
【００４９】
一実施例によれば、テキスト音声合成装置（２００）は、入出力部（Ｉ／Ｏ装置；図示せず）をさらに含むことができる。入出力部は、ユーザーから入力を直接受信することができる。また、入出力部は、ユーザーに音声、映像またはテキストのうち少なくとも１つを出力することができる。
【００５０】
図３は、本開示の一実施例に係るテキスト音声合成方法を示すフローチャートである。
【００５１】
まず、ステップ３１０において、テキスト音声合成装置（２００）は、複数の学習テキストおよび複数の学習テキストに対応する音声データに基づいて機械学習を遂行して生成された単一の人工ニューラルネットワークのテキスト音声合成（ｔｅｘｔ−ｔｏ−ｓｐｅｅｃｈ  ｓｙｎｔｈｅｓｉｓ）モデルを生成するステップを遂行することができる。テキスト音声合成装置（２００）は、ステップ３２０において、入力テキストを受信するステップを遂行することができる。ステップ３３０において、テキスト音声合成装置（２００）は、話者の発声特徴を受信するステップを遂行することができる。テキスト音声合成装置（２００）は、話者の発声特徴を予め学習されたテキスト音声合成モデルに入力して、話者の発声特徴が反映された入力テキストに対する出力音声データを生成するステップをステップ３４０において遂行することができる。
【００５２】
以下では、図４と一緒にテキスト音声合成方法をより詳細に説明する。
【００５３】
図４は、本開示の一実施例に係るテキスト音声合成装置（４００）を示す図である。図４のテキスト音声合成装置（４００）は、図２のテキスト音声合成装置（２００）の構成と同一または類似の構成を含むことができる。テキスト音声合成装置（４００）は、発声特徴抽出部（４１０）、音声データベース（４３０）、通信部（４７０）、エンコーダ（４４０）およびデコーダ（４５０）を含むことができる。図４の発声特徴抽出部（４１０）は、図２の発声特徴抽出部（２１０）の構成と同一または類似の構成を含むことができる。図４の音声データベース（４３０）は、図２の音声データベース（２３０）の構成と同一または類似の構成を含むことができる。図４の通信部（４７０）は、図２の通信部（２７０）の構成と同一または類似の構成を含むことができる。図４のエンコーダ（４４０）は、図２のエンコーダ（２４０）の構成と同一または類似の構成を含むことができる。図４のデコーダ（４５０）は、図２のデコーダ（２５０）の構成と同一または類似の構成を含むことができる。図２のテキスト音声合成装置（２００）の説明と図４のテキスト音声合成装置（４００）の説明の中で重複する内容は省略する。
【００５４】
一実施例によれば、テキスト音声合成装置（４００）は、話者の音声サンプルまたは信号を受信することができる。例えば、音声サンプルは、通信部（４７０）を介してユーザー端末から受信されることができる。さらに他の例として、このような話者の音声サンプルまたは信号は、音声データベースを含むテキスト音声合成端末から受信されることができる。このような話者の音声サンプルまたは信号は、発声特徴抽出部（４１０）に提供されることができる。話者の音声サンプルまたは信号は、予め決定された時間区間内に話者から入力された音声データを含むことができる。例えば、予め決定された時間区間は、話者が自分の音声を入力できる比較的短い時間（例：数秒、数十秒または数十分以内）を表すことができる。
【００５５】
一実施例によれば、テキスト音声合成装置（４００）は、音声合成の対象である入力テキストを受信するように構成されることができる。例えば、入力テキストは、ユーザー端末から通信部（４７０）を介して受信されることができる。これと異なり、テキスト音声合成装置（４００）は、入出力装置（図示せず）が含まれているため、これらの入力テキストの入力を受けることができる。受信された入力テキストは、発声特徴抽出部（４１０）に提供されることができる。
【００５６】
一実施例によれば、音声データベース（４３０）は、１つ以上の話者の音声サンプルまたは信号を格納するように構成されることができる。このような話者の音声サンプルまたは信号は、発声特徴抽出部（４１０）に提供されることができる。
【００５７】
発声特徴抽出部（４１０）は、音声サンプルまたは信号から話者の発声特徴を表す埋め込みベクトルを抽出するステップを遂行することができる。発声特徴抽出部（４１０）は、韻律的特徴抽出部（４１２）、感情的特徴抽出部（４１４）、音色および音高抽出部（４１６）を含むことができる。図４における発声特徴抽出部（４１０）は、韻律的特徴抽出部（４１２）、感情的特徴抽出部（４１４）、音色および音高抽出部（４１６）を含むように図示されているが、韻律的特徴抽出部（４１２）、感情的特徴抽出部（４１４）、音色および音高抽出部（４１６）のうち少なくとも１つを含むように構成されることができる。
【００５８】
韻律的特徴抽出部（４１２）は、話者の韻律的特徴を表す第１のサブ埋め込みベクトルを抽出するように構成されることができる。ここで、韻律的特徴は、発話速度に関する情報、発音アクセントに関する情報、休止区間に関する情報および音高に関する情報のうち少なくとも１つを含むことができる。抽出された話者の韻律的特徴を表す第１のサブ埋め込みベクトルは、エンコーダ（４４０）またはデコーダ（４５０）のうち少なくとも１つに提供されることができる。一実施例によれば、エンコーダ（４４０）およびデコーダ（４５０）は、韻律的特徴を表す第１のサブ埋め込みベクトルを単一の人工ニューラルネットワークのテキスト音声合成モデルに入力して、話者の韻律的特徴が反映された入力テキストに対する出力音声データを生成することができる。
【００５９】
感情的特徴抽出部（４１４）は、話者の感情的特徴を表す第２のサブ埋め込みベクトルを抽出するように構成されることができる。ここで、感情的特徴は、話者の発話内容に内在された感情に関する情報を含むことができる。例えば、感情的特徴は、予め決定された感情に限定されず、話者の音声に内在されている１つ以上の感情のそれぞれに対する程度および／または内在された感情の組み合わせなどの情報を含むことができる。抽出された話者の感情的特徴を表す第２のサブ埋め込みベクトルは、エンコーダ（４４０）またはデコーダ（４５０）のうち少なくとも１つに提供されることができる。一実施例によれば、エンコーダ（４４０）およびデコーダ（４５０）は、感情的特徴を表す第２のサブ埋め込みベクトルを単一の人工ニューラルネットワークのテキスト音声合成モデルに入力して、話者の感情的特徴が反映された入力テキストに対する出力音声データを生成することができる。
【００６０】
音色および音高抽出部（４１６）は、話者の音色および音高に対する特徴を表す第３のサブ埋め込みベクトルを抽出するように構成されることができる。抽出された話者の音色および音高に対する特徴を表す第３のサブ埋め込みベクトルは、エンコーダ（４４０）またはデコーダ（４５０）のうち少なくとも１つに提供されることができる。一実施例によれば、エンコーダ（４４０）およびデコーダ（４５０）は、話者の音色および音高に対する特徴を表す第３のサブ埋め込みベクトルを単一の人工ニューラルネットワークのテキスト音声合成モデルに入力して、話者の音色および音高に対する特徴が反映された入力テキストに対する出力音声データを生成することができる。
【００６１】
一実施例によれば、エンコーダ（４４０）は、抽出された話者の発声特徴を表す埋め込みベクトルを受信することができる。エンコーダ（４４０）は、予め機械学習された１つ以上の話者の発声特徴を表す埋め込みベクトルおよび受信された話者の発声特徴を表す埋め込みベクトルに基づいて、単一の人工ニューラルネットワークのテキスト音声合成モデルを生成または更新することによって、より類似な話者の音声を合成することができる。
【００６２】
図４においては、１つの話者の音声サンプルまたは信号から感情的特徴、韻律的特徴または音声および音高のうち少なくとも１つを抽出して、音声を合成するものとして図示されているが、これに限定されるものではない。他の実施例において、感情的特徴、韻律的特徴または音声および音高のうち少なくとも１つが他の話者の音声サンプルまたは信号から抽出されることもできる。例えば、発声特徴抽出部（４１０）は、第１の話者の音声サンプルまたは信号を受信し、受信された第１の話者の音声サンプルまたは信号から感情的特徴および韻律的特徴を抽出する一方、第２の話者の音声サンプルまたは信号（例：有名人の音声）を受信し、受信された第２の話者の音声サンプルまたは信号から音色および音高の特徴を抽出することができる。このように抽出された２つの話者の発声特徴は、音声合成時にエンコーダ（４４０）またはデコーダ（４５０）のうち少なくとも１つに提供されることができる。これにより、合成される音声には、第１の話者の音声サンプルまたは信号内に含まれた音声を発話した第１の話者の感情と韻律が反映されるが、第２の話者（例示：有名人）の音声サンプルまたは信号内に含まれた音声を発話した第２の話者の音色および音高が反映されることができる。
【００６３】
図５は、人工ニューラルネットワークベースのテキスト音声合成装置の構成を示す図である。
【００６４】
一実施例によれば、エンコーダ（５１０）は、テキストを発音情報として生成するように構成されることができる。また、生成された発音情報は、アテンションモジュールを含むデコーダ（５２０）に提供され、デコーダ（５２０）は、このような発音情報を音声として生成するように構成されることができる。
【００６５】
エンコーダ（５１０）は、入力テキストを文字埋め込み（ｃｈａｒａｃｔｅｒ  ｅｍｂｅｄｄｉｎｇ）に変換して生成することができる。エンコーダ（５１０）において、生成された文字埋め込みは、全結合層（ｆｕｌｌｙ−ｃｏｎｎｅｃｔｅｄ  ｌａｙｅｒ）を含むプレネット（ｐｒｅ−ｎｅｔ）に通過させることができる。また、エンコーダ（５１０）は、プレネット（ｐｒｅ−ｎｅｔ）からの出力をＣＢＨＧモジュールに提供し、図５に図示されたように、エンコーダの隠れ状態（Ｅｎｃｏｒｄｅｒ  ｈｉｄｄｅｎ  ｓｔａｔｅｓ）ｅｉを出力することができる。例えば、ＣＢＨＧモジュールは、１次元畳み込みバンク（１Ｄ  ｃｏｎｖｏｌｕｔｉｏｎ  ｂａｎｋ）、最大プーリング（ｍａｘ  ｐｏｏｌｉｎｇ）、ハイウェイネットワーク（ｈｉｇｈｗａｙ  ｎｅｔｗｏｒｋ）、双方向ＧＲＵ（ｂｉｄｉｒｅｃｔｉｏｎａｌ  ｇａｔｅｄ  ｒｅｃｕｒｒｅｎｔ  ｕｎｉｔ）を含むことができる。
【００６６】
デコーダ（５２０）は、全結合層から構成されたプレネットとＧＲＵ（ｇａｔｅｄ  ｒｅｃｕｒｒｎｔ  ｕｎｉｔ）を含むアテンション（ａｔｔｅｎｔｉｏｎ）ＲＮＮ（ｒｅｃｕｒｒｅｎｔ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）、レジデュアルＧＲＵ（ｒｅｓｉｄｕａｌ  ＧＲＵ）を含むデコーダＲＮＮ（ｄｅｃｏｄｅｒ  ＲＮＮ）を含むことができる。例えば、デコーダ（５２０）からの出力は、メルスケールスペクトログラム（ｍｅｌ−ｓｃａｌｅ  ｓｐｅｃｔｒｏｇｒａｍ）で表現されることができる。
【００６７】
デコーダ（５２０）のアテンションＲＮＮおよびデコーダＲＮＮは、音声の話者に該当する情報を受信することができる。例えば、デコーダ（５２０）は、ワンホット話者ＩＤベクトル（５２１）を受信することができる。デコーダ（５２０）は、ワンホット話者ＩＤベクトル（５２１）に基づいて、話者埋め込みベクトル（５２２）を生成することができる。デコーダ（５２０）のアテンションＲＮＮおよびデコーダＲＮＮは、話者埋め込みベクトル（５２２）を受信して、与えられた話者別に異なる出力音声データを生成することができるように、単一の人工ニューラルネットワークのテキスト音声合成モデルを更新することができる。 
【００６８】
また、デコーダ（５２０）は、エンコーダ（５１０）と同様に、単一の人工ニューラルネットワークのテキスト音声合成モデルを生成または更新するために、入力テキスト、話者に関連する情報および入力テキストに対応する音声信号のペアで存在するデータベースを利用することができる。デコーダ（５２０）は、入力テキスト、話者に関連する情報をそれぞれ人工ニューラルネットワークの入力とし、該当の入力テキストに対応する音声信号を正解として学習することができる。デコーダ（５２０）は、入力テキストと話者に関連する情報を更新された単一の人工ニューラルネットワークのテキスト音声合成モデルに適用して、その話者の音声を出力することができる。
【００６９】
また、デコーダ（５２０）の出力は、後処理プロセッサ（５３０）に提供されることができる。後処理プロセッサ（５３０）のＣＢＨＧは、デコーダ（５２０）のメルスケールスペクトログラムをリニアスケールスペクトログラム（ｌｉｎｅａｒ−ｓｃａｌｅ  ｓｐｅｃｔｒｏｇｒａｍ）に変換するように構成されることができる。例えば、後処理プロセッサ（５３０）のＣＢＨＧの出力信号は、マグニチュードスペクトログラム（ｍａｇｎｉｔｕｄｅ  ｓｐｅｃｔｒｏｇｒａｍ）を含むことができる。後処理プロセッサ（５３０）のＣＢＨＧの出力信号の位相（ｐｈａｓｅ）は、グリフィンリム（Ｇｒｉｆｆｉｎ−Ｌｉｍ）アルゴリズムを通じて復元され、逆短時間フーリエ変換（ｉｎｖｅｒｓｅ  ｓｈｏｒｔ−ｔｉｍｅ  ｆｏｕｒｉｅｒ  ｔｒａｎｓｆｏｒｍ）されることができる。後処理プロセッサ（５３０）は、時間ドメイン（ｔｉｍｅ  ｄｏｍａｉｎ）の音声信号に出力することができる。
【００７０】
このような人工ニューラルネットワークベースのテキスト音声合成装置は、テキストと音声信号のペアで存在する大容量のデータベースを利用して学習されることができる。入力としてテキストを入れて出た出力を、該当する正解音声信号と比較して損失関数（ｌｏｓｓ  ｆｕｎｃｔｉｏｎ）を定義することができる。テキスト音声合成装置は、損失関数を誤差逆伝播（ｅｒｒｏｒ  ｂａｃｋ  ｐｒｏｐａｇａｔｉｏｎ）アルゴリズムを通じて学習し、最終的にランダムのテキストを入力したときに所望の音声出力が出る単一の人工ニューラルネットワークのテキスト音声合成モデルを得ることができる。
【００７１】
図６は、本開示の一実施例に係る人工ニューラルネットワークベースのテキスト音声合成装置の構成を示す図である。
【００７２】
図６において、図５で説明した内容と重複する内容は省略される。図６のデコーダ（６２０）は、エンコーダ（６１０）からエンコーダの隠れ状態ｅｉを受信することができる。また、図６のデコーダ（６２０）は、図５のデコーダ（５２０）と異なり、話者の音声データ（６２１）を受信することができる。ここで、音声データ（６２１）は、予め決定された時間区間（短い時間区間、例えば、数秒、数十秒または数十分）内に話者から入力された音声を表すデータを含むことができる。例えば、話者の音声データ（６２１）は、音声スペクトログラムデータ（例えば、ログメルスペクトログラム）を含むことができる。デコーダ（６２０）は、話者の音声データに基づいて、話者の発声特徴を表す話者の発声特徴埋め込みベクトル（６２２）を取得することができる。デコーダ（６２０）は、話者の発声特徴埋め込みベクトル（６２２）をアテンションＲＮＮおよびデコーダＲＮＮに提供することができる。
【００７３】
図５に図示されたテキスト音声合成システムは、話者の発声特徴を表す情報として話者（ｓｐｅａｋｅｒ）ＩＤを使用し、これらの話者ＩＤは、ワンホットベクトル（ｓｉｎｇｌｅ−ｈｏｔ  ｖｅｃｔｏｒ）として表現されることができる。ただし、このようなワンホット話者ＩＤベクトルは、学習データにない新たな話者に対するＩＤに容易に拡張することができない。このようなテキスト音声合成システムは、ワンホットベクトルで表現された話者に対してのみ埋め込みを学習したため、新たな話者の埋め込みを得る方法がない。新たな話者の音声を生成するためには、全体ＴＴＳモデルを再学習したり、ＴＴＳモデルの埋め込み層を微調整したりする必要がある。これらの作業は、ＧＰＵが搭載された装備を利用する場合、相当な時間が所要されるプロセスに該当する。これに反して、図６に図示されたテキスト音声合成システムは、新たな話者ベクトルを生成するためにＴＴＳモデルを追加で学習したり、話者埋め込みベクトルを手動で検索したりすることなく、新たな話者の音声を即時生成することができるＴＴＳシステムを提供する。つまり、テキスト音声合成システムは、複数の話者に適応的に変更された音声を生成することができる。
【００７４】
一実施例によれば、図６においては入力テキストに対する音声合成時に、第１の話者の音声データ（６２１）から抽出された第１の話者の発声特徴埋め込みベクトル（６２２）がデコーダＲＮＮおよびアテンションＲＮＮに入力されるように構成されているが、図５に図示された第２の話者のワンホット話者ＩＤベクトル（５２１）も一緒にデコーダＲＮＮおよびアテンションＲＮＮに入力されることができる。例えば、発声特徴埋め込みベクトル（６２２）に関連する第１の話者とワンホット話者ＩＤベクトル（５２１）に関連する第２の話者は同一であることができる。さらに他の例として、発声特徴埋め込みベクトル（６２２）に関連する第１の話者とワンホット話者ＩＤベクトル（５２１）に関連する第２の話者は異なることができる。これにより、入力テキストに対する音声合成時に、第１の話者の発声特徴埋め込みベクトル（６２２）および第２の話者のワンホット話者ＩＤベクトル（５２１）が一緒にデコーダＲＮＮおよびアテンションＲＮＮに入力されることによって、入力テキストに対応する第２の話者の音声に第１の話者の発声特徴埋め込みベクトル（６２２）に含まれた韻律的特徴、感情的特徴または音色および音高の特徴のうち少なくとも１つの特徴が反映された合成音声が生成されることができる。つまり、ワンホット話者ＩＤベクトル（５２１）と関連する第２の話者の声に、第１の話者の発声特徴、すなわち、韻律的特徴、感情的特徴または音色および音高の特徴のうち少なくとも１つの特徴が反映された合成音声が生成されることができる。
【００７５】
図７は、本開示の一実施例に係る複数の話者の各々を区別することができる埋め込みベクトル（６２２）を抽出するネットワークを示す図である。
【００７６】
一実施例によれば、図７に図示されたネットワークは、畳み込みネットワーク（ｃｏｎｖｕｌｕｔｉｏｎａｌ  ｎｅｔｗｏｒｋ）および最大オーバータイムプーリング（ｍａｘ−ｏｖｅｒ−ｔｉｍｅ  ｐｏｏｌｉｎｇ）を含み、ログメルスペクトログラム（ｌｏｇ−Ｍｅｌ−ｓｐｅｃｔｒｏｇｒａｍ）の入力を受けて、音声サンプルまたは音声信号として固定次元話者埋め込みベクトルを抽出することができる。ここで、音声サンプルまたは音声信号は、入力テキストに該当する音声データである必要はなく、ランダムに選択された音声信号が使用されることができる。
【００７７】
このようなネットワークにおいて、スペクトログラムが利用されることに制約がないため、任意のスペクトログラムがこのネットワークに挿入されることができる。また、これにより、ネットワークの即時的な適応を介して新たな話者のための発声特徴を表す埋め込みベクトル（６２２）を生成することができる。入力スペクトログラムは、多様な長さを有することができるが、例えば、時間軸に対して長さが１に固定された次元ベクトルが畳み込み層の終端に位置する最大オーバータイムプーリング（ｍａｘ−ｏｖｅｒ−ｔｉｍｅ  ｐｏｏｌｉｎｇ）層に入力されることができる。
【００７８】
図７においては、畳み込みネットワーク（ｃｏｎｖｕｌｕｔｉｏｎａｌ  ｎｅｔｗｏｒｋ）および最大オーバータイムプーリング（ｍａｘ−ｏｖｅｒ−ｔｉｍｅ  ｐｏｏｌｉｎｇ）を含むネットワークを図示しているが、話者の発声特徴を抽出するために多様な層を含むネットワークを構築することができる。例えば、話者の発声特徴のうちアクセントのように時間に応じて音声特徴パターンの変化を表す場合、ＲＮＮ（Ｒｅｃｕｒｒｅｎｔ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）を使用して特徴を抽出するようにネットワークを具現することができる。
【００７９】
図８は、本開示の一実施例に係る人工ニューラルネットワークベースのテキスト音声合成装置の構成を示す図である。図８のテキスト音声合成装置に対する説明において、図５または図６のテキスト音声合成装置と重複する説明は省略する。図８において、エンコーダ（８１０）は、入力テキストを受信することができる。例えば、入力テキストは、複数の言語で構成されることができる。一実施例によれば、入力テキストは、１つ以上の言語で使用される単語、句または文章のうち少なくとも１つを含むことができる。例えば、「アンニョンハセヨ」などのような韓国語の文章または「Ｈｏｗ  ａｒｅ  ｙｏｕ？」などのような英語の文章のようなテキストの入力を受けることができる。入力テキストが受信されると、エンコーダ（８１０）は、受信された入力テキストを字母単位、文字単位、音素（ｐｈｏｎｅｍｅ）単位に分離することができる。他の実施例によれば、エンコーダ（８１０）は、字母単位、文字単位、音素（ｐｈｏｎｅｍｅ）単位に分離された入力テキストを受信することができる。さらに他の実施例によれば、エンコーダ（８１０）は、入力テキストに対する文字埋め込みを受信することができる。
【００８０】
エンコーダ（８１０）が入力テキストまたは分離された入力テキストを受信した場合、エンコーダ（８１０）は、少なくとも１つの埋め込み層を生成するように構成されることができる。一実施例によれば、エンコーダ（８１０）の少なくとも１つの埋め込み層は、字母単位、文字単位、音素（ｐｈｏｎｅｍｅ）単位に分離された入力テキストに基づいて文字埋め込みを生成することができる。例えば、エンコーダ（８１０）は、分離された入力テキストに基づいて文字埋め込みを取得するために、すでに学習された機械学習モデル（例えば、確率モデルまたはニューラルネットワークなど）を使用することができる。さらに、エンコーダ（８１０）は、機械学習を遂行しながら機械学習モデルを更新することができる。機械学習モデルが更新される場合、分離された入力テキストに対する文字埋め込みも変更されることができる。
【００８１】
エンコーダ（８１０）は、文字埋め込みを全結合層（ｆｕｌｌｙ−ｃｏｎｎｅｃｔｅｄ  ｌａｙｅｒ）で構成されたＤＮＮ（Ｄｅｅｐ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）モジュールに通過させることができる。ＤＮＮは、一般的なフィードフォワード層（ｆｅｅｄｆｏｒｗａｒｄ  ｌａｙｅｒ）または線形層（ｌｉｎｅａｒ  ｌａｙｅｒ）を含むことができる。
【００８２】
エンコーダ（８１０）は、ＤＮＮの出力をＣＮＮ（ｃｏｎｖｏｌｕｔｉｏｎａｌ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）またはＲＮＮ（Ｒｅｃｕｒｒｅｎｔ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）のうち少なくとも１つが含まれたモジュールに提供することができる。また、エンコーダ（８１０）は、デコーダ（８２０）で話者の音声データに基づいて生成された話者の発声特徴埋め込みベクトル（ｓ）を受信することができる。ＣＮＮは、畳み込みカーネル（ｃｏｎｖｏｌｕｔｉｏｎ  ｋｅｒｎｅｌ）サイズによる地域的特性を捕捉することができる反面、ＲＮＮは、長期依存性（ｌｏｎｇ  ｔｅｒｍ  ｄｅｐｅｎｄｅｎｃｙ）を捕捉することができる。エンコーダ（８１０）は、ＤＮＮの出力および話者の発声特徴埋め込みベクトル（ｓ）をＣＮＮまたはＲＮＮのうち少なくとも１つに入力して、エンコーダ（８１０）の隠れ状態（ｈ）を出力することができる。
【００８３】
デコーダ（８２０）は、話者の音声データを受信することができる。デコーダ（８２０）は、話者の音声データに基づいて、話者の発声特徴埋め込みベクトル（ｓ）を生成することができる。埋め込み層は、話者の音声データを受信することができる。埋め込み層は、話者の音声データに基づいて、話者の発声特徴を生成することができる。ここで、話者の発声特徴は、個人別に異なる特徴を有することができる。埋め込み層は、例えば、機械学習に基づいて話者別の発声特徴を区別することができる。例えば、埋め込み層は、話者の発声特徴を表す話者の発声特徴埋め込みベクトル（ｓ）を生成することができる。一実施例によれば、デコーダ（８２０）は、話者の発声特徴を話者の発声特徴埋め込みベクトル（ｓ）に変換するために、すでに学習された機械学習モデルを使用することができる。デコーダは、機械学習を遂行しながら機械学習モデルを更新することができる。機械学習モデルが更新される場合、話者の発声特徴を表す話者の発声特徴埋め込みベクトル（ｓ）も変更されることができる。例えば、前述した図７の音声抽出ネットワークを利用して、受信された話者の音声データから話者の発声特徴を抽出することができる。
【００８４】
話者の発声特徴埋め込みベクトル（ｓ）は、エンコーダ（８１０）のＣＮＮまたはＲＮＮのうち少なくとも１つに出力されることができる。また、話者の発声特徴埋め込みベクトル（ｓ）は、デコーダのデコーダＲＮＮおよびアテンションＲＮＮに出力されることができる。
【００８５】
デコーダ（８２０）のアテンション（ａｔｔｅｎｔｉｏｎ）は、エンコーダ（８１０）からエンコーダの隠れ状態（ｈ）を受信することができる。隠れ状態（ｈ）は、エンコーダ（８１０）の機械学習モデルからの結果値を示すことができる。例えば、隠れ状態（ｈ）は、本開示の一実施例による単一の人工ニューラルネットワークのテキスト音声合成モデルの一部構成要素を含むことができる。また、デコーダ（８２０）のアテンションは、アテンションＲＮＮから情報を受信することができる。アテンションＲＮＮから受信した情報は、デコーダ（８２０）が以前の時間−ステップ（ｔｉｍｅ−ｓｔｅｐ）までどの音声を生成したのかに関する情報を含むことができる。また、デコーダ（８２０）のアテンションは、アテンションＲＮＮから受信した情報およびエンコーダの情報に基づいて、コンテキストベクトルを出力することができる。エンコーダ（８１０）の情報は、音声を生成すべき入力テキストに関する情報を含むことができる。コンテキストベクトルは、現在の時間−ステップ（ｔｉｍｅ−ｓｔｅｐ）で入力テキストのうちどの部分から音声を生成するかを決定するための情報を含むことができる。例えば、デコーダ（８２０）のアテンションは、音声生成の初期には、入力テキストの前部分に基づいて音声を生成し、音声が生成されるにつれて、徐々に入力テキストの後部分に基づいて音声を生成するようにする情報を出力することができる。
【００８６】
デコーダ（８２０）は、話者の発声特徴埋め込みベクトル（ｓ）をアテンション（ａｔｔｅｎｔｉｏｎ）ＲＮＮおよびデコーダ（ｄｅｃｏｄｅｒ）ＲＮＮに入力して、話者別に異ならせてデコードをするように人工ニューラルネットワークの構造を構成することができる。一実施例によれば、テキスト音声合成システムは、人工ニューラルネットワークを学習させるために、テキスト、話者の発声特徴埋め込みベクトル（ｓ）、音声信号のペアで存在するデータベースを利用することができる。他の実施例においては、図５で説明したように、話者の発声特徴を表す話者の発声特徴埋め込みベクトル（ｓ）の代わりにワンホットベクトルを使用して、データベースが構築されることができる。また、話者の発声特徴埋め込みベクトル（ｓ）とワンホットベクトルが一緒に使用されてデータベースが構築されることができる。
【００８７】
ダミーフレームは、以前の時間−ステップ（ｔｉｍｅ−ｓｔｅｐ）が存在しない場合、デコーダに入力されるフレームである。ＲＮＮは、自動回帰（ａｕｔｏｒｅｇｒｅｓｓｉｖｅ）で機械学習をすることができる。つまり、直前の時間−ステップ（８２２）で出力されたｒフレームは、現在の時間−ステップ（８２３）の入力となることができる。最初の時間−ステップ（８２１）では直前の時間−ステップが存在しないため、デコーダ（８２０）は、最初の時間−ステップの機械学習ネットワークにダミーフレームを入力することができる。
【００８８】
一実施例によれば、デコーダ（８２０）は、全結合層（ｆｕｌｌｙ−ｃｏｎｎｅｃｔｅｄ  ｌａｙｅｒ）で構成されたＤＮＮを含むことができる。ＤＮＮは、一般的なフィードフォワード層（ｆｅｅｄｆｏｒｗａｒｄ  ｌａｙｅｒ）または線形層（ｌｉｎｅａｒ  ｌａｙｅｒ）のうち少なくとも１つを含むことができる。
【００８９】
一実施例において、デコーダ（８２０）は、ＧＲＵで構成されたアテンション（ａｔｔｅｎｔｉｏｎ）ＲＮＮを含むことができる。アテンションＲＮＮは、アテンションで使用される情報を出力する層である。アテンションに関しては既に上述したため詳細な説明は省略する。
【００９０】
デコーダ（８２０）は、レジデュアル（ｒｅｓｉｄｕａｌ）ＧＲＵで構成されたデコーダ（ｄｅｃｏｄｅｒ）ＲＮＮを含むことができる。デコーダＲＮＮは、アテンションから入力テキストの位置情報を受信することができる。つまり、位置情報は、デコーダ（８２０）が入力テキストのどの位置を音声に変換しているかに関する情報を含むことができる。デコーダＲＮＮは、アテンションＲＮＮから情報を受信することができる。アテンションＲＮＮから受信した情報は、デコーダ（８２０）が以前の時間−ステップ（ｔｉｍｅ−ｓｔｅｐ）までどの音声を生成したのかに関する情報を含むことができる。デコーダＲＮＮは、今まで生成した音声に後続する次の出力音声を生成することができる。例えば、出力音声は、メルスペクトログラムの形態を有することができ、出力音声は、ｒ個のフレームを含むことができる。
【００９１】
テキスト音声合成のために、ＤＮＮ、アテンションＲＮＮおよびデコーダＲＮＮの動作は、繰り返して遂行されることができる。例えば、最初の時間−ステップ（８２１）で取得されたｒ個のフレームは、次の時間−ステップ（８２２）の入力となることができる。また、時間−ステップ（８２２）で出力されたｒ個のフレームは、次の時間−ステップ（８２３）の入力となることができる。
【００９２】
上述したような過程を通じて、テキストのすべての単位に対する音声が生成されることができる。一実施例によれば、テキスト音声合成システムは、それぞれの時間−ステップ別に出たメルスペクトログラムを時間順に連結（ｃｏｎｃａｔｅｎａｔｅ）して、全体テキストに対するメルスペクトログラムの音声を取得することができる。全体テキストに対するメルスペクトログラムの音声は、ボコーダ（８３０）に出力されることができる。
【００９３】
本開示の一実施例によるボコーダー（８３０）のＣＮＮまたはＲＮＮは、エンコーダ（８１０）のＣＮＮまたはＲＮＮと類似な動作をすることができる。つまり、ボコーダー（８３０）のＣＮＮまたはＲＮＮは、地域的特性と長期依存性を捕捉することができる。これにより、ボコーダー（８３０）のＣＮＮまたはＲＮＮは、リニアスケールスペクトログラム（ｌｉｎｅａｒ−ｓｃａｌｅ  ｓｐｅｃｔｒｏｇｒａｍ）を出力することができる。例えば、リニアスケールスペクトログラムは、マグニチュードスペクトログラム（ｍａｇｎｉｔｕｄｅ  ｓｐｅｃｔｒｏｇｒａｍ）を含むことができる。ボコーダー（８３０）は、図８に図示されたように、スペクトログラムの位相（ｐｈａｓｅ）をグリフィンリム（Ｇｒｉｆｆｉｎ−Ｌｉｍ）アルゴリズムを通じて予測することができる。ボコーダー（８３０）は、逆短時間フーリエ変換（Ｉｎｖｅｒｓｅ  Ｓｈｏｒｔ−Ｔｉｍｅ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ）を利用して、時間ドメイン（ｔｉｍｅ  ｄｏｍａｉｎ）の音声信号を出力することができる。
【００９４】
本開示の他の実施例によるボコーダーは、機械学習モデルに基づいて、メルスペクトログラムから音声信号を生成することができる。機械学習モデルは、メルスペクトログラムと音声信号との間の相関関係を機械学習したモデルを含むことができる。例えば、ＷａｖｅＮｅｔまたはＷａｖｅＧｌｏｗなどのような人工ニューラルネットワークモデルが使用されることができる。
【００９５】
このような人工ニューラルネットワークベースの音声合成装置は、１つ以上の言語で構成されたテキストと音声信号のペアで存在する大容量のデータベースを利用して学習することができる。一実施例によれば、音声合成装置は、テキストを受信し、出力された音声信号を正解音声信号と比較して損失関数（ｌｏｓｓ  ｆｕｎｃｔｉｏｎ）を定義することができる。音声合成装置は、損失関数を誤差逆伝播（ｅｒｒｏｒ  ｂａｃｋ  ｐｒｏｐａｇａｔｉｏｎ）アルゴリズムを通じて学習し、最終的にランダムのテキストを入力したときに所望の音声出力が出る人工ニューラルネットワークを得ることができる。
【００９６】
このような人工ニューラルネットワークベースの音声合成装置においては、テキスト、話者の発声特徴などが人工ニューラルネットワークに入力されて音声信号が出力されることができる。テキスト音声合成装置は、出力された音声信号と正解音声信号を比較して学習することによって、テキストや話者の発声特徴を受信するときにその話者の音声でテキストを読んだ出力音声データを生成することができる。
【００９７】
図９は、本開示の一実施例に係る発声特徴調節部（９００）の動作を示すフローチャートである。
【００９８】
図９の発声特徴調節部（９００）は、図２の発声特徴調節部（２２０）の同一または類似の構成を含むことができる。図２と重複する説明は省略する。
【００９９】
発声特徴調節部（９００）は、話者の情報を表す埋め込みベクトルを受信することができる。一実施例によれば、これらの埋め込みベクトルは、話者の発声特徴に対する埋め込みベクトルを含むことができる。例えば、話者の情報に対する埋め込みベクトルは、話者の発声特徴のうち互いに直交する複数のサブ埋め込みベクトルの加重和として表示されることができる。
【０１００】
発声特徴調節部（９００）は、受信された話者の情報に対する埋め込みベクトルの内在要素を分離することができる。例えば、発声特徴調節部（９００）は、話者の情報に対する埋め込みベクトルに基づいて、互いに直交する複数の単位埋め込みベクトルを取得することができる。一実施例によれば、埋め込みベクトルに内在された要素を分離する方法としては、独立成分分析（ＩＣＡ：ｉｎｄｅｐｅｎｄｅｎｔ  ｃｏｍｐｏｎｅｎｔ  ａｎａｌｙｓｉｓ）、独立ベクトル分析（ＩＶＡ：ｉｎｄｅｐｅｎｄｅｎｔ  ｖｅｃｔｏｒ  ａｎａｌｙｓｉｓ）、スパースコーディング（ｓｐａｒｓｅ  ｃｏｄｉｎｇ）、独立因子分析（ＩＦＡ：ｉｎｄｅｐｅｎｄｅｎｔ  ｆａｃｔｏｒ  ａｎａｌｙｓｉｓ）、独立部分空間分析（ＩＳＡ：ｉｎｄｅｐｅｎｄｅｎｔ  ｓｕｂｓｐａｃｅ  ａｎａｌｙｓｉｓ）、非負値行列因子分解（ＮＭＦ：ｎｏｎｎｅｇａｔｉｖｅ  ｍａｔｒｉｘ  ｆａｃｔｏｒｉｚａｔｉｏｎ）などの多様な方法があり得る。そして、埋め込みベクトルに内在された要素が分離され得るように、テキスト音声合成装置は、話者の情報に対する埋め込みベクトルを学習するときにテキスト音声合成装置の学習式に正規化（ｒｅｇｕｌａｒｉｚａｔｉｏｎ）を遂行することができる。テキスト音声合成装置が学習式に正規化を遂行して機械学習をする場合、埋め込みベクトルは、スパースベクトル（ｓｐａｒｓｅ  ｖｅｃｔｏｒ）に学習されることができる。これにより、テキスト音声合成装置は、スパースベクトルに学習された埋め込みベクトルで、主成分分析（ＰＣＡ：ｐｒｉｎｃｉｐｌｅ  ｃｏｍｐｏｎｅｎｔ  ａｎａｌｙｓｉｓ）を利用して、内在された要素を正確に分離することができる。
【０１０１】
一実施例によれば、発声特徴調節部（９００）は、出力音声データに対する追加の入力を受信するように構成されることができる。発声特徴調節部（９００）は、追加の入力に基づいて、話者の発声特徴を表す埋め込みベクトルを修正することができる。例えば、発声特徴調節部（９００）は、追加の入力に基づいて、複数の単位埋め込みベクトルに対する加重値を変更することができる。
【０１０２】
一実施例において、発声特徴調節部（９００）は、受信された追加の入力に基づいて話者の発声特徴を表す埋め込みベクトルを修正するように構成されることができる。例えば、発声特徴調節部（９００）は、追加の入力に応じて変更された加重値を、複数の単位埋め込みベクトルに乗じて加えることにより、話者の情報に対する埋め込みベクトルを再合成することができる。発声特徴調節部（９００）は、変更された話者の情報に対する埋め込みベクトルを出力することができる。テキスト音声合成装置は、修正された埋め込みベクトルを単一の人工ニューラルネットワークのテキスト音声合成モデルに入力して、出力音声データを、追加の入力に含まれた情報が反映された入力テキストに対する音声データに変換することができる。
【０１０３】
図１０は、本開示の一実施例に基づいて出力音声の特性を変更するユーザーインターフェースの例を示す図である。
【０１０４】
テキスト音声合成装置は、ユーザーからテキストウィンドウに入力されたテキストを受信することができる。図１０に図示された再生ボタンが選択される場合（例えば、タッチされたり、押されたりする場合）、テキスト音声合成装置は、入力されたテキストに対応する出力音声データを生成して、ユーザーインターフェースを含むユーザー端末に提供することができる。
【０１０５】
テキスト音声合成装置は、ユーザーからの追加の入力を受信することができる。出力音声データに対する追加の入力は、性別に関する情報、年齢に関する情報、地域別イントネーションに関する情報、発声の速度に関する情報または音高および発声の大きさに関する情報のうち少なくとも１つを含むことができる。
【０１０６】
一実施例によれば、テキスト音声合成装置は、現在の選択または指定された話者の発声特徴を、通信部を介してユーザー端末に送信することができ、現在の音声特徴が、図１０に図示されたように、ユーザー端末のディスプレイ部に所定の形状（例えば、線、多角形、円形など）で表示されることができる。ユーザーは、入力部を利用して、性別に関する情報、年齢に関する情報、地域別イントネーションに関する情報、発声の速度に関する情報、音高および発声の大きさに関する情報のうち少なくとも１つを変更することができ、ユーザーの入力に基づいて変更された出力音声が出力されることができる。例えば、ユーザーは、図１０に図示されたように、女性に近い性別、６０代より１０代に近い年齢、忠清地方のイントネーションを選択することができる。選択された入力に基づいて、現在の音声特徴が変更され、ユーザー端末に変更された音声特徴が反映されたり、合成された音声が出力されたりすることができる。
【０１０７】
以上のように、複数の実施例に基づいて話者の情報に対する埋め込みベクトル中に内在された要素の１つ以上を変更して、声の特性を変更する構成を説明したが、本発明はこれに限定されるものではなく、他の適切な方法によって構成することもできる。一実施例によれば、埋め込みベクトルの内在された要素をＳＳＭＬ（ｓｐｅｅｃｈ  ｓｙｎｔｈｅｓｉｓ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ）の属性（ａｔｔｒｉｂｕｔｅ）に表現して変更することもできる。例えば、＜ｇｅｎｄｅｒ  ｖａｌｕｅ  ＝  「６」＞＜ｒｅｇｉｏｎ  ｖａｌｕｅ  ＝  「３、４、５」＞のようにＳＳＭＬの属性に表現することができる。
【０１０８】
図１１は、本開示の一実施例に係るテキスト音声合成システム（１１００）のブロック図である。
【０１０９】
図１１を参照すると、一実施例によるテキスト音声合成システム（１１００）は、データ学習部（１１１０）およびデータ認識部（１１２０）を含むことができる。データ学習部（１１１０）は、データを入力して機械学習モデルを取得することができる。また、データ認識部（３０２）は、データを機械学習モデルに適用して、出力音声を生成することができる。上述したようなテキスト音声合成システム（１１００）は、プロセッサおよびメモリを含むことができる。
【０１１０】
データ学習部（１１１０）は、テキストに対する音声学習をすることができる。データ学習部（１１１０）は、テキストに応じてどの音声を出力するかに関する基準を学習することができる。また、データ学習部（１１１０）は、どの音声の特徴を利用して音声を出力するかに関する基準を学習することができる。音声の特徴は、音素の発音、ユーザーの語調、イントネーションまたはアクセントのうち少なくとも１つを含むことができる。データ学習部（１１１０）は、学習に利用されるデータを取得し、取得されたデータを後述するデータ学習モデルに適用することによって、テキストに応じた音声を学習することができる。
【０１１１】
データ認識部（１１２０）は、テキストに基づいてテキストに対する音声を出力することができる。データ認識部（１１２０）は、学習されたデータ学習モデルを利用して、所定のテキストから音声を出力することができる。データ認識部（１１２０）は、学習による予め設定された基準に基づいて、所定のテキスト（データ）を取得することができる。また、データ認識部（１１２０）は、取得されたデータを入力値としてデータ学習モデルを利用することによって、所定のデータに基づいた音声を出力することができる。また、取得されたデータを入力値としてデータ学習モデルによって出力された結果値は、データ学習モデルを更新するのに利用されることができる。
【０１１２】
データ学習部（１１１０）またはデータ認識部（１１２０）のうち少なくとも１つは、少なくとも１つのハードウェアチップ形態に製作されて、電子機器に搭載されることができる。例えば、データ学習部（１１１０）またはデータ認識部（１１２０）のうち少なくとも１つは、人工知能（ＡＩ；ａｒｔｉｆｉｃｉａｌ  ｉｎｔｅｌｌｉｇｅｎｃｅ）のための専用ハードウェアチップの形態に製作されることもでき、または既存の汎用プロセッサ（例：ＣＰＵまたはａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｃｅｓｓｏｒ）またはグラフィック専用プロセッサ（例：ＧＰＵ）の一部として製作され、すでに説明した各種の電子機器に搭載されることもできる。
【０１１３】
また、データ学習部（１１１０）およびデータ認識部（１１２０）は、別々の電子機器にそれぞれ搭載されることもできる。例えば、データ学習部（１１１０）およびデータ認識部（１１２０）のうち１つは電子機器に含まれ、残りの１つはサーバーに含まれることができる。また、データ学習部（１１１０）およびデータ認識部（１１２０）は、有線または無線を通じて、データ学習部（１１１０）が構築したモデルの情報をデータ認識部（１１２０）に提供することもでき、データ認識部（１１２０）に入力されたデータが追加の学習データとしてデータ学習部（１１１０）に提供されることもできる。
【０１１４】
一方、データ学習部（１１１０）またはデータ認識部（１１２０）のうち少なくとも１つは、ソフトウェアモジュールで具現されることができる。データ学習部（１１１０）およびデータ認識部（１１２０）のうち少なくとも１つが、ソフトウェアモジュール（または、命令（ｉｎｓｔｒｕｃｔｉｏｎ）を含むプログラムモジュール）で具現される場合、ソフトウェアモジュールは、メモリまたはコンピュータ読み取り可能な非一時的な読み取り可能な記録媒体（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉａ）に格納されることができる。また、この場合、少なくとも１つのソフトウェアモジュールは、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）によって提供されたり、所定のアプリケーションによって提供されたりすることができる。これと異なり、少なくとも１つのソフトウェアモジュールのうち一部はＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）によって提供され、残りの一部は所定のアプリケーションによって提供されることができる。
【０１１５】
本開示の一実施例によるデータ学習部（１１１０）は、データ取得部（１１１１）、前処理部（１１１２）、学習データ選択部（１１１３）、モデル学習部（１１１４）およびモデル評価部（１１１５）を含むことができる。
【０１１６】
データ取得部（１１１１）は、機械学習に必要なデータを取得することができる。学習のためには多くのデータが必要であるため、データ取得部（１１１１）は、複数のテキストおよびそれに対応する音声を受信することができる。
【０１１７】
前処理部（１１１２）は、ユーザーの心理状態判断のために取得されたデータが機械学習に使用され得るように、取得されたデータを前処理することができる。前処理部（１１１２）は、後述するモデル学習部（１１１４）が利用できるように、取得されたデータを予め設定されたフォーマットに加工することができる。例えば、前処理部（１１１２）は、テキストおよび音声を形態素解析して形態素埋め込みを取得することができる。
【０１１８】
学習データ選択部（１１１３）は、前処理されたデータの中から学習に必要なデータを選択することができる。選択されたデータは、モデル学習部（１１１４）に提供されることができる。学習データ選択部（１１１３）は、既設定された基準に基づいて、前処理されたデータの中から学習に必要なデータを選択することができる。また、学習データ選択部（１１１３）は、後述するモデル学習部（１１１４）による学習によって、既設定された基準に基づいてデータを選択することもできる。
【０１１９】
モデル学習部（１１１４）は、学習データに基づいて、テキストに応じてどの音声を出力するかに関する基準を学習することができる。また、モデル学習部（１１１４）は、テキストに応じて音声を出力する学習モデルを学習データとして利用して学習させることができる。この場合、データ学習モデルは、予め構築されたモデルを含むことができる。例えば、データ学習モデルは、基本学習データ（例えば、サンプルイメージなど）の入力を受けて予め構築されたモデルを含むことができる。
【０１２０】
データ学習モデルは、学習モデルの適用分野、学習の目的または装置のコンピュータ性能などを考慮して構築されることができる。データ学習モデルは、例えば、ニューラルネットワーク（Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）をベースにするモデルを含むことができる。例えば、ディープニューラルネットワーク（ＤＮＮ：Ｄｅｅｐ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）、回帰型ニューラルネットワーク（ＲＮＮ：Ｒｅｃｕｒｒｅｎｔ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）、長・短期記憶モデル（ＬＳＴＭ：Ｌｏｎｇ  Ｓｈｏｒｔ-Ｔｅｒｍ  Ｍｅｍｏｒｙ  ｍｏｄｅｌｓ）、双方向性回帰型ディープニューラルネットワーク（ＢＲＤＮＮ：Ｂｉｄｉｒｅｃｔｉｏｎａｌ  Ｒｅｃｕｒｒｅｎｔ  Ｄｅｅｐ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）、畳み込みニューラルネットワーク（ＣＮＮ：Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ）などのようなモデルがデータ学習モデルとして使用されることができるが、これに限定されない。
【０１２１】
多様な実施例によれば、モデル学習部（１１１４）は、予め構築されたデータ学習モデルが複数個存在する場合、入力された学習データと基本学習データの関連性が大きいデータ学習モデルを学習するデータ学習モデルとして決定することができる。この場合、基本学習データは、データのタイプ別に既分類されていることができ、データ学習モデルは、データのタイプ別に予め構築されていることができる。例えば、基本学習データは、学習データが生成された地域、学習データが生成された時間、学習データの大きさ、学習データのジャンル、学習データの生成者、学習データ内のオブジェクトの種類などのような多様な基準で既分類されていることができる。
【０１２２】
また、モデル学習部（１１１４）は、例えば、誤差逆伝播法（ｅｒｒｏｒ  ｂａｃｋ−ｐｒｏｐａｇａｔｉｏｎ）または最急降下法（ｇｒａｄｉｅｎｔ  ｄｅｓｃｅｎｔ）を含む学習アルゴリズムなどを利用して、データ学習モデルを学習することができる。
【０１２３】
また、モデル学習部（１１１４）は、例えば、学習データを入力値とする教師あり学習（ｓｕｐｅｒｖｉｓｅｄ  ｌｅａｒｎｉｎｇ）を通じて、データ学習モデルを学習することができる。
【０１２４】
また、モデル学習部（１１１４）は、例えば、別途のガイドなしに、状況判断のために必要なデータの種類を自分で学習することによって状況判断のための基準を発見する教師なし学習（ｕｎｓｕｐｅｒｖｉｓｅｄ  ｌｅａｒｎｉｎｇ）を通じて、データ学習モデルを学習することができる。また、モデル学習部（１１１４）は、例えば、学習による状況判断の結果が正しいかに対するフィードバックを利用する強化学習（ｒｅｉｎｆｏｒｃｅｍｅｎｔ  ｌｅａｒｎｉｎｇ）を通じて、データ学習モデルを学習することができる。
【０１２５】
また、データ学習モデルが学習されると、モデル学習部（１１１４）は、学習されたデータ学習モデルを格納することができる。この場合、モデル学習部（１１１４）は、学習されたデータ学習モデルを、データ認識部（１１２０）を含む電子機器のメモリに格納することができる。また、モデル学習部（１１１４）は、学習されたデータ学習モデルを電子機器と有線または無線ネットワークで接続されるサーバーのメモリに格納することもできる。
【０１２６】
この場合、学習されたデータ学習モデルが格納されるメモリは、例えば、電子機器の少なくとも１つの他の構成要素に関係された命令またはデータを一緒に格納することもできる。さらに、メモリは、ソフトウェアおよび／またはプログラムを格納することもできる。プログラムは、例えば、カーネル、ミドルウェア、アプリケーションプログラミングインターフェース（ＡＰＩ）および／またはアプリケーションプログラム（または「アプリケーション」）などを含むことができる。
【０１２７】
モデル評価部（１１１５）は、データ学習モデルに評価データを入力し、評価データから出力される結果が所定の基準を満たさない場合、モデル学習部（１１１４）が再学習するようにすることができる。この場合、評価データは、データ学習モデルを評価するための既設定されたデータを含むことができる。
【０１２８】
例えば、モデル評価部（１１１５）は、評価データに対する学習されたデータ学習モデルの結果の中で、認識結果が正確でない評価データの数または比率が予め設定されたしきい値を超える場合、所定の基準を満たさないものと評価することができる。例えば、所定の基準が比率２％で定義される場合において、学習されたデータ学習モデルが総１０００個の評価データの中で２０個を超える評価データに対して誤った認識結果を出力する場合、モデル評価部（１１１５）は、学習されたデータ学習モデルが適していないものであると評価することができる。
【０１２９】
一方、学習されたデータ学習モデルが複数個存在する場合、モデル評価部（１１１５）は、それぞれの学習されたデータ学習モデルに対して所定の基準を満たすかを評価し、所定の基準を満足するモデルを最終データ学習モデルとして決定することができる。この場合、所定の基準を満たすモデルが複数個である場合、モデル評価部（１１１５）は、評価点数の高い順に予め設定されたある１つまたは所定個数のモデルを最終データ学習モデルとして決定することができる。
【０１３０】
一方、データ学習部（１１１０）内のデータ取得部（１１１１）、前処理部（１１１２）、学習データ選択部（１１１３）、モデル学習部（１１１４）またはモデル評価部（１１１５）のうち少なくとも１つは、少なくとも１つのハードウェアチップ形態に製作されて、電子機器に搭載されることができる。例えば、データ取得部（１１１１）、前処理部（１１１２）、学習データ選択部（１１１３）、モデル学習部（１１１４）またはモデル評価部（１１１５）のうち少なくとも１つは、人工知能（ＡＩ；ａｒｔｉｆｉｃｉａｌ  ｉｎｔｅｌｌｉｇｅｎｃｅ）のための専用ハードウェアチップの形態に製作されることもでき、または既存の汎用プロセッサ（例：ＣＰＵまたはａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｃｅｓｓｏｒ）またはグラフィック専用プロセッサ（例：ＧＰＵ）の一部として製作され、前述した各種の電子機器に搭載されることもできる。
【０１３１】
また、データ取得部（１１１１）、前処理部（１１１２）、学習データ選択部（１１１３）、モデル学習部（１１１４）およびモデル評価部（１１１５）は、１つの電子機器に搭載されることもでき、または別の電子機器にそれぞれ搭載されることもできる。例えば、データ取得部（１１１１）、前処理部（１１１２）、学習データ選択部（１１１３）、モデル学習部（１１１４）およびモデル評価部（１１１５）のうち一部は電子機器に含まれ、残りの一部はサーバーに含まれることができる。
【０１３２】
また、データ取得部（１１１１）、前処理部（１１１２）、学習データ選択部（１１１３）、モデル学習部（１１１４）またはモデル評価部（１１１５）のうち少なくとも１つは、ソフトウェアモジュールで具現されることができる。データ取得部（１１１１）、前処理部（１１１２）、学習データ選択部（１１１３）、モデル学習部（１１１４）またはモデル評価部（１１１５）のうち少なくとも１つがソフトウェアモジュール（または、命令（ｉｎｓｔｒｕｃｔｉｏｎ）を含むプログラムモジュール）で具現される場合、ソフトウェアモジュールは、コンピュータ読み取り可能な非一時的な読み取り可能な記録媒体（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉａ）に格納されることができる。また、この場合、少なくとも１つのソフトウェアモジュールは、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）によって提供されたり、所定のアプリケーションによって提供されたりすることができる。これと異なり、少なくとも１つのソフトウェアモジュールのうち一部はＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）によって提供され、残りの一部は所定のアプリケーションによって提供されることができる。
【０１３３】
本開示の一実施例によるデータ認識部（１１２０）は、データ取得部（１１２１）、前処理部（１１２２）、認識データ選択部（１１２３）、認識結果提供部（１１２４）およびモデル更新部（１１２５）を含むことができる。
【０１３４】
データ取得部（１１２１）は、音声を出力するために必要なテキストを取得することができる。逆に、データ取得部（１１２１）は、テキストを出力するために必要な音声を取得することができる。前処理部（１１２２）は、音声またはテキストを出力するために取得されたデータが使用され得るように、取得されたデータを前処理することができる。前処理部（１１２２）は、後述する認識結果提供部（１１２４）が音声またはテキストを出力するために取得されたデータを利用できるように、取得されたデータを既設定されたフォーマットに加工することができる。
【０１３５】
認識データ選択部（１１２３）は、前処理されたデータの中から音声またはテキストを出力するために必要なデータを選択することができる。選択されたデータは、認識結果提供部（１１２４）に提供されることができる。認識データ選択部（１１２３）は、音声またはテキストを出力するための既設定された基準に基づいて、前処理されたデータの中から一部または全部を選択することができる。また、認識データ選択部（１１２３）は、モデル学習部（１１１４）による学習によって、既設定された基準に基づいてデータを選択することもできる。
【０１３６】
認識結果提供部（１１２４）は、選択されたデータをデータ学習モデルに適用して、音声またはテキストを出力することができる。認識結果提供部（１１２４）は、認識データ選択部（１１２３）によって選択されたデータを入力値として利用することにより、選択されたデータをデータ学習モデルに適用することができる。また、認識結果は、データ学習モデルによって決定されることができる。
【０１３７】
モデル更新部（１１２５）は、認識結果提供部（１１２４）によって提供される認識結果に対する評価に基づいて、データ学習モデルが更新されるようにすることができる。例えば、モデル更新部（１１２５）は、認識結果提供部（１１２４）によって提供される認識結果をモデル学習部（１１１４）に提供することにより、モデル学習部（１１１４）がデータ学習モデルを更新するようにすることができる。
【０１３８】
一方、データ認識部（１１２０）内のデータ取得部（１１２１）、前処理部（１１２２）、認識データ選択部（１１２３）、認識結果提供部（１１２４）またはモデル更新部（１１２５）のうち少なくとも１つは、少なくとも１つのハードウェアチップの形態に製作されて、電子機器に搭載されることができる。例えば、データ取得部（１１２１）、前処理部（１１２２）、認識データ選択部（１１２３）、認識結果提供部（１１２４）またはモデル更新部（１１２５）のうち少なくとも１つは、人工知能（ＡＩ；ａｒｔｉｆｉｃｉａｌ  ｉｎｔｅｌｌｉｇｅｎｃｅ）のための専用ハードウェアチップの形態に製作されることもでき、または既存の汎用プロセッサ（例：ＣＰＵまたはａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｃｅｓｓｏｒ）またはグラフィック専用プロセッサ（例：ＧＰＵ）の一部として製作され、前述した各種の電子機器に搭載されることもできる。
【０１３９】
また、データ取得部（１１２１）、前処理部（１１２２）、認識データ選択部（１１２３）、認識結果提供部（１１２４）およびモデル更新部（１１２５）は、１つの電子機器に搭載されることもでき、または別の電子機器にそれぞれ搭載されることもできる。例えば、データ取得部（１１２１）、前処理部（１１２２）、認識データ選択部（１１２３）、認識結果提供部（１１２４）およびモデル更新部（１１２５）のうち一部は電子機器に含まれ、残りの一部はサーバーに含まれることができる。
【０１４０】
また、データ取得部（１１２１）、前処理部（１１２２）、認識データ選択部（１１２３）、認識結果提供部（１１２４）またはモデル更新部（１１２５）のうち少なくとも１つは、ソフトウェアモジュールで具現されることができる。データ取得部（１１２１）、前処理部（１１２２）、認識データ選択部（１１２３）、認識結果提供部（１１２４）またはモデル更新部（１１２５）のうち少なくとも１つが、ソフトウェアモジュール（または、命令（ｉｎｓｔｒｕｃｔｉｏｎ）を含むプログラムモジュール）で具現される場合、ソフトウェアモジュールは、コンピュータ読み取り可能な非一時的な読み取り可能な記録媒体（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉａ）に格納されることができる。また、この場合、少なくとも１つのソフトウェアモジュールは、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）によって提供されたり、所定のアプリケーションによって提供されたりすることができる。これと異なり、少なくとも１つのソフトウェアモジュールのうち一部はＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）によって提供され、残りの一部は所定のアプリケーションによって提供されることができる。
【０１４１】
これまでに多様な実施例を中心に説明した。本発明が属する技術分野において通常の知識を有する者は、本発明が、本発明の本質的な特性から逸脱しない範囲で変形された形態で具現され得ることを理解できるであろう。したがって、開示された実施例は、限定的な観点ではなく、説明的な観点から考慮されるべきである。本発明の範囲は、前述した説明ではなく、特許請求の範囲に示されており、それと同等の範囲内にあるすべての違いは、本発明に含まれるものと解釈されるべきである。
【０１４２】
一方、上述した本発明の実施例は、コンピュータで実行され得るプログラムで作成可能であり、コンピュータ読み取り可能な記録媒体を利用してプログラムを動作させる汎用デジタルコンピュータで具現されることができる。コンピュータ読み取り可能な記録媒体は、磁気記録媒体（例えば、ロム、フロッピーディスク、ハードディスクなど）、光学的読み取り媒体（例えば、ＣＤ−ＲＯＭ、ＤＶＤなど）のような記憶媒体を含む。
【図１】
2021511533.tif 000003
【図２】
2021511533.tif 000004
【図３】
2021511533.tif 000005
【図４】
2021511533.tif 000006
【図５】
2021511533.tif 000007
【図６】
2021511533.tif 000008
【図７】
2021511533.tif 000009
【図８】
2021511533.tif 000010
【図９】
2021511533.tif 000011
【図１０】
2021511533.tif 000012
【図１１】
2021511533.tif 000013
【国際調査報告】
2021511533.tif 000014
2021511533.tif 000015
2021511533.tif 000016
2021511533.tif 000017