JPH10501912A - Nグラム・ワード分解を用いた携帯型文書索引付け用のシステム及び方法 - Google Patents

Nグラム・ワード分解を用いた携帯型文書索引付け用のシステム及び方法

Info

Publication number
JPH10501912A
JPH10501912A JP8531146A JP53114696A JPH10501912A JP H10501912 A JPH10501912 A JP H10501912A JP 8531146 A JP8531146 A JP 8531146A JP 53114696 A JP53114696 A JP 53114696A JP H10501912 A JPH10501912 A JP H10501912A
Authority
JP
Japan
Prior art keywords
page
gram
map
word
index
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP8531146A
Other languages
English (en)
Other versions
JP4162711B2 (ja
Inventor
ランガラジャン,ヴィジャクマール
ラヴィチャンドラン,ナタラジャン
Original Assignee
リバス・テクノロジー,インコーポレイテッド
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 リバス・テクノロジー,インコーポレイテッド filed Critical リバス・テクノロジー,インコーポレイテッド
Publication of JPH10501912A publication Critical patent/JPH10501912A/ja
Application granted granted Critical
Publication of JP4162711B2 publication Critical patent/JP4162711B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/26Techniques for post-processing, e.g. correcting the recognition result
    • G06V30/262Techniques for post-processing, e.g. correcting the recognition result using context analysis, e.g. lexical, syntactic or semantic context
    • G06V30/268Lexical context
    • 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/416Extracting the logical structure, e.g. chapters, sections or page numbers; Identifying elements of the document, e.g. authors
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 nグラム又は線形ワード副単位への文書内のワードの分解を用いて、格納されている文書の索引付け及び検索を行うためのシステム及び方法を提供すること。文書は、多数のバンク内のページとして索引付けられる。各バンクに対して、1つのバンク索引が存在する。個々のnグラムは、各ページに対して識別されて、バンク索引内に格納される。各バンク索引は更に、所与のnグラムがバンクのページのいずれかに存在するか否かを示し、次いで、バンク内のどのページがnグラムを含むかを更に示すページマップに、索引を与える。探索照会が入力されると、照会ワードが、それらのnグラムへと分解される。照会ワードnグラムは、先ずエントリマップと比較されて、照会ワードnグラムが、バンク内のいずれかのページに出現するか否かが判定される。出現する場合、関連したページマップが走査されて、バンク内のどのページが、照会ワードnグラムを含むかが判定される。そのページのnグラムが、照会ワードnグラムと比較されて、それらの間の一致の存在が判定される。一致ページが掲げられる。全てのバンク内の全てのページの処理が完了すると、ページは、それらが属する文書に関して統合され、それにより結果として、探索照会に一致する文書リストとなる。結果はユーザに表示される。

Description

【発明の詳細な説明】 Nグラム・ワード分解を用いた携帯型文書索引付け用のシステム及び方法 背景 発明の分野 本発明は、光学式スキャナ及び光学式文字認識による文書処理の分野に関し、 更に詳細には、後の探索及び検索のために、文書内のワードに索引付けするシス テム及び方法に関する。 発明の背景 光学式文字認識(OCR)は、コンピュータ読み取り可能形式で、印刷及び手 書き文書を捕捉するために広く用いられ、それにより、文書を、情報検索システ ムを用いて後で探索及び検索することが可能になる。完全テキスト検索能力を備 えた典型的な情報検索システムは、システムへと入力される文書中のあらゆる重 要なワードに索引付けし、索引内の各ワードに対して、通常文書、ページ、及び ある型式のワードオフセット、又は他の類似型式の連係により、ワードが発生す る場所の識別子のリストをもたらす。文書は、入力探索照会に応答して検索され るが、これは、探索照会中のワードと索引中のワードとの正確な一致をとり、ワ ードに対し索引付けられた文書を検索することによりなされる。ブール探索演算 子が通常与えられるので、複雑な探索照会が可能となる。 従って、入力文書の正確な検索は、主に、正確な入力及びOCR解析に頼って いる。OCRシステムは、一般に、文字、フォント型 式、フォントサイズ、ページ割付、画像分解能、及び画像品質間の空間隔差に非 常に敏感である。従って、99%の精度を有する高精度OCRシステムでさえも 、100個に1個は文字を誤解釈することになり、その結果、レター置換、レタ ー喪失、又は同様の綴りエラーとなる。結果として、典型的なOCR処理文書は その後、任意の場所に3から8個の、又は更に多くのページ単位の間違った綴り すなわちエラーを有することになる。これには、文書に元々存在する誤植は含ま れない。他の問題は、OCRシステムが別個のワードを共に実行するという点に ある。 綴りの間違ったワードは適切には索引付けされず、従って、適切な綴りのワー ドを含む探索照会に応答している間は検索されないことになる。同様に、同時進 行ワード列中の個々のワードは、全く索引付けされず、唯一、ワード列全体の一 部として索引付けされ、従って、ワード列中の個々のワードのどれもが、かかる ワードを特定する探索照会に応答して検索されないことになる。 綴り間違いの問題に対する通常の解決策は、シソーラス又は類似デバイスに頼 って、共通の間違った綴りをそれらの正確な綴りの供給源に索引付けするもので ある。この手法に伴う1つの問題は、それが、共通でない間違った綴りを考慮し ない点にある。これらの手法は又、索引のサイズを大幅に増大させ、このことが 、情報検索システム設計の別の側面に結びついた。 情報検索システムにおける第2の主要問題は、索引を作成し維持するのに要す る性能、及び時間である。通常、反転索引が、二重連 結リスト等の単一の一枚岩データ構造、又はツリー構造として維持される。新規 の文書が、オンライン・データベースに対して日常的であるシステムに追加され る度に、索引全体を調整する必要があり、また入力文書に出現する索引中の各ワ ード登録が、入力文書に対する等価データで更新される必要がある。これは、オ ンライン索引付けを大型システムに対して不適切にするため、索引付けはオフラ インで実行され、それにより、追加文書を探索できる素早さが制限される。加え て、索引が詳細になるほど、索引付け処理に多くの時間が費やされる。しかし、 索引付け時間と探索時間との間には、妥協点が存在する。 最後に、情報システムについての他の関心事は、付随又はクライアントシステ ムと共に利用するために、索引付き文書を交換する能力である。目下のところ、 多数のソフトウェア・アプリケーション、特に、データベース及び情報システム が、クライアント−サーバに基づいている。加えて、絶えず数が増大する携帯型 コンピュータがある。これらの要因により、再索引付けに相当のオーバーヘッド なしに探索するために、索引付き文書を、索引付けシステムに効率的に付加し、 又は索引付けシステムから外すことを可能にする、索引付けシステムを提供する ことが望まれる。慣用的な情報検索システムは、携帯型でないモノリシック反転 索引を使用する。というのは、この索引は、多数メガバイト、又はギガバイトす らあり、文書のページの数万倍となる。このサイズの索引、すなわちこの複雑な 索引は、遠隔のクライアント、携帯型コンピュータ装置、又は着脱可能 な記憶媒体に都合良く転送することができない。 従って、OCR解析からであろうとなかろうと、入力文書中のエラーを補償し て、高速の索引付け、及び間違った綴り又は他の誤植を含んだ文書の正確な検索 を可能にする索引付けシステムを提供することが望まれる。更に望まれるのは、 探索時間を大幅に増大することなく敏速な索引付けを考慮し、更に、索引付き文 書の携帯性を支援するシステムを提供することである。 発明の摘要 改善型の索引付け及び検索方法及びシステムが、各ワードを多数の「nグラム (gram)」又はワード副単位に分解することにより、現存の情報検索システムの制 限を克服する。nグラムとは、n個の文字が、所定のワード、特に「cho」、「t hi」、「ment」等のレター又は番号に出現する際の、そのn個の文字の順序付き 線形組合せである。一般に、nグラムは、そのnグラム内の文字数であるnグラ ムパラメータNpを有する。3のnグラムパラメータを備えたnグラムは、便宜 的に「トリグラム(trigram)」と呼ばれる。例えば、「houseboat」というワード は、トリグラム「hou」、「ous」、「use」、「seb」、「ebo」、「boa」、「oa t」から構成される。レターの全てがワードに存在するとしても、「tbh」も「hb t」も、「houseboat」のトリグラムではないことに留意されたい。というのは、 レターがワード内に出現する際のレターの順番及び関係が重要であるためである 。 本発明において、文書の各ページの非停止ワードがnグラムへと 分解されて、それらが索引付け及び格納される。完全なワードではなくnグラム によりワードを索引付けすることで、間違った綴り、部分ワード、又はワード列 内に埋め込まれたワードが、ワード全体間の一致ではなく、照会ワードのnグラ ムと文書内のnグラムの間の一致を探索することにより識別できる。例えば、「 factory」というワードが、文書内で「factori」と綴りが間違っていると仮定す る。そのnグラムは、「fac」、「act」、「cto」、「tor」及び「ori」として 格納される。これらは、正確な綴りの「factory」という探索照会ワードのnグ ラム、すなわち「fac」、「act」、「cto」、「tor」、「ory」と比較される。 5個のnグラムのうちの4個が一致して、その文書が検索されることになる。同 様に、第1のレターが、OCR解析問題に起因して外れるとしても、nグラムは やはり「acu」、「cto」、「tor」、「ory」となるであろう。ここで、5個の nグラムのうちの4個がやはり一致するので、そのワードは検索されることにな る。明らかに、同時進行ワード列の内側のワードに対するnグラムは、同様に識 別可能であり、また別個に一致可能であろう。 従って、文書を探索及び検索するために、探索照会が入力されて、探索照会内 のワードが、それらのnグラムへと同様に分解される。照会ワードのnグラムは 次に、各種文書のページのワードに対するnグラムと比較される。任意の照会ワ ードnグラムが、あるページの任意のnグラムと一致する場合、そのページは検 索されて、照会ワードnグラムは更に、各ワードnグラムと比較される。これに よ り、照会ワードとそのページのワードとの間の一致精度の判定が可能になる。そ のページを含む文書は次に、検索されてユーザに表示可能となる。また、照会ワ ードと文書ワード間の一致の判定が終了すると、ブール探索を実行可能である。 以上は、nグラム分解及び索引付け処理の基本概念の説明である。多数の異な るシステムが考案され、nグラムを用いてワード又は文書が解析される。しかし 望まれるのは、効率的な索引付け、及び高精度の高速探索をもたらし、更に、索 引及び文書の携帯性を与えるシステムにおいて、nグラム分解を使用することで ある。従って、本発明の別の及び更なる態様は、階層的索引付け方式の使用であ り、これは、多数のドロワ内の文書を表現するデータを格納し、各ドロワには、 テキスト及びイメージデータのページを有する文書が含まれる。ページは、ある ドロワ内の多数のバンクに作表される。Nグラム分解及び索引付けは、文書全体 に関してではなく、離散ページに関して実行される。 各ドロワは、多数のバンクを含んでいる。各バンクに対して、1つのバンク索 引が存在する。このバンク索引は、関連したバンクにおいて各ページに実際に出 現するnグラムを表すデータを格納している。所定サイズの既知で固定数のnグ ラムが存在するので、各バンクは更に、バンク内に作表された任意のページのn グラムの任意の事例が存在するか否かを、各可能なnグラムに対して示すエント リマップを含んでいる。バンク内の任意のページの事例が存在する各nグラムに 関して、次に、エントリマップは、そのnグラムを含 むバンク内の各ページを特定的に識別する、更なるページマップにアクセスを行 う。この型式の記憶構造は、索引付け及び検索時に、メモリの非常に小型で効率 的な利用を考慮するものである。 バンク、及びバンク索引により、敏速な検索システムが提供される。照会が入 力されると、照会ワードのnグラムが決定される。照会ワード内の各nグラムは 、先ず、エントリマップに対して直ぐ比較されて、バンクの任意のページ内にn グラムの任意の事例が存在するか否かが判定される。エントリマップが、あるペ ージにそのnグラムが含まれると示す場合、そのページマップが走査されて、特 にどのページに更なる処理が必要であるかを決定する。この初期の前処理は、所 与の参照ワードを更に探索する必要のあるページのみを非常に敏速に識別し、照 会ワードのnグラムを含んでいないページを検討から削除する。 次に、第2の処理段が、照会の部分を含む、バンク内のページのみをアクセス することになる。かかる各ページに関して、そのページのnグラムが、これはバ ンク索引に格納されているが、次に照会ワードnグラムと比較される。これらが 、十分な割合で照会ワードのnグラムと一致する場合、そのページに関連した文 書が、検索のために指示される。文書と索引のこの編成により、文書の携帯性が もたらされる。というのは、ドロワ、文書、バンク、及びバンク索引を含むドロ ワ全体が、文書が索引付けられたコンピュータ・システムから他のコンピュータ ・システムへと転送されて、そこで、ドロワ内の文書を再索引付けする必要なく 探索できるためである。 図面の簡単な説明 図1は、nグラム分解を用いて、文書を索引付け及び検索するためのシステム のブロック図である。 図2aは、このシステムの記憶要素の物体モデルであり、ドロワ、フォルダ、 文書、バンク、バンクリスト、バンク索引、解放リスト、及び文書リストの関係 を示す。 図2bは、これら記憶要素のユーザ側から見た図である。 図3は、文書リストの構造図である。 図4は、バンクの構造図である。 図5は、バンク索引の構造図である。 図6は、バンクとバンク索引の間の関係の一例を示す図である。 図7は、文書を索引付け及び検索する方法全般の流れ図である。 図8は、文書に対する索引付け処理の流れ図である。 図9は、文書内のあるページを索引付けする行程の流れ図である。 図10は、バンク索引に記憶するために、あるページ内のワードキーを作成す る行程の流れ図である。 図11は、探索行程の流れ図である。 図12は、あるバンクに関する前処理演算の流れ図である。 図13は、前処理の後に続く、あるバンクの選択ページを探索する行程の流れ 図である。 図14は、照会ワードのnグラムをあるページのワードのnグラムと突合せる 行程の流れ図である。 発明の詳細な説明 システムアーキテクチャー 図1を参照すると、そこには、本発明の改善型文書索引付け及び検索システム を用いるためのシステムが示されている。システム100は、コンピュータ10 1を備え、これは、走査済み文書の長期保存用の二次記憶装置107と、コマン ド及びデータを受信及び出力するための入力装置109及び出力装置116と、 プロセッサ111による実行用の各種符号モジュールを格納するためのアドレス 指定可能メモリ113を有する。 入力装置109にはスキャナ115が含まれ、これは、入力文書を走査して、 入力文書に対してグレイスケール、2階調、又はカラービットマップファイルの いずれかを生成することが可能である。スキャナ115は、少なくとも200d piの分解能を有することが好ましい。入力装置109は更に、コマンド及びデ ータを入力するためのキーボード149を備える。出力装置116は、走査済み 文書、又はシステム100内に常駐する他の文書を含めた文書を印刷するための プリンタ117を備える。出力装置116は又、探索結果及び他の情報と共に、 ユーザに対してシステム用のユーザインターフェースを表示するためのディスプ レイ151を備える。 アドレス指定可能メモリ113には、多数の符号モジュールが含まれ、これら は共に、本発明のシステム100を管理する実行可能アプリケーションを構成す る。更に詳細には、アドレス指定可能メモリ113には、アプリケーション監視 119と、索引監視121と、探索監視123と、文書参照モジュール125と 、ページ索引 付けモジュール127と、探索実行モジュール129と、探索リストモジュール 131と、光学式文字認識モジュール133とが含まれる。これら各種モジュー ルの動作を以下で説明するが、その前に携帯型文書索引付けを支援する記憶要素 について説明する。索引/探索バッファ143を用いて、索引付け及び探索段の 間に生成されたデータが一時的に格納される。ページバッファ145を用いて、 探索時に文書からのデータが一時的に格納される。停止ワードファイル135が 、索引付けから除外されるワードのリストを維持する。停止ワードファイル13 5は、システム100に設けられて、ユーザにより修正される。 システム100は、アプリケーション監視119を通じてアクセスされ、これ は、ディスプレイ151上に適切なユーザインターフェースを提供し、それによ りユーザが、スキャナ151を通じてシステム100内に文書を、又は現存のテ キストファイル、イメージファイル、グラフィックファイルその他といった他の ソースを入力したり、ワード、汎用文字、及びブール又はSQL演算子の組合せ を含む探索照会を入力したり、またディスプレイ151又はプリンタ117等の 出力装置上で、探索照会の結果を見直すことが可能になる。 アドレス指定可能メモリ113には更に、本発明のnグラム分解索引付けを実 施するのに有用な記憶構造のデータベース141が含まれる。ここで図2aを参 照すると、そこには、アドレス指定可能メモリ113におけるこれら記憶構造の 物体モデルが示されている。 図2bは、これらの記憶構造をユーザ側から見た図である。 アドレス指定可能メモリ113は、1つ以上のドロワ201を含む。各ドロワ 202は、好適には、ドロワ名と論理名、及び着脱可能媒体か、又は固定媒体か の媒体型式を有する。この最後の属性により、ドロワ201を、携帯型記憶媒体 上で各種のコンピュータ装置に転送することが可能になる。 各ドロワ201は更に、0個以上のフォルダ203の階層リストを含む。各フ ォルダ203は、1つのフォルダ名を有し、0個以上の文書205又は他のフォ ルダ203を含む。 各文書205は、ユーザによる認識のための文書名、及びシステム100によ り使用される固有の文書番号を有するのが好ましい。1つの書類205は、少な くとも1つのテキストファイル207から構成される。更に、1つの書類205 には、イメージファイル209、アイコンファイル213、及び書類ファイル構 造(DFS)ファイル211が含まれる。テキストファイル207は、ASCI I又は類似のフォーマットで書類のテキストデータを収納する。テキストデータ は、一般に、イメージデータに関するOCR処理から生成されることになる。テ キストデータは、ユーザ入力からでも直接作成できる。テキストデータは、例え ば、文書205がビットマップ化又はベクトル・グラフィック・ファイルである 場合、及びユーザが、索引付けのために、ファイルの注釈又は記述を含めたい場 合にも入力することができる。テキストファイル207は、1つ以上のページ2 15にそのデータを収納する。各ページは、そのペー ジ番号、文書名、フォルダ名、及びドロワ名によって識別される。 イメージファイル209は、対応する入力文書の走査及び認識、又は他の類似 の処理から生じる、2階調、グレイスケール、又はカラーのビットマップである 。イメージファイル209中のデータは、同様にページ205に格納される。 DFSファイル211は、テキストファイルデータをイメージファイルデータ にマッピングする。DFSファイル211は、テキストファイル207における テキストのライン毎に、イメージページ215へのマッピングと、テキストのラ インがイメージページ215内に出現する場所での画素座標(好適には、左上及 び右下の角)により規定される、境界を示す矩形とを含む。このマッピングによ り、ユーザが、あるページの画像を見る場合に、そのページのテキストデータを アクセス可能となる。DFSファイル211は又、好適には、文書205内のテ キスト及びイメージページ数に対して、ページカウント値を維持する。DFSフ ァイル211は更に、文書205内の各ページについての参照データを維持し、 これには、ページ番号と、文書番号及び文書名と、完全経路名と、アイコンファ イル名とが含まれる。 アイコンファイル213は、文書205の各ページのごく小さなビットマップ 化イメージを収納する。ごく小さなイメージは、探索及び検索動作時に、又は文 書205がユーザによりアクセスされている間、ユーザに対して表示される。好 適な実施例において、文書だけが、走査その他なしに生成されたテキストデータ を含む場合に は、付随のイメージファイル209、又はアイコンファイル213は存在しない 。 各ドロワ201は、文書リスト225と関連づけられる。文書リストは、ドロ ワ201内の全ての文書205の索引である。図3は、文書リスト225の構造 を示す。文書リスト225は、可変数の、多くても最大限度Dmaxまでのエント リ311を格納する。好適な実施例の場合、Dmaxは、ドロワ201内の文書の 全てにおけるページ全体の数により制限され、各ドロワ201は、最大で1,0 44,480ページを扱うことが可能である。各エントリ311は、ドロワ20 1内の各文書205の完全経路名を含む。各文書205は、文書リスト225に おけるそのオフセットの結果として、文書リスト225内に固有の文書番号30 1を有する。状態値303が、好適には、各エントリ311に対して、どれが文 書を格納するのに利用可能であるかを指示するために維持される。文書リスト2 25は、文書エントリ311の数307のカウント値、及び未使用エントリの数 309のカウント値を維持するが、これらは、現存の文書が外された場合に作成 される。 システム100は更に、少なくとも1つのバンク217を含む。図4は、バン ク217の構造図である。各バンク217は、システム100に各種文書からの ページのリストを含み、これは、最大で所定数Pmaxのエントリ413である。 好適な実施例の場合、バンク217は最大で255個のエントリ又はページ参照 を含む。他の実施例の場合、Pmaxが更に大きいと、結果として更に多くのペー ジの索引付けとなり、Pmaxが更に小さいと、ページがほとんど索引付けできな くなるが、記憶容量の必要性は少なくなる。文書ページは、ドロワ201用の文 書リスト225からの文書番号301で作表され、次いで、文書205内のペー ジ番号403により作表される。各エントリ413に対して、そのエントリ内で いずれのページを参照するかを示す状態値405が維持されるのが好ましい。各 エントリ413は更に、関連したバンクオフセット411を有し、これは、バン ク217内のエントリ413のオフセットである。すなわち、バンクオフセット 411は、実際にはエントリ413に格納されていない。各バンク217は、好 適には、バンク217において新しいページが参照され、他のページは参照され ない際に更新される、未使用エントリの数407を維持する。好適な実施例の場 合、ドロワ201は、4096個のバンク217を含み、結果として、各ドロワ 201に対する索引付きデータの最大で1,044,480ページとなる。各バ ンク217は、それをドロワ201及びバンクリスト219内で固有に識別する 、バンク番号409を有する。すなわち、バンク番号409は、それ自体のバン ク217に格納されるか、又はバンク217のファイル名により識別可能である 。共に、バンク番号409とバンクオフセット411は、ページに対するバンク 参照を形成する。 各バンク217は、バンク索引223及び解放リスト221と関連づけられる 。各バンク索引223は、バンク217内の各ページエントリ413に見出され るnグラムを識別する。図5を参照する と、そこには、バンク索引223の好適な構造が示されている。好適な実施例の 場合、バンク索引223は、全nグラムのリストをデータとして直接には含まな い。むしろ、各nグラムには、固有の番号が割り当てられ、これを用いて、固定 数のnグラム・エントリマップ505が索引付けられる。 最初に、索引付けのために、システム100により索引付け可能な文字組、及 び文字範囲が選択される。索引付け可能な文字の総数をCmaxと呼ぶ。そうする と、nグラムの総数Lは、 L:[CmaxNp となる。 好適な実施例の場合、索引付け可能な文字は、「A」−「Z」及び「O」−「 9」である。全ての句読点及び特殊文字が、これらは通常、データを探索するの に使用されないが、「〜」等の単一文字にマッピングされるのが好ましい。これ により、「AT&T」といったワードが「AT〜T」と、また「3.1415926」といった 数字が「3〜1415926」と索引付けることが可能になる。更に、1つのワードの最 後の幾つかの文字が、それら自体によるnグラムにとって不十分な数である場合 、「〜」を用いてnグラムが完成される。例えば、「at」のトリグラムは「at〜 」となる。国際文字は、対応する英語の等価文字にマッピングされる。小文字は それらの大文字値に変換される。これにより結果として、nグラム内の各位置に 対して37個の異なる文字での好適な実施例となる。そうすると、好適な実施例 の場合、50,563(373)個のトリグラムが存在する。37個の文字 は、任意の有用な仕方で、例えばそれらのASCII値又は他の手段により順序 付けられる。次に、可能なnグラムが作表されて、nグラム番号で直列に番号付 けられる。例えば、最初に数表示を、次に「〜」を想定すると、その順番付けは 、「000」、「001」、…、「00A」、…、「00Z」、「00〜」、…「〜〜〜」とな る。好適な実施例の場合、nグラム番号は以下のように計算される。 nグラム番号=(第1のnグラムレター番号)*max_charN-1 + (第2のnグラムレター番号)*max_charN-2 + (第3のnグラムレター番号)*max_charN-3 + … (第N−1のnグラムレター番号)*max_char+ (第Nのnグラムレター番号)*max_charN-1 ここで、nグラムレター番号は、レターがnグラムに出現する際の順序付き数で あり、NはnグラムパラメータNpであり、max_charはCmaxに等しい。好適な実 施例の場合、Cmaxは37であり、nグラムパラメータNpは3であるので、上記 式は以下のように簡約化される。 トリグラム番号=(第1のトリグラムレター番号)*372 + (第2のトリグラムレター番号)*37 + (第3のトリグラムレター番号) 代替実施例の場合、参照テーブル227がnグラムを格納し、そのテーブル内 の所与のnグラムのオフセットは、そのnグラム番号である。 各バンク索引223には、使用されているnグラムの総数Lに等しい数である 、nグラム・エントリマップ505の固定数が含まれる。各nグラム・エントリ マップ505は、索引ページマップ507に対する索引値を維持するが、それは 索引ページマップ507が、nグラムエントリ505と関連したnグラムに対し て割り当て済みの場合である。各索引値単位は、索引ページマップ507内の要 素の総数を表す。索引オフセット501が、第1の索引ページマップ507のア ドレスを格納する。nグラム・エントリマップ505内の索引値は、索引オフセ ット501に加えられて、nグラム・エントリマップ505と関連した索引ペー ジマップ507となる。多数のnグラムは、バンク217内のページエントリ4 13のいずれにも出現しないので、nグラム・エントリマップ505により、シ ステム100が、どのnグラムに関して、ページに実際の事例が存在するかを敏 速に判定することが可能となり、従って、実際の索引ページマップ507を探索 時に更に解析することが可能となる。 索引値が非ゼロである各nグラム・エントリマップ505に対して、1つの索 引ページマップ507が存在する。各索引ページマップ507は、バンク217 内のどのページ403がnグラムを含むかを示すデータを収納する。索引ページ マップ507は、バンク217内の各可能なページエントリ413に対して、1 ビットを収納する。好適な実施例の場合、各マップ507内のビット数は、バン ク217内のエントリの最大数Pmaxに対応する。索引ページマップ507内の ビット位置は、バンク217内のページエントリ41 3のバンクオフセット411に対応する。そのビットは、ページエントリ413 が、素引ページマップ507と関連したnグラムを含む場合にセットされ、含ま ない場合にはセットされない。バンク217内に255個のページエントリを備 えた好適な実施例の場合、各索引ページマップ507は、32バイト(256ビ ット)を収納して、nグラムをページエントリ413にマッピングする。他の実 施例の場合、他の形式のマッピングが用いられるが、例えばポインタのリスト等 がある。索引ページマップ507の更新について、以下で更に説明する。 図6は、バンク217とバンク索引223の間の索引付け関係の一例である。 図6には、各種のページエントリ413a−f、エントリ総数Pbを含む1つの バンク217の一部が示されている。エントリの幾つかは、それらの状態値40 5において「使用中」と表記され、かかる各エントリ413には、文書番号30 3が含まれ、これは、それが文書リスト225(不図示)内のどの文書に属する かを示し、また、文書内のどのページかを示すページ番号403が含まれる。こ こで留意されたいのは、エントリ413は、多数の異なる文書から到来し、エン トリ413b、c等の同一文書からのエントリでさえも、文書の唯一選択された ページである。バンクオフセット411は、各エントリ413に対して指示され る。 バンク索引223には、nグラム・エントリマップ505a−fの完全な作表 の一部が含まれる。これらのnグラム・エントリマップ505a−fの各々には 、もしあれば、どの索引ページマップ5 07a−fが、nグラム・エントリマップと関連したnグラムに対して割り当て られるかを示す、索引値601が含まれる。従って、第1の(図で見られるよう に、バンク索引223内のn番目とすることもできる)nグラム・エントリマッ プ505aは、ゼロに等しい索引値601を有し、これは、そのマップと関連し たnグラムが、バンク217内のどのページにも出現しないことを示し、従って 、nグラム・エントリマップ505に対して割り当てられる索引ページマップ5 07はない。第3のnグラム・エントリマップ505cについても同様である。 しかし、第2のnグラム・エントリマップ505bは、2に等しい索引値を有 し、第2の索引ページマップ507bに対して索引付ける。従って、それがどん なnグラムであっても、nグラム・エントリマップ505bと関連したnグラム の一事例を有するnグラムバンク217には、少なくとも1つのページが存在す る。同様に、第4のnグラム・エントリマップ505dは、第4の索引ページマ ップ507dに索引付けし、nグラム・エントリマップ505eは、第3の索引 ページマップ507cに索引付けし、またnグラム・エントリマップ505fは 、第1の索引ページマップ507aに索引付けする。 各索引ページマップ507には、バンク217内のエントリ413にマッピン グされる、1組のビットが含まれる。ある索引ページマップ507内の第mビッ トの値は、その索引ページマップ507に対するnグラム・エントリマップ50 5と関連したnグラムが、 第mエントリ413により表されるページに出現するか否かを示す。各索引エン トリマップ507内の第1ビットは、第1エントリ413aにマッピングされ、 第2ビットは第2エントリ413bに、等となる。 例えば、枠603には、バンク217内の第4エントリ413dに対するマッ ピングが示されている。第1及び第2の索引ページマップ505a、bの両方に おいて、エントリ413dに対応するビットはセットされない。これは、nグラ ム・エントリマップ505b及び505fと関連したnグラムが、文書番号71 1のページ87には出現しないことを示す。しかし、索引ページマップ507c 、d内のビットはセットされるので、nグラム・エントリマップ505d、eと 関連したnグラムはそのページに出現する。同様に、索引ページマップ507b の第Pmaxビットは、このマップと関連したnグラムが、文書番号818のペー ジ93に出現することを示す。 再度図5を参照すると、バンク索引223は更に、バンク217内のページエ ントリ413により識別されるページに出現するnグラムを表すデータを格納す る。これは、実際の探索が実行されて、入力照会に一致する文書を突き止める場 所である、バンク索引223の領域である。このデータは、ページキー509の 可変長テーブル517に格納されるが、各ページエントリ413に対して1つで ある。ページキー509は、以下の形式の可変長フィールドである。 [ki、nグラムi1、、nグラムi2、…、nグラムik] [k(i+1)、nグラム(i+1)1、nグラム(i+1)2、…、 nグラム(i+1)k]… ここで、kiはページの第iワード内のnグラムの数であり、nグラムi(1 …k) は第iワード内のnグラム番号のリストである。値[k]の各グループ[nグラ ム1、nグラム2、…、nグラムk]は「ワードキー」と呼ばれる。あるページ の全てのワードに対するワードキーの集合がページキー509である。ここで留 意されたいのは、好適な実施例において、nグラム自体が格納されるのではなく 、各nグラムを固有に識別するnグラム番号がページキー509に格納される、 ということである。nグラム自体ではなくnグラム番号を用いることにより、結 果としてメモリの節約になる。各nグラムは各文字に対して1バイトを要するの で、トリグラムは3バイトである。しかし、nグラム番号は以下のビットしか必 要としない。 log2([CmaxNp) 従って、トリグラムは、15.6ビット、又は2バイトしか必要としない。 1ページに対して32kの最大テキストデータサイズを想定すると、1つのペ ージキー509の最大サイズは、好適な実施例の場合、128kしかない。実際 には、各ページの平均サイズは約2kであるので、各ページキー509は約8k である。 個々のページキー509にアクセスするために、固定サイズのページオフセッ トテーブル515が設けられている。それ内の各エントリには、各ページキー5 09に対して、1つのページキーオフセット511及びページキーサイズ513 が含まれる。好適な実施例 の場合、バンク217内のページエントリ413の各々に対して、1つのエント リが存在する。ページキーオフセット511とは、テーブルエントリに対応する 可変長ページキー509の開始に対するオフセットのことである。ページキーサ イズ513とは、nグラム及びk値に対する全エントリを含む、対応するページ キー509内のバイトの総数のことである。ページキーサイズ513を維持する ことにより、システム100が、システムから索引付きページを削除すること、 及び新規ページを追加及び索引付けするのに利用可能な領域に関する情報を依然 として有することが可能になり、それによって記憶空間の浪費が回避される。 解放リスト221は、各バンク217と関連づけられて、バンク217内のど のページエントリ413が、索引付けに利用可能であるかに関する情報、これに は以前に索引付けられたページエントリ413が削除された場所も含まれるが、 その情報を格納する。あるページエントリ413があるバンク217から削除さ れる場合、そのバンク索引223内のページキーオフセット511及びページキ ーサイズ513が、解放リスト221に格納され、次いでページキーオフセット 511は、バンク索引223でゼロにセットされる。 バンクリスト219が、ドロワ201内のバンク217の全てに対するデータ を収納する。バンクリスト219は、各バンク217に対して、バンク217内 の解放エントリ413の数のカウント値を維持する。これらの値は、新規ページ がバンク217に追加される際、又は古いページが削除される際に更新される。 好適な実施例 の場合、バンクリスト219には、バンク番号に従って、最大で4096個のバ ンク217に対する解放エントリのカウント値が含まれる。表1はバンクリスト 219の構造を示す。 再度DFSファイル211を参照すると、好適な実施例の場合、それには、そ の関連した文書205の各ページ215に対して、バンクリスト219で順序付 けられる通りのページ215を含むバンク217のバンク番号、バンク217内 のバンクオフセット411、文書のページ番号403、及び文書リスト225内 の文書番号301が収納される。 システム動作 I.全体の処理流れ システム100は、情報記憶及び検索システムにおいて、文書を索引付け及び 探索する改善された方法を提供する。その方法には、2つの基本的な行程が含ま れ、すなわち文書を索引付けする行程と、探索照会を用いて文書を探索する行程 である。 図7を参照すると、そこには、本発明の方法全体の流れ図が示さ れている。1つの文書、又は1組の文書がシステム100へと入力される(ステ ップ701)。印刷文書又は画像に対して、文書が、スキャナにより慣用的な仕 方で走査され、次いでOCRモジュール133により処理されて、テキストファ イル207のテキストデータが生成される。あるいは、イメージファイル209 を有する文書が、ファクシミリ画像等の他のシステムから読み込まれて、OCR モジュール133により処理される。代替として、文書は、テキストファイル2 07内のテキストデータとして直接入力されるか、又はユーザが、テキストファ イル207に追加のテキスト情報を与えた、イメージとすることもできる。文書 がテキストデータとして直接受信される場合、テキストファイル207とイメー ジファイル209間のDFSファイル211でマッピングは行われない。代替と して、テキストデータが直接受信される場合、それは、慣用的な画像処理技法を 用いてイメージファイルへと描写され、次いで、DFSファイル211が、テキ スト/イメージ・マッピング情報を含むように更新される。好適には、ユーザは 、アプリケーション監視119により促されて、入力文書を格納するドロワ20 1及びフォルダ203を選択/作成する。 入力文書のテキストデータが得られた後、入力文書は索引付けられる(ステッ プ703)。索引付けは、索引監視121により管理される。好適には、索引付 けは、入力ステップ701の間、文書が走査されている場合に1ページ毎に行わ れる。索引付けは又、1文書毎に、又は所望ならばバッチ或いは据置きモードで も行われるが、 これは、大量の文書を都合良く扱うためである。索引付けは、文書の各ページ内 のnグラムの全てを識別し、ユーザ選択のドロワ及びフォルダの1つ以上のバン ク217内で利用可能な空間を突き止め、それに従って、バンク217、バンク 索引223、バンクリスト219、及び解放リスト221を更新する。 索引付けが終了すると、ユーザは、索引付き文書205のドロワ201全体を 他のコンピュータに、直接ネットワーク接続を経由して、又は携帯型記憶媒体を 介して転送する(ステップ705)ことを決めることができる。これにより、他 のコンピュータが、文書を再索引付けする必要なく、ドロワ201内の文書20 5に関して探索可能となる。代替として、ユーザは、1つ以上の文書205又は フォルダを転送することを決めることもできる。再索引付けは、文書がドロワ2 01間で転送される場合にのみ必要である。 システム100は、任意の索引付きドロワ201に関して探索することが可能 である。アプリケーション監視119が、ユーザに、探索する(ステップ709 )ためのドロワ201、フォルダ203、又は文書201を選択するよう促す。 ユーザは、所望のワード及びブール演算子を特定する探索照会を入力する(ステ ップ707)。ユーザは又、一致パラメータEも特定し、これは、探索照会と任 意の文書に存在するワードとの間の精度の割合を記述するものである。好適な実 施例の場合、Eは有用な範囲、例えば20%−100%に制限される。 探索照会が入力されると、探索監視123が、探索行程709を 管理する。要約すれば、探索には、照会ワードをnグラムに変換し、次いで、こ れらの照会ワードnグラムをバンク索引内のnグラムと比較することが伴う。次 に、nグラムの一致が解析され、一致パラメータで重み付けされて、一致の度合 いが決定される。探索照会と一致パラメータを満足する一致を有する文書が検索 されて、ユーザに対して表示される(ステップ711)。ユーザは、更なる探索 を行い、結果を格納し、文書をプリントアウトし、文書の部分を内部のユーザ用 の他のアプリケーション・ソフトウェアへとコピーし、又は探索を終了すること ができる。 II .文書索引付け 次に図8を参照すると、そこには、文書をシステム100へと索引付けする行 程703の流れ図が示されており、これは索引監視121により管理される。索 引監視121は、一連の演算を実行して、ユーザにより入力された文書205の 各ページ215内の各nグラムを索引付けし、また適切なバンク217、バンク リスト219、解放リスト221、及びバンク索引223を更新する。 索引監視121は、メモリを索引付け行程に対して割り当てる(ステップ80 1)。これには、バッファ143、145をクリアして、多数のページの索引付 けを可能にするのに十分である、他のどんな追加のメモリ資源も外してセットす ることが伴う。 索引監視121は、文書参照モジュール125を呼び、索引付けしようとする 文書205に対する文書番号301を得る。索引監視121は、入力ステップ7 01の間にユーザにより与えられるよう な、特定の文書205、及び文書205の文書名を含むドロワ201の根ノード を、文書参照モジュール125に与える。文書参照モジュール125は、ドロワ 201に対して文書リストを開き、未使用エントリ数309から、エントリ31 1の現存リスト内で新規文書に対して利用可能な空間があるか否かを判定する。 空間がない場合、新規のエントリ311が、文書リスト225内のエントリのリ ストの終わりに作成される。状態値303がセットされて、文書の完全経路名3 05が格納される。リスト内に未使用エントリ311がある場合、文書参照モジ ュール125は、リストを走査して、未セットの状態値で第1エントリ311を 突き止める。状態値303がセットされて、完全経路名が格納される。いずれの 場合でも、文書参照モジュール125は、文書リスト225内の更新/新規エン トリ311のオフセットである、文書番号301を戻すことになる。 次に、索引監視121は、ページ索引付けモジュール127を呼び出して、文 書205の各ページを索引付けし(ステップ805)、結果のデータをバンク索 引223に格納する。ページ索引付けモジュール127は、文書の各ページに関 してnグラム番号の実際の作成を行う。図9を参照すると、そこには、あるペー ジを索引付けする行程の流れ図が示されている。この工程は、文書の各ページに 対して繰り返される。 ページ索引付けモジュールは、先ず、あるバンク217内のページに対してバ ンクオフセット411を得る。これは、索引付けしようとするページを、ユーザ 選択のドロワ201内の特定のバンク2 17内の位置と関連づける。それにより更に、文書の各ページを異なるバンク2 17に格納することが可能になる。これは以下のように行われる。 ページ索引付けモジュール127は、バンクリスト219を読み取り(ステッ プ901)、内部に作表された完全でない第1のバンク217を識別するが、こ れは、非ゼロ値に達するまで、各バンク217に対する解放エントリのカウント 値を読み取ることによりなされる(ステップ903)。ページ索引付けモジュー ル127は、その解放エントリのカウント値をディクリメントして(ステップ9 05)、関連したバンク217を開く(ステップ907)。 ページ索引付けモジュール127は、バンク217内の未使用エントリ数40 7をチェックする(ステップ909)。やはり、この値は、以前にはバンク21 7において索引付け及び含まれていたページが、どこで除去されたかを示す。こ の値がゼロでない場合、ページ索引付けモジュール127は、バンク217内の エントリを走査して(ステップ911)、空エントリを示す状態値405で第1 エントリを識別する。未使用エントリ数407がゼロである場合、ページ索引付 けモジュール127は、バンク217内のエントリ数401を用いて最後のエン トリに対してオフセットを持つように、バンク217の終わりに新規のエントリ を作成する。いずれの場合でも、ページ索引付けモジュール127は、現在のエ ントリを示す状態値405をセットして、そのエントリの文書リスト225から 文書番号301を、また文書のページ番号を格納する。次に、それ はバンク217内のエントリ数401をインクリメントして(ステップ917) 、バンク217のバンク番号と、バンク217内のバンクオフセット411を得 る。 次に、ページ索引付けモジュール127は、停止ワードファイル135をロー ドする(ステップ919)が、これは、停止ワードが、そのページに対して生成 されたワードキーに含まれないようにするためである。ページ索引付けモジュー ル127は、次いで、ページに対してワードキーを作成する(ステップ921) 。ワードキーは、そのページを含むバンク217と関連したバンク索引223内 のページに対して、ページキー509に格納されることになる。ページキー50 9用のワードキーは、先ず全てが作成され、次に続いて、ページキー509に格 納される。というのは、ページキーサイズ513は、実際の記憶に先立って、ペ ージキー509に対して決定されるためである。ワードキーは以下のように作成 される。 図10を参照すると、そこには、所与のページのページキー509を構成する ワードキーを作成する行程の流れ図が示されている。ページキーサイズ513が ゼロに初期化されて(ステップ1001)、バッファ143、145がクリアさ れる。索引バッファ143を用いて、ページキー509が、それが作成される際 に格納されることになる。ページバッファ145を用いて、ページのテキストデ ータが保持される。索引付けしようとするページが、ページバッファ145へと ロードされる(ステップ1002)。ページ索引付けモジュール127は、ペー ジバッファ145に格納される際に、ページ のワードの全てにわたってループを実行する(ステップ1003)。ページ索引 付けモジュール127は、現在のワードがファイル終端であるか否かを判定する (ステップ1005)。現在のワードがファイル終端でない場合、そのワードが 停止ワードファイル135内の停止ワードであるか否かがチェックされる(ステ ップ1007)。これは、ハッシュ法、又は他の慣用的な技法により行うことが できる。現在のワードが停止ワードである場合、ループ(ステップ1003)は 継続する。 現在のワードが停止ワードでない場合、ページ索引付けモジュール127は、 そのワードの長さをチェックして(ステップ1009)、その長さがnグラム長 に等しくなるまで、ワードに「〜」を付加する。例えば、好適な実施例の場合、 2レターのワードが、1つの「〜」で拡張されて、それらを3つのレターにする 。更に、1レターのワードは拡張されない方が好ましい。というのは、それらは 、探索用の識別可能なデータに殆ど寄与しないためである。 次に、ページ索引付けモジュール127は、ワード用のワードキーを作成する 。これには、ワードに対してnグラム数kを決定するステップ(ステップ101 1)が含まれる。ワードキーに対するnグラム数kは2のワード長である。 次に、ワードはそのnグラムに分解されて、各グラムがそのワードから読まれ るが、これは第1文字で始まり、nグラムを作成するのに必要な文字数が読まれ る。各nグラムに対して、nグラム番号が決定される(ステップ1013)。こ れは、上記のように、nグ ラム参照テーブル227内のnグラム番号を参照するか、又は直接、nグラム番 号を計算することにより実行される。 いずれの場合でも、ステップ1011及び1013の結果は、そのワードに対 するワードキーとなり、これは、番号k、及びワード内のnグラムの各々に対す る個々のnグラム番号からなる。ワードキーはバッファ143に付け加えられる 。ページキーサイズ513が更新されて(ステップ1014)、ワードキーのサ イズが累算される。新規のページキーサイズ513は以下のようになる。 ページキーサイズ=ページキーサイズ+(1+k*(nグラム番号) のサイズ) 機能サイズは、nグラム番号を格納するのに用いられるバイト数となる。トリ グラムの場合、これは2であるが、より大きなnグラムの場合には更に大きくな る。特別な要素がkを格納するために付加される。 そのようにして生成されワードキーに含まれる各nグラム番号に対して、nグ ラム・エントリマップ505、及び索引ページマップ507を更新する必要があ る。nグラム番号は、nグラム・エントリマップ505への索引として用いられ る。nグラム・エントリマップ505内の索引値が得られて(ステップ1015 )、チェックされる(ステップ1017)。索引値がゼロである場合、それが意 味するのは、nグラムが、バンク217内に以前の参照を有しておらず、新規の 索引ページマップを作成すべきである、ということである。索引値がゼロでない 場合、それが意味するのは、nグラムが、 バンク217のあるページで以前に見出されて、そのnグラムに対する索引ペー ジマップ507が既に存在している、ということである。次に、nグラム・エン トリマップ505からの索引値1が、索引オフセット501に付加されて、正し い索引ページマップ507となる。従って、nグラム・エントリマップ505の 索引値がゼロである場合、別の索引ページマップ507が、索引ページマップ5 07の現在の組の終わりに付加される(ステップ1019)。nグラム番号によ って参照されたnグラム・エントリマップ505の索引値が、新規の索引ページ マップ507の位置で更新される(ステップ1021)ため、nグラムに対する 別の参照が作成される(索引付け時に)か、又は識別される(探索時に)場合に 、nグラム・エントリマップ505を用いて、新規の索引ページマップ507を 直接アクセスすることが可能になる。従って、あるバンク217に含めるべき第 1ページの第1のnグラムに対して、そのnグラム(そのnグラム番号が何であ っても)は、nグラム・エントリマップ505内で索引番号1を有することにな り、それと第1の索引ページマップ507が関連することになる。次のnグラム は、やはりそのnグラム番号に関係なく、又は第1のnグラムからいかに「遠く 」ても、そのnグラム・エントリマップ505内で索引値2を有することになり 、第2の索引ページマップ507に割り当てられることになる。 nグラム・エントリマップ505内の索引値がゼロでない場合、ページ索引付 けモジュール127は、その索引値1を用いて、nグ ラムに対する索引ページマップ507となる(ステップ1023)。 ページ索引付けモジュール127は、nグラムに対する索引ページマップ50 7内の(バンクオフセット第411)ビットをセットする。これは、バンク21 7内の(バンクオフセット第411)エントリが、nグラムに対するある参照を 有することを意味する。これは、現在索引付けされているページである。 この更新は、ワードキー内の各nグラムに対して繰り返される(ステップ10 13)。ページ索引付けモジュール127は、ページ内で次に利用可能なワード について継続する(ステップ1003)。 一旦、ページに対する全てのワードキーが、ループ1003において完成する と、ページに対するワードキーの全体組は、完全なページキー509を構成する ことになる。ページキーサイズ513は、ページキー509全体のサイズとなり 、バッファ143内に存在することになる。ここで残っているのは、このページ キー509を、バンク索引223のページキーテーブル517内の適切な場所に 格納することである。 ページ索引付けモジュール127は、バンク217に対する解放リスト221 を走査して、今まさに完成したページキーのページキーサイズに等しいか、又は それより大きなページキーサイズ513により、第1の利用可能なページキー5 09のページキーオフセット511を決定する(ステップ1029)。上述のよ うに、解放リスト221は、削除されてしまった、従って他のページ用の他のペ ージキーを格納するのに利用可能な空間を有するページに対するペ ージキー509用のオフセット511を維持する。 かかるページキーオフセット511が突き止められると、新規に作成したペー ジキーが、ページキーテーブル517内のページキー509エントリに書き込ま れる。十分なサイズの間隙エントリがない場合、ページキーは、ページキーテー ブル517内の最後の現存エントリの後に書き込まれる(ステップ1033)。 いずれの場合でも、ページキーオフセット511、及びページキーサイズ513 は更新される。 再度図9を参照すると、ページ索引付けモジュール127は、次いで、停止ワ ードファイル135をアンロードして(ステップ923)、索引監視モジュール 121に制御を戻す(ステップ925)。 再度図8を参照すると、索引監視121は、索引付きページのバンク参照(バ ンク番号409、及びバンクオフセット411)によりDFSファイル211を 更新して(ステップ807)、索引付きページに対する特定のイメージ及びテキ ストページとバンク参照を関連づける。これにより、探索時に、またユーザがペ ージ画像を見たり、アクセス用のテキストデータにマッピングしたりする場合に 、システム100がページに対する索引情報を検索することが可能になる。同様 に、索引監視121は、文書リスト225からの文書番号301により、DFS ファイル211を更新する(ステップ809)ことにより、やはり、システム1 00が文書を検索することが可能になる。最後に、索引監視121は、割当て済 みメモリ資源を解放する(ステップ811)。次に、索引監視121は、アプリ ケ ーション監視119に制御を戻して、更なる索引付け、索引及び文書の転送(ス テップ705)、又は探索(ステップ709)に対処する。 III .文書探索 再度図7を参照すると、ユーザは又、入力探索照会に一致する文書に対して、 任意の数のドロワを探索する。一般に、探索には、探索照会内の各ワードをその nグラムに分解し、どの文書ページがどのnグラムを含むかを判定して、結果と しての一致に基づき任意のブール演算又は他の演算を実行するステップが伴う。 更に詳細には、各バンクが探索されて、照会ワードのいずれのnグラムが、その バンク内のいずれのページに出現するかが判定される。これらのページは注記さ れる。次に各ページに対して、照会ワードのnグラムが、そのページの各ページ キー内の各ワードキーにおける各nグラムと比較される。これは、照会ワードと 各ページのワードの間の一致精度を判定する。 ここで図11を参照すると、そこには、入力探索照会でシステム100を探索 する行程709の流れ図が示されており、これは探索監視123により管理され る。 探索監視123は、先ず始めに、探索時に利用するのに十分なメモリ資源を割 り当てる(ステップ1101)。これには、ページバッファ145及び探索バッ ファ143のクリアが含まれる。通常、約700kが、16,000文書を含む ドロワを探索するために割り当てられる。加えて、探索監視123は、どのペー ジエントリ4 13(バンクオフセット411による)が照会ワードに対するヒットを含むかを 、各バンクに対して追跡する結果バッファを初期化する。 探索監視123は次いで、探索用に選択された全てのドロワ201にわたって ループ1103を初期化し、その後、各ドロワ201内の全てのバンク217に 対して、第2のループ1105を初期化する。 探索監視123は、現在のバンク217に対してバンク索引223を検索し( ステップ1107)、探索実行モジュール129を呼び出して、前処理(ステッ プ1109)演算を実行する。前処理1109により、一致パラメータを満足す る探索照会ワード内のいずれかのnグラムと一致するような、現在のバンク内の ページが識別される。従って、前処理は第1のフィルタリング・ステップであり 、探索ワードのnグラムを何も含まないページを更に探索するのを不要にする。 図12は、前処理演算の流れ図である。 探索実行モジュール129が、ページフラグリストアレイを初期化するが、こ れは、バンク217内の各ページに対して、任意の照会ワードの任意のnグラム に関してヒットを含むか否かを追跡し、それにより、更なる処理に対してページ を適格にする。好適な実施例の場合、ページフラグリストアレイは1次元アレイ であり、バンク217内の各ページに対して1つのエントリを有し、そのバンク オフセット411に対応する。すなわち、ページフラグリスト[Pmax]であり 、ここでPmaxは、バンク217内のページの最大数 である。 次に、探索実行モジュール129は、探索照会内の各ワードQにわたってルー プ1203を初期化する。探索実行モジュール129は又、nグラム一致カウン タアレイGも初期化する。nグラム一致カウンタアレイGは、ページに対して、 照会ワードのうちnグラムがそのページに見出される回数を追跡する。すなわち 、G[P]が、バンク217のページPにおいて、任意の照会ワードのうちのn グラムの発生数である。別のループ1205は、現在の照会ワードQ内の各nグ ラムにわたって開始される。現在の照会ワードQに対するnグラムは、索引付け 時に、上記のようにして判定される。 探索実行モジュール129は、Qの現在のnグラムがバンク217内のいずれ のページに存在するか否かを判定する(ステップ1207)が、これは、そのn グラムのnグラム番号を取って、バンク索引223内のそのnグラム番号に対し て、nグラム・エントリマップ505の索引値をチェックすることにより行われ る。上記のように、nグラム・エントリマップ505は、所与のnグラム番号、 ゆえにnグラムに対して、バンク217内でそのnグラムの任意の発生があるか 否かを示す。 索引値がゼロである場合、これは、そのバンク217に対するどのページにも 、照会ワードQのそのnグラムの事例が存在しなかったことを意味する。この場 合、ループ1205は継続する。 索引値がゼロでない場合、これは、バンク217内のあるページに、照会ワー ドQのnグラムの少なくとも1つの発生があることを 意味し、その索引値は、その発生によりバンク217内のページを識別する、索 引ページマップ507への索引を示す。従って、探索実行モジュール129は、 索引ページマップ507に対して走査を行う(バンク索引223用の索引オフセ ットに(索引値1)を加えて)。 探索実行モジュール129は、次いで、索引ページマップ507にわたってル ープを行い(ステップ1209)、ページマップ内の各ビットBを読む。探索実 行モジュール129は、各ページに対するビットがセットされているか否かを判 定する(ステップ1211)。セットされていない場合、ループ1209は継続 する。 ビットがセットされている場合、これは、そのページがそのテキストデータ内 のどこかに照会ワードQのnグラムを含むことを示す。探索実行モジュール12 9は、nグラム一致カウンタG[P]をインクリメントする。これは、照会ワー ドQのnグラムがバンク217のページPに出現することを示す。 次に、探索実行モジュール129は、インクリメントしたカウント値G[P] が、そのページが現在の照会ワードQに対するヒットを含むと見なすのに十分で あるか否かを試験する(ステップ1215)。これは、G[P]が、ユーザによ り入力された一致パラメータで重み付けされる、照会ワードQ内のnグラム数に 等しいか、又は大きいかを試験する。ユーザが、照会ワードQとあるページのワ ード間の正確な一致を所望する場合、照会ワードQ内のあらゆるnグラムがその ページに存在する必要があり、従って、照会ワードQ のnグラムの各々に対する各索引ページマップ507内のページに対して、1つ のビットをセットする必要がある。例えば、照会ワードが「doorknob」である場 合、6個のnグラムが存在し、同一のページビットを、「doorknob」のnグラム に対する6個の索引ページマップ507内にセットする必要がある。ユーザがあ まり正確でない一致を所望する場合、更に少ない(ある割合で)索引ページマッ プ507しかセットする必要がない。従って、試験1215は以下となる。 G[P]≦KQ*E/100 ここで、KQはQ内のnグラム数であり、Eは一致パラメータである。Eは、2 0等の有用な下境界と100の間のあるであるのが好ましい。 この試験1215が満足されれば、ページフラグリストアレイが更新されて( ステップ1217)、このページが照会ワードQに対してヒットを含むことが示 される。すなわち、ページリストアレイが[Q,B]でセットされる。ここで、 Bは現在のページの索引であり、ループ1209により制御される。その後、処 理はループ1209から出るまで続く。全ループが完了すると、前処理1109 (図11)が行われたことになる。 再度図11を参照すると、このようにして、前処理1109によりページリス トアレイが生成され、これは、各照会ワードQに対して、現在処理されているバ ンク217内のどのページが、その照会ワードの一事例を有するかを示す。これ は、ページのどこに、照会 ワードとあるワード間の一致が発生するかを示すものではない。ここで、バンク 217内の各ページが処理されて(ステップ1111)、更に、照会ワードとあ るページのワード間の正確な一致が判定されて、任意のブール演算子を満足する か否かが判定可能となる。 次に、図13を参照すると、そこには、あるバンク217の処理1111の流 れ図が示されている。この段階では、前処理1109時に選択されたページだけ が更に処理される。探索実行モジュール129が、バンク217内の各ページエ ントリ413にわたってループ1301を開始するが、これはバンクオフセット 411値だけ繰り返される。第2のループ1303が、探索照会内の各ワードQ にわたって開始される。 探索実行モジュール129は、そのページが、照会ワードQの一事例を有する か否かをチェックする(ステップ1305)。これは好適には、[Q,バンクオ フセット411]でのページリストアレイをチェックすることにより行われる。 この値は、索引ページマップ507において決定されるページに、照会ワードQ のいずれかの事例が存在するとしたら、前処理1109時にセットされることに なる。ページがそのように指示されていない場合、ループ1303は継続する。 そうでなければ、ページに対するページキー509が、ページバッファ143 へとロードされる(ステップ1307)。これは、バンクオフセット411を用 いて行われ、ペーオフセットテーブル515内に索引付けされて、正しいページ キー509に対する実際の ページキーオフセット511が得られる。ページキー509は次に、処理されて (ステップ1309)、ページのnグラムの幾つが照会ワードに一致するかが判 定される。図14は、この行程1309の流れ図を示す。 探索実行モジュール129が、各照会ワードQに関して、ページキー509内 の各ワードキーWに対するワードキー一致カウンタを初期化する。これは2次元 アレイ[Qn,Wn]であることが好ましく、Qnは照会ワードQの数であり、Wn はページキー509内のワードキーWの数である。 探索実行モジュール129は、一連のループを初期化する。外部のループ14 03が、(図13に示すループ1303により制御されるような)現在の照会ワ ードQ内の各nグラムにわたって繰り返される。nグラムは、上記のように、比 較で実際に使用されるnグラム番号と共に決定される。第2のループ1405が 、ページに対するページキー509内の各ワードキーWにわたって繰り返される 。上記のように、索引付け時には、各ワードが、そのワード用のnグラムの全て により1つのワードキーを生成する。このループにより、各ワードキー(ゆえに 、各ワード)が、各照会ワードと比較される。最後のループ1407が、あるワ ードキー内の各nグラムにわたって繰り返される。これらループの中核では、探 索実行モジュール129が、照会ワードQの現在のnグラムを、ワードキーの現 在のnグラムと比較する(ステップ1409)。それらが同一である場合、ワー ドキー一致カウンタがインクリメントされる(ステップ141 1)(ゆえに、Q及びWの現在の繰り返しに対して、ワードキー一致カウンタア レイ[Q,W]がインクリメントされる)。これが意味するのは、照会ワードQ に対する1つのnグラムが、ページ内のあるワードからの1つのnグラムに一致 した、ということである。カウンタは、これらの一致の数を追跡することになる 。 次に、探索実行モジュール129は、照会ワードQ自体とそのワード自体の間 の一致を示すのに(ワードキー一致カウンタアレイ[Q,W]の値を用いて)十 分な一致か存在するか否かを判定する(ステップ1413)。やはり、この試験 は一致パラメータEに基づくものである。そこで、正確な一致を必要とする(E =100)場合、ワードキーW内のあらゆるnグラムが、照会ワードQ内のあら ゆるnグラムと一致する必要がある。すなわち、ワードキー一致カウンタアレイ [Q,W]=KQとなる。ここで、KQは照会ワードQ内のnグラム数である。 正確な一致が必要でない(E<100)場合、ある割合が一致する必要がある。 一般に、 ワードキー一致カウンタアレイ[Q,W]≦KQ*E/100となる。この試 験が満足されると、探索実行モジュール129は、探索照会に対するヒットを示 すように、バンク及びページエントリ411に対して結果バッファをセットする (ステップ1414)。内部のループ1407は完了する必要はない。というの は、nグラムが十分一致するためである。 次に続いて、探索実行モジュール129は、ループ1405及び1403を出 て、ワードキーW内の各ワードに対する評価、及び (図13に示すループ1301により制御されるような)現在のページキー50 9内の各ワードキーWに対する評価を終了させる。 再度図13を参照すると、現在のページエントリ413が、各照会ワードQに 対して処理される(ステップ1309)。一旦、全ての照会ワードの解析が終了 すると、上記のように、探索実行モジュール129は、探索照会が任意のブール 演算を含むか否かを判定する(ステップ1313)。ブール演算が必要とされる 場合、探索実行モジュール129は、ブール処理1315を実施する。ブール処 理1315慣用的に実施できる。というのは、この時点で、探索実行モジュール 129は、照会ワードQが現在のページに対してヒットであるか否かを既に識別 しているためである。偽の状態のみが、結果バッファにおいて識別される必要が ある。というのは、ブール照会を満足するページが、ユーザに戻されることにな るためである。ブール処理1315は、一般に、以下のようになされる。 照会ワードQが、AND演算用の引数であり、且つ(ワードキー一致カウンタ により決定されるような)ページに、照会ワードQの事例が存在しない場合、そ のページを除去するように標示される。 照会ワードQが、NOT演算用の引数であり、且つそのページに照会ワードQ の事例が存在する場合、そのページを除去するように標示される。照会ワードQ1 、Q2の任意の対が、XOR用の引数であり、且つ唯一それらの両方ともそのペ ージに見出されるか、又はそれらのいずれも見出されない場合、そのページを除 去するように標示される。 照会ワードQが、句(引用符でのワード列)であり、且つ同一列が見出されな い場合、そのページを除去するように標示される。 ブール処理1315の後、探索実行モジュール129の処理が続く。 ブール処理1315が必要でない場合、探索実行モジュール129は続いてル ープ1301を終了させ、バンク217内の次のページエントリ413に対して 繰り返される。終了時に、探索実行モジュール129は、制御を探索監視123 に戻す。 次に再度、図11を参照すると、探索監視123は次いで、探索リストモジュ ール131を呼び出して、探索行程の結果を整理統合する(ステップ1113) 。探索結果の整理統合が用いられるのは、所与の文書のページが、多数のバンク 217に常駐し得るためである。探索リストモジュール131が、結果バッファ を再検討して、今まさに処理されたバンク217を識別する。各ヒットのバンク 217及びバンクオフセット411によるページエントリ413が決定されて、 探索リストモジュール131が、文書番号をアクセスして、そのページエントリ 413を含む文書を取得する。そこから、DFSファイル211をアクセスする ことができ、文書の残りのページがアクセスされて整理統合される。探索照会に 一致する文書の整理統合リストが、探索監視123に戻される。 次に、探索監視123は、各バンク及び各ドロワにわたってループ1105、 1103を完了させ、適切なドロワ及びバンクを閉じる。バンク及びドロワの全 てに対する結果が、同様に整理統合され、 探索照会に一致する文書の最終リストが展開されて(ステップ1117)、評価 用にユーザに表示される(図7のステップ711)。探索監視123は次いで、 探索時に使用したメモリを割当て解除して、アプリケーション監視119に制御 を戻す(ステップ1119)。 情報及び検索システムに関して、本発明のnグラム分解法を説明した。しかし 、nグラム分解の他の多数の利用も、本発明の範囲内にある。Nグラム分解は、 他のテキスト処理法又はシステムで、内部の性能を改善するために使用すること ができる。例えば、nグラム分解を綴りチェッカで用いて、バッチ又は会話形式 で、間違った綴りのワードを識別して、各々に対して可能な置換の更に正確なリ ストを提供することができる。同様に、nグラムをコンピュータ化辞書又は類語 辞典で使用して、ワード根を識別し、また適切な定義又は同義語、反意語、その 他を参照することができる。また、nグラムを同様な仕方で文法チェッカで使用 して、文法解析の前にワードを識別することもできる。テキストデータを処理す るためのnグラム分解のこれら及び他の利用は全て、本発明の範囲内である。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FI,FR,GB,GR,IE,IT,L U,MC,NL,PT,SE),OA(BF,BJ,CF ,CG,CI,CM,GA,GN,ML,MR,NE, SN,TD,TG),AP(KE,LS,MW,SD,S Z,UG),UA(AM,AZ,BY,KG,KZ,MD ,RU,TJ,TM),AL,AM,AT,AU,AZ ,BB,BG,BR,BY,CA,CH,CN,CZ, DE,DK,EE,ES,FI,GB,GE,HU,I S,JP,KE,KG,KP,KR,KZ,LK,LR ,LS,LT,LU,LV,MD,MG,MK,MN, MW,MX,NO,NZ,PL,PT,RO,RU,S D,SE,SG,SI,SK,TJ,TM,TR,TT ,UA,UG,UZ,VN (72)発明者 ラヴィチャンドラン,ナタラジャン インド国バンガロール−560040 ヴィジャ ヤナガール,アチグペ,メイン・ロード・ ザ・サード,グッドウィル・アパートメン ト,シテ・51,フラット・15 【要約の続き】 完了すると、ページは、それらが属する文書に関して統 合され、それにより結果として、探索照会に一致する文 書リストとなる。結果はユーザに表示される。

Claims (1)

  1. 【特許請求の範囲】 1.複数のワードを含む格納された文書を索引付けして、少なくとも1つの照会 ワードを含む入力探索照会に一致する少なくとも1つの文書を探索する方法にお いて、 各文書の選択されたワードのnグラムを格納するステップと、 少なくとも1つの照会ワードに対して、少なくとも1つの照会ワードnグラ ムを決定するステップと、 照会ワードnグラムのうちの選択されたものに一致するnグラムを有する文 書を検索するステップと、 を含む方法。 2.nグラムを格納するステップは、 ある文書の各ページの非停止ワードを識別するステップと、 各非停止ワードに対して、少なくとも1つのnグラムを決定するステップと 、 各ページのnグラムを格納するステップと、 を更に含む、請求項1の方法。 3.各nグラムに対して、そのnグラムが生じる少なくとも1つのページのマッ プを格納するステップと、 nグラムのリストに対応して、マップのリストを格納するステップと、 を更に含む、請求項2の方法。 4.文書を検索するステップは、 照会ワードnグラムをnグラムのリストの1つに突合せるス テップと、 nグラムのリストの1つの対応するマップを決定するステップと、 マップから、照会ワードnグラムを含むページを決定するステップと、 ページ、及びそれと関連した文書を検索するステップと、 を更に含む、請求項3の方法。 5.nグラムにより文書を索引付けするための記憶構造を備えるコンピュータ読 み取り可能メモリであって、各文書は文書番号、文書名、及び少なくとも1つの ページを有し、各ページはページ番号を有するコンピュータ読み取り可能メモリ において、 ページエントリのリストからなるバンクであって、各ページエントリは、そ のページを含む文書の文書番号によりページを、また文書内のページ番号を識別 する、バンクと、 バンクと関連したバンク索引であって、 i)複数のnグラム・エントリマップであって、各nグラム・エントリマッ プは単一のnグラムと関連し、選択されたnグラム・エントリマップは、バンク で識別された少なくとも1つのページが、nグラム・エントリマップと関連した nグラムを含む索引エントリマップへの索引を有する、複数のnグラム・エント リマップと、 ii)複数の索引エントリマップであって、各索引エントリマップは、nグラ ム・エントリマップの1つにより索引付け られ、各索引エントリマップは、索引エントリマップを索引付けするnグラム・ エントリマップと関連したnグラムを含むあるページを識別する、バンク内の各 ページエントリを識別する、複数の索引エントリマップと、 を備えるバンク索引と、 からなるコンピュータ読み取り可能メモリ。 6.バンク内の各ページエントリはオフセットを有し、 各索引エントリマップは複数のビット位置を含み、各ビット位置はバンク内 のあるページエントリと関連し、各ビット位置は、そのビット位置と関連したペ ージエントリにおいて識別されるページが、索引エントリマップを索引付けする nグラム・エントリマップと関連したnグラムを含む第1の値と、そのビット位 置と関連したページエントリにおいて識別されるページが、索引エントリマップ を索引付けするnグラム・エントリマップと関連したnグラムを含まない第2の 値とを有する、請求項5のコンピュータ読み取り可能メモリ。 7.ドロワから更になり、該ドロワは、 i)文書のリストであって、各文書は該リスト内で固有に識別される、文書の リストと、 ii)複数のバンク、及び関連したバンク索引と、 iii)複数のバンクの各々に対して、バンク内の多数の空ページエントリのカ ウント値を含むバンクリストと、 を備える、請求項5のコンピュータ読み取り可能メモリ。 8.各バンクは更に、 少なくとも1つのページキーを含むページキーテーブルであって、各ページ キーはバンク内のあるページエントリと関連し、 i)ページの各ワードに対して、そのワード内のnグラムのリストを備えるペ ージキーテーブルからなる、請求項5のコンピュータ読み取り可能メモリ。 9.文書を検索するコンピュータ実施の方法において、 コンピュータ読み取り可能メモリ上に、請求項5の記憶構造を格納するステ ップと、 照会語を受信するステップであって、照会語内の多数のnグラムの各々に対 して、 i)照会語のnグラムと関連したバンク索引内のnグラムマップから、ある索 引エントリマップがnグラムに対して存在するか否かを判定するステップと、 ii)現存する索引エントリマップに応答して、索引エントリマップから、索引 エントリマップと関連したnグラムを含むあるページを識別する、バンク内の各 ページエントリを決定するステップと、 iii)nグラムを含む各ページに対して、nグラムカウンタをインクリメント するステップと、 を含むステップと、 バンク内の各ページに対して、そのページに対するnグラムカウンタが、そ のページが照会語を含むことを示すために、照 会語内のnグラムの数と十分類似しているか否かを判定するステップと、 照会語内のnグラムの数と十分類似しているページ用のnグラムカウンタに 応答して、後続の照会解析のためのページを含む文書を検索するステップと、 を含む方法。 10.ページ用のnグラムカウンタが、照会語内のnグラムの数と十分類似するの は、 G[P]≦K*E/100 の場合であり、ここで、Pはページであり、G[P]はページP用のnグラム 一致カウンタであり、Kは照会語内のnグラム数であり、Eはnグラム一致カウ ンタとKの間の一致の割合を制御するために選択された、一致パラメータである 、請求項9のコンピュータ実施の方法。 11.複数の文書を索引付けするコンピュータ実施の方法であって、各文書は少な くとも1つのページを有し、各ページは、データの最大量よりすくないデータ量 を有し、また複数のワードを有する、コンピュータ実施の方法において、 ページのリストを格納するステップであって、各ページはある文書と関連す る、ステップと、 nグラムのリストを決定するステップと、 各nグラムに対して、そのnグラムを含むページのマップを確立するステッ プであって、該ステップは、 i)文書から現在のページを検索するステップと、 ii)該現在のページの各非停止ワードに対して、 1)ワード内のnグラムを決定するステップと、 2)ワード内の各nグラムに対して、そのnグラムと固有に関連し、またペ ージのリスト内の各ページに対するあるエントリを含むマップにおいて、ページ がnグラムを含むことを指示するように、現在のページに対するエントリを更新 するステップと、 により行われる、ステップと、 を含むコンピュータ実施の方法。 12.照会語を含む書類を更に検索するために、 照会語を受信するステップと、 該照会語内の多数のnグラムの各々に対して、 i)マップがそのnグラムに対して存在するか否かを判定するステップと、 ii)現存するマップに応答して、そのマップから、マップと関連したnグラ ムを含むリスト内の各ページを決定するステップと、 iii)リスト内の各ページに対して、そのページが、照会語を含むことを指 示するために、照会語内の十分な数のnグラムを含むか否かを判定するステップ と、 照会語を含む各ページに応答して、後続の照会解析のためにそのページを含 む文書を検索するステップと、 を含む、請求項11のコンピュータ実施の方法。 13.請求項11のステップを実行するために、プロセッサを構成及び制御するコ ンピュータ・プログラムを含む、コンピュータ読み取り可能メモリ。 14.各文書が少なくともいつのページを含む、複数の文書を索引付けするプロセ ッサを制御するためのコンピュータ読み取り可能メモリにおいて、 索引付きページのリストと、 索引マップのリストであって、各索引マップは、1つのnグラムと固有に関 連し、且つ複数のエントリを有し、各エントリは、索引付きページのリスト内の ページと固有に関連し、且つそのページが、索引マップと関連したnグラムを含 むか否かを指示する、索引マップのリストと、 ページ索引付けモジュールであって、 i)索引付けすべき現在のページを受け取り、 ii)索引付きページのリストにおいて、現在のページに対するエントリを作 成し、 iii)現在のページの各非停止ワードに対して、ワード内のnグラムのリス トを格納して、 iv)各nグラムに対して、現在のページがnグラムを含むことを指示するた めに、nグラムと関連した索引マップにおいて、現在のページに対するエントリ を更新する、 ページ索引付けモジュールと、 からなるコンピュータ読み取り可能メモリ。 15.ページ索引付けモジュールは、現在のページの非停止ワードに対して、 ワード内の各nグラムに対してnグラム番号を決定し、 ワード内の各nグラムのnグラム番号を格納して、 現在のページと、格納されたnグラム番号を関連づけることにより、ワード 内のnグラムのリストを格納する、請求項14のコンピュータ読み取り可能メモ リ。 16.あるワードのnグラム番号は、 という式により決定され、ここで、NGはワードのnグラム番号であり、xは ワードの第i文字のnグラム文字番号であり、Cmaxは索引付け可能な文字の総 数であり、Npはnグラム内のレターの所望数である、請求項15のコンピュー タ読み取り可能メモリ。 17.各文書が少なくとも1つのページを含む、複数の文書からの照会語を含む文 書を索引付けするプロセッサを制御するためのコンピュータ読み取り可能メモリ において、 各ページがある文書と関連した、索引付きページのリストと、 索引マップのリストであって、各索引マップは、1つのnグラムと固有に関 連し、且つ複数のエントリを有し、各エントリは、索引付きページのリスト内の ページと固有に関連し、且つ そのページが、索引マップと関連したnグラムを含むか否かを指示する、索引マ ップのリストと、 探索モジュールであって、 i)照会語を受け取り、 ii)照会語内の多数のnグラムの各々に対して、 iii)照会語内の多数のnグラムの各々に対して、そのnグラムと関連した 索引マップがあるか否かを判定し、 iv)現存する索引マップに応答して、その索引マップから、マップと関連し たnグラムを含む索引付きページのリスト内の各ページを決定し、 v)索引付きページのリスト内の各ページに対して、そのページが、照会語 を含むことを指示するために、照会語内の充分な数のnグラムを含むか否かを判 定し、 vi)照会語を含むページに応答して、後続の照会解析のためにそのページを 含む文書を検索する、 探索モジュールと、 からなるコンピュータ読み取り可能メモリ。 18.探索モジュールは、あるページが、照会語内の充分な数のnグラムを含むか 否かを、 G[P]≦K*E/100 という式により判定し、ここで、Pはページであり、G[P]はページP内に 含まれる照会語におけるnグラム数であり、Kは照会語内のnグラム数であり、 Eは、ページP内に含まれる 照会語内のnグラム数とKの間の一致の割合を制御するために選択された、一致 パラメータである、請求項17のコンピュータ読み取り可能メモリ。
JP53114696A 1995-04-10 1996-04-10 Nグラム・ワード分解を用いた携帯型文書索引付け用のシステム及び方法 Expired - Fee Related JP4162711B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/419,126 1995-04-10
US08/419,126 US5706365A (en) 1995-04-10 1995-04-10 System and method for portable document indexing using n-gram word decomposition
PCT/US1996/004945 WO1996032686A1 (en) 1995-04-10 1996-04-10 System and method for portable document indexing using n-gram word decomposition

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2006031590A Division JP4559371B2 (ja) 1995-04-10 2006-02-08 Nグラム・ワード分解を用いた携帯型文書索引付け用のシステム及び方法

Publications (2)

Publication Number Publication Date
JPH10501912A true JPH10501912A (ja) 1998-02-17
JP4162711B2 JP4162711B2 (ja) 2008-10-08

Family

ID=23660908

Family Applications (2)

Application Number Title Priority Date Filing Date
JP53114696A Expired - Fee Related JP4162711B2 (ja) 1995-04-10 1996-04-10 Nグラム・ワード分解を用いた携帯型文書索引付け用のシステム及び方法
JP2006031590A Expired - Fee Related JP4559371B2 (ja) 1995-04-10 2006-02-08 Nグラム・ワード分解を用いた携帯型文書索引付け用のシステム及び方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2006031590A Expired - Fee Related JP4559371B2 (ja) 1995-04-10 2006-02-08 Nグラム・ワード分解を用いた携帯型文書索引付け用のシステム及び方法

Country Status (10)

Country Link
US (1) US5706365A (ja)
EP (1) EP0764305B1 (ja)
JP (2) JP4162711B2 (ja)
AU (1) AU713572B2 (ja)
BR (1) BR9606306A (ja)
DE (1) DE69631457T2 (ja)
ES (1) ES2214535T3 (ja)
NO (1) NO965254L (ja)
NZ (1) NZ306268A (ja)
WO (1) WO1996032686A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011138230A (ja) * 2009-12-25 2011-07-14 Fujitsu Ltd 情報処理プログラム、情報検索プログラム、情報処理装置、および情報検索装置

Families Citing this family (97)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6415307B2 (en) * 1994-10-24 2002-07-02 P2I Limited Publication file conversion and display
US6243172B1 (en) * 1995-01-18 2001-06-05 Varis Corporation Method and system for merging variable text and images into bitmaps defined by a page description language
US5729665A (en) * 1995-01-18 1998-03-17 Varis Corporation Method of utilizing variable data fields with a page description language
US5875443A (en) * 1996-01-30 1999-02-23 Sun Microsystems, Inc. Internet-based spelling checker dictionary system with automatic updating
US5864630A (en) * 1996-11-20 1999-01-26 At&T Corp Multi-modal method for locating objects in images
US5852822A (en) * 1996-12-09 1998-12-22 Oracle Corporation Index-only tables with nested group keys
GB9701866D0 (en) * 1997-01-30 1997-03-19 British Telecomm Information retrieval
US5809496A (en) * 1997-02-20 1998-09-15 International Business Machines Corporation Hybrid search
JP3554459B2 (ja) * 1997-02-26 2004-08-18 株式会社日立製作所 テキストデータ登録検索方法
US5978797A (en) * 1997-07-09 1999-11-02 Nec Research Institute, Inc. Multistage intelligent string comparison method
US6016546A (en) * 1997-07-10 2000-01-18 International Business Machines Corporation Efficient detection of computer viruses and other data traits
US7302438B1 (en) 1997-07-18 2007-11-27 Tesseron Ltd. Method and system for flowing data to an arbitrary path defined by a page description language
US6487568B1 (en) * 1997-07-18 2002-11-26 Tesseron, Ltd. Method and system for flowing data to an arbitrary path defined by a page description language
US6118887A (en) * 1997-10-10 2000-09-12 At&T Corp. Robust multi-modal method for recognizing objects
BE1012981A3 (nl) * 1998-04-22 2001-07-03 Het Babbage Inst Voor Kennis E Werkwijze en systeem voor het weervinden van documenten via een elektronisch databestand.
US5991714A (en) * 1998-04-22 1999-11-23 The United States Of America As Represented By The National Security Agency Method of identifying data type and locating in a file
WO2000007123A1 (en) * 1998-07-28 2000-02-10 Triada, Ltd. Methods of deleting information in n-gram tree structures
US6169969B1 (en) * 1998-08-07 2001-01-02 The United States Of America As Represented By The Director Of The National Security Agency Device and method for full-text large-dictionary string matching using n-gram hashing
US7315979B1 (en) 1998-11-09 2008-01-01 Tesseron Ltd. Method and system for dynamic flowing data to an arbitrary path defined by a page description language
JP3696745B2 (ja) 1999-02-09 2005-09-21 株式会社日立製作所 文書検索方法及び文書検索システム及び文書検索プログラムを記録したコンピュータ読み取り可能な記録媒体
US7031985B1 (en) * 1999-03-08 2006-04-18 Oracle International Corporation Lexical cache
US6516329B1 (en) * 1999-04-26 2003-02-04 Gateway, Inc. Method of maintaining search results pages
US6546383B1 (en) * 1999-06-09 2003-04-08 Ricoh Company, Ltd. Method and device for document retrieval
US20020023123A1 (en) * 1999-07-26 2002-02-21 Justin P. Madison Geographic data locator
JP4115048B2 (ja) * 1999-08-17 2008-07-09 株式会社リコー 文書検索システム
US6785810B1 (en) * 1999-08-31 2004-08-31 Espoc, Inc. System and method for providing secure transmission, search, and storage of data
EP1236354A4 (en) 1999-11-10 2009-04-22 Yahoo Inc INTERNET RADIO AND BROADCASTING METHOD
US6772156B1 (en) 1999-11-29 2004-08-03 Actuate Corporation Method and apparatus for creating and displaying a table of content for a computer-generated report having page-level security
US6859805B1 (en) * 1999-11-29 2005-02-22 Actuate Corporation Method and apparatus for generating page-level security in a computer generated report
US6389467B1 (en) 2000-01-24 2002-05-14 Friskit, Inc. Streaming media search and continuous playback system of media resources located by multiple network addresses
CA2400345C (en) * 2000-03-06 2007-06-05 Iarchives, Inc. System and method for creating a searchable word index of a scanned document including multiple interpretations of a word at a given document location
US6950553B1 (en) * 2000-03-23 2005-09-27 Cardiff Software, Inc. Method and system for searching form features for form identification
US7024485B2 (en) * 2000-05-03 2006-04-04 Yahoo! Inc. System for controlling and enforcing playback restrictions for a media file by splitting the media file into usable and unusable portions for playback
US8352331B2 (en) 2000-05-03 2013-01-08 Yahoo! Inc. Relationship discovery engine
US7251665B1 (en) * 2000-05-03 2007-07-31 Yahoo! Inc. Determining a known character string equivalent to a query string
US7162482B1 (en) * 2000-05-03 2007-01-09 Musicmatch, Inc. Information retrieval engine
US6556990B1 (en) * 2000-05-16 2003-04-29 Sun Microsystems, Inc. Method and apparatus for facilitating wildcard searches within a relational database
EP1307831A4 (en) * 2000-07-11 2007-05-09 Yahoo Inc ONLINE LISTENING SYSTEM BASED ON THE PREFERENCES OF A COMMUNITY
KR100406671B1 (ko) * 2000-07-24 2003-11-21 주식회사 유니마이다스 문장 표절 및 도용 검색 방법
JP5033277B2 (ja) * 2000-09-12 2012-09-26 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置および画像処理方法並びにコンピュータ読み取り可能な記録媒体
DE10048478C2 (de) * 2000-09-29 2003-05-28 Siemens Ag Verfahren zum Zugriff auf eine Speichereinheit bei der Suche nach Teilzeichenfolgen
US8271333B1 (en) 2000-11-02 2012-09-18 Yahoo! Inc. Content-related wallpaper
US7406529B2 (en) * 2001-02-09 2008-07-29 Yahoo! Inc. System and method for detecting and verifying digitized content over a computer network
US20020156809A1 (en) * 2001-03-07 2002-10-24 O'brien Thomas A. Apparatus and method for locating and presenting electronic content
US7574513B2 (en) 2001-04-30 2009-08-11 Yahoo! Inc. Controllable track-skipping
SG103289A1 (en) * 2001-05-25 2004-04-29 Meng Soon Cheo System for indexing textual and non-textual files
CA2451208A1 (en) * 2001-06-21 2003-01-03 Paul P. Vagnozzi Database indexing method and apparatus
JP4342753B2 (ja) 2001-08-10 2009-10-14 株式会社リコー 文書検索装置、文書検索方法、プログラム及びコンピュータに読み取り可能な記憶媒体
US6925475B2 (en) * 2001-10-12 2005-08-02 Commissariat A L'energie Atomique Process and apparatus for management of multimedia databases
US7031910B2 (en) * 2001-10-16 2006-04-18 Xerox Corporation Method and system for encoding and accessing linguistic frequency data
US20030149566A1 (en) * 2002-01-02 2003-08-07 Esther Levin System and method for a spoken language interface to a large database of changing records
US7707221B1 (en) 2002-04-03 2010-04-27 Yahoo! Inc. Associating and linking compact disc metadata
US7305483B2 (en) 2002-04-25 2007-12-04 Yahoo! Inc. Method for the real-time distribution of streaming data on a network
US7370271B2 (en) * 2002-10-30 2008-05-06 Actuate Corporation Methods and apparatus for generating a spreadsheet report template
US7743061B2 (en) * 2002-11-12 2010-06-22 Proximate Technologies, Llc Document search method with interactively employed distance graphics display
US7284009B2 (en) * 2002-12-13 2007-10-16 Sun Microsystems, Inc. System and method for command line prediction
US20050004799A1 (en) * 2002-12-31 2005-01-06 Yevgenly Lyudovyk System and method for a spoken language interface to a large database of changing records
US6990224B2 (en) * 2003-05-15 2006-01-24 Federal Reserve Bank Of Atlanta Method and system for communicating and matching electronic files for financial transactions
WO2005026916A2 (en) * 2003-09-10 2005-03-24 Musicmatch, Inc. Music purchasing and playing system and method
US7644076B1 (en) * 2003-09-12 2010-01-05 Teradata Us, Inc. Clustering strings using N-grams
US7325013B2 (en) * 2004-04-15 2008-01-29 Id3Man, Inc. Database with efficient fuzzy matching
US8874504B2 (en) * 2004-12-03 2014-10-28 Google Inc. Processing techniques for visual capture data from a rendered document
US7730012B2 (en) * 2004-06-25 2010-06-01 Apple Inc. Methods and systems for managing data
US7693856B2 (en) * 2004-06-25 2010-04-06 Apple Inc. Methods and systems for managing data
US8131674B2 (en) 2004-06-25 2012-03-06 Apple Inc. Methods and systems for managing data
US7305385B1 (en) * 2004-09-10 2007-12-04 Aol Llc N-gram based text searching
US7925658B2 (en) * 2004-09-17 2011-04-12 Actuate Corporation Methods and apparatus for mapping a hierarchical data structure to a flat data structure for use in generating a report
US7478081B2 (en) * 2004-11-05 2009-01-13 International Business Machines Corporation Selection of a set of optimal n-grams for indexing string data in a DBMS system under space constraints introduced by the system
JP4314204B2 (ja) * 2005-03-11 2009-08-12 株式会社東芝 文書管理方法、システム及びプログラム
US7870480B1 (en) 2005-03-14 2011-01-11 Actuate Corporation Methods and apparatus for storing and retrieving annotations accessible by a plurality of reports
KR100622129B1 (ko) 2005-04-14 2006-09-19 한국전자통신연구원 동적으로 변화하는 웹 페이지의 변조 점검 시스템 및 방법
US7685106B2 (en) * 2005-04-29 2010-03-23 International Business Machines Corporation Sharing of full text index entries across application boundaries
US7991767B2 (en) * 2005-04-29 2011-08-02 International Business Machines Corporation Method for providing a shared search index in a peer to peer network
US8700404B1 (en) * 2005-08-27 2014-04-15 At&T Intellectual Property Ii, L.P. System and method for using semantic and syntactic graphs for utterance classification
US7805430B2 (en) * 2005-12-22 2010-09-28 Sap Ag Evaluation of name prefix and suffix during a search
US8307276B2 (en) * 2006-05-19 2012-11-06 Symantec Corporation Distributed content verification and indexing
US20080155399A1 (en) * 2006-12-20 2008-06-26 Yahoo! Inc. System and method for indexing a document that includes a misspelled word
US8583419B2 (en) * 2007-04-02 2013-11-12 Syed Yasin Latent metonymical analysis and indexing (LMAI)
JP5224851B2 (ja) * 2008-02-27 2013-07-03 インターナショナル・ビジネス・マシーンズ・コーポレーション 検索エンジン、検索システム、検索方法およびプログラム
KR101615164B1 (ko) * 2009-03-20 2016-04-26 삼성전자주식회사 엔-그램 기반의 질의 처리 장치 및 그 방법
WO2010141598A2 (en) * 2009-06-02 2010-12-09 Index Logic, Llc Systematic presentation of the contents of one or more documents
DE102009031872A1 (de) * 2009-07-06 2011-01-13 Siemens Aktiengesellschaft Verfahren und Vorrichtung zur automatischen Suche nach Dokumenten in einem Datenspeicher
US8761512B1 (en) 2009-12-03 2014-06-24 Google Inc. Query by image
JP5083367B2 (ja) * 2010-04-27 2012-11-28 カシオ計算機株式会社 検索装置、検索方法、ならびに、コンピュータプログラム
JP5708117B2 (ja) * 2011-03-24 2015-04-30 カシオ計算機株式会社 Nグラム検索のための転置インデックスの生成方法および生成装置、当該転置インデックスを用いた検索方法および検索装置、ならびに、コンピュータプログラム
EP2706466A4 (en) * 2011-05-02 2015-06-17 Fujitsu Ltd EXTRACTION PROCESS, INFORMATION PROCESSING, EXTRACTION PROGRAM, INFORMATION PROCESSING, EXTRACTION DEVICE AND INFORMATION PROCESSING DEVICE
US8694474B2 (en) * 2011-07-06 2014-04-08 Microsoft Corporation Block entropy encoding for word compression
JP5802924B2 (ja) * 2011-07-29 2015-11-04 アーカイブ技術研究所株式会社 文書検索システムおよび文書検索プログラム
US9218411B2 (en) 2012-08-07 2015-12-22 International Business Machines Corporation Incremental dynamic document index generation
US9026522B2 (en) * 2012-10-09 2015-05-05 Verisign, Inc. Searchable web whois
US10318523B2 (en) 2014-02-06 2019-06-11 The Johns Hopkins University Apparatus and method for aligning token sequences with block permutations
US11282091B2 (en) * 2016-09-30 2022-03-22 Transitiv, Inc. Systems, methods, and devices for dynamic page feed management
JP2018121133A (ja) * 2017-01-23 2018-08-02 京セラドキュメントソリューションズ株式会社 ファクシミリ装置
US11030151B2 (en) * 2017-03-29 2021-06-08 AVAST Software s.r.o. Constructing an inverted index
US10459999B1 (en) * 2018-07-20 2019-10-29 Scrappycito, Llc System and method for concise display of query results via thumbnails with indicative images and differentiating terms
US12118041B2 (en) * 2019-10-13 2024-10-15 Thoughtspot, Inc. Query execution on compressed in-memory data
JP7767051B2 (ja) * 2021-08-04 2025-11-11 シャープ株式会社 記憶方法、記憶システム、読取装置、及び画像処理装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0773187A (ja) * 1993-09-01 1995-03-17 Hokkaido Nippon Denki Software Kk 検索システム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4495566A (en) * 1981-09-30 1985-01-22 System Development Corporation Method and means using digital data processing means for locating representations in a stored textual data base
US5469354A (en) * 1989-06-14 1995-11-21 Hitachi, Ltd. Document data processing method and apparatus for document retrieval
US5062143A (en) * 1990-02-23 1991-10-29 Harris Corporation Trigram-based method of language identification
US5062142A (en) * 1990-12-14 1991-10-29 General Electric Company Data processor producing a medial axis representation of an extended region
US5265065A (en) * 1991-10-08 1993-11-23 West Publishing Company Method and apparatus for information retrieval from a database by replacing domain specific stemmed phases in a natural language to create a search query
US5375235A (en) * 1991-11-05 1994-12-20 Northern Telecom Limited Method of indexing keywords for searching in a database recorded on an information recording medium
US5412807A (en) * 1992-08-20 1995-05-02 Microsoft Corporation System and method for text searching using an n-ary search tree
GB9220404D0 (en) * 1992-08-20 1992-11-11 Nat Security Agency Method of identifying,retrieving and sorting documents

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0773187A (ja) * 1993-09-01 1995-03-17 Hokkaido Nippon Denki Software Kk 検索システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011138230A (ja) * 2009-12-25 2011-07-14 Fujitsu Ltd 情報処理プログラム、情報検索プログラム、情報処理装置、および情報検索装置

Also Published As

Publication number Publication date
NO965254D0 (no) 1996-12-09
EP0764305A1 (en) 1997-03-26
US5706365A (en) 1998-01-06
DE69631457D1 (de) 2004-03-11
JP4559371B2 (ja) 2010-10-06
BR9606306A (pt) 1997-09-09
AU5449696A (en) 1996-10-30
NO965254L (no) 1997-02-06
DE69631457T2 (de) 2004-09-16
AU713572B2 (en) 1999-12-02
EP0764305B1 (en) 2004-02-04
ES2214535T3 (es) 2004-09-16
JP4162711B2 (ja) 2008-10-08
NZ306268A (en) 1998-05-27
JP2006155657A (ja) 2006-06-15
WO1996032686A1 (en) 1996-10-17

Similar Documents

Publication Publication Date Title
JP4162711B2 (ja) Nグラム・ワード分解を用いた携帯型文書索引付け用のシステム及び方法
US4775956A (en) Method and system for information storing and retrieval using word stems and derivative pattern codes representing familes of affixes
US6055528A (en) Method for cross-linguistic document retrieval
US5465353A (en) Image matching and retrieval by multi-access redundant hashing
US6523030B1 (en) Sort system for merging database entries
US6496820B1 (en) Method and search method for structured documents
US20020010714A1 (en) Method and apparatus for processing free-format data
EP0378848A2 (en) Method for use of morphological information to cross reference keywords used for information retrieval
JP2011511366A (ja) データの検索および索引付けの方法およびそれを実施するシステム
JP2002510089A (ja) 光学的文字認識により作成された電子的文書を検索するためのシステムおよび方法
CN111400323A (zh) 数据检索方法、系统、设备及存储介质
KR100459832B1 (ko) N-그램워드(n-gramword)분해원리를이용하여이식가능한문서를인덱싱하는시스템및방법
US20030023584A1 (en) Universal information base system
JP2693914B2 (ja) 検索システム
US6792428B2 (en) Method of storing and flattening a structured data document
WO2002059726A2 (en) Method of performing a search of a numerical document object model
CN110347804A (zh) 一种线性时间复杂度的敏感信息检测方法
CA2192435C (en) System and method for portable document indexing using n-gram word decomposition
JPH0991297A (ja) 文字列検索方法及び装置
JPH08314950A (ja) テキストの検索方法及び装置
JPH08115330A (ja) 類似文書検索方法および装置
JPH06309368A (ja) 文書検索装置
JPH09259132A (ja) 情報登録検索装置及びその方法
JPH09212523A (ja) 全文検索方法
CN116126795A (zh) 日志检索方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041019

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050117

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050419

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20051011

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080618

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

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

Free format text: PAYMENT UNTIL: 20110801

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees