説明

類似文書可視化装置、類似文書可視化方法およびプログラム

【課題】文書データ群内の文書データの理解効率を高める。
【解決手段】類似文書可視化装置100は、文書データ群に含まれる複数の文書データの各二文書データ間の内容を比較して類似度を算出する。そして、文書データ群に含まれる文書データのうち利用者により選択された文書データに類似する文書データを、算出した類似度に基づいて抽出し、抽出した文書データと利用者により選択された文書データの識別記号をそれぞれの文書データの文字数に基づいて整列して表示する。また、表示した識別記号同士をリンクするリンク記号を選択可能に表示し、リンク記号が利用者から選択されたことに応じてリンクされている識別記号に対応する文書データを表示する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、類似文書可視化装置、類似文書可視化方法およびプログラムに関する。
【背景技術】
【0002】
近年、データの記憶媒体の大容量化・低価格化が急速に進んでおり、作成される文書データ量も膨大になってきている。そのため、類似する文書データ間の差分や関係を利用者に提示し、利用者による文書データ群内の文書データの理解効率を高める技術が一般に用いられている。
【0003】
例えば、文書データ同士の内容を比較して文書データ間の類似パターンを判定し、文書データの最終更新日に基づいて配列して表示する技術が用いられている(特許文献1)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2010−061587号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、特許文献1に記載の技術では、文書データの最終更新日の情報が必ずしも正確な情報であるとは限らないため、正確な情報に基づいて配列されない可能性があり、利用者にとって、表示された文書データ群内の文書データを効率よく理解すること(理解効率)が困難となる場合がある。したがって特許文献1に記載の技術では、文書データ群内の文書データの理解効率を高めるという観点からみると未だ十分とは言えない。
【0006】
本発明は、上述のような事情に鑑みてなされたものであり、文書データ群内の文書データの理解効率を高めることのできる類似文書可視化装置、類似文書可視化方法およびプログラムを提供することを目的としている。
【課題を解決するための手段】
【0007】
上記目的を達成するため、本発明の第1の観点に係る類似文書可視化装置は、
文書データ群に含まれる複数の文書データの各二文書データ間の内容の類似度を算出する類似度算出手段と、
前記文書データ群に含まれる文書データのうち利用者により選択された文書データに類似する一又は複数の文書データを前記類似度算出手段で算出した類似度に基づいて抽出する文書データ抽出手段と、
前記文書データ抽出手段で抽出した文書データを識別する識別記号と前記利用者に選択された文書データを識別する識別記号とを各文書データの文字数に基づいて整列して表示する識別表示整列手段と、
前記識別表示整列手段で表示した識別記号同士をリンクするリンク記号を選択可能に表示するリンク表示手段と、
前記リンク記号が利用者から選択されたことに応じて、該リンクされている識別記号に対応する文書データをそれぞれ特定する文書データ特定手段と、
類似度に対応付けられて予め複数記憶されている類似情報のうち、前記文書データ特定手段で特定した文書データ間の類似度に対応する類似情報を表示する類似情報表示手段と、
を備えることを特徴とする。
【0008】
前記識別表示整列手段で整列した識別記号それぞれに対応する文書データついて、該文書データと最も類似度の高い文書データを前記類似度算出手段に基づいて判定する類似度判定手段をさらに備え、
前記リンク表示手段は、
前記類似度判定手段で判定した類似度の文書データの識別記号同士をリンクするリンク記号を選択可能に表示する、ようにしてもよい。
【0009】
前記類似度算出手段は、
二文書データ間の内容を各文書データのページ毎に比較してページ毎の類似度を算出するページ別類似度算出手段を備え、
前記ページ別類似度算出手段で算出したページ毎の類似度に基づいて前記二文書データ間の類似度を算出し、
前記類似情報表示手段は、
前記ページ別類似度算出手段で算出したページ毎の類似度に基づいて前記文書データ特定手段で特定した文書データ間のページ毎の類似情報を表示する、ようにしてもよい。
【0010】
上記目的を達成するため、本発明の第2の観点に係る類似文書可視化方法は、
文書データ群に含まれる複数の文書データの各二文書データ間の内容の類似度を算出する類似度算出ステップと、
前記文書データ群に含まれる文書データのうち利用者により選択された文書データに類似する一又は複数の文書データを前記類似度算出ステップで算出した類似度に基づいて抽出する文書データ抽出ステップと、
前記文書データ抽出ステップで抽出した文書データを識別する識別記号と前記利用者に選択された文書データを識別する識別記号とを各文書データの文字数に基づいて整列して表示する識別表示整列ステップと、
前記識別表示整列ステップで表示した識別記号同士をリンクするリンク記号を選択可能に表示するリンク表示ステップと、
前記リンク記号が利用者から選択されたことに応じて、該リンクされている識別記号に対応する文書データをそれぞれ特定する文書データ特定ステップと、
類似度に対応付けられて予め複数記憶されている類似情報のうち、前記文書データ特定ステップで特定した文書データ間の類似度に対応する類似情報を表示する類似情報表示ステップと、
を備えることを特徴とする。
【0011】
上記目的を達成するため、本発明の第3の観点に係るプログラムは、
コンピュータを、
文書データ群に含まれる複数の文書データの各二文書データ間の内容の類似度を算出する類似度算出手段、
前記文書データ群に含まれる文書データのうち利用者により選択された文書データに類似する一又は複数の文書データを前記類似度算出手段で算出した類似度に基づいて抽出する文書データ抽出手段、
前記文書データ抽出手段で抽出した文書データを識別する識別記号と前記利用者に選択された文書データを識別する識別記号とを各文書データの文字数に基づいて整列して表示する識別表示整列手段、
前記識別表示整列手段で表示した識別記号同士をリンクするリンク記号を選択可能に表示するリンク表示手段、
前記リンク記号が利用者から選択されたことに応じて、該リンクされている識別記号に対応する文書データをそれぞれ特定する文書データ特定手段、
類似度に対応付けられて予め複数記憶されている類似情報のうち、前記文書データ特定手段で特定した文書データ間の類似度に対応する類似情報を表示する類似情報表示手段、
として機能させることを特徴とする。
【発明の効果】
【0012】
本発明によれば、文書データ群内の文書データの理解効率を高めることのできる類似文書可視化装置、類似文書可視化方法およびプログラムを提供することができる。
【図面の簡単な説明】
【0013】
【図1】本発明の実施形態に係る類似文書可視化装置の一例を示すブロック図である。
【図2】本発明の実施形態に係る類似文書可視化装置にて行われる類似度判定処理の一手順を示すフローチャートである。
【図3】本発明の実施形態に係る類似文書可視化装置にて行われる類似関係分類処理の一手順を示すフローチャートである。
【図4】文書データ群に含まれる文書データの一例を示す図である。
【図5】ページリストの一例を示す図である。
【図6】類似関係テーブルの一例を示す図である。
【図7】本発明の実施形態に係る類似文書可視化装置にて行われるツリー表示処理の一手順を示すフローチャートである。
【図8】表示部に表示されるツリー表示の一例を示す図である。
【図9】本発明の実施形態に係る類似文書可視化装置にて行われる差分表示処理の一手順を示すフローチャートである。
【図10】表示部に表示される差分表示の一例を示す図である。
【発明を実施するための形態】
【0014】
以下、本発明の実施形態に係る類似文書可視化装置100を、図面を参照して説明する。
【0015】
本実施形態に係る類似文書可視化装置100は、文書データ群の中から選択された文書データの内容とその他の複数の文書データの内容とを比較して類似度を算出し、類似度に応じて所定の文書データに類似する文書データをツリー状でかつ選択可能に表示し、利用者からの選択に基づいて二文書データ間の差分内容を表示する、プログラム制御により動作するコンピュータである。
【0016】
類似文書可視化装置100は、図1に示すように、入力部210と、表示部220と、記憶部230と、制御部240と、上記各部を相互に接続するシステムバス260を備えている。
【0017】
入力部210は、例えば、キーボードやマウス等であり、表示部220は、例えば、入力画面やユーザにより入力された情報を後述する制御部240を介して表示するモニター等である。
【0018】
記憶部230は、フラッシュメモリ、ハードディスク等の不揮発性メモリから構成され、プログラム231が格納される。記憶部230には、制御部240の各機能部を実現させるためのプログラム231や文書データ群に含まれる各文書データのページ数等の情報を示す文書データ情報232が記憶されている。
【0019】
プログラム231は、二文書データ間の差分値を算出して文書データ間のページ毎の類似度を示すリストを作成や二文書データ間の文書データ間の類似度や類似関係等を示すテーブルを作成する類似度判定処理や、類似度に応じて所定の文書データに類似する文書データをツリー状で且つ選択可能に表示するツリー表示処理や、利用者からの選択に応じて文書データ間の差分を表示する差分表示処理等が記載されたプログラムである。
【0020】
文書データ情報232は、図示は省略するが、文書データ群に含まれる各文書データのページ数や文書データ群に含まれる文書データの文書データ数を示す情報である。
【0021】
制御部240は、CPU等から構成される。制御部240は、プログラム231に従って動作し、類似度判定処理やツリー表示処理、及び、差分表示処理に必要な機能を提供する。制御部240は、プログラム231により提供される主要な機能部として、類似度判定部241と、ツリー表示部242と、差分箇所表示部243を備えている。
【0022】
類似度判定部241は、文書データ群の中の文書データ同士を全て比較し、所定の算出方法に基づいて各文書データ間の類似度を算出する。具体的には、任意の文書データの内容をページ毎に他の文書データの全ページの内容と1文字ずつ比較し、一致している文字数をカウントする。そして予め定められているページ別類似度算出式にカウント値を代入することにより、ページ別の類似度を算出する。そして、予め定められている文書データ間類似度算出式に、算出したページ別の類似度をそれぞれ代入することにより、文書データ間の類似度を算出する。また、類似度判定部241は、算出した文書データ間の類似度と予め定められた閾値とを比較して、文書データ間の類似関係を判定する。類似関係は、文書データ間の類似度に応じた段階別の分類を示す。本実施形態では、類似する程度が大きいものから順に、「類似文書データ」、「一部流用」、「関係性なし」といった3つの分類が設定されており、文書データ間の類似関係は、これらのいずれかに分類されることになる。なお、文書データ間の類似度や類似関係は、図6に示すような類似関係テーブルとして記憶部230に格納される。また、ページ別の類似度についても記憶部230に格納される。
【0023】
類似関係テーブルは、文書データ群に含まれる全ての文書データについて、文書データ間の類似度、分類された類似関係、各文書データのページリスト、文書データ間の類似度の算出式をそれぞれ示すテーブルである。なお、図6に示す例では、文書データ群に文書データA〜Dが含まれ、文書データ間の類似度や類似関係等の情報が示されているが、類似関係テーブルに示される各情報の生成方法については後述する。
【0024】
ツリー表示部242は、利用者から任意の文書データが選択されることに基づいて、記憶部230に格納されている類似関係テーブルから、選択された文書データに対して「類似文書データ」、「一部流用」関係にある文書データを検索し、該当する文書データを抽出する。そして当該選択された文書データを基準文書データとして、基準文書データと検索された各文書データをそれぞれ類似度の高い順に双方向に結線し、ツリー構造を生成して表示部220へ供給する。
【0025】
差分箇所表示部243は、記憶部230に格納されたページ別の類似度に基づいて、表示部220に選択可能に表示されたツリー構造のうち、利用者に選択された結線で結ばれる文書データ同士の差分をページ毎に表示する。具体的には、図10に示すように、文書データAから文書データBへ向かう結線が利用者により選択された場合には、文書データBが文書データAにからどのように作成されるのかを示す情報を表示する。一方、文書データBから文書データAへ向かう結線が選択された場合には、文書データAが文書データBからどのように作成されるのかを示す情報を表示する。なお、差分箇所表示部243の詳細な動作については後述する。
【0026】
以上が、類似文書可視化装置100の構成である。続いて、類似文書可視化装置100の動作について、図2〜図10を参照して説明する。
【0027】
まず、類似度判定処理について図2を参照して説明する。類似度判定処理は、利用者が入力部210を操作することにより、入力部210から制御部240に操作指示が供給されることに応じて開始される。
【0028】
制御部240は、類似度判定部241の機能により以下に示す処理を行う。制御部240は、文書データ群の中から任意の一文書データを基準文書データとして選択する(ステップS101)。続いて制御部240は、文書データ群の中からステップS101で選択した文書データ以外の任意の文書データを比較文書データとして選択する(ステップS102)。
【0029】
続いて制御部240は、選択した2つの文書データを比較して二文書データ間の類似関係を分類する類似関係分類処理を実行する(ステップS103)。類似関係分類処理の詳細については後述する。制御部240は、基準文書データと、文書データ群に含まれる比較文書データのうちの全ての比較文書データについて類似関係分類処理が実行されたか否かを判定する(ステップS104)。ステップS101の処理にて文書データAが選択された場合には、文書データAと文書データB〜Dそれぞれについて類似関係分類処理が実行されたか否かを判定する。基準文書データと全ての比較文書データについて類似関係分類処理が実行されたと判定した場合(ステップS104;Yes)、制御部240は、文書データ群に含まれる全ての文書データが基準文書データとして選択されたか否かを判定する(ステップS105)。一方、ステップS104の処理において、基準文書データと全ての比較文書データについて類似関係分類処理が実行されていないと判定した場合(ステップS104;No)、制御部240は、ステップS102に戻り、文書データ群に含まれる比較文書データのうち、既に選択済みでない文書データを比較文書データとして選択し、上記ステップS103〜S104の処理を繰り返す。
【0030】
ステップS105の処理において、文書データ群に含まれる全ての文書データが基準文書データとして選択されたと判定した場合(ステップS105;Yes)、制御部240は処理を終了する。一方、文書データ群に含まれる全ての文書データが基準文書データとして選択されていないと判定した場合(ステップS105;No)、制御部240は、ステップS101に戻り、未だ選択されていない文書データを基準文書データとして選択し、ステップS102以降の処理を実行する。
【0031】
次に、ステップS103における類似関係分類処理について、図3を参照して説明する。まず、制御部240は、基準文書データの一のページと比較文書データの全ページとを1ページ毎に順に比較する(ステップS201)。具体的には、基準文書データと比較文書データの内容を比較し、一致した文字数をカウントして記憶部230にカウント値を記憶する。なお、基準文書データ及び比較文書データのうち、図表が含まれているものはテキストのみを抽出してテキスト同士を比較する。
【0032】
続いて制御部240は、記憶部230に記憶したカウント値に基づいて、基準文書データの一のページと比較文書データの各ページにおける類似度を算出する(ステップS202)。具体的には、予め設定されているページ別類似度算出式に基づいて類似度を算出する。本実施形態におけるページ別類似度算出式は、例えば、次の式(1)に示す内容で設定されている。
類似度=カウント値×2÷(基準文書データの文字数+比較文書データの文字数)・・・(1)
【0033】
次に、制御部240は、算出したページ毎の類似度が予め設定された閾値以上であるか否かをページ毎にそれぞれ判定して、閾値以上であるページが存在するか否かを判別する(ステップS203)。閾値以上であるページが存在しないと判別した場合(ステップS203;No)、制御部240は、基準文書データの当該ページ番号に対応する類似度を「0」、比較文書データのページ番号を「x」として図5(B)に示すようなページリスト1に記録する(ステップS204)。なお、ページリスト1は記憶部230に格納される。図3に戻り、閾値以上であるページが存在すると判定した場合(ステップS203;Yes)、制御部240は、算出したページ毎の類似度のうち、最も高い類似度のページ番号を、その類似度とともに、基準文書データの当該ページ番号に対応する比較文書データのページ番号及び類似度としてページリスト1に記録する(ステップS205)。
【0034】
続いて制御部240は、基準文書データの全てのページについて上記ステップS201〜S204またはステップS201〜S205の処理を実行したか否かを判定する(ステップS206)。基準文書データの全てのページについて処理を実行していないと判定した場合(ステップS206;No)、制御部240は、基準文書データのページ番号を1加算して次のページを比較ページとの比較対象とし(ステップS207)、ステップS201の処理に戻る。
【0035】
一方、基本文書データの全てのページについて処理を実行したと判定した場合(ステップS206;Yes)、制御部240は、基準文書データと比較文書データを入れ替えて上記ステップS201〜S207の処理を実行する(ステップS208)。具体的には、ステップS101で選択された基準文書データを比較文書データに、ステップS102で選択された比較文書データを基準文書データとして、ステップS201〜S206の処理を実行する。この場合、ステップS204及びS205において記録されるページリストは、ページリスト1とは異なるページリスト2とする。
【0036】
次に、制御部240は、文書データ間類似度算出式に基づいて文書データ間の類似度を算出する(ステップS209)。具体的には、ページリスト1及びページリスト2におけるページ毎の類似度を足し合わせた値を、基準文書データのページ数と比較文書データのページ数を足し合わせた値で割ることにより、文書データ間の類似度を算出する。
【0037】
続いて制御部240は、算出した文書データ間の類似度が予め設定された閾値以上であるか否かを判定する(ステップS210)。閾値以上であると判定した場合(ステップS210;Yes)、制御部240は、文書データ間の類似関係を「類似文書データ」と判定し、判定した類似関係を、類似度、ページリスト1、ページリスト2、及び、文書データ間の類似度の算出式とともに、図6に示すような類似関係テーブルに記録して(ステップS211)、処理を終了する。
【0038】
図3に戻り、閾値未満であると判定した場合には(ステップS210;No)、類似するページが1ページ以上存在するか否かを判定する(ステップS212)。類似するページが存在するか否かは、ページリスト1及び2を参照し、類似度が「0」でないページが存在するか否かにより判定し、類似度が「0」でないページが存在する場合には類似するページが存在することになる。類似するページが1ページ以上存在すると判定した場合(ステップS212;Yes)、制御部240は、文書データ間の類似関係を「一部流用」と判定し、判定した類似関係を、類似度、ページリスト1、ページリスト2、及び、文書データ間の類似度の算出式とともに、類似関係テーブルに記録して(ステップS213)、処理を終了する。一方、類似するページが存在しないと判定した場合(ステップS212;No)、制御部240は、文書データ間の類似関係を「関係性なし」と判定し、判定した類似関係を、類似度、ページリスト1、ページリスト2、及び、文書データ間の類似度の算出式とともに、類似関係テーブルに記録して(ステップS214)、処理を終了する。
【0039】
次に、理解を容易にするため、類似度判定処理について、図4に示すように文書データ群に文書データA〜Dが含まれる場合を例に説明する。文書データA〜Dそれぞれの内容は、図4に示す内容とする。
【0040】
まず、制御部240は、ステップS101の処理において文書データ群の中から任意の一文書データを基準文書データとして選択する。この例では、文書データAを基準文書データとして選択する。続いてステップS102の処理において文書データA以外の文書データを比較文書データとして選択する。この例では、文書データBを比較文書データとして選択する。
【0041】
続いてステップS103の処理において文書データAと文書データBについて類似関係分類処理を実行する。類似関係分類処理では、まず、ステップS201の処理により基準文書データである文書データAの最初の1ページと比較文書データである文書データBの全ページが比較され、ステップS201の処理により、文書データAの最初の1ページの比較文書データの各ページに対する類似度が算出される。具体的には、文書データAと文書データBにおける比較対象のページ毎に、一致している文字数をカウントし、上記式(1)に基づいて類似度を算出する。この例では、文書データAの1ページ目と文書データBの1ページ目とでは、6文字が一致しており、文書データAの1ページ目及び文書データBの1ページ目はそれぞれ8文字であるため、類似度は0.75と算出される。また、文書データAの1ページ目と文書データBの2ページ目、文書データAの1ページ目と文書データBの3ページ目とを比較して類似度を算出する(類似度はそれぞれ0.08と0)。
【0042】
次に、ステップS203の処理において、算出した類似度が予め設定されている閾値以上であるページが存在するか否かを判定する。この例では、閾値が0.6に設定されていることとすると、文書データAの1ページ目と文書データBの1ページ目の類似度が0.75であることから、ステップS205の処理に移り、文書データAの1ページ目と文書データBの1ページ目の類似度が最も高いことから、図5(A)に示すようにページリスト1に各情報を記録する。
【0043】
続いてステップS206の処理において、基準文書データである文書データAの全ページについて処理を実行したか否かを判定し、文書データAの2ページ目については処理を実行していないため、ステップS207の処理に移り、文書データAの2ページ目を比較対象ページとする。そして、再度ステップS201〜S207の処理を実行する。ステップS206の処理において今度は基準文書データAの全ページについて処理を実行したと判定し、ステップS208の処理に移る。
【0044】
ステップS208の処理において、基準文書データである文書データAを比較文書データに、比較文書データである文書データBを基準文書データとして基準文書データと比較文書データを入替え、ステップS201〜S207の処理を実行する。なお、ステップS208の処理では、ページリスト2に情報が記録される。具体的には、文書データBの1ページ目から順に文書データAの全ページを比較して類似度を算出する。この例では、ステップS203の処理において文書データBの2ページ目と文書データAの各ページとの類似度がいずれも閾値未満であることから、ステップS204の処理により、図5(A)に示すページリスト2における比較文書データのページ番号に「x」を、類似度に0を記録する。
【0045】
続いてステップS209の処理において文書データAと文書データBにおける文書データ間の類似度を算出する。この例では、ページリスト1及びページリスト2に記録された類似度(0.75、1、0.75、0、1)をそれぞれ足し合わせ、その値を文書データAのページ数(2)と文書データBのページ数(3)を足し合わせた値で割ることで類似度を算出する。したがって、文書データAとBとの間の類似度は(0.75+1+0.75+0+1)÷(2+3)により算出され、0.7となる。
【0046】
次に、ステップS210の処理において、算出した類似度が予め設定されている閾値以上であるか否かを判定する。この例では閾値は0.6に設定されており、文書データAとBとの間の類似度は閾値以上であることから、ステップS211の処理により、文書データ間の類似関係を「類似文書データ」と判定し、図6に示す類似関係テーブルに記録する。そして類似関係分類処理を終了し、ステップS104に移行する。
【0047】
ステップS104の処理において、基準文書データである文書データAと全ての比較文書データ(文書データB〜D)との間で類似関係分類処理を実行したか否かを判定し、文書データCや文書データDを比較文書データとして類似関係分類処理を実行していないため、ステップS102の処理に戻り、文書データC又は文書データDを比較文書データに選択し、ステップS103の処理を実行する。ステップS104の処理において全ての比較文書データ(文書データB〜D)との間で類似関係分類処理を実行したと判定した場合、ステップS105の処理において文書データA〜Dのうち全ての文書データが基準文書データとして選択されたか否かを判定する。そして文書データA以外の文書データを基準文書データとして選択していないため、ステップS101に戻り、文書データB〜Dのいずれかの文書データを基準文書データとして選択してステップS101〜S105の処理を実行する。ステップS105の処理において、文書データA〜Dの全ての文書データを基準文書データとして選択したと判定した場合、類似度判定処理を終了する。
【0048】
次に、ツリー表示処理について、図7〜図8を参照して説明する。ツリー表示処理は、利用者が入力部210を操作することにより、入力部210から制御部240に操作指示が供給されることに応じて開始される。
【0049】
制御部240は、ツリー表示部242の機能により以下に示す処理を行う。制御部240は、文書データ群に含まれる文書データのうち、利用者から選択された文書データ(選択文書データ)との類似関係が「類似文書データ」又は「一部流用」である文書データを、記憶部230に記憶されている類似関係テーブルから検索し、抽出する(ステップS301)。
【0050】
次に、制御部240は、選択文書データと抽出した文書データとの文字数をカウントして文字数順に配列し、表示部220に表示する(ステップS302)。具体的には、文字数の少ない文書データから順に配列して表示部220に表示する。
【0051】
続いて制御部240は、選択文書データ及び抽出した文書データそれぞれにつき、類似度の最も高い文書データ同士を図8に示すように相互に結線し(ステップS303)、処理を終了する。具体的には、記憶部230に記憶されている類似関係テーブルを参照し、ステップS301で抽出した文書データのうち選択文書データと最も類似度の高い文書データと選択文書データを相互に結線する。そして、ステップS301で抽出した「類似文書データ」及び「一部流用」の類似関係の各文書データについて、当該抽出した文書データのうちの類似度の最も高い文書データとそれぞれ相互に結線する。なお、上記ステップS303までの処理を行い、表示している文書データが島に別れている状態である場合には、島に含まれるそれぞれの文書データの中で、他の島に含まれる文書データのうちの最も類似度が高い文書データと相互に結線し、島同士を結線する。島に別れている状態とは、鎖状に結線されている文書データ群が複数存在する状態をいう。
【0052】
続いて、理解を容易にするため、類似度判定処理で説明した場合と同様に、ツリー表示処理について、文書データ群に文書データA〜Dが含まれる場合を例に説明する。ここでは、選択文書データとして利用者から文書データBが選択されたことを前提とする。
【0053】
まず、制御部240は、ステップS301の処理において選択文書データである文書データBとの類似関係が「類似文書データ」または「一部流用」である文書データを記憶部230に記憶されている図6に示す類似関係テーブルから検索し、文書データA及び文書データDを抽出する。
【0054】
続いて制御部240は、ステップS302の処理において、選択文書データである文書データBと抽出文書データである文書データA及びDの文字数をそれぞれカウントし、文字数順に配列して表示部220に表示する。
【0055】
次に、制御部240は、ステップS303の処理において、記憶部230に記憶されている類似関係テーブルを参照し、文書データB、文書データA、文書データDのそれぞれについて類似度の最も高い文書データを相互に結線する。具体的には、文書データBと最も類似度が高い文書データは文書データAであることから制御部240は文書データAと文書データBを図8に示すように相互に結線して表示する。また、文書データDと最も類似度が高いのは文書データBであることから、文書データBと文書データDを相互に結線する。なお、文書データAと最も類似度が高いのは文書データBであるが、既に結線されているため文書データAについては省略する。そして、処理を終了する。
【0056】
次に、差分表示処理について、図9〜図10を参照して説明する。差分表示処理は、利用者が入力部210を操作することにより、入力部210から制御部240に操作指示が供給されることに応じて開始される。
【0057】
制御部240は、差分箇所表示部243の機能により以下に示す処理を行う。図9に示すように、制御部240は、利用者から選択された結線に対応する文書データのページリスト1を記憶部230から読み込む(ステップS401)。
【0058】
続いて制御部240は、読み込んだページリスト1の基準文書データのページ番号と当該基準文書データに対応する比較文書データのページ番号とが一致するか否かを判定する(ステップS402)。なお、ページ番号の比較は、ページリスト1の先頭から行う。基準文書データのページ番号と比較文書データのページ番号とが一致すると判定した場合(ステップS402;Yes)、制御部240は、対応する類似度が「1」であるか否かをページリストに基づいて判定する(ステップS403)。類似度が「1」であると判定した場合(ステップS403;Yes)、制御部240は、当該ページについては差分がないと判定し、当該ページについての表示を行わない(ステップS404)。一方、類似度が「1」でないと判定した場合(ステップS403;No)、制御部240は、当該ページが一部修正された文書データであると判定し、基準文書データのページ番号とともに「コピーして一部修正」と表示部220に表示する(ステップS405)。
【0059】
基準文書データのページ番号と比較文書データのページ番号とが不一致であると判定した場合(ステップS402;No)、制御部240は、当該比較文書データのページ番号が「x」であるか否かを判定する(ステップS406)。ページ番号が「x」であると判定した場合(ステップS406;Yes)、制御部240は、当該ページが新規に作成したものであると判定し、表示部220に、基準文書データのページ番号とともに「新規作成」と表示部220に表示する(ステップS407)。一方、ページ番号が「x」でないと判定した場合(ステップS406;No)、制御部240は、対応する類似度が「1」であるか否かをページリストに基づいて判定する(ステップS408)。類似度が「1」であると判定した場合(ステップS408;Yes)、制御部240は、当該ページが比較文書データのページ番号からページ番号を変えてコピーものであると判定し、表示部220に、基準文書データのページ番号とともに「比較文書データのページ番号からページ番号を変えてコピー」と表示する(ステップS409)。一方、類似度が「1」でないと判定した場合(ステップS408;No)、制御部240は、当該文書データが比較文書データのページ番号からページ番号を変えてコピーして一部修正したものであると判定し、表示部220に、比較文書データのページ番号からページ番号を変えてコピーして一部修正と表示する(ステップS410)。
【0060】
上記ステップS404、S409、又は、S410の処理の実行後、制御部240は、ページリスト1に記録されている基準文書データの最終ページであるか否かを判定する(ステップS411)。最終ページでないと判定した場合(ステップS411;No)、制御部240は、ページリスト1に記録されている基準文書データのページ番号を1加算して(ステップS412)、ステップS402の処理に戻る。これにより基準文書データの次のページ番号と対応する比較文書データのページ番号とが一致するか否かを判定することとなる。一方、最終ページであると判定した場合(ステップS411;Yes)、制御部240は、記憶部230に記憶されているページリスト2を読み込む(ステップS413)。
【0061】
続いて制御部240は、ページリスト2の比較文書データのページ番号が「x」であるものが存在するか否かを判定する(ステップS414)。ページ番号が「x」であるものが存在すると判定した場合(ステップS414;Yes)、制御部240は、「x」である比較文書データのページ番号に対応する基準文書データのページ番号部分を削除したものと判定し、表示部220に、基準文書データの当該ページ番号で示されるページは削除と表示して(ステップS415)処理を終了する。一方、ページ番号が「x」であるものが存在しないと判定した場合(ステップS414;No)、処理を終了する。
【0062】
続いて、理解を容易にするため、類似度判定処理で説明した場合と同様に、差分表示処理について、文書データ群に文書データA〜Dが含まれる場合を例に説明する。ここでは、図10に示すように、文書データAから文書データBへの結線と文書データBから文書データAへの結線があるため、文書データAから文書データBへの結線が選択された場合と文書データBから文書データAへの結線が選択された場合とに分けて説明する。
【0063】
まず、文書データAから文書データBへの結線が選択された場合について説明する。制御部240は、ステップS401の処理において、図5(B)に示す文書データBのページリスト1を記憶部230から読み込む。続いて制御部240は、ステップS402の処理において、基準文書データのページ番号と比較文書データのページ番号が一致するか否かを判定する。この例では、基準文書データBと比較文書データAのページ番号がそれぞれ「1」であり一致することから、ステップS403の処理に移行し、類似度が1であるか否かを判定する。この例では類似度は「0.75」であるため、図10に示すように当該ページ番号(1ページ)と「コピーして一部修正」とを表示部220に表示する。
【0064】
続いて制御部240は、ステップS411の処理において、ページリスト1に記録されている基準文書データの最終ページであるか否かを判定するが、現段階では基準文書データの1ページ目であるため、最終ページではない。したがって、ステップS412の処理によりページリスト中の基準文書データのページ番号を1加算して2ページ目とし、ステップS402の処理に戻る。ステップS402の処理では、基準文書データのページ番号が「2」で、比較文書データのページ番号が「x」であることから、ステップS406の処理に移行し、比較文書データのページ番号が「x」であるか否かを判定する。
【0065】
この例では、比較文書データのページ番号は「x」であるため、ステップS407の処理に移行し、図10に示すように当該ページ番号(2ページ)と「新規作成」とを表示部220に表示する。その後ステップS411の処理において、ページリスト1に記録されている基準文書データの最終ページであるか否かを判定するが、現段階では基準文書データの2ページ目であるため、最終ページではない。したがって、ステップS412の処理によりページリスト中の基準文書データのページ番号を1加算して3ページ目とし、ステップS402の処理に戻る。ステップS402の処理では、基準文書データのページ番号が「3」で、比較文書データのページ番号が「2」であることから、ステップS406の処理に移行し、比較文書データのページ番号が「x」であるか否かを判定する。
【0066】
この例では、比較文書データのページ番号は「x」ではないため、ステップS408の処理に移行し、類似度が「1」であるか否かを判定する。ここで、類似度は「1」であることから、制御部240は、ステップS409の処理において、図10に示すように当該ページ番号(3ページ)と「2ページをページ番号を変えてコピー」とを表示部220に表示する。
【0067】
再びステップS411の処理において、ページリスト1に記録されている基準文書データの最終ページであるか否かを判定する。そして最終ページであることから、ステップS412の処理に移行する。そして図5(B)に示すページリスト2を読み込み、ステップS414の処理において比較文書データのページ番号中に「x」のページ番号のものが存在するか否かを判定する。この例では、「x」のページ番号のものは存在しないため、制御部240はこの処理を終了する。
【0068】
次に、文書データBから文書データAへの結線が選択された場合について説明する。制御部240は、ステップS401の処理において、図5(A)に示す文書データAのページリスト1を記憶部230から読み込む。続いて制御部240は、ステップS402の処理において、基準文書データのページ番号と比較文書データのページ番号が一致するか否かを判定する。この例では、基準文書データAと比較文書データBのページ番号がそれぞれ「1」であり一致することから、ステップS403の処理に移行し、類似度が1であるか否かを判定する。この例では類似度は「0.75」であるため、図10に示すように当該ページ番号(1ページ)と「コピーして一部修正」とを表示部220に表示する。
【0069】
続いて制御部240は、ステップS411の処理において、ページリスト1に記録されている基準文書データの最終ページであるか否かを判定するが、現段階では基準文書データの1ページ目であるため、最終ページではない。したがって、ステップS412の処理によりページリスト中の基準文書データのページ番号を1加算して2ページ目とし、ステップS402の処理に戻る。ステップS402の処理では、基準文書データのページ番号が「2」で、比較文書データのページ番号が「x」であることから、ステップS406の処理に移行し、比較文書データのページ番号が「x」であるか否かを判定する。
【0070】
この例では、比較文書データのページ番号は「x」ではないため、ステップS408の処理に移行し、類似度が「1」であるか否かを判定する。ここで、類似度は「1」であることから、制御部240は、ステップS409の処理において、図10に示すように当該ページ番号(2ページ)と「3ページをページ番号を変えてコピー」とを表示部220に表示する。
【0071】
再びステップS411の処理において、ページリスト1に記録されている基準文書データの最終ページであるか否かを判定する。そして最終ページであることから、ステップS412の処理に移行する。そして図5(A)に示すページリスト2を読み込み、ステップS414の処理において比較文書データのページ番号中に「x」のページ番号のものが存在するか否かを判定する。この例では、基準文書データのページ番号が2に対応する比較文書データのページ番号が「x」であるため、ステップS415の処理に移行し、図10に示すように「文書データBの2ページは削除」と表示部220に表示する。そして処理を終了する。
【0072】
以上が、類似文書可視化装置100の動作である。このように、ページ毎に類似度を判定することにより、文書データの大部分を追加又は削除した場合や、一部のページのみを流用した場合にも、精度よく2文書データ間の類似性を数値化することができる。また、オフィス文書データの通常の作業過程では文字量は増えていくことが一般的であり、類似文書データ群を可視化する場合に文字数に基づいて配列することで、文書データ群の文書データを精度よく配列することができ、文書データ群内の文書データの理解効率を高めることができる。さらに、差分表示については、2文書データ間の差分をどのような作業により行われたかということを具体的に表示するため、文書データ群内の文書データの理解効率をより高めることができる。
【0073】
(変形例)
この発明は、上記の実施形態に限定されず、種々の変形及び応用が可能である。上記実施形態では、ページ毎に類似度を算出する例を示したが、これは一例である。類似度の算出は、ページ毎に算出しなくてもよく、例えば、章毎や段落毎に行ってもよい。
【0074】
また、上記実施形態では、文書データ間の類似関係を「類似文書データ」、「一部流用」、及び、「関係性なし」の3段階に分類する例を示したがこれは一例である。文書データ間の類似関係は複数段階に分類されていれば3段階でなくてもよく、例えば、4段階であっても5段階であってもよい。
【0075】
また、上記実施形態では、文書データ間の類似度が最も高い文書データを結線する例を示したが、これは一例である。例えば、文書データ間の類似度が最も高い文書データのみではなく2番目に高い文書データや3番目に高い文書データをさらに結線してもよい。
【0076】
また、上述の機能を、OS(Operating System)とアプリケーションとの分担、またはOSとアプリケーションとの協同により実現する場合等には、OS以外の部分のみを媒体に格納してもよい。
【0077】
また、搬送波にプログラム231を重畳し、通信ネットワークを介して配信することも可能である。例えば、通信ネットワーク上の掲示板(BBS、Bulletin Board System)に当該プログラムを掲示し、ネットワークを介して当該プログラムを配信してもよい。そして、これらのプログラムを起動し、オペレーティングシステムの制御下で、他のアプリケーションプログラムと同様に実行することにより、上述の処理を実行できるように構成してもよい。
【符号の説明】
【0078】
100 類似文書可視化装置
210 入力部
220 表示部
230 記憶部
231 プログラム
232 文書データ情報
240 制御部
241 類似度判定部
242 ツリー表示部
243 差分箇所表示部
260 システムバス

【特許請求の範囲】
【請求項1】
文書データ群に含まれる複数の文書データの各二文書データ間の内容の類似度を算出する類似度算出手段と、
前記文書データ群に含まれる文書データのうち利用者により選択された文書データに類似する一又は複数の文書データを前記類似度算出手段で算出した類似度に基づいて抽出する文書データ抽出手段と、
前記文書データ抽出手段で抽出した文書データを識別する識別記号と前記利用者に選択された文書データを識別する識別記号とを各文書データの文字数に基づいて整列して表示する識別表示整列手段と、
前記識別表示整列手段で表示した識別記号同士をリンクするリンク記号を選択可能に表示するリンク表示手段と、
前記リンク記号が利用者から選択されたことに応じて、該リンクされている識別記号に対応する文書データをそれぞれ特定する文書データ特定手段と、
類似度に対応付けられて予め複数記憶されている類似情報のうち、前記文書データ特定手段で特定した文書データ間の類似度に対応する類似情報を表示する類似情報表示手段と、
を備えることを特徴とする類似文書可視化装置。
【請求項2】
前記識別表示整列手段で整列した識別記号それぞれに対応する文書データついて、該文書データと最も類似度の高い文書データを前記類似度算出手段に基づいて判定する類似度判定手段をさらに備え、
前記リンク表示手段は、
前記類似度判定手段で判定した類似度の文書データの識別記号同士をリンクするリンク記号を選択可能に表示する、
ことを特徴とする請求項1に記載の類似文書可視化装置。
【請求項3】
前記類似度算出手段は、
二文書データ間の内容を各文書データのページ毎に比較してページ毎の類似度を算出するページ別類似度算出手段を備え、
前記ページ別類似度算出手段で算出したページ毎の類似度に基づいて前記二文書データ間の類似度を算出し、
前記類似情報表示手段は、
前記ページ別類似度算出手段で算出したページ毎の類似度に基づいて前記文書データ特定手段で特定した文書データ間のページ毎の類似情報を表示する、
ことを特徴とする請求項1又は2に記載の類似文書可視化装置。
【請求項4】
文書データ群に含まれる複数の文書データの各二文書データ間の内容の類似度を算出する類似度算出ステップと、
前記文書データ群に含まれる文書データのうち利用者により選択された文書データに類似する一又は複数の文書データを前記類似度算出ステップで算出した類似度に基づいて抽出する文書データ抽出ステップと、
前記文書データ抽出ステップで抽出した文書データを識別する識別記号と前記利用者に選択された文書データを識別する識別記号とを各文書データの文字数に基づいて整列して表示する識別表示整列ステップと、
前記識別表示整列ステップで表示した識別記号同士をリンクするリンク記号を選択可能に表示するリンク表示ステップと、
前記リンク記号が利用者から選択されたことに応じて、該リンクされている識別記号に対応する文書データをそれぞれ特定する文書データ特定ステップと、
類似度に対応付けられて予め複数記憶されている類似情報のうち、前記文書データ特定ステップで特定した文書データ間の類似度に対応する類似情報を表示する類似情報表示ステップと、
を備えることを特徴とする類似文書可視化方法。
【請求項5】
コンピュータを、
文書データ群に含まれる複数の文書データの各二文書データ間の内容の類似度を算出する類似度算出手段、
前記文書データ群に含まれる文書データのうち利用者により選択された文書データに類似する一又は複数の文書データを前記類似度算出手段で算出した類似度に基づいて抽出する文書データ抽出手段、
前記文書データ抽出手段で抽出した文書データを識別する識別記号と前記利用者に選択された文書データを識別する識別記号とを各文書データの文字数に基づいて整列して表示する識別表示整列手段、
前記識別表示整列手段で表示した識別記号同士をリンクするリンク記号を選択可能に表示するリンク表示手段、
前記リンク記号が利用者から選択されたことに応じて、該リンクされている識別記号に対応する文書データをそれぞれ特定する文書データ特定手段、
類似度に対応付けられて予め複数記憶されている類似情報のうち、前記文書データ特定手段で特定した文書データ間の類似度に対応する類似情報を表示する類似情報表示手段、
として機能させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate