JP5174574B2 - Node passage count determination apparatus and program for graph - Google Patents

Node passage count determination apparatus and program for graph Download PDF

Info

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
Application number
JP2008196952A
Other languages
Japanese (ja)
Other versions
JP2010033461A (en
Inventor
寛之 世木
徹 都木
礼子 田高
信正 清山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Japan Broadcasting Corp
Original Assignee
Japan Broadcasting Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Japan Broadcasting Corp filed Critical Japan Broadcasting Corp
Priority to JP2008196952A priority Critical patent/JP5174574B2/en
Publication of JP2010033461A publication Critical patent/JP2010033461A/en
Application granted granted Critical
Publication of JP5174574B2 publication Critical patent/JP5174574B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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に記載された音声合成用読上げテキストデータ作成装置は、音声合成装置が、ニュース原稿や株価等の数値を読み上げるための合成音声を生成するために用いる音声データを集めた音声合成用データベースを作成するために文章として読み上げられるテキストデータを入力として受け付ける。そして、この音声合成用読上げテキストデータ作成装置は、入力されたテキストデータを、音声合成する際に合成単位となる音声データ単位に分割して、文章を構成する音声データ単位の各部分の音声として読み上げられる部分的なテキストデータを選択的に生成することで音声合成用の読上げ文章を生成する。
特開2006−30892号公報 William H. Press, et al. 、丹慶 勝市ほか訳、ニューメリカル・レシピ・イン・シー、”シンプレックス法”、技術評論社、1993、p.317−330
Conventionally, a technique for generating a text-to-speech text as such text (text data) is known (see Patent Document 1). For example, a text-to-speech text data creation device for speech synthesis described in Patent Document 1 is speech synthesis in which speech data is collected by speech synthesis devices to generate synthesized speech for reading numerical values such as news manuscripts and stock prices. Text data that is read out as text to create a database is accepted as input. Then, this text-to-speech text data creation device divides the input text data into speech data units that are synthesizing units when synthesizing speech, and as speech of each part of the speech data units constituting the sentence A text to be read out for speech synthesis is generated by selectively generating partial text data to be read out.
JP 2006-30892 A William H. Press, et al., Translation by Katsuichi Tankei et al., Numerical Recipe in Sea, “Simplex Method”, Technical Critics, 1993, p.317-330

しかしながら、グラフにおけるノードの通過回数を決定する方法にシンプレックス法を採用する場合には、シンプレックス法では、条件式を必ず記述してから解を求めるため、処理に時間がかかってしまう。また、特許文献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 Patent Document 1 does not use a graph to generate a text-to-speech text for speech synthesis. For example, when a graph is used to generate a text to be read out for speech synthesis, a graph with a relatively simple structure is assumed, and the number of times a node passes in such a simple structure graph is determined. In processing, it is desired to shorten the processing time without using the simplex method. In addition, since the simplex method is not guaranteed in all cases with respect to solution convergence, there is also a problem in stability.

本発明は、以上のような問題点に鑑みてなされたものであり、グラフにおけるノードの過回数を決定する処理の処理時間を低減することのできる技術を提供することを目的とする。 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 claim 1 includes a plurality of nodes indicating positions of words / phrases included in a text-to-speech read-out sentence. sentence aloud the speech synthesis by configured directed graph from the branching and merging is possible edge between the nodes are represented, 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 when connecting each node to replace the assigned word to each node in is given to each node, passing the root node in the node pass number determination apparatus for determining the number of passes of times and each node, a processing unit, an input unit, a storage unit, wherein the processing unit, the partial A start determination means, and the branch merges determining means, and the root node pass number determination unit, and the node number of passes management unit, and the shared passage count management means, and further comprising a traceback unit.

かかる構成によれば、ノード通過回数決定装置は、入力手段によって、前記有向グラフと当該有向グラフにおける各ノードに与えられた前記最小通過回数との入力を受け付け、前記入力された有向グラフと当該有向グラフにおける各ノードに与えられた前記最小通過回数とを記憶手段に記憶する。また、記憶手段は、前記処理手段の演算結果として前記各ノードに与えられる暫定値または確定値を表す通過回数、および前記処理手段の演算結果として前記各ノードの暫定的な通過回数を決定するために共用する共用通過回数を記憶する。そして、ノード通過回数決定装置は、分岐開始判定手段によって、前記入力された有向グラフの構造を解析して当該有向グラフにおける分岐の開始を判定し、分岐マージ判定手段によって、前記入力された有向グラフの構造を解析して当該有向グラフにおける分岐のマージを判定する。そして、ノード通過回数決定装置は、ルートノード通過回数決定手段によって、前記有向グラフにおける各ノードの通過回数の初期値として前記最小通過回数を暫定的に割り当てると共に、前記ルートノードの通過回数の初期値として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.

また、請求項に記載のノード通過回数決定装置は、前記有向グラフにおいて始点から終点に向けての分岐がある場合、前記ルートノード通過回数決定手段は、分岐後の各ノードに与えられて記憶されている前記最小通過回数を、分岐後の各ノードに対する通過回数の暫定値として決定し、前記ノード通過回数管理手段は当該ノードに対して決定された通過回数の暫定値を前記記憶手段に記憶し、前記ルートノード通過回数決定手段は、分岐前のノードに対して記憶されている通過回数の暫定値と分岐後の各ノードに対して記憶されている通過回数の暫定値の和とを比較し、分岐前のノードの通過回数の暫定値の方が大きければ、前記共用通過回数管理手段に対して、分岐前のノードの通過回数の暫定値から分岐後の各ノードの通過回数の暫定値の和を差し引いた差分を当該分岐に係る前記共用通過回数として前記記憶手段に保持するように指示し、前記共用通過回数管理手段が、前記指示に従うこととした。 Further, in the node passage number determination device according to claim 1 , when there is a branch from the start point to the end point in the directed graph, the route node passage number determination means is given to each node after branching and stored. The minimum number of passages is determined as a provisional value of the number of passages for each node after branching, and the node passage number management means stores the provisional value of the number of passages determined for the node in the storage means. The route node passage number determining means compares the provisional value of the passage number stored for the node before branching with the sum of the provisional value of the passage number stored for each node after branching. If the provisional value of the number of passages of the node before branching is larger, the shared passage number management means determines the provisional value of the number of passages of the node before branching from the provisional value of the number of passages of the node before branching. The difference obtained by subtracting the sum of the values instructed to hold in the storage means as the common number of passes according to the branch, the shared passage count management means, it was to follow the instructions.

かかる構成によれば、ノード通過回数決定装置は、分岐後の各ノードに与えられた最小通過回数を、分岐後の各ノードの通過回数として暫定的に決定し、かつ、分岐前のノードの通過回数の方が分岐後のノードの通過回数の和よりも大きければ、その差分を、共用通過回数として記憶手段に保持することができる。したがって、この場合には、ノード通過回数決定装置は、有向グラフにおいて分岐後にマージするまでの間、共用通過回数を、分岐後の各ノード全体をまとめて管理したときの通過回数の余剰分として一括して管理することができる。これにより、この共用通過回数が分岐後にマージするまでの間に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以上であれば、前記共用通過回数管理手段に対して、終点側のノードに与えられて記憶されている前記最小通過回数から始点側のノードに対して記憶されている通過回数の暫定値を差し引いた差分だけ前記共用通過回数の値を減算するように指示し、前記共用通過回数管理手段が、前記指示に従うこととした。 The node passage number determination device according to claim 1 , wherein when there is no branch from a start point to an end point between adjacent nodes in the directed graph, the route node passage number determination unit Is compared with the minimum number of passages given to the end-point node and stored, and the larger value is the provisional value of the number of passages for the end-point node. And the node passage number management means stores the provisional value of the passage number determined for the node in the storage means, and the route node passage number determination means is given to the end-side node and stored. And the value of the number of shared passes stored in the storage means in relation to the start side node of the adjacent node is 1 or more. For example, only the difference obtained by subtracting the provisional value of the number of passages stored for the start-side node from the minimum number of passages given to the end-point node and stored for the shared passage number management means. It is instructed to subtract the value of the number of shared passages , and the shared passage number management means follows the instructions.

かかる構成によれば、ノード通過回数決定装置は、始点側のノードの通過回数と終点側のノードに与えられた最小通過回数のうち、どちらか大きい方の値を、終点側のノードの通過回数として暫定的に決定する。これにより、有向グラフにおいて隣り合うノード間に始点から終点に向けての分岐がない場合に、ルートノードの通過回数を最小にすることができる。また、ノード通過回数決定装置は、この隣り合うノードの始点側ノードに係る共用通過回数が保持されていれば、すなわち、第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.

また、請求項に記載のノード通過回数決定装置は、前記有向グラフにおいて始点から終点に向けてのマージがある場合、前記ルートノード通過回数決定手段が、ージ前の各ノードに対して記憶されている通過回数の暫定値の和とマージ後のノードに与えられて記憶されている前記最小通過回数とを比較し、比較の結果、マージ前の各ノードの通過回数の暫定値の和がマージ後のノードに与えられた前記最小通過回数よりも小さければ、マージ後のノードに与えられた前記最小通過回数をマージ後のノードに対する通過回数の暫定値として定し、前記ノード通過回数管理手段が当該ノードに対して決定された通過回数の暫定値を前記記憶手段に記憶し、比較の結果、マージ前の各ノードの通過回数の暫定値の和がマージ後のノードに与えられた前記最小通過回数以上であれば、マージ前の各ノードの通過回数の暫定値の和をマージ後のノードに対する通過回数の暫定値として定すると共に、マージ前の各ノードにおいて前記共用通過回数が共用されていた場合には当該共用されている共用通過回数を削除するように前記共用通過回数管理手段に対して指示し、前記共用通過回数管理手段は、前記指示に従うこととした。 The node passing times determination device according to claim 1, if there is a merge towards the end from the starting point in the directed graph, the root node passing times determination means, stored for M a di before each node by comparing the minimum number of passes are stored in given node after the sum and merge provisional value of number of passes being the result of the comparison, the sum of the provisional value of the pass count for each node before the merge smaller than the minimum number of passes given node after merging, to determine the minimum number of passes, which is supplied to the node of the merged as a provisional value of the pass count for the node after merging, the node pass count management means storing a provisional value of the pass count determined for the node in the storage means, supplied to the node after merging the sum of the provisional values of the result, the number of passes each node merging comparison If the minimum number of passes over that, while determines the sum of the provisional values of the number of passes of each node before merging as a provisional value of the pass count for the node after merging, the common passage at each node before merging When the number of times is shared, the shared passage number management means is instructed to delete the shared number of shared passages, and the shared passage number management means follows the instruction.

かかる構成によれば、ノード通過回数決定装置は、マージ前の各ノードの通過回数の和と、マージ後のノードに与えられた最小通過回数との大小関係に応じて、どちらか大きい方の値を、マージ後のノードの通過回数として暫定的に決定する。これにより、有向グラフにおいて始点から終点に向けてのマージがある場合に、ルートノードの通過回数を最小にすることができる。また、ノード通過回数決定装置は、マージ前に共用通過回数が保持されていれば、マージ後のノードの通過回数を暫定的に決定した後で、共用通過回数を削除するので、マージ後のノードの通過回数を暫定的に決定した後では、マージ前の各ノードに保持された暫定的な通過回数(その時点での最小通過回数)の和を振り返ってみれば、そのときには、共用通過回数の値を考慮しない分だけ、当該マージを生じせしめる各分岐が行われる以前のノードの暫定的な通過回数の値よりも小さいものとなる。したがって、トレースバックする際に、一括して管理していた共用通過回数を考慮するのではなく、マージ前の各ノードの通過回数(ただし各ノードはトレースバック時には分岐後の各ノードを示す)を、各ノードに保持された暫定的な最小通過回数に基づいて確定することが可能となる。   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.

また、請求項に記載のノード通過回数決定装置は、前記トレースバック手段が、前記有向グラフにおいて隣り合うノード間に終点から始点に向けての分岐がない場合に、終点側のノードに対して記憶されている通過回数の暫定値そのまま確定値として決定し、前記点側のノードに対する通過回数の確定値と同じ値を、始点側のノードに対する通過回数の確定値として決定し、前記有向グラフにおいて終点から始点に向けての分岐がある場合に、分岐前のノードに対して記憶されている通過回数の暫定値そのまま確定値として決定し、前記岐前のノードに対する通過回数の確定値を、分岐後の各ノードに対して記憶されている通過回数の暫定値の和で除した比率を求め、前記求めた比率を、分岐後の各ノードに対して記憶されている通過回数の暫定値に掛けた値を、分岐後の各ノードに対する通過回数の確定値として決定し、前記有向グラフにおいて終点から始点に向けてのマージがある場合に、マージ前の各ノードに対して記憶されている通過回数の暫定値の和を、マージ後のノードに対する通過回数の確定値として決定し、前記ノード通過回数管理手段は前記有向グラフの各ノードに対して決定された通過回数の確定値を前記記憶手段に記憶することとした。 The node passage number determination device according to claim 1 , wherein the traceback means stores the end-point node when there is no branch from the end point to the start point between adjacent nodes in the directed graph. is directly determined as the definite value provisional value of number of passes is the same value as the determined value of the pass count for said final point node, it determines the determined value of the pass count for the starting point side of the node, in the directed graph If there is a branch toward the starting point from the end point, the provisional value of the pass count stored for the nodes of the previous branch determined as Accept value, the determined value of the pass count for the node of the divided岐前, find the ratio obtained by dividing the sum of the provisional values of pass number stored for each node after branching, the obtained ratios are stored for each node after branching The value obtained by multiplying the provisional value of the over-times, was determined as an established value of the pass count for each node after branching, when in the directed graph has merge towards the starting point from the end point, for each node before the merge the sum of the provisional values of the pass count stored, to determine a definite value of pass count for nodes merged, the node number of passes management means determined value of the passing number of times determined for each node of said directed graph Is stored in the storage means .

かかる構成によれば、ノード通過回数決定装置は、有向グラフの終点でルートノードの通過回数を確定した後、終点から始点に向けてトレースバックする際に、分岐がない場合には、終点側の通過回数と同じ値を始点側のノードの通過回数として確定する。また、ノード通過回数決定装置は、トレースバックする際に分岐がある場合には、分岐前の通過回数を分岐後の通過回数に比例配分できるように、分岐後の暫定的な通過回数に比率を掛ける。さらに、ノード通過回数決定装置は、トレースバックする際にマージがある場合に、マージ前の各ノードの通過回数の和を、マージ後のノードの通過回数として確定する。これにより、有向グラフにおいてルートノードの通過回数を最小にすると共に、ルートノード間を接続する各ノードの通過回数を確実に決定することができる。   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.

また、請求項に記載のノード通過回数決定プログラムは、音声合成用読上げ文章に含まれる語句の位置を示す複数のノードと前記ノード間において分岐および合流が可能なエッジとから構成された有向グラフによって前記音声合成用読上げ文章が表現され、前記有向グラフのルートノードを示す始点と前記有向グラフの単独の終点との間における各ノードに割り当てられた語句を置換して各ノードを接続するときに各ノードをそれぞれ通過する回数の最小値を示す最小通過回数が各ノードに与えられている場合に、前記ルートノードの通過回数と各ノードの通過回数とを決定するために、入力された有向グラフ、当該有向グラフにおける各ノードに与えられた前記最小通過回数、演算結果としての前記各ノードに与えられる暫定値または確定値を表す通過回数、および演算結果としての前記各ノードの暫定的な通過回数を決定するために共用する共用通過回数を記憶する記憶手段を備えた記憶手段を備えたコンピュータを、分岐開始判定手段、分岐マージ判定手段、ルートノード通過回数決定手段、ノード通過回数管理手段、共用通過回数管理手段、トレースバック手段として機能させるためのプログラムであることを前提とする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.

また、請求項に記載のノード通過回数決定プログラムは、前記有向グラフにおいて始点から終点に向けての分岐がある場合、前記ルートノード通過回数決定手段が、分岐後の各ノードに与えられて記憶されている前記最小通過回数を、分岐後の各ノードに対する通過回数の暫定値として決定し、前記ノード通過回数管理手段が当該ノードに対して決定された通過回数の暫定値を前記記憶手段に記憶し、前記ルートノード通過回数決定手段が、分岐前のノードに対して記憶されている通過回数の暫定値と分岐後の各ノードに対して記憶されている通過回数の暫定値の和とを比較し、分岐前のノードの通過回数の暫定値の方が大きければ、前記共用通過回数管理手段に対して、分岐前のノードの通過回数の暫定値から分岐後の各ノードの通過回数の暫定値の和を差し引いた差分を当該分岐に係る前記共用通過回数として前記記憶手段に保持するように指示し、前記共用通過回数管理手段が、前記指示に従う。
そして、ノード通過回数決定プログラムは、前記有向グラフにおいて隣り合うノード間に始点から終点に向けての分岐がない場合、前記ルートノード通過回数決定手段が、始点側のノードに対して記憶されている通過回数の暫定値と終点側のノードに与えられて記憶されている前記最小通過回数とを比較し、どちらか大きい方の値を、終点側のノードに対する通過回数の暫定値として決定し、前記ノード通過回数管理手段が当該ノードに対して決定された通過回数の暫定値を前記記憶手段に記憶し、前記ルートノード通過回数決定手段が、終点側のノードに与えられて記憶されている前記最小通過回数の方が大きく、かつ、当該隣り合うノードの始点側ノードに係り前記記憶手段に記憶されている前記共用通過回数の値が1以上であれば、前記共用通過回数管理手段に対して、終点側のノードに与えられて記憶されている前記最小通過回数から始点側のノードに対して記憶されている通過回数の暫定値を差し引いた差分だけ前記共用通過回数の値を減算するように指示し、前記共用通過回数管理手段が、前記指示に従う。
そして、ノード通過回数決定プログラムは、前記有向グラフにおいて始点から終点に向けてのマージがある場合、前記ルートノード通過回数決定手段が、マージ前の各ノードに対して記憶されている通過回数の暫定値の和とマージ後のノードに与えられて記憶されている前記最小通過回数とを比較し、比較の結果、マージ前の各ノードの通過回数の暫定値の和がマージ後のノードに与えられた前記最小通過回数よりも小さければ、マージ後のノードに与えられた前記最小通過回数をマージ後のノードに対する通過回数の暫定値として決定し、前記ノード通過回数管理手段が当該ノードに対して決定された通過回数の暫定値を前記記憶手段に記憶し、比較の結果、マージ前の各ノードの通過回数の暫定値の和がマージ後のノードに与えられた前記最小通過回数以上であれば、マージ前の各ノードの通過回数の暫定値の和をマージ後のノードに対する通過回数の暫定値として決定すると共に、マージ前の各ノードにおいて前記共用通過回数が共用されていた場合には当該共用されている共用通過回数を削除するように前記共用通過回数管理手段に対して指示し、前記共用通過回数管理手段が前記指示に従う。
そして、ノード通過回数決定プログラムは、前記トレースバック手段が、前記有向グラフにおいて隣り合うノード間に終点から始点に向けての分岐がない場合に、終点側のノードに対して記憶されている通過回数の暫定値をそのまま確定値として決定し、前記終点側のノードに対する通過回数の確定値と同じ値を、始点側のノードに対する通過回数の確定値として決定する。
そして、ノード通過回数決定プログラムは、前記トレースバック手段が、前記有向グラフにおいて終点から始点に向けての分岐がある場合に、分岐前のノードに対して記憶されている通過回数の暫定値をそのまま確定値として決定し、前記分岐前のノードに対する通過回数の確定値を、分岐後の各ノードに対して記憶されている通過回数の暫定値の和で除した比率を求め、前記求めた比率を、分岐後の各ノードに対して記憶されている通過回数の暫定値に掛けた値を、分岐後の各ノードに対する通過回数の確定値として決定する。
そして、ノード通過回数決定プログラムは、前記トレースバック手段が、前記有向グラフにおいて終点から始点に向けてのマージがある場合に、マージ前の各ノードに対して記憶されている通過回数の暫定値の和を、マージ後のノードに対する通過回数の確定値として決定し、前記ノード通過回数管理手段が前記有向グラフの各ノードに対して決定された通過回数の確定値を前記記憶手段に記憶することとした。
Further, the node passage number determination program according to claim 2 , when there is a branch from the start point to the end point in the directed graph, the root node passage number determination means is given to each node after branching and stored. The minimum number of passages is determined as a provisional value of the number of passages for each node after branching, and the node passage number management means stores the provisional value of the number of passages determined for the node in the storage means. The route node passage number determining means compares the provisional value of the passage number stored for the node before branching with the sum of the provisional value of the passage number stored for each node after branching. If the provisional value of the number of passages of the node before branching is larger, the shared number-of-passage management means determines the number of passages of each node after branching from the provisional value of the number of passages of the node before branching The difference obtained by subtracting the sum of the provisional values of instructed to hold in the storage means as the common number of passes according to the branch, the shared passage count management means, according to the instruction.
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または請求項に係る発明によれば、有向グラフにおいて、始点から終点に向けて、各ノードに与えられた最小通過回数を利用してルートノードの通過回数を最小にするように各ノードの通過回数を暫定的に決定し、有向グラフの終点でルートノードの通過回数を確定した後、終点から始点に向けてトレースバックすることにより、各ノードでの通過回数を確定していくことができる。したがって、請求項1または請求項に係る発明によれば、シンプレックス法のように条件式を記述する必要がなく、有向グラフにおけるノードの通過回数を解として安定に求め、かつ、通過回数を決定する処理の処理時間を低減することができる。 According to the invention according to claim 1 or claim 2 , in the directed graph, each node is configured to minimize the number of times the route node passes from the start point to the end point using the minimum number of passes given to each node. After tentatively determining the number of times of passing, and determining the number of times the route node passes at the end point of the directed graph, the number of times of passing at each node can be determined by tracing back from the end point to the starting point. . Therefore, according to the invention according to claim 1 or 2 , there is no need to describe a conditional expression as in the simplex method, and the number of times of passage of a node in a directed graph is stably obtained as a solution, and the number of times of passage is determined. The processing time of processing can be reduced.

請求項1または請求項2に係る発明によれば、始点側のノードの通過回数と終点側のノードに与えられた最小通過回数のうち、どちらか大きい方の値を、終点側のノードの通過回数として暫定的に決定することで、有向グラフにおいて隣り合うノード間に始点から終点に向けての分岐がない場合に、ルートノードの通過回数を最小にすることができる。したがって、ノード通過回数を決定するための処理時間を確実に低減できる。 According to the invention according to claim 1 or claim 2 , the larger value of the number of times of passage of the node on the start point side and the minimum number of times of passage given to the node on the end point side is passed through the node on the end side. By tentatively determining the number of times, the number of times the route node passes can be minimized when there is no branch from the start point to the end point between adjacent nodes in the directed graph. Therefore, it is possible to reliably reduce the processing time for determining the number of node passages.

請求項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 claim 1 or claim 2 , whichever is greater depends on the magnitude relationship between the sum of the number of passes of each node before merging and the minimum number of passes given to the node after merging. By tentatively determining the value as the number of passes through the nodes after merging, in the directed graph, using the minimum number of passes given to each node from the start point to the end point, the number of passes through the root node is minimized. Thus, the number of times each node passes can be provisionally 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 claim 1 or claim 2 , after determining to minimize the number of times the route node passes at the end point of the directed graph, when tracing back, whether or not there is a branch from the end point to the start point and Depending on the presence or absence of merging, the number of passes through each node connecting the root nodes can be determined. Therefore, it is possible to reliably reduce the processing time for determining the number of node passages.

以下、図面を参照して本発明の実施形態に係るノード通過回数決定装置および音声合成用読上げ文章生成装置を実施するための最良の形態(以下「実施形態」という)について詳細に説明する。   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 database creation system 1 includes a speech synthesis read-out sentence generation device 2 and a speech synthesis database creation device 4.

(音声合成用読上げ文章生成装置)
音声合成用読上げ文章生成装置2は、音声合成装置6が合成音声を生成するために用いる音声データを集めた音声合成用データベース5を作成するために文章として読み上げられるテキストデータを示す音声合成用読上げ文章を生成するものであって、図1に示すように、ノード通過回数決定装置10と、読上げ文章構築装置20とを備えることとした。
(Reading text generator for speech synthesis)
The text-to-speech text generator 2 is a text-to-speech text that indicates text data to be read as text to create a text-to-speech database 5 that is a collection of voice data used by the voice synthesizer 6 to generate synthesized speech. A sentence is generated, and as shown in FIG. 1, a node passage frequency determination device 10 and a reading sentence construction device 20 are provided.

ノード通過回数決定装置10は、ノードとエッジとを備えた有向グラフと、その有向グラフにおけるノードに与えられた最小通過回数とを入力として受け付け、ノードにおける通過回数を決定し、読上げ文章構築装置20に出力するものである。なお、詳細は後記する。   The node passage number determination device 10 accepts a directed graph having nodes and edges and the minimum number of passages given to the node in the directed graph as inputs, determines the number of passages in the node, and outputs the result to the reading text construction device 20 To do. Details will be described later.

読上げ文章構築装置20は、有向グラフの各ノードに置換可能な語句を割り当て、割り当てられた語句を有向グラフの始点から終点に向けて接続することで音声合成用読上げ文章(テキストデータ)を構築するものである。このために、読上げ文章構築装置20は、ノード通過回数決定装置10に入力される有向グラフにおけるノードで示される内容としての語句のリスト(テキストデータ)と有向グラフとを入力として受け付けると共に、ノード通過回数決定装置10で決定されたノードにおける通過回数を取得する。構築された音声合成用読上げ文章(テキストデータ)を示す原稿は、図示しない表示装置やプリンタ等の出力装置により音声合成用読上げ文章生成装置2から出力される。   The reading text construction device 20 assigns replaceable words to each node of the directed graph, and constructs a text-to-speech reading text (text data) by connecting the assigned words from the start point to the end point of the directed graph. is there. For this purpose, the reading text construction device 20 accepts as input a list of words (text data) and the directed graph as the contents indicated by the nodes in the directed graph input to the node passage number determination device 10, and determines the number of node passages. The number of times of passage at the node determined by the device 10 is acquired. A document indicating the constructed text-to-speech read-out text (text data) is output from the text-to-speech read-out text generation device 2 by an output device such as a display device or a printer (not shown).

音声合成用データベース作成装置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 text generation device 2 with the microphone 3 and stores the speech data as speech synthesis database 5 in a storage means (not shown) such as a hard disk. Remember. Thus, for example, when the speech synthesizer 6 receives input of text data for speech synthesis that designates synthesized speech, the speech synthesizer 6 refers to the speech synthesis database 5 and connects the designated speech data to synthesize speech. Can be output from the speaker 7.

[ノード通過回数決定装置の構成]
図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 number determination device 10 determines the number of passages of the root node of the directed graph and the number of passages of each node for the directed graph in which the minimum number of passages is given to each node. ), A storage device (storage means) such as a memory or a hard disk, an input device for detecting input of information from the outside, such as a mouse or a keyboard, a computer having an interface device, etc., and an installation on this computer Program.

(有向グラフ)
ここで、ノード通過回数決定装置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 number determination device 10 will be described with reference to FIG. FIG. 3 is an explanatory diagram of a directed graph input to the node passage number determination device according to the embodiment of the present invention, where (a) is an example of the structure of the directed graph, and (b) is a text assigned to the node of the directed graph. An example of data is shown respectively. As shown in FIG. 3A, the directed graph includes a plurality of nodes N1 to N10 that relay between a start point (START node) indicating the root node of the graph and a single end point (END node) of the graph, and a node N It is a graph of the structure comprised from the edge E which can branch and merge in between. A directed graph has a certain orientation. In FIG. 3A, the direction of the directed graph is represented by the arrow ahead of the edge E, and the START node (start point) side is “front” of the directed graph, and the END node (end point) side is “rear” of the directed graph. I decided to call it. In addition, a node other than a START node indicating a root node and an END node indicating a single end point of a directed graph are simply referred to as nodes, and expressed as N unless otherwise distinguished. Note that the term “graph” also refers to a directed graph.

図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 sentence construction apparatus 20.

(各部の構成)
図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 frequency determination apparatus 10 will be described.
The node passage frequency determination device 10 is configured such that the hardware device and software cooperate to control the hardware resources described above by a program, thereby allowing the input unit 30, the storage unit 40, and the processing illustrated in FIG. The unit 50 is realized.

入力部(入力手段)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 input unit 30 is stored in the storage unit 40. In the present embodiment, the input unit 30 also accepts the list L as an input (see FIG. 2). The list L may be configured to be input directly to the reading text construction device 20 (see FIG. 1).

記憶部(記憶手段)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 input unit 30, calculation processing results, a program for causing the processing unit 50 to function, and the like. The storage unit 40 stores, for example, the directed graph 41, the minimum number of passages 42, and the list 43 as information input from the input unit 30, and the node passage number 44 and the common passage number 45 are obtained as calculation processing results. Remember.

なお、図2において、記憶部40に示した有向グラフ41、最小通過回数42、リスト43、ノード通過回数44および共用通過回数45は、情報の種類を区別するために1つずつ符号を付して記述されているが、各情報が1つずつ存在しているものではなく、複数の情報を総称している。ただし、共用通過回数45については単数の場合もありうる。また、有向グラフ41、最小通過回数42、リスト43、ノード通過回数44、共用通過回数45は、ノードNの識別情報を介して相互に関連している。   In FIG. 2, the directed graph 41, the minimum number of passages 42, the list 43, the number of node passages 44 and the number of common passages 45 shown in the storage unit 40 are assigned one by one to distinguish the types of information. Although described, each piece of information does not exist one by one, but a plurality of pieces of information are generically named. However, the number of shared passages 45 may be singular. The directed graph 41, the minimum number of passages 42, the list 43, the number of node passages 44, and the number of common passages 45 are related to each other via the identification information of the node N.

有向グラフ41は、例えば、ノードNの識別情報や個数、分岐情報やマージ情報、エッジの情報を含む。
最小通過回数42は、有向グラフの各ノードNにそれぞれ与えられており、有向グラフの構造を維持したままSTARTノード(始点)からENDノード(終点)までを接続する経路においてノードNで示される内容を置換して各ノードNを接続するときに各ノードNをそれぞれ通過する回数の最小値を示す。
The directed graph 41 includes, for example, identification information and the number of nodes N, branch information and merge information, and edge information.
The minimum number of passes 42 is given to each node N of the directed graph, and the content indicated by the node N is replaced in the path connecting the START node (start point) to the END node (end point) while maintaining the structure of the directed graph. Thus, the minimum number of times of passing through each node N when connecting each node N is shown.

リスト43は、有向グラフの各ノードNにそれぞれ与えられており、例えば、図4に例示した構造を有する。
ノード通過回数44は、有向グラフの各ノードNにそれぞれ与えられており、処理部50の演算結果としての暫定値または確定値を表す。
共用通過回数45は、有向グラフにおいてノードNの分岐があって後記する特定の条件が満たされた場合に、処理部50の演算結果としてメモリされて利用される通過回数の所定値を表す。
The list 43 is given to each node N of the directed graph, and has, for example, the structure illustrated in FIG.
The node passing count 44 is given to each node N of the directed graph, and represents a provisional value or a definite value as a calculation result of the processing unit 50.
The common passage number 45 represents a predetermined value of the number of passages that are stored and used as a calculation result of the processing unit 50 when there is a branch of the node N in the directed graph and a specific condition described later is satisfied.

処理部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 start determination unit 51, the branch merge determination unit 52, the route node passage count determination unit 53, and a node A passage number management unit 54, a shared passage number management unit 55, and a traceback unit 56 are provided.

分岐開始判定部(分岐開始判定手段)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 count determination unit 53.
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 count determination unit 53.

ルートノード通過回数決定部(ルートノード通過回数決定手段)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 number determination unit 53 determines the state of the branch from the START node to the END node in the directed graph obtained from the determination result of the branch start determination unit 51 and the determination result of the branch merge determination unit 52. Then, the minimum number of passes given to each node N in the directed graph is acquired, and based on these, a provisional value of the number of passes of each node N is determined. The route node passage frequency determination unit 53 differs in processing depending on the branch state from the START node to the END node in the directed graph. Details of processing of the route node passage number determination unit 53 will be described later with reference to a flowchart showing an operation of the node passage number determination device 10 and a specific example thereof.

ノード通過回数管理部(ノード通過回数管理手段)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 number determination unit 53 for the root node (START node), end point (END node), and each node N in the directed graph. A provisional value or a definite value of the number of passages determined by the traceback unit 56 is stored and managed in the storage unit 40 as the node passage number 44.

共用通過回数管理部(共用通過回数管理手段)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 passage 45 for sharing until the provisional number of times of passage of each node after branching and before and after merging of the branch is determined. It is held in the unit 40 and manages the increase / decrease in the number of shared passages 45. In the present embodiment, the shared passage number management unit 55 holds and increases / decreases the shared passage number 45 in the storage unit 40 according to an instruction from the route node passage number determination unit 53. When the shared pass count becomes 0 or negative as a result of the processing, the shared pass count manager 55 deletes (clears) the shared pass count. Details of the process of the shared pass count management unit 55 will be described later with reference to a flowchart showing the operation of the node pass count determining device 10 and its specific example.

トレースバック部(トレースバック手段)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 number determination unit 53, and sets the number of passages of the root node. While maintaining the minimum value, the number of times each node passes is sequentially determined from the END node (end point) of the directed graph toward the START node (start point). For this reason, the traceback unit 56 tentatively determines the state of the branch from the END node to the START node in the directed graph obtained from the determination result of the branch start determination unit 51 and the determination result of the branch merge determination unit 52. The number of times of passage of each node N determined as a correct value and the number of times of passage of the determined root node are acquired, and based on these, the determined value of the number of times of passage of each node N is determined. The trace back unit 56 has different processing depending on the branch state from the END node to the START node in the directed graph. Details of the processing of the traceback unit 56 will be described later with reference to a flowchart showing the operation of the node passage number determination device 10 and a specific example thereof.

なお、ノード通過回数決定装置10は、一般的なコンピュータを、前記した各手段(分岐開始判定部51、分岐マージ判定部52、ルートノード通過回数決定部53、ノード通過回数管理部54、共用通過回数管理部55およびトレースバック部56)として機能させるプログラムにより動作させることで実現することができる。このプログラム(ノード通過回数決定プログラム)は、通信回線を介して提供することも可能であるし、CD−ROM等の記録媒体に書き込んで配布することも可能である。   The node passage number determination device 10 uses a general computer as the above-described means (branch start determination unit 51, branch merge determination unit 52, route node passage number determination unit 53, node passage number management unit 54, shared passage). This can be realized by operating with a program that functions as the number management unit 55 and the trace back unit 56). This program (node passage frequency determination program) can be provided via a communication line, or can be written and distributed on a recording medium such as a CD-ROM.

[ノード通過回数決定装置の動作]
次に、図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 number determination device 10 will be described. 5 and 6 are flowcharts showing the overall operation of the processing unit of the node passage number determination device according to the embodiment of the present invention, and FIG. 7 is a flowchart showing details of the traceback processing shown in FIG. .

まず、図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 number determination device 10 starts processing from the START node of the directed graph by the route node passage number determination unit 53 and determines whether or not the END node has been reached (step S1). If the END node has not been reached (step S1: No), the route node passage number determination unit 53 determines that the branch from the START node to the END node is present in the current status based on the determination result of the branch start determination unit 51. It is determined whether or not there is (step S2). If the current status does not indicate that there is no branch (step S2: No), the route node passage count determination unit 53 determines whether the current status is a branch start based on the determination result of the branch start determination unit 51. Is discriminated (step S3). If the current status is not the state of branch start (step S3: No), the route node passage number determination unit 53 determines whether there is a branch merge in the current status based on the determination result of the branch merge determination unit 52. Is discriminated (step S4). If it is determined that there is no branch merge in the current status (step S4: No), it is not in any of the three states “branch”, “merge”, or “no branch” in the current status. Since it is the determination result, the node passing number determination device 10 ends in error. Hereinafter, each state that is No in step S1 and does not end in error will be described individually.

<隣り合うノード間で分岐がない状態>
前記したステップ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 number determination unit 53 determines that the “minimum number of passages given to the subsequent node (next node)” is “previous It is determined whether or not it is smaller than the “number of times node (current node) passes (provisional value)” (step S5). When the “minimum number of passages given to the next node” is smaller than the “number of passages of the current node” (step S5: Yes), the node passage number determination device 10 uses the root node passage number determination unit 53 to determine the larger number. The value “number of passes through the current node” is determined as a provisional value of “number of passes through the next node” (step S6), and the process returns to step S1. On the other hand, when the “minimum number of passes given to the next node” is equal to or greater than the “number of passes of the current node” in step S5 described above (step S5: No), the node pass number determination device 10 The determination unit 53 determines the “minimum number of passes given to the next node”, which is the larger value, as a provisional value of the “number of passes of the next node” as it is (step S7), and subsequently, step S12 described later. As a result of the process, it is determined whether or not the shared passage count relating to the current node is held in the storage unit 40 (step S8). When the number of shared passages related to the current node is not held (step S8: No), the node passage number determination device 10 returns to step S1. On the other hand, when the shared pass count related to the current node is held (step S8: Yes), the route node pass count determining unit 53 calculates the difference between the “next node pass count” and the “current node pass count”. The shared pass count management unit 55 is instructed to subtract from the shared pass count associated with the current node. As a result, the node passage number determination device 10 uses the shared passage number management unit 55 to calculate the “next node passage number” and the “current node passage number” from the shared passage number related to the current node stored in the storage unit 40. Is subtracted (step S9), and the process returns to step S1.

つまり、ルートノード通過回数決定部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 number determination unit 53 determines that the “node on the START node side” as shown in steps S5 to S9. And the “minimum number of passes given to the node on the END node side” are compared, and the larger value is provisionally determined as the “number of passes of the node on the END node side”, If the “minimum number of passes given to the node on the END node side” is larger and the shared pass count relating to the start side node of the adjacent node is held in the storage unit 40, the shared pass count management This is the difference obtained by subtracting “the number of times of passage of the node on the START node side” from “the minimum number of passages given to the node on the END node side” An instruction to subtract the value of the shared pass count 45.

<隣り合うノード間で分岐がある状態>
前記したステップ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 number determination unit 53 sets the “minimum passage number given to each node after branching”. It is determined as a provisional value of “the number of passes through each node after branching” (step S10), and “the sum of the minimum number of passes given to each node after branching” is passed through the current node (node before branching). It is determined whether or not it is smaller than the “number of times (provisional value)” (step S11). When the “number of passes through the current node” is equal to or greater than “the sum of the minimum number of passes given to each node after branching” (step S11: No), the node pass number determination device 10 returns to step S1. On the other hand, when the “sum of the minimum number of passes given to each node after branching” is smaller than the “number of passes of the current node” (step S11: Yes), the node pass count determination device 10 By the determining unit 53, “the sum of the minimum number of passages given to each node after branching (total number of passages of each node of the branch)” and “the number of passages of the current node (node before branching) (provisional value)” The common pass count management unit 55 is instructed to set the difference to the common pass count related to the branch. Thereby, the node passage number determination device 10 uses the shared passage number management unit 55 to set the difference between the “total number of passages of each node of the branch” and the “passage number of the current node” as the shared passage number of the branch. It preserve | saves at the memory | storage part 40 (step S12), and returns to step S1.

つまり、ルートノード通過回数決定部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 number determination unit 53 determines that “the minimum given to each node after branching” as shown in steps S10 to S12. The number of passes is tentatively determined as “the number of passes of each node after branching”, and “the number of passes of the node before branching” and “the sum of the number of passes of the node after branching” are compared, If “the number of passages of the node before branching” is larger, the difference obtained by subtracting “the sum of the number of passages of the node after branching” from “the number of passages of the node before branching” with respect to the shared passage number management unit 55 Is stored in the storage unit 40 as the number of shared passages related to the branch.

<隣り合うノード間でマージがある状態>
前記したステップ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 number determination unit 53 determines that “the number of passages of each branch node (each node before merging). It is determined whether or not “sum of (provisional value)” is smaller than “minimum number of passes given to the node after merging” (step S13). When the “sum of the number of passes of the nodes of each branch” is smaller than the “minimum number of passes given to the node after merging” (step S13: Yes), the root node passage number determination unit 53 determines that “the node after merging” Is determined as a provisional value of the “number of passes of nodes after merging” (step S14), and the process returns to step S1. On the other hand, when the “sum of the number of passages of each branch node” is equal to or greater than the “minimum number of passages given to the merged node” (step S13: No), the root node passage number determination unit 53 The sum of the number of passes through the nodes at the branch is determined as a provisional value of the number of passes through the nodes after merging (step S15). Subsequently, the result of the process at step S12 is shared by each node before merging. It is determined whether or not the shared pass count is held in the storage unit 40 (step S16). When the number of shared passages shared in each node before merging is not held (step S16: No), the node passage number determination device 10 returns to step S1. On the other hand, when the number of shared passages shared in each node before merging is held (step S16: Yes), the root node passage number determination unit 53 deletes the number of shared passages shared in each node before merging. Instruct the shared passage number management unit 55 to do so. Thereby, the node passage number determination device 10 deletes (clears) the common passage number stored in the storage unit 40 (the common passage number shared in each node before merging) by the common passage number management unit 55 ( Step S17), returning to step S1.

つまり、ルートノード通過回数決定部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 number determination unit 53 determines that “the sum of the number of passages of each node before merging” as shown in steps S13 to S17. ”And“ the minimum number of passes given to the node after merging ”, and as a result of the comparison,“ the sum of the number of passes of each node before merging ”is“ the minimum number of passes given to the node after merging ” If it is smaller than this, “the minimum number of passes given to the node after merging” is provisionally determined as “the number of passes of the node after merging”. On the other hand, as a result of the comparison, if the “sum 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 root node passage number determination unit 53 The sum of the number of passes of each node is tentatively determined as the number of passes of the node after merging, and if the number of shared passes is shared in each node before merging, the shared pass that is shared The shared pass count management unit 55 is instructed to delete the count.

<トレースバック処理>
次に、ステップ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 number determination unit 53 determines that the process has started from the START node of the directed graph and has reached the END node (step S1: Yes), the node passage number determination device 10 uses the traceback unit 56 to trace Back processing is performed (step S20). Reference is now made to FIG. The node passage number determination device 10 starts processing from the END node of the directed graph by the traceback unit 56 and determines whether or not the START node has been reached (step S21). When the START node has not been reached (step S21: No), the traceback unit 56 determines whether or not there is a branch from the END node to the START node in the current status (step S22).

現在のステータスにおいて分岐がない場合(ステップS22:Yes)、トレースバック部56は、「後のノード(ENDノード側のノード)の通過回数(暫定値)」を確定し、確定した「後のノードの通過回数(確定値)」を、「前のノード(STARTノード側のノード)の通過回数(確定値)」として決定する(ステップS23)。   When there is no branch in the current status (step S22: Yes), the traceback unit 56 determines the “number of passages (provisional value) of the subsequent node (the node on the END node)” and determines the “next node Is determined as “passage count (determined value) of the previous node (node on the START node side)” (step S23).

前記したステップ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 traceback unit 56 determines whether the current status is branch start based on the determination result of the branch start determination unit 51. It is determined whether or not (step S24). When it is the start of branching (step S24: Yes), the traceback unit 56 determines the “number of passages of the subsequent node (END node side node) (provisional value)” and the determined “number of passages of the subsequent node” (Determined value) "is divided by" sum of the number of passes (provisional value) of each branch node (each node on the START node side) ", and" the number of passes of each branch node (provisional value) " The result obtained by multiplying the ratio by "" is determined as a new number of passages (determined value) (step S25).

前記したステップ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 traceback unit 56 has a branch merge in the current status based on the determination result of the branch merge determination unit 52. Is determined (step S26). When there is a branch merge in the current status (step S26: Yes), the traceback unit 56 sets “the sum of the number of times of passage (determined value) of the nodes (end node side nodes) of each branch” to “the previous node It is determined as “the number of times of passage (determined value) of (START node side node)” (step S27).

前記したステップ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 number determination device 10 ends in error. When the START node is reached in step S21 described above (step S21: Yes), the node passage number determination device 10 ends the process.

つまり、トレースバック部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 traceback unit 56, as shown in step S23, “the number of passages of the node after (END node side)” And the same value as the determined “number of passes through the subsequent node” is determined as “the number of passes through the previous (START node side) node”.
Further, when there is a branch from the END node to the START node in the directed graph, the traceback unit 56 divides by “the sum of the provisional number of passes of each node after the branch” as shown in step S25. The value obtained by multiplying the obtained ratio by the “provisional number of passes of each node after branching” is determined as “number of passes of each node after branching”.
Further, when there is a merge from the END node to the START node in the directed graph, the traceback unit 56 indicates that “the sum of the number of passes of each branch node (each node before merging) as shown in step S27. "Is determined as" the number of times the previous node (node after merging) has passed ".

[ノードの通過回数の決定方法の具体例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.

Figure 0005174574
Figure 0005174574

また、図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 graph 41 stored in the storage unit 40 and the minimum number of passages 42 in association with each other. In this sense, the node shape is not a circle but a double concentric circle. Assume that the association between the directed graph 41 and the minimum number of passages 42 at this time is expressed as a formula (2) using a notation similar to the formula (1) described above. However, in Expression (2), the corresponding minimum number of times of passage is described in the position of the node, not the node identifier. That is, [100] indicates that the minimum number of passages of the node at the position is 100 times.

Figure 0005174574
Figure 0005174574

また、図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 graph 41 stored in the storage unit 40 and the number of node passages 44 in association with each other while corresponding to the structure of the graph. is there. That is, the shape of the node is not a circle but a block in the sense of a storage area (memory) corresponding to the node of the storage unit 40. FIG. 8B shows processing by the route node passage number determination unit 53. Therefore, the provisional value X of the number of times the node has passed is stored in the memory indicated by the block in FIG. 8B, and the arrow between the blocks in FIG. 8B indicates the processing direction. Further, FIG. 8C shows processing by the traceback unit 56. Therefore, a fixed value Y of the number of times the node has passed is stored in the memory indicated by the block in FIG. The arrows between the blocks in FIG. 8C indicate the processing direction.

<ルートノード通過回数決定部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 Number Determination Unit 53>
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 number determination unit 53 first sets “0” in the memory (node passage number 44) corresponding to the START node as shown in FIG. 8B. This is the number of passes through the current node. In the memory X1 corresponding to the node N1, which is the next node, “100” is set as the number of passes. Subsequently, branching starts. The sum of the minimum number of passes given to each node after branching is “600 + 180 = 780”, which is larger than “the number of passes of the current node (100)”. Therefore, at each branch, the given minimum number of passes is held as the number of passes. Here, “600” is set as the number of passes in the memory X2 corresponding to the node N2, and “180” is set as the number of passes in the memory X4 corresponding to the node N4.

分岐の一方であるノード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 number determination unit 53 determines the number of passages of each node so as to minimize the number of passages of the root node, the “number of passages before branching” does not match the “number of passages after branching”. That is inconvenient. Ideally, it is preferable that the number of passages of each branch can be determined as “99 + α”, “7 + β”, “103 + γ”. However, the route node passage number determination unit 53 can eliminate the mismatch in the number of passages before and after branching by using the shared passage number as an undetermined value. The route node passage number determination unit 53 determines a provisional value of the number of node passages, and does not need to individually specify α, β, and γ, and can be managed collectively.

次に、図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 passage number 45 is subtracted by the difference (100−99 = 1) in the passage number determined as the provisional value.

次に、図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 common passage number 45. Immediately before this, since the shared passage count 45 was “570”, by subtracting “573”, the value of the shared passage count becomes negative (−3). Therefore, the memory of the number of shared passages related to each branch is discarded. As a result, at this time, α 1 , β 1 , and γ themselves are discarded, and finally the number of passages determined for each node of each branch (the number of passages of nodes 44 is held in the memory of the storage unit 40) Are “100”, “580”, and “103”. In the last branch merge, the sum of the provisional number of passes of the nodes of each branch (100 + 580 + 103 = 783) is larger than the minimum number of passes (100) given to the node N12. Therefore, the memory X12 corresponding to the node N12 holds “783” as the number of passages as shown in FIG. 8B. Finally, “783” is set in the memory corresponding to the END node. As a result, “783” is determined as the minimum value of the number of times of passage of the root node (calculated minimum number of times of passage).

<トレースバック部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 Trace Back Unit 56>
Here, reference is made to FIG. 8A to FIG. 8C (refer to FIG. 2 and FIG. 7 as appropriate).
The traceback unit 56 first sets the number of passages “783” determined at the END node as the number of times of passage (determined value) of the current node. Then, “783” is set as the number of passes in the memory Y12 corresponding to the node N12 before the END node. In the next three branches, the sum of the number of passages (provisional values) of the nodes N8, N10, and N11 after the branch is the minimum as shown in FIG. Let That is, the values stored in the memories X8, X10, and X11 shown in FIG. 8B are set in the memory Y8 corresponding to the node N8, the memory Y10 corresponding to the node N10, and the memory Y11 corresponding to the node N11. The Among the branches, “100” is set as the number of passes in the memory Y7 corresponding to the node N7 before the node N8, and similarly, the number of passes is stored in the memory Y9 corresponding to the node N9 before the node N10. “580” is set.

続いて分岐マージになるため、マージ前の通過回数の和(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 traceback unit 56 obtains a ratio of 783 / (600 + 180), and multiplies the number of passages (provisional value) of the nodes N3 and N4 after branching by this ratio. As a result, “602” is set as the number of passes in the memory Y3 corresponding to the node N3, and similarly “181” is set as the number of passes in the memory Y5 corresponding to the node N5. It is also possible to obtain the rest in order by multiplying the ratios one by one to make an integer and subtracting the result from the total value. Next, the value of the memory Y2 corresponding to the node N2 before the node N3 is determined as the value of the memory Y3 (602), and the value of the memory Y4 corresponding to the node N4 before the node N5 is the value of the memory Y5 ( 181). Since branch merge is subsequently performed, the sum of the number of passes before the merge (602 + 181 = 783) is determined as the number of passes after the branch merge. That is, “783” is set as the number of passes in the memory Y1 corresponding to the node N1. Finally, “783” is set in the memory corresponding to the START node. As a result, “783” is determined as the number of times the START node has passed. This is the number of times the route node has already been determined.

[ノードの通過回数の決定方法の具体例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 Number Determination Unit 53>
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 passage number 45 in the memory of the storage unit 40. Immediately before this, since the shared passage count 45 was “570”, the value of the shared passage count becomes “497” by subtracting “73”.

次に最後のマージがある。このマージを考慮した時点で、あらためて、マージ前の各分岐のノード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 passage number 45 remains in the memory of the storage unit 40 in the state before merging, the number of passages of the node N8 can be calculated based on the viewpoint as the state before merging. It is tentatively determined as “100 + α 1 ”, the number of passes through the node N 10 as “80 + β 2 ”, and the number of passes through the node N 11 as “103 + γ”. In the storage unit 40, α 1 , β 2 , and γ themselves are stored separately from “100, 80, 103”, respectively. In addition, α 1 , β 2 , and γ remain undecided, but are not obtained individually. This is because in the final branch merge, comparison is made between “the sum of the number of passes of each branch node (each node before merging)” and “the minimum number of passes given to the node after merging”. Note that “the sum of the number of times of passage of each branch node” is obtained by Expression (3).

(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 pass number 45 is deleted. To do. Finally, “780” is set in the memory corresponding to the END node. As a result, “780” is determined as the minimum value of the number of times of passage through the root node (calculated minimum number of times of passage).

<トレースバック部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 Trace Back Unit 56>
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 traceback unit 56 first sets the number of passes “780” determined at the END node as the number of passes (determined value) of the current node. Then, “780” is set as the number of passes in the memory Y12 corresponding to the node N12 before the END node.

次の3分岐では、分岐後の各ノードN8,N10,N11に対応したメモリX8、X10,X11に記憶された通過回数(暫定値)の和(100+80+10)は、共用通過回数を含んでいない。つまり、通過回数(暫定値)は、ノード通過回数44として記憶部40のメモリに保持した値のみである。したがって、通過回数(暫定値)の和(100+80+10)は、ノードN12に確定された通過回数(780)よりも小さい。そのため、トレースバック部56は、780/(100+80+10)の比率を求め、分岐後の各ノード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 node passage 44. Therefore, the sum (100 + 80 + 10 3 ) of the number of passages (provisional value) is smaller than the number of passages (780) determined for the node N12. Therefore, the traceback unit 56 obtains a ratio of 780 / (100 + 80 + 10 3 ) and multiplies the number of passages (provisional value) of each node N8, N10, N11 after branching by this ratio. As a result, “276” is set as the number of passes in the memory Y8 corresponding to the node N8, “220” is set as the number of passes in the memory Y10 corresponding to the node N10, and the memory Y11 corresponding to the node N11. Is set to “284” as the number of passes. The subsequent processing can be performed in the same manner as in the first specific example except that the numerical values are different.

[シンプレックス法を適用する場合との比較]
具体的には、前記した式(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.

Figure 0005174574
Figure 0005174574

ここで、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 number determination device 10 of this embodiment, in the directed graph, the number of passages of the root node is calculated using the minimum number of passages given to each node from the START node toward the END node. By tentatively determining the number of passes of each node so as to minimize, the number of passes of the root node can be obtained. Then, after determining the number of passages of the root node at the END node of the directed graph, the node passage number determination device 10 determines the number of passages at each node by tracing back from the END node to the START node. be able to. Therefore, it is not necessary to describe a conditional expression as in the simplex method, and it is possible to stably obtain the number of times of passage of a node in the directed graph as a solution and reduce the processing time of the process for determining the number of times of passage.

また、本実施形態の音声合成用読上げ文章生成装置2は、ノード通過回数決定装置10を備えているので、有向グラフと、ノードで示される内容としての語句のリストLとの入力を受け付け、かつ、ルートノードおよび各ノードの通過回数の確定値を決定したときに、有向グラフの各ノードに置換可能な語句を割り当てることで音声合成用読上げ文章を構築することができる。その結果、音声合成用読上げ文章生成装置2は、有向グラフにおけるノードの通過回数を解として安定に求め、かつ、通過回数を決定する処理の処理時間を低減することができる。   In addition, since the speech synthesizing text generation device 2 of the present embodiment includes the node passage number determination device 10, the input of the directed graph and the phrase list L as the content indicated by the node is received, and When the fixed value of the root node and the number of passages of each node is determined, a text-to-speech read-out sentence can be constructed by assigning replaceable words to each node of the directed graph. As a result, the speech synthesizing text generation device 2 for speech synthesis can stably obtain the number of times of passage of the node in the directed graph as a solution, and can reduce the processing time of the processing for determining the number of times of passage.

以上、本発明の実施形態について説明したが、本発明は、この実施形態には限定されない。例えば、有向グラフとして図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).

Figure 0005174574
Figure 0005174574

この場合、エッジ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).

Figure 0005174574
Figure 0005174574

ただし、図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 node 7 is added. Since this edge E5 exists, it can be determined that there is a branch at the position of the node N3, or it can be determined that there is a merge. Can not.

本発明の実施形態に係るノード通過回数決定装置を備えた音声合成用データベース作成システムを模式的に示す構成図である。It is a block diagram which shows typically the database production system for speech synthesis provided with the node passage frequency determination apparatus which concerns on embodiment of this invention. 本発明の実施形態に係るノード通過回数決定装置およびそれを備えた音声合成用読上げ文章生成装置の構成を模式的に示すブロック図である。It is a block diagram which shows typically the structure of the node passage frequency determination apparatus which concerns on embodiment of this invention, and the text-to-speech generation apparatus for speech synthesis provided with the same. 本発明の実施形態に係るノード通過回数決定装置に入力される有向グラフの説明図であって、(a)は有向グラフの構造の一例、(b)は有向グラフのノードに割り当てられたテキストデータの一例をそれぞれ示している。It is explanatory drawing of the directed graph input into the node passage frequency determination apparatus which concerns on embodiment of this invention, Comprising: (a) is an example of the structure of a directed graph, (b) is an example of the text data allocated to the node of a directed graph Each is shown. 図3(b)に例示した有向グラフにおけるノードに対応する語句のリストの説明図であって、(a)はノードN1に対応するリストの一例、(b)はノードN4に対応するリストの一例をそれぞれ示している。FIG. 4B is an explanatory diagram of a list of words and phrases corresponding to a node in the directed graph illustrated in FIG. 3B, where FIG. 3A is an example of a list corresponding to the node N <b> 1, and FIG. 3B is an example of a list corresponding to the node N <b> 4; Each is shown. 本発明の実施形態に係るノード通過回数決定装置の処理部の全体動作(その1)を示すフローチャートである。It is a flowchart which shows the whole operation | movement (the 1) of the process part of the node passage frequency determination apparatus which concerns on embodiment of this invention. 本発明の実施形態に係るノード通過回数決定装置の処理部の全体動作(その2)を示すフローチャートである。It is a flowchart which shows the whole operation | movement (the 2) of the process part of the node passage frequency determination apparatus which concerns on embodiment of this invention. 図5に示したトレースバック処理の詳細を示すフローチャートである。6 is a flowchart showing details of the traceback process shown in FIG. 5. 本発明の実施形態に係るノード通過回数決定装置の処理の一例を示す説明図であって、(a)は有向グラフの各ノードに予め設定されたノードを通過するときの最小通過回数、(b)は有向グラフのSTARTノードからENDノードへ向けて決定された各ノードの暫定通過回数、(c)は有向グラフのENDノードからSTARTノードへ向けて確定された各ノードの通過回数をそれぞれ示している。It is explanatory drawing which shows an example of the process of the node passage frequency determination apparatus which concerns on embodiment of this invention, Comprising: (a) is the minimum passage frequency when passing the node preset to each node of a directed graph, (b) Is the provisional pass count of each node determined from the START node to the END node of the directed graph, and (c) is the pass count of each node determined from the END node to the START node of the directed graph. 図8(b)に示したメモリX6の値からメモリX12の値が決定されるまでの処理の遷移状態とそのときの共用通過回数をそれぞれ示している。The transition state of the process until the value of the memory X12 is determined from the value of the memory X6 shown in FIG. 8B and the number of shared passages at that time are respectively shown. 本発明の実施形態に係るノード通過回数決定装置の処理の他の一例を示す説明図であって、(a)は与えられた最小通過回数、(b)は暫定通過回数、(c)は各ノードの通過回数をそれぞれ示している。It is explanatory drawing which shows another example of the process of the node passage frequency determination apparatus which concerns on embodiment of this invention, Comprising: (a) is the provided minimum passage frequency, (b) is provisional passage frequency, (c) is each The number of times each node passes is shown. 図9(b)に示したメモリX6の値からメモリX12の値が決定されるまでの処理の遷移状態とそのときの共用通過回数をそれぞれ示している。The transition state of the process until the value of the memory X12 is determined from the value of the memory X6 shown in FIG. 9B and the number of shared passages at that time are shown. 有向グラフの構造の他の例をそれぞれ示している。Other examples of the structure of the directed graph are shown.

符号の説明Explanation of symbols

1 音声合成用データベース作成システム
2 音声合成用読上げ文章生成装置
4 音声合成用データベース作成装置
5 音声合成用データベース
6 音声合成装置
10 ノード通過回数決定装置
20 読上げ文章構築装置
30 入力部(入力手段)
40 記憶部(記憶手段)
41 有向グラフ
42 最小通過回数
43 リスト
44 ノード通過回数
45 共用通過回数
50 処理部
51 分岐開始判定部(分岐開始判定手段)
52 分岐マージ判定部(分岐マージ判定手段)
53 ルートノード通過回数決定部(ルートノード通過回数決定手段)
54 ノード通過回数管理部(ノード通過回数管理手段)
55 共用通過回数管理部(共用通過回数管理手段)
56 トレースバック部(トレースバック手段)
DESCRIPTION OF SYMBOLS 1 Speech synthesis database creation system 2 Speech synthesis reading sentence generation device 4 Speech synthesis database creation device 5 Speech synthesis database 6 Speech synthesis device 10 Node passage number determination device 20 Reading sentence construction device 30 Input unit (input means)
40 storage unit (storage means)
41 Directed graph 42 Minimum number of passages 43 List 44 Number of node passages 45 Number of common passages 50 Processing unit 51 Branch start determination unit (branch start determination means)
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 .
JP2008196952A 2008-07-30 2008-07-30 Node passage count determination apparatus and program for graph Active JP5174574B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11282683A (en) * 1998-03-26 1999-10-15 Omron Corp Agent system

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