Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4491480B2 - インデクス構築方法、文書検索装置及びインデクス構築プログラム - Google Patents
[go: Go Back, main page]

JP4491480B2 - インデクス構築方法、文書検索装置及びインデクス構築プログラム - Google Patents

インデクス構築方法、文書検索装置及びインデクス構築プログラム Download PDF

Info

Publication number
JP4491480B2
JP4491480B2 JP2007265697A JP2007265697A JP4491480B2 JP 4491480 B2 JP4491480 B2 JP 4491480B2 JP 2007265697 A JP2007265697 A JP 2007265697A JP 2007265697 A JP2007265697 A JP 2007265697A JP 4491480 B2 JP4491480 B2 JP 4491480B2
Authority
JP
Japan
Prior art keywords
index information
index
clause
trie
search
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
JP2007265697A
Other languages
English (en)
Other versions
JP2009093556A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2007265697A priority Critical patent/JP4491480B2/ja
Priority to US12/059,272 priority patent/US20090100006A1/en
Publication of JP2009093556A publication Critical patent/JP2009093556A/ja
Application granted granted Critical
Publication of JP4491480B2 publication Critical patent/JP4491480B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、文書検索システムにおいて使用されるインデクスを構築する技術に関する。
大規模な文書データベースから指定された検索文字列が含まれる文書を高速に検索する方法として、インデクスを用いる方法が知られている。インデクスには、検索対象となる文書に含まれる複数のキーワードを示す索引項目と、索引項目を含む文書を識別する文書識別情報及び当該文書における索引項目の位置情報などを含む索引情報が記録されている。
このような文書の構築方法では、文書に関する索引項目は、トライ(trie)のような木構造によって管理される。索引情報は木構造の節(葉)に対応付けられる。トライとは、検索対象となる文字列すなわちキーワードの集合(以下、「キー集合」)における各キーワード(以下、「キー」)に共通な部分文字列(記号列)を、共通の節(以下、「節」又は「トライ節」)として括り出して作られる木構造である(特許文献1参照)。コンピュータは、検索文字列をキーに分解し、キーに基づいてトライを探索する。そして、コンピュータは、キーと合致する節に到着すると、当該節に設定されたポインタ情報を取得し、キーに対応する索引情報を読み出す。
また、組み込み機器などにおいては、トライをすべて主記憶装置(メモリ)に記憶させることによって検索性能を向上させるため、トライの複数の節を1つの節に統合(以下、「マージ節」)して、メモリに記憶されたトライの大きさを削減する方法がある。例えば、節「あ」、節「い」、節「う」を有するトライにおいて、これら3つの節を1つのマージ節「あ〜う」に統合する。
次に索引情報について説明する。索引情報は、文字列、文書番号及び出現位置を含む。また、索引情報を同一の文字列ごとに集約し、各要素間で差分を取得して索引情報を圧縮する技術が開示されている(特許文献2参照)。この場合、索引情報の圧縮は同一の文字列を有する索引情報のみとし、同一の文字列を持つ複数の索引情報を圧縮したものを1つの索引情報群(以下、「索引情報ブロック」)とする。
特開平8−194718号公報 特開2001−312517号公報
コンピュータがマージ節を含むトライを利用して索引情報を管理する場合、マージ節は、複数の索引情報ブロックをまとめて管理するため、索引情報の更新を含む操作が複数回発生すると、局所的な索引情報ブロックの肥大化又は過疎化が生じる可能性がある。
索引情報ブロックの肥大化とは、特定のマージ節が管理している複数の索引情報ブロックに対して索引情報の追加が集中し、管理している複数の索引情報ブロックの情報量が大幅に増加する現象である。肥大化した索引情報ブロックよりも後方にある索引情報ブロックが検索対象となると、目的の索引情報を抽出するまでの時間が増加し、検索性能が劣化してしまう。
索引情報ブロックの過疎化とは、いくつかの節又はマージ節が管理している索引情報ブロックに索引情報の削除が集中し、それぞれの索引情報ブロックの情報量が大幅に減少する現象である。この場合、対象となった節又はマージ節が管理する索引情報量が非常に小さくなるため、トライのメモリ使用効率が悪化してしまう。
本発明は、このような問題点に鑑みてなされたものであり、索引情報の追加及び削除が繰り返された場合であっても、索引情報の検索を許容検索時間内で開始可能な状態を維持しつつ、トライのメモリ使用効率を維持させることを目的とする。
本発明の代表的な一形態によれば、文書を検索する文書検索装置において実行され、前記文書を所定の文字数で区切ることによって抽出される文字列を索引項目とする索引情報、及び、前記索引項目に含まれる部分文字列を節とするトライによって構成されるインデクスの構築方法であって、前記文書検索装置は、プロセッサ及び記憶部を備え、前記トライは、前記記憶部に生成され、前記索引情報は、前記索引項目が同じ索引情報によって構成される索引情報ブロックごとに管理され、前記トライの節は、一つ以上の前記索引情報ブロックが対応付けられることによって、前記索引情報が関連付けられ、前記インデクス構築方法は、前記プロセッサが、前記トライの節に複数の索引情報ブロックが対応する場合に、前記トライの節に関連付けられた索引情報の検索時間が所定の第1の閾値を超えると、前記対応する複数の索引情報ブロックに含まれる索引情報ブロックが途中で分割されないように、前記トライの節に関連付けられた索引情報を分割し、前記プロセッサが、前記検索対象の索引情報を含む索引情報ブロックに対応するトライの節の親の節に接続される新たな節を生成し、前記プロセッサが、前記新たに生成された節に前記分割された索引情報を関連付ける。
本発明の一形態によれば、長期間の運用などによって索引情報の追加が繰り返された場合であっても、索引情報の検索を所定の許容検索時間内で開始可能な状態を維持することができる。
以下、図を参照しながら、本発明の実施の形態を説明する。
(第1の実施の形態)
図1は、本発明の第1の実施の形態の文書登録検索システム100の構成を示す図である。
第1の実施の形態では、肥大化した索引情報を分割することによって、検索開始時間を許容検索時間内に維持する方法について説明する。
本発明の第1の実施の形態の文書登録検索システム(トライ生成装置及び文書検索装置)100は、出力装置101、入力装置102、CPU(中央演算装置、Central Processing Unit)103、主記憶装置111、及び二次記憶装置105を含む。出力装置101、入力装置102、CPU103、主記憶装置111、及び二次記憶装置105は、バス104によって互いに接続される。なお、本発明の第1の実施の形態の文書登録検索システムでは、単一の計算機に機能が実装されているが、例えば、検索対象の文書本体は、別の計算機に格納されるなど、複数の計算機によって構成されていてもよい。
出力装置101は、CPU103によって実行された検索結果などを表示する。出力装置101は、例えば、ディスプレイである。入力装置102は、文書を登録したり、検索コマンド及び検索文字列の入力を受け付けたりする。入力装置102は、例えば、キーボードである。
主記憶装置111は、インデクス登録用の機能及びインデクス検索用の機能を実現するための各構成部、及び、各処理で入出力されるデータなどを一時的に記憶する。CPU103は、主記憶装置111に記憶された各構成部を実行することによって、インデクスの登録処理及び検索文字列の検索処理を実行する。二次記憶装置105は、各データ及び各構成部を格納する。
また、二次記憶装置105には、ディスクキャッシュ(図示せず)を備える。ディスクキャッシュは、HDDなどのアクセスが低速な記憶装置に記録されているデータの一部が移され、データの読み出しを高速化する。ディスクキャッシュは、二次記憶装置105が備えるRAM(Random Access Memory)等の半導体メモリによって構成される。また、主記憶装置111も、RAM等により構成される。二次記憶装置105は、HDD(Hard Disk Drive)又はフラッシュメモリなどによって構成される。
二次記憶装置105には、文書登録検索システム100全体を制御するシステム制御部113に加え、登録用の処理として文書制御部112及びインデクス作成部114、検索及び更新用の処理としてトライ検索部117及び索引情報分割部118が格納される。システム制御部113、文書制御部112、インデクス作成部114、トライ検索部117及び索引情報分割部118は、プログラムである。各構成部は、主記憶装置111上に読み出され、CPU103によって実行される。図1では、各構成部が、主記憶装置111上に読み出された状態を示している。また、主記憶装置111には、各データを一時的に格納するワークエリア121及びトライ格納領域122が割り当てられている。
次に各構成部によって実行される処理の概要を説明する。
システム制御部113は、出力装置101を介して利用者に情報を提示し、入力装置102を介して利用者からの入力を受け付ける。さらに、他の構成部の実行を制御する。
文書制御部112は、インデクス作成部114、トライ検索部117及び索引情報分割部118を制御する。
インデクス作成部114は、トライ初期化部115及び索引情報作成部116を含む。トライ初期化部115は、トライを初期化する。索引情報作成部116は、索引情報を作成(生成)する。具体的には、検索対象となる文書を任意のグラム数(文字数)ごとに区切った文字列に分割し、文書番号109、出現位置110及び文字列123を含む複数の索引情報を作成(生成)する。さらに、同一の文字列を有する索引情報ごとにまとめ、文書番号に基づいて昇順に整列する。文書番号が同じ文書の場合には出現位置に基づいて整列する。最後に、整列された索引情報から重複情報を削除し、索引情報ブロックを生成する。
トライ検索部117は、トライを検索し、目的の索引情報を取得する。
索引情報分割部118は、索引情報変更部119とトライ節分割部120を含む。索引情報変更部119は、トライ検索部117によって検索された索引情報ブロックの更新又は切り離しを実行する。トライ節分割部120は、複数の節をまとめられていたトライの節を分割し、新たに生成されたトライの節を切り離された索引情報ブロックに対応させる。
二次記憶装置105は、テキスト106、トライ107及び複数の索引情報108を格納する。テキスト106は、文書データである。索引情報108は、テキスト106に対応し、文書番号109、出現位置110及び文字列123を含む。トライ107は、トライの構造に関する情報を格納する。
以上が、本発明の第1の実施の形態の構成である。以下、本発明の第1の実施の形態の索引情報分割処理について説明する。
<索引情報分割>
索引情報分割処理は、利用者によって入力されたキーワードを用いたインデクスの検索又は更新処理において、CPU103が、システム制御部113を介して文書制御部112を処理することによって実行される。
図2は、本発明の第1の実施の形態の索引情報分割前の索引情報の一部が肥大化しているインデクスの状態を示す図である。
インデクス202は、トライ200、索引情報201及びポインタ情報203を含む。例えば、インデクス202に対して、文字列「あき」を更新する場合について説明すると、CPU103は、トライ検索部117を実行し、トライ200の1グラム目の節「あ」、当該節に接続される2グラム目のマージ節「あ〜ん」の順に辿り、ポインタ情報203(ptr1)が示す索引情報をワークエリア121に格納する。
さらに、CPU103は、索引情報分割部118を実行し、ワークエリア121に格納された索引情報を「あき」が出現するまで先頭から検索する。このとき、図1に示すように、索引情報ブロック「ああ」の検索中に1回、索引情報ブロック「あか」の検索中に1回、許容検索時間204の超過が生じる。
図3は、本発明の第1の実施の形態の索引情報分割前のインデクス202の索引情報を検索するために必要な検索時間を示すグラフ300である。
本発明の第1の実施の形態では、索引情報ブロックごとに索引情報を分割するため、分割可能範囲は、1つ又は複数の索引情報ブロックごとになる。また、索引情報の先頭から、索引情報ブロック「あき」が検索されるまでの間にある1つ又は複数の索引情報ブロックが分割対象305となる。
本発明の第1の実施の形態では、文字列「あき」が検索されるまでに、まず、索引情報ブロック「ああ」で許容検索時間301を超過する。このとき、索引情報分割部118は、索引情報ブロック「ああ」には分割が必要と判断する。分割可能範囲302は、索引情報ブロック「ああ」となるため、次の許容検索時間303の計測開始は、索引情報ブロック「あい」からとなる。
引き続き、文字列「あき」を検索すると、索引情報ブロック「あか」を検索中に再び許容検索時間303を超過する。このとき、索引情報分割部118は、索引情報ブロック「あか」の分割が必要であると判断する。分割可能範囲304は、索引情報ブロック「あい」から索引情報ブロック「あか」となり、次の許容検索時間の計測開始は、索引情報ブロック「あき」からとなる。
索引情報ブロック「あき」は、検索対象の索引情報を含む索引情報ブロックであるため、CPU103は、索引情報分割部118を実行し、索引情報ブロック「あき」を検索する。なお、「あき」以降の索引情報ブロックは、分割対象外306となる。例えば、別の機会に、索引情報ブロック「あわ」を検索した場合に、許容検索時間を超過すると索引情報分割部118を実行して索引情報を分割する。
図4は、本発明の第1の実施の形態の索引情報分割後のインデクス402を示す図である。
インデクス402は、トライ400、索引情報401及びポインタ情報403を含む。前述したように、図2に示したインデクス202における、ポインタ情報203(ptr1)によって示される索引情報が3つの索引情報に分割されている。具体的には、トライ200では、節「あ」にマージ節「あ〜ん」の1つの節が接続されていたが、索引情報が分割されたトライ400では、節「あ」に節「あ」、マージ節「い〜か」及びマージ節「き〜ん」の3つの節が接続される。そして、ポインタ情報403には新たにptr8及びptr9が追加され、ptr8には索引情報ブロック「あい」から索引情報ブロック「あか」を含む索引情報を示すポインタ情報、ptr9には索引情報ブロック「あき」から索引情報ブロック「あん」を含む索引情報を示すポインタ情報が格納される。また、ポインタ情報403のptr1は、索引情報ブロック「ああ」のみを示すように変更される。
このように、許容検索時間を閾値として、マージ節「あ〜ん」を、節「あ」、マージ節「あ〜か」、及びマージ節「き〜ん」の3つの節又はマージ節に分割することによって、許容検索時間内に「あき」の検索を開始することができる。また、「あい」から「あか」までの文字列を索引項目とする索引情報についても許容検索時間内に検索を開始することができるようになる。
図5は、本発明の第1の実施の形態の索引情報分割後のインデクス402の索引情報を検索するために必要な検索時間を示すグラフ500である。
グラフ500は、1グラム目の節「あ」以下の節「あ」、マージ節「い〜か」、マージ節「き〜ん」における検索時間を示している。図3に示した分割対象305にあたる索引情報ブロック「ああ」から索引情報ブロック「あか」に関して、許容検索時間を基準とし、索引情報を分割した結果、分割対象305となったすべての索引情報ブロックの検索開始時間を許容検索時間501内に収めることができる。
また、前述のように、索引情報ブロック「あき」から索引情報ブロック「あん」を含む索引情報は、文字列「あき」を検索対象とした場合には、分割対象外である。この場合には、例えば、文字列「あん」について検索が実行された場合に、索引情報分割の対象となる。そして、索引情報分割部118によって索引情報の分割が必要と判定された場合には、索引情報ブロック「あき」から索引情報ブロック「あん」によって構成される索引情報は分割される。
<索引情報分割部>
図6は、本発明の第1の実施の形態の索引情報分割部118の処理手順を示すPAD(Program Analysis Diagram)である。
CPU103は、まず、索引情報分割部118を実行し、トライ検索部117によって検索された節が有するポインタ情報が示す索引情報を取得する。そして、取得された索引情報をワークエリア121に格納し、格納先のアドレスを変数IDXに登録する。さらに、次の検索又は更新する索引情報へのアドレスを示す変数NEXTにはNULL値(無効値)を登録する。また、索引情報の分割が必要か否かを判定するための変数CHGに‘Y’(分割必要)を登録する(S600)。
次に、CPU103は、索引情報変更部119を実行し、索引情報を検索又は更新する。索引情報変更部119を実行した結果、索引情報を分割する必要がある場合には、変数CHGに‘Y’が登録され、分割後に検索及び更新対象となる索引情報が格納されたワークエリア121に格納されたアドレスが変数NEXTに格納される。分割する必要がない場合には、既に索引情報の検索又は更新が完了しているため、変数CHGに‘N’(分割不要)が登録される(S602)。
CPU103は、索引情報変更部119の実行結果が‘Y’であった場合、すなわち、索引情報の分割が必要と判定された場合には(S603)、トライ節分割部120を実行する。トライ節分割部120が実行されると、現在検索対象となっている索引情報に対応する節は、変数NEXTが示す索引情報の一つ前の索引情報ブロックまでを管理する節と、変数NEXTが示す索引情報を有する索引情報ブロックを管理する節に分割される。その後、変数NEXTが示す索引情報ブロックを管理する節に対して、変数NEXTが示す索引情報を示すポインタを登録する(S604)。
CPU103は、変数IDXの内容に変数NEXTの内容を登録し、再び索引情報変更部119を実行する(S605)。これらの一連の処理は、索引情報変更部119によって節の分割が不要と判定されるまで繰り返される(S601)。
<索引情報変更部>
図7は、本発明の第1の実施の形態の索引情報変更部119の処理手順を示すPADである。
CPU103は、まず、検索開始時間として、変数TIMEに現在時刻を格納する(S700)。さらに、変数NEXTに検索対象の索引情報が格納されたワークエリア121上のアドレスを格納する(S701)。
CPU103は、変数NEXTが示すワークエリア121上に読み出し可能な索引情報が1件以上残っている場合には(S702)、索引情報を1件読み出す(S703)。ワークエリア121に読み出し可能な索引情報が存在しない場合には、検索対象が索引情報に含まれていなかったことを示す検索・更新対象なしフラグ(‘U’)を呼び出し元に送信する(S719)。
CPU103は、読み出された索引情報の索引項目が検索キーと一致する場合には(S704)、さらに、更新対象となっているか否かを判定する(S705)。そして、読み出された索引情報が更新対象であった場合には、当該索引情報又は当該索引情報の前後の位置にある索引情報を更新する(S706)。なお、索引情報を更新するか否かを判定する更新フラグは、索引情報分割部118を実行する呼出し元の処理で設定される。検索又は更新対象となる索引情報を取得した後は、以降の索引情報を検索又は更新する必要がないため、本処理を終了し、分割不要フラグ(‘N’)を呼び出し元に送信する(S707)。
一方、CPU103は、読み出された索引情報の索引項目が検索キーと一致せず、検索時間が許容検索時間を超過した場合には(S708)、現在検索している索引情報ブロックの走査が終了するまで(S709)、順番に1件ずつ索引情報を読み出す(S710)。そして、読み出された索引情報の索引項目が検索キーと一致するか否かを確認し(S711)、更新対象である場合には(S712)、索引情報を更新する(S713)。検索又は更新対象となる索引情報が読み出された場合には、読み出された位置を検索又は更新処理の終点とし、分割不要フラグ(‘N’)を呼び出し元に送信する(S714)。
CPU103は、検索時間が許容検索時間を超過し、検索中の索引情報ブロックの走査が終了すると、次の検索する対象の索引情報ブロックが存在するか否かを判定する(S715)。次の索引情報ブロックが存在する場合には、変数NEXTに次の索引情報ブロックが格納されているワークエリアのアドレスを格納し(S716)、分割必要フラグ(‘Y’)を呼び出し元に送信する(S717)。次の索引情報ブロックが存在しなかった場合には、検索対象が索引情報に含まれていなかったことを示す検索・更新対象なしフラグ(‘U’)を呼び出し元に送信する(S718)。
<トライ節分割部>
図8は、本発明の第1の実施の形態のトライ節分割部120の処理手順を示すPADである。
CPU103は、まず、分割された索引情報を管理するための新たな節をトライ格納領域122に作成(生成)する(S800)。そして、現在検索対象となっている節の親の節を取得し(S801)、新たに作成された節を取得された親の節に接続する(S802)。
CPU103は、新たに生成された節の文字管理範囲を分割対象となった索引情報ブロックを示す文字から、分割前の節が管理していた最終文字までに変更する(S803)。また、分割された索引情報を示すポインタを新たに生成した節に登録する(S804)。そして、現在の検索対象となっている節には、文字管理範囲の最終文字を分割対象となった索引情報ブロックを示す文字の一つ前の文字を設定する(S805)。
本発明の第1の実施の形態によれば、索引情報ブロックが肥大化することによって検索性能が劣化することを防ぐことができる。
また、本発明の第1の実施の形態における索引情報分割処理は、索引情報の更新処理又は検索処理を実行する場合にあわせて実行される。したがって、利用者が通常の操作を実行しながら、意識せずに肥大化した索引情報を分割することができる。なお、利用者が文書登録検索システム100の索引情報をメンテナンスするために、利用者の指示によって索引情報分割処理をするようにしてもよいし、定期的に索引情報分割処理が実行されるようにしてもよい。
(第2の実施の形態)
本発明の第1の実施の形態では、索引情報ブロックが肥大化した場合に索引情報ブロックを分割して検索性能を向上させる方法について説明したが、第2の実施の形態では、索引情報ブロックが過疎化した場合の処理について説明する。
前述したように、索引情報ブロックが過疎化すると、節又はマージ節が管理する索引情報量が非常に小さくなるため、トライのメモリ使用効率が悪化してしまう。本発明の第2の実施の形態では、過疎化した索引情報を統合し、トライのメモリ使用効率を向上する方法について説明する。
なお、本発明の第2の実施の形態において、本発明の第1の実施の形態と共通する内容については適宜説明を省略する。
図9は、本発明の第2の実施の形態の文書登録検索システム100の構成を示す図である。
本発明の第1の実施の形態の文書検索システムとの相違点は、索引情報分割部118の代わりに索引情報統合部128が含まれている点である。その他の構成は、第1の実施の形態と同じである。
索引情報統合部128は、索引情報変更部119及びトライ節統合部129を含む。索引情報変更部119による処理は、第1の実施の形態と同じである。トライ節統合部129は、複数のトライ節を結合する。索引情報統合部128及びトライ節統合部129による処理の詳細は後述する。
以下、本発明の第2の実施の形態の索引情報統合処理について説明する。
<索引情報統合>
索引情報統合処理は、利用者が入力したキーワードを用いたインデクスの検索又は更新処理において、CPU103が、システム制御部113を介して文書制御部112を処理することによって実行される。
図10は、本発明の第2の実施の形態の索引情報統合前の索引情報の一部が過疎化しているインデクスの状態を示す図である。
インデクス1002は、トライ1000、索引情報1001及びポインタ情報1003を含む。図上部には、インデクス1002の全体図を示し、図下部には、文字列「い」に対応するインデクス1002の拡大図を示す。
インデクス1002において、文字列「い」を検索する場合には、トライ検索部117を実行することによって、トライ1000の1グラム目の節「い」に接続されるすべての節又はマージ節が管理する索引情報を検索する。検索対象となるトライ1000の1グラム目の節「い」以下には、トライ1004、索引情報1006及びポインタ情報1005が接続される。具体的には、節「い」には、節「あ」、マージ節「い〜た」、マージ節「ち〜を」、及び節「ん」が接続され、それぞれ小さな1つ又は複数の索引情報ブロックが管理されている。
図11A及び図11Bは、本発明の第2の実施の形態の索引情報統合前の索引情報を検索するために必要な検索時間の例を示すグラフである。
グラフ1100及びグラフ1102は、図10に示したトライ1000の1グラム目の節「い」に接続される節「あ」、マージ節「い〜た」、マージ節「ち〜を」、及び節「ん」に対応する索引情報を検索するために必要な検索時間を表している。
グラフ1100及びグラフ1102について、いずれの節又はマージ節が示す索引情報ブロックを検索しても、許容検索時間1101及び許容検索時間1103を大幅に下回るにもかかわらず、トライ1000において節又はマージ節を記憶するメモリが4つの節の分だけ消費されてしまう。
図12A及び図12Bは、本発明の第2の実施の形態の索引情報統合後のインデクスの例を示す図である。
インデクス1202及びインデクス1206は、図10に示したインデクス1002に対し、索引情報統合処理を実行した例である。
インデクス1202は、図11Aに示した索引情報に対応している。インデクス1202は、トライ1200、索引情報1201及びポインタ情報1203によって構成される。図10と相違する点は、図10に示したトライ1000の1グラム目の節「い」に接続される節「あ」、マージ節「い〜た」、マージ節「ち〜を」、及び節「ん」の4つの節が1つのマージ節「あ〜ん」に統合されている点である。そして、ポインタ情報1203からptr3、ptr4、ptr5が削除され、ptr2は、索引情報ブロック「いあ」から索引情報ブロック「いん」を含む索引情報を示すポインタ情報を管理する。
また、インデクス1206は、図11Bに示した索引情報に対応している。インデクス1206は、トライ1204、索引情報1205及びポインタ情報1207によって構成される。インデクス1206では、図10に示したトライ1000の1グラム目の節「い」に接続される節「あ」及びマージ節「い〜た」を1つのマージ節「あ〜た」に統合し、マージ節「ち〜を」及び節「ん」を1つのマージ節「ち〜ん」に統合している。ポインタ情報1207からはptr3、ptr5が削除される。ptr2は、索引情報ブロック「いあ」から索引情報ブロック「いた」を含む索引情報を示すポインタ情報を管理し、ptr4は索引情報ブロック「いち」から索引情報ブロック「いん」を含む索引情報を示すポインタ情報を管理する。
図13A及び図13Bは、本発明の第2の実施の形態の索引情報統合後の索引情報を検索するために必要な検索時間の例を示すグラフである。
図13Aに示すグラフ1300は、索引情報統合後のインデクス1202の検索時間を示すグラフである。グラフ1300を参照すると、許容検索時間1301を基準として索引情報を統合した場合、1つに統合した索引情報ブロックの検索開始時間が許容検索時間1301に収まることがわかる。
また、図13Bに示すグラフ1302は、索引情報統合後のインデクス1206の検索時間を示すグラフである。グラフ1302を参照すると、許容検索時間1303を基準として索引情報を統合した場合、統合したそれぞれの索引情報ブロックの検索開始時間が許容検索時間1303に収まることがわかる。
以上のように索引情報の統合することによって、節又はマージ節を生成するために消費されるメモリ量を低減することができ、メモリの使用効率を向上させることができる。
<索引情報統合部>
図14は、本発明の第2の実施の形態の索引情報統合部128の処理手順を示すPADである。
CPU103は、索引情報統合部128を起動し、検索中の節の番号を表す変数I、経過時間を計測する変数TIME及び統合の対象となる節の数を格納する変数CNTに0を登録する。また、索引情報の統合が可能か否かを判断するために用いる変数CHGに‘U’(検索終了)を登録する(S1400)。
CPU103は、トライ検索部117によって検索された節に対応するポインタ情報が示す複数の索引情報をワークエリア121に格納し、格納先のアドレスを配列変数SRCHに登録する(S1401)。また、配列の個数を変数SRCHCNTに登録する(S1402)。
具体的には、図10に示すインデクス1002では、トライ1000の1グラム目の節「い」に接続される節「あ」、マージ節「い〜た」、マージ節「ち〜を」、及び節「ん」に対応する索引情報を示すポインタが配列変数SRCHに格納される。すなわち、ptr2、ptr3、ptr4、ptr5が配列変数SRCHに格納される。また、配列の個数SRCHCNTは4となる。
CPU103は、変数STARTに検索開始時間を登録する(S1403)。
次に、CPU103は、索引情報の検索処理を検索対象となる節が存在しなくなるまで繰り返し実行する(S1404)。
CPU103は、まず、索引情報変更部119を実行し、索引情報を検索及び更新する。索引情報変更部119を実行した結果、検索継続の場合には変数CHGに‘N’、現在検索対象となっている節が管理する索引情報ブロックの検索を終了した場合には変数CHGに‘U’が登録される(S1405)。なお、索引情報変更部119の処理は、本発明の第1の実施の形態の図7にて説明した処理と同じである。なお、第2の実施の形態では、索引情報変更部119から返却されるフラグが‘Y’の場合には「分割必要」の意味となるが、分割が必要な索引情報は統合する必要がないため、無視される。また、‘N’の場合には「分割不要」の意味となるが、検索対象の索引情報の検索時間が許容検索時間を超えずに統合対象になりうるため、検索を継続することになる。さらに、‘U’は、すべての検索対象の索引情報の検索が終了したことを示すことになる。
CPU103は、変数CHGの値が‘N’の場合には、次の索引情報の検索を実行する(S1412)。また、変数CHGの値が‘U’の場合には(S1406)、統合対象になりうる索引情報ブロックのアドレスを格納する配列変数MERGEのCNT番目に、現在検索していた索引情報ブロックのアドレスを登録し(S1407)、変数CNTの値に1を加算する(S1408)。さらに、検索による経過時間を計測し、変数TIMEに設定する(S1409)。そして、次の検索対象へ移行するために、変数Iの値に1を加算し(S1410)、配列変数SRCHのI番目に格納されている索引情報ブロックのアドレスを変数NEXTに設定する(S1411)。
CPU103は、この時点で許容検索時間を超過していた場合には(S1413)、変数CNTの値が1よりも大きいか否かを判定する。変数CNTの値が1より大きい場合には(S1414)、統合対象となる節と索引情報ブロックが存在するため、トライ節統合部129を実行することによって、節と索引情報ブロックを統合する(S1415)。そして、統合の有無に関わらず、変数TIME及び変数CNTの値を0に設定し(S1416、S1417)、変数STARTに現在時刻を指定する(S1418)。
最後に、CPU103は、すべての索引情報の検索が終了すると、変数CNTの値が1よりも大きいか否かを判定し(S1419)、変数CNTの値が1よりも大きい場合には、統合可能な節が存在するため、トライ節統合部129を実行し、節と索引情報ブロックを統合する(S1420)。
<トライ節統合部>
図15は、本発明の第2の実施の形態のトライ節統合部129の処理手順を示すPADである。
CPU103は、条件変数である変数Jに1を設定する(S1500)。そして、統合対象となる節の親の節を取得し(S1501)、MERGE[1]からMERGE[CNT−1]に対応する節を削除する(S1502、S1503、S1504)。
CPU103は、再び条件変数Jを1に設定し(S1505)、配列変数MERGEの0番目から(CNT−1)番目に対応する索引情報を連結することによって、MERGE[0]に対応する節に登録する(S1506、S1507、S1508)。
最後に、CPU103は、索引情報の統合が完了すると、節に対応する文字管理範囲を、統合した索引情報を管理する文字管理範囲に書き換える(S1509)。
本発明の第2の実施の形態によれば、索引情報ブロックが過疎化することによってメモリ消費量が増大することを防ぎ、メモリの使用効率を向上させることができる。
また、本発明の第2の実施の形態における索引情報統合処理は、索引情報の更新処理又は検索処理を実行する場合にあわせて実行される。したがって、利用者が通常の操作を実行しながら、意識せずに過疎化した索引情報を統合することができる。なお、利用者が文書登録検索システム100の索引情報をメンテナンスするために、利用者の指示によって索引情報統合処理をするようにしてもよいし、定期的に索引情報統合処理が実行されるようにしてもよい。また、第1の実施の形態の索引情報分割処理と、第2の実施の形態の索引情報統合処理とをそれぞれ定期的に実行することによって、索引情報の追加及び削除が繰り返された場合であっても、索引情報の検索を許容検索時間内で開始可能な状態を維持しつつ、トライのメモリ使用効率を維持させることができる。
(その他の実施の形態)
前述した第1の実施の形態及び第2の実施の形態では、節及び索引情報にひらがなを用いる場合を例として説明したが、カタカナ又は漢字を用いることも可能である。また、テキスト106が日本語以外の言語を含むものであれば、当該言語の文字を節及び索引情報に用いるようにすればよい。さらに、1バイト文字又は2バイト文字の文字コードを、2ビット又は4ビットに分割した記号コードの記号を繋げた記号列であってもよい。
また、前述した第1の実施の形態及び第2の実施の形態における許容検索時間は、索引情報分割と索引情報統合で同一の時間であっても異なる時間であってもよい。
本発明の第1の実施の形態の文書登録検索システムの構成を示す図である。 本発明の第1の実施の形態の索引情報分割前の索引情報の一部が肥大化しているインデクスの状態を示す図である。 本発明の第1の実施の形態の索引情報分割前のインデクスの索引情報を検索するために必要な検索時間を示すグラフである。 本発明の第1の実施の形態の索引情報分割後のインデクスを示す図である。 本発明の第1の実施の形態の索引情報分割後のインデクスの索引情報を検索するために必要な検索時間を示すグラフである。 本発明の第1の実施の形態の索引情報分割部の処理手順を示すPADである。 本発明の第1の実施の形態の索引情報変更部の処理手順を示すPADである。 本発明の第1の実施の形態のトライ節分割部の処理手順を示すPADである。 本発明の第2の実施の形態の文書登録検索システムの構成を示す図である。 本発明の第2の実施の形態の索引情報統合前の索引情報の一部が過疎化しているインデクスの状態を示す図である。 本発明の第2の実施の形態の索引情報統合前の索引情報を検索するために必要な検索時間の一例を示すグラフである。 本発明の第2の実施の形態の索引情報統合前の索引情報を検索するために必要な検索時間の別の例を示すグラフである。 本発明の第2の実施の形態の索引情報統合後のインデクスの一例を示す図である。 本発明の第2の実施の形態の索引情報統合後のインデクスの別の例を示す図である。 本発明の第2の実施の形態の索引情報統合後の索引情報を検索するために必要な検索時間の一例を示すグラフである。 本発明の第2の実施の形態の索引情報統合後の索引情報を検索するために必要な検索時間の別の例を示すグラフである。 本発明の第2の実施の形態の索引情報統合部の処理手順を示すPADである。 本発明の第2の実施の形態のトライ節統合部の処理手順を示すPADである。
符号の説明
100 文書登録検索システム
101 出力装置
102 入力装置
103 CPU
104 バス
105 二次記憶装置
106 テキスト
108 索引情報
109 文書番号
110 出現位置
111 主記憶装置
112 文書制御部
113 システム制御部
114 インデクス作成部
115 トライ初期化部
116 索引情報作成部
117 トライ検索部
118 索引情報分割部
119 索引情報変更部
120 トライ節分割部
121 ワークエリア
122 トライ格納領域
123 文字列
128 索引情報統合部
129 トライ節統合部
200、400、1000、1004、1200、1204 トライ
201、401、1001、1006、1201、1205 索引情報
202、402、1002、1202、1206 インデクス
203、403、1003、1005、1203、1207 ポインタ情報
204、301、303、501、1101、1103、1301、1303 許容検索時間
300、500、1100、1102、1300、1302 グラフ
302、304 分割可能範囲
305 分割対象
306 分割対象外

Claims (10)

  1. 文書を検索する文書検索装置において実行され、前記文書を所定の文字数で区切ることによって抽出される文字列を索引項目とする索引情報、及び、前記索引項目に含まれる部分文字列を節とするトライによって構成されるインデクスの構築方法であって、
    前記文書検索装置は、プロセッサ及び記憶部を備え、
    前記トライは、前記記憶部に生成され、
    前記索引情報は、前記索引項目が同じ索引情報によって構成される索引情報ブロックごとに管理され、
    前記トライの節は、一つ以上の前記索引情報ブロックが対応付けられることによって、前記索引情報が関連付けられ、
    前記インデクス構築方法は、
    前記プロセッサが、前記トライの節に複数の索引情報ブロックが対応する場合に、前記トライの節に関連付けられた索引情報の検索時間が所定の第1の閾値を超えると、前記対応する複数の索引情報ブロックに含まれる索引情報ブロックが途中で分割されないように、前記トライの節に関連付けられた索引情報を分割し、
    前記プロセッサが、前記検索対象の索引情報を含む索引情報ブロックに対応するトライの節の親の節の下位に接続される新たな節を生成し、
    前記プロセッサが、前記新たに生成された節に、前記分割された索引情報を関連付けることを特徴とするインデクス構築方法。
  2. 前記インデクス構築方法は、
    前記プロセッサが、前記トライの節に関連付けられた索引情報の検索時間が所定の第2の閾値を超えない場合には、前記トライの節以外の節に対応する索引情報を前記所定の第2の閾値を超えるまでさらに検索し、
    前記プロセッサが、検索時間が前記所定の第2の閾値を超えた時点で、検索が完了した節の数が2以上の場合には、前記検索が完了した他の節に対応する索引情報を、前記トライの節に対応する索引情報に統合し、
    前記プロセッサが、前記検索が完了した他の節を前記トライから削除することを特徴とする請求項1に記載のインデクス構築方法。
  3. 前記インデクス構築方法は、前記文書を検索するために索引情報を検索する場合に、前記トライの節に関連付けられた索引情報を分割する処理が実行されることを特徴とする請求項1に記載のインデクス構築方法。
  4. 前記インデクス構築方法は、前記インデクスを再構築する要求を受け付けた場合に、前記トライに含まれるすべての節に対応する索引情報の検索を開始し、前記トライに含まれるすべての節において、前記トライの節に関連付けられた索引情報を分割する処理が実行されることを特徴とする請求項1に記載のインデクス構築方法。
  5. 文書を検索する文書検索装置において実行され、前記文書を所定の文字数で区切ることによって抽出される文字列を索引項目とする索引情報、及び、前記索引項目に含まれる部分文字列を節とするトライによって構成されるインデクスの構築方法であって、
    前記文書検索装置は、プロセッサ及び記憶部を備え、
    前記トライは、前記記憶部に生成され、
    前記索引情報は、前記索引項目が同じ索引情報によって構成される索引情報ブロックごとに管理され、
    前記トライの節は、一つ以上の前記索引情報ブロックが対応付けられることによって、前記索引情報が関連付けられ、
    前記インデクス構築方法は、
    前記プロセッサが、前記トライの節に関連付けられた索引情報の検索時間が所定の第1の閾値を超えない場合には、前記トライの節以外の節に対応する索引情報を前記所定の第1の閾値を超えるまでさらに検索し、
    前記プロセッサが、検索時間が前記所定の第1の閾値を超えた時点で、検索が完了した節の数が2以上の場合には、前記検索が完了した他の節に対応する索引情報を、前記トライの節に対応する索引情報に統合し、
    前記プロセッサが、前記検索が完了した他の節を前記トライから削除することを特徴とするインデクス構築方法。
  6. 前記インデクス構築方法は、
    前記プロセッサが、前記トライの節に複数の索引情報ブロックが対応する場合に、前記トライの節に関連付けられた索引情報の検索時間が所定の第2の閾値を超えると、前記対応する複数の索引情報ブロックに含まれる索引情報ブロックが分割されないように、前記トライの節に関連付けられた索引情報を分割し、
    前記プロセッサが、前記検索対象の索引情報を含む索引情報ブロックに対応するトライの節の親の節の下位に接続される新たに節を生成し、
    前記プロセッサが、前記新たに生成された節に、前記分割された索引情報を関連付けることを特徴とする請求項5に記載のインデクス構築方法。
  7. 前記インデクス構築方法は、前記文書を検索するために索引情報を検索する場合に、前記トライの節に関連付けられた索引情報を統合する処理が実行されることを特徴とする請求項5に記載のインデクス構築方法。
  8. 前記インデクス構築方法は、前記インデクスを再構築する要求を受け付けた場合に、前記トライに含まれるすべての節に対応する索引情報の検索を開始し、前記トライに含まれるすべての節において、前記トライの節に関連付けられた索引情報を統合する処理が実行されることを特徴とする請求項5に記載のインデクス構築方法。
  9. プロセッサ及び記憶部を備え、インデクスを利用して文書を検索する文書検索装置であって、
    前記インデクスは、前記文書を所定の文字数で区切ることによって抽出される文字列を索引項目とする索引情報、及び、前記索引項目に含まれる部分文字列を節とするトライによって構成され、
    前記トライは、前記記憶部に生成され、
    前記索引情報は、前記索引項目が同じ索引情報によって構成される索引情報ブロックごとに管理され、
    前記トライの節は、一つ以上の前記索引情報ブロックが対応付けられることによって、前記索引情報が関連付けられ、
    前記プロセッサは、
    前記トライの節に複数の索引情報ブロックが対応する場合に、前記トライの節に関連付けられた索引情報の検索時間が所定の閾値を超えると、前記対応する複数の索引情報ブロックに含まれる索引情報ブロックが途中で分割されないように、前記トライの節に関連付けられた索引情報を分割し、
    前記検索対象の索引情報を含む索引情報ブロックに対応するトライの節の親の節の下位に接続される新たな節を生成し、
    前記新たに生成された節に、前記分割された索引情報を関連付けることを特徴とする文書検索装置。
  10. 文書を所定の文字数で区切ることによって抽出される文字列を索引項目とする索引情報、及び、前記索引項目に含まれる部分文字列を節とするトライによって構成されるインデクスを構築する処理を文書検索装置に実行させるプログラムであって、
    前記トライを生成する手順と、
    前記索引項目が同じ索引情報を索引情報ブロックとして管理する手順と、
    前記トライの節に、一つ以上の前記索引情報ブロックを対応させることによって、前記索引情報を関連付ける手順と、
    前記トライの節に複数の索引情報ブロックが対応する場合に、前記トライの節に関連付けられた索引情報の検索時間が所定の閾値を超えると、前記対応する複数の索引情報ブロックに含まれる索引情報ブロックが途中で分割されないように、前記トライの節に関連付けられた索引情報を分割する手順と、
    前記検索対象の索引情報を含む索引情報ブロックに対応するトライの節の親の節の下位に接続される新たな節を生成する手順と、
    前記新たに生成された節に、前記分割された索引情報を関連付ける手順と、を前記文書検索装置に実行させることを特徴とするインデクス構築プログラム。
JP2007265697A 2007-10-11 2007-10-11 インデクス構築方法、文書検索装置及びインデクス構築プログラム Expired - Fee Related JP4491480B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007265697A JP4491480B2 (ja) 2007-10-11 2007-10-11 インデクス構築方法、文書検索装置及びインデクス構築プログラム
US12/059,272 US20090100006A1 (en) 2007-10-11 2008-03-31 Index creating method by creating/integrating node

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007265697A JP4491480B2 (ja) 2007-10-11 2007-10-11 インデクス構築方法、文書検索装置及びインデクス構築プログラム

Publications (2)

Publication Number Publication Date
JP2009093556A JP2009093556A (ja) 2009-04-30
JP4491480B2 true JP4491480B2 (ja) 2010-06-30

Family

ID=40535181

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007265697A Expired - Fee Related JP4491480B2 (ja) 2007-10-11 2007-10-11 インデクス構築方法、文書検索装置及びインデクス構築プログラム

Country Status (2)

Country Link
US (1) US20090100006A1 (ja)
JP (1) JP4491480B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5366709B2 (ja) * 2008-09-04 2013-12-11 新日鉄住金ソリューションズ株式会社 情報処理装置、共通文字列出力方法及びプログラム
US8874663B2 (en) * 2009-08-28 2014-10-28 Facebook, Inc. Comparing similarity between documents for filtering unwanted documents
JP5310399B2 (ja) * 2009-09-01 2013-10-09 富士通株式会社 索引管理装置の処理方法および索引管理装置
CN102104526A (zh) * 2009-12-16 2011-06-22 华为技术有限公司 一种内容发布与获取的方法、装置和系统
WO2011125110A1 (ja) * 2010-04-05 2011-10-13 三菱電機株式会社 地図情報処理装置
JP2016058016A (ja) * 2014-09-12 2016-04-21 カシオ計算機株式会社 検索インデックス作成装置、検索インデックス作成方法及びプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3459053B2 (ja) * 1995-01-12 2003-10-20 株式会社日立製作所 文書検索方法および装置
JPH11203312A (ja) * 1998-01-14 1999-07-30 Fuji Xerox Co Ltd キーワード検索装置、文書検索装置、キーワード検索プログラムを記録した記録媒体及び文書検索プログラムを記録した記録媒体
JP3620968B2 (ja) * 1998-08-05 2005-02-16 株式会社日立製作所 文書検索方法及びその実施装置並びにその処理プログラムを記録した媒体
JP3696745B2 (ja) * 1999-02-09 2005-09-21 株式会社日立製作所 文書検索方法及び文書検索システム及び文書検索プログラムを記録したコンピュータ読み取り可能な記録媒体
US7096235B2 (en) * 2003-03-27 2006-08-22 Sand Technology Systems International, Inc. Computer implemented compact 0-complete tree dynamic storage structure and method of processing stored data
US7599957B2 (en) * 2006-02-15 2009-10-06 Panasonic Corporation System and method for high performance template driven metadata schema mapping and data storage for surveillance and sensor devices
WO2008005809A2 (en) * 2006-06-30 2008-01-10 Tele Atlas North America, Inc. Nearest search on adaptive index with variable compression

Also Published As

Publication number Publication date
JP2009093556A (ja) 2009-04-30
US20090100006A1 (en) 2009-04-16

Similar Documents

Publication Publication Date Title
CN111460311B (zh) 基于字典树的搜索处理方法、装置、设备和存储介质
CN107391554B (zh) 高效分布式局部敏感哈希方法
US8266152B2 (en) Hashed indexing
JP4491480B2 (ja) インデクス構築方法、文書検索装置及びインデクス構築プログラム
US10275486B2 (en) Multi-system segmented search processing
CN108027816B (zh) 数据管理系统、数据管理方法及记录介质
CN103914483B (zh) 文件存储方法、装置及文件读取方法、装置
JP2008181260A (ja) ビット列検索装置、検索方法及びプログラム
JP7019137B2 (ja) 類似画像検索システム
US20140143501A1 (en) Database search facility
KR101358793B1 (ko) 인덱스 파일 생성방법, 사전 인덱스 파일을 이용한 데이터 검색 방법 및 데이터 관리 시스템, 기록매체
CN102831138B (zh) 分散数据库检索装置及分散数据库检索方法
KR20100060734A (ko) 키워드 시맨틱 네트워크 구성을 통한 특허정보 시각화 시스템 및 그 방법
JP4237813B2 (ja) 構造化文書管理システム
CN113434413B (zh) 基于数据差异的数据测试方法、装置、设备及存储介质
KR20130130330A (ko) 해시 기반의 스카이라인 질의 처리 방법 및 그 장치
US10733218B2 (en) System, method, and program for aggregating data
JP2015176407A (ja) 検索装置、検索方法、検索用プログラムおよび検索用データ構造
JP5374881B2 (ja) 情報検索システム、情報検索方法およびプログラム
JP6627809B2 (ja) データベース処理装置、システム、方法およびプログラム
KR100907827B1 (ko) 포워딩 테이블 검색 장치 및 방법
US9864765B2 (en) Entry insertion apparatus, method, and program
JP2006185368A (ja) 文書データベース更新処理装置、文書データベース検索装置、文書データベース索引作成方法及び文書データベース検索方法
WO2013069149A1 (ja) データ検索装置、データの検索方法及びプログラム
JP2008065716A (ja) データ管理装置、データ管理方法及びデータ管理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091009

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

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

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130409

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130409

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140409

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees