IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ネオサピエンス株式会社の特許一覧

<>
  • 特許-多言語テキスト音声合成方法 図1
  • 特許-多言語テキスト音声合成方法 図2
  • 特許-多言語テキスト音声合成方法 図3
  • 特許-多言語テキスト音声合成方法 図4
  • 特許-多言語テキスト音声合成方法 図5
  • 特許-多言語テキスト音声合成方法 図6
  • 特許-多言語テキスト音声合成方法 図7
  • 特許-多言語テキスト音声合成方法 図8
  • 特許-多言語テキスト音声合成方法 図9
  • 特許-多言語テキスト音声合成方法 図10
  • 特許-多言語テキスト音声合成方法 図11
  • 特許-多言語テキスト音声合成方法 図12
  • 特許-多言語テキスト音声合成方法 図13
  • 特許-多言語テキスト音声合成方法 図14
  • 特許-多言語テキスト音声合成方法 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-15
(45)【発行日】2022-09-27
(54)【発明の名称】多言語テキスト音声合成方法
(51)【国際特許分類】
   G10L 13/10 20130101AFI20220916BHJP
   G10L 13/00 20060101ALI20220916BHJP
【FI】
G10L13/10 112B
G10L13/00 100G
G10L13/10 111A
G10L13/10 111B
G10L13/10 111D
【請求項の数】 10
(21)【出願番号】P 2020538690
(86)(22)【出願日】2019-01-11
(65)【公表番号】
(43)【公表日】2021-05-06
(86)【国際出願番号】 KR2019000509
(87)【国際公開番号】W WO2019139428
(87)【国際公開日】2019-07-18
【審査請求日】2020-07-10
(31)【優先権主張番号】10-2018-0004047
(32)【優先日】2018-01-11
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2018-0036377
(32)【優先日】2018-03-29
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2019-0003979
(32)【優先日】2019-01-11
(33)【優先権主張国・地域又は機関】KR
【新規性喪失の例外の表示】特許法第30条第2項適用 2018年10月22日付ウェブサイトの掲載の「Learning pronunciation from a foreign language in speech synthesis networks 」 (https://openreview.net/revisions?id=HkeYCNgooQ)
【前置審査】
(73)【特許権者】
【識別番号】519018864
【氏名又は名称】ネオサピエンス株式会社
【氏名又は名称原語表記】NEOSAPIENCE, INC.
(74)【代理人】
【識別番号】100121728
【弁理士】
【氏名又は名称】井関 勝守
(72)【発明者】
【氏名】ギム テス
(72)【発明者】
【氏名】イ ヨングン
【審査官】大野 弘
(56)【参考文献】
【文献】米国特許出願公開第2015/0186359(US,A1)
【文献】国際公開第2017/168870(WO,A1)
【文献】特開2017-032839(JP,A)
【文献】特開2004-287444(JP,A)
【文献】Huaiping Ming et al.,A Light-weight Method of Building an LSTM-RNN-based Bilingual TTS System,International Conference on Asian Language Processing (IALP),IEEE,2017年12月05日,pp.201-204,入手元 IEL Online (IEEE Xplore)
【文献】Yuxuan Wang,Tacotron:Towards End-to-End Speech Synthesis,INTERSPEECH 2017,2017年,https://arxiv.org/pdf/1703.10135.pdf
(58)【調査した分野】(Int.Cl.,DB名)
G10L 13/10
G10L 13/00
(57)【特許請求の範囲】
【請求項1】
システムのプロセッサにより遂行される多言語(multilingual)テキスト音声合成(text-to-speech synthesis)モデルを生成する方法であって、
第1の言語の学習テキスト、前記第1の言語の学習テキストに対応する第1の言語の学習音声データ、および、前記第1の言語の学習音声データに関連する第1話者識別子を含む第1の学習データを受信するステップと、
第2の言語の学習テキスト、前記第2の言語の学習テキストに対応する第2の言語の学習音声データ、および、前記第2の言語の学習音声データに関連する第2話者識別子を含む第2の学習データを受信するステップと、
前記第1の学習データおよび前記第2の学習データに基づいて、前記第1の言語の音素および前記第2の言語の音素間の類似性情報を学習して、入力テキストの言語と異なる言語に関連する話者の音声を模写する音声データを出力する単一の人工ニューラルネットワークの多言語テキスト音声合成(text-to-speech synthesis)モデルを生成するステップとを含む、多言語テキスト音声合成モデルを生成する方法。
【請求項2】
前記第1の言語の学習テキストおよび前記第2の言語の学習テキストは、字母単位、文字単位、または音素単位に分離された複数のテキスト埋め込みベクトルを含む、請求項1に記載の多言語テキスト音声合成モデルを生成する方法。
【請求項3】
前記単一の人工ニューラルネットワークの多言語テキスト音声合成モデルは、前記第1の言語の音素および前記第2の言語の音素間の発音および表記のうち少なくとも1つに対する類似性情報の入力なしに生成される、請求項1に記載の多言語テキスト音声合成モデルを生成する方法。
【請求項4】
システムのプロセッサにより遂行される多言語テキスト音声合成方法であって、
第1の言語に対する話者の発声特徴を受信するステップと、
第2の言語の入力テキストを受信するステップと、
前記第2の言語の入力テキストおよび前記第1の言語に対する話者の発声特徴を単一の人工ニューラルネットワークの多言語テキスト音声合成モデルに入力して、前記話者の音声を模写する前記第2の言語の入力テキストに対する出力音声データを生成するステップとを含み、
前記単一の人工ニューラルネットワークの多言語テキスト音声合成モデルは、
第1の言語に対する第1の学習データおよび第2の言語に対する第2の学習データに基づいて、前記第1の言語の音素および前記第2の言語の音素間の類似性情報を学習することによって生成されるモデルであり、
前記第1の言語に対する第1の学習データは、第1の言語の学習テキスト、前記第1の言語の学習テキストに対応する第1の言語の学習音声データ、および、前記第1の言語の学習音声データに関連する第1話者識別子を含み、
前記第2の言語に対する第2の学習データは、第2の言語の学習テキスト、前記第2の言語の学習テキストに対応する第2の言語の学習音声データ、および、前記第2の言語の学習音声データに関連する第2話者識別子を含む、多言語テキスト音声合成方法。
【請求項5】
感情的特徴(emotion feature)を受信するステップと、
前記第2の言語の入力テキスト、前記第1の言語に対する話者の発声特徴および前記感情的特徴を前記単一の人工ニューラルネットワークの多言語テキスト音声合成モデルに入力して、前記話者の音声を模写する前記第2の言語の入力テキストに対する出力音声データを生成するステップとをさらに含む、請求項4に記載の多言語テキスト音声合成方法。
【請求項6】
韻律的特徴(prosody feature)を受信するステップと、
前記第2の言語の入力テキスト、前記第1の言語に対する話者の発声特徴および前記韻律的特徴を前記単一の人工ニューラルネットワークの多言語テキスト音声合成モデルに入力して、前記話者の音声を模写する前記第2の言語の入力テキストに対する出力音声データを生成するステップとをさらに含む、請求項4に記載の多言語テキスト音声合成方法。
【請求項7】
前記韻律的特徴は、発話速度に関する情報、発音アクセントに関する情報、音高に関する情報および休止区間に関する情報のうち少なくとも1つを含む、請求項6に記載の多言語テキスト音声合成方法。
【請求項8】
前記第1の言語に対する話者の発声特徴を受信するステップは、
第1の言語の入力音声を受信するステップと、
前記第1の言語の入力音声から特徴ベクトルを抽出し、前記第1の言語に対する話者の発声特徴を生成するステップとを含み、
前記第2の言語の入力テキストを受信するステップは、
前記第1の言語の入力音声を第1の言語の入力テキストに変換するステップと、
前記第1の言語の入力テキストを第2の言語の入力テキストに変換するステップとを含む、請求項4に記載の多言語テキスト音声合成方法。
【請求項9】
システムのプロセッサにより遂行される多言語テキスト音声合成方法であって、
第1の言語に対する第1者識別子を受信するステップと、
第2の言語の入力テキストを受信するステップと、
前記第2の言語の入力テキストおよび前記第1の言語に対する第1者識別子を単一の人工ニューラルネットワークの多言語テキスト音声合成モデルに入力して、前記第1話者識別子対応する話者の音声を模写する前記第2の言語の入力テキストに対する出力音声データを生成するステップとを含み、
前記単一の人工ニューラルネットワークの多言語テキスト音声合成モデルは、
第1の言語に対する第1の学習データおよび第2の言語に対する第2の学習データに基づいて、前記第1の言語の音素および前記第2の言語の音素間の類似性情報を学習することによって生成されるモデルであり、
前記第1の言語に対する第1の学習データは、第1の言語の学習テキスト、前記第1の言語の学習テキストに対応する第1の言語の学習音声データ、および、前記第1の言語の学習音声データに関連する前記第1話者識別子を含み、
前記第2の言語に対する第2の学習データは、第2の言語の学習テキスト、前記第2の言語の学習テキストに対応する第2の言語の学習音声データ、および、前記第2の言語の学習音声データに関連する第2話者識別子を含む、多言語テキスト音声合成方法。
【請求項10】
請求項1~9の何れかの方法によるそれぞれのステップを遂行する命令語を含むプログラムが記録された、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、多言語(multilingual)テキスト音声合成(text-to-speech synthesis)方法及びシステムに関するものである。また、第1の言語を使用する話者の声の特性に基づいて、第2の言語のテキストを、その話者の音声に合成する方法及び装置に関するものである。
【背景技術】
【0002】
一般的に、テキスト音声合成(TTS;Text-To-Speech)と呼ばれる音声合成技術は、案内放送、ナビゲーション、AI秘書などのように人の声が必要なアプリケーションにおいて、実際の人の声を事前に録音せずに、必要な音声を再生するために使用される技術である。音声合成の典型的な方法は、音声を音素などの非常に短い単位で予めに切断して格納し、合成する文章を構成する音素を結合して、音声を合成する波形接続型合成方式(concatenative TTS)と、音声的特徴をパラメータで表現し、合成する文章を構成する音声的特徴を表すパラメータを、ボコーダー(vocoder)を利用して文章に対応する音声に合成するパラメトリック合成方式(parametric TTS)がある。
【0003】
一方、最近では、人工ニューラルネットワーク(artificial neural network)ベースの音声合成方法が活発に研究されており、この音声合成方法によって合成された音声は、従来の方法に比べてはるかに自然な音声的特徴を見せている。しかし、人工ニューラルネットワークベースの音声合成方法で新しい声の音声合成器を実現するためには、その声に対応する多くのデータが必要であり、このデータを利用したニューラルネットワークモデルの再学習が必要になるため、ユーザーの利便性が低下する。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示による方法及び装置は、複数の言語に対する入力テキスト(text input)と出力音声(audio output)だけで、エンドツーエンドの(end-to-end)で多言語TTS機械学習モデルを生成することが可能である。また、本開示による方法および装置は、話者の発声特徴、感情的特徴、韻律的特徴を反映して、テキストから音声を合成することができる。
【課題を解決するための手段】
【0005】
本開示の一実施例に係る多言語(multilingual)テキスト音声合成(text-to-speech synthesis)方法は、第1の言語の学習テキストおよび第1の言語の学習テキストに対応する第1の言語の学習音声データを含む第1の学習データを受信するステップと、第2の言語の学習テキストおよび第2の言語の学習テキストに対応する第2の言語の学習音声データを含む第2の学習データを受信するステップと、第1の学習データおよび第2の学習データに基づいて、第1の言語の音素および第2の言語の音素間の類似性情報を学習して、単一の人工ニューラルネットワークのテキスト音声合成(text-to-speech synthesis)モデルを生成するステップとを含む。
【0006】
本開示の一実施例に係る多言語テキスト音声合成方法は、第1の言語に対する話者の発声特徴を受信するステップと、第2の言語の入力テキストを受信するステップと、第2の言語の入力テキストおよび第1の言語に対する話者の発声特徴を単一の人工ニューラルネットワークのテキスト音声合成モデルに入力して、話者の音声を模写する第2の言語の入力テキストに対する出力音声データを生成するステップとをさらに含む。
【0007】
本開示の一実施例に係る多言語テキスト音声合成方法の第1の言語に対する話者の発声特徴は、話者が第1の言語で発話した音声データから特徴ベクトルを抽出して生成される。
【0008】
本開示の一実施例に係る多言語テキスト音声合成方法は、感情的特徴(emotion feature)を受信するステップと、第2の言語の入力テキスト、第1の言語に対する話者の発声特徴および感情的特徴を単一の人工ニューラルネットワークのテキスト音声合成モデルに入力して、話者の音声を模写する第2の言語の入力テキストに対する出力音声データを生成するステップとをさらに含む。
【0009】
本開示の一実施例に係る多言語テキスト音声合成方法は、韻律的特徴(prosody feature)を受信するステップと、第2の言語の入力テキスト、第1の言語に対する話者の発声特徴および韻律的特徴を単一の人工ニューラルネットワークのテキスト音声合成モデルに入力して、話者の音声を模写する第2の言語の入力テキストに対する出力音声データを生成するステップとをさらに含む。
【0010】
本開示の一実施例に係る多言語テキスト音声合成方法の韻律的特徴は、発話速度に関する情報、発音アクセントに関する情報、音高に関する情報および休止区間に関する情報のうち少なくとも1つを含む。
【0011】
本開示の一実施例に係る多言語テキスト音声合成方法は、第1の言語の入力音声を受信するステップと、第1の言語の入力音声から特徴ベクトルを抽出し、第1の言語に対する話者の発声特徴を生成するステップと、第1の言語の入力音声を第1の言語の入力テキストに変換するステップと、第1の言語の入力テキストを第2の言語の入力テキストに変換するステップと、第2の言語の入力テキストおよび第1の言語に対する話者の発声特徴を単一の人工ニューラルネットワークのテキスト音声合成モデルに入力して、話者の音声を模写する第2の言語の入力テキストに対する第2の言語の出力音声データを生成するステップとをさらに含む。
【0012】
本開示の一実施例に係る多言語テキスト音声合成方法は、G2P(Grapheme-to-phoneme)アルゴリズムを使用して、第1の言語の学習テキストおよび第2の言語の学習テキストを音素シーケンス(phoneme sequence)に変換する。
【0013】
本開示の一実施例に係る多言語テキスト音声合成方法の単一の人工ニューラルネットワークのテキスト音声合成モデルは、第1の言語の音素と第2の言語の音素間の発音および表記のうち少なくとも1つに対する類似性情報の入力なしに生成される。
【0014】
また、上述したような多言語テキスト音声合成方法を具現するためのプログラムは、コンピュータ読み取り可能な記録媒体に記録されることができる。
【図面の簡単な説明】
【0015】
図1図1は、複数の言語に対して学習された単一の人工ニューラルネットワークのテキスト音声合成モデルを利用して、音声合成器が英語音声を合成するものを示す図である。
図2図2は、複数の言語に対して学習された単一の人工ニューラルネットワークのテキスト音声合成モデルを利用して、音声合成器が韓国語音声を合成するものを示す図である。
図3図3は、本開示の一実施例に係る単一の人工ニューラルネットワークのテキスト音声合成モデルを生成する方法を示すフローチャートである。
図4図4は、本開示の一実施例に係る機械学習部を示す図である。
図5図5は、本開示の一実施例に係る音声合成器が、第1の言語に対する話者の発声特徴および第2の言語の入力テキストに基づいて、出力音声データを合成するものを示す図である。
図6図6は、本開示の一実施例に係る音声合成器が、第1の言語に対する話者の発声特徴、第2の言語の入力テキストおよび感情的特徴に基づいて、出力音声データを生成するものを示す図である。
図7図7は、本開示の一実施例に係る音声合成器が、第1の言語に対する話者の発声特徴、第2の言語の入力テキスト及び韻律的特徴(prosody feature)に基づいて、出力音声データを生成するものを示す図である。
図8図8は、本開示の一実施例に係る音声翻訳システムの構成を示す図である。
図9図9は、本開示の一実施例に係る韻律翻訳器の構成を示す図である。
図10図10は、本開示の一実施例に係る多言語テキスト音声合成器の構成を示す図である。
図11図11は、IPA(International Phonetic Alphabet)とKoG2P音素の対応関係および英語と韓国語の共通の発音を有する音素の対応関係を示す図である。
図12図12は、韓国語音素と最も類似している英語の音素を示す表である。
図13図13は、英語の音素で生成された音声と韓国語の音素で生成された音声の類似性を示すスペクトログラムである。
図14図14は、TTS機械学習モデルを学習するために使用された英語のデータの時間変化によるcharacter error rate(CER)を示す表である。
図15図15は、本開示の一実施例に係るテキスト音声合成システムのブロック図である。
【発明を実施するための形態】
【0016】
開示された実施例の利点および特徴、そしてそれらを達成する方法は、添付の図面と共に後述される実施例を参照すると明確である。しかし、本開示は、以下において開示される実施形態に限定されるものではなく、異なる多様な形態で具現されることができ、単に本実施例は、本開示が完全になるようにし、本開示が属する技術分野において通常の知識を有する者に発明の範疇を完全に知らせるために提供されるだけのものである。
【0017】
本明細書において使用される用語について簡略に説明し、開示された実施例について具体的に説明する。
【0018】
本明細書において使用される用語は、本開示での機能を考慮しながら可能な現在広く使用される一般的な用語を選択したが、これは関連分野に携わる技術者の意図または判例、新しい技術の出現などによって異なることができる。また、特定の場合、出願人が任意に選定した用語もあり、この場合は該当する発明の説明部分で詳細にその意味を記載する。したがって、本開示において使用される用語は、単純な用語の名称ではなく、その用語が有する意味と本開示の全般にわたる内容に基づいて定義されるべきである。
【0019】
本明細書においての単数の表現は、文脈上明らかに単数であるものと特定していない限り、複数の表現を含む。また、複数の表現は、文脈上明らかに複数であるものと特定していない限り、単数の表現を含む。
【0020】
明細書全体においてある部分がある構成要素を「含む」とするとき、これは特に反対の記載がない限り、他の構成要素を除外するのではなく、他の構成要素をさらに含むことが可能であることを意味する。
【0021】
また、明細書において使用される「部」という用語は、ソフトウェアまたはハードウェア構成要素を意味し、「部」は、ある役割を遂行する。しかしながら、「部」は、ソフトウェアまたはハードウェアに限定される意味ではない。「部」は、アドレッシングできる格納媒体にあるように構成することもでき、1つまたはそれ以上のプロセッサを再生させるように構成されることもできる。したがって、一例として「部」は、ソフトウェア構成要素、オブジェクト指向ソフトウェア構成要素、クラス構成要素およびタスクの構成要素のような構成要素と、プロセス、関数、属性、プロシージャ、サブルーチン、プログラムコードのセグメント、ドライバ、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイおよび変数を含む。構成要素と「部」の中で提供される機能は、より少数の構成要素および「部」で結合されたり、追加の構成要素と「部」にさらに分離されたりすることができる。
【0022】
本開示の一実施例によれば、「部」は、プロセッサおよびメモリで具現されることができる。用語「プロセッサ」は、汎用プロセッサ、中央処理装置(CPU)、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、コントローラ、マイクロコントローラ、状態マシンなどを含むように広く解釈されるべきである。いくつかの環境において「プロセッサ」は、カスタムIC(ASIC)、プログラマブルロジックデバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)などを称することもできる。用語「プロセッサ」は、例えば、DSPとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサの組み合わせ、DSPコアと結合した1つ以上のマイクロプロセッサの組み合わせ、または任意の他のこのような構成の組み合わせのような処理デバイスの組み合わせを称することもできる。
【0023】
用語「メモリ」は、電子情報を格納可能な任意の電子コンポーネントを含むように広く解釈されるべきである。用語メモリは、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、プログラマブル読み出し専用メモリ(PROM)、消去可能なプログラマブル読み出し専用メモリ(EPROM)、電気的に消去可能なプログラマブル読み出し専用メモリ(EEPROM)、フラッシュメモリ、磁気または光学データ記憶装置、レジスタなどのプロセッサ-読み出し可能媒体の多様なタイプを称することもできる。プロセッサがメモリから情報を読み取りし/したり、メモリに情報を記録することができたりすれば、メモリは、プロセッサと電子通信状態にあると言われる。プロセッサに集積されたメモリは、プロセッサと電子通信状態にある。
【0024】
本開示において、「第1の言語」は韓国語、日本語、中国語、英語などの多様な国や民族が使用するさまざまな言語のうち1つを示すことができ、「第2の言語」は、第1の言語と異なる国や民族が使用する言語のうち1つを示すことができる。
【0025】
以下では、添付した図面を参照して、実施例に対して本開示が属する技術分野における通常の知識を有する者が容易に実施できるように詳細に説明する。そして図面で本開示を明確に説明するために説明と関係ない部分は省略する。
【0026】
図1は、複数の言語に対して学習された単一の人工ニューラルネットワークのテキスト音声合成モデルを利用して、音声合成器(110)が、英語の音声を合成するものを示す図である。図示された例において、単一の人工ニューラルネットワークのテキスト音声合成モデルは、韓国語と英語のデータを一緒に学習したものであることができる。音声合成器(110)は、英語のテキストと韓国人話者の発声特徴を受信することができる。例えば、英語のテキストは「Hello?」であることができ、韓国人話者の発声特徴は、韓国人話者が韓国語で発話した音声データから抽出された特徴ベクトルであることができる。
【0027】
音声合成器(110)は、受信した英語のテキストと韓国人話者の発声特徴を、単一の人工ニューラルネットワークのテキスト音声合成モデルに入力し、その韓国人話者の音声を模写して、英語で「Hello?」を話す音声を合成して出力することができる。つまり、音声合成器(110)が出力した音声は、その韓国人話者が「Hello?」を英語で発音する音声であることができる。
【0028】
図2は、複数の言語に対して学習された単一の人工ニューラルネットワークのテキスト音声合成モデルを利用して、音声合成器(210)が韓国語音声を合成するものを示す図である。図示された例において、単一の人工ニューラルネットワークのテキスト音声合成モデルは、韓国語と英語のデータを一緒に学習したものであることができる。音声合成器(210)は、韓国語のテキストとアメリカ人話者の発声特徴を受信することができる。例えば、韓国語のテキストは、「アンニョンハセヨ?」であることができ、アメリカ人話者の発声特徴は、アメリカ人話者が英語で発話した音声データから抽出された特徴ベクトルであることができる。
【0029】
音声合成器(210)は、受信された韓国語のテキストとアメリカ人話者の発声特徴を単一の人工ニューラルネットワークのテキスト音声合成モデルに入力し、そのアメリカ人話者の音声を模写して、韓国語で「アンニョンハセヨ?」を話す言う声を合成して出力することができる。つまり、音声合成器(210)が出力した音声は、そのアメリカ人話者が「アンニョンハセヨ?」を韓国語で発音する音声であることができる。
【0030】
図3は、本開示の一実施例に係る単一の人工ニューラルネットワークのテキスト音声合成モデルを生成する方法を示すフローチャートである。多言語(multilingual)テキスト音声合成(text-to-speech synthesis)システムは、第1の言語の学習テキストおよび第1の言語の学習テキストに対応する第1の言語の学習音声データを含む第1の学習データを受信するステップ(310)を遂行することができる。多言語テキスト音声合成システムは、第2の言語の学習テキストおよび第2の言語の学習テキストに対応する第2の言語の学習音声データを含む第2の学習データを受信するステップ(320)を遂行することができる。
【0031】
多言語テキスト音声合成システムは、第1の学習データおよび第2の学習データに基づいて、第1の言語の音素および第2の言語の音素間の類似性情報を学習し、単一の人工ニューラルネットワークのテキスト音声合成(text-to-speech synthesis)モデルを生成するステップ(330)を遂行することができる。単一の人工ニューラルネットワークのテキスト音声合成モデルを生成する方法に関しては、図4でより詳細に説明する。
【0032】
図4は、本開示の一実施例に係る機械学習部(420)を示す図である。機械学習部(420)は、図15のデータ学習部(1510)に対応されることができる。機械学習部(420)は、複数の第1の言語の学習データのペア(411)を受信することができる。第1の言語の学習データのペア(411)は、第1の言語の学習テキストおよびその第1の言語の学習テキストに対応する第1の言語の学習音声データを含むことができる。
【0033】
第1の言語の学習テキストは、少なくとも1つの文字を含むことができ、機械学習部(420)がG2P(Grapheme-to-phoneme)アルゴリズムを使用して、音素シーケンス(phoneme sequence)に変換することができる。第1の言語の学習音声データは、第1の言語の学習テキストを人が読んだ音声を録音したデータ、録音データから抽出されたサウンドフィーチャ(sound feature)やスペクトログラム(spectrogram)などであることができる。第1の学習データは、第1の言語に対する言語識別子または言語情報を含まないことができる。
【0034】
機械学習部(420)は、複数の第2の言語の学習データのペア(412)を受信することができる。第2の言語の学習データのペア(412)は、第2の言語の学習テキストおよびその第2の言語の学習テキストに対応する第2の言語の学習音声データを含むことができる。第1の言語と第2の言語は、互いに異なる言語であることができる。
【0035】
第2の言語の学習テキストは、少なくとも1つの文字を含むことができ、機械学習部(420)がG2P(Grapheme-to-phoneme)アルゴリズムを使用して、音素シーケンス(phoneme sequence)に変換することができる。第2の言語の学習音声データは、第2の言語の学習テキストを人が読んだ音声を録音したデータ、録音データから抽出されたサウンドフィーチャ(sound feature)やスペクトログラム(spectrogram)などであることができる。第2の学習データは、第2の言語に対する言語識別子または言語情報を含まないことができる。
【0036】
機械学習部(420)は、受信された複数の第1の言語の学習データのペア(411)および複数の第2の言語の学習データのペア(412)に基づいて機械学習を遂行し、単一の人工ニューラルネットワークのテキスト音声合成モデル(430)を生成することができる。一実施例において、機械学習部(420)は、第1の言語および第2の言語に関する事前情報なしに、第1の言語の音素および第2の言語の音素間の類似性情報を学習して、単一の人工ニューラルネットワークのテキスト音声合成モデル(430)を生成することができる。例えば、機械学習部(420)は、第1の言語に対する言語識別子、第2の言語に対する言語識別子、第1の言語の音素および第2の言語の音素間の発音に関する類似性情報、第1の言語の音素および第2の言語の音素間の表記に関する類似性情報を受信せずに、複数の第1の言語の学習データのペア(411)及び複数の第2の言語の学習データのペア(412)に基づいて、第1の言語の音素および第2の言語の音素間の類似性情報を学習することによって、単一の人工ニューラルネットワークのテキスト音声合成モデルを生成することができる。
【0037】
ここで、言語識別子は、韓国語、日本語、中国語、英語などの多様な国や民族が使用するさまざまな言語のうち1つを示す識別子であることができる。また、発音に関する類似性情報は、言語間の類似した発音を有する音素を対応させた情報であることができ、表記に関する類似性情報は、言語間の類似した表記を有する音素を対応させた情報であることができる。類似性情報は、図11及び図12を参照してより詳細に説明する。
【0038】
従来には、それぞれの言語が互いに異なる発音と表記を有するため、各言語別に学習データを準備して言語別機械学習モデルを生成したり、学習する言語間の類似性情報を事前に準備してこれを学習データと一緒に入力することによって単一の機械学習モデルを生成したりした。本開示の一実施例によれば、学習する言語間の類似性情報なしに、1つの機械学習モデルに多言語(Multi-language)テキスト音声合成(text-to-speech synthesis)モデルを具現することができる。図4では、2つの言語に対して学習データを受信して、単一の人工ニューラルネットワークのテキスト音声合成モデルを生成することが示されているが、これに限定されずに、3つ以上の言語に対しても学習データを受信して、3つ以上の言語に対する単一の人工ニューラルネットワークのテキスト音声合成モデルを生成することもできる。
【0039】
一実施例において、機械学習部(420)によって生成された単一の人工ニューラルネットワークのテキスト音声合成モデル(430)を利用して、テキストを音声に合成して出力することができる。単一の人工ニューラルネットワークのテキスト音声合成モデル(430)を利用して、テキストを音声に合成して出力する方法に関しては、図5図7を参照してより詳細に説明する。
【0040】
図5は、本開示の一実施例に係る音声合成器(520)が、第1の言語に対する話者の発声特徴(511)および第2の言語の入力テキスト(512)に基づいて、出力音声データ(530)を合成するものを示す図である。音声合成器(520)は、図15のデータ認識部(1520)に対応されることができる。音声合成器(520)は、図4の機械学習部(420)によって生成された単一の人工ニューラルネットワークのテキスト音声合成モデルを受信して、出力音声データを合成するのに使用することができる。図示されたように、音声合成器(520)は、第1の言語に対する話者の発声特徴(511)及び第2の言語の入力テキスト(512)を受信することができる。
【0041】
第1の言語に対する話者の発声特徴(511)は、話者が第1の言語で発話した音声データから特徴ベクトルを抽出して生成されることができる。例えば、話者の発声特徴は、話者の音色や音高などを含むことができる。第2の言語の入力テキスト(512)は、第2の言語から構成されている少なくとも1つの文字を含むことができる。
【0042】
音声合成器(520)は、第1の言語に対する話者の発声特徴(511)および第2の言語の入力テキスト(512)を単一の人工ニューラルネットワークのテキスト音声合成モデルに入力して、出力音声データ(530)を生成することができる。出力音声データ(530)は、第2の言語の入力テキスト(512)を音声に合成した音声データであることができ、第1の言語に対する話者の発声特徴(511)が反映されていることができる。つまり、出力音声データ(530)は、第1の言語に対する話者の発声特徴(511)に基づいてその話者の音声を模写することにより、その話者が第2の言語の入力テキスト(512)を話す声に合成されたデータであることができる。一実施例において、出力音声データ(530)は、スピーカーなどで出力されることができる。
【0043】
図6は、本開示の一実施例に係る音声合成器(620)が、第1の言語に対する話者の発声特徴(611)、第2の言語の入力テキスト(612)および感情的特徴(613)に基づいて、出力音声データ(630)を生成するものを示す図である。音声合成器(620)は、図15のデータ認識部(1520)に対応されることができる。音声合成器(620)は、図4の機械学習部(420)によって生成された単一の人工ニューラルネットワークのテキスト音声合成モデルを受信して、出力音声データ(630)を合成するのに使用することができる。図示されたように、音声合成器(620)は、第1の言語に対する話者の発声特徴(611)、第2の言語の入力テキスト(612)および感情的特徴(613)を受信することができる。第1の言語に対する話者の発声特徴および第2の言語の入力テキストに関しては図5を参照して説明したので、重複する説明は省略する。
【0044】
一実施例において、感情的特徴(613)は、喜び、悲しみ、怒り、恐怖、信頼、嫌悪、驚き、期待のうち少なくとも1つを表すことができる。他の実施例において、感情的特徴(613)は、音声データから特徴ベクトルを抽出して生成されることができる。音声合成器(620)は、第1の言語に対する話者の発声特徴(611)、第2の言語の入力テキスト(612)及び感情的特徴(613)を単一の人工ニューラルネットワークのテキスト音声合成モデルに入力して、出力音声データ(630)を生成することができる。
【0045】
出力音声データ(630)は、第2の言語の入力テキスト(612)を音声に合成した音声データであることができ、第1の言語に対する話者の発声特徴(611)および感情的特徴(613)が反映されていることができる。つまり、出力音声データ(630)は、第1の言語に対する話者の発声特徴(611)に基づいてその話者の音声を模写し、感情的特徴(613)を反映することによって、その話者が入力された感情的特徴(613)で第2の言語の入力テキスト(612)を話す音声に合成されたデータであることができる。例えば、感情的特徴(613)が怒りを表す場合、音声合成器(620)は、その話者が第2の言語の入力テキスト(612)を怒ったように話す出力音声データ(630)を生成することができる。一実施例において、出力音声データ(630)は、スピーカーなどで出力されることができる。
【0046】
図7は、本開示の一実施例に係る音声合成器(720)が、第1の言語に対する話者の発声特徴(711)、第2の言語の入力テキスト(712)及び韻律的特徴(prosody feature;713)に基づいて、出力音声データ(730)を生成するものを示す図である。音声合成器(720)は、図15のデータ認識部(1520)に対応されることができる。音声合成器(720)は、図4の機械学習部(420)によって生成された単一の人工ニューラルネットワークのテキスト音声合成モデルを受信して、出力音声データ(730)を合成するのに使用することができる。図示されたように、音声合成器(720)は、第1の言語に対する話者の発声特徴(711)、第2の言語の入力テキスト(712)および韻律的特徴(713)を受信することができる。第1の言語に対する話者の発声特徴および第2の言語の入力テキストに関しては図5を参照して説明したので、重複する説明は省略する。
【0047】
韻律的特徴(713)は、発話速度に関する情報、発音アクセントに関する情報、音高に関する情報および休止区間に関する情報(例えば、区切り読みに関する情報)のうち少なくとも1つを含むことができる。一実施例において、韻律的特徴(713)は、音声データから特徴ベクトルを抽出して生成することができる。音声合成器(720)は、第1の言語に対する話者の発声特徴(711)、第2の言語の入力テキスト(712)および韻律的特徴(713)を単一の人工ニューラルネットワークのテキスト音声合成モデルに入力して、出力音声データ(730)を生成することができる。
【0048】
出力音声データ(730)は、第2の言語の入力テキスト(712)を音声に合成した音声データであることができ、発声特徴(711)および韻律的特徴(713)が反映されていることができる。つまり、出力音声データ(730)は、第1の言語に対する話者の発声特徴(711)に基づいてその話者の音声を模写し、韻律的特徴(713)を反映することによって、その話者が入力された韻律的特徴(713)で第2の言語の入力テキスト(712)を話す音声に合成されたデータであることができる。例えば、音声合成器(720)は、その話者が第2の言語の入力テキスト(712)を韻律的特徴(713)に含まれている発話速度、発音アクセント、音高、休止区間(区切り読み)に関する情報に基づいて話す出力音声データ(730)を生成することができる。
【0049】
図6図7では、感情的特徴(613)または韻律的特徴(713)を第1の言語に対する話者の発声特徴および第2の言語の入力テキストと一緒に音声合成器に入力するものとして示されているが、これに限定されず、第1の言語に対する話者の発声特徴、感情的特徴、韻律的特徴のうち1つ以上を第2の言語の入力テキストと一緒に入力するものとして音声合成器が構成されることもできる。
【0050】
図8は、本開示の一実施例に係る音声翻訳システム(800)の構成を示す図である。音声翻訳システム(800)は、音声認識器(810)、機械翻訳器(820)、音声合成器(830)、発声特徴抽出器(840)、感情的特徴抽出器(850)、韻律的特徴抽出器(860)及び韻律翻訳器(prosody translation;870)を含むことができる。音声合成器(830)は、図15のデータ認識部(1520)に対応されることができる。図示されたように、音声翻訳システム(800)は、第1の言語の入力音声を受信することができる。
【0051】
受信された第1の言語の入力音声は、音声認識器(810)、発声特徴抽出器(840)、感情的特徴抽出器(850)および韻律的特徴抽出器(860)に送信されることができる。音声認識器(810)は、第1の言語の入力音声を受信して、第1の言語の入力テキストに変換することができる。音声翻訳システム(800)に含まれた機械翻訳器(820)は、第1の言語の入力テキストを第2の言語の入力テキストに変換/翻訳して音声合成器(830)に伝達することができる。
【0052】
発声特徴抽出器(840)は、第1の言語の入力音声から特徴ベクトルを抽出し、第1の言語の入力音声を発話した話者の発声特徴を生成することができる。音声合成器(830)は、第2の言語の入力テキストおよび第1の言語に対する話者の発声特徴を単一の人工ニューラルネットワークのテキスト音声合成モデルに入力して、話者の音声を模写する第2の言語の入力テキストに対応する第2の言語の出力音声データを生成することができる。この場合、第2の言語の出力音声は、第1の言語の入力音声を発話した話者の発声特徴を反映して、合成された音声であることができる。
【0053】
感情的特徴抽出器(850)は、第1の言語の入力音声から感情的特徴を抽出して、音声合成器(830)に伝達することができる。音声合成器(830)は、第2の言語の入力テキスト、第1の言語に対する話者の発声特徴および感情的特徴を単一の人工ニューラルネットワークのテキスト音声合成モデルに入力して、話者の音声を模写し、第1の言語の入力音声の感情的特徴が反映された第2の言語の入力テキストに対応する第2の言語の出力音声データを生成することができる。この場合、第2の言語の出力音声は、第1の言語の入力音声を発話した話者の発声特徴および感情的特徴を反映して、合成された音声であることができる。
【0054】
韻律的特徴抽出器(860)は、第1の言語の入力音声から韻律的特徴を抽出することができる。韻律的特徴抽出器(860)は、抽出された韻律的特徴を韻律翻訳器(870)に伝達して、第1の言語に対する韻律的特徴を第2の言語に対する韻律的特徴に変換することができる。つまり、韻律翻訳器(870)は、第1の言語の入力音声から抽出された韻律的特徴を第2の言語の出力音声に反映できるようにする情報を生成することができる。
【0055】
音声合成器(830)は、第2の言語の入力テキスト、第1の言語に対する話者の発声特徴および翻訳された韻律的特徴を単一の人工ニューラルネットワークのテキスト音声合成モデルに入力して、話者の音声を模写し、第1の言語の入力音声の韻律的特徴が反映された第2の言語の入力テキストに対応する第2の言語の出力音声データを生成することができる。この場合、第2の言語の出力音声は、第1の言語の入力音声を発話した話者の発声特徴および韻律的特徴を反映して合成された音声であることができる。韻律的特徴を反映する場合、第1の言語の入力音声の発話速度、区切り読み、強調などの特徴が第2の言語の出力音声にも適用されることができる。
【0056】
例えば、ユーザーが第1の言語の入力音声において強調して話した言葉がある場合、韻律翻訳器(870)は、第1の言語の強調された単語に対応する第2の言語の単語を強調するための情報を生成することができる。音声合成器(830)は、韻律翻訳器(870)から受信した情報に基づいて、第1の言語において強調された単語に対応する第2の言語の単語を強調して、音声を生成することができる。
【0057】
一実施例において、音声合成器(830)は、第2の言語の入力テキスト、第1の言語に対する話者の発声特徴、感情的特徴および翻訳された韻律的特徴を単一の人工ニューラルネットワークのテキスト音声合成モデルに入力して、話者の音声を模写し、第1の言語の入力音声の感情的特徴および韻律的特徴が反映された第2の言語の入力テキストに対応する第2の言語の出力音声データを生成することができる。この場合、第2の言語の出力音声は、第1の言語の入力音声を発話した話者の発声特徴、感情的特徴および韻律的特徴を反映して合成された音声であることができる。
【0058】
第1の言語の入力音声から話者の特徴を抽出して翻訳された音声を合成するのに利用する場合、その話者の声が予め学習されていない場合でも、話者の声を模写して似た声で、第2の言語の出力音声を生成することができる。また、第1の言語の入力音声から話者の感情的特徴を抽出する場合、その話者の該当の発言に対する感情を模写して、より自然に第2の言語の出力音声を生成することができる。また、第1の言語の入力音声から話者の韻律的特徴を抽出する場合、その話者の該当の発声の韻律を模写して、より自然な第2の言語の出力音声を生成することができる。
【0059】
図8には、第1の言語の入力音声から発声特徴、感情的特徴および韻律的特徴をすべて抽出して音声を合成することとして示されているが、これに限定されない。他の実施例においては、発声特徴、感情的特徴および韻律的特徴のうち少なくとも1つを他の話者の入力音声から抽出することもできる。例えば、感情的特徴および韻律的特徴は、第1の言語の入力音声から抽出し、発声特徴は、他の入力音声(例えば、有名人の音声)から抽出して、音声を合成することができる。この場合、合成された音声には第1の言語の入力音声を発話した話者の感情と韻律が反映されるが、他の入力音声を発話した話者(例えば、有名人)の声が反映されることができる。
【0060】
図9は、本開示の一実施例に係る韻律翻訳器(870)の構成を示す図である。図示されたように、韻律翻訳器(870)は、韻律エンコーダ(prosody encoder;910)、アテンション(attention;920)と韻律デコーダ(prosody decoder;930)を含むことができる。韻律エンコーダ(910)は、韻律的特徴抽出器が第1の言語(ソース言語)の入力音声から抽出した第1の言語の韻律的特徴を受信することができる。
【0061】
受信された第1の韻律的特徴は、韻律エンコーダ(910)、アテンション(920)および韻律デコーダ(930)を経て、第2の言語(翻訳される言語)の韻律的特徴に変換される。一例において、韻律翻訳器(870)は、シーケンスツーシーケンスの学習モデル(seq2seq;sequence-to-sequence model)を利用して学習することによって、ソース言語の韻律的特徴を翻訳される言語の韻律的特徴に変換することができる。つまり、シーケンスツーシーケンスの学習モデルは、RNN(recurrent neural network)に基づいたエンコーダ-デコーダ構造(encoder-decoder architecture)(「Sequence to Sequence Learning with Neural Networks、」Ilya Sutskever、et al.、2014参照)にアテンション構造(attention mechanism)(「Neural Machine Translation by Jointly Learning to Align and Translate、」Dzmitry Bahdanau、at al.、2015および「Effective Approaches to Attention-based Neural Machine Translation、」Minh-Thang Luong、at al.、2015参照)を結合して具現されることができる。
【0062】
図10は、本開示の一実施例に係る多言語テキスト音声合成器(1000)の構成を示す図である。図示されたように、多言語テキスト音声合成器(1000)は、エンコーダ(1010)、デコーダ(1020)およびボコーダー(1030)を含むことができる。エンコーダ(1010)は、入力テキストを受信することができる。
【0063】
入力テキストは、複数の言語で構成されていることができ、言語識別子や言語に関する情報を含まないことができる。例えば、入力テキストは、「アンニョンハセヨ」または「How are you?」のような文章を含むことができる。エンコーダ(1010)は、受信された入力テキストを字母単位、文字単位、音素(phoneme)単位に分離することができる。またはエンコーダ(1010)は、字母単位、文字単位、音素(phoneme)単位に分離された入力テキストを受信することができる。
【0064】
エンコーダ(1010)は、少なくとも1つの埋め込み層(例:EL言語1、EL言語2、...、EL言語N)を含むことができる。エンコーダ(1010)の少なくとも1つの埋め込み層は、字母単位、文字単位、音素(phoneme)単位に分離された入力テキストのそれぞれをテキスト埋め込みベクトルに変換することができる。エンコーダ(1010)は、分離された入力テキストをテキスト埋め込みベクトルに変換するために、すでに学習した機械学習モデルを使用することができる。エンコーダは、機械学習を遂行しながら機械学習モデルを更新することができる。機械学習モデルが更新される場合、分離された入力テキストに対するテキスト埋め込むベクトルも変更されることができる。
【0065】
エンコーダ(1010)は、テキスト埋め込みベクトルを全結合層(fully-connected layer)で構成されたDNN(Deep Neural Network)モジュールに入力することができる。DNNは、一般的なフィードフォワード層(feedforward layer)または線形層(linear layer)であることができる。
【0066】
エンコーダ(1010)は、DNNの出力をCNN(convolutional neural network)とRNN(Recurrent Neural Network)のうち少なくとも1つが含まれたモジュールに入力することができる。このとき、CNNとRNNのうち少なくとも1つが含まれたモジュールは、DNNの出力と一緒にデコーダ(1020)の埋め込み層の出力(s)も受信することができる。CNNは、畳み込みカーネル(convolution kernel)サイズによる地域的特性を捕捉することができ、RNNは、長期依存性(long term dependency)を捕捉することができる。CNNとRNNのうち少なくとも1つが含まれたモジュールは、出力としてエンコーダ(1010)の隠れ状態(h)を出力することができる。
【0067】
デコーダ(1020)の埋め込み層は、エンコーダ(1010)の埋め込み層と類似した演算を遂行することができる。埋め込み層は、話者IDを受信することができる。例えば、話者IDは、ワンホットベクトルであることができる。一実施例において、「トランプ」の話者IDは「1」に、「ムン・ジェイン」の話者IDは「2」に、「オバマ」の話者IDは「3」に指定されることができる。デコーダ(1020)の埋め込み層は、話者IDを話者埋め込みベクトル(s)に変換することができる。デコーダ(1020)は、話者IDを話者埋め込みベクトル(s)に変換するために、すでに学習された機械学習モデルを使用することができる。デコーダ(1020)は、機械学習を遂行しながら機械学習モデルを更新することができる。機械学習モデルが更新される場合、話者IDに対する話者埋め込みベクトル(s)も変更されることができる。
【0068】
デコーダ(1020)のアテンション(Attention)は、エンコーダ(1010)からエンコーダの隠れ状態(h)を受信することができる。また、デコーダ(1020)のアテンションは、アテンションRNNから情報を受信することができる。アテンションRNNから受信した情報は、デコーダ(1020)が以前の時間-ステップ(time-step)までどの音声を生成したのかに関する情報であることができる。また、デコーダ(1020)のアテンションは、アテンションRNNから受信した情報およびエンコーダの隠れ状態(h)に基づいて、コンテキストベクトル(Ct)を出力することができる。エンコーダの隠れ状態(h)は、音声を生成すべき入力テキストに関する情報であることができる。
【0069】
コンテキストベクトル(Ct)は、現在の時間-ステップ(time-step)で入力テキストのうちどの部分から音声を生成するかを決定するための情報であることができる。例えば、デコーダ(1020)のアテンションは、音声生成の初期には、テキスト入力の前部分に基づいて音声を生成し、音声が生成されるにつれて、徐々にテキスト入力の後部分に基づいて音声を生成するようにする情報を出力することができる。
【0070】
図示されたように、デコーダ(1020)は、話者埋め込みベクトル(s)をアテンションRNN、デコーダRNNおよびエンコーダ(1010)のCNNとRNNのうち少なくとも1つが含まれたモジュールに入力して、話者別に異ならせてデコードをするように人工ニューラルネットワークの構造を構成することができる。デコーダ(1020)のRNNは、自動回帰(autoregressive)方式で構成されることができる。つまり、以前の時間-ステップ(time-step)で出力されたrフレームの出力が、今回の時間-ステップの入力として使用されることができる。最初の時間-ステップ(1022)では以前の時間-ステップが存在しないため、ダミーフレームがDNNに入力されることができる。
【0071】
デコーダ(1022)は、全結合層(fully-connected layer)で構成されたDNNを含むことができる。DNNは、一般的なフィードフォワード層(feedforward layer)または線形層(linear layer)であることができる。また、デコーダ(1022)は、GRUで構成されたアテンションRNNを含むことができる。アテンションRNNは、アテンションで使用される情報を出力する層である。アテンションに関しては、上述したので詳細な説明は省略する。
【0072】
デコーダ(1020)は、レジデュアル(residual)GRUで構成されたデコーダRNNを含むことができる。デコーダRNNは、アテンションから入力テキストの位置情報を受信することができる。つまり、位置情報は、デコーダ(1020)が入力テキストのどの位置を音声に変換しているかに関する情報であることができる。
【0073】
デコーダRNNは、アテンションRNNから情報を受信することができる。アテンションRNNから受信した情報は、デコーダが以前の時間-ステップ(time-step)までどの音声を生成したのかに関する情報および今回の時間-ステップで生成しなければならない音声に関する情報であることができる。デコーダRNNは、今まで生成した音声に後続する次の出力音声を生成することができる。出力音声は、メルスペクトログラムの形態を有することができ、r個のフレームで構成されることができる。
【0074】
テキスト音声合成のために、DNN、アテンションRNNおよびデコーダRNNの動作は、繰り返して遂行されることができる。例えば、最初の時間-ステップ(1022)で取得されたr個のフレームは、次の時間-ステップ(1024)の入力となることができる。また、時間-ステップ(1024)で出力されたr個のフレームは、その次の時間-ステップ(1026)の入力となることができる。
【0075】
上述したような過程を通じて、テキストのすべての単位に対する音声が生成されることができる。テキスト音声合成システムは、それぞれの時間-ステップごとに出たメルスペクトログラムを時間順に連結(concatenate)して、全体テキストに対するメルスペクトログラムを取得することができる。デコーダ(1020)で生成された全体テキストに対するメルスペクトログラムは、第1のボコーダー(1030)または第2のボコーダー(1040)に出力されることができる。
【0076】
第1のボコーダー(1030)は、CNNとRNNのうち少なくとも1つが含まれたモジュールとGriffin-Lim復元モジュールを含むことができる。第1のボコーダー(1030)のCNNとRNNのうち少なくとも1つが含まれたモジュールは、エンコーダ(1010)のCNNとRNNのうち少なくとも1つが含まれたモジュールと類似した動作をすることができる。すなわち、第1のボコーダー(1030)のCNNとRNNのうち少なくとも1つが含まれたモジュールは、地域的特性と長期依存性を捕捉することができ、線形-スケールスペクトログラム(linear-scale spectrogram)を出力することができる。第1のボコーダー(1030)は、線形-スケールスペクトログラムに対してGriffin-Limアルゴリズムを適用し、入力テキストに対応する音声信号を話者IDに該当する声に模写して、出力することができる。
【0077】
第2のボコーダー(1040)は、機械学習モデルに基づいて、メルスペクトログラムから音声信号を取得することができる。機械学習モデルは、メルスペクトログラムから音声信号を予測するネットワークを学習したものであることができる。例えば、機械学習モデルは、WaveNetまたはWaveGlowのようなモデルが使用されることができる。第2のボコーダー(1040)は、第1のボコーダ(1030)の代わりに使用されることができる。
【0078】
このような人工ニューラルネットワークベースの多言語テキスト音声合成器(1000)は、多国語の学習テキストとそれに対応する学習音声信号のペアで存在する大容量のデータベースを利用して学習される。多言語テキスト音声合成器(1000)は、学習テキストを受信し、出力された音声信号を学習音声信号と比較して、損失関数(loss function)を定義することができる。音声合成器は、損失関数を誤差逆伝播(error back propagation)アルゴリズムを通じて学習して、最終的に任意のテキストを入力したときに必要な音声出力が出る人工ニューラルネットワークを得ることができる。
【0079】
多言語テキスト音声合成器(1000)は、上述した方法で生成された単一の人工ニューラルネットワークのテキスト音声合成モデルを利用して、特定の話者の声を模写する音声を合成することができる。また、多言語テキスト音声合成器(1000)は、特定の話者の母国語と他の言語の音声も、その話者の声を模写して合成することができる。つまり、多言語テキスト音声合成器(1000)は、第1の言語を駆使する話者が第2の言語を話す音声を合成することができる。例えば、トランプが、入力された韓国語のテキストを韓国語で話すように音声を合成することができる。
【0080】
図11は、IPA(International Phonetic Alphabet)とKoG2P音素の対応関係および英語と韓国語の共通の発音を有する音素の対応関係を示す。互いに異なる言語の発音は、1つのアルファベット体系であるIPA(International Phonetic Alphabet)によって記述されることができる。互いに異なる言語の発音に対するIPAは、類似性情報として使用されることができる。IPA-CMUdictとIPA-KoG2Pの変換表は、表(1110)の通りである。IPAの側面で第1の言語の音素と第2の言語の音素との間には1対1の対応が成立しないが、第1の言語と第2の言語の共通の発音を有する音素を含む部分集合を選択することができる。例えば、英語と韓国語の共通の発音を有する音素を選択した下位集合は、表(1120)の通りである。
【0081】
第1の言語と第2の言語は互いに異なる文字体系を有することができ、互いに異なる発音体系を有することができる。同じアルファベット体系であるIPAを利用して第1の言語と第2の言語を表現する場合、それぞれの言語に対して標準化された処理を通じて、音声合成モデルを取得することができる。しかし、IPAは、それぞれの言語を同じアルファベット体系で表現するだけで、互いに異なる言語の発音または表記の類似性を完璧に表すことはできない。例えば、第1の言語に使用されるIPAアルファベットが、第2の言語には全く使用されないことも可能である。音声合成モデルは、第1の言語でのみ使用されるIPAアルファベットを第2の言語のどのIPAアルファベットに対応させるか知ることができないので、IPAを利用する場合、それぞれの言語に特化された音声合成モデルのみ取得されることができる。すなわち、第1の言語に対する音声合成モデルは、第1の言語に関連するデータの処理だけ可能であって、第2の言語に関連するデータは処理できない。逆に第2の言語に対する音声合成モデルは、第2の言語に関連付するデータの処理だけ可能であって、第1の言語に関連するデータは処理できない。
【0082】
図12は、韓国語音素と最も類似している英語の音素を示す表である。本開示の一実施例に係るテキスト音声合成システムは、機械学習モデルに基づいて、言語のアンカー(anchor)音素に対する音素間のコサイン距離を計算することができる。コサイン距離を計算するために、機械学習モデルに基づいて取得された音素埋め込みベクトルが使用されることができる。音素間のコサイン距離は、音素間の類似度を示すことができる。
【0083】
計算された音素間のコサイン距離に基づいて、韓国語の音素に対する5つの最も近い英語の音素埋め込みを列挙すると、表(1210)の通りである。英語の音素埋め込みの後に付いた数字0、1および2は、それぞれ「ストレスなし」、「1次ストレス」および「2次ストレス」を示す。CMUdictは強調された発音を区別するのに対し、IPAは強調された発音を区別しないことができる。括弧内の記号はIPA記号である。
【0084】
表(1210)によれば、本開示の一実施例による機械学習モデルに基づいた、アンカー(anchor)音素に対する5つの最も近い音素埋め込みは、図11の表(1120)と類似していることを確認できる。すなわち、本開示の一実施例による機械学習モデルは、第1の言語の音素および第2の言語の音素間の発音に対する類似性情報または表記に対する類似性情報、第1の言語に対する言語識別子/言語情報、そして第2の言語に対する言語識別子/言語情報が学習時に入力されなくても、言語間の類似する発音または表記を自動的に学習することを確認できる。したがって、本開示の一実施例によるテキスト音声合成システムは、単一の人工ニューラルネットワークのテキスト音声合成モデルに基づいて、学習した複数の言語に対してテキスト音声合成(TTS)を遂行することができる。
【0085】
図13は、英語の音素で生成された音声と韓国語の音素で生成された音声の類似性を示すスペクトログラムである。スペクトログラム(1310)は、「He has many good friends」という文章を、英語音素シーケンス(HH、IY1、 、HH、AE1、Z、 、M、EH1、N、IY0、 、G、UH1、D、 、F、R、EH1、N、D、Z)で音声を合成した結果である。スペクトログラム(1320)は、同じ文章の英語の音素シーケンス内の各音素を、最も近い韓国語の音素に代替して生成された韓国語の音素シーケンス(h0、wi、 、h0、ya、s0、 、mf、ye、nf、ii、 、kk、yo、tt、 、ph、ks、ye、nf、tt、s0)で音声を合成した結果である。
【0086】
スペクトログラム(1310)とスペクトログラム(1320)を比較すると、英語の音素シーケンスで音声を合成した結果と韓国語の音素シーケンスで音声を合成した結果が類似することを確認できる。したがって、第1の言語の音素を利用して、第2の言語のテキストを音声に合成しても、高品質の音声合成結果を得ることができることを確認できる。すなわち、第1の言語で発話した話者の発声特徴を利用して、第2の言語のテキストを音声に合成しても、第1の言語が母国語であるその話者が、第2の言語で発話する結果を得ることができる。
【0087】
図14は、TTS機械学習モデルを学習するのに使用された英語のデータの時間変化によるcharacter error rate(CER)を示す表(1410)である。本例示において、TTS機械学習モデルは、十分な韓国語学習データがある条件で、英語学習データの量を変えながら学習された。表(1410)は、音声合成の品質を数値化するために、テキストから合成された音声出力物を聴取した人が文字で記録し、原本テキストとの結果を比較したエラー率を示す。
【0088】
表(1410)によれば、英語のテキストと韓国語の話者の発声特徴をTTS機械学習モデルに入力して、その話者の英語のテキストに対応する英語スピーチを合成する場合、使用された英語学習データの時間が増えるほどCERが減少する。つまり、機械学習に使用される英語学習データの時間が増えるほど、韓国語の話者が読んだ英語のテキストのスピーチに対するCERは減少する。
【0089】
一方、韓国語のテキストと英語の話者の発声特徴をTTS機械学習モデルに入力して、その話者の韓国語のテキストに対応する韓国語スピーチを合成する場合、使用された英語学習データの時間が増えてもCERは大きな差がない。これは、機械学習に使用された韓国語で構成されたデータの量が英語のデータ量より多いため、CERがすでに臨界まで減少した状態を示すものであることができる。テキスト音声合成システムが臨界量以上のデータを利用して機械学習をする場合、CERを十分に減らすことが可能であることを確認できる。また、多量の韓国語学習データと少量の英語学習データを利用してTTSの機械学習モデルを学習させる場合にも、英語のテキストをスピーチに合成した結果物が比較的高い品質で生成されることを確認できる。
【0090】
本開示によれば、複数の言語に対する入力テキスト(text input)と出力音声(audio output)だけで、エンドツーエンドの(end-to-end)で多言語TTS機械学習モデルを生成することが可能である。また、従来の方式では、互いに異なる言語が1つの言語的特徴のセット(linguistic feature set)で表現するために、IPAのような複数の言語で共通に使用できる表記法を必要としたり、言語間の類似性に関する事前情報を必要としたりした。しかし、本開示によれば、言語的特徴(linguistic feature)が必要ではないため、各言語が異なるアルファベットを使用しても問題がなく、言語間の類似性に関する事前情報も必要としない。
【0091】
また、本開示は、モデルをエンドツーエンド(end-to-end)で学習させるため、音素の長さ(phoneme duration)などの既存のTTSで必要とした特徴(feature)を別途のモデルを利用して予測する必要がなく、単一のニューラルネットワーク(neural network)モデルでテキスト音声合成(TTS)作業を処理することができる。また、本開示によれば、テキストエンコーダ(Text encoder)でテキストエンコーディング(text encoding)を抽出する過程において、話者ID(speaker ID)の使用の有無に応じて海外同胞の話し方/流暢な話し方を調節することができる。例えば、第1の言語の音声を生成するとき、第2の言語の発音が強い場合には、学習するときにペナルティを与えることができる。ペナルティを適用した機械学習モデルによれば、より第1の言語の発音に近い音声が生成されることができる。
【0092】
図15は、本開示の一実施例に係るテキスト音声合成システム(1500)のブロック図である。一実施例によるテキスト音声合成システム(1500)は、データ学習部(1510)とデータ認識部(1520)を含むことができる。データ学習部(1510)は、データを入力して機械学習モデルを取得することができる。また、データ認識部(302)は、データを機械学習モデルに適用して、出力音声を生成することができる。上述したようなテキスト音声合成システム(1500)は、プロセッサおよびメモリを含むことができる。
【0093】
データ学習部(1510)は、テキストに対する音声学習をすることができる。データ学習部(1510)は、テキストに応じてどの音声を出力するかに関する基準を学習することができる。また、データ学習部(1510)は、どの音声の特徴を利用して音声を出力するかに関する基準を学習することができる。音声の特徴は、音素の発音、ユーザーの語調、イントネーションまたはアクセントのうち少なくとも1つを含むことができる。データ学習部(1510)は、学習に利用されるデータを取得し、取得されたデータを後述するデータ学習モデルに適用することによって、テキストに応じた音声を学習することができる。
【0094】
データ認識部(1520)は、テキストに基づいてテキストに対する音声を出力することができる。データ認識部(1520)は、学習されたデータ学習モデルを利用して、所定のテキストから音声を出力することができる。データ認識部(1520)は、学習による予め設定された基準に基づいて、所定のテキスト(データ)を取得することができる。また、データ認識部(1520)は、取得されたデータを入力値としてデータ学習モデルを利用することによって、所定のデータに基づいた音声を出力することができる。また、取得されたデータを入力値としてデータ学習モデルによって出力された結果値は、データ学習モデルを更新するのに利用されることができる。
【0095】
データ学習部(1510)またはデータ認識部(1520)のうち少なくとも1つは、少なくとも1つのハードウェアチップ形態に製作されて、電子機器に搭載されることができる。例えば、データ学習部(1510)またはデータ認識部(1520)のうち少なくとも1つは、人工知能(AI;artificial intelligence)のための専用ハードウェアチップの形態に製作されることもでき、または既存の汎用プロセッサ(例:CPUまたはapplication processor)またはグラフィック専用プロセッサ(例:GPU)の一部として製作され、すでに説明した各種の電子機器に搭載されることもできる。
【0096】
また、データ学習部(1510)およびデータ認識部(1520)は、別々の電子機器にそれぞれ搭載されることもできる。例えば、データ学習部(1510)およびデータ認識部(1520)のうち1つは電子機器に含まれ、残りの1つはサーバーに含まれることができる。また、データ学習部(1510)およびデータ認識部(1520)は、有線または無線を通じて、データ学習部(1510)が構築したモデルの情報をデータ認識部(1520)に提供することもでき、データ認識部(1520)に入力されたデータが追加の学習データとしてデータ学習部(1510)に提供されることもできる。
【0097】
一方、データ学習部(1510)またはデータ認識部(1520)のうち少なくとも1つは、ソフトウェアモジュールで具現されることができる。データ学習部(1510)およびデータ認識部(1520)のうち少なくとも1つが、ソフトウェアモジュール(または、命令(instruction)を含むプログラムモジュール)で具現される場合、ソフトウェアモジュールは、メモリまたはコンピュータ読み取り可能な非一時的な読み取り可能な記録媒体(non-transitory computer readable media)に格納されることができる。また、この場合、少なくとも1つのソフトウェアモジュールは、OS(Operating System)によって提供されたり、所定のアプリケーションによって提供されたりすることができる。これと異なり、少なくとも1つのソフトウェアモジュールのうち一部はOS(Operating System)によって提供され、残りの一部は所定のアプリケーションによって提供されることができる。
【0098】
本開示の一実施例によるデータ学習部(1510)は、データ取得部(1511)、前処理部(1512)、学習データ選択部(1513)、モデル学習部(1514)およびモデル評価部(1515)を含むことができる。
【0099】
データ取得部(1511)は、機械学習に必要なデータを取得することができる。学習のためには多くのデータが必要であるため、データ取得部(1511)は、複数のテキストおよびそれに対応する音声を受信することができる。
【0100】
前処理部(1512)は、ユーザーの心理状態判断のために取得されたデータが機械学習に使用され得るように、取得されたデータを前処理することができる。前処理部(1512)は、後述するモデル学習部(1514)が利用できるように、取得されたデータを予め設定されたフォーマットに加工することができる。例えば、前処理部(1512)は、テキストおよび音声を形態素解析して形態素埋め込みを取得することができる。
【0101】
学習データ選択部(1513)は、前処理されたデータの中から学習に必要なデータを選択することができる。選択されたデータは、モデル学習部(1514)に提供されることができる。学習データ選択部(1513)は、既設定された基準に基づいて、前処理されたデータの中から学習に必要なデータを選択することができる。また、学習データ選択部(1513)は、後述するモデル学習部(1514)による学習によって、既設定された基準に基づいてデータを選択することもできる。
【0102】
モデル学習部(1514)は、学習データに基づいて、テキストに応じてどの音声を出力するかに関する基準を学習することができる。また、モデル学習部(1514)は、テキストに応じて音声を出力する学習モデルを学習データとして利用して学習させることができる。この場合、データ学習モデルは、予め構築されたモデルを含むことができる。例えば、データ学習モデルは、基本学習データ(例えば、サンプルイメージなど)の入力を受けて予め構築されたモデルを含むことができる。
【0103】
データ学習モデルは、学習モデルの適用分野、学習の目的または装置のコンピュータ性能などを考慮して構築されることができる。データ学習モデルは、例えば、ニューラルネットワーク(Neural Network)をベースにするモデルを含むことができる。例えば、ディープニューラルネットワーク(DNN;Deep Neural Network)、回帰型ニューラルネットワーク(RNN;Recurrent Neural Network)、長・短期記憶モデル(LSTM;Long Short-Term Memory models)、双方向性回帰型ディープニューラルネットワーク(BRDNN;Bidirectional Recurrent Deep Neural Network)、畳み込みニューラルネットワーク(CNN;Convolutional Neural Networks)などのようなモデルがデータ学習モデルとして使用されることができるが、これに限定されない。
【0104】
多様な実施例によれば、モデル学習部(1514)は、予め構築されたデータ学習モデルが複数個存在する場合、入力された学習データと基本学習データの関連性が大きいデータ学習モデルを学習するデータ学習モデルとして決定することができる。この場合、基本学習データは、データのタイプ別に既分類されていることができ、データ学習モデルは、データのタイプ別に予め構築されていることができる。例えば、基本学習データは、学習データが生成された地域、学習データが生成された時間、学習データの大きさ、学習データのジャンル、学習データの生成者、学習データ内のオブジェクトの種類などのような多様な基準で既分類されていることができる。
【0105】
また、モデル学習部(1514)は、例えば、誤差逆伝播法(error back-propagation)または最急降下法(gradient descent)を含む学習アルゴリズムなどを利用して、データ学習モデルを学習させることができる。
【0106】
また、モデル学習部(1514)は、例えば、学習データを入力値とする教師あり学習(supervised learning)を通じて、データ学習モデルを学習することができる。
また、モデル学習部(1514)は、例えば、別途のガイドなしに、状況判断のために必要なデータの種類を自分で学習することによって状況判断のための基準を発見する教師なし学習(unsupervised learning)を通じて、データ学習モデルを学習することができる。また、モデル学習部(1514)は、例えば、学習による状況判断の結果が正しいかに対するフィードバックを利用する強化学習(reinforcement learning)を通じて、データ学習モデルを学習することができる。
【0107】
また、データ学習モデルが学習されると、モデル学習部(1514)は、学習されたデータ学習モデルを格納することができる。この場合、モデル学習部(1514)は、学習されたデータ学習モデルを、データ認識部(1520)を含む電子機器のメモリに格納することができる。また、モデル学習部(1514)は、学習されたデータ学習モデルを電子機器と有線または無線ネットワークで接続されるサーバーのメモリに格納することもできる。
【0108】
この場合、学習されたデータ学習モデルが格納されるメモリは、例えば、電子機器の少なくとも1つの他の構成要素に関係された命令またはデータを一緒に格納することもできる。さらに、メモリは、ソフトウェアおよび/またはプログラムを格納することもできる。プログラムは、例えば、カーネル、ミドルウェア、アプリケーションプログラミングインターフェース(API)および/またはアプリケーションプログラム(または「アプリケーション」)などを含むことができる。
【0109】
モデル評価部(1515)は、データ学習モデルに評価データを入力し、評価データから出力される結果が所定の基準を満たさない場合、モデル学習部(1514)が再学習するようにすることができる。この場合、評価データは、データ学習モデルを評価するための既設定されたデータを含むことができる。
【0110】
例えば、モデル評価部(1515)は、評価データに対する学習されたデータ学習モデルの結果の中で、認識結果が正確でない評価データの数または比率が予め設定されたしきい値を超える場合、所定の基準を満たさないものと評価することができる。例えば、所定の基準が比率2%で定義される場合において、学習されたデータ学習モデルが総1000個の評価データの中で20個を超える評価データに対して誤った認識結果を出力する場合、モデル評価部(1515)は、学習されたデータ学習モデルが適していないものであると評価することができる。
【0111】
一方、学習されたデータ学習モデルが複数個存在する場合、モデル評価部(1515)は、それぞれの学習された動画学習モデルに対して所定の基準を満たすかを評価し、所定の基準を満足するモデルを最終データ学習モデルとして決定することができる。この場合、所定の基準を満たすモデルが複数個である場合、モデル評価部(1515)は、評価点数の高い順に予め設定されたある1つまたは所定個数のモデルを最終データ学習モデルとして決定することができる。
【0112】
一方、データ学習部(1510)内のデータ取得部(1511)、前処理部(1512)は、学習データ選択部(1513)、モデル学習部(1514)またはモデル評価部(1515)のうち少なくとも1つは、少なくとも1つのハードウェアチップ形態に製作されて、電子機器に搭載されることができる。例えば、データ取得部(1511)、前処理部(1512)、学習データ選択部(1513)、モデル学習部(1514)またはモデル評価部(1515)のうち少なくとも1つは、人工知能(AI;artificial intelligence)のための専用ハードウェアチップの形態に製作されることもでき、または既存の汎用プロセッサ(例:CPUまたはapplication processor)またはグラフィック専用プロセッサ(例:GPU)の一部として製作され、前述した各種の電子機器に搭載されることもできる。
【0113】
また、データ取得部(1511)、前処理部(1512)、学習データ選択部(1513)、モデル学習部(1514)およびモデル評価部(1515)は、1つの電子機器に搭載されることもでき、または別の電子機器にそれぞれ搭載されることもできる。例えば、データ取得部(1511)、前処理部(1512)、学習データ選択部(1513)、モデル学習部(1514)およびモデル評価部(1515)のうち一部は電子機器に含まれ、残りの一部はサーバーに含まれることができる。
【0114】
また、データ取得部(1511)、前処理部(1512)、学習データ選択部(1513)、モデル学習部(1514)またはモデル評価部(1515)のうち少なくとも1つは、ソフトウェアモジュールで具現されることができる。データ取得部(1511)、前処理部(1512)、学習データ選択部(1513)、モデル学習部(1514)またはモデル評価部(1515)のうち少なくとも1つがソフトウェアモジュール(または、命令(instruction)を含むプログラムモジュール)で具現される場合、ソフトウェアモジュールは、コンピュータ読み取り可能な非一時的な読み取り可能な記録媒体(non-transitory computer readable media)に格納されることができる。また、この場合、少なくとも1つのソフトウェアモジュールは、OS(Operating System)によって提供されたり、所定のアプリケーションによって提供されたりすることができる。これと異なり、少なくとも1つのソフトウェアモジュールのうち一部はOS(Operating System)によって提供され、残りの一部は所定のアプリケーションによって提供されることができる。
【0115】
本開示の一実施例によるデータ認識部(1520)は、データ取得部(1521)、前処理部(1522)、認識データ選択部(1523)、認識結果提供部(1524)およびモデル更新部(1525)を含むことができる。
【0116】
データ取得部(1521)は、音声を出力するために必要なテキストを取得することができる。逆に、データ取得部(1521)は、テキストを出力するために必要な音声を取得することができる。前処理部(1522)は、音声またはテキストを出力するために取得されたデータが使用され得るように、取得されたデータを前処理することができる。前処理部(1522)は、後述する認識結果提供部(1524)が音声またはテキストを出力するために取得されたデータを利用できるように、取得されたデータを既設定されたフォーマットに加工することができる。
【0117】
認識データ選択部(1523)は、前処理されたデータの中から音声またはテキストを出力するために必要なデータを選択することができる。選択されたデータは、認識結果提供部(1524)に提供されることができる。認識データ選択部(1523)は、音声またはテキストを出力するための既設定された基準に基づいて、前処理されたデータの中から一部または全部を選択することができる。また、認識データ選択部(1523)は、モデル学習部(1514)による学習によって、既設定された基準に基づいてデータを選択することもできる。
【0118】
認識結果提供部(1524)は、選択されたデータをデータ学習モデルに適用して、音声またはテキストを出力することができる。認識結果提供部(1524)は、認識データ選択部(1523)によって選択されたデータを入力値として利用することにより、選択されたデータをデータ学習モデルに適用することができる。また、認識結果は、データ学習モデルによって決定されることができる。
【0119】
モデル更新部(1525)は、認識結果提供部(1524)によって提供される認識結果に対する評価に基づいて、データ学習モデルが更新されるようにすることができる。例えば、モデル更新部(1525)は、認識結果提供部(1524)によって提供される認識結果をモデル学習部(1514)に提供することにより、モデル学習部(1514)がデータ学習モデルを更新するようにすることができる。
【0120】
一方、データ認識部(1520)内のデータ取得部(1521)、前処理部(1522)、認識データ選択部(1523)、認識結果提供部(1524)またはモデル更新部(1525)のうち少なくとも1つは、少なくとも1つのハードウェアチップの形態に製作されて、電子機器に搭載されることができる。例えば、データ取得部(1521)、前処理部(1522)、認識データ選択部(1523)、認識結果提供部(1524)またはモデル更新部(1525)のうち少なくとも1つは、人工知能(AI;artificial intelligence)のための専用ハードウェアチップの形態に製作されることもでき、または既存の汎用プロセッサ(例:CPUまたはapplication processor)またはグラフィック専用プロセッサ(例:GPU)の一部として製作され、前述した各種の電子機器に搭載されることもできる。
【0121】
また、データ取得部(1521)、前処理部(1522)、認識データ選択部(1523)、認識結果提供部(1524)およびモデル更新部(1525)は、1つの電子機器に搭載されることもでき、または別の電子機器にそれぞれ搭載されることもできる。例えば、データ取得部(1521)、前処理部(1522)、認識データ選択部(1523)、認識結果提供部(1524)およびモデル更新部(1525)のうち一部は電子機器に含まれ、残りの一部はサーバーに含まれることができる。
【0122】
また、データ取得部(1521)、前処理部(1522)、認識データ選択部(1523)、認識結果提供部(1524)またはモデル更新部(1525)のうち少なくとも1つは、ソフトウェアモジュールで具現されることができる。データ取得部(1521)、前処理部(1522)、認識データ選択部(1523)、認識結果提供部(1524)またはモデル更新部(1525)のうち少なくとも1つが、ソフトウェアモジュール(または、命令(instruction)を含むプログラムモジュール)で具現される場合、ソフトウェアモジュールは、コンピュータ読み取り可能な非一時的な読み取り可能な記録媒体(non-transitory computer readable media)に格納されることができる。また、この場合、少なくとも1つのソフトウェアモジュールは、OS(Operating System)によって提供されたり、所定のアプリケーションによって提供されたりすることができる。これと異なり、少なくとも1つのソフトウェアモジュールのうち一部はOS(Operating System)によって提供され、残りの一部は所定のアプリケーションによって提供されることができる。
【0123】
これまでに多様な実施例を中心に説明した。本発明が属する技術分野において通常の知識を有する者は、本発明が、本発明の本質的な特性から逸脱しない範囲で変形された形態で具現され得ることを理解できるであろう。したがって、開示された実施例は、限定的な観点ではなく、説明的な観点から考慮されるべきである。本発明の範囲は、前述した説明ではなく、特許請求の範囲に示されており、それと同等の範囲内にあるすべての違いは、本発明に含まれるものと解釈されるべきである。
【0124】
一方、上述した本発明の実施例は、コンピュータで実行され得るプログラムで作成可能であり、コンピュータ読み取り可能な記録媒体を利用してプログラムを動作させる汎用デジタルコンピュータで具現されることができる。コンピュータ読み取り可能な記録媒体は、磁気記録媒体(例えば、ロム、フロッピーディスク、ハードディスクなど)、光学的読み取り媒体(例えば、CD-ROM、DVDなど)のような記憶媒体を含む。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15