JP6561529B2 - 文書検査装置、方法、及びプログラム - Google Patents

文書検査装置、方法、及びプログラム Download PDF

Info

Publication number
JP6561529B2
JP6561529B2 JP2015064889A JP2015064889A JP6561529B2 JP 6561529 B2 JP6561529 B2 JP 6561529B2 JP 2015064889 A JP2015064889 A JP 2015064889A JP 2015064889 A JP2015064889 A JP 2015064889A JP 6561529 B2 JP6561529 B2 JP 6561529B2
Authority
JP
Japan
Prior art keywords
feature elements
list
hash value
feature
document
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.)
Expired - Fee Related
Application number
JP2015064889A
Other languages
English (en)
Other versions
JP2016184334A (ja
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015064889A priority Critical patent/JP6561529B2/ja
Priority to EP16152542.3A priority patent/EP3073390A1/en
Priority to US15/009,162 priority patent/US20160283472A1/en
Publication of JP2016184334A publication Critical patent/JP2016184334A/ja
Application granted granted Critical
Publication of JP6561529B2 publication Critical patent/JP6561529B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/194Calculation of difference between files

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、文書の類似性を検証する技術に関する。
或るテキストデータが別のテキストデータから流用されたか否かは、テキストデータの特徴量を比較することで検知することができる。特徴量とは、テキストデータの特徴に相当するデータのことであり、そのテキストデータから抽出される。
特徴量を使用すれば、例えば、機密データの持ち出しを効率的に検知することができる。具体的には、機密データの特徴量を予め登録しておき、機密データの特徴量と、持ち出したことが疑われるデータの特徴量とを比較することで、持ち出しが行われたことを効率的に検知できる。
特徴量を使用したデータの比較に関しては、以下のような技術が知られている。具体的には、或る文献は、通信データに含まれるキー文から算出したハッシュコードと、秘密文書に含まれる文から算出したハッシュコードとに基づき、通信データに秘密情報が含まれるか判定する技術を開示する。この技術によれば、ハッシュコードの一致を判定することによって流用を検知できるため、処理が高速化される。一方で、文単位での比較を行うため、文章の形式の相違(例えば、句読点或いは空白の有無など)から影響を受けやすく、検知漏れが発生しやすい。
また、或る文献は、テキストデータにおけるキーワードから算出したハッシュ値を比較することによって文書の類似性を判定する技術を開示する。この技術においては、キーワード単位での比較を行うため、文章の形式の相違から影響を受けにくく、検知漏れが発生しにくい。また、使用するキーワードの数を変更することで、文書毎に算出される特徴量のサイズ(ここでは、ハッシュ値の合計サイズ)を容易に変更することができる。一方で、キーワード単位の比較だけでは本当に流用が行われたか判定できず、他に類似度を計算する処理等を行うことになるため、処理に時間がかかる。
その他の文献に記載の技術も、上記文献に記載の技術と同様、総合的に優れた検知技術であるとは言えない。
特開2006−065837号公報 特開2010−182238号公報 特開2010−231766号公報
従って、本発明の目的は、1つの側面では、高精度で高速に文書の類似性を検証するための技術を提供することである。
本発明に係る文書検査装置は、複数の文字列の各々について、当該文字列における複数の特徴要素を含むリストを生成する生成部と、リストに含まれる複数の特徴要素の一部から算出したハッシュ値に基づき、リストを、各々が1又は複数の特徴要素を含む複数のブロックに分割する分割部と、複数のブロックの各々についてハッシュ値を求める算出部と、算出部が求めたハッシュ値を、文字列間で比較する比較部とを有する。
1つの側面では、高精度で高速に文書の類似性を検証できるようになる。
図1は、第1の実施の形態における情報処理装置の機能ブロック図である。 図2は、文書データ格納部に格納されるデータの一例を示す図である。 図3は、第1の実施の形態におけるメインの処理フローを示す図である。 図4は、リスト格納部に格納されるリストの一例を示す図である。 図5は、サブリスト格納部に格納されるリストの一例を示す図である。 図6は、特徴データ格納部に格納されるデータの一例を示す図である。 図7は、文書のデータ及び文書IDの一例を示す図である。 図8は、特徴データ格納部に格納されるデータ一例を示す図である。 図9は、文書のデータ及び文書IDの一例を示す図である。 図10は、抽出部が実行する処理の処理フローを示す図である。 図11は、抽出結果格納部に格納されるデータの一例を示す図である。 図12は、第2の実施の形態における文書検査装置の機能ブロック図である。 図13は、第2の実施の形態におけるメインの処理フローを示す図である。 図14は、コンピュータの機能ブロック図である。
特徴量は、精度面および効率面の両方から評価される。
精度面においては、特徴量のロバスト性が評価される。ロバスト性とは、たとえ生データが完全に一致しなくても流用が行われたことを検知できる性質のことであり、現実的には、特徴量がある程度のロバスト性を備えることが好ましい。例えばビジネス文書の場合、論文形式においては文の区切りに句点が使われることが多いが、スライド形式においては文単位で箇条書きにされることが多い。従って、文の区切りの方法によらず流用を検知できる程度のロバスト性を備えた特徴量であることが好ましい。また、機械的なファイルフォーマット変換(例えば、PDF(Portable Document Format)化など)をすると、文の出現順序が変わったり、空白文字が増えたりする場合があるが、そういった場合においても流用を検知できる程度のロバスト性を備えることが好ましい。
効率面においては、比較効率及びサイズ調整のし易さが評価される。比較効率とは、或るテキストデータが別のどのテキストデータから流用されたものであるか決定する際の効率のことであり、比較効率が良いほど決定までに要する時間が短い。サイズ調整のし易さとは、特徴量のサイズの変更のし易さのことである。たとえば、特徴量のサイズを元のテキストデータのサイズの約1割にしたい場合、容易に実現できることが好ましい。
以下に示す実施の形態においては、ロバスト性、比較効率、及びサイズ調整という3つの評価観点において総合的に優れた特徴量をテキストデータから抽出する方法及び特徴量の比較方法について説明する。
[実施の形態1]
図1に、第1の実施の形態における情報処理装置1の機能ブロック図を示す。情報処理装置1は、文書データ格納部101と、リスト生成部103と、リスト格納部105と、サブリスト生成部107と、サブリスト格納部109と、登録部111と、特徴データ格納部113と、抽出部115と、抽出結果格納部117とを含む。
リスト生成部103は、文書データ格納部101に格納されたデータに基づき処理を実行し、処理結果をリスト格納部105に格納する。サブリスト生成部107は、リスト格納部105に格納されたデータに基づき処理を実行し、処理結果をサブリスト格納部109に格納する。登録部111は、サブリスト格納部109に格納されたデータに基づき処理を実行し、処理結果を特徴データ格納部113に格納する。抽出部115は、特徴データ格納部113に格納されたデータに基づき処理を実行し、処理結果を抽出結果格納部117に格納する。
図2に、文書データ格納部101に格納されるデータの一例を示す。図2の例では、或る文書のデータ及び文書ID(IDentifier)が格納される。図2の例では1つの文書についてデータが格納されているが、文書データ格納部101には複数の文書についてデータが格納されてもよい。文書のデータは、文書IDによって識別される。文書のデータは、テキストデータ及びその他のメタデータ等を含む。
次に、図3乃至図11を用いて、情報処理装置1が実行する処理について説明する。処理が開始される前に、リスト格納部105に格納されたデータ及びサブリスト格納部109に格納されたデータは削除されるものとする。
まず、リスト生成部103は、情報処理装置1のユーザから文書のデータ及び文書IDの入力を受け付け、文書データ格納部101に格納する(図3:ステップS1)。文書IDは、文書を特定できるデータであればよく、例えば、ファイルパス、日時、ユーザ名、及びファイル名といったデータを組み合わせたデータである。
リスト生成部103は、ステップS1において文書データ格納部101に格納された文書のデータからテキストデータを抽出する(ステップS3)。図2の例であれば、枠内における「照明から照射する・・・実現します。」という文章のデータがテキストデータに該当する。テキストデータの抽出には、例えばソフトウエア「Apache Tika」を利用することができる。なお、テキストデータを抽出する技術はよく知られているので、ここでは詳細な説明を省略する。
リスト生成部103は、ステップS3において抽出されたテキストデータに対して形態素解析を行い、特徴要素を抽出する(ステップS5)。本実施の形態においては、特徴要素は単語であり、好ましくは名詞である。
リスト生成部103は、ステップS5において抽出された特徴要素を含むリストを生成し、リスト格納部105に格納する(ステップS7)。図4に、リスト格納部105に格納されるリストの一例を示す。図4の例では、テキストデータに含まれる名詞が、出現する順序どおりに格納されている。
リスト格納部105にリストが格納されると、サブリスト生成部107は、区切りの前におけるn個の特徴要素について算出したハッシュ値の法(除数とも呼ばれる)mに関する剰余がr未満となるように、リスト内の区切りの位置を決定する(ステップS9)。これにより、リストから1又は複数のサブリストが生成される。サブリスト生成部107は、生成されたサブリストをサブリスト格納部109に格納する。
ここで、m及びnは2以上の自然数であり、rは0<r<mを満たす自然数である。例として、n=4、m=16、r=1である場合に区切りの位置を決定することを考える。ハッシュ関数h0(e1,e2,...)は、全引数を空白文字(すなわちスペース)を使用して連結した文字列をUTF−8でエンコードしたバイト列に対してSHA−1(Secure Hash Algorithm-1)を適用し、適用結果を10進数で表現するハッシュ関数であるとする。そして、h1(e1,e2,...):=h0(e1,e2,...) mod mとする。「:=」は代入演算子を表す。
まず、h1("照明","照射","光","目")=0<rであるので、特徴要素"目"の次を区切りの位置に決定する。h1("照射","光","目","通信")=0<rであるので、特徴要素"通信"の次を区切りの位置に決定する。h1("光","目","通信","情報")=0<rであるので、特徴要素"情報"の次を区切りの位置に決定する。h1("目","通信","情報","こと")=4≧rであるので、特徴要素"こと"の次は区切りの位置には該当しない。同様に処理を行うと、生成されるサブリストは、["照明","照射","光","目"]、["通信"]、["情報"]、["こと","照明","モノ","スマート","デバイス","カメラ","情報","配布","実現"]である。
本実施の形態においては、区切りの前におけるn個の特徴要素についてハッシュ値を算出するが、その他の方法によってハッシュ値を算出してもよい。例えば、区切りの後におけるn個の特徴要素についてハッシュ値を算出してもよい。なお、連続するn個の特徴要素であることが好ましいが、必ずしも連続するn個の特徴要素でなくてもよい。
図5に、サブリスト格納部109に格納されるサブリストの一例を示す。図5の例では、ステップS9において決定された位置でリストを区切ることによって生成されるサブリストが格納されている。
図3の説明に戻り、サブリスト生成部107は、サブリスト格納部109に格納されたサブリストのうち、特徴要素の数がt(tは自然数)未満であるサブリストをサブリスト格納部109から取り除く(ステップS11)。パラメータtを利用することで、過剰検出(すなわち、実際は流用が行われていないにもかかわらず流量が行われたと検知されてしまうこと)を抑制することができる場合がある。たとえ流用が行われていないとしても、特徴要素の数が少ない場合には同じ特徴要素列が出現する可能性が高くなるので、パラメータtを利用することで過剰検出を抑制できるようになる。
例えば、図5の例においてt=4とすると、サブリスト格納部109に残るサブリストは["照明","照射","光","目"]及び["こと","照明","モノ","スマート","デバイス","カメラ","情報","配布","実現"]である。
サブリスト生成部107の処理が終了すると、登録部111は、サブリスト格納部109に格納されたサブリストの各々についてハッシュ値を算出し、算出されたハッシュ値とステップS1において入力を受け付けた文書IDとを対応付けて特徴データ格納部113に登録する(ステップS13)そして処理を終了する。
ステップS13におけるハッシュ関数は、h2(e1,e2,...):=h0(e1,e2,...) mod 264であるとする。このようにすると、h2("照明","照射","光","目")=10002075992710416752であり、h2("こと","照明","モノ","スマート","デバイス","カメラ","情報","配布","実現")=15974053995356465065である。これらの数値を特徴データ格納部113に索引データとして登録すると、例えば図6のようになる。図6の例では、ハッシュ値と、文書IDとが格納される。なお、索引データは、他の形式(例えばRDMS(Relational Database Management System)の形式)であってもよい。
以上のような処理を実行すれば、局所的な複数の特徴要素を含むサブリストから算出されたハッシュ値を要素とする集合を、文書の特徴を現す特徴量とすることができるようになる。これにより、共通の要素が有るか判定することによってテキストデータの流用が行われたことを検知することができるようになる。
ここで、図3乃至図6を用いて説明した処理を、図7に示した文書「d2」にも適用したとする。この場合、生成されるサブリストは、["IoT","プラットフォーム","アプリケーション","開発","環境"]、["クラウド","上","容易","利用","実現","性","検証","IoT","モデル","もと","センサー","デバイス","ネットワーク","ミドルウェア","アプリケーション","こと"]、及び["可能","トータル","システム","環境"]である。算出されるハッシュ値は順に、16379724388191380887、13295147089011045793、及び10384776358887264315である。算出されたハッシュ値は特徴データ格納部113に追加されるので、特徴データ格納部113に格納される索引データは、図8に示すようになる。図8に示すように、索引データは、文書「d1」についてのハッシュ値と、文書「d2」についてのハッシュ値とが登録される。
次に、図9乃至図11を用いて、或る文書が、既存の文書から流用された文章を含む文書であるか判定する処理について説明する。ここでは、図9に示すような文書「d3」が、既存の文書から流用された文章を含む文書であるか判定する処理について説明する。
図9に示した文書「d3」に対して、図3乃至図6を用いて説明した処理を適用しとする。この場合、生成されるサブリストは、["照明","照射","光","目"]及び["照明","モノ","デバイス","情報","配布","実現"]である。算出されるハッシュ値は順に、10002075992710416752及び426719386417036332である。但し、ハッシュ値は特徴データ格納部113には格納されず、抽出部115に渡されるものとする。
図10を用いて、抽出部115が実行する処理について説明する。まず、抽出部115は、対象の文書(ここでは、文書「d3」)から算出されたハッシュ値と一致するハッシュ値が特徴データ格納部113に登録されているか判断する(図10:ステップS21)。
対象の文書から算出されたハッシュ値と一致するハッシュ値が登録されていない場合(ステップS23:Noルート)、処理を終了する。一方、対象の文書から算出されたハッシュ値と一致するハッシュ値が登録されている場合(ステップS23:Yesルート)、抽出部115は、対象の文書から算出されたハッシュ値と一致するハッシュ値に対応付けられている文書IDを特徴データ格納部113から特定する。そして、抽出部115は、ハッシュ値を、特定された文書IDと対象の文書の文書IDとの組合せに対応付けて抽出結果格納部117に格納する(ステップS25)。情報処理装置1は、抽出結果格納部117に格納されたデータを表示装置等に表示する。そして処理を終了する。
図11に、抽出結果格納部117に格納されるデータの一例を示す。図11の例では、文書IDの組合せと、ハッシュ値とが格納される。図11の例では、文書「d1」から生成されたサブリスト["照明","照射","光","目"]に対応するハッシュ値と、文書「d3」から生成されたサブリスト["照明","照射","光","目"]に対応するハッシュ値とが一致したので、文書「d1」の文書IDと文書「d3」の文書IDとの組合せとハッシュ値とが格納されている。
なお、文書「d1」と文書「d3」とを比較すると、特に後半部分に相違が多く有るものの、前半部分はほぼ同じである。このように、形式などが多少異なっていたとしても、文書「d3」は文書「d1」から流用されたデータを含む文章を含むことを検知することができたので、本実施の形態の方法はロバスト性が高い方法であると言える。ロバスト性が高い理由として、特徴要素を使うこと及び局所的に計算される値を使うことが挙げられる。特徴要素として単語等を使えば、空白及び句読点等の影響を受けなくなるので、種々の書式及び言語に対応可能になる。また、局所的に計算される値を使うことで、或る部分について流用の検出を行う際にその部分とは離れた部分に有る差異の影響を受けなくなるので、部分的に流用の検出を行うことが可能になる。
また、本実施の形態においてはハッシュ値の比較をしており、流用関係にはない文書のデータにアクセスして類似度を計算することがない。従って、比較効率が良い検知をすることができる。
また、パラメータm及びrを変更することで、特徴量のサイズを柔軟に変更することができる。サブリストのサイズ(或いは、サブリストに含まれる特徴要素の数)は平均でm/rになり、特徴量のサイズは概ねr/mに比例することが期待されるため、M=am及びR=brを使用すれば、m及びrを使用する場合と比較して特徴量のサイズが約b/a倍になる。
なお、パラメータnの値が大きいほどサブリストのサイズの分散を小さくすることができ、また、m及びrによって特徴量のサイズを精度良く調整することができるようになる。例えば、n=1の場合には特徴要素"こと"のように頻繁に出現する特徴要素の後で区切られるかどうかでサブリストのサイズが大きく異なる。区切られる場合は、"こと"の後で常に区切られることになるため、サブリストの数が多く且つ特徴量のサイズが大きくなりがちである。逆に、区切られない場合は特徴量のサイズが小さくなりがちである。区切られるかどうかはm及びrに依存するため、m及びrによる特徴量のサイズを精度良く調整することが難しい。一方、例えば、n=2の場合には、たとえ特徴要素リスト["情報","こと"]の後で区切られたとしても、["アプリケーション","こと"]の後で区切られる確率は、n=1の場合と違って1ではない(平均でr/mである)ため、頻繁に出現する特徴要素が特徴量のサイズに与える影響は小さくなる。つまり、nの値が大きいほどm及びrによって特徴量のサイズを精度良く調整できる。このため、本実施の形態においては、複数の特徴要素から(すなわち、nを2以上の自然数として)ハッシュ値を算出している。
なお、同じ入力に対して同じハッシュ値が算出されるようにするため、システムを使用中に上記のパラメータやハッシュ関数を変更することはできない。
[実施の形態2]
図12に、第2の実施の形態における文書検査装置1000の機能ブロック図を示す。文書検査装置1000は、生成部1001と、分割部1003と、算出部1005と、比較部1007とを有する。
生成部1001は処理を実行し、処理結果を分割部1003に出力する。分割部1003は、生成部1001から受け取った処理結果に基づき処理を実行し、処理結果を算出部1005に出力する。算出部1005は、分割部1003から受け取った処理結果に基づき処理を実行し、処理結果を比較部1009に出力する。比較部1009は、算出部1007から受け取った処理結果に基づき処理を実行する。
次に、図13を用いて、文書検査装置1000が実行する処理について説明する。
まず、生成部1001は、複数の文字列の各々について、文字列における複数の特徴要素を含むリストを生成する(図13:ステップS101)。
分割部1005は、リストに含まれる複数の特徴要素の一部から算出したハッシュ値に基づき、リストを、各々が1又は複数の特徴要素を含む複数のブロックに分割する(ステップS103)。
算出部1007は、複数のブロックの各々についてハッシュ値を求める(ステップS105)。
比較部1009は、求められたハッシュ値を、文字列間で比較する(ステップS107)。そして処理を終了する。
以上のようにすれば、高精度で高速に文字列の類似性を検証できるようになる。
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明した情報処理装置1の機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
また、上で説明した各テーブルの構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
また、本実施の形態においてはハッシュ値を特徴量として使用しているが、特徴量はハッシュ値には限られない。
また、上では日本語の文章を例として説明したが、名詞等の特徴要素を抽出できる言語であれば本実施の形態を適用することが可能である。また、自然言語には限られない。
また、本実施の形態において、リスト生成部103が生成するリスト内の要素は、文書内での出現順序どおりに並べられているが、このような順序には限られない。たとえば、辞書順に従って並べたり、重複する要素を削除しても良い。このようにすれば、文書内の多くの箇所において単語の語順が入れ替えられた場合にも類似文書として取り扱うことができるようになる。また、出現順よりも辞書順の方が同じハッシュ値が算出されやすく、それによってロバスト性が高くなるという効果がある。
また、ハッシュ関数は上で述べたようなものには限られない。なお、ステップS13においてはSHA−1の出力を64ビット空間に圧縮しているため、過剰検出が稀に起きることがある。出力空間の圧縮率を下げれば過剰検出の率を下げることができる一方、特徴量のサイズが大きくなるというトレードオフがある。
なお、上で述べた情報処理装置1及び文書検査装置1000は、コンピュータ装置であって、図14に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本発明の実施の形態をまとめると、以下のようになる。
本実施の形態の第1の態様に係る文書検査装置は、(A)複数の文字列の各々について、当該文字列における複数の特徴要素を含むリストを生成する生成部と、(B)リストに含まれる複数の特徴要素の一部から算出したハッシュ値に基づき、リストを、各々が1又は複数の特徴要素を含む複数のブロックに分割する分割部と、(C)複数のブロックの各々についてハッシュ値を求める算出部と、(D)算出部が求めたハッシュ値を、文字列間で比較する比較部とを有する。
このようにすれば、リストに含まれる複数の特徴要素の一部から算出したハッシュ値を利用することで、高精度で高速に文字列の類似性を検証できるようになる。
また、上で述べた分割部は、(b1)複数の特徴要素の一部から算出したハッシュ値に対して実行した演算処理の結果が所定条件を満たす場合にリスト内に区切りを設定することにより、リストを複数のブロックに分割してもよい。このようにすれば、区切りを適切な位置に設定できるようになる。
また、複数の特徴要素の一部は、文字列内での出現順序に従って抽出された複数の特徴要素であってもよい。このようにすれば、文字列の特徴がハッシュ値により反映されやすくなる。
また、複数の特徴要素の一部は、連続する複数の特徴要素であってもよい。このようにすれば、文字列の特徴がハッシュ値により反映されやすくなる。
また、演算処理は、ハッシュ値を所定の値で除して剰余を求める演算処理であってもよく、所定条件は、剰余が所定の範囲に含まれるという条件を含んでもよい。このようにすれば、ブロックの大きさが不均一になりにくくなる。
また、上で述べた分割部は、(b2)連続する1又は複数の特徴要素のうち最初の特徴要素の前、又は、連続する1又は複数の特徴要素のうち最後の特徴要素の後に区切りを設定してもよい。
また、上で述べた算出部は、(c1)ブロックに含まれる特徴要素の数が閾値未満である場合、当該ブロックのハッシュ値を前記比較部による比較の対象から除外してもよい。このようにすれば、過剰検出を抑制できるようになる。
また、特徴要素は名詞であってもよい。
本実施の形態の第2の態様に係る文書検査方法は、(E)複数の文字列の各々について、当該文字列における複数の特徴要素を含むリストを生成し、(F)リストに含まれる複数の特徴要素の一部から算出したハッシュ値に基づき、リストを、各々が1又は複数の特徴要素を含む複数のブロックに分割し、(G)複数のブロックの各々についてハッシュ値を求め、(H)求められたハッシュ値を、文字列間で比較する処理を含む。
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
複数の文字列の各々について、当該文字列における複数の特徴要素を含むリストを生成する生成部と、
前記リストに含まれる複数の特徴要素の一部から算出したハッシュ値に基づき、前記リストを、各々が1又は複数の特徴要素を含む複数のブロックに分割する分割部と、
前記複数のブロックの各々についてハッシュ値を求める算出部と、
前記算出部が求めたハッシュ値を、文字列間で比較する比較部と、
を有する文書検査装置。
(付記2)
前記分割部は、
前記複数の特徴要素の一部から算出したハッシュ値に対して実行した演算処理の結果が所定条件を満たす場合に前記リスト内に区切りを設定することにより、前記リストを前記複数のブロックに分割する、
付記1記載の文書検査装置。
(付記3)
前記複数の特徴要素の一部は、前記文字列内での出現順序に従って抽出された複数の特徴要素である、
付記1又は2記載の文書検査装置。
(付記4)
前記複数の特徴要素の一部は、連続する複数の特徴要素である
付記1又は2記載の文書検査装置。
(付記5)
前記演算処理は、ハッシュ値を所定の値で除して剰余を求める演算処理であり、
前記所定条件は、前記剰余が所定の範囲に含まれるという条件を含む
付記2記載の文書検査装置。
(付記6)
前記分割部は、
前記連続する1又は複数の特徴要素のうち最初の特徴要素の前、又は、前記連続する1又は複数の特徴要素のうち最後の特徴要素の後に前記区切りを設定する
付記4記載の文書検査装置。
(付記7)
前記算出部は、
前記ブロックに含まれる特徴要素の数が閾値未満である場合、当該ブロックのハッシュ値を前記比較部による比較の対象から除外する、
付記1乃至6のいずれか1つ記載の文書検査装置。
(付記8)
前記特徴要素は名詞である
付記1乃至7のいずれか1つ記載の文書検査装置。
(付記9)
コンピュータが、
複数の文字列の各々について、当該文字列における複数の特徴要素を含むリストを生成し、
前記リストに含まれる複数の特徴要素の一部から算出したハッシュ値に基づき、前記リストを、各々が1又は複数の特徴要素を含む複数のブロックに分割し、
前記複数のブロックの各々についてハッシュ値を求め、
求められた前記ハッシュ値を、文字列間で比較する、
処理を実行する文書検査方法。
(付記10)
コンピュータに、
複数の文字列の各々について、当該文字列における複数の特徴要素を含むリストを生成し、
前記リストに含まれる複数の特徴要素の一部から算出したハッシュ値に基づき、前記リストを、各々が1又は複数の特徴要素を含む複数のブロックに分割し、
前記複数のブロックの各々についてハッシュ値を求め、
求められた前記ハッシュ値を、文字列間で比較する、
処理を実行させる文書検査プログラム。
1 情報処理装置 101 文書データ格納部
103 リスト生成部 105 リスト格納部
107 サブリスト生成部 109 サブリスト格納部
111 登録部 113 特徴データ格納部
115 抽出部 117 抽出結果格納部
1000 文書検査装置 1001 生成部
1003 分割部 1005 算出部
1007 比較部

Claims (7)

  1. 複数の文字列の各々について、当該文字列における複数の特徴要素を含むリストを生成する生成部と、
    前記リストに含まれる複数の特徴要素の一部から算出したハッシュ値に基づき、前記リストを、各々が1又は複数の特徴要素を含む複数のブロックに分割する分割部と、
    前記複数のブロックの各々についてハッシュ値を求める算出部と、
    前記算出部が求めたハッシュ値を、文字列間で比較する比較部と、
    を有し、
    前記複数の特徴要素の一部は、前記文字列内での出現順序に従って抽出された複数の特徴要素、または、連続する複数の特徴要素である
    文書検査装置。
  2. 前記分割部は、
    前記複数の特徴要素の一部から算出したハッシュ値に対して実行した演算処理の結果が所定条件を満たす場合に前記リスト内に区切りを設定することにより、前記リストを前記複数のブロックに分割する、
    請求項1記載の文書検査装置。
  3. 前記演算処理は、ハッシュ値を所定の値で除して剰余を求める演算処理であり、
    前記所定条件は、前記剰余が所定の範囲に含まれるという条件を含む
    請求項2記載の文書検査装置。
  4. 前記分割部は、
    前記連続する数の特徴要素のうち最初の特徴要素の前、又は、前記連続する数の特徴要素のうち最後の特徴要素の後に前記区切りを設定する
    請求項記載の文書検査装置。
  5. 前記算出部は、
    前記ブロックに含まれる特徴要素の数が閾値未満である場合、当該ブロックのハッシュ値を前記比較部による比較の対象から除外する、
    請求項1乃至のいずれか1つ記載の文書検査装置。
  6. コンピュータが、
    複数の文字列の各々について、当該文字列における複数の特徴要素を含むリストを生成し、
    前記リストに含まれる複数の特徴要素の一部から算出したハッシュ値に基づき、前記リストを、各々が1又は複数の特徴要素を含む複数のブロックに分割し、
    前記複数のブロックの各々についてハッシュ値を求め、
    求められた前記ハッシュ値を、文字列間で比較する、
    処理を実行し、
    前記複数の特徴要素の一部は、前記文字列内での出現順序に従って抽出された複数の特徴要素、または、連続する複数の特徴要素である
    文書検査方法。
  7. コンピュータに、
    複数の文字列の各々について、当該文字列における複数の特徴要素を含むリストを生成し、
    前記リストに含まれる複数の特徴要素の一部から算出したハッシュ値に基づき、前記リストを、各々が1又は複数の特徴要素を含む複数のブロックに分割し、
    前記複数のブロックの各々についてハッシュ値を求め、
    求められた前記ハッシュ値を、文字列間で比較する、
    処理を実行させ
    前記複数の特徴要素の一部は、前記文字列内での出現順序に従って抽出された複数の特徴要素、または、連続する複数の特徴要素である
    文書検査プログラム。
JP2015064889A 2015-03-26 2015-03-26 文書検査装置、方法、及びプログラム Expired - Fee Related JP6561529B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015064889A JP6561529B2 (ja) 2015-03-26 2015-03-26 文書検査装置、方法、及びプログラム
EP16152542.3A EP3073390A1 (en) 2015-03-26 2016-01-25 Document checking device, method, and program
US15/009,162 US20160283472A1 (en) 2015-03-26 2016-01-28 Document checking device, method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015064889A JP6561529B2 (ja) 2015-03-26 2015-03-26 文書検査装置、方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2016184334A JP2016184334A (ja) 2016-10-20
JP6561529B2 true JP6561529B2 (ja) 2019-08-21

Family

ID=55272234

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015064889A Expired - Fee Related JP6561529B2 (ja) 2015-03-26 2015-03-26 文書検査装置、方法、及びプログラム

Country Status (3)

Country Link
US (1) US20160283472A1 (ja)
EP (1) EP3073390A1 (ja)
JP (1) JP6561529B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10572544B1 (en) * 2015-12-14 2020-02-25 Open Text Corporation Method and system for document similarity analysis
CN110765011B (zh) * 2019-10-15 2023-04-07 卡斯柯信号有限公司 一种配置库内测试运维数据自动获取和校验装置及方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6658626B1 (en) * 1998-07-31 2003-12-02 The Regents Of The University Of California User interface for displaying document comparison information
US6594665B1 (en) * 2000-02-18 2003-07-15 Intel Corporation Storing hashed values of data in media to allow faster searches and comparison of data
DE60208614T2 (de) * 2002-09-17 2006-08-03 Errikos Pitsos Verfahren und Vorrichtung zur Bereitstellung einer Liste von öffentlichen Schlüsseln in einem Public-Key-System
US7991751B2 (en) * 2003-04-02 2011-08-02 Portauthority Technologies Inc. Method and a system for information identification
US7702628B1 (en) * 2003-09-29 2010-04-20 Sun Microsystems, Inc. Implementing a fully dynamic lock-free hash table without dummy nodes
US7594277B2 (en) 2004-06-30 2009-09-22 Microsoft Corporation Method and system for detecting when an outgoing communication contains certain content
JP2009048149A (ja) * 2007-08-15 2009-03-05 Mitsuru Fujitsuki 自動写真撮影装置
US8977949B2 (en) * 2007-10-11 2015-03-10 Nec Corporation Electronic document equivalence determination system and equivalence determination method
US8312023B2 (en) * 2007-12-21 2012-11-13 Georgetown University Automated forensic document signatures
US8386792B1 (en) * 2008-06-10 2013-02-26 Trend Micro Incorporated Asymmetric content fingerprinting with adaptive window sizing
JP4831787B2 (ja) 2009-02-09 2011-12-07 日本電信電話株式会社 引用検出装置、そのプログラム及び記録媒体
JP5458880B2 (ja) * 2009-03-02 2014-04-02 富士通株式会社 文書検査装置、コンピュータ読み取り可能な記録媒体および文書検査方法
JP5708107B2 (ja) * 2011-03-23 2015-04-30 日本電気株式会社 重複ファイル検出装置
US8543543B2 (en) * 2011-09-13 2013-09-24 Microsoft Corporation Hash-based file comparison
JP5694989B2 (ja) * 2012-05-08 2015-04-01 日本電信電話株式会社 文書分類装置及びプログラム
US9015269B2 (en) * 2012-06-19 2015-04-21 Canon Kabushiki Kaisha Methods and systems for notifying a server with cache information and for serving resources based on it
US20160267065A1 (en) * 2013-10-25 2016-09-15 Leonard L. Drey Method of Governing Content Presentation of Multi-Page Electronic Documents

Also Published As

Publication number Publication date
EP3073390A1 (en) 2016-09-28
JP2016184334A (ja) 2016-10-20
US20160283472A1 (en) 2016-09-29

Similar Documents

Publication Publication Date Title
WO2016180268A1 (zh) 一种文本聚合方法及装置
US8955120B2 (en) Flexible fingerprint for detection of malware
US8344916B2 (en) System and method for simplifying transmission in parallel computing system
US8838657B1 (en) Document fingerprints using block encoding of text
EP3113174A1 (en) Method for building a speech feature library, method, apparatus, and device for speech synthesis
US10678625B2 (en) Log-based computer system failure signature generation
CN108280197B (zh) 一种识别同源二进制文件的方法及***
CN107526742B (zh) 用于处理多语言文本的方法和设备
JP6561529B2 (ja) 文書検査装置、方法、及びプログラム
CN110955713A (zh) 一种助记词生成方法、装置及存储介质
US11222131B2 (en) Method for a secure storage of data records
JP4831787B2 (ja) 引用検出装置、そのプログラム及び記録媒体
US9922029B1 (en) User feedback for low-confidence translations
KR102073833B1 (ko) 복수의 파일들 각각에 대한 피쳐들의 분포 정보를 기초로 기준 파일에 대한 유사 파일의 탐색이 가능한 전자 장치 및 동작 방법
EP2819054B1 (en) Flexible fingerprint for detection of malware
US20160139819A1 (en) Computer-readable recording medium, encoding device and encoding method
CN108536713B (zh) 字符串审核方法、装置及电子设备
CN107491424B (zh) 一种基于多权重体系的中文文档基因匹配方法
CN116204612A (zh) 一种文本相似度计算方法及***
Steinebach et al. Robust hash algorithms for text
CN107491423B (zh) 一种基于数值-字符串混合编码的中文文档基因量化与表征方法
CN108595439B (zh) 一种文字传播路径分析方法及***
JP5758262B2 (ja) 類似文書可視化装置、類似文書可視化方法およびプログラム
CN111159996A (zh) 一种基于改进的文本指纹算法的短文本集合相似度比较方法及***
WO2019163643A1 (ja) 要約評価装置、方法、プログラム、及び記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181211

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190115

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190708

R150 Certificate of patent or registration of utility model

Ref document number: 6561529

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees