(57)【要約】【課題】データの比較精度を高めることを可能とするデータ比較プログラム、データ比較装置及びデータ比較方法を提供する。【解決手段】複数行の文字列をそれぞれ含む複数のデータを受け付け、受け付けた複数のデータのうちの何らかのデータにページの切れ目を示す切れ目情報が含まれる場合、何らかのデータから切れ目情報を削除したデータを生成し、生成したデータを分割して複数のブロックを生成し、生成したブロックそれぞれが、受け付けた複数のデータのうちの他のデータに含まれるか否かを判定する。【選択図】図７
2017194903.tif 000002
【特許請求の範囲】
【請求項１】
複数行の文字列をそれぞれ含む複数のデータを受け付け、
受け付けた前記複数のデータのうちの何らかのデータにページの切れ目を示す切れ目情報が含まれる場合、前記何らかのデータから前記切れ目情報を削除したデータを生成し、
生成した前記データを分割して複数のブロックを生成し、
生成した前記ブロックそれぞれが、受け付けた前記複数のデータのうちの他のデータに含まれるか否かを判定する、
処理をコンピュータに実行させることを特徴とするデータ比較プログラム。
【請求項２】
請求項１において、
前記データを生成する処理では、前記切れ目情報の直前ページの最終行の文字列の最後が文章の終わりを示していない場合、前記直前ページの最終行と、前記切れ目情報の直後ページの先頭行との間隔を、前記文章が複数の行からなる場合における各行の間隔と同じ間隔に変更する、
ことを特徴とするデータ比較プログラム。
【請求項３】
請求項２において、
前記データを生成する処理では、前記切れ目情報の直前ページの最終行の文字列の最後が句点または終止符である場合に、前記最終行の文字列の最後が文章の終わりを示していると判定する、
ことを特徴とするデータ比較プログラム。
【請求項４】
請求項２において、
前記データを生成する処理では、前記直前ページの最終行に文字が含まれている場合に、前記間隔を変更する処理を行う、
ことを特徴とするデータ比較プログラム。
【請求項５】
請求項２において、
前記データを生成する処理では、前記直後ページの先頭行に文字が含まれている場合に、前記間隔を変更する処理を行う、
ことを特徴とするデータ比較プログラム。
【請求項６】
請求項１において、
前記複数のブロックを生成する処理では、生成した前記データに空白のみを含む空白行が存在する場合、前記空白行の直前の行と、前記空白行と、前記空白行の直後の行とがそれぞれ異なるブロックに含まれるように前記複数のブロックの生成を行う、
ことを特徴とするデータ比較プログラム。
【請求項７】
請求項１において、
前記複数のブロックを生成する処理では、途中から最後までが空白またはインテンドである特定の行が存在する場合、前記特定の行と、前記特定の行の次の行とがそれぞれ異なるブロックに含まれるように前記複数のブロックの生成を行う、
ことを特徴とするデータ比較プログラム。
【請求項８】
請求項１において、
前記複数のブロックを生成する処理では、文字列の最後が文章の終わりを示していない特定の行が存在する場合であって、前記特定の行の次の行の文字列の先頭が半角文字である場合、前記特定の行と、前記特定の行の次の行とが同じブロックに含まれるように前記複数のブロックの生成を行う、
ことを特徴とするデータ比較プログラム。
【請求項９】
請求項１において、
前記複数のブロックを生成する処理では、文字列に含まれる文字のフォントが次の行の文字列に含まれる文字のフォントと異なる特定の行が存在する場合、前記特定の行と、前記特定の行の次の行とがそれぞれ異なるブロックに含まれるように前記複数のブロックの生成を行う、
ことを特徴とするデータ比較プログラム。
【請求項１０】
請求項１において、さらに、
前記複数のブロックのうち、前記他のデータに同一のブロックが含まれる特定のブロックが存在すると判定した場合、前記特定のブロックと、前記他のデータに含まれるブロックのうち、前記特定のブロックと同一のブロックとをそれぞれ特定し、
特定した前記ブロックのそれぞれが同一のブロックであることを示す情報を出力する、
ことを特徴とするデータ比較プログラム。
【請求項１１】
請求項１０において、さらに、
前記複数のブロックのうち、前記他のデータに同一のブロックが含まれない第１ブロックを特定し、
前記他のデータに含まれるブロックのうち、生成した前記複数のブロックに同一のブロックが含まれない第２ブロックを特定し、
特定した前記第１ブロックに含まれる文字と、特定した前記第２ブロックに含まれる文字との一致率が所定の閾値以上である場合、前記第１ブロックと前記第２ブロックとが類似するブロックであることを示す情報を出力する、
ことを特徴とするデータ比較プログラム。
【請求項１２】
請求項１１において、
前記類似するブロックであることを示す情報を出力する処理では、前記第１ブロックのうち、連続する前記同一のブロックの間に存在するブロックに含まれる文字と、前記第２ブロックのうち、前記連続する同一のブロックの間に存在するブロックに含まれる文字との一致率が前記所定の閾値以上であるか否かの判定を行う、
ことを特徴とするデータ比較プログラム。
【請求項１３】
複数行の文字列をそれぞれ含む複数のデータを受け付ける受け付け部と、
受け付けた前記複数のデータのうちの何らかのデータにページの切れ目を示す切れ目情報が含まれる場合、前記何らかのデータから前記切れ目情報を削除したデータを生成するデータ生成部と、
生成した前記データを分割して複数のブロックを生成するブロック生成部と、
生成した前記ブロックそれぞれが、受け付けた前記複数のデータのうちの他のデータに含まれるか否かを判定する判定部と、を有する、
ことを特徴とするデータ比較装置。
【請求項１４】
複数行の文字列をそれぞれ含む複数のデータを受け付け、
受け付けた前記複数のデータのうちの何らかのデータにページの切れ目を示す切れ目情報が含まれる場合、前記何らかのデータから前記切れ目情報を削除したデータを生成し、
生成した前記データを分割して複数のブロックを生成し、
生成した前記ブロックそれぞれが、受け付けた前記複数のデータのうちの他のデータに含まれるか否かを判定する、
ことを特徴とするデータ比較方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ比較プログラム、データ比較装置及びデータ比較方法に関する。
【背景技術】
【０００２】
利用者に対してサービスを提供する事業者（以下、単に事業者とも呼ぶ）は、例えば、利用者に対して各種サービスを提供するために、業務システムの構築を行う。具体的に、事業者は、マニュアル等の文書データの改版が行われた場合に、改版が行われた文書データ（以下、改版後の文書データとも呼ぶ）及び改版が行われる前の文書データ（以下、改版前の文書データとも呼ぶ）を比較する機能を有する業務システムを構築する。
【０００３】
そして、利用者は、改版前の文書データと改版後の文書データとを業務システムに入力し、改版前の文書データの内容と改版後の文書データの内容との差分の特定を行う。これにより、利用者は、改版後の文書データに含まれる内容のうち、改版された内容の把握を効率的に行うことが可能になる（例えば、特許文献１乃至３参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−４５４３７号公報
【特許文献２】特開２００８−７７５８１号公報
【特許文献３】特開２００１−２９７０８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記のように改版が行われる文書データには、複数のページから構成されるものが存在する。この場合、改版前の文書データ及び改版後の文書データの比較は、例えば、各ページに含まれている内容毎に行われる。
【０００６】
しかしながら、文書データの改版が行われた場合、実際に改版が行われていない内容についてもページが変更される場合がある。具体的に、例えば、改版前の文書データの一部が削除されたことに伴って、改版が行われていない内容の一部が前のページに含まれるようになった場合がこれに該当する。そして、業務システムは、この場合、ページが変更された内容についても、改版前の文書データの内容と改版後の文書データの内容との差分として特定する。そのため、業務システムが特定した差分には、実際に改版が行われていない内容が含まれる可能性がある。
【０００７】
そこで、一つの側面では、本発明は、データの比較精度を高めることを可能とするデータ比較プログラム、データ比較装置及びデータ比較方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
実施の形態の一態様では、複数行の文字列をそれぞれ含む複数のデータを受け付け、受け付けた前記複数のデータのうちの何らかのデータにページの切れ目を示す切れ目情報が含まれる場合、前記何らかのデータから前記切れ目情報を削除したデータを生成し、生成した前記データを分割して複数のブロックを生成し、生成した前記ブロックそれぞれが、受け付けた前記複数のデータのうちの他のデータに含まれるか否かを判定する、処理をコンピュータに実行させる。
【発明の効果】
【０００９】
一つの側面によれば、データの比較精度を高めることを可能とする。
【図面の簡単な説明】
【００１０】
【図１】図１は、情報処理システム１０の構成を示す図である。
【図２】図２は、文書データを比較する際の具体例を説明する図である。
【図３】図３は、文書データを比較する際の具体例を説明する図である。
【図４】図４は、本実施の形態におけるデータ比較処理の概略を説明する図である。
【図５】図５は、情報処理装置１のハードウエア構成を示す図である。
【図６】図６は、情報処理装置１の機能ブロック図である。
【図７】図７は、第１の実施の形態におけるデータ比較処理の概略を説明するフローチャート図である。
【図８】図８は、第１の実施の形態におけるデータ比較処理の詳細を説明するフローチャート図である。
【図９】図９は、第１の実施の形態におけるデータ比較処理の詳細を説明するフローチャート図である。
【図１０】図１０は、第１の実施の形態におけるデータ比較処理の詳細を説明するフローチャート図である。
【図１１】図１１は、第１の実施の形態におけるデータ比較処理の詳細を説明するフローチャート図である。
【図１２】図１２は、第１の実施の形態におけるデータ比較処理の詳細を説明するフローチャート図である。
【図１３】図１３は、第１の実施の形態におけるデータ比較処理の詳細を説明するフローチャート図である。
【図１４】図１４は、第１の実施の形態におけるデータ比較処理の詳細を説明するフローチャート図である。
【図１５】図１５は、第１の実施の形態におけるデータ比較処理の詳細を説明するフローチャート図である。
【図１６】図１６は、Ｓ１２からＳ２５の処理の具体例を説明する図である。
【図１７】図１７は、Ｓ１２からＳ２５の処理の具体例を説明する図である。
【図１８】図１８は、Ｓ１２からＳ２５の処理の具体例を説明する図である。
【図１９】図１９は、Ｓ１２からＳ２５の処理の具体例を説明する図である。
【図２０】図２０は、Ｓ１２からＳ２５の処理の具体例を説明する図である。
【図２１】図２１は、Ｓ１２からＳ２５の処理の具体例を説明する図である。
【図２２】図２２は、Ｓ１２からＳ２５の処理の具体例を説明する図である。
【図２３】図２３は、Ｓ１２からＳ２５の処理の具体例を説明する図である。
【図２４】図２４は、Ｓ１２からＳ２５の処理の具体例を説明する図である。
【図２５】図２５は、Ｓ１２からＳ２５の処理の具体例を説明する図である。
【図２６】図２６は、Ｓ１２からＳ２５の処理の具体例を説明する図である。
【図２７】図２７は、Ｓ１２からＳ２５の処理の具体例を説明する図である。
【図２８】図２８は、ブロック管理情報１３３の具体例を説明する図である。
【図２９】図２９は、Ｓ３６の処理で特定された同一ブロックについて説明する図である。
【図３０】図３０は、データ比較処理の結果を出力した際の具体例を説明する図である。
【発明を実施するための形態】
【００１１】
［情報処理システムの構成］
図１は、情報処理システム１０の構成を示す図である。図１に示す情報処理システム１０は、情報処理装置１（以下、データ比較装置１またはコンピュータ１とも呼ぶ）と、記憶部２とを有する。そして、利用者端末１１は、インターネットやイントラネット等からなるネットワークＮＷを介して情報処理装置１にアクセスすることが可能である。
【００１２】
情報処理装置１には、例えば、マニュアル等の文書データの改版が行われた場合に、改版前の文書データ（以下、比較元データとも呼ぶ）と、改版後の文書データ（以下、比較先データとも呼ぶ）とを比較する処理（以下、データ比較処理とも呼ぶ）を行う業務システムを構築されている。
【００１３】
そして、情報処理装置１は、例えば、利用者が利用者端末１１を介して改版前の文書データと改版後の文書データとを入力した場合、改版前の文書データの内容と改版後の文書データの内容との差分の特定を行い、特定した差分を示す情報を利用者端末１１に送信する。具体的に、情報処理装置１は、例えば、Ｏ（ＮＤ）アルゴリズムを用いることにより、改版前の文書データの内容と改版後の文書データの内容との差分の特定を行う。
【００１４】
記憶部２は、利用者端末１１を介して入力された改版前の文書データや改版後の文書データ等を記憶する。
【００１５】
［データを比較する際の具体例］
次に、データを比較する際の具体例について説明を行う。図２及び図３は、文書データを比較する際の具体例を説明する図である。具体的に、図２は、それぞれ１ページからなる改版前の文書データと改版後の文書データとを比較する際の具体例を説明する図である。以下、改修前の文書データがＰＧ１−１であり、改修後の文書データがＰＧ２−１であるものとして説明を行う。また、以下、図２等で説明する文書データには、画像データが含まれる場合があるものとする。
【００１６】
図２に示す例において、ＰＧ２−１には、一点鎖線で囲まれた文書データであるＤＦ２−１が含まれている。一方、ＰＧ１−１には、ＤＦ２−１と同じ内容の文書データが含まれていない。そのため、情報処理装置１は、図２に示すＰＧ１−１とＰＧ２−１との比較を行った場合、図２に示すように、ＤＦ２−１を差分として検知する。
【００１７】
次に、それぞれ複数ページからなる改修前の文書データと改修後の文書データとを比較する際の具体例について説明を行う。図３は、それぞれ複数ページからなる改修前の文書データと改修後の文書データとを比較する際の具体例を説明する図である。以下、改修前の文書データがＰＧ１−１及びＰＧ１−２からなる文書データであり、改修後の文書データがＰＧ２−１及びＰＧ２−２からなる文書データであるものとして説明を行う。
【００１８】
図３に示す例において、ＰＧ２−１には、図２で説明した場合と同様に、ＤＦ２−１が含まれている。一方、ＰＧ１−１には、図２で説明した場合と同様に、ＤＦ２−１が含まれていない。そのため、情報処理装置１は、図３に示すＰＧ１−１とＰＧ２−１との比較を行った場合、図３に示すように、ＤＦ２−１を差分として検知する。
【００１９】
また、図３に示す例において、ＰＧ１−１には、一点鎖線で囲まれた文書データであるＤＦ１−１（一段落からなる文書データ）が含まれている。一方、ＰＧ２−１には、ＤＦ１−１と同じ内容の文書データのうちの一部であるＤＦ２−２のみが含まれている。そして、ＰＧ２−２には、ＤＦ１−１と同じ内容の文書データのうちのＰＧ２−１に含まれていない部分の文書データであるＤＦ２−３が含まれている。すなわち、図３に示す例では、ＰＧ２−１にＤＦ２−１に追加されたことに伴って、ＤＦ２−３がＰＧ２−１からＰＧ２−２に移動している。
【００２０】
そして、図３に示す改修前の文書データと、改修後の文書データとの比較を行う場合、情報処理装置１は、例えば、各ページに含まれている内容毎に比較を行う。ここで、ＰＧ１−１には、ＤＦ１−１の全てが含まれているのに対し、ＰＧ２−１には、ＤＦ１−１と同じ内容の文書データの一部であるＤＦ２−２のみが含まれている。そのため、情報処理装置１は、ＰＧ１−１とＰＧ２−１との比較を行う場合、例えば、ＰＧ１−１におけるＤＦ１−１とＰＧ２−１におけるＤＦ２−２とを差分として検知する。また、ＰＧ１−２には、ＤＦ２−３が含まれていないのに対し、ＰＧ２−２には、ＤＦ２−３が含まれている。そのため、情報処理装置１は、ＰＧ１−２とＰＧ２−２との比較を行う場合、例えば、ＤＦ２−２を差分として検知する。
【００２１】
したがって、情報処理装置１が検知した差分には、実際に改版が行われていない内容が含まれる可能性がある。
【００２２】
そこで、本実施の形態における情報処理装置１は、複数行の文字列をそれぞれ含む複数のデータを受け付ける。そして、情報処理装置１は、受け付けた複数のデータのうちの何らかのデータにページの切れ目を示す切れ目情報が含まれる場合、その何らかのデータから切れ目情報を削除したデータを生成し、生成したデータを分割して複数のブロックを生成する。その後、情報処理装置１は、生成したブロックそれぞれが、受け付けた複数のデータのうちの他のデータに含まれるか否かを判定する。
【００２３】
すなわち、情報処理装置１は、複数ページからなるデータを受け付けた場合、切れ目情報を削除してから、文書データの比較を行う単位であるブロックの生成を行う。これにより、情報処理装置１は、ページの切れ目によって必要以上に分割されるブロックの発生を防止することが可能になる。そのため、情報処理装置１は、比較元データと比較先データとに共通して含まれる文書データ（改版が行われていない文書データ）のページの切れ目が異なる場合であっても、そのデータをそれぞれ含むブロックを同一の内容を含むブロックとして判定することが可能になる。したがって、情報処理装置１は、比較元データと比較先データとの比較精度を高めることが可能になる。以下、本実施の形態における情報処理装置１が実行するデータ比較処理の概略について説明を行う。
【００２４】
［本実施の形態におけるデータ比較処理の概略］
図４は、本実施の形態におけるデータ比較処理の概略を説明する図である。図４に示すＤＴ１−１は、図３で説明したＰＧ１−１とＰＧ２−１からページの切れ目情報を削除したデータである。また、図４に示すＤＴ２−１は、図３で説明したＰＧ１−２とＰＧ２−２からページの切れ目情報を削除したデータである。
【００２５】
図４に示す例において、ＤＦ２−４は、図３で説明したＤＦ２−２とＤＦ２−３とに対応する。すなわち、情報処理装置１がＰＧ１−１とＰＧ２−１からページの切れ目情報を削除することにより、ＤＴ２−１には、ＤＦ２−２とＤＦ２−３とが連結されたＤＦ２−４が含まれる。そのため、情報処理装置１は、ＤＴ２−１を複数のブロックに分割する際に、ＤＦ２−４を１つのブロックに含めるようにブロックの分割を行うことが可能になる。したがって、情報処理装置１は、ＤＴ１−１とＤＴ２−１とを比較した際に、ＤＦ２−１を含むブロックと、ＤＦ２−４を含むブロックとが同一の内容を含むブロックである判定することが可能になる。
【００２６】
［情報処理装置のハードウエア構成］
次に、情報処理装置１のハードウエア構成について説明する。図５は、情報処理装置１のハードウエア構成を示す図である。
【００２７】
情報処理装置１は、プロセッサであるＣＰＵ１０１と、メモリ１０２と、外部インターフェース（Ｉ／Ｏユニット）１０３と、記憶媒体１０４とを有する。各部は、バス１０５を介して互いに接続される。
【００２８】
記憶媒体１０４は、例えば、記憶媒体１０４内のプログラム格納領域（図示しない）に、データ比較処理等を行うためのプログラム１１０を記憶する。また、記憶媒体１０４は、例えば、データ比較処理等を行う際に用いられる情報を記憶する情報格納領域１３０（以下、記憶部１３０とも呼ぶ）を有する。
【００２９】
ＣＰＵ１０１は、図５に示すように、プログラム１１０の実行時に、プログラム１１０を記憶媒体１０４からメモリ１０２にロードし、プログラム１１０と協働してデータ比較処理等を行う。また、外部インターフェース１０３は、利用者端末１１と通信を行う。
【００３０】
［情報処理装置の機能］
次に、情報処理装置１の機能について説明する。図６は、情報処理装置１の機能ブロック図である。
【００３１】
情報処理装置１のＣＰＵ１０１は、プログラム１１０と協働することにより、例えば、データ受け付け部１１１（以下、単に受け付け部１１１とも呼ぶ）と、データ生成部１１２と、ブロック生成部１１３として動作する。また、情報処理装置１のＣＰＵ１０１は、プログラム１１０と協働することにより、例えば、ブロック判定部１１４（以下、単に判定部１１４とも呼ぶ）と、結果出力部１１５として動作する。
【００３２】
さらに、情報格納領域１３０には、比較元データ１３１と、比較先データ１３２と、ブロック管理情報１３３とが記憶されている。情報格納領域１３０は、例えば、図１で説明した記憶部２に対応する。
【００３３】
データ受け付け部１１１は、例えば、利用者が利用者端末１１を介して送信した複数のデータを送信した場合に、送信された複数のデータを受け付ける。複数のデータは、それぞれ複数行の文字列を含むデータである。以下、複数のデータには、利用者が情報処理装置１に内容の比較を要求する比較元データ１３１及び比較先データ１３２が含まれるものとして説明を行う。
【００３４】
データ生成部１１２は、データ受け付け部１１１が受け付けた複数のデータのうちの何らかのデータ（例えば、比較先データ１３２）にページの切れ目を示す切れ目情報が含まれる場合、そのいずれかのデータから切れ目情報を削除したデータを生成する。切れ目情報は、例えば、ページの先頭を示すヘッダー情報と、ページの最後を示すフッター情報とを含む情報である。
【００３５】
ブロック生成部１１３は、データ生成部１１２が生成したデータを分割することにより、複数のブロックを生成する。
【００３６】
ブロック判定部１１４は、ブロック生成部１１３が生成したブロックのそれぞれが、データ受け付け部１１１が受け付けた複数のデータのうちの他のデータ（例えば、比較元データ１３１）に含まれるか否かを判定する。
【００３７】
結果出力部１１５は、ブロック判定部１１４による判定結果を示す情報を、出力装置（例えば、利用者端末１１）に対して出力する。
【００３８】
なお、データ受け付け部１１１は、例えば、比較元データ１３１または比較先データ１３２を受け付けた場合、受け付けたデータを情報格納領域１３０に記憶する。また、ブロック生成部１１３は、例えば、生成した複数のブロックを示す情報であるブロック管理情報１３３を作成し、作成したブロック管理情報１３３を情報格納領域１３０に記憶する。
【００３９】
［第１の実施の形態］
次に、第１の実施の形態について説明する。図７は、第１の実施の形態におけるデータ比較処理の概略を説明するフローチャート図である。
【００４０】
情報処理装置１は、データ比較タイミングになるまで待機する（Ｓ１のＮＯ）。データ比較タイミングは、例えば、利用者端末１１から比較元データ１３１及び比較先データ１３２が送信されたタイミングであってよい。また、例えば、比較元データ１３１及び比較先データ１３２が予め情報格納領域１３０に記憶されている場合、データ比較タイミングは、例えば、利用者が情報処理装置１に対してデータの比較を開始する旨の入力を行ったタイミングであってよい。
【００４１】
そして、データ比較タイミングになった場合（Ｓ１のＹＥＳ）、情報処理装置１は、比較元データ１３１及び比較先データ１３２にページの切れ目情報が含まれているか否かを判定する（Ｓ２）。その結果、ページの切れ目情報が含まれていると判定した場合（Ｓ２のＹＥＳ）、情報処理装置１は、比較元データ１３１及び比較先データ１３２に含まれるページの切れ目情報を削除する（Ｓ３）。一方、ページの切れ目情報が含まれていないと判定した場合（Ｓ２のＮＯ）、情報処理装置１は、Ｓ３の処理を行わない。
【００４２】
続いて、情報処理装置１は、Ｓ３の処理で作成したデータを分割して複数のブロックを生成する（Ｓ４）。その後、情報処理装置１は、Ｓ４の処理で生成したブロックそれぞれが、Ｓ１の処理で受け付けた複数のデータのうちの他のデータに含まれるか否かを判定する（Ｓ５）。
【００４３】
すなわち、情報処理装置１は、Ｓ１の処理で複数ページからなるデータを受け付けた場合、切れ目情報を削除してからブロックの生成を行う。これにより、情報処理装置１は、同一のブロックに含まれるべき文書データが複数のブロックに分かれて含まれることを防止することが可能になる。
【００４４】
このように、情報処理装置１は、複数行の文字列をそれぞれ含む複数のデータを受け付ける。そして、情報処理装置１は、受け付けた複数のデータのうちの何らかのデータにページの切れ目を示す切れ目情報が含まれる場合、その何らかのデータから切れ目情報を削除したデータを生成し、生成したデータを分割して複数のブロックを生成する。その後、情報処理装置１は、生成したブロックそれぞれが、受け付けた複数のデータのうちの他のデータに含まれるか否かを判定する。
【００４５】
これにより、情報処理装置１は、比較元データと比較先データとに共通して含まれる文書データ（改版が行われていない文書データ）のページの切れ目が異なる場合であっても、そのデータをそれぞれ含むブロックを同一の内容を含むブロックとして判定することが可能になる。そのため、情報処理装置１は、比較元データと比較先データとの比較精度を高めることが可能になる。
【００４６】
［第１の実施の形態の詳細］
次に、第１の実施の形態の詳細について説明する。図８から図１５は、第１の実施の形態におけるデータ比較処理の詳細を説明するフローチャート図である。また、図１６から図３０は、第１の実施の形態におけるデータ比較処理の詳細を説明する図である。図１６から図３０を参照しながら、図８から図１５のデータ比較処理の詳細を説明する。
【００４７】
［Ｓ１からＳ４の処理の詳細］
初めに、図７で説明したＳ１からＳ５のうち、Ｓ１からＳ４の処理の詳細について説明を行う。データ受け付け部１１１は、図８に示すように、利用者端末１１から比較元データ１３１及び比較先データ１３２を受け付けるまで待機する（Ｓ１１のＮＯ）。そして、比較元データ１３１及び比較先データ１３２を受け付けた場合（Ｓ１１のＹＥＳ）、データ生成部１１２は、Ｓ１１の処理で受け付けた文書データのうちの１つを取得する（Ｓ１２）。具体的に、データ生成部１１２は、Ｓ１１の処理で受け付けた比較元データ１３１及び比較先データ１３２のうちのいずれかの文書データを取得する。また、データ受け付け部１１１は、この場合、受け付けた文書データを情報格納領域１３０に記憶する。
【００４８】
そして、データ生成部１１２は、Ｓ１２の処理で取得した文書データ（例えば、比較元データ）に切れ目情報が含まれているか否か、すなわち、Ｓ１２の処理で取得した文書データが複数のページからなる文書データであるか否かを判定する（Ｓ１３）。その結果、切れ目情報が含まれていると判定した場合（Ｓ１３のＹＥＳ）、データ生成部１１２は、Ｓ１２の処理で取得した文書データから切れ目情報を削除した文書データである加工データを生成する（Ｓ１４）。すなわち、データ生成部１１２は、Ｓ１２の処理で取得した文書データが複数のページからなる文書データである場合、その文書データを１ページにまとめることによって、加工データの生成を行う。
【００４９】
その後、データ生成部１１２は、Ｓ１４の処理で生成した加工データから、Ｓ１２の処理で取得した文書データの１ページ分に相当するデータ（以下、処理対象データとも呼ぶ）を取得する（Ｓ１５）。そして、データ生成部１１２は、Ｓ１５の処理で取得された処理対象データに対応するページの前ページに含まれる文書データにおいて、含まれるブロックが決定していない文書データ（以下、残データとも呼ぶ）が存在するか否かを判定する（Ｓ１６）。そして、残データが存在すると判定した場合（Ｓ１６のＹＥＳ）、データ生成部１１２は、Ｓ１５の処理で取得した処理対象データの前に、Ｓ１６の処理で存在した残データを連結する（Ｓ１７）。
【００５０】
すなわち、各ページに含まれる文書データには、次のページに含まれる文書データと単一のブロックに含まれるべき文書データが含まれる場合がある。そのため、ブロック生成部１１３は、後述するように、各ページに含まれる文書データのうち、次のページに含まれる文書データと単一のブロックに含まれる可能性がある文書データ（残データ）について、次のページに含まれる文書データとともにブロックの生成を行うか否かの判定を行う。
【００５１】
これにより、データ生成部１１２は、単一のブロックに含まれるべき文書データが複数のページに分かれている場合であっても、これらの文書データを単一のブロックに含めることが可能になる。
【００５２】
その後、データ生成部１１２は、Ｓ１７の処理で連結した残データの最終行の文字列の最後が文章の終わりを示しているか否か（文字列の最後が句点や終止符等であるか否か）を判定する（Ｓ１８）。そして、残データの最終行の文字列の最後が文章の終わりを示していないと判定した場合（Ｓ１８のＮＯ）、データ生成部１１２は、残データの最終行と、Ｓ１５の処理で取得したページの先頭行との間の間隔を、文章が複数の行からなる場合における各行の間隔と同じ間隔に変更する（Ｓ１９）。一方、残データの最終行の文字列の最後が文章の終わりを示していると判定した場合（Ｓ１８のＹＥＳ）、データ生成部１１２は、Ｓ１９の処理を行わない。
【００５３】
すなわち、残データの最終行の文字列の最後が文章の終わりを示していない場合、残データの最終行の文字列と、Ｓ１５の処理で取得したページの先頭行の文字列とは、同一の文章に含まれる文字列である可能性がある。そして、ブロック生成部１１３は、Ｓ１１の処理で受け付けた複数の文書データの比較精度を向上させる観点から、これらの文字列が同一の文章に含まれる場合、単一のブロックに含めるようにブロックの生成を行うことが好ましい。
【００５４】
そこで、データ生成部１１２は、Ｓ１９の処理において、残データの最終行の文字列の最後が文章の終わりを示していない場合、残データの最終行と、Ｓ１５の処理で取得したページの先頭行との間の間隔を、Ｓ１１の処理で受け付けた文書データにおける通常の行間と同じ間隔に変更する。これにより、ブロック生成部１１３は、この場合、後述するように、残データの最終行とＳ１５の処理で取得したページの先頭行との間に、ブロックの分割を行うことを示す情報（以下、分割情報とも呼ぶ）が存在しないものと判定することが可能になる。そのため、ブロック生成部１１３は、後述するように、残データの最終行の文字列とＳ１５の処理で取得したページの先頭行の文字列とが単一のブロックに含まれるようにブロックの生成を行うことが可能になる。
【００５５】
なお、データ生成部１１２は、Ｓ１８の処理において、残データの最終行に文字が含まれている場合（空白のみを含む空白行でない場合）に限り、残データの最終行とＳ１５の処理で取得したページの先頭行との間の間隔を変更するものであってもよい。また、データ生成部１１２は、Ｓ１８の処理において、Ｓ１５の処理で取得した文書データの先頭行に文字が含まれている場合（空白のみを含む空白行でない場合）に限り、残データの最終行とＳ１５の処理で取得したページの先頭行との間の間隔を変更するものであってもよい。
【００５６】
これにより、データ生成部１１２は、残データの最終行とＳ１５の処理で取得したページの先頭行との間の間隔の変更を効率的に行うことが可能になる。
【００５７】
一方、Ｓ１６の処理において、前ページの残データが存在しないと判定した場合（Ｓ１６のＮＯ）、データ生成部１１２は、Ｓ１７からＳ１９の処理を行わない。
【００５８】
その後、ブロック生成部１１３は、図９に示すように、Ｓ１７の処理で残データを連結した処理対象データにブロックの分割情報が存在するか否かを判定する（Ｓ２１）。そして、Ｓ１７の処理で残データを連結した処理対象データにブロックの分割情報が存在すると判定した場合（Ｓ２１のＹＥＳ）、ブロック生成部１１３は、Ｓ１７の処理で残データを連結した処理対象データを、分割情報が存在すると判定された位置毎に分割し、ブロックを生成する（Ｓ２２）。一方、ブロックの分割情報が存在しないと判定した場合（Ｓ２１のＮＯ）、ブロック生成部１１３は、Ｓ２２の処理を行わない。
【００５９】
具体的に、ブロック生成部１１３は、例えば、文字列の途中から最後までが空白またはインテンドである行が存在する場合、その行と次の行との間にブロックの分割情報が存在すると判定する。また、ブロック生成部１１３は、例えば、文字列に含まれる文字のフォントが次の行の文字列のフォントと異なる行が存在する場合に、その行と次の行との間にブロックの分割情報が存在すると判定する。
【００６０】
さらに、ブロック生成部１１３は、例えば、Ｓ１７の処理で残データを連結した処理対象データに画像データが含まれている場合、その画像データが含まれる行のうちの先頭行と、その行の前の行との間にブロックの分割情報が存在すると判定する。
【００６１】
また、ブロック生成部１１３は、例えば、空白のみを含む空白行が存在する場合、その行と次の行との間にブロックの分割情報が存在すると判定する。なお、この場合、ブロック生成部１１３は、例えば、空白行の直前の行と、空白行と、空白行の直後の行とがそれぞれ異なるブロックに含まれるようにブロックの生成を行う。すなわち、ブロック生成部１１１は、１行以上の空白行が存在する場合、その１行以上の空白行のみを含むブロック（以下、空白ブロックとも呼ぶ）を生成する。
【００６２】
これにより、ブロック判定部１１４は、後述するように、内容の区切れにおいて分割されたブロック毎に文書データの比較を行うことが可能になる。そのため、ブロック判定部１１４は、Ｓ１１の処理において受け付けた比較元データ１３１及び比較先データ１３２の比較を効率的に行うことが可能になる。
【００６３】
その後、ブロック生成部１１３は、Ｓ１７の処理で残データを連結した処理対象データのうち、最後の分割情報よりも後に存在する文書データを新たな残データして特定する（Ｓ２３）。すなわち、Ｓ１７の処理で残データを連結した処理対象データのうち、最後の分割情報よりも後に存在する文書データは、次のページに含まれる文書データと単一のブロックに含まれる文書データである可能性がある。そのため、データ生成部１１２は、Ｓ２３の処理において、Ｓ１７の処理で残データを連結した処理対象データのうち、最後の分割情報よりも後に存在する文書データを新たな残データとして特定する。
【００６４】
そして、Ｓ１２の処理で取得した文書データの全ページが取得済でない場合（Ｓ２４のＮＯ）、データ生成部１１２は、Ｓ１５以降の処理を再度行う。一方、Ｓ１２の処理で取得した文書データの全ページが取得済である場合（Ｓ２４のＹＥＳ）、ブロック生成部１１３は、Ｓ２３の処理で残データとして特定された文書データを含むブロックを生成する（Ｓ２５）。
【００６５】
その後、ブロック生成部１１３は、Ｓ１１の処理で受け付けた全文書データが取得済であるか否かの判定を行う（Ｓ２６）。その結果、Ｓ１１の処理で受け付けた全文書データが取得済でない場合（Ｓ２６のＮＯ）、データ生成部１１２は、Ｓ１２以降の処理を再度行う。一方、Ｓ１１の処理で受け付けた全文書データが取得済である場合（Ｓ２６のＹＥＳ）、ブロック生成部１１３は、Ｓ２２及びＳ２５の処理で分割された各ブロックを示す情報を、ブロック管理情報１３３として情報格納領域１３０に記憶する（Ｓ２７）。以下、Ｓ１２からＳ２７の処理の具体例について説明を行う。
【００６６】
［Ｓ１２からＳ２７の処理の具体例（１）］
図１６から図２７は、Ｓ１２からＳ２７の処理の具体例を説明する図である。データ生成部１１２は、図１６に示すように、ＰＧ１−１及びＰＧ１−２の２ページからなる文書データ（例えば、比較元データ１３１）を取得した場合、切れ目情報を削除した加工データを生成する（Ｓ１２、Ｓ１３のＹＥＳ、Ｓ１４）。具体的に、データ生成部１１２は、例えば、図１７に示すように、切れ目情報を削除し、ＰＧ１−１とＰＧ１−２とを連結した加工データであるＤＴ１−１を生成する。
【００６７】
そして、ブロック生成部１１３は、ＤＴ１−１のうち、ＰＧ１−１に含まれていた文書データを処理対象データとして取得する（Ｓ１５）。なお、ＰＧ１−１に含まれていた文書データは、ＤＴ１−１から最初に取得された文書データである。そのため、この場合、残データは存在していない（Ｓ１６のＮＯ）。
【００６８】
続いて、ブロック生成部１１３は、ＰＧ１−１に含まれていた文書データを分割してブロックを生成する（Ｓ２１のＹＥＳ、Ｓ２２）。具体的に、ブロック生成部１１３は、図１８に示すように、ＰＧ１−１に含まれていた文書データを空白行が存在する位置において分割することにより、各ブロック（ＢＬ１−１、ＢＬ１−２、ＢＬ１−３及びＢＬ１−４）を生成する。なお、図１８に示す例において、ＢＬ１−１とＢＬ１−２との間、ＢＬ１−２とＢＬ１−３との間及びＢＬ１−３とＢＬ１−４との間には、それぞれ空白ブロックが生成される。以下、空白ブロックについての説明は省略する。
【００６９】
そして、ブロック生成部１１３は、ＢＬ１−４の後の文書データ（ＰＧ１−１に含まれていた最後の文書データ）である「・・・ＡＡＡ．」を、ＰＧ１−２に含まれる文書データの一部と単一のブロックに含まれる可能性がある文書データであると判定する。そのため、ブロック生成部１１３は、「・・・ＡＡＡ．」を残データとして特定する（Ｓ２３）。
【００７０】
その後、データ生成部１１２は、ＤＴ１−１のうち、ＰＧ１−２に含まれていた文書データを処理対象データとして取得する（Ｓ２４のＮＯ、Ｓ１５）。そして、データ生成部１１２は、残データである「・・・ＡＡＡ．」が存在するため、ＰＧ１−２に含まれていたデータの前に残データを連結した処理対象データを生成する（Ｓ１６のＹＥＳ、Ｓ１７）。
【００７１】
ここで、残データである「・・・ＡＡＡ．」の最後には、終止符が付加されている。すなわち、前ページであるＰＧ１−１の最終行の文字列の最後は、文章の終わりを示している。そのため、データ生成部１１２は、残データの最終行に含まれる文字列とＳ１５の処理で取得したページの先頭行に含まれる文字列とが、それぞれ異なるブロックに含まれる文字列であると判定する。したがって、データ生成部１１２は、図１９に示すように、残データの最終行とＳ１５の処理で取得したページの先頭行との間の間隔の変更を行わない（Ｓ１８のＮＯ、Ｓ１９）。
【００７２】
その後、ブロック生成部１１３は、ＰＧ１−２に含まれていた文書データ（残データを含む）を分割してブロックを生成する（Ｓ２１のＹＥＳ、Ｓ２２）。具体的に、ブロック生成部１１３は、図２０に示すように、残データ及びＰＧ１−２に含まれていたデータのうち、空白行が存在する位置において分割することにより、ＢＬ１−５、ＢＬ１−６、ＢＬ１−７、ＢＬ１−８及びＢＬ１−９を生成する。
【００７３】
［Ｓ１２からＳ２７の処理の具体例（２）］
次に、Ｓ１２からＳ２７の処理の別の具体例について説明を行う。図２１に示す例において、ＰＧ１−１の最終行の文字列の最後は、文章の終わりを示していない。そして、ＰＧ１−１の最終行及びＰＧ１−２の先頭行には、それぞれ文字が含まれている。
【００７４】
この場合、データ生成部１１２は、図２２に示すように、ＰＧ１−１の最終行とＰＧ１−２の先頭行との間の間隔を、文章が複数の行からなる場合における各行の間隔と同じ間隔に変更する（Ｓ１８のＮＯ、Ｓ１９）。すなわち、データ生成部１１２は、ＰＧ１−１の最終行とＰＧ１−２の先頭行との間の間隔が、ブロック生成部１１３によってブロックの分割情報が存在すると判定されない間隔に変更する。
【００７５】
これにより、ブロック生成部１１３は、図２３に示すように、ＰＧ１−１の最終行を含む文書データとＰＧ１−２の先頭行を含む文書データとが単一のブロックであるＢＬ−１０に含まれるように、ブロックの生成を行うことが可能になる（Ｓ２１のＹＥＳ、Ｓ２２）。
【００７６】
［Ｓ１２からＳ２７の処理の具体例（３）］
次に、Ｓ１２からＳ２７の処理のさらに別の具体例について説明を行う。図２４に示す例において、ＰＧ１−１の最終行の文字列の最後は、図２１で説明した場合と同様に、文章の終わりを示していない。そして、ＰＧ１−１の最終行及びＰＧ１−２の先頭行には、図２１で説明した場合と同様に、それぞれ文字が含まれている。一方、図２４に示すＰＧ１−１の最終行は、図２１で説明したＰＧ１−１と異なり、途中（文字列「・・・あああ」の直後）から最後までが空白である行である。
【００７７】
この場合、データ生成部１１２は、図２２で説明した場合と同様に、ＰＧ１−１の最終行とＰＧ１−２の先頭行との間の間隔を、文章が複数の行からなる場合における各行の間隔と同じ間隔に変更する（Ｓ１８のＮＯ、Ｓ１９）。その後、ブロック生成部１１３は、図２５に示すように、ＰＧ１−１の最終行を含む文書データとＰＧ１−２の先頭行を含む文書データとがそれぞれ異なるブロックになるように、ブロックの生成を行う（Ｓ２１のＹＥＳ、Ｓ２２）。
【００７８】
すなわち、途中から最後までが空白である行が存在する場合、ブロック生成部１１３は、存在した空白が文書データの作成者によって意図的に含まれたものであると判定する。そのため、ブロック生成部１１３は、この場合、途中から最後までが空白である行と、その次の行とが異なるブロックに含まれるように、ブロックの生成を行う。
【００７９】
また、図２６に示す例において、ＰＧ１−１の最終行は、途中（文字列「・・・ＡＡＡ」の直後）から最後までが空白である行である。そのため、データ生成部１１２は、この場合、図２４で説明した場合と同様に、ＰＧ１−１の最終行とＰＧ１−２の先頭行との間の間隔を、文章が複数の行からなる場合における各行の間隔と同じ間隔に変更する（Ｓ１８のＮＯ、Ｓ１９）。
【００８０】
ここで、図２６に示すＰＧ１−１の最終行は、図２４で説明したＰＧ１−１の最終行と異なり、最後が英単語（半角文字）になっている。そのため、ブロック生成部１１３は、図２７に示すように、図２５で説明した場合と異なり、ＰＧ１−１の最終行を含む文書データとＰＧ１−２の先頭行を含む文書データとが単一のブロックであるＢＬ−１０に含まれるようにブロックの生成を行う。
【００８１】
すなわち、残データの最終行の最後が英単語である場合、その英単語の次の英単語は、残データの最終行に入らないために次の行（次のページの先頭行）の先頭に位置している場合がある。そのため、ブロック生成部１１３は、残データの最終行の最後が英単語等の半角文字である場合、残データの最終行の途中から最後までが空白である場合であっても、その空白が文書データの作成者によって意図的に含まれたものではないと判定する。
【００８２】
これにより、ブロック生成部１１３は、Ｓ１１の処理で受け付けた複数の文書データの比較精度をさらに高めることが可能になる。
【００８３】
［ブロック管理情報の具体例］
次に、ブロック管理情報１３３の具体例について説明を行う。図２８は、ブロック管理情報１３３の具体例を説明する図である。
【００８４】
図２８に示すブロック管理情報１３３は、ブロック管理情報１３３に含まれる各情報を識別する「項番」と、Ｓ１２の処理で取得したデータを識別する「データ識別情報」とを項目として有する。また、図２８に示すブロック管理情報１３３は、Ｓ２２の処理で分割したブロックを識別する「ブロック識別情報」と、Ｓ１１の処理で受け付けた文書データにおいて各ブロックが含まれるページ数が設定される「ページ情報」とを項目として有する。さらに、図２８に示すブロック管理情報１３３は、各ページにおける各ブロックの位置情報が設定される「位置情報」を項目として有する。
【００８５】
具体的に、図２８に示すブロック管理情報１３３において、「項番」が「１」である情報には、「データ識別情報」として「ＤＴ１−１」が設定され、「ブロック識別情報」として「ＢＬ１−１」が設定されている。また、図２８に示すブロック管理情報１３３において、「項番」が「１」である情報には、「ページ情報」として「１（ページ）」が設定され、「位置情報」として「（１，１）」が設定されている。図２８に含まれる他の情報については説明を省略する。
【００８６】
［Ｓ５の処理の詳細］
次に、図７で説明したＳ１からＳ５のうち、Ｓ５の処理の詳細について説明を行う。図１０及び図１１は、Ｓ５の処理の詳細について説明する図である。なお、以下、Ｓ１からＳ４の処理において、比較元データ１３１及び比較先データ１３２についてのブロックの生成が行われたものとして説明を行う。
【００８７】
ブロック判定部１１４は、図１０に示すように、比較元データ１３１に含まれるブロックを１つ取得する（Ｓ３１）。また、ブロック判定部１１４は、比較先データ１３２に含まれるブロックを１つ取得する（Ｓ３２）。そして、ブロック判定部１１４は、Ｓ３１の処理で取得したブロックに含まれる文書データの内容と、Ｓ３２の処理で取得したブロックに含まれる文書データの内容とが同一であるか否かを判定する（Ｓ３３）。
【００８８】
その結果、取得した各ブロックに含まれる文書データの内容が同一であると判定した場合（Ｓ３３のＹＥＳ）、ブロック判定部１１４は、Ｓ３４以降の処理を行う。一方、取得した各ブロックに含まれる文書データの内容が同一でないと判定した場合（Ｓ３３のＮＯ）、ブロック判定部１１４は、Ｓ３２以降の処理を再度行う。
【００８９】
その後、Ｓ３３の処理において、取得した各ブロックに含まれる文書データの内容が同一であると判定した場合（Ｓ３３のＹＥＳ）、ブロック判定部１１４は、Ｓ３２の処理で取得したブロックが比較元データ１３１に含まれる最後のブロックであるか否かを判定する（Ｓ３４）。また、ブロック判定部１１４は、この場合、Ｓ３３の処理で取得したブロックが比較先データ１３２に含まれる最後のブロックであるか否かを判定する（Ｓ３５）。そして、Ｓ３４及びＳ３５の処理において、Ｓ３１及びＳ３２の処理で取得したブロックがそれぞれ最後のブロックであると判定された場合(Ｓ３４のＹＥＳ、Ｓ３５のＹＥＳ)、ブロック判定部１１４は、Ｓ３６以降の処理を実行する。
【００９０】
一方、Ｓ３４の処理において、Ｓ３２の処理で取得したブロックが最後のブロックでないと判定された場合(Ｓ３４のＮＯ)、ブロック判定部１１４は、Ｓ３２以降の処理を再度実行する。また、Ｓ３５の処理において、Ｓ３１の処理で取得したブロックが最後のブロックでないと判定された場合(Ｓ３５のＮＯ)、ブロック判定部１１４は、Ｓ３１以降の処理を再度実行する。
【００９１】
すなわち、ブロック判定部１１４は、Ｓ３１からＳ３５の処理において、比較元データ１３１に含まれるブロックと比較先データ１３２に含まれるブロックとの間で、同一の内容の文書データをそれぞれ含むブロックの組み合わせを特定する。
【００９２】
そして、Ｓ３５の処理において、Ｓ３１の処理で取得したブロックが最後のブロックであると判定された場合（Ｓ３５のＹＥＳ）、ブロック判定部１１４は、比較元データ１３１に含まれるブロックと、比較先データ１３２に含まれるブロックとの間における同一ブロックを特定する（Ｓ３６）。
【００９３】
すなわち、例えば、比較元データ１３１に含まれる１つのブロックと同じ内容の文書データを含むブロックが、比較先データ１３２において複数存在する場合がある。そして、この場合、比較先データ１３２に含まれる複数のブロックのうちの１つ以外のブロックは、文書データの改版によって追加されたブロックである。そのため、ブロック判定部１１４は、この場合、比較先データ１３２に含まれる複数のブロックのうち、比較元データ１３１に元々存在していたブロック（同一ブロック）の特定を行う。
【００９４】
具体的に、ブロック判定部１１４は、例えば、Ｏ（ＮＤ）アルゴリズムを用いることにより、比較元データ１３１及び比較先データ１３２にそれぞれ含まれる同一ブロックの組み合わせを特定する。この場合、ブロック判定部１１４は、Ｓ３１からＳ３５の処理で特定した同一の内容の文書データが含まれるブロックの組み合わせを入力とし、比較元データ１３１及び比較先データ１３２にそれぞれ含まれる同一ブロックの特定を行う。
【００９５】
これにより、ブロック判定部１１４は、比較先データ１３２に含まれるブロックにおいて、比較元データ１３１に元々存在していた同一ブロックと、同一ブロック以外のブロックとを分類することが可能になる。以下、Ｓ３６の処理で特定された同一ブロックについて説明を行う。
【００９６】
［Ｓ３６の処理で特定された同一ブロック］
図２９は、Ｓ３６の処理で特定された同一ブロックについて説明する図である。なお、図２９に示す例において、ＤＴ１−１は、Ｓ１からＳ４の処理が行われた後の比較元データ１３１に対応する。また、図２９に示す例において、ＤＴ２−１は、Ｓ１からＳ４の処理が行われた後の比較先データ１３２に対応する。そして、図２９に示すＤＴ１−１には、ＢＬ１−１からＢＬ１−９が含まれる。また、図２９に示すＤＴ２−１には、ＢＬ２−１からＢＬ２−９が含まれる。
【００９７】
具体的に、ブロック判定部１１４は、図２９に示すように、Ｓ３１からＳ３６の処理を行うことにより、例えば、ＢＬ１−１とＢＬ２−１とが同一ブロックであり、ＢＬ１−４とＢＬ２−５とが同一ブロックであると判定する。また、ブロック判定部１１４は、図２９に示すように、例えば、ＢＬ１−５とＢＬ２−６とが同一ブロックであり、ＢＬ１−６とＢＬ２−７とが同一ブロックであると判定する。さらに、ブロック判定部１１４は、図２９に示すように、例えば、ＢＬ１−７とＢＬ２−８とが同一ブロックであり、ＢＬ１−９とＢＬ２−９とが同一ブロックであると判定する。
【００９８】
図１１に戻り、ブロック判定部１１４は、Ｓ３６の処理の後、比較元データ１３１及び比較先データ１３２に含まれるブロックのうち、Ｓ３６の処理で同一ブロックと特定されなかったブロックを、類似ブロックと、削除ブロックと、追加ブロックとにそれぞれ分類する（Ｓ４１）。
【００９９】
類似ブロックは、比較対象の文書データ（比較元データ１３１または比較先データ１３２）に、文書データの一致率が閾値以上であるブロックが存在するブロックである。また、削除ブロックは、比較元データ１３１に含まれるブロックのうち、比較先データ１３２に文書データの一致率が閾値以上であるブロックが存在しないブロックである。すなわち、削除ブロックは、文書データの改版によって、比較元データ１３１から削除されたものと判定されるブロック（比較先データ１３２に含まれないブロック）である。さらに、追加ブロックは、比較先データ１３２に含まれるブロックのうち、比較元データ１３１に一致率が閾値以上であるブロックが存在しないブロックである。すなわち、追加ブロックは、文書データの改版によって、比較元データ１３１に追加されたものと判定されるブロック（比較元データ１３１に含まれないブロック）である。以下、Ｓ４１の処理の詳細について説明を行う。
【０１００】
［Ｓ４１の処理の詳細］
図１２から図１５は、Ｓ４１の処理の詳細を説明するフローチャート図である。ブロック判定部１１４は、図１２に示すように、比較元データ１３１及び比較先データ１３２のそれぞれにおいて、Ｓ３６の処理で特定した同一ブロックの間にそれぞれ存在するブロックをブロック群として特定する（Ｓ５１）。
【０１０１】
具体的に、図２９に示す例において、ＤＴ１−１に含まれる同一ブロック（連続する同一ブロック）であるＢＬ１−１とＢＬ１−４との間には、ＢＬ１−２とＢＬ１−３とが存在する。そのため、ブロック判定部１１４は、ＢＬ１−２とＢＬ１−３とを含むブロック群（以下、ＢＧ１−１とも呼ぶ）を特定する。また、ＤＴ１−１に含まれる同一ブロックであるＢＬ１−７とＢＬ１−９との間には、ＢＬ１−８（以下、ＢＧ１−２とも呼ぶ）が存在する。そのため、ブロック判定部１１４は、ＢＬ１−８を含むブロック群を特定する。
【０１０２】
さらに、図２９に示す例において、ＤＴ２−１に含まれる同一ブロックであるＢＬ２−１とＢＬ２−５との間には、ＢＬ２−２とＢＬ２−３とＢＬ２−４とが存在する。そのため、ブロック判定部１１４は、ＢＬ２−２とＢＬ２−３とＢＬ２−４とを含むブロック群（以下、ＢＧ２−１とも呼ぶ）を特定する。
【０１０３】
すなわち、ブロック判定部１１４は、Ｓ３６の処理において、ＢＬ１−１とＢＬ２−１とが同一ブロックであり、ＢＬ１−４とＢＬ２−５とが同一ブロックであると判定している。そのため、ブロック判定部１１４は、ＢＬ１−１とＢＬ１−４との間に存在するＢＬ１−２及びＢＬ１−３と、ＢＬ２−１とＢＬ２−５との間に存在するＢＬ２−２、ＢＬ２−３及びＢＬ２−４とが、同一ブロックでないと判定することが可能である。また、ブロック判定部１１４は、この場合において、ＢＬ１−２及びＢＬ１−３の類似ブロックがＤＴ２−１に存在する場合、ＢＬ２−２、ＢＬ２−３及びＢＬ２−４のうちのいずれかであると判定することが可能になる。そのため、ブロック判定部１１４は、Ｓ５１の処理において、Ｓ３６の処理で特定した同一ブロックの間にそれぞれ存在するブロックをブロック群として特定する。
【０１０４】
なお、ＢＬ１−４とＢＬ１−５との間等にはブロックが存在しないが、ブロック判定部１１４は、ＢＬ１−４とＢＬ１−５との間にブロックを含まないブロック群が存在するものとして特定するものであってもよい。
【０１０５】
その後、ブロック判定部１１４は、比較元データ１３１に対応するブロック群及び比較先データ１３２に対応するブロック群のそれぞれから、共通する同一ブロックの間に存在するブロックを含むブロック群（以下、対応するブロック群とも呼ぶ）を１つずつ取得する（Ｓ５２）。具体的に、ブロック判定部１１４は、例えば、ＢＧ１−１とＢＧ２−１とを取得する。すなわち、ブロック判定部１１４は、Ｓ５２の処理において、比較元データ１３１に対応するブロック群及び比較先データ１３２に対応するブロック群のそれぞれから、類似ブロックが含まれている可能性があるブロック群をそれぞれ取得する。
【０１０６】
そして、ブロック判定部１１４は、Ｓ５２の処理で取得した比較元データ１３１のブロック群に含まれるブロックを１つ取得する（Ｓ５３）。また、ブロック判定部１１４は、Ｓ５２の処理で取得した比較先データ１３２のブロック群に含まれるブロックを１つ取得する（Ｓ５４）。具体的に、ブロック判定部１１４は、例えば、ＢＧ１−１に含まれるＢＬ１−２と、ＢＧ２−１に含まれるＢＬ２−２とをそれぞれ取得する。
【０１０７】
続いて、ブロック判定部１１４は、Ｓ５３の処理で取得したブロックに含まれる文書データと、Ｓ５４の処理で取得したブロックに含まれる文書データとの一致率を算出する（Ｓ５５）。その後、Ｓ５４の処理で取得したブロックが、Ｓ５２の処理で取得したブロック群に含まれる最後のブロックでない場合（Ｓ５６のＮＯ）、ブロック判定部１１４は、Ｓ５４以降の処理を再度行う。一方、Ｓ５４の処理で取得したブロックが、Ｓ５２の処理で取得したブロック群に含まれる最後のブロックである場合（Ｓ５６のＹＥＳ）、Ｓ６１以降の処理を行う。
【０１０８】
すなわち、ブロック判定部１１４は、Ｓ５３の処理で取得したブロックの類似ブロックが存在するか否かを判定するために、Ｓ５３の処理で取得したブロックとＳ５４の処理で取得したブロックとの一致度をそれぞれ算出する。具体的に、Ｓ５３の処理で取得されたブロックがＢＬ１−２である場合、ブロック判定部１１４は、ＢＧ２−１に含まれるブロックであるＢＬ２−２、ＢＬ２−３及びＢＬ２−４との一致度をそれぞれ算出する。以下、ＢＬ１−２と、ＢＬ２−２、ＢＬ２−３及びＢＬ２−４との一致度が、それぞれ１０（％）、０（％）及び２０（％）であるものとして説明を行う。
【０１０９】
そして、Ｓ５６の処理において、Ｓ５２の処理で取得したブロック群に含まれる最後のブロックである場合（Ｓ５６のＹＥＳ）、ブロック判定部１１４は、図１３に示すように、一致率が閾値以上のブロックが存在するか否かを判定する（Ｓ６１）。その結果、一致率が閾値以上のブロックが存在すると判定した場合（Ｓ６１のＹＥＳ）、ブロック判定部１１４は、Ｓ６１の処理で存在したブロックのうち、最も一致率が高いブロックを類似ブロックとして特定する（Ｓ６２）。
【０１１０】
一方、一致率が閾値以上のブロックが存在しないと判定した場合において（Ｓ６１のＮＯ）、Ｓ５３の処理で取得したブロックが空白ブロックでないと判定した場合（Ｓ６３のＹＥＳ）、ブロック判定部１１４は、Ｓ５３の処理で取得したブロックを削除ブロックとして特定する（Ｓ６４）。すなわち、この場合、Ｓ５３の処理で取得されたブロックは、同一ブロック及び類似ブロック以外のブロックである。そのため、ブロック判定部１１４は、Ｓ５３の処理で取得されたブロックが削除ブロックであると判定する。
【０１１１】
具体的に、Ｓ６１の処理における閾値が７０（％）である場合、ＢＬ１−２と、ＢＬ２−２、ＢＬ２−３及びＢＬ２−４との一致度である１０（％）、０（％）及び２０（％）は、全て閾値以下である。そのため、ブロック判定部１１４は、この場合、Ｓ５３の処理で取得されたブロックであるＢＬ１−２が削除ブロックであると特定する。
【０１１２】
なお、Ｓ５３の処理で取得したブロックが空白ブロックであると判定した場合（Ｓ６３のＮＯ）、ブロック判定部１１４は、Ｓ６４の処理を行わない。
【０１１３】
そして、ブロック判定部１１４は、Ｓ６２の処理の後、図１４に示すように、比較先データ１３２において、Ｓ６２の処理で特定した類似ブロックの前にブロックが存在するか否かを判定する（Ｓ７１）。そして、類似ブロックの前にブロックが存在すると判定した場合において（Ｓ７１のＹＥＳ）、存在すると判定したブロックが空白ブロックでないと判定した場合（Ｓ７４のＹＥＳ）、ブロック判定部１１４は、Ｓ６２の処理で特定した類似ブロックの前に存在するブロックを追加ブロックとして特定する（Ｓ７５）。すなわち、この場合、Ｓ６２の処理で特定した類似ブロックの前に存在するブロックは、同一ブロック及び類似ブロック以外のブロックである。そのため、ブロック判定部１１４は、Ｓ６２の処理で特定した類似ブロックの前に存在するブロックが追加ブロックであると判定する。なお、Ｓ７１の処理で存在すると判定したブロックが空白ブロックであると判定した場合（Ｓ７４のＮＯ）、ブロック判定部１１４は、Ｓ７５の処理を行わない。
【０１１４】
その後、Ｓ６２の処理で特定した類似ブロックの前にブロックが存在しないと判定した場合（Ｓ７１のＮＯ）、ブロック判定部１１４は、Ｓ５３の処理で取得したブロックがＳ５２で取得した比較元データ１３１のブロック群に含まれる最後のブロックであるか否かを判定する（Ｓ７２）。そして、Ｓ５３の処理で取得したブロックが最後のブロックでない場合（Ｓ７２のＮＯ）、ブロック判定部１１４は、Ｓ５３以降の処理を再度行う。
【０１１５】
具体的に、図２９に示す例において、ＢＧ１−１には、ＢＬ１−２及びＢＬ１−３が含まれている。そのため、Ｓ５２の処理においてＢＧ１−１を取得し、Ｓ５３の処理でＢＬ１−２を取得した場合、ブロック判定部１１４は、ＢＧ１−１に含まれる全てのブロックの取得を行っていないと判定する（Ｓ７２のＮＯ）。そのため、ブロック判定部１１４は、この場合、ＢＬ１−３の取得を行う（Ｓ５３）。
【０１１６】
その後、ブロック判定部１１４は、ＢＬ１−３と、ＢＬ２−２、ＢＬ２−３及びＢＬ２−４との一致度をそれぞれ算出する（Ｓ５４、Ｓ５５、Ｓ５６）。以下、ＢＬ１−２と、ＢＬ２−２、ＢＬ２−３及びＢＬ２−４との一致度が、それぞれ７５（％）、８０（％）及び２０（％）であるものとして説明を行う。
【０１１７】
そして、Ｓ６１の処理における閾値が７０（％）である場合、ブロック判定部１１４は、閾値以上のブロックとして、一致度が７５（％）であるＢＬ２−２と、一致度が８０（％）であるＢＬ２−３とを一致度が閾値以上であるブロックとして特定する（Ｓ６１のＹＥＳ）。さらに、ブロック判定部１１４は、一致度が最も高いブロックであるＢＬ２−３を、ＢＬ１−３の類似ブロックとして特定する（Ｓ６２）。その後、ブロック判定部１１４は、ＢＬ２−３の前のブロックであるＢＬ２−２を追加ブロックとして特定する（Ｓ７１のＹＥＳ、Ｓ７４のＹＥＳ、Ｓ７５）。
【０１１８】
なお、ブロック判定部１１４は、Ｓ６４及びＳ７５の処理の後においても同様に、Ｓ７２の処理を行う。
【０１１９】
その後、Ｓ７２の処理において、Ｓ５３の処理で取得したブロックが最後のブロックである場合（Ｓ７２のＹＥＳ）、ブロック判定部１１４は、比較先データ１３２において、Ｓ６２の処理で特定した類似ブロックの後にブロックが存在するか否かを判定する（Ｓ７３）。そして、類似ブロックの後にブロックが存在すると判定した場合において（Ｓ７３のＹＥＳ）、存在すると判定したブロックが空白ブロックでないと判定した場合（Ｓ７６のＹＥＳ）、ブロック判定部１１４は、Ｓ６２の処理で特定した類似ブロックの後に存在するブロックを追加ブロックとして特定する（Ｓ７７）。すなわち、この場合、Ｓ６２の処理で特定した類似ブロックの後に存在するブロックは、同一ブロック及び類似ブロック以外のブロックである。そのため、ブロック判定部１１４は、Ｓ６２の処理で特定した類似ブロックの後に存在するブロックが追加ブロックであると判定する。
【０１２０】
具体的に、ブロック判定部１１４は、ＢＬ２−３の後のブロックであるＢＬ２−４を追加ブロックとして特定する（Ｓ７３のＹＥＳ、Ｓ７６のＹＥＳ、Ｓ７７）。
【０１２１】
なお、Ｓ７３の処理で存在すると判定したブロックが空白ブロックであると判定した場合（Ｓ７６のＮＯ）、ブロック判定部１１４は、Ｓ７７の処理を行わない。
【０１２２】
そして、Ｓ６２の処理で特定した類似ブロックの後にブロックが存在しないと判定した場合（Ｓ７３のＮＯ）、ブロック判定部１１４は、図１５に示すように、Ｓ５２の処理で取得したブロック群のいずれかが最後のブロック群であるか否かを判定する（Ｓ８１）。その結果、Ｓ５２の処理で取得したブロック群のいずれかが最後のブロック群ではないと判定した場合（Ｓ８１のＮＯ）、ブロック判定部１１４は、Ｓ５２以降の処理を再度行う。
【０１２３】
一方、Ｓ５２の処理で取得したブロック群のいずれかが最後のブロック群であると判定した場合（Ｓ８１のＹＥＳ）、ブロック判定部１１４は、比較先データ１３２のブロック群のうち、Ｓ５２の処理において取得されていないブロック群に含まれるブロックを追加ブロックとして特定する。また、この場合、ブロック判定部１１４は、比較元データ１３１のブロック群のうち、Ｓ５２の処理において取得されていないブロック群に含まれるブロックを削除ブロックとして特定する（Ｓ８２）。
【０１２４】
具体的に、Ｓ５２の処理において、ブロック判定部１１４は、ＢＧ１−１とＢＧ２−１とを取得している。そのため、ブロック判定部１１４は、例えば、ＢＬ１−４とＢＬ１−５との間のブロック群と、ＢＬ２−５とＢＬ２−６との間のブロック群とを取得する（Ｓ８１のＮＯ、Ｓ５２）。ここで、ＢＬ１−４とＢＬ１−５との間のブロック群及びＢＬ２−５とＢＬ２−６との間のブロック群には、それぞれブロックが含まれていない。そのため、ＢＬ１−４とＢＬ１−５との間のブロック群及びＢＬ２−５とＢＬ２−６との間のブロック群について、ブロックの分類は行われない。ＢＬ１−５とＢＬ１−６との間のブロック群及びＢＬ２−６とＢＬ２−７との間のブロック群等についても同様である。
【０１２５】
その後、ブロック判定部１１４は、ＢＧ１−２と、ＢＬ２−８とＢＬ２−９との間のブロック群とを取得する（Ｓ８１のＮＯ、Ｓ５２）。ここで、ＢＬ２−８とＢＬ２−９との間のブロック群には、ブロックが含まれていない。そのため、ブロック判定部１１４は、ＢＧ１−２に含まれるＢＬ１−８を削除ブロックとして特定する（Ｓ６１のＮＯ、Ｓ６３のＹＥＳ、Ｓ６４）。
【０１２６】
そして、Ｓ８２の処理の後、ブロック判定部１１４は、Ｓ５の処理を終了する。なお、ブロック判定部１１４は、Ｓ７７の処理の後においても同様に、Ｓ８１以降の処理を行う。
【０１２７】
図１１に戻り、ブロック判定部１１４は、Ｓ４１の処理で分類した比較元データ１３１及び比較先データ１３２に含まれる類似ブロックに含まれる文書データ（類似ブロックに含まれる画像データ以外の文書データ）を、同一文書データと、削除文書データと、追加文書データとに分類する（Ｓ４２）。同一文書データは、文書データの改版によって変更がなかった文書データである。また、削除文書データは、比較元データ１３１の類似ブロックに含まれる文書データのうち、比較先データ１３２の類似ブロックに含まれない文書データである。さらに、追加文書データは、比較先データ１３２の類似ブロックに含まれる文書データのうち、比較元データ１３１の類似ブロックに含まれない文書データである。
【０１２８】
具体的に、ブロック判定部１１４は、例えば、Ｏ（ＮＤ）アルゴリズムを用いることにより、比較元データ１３１及び比較先データ１３２にそれぞれ含まれる類似ブロックに含まれる文書データを、同一文書データと、削除文書データと、追加文書データとに分類する。ブロック判定部１１４は、この場合、例えば、Ｓ４１の処理で特定した類似ブロックに含まれる文書データを入力とし、同一文書データと、削除文書データと、追加文書データとの分類を行う。
【０１２９】
その後、結果出力部１１５は、Ｓ４１の処理で分類した類似ブロックと、削除ブロックと、追加ブロックと、Ｓ４２で分類した削除文書データと、追加文書データとを示す情報を出力する（Ｓ４３）。以下、データ比較処理の結果を出力した際の具体例について説明を行う。
【０１３０】
［データ比較処理の結果を出力した際の具体例］
図３０は、データ比較処理の結果を出力した際の具体例を説明する図である。結果出力部１１６は、図３０に示すように、例えば、「削除ブロック」が「ＢＬ１−２、ＢＬ１−８」であり、「追加ブロック」が「ＢＬ２−２、ＢＬ２−４」であり、「類似ブロック」が「ＢＬ１−３」と「ＢＬ２−３」とであることを示す情報を「ブロック比較結果」として出力する。
【０１３１】
そして、結果出力部１１６は、図３０に示すように、例えば、「類似ブロック」として出力された「ＢＬ１−３」と「ＢＬ２−３」とにおいて、「削除文書データ」が２行目のＣＣＣであることを示す「ＣＣＣ（２行目）」であることを示す情報を「文書データ比較結果」として出力する。また、結果出力部１１６は、例えば、「類似ブロック」として出力された「ＢＬ１−３」と「ＢＬ２−３」とにおいて、「追加文書データ」が２行目のＤＤＤであることを示す「ＤＤＤ（２行目）」であることを示す情報を「文書データ比較結果」として出力する。
【０１３２】
これにより、結果出力部１１６は、精度が高い比較元データ１３１と比較先データ１３２との比較結果を出力することが可能になる。そのため、利用者は、比較元データ１３１と比較先データとの差分を精度高く把握することが可能になる。
【０１３３】
以上の実施の形態をまとめると、以下の付記のとおりである。
【０１３４】
（付記１）
複数行の文字列をそれぞれ含む複数のデータを受け付け、
受け付けた前記複数のデータのうちの何らかのデータにページの切れ目を示す切れ目情報が含まれる場合、前記何らかのデータから前記切れ目情報を削除したデータを生成し、
生成した前記データを分割して複数のブロックを生成し、
生成した前記ブロックそれぞれが、受け付けた前記複数のデータのうちの他のデータに含まれるか否かを判定する、
処理をコンピュータに実行させることを特徴とするデータ比較プログラム。
【０１３５】
（付記２）
付記１において、
前記データを生成する処理では、前記切れ目情報の直前ページの最終行の文字列の最後が文章の終わりを示していない場合、前記直前ページの最終行と、前記切れ目情報の直後ページの先頭行との間隔を、前記文章が複数の行からなる場合における各行の間隔と同じ間隔に変更する、
ことを特徴とするデータ比較プログラム。
【０１３６】
（付記３）
付記２において、
前記データを生成する処理では、前記切れ目情報の直前ページの最終行の文字列の最後が句点または終止符である場合に、前記最終行の文字列の最後が文章の終わりを示していると判定する、
ことを特徴とするデータ比較プログラム。
【０１３７】
（付記４）
付記２において、
前記データを生成する処理では、前記直前ページの最終行に文字が含まれている場合に、前記間隔を変更する処理を行う、
ことを特徴とするデータ比較プログラム。
【０１３８】
（付記５）
付記２において、
前記データを生成する処理では、前記直後ページの先頭行に文字が含まれている場合に、前記間隔を変更する処理を行う、
ことを特徴とするデータ比較プログラム。
【０１３９】
（付記６）
付記１において、
前記複数のブロックを生成する処理では、生成した前記データに空白のみを含む空白行が存在する場合、前記空白行の直前の行と、前記空白行と、前記空白行の直後の行とがそれぞれ異なるブロックに含まれるように前記複数のブロックの生成を行う、
ことを特徴とするデータ比較プログラム。
【０１４０】
（付記７）
付記１において、
前記複数のブロックを生成する処理では、途中から最後までが空白またはインテンドである特定の行が存在する場合、前記特定の行と、前記特定の行の次の行とがそれぞれ異なるブロックに含まれるように前記複数のブロックの生成を行う、
ことを特徴とするデータ比較プログラム。
【０１４１】
（付記８）
付記１において、
前記複数のブロックを生成する処理では、文字列の最後が文章の終わりを示していない特定の行が存在する場合であって、前記特定の行の次の行の文字列の先頭が半角文字である場合、前記特定の行と、前記特定の行の次の行とが同じブロックに含まれるように前記複数のブロックの生成を行う、
ことを特徴とするデータ比較プログラム。
【０１４２】
（付記９）
付記１において、
前記複数のブロックを生成する処理では、文字列に含まれる文字のフォントが次の行の文字列に含まれる文字のフォントと異なる特定の行が存在する場合、前記特定の行と、前記特定の行の次の行とがそれぞれ異なるブロックに含まれるように前記複数のブロックの生成を行う、
ことを特徴とするデータ比較プログラム。
【０１４３】
（付記１０）
付記１において、さらに、
前記複数のブロックのうち、前記他のデータに同一のブロックが含まれる特定のブロックが存在すると判定した場合、前記特定のブロックと、前記他のデータに含まれるブロックのうち、前記特定のブロックと同一のブロックとをそれぞれ特定し、
特定した前記ブロックのそれぞれが同一のブロックであることを示す情報を出力する、
ことを特徴とするデータ比較プログラム。
【０１４４】
（付記１１）
付記１０において、さらに、
前記複数のブロックのうち、前記他のデータに同一のブロックが含まれない第１ブロックを特定し、
前記他のデータに含まれるブロックのうち、生成した前記複数のブロックに同一のブロックが含まれない第２ブロックを特定し、
特定した前記第１ブロックに含まれる文字と、特定した前記第２ブロックに含まれる文字との一致率が所定の閾値以上である場合、前記第１ブロックと前記第２ブロックとが類似するブロックであることを示す情報を出力する、
ことを特徴とするデータ比較プログラム。
【０１４５】
（付記１２）
付記１１において、
前記類似するブロックであることを示す情報を出力する処理では、前記第１ブロックのうち、連続する前記同一のブロックの間に存在するブロックに含まれる文字と、前記第２ブロックのうち、前記連続する同一のブロックの間に存在するブロックに含まれる文字との一致率が前記所定の閾値以上であるか否かの判定を行う、
ことを特徴とするデータ比較プログラム。
【０１４６】
（付記１３）
付記１１において、さらに、
前記複数のブロックのうち、特定された前記同一のブロック及び前記類似のブロックでのいずれでもない他のブロックを特定し、
特定した前記他のブロックが、前記他のデータに含まれないブロックであることを示す情報を出力する、
ことを特徴とするデータ比較プログラム。
【０１４７】
（付記１４）
付記１１において、さらに、
前記他のデータに含まれるブロックのうち、特定された前記同一のブロック及び前記類似のブロックのいずれでもない他のブロックを特定し、
特定した前記他のブロックが、前記複数のブロックに含まれないブロックであることを示す情報を出力する、
ことを特徴とするデータ比較プログラム。
【０１４８】
（付記１５）
付記１において、
前記切れ目情報は、前記ページの先頭を示すヘッダー情報と、前記ページの最後を示すフッター情報とを含む、
ことを特徴とするデータ比較プログラム。
【０１４９】
（付記１６）
複数行の文字列をそれぞれ含む複数のデータを受け付ける受け付け部と、
受け付けた前記複数のデータのうちの何らかのデータにページの切れ目を示す切れ目情報が含まれる場合、前記何らかのデータから前記切れ目情報を削除したデータを生成するデータ生成部と、
生成した前記データを分割して複数のブロックを生成するブロック生成部と、
生成した前記ブロックそれぞれが、受け付けた前記複数のデータのうちの他のデータに含まれるか否かを判定する判定部と、を有する、
ことを特徴とするデータ比較装置。
【０１５０】
（付記１７）
複数行の文字列をそれぞれ含む複数のデータを受け付け、
受け付けた前記複数のデータのうちの何らかのデータにページの切れ目を示す切れ目情報が含まれる場合、前記何らかのデータから前記切れ目情報を削除したデータを生成し、
生成した前記データを分割して複数のブロックを生成し、
生成した前記ブロックそれぞれが、受け付けた前記複数のデータのうちの他のデータに含まれるか否かを判定する、
ことを特徴とするデータ比較方法。
【符号の説明】
【０１５１】
１：情報処理装置            ２：記憶部
１１：利用者端末            ＮＷ：ネットワーク
【図１】
2017194903.tif 000003
【図２】
2017194903.tif 000004
【図３】
2017194903.tif 000005
【図４】
2017194903.tif 000006
【図５】
2017194903.tif 000007
【図６】
2017194903.tif 000008
【図７】
2017194903.tif 000009
【図８】
2017194903.tif 000010
【図９】
2017194903.tif 000011
【図１０】
2017194903.tif 000012
【図１１】
2017194903.tif 000013
【図１２】
2017194903.tif 000014
【図１３】
2017194903.tif 000015
【図１４】
2017194903.tif 000016
【図１５】
2017194903.tif 000017
【図１６】
2017194903.tif 000018
【図１７】
2017194903.tif 000019
【図１８】
2017194903.tif 000020
【図１９】
2017194903.tif 000021
【図２０】
2017194903.tif 000022
【図２１】
2017194903.tif 000023
【図２２】
2017194903.tif 000024
【図２３】
2017194903.tif 000025
【図２４】
2017194903.tif 000026
【図２５】
2017194903.tif 000027
【図２６】
2017194903.tif 000028
【図２７】
2017194903.tif 000029
【図２８】
2017194903.tif 000030
【図２９】
2017194903.tif 000031
【図３０】
2017194903.tif 000032