(57)【要約】【課題】本願発明は、読み上げ文の重複生成を防止し、生成される読み上げ文の数を削減できる音声合成用読み上げ文生成装置を提供する。【解決手段】音声合成用読み上げ文生成装置１は、分岐削除済みグラフを生成するグラフ分岐削除手段１１と、初期グラフ及び分岐削除済みグラフを統合グラフに統合する統合グラフ生成手段１２と、読み上げ済みテキストデータ及び統合グラフを比較して、リスト除外情報を生成するグラフ比較手段１４と、リスト除外情報に基づいて、リストから語句を除外するリスト除外手段１５と、第１条件式及び第２条件式を生成する条件式生成手段１６と、第１条件式及び第２条件式を解いて、最小通過回数を算出する最小通過回数算出手段１７と、最小通過回数と同数の読み上げ文を生成する読み上げ文生成手段１８とを備える。【選択図】図１
2014115577.tif 000002
【特許請求の範囲】
【請求項１】
文に含まれる語句を示す複数のノードと前記ノード間の接続関係を示すエッジとで構成され、前記ノードに置換可能な語句を割り当てた有向グラフによって前記文が表現され、前記有向グラフを用いて、音声合成に必要となる音声合成データベース用の読み上げ文を生成する音声合成用読み上げ文生成装置であって、
前記有向グラフと、前記有向グラフのノードに対応し、かつ、当該ノードで置換する語句を１以上格納するリストとが入力されるグラフ入力手段と、
前記グラフ入力手段に入力された有向グラフを統合するグラフ統合手段と、
発話内容を示すテキストデータが入力されるテキストデータ入力手段と、
前記テキストデータ入力手段に入力されたテキストデータと、統合された前記有向グラフとを比較することで、前記リストから、前記テキストデータに含まれる語句を求めるグラフ比較手段と、
前記グラフ比較手段が求めた語句を前記リストから除外するリスト除外手段と、
前記ノードの通過回数を、当該ノードに対応し、かつ、前記リスト除外手段で除外されたリストに格納された語句の個数以上とする第１条件式を生成する第１条件式生成手段と、
第２条件式として、前記ノードに入力されるエッジの通過回数の和が前記ノードの通過回数に等しくなる条件式と、当該ノードから出力するエッジの通過回数の和が前記ノードの通過回数に等しくなる条件式とを生成する第２条件式生成手段と、
前記第１条件式及び前記第２条件式を満たすように、前記文の先頭における通過回数が最小になる最小通過回数を算出する最小通過回数算出手段と、
前記最小通過回数算出手段が算出した最小通過回数と等しい数、前記リスト除外手段で削除されたリストに格納された語句の組み合わせを変えて、前記読み上げ文を生成する読み上げ文生成手段と、
を備えることを特徴とする音声合成用読み上げ文生成装置。
【請求項２】
前記グラフ統合手段は、
前記グラフ入力手段に２番目以降に入力された有向グラフのエッジが分岐しているか否かを判定し、前記エッジが分岐していない有向グラフを分岐削除済みグラフとし、前記エッジが分岐している有向グラフから、前記エッジの分岐先にあるノードを別々にして当該エッジの分岐が削除された分岐削除済みグラフを生成するグラフ分岐削除手段と、
ＤＰマッチング法によって、前記グラフ入力手段に最初に入力された有向グラフ又は統合グラフの一方と前記分岐削除済みグラフとからなる比較対象グラフ対が類似するか否かを判定し、前記比較対象グラフ対が類似する場合、前記比較対象グラフ対を１個の前記統合グラフに統合し、前記比較対象グラフ対が類似しない場合、前記比較対象グラフ対のそれぞれを新たな前記統合グラフとする統合グラフ生成手段と、を備え、
前記グラフ比較手段は、前記統合グラフ生成手段から入力された統合グラフと、前記テキストデータとを比較することを特徴とする請求項１に記載の音声合成用読み上げ文生成装置。
【請求項３】
前記第１条件式生成手段は、前記グラフ分岐削除手段により同一のノードが前記分岐削除済みグラフで複数のノードに分けられた場合、当該複数のノードの通過回数の和が、前記同一のノードに対応し、かつ、前記リスト除外手段で除外されたリストに格納された語句の個数以上となる第１条件式を生成することを特徴とする請求項２に記載の音声合成用読み上げ文生成装置。
【請求項４】
前記統合グラフ生成手段は、前記統合グラフのノードに置換可能な語句が複数含まれる場合、複数の前記語句が格納された別々のリストから、当該別々のリストに含まれる語句の全組み合わせが格納された統合リストを生成し、当該統合リストに貪欲アルゴリズムを適用することで、前記音声合成に最小限のコンパクトリストを生成し、当該ノードと前記コンパクトリストとを対応づけることを特徴とする請求項２又は請求項３に記載の音声合成用読み上げ文生成装置。
【請求項５】
コンピュータを、請求項１に記載の音声合成用読み上げ文生成装置として機能させるための音声合成用読み上げ文生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、音声合成用データベースの構築に必要な読み上げ文を生成する音声合成用読み上げ文生成装置及びそのプログラムに関する。
【背景技術】
【０００２】
従来から、音声合成用の読み上げ文章を生成する発明が提案されている（特許文献１参照）。この特許文献１に記載の発明は、有向グラフにおけるノードの最低通過回数から、音声合成用の読み上げ文を生成するための条件式を生成し、生成した条件式をシンプレックス法で解くことにより、読み上げ文を生成するものである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−３３４６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
この特許文献１に記載の発明は、音声合成用データベースに既に登録されて読み上げられた文（以下、「読み上げ済み文」）が存在する場合でも、この読み上げ済み文を反映できないため、読み上げ済み文と同一の読み上げ文が重複生成され、読み上げ文の数が増大するという問題がある。
【０００５】
そこで、本願発明は、読み上げ文の重複生成を防止し、生成される読み上げ文の数を削減できる音声合成用読み上げ文生成装置及びそのプログラムを提供することを課題とする。
【課題を解決するための手段】
【０００６】
前記した課題に鑑みて、本願第１発明に係る音声合成用読み上げ文生成装置は、文に含まれる語句を示す複数のノードとノード間の接続関係を示すエッジとで構成され、ノードに置換可能な語句を割り当てた有向グラフによって文が表現され、有向グラフを用いて、音声合成に必要となる音声合成データベース用の読み上げ文を生成する音声合成用読み上げ文生成装置であって、グラフ入力手段と、グラフ統合手段と、テキストデータ入力手段と、グラフ比較手段と、リスト除外手段と、第１条件式生成手段と、第２条件式生成手段と、最小通過回数算出手段と、読み上げ文生成手段とを備えることを特徴とする。
【０００７】
かかる構成によれば、音声合成用読み上げ文生成装置は、グラフ入力手段によって、有向グラフと、有向グラフのノードに対応し、かつ、ノードで置換する語句を１以上格納するリストとが入力される。また、音声合成用読み上げ文生成装置は、グラフ統合手段によって、グラフ入力手段に入力された有向グラフを統合（クラスタリング）する。そして、音声合成用読み上げ文生成装置は、テキストデータ入力手段によって、既に読み上げられた文についての発話内容を示す読み上げ済みテキストデータが入力される。
【０００８】
また、音声合成用読み上げ文生成装置は、グラフ比較手段によって、テキストデータ入力手段に入力された読み上げ済みテキストデータと、統合された有向グラフとを比較することで、リストから、読み上げ済みテキストデータに含まれる語句を求める。そして、音声合成用読み上げ文生成装置は、リスト除外手段によって、グラフ比較手段が求めた語句をリストから除外する。
【０００９】
また、音声合成用読み上げ文生成装置は、第１条件式生成手段によって、ノードの通過回数を、ノードに対応し、かつ、リスト除外手段で除外されたリストに格納された語句の個数以上とする第１条件式を生成する。そして、音声合成用読み上げ文生成装置は、第２条件式生成手段によって、第２条件式として、ノードに入力されるエッジの通過回数の和がノードの通過回数に等しくなる条件式と、ノードから出力するエッジの通過回数の和がノードの通過回数に等しくなる条件式とを生成する。
【００１０】
ここで、ノードの通過回数とは、有向グラフにおけるノードとエッジの構造を維持したまま始点から単独の終点までを接続する経路において、ノードで示される内容を置換して各ノードを接続するとき、各ノードを通過する回数のことを指す。
また、エッジの通過回数とは、有向グラフにおけるノードとエッジの構造を維持したまま始点から単独の終点までを接続する経路において、ノードで示される内容を置換して各ノードを接続するとき、各エッジを通過する回数のことを指す。
【００１１】
また、音声合成用読み上げ文生成装置は、最小通過回数算出手段によって、第１条件式及び第２条件式を満たすように、文の先頭における通過回数が最小になる最小通過回数を算出する。ここで、第１の条件式及び第２の条件式が一次方程式又は一次不等式のため、最小通過回数算出手段は、シンプレックス法を用いて、第１条件式及び第２条件式を解くことができる。
【００１２】
また、音声合成用読み上げ文生成装置は、読み上げ文生成手段によって、最小通過回数算出手段が算出した最小通過回数と等しい数、リスト除外手段で削除されたリストに格納された語句の組み合わせを変えて読み上げ文を生成する。
【００１３】
また、本願第２発明に係る音声合成用読み上げ文生成装置は、グラフ統合手段が、グラフ入力手段に２番目以降に入力された有向グラフのエッジが分岐しているか否かを判定し、エッジが分岐していない有向グラフを分岐削除済みグラフとし、エッジが分岐している有向グラフから、前記エッジの分岐先にあるノードを別々にして当該エッジの分岐が削除された分岐削除済みグラフを生成するグラフ分岐削除手段と、ＤＰマッチング法（Dynamic Programming Matching）によって、グラフ入力手段に最初に入力された有向グラフ又は統合グラフの一方と分岐削除済みグラフとからなる比較対象グラフ対が類似するか否かを判定し、比較対象グラフ対が類似する場合、比較対象グラフ対を１個の統合グラフに統合し、比較対象グラフ対が類似しない場合、比較対象グラフ対のそれぞれを新たな統合グラフとする統合グラフ生成手段と、を備え、グラフ比較手段が、統合グラフ生成手段から入力された統合グラフと、読み上げ済みテキストデータとを比較することを特徴とする。
かかる構成によれば、音声合成用読み上げ文生成装置は、入力された有向グラフのエッジの分岐を削除してから統合することができる。
【００１４】
また、本願第３発明に係る音声合成用読み上げ文生成装置は、第１条件式生成手段が、グラフ分岐削除手段により同一のノードが分岐削除済みグラフで複数のノードに分けられた場合、複数のノードの通過回数の和が、同一のノードに対応し、かつ、リスト除外手段で除外されたリストに格納された語句の個数以上となる第１条件式を生成することを特徴とする。
かかる構成によれば、音声合成用読み上げ文生成装置は、最終的に生成される読み上げ文の数を少なくする第１条件式を生成することができる。
【００１５】
また、本願第４発明に係る音声合成用読み上げ文生成装置は、統合グラフ生成手段が、統合グラフのノードに置換可能な語句が複数含まれる場合、複数の語句が格納された別々のリストから、別々のリストに含まれる語句の全組み合わせが格納された統合リストを生成し、統合リストに貪欲アルゴリズムを適用することで、音声合成に最小限のコンパクトリストを生成し、ノードとコンパクトリストとを対応づけることを特徴とする。
かかる構成によれば、音声合成用読み上げ文生成装置は、ノードに置換可能な語句が複数含まれる場合でも、その語句を１個にすることができる。
【００１６】
ここで、本願第１発明に係る音声合成用読み上げ文生成装置は、コンピュータに備えられたＣＰＵ（Central Processing Unit）、メモリ、ハードディスクなどのハードウェア資源を、前記した各手段として協調動作させる音声合成用読み上げ文生成プログラムによって実現することもできる（本願第５発明）。このプログラムは、通信回線を介して配布してもよく、ＣＤ−ＲＯＭやフラッシュメモリ等の記録媒体に書き込んで配布してもよい。
【発明の効果】
【００１７】
本願発明によれば、以下のような優れた効果を奏する。
本願第１，５発明によれば、音声合成用読み上げ文生成装置及びそのプログラムは、有向グラフを統合し、統合した有向グラフと読み上げ済みテキストデータとの比較結果に基づいて、読み上げ済みテキストデータに含まれる語句をリストから除外する。これによって、本願第１，５発明によれば、音声合成用読み上げ文生成装置及びそのプログラムは、読み上げ済み文に含まれない語句だけで読み上げ文を生成することになり、読み上げ文の重複生成を防止し、生成される読み上げ文の数を削減することができる。
【００１８】
本願第２発明によれば、音声合成用読み上げ文生成装置は、入力された有向グラフのエッジの分岐を削除してから統合することで、生成される読み上げ文の数を少なくすることができる。
本願第３発明によれば、音声合成用読み上げ文生成装置は、第１条件式として、複数に分割されたノードの通過回数の和が、分割前の同一ノードに対応し、かつ、除外後のリストに格納された語句の個数以上となる一次不等式を用いるため、生成される読み上げ文の数を少なくすることができる。
本願第４発明によれば、音声合成用読み上げ文生成装置は、ノードに置換可能な語句が複数含まれる場合でも、その語句を１個にできるため、ノードに含まれる置換可能な語句の個数に関わらず、読み上げ文の生成処理を共通化でき、構成を簡素にすることができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施形態に係る音声合成用読み上げ文生成装置の構成を示すブロック図である。
【図２】図１のグラフ入力手段に入力された有向グラフを説明する図であり、（ａ）は有向グラフの第１例であり、（ｂ）は有向グラフの第２例である。
【図３】図１のグラフ入力手段に入力されたリストを説明する図である。
【図４】図１のグラフ分岐削除手段において、分岐削除済みグラフの生成の第１例を説明する図であり、（ａ）は分岐削除対象グラフであり、（ｂ）は分岐削除済みグラフである。
【図５】図１のグラフ分岐削除手段において、分岐削除済みグラフの生成の第２例を説明する図である。
【図６】図１の統合グラフ生成手段による統合グラフの生成を説明する図であり、（ａ）は比較対象グラフ対であり、（ｂ）は統合グラフである。
【図７】図１の統合グラフ生成手段による統合グラフの生成を説明する図であり、（ａ）は比較対象グラフ対であり、（ｂ）は統合グラフである。
【図８】（ａ）は読み上げ済みテキストデータを説明する図であり、（ｂ）は（ａ）の読み上げ済みテキストデータに一致する有向グラフを示す図であり、（ｃ）は読み上げ済みテキストデータに含まれる語句を除外したリストを示す図である。
【図９】図１の音声合成用読み上げ文生成装置の動作を示すフローチャートである。
【図１０】本発明の変形例１に係る音声合成用読み上げ文生成装置を説明する図である。
【発明を実施するための形態】
【００２０】
以下、本願発明の実施形態について、適宜図面を参照しながら詳細に説明する。なお、各実施形態において、同一の機能を有する手段には同一の符号を付し、説明を省略した。
【００２１】
（実施形態）
［音声合成用読み上げ文生成装置の構成］
図１を参照して、本発明の実施形態に係る音声合成用読み上げ文生成装置の構成について説明する。
図１に示すように、音声合成用読み上げ文生成装置１は、文を表現した有向グラフを用いて、音声合成に必要となる音声合成データベース用の読み上げ文を生成するものである。このため、音声合成用読み上げ文生成装置１は、グラフ入力手段１０と、グラフ分岐削除手段１１と、統合グラフ生成手段１２と、テキストデータ入力手段１３と、グラフ比較手段１４と、リスト除外手段１５と、条件式生成手段１６と、最小通過回数算出手段１７と、読み上げ文生成手段１８とを備える。
なお、グラフ分岐削除手段１１及び統合グラフ生成手段１２が、請求項に記載のグラフ統合手段に相当する。
【００２２】
グラフ入力手段１０は、有向グラフＧ（図２）と、リストＬ（図３）とが入力されるものである。そして、グラフ入力手段１０は、入力された有向グラフＧと、リストＬとをグラフ分岐削除手段１１に出力する。
【００２３】
＜有向グラフ及びリストの具体例＞
図２，図３を参照して、有向グラフ及びリストの具体例について、説明する（適宜図１参照）。
この図２では、有向グラフＧにおける文の先頭を「ＳＴＡＲＴ」、及び、有向グラフＧにおける文の終了を「ＥＮＤ」として図示した。
【００２４】
図２に示すように、有向グラフＧは、グラフ理論で用いられる有向グラフであって、文（例えば、天気予報番組の読み上げ原稿）を表現したものである。また、有向グラフＧは、ノードＮ及びエッジＥ（ノードＮ間を結ぶ矢印）で構成される。
【００２５】
ノードＮは、文の一部を表したものであり、文に含まれる語句を置換可能である。
エッジＥは、ノードＮの接続、分岐及び合流といったノードＮの接続関係を示すものである。ここで、ノードＮの接続とは、エッジＥを介して、ノードＮを１対１で接続することである。また、ノードＮの分岐とは、１個のノードＮからエッジＥを分岐させて、複数のノードＮに接続することである。さらに、ノードＮの合流とは、複数のノードＮからのエッジＥを合流させて、１個のノードＮに接続することである。
リストＬは、１以上のノードＮに予め対応付けられており、対応付けられたノードＮで置換する語句を１以上格納するものである。
【００２６】
図２（ａ）の例では、有向グラフＧ１は、文の先頭を示すノードＮ１Ｓと、「中心付近では」を示すノードＮ１１と、「今後［時間］以内に」を示すノードＮ１２と、「［方角］の」を示すノードＮ１３と、「強い風が吹く見込みです」を示すノードＮ１４と、文の終了を示すノードＮ１Ｅという、計６個のノードＮで構成される。また、有向グラフＧ１において、エッジＥは、ノードＮを分岐及び合流させずに、ノードＮ１ＳからノードＮ１Ｅまでを順番に接続する。
【００２７】
また、ノードＮは、‘［］’に含まれる語句を、リストＬに格納された語句で置換可能なことを示す。例えば、ノードＮ１２は、［時間］という語句を、図３のリストＬ１に格納された語句で置換可能である。
一方、ノードＮは、‘［］’が含まれない場合、語句を置換できないことを示す。例えば、ノードＮ１１は、‘［］’が含まれないので語句を置換できず、常に、「中心付近では」を示すことになる。
【００２８】
また、図２（ｂ）の例では、有向グラフＧ２は、文の先頭を示すノードＮ２Ｓと、「中心付近では」を示すノードＮ２１と、「［数値］から」を示すノードＮ２２と、「今後［時間］以内に」を示すノードＮ２３と、「［風速］メートルの」を示すノードＮ２４と、「強い風が吹く見込みです」を示すノードＮ２５と、文の終了を示すノードＮ２Ｅという、計７個のノードＮで構成される。
【００２９】
この有向グラフＧ２において、ノードＮ２１は、エッジＥを介して、ノードＮ２２，Ｎ２３に分岐する。また、ノードＮ２２，Ｎ２３は、エッジＥを介して、ノードＮ２４に合流する。つまり、有向グラフＧ２は、ノードＮ２２又はノードＮ２３の一方が選択的に含まれる文を示す。
【００３０】
図３に示すように、リストＬ１は、図２のノードＮ１２，Ｎ２３に対応付けられている。
また、リストＬ１は、ノードＮ１２，Ｎ２３の［時間］に対応する、「１２時間」、「２４時間」という２個の語句を格納する。つまり、ノードＮ１２，Ｎ２３は、リストＬ１に格納された語句で置換されて、「今後１２時間以内に」、「今後２４時間以内に」という２種類を表すことになる。
なお、図３では、リストＬとノードＮで置換される語句との対応関係を分かりやすくするため、ノードＮで置換される語句をリストＬの上部に図示した。
【００３１】
また、リストＬ２は、ノードＮ１３に対応付けられている。そして、リストＬ２は、ノードＮ１３の［方角］に対応する、「東北東」、「東」、「東南東」等の語句を１６個（１６方角分）格納する。
また、リストＬ３は、ノードＮ２２に対応付けられている。そして、リストＬ３は、ノードＮ２２の［数値］に対応した「１５」という１個の語句を格納する。
また、リストＬ４は、ノードＮ２４に対応付けられている。そして、リストＬ４は、ノードＮ２４の［風速］に対応した「２０」、「３０」という２個の語句を格納する。
なお、ノードＮ及びリストＬは、１対１で対応する必要はない。例えば、ノードＮ１１，Ｎ１４，Ｎ２５は、何れのリストＬにも対応していない。
【００３２】
以後、図２の有向グラフＧ１，Ｇ２と、図３のリストＬ１〜Ｌ４がグラフ入力手段１０に入力されたこととして説明する。
なお、グラフ入力手段１０に最初に入力された有向グラフＧを「初期グラフ」と呼び、２番目以降に入力された有向グラフＧを「分岐削除対象グラフ」と呼ぶ場合がある。図２では、有向グラフＧ１が初期グラフとなり、有向グラフＧ２が分岐削除対象グラフとなる。
また、本発明は、有向グラフＧ及びリストＬが、図２，図３の例に限定されないことは言うまでもない。
【００３３】
図１に戻り、音声合成用読み上げ文生成装置１の構成について、説明を続ける。
グラフ分岐削除手段１１は、グラフ入力手段１０から入力された分岐削除対象グラフのエッジが分岐しているか否かを判定するものである。
エッジが分岐していない場合、グラフ分岐削除手段１１は、分岐削除対象グラフを、そのまま分岐削除済みグラフとして扱う。
一方、エッジが分岐している場合、グラフ分岐削除手段１１は、分岐削除対象グラフから、エッジの分岐先にある各ノードが別々に含まれる分岐削除済みグラフを生成する。
その後、グラフ分岐削除手段１１は、グラフ入力手段１０から入力されたリストＬと、初期グラフと、分岐削除済みグラフとを統合グラフ生成手段１２に出力する。
【００３４】
＜分岐削除済みグラフの生成：第１例＞
図４，図５を参照して、分岐削除済みグラフの生成について、２個の具体例を説明する（適宜図１参照）。
図４（ａ）に示すように、グラフ分岐削除手段１１は、ノードＮ２１でエッジＥが分岐していると判定する。この場合、グラフ分岐削除手段１１は、図４（ｂ）に示すように、分岐削除対象グラフＧ２から、これらエッジＥの分岐先にあるノードＮ２２，Ｎ２３が別々となるように、分岐削除済みグラフＧ３，Ｇ４を生成する。
【００３５】
具体的には、グラフ分岐削除手段１１は、分岐削除対象グラフＧ２でエッジＥが分岐していないノードＮ２Ｓ，Ｎ２１，Ｎ２４〜Ｎ２Ｅを、そのまま分岐削除済みグラフＧ３，Ｇ４にコピーする。また、グラフ分岐削除手段１１は、分岐削除済みグラフＧ３において、分岐した一方のノードＮ２２を前後のノードＮ２１，Ｎ２４に接続する。さらに、グラフ分岐削除手段１１は、分岐削除済みグラフＧ４において、分岐した他方のノードＮ２３を前後のノードＮ２１，Ｎ２４に接続する。
【００３６】
つまり、図４（ｂ）の分岐削除済みグラフＧ３は、分岐削除対象グラフＧ２のノードＮ２Ｓ，Ｎ２１と、分岐した一方のノードＮ２２と、ノードＮ２４〜Ｎ２Ｅとで構成される。また、分岐削除済みグラフＧ４は、分岐削除対象グラフＧ２のノードＮ２Ｓ，Ｎ２１と、分岐した他方のノードＮ２３と、ノードＮ２４〜Ｎ２Ｅとで構成される。
このようにして、音声合成用読み上げ文生成装置１は、エッジＥの分岐を削除してから、有向グラフＧを統合することができる。
【００３７】
＜分岐削除済みグラフの生成：第２例＞
さらに、図５の分岐削除対象グラフＧ５のように、複数の箇所でエッジＥが分岐している場合を考える。
まず、グラフ分岐削除手段１１は、分岐削除対象グラフＧ５において、ＳＴＡＲＴのノードＮ５Ｓから出発し、途中、エッジＥの分岐がある際には適当なエッジＥを選択し、ＥＮＤのノードＮ５Ｅに到達するパスを探索する。このパスで、グラフ分岐削除手段１１は、１つの分岐削除済みグラフ（不図示）を生成する。次に、グラフ分岐削除手段１１は、ＥＮＤのノードＮ５Ｅから１つ手前のノードＮに戻り、エッジＥの分岐があるか判定する。
【００３８】
エッジＥの分岐がない又は辿っていないエッジＥが存在しなければ、グラフ分岐削除手段１１は、もう１つ前のノードＮに戻り同じことを繰り返す。辿っていないエッジＥが存在すれば、グラフ分岐削除手段１１は、このエッジＥを選択し、ＥＮＤのノードＮに到達するパスを探索する。
ここで、グラフ分岐削除手段１１は、パスの探索の際に、パスの履歴をエッジＥが分岐している場所で保存するのだが、その保存されている履歴群が現在のパスの履歴に一致するものがなければ、辿っていないエッジＥと判定する。
【００３９】
図５の例では、パスが、ＳＴＡＲＴのノードＮ５Ｓから始まり、ノードＮ５２へのエッジＥを通ったとする。この場合、グラフ分岐削除手段１１は、ノードＮ５２へのエッジＥを通ったという履歴をノードＮ５１に保存する。次に、パスがノードＮ５５へのエッジＥを通ったとする。すると、グラフ分岐削除手段１１は、ノードＮ５１からノードＮ５２へのエッジＥを通り、ノードＮ５５へのエッジＥを通ったという履歴をノードＮ５４に保存する。このパスがＥＮＤのノードＮ５Ｅまで到達するので、グラフ分岐削除手段１１は、ノードＮ５２，Ｎ５５を通る分岐削除済みグラフを生成する。
【００４０】
次に、グラフ分岐削除手段１１は、ノードＮ５４まで戻り、履歴を調べる。その結果、グラフ分岐削除手段１１は、ノードＮ５６へのエッジＥの履歴が存在しないため、ノードＮ５６へのエッジＥを選択し、そのままＥＮＤのノードＮ５Ｅに入り、ノードＮ５２，Ｎ５６を通る分岐削除済みグラフを生成する。
これと同様、グラフ分岐削除手段１１は、ノードＮ５２，Ｎ５７を通る分岐削除済みグラフを生成する。
【００４１】
続いて、グラフ分岐削除手段１１は、ノードＮ５５，Ｎ５６，Ｎ５７へのエッジＥをすでに辿ってしまったので、ノードＮ５１まで戻る。ここで、グラフ分岐削除手段１１は、ノードＮ５３へのエッジＥの履歴が存在しないため、ノードＮ５３を選択する。グラフ分岐削除手段１１は、ＥＮＤのノードＮ５Ｅに至るパスを探索する。その際、グラフ分岐削除手段１１は、ノードＮ５４で履歴を調べると、ノードＮ５１からノードＮ５２へのエッジＥを通り、ノードＮ５５へのエッジＥを通った履歴と、ノードＮ５１からノードＮ５２へのエッジＥを通り、ノードＮ５６へのエッジＥを通った履歴と、ノードＮ５１からノードＮ５２へのエッジＥを通り、ノードＮ５７へのエッジＥを通った履歴が見つかるが、ノードＮ５１からノードＮ５３へのエッジＥを通り、ノードＮ５５へのエッジＥを通った履歴は見つからないことから、ノードＮ５５を通り、ＥＮＤのノードＮ５Ｅに入り、ノードＮ５３，Ｎ５５を通る分岐削除済みグラフを生成する。
【００４２】
次に、グラフ分岐削除手段１１は、ノードＮ５４まで戻り、履歴を調べる。その結果、グラフ分岐削除手段１１は、ノードＮ５１からノードＮ５３へのエッジＥを通り、ノードＮ５６へのエッジＥの履歴が存在しないため、ノードＮ５６へのエッジＥを選択し、そのままＥＮＤのノードＮ５Ｅに入り、ノードＮ５２，Ｎ５６を通る分岐削除済みグラフを生成する。
これと同様、グラフ分岐削除手段１１は、ノードＮ５２，Ｎ５７を通る分岐削除済みグラフを生成する。
【００４３】
このようにして、グラフ分岐削除手段１１は、分岐削除対象グラフＧ５から、分岐先のノードＮ５２，Ｎ５３，Ｎ５５〜Ｎ５７を全て組み合わせて（２×３＝６個）、分岐削除済みグラフを生成する。
【００４４】
図１に戻り、音声合成用読み上げ文生成装置１の構成について、説明を続ける。
統合グラフ生成手段１２は、ＤＰマッチング法によって、比較対象グラフ対のノードの一致と挿入誤りと欠落誤りと代替誤りとを求めて、比較対象グラフ対が類似するか否かを判定するものである。
【００４５】
この比較対象グラフ対とは、統合グラフ生成手段１２で比較対象となる有向グラフＧの対のことである。この比較対象グラフ対は、統合グラフＴが生成されていない場合、初期グラフＧ及び分岐削除済みグラフＧの対になる。また、比較対象グラフ対は、統合グラフＴが生成されている場合、統合グラフＴ及び分岐削除済みグラフＧの対になる。
【００４６】
比較対象グラフ対が類似する場合、統合グラフ生成手段１２は、ＤＰマッチング法の結果に基づいて、比較対象グラフ対を１個の統合グラフＴ（図６）に統合する。さらに、統合グラフＴが複数ある場合には、比較対象グラフ対も複数生じるため、統合グラフ生成手段１２は、ＤＰマッチングにより、最も正解度が高い統合グラフＴに統合する。
一方、比較対象グラフ対がすべて類似しない場合、統合グラフ生成手段１２は、比較対象グラフ対における統合グラフＴと比較された有向グラフＧを、統合グラフＴに追加する。
その後、統合グラフ生成手段１２は、グラフ入力手段１０から入力されたリストＬと、統合グラフＴとをテキストデータ入力手段１３に出力する。
【００４７】
＜統合グラフの生成＞
図６，図７を参照して、統合グラフの生成について、説明する（適宜図１参照）。
ここで、統合グラフ生成手段１２は、最初に初期グラフＧ１が入力され、２番目、３番目に分岐削除済みグラフＧ３，Ｇ４が入力されたこととして説明する。
【００４８】
まず、統合グラフ生成手段１２は、統合グラフＴが生成されていないため、図６（ａ）に示すように、初期グラフＧ１と、２番目の分岐削除済みグラフＧ３とを比較対象グラフ対Ｇ１，Ｇ３とする。そして、統合グラフ生成手段１２は、この比較対象グラフ対Ｇ１，Ｇ３において、ノードＮの一致（Ｈ）と、挿入誤り（Ｉ）と、欠落誤り（Ｄ）と、代替誤り（Ｓ）とを、ＤＰマッチングにより求める。
【００４９】
この場合、一致（Ｈ）は、「中心付近では」を示すノードＮ１１，Ｎ２１と、「強い風が吹く見込みです」を示すノードＮ１４，Ｎ２５との‘２’になる。また、代替誤り（Ｓ）は、「今後［時間］以内に」を示すノードＮ１２に対し、「［数値］から」を示すノードＮ２２と、「［方角］の」を示すノードＮ１３に対し、「［風速］メートルの」を示すノードＮ２４との‘２’になる。また、挿入誤り（Ｉ）及び欠落誤り（Ｄ）は、‘０’となる。
【００５０】
また、統合グラフ生成手段１２は、ＤＰマッチングの結果を下記の式（１）に代入して正解度を算出する。例えば、このＤＰマッチングの結果を式（１）に代入すると、正解度は、（２−０）／（２＋２＋０）＝０．５となる。
正解度＝（Ｈ−Ｉ）／（Ｈ＋Ｓ＋Ｄ）・・・式（１）
【００５１】
また、統合グラフ生成手段１２は、この正解度が予め設定された閾値（例えば、０．３）以上であるか否かを判定する。この例では、正解度＝０．５が閾値＝０．３以上のため、統合グラフ生成手段１２は、比較対象グラフ対Ｇ１，Ｇ３を１個の統合グラフＴに統合する。
【００５２】
図６（ａ）では、１番目の初期グラフＧ１のノードＮ１２，Ｎ１３に対して、ノードＮ２２，Ｎ２４が代替誤り（Ｓ）になる。従って、統合グラフ生成手段１２は、１番目の初期グラフＧ１をベースとして、ノードＮ１２に並列となるようにノードＮ２２を追加し、ノードＮ１３に並列となるようにノードＮ２４を追加する。ここで、統合グラフ生成手段１２は、代替誤り（Ｓ）が連続している場合、エッジＥをノードＮ２２からノードＮ１３に合流させず、ノードＮ２２からノードＮ２４に接続するエッジＥを追加する。
【００５３】
なお，図６（ａ）では、代替誤り（Ｓ）の例を挙げたが、欠落誤り（Ｄ）と判定された場合、統合グラフ生成手段１２は、欠落誤り（Ｄ）と判定されたノードＮをとばすようにエッジＥを追加する。ここで、欠落誤り（Ｄ）が複数連続した場合、統合グラフ生成手段１２は、代替誤り（Ｓ）と同様、これらノードＮをとばすようにエッジＥを追加する。
【００５４】
また、挿入誤り（Ｉ）と判定された場合、統合グラフ生成手段１２は、挿入誤り（Ｉ）と判定された場所にノードＮを追加し、追加したノードＮの両端にエッジＥも追加する。ここで、挿入誤り（Ｉ）が複数連続した場合、統合グラフ生成手段１２は、代替誤り（Ｓ）と同様、これらノードＮを連続して挿入する。
【００５５】
仮に、正解度が閾値未満の場合（例えば、閾値＝０．６に設定されている場合）、統合グラフ生成手段１２は、比較対象グラフ対Ｇ１，Ｇ３のそれぞれを、別々の統合グラフＴとして扱う。
【００５６】
次に、統合グラフ生成手段１２は、３番目の以降の分岐削除済みグラフＧ４に関しては、統合グラフＴをベースとして、ノードＮを追加していく。つまり、統合グラフ生成手段１２は、図７（ａ）に示すように、統合グラフＴと、３番目の分岐削除済みグラフＧ４とを比較対象グラフ対Ｔ，Ｇ４とする。そして、統合グラフ生成手段１２は、この比較対象グラフ対Ｔ，Ｇ４において、ノードＮの一致（Ｈ）と、挿入誤り（Ｉ）と、欠落誤り（Ｄ）と、代替誤り（Ｓ）とを、ＤＰマッチングにより求める。
【００５７】
この場合、一致（Ｈ）は、「中心付近では」を示すノードＮ１１，Ｎ２１と、「今後［時間］以内に」を示すノードＮ１２，Ｎ２３と、「強い風が吹く見込みです」を示すノードＮ１４，Ｎ２５との‘３’になる。また、代替誤り（Ｓ）は、「［方角］の」を示すノードＮ１３に対し、「［風速］メートルの」を示すノードＮ２４との‘１’になる。また、挿入誤り（Ｉ）及び欠落誤り（Ｄ）は、‘０’となる。
【００５８】
このＤＰマッチングの結果を前記した式（１）に代入すると、正解度は、（３−０）／（３＋１＋０）＝０．７５となる。この例では、正解度＝０．７５が閾値＝０．３以上のため、統合グラフ生成手段１２は、比較対象グラフ対Ｔ，Ｇ４を１個の統合グラフＴに統合する。
【００５９】
図７（ａ）では、ノードＮ１３，Ｎ２４が代替誤り（Ｓ）となる。このため、統合グラフ生成手段１２は、図７（ｂ）に示すように、ノードＮ１２から２本のエッジＥを分岐させて、ノードＮ１３，Ｎ２４が並行になるように、統合グラフＴに追加する。
なお、統合グラフ生成手段１２は、一致（Ｈ）となるノードＮ１１，Ｎ２１と、ノードＮ１２，Ｎ２３と、ノードＮ１４，Ｎ２５とは、図６（ｂ）の段階で既に統合グラフＴに追加されているため、何の処理も行わない。
【００６０】
以後、説明を簡易にするため、図７（ｂ）の統合グラフＴにおいて、ノードＮ１Ｓの符号をＮＳ、ノードＮ１１の符号をＮ１、ノードＮ１２の符号をＮ２、ノードＮ１３の符号をＮ３、ノードＮ２に続くノードＮ２４の符号をＮ４、ノードＮ２２の符号をＮ５、ノードＮ５に続くノードＮ２４の符号をＮ６、ノードＮ１４の符号をＮ７、ノードＮ１Ｅの符号をＮＥと呼ぶ。
【００６１】
また、図７（ｂ）の統合グラフＴにおいて、ノードＮＳとノードＮ１とを接続するエッジの符号をＥＳ１、ノードＮ１からノードＮ２に分岐するエッジの符号をＥ１２、ノードＮ１からノードＮ５に分岐するエッジの符号をＥ１５、ノードＮ２からノードＮ３に分岐するエッジの符号をＥ２３、ノードＮ２からノードＮ４に分岐するエッジの符号をＥ２４、ノードＮ５とノードＮ６とを接続するエッジの符号をＥ５６、ノードＮ３からノードＮ７に合流するエッジの符号をＥ３７、ノードＮ４からノードＮ７に合流するエッジの符号をＥ４７、ノードＮ６からノードＮ７に合流するエッジの符号をＥ６７、ノードＮ７とノードＮＥとを接続するエッジの符号をＥ７Ｅと記す。
【００６２】
図１に戻り、音声合成用読み上げ文生成装置１の構成について、説明を続ける。
テキストデータ入力手段１３は、読み上げ済みテキストデータが入力され、入力された読み上げ済みテキストデータをグラフ比較手段１４に出力するものである。
【００６３】
読み上げ済みテキストデータとは、読み上げ済み文の発話内容を示すテキストデータである。言い換えるなら、読み上げ済みテキストデータは、例えば、アナウンサにより読み上げられた音声が既に音声合成データベースに登録され、新たに生成する必要がない読み上げ文のテキストデータである。
【００６４】
グラフ比較手段１４は、統合グラフ生成手段１２から入力された統合グラフＴと読み上げ済みテキストデータとを比較することで、リストＬから、テキストデータに含まれる語句を求めるものである。
【００６５】
＜統合グラフ及び読み上げ済みテキストデータの比較＞
図７，図８を参照し、統合グラフ及び読み上げ済みテキストデータの比較について、説明する（適宜図１参照）。
ここで、グラフ比較手段１４は、図３のリストＬ１〜Ｌ４が統合グラフ生成手段１２から入力され、図７（ｂ）の統合グラフＴと、図８（ａ）の読み上げ済みテキストデータとを比較することとして説明する。
なお、図８（ｂ）では、説明を分かり易くするために “［数値］＝”及び“［風速］＝”を図示した。
【００６６】
図７（ｂ）に示すように、統合グラフＴは、エッジＥの分岐により複数のパスを有する。図７の統合グラフＴにおいて、ノードＮ１〜Ｎ３，Ｎ７を通過するパスを「パス１」と呼び、ノードＮ１，Ｎ２，Ｎ４，Ｎ７を通過するパスを「パス２」と呼び、ノードＮ１，Ｎ５〜Ｎ７を通過するパスを「パス３」と呼ぶ。
【００６７】
グラフ比較手段１４は、統合グラフＴが複数のパスを有する場合、何れのパスが読み上げ済みテキストデータに一致するかを判定する。まず、グラフ比較手段１４は、統合グラフＴのパス１と、読み上げ済みテキストデータとを比較すると、ノードＮ１の「中心付近では」までは一致するが、７文字目で一致しなくなる。このため、グラフ比較手段１４は、その時点で、パス１が読み上げ済みテキストデータに一致しないと判定して、パス１と読み上げ済みテキストデータとの比較を終了する。次に、グラフ比較手段１４は、パス２と読み上げ済みテキストデータとを比較すると、パス１と同様、７文字目で一致しなくなる。このため、グラフ比較手段１４は、その時点で、パス２が読み上げ済みテキストデータに一致しないと判定し、パス２と読み上げ済みテキストデータとの比較を終了する。
【００６８】
最後に、グラフ比較手段１４は、パス３と読み上げ済みテキストデータとを比較する。ここで、統合グラフＴのパス３において、［数値］＝１５、［風速］＝２０が含まれていると仮定する。この場合、ノードＮ１の「中心付近では」が語尾まで一致し、ノードＮ５の「“［数値］＝”１５から」が語尾まで一致し、ノードＮ６の「“［風速］＝”２０メートルの」が語尾まで一致し、ノードＮ７の「強い風が吹く見込みです」が語尾まで一致し、ＥＮＤのノードＮＥに至る。このため、入力文追加グラフ比較手段４０は、パス３と読み上げ済みテキストデータとが一致すると判定する。
【００６９】
そして、グラフ比較手段１４は、前記した比較結果により、リストＬ３の語句「１５」と、リストＬ４の語句「２０」とが、読み上げ済みテキストデータに含まれることを示すリスト除外情報を生成する。その後、グラフ比較手段１４は、統合グラフ生成手段１２から入力されたリストＬ及び統合グラフＴと、生成したリスト除外情報とを、リスト除外手段１５に出力する。
このリスト除外情報は、後記するリスト除外手段１５によって用いられる、リストＬから語句を除外するための情報である。
【００７０】
なお、［数値］＝１５、［風速］＝２０が含まれる場合において、統合グラフＴのパス３が読み上げ済みテキストデータに一致しない場合、リストＬに格納された別の語句が含まれると仮定して、前記した比較を繰り返す。
【００７１】
図１に戻り、音声合成用読み上げ文生成装置１の構成について、説明を続ける。
リスト除外手段１５は、グラフ比較手段１４から入力されたリスト除外情報に基づいて、リストＬから、読み上げ済みテキストデータに含まれる語句を除外するものである。
【００７２】
この例では、リスト除外情報は、リストＬ３の語句「１５」及びリストＬ４の語句「２０」が読み上げ済みテキストデータに含まれている。従って、リスト除外手段１５は、図８（ｃ）に示すように、リストＬ３に格納された語句「１５」を除外し、リストＬ４に格納された語句「２０」を除外する。そして、リスト除外手段１５は、グラフ比較手段１４から入力されたリストＬ１，Ｌ２及び統合グラフＴと、語句を除外したリストＬ３，Ｌ４とを条件式生成手段１６に出力する。
【００７３】
条件式生成手段１６は、読み上げ文に必要となる第１条件式及び第２条件式を生成するものであり、第１条件式生成手段１６ａと、第２条件式生成手段１６ｂとを備える。
そして、条件式生成手段１６は、グラフ比較手段１４から入力されたリストＬ１〜Ｌ４及び統合グラフＴと、第１条件式生成手段１６ａが生成した第１条件式と、第２条件式生成手段１６ｂが生成した第２条件式とを最小通過回数算出手段１７に出力する。
【００７４】
＜第１条件式の生成＞
以下、第１条件式の生成について、具体的に説明する。
第１条件式生成手段１６ａは、統合グラフＴのノードＮ毎に、ノードＮの通過回数Ｆを、ノードＮに対応するリストＬに格納された語句の個数以上とする第１条件式を生成するものである。
ここで、条件式生成手段１６は、図７（ｂ）の統合グラフＴと、図８（ｃ）のリストＬ１〜Ｌ４が入力されたこととして説明する。
【００７５】
具体的には、第１条件式生成手段１６ａは、ノードＮＳに対応するリストＬが存在しないため、リストＬに格納された語句の個を‘０’とする。従って、第１条件式生成手段１６ａは、式（１）のように、ノードＮＳの通過回数ＦＳが‘０’以上となる一次不等式を生成する。また、第１条件式生成手段１６ａは、ノードＮＳと同様、式（２）のように、ノードＮ１の通過回数Ｆ１が‘０’以上となる一次不等式を生成する。
ＦＳ≧０  …式（１）
Ｆ１≧０  …式（２）
【００７６】
また、第１条件式生成手段１６ａは、ノードＮ２にリストＬ１が対応するため、リストＬ１に格納された語句の数をカウントする。そして、第１条件式生成手段１６ａは、式（３）のように、ノードＮ２の通過回数Ｆ２がリストＬ１に格納された語句の数‘２’以上となる一次不等式を生成する。さらに、第１条件式生成手段１６ａは、ノードＮ２と同様、式（４）のように、ノードＮ３の通過回数Ｆ３がリストＬ２に格納された語句の数‘１６’以上となる一次不等式を生成する。
Ｆ２≧２  …式（３）
Ｆ３≧１６  …式（４）
【００７７】
ここで、ノードＮ４，Ｎ６は、分岐削除対象グラフＧ２で同一であったノードＮ２４が、分岐削除済みグラフＧ３，Ｇ４で別々のノードＮ２４に分かれた後、統合グラフＴに統合されている（図４参照）。この場合、第１条件式生成手段１６ａは、式（５）のように、ノードＮ４，Ｎ６の通過回数Ｆ４，Ｆ６の和が、ノードＮ４，Ｎ６に対応するリスト４に格納された語句の数‘１’以上となる一次不等式を生成する。
Ｆ４＋Ｆ６≧１  …式（５）
【００７８】
また、第１条件式生成手段１６ａは、式（６）のように、ノードＮ５の通過回数Ｆ５が、ノードＮ５に対応するリスト３に格納された語句の数‘０’以上となる一次不等式を生成する。このリスト３は、語句が格納されていないため、語句の数が‘０’となる。
Ｆ５≧０  …式（６）
【００７９】
また、第１条件式生成手段１６ａは、ノードＮ１と同様、式（７）のように、ノードＮ７の通過回数Ｆ７が‘０’以上となる一次不等式を生成する。そして、第１条件式生成手段１６ａは、ノードＮ１と同様、式（８）のように、ノードＮＥの通過回数ＦＥが‘０’以上となる一次不等式を生成する。
Ｆ７≧０  …式（７）
ＦＥ≧０  …式（８）
【００８０】
＜第２条件式の生成＞
以下、第２条件式の生成について、具体的に説明する。
第２条件式生成手段１６ｂは、第２条件式として、統合グラフＴのノードＮ毎に、ノードＮに入力されるエッジＥの通過回数Ｈの和がノードＮの通過回数Ｆに等しくなる条件式を生成するものである。
また、第２条件式生成手段１６ｂは、第２条件式として、ノードＮから出力するエッジＥの通過回数Ｈの和がノードＮの通過回数Ｆに等しくなる条件式とを生成する。
すなわち、第２条件式生成手段１６ｂは、１個のノードＮに対して、入力側と出力側との両方で第２条件式を生成する。
【００８１】
具体的には、第２条件式生成手段１６ｂは、ノードＮＳの出力側の第２条件式として、式（９）のように、ノードＮＳから出力するエッジＥＳ１の通過回数ＨＳ１が、ノードＮＳの通過回数ＦＳに等しくなる式を生成する。ここで、ノードＮＳの入力側の第２条件式は、ノードＮＳが先頭であって入力が存在しないため、生成されない。
ＦＳ＝ＨＳ１  …式（９）
【００８２】
また、第２条件式生成手段１６ｂは、ノードＮ１の入力側の第２条件式として、式（１０）のように、ノードＮ１に入力されるエッジＥＳ１の通過回数ＨＳ１が、ノードＮ１の通過回数Ｆ１に等しくなる式を生成する。
Ｆ１＝ＨＳ１  …式（１０）
【００８３】
また、第２条件式生成手段１６ｂは、ノードＮ１の出力側の第２条件式として、式（１１）のように、ノードＮ１から出力するエッジＥ１２の通過回数Ｈ１２とエッジＥ１５の通過回数Ｈ１５との和が、ノードＮ１の通過回数Ｆ１に等しくなる式を生成する。
Ｆ１＝Ｈ１２＋Ｈ１５  …式（１１）
【００８４】
また、第２条件式生成手段１６ｂは、ノードＮ１と同様、式（１２）及び式（１３）のように、ノードＮ２の入力側と出力側との両方で第２条件式を生成する。
Ｆ２＝Ｈ１２  …式（１２）
Ｆ２＝Ｈ２３＋Ｈ２４  …式（１３）
【００８５】
また、第２条件式生成手段１６ｂは、ノードＮ３の入力側の第２条件式として、式（１４）のように、ノードＮ３に入力されるエッジＥ２３の通過回数Ｈ２３が、ノードＮ３の通過回数Ｆ３に等しくなる式を生成する。
Ｆ３＝Ｈ２３  …式（１４）
【００８６】
また、第２条件式生成手段１６ｂは、ノードＮ３の出力側の第２条件式として、式（１５）のように、ノードＮ３から出力するエッジＥ３７の通過回数Ｈ３７が、ノードＮ３の通過回数Ｆ３に等しくなる式を生成する。
Ｆ３＝Ｈ３７  …式（１５）
【００８７】
また、第２条件式生成手段１６ｂは、ノードＮ３と同様、式（１６）〜式（２１）のように、ノードＮ４，Ｎ５，Ｎ６の入力側と出力側との両方で第２条件式を生成する。
Ｆ４＝Ｈ２４  …式（１６）
Ｆ４＝Ｈ４７  …式（１７）
Ｆ５＝Ｈ１５  …式（１８）
Ｆ５＝Ｈ５６  …式（１９）
Ｆ６＝Ｈ５６  …式（２０）
Ｆ６＝Ｈ６７  …式（２１）
【００８８】
また、第２条件式生成手段１６ｂは、ノードＮ７の入力側の第２条件式として、式（２２）のように、ノードＮ７に入力されるエッジＥ３７の通過回数Ｈ３７と、エッジＥ４７の通過回数Ｈ４７と、エッジＥ６７の通過回数Ｈ６７との和が、ノードＮ７の通過回数Ｆ７に等しくなる式を生成する。
Ｆ７＝Ｈ３７＋Ｈ４７＋Ｈ６７  …式（２２）
【００８９】
また、第２条件式生成手段１６ｂは、ノードＮ７の出力側の第２条件式として、式（２３）のように、ノードＮ７から出力するエッジＥ７Ｅの通過回数Ｈ７Ｅが、ノードＮ７の通過回数Ｆ７に等しくなる式を生成する。
Ｆ７＝Ｈ７Ｅ  …式（２３）
【００９０】
また、第２条件式生成手段１６ｂは、ノードＮＥの入力側の第２条件式として、式（２４）のように、ノードＮＥに入力されるエッジＥ７Ｅの通過回数Ｈ７Ｅが、ノードＮＥの通過回数ＦＥに等しくなる式を生成する。ここで、ノードＮＥの出力側の第２条件式は、ノードＮＥが最後で出力が存在しないため、生成されない。
ＦＥ＝Ｈ７Ｅ  …式（２４）
【００９１】
最小通過回数算出手段１７は、条件式生成手段１６から入力された第１条件式及び第２条件式をシンプレックス法で解いて、文の先頭におけるノードＮＳの通過回数ＦＳが最小になる最小通過回数を算出するものである。
このとき、最小通過回数算出手段１７は、シンプレックス法により、第１条件式及び第２条件式に含まれるＦ１〜ＦＥ及びＨＳ１〜Ｈ７Ｅも算出する。
【００９２】
ここで、式（１）〜式（２４）を解いた結果は、以下のようになる。つまり、最小通過回数は、通過回数ＦＳと等しい値‘１７’となる。
ＦＳ＝１７，Ｆ１＝１７，Ｆ２＝１６，Ｆ３＝１６，Ｆ４＝０，Ｆ５＝１，Ｆ６＝１，Ｆ７＝１７，ＦＥ＝１７，ＨＳ１＝１７，Ｈ１２＝１６，Ｈ１５＝１，Ｈ２３＝１６，Ｈ２４＝０，Ｈ３７＝１６，Ｈ４７＝１６，Ｈ５６＝１，Ｈ６７＝１，Ｈ７Ｅ＝１７
【００９３】
その後、最小通過回数算出手段１７は、条件式生成手段１６から入力されたリストＬ１〜Ｌ４及び統合グラフＴと、第１条件式及び第２条件式を解いた結果とを読み上げ文生成手段１８に出力する。
【００９４】
読み上げ文生成手段１８は、最小通過回数算出手段１７から入力された統合グラフＴを用いて、最小通過回数と等しい数、リストＬに格納された語句の組み合わせを変えて読み上げ文を生成するものである。
【００９５】
＜読み上げ文の生成＞
図７，図８を参照し、読み上げ文の生成について、説明する（適宜図１参照）。
ここで、読み上げ文生成手段１８は、図７（ｂ）の統合グラフＴと、図８（ｃ）のリストＬ１〜Ｌ４とが最小通過回数算出手段１７から入力されたこととして説明する。
【００９６】
図７（ｂ）に示すように、統合グラフＴの先頭では、ノードＮＳからノードＮ１に入力されるエッジＥＳ１が存在する。そこで、読み上げ文生成手段１８は、エッジＥＳ１を選択する。さらに、読み上げ文生成手段１８は、エッジＥＳ１が入力されるノードＮ１にリストＬが対応していないので、このノードＮ１が示す「中心付近では」を読み上げ文として選択する。
【００９７】
続いて、ノードＮ１からエッジＥ１２，Ｅ１５が分岐している。そこで、読み上げ文生成手段１８は、一方の分岐先であるエッジＥ１２の通算選択回数が、このエッジＥ１２の通過回数Ｈ１２を超えているか否かを判定する。
【００９８】
エッジＥ１２の通算選択回数が通過回数Ｈ１２を超えていない場合、読み上げ文生成手段１８は、このエッジＥ１２を選択して、このエッジＥ１２の通算選択回数をインクリメントする。
一方、エッジＥ１２の通算選択回数が通過回数Ｈ１２を超えている場合、読み上げ文生成手段１８は、他方の分岐先であるエッジＥ１５を選択して、このエッジＥ１５の通算選択回数をインクリメントする。
【００９９】
ここでは、読み上げ文生成手段１８がエッジＥ１２を選択したこととする。また、エッジＥ１２の分岐先となるノードＮ２がリストＬ１に対応する。この場合、読み上げ文生成手段１８は、リストＬ１の１番目の語句「１２時間」を選択して、このノードＮ２が示す「今後１２時間以内に」を読み上げ文として選択する。
【０１００】
続いて、ノードＮ２からエッジＥ２３，Ｅ２４が分岐している。そこで、読み上げ文生成手段１８は、一方の分岐先であるエッジＥ２３の通算選択回数が、このエッジＥ２３の通過回数Ｈ２３を超えているか否かを判定する。
【０１０１】
エッジＥ２３の通算選択回数が通過回数Ｈ２３を超えていない場合、読み上げ文生成手段１８は、このエッジＥ２３を選択して、このエッジＥ２３の通算選択回数をインクリメントする。
一方、エッジＥ２３の通算選択回数が通過回数Ｈ２３を超えている場合、読み上げ文生成手段１８は、他方の分岐先であるエッジＥ２４を選択して、このエッジＥ２４の通算選択回数をインクリメントする。
【０１０２】
ここでは、読み上げ文生成手段１８がエッジＥ２３を選択したこととする。また、エッジＥ２３の分岐先となるノードＮ３がリストＬ２に対応する。この場合、読み上げ文生成手段１８は、リストＬ２の１番目の語句「東北東」を選択して、このノードＮ３が示す「東北東の」を読み上げ文として選択する。
【０１０３】
続いて、ノードＮ３からノードＮ７に入力されるエッジＥ３７が存在する。そこで、読み上げ文生成手段１８は、エッジＥ３７を選択する。さらに、読み上げ文生成手段１８は、このノードＮ７が示す「強い風が吹く見込みです」を読み上げ文として選択する。
【０１０４】
最後に、ノードＮＥに入力されるエッジＥ７Ｅが存在する。従って、読み上げ文生成手段１８は、読み上げ文として選択されたノードＮの語句を順番に連結して、読み上げ文を生成する。この例では、読み上げ文生成手段１８は、「中心付近では今後１２時間以内に東北東の強い風が吹く見込みです」という読み上げ文を生成する。
【０１０５】
読み上げ文生成手段１８は、ノードＮＳからノードＮＥまでエッジＥを辿りながら、読み上げ文の生成処理を最小通過回数だけ繰り返す。ここで、読み上げ文生成手段１８は、選択されていない語句がリストＬに残っていれば、その語句を選択する。さらに、読み上げ文生成手段１８は、選択されていない語句がリストＬに残っていない場合、選択済みの語句を繰り返し用いる。
このようにして、読み上げ文生成手段１８は、最小通過回数と同数の読み上げ文を生成する。
【０１０６】
［音声合成用読み上げ文生成装置の動作］
図９を参照し、図１の音声合成用読み上げ文生成装置１の動作について、説明する（適宜図１参照）。
音声合成用読み上げ文生成装置１は、グラフ入力手段１０によって、有向グラフ（初期グラフ、分岐削除対象グラフ）Ｇと、リストＬとが入力される（ステップＳ１）。
【０１０７】
音声合成用読み上げ文生成装置１は、グラフ分岐削除手段１１によって、分岐削除対象グラフＧのエッジＥが分岐しているか否かを判定する。
エッジＥが分岐していない場合、グラフ分岐削除手段１１は、分岐削除対象グラフＧを、そのまま分岐削除済みグラフＧとして出力する。
一方、エッジＥが分岐している場合、グラフ分岐削除手段１１は、分岐削除対象グラフＧから、分岐したエッジＥが削除された分岐削除済みグラフＧを複数生成する（ステップＳ２）。
【０１０８】
音声合成用読み上げ文生成装置１は、統合グラフ生成手段１２によって、ＤＰマッチング法によって、比較対象グラフ対が類似するか否かを判定する。
比較対象グラフ対が類似する場合、統合グラフ生成手段１２は、ＤＰマッチング法の結果に基づいて、比較対象グラフ対を統合グラフＴに統合する。
一方、比較対象グラフ対が類似しない場合、統合グラフ生成手段１２は、比較対象グラフ対のそれぞれを、新たな統合グラフＴとして扱う（ステップＳ３）。
【０１０９】
音声合成用読み上げ文生成装置１は、テキストデータ入力手段１３によって、読み上げ済みテキストデータが入力される（ステップＳ４）。
音声合成用読み上げ文生成装置１は、グラフ比較手段１４によって、統合グラフＴと読み上げ済みテキストデータとを比較することで、リスト除外情報を生成する（ステップＳ５）。
【０１１０】
音声合成用読み上げ文生成装置１は、リスト除外手段１５によって、リスト除外情報に基づいて、リストＬから読み上げ済みテキストデータに含まれる語句を除外する（ステップＳ６）。
音声合成用読み上げ文生成装置１は、第１条件式生成手段１６ａによって、第１条件式を生成する（ステップＳ７）。
音声合成用読み上げ文生成装置１は、第２条件式生成手段１６ｂによって、ノードＮの入力側と出力側との両方で第２条件式を生成する（ステップＳ８）。
【０１１１】
音声合成用読み上げ文生成装置１は、最小通過回数算出手段１７によって、第１条件式及び第２条件式をシンプレックス法で解いて、最小通過回数を算出する（ステップＳ９）。
音声合成用読み上げ文生成装置１は、読み上げ文生成手段１８によって、統合グラフＴを用いて、最小通過回数と等しい数、リストＬに格納された語句の組み合わせを変えて読み上げ文を生成する（ステップＳ１０）。
【０１１２】
以上のように、音声合成用読み上げ文生成装置１は、リスト除外手段１５によって、読み上げ済みテキストデータに含まれる語句をリストＬから除外する。このため、音声合成用読み上げ文生成装置１は、読み上げ済み文に含まれない語句だけで読み上げ文を生成することができ、読み上げ文の重複生成を防止し、生成される読み上げ文の数を削減することができる。
【０１１３】
なお、前記した実施形態では、統合グラフＴが１個の場合を例として説明したが、統合グラフＴの個数は特に限定されない。例えば、統合グラフＴが複数ある場合においては、類似する統合グラフＴをさらに統合し（変数の共通化）、類似しない統合グラフＴをそれぞれ個別のものとして扱うことで、全体としてシンプレックス法を用いることが可能となる。
【０１１４】
（変形例１）
本願発明は、実施形態に限定されず、その趣旨を逸脱しない範囲で様々な変形を加えることができる。以下、本発明の変形例について説明する。
【０１１５】
前記した実施形態では、ノードＮに置換可能な語句が最大１個含まれることとして説明したが、本発明は、これに限定されない。
本願発明の変形例に係る音声合成用読み上げ文生成装置１Ａは、統合グラフＴのノードＮに置換可能な語句が２個以上含まれる点と、統合グラフ生成手段１２の代わりに、統合グラフ生成手段１２Ａを備える点とが、前記した実施形態と異なる。
【０１１６】
この統合グラフ生成手段１２Ａは、統合グラフＴのノードＮに置換可能な語句が複数含まれる場合、複数の語句が格納された別々のリストＬから、別々のリストＬに含まれる語句の全組み合わせが格納された統合リストを生成し、統合リストに貪欲アルゴリズムを適用することでコンパクトリストを生成し、ノードＮとコンパクトリストとを対応づける。
【０１１７】
例えば、図１０（ａ）に示すように、統合グラフＴに、「［月度］［日付］［区分］［時間］時には」を示すノードＮが含まれる場合を考える。また、ノードＮには、リストＬ１０〜Ｌ１３が対応付けられている。
【０１１８】
リストＬ１０は、図１０（ｂ）に示すように、ノードＮの［月度］に対応した語句が１２個格納されている。
リストＬ１１は、ノードＮの［日付］に対応した語句が３１個格納されている。
リストＬ１２は、ノードＮの［区分］に対応した、「午前」、「午後」という語句が２個格納されている。
リストＬ１３は、ノードＮの［時間］に対応した語句が１２個格納されている。
【０１１９】
この場合、統合グラフ生成手段１２Ａは、図１０（ｃ）に示すように、ノードＮで置換可能な４個の語句［月度］，［日付］，［区分］，［時間］を、１個の置換可能な語句［月度−日付−区分−時間］に結合する。
【０１２０】
また、統合グラフ生成手段１２Ａは、図１０（ｄ）に示すように、リストＬ１０〜Ｌ１３に含まれる語句の全組み合わせが格納された統合リストＬ２０を生成する。つまり、統合リストＬ２０は、１２×３１×２×１２＝８９２８個の語句が格納される。
【０１２１】
例えば、統合リストＬ２０に格納された１語目の語句は、リストＬ１０〜Ｌ１３の１語目の語句を組み合わせた「１月１日午前０時」となる。また、統合リストＬ２０に格納された２語目の語句は、リストＬ１０〜Ｌ１２の１語目の語句と、リストＬ１３の２語目の語句とを組み合わせた「１月１日午前１時」となる。また、統合リストＬ２０に格納された３語目の語句は、リストＬ１０〜Ｌ１２の１語目の語句と、リストＬ１３の３語目の語句とを組み合わせた「１月１日午前２時」となる。
【０１２２】
そして、統合グラフ生成手段１２Ａは、図１０（ｄ）の統合リストＬ２０に貪欲アルゴリズムを適用することで、音声合成に最小限のコンパクトリスト（不図示）を生成して、図１０（ｃ）のノードＮに対応づける。
【０１２３】
この貪欲アルゴリズムは、例えば、参考文献「Ｔ．コルメン他著、“アルゴリズムイントロダクション”、第３巻、近代科学社、１９９５年１２月３０日、ｐ３１３−３１７」に記載されているため、詳細な説明を省略する。
また、貪欲アルゴリズムとして、特許第４７４１２０８号公報に記載の逐次貪欲アルゴリズムを用いることもできる。
【０１２４】
以上のように、音声合成用読み上げ文生成装置１Ａは、ノードＮに置換可能な語句が複数含まれる場合でも、その語句を１個にすることができる。このため、音声合成用読み上げ文生成装置１Ａは、ノードＮに含まれる置換可能な語句の個数に関わらず、読み上げ文の生成処理を共通化でき、構成を簡素にすることができる。
【符号の説明】
【０１２５】
１，１Ａ  音声合成用読み上げ文生成装置
１０  グラフ入力手段
１１  グラフ分岐削除手段（グラフ統合手段）
１２，１２Ａ  統合グラフ生成手段（グラフ統合手段）
１３  テキストデータ入力手段
１４  グラフ比較手段
１５  リスト除外手段
１６  条件式生成手段
１７  最小通過回数算出手段
１８  読み上げ文生成手段
【図１】
2014115577.tif 000003
【図２】
2014115577.tif 000004
【図３】
2014115577.tif 000005
【図４】
2014115577.tif 000006
【図５】
2014115577.tif 000007
【図６】
2014115577.tif 000008
【図７】
2014115577.tif 000009
【図８】
2014115577.tif 000010
【図９】
2014115577.tif 000011
【図１０】
2014115577.tif 000012