JP5291523B2 - Similar data retrieval device and program thereof - Google Patents

Similar data retrieval device and program thereof Download PDF

Info

Publication number
JP5291523B2
JP5291523B2 JP2009102704A JP2009102704A JP5291523B2 JP 5291523 B2 JP5291523 B2 JP 5291523B2 JP 2009102704 A JP2009102704 A JP 2009102704A JP 2009102704 A JP2009102704 A JP 2009102704A JP 5291523 B2 JP5291523 B2 JP 5291523B2
Authority
JP
Japan
Prior art keywords
data
segment
unit
file
constituent
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.)
Active
Application number
JP2009102704A
Other languages
Japanese (ja)
Other versions
JP2010256951A (en
Inventor
豊司 畑中
Original Assignee
株式会社データ変換研究所
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 株式会社データ変換研究所 filed Critical 株式会社データ変換研究所
Priority to JP2009102704A priority Critical patent/JP5291523B2/en
Publication of JP2010256951A publication Critical patent/JP2010256951A/en
Application granted granted Critical
Publication of JP5291523B2 publication Critical patent/JP5291523B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To more properly detect a set of files having similar content. <P>SOLUTION: A position for dividing each file into a predetermined number of constituent segments having equal size is temporarily determined. Data preceding or following the temporary division position are read. A part where a specific pattern is detected is determined as a definite division position, and a hash value of each constituent segment obtained by dividing the file at the division positions is calculated. When similarity is decided between files, an eigenvalue of the constituent segment related to one file and an eigenvalue of the constituent segment related to the other file are sequentially compared for each segment. The number or a ratio of the constituent segments where the eigenvalues match is counted. As the number or the ratio of the constituent segments where the eigenvalues match is larger, a degree of similarity is higher. <P>COPYRIGHT: (C)2011,JPO&amp;INPIT

Description

本発明は、データベース等に格納しているデータ単位群の中から内容が類似しているデータ単位を発見する類似データ検索装置に関する。   The present invention relates to a similar data search apparatus for finding data units having similar contents from a group of data units stored in a database or the like.

無数のデータファイルを管理するシステムでは、時として、内容が同一または類似した複数のファイルを重複して格納していることがある。とりわけ、内容に修正を加えた新版のファイルと修正を加える前の旧版のファイルとが並存していると、業務において人為的過誤を引き起す要因となり得る。そのような事情もあって、管理しているデータファイルの中から内容が類似しているものを簡便に検索する機能が求められている。   In a system that manages a myriad of data files, sometimes a plurality of files having the same or similar contents are stored in duplicate. In particular, the presence of a new version of a file whose contents have been modified and an old version of the file prior to the modification may cause human error in business operations. Under such circumstances, there is a demand for a function for easily searching for similar data files in the managed data file.

下記特許文献1に、ある文書ファイルに類似した他の文書ファイルを検索することのできる装置が開示されている。この検索装置では、文書をページ毎に切り分けてなる複数のセグメントについてそれぞれハッシュ値を算出しておき、あるファイルと他のファイルとの類否判断の際に両ファイルの構成セグメントのハッシュ値を各セグメント毎に順次比較して、ハッシュ値が一致した個数を計数するようにしている。ハッシュ値が一致するセグメントの個数が多いほど、両ファイルの類似度は高いと判断される。   Japanese Patent Application Laid-Open Publication No. 2004-228561 discloses an apparatus that can search for another document file similar to a certain document file. In this search device, a hash value is calculated for each of a plurality of segments obtained by dividing a document for each page, and the hash values of the constituent segments of both files are determined when determining the similarity between a file and another file. By sequentially comparing each segment, the number of matching hash values is counted. The greater the number of segments with the same hash value, the higher the similarity between both files.

とは言え、上に述べた既知の検索装置では、修正後の新版ファイルと修正前の旧版ファイルとの類似関係を必ずしも適確に検出できないおそれがある。例えば、数文字ないし数行の加筆によりテキスト中の改ページ位置が後方にずれると、加筆箇所以降の全ページについてハッシュ値が変化してしまい、新版ファイルと旧版ファイルとを比較したときにハッシュ値が一致するセグメントの個数が顕著に減少する。さすれば、両者は非類似と判断されることとなる。   However, the known search apparatus described above may not necessarily detect the similar relationship between the new version file after correction and the old version file before correction. For example, if the page break position in the text is shifted backward due to the addition of several characters or lines, the hash value changes for all pages after the addition, and the hash value is compared when comparing the new version file with the old version file. The number of segments that match is significantly reduced. If so, the two will be judged as dissimilar.

これに対し、ハッシュをとるセグメントをページ単位ではなく段落単位とする手法も考えられるが、段落を一つ丸々追加したり削除したりすることもしばしば行われるため、新版ファイルと旧版ファイルとの間で構成セグメントの順番がずれて、やはりハッシュ値が一致するセグメントの個数は少なくなる蓋然性が高い。   On the other hand, there can be a method in which the segment to be hashed is not a page unit but a paragraph unit, but adding and deleting a whole paragraph is often performed, so there is a gap between the new version file and the old version file. Therefore, it is highly likely that the number of segments having the same hash value is reduced because the order of the constituent segments is shifted.

特開2008−257444号公報JP 2008-257444 A

本発明は、上記の問題に初めて着目してなされたものであって、互いに内容が類似しているデータ単位の組をより適確に検出できるようにすることを所期の目的としている。   The present invention has been made by paying attention to the above-mentioned problem for the first time, and an object of the present invention is to make it possible to more accurately detect a set of data units whose contents are similar to each other.

本発明に係る類似データ検索装置は、格納しているデータ単位群の中から内容が類似しているデータ単位を発見するためのものであって、データ単位を所定数または所定サイズの複数の構成セグメントに分ける切り分け位置を仮定し、その仮の切り分け位置から前方または後方に連続するデータを読んで特定のパターンを検出した箇所を正式な切り分け位置として決定するセグメント決定部と、前記セグメント決定部で決定した切り分け位置でデータ単位を切り分けてなる複数の構成セグメントをそれぞれ所定の計算式に代入し、各セグメントの固有値を算定する固有値算定部と、一のデータ単位に係る構成セグメントの固有値と、他のデータ単位に係る構成セグメントの固有値とを各セグメント毎に順次比較し、固有値が一致する構成セグメントの個数または割合を計数するセグメント比較部と、前記セグメント比較部で計数した個数または割合の多寡に応じて一のデータ単位に対する他のデータ単位の類否を判断し、類似していると判断したデータ単位を指し示す情報を表示させる結果出力部とを具備する。   A similar data search device according to the present invention is for finding a data unit having similar contents from a stored data unit group, and includes a plurality of data units each having a predetermined number or a predetermined size. Assuming a segmentation position to divide into segments, a segment determination unit that determines a place where a specific pattern is detected by reading data continuous forward or backward from the provisional segmentation position, and a segment determination unit Substituting a plurality of constituent segments obtained by carving data units at the determined carving positions into predetermined calculation formulas, calculating the eigenvalues of each segment, the eigenvalues of the constituent segments related to one data unit, and others Each segment is sequentially compared with the eigenvalues of the constituent segments related to the data unit of The segment comparison unit that counts the number or ratio of the data and the similarity of the other data units with respect to one data unit according to the number or ratio of the numbers or ratios counted by the segment comparison unit are determined to be similar. And a result output unit for displaying information indicating the data unit.

ここで、データ単位とは、個別に把握できるデータの塊を言い、ファイルシステムで扱われるデータファイル、ディレクトリや、データベースシステムで扱われるレコード等がこれに該当する。固有値とは、典型的には一方向性(ハッシュ値から原データを求める逆関数の計算が困難)及び衝突耐性(同じハッシュ値を生成する二つの原データを見出すことが困難)を有するハッシュ関数に原データを代入して計算するハッシュ値であるが、チェックサムや巡回符号(Cyclic Redundancy Check)その他の誤り検出符号を固有値として採用することも不可能ではない。データ単位を指し示す情報とは、例えば、データ単位に付された名称その他の識別子、データ単位を指定するパス情報、URI(Uniform Resource Identifier)等である。   Here, the data unit refers to a lump of data that can be grasped individually, and corresponds to data files and directories handled by the file system, records handled by the database system, and the like. The eigenvalue is typically a hash function having one-way (difficult to calculate the inverse function for obtaining the original data from the hash value) and collision resistance (difficult to find two original data that generate the same hash value). However, it is not impossible to employ a checksum, a cyclic redundancy check, or other error detection codes as eigenvalues. The information indicating the data unit is, for example, a name or other identifier given to the data unit, path information designating the data unit, URI (Uniform Resource Identifier), and the like.

本発明に係る類似データ検索装置では、比較をするべきデータ単位を、まずはデータの内実によらない一定のルール(即ち、セグメントの総数または各セグメントのサイズを所定とする)で複数のセグメントに切り分けようとする。しかし、その切り分け位置は不動ではなく、前記ルールに則って定めた仮の切り分け位置から前方または後方に連続するデータを読み、特定のパターンが出現した箇所を正式な切り分け位置とする。つまるところ、仮の切り分け位置の周辺にあるデータの内容に応じて、実際の切り分け位置を前方または後方に遷移させる。   In the similar data search device according to the present invention, the data unit to be compared is first divided into a plurality of segments according to a certain rule (that is, the total number of segments or the size of each segment is predetermined) that does not depend on the actual data. Try to. However, the separation position is not stationary, and data continuous forward or backward from the provisional separation position determined in accordance with the rules is read, and a place where a specific pattern appears is set as a formal separation position. In other words, the actual separation position is shifted forward or backward in accordance with the contents of data around the temporary separation position.

この処理により、データ単位に一部修正が加えられた場合において、その修正箇所を含むセグメントのみを拡大または縮小させ、その余の部分のセグメントは修正の前後を通じて同一に保つことが可能となる。結果、修正後のデータ単位と修正前のそれとを比較したときに、固有値が一致するセグメントの個数または割合が多くなり、両者の類似関係が適確に検出されるようになる。   With this processing, when a partial correction is made to the data unit, only the segment including the correction portion is enlarged or reduced, and the remaining segment can be kept the same before and after the correction. As a result, when the data unit after correction is compared with that before correction, the number or proportion of segments with the same eigenvalue increases, and the similarity between the two can be detected accurately.

また、上に述べた既知の検索装置は専らテキスト主体の文書ファイルを処理対象としていたが、本発明に係る類似データ検索装置は、セグメントの切り分け位置を決定する特定のパターンを文字コードや改ページ記号等に依存しないものとすることにより、テキスト以外のデータをも処理することが可能である。   In addition, while the known search device described above is exclusively for text-based document files, the similar data search device according to the present invention uses a character code or a page break as a specific pattern for determining segment segmentation positions. By not relying on symbols or the like, data other than text can be processed.

各データ単位が特定の種類のデータ要素と他の種類のデータ要素とを包含しているならば、前記セグメント決定部が、データ単位に含まれる特定の種類のデータ要素を抽出した上、これを所定数または所定サイズの複数の構成セグメントに分ける切り分け位置を仮定し、その仮の切り分け位置から前方または後方に連続するデータを読んで特定のパターンを検出した箇所を正式な切り分け位置として決定し、前記固有値算定部が、前記セグメント決定部で決定した切り分け位置で前記特定の種類のデータ要素を切り分けてなる複数の構成セグメントをそれぞれ所定の計算式に代入し、各セグメントの固有値を算定できるものとすることが好適である。これにより、重要性の高いデータ要素の内容に着目してデータ単位同士の類否判断を実施することが可能となる。   If each data unit includes a specific type of data element and another type of data element, the segment determination unit extracts a specific type of data element included in the data unit, Assuming a cutting position to be divided into a plurality of constituent segments of a predetermined number or a predetermined size, a position where a specific pattern is detected by reading data continuous forward or backward from the temporary cutting position is determined as a formal cutting position, The eigenvalue calculating unit can calculate the eigenvalue of each segment by substituting a plurality of constituent segments obtained by carving the specific type of data element at the carving position determined by the segment determining unit, respectively, into a predetermined calculation formula. It is preferable to do. Thereby, it becomes possible to carry out similarity determination between data units by paying attention to the contents of highly important data elements.

前記特定の種類のデータ要素は、例えばテキストとする。HTML(HyperText Markup Language)ファイルやPDF(Portable Document Format)ファイル、あるいはワードプロセッサ文書ファイル等は、テキストとともに当該テキスト本文の表示体裁を規定するデータ要素をも含んでいる。一般に、これらのファイルにおいて重要視される情報はテキストであり、フォントの種類や大きさ等といった体裁は二の次である。ファイルに含まれるデータ要素の全部を参照して類否判断を行うとすると、テキストは同一であるのに表示体裁が異なるために非類似であると判断され、ユーザのニーズに応えられないきらいがある。このような理由から、比較的重要なデータ要素であるテキストのみをまず抽出し、そのテキストをセグメントに分けて、セグメント毎に固有値の比較を実行することが好ましいと言える。   The specific type of data element is, for example, text. An HTML (HyperText Markup Language) file, a PDF (Portable Document Format) file, a word processor document file, and the like also include data elements that define the display format of the text body together with the text. In general, information that is regarded as important in these files is text, and the appearance such as font type and size is secondary. If the similarity determination is made by referring to all the data elements included in the file, the text is the same, but the display style is different, so it is determined that the text is dissimilar, and the user's needs cannot be met. is there. For this reason, it can be said that it is preferable to first extract only text that is a relatively important data element, divide the text into segments, and perform comparison of eigenvalues for each segment.

各データ単位について予め前記固有値算定部で算出した固有値を記憶する固有値記憶部をさらに具備し、前記セグメント比較部が、前記固有値記憶部に記憶している他のデータ単位に係る構成セグメントの固有値を読み出してこれを一のデータ単位に係る構成セグメントの固有値と比較するものとすれば、類否判断処理に際してデータ単位の構成セグメントの固有値を演算する処理負荷または所要時間を軽減することができる。   It further includes an eigenvalue storage unit that stores the eigenvalues calculated in advance by the eigenvalue calculation unit for each data unit, and the segment comparison unit stores eigenvalues of constituent segments related to other data units stored in the eigenvalue storage unit. If the data is read and compared with the eigenvalue of the constituent segment related to one data unit, the processing load or time required for calculating the eigenvalue of the constituent segment of the data unit in the similarity determination processing can be reduced.

なお、以上では、一のデータ単位と他のデータ単位との類否判断にあたり、それぞれのデータ単位を構成するセグメントの固有値が一致するか否かを各々比較していたが、セグメント自体を比較するようにしても構わない。このときの類似データ検索装置は、データ単位を所定数または所定サイズの複数の構成セグメントに分ける切り分け位置を仮定し、その仮の切り分け位置から前方または後方に連続するデータを読んで特定のパターンを検出した箇所を正式な切り分け位置として決定するセグメント決定部と、一のデータ単位を前記セグメント決定部で決定した切り分け位置で切り分けてなる複数の構成セグメントと、他のデータ単位を前記セグメント決定部で決定した切り分け位置で切り分けてなる複数の構成セグメントとを各セグメント毎に順次比較し、内容が一致する構成セグメントの個数または割合を計数するセグメント比較部と、前記セグメント比較部で計数した個数または割合の多寡に応じて一のデータ単位に対する他のデータ単位の類否を判断し、類似していると判断したデータ単位を指し示す情報を表示させる結果出力部とを具備するものとする。   In the above, in determining the similarity between one data unit and another data unit, whether or not the eigenvalues of the segments constituting each data unit match each other is compared, but the segments themselves are compared. It doesn't matter if you do. At this time, the similar data search apparatus assumes a separation position that divides a data unit into a plurality of constituent segments of a predetermined number or a predetermined size, reads data continuous forward or backward from the provisional separation position, and sets a specific pattern. A segment determination unit that determines the detected location as a formal segmentation position, a plurality of constituent segments that are segmented at the segmentation position determined by the segment determination unit, and another data unit that is determined by the segment determination unit A segment comparison unit that sequentially compares a plurality of constituent segments that are separated at the determined separation positions for each segment, and counts the number or proportion of constituent segments that match, and the number or proportion that is counted by the segment comparison unit Determine the similarity of other data units to one data unit according to the number of data Shall and a result output unit for displaying the information indicating the data unit is determined to be similar.

さらに、各データ単位が特定の種類のデータ要素と他の種類のデータ要素とを包含しているならば、前記セグメント決定部が、データ単位に含まれる特定の種類のデータ要素を抽出した上、これを所定数または所定サイズの複数の構成セグメントに分ける切り分け位置を仮定し、その仮の切り分け位置から前方または後方に連続するデータを読んで特定のパターンを検出した箇所を正式な切り分け位置として決定し、前記セグメント比較部が、一のデータ単位に含まれる特定の種類のデータ要素を前記セグメント決定部で決定した切り分け位置で切り分けてなる複数の構成セグメントと、他のデータ単位に含まれる特定の種類のデータ要素を前記セグメント決定部で決定した切り分け位置で切り分けてなる複数の構成セグメントとを各セグメント毎に順次比較できるものとすることが好適である。   Further, if each data unit includes a specific type of data element and another type of data element, the segment determination unit extracts a specific type of data element included in the data unit, Assuming a cutting position that divides this into a number of constituent segments of a predetermined number or size, the data that is continuously forward or backward from the temporary cutting position is read to determine the location where a specific pattern is detected as the formal cutting position The segment comparison unit separates a specific type of data element included in one data unit at a segmentation position determined by the segment determination unit, and a specific segment included in another data unit. A plurality of constituent segments obtained by classifying data elements of types at the segmentation positions determined by the segment determination unit are each segmented. It is preferable to assume that can be sequentially compared to each and.

本発明によれば、互いに内容が類似しているデータ単位の組をより適確に検出できるようになる。   According to the present invention, it is possible to more accurately detect a set of data units whose contents are similar to each other.

本発明の一実施形態の類似データ検索装置を包有したシステムを示す図。1 is a diagram showing a system including a similar data search device according to an embodiment of the present invention. 同実施形態の類似データ検索装置が具備するハードウェア資源を示す図。The figure which shows the hardware resource with which the similar data search device of the embodiment is provided. 同類似データ検索装置の機能ブロック図。The functional block diagram of the similar data search apparatus. セグメントの仮の切り分け位置から正式な切り分け位置を決定する態様を例示する図。The figure which illustrates the aspect which determines a formal cut position from the temporary cut position of a segment. 記憶している各データ単位毎のセグメントの固有値の情報を例示する図。The figure which illustrates the information of the specific value of the segment for every data unit memorized. 内容の類似しているデータ単位を検索した結果を表示する態様を例示する図。The figure which illustrates the aspect which displays the result of having searched the data unit with which the content is similar. 同類似データ検索装置がプログラムに従い実行する処理の手順を示すフローチャート。The flowchart which shows the procedure of the process which the similar data search device performs according to a program. 同類似データ検索装置がプログラムに従い実行する処理の手順を示すフローチャート。The flowchart which shows the procedure of the process which the similar data search device performs according to a program. 同類似データ検索装置がプログラムに従い実行する処理の手順を示すフローチャート。The flowchart which shows the procedure of the process which the similar data search device performs according to a program. 本発明の変形例の一を示す機能ブロック図。The functional block diagram which shows one of the modifications of this invention.

本発明の一実施形態を、図面を参照して説明する。本実施形態の類似データ検索装置1は、図1に示すように、パーソナルコンピュータ、ワークステーション、ファイルサーバまたはウェブサーバ等を主体として構成される。類似データ検索装置1たるコンピュータは、図2に示すように、プロセッサ1a、メインメモリ1b、補助記憶デバイス1c、表示制御デバイス1d、ディスプレイ1e、操作入力デバイス1f、通信インタフェース1g等のハードウェア資源を備え、それらがコントローラ(システムコントローラ、I/Oコントローラ等)1hにより制御されて連携動作するものである。   An embodiment of the present invention will be described with reference to the drawings. As shown in FIG. 1, the similar data search device 1 of the present embodiment is composed mainly of a personal computer, a workstation, a file server, a web server, or the like. As shown in FIG. 2, the computer as the similar data retrieval apparatus 1 uses hardware resources such as a processor 1a, a main memory 1b, an auxiliary storage device 1c, a display control device 1d, a display 1e, an operation input device 1f, and a communication interface 1g. These are controlled by a controller (system controller, I / O controller, etc.) 1h and operate in cooperation.

補助記憶デバイス1cは、ハードディスクドライブ、フラッシュメモリ、光学ディスクドライブ、その他である。表示制御デバイス1dは、プロセッサ1aより受けた描画指示をもとに表示させるべき画像を生成してディスプレイ1eに向けて送出するグラフィクスプロセッサ、画像データを一時的に格納しておくビデオメモリ等を要素とする。操作入力デバイス1fは、手指で操作可能な押下ボタン、キーボードや、マウス、トラックパッド、タッチパネル等のポインティングデバイスである。通信インタフェース1gは、LAN(Local Area Network)、WAN(Wide Area Network)やインターネットといった電気通信回線を介して接続している外部のコンピュータ2と情報通信を行うためのデバイスである。通信インタフェース1gは、NIC(Network Interface Card)や無線LANトランシーバに代表されるが、これら以外にUSB(Universal Serial Bus)、IEEE1394等のインタフェースを採用することもできる。   The auxiliary storage device 1c is a hard disk drive, a flash memory, an optical disk drive, or the like. The display control device 1d includes a graphics processor that generates an image to be displayed based on a drawing instruction received from the processor 1a and sends the image to the display 1e, a video memory that temporarily stores image data, and the like. And The operation input device 1f is a pointing device such as a push button, a keyboard, a mouse, a track pad, or a touch panel that can be operated with fingers. The communication interface 1g is a device for performing information communication with an external computer 2 connected via an electric communication line such as a LAN (Local Area Network), a WAN (Wide Area Network), or the Internet. The communication interface 1g is typified by NIC (Network Interface Card) or a wireless LAN transceiver, but other interfaces such as USB (Universal Serial Bus), IEEE 1394, etc. can also be adopted.

プロセッサ1aによって実行されるべきプログラムは補助記憶デバイス1cに格納されており、プログラムの実行の際には補助記憶デバイス1cからメインメモリ1bに読み込まれ、プロセッサ1aによって解読される。本実施形態では、既知のOS(Operating System)プログラムやこれに付帯する各種デバイスドライバプログラムが予めインストールされ、他のプログラムによる前記ハードウェア資源の利用を仲介する。その上で、本発明の類似データ検索装置1を構成するために必要となるプログラムがインストールされており、プログラムに従い前記ハードウェア資源を作動して、図3に示すデータ格納部101、セグメント決定部102、固有値算定部103、固有値記憶部104、セグメント比較部105及び結果出力部106としての機能を発揮する。   A program to be executed by the processor 1a is stored in the auxiliary storage device 1c. When the program is executed, the program is read from the auxiliary storage device 1c into the main memory 1b and decoded by the processor 1a. In this embodiment, a known OS (Operating System) program and various device driver programs attached thereto are installed in advance to mediate the use of the hardware resources by other programs. In addition, a program necessary for configuring the similar data search apparatus 1 of the present invention is installed, and the hardware resource is operated according to the program, so that the data storage unit 101, the segment determination unit shown in FIG. 102, the eigenvalue calculation unit 103, the eigenvalue storage unit 104, the segment comparison unit 105, and the result output unit 106.

データ格納部101は、メインメモリ1bまたは補助記憶デバイス1cの記憶領域を用いて、OSが具現するファイルシステムで取り扱うデータ単位であるファイル及びディレクトリを格納、蓄積する。   The data storage unit 101 stores and accumulates files and directories, which are data units handled by the file system implemented by the OS, using the storage area of the main memory 1b or the auxiliary storage device 1c.

セグメント決定部102は、データ格納部101に格納している個々のファイルについて、当該ファイルを複数のセグメントに分けるための切り分け位置を決定し、以て各ファイルの構成セグメントを決定する。   For each file stored in the data storage unit 101, the segment determination unit 102 determines a segmentation position for dividing the file into a plurality of segments, and thereby determines a constituent segment of each file.

ファイルの切り分け位置の決定手法に関して詳記する。ファイルの切り分け位置を決定するにあたっては、まず、一定のルールに則ってファイルを分割することを考える。本実施形態では、ファイルを所定個数のセグメントに均等に分割するというルールに則り、仮の切り分け位置を決定する。セグメントの総数を10個と定め、あるファイルのサイズが100kバイトであるとすると、割算によりこのファイルを構成する各セグメントはそれぞれ10kバイトのサイズとなる。そして、このファイルの先頭から10kバイト毎に都合9個の切り分け位置を仮に定めることになる。セグメントの仮の切り分け位置は、ファイルの内実に依存しない。   The method for determining the file separation position will be described in detail. In determining the file separation position, first consider dividing the file according to a certain rule. In the present embodiment, the provisional separation position is determined in accordance with the rule that the file is equally divided into a predetermined number of segments. If the total number of segments is determined to be 10 and the size of a certain file is 100 kbytes, each segment constituting this file is divided into 10 kbytes by division. Then, nine convenient cutting positions are temporarily determined every 10 kbytes from the top of the file. The provisional segmentation position of the segment does not depend on the actual content of the file.

次いで、ファイルにおいて仮に定めた各切り分け位置から後方に連続するデータを読み、特定のパターンを検出した箇所を正式な切り分け位置として決定する。ここに言う特定のパターンは種々考えられるが、本実施形態では、データを所定サイズずつ読み出して、その読み出したデータ値の増加/減少/一定の傾向を参照するものとする。具体的には、データをnバイト(nは自然数)ずつ読み出し、直前のnバイトのデータ値と現在のnバイトのデータ値との大小を順次比較してゆく。その上で、
(i)等しいデータ値が所定回数以上継続し、かつその後にデータ値が増加する立ち上がりまたは減少する立ち下がりが発生した箇所
(ii)データ値が減少する立ち下がり(または、増加する立ち上がり)が発生し、かつその後にデータ値が増加する立ち上がり(または、減少する立ち下がり)が発生した箇所
(iii)上記の(i)、(ii)の何れも成立することなく遷移範囲の限界に到達した暁には、データの読み出しを開始した仮の切り分け位置から所定バイト後方に遷移した箇所
を、正式な切り分け位置として決定する。遷移範囲の限界は、データの読み出しを開始した仮の切り分け位置から一定のバイトの範囲とするか、あるいは、現在参照しているセグメントの終端(即ち、次のセグメントの仮の切り分け位置若しくはファイルの終端)とする。
Next, data that continues backward from each temporarily determined separation position in the file is read, and a location where a specific pattern is detected is determined as a formal separation position. Various specific patterns can be considered here. In the present embodiment, data is read out by a predetermined size, and the increase / decrease / constant tendency of the read data value is referred to. Specifically, the data is read out by n bytes (n is a natural number), and the previous n-byte data value and the current n-byte data value are sequentially compared. Moreover,
(I) A location where the same data value continues for a predetermined number of times and thereafter a rising edge where the data value increases or a falling edge occurs (ii) A falling edge where the data value decreases (or an increasing rising edge) occurs And a portion where a rising edge (or a falling edge where the data value increases thereafter) occurs (iii) The transition range limit has been reached without any of the above (i) and (ii) In this case, a position where the data has been read from the provisional separation position from which data reading has started is determined to be a formal separation position. The limit of the transition range is the range of a certain byte from the tentative segmentation position at which data reading is started, or the end of the currently referenced segment (ie, the tentative segmentation position of the next segment or the file End).

正式な切り分け位置の決定の一例を、図4に示す。図4では、セグメントの仮の切り分け位置から2バイトずつ読み出しており、(ii)のパターンが出現した箇所を正式な切り分け位置と決定している。このように、セグメントの正式な切り分け位置は、ファイルの内実に応じて、仮の切り分け位置から後方に遷移し得る。   An example of the determination of the official carving position is shown in FIG. In FIG. 4, 2 bytes are read from the temporary segmentation position of the segment, and the place where the pattern (ii) appears is determined as the formal segmentation position. Thus, the formal segmentation position of the segment can transition backward from the provisional segmentation position according to the content of the file.

また、セグメント決定部102は、対象とするファイルがテキストを包含するものである場合、そのテキストだけを抽出してこれを複数のセグメントに分かつことができる。例えば、HTMLファイルであれば、所定のタグ(<title>タグ、<p>タグ、<a>タグ、等々)に挟まれている部分だけを抽出してテキストを得る。そして、抽出したテキストのサイズを計数し、このテキストを所定個数のセグメントに均等に分割する仮の切り分け位置を定め、その後に上記の手法にて正式な切り分け位置を決定する。   In addition, when the target file includes text, the segment determination unit 102 can extract only the text and divide it into a plurality of segments. For example, in the case of an HTML file, text is obtained by extracting only a portion sandwiched between predetermined tags (<title> tag, <p> tag, <a> tag, etc.). Then, the size of the extracted text is counted, a provisional cutting position for equally dividing the text into a predetermined number of segments is determined, and then the formal cutting position is determined by the above method.

固有値算定部103は、データ格納部101に格納している個々のファイルについて、セグメント決定部102で決定した切り分け位置で切り分けてなる複数の構成セグメントをそれぞれ所定の計算式に代入し、各セグメントの固有値を算定する。本実施形態では、固有値としてMD5(Message Digest algorithm 5)、SHA(Secure Hash Algorithm)等のハッシュ値を採用しており、切り分けた各セグメントをそれらのハッシュ関数に代入して、セグメントと同数のハッシュ値を算出する。   The eigenvalue calculation unit 103 substitutes a plurality of constituent segments obtained by segmentation at the segmentation positions determined by the segment determination unit 102 for each file stored in the data storage unit 101, respectively, into a predetermined calculation formula. Calculate eigenvalues. In the present embodiment, hash values such as MD5 (Message Digest algorithm 5) and SHA (Secure Hash Algorithm) are adopted as eigenvalues, and the same number of hashes as the segments are substituted for each segmented segment. Calculate the value.

既に述べた通り、対象とするファイルがテキストを包含するものである場合には、ファイルに含まれるテキストだけを抽出してセグメントに分けることができる。このときの固有値算定部103は、テキストを切り分けてなる各セグメントをハッシュ関数に代入して各セグメントのハッシュ値を算出する。つまり、テキストを包含するファイルからは、当該ファイルの全体に基づくハッシュ値と、当該ファイルの一部の要素であるテキストに基づくハッシュ値との二種類の固有値を得ることができる。以下、前者を全体セグメントハッシュ値、後者をテキストセグメントハッシュ値と呼称する。   As described above, when the target file includes text, only the text included in the file can be extracted and divided into segments. At this time, the eigenvalue calculation unit 103 calculates the hash value of each segment by substituting each segment obtained by cutting the text into a hash function. That is, two kinds of unique values, that is, a hash value based on the entire file and a hash value based on the text that is a part of the file, can be obtained from the file including the text. Hereinafter, the former is referred to as an entire segment hash value, and the latter is referred to as a text segment hash value.

固有値記憶部104は、メインメモリ1bまたは補助記憶デバイス1cの記憶領域を用いて、データ格納部101に格納している個々のファイルに係る構成セグメントのハッシュ値を記憶する。固有値記憶部104は、例えば、図5に示しているように、各ファイルから算出された所定個数の全体セグメントハッシュ値及び/またはテキストセグメントハッシュ値を、ファイル毎に、ファイルを識別する識別子、パス情報またはURI等に関連づけて記憶する。   The eigenvalue storage unit 104 stores the hash value of the constituent segment related to each file stored in the data storage unit 101 using the storage area of the main memory 1b or the auxiliary storage device 1c. For example, as shown in FIG. 5, the eigenvalue storage unit 104 stores a predetermined number of whole segment hash values and / or text segment hash values calculated from each file, an identifier for identifying the file, a path for each file, and the like. The information is stored in association with the URI or the like.

セグメント比較部105は、一のファイルの構成セグメントと他のファイルの構成セグメントとを比較する。セグメント比較部105は、固有値記憶部104に記憶している、一のファイルに係る構成セグメントのハッシュ値、他のファイルに係る構成セグメントのハッシュ値をそれぞれ読み出す。但し、対象となるファイルに係る構成セグメントのハッシュ値を固有値記憶部104が記憶していない、即ち当該ファイルに係る構成セグメントのハッシュ値を予め算出していないのであれば、当該ファイルに係る構成セグメントのハッシュ値を固有値算定部103に即時的に計算させてこれを用いる。   The segment comparison unit 105 compares the configuration segment of one file with the configuration segment of another file. The segment comparison unit 105 reads the hash value of the constituent segment related to one file and the hash value of the constituent segment related to another file, which are stored in the eigenvalue storage unit 104. However, if the eigenvalue storage unit 104 does not store the hash value of the configuration segment related to the target file, that is, if the hash value of the configuration segment related to the file is not calculated in advance, the configuration segment related to the file This hash value is immediately calculated by the eigenvalue calculation unit 103 and used.

そして、両ファイルのハッシュ値をセグメント毎に順次比較して、ハッシュ値が一致するセグメントの個数または割合を計数する。本実施形態では、各ファイルを10個のセグメントに分けるものとしている。そこで、比較する一のファイル及び他のファイルについて、ファイルの先頭から第1番目のセグメントのハッシュ値の比較、第2番目のセグメントのハッシュ値の比較、……、第9番目のセグメントのハッシュ値の比較、並びに最終となる第10番目のセグメントのハッシュ値の比較を行い、両者が一致した回数を計数する。   Then, the hash values of both files are sequentially compared for each segment, and the number or ratio of segments with the same hash value is counted. In this embodiment, each file is divided into 10 segments. Therefore, for one file and other files to be compared, the hash value of the first segment from the top of the file, the hash value of the second segment,..., The hash value of the ninth segment And the hash value of the final tenth segment are compared, and the number of times the two match is counted.

比較する一のファイル及び他のファイルがともにテキストを包含するものである場合、これらファイルのハッシュ値として全体セグメントハッシュ値及びテキストセグメントハッシュ値の二種類が存在する。従って、全体セグメントハッシュ値を比較することもでき、テキストセグメントハッシュ値を比較することもできる。   If one file to be compared and the other file both contain text, there are two types of hash values for these files: the whole segment hash value and the text segment hash value. Therefore, the entire segment hash value can be compared, and the text segment hash value can also be compared.

結果出力部106は、セグメント比較部105で計数した個数または割合の多寡に応じて一のファイルに対する他のファイルの類否を判断し、類似していると判断したファイルを指し示す情報を表示させる。一般に、ハッシュ値の一致するセグメント数xとファイルを分割するセグメントの総数yとの比x/yが大きいほど、両ファイルの類似度が高いと考えることができる。結果出力部106は、あるファイルとの比較の結果、比x/y(または、一致数x)が所定の閾値を上回るファイルについて、当該ファイルを識別する識別子、パス情報またはURI等を、類似データ検索装置1のディスプレイ1eまたは外部のコンピュータ2のディスプレイに表示させる。並びに、結果出力部106は、一のファイルに対する他のファイルの類似の度合いを表す値として、x/y(または、x)をも表示させる。結果の表示例を、図6に示す。   The result output unit 106 determines the similarity of the other files with respect to the one file according to the number or ratio counted by the segment comparison unit 105, and displays information indicating the files determined to be similar. In general, it can be considered that as the ratio x / y between the number of segments x having the same hash value and the total number y of segments into which the file is divided is larger, the similarity between both files is higher. As a result of the comparison with a certain file, the result output unit 106, for a file whose ratio x / y (or the number of matches x) exceeds a predetermined threshold, an identifier for identifying the file, path information, URI, etc. The information is displayed on the display 1e of the search device 1 or the display of the external computer 2. In addition, the result output unit 106 also displays x / y (or x) as a value representing the degree of similarity of another file with respect to one file. A display example of the result is shown in FIG.

比較する一のファイル及び他のファイルがともにテキストを包含するものである場合には、主としてテキストセグメントハッシュ値の一致数を両ファイルの類似度として扱う。これは、ファイルに含まれる他の種類のデータ要素に比して、テキストこそが情報として重要な要素であると推察されるからである。勿論、全体セグメントハッシュ値の一致数を両ファイルの類似度と見なしてもよい。あるいは、全体セグメントハッシュ値の一致数x1とテキストセグメントハッシュ値の一致数x2との重み付け和(w11+w22)を両ファイルの類似度と見なしてもよい。この重み付け和では、テキストセグメントハッシュ値に対する重みw2を全体セグメントハッシュ値に対する重みw1よりも大きくすることが好ましい。 When both the one file to be compared and the other file include text, the number of matches of the text segment hash value is mainly handled as the similarity between the two files. This is because text is presumed to be an important element of information compared to other types of data elements contained in the file. Of course, the number of matches of the entire segment hash value may be regarded as the similarity between both files. Alternatively, the weighted sum (w 1 x 1 + w 2 x 2 ) of the total segment hash value match number x 1 and the text segment hash value match number x 2 may be regarded as the similarity of both files. In this weighted sum, it is preferable that the weight w 2 for the text segment hash value is larger than the weight w 1 for the whole segment hash value.

以降、本実施形態の類似データ検索装置1が実行する処理手順の例を、図7ないし図9のフローチャートを参照して述べる。類似データ検索装置1は予め、データ格納部101に格納している個々のファイルを読み出して固有値を算定しておく。即ち、ファイルのサイズをセグメント総数で割った値からセグメントの切り分け位置を仮に定め(ステップS1)、その仮の切り分け位置から連続するデータを読んで特定のパターンが出現した箇所を正式な切り分け位置として決定する(ステップS2)。そして、正式な切り分け位置で切り分けた各セグメントから全体セグメントハッシュ値を算出して(ステップS3)、ファイル毎の全体セグメントハッシュ値を固有値記憶部104に記憶させる(ステップS4)。   Hereinafter, an example of a processing procedure executed by the similar data search device 1 of the present embodiment will be described with reference to the flowcharts of FIGS. The similar data search apparatus 1 reads out individual files stored in the data storage unit 101 in advance and calculates eigenvalues. That is, the segment segmentation position is provisionally determined from the value obtained by dividing the file size by the total number of segments (step S1), and the location where the specific pattern appears by reading continuous data from the provisional segmentation position is defined as the formal segmentation position. Determine (step S2). Then, an overall segment hash value is calculated from each segment carved at the official carving position (step S3), and the entire segment hash value for each file is stored in the eigenvalue storage unit 104 (step S4).

対象のファイルがテキストを包含しているのであれば(ステップS5)、そのテキストを抽出し(ステップS6)、抽出したテキストのサイズをセグメント総数で割った値からセグメントの切り分け位置を仮に定め(ステップS7)、その仮の切り分け位置から連続するテキストデータを読んで特定のパターンが出現した箇所を正式な切り分け位置として決定する(ステップS8)。そして、正式な切り分け位置で切り分けた各セグメントからテキストセグメントハッシュ値を算出して(ステップS9)、ファイル毎のテキストセグメントハッシュ値を固有値記憶部104に記憶させる(ステップS10)。   If the target file contains text (step S5), the text is extracted (step S6), and the segmentation position is temporarily determined from the value obtained by dividing the size of the extracted text by the total number of segments (step S6). S7), reading the continuous text data from the provisional segmentation position, and determining the location where the specific pattern appears as the formal segmentation position (step S8). Then, a text segment hash value is calculated from each segment cut at the formal cut position (step S9), and the text segment hash value for each file is stored in the eigenvalue storage unit 104 (step S10).

上記のステップS1ないしS10を、データ格納部101に格納している複数のファイルについて反復する(ステップS11)。これらステップS1ないしS11は、所定周期(例えば、一日)毎に実行する。但し、ファイルがデータ格納部101に書き込まれる際に、その書き込まれるファイルについてステップS1ないしS10を実行するようにしてもよい。   The above steps S1 to S10 are repeated for a plurality of files stored in the data storage unit 101 (step S11). These steps S1 to S11 are executed every predetermined cycle (for example, one day). However, when a file is written in the data storage unit 101, steps S1 to S10 may be executed for the file to be written.

しかして、類似データ検索装置1は、一のファイルと内容の類似している他のファイルを検索するべき旨の指令の入力を待ち受ける(ステップS12)。この検索指令は、操作入力デバイス1fを介して手入力されることもあれば、電気通信回線を介して接続している外部のコンピュータ2から送信されてくることもある。通常、検索指令には、検索クエリとなる一のファイルを指し示す識別子、パス情報またはURI等が含まれている。但し、一のファイルそれ自体が検索指令に含まれてアップロードされるということもあり得る。   Accordingly, the similar data search apparatus 1 waits for an input of a command to search for another file whose contents are similar to the one file (step S12). This search command may be manually input via the operation input device 1f or may be transmitted from an external computer 2 connected via a telecommunication line. Usually, a search command includes an identifier pointing to one file serving as a search query, path information, or a URI. However, it is possible that one file itself is included in the search command and uploaded.

類似データ検索装置1は、検索指令の手入力を受け付けまたは受信したとき、この検索指令に含まれた一のファイルの識別子、パス情報またはURI等に関連づけられている全体セグメントハッシュ値を固有値記憶部104から読み出す(ステップS13)。但し、一のファイルに係る全体セグメントハッシュ値が固有値記憶部104に記憶されていない場合には、ステップS1ないしS3に準じて、当該一のファイルをデータ格納部101から読み出しその全体セグメントハッシュ値を即時的に算出する。検索指令に一のファイル自体が含まれていた場合も、同様とする。   When the similar data search device 1 accepts or receives a manual input of a search command, the similar data search device 1 stores the entire segment hash value associated with the identifier, path information, URI, or the like of one file included in the search command as an eigenvalue storage unit. Read from 104 (step S13). However, when the entire segment hash value related to one file is not stored in the eigenvalue storage unit 104, the one file is read from the data storage unit 101 in accordance with steps S1 to S3, and the entire segment hash value is obtained. Calculate immediately. The same applies to the case where one file itself is included in the search command.

一のファイルがテキストを包含したものであり(ステップS14)、当該一のファイルに係るテキストセグメントハッシュ値が固有値記憶部104に記憶されている場合には、このテキストセグメントハッシュ値を固有値記憶部104から読み出す(ステップS15)。一のファイルに係るテキストセグメントハッシュ値が固有値記憶部104に記憶されていない場合には、ステップS6ないしS9に準じて、当該一のファイルをデータ格納部101から読み出しそのテキストセグメントハッシュ値を即時的に算出する。検索指令に一のファイル自体が含まれていた場合も、同様とする。   When one file includes text (step S14) and the text segment hash value related to the one file is stored in the eigenvalue storage unit 104, the text segment hash value is stored in the eigenvalue storage unit 104. (Step S15). When the text segment hash value related to one file is not stored in the eigenvalue storage unit 104, the one file is read from the data storage unit 101 in accordance with steps S6 to S9, and the text segment hash value is immediately obtained. To calculate. The same applies to the case where one file itself is included in the search command.

そして、類似データ検索装置1は、固有値記憶部104に記憶している、他のファイルに係る全体セグメントハッシュ値を読み出し(ステップS16)、これを一のファイルに係る全体セグメントハッシュ値と比較して、ハッシュ値が一致するセグメントの個数を計数する(ステップS17)。この一致数が所定の閾値を上回っていれば(ステップS18)、当該他のファイルを指し示す識別子、パス情報またはURI等並びに一致数を、メインメモリ1bまたは補助記憶デバイス1cに一時記憶する(ステップS19)。   Then, the similar data search device 1 reads the entire segment hash value related to another file stored in the eigenvalue storage unit 104 (step S16), and compares it with the entire segment hash value related to one file. The number of segments with matching hash values is counted (step S17). If the number of matches exceeds a predetermined threshold (step S18), an identifier indicating the other file, path information, URI, and the like and the number of matches are temporarily stored in the main memory 1b or the auxiliary storage device 1c (step S19). ).

また、一のファイル及び他のファイルがともにテキストを包含したものであり(ステップS20)、他のファイルに係るテキストセグメントハッシュ値が固有値記憶部104に記憶されている場合には、他のファイルに係るテキストセグメントハッシュ値を読み出し(ステップS21)、これを一のファイルに係るテキストセグメントハッシュ値と比較して、ハッシュ値が一致するセグメントの個数を計数する(ステップS22)。この一致数が所定の閾値を上回っていれば(ステップS23)、当該他のファイルを指し示す識別子、パス情報またはURI等並びに一致数を、メインメモリ1bまたは補助記憶デバイス1cに一時記憶する(ステップS24)。   If one file and the other file both include text (step S20), and the text segment hash value related to the other file is stored in the eigenvalue storage unit 104, the other file contains The text segment hash value is read (step S21), and this is compared with the text segment hash value related to one file, and the number of segments with the same hash value is counted (step S22). If the number of matches exceeds a predetermined threshold (step S23), an identifier indicating the other file, path information, URI, and the like and the number of matches are temporarily stored in the main memory 1b or the auxiliary storage device 1c (step S24). ).

上記のステップS16ないしS24を、データ格納部101に格納している複数のファイルについて反復する(ステップS25)。   The above steps S16 to S24 are repeated for a plurality of files stored in the data storage unit 101 (step S25).

その後、一時記憶した他のファイルの識別子、パス情報またはURI等を、一のファイルに類似するファイルを指し示す情報として出力する(ステップS26)。並びに、セグメントのハッシュ値の一致数を、類似の度合いを示す情報として出力する。ステップS26では、検索結果の情報を類似データ検索装置1のディスプレイ1eに表示させるか、あるいは、電気通信回線を介して接続している他のコンピュータ2に送信してこのコンピュータ2のディスプレイに表示させる。   Thereafter, the identifier, path information, URI, or the like of another temporarily stored file is output as information indicating a file similar to the one file (step S26). In addition, the number of matching hash values of the segments is output as information indicating the degree of similarity. In step S26, the search result information is displayed on the display 1e of the similar data search apparatus 1, or is transmitted to another computer 2 connected via a telecommunication line and displayed on the display of the computer 2. .

以上の処理手順は、ユーザが検索クエリとして指定した一のファイルに内容が類似しているファイルを探し出すものであったが、格納しているファイル群の中から互いに内容が類似しているファイルの組をおしなべて検出する処理を実施することも可能である。この場合には、データ格納部101に格納している個々のファイルを順次「一のファイル」としてステップS13ないしS25を反復的に実行し、その結果知得される内容が類似したファイルの組の情報(組をなす各ファイルを指し示す情報)を一覧表示する。   The above processing procedure is to search for a file whose contents are similar to the one file specified as a search query by the user. It is also possible to carry out a process for detecting all pairs. In this case, the individual files stored in the data storage unit 101 are sequentially set as “one file”, and Steps S13 to S25 are repeatedly executed. As a result, a set of files having similar contents can be obtained. Display a list of information (information indicating each file in the set).

本類似データ検索装置1は、ファイル以外に、ディレクトリ同士を比較した類否判断を実行することもできる。ディレクトリ同士を比較する場合には、各ディレクトリに属する一または複数のファイル及びディレクトリを並べ連ねて一個のデータ単位と見なし、そのデータ単位をセグメント化して比較する。   The similar data search apparatus 1 can also execute similarity determination by comparing directories in addition to files. When comparing directories, one or a plurality of files and directories belonging to each directory are arranged and regarded as one data unit, and the data units are segmented and compared.

本実施形態によれば、格納しているファイル群の中から内容が類似しているファイルを発見するためのものであって、ファイルを所定数または所定サイズの複数の構成セグメントに分ける切り分け位置を仮定し、その仮の切り分け位置から前方または後方に連続するデータを読んで特定のパターンを検出した箇所を正式な切り分け位置として決定するセグメント決定部102と、前記セグメント決定部102で決定した切り分け位置でファイルを切り分けてなる複数の構成セグメントをそれぞれ所定の計算式に代入し、各セグメントのハッシュ値を算定する固有値算定部103と、一のファイルに係る構成セグメントのハッシュ値と、他のファイルに係る構成セグメントのハッシュ値とを各セグメント毎に順次比較し、ハッシュ値が一致する構成セグメントの個数または割合を計数するセグメント比較部105と、前記セグメント比較部105で計数した個数または割合の多寡に応じて一のファイルに対する他のファイルの類否を判断し、類似していると判断したファイルを指し示す情報を表示させる結果出力部106とを具備する類似データ検索装置1を構成したため、ファイルに一部修正が加えられた場合において、その修正箇所を含むセグメントのみを拡大または縮小させ、その余の部分のセグメントは修正の前後を通じて同一に保つことが可能となる。結果、修正後のファイルと修正前のそれとを比較したときに、ハッシュ値が一致するセグメントの個数または割合が多くなり、両者の類似関係が適確に検出されるようになる。   According to the present embodiment, it is for finding a file having similar contents from the stored file group, and the dividing position for dividing the file into a plurality of constituent segments of a predetermined number or a predetermined size is provided. Assume that the segment determination unit 102 that reads the data continuous forward or backward from the provisional segmentation position and determines the location where the specific pattern is detected as the formal segmentation position, and the segmentation position determined by the segment determination unit 102 Substituting a plurality of constituent segments obtained by carving files into predetermined calculation formulas, the unique value calculating unit 103 for calculating the hash value of each segment, the hash value of the constituent segment related to one file, and other files The hash values of the constituent segments are compared sequentially for each segment, and the hash values match. The segment comparison unit 105 that counts the number or ratio of the generated segments and the similarity of other files with respect to one file are determined according to the number or ratio of the number or ratio counted by the segment comparison unit 105 and are similar. Since the similar data search apparatus 1 including the result output unit 106 that displays information indicating the determined file is configured, when a partial correction is made to the file, only the segment including the correction portion is enlarged or reduced. The remaining segments can be kept the same before and after the correction. As a result, when the corrected file and the uncorrected file are compared, the number or ratio of the segments having the same hash value increases, and the similarity between the two can be detected accurately.

また、本実施形態の類似データ検索装置1は、セグメントの切り分け位置を決定する特定のパターンを文字コードや改ページ記号等に依存しないものとしているため、テキスト以外のファイルをも処理することが可能である。   Further, the similar data search apparatus 1 of the present embodiment can process files other than text because the specific pattern for determining the segmentation position does not depend on the character code or the page break symbol. It is.

ファイルが特定の種類のデータ要素であるテキストとその他の種類のデータ要素とを包含している場合に、前記セグメント決定部102が、ファイルに含まれるテキストを抽出した上、これを所定数または所定サイズの複数の構成セグメントに分ける切り分け位置を仮定し、その仮の切り分け位置から前方または後方に連続するデータを読んで特定のパターンを検出した箇所を正式な切り分け位置として決定し、前記固有値算定部103が、前記セグメント決定部102で決定した切り分け位置で前記テキストを切り分けてなる複数の構成セグメントをそれぞれ所定の計算式に代入し、各セグメントのハッシュ値を算定することができるため、重要性の高いデータ要素であるテキストの内容に着目してファイル同士の類否判断を実施することが可能となる。   When the file includes text that is a specific type of data element and other types of data element, the segment determination unit 102 extracts the text included in the file, and then extracts the text from the text. Assuming a cutting position to be divided into a plurality of constituent segments of size, reading the continuous data forward or backward from the temporary cutting position and determining a position where a specific pattern is detected is determined as the formal cutting position, the eigenvalue calculation unit 103 is able to calculate the hash value of each segment by substituting a plurality of constituent segments obtained by segmenting the text at the segmentation position determined by the segment determination unit 102 into a predetermined calculation formula. Focus on the content of text, which is a high data element, and perform similarity determination between files It can become.

各ファイルについて予め前記固有値算定部103で算出したハッシュ値を記憶する固有値記憶部104をさらに具備し、前記セグメント比較部105が、前記固有値記憶部104に記憶している他のファイルに係る構成セグメントのハッシュ値を読み出してこれを一のファイルに係る構成セグメントのハッシュ値と比較するものとすれば、類否判断処理に際してファイルの構成セグメントのハッシュ値を演算する処理負荷または所要時間を軽減することができる。   Each file further includes an eigenvalue storage unit 104 that stores the hash value calculated in advance by the eigenvalue calculation unit 103, and the segment comparison unit 105 includes constituent segments related to other files stored in the eigenvalue storage unit 104. If the hash value of the file is read and compared with the hash value of the constituent segment related to one file, the processing load or time required for calculating the hash value of the constituent segment of the file in the similarity determination process is reduced. Can do.

なお、本発明は以上に詳述した実施形態に限られるものではない。上記実施形態では、セグメントの固有値としてハッシュ値を採用していたが、これに替えてチェックサムや巡回符号その他の誤り検出符号を固有値として採用してもよい。   The present invention is not limited to the embodiment described in detail above. In the above-described embodiment, the hash value is used as the eigenvalue of the segment. Instead, a checksum, a cyclic code, or other error detection code may be used as the eigenvalue.

上記実施形態では、セグメントの正式な切り分け位置を決定するときに、仮の切り分け位置から後方に連続するデータを読むようにしていたが、仮の切り分け位置から前方に連続するデータを読むようにしてもよい。この場合、セグメントの正式な切り分け位置は、仮の切り分け位置から前方に遷移し得る。   In the above-described embodiment, when the segmentation position of the segment is determined, the data continuous backward from the temporary segmentation position is read. However, the data continuous forward from the provisional segmentation position may be read. In this case, the formal segmentation position of the segment can transition forward from the temporary segmentation position.

上記実施形態では、データ格納部101に格納しているファイルの構成セグメントの固有値を予め算定し記憶しておくこととしていたが、固有値を演算する処理負荷または所要時間を度外視すれば、類似ファイルの検索処理の都度、各ファイルに係る固有値を算定することも可能である。データ格納部101に多数のファイルが格納されていると、固有値記憶部104の容量も大きくならざるを得ないが、このようにすることで固有値記憶部104が消費する記憶領域を節約することができる。故に、固有値記憶部104は必須の構成要素ではない。   In the above embodiment, the eigenvalues of the constituent segments of the file stored in the data storage unit 101 are calculated and stored in advance. However, if the processing load or required time for calculating eigenvalues is not taken into consideration, similar files It is also possible to calculate eigenvalues related to each file each time search processing is performed. If a large number of files are stored in the data storage unit 101, the capacity of the eigenvalue storage unit 104 is inevitably increased. However, by doing so, the storage area consumed by the eigenvalue storage unit 104 can be saved. it can. Therefore, the eigenvalue storage unit 104 is not an essential component.

前記特定の種類のデータ要素は、テキストには限定されない。ファイルに含まれている画像データや音声データ、またはファイルに付随するメタデータ等を抽出してセグメント化し、各セグメントの固有値を算出して類否判断に用いるようにしてもよい。   The specific type of data element is not limited to text. Image data and audio data included in the file, metadata attached to the file, or the like may be extracted and segmented, and a unique value of each segment may be calculated and used for similarity determination.

ファイル(または、ファイルから抽出される特定の種類のデータ要素)をセグメント化する仮の切り分け位置の決定手法も、上述した態様に限定されない。個々のファイルに適用する切り分け方のルールが一定である限り、どのように仮の切り分け位置を決定しても構わない。例えば、ファイルの構成セグメントの総数を一定とするのではなく、各構成セグメントのサイズを一定とすることが考えられる。ファイルを10kバイト単位のセグメントに分かつように仮の切り分け位置を定め、その仮の切り分け位置から前方または後方に連続するデータを読んで正式な切り分け位置を決定するようにしても、本発明ならではの顕著な効果を奏し得る。   A method for determining a provisional separation position for segmenting a file (or a specific type of data element extracted from the file) is not limited to the above-described mode. As long as the rules of the separation method applied to each file are constant, the provisional separation position may be determined in any way. For example, instead of keeping the total number of constituent segments of a file constant, it may be possible to make the size of each constituent segment constant. Even if the provisional separation position is determined so as to divide the file into 10-kbyte units, and the formal separation position is determined by reading data continuous forward or backward from the provisional separation position, it is unique to the present invention. It can have a remarkable effect.

また、仮の切り分け位置を決定する際に、全ての構成セグメントを均等なサイズに切り分けなくてもよい。ファイルを10個のセグメントに分ける際に、後半5個のセグメントのサイズを前半5個のセグメントの倍のサイズとするようなことも可能である。   Further, when determining the provisional separation position, it is not necessary to divide all the constituent segments into equal sizes. When the file is divided into 10 segments, the size of the last 5 segments can be double the size of the first 5 segments.

上記実施形態では、一のファイルと他のファイルとの類否判断の際に、それぞれのファイルを構成するセグメントの固有値が一致するか否かを各々比較していたが、セグメント自体を比較するようにしても構わない。このときの類似データ検索装置1は、図10に示すように、ファイルを所定数または所定サイズの複数の構成セグメントに分ける切り分け位置を仮定し、その仮の切り分け位置から前方または後方に連続するデータを読んで特定のパターンを検出した箇所を正式な切り分け位置として決定するセグメント決定部102と、一のファイルを前記セグメント決定部102で決定した切り分け位置で切り分けてなる複数の構成セグメントと、他のファイルを前記セグメント決定部102で決定した切り分け位置で切り分けてなる複数の構成セグメントとを各セグメント毎に順次比較し、内容が一致する構成セグメントの個数または割合を計数するセグメント比較部105と、前記セグメント比較部105で計数した個数または割合の多寡に応じて一のファイルに対する他のファイルの類否を判断し、類似していると判断したファイルを指し示す情報を表示させる結果出力部106とを具備するものとする。   In the above embodiment, when determining the similarity between one file and another file, whether or not the eigenvalues of the segments constituting each file match is compared, but the segments themselves are compared. It doesn't matter. As shown in FIG. 10, the similar data search device 1 at this time assumes a separation position for dividing a file into a plurality of constituent segments of a predetermined number or a predetermined size, and data that continues forward or backward from the temporary separation position. A segment determining unit 102 that determines a location where a specific pattern is detected as a formal segmentation position, a plurality of constituent segments that are segmented at the segmentation position determined by the segment determination unit 102, and other segments A segment comparison unit 105 that sequentially compares a plurality of constituent segments obtained by segmenting a file at the segmentation position determined by the segment determination unit 102 for each segment, and counts the number or proportion of constituent segments with the same content, Depending on the number or ratio of the numbers counted by the segment comparator 105 It determines kind whether other file to the file, shall be and a result display the information indicating the file which was judged to be similar output unit 106.

各ファイルが特定の種類のデータ要素と他の種類のデータ要素とを包含しているならば、前記セグメント決定部102が、ファイルに含まれる特定の種類のデータ要素を抽出した上、これを所定数または所定サイズの複数の構成セグメントに分ける切り分け位置を仮定し、その仮の切り分け位置から前方または後方に連続するデータを読んで特定のパターンを検出した箇所を正式な切り分け位置として決定し、前記セグメント比較部105が、一のファイルに含まれる特定の種類のデータ要素を前記セグメント決定部102で決定した切り分け位置で切り分けてなる複数の構成セグメントと、他のファイルに含まれる特定の種類のデータ要素を前記セグメント決定部102で決定した切り分け位置で切り分けてなる複数の構成セグメントとを各セグメント毎に順次比較できるものとする。   If each file includes a specific type of data element and another type of data element, the segment determination unit 102 extracts a specific type of data element included in the file and then determines this. Assuming a cutting position to divide into a plurality of constituent segments of a number or a predetermined size, determine the location where a specific pattern is detected by reading data continuous forward or backward from the temporary cutting position as the formal cutting position, The segment comparison unit 105 separates a specific type of data element included in one file at the segmentation position determined by the segment determination unit 102, and a specific type of data included in another file A plurality of constituent segments obtained by segmenting elements at the segmentation positions determined by the segment determination unit 102 It shall sequentially be compared for each segment.

さらには、図3または図10に示す各部の機能を複数のコンピュータに分散させ、それらの協働によって本発明に係る類似データ検索装置1を成立させることを妨げない。   Furthermore, the functions of the respective units shown in FIG. 3 or FIG. 10 are distributed to a plurality of computers, and it is not hindered that the similar data search device 1 according to the present invention is established by their cooperation.

その他、各部の具体的な構成や処理の手順等は、本発明の趣旨を逸脱しない範囲で種々変形が可能である。   In addition, the specific configuration of each unit, the processing procedure, and the like can be variously modified without departing from the spirit of the present invention.

本発明は、例えば、データ単位群の中から内容が類似しているデータ単位を発見するための検索装置として利用することができる。   The present invention can be used as, for example, a search device for finding data units having similar contents from a data unit group.

1…類似データ検索装置
102…セグメント決定部
103…固有値算定部
104…固有値記憶部
105…セグメント比較部
106…結果出力部
DESCRIPTION OF SYMBOLS 1 ... Similar data search apparatus 102 ... Segment determination part 103 ... Eigen value calculation part 104 ... Eigen value storage part 105 ... Segment comparison part 106 ... Result output part

Claims (6)

格納しているデータ単位群の中から内容が類似しているデータ単位を発見するためのものであって、
データ単位を所定数または所定サイズの複数の構成セグメントに分ける切り分け位置を仮定し、その仮の切り分け位置から前方または後方に連続するデータを読んで特定のパターンを検出した箇所を正式な切り分け位置として決定するセグメント決定部と、
前記セグメント決定部で決定した切り分け位置でデータ単位を切り分けてなる複数の構成セグメントをそれぞれ所定の計算式に代入し、各セグメントの固有値を算定する固有値算定部と、
一のデータ単位に係る構成セグメントの固有値と、他のデータ単位に係る構成セグメントの固有値とを各セグメント毎に順次比較し、固有値が一致する構成セグメントの個数または割合を計数するセグメント比較部と、
前記セグメント比較部で計数した個数または割合の多寡に応じて一のデータ単位に対する他のデータ単位の類否を判断し、類似していると判断したデータ単位を指し示す情報を表示させる結果出力部と
を具備し、
各データ単位は特定の種類のデータ要素と他の種類のデータ要素とを包含しているものであり、
前記セグメント決定部が、データ単位に含まれる特定の種類のデータ要素を抽出した上、これを所定数または所定サイズの複数の構成セグメントに分ける切り分け位置を仮定し、その仮の切り分け位置から前方または後方に連続するデータを読んで特定のパターンを検出した箇所を正式な切り分け位置として決定し、
前記固有値算定部が、前記セグメント決定部で決定した切り分け位置で前記特定の種類のデータ要素を切り分けてなる複数の構成セグメントをそれぞれ所定の計算式に代入し、各セグメントの固有値を算定する類似データ検索装置。
For finding data units whose contents are similar from the stored data unit group,
Assuming a separation position that divides a data unit into a predetermined number or a plurality of constituent segments of a predetermined size, a place where a specific pattern is detected by reading continuous data forward or backward from the provisional separation position is defined as a formal separation position. A segment determination unit to determine;
A plurality of constituent segments obtained by carving data units at the carving positions determined by the segment determining unit are respectively substituted into predetermined formulas, and an eigenvalue calculating unit that calculates eigenvalues of each segment;
A segment comparison unit that sequentially compares, for each segment, a unique value of a constituent segment related to one data unit and a unique value of a constituent segment related to another data unit, and counts the number or proportion of constituent segments that match the unique value;
A result output unit for determining the similarity of another data unit with respect to one data unit according to the number or ratio of the number counted by the segment comparison unit, and displaying information indicating the data unit determined to be similar; equipped with,
Each data unit contains a specific type of data element and other types of data elements,
The segment determination unit extracts a specific type of data element included in the data unit, and assumes a segmentation position that divides the data element into a plurality of constituent segments of a predetermined number or a predetermined size. The position where the specific pattern is detected by reading the continuous data behind is determined as the official carving position,
Similar data for calculating the eigenvalues of each segment by substituting a plurality of constituent segments obtained by carving out the specific types of data elements at the carving positions determined by the segment determining unit by the eigenvalue calculating unit. Search device.
前記特定の種類のデータ要素がテキストである請求項1記載の類似データ検索装置。 The similar data search apparatus according to claim 1 , wherein the specific type of data element is text . 各データ単位について予め前記固有値算定部で算出した固有値を記憶する固有値記憶部をさらに具備し、
前記セグメント比較部が、前記固有値記憶部に記憶している他のデータ単位に係る構成セグメントの固有値を読み出してこれを一のデータ単位に係る構成セグメントの固有値と比較する請求項1または2記載の類似データ検索装置。
Further comprising an eigenvalue storage unit for storing eigenvalues calculated in advance by the eigenvalue calculation unit for each data unit;
3. The segment comparison unit according to claim 1 or 2, wherein the segment comparison unit reads eigenvalues of constituent segments related to other data units stored in the eigenvalue storage unit and compares them with eigenvalues of constituent segments related to one data unit . Similar data retrieval device.
格納しているデータ単位群の中から内容が類似しているデータ単位を発見するためのものであって、
データ単位を所定数または所定サイズの複数の構成セグメントに分ける切り分け位置を仮定し、その仮の切り分け位置から前方または後方に連続するデータを読んで特定のパターンを検出した箇所を正式な切り分け位置として決定するセグメント決定部と、
一のデータ単位を前記セグメント決定部で決定した切り分け位置で切り分けてなる複数の構成セグメントと、他のデータ単位を前記セグメント決定部で決定した切り分け位置で切り分けてなる複数の構成セグメントとを各セグメント毎に順次比較し、内容が一致する構成セグメントの個数または割合を計数するセグメント比較部と、
前記セグメント比較部で計数した個数または割合の多寡に応じて一のデータ単位に対する他のデータ単位の類否を判断し、類似していると判断したデータ単位を指し示す情報を表示させる結果出力部と
を具備し、
各データ単位は特定の種類のデータ要素と他の種類のデータ要素とを包含しているものであり、
前記セグメント決定部が、データ単位に含まれる特定の種類のデータ要素を抽出した上、これを所定数または所定サイズの複数の構成セグメントに分ける切り分け位置を仮定し、その仮の切り分け位置から前方または後方に連続するデータを読んで特定のパターンを検出した箇所を正式な切り分け位置として決定し、
前記セグメント比較部が、一のデータ単位に含まれる特定の種類のデータ要素を前記セグメント決定部で決定した切り分け位置で切り分けてなる複数の構成セグメントと、他のデータ単位に含まれる特定の種類のデータ要素を前記セグメント決定部で決定した切り分け位置で切り分けてなる複数の構成セグメントとを各セグメント毎に順次比較する類似データ検索装置。
For finding data units whose contents are similar from the stored data unit group,
Assuming a separation position that divides a data unit into a predetermined number or a plurality of constituent segments of a predetermined size, a place where a specific pattern is detected by reading continuous data forward or backward from the provisional separation position is defined as a formal separation position. A segment determination unit to determine;
A plurality of constituent segments obtained by separating one data unit at the separation position determined by the segment determining unit and a plurality of constituent segments obtained by separating another data unit at the separation position determined by the segment determining unit. A segment comparison unit that sequentially compares each time and counts the number or proportion of constituent segments with the same content;
A result output unit for determining the similarity of another data unit with respect to one data unit according to the number or ratio of the number counted by the segment comparison unit, and displaying information indicating the data unit determined to be similar;
Comprising
Each data unit contains a specific type of data element and other types of data elements,
The segment determination unit extracts a specific type of data element included in the data unit, and assumes a segmentation position that divides the data element into a plurality of constituent segments of a predetermined number or a predetermined size. The position where the specific pattern is detected by reading the continuous data behind is determined as the official carving position,
The segment comparison unit is configured to segment a specific type of data element included in one data unit at a segmentation position determined by the segment determination unit, and a specific type of data element included in another data unit. A similar data search device that sequentially compares a plurality of constituent segments obtained by segmenting data elements at segmentation positions determined by the segment determination unit for each segment .
請求項1、2または3記載の類似データ検索装置を具現するために用いられるものであって、コンピュータを、It is used for embodying the similar data search device according to claim 1, 2, or 3, comprising a computer,
データ単位を所定数または所定サイズの複数の構成セグメントに分ける切り分け位置を仮定し、その仮の切り分け位置から前方または後方に連続するデータを読んで特定のパターンを検出した箇所を正式な切り分け位置として決定するセグメント決定部、Assuming a separation position that divides a data unit into a predetermined number or a plurality of constituent segments of a predetermined size, a place where a specific pattern is detected by reading continuous data forward or backward from the provisional separation position is defined as a formal separation position. The segment decision part to decide,
前記セグメント決定部で決定した切り分け位置でデータ単位を切り分けてなる複数の構成セグメントをそれぞれ所定の計算式に代入し、各セグメントの固有値を算定する固有値算定部、A plurality of constituent segments obtained by carving data units at the carving positions determined by the segment determining unit are substituted into predetermined calculation formulas, respectively, and an eigenvalue calculating unit that calculates eigenvalues of each segment,
一のデータ単位に係る構成セグメントの固有値と、他のデータ単位に係る構成セグメントの固有値とを各セグメント毎に順次比較し、固有値が一致する構成セグメントの個数または割合を計数するセグメント比較部、並びに、A segment comparison unit that sequentially compares, for each segment, a unique value of a constituent segment related to one data unit and a unique value of a constituent segment related to another data unit, and counts the number or proportion of constituent segments having the same unique value; and ,
前記セグメント比較部で計数した個数または割合の多寡に応じて一のデータ単位に対する他のデータ単位の類否を判断し、類似していると判断したデータ単位を指し示す情報を表示させる結果出力部A result output unit that determines the similarity of other data units with respect to one data unit according to the number or ratio of the numbers counted by the segment comparison unit, and displays information indicating the data units determined to be similar
として機能させ、Function as
各データ単位は特定の種類のデータ要素と他の種類のデータ要素とを包含しているものであり、Each data unit contains a specific type of data element and other types of data elements,
前記セグメント決定部が、データ単位に含まれる特定の種類のデータ要素を抽出した上、これを所定数または所定サイズの複数の構成セグメントに分ける切り分け位置を仮定し、その仮の切り分け位置から前方または後方に連続するデータを読んで特定のパターンを検出した箇所を正式な切り分け位置として決定し、The segment determination unit extracts a specific type of data element included in the data unit, and assumes a segmentation position that divides the data element into a plurality of constituent segments of a predetermined number or a predetermined size. The position where the specific pattern is detected by reading the continuous data behind is determined as the official carving position,
前記固有値算定部が、前記セグメント決定部で決定した切り分け位置で前記特定の種類のデータ要素を切り分けてなる複数の構成セグメントをそれぞれ所定の計算式に代入し、各セグメントの固有値を算定するプログラム。A program in which the eigenvalue calculation unit calculates a eigenvalue of each segment by substituting a plurality of constituent segments obtained by segmenting the specific types of data elements at the segmentation positions determined by the segment determination unit, respectively, into a predetermined calculation formula.
請求項4記載の類否データ検索装置を具現するために用いられるものであって、コンピュータを、
データ単位を所定数または所定サイズの複数の構成セグメントに分ける切り分け位置を仮定し、その仮の切り分け位置から前方または後方に連続するデータを読んで特定のパターンを検出した箇所を正式な切り分け位置として決定するセグメント決定部、
一のデータ単位を前記セグメント決定部で決定した切り分け位置で切り分けてなる複数の構成セグメントと、他のデータ単位を前記セグメント決定部で決定した切り分け位置で切り分けてなる複数の構成セグメントとを各セグメント毎に順次比較し、内容が一致する構成セグメントの個数または割合を計数するセグメント比較部、並びに、
前記セグメント比較部で計数した個数または割合の多寡に応じて一のデータ単位に対する他のデータ単位の類否を判断し、類似していると判断したデータ単位を指し示す情報を表示させる結果出力部
として機能させ、
各データ単位は特定の種類のデータ要素と他の種類のデータ要素とを包含しているものであり、
前記セグメント決定部が、データ単位に含まれる特定の種類のデータ要素を抽出した上、これを所定数または所定サイズの複数の構成セグメントに分ける切り分け位置を仮定し、その仮の切り分け位置から前方または後方に連続するデータを読んで特定のパターンを検出した箇所を正式な切り分け位置として決定し、
前記セグメント比較部が、一のデータ単位に含まれる特定の種類のデータ要素を前記セグメント決定部で決定した切り分け位置で切り分けてなる複数の構成セグメントと、他のデータ単位に含まれる特定の種類のデータ要素を前記セグメント決定部で決定した切り分け位置で切り分けてなる複数の構成セグメントとを各セグメント毎に順次比較するプログラム
What is used for embodying the similarity data search device according to claim 4, comprising:
Assuming a separation position that divides a data unit into a predetermined number or a plurality of constituent segments of a predetermined size, a place where a specific pattern is detected by reading continuous data forward or backward from the provisional separation position is defined as a formal separation position. The segment decision part to decide,
A plurality of constituent segments obtained by separating one data unit at the separation position determined by the segment determining unit and a plurality of constituent segments obtained by separating another data unit at the separation position determined by the segment determining unit. A segment comparison unit that sequentially compares every time and counts the number or proportion of constituent segments that match, and
A result output unit that determines the similarity of other data units with respect to one data unit according to the number or ratio of the numbers counted by the segment comparison unit, and displays information indicating the data units determined to be similar
Function as
Each data unit contains a specific type of data element and other types of data elements,
The segment determination unit extracts a specific type of data element included in the data unit, and assumes a segmentation position that divides the data element into a plurality of constituent segments of a predetermined number or a predetermined size. The position where the specific pattern is detected by reading the continuous data behind is determined as the official carving position,
The segment comparison unit is configured to segment a specific type of data element included in one data unit at a segmentation position determined by the segment determination unit, and a specific type of data element included in another data unit. A program for sequentially comparing, for each segment, a plurality of constituent segments obtained by segmenting data elements at the segmentation positions determined by the segment determination unit .
JP2009102704A 2009-04-21 2009-04-21 Similar data retrieval device and program thereof Active JP5291523B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009102704A JP5291523B2 (en) 2009-04-21 2009-04-21 Similar data retrieval device and program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009102704A JP5291523B2 (en) 2009-04-21 2009-04-21 Similar data retrieval device and program thereof

Publications (2)

Publication Number Publication Date
JP2010256951A JP2010256951A (en) 2010-11-11
JP5291523B2 true JP5291523B2 (en) 2013-09-18

Family

ID=43317833

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009102704A Active JP5291523B2 (en) 2009-04-21 2009-04-21 Similar data retrieval device and program thereof

Country Status (1)

Country Link
JP (1) JP5291523B2 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5861241B2 (en) 2010-03-12 2016-02-16 日清オイリオグループ株式会社 EXTERNAL SKIN COMPOSITION, COSMETIC, AND CLEANING AGENT
JP5971722B2 (en) * 2010-12-10 2016-08-17 国立大学法人豊橋技術科学大学 Method for determining transformation matrix of hash function, hash type approximate nearest neighbor search method using the hash function, apparatus and computer program thereof
WO2013108746A1 (en) * 2012-01-16 2013-07-25 日本電気株式会社 Search system, control method for same, and program
JPWO2013108745A1 (en) * 2012-01-16 2015-05-11 日本電気株式会社 Storage device, control method thereof, and program
JP2013149061A (en) 2012-01-19 2013-08-01 Nec Corp Document similarity evaluation system, document similarity evaluation method, and computer program
JP6340668B2 (en) * 2012-02-29 2018-06-13 グローバル ファイル システムズ ホールディングス、エルエルシー Stream recognition and filtering
JP2015530665A (en) * 2012-09-07 2015-10-15 ティヴァーサ アイピー インコーポレイテッド Snippet verification in file sharing networks
KR102172321B1 (en) 2014-05-20 2020-10-30 삼성전자주식회사 Method for data deduplication
CN112506796B (en) * 2020-12-21 2022-06-10 北京百度网讯科技有限公司 Data processing method, device, equipment and storage medium
US20230205736A1 (en) * 2021-12-24 2023-06-29 Vast Data Ltd. Finding similarities between files stored in a storage system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH056398A (en) * 1991-06-28 1993-01-14 Ricoh Co Ltd Document register and document retrieving device
JP4483049B2 (en) * 2000-08-18 2010-06-16 ヤマハ株式会社 Multimedia content registration system
JP4297345B2 (en) * 2004-01-14 2009-07-15 Kddi株式会社 Mass mail detection method and mail server
JP2008257444A (en) * 2007-04-04 2008-10-23 Nec Corp Similar file management device, method therefor and program therefor
WO2009048149A1 (en) * 2007-10-11 2009-04-16 Nec Corporation Electronic document equivalency decision system and equivalency decision method

Also Published As

Publication number Publication date
JP2010256951A (en) 2010-11-11

Similar Documents

Publication Publication Date Title
JP5291523B2 (en) Similar data retrieval device and program thereof
US6978419B1 (en) Method and apparatus for efficient identification of duplicate and near-duplicate documents and text spans using high-discriminability text fragments
US10169354B2 (en) Indexing and search query processing
US8838657B1 (en) Document fingerprints using block encoding of text
JP5138046B2 (en) Search system, search method and program
US20160055196A1 (en) Methods and systems for improved document comparison
JP4682284B2 (en) Document difference detection device
EP1826692A2 (en) Query correction using indexed content on a desktop indexer program.
US8645363B2 (en) Spreading comments to other documents
US8423885B1 (en) Updating search engine document index based on calculated age of changed portions in a document
US20180253439A1 (en) Characterizing files for similarity searching
US20110131212A1 (en) Indexing documents
US7284006B2 (en) Method and apparatus for browsing document content
US9235624B2 (en) Document similarity evaluation system, document similarity evaluation method, and computer program
US9524354B2 (en) Device, method, and program for processing data with tree structure
KR102076548B1 (en) Apparatus for managing document utilizing of morphological analysis and operating method thereof
CN110874526A (en) File similarity detection method and device, electronic equipment and storage medium
US9817913B2 (en) Method and apparatus for collecting, merging and presenting content
US8566366B2 (en) Format conversion apparatus and file search apparatus capable of searching for a file as based on an attribute provided prior to conversion
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
JP2010272006A (en) Relation extraction apparatus, relation extraction method and program
JP6488399B2 (en) Information presentation system and information presentation method
US9483463B2 (en) Method and system for motif extraction in electronic documents
JP2009271671A (en) Information processor, information processing method, program, and recording medium
JP2014235584A (en) Document analysis system, document analysis method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130418

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130423

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130513

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130604

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130607

R150 Certificate of patent or registration of utility model

Ref document number: 5291523

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250