JP2005234930A - 文書管理装置および文書管理方法 - Google Patents
文書管理装置および文書管理方法 Download PDFInfo
- Publication number
- JP2005234930A JP2005234930A JP2004043982A JP2004043982A JP2005234930A JP 2005234930 A JP2005234930 A JP 2005234930A JP 2004043982 A JP2004043982 A JP 2004043982A JP 2004043982 A JP2004043982 A JP 2004043982A JP 2005234930 A JP2005234930 A JP 2005234930A
- Authority
- JP
- Japan
- Prior art keywords
- document
- character string
- partial character
- data
- post
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【解決手段】 索引データ格納時、Gramデータによりポストデータ領域を分けて、更にGramデータの前置語や後置語によりポストデータ領域を分けて索引データを格納する。検索時、キーワードのGramデータおよびこのGramデータの前置語や後置語によって、ポストデータ領域を制限してスキャンすることにより前記キーワードを含む文書を検索する。
【選択図】 図7
Description
1)言語に依存した辞書が不要である。多言語展開も容易である。
2)空白などの語彙区切りができない日本語、中国語、韓国語などで利用されている。
3)オフセットなどと組合せれば、検索漏れが無い。
1)形態素解析をベースとした索引方式と比較して、多くの索引データが切り出されてしまう。このため索引データサイズが大きくなったり、格納スピードの低下を招いたりする。
2)Nの長さについてトレードオフがある。Nの長さが大きければ、索引データの候補が絞り込まれて検索速度は速くなる。しかし、Nの長さが大きければ、Gramデータ領域が指数敵に増大してしまう。
3)長大なキーワードが与えられた場合、切り出されたGram数が多くなり、検索速度が悪化する。
特許文献1の文書検索方法は、検索タームの部分文字列と同じ位置関係を持つテキストデータの位置情報を抽出するインデクス検索ステップと、テキストデータの部分文字列に対応するインデクスのサイズと予め定められた基準インデクスサイズとを比較するインデクスサイズ比較ステップと、該インデクスのサイズが該基準インデクスサイズより大きい場合に、該インデクスに対応する部分文字列が前記インデクス検索ステップで検索される可能性が高いかどうかを判定する検索可能性判定ステップと、該部分文字列が前記インデクス検索ステップで検索される可能性が高い場合に、該部分文字列に文字列を追加した拡張部分文字列と該拡張部分文字列に対応するインデクスを作成する文字列インクリメントステップを有する。
この発明は、長大なキーワードが与えられた場合にも、検索速度がより高速な文書管理装置および文書管理方法を提供することを目的とする。
(第1の実施形態)
図1は、この発明の第1の実施形態に係る文書管理装置の構成を示す図である。
図1において文書管理システム100は、文書格納部101,文書検索部102,Gramデータ管理部103,ポストデータ管理部104から構成されている。
文書管理システム100は、ネットワーク110に接続されており、ネットワーク110に接続された端末120から文書格納や文書検索の要求を受ける。
データファイル130は、文書管理システム100により生成されたもので、文書内にあるテキストデータや索引データが格納されたファイルである。このファイルは記憶媒体等に記憶される。
ポストデータ管理部104は、データファイル130内のポストデータ領域133を管理し、ポストデータの新規作成,更新,検索を行う。
以下、N−GramにおけるNの値を2、即ちBi−Gramで切り出すこととして話しを進めていく。
図2は、従来技術に基づくデータファイルの構成例を示す図である。
図2において、索引データは、Gramデータ領域132とポストデータ領域133から構成されている。
Gramデータ領域132は、文書内にあるテキストデータから抽出されたGramの情報を管理している。
ポストデータ領域133は、文書内にあるテキストデータから抽出されたGramの位置情報を管理している。
Gramデータ領域132は、文書内にあるテキストデータから抽出されたGram、ここでは“燃料”,“カリ”,“電池”,・・・などのGramデータが並べられており、このGramデータからポストデータ領域133のポストブロックが指定されている。この指定は、メモリであればメモリ上のアドレスが指定され,ファイルであればオフセットによりリンクしている。
図3は、従来技術に基づく文書管理システムによる文書格納処理の動作を説明するためのフローチャートである。なお、特にことわらない限り次の動作は、文書管理システム全体を制御する制御部が、文書管理システムを制御することにより動作している。
次に、ステップS301で読んだ文書に文書識別子および文書IDを割当てる(ステップS302)。
次に、文書のデータを1文字ずつシフトしながら<Gram,データ内オフセット>集合を取り出す(ステップS303)。例えば、文書のデータが“燃料電池とは”であれば、<“燃料”,0>,<“料電”,1>,<“電池”,2>,<“池と”,3>,<“とは”,4>,<“は△”,5>という集合が得られる。なお、△は末尾文字のために用意された空文字である。図4にこのイメージ図を示す。この文書には、文書ID=102が割当てられている。
次に、ステップS303で取り出した<Gram,データ内オフセット>集合の中に、Gramデータ領域に該当するGramデータがあるか否かを判定する(ステップS305)。
次に、ステップS308における判定の結果、ポストブロックが一杯になっていれば(ステップS308のYes)、該当Gram向けに新たなポストブロックを確保する(ステップS309)。
この結果、必ずGramデータ領域に該当するGramデータが存在すると共にポストデータ領域にポストブロックが存在し、ポストブロックにはリンク情報がありチェーンで繋がっている状態となる。
次に、キーワードのデータを2文字ずつシフトしながら<Gram>集合を取り出すと共に、カレントポスト集合を空にする(ステップS502)。例えば、キーワードのデータが“燃料電池”であれば、“燃料”,“電池”というGramを切り出す。つまり1文字だけ重複を持たせながら1文字ずつシフトするのではなく、重複を持たせないように2文字ずつシフトさせている。
次に、Gramデータ領域にアクセスし、該当Gramデータから先頭のポストブロック領域を取り出す(ステップS504)。この先頭のポストブロック領域を取り出すときには、Gramデータからポストデータ領域のポストブロックへのリンクをたどることで取り出す。
ステップS507の判定の結果、カレントポスト集合が空であれば(ステップS507のYes)、マージ処理をスキップしてステップS510へ進む。
ステップS507の判定の結果、カレントポスト集合が空でなければ(ステップS507のNo)、このカレントポスト集合と現ポスト集合とをマージして、新たなカレントポスト集合とする(ステップS508)。
“燃料電池”という検索要求、つまりキーワードから“燃料”,“電池”というGramを切り出し、それぞれ該当するポストブロックをスキャンしている。
この結果、“燃料”GramからPBID=1023のポストブロックをスキャンし、<98,1>,<102,0>,<182,67>を含むポストデータ集合を得る。
この2つの配列をマージする。“燃料”と“電池”では2文字ずれているので、ポストデータ<文書ID,文書内テキストデータ中のオフセット>で比較し、文書内テキストデータ中のオフセットの差分が+2(“電池”Gramから得られたポストデータの方のオフセット−“燃料”Gramから得られたポストデータの方のオフセット=+2)であるポスト集合をマージ結果とする。
ここで“電池”Gramに関するポスト集合では、“カリウム電池”,“アルカリ電池”など、他の語彙で発生したポストデータも含まれているため、ポストブロック単位で5ポストブロックもデータスキャンが行われている。
−無駄なマージなどCPU処理が必要以上に生じてしまう。
Gramデータ領域とポストデータ領域から構成されることは変わりが無い。ただし、各Gramデータからポストブロックへのリンク構造に違いがある。
例えば、“電池”Gramのポスト情報では、4つのノードからなるツリーが存在している。1つの先頭(ルート)ノード701から3つのノード702〜704へリンクが張られている。また、それぞれのノードからポストデータ領域にある複数のポストブロックへのリンクが張られている。
各ノードは「ポストブロックツリー要素」という名称となっている。ポストブロックツリーの構造は以下の通りである。
−ハッシュパラメータ…これはツリー形式となっているポストブロックツリー要素をルートからたどるときに条件によりたどり方を制御する。この制御をするためのパラメータとしてハッシュパラメータを格納している。兄弟のポストブロックツリー要素は同じハッシュパラメータを持つ。例えば、兄弟のポストブロックツリー要素00〜02は、ハッシュパラメータの値として「3」を持つ。
−ポストブロック位置:同じハッシュ値を持つ先頭のポストブロック位置としてPBIDを指す。
−下位要素数:子供のポストブロックツリー要素のハッシュパラメータと同じである。子供のポストブロックツリー要素数を設定している。
−下位要素[n]:それぞれ異なるハッシュ値を持つポストブロックツリー要素へのリンクをセットしている。“電池”の前に位置する語(前置語)、“燃料”の“料”、“アルカリ”の“リ”、“カリウム”の“ム”などにより必要なブロックスキャン範囲を限定するために用いられる。
但し、Word:前置語,HashParam:ハッシュパラメータ,%:剰余。
すなわち前置語のハッシュ値が、 Hash(Word,3) = 0 であれば、ポストブロックツリー要素00が指しているポストブロックPBID=2548から繋がるチェーンのみをスキャンすればよいことになる。なお、先頭ポストブロックツリー要素0が指しているポストブロックは、前置語に関らないのでチェーンを全部スキャンする必要がある。
図3と比較し、ステップS304〜S309の繰り返し処理が、ステップS904〜S915の繰り返し処理になっている点が異なる。ステップS904〜S915の繰り返し処理では、Gramデータにポストブロックツリーを構築すると共に、ポストブロックツリーに合わせてポストデータ領域にポストデータブロックを構築している。なお、特にことわらない限り次の動作は、文書管理システム全体を制御する制御部が、文書管理システムを制御することにより動作している。
図9において、文書管理システムは、ステップS303の次に、<Gram,データ内オフセット>集合の各要素について以下を繰り返す(ステップS904)。
次に、ステップS303で取り出した<Gram,データ内オフセット>集合の中に、Gramデータ領域に該当するGramデータがあるか否かを判定する(ステップS905)。
ステップS908またはステップS909の次に、ポストブロックの最後に<文書ID,データ内オフセット>を追加する(ステップS910)。
次に、ポストブロックが一杯になったか否かを判定する(ステップS911)。
次に、ステップS911における判定の結果、ポストブロックが一杯になっていれば(ステップS911のYes)、該当Gram向けに新たなポストブロックを確保する(ステップS912)。
この結果、Gramデータにポストブロックツリーが構築される。
図10は、本発明に基づく文書検索処理の動作を説明するためのフローチャートである。
図5と比較し、ステップS503以降の処理が、ステップS1003以降の処理になっている点が異なる。なお、特にことわらない限り次の動作は、文書管理システム全体を制御する制御部が、文書管理システムを制御することにより動作している。
次に、Gramデータ領域にアクセスし、該当Gramデータから先頭のポストブロック要素を取り出す(ステップS1004)。この先頭のポストブロック要素を取り出すときには、Gramデータからポストブロック要素へのリンクをたどることで取り出す。
ステップS1005の判定の結果、前置語があれば(ステップS1005のYes)、前置語よりハッシュ値を計算し、ポストブロックツリーをたどって末端のポストブロックツリー要素を得る(ステップS1006)。ステップS1005の判定の結果、前置語がなければ(ステップS1005のNo)、ポストブロックツリーを深さ優先で全てたどる(ステップS1007)。なお、この深さ優先でたどるとは、ルートから行けるところまで深くたどっていき、進めなくなったらまだたどっていない枝がある最初の分岐まで引き返し、まだ進んでいない枝を行けるところまで深くたどる動作を繰り返すたどり方である。このようにしてツリー上の全ての要素についてたどる。
次に、ステップS1006或いはステップS1007でたどることにより得た、末端のポストブロックツリー要素からリンクされているポストブロックをすべてスキャンし、ポスト集合を生成する(ステップS1008〜S1010)。
ステップS1011の判定の結果、カレントポスト集合が空でなければ(ステップS1011のNo)、このカレントポスト集合と現ポスト集合とをマージして、新たなカレントポスト集合とする(ステップS1012)。
検索キーワードとして“燃料電池”が与えられた場合、“電池”に関するポストブロックは“料”という前置語により絞り込まれて、PBID=2547および2551の2つのポストブロックをスキャンしている。
ポストブロックツリーを、前置語だけでなく後置語にもよって更に細分化させ、これに応じてポストデータ領域のポストブロックを構築する。検索時に、更に後置語のハッシュ値に応じてスキャンする必要があるポストブロックを絞り込む。
図13は、テキストのような非構造化文書ではなく、構造化文書のタグ情報を利用する方式のイメージ図である。タグID(図13のPID)を利用してスキャンする範囲をより絞り込むことができる。この方法は、予めどのPIDの中にテキストが含まれているかにより、更にポストデータ領域を分けてポストブロックを記録しておく。そして、検索時にキーワードと、当該キーワードが構造化文書のどの位置に含まれていたかを示す位置情報とによりスキャンするポストブロックを限定する。これにより、更に高速な検索を行うことができる。
Claims (7)
- テキストデータを含む複数の文書の中から、指定されたキーワードを前記テキストデータ内に含む文書を、前記複数の文書から予め作成された索引データを使って検索する文書管理装置において、
入力された文書を格納する文書格納手段と、
前記入力された文書内のテキストデータの一部の文字列である第1の部分文字列および当該第1の部分文字列の前記テキストデータ内での位置情報である第1の位置情報を前記文書内のテキストデータから抽出する第1の抽出手段と、
前記第1の部分文字列および前記第1の部分文字列に隣接する文字との組合せ毎に記憶領域を分けて、前記第1の位置情報および前記文書を識別するための文書識別情報を対応付けた前記索引データを記憶媒体に格納する索引データ格納手段と、
入力されたキーワードの一部の文字列である第2の部分文字列および当該第2の部分文字列の位置情報である第2の位置情報とを抽出する第2の抽出手段と、
前記キーワードの部分文字列間の組合せによって、この組合せによる前記記憶媒体の記憶領域から索引データを取り出し、この取り出した索引データと前記第2の位置情報とを用いて前記キーワードを含む文書を検索する検索手段とを備えたことを特徴とする文書管理装置。 - 前記索引データ格納手段は、
前記第1の部分文字列に隣接する文字として前置語を用いることを特徴とする請求項1記載の文書管理装置。 - 前記索引データ格納手段は、
前記第1の部分文字列に隣接する文字として後置語を用いることを特徴とする請求項1記載の文書管理装置。 - 索引データ格納手段は、
前記第1の部分文字列および前記第1の部分文字列に隣接する文字との組合せ毎に記憶領域を分けると共に、前記索引データを前記記憶媒体に格納する格納数にも応じて更に前記記憶領域を分けて、前記索引データを記憶媒体に格納することを特徴とする請求項1乃至3のいずれか1項に記載の文書管理装置。 - 前記索引データ格納手段は、
前記第1の部分文字列および前記第1の部分文字列に隣接する文字のハッシュ値との組合せ毎に記憶領域を分けてることを特徴とする請求項1記載の文書管理装置。 - テキストデータを含む複数の構造化文書の中から、文書構造を示す情報を除く前記テキストデータ内に、指定されたキーワードを含む構造化文書を、前記複数の構造化文書から予め作成された索引データを使って検索する文書管理装置において、
入力された構造化文書を格納する文書格納手段と、
前記入力された構造化文書内の文書構造を示す情報を除くテキストデータの一部の文字列である第1の部分文字列および当該第1の部分文字列の前記テキストデータ内での位置情報である第1の位置情報を前記構造化文書内のテキストデータから抽出する第1の抽出手段と、
前記第1の部分文字列が属する構造情報によって構造毎に記憶領域を分けて、前記第1の位置情報および前記構造化文書を識別するための構造化文書識別情報からなる前記索引データを記憶媒体に格納する索引データ格納手段と、
入力されたキーワードの一部の文字列である第2の部分文字列および当該第2の部分文字列の位置情報である第2の位置情報とを抽出する第2の抽出手段と、
前記キーワードが属する前記構造情報を入力する構造情報入力手段と、
前記キーワードの部分文字列間の組合せおよび構造情報入力手段によって入力された前記構造情報によって、この組合せによる前記記憶媒体の記憶領域から索引データを取り出し、この取り出した索引データと前記第2の位置情報とを用いて前記キーワードを含む構造化文書を検索する検索手段とを備えたことを特徴とする文書管理装置。 - テキストデータを含む複数の文書の中から、指定されたキーワードを前記テキストデータ内に含む文書を、前記複数の文書から予め作成された索引データを使って検索する文書管理方法において、
文書格納手段により、入力された文書を格納し、
第1の抽出手段により、前記入力された文書内のテキストデータの一部の文字列である第1の部分文字列および当該第1の部分文字列の前記テキストデータ内での位置情報である第1の位置情報を前記文書内のテキストデータから抽出し、
索引データ格納手段により、前記第1の部分文字列および前記第1の部分文字列に隣接する文字との組合せ毎に記憶領域を分けて、前記第1の位置情報および前記文書を識別するための文書識別情報を対応付けた前記索引データを記憶媒体に格納し、
第2の抽出手段により、入力されたキーワードの一部の文字列である第2の部分文字列および当該第2の部分文字列の位置情報である第2の位置情報とを抽出し、
検索手段により、前記キーワードの部分文字列間の組合せによって、この組合せによる前記記憶媒体の記憶領域から索引データを取り出し、この取り出した索引データと前記第2の位置情報とを用いて前記キーワードを含む文書を検索することを特徴とする文書管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004043982A JP2005234930A (ja) | 2004-02-20 | 2004-02-20 | 文書管理装置および文書管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004043982A JP2005234930A (ja) | 2004-02-20 | 2004-02-20 | 文書管理装置および文書管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005234930A true JP2005234930A (ja) | 2005-09-02 |
Family
ID=35017825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004043982A Pending JP2005234930A (ja) | 2004-02-20 | 2004-02-20 | 文書管理装置および文書管理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005234930A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2256655A1 (en) | 2009-03-02 | 2010-12-01 | Fujitsu Limited | Document checking apparatus, computer-readable recording medium, and document checking method |
-
2004
- 2004-02-20 JP JP2004043982A patent/JP2005234930A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2256655A1 (en) | 2009-03-02 | 2010-12-01 | Fujitsu Limited | Document checking apparatus, computer-readable recording medium, and document checking method |
US8453249B2 (en) | 2009-03-02 | 2013-05-28 | Fujitsu Limited | Document checking apparatus, computer-readable recording medium, and document checking method |
US9785635B2 (en) | 2009-03-02 | 2017-10-10 | Fujitsu Limited | Document checking apparatus, computer-readable recording medium, and document checking method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3554459B2 (ja) | テキストデータ登録検索方法 | |
US20130061139A1 (en) | Server-based spell checking on a user device | |
JP4314204B2 (ja) | 文書管理方法、システム及びプログラム | |
JP2006252428A (ja) | マルチリンガル翻訳メモリ、翻訳方法および翻訳プログラム | |
JP5141560B2 (ja) | 情報検索プログラム、該プログラムを記録した記録媒体、情報検索装置、および情報検索方法 | |
JP2009535732A (ja) | ローカルなワードホイーリング/Webサーチのための人口統計に基づく分類 | |
JP2007122719A (ja) | 複数の言語を連動する自動完成推薦語提供システムおよび方法 | |
US20130060560A1 (en) | Server-based spell checking | |
JP5880152B2 (ja) | 文書作成支援プログラム及び文書作成支援装置 | |
CN100361124C (zh) | 用于词分析的系统和方法 | |
CN104199954A (zh) | 一种用于搜索输入的推荐系统及方法 | |
JP2693914B2 (ja) | 検索システム | |
JP2005234930A (ja) | 文書管理装置および文書管理方法 | |
JP4491389B2 (ja) | 電子機器、プログラム、及びプログラムを記録した記録媒体 | |
JP2009104669A (ja) | 文書検索方法、システム及びプログラム | |
JP2002251402A (ja) | 文書検索方法及び文書検索装置 | |
JPH1139315A (ja) | フォーマットされた文書を順序付けされたワードリストへ変換する方法 | |
JP4416644B2 (ja) | 予測機能付き文字処理装置、方法、記録媒体およびプログラム | |
JP2006228046A (ja) | 電子辞書および電子辞書の見出し語登録方法 | |
JP2962287B2 (ja) | 構造化文書検索装置及びプログラムを記録した機械読み取り可能な記録媒体 | |
JP2005044103A (ja) | 文書作成装置、文書作成方法およびプログラム | |
JP5160120B2 (ja) | 情報検索装置、情報検索方法及び情報検索プログラム | |
JP5648360B2 (ja) | 文字列検索装置、文字列検索方法および文字列検索プログラム | |
JPH0821031B2 (ja) | 言語解析装置 | |
JP2005234800A (ja) | 用例機械翻訳装置及び用例翻訳コンピュータプログラム、並びに用例検索装置及び用例検索コンピュータプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20050606 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080325 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080401 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080529 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20081007 |