JP2012203456A - 文書検索システム、文書検索方法、及びプログラム - Google Patents
文書検索システム、文書検索方法、及びプログラム Download PDFInfo
- Publication number
- JP2012203456A JP2012203456A JP2011064724A JP2011064724A JP2012203456A JP 2012203456 A JP2012203456 A JP 2012203456A JP 2011064724 A JP2011064724 A JP 2011064724A JP 2011064724 A JP2011064724 A JP 2011064724A JP 2012203456 A JP2012203456 A JP 2012203456A
- Authority
- JP
- Japan
- Prior art keywords
- suffix
- document
- character
- specifying process
- specifying
- 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
Abstract
【解決手段】検索キーワードの入力を受け付け、文書における入力された検索キーワードの文書内位置を検索する文書検索システムであって、接尾辞配列データの任意の連続区間に含まれる接尾辞のうち、接尾辞の一文字前にある文字が一致するすべての接尾辞の区間における最初の接尾辞及び最後の接尾辞を特定し、特定した最初の接尾辞及び最後の接尾辞に対して、一文字前接尾辞特定処理を実行し、最初の接尾辞及び最後の接尾辞に対する一文字前接尾辞特定処理の実行によって特定された二つの接尾辞に挟まれる区間を算出することを特徴とする文書検索システム。
【選択図】図1
Description
以下、本発明の第1実施の形態について、図1〜図9を用いて説明する。
まず、接尾辞配列構築手段407は、文書検索装置1に入力された文書集合データ101に基づいて、接尾辞配列105を構築する。具体的には、接尾辞配列構築手段407は、文書集合データ101に含まれるすべての文書102(図20参照)のすべての接尾辞103を抽出する。次に、接尾辞配列構築手段407は、抽出された各接尾辞を辞書順にソートすることによって、ソート結果104(図7参照)を生成し、接尾辞配列105を構築する。接尾辞配列構築手段407によって構築される接尾辞配列105は、すべての接尾辞の文書番号及び文書内位置を含む。
BWT構築手段408は、接尾辞配列105の各接尾辞のBWT107を構築する。具体的には、BWT構築手段408は、接尾辞配列105において、context iの文書番号が「d」で文書内位置が「p」であれば、文書dの位置「p−1」の文字をBWTのi番目の文字BWT[i]にセットすればよい。ただし、p=0である場合、BWT[i]に「$」をセットする。
サンプリング手段409は、接尾辞配列105の文書内位置pがサンプリング間隔bで割り切れる接尾辞の文書番号及び文書内位置を抽出する(サンプリングする)ことによってサンプリングされた接尾辞配列204を構築する。なお、サンプリング手段409による処理は、図4で詳細を説明する。
以下、本発明の第2実施形態を図10〜図16を用いて説明する。
以下、本発明の第3実施形態を図17〜図19を用いて説明する。
ただし、vはBWT107に同じ文字があるかを調べる範囲を調整するためのパラメータで、ユーザが指定する。
2 第2実施形態の文書検索装置
401 CPU(中央演算装置)
402 主記憶装置
403 補助記憶装置
404 リムーバブルメディア
405 ネットワーク
406 ユーザインタフェース部
407 接尾辞配列構築手段
408 BWT構築手段
409 第1実施形態のサンプリング手段
410 第1実施形態の検索手段
1102 第2実施形態のサンプリング手段
1103 第2実施形態の検索手段
Claims (11)
- プログラムを実行するプロセッサと、前記プロセッサによって実行されるプログラムを格納するメモリと、を備え、検索キーワードの入力を受け付け、文書における前記入力された検索キーワードの文書内位置を検索する文書検索システムであって、
前記プロセッサが、前記文書を構成する接尾辞を辞書順に並べた接尾辞配列データを生成する接尾辞配列データ生成部と、
前記プロセッサが、前記接尾辞配列データにおいて前記辞書順に並べられた接尾辞のうち一部の接尾辞の文書内位置をサンプリングするサンプリング部と、
前記プロセッサが、前記文書内で前記接尾辞の前にある一文字を追加した接尾辞の前記接尾辞配列データにおける対応箇所を特定する一文字前接尾辞特定処理を実行する一文字前接尾辞特定処理実行部と、
前記プロセッサが、前記サンプリング部によって前記文書内位置がサンプリングされなかった前記接尾辞に対して、前記一文字前接尾辞特定処理を繰り返し実行することによって、当該接尾辞の直近のサンプリングされた接尾辞の文書内位置に基づいて、当該接尾辞の文書内位置を特定する文書内位置特定部と、を備え、
前記文書内位置特定部は、前記接尾辞配列データの任意の連続区間に含まれる接尾辞のうち、前記接尾辞の一文字前にある文字が一致するすべての接尾辞の中から最初の接尾辞及び最後の接尾辞を特定し、
前記一文字前接尾辞特定処理実行部は、前記特定した最初の接尾辞及び最後の接尾辞に対して、前記一文字前接尾辞特定処理を実行し、
前記文書内位置特定部は、前記最初の接尾辞及び最後の接尾辞に対する前記一文字前接尾辞特定処理の実行によって特定された二つの接尾辞に挟まれる区間を、前記接尾辞の一文字前にある文字が一致するすべての接尾辞に対する前記一文字前接尾辞特定処理の結果とすることを特徴とする文書検索システム。 - 前記文書検索システムは、前記プロセッサが、前記接尾辞配列データに含まれる各接尾辞に対して、前記サンプリング部によって文書内位置がサンプリングされた接尾辞から前記接尾辞に到達するまでの前記一文字前接尾辞特定処理の実行回数の最小値であるサンプル距離値を含むサンプル距離データを生成するサンプル距離データ生成部を備え、
前記文書内位置特定部は、前記プロセッサが、前記連続区間において前記接尾辞の一文字前にある文字が一致する接尾辞に対して前記一文字前接尾辞特定処理実行部に前記一文字前接尾辞特定処理を実行させるか否かを判定する一文字前接尾辞特定処理実行判定部を備え、
前記一文字前接尾辞特定処理実行判定部は、前記区間に到達するまでの前記一文字前接尾辞特定処理を実行した回数が、前記区間に含まれる接尾辞に対する前記サンプル距離値の最大値よりも小さければ、前記一文字前接尾辞特定処理実行部に前記一文字前接尾辞特定処理を実行させる必要があると判定することを特徴とする請求項1に記載の文書検索システム。 - 前記サンプル距離データが、前記接尾辞配列データにおける各接尾辞の位置を示す第1軸、及び、前記接尾辞配列データにおける各接尾辞の位置に対応する前記サンプル距離値を示す第2軸からなる2次元領域に、各接尾辞に対応する前記サンプル距離値を点で格納するウェーブレット木形式で記憶され、
前記一文字前接尾辞特定処理実行判定部は、前記ウェーブレット木形式で記憶した前記サンプル距離データに対して、前記区間の範囲によって特定される前記第1軸上の範囲であって、かつ、前記一文字前接尾辞特定処理の実行回数に1を加えた値以上の前記第2軸上の範囲に前記サンプル距離値を示す点が存在する場合、前記一文字前接尾辞特定処理実行部に前記一文字前接尾辞特定処理を実行させる必要があると判定することを特徴とする請求項2に記載の文書検索システム。 - 前記文書内位置データ生成部は、
予め設定された文字数間隔で、前記接尾辞と当該接尾辞の文書内位置とを対応付けた前記文書内位置データを生成し、
前記文字数間隔に位置しない接尾辞であっても、当該接尾辞の前記接尾辞配列データにおける位置を中心とする、ユーザが指定した大きさの範囲にある前記接尾辞の1文字前にある文字が、当該接尾辞の1文字前にある文字と一致しない場合、当該接尾辞の前記文書内位置データを生成することを特徴とする請求項1から請求項3のいずれか一つに記載の文書検索システム。 - 前記接尾辞の文書内位置が前記文書内位置特定部によって特定された場合、前記プロセッサが、前記特定した文書内位置を表示する表示部を備え、
前記表示部は、ある接尾辞の前記文書内位置を前記一文字前接尾辞特定処理実行部に前記一文字前接尾辞特定処理を実行させて特定した場合に、前記文書内位置が重複する場合、重複した文書内位置を一つの文書内位置として表示することを特徴とすることを特徴とする請求項4に記載の文書検索システム。 - プログラムを実行するプロセッサと、前記プロセッサによって実行されるプログラムを格納するメモリと、を備える文書検索システムにおける、検索キーワードの入力を受け付け、文書における前記入力された検索キーワードの文書内位置を検索する文書検索方法であって、
前記方法は、
前記プロセッサが、前記文書を構成する接尾辞を辞書順に並べた接尾辞配列データを生成する接尾辞配列データ生成ステップと、
前記プロセッサが、前記接尾辞配列データにおいて前記辞書順に並べられた接尾辞のうち一部の接尾辞の文書内位置をサンプリングするサンプリングステップと、
前記プロセッサが、前記文書内で前記接尾辞の前にある一文字を追加した接尾辞の前記接尾辞配列データにおける対応箇所を特定する一文字前接尾辞特定処理を実行する一文字前接尾辞特定処理実行ステップと、
前記プロセッサが、前記サンプリングステップによって前記文書内位置がサンプリングされなかった前記接尾辞に対して、前記一文字前接尾辞特定処理を繰り返し実行することによって、当該接尾辞の直近のサンプリングされた接尾辞の文書内位置に基づいて、当該接尾辞の文書内位置を特定する文書内位置特定ステップと、を含み、
前記文書内位置特定ステップでは、前記接尾辞配列データの任意の連続区間に含まれる接尾辞のうち、前記接尾辞の一文字前にある文字が一致するすべての接尾辞の中から最初の接尾辞及び最後の接尾辞を特定し、
前記一文字前接尾辞特定処理実行ステップでは、前記特定した最初の接尾辞及び最後の接尾辞に対して、前記一文字前接尾辞特定処理を実行し、
前記文書内位置特定ステップは、前記最初の接尾辞及び最後の接尾辞に対する前記一文字前接尾辞特定処理の実行によって特定された二つの接尾辞に挟まれる区間を、前記接尾辞の一文字前にある文字が一致するすべての接尾辞に対する前記一文字前接尾辞特定処理の結果とすることを特徴とする文書検索方法。 - 前記方法は、前記プロセッサが、前記接尾辞配列データに含まれる各接尾辞に対して、前記サンプリング部によって文書内位置がサンプリングされた接尾辞から前記接尾辞に到達するまでの前記一文字前接尾辞特定処理の実行回数の最小値であるサンプル距離値を含むサンプル距離データを生成するサンプル距離データ生成ステップを含み、
前記文書内位置特定ステップは、前記プロセッサが、前記連続区間において前記接尾辞の一文字前にある文字が一致する接尾辞に対して前記一文字前接尾辞特定処理実行部に前記一文字前接尾辞特定処理を実行させるか否かを判定する一文字前接尾辞特定処理実行判定ステップを含み、
前記一文字前接尾辞特定処理実行判定ステップでは、前記区間に到達するまでの前記一文字前接尾辞特定処理を実行した回数が、前記区間に含まれる接尾辞に対する前記サンプル距離値の最大値よりも小さければ、前記一文字前接尾辞特定処理実行部に前記一文字前接尾辞特定処理を実行させる必要があると判定することを特徴とする請求項6に記載の文書検索方法。 - 前記サンプル距離データは、前記接尾辞配列データにおける各接尾辞の位置を示す第1軸、及び、前記接尾辞配列データにおける各接尾辞の位置に対応する前記サンプル距離値を示す第2軸からなる2次元領域に、各接尾辞に対応する前記サンプル距離値を点で格納するウェーブレット木形式で記憶するデータであり、
前記一文字前接尾辞特定処理実行判定ステップでは、前記ウェーブレット木形式で記憶した前記サンプル距離データに対して、前記区間の範囲によって特定される前記第1軸上の範囲であって、かつ、前記一文字前接尾辞特定処理の実行回数に1を加えた値以上の前記第2軸上の範囲に前記サンプル距離値を示す点が存在する場合、前記一文字前接尾辞特定処理実行部に前記一文字前接尾辞特定処理を実行させる必要があると判定することを特徴とする請求項7に記載の文書検索方法。 - 前記文書内位置データ生成ステップは、
予め設定された文字数間隔で、前記接尾辞と当該接尾辞の文書内位置とを対応付けた前記文書内位置データを生成するステップと、
前記文字数間隔に位置しない接尾辞であっても、当該接尾辞の前記接尾辞配列データにおける位置を中心とする、ユーザが指定した大きさの前記接尾辞の1文字前にある文字が、当該接尾辞の1文字前にある文字と一致しない場合、当該接尾辞の前記文書内位置データを生成するステップと、を含むことを特徴とする請求項6から請求項8のいずれか一つに記載の文書検索方法。 - 前記方法は、前記接尾辞の文書内位置が前記文書内位置特定部によって特定された場合、前記プロセッサが前記特定した文書内位置を表示する表示ステップを含み、
前記表示ステップでは、ある接尾辞の前記文書内位置を前記一文字前接尾辞特定処理実行ステップに前記一文字前接尾辞特定処理を実行させて特定した場合に、前記文書内位置が重複する場合、重複した文書内位置を一つの文書内位置として表示することを特徴とすることを特徴とする請求項9に記載の文書検索方法。 - プログラムを実行するプロセッサと、前記プロセッサによって実行されるプログラムを格納するメモリと、を備える文書検索システムにおいて、検索キーワードの入力を受け付け、文書における前記入力された検索キーワードの文書内位置を検索する処理を前記プロセッサに実行させるプログラムにおいて、
前記処理は、
前記文書を構成する接尾辞を辞書順に並べた接尾辞配列データを前記プロセッサに生成させる接尾辞配列データ生成ステップと、
前記接尾辞配列データにおいて前記辞書順に並べられた接尾辞のうち一部の接尾辞の文書内位置を前記プロセッサにサンプリングさせるサンプリングステップと、
前記文書内で前記接尾辞の前にある一文字を追加した接尾辞の前記接尾辞配列データにおける対応個所を特定する一文字前接尾辞特定処理を前記プロセッサに実行させる一文字前接尾辞特定処理実行ステップと、
前記サンプリングステップによって前記文書内位置がサンプリングされなかった前記接尾辞に対して、前記一文字前接尾辞特定処理を繰り返し実行することによって、当該接尾辞の直近のサンプリングされた接尾辞の文書内位置に基づいて、当該接尾辞の文書内位置を前記プロセッサに特定させる文書内位置特定ステップと、を含み、
前記文書内位置特定ステップでは、前記接尾辞配列データの任意の連続区間に含まれる接尾辞のうち、前記接尾辞の一文字前にある文字が一致するすべての接尾辞の中から最初の接尾辞及び最後の接尾辞を特定し、
前記一文字前接尾辞特定処理実行ステップでは、前記特定した最初の接尾辞及び最後の接尾辞に対して、前記一文字前接尾辞特定処理を実行し、
前記文書内位置特定ステップは、前記最初の接尾辞及び最後の接尾辞に対する前記一文字前接尾辞特定処理の実行によって特定された二つの接尾辞に挟まれる区間を、前記接尾辞の一文字前にある文字が一致するすべての接尾辞に対する前記一文字前接尾辞特定処理の結果とすることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011064724A JP5582358B2 (ja) | 2011-03-23 | 2011-03-23 | 文書検索システム、文書検索方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011064724A JP5582358B2 (ja) | 2011-03-23 | 2011-03-23 | 文書検索システム、文書検索方法、及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012203456A true JP2012203456A (ja) | 2012-10-22 |
JP5582358B2 JP5582358B2 (ja) | 2014-09-03 |
Family
ID=47184452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011064724A Expired - Fee Related JP5582358B2 (ja) | 2011-03-23 | 2011-03-23 | 文書検索システム、文書検索方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5582358B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110532028A (zh) * | 2019-08-30 | 2019-12-03 | 上海浦东发展银行股份有限公司信用卡中心 | 一种基于eclipse生成接口文档的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002229987A (ja) * | 2001-01-11 | 2002-08-16 | Internatl Business Mach Corp <Ibm> | パターン検索方法、パターン検索装置、コンピュータプログラム及び記憶媒体 |
JP2005056223A (ja) * | 2003-08-06 | 2005-03-03 | Inax Corp | テキストデータ検索システム、その方法及びそのプログラム |
JP2009244996A (ja) * | 2008-03-28 | 2009-10-22 | Hitachi High-Technologies Corp | 文字列検索システム及び方法 |
WO2010119783A1 (ja) * | 2009-04-13 | 2010-10-21 | 株式会社日立製作所 | ペア文字列検索システム |
-
2011
- 2011-03-23 JP JP2011064724A patent/JP5582358B2/ja not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002229987A (ja) * | 2001-01-11 | 2002-08-16 | Internatl Business Mach Corp <Ibm> | パターン検索方法、パターン検索装置、コンピュータプログラム及び記憶媒体 |
JP2005056223A (ja) * | 2003-08-06 | 2005-03-03 | Inax Corp | テキストデータ検索システム、その方法及びそのプログラム |
JP2009244996A (ja) * | 2008-03-28 | 2009-10-22 | Hitachi High-Technologies Corp | 文字列検索システム及び方法 |
WO2010119783A1 (ja) * | 2009-04-13 | 2010-10-21 | 株式会社日立製作所 | ペア文字列検索システム |
Non-Patent Citations (2)
Title |
---|
CSNG201100308002; 岡野原 大輔: '大規模文字列解析の理論と実践' 電子情報通信学会技術研究報告 第110巻,第76号, 20100607, p.15〜22, 社団法人電子情報通信学会 * |
JPN6014001393; 岡野原 大輔: '大規模文字列解析の理論と実践' 電子情報通信学会技術研究報告 第110巻,第76号, 20100607, p.15〜22, 社団法人電子情報通信学会 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110532028A (zh) * | 2019-08-30 | 2019-12-03 | 上海浦东发展银行股份有限公司信用卡中心 | 一种基于eclipse生成接口文档的方法 |
CN110532028B (zh) * | 2019-08-30 | 2023-11-21 | 上海浦东发展银行股份有限公司信用卡中心 | 一种基于eclipse生成接口文档的方法 |
Also Published As
Publication number | Publication date |
---|---|
JP5582358B2 (ja) | 2014-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8533203B2 (en) | Identifying synonyms of entities using a document collection | |
US10579661B2 (en) | System and method for machine learning and classifying data | |
US11734364B2 (en) | Method and system for document similarity analysis | |
US10360294B2 (en) | Methods and systems for efficient and accurate text extraction from unstructured documents | |
EP2804115B1 (en) | Index scan device and index scan method | |
JP5985040B2 (ja) | データ解析装置、及びその方法 | |
WO2017160340A1 (en) | Automatic content-based append detection | |
JP5844824B2 (ja) | Sparqlクエリ最適化方法 | |
JP6428615B2 (ja) | 多次元範囲検索装置及び多次元範囲検索方法 | |
JP2019204246A (ja) | 学習データ作成方法及び学習データ作成装置 | |
JP2013041385A (ja) | 文献検索方法、文献検索装置及び文献検索プログラム | |
CN113536763A (zh) | 一种信息处理方法、装置、设备及存储介质 | |
JP5716966B2 (ja) | データ分析装置、データ分析方法及びプログラム | |
JP5812007B2 (ja) | インデックス作成装置、データ検索装置、インデックス作成方法、データ検索方法、インデックス作成プログラムおよびデータ検索プログラム | |
JP5582358B2 (ja) | 文書検索システム、文書検索方法、及びプログラム | |
CN105373521B (zh) | 一种基于Minwise Hash动态多阈值过滤计算文本相似度的方法 | |
KR102062139B1 (ko) | 지능형 자료구조 기반의 데이터 처리 방법 및 그를 위한 장치 | |
JP5736589B2 (ja) | 数列データ検索装置、数列データ検索方法及びプログラム | |
WO2013069149A1 (ja) | データ検索装置、データの検索方法及びプログラム | |
Kaur et al. | Sentimental analysis using various analytical tools from hadoop eco system | |
JP5472929B2 (ja) | 文書検索装置、文書検索方法及び文書検索プログラム | |
JP2011008811A (ja) | プログラム、及びデータ抽出方法 | |
JP4189251B2 (ja) | キーワード解析方法及びそれに使用するプログラム | |
JP2009301511A (ja) | 索引情報作成装置、索引情報作成方法及びプログラム | |
JPWO2007066414A1 (ja) | プログラム、及びデータ抽出方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130612 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131219 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140121 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140320 |
|
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: 20140617 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140702 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5582358 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |