文書差分検出装置
【課題】電子ファイルの変更部分を容易に判別する方法を提供する。
【解決手段】電子ファイル解析手段102は、入力された変更前および変更後の電子ファイルを構成する要素をそれぞれ所定のオブジェクト単位に分割し、オブジェクト属性データ生成手段104は、メタデータをオブジェクト毎に付与し、オブジェクト対応付け手段106は、変更前および変更後の電子ファイル間におけるオブジェクトの対応付けを行い、差分データ出力手段108は、オブジェクトの対応付けに基づいて差分算出処理を行い、その結果を出力する。
【解決手段】電子ファイル解析手段102は、入力された変更前および変更後の電子ファイルを構成する要素をそれぞれ所定のオブジェクト単位に分割し、オブジェクト属性データ生成手段104は、メタデータをオブジェクト毎に付与し、オブジェクト対応付け手段106は、変更前および変更後の電子ファイル間におけるオブジェクトの対応付けを行い、差分データ出力手段108は、オブジェクトの対応付けに基づいて差分算出処理を行い、その結果を出力する。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、変更が加えられた電子ファイルの変更箇所を容易に判別する技術に関する。
【背景技術】
【0002】
近年の情報技術の発達に伴って、電子ファイルを用いた商取引が社会に広く普及してきており、データの再利用などによる業務の効率化が図られている。
【0003】
従来から、電子文書に含まれるテキストや画像をマッチング処理したり、変更履歴を常時記憶しておくことにより電子ファイル間における差分を検出する方法が知られている(特許文献1〜3)。
【0004】
【特許文献1】特開平06−243132号公報
【0005】
【特許文献2】特開平08−190557号公報
【0006】
【特許文献3】特開2004−516585号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、これら従来の文書差分検出装置は、以下のような問題があった。
【0008】
(i)テキストや画像のマッチングによる差分検出では、レイアウトやフォントなどの詳細な変更要素まで特定することはできず、文章の構成が変更したような場合(例えば、段落の移動など)には差分箇所を容易に特定することはできなかった。
【0009】
(ii)同じファイル形式の電子ファイル間における差分検出を前提としていたため、異なるファイル形式の電子ファイルについては差分検出を行うことができなかった。
【0010】
(iii)文書の差分を検出するために変更履歴データを常時記憶しておくのはユーザーなどにとって面倒な作業であり、特に、異なるユーザー間(例えば、受注者と発注者間)において電子ファイルを取り扱うような場合には差分を検出するために変更履歴データも受け渡す必要が生じるため面倒である。
【0011】
この発明は、上記問題を解決し、電子ファイルの変更部分を容易に判別する方法を提供することを目的とする。
【課題を解決するための手段】
【0012】
(1、2)この発明の文書差分検出装置は、
電子ファイル間における差分を検出するための文書差分検出装置であって、
差分の検出処理を行う対象となる第1および第2の電子ファイルをそれぞれ入力するための電子ファイル入力手段、
入力された第1および第2の電子ファイルを構成する要素をそれぞれ所定のオブジェクト単位に分割する電子ファイル解析手段、
第1および第2の電子ファイルからメタデータを抽出し、それぞれのオブジェクト毎に付与することによりオブジェクト属性データを生成するオブジェクト属性データ生成手段、
第1および第2の電子ファイルについて生成した各オブジェクト属性データに基づいて、第1および第2の電子ファイル間におけるオブジェクトの対応付けを行うオブジェクト対応付け手段、
前記オブジェクトの対応付けに基づいて差分算出処理を行い、その結果を差分データとして出力する差分データ出力手段、
を備えたことを特徴とする。
【0013】
これにより、電子ファイルに些細な変更(例えば、フォントサイズの変更、画像の位置移動)が加えられたような場合でも、変更前および変更後の電子ファイルさえ存在すれば、詳細な差分データを容易に得ることができる。
【0014】
(3)この発明の文書差分検出装置においては、
前記オブジェクト対応付け手段は、オブジェクト属性データであるコンテンツ、文書構成、レイアウトの各データが一致するか否かを判定することによりオブジェクトの対応付けを行い、
前記差分データ出力手段は、コンテンツ、文書構成、レイアウトについて差分算出処理を行った結果を差分データとして出力する、
ことを特徴とする。
【0015】
これにより、電子ファイルに些細な変更(例えば、フォントサイズの変更、画像の位置移動)が加えられたような場合でも、コンテンツ、文書構成、レイアウトについて差分算出処理を行うことで、詳細な差分データを得ることができる。
【0016】
(4)この発明の文書差分検出装置においては、
前記オブジェクト対応付け手段は、コンテンツデータが共通するオブジェクトについて、コンテンツ、文書構成、レイアウトの各データが全て一致する場合には同一オブジェクトとして対応付けを行い、コンテンツ、文書構成、レイアウトの何れかのデータが異なる場合には関連オブジェクトとして対応付けを行い、
前記差分データ出力手段は、関連オブジェクトについて差分算出処理を行って更新項目とし、共通するコンテンツの存在しないオブジェクトについては追加または削除項目として差分データを出力する、
ことを特徴とする。
【0017】
これにより、関連オブジェクトと同一オブジェクトに分けて確実に対応付けを行うことが可能となり、詳細な差分データを効率的に得ることができる。
【0018】
(5)この発明の文書差分検出装置においては、
前記オブジェクト対応付け手段は、オブジェクト属性データの類似性を算出し、最も類似性の高いオブジェクトを関連オブジェクトとして対応付けを行う、
ことを特徴とする。
【0019】
これにより、オブジェクト属性データに部分的な変更が加えられた場合であっても適切にオブジェクトの対応付けを行うことができる。
【0020】
(6)この発明の文書差分検出装置においては、
前記差分データ出力手段は、差分算出処理の際に、テキストについて意味解析を行う、
ことを特徴とする。
【0021】
これにより、意味的には変わらないが表現的な変更が加えられた場合に、全く意味内容が変更された場合と区別して差分データを出力することができる。
【0022】
(7)この発明の文書差分検出装置においては、
前記差分データ出力手段は、差分算出処理の際に、画像についてベクター形式の場合にラスター形式に変換した後、画像マッチングを行う、
ことを特徴とする。
【0023】
これにより、ベクター形式の画像についても確実に差分算出処理を行って差分データを得ることができる。
【0024】
(8)この発明の文書差分検出装置においては、
第1の電子ファイルのファイル形式と第2の電子ファイルのファイル形式が異なる、
ことを特徴とする。
【0025】
これにより、異なったファイル形式の電子ファイル間においても差分データを得ることが可能となり、汎用的な文書差分検出装置を提供することができる。
【0026】
(9)この発明の文書差分検出装置においては、
差分データ出力手段から出力されたコンテンツ、文書構成、レイアウトの各差分データを表示する差分データ表示手段、
を備えたことを特徴とする。
【0027】
これにより、ユーザーがコンテンツ、文書構成、レイアウトの各差分結果を容易に把握することができる。
【0028】
(10)この発明の文書差分検出装置においては、
前記差分データ表示手段は、差分データ出力手段から出力されたコンテンツ、文書構成、レイアウトの各差分データを考慮して、
第1の電子ファイルを表示するレイヤーと、第2の電子ファイルを表示するレイヤーと、第1および第2の電子ファイルの差分箇所を強調表示するレイヤーとを重ねて表示する、
ことを特徴とする。
【0029】
これにより、ユーザーがコンテンツ、文書構成、レイアウトの差分結果を1つの表示画面上で把握することができる。
【0030】
この実施形態において、「メタデータ」とは、分割されたオブジェクトについての属性情報(コンテンツ、レイアウト、文書構造など)を示すデータをいう。
【発明を実施するための最良の形態】
【0031】
1.文書差分検出装置1の機能ブロック図
図1は、この発明の文書差分検出装置1の機能ブロック図である。図1に示すように、この発明の文書差分検出装置1は、電子ファイル入力手段100、電子ファイル解析手段102、オブジェクト属性データ生成手段104、オブジェクト対応付け手段106、差分データ出力手段108を備えている。
【0032】
図1に示す文書差分検出装置1の電子ファイル入力手段100は、差分の検出処理を行う対象となる第1(変更前)および第2(変更後)の電子ファイルをユーザーがそれぞれ入力するための手段である。
【0033】
電子ファイル解析手段102は、入力された変更前および変更後の電子ファイルを構成する要素をそれぞれ所定(例えば、テキスト、表、画像など)のオブジェクト単位に分割するための手段である。
【0034】
オブジェクト属性データ生成手段104は、変更前および変更後の電子ファイルから属性データ(例えば、文書構造情報、レイアウト情報、コンテンツ情報)を抽出し、それぞれのオブジェクト毎に付与することによりオブジェクト属性データを生成するための手段である。
【0035】
オブジェクト対応付け手段106は、変更前および変更後の電子ファイルについて生成した各オブジェクト属性データに基づいて、変更前および変更後の電子ファイル間におけるオブジェクトの対応付けを行うための手段である。
【0036】
差分データ出力手段108は、ユーザーに差分データを提示するために、オブジェクトの対応付けに基づいて差分算出処理を行い、その結果を差分データとして出力するための手段である。
【0037】
2.文書差分検出装置1のハードウェア構成など
図2に、この発明の文書差分検出装置(文書差分検出コンピュータ)1のハードウェア構成を示す。図2に示すように、文書差分検出装置1は、CPU10、ディスプレイ12、ハードディスク14、メモリ16、キーボード/マウス18、CD−ROMドライブ20を備えている。
【0038】
図2のハードディスク14には、電子ファイル間における差分を検出する処理を行う文書差分検出装置処理プログラム30が記録されている。また、図2に示す文書差分検出処理プログラム30は、オブジェクト属性データ記憶部32を備えている。文書差分検出処理プログラム30は、CPU10、ディスプレイ12、ハードディスク14、メモリ16、キーボード/マウス18、CD−ROMドライブ20を有するコンピュータを、図1に示す電子ファイル入力手段100、電子ファイル解析手段102、オブジェクト属性データ生成手段104、オブジェクト対応付け手段106、差分データ出力手段108等として機能させるためのプログラムである。
【0039】
なお、差分検出処理プログラム30のハードディスク14へのインストールは、CD−ROMドライブ20を介してCD−ROM22に記録されたデータを読み出して行われる。また、差分検出処理を行う対象となる第1および第2の電子ファイルデータ(図2に示すfile1、file2)は、CD−ROM22に記憶されており、CD−ROMドライブ20を介して入力される。
【0040】
差分検出処理を行う対象となる第1および第2の電子ファイルは、具体的には図3および図4に示すような一般的なワープロソフト(例えば、MicrosoftWord文書、一太郎(何れも登録商標)など)で作成したものである。なお、図3は、変更を加える前の電子ファイルfile1を示す図であり、図4は、図3に示す電子ファイルfile1の内容に変更を加えた後の電子ファイルfile2を示す図である。
【0041】
図4に示すように、電子ファイルfile1からの変更点は、(i)α部分において「1.1.3 既存研究」のフォントサイズが大きくなったこと、(ii)β部分において日付を「2」から「3」に訂正したこと、(iii)γ部分において「・変更前文書と変更後文書を比較することで・・・」(図3を参照)を削除したことの3点であり、差分検出プログラム30はこれらの変更点を差分として検出することになる。
【0042】
差分検出処理プログラム30は、これらの電子ファイル(図2に示すfile1、file2)をそれぞれ所定のオブジェクト単位に分割し、それぞれのオブジェクトに文書構造、レイアウト、コンテンツなどのメタデータを付与して図5に示すオブジェクト属性データ記憶部32に記憶している。なお、この実施形態においては、HTMLのタグ単位(テキスト、画像などのコンテンツを含むもの)毎にオブジェクトを生成している。
【0043】
図5は、オブジェクト属性データ記憶部32のデータ例を示す図である。図5には、変更前の電子ファイルについてのオブジェクト属性データだけを示しているが、変更後の電子ファイルについても同様のオブジェクト属性データがオブジェクト属性データ記憶部32に記憶される。
【0044】
図5に示すように、各オブジェクトにはIDが付されており、文書から抽出した種別(テキスト、画像などの種類)、文書構造、レイアウト、コンテンツの各データ(メタデータ)が共に記憶されている。文書構造データdata1としては、文書をツリー構造化した場合の階層レベル(階層の深さ)、階層ノード名称、親オブジェクトの階層ノードなど、文書全体におけるオブジェクトの位置を特定するためのデータが該当する。図5中のレイアウトデータdata2としては、マージン、フォントサイズ、フォント名などの属性を示すデータが該当する。また、コンテンツデータdata3としては、テキスト、表、画像などの具体的な内容を示すデータが該当するが、ファイル名称(例えば、「gazou001.img」)、保存場所などによってリンクしておけばよい。
【0045】
オブジェクト属性データ記憶部32に記憶されたこれら文書構造、レイアウト、コンテンツの各データに基づいて、以下に示すようなオブジェクトの対応付け処理や差分データの出力処理が行われることになる。
【0046】
3.文書差分検出処理のフローチャート
まず、図6に示す文書差分検出処理のフローチャートを用いて、この発明の文書差分検出プログラム30が行う処理を説明する。
【0047】
まず、文書差分検出プログラム30は、ユーザーによって図3および図4に示すような変更前および変更後の電子ファイル(第1および第2の電子ファイル)の入力があったか否かを判断している(ステップS10)。
【0048】
変更前および変更後の電子ファイルが入力されると、文書解析処理に移行するする(ステップS12)。図7は文書解析処理の詳細を示すフローチャートである。
【0049】
図7に示すように、文書解析処理(ステップS12)においては、まず、オブジェクト分割単位が予め取得される(ステップS20)。この実施形態においては、HTMLのタグが分割単位として予め設定されている。
【0050】
さらに、変更前および変更後の電子ファイルが解析され、それぞれについてのHtmlファイルが取得される(ステップS22)。図8は、図3に示す変更前のワープロ文書をHTML形式に変換したデータを示す図である。なお、ここでは電子ファイルから文書構成要素を分割するために便宜的にHTML形式に変換しているが、電子ファイルから文書構成要素を直接抽出して分割することができる場合にはHTML形式に変換しなくてもよい。
【0051】
文書差分検出プログラム30は、電子ファイルを構成する要素を所定のオブジェクト毎に分割する(ステップS24)。この実施形態では、HTMLのタグが分割単位として予め設定されているため、例えば、図8に示す<title>変更前文書サンプル</title>T0が1のオブジェクトとして分割される。
【0052】
図6に示すように、文書解析処理(ステップS12)の後は、オブジェクト属性データ生成処理(ステップS14)が行われる。図9は、オブジェクト属性データ生成処理(ステップS14)の詳細を示すフローチャートである。
【0053】
オブジェクト属性データ生成処理(図6のステップS14)においては、図9に示すように、まず、分割したオブジェクトに対してIDが付与され、オブジェクト属性データ記憶部32に記憶される(ステップS30)。さらに、各オブジェクトに対して種別の判定が行われ、オブジェクト属性データ記憶部32に記憶される(ステップS32)。
【0054】
その後、図8に示すHTML文書や電子ファイルから抽出したスタイルシート(文書全体に影響する基本レイアウトおよび文書を構成する要素についての詳細レイアウト)を解析することにより、オブジェクト属性データ記憶部32に文書構造データdata1、レイアウトデータdata2、コンテンツデータdata3が記憶される。
【0055】
文書構造データdata1は、図8に示すタグの種類に基づいて文書構造を解析することで得られる。例えば、見出しタグ<hn>(nは数字)は、<h1>が最上位の見出し(大見出し)で、以下数字が小さくなるにつれて下位構造の見出し(小見出し)を示している。また、表の横一行を定義するタグ<tr>の下位には、セルの見出しを示す<th>やセルのデータ示すタグ<td>が位置することを示している。
【0056】
レイアウトデータdata2は、電子ファイルのスタイルシートからレイアウト情報を抽出することにより得ることができる。また、コンテンツデータdata3はHTML文書から抽出して得ることができる。
【0057】
なお、このオブジェクト属性データ生成処理(ステップS14)は、変更前および変更後の電子ファイルfile1、file2(図3、図4を参照)についてそれぞれ行われる。
【0058】
上記オブジェクト属性データ生成処理(図6に示すステップS14)の後、オブジェクト対応付け処理(ステップS16)が行われる。図10は、オブジェクト対応付け処理(ステップS16)の詳細を示すフローチャートである。
【0059】
図10に示すように、まず、変更前の電子ファイルについてのオブジェクトリスト(図5)の最初のオブジェクトが対応付け対象として設定される(ステップS40)。
【0060】
さらに、当該オブジェクトについて、変更後の電子ファイルのオブジェクトリスト内にコンテンツデータが共通するものが存在するか否かを判断する(ステップS42)。なお、コンテンツデータが共通するとしたのは、例えば、テキストの一部に訂正が加えられたようなオブジェクトについては、以下の対応付けを行ってオブジェクト間における差分データ出力処理を行う必要があるためである。例えば、テキストについては総文字数に対するマッチング率が所定のしきい値内にある場合に、画像については総画素数に対する明度、色相、彩度などのマッチング率が所定のしきい値内にある場合に共通すると判断している。
【0061】
コンテンツが共通するデータが存在する場合(ステップS42のYes)には、さらに、オブジェクト属性データ記憶部32を参照して文書構造、レイアウト、コンテンツの各データが全て一致するか否かを判断する(ステップS44)。
【0062】
オブジェクト属性データである文書構造、レイアウト、コンテンツの各データが全て一致する場合には、同一オブジェクトとして対応付けが行われ、メモリ16に記憶される(ステップS46)。
【0063】
文書構造、レイアウト、コンテンツの何れかのデータが異なる場合には、関連オブジェクトとして対応付けが行われ、メモリ16に記憶される(ステップS48)。なお、複数の候補が存在する場合には、マッチング率などにより類似性を算出して最も類似性の高いオブジェクトについて対応付けを行う。ここで対応づけられた関連オブジェクトについて、以下の差分算出処理(図6のステップS18)が行われることになる。
【0064】
以上の処理が、第2の電子ファイルのオブジェクトリスト内の最後のオブジェクトまで繰り返されることになる(ステップS50、ステップS52)。
【0065】
最後に、差分データ出力処理(図6のステップS18)が行われる。図11は、差分データ出力処理の詳細を示すフローチャートである。
【0066】
図11に示すように、まず、メモリ16(図2)を参照することにより、変更前および変更後の電子ファイルについてのそれぞれのオブジェクトリスト(図5)から図10のステップS46において同一オブジェクトとして対応付けられたオブジェクトを削除する(ステップS60)。
【0067】
さらに、残りのオブジェクトについて関連オブジェクトであるか否かを判断し(ステップS62)、図10のステップS48において関連オブジェクトとして対応付けられたオブジェクトについてコンテンツの種別に対応した差分算出処理を行う(ステップS64)。
【0068】
テキストの差分算出処理の場合には、テキストマッチング処理を行い変更箇所を検出する。例えば、図3に示すD1部分のテキスト「1994年9月2日」と図4に示すD2部分のテキスト「1994年9月3日」とのテキスト差分が行われることにより、変更前「2」および変更後「3」の部分が差分(更新項目)として得られる(このように、表に含まれるテキストも通常のテキストとして差分算出処理が行われる)。
【0069】
ここで、さらに変更箇所について意味解析を行って同じ意味内容のテキストであるか否かを判断するようにしてもよい。これにより、単なる表現上の変更が行われたのか、意味内容についての変更が行われたかを別の色などでユーザーに提示することが可能となる。
【0070】
画像の差分算出処理の場合には、例えば、ラスター形式の画像についてはそのまま画像差分を行うが、ベクター形式の画像については一旦ラスター形式に変換した後で画像差分を行うようにすればよい。
【0071】
一方、関連オブジェクトでないオブジェクトについては、追加または削除された項目として出力する(ステップS66)。例えば、変更前のオブジェクトリストのみに存在するオブジェクトは削除された項目と判断され、変更後のオブジェクトリストのみに存在するオブジェクトは追加された項目と判断される。
【0072】
図12に、差分データ出力処理(図6に示すステップS18)の結果得られるデータの例を示す。図12のT1部分に示すように、<sameObjectList>タグ内において、同一オブジェクトがそれぞれのIDが対応付けられている。
【0073】
また、図12のT1〜T3部分を挟んだ<differnceObjectList>タグ内において、対応づけられたオブジェクトの差分データが表されている。具体的には、削除された図4のγ部分に対応するオブジェクトのデータが図2のT2部分に表されている。更新が行われた図4のβ部分に対応する表のオブジェクトがT3部分に表されている。フォントのサイズ変更が行われた図4のα部分に対応するオブジェクトのデータがT4部分に表されている。
【0074】
4.差分データの画面表示例
以下に、上記各処理によって得られた差分データを、差分データ表示手段であるディスプレイ12(図2)に示した表示例を、図13〜図15に示す。なお、図13〜図15に示す表示例は、図12に示す解析結果には対応していない。
【0075】
図13は、テキスト差分データの表示例である。図13に示すように、ウィンドウ左側には、テキスト差分として表示する基本的なデータ項目(オブジェクト総数、同一個数、差分個数、差分内訳)などの情報を示しており、ウィンドウ右側には、変更箇所のリスト表示が行われている。なお、ウィンドウ右側に色分けなどによる差分を強調表示した文書全体の比較表示を行うようにしてもよい。
【0076】
図14は、文書構成差分データの表示例である。図14に示すように、ウィンドウ左側には、文書構成差分として表示する基本的なデータ項目(階層数、ノード数、同一個数、差分個数、差分内訳)などの情報を示しており、ウィンドウ右側には、変更箇所のリスト表示が行われている。なお、ウィンドウ右側にツリー形式で表示する文書全体の構成を表示し、文書構成差分を色分けなどによって強調表示してもよい。
【0077】
図15は、レイアウト差分データの表示例である。図15に示すように、ウィンドウ左側には、基本レイアウト(文書全体のレイアウト情報を解析した同一要素と差分要素の個数)と詳細レイアウト(各オブジェクトのレイアウト情報を解析して同一要素と差分要素の個数を表示したもの)についてのレイアウト差分が示されており、ウィンドウ右側には、変更箇所のリスト表示が行われている。
【0078】
図16は、画像差分データの表示例である。図16に示すように、ウィンドウ左側には、画像総数、同一個数、差分個数、差分内訳(画像の追加、削除、更新、移動)などの基本的な情報を示しており、ウィンドウ右側には、変更箇所のリスト表示が行われている。なお、図17に示すように、ウィンドウ右側に画像差分データを表示してもよい。
【0079】
なお、上記実施形態においては、コンテンツ、文書構成、レイアウトの格差分データをタブを切り換えて表示するようにしているが、これらを1つの画面上において表示するようにしてもよい。例えば、変更前の電子ファイルを表示するレイヤーと、変更後の電子ファイルを表示するレイヤーと、その電子ファイルの差分箇所を強調表示するなどの属性を表すレイヤーとを重ねて表示するようにすればよい。
【0080】
5.その他の実施形態
なお、上記実施形態においては、同じ形式の第1および第2の電子ファイル間における差分を検出したが、異なる形式の電子ファイル間における差分を検出するようにしてもよい。例えば、PDFファイルとHTMLファイルの間における差分を検出すればより汎用的な文書差分装置を提供することができる。
【0081】
なお、上記実施形態においては、オブジェクトの対応付けを1対1で行うようにしたが、1対複数の対応付けを行うようにしてもよい。
【0082】
なお、上記実施形態においては、スタンドアローンのコンピュータにおいて文書差分検出プログラム30による処理を実行しているが、ネットワークを介したシステム上において文書差分検出プログラム30による処理を実行するようにしてもよい。例えば、図18に示すように、文書差分検出プログラム30を記憶したサーバ装置50がネットワーク52を介して接続されたクライアント端末54から電子ファイルの入力を受けて文書差分検出処理を行い、その結果(差分データ)をクライアント端末54に対して出力するようにしてもよい。
【0083】
なお、上記実施形態においては、コンテンツ、文書構成、レイアウトをオブジェクト属性データとしたが、少なくともコンテンツが含まれていればよく、コンテンツおよび文書構成(またはレイアウト)をオブジェクト属性データとしてもよい。
【0084】
なお、上記実施形態においては、オブジェクトを分割する単位をHTMLのタグ単位としたが、テキストについて文章単位、文節単位、リスト単位など、表について、セル単位、行単位など詳細に設定することも可能である。
【図面の簡単な説明】
【0085】
【図1】この発明の文書差分検出装置1の機能ブロック図である。
【図2】この発明の文書差分検出装置1のハードウェア構成を示す図である。
【図3】変更前の電子ファイルfile1を示す図である。
【図4】電子ファイルfile1の内容に変更を加えた後の電子ファイルfile2を示す図である。
【図5】オブジェクト属性データ記憶部32のデータ例を示す図である。
【図6】文書差分検出処理全体のフローチャートである。
【図7】文書解析処理の詳細を示すフローチャートである。
【図8】図3に示す変更前のワープロ文書をHTML形式に変換したデータを示す図である。
【図9】オブジェクト属性データ生成処理(ステップS14)の詳細を示すフローチャートである。
【図10】オブジェクト対応付け処理(ステップS16)の詳細を示すフローチャートである。
【図11】差分データ出力処理(ステップS18)の詳細を示すフローチャートである。
【図12】差分データ処理の結果出力されるデータの例を示す図である。
【図13】ハードディスク14に記憶された接続状態表示定義表のデータ例を示す図である。
【図14】文書構成差分データの表示例である。
【図15】レイアウト差分データの表示例である。
【図16】画像差分データの表示例である。
【図17】画像差分データの他の表示例である。
【図18】他の実施形態におけるシステム構成を示す図である。
【符号の説明】
【0086】
1・・・・文書差分検出装置
100・・・・電子ファイル入力手段
102・・・・電子ファイル解析手段
104・・・・オブジェクト属性データ生成手段
106・・・・オブジェクト対応付け手段
108・・・・差分データ出力手段
【技術分野】
【0001】
この発明は、変更が加えられた電子ファイルの変更箇所を容易に判別する技術に関する。
【背景技術】
【0002】
近年の情報技術の発達に伴って、電子ファイルを用いた商取引が社会に広く普及してきており、データの再利用などによる業務の効率化が図られている。
【0003】
従来から、電子文書に含まれるテキストや画像をマッチング処理したり、変更履歴を常時記憶しておくことにより電子ファイル間における差分を検出する方法が知られている(特許文献1〜3)。
【0004】
【特許文献1】特開平06−243132号公報
【0005】
【特許文献2】特開平08−190557号公報
【0006】
【特許文献3】特開2004−516585号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、これら従来の文書差分検出装置は、以下のような問題があった。
【0008】
(i)テキストや画像のマッチングによる差分検出では、レイアウトやフォントなどの詳細な変更要素まで特定することはできず、文章の構成が変更したような場合(例えば、段落の移動など)には差分箇所を容易に特定することはできなかった。
【0009】
(ii)同じファイル形式の電子ファイル間における差分検出を前提としていたため、異なるファイル形式の電子ファイルについては差分検出を行うことができなかった。
【0010】
(iii)文書の差分を検出するために変更履歴データを常時記憶しておくのはユーザーなどにとって面倒な作業であり、特に、異なるユーザー間(例えば、受注者と発注者間)において電子ファイルを取り扱うような場合には差分を検出するために変更履歴データも受け渡す必要が生じるため面倒である。
【0011】
この発明は、上記問題を解決し、電子ファイルの変更部分を容易に判別する方法を提供することを目的とする。
【課題を解決するための手段】
【0012】
(1、2)この発明の文書差分検出装置は、
電子ファイル間における差分を検出するための文書差分検出装置であって、
差分の検出処理を行う対象となる第1および第2の電子ファイルをそれぞれ入力するための電子ファイル入力手段、
入力された第1および第2の電子ファイルを構成する要素をそれぞれ所定のオブジェクト単位に分割する電子ファイル解析手段、
第1および第2の電子ファイルからメタデータを抽出し、それぞれのオブジェクト毎に付与することによりオブジェクト属性データを生成するオブジェクト属性データ生成手段、
第1および第2の電子ファイルについて生成した各オブジェクト属性データに基づいて、第1および第2の電子ファイル間におけるオブジェクトの対応付けを行うオブジェクト対応付け手段、
前記オブジェクトの対応付けに基づいて差分算出処理を行い、その結果を差分データとして出力する差分データ出力手段、
を備えたことを特徴とする。
【0013】
これにより、電子ファイルに些細な変更(例えば、フォントサイズの変更、画像の位置移動)が加えられたような場合でも、変更前および変更後の電子ファイルさえ存在すれば、詳細な差分データを容易に得ることができる。
【0014】
(3)この発明の文書差分検出装置においては、
前記オブジェクト対応付け手段は、オブジェクト属性データであるコンテンツ、文書構成、レイアウトの各データが一致するか否かを判定することによりオブジェクトの対応付けを行い、
前記差分データ出力手段は、コンテンツ、文書構成、レイアウトについて差分算出処理を行った結果を差分データとして出力する、
ことを特徴とする。
【0015】
これにより、電子ファイルに些細な変更(例えば、フォントサイズの変更、画像の位置移動)が加えられたような場合でも、コンテンツ、文書構成、レイアウトについて差分算出処理を行うことで、詳細な差分データを得ることができる。
【0016】
(4)この発明の文書差分検出装置においては、
前記オブジェクト対応付け手段は、コンテンツデータが共通するオブジェクトについて、コンテンツ、文書構成、レイアウトの各データが全て一致する場合には同一オブジェクトとして対応付けを行い、コンテンツ、文書構成、レイアウトの何れかのデータが異なる場合には関連オブジェクトとして対応付けを行い、
前記差分データ出力手段は、関連オブジェクトについて差分算出処理を行って更新項目とし、共通するコンテンツの存在しないオブジェクトについては追加または削除項目として差分データを出力する、
ことを特徴とする。
【0017】
これにより、関連オブジェクトと同一オブジェクトに分けて確実に対応付けを行うことが可能となり、詳細な差分データを効率的に得ることができる。
【0018】
(5)この発明の文書差分検出装置においては、
前記オブジェクト対応付け手段は、オブジェクト属性データの類似性を算出し、最も類似性の高いオブジェクトを関連オブジェクトとして対応付けを行う、
ことを特徴とする。
【0019】
これにより、オブジェクト属性データに部分的な変更が加えられた場合であっても適切にオブジェクトの対応付けを行うことができる。
【0020】
(6)この発明の文書差分検出装置においては、
前記差分データ出力手段は、差分算出処理の際に、テキストについて意味解析を行う、
ことを特徴とする。
【0021】
これにより、意味的には変わらないが表現的な変更が加えられた場合に、全く意味内容が変更された場合と区別して差分データを出力することができる。
【0022】
(7)この発明の文書差分検出装置においては、
前記差分データ出力手段は、差分算出処理の際に、画像についてベクター形式の場合にラスター形式に変換した後、画像マッチングを行う、
ことを特徴とする。
【0023】
これにより、ベクター形式の画像についても確実に差分算出処理を行って差分データを得ることができる。
【0024】
(8)この発明の文書差分検出装置においては、
第1の電子ファイルのファイル形式と第2の電子ファイルのファイル形式が異なる、
ことを特徴とする。
【0025】
これにより、異なったファイル形式の電子ファイル間においても差分データを得ることが可能となり、汎用的な文書差分検出装置を提供することができる。
【0026】
(9)この発明の文書差分検出装置においては、
差分データ出力手段から出力されたコンテンツ、文書構成、レイアウトの各差分データを表示する差分データ表示手段、
を備えたことを特徴とする。
【0027】
これにより、ユーザーがコンテンツ、文書構成、レイアウトの各差分結果を容易に把握することができる。
【0028】
(10)この発明の文書差分検出装置においては、
前記差分データ表示手段は、差分データ出力手段から出力されたコンテンツ、文書構成、レイアウトの各差分データを考慮して、
第1の電子ファイルを表示するレイヤーと、第2の電子ファイルを表示するレイヤーと、第1および第2の電子ファイルの差分箇所を強調表示するレイヤーとを重ねて表示する、
ことを特徴とする。
【0029】
これにより、ユーザーがコンテンツ、文書構成、レイアウトの差分結果を1つの表示画面上で把握することができる。
【0030】
この実施形態において、「メタデータ」とは、分割されたオブジェクトについての属性情報(コンテンツ、レイアウト、文書構造など)を示すデータをいう。
【発明を実施するための最良の形態】
【0031】
1.文書差分検出装置1の機能ブロック図
図1は、この発明の文書差分検出装置1の機能ブロック図である。図1に示すように、この発明の文書差分検出装置1は、電子ファイル入力手段100、電子ファイル解析手段102、オブジェクト属性データ生成手段104、オブジェクト対応付け手段106、差分データ出力手段108を備えている。
【0032】
図1に示す文書差分検出装置1の電子ファイル入力手段100は、差分の検出処理を行う対象となる第1(変更前)および第2(変更後)の電子ファイルをユーザーがそれぞれ入力するための手段である。
【0033】
電子ファイル解析手段102は、入力された変更前および変更後の電子ファイルを構成する要素をそれぞれ所定(例えば、テキスト、表、画像など)のオブジェクト単位に分割するための手段である。
【0034】
オブジェクト属性データ生成手段104は、変更前および変更後の電子ファイルから属性データ(例えば、文書構造情報、レイアウト情報、コンテンツ情報)を抽出し、それぞれのオブジェクト毎に付与することによりオブジェクト属性データを生成するための手段である。
【0035】
オブジェクト対応付け手段106は、変更前および変更後の電子ファイルについて生成した各オブジェクト属性データに基づいて、変更前および変更後の電子ファイル間におけるオブジェクトの対応付けを行うための手段である。
【0036】
差分データ出力手段108は、ユーザーに差分データを提示するために、オブジェクトの対応付けに基づいて差分算出処理を行い、その結果を差分データとして出力するための手段である。
【0037】
2.文書差分検出装置1のハードウェア構成など
図2に、この発明の文書差分検出装置(文書差分検出コンピュータ)1のハードウェア構成を示す。図2に示すように、文書差分検出装置1は、CPU10、ディスプレイ12、ハードディスク14、メモリ16、キーボード/マウス18、CD−ROMドライブ20を備えている。
【0038】
図2のハードディスク14には、電子ファイル間における差分を検出する処理を行う文書差分検出装置処理プログラム30が記録されている。また、図2に示す文書差分検出処理プログラム30は、オブジェクト属性データ記憶部32を備えている。文書差分検出処理プログラム30は、CPU10、ディスプレイ12、ハードディスク14、メモリ16、キーボード/マウス18、CD−ROMドライブ20を有するコンピュータを、図1に示す電子ファイル入力手段100、電子ファイル解析手段102、オブジェクト属性データ生成手段104、オブジェクト対応付け手段106、差分データ出力手段108等として機能させるためのプログラムである。
【0039】
なお、差分検出処理プログラム30のハードディスク14へのインストールは、CD−ROMドライブ20を介してCD−ROM22に記録されたデータを読み出して行われる。また、差分検出処理を行う対象となる第1および第2の電子ファイルデータ(図2に示すfile1、file2)は、CD−ROM22に記憶されており、CD−ROMドライブ20を介して入力される。
【0040】
差分検出処理を行う対象となる第1および第2の電子ファイルは、具体的には図3および図4に示すような一般的なワープロソフト(例えば、MicrosoftWord文書、一太郎(何れも登録商標)など)で作成したものである。なお、図3は、変更を加える前の電子ファイルfile1を示す図であり、図4は、図3に示す電子ファイルfile1の内容に変更を加えた後の電子ファイルfile2を示す図である。
【0041】
図4に示すように、電子ファイルfile1からの変更点は、(i)α部分において「1.1.3 既存研究」のフォントサイズが大きくなったこと、(ii)β部分において日付を「2」から「3」に訂正したこと、(iii)γ部分において「・変更前文書と変更後文書を比較することで・・・」(図3を参照)を削除したことの3点であり、差分検出プログラム30はこれらの変更点を差分として検出することになる。
【0042】
差分検出処理プログラム30は、これらの電子ファイル(図2に示すfile1、file2)をそれぞれ所定のオブジェクト単位に分割し、それぞれのオブジェクトに文書構造、レイアウト、コンテンツなどのメタデータを付与して図5に示すオブジェクト属性データ記憶部32に記憶している。なお、この実施形態においては、HTMLのタグ単位(テキスト、画像などのコンテンツを含むもの)毎にオブジェクトを生成している。
【0043】
図5は、オブジェクト属性データ記憶部32のデータ例を示す図である。図5には、変更前の電子ファイルについてのオブジェクト属性データだけを示しているが、変更後の電子ファイルについても同様のオブジェクト属性データがオブジェクト属性データ記憶部32に記憶される。
【0044】
図5に示すように、各オブジェクトにはIDが付されており、文書から抽出した種別(テキスト、画像などの種類)、文書構造、レイアウト、コンテンツの各データ(メタデータ)が共に記憶されている。文書構造データdata1としては、文書をツリー構造化した場合の階層レベル(階層の深さ)、階層ノード名称、親オブジェクトの階層ノードなど、文書全体におけるオブジェクトの位置を特定するためのデータが該当する。図5中のレイアウトデータdata2としては、マージン、フォントサイズ、フォント名などの属性を示すデータが該当する。また、コンテンツデータdata3としては、テキスト、表、画像などの具体的な内容を示すデータが該当するが、ファイル名称(例えば、「gazou001.img」)、保存場所などによってリンクしておけばよい。
【0045】
オブジェクト属性データ記憶部32に記憶されたこれら文書構造、レイアウト、コンテンツの各データに基づいて、以下に示すようなオブジェクトの対応付け処理や差分データの出力処理が行われることになる。
【0046】
3.文書差分検出処理のフローチャート
まず、図6に示す文書差分検出処理のフローチャートを用いて、この発明の文書差分検出プログラム30が行う処理を説明する。
【0047】
まず、文書差分検出プログラム30は、ユーザーによって図3および図4に示すような変更前および変更後の電子ファイル(第1および第2の電子ファイル)の入力があったか否かを判断している(ステップS10)。
【0048】
変更前および変更後の電子ファイルが入力されると、文書解析処理に移行するする(ステップS12)。図7は文書解析処理の詳細を示すフローチャートである。
【0049】
図7に示すように、文書解析処理(ステップS12)においては、まず、オブジェクト分割単位が予め取得される(ステップS20)。この実施形態においては、HTMLのタグが分割単位として予め設定されている。
【0050】
さらに、変更前および変更後の電子ファイルが解析され、それぞれについてのHtmlファイルが取得される(ステップS22)。図8は、図3に示す変更前のワープロ文書をHTML形式に変換したデータを示す図である。なお、ここでは電子ファイルから文書構成要素を分割するために便宜的にHTML形式に変換しているが、電子ファイルから文書構成要素を直接抽出して分割することができる場合にはHTML形式に変換しなくてもよい。
【0051】
文書差分検出プログラム30は、電子ファイルを構成する要素を所定のオブジェクト毎に分割する(ステップS24)。この実施形態では、HTMLのタグが分割単位として予め設定されているため、例えば、図8に示す<title>変更前文書サンプル</title>T0が1のオブジェクトとして分割される。
【0052】
図6に示すように、文書解析処理(ステップS12)の後は、オブジェクト属性データ生成処理(ステップS14)が行われる。図9は、オブジェクト属性データ生成処理(ステップS14)の詳細を示すフローチャートである。
【0053】
オブジェクト属性データ生成処理(図6のステップS14)においては、図9に示すように、まず、分割したオブジェクトに対してIDが付与され、オブジェクト属性データ記憶部32に記憶される(ステップS30)。さらに、各オブジェクトに対して種別の判定が行われ、オブジェクト属性データ記憶部32に記憶される(ステップS32)。
【0054】
その後、図8に示すHTML文書や電子ファイルから抽出したスタイルシート(文書全体に影響する基本レイアウトおよび文書を構成する要素についての詳細レイアウト)を解析することにより、オブジェクト属性データ記憶部32に文書構造データdata1、レイアウトデータdata2、コンテンツデータdata3が記憶される。
【0055】
文書構造データdata1は、図8に示すタグの種類に基づいて文書構造を解析することで得られる。例えば、見出しタグ<hn>(nは数字)は、<h1>が最上位の見出し(大見出し)で、以下数字が小さくなるにつれて下位構造の見出し(小見出し)を示している。また、表の横一行を定義するタグ<tr>の下位には、セルの見出しを示す<th>やセルのデータ示すタグ<td>が位置することを示している。
【0056】
レイアウトデータdata2は、電子ファイルのスタイルシートからレイアウト情報を抽出することにより得ることができる。また、コンテンツデータdata3はHTML文書から抽出して得ることができる。
【0057】
なお、このオブジェクト属性データ生成処理(ステップS14)は、変更前および変更後の電子ファイルfile1、file2(図3、図4を参照)についてそれぞれ行われる。
【0058】
上記オブジェクト属性データ生成処理(図6に示すステップS14)の後、オブジェクト対応付け処理(ステップS16)が行われる。図10は、オブジェクト対応付け処理(ステップS16)の詳細を示すフローチャートである。
【0059】
図10に示すように、まず、変更前の電子ファイルについてのオブジェクトリスト(図5)の最初のオブジェクトが対応付け対象として設定される(ステップS40)。
【0060】
さらに、当該オブジェクトについて、変更後の電子ファイルのオブジェクトリスト内にコンテンツデータが共通するものが存在するか否かを判断する(ステップS42)。なお、コンテンツデータが共通するとしたのは、例えば、テキストの一部に訂正が加えられたようなオブジェクトについては、以下の対応付けを行ってオブジェクト間における差分データ出力処理を行う必要があるためである。例えば、テキストについては総文字数に対するマッチング率が所定のしきい値内にある場合に、画像については総画素数に対する明度、色相、彩度などのマッチング率が所定のしきい値内にある場合に共通すると判断している。
【0061】
コンテンツが共通するデータが存在する場合(ステップS42のYes)には、さらに、オブジェクト属性データ記憶部32を参照して文書構造、レイアウト、コンテンツの各データが全て一致するか否かを判断する(ステップS44)。
【0062】
オブジェクト属性データである文書構造、レイアウト、コンテンツの各データが全て一致する場合には、同一オブジェクトとして対応付けが行われ、メモリ16に記憶される(ステップS46)。
【0063】
文書構造、レイアウト、コンテンツの何れかのデータが異なる場合には、関連オブジェクトとして対応付けが行われ、メモリ16に記憶される(ステップS48)。なお、複数の候補が存在する場合には、マッチング率などにより類似性を算出して最も類似性の高いオブジェクトについて対応付けを行う。ここで対応づけられた関連オブジェクトについて、以下の差分算出処理(図6のステップS18)が行われることになる。
【0064】
以上の処理が、第2の電子ファイルのオブジェクトリスト内の最後のオブジェクトまで繰り返されることになる(ステップS50、ステップS52)。
【0065】
最後に、差分データ出力処理(図6のステップS18)が行われる。図11は、差分データ出力処理の詳細を示すフローチャートである。
【0066】
図11に示すように、まず、メモリ16(図2)を参照することにより、変更前および変更後の電子ファイルについてのそれぞれのオブジェクトリスト(図5)から図10のステップS46において同一オブジェクトとして対応付けられたオブジェクトを削除する(ステップS60)。
【0067】
さらに、残りのオブジェクトについて関連オブジェクトであるか否かを判断し(ステップS62)、図10のステップS48において関連オブジェクトとして対応付けられたオブジェクトについてコンテンツの種別に対応した差分算出処理を行う(ステップS64)。
【0068】
テキストの差分算出処理の場合には、テキストマッチング処理を行い変更箇所を検出する。例えば、図3に示すD1部分のテキスト「1994年9月2日」と図4に示すD2部分のテキスト「1994年9月3日」とのテキスト差分が行われることにより、変更前「2」および変更後「3」の部分が差分(更新項目)として得られる(このように、表に含まれるテキストも通常のテキストとして差分算出処理が行われる)。
【0069】
ここで、さらに変更箇所について意味解析を行って同じ意味内容のテキストであるか否かを判断するようにしてもよい。これにより、単なる表現上の変更が行われたのか、意味内容についての変更が行われたかを別の色などでユーザーに提示することが可能となる。
【0070】
画像の差分算出処理の場合には、例えば、ラスター形式の画像についてはそのまま画像差分を行うが、ベクター形式の画像については一旦ラスター形式に変換した後で画像差分を行うようにすればよい。
【0071】
一方、関連オブジェクトでないオブジェクトについては、追加または削除された項目として出力する(ステップS66)。例えば、変更前のオブジェクトリストのみに存在するオブジェクトは削除された項目と判断され、変更後のオブジェクトリストのみに存在するオブジェクトは追加された項目と判断される。
【0072】
図12に、差分データ出力処理(図6に示すステップS18)の結果得られるデータの例を示す。図12のT1部分に示すように、<sameObjectList>タグ内において、同一オブジェクトがそれぞれのIDが対応付けられている。
【0073】
また、図12のT1〜T3部分を挟んだ<differnceObjectList>タグ内において、対応づけられたオブジェクトの差分データが表されている。具体的には、削除された図4のγ部分に対応するオブジェクトのデータが図2のT2部分に表されている。更新が行われた図4のβ部分に対応する表のオブジェクトがT3部分に表されている。フォントのサイズ変更が行われた図4のα部分に対応するオブジェクトのデータがT4部分に表されている。
【0074】
4.差分データの画面表示例
以下に、上記各処理によって得られた差分データを、差分データ表示手段であるディスプレイ12(図2)に示した表示例を、図13〜図15に示す。なお、図13〜図15に示す表示例は、図12に示す解析結果には対応していない。
【0075】
図13は、テキスト差分データの表示例である。図13に示すように、ウィンドウ左側には、テキスト差分として表示する基本的なデータ項目(オブジェクト総数、同一個数、差分個数、差分内訳)などの情報を示しており、ウィンドウ右側には、変更箇所のリスト表示が行われている。なお、ウィンドウ右側に色分けなどによる差分を強調表示した文書全体の比較表示を行うようにしてもよい。
【0076】
図14は、文書構成差分データの表示例である。図14に示すように、ウィンドウ左側には、文書構成差分として表示する基本的なデータ項目(階層数、ノード数、同一個数、差分個数、差分内訳)などの情報を示しており、ウィンドウ右側には、変更箇所のリスト表示が行われている。なお、ウィンドウ右側にツリー形式で表示する文書全体の構成を表示し、文書構成差分を色分けなどによって強調表示してもよい。
【0077】
図15は、レイアウト差分データの表示例である。図15に示すように、ウィンドウ左側には、基本レイアウト(文書全体のレイアウト情報を解析した同一要素と差分要素の個数)と詳細レイアウト(各オブジェクトのレイアウト情報を解析して同一要素と差分要素の個数を表示したもの)についてのレイアウト差分が示されており、ウィンドウ右側には、変更箇所のリスト表示が行われている。
【0078】
図16は、画像差分データの表示例である。図16に示すように、ウィンドウ左側には、画像総数、同一個数、差分個数、差分内訳(画像の追加、削除、更新、移動)などの基本的な情報を示しており、ウィンドウ右側には、変更箇所のリスト表示が行われている。なお、図17に示すように、ウィンドウ右側に画像差分データを表示してもよい。
【0079】
なお、上記実施形態においては、コンテンツ、文書構成、レイアウトの格差分データをタブを切り換えて表示するようにしているが、これらを1つの画面上において表示するようにしてもよい。例えば、変更前の電子ファイルを表示するレイヤーと、変更後の電子ファイルを表示するレイヤーと、その電子ファイルの差分箇所を強調表示するなどの属性を表すレイヤーとを重ねて表示するようにすればよい。
【0080】
5.その他の実施形態
なお、上記実施形態においては、同じ形式の第1および第2の電子ファイル間における差分を検出したが、異なる形式の電子ファイル間における差分を検出するようにしてもよい。例えば、PDFファイルとHTMLファイルの間における差分を検出すればより汎用的な文書差分装置を提供することができる。
【0081】
なお、上記実施形態においては、オブジェクトの対応付けを1対1で行うようにしたが、1対複数の対応付けを行うようにしてもよい。
【0082】
なお、上記実施形態においては、スタンドアローンのコンピュータにおいて文書差分検出プログラム30による処理を実行しているが、ネットワークを介したシステム上において文書差分検出プログラム30による処理を実行するようにしてもよい。例えば、図18に示すように、文書差分検出プログラム30を記憶したサーバ装置50がネットワーク52を介して接続されたクライアント端末54から電子ファイルの入力を受けて文書差分検出処理を行い、その結果(差分データ)をクライアント端末54に対して出力するようにしてもよい。
【0083】
なお、上記実施形態においては、コンテンツ、文書構成、レイアウトをオブジェクト属性データとしたが、少なくともコンテンツが含まれていればよく、コンテンツおよび文書構成(またはレイアウト)をオブジェクト属性データとしてもよい。
【0084】
なお、上記実施形態においては、オブジェクトを分割する単位をHTMLのタグ単位としたが、テキストについて文章単位、文節単位、リスト単位など、表について、セル単位、行単位など詳細に設定することも可能である。
【図面の簡単な説明】
【0085】
【図1】この発明の文書差分検出装置1の機能ブロック図である。
【図2】この発明の文書差分検出装置1のハードウェア構成を示す図である。
【図3】変更前の電子ファイルfile1を示す図である。
【図4】電子ファイルfile1の内容に変更を加えた後の電子ファイルfile2を示す図である。
【図5】オブジェクト属性データ記憶部32のデータ例を示す図である。
【図6】文書差分検出処理全体のフローチャートである。
【図7】文書解析処理の詳細を示すフローチャートである。
【図8】図3に示す変更前のワープロ文書をHTML形式に変換したデータを示す図である。
【図9】オブジェクト属性データ生成処理(ステップS14)の詳細を示すフローチャートである。
【図10】オブジェクト対応付け処理(ステップS16)の詳細を示すフローチャートである。
【図11】差分データ出力処理(ステップS18)の詳細を示すフローチャートである。
【図12】差分データ処理の結果出力されるデータの例を示す図である。
【図13】ハードディスク14に記憶された接続状態表示定義表のデータ例を示す図である。
【図14】文書構成差分データの表示例である。
【図15】レイアウト差分データの表示例である。
【図16】画像差分データの表示例である。
【図17】画像差分データの他の表示例である。
【図18】他の実施形態におけるシステム構成を示す図である。
【符号の説明】
【0086】
1・・・・文書差分検出装置
100・・・・電子ファイル入力手段
102・・・・電子ファイル解析手段
104・・・・オブジェクト属性データ生成手段
106・・・・オブジェクト対応付け手段
108・・・・差分データ出力手段
【特許請求の範囲】
【請求項1】
コンピュータを、
差分の検出処理を行う対象となる第1および第2の電子ファイルをそれぞれ入力するための電子ファイル入力手段、
入力された第1および第2の電子ファイルを構成する要素をそれぞれ所定のオブジェクト単位に分割する電子ファイル解析手段、
第1および第2の電子ファイルからメタデータを抽出し、それぞれのオブジェクト毎に付与することによりオブジェクト属性データを生成するオブジェクト属性データ生成手段、
第1および第2の電子ファイルについて生成した各オブジェクト属性データに基づいて、第1および第2の電子ファイル間におけるオブジェクトの対応付けを行うオブジェクト対応付け手段、
前記オブジェクトの対応付けに基づいて差分算出処理を行い、その結果を差分データとして出力する差分データ出力手段、
として機能させることを特徴とする文書差分検出プログラム。
【請求項2】
電子ファイル間における差分を検出するための文書差分検出装置であって、
差分の検出処理を行う対象となる第1および第2の電子ファイルをそれぞれ入力するための電子ファイル入力手段、
入力された第1および第2の電子ファイルを構成する要素をそれぞれ所定のオブジェクト単位に分割する電子ファイル解析手段、
第1および第2の電子ファイルからメタデータを抽出し、それぞれのオブジェクト毎に付与することによりオブジェクト属性データを生成するオブジェクト属性データ生成手段、
第1および第2の電子ファイルについて生成した各オブジェクト属性データに基づいて、第1および第2の電子ファイル間におけるオブジェクトの対応付けを行うオブジェクト対応付け手段、
前記オブジェクトの対応付けに基づいて差分算出処理を行い、その結果を差分データとして出力する差分データ出力手段、
を備えたことを特徴とする文書差分検出装置。
【請求項3】
請求項1または請求項2の文書差分検出プログラムまたは文書差分検出装置において、
前記オブジェクト対応付け手段は、オブジェクト属性データであるコンテンツ、文書構成、レイアウトの各データが一致するか否かを判定することによりオブジェクトの対応付けを行い、
前記差分データ出力手段は、コンテンツ、文書構成、レイアウトについて差分算出処理を行った結果を差分データとして出力する、
ことを特徴とするもの。
【請求項4】
請求項3の文書差分検出プログラムまたは文書差分検出装置において、
前記オブジェクト対応付け手段は、コンテンツデータが共通するオブジェクトについて、コンテンツ、文書構成、レイアウトの各データが全て一致する場合には同一オブジェクトとして対応付けを行い、コンテンツ、文書構成、レイアウトの何れかのデータが異なる場合には関連オブジェクトとして対応付けを行い、
前記差分データ出力手段は、関連オブジェクトについて差分算出処理を行って更新項目とし、共通するコンテンツの存在しないオブジェクトについては追加または削除項目として差分データを出力する、
ことを特徴とするもの。
【請求項5】
請求項1〜請求項4の何れかの文書差分検出プログラムまたは文書差分検出装置において、
前記オブジェクト対応付け手段は、オブジェクト属性データの類似性を算出し、最も類似性の高いオブジェクトを関連オブジェクトとして対応付けを行う、
ことを特徴とするもの。
【請求項6】
請求項1〜請求項5の何れかの文書差分検出プログラムまたは文書差分検出装置において、
前記差分データ出力手段は、差分算出処理の際に、テキストについて意味解析を行う、
ことを特徴とするもの。
【請求項7】
請求項1〜請求項6の何れかの文書差分検出プログラムまたは文書差分検出装置において、
前記差分データ出力手段は、差分算出処理の際に、画像についてベクター形式の場合にラスター形式に変換した後、画像マッチングを行う、
ことを特徴とするもの。
【請求項8】
請求項1〜7の何れかの文書差分検出プログラムまたは文書差分検出装置において、
第1の電子ファイルのファイル形式と第2の電子ファイルのファイル形式とが異なる、
ことを特徴とするもの。
【請求項9】
請求項1〜8の何れかの文書差分検出プログラムまたは文書差分検出装置において、さらに、
差分データ出力手段から出力されたコンテンツ、文書構成、レイアウトの各差分データを表示する差分データ表示手段、
を備えたことを特徴とするもの。
【請求項10】
請求項9の文書差分検出プログラムまたは文書差分検出装置において、
前記差分データ表示手段は、差分データ出力手段から出力されたコンテンツ、文書構成、レイアウトの各差分データを考慮して、
第1の電子ファイルを表示するレイヤーと、第2の電子ファイルを表示するレイヤーと、第1および第2の電子ファイルの差分箇所を強調表示するレイヤーとを重ねて表示する、
ことを特徴とするもの。
【請求項11】
ネットワークを介して接続されたクライアント端末とサーバ装置を備え、電子ファイル間における差分を検出するための文書差分検出システムであって、
サーバ装置に差分の検出処理を行う対象となる第1および第2の電子ファイルをそれぞれ入力するための電子ファイル入力手段を備えたクライアント端末と、
入力された第1および第2の電子ファイルを構成する要素をそれぞれ所定のオブジェクト単位に分割する電子ファイル解析手段、
第1および第2の電子ファイルからメタデータを抽出し、それぞれのオブジェクト毎に付与することによりオブジェクト属性データを生成するオブジェクト属性データ生成手段、
第1および第2の電子ファイルについて生成した各オブジェクト属性データに基づいて、第1および第2の電子ファイル間におけるオブジェクトの対応付けを行うオブジェクト対応付け手段、
前記オブジェクトの対応付けに基づいて差分算出処理を行い、その結果を差分データとしてクライアント端末に出力する差分データ出力手段、
を有するサーバ装置と、
を備えたことを特徴とする文書差分検出システム。
【請求項12】
電子ファイル間における差分を検出するための文書差分検出方法であって、
差分の検出処理を行う対象となる第1および第2の電子ファイルをそれぞれ入力し、
入力された第1および第2の電子ファイルを構成する要素をそれぞれ所定のオブジェクト単位に分割し、
第1および第2の電子ファイルからメタデータを抽出し、それぞれのオブジェクト毎に付与することによりオブジェクト属性データを生成し、
第1および第2の電子ファイルについて生成した各オブジェクト属性データに基づいて、第1および第2の電子ファイル間におけるオブジェクトの対応付けを行い、
前記オブジェクトの対応付けに基づいて差分算出処理を行い、その結果を差分データとして出力する、
ことを特徴とする文書差分検出方法。
【請求項1】
コンピュータを、
差分の検出処理を行う対象となる第1および第2の電子ファイルをそれぞれ入力するための電子ファイル入力手段、
入力された第1および第2の電子ファイルを構成する要素をそれぞれ所定のオブジェクト単位に分割する電子ファイル解析手段、
第1および第2の電子ファイルからメタデータを抽出し、それぞれのオブジェクト毎に付与することによりオブジェクト属性データを生成するオブジェクト属性データ生成手段、
第1および第2の電子ファイルについて生成した各オブジェクト属性データに基づいて、第1および第2の電子ファイル間におけるオブジェクトの対応付けを行うオブジェクト対応付け手段、
前記オブジェクトの対応付けに基づいて差分算出処理を行い、その結果を差分データとして出力する差分データ出力手段、
として機能させることを特徴とする文書差分検出プログラム。
【請求項2】
電子ファイル間における差分を検出するための文書差分検出装置であって、
差分の検出処理を行う対象となる第1および第2の電子ファイルをそれぞれ入力するための電子ファイル入力手段、
入力された第1および第2の電子ファイルを構成する要素をそれぞれ所定のオブジェクト単位に分割する電子ファイル解析手段、
第1および第2の電子ファイルからメタデータを抽出し、それぞれのオブジェクト毎に付与することによりオブジェクト属性データを生成するオブジェクト属性データ生成手段、
第1および第2の電子ファイルについて生成した各オブジェクト属性データに基づいて、第1および第2の電子ファイル間におけるオブジェクトの対応付けを行うオブジェクト対応付け手段、
前記オブジェクトの対応付けに基づいて差分算出処理を行い、その結果を差分データとして出力する差分データ出力手段、
を備えたことを特徴とする文書差分検出装置。
【請求項3】
請求項1または請求項2の文書差分検出プログラムまたは文書差分検出装置において、
前記オブジェクト対応付け手段は、オブジェクト属性データであるコンテンツ、文書構成、レイアウトの各データが一致するか否かを判定することによりオブジェクトの対応付けを行い、
前記差分データ出力手段は、コンテンツ、文書構成、レイアウトについて差分算出処理を行った結果を差分データとして出力する、
ことを特徴とするもの。
【請求項4】
請求項3の文書差分検出プログラムまたは文書差分検出装置において、
前記オブジェクト対応付け手段は、コンテンツデータが共通するオブジェクトについて、コンテンツ、文書構成、レイアウトの各データが全て一致する場合には同一オブジェクトとして対応付けを行い、コンテンツ、文書構成、レイアウトの何れかのデータが異なる場合には関連オブジェクトとして対応付けを行い、
前記差分データ出力手段は、関連オブジェクトについて差分算出処理を行って更新項目とし、共通するコンテンツの存在しないオブジェクトについては追加または削除項目として差分データを出力する、
ことを特徴とするもの。
【請求項5】
請求項1〜請求項4の何れかの文書差分検出プログラムまたは文書差分検出装置において、
前記オブジェクト対応付け手段は、オブジェクト属性データの類似性を算出し、最も類似性の高いオブジェクトを関連オブジェクトとして対応付けを行う、
ことを特徴とするもの。
【請求項6】
請求項1〜請求項5の何れかの文書差分検出プログラムまたは文書差分検出装置において、
前記差分データ出力手段は、差分算出処理の際に、テキストについて意味解析を行う、
ことを特徴とするもの。
【請求項7】
請求項1〜請求項6の何れかの文書差分検出プログラムまたは文書差分検出装置において、
前記差分データ出力手段は、差分算出処理の際に、画像についてベクター形式の場合にラスター形式に変換した後、画像マッチングを行う、
ことを特徴とするもの。
【請求項8】
請求項1〜7の何れかの文書差分検出プログラムまたは文書差分検出装置において、
第1の電子ファイルのファイル形式と第2の電子ファイルのファイル形式とが異なる、
ことを特徴とするもの。
【請求項9】
請求項1〜8の何れかの文書差分検出プログラムまたは文書差分検出装置において、さらに、
差分データ出力手段から出力されたコンテンツ、文書構成、レイアウトの各差分データを表示する差分データ表示手段、
を備えたことを特徴とするもの。
【請求項10】
請求項9の文書差分検出プログラムまたは文書差分検出装置において、
前記差分データ表示手段は、差分データ出力手段から出力されたコンテンツ、文書構成、レイアウトの各差分データを考慮して、
第1の電子ファイルを表示するレイヤーと、第2の電子ファイルを表示するレイヤーと、第1および第2の電子ファイルの差分箇所を強調表示するレイヤーとを重ねて表示する、
ことを特徴とするもの。
【請求項11】
ネットワークを介して接続されたクライアント端末とサーバ装置を備え、電子ファイル間における差分を検出するための文書差分検出システムであって、
サーバ装置に差分の検出処理を行う対象となる第1および第2の電子ファイルをそれぞれ入力するための電子ファイル入力手段を備えたクライアント端末と、
入力された第1および第2の電子ファイルを構成する要素をそれぞれ所定のオブジェクト単位に分割する電子ファイル解析手段、
第1および第2の電子ファイルからメタデータを抽出し、それぞれのオブジェクト毎に付与することによりオブジェクト属性データを生成するオブジェクト属性データ生成手段、
第1および第2の電子ファイルについて生成した各オブジェクト属性データに基づいて、第1および第2の電子ファイル間におけるオブジェクトの対応付けを行うオブジェクト対応付け手段、
前記オブジェクトの対応付けに基づいて差分算出処理を行い、その結果を差分データとしてクライアント端末に出力する差分データ出力手段、
を有するサーバ装置と、
を備えたことを特徴とする文書差分検出システム。
【請求項12】
電子ファイル間における差分を検出するための文書差分検出方法であって、
差分の検出処理を行う対象となる第1および第2の電子ファイルをそれぞれ入力し、
入力された第1および第2の電子ファイルを構成する要素をそれぞれ所定のオブジェクト単位に分割し、
第1および第2の電子ファイルからメタデータを抽出し、それぞれのオブジェクト毎に付与することによりオブジェクト属性データを生成し、
第1および第2の電子ファイルについて生成した各オブジェクト属性データに基づいて、第1および第2の電子ファイル間におけるオブジェクトの対応付けを行い、
前記オブジェクトの対応付けに基づいて差分算出処理を行い、その結果を差分データとして出力する、
ことを特徴とする文書差分検出方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公開番号】特開2006−268638(P2006−268638A)
【公開日】平成18年10月5日(2006.10.5)
【国際特許分類】
【出願番号】特願2005−88146(P2005−88146)
【出願日】平成17年3月25日(2005.3.25)
【出願人】(500063228)
【出願人】(500333316)
【出願人】(505110011)
【出願人】(505110022)
【出願人】(502235692)
【出願人】(505111317)
【出願人】(501069555)株式会社関西総合情報研究所 (6)
【Fターム(参考)】
【公開日】平成18年10月5日(2006.10.5)
【国際特許分類】
【出願日】平成17年3月25日(2005.3.25)
【出願人】(500063228)
【出願人】(500333316)
【出願人】(505110011)
【出願人】(505110022)
【出願人】(502235692)
【出願人】(505111317)
【出願人】(501069555)株式会社関西総合情報研究所 (6)
【Fターム(参考)】
[ Back to top ]