JP5948304B2 - Cited document alteration detection device and method - Google Patents

Cited document alteration detection device and method Download PDF

Info

Publication number
JP5948304B2
JP5948304B2 JP2013229440A JP2013229440A JP5948304B2 JP 5948304 B2 JP5948304 B2 JP 5948304B2 JP 2013229440 A JP2013229440 A JP 2013229440A JP 2013229440 A JP2013229440 A JP 2013229440A JP 5948304 B2 JP5948304 B2 JP 5948304B2
Authority
JP
Japan
Prior art keywords
digest
document
character string
characters
cited
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
JP2013229440A
Other languages
Japanese (ja)
Other versions
JP2015090529A (en
Inventor
要 船越
船越  要
鷲崎 誠司
誠司 鷲崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2013229440A priority Critical patent/JP5948304B2/en
Publication of JP2015090529A publication Critical patent/JP2015090529A/en
Application granted granted Critical
Publication of JP5948304B2 publication Critical patent/JP5948304B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Machine Translation (AREA)
  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、引用文書改変検出装置及び方法に係り、特に、文書を引用する際に一部が改変されていることを検出するための引用文書改変検出装置及び方法に関する。   The present invention relates to a cited document modification detection apparatus and method, and more particularly to a cited document modification detection apparatus and method for detecting that a part of a document has been modified when quoting a document.

他の文書からの引用を判定する手法として、引用分析が用いられてきた。   Citation analysis has been used as a technique for determining citations from other documents.

特許文献1では、文書を引用可能なセグメントに分割し、それぞれのセグメントについてダイジェストを生成して連結した文字列を作成し、原典となる文書のDB内に保存された文書から同様にして得られた文字列と比較することで、当該原典からの引用を判定している。   In Patent Document 1, a document is divided into segments that can be cited, a digest is generated for each segment, a concatenated character string is created, and similarly obtained from a document stored in the original document DB. By comparing with the character string, the quotation from the original source is determined.

また、特許文献2では、ネットワークパケットの異常を検出するため、スライディングウィンドウと呼ばれる方法を使用している。これは、データのシーケンスに対して、セグメント分割するのではなく、一定のデータ長をウィンドウとし、移動する(スライドする)ウィンドウ内のデータに対する関数値から異常を検出するものである。これを文書に適用することで文書内の文字列をデータのシーケンスと見做し、一定のサイズのウィンドウを文書の先頭から移動させることで、ウィンドウごとの異常値を発見することができる。   In Patent Document 2, a method called a sliding window is used to detect an abnormality of a network packet. This is not to segment the data sequence, but to detect abnormalities from function values for data in a moving (sliding) window with a fixed data length as a window. By applying this to a document, a character string in the document is regarded as a data sequence, and an abnormal value for each window can be found by moving a window of a certain size from the top of the document.

また、特許文献3では、2つの文書間の類似度に基づいて引用判定を行っている。   In Patent Document 3, the citation determination is performed based on the similarity between two documents.

特開2010−182238号公報JP 2010-182238 A 特開2009−152712号公報JP 2009-152712 A 特開2009−205674号公報JP 2009-205694 A

図1、図2を例に従来の問題点について説明する。   Conventional problems will be described with reference to FIGS.

図1に示すような複数の文書の断片によって構成されている文書に対して引用判定を行うことを考える。図2に示すように、1つの断片は日本語で50文字程度であり、断片は文によっては分断されず、ランダムな位置で分断され、接続されている。また、原典の仮名が漢字に変換されていることがある。例えば、図2に示すように、原典(引用元)では「顧みて見る」であるが、同図の例では「顧みてみる」として一文字「見」が「み」と変換されて引用されている。このような文書では、文章を一部に着目すれば意味は通るが、全体では意味が通らないものの、キーワード検索でヒットしてしまう。   Consider a case in which citation determination is performed on a document composed of a plurality of document fragments as shown in FIG. As shown in FIG. 2, one fragment is about 50 characters in Japanese, and the fragment is not divided depending on the sentence but is divided and connected at random positions. In addition, the original kana may be converted to kanji. For example, as shown in FIG. 2, in the original (quoting source), it is “Looking back”, but in the example in the figure, the single character “Looking” is quoted as “Looking” as “Looking back”. Yes. In such a document, if a part of the sentence is focused, the meaning will pass, but the whole will not make sense, but it will be hit by a keyword search.

上記の特許文献1の方法を用いることで、明確にセグメント分割可能な文書に対しては有効に働くが、
(1)本発明が対象とするような、文の区切りを明らかに指定できないような文書ではセグメント分割が行えない;
(2)比較的短い文字列単位で引用されている場合には、引用されたことを判定しにくい;
という問題がある。
By using the method of Patent Document 1 above, it works effectively for documents that can be clearly segmented,
(1) Segmentation cannot be performed on a document that cannot clearly specify sentence breaks, such as those targeted by the present invention;
(2) When it is quoted in a relatively short character string unit, it is difficult to determine that it has been quoted;
There is a problem.

ここに、特許文献2のスライディングウィンドウを導入することで、文書内での任意の区間でダイジェストを作成することができ、文の区切りが明らかでない文書に対しても引用判定が可能となる。但し、以下の問題が残る。   Here, by introducing the sliding window of Patent Document 2, it is possible to create a digest in an arbitrary section in the document, and it is possible to make a citation determination even for a document where the sentence break is not clear. However, the following problems remain.

(1)適切なスライディングウィンドウの起点の選択基準が不明確である。   (1) The criteria for selecting an appropriate sliding window starting point is unclear.

(2)複数の文書が連続して引用されていることの判定が行えない。   (2) It cannot be determined that a plurality of documents are cited continuously.

(3)文書内に微少な修正が施されている時の判定が行えない。   (3) The determination cannot be made when a minute correction is made in the document.

(4)スライディングウィンドウ方式を使用すると、文書をセグメント分割する場合と比較して、ダイジェストを作成する区間数が増加するため、そのままダイジェストを作成すると、ダイジェストを保存するDBのサイズが爆発的に増大する。   (4) If the sliding window method is used, the number of sections in which the digest is created increases compared to the case where the document is segmented. Therefore, if the digest is created as it is, the size of the DB storing the digest will explode. To do.

(5)引用した文書の一部を改変している場合、例えば、文書中の1文字のみを改変している、または、少数の文字列を加えたような場合には引用と判定されない。   (5) When a part of the cited document is modified, for example, when only one character in the document is modified or a small number of character strings are added, it is not determined to be cited.

また、特許文献3の方法では、複数の文書の引用を想定していないため、複数の文書の断片によって構成される文書の引用判定は行えない。   In addition, since the method of Patent Document 3 does not assume citation of a plurality of documents, it cannot perform citation determination of a document composed of a plurality of document fragments.

スパムブログには、引用に際してランダムな文字列を加えるものや、文字の仮名−漢字の変換を行うものなどが存在し、ダイジェストを利用して文書の引用判定を行うアルゴリズムが十分に機能しない場合がある。   There are some spam blogs that add a random character string when quoting and those that convert kana-kanji characters, and the algorithm that uses the digest to determine the citation of a document may not function sufficiently. is there.

本発明は、上記の点に鑑みなされたもので、引用時に、引用元の文書の一部例えば、1文字のみ、あるいは、数文字のみ)の改変を判定することが可能な引用文書改変検出装置及び方法を提供することを目的とする。   The present invention has been made in view of the above points, and is a cited document modification detection device capable of determining modification of a part of a cited document, for example, only one character or only a few characters at the time of citation. And to provide a method.

一態様によれば、引用元の文書の一部が改変されていることを検出するための引用文書改変検出装置であって、
入力された文書の1つの文章から文字列区間を切り出し、該文字列区間の起点を決定し、該起点から一定文字数毎の文字列区間に対する文字列をハッシュ関数により変換したダイジェストを所定の文字数分スライドさせて該ダイジェストの文書ID及びダイジェスト集合をダイジェストDBに格納するダイジェスト計算手段と、
前記ダイジェストDBから前記ダイジェストを読み出し、ダイジェストの所定のウィンドウサイズwと文字列間隔の開始位置の許容誤差αが与えられると、w+αだけ離れた位置に同じ文書と共有のダイジェストを持つ文字列区間が検出された場合、該ウィンドウサイズw以下の改変があると判定する引用判定手段と、を有する引用文書改変検出装置を提供する。
According to one aspect, a cited document modification detection device for detecting that a part of a cited document is modified,
A character string section is cut out from one sentence of the input document, the starting point of the character string section is determined, and a digest obtained by converting a character string for the character string section for each fixed number of characters from the starting point by a hash function is obtained for a predetermined number of characters. Digest calculation means for sliding and storing the digest document ID and digest set in the digest DB;
When the digest is read from the digest DB and given a predetermined window size w of the digest and an allowable error α of the start position of the character string interval, a character string section having the same document and a shared digest is located at a position separated by w + α. There is provided a cited document alteration detection device having citation determination means for determining that there is an alteration of the window size w or less when detected.

一態様によれば、引用元の文字列から1文字だけ、または、n文字(n<ウィンドウサイズ)変更されているような場合であっても、引用パターンを分析することにより、当該引用元の文書の引用を検出することが可能となる。   According to one aspect, even if only one character or n characters (n <window size) are changed from the original character string, by analyzing the citation pattern, Document citations can be detected.

引用判定の対象文書の例である。It is an example of the target document of quotation determination. 対象文書の断片の例である。It is an example of a fragment of the target document. 本発明の基本的な考え方を示す図である。It is a figure which shows the fundamental view of this invention. 本発明の一実施の形態におけるダイジェスト作成例である。It is an example of digest creation in one embodiment of the present invention. 本発明の一実施の形態における引用文書改変検出装置の構成図である。It is a block diagram of the cited document modification | change detection apparatus in one embodiment of this invention. 本発明の一実施の形態における引用文書改変検出装置の全体のフローチャートである。It is the flowchart of the whole cited document change detection apparatus in one embodiment of this invention. 本発明の一実施の形態におけるダイジェストDBの例である。It is an example of digest DB in one embodiment of this invention. 本発明の一実施の形態におけるダイジェスト計算部の処理のフローチャートである。It is a flowchart of the process of the digest calculation part in one embodiment of this invention. 本発明の一実施の形態における単一文書のダイジェスト計算のアルゴリズムである。It is the algorithm of the digest calculation of the single document in one embodiment of this invention. 本発明の一実施の形態における単一文書のダイジェスト計算のフローチャート(S230の詳細)である。It is a flowchart (detail of S230) of the digest calculation of the single document in one embodiment of this invention. 本発明の一実施の形態における引用判定部のフローチャートである。It is a flowchart of the quotation determination part in one embodiment of this invention. 本発明の一実施の形態における一部改変の例である。It is an example of partial modification in one embodiment of the present invention. 本発明の一実施の形態における文書の一部が変更されている判定の例である。It is an example of the determination in which one part of the document in one embodiment of this invention was changed. 本発明の一実施の形態における照合テーブルの例である。It is an example of the collation table in one embodiment of this invention. 本発明の一実施の形態における形態素区切りを用いるときの引用文書改変検出を行うためのダイジェストDBの例である。It is an example of digest DB for performing the change detection of the cited document when using a morpheme division | segmentation in one embodiment of this invention. 本発明の一実施の形態における形態素区切りの場合の照合テーブル(一部改変で利用)の例である。It is an example of a collation table (used for partial modification) in the case of morpheme separation in one embodiment of the present invention.

以下、図面と共に本発明の実施の形態を説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

最初に、本明細書に用いられる用語について説明する。   First, terms used in this specification will be described.

・ダイジェスト:ある文字列が与えられたとき、その文字列をハッシュ関数によって短いバイト数(またはビット数)に変換したもの。   -Digest: When a certain character string is given, the character string is converted into a short number of bytes (or number of bits) by a hash function.

・ダイジェストサイズ:上記の短いバイト数。   • Digest size: The above short byte count.

・一致するダイジェスト:1つの文書に含まれる多くの文字列区間それぞれにダイジェストが生成されるが、ある文書から生成されるダイジェスト群の中に含まれ、他の文書のダイジェスト群の中にも出てくるダイジェスト。   -Matching digest: A digest is generated for each of many character string sections included in one document, but it is included in a digest group generated from one document and appears in the digest group of another document. The digest that comes.

・一致するダイジェスト数:2つのダイジェスト群の中で、一致するダイジェストの組の数。   -Number of matching digests: Number of sets of matching digests in the two digest groups.

本発明の概要を示す。   The outline | summary of this invention is shown.

図3は、本発明の基本的な考え方を示す。   FIG. 3 shows the basic idea of the present invention.

引用元A,B,Cの文書から引用先において、引用元の文書A,B,Cの一部を取り出してある文書を作成しているとする。   Assume that a document in which a part of the documents A, B, and C of the citation source is extracted from the documents of the citation sources A, B, and C is created.

既存手法では、文単位でセグメント分割してダイジェスト集合を作り、比較し、一致すれば同一の文であると判断する。しかし、引用先の文書が文の体をなしていないときは、特許文献1の技術によるセグメント分割ができない。   In the existing method, a digest set is created by segmenting in sentence units, compared, and if they match, it is determined that they are the same sentence. However, when the cited document does not form a sentence, segmentation by the technique of Patent Document 1 cannot be performed.

これに対し、本発明では、一組の文書の対について引用分析するのではなく、スライディングウィンドウを使用する際に、ウィンドウサイズと文字列の開始の差分を用いてウィンドウサイズ以下の文字列の改変を検出する。   On the other hand, in the present invention, when a sliding window is used instead of a citation analysis for a pair of documents, a character string smaller than the window size is modified using a difference between the window size and the start of the character string. Is detected.

本発明では、文書をより詳細な文字列区間に分割して、文字単位や形態素区切りを用いて起点を設定し、各起点から一定文字数ごとの文字列区間に対するダイジェストを作成する。図4に1つの文章から文字列区間を切り出し、ダイジェストを生成する例を示す。ここでは、文字列間の起点は1文字単位でずらすこととし、文字数は20文字とした。また、ダイジェストは文字列をUTF-8で表現したときのMD5ハッシュ値(非特許文献1:The MD5 Message-Digest Algorithm. http://tools.ietf.org/html/rfc1321)の上位32ビットの0からFまでの16進表現(例えば、"c595")を用いた例である。   In the present invention, a document is divided into more detailed character string sections, a starting point is set using character units and morpheme breaks, and a digest for a character string section for each predetermined number of characters is created from each starting point. FIG. 4 shows an example in which a character string section is cut out from one sentence and a digest is generated. Here, the starting point between character strings is shifted in units of one character, and the number of characters is 20. The digest is the upper 32 bits of the MD5 hash value (Non-Patent Document 1: The MD5 Message-Digest Algorithm. Http://tools.ietf.org/html/rfc1321) when the character string is expressed in UTF-8. This is an example using a hexadecimal representation from 0 to F (for example, “c595”).

このようにして作られたダイジェストを、順引き及び逆引きテーブルとしてダイジェストDBに保管する。   The digest created in this way is stored in the digest DB as a forward and reverse lookup table.

引用分析は、ウィンドウサイズ(w)と文字列間隔の開始位置の差分(α)が与えられ、ウィンドウサイズ以下の改変を検出するものであり、wとαを用いて、w+αだけ離れた位置に同じ文書と共有のダイジェストを持つ文字列区間が検出された場合、引用文の一部だけが変更されていると判定する。   In the citation analysis, the difference (α) between the window size (w) and the start position of the character string interval is given, and the alteration below the window size is detected. Using w and α, the position is separated by w + α. When a character string section having the same document and a shared digest is detected, it is determined that only a part of the quoted sentence has been changed.

以下、具体的に説明する。   This will be specifically described below.

図5は、本発明の一実施の形態における引用文書改変検出装置の構成を示す。   FIG. 5 shows a configuration of a cited document alteration detection apparatus according to an embodiment of the present invention.

同図に示す引用文書改変検出装置100は、ダイジェスト計算部110、引用判定部120、ダイジェストサイズ計算部130、ダイジェストサイズ選択テーブル140、ダイジェストDB150を有する。   The cited document modification detection apparatus 100 shown in the figure includes a digest calculation unit 110, a citation determination unit 120, a digest size calculation unit 130, a digest size selection table 140, and a digest DB 150.

図6は、本発明の一実施の形態における引用文書改変検出装置の全体の処理のフローチャートである。   FIG. 6 is a flowchart of the overall processing of the cited document alteration detection apparatus in one embodiment of the present invention.

ステップ100) ダイジェストサイズ計算部130において、想定される最大の文書数、引用判定されるための一致数(k)、誤検出確率の最大値を入力とし、ダイジェストサイズの計算を行う。ダイジェストサイズは大きくすると通常は巨大となる一方、小さくすると誤検出が発生しやすくなるため、ダイジェストサイズを抑えながら、誤検出が最小となるダイジェストサイズを求める必要がある。ダイジェストサイズ計算部130は、文書数(想定される最大の文書数)、引用判定するための一致数(k)及び誤検出確率の最大値(許容される誤検出確率(例えば、0.01%))から後述するダイジェストサイズ選択テーブル140を参照することにより求める。詳細な処理については後述する。   Step 100) The digest size calculation unit 130 calculates the digest size using the maximum number of documents assumed, the number of matches (k) for citation determination, and the maximum value of the false detection probability as inputs. If the digest size is increased, it usually becomes enormous, but if it is decreased, erroneous detection is likely to occur. Therefore, it is necessary to obtain a digest size that minimizes the erroneous detection while suppressing the digest size. The digest size calculation unit 130 determines the number of documents (the maximum number of documents assumed), the number of matches for citation determination (k), and the maximum false detection probability (allowable false detection probability (for example, 0.01%)). Is obtained by referring to a digest size selection table 140 described later. Detailed processing will be described later.

ステップ200)ダイジェスト計算部110は、文書DB101から文書を読み込み、ダイジェスト計算部110は、オペレータから入力された文書の文字列長、ダイジェスト対象とする区間の文字列長、文書におけるi+1番目の起点までの先頭からの文字数、文書dにおけるi文字目からw文字分の文字列、文字列xのダイジェストを算出するダイジェスト関数、ダイジェストサイズ計算部130から取得したダイジェストサイズに応じて各文書について文字列区間毎のダイジェストを計算する。詳細な処理については図8にて説明する。   Step 200) The digest calculation unit 110 reads a document from the document DB 101, and the digest calculation unit 110 reads the character string length of the document input from the operator, the character string length of the section to be digested, and the i + 1-th document. Characters for each document in accordance with the number of characters from the beginning to the starting point, a character string from the i-th character to the w-th character in the document d, a digest function for calculating the digest of the character string x, and the digest size obtained from the digest size calculation unit 130 Calculate the digest for each column interval. Detailed processing will be described with reference to FIG.

ステップ300) ダイジェスト計算部110は計算されたダイジェストをダイジェストDB150に格納する。   Step 300) The digest calculation unit 110 stores the calculated digest in the digest DB 150.

ダイジェストDB150は、順引きテーブル151と、逆引きテーブル152と、を有する。図7にダイジェストDB150の例を示す。同図(a)に順引きテーブル、同図(b)に逆引きテーブルを示す。   The digest DB 150 includes a forward lookup table 151 and a reverse lookup table 152. FIG. 7 shows an example of the digest DB 150. FIG. 2A shows a forward lookup table, and FIG. 2B shows a reverse lookup table.

順引きテーブル151は、文書IDをキーとし、作成日時、及びダイジェスト群を格納する。逆引きテーブル152は、ダイジェストをキーとし、対応する文書ID群を格納する。文書IDに加えて、文書における文字列区間の出現順も合わせて格納することができる。図7の例では、ダイジェストサイズは16ビットとし、ビット列は16進数で表現した。また、逆引きテーブル152においては、文書IDは出現順の組で表現している。   The forward lookup table 151 stores the creation date and the digest group using the document ID as a key. The reverse lookup table 152 stores a corresponding document ID group using the digest as a key. In addition to the document ID, the appearance order of the character string sections in the document can also be stored. In the example of FIG. 7, the digest size is 16 bits, and the bit string is expressed in hexadecimal. Further, in the reverse lookup table 152, the document IDs are expressed in pairs in the order of appearance.

ステップ400) 引用判定部120は、ダイジェストDB150から、同じダイジェストを持つ文字列区間を含む文書の集合を読み出す。   Step 400) The citation determination unit 120 reads a set of documents including a character string section having the same digest from the digest DB 150.

ステップ500) 引用判定部120は、オペレータから入力されたウィンドウサイズ(w)と文字列区間の開始位置の差分(α)、照合テーブル140を用いて、読み出された文書の集合のある文書と他の文書群との間の引用関係を計算する。詳細な処理については後述する。   Step 500) The citation determination unit 120 uses the window size (w) input from the operator, the difference (α) between the start positions of the character string sections, and the collation table 140 to identify a document with a set of read documents. Calculate citation relationships with other documents. Detailed processing will be described later.

ステップ600) 引用判定部120は、判定結果が「真」であった文書IDを出力する。   Step 600) The citation determination unit 120 outputs the document ID whose determination result is “true”.

上記の各処理について詳細に説明する。   Each of the above processes will be described in detail.

●ダイジェストサイズ計算部130の処理:
ここでは、ステップ100のダイジェストサイズ計算部130のダイジェストサイズの計算について説明する。
Process of digest size calculation unit 130:
Here, calculation of the digest size of the digest size calculation unit 130 in step 100 will be described.

本発明の実施に当たっては、ダイジェストDB150のサイズが巨大になる恐れがある。これは、ダイジェストDB150のサイズは、1つの文書あたりに作成されるダイジェストの数に影響されるため、スライディングウィンドウを用いると、文字列区間の数が、使用したウィンドウの数だけ必要になるためである。   In carrying out the present invention, the digest DB 150 may become huge in size. This is because the size of the digest DB 150 is affected by the number of digests created per document, so using a sliding window requires only the number of character string sections used. is there.

既存手法であれば文書を文単位に分割するため、仮に文の平均文字数が50文字であれば、ダイジェストサイズをgバイト、文書の平均長をwバイトとすれば、1つの文書あたりのダイジェストサイズはgw/50バイトとなっていた。例えば、ダイジェストサイズを5バイトとしても、文書あたりのダイジェストの合計サイズは、文書サイズの1/10で収まる。   If the existing method divides a document into sentence units, if the average number of characters in a sentence is 50 characters, the digest size per document is assumed if the digest size is g bytes and the average document length is w bytes. Was gw / 50 bytes. For example, even if the digest size is 5 bytes, the total digest size per document falls within 1/10 of the document size.

しかし、本発明では、スライディングウィンドウを使用するため、文字列区間の数が増えるとダイジェストの合計サイズが膨大になる。しかし、ダイジェストサイズを小さくすると、異なる文字列区間に対しても偶然同じダイジェストが与えられることになり、検出誤りが増大する。   However, since a sliding window is used in the present invention, the total size of digests becomes enormous as the number of character string sections increases. However, if the digest size is reduced, the same digest is accidentally given to different character string sections, and detection errors increase.

そこで、異なる文書に対して与えられたダイジェスト集合のうち、一定個数以上のダイジェストが一致した場合に、確率的に「偶然ではない」と判断することとする。   Therefore, when a certain number or more of the digest sets given to different documents match, it is determined probabilistically “not accidental”.

本発明では、ダイジェストサイズ、区間の起点の考え方、及び閾値を同時に考慮することで、ダイジェストDB150のサイズを最低限に抑える。   In the present invention, the size of the digest DB 150 is minimized by simultaneously considering the digest size, the concept of the starting point of the section, and the threshold value.

起点の考え方としては、
(1)1文字毎に起点とする(例えば、図4);
(2)形態素区切りを起点とする;
(3)ある程度の形態素のまとまりを起点とする;
(4)文の区切りを起点とする;
等が考えられる。但し、引用が文の構成を無視して行われることが多いため、(3)及び(4)は現実的ではない。そこで、(1)及び(2)について検討する。
As a starting point of view,
(1) Start each character (for example, FIG. 4);
(2) Starting from morpheme separation;
(3) Starting from a certain set of morphemes;
(4) Start with sentence breaks;
Etc. are considered. However, since citation is often performed ignoring the sentence structure, (3) and (4) are not realistic. Therefore, (1) and (2) are examined.

<定義>
・ダイジェストサイズをgバイトとする。
<Definition>
・ The digest size is g bytes.

・文書の文字数の平均をLバイトとする。   -The average number of characters in a document is L bytes.

・文書あたりの区間の数の平均をsとする。   • Let s be the average number of sections per document.

このとき、文書あたりに必要となるダイジェストの総バイト数はgsとなり、この値を小さくすることを目標とする。   At this time, the total number of digest bytes required per document is gs, and the goal is to reduce this value.

ダイジェストサイズを小さくすると、複数の文字列が同じダイジェストを持つことになり、引用判定の誤りが発生することになる。この確率を下げられれば、ダイジェストサイズを限界まで小さくすることができる。   If the digest size is reduced, a plurality of character strings have the same digest, and an citation determination error occurs. If this probability can be lowered, the digest size can be reduced to the limit.

文書dhには平均してs個の区間が含まれるため、文書のダイジェスト集合を(簡単のため){h1,h2,…,hn}と表現すると、任意のダイジェストがこの文書のダイジェスト集合に含まれる可能性は、p=s/2gと書ける。つまり、定数s(文書DB101の文書数に含まれる区間の平均)とダイジェストサイズg(バイト)が与えられることによりpが求められる。 Since the document d h contains s intervals on average, if the digest set of a document is expressed as {h 1 , h 2 ,..., H n } (for simplicity), an arbitrary digest is represented by this document. The possibility of being included in the digest set can be written as p = s / 2 g . That is, p is obtained by giving a constant s (an average of sections included in the number of documents in the document DB 101) and a digest size g (bytes).

ある文書に含まれるs個のダイジェストのうち、任意の1つが別のある文書に同時に出現する確率は、sp=s2/2gであり、任意のk個の別の文書に同時に出現する確率は以下のように書ける(sに比べてkは十分小さいものとする)。 Among the s digest included in a document, the probability that one arbitrary appearing simultaneously in the document with another, a sp = s 2/2 g, the probability of simultaneously occurring in any of the k different document Can be written as follows (assuming k is sufficiently smaller than s):

Figure 0005948304
この値が十分小さくなるように文書DB101に格納されている文書数(想定される最大の文書数)に応じて、pとkを選ぶことで、偶然を排除する。p、kは、ダイジェストサイズ計算部130によってgとkを選択し、gと文書DB101内の文書中に含まれる区間の数の平均sにより、p=s/2gによって求められる。上記の式(1)で求められた値がダイジェストサイズ選択テーブル140に格納される。
Figure 0005948304
By selecting p and k according to the number of documents stored in the document DB 101 (the maximum number of documents assumed) so that this value becomes sufficiently small, chances are eliminated. p and k are obtained by p = s / 2 g by selecting g and k by the digest size calculation unit 130, and g and the average s of the number of sections included in the document in the document DB 101. The value obtained by the above equation (1) is stored in the digest size selection table 140.

<形態素区切りを区間の起点とする場合>
形態素区切りを区間の起点とすると、1つの形態素あたりの文字列長を平均3文字と考えると、UTF-8では1文字が3バイトとなるため、
<When the morpheme break is the starting point of the section>
If the morpheme break is the starting point of the section, assuming that the average character string length per morpheme is 3 characters, one character is 3 bytes in UTF-8.

Figure 0005948304
である。例えば、文書の平均長が10キロバイトとすると、s=1111だが、簡単のため、
Figure 0005948304
It is. For example, if the average document length is 10 kilobytes, s = 1111, but for simplicity,

Figure 0005948304
とする。
Figure 0005948304
And

例えば、g=24(ビット)とするとp=1000/224=5.96×10-5
であるが、このとき、1つ以上のダイジェストが一致する確率は5.96×10-2となる。これは、文書数が20程度あれば、平均1回以上の誤検出を生じることを示している。
For example, if g = 24 (bits), p = 1000/2 24 = 5.96 x 10 -5
However, at this time, the probability that one or more digests match is 5.96 × 10 −2 . This indicates that if the number of documents is about 20, an average of one or more false detections occurs.

一致するダイジェスト数を増やす方向と、ダイジェストサイズを増やす方向から誤検出確率を下げることができる。   The false detection probability can be lowered from the direction of increasing the number of matching digests and the direction of increasing the digest size.

表1に、ダイジェスト数k及びダイジェストサイズgをそれぞれ増やした場合の誤検出確率を格納したダイジェストサイズ選択テーブル140の例を示す。表1の例は文書あたりのセグメント数を1000と仮定している。但し、gについて誤検出確率が10-13前後となるkまでに限定している。 Table 1 shows an example of the digest size selection table 140 that stores the false detection probability when the number of digests k and the digest size g are increased. The example in Table 1 assumes 1000 segments per document. However, it is limited to k where the misdetection probability is about 10 −13 for g.

Figure 0005948304
ダイジェストサイズを求める際には、ダイジェストサイズ選択テーブル140に対し、文書数の逆数に誤検出確率を乗じたものを基準とし、その数値よりもダイジェストサイズ選択テーブル140の値が小さくなるようなkとgの組み合わせを選択する。以下に詳述するが、例えば、文書数が100個、誤検出確率を1%(0.01=1/100)とすると、
1/100+1/100=1/10000=0.0001=10-4
を基準としてこれを下回るようなkとgの組み合わせを選択する。k=2であればg=24ビット、k=3であればg=20ビットが選択される。
Figure 0005948304
When obtaining the digest size, the digest size selection table 140 is based on the reciprocal of the number of documents multiplied by the false detection probability, and k is such that the digest size selection table 140 has a smaller value than the numerical value. Select a combination of g. As will be described in detail below, for example, if the number of documents is 100 and the probability of false detection is 1% (0.01 = 1/100),
1/100 + 1/100 = 1/10000 = 0.0001 = 10 -4
A combination of k and g that is less than this is selected. If k = 2, g = 24 bits are selected, and if k = 3, g = 20 bits are selected.

<具体的な値の設定>
実装に当たっては、一致する数kと誤検出確率の最大値に基づいて表1のダイジェストサイズ選択テーブル140のk行を横に走査し、その値が誤検出確率の最大値を下回ったとき、その列のビット数gの行の値をダイジェストサイズdsとして出力する。例えば、文書数を10億=109と仮定して、合計の誤検出確率を10-4(0.01%)未満とする場合は、10-13を閾値とし、これを下回る[g=20bit,k=6]、[g=24bit,k=4]、[g=28bit,k=3]、[g=32bit,k=2]のいずれかを用いればよい。
<Specific value settings>
In implementation, the row k of the digest size selection table 140 of Table 1 is scanned horizontally based on the matching number k and the maximum value of the false detection probability, and when the value falls below the maximum value of the false detection probability, The value of the row of the number of bits of the column g is output as the digest size ds. For example, assuming that the number of documents is 1 billion = 10 9 and the total false detection probability is less than 10 −4 (0.01%), the threshold is 10 −13 and falls below this [g = 20bit, k = 6], [g = 24bit, k = 4], [g = 28bit, k = 3], or [g = 32bit, k = 2] may be used.

また、引用される文書が、過去の一定期間内に限られると仮定すると、より小さな値が設定可能となる。例えば、対象文書数が100万=106であれば、合計の誤検出確率を10-4(0.01%)未満とすれば、10-10を閾値とし、[g=20bit,k=5]、[g=24bit,k=4]、[g=28bit,k=2]、[g=32bit,k=2]のいずれかを用い、誤検出確率未満のgの行の値をダイジェストサイズdsとすればよい。 Further, if it is assumed that the cited document is limited to a certain period in the past, a smaller value can be set. For example, if the number of target documents is 1 million = 10 6 and the total false detection probability is less than 10 -4 (0.01%), 10 -10 is set as a threshold, [g = 20bit, k = 5], Using either [g = 24bit, k = 4], [g = 28bit, k = 2], or [g = 32bit, k = 2], the value of the row of g less than the false detection probability is set as the digest size ds. do it.

上記の計算は、文書内での文字列区間の出現位置について考慮していないが、文字列位置を考慮すると、更に偶然性を排除できる。1つの文書について文字列区間の平均を1,000=103とすると、誤検出確率は10-6減少させられるため、表1の値を10-6倍すればよい。 The above calculation does not consider the appearance position of the character string section in the document. However, if the character string position is taken into account, chances can be further eliminated. If the average of the character string intervals for one document is 1,000 = 10 3 , the false detection probability is reduced by 10 −6, so the values in Table 1 may be multiplied by 10 −6 .

例えば、文書数を10億=109と仮定して、合計の誤検出確率を10-4(0.01%)未満とする(0.01%は許容できる誤検出確率)場合は、閾値は10-13を10-7と読み替えて、[g=16bit,k=6]、[g=20bit,k=4]、[g=24bit,k=3]、[g=28bit,k=2]、[g=32bit,k=2]のいずれかを用いればよい。 For example, assuming that the number of documents is 1 billion = 10 9 and the total false detection probability is less than 10 −4 (0.01%) (0.01% is an acceptable false detection probability), the threshold is 10 − 13 is replaced with 10 -7 , [g = 16bit, k = 6], [g = 20bit, k = 4], [g = 24bit, k = 3], [g = 28bit, k = 2], [ Any of g = 32bit, k = 2] may be used.

●ダイジェスト計算部110の処理:
次に、図6のステップ200におけるダイジェスト計算部110の処理について説明する。
Process of digest calculation unit 110:
Next, processing of the digest calculation unit 110 in step 200 of FIG. 6 will be described.

図8は、本発明の一実施の形態におけるダイジェスト計算部の処理のフローチャートである。   FIG. 8 is a flowchart of the process of the digest calculation unit in one embodiment of the present invention.

ダイジェスト計算部110は、文書DB101から1つの文書が読み出されると(ステップ220)、当該1つの文書についてダイジェスト計算を行い(ステップ230)、ダイジェストDB150に格納する(ステップ240)。これを繰り返すことで、文書DB101中の全ての文書についてダイジェストを計算する。   When one document is read from the document DB 101 (step 220), the digest calculation unit 110 performs digest calculation for the one document (step 230) and stores it in the digest DB 150 (step 240). By repeating this, the digest is calculated for all the documents in the document DB 101.

ステップ220における文書の読み出し時には、文書ID、文書の作成日時、及び文書(より厳密には文書の内容文字列)の3つ組が得られる。文書IDは、文書を同定できる記号であり、例えば、URL(Uniform Resource Locator)などのURI(Uniform Resource Identifier)の形式が使用される。   When the document is read out in step 220, a triplet of the document ID, the document creation date and time, and the document (more precisely, the content string of the document) is obtained. The document ID is a symbol that can identify the document. For example, a URI (Uniform Resource Identifier) format such as a URL (Uniform Resource Locator) is used.

なお、図8では全ての文書について一括してダイジェストを計算して格納しているが、一度処理を行ってダイジェストDB150に格納した文書については、再度処理をする必要はない。従って、一通り全ての文書についてダイジェストを計算した後は、新たな文書が文書DB101に格納されるタイミングでステップ220〜240の処理を行えばよい。   In FIG. 8, the digest is calculated and stored for all the documents at once. However, it is not necessary to process the document once processed and stored in the digest DB 150. Therefore, after the digest is calculated for all the documents, the processing of steps 220 to 240 may be performed at the timing when a new document is stored in the document DB 101.

ステップ230の単一文書のダイジェスト計算のアルゴリズムを図9に、フローチャートを図10に示す。図9,図10に示す処理は、読み出した文書の1つの文章から文字列区間を切り出し、ダイジェストを生成する例を示す。ここで、文字列区間の起点は図4に示すように1文字単位でずらすこととし、文字数は20文字とした。つまり、図9において、w=20であり、任意のi番目の文書d,iについてnext(d,i)=i+1である。ここでは、1文字単位でずらす例を示しているが、1文字単位に限定されるものではない。但し、粒度は細かい方が厳密に判定することが可能である。また、比較する文書間のダイジェストのずらす文字単位は同じであること、形態素解析結果による区切りを用いて起点を揃える必要がある。形態素解析結果を用いて起点を揃えることによりダイジェストDB150に格納するデータ量を圧縮することが可能となる。   FIG. 9 shows an algorithm for digest calculation of a single document in step 230, and FIG. 10 shows a flowchart. The processing shown in FIGS. 9 and 10 shows an example in which a character string section is cut out from one sentence of a read document and a digest is generated. Here, the starting point of the character string section is shifted by one character unit as shown in FIG. 4, and the number of characters is 20 characters. That is, in FIG. 9, w = 20, and next (d, i) = i + 1 for any i-th document d, i. Here, an example of shifting in units of one character is shown, but the present invention is not limited to one unit of characters. However, the finer the particle size, the more precisely it can be determined. In addition, the character units shifted by the digests between the documents to be compared are the same, and it is necessary to align the starting points by using a delimiter based on the morphological analysis result. By aligning the starting points using the morphological analysis results, the amount of data stored in the digest DB 150 can be compressed.

また、ダイジェスト(digest)は、文字列をUTF-8で表現したときのMD5ハッシュ値(非特許文献1参照)の上位16位ビットの16進数表現を用いている。また、1つの文章から切り出す文字列区間は、形態素解析した形態素区切りの直後を用いることで、文字ずれがおきにくくなり、同粒度で比較が可能となる。   The digest uses the hexadecimal representation of the upper 16 bits of the MD5 hash value (see Non-Patent Document 1) when the character string is expressed in UTF-8. Also, by using the character string section cut out from one sentence immediately after the morpheme segmentation obtained by the morphological analysis, it becomes difficult for character deviation to occur, and comparison can be made with the same granularity.

ダイジェスト計算部110は、ダイジェストサイズ計算部130からダイジェストサイズdsを取得し、文字列xのダイジェストサイズdsを用いてダイジェスト関数(digest(x,ds))を算出する(ステップ231)。当該ダイジェスト関数は1ビットでも異なると全く異なる結果となる一方向性の関数である。   The digest calculation unit 110 obtains the digest size ds from the digest size calculation unit 130, and calculates the digest function (digest (x, ds)) using the digest size ds of the character string x (step 231). The digest function is a one-way function that results in completely different results even if one bit is different.

文書dの文字列長を(length(d))、ダイジェスト対象とする区間の文字列長を(w)、次の区間までの文字数(next(d,i))、文書dにおけるi文字目からw文字分の文字列(部分文字列)を(substr[(d,i,w),ds])ハッシュによるダイジェストを(digest)とする(ステップ232)。   The character string length of the document d is (length (d)), the character string length of the section to be digested is (w), the number of characters up to the next section (next (d, i)), the i-th character in the document d A character string (partial character string) corresponding to w characters is set to (distr) as a digest by hash (substr [(d, i, w), ds]) (step 232).

インデックス値(idx)の初期値を0とし(ステップ233)、ダイジェスト集合(digest)を空集合とする(ステップ234)。   The initial value of the index value (idx) is set to 0 (step 233), and the digest set (digest) is set to an empty set (step 234).

ダイジェスト計算部110は、ダイジェスト関数(digest(x,ds))と入力された上記のパラメータから文書dにおけるi文字目からw文字分の文字列(substr[(d,i,w),ds])のハッシュ値(hash)を求め(ステップ235)、ハッシュ値をダイジェスト集合に加える(digest←digest∪{hash})(ステップ236)。i=i+1とし(ステップ237)、next(d,i)があれば(ステップ238,Yes)、ステップ235に移行し、ない場合は(ステップ238,No)、ダイジェスト集合(digest)をダイジェストDB150に出力する(ステップ239)。   The digest calculation unit 110 obtains a character string (substr [(d, i, w), ds]) from the i-th character in the document d based on the digest function (digest (x, ds)) and the input parameters. ) Is obtained (step 235), and the hash value is added to the digest set (digest ← digest∪ {hash}) (step 236). If i = i + 1 (step 237) and next (d, i) exists (step 238, Yes), the process proceeds to step 235. If not (step 238, No), the digest set (digest) is digested. The data is output to the DB 150 (step 239).

ダイジェストDB150は、図7に示したように、順引きテーブル151と逆引きテーブル152から構成されている。ダイジェスト計算部110は、ダイジェスト集合の各要素について、読み出した文書の文書ID、作成日時、ダイジェスト群を抽出して順引きテーブル151に格納する。また、ダイジェストをキーとして、当該ダイジェストに対応する文書ID群を逆引きテーブル152に格納する。このとき、文書における文字列区間の出現順も合わせて格納することが可能である。図7の逆引きテーブル151の例では、ダイジェスト"0abc"に対応する文書ID"http://example.com/00002,2"の後に"http://example.com/00003,1"が存在しており、時系列順に格納されていることを示している。   The digest DB 150 includes a forward lookup table 151 and a reverse lookup table 152 as shown in FIG. The digest calculation unit 110 extracts the document ID, creation date and time, and digest group of the read document for each element of the digest set, and stores them in the forward lookup table 151. Also, the document ID group corresponding to the digest is stored in the reverse lookup table 152 using the digest as a key. At this time, the order of appearance of the character string sections in the document can also be stored. In the example of the reverse lookup table 151 of FIG. 7, “http://example.com/00003,1” exists after the document ID “http://example.com/00002,2” corresponding to the digest “0abc”. This indicates that the data are stored in chronological order.

また、引用判定処理において、形態素区切りを用いる場合には、順引きテーブル151'に、ダイジェストが文書の先頭から何文字目であるかについての情報を加える。   Also, in the citation determination process, when morpheme breaks are used, information about the number of characters from the beginning of the document is added to the forward lookup table 151 ′.

●引用判定部120の処理:
次に、図6のステップ500の引用判定処理について説明する。
● Processing of citation determination unit 120:
Next, the citation determination process in step 500 of FIG. 6 will be described.

図11は、本発明の一実施の形態における引用判定処理部の処理のフローチャートである。   FIG. 11 is a flowchart of the processing of the citation determination processing unit in one embodiment of the present invention.

引用判定部120は、メモリ(図示せず)上の引用判定が「真」となったスパム集合Sを初期化(φ)し、ウィンドウサイズ(w)と文字列区間の開始位置の差分(α)を取得し、ておき(ステップ410)、ダイジェストDB150の順引きテーブル151から取得した文書iの文書IDに基づいて、逆引きテーブル152から当該文書IDに対応するダイジェスト集合を読み出し(ステップ430)、ダイジェストの文書内位置に基づいて、照合テーブル121を参照し、wとαを用いて引用文が一部だけ改変されていることを判定し(ステップ440)、判定結果が「真」であれば(ステップ460,Yes)、スパム集合Sに文書iを追加する(ステップ460)。このときスパム集合Sに追加するダイジェストサイズの情報を順引きテーブル151から取得して追加する。ダイジェストDB150の全ての文書についての処理が終了したら(ステップ420,No)、スパム集合Sを出力する(ステップ470)。   The citation determination unit 120 initializes (φ) the spam set S in which the citation determination on the memory (not shown) is “true”, and the difference between the window size (w) and the start position of the character string section (α ) (Step 410), and the digest set corresponding to the document ID is read from the reverse lookup table 152 based on the document ID of the document i obtained from the forward lookup table 151 of the digest DB 150 (step 430). Based on the position of the digest in the document, the collation table 121 is referred to, and it is determined that only a part of the quoted sentence has been modified using w and α (step 440), and the determination result is “true”. If so (step 460, Yes), the document i is added to the spam set S (step 460). At this time, digest size information to be added to the spam set S is acquired from the forward lookup table 151 and added. When processing for all documents in the digest DB 150 is completed (step 420, No), the spam set S is output (step 470).

上記のステップ440における引用判定部120の処理について説明する。   The processing of the citation determination unit 120 in step 440 will be described.

引用元の文字列から1文字だけ、または、n(n<w)文字変更されている場合に、その文字を含んだ区間ではダイジェストが一致しないが、その文字を含んだ区間を外れると、再度ダイジェストが一致することになる。例えば、図12に示すように、引用元が
『もろこしわがちょうにもろもろの』
であり、引用先では
『もろこしわがちゃうにもろもろの』
のように1文字だけ変更されている場合を考える。これを形態素解析すると、
「もろこし」「わが」「ちゃう」「に」「もろもろ」「の」
となる。例えば、与えられたウィンドウサイズが5である場合に、ダイジェストv(1)の後のダイジェストv(2)、ダイジェストv(3)は、引用元の「ちゃう」が引用先では「ちょう」に変換されているため、引用元の文字列と一致しないが、ダイジェストv(4)、ダイジェストv(5)は引用元の文字列と一致する。なお、上記のウィンドウサイズ(w)は形態素解析結果の平均値または最大値を用いるものとする。
If only one character or n (n <w) characters have been changed from the original character string, the digest does not match in the section that includes the character. The digest will match. For example, as shown in Figure 12, the source of the quote is “Morokoshiwaga Momoro”
And in the quote, “Morough and wrinkled”
Consider a case where only one character is changed as shown in FIG. When this is morphologically analyzed,
“Morokoshi” “My” “Chau” “Ni” “Moromo” “No”
It becomes. For example, when the given window size is 5, the digest v (2) and digest v (3) after the digest v (1) are converted from “Cha” of the citation source to “Cho” in the citation destination. Therefore, it does not match the character string of the citation source, but the digest v (4) and the digest v (5) match the character string of the citation source. Note that the average or maximum value of the morphological analysis results is used as the window size (w).

図12をモデル化した例を図13に示す。図13に示すように、ウィンドウサイズ(w)+文字列区間の開始位置の差分(α)(図9のNext関数で表される)だけ離れた位置に、同じ文書(図13では「文書1」)と共通のダイジェストを持つ文字列区間が検出される。 引用判定部120は、文書内位置に基づいて照合テーブル121を参照し、以下の(1)〜(3)のすべての条件を満たす場合には、文書が一部改変されていると判断する。照合テーブル121は、図14に示すように、文書内位置と一致候補が格納されている。   An example of modeling FIG. 12 is shown in FIG. As shown in FIG. 13, the same document (“Document 1” in FIG. 13) is located at a position separated by the window size (w) + the difference (α) of the start position of the character string section (represented by the Next function in FIG. 9). )) And a character string section having a common digest. The citation determination unit 120 refers to the collation table 121 based on the position in the document, and determines that the document has been partially modified when all of the following conditions (1) to (3) are satisfied. As shown in FIG. 14, the collation table 121 stores in-document positions and matching candidates.

(1)ある文書との連続したダイジェストの一致:一致候補の文書内位置が連続していることで、連続したダイジェストであること。   (1) Consecutive digest matches with a certain document: The digest position is a continuous digest because the matching candidate positions in the document are continuous.

(2)(1)で一致した文書と、不一致区間を挟んで、再度連続したダイジェストの一致:同じ一致候補の文書内位置が、不一致区間を挟んで再度連続していることで、不一致区間を挟んで再度連続していること。   (2) Matching between the document that matched in (1) and the digest that is continued again across the mismatched section: The position of the same matching candidate in the document is continued again across the mismatched section. It must be continuous again.

(3)(1)と(2)に挟まれた不一致区間の文字数がウィンドウサイズ+許容誤差(α)であること。   (3) The number of characters in the inconsistent section between (1) and (2) is the window size + allowable error (α).

図14の照合テーブル140の場合は、文書ウィンドウサイズが10の場合、(1)文書内位置0から3までが文書"0002"と一致しており、(2)文書内位置13以降が"0002"と一致しており、(3)その不一致区間の文字長が10であり、これがウィンドウサイズに一致しているため、文書"0002"が1文字だけ改変されていると判定する。   In the case of the collation table 140 of FIG. 14, when the document window size is 10, (1) the positions 0 to 3 in the document match the document “0002”, and (2) the positions after the position 13 in the document are “0002”. (3) Since the character length of the non-matching section is 10, which matches the window size, it is determined that the document “0002” is altered by only one character.

上記の判定では、文字列区間を1文字ずつずらす場合を示したが、以下に形態素区切りでずらす場合について説明する。   In the above determination, the case where the character string section is shifted one character at a time has been described. The case where the character string section is shifted by morpheme division will be described below.

形態素区切りで引用判定する場合は、ダイジェスト計算部110において、ダイジェストDB150を生成する際に、図7の順引きテーブル151に、形態素解析結果に基づく文書先頭からの文字数を加えた構成とする。各ダイジェストの元となった文字列区間の開始位置が、文書先頭から何文字目に書かれているかが記載される。その例を図15に示す。図15ダイジェストDB150の例では、文書IDhttp://example.com/00001のダイジェスト"c595"は先頭(0)であり、"d03e"は先頭から3文字目であり、"ea79"は先頭から7文字目であることを示す。   When citation determination is performed using morpheme breaks, when the digest calculation unit 110 generates the digest DB 150, the number of characters from the beginning of the document based on the morpheme analysis result is added to the forward lookup table 151 in FIG. The number of characters from which the start position of the character string section that is the basis of each digest is written from the top of the document is described. An example is shown in FIG. In the example of FIG. 15 digest DB 150, the digest “c595” of the document ID http://example.com/00001 is the top (0), “d03e” is the third character from the top, and “ea79” is 7 from the top. Indicates the character.

さらに、形態素区切りを用いる場合の照合テーブルの例を図16に示す。当該照合テーブル121'は、図14の照合テーブル121に、文書内位置に対応させて文書先頭からの文字数の情報も加えられている。   Further, FIG. 16 shows an example of a collation table when morpheme separation is used. In the collation table 121 ′, information on the number of characters from the beginning of the document is added to the collation table 121 of FIG. 14 in association with the position in the document.

形態素区切りにおける引用判定の場合には、ダイジェストDB150'の順引きテーブル151'から取得した文書iの文書IDに基づいて、逆引きテーブル152'から当該文書IDに対応するダイジェスト集合を読み出し、照合テーブル121'の文書先頭からの文字数及び一致候補を参照して、当該文書と他の文書と連続した不一致区間が、文字数としてウィンドウサイズ+αだけ不一致となっていることで判定する。   In the case of citation determination in morpheme separation, the digest set corresponding to the document ID is read from the reverse lookup table 152 ′ based on the document ID of the document i acquired from the forward lookup table 151 ′ of the digest DB 150 ′, and the collation table With reference to the number of characters from the document head 121 ′ and matching candidates, it is determined that the mismatching section that continues between the document and another document is mismatched by the window size + α as the number of characters.

上記の図5に示す引用文書改変検出装置の構成要素の動作をプログラムとして構築し、引用文書改変検出装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。   The operation of the constituent elements of the cited document modification detection device shown in FIG. 5 can be constructed as a program, installed in a computer used as the cited document modification detection device, executed, or distributed via a network. It is.

本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。   The present invention is not limited to the above-described embodiments, and various modifications and applications are possible within the scope of the claims.

100 引用文書改変検出装置
101 文書DB
110 ダイジェスト計算部
120 引用判定部
121,121' 照合テーブル
130 ダイジェストサイズ計算部
140 ダイジェストサイズ選択テーブル
150,150' ダイジェストDB
151,151' 順引きテーブル
152,152' 逆引きテーブル
100 Cited Document Modification Detection Device 101 Document DB
110 Digest Calculation Unit 120 Citation Determination Unit 121, 121 ′ Collation Table 130 Digest Size Calculation Unit 140 Digest Size Selection Table 150, 150 ′ Digest DB
151, 151 ′ forward lookup table 152, 152 ′ reverse lookup table

Claims (6)

引用元の文書の一部が改変されていることを検出するための引用文書改変検出装置であって、
入力された文書の1つの文章から文字列区間を切り出し、該文字列区間の起点を決定し、該起点から一定文字数毎の文字列区間に対する文字列をハッシュ関数により変換したダイジェストを所定の文字数分スライドさせて該ダイジェストの文書ID及びダイジェスト集合をダイジェストDBに格納するダイジェスト計算手段と、
前記ダイジェストDBから前記ダイジェストを読み出し、ダイジェストの所定のウィンドウサイズwと文字列間隔の開始位置の許容誤差αが与えられると、w+αだけ離れた位置に同じ文書と共有のダイジェストを持つ文字列区間が検出された場合、該ウィンドウサイズw以下の改変があると判定する引用判定手段と、
を有することを特徴とする引用文書改変検出装置。
A cited document modification detection device for detecting that a part of a cited document is modified,
A character string section is cut out from one sentence of the input document, the starting point of the character string section is determined, and a digest obtained by converting a character string for the character string section for each fixed number of characters from the starting point by a hash function is obtained for a predetermined number of characters. Digest calculation means for sliding and storing the digest document ID and digest set in the digest DB;
When the digest is read from the digest DB and given a predetermined window size w of the digest and an allowable error α of the start position of the character string interval, a character string section having the same document and a shared digest is located at a position separated by w + α. Citation determination means for determining that there is a modification of the window size w or less if detected;
A cited document alteration detection device comprising:
文書内位置と一致候補となる文書IDを格納した照合テーブルを更に有する装置において、
前記引用判定手段は、
前記ダイジェストを1文字単位でずらした場合の文書内位置に基づいて、前記照合テーブルを参照し、
ある文書との連続したダイジェストの一致する(条件1);
前記条件1で一致した文書と、不一致区間を挟んで、再度連続したダイジェストの一致する(条件2);
前記条件1と前記条件2に挟まれた不一致区間の文字数がウィンドウサイズに前記許容誤差αを加えた数であること(条件3);
の全ての条件を満たす場合に、複数の文書が連続して引用されていると判定する手段を含む
請求項1記載の引用文書改変検出装置。
In an apparatus further having a collation table storing document IDs that are candidates for matching with positions in the document,
The citation determination means includes
Based on the position in the document when the digest is shifted by one character unit, refer to the collation table,
Match a continuous digest with a document (condition 1);
A document that matches on the condition 1 and a digest that continues again across the non-matching section match (condition 2);
The number of characters in the inconsistent section between the condition 1 and the condition 2 is a number obtained by adding the allowable error α to the window size (condition 3);
The cited document modification detection apparatus according to claim 1, further comprising means for determining that a plurality of documents are cited continuously when all of the conditions are satisfied.
前記ダイジェストDBは、ダイジェストの文書先頭からの文字数を含み、
前記引用判定手段は、
文書内位置と一致候補となる文書ID、ダイジェストの文書先頭からの文字数を格納した照合テーブルを更に有し、
前記ダイジェストを形態素区切りでずらした場合の文書位置に基づいて、前記照合テーブルを参照し、
ある文書と他の文書と連続した不一致区間が、文字数としてウィンドウサイズに所定の許容誤差を加えたサイズだけ不一致である場合は、複数の文書が連続して引用されていると判定する手段を含む
請求項1記載の引用文書改変検出装置。
The digest DB includes the number of characters from the beginning of the digest document,
The citation determination means includes
It further has a collation table that stores the document ID that is a candidate for matching with the position in the document, the number of characters from the beginning of the document in the digest,
Based on the document position when the digest is shifted by morpheme separation, refer to the collation table,
A means for determining that a plurality of documents are cited consecutively when a non-matching section continuous with a certain document and another document is non-matching by a size obtained by adding a predetermined allowable error to the window size as the number of characters; The cited document alteration detection device according to claim 1.
引用元の文書の一部が改変されていることを検出するための引用文書改変検出方法であって、
ダイジェスト計算手段、ダイジェストDB、引用判定手段を有する装置において、
前記ダイジェスト計算手段が、入力された文書の1つの文章から文字列区間を切り出し、該文字列区間の起点を決定し、該起点から一定文字数毎の文字列区間に対する文字列をハッシュ関数により変換したダイジェストを所定の文字数分スライドさせて該ダイジェストの文書ID及びダイジェスト集合を前記ダイジェストDBに格納するダイジェスト計算ステップと、
前記引用判定手段が、前記ダイジェストDBから前記ダイジェストを読み出し、ダイジェストの所定のウィンドウサイズwと文字列間隔の開始位置の許容誤差αが与えられると、w+αだけ離れた位置に同じ文書と共有のダイジェストを持つ文字列区間が検出された場合、該ウィンドウサイズw以下の改変があると判定する引用判定ステップと、
を行うことを特徴とする引用文書改変検出方法。
A cited document modification detection method for detecting that a part of a cited document is modified,
In an apparatus having digest calculation means, digest DB, and citation determination means,
The digest calculation means cuts out a character string section from one sentence of the input document, determines the starting point of the character string section, and converts the character string for the character string section for each fixed number of characters from the starting point by a hash function. Digest calculation step of sliding the digest by a predetermined number of characters and storing the digest document ID and the digest set in the digest DB;
The citation determination unit reads the digest from the digest DB, and given a digest digest with a predetermined window size w and an allowable error α of the start position of the character string interval, the same document and a shared digest are separated at a position separated by w + α. A citation determination step for determining that there is a modification of the window size w or less when a character string section having
A method for detecting the alteration of a cited document, characterized in that:
文書内位置と一致候補となる文書IDを格納した第1の照合テーブルを更に有する装置において、
前記引用判定ステップにおいて、
前記ダイジェストの文書内位置に基づいて、前記第1の照合テーブルを参照し、
ある文書との連続したダイジェストの一致する(条件1);
前記条件1で一致した文書と、不一致区間を挟んで、再度連続したダイジェストの一致する(条件2);
前記条件1と前記条件2に挟まれた不一致区間の文字数がウィンドウサイズに前記許容誤差αを加えた数であること(条件3);
の全ての条件を満たす場合に、複数の文書が連続して引用されていると判定する
請求項4記載の引用文書改変検出方法。
In an apparatus further comprising a first collation table storing document IDs that are candidates for matching with positions in the document,
In the citation determination step,
Based on the position of the digest in the document, refer to the first collation table,
Match a continuous digest with a document (condition 1);
A document that matches on the condition 1 and a digest that continues again across the non-matching section match (condition 2);
The number of characters in the inconsistent section between the condition 1 and the condition 2 is a number obtained by adding the allowable error α to the window size (condition 3);
The cited document alteration detection method according to claim 4, wherein when all the conditions are satisfied, it is determined that a plurality of documents are cited continuously.
文書内位置と一致候補となる文書ID、ダイジェストの文書先頭からの文字数を格納した第2の照合テーブルを更に有する装置において、
前記ダイジェストDBは、ダイジェストの文書先頭からの文字数を含み、
前記引用判定ステップにおいて、
前記ダイジェストを形態素区切りでずらした場合の文書位置に基づいて、前記第2の照合テーブルを参照し、
ある文書と他の文書と連続した不一致区間が、文字数としてウィンドウサイズに所定の許容誤差を加えたサイズだけ不一致である場合は、複数の文書が連続して引用されていると判定する
請求項4記載の引用文書改変検出方法。
In the apparatus further comprising a second collation table that stores the document ID that is a candidate for matching with the position in the document, and the number of characters from the beginning of the digest document,
The digest DB includes the number of characters from the beginning of the digest document,
In the citation determination step,
Based on the document position when the digest is shifted by morpheme separation, refer to the second collation table,
5. If a non-matching section that is continuous with a certain document and another document is non-matching by a size obtained by adding a predetermined allowable error to the window size as the number of characters, it is determined that a plurality of documents are cited continuously. The cited document alteration detection method described.
JP2013229440A 2013-11-05 2013-11-05 Cited document alteration detection device and method Active JP5948304B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013229440A JP5948304B2 (en) 2013-11-05 2013-11-05 Cited document alteration detection device and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013229440A JP5948304B2 (en) 2013-11-05 2013-11-05 Cited document alteration detection device and method

Publications (2)

Publication Number Publication Date
JP2015090529A JP2015090529A (en) 2015-05-11
JP5948304B2 true JP5948304B2 (en) 2016-07-06

Family

ID=53194039

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013229440A Active JP5948304B2 (en) 2013-11-05 2013-11-05 Cited document alteration detection device and method

Country Status (1)

Country Link
JP (1) JP5948304B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111625787B (en) * 2020-05-21 2023-04-25 杭州尚尚签网络科技有限公司 OFD-based multi-version traceable quick signature verification method for electronic signature

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4831787B2 (en) * 2009-02-09 2011-12-07 日本電信電話株式会社 Citation detection device, its program and recording medium
US10585975B2 (en) * 2012-03-02 2020-03-10 Github Software Uk Ltd. Finding duplicate passages of text in a collection of text

Also Published As

Publication number Publication date
JP2015090529A (en) 2015-05-11

Similar Documents

Publication Publication Date Title
CN109241274B (en) Text clustering method and device
US8527436B2 (en) Automated parsing of e-mail messages
WO2016180268A1 (en) Text aggregate method and device
RU2474870C1 (en) Method for automated analysis of text documents
WO2012112944A2 (en) Managing unwanted communications using template generation and fingerprint comparison features
JP2006004417A (en) Method and device for recognizing specific type of information file
US10311218B2 (en) Identifying machine-generated strings
CN109445844B (en) Code clone detection method based on hash value, electronic equipment and storage medium
CN113901474B (en) Vulnerability detection method based on function-level code similarity
Gaglani et al. Unsupervised whatsapp fake news detection using semantic search
US20150186502A1 (en) Method and apparatus and computer readable medium for computing string similarity metric
CN110019640B (en) Secret-related file checking method and device
CN106569989A (en) De-weighting method and apparatus for short text
US20180165174A1 (en) Message analysis apparatus, message analysis method, and storage medium
JP4831787B2 (en) Citation detection device, its program and recording medium
US10339297B2 (en) Determining whether continuous byte data of inputted data includes credential
JP5948304B2 (en) Cited document alteration detection device and method
JP5906229B2 (en) Continuous citation determination apparatus and method
Zhang et al. Effective and Fast Near Duplicate Detection via Signature‐Based Compression Metrics
CN112612810A (en) Slow SQL statement identification method and system
Wurzenberger et al. Creating character-based templates for log data to enable security event classification
JP5906228B2 (en) Automatic configuration document determination apparatus and method
US11481369B2 (en) System and method for fingerprinting-based conversation threading
CN111159996B (en) Short text set similarity comparison method and system based on text fingerprint algorithm
KR101881797B1 (en) Multipattern policy detection system and method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150225

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160119

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160210

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: 20160531

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160606

R150 Certificate of patent or registration of utility model

Ref document number: 5948304

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150