JP2008033728A - 重複データ検出プログラム、重複データ検出方法および重複データ検出装置 - Google Patents
重複データ検出プログラム、重複データ検出方法および重複データ検出装置 Download PDFInfo
- Publication number
- JP2008033728A JP2008033728A JP2006207904A JP2006207904A JP2008033728A JP 2008033728 A JP2008033728 A JP 2008033728A JP 2006207904 A JP2006207904 A JP 2006207904A JP 2006207904 A JP2006207904 A JP 2006207904A JP 2008033728 A JP2008033728 A JP 2008033728A
- Authority
- JP
- Japan
- Prior art keywords
- data
- duplicate data
- syntax tree
- duplicate
- leaf node
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/322—Trees
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
【解決手段】コンピュータ1は以下の機能を有する。構文木構築手段2が、データ毎に、文字列の隣接しない所定の文字位置の文字を複数個取り出した構文木を構築する。重複データ検出手段3が、構文木の葉ノード毎に、葉ノードに到達したデータが複数存在するか否かを判断し、同一の葉ノードに到達したデータを重複データ候補として検出する。
【選択図】図1
Description
このため、特にテキストデータに関して入力データの部分文字列を抽出し(例えば、特許文献1参照)、抽出した文字列の重複を検出する方法が知られている(例えば、特許文献2参照)。
本発明に係る重複データ検出プログラムは、文字列を備える複数のデータから重複するデータを検出するプログラムである。
構文木構築手段2が、データ毎に、隣接しない所定の文字位置の文字を複数個取り出した構文木を構築する。
特に、その後により細かい構文木を作成して重複データを検出する場合、構文木の作成対象となるデータが絞り込まれているため、検出時間を短縮することができる。
まず、本発明の概要について説明し、その後、実施の形態を説明する。
図1は、本発明の概要を示す図である。
構文木構築手段2は、データ毎に、隣接しない所定の文字位置の文字を複数個取り出した構文木を構築する。
重複データ検出手段3が、構文木Taの葉ノード毎に、葉ノードに到達したデータが複数存在するか否かを判断し、同一の葉ノードに到達したデータを重複データ候補として検出する。図1では、データD1、D2が構文木Taの同一の葉ノードに到達しているので、これらを重複データ候補として検出している。
図2は、コンピュータのハードウェア構成例を示す図である。
コンピュータ300は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、および通信インタフェース106が接続されている。
コンピュータ300は、データ検出部(重複データ検出装置)100と、データ削除部200とを有している。
文書データ格納部110には、検出対象となる複数の文書データが格納されている。
また、文書データ出力部120は、文書データ群の各文書データに、これらを識別する識別子(ID番号)を付する。
重複データ検出部131は、文書データ群を受け取ると、木構築部132に構築条件(パラメータ)を与えて文書データ群の構文木(トライ)を構築させる。なお、構築条件については後述する。
図4は、構文木の一例を示す図である。
構文木Tbは、ノード41〜45と、各ノード間を接続するエッジ41a、42a、43a、44aとを有している。ノード41が根(root)ノードであり、他のノード42〜45はノード41の下位構造となっている。各エッジには取り出した文字が関連づけられている。例えばエッジ41aには文字「B」が関連づけられている。
また、重複データ検出部131は、構築した構文木に基づいて、文書データ群から同一の文字列を有する文書データ(重複データ)を検出する。重複データを検出すると、検出された重複データから1つの重複データを除いた残りの重複データのID番号をデータ削除部200に出力する。
図5は、判定動作を示すフローチャートである。
まず、重複データ検出部131が文書データ群を受け取る(ステップS1)。そして、重複データ検出部131が、文書データ内における文字列の先頭から数えて予め指定された文字位置の文字を予め指定された文字個数分取り出すという構築条件(第1の構築条件)を与えて構文木Tを構築させる。この構築条件は、例えばHDD103に格納されている。
次に、木構築部132が、第1の構築条件に従って構文木Tを構築する(ステップS2)。なお、第1の構築条件に従って構文木Tを構築する際、指定された文字数だけ文字を取り出している途中で文字列が終了した場合(文字数分の文字が取り出せない場合)は、それまで取り出した文字の構文木Tを構築する。
次に、重複データ検出部131が、構文木T1の葉ノード毎に、葉ノードに到達した文字列が複数存在するか否かを判断し、同一の葉ノードに到達した文書データを重複データとして検出する(ステップS5)。
以上で判定動作を終了する。
図6は、第1の木構築動作を示すフローチャートである。
識別子:d(d=0、1、2、・・・)
現在の文字位置:i
識別子dの文書データの文字数:N(d)
取り出す文字位置:P1、・・・、Pm
まず、識別子dを初期化(d=0)する(ステップS11)。
次に、識別子dに対応する文書データが存在するか否かを判断する(ステップS13)。
識別子dに対応する文書データが存在する場合(ステップS13のYes)、文字位置iを初期化(i=0)する(ステップS14)。
次に、文字位置iが文字数N(d)以下か否かを判断する(ステップS16)。
文字位置iが文字数N(d)以下ではない場合(ステップS16のNo)、ステップS12に移行し、継続して動作を行う。
文字位置P1、・・・、Pmのいずれかに該当する場合(ステップS17のYes)、文字位置iの文字を構文木Tに格納する(ステップS18)。
文字位置iが、文字位置Pmに等しくない場合(ステップS19のNo)、文字列が続くと見なしてステップS15に移行し、継続して動作を行う。
次に、木構築部132が、第2の構築条件に従って構文木T1を構築する動作(第2の木構築動作)について詳しく説明する。
ステップS21〜ステップS26:それぞれ第1の木構築動作のステップS11〜S16と同様の動作を行う。
ステップS28:第1の木構築動作のステップS19と同様の動作を行う。
本具体例では、第1の構築条件として、(4n+1)文字目の文字位置の文字を4文字取り出す条件が与えられている場合の例である。また、文書データ群は、文献1、文献2、文献3で構成されているものとする。
まず、木構築部132は、第1の構築条件に従って文献1の(4n+1)文字目の文字位置の文字を4文字分取り出し、ノード51を根ノードとする構文木Tを構築する(図8参照)。具体的には文献1の1文字目の文字「B」、5文字目の「p」、9文字目の「r」、13文字目の「e」の4文字を取り出す。そして、葉ノード52に文献1の識別子「文献#1」を関連づける。
図11は、第2の木構築動作の具体例を示す図である。
木構築部132は、第2の構築条件に従って文献1および文献3をそれぞれ先頭文字から一文字ずつ取り出し、全ての文字を構文木T1に格納する。
本発明の用途は、特に限定されないが、例えばデータベースの名寄せ、スパム(spam)メールの除去、データ圧縮等に適用することができる。例えば本発明をメールサーバに適用した場合は、重複した電子メールのタイトルや本文を重複データとして検出することでスパムメールを除去することができる。また、例えば本発明をデータベースに適用した場合は、重複データのうちのいずれか1つを残し、他の重複データを削除し、重複データを使用している使用先には残した重複データにアクセスさせることでデータ圧縮を図ることができる。また、1つの文書データの中に複数の文字列が存在している場合には、重複する文字列のうちのいずれか1つを残し、他の文字列を圧縮し、圧縮した文字列を使用している使用先には残した文字列にアクセスさせることでデータ削減を図ることができる。
2 構文木構築手段
3 重複データ検出手段
41〜45、51 ノード
52 、53、54 葉ノード
100 データ検出部
110 文書データ格納部
120 文書データ出力部
130 判定部
131 重複データ検出部
132 木構築部
200 データ削除部
T、T1、Ta、Tb 構文木
Claims (5)
- 文字列を備える複数のデータから重複する前記データを検出する重複データ検出プログラムにおいて、
コンピュータを、
前記データ毎に、前記文字列の隣接しない所定の文字位置の文字を複数個取り出した構文木を構築する構文木構築手段、
前記構文木の葉ノード毎に、前記葉ノードに到達したデータが複数存在するか否かを判断し、同一の前記葉ノードに到達した前記データを重複データ候補として検出する重複データ検出手段、
として機能させることを特徴とする重複データ検出プログラム。 - 前記構文木構築手段は、前記重複データ候補毎に、前記文字列の語頭側または語尾側から一文字ずつ前記文字を取り出した詳細構文木を構築し、
前記重複データ検出手段は、前記詳細構文木の前記葉ノード毎に、前記葉ノードに到達したデータが複数存在するか否かを判断し、同一の前記葉ノードに到達した前記データを重複データとして検出することを特徴とする請求項1記載の重複データ検出プログラム。 - 前記構文木構築手段は、前記所定の文字位置の文字を予め定められた個数分取り出した前記構文木を構築することを特徴とする請求項1記載の重複データ検出プログラム。
- 文字列を備える複数のデータから重複する前記データを検出する重複データ検出方法において、
前記データ毎に、前記文字列の隣接しない所定の文字位置の文字を複数個取り出した構文木を構築し、
前記構文木の葉ノード毎に、前記葉ノードに到達したデータが複数存在するか否かを判断し、
同一の前記葉ノードに到達した前記データを重複データ候補として検出する、
ことを特徴とする重複データ検出方法。 - 文字列を備える複数のデータから重複する前記データを検出する重複データ検出装置において、
前記データ毎に、前記文字列の隣接しない所定の文字位置の文字を複数個取り出した構文木を構築する構文木構築手段と、
前記構文木の葉ノード毎に、前記葉ノードに到達したデータが複数存在するか否かを判断し、同一の前記葉ノードに到達した前記データを重複データ候補として検出する重複データ検出手段と、
を有することを特徴とする重複データ検出装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006207904A JP4740060B2 (ja) | 2006-07-31 | 2006-07-31 | 重複データ検出プログラム、重複データ検出方法および重複データ検出装置 |
| US11/599,534 US20080027916A1 (en) | 2006-07-31 | 2006-11-14 | Computer program, method, and apparatus for detecting duplicate data |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006207904A JP4740060B2 (ja) | 2006-07-31 | 2006-07-31 | 重複データ検出プログラム、重複データ検出方法および重複データ検出装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2008033728A true JP2008033728A (ja) | 2008-02-14 |
| JP4740060B2 JP4740060B2 (ja) | 2011-08-03 |
Family
ID=38987592
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006207904A Expired - Fee Related JP4740060B2 (ja) | 2006-07-31 | 2006-07-31 | 重複データ検出プログラム、重複データ検出方法および重複データ検出装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20080027916A1 (ja) |
| JP (1) | JP4740060B2 (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010086525A (ja) * | 2008-09-04 | 2010-04-15 | Ns Solutions Corp | 情報処理装置、共通文字列出力方法及びプログラム |
| JP2011145883A (ja) * | 2010-01-14 | 2011-07-28 | Fujitsu Ltd | 圧縮装置、方法及びプログラム、並びに展開装置、方法及びプログラム |
| JP2012018510A (ja) * | 2010-07-07 | 2012-01-26 | Mitsubishi Electric Corp | 文書処理装置、文書処理方法、文書処理プログラム、及び文書処理プログラムを記録したコンピュータ読み取り可能な記録媒体 |
| JP2013190874A (ja) * | 2012-03-12 | 2013-09-26 | Fujitsu Ltd | 情報処理装置、プログラム、及び対応候補対絞込方法 |
| KR102843862B1 (ko) * | 2024-08-01 | 2025-08-12 | 이마고웍스 주식회사 | 치과 의료 데이터의 중복 여부를 자동으로 검출하는 방법 및 이를 컴퓨터에서 실행시키기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체 |
Families Citing this family (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9319360B2 (en) | 2007-11-01 | 2016-04-19 | Google Inc. | Systems and methods for prefetching relevant information for responsive mobile email applications |
| US9241063B2 (en) | 2007-11-01 | 2016-01-19 | Google Inc. | Methods for responding to an email message by call from a mobile device |
| US8676901B1 (en) | 2007-11-01 | 2014-03-18 | Google Inc. | Methods for transcoding attachments for mobile devices |
| US8726165B1 (en) | 2007-11-01 | 2014-05-13 | Google Inc. | Methods for auto-completing contact entry on mobile devices |
| US20090119678A1 (en) | 2007-11-02 | 2009-05-07 | Jimmy Shih | Systems and methods for supporting downloadable applications on a portable client device |
| JP5630863B2 (ja) * | 2010-11-26 | 2014-11-26 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 構造化文書に含まれるノードの全順序関係を、ログ情報に基づいて決定して可視化する方法、装置及びコンピュータプログラム |
| US8798366B1 (en) | 2010-12-28 | 2014-08-05 | Amazon Technologies, Inc. | Electronic book pagination |
| US9846688B1 (en) | 2010-12-28 | 2017-12-19 | Amazon Technologies, Inc. | Book version mapping |
| US9881009B1 (en) * | 2011-03-15 | 2018-01-30 | Amazon Technologies, Inc. | Identifying book title sets |
| US9590792B2 (en) * | 2013-04-01 | 2017-03-07 | Marvell World Trade Ltd. | Termination of wireless communication uplink periods to facilitate reception of other wireless communications |
| CN105095276B (zh) * | 2014-05-13 | 2020-04-21 | 华为技术有限公司 | 一种挖掘最大重复序列的方法及装置 |
| US10102480B2 (en) | 2014-06-30 | 2018-10-16 | Amazon Technologies, Inc. | Machine learning service |
| US10963810B2 (en) * | 2014-06-30 | 2021-03-30 | Amazon Technologies, Inc. | Efficient duplicate detection for machine learning data sets |
| CN110430103B (zh) * | 2019-09-18 | 2020-06-05 | 光大兴陇信托有限责任公司 | 一种报文监测方法 |
| US20230040648A1 (en) * | 2021-08-03 | 2023-02-09 | Data Culpa, Inc. | String entropy in a data pipeline |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001134575A (ja) * | 1999-10-29 | 2001-05-18 | Internatl Business Mach Corp <Ibm> | 頻出パターン検出方法およびシステム |
| JP2003167898A (ja) * | 2001-12-04 | 2003-06-13 | Tokyo Soft Kk | 情報検索システム |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4860203A (en) * | 1986-09-17 | 1989-08-22 | International Business Machines Corporation | Apparatus and method for extracting documentation text from a source code program |
| JP2737173B2 (ja) * | 1988-10-25 | 1998-04-08 | 日本電気株式会社 | 記号列照合装置とその制御方法 |
| US5289535A (en) * | 1991-10-31 | 1994-02-22 | At&T Bell Laboratories | Context-dependent call-feature selection |
| US5715468A (en) * | 1994-09-30 | 1998-02-03 | Budzinski; Robert Lucius | Memory system for storing and retrieving experience and knowledge with natural language |
| US6029132A (en) * | 1998-04-30 | 2000-02-22 | Matsushita Electric Industrial Co. | Method for letter-to-sound in text-to-speech synthesis |
| US6594783B1 (en) * | 1999-08-27 | 2003-07-15 | Hewlett-Packard Development Company, L.P. | Code verification by tree reconstruction |
| JP2001291060A (ja) * | 2000-04-04 | 2001-10-19 | Toshiba Corp | 単語列照合装置および単語列照合方法 |
| US7263512B2 (en) * | 2002-04-02 | 2007-08-28 | Mcgoveran David O | Accessing and updating views and relations in a relational database |
| JP2006018693A (ja) * | 2004-07-02 | 2006-01-19 | Fujitsu Ltd | 類似ソースコード抽出プログラム、類似ソースコード抽出装置および類似ソースコード抽出方法 |
| TWI315044B (en) * | 2005-01-21 | 2009-09-21 | Hon Hai Prec Ind Co Ltd | File server and method for displaying and editing information searching conditions |
| US7401080B2 (en) * | 2005-08-17 | 2008-07-15 | Microsoft Corporation | Storage reports duplicate file detection |
| JP2007179165A (ja) * | 2005-12-27 | 2007-07-12 | Internatl Business Mach Corp <Ibm> | Uml設計モデルから、確率的な性能評価モデルを導出するコンピュータ・プログラムおよび確率的な性能評価モデルを導出する方法 |
-
2006
- 2006-07-31 JP JP2006207904A patent/JP4740060B2/ja not_active Expired - Fee Related
- 2006-11-14 US US11/599,534 patent/US20080027916A1/en not_active Abandoned
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001134575A (ja) * | 1999-10-29 | 2001-05-18 | Internatl Business Mach Corp <Ibm> | 頻出パターン検出方法およびシステム |
| JP2003167898A (ja) * | 2001-12-04 | 2003-06-13 | Tokyo Soft Kk | 情報検索システム |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010086525A (ja) * | 2008-09-04 | 2010-04-15 | Ns Solutions Corp | 情報処理装置、共通文字列出力方法及びプログラム |
| JP2011145883A (ja) * | 2010-01-14 | 2011-07-28 | Fujitsu Ltd | 圧縮装置、方法及びプログラム、並びに展開装置、方法及びプログラム |
| JP2012018510A (ja) * | 2010-07-07 | 2012-01-26 | Mitsubishi Electric Corp | 文書処理装置、文書処理方法、文書処理プログラム、及び文書処理プログラムを記録したコンピュータ読み取り可能な記録媒体 |
| JP2013190874A (ja) * | 2012-03-12 | 2013-09-26 | Fujitsu Ltd | 情報処理装置、プログラム、及び対応候補対絞込方法 |
| KR102843862B1 (ko) * | 2024-08-01 | 2025-08-12 | 이마고웍스 주식회사 | 치과 의료 데이터의 중복 여부를 자동으로 검출하는 방법 및 이를 컴퓨터에서 실행시키기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20080027916A1 (en) | 2008-01-31 |
| JP4740060B2 (ja) | 2011-08-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4740060B2 (ja) | 重複データ検出プログラム、重複データ検出方法および重複データ検出装置 | |
| US7962524B2 (en) | Computer program, device, and method for sorting dataset records into groups according to frequent tree | |
| JP5423904B2 (ja) | 情報処理装置、メッセージ抽出方法およびメッセージ抽出プログラム | |
| US7376659B2 (en) | System, method, and computer program product for generating a web application with dynamic content | |
| US12032599B2 (en) | Systems and methods for trie-based automated discovery of patterns in computer logs | |
| US7516422B2 (en) | Graphical display of hierarchical hardlinks to files in a file system | |
| JP2007179492A (ja) | 分割プログラム、連結プログラム、情報処理方法 | |
| US20110107198A1 (en) | Information processing apparatus, storage medium, and information processing method | |
| JP4879193B2 (ja) | システムログ管理支援装置およびシステムログ管理支援方法 | |
| JP5012999B2 (ja) | 保守業務支援プログラム、保守業務支援方法および保守業務支援装置 | |
| JP5958539B2 (ja) | 情報処理装置、ファイル管理方法、及びファイル管理プログラム | |
| JP2006171800A (ja) | データ集計装置、その方法、及びプログラム | |
| JP6549786B2 (ja) | データクレンジングシステム、方法、及び、プログラム | |
| JP2006163876A (ja) | Xbrlデータ保存方法およびシステム | |
| JP6627809B2 (ja) | データベース処理装置、システム、方法およびプログラム | |
| JP4134824B2 (ja) | 情報処理装置及びプログラム | |
| JP5718256B2 (ja) | システム性能解析装置、システム性能解析方法、およびシステム性能解析プログラム | |
| JP6194980B2 (ja) | 検索プログラム、検索方法、及び情報処理装置 | |
| JP4957656B2 (ja) | 情報処理装置及び情報処理プログラム | |
| JP6881124B2 (ja) | 検索制御プログラム、検索制御方法および検索制御装置 | |
| JP4704736B2 (ja) | データ処理装置、データ処理方法及びそのプログラム | |
| JP2003122794A (ja) | 全文検索装置、全文検索方法、プログラム、及び記録媒体 | |
| JP2002108844A (ja) | Xmlデータ分割編集装置 | |
| JP2013178711A (ja) | 全文検索装置、プログラム及び記録媒体 | |
| JP2010044696A (ja) | プログラムライセンス管理システム及び管理方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090409 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110419 |
|
| 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: 20110426 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110428 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4740060 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140513 Year of fee payment: 3 |
|
| LAPS | Cancellation because of no payment of annual fees |