JP3620968B2 - Document retrieval method, apparatus for implementing the same, and medium on which processing program is recorded - Google Patents
Document retrieval method, apparatus for implementing the same, and medium on which processing program is recorded Download PDFInfo
- Publication number
- JP3620968B2 JP3620968B2 JP22182998A JP22182998A JP3620968B2 JP 3620968 B2 JP3620968 B2 JP 3620968B2 JP 22182998 A JP22182998 A JP 22182998A JP 22182998 A JP22182998 A JP 22182998A JP 3620968 B2 JP3620968 B2 JP 3620968B2
- Authority
- JP
- Japan
- Prior art keywords
- index
- search
- character string
- program
- partial character
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は新聞記事や特許明細書の様に日々増加していく大規模な文書データベースから所望の文書を探索する文書検索システムに関し、特に指定した文字列の存在を文書の全文を対象として探索するフルテキストサーチの為の文書検索システムに適用して有効な技術に関するものである。
【0002】
【従来の技術】
指定された検索文字列(以下、検索タームと呼ぶ)が含まれる文書を大規模な文書データベースから高速に探し出す方法として、n−gramインデクス方式(以下、方法1と呼ぶ)がある。
【0003】
n−gramインデクス方式とは、文書の登録時に文書中の全てのn−gram(連続するn文字からなる文字列)についてその出現位置情報をインデクスとして格納しておき、検索時には検索ターム中のn−gramに対してそのインデクスを参照し、検索ターム中の位置関係とインデクス中の位置関係が等しいかどうかを判定(以下、隣接判定と呼ぶ)することによって、検索タームが出現する文書を探し出す方法である。
【0004】
図20は従来の1−gramインデクス方式の一例を示す図である。本図に示す様に、方法1では、文書の登録時に文書中の全てのn−gram(図20の例ではn=1)についてその出現位置情報をインデクスとして格納する。例えば、“に”という1−gramは文書‘001’の‘3’文字目に出現するので、その文書番号‘001’と文字位置‘3’を“に”に対応するインデクス200に格納する。
【0005】
検索時には、指定された検索タームから抽出したn−gramのインデクス間で出現位置情報の隣接判定を行うことにより、検索タームの出現位置情報を取得する。例えば、“微生物”が検索タームとして指定された場合には、この検索タームからまず、1−gram“微”、“生”及び“物”を抽出する。そして、“微”に対応するインデクス201、“生”に対応するインデクス202及び“物”に対応するインデクス203の間で出現位置情報の隣接判定を行うことによって、“微生物”の出現位置情報を取得する。本図の例では、“微”、“生”及び“物”が文書番号‘001’の‘9’文字目からと、文書番号‘056’の‘5’文字目からとで隣り合っているので、それらの出現位置に“微生物”が存在することが分かる。
【0006】
以上の様に方法1では、文書を走査することなしにインデクスの読込みと出現位置情報の隣接判定だけで検索が行える為、大規模な文書データベースに適用した場合でも高速なフルテキストサーチを実現できる可能性がある。
【0007】
しかし方法1では、nを1とすると、すなわち1−gramのインデクスを用いると、1−gramは全文書中(データベース中)における出現頻度が高い為、一つの1−gramに対する出現位置情報が増え、個々のインデクスのサイズが大きくなる。この為インデクスの読込みに時間が掛かるばかりでなく、出現位置情報による隣接判定の回数も増える為、検索に時間が掛かるという問題が生じる。
【0008】
検索を高速にする為にはnの値を増やしたサイズの小さなインデクスを作成する必要があるが、短い検索タームが指定された場合でも検索が行える様にnの小さなインデクスも全て作成しておかなければならない。その結果、総インデクスサイズが膨大になってしまう。
【0009】
また、方法1の様なインデクス型の文書検索方法では、“キー探索技法−IVトライとその応用”(青江順一著、情報処理Vol.34、No.2、1993、pp.244−251)に記載されているトライの様な木構造で文字列(方法1の場合はn−gram)を管理する必要がある。
【0010】
トライとは検索対象となる文字列すなわちキーワードの集合(以下、キー集合と呼ぶ)における各キーワード(以下、キーと呼ぶ)に共通な前方部分文字列を共通の節で括り出して作られる木構造である。
【0011】
このトライは登録や検索の際に用いられ、登録する文字列或いは検索ターム中の文字列でキーを辿ってトライを探索することにより、その文字列に対応するインデクスを指し示すポインタ情報を取得することができる。トライの探索に掛かる時間はキーの数に依存しない為、大規模なデータベースに適用した場合でも、高速にキーワードを探索できるという特徴がある。
【0012】
図21は従来のキー集合{baby、badge、badger、jar}に対応するトライの構成を示す図である。このトライでは節1(300)から節2(301)へ枝ラベルb(302)が定義され、二重丸で示すキーの末尾にあたる節にはそのキーに対するインデクスへのポインタ情報が設定されている。
【0013】
例えば、検索タームとして“baby”が指定された場合には、文字列“baby”で本図のトライを探索することにより、節5(303)に設定されているポインタ情報Pt1が得られ、このポインタ情報Pt1が示す先に検索ターム“baby”に対応するインデクスが格納されていることになる。
【0014】
方法1において、このトライを用いてn−gramを管理する際、個々のインデクスのサイズを小さくして検索を高速にする為にn−gramを長くしたインデクスを作成すると、n−gramの種類が増え、トライの節が増える為、トライ全体の規模が膨大になってしまうという問題がある。
【0015】
以上説明した、検索時間の長大化と、総インデクスサイズとインデクスを管理する木構造サイズの巨大化という相反する問題を解決する為に、インデクスのサイズがある基準値(以下、基準インデクスサイズと呼ぶ)を超えたn−gramに対してのみ、nの値を増やしてサイズの小さなインデクスを作成することにより、常にサイズの小さなインデクスの読込みと出現位置情報の隣接判定で済む様にして、高速な検索を実現すると共に、総インデクスサイズ及びインデクスを管理する木構造(以下、トライで説明する)サイズの巨大化を防ぐ文書検索方法及び装置が特開平8−194718号公報(以下、公知例1と呼ぶ)に開示されている。
【0016】
図22は従来の公知例1の処理内容を示す図である。本方法では、文書の登録時にn−gramに対応するインデクスを作成する共に、文書中の2文字の接続情報をトライ401に登録する。そして、文書を登録していき、インデクスのサイズが基準インデクスサイズを超えた場合には、対応するn−gramに文字列を追加したn−gram(以下、拡張n−gramと呼ぶ)のインデクスを作成する。
【0017】
以下、図22を用いてインデクスの作成方法を具体的に説明する。n−gramに文字列を追加した拡張n−gramを作成する為には、まずトライ401を参照してそのn−gramに続く可能性のあるn−gramを取得する。
【0018】
そして、検出されたn−gram(以下、接続n−gramと呼ぶ)のインデクスと基準インデクスサイズよりサイズが大きくなったn−gram(以下、基準インデクス超過n−gramと呼ぶ)のインデクスの間で出現位置情報の隣接判定を行うことにより、拡張n−gramのインデクスを作成する。
【0019】
本図の例では、“生”という1−gramに対応するインデクスが基準インデクスサイズより大きくなっており、“生”が基準インデクス超過n−gramとなる。ここで、まず“生”という文字でトライ401を探索し、“生”に続く接続n−gramを取得する。本図に示す例では、トライ401を探索することにより、“生”の後ろに“物”と“息”が続くことが分かる。そこで、“生”と“物”、“生”と“息”のインデクスの間で出現位置情報の隣接判定を行うことにより、“生物”、“生息”といった“生”に文字列を追加した拡張n−gramのインデクス400を作成する。
【0020】
以上の様に、公知例1に開示されている文書検索方法及び装置を用いることにより、サイズが大きく検索に時間が掛かるインデクスに対しては、そのn−gramに文字列を追加した拡張n−gramに対するインデクスを作成する為、サイズの小さなインデクスの読込みと出現位置情報の隣接判定で済む様になり、高速な検索を実現することができる様になる。また、それ以外のインデクスに対しては、n−gramの長さを増やしたインデクスを作成しない為、総インデクスサイズ及びn−gramを管理する木構造(トライ)サイズの巨大化を防ぐことができる。
【0021】
【発明が解決しようとする課題】
以上説明した公知例1に開示されている文書検索方法及び装置によると、基準インデクスサイズよりサイズが大きく検索に時間が掛かるインデクスに対しては、そのキーであるn−gramに文字列を追加したサイズの小さなインデクスを作成することになる為、サイズの小さなインデクスの読込みと出現位置情報の隣接判定で済む様になり、高速な検索を実現することが可能となる。また、基準インデクスサイズよりサイズの小さなインデクスに対しては、それ以上n−gramを長くしたインデクスを作成しない為、総インデクスサイズ及びn−gramを管理する木構造(トライ)サイズの巨大化を防ぐことが可能となる。
【0022】
しかし、公知例1に開示されている文書検索方法及び装置では、インデクスのサイズのみに基づいてn−gramに文字列を追加した拡張n−gramのインデクスを作成している。その結果、実際には検索にあまり用いられることのないn−gram(例えば、助詞として用いられる平仮名等)に対してもインデクスサイズが大きくなった場合には、拡張n−gramのインデクスが作成されることになる。
【0023】
これらのn−gramは検索にあまり用いられることがない為、インデクスサイズというコストを支払っても、検索性能の高速化というメリットが得られないn−gramであり、無駄なインデクスになるという問題がある。
【0024】
本発明の目的は上記問題を解決し、検索性能の高速化を図ると共に総インデクスサイズの増加を最小限に抑えることが可能な技術を提供することにある。
【0025】
【課題を解決するための手段】
本発明は、特定の検索タームを含むテキストデータを検索する文書検索システムにおいて、テキストデータから作成した部分文字列に対応するインデクスのサイズが基準インデクスサイズより大きく、該インデクスに対応する部分文字列が検索される可能性が高い場合に、該部分文字列に文字列を追加した拡張部分文字列と該拡張部分文字列に対応するインデクスを作成するものである。
【0026】
本発明の文書検索システムでは、まずインデクス作成登録ステップで、文書情報を文字コードデータとして蓄積したテキストデータベースを対象として、登録対象テキストデータから所定の部分文字列と、該部分文字列の該対象テキストデータにおけるテキスト識別情報及び出現位置情報を含む位置情報とを抽出し、該位置情報をインデクスとして記憶し、前記部分文字列と前記インデクスの記憶位置を管理する為の部分文字列テーブルを更新する。
【0027】
特定の検索タームを含むテキストデータを検索する場合には、インデクス検索ステップにより、前記部分文字列テーブルを参照して検索タームから所定の部分文字列を抽出し、該当インデクスを読み出し、該検索タームにおける部分文字列と同じ位置関係を持つテキストデータの位置情報を抽出する。
【0028】
一方、インデクスサイズ比較ステップでは、テキストデータから作成した部分文字列に対応するインデクスのサイズと予め定められた基準インデクスサイズとを比較し、該インデクスのサイズが該基準インデクスサイズより大きい場合には、検索可能性判定ステップにより、該インデクスに対応する部分文字列が前記インデクス検索ステップで検索される可能性が高いかどうかを判定する。
【0029】
該部分文字列が前記インデクス検索ステップで検索される可能性が高い場合には、文字列インクリメントステップにより、該部分文字列に文字列を追加した拡張部分文字列と該拡張部分文字列に対応するインデクスを作成し、前記部分文字列テーブルを更新する。
【0030】
前記検索可能性判定ステップは、特定のインデクスに対応する部分文字列が前記インデクス検索ステップで検索される可能性が高いかどうかを、例えばインデクスに対応する参照頻度に応じて判定する。
【0031】
すなわち、前記インデクス検索ステップでインデクスの読み出しを行った際に、インデクスの読み出し回数を管理する参照頻度テーブルを参照頻度テーブル更新ステップにより更新し、前記検索可能性判定ステップである参照頻度比較ステップは、前記参照頻度テーブル内の該インデクスに対応する参照頻度と予め定められた基準参照頻度とを比較し、前記参照頻度テーブル内の該インデクスに対応する参照頻度が基準参照頻度より大きい場合には、該部分文字列に文字列を追加した拡張部分文字列と該拡張部分文字列に対応するインデクスを文字列インクリメントステップにより作成する。
【0032】
また前記検索可能性判定ステップは、特定のインデクスに対応する部分文字列が前記インデクス検索ステップで検索される可能性が高いかどうかを、ユーザが入力した重要語に応じて判定しても良い。
【0033】
すなわち、ユーザが入力した重要語を重要語登録ステップにより重要語テーブルに格納しておき、前記検索可能性判定ステップである重要文字列検索ステップは、該インデクスに対応する部分文字列が前記重要語テーブルに格納されている重要語に含まれるかどうかを調べる。該インデクスに対応する部分文字列が前記重要語テーブルの重要語に含まれている場合には、該部分文字列に文字列を追加した拡張部分文字列と該拡張部分文字列に対応するインデクスを文字列インクリメントステップにより作成する。
【0034】
また前記検索可能性判定ステップは、特定のインデクスに対応する部分文字列が前記インデクス検索ステップで検索される可能性が高いかどうかを、相互に関連のある語を予め関連付けた関連語に応じて判定しても良い。
【0035】
すなわち、相互に関連のある語を予め関連付けて格納した関連語ファイルを作成しておき、前記検索可能性判定ステップである展開語検索ステップは、該インデクスに対応する部分文字列が前記関連語テーブルに格納されている関連語に含まれるかどうかを調べる。該インデクスに対応する部分文字列が前記関連語テーブルの関連語に含まれている場合には、該部分文字列に文字列を追加した拡張部分文字列と該拡張部分文字列に対応するインデクスを文字列インクリメントステップにより作成する。
【0036】
なお前記関連語ファイルは、前記インデクス検索ステップで検索ターム及び関連語における部分文字列と同じ位置関係を持つテキストデータの位置情報を抽出する際に、検索ターム展開ステップにより用いられるファイルである。
【0037】
前記の様に本発明によれば、基準インデクスサイズよりインデクスサイズが大きい部分文字列に対して、そのインデクスへの参照頻度と予め定められた基準参照頻度とを比較し、基準参照頻度より多い場合にはその部分文字列に文字列を増やしたサイズの小さなインデクスを作成することにより、インデクスが大きく検索に時間が掛かり、かつ検索に用いられる可能性が高い部分文字列に対しては、検索を高速化することが可能となる。
【0038】
また、インデクスは大きいが、実際には検索にあまり用いられることのない部分文字列(例えば、助詞として用いられる平仮名等)に対しては、文字列を増やしたインデクスを作成しない為、総インデクスサイズを抑えることが可能となる。その結果、総インデクスサイズの最小限の増加で、検索性能の向上を図ることが可能な文書検索システムを実現することができる。
【0039】
以上の様に本発明の文書検索システムによれば、インデクスサイズが大きく検索に時間が掛かり、かつ検索に用いられる可能性が高い部分文字列に対してのみ、文字数を増やしたサイズの小さなインデクスを作成するので、検索性能の高速化を図ると共に総インデクスサイズの増加を最小限に抑えることが可能である。
【0040】
【発明の実施の形態】
(実施形態1)
以下にサイズが大きく参照頻度の高いインデクスについて、当該インデクスに対応するn−gramに文字列を追加した拡張n−gramと拡張n−gramに対応するインデクスを作成する実施形態1の文書検索システムについて説明する。
【0041】
図1は本実施形態の文書検索システムの概略構成を示す図である。本実施形態の文書検索システムは、ディスプレイ100、キーボード101、中央演算処理装置(CPU)102、テキスト107及びインデクス108を格納する二次記憶装置としての磁気ディスク装置106、フロッピディスクドライブ(FDD)104、主記憶装置109から構成される。また、バス103にはCPU102、磁気ディスク装置106、FDD104及び主記憶装置109が接続されている。
【0042】
フロッピディスク105に格納されている情報は、FDD104によりアクセスされる。主記憶装置109には、システム制御プログラム110、文書登録制御プログラム111、インクリメント制御プログラム112、検索制御プログラム113、インデクス作成登録プログラム114、インクリメントプログラム115、検索プログラム119が格納されると共にトライ格納テーブル122、参照頻度テーブル123及びワークエリア124が確保される。
【0043】
インクリメントプログラム115は、インデクスサイズ比較プログラム116、参照頻度比較プログラム117及びn−gramインクリメントプログラム118で構成される。検索プログラム119はインデクス検索プログラム120及び参照頻度テーブル更新プログラム121で構成される。
【0044】
以上のプログラムは磁気ディスク装置106、フロッピディスク105やCD−ROM等のコンピュータで読み書きできる記録媒体に格納することもできる。
【0045】
なおインデクス検索プログラム120は、検索タームの部分文字列に対応するインデクスにより、前記検索タームにおける部分文字列と同じ位置関係を持つテキストデータの位置情報を抽出するインデクス検索ステップの処理を行う。
【0046】
インデクスサイズ比較プログラム116は、テキストデータから作成した部分文字列に対応するインデクスのサイズと予め定められた基準インデクスサイズとを比較するインデクスサイズ比較ステップの処理を行う。
【0047】
参照頻度比較プログラム117は、該インデクスのサイズが該基準インデクスサイズより大きい場合に、参照頻度テーブル123内の該インデクスに対応する参照頻度と予め定められた基準参照頻度とを比較して、該インデクスに対応する部分文字列がインデクス検索プログラム120で検索される可能性が高いかどうかを判定する参照頻度比較ステップの処理を行う。
【0048】
n−gramインクリメントプログラム118は、該部分文字列がインデクス検索プログラム120で検索される可能性が高い場合に、該部分文字列に文字列を追加した拡張部分文字列と該拡張部分文字列に対応するインデクスを作成する文字列インクリメントステップの処理を行う。
【0049】
参照頻度テーブル更新プログラム121は、インデクスの読み出し回数を管理する参照頻度テーブル123を更新する参照頻度テーブル更新ステップの処理を行う。
【0050】
システム制御プログラム110はキーボード101からの指示を受け起動する。文書登録制御プログラム111はキーボード101からの文書登録指示により、システム制御プログラム110によって起動され、インデクス作成登録プログラム114の制御を行う。
【0051】
インクリメント制御プログラム112はキーボード101からのインクリメント指示により、システム制御プログラム110によって起動され、インクリメントプログラム115の制御を行う。検索制御プログラム113はキーボード101からの検索指示により、システム制御プログラム110によって起動され、検索プログラム119の制御を行う。
【0052】
以下、本実施形態における処理内容の概要を説明する。登録の際には、キーボード101からの文書登録指示により、システム制御プログラム110が文書登録制御プログラム111を起動する。そして、文書登録制御プログラム111はインデクス作成登録プログラム114を起動し、フロッピディスク105からテキストデータを読み込んでテキスト107として磁気ディスク装置106に格納すると共に、テキスト107における所定のn−gramの出現位置情報をインデクス108として磁気ディスク装置106に格納する。
【0053】
このインデクス作成登録プログラム114の処理内容は公知例1に開示されている方法と同様である。またテキストデータはフロッピディスク105を用いて入力するだけに限らず、通信回線やCD−ROM装置(図示せず)等を用いて他の装置から入力する様な構成をとることも可能である。
【0054】
検索の際には、キーボード101からの検索指示により、システム制御プログラム110が検索制御プログラム113を起動し、検索制御プログラム113が検索プログラム119を起動する。
【0055】
図2は本実施形態の検索プログラム119の処理内容を示す図である。検索プログラム119は、図2のPAD(Problem Analysis Diagram)図に示す様に、ステップ600でインデクス検索プログラム120を起動し、キーボード101から入力された検索タームのテキスト107における出現位置情報をインデクス108から取得する。このインデクス検索プログラム120の処理内容は方法1及び公知例1に開示されている方法と同様である。
【0056】
そして、ステップ601で参照頻度テーブル更新プログラム121を起動し、インデクス検索プログラム120で用いたインデクスに対応する参照頻度テーブル123内の該当参照頻度を更新する。
【0057】
インクリメントの際には、キーボード101からのインクリメント指示により、システム制御プログラム110がインクリメント制御プログラム112を起動し、インクリメント制御プログラム112がインクリメントプログラム115を起動する。
【0058】
図3は本実施形態のインクリメントプログラム115の処理内容を示す図である。図3に示す様にインクリメントプログラム115は、ステップ700で全てのインデクスに対してステップ701からステップ705までの一連の処理を繰り返す。
【0059】
この繰り返し処理中でインクリメントプログラム115は、まずステップ701でインデクスサイズ比較プログラム116を起動し、処理対象インデクスのサイズと予め定められた基準インデクスサイズを比較する。
【0060】
そして、ステップ702で処理対象インデクスが基準インデクスサイズより大きいと判断された場合には、ステップ703で参照頻度比較プログラム117を起動し、参照頻度テーブル123に格納されている処理対象インデクスの参照頻度と予め定められた基準参照頻度を比較する。
【0061】
そして、ステップ704で処理対象インデクスの参照頻度が基準参照頻度より多いと判断された場合には、ステップ705でn−gramインクリメントプログラム118を起動し、処理対象インデクスのキーであるn−gramに文字列を追加したサイズの小さなインデクスを作成する。このn−gramインクリメントプログラム118の処理内容は公知例1に開示されている方法と同様である。
【0062】
図4は本実施形態の文書検索システムの処理例を示す図である。以下、本実施形態の処理概要について図4を用いて説明する。インデクス作成登録プログラム114の処理は、公知例1に開示されている方法と同様なので省略する。
【0063】
まず、検索プログラム119の処理概要について説明する。インデクス検索プログラム120では、ユーザが入力した検索タームから、トライの様なn−gramテーブルを参照して所定のn−gramを抽出し、n−gramに対応するインデクスの記憶位置を取得する。そして、取得したn−gramに対応するインデクスの記憶位置からインデクスを読み出し、検索タームにおけるn−gramと同じ位置関係を持つ位置情報を抽出する。この位置情報取得ステップは方法1及び公知例1に開示されている方法と同様の処理になる。
【0064】
参照頻度テーブル更新プログラム121では、位置情報取得ステップで読み出したインデクスの参照頻度(読み出した回数)を更新する。図4の例では、検索タームとして、“微生物”と“生物”が用いられたので、“微”に対応する参照頻度を‘1’“生”に対応する参照頻度を‘2’“物”に対応する参照頻度を‘2’に更新する。ここで、“に”に対応するインデクスは検索に用いられていないので参照頻度は‘0’のままである。
【0065】
次に、インクリメントプログラム115の処理概要を説明する。インデクスサイズ比較プログラム116では、インデクス作成登録プログラム114によってテキストデータから作成したn−gramに対応するインデクスのサイズと予め定められた基準インデクスサイズとを比較する。
【0066】
インデクスサイズ比較プログラム116で、n−gramに対応するインデクスのサイズが予め定められた基準インデクスサイズより大きいと判断された場合には、参照頻度比較プログラム117でインデクスに対応する参照頻度を参照頻度テーブル123から取得し、予め定められた基準参照頻度と比較する。
【0067】
参照頻度比較プログラム117で、n−gramに対応するインデクスの参照頻度が予め定められた基準参照頻度よりも多いと判断された場合には、n−gramインクリメントプログラム118で該当インデクスに対応するn−gramに文字列を追加した拡張n−gramと拡張n−gramに対応するインデクスを作成する。
【0068】
インデクスサイズ比較プログラム116及びn−gramインクリメントプログラム118は公知例1に開示されている方法と同様の処理になる。図4に示す例の場合、“に”と“生”のインデクスが大きくなっており、インデクスサイズ比較プログラム116で基準インデクスサイズよりも大きいと判断される。その為、“に”と“生”に対して参照頻度比較プログラム117が実行される。
【0069】
参照頻度比較プログラム117では、“に”と“生”の参照頻度を参照頻度テーブル123から取得し、予め定められた基準参照頻度と比較する。図4に示す例の場合、基準参照頻度は‘1’である。この結果、“生”に対応する参照頻度のみが基準参照頻度より多いと判断され、n−gramインクリメントプログラム118が実行されることにより、“生”に文字列を追加した拡張n−gramに対応するインデクスが作成される。ここで“に”に対応する参照頻度は基準参照頻度より少ないので、インデクスが大きいにもかかわらず、拡張n−gramのインデクスは作成されない。
【0070】
以上の様に、本実施形態では、基準インデクスサイズよりインデクスが大きいn−gramに対して、そのインデクスへの参照頻度と予め定められた基準参照頻度とを比較し、基準参照頻度より多い場合にはそのn−gramに文字列を増やしたサイズの小さなインデクスを作成する。そして、基準参照頻度より参照頻度が少ない場合には、たとえインデクスが大きいとしても、そのn−gramに文字列を増やしたサイズの小さなインデクスを作成しない。
【0071】
こうすることにより、インデクスが大きく検索に時間が掛かり、かつ検索に用いられる可能性が高いn−gramに対しては、検索を高速化することができる。そして、インデクスは大きいが、実際には検索にあまり用いられることのないn−gram(例えば、助詞として用いられる平仮名等)に対しては、文字列を増やしたインデクスを作成しない為、総インデクスサイズを抑えることが可能となる。その結果、総インデクスサイズの最小限の増加で、検索性能の向上を図ることが可能となる。
【0072】
以下、本実施形態における処理内容のうち、公知例1に開示されている方法と異なる検索プログラム119及びインクリメントプログラム115の処理内容を具体例を用いて詳細に説明する。
【0073】
検索プログラム119の処理内容は図2に示す通りである。まずステップ600で、インデクス検索プログラム120を起動し、キーボード101から入力された検索タームのテキスト107における出現位置情報をインデクス108から取得する。本処理内容は図20(図20の例ではn=1)に示す様に方法1及び公知例1に開示されている方法と同様である。
【0074】
例えば“微生物”が検索タームとして指定された場合には、この検索タームからまず、1−gram“微”、“生”及び“物”を抽出する。そして“微”に対応するインデクス201、“生”に対応するインデクス202及び“物”に対応するインデクス203の間で出現位置情報の隣接判定を行うことによって“微生物”の出現位置情報を取得する。
【0075】
本図の例では、“微”、“生”及び“物”が文書番号‘001’の‘9’文字目から、文書番号‘056’の‘5’文字目から隣り合っているので、それらが示す位置に“微生物”が存在することが分かる。
【0076】
次にステップ601で、参照頻度テーブル更新プログラム121を起動し、インデクス検索プログラム120で用いたインデクスに対応する参照頻度テーブル123内の該当参照頻度を更新する。
【0077】
図5は本実施形態の更新前の参照頻度テーブル123の初期状態を示す図である。本図に示す様に、参照頻度テーブル123は、個々のインデクスに対応した参照頻度が格納されるエントリで構成される。
【0078】
図6は本実施形態の検索タームとして“微生物”が指定された場合の参照頻度テーブル123の更新結果を示す図である。インデクス検索プログラム120では、1−gram“微”、“生”及び“物”のインデクスを用いて、“微生物”の出現位置情報を取得する。その為、参照頻度テーブル更新プログラム121では、“微”、“生”及び“物”のインデクスに対応する参照頻度テーブル123の該当参照頻度を‘1’に増やす。このとき、“に”のインデクスに対応する個所は‘0’のままである。
【0079】
次に、検索タームとして“生物”が指定されたとする。このとき、インデクス検索プログラム120では、1−gram“生”及び“物”のインデクスを用いて、“生物”の出現位置情報を取得する。その為、参照頻度テーブル更新プログラム121では、“生”及び“物”のインデクスに対応する参照頻度テーブル123の該当参照頻度を‘1’増やす。
【0080】
図7は本実施形態の検索ターム“生物”における参照頻度テーブル更新プログラム121の処理内容を示す図である。“生”及び“物”のインデクスに対応する参照頻度は‘2’となり、“に”の参照頻度は‘0’、“微”の参照頻度は‘1’のままである。以上が、検索プログラム119の詳細な処理内容である。
【0081】
インクリメントプログラム115の処理内容は図3に示す通りである。まずステップ700で、テキスト107から作成された全てのインデクスに対してステップ701からステップ705までの一連の処理を繰り返す。
【0082】
この繰り返し処理では、まずステップ701で、インデクスサイズ比較プログラム116を起動し、処理対象インデクスのサイズと予め定められた基準インデクスサイズを比較する。図4に示した例では、“に”及び“生”のインデクスが基準インデクスサイズより大きくなっている。
【0083】
次に、ステップ702でインデクスが基準インデクスサイズより大きいと判断された場合には、ステップ703で参照頻度比較プログラム117を起動し、参照頻度テーブル123に格納されている処理対象インデクスの参照頻度と予め定められた基準参照頻度を比較する。
【0084】
そして、ステップ704で参照頻度が基準参照頻度より多いと判断された場合には、ステップ705でn−gramインクリメントプログラム118を起動し、処理対象インデクスのキーであるn−gramに文字列を追加したサイズの小さなインデクスを作成する。
【0085】
図4の例では、“に”及び“生”のインデクスが基準インデクスサイズより大きいと判断される為、これらのインデクスに対応する参照頻度と予め定められた基準参照頻度を比較する。
【0086】
図4の例では、基準参照頻度を1としている。そこで、参照頻度が‘2’である“生”のインデクスはn−gramインクリメントプログラム118の処理対象となるが、参照頻度が‘0’である“に”のインデクスはn−gramインクリメントプログラム118の処理対象とはならない。
【0087】
最後に、“生”に文字列を追加したサイズの小さなインデクスを作成して、インクリメントプログラム115の処理を終了する。n−gramインクリメントプログラム118の処理内容は図22に示す公知例1に開示されている方法と同様である。
【0088】
以上説明した様に、本実施形態では、基準インデクスサイズよりインデクスが大きいn−gramに対して、そのインデクスへの参照頻度と予め定められた基準参照頻度とを比較し、基準参照頻度より多い場合にはそのn−gramに文字列を増やしたサイズの小さなインデクスを作成する。
【0089】
そして、基準参照頻度より参照頻度が少ない場合には、たとえインデクスが大きいとしても、そのn−gramに文字列を増やしたサイズの小さなインデクスを作成しない。こうすることにより、インデクスが大きく検索に時間が掛かり、かつ検索に用いられる可能性が高いn−gramに対しては、検索を高速化することが可能となる。
【0090】
また、インデクスは大きいが、実際には検索にあまり用いられることのないn−gram(例えば、助詞として用いられる平仮名等)に対しては、文字列を増やしたインデクスを作成しない為、総インデクスサイズを抑えることが可能となる。
【0091】
以上により、新聞記事や特許明細書の様に日々件数が増大していく大規模な文書データベースにおいて、出現頻度が高い、すなわちインデクスが大きい検索タームが指定された場合でも、総インデクスサイズの最小限の増加で高速な検索が実現できることになる。
【0092】
以上説明した様に本実施形態の文書検索システムによれば、インデクスサイズが大きく検索に時間が掛かり、かつ検索に用いられる可能性が高い部分文字列に対してのみ、文字数を増やしたサイズの小さなインデクスを作成するので、検索性能の高速化を図ると共に総インデクスサイズの増加を最小限に抑えることが可能である。
【0093】
(実施形態2)
以下にインデクスサイズが大きく重要語に含まれるインデクスについて、当該インデクスに対応するn−gramに文字列を追加した拡張n−gramと拡張n−gramに対応するインデクスを作成する実施形態2の文書検索システムについて説明する。
【0094】
本実施形態は、基準インデクスサイズよりインデクスが大きいn−gramに文字列を追加したサイズの小さなインデクスを作成する際に、ユーザが指定した重要語にそのn−gramが含まれているかどうかを検索し、含まれている場合にのみ文字列を追加したサイズの小さなインデクスの作成を行う方法である。
【0095】
検索に良く用いると思われる重要語をユーザに指定してもらうことにより、インデクスが大きく検索に時間が掛かり、かつ検索に用いられる可能性が高いn−gramに対しての検索の高速化を、総インデクスサイズの最低限の増加で実現できることになる。
【0096】
本実施形態は基本的に実施形態1(図1)と同様の構成をとるが、その中の主記憶装置109内の構成が異なる。
【0097】
図8は本実施形態の主記憶装置109aの概略構成を示す図である。主記憶装置109aには、システム制御プログラム110a、文書登録制御プログラム111、インクリメント制御プログラム112、検索制御プログラム113、重要語登録制御プログラム1100、インデクス作成登録プログラム114、インクリメントプログラム115a、検索プログラム119a、重要語登録プログラム1102が格納されると共にトライ格納テーブル122、重要語テーブル1103及びワークエリア124が確保される。
【0098】
インクリメントプログラム115aはインデクスサイズ比較プログラム116、重要文字列検索プログラム1101及びn−gramインクリメントプログラム118で構成される。検索プログラム119aはインデクス検索プログラム120で構成される。以上のプログラムは磁気ディスク装置106、フロッピディスク105やCD−ROM等のコンピュータで読み書きできる記録媒体に格納することもできる。
【0099】
なお重要文字列検索プログラム1101は、該インデクスに対応する部分文字列が重要語テーブル1103に格納されている重要語に含まれるかどうかを調べ、該インデクスに対応する部分文字列がインデクス検索プログラム120で検索される可能性が高いかどうかを判定する重要文字列検索ステップの処理を行う。また重要語登録プログラム1102は、ユーザが入力した重要語を重要語テーブル1103に格納する重要語登録ステップの処理を行う。
【0100】
システム制御プログラム110aはキーボード101からの指示を受け起動する。文書登録制御プログラム111はキーボード101からの文書登録指示により、システム制御プログラム110aによって起動され、インデクス作成登録プログラム114の制御を行う。
【0101】
インクリメント制御プログラム112はキーボード101からのインクリメント指示により、システム制御プログラム110aによって起動され、インクリメントプログラム115aの制御を行う。検索制御プログラム113はキーボード101からの検索指示により、システム制御プログラム110aによって起動され、検索プログラム119aの制御を行う。重要語登録制御プログラム1100はキーボード101からの検索指示により、システム制御プログラム110aによって起動され、重要語登録プログラム1102の制御を行う。
【0102】
以下、実施形態1と異なる検索プログラム119a、重要語登録プログラム1102及びインクリメントプログラム115aの処理概要を説明する。
【0103】
検索の際には、キーボード101からの検索指示により、システム制御プログラム110aが検索制御プログラム113を起動し、検索制御プログラム113が検索プログラム119aを起動する。
【0104】
検索プログラム119aは、インデクス検索プログラム120を起動し、キーボード101から入力された検索タームのテキスト107における出現位置情報をインデクス108から取得する。このインデクス検索プログラム120の処理内容は方法1及び公知例1に開示されている方法と同様である。
【0105】
重要語を登録する際には、キーボード101からの重要語登録指示により、システム制御プログラム110aが重要語登録制御プログラム1100を起動し、重要語登録制御プログラム1100が重要語登録プログラム1102を起動する。重要語登録プログラム1102は、キーボード101から入力された重要語を重要語テーブル1103に格納する。
【0106】
インクリメントの際には、キーボード101からのインクリメント指示により、システム制御プログラム110aがインクリメント制御プログラム112を起動し、インクリメント制御プログラム112がインクリメントプログラム115aを起動する。
【0107】
図9は本実施形態のインクリメントプログラム115aの処理内容を示す図である。インクリメントプログラム115aは、図9に示す様に、ステップ1200で、テキスト107から作成された全てのインデクスに対してステップ1201からステップ1205までの一連の処理を繰り返す。
【0108】
この繰り返し処理では、まずステップ1201で、インデクスサイズ比較プログラム116を起動し、処理対象インデクスのサイズと予め定められた基準インデクスサイズを比較する。
【0109】
そして、ステップ1202で処理対象インデクスが基準インデクスサイズより大きいと判断された場合には、ステップ1203で重要文字列検索プログラム1101を起動し、処理対象n−gramで、重要語テーブル1103に格納されている重要語を検索する。
【0110】
そして、ステップ1204で処理対象n−gramが重要語テーブル1103に格納されている重要語の一部を構成していると判断された場合には、ステップ1205でn−gramインクリメントプログラム118を起動し、処理対象インデクスのキーであるn−gramに文字列を追加したサイズの小さなインデクスを作成する。このn−gramインクリメントプログラム118の処理内容は公知例1に開示されている方法と同様である。以上が本実施形態における処理内容の概要である。
【0111】
以下、本実施形態における処理内容のうち、方法1、公知例1に開示されている方法及び実施形態1と異なる重要語登録プログラム1102及びインクリメントプログラム115aの処理内容を具体例を用いて詳細に説明する。
【0112】
重要語登録プログラム1102では、キーボード101から入力された重要語を重要語テーブル1103に格納する。
【0113】
図10は本実施形態の重要語テーブル1103の一例を示す図である。本図に示す例では、ユーザは“微生物”に関する文書でデータベースを構築しており、頻繁に検索に用いる単語である“ウイルス”、“バクテリア”、“かび”、“酵母”、“細菌”、“単細胞生物”、“微生物”、…をキーボード101から入力した。重要語登録プログラム1102はこれら入力された文字列を重要語として重要語テーブル1103に格納する。
【0114】
インクリメントプログラム115aの処理内容は図9に示す通りである。まずステップ1200で、テキスト107から作成された全てのインデクスに対してステップ1201からステップ1205までの一連の処理を繰り返す。
【0115】
この繰り返し処理では、まずステップ1201で、インデクスサイズ比較プログラム116を起動し、処理対象インデクスのサイズと予め定められた基準インデクスサイズを比較する。このインデクスサイズ比較プログラム116の処理内容は実施形態1と同様である。
【0116】
図11は本実施形態のインクリメントプログラム115aの処理内容の例を示す図である。本図に示す例では、“に”及び“生”のインデクスが基準インデクスサイズより大きくなっている。
【0117】
次に、ステップ1202で処理対象インデクスが基準インデクスサイズより大きいと判断された場合には、ステップ1203で重要文字列検索プログラム1101を起動し、処理対象n−gramで、重要語テーブル1103に格納されている重要語を検索する。
【0118】
そして、ステップ1204で処理対象n−gramが重要語テーブル1103に格納されている重要語の一部を構成していると判断された場合には、ステップ1205でn−gramインクリメントプログラム118を起動し、処理対象インデクスのキーであるn−gramに文字列を追加したサイズの小さなインデクスを作成する。
【0119】
図11の例では、“に”及び“生”のインデクスが基準インデクスサイズより大きいと判断される為、“に”及び“生”で、重要語テーブル1103に格納されている重要語を検索する。
【0120】
図11の例では、“生”は重要語“単細胞生物”及び“微生物”に含まれるが、“に”を含む重要語は存在しない。そこで、“生”のインデクスはn−gramインクリメントプログラム118の処理対象となるが、“に”のインデクスはn−gramインクリメントプログラム118の処理対象とはならない。
【0121】
最後に、“生”に文字列を追加したサイズの小さなインデクスを作成して、インクリメントプログラム115aの処理を終了する。n−gramインクリメントプログラム118の処理内容は図22に示す公知例1に開示されている方法と同様である。
【0122】
以上説明した様に、本実施形態では、基準インデクスサイズよりインデクスが大きいn−gramに対して、そのn−gramがユーザが指定した重要語に含まれているかどうかを検索し、含まれている場合にはそのn−gramに文字列を増やしたサイズの小さなインデクスを作成する。
【0123】
そして、n−gramがユーザが指定した重要語に含まれていない場合には、たとえインデクスが大きいとしても、そのn−gramに文字列を増やしたサイズの小さなインデクスを作成しない。
【0124】
検索に良く用いると思われる重要語をユーザに指定してもらうことにより、インデクスが大きく検索に時間が掛かり、かつ検索に用いられる可能性が高い重要語に含まれるn−gramに対しては、検索を高速化することが可能となる。
【0125】
また、インデクスは大きいが、ユーザが検索にあまり用いないn−gramに対しては、文字列を増やしたインデクスを作成しない為、総インデクスサイズを抑えることが可能となる。
【0126】
以上により、新聞記事や特許明細書の様に日々件数が増大していく大規模な文書データベースにおいて、出現頻度が高い、すなわちインデクスが大きい検索タームが指定された場合でも、総インデクスサイズの最小限の増加で高速な検索が実現できることになる。
【0127】
(実施形態3)
以下にインデクスサイズが大きく関連語に含まれるインデクスについて、当該インデクスに対応するn−gramに文字列を追加した拡張n−gramと拡張n−gramに対応するインデクスを作成する実施形態3の文書検索システムについて説明する。
【0128】
ユーザがある検索タームを指定し、その検索タームと同じ意味を持つ語(以下、同義語)の検索も同時に行うことを指定した場合には、ユーザが指定した検索タームが一つであったとしても、実際に検索を行う検索タームの数は多くなり、検索に時間が掛かることになる。
【0129】
そこで、本実施形態では、基準インデクスサイズよりインデクスが大きいn−gramに文字列を追加したサイズの小さなインデクスを作成する際に、同義語展開用の辞書やルールを参照して、複数に展開される語に含まれるn−gramであるかどうかを検索し、含まれる場合にのみ文字列を追加したサイズの小さなインデクスを作成する方法である。
【0130】
こうすることにより、インデクスが大きく検索に時間が掛かり、かつ同義語の検索の様に複数語に対して検索を行わなければならない場合でも、総インデクスサイズの最低限の増加で高速な検索を実現できることになる。
【0131】
本実施形態は基本的に実施形態1(図1)と同様の構成をとるが、その中の主記憶装置109内の構成が異なる。
【0132】
図12は本実施形態の主記憶装置109bの概略構成を示す図である。主記憶装置109bには、システム制御プログラム110、文書登録制御プログラム111、インクリメント制御プログラム112、検索制御プログラム113、インデクス作成登録プログラム114、インクリメントプログラム115b、検索プログラム119bが格納されると共にトライ格納テーブル122、同義語展開用辞書1502及びワークエリア124が確保される。
【0133】
インクリメントプログラム115bはインデクスサイズ比較プログラム116、展開語検索プログラム1500及びn−gramインクリメントプログラム118で構成される。検索プログラム119bは検索ターム展開プログラム1501及びインデクス検索プログラム120で構成される。
【0134】
以上のプログラムは磁気ディスク装置106、フロッピディスク105やCD−ROM等のコンピュータで読み書きできる記録媒体に格納することもできる。
【0135】
展開語検索プログラム1500は、該インデクスに対応する部分文字列が同義語展開用辞書1502に格納されている同義語に含まれるかどうかを調べ、該インデクスに対応する部分文字列がインデクス検索プログラム120で検索される可能性が高いかどうかを判定する展開語検索ステップの処理を行う。
【0136】
また検索ターム展開プログラム1501は、相互に関連のある語を予め関連付けて格納した関連語ファイルに相当する同義語展開用辞書1502を上記検索タームで探索し、該検索タームに関連のある1つ以上の同義語を取得する検索ターム展開ステップの処理を行い、インデクス検索プログラム120は、前記検索ターム及び同義語における部分文字列と同じ位置関係を持つテキストデータの位置情報を抽出する処理を行う。
【0137】
システム制御プログラム110はキーボード101からの指示を受け起動する。文書登録制御プログラム111はキーボード101からの文書登録指示により、システム制御プログラム110によって起動され、インデクス作成登録プログラム114の制御を行う。
【0138】
インクリメント制御プログラム112はキーボード101からのインクリメント指示により、システム制御プログラム110によって起動され、インクリメントプログラム115bの制御を行う。検索制御プログラム113はキーボード101からの検索指示により、システム制御プログラム110によって起動され、検索プログラム119bの制御を行う。
【0139】
以下、実施形態1と異なる検索プログラム119b及びインクリメントプログラム115bの処理概要を説明する。
【0140】
検索の際には、キーボード101からの検索指示により、システム制御プログラム110が検索制御プログラム113を起動し、検索制御プログラム113が検索プログラム119bを起動する。
【0141】
図13は本実施形態の検索プログラム119bの処理内容を示す図である。図13に示す様に検索プログラム119bは、ステップ1600で検索ターム展開プログラム1501を起動し、キーボード101から入力された検索タームで同義語展開用辞書1502を探索し、検索タームを複数の同義語に展開する。
【0142】
次にステップ1601で、インデクス検索プログラム120を起動し、検索ターム展開プログラム1501によって展開された同義語全てのテキスト107における出現位置情報をインデクス108から取得する。このインデクス検索プログラム120の処理内容は方法1及び公知例1に開示されている方法と同様である。
【0143】
インクリメントの際には、キーボード101からのインクリメント指示により、システム制御プログラム110がインクリメント制御プログラム112を起動し、インクリメント制御プログラム112がインクリメントプログラム115bを起動する。
【0144】
図14は本実施形態のインクリメントプログラム115bの処理内容を示す図である。図14に示す様にインクリメントプログラム115bは、ステップ1700でテキスト107から作成された全てのインデクスに対してステップ1701からステップ1705までの一連の処理を繰り返す。
【0145】
この繰り返し処理では、まずステップ1701で、インデクスサイズ比較プログラム116を起動し、処理対象インデクスのサイズと予め定められた基準インデクスサイズを比較する。
【0146】
そして、ステップ1702で処理対象インデクスが基準インデクスサイズより大きいと判断された場合には、ステップ1703で展開語検索プログラム1500を起動し、処理対象n−gramで、同義語展開用辞書1502に格納されている同義語を検索する。
【0147】
そして、ステップ1704で処理対象n−gramが複数に展開される語に含まれると判断された場合には、ステップ1705でn−gramインクリメントプログラム118を起動し、処理対象インデクスのキーであるn−gramに文字列を追加したサイズの小さなインデクスを作成する。このn−gramインクリメントプログラム118の処理内容は公知例1に開示されている方法と同様である。以上が本実施形態における処理内容の概要である。
【0148】
以下、本実施形態における処理内容のうち、実施形態1と異なる検索プログラム119b及びインクリメントプログラム115bの処理内容を具体例を用いて詳細に説明する。
【0149】
検索プログラム119bの処理内容は図13に示す通りである。まずステップ1600で、検索ターム展開プログラム1501を起動し、キーボード101から入力された検索タームで同義語展開用辞書1502を探索し、検索タームを複数の同義語に展開する。
【0150】
図15は本実施形態の同義語展開用辞書1502による検索タームの同義語展開の例を示す図である。例えば、検索タームとして“計算機”が指定されたとする。検索ターム展開プログラム1501は、この検索ターム“計算機”で同義語展開用辞書1502を探索し、“計算機”と同じ意味を持つ語である同義語を取得する。
【0151】
図15に示す同義語展開用辞書1502の例では、同義語の集合をカンマ(、)をデリミタとして一行に記載している。この同義語展開用辞書1502を用いて“計算機”を同義語の集合に展開すると、展開後検索ターム1800として“計算機”、“電子計算機”、“電算機”、“COMPUTER”及び“コンピュータ”が得られる。
【0152】
次にステップ1601で、インデクス検索プログラム120を起動し、検索ターム展開プログラム1501によって展開された同義語全てのテキスト107における出現位置情報をインデクス108から取得する。このインデクス検索プログラム120の処理内容は方法1及び公知例1に開示されている方法と同様である。
【0153】
インクリメントプログラム115bの処理内容は図14に示す通りである。まずステップ1700で、テキスト107から作成された全てのインデクスに対してステップ1701からステップ1705までの一連の処理を繰り返す。
【0154】
この繰り返し処理では、まずステップ1701で、インデクスサイズ比較プログラム116を起動し、処理対象インデクスのサイズと予め定められた基準インデクスサイズを比較する。このインデクスサイズ比較プログラム116の処理内容は実施形態1と同様である。
【0155】
図16は本実施形態のインクリメントプログラム115bの処理内容を示す図である。本図に示す例では、“に”及び“生”のインデクスが基準インデクスサイズより大きくなっている。
【0156】
次に、ステップ1702で処理対象インデクスが基準インデクスサイズより大きいと判断された場合には、ステップ1703で展開語検索プログラム1500を起動し、処理対象n−gramで、同義語展開用辞書1502に格納されている同義語を検索する。
【0157】
そして、ステップ1704で処理対象n−gramが複数に展開される語に含まれると判断された場合には、ステップ1705でn−gramインクリメントプログラム118を起動し、処理対象インデクスのキーであるn−gramに文字列を追加したサイズの小さなインデクスを作成する。
【0158】
図16の例では、“に”及び“生”のインデクスが基準インデクスサイズより大きいと判断される為、“に”及び“生”で、同義語展開用辞書1502に格納されている重要語を検索する。
【0159】
図16の例では、“生”は“海洋生物”及び“海生生物”に含まれるが、“に”を含む語は存在しない。そこで、“生”のインデクスはn−gramインクリメントプログラム118の処理対象となるが、“に”のインデクスはn−gramインクリメントプログラム118の処理対象とはならない。
【0160】
最後に、“生”に文字列を追加したサイズの小さなインデクスを作成して、インクリメントプログラム115bの処理を終了する。n−gramインクリメントプログラム118の処理内容は図22に示す公知例1に開示されている方法と同様である。
【0161】
以上説明した様に、本実施形態では、基準インデクスサイズよりインデクスが大きいn−gramに対して、同義語展開用の辞書やルールを参照して、複数に展開される語に含まれるn−gramであるかどうかを検索し、含まれている場合にはそのn−gramに文字列を増やしたサイズの小さなインデクスを作成する。そして、n−gramが複数に展開される語に含まれていない場合には、たとえインデクスが大きいとしても、そのn−gramに文字列を増やしたサイズの小さなインデクスを作成しない。
【0162】
こうすることにより、インデクスが大きく検索に時間が掛かり、かつ同義語の検索の様に複数語に対して検索を行わなければならない場合でも、検索を高速化することが可能となる。また、インデクスは大きいが、複数に展開される語に含まれていないn−gramに対しては、文字列を増やしたインデクスを作成しない為、総インデクスサイズを抑えることが可能となる。
【0163】
以上により、新聞記事や特許明細書の様に日々件数が増大していく大規模な文書データベースにおいて、出現頻度が高い、すなわちインデクスが大きい検索タームが指定され、その検索タームの同義語の検索も同時に行うことが指定された場合でも、総インデクスサイズの最小限の増加で高速な検索が実現できることになる。
【0164】
(実施形態4)
以下にインデクスサイズが大きく処理時間の大きいインデクスについて、当該インデクスに対応するn−gramに文字列を追加した拡張n−gramと拡張n−gramに対応するインデクスを作成する実施形態4の文書検索システムについて説明する。
【0165】
本実施形態は、インデクスの読込み及び隣接判定により検索タームの出現位置情報を取得する際に、その処理時間を計測しておき、その処理時間が予め定められた目標検索時間を超過した場合には、取得した出現位置情報をインデクス化し、磁気ディスク装置へ格納する方法である。
【0166】
検索に時間が掛かる検索タームについては一度検索を行えば、二度目からは一度目に作成したインデクスの読込みだけで検索タームの出現位置情報が取得できる為、インデクスが大きく検索に時間が掛かり、かつ検索に用いられる可能性が高いn−gramに対しての検索の高速化を、総インデクスサイズの最低限の増加で実現できることになる。しかも、一度目の検索時に取得した出現位置情報をそのままインデクスとして利用できる為、高速なインデクス作成を行うことができる。
【0167】
本実施形態は基本的に実施形態1(図1)と同様の構成をとるが、その中の主記憶装置109内の構成が異なる。
【0168】
図17は本実施形態の主記憶装置109cの概略構成を示す図である。主記憶装置109cには、システム制御プログラム110c、文書登録制御プログラム111、検索制御プログラム113c、インデクス作成登録プログラム114、検索及びインクリメントプログラム2000が格納されると共にトライ格納テーブル122及びワークエリア124が確保される。検索及びインクリメントプログラム2000はインデクス検索プログラム120及びインデクス作成プログラム2001で構成される。
【0169】
以上のプログラムは磁気ディスク装置106、フロッピディスク105やCD−ROM等のコンピュータで読み書きできる記録媒体に格納することもできる。
【0170】
なおインデクス作成プログラム2001は、インデクス検索プログラム120における処理時間を測定し、該処理時間が予め定められた基準処理時間より長い場合に、インデクス検索プログラム120において得られた位置情報をインデクスとして登録するインデクス作成ステップの処理を行う。
【0171】
システム制御プログラム110cはキーボード101からの指示を受け起動する。文書登録制御プログラム111はキーボード101からの文書登録指示により、システム制御プログラム110cによって起動され、インデクス作成登録プログラム114の制御を行う。検索制御プログラム113cはキーボード101からの検索指示により、システム制御プログラム110cによって起動され、検索及びインクリメントプログラム2000の制御を行う。
【0172】
以下、実施形態1と異なる検索及びインクリメントプログラム2000の処理概要を説明する。検索の際には、キーボード101からの検索指示により、システム制御プログラム110cが検索制御プログラム113cを起動し、検索制御プログラム113cが検索及びインクリメントプログラム2000を起動する。
【0173】
図18は本実施形態のインクリメントプログラム2000の処理内容を示す図である。図18に示す様に検索及びインクリメントプログラム2000は、まずステップ2100でインデクス検索プログラム120を起動し、キーボード101から入力された検索タームのテキスト107における出現位置情報をインデクス108から取得すると共に、インデクス検索プログラム120の処理時間を計測する。インデクス検索プログラム120の処理内容は方法1及び公知例1に開示されている方法と同様である。
【0174】
そして、計測した処理時間が予め定められた目標検索時間を超過したとステップ2101で判断された場合には、ステップ2102でインデクス作成プログラム2001を起動し、取得した出現位置情報をインデクス108として磁気ディスク装置106に格納する。
【0175】
そして、ステップ2103で、検索タームをキーとしてトライ格納テーブル122に登録し、インデクスへのポインタ情報を格納する。このトライ格納テーブル122へのキーの追加方法は公知例1に開示されている方法と同様である。以上が本実施形態における処理内容の概要である。
【0176】
以下、本実施形態における処理内容のうち、実施形態1と異なる検索及びインクリメントプログラム2000の処理内容を具体例を用いて詳細に説明する。
【0177】
検索及びインクリメントプログラム2000の処理内容は図18に示すとおりである。まずステップ2100で、インデクス検索プログラム120を起動し、キーボード101から入力された検索タームのテキスト107における出現位置情報をインデクス108から取得すると共に、インデクス検索プログラム120の処理時間を計測する。インデクス検索プログラム120の処理内容は方法1及び公知例1に開示されている方法と同様である。
【0178】
図19は本実施形態のインクリメントプログラム2000の処理例を示す図である。本図に示す例では、検索タームとして“生物”が指定されている。その為、インデクス検索プログラム120は“生”のインデクス202と“物”のインデクス203を磁気ディスク装置106からワークエリア124に読み込み、これらのインデクス間で隣接判定を行うことにより、“生物”の出現位置情報2200を取得する。
【0179】
検索及びインクリメントプログラム2000は、このインデクス検索プログラム120の処理時間を計測しておく。そして、計測した処理時間が予め定められた目標検索時間を超えているとステップ2101で判断された場合には、ステップ2102でインデクス作成プログラム2001を起動し、取得した出現位置情報2200をインデクス108として磁気ディスク装置106に格納する。
【0180】
図19に示す例では、インデクス検索プログラム120の処理時間は予め定められた目標検索時間を超えている為、“生物”の出現位置情報2200を“生物”のインデクス2201として磁気ディスク装置106に格納する。
【0181】
最後に、ステップ2103で、検索タームをキーとしてトライ格納テーブル122に登録し、インデクスへのポインタ情報を格納する。このトライ格納テーブル122へのキーの追加方法は公知例1に開示されている方法と同様である。
【0182】
以上説明した様に、本実施形態では、インデクスの読込み及び隣接判定により検索タームの出現位置情報を取得する際に、その処理時間を計測しておき、その処理時間が予め定められた目標検索時間を超過した場合には、取得した出現位置情報をインデクス化し、磁気ディスク装置106へ格納する。
【0183】
検索に時間が掛かる検索タームについては一度検索を行えば、二度目からは一度目に作成したインデクスの読込みだけで検索タームの出現位置情報が取得できる為、インデクスが大きく検索に時間が掛かり、かつ検索に用いられる可能性が高いn−gramに対しては、検索を高速化することが可能となる。
【0184】
また、インデクスは大きいが、検索に用いられないn−gramに対しては、文字列を増やしたインデクスを作成しない為、総インデクスサイズを抑えることが可能となる。しかも、一度目の検索時に取得した出現位置情報をそのままインデクスとして利用できる為、高速なインデクス作成が可能となる。
【0185】
以上により、新聞記事や特許明細書の様に日々件数が増大していく大規模な文書データベースにおいて、出現頻度が高い、すなわちインデクスが大きい検索タームが指定された場合でも、総インデクスサイズの最小限の増加で高速な検索が実現できることになる。
【0186】
【発明の効果】
本発明によればインデクスサイズが大きく検索に時間が掛かり、かつ検索に用いられる可能性が高い部分文字列に対してのみ、文字数を増やしたサイズの小さなインデクスを作成するので、検索性能の高速化を図ると共に総インデクスサイズの増加を最小限に抑えることが可能である。
【図面の簡単な説明】
【図1】実施形態1の文書検索システムの概略構成を示す図である。
【図2】実施形態1の検索プログラム119の処理内容を示す図である。
【図3】実施形態1のインクリメントプログラム115の処理内容を示す図である。
【図4】実施形態1の文書検索システムの処理例を示す図である。
【図5】実施形態1の更新前の参照頻度テーブル123の初期状態を示す図である。
【図6】実施形態1の検索タームとして“微生物”が指定された場合の参照頻度テーブル123の更新結果を示す図である。
【図7】実施形態1の検索ターム“生物”における参照頻度テーブル更新プログラム121の処理内容を示す図である。
【図8】実施形態2の主記憶装置109aの概略構成を示す図である。
【図9】実施形態2のインクリメントプログラム115aの処理内容を示す図である。
【図10】実施形態2の重要語テーブル1103の一例を示す図である。
【図11】実施形態2のインクリメントプログラム115aの処理内容の例を示す図である。
【図12】実施形態3の主記憶装置109bの概略構成を示す図である。
【図13】実施形態3の検索プログラム119bの処理内容を示す図である。
【図14】実施形態3のインクリメントプログラム115bの処理内容を示す図である。
【図15】実施形態3の同義語展開用辞書1502による検索タームの同義語展開の例を示す図である。
【図16】実施形態3のインクリメントプログラム115bの処理内容を示す図である。
【図17】実施形態4の主記憶装置109cの概略構成を示す図である。
【図18】実施形態4のインクリメントプログラム2000の処理内容を示す図である。
【図19】実施形態4のインクリメントプログラム2000の処理例を示す図である。
【図20】従来の1−gramインデクス方式の一例を示す図である。
【図21】従来のキー集合{baby、badge、badger、jar}に対応するトライの構成を示す図である。
【図22】従来の公知例1の処理内容を示す図である。
【符号の説明】
100…ディスプレイ、101…キーボード、102…CPU、103…バス、104…FDD、105…フロッピディスク、106…磁気ディスク装置、107…テキスト、108…インデクス、109…主記憶装置、110…システム制御プログラム、111…文書登録制御プログラム、112…インクリメント制御プログラム、113…検索制御プログラム、114…インデクス作成登録プログラム、115…インクリメントプログラム、116…インデクスサイズ比較プログラム、117…参照頻度比較プログラム、118…n−gramインクリメントプログラム、119…検索プログラム、120…インデクス検索プログラム、121…参照頻度テーブル更新プログラム、122…トライ格納テーブル、123…参照頻度テーブル、124…ワークエリア、1100…重要語登録制御プログラム、1101…重要文字列検索プログラム、1102…重要語登録プログラム、1103…重要語テーブル、1500…展開語検索プログラム、1501…検索ターム展開プログラム、1502…同義語展開用辞書、1800…展開後検索ターム、2000…インクリメントプログラム、2001…インデクス作成プログラム、2200…出現位置情報、2201…インデクス、200〜203…インデクス、400…インデクス、401…トライ。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a document search system that searches for a desired document from a large-scale document database that increases daily, such as newspaper articles and patent specifications, and in particular searches for the entire text of a document for the presence of a specified character string. The present invention relates to a technique effective when applied to a document search system for full text search.
[0002]
[Prior art]
There is an n-gram index method (hereinafter referred to as method 1) as a method for quickly searching a document including a specified search character string (hereinafter referred to as a search term) from a large-scale document database.
[0003]
In the n-gram index method, the appearance position information of all n-grams (character strings consisting of consecutive n characters) in a document is stored as an index when the document is registered, and n in the search term is retrieved. A method of searching for a document in which a search term appears by referring to the index with respect to -gram and determining whether the positional relationship in the search term is equal to the positional relationship in the index (hereinafter referred to as adjacency determination) It is.
[0004]
FIG. 20 is a diagram showing an example of a conventional 1-gram index method. As shown in the figure, in the
[0005]
At the time of a search, the appearance position information of a search term is acquired by performing adjacency determination of the appearance position information between n-gram indexes extracted from a specified search term. For example, when “microorganism” is designated as a search term, 1-gram “fine”, “raw”, and “thing” are first extracted from this search term. Then, the appearance position information of “microorganism” is obtained by performing adjacent determination of the appearance position information among the
[0006]
As described above,
[0007]
However, in
[0008]
In order to speed up the search, it is necessary to create a small index with a larger value of n. However, make sure that all the small indexes of n are created so that the search can be performed even when a short search term is specified. There must be. As a result, the total index size becomes enormous.
[0009]
In addition, in the index type document retrieval method such as
[0010]
A trie is a tree structure created by grouping forward substrings common to each keyword (hereinafter referred to as a key) in a character string to be searched, that is, a set of keywords (hereinafter referred to as a key set). It is.
[0011]
This trie is used for registration and search, and by searching for the trie by tracing the key with the character string to be registered or the character string in the search term, pointer information indicating the index corresponding to the character string is obtained. Can do. Since the time required to search for a trie does not depend on the number of keys, it is characterized in that keywords can be searched at high speed even when applied to a large database.
[0012]
FIG. 21 is a diagram showing the structure of a trie corresponding to a conventional key set {baby, badge, badger, jar}. In this trie, branch label b (302) is defined from clause 1 (300) to clause 2 (301), and pointer information to the index for the key is set in the clause corresponding to the end of the key indicated by a double circle. .
[0013]
For example, when “baby” is designated as a search term, the pointer information Pt1 set in clause 5 (303) is obtained by searching for a trie in this figure using the character string “baby”. The index corresponding to the search term “baby” is stored at the destination indicated by the pointer information Pt1.
[0014]
In
[0015]
In order to solve the contradictory problems described above, that is, an increase in search time and an increase in the total index size and the tree structure size for managing the index, the index size is a certain reference value (hereinafter referred to as the reference index size). Only for n-grams exceeding), by increasing the value of n and creating a small index, it is always possible to read a small index and determine the adjacency of appearance position information. A document retrieval method and apparatus that realizes retrieval and prevents the enlargement of the size of the total index size and the tree structure that manages the index (which will be described in the following) will be disclosed in Japanese Patent Laid-Open No. 8-194718 (hereinafter referred to as known example 1). Are disclosed).
[0016]
FIG. 22 is a diagram showing the processing contents of the conventional example 1 of the related art. In this method, an index corresponding to n-gram is created when a document is registered, and connection information of two characters in the document is registered in the
[0017]
Hereinafter, the index creation method will be described in detail with reference to FIG. In order to create an extended n-gram in which a character string is added to an n-gram, an n-gram that may follow the n-gram is first acquired by referring to the
[0018]
And between the index of the detected n-gram (hereinafter referred to as connection n-gram) and the index of the n-gram (hereinafter referred to as reference index excess n-gram) whose size is larger than the reference index size. An extension n-gram index is created by performing adjacency determination on appearance position information.
[0019]
In the example of this figure, the index corresponding to 1-gram “raw” is larger than the reference index size, and “raw” is the reference index excess n-gram. Here, first, the
[0020]
As described above, by using the document search method and apparatus disclosed in the known example 1, for an index that is large in size and takes a long time to search, an extended n− that is obtained by adding a character string to the n−gram. Since an index for a gram is created, it is only necessary to read a small-sized index and determine the adjacency of appearance position information, thereby realizing a high-speed search. In addition, for other indexes, since an index with an increased n-gram length is not created, it is possible to prevent an increase in the total index size and the tree structure (tri) size for managing the n-gram. .
[0021]
[Problems to be solved by the invention]
According to the document search method and apparatus disclosed in the known example 1 described above, for an index that is larger than the reference index size and takes a long time to search, a character string is added to the key n-gram. Since a small-sized index is created, reading of a small-sized index and adjacency determination of appearance position information can be completed, and high-speed search can be realized. In addition, for an index having a size smaller than the reference index size, since an index with a longer n-gram is not created, the tree structure (tri) size for managing the total index size and the n-gram is prevented from being enlarged. It becomes possible.
[0022]
However, in the document search method and apparatus disclosed in the known example 1, an extended n-gram index is created by adding a character string to the n-gram based only on the size of the index. As a result, when the index size becomes large even for n-grams (for example, hiragana used as particles) that are rarely used in search, an extended n-gram index is created. Will be.
[0023]
Since these n-grams are rarely used for searching, there is a problem that even if the cost of the index size is paid, the merit of speeding up the search performance cannot be obtained, resulting in a useless index. is there.
[0024]
An object of the present invention is to provide a technique capable of solving the above-described problems, speeding up search performance, and minimizing an increase in the total index size.
[0025]
[Means for Solving the Problems]
According to the present invention, in a document search system for searching text data including a specific search term, the size of an index corresponding to a partial character string created from the text data is larger than a reference index size, and the partial character string corresponding to the index is When the possibility of searching is high, an extended partial character string obtained by adding a character string to the partial character string and an index corresponding to the extended partial character string are created.
[0026]
In the document search system of the present invention, first, in the index creation / registration step, for a text database in which document information is stored as character code data, a predetermined partial character string from the registration target text data and the target text of the partial character string Text identification information in the data and position information including appearance position information are extracted, the position information is stored as an index, and the partial character string and the partial character string table for managing the storage position of the index are updated.
[0027]
When searching for text data including a specific search term, an index search step refers to the partial character string table, extracts a predetermined partial character string from the search term, reads the corresponding index, Extracts position information of text data having the same positional relationship as the partial character string.
[0028]
On the other hand, in the index size comparison step, the size of the index corresponding to the partial character string created from the text data is compared with a predetermined reference index size, and when the size of the index is larger than the reference index size, In the search possibility determination step, it is determined whether or not the partial character string corresponding to the index is highly likely to be searched in the index search step.
[0029]
If the partial character string is likely to be searched in the index search step, the character string increment step corresponds to the extended partial character string obtained by adding the character string to the partial character string and the extended partial character string. An index is created and the partial character string table is updated.
[0030]
The search possibility determination step determines whether or not a partial character string corresponding to a specific index is highly likely to be searched in the index search step, for example, according to a reference frequency corresponding to the index.
[0031]
That is, when the index is read in the index search step, the reference frequency table that manages the number of times the index is read is updated by the reference frequency table update step, and the reference frequency comparison step that is the search possibility determination step includes: The reference frequency corresponding to the index in the reference frequency table is compared with a predetermined standard reference frequency, and when the reference frequency corresponding to the index in the reference frequency table is larger than the standard reference frequency, An extended partial character string obtained by adding a character string to the partial character string and an index corresponding to the extended partial character string are created by a character string increment step.
[0032]
The searchability determination step may determine whether or not there is a high possibility that a partial character string corresponding to a specific index is searched in the index search step according to an important word input by the user.
[0033]
That is, the important word input by the user is stored in the important word table by the important word registration step, and the important character string search step, which is the search possibility determination step, includes the partial character string corresponding to the index as the important word. Check whether it is included in a key word stored in the table. When the partial character string corresponding to the index is included in the important word of the important word table, an extended partial character string obtained by adding a character string to the partial character string and an index corresponding to the extended partial character string are displayed. Created by the string increment step.
[0034]
Further, the search possibility determination step determines whether or not there is a high possibility that a partial character string corresponding to a specific index is searched in the index search step according to a related word in which words that are related to each other are related in advance. You may judge.
[0035]
That is, a related word file in which related words are stored in association with each other in advance is created, and the expanded word search step, which is the searchability determination step, includes a partial character string corresponding to the index in the related word table. To see if it is included in the related terms stored in. When a partial character string corresponding to the index is included in the related word of the related word table, an extended partial character string obtained by adding a character string to the partial character string and an index corresponding to the extended partial character string are displayed. Created by the string increment step.
[0036]
The related word file is a file used by the search term expansion step when extracting the position information of the text data having the same positional relationship as the search term and the partial character string in the related word in the index search step.
[0037]
As described above, according to the present invention, when a partial character string having an index size larger than the standard index size is compared with the reference frequency of the index and a predetermined standard reference frequency, the partial character string is larger than the standard reference frequency. By creating an index with a small size by adding a character string to the substring, search is performed for substrings that have a large index and take a long time to search and are likely to be used for the search. It is possible to increase the speed.
[0038]
In addition, for substrings that are large in index but are not often used in search (for example, hiragana used as particles), an index with an increased string is not created, so the total index size Can be suppressed. As a result, it is possible to realize a document search system capable of improving the search performance with a minimum increase in the total index size.
[0039]
As described above, according to the document search system of the present invention, a small index with a large number of characters is added only to a partial character string that has a large index size and takes a long time to search and is likely to be used for the search. Therefore, the search performance can be increased and the increase in the total index size can be minimized.
[0040]
DETAILED DESCRIPTION OF THE INVENTION
(Embodiment 1)
The document search system according to the first embodiment that creates an extended n-gram obtained by adding a character string to an n-gram corresponding to the index and an index corresponding to the extended n-gram for an index having a large size and a high reference frequency. explain.
[0041]
FIG. 1 is a diagram showing a schematic configuration of a document search system according to the present embodiment. The document retrieval system of this embodiment includes a
[0042]
Information stored in the
[0043]
The
[0044]
The above program can be stored in a recording medium that can be read and written by a computer, such as the
[0045]
The
[0046]
The index
[0047]
The reference
[0048]
The n-
[0049]
The reference frequency table update program 121 performs a process of a reference frequency table update step for updating the reference frequency table 123 that manages the number of times the index is read.
[0050]
The
[0051]
The
[0052]
Hereinafter, an outline of the processing content in the present embodiment will be described. At the time of registration, the
[0053]
The processing content of the index creation /
[0054]
In the search, the
[0055]
FIG. 2 is a diagram showing the processing contents of the search program 119 of this embodiment. As shown in a PAD (Problem Analysis Diagram) diagram of FIG. 2, the search program 119 starts the
[0056]
In
[0057]
At the time of increment, the
[0058]
FIG. 3 is a diagram showing the processing contents of the
[0059]
During this repetitive process, the
[0060]
If it is determined in
[0061]
If it is determined in
[0062]
FIG. 4 is a diagram showing a processing example of the document search system of this embodiment. Hereinafter, an outline of processing according to the present embodiment will be described with reference to FIG. Since the process of the index creation /
[0063]
First, the processing outline of the search program 119 will be described. The
[0064]
The reference frequency table update program 121 updates the index reference frequency (number of times read) read in the position information acquisition step. In the example of FIG. 4, “microorganism” and “organism” are used as search terms, so the reference frequency corresponding to “Fine” is “1”, and the reference frequency corresponding to “Raw” is “2” “thing”. The reference frequency corresponding to is updated to “2”. Here, since the index corresponding to “ni” is not used in the search, the reference frequency remains “0”.
[0065]
Next, an outline of processing of the
[0066]
When the index
[0067]
When the reference
[0068]
The index
[0069]
In the reference
[0070]
As described above, in the present embodiment, for an n-gram having an index larger than the standard index size, the reference frequency to the index is compared with a predetermined standard reference frequency, and the n-gram is larger than the standard reference frequency. Creates a small index with a character string added to the n-gram. When the reference frequency is lower than the standard reference frequency, even if the index is large, a small-sized index obtained by increasing the character string in the n-gram is not created.
[0071]
By doing so, it is possible to speed up the search for an n-gram that has a large index and takes a long time to search and is likely to be used for the search. For n-grams (for example, hiragana characters used as particles) that are large in index but are not often used in search, an index with an increased character string is not created, so the total index size Can be suppressed. As a result, it is possible to improve search performance with a minimum increase in the total index size.
[0072]
Hereinafter, the processing contents of the search program 119 and the
[0073]
The processing contents of the search program 119 are as shown in FIG. First, in
[0074]
For example, when “microorganism” is designated as a search term, 1-gram “fine”, “raw” and “thing” are first extracted from this search term. Then, the appearance position information of “microorganism” is acquired by performing adjacency determination of the appearance position information among the
[0075]
In the example of this figure, “Fine”, “Raw” and “Object” are adjacent from the “9” character of the document number “001” and from the “5” character of the document number “056”. It can be seen that “microorganism” exists at the position indicated by.
[0076]
Next, in
[0077]
FIG. 5 is a diagram illustrating an initial state of the reference frequency table 123 before update according to the present embodiment. As shown in the figure, the reference frequency table 123 includes entries that store reference frequencies corresponding to individual indexes.
[0078]
FIG. 6 is a diagram showing an update result of the reference frequency table 123 when “microorganism” is designated as the search term of this embodiment. The
[0079]
Next, it is assumed that “organism” is designated as the search term. At this time, the
[0080]
FIG. 7 is a diagram showing the processing contents of the reference frequency table update program 121 in the search term “living organism” of the present embodiment. The reference frequency corresponding to the indexes of “raw” and “thing” is “2”, the reference frequency of “ni” remains “0”, and the reference frequency of “fine” remains “1”. The above is the detailed processing content of the search program 119.
[0081]
The processing contents of the
[0082]
In this repetitive processing, first, in
[0083]
Next, if it is determined in
[0084]
If it is determined in
[0085]
In the example of FIG. 4, since it is determined that the indexes “ni” and “raw” are larger than the standard index size, the reference frequencies corresponding to these indexes are compared with a predetermined standard reference frequency.
[0086]
In the example of FIG. 4, the reference reference frequency is 1. Therefore, a “raw” index with a reference frequency of “2” is a processing target of the n-
[0087]
Finally, a small index with a character string added to “raw” is created, and the process of the
[0088]
As described above, in the present embodiment, for an n-gram having an index larger than the standard index size, the reference frequency to the index is compared with a predetermined standard reference frequency, and is greater than the standard reference frequency. In this case, a small index is created by increasing the character string in the n-gram.
[0089]
When the reference frequency is lower than the standard reference frequency, even if the index is large, a small-sized index obtained by increasing the character string in the n-gram is not created. By doing so, it is possible to speed up the search for an n-gram that has a large index and takes a long time to search and is likely to be used for the search.
[0090]
In addition, for n-grams (eg hiragana used as particles) that are large in index but are not often used in searches, the total index size is not created because an index with an increased character string is not created. Can be suppressed.
[0091]
As described above, even if a search term with a high frequency of occurrence, that is, a large index is specified in a large-scale document database whose number of articles increases every day, such as newspaper articles and patent specifications, the total index size is minimized. As a result, the high-speed search can be realized.
[0092]
As described above, according to the document search system of the present embodiment, only a partial character string that has a large index size and takes a long time to search and is likely to be used for the search has a small size with an increased number of characters. Since the index is created, it is possible to speed up the search performance and minimize the increase in the total index size.
[0093]
(Embodiment 2)
The document search according to the second embodiment for creating an extended n-gram in which a character string is added to an n-gram corresponding to the index and an index corresponding to the extended n-gram for an index having a large index size and included in an important word. The system will be described.
[0094]
In the present embodiment, when an index with a small size obtained by adding a character string to an n-gram having an index larger than the reference index size is created, it is searched whether the n-gram is included in the keyword specified by the user. However, this is a method of creating a small index with a character string added only when it is included.
[0095]
By having the user specify key words that are likely to be used frequently in searches, it is possible to speed up searches for n-grams that have a large index and take a long time to search. This can be achieved with a minimum increase in the total index size.
[0096]
This embodiment basically has the same configuration as that of the first embodiment (FIG. 1), but the configuration in the
[0097]
FIG. 8 is a diagram showing a schematic configuration of the
[0098]
The
[0099]
The important character
[0100]
The
[0101]
The
[0102]
Hereinafter, processing outlines of the search program 119a, the
[0103]
When searching, the
[0104]
The search program 119 a activates the
[0105]
When registering a key word, the
[0106]
At the time of increment, the
[0107]
FIG. 9 is a diagram showing the processing contents of the
[0108]
In this repetitive processing, first, in
[0109]
If it is determined in
[0110]
If it is determined in
[0111]
Hereinafter, among the processing contents in the present embodiment, the processing contents of the
[0112]
The important
[0113]
FIG. 10 is a diagram showing an example of the important word table 1103 of this embodiment. In the example shown in this figure, the user builds a database with documents related to “microorganisms”, and the words “virus”, “bacteria”, “mold”, “yeast”, “bacteria” “Single-cell organism”, “microorganism”,... The important
[0114]
The processing contents of the
[0115]
In this repetitive processing, first, in
[0116]
FIG. 11 is a diagram showing an example of processing contents of the
[0117]
Next, when it is determined in
[0118]
If it is determined in
[0119]
In the example of FIG. 11, since it is determined that the indexes “ni” and “raw” are larger than the reference index size, the important words stored in the important word table 1103 are searched using “ni” and “raw”. .
[0120]
In the example of FIG. 11, “living” is included in the important words “single cell organism” and “microorganism”, but there is no important word including “ni”. Therefore, the “raw” index is the processing target of the n-
[0121]
Finally, a small index with a character string added to “raw” is created, and the process of the
[0122]
As described above, in the present embodiment, for an n-gram having an index larger than the reference index size, whether or not the n-gram is included in the keyword specified by the user is included. In this case, a small index with a character string added to the n-gram is created.
[0123]
If n-gram is not included in the important word designated by the user, even if the index is large, an index with a small size in which the character string is increased is not created in the n-gram.
[0124]
For n-grams included in important words that have a large index and are likely to be used for searching by having the user specify important words that are often used for searching It becomes possible to speed up the search.
[0125]
In addition, for n-grams that are large in index but are not frequently used by the user for searching, an index with an increased character string is not created, so that the total index size can be suppressed.
[0126]
As described above, even if a search term with a high frequency of occurrence, that is, a large index is specified in a large-scale document database whose number of articles increases every day, such as newspaper articles and patent specifications, the total index size is minimized. As a result, the high-speed search can be realized.
[0127]
(Embodiment 3)
The document search according to the third embodiment that creates an extended n-gram in which a character string is added to an n-gram corresponding to the index and an index corresponding to the extended n-gram for an index that has a large index size and is included in a related word. The system will be described.
[0128]
If a user specifies a search term and specifies that a search is also performed for a word having the same meaning as the search term (hereinafter referred to as a synonym), the search term specified by the user is assumed to be one. However, the number of search terms that are actually searched increases, and the search takes time.
[0129]
Therefore, in this embodiment, when creating a small index by adding a character string to an n-gram having an index larger than the reference index size, the index is expanded into a plurality by referring to a dictionary and rules for synonym expansion. This is a method of searching for n-grams included in a word and creating a small index with a character string added only if included.
[0130]
This makes it possible to search at high speed with a minimum increase in the total index size, even if the index is large and it takes a long time to search, and multiple words must be searched like a synonym search. It will be possible.
[0131]
This embodiment basically has the same configuration as that of the first embodiment (FIG. 1), but the configuration in the
[0132]
FIG. 12 is a diagram showing a schematic configuration of the
[0133]
The
[0134]
The above program can be stored in a recording medium that can be read and written by a computer, such as the
[0135]
The expanded
[0136]
Further, the search
[0137]
The
[0138]
The
[0139]
Hereinafter, processing outlines of the
[0140]
When searching, the
[0141]
FIG. 13 is a diagram showing the processing contents of the
[0142]
Next, in step 1601, the
[0143]
At the time of increment, the
[0144]
FIG. 14 is a diagram showing the processing contents of the
[0145]
In this iterative process, first, in
[0146]
If it is determined in
[0147]
If it is determined in
[0148]
Hereinafter, the processing contents of the
[0149]
The processing contents of the
[0150]
FIG. 15 is a diagram showing an example of search term synonym expansion by the
[0151]
In the example of the
[0152]
Next, in step 1601, the
[0153]
The processing contents of the
[0154]
In this iterative process, first, in
[0155]
FIG. 16 is a diagram showing the processing contents of the
[0156]
Next, if it is determined in
[0157]
If it is determined in
[0158]
In the example of FIG. 16, since it is determined that the indexes “ni” and “raw” are larger than the reference index size, the important words stored in the
[0159]
In the example of FIG. 16, “raw” is included in “marine life” and “marine life”, but there is no word including “ni”. Therefore, the “raw” index is the processing target of the n-
[0160]
Finally, a small index with a character string added to “raw” is created, and the process of the
[0161]
As described above, in the present embodiment, with respect to an n-gram having an index larger than the reference index size, the n-gram included in a plurality of words is referred to by referring to a dictionary and rules for synonym expansion. If it is included, an index with a small size is created by increasing the character string in the n-gram. If n-gram is not included in a plurality of expanded words, even if the index is large, an index with a small size obtained by adding a character string to the n-gram is not created.
[0162]
This makes it possible to speed up the search even when the index is large and it takes a long time to search, and a search must be performed for a plurality of words like a search for synonyms. In addition, for n-grams that are large but not included in a plurality of expanded words, an index with an increased character string is not created, so that the total index size can be suppressed.
[0163]
As described above, a search term having a high frequency of occurrence, that is, a large index, is specified in a large-scale document database whose number of cases is increasing every day, such as newspaper articles and patent specifications, and synonyms of the search terms are also searched. Even if it is specified to be performed simultaneously, a high-speed search can be realized with a minimum increase in the total index size.
[0164]
(Embodiment 4)
The document search system according to the fourth embodiment that creates an extended n-gram obtained by adding a character string to an n-gram corresponding to the index and an index corresponding to the extended n-gram for an index having a large index size and a long processing time. Will be described.
[0165]
This embodiment measures the processing time when acquiring the search term appearance position information by reading the index and determining the adjacency, and if the processing time exceeds a predetermined target search time, In this method, the obtained appearance position information is indexed and stored in the magnetic disk device.
[0166]
For search terms that take a long time to search, once the search is performed, the appearance position information of the search term can be acquired only by reading the index created the first time, so the index is large and the search takes time. It is possible to increase the search speed for an n-gram that is highly likely to be used for a search with a minimum increase in the total index size. In addition, since the appearance position information acquired at the first search can be used as an index as it is, high-speed index creation can be performed.
[0167]
This embodiment basically has the same configuration as that of the first embodiment (FIG. 1), but the configuration in the
[0168]
FIG. 17 is a diagram showing a schematic configuration of the
[0169]
The above program can be stored in a recording medium that can be read and written by a computer, such as the
[0170]
The
[0171]
The
[0172]
Hereinafter, a processing outline of the search and
[0173]
FIG. 18 is a diagram showing the processing contents of the
[0174]
If it is determined in
[0175]
In
[0176]
Hereinafter, processing contents of the search and
[0177]
The processing contents of the search and
[0178]
FIG. 19 is a diagram showing a processing example of the
[0179]
The search and
[0180]
In the example shown in FIG. 19, since the processing time of the
[0181]
Finally, in
[0182]
As described above, in the present embodiment, when the search term appearance position information is obtained by reading the index and determining the adjacency, the processing time is measured, and the processing time is determined in advance as the target search time. Is exceeded, the acquired appearance position information is indexed and stored in the
[0183]
For search terms that take a long time to search, once the search is performed, the appearance position information of the search term can be acquired only by reading the index created the first time, so the index is large and the search takes time. For n-grams that are likely to be used for searching, it is possible to speed up searching.
[0184]
In addition, for n-grams that are large in index but are not used for searching, an index with an increased character string is not created, so that the total index size can be suppressed. In addition, since the appearance position information acquired at the time of the first search can be used as it is as an index, high-speed index creation is possible.
[0185]
As described above, even if a search term with a high frequency of occurrence, that is, a large index is specified in a large-scale document database whose number of articles increases every day, such as newspaper articles and patent specifications, the total index size is minimized. As a result, the high-speed search can be realized.
[0186]
【The invention's effect】
According to the present invention, a small-sized index with an increased number of characters is created only for a partial character string that has a large index size and takes a long time to search, and is likely to be used for searching. And an increase in the total index size can be minimized.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating a schematic configuration of a document search system according to a first embodiment.
FIG. 2 is a diagram illustrating processing contents of a search program 119 according to the first embodiment.
FIG. 3 is a diagram illustrating processing contents of an
FIG. 4 is a diagram illustrating a processing example of the document search system according to the first embodiment.
FIG. 5 is a diagram illustrating an initial state of a reference frequency table 123 before update according to the first exemplary embodiment.
6 is a diagram showing an update result of a reference frequency table 123 when “microorganism” is designated as a search term in the first embodiment. FIG.
7 is a diagram showing the processing contents of a reference frequency table update program 121 in the search term “organism” of the first embodiment. FIG.
FIG. 8 is a diagram illustrating a schematic configuration of a
FIG. 9 is a diagram illustrating processing contents of an
FIG. 10 is a diagram illustrating an example of an important word table 1103 according to the second embodiment.
FIG. 11 is a diagram illustrating an example of processing contents of an
FIG. 12 is a diagram illustrating a schematic configuration of a
FIG. 13 is a diagram illustrating processing contents of a
FIG. 14 is a diagram illustrating processing contents of an
FIG. 15 is a diagram showing an example of synonym expansion of search terms by the
FIG. 16 is a diagram illustrating processing contents of an
FIG. 17 is a diagram illustrating a schematic configuration of a
FIG. 18 is a diagram illustrating processing contents of an
FIG. 19 is a diagram illustrating a processing example of an
FIG. 20 is a diagram illustrating an example of a conventional 1-gram index method.
FIG. 21 is a diagram showing a configuration of a trie corresponding to a conventional key set {baby, badge, badger, jar}.
FIG. 22 is a diagram showing the processing contents of a known example 1 in the related art.
[Explanation of symbols]
DESCRIPTION OF
Claims (7)
検索タームの部分文字列に対応するインデクスにより、該検索タームの部分文字列と同じ位置関係を持つテキストデータの位置情報を抽出するインデクス検索ステップと、
テキストデータの部分文字列に対応するインデクスのサイズと予め定められた基準インデクスサイズとを比較するインデクスサイズ比較ステップと、
該インデクスのサイズが該基準インデクスサイズより大きい場合に、該インデクスに対応する部分文字列が前記インデクス検索ステップで検索される可能性が高いかどうかを判定する検索可能性判定ステップと、
該部分文字列が前記インデクス検索ステップで検索される可能性が高い場合に、該部分文字列に文字列を追加した拡張部分文字列と該拡張部分文字列に対応するインデクスを作成する文字列インクリメントステップとを有することを特徴とする文書検索方法。In a document search method for searching text data including a specific search term,
An index search step for extracting position information of text data having the same positional relationship as the partial character string of the search term by an index corresponding to the partial character string of the search term;
An index size comparison step for comparing the size of the index corresponding to the partial character string of the text data with a predetermined reference index size;
A searchability determination step for determining whether or not a partial character string corresponding to the index is likely to be searched in the index search step when the size of the index is larger than the reference index size;
A character string increment that creates an extended partial character string obtained by adding a character string to the partial character string and an index corresponding to the extended partial character string when the partial character string is likely to be searched in the index search step And a document search method.
前記検索可能性判定ステップは、前記参照頻度テーブル内の該インデクスに対応する参照頻度と予め定められた基準参照頻度とを比較して、該インデクスに対応する部分文字列が前記インデクス検索ステップで検索される可能性が高いかどうかを判定する参照頻度比較ステップであることを特徴とする請求項1に記載された文書検索方法。A reference frequency table update step for updating a reference frequency table for managing the number of times the index is read;
The search possibility determination step compares a reference frequency corresponding to the index in the reference frequency table with a predetermined reference frequency, and searches for a partial character string corresponding to the index in the index search step. The document search method according to claim 1, wherein the document search method is a reference frequency comparison step for determining whether or not there is a high possibility of being performed.
前記検索可能性判定ステップは、該インデクスに対応する部分文字列が前記重要語テーブルに格納されている重要語に含まれるかどうかを調べ、該インデクスに対応する部分文字列が前記インデクス検索ステップで検索される可能性が高いかどうかを判定する重要文字列検索ステップであることを特徴とする請求項1に記載された文書検索方法。A key word registration step of storing key words input by the user in the key word table;
The searchability determination step checks whether or not the partial character string corresponding to the index is included in the important word stored in the important word table, and the partial character string corresponding to the index is determined in the index search step. 2. The document search method according to claim 1, wherein the document search method is an important character string search step for determining whether or not there is a high possibility of being searched.
前記インデクス検索ステップは、前記検索タームまたは関連語における部分文字列と同じ位置関係を持つテキストデータの位置情報を抽出し、
前記検索可能性判定ステップは、該インデクスに対応する部分文字列が前記関連語テーブルに格納されている関連語に含まれるかどうかを調べ、該インデクスに対応する部分文字列が前記インデクス検索ステップで検索される可能性が高いかどうかを判定する展開語検索ステップであることを特徴とする請求項1に記載された文書検索方法。A search term expansion step of searching for a related word file in which words related to each other in advance are stored with the search term and acquiring one or more related words related to the search term;
The index search step extracts position information of text data having the same positional relationship as a partial character string in the search term or related word,
The searchability determination step checks whether or not the partial character string corresponding to the index is included in the related word stored in the related word table, and the partial character string corresponding to the index is determined by the index search step. 2. The document search method according to claim 1, wherein the document search method is a expanded word search step for determining whether or not the search possibility is high.
検索タームの部分文字列に対応するインデクスにより、前記検索タームの部分文字列と同じ位置関係を持つテキストデータの位置情報を抽出するインデクス検索ステップと、
前記インデクス検索ステップにおける処理時間を測定し、該処理時間が予め定められた基準処理時間より長い場合に、前記インデクス検索ステップにおいて得られた位置情報をインデクスとして登録するインデクス作成ステップとを有することを特徴とする文書検索方法。In a document search method for searching text data including a specific search term,
An index search step for extracting position information of text data having the same positional relationship as the partial character string of the search term by an index corresponding to the partial character string of the search term;
An index creation step of measuring the processing time in the index retrieval step and registering the position information obtained in the index retrieval step as an index when the processing time is longer than a predetermined reference processing time. A document retrieval method as a feature.
検索タームの部分文字列に対応するインデクスにより、前記検索タームの部分文字列と同じ位置関係を持つテキストデータの位置情報を抽出するインデクス検索処理部と、
テキストデータの部分文字列に対応するインデクスのサイズと予め定められた基準インデクスサイズとを比較するインデクスサイズ比較処理部と、
該インデクスのサイズが該基準インデクスサイズより大きい場合に、該インデクスに対応する部分文字列が前記インデクス検索処理部で検索される可能性が高いかどうかを判定する検索可能性判定処理部と、
該部分文字列が前記インデクス検索処理部で検索される可能性が高い場合に、該部分文字列に文字列を追加した拡張部分文字列と該拡張部分文字列に対応するインデクスを作成する文字列インクリメント処理部とを備えることを特徴とする文書検索装置。In a document search apparatus for searching text data including a specific search term,
An index search processing unit for extracting position information of text data having the same positional relationship as the partial character string of the search term by an index corresponding to the partial character string of the search term;
An index size comparison processing unit that compares the size of the index corresponding to the partial character string of the text data with a predetermined reference index size;
A search possibility determination processing unit that determines whether or not a partial character string corresponding to the index is highly likely to be searched by the index search processing unit when the size of the index is larger than the reference index size;
When the partial character string is highly likely to be searched by the index search processing unit, an extended partial character string obtained by adding a character string to the partial character string and a character string for creating an index corresponding to the extended partial character string A document search apparatus comprising an increment processing unit.
テキストデータから作成した部分文字列に対応するインデクスのサイズと予め定められた基準インデクスサイズとを比較するインデクスサイズ比較処理部と、該インデクスのサイズが該基準インデクスサイズより大きい場合に、該インデクスに対応する部分文字列が前記インデクス検索処理部で検索される可能性が高いかどうかを判定する検索可能性判定処理部と、
該部分文字列が前記インデクス検索処理部で検索される可能性が高い場合に、該部分文字列に文字列を追加した拡張部分文字列と該拡張部分文字列に対応するインデクスを作成する文字列インクリメント処理部としてコンピュータ機能させる為のプログラムを記録したことを特徴とする媒体。The same position as the partial character string in the search term by an index corresponding to the partial character string of the search term in the medium recording the program for causing the computer to function as a document search device for searching text data including a specific search term An index search processing unit for extracting positional information of text data having a relationship;
An index size comparison processing unit that compares the size of an index corresponding to a partial character string created from text data with a predetermined reference index size, and when the index size is larger than the reference index size, A searchability determination processing unit that determines whether or not a corresponding partial character string is highly likely to be searched by the index search processing unit;
When the partial character string is highly likely to be searched by the index search processing unit, an extended partial character string obtained by adding a character string to the partial character string and a character string for creating an index corresponding to the extended partial character string A medium in which a program for causing a computer to function as an increment processing unit is recorded.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP22182998A JP3620968B2 (en) | 1998-08-05 | 1998-08-05 | Document retrieval method, apparatus for implementing the same, and medium on which processing program is recorded |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP22182998A JP3620968B2 (en) | 1998-08-05 | 1998-08-05 | Document retrieval method, apparatus for implementing the same, and medium on which processing program is recorded |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2000057151A JP2000057151A (en) | 2000-02-25 |
| JP3620968B2 true JP3620968B2 (en) | 2005-02-16 |
Family
ID=16772851
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP22182998A Expired - Fee Related JP3620968B2 (en) | 1998-08-05 | 1998-08-05 | Document retrieval method, apparatus for implementing the same, and medium on which processing program is recorded |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3620968B2 (en) |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7392238B1 (en) * | 2000-08-23 | 2008-06-24 | Intel Corporation | Method and apparatus for concept-based searching across a network |
| JP4314204B2 (en) | 2005-03-11 | 2009-08-12 | 株式会社東芝 | Document management method, system and program |
| JP4491480B2 (en) * | 2007-10-11 | 2010-06-30 | 株式会社日立製作所 | Index construction method, document retrieval apparatus, and index construction program |
| JP5159277B2 (en) * | 2007-11-30 | 2013-03-06 | 三菱電機株式会社 | N character index generation device, document search device, N character index generation method, document search method, N character index generation program, and document search program |
| JP5169456B2 (en) * | 2008-05-09 | 2013-03-27 | 日本電気株式会社 | Document search system, document search method, and document search program |
| JP5033843B2 (en) * | 2009-06-30 | 2012-09-26 | クラリオン株式会社 | Name search device |
| JP5560971B2 (en) * | 2010-07-05 | 2014-07-30 | 日本電気株式会社 | Document search apparatus, document search method, and program |
| JP6319740B2 (en) | 2014-03-25 | 2018-05-09 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | Method for speeding up data compression, computer for speeding up data compression, and computer program therefor |
| WO2016001991A1 (en) | 2014-06-30 | 2016-01-07 | 株式会社日立製作所 | Search method |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3459053B2 (en) * | 1995-01-12 | 2003-10-20 | 株式会社日立製作所 | Document search method and apparatus |
-
1998
- 1998-08-05 JP JP22182998A patent/JP3620968B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2000057151A (en) | 2000-02-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3696745B2 (en) | Document search method, document search system, and computer-readable recording medium storing document search program | |
| US6782380B1 (en) | Method and system for indexing and searching contents of extensible mark-up language (XML) documents | |
| Leser et al. | What makes a gene name? Named entity recognition in the biomedical literature | |
| JP4162711B2 (en) | System and method for portable document indexing using N-gram word decomposition | |
| Zhang et al. | Bed-tree: an all-purpose index structure for string similarity search based on edit distance | |
| US4775956A (en) | Method and system for information storing and retrieval using word stems and derivative pattern codes representing familes of affixes | |
| US6321192B1 (en) | Adaptive learning method and system that matches keywords using a parsed keyword data structure having a hash index based on an unicode value | |
| US6496820B1 (en) | Method and search method for structured documents | |
| US6263333B1 (en) | Method for searching non-tokenized text and tokenized text for matches against a keyword data structure | |
| Gelfand et al. | Comparative analysis of regulatory patterns in bacterial genomes | |
| CN101388012A (en) | Pinyin checking system and method with confusing sound recognition | |
| EP1844391A2 (en) | Multiple index based information retrieval system | |
| CN111400323B (en) | Data retrieval method, system, equipment and storage medium | |
| US20060106849A1 (en) | Idle CPU indexing systems and methods | |
| CN100423005C (en) | Method and system for indexing entity | |
| WO2008128351A1 (en) | Language independent index storage system and retrieval method | |
| JP3620968B2 (en) | Document retrieval method, apparatus for implementing the same, and medium on which processing program is recorded | |
| CN110347804B (en) | Sensitive information detection method of linear time complexity | |
| JP2004220176A (en) | Database search system and search method, method for forming data file used for search, and storage medium storing data file | |
| EP0235525A2 (en) | Statistical information access system | |
| Mustafa et al. | SISDOM: A multilingual document retrieval system | |
| JP2007133682A (en) | Full-text search system and full-text search method | |
| Pujari et al. | Building Efficient Inverted Indexes and Dictionaries for Informal Information Retrieval Systems | |
| Yannakoudakis | An efficient file structure for specialized dictionaries and other “lumpy” data | |
| Fang et al. | Chinese Word Segmentation for Agriculture. |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 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: 20041109 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041116 |
|
| 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: 20071126 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081126 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091126 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101126 Year of fee payment: 6 |
|
| LAPS | Cancellation because of no payment of annual fees |