JP5174574B2 - Node passage count determination apparatus and program for graph - Google Patents
Node passage count determination apparatus and program for graph Download PDFInfo
- Publication number
- JP5174574B2 JP5174574B2 JP2008196952A JP2008196952A JP5174574B2 JP 5174574 B2 JP5174574 B2 JP 5174574B2 JP 2008196952 A JP2008196952 A JP 2008196952A JP 2008196952 A JP2008196952 A JP 2008196952A JP 5174574 B2 JP5174574 B2 JP 5174574B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- passes
- value
- directed graph
- passage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003860 storage Methods 0.000 claims description 75
- 238000012545 processing Methods 0.000 claims description 52
- 230000015572 biosynthetic process Effects 0.000 claims description 33
- 238000003786 synthesis reaction Methods 0.000 claims description 33
- 238000004364 calculation method Methods 0.000 claims description 12
- 230000007423 decrease Effects 0.000 claims description 6
- 150000002978 peroxides Chemical class 0.000 claims 2
- 230000015654 memory Effects 0.000 description 71
- 238000000034 method Methods 0.000 description 48
- 230000014509 gene expression Effects 0.000 description 9
- 238000010276 construction Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000002194 synthesizing effect Effects 0.000 description 4
- 230000007704 transition Effects 0.000 description 2
- 240000001973 Ficus microcarpa Species 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Landscapes
- Machine Translation (AREA)
- Document Processing Apparatus (AREA)
Description
本発明は、グラフのルートノードを示す始点とグラフの単独の終点との間にノードとエッジとを備えた有向グラフにおける各ノードのそれぞれの最小通過回数が決まっているときに、ルートノードの通過回数が最小となるときの各ノードの通過回数を決定するノード通過回数決定装置およびそのプログラムに関し、特に、有向グラフを音声合成用読上げ文章の構造を指定するときの情報として入力するノード通過回数決定装置およびそのプログラムに関するものである。 In the present invention, when the minimum number of passes of each node in a directed graph having a node and an edge between a start point indicating the root node of the graph and a single end point of the graph is determined, the number of passes of the root node In particular, a node passage number determination device for determining the number of passage times of each node when the value of the node is minimized, and a program thereof, in particular, a node passage number determination device for inputting a directed graph as information for designating the structure of a text-to-speech reading speech, it relates to the program.
従来、ノードと、ノード間を接続するエッジとを備えたグラフにおけるノードの通過回数を決定する方法として、シンプレックス法を用いる決定方法が知られている(例えば、非特許文献1参照)。シンプレックス法では、条件式が一次関数もしくは一次不等式で記述でき、各未定数は正である場合において、目的関数(一次関数)を最小にする解を得ることができる。ここで、ノードの通過回数とは、グラフにおけるノードとエッジの構造を維持したまま始点から単独の終点までを接続する経路においてノードで示される内容を置換して各ノードを接続するときに各ノードを通過する回数のことを指す。そして、始点から終点までを接続したときのグラフの内容が、例えば1つの文章(テキストデータ)を示す場合には、各ノードの内容は、例えば文節や単語を意味する。単純な具体例としては、「現在の 時刻は ○○です」という文章の各文節をノードで表す場合に、「○○です」の文節の中で、「○○」を、「正午、午後1時、…、午前11時」のように置換する場合には、「○○です」の文節を示すノードの通過回数「24」をルートノードの通過回数にすることも可能である。 2. Description of the Related Art Conventionally, a determination method using a simplex method is known as a method for determining the number of times a node passes in a graph including nodes and edges connecting the nodes (see, for example, Non-Patent Document 1). In the simplex method, a conditional expression can be described by a linear function or a linear inequality, and when each unconstant is positive, a solution that minimizes the objective function (primary function) can be obtained. Here, the number of times the node has passed means that when each node is connected by replacing the content indicated by the node in the path connecting from the start point to a single end point while maintaining the node and edge structure in the graph Refers to the number of passes. When the content of the graph when connecting from the start point to the end point indicates, for example, one sentence (text data), the content of each node means, for example, a phrase or a word. As a simple concrete example, when each clause of the sentence “current time is ○○” is represented by a node, “○○” is changed to “noon, 1 pm In the case of replacement such as “hour,..., 11:00 am”, it is possible to set the number of passages “24” of the node indicating the phrase “I am ○○” as the number of passages of the root node.
また、従来、このような文章(テキストデータ)として音声合成用の読上げ文章を生成する技術が知られている(特許文献1参照)。例えば、特許文献1に記載された音声合成用読上げテキストデータ作成装置は、音声合成装置が、ニュース原稿や株価等の数値を読み上げるための合成音声を生成するために用いる音声データを集めた音声合成用データベースを作成するために文章として読み上げられるテキストデータを入力として受け付ける。そして、この音声合成用読上げテキストデータ作成装置は、入力されたテキストデータを、音声合成する際に合成単位となる音声データ単位に分割して、文章を構成する音声データ単位の各部分の音声として読み上げられる部分的なテキストデータを選択的に生成することで音声合成用の読上げ文章を生成する。
しかしながら、グラフにおけるノードの通過回数を決定する方法にシンプレックス法を採用する場合には、シンプレックス法では、条件式を必ず記述してから解を求めるため、処理に時間がかかってしまう。また、特許文献1に記載された音声合成用読上げテキストデータ作成装置は、音声合成用の読上げ文章を生成するためにグラフを利用するものではない。例えば、音声合成用の読上げ文章を生成するためにグラフを利用しようとするときには、比較的単純な構造のグラフが想定されるが、このような単純な構造のグラフにおけるノードの通過回数を決定する処理において、シンプレックス法を用いることなく処理時間を短縮することが要望されている。また、シンプレックス法では、解の収束性に関して全ての場合に保証されるものではないため、安定性にも問題がある。
However, when the simplex method is employed as a method for determining the number of times a node passes in the graph, the simplex method requires a long time for processing because a conditional expression is always described before a solution is obtained. Moreover, the text-to-speech text data creation device described in
本発明は、以上のような問題点に鑑みてなされたものであり、グラフにおけるノードの通過回数を決定する処理の処理時間を低減することのできる技術を提供することを目的とする。 The present invention has been made in view of the above problems, and an object thereof is to provide a technique capable of reducing the processing time of the process of determining the passing over the number of nodes in the graph.
本発明は、前記目的を達成するために創案されたものであり、まず、請求項1に記載のノード通過回数決定装置は、音声合成用読上げ文章に含まれる語句の位置を示す複数のノードと前記ノード間において分岐および合流が可能なエッジとから構成された有向グラフによって前記音声合成用読上げ文章が表現され、前記有向グラフのルートノードを示す始点と前記有向グラフの単独の終点との間における各ノードに割り当てられた語句を置換して各ノードを接続するときに各ノードをそれぞれ通過する回数の最小値を示す最小通過回数が各ノードに与えられている場合に、前記ルートノードの通過回数と各ノードの通過回数とを決定するノード通過回数決定装置において、処理手段と、入力手段と、記憶手段と、を備え、前記処理手段は、分岐開始判定手段と、分岐マージ判定手段と、ルートノード通過回数決定手段と、ノード通過回数管理手段と、共用通過回数管理手段と、トレースバック手段とを備えることとした。
The present invention was devised to achieve the above object. First, the node passage number determination device according to
かかる構成によれば、ノード通過回数決定装置は、入力手段によって、前記有向グラフと当該有向グラフにおける各ノードに与えられた前記最小通過回数との入力を受け付け、前記入力された有向グラフと当該有向グラフにおける各ノードに与えられた前記最小通過回数とを記憶手段に記憶する。また、記憶手段は、前記処理手段の演算結果として前記各ノードに与えられる暫定値または確定値を表す通過回数、および前記処理手段の演算結果として前記各ノードの暫定的な通過回数を決定するために共用する共用通過回数を記憶する。そして、ノード通過回数決定装置は、分岐開始判定手段によって、前記入力された有向グラフの構造を解析して当該有向グラフにおける分岐の開始を判定し、分岐マージ判定手段によって、前記入力された有向グラフの構造を解析して当該有向グラフにおける分岐のマージを判定する。そして、ノード通過回数決定装置は、ルートノード通過回数決定手段によって、前記有向グラフにおける各ノードの通過回数の初期値として前記最小通過回数を暫定的に割り当てると共に、前記ルートノードの通過回数の初期値として0を割り当てた初期状態にて前記有向グラフの始点から処理を開始し、前記分岐開始判定手段の判定結果と、前記分岐マージ判定手段の判定結果とから得られる前記有向グラフにおける始点から終点に向けての分岐の状態とに基づいて、前記ルートノードの通過回数を最小にするように各ノードの通過回数を前記有向グラフの始点から終点に向けて逐次的に暫定的な値として決定し、前記終点において決定した暫定的な値を前記ルートノードの通過回数として確定する。これにより、ルートノードの通過回数を確定することができる。 According to such a configuration, the node number of passes determination device, the input unit accepts the input of the minimum number of passes given to each node in the directed graph and the directed graph, each node in the input directed graph and the digraph stored in the storage means and the minimum number of passes given. The storage means determines the number of passages representing a provisional value or a fixed value given to each node as the calculation result of the processing means, and the provisional number of passages of each node as the calculation result of the processing means. Stores the number of shared passages shared. Then, the node passage number determination device analyzes the structure of the input directed graph by the branch start determination unit, determines the start of the branch in the directed graph, and determines the structure of the input directed graph by the branch merge determination unit. Analyzing to determine the branch merge in the directed graph. Then, the node passage number determination device tentatively assigns the minimum number of passages as an initial value of the number of passages of each node in the directed graph by the route node passage number determination means, and as an initial value of the number of passages of the root node. The process is started from the start point of the directed graph in the initial state assigned 0, and from the start point to the end point in the directed graph obtained from the determination result of the branch start determination unit and the determination result of the branch merge determination unit based on the branch condition, the determining the number passing the root node as sequentially provisional value and pass count toward the end from the starting point of the digraph for each node so as to minimize, determined at the end point The provisional value is determined as the number of times the route node passes. As a result, the number of times the route node passes can be determined.
また、かかる構成によれば、ノード通過回数決定装置は、ノード通過回数管理手段によって、前記有向グラフにおけるルートノードおよび各ノードに対して暫定値または確定値として決定された通過回数を前記記憶手段に保持して管理する。また、ノード通過回数決定装置は、共用通過回数管理手段によって、前記有向グラフの始点から終点に向けての分岐において分岐前のノードの通過回数から分岐後の各ノードに与えられた前記最小通過回数の和を差し引いた差分値を、分岐後の各ノードおよび当該分岐のマージ前後に係る各ノードの暫定的な通過回数を決定するまで共用するための前記共用通過回数として前記記憶手段に保持し、前記共用通過回数の増減を管理する。そして、ノード通過回数決定装置は、トレースバック手段によって、前記有向グラフにおける終点の通過回数の初期値として前記確定されたルートノードの通過回数と同じ値を割り当てた初期状態にて前記有向グラフの終点から処理を開始し、前記分岐開始判定手段の判定結果と、前記分岐マージ判定手段の判定結果とから得られる前記有向グラフにおける終点から始点に向けての分岐の状態と、前記暫定的な値として決定された各ノードの通過回数とに基づいて、前記ルートノードの通過回数を最小値に維持しながら、各ノードの通過回数を前記有向グラフの終点から始点に向けて逐次的に確定する。これにより、ルートノード以外の各ノードの通過回数も確定できる。 Further, according to this configuration, the node passage number determination device holds the passage number determined by the node passage number management unit as a provisional value or a fixed value for the root node and each node in the directed graph in the storage unit. And manage. Further, the node passage number determination device uses the common passage number management means to determine the minimum number of passage times given to each node after branching from the number of passages of the node before branching in the branching from the start point to the end point of the directed graph. a difference value obtained by subtracting the sum, and held in the storage means as the common number of passages for sharing until determining the provisional number of passes of each node according to the front and rear merge each node and the branch after the branch, the Manage changes in the number of shared passes. Then, the node passage number determination device performs processing from the end point of the directed graph in an initial state in which the same value as the number of passages of the determined root node is assigned as an initial value of the number of passages of the end point in the directed graph by the traceback means. was started, the determination result of the branch start determination means, the state of the branches toward the starting point from the end point of the directed graph resulting from the determination result of the branch merge determination means is determined as a pre-Symbol provisional value based on the number of passes through each node, while maintaining the number passing before Symbol root node to a minimum value, sequentially determined toward the start point pass count for each node from the end of the directed graph. As a result, the number of passes through each node other than the root node can also be determined.
また、請求項1に記載のノード通過回数決定装置は、前記有向グラフにおいて始点から終点に向けての分岐がある場合、前記ルートノード通過回数決定手段は、分岐後の各ノードに与えられて記憶されている前記最小通過回数を、分岐後の各ノードに対する通過回数の暫定値として決定し、前記ノード通過回数管理手段は当該ノードに対して決定された通過回数の暫定値を前記記憶手段に記憶し、前記ルートノード通過回数決定手段は、分岐前のノードに対して記憶されている通過回数の暫定値と分岐後の各ノードに対して記憶されている通過回数の暫定値の和とを比較し、分岐前のノードの通過回数の暫定値の方が大きければ、前記共用通過回数管理手段に対して、分岐前のノードの通過回数の暫定値から分岐後の各ノードの通過回数の暫定値の和を差し引いた差分を当該分岐に係る前記共用通過回数として前記記憶手段に保持するように指示し、前記共用通過回数管理手段が、前記指示に従うこととした。
Further, in the node passage number determination device according to
かかる構成によれば、ノード通過回数決定装置は、分岐後の各ノードに与えられた最小通過回数を、分岐後の各ノードの通過回数として暫定的に決定し、かつ、分岐前のノードの通過回数の方が分岐後のノードの通過回数の和よりも大きければ、その差分を、共用通過回数として記憶手段に保持することができる。したがって、この場合には、ノード通過回数決定装置は、有向グラフにおいて分岐後にマージするまでの間、共用通過回数を、分岐後の各ノード全体をまとめて管理したときの通過回数の余剰分として一括して管理することができる。これにより、この共用通過回数が分岐後にマージするまでの間に0以上の値を維持していれば、マージ後のノードの通過回数を、マージ前の各ノードの通過回数の和と同じ値にすることができる。また、この共用通過回数が分岐後にマージするまでの間に負の値に減少した場合には、マージ後のノードの通過回数は、分岐前のノードの通過回数よりも大きな値にすることができるので、負の値に減少した時点で共用通過回数を破棄することができる。 According to such a configuration, the node passage number determination device tentatively determines the minimum number of passages given to each node after branching as the number of passages of each node after branching, and passes through the node before branching. If the number of times is larger than the sum of the number of passages of the node after branching, the difference can be held in the storage means as the number of times of common passage. Therefore, in this case, the node passage number determination device collects the shared passage number as a surplus of the passage number when all the nodes after branching are managed together until the merged after branching in the directed graph. Can be managed. As a result, if the shared pass count is maintained at a value of 0 or more before merging after branching, the pass count of nodes after merging is set to the same value as the sum of the pass count of each node before merging. can do. In addition, when the number of shared passes decreases to a negative value before merging after branching, the number of passes of the node after merging can be set to a value larger than the number of passes of the node before branching. Therefore, the number of times of shared passage can be discarded when it decreases to a negative value.
また、請求項1に記載のノード通過回数決定装置は、前記有向グラフにおいて隣り合うノード間に始点から終点に向けての分岐がない場合、前記ルートノード通過回数決定手段が、始点側のノードに対して記憶されている通過回数の暫定値と終点側のノードに与えられて記憶されている前記最小通過回数とを比較し、どちらか大きい方の値を、終点側のノードに対する通過回数の暫定値として決定し、前記ノード通過回数管理手段が当該ノードに対して決定された通過回数の暫定値を前記記憶手段に記憶し、前記ルートノード通過回数決定手段が、終点側のノードに与えられて記憶されている前記最小通過回数の方が大きく、かつ、当該隣り合うノードの始点側ノードに係り前記記憶手段に記憶されている前記共用通過回数の値が1以上であれば、前記共用通過回数管理手段に対して、終点側のノードに与えられて記憶されている前記最小通過回数から始点側のノードに対して記憶されている通過回数の暫定値を差し引いた差分だけ前記共用通過回数の値を減算するように指示し、前記共用通過回数管理手段が、前記指示に従うこととした。
The node passage number determination device according to
かかる構成によれば、ノード通過回数決定装置は、始点側のノードの通過回数と終点側のノードに与えられた最小通過回数のうち、どちらか大きい方の値を、終点側のノードの通過回数として暫定的に決定する。これにより、有向グラフにおいて隣り合うノード間に始点から終点に向けての分岐がない場合に、ルートノードの通過回数を最小にすることができる。また、ノード通過回数決定装置は、この隣り合うノードの始点側ノードに係る共用通過回数が保持されていれば、すなわち、第1の分岐後の隣り合うノード間に第2の分岐がない場合には、第1の分岐後の隣り合うノードの終点側のノードに与えられた最小通過回数の方が大きければ、その差分だけ共用通過回数の値を減算する。したがって、第1の分岐後のノードに隣り合う終点側のノードの通過回数を暫定的に決定したときに、第1の分岐後の分岐毎の各ノードの通過回数の暫定的な値に、暫定的な値を決定したときの共用通過回数を加算した値を、有向グラフにおいて第1の分岐後にマージするまで一定値として維持することができる。これにより、有向グラフにおいて第1の分岐後の隣り合うノード間に始点から終点に向けての第2の分岐がない場合に、ルートノードの通過回数を最小にすることができる。 According to such a configuration, the node passage number determination device determines the larger of the number of passages of the node on the end point, whichever is greater between the number of passages of the node on the start point side and the minimum number of passages given to the node on the end point side. As a tentative decision. Thereby, when there is no branch from the start point to the end point between adjacent nodes in the directed graph, the number of times the route node passes can be minimized. In addition, the node passage number determination device, when the number of shared passages related to the start side node of the adjacent node is held, that is, when there is no second branch between the adjacent nodes after the first branch. If the minimum number of passes given to the node on the end point of the adjacent node after the first branch is larger, the value of the shared pass number is subtracted by the difference. Therefore, when the number of passages of the node on the end point adjacent to the node after the first branch is tentatively determined, the provisional value of the number of passes of each node for each branch after the first branch is temporarily A value obtained by adding the number of shared passes when a specific value is determined can be maintained as a constant value until merging after the first branch in the directed graph. As a result, when there is no second branch from the start point to the end point between adjacent nodes after the first branch in the directed graph, the number of times the route node passes can be minimized.
また、請求項1に記載のノード通過回数決定装置は、前記有向グラフにおいて始点から終点に向けてのマージがある場合、前記ルートノード通過回数決定手段が、マージ前の各ノードに対して記憶されている通過回数の暫定値の和とマージ後のノードに与えられて記憶されている前記最小通過回数とを比較し、比較の結果、マージ前の各ノードの通過回数の暫定値の和がマージ後のノードに与えられた前記最小通過回数よりも小さければ、マージ後のノードに与えられた前記最小通過回数をマージ後のノードに対する通過回数の暫定値として決定し、前記ノード通過回数管理手段が当該ノードに対して決定された通過回数の暫定値を前記記憶手段に記憶し、比較の結果、マージ前の各ノードの通過回数の暫定値の和がマージ後のノードに与えられた前記最小通過回数以上であれば、マージ前の各ノードの通過回数の暫定値の和をマージ後のノードに対する通過回数の暫定値として決定すると共に、マージ前の各ノードにおいて前記共用通過回数が共用されていた場合には当該共用されている共用通過回数を削除するように前記共用通過回数管理手段に対して指示し、前記共用通過回数管理手段は、前記指示に従うこととした。
The node passing times determination device according to
かかる構成によれば、ノード通過回数決定装置は、マージ前の各ノードの通過回数の和と、マージ後のノードに与えられた最小通過回数との大小関係に応じて、どちらか大きい方の値を、マージ後のノードの通過回数として暫定的に決定する。これにより、有向グラフにおいて始点から終点に向けてのマージがある場合に、ルートノードの通過回数を最小にすることができる。また、ノード通過回数決定装置は、マージ前に共用通過回数が保持されていれば、マージ後のノードの通過回数を暫定的に決定した後で、共用通過回数を削除するので、マージ後のノードの通過回数を暫定的に決定した後では、マージ前の各ノードに保持された暫定的な通過回数(その時点での最小通過回数)の和を振り返ってみれば、そのときには、共用通過回数の値を考慮しない分だけ、当該マージを生じせしめる各分岐が行われる以前のノードの暫定的な通過回数の値よりも小さいものとなる。したがって、トレースバックする際に、一括して管理していた共用通過回数を考慮するのではなく、マージ前の各ノードの通過回数(ただし各ノードはトレースバック時には分岐後の各ノードを示す)を、各ノードに保持された暫定的な最小通過回数に基づいて確定することが可能となる。 According to such a configuration, the node passage number determination device determines which value is greater, depending on the magnitude relationship between the sum of the number of passages of each node before merging and the minimum number of passages given to the node after merging. Is tentatively determined as the number of times the node has passed after merging. Thereby, when there is a merge from the start point to the end point in the directed graph, the number of times the route node passes can be minimized. In addition, if the number of shared passages is held before merging, the node passage number determination device deletes the number of shared passages after tentatively determining the number of passages of nodes after merging. After tentatively determining the number of passes, it is possible to look back at the sum of the provisional number of passes (minimum number of passes at that time) held in each node before merging. Since the value is not taken into consideration, the value is smaller than the value of the provisional number of passages of the node before each branch that causes the merge is performed. Therefore, instead of taking into account the number of shared passes that were collectively managed when tracing back, the number of passes of each node before merging (however, each node indicates each node after branching during traceback) Thus, it is possible to determine based on the provisional minimum number of passages held in each node.
また、請求項1に記載のノード通過回数決定装置は、前記トレースバック手段が、前記有向グラフにおいて隣り合うノード間に終点から始点に向けての分岐がない場合に、終点側のノードに対して記憶されている通過回数の暫定値をそのまま確定値として決定し、前記終点側のノードに対する通過回数の確定値と同じ値を、始点側のノードに対する通過回数の確定値として決定し、前記有向グラフにおいて終点から始点に向けての分岐がある場合に、分岐前のノードに対して記憶されている通過回数の暫定値をそのまま確定値として決定し、前記分岐前のノードに対する通過回数の確定値を、分岐後の各ノードに対して記憶されている通過回数の暫定値の和で除した比率を求め、前記求めた比率を、分岐後の各ノードに対して記憶されている通過回数の暫定値に掛けた値を、分岐後の各ノードに対する通過回数の確定値として決定し、前記有向グラフにおいて終点から始点に向けてのマージがある場合に、マージ前の各ノードに対して記憶されている通過回数の暫定値の和を、マージ後のノードに対する通過回数の確定値として決定し、前記ノード通過回数管理手段は前記有向グラフの各ノードに対して決定された通過回数の確定値を前記記憶手段に記憶することとした。
The node passage number determination device according to
かかる構成によれば、ノード通過回数決定装置は、有向グラフの終点でルートノードの通過回数を確定した後、終点から始点に向けてトレースバックする際に、分岐がない場合には、終点側の通過回数と同じ値を始点側のノードの通過回数として確定する。また、ノード通過回数決定装置は、トレースバックする際に分岐がある場合には、分岐前の通過回数を分岐後の通過回数に比例配分できるように、分岐後の暫定的な通過回数に比率を掛ける。さらに、ノード通過回数決定装置は、トレースバックする際にマージがある場合に、マージ前の各ノードの通過回数の和を、マージ後のノードの通過回数として確定する。これにより、有向グラフにおいてルートノードの通過回数を最小にすると共に、ルートノード間を接続する各ノードの通過回数を確実に決定することができる。 According to such a configuration, the node passage number determination device determines the passage number of the route node at the end point of the directed graph, and then traces back from the end point to the start point. The same value as the number of times is determined as the number of times of passage of the node on the starting point side. In addition, when there is a branch at the time of traceback, the node passage number determination device sets a ratio to the provisional passage number after branching so that the number of passages before branching can be proportionally distributed to the number of passages after branching. Multiply. Further, when there is a merge at the time of traceback, the node passage number determination apparatus determines the sum of the number of passages of each node before merging as the number of passages of the node after the merge. As a result, the number of passages of the root node in the directed graph can be minimized, and the number of passages of each node connecting the root nodes can be determined reliably.
また、請求項2に記載のノード通過回数決定プログラムは、音声合成用読上げ文章に含まれる語句の位置を示す複数のノードと前記ノード間において分岐および合流が可能なエッジとから構成された有向グラフによって前記音声合成用読上げ文章が表現され、前記有向グラフのルートノードを示す始点と前記有向グラフの単独の終点との間における各ノードに割り当てられた語句を置換して各ノードを接続するときに各ノードをそれぞれ通過する回数の最小値を示す最小通過回数が各ノードに与えられている場合に、前記ルートノードの通過回数と各ノードの通過回数とを決定するために、入力された有向グラフ、当該有向グラフにおける各ノードに与えられた前記最小通過回数、演算結果としての前記各ノードに与えられる暫定値または確定値を表す通過回数、および演算結果としての前記各ノードの暫定的な通過回数を決定するために共用する共用通過回数を記憶する記憶手段を備えた記憶手段を備えたコンピュータを、分岐開始判定手段、分岐マージ判定手段、ルートノード通過回数決定手段、ノード通過回数管理手段、共用通過回数管理手段、トレースバック手段として機能させるためのプログラムであることを前提とする。 According to a second aspect of the present invention , the program for determining the number of times of passing through a node is a directed graph composed of a plurality of nodes indicating positions of words / phrases included in a text-to-speech read-out sentence and edges that can branch and merge between the nodes. the sentence reading for speech synthesis is represented, when connecting each node to replace the word assigned to each node between the sole end point of the starting indicating the root node directed graph of the directed graph If the minimum number of passes that indicates the minimum value of the number of passes through each node respectively is given to each node in order to determine the number of passes of the pass count and each node of the root node, the input directed graph , The minimum number of passages given to each node in the directed graph, a provisional value given to each node as a calculation result, or an Passing times representing a value, and a computer having a storage unit having a storage means for storing shared number of passes to be shared in order to determine the provisional number of passes of each node as a calculation result, branch start determining means It is assumed that the program is a program for functioning as a branch merge determination unit, a route node passage number determination unit, a node passage number management unit, a shared passage number management unit, and a traceback unit.
かかる構成によれば、ノード通過回数決定プログラムは、分岐開始判定手段によって、入力された有向グラフの構造を解析して当該有向グラフにおける分岐の開始を判定し、分岐マージ判定手段によって、前記入力された有向グラフの構造を解析して当該有向グラフにおける分岐のマージを判定する。そして、ノード通過回数決定プログラムは、ルートノード通過回数決定手段によって、前記有向グラフにおける各ノードの通過回数の初期値として前記最小通過回数を暫定的に割り当てると共に、前記ルートノードの通過回数の初期値として0を割り当てた初期状態にて前記有向グラフの始点から処理を開始し、前記分岐開始判定手段の判定結果と、前記分岐マージ判定手段の判定結果とから得られる前記有向グラフにおける始点から終点に向けての分岐の状態とに基づいて、前記ルートノードの通過回数を最小にするように各ノードの通過回数を前記有向グラフの始点から終点に向けて逐次的に暫定的な値として決定し、前記終点において決定した暫定的な値を前記ルートノードの通過回数として確定する。そして、ノード通過回数決定プログラムは、ノード通過回数管理手段によって、前記有向グラフにおけるルートノードおよび各ノードに対して暫定値または確定値として決定された通過回数を前記記憶手段に保持して管理し、共用通過回数管理手段によって、前記有向グラフの始点から終点に向けての分岐において分岐前のノードの通過回数から分岐後の各ノードに与えられた前最小通過回数の和を差し引いた差分値を、分岐後の各ノードおよび当該分岐のマージ前後に係る各ノードの暫定的な通過回数を決定するまで共用するための前共用通過回数として前記記憶手段に保持し、前記共用通過回数の増減を管理する。そして、ノード通過回数決定プログラムは、トレースバック手段によって、前記有向グラフにおける終点の通過回数の初期値として前記確定されたルートノードの通過回数と同じ値を割り当てた初期状態にて前記有向グラフの終点から処理を開始し、前記分岐開始判定手段の判定結果と、前記分岐マージ判定手段の判定結果とから得られる前記有向グラフにおける終点から始点に向けての分岐の状態と、前記暫定的な値として決定された各ノードの通過回数とに基づいて、前記ルートノードの通過回数を最小値に維持しながら、各ノードの通過回数を前記有向グラフの終点から始点に向けて逐次的に確定する。 According to such a configuration, the node passage number determination program analyzes the structure of the input directed graph by the branch start determining unit to determine the start of the branch in the directed graph, and the branch merge determining unit determines the input directed graph. Is analyzed to determine the merge of branches in the directed graph. Then, the node passage number determination program tentatively assigns the minimum number of passages as an initial value of the number of passages of each node in the directed graph by the route node passage number determination means, and as an initial value of the number of passages of the root node. The process is started from the start point of the directed graph in the initial state assigned 0, and from the start point to the end point in the directed graph obtained from the determination result of the branch start determination unit and the determination result of the branch merge determination unit based on the branch condition, the determining the number passing the root node as sequentially provisional value and pass count toward the end from the starting point of the digraph for each node so as to minimize, determined at the end point The provisional value is determined as the number of times the route node passes. The node passage number determination program stores the number of passages determined as a provisional value or a deterministic value for the root node and each node in the directed graph by the node passage number management unit, manages and manages the node number After branching, a difference value obtained by subtracting the sum of the number of previous minimum passes given to each node after branching from the number of passes before branching in the branch from the start point to the end point of the directed graph Are stored in the storage means as the previous shared pass count for sharing until the provisional pass count of each node before and after the merge of the branch is determined, and the increase / decrease in the shared pass count is managed. Then, the node passage number determination program performs processing from the end point of the directed graph in an initial state in which the same value as the number of passages of the determined root node is assigned as an initial value of the number of passages of the end point in the directed graph by the traceback means. was started, the determination result of the branch start determination means, the state of the branches toward the starting point from the end point of the directed graph resulting from the determination result of the branch merge determination means is determined as a pre-Symbol provisional value based on the number of passes through each node, while maintaining the number passing before Symbol root node to a minimum value, sequentially determined toward the start point pass count for each node from the end of the directed graph.
また、請求項2に記載のノード通過回数決定プログラムは、前記有向グラフにおいて始点から終点に向けての分岐がある場合、前記ルートノード通過回数決定手段が、分岐後の各ノードに与えられて記憶されている前記最小通過回数を、分岐後の各ノードに対する通過回数の暫定値として決定し、前記ノード通過回数管理手段が当該ノードに対して決定された通過回数の暫定値を前記記憶手段に記憶し、前記ルートノード通過回数決定手段が、分岐前のノードに対して記憶されている通過回数の暫定値と分岐後の各ノードに対して記憶されている通過回数の暫定値の和とを比較し、分岐前のノードの通過回数の暫定値の方が大きければ、前記共用通過回数管理手段に対して、分岐前のノードの通過回数の暫定値から分岐後の各ノードの通過回数の暫定値の和を差し引いた差分を当該分岐に係る前記共用通過回数として前記記憶手段に保持するように指示し、前記共用通過回数管理手段が、前記指示に従う。
そして、ノード通過回数決定プログラムは、前記有向グラフにおいて隣り合うノード間に始点から終点に向けての分岐がない場合、前記ルートノード通過回数決定手段が、始点側のノードに対して記憶されている通過回数の暫定値と終点側のノードに与えられて記憶されている前記最小通過回数とを比較し、どちらか大きい方の値を、終点側のノードに対する通過回数の暫定値として決定し、前記ノード通過回数管理手段が当該ノードに対して決定された通過回数の暫定値を前記記憶手段に記憶し、前記ルートノード通過回数決定手段が、終点側のノードに与えられて記憶されている前記最小通過回数の方が大きく、かつ、当該隣り合うノードの始点側ノードに係り前記記憶手段に記憶されている前記共用通過回数の値が1以上であれば、前記共用通過回数管理手段に対して、終点側のノードに与えられて記憶されている前記最小通過回数から始点側のノードに対して記憶されている通過回数の暫定値を差し引いた差分だけ前記共用通過回数の値を減算するように指示し、前記共用通過回数管理手段が、前記指示に従う。
そして、ノード通過回数決定プログラムは、前記有向グラフにおいて始点から終点に向けてのマージがある場合、前記ルートノード通過回数決定手段が、マージ前の各ノードに対して記憶されている通過回数の暫定値の和とマージ後のノードに与えられて記憶されている前記最小通過回数とを比較し、比較の結果、マージ前の各ノードの通過回数の暫定値の和がマージ後のノードに与えられた前記最小通過回数よりも小さければ、マージ後のノードに与えられた前記最小通過回数をマージ後のノードに対する通過回数の暫定値として決定し、前記ノード通過回数管理手段が当該ノードに対して決定された通過回数の暫定値を前記記憶手段に記憶し、比較の結果、マージ前の各ノードの通過回数の暫定値の和がマージ後のノードに与えられた前記最小通過回数以上であれば、マージ前の各ノードの通過回数の暫定値の和をマージ後のノードに対する通過回数の暫定値として決定すると共に、マージ前の各ノードにおいて前記共用通過回数が共用されていた場合には当該共用されている共用通過回数を削除するように前記共用通過回数管理手段に対して指示し、前記共用通過回数管理手段が前記指示に従う。
そして、ノード通過回数決定プログラムは、前記トレースバック手段が、前記有向グラフにおいて隣り合うノード間に終点から始点に向けての分岐がない場合に、終点側のノードに対して記憶されている通過回数の暫定値をそのまま確定値として決定し、前記終点側のノードに対する通過回数の確定値と同じ値を、始点側のノードに対する通過回数の確定値として決定する。
そして、ノード通過回数決定プログラムは、前記トレースバック手段が、前記有向グラフにおいて終点から始点に向けての分岐がある場合に、分岐前のノードに対して記憶されている通過回数の暫定値をそのまま確定値として決定し、前記分岐前のノードに対する通過回数の確定値を、分岐後の各ノードに対して記憶されている通過回数の暫定値の和で除した比率を求め、前記求めた比率を、分岐後の各ノードに対して記憶されている通過回数の暫定値に掛けた値を、分岐後の各ノードに対する通過回数の確定値として決定する。
そして、ノード通過回数決定プログラムは、前記トレースバック手段が、前記有向グラフにおいて終点から始点に向けてのマージがある場合に、マージ前の各ノードに対して記憶されている通過回数の暫定値の和を、マージ後のノードに対する通過回数の確定値として決定し、前記ノード通過回数管理手段が前記有向グラフの各ノードに対して決定された通過回数の確定値を前記記憶手段に記憶することとした。
Further, the node passage number determination program according to
When there is no branch from the start point to the end point between adjacent nodes in the directed graph, the node pass count determination program stores the pass stored in the root node pass count determination unit for the start point side node. The provisional value of the number of times is compared with the minimum number of passages given to and stored in the node on the end point side, and the larger value is determined as the provisional value of the number of passages for the node on the end point side, The transit number management means stores a provisional value of the number of passages determined for the node in the storage means, and the route node passage number determination means is provided to the end-side node and stored in the minimum passage If the number of times of sharing is greater than 1 and the value of the number of times of shared passage stored in the storage means in relation to the start side node of the adjacent node is 1 or more, For the shared pass count management means, the shared pass is the difference obtained by subtracting the provisional value of the pass count stored for the start node from the minimum pass count given to the end node. An instruction is given to subtract the value of the number of times, and the shared passage number management means follows the instruction.
The node passage number determination program, when there is a merge from the start point to the end point in the directed graph, the route node passage number determination means, the provisional value of the passage number stored for each node before the merge And the minimum number of passages given to the node after merging and stored, and as a result of comparison, the sum of provisional values of the number of passages of each node before merging is given to the node after merging If it is smaller than the minimum number of passes, the minimum number of passes given to the node after merging is determined as a provisional value of the number of passes for the node after merging, and the node passing number management means is determined for the node Before the merged provisional value of the passing number of each node before merging is given to the node after merging. If it is equal to or greater than the minimum number of passages, the sum of the provisional values of the number of passages of each node before merging is determined as a provisional value of the number of passages for the node after merging, and the shared number of passages is shared by each node before merging If so, the shared pass count management means is instructed to delete the shared pass count, and the shared pass count management means follows the instruction.
Then, the node passage number determination program determines the number of passage times stored for the node on the end point side when the traceback means has no branch from the end point to the start point between adjacent nodes in the directed graph. The provisional value is determined as a fixed value as it is, and the same value as the determined value of the number of times of passage for the node on the end point side is determined as the fixed value of the number of times of passage for the node on the start point side.
Then, the node pass count determination program determines the provisional value of the pass count stored for the node before the branch as it is when the traceback means has a branch from the end point to the start point in the directed graph. Determined as a value, obtain a ratio obtained by dividing the determined value of the number of passages for the node before branching by the sum of provisional values of the number of passages stored for each node after branching, and the obtained ratio, A value obtained by multiplying the provisional value of the number of passes stored for each node after branching is determined as a definite value of the number of passes for each node after branching.
Then, when the traceback means has a merge from the end point to the start point in the directed graph, the node pass count determination program calculates the sum of the provisional values of the pass counts stored for each node before the merge. Is determined as a determined value of the number of passages for the merged node, and the node passing number management means stores the determined value of the number of passing times determined for each node of the directed graph in the storage means.
請求項1または請求項2に係る発明によれば、有向グラフにおいて、始点から終点に向けて、各ノードに与えられた最小通過回数を利用してルートノードの通過回数を最小にするように各ノードの通過回数を暫定的に決定し、有向グラフの終点でルートノードの通過回数を確定した後、終点から始点に向けてトレースバックすることにより、各ノードでの通過回数を確定していくことができる。したがって、請求項1または請求項2に係る発明によれば、シンプレックス法のように条件式を記述する必要がなく、有向グラフにおけるノードの通過回数を解として安定に求め、かつ、通過回数を決定する処理の処理時間を低減することができる。
According to the invention according to
請求項1または請求項2に係る発明によれば、始点側のノードの通過回数と終点側のノードに与えられた最小通過回数のうち、どちらか大きい方の値を、終点側のノードの通過回数として暫定的に決定することで、有向グラフにおいて隣り合うノード間に始点から終点に向けての分岐がない場合に、ルートノードの通過回数を最小にすることができる。したがって、ノード通過回数を決定するための処理時間を確実に低減できる。
According to the invention according to
請求項1または請求項2に係る発明によれば、分岐前のノードの通過回数の方が分岐後のノードの通過回数の和よりも大きいときにその差分を共用通過回数として記憶手段に保持するので、この場合に共用通過回数を用いることで、有向グラフにおいて、始点から終点に向けて、各ノードに与えられた最小通過回数を利用してルートノードの通過回数を最小にするように各ノードの通過回数を暫定的に決定することができる。したがって、ノード通過回数を決定するための処理時間を確実に低減できる。 According to the first or second aspect of the present invention, when the number of passes of the node before branching is larger than the sum of the number of passes of the node after branching, the difference is held in the storage means as the number of times of common passage. Therefore, in this case, by using the number of shared passes, in the directed graph, from the start point to the end point, the minimum number of passes given to each node is used to minimize the number of passes of the root node. The number of passes can be tentatively determined. Therefore, it is possible to reliably reduce the processing time for determining the number of node passages.
請求項1または請求項2に係る発明によれば、マージ前の各ノードの通過回数の和と、マージ後のノードに与えられた最小通過回数との大小関係に応じて、どちらか大きい方の値を、マージ後のノードの通過回数として暫定的に決定することで、有向グラフにおいて、始点から終点に向けて、各ノードに与えられた最小通過回数を利用してルートノードの通過回数を最小にするように各ノードの通過回数を暫定的に決定することができる。したがって、ノード通過回数を決定するための処理時間を確実に低減できる。
According to the invention according to
請求項1または請求項2に係る発明によれば、有向グラフの終点でルートノードの通過回数を最小にするように確定した後、トレースバックする際に、終点から始点へ向けての分岐の有無およびマージの有無に応じて、ルートノード間を接続する各ノードの通過回数を確定することができる。したがって、ノード通過回数を決定するための処理時間を確実に低減できる。
According to the invention according to
以下、図面を参照して本発明の実施形態に係るノード通過回数決定装置および音声合成用読上げ文章生成装置を実施するための最良の形態(以下「実施形態」という)について詳細に説明する。 DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, a best mode (hereinafter referred to as “embodiment”) for implementing a node passage number determination device and a speech synthesis reading text generation device according to an embodiment of the present invention will be described in detail with reference to the drawings.
[音声合成用データベース作成システム]
図1は、本発明の実施形態に係るノード通過回数決定装置を備えた音声合成用データベース作成システムを模式的に示す構成図である。
音声合成用データベース作成システム1は、音声合成用読上げ文章生成装置2と、音声合成用データベース作成装置4とを備えている。
[Database creation system for speech synthesis]
FIG. 1 is a configuration diagram schematically showing a speech synthesis database creation system provided with a node passage number determination device according to an embodiment of the present invention.
The speech synthesis
(音声合成用読上げ文章生成装置)
音声合成用読上げ文章生成装置2は、音声合成装置6が合成音声を生成するために用いる音声データを集めた音声合成用データベース5を作成するために文章として読み上げられるテキストデータを示す音声合成用読上げ文章を生成するものであって、図1に示すように、ノード通過回数決定装置10と、読上げ文章構築装置20とを備えることとした。
(Reading text generator for speech synthesis)
The text-to-
ノード通過回数決定装置10は、ノードとエッジとを備えた有向グラフと、その有向グラフにおけるノードに与えられた最小通過回数とを入力として受け付け、ノードにおける通過回数を決定し、読上げ文章構築装置20に出力するものである。なお、詳細は後記する。
The node passage
読上げ文章構築装置20は、有向グラフの各ノードに置換可能な語句を割り当て、割り当てられた語句を有向グラフの始点から終点に向けて接続することで音声合成用読上げ文章(テキストデータ)を構築するものである。このために、読上げ文章構築装置20は、ノード通過回数決定装置10に入力される有向グラフにおけるノードで示される内容としての語句のリスト(テキストデータ)と有向グラフとを入力として受け付けると共に、ノード通過回数決定装置10で決定されたノードにおける通過回数を取得する。構築された音声合成用読上げ文章(テキストデータ)を示す原稿は、図示しない表示装置やプリンタ等の出力装置により音声合成用読上げ文章生成装置2から出力される。
The reading
音声合成用データベース作成装置4は、音声合成用読上げ文章生成装置2で生成された原稿についての読み上げ音声をマイク3で受け付け、音声データを、音声合成用データベース5としてハードディスク等の図示しない記憶手段に記憶する。これにより、音声合成装置6は、例えば、合成音声を指定する音声合成用テキストデータの入力を受け付けたときに、音声合成用データベース5を参照して、指定された音声データを連結して合成音声をスピーカ7から出力することができる。
The speech synthesis database creation device 4 receives the speech read out for the document generated by the speech synthesis read-out
[ノード通過回数決定装置の構成]
図2は、本発明の実施形態に係るノード通過回数決定装置およびそれを備えた音声合成用読上げ文章生成装置の構成を模式的に示すブロック図である。
ノード通過回数決定装置10は、最小通過回数が各ノードに与えられた有向グラフに対して、有向グラフのルートノードの通過回数と各ノードの通過回数とを決定するものであって、CPU(Central Processing Unit)等の演算装置と、メモリ、ハードディスク等の記憶装置(記憶手段)と、マウスやキーボード等の外部から情報の入力を検出する入力装置と、インタフェース装置等を備えたコンピュータと、このコンピュータにインストールされたプログラムとから構成される。
[Configuration of the node passage count determination device]
FIG. 2 is a block diagram schematically showing a configuration of a node passage number determination device and a speech synthesis read-out sentence generation device including the same according to an embodiment of the present invention.
The node passage
(有向グラフ)
ここで、ノード通過回数決定装置10に入力される有向グラフについて図3を参照して説明する。図3は、本発明の実施形態に係るノード通過回数決定装置に入力される有向グラフの説明図であって、(a)は有向グラフの構造の一例、(b)は有向グラフのノードに割り当てられたテキストデータの一例をそれぞれ示している。有向グラフは、図3(a)に示すように、グラフのルートノードを示す始点(STARTノード)とグラフの単独の終点(ENDノード)との間を中継する複数のノードN1〜N10と、ノードN間において分岐および合流が可能なエッジEとから構成された構造のグラフである。有向グラフは一定の向きを有している。図3(a)においては、エッジEの先の矢印で有向グラフの向きを表すことにして、STARTノード(始点)側を有向グラフの「前」、ENDノード(終点)側を有向グラフの「後」と呼ぶこととした。また、ルートノードを示すSTARTノードと有向グラフの単独の終点を示すENDノード以外は、単にノードと呼び、特に区別しない場合にはNと表記する。なお、単にグラフと呼ぶ場合も有向グラフを指す。
(Directed graph)
Here, the directed graph input to the node passage
図3(a)にbで示す破線で囲まれた領域は、ノードの分岐を示している。すなわち、ノードN1の「後」には、ノードN2とノードN4とがそれぞれエッジEを介してノードN1に隣り合って接続されている。以下、単に分岐という場合、ノードの分岐bを示す。なお、分岐数は、特に限定されるものではない。 A region surrounded by a broken line indicated by b in FIG. 3A indicates a node branch. That is, “behind” the node N1 is connected to the node N2 and the node N4 adjacent to the node N1 via the edge E, respectively. In the following, when the term “branch” is used, it indicates a branch b of a node. The number of branches is not particularly limited.
図3(a)にmで示す破線で囲まれた領域は、ノードのマージを示している。ノードN10の「前」には、ノードN7とノードN9とがそれぞれエッジEを介してノードN10に隣り合って接続されている。以下、単にマージという場合、ノードのマージmを示す。なお、マージ数は、マージに対応した分岐の数と同じである。 An area surrounded by a broken line indicated by m in FIG. 3A indicates node merging. A node N7 and a node N9 are connected to the node N10 adjacent to the node N10 via an edge E, respectively, in front of the node N10. In the following, when simply referred to as merging, node merging m is indicated. The number of merges is the same as the number of branches corresponding to the merge.
本実施形態では、有向グラフにおけるノードで示される内容は語句(テキストデータ)である。図3(b)にノードで示される内容の一例を示す。ここでは、各ノードNの形状をブロックで示した。図3(b)に示す一例は、ラジオの気象通報で読み上げられるデータを想定したものである。各ノードNに記載された語句は、有向グラフにおけるそのノードNの位置に割り当てられる置換可能な語句の項目名を表している。例えば、ノードN1に記載された「場所の」という項目名に対応して、図4(a)のリストL1が予め用意されている。リストL1は、「日本海の」、「東シナ海の」、「太平洋の」等の場所に関連する語句を格納する。同様に、ノードN4に記載された「緯度分」という項目名に対応して、図4(b)のリストL4が予め用意されている。リストL4は、「北緯0度」、「北緯1度」、「南緯90度」等の緯度分に関連する語句を格納する。以下では、リストを区別しないで説明する場合、単にリストLと表記する。リストLは、ノードN毎に、文章を構成する語句を1以上格納するものであって、読上げ文章構築装置20において用いられる。
In the present embodiment, the contents indicated by the nodes in the directed graph are words (text data). FIG. 3B shows an example of the contents indicated by the nodes. Here, the shape of each node N is shown by a block. The example shown in FIG. 3B assumes data read out by a radio weather report. The phrase described in each node N represents the item name of the replaceable phrase that is assigned to the position of the node N in the directed graph. For example, the list L1 of FIG. 4A is prepared in advance corresponding to the item name “place” described in the node N1. The list L1 stores terms related to places such as “Japan Sea”, “East China Sea”, “Pacific” and the like. Similarly, a list L4 in FIG. 4B is prepared in advance corresponding to the item name “latitude” described in the node N4. The list L4 stores words and phrases related to latitudes such as “0 degrees north latitude”, “1 degree north latitude”, and “90 degrees south latitude”. Below, when it demonstrates without distinguishing a list, it only describes with the list L. FIG. The list L stores one or more words constituting a sentence for each node N, and is used in the reading
(各部の構成)
図2を参照して、ノード通過回数決定装置10の各部の構成を説明する。
ノード通過回数決定装置10は、ハードウェア装置とソフトウェアとが協働することによって、前記したハードウェア資源がプログラムによって制御されることにより、図2に示す入力部30と、記憶部40と、処理部50とが実現される。
(Configuration of each part)
With reference to FIG. 2, the structure of each part of the node passage
The node passage
入力部(入力手段)30は、有向グラフと当該有向グラフにおける各ノードに与えられた最小通過回数との入力を受け付けるものであり、例えば、キーボード、マウス、ディスクドライブ装置などから構成される。入力部30から入力された情報は、記憶部40に格納される。また、本実施形態では、入力部30は、リストLも入力として受け付けることとした(図2参照)。なお、リストLについては、読上げ文章構築装置20に直接入力するように構成してもよい(図1参照)。
The input unit (input means) 30 receives inputs of a directed graph and the minimum number of passes given to each node in the directed graph, and includes, for example, a keyboard, a mouse, a disk drive device, and the like. Information input from the
記憶部(記憶手段)40は、例えば、一般的なハードディスク等から構成され、入力部30から入力された情報、演算処理結果、処理部50を機能させるためのプログラム等を記憶するものである。記憶部40は、例えば、入力部30から入力された情報として、有向グラフ41と、最小通過回数42と、リスト43とを記憶し、演算処理結果として、ノード通過回数44と、共用通過回数45とを記憶する。
The storage unit (storage unit) 40 is configured by, for example, a general hard disk or the like, and stores information input from the
なお、図2において、記憶部40に示した有向グラフ41、最小通過回数42、リスト43、ノード通過回数44および共用通過回数45は、情報の種類を区別するために1つずつ符号を付して記述されているが、各情報が1つずつ存在しているものではなく、複数の情報を総称している。ただし、共用通過回数45については単数の場合もありうる。また、有向グラフ41、最小通過回数42、リスト43、ノード通過回数44、共用通過回数45は、ノードNの識別情報を介して相互に関連している。
In FIG. 2, the directed
有向グラフ41は、例えば、ノードNの識別情報や個数、分岐情報やマージ情報、エッジの情報を含む。
最小通過回数42は、有向グラフの各ノードNにそれぞれ与えられており、有向グラフの構造を維持したままSTARTノード(始点)からENDノード(終点)までを接続する経路においてノードNで示される内容を置換して各ノードNを接続するときに各ノードNをそれぞれ通過する回数の最小値を示す。
The directed
The minimum number of
リスト43は、有向グラフの各ノードNにそれぞれ与えられており、例えば、図4に例示した構造を有する。
ノード通過回数44は、有向グラフの各ノードNにそれぞれ与えられており、処理部50の演算結果としての暫定値または確定値を表す。
共用通過回数45は、有向グラフにおいてノードNの分岐があって後記する特定の条件が満たされた場合に、処理部50の演算結果としてメモリされて利用される通過回数の所定値を表す。
The
The
The
処理部50は、例えば、CPUおよびRAM(Random Access Memory)から構成され、図2に示すように、分岐開始判定部51と、分岐マージ判定部52と、ルートノード通過回数決定部53と、ノード通過回数管理部54と、共用通過回数管理部55と、トレースバック部56とを備えている。
The processing unit 50 includes, for example, a CPU and a RAM (Random Access Memory). As illustrated in FIG. 2, the branch
分岐開始判定部(分岐開始判定手段)51は、有向グラフの構造を解析して当該有向グラフにおける分岐の開始を判定するものである。判定結果は、ルートノード通過回数決定部53に出力される。
分岐マージ判定部(分岐マージ判定手段)52は、有向グラフの構造を解析して当該有向グラフにおける分岐のマージを判定するものである。判定結果は、ルートノード通過回数決定部53に出力される。
The branch start determination unit (branch start determination means) 51 analyzes the structure of a directed graph and determines the start of a branch in the directed graph. The determination result is output to the route node passage
The branch merge determination unit (branch merge determination means) 52 analyzes the structure of a directed graph and determines the merge of branches in the directed graph. The determination result is output to the route node passage
ルートノード通過回数決定部(ルートノード通過回数決定手段)53は、有向グラフのルートノードの通過回数を最小にするように各ノードNの通過回数を有向グラフのSTARTノード(始点)からENDノード(終点)に向けて逐次的に暫定的な値として決定し、ENDノードにおいて決定した暫定的な値をルートノードの通過回数として確定するものである。このために、ルートノード通過回数決定部53は、分岐開始判定部51の判定結果と、分岐マージ判定部52の判定結果とから得られる有向グラフにおけるSTARTノードからENDノードに向けての分岐の状態と、有向グラフにおける各ノードNに与えられた最小通過回数とを取得し、これらに基づいて、各ノードNの通過回数の暫定値を決定する。このルートノード通過回数決定部53は、有向グラフにおけるSTARTノードからENDノードに向けての分岐の状態によって処理が異なる。ルートノード通過回数決定部53の処理の詳細については、ノード通過回数決定装置10の動作を示すフローチャートとその具体例を用いて後記する。
The route node passage number determination unit (root node passage number determination means) 53 determines the number of passages of each node N from the START node (start point) to the END node (end point) of the directed graph so as to minimize the number of passages of the route node of the directed graph. The tentative value determined at the END node is determined as the number of times of passage through the root node. For this purpose, the route node passage
ノード通過回数管理部(ノード通過回数管理手段)54は、有向グラフにおけるルートノード(STARTノード)、終点(ENDノード)および各ノードNに対してルートノード通過回数決定部53で決定される通過回数の暫定値、または、トレースバック部56で決定される通過回数の確定値を、ノード通過回数44として記憶部40に保持して管理するものである。
The node passage number management unit (node passage number management means) 54 determines the number of passages determined by the route node passage
共用通過回数管理部(共用通過回数管理手段)55は、有向グラフのSTARTノードからENDノードに向けての分岐において分岐前のノードの通過回数(暫定値)から分岐後の各ノードに与えられた最小通過回数(設定値)の和を差し引いた差分値を、分岐後の各ノードおよび当該分岐のマージ前後に係る各ノードの暫定的な通過回数を決定するまで共用するための共用通過回数45として記憶部40に保持し、共用通過回数45の増減を管理するものである。本実施形態では、共用通過回数管理部55は、ルートノード通過回数決定部53からの指示により、記憶部40への共用通過回数45の保持およびその増減を行う。共用通過回数管理部55は、処理の結果、共用通過回数が0または負になった場合には、その共用通過回数を削除する(クリアする)。なお、共用通過回数管理部55の処理の詳細については、ノード通過回数決定装置10の動作を示すフローチャートとその具体例を用いて後記する。
The shared passage number management unit (shared passage number management means) 55 is a minimum given to each node after branching from the number of passages (provisional value) of the node before branching in the branch from the START node to the END node of the directed graph. The difference value obtained by subtracting the sum of the number of times of passing (setting value) is stored as a shared number of times of
トレースバック部(トレースバック手段)56は、有向グラフのENDノード(終点)の通過回数を、ルートノード通過回数決定部53で確定されたルートノードの通過回数と同じ値として、ルートノードの通過回数を最小値に維持しながら、各ノードの通過回数を、有向グラフのENDノード(終点)からSTARTノード(始点)に向けて逐次的に確定するものである。このために、トレースバック部56は、分岐開始判定部51の判定結果と、分岐マージ判定部52の判定結果とから得られる有向グラフにおけるENDノードからSTARTノードに向けての分岐の状態と、暫定的な値として決定された各ノードNの通過回数と、確定されたルートノードの通過回数とを取得し、これらに基づいて、各ノードNの通過回数の確定値を決定する。このトレースバック部56は、有向グラフにおけるENDノードからSTARTノードに向けての分岐の状態によって処理が異なる。トレースバック部56の処理の詳細については、ノード通過回数決定装置10の動作を示すフローチャートとその具体例を用いて後記する。
The traceback unit (traceback means) 56 sets the number of passages of the END node (end point) of the directed graph to the same value as the number of passages of the root node determined by the route node passage
なお、ノード通過回数決定装置10は、一般的なコンピュータを、前記した各手段(分岐開始判定部51、分岐マージ判定部52、ルートノード通過回数決定部53、ノード通過回数管理部54、共用通過回数管理部55およびトレースバック部56)として機能させるプログラムにより動作させることで実現することができる。このプログラム(ノード通過回数決定プログラム)は、通信回線を介して提供することも可能であるし、CD−ROM等の記録媒体に書き込んで配布することも可能である。
The node passage
[ノード通過回数決定装置の動作]
次に、図5ないし図7を参照(適宜図2参照)して、ノード通過回数決定装置10の動作について説明する。図5および図6は、本発明の実施形態に係るノード通過回数決定装置の処理部の全体動作を示すフローチャートであり、図7は、図5に示したトレースバック処理の詳細を示すフローチャートである。
[Operation of the node passage number determination device]
Next, referring to FIGS. 5 to 7 (refer to FIG. 2 as appropriate), the operation of the node passing
まず、図5および図6を参照する。ノード通過回数決定装置10は、ルートノード通過回数決定部53によって、有向グラフのSTARTノードから処理を開始して、ENDノードに到達したか否かを判別する(ステップS1)。ENDノードに到達していない場合(ステップS1:No)、ルートノード通過回数決定部53は、分岐開始判定部51の判定結果により、現在のステータスにおいて、STARTノードからENDノードに向けての分岐がないか否かを判別する(ステップS2)。現在のステータスにおいて、分岐がないという状態ではない場合(ステップS2:No)、ルートノード通過回数決定部53は、分岐開始判定部51の判定結果により、現在のステータスが分岐開始であるか否かを判別する(ステップS3)。現在のステータスが分岐開始であるという状態ではない場合(ステップS3:No)、ルートノード通過回数決定部53は、分岐マージ判定部52の判定結果により、現在のステータスにおいて分岐マージがあるか否かを判別する(ステップS4)。現在のステータスにおいて分岐マージがあるという状態ではないと判別された場合(ステップS4:No)、現在のステータスにおいて、「分岐」、「マージ」、「分岐がない」という3状態のいずれでもないという判定結果なので、ノード通過回数決定装置10は、エラー終了する。以下、ステップS1でNoの場合であって、エラー終了にならない各状態を個別に説明する。
First, FIG. 5 and FIG. 6 will be referred to. The node passage
<隣り合うノード間で分岐がない状態>
前記したステップS2において、現在のステータスにおいて分岐がない場合(ステップS2:Yes)、ルートノード通過回数決定部53は、「後のノード(次ノード)に与えられた最小通過回数」が「前のノード(現ノード)の通過回数(暫定値)」よりも小さいか否か判別する(ステップS5)。「次ノードに与えられた最小通過回数」が「現ノードの通過回数」よりも小さい場合(ステップS5:Yes)、ノード通過回数決定装置10は、ルートノード通過回数決定部53によって、大きい方の値である「現ノードの通過回数」を、「次ノードの通過回数」の暫定値として決定し(ステップS6)、ステップS1に戻る。一方、前記したステップS5において、「次ノードに与えられた最小通過回数」が「現ノードの通過回数」以上である場合(ステップS5:No)、ノード通過回数決定装置10は、ルートノード通過回数決定部53によって、大きい方の値である「次ノードに与えられた最小通過回数」を、そのまま「次ノードの通過回数」の暫定値として決定し(ステップS7)、引き続いて、後記するステップS12の処理結果として、現ノードに係る共用通過回数が記憶部40に保持されているか否かを判別する(ステップS8)。現ノードに係る共用通過回数が保持されていない場合(ステップS8:No)、ノード通過回数決定装置10は、ステップS1に戻る。一方、現ノードに係る共用通過回数が保持されている場合(ステップS8:Yes)、ルートノード通過回数決定部53は、「次ノードの通過回数」と「現ノードの通過回数」との差分を、現ノードに係る共用通過回数から減算するように共用通過回数管理部55に指示する。これにより、ノード通過回数決定装置10は、共用通過回数管理部55によって、記憶部40に記憶された現ノードに係る共用通過回数から、「次ノードの通過回数」と「現ノードの通過回数」との差分を減算し(ステップS9)、ステップS1に戻る。
<No branching between adjacent nodes>
If there is no branch in the current status in step S2 described above (step S2: Yes), the route node passage
つまり、ルートノード通過回数決定部53は、有向グラフにおいて隣り合うノード間にSTARTノードからENDノードに向けての分岐がない場合には、ステップS5〜ステップS9に示すように、「STARTノード側のノードの通過回数」と、「ENDノード側のノードに与えられた最小通過回数」とを比較し、どちらか大きい方の値を、「ENDノード側のノードの通過回数」として暫定的に決定し、「ENDノード側のノードに与えられた最小通過回数」の方が大きく、かつ、記憶部40に、当該隣り合うノードの始点側ノードに係る共用通過回数が保持されていれば、共用通過回数管理部55に対して、「ENDノード側のノードに与えられた最小通過回数」から「STARTノード側のノードの通過回数」を差し引いた差分だけ共用通過回数45の値を減算するように指示する。
That is, when there is no branch from the START node to the END node between adjacent nodes in the directed graph, the route node passage
<隣り合うノード間で分岐がある状態>
前記したステップS3において、現在のステータスが分岐開始であると判定された場合(ステップS3:Yes)、ルートノード通過回数決定部53は、「分岐後の各ノードに与えられた最小通過回数」を「分岐後の各ノードの通過回数」の暫定値として決定し(ステップS10)、「分岐後の各ノードに与えられた最小通過回数の和」が、「現ノード(分岐前のノード)の通過回数(暫定値)」よりも小さいか否か判別する(ステップS11)。「現ノードの通過回数」が、「分岐後の各ノードに与えられた最小通過回数の和」以上である場合(ステップS11:No)、ノード通過回数決定装置10は、ステップS1に戻る。一方、「分岐後の各ノードに与えられた最小通過回数の和」が、「現ノードの通過回数」よりも小さい場合(ステップS11:Yes)、ノード通過回数決定装置10は、ルートノード通過回数決定部53によって、「分岐後の各ノードに与えられた最小通過回数の和(分岐の各ノードの通過回数の合計)」と「現ノード(分岐前のノード)の通過回数(暫定値)」との差分を、当該分岐に係る共用通過回数とするように共用通過回数管理部55に指示する。これにより、ノード通過回数決定装置10は、共用通過回数管理部55によって、「分岐の各ノードの通過回数の合計」と「現ノードの通過回数との差分を、当該分岐に係る共用通過回数として記憶部40に保存し(ステップS12)、ステップS1に戻る。
<A state where there is a branch between adjacent nodes>
In the above-described step S3, when it is determined that the current status is branch start (step S3: Yes), the route node passage
つまり、ルートノード通過回数決定部53は、有向グラフにおいてSTARTノードからENDノードに向けての分岐がある場合には、ステップS10〜ステップS12に示すように、「分岐後の各ノードに与えられた最小通過回数」を、「分岐後の各ノードの通過回数」として暫定的に決定し、かつ、「分岐前のノードの通過回数」と「分岐後のノードの通過回数の和と」を比較し、「分岐前のノードの通過回数」の方が大きければ、共用通過回数管理部55に対して、「分岐前のノードの通過回数」から「分岐後のノードの通過回数の和」を差し引いた差分を当該分岐に係る共用通過回数として記憶部40に保持するように指示する。
That is, when there is a branch from the START node to the END node in the directed graph, the route node passage
<隣り合うノード間でマージがある状態>
前記したステップS4において、現在のステータスにおいて分岐マージがあると判定された場合(ステップS4:Yes)、ルートノード通過回数決定部53は、「各分岐のノード(マージ前の各ノード)の通過回数(暫定値)の和」が「マージ後のノードに与えられた最小通過回数」よりも小さいか否か判別する(ステップS13)。「各分岐のノードの通過回数の和」が、「マージ後のノードに与えられた最小通過回数」より小さい場合(ステップS13:Yes)、ルートノード通過回数決定部53は、「マージ後のノードに与えられた最小通過回数」を「マージ後のノードの通過回数」の暫定値として決定し(ステップS14)、ステップS1に戻る。一方、「各分岐のノードの通過回数の和」が、「マージ後のノードに与えられた最小通過回数」以上である場合(ステップS13:No)、ルートノード通過回数決定部53は、「各分岐のノードの通過回数の和」を「マージ後のノードの通過回数」の暫定値として決定し(ステップS15)、引き続いて、前記したステップS12の処理結果としてマージ前の各ノードにおいて共用された共用通過回数が記憶部40に保持されているか否かを判別する(ステップS16)。マージ前の各ノードにおいて共用された共用通過回数が保持されていない場合(ステップS16:No)、ノード通過回数決定装置10は、ステップS1に戻る。一方、マージ前の各ノードにおいて共用された共用通過回数が保持されている場合(ステップS16:Yes)、ルートノード通過回数決定部53は、マージ前の各ノードにおいて共用された共用通過回数を削除するように共用通過回数管理部55に指示する。これにより、ノード通過回数決定装置10は、共用通過回数管理部55によって、記憶部40に記憶された共用通過回数(マージ前の各ノードにおいて共用された共用通過回数)を削除(クリア)し(ステップS17)、ステップS1に戻る。
<A state where there is a merge between adjacent nodes>
If it is determined in step S4 that there is a branch merge in the current status (step S4: Yes), the root node passage
つまり、ルートノード通過回数決定部53は、有向グラフにおいてSTARTノードからENDノードに向けてのマージがある場合には、ステップS13〜ステップS17に示すように、「マージ前の各ノードの通過回数の和」と「マージ後のノードに与えられた最小通過回数」とを比較し、比較の結果、「マージ前の各ノードの通過回数の和」が「マージ後のノードに与えられた最小通過回数」よりも小さければ、「マージ後のノードに与えられた最小通過回数」を「マージ後のノードの通過回数」として暫定的に決定する。一方、比較の結果、「マージ前の各ノードの通過回数の和」が「マージ後のノードに与えられた最小通過回数」以上であれば、ルートノード通過回数決定部53は、「マージ前の各ノードの通過回数の和」を「マージ後のノードの通過回数」として暫定的に決定すると共に、マージ前の各ノードにおいて共用通過回数が共用されていた場合には当該共用されている共用通過回数を削除するように共用通過回数管理部55に対して指示する。
That is, when there is a merge from the START node to the END node in the directed graph, the root node passage
<トレースバック処理>
次に、ステップS1でYesの場合の動作について説明する。ノード通過回数決定装置10は、ルートノード通過回数決定部53によって、有向グラフのSTARTノードから処理を開始してENDノードに到達したと判別した場合(ステップS1:Yes)、トレースバック部56によって、トレースバック処理を行う(ステップS20)。ここで、図7を参照する。ノード通過回数決定装置10は、トレースバック部56によって、有向グラフのENDノードから処理を開始してSTARTノードに到達したか否かを判別する(ステップS21)。STARTノードに到達していない場合(ステップS21:No)、トレースバック部56は、現在のステータスにおいて、ENDノードからSTARTノードに向けての分岐がないか否かを判別する(ステップS22)。
<Traceback processing>
Next, the operation in the case of Yes in step S1 will be described. When the root node passage
現在のステータスにおいて分岐がない場合(ステップS22:Yes)、トレースバック部56は、「後のノード(ENDノード側のノード)の通過回数(暫定値)」を確定し、確定した「後のノードの通過回数(確定値)」を、「前のノード(STARTノード側のノード)の通過回数(確定値)」として決定する(ステップS23)。
When there is no branch in the current status (step S22: Yes), the
前記したステップS22において、現在のステータスにおいて分岐がないという状態ではない場合(ステップS22:No)、トレースバック部56は、分岐開始判定部51の判定結果により、現在のステータスが分岐開始であるか否かを判別する(ステップS24)。分岐開始である場合(ステップS24:Yes)、トレースバック部56は、「後のノード(ENDノード側のノード)の通過回数(暫定値)」を確定し、確定した「後のノードの通過回数(確定値)」を、「各分岐のノード(STARTノード側の各ノード)の通過回数(暫定値)の和」で除した比率を算出し、「各分岐のノードの通過回数(暫定値)」に対してこの比率を乗算した結果を新たな通過回数(確定値)として決定する(ステップS25)。
If the current status does not indicate that there is no branch in step S22 described above (step S22: No), the
前記したステップS24において、現在のステータスが分岐開始であるという状態ではない場合(ステップS24:No)、トレースバック部56は、分岐マージ判定部52の判定結果により、現在のステータスに分岐マージがあるか否かを判別する(ステップS26)。現在のステータスに分岐マージがある場合(ステップS26:Yes)、トレースバック部56は、「各分岐のノード(ENDノード側のノード)の通過回数(確定値)の和」を、「前のノード(STARTノード側のノード)の通過回数(確定値)」として決定する(ステップS27)。
In step S24 described above, when the current status is not in the state of branch start (step S24: No), the
前記したステップS26において、現在のステータスにおいて分岐マージがあるという状態ではないと判別された場合(ステップS26:No)、現在のステータスが、「分岐」、「マージ」、「分岐がない」という3状態のいずれでもないという判定結果なので、ノード通過回数決定装置10は、エラー終了する。また、前記したステップS21において、STARTノードに到達した場合(ステップS21:Yes)、ノード通過回数決定装置10は、処理を終了する。
If it is determined in step S26 that there is no branch merge in the current status (step S26: No), the current status is “branch”, “merge”, or “no branch”. Since the determination result indicates that the state is not one of the states, the node passing
つまり、トレースバック部56は、有向グラフにおいて隣り合うノード間にENDノードからSTARTノードに向けての分岐がない場合には、ステップS23に示すように、「後(ENDノード側)のノードの通過回数」を確定し、確定した「後のノードの通過回数」と同じ値を「前(STARTノード側)のノードの通過回数」として確定する。
また、トレースバック部56は、有向グラフにおいてENDノードからSTARTノードに向けての分岐がある場合には、ステップS25に示すように、「分岐後の各ノードの暫定的な通過回数の和」で除した比率を求め、この求めた比率を、「分岐後の各ノードの暫定的な通過回数」に掛けた値を、「分岐後の各ノードの通過回数」として確定する。
さらに、トレースバック部56は、有向グラフにおいてENDノードからSTARTノードに向けてのマージがある場合には、ステップS27に示すように、「各分岐のノード(マージ前の各ノード)の通過回数の和」を、「前のノード(マージ後のノード)の通過回数」として確定する。
In other words, when there is no branch from the END node to the START node between adjacent nodes in the directed graph, the
Further, when there is a branch from the END node to the START node in the directed graph, the
Further, when there is a merge from the END node to the START node in the directed graph, the
[ノードの通過回数の決定方法の具体例1]
次に、本実施形態の「ノードの通過回数」の決定方法の具体例について説明する。
<前提条件>
ここでは、一例として、図8(a)に示すグラフ構造を有した有向グラフを想定する。ここでは、ノード識別子が、N1〜N12で表されるものとする。また、ノードとエッジで構成された有向グラフを、説明の都合上、例えば、式(1)のように数式化することとする。この式(1)において、[START]はSTARTノード、[END]はENDノード、[A]はノードAを示す。また、「,」は「エッジの分岐」または「エッジの合流」を示す。また、[A][B]は、ノードAから分岐せずにノードBに接続することを示す。さらに、「A,(B|C),D」は、ノードAからノードBとノードCとに分岐し、ノードBとノードCとがマージしてノードDとなることを示す。
[Specific example 1 of determining method of number of times node passes]
Next, a specific example of the method for determining the “number of times a node has passed” according to the present embodiment will be described.
<Prerequisites>
Here, as an example, a directed graph having the graph structure shown in FIG. Here, it is assumed that the node identifiers are represented by N1 to N12. In addition, for the convenience of explanation, a directed graph composed of nodes and edges is expressed as, for example, an equation (1). In this equation (1), [START] indicates a START node, [END] indicates an END node, and [A] indicates a node A. “,” Indicates “edge branching” or “edge merging”. [A] and [B] indicate that the node A is connected to the node B without branching. Furthermore, “A, (B | C), D” indicates that node A branches to node B and node C, and node B and node C merge to become node D.
また、図8(a)は、有向グラフの構造を示しつつ、各ノードN1〜N12に関連付けられて予め設定されている(与えられた)最小通過回数の値を合わせて示している。図8(a)は、有向グラフを単純に示しているものではなく、記憶部40に記憶された有向グラフ41と最小通過回数42とを関連付けて表現したものである。この意味でノードの形状を円ではなく二重の同心円とした。このときの有向グラフ41と最小通過回数42との関連付けを、前記した式(1)と同様な記法を用いて式(2)のように数式化することとする。ただし、式(2)では、ノードの位置にノード識別子ではなく、対応する最小通過回数を記述した。つまり、[100]は、その位置のノードの最小通過回数が100回であることを示す。
Further, FIG. 8A shows the structure of the directed graph, and also shows the value of the minimum number of passes that is preset (given) in association with each of the nodes N1 to N12. FIG. 8A does not simply show the directed graph, but represents the directed
また、図8(b)および図8(c)は、有向グラフそのものではなく、グラフの構造に対応させつつ、記憶部40に記憶された有向グラフ41とノード通過回数44とを関連付けて表現したものである。つまり記憶部40のノードに対応した記憶領域(メモリ)の意味でノードの形状を円ではなくブロックとした。また、図8(b)では、ルートノード通過回数決定部53による処理を示す。そこで、図8(b)のブロックで示すメモリには、ノードの通過回数の暫定値Xが記憶され、図8(b)のブロック間の矢印は処理方向を示している。また、図8(c)では、トレースバック部56による処理を示す。そこで、図8(c)のブロックで示すメモリには、ノードの通過回数の確定値Yが記憶される。図8(c)のブロック間の矢印は処理の方向を示している。
FIGS. 8B and 8C are not directed graphs, but represent the directed
<ルートノード通過回数決定部53による通過回数の暫定値の決定方法>
ここでは、図8(a)および図8(b)を参照する(適宜図2、図5、図6参照)。
ルートノード通過回数決定部53は、まず、STARTノードに対応したメモリ(ノード通過回数44)に、図8(b)に示すように「0」をセットする。これが現ノードの通過回数である。次ノードであるノードN1に対応したメモリX1には、通過回数として「100」がセットされる。続いて、分岐開始となる。分岐後の各ノードに与えられた最小通過回数の和は、「600+180=780」となり、「現ノードの通過回数(100)」よりも大きい。したがって、各分岐では、与えられた最小通過回数を通過回数として保持することとなる。ここでは、ノードN2に対応したメモリX2には、通過回数として「600」がセットされ、ノードN4に対応したメモリX4には、通過回数として「180」がセットされる。
<Determination Method of Temporary Value of Passing Number by Route Node Passing
Here, reference is made to FIG. 8A and FIG. 8B (refer to FIG. 2, FIG. 5 and FIG. 6 as appropriate).
The route node passage
分岐の一方であるノードN2の後には分岐がないので、与えられた最小通過回数の大小比較から、ノードN3に対応したメモリX3には、ノードN2の通過回数(600)が保持される。同様に、分岐の他方であるノードN5に対応したメモリX5には、ノードN4の通過回数(180)が保持される。次いで、ノードN3とノードN5との分岐マージになる。ここで、各分岐の通過回数の和(780)が、次ノードであるノードN6に与えられた最小通過回数(200)よりも大きいので、ノードN6に対応したメモリX6には、通過回数として「780」が保持される。次の分岐開始では、分岐後の各ノードに与えられた最小通過回数の和は「99+7+103=209」となる。この値は、現ノードの通過回数(780)よりも小さい。したがって、各分岐では、与えられた最小通過回数をノード通過回数44として記憶部40のメモリに保持し、かつ、「780−209=571」を、共用通過回数45として記憶部40のメモリに格納する。ここで、図9(a)を参照する。 Since there is no branch after the node N2 which is one of the branches, the number of passes (600) of the node N2 is held in the memory X3 corresponding to the node N3 from the comparison of the given minimum number of passes. Similarly, in the memory X5 corresponding to the node N5 which is the other of the branches, the number of times of passing through the node N4 (180) is held. Next, branch merge is performed between the node N3 and the node N5. Here, since the sum (780) of the number of passes of each branch is larger than the minimum number of passes (200) given to the next node N6, the memory X6 corresponding to the node N6 has “ 780 "is held. At the start of the next branch, the sum of the minimum number of passes given to each node after the branch is “99 + 7 + 103 = 209”. This value is smaller than the number of times of passing the current node (780). Therefore, at each branch, the given minimum number of passes is stored in the memory of the storage unit 40 as the number of node passes 44, and “780−209 = 571” is stored in the memory of the storage unit 40 as the shared number of passes 45. To do. Here, reference is made to FIG.
図9(a)に示すように、各分岐では、ノードN7に対応したメモリX7には、通過回数として「99」が保持され、ノードN9に対応したメモリX9には、通過回数として「7」が保持され、ノードN11に対応したメモリX11には、通過回数として「103」が保持されている。一方、分岐前のノードN6に対応したメモリX6には、通過回数として「780」が保持されている。ルートノード通過回数決定部53は、ルートノードの通過回数を最小にするように各ノードの通過回数を決定していくので、「分岐前の通過回数」が「分岐後の通過回数」と一致しないことは不都合である。理想的には、各分岐の通過回数を「99+α」、「7+β」、「103+γ」のように決定できることが好ましい。しかしながら、ルートノード通過回数決定部53は、未決定の値として共用通過回数を用いることで、分岐前後の通過回数の不一致を解消することが可能である。また、ルートノード通過回数決定部53は、ノードの通過回数の暫定値を決定するものであり、α、β、γを個別に特定する必要がなく、一括して管理することができる。
As shown in FIG. 9A, in each branch, “99” is held as the number of passes in the memory X7 corresponding to the node N7, and “7” is set as the number of passes in the memory X9 corresponding to the node N9. And the memory X11 corresponding to the node N11 holds “103” as the number of passages. On the other hand, the memory X6 corresponding to the node N6 before branching holds “780” as the number of passes. Since the route node passage
次に、図9(b)に示すように、ノードN8に対応したメモリX8には、通過回数として「100」が保持される。なお、これは、図8(a)に示すようにノードN7の後には分岐がないので、ノードN7に与えられた最小通過回数(99)と、ノードN8に与えられた最小通過回数(100)との大小比較を行った結果である。ノードN8に対応したメモリX8に「100」が保持されたときに、図9(b)に示すように、各分岐のノードに対応したメモリにおいて、共用通過回数と共有する合計の通過回数を「100+α1」、「7+β」、「103+γ」のように考えることができる。ただし、この時点では、α1、β、γは未決定であり、各分岐の各ノードに対して決定されている通過回数(ノード通過回数44として記憶部40のメモリに保持した値)は、「99」、「7」、「103」である。このとき、記憶部40のメモリでは、共用通過回数45が、暫定値として決定された通過回数の差分(100−99=1)だけ減算される。
Next, as shown in FIG. 9B, the memory X8 corresponding to the node N8 holds “100” as the number of passes. As shown in FIG. 8A, since there is no branch after node N7, the minimum number of passes (99) given to node N7 and the minimum number of passes (100) given to node N8. It is the result of comparing the size with. When “100” is held in the memory X8 corresponding to the node N8, as shown in FIG. 9B, the total number of passages shared with the number of shared passages in the memory corresponding to the node of each branch is expressed as “ 100 + α 1 ”,“ 7 + β ”,“ 103 + γ ”. However, at this time, α 1 , β, and γ have not been determined, and the number of passages determined for each node of each branch (the value held in the memory of the storage unit 40 as the number of node passages 44) is “99”, “7”, and “103”. At this time, in the memory of the storage unit 40, the shared
次に、図9(c)に示すように、ノードN10に対応したメモリX10には、通過回数として「580」が保持される。なお、これは、図8(a)に示すようにノードN9の後には分岐がないので、ノードN9に与えられた最小通過回数(7)と、ノードN10に与えられた最小通過回数(580)との大小比較を行った結果である。ノードN10に対応したメモリX10に「580」が保持されたときに、図9(c)に示すように、各分岐のノードに対応したメモリにおいて、共用通過回数と共有する合計の通過回数を「100+α1」、「580+β1」、「103+γ」のように考えることができる。なお、α1、β1、γは未決定であり、各分岐の各ノードに対して決定されている通過回数(ノード通過回数44として記憶部40のメモリに保持した値)は、「100」、「580」、「103」である。このとき、共用通過回数45として記憶部40のメモリでは、暫定値として決定された通過回数の差分(580−7=573)が減算される。この直前には、共用通過回数45は「570」であったので、「573」を差し引くことで、共用通過回数の値は負(−3)になる。そこで、各分岐に係る共用通過回数のメモリ自体が破棄される。この結果、この時点では、α1、β1、γ自体が破棄され、最終的に、各分岐の各ノードに対して決定されている通過回数(ノード通過回数44として記憶部40のメモリに保持した値)は、「100」、「580」、「103」となる。そして、最後の分岐マージでは、各分岐のノードの暫定的な通過回数の和(100+580+103=783)が、ノードN12に与えられた最小通過回数(100)よりも大きい。そのため、ノードN12に対応したメモリX12には、図8(b)に示すように、通過回数として「783」が保持される。最後に、ENDノードに対応したメモリに「783」をセットする。これにより、「783」がルートノードの通過回数の最小値(算出された最小通過回数)として確定する。
Next, as illustrated in FIG. 9C, the memory X10 corresponding to the node N10 holds “580” as the number of passes. As shown in FIG. 8A, since there is no branch after node N9, the minimum number of passes (7) given to node N9 and the minimum number of passes (580) given to node N10. It is the result of comparing the size with. When “580” is held in the memory X10 corresponding to the node N10, as shown in FIG. 9C, the total number of passages shared with the number of times of common passage in the memory corresponding to the node of each branch is expressed as “ 100 + α 1 ”,“ 580 + β 1 ”,“ 103 + γ ”. Note that α 1 , β 1 , and γ are not yet determined, and the number of times of passage determined for each node of each branch (the value held in the memory of the storage unit 40 as the number of times of node passage 44) is “100”. , “580”, “103”. At this time, the difference (580−7 = 573) in the number of passages determined as a provisional value is subtracted from the memory of the storage unit 40 as the
<トレースバック部56による通過回数の確定値の決定方法>
ここでは、図8(a)〜図8(c)を参照する(適宜図2、図7参照)。
トレースバック部56は、まず、ENDノードで確定した通過回数「783」を、現ノードの通過回数(確定値)とする。そして、ENDノードの前のノードN12に対応したメモリY12には、通過回数として「783」がセットされる。次の3分岐では、分岐後の各ノードN8,N10,N11の通過回数(暫定値)の和は、図8(b)に示すように、最小となっていたので、これらの暫定値を確定させる。つまり、ノードN8に対応したメモリY8、ノードN10に対応したメモリY10、ノードN11に対応したメモリY11には、図8(b)に示したメモリX8,X10,X11に記憶された値が設定される。各分岐のうち、ノードN8の前のノードN7に対応したメモリY7には、通過回数として「100」がセットされ、同様に、ノードN10の前のノードN9に対応したメモリY9には、通過回数として「580」がセットされる。
<Determination Method of Determining Value of Number of Passes by
Here, reference is made to FIG. 8A to FIG. 8C (refer to FIG. 2 and FIG. 7 as appropriate).
The
続いて分岐マージになるため、マージ前の通過回数の和(100+580+103=783)が、分岐マージ後の通過回数として確定する。すなわち、ノードN6に対応したメモリY6には、通過回数として「783」がセットされる。続いて分岐開始になる。次の分岐では、分岐後の各ノードN3,N4の通過回数(暫定値)の和は、図8(b)に示すように、最小となっていたが、それらの和(600+180)は、メモリY6に記憶された通過回数(783)よりも小さい。したがって、トレースバック部56は、783/(600+180)の比率を求め、分岐後の各ノードN3,N4の通過回数(暫定値)にこの比率を掛ける。これにより、ノードN3に対応したメモリY3には、通過回数として「602」がセットされ、同様に、ノードN5に対応したメモリY5には、通過回数として「181」がセットされる。なお、1つずつ比率を掛けて整数にした上で、その結果を合計値から差し引くことで残りを順番に求めることもできる。次にノードN3の前のノードN2に対応したメモリY2の値は、メモリY3の値(602)として確定し、ノードN5の前のノードN4に対応したメモリY4の値は、メモリY5の値(181)として確定する。続いて分岐マージになるため、マージ前の通過回数の和(602+181=783)が、分岐マージ後の通過回数として確定する。すなわち、ノードN1に対応したメモリY1には、通過回数として「783」がセットされる。最後に、STARTノードに対応したメモリに「783」をセットする。これにより、「783」がSTARTノードの通過回数として確定する。なお、これは、既に確定しているルートノードの通過回数である。
Since branch merging follows, the sum of the number of passes before merging (100 + 580 + 103 = 783) is determined as the number of passes after branch merge. That is, “783” is set as the number of passes in the memory Y6 corresponding to the node N6. Subsequently, branching starts. In the next branch, the sum of the number of passages (provisional values) of the nodes N3 and N4 after the branch is minimum as shown in FIG. 8B, but the sum (600 + 180) is stored in the memory. It is smaller than the number of passes (783) stored in Y6. Therefore, the
[ノードの通過回数の決定方法の具体例2]
具体例1では、図9(c)を参照して説明したように、各分岐に係る共用通過回数の値が負の値となったためにメモリを破棄した。以下では、共用通過回数が負の値にならない場合を具体例2として図10および図11を参照して説明する。なお、具体例2において、具体例1と同じ条件については説明を省略し相違点について説明する。図10(a)は、ノードN10に与えられた最小通過回数が「80」に設定されている点を除いて、図8(a)と同じである。このため、図10(b)は、ノードN10に対応したメモリX10の通過回数が「80」に設定される。この処理の説明のため図11を参照する。図11(a)および図11(b)は、図9(a)および図9(b)と同じである。
[Specific example 2 of how to determine the number of times a node has passed]
In the first specific example, as described with reference to FIG. 9C, the memory is discarded because the value of the number of shared passages related to each branch becomes a negative value. Hereinafter, a case where the number of times of shared passage does not become a negative value will be described as a specific example 2 with reference to FIGS. 10 and 11. In the second specific example, the description of the same conditions as in the first specific example will be omitted, and differences will be described. FIG. 10A is the same as FIG. 8A except that the minimum number of passes given to the node N10 is set to “80”. For this reason, in FIG. 10B, the number of passes through the memory X10 corresponding to the node N10 is set to “80”. Reference is made to FIG. 11 for an explanation of this process. 11 (a) and 11 (b) are the same as FIGS. 9 (a) and 9 (b).
<ルートノード通過回数決定部53による通過回数の暫定値の決定方法>
図11(c)に示すように、ノードN10に対応したメモリX10には、通過回数として「80」が保持される。このとき、各分岐のノードに対応したメモリで共用通過回数と共有する合計の通過回数を「100+α1」、「80+β2」、「103+γ」のように考えることができる。ただし、この時点では、α1、β2、γは未決定であり、各分岐の各ノードに対して決定されている通過回数(ノード通過回数44として記憶部40のメモリに保持した値)は、「100」、「80」、「103」である。このとき、共用通過回数45として記憶部40のメモリでは、暫定値として決定された通過回数の差分(80−7=73)が減算される。この直前には、共用通過回数45は「570」であったので、「73」を差し引くことで、共用通過回数の値は「497」になる。
<Determination Method of Temporary Value of Passing Number by Route Node Passing
As shown in FIG. 11C, the memory X10 corresponding to the node N10 holds “80” as the number of passes. At this time, the total number of passages shared with the number of common passages in the memory corresponding to the node of each branch can be considered as “100 + α 1 ”, “80 + β 2 ”, “103 + γ”. However, at this time, α 1 , β 2 , and γ have not been determined, and the number of passages determined for each node of each branch (the value held in the memory of the storage unit 40 as the number of node passages 44) is , “100”, “80”, “103”. At this time, the difference (80−7 = 73) in the number of passages determined as the provisional value is subtracted as the shared
次に最後のマージがある。このマージを考慮した時点で、あらためて、マージ前の各分岐のノードN8、N10,N11の通過回数をそれぞれ「100+α1」、「80+β2」、「103+γ」として暫定的に決定する。つまり、ノードN8、N10,N11を同じく考慮していたとしても、分岐後の状態あるいは分岐がない状態としての観点(前からの続きで考える観点)に立脚するのか、マージ前の状態としての観点(先を考える観点)に立脚するのかの相違がある。ここでは、具体例1とは異なり、マージ前の状態において記憶部40のメモリに共用通過回数45が残っていたので、マージ前の状態としての観点に立脚することで、ノードN8の通過回数を「100+α1」、ノードN10の通過回数を「80+β2」、ノードN11の通過回数を「103+γ」として暫定的に決定する。なお、記憶部40において、α1、β2、γ自体は、「100、80、103」とそれぞれ分離されて記憶されている。また、α1、β2、γは未決定のままであるが個別に求めることはしない。それは、最後の分岐マージでは、「各分岐のノード(マージ前の各ノード)の通過回数の和」と、「マージ後のノードに与えられた最小通過回数」との比較を行うからである。なお、「各分岐のノードの通過回数の和」は式(3)で求められる。
Next is the final merge. When this merge is taken into consideration, the number of passes through the nodes N8, N10, and N11 of each branch before the merge is temporarily determined as “100 + α 1 ”, “80 + β 2 ”, and “103 + γ”, respectively. In other words, even if the nodes N8, N10, and N11 are considered in the same way, whether they are based on the viewpoint after the branch or the state without the branch (the viewpoint that is considered from the previous), or the viewpoint before the merge There is a difference in whether it is based on (a point of view thinking ahead). Here, unlike the specific example 1, since the shared
(100+α1)+(80+β2)+(103+γ)
=283+(α1+β2+γ)=283+497=780 … 式(3)
(100 + α 1 ) + (80 + β 2 ) + (103 + γ)
= 283 + (α 1 + β 2 + γ) = 283 + 497 = 780 Equation (3)
そして、最後の分岐マージでは、「各分岐のノードの暫定的な通過回数の和(780)」が、「ノードN12に与えられた最小通過回数(100)」よりも大きい。そのため、ノードN12に対応したメモリX12には、図10(b)に示すように、通過回数として「780」が保持される。マージ後のノードであるノードN12の通過回数(暫定値)が決定したので、各分岐に係る共用通過回数は不要となり、記憶部40に共用通過回数45として記憶されていた値(497)を削除する。最後に、ENDノードに対応したメモリに「780」をセットする。これにより、「780」がルートノードの通過回数の最小値(算出された最小通過回数)として確定する。
In the final branch merge, “the sum of provisional number of passages of nodes of each branch (780)” is larger than “minimum number of passages given to node N12 (100)”. Therefore, the memory X12 corresponding to the node N12 holds “780” as the number of passages as shown in FIG. Since the number of passes (provisional value) of node N12, which is the node after merging, has been determined, the number of shared passes related to each branch becomes unnecessary, and the value (497) stored in the storage unit 40 as the shared
<トレースバック部56による通過回数の確定値の決定方法>
前記したように、図10(b)において、ノードN10に対応したメモリX10の通過回数が「80」に設定されるため、図10(c)の各数値は、図8(c)の各数値とは相違する。ここでは、図10(a)〜図10(c)を参照する(適宜図2、図7参照)。
トレースバック部56は、まず、ENDノードで確定した通過回数「780」を、現ノードの通過回数(確定値)とする。そして、ENDノードの前のノードN12に対応したメモリY12には、通過回数として「780」がセットされる。
<Determination Method of Determining Value of Number of Passes by
As described above, in FIG. 10B, since the number of times of passage through the memory X10 corresponding to the node N10 is set to “80”, the numerical values in FIG. 10C are the numerical values in FIG. Is different. Here, reference is made to FIGS. 10A to 10C (see FIGS. 2 and 7 as appropriate).
The
次の3分岐では、分岐後の各ノードN8,N10,N11に対応したメモリX8、X10,X11に記憶された通過回数(暫定値)の和(100+80+103)は、共用通過回数を含んでいない。つまり、通過回数(暫定値)は、ノード通過回数44として記憶部40のメモリに保持した値のみである。したがって、通過回数(暫定値)の和(100+80+103)は、ノードN12に確定された通過回数(780)よりも小さい。そのため、トレースバック部56は、780/(100+80+103)の比率を求め、分岐後の各ノードN8,N10,N11の通過回数(暫定値)にこの比率を掛ける。これにより、ノードN8に対応したメモリY8には、通過回数として「276」がセットされ、ノードN10に対応したメモリY10には、通過回数として「220」がセットされ、ノードN11に対応したメモリY11には、通過回数として「284」がセットされる。以降の処理は、数値が異なるだけで具体例1と同様に行うことができる。
In the next three branches, the sum (100 + 80 + 10 3 ) of the number of passes (provisional value) stored in the memories X8, X10, X11 corresponding to the nodes N8, N10, N11 after the branch does not include the number of shared passes. . That is, the number of times of passage (provisional value) is only the value held in the memory of the storage unit 40 as the number of times of
[シンプレックス法を適用する場合との比較]
具体的には、前記した式(2)のように数式化されて各ノードに予め最小通過回数が設定された有向グラフにおける各ノードの通過回数およびルートノードの通過回数を求めるために、シンプレックス法を適用する場合には、図8(a)に示した有向グラフのような単純なグラフ構造であっても条件式として、以下の一次方程式および一次不等式を列挙する必要がある。
[Comparison with application of the simplex method]
Specifically, the simplex method is used to obtain the number of times of passage of each node and the number of times of passage of the root node in the directed graph that is formulated as the above-described equation (2) and the minimum number of times of passage is set in advance for each node. In the case of application, it is necessary to enumerate the following linear equations and linear inequalities as conditional expressions even in a simple graph structure such as the directed graph shown in FIG.
ここで、X1〜X12は、ノードN1〜N12にそれぞれ対応して求めようとしている通過回数(変数)を示し、同様に、XS,XEは、STARTノード、ENDノードにそれぞれ対応する通過回数(変数)示す。なお、各変数X1〜X12、XS,XEは非負である。有向グラフにおける各ノードの通過回数およびルートノードの通過回数を求めるということは、この条件式において、−XSを最大化する問題に帰着することができる。このためにシンプレックス法を用いて解くことができる。この結果XS=783(正解)が得られる。しかしながら、グラフにおけるノードの通過回数を決定する方法にシンプレックス法を採用する場合には、シンプレックス法では、条件式を必ず記述してから解を求めるため、処理に時間がかかってしまう。 Here, X1 to X12 indicate the number of passages (variables) to be obtained corresponding to the nodes N1 to N12, respectively. Similarly, XS and XE are the number of passages (variables) respectively corresponding to the START node and the END node. ) Note that the variables X1 to X12, XS, and XE are non-negative. Obtaining the number of passes of each node and the number of passes of the root node in the directed graph can be reduced to a problem of maximizing -XS in this conditional expression. This can be solved using the simplex method. As a result, XS = 783 (correct answer) is obtained. However, when the simplex method is employed as a method for determining the number of times a node passes in the graph, the simplex method requires a long time for processing because a conditional expression is always described before a solution is obtained.
以上のように、本実施形態のノード通過回数決定装置10によれば、有向グラフにおいて、STARTノードからENDノードに向けて、各ノードに与えられた最小通過回数を利用してルートノードの通過回数を最小にするように各ノードの通過回数を暫定的に決定することでルートノードの通過回数を求めることができる。そして、ノード通過回数決定装置10は、有向グラフのENDノードでルートノードの通過回数を確定した後、ENDノードからSTARTノードに向けてトレースバックすることにより、各ノードでの通過回数を確定していくことができる。したがって、シンプレックス法のように条件式を記述する必要がなく、有向グラフにおけるノードの通過回数を解として安定に求め、かつ、通過回数を決定する処理の処理時間を低減することができる。
As described above, according to the node passage
また、本実施形態の音声合成用読上げ文章生成装置2は、ノード通過回数決定装置10を備えているので、有向グラフと、ノードで示される内容としての語句のリストLとの入力を受け付け、かつ、ルートノードおよび各ノードの通過回数の確定値を決定したときに、有向グラフの各ノードに置換可能な語句を割り当てることで音声合成用読上げ文章を構築することができる。その結果、音声合成用読上げ文章生成装置2は、有向グラフにおけるノードの通過回数を解として安定に求め、かつ、通過回数を決定する処理の処理時間を低減することができる。
In addition, since the speech synthesizing
以上、本発明の実施形態について説明したが、本発明は、この実施形態には限定されない。例えば、有向グラフとして図3のグラフ構造や図8(a)のグラフ構造を示したが、有向グラフの構造は、これらに限定されるものではない。本発明では、グラフのSTARTノード(始点)からENDノード(終点)に向けて、途中でSTARTノード(始点)側へ戻るようなループバックがなければ様々なバリエーションのグラフ構造を有した有向グラフに適用可能である。例えば、STARTノード(始点)の直後に分岐するようにしてもよいし、ENDノード(終点)の直前の分岐がENDノードでマージするようにしてもよい。図12に、有向グラフの構造の他の例をそれぞれ示す。 As mentioned above, although embodiment of this invention was described, this invention is not limited to this embodiment. For example, although the graph structure of FIG. 3 and the graph structure of FIG. 8A are shown as the directed graph, the structure of the directed graph is not limited to these. In the present invention, if there is no loop back from the START node (start point) of the graph toward the END node (end point) and returning to the START node (start point) side of the graph, the present invention is applied to a directed graph having various graph structures. Is possible. For example, a branch may be made immediately after the START node (start point), or a branch immediately before the END node (end point) may be merged at the END node. FIG. 12 shows another example of the structure of the directed graph.
図12(a)に示す有向グラフは、図3(a)に示した有向グラフにおいて、1つのノード(ノードN6)を取り除いたグラフ構造を有している。図12(a)に示すように、ノードN3から出力するエッジE1は、ノードN5から出力するエッジE2と合流し、合流後に、ノードN7に入力するエッジE3と、ノードN8に入力するエッジE4とに分岐する。このグラフ構造を、前記した式(1)のように数式化すると式(4)で表すことができる。 The directed graph shown in FIG. 12A has a graph structure in which one node (node N6) is removed from the directed graph shown in FIG. As shown in FIG. 12A, the edge E1 output from the node N3 merges with the edge E2 output from the node N5, and after merging, the edge E3 input to the node N7 and the edge E4 input to the node N8 Branch to This graph structure can be expressed by equation (4) when expressed as equation (1).
この場合、エッジE1とエッジE2との合流については図3(a)に示した有向グラフのノードN6に対応したメモリX6を代用することができる。この場合、代用されるメモリX6には、最小通過回数として「0」を予め設定すればよい。 In this case, the memory X6 corresponding to the node N6 of the directed graph shown in FIG. 3A can be substituted for the merge of the edge E1 and the edge E2. In this case, “0” may be set in advance as the minimum number of passes in the substituted memory X6.
図12(b)に示す有向グラフは、第1の分岐としてノードN1からノードN2,N3への分岐を有し、ノードN2,N3の分岐がマージする前に、第2の分岐としてノードN2からノードN4,N5への分岐を有し、ノードN4,N5の分岐がノードN6にマージする。また、第1の分岐後のノードN3に接続されたノードN7は、第2の分岐がマージしたノードN6との間で、第1の分岐に対応してマージしてノードN8に接続される。この場合にも本発明のノード通過回数決定装置によるノード通過回数決定方法を用いることが可能である。このグラフ構造を、前記した式(1)のように数式化すると式(5)で表すことができる。 The directed graph shown in FIG. 12B has a branch from the node N1 to the nodes N2 and N3 as the first branch, and the node N2 to the node as the second branch before the branches of the nodes N2 and N3 merge. It has branches to N4 and N5, and the branches of nodes N4 and N5 merge into node N6. Further, the node N7 connected to the node N3 after the first branch is merged corresponding to the first branch with the node N6 merged with the second branch and connected to the node N8. Also in this case, it is possible to use the node passage number determination method by the node passage number determination device of the present invention. This graph structure can be expressed by equation (5) when expressed as equation (1).
ただし、図12(c)に示す有向グラフは、本発明のノード通過回数決定装置によるノード通過回数決定方法の対象としてはいない。図12(c)に示す有向グラフは、図12(a)に示した有向グラフを変形したものである。具体的には、図12(c)に示す有向グラフは、第1に、図12(a)に示した有向グラフにおいてノードN8を、エッジE1とエッジE2との合流地点に移動した。これにより、ノードN3,N5からノードN8へのマージと、ノードN8からノードN7,N9への分岐を形成した。第2に、ノードN3からノード7へのエッジE5を追加した。このエッジE5が存在するため、ノードN3の位置では、「分岐がある」と判定することも可能であるし、「マージがある」と判定することも可能であり、1通りに判定することはできない。
However, the directed graph shown in FIG. 12C is not a target of the node passage number determination method by the node passage number determination device of the present invention. The directed graph shown in FIG. 12C is a modification of the directed graph shown in FIG. Specifically, in the directed graph shown in FIG. 12C, first, the node N8 in the directed graph shown in FIG. 12A is moved to the joining point of the edge E1 and the edge E2. As a result, a merge from the nodes N3 and N5 to the node N8 and a branch from the node N8 to the nodes N7 and N9 are formed. Second, an edge E5 from the node N3 to the
1 音声合成用データベース作成システム
2 音声合成用読上げ文章生成装置
4 音声合成用データベース作成装置
5 音声合成用データベース
6 音声合成装置
10 ノード通過回数決定装置
20 読上げ文章構築装置
30 入力部(入力手段)
40 記憶部(記憶手段)
41 有向グラフ
42 最小通過回数
43 リスト
44 ノード通過回数
45 共用通過回数
50 処理部
51 分岐開始判定部(分岐開始判定手段)
52 分岐マージ判定部(分岐マージ判定手段)
53 ルートノード通過回数決定部(ルートノード通過回数決定手段)
54 ノード通過回数管理部(ノード通過回数管理手段)
55 共用通過回数管理部(共用通過回数管理手段)
56 トレースバック部(トレースバック手段)
DESCRIPTION OF
40 storage unit (storage means)
41
52 branch merge determination unit (branch merge determination means)
53 Root node passage number determination unit (root node passage number determination means)
54 Node pass count management section (node pass count management means)
55 Common Passage Number Management Department (Shared Passage Number Management Means)
56 Traceback unit (traceback means)
Claims (2)
処理手段と、
前記有向グラフと当該有向グラフにおける各ノードに与えられた前記最小通過回数との入力を受け付ける入力手段と、
前記入力された有向グラフ、当該有向グラフにおける各ノードに与えられた前記最小通過回数、前記処理手段の演算結果として前記各ノードに与えられる暫定値または確定値を表す通過回数、および前記処理手段の演算結果として前記各ノードの暫定的な通過回数を決定するために共用する共用通過回数を記憶する記憶手段と、を備え、
前記処理手段は、
前記入力された有向グラフの構造を解析して当該有向グラフにおける分岐の開始を判定する分岐開始判定手段と、
前記入力された有向グラフの構造を解析して当該有向グラフにおける分岐のマージを判定する分岐マージ判定手段と、
前記有向グラフにおける各ノードの通過回数の初期値として前記最小通過回数を暫定的に割り当てると共に、前記ルートノードの通過回数の初期値として0を割り当てた初期状態にて前記有向グラフの始点から処理を開始し、前記分岐開始判定手段の判定結果と、前記分岐マージ判定手段の判定結果とから得られる前記有向グラフにおける始点から終点に向けての分岐の状態とに基づいて、前記ルートノードの通過回数を最小にするように各ノードの通過回数を前記有向グラフの始点から終点に向けて逐次的に暫定的な値として決定し、前記終点において決定した暫定的な値を前記ルートノードの通過回数として確定するルートノード通過回数決定手段と、
前記有向グラフにおけるルートノードおよび各ノードに対して暫定値または確定値として決定された通過回数を前記記憶手段に保持して管理するノード通過回数管理手段と、
前記有向グラフの始点から終点に向けての分岐において分岐前のノードの通過回数から分岐後の各ノードに与えられた前記最小通過回数の和を差し引いた差分値を、分岐後の各ノードおよび当該分岐のマージ前後に係る各ノードの暫定的な通過回数を決定するまで共用するための前記共用通過回数として前記記憶手段に保持し、前記共用通過回数の増減を管理する共用通過回数管理手段と、
前記有向グラフにおける終点の通過回数の初期値として前記確定されたルートノードの通過回数と同じ値を割り当てた初期状態にて前記有向グラフの終点から処理を開始し、前記分岐開始判定手段の判定結果と、前記分岐マージ判定手段の判定結果とから得られる前記有向グラフにおける終点から始点に向けての分岐の状態と、前記暫定的な値として決定された各ノードの通過回数とに基づいて、前記ルートノードの通過回数を最小値に維持しながら、各ノードの通過回数を前記有向グラフの終点から始点に向けて逐次的に確定するトレースバック手段と、
を備え、
前記有向グラフにおいて始点から終点に向けての分岐がある場合、前記ルートノード通過回数決定手段は、分岐後の各ノードに与えられて記憶されている前記最小通過回数を、分岐後の各ノードに対する通過回数の暫定値として決定し、前記ノード通過回数管理手段は当該ノードに対して決定された通過回数の暫定値を前記記憶手段に記憶し、前記ルートノード通過回数決定手段は、分岐前のノードに対して記憶されている通過回数の暫定値と分岐後の各ノードに対して記憶されている通過回数の暫定値の和とを比較し、分岐前のノードの通過回数の暫定値の方が大きければ、前記共用通過回数管理手段に対して、分岐前のノードの通過回数の暫定値から分岐後の各ノードの通過回数の暫定値の和を差し引いた差分を当該分岐に係る前記共用通過回数として前記記憶手段に保持するように指示し、前記共用通過回数管理手段は、前記指示に従い、
前記有向グラフにおいて隣り合うノード間に始点から終点に向けての分岐がない場合、前記ルートノード通過回数決定手段は、始点側のノードに対して記憶されている通過回数の暫定値と終点側のノードに与えられて記憶されている前記最小通過回数とを比較し、どちらか大きい方の値を、終点側のノードに対する通過回数の暫定値として決定し、前記ノード通過回数管理手段は当該ノードに対して決定された通過回数の暫定値を前記記憶手段に記憶し、前記ルートノード通過回数決定手段は、終点側のノードに与えられて記憶されている前記最小通過回数の方が大きく、かつ、当該隣り合うノードの始点側ノードに係り前記記憶手段に記憶されている前記共用通過回数の値が1以上であれば、前記共用通過回数管理手段に対して、終点側のノードに与えられて記憶されている前記最小通過回数から始点側のノードに対して記憶されている通過回数の暫定値を差し引いた差分だけ前記共用通過回数の値を減算するように指示し、前記共用通過回数管理手段は、前記指示に従い、
前記有向グラフにおいて始点から終点に向けてのマージがある場合、前記ルートノード通過回数決定手段は、マージ前の各ノードに対して記憶されている通過回数の暫定値の和とマージ後のノードに与えられて記憶されている前記最小通過回数とを比較し、比較の結果、マージ前の各ノードの通過回数の暫定値の和がマージ後のノードに与えられた前記最小通過回数よりも小さければ、マージ後のノードに与えられた前記最小通過回数をマージ後のノードに対する通過回数の暫定値として決定し、前記ノード通過回数管理手段は当該ノードに対して決定された通過回数の暫定値を前記記憶手段に記憶し、比較の結果、マージ前の各ノードの通過回数の暫定値の和がマージ後のノードに与えられた前記最小通過回数以上であれば、マージ前の各ノードの通過回数の暫定値の和をマージ後のノードに対する通過回数の暫定値として決定すると共に、マージ前の各ノードにおいて前記共用通過回数が共用されていた場合には当該共用されている共用通過回数を削除するように前記共用通過回数管理手段に対して指示し、前記共用通過回数管理手段は、前記指示に従い、
前記トレースバック手段は、
前記有向グラフにおいて隣り合うノード間に終点から始点に向けての分岐がない場合に、終点側のノードに対して記憶されている通過回数の暫定値をそのまま確定値として決定し、前記終点側のノードに対する通過回数の確定値と同じ値を、始点側のノードに対する通過回数の確定値として決定し、
前記有向グラフにおいて終点から始点に向けての分岐がある場合に、分岐前のノードに対して記憶されている通過回数の暫定値をそのまま確定値として決定し、前記分岐前のノードに対する通過回数の確定値を、分岐後の各ノードに対して記憶されている通過回数の暫定値の和で除した比率を求め、前記求めた比率を、分岐後の各ノードに対して記憶されている通過回数の暫定値に掛けた値を、分岐後の各ノードに対する通過回数の確定値として決定し、
前記有向グラフにおいて終点から始点に向けてのマージがある場合に、マージ前の各ノードに対して記憶されている通過回数の暫定値の和を、マージ後のノードに対する通過回数の確定値として決定し、
前記ノード通過回数管理手段は前記有向グラフの各ノードに対して決定された通過回数の確定値を前記記憶手段に記憶する
ことを特徴とするノード通過回数決定装置。 Sentence reading for the speech synthesis is represented by a configuration directed graph from the branching and merging is possible edge among a plurality of nodes and the node indicating the position of the words contained in the sentence reading for speech synthesis, the directed graph minimum pass indicating the minimum value of the number of passes through each node, respectively when connecting each node to replace the word assigned to each node between the sole end point of the start point and the directed graph indicating the root node If the number is given to each node, the node pass number determination apparatus for determining the number of passes of the pass count and each node of the root node,
Processing means;
Input means for accepting an input of the minimum number of passes given to each node in the directed graph and the directed graph,
The input directed graph, the minimum number of passes given to each node in the directed graph, the number of passes represents the provisional value or variable value given to the each node as a calculation result of the processing means, and calculation results of said processing means and a storage means for storing shared number of passes to be shared to determine a provisional passage number of each node as,
The processing means includes
Branch start determination means for analyzing the structure of the input directed graph and determining the start of a branch in the directed graph;
Branch merge determination means for analyzing the structure of the input directed graph and determining a merge of branches in the directed graph;
The minimum number of passes is tentatively assigned as an initial value of the number of passes of each node in the directed graph, and processing is started from the starting point of the directed graph in an initial state in which 0 is assigned as the initial value of the number of passes of the root node. , the judgment result of the branch start determiner, on the basis of the start point of the directed graph resulting from the judgment result of the branch merge determination means and the state of the branch towards the end, to minimize the number passing the root node A route node that determines the number of times each node passes as a provisional value sequentially from the start point to the end point of the directed graph, and determines the provisional value determined at the end point as the number of times the route node passes Means for determining the number of passages;
A node passage number management means for holding and managing the number of passages determined as a provisional value or a fixed value for the root node and each node in the directed graph;
A difference value obtained by subtracting the sum of the minimum number of passes given to each node after branching from the number of passes before the branch node at the branch towards the end from the starting point of the digraph, each node after branching and the branch a common pass count management means for holding in the storage means as the common number of passages for sharing, managing changes in the common number of passes until determining the merged provisional number of passes of each node according to the front and rear,
Start processing from the end point of the directed graph in an initial state in which the same value as the pass number of the determined root node is assigned as an initial value of the number of end point passes in the directed graph, and the determination result of the branch start determination means, wherein based on the state of the branch of decision result toward the starting point from the end point of the directed graph resulting from the branch merge determination means, and number of passes of each node determined as before Symbol tentative value, before Symbol root Traceback means for sequentially determining the number of passes of each node from the end point of the directed graph toward the start point while maintaining the number of passes of the node at a minimum value;
Equipped with a,
When there is a branch from the start point to the end point in the directed graph, the route node passage number determination means passes the minimum passage number given to each node after branching and stored for each node after branching. The provisional value of the number of passes, the node passage number management means stores the provisional value of the number of passages determined for the node in the storage means, and the route node passage number determination means Compare the provisional value of the number of passes stored for each node with the sum of the provisional values of the number of passes stored for each node after branching, and the provisional value of the number of passes of the node before branching is greater For example, a difference obtained by subtracting the sum of the provisional value of the number of passages of each node after branching from the provisional value of the number of passages of the node before branching to the shared passage number management unit Instructed to hold in the storage means as a peroxide number, the shared passage count management means, in accordance with the instructions,
When there is no branch from the start point to the end point between adjacent nodes in the directed graph, the route node passage number determination means determines the provisional value of the passage number stored for the start point side node and the end point node. Is compared with the stored minimum number of passes, and the larger value is determined as a provisional value of the number of passes for the node on the end point side, and the node pass count management means The provisional value of the number of passages determined in the storage unit is stored in the storage unit, the route node passage number determination unit is greater than the minimum number of passages stored and given to the node on the end point side, If the value of the shared pass count stored in the storage means in relation to the start-point side node of an adjacent node is 1 or more, the shared pass count management means Instructing the subtraction value to be subtracted by the difference obtained by subtracting the provisional value of the number of passes stored for the node on the starting point side from the minimum number of passes given and stored in the node, The shared passage number management means follows the instruction,
When there is a merge from the start point to the end point in the directed graph, the root node passage number determination means gives the sum of the provisional values of the passage number stored for each node before the merge and the node after the merge And the sum of the provisional values of the number of passes of each node before merging is smaller than the minimum number of passes given to the node after merging, as a result of the comparison, The minimum number of passages given to the node after merging is determined as a provisional value of the number of passages for the node after merging, and the node passage number management means stores the provisional value of the number of passages determined for the node If the sum of provisional values of the number of passes of each node before merging is equal to or greater than the minimum number of passes given to the node after merging, The sum of the provisional values of the number of pass times of the node is determined as a provisional value of the number of passage times for the node after merging, and if the common passage number is shared in each node before merging, the common sharing Instructing the shared passage number management means to delete the number of passages, the shared passage number management means, according to the instruction,
The traceback means includes
When there is no branch from the end point to the start point between adjacent nodes in the directed graph, the provisional value of the number of times of passage stored for the end point node is determined as a definite value, and the end point node The same value as the fixed value of the number of passes for is determined as the fixed value of the number of passes for the node on the starting point side,
When there is a branch from the end point to the start point in the directed graph, the provisional value of the number of passes stored for the node before the branch is determined as a fixed value as it is, and the number of passes for the node before the branch is determined The ratio obtained by dividing the value by the sum of the provisional values of the number of passages stored for each node after branching is obtained, and the obtained ratio is calculated as the number of times of passage stored for each node after branching. Determine the value multiplied by the provisional value as the final value of the number of passes for each node after branching,
When there is a merge from the end point to the start point in the directed graph, the sum of the provisional values of the number of passes stored for each node before merging is determined as a fixed value of the number of passes for the node after merging. ,
The node passage number determination device, wherein the node passage number management means stores a definite value of the passage number determined for each node of the directed graph in the storage means .
入力された有向グラフの構造を解析して当該有向グラフにおける分岐の開始を判定する分岐開始判定手段、
前記入力された有向グラフの構造を解析して当該有向グラフにおける分岐のマージを判定する分岐マージ判定手段、
前記有向グラフにおける各ノードの通過回数の初期値として前記最小通過回数を暫定的に割り当てると共に、前記ルートノードの通過回数の初期値として0を割り当てた初期状態にて前記有向グラフの始点から処理を開始し、前記分岐開始判定手段の判定結果と、前記分岐マージ判定手段の判定結果とから得られる前記有向グラフにおける始点から終点に向けての分岐の状態とに基づいて、前記ルートノードの通過回数を最小にするように各ノードの通過回数を前記有向グラフの始点から終点に向けて逐次的に暫定的な値として決定し、前記終点において決定した暫定的な値を前記ルートノードの通過回数として確定するルートノード通過回数決定手段、
前記有向グラフにおけるルートノードおよび各ノードに対して暫定値または確定値として決定された通過回数を前記記憶手段に保持して管理するノード通過回数管理手段、
前記有向グラフの始点から終点に向けての分岐において分岐前のノードの通過回数から分岐後の各ノードに与えられた前記最小通過回数の和を差し引いた差分値を、分岐後の各ノードおよび当該分岐のマージ前後に係る各ノードの暫定的な通過回数を決定するまで共用するための前記共用通過回数として前記記憶手段に保持し、前記共用通過回数の増減を管理する共用通過回数管理手段、
前記有向グラフにおける終点の通過回数の初期値として前記確定されたルートノードの通過回数と同じ値を割り当てた初期状態にて前記有向グラフの終点から処理を開始し、前記分岐開始判定手段の判定結果と、前記分岐マージ判定手段の判定結果とから得られる前記有向グラフにおける終点から始点に向けての分岐の状態と、前記暫定的な値として決定された各ノードの通過回数とに基づいて、前記ルートノードの通過回数を最小値に維持しながら、各ノードの通過回数を前記有向グラフの終点から始点に向けて逐次的に確定するトレースバック手段、
として機能させるためのノード通過回数決定プログラムであって、
前記有向グラフにおいて始点から終点に向けての分岐がある場合、前記ルートノード通過回数決定手段は、分岐後の各ノードに与えられて記憶されている前記最小通過回数を、分岐後の各ノードに対する通過回数の暫定値として決定し、前記ノード通過回数管理手段は当該ノードに対して決定された通過回数の暫定値を前記記憶手段に記憶し、前記ルートノード通過回数決定手段は、分岐前のノードに対して記憶されている通過回数の暫定値と分岐後の各ノードに対して記憶されている通過回数の暫定値の和とを比較し、分岐前のノードの通過回数の暫定値の方が大きければ、前記共用通過回数管理手段に対して、分岐前のノードの通過回数の暫定値から分岐後の各ノードの通過回数の暫定値の和を差し引いた差分を当該分岐に係る前記共用通過回数として前記記憶手段に保持するように指示し、前記共用通過回数管理手段は、前記指示に従い、
前記有向グラフにおいて隣り合うノード間に始点から終点に向けての分岐がない場合、前記ルートノード通過回数決定手段は、始点側のノードに対して記憶されている通過回数の暫定値と終点側のノードに与えられて記憶されている前記最小通過回数とを比較し、どちらか大きい方の値を、終点側のノードに対する通過回数の暫定値として決定し、前記ノード通過回数管理手段は当該ノードに対して決定された通過回数の暫定値を前記記憶手段に記憶し、前記ルートノード通過回数決定手段は、終点側のノードに与えられて記憶されている前記最小通過回数の方が大きく、かつ、当該隣り合うノードの始点側ノードに係り前記記憶手段に記憶されている前記共用通過回数の値が1以上であれば、前記共用通過回数管理手段に対して、終点側のノードに与えられて記憶されている前記最小通過回数から始点側のノードに対して記憶されている通過回数の暫定値を差し引いた差分だけ前記共用通過回数の値を減算するように指示し、前記共用通過回数管理手段は、前記指示に従い、
前記有向グラフにおいて始点から終点に向けてのマージがある場合、前記ルートノード通過回数決定手段は、マージ前の各ノードに対して記憶されている通過回数の暫定値の和とマージ後のノードに与えられて記憶されている前記最小通過回数とを比較し、比較の結果、マージ前の各ノードの通過回数の暫定値の和がマージ後のノードに与えられた前記最小通過回数よりも小さければ、マージ後のノードに与えられた前記最小通過回数をマージ後のノードに対する通過回数の暫定値として決定し、前記ノード通過回数管理手段は当該ノードに対して決定された通過回数の暫定値を前記記憶手段に記憶し、比較の結果、マージ前の各ノードの通過回数の暫定値の和がマージ後のノードに与えられた前記最小通過回数以上であれば、マージ前の各ノードの通過回数の暫定値の和をマージ後のノードに対する通過回数の暫定値として決定すると共に、マージ前の各ノードにおいて前記共用通過回数が共用されていた場合には当該共用されている共用通過回数を削除するように前記共用通過回数管理手段に対して指示し、前記共用通過回数管理手段は、前記指示に従い、
前記トレースバック手段は、
前記有向グラフにおいて隣り合うノード間に終点から始点に向けての分岐がない場合に、終点側のノードに対して記憶されている通過回数の暫定値をそのまま確定値として決定し、前記終点側のノードに対する通過回数の確定値と同じ値を、始点側のノードに対する通過回数の確定値として決定し、
前記有向グラフにおいて終点から始点に向けての分岐がある場合に、分岐前のノードに対して記憶されている通過回数の暫定値をそのまま確定値として決定し、前記分岐前のノードに対する通過回数の確定値を、分岐後の各ノードに対して記憶されている通過回数の暫定値の和で除した比率を求め、前記求めた比率を、分岐後の各ノードに対して記憶されている通過回数の暫定値に掛けた値を、分岐後の各ノードに対する通過回数の確定値として決定し、
前記有向グラフにおいて終点から始点に向けてのマージがある場合に、マージ前の各ノードに対して記憶されている通過回数の暫定値の和を、マージ後のノードに対する通過回数の確定値として決定し、
前記ノード通過回数管理手段は前記有向グラフの各ノードに対して決定された通過回数の確定値を前記記憶手段に記憶する
ことを特徴とするノード通過回数決定プログラム。 Sentence reading for the speech synthesis is represented by a configuration directed graph from the branching and merging is possible edge among a plurality of nodes and the node indicating the position of the words contained in the sentence reading for speech synthesis, the directed graph minimum pass indicating the minimum value of the number of passes through each node, respectively when connecting each node to replace the word assigned to each node between the sole end point of the start point and the directed graph indicating the root node If the number is given to each node in order to determine the number of passes of the pass count and each node of the root node, the input directed graph, the minimum number of passes given to each node in the directed graph, The number of passes representing a provisional value or a definite value given to each node as a calculation result, and each node as a calculation result Computer having a storage means for storing shared number of passes to be shared to determine a provisional number of passes,
Branch start determination means for analyzing the structure of the input directed graph and determining the start of branch in the directed graph;
Branch merge determination means for analyzing the structure of the input directed graph and determining the merge of branches in the directed graph;
The minimum number of passes is tentatively assigned as an initial value of the number of passes of each node in the directed graph, and processing is started from the starting point of the directed graph in an initial state in which 0 is assigned as the initial value of the number of passes of the root node. , the judgment result of the branch start determiner, on the basis of the start point of the directed graph resulting from the judgment result of the branch merge determination means and the state of the branch towards the end, to minimize the number passing the root node A route node that determines the number of times each node passes as a provisional value sequentially from the start point to the end point of the directed graph, and determines the provisional value determined at the end point as the number of times the route node passes Means for determining the number of passes,
A node passage number managing means for managing the root node in the directed graph and the number of passages determined as a provisional value or a fixed value for each node in the storage means;
A difference value obtained by subtracting the sum of the minimum number of passes given to each node after branching from the number of passes before the branch node at the branch towards the end from the starting point of the digraph, each node after branching and the branch merging held in the storage means as the common number of passages for sharing until determining the provisional number of passes of each node according to the front and rear, the shared passage count management means for managing the increase and decrease of the shared number of passes,
Start processing from the end point of the directed graph in an initial state in which the same value as the pass number of the determined root node is assigned as an initial value of the number of end point passes in the directed graph, and the determination result of the branch start determination means, wherein based on the state of the branch of decision result toward the starting point from the end point of the directed graph resulting from the branch merge determination means, and number of passes of each node determined as before Symbol tentative value, before Symbol root Traceback means for sequentially determining the number of passes of each node from the end point of the directed graph toward the start point while maintaining the number of passes of the node at a minimum value;
A program for determining the number of times of passing through a node for functioning as
When there is a branch from the start point to the end point in the directed graph, the route node passage number determination means passes the minimum passage number given to each node after branching and stored for each node after branching. The provisional value of the number of passes, the node passage number management means stores the provisional value of the number of passages determined for the node in the storage means, and the route node passage number determination means Compare the provisional value of the number of passes stored for each node with the sum of the provisional values of the number of passes stored for each node after branching, and the provisional value of the number of passes of the node before branching is greater For example, a difference obtained by subtracting the sum of the provisional value of the number of passages of each node after branching from the provisional value of the number of passages of the node before branching to the shared passage number management unit Instructed to hold in the storage means as a peroxide number, the shared passage count management means, in accordance with the instructions,
When there is no branch from the start point to the end point between adjacent nodes in the directed graph, the route node passage number determination means determines the provisional value of the passage number stored for the start point side node and the end point node. Is compared with the stored minimum number of passes, and the larger value is determined as a provisional value of the number of passes for the node on the end point side, and the node pass count management means The provisional value of the number of passages determined in the storage unit is stored in the storage unit, the route node passage number determination unit is greater than the minimum number of passages stored and given to the node on the end point side, If the value of the shared pass count stored in the storage means in relation to the start-point side node of an adjacent node is 1 or more, the shared pass count management means Instructing the subtraction value to be subtracted by the difference obtained by subtracting the provisional value of the number of passes stored for the node on the starting point side from the minimum number of passes given and stored in the node, The shared passage number management means follows the instruction,
When there is a merge from the start point to the end point in the directed graph, the root node passage number determination means gives the sum of the provisional values of the passage number stored for each node before the merge and the node after the merge And the sum of the provisional values of the number of passes of each node before merging is smaller than the minimum number of passes given to the node after merging, as a result of the comparison, The minimum number of passages given to the node after merging is determined as a provisional value of the number of passages for the node after merging, and the node passage number management means stores the provisional value of the number of passages determined for the node If the sum of provisional values of the number of passes of each node before merging is equal to or greater than the minimum number of passes given to the node after merging, The sum of the provisional values of the number of pass times of the node is determined as a provisional value of the number of passage times for the node after merging, and if the common passage number is shared in each node before merging, the common sharing Instructing the shared passage number management means to delete the number of passages, the shared passage number management means, according to the instruction,
The traceback means includes
When there is no branch from the end point to the start point between adjacent nodes in the directed graph, the provisional value of the number of times of passage stored for the end point node is determined as a definite value, and the end point node The same value as the fixed value of the number of passes for is determined as the fixed value of the number of passes for the node on the starting point
When there is a branch from the end point to the start point in the directed graph, the provisional value of the number of passes stored for the node before the branch is determined as a fixed value as it is, and the number of passes for the node before the branch is determined The ratio obtained by dividing the value by the sum of the provisional values of the number of passages stored for each node after branching is obtained, and the obtained ratio is calculated as the number of times of passage stored for each node after branching. Determine the value multiplied by the provisional value as the final value of the number of passes for each node after branching,
When there is a merge from the end point to the start point in the directed graph, the sum of the provisional values of the number of passes stored for each node before merging is determined as a fixed value of the number of passes for the node after merging. ,
The node passing number management means stores a definite value of the passing number determined for each node of the directed graph in the storage means.
A node passage frequency determination program characterized by the above .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008196952A JP5174574B2 (en) | 2008-07-30 | 2008-07-30 | Node passage count determination apparatus and program for graph |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008196952A JP5174574B2 (en) | 2008-07-30 | 2008-07-30 | Node passage count determination apparatus and program for graph |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010033461A JP2010033461A (en) | 2010-02-12 |
JP5174574B2 true JP5174574B2 (en) | 2013-04-03 |
Family
ID=41737820
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008196952A Active JP5174574B2 (en) | 2008-07-30 | 2008-07-30 | Node passage count determination apparatus and program for graph |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5174574B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114816243B (en) * | 2022-03-31 | 2023-02-03 | 北京优特捷信息技术有限公司 | Log compression method and device, electronic equipment and storage medium |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11282683A (en) * | 1998-03-26 | 1999-10-15 | Omron Corp | Agent system |
-
2008
- 2008-07-30 JP JP2008196952A patent/JP5174574B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2010033461A (en) | 2010-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5554304B2 (en) | Automaton determinizing method, automaton determinizing apparatus and automaton determinizing program | |
JP2006031228A (en) | Morphemic analysis device, method, and program | |
CN103325370A (en) | Voice identification method and voice identification system | |
JP2008152260A (en) | Rhythm word grouping method and device | |
WO2011033834A1 (en) | Speech translation system, speech translation method, and recording medium | |
JP5180800B2 (en) | Recording medium for storing statistical pronunciation variation model, automatic speech recognition system, and computer program | |
JP5174574B2 (en) | Node passage count determination apparatus and program for graph | |
US11416555B2 (en) | Data structuring device, data structuring method, and program storage medium | |
KR20240024960A (en) | Robust direct speech-to-speech translation | |
JP2007066260A (en) | Network conversion system and method | |
JP2007163896A (en) | Voice recognition device and method | |
KR20210051523A (en) | Dialogue system by automatic domain classfication | |
JP2003030187A (en) | Automatic interpreting system, conversation learning device, automatic interpreting device, its method and its program | |
JP2009169840A (en) | Knowledge structure configuration method of natural language interactive agent, method of creating automatic response using knowledge structure and automatic response creating device | |
Sproat et al. | Applications of lexicographic semirings to problems in speech and language processing | |
JP5881157B2 (en) | Information processing apparatus and program | |
JP7000096B2 (en) | Dialogue processing device and dialogue processing system | |
JP4877112B2 (en) | Voice processing apparatus and program | |
JP5113662B2 (en) | Text-to-speech reading device for speech synthesis and program thereof | |
JP2004310628A (en) | Dialog scenario production method, dialog scenario production device and program for producing dialog scenario | |
JP2001075585A (en) | Natural language processing method and voice synthyesizer using the same method | |
JP2006126886A (en) | Learning device for knowledge for shortening sentence, sentence shortening device, machine translating device and computer program for shortening sentence | |
JP2001075584A (en) | Natural language processing method and voice synthyesizer using the same method | |
JP6088233B2 (en) | Spoken sentence generation device for speech synthesis and program thereof | |
WO2022091536A1 (en) | Meaning representation analysis system and meaning representation analysis method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110128 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20110128 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20110128 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110311 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120911 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121108 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20121204 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121228 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5174574 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |