(57)【要約】【課題】音素表記されたテキストデータから合成音の自然性が劣化しにくい分割データを出力する。【解決手段】本発明に係るテキストデータ分割装置１は、音素表記されたテキストデータを予め登録されている音素列に分割した音素列分割仮説データを複数生成し、１つの音素列分割仮説データを選択して出力するテキストデータ分割装置１であって、分割点前後の２つの音素の種類で決まる接続コストを記憶する接続コスト記憶部２２と、前記接続コストに基づき各音素列分割仮説データのコストを計算する順次コスト計算部１２と、前記コストのうち最小コストを持つ音素列分割仮説データを選択して出力する音素列分割データ出力部１３と、を備え、前記接続コストは、特定の音素に関する接続コストが他の接続コストより低い。【選択図】図１
2015138074.tif 000002
【特許請求の範囲】
【請求項１】
音素表記されたテキストデータを予め登録されている音素列に分割した音素列分割仮説データを複数生成し、１つの音素列分割仮説データを選択して出力するテキストデータ分割装置であって、
分割点前後の２つの音素の種類で決まる接続コストを記憶する接続コスト記憶部と、
前記接続コストに基づき各音素列分割仮説データのコストを計算する順次コスト計算部と、
前記コストのうち最小コストを持つ音素列分割仮説データを選択して出力する音素列分割データ出力部と、を備え、
前記接続コストは、特定の音素に関する接続コストが他の接続コストより低い、ことを特徴とするテキストデータ分割装置。
【請求項２】
任意音素と、無音、破裂音、摩擦音、破擦音又は促音の少なくとも１つの音素との間の接続コストが、その他の音素間の接続コストより低い、ことを特徴とする請求項１に記載のテキストデータ分割装置。
【請求項３】
音素列及び当該音素列の存在頻度に基づく信頼コストを記憶する音素列辞書記憶部を備え、前記順次コスト計算部は、前記信頼コスト及び前記接続コストに基づき各音素列分割仮説データのコストを計算する、請求項１又は２に記載のテキストデータ分割装置。
【請求項４】
前記順次コスト計算部は、
Ｎ＝１からＮ＝前記テキストデータの文字数となるまで、前記テキストデータの先頭Ｎ文字の音素列分割仮説データの最小コストを順次計算するものであって、
各先頭Ｎ文字について、
先頭Ｎ文字の信頼コストと、
Ｍ＝１からＭ＝Ｎ−１の範囲で先頭Ｎ文字を先頭Ｎ−Ｍ文字及び末尾Ｍ文字に順次分割して得られる、先頭Ｎ−Ｍ文字の最小コストと、先頭Ｎ−Ｍ文字及び末尾Ｍ文字間の接続コストと、末尾Ｍ文字の信頼コストとの合計コストとから、
先頭Ｎ文字の最小コストを計算する、請求項３に記載のテキストデータ分割装置。
【請求項５】
分割点前後の２つの音素の種類で決まる接続コストを記憶したテキストデータ分割装置に、
音素表記されたテキストデータを予め登録されている音素列に分割した音素列分割仮説データを複数生成するステップと、
前記接続コストに基づき各音素列分割仮説データのコストを計算するステップと、
前記コストのうち最小コストを持つ音素列分割仮説データを選択して出力するステップと、を実行させ、
前記接続コストは、特定の音素に関する接続コストが他の接続コストより低い、ことを特徴とするテキストデータ分割プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、テキストデータを予め登録されている音素列の単位で分割するテキストデータ分割装置およびテキストデータ分割プログラムに関する。
【背景技術】
【０００２】
音声合成装置によりテキストデータを音声として出力するには、まず、テキストデータを登録された単位（音素列）に分割する必要がある。従来、テキストデータを予め登録された音素列で分割するには、例えば特許文献１に記載の方法が利用できる。特許文献１に記載の方法では、入力されたテキストデータを登録された音素列で分割する際に、接続点数が最小になる分割データが選択され出力される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４４６０２４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の方法では、接続点数を最小にすることはできるが、接続点が母音−母音間となる場合などがあり、分割データを音声として出力する場合、合成音の自然性が劣化する可能性が高くなるという課題があった。
【０００５】
したがって、かかる点に鑑みてなされた本発明の目的は、音素表記されたテキストデータから合成音の自然性が劣化しにくい分割データを出力可能なテキストデータ分割装置およびテキストデータ分割プログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上述した諸課題を解決すべく、本発明に係るテキストデータ分割装置は、音素表記されたテキストデータを予め登録されている音素列に分割した音素列分割仮説データを複数生成し、１つの音素列分割仮説データを選択して出力するテキストデータ分割装置であって、分割点前後の２つの音素の種類で決まる接続コストを記憶する接続コスト記憶部と、前記接続コストに基づき各音素列分割仮説データのコストを計算する順次コスト計算部と、前記コストのうち最小コストを持つ音素列分割仮説データを選択して出力する音素列分割データ出力部と、を備え、前記接続コストは、特定の音素に関する接続コストが他の接続コストより低い、ことを特徴とする。
【０００７】
また、任意音素と、無音、破裂音、摩擦音、破擦音又は促音の少なくとも１つの音素との間の接続コストが、その他の音素間の接続コストより低い、ことが好ましい。
【０００８】
また、音素列及び当該音素列の存在頻度に基づく信頼コストを記憶する音素列辞書記憶部を備え、前記順次コスト計算部は、前記信頼コスト及び前記接続コストに基づき各音素列分割仮説データのコストを計算する、ことが好ましい。
【０００９】
また、前記順次コスト計算部は、Ｎ＝１からＮ＝前記テキストデータの文字数となるまで、前記テキストデータの先頭Ｎ文字の音素列分割仮説データの最小コストを順次計算するものであって、各先頭Ｎ文字について、先頭Ｎ文字の信頼コストと、Ｍ＝１からＭ＝Ｎ−１の範囲で先頭Ｎ文字を先頭Ｎ−Ｍ文字及び末尾Ｍ文字に順次分割して得られる、先頭Ｎ−Ｍ文字の最小コストと、先頭Ｎ−Ｍ文字及び末尾Ｍ文字間の接続コストと、末尾Ｍ文字の信頼コストとの合計コストとから、先頭Ｎ文字の最小コストを計算する、ことが好ましい。
【００１０】
上述したように本発明の解決手段を装置として説明してきたが、本発明はこれらに実質的に相当する方法、プログラム、プログラムを記録した記憶媒体としても実現し得るものであり、本発明の範囲にはこれらも包含されるものと理解されたい。
【００１１】
例えば、本発明をプログラムとして実現したテキストデータ分割プログラムは、分割点前後の２つの音素の種類で決まる接続コストを記憶したテキストデータ分割装置に、音素表記されたテキストデータを予め登録されている音素列に分割した音素列分割仮説データを複数生成するステップと、前記接続コストに基づき各音素列分割仮説データのコストを計算するステップと、前記コストのうち最小コストを持つ音素列分割仮説データを選択して出力するステップと、を実行させ、前記接続コストは、特定の音素に関する接続コストが他の接続コストより低い、ことを特徴とする。
【発明の効果】
【００１２】
本発明に係るテキストデータ分割装置およびテキストデータ分割プログラムによれば、音素表記されたテキストデータから合成音の自然性が劣化しにくい分割データを出力することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態に係るテキストデータ分割装置の概略構成を示す図である。
【図２】テキストデータ分割装置の処理を示すフローチャートである。
【図３】最小コスト取得処理の詳細を示すフローチャートである。
【図４】音素列辞書データベースの一例を示す図である。
【図５】接続コストデータベースの一例を示す図である。
【図６】音素列分割仮説データの最小コスト取得過程を示す図である。
【発明を実施するための形態】
【００１４】
以降、諸図面を参照しながら、本発明の実施態様を詳細に説明する。本実施形態に係るテキストデータ分割装置１は、合成音の自然性が劣化しにくい分割データを出力するため、分割点前後の２つの音素の種類で決まるコストである接続コストを用いて、接続コストに基づく合計コストが最小となる分割データを選択して出力するものである。
【００１５】
図１は、本発明の一実施形態に係るテキストデータ分割装置１の概略構成を示す図である。テキストデータ分割装置１は、音素列辞書参照部１１、順次コスト計算部１２及び音素列分割データ出力部１３を含む制御部１０と、音素列辞書データベース２１（音素列辞書記憶部）、接続コストデータベース２２（接続コスト記憶部）及び仮説データ記憶部２３を含む記憶部２０とを備える。制御部１０の各処理部１１〜１３は好適なプロセッサにより構成され、各処理部１１〜１３を共通のプロセッサで実装したり、個別のプロセッサとして実装したりすることができる。記憶部２０は好適な記憶装置であって、テキストデータ分割装置１に内蔵されるものだけではなく、通信インターフェースを介した外部記憶装置を用いてもよい。
【００１６】
音素列辞書参照部１１は、順次コスト計算部１２からの音素列の取得要求に応じ、音素列辞書データベース２１に当該音素列が登録されているか否かを返答する。音素列辞書参照部１１は、音素列辞書データベース２１に音素列の信頼コストが登録されている場合、当該信頼コストを順次コスト計算部１２に返答する。
【００１７】
順次コスト計算部１２は、テキストデータを音素列に分割した音素列分割仮説データを複数生成し、少なくとも接続コストに基づき各音素列分割仮説データのコストを計算する。順次コスト計算部１２は、好適には、信頼コスト及び接続コストに基づき各音素列分割仮説データのコストを計算する。具体的には、順次コスト計算部１２は、計算対象となる文字数Ｎ＝１からＮ＝テキストデータの文字数となるまで、テキストデータの先頭Ｎ文字の音素列分割仮説データの最小コストを順次計算する。より詳細には、順次コスト計算部１２は、先頭Ｎ文字について、先頭Ｎ文字自体の信頼コストと、Ｍ＝１からＭ＝Ｎ−１の範囲で先頭Ｎ文字を先頭Ｎ−Ｍ文字及び末尾Ｍ文字に順次分割して得られる、先頭Ｎ−Ｍ文字の最小コストと、先頭Ｎ−Ｍ文字及び末尾Ｍ文字間の接続コストと、末尾Ｍ文字の信頼コストとの合計コストとから、先頭Ｎ文字の最小コストを計算する。なお、順次コスト計算部１２による計算の詳細は後述するものとする。順次コスト計算部１２は、計算した音素列分割仮説データの最小コストを仮説データ記憶部２３に記憶する。
【００１８】
音素列分割データ出力部１３は、仮説データ記憶部２３から最小コストとなる音素列分割仮説データを選択し、音声合成等に用いる音素列分割データとして出力する。
【００１９】
音素列辞書データベース２１は、登録された各音素列と対応づけて、各音素列の信頼コストを記憶する。信頼コストとは、音素列の存在頻度に基づくコストである。例えば、存在頻度が高い音素列の信頼コストは低く（選択されやすく）、存在頻度が低い音素列の信頼コストは高く（選択されにくく）設定される。
【００２０】
接続コストデータベース２２は、音素接続パターンと対応づけて、接続コストを記憶する。接続コストとは、分割点前後の２つの音素の種類で決まるコストである。例えば、接続しても合成音の自然性が劣化しない音素間の接続コストは低く（選択されやすく＝分割されやすく）、接続すると合成音の自然性が劣化する可能性が高い音素間の接続コストは高く（選択されにくく＝分割されにくく）設定される。すなわち、特定の音素に関する接続コストを他の接続コストより低く設定することにより、入力されたテキストデータが当該特定音素の前（又は後）で分割される可能性が高まり、結果的に合成音の自然性を劣化させにくくすることが可能となる。特に、任意音素と、無音（句読点）、破裂音、摩擦音、破擦音又は促音の少なくとも１つの音素との間の接続コストは、その他の音素間の接続コストより低く設定されることが好ましい。これは、無音、破裂音、摩擦音、破擦音又は促音という特定の音素をその直前の音素と分割することにより、合成音の自然性を高めることができるという知見に基づくものである。
【００２１】
仮説データ記憶部２３は、テキストデータを音素列に分割した複数の音素列分割仮説データと、順次コスト計算部１２が計算する各音素列分割仮説データのコストとを記憶する。また、仮説データ記憶部２３は、複数の音素列分割仮説データの最小コストと、最小コストに対応する最小音素列分割仮説データを記憶する。
【００２２】
以下、テキストデータ分割装置１の処理をフローチャートにより説明する。図２は、テキストデータ分割装置１の処理を示すフローチャートである。テキストデータ分割装置１は、キーボード等の入力インターフェースからの入力やファイル入力等により、分割対象となる音素表記されたテキストデータの入力を受け付ける（ステップＳ１０１）。順次コスト計算部１２は、コストの計算対象となる文字数Ｎを初期値である１（Ｎ＝１）に設定し（ステップＳ１０２）、入力されたテキストデータの先頭Ｎ文字の最小コストを取得する（ステップＳ１０３）。なお、最小コスト取得の詳細については後述するものとする。順次コスト計算部１２は、最小コストとなる先頭Ｎ文字の音素列分割仮説データを、最小音素列分割仮説データとして仮説データ記憶部２３に記憶する（ステップＳ１０４）。次いで、順次コスト計算部１２は、計算対象となる文字数Ｎを１文字増加させ（ステップＳ１０５）、文字数Ｎが入力されたテキストデータの文字数を超えるまでステップＳ１０３〜Ｓ１０６を繰り返す。ステップＳ１０６において文字数Ｎが入力文字数を超えると、仮説データ記憶部２３には文字数Ｎ＝入力文字数となる最小音素列分割仮説データが記憶されているため、音素列分割データ出力部１３は、当該最小音素列分割仮説データを音声合成等に用いる音素列分割データとして出力する（ステップＳ１０７）。
【００２３】
図３は、ステップＳ１０３の最小コスト取得の詳細を示すフローチャートである。順次コスト計算部１２は、音素列辞書参照部１１を通じて先頭Ｎ文字が音素列辞書データベース２１に存在するか確認する（ステップＳ２０１）。先頭Ｎ文字が音素列辞書データベース２１に存在する場合（ステップＳ２０１のＹｅｓ）、順次コスト計算部１２は、先頭Ｎ文字自体を音素列分割仮説データとし、先頭Ｎ文字の信頼コストを仮説データ記憶部２３に記憶する（ステップＳ２０２）。
【００２４】
文字数Ｎ＝１の場合（ステップＳ２０３のＮｏ）、先頭Ｎ文字自体以外の音素列分割仮説データは存在しないため、順次コスト計算部１２は、先頭Ｎ文字自体の信頼コストを最小コストとして選択し、仮説データ記憶部２３に記憶する（ステップＳ２１３）。
【００２５】
文字数Ｎ＞１の場合（ステップＳ２０３のＹｅｓ）、順次コスト計算部１２は、先頭Ｎ文字をさらに先頭Ｎ−Ｍ文字と末尾Ｍ文字とに分割してコストを計算するため、初期値としてＭ＝１を設定する（ステップＳ２０４）。順次コスト計算部１２は、先頭Ｎ文字の末尾Ｍ文字を取得し（ステップＳ２０５）、音素列辞書参照部１１を通じて末尾Ｍ文字が音素列辞書データベース２１に存在するか確認する（ステップＳ２０６）。末尾Ｍ文字が音素列辞書データベース２１に存在する場合、順次コスト計算部１２は、末尾Ｍ文字の信頼コストを取得する（ステップＳ２０７）。また、順次コスト計算部１２は、仮説データ記憶部２３を参照し、先頭Ｎ−Ｍ文字の最小コストを取得する（ステップＳ２０８）。ここで、図２のステップＳ１０３〜Ｓ１０６のループの通り、先頭Ｎ文字の最小コストはＮ＝１から順次算出されるものであるため、先頭Ｎ−Ｍ文字の最小コストは、以前のループにより既に計算されているものである。さらに、順次コスト計算部１２は、接続コストデータベース２２を参照し、先頭Ｎ−Ｍ文字と末尾Ｍ文字との接続コストを取得する（ステップＳ２０９）。順次コスト計算部１２は、先頭Ｎ−Ｍ文字の最小コストと、先頭Ｎ−Ｍ文字及び末尾Ｍ文字間の接続コストと、末尾Ｍ文字の信頼コストとの合計コストを、音素列分割仮説データのコストとして仮説データ記憶部２３に記憶する（ステップＳ２１０）。
【００２６】
順次コスト計算部１２は、文字数Ｍを１文字増加させ（ステップＳ２１１）、文字数Ｍが文字数Ｎより小さい間（Ｍ＜Ｎ）、ステップＳ２０５〜Ｓ２１２を繰り返す。ステップＳ２１２において文字数Ｎと文字数Ｍとが等しくなる場合、順次コスト計算部１２は、仮説データ記憶部２３に記憶されている各音素列分割仮説データから、最小コストを選択して仮説データ記憶部２３に記憶する（ステップＳ２１３）。
【００２７】
なお、ステップＳ２０１又はステップＳ２０６において、音素列辞書データベース２１に対象となる音素列が存在しない場合、順次コスト計算部１２は当該音素列の信頼コストが未定義又は非常に高い値が設定されているものとして処理を行うことができる。
【００２８】
これ以降、具体例として、「ｓａｋｕｒａ」というテキストデータの分割処理について詳述する。図４は、本例に用いる音素列辞書データベース２１を示す図である。音素列辞書データベース２１では、ｓ，ａ，ｋ，ｕ，ｒの信頼コストは０、ｋｕｒａの信頼コストは５、ｓａｋ，ｕｒａの信頼コストは３に設定されている。図５は、本例に用いる接続コストデータベース２２を示す図である。接続コストデータベース２２では、任意の音素（＊）と破裂音である音素ｋとの間の接続コストは０、その他の音素接続の接続コストは１０に設定されている。
【００２９】
図６は、順次コスト計算部１２による具体的な音素列分割仮説データの最小コストの計算過程を示す図である。ｓａｋｕｒａの文字数は６であるため、順次コスト計算部１２は、Ｎ＝１からＮ＝６になるまで音素列分割仮説データのコスト計算を行う。
【００３０】
Ｎ＝１の場合、「ｓａｋｕｒａ」の先頭からＮ文字は「ｓ」である。音素列辞書データベース２１には音素列「ｓ」が存在し、信頼コストが０であるため、順次コスト計算部１２は、先頭Ｎ文字自体である音素列分割仮説データ「ｓ」の信頼コスト０を仮説データ記憶部２３に記憶する。
Ｎ＝１の場合、これ以上の音素列分割仮説データは存在しないため、順次コスト計算部１２は、最小コストである０を選択し、最小コストに対応する音素列分割仮説データ「ｓ」を最小音素列分割仮説データとして仮説データ記憶部２３に記憶する。
【００３１】
Ｎ＝２の場合、「ｓａｋｕｒａ」の先頭からＮ文字は「ｓａ」である。音素列辞書データベース２１には音素列「ｓａ」が存在しないため、順次コスト計算部１２は、先頭Ｎ文字自体である音素列分割仮説データ「ｓａ」の信頼コストは未定義（以下、図６にて未定義を「−」と表わす）として仮説データ記憶部２３に記憶する。
Ｎ＝２の場合、先頭Ｎ文字を分割する文字数Ｍは１となり、順次コスト計算部１２は、文字数Ｍに対応する音素列分割仮説データのコストを計算する。
Ｍ＝１の場合、先頭Ｎ文字「ｓａ」の先頭Ｎ−Ｍ文字は「ｓ」、末尾Ｍ文字は「ａ」である。順次コスト計算部１２は、先頭Ｎ−Ｍ文字「ｓ」の最小コスト０と、音素接続「ｓ−ａ」の接続コスト１０と、末尾Ｍ文字「ａ」の信頼コスト０との合計コスト１０を仮説データ記憶部２３に記憶する。
Ｎ＝２の場合、これ以上の音素列分割仮説データは存在しないため、順次コスト計算部１２は、最小コストである１０を選択し、最小コストに対応する音素列分割仮説データ「ｓ−ａ」を最小音素列分割仮説データとして仮説データ記憶部２３に記憶する。
【００３２】
Ｎ＝３の場合、「ｓａｋｕｒａ」の先頭からＮ文字は「ｓａｋ」である。音素列辞書データベース２１には音素列「ｓａｋ」が存在し、信頼コストが３であるため、順次コスト計算部１２は、先頭Ｎ文字自体である音素列分割仮説データ「ｓａｋ」の信頼コスト３を仮説データ記憶部２３に記憶する。
Ｎ＝３の場合、先頭Ｎ文字を分割する文字数Ｍは１又は２となり、順次コスト計算部１２は、文字数Ｍに対応する音素列分割仮説データのコストを計算する。
Ｍ＝１の場合、先頭Ｎ文字「ｓａｋ」の先頭Ｎ−Ｍ文字は「ｓａ」、末尾Ｍ文字は「ｋ」であり、音素列分割仮説データは「ｓａ−ｋ」となる。順次コスト計算部１２は、先頭Ｎ−Ｍ文字「ｓａ」の最小コスト１０と、音素接続「ａ−ｋ」の接続コスト０と、末尾Ｍ文字「ｋ」の信頼コスト０との合計コスト１０を仮説データ記憶部２３に記憶する。
Ｍ＝２の場合、先頭Ｎ文字「ｓａｋ」の先頭Ｎ−Ｍ文字は「ｓ」、末尾Ｍ文字は「ａｋ」であり、音素列分割仮説データは「ｓ−ａｋ」となる。音素列辞書データベース２１には末尾Ｍ文字に対応する音素列「ａｋ」が存在しないため、順次コスト計算部１２は、音素列分割仮説データ「ｓ−ａｋ」の合計コストは未定義として仮説データ記憶部２３に記憶する。
Ｎ＝３の場合、これ以上の音素列分割仮説データは存在しないため、順次コスト計算部１２は、最小コストである３を選択し、最小コストに対応する音素列分割仮説データ「ｓａｋ」を最小音素列分割仮説データとして仮説データ記憶部２３に記憶する。
【００３３】
Ｎ＝４の場合、「ｓａｋｕｒａ」の先頭からＮ文字は「ｓａｋｕ」である。音素列辞書データベース２１には音素列「ｓａｋｕ」が存在しないため、順次コスト計算部１２は、先頭Ｎ文字自体である音素列分割仮説データ「ｓａｋｕ」の信頼コストは未定義として仮説データ記憶部２３に記憶する。
Ｎ＝４の場合、先頭Ｎ文字を分割する文字数Ｍは１〜３となり、順次コスト計算部１２は、文字数Ｍに対応する音素列分割仮説データのコストを計算する。
Ｍ＝１の場合、先頭Ｎ文字「ｓａｋｕ」の先頭Ｎ−Ｍ文字は「ｓａｋ」、末尾Ｍ文字は「ｕ」であり、音素列分割仮説データは「ｓａｋ−ｕ」となる。順次コスト計算部１２は、先頭Ｎ−Ｍ文字「ｓａｋ」の最小コスト３と、音素接続「ｋ−ｕ」の接続コスト１０と、末尾Ｍ文字「ｕ」の信頼コスト０との合計コスト１３を仮説データ記憶部２３に記憶する。
Ｍ＝２の場合、先頭Ｎ文字「ｓａｋｕ」の先頭Ｎ−Ｍ文字は「ｓａ」、末尾Ｍ文字は「ｋｕ」であり、音素列分割仮説データは「ｓａ−ｋｕ」となる。音素列辞書データベース２１には末尾Ｍ文字に対応する音素列「ｋｕ」が存在しないため、順次コスト計算部１２は、音素列分割仮説データ「ｓａ−ｋｕ」の合計コストは未定義として仮説データ記憶部２３に記憶する。
Ｍ＝３の場合、先頭Ｎ文字「ｓａｋｕ」の先頭Ｎ−Ｍ文字は「ｓ」、末尾Ｍ文字は「ａｋｕ」であり、音素列分割仮説データは「ｓ−ａｋｕ」となる。音素列辞書データベース２１には末尾Ｍ文字に対応する音素列「ａｋｕ」が存在しないため、順次コスト計算部１２は、音素列分割仮説データ「ｓ−ａｋｕ」の合計コストは未定義として仮説データ記憶部２３に記憶する。
Ｎ＝４の場合、これ以上の音素列分割仮説データは存在しないため、順次コスト計算部１２は、最小コストである１３を選択し、最小コストに対応する音素列分割仮説データ「ｓａｋ−ｕ」を最小音素列分割仮説データとして仮説データ記憶部２３に記憶する。
【００３４】
Ｎ＝５の場合、「ｓａｋｕｒａ」の先頭からＮ文字は「ｓａｋｕｒ」である。音素列辞書データベース２１には音素列「ｓａｋｕｒ」が存在しないため、順次コスト計算部１２は、先頭Ｎ文字自体である音素列分割仮説データ「ｓａｋｕｒ」の信頼コストは未定義として仮説データ記憶部２３に記憶する。
Ｎ＝５の場合、先頭Ｎ文字を分割する文字数Ｍは１〜４となり、順次コスト計算部１２は、文字数Ｍに対応する音素列分割仮説データのコストを計算する。
Ｍ＝１の場合、先頭Ｎ文字「ｓａｋｕｒ」の先頭Ｎ−Ｍ文字は「ｓａｋｕ」、末尾Ｍ文字は「ｒ」であり、音素列分割仮説データは「ｓａｋｕ−ｒ」となる。順次コスト計算部１２は、先頭Ｎ−Ｍ文字「ｓａｋｕ」の最小コスト１３と、音素接続「ｕ−ｒ」の接続コスト１０と、末尾Ｍ文字「ｒ」の信頼コスト０との合計コスト２３を仮説データ記憶部２３に記憶する。
Ｍ＝２の場合、先頭Ｎ文字「ｓａｋｕｒ」の先頭Ｎ−Ｍ文字は「ｓａｋ」、末尾Ｍ文字は「ｕｒ」であり、音素列分割仮説データは「ｓａｋ−ｕｒ」となる。音素列辞書データベース２１には末尾Ｍ文字に対応する音素列「ｕｒ」が存在しないため、順次コスト計算部１２は、音素列分割仮説データ「ｓａｋ−ｕｒ」の合計コストは未定義として仮説データ記憶部２３に記憶する。
Ｍ＝３の場合、先頭Ｎ文字「ｓａｋｕｒ」の先頭Ｎ−Ｍ文字は「ｓａ」、末尾Ｍ文字は「ｋｕｒ」であり、音素列分割仮説データは「ｓａ−ｋｕｒ」となる。音素列辞書データベース２１には末尾Ｍ文字に対応する音素列「ｋｕｒ」が存在しないため、順次コスト計算部１２は、音素列分割仮説データ「ｓａ−ｋｕｒ」の合計コストは未定義として仮説データ記憶部２３に記憶する。
Ｍ＝４の場合、先頭Ｎ文字「ｓａｋｕｒ」の先頭Ｎ−Ｍ文字は「ｓ」、末尾Ｍ文字は「ａｋｕｒ」であり、音素列分割仮説データは「ｓ−ａｋｕｒ」となる。音素列辞書データベース２１には末尾Ｍ文字に対応する音素列「ａｋｕｒ」が存在しないため、順次コスト計算部１２は、音素列分割仮説データ「ｓ−ａｋｕｒ」の合計コストは未定義として仮説データ記憶部２３に記憶する。
Ｎ＝５の場合、これ以上の音素列分割仮説データは存在しないため、順次コスト計算部１２は、最小コストである２３を選択し、最小コストに対応する音素列分割仮説データ「ｓａｋ−ｕ−ｒ」を最小音素列分割仮説データとして仮説データ記憶部２３に記憶する。なお、「ｓａｋｕ」を「ｓａｋ−ｕ」と分割することは、Ｎ＝４の最小音素列分割仮説データの示すとおりである。
【００３５】
Ｎ＝６の場合、「ｓａｋｕｒａ」の先頭からＮ文字は「ｓａｋｕｒａ」である。音素列辞書データベース２１には音素列「ｓａｋｕｒａ」が存在しないため、順次コスト計算部１２は、先頭Ｎ文字自体である音素列分割仮説データ「ｓａｋｕｒａ」の信頼コストは未定義として仮説データ記憶部２３に記憶する。
Ｎ＝６の場合、先頭Ｎ文字を分割する文字数Ｍは１〜５となり、順次コスト計算部１２は、文字数Ｍに対応する音素列分割仮説データのコストを計算する。
Ｍ＝１の場合、先頭Ｎ文字「ｓａｋｕｒａ」の先頭Ｎ−Ｍ文字は「ｓａｋｕｒ」、末尾Ｍ文字は「ａ」であり、音素列分割仮説データは「ｓａｋｕｒ−ａ」となる。順次コスト計算部１２は、先頭Ｎ−Ｍ文字「ｓａｋｕｒ」の最小コスト２３と、音素接続「ｒ−ａ」の接続コスト１０と、末尾Ｍ文字「ａ」の信頼コスト０との合計コスト３３を仮説データ記憶部２３に記憶する。
Ｍ＝２の場合、先頭Ｎ文字「ｓａｋｕｒａ」の先頭Ｎ−Ｍ文字は「ｓａｋｕ」、末尾Ｍ文字は「ｒａ」であり、音素列分割仮説データは「ｓａｋｕ−ｒａ」となる。音素列辞書データベース２１には末尾Ｍ文字に対応する音素列「ｒａ」が存在しないため、順次コスト計算部１２は、音素列分割仮説データ「ｓａｋｕ−ｒａ」の合計コストは未定義として仮説データ記憶部２３に記憶する。
Ｍ＝３の場合、先頭Ｎ文字「ｓａｋｕｒａ」の先頭Ｎ−Ｍ文字は「ｓａｋ」、末尾Ｍ文字は「ｕｒａ」であり、音素列分割仮説データは「ｓａｋ−ｕｒａ」となる。順次コスト計算部１２は、先頭Ｎ−Ｍ文字「ｓａｋ」の最小コスト３と、音素接続「ｋ−ｕ」の接続コスト１０と、末尾Ｍ文字「ｕｒａ」の信頼コスト３との合計コスト１６を仮説データ記憶部２３に記憶する。
Ｍ＝４の場合、先頭Ｎ文字「ｓａｋｕｒａ」の先頭Ｎ−Ｍ文字は「ｓａ」、末尾Ｍ文字は「ｋｕｒａ」であり、音素列分割仮説データは「ｓａ−ｋｕｒａ」となる。順次コスト計算部１２は、先頭Ｎ−Ｍ文字「ｓａ」の最小コスト１０と、音素接続「ａ−ｋ」の接続コスト０と、末尾Ｍ文字「ｋｕｒａ」の信頼コスト５との合計コスト１５を仮説データ記憶部２３に記憶する。
Ｍ＝５の場合、先頭Ｎ文字「ｓａｋｕｒａ」の先頭Ｎ−Ｍ文字は「ｓ」、末尾Ｍ文字は「ａｋｕｒａ」であり、音素列分割仮説データは「ｓ−ａｋｕｒａ」となる。音素列辞書データベース２１には末尾Ｍ文字に対応する音素列「ａｋｕｒａ」が存在しないため、順次コスト計算部１２は、音素列分割仮説データ「ｓ−ａｋｕｒａ」の合計コストは未定義として仮説データ記憶部２３に記憶する。
Ｎ＝６の場合、これ以上の音素列分割仮説データは存在しないため、順次コスト計算部１２は、最小コストである１５を選択し、最小コストに対応する音素列分割仮説データ「ｓ−ａ−ｋｕｒａ」を最小音素列分割仮説データとして仮説データ記憶部２３に記憶する。なお、「ｓａ」を「ｓ−ａ」と分割することは、Ｎ＝２の最小音素列分割仮説データの示すとおりである。
【００３６】
テキストデータ「ｓａｋｕｒａ」の文字数は６であるため、音素列分割データ出力部１３は、Ｎ＝６の最小音素列分割仮説データである「ｓ−ａ−ｋｕｒａ」を音声合成等に用いる音素列分割データとして出力する。
【００３７】
このように、本実施形態によれば、順次コスト計算部１２は、接続コストに基づき各音素列分割仮説データのコストを計算し、接続コストは、特定の音素に関する接続コストが他の接続コストより低く設定されている。すなわち、合成音の自然性の劣化を考慮し、特定の音素に関する接続コストを他の接続コストより低く設定することにより、入力されたテキストデータが当該特定音素の前（又は後）で分割される可能性が高まり、結果的に合成音の自然性を劣化させにくくすることが可能となる。
【００３８】
特に、任意音素と、無音、破裂音、摩擦音、破擦音又は促音の少なくとも１つの音素との間の接続コストが、その他の音素間の接続コストより低く設定されることが好ましい。このように、任意の音素列と任意音素と、無音、破裂音、摩擦音、破擦音又は促音といった特定の音素との間の接続コストを低く設定することにより、入力されたテキストデータが当該特定音素の前で分割される可能性が高まり、結果的に音素表記されたテキストデータから合成音の自然性を劣化させにくい音素列分割データを出力することが可能となる。例えば、合成音の自然性を劣化させやすい母音−母音間での分割などの発生確率を低減させることができる。
【００３９】
また、順次コスト計算部１２は、好適には、信頼コスト及び接続コストに基づき各音素列分割仮説データのコストを計算する。これにより、入力されたテキストデータが存在頻度の高い音素列で分割される可能性が高まり、結果的により自然な音素列分割データを出力することが可能になる。
【００４０】
また、順次コスト計算部１２は、Ｎ＝１からＮ＝テキストデータの文字数となるまで、テキストデータの先頭Ｎ文字の音素列分割仮説データの最小コストを順次計算するものであり、先頭Ｎ文字について、先頭Ｎ文字の信頼コストと、Ｍ＝１からＭ＝Ｎ−１の範囲で先頭Ｎ文字を先頭Ｎ−Ｍ文字及び末尾Ｍ文字に順次分割して得られる、先頭Ｎ−Ｍ文字の最小コストと、先頭Ｎ−Ｍ文字及び末尾Ｍ文字間の接続コストと、末尾Ｍ文字の信頼コストとの合計コストとから、先頭Ｎ文字の最小コストを計算する。これにより、全ての音素列分割仮説データのパターンを網羅し、かつ先に取得した音素列の最小コストを次の音素列の最小コストの計算に用いることで効率的な音素列分割データを出力することが可能になる。
【００４１】
本発明を諸図面や実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形や修正を行うことが容易であることに注意されたい。従って、これらの変形や修正は本発明の範囲に含まれることに留意されたい。例えば、各機能部、各ステップなどに含まれる機能などは論理的に矛盾しないように再配置可能であり、複数の機能部やステップなどを１つに組み合わせたり、或いは分割したりすることが可能である。
【００４２】
例えば、上記実施形態では、先頭Ｎ文字を先頭Ｎ−Ｍ文字及び末尾Ｍ文字に順次分割する処理が、Ｍ＝１からＭ＝Ｎ−１の順に行われるものとして記載したが、Ｍ＝Ｎ−１から１の順に行うことも可能である。
【００４３】
また、例えば、上記実施形態では、Ｎ＝１からＮ＝テキストデータの文字数となるまで、テキストデータの先頭Ｎ文字の音素列分割仮説データの最小コストを順次計算するものとして記載したが、Ｉ＝テキストデータの文字数からＩ＝１となるまでテキストデータの文末Ｉ文字の音素列分割仮説データの最小コストを順次計算することも可能である。
【符号の説明】
【００４４】
１  テキスト分割装置
１０  制御部
１１  音素列辞書参照部
１２  順次コスト計算部
１３  音素列分割データ出力部
２０  記憶部
２１  音素列辞書データベース（音素列辞書記憶部）
２２  接続コストデータベース（接続コスト記憶部）
２３  仮説データ記憶部
【図１】
2015138074.tif 000003
【図２】
2015138074.tif 000004
【図３】
2015138074.tif 000005
【図４】
2015138074.tif 000006
【図５】
2015138074.tif 000007
【図６】
2015138074.tif 000008