説明

グラフ統合装置及びそのプログラム

【課題】本発明は、複数の統合グラフを扱うことができ、演算量が少なく、簡易な構成のグラフ統合装置を提供することを目的とする。
【解決手段】グラフ統合装置1は、入力要素を示すノードとノード間において分岐及び合流が可能な示すエッジとで構成された入力グラフGが複数入力され、入力グラフGを統合するものであって、グラフ入力手段11と、入力グラフ記憶手段12と、DPマッチング法によって、入力グラフGの類似度を算出する類似度算出手段13と、類似度に基づいて、入力グラフGが類似するか否かを判定する類似判定手段14と、入力グラフGが類似する場合、入力グラフGを統合するグラフ統合手段15と、入力グラフGが類似しない場合、入力グラフGを新たな統合グラフとして追加するグラフ追加手段16と、統合グラフ記憶手段17と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、入力要素を示すノードと、ノード間の接続、ノード間の分岐又はノード間の合流を示すエッジとで構成された入力グラフを統合するグラフ統合装置及びそのプログラムに関する。
【背景技術】
【0002】
従来から、例えば、音声認識の際、音声信号を音素、単語等の認識候補のグラフとしたときに、このグラフを複数の言語モデルに基づいて認識することで、音声認識の精度を向上させることが行われている。
【0003】
ここで、複数の言語モデルからより適切な認識結果を生成するために、このグラフを統合することが行われている(特許文献1参照)。例えば、特許文献1に記載の発明は、このグラフから不要な経路を減らして、このグラフを統合するものである。
【特許文献1】特開2003−15685号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかし、特許文献1に記載の発明は、3個以上のグラフを統合する場合、これらグラフを組み合わせた回数、グラフを比較する必要があり、演算量が多くなってしまう。例えば、特許文献1に記載の発明では、n個のグラフを統合するために、n×(n−1)/2回、グラフを比較する必要があり、利便性に欠ける。また、従来技術では、複数のグラフを1個のグラフに統合するのみで、2以上のグラフに統合することができなかった。
【0005】
そこで、本発明は、複数の統合グラフを扱うことができ、演算量が少なく、簡易な構成のグラフ統合装置及びそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
前記した課題を解決するため、請求項1に係るグラフ統合装置は、入力要素を示すノードとノードにおいて分岐及び合流が可能なエッジとで構成された入力グラフが複数入力され、これら入力グラフを統合するグラフ統合装置において、類似度算出手段と、類似判定手段と、グラフ統合手段と、グラフ追加手段と、を備える構成とした。
【0007】
かかる構成において、グラフ統合装置は、類似度算出手段によって、DPマッチング法を用いて、入力された複数の入力グラフのノードの一致と挿入誤りと欠落誤りと代替誤りとをDPマッチングの結果として求める。そして、グラフ統合装置は、類似度算出手段によって、このDPマッチングの結果を予め設定された関数に代入して入力グラフ同士の類似度を算出し、求めたDPマッチングの結果と、算出した入力グラフ同士の類似度を出力する。
【0008】
また、グラフ統合装置は、類似判定手段によって、類似度算出手段から入力された入力グラフ同士の類似度が予め設定された閾値以上の場合、入力グラフ同士が類似すると判定する。さらに、グラフ統合装置は、類似判定手段によって、類似度算出手段から入力された入力グラフ同士の類似度が閾値未満の場合、入力グラフ同士が類似しないと判定し、この類似判定結果を出力する。これによって、グラフ統合装置は、類似性の低い入力グラフ同士を統合してしまう事態を低減できる。
【0009】
類似判定手段から入力された類似判定結果において、入力グラフ同士が類似する場合、グラフ統合装置は、グラフ統合手段によって、類似度算出手段から入力されたDPマッチングの結果に基づいて、入力グラフ同士を統合グラフに統合する。また、類似判定手段から入力された類似判定結果において、入力グラフ同士が類似しない場合、グラフ統合装置は、グラフ追加手段によって、入力グラフのそれぞれを新たな統合グラフとして追加する。
【0010】
次に、グラフ統合装置は、類似度算出手段によって、DPマッチング法を用いて、入力グラフと、グラフ統合手段が統合した統合グラフ又はグラフ追加手段が追加した統合グラフとのノードの一致と挿入誤りと欠落誤りと代替誤りとをDPマッチングの結果として求める。そして、グラフ統合装置は、このDPマッチングの結果を関数に代入して入力グラフと統合グラフとの類似度を算出し、求めたDPマッチングの結果と、算出した入力グラフと統合グラフとの類似度を出力する。
【0011】
また、グラフ統合装置は、類似判定手段によって、類似度算出手段から入力された入力グラフと統合グラフとの類似度が閾値以上の場合、入力グラフと統合グラフとが類似すると判定する。さらに、グラフ統合装置は、類似判定手段によって、類似度算出手段から入力された類似度が閾値未満の場合、入力グラフと統合グラフとが類似しないと判定し、この類似判定結果を出力する。これによって、グラフ統合装置は、類似性の低い入力グラフと統合グラフとを統合してしまう事態を低減できる。
【0012】
類似判定手段から入力された類似判定結果において、入力グラフと統合グラフとが類似する場合、グラフ統合装置は、グラフ統合手段によって、類似度算出手段から入力されたDPマッチングの結果に基づいて、入力グラフと統合グラフとを統合する。
【0013】
類似判定手段から入力された類似判定結果において、入力グラフと統合グラフとが類似しない場合、グラフ統合装置は、グラフ追加手段によって、入力グラフを新たな統合グラフとして追加する。これによって、グラフ統合装置は、入力グラフと統合グラフとを統合でき、入力グラフを組み合わせた回数分の類似判定を行う必要がなくなると共に、複数の統合グラフを扱うことを可能とする。
【0014】
また、前記した課題を解決するため、請求項2に係るグラフ統合プログラムは、入力要素を示すノードとノードにおいて分岐及び合流が可能なエッジとで構成された入力グラフが複数入力され、これら入力グラフを統合するために、コンピュータを、類似度算出手段と、類似判定手段と、グラフ統合手段と、グラフ追加手段と、として機能させる構成とした。
【0015】
かかる構成において、グラフ統合プログラムは、類似度算出手段によって、DPマッチング法を用いて、入力された複数の入力グラフのノードの一致と挿入誤りと欠落誤りと代替誤りとを求める。そして、グラフ統合プログラムは、このDPマッチングの結果を予め設定された関数に代入して入力グラフ同士の類似度を算出し、求めたDPマッチングの結果と、算出した入力グラフ同士の類似度を出力する。
【0016】
また、グラフ統合プログラムは、類似判定手段によって、類似度算出手段から入力された入力グラフ同士の類似度が予め設定された閾値以上の場合、入力グラフ同士が類似すると判定する。さらに、グラフ統合プログラムは、類似判定手段によって、類似度算出手段から入力された入力グラフ同士の類似度が閾値未満の場合、入力グラフ同士が類似しないと判定する。これによって、グラフ統合プログラムは、類似性の低い入力グラフ同士を統合してしまう事態を低減できる。
【0017】
類似判定手段から入力された類似判定結果において、入力グラフ同士が類似する場合、グラフ統合プログラムは、グラフ統合手段によって、類似度算出手段から入力されたDPマッチングの結果に基づいて、入力グラフ同士を統合グラフに統合する。また、類似判定手段から入力された類似判定結果において、入力グラフ同士が類似しない場合、グラフ統合プログラムは、グラフ追加手段によって、入力グラフのそれぞれを新たな統合グラフとして追加する。
【0018】
次に、グラフ統合プログラムは、類似度算出手段によって、DPマッチング法を用いて、入力グラフと、グラフ統合手段が統合した統合グラフ又はグラフ追加手段が追加した統合グラフとのノードの一致と挿入誤りと欠落誤りと代替誤りとを求める。そして、グラフ統合プログラムは、このDPマッチングの結果を関数に代入して入力グラフと統合グラフとの類似度を算出し、求めたDPマッチングの結果と、算出した入力グラフと統合グラフとの類似度を出力する。
【0019】
また、グラフ統合プログラムは、類似判定手段によって、類似度算出手段から入力された入力グラフと統合グラフとの類似度が閾値以上の場合、入力グラフと統合グラフとが類似すると判定する。さらに、グラフ統合プログラムは、類似判定手段によって、類似度算出手段から入力された類似度が閾値未満の場合、入力グラフと統合グラフとが類似しないと判定する。これによって、グラフ統合プログラムは、類似性の低い入力グラフと統合グラフとを統合してしまう事態を低減できる。
【0020】
類似判定手段から入力された類似判定結果において、入力グラフと統合グラフとが類似する場合、グラフ統合プログラムは、グラフ統合手段によって、類似度算出手段から入力されたDPマッチングの結果に基づいて、入力グラフと統合グラフとを統合する。
【0021】
類似判定手段から入力された類似判定結果において、入力グラフと統合グラフとが類似しない場合、グラフ統合プログラムは、グラフ追加手段によって、入力グラフを新たな統合グラフとして追加する。これによって、グラフ統合プログラムは、入力グラフと統合グラフとを統合でき、入力グラフを組み合わせた回数分の類似判定を行う必要がなくなると共に、複数の統合グラフを扱うことを可能とする。
【発明の効果】
【0022】
本発明によれば、以下のような優れた効果を奏する。
請求項1,2に係る発明によれば、入力グラフを組み合わせた回数分の類似判定を行う必要がなくなると共に、複数の統合グラフを扱うことを可能とするため、演算量を少なくでき、グラフ統合装置を簡易な構成とすることができる。また、請求項1,2に係る発明によれば、類似性の低い入力グラフ同士及び入力グラフと統合グラフとを統合してしまう事態を低減できるため、グラフの統合がより正確になる。
【発明を実施するための最良の形態】
【0023】
[グラフ統合装置の構成]
以下、本発明の実施形態について、適宜図面を参照しながら詳細に説明する。
図1を参照して、本発明の本実施形態に係るグラフ統合装置の構成について説明する。図1は、本発明の本実施形態に係るグラフ統合装置の構成を示すブロック図である。
【0024】
図1のグラフ統合装置1は、入力要素を示すノードと、ノード間において分岐及び合流が可能なエッジとで構成されたエッジとで構成された入力グラフGが複数入力され、入力グラフGを統合するものであって、グラフ入力手段11と、入力グラフ記憶手段12と、類似度算出手段13と、類似判定手段14と、グラフ統合手段15と、グラフ追加手段16と、統合グラフ記憶手段17と、を備える。なお、図1では、入力グラフを符号G、統合グラフを符号Tで示した。
【0025】
グラフ入力手段11は、図2の複数の入力グラフG1,G2,G3,G4(G)が入力されるものである。例えば、グラフ入力手段11としては、入力グラフG1,G2,G3,G4(G)を外部から受信する通信ポート、又は、磁気ディスク等の記憶媒体に記憶された入力グラフGを読み取る読取装置がある。以下、入力グラフG1,G2,G3,G4を区別しないで説明する場合、単に入力グラフGとする。なお、入力グラフGの詳細は、後記する。
【0026】
入力グラフ記憶手段12は、グラフ入力手段11に入力された入力グラフGを記憶する、例えば、HDD(Hard Disk Drive)等の記憶手段である。
【0027】
類似度算出手段13は、例えば、後記する統合グラフ記憶手段17が統合グラフTを記憶してなければ、DPマッチング法を用いて、入力グラフ記憶手段12が記憶する複数の入力グラフG同士(例えば、図2(a)の入力グラフG1と図2(b)の入力グラフG2)におけるノードの一致と挿入誤りと欠落誤りと代替誤りとをDPマッチングの結果として求める。そして、類似度算出手段13は、このDPマッチングの結果を予め設定された関数に代入し、入力グラフGのそれぞれの類似度を算出するものである。
【0028】
ここで、入力グラフ記憶手段12は、入力グラフG毎に、その入力グラフGの類似度を算出したか否かを示す算出フラグをあわせて記憶しても良い。この場合、算出フラグは、類似度を未算出(例えば、「0」)が初期値として設定される。そして、類似度算出手段13は、類似度を算出した入力グラフGについて、算出フラグを算出済み(例えば、「1」)に設定しても良い。
【0029】
また、類似度算出手段13は、例えば、統合グラフ記憶手段17が統合グラフTを記憶していれば、DPマッチング法を用いて、入力グラフ記憶手段12が記憶する入力グラフGと、統合グラフ記憶手段17が記憶する統合グラフTとのノードの一致と挿入誤りと欠落誤りと代替誤りとをDPマッチングの結果として求め、このDPマッチングの結果を関数に代入して入力グラフGと統合グラフTとの類似度を算出するものである。また、類似度算出手段13は、求めたDPマッチングの結果と、算出した類似度とを類似判定手段14、及び、類似判定手段14を介してグラフ統合手段15に出力する。
【0030】
ここで、後記する統合グラフ記憶手段17は、統合グラフT毎に、その統合グラフTの類似度を算出したか否かを示す統合フラグをあわせて記憶しても良い。この場合、統合フラグは、類似度を未算出(例えば、「0」)が初期値として設定される。そして、類似度算出手段13は、類似度を算出した統合グラフTについて、統合フラグを算出済み(例えば、「1」)に設定しても良い。
【0031】
類似判定手段14は、例えば、統合グラフ記憶手段17が統合グラフTを記憶してなければ、入力グラフGのそれぞれの類似度が予め設定された閾値以上の場合、入力グラフ記憶手段12が記憶する入力グラフGのそれぞれが類似すると判定し、入力グラフGのそれぞれの類似度が閾値未満の場合、入力グラフ記憶手段12が記憶する入力グラフGのそれぞれが類似しないと判定するものである。
【0032】
また、類似判定手段14は、例えば、統合グラフ記憶手段17が統合グラフTを記憶していれば、入力グラフ記憶手段12が記憶する入力グラフGと統合グラフ記憶手段17が記憶する統合グラフTとが類似するか否かを判定する。なお、類似度の算出及び類似判定の詳細は、後記する。また、類似判定手段14は、類似するか否かの類似判定結果をグラフ統合手段15及びグラフ追加手段16に出力する。
【0033】
グラフ統合手段15は、類似判定手段14が出力した類似判定結果において、入力グラフGのそれぞれが類似する場合、DPマッチングの結果に基づいて、入力グラフGのそれぞれを統合グラフTに統合するものである。また、グラフ統合手段15は、類似判定手段14が出力した類似判定結果において、入力グラフGと統合グラフTとが類似する場合、DPマッチング法の結果に基づいて、入力グラフGと統合グラフTとを統合し、統合グラフ記憶手段17に記憶させる。
【0034】
グラフ追加手段16は、類似判定手段14が出力した類似判定結果において、入力グラフGのそれぞれが類似しない場合、入力グラフGのそれぞれを新たな統合グラフTとして追加するものである。また、グラフ追加手段16は、類似判定手段14が出力した類似判定結果において、入力グラフGと統合グラフTとが類似しない場合、入力グラフGを新たな統合グラフTとして追加し、統合グラフ記憶手段17に記憶させる。
【0035】
統合グラフ記憶手段17は、グラフ統合手段15が統合した統合グラフT又はグラフ追加手段16が追加した統合グラフTを記憶するものである。ここで、グラフ統合装置1は、統合グラフ記憶手段17が記憶する統合グラフTを、外部の音声認識装置(不図示)からの要求に応じて出力しても良い。なお、図1では、説明のために、入力グラフ記憶手段12と統合グラフ記憶手段17とを別々に図示したが、これらを1個の記憶手段で構成しても良い(不図示)。
【0036】
<入力グラフの詳細>
以下、図2,3を参照して、入力グラフの詳細について説明する(適宜図1参照)。図2は図1のグラフ入力手段に入力された入力グラフを説明する図であり、(a)〜(d)がそれぞれ入力グラフの第1例〜第4例である。また、図3は図1のグラフ入力手段に入力された入力グラフを説明する図であり、(a)〜(c)がそれぞれ入力グラフの第1例、第5例及び第6例である。なお、図2(a)と図3(a)に示す入力グラフは、同じものである。
【0037】
図2では、入力グラフGの先頭を「先頭」、及び、入力グラフGの終了を「終了」として図示した。また、ノードは、長方形で図示し、そのノード名を長方形の内部に示した。以下、ノードを特定して説明する場合、そのノード名を記す(例えば、ノードA1、ノードC6等と記す)。さらに、エッジは、ノード間の接続、ノード間の合流及びノード間の分岐を示すものであり、ノード間を接続する矢印、及び、入力グラフGの先頭や終了とノードとを接続する矢印で図示した。この矢印の方向がエッジの接続方向を示すことからも明らかなように、入力グラフGは、ノードとエッジとで構成される有向グラフである。
【0038】
図2(a)に示すように、入力グラフG1は、その先頭から終了まで、ノードA1、ノードA2、ノードA3、ノードA4、ノードA5及びノードA6が順にエッジで接続されている。また、図2(b)に示すように、入力グラフG2は、ノードA1・・・ノードA4、ノードB5及びノードA6が順にエッジで接続されている。
【0039】
また、図2(c)に示すように、入力グラフG3は、ノードA1・・・ノードA4、ノードB5及びノードC6が順にエッジで接続されている。さらに、図2(d)に示すように、入力グラフG4は、ノードA1、ノードD2、ノードD3、ノードA4、ノードB5及びノードC6が順にエッジで接続されている。
【0040】
図3(b)に示すように、入力グラフG5は、ノードA1・・・ノードA4及びノードB5が順にエッジで接続されている。また、図3(c)に示すように、入力グラフG6は、ノードA1・・・ノードB5、ノードA6及びノードA7が順にエッジで接続されている。
【0041】
<類似度の算出及び類似判定の詳細:第1例>
以下、図4を参照して、類似度の算出及び類似判定の詳細について説明する(適宜図1,図2参照)。図4は図1のグラフ統合手段が統合した統合グラフを説明する図であり、(a)〜(c)がそれぞれ統合グラフの第1例〜第3例である。ここでは、図2に示す4個の入力グラフGの類似度を算出して類似判定する例を説明する。
【0042】
まず、類似度算出手段13は、DPマッチング法を用いて、図2の入力グラフG1,G2の類似度を算出する。具体的には、類似度算出手段13は、入力グラフG1,G2のノードの一致(H)、挿入誤り(I)、欠落誤り(D)又は代替誤り(S)を結果として求め、このDPマッチングの結果を下記式(1)に代入して類似度を算出する。ここで、式(1)が、請求項に記載の関数に相当する。
【0043】
類似度=(H−I)/(H+S+D)・・・式(1)
【0044】
この場合、類似度算出手段13は、入力グラフG1のノードA5と入力グラフG2のノードB5のみが代替誤りとなり、他のノードが一致するという結果「HHHHSH」を得ることができる。そして、類似度算出手段13は、このDPマッチングの結果を式(1)に代入し、類似度を5/6と算出する。なお、類似度算出手段13は、入力グラフG1,G2の算出フラグを算出済みに設定しても良い。
【0045】
類似判定手段14は、入力グラフG1,G2の類似度(例えば、5/6)と、予め設定された閾値(例えば、1/2)とを比較し、この類似度が閾値以上なので入力グラフG1,G2が類似すると判定する。
【0046】
入力グラフG1,G2が類似するので、グラフ統合手段15は、DPマッチング法の結果に基づいて、入力グラフG1,G2を図4(a)の統合グラフTに統合する。ここで、グラフ統合手段15は、DPマッチングの結果が一致となるノードについては、統合グラフTにおいて、そのノードをそのまま配置しても良い。また、グラフ統合手段15は、DPマッチングの結果が挿入誤りとなるノードについては、そのノードを統合グラフTに挿入しても良い。さらに、グラフ統合手段15は、DPマッチングの結果が欠落誤りとなるノードについては、そのノードをスキップするように、そのノードに前後するノード同士を直接接続するエッジを追加しても良い。そして、グラフ統合手段15は、DPマッチングの結果が代替誤りとなるノードについては、統合グラフTにおいて、代替え関係となるノードを並列に配置しても良い。
【0047】
具体的には、入力グラフG1,G2において、ノードA1〜ノードA4及びノードA6が一致するので、グラフ統合手段15は、「先頭」からノードA1・・・ノードA4を順にし、ノードA6を「終点」の直前とする。また、入力グラフG1,G2において、ノードA5とノードB5とが代替誤りとなるので、グラフ統合手段15は、ノードA5とノードB5とを並列にする。そして、グラフ統合手段15は、代替誤りとなるノードA5,B5の直前に位置するノードA4から、代替誤りとなるノードA5,B5にエッジを分岐させる。さらに、グラフ統合手段15は、代替誤りとなるノードA5,B5の直後に位置するノードA6に、代替誤りとなるノードA5,B5からエッジを合流させる。
【0048】
なお、入力グラフG1,G2が類似しない場合、グラフ追加手段16は、入力グラフG1,2をそれぞれ、新たな統合グラフTとして統合グラフ記憶手段17に記憶させる。この場合、グラフ統合装置1は、複数の統合グラフTを用いて類似判定を行うことができる。
【0049】
次に、類似度算出手段13は、DPマッチング法を用いて、算出フラグが未算出である、図2(c)の入力グラフG3と、図4(a)の統合グラフTとの類似度を算出する。なお、類似度算出手段13は、入力グラフG3の算出フラグを算出済みに設定し、統合グラフTの統合フラグを算出済みに設定しても良い。
【0050】
ここでは、ノードA1・・・ノードA4までのDPマッチングが終了している場合を例に説明する。類似度算出手段13は、ノードA5とノードB5とが分岐するので、(1)統合グラフTにおけるノードA5に対する「HHHHD」、(2)統合グラフTにおけるノードA5に対する「HHHHS」、(3)統合グラフTにおけるノードB5に対する「HHHHD」、(4)統合グラフTにおけるノードB5に対する「HHHHH」、及び、(5)入力グラフG3におけるノードB5に対する「HHHHI」という5個の仮説を生成する。
【0051】
また、類似度算出手段13は、ノードA6で合流するので、(1)統合グラフTにおけるノードA5の欠落誤り、(2)統合グラフTにおけるノードA5の代替誤り、(3)統合グラフTにおけるノードB5の欠落誤り、(4)統合グラフTにおけるノードB5の一致、及び、(5)入力グラフG3におけるノードB5の挿入誤りという、前記した仮説をマージする。
【0052】
ここでは、類似度算出手段13は、上記(4)の仮説が最小となるので、ノードB5が一致という結果を用いて、類似度を算出する。従って、類似度算出手段13は、統合グラフTのノードA6と入力グラフG3のノードC6のみが代替誤りとなり、他のノードが一致するという結果「HHHHH(B5)S」を用いて、類似度を5/6と算出する。
【0053】
類似判定手段14は、統合グラフTと入力グラフG3との類似度(例えば、5/6)と、閾値(例えば、1/2)とを比較し、この類似度が閾値以上なので統合グラフTと入力グラフG3とが類似すると判定する。
【0054】
統合グラフTと入力グラフG3とが類似するので、グラフ統合手段15は、DPマッチングの結果に基づいて、統合グラフTと入力グラフG3とを図4(b)の統合グラフT´(T)に統合する。ここで、統合グラフTと入力グラフG3において、ノードA1〜ノードA5,B5が一致するので、グラフ統合手段15は、統合グラフTのノードA1〜ノードA5,B5をそのままの順とする。
【0055】
具体的には、統合グラフTと入力グラフG3において、ノードA6とノードC6が代替誤りとなるため、グラフ統合手段15は、ノードA6とノードC6とを並列に追加する。そして、グラフ統合手段15は、ノードA5とノードA6とを接続し、ノードB5からノードA6,C6にエッジを分岐させる。
【0056】
最後に、類似度算出手段13は、DPマッチング法を用いて、図2(d)の入力グラフG4と、図4(b)統合グラフT´との類似度を算出する。なお、類似度算出手段13は、入力グラフG4の算出フラグを算出済みに設定し、統合グラフT´の統合フラグを算出済みに設定しても良い。
【0057】
このとき、前記と同様に、類似度算出手段13は、ノードB5及びノードC6を用いて類似度を算出する。この場合、類似度算出手段13は、統合グラフT´のノードA6と入力グラフG3のノードC6のみが代替誤りとなり、他のノードが一致するという結果「HSSH(B5)H(C6)」を用いて、類似度を2/3と算出する。
【0058】
類似判定手段14は、統合グラフT´と入力グラフG4との類似度(例えば、2/3)と、閾値(例えば、1/2)とを比較し、この類似度が閾値以上なので統合グラフT´と入力グラフG4とが類似すると判定する。
【0059】
統合グラフT´と入力グラフG4とが類似するので、グラフ統合手段15は、DPマッチングの結果に基づいて、統合グラフT´と入力グラフG4とを図4(c)の統合グラフT´´(T)に統合する。
【0060】
具体的には、統合グラフT´と入力グラフG4において、ノードA1,A4が一致するので、グラフ統合手段15は、統合グラフTのノードA1,A4をそのままの順とする。また、統合グラフT´と入力グラフG4において、ノードA2とノードD2、ノードA3とノードD3、ノードA5とノードB5、及び、ノードA6とノードC6が代替誤りとなる。ここで、グラフ統合手段15は、ノードA2とノードD2とを並行にし、ノードA3とノードD3とを並列にする。さらに、グラフ統合手段15は、代替誤りとなるノードA2,D2の直前に位置するノードA1から代替誤りとなるノードA2,D2にエッジを分岐させる。
【0061】
また、グラフ統合手段15は、代替誤りとなるノードA2,D2とノードA3,D3とが連続するので、ノードA2からノードA3にエッジを接続し、ノードD2からノードD3にエッジを接続する。そして、グラフ統合手段15は、代替誤りとなるノードA3,D3の直後に位置するノードA4に、代替誤りとなるノードA3,D3からエッジを合流させる。なお、ノードA5,B5及びノードA6,C6については、統合グラフT´と同様のため、説明を省略する。
【0062】
このように、類似度算出手段13が、並行となるノードNのうち、入力グラフGのノードNと一致する経路で類似度を算出することで、従来ではn×(n−1)/2回行っていたグラフの比較回数を、n回に低減することができる。
【0063】
なお、統合グラフT´と入力グラフG4とが類似しない場合、グラフ追加手段16は、入力グラフG4を新たな統合グラフTとして統合グラフ記憶手段17に記憶させる。この場合、グラフ統合装置1は、複数の統合グラフTを用いて類似判定を行うことができる。
【0064】
<類似度の算出及び類似判定の詳細:第2例>
以下、図3に戻り、欠落誤り及び挿入誤りが発生した場合における類似度の算出を説明する(適宜図1参照)。
【0065】
例えば、図3(a)の入力グラフG1と、図3(b)の入力グラフG5と比較すると、類似度算出手段13は、ノードA6が欠落誤りとなる結果「HHHHSD」を得ることができる。また、類似度算出手段13は、このDPマッチングの結果を式(1)に代入して類似度を4/6と算出する。そして、前記と同様に、類似判定手段14は、この類似度が所定の閾値以上であるか否かにより、類似判定を行う。ここでは、この類似度が閾値(例えば、1/2)以上なので、類似判定手段14は、入力グラフG1,G5を類似すると判定する。
【0066】
また、図3(a)の入力グラフG1と、図3(c)の入力グラフG6と比較すると、類似度算出手段13は、ノードA7が挿入誤りとなる結果「HHHHSHI」を得ることができる。また、類似度算出手段13は、このDPマッチングの結果を式(1)に代入して類似度を4/6と算出する。そして、前記と同様に、類似判定手段14は、この類似度が所定の閾値以上であるか否かにより、類似判定を行う。ここでは、この類似度が閾値(例えば、1/2)以上なので、類似判定手段14は、入力グラフG1,G6を類似すると判定する。
【0067】
[グラフ統合装置の動作]
以下、図5を参照して、本発明の本実施形態に係るグラフ統合装置の動作について説明する(適宜図1参照)。図5は、図1のグラフ統合装置の動作を示すフローチャートである。ここでは、入力グラフGが入力グラフ記憶手段12に記憶され、統合グラフTが統合グラフ記憶手段17に記憶されているものとして説明する。
【0068】
グラフ統合装置1は、類似度算出手段13によって、入力グラフ記憶手段12に記憶された算出フラグを参照し、類似度が未計算の入力グラフGが有るか否かを判定する(ステップS1)。類似度が未計算の入力グラフGが有る場合(ステップS1でYes)、グラフ統合装置1は、類似度算出手段13によって、類似度の最大値を初期化(例えば、0に初期化)する(ステップS2)。
【0069】
ステップS2に続いて、グラフ統合装置1は、類似度算出手段13によって、統合グラフ記憶手段17に記憶された統合フラグを参照し、類似度が未計算の統合グラフTが有るか否かを判定する(ステップS3)。
【0070】
類似度が未計算の統合グラフTが有る場合(ステップS3でYes)、グラフ統合装置1は、類似度算出手段13によって、DPマッチング法を用いて、統合グラフTと入力グラフGとの類似度を算出する(ステップS4)。そして、グラフ統合装置1は、類似度算出手段13によって、算出した類似度が、類似度の最大値以上であるか否かを判定する(ステップS5)。
【0071】
算出した類似度が最大値以上の場合(ステップS5でYes)、グラフ統合装置1は、類似度算出手段13によって、算出した類似度で類似度の最大値を更新し(ステップS6)、ステップS3の処理に戻る。一方、類似度が最大値未満の場合(ステップS5でNo)、グラフ統合装置1は、類似度の最大値を更新せずに、ステップS3の処理に戻る。
【0072】
類似度が未計算の統合グラフTが無い場合(ステップS3でNo)、グラフ統合装置1は、類似判定手段14によって、統合グラフTと入力グラフGとの類似度が閾値以上の場合、統合グラフTと入力グラフGとが類似すると判定し、統合グラフTと入力グラフGとの類似度が閾値未満の場合、統合グラフTと入力グラフGとが類似しないと判定する(ステップS7)。
【0073】
統合グラフTと入力グラフGとが類似する場合(ステップS7でYes)、グラフ統合装置1は、グラフ統合手段15によって、DPマッチング法の結果に基づいて、統合グラフTと入力グラフGとを統合する(ステップS8)。一方、統合グラフTと入力グラフGとが類似しない場合(ステップS7でNo)、グラフ統合装置1は、グラフ追加手段16によって、入力グラフGを新たな統合グラフTとして追加する(ステップS9)。
【0074】
その後、グラフ統合装置1は、ステップS1の処理に戻り、入力グラフ記憶手段12に記憶された算出フラグを参照し、類似度が未計算の入力グラフGが有るか否かを判定する。ここで、類似度が未計算の入力グラフGが有る場合、グラフ統合装置1は、類似度が未計算の入力グラフGが無くなるまで、前記した処理を繰り返す。また、類似度が未計算の入力グラフGが無い場合(ステップS1でNo)、グラフ統合装置1は、処理を終了する。
【0075】
なお、本実施形態では、本発明に係るグラフ統合装置を独立した装置として説明したが、本発明では、一般的なコンピュータを、前記した各手段として機能させるプログラムによって動作させることもできる。このプログラムは、通信回線を介して配布しても良く、CD−ROMやフラッシュメモリ等の記録媒体に書き込んで配布しても良い。
【図面の簡単な説明】
【0076】
【図1】本発明の本実施形態に係るグラフ統合装置の構成を示すブロック図である。
【図2】図1のグラフ入力手段に入力された入力グラフを説明する図であり、(a)〜(d)がそれぞれ入力グラフの第1例〜第4例である。
【図3】図1のグラフ入力手段に入力された入力グラフを説明する図であり、(a)〜(c)がそれぞれ入力グラフの第1例、第5例及び第6例である。
【図4】図1のグラフ統合手段が統合した統合グラフを説明する図であり、(a)〜(c)がそれぞれ統合グラフの第1例〜第3例である。
【図5】図1のグラフ統合装置の動作を示すフローチャートである。
【符号の説明】
【0077】
1 グラフ統合装置
11 グラフ入力手段
12 入力グラフ記憶手段
13 類似度算出手段
14 類似判定手段
15 グラフ統合手段
16 グラフ追加手段
17 統合グラフ記憶手段

【特許請求の範囲】
【請求項1】
入力要素を示すノードと前記ノードにおいて分岐及び合流が可能なエッジとで構成された入力グラフが複数入力され、前記入力グラフを統合するグラフ統合装置において、
DPマッチング法を用いて、前記複数の入力グラフの前記ノードの一致と挿入誤りと欠落誤りと代替誤りとを求め、当該DPマッチングの結果を予め設定された関数に代入して前記入力グラフ同士の類似度を算出する類似度算出手段と、
前記入力グラフ同士の類似度が予め設定された閾値以上の場合、前記入力グラフ同士が類似すると判定し、前記類似度が前記閾値未満の場合、前記入力グラフ同士が類似しないと判定する類似判定手段と、
前記DPマッチングの結果に基づいて、前記入力グラフ同士が類似する場合、前記入力グラフ同士を統合グラフに統合するグラフ統合手段と、
前記入力グラフ同士が類似しない場合、前記入力グラフのそれぞれを新たな前記統合グラフとして追加するグラフ追加手段と、を備え、
前記類似度算出手段は、前記入力グラフと、前記グラフ統合手段が統合した統合グラフ又は前記グラフ追加手段が追加した統合グラフとの類似度を算出し、
前記類似判定手段は、前記入力グラフと前記統合グラフとの類似度が前記閾値以上の場合、前記入力グラフと前記統合グラフとが類似すると判定し、前記類似度が前記閾値未満の場合、前記入力グラフと前記統合グラフとが類似しないと判定し、
前記グラフ統合手段は、前記入力グラフと前記統合グラフとが類似する場合、前記入力グラフと前記統合グラフとを統合し、
前記グラフ追加手段は、前記入力グラフと前記統合グラフとが類似しない場合、前記入力グラフを新たな前記統合グラフとして追加することを特徴とするグラフ統合装置。
【請求項2】
入力要素を示すノードと前記ノードにおいて分岐及び合流が可能なエッジとで構成された入力グラフが複数入力され、前記入力グラフを統合するために、コンピュータを、
DPマッチング法を用いて、前記複数の入力グラフの前記ノードの一致と挿入誤りと欠落誤りと代替誤りとを求め、当該DPマッチングの結果を予め設定された関数に代入して前記入力グラフ同士の類似度を算出する類似度算出手段、
前記入力グラフ同士の類似度が予め設定された閾値以上の場合、前記入力グラフ同士が類似すると判定し、前記類似度が前記閾値未満の場合、前記入力グラフ同士が類似しないと判定する類似判定手段、
前記DPマッチングの結果に基づいて、前記入力グラフ同士が類似する場合、前記入力グラフ同士を統合グラフに統合するグラフ統合手段、
前記入力グラフ同士が類似しない場合、前記入力グラフのそれぞれを新たな前記統合グラフとして追加するグラフ追加手段、として機能させ、
前記類似度算出手段は、前記入力グラフと、前記グラフ統合手段が統合した統合グラフ又は前記グラフ追加手段が追加した統合グラフとの類似度を算出し、
前記類似判定手段は、前記入力グラフと前記統合グラフとの類似度が前記閾値以上の場合、前記入力グラフと前記統合グラフとが類似すると判定し、前記類似度が前記閾値未満の場合、前記入力グラフと前記統合グラフとが類似しないと判定し、
前記グラフ統合手段は、前記入力グラフと前記統合グラフとが類似する場合、前記入力グラフと前記統合グラフとを統合し、
前記グラフ追加手段は、前記入力グラフと前記統合グラフとが類似しない場合、前記入力グラフを新たな前記統合グラフとして追加することを特徴とするグラフ統合プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2010−32919(P2010−32919A)
【公開日】平成22年2月12日(2010.2.12)
【国際特許分類】
【出願番号】特願2008−196955(P2008−196955)
【出願日】平成20年7月30日(2008.7.30)
【出願人】(000004352)日本放送協会 (2,206)
【出願人】(591053926)財団法人エヌエイチケイエンジニアリングサービス (169)
【Fターム(参考)】