(57)【特許請求の範囲】
【請求項１】
２つの文書データの類似度判定を支援する方法であって、前記文書データはオブジェクトとしてテキスト及び非テキストのデータを含んでおり、前記方法は、コンピュータが、
前記文書データの各々を有向グラフに変換して記憶するステップであって、前記オブジェクトそれぞれがノードに変換され、且つ当該ノード間がエッジで連絡される、前記記憶するステップと、
前記変換された有向グラフ間の類似度を、前記オブジェクトの重要度を用いて計算するステップであって、前記オブジェクトの重要度が、オブジェクトの面積が全オブジェクト面積に占める割合（面積率）であり、当該面積率に比例して、開始ノードが選択されるようにする、前記計算するステップと
を実行することを含む、前記方法。
【請求項２】
前記有向グラフ間の類似度の計算をグラフマイニングにより行う、請求項１記載の方法。
【請求項３】
前記グラフマイニングによる類似度の計算が、ノードiから開始される確率と、ノードiとエッジで連結されたノードjに遷移する確率と、ノードiで終了する確率と、ノード対(v,v')の類似度を示すカーネル関数と、エッジ対(e,e')の類似度を示すカーネル関数を用いて計算される、請求項２記載の方法。
【請求項４】
前記グラフマイニングによる類似度の計算を、ランダムウォークに基づくグラフマイニングにより計算するステップであって、
変換された有向グラフG,G'として、当該有向グラフG,G'間の類似度を表すカーネル関数K(G,G')を
ps(i):    ランダムウォークがノードiから開始される確率
pt(j|i):  ノードiからノードjへの遷移確率
pq(i):    ランダムウォークがノードiで終了する確率
K(v,v'):  ノード対(v,v')の類似度を示すカーネル関数
K(e,e'):  エッジ対(e,e')の類似度を示すカーネル関数
を用いて計算するにあたり、前記ps(i)、またはpt(j|i)の値が、オブジェクトの面積が全オブジェクト面積に占める割合（面積率）に比例して高く、計算するステップである、請求項３記載の方法。
【請求項５】
前記カーネル関数が、下記式で表される、請求項４に記載の方法：
【数１】
0005467643.tif 000003
。
【請求項６】
前記有向グラフに変換するステップが、
文書データ中のオブジェクトをノードに変換し、前記オブジェクトのプロパティを当該ノードのもつ特徴量として記憶するステップと、
ノード間をエッジで連結するステップであって、連結される前記ノード間の位置関係を表す情報を記憶する、前記連結するステップと
を含む、請求項１〜５のいずれか一項記載の方法。
【請求項７】
前記ノードがもつ特徴量が、テキスト、画像、または図形プロパティである、請求項６記載の方法。
【請求項８】
前記位置関係を表す情報が、上、下、左、または右である、請求項６記載の方法。
【請求項９】
２つの文書データの類似度判定を支援するシステムであって、前記文書データはオブジェクトとしてテキスト及び非テキストのデータを含んでおり、前記システムが、
前記文書データの各々を有向グラフに変換して記憶する手段であって、前記オブジェクトそれぞれがノードに変換され、且つ当該ノード間がエッジで連絡される、前記記憶する手段と、
前記変換された有向グラフ間の類似度を、前記オブジェクトの重要度を用いて計算する手段であって、前記オブジェクトの重要度が、オブジェクトの面積が全オブジェクト面積に占める割合（面積率）であり、当該面積率に比例して、開始ノードが選択されるようにする、前記計算する手段と
を有する、前記システム。
【請求項１０】
前記有向グラフ間の類似度の計算をグラフマイニングにより行う、請求項９記載のシステム。
【請求項１１】
前記グラフマイニングによる類似度の計算が、ノードiから開始される確率と、ノードiとエッジで連結されたノードjに遷移する確率と、ノードiで終了する確率と、ノード対(v,v')の類似度を示すカーネル関数と、エッジ対(e,e')の類似度を示すカーネル関数を用いて計算される、請求項１０記載のシステム。
【請求項１２】
前記グラフマイニングによる類似度の計算を、ランダムウォークに基づくグラフマイニングにより計算する手段であって、
変換された有向グラフG,G'として、当該有向グラフG,G'間の類似度を表すカーネル関数K(G,G')を
ps(i):    ランダムウォークがノードiから開始される確率
pt(j|i):  ノードiからノードjへの遷移確率
pq(i):    ランダムウォークがノードiで終了する確率
K(v,v'):  ノード対(v,v')の類似度を示すカーネル関数
K(e,e'):  エッジ対(e,e')の類似度を示すカーネル関数
を用いて計算するにあたり、前記ps(i)、またはpt(j|i)の値が、オブジェクトの面積が全オブジェクト面積に占める割合（面積率）に比例して高く、計算する手段である、請求項１１記載のシステム。
【請求項１３】
前記カーネル関数が、下記式で表される、請求項１２に記載のシステム：
【数２】
0005467643.tif 000004
。
【請求項１４】
前記有向グラフに変換する手段が、
文書データ中のオブジェクトをノードに変換し、前記オブジェクトのプロパティを当該ノードのもつ特徴量として記憶する手段と、
ノード間をエッジで連結する手段であって、連結される前記ノード間の位置関係を表す情報を記憶する、前記連結する手段と
を有する、請求項９〜１３のいずれか一項記載のシステム。
【請求項１５】
前記ノードがもつ特徴量が、テキスト、画像、または図形プロパティである、請求項１４記載のシステム。
【請求項１６】
前記位置関係を表す情報が、上、下、左、または右である、請求項１４記載のシステム。
【請求項１７】
２つの文書データの類似度判定を支援するためのコンピュータ実行可能なコンピュータ・プログラムであって、コンピュータに請求項１〜８のいずれか一項に記載の方法の各ステップを実行させる、前記コンピュータ・プログラム。
【請求項１８】
請求項１７に記載のコンピュータ実行可能なコンピュータ・プログラムをコンピュータ可読に格納する記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の文書の類似度を判定する方法、装置及びコンピュータ・プログラムに関する。
【背景技術】
【０００２】
昨今プレゼンテーション資料の作成は膨大の一途を辿り、１つの資料、もしくは複数の資料を基にまた新たなプレゼンテーション資料が作成されている。このような環境において機密性の高い資料が外部に出た場合、企業にとっては社会的信用失墜が懸念され、それによる経済的損失のリスクも増大する。問題となる資料が外に出ないように歯止めをかけるとともに、そのプレゼンテーション資料が何を元に作成されたかのを判別するのは非常に難しい。資料がテキストのみの場合であれば比較する方法はよく知られているが、プレゼンテーション資料はオブジェクトとして、テキストと、非テキスト情報である図形、イメージが混在しており比較は容易ではない。
【０００３】
特許文献１は比較の判断材料として図形の面積を用いている。より具体的には２つの紙面を比較する場合に、紙面内のオブジェクト間の面積比を他方の紙面内のオブジェクト間の面積比を比べることにより、紙面の類似性を判断する。しかしながら特許文献１の方法ではオブジェクト間の面積比が異なるだけで類似性なしということになり、人が判断する類似性判断とはかなり異なる。さらに特許文献１はイメージ情報のみを使用しており、テキスト情報を考慮していない。つまる所、特許文献１は紙面全体の拡大、縮小コピーの場合に有効な類似性判断方法と言える。
【０００４】
非特許文献１は画像の類似度を求める際に、ベクタ画像をグラフ表現に変換しグラフの類似度として計算するという手法を取る。しかしながらプレゼンテーション文書などの図形を含む文書の類似度の算出において非特許文献１の手法では十分な精度が得られない。なぜならプレゼンテーション文書では図形とともにテキストデータが含まれ、これが文書の特徴を大きく左右するからである。また非特許文献１の手法では、企業ロゴや文書をまたがって頻繁に使われるクリップアートなど、全く異なる文書間で同一の画像オブジェクトが使用されている場合に、誤って類似文書として検出してしまう。
【０００５】
非特許文献２はランダムウォークに基づくグラフマイニングの手法を開示している。非特許文献２にはテキストの類似度やオブジェクトの面積比を用いた文書の類似度を求める方法は記載されていない。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開2007-164648
【非特許文献】
【０００７】
【非特許文献１】Anoop M. Namboodiri,AnilK. Jain,"Retrieval of On-line Hand-DrawnSketches," icpr,vol. 2,pp.642-645,17thInternational Conference on Pattern Recognition (ICPR'04) - Volume 2,2004
【非特許文献２】Kashima,H.; Tsuda,K.& Inokuchi,A."Marginalized kernels betweenlabeled graphs" ICML'03: Proceedings of the Twentieth InternationalConference on Machine Learning,AAAIPress,2003,321-328
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明は斯かる事情に鑑みてなされたものであり、テキストと非テキスト情報が混在した文書の類似度検出を行う技術を提供すること、またオブジェクトの重要度を考慮した文書の類似度検出を行う技術を提供すること、また人間が見る文書の類似度感に近い文書の類似度判定を行う技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために本発明では、２つの文書データの類似度判定を支援するコンピュータで実行可能な方法であって、前記文書はテキスト、非テキスト、若しくはそれらの混在からなるオブジェクトを含んでおり、前記文書データの各々を有向グラフに変換して記憶するステップと、変換された有向グラフ間の類似度を前記コンピュータの演算処理により計算するステップであって、オブジェクトの重要度を用いて、前記類似度を計算するステップを有するように構成する。
【００１０】
ここで、前記オブジェクトの重要度は、オブジェクトの面積が全オブジェクト面積に占める割合（面積率）である。
【００１１】
さらに、前記有向グラフに変換するステップが、文書データ中のオブジェクトをノードに変換し、前記オブジェクトのプロパティを当該ノードのもつ特徴量として記憶するステップと、ノード間をエッジで連結するステップであって、連結される前記ノード間の位置関係を表す情報を記憶するステップ、を有するように構成する。
【００１２】
ここで、前記ノードがもつ特徴量は、テキスト、画像、または図形プロパティである。
【００１３】
そして、前記位置関係を表す情報は、上、下、左、または右である。
【００１４】
また、前記有向グラフ間の類似度の計算を、グラフマイニングにより行う。
【００１５】
さらに、前記グラフマイニングによる類似度の計算が、ノードiから開始される確率と、ノードiとエッジで連結されたノードjに遷移する確率と、ノードiで終了する確率と、ノード対(v,v')の類似度を示すカーネル関数と、エッジ対(e,e')の類似度を示すカーネル関数を用いて計算するようにする。
【００１６】
ここで、前記グラフマイニングによる類似度の計算を、ランダムウォークに基づくグラフマイニングにより計算するステップであって、変換された有向グラフG,G'として、当該有向グラフG,G'間の類似度を表すカーネル関数K(G,G')を
ps(i):    ランダムウォークがノードiから開始される確率
pt(j|i):  ノードiからノードjへの遷移確率
pq(i):    ランダムウォークがノードiで終了する確率
K(v,v'):  ノード対(v,v')の類似度を示すカーネル関数
K(e,e'):  エッジ対(e,e')の類似度を示すカーネル関数
を用いて計算するにあたり、前記ps(i)、またはpt(j|i)の値が、オブジェクトの面積が全オブジェクト面積に占める割合（面積率）に比例して高く、計算するように構成する。
【００１７】
また別の態様として、２つの文書データの類似度判定を支援するコンピュータで実行可能なシステムであって、前記文書はテキスト、非テキスト、若しくはそれらの混在からなるオブジェクトを含んでおり、前記文書データの各々を有向グラフに変換して記憶する手段と、変換された有向グラフ間の類似度を前記コンピュータの演算処理により計算する手段であって、オブジェクトの重要度を用いて、前記類似度を計算する手段を有するシステムを提供する。
【００１８】
また別の態様として、２つの文書データの類似度判定を支援するためのコンピュータ・プログラムであって、前記各方法のステップを、コンピュータに実行させる、コンピュータ・プログラムを提供する。
【００１９】
また別の態様として、上記コンピュータ・プログラムをコンピュータ可読に格納した記録媒体を提供する。
【発明の効果】
【００２０】
本発明を用いることにより、テキストと非テキスト情報が混在した文書の類似度検出が可能になり、またオブジェクトの重要度を考慮した文書の類似度検出が可能になる。本発明では、大きな面積のオブジェクトほど頻回に比較されるため「大きなオブジェクトほど類似度計算に大きく寄与させる」ことができる。これにより、人間が見る文書の類似度感に近い判定をコンピュータに行わせることが可能になる。
【図面の簡単な説明】
【００２１】
【図１】本発明の処理の概要である。
【図２】文書データをラベル付き有向グラフに変換する、より詳細なフローチャートである。
【図３】ノードおよびエッジの特徴量の例である。
【図４】文書データとしてプレゼンテーションチャートを用いた場合の有向グラフへの変換例である。
【図５】ノードの特徴量の内部データ構造である。
【図６】エッジのラベルのデータ構造である。
【図７】本発明の文書類似度判定システムのブロック図である。
【図８】本発明の文書類似度判定システムの詳細なフローチャートである。
【図９】ページの類似度比較のより詳細な処理フローチャートである。
【図１０】本発明の文書データ類似度判定システムのハードウェア・ブロックの一例である。
【図１１】より実用的な比較方法を説明する図である。
【発明を実施するための形態】
【００２２】
本発明の処理の概要を図１に示す。ステップ１１０でオブジェクトを含む文書データをラベル付き有向グラフに変換する。この時、オブジェクトをノードに変換し、オブジェクトの持つ特徴量を計算する。そしてノード間をエッジで連結する。エッジに付与するラベルとして連結されるノード間の地理的位置関係を用いる。そしてステップ１２０で有向グラフ間の類似度を求める関数を用いて、文書データの類似度を計算する。この時、上記ノードの特徴量とエッジの位置関係に加えてオブジェクトの重要度を用いて計算する。本発明ではオブジェクトの重要度としてそのオブジェクトの面積を考慮するがその他の指標、例えば特別な形状に比例する情報、電子透かし技術によって埋め込まれた重要度などを用いても本発明の本質を逸脱することなく使可能である。本発明の実施例ではオブジェクトの重要度として、該オブジェクトの全オブジェクト面積に占める割合（面積率）をノードおよびエッジの類似度計算に適用する。
【００２３】
図２に文書データをラベル付き有向グラフに変換するステップ１１０の、より詳細なフローチャートを図示する。まず、ステップ２１０で、文書データ中のオブジェクトをノードに変換する。この時、オブジェクトのプロパティをそのノードが持つ特徴量とする。次にステップ２２０で、ノード間をエッジで連結する。連結されるノード間の位置関係をエッジにラベルとして付与する。
【００２４】
図３に、オブジェクトのプロパティを、ノードおよびエッジについて例示する。文書データをラベル付き有向グラフに変換する再に、ノードが持つ特徴量には、大きく分けてテキスト、ビットマップ画像、図形プロパティがある。テキストには、その内容として文字列がある。ビットマップ画像にはその作成者のユーザＩＤ、面積がある。図形プロパティには、前景色、背景色、線種、横幅、縦幅、形状、面積がある。エッジが持つ特徴量としては方向とラベルがある。方向はどのノードからどのノードへという情報を持つ。ラベルは地理的位置情報を持つ。
【００２５】
図４は文書データとしてプレゼンテーションチャートを用いた場合の有向グラフへの変換例である。２枚の図のうち上がオリジナルのチャート、下がそれを有向グラフに変換したものである。v1,v2,v3,v4,v5,v6はノードを表す。オリジナルのチャート内のv1,v2,v3,v4,v5,v6はグラフとの対応関係を明示するために付記したもので実際のチャートには記載されてはいない。有向グラフにおいてノード中のＥは元のオブジェクトの形状が楕円（ellipse）であることを、Ｒは長方形（rectangle）あることを、Ｂはビットマップ図形（bitmap）であることを示す。またエッジのラベルであるＡ、Ｂ、Ｌ、Ｒは夫々、上、下、左、右の意味である。例えばノードv1とノードv2の関係で言えば、v1の左にv2が存在するという位置関係を表している。また各ノードは特徴量を持つ。例えばノードv3は、テキストとして"Risk"、ラインカラーは黒、塗りつぶし色は水色である。ノードv6はビットマップに固有のID（Unique identifier）であり、そのUIDがA593F7である。
【００２６】
図５にノードの特徴量の内部データ構造を示す。このデータ構造はメモリ中に記憶される。図５ではノードv3について例示する。ノード番号毎に、特徴名と値の順に記憶されることが理解されるであろう。図５の場合はオブジェクトの形状が楕円（ellipse）の場合であるが、例えばノードv6であればオブジェクトの形状がＢとなり、特徴名に固有ＩＤとその値がA593F7を含むことになる。図５は一例であり、オブジェクトの種類に応じて多数の特徴量が適宜考えられる。
【００２７】
図６にエッジのラベルのデータ構造を示す。このデータ構造もメモリ中に記憶される。図６ではノードv4とノードv5間のエッジについて例示する。エッジには方向とラベルの特徴量がある。方向にはどこのノードからどこのノードへを表す”From”,”To”があり値としてノード番号が入る。ラベルにはエッジ元のノードからエッジ先のノードがどの位置に存在するかを表す地理的位置情報”上”、”下””左”、”右”のどれかの値が入る。ノードv4の下にノードv5があるので値には”下”が入る。またノードv5の上にノードv4が存在するので値には”上”が入る。
【実施例】
【００２８】
実施例として、カーネル法を使ったグラフマイニングを利用した類似度判定方法を開示する。グラフマイニングは分子構造などグラフ表現可能なデータの類似度を計算することができ、得られた類似度から特定の性質を持つ物質を探索する等の用途に用いられる。グラフマイニングの方法については既知であるので詳細な方法は省略する。例えばグラフマイニング手法の中でも非特許文献２はランダムウォークとカーネル法を組み合わせた手法を提案している。そこで本発明の実施例として、文書データの類似度判定に適したカーネル関数を定義し、類似度の判定に用いる例を示す。 
【００２９】
＜グラフマイニングの概要＞
ランダムウォークに基づくグラフマイニングにおいて、二つのラベル付き有向グラフ G,G'の間のカーネル関数K(G,G')は以下のように表される。
【数１】
0005467643.tif 000002
ただし 
ps(i): ランダムウォークがノード iから開始される確率
pt(j|i):ノード iからノード jへの遷移確率
pq(i): ランダムウォークがノード iで終了する確率
K(v,v'):ノード対 (v,v')の類似度を示すカーネル関数
K(e,e'):エッジ対 (e,e')の類似度を示すカーネル関数
非特許文献２では、ps及び ptとして一様分布を、ps、pqは定数を用いている。また、 K(v,v')及び K(e,e')については、ノードもしくはエッジに付与されたラベルが一致する場合に 1、一致しない場合に 0 を返す関数を用いている。本発明も同様の関数とする。
【００３０】
カーネル関数を端的に表現すると、ある特徴空間上のふたつの特徴ベクトル間の内積であると考えられるから、似通った特徴を持つベクトル対に対して高い値を、異なる特徴を持つベクトル対に対して低い値を返すような関数であると考えてよい。すなわち K(G,G')は、二つのグラフ G,G' の構造がどの程度類似しているのかを表していると言える。よって、類似度を計測したい文書データのページ対をそれぞれグラフに変換し、その間のカーネル関数の値を求めることで、そのページ対の類似度を得ることができる。
【００３１】
＜文書類似度判定へグラフマイニング応用＞
テキストおよび非テキストデータを含む文書データに対してグラフマイニングを適用するために、以下において、文書データ内に含まれる各ページをグラフ構造に変換する手続きと、グラフマイニングに必要なパラメータ（ps,pt,pq,K(v,v'),K(e,e')）を決定する。 
【００３２】
＜グラフ構造への変換＞
まず文書データ（例えばプレゼンテーション文書の１ページ）をラベル付き有向グラフへ変換する。まず、オブジェクトをノードに変換する。オブジェクトの持つプロパティ（テキストを含む）をそのノードが持つ特徴量と考えて、後述する K(v,v')の計算に利用する。続いてノード間をエッジで連結する。このときエッジに付与するラベルとして、連結されるノード間の地理的位置関係（上下左右）を用いる。意図的に荒い粒度のエッジラベルを用いることで、微修正に対して頑健なグラフ構造を目指す。有向グラフへの変換例については図４を参照をされたい。
【００３３】
＜ランダムウォークパラメータ＞
次にランダムウォークに関するパラメータ ps(i),pt(j|i),pq(i)を決定する。ここで ps(i), pt(j|i) をノード毎に調整することで、ノードを考慮する度合いを変えることができる。そこで今回は主要なオブジェクトを重視して些末なオブジェクトを軽視するようにパラメータを調整する。具体的には、オブジェクトがページ上で占める面積率に比例して遷移確率を割り当てる。例えば図４において、ノードv6の面積が 100平方ピクセル、 ノードv4の面積が50平方ピクセル、全オブジェクトの面積の合計が 1000平方ピクセルであった場合、 ps(v6) = 100 = 1000 となり、
pt(v6|v5) = 100= (100 + 50)
pt(v4|v5) = 50 = (100 + 50)
となる。さらにランダムウォークでの開始ノードを乱数で選出する際にも、オブジェクトがページ上で占める面積率に比例して選択されやすくする。上記のようにノードから他のノードに遷移する確率についても面積の広いオブジェクト（ノード）に遷移し易くするわけである。このように面積が広いオブジェクトが選ばれやすくすることで、オブジェクトの重要度を考慮した判定が可能になる。つまり人間が見る文書の類似度感に近い文書の類似度判定を行うことができる。なおオブジェクトの重要度として面積率ではなく、特定の形状にどれだけ近いかを表す形状の近似度や、電子透かし技術によって埋め込まれた不可視の重要度などを用いても良い。
【００３４】
＜ノードとエッジのカーネル関数＞
カーネル関数は似通った特徴を持つベクトル対に対して高い値を、異なる特徴を持つベクトル対に対して低い値を返すような関数であり、いくつかの条件、例えば
（K(x,y)= K(y,x),K(x,y) > 0
などを満たすものであれば任意の関数をカーネル関数として利用可能である。
まず K(v,v')については、以下のようなプロパティの一致度を線形補間して得る。ノードおよびエッジの特徴量（プロパティ）は図５のデータ構造の例に示したようにメモリ中に記憶される。
【００３５】
テキストについては、ノード対に共通して出現する語の割合（Jaccard index）を用いる。つまりテキスト同士を比較して何パーセント同じ語が使用されているかという情報を用いて、テキストの一致度を測る。 
【００３６】
ビットマップ画像については、画像の固有のＩＤである Picture Unique ID が同じかを判断する。
【００３７】
図形プロパティについては、前景色・背景色・線種・横幅・縦幅等の一致度を判断する。 
【００３８】
K(e,e')については、ラベルが一致する場合 1、一致しない場合 0 を返す関数を用いる。エッジのデータ構造例については図６を参照されたい。以上は例示であり、種々の変形が可能であることは言うまでもない。
【００３９】
図７に本発明の文書類似度判定システムのブロック図を示す。文書データ取得部７１０は文書データを読み込み、文書データ記憶部７０５に記憶する。次に有向グラフ変換部７２０は文書データ記憶部から文書データを読み取り、有向グラフに変換し、グラフデータ記憶部７３０に記憶する。次に類似度判定部７４０はグラフデータ記憶部７３０に記憶したグラフデータを読み取り類似度を判定し、その結果を判定結果累積部７５０に記憶する。文書データの全ページについて類似度判定が行われると、判定結果出力部７６０が、判定結果累積部７５０の累積データから、最終的な類似度の判定結果を出力する。
【００４０】
図８に本発明の文書類似度判定システムの詳細なフローチャートを示す。まずステップ８１０で、文書データ１の全ページを読み込み、文書データ記憶部７０５に記憶する。次にステップ８２０で文書データ記憶部７０５に記憶された文書データ１を読み取り、全ページを有向グラフに変換し、グラフデータ１としてグラフデータ記憶部７３０に追加記憶する。同様にステップ８２０で、文書データ２の全ページ読み込み、文書データ記憶部７０５に記憶する。次にステップ８４０で文書データ記憶部７０５に記憶された文書データ２を読み取り、全ページを有向グラフに変換し、グラフデータ２としてグラフデータ記憶部７３０に追加記憶する。
【００４１】
ステップ８５０で全ページの類似度比較が終了したかどうかを判定し、終了した場合にはステップ８８０で判定結果累積部７５０の累積データから、最終的な類似度の判定結果を０％〜１００％の確率（連続値）として出力する。最終的な類似度の計算はページ間の類似度が確率であった場合には好ましくはそれらの平均とする。また各ページ間の類似度が絶対値であった場合には総和としても良い。何れにしても各ページ間の類似度を総合して出力する。ステップ８５０でまだ全ページの比較が終了していない場合には、ステップ８６０で処理対象のページを１つ進める。そしてステップ８７０でグラフデータ記憶部７３０のグラフデータ１とグラフデータ２から処理対象のページを読み取り両者の類似度を算出し、結果を判定結果累積部７５０に追加記憶する。
【００４２】
実際のプレゼンテーションの場合、文書１と文書２が同一ページ数で構成されているとは限らず、また削除したり移動したり編集も様々である。そこで本発明ではより実用的な比較方法を採る。図１１により実用的な比較方法を図示する。図１１ではグラフデータ１は n ページ、グラフデータ２は m ページで構成されているとする。全ページの比較組み合わせの数は nm 通りある。
【００４３】
１つの判断方法として、 nm ペア全てが類似していたら、文書全体が類似しているとみなす。この判断方法では誤検出が少ないが、完全な再利用しか検出できず、部分再利用を検出できない場合がある。
【００４４】
別の方法として、nm 個のペアのうち、少なくとも１ペアについて、類似度が事前に決めて置いた閾値 t を超えていたら、文書全体が類似しているとみなすとしても良い。こうすることで１ページだけ再利用した場合でもあますことなく類似文書を検出できる。再利用での情報漏洩を防ぎたい場合には、より網羅的に検出できるこの判断方法が適している。
【００４５】
さらに、文書が似ていると判断したら即時にユーザに警告するようにしても良い。その場合、総合類似度は０（警告しない）か１（警告する）かのどちらかがわかればよいので、nm のペアのどこかで閾値 t を超えた段階で処理を終了し、文書は類似していると表示する。その他、種々の変形が可能である。
【００４６】
図９にステップ８７０のページの類似度比較のより詳細な処理フローチャートを示す。図９のフローチャートはグラフデータ記憶部７３０に記憶したグラフデータ１、およびグラフデータ２の処理対象ページについて類似度が比較される。処理対象ページについて、比較を開始するノードの選定では、オブジェクトの重要度（オブジェクトの面積率）を含む確率に左右される関数によって、同じノードが選定されるとは限らず、また開始ノードが同じでもそれから遷移する遷移先のノードが同じであるとも限らない。ランダムウォークのアルゴリズムにおいて遷移はエッジで接続された複数ノードへ同時に確率遷移して計算され、処理終了までのパスの類似度が合算される。図９では説明の便宜上単一ノードから単一ノードへの遷移に留めていることに留意されたい。
【００４７】
まずステップ９１０で全ノードの中から比較の開始を行う初期ノードの選択を行う。グラフデータ１から１つ、グラフデータ２から１つノードが選定される。この時、オブジェクトの重要度（面積率）が高いものほど選択されやすい。次にステップ９２０で、ノード対 (v,v')の類似度を示す上記カーネル関数K(v,v')を用いてノードの類似度を算出する。次にステップ９３０で、ランダムウォークがノード iで終了する上記終了確率pq(i)に基づき処理が終了かを判断し、終了している場合にはここで処理を終了し、終了していない場合にはステップ９４０で、ノード iからノード jへの上記遷移確率pt(j|i)に基づき、隣接ノードの中から遷移先のノードを選択する。この時オブジェクトの重要度（面積率）が高いオブジェクトほど選択されやすい。次にステップ９５０で、エッジ対 (e,e')の類似度を示す上記カーネル関数K(e,e')を用いて遷移先ノードへのエッジの類似度が算出され、判定結果累積部７５０にその結果が追加記憶され、処理はステップ９２０に戻る。
【００４８】
＜コンピュータ・ハードウェアのブロック図＞
図１０に本発明の文書データ類似度判定システムにおける、コンピュータ・ハードウェアのブロック図を一例として示す。本発明の実施形態に係るコンピュータ・システム（１００１）は、ＣＰＵ（１００２）とメイン・メモリ（１００３）と含み、これらはバス（１００４）に接続されている。ＣＰＵ（１００２）は好ましくは、３２ビット又は６４ビットのアーキテクチャに基づくものであり、例えば、インテル社のＸｅｏｎ（商標）シリーズ、Ｃｏｒｅ（商標）シリーズ、Ａｔｏｍ（商標）シリーズ、Ｐｅｎｔｉｕｍ（商標）シリーズ、Ｃｅｌｅｒｏｎ（商標）シリーズ、ＡＭＤ社のＰｈｅｎｏｍ（商標）シリーズ、Ａｔｈｌｏｎ（商標）シリーズ、Ｔｕｒｉｏｎ（商標）シリーズ及びＳｅｍｐｒｏｎ（商標）などを使用することができる。
【００４９】
バス（１００４）には、ディスプレイ・コントローラ（１００５）を介して、ＬＣＤモニタなどのディスプレイ（１００６）が接続されている。ディスプレイ（１００６）は、文書データ、変換された有向グラフ、類似度判定結果の表示に使用する。バス（１００４）にはまた、ＩＤＥ又はＳＡＴＡコントローラ（１００７）を介して、ハードディスク又はシリコン・ディスク（１００８）と、ＣＤ−ＲＯＭ、ＤＶＤドライブ又はＢｌｕ−ｒａｙドライブ（１００９）が接続されている。これらの記憶装置に、本発明にかかるプログラム、データを記憶するようにしても良い。本発明のプログラム、文書データ、変換後の有向グラフデータはハードディスク（１００８）もしくはメイン・メモリ（１００３）に格納されＣＰＵ（１００２）により類似度判定の処理が行われる。また判定結果累積データも好ましくはハードディスク（１００８に記憶される。そして最終の類似度判定がディスプレイ（１００６）に表示される。
【００５０】
ＣＤ−ＲＯＭ、ＤＶＤ又はＢｌｕ−ｒａｙドライブ（１００９）は、必要に応じて、コンピュータ可読の媒体であるＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ又はＢｌｕ−ｒａｙディスクから本発明のプログラムをハードディスクにインストールするため、もしくはデータを読み取るために使用される。バス（１００４）には更に、キーボード・マウスコントローラ（１０１０）を介して、キーボード（１０１１）及びマウス（１０１２）が接続されている。
【００５１】
通信インタフェース（１０１４）は、例えばイーサネット（商標）・プロトコルに従う。通信インタフェース（１０１４）は、通信コントローラ（１０１３）を介してバス（１００４）に接続され、コンピュータ・システム及び通信回線（１０１５）を物理的に接続する役割を担い、コンピュータ・システムのオペレーティング・システムの通信機能のＴＣＰ／ＩＰ通信プロトコルに対して、ネットワーク・インターフェース層を提供する。なお通信回線を通して、外部の文書データもしくは有向グラフを読みとり、ＣＰＵ（１００２）により処理するようにしても良い。
【００５２】
本発明の文書類似判定方法は、Ｃ＋＋、Ｊａｖａ（登録商標）、Ｊａｖａ（登録商標）Ｂｅａｎｓ、Ｊａｖａ（登録商標）Ａｐｐｌｅｔ、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔ、Ｐｅｒｌ、Ｒｕｂｙなどのオブジェクト指向プログラミング言語、ＳＱＬなどのデータベース言語などで記述された装置実行可能なプログラムにより実現できる。また該プログラムをコンピュータ可読な記録媒体に格納して頒布または伝送して頒布することができる。
【００５３】
これまで本発明を、特定の実施形態および実施例をもって説明してきたが、本発明は、特定の実施形態または実施例に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれる。
【符号の説明】
【００５４】
７０５  文書データ記憶部
７１０  文書データ取得部
７２０  有向グラフ変換部
７３０  グラフデータ記憶部
７４０  類似度判定部
７５０  判定結果累積部
７６０  判定結果出力部
【図１】
0005467643.tif 000005
【図２】
0005467643.tif 000006
【図３】
0005467643.tif 000007
【図４】
0005467643.tif 000008
【図５】
0005467643.tif 000009
【図６】
0005467643.tif 000010
【図７】
0005467643.tif 000011
【図８】
0005467643.tif 000012
【図９】
0005467643.tif 000013
【図１０】
0005467643.tif 000014
【図１１】
0005467643.tif 000015