JP2017194903A - Data comparison program, data comparison device and data comparison method - Google Patents
Data comparison program, data comparison device and data comparison method Download PDFInfo
- Publication number
- JP2017194903A JP2017194903A JP2016086079A JP2016086079A JP2017194903A JP 2017194903 A JP2017194903 A JP 2017194903A JP 2016086079 A JP2016086079 A JP 2016086079A JP 2016086079 A JP2016086079 A JP 2016086079A JP 2017194903 A JP2017194903 A JP 2017194903A
- Authority
- JP
- Japan
- Prior art keywords
- data
- block
- blocks
- line
- comparison
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Document Processing Apparatus (AREA)
Abstract
Description
本発明は、データ比較プログラム、データ比較装置及びデータ比較方法に関する。 The present invention relates to a data comparison program, a data comparison device, and a data comparison method.
利用者に対してサービスを提供する事業者(以下、単に事業者とも呼ぶ)は、例えば、利用者に対して各種サービスを提供するために、業務システムの構築を行う。具体的に、事業者は、マニュアル等の文書データの改版が行われた場合に、改版が行われた文書データ(以下、改版後の文書データとも呼ぶ)及び改版が行われる前の文書データ(以下、改版前の文書データとも呼ぶ)を比較する機能を有する業務システムを構築する。 A provider that provides services to users (hereinafter, also simply referred to as a provider) constructs a business system in order to provide various services to users, for example. Specifically, when the document data such as a manual is revised, the business operator has revised the document data (hereinafter, also referred to as document data after the revision) and the document data before the revision ( Hereinafter, a business system having a function of comparing document data before revision) is constructed.
そして、利用者は、改版前の文書データと改版後の文書データとを業務システムに入力し、改版前の文書データの内容と改版後の文書データの内容との差分の特定を行う。これにより、利用者は、改版後の文書データに含まれる内容のうち、改版された内容の把握を効率的に行うことが可能になる(例えば、特許文献1乃至3参照)。
Then, the user inputs the document data before the revision and the document data after the revision into the business system, and specifies the difference between the contents of the document data before the revision and the contents of the document data after the revision. Accordingly, the user can efficiently grasp the revised contents among the contents included in the revised document data (see, for example,
上記のように改版が行われる文書データには、複数のページから構成されるものが存在する。この場合、改版前の文書データ及び改版後の文書データの比較は、例えば、各ページに含まれている内容毎に行われる。 Some document data that is revised as described above includes a plurality of pages. In this case, comparison between the document data before the revision and the document data after the revision is performed for each content included in each page, for example.
しかしながら、文書データの改版が行われた場合、実際に改版が行われていない内容についてもページが変更される場合がある。具体的に、例えば、改版前の文書データの一部が削除されたことに伴って、改版が行われていない内容の一部が前のページに含まれるようになった場合がこれに該当する。そして、業務システムは、この場合、ページが変更された内容についても、改版前の文書データの内容と改版後の文書データの内容との差分として特定する。そのため、業務システムが特定した差分には、実際に改版が行われていない内容が含まれる可能性がある。 However, when document data is revised, the page may be changed even for content that has not been revised. More specifically, for example, when a part of the document data before the revision is deleted, a part of the content that has not been revised is included in the previous page. . In this case, the business system also specifies the content of the changed page as the difference between the content of the document data before the revision and the content of the document data after the revision. For this reason, the difference specified by the business system may include content that has not actually been revised.
そこで、一つの側面では、本発明は、データの比較精度を高めることを可能とするデータ比較プログラム、データ比較装置及びデータ比較方法を提供することを目的とする。 In view of this, an object of one aspect of the present invention is to provide a data comparison program, a data comparison device, and a data comparison method that can increase the accuracy of data comparison.
実施の形態の一態様では、複数行の文字列をそれぞれ含む複数のデータを受け付け、受け付けた前記複数のデータのうちの何らかのデータにページの切れ目を示す切れ目情報が含まれる場合、前記何らかのデータから前記切れ目情報を削除したデータを生成し、生成した前記データを分割して複数のブロックを生成し、生成した前記ブロックそれぞれが、受け付けた前記複数のデータのうちの他のデータに含まれるか否かを判定する、処理をコンピュータに実行させる。 In one aspect of the embodiment, when a plurality of pieces of data each including a plurality of lines of character strings are received, and when any piece of data among the plurality of pieces of received data includes break information indicating a break of a page, Generate data in which the break information is deleted, divide the generated data to generate a plurality of blocks, and whether each of the generated blocks is included in other data of the received plurality of data To make the computer execute the process.
一つの側面によれば、データの比較精度を高めることを可能とする。 According to one aspect, it is possible to improve data comparison accuracy.
[情報処理システムの構成]
図1は、情報処理システム10の構成を示す図である。図1に示す情報処理システム10は、情報処理装置1(以下、データ比較装置1またはコンピュータ1とも呼ぶ)と、記憶部2とを有する。そして、利用者端末11は、インターネットやイントラネット等からなるネットワークNWを介して情報処理装置1にアクセスすることが可能である。
[Configuration of information processing system]
FIG. 1 is a diagram illustrating a configuration of the
情報処理装置1には、例えば、マニュアル等の文書データの改版が行われた場合に、改版前の文書データ(以下、比較元データとも呼ぶ)と、改版後の文書データ(以下、比較先データとも呼ぶ)とを比較する処理(以下、データ比較処理とも呼ぶ)を行う業務システムを構築されている。
In the
そして、情報処理装置1は、例えば、利用者が利用者端末11を介して改版前の文書データと改版後の文書データとを入力した場合、改版前の文書データの内容と改版後の文書データの内容との差分の特定を行い、特定した差分を示す情報を利用者端末11に送信する。具体的に、情報処理装置1は、例えば、O(ND)アルゴリズムを用いることにより、改版前の文書データの内容と改版後の文書データの内容との差分の特定を行う。
For example, when the user inputs the document data before the revision and the document data after the revision via the
記憶部2は、利用者端末11を介して入力された改版前の文書データや改版後の文書データ等を記憶する。
The
[データを比較する際の具体例]
次に、データを比較する際の具体例について説明を行う。図2及び図3は、文書データを比較する際の具体例を説明する図である。具体的に、図2は、それぞれ1ページからなる改版前の文書データと改版後の文書データとを比較する際の具体例を説明する図である。以下、改修前の文書データがPG1−1であり、改修後の文書データがPG2−1であるものとして説明を行う。また、以下、図2等で説明する文書データには、画像データが含まれる場合があるものとする。
[Specific example when comparing data]
Next, a specific example when comparing data will be described. 2 and 3 are diagrams for explaining a specific example when comparing document data. Specifically, FIG. 2 is a diagram for explaining a specific example when comparing document data before revision and document data after revision each consisting of one page. In the following description, it is assumed that the document data before the modification is PG1-1 and the document data after the modification is PG2-1. In the following description, it is assumed that the document data described with reference to FIG.
図2に示す例において、PG2−1には、一点鎖線で囲まれた文書データであるDF2−1が含まれている。一方、PG1−1には、DF2−1と同じ内容の文書データが含まれていない。そのため、情報処理装置1は、図2に示すPG1−1とPG2−1との比較を行った場合、図2に示すように、DF2−1を差分として検知する。
In the example shown in FIG. 2, PG2-1 includes DF2-1 which is document data surrounded by a one-dot chain line. On the other hand, PG1-1 does not include document data having the same contents as DF2-1. Therefore, when the
次に、それぞれ複数ページからなる改修前の文書データと改修後の文書データとを比較する際の具体例について説明を行う。図3は、それぞれ複数ページからなる改修前の文書データと改修後の文書データとを比較する際の具体例を説明する図である。以下、改修前の文書データがPG1−1及びPG1−2からなる文書データであり、改修後の文書データがPG2−1及びPG2−2からなる文書データであるものとして説明を行う。 Next, a specific example when comparing the document data before modification and the document data after modification each consisting of a plurality of pages will be described. FIG. 3 is a diagram for explaining a specific example when comparing document data before modification and document data after modification each consisting of a plurality of pages. In the following description, it is assumed that the document data before modification is document data composed of PG1-1 and PG1-2, and the document data after modification is document data composed of PG2-1 and PG2-2.
図3に示す例において、PG2−1には、図2で説明した場合と同様に、DF2−1が含まれている。一方、PG1−1には、図2で説明した場合と同様に、DF2−1が含まれていない。そのため、情報処理装置1は、図3に示すPG1−1とPG2−1との比較を行った場合、図3に示すように、DF2−1を差分として検知する。
In the example shown in FIG. 3, PG2-1 includes DF2-1 as in the case described with reference to FIG. On the other hand, PG2-1 does not include DF2-1, as in the case described with reference to FIG. Therefore, when comparing PG1-1 and PG2-1 shown in FIG. 3, the
また、図3に示す例において、PG1−1には、一点鎖線で囲まれた文書データであるDF1−1(一段落からなる文書データ)が含まれている。一方、PG2−1には、DF1−1と同じ内容の文書データのうちの一部であるDF2−2のみが含まれている。そして、PG2−2には、DF1−1と同じ内容の文書データのうちのPG2−1に含まれていない部分の文書データであるDF2−3が含まれている。すなわち、図3に示す例では、PG2−1にDF2−1に追加されたことに伴って、DF2−3がPG2−1からPG2−2に移動している。 In the example shown in FIG. 3, PG1-1 includes DF1-1 (document data consisting of one paragraph) that is document data surrounded by a one-dot chain line. On the other hand, PG2-1 includes only DF2-2 which is a part of document data having the same contents as DF1-1. PG2-2 includes DF2-3, which is document data of a portion not included in PG2-1 in the document data having the same contents as DF1-1. That is, in the example shown in FIG. 3, DF2-3 has moved from PG2-1 to PG2-2 with the addition of DF2-1 to PG2-1.
そして、図3に示す改修前の文書データと、改修後の文書データとの比較を行う場合、情報処理装置1は、例えば、各ページに含まれている内容毎に比較を行う。ここで、PG1−1には、DF1−1の全てが含まれているのに対し、PG2−1には、DF1−1と同じ内容の文書データの一部であるDF2−2のみが含まれている。そのため、情報処理装置1は、PG1−1とPG2−1との比較を行う場合、例えば、PG1−1におけるDF1−1とPG2−1におけるDF2−2とを差分として検知する。また、PG1−2には、DF2−3が含まれていないのに対し、PG2−2には、DF2−3が含まれている。そのため、情報処理装置1は、PG1−2とPG2−2との比較を行う場合、例えば、DF2−2を差分として検知する。
Then, when comparing the document data before the modification shown in FIG. 3 with the document data after the modification, the
したがって、情報処理装置1が検知した差分には、実際に改版が行われていない内容が含まれる可能性がある。
Therefore, the difference detected by the
そこで、本実施の形態における情報処理装置1は、複数行の文字列をそれぞれ含む複数のデータを受け付ける。そして、情報処理装置1は、受け付けた複数のデータのうちの何らかのデータにページの切れ目を示す切れ目情報が含まれる場合、その何らかのデータから切れ目情報を削除したデータを生成し、生成したデータを分割して複数のブロックを生成する。その後、情報処理装置1は、生成したブロックそれぞれが、受け付けた複数のデータのうちの他のデータに含まれるか否かを判定する。
Therefore, the
すなわち、情報処理装置1は、複数ページからなるデータを受け付けた場合、切れ目情報を削除してから、文書データの比較を行う単位であるブロックの生成を行う。これにより、情報処理装置1は、ページの切れ目によって必要以上に分割されるブロックの発生を防止することが可能になる。そのため、情報処理装置1は、比較元データと比較先データとに共通して含まれる文書データ(改版が行われていない文書データ)のページの切れ目が異なる場合であっても、そのデータをそれぞれ含むブロックを同一の内容を含むブロックとして判定することが可能になる。したがって、情報処理装置1は、比較元データと比較先データとの比較精度を高めることが可能になる。以下、本実施の形態における情報処理装置1が実行するデータ比較処理の概略について説明を行う。
That is, when the
[本実施の形態におけるデータ比較処理の概略]
図4は、本実施の形態におけるデータ比較処理の概略を説明する図である。図4に示すDT1−1は、図3で説明したPG1−1とPG2−1からページの切れ目情報を削除したデータである。また、図4に示すDT2−1は、図3で説明したPG1−2とPG2−2からページの切れ目情報を削除したデータである。
[Outline of data comparison processing in this embodiment]
FIG. 4 is a diagram for explaining the outline of the data comparison processing in the present embodiment. DT1-1 shown in FIG. 4 is data obtained by deleting page break information from PG1-1 and PG2-1 described in FIG. DT2-1 shown in FIG. 4 is data obtained by deleting page break information from PG1-2 and PG2-2 described in FIG.
図4に示す例において、DF2−4は、図3で説明したDF2−2とDF2−3とに対応する。すなわち、情報処理装置1がPG1−1とPG2−1からページの切れ目情報を削除することにより、DT2−1には、DF2−2とDF2−3とが連結されたDF2−4が含まれる。そのため、情報処理装置1は、DT2−1を複数のブロックに分割する際に、DF2−4を1つのブロックに含めるようにブロックの分割を行うことが可能になる。したがって、情報処理装置1は、DT1−1とDT2−1とを比較した際に、DF2−1を含むブロックと、DF2−4を含むブロックとが同一の内容を含むブロックである判定することが可能になる。
In the example shown in FIG. 4, DF2-4 corresponds to DF2-2 and DF2-3 described in FIG. That is, when the
[情報処理装置のハードウエア構成]
次に、情報処理装置1のハードウエア構成について説明する。図5は、情報処理装置1のハードウエア構成を示す図である。
[Hardware configuration of information processing device]
Next, the hardware configuration of the
情報処理装置1は、プロセッサであるCPU101と、メモリ102と、外部インターフェース(I/Oユニット)103と、記憶媒体104とを有する。各部は、バス105を介して互いに接続される。
The
記憶媒体104は、例えば、記憶媒体104内のプログラム格納領域(図示しない)に、データ比較処理等を行うためのプログラム110を記憶する。また、記憶媒体104は、例えば、データ比較処理等を行う際に用いられる情報を記憶する情報格納領域130(以下、記憶部130とも呼ぶ)を有する。
The
CPU101は、図5に示すように、プログラム110の実行時に、プログラム110を記憶媒体104からメモリ102にロードし、プログラム110と協働してデータ比較処理等を行う。また、外部インターフェース103は、利用者端末11と通信を行う。
As shown in FIG. 5, when executing the program 110, the
[情報処理装置の機能]
次に、情報処理装置1の機能について説明する。図6は、情報処理装置1の機能ブロック図である。
[Functions of information processing device]
Next, functions of the
情報処理装置1のCPU101は、プログラム110と協働することにより、例えば、データ受け付け部111(以下、単に受け付け部111とも呼ぶ)と、データ生成部112と、ブロック生成部113として動作する。また、情報処理装置1のCPU101は、プログラム110と協働することにより、例えば、ブロック判定部114(以下、単に判定部114とも呼ぶ)と、結果出力部115として動作する。
The
さらに、情報格納領域130には、比較元データ131と、比較先データ132と、ブロック管理情報133とが記憶されている。情報格納領域130は、例えば、図1で説明した記憶部2に対応する。
Further, the
データ受け付け部111は、例えば、利用者が利用者端末11を介して送信した複数のデータを送信した場合に、送信された複数のデータを受け付ける。複数のデータは、それぞれ複数行の文字列を含むデータである。以下、複数のデータには、利用者が情報処理装置1に内容の比較を要求する比較元データ131及び比較先データ132が含まれるものとして説明を行う。
For example, when the user transmits a plurality of data transmitted via the
データ生成部112は、データ受け付け部111が受け付けた複数のデータのうちの何らかのデータ(例えば、比較先データ132)にページの切れ目を示す切れ目情報が含まれる場合、そのいずれかのデータから切れ目情報を削除したデータを生成する。切れ目情報は、例えば、ページの先頭を示すヘッダー情報と、ページの最後を示すフッター情報とを含む情報である。
When any data (for example, comparison destination data 132) of the plurality of data received by the
ブロック生成部113は、データ生成部112が生成したデータを分割することにより、複数のブロックを生成する。
The
ブロック判定部114は、ブロック生成部113が生成したブロックのそれぞれが、データ受け付け部111が受け付けた複数のデータのうちの他のデータ(例えば、比較元データ131)に含まれるか否かを判定する。
The
結果出力部115は、ブロック判定部114による判定結果を示す情報を、出力装置(例えば、利用者端末11)に対して出力する。
The
なお、データ受け付け部111は、例えば、比較元データ131または比較先データ132を受け付けた場合、受け付けたデータを情報格納領域130に記憶する。また、ブロック生成部113は、例えば、生成した複数のブロックを示す情報であるブロック管理情報133を作成し、作成したブロック管理情報133を情報格納領域130に記憶する。
For example, when receiving the
[第1の実施の形態]
次に、第1の実施の形態について説明する。図7は、第1の実施の形態におけるデータ比較処理の概略を説明するフローチャート図である。
[First Embodiment]
Next, a first embodiment will be described. FIG. 7 is a flowchart for explaining the outline of the data comparison process according to the first embodiment.
情報処理装置1は、データ比較タイミングになるまで待機する(S1のNO)。データ比較タイミングは、例えば、利用者端末11から比較元データ131及び比較先データ132が送信されたタイミングであってよい。また、例えば、比較元データ131及び比較先データ132が予め情報格納領域130に記憶されている場合、データ比較タイミングは、例えば、利用者が情報処理装置1に対してデータの比較を開始する旨の入力を行ったタイミングであってよい。
The
そして、データ比較タイミングになった場合(S1のYES)、情報処理装置1は、比較元データ131及び比較先データ132にページの切れ目情報が含まれているか否かを判定する(S2)。その結果、ページの切れ目情報が含まれていると判定した場合(S2のYES)、情報処理装置1は、比較元データ131及び比較先データ132に含まれるページの切れ目情報を削除する(S3)。一方、ページの切れ目情報が含まれていないと判定した場合(S2のNO)、情報処理装置1は、S3の処理を行わない。
When the data comparison timing comes (YES in S1), the
続いて、情報処理装置1は、S3の処理で作成したデータを分割して複数のブロックを生成する(S4)。その後、情報処理装置1は、S4の処理で生成したブロックそれぞれが、S1の処理で受け付けた複数のデータのうちの他のデータに含まれるか否かを判定する(S5)。
Subsequently, the
すなわち、情報処理装置1は、S1の処理で複数ページからなるデータを受け付けた場合、切れ目情報を削除してからブロックの生成を行う。これにより、情報処理装置1は、同一のブロックに含まれるべき文書データが複数のブロックに分かれて含まれることを防止することが可能になる。
That is, when the
このように、情報処理装置1は、複数行の文字列をそれぞれ含む複数のデータを受け付ける。そして、情報処理装置1は、受け付けた複数のデータのうちの何らかのデータにページの切れ目を示す切れ目情報が含まれる場合、その何らかのデータから切れ目情報を削除したデータを生成し、生成したデータを分割して複数のブロックを生成する。その後、情報処理装置1は、生成したブロックそれぞれが、受け付けた複数のデータのうちの他のデータに含まれるか否かを判定する。
As described above, the
これにより、情報処理装置1は、比較元データと比較先データとに共通して含まれる文書データ(改版が行われていない文書データ)のページの切れ目が異なる場合であっても、そのデータをそれぞれ含むブロックを同一の内容を含むブロックとして判定することが可能になる。そのため、情報処理装置1は、比較元データと比較先データとの比較精度を高めることが可能になる。
As a result, the
[第1の実施の形態の詳細]
次に、第1の実施の形態の詳細について説明する。図8から図15は、第1の実施の形態におけるデータ比較処理の詳細を説明するフローチャート図である。また、図16から図30は、第1の実施の形態におけるデータ比較処理の詳細を説明する図である。図16から図30を参照しながら、図8から図15のデータ比較処理の詳細を説明する。
[Details of First Embodiment]
Next, details of the first embodiment will be described. FIGS. 8 to 15 are flowcharts for explaining details of the data comparison processing in the first embodiment. FIGS. 16 to 30 are diagrams for explaining the details of the data comparison processing in the first embodiment. Details of the data comparison processing of FIGS. 8 to 15 will be described with reference to FIGS.
[S1からS4の処理の詳細]
初めに、図7で説明したS1からS5のうち、S1からS4の処理の詳細について説明を行う。データ受け付け部111は、図8に示すように、利用者端末11から比較元データ131及び比較先データ132を受け付けるまで待機する(S11のNO)。そして、比較元データ131及び比較先データ132を受け付けた場合(S11のYES)、データ生成部112は、S11の処理で受け付けた文書データのうちの1つを取得する(S12)。具体的に、データ生成部112は、S11の処理で受け付けた比較元データ131及び比較先データ132のうちのいずれかの文書データを取得する。また、データ受け付け部111は、この場合、受け付けた文書データを情報格納領域130に記憶する。
[Details of processing from S1 to S4]
First, details of the processing from S1 to S4 among S1 to S5 described in FIG. 7 will be described. As shown in FIG. 8, the
そして、データ生成部112は、S12の処理で取得した文書データ(例えば、比較元データ)に切れ目情報が含まれているか否か、すなわち、S12の処理で取得した文書データが複数のページからなる文書データであるか否かを判定する(S13)。その結果、切れ目情報が含まれていると判定した場合(S13のYES)、データ生成部112は、S12の処理で取得した文書データから切れ目情報を削除した文書データである加工データを生成する(S14)。すなわち、データ生成部112は、S12の処理で取得した文書データが複数のページからなる文書データである場合、その文書データを1ページにまとめることによって、加工データの生成を行う。
Then, the
その後、データ生成部112は、S14の処理で生成した加工データから、S12の処理で取得した文書データの1ページ分に相当するデータ(以下、処理対象データとも呼ぶ)を取得する(S15)。そして、データ生成部112は、S15の処理で取得された処理対象データに対応するページの前ページに含まれる文書データにおいて、含まれるブロックが決定していない文書データ(以下、残データとも呼ぶ)が存在するか否かを判定する(S16)。そして、残データが存在すると判定した場合(S16のYES)、データ生成部112は、S15の処理で取得した処理対象データの前に、S16の処理で存在した残データを連結する(S17)。
Thereafter, the
すなわち、各ページに含まれる文書データには、次のページに含まれる文書データと単一のブロックに含まれるべき文書データが含まれる場合がある。そのため、ブロック生成部113は、後述するように、各ページに含まれる文書データのうち、次のページに含まれる文書データと単一のブロックに含まれる可能性がある文書データ(残データ)について、次のページに含まれる文書データとともにブロックの生成を行うか否かの判定を行う。
That is, the document data included in each page may include document data included in the next page and document data that should be included in a single block. Therefore, as will be described later, the
これにより、データ生成部112は、単一のブロックに含まれるべき文書データが複数のページに分かれている場合であっても、これらの文書データを単一のブロックに含めることが可能になる。
As a result, the
その後、データ生成部112は、S17の処理で連結した残データの最終行の文字列の最後が文章の終わりを示しているか否か(文字列の最後が句点や終止符等であるか否か)を判定する(S18)。そして、残データの最終行の文字列の最後が文章の終わりを示していないと判定した場合(S18のNO)、データ生成部112は、残データの最終行と、S15の処理で取得したページの先頭行との間の間隔を、文章が複数の行からなる場合における各行の間隔と同じ間隔に変更する(S19)。一方、残データの最終行の文字列の最後が文章の終わりを示していると判定した場合(S18のYES)、データ生成部112は、S19の処理を行わない。
Thereafter, the
すなわち、残データの最終行の文字列の最後が文章の終わりを示していない場合、残データの最終行の文字列と、S15の処理で取得したページの先頭行の文字列とは、同一の文章に含まれる文字列である可能性がある。そして、ブロック生成部113は、S11の処理で受け付けた複数の文書データの比較精度を向上させる観点から、これらの文字列が同一の文章に含まれる場合、単一のブロックに含めるようにブロックの生成を行うことが好ましい。
That is, when the last character string of the remaining data does not indicate the end of the sentence, the character string of the last line of the remaining data is the same as the character string of the first line of the page acquired in the process of S15. It may be a character string included in the sentence. Then, from the viewpoint of improving the comparison accuracy of the plurality of document data received in the process of S11, the
そこで、データ生成部112は、S19の処理において、残データの最終行の文字列の最後が文章の終わりを示していない場合、残データの最終行と、S15の処理で取得したページの先頭行との間の間隔を、S11の処理で受け付けた文書データにおける通常の行間と同じ間隔に変更する。これにより、ブロック生成部113は、この場合、後述するように、残データの最終行とS15の処理で取得したページの先頭行との間に、ブロックの分割を行うことを示す情報(以下、分割情報とも呼ぶ)が存在しないものと判定することが可能になる。そのため、ブロック生成部113は、後述するように、残データの最終行の文字列とS15の処理で取得したページの先頭行の文字列とが単一のブロックに含まれるようにブロックの生成を行うことが可能になる。
Therefore, in the process of S19, when the last character string of the last line of the remaining data does not indicate the end of the sentence, the
なお、データ生成部112は、S18の処理において、残データの最終行に文字が含まれている場合(空白のみを含む空白行でない場合)に限り、残データの最終行とS15の処理で取得したページの先頭行との間の間隔を変更するものであってもよい。また、データ生成部112は、S18の処理において、S15の処理で取得した文書データの先頭行に文字が含まれている場合(空白のみを含む空白行でない場合)に限り、残データの最終行とS15の処理で取得したページの先頭行との間の間隔を変更するものであってもよい。
Note that the
これにより、データ生成部112は、残データの最終行とS15の処理で取得したページの先頭行との間の間隔の変更を効率的に行うことが可能になる。
Thereby, the
一方、S16の処理において、前ページの残データが存在しないと判定した場合(S16のNO)、データ生成部112は、S17からS19の処理を行わない。
On the other hand, in the process of S16, when it is determined that there is no remaining data of the previous page (NO in S16), the
その後、ブロック生成部113は、図9に示すように、S17の処理で残データを連結した処理対象データにブロックの分割情報が存在するか否かを判定する(S21)。そして、S17の処理で残データを連結した処理対象データにブロックの分割情報が存在すると判定した場合(S21のYES)、ブロック生成部113は、S17の処理で残データを連結した処理対象データを、分割情報が存在すると判定された位置毎に分割し、ブロックを生成する(S22)。一方、ブロックの分割情報が存在しないと判定した場合(S21のNO)、ブロック生成部113は、S22の処理を行わない。
After that, as illustrated in FIG. 9, the
具体的に、ブロック生成部113は、例えば、文字列の途中から最後までが空白またはインテンドである行が存在する場合、その行と次の行との間にブロックの分割情報が存在すると判定する。また、ブロック生成部113は、例えば、文字列に含まれる文字のフォントが次の行の文字列のフォントと異なる行が存在する場合に、その行と次の行との間にブロックの分割情報が存在すると判定する。
Specifically, for example, when there is a line that is blank or intent from the middle to the end of the character string, the
さらに、ブロック生成部113は、例えば、S17の処理で残データを連結した処理対象データに画像データが含まれている場合、その画像データが含まれる行のうちの先頭行と、その行の前の行との間にブロックの分割情報が存在すると判定する。
Further, for example, when the image data is included in the processing target data obtained by concatenating the remaining data in the process of S17, the
また、ブロック生成部113は、例えば、空白のみを含む空白行が存在する場合、その行と次の行との間にブロックの分割情報が存在すると判定する。なお、この場合、ブロック生成部113は、例えば、空白行の直前の行と、空白行と、空白行の直後の行とがそれぞれ異なるブロックに含まれるようにブロックの生成を行う。すなわち、ブロック生成部111は、1行以上の空白行が存在する場合、その1行以上の空白行のみを含むブロック(以下、空白ブロックとも呼ぶ)を生成する。
For example, when there is a blank line including only a blank, the
これにより、ブロック判定部114は、後述するように、内容の区切れにおいて分割されたブロック毎に文書データの比較を行うことが可能になる。そのため、ブロック判定部114は、S11の処理において受け付けた比較元データ131及び比較先データ132の比較を効率的に行うことが可能になる。
As a result, the
その後、ブロック生成部113は、S17の処理で残データを連結した処理対象データのうち、最後の分割情報よりも後に存在する文書データを新たな残データして特定する(S23)。すなわち、S17の処理で残データを連結した処理対象データのうち、最後の分割情報よりも後に存在する文書データは、次のページに含まれる文書データと単一のブロックに含まれる文書データである可能性がある。そのため、データ生成部112は、S23の処理において、S17の処理で残データを連結した処理対象データのうち、最後の分割情報よりも後に存在する文書データを新たな残データとして特定する。
After that, the
そして、S12の処理で取得した文書データの全ページが取得済でない場合(S24のNO)、データ生成部112は、S15以降の処理を再度行う。一方、S12の処理で取得した文書データの全ページが取得済である場合(S24のYES)、ブロック生成部113は、S23の処理で残データとして特定された文書データを含むブロックを生成する(S25)。
If all the pages of the document data acquired in the process of S12 have not been acquired (NO in S24), the
その後、ブロック生成部113は、S11の処理で受け付けた全文書データが取得済であるか否かの判定を行う(S26)。その結果、S11の処理で受け付けた全文書データが取得済でない場合(S26のNO)、データ生成部112は、S12以降の処理を再度行う。一方、S11の処理で受け付けた全文書データが取得済である場合(S26のYES)、ブロック生成部113は、S22及びS25の処理で分割された各ブロックを示す情報を、ブロック管理情報133として情報格納領域130に記憶する(S27)。以下、S12からS27の処理の具体例について説明を行う。
Thereafter, the
[S12からS27の処理の具体例(1)]
図16から図27は、S12からS27の処理の具体例を説明する図である。データ生成部112は、図16に示すように、PG1−1及びPG1−2の2ページからなる文書データ(例えば、比較元データ131)を取得した場合、切れ目情報を削除した加工データを生成する(S12、S13のYES、S14)。具体的に、データ生成部112は、例えば、図17に示すように、切れ目情報を削除し、PG1−1とPG1−2とを連結した加工データであるDT1−1を生成する。
[Specific Example of Processing from S12 to S27 (1)]
FIGS. 16 to 27 are diagrams illustrating specific examples of the processing from S12 to S27. As illustrated in FIG. 16, when the
そして、ブロック生成部113は、DT1−1のうち、PG1−1に含まれていた文書データを処理対象データとして取得する(S15)。なお、PG1−1に含まれていた文書データは、DT1−1から最初に取得された文書データである。そのため、この場合、残データは存在していない(S16のNO)。
Then, the
続いて、ブロック生成部113は、PG1−1に含まれていた文書データを分割してブロックを生成する(S21のYES、S22)。具体的に、ブロック生成部113は、図18に示すように、PG1−1に含まれていた文書データを空白行が存在する位置において分割することにより、各ブロック(BL1−1、BL1−2、BL1−3及びBL1−4)を生成する。なお、図18に示す例において、BL1−1とBL1−2との間、BL1−2とBL1−3との間及びBL1−3とBL1−4との間には、それぞれ空白ブロックが生成される。以下、空白ブロックについての説明は省略する。
Subsequently, the
そして、ブロック生成部113は、BL1−4の後の文書データ(PG1−1に含まれていた最後の文書データ)である「・・・AAA.」を、PG1−2に含まれる文書データの一部と単一のブロックに含まれる可能性がある文書データであると判定する。そのため、ブロック生成部113は、「・・・AAA.」を残データとして特定する(S23)。
Then, the
その後、データ生成部112は、DT1−1のうち、PG1−2に含まれていた文書データを処理対象データとして取得する(S24のNO、S15)。そして、データ生成部112は、残データである「・・・AAA.」が存在するため、PG1−2に含まれていたデータの前に残データを連結した処理対象データを生成する(S16のYES、S17)。
Thereafter, the
ここで、残データである「・・・AAA.」の最後には、終止符が付加されている。すなわち、前ページであるPG1−1の最終行の文字列の最後は、文章の終わりを示している。そのため、データ生成部112は、残データの最終行に含まれる文字列とS15の処理で取得したページの先頭行に含まれる文字列とが、それぞれ異なるブロックに含まれる文字列であると判定する。したがって、データ生成部112は、図19に示すように、残データの最終行とS15の処理で取得したページの先頭行との間の間隔の変更を行わない(S18のNO、S19)。
Here, an end is added to the end of the remaining data “... AAA.”. That is, the end of the character string on the last line of PG1-1 which is the previous page indicates the end of the sentence. Therefore, the
その後、ブロック生成部113は、PG1−2に含まれていた文書データ(残データを含む)を分割してブロックを生成する(S21のYES、S22)。具体的に、ブロック生成部113は、図20に示すように、残データ及びPG1−2に含まれていたデータのうち、空白行が存在する位置において分割することにより、BL1−5、BL1−6、BL1−7、BL1−8及びBL1−9を生成する。
Thereafter, the
[S12からS27の処理の具体例(2)]
次に、S12からS27の処理の別の具体例について説明を行う。図21に示す例において、PG1−1の最終行の文字列の最後は、文章の終わりを示していない。そして、PG1−1の最終行及びPG1−2の先頭行には、それぞれ文字が含まれている。
[Specific Example of Processing from S12 to S27 (2)]
Next, another specific example of the processing from S12 to S27 will be described. In the example shown in FIG. 21, the end of the character string on the last line of PG1-1 does not indicate the end of the sentence. The last line of PG1-1 and the first line of PG1-2 each contain characters.
この場合、データ生成部112は、図22に示すように、PG1−1の最終行とPG1−2の先頭行との間の間隔を、文章が複数の行からなる場合における各行の間隔と同じ間隔に変更する(S18のNO、S19)。すなわち、データ生成部112は、PG1−1の最終行とPG1−2の先頭行との間の間隔が、ブロック生成部113によってブロックの分割情報が存在すると判定されない間隔に変更する。
In this case, as shown in FIG. 22, the
これにより、ブロック生成部113は、図23に示すように、PG1−1の最終行を含む文書データとPG1−2の先頭行を含む文書データとが単一のブロックであるBL−10に含まれるように、ブロックの生成を行うことが可能になる(S21のYES、S22)。
As a result, the
[S12からS27の処理の具体例(3)]
次に、S12からS27の処理のさらに別の具体例について説明を行う。図24に示す例において、PG1−1の最終行の文字列の最後は、図21で説明した場合と同様に、文章の終わりを示していない。そして、PG1−1の最終行及びPG1−2の先頭行には、図21で説明した場合と同様に、それぞれ文字が含まれている。一方、図24に示すPG1−1の最終行は、図21で説明したPG1−1と異なり、途中(文字列「・・・あああ」の直後)から最後までが空白である行である。
[Specific Example of Processing from S12 to S27 (3)]
Next, another specific example of the processing from S12 to S27 will be described. In the example shown in FIG. 24, the end of the character string on the last line of PG1-1 does not indicate the end of the sentence as in the case described with reference to FIG. The last line of PG1-1 and the first line of PG1-2 contain characters, as in the case described with reference to FIG. On the other hand, unlike PG1-1 described in FIG. 21, the last line of PG1-1 shown in FIG. 24 is a line that is blank from the middle (immediately after the character string “...”) To the end.
この場合、データ生成部112は、図22で説明した場合と同様に、PG1−1の最終行とPG1−2の先頭行との間の間隔を、文章が複数の行からなる場合における各行の間隔と同じ間隔に変更する(S18のNO、S19)。その後、ブロック生成部113は、図25に示すように、PG1−1の最終行を含む文書データとPG1−2の先頭行を含む文書データとがそれぞれ異なるブロックになるように、ブロックの生成を行う(S21のYES、S22)。
In this case, as in the case described with reference to FIG. 22, the
すなわち、途中から最後までが空白である行が存在する場合、ブロック生成部113は、存在した空白が文書データの作成者によって意図的に含まれたものであると判定する。そのため、ブロック生成部113は、この場合、途中から最後までが空白である行と、その次の行とが異なるブロックに含まれるように、ブロックの生成を行う。
That is, when there is a line that is blank from the middle to the end, the
また、図26に示す例において、PG1−1の最終行は、途中(文字列「・・・AAA」の直後)から最後までが空白である行である。そのため、データ生成部112は、この場合、図24で説明した場合と同様に、PG1−1の最終行とPG1−2の先頭行との間の間隔を、文章が複数の行からなる場合における各行の間隔と同じ間隔に変更する(S18のNO、S19)。
In the example shown in FIG. 26, the last line of PG1-1 is a line that is blank from the middle (immediately after the character string “... AAA”) to the end. Therefore, in this case, as in the case described with reference to FIG. 24, the
ここで、図26に示すPG1−1の最終行は、図24で説明したPG1−1の最終行と異なり、最後が英単語(半角文字)になっている。そのため、ブロック生成部113は、図27に示すように、図25で説明した場合と異なり、PG1−1の最終行を含む文書データとPG1−2の先頭行を含む文書データとが単一のブロックであるBL−10に含まれるようにブロックの生成を行う。
Here, unlike the last line of PG1-1 described in FIG. 24, the last line of PG1-1 shown in FIG. 26 is an English word (single-byte character). Therefore, as shown in FIG. 27, the
すなわち、残データの最終行の最後が英単語である場合、その英単語の次の英単語は、残データの最終行に入らないために次の行(次のページの先頭行)の先頭に位置している場合がある。そのため、ブロック生成部113は、残データの最終行の最後が英単語等の半角文字である場合、残データの最終行の途中から最後までが空白である場合であっても、その空白が文書データの作成者によって意図的に含まれたものではないと判定する。
In other words, if the last row of the remaining data is an English word, the next English word after that English word will not be placed in the last row of the remaining data, so it will be at the beginning of the next row (the first row of the next page). May be located. Therefore, when the last line of the remaining data is a half-width character such as an English word, the
これにより、ブロック生成部113は、S11の処理で受け付けた複数の文書データの比較精度をさらに高めることが可能になる。
Thereby, the
[ブロック管理情報の具体例]
次に、ブロック管理情報133の具体例について説明を行う。図28は、ブロック管理情報133の具体例を説明する図である。
[Specific example of block management information]
Next, a specific example of the
図28に示すブロック管理情報133は、ブロック管理情報133に含まれる各情報を識別する「項番」と、S12の処理で取得したデータを識別する「データ識別情報」とを項目として有する。また、図28に示すブロック管理情報133は、S22の処理で分割したブロックを識別する「ブロック識別情報」と、S11の処理で受け付けた文書データにおいて各ブロックが含まれるページ数が設定される「ページ情報」とを項目として有する。さらに、図28に示すブロック管理情報133は、各ページにおける各ブロックの位置情報が設定される「位置情報」を項目として有する。
The
具体的に、図28に示すブロック管理情報133において、「項番」が「1」である情報には、「データ識別情報」として「DT1−1」が設定され、「ブロック識別情報」として「BL1−1」が設定されている。また、図28に示すブロック管理情報133において、「項番」が「1」である情報には、「ページ情報」として「1(ページ)」が設定され、「位置情報」として「(1,1)」が設定されている。図28に含まれる他の情報については説明を省略する。
Specifically, in the
[S5の処理の詳細]
次に、図7で説明したS1からS5のうち、S5の処理の詳細について説明を行う。図10及び図11は、S5の処理の詳細について説明する図である。なお、以下、S1からS4の処理において、比較元データ131及び比較先データ132についてのブロックの生成が行われたものとして説明を行う。
[Details of processing in S5]
Next, among S1 to S5 described in FIG. 7, the details of the process of S5 will be described. 10 and 11 are diagrams for explaining the details of the processing of S5. In the following description, it is assumed that blocks are generated for the
ブロック判定部114は、図10に示すように、比較元データ131に含まれるブロックを1つ取得する(S31)。また、ブロック判定部114は、比較先データ132に含まれるブロックを1つ取得する(S32)。そして、ブロック判定部114は、S31の処理で取得したブロックに含まれる文書データの内容と、S32の処理で取得したブロックに含まれる文書データの内容とが同一であるか否かを判定する(S33)。
As shown in FIG. 10, the
その結果、取得した各ブロックに含まれる文書データの内容が同一であると判定した場合(S33のYES)、ブロック判定部114は、S34以降の処理を行う。一方、取得した各ブロックに含まれる文書データの内容が同一でないと判定した場合(S33のNO)、ブロック判定部114は、S32以降の処理を再度行う。
As a result, when it is determined that the contents of the document data included in each acquired block are the same (YES in S33), the
その後、S33の処理において、取得した各ブロックに含まれる文書データの内容が同一であると判定した場合(S33のYES)、ブロック判定部114は、S32の処理で取得したブロックが比較元データ131に含まれる最後のブロックであるか否かを判定する(S34)。また、ブロック判定部114は、この場合、S33の処理で取得したブロックが比較先データ132に含まれる最後のブロックであるか否かを判定する(S35)。そして、S34及びS35の処理において、S31及びS32の処理で取得したブロックがそれぞれ最後のブロックであると判定された場合(S34のYES、S35のYES)、ブロック判定部114は、S36以降の処理を実行する。
Thereafter, in the process of S33, when it is determined that the contents of the document data included in each acquired block are the same (YES in S33), the
一方、S34の処理において、S32の処理で取得したブロックが最後のブロックでないと判定された場合(S34のNO)、ブロック判定部114は、S32以降の処理を再度実行する。また、S35の処理において、S31の処理で取得したブロックが最後のブロックでないと判定された場合(S35のNO)、ブロック判定部114は、S31以降の処理を再度実行する。
On the other hand, in the process of S34, when it is determined that the block acquired in the process of S32 is not the last block (NO in S34), the
すなわち、ブロック判定部114は、S31からS35の処理において、比較元データ131に含まれるブロックと比較先データ132に含まれるブロックとの間で、同一の内容の文書データをそれぞれ含むブロックの組み合わせを特定する。
That is, in the processing from S31 to S35, the
そして、S35の処理において、S31の処理で取得したブロックが最後のブロックであると判定された場合(S35のYES)、ブロック判定部114は、比較元データ131に含まれるブロックと、比較先データ132に含まれるブロックとの間における同一ブロックを特定する(S36)。
Then, in the process of S35, when it is determined that the block acquired in the process of S31 is the last block (YES in S35), the
すなわち、例えば、比較元データ131に含まれる1つのブロックと同じ内容の文書データを含むブロックが、比較先データ132において複数存在する場合がある。そして、この場合、比較先データ132に含まれる複数のブロックのうちの1つ以外のブロックは、文書データの改版によって追加されたブロックである。そのため、ブロック判定部114は、この場合、比較先データ132に含まれる複数のブロックのうち、比較元データ131に元々存在していたブロック(同一ブロック)の特定を行う。
That is, for example, there may be a plurality of blocks in the
具体的に、ブロック判定部114は、例えば、O(ND)アルゴリズムを用いることにより、比較元データ131及び比較先データ132にそれぞれ含まれる同一ブロックの組み合わせを特定する。この場合、ブロック判定部114は、S31からS35の処理で特定した同一の内容の文書データが含まれるブロックの組み合わせを入力とし、比較元データ131及び比較先データ132にそれぞれ含まれる同一ブロックの特定を行う。
Specifically, the
これにより、ブロック判定部114は、比較先データ132に含まれるブロックにおいて、比較元データ131に元々存在していた同一ブロックと、同一ブロック以外のブロックとを分類することが可能になる。以下、S36の処理で特定された同一ブロックについて説明を行う。
Thereby, the
[S36の処理で特定された同一ブロック]
図29は、S36の処理で特定された同一ブロックについて説明する図である。なお、図29に示す例において、DT1−1は、S1からS4の処理が行われた後の比較元データ131に対応する。また、図29に示す例において、DT2−1は、S1からS4の処理が行われた後の比較先データ132に対応する。そして、図29に示すDT1−1には、BL1−1からBL1−9が含まれる。また、図29に示すDT2−1には、BL2−1からBL2−9が含まれる。
[Identical blocks identified in S36]
FIG. 29 is a diagram for describing the same block identified in the process of S36. In the example shown in FIG. 29, DT1-1 corresponds to the
具体的に、ブロック判定部114は、図29に示すように、S31からS36の処理を行うことにより、例えば、BL1−1とBL2−1とが同一ブロックであり、BL1−4とBL2−5とが同一ブロックであると判定する。また、ブロック判定部114は、図29に示すように、例えば、BL1−5とBL2−6とが同一ブロックであり、BL1−6とBL2−7とが同一ブロックであると判定する。さらに、ブロック判定部114は、図29に示すように、例えば、BL1−7とBL2−8とが同一ブロックであり、BL1−9とBL2−9とが同一ブロックであると判定する。
Specifically, as shown in FIG. 29, the
図11に戻り、ブロック判定部114は、S36の処理の後、比較元データ131及び比較先データ132に含まれるブロックのうち、S36の処理で同一ブロックと特定されなかったブロックを、類似ブロックと、削除ブロックと、追加ブロックとにそれぞれ分類する(S41)。
Returning to FIG. 11, after the process of S <b> 36, the
類似ブロックは、比較対象の文書データ(比較元データ131または比較先データ132)に、文書データの一致率が閾値以上であるブロックが存在するブロックである。また、削除ブロックは、比較元データ131に含まれるブロックのうち、比較先データ132に文書データの一致率が閾値以上であるブロックが存在しないブロックである。すなわち、削除ブロックは、文書データの改版によって、比較元データ131から削除されたものと判定されるブロック(比較先データ132に含まれないブロック)である。さらに、追加ブロックは、比較先データ132に含まれるブロックのうち、比較元データ131に一致率が閾値以上であるブロックが存在しないブロックである。すなわち、追加ブロックは、文書データの改版によって、比較元データ131に追加されたものと判定されるブロック(比較元データ131に含まれないブロック)である。以下、S41の処理の詳細について説明を行う。
The similar block is a block in which the document data to be compared (
[S41の処理の詳細]
図12から図15は、S41の処理の詳細を説明するフローチャート図である。ブロック判定部114は、図12に示すように、比較元データ131及び比較先データ132のそれぞれにおいて、S36の処理で特定した同一ブロックの間にそれぞれ存在するブロックをブロック群として特定する(S51)。
[Details of processing in S41]
12 to 15 are flowcharts for explaining details of the process of S41. As shown in FIG. 12, the
具体的に、図29に示す例において、DT1−1に含まれる同一ブロック(連続する同一ブロック)であるBL1−1とBL1−4との間には、BL1−2とBL1−3とが存在する。そのため、ブロック判定部114は、BL1−2とBL1−3とを含むブロック群(以下、BG1−1とも呼ぶ)を特定する。また、DT1−1に含まれる同一ブロックであるBL1−7とBL1−9との間には、BL1−8(以下、BG1−2とも呼ぶ)が存在する。そのため、ブロック判定部114は、BL1−8を含むブロック群を特定する。
Specifically, in the example shown in FIG. 29, BL1-2 and BL1-3 exist between BL1-1 and BL1-4, which are the same blocks (same consecutive blocks) included in DT1-1. To do. Therefore, the
さらに、図29に示す例において、DT2−1に含まれる同一ブロックであるBL2−1とBL2−5との間には、BL2−2とBL2−3とBL2−4とが存在する。そのため、ブロック判定部114は、BL2−2とBL2−3とBL2−4とを含むブロック群(以下、BG2−1とも呼ぶ)を特定する。
Furthermore, in the example shown in FIG. 29, BL2-2, BL2-3, and BL2-4 exist between BL2-1 and BL2-5, which are the same blocks included in DT2-1. Therefore, the
すなわち、ブロック判定部114は、S36の処理において、BL1−1とBL2−1とが同一ブロックであり、BL1−4とBL2−5とが同一ブロックであると判定している。そのため、ブロック判定部114は、BL1−1とBL1−4との間に存在するBL1−2及びBL1−3と、BL2−1とBL2−5との間に存在するBL2−2、BL2−3及びBL2−4とが、同一ブロックでないと判定することが可能である。また、ブロック判定部114は、この場合において、BL1−2及びBL1−3の類似ブロックがDT2−1に存在する場合、BL2−2、BL2−3及びBL2−4のうちのいずれかであると判定することが可能になる。そのため、ブロック判定部114は、S51の処理において、S36の処理で特定した同一ブロックの間にそれぞれ存在するブロックをブロック群として特定する。
That is, the
なお、BL1−4とBL1−5との間等にはブロックが存在しないが、ブロック判定部114は、BL1−4とBL1−5との間にブロックを含まないブロック群が存在するものとして特定するものであってもよい。
In addition, although there is no block between BL1-4 and BL1-5, etc., the
その後、ブロック判定部114は、比較元データ131に対応するブロック群及び比較先データ132に対応するブロック群のそれぞれから、共通する同一ブロックの間に存在するブロックを含むブロック群(以下、対応するブロック群とも呼ぶ)を1つずつ取得する(S52)。具体的に、ブロック判定部114は、例えば、BG1−1とBG2−1とを取得する。すなわち、ブロック判定部114は、S52の処理において、比較元データ131に対応するブロック群及び比較先データ132に対応するブロック群のそれぞれから、類似ブロックが含まれている可能性があるブロック群をそれぞれ取得する。
Thereafter, the
そして、ブロック判定部114は、S52の処理で取得した比較元データ131のブロック群に含まれるブロックを1つ取得する(S53)。また、ブロック判定部114は、S52の処理で取得した比較先データ132のブロック群に含まれるブロックを1つ取得する(S54)。具体的に、ブロック判定部114は、例えば、BG1−1に含まれるBL1−2と、BG2−1に含まれるBL2−2とをそれぞれ取得する。
Then, the
続いて、ブロック判定部114は、S53の処理で取得したブロックに含まれる文書データと、S54の処理で取得したブロックに含まれる文書データとの一致率を算出する(S55)。その後、S54の処理で取得したブロックが、S52の処理で取得したブロック群に含まれる最後のブロックでない場合(S56のNO)、ブロック判定部114は、S54以降の処理を再度行う。一方、S54の処理で取得したブロックが、S52の処理で取得したブロック群に含まれる最後のブロックである場合(S56のYES)、S61以降の処理を行う。
Subsequently, the
すなわち、ブロック判定部114は、S53の処理で取得したブロックの類似ブロックが存在するか否かを判定するために、S53の処理で取得したブロックとS54の処理で取得したブロックとの一致度をそれぞれ算出する。具体的に、S53の処理で取得されたブロックがBL1−2である場合、ブロック判定部114は、BG2−1に含まれるブロックであるBL2−2、BL2−3及びBL2−4との一致度をそれぞれ算出する。以下、BL1−2と、BL2−2、BL2−3及びBL2−4との一致度が、それぞれ10(%)、0(%)及び20(%)であるものとして説明を行う。
That is, the
そして、S56の処理において、S52の処理で取得したブロック群に含まれる最後のブロックである場合(S56のYES)、ブロック判定部114は、図13に示すように、一致率が閾値以上のブロックが存在するか否かを判定する(S61)。その結果、一致率が閾値以上のブロックが存在すると判定した場合(S61のYES)、ブロック判定部114は、S61の処理で存在したブロックのうち、最も一致率が高いブロックを類似ブロックとして特定する(S62)。
In the process of S56, when it is the last block included in the block group acquired in the process of S52 (YES in S56), the
一方、一致率が閾値以上のブロックが存在しないと判定した場合において(S61のNO)、S53の処理で取得したブロックが空白ブロックでないと判定した場合(S63のYES)、ブロック判定部114は、S53の処理で取得したブロックを削除ブロックとして特定する(S64)。すなわち、この場合、S53の処理で取得されたブロックは、同一ブロック及び類似ブロック以外のブロックである。そのため、ブロック判定部114は、S53の処理で取得されたブロックが削除ブロックであると判定する。
On the other hand, when it is determined that there is no block having a matching rate equal to or higher than the threshold (NO in S61), when it is determined that the block acquired in the process of S53 is not a blank block (YES in S63), the
具体的に、S61の処理における閾値が70(%)である場合、BL1−2と、BL2−2、BL2−3及びBL2−4との一致度である10(%)、0(%)及び20(%)は、全て閾値以下である。そのため、ブロック判定部114は、この場合、S53の処理で取得されたブロックであるBL1−2が削除ブロックであると特定する。
Specifically, when the threshold in the process of S61 is 70 (%), the degree of coincidence between BL1-2 and BL2-2, BL2-3 and BL2-4 is 10 (%), 0 (%) and 20 (%) is all below the threshold. Therefore, in this case, the
なお、S53の処理で取得したブロックが空白ブロックであると判定した場合(S63のNO)、ブロック判定部114は、S64の処理を行わない。
When it is determined that the block acquired in the process of S53 is a blank block (NO in S63), the
そして、ブロック判定部114は、S62の処理の後、図14に示すように、比較先データ132において、S62の処理で特定した類似ブロックの前にブロックが存在するか否かを判定する(S71)。そして、類似ブロックの前にブロックが存在すると判定した場合において(S71のYES)、存在すると判定したブロックが空白ブロックでないと判定した場合(S74のYES)、ブロック判定部114は、S62の処理で特定した類似ブロックの前に存在するブロックを追加ブロックとして特定する(S75)。すなわち、この場合、S62の処理で特定した類似ブロックの前に存在するブロックは、同一ブロック及び類似ブロック以外のブロックである。そのため、ブロック判定部114は、S62の処理で特定した類似ブロックの前に存在するブロックが追加ブロックであると判定する。なお、S71の処理で存在すると判定したブロックが空白ブロックであると判定した場合(S74のNO)、ブロック判定部114は、S75の処理を行わない。
And after the process of S62, as shown in FIG. 14, the
その後、S62の処理で特定した類似ブロックの前にブロックが存在しないと判定した場合(S71のNO)、ブロック判定部114は、S53の処理で取得したブロックがS52で取得した比較元データ131のブロック群に含まれる最後のブロックであるか否かを判定する(S72)。そして、S53の処理で取得したブロックが最後のブロックでない場合(S72のNO)、ブロック判定部114は、S53以降の処理を再度行う。
After that, when it is determined that there is no block before the similar block identified in the process of S62 (NO in S71), the
具体的に、図29に示す例において、BG1−1には、BL1−2及びBL1−3が含まれている。そのため、S52の処理においてBG1−1を取得し、S53の処理でBL1−2を取得した場合、ブロック判定部114は、BG1−1に含まれる全てのブロックの取得を行っていないと判定する(S72のNO)。そのため、ブロック判定部114は、この場合、BL1−3の取得を行う(S53)。
Specifically, in the example shown in FIG. 29, BG1-1 includes BL1-2 and BL1-3. Therefore, when BG1-1 is acquired in the process of S52 and BL1-2 is acquired in the process of S53, the
その後、ブロック判定部114は、BL1−3と、BL2−2、BL2−3及びBL2−4との一致度をそれぞれ算出する(S54、S55、S56)。以下、BL1−2と、BL2−2、BL2−3及びBL2−4との一致度が、それぞれ75(%)、80(%)及び20(%)であるものとして説明を行う。
Thereafter, the
そして、S61の処理における閾値が70(%)である場合、ブロック判定部114は、閾値以上のブロックとして、一致度が75(%)であるBL2−2と、一致度が80(%)であるBL2−3とを一致度が閾値以上であるブロックとして特定する(S61のYES)。さらに、ブロック判定部114は、一致度が最も高いブロックであるBL2−3を、BL1−3の類似ブロックとして特定する(S62)。その後、ブロック判定部114は、BL2−3の前のブロックであるBL2−2を追加ブロックとして特定する(S71のYES、S74のYES、S75)。
And when the threshold value in the process of S61 is 70 (%), the
なお、ブロック判定部114は、S64及びS75の処理の後においても同様に、S72の処理を行う。
In addition, the
その後、S72の処理において、S53の処理で取得したブロックが最後のブロックである場合(S72のYES)、ブロック判定部114は、比較先データ132において、S62の処理で特定した類似ブロックの後にブロックが存在するか否かを判定する(S73)。そして、類似ブロックの後にブロックが存在すると判定した場合において(S73のYES)、存在すると判定したブロックが空白ブロックでないと判定した場合(S76のYES)、ブロック判定部114は、S62の処理で特定した類似ブロックの後に存在するブロックを追加ブロックとして特定する(S77)。すなわち、この場合、S62の処理で特定した類似ブロックの後に存在するブロックは、同一ブロック及び類似ブロック以外のブロックである。そのため、ブロック判定部114は、S62の処理で特定した類似ブロックの後に存在するブロックが追加ブロックであると判定する。
Thereafter, in the process of S72, when the block acquired in the process of S53 is the last block (YES in S72), the
具体的に、ブロック判定部114は、BL2−3の後のブロックであるBL2−4を追加ブロックとして特定する(S73のYES、S76のYES、S77)。
Specifically, the
なお、S73の処理で存在すると判定したブロックが空白ブロックであると判定した場合(S76のNO)、ブロック判定部114は、S77の処理を行わない。
In addition, when it determines with the block determined to exist by the process of S73 being a blank block (NO of S76), the
そして、S62の処理で特定した類似ブロックの後にブロックが存在しないと判定した場合(S73のNO)、ブロック判定部114は、図15に示すように、S52の処理で取得したブロック群のいずれかが最後のブロック群であるか否かを判定する(S81)。その結果、S52の処理で取得したブロック群のいずれかが最後のブロック群ではないと判定した場合(S81のNO)、ブロック判定部114は、S52以降の処理を再度行う。
If it is determined that there is no block after the similar block specified in the process of S62 (NO in S73), the
一方、S52の処理で取得したブロック群のいずれかが最後のブロック群であると判定した場合(S81のYES)、ブロック判定部114は、比較先データ132のブロック群のうち、S52の処理において取得されていないブロック群に含まれるブロックを追加ブロックとして特定する。また、この場合、ブロック判定部114は、比較元データ131のブロック群のうち、S52の処理において取得されていないブロック群に含まれるブロックを削除ブロックとして特定する(S82)。
On the other hand, when it is determined that any of the block groups acquired in the process of S52 is the last block group (YES in S81), the
具体的に、S52の処理において、ブロック判定部114は、BG1−1とBG2−1とを取得している。そのため、ブロック判定部114は、例えば、BL1−4とBL1−5との間のブロック群と、BL2−5とBL2−6との間のブロック群とを取得する(S81のNO、S52)。ここで、BL1−4とBL1−5との間のブロック群及びBL2−5とBL2−6との間のブロック群には、それぞれブロックが含まれていない。そのため、BL1−4とBL1−5との間のブロック群及びBL2−5とBL2−6との間のブロック群について、ブロックの分類は行われない。BL1−5とBL1−6との間のブロック群及びBL2−6とBL2−7との間のブロック群等についても同様である。
Specifically, in the process of S52, the
その後、ブロック判定部114は、BG1−2と、BL2−8とBL2−9との間のブロック群とを取得する(S81のNO、S52)。ここで、BL2−8とBL2−9との間のブロック群には、ブロックが含まれていない。そのため、ブロック判定部114は、BG1−2に含まれるBL1−8を削除ブロックとして特定する(S61のNO、S63のYES、S64)。
Thereafter, the
そして、S82の処理の後、ブロック判定部114は、S5の処理を終了する。なお、ブロック判定部114は、S77の処理の後においても同様に、S81以降の処理を行う。
And after the process of S82, the
図11に戻り、ブロック判定部114は、S41の処理で分類した比較元データ131及び比較先データ132に含まれる類似ブロックに含まれる文書データ(類似ブロックに含まれる画像データ以外の文書データ)を、同一文書データと、削除文書データと、追加文書データとに分類する(S42)。同一文書データは、文書データの改版によって変更がなかった文書データである。また、削除文書データは、比較元データ131の類似ブロックに含まれる文書データのうち、比較先データ132の類似ブロックに含まれない文書データである。さらに、追加文書データは、比較先データ132の類似ブロックに含まれる文書データのうち、比較元データ131の類似ブロックに含まれない文書データである。
Returning to FIG. 11, the
具体的に、ブロック判定部114は、例えば、O(ND)アルゴリズムを用いることにより、比較元データ131及び比較先データ132にそれぞれ含まれる類似ブロックに含まれる文書データを、同一文書データと、削除文書データと、追加文書データとに分類する。ブロック判定部114は、この場合、例えば、S41の処理で特定した類似ブロックに含まれる文書データを入力とし、同一文書データと、削除文書データと、追加文書データとの分類を行う。
Specifically, the
その後、結果出力部115は、S41の処理で分類した類似ブロックと、削除ブロックと、追加ブロックと、S42で分類した削除文書データと、追加文書データとを示す情報を出力する(S43)。以下、データ比較処理の結果を出力した際の具体例について説明を行う。
Thereafter, the
[データ比較処理の結果を出力した際の具体例]
図30は、データ比較処理の結果を出力した際の具体例を説明する図である。結果出力部116は、図30に示すように、例えば、「削除ブロック」が「BL1−2、BL1−8」であり、「追加ブロック」が「BL2−2、BL2−4」であり、「類似ブロック」が「BL1−3」と「BL2−3」とであることを示す情報を「ブロック比較結果」として出力する。
[Specific example of outputting the result of data comparison processing]
FIG. 30 is a diagram illustrating a specific example when the result of the data comparison process is output. As shown in FIG. 30, the result output unit 116, for example, has “deleted block” as “BL1-2, BL1-8”, “additional block” as “BL2-2, BL2-4”, “ Information indicating that “similar blocks” are “BL1-3” and “BL2-3” is output as a “block comparison result”.
そして、結果出力部116は、図30に示すように、例えば、「類似ブロック」として出力された「BL1−3」と「BL2−3」とにおいて、「削除文書データ」が2行目のCCCであることを示す「CCC(2行目)」であることを示す情報を「文書データ比較結果」として出力する。また、結果出力部116は、例えば、「類似ブロック」として出力された「BL1−3」と「BL2−3」とにおいて、「追加文書データ」が2行目のDDDであることを示す「DDD(2行目)」であることを示す情報を「文書データ比較結果」として出力する。 Then, as shown in FIG. 30, for example, in “BL1-3” and “BL2-3” output as “similar blocks”, the result output unit 116 sets “deleted document data” as the CCC in the second row. The information indicating “CCC (second line)” indicating that is “document data comparison result” is output. In addition, the result output unit 116 indicates, for example, “DDD” indicating that “additional document data” is DDD in the second row in “BL1-3” and “BL2-3” output as “similar blocks”. (Second line) ”is output as“ document data comparison result ”.
これにより、結果出力部116は、精度が高い比較元データ131と比較先データ132との比較結果を出力することが可能になる。そのため、利用者は、比較元データ131と比較先データとの差分を精度高く把握することが可能になる。
As a result, the result output unit 116 can output a comparison result between the
以上の実施の形態をまとめると、以下の付記のとおりである。 The above embodiment is summarized as follows.
(付記1)
複数行の文字列をそれぞれ含む複数のデータを受け付け、
受け付けた前記複数のデータのうちの何らかのデータにページの切れ目を示す切れ目情報が含まれる場合、前記何らかのデータから前記切れ目情報を削除したデータを生成し、
生成した前記データを分割して複数のブロックを生成し、
生成した前記ブロックそれぞれが、受け付けた前記複数のデータのうちの他のデータに含まれるか否かを判定する、
処理をコンピュータに実行させることを特徴とするデータ比較プログラム。
(Appendix 1)
Accept multiple data, each containing multiple lines of text,
If any of the received data includes break information indicating a break in the page, generate data in which the break information is deleted from the some data,
Dividing the generated data to generate a plurality of blocks,
Determining whether each of the generated blocks is included in other data of the received plurality of data;
A data comparison program for causing a computer to execute processing.
(付記2)
付記1において、
前記データを生成する処理では、前記切れ目情報の直前ページの最終行の文字列の最後が文章の終わりを示していない場合、前記直前ページの最終行と、前記切れ目情報の直後ページの先頭行との間隔を、前記文章が複数の行からなる場合における各行の間隔と同じ間隔に変更する、
ことを特徴とするデータ比較プログラム。
(Appendix 2)
In
In the process of generating the data, if the end of the character string of the last line of the page immediately before the break information does not indicate the end of the sentence, the last line of the previous page, the first line of the page immediately after the break information, The interval is changed to the same interval as each line when the sentence is composed of a plurality of lines.
A data comparison program characterized by that.
(付記3)
付記2において、
前記データを生成する処理では、前記切れ目情報の直前ページの最終行の文字列の最後が句点または終止符である場合に、前記最終行の文字列の最後が文章の終わりを示していると判定する、
ことを特徴とするデータ比較プログラム。
(Appendix 3)
In
In the process of generating the data, when the end of the character string on the last line of the page immediately before the break information is a punctuation mark or a stop, it is determined that the end of the character string on the last line indicates the end of a sentence. ,
A data comparison program characterized by that.
(付記4)
付記2において、
前記データを生成する処理では、前記直前ページの最終行に文字が含まれている場合に、前記間隔を変更する処理を行う、
ことを特徴とするデータ比較プログラム。
(Appendix 4)
In
In the process of generating the data, when a character is included in the last line of the previous page, a process of changing the interval is performed.
A data comparison program characterized by that.
(付記5)
付記2において、
前記データを生成する処理では、前記直後ページの先頭行に文字が含まれている場合に、前記間隔を変更する処理を行う、
ことを特徴とするデータ比較プログラム。
(Appendix 5)
In
In the process of generating the data, when a character is included in the first line of the immediately following page, a process of changing the interval is performed.
A data comparison program characterized by that.
(付記6)
付記1において、
前記複数のブロックを生成する処理では、生成した前記データに空白のみを含む空白行が存在する場合、前記空白行の直前の行と、前記空白行と、前記空白行の直後の行とがそれぞれ異なるブロックに含まれるように前記複数のブロックの生成を行う、
ことを特徴とするデータ比較プログラム。
(Appendix 6)
In
In the process of generating the plurality of blocks, if there is a blank line that includes only blanks in the generated data, the line immediately before the blank line, the blank line, and the line immediately after the blank line are respectively Generating the plurality of blocks to be included in different blocks;
A data comparison program characterized by that.
(付記7)
付記1において、
前記複数のブロックを生成する処理では、途中から最後までが空白またはインテンドである特定の行が存在する場合、前記特定の行と、前記特定の行の次の行とがそれぞれ異なるブロックに含まれるように前記複数のブロックの生成を行う、
ことを特徴とするデータ比較プログラム。
(Appendix 7)
In
In the process of generating the plurality of blocks, when there is a specific line that is blank or intend from the middle to the end, the specific line and the line next to the specific line are included in different blocks. The plurality of blocks are generated as follows:
A data comparison program characterized by that.
(付記8)
付記1において、
前記複数のブロックを生成する処理では、文字列の最後が文章の終わりを示していない特定の行が存在する場合であって、前記特定の行の次の行の文字列の先頭が半角文字である場合、前記特定の行と、前記特定の行の次の行とが同じブロックに含まれるように前記複数のブロックの生成を行う、
ことを特徴とするデータ比較プログラム。
(Appendix 8)
In
In the process of generating the plurality of blocks, there is a specific line in which the end of the character string does not indicate the end of the sentence, and the first character string of the next line of the specific line is a single-byte character. In some cases, the plurality of blocks are generated so that the specific row and a row next to the specific row are included in the same block.
A data comparison program characterized by that.
(付記9)
付記1において、
前記複数のブロックを生成する処理では、文字列に含まれる文字のフォントが次の行の文字列に含まれる文字のフォントと異なる特定の行が存在する場合、前記特定の行と、前記特定の行の次の行とがそれぞれ異なるブロックに含まれるように前記複数のブロックの生成を行う、
ことを特徴とするデータ比較プログラム。
(Appendix 9)
In
In the process of generating the plurality of blocks, when there is a specific line in which the font of the character included in the character string is different from the font of the character included in the character string of the next line, the specific line and the specific line The plurality of blocks are generated so that the next row is included in different blocks.
A data comparison program characterized by that.
(付記10)
付記1において、さらに、
前記複数のブロックのうち、前記他のデータに同一のブロックが含まれる特定のブロックが存在すると判定した場合、前記特定のブロックと、前記他のデータに含まれるブロックのうち、前記特定のブロックと同一のブロックとをそれぞれ特定し、
特定した前記ブロックのそれぞれが同一のブロックであることを示す情報を出力する、
ことを特徴とするデータ比較プログラム。
(Appendix 10)
In
If it is determined that there is a specific block including the same block in the other data among the plurality of blocks, the specific block and the specific block among the blocks included in the other data Identify the same blocks,
Outputting information indicating that each of the identified blocks is the same block;
A data comparison program characterized by that.
(付記11)
付記10において、さらに、
前記複数のブロックのうち、前記他のデータに同一のブロックが含まれない第1ブロックを特定し、
前記他のデータに含まれるブロックのうち、生成した前記複数のブロックに同一のブロックが含まれない第2ブロックを特定し、
特定した前記第1ブロックに含まれる文字と、特定した前記第2ブロックに含まれる文字との一致率が所定の閾値以上である場合、前記第1ブロックと前記第2ブロックとが類似するブロックであることを示す情報を出力する、
ことを特徴とするデータ比較プログラム。
(Appendix 11)
In
Identifying a first block of the plurality of blocks that does not include the same block in the other data;
Among the blocks included in the other data, identify a second block that does not include the same block in the plurality of generated blocks,
When the matching rate between the character included in the specified first block and the character included in the specified second block is equal to or higher than a predetermined threshold, the first block and the second block are similar blocks. Output information indicating that it is,
A data comparison program characterized by that.
(付記12)
付記11において、
前記類似するブロックであることを示す情報を出力する処理では、前記第1ブロックのうち、連続する前記同一のブロックの間に存在するブロックに含まれる文字と、前記第2ブロックのうち、前記連続する同一のブロックの間に存在するブロックに含まれる文字との一致率が前記所定の閾値以上であるか否かの判定を行う、
ことを特徴とするデータ比較プログラム。
(Appendix 12)
In
In the process of outputting the information indicating that the blocks are similar, in the first block, the characters included in the consecutive blocks in the same block and the continuous blocks in the second block Determining whether or not the matching rate with the characters included in the blocks existing between the same blocks is equal to or higher than the predetermined threshold;
A data comparison program characterized by that.
(付記13)
付記11において、さらに、
前記複数のブロックのうち、特定された前記同一のブロック及び前記類似のブロックでのいずれでもない他のブロックを特定し、
特定した前記他のブロックが、前記他のデータに含まれないブロックであることを示す情報を出力する、
ことを特徴とするデータ比較プログラム。
(Appendix 13)
In
Identifying another block that is not one of the identified identical block and the similar block among the plurality of blocks;
Outputting information indicating that the identified other block is a block not included in the other data;
A data comparison program characterized by that.
(付記14)
付記11において、さらに、
前記他のデータに含まれるブロックのうち、特定された前記同一のブロック及び前記類似のブロックのいずれでもない他のブロックを特定し、
特定した前記他のブロックが、前記複数のブロックに含まれないブロックであることを示す情報を出力する、
ことを特徴とするデータ比較プログラム。
(Appendix 14)
In
Identifying another block that is not one of the identified identical block and the similar block among the blocks included in the other data;
Outputting information indicating that the identified other block is a block not included in the plurality of blocks;
A data comparison program characterized by that.
(付記15)
付記1において、
前記切れ目情報は、前記ページの先頭を示すヘッダー情報と、前記ページの最後を示すフッター情報とを含む、
ことを特徴とするデータ比較プログラム。
(Appendix 15)
In
The break information includes header information indicating the top of the page and footer information indicating the end of the page.
A data comparison program characterized by that.
(付記16)
複数行の文字列をそれぞれ含む複数のデータを受け付ける受け付け部と、
受け付けた前記複数のデータのうちの何らかのデータにページの切れ目を示す切れ目情報が含まれる場合、前記何らかのデータから前記切れ目情報を削除したデータを生成するデータ生成部と、
生成した前記データを分割して複数のブロックを生成するブロック生成部と、
生成した前記ブロックそれぞれが、受け付けた前記複数のデータのうちの他のデータに含まれるか否かを判定する判定部と、を有する、
ことを特徴とするデータ比較装置。
(Appendix 16)
A receiving unit for receiving a plurality of data each including a plurality of lines of character strings;
A data generation unit that generates data obtained by deleting the break information from the some data, when the break information indicating a break of a page is included in some data of the plurality of received data;
A block generator that divides the generated data to generate a plurality of blocks;
A determination unit that determines whether each of the generated blocks is included in other data among the plurality of received data;
A data comparison apparatus characterized by that.
(付記17)
複数行の文字列をそれぞれ含む複数のデータを受け付け、
受け付けた前記複数のデータのうちの何らかのデータにページの切れ目を示す切れ目情報が含まれる場合、前記何らかのデータから前記切れ目情報を削除したデータを生成し、
生成した前記データを分割して複数のブロックを生成し、
生成した前記ブロックそれぞれが、受け付けた前記複数のデータのうちの他のデータに含まれるか否かを判定する、
ことを特徴とするデータ比較方法。
(Appendix 17)
Accept multiple data, each containing multiple lines of text,
If any of the received data includes break information indicating a break in the page, generate data in which the break information is deleted from the some data,
Dividing the generated data to generate a plurality of blocks,
Determining whether each of the generated blocks is included in other data of the received plurality of data;
A data comparison method characterized by that.
1:情報処理装置 2:記憶部
11:利用者端末 NW:ネットワーク
1: Information processing device 2: Storage unit 11: User terminal NW: Network
Claims (14)
受け付けた前記複数のデータのうちの何らかのデータにページの切れ目を示す切れ目情報が含まれる場合、前記何らかのデータから前記切れ目情報を削除したデータを生成し、
生成した前記データを分割して複数のブロックを生成し、
生成した前記ブロックそれぞれが、受け付けた前記複数のデータのうちの他のデータに含まれるか否かを判定する、
処理をコンピュータに実行させることを特徴とするデータ比較プログラム。 Accept multiple data, each containing multiple lines of text,
If any of the received data includes break information indicating a break in the page, generate data in which the break information is deleted from the some data,
Dividing the generated data to generate a plurality of blocks,
Determining whether each of the generated blocks is included in other data of the received plurality of data;
A data comparison program for causing a computer to execute processing.
前記データを生成する処理では、前記切れ目情報の直前ページの最終行の文字列の最後が文章の終わりを示していない場合、前記直前ページの最終行と、前記切れ目情報の直後ページの先頭行との間隔を、前記文章が複数の行からなる場合における各行の間隔と同じ間隔に変更する、
ことを特徴とするデータ比較プログラム。 In claim 1,
In the process of generating the data, if the end of the character string of the last line of the page immediately before the break information does not indicate the end of the sentence, the last line of the previous page, the first line of the page immediately after the break information, The interval is changed to the same interval as each line when the sentence is composed of a plurality of lines.
A data comparison program characterized by that.
前記データを生成する処理では、前記切れ目情報の直前ページの最終行の文字列の最後が句点または終止符である場合に、前記最終行の文字列の最後が文章の終わりを示していると判定する、
ことを特徴とするデータ比較プログラム。 In claim 2,
In the process of generating the data, when the end of the character string on the last line of the page immediately before the break information is a punctuation mark or a stop, it is determined that the end of the character string on the last line indicates the end of a sentence. ,
A data comparison program characterized by that.
前記データを生成する処理では、前記直前ページの最終行に文字が含まれている場合に、前記間隔を変更する処理を行う、
ことを特徴とするデータ比較プログラム。 In claim 2,
In the process of generating the data, when a character is included in the last line of the previous page, a process of changing the interval is performed.
A data comparison program characterized by that.
前記データを生成する処理では、前記直後ページの先頭行に文字が含まれている場合に、前記間隔を変更する処理を行う、
ことを特徴とするデータ比較プログラム。 In claim 2,
In the process of generating the data, when a character is included in the first line of the immediately following page, a process of changing the interval is performed.
A data comparison program characterized by that.
前記複数のブロックを生成する処理では、生成した前記データに空白のみを含む空白行が存在する場合、前記空白行の直前の行と、前記空白行と、前記空白行の直後の行とがそれぞれ異なるブロックに含まれるように前記複数のブロックの生成を行う、
ことを特徴とするデータ比較プログラム。 In claim 1,
In the process of generating the plurality of blocks, if there is a blank line that includes only blanks in the generated data, the line immediately before the blank line, the blank line, and the line immediately after the blank line are respectively Generating the plurality of blocks to be included in different blocks;
A data comparison program characterized by that.
前記複数のブロックを生成する処理では、途中から最後までが空白またはインテンドである特定の行が存在する場合、前記特定の行と、前記特定の行の次の行とがそれぞれ異なるブロックに含まれるように前記複数のブロックの生成を行う、
ことを特徴とするデータ比較プログラム。 In claim 1,
In the process of generating the plurality of blocks, when there is a specific line that is blank or intend from the middle to the end, the specific line and the line next to the specific line are included in different blocks. The plurality of blocks are generated as follows:
A data comparison program characterized by that.
前記複数のブロックを生成する処理では、文字列の最後が文章の終わりを示していない特定の行が存在する場合であって、前記特定の行の次の行の文字列の先頭が半角文字である場合、前記特定の行と、前記特定の行の次の行とが同じブロックに含まれるように前記複数のブロックの生成を行う、
ことを特徴とするデータ比較プログラム。 In claim 1,
In the process of generating the plurality of blocks, there is a specific line in which the end of the character string does not indicate the end of the sentence, and the first character string of the next line of the specific line is a single-byte character. In some cases, the plurality of blocks are generated so that the specific row and a row next to the specific row are included in the same block.
A data comparison program characterized by that.
前記複数のブロックを生成する処理では、文字列に含まれる文字のフォントが次の行の文字列に含まれる文字のフォントと異なる特定の行が存在する場合、前記特定の行と、前記特定の行の次の行とがそれぞれ異なるブロックに含まれるように前記複数のブロックの生成を行う、
ことを特徴とするデータ比較プログラム。 In claim 1,
In the process of generating the plurality of blocks, when there is a specific line in which the font of the character included in the character string is different from the font of the character included in the character string of the next line, the specific line and the specific line The plurality of blocks are generated so that the next row is included in different blocks.
A data comparison program characterized by that.
前記複数のブロックのうち、前記他のデータに同一のブロックが含まれる特定のブロックが存在すると判定した場合、前記特定のブロックと、前記他のデータに含まれるブロックのうち、前記特定のブロックと同一のブロックとをそれぞれ特定し、
特定した前記ブロックのそれぞれが同一のブロックであることを示す情報を出力する、
ことを特徴とするデータ比較プログラム。 The claim 1, further comprising:
If it is determined that there is a specific block including the same block in the other data among the plurality of blocks, the specific block and the specific block among the blocks included in the other data Identify the same blocks,
Outputting information indicating that each of the identified blocks is the same block;
A data comparison program characterized by that.
前記複数のブロックのうち、前記他のデータに同一のブロックが含まれない第1ブロックを特定し、
前記他のデータに含まれるブロックのうち、生成した前記複数のブロックに同一のブロックが含まれない第2ブロックを特定し、
特定した前記第1ブロックに含まれる文字と、特定した前記第2ブロックに含まれる文字との一致率が所定の閾値以上である場合、前記第1ブロックと前記第2ブロックとが類似するブロックであることを示す情報を出力する、
ことを特徴とするデータ比較プログラム。 The claim 10, further comprising:
Identifying a first block of the plurality of blocks that does not include the same block in the other data;
Among the blocks included in the other data, identify a second block that does not include the same block in the plurality of generated blocks,
When the matching rate between the character included in the specified first block and the character included in the specified second block is equal to or higher than a predetermined threshold, the first block and the second block are similar blocks. Output information indicating that it is,
A data comparison program characterized by that.
前記類似するブロックであることを示す情報を出力する処理では、前記第1ブロックのうち、連続する前記同一のブロックの間に存在するブロックに含まれる文字と、前記第2ブロックのうち、前記連続する同一のブロックの間に存在するブロックに含まれる文字との一致率が前記所定の閾値以上であるか否かの判定を行う、
ことを特徴とするデータ比較プログラム。 In claim 11,
In the process of outputting the information indicating that the blocks are similar, in the first block, the characters included in the consecutive blocks in the same block and the continuous blocks in the second block Determining whether or not the matching rate with the characters included in the blocks existing between the same blocks is equal to or higher than the predetermined threshold;
A data comparison program characterized by that.
受け付けた前記複数のデータのうちの何らかのデータにページの切れ目を示す切れ目情報が含まれる場合、前記何らかのデータから前記切れ目情報を削除したデータを生成するデータ生成部と、
生成した前記データを分割して複数のブロックを生成するブロック生成部と、
生成した前記ブロックそれぞれが、受け付けた前記複数のデータのうちの他のデータに含まれるか否かを判定する判定部と、を有する、
ことを特徴とするデータ比較装置。 A receiving unit for receiving a plurality of data each including a plurality of lines of character strings;
A data generation unit that generates data obtained by deleting the break information from the some data, when the break information indicating a break of a page is included in some data of the plurality of received data;
A block generator that divides the generated data to generate a plurality of blocks;
A determination unit that determines whether each of the generated blocks is included in other data among the plurality of received data;
A data comparison apparatus characterized by that.
受け付けた前記複数のデータのうちの何らかのデータにページの切れ目を示す切れ目情報が含まれる場合、前記何らかのデータから前記切れ目情報を削除したデータを生成し、
生成した前記データを分割して複数のブロックを生成し、
生成した前記ブロックそれぞれが、受け付けた前記複数のデータのうちの他のデータに含まれるか否かを判定する、
ことを特徴とするデータ比較方法。 Accept multiple data, each containing multiple lines of text,
If any of the received data includes break information indicating a break in the page, generate data in which the break information is deleted from the some data,
Dividing the generated data to generate a plurality of blocks,
Determining whether each of the generated blocks is included in other data of the received plurality of data;
A data comparison method characterized by that.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016086079A JP2017194903A (en) | 2016-04-22 | 2016-04-22 | Data comparison program, data comparison device and data comparison method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016086079A JP2017194903A (en) | 2016-04-22 | 2016-04-22 | Data comparison program, data comparison device and data comparison method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017194903A true JP2017194903A (en) | 2017-10-26 |
Family
ID=60155529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016086079A Pending JP2017194903A (en) | 2016-04-22 | 2016-04-22 | Data comparison program, data comparison device and data comparison method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017194903A (en) |
-
2016
- 2016-04-22 JP JP2016086079A patent/JP2017194903A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112749344B (en) | Information recommendation method, device, electronic equipment, storage medium and program product | |
CN113140017B (en) | Method for training countermeasure network model, method for establishing word stock, device and equipment | |
CN104866985B (en) | The recognition methods of express delivery odd numbers, apparatus and system | |
CN109033282B (en) | Webpage text extraction method and device based on extraction template | |
US20160048482A1 (en) | Method for automatically partitioning an article into various chapters and sections | |
US20230177251A1 (en) | Method, device, and system for analyzing unstructured document | |
CN113408660A (en) | Book clustering method, device, equipment and storage medium | |
JP2018132965A (en) | Fault analysis program, fault analysis device, and fault analysis method | |
US9524354B2 (en) | Device, method, and program for processing data with tree structure | |
JP2015203961A (en) | document extraction system | |
CN113919424A (en) | Training of text processing model, text processing method, device, equipment and medium | |
CN101388044A (en) | Paralleling multi-mode matching method and system for containing operator in matching rules | |
CN101377816B (en) | Method and system for matching paralleling multiple-mode of matching regulation including displacement indication symbol | |
US10176392B2 (en) | Optical character recognition | |
CN111488400A (en) | Data classification method, device and computer readable storage medium | |
JP2017194903A (en) | Data comparison program, data comparison device and data comparison method | |
JP2016018279A (en) | Document file search program, document file search device, document file search method, document information output program, document information output device, and document information output method | |
JPWO2011004524A1 (en) | Text mining device | |
CN114239562A (en) | Method, device and equipment for identifying program code blocks in document | |
CN109446239A (en) | Text method for digging, device and computer readable storage medium under line | |
CN113032620B (en) | Data processing method and device for audio data, electronic equipment and medium | |
JP2014235584A (en) | Document analysis system, document analysis method, and program | |
US11520765B2 (en) | Computer-readable recording medium recording index generation program, information processing apparatus and search method | |
JP2012174014A (en) | Document summarization device, document summarization method, and program | |
CN113656393B (en) | Data processing method, device, electronic equipment and storage medium |