JP4108337B2 - 電子ファイリングシステム及びその検索インデックス作成方法 - Google Patents
電子ファイリングシステム及びその検索インデックス作成方法 Download PDFInfo
- Publication number
- JP4108337B2 JP4108337B2 JP2002003908A JP2002003908A JP4108337B2 JP 4108337 B2 JP4108337 B2 JP 4108337B2 JP 2002003908 A JP2002003908 A JP 2002003908A JP 2002003908 A JP2002003908 A JP 2002003908A JP 4108337 B2 JP4108337 B2 JP 4108337B2
- Authority
- JP
- Japan
- Prior art keywords
- frequency
- document
- character
- character string
- search
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の属する技術分野】
この発明は、電子的に蓄積した文書からキーワード等を用いて検索、閲覧する電子ファイリングシステム及びその検索インデックス作成方法に関するものである。
【0002】
【従来の技術】
近年のパーソナルコンピュータの普及と高性能化および記憶容量の増大、ワードプロセッサの普及を背景に、コンピュータ上に文書を保持する電子ファイリングシステムが普及しつつある。
【0003】
電子的に蓄積した文書からフリーキーワードによる全文検索によって所望の文書を検索し閲覧する電子ファイリングシステムでは、文書を大量に保持するほど検索時間を多く費やすために、これを短縮する方法が検討されてきた。
【0004】
検索時間を短縮する技術としては、文書登録時に文書中に存在する文字の種類とその出現位置情報を予め抽出して、文字毎にインデックス(索引)を作成して保存し、検索時には検索キーワードを構成する文字のインデックスを使用して位置関係の照合を行う方法が広く用いられている。
【0005】
文字を抽出する単位としては、文書中の連続するn文字(n≧1)単位として作成する方法(n−gramインデックス)や、形態素解析を行って形態素単位のインデックスを作成する方法が代表的である。
【0006】
上記のn−gramインデックスを作成する文書検索方法では、インデックスの作成方法を更に工夫することで各々の文字の最大インデックス容量を抑え、検索時間の短縮を行う試みが行われている。
【0007】
従来の電子ファイリングシステムについて図面を参照しながら説明する。図16は、例えば特開平7−105237号公報に示された従来の電子ファイリングシステムの構成を示す図である。
【0008】
図16において、201はサンプル文書データ、202はサンプル文書区切りデータ、203は文書区切り手段、204は文字出現頻度算定手段、205は2文字連続出現頻度算定手段、206は3文字連続出現頻度算定手段、207は文字グループ化手段、208は2文字連続グループ化手段、209は3文字連続グループ化手段、210は索引形式出力手段、211は索引形式データである。
【0009】
つぎに、従来の電子ファイリングシステムの動作について図面を参照しながら説明する。
【0010】
サンプル文書データ201から文書区切り手段203によって切り出されたサンプル文書を、はじめに文字出現頻度算定手段204へ渡す。ここでは、「各文字の出現数/文書の総文字数」を計算し、2文字連続出現頻度算定手段205へ渡す。
【0011】
この2文字連続出現頻度算定手段205では、文字出現頻度算定手段204で出現頻度が高い文字について「2文字連続の出現数/文書の総文字数」を算出する。
【0012】
次に、3文字連続出現頻度算定手段206では、2文字連続出現頻度が高い文字列について「3文字連続出現数/文書の総文字数」を算出する。
【0013】
文字グループ化手段207は、文字出現頻度算定手段204の結果から、出現の度合が予め定められた「絞込み率」以下である複数の文字をグループ化し、グループに属するいずれかの文字が出現する度合が絞り込み率を超えない範囲で絞込み率に最も近くなるように調整する。
【0014】
2文字連続グループ化手段208は、文字グループ化手段207と同様に、2文字連続の出現の度合が予め定められた「絞込み率」以下である複数の2文字連続をグループ化する。3文字連続グループ化手段209も、文字グループ化手段207と同様に、3文字連続の出現の度合が予め定められた「絞込み率」以下である複数の3文字連続をグループ化する。
【0015】
索引形式出力手段210は、各グループに通し番号を付与し、所属文字、あるいは2文字連続、あるいは3文字連続と各グループの対応表を出力する。
【0016】
検索時間を短縮する別の従来例としては、特開平11−031148号公報に示すように、検索で使用頻度が高い文字のインデックスを、ハードディスクに比べて高速アクセスが可能なメモリに展開している。
【0017】
【発明が解決しようとする課題】
上述したような従来の電子ファイリングシステムでは、実際に登録しないサンプル文書や、登録文書の出現頻度のみを基準にインデックス作成を行うために、これらが検索キーワードの出現頻度と類似するとは限らない。即ち、この従来例では、検索に用いられる頻度に関わらず、サンプル文書で出現頻度が高い文字列に対してインデックスを新規に作成する。このため、検索で全く使用しない2文字連続情報や3文字連続情報を作成する場合があり、結果的に登録データ容量が無駄に増加するという問題点があった。
【0018】
また、出現頻度情報を基準にインデックスを作成すると、高い頻度で検索されるにもかかわらず文書中の出現頻度が低いキーワードについては適切なインデックスを作成しないために検索時間が遅くなるという問題点があった。
【0019】
特に、検索キーワードの部分文字列の出現頻度が高い場合には、検索時間が遅くなる問題点があった。例えば、「文字認識」というキーワードが検索に用いられる頻度が高く、文書中の出現頻度が低い場合、出現頻度情報を基準にすると「文字認識」のインデックスは作成されない。このため、検索には「文字」、「認識」のようなインデックスが存在する文字列の組み合わせで検索をすることになるが、「文字」などは文書中の出現頻度が高い、すなわちインデックスサイズが大きいために、検索時間がかかるという問題点があった。
【0020】
さらに、別の従来の電子ファイリングシステムでは、登録文書が大量になるほど各文字のインデックスが大きくなるが、メモリの容量には制限があるために、検索で使用頻度の高いインデックスがメモリ上に展開できない場合が生じることから、大量文書になるほど検索性能が低下する場合があるという問題点があった。
【0021】
この発明は、前述した問題点を解決するためになされたもので、検索頻度の高いキーワードの検索を高速化しつつ不必要なインデックスを削除して保存データの増大を防止することができる電子ファイリングシステム及びその検索インデックス作成方法を得ることを目的とする。
【0022】
【課題を解決するための手段】
この発明の請求項1に係る電子ファイリングシステムは、文字列毎に、登録文書中の当該文字列の出現頻度を示す登録文書出現頻度、検索用のインデックス中の文字の出現頻度を示す検索文字頻度、前記登録文書出現頻度及び前記検索文字頻度を用いて算出する統合頻度、当該文字列のインデックスがn−gramインデックスデータベースに現在存在するか否かを記すインデックスの有無情報、及びn−gramインデックスの作成、更新後に文書登録、キーワード検索で前記登録文書出現頻度、前記検索文字頻度が変更されたか否かを示す出現頻度更新情報を格納するとともに、登録文書中の文字数の総和、及び検索文字数の総和を格納する統合頻度管理テーブルと、文字列毎に、文書を識別するための通し番号である文書番号、及び文書の先頭から何文字目に出現したかを表す情報である位置情報を格納するn−gramインデックスデータベースと、登録文書を格納する文書データベースと、文書番号が付与された登録文書から連続するn(nは整数)文字までの文字列の出現頻度と位置情報を抽出し、前記統合頻度管理テーブルの当該文字列の登録文書出現頻度に前記抽出した出現頻度を加算して更新し、重みをα(0<α<1)、前記更新した登録文書出現頻度を前記統合頻度管理テーブルに格納された登録文書中の文字数の総和で除した、登録文書中の当該文字列の登録文書出現確率をPbi、前記更新した登録文書出現頻度に対応する検索文字頻度を前記統合頻度管理テーブルに格納された検索文字数の総和で除した、検索文字出現確率をPsiとして、統合頻度P=α・Pbi+(1−α)・Psiを計算して前記統合頻度管理テーブルの統合頻度を更新して、前記統合頻度管理テーブルの当該文字列における出現頻度更新情報を有に変更する登録文書出現頻度算出手段と、前記統合頻度管理テーブルから文字列を選択し、前記統合頻度管理テーブルの当該文字列における出現頻度更新情報が有、かつ前記統合頻度管理テーブルの当該文字列のインデックスの有無情報が有の場合には、前記n−gramインデックスデータベースの当該文字列の対応する行に、当該文書番号と、前記登録文書出現頻度算出手段によって抽出された当該文字列の位置情報を格納するとともに、前記統合頻度管理テーブルの当該文字列における出現頻度更新情報が有、かつ前記統合頻度管理テーブルの当該文字列のインデックスの有無情報が無の場合で、前記統合頻度管理テーブルの当該文字列の統合頻度がインデックス作成の閾値β以上のときには、n(n>1)文字の当該文字列から最後の1文字を削除した1文字削除文字列が存在する、前記n−gramインデックスデータベースの当該1文字削除文字列の文書番号と位置情報に基づき、前記文書データベース中の当該文書番号の文書の当該位置情報文字目に対してアクセスして、当該1文字削除文字列の次が削除した文字であれば、前記n−gramインデックスデータベースに当該文書番号と当該位置情報を伴った、最後の1文字を削除する前のn(n>1)文字の当該文字列を前記n−gramインデックスデータベースに新規作成して、前記統合頻度管理テーブルの当該文字列のインデックスの有無情報を有に変更するn−gramインデックス作成手段と、登録文書に対して文書番号を付与するともに、n−gramインデックスを作成した文書を前記文書データベースに登録する文書登録手段とを備えたものである。
【0023】
この発明の請求項2に係る電子ファイリングシステムは、文書検索時に、検索キーワード中の連続する1文字以上の文字列である複数のインデックスと各々の出現頻度を抽出し、前記統合頻度管理テーブルの該当文字列の検索文字頻度に前記抽出した出現頻度を加算して更新し、重みをα(0<α<1)、前記更新した検索文字頻度に対応する登録文書出現頻度を前記統合頻度管理テーブルに格納された登録文書中の文字数の総和で除した、登録文書中の当該文字列の登録文書出現確率をPbi、前記更新した検索文字頻度を前記統合頻度管理テーブルに格納された検索文字数の総和で除した、検索文字出現確率をPsiとして、統合頻度P=α・Pbi+(1−α)・Psiを計算して前記統合頻度管理テーブルの統合頻度を更新して、前記統合頻度管理テーブルの当該文字列における出現頻度更新情報を有に変更する検索文字頻度算出手段をさらに備えたものである。
【0024】
この発明の請求項3に係る電子ファイリングシステムは、前記n−gramインデックス作成手段が、前記統合頻度管理テーブルから文字列を選択し、前記統合頻度管理テーブルの当該文字列のインデックスの有無情報が有、かつ前記統合頻度管理テーブルの当該文字列の統合頻度がインデックス削除の閾値γ(γ<β)未満の場合で、当該文字列が2文字以上の連続するインデックスときには、当該文字列を、前記n−gramインデックスデータベースから削除するとともに、前記統合頻度管理テーブルの当該文字列のインデックスの有無情報を無に変更するものである。
【0025】
この発明の請求項4に係る電子ファイリングシステムの検索インデックス作成方法は、文字列毎に、登録文書中の当該文字列の出現頻度を示す登録文書出現頻度、検索用のインデックス中の文字の出現頻度を示す検索文字頻度、前記登録文書出現頻度及び前記検索文字頻度を用いて算出する統合頻度、当該文字列のインデックスがn−gramインデックスデータベースに現在存在するか否かを記すインデックスの有無情報、及びn−gramインデックスの作成、更新後に文書登録、キーワード検索で前記登録文書出現頻度、前記検索文字頻度が変更されたか否かを示す出現頻度更新情報を格納するとともに、登録文書中の文字数の総和、及び検索文字数の総和を格納する統合頻度管理テーブルと、文字列毎に、文書を識別するための通し番号である文書番号、及び文書の先頭から何文字目に出現したかを表す情報である位置情報を格納するn−gramインデックスデータベースと、登録文書を格納する文書データベースとを備えた電子ファイリングシステムにおいて、コンピュータは、文書番号が付与された登録文書から連続するn(nは整数)文字までの文字列の出現頻度と位置情報を抽出し、前記統合頻度管理テーブルの当該文字列の登録文書出現頻度に前記抽出した出現頻度を加算して更新し、重みをα(0<α<1)、前記更新した登録文書出現頻度を前記統合頻度管理テーブルに格納された登録文書中の文字数の総和で除した、登録文書中の当該文字列の登録文書出現確率をPbi、前記更新した登録文書出現頻度に対応する検索文字頻度を前記統合頻度管理テーブルに格納された検索文字数の総和で除した、検索文字出現確率をPsiとして、統合頻度P=α・Pbi+(1−α)・Psiを計算して前記統合頻度管理テーブルの統合頻度を更新して、前記統合頻度管理テーブルの当該文字列における出現頻度更新情報を有に変更する登録文書出現頻度算出ステップと、前記統合頻度管理テーブルから文字列を選択し、前記統合頻度管理テーブルの当該文字列における出現頻度更新情報が有、かつ前記統合頻度管理テーブルの当該文字列のインデックスの有無情報が有の場合には、前記n−gramインデックスデータベースの当該文字列の対応する行に、当該文書番号と、前記登録文書出現頻度算出ステップによって抽出された当該文字列の位置情報を格納するとともに、前記統合頻度管理テーブルの当該文字列における出現頻度更新情報が有、かつ前記統合頻度管理テーブルの当該文字列のインデックスの有無情報が無の場合で、前記統合頻度管理テーブルの当該文字列の統合頻度がインデックス作成の閾値β以上のときには、n(n>1)文字の当該文字列から最後の1文字を削除した1文字削除文字列が存在する、前記n−gramインデックスデータベースの当該1文字削除文字列の文書番号と位置情報に基づき、前記文書データベース中の当該文書番号の文書の当該位置情報文字目に対してアクセスして、当該1文字削除文字列の次が削除した文字であれば、前記n−gramインデックスデータベースに当該文書番号と当該位置情報を伴った、最後の1文字を削除する前のn(n>1)文字の当該文字列を前記n−gramインデックスデータベースに新規作成して、前記統合頻度管理テーブルの当該文字列のインデックスの有無情報を有に変更するn−gramインデックス作成ステップと、登録文書に対して文書番号を付与するともに、n−gramインデックスを作成した文書を前記文書データベースに登録する文書登録ステップとを実行するものである。
【0026】
この発明の請求項5に係る電子ファイリングシステムの検索インデックス作成方法は、コンピュータが、文書検索時に、検索キーワード中の連続する1文字以上の文字列である複数のインデックスと各々の出現頻度を抽出し、前記統合頻度管理テーブルの該当文字列の検索文字頻度に前記抽出した出現頻度を加算して更新し、重みをα(0<α<1)、前記更新した検索文字頻度に対応する登録文書出現頻度を前記統合頻度管理テーブルに格納された登録文書中の文字数の総和で除した、登録文書中の当該文字列の登録文書出現確率をPbi、前記更新した検索文字頻度を前記統合頻度管理テーブルに格納された検索文字数の総和で除した、検索文字出現確率をPsiとして、統合頻度P=α・Pbi+(1−α)・Psiを計算して前記統合頻度管理テーブルの統合頻度を更新して、前記統合頻度管理テーブルの当該文字列における出現頻度更新情報を有に変更する検索文字頻度算出ステップをさらに実行するものである。
【0027】
この発明の請求項6に係る電子ファイリングシステムの検索インデックス作成方法は、コンピュータが、前記統合頻度管理テーブルから文字列を選択し、前記統合頻度管理テーブルの当該文字列のインデックスの有無情報が有、かつ前記統合頻度管理テーブルの当該文字列の統合頻度がインデックス削除の閾値γ(γ<β)未満の場合で、当該文字列が2文字以上の連続するインデックスときには、当該文字列を、前記n−gramインデックスデータベースから削除するとともに、前記統合頻度管理テーブルの当該文字列のインデックスの有無情報を無に変更する前記n−gramインデックス作成ステップを実行するものである。
【0036】
【発明の実施の形態】
実施の形態1.
この発明の実施の形態1に係る電子ファイリングシステムについて図面を参照しながら説明する。図1は、この発明の実施の形態1に係る電子ファイリングシステムの構成を示す図である。なお、各図中、同一符号は同一又は相当部分を示す。
【0037】
図1において、1は文書を登録するための文書登録手段、2は連続するn文字のインデックスを作成、更新、削除するn−gramインデックス作成手段、3は登録文書出現頻度算出手段、4は検索文字頻度算出手段、5はキーワードを用いて文書検索を行う文書検索手段、6は登録文書出現頻度、検索文字頻度などを文字列毎に格納する統合頻度管理テーブル、7はn−gramインデックスデータベース、8は登録文書を保持する文書データベースである。
【0038】
つぎに、この実施の形態1に係る電子ファイリングシステムの動作について図面を参照しながら説明する。
【0039】
図2は、この発明の実施の形態1に係る電子ファイリングシステムの文書登録時の動作を示すフローチャートである。
【0040】
また、図3は、この発明の実施の形態1に係る電子ファイリングシステムのn−gramインデックス作成手段の動作を示すフローチャートである。
【0041】
まず、文書登録時のインデックス作成方法について説明する。
【0042】
図2のステップS100において、登録文書出現頻度算出手段3は、登録文書中の文字出現頻度計算を実行する。まず、登録文書出現頻度算出手段3は、ユーザが指定し、文書登録手段1により文書番号が付与された文書が、文書登録手段1から渡される。この『文書番号』とは、文書を識別するための通し番号であり、データ保存容量削減のために用いる。ここで与える文書番号は、例えば「10」とする。
【0043】
図4は、登録に用いる文書の例を示す。登録文書出現頻度算出手段3は、登録文書から連続するn文字(nは整数)までの文字列の出現頻度(出現回数)と位置情報を抽出する。ここではn=3として、連続する1〜3文字の出現頻度と位置情報を算出する。
【0044】
図5は、その抽出例を示す。ここで、『位置情報』とは、文書の先頭から何文字目に出現したかを表す情報である。例えば、図5において、先頭の文字列「。」の位置情報は「34」であるが、これは図4の文書例の先頭から34文字目に存在することを意味する。
【0045】
図6は、統合頻度管理テーブル6の例を示す。図6において、21は登録文書中に各『文字列』の出現頻度を格納する『登録文書出現頻度』、22は検索用のインデックス(キーワード)中の文字の出現頻度を示す『検索文字頻度』、23は登録文書出現頻度21と検索文字頻度22を用いて算出する『統合頻度』、24は各文字列のインデックスがn−gramインデックスデータベース7に現在存在するか否かを記す『インデックスの有無情報』、25はn−gramインデックスの作成、更新後に文書登録やキーワード検索で登録文書出現頻度21や検索文字頻度22が変更されたか否かを示す『出現頻度更新情報』である。
【0046】
統合頻度23には、以下の数式(1)を用いて算出したPを代入する。ただし、ここでは、例えば重みα=0.2とする。
P=α・Pbi+(1−α)・Psi
0<α<1 数式(1)
【0047】
Pbiは、登録文書中の各文字列の登録文書出現確率を示し、図6では登録文書出現頻度21を登録文書中の文字数の総和(登録文書出現頻度21の合計欄の値)で除した数である。また、Psiは、検索文字出現確率を示し、図6では検索文字頻度22を検索文字数の総和(検索文字頻度22の合計欄の値)で除した数である。
【0048】
数式(1)では、登録文書出現確率Pbiの重みα(=0.2)に比べて、検索用のインデックス文字列の検索文字出現確率Psiの重み(1−α)(=0.8)を4倍にすることで、検索に用いられる文字列ほどインデックスを作成しやすくしている。
【0049】
次に、図2のステップS200において、登録文書出現頻度算出手段3は、統合頻度管理テーブル6の登録文書出現頻度21に、図5に示す抽出した出現頻度を加える。図6に示す統合頻度管理テーブル6の数値は既にこれを反映させたものである。その後、統合頻度管理テーブル6の全ての文字列に対して数式(1)を用いて統合頻度Pを計算する。その結果を、図6に示す統合頻度管理テーブル6の統合頻度23に反映する。さらに、登録文書出現頻度算出手段3は、統合頻度管理テーブル6の該当文字列における出現頻度更新情報25を「有」に変更する。
【0050】
次に、ステップS300において、n−gramインデックス作成手段2は、文書番号と、図5に示す抽出した位置情報と、図6に示す統合頻度管理テーブル6を用いてn−gramインデックスの作成処理を行う。図6に示す統合頻度管理テーブル6からは、統合頻度23と、インデックスの有無情報24と、出現頻度更新情報25を使用する。
【0051】
以下、図3に示すインデックス作成の詳細フローを用いて動作を説明する。
【0052】
まず、図3のステップS310において、n−gramインデックス作成手段2は、図6に示す統合頻度管理テーブル6から文字列を選択する。はじめに、一番上の文字列「あ」31を選択する。
【0053】
次に、ステップS320において、n−gramインデックス作成手段2は、統合頻度管理テーブル6の文字列「あ」における出現頻度更新情報25の値を得る。ここでは、「無」32なので、ステップS320でNへ進み、再びステップS310へと進む。以下同様に進み、ステップS310において、文字列「文字」33を選択したところで、ステップS320では出現頻度更新情報25が「有」34であるので、本ステップS320でYへ進み、次のステップS330へ進む。
【0054】
次に、ステップS330において、n−gramインデックス作成手段2は、文字列「文字」のインデックスを既に作成しているか否かを判定する。ここでは、図6に示す統合頻度管理テーブル6の文字列「文字」33のインデックスの有無情報24をチェックする。この統合頻度管理テーブル6では、インデックスの有無情報24が「有」35であるので、既に、n−gramインデックスデータベース7に文字列「文字」のインデックスが作成されている。そこで、このステップS330でYへ進む。
【0055】
次に、ステップS340において、インデックスの更新処理を行う。この更新処理は、図7に示すn−gramインデックスデータベース7の文字列「文字」36の対応する行に、該当文書番号(この例では、「10」である。)と、図5中の文字列「文字」の位置情報を格納する。その結果を、図8に示す。図8は、更新されたn−gramインデックスデータベース7を示す。
【0056】
次に、ステップS370において、図6に示す統合頻度管理テーブル6で全ての文字列をチェックしたか判定する。ここではまだ終わりではないので、Nへ進み、再びステップS310を実行する。
【0057】
以下同様に進み、統合頻度管理テーブル6において、文字列が「文字認」40の場合について説明する。ステップS320へ進み、出現頻度更新情報25は「有」41であるので、ステップS330へ進み、文字列「文字認」40のインデックスの有無情報24を確認する。このインデックスの有無情報24は「無」42であるので、ステップS350に進み、n−gramインデックス作成手段2は、インデックス作成条件を満たすか否か判定する。この判定は、統合頻度23がインデックス作成の閾値β(ここでは0.035とする)以上であればYへ進み、閾値β未満の場合はNへ進む。
【0058】
いま、文字列「文字認」40の統合頻度23は「0.035」43であるので、ステップS350はYとなり、ステップS360へと進む。
【0059】
ステップS360において、n−gramインデックス作成手段2は、インデックスを新規作成する。インデックス作成方法は、ここでは文字列「文字認」から最後の1文字「認」を削除した、n−gramインデックスデータベース7の文字列「文字」36のインデックス情報を用いる。
【0060】
文字列「文字」が存在する文書番号と位置情報(文字位置)を文書データベース8中の各文書に対してアクセスして、文字列「文字認」が存在する位置を検証する。例えば、図8に示すn−gramインデックスデータベース7の文字列「文字」36の文書番号「2」と位置情報「23」に基づき、文書データベース8中の文書番号「2」の文書の「23」文字目に対してアクセスして、文字列「文字」の次が文字列「認」であれば、n−gramインデックスデータベース7に文書番号「2」と位置情報「23」を伴った文字列「文字認」を新規作成する。
【0061】
登録文書中に文字列「文字」が出現する頻度は高々数%であるので、文字列「文字」36の文書番号と位置情報を用いて文書データベース8をアクセスすることで、文字列「文字認」をそのまま用いて文書データベース8の全てをアクセスする場合に比べて、数倍〜数十倍高速に文字位置情報の抽出が可能となる。
【0062】
こうして、文字列「文字認」について、文字列「文字」を用いて抽出した文書番号、位置情報をn−gramインデックスデータベース7に新規作成する。作成した結果を図8に示す。この図8は、n−gramインデックスデータベース7に、文字列「文字認」44を新規作成した様子を示す。
【0063】
図3のステップS350でNの場合には、ステップS310へと戻り、文字列の選定から始める。
【0064】
以下同様に進み、最後に、ステップS370でYの場合には、図2のステップS400へ進み、文書登録手段1は、文書を文書データベース8へ保存して終了する。
【0065】
次に、登録文書の文書検索を行う動作について説明する。
【0066】
図9は、この実施の形態1に係る電子ファイリングシステムの文書検索の動作を示すフローチャートである。
【0067】
図9のステップS500において、検索文字頻度算出手段4は、文書検索手段5から検索キーワードが渡され、この検索キーワード中の文字出現頻度を得る。いま、「文書検索」というキーワードを検索に用いると、連続する1〜3文字の文字列であるインデックス「文」、「書」、「検」、「索」、「文書」、「書検」、「検索」、「文書検」、「書検索」と各々の出現頻度「1」を得る。
【0068】
次に、ステップS600において、検索文字頻度算出手段4は、検索頻度情報を更新する。ここでは、図6に示す統合頻度管理テーブル6中の検索文字頻度22を各々の出現頻度「1」だけ増加させ、その合計欄の文字数は「文書検索」の4文字分を追加する。また、数式(1)を用いて統合頻度Pを計算し、その結果を統合頻度管理テーブル6の統合頻度23に反映する。その後、該当文字列の出現頻度更新情報25を「有」にする。その様子を図10に示す。
【0069】
この図10では、文字列「文書」39のみについて更新結果を示す。図10の文字列「文書」39は、図6に比べて検索文字頻度22の数が「1」増加したために統合頻度23が「0.035」50になっている。
【0070】
次に、ステップS700において、文書検索手段5は、検索インデックス照合を行う。文書検索手段5は、上記の文字列「文」、「書」、「検」、「索」、「文書」、「書検」、「検索」、「文書検」、「書検索」について、統合頻度管理テーブル6の該当のインデックスの有無情報24を調べ、その有無情報24が「有」の場合には、n−gramインデックスデータベース7のサイズを調べ、サイズの小さなインデックスを選択して、各インデックスの位置情報をメモリに展開し、位置検定を行う。
【0071】
ここでは、例えば「文」、「書」、「検」、「索」のインデックスを各々メモリに展開し、位置情報の検定を行う。この検定は、n−gramインデックスデータベース7から得た同一の文書番号における位置情報に基づいて、「文」と「書」の文字位置差が1かつ、「文」と「検」の文字位置差が2かつ、「文」と「索」の文字位置差が3である場合に一致したものとする。これは、同一の文書番号「X」における文字列「文」、「書」、「検」、「索」それぞれの位置情報が「Y」、「Y+1」、「Y+2」、「Y+3」の場合に相当する。
【0072】
最後に、図9のステップS800において、文書検索手段5は、検索結果の出力を行う。上記の例では、文書検索手段5は、キーワード「文書検索」が文書データベース8中の文書番号「X」の文書がヒットしたことを表示装置へ表示出力する。また、ユーザの要求により、文書番号「X」の文書の内容を表示装置へ表示出力したり、印刷装置へ出力する。
【0073】
次に、文書検索後、新たに文書を登録した場合のn−gramインデックス作成について示す。このとき、前回の文書登録時から頻度情報が更新されているものについても統合頻度23を計算して、インデックスを作成するか否かを判定する。
【0074】
いま、図11に示す文書を登録する。図2及び図3に示すフローチャートの内容と同様に登録処理を行い、その結果を図12に示す。この図12では、文字列「文書」39の統合頻度23が「0.035」50となったためにインデックスを新規作成する。
【0075】
本実施の形態1に示す方式を用いると、登録文書中の出現頻度が高くとも検索の出現頻度が低い文字列のインデックスは作成されないために、ディスク保存の容量削減が可能となる。例えば、図6で、文字列「ああ」51の登録文書出現頻度21は「76」であり、文字列「文書」39や「文字認」40より高くなっているが、検索文字頻度22が低いために統合頻度23も低くなり、その結果、文字列「ああ」51のインデックスは作成されないので保存容量の効果的削減が可能となる。
【0076】
なお、本実施の形態1では、n−gramインデックスのn=3としたが、実際はこの値に限らない。また、判定式も上記に限ったものではない。閾値も同様に上記に限ったものではない。
【0077】
また、本実施の形態1では、検索後の文書登録時にインデックスの作成、更新処理を行っているが、これに限らず、例えば定期的に、登録文書出現頻度算出手段3、及びn−gramインデックス作成手段2が、図13に示すようなフロー処理を行ってインデックスの更新を行うことも可能である。
【0078】
実施の形態2.
この発明の実施の形態2に係る電子ファイリングシステムについて図面を参照しながら説明する。
【0079】
上記の実施の形態1では、インデックスを新規作成、登録する例について説明した。この実施の形態2では、インデックスを削除する例について説明する。このインデックスの削除処理は、図2及び図14を用いて説明する。
【0080】
図14は、この発明の実施の形態2に係る電子ファイリングシステムに係るインデックス削除処理を詳細に示すフローチャートである。
【0081】
図14のステップS310において、n−gramインデックス作成手段2は、図15に示す統合頻度管理テーブル6を参照して文字列を選択した後、ステップS330において、統合頻度管理テーブル6のインデックスの有無情報24から、その文字列のインデックスが存在するかをチェックする。インデックスが存在する場合(「有」の場合)にはYへ進み、次のステップS333に進む。
【0082】
ステップS333において、選択した文字列がインデックス削除条件を満たすか否かを判定する。この判定は、統合頻度23がインデックス削除の閾値γ未満の場合はYへ進み、閾値γ以上であればNへ進む。判定には数式(1)を用いるが、インデックス削除のための閾値γは、作成のための閾値βに対して小さく、γ<βと設定する。
【0083】
これは、γ=βでは、統合頻度が閾値β付近の文字列インデックスは、登録、検索を繰り返すと閾値βを境に統合頻度値が上下する場合があり、その結果、文字列インデックスの削除、新規作成を繰り返すことになって検索性能が安定しないものになる。
【0084】
そこで、これを防止して、一度インデックスが新規作成された場合に安定的に存在するように、γ<βとなるように決定する。ここでは、例えば、閾値γ=0.02とする。
【0085】
また、このステップS333で削除対象とするのは、2文字以上の連続するインデックスであり、1文字インデックスも削除すると検索不可能となるので削除対象としない。
【0086】
いま、図15に示す統合頻度管理テーブル6において、文字列「文字認」40の統合頻度23が「0.018」51で、閾値γ(=0.02)未満であるために、削除に該当する。そこで、ステップS335へ進む。
【0087】
ステップS335において、n−gramインデックス作成手段2は、文字列「文字認」のインデックスを、n−gramインデックスデータベース7から削除する。また、統合頻度管理テーブル6の文字列「文字認」40のインデックスの有無情報24を「無」とする。以下、同様に動作する。
【0088】
以上説明したように、本発明の実施の形態1及び2によると、登録文書出現頻度と検索文字頻度を使用して検索用インデックスを作成するために、登録文書出現頻度が高い文字列のみならず、検索の頻度が高いキーワードを構成する文字列についてもインデックスを作成するために、高速検索が可能となる。また、登録文書中の出現頻度が高くとも検索で頻度が低い文字列のインデックスは作成しないことが可能となるために、無駄なインデックスの増加を抑制して検索用インデックスの総容量を効果的に小さくすることができる。
【0089】
また、インデックスの作成と削除の閾値を工夫することで、同一文字列のインデックスが文書登録の度に作成、削除を頻繁に繰り返すことがなく、安定した検索性能を維持することができる。
【0090】
更に、文書登録や検索用インデックス作成時に、最後に文書登録、更新を行ってから後の検索情報を用いてインデックスを更新するために、検索で用いない不必要な連続文字インデックスを削除することが可能となる。
【0091】
【発明の効果】
この発明の請求項1に係る電子ファイリングシステムは、以上説明したとおり、文字列毎に、登録文書中の当該文字列の出現頻度を示す登録文書出現頻度、検索用のインデックス中の文字の出現頻度を示す検索文字頻度、前記登録文書出現頻度及び前記検索文字頻度を用いて算出する統合頻度、当該文字列のインデックスがn−gramインデックスデータベースに現在存在するか否かを記すインデックスの有無情報、及びn−gramインデックスの作成、更新後に文書登録、キーワード検索で前記登録文書出現頻度、前記検索文字頻度が変更されたか否かを示す出現頻度更新情報を格納するとともに、登録文書中の文字数の総和、及び検索文字数の総和を格納する統合頻度管理テーブルと、文字列毎に、文書を識別するための通し番号である文書番号、及び文書の先頭から何文字目に出現したかを表す情報である位置情報を格納するn−gramインデックスデータベースと、登録文書を格納する文書データベースと、文書番号が付与された登録文書から連続するn(nは整数)文字までの文字列の出現頻度と位置情報を抽出し、前記統合頻度管理テーブルの当該文字列の登録文書出現頻度に前記抽出した出現頻度を加算して更新し、重みをα(0<α<1)、前記更新した登録文書出現頻度を前記統合頻度管理テーブルに格納された登録文書中の文字数の総和で除した、登録文書中の当該文字列の登録文書出現確率をPbi、前記更新した登録文書出現頻度に対応する検索文字頻度を前記統合頻度管理テーブルに格納された検索文字数の総和で除した、検索文字出現確率をPsiとして、統合頻度P=α・Pbi+(1−α)・Psiを計算して前記統合頻度管理テーブルの統合頻度を更新して、前記統合頻度管理テーブルの当該文字列における出現頻度更新情報を有に変更する登録文書出現頻度算出手段と、前記統合頻度管理テーブルから文字列を選択し、前記統合頻度管理テーブルの当該文字列における出現頻度更新情報が有、かつ前記統合頻度管理テーブルの当該文字列のインデックスの有無情報が有の場合には、前記n−gramインデックスデータベースの当該文字列の対応する行に、当該文書番号と、前記登録文書出現頻度算出手段によって抽出された当該文字列の位置情報を格納するとともに、前記統合頻度管理テーブルの当該文字列における出現頻度更新情報が有、かつ前記統合頻度管理テーブルの当該文字列のインデックスの有無情報が無の場合で、前記統合頻度管理テーブルの当該文字列の統合頻度がインデックス作成の閾値β以上のときには、n(n>1)文字の当該文字列から最後の1文字を削除した1文字削除文字列が存在する、前記n−gramインデックスデータベースの当該1文字削除文字列の文書番号と位置情報に基づき、前記文書データベース中の当該文書番号の文書の当該位置情報文字目に対してアクセスして、当該1文字削除文字列の次が削除した文字であれば、前記n−gramインデックスデータベースに当該文書番号と当該位置情報を伴った、最後の1文字を削除する前のn(n>1)文字の当該文字列を前記n−gramインデックスデータベースに新規作成して、前記統合頻度管理テーブルの当該文字列のインデックスの有無情報を有に変更するn−gramインデックス作成手段と、登録文書に対して文書番号を付与するともに、n−gramインデックスを作成した文書を前記文書データベースに登録する文書登録手段とを備えたので、検索頻度の高いキーワードの検索を高速化しつつ不必要なインデックスを削除して保存データの増大を防止することができるという効果を奏する。
【0092】
この発明の請求項2に係る電子ファイリングシステムは、以上説明したとおり、文書検索時に、検索キーワード中の連続する1文字以上の文字列である複数のインデックスと各々の出現頻度を抽出し、前記統合頻度管理テーブルの該当文字列の検索文字頻度に前記抽出した出現頻度を加算して更新し、重みをα(0<α<1)、前記更新した検索文字頻度に対応する登録文書出現頻度を前記統合頻度管理テーブルに格納された登録文書中の文字数の総和で除した、登録文書中の当該文字列の登録文書出現確率をPbi、前記更新した検索文字頻度を前記統合頻度管理テーブルに格納された検索文字数の総和で除した、検索文字出現確率をPsiとして、統合頻度P=α・Pbi+(1−α)・Psiを計算して前記統合頻度管理テーブルの統合頻度を更新して、前記統合頻度管理テーブルの当該文字列における出現頻度更新情報を有に変更する検索文字頻度算出手段をさらに備えたので、検索頻度の高いキーワードの検索を高速化しつつ不必要なインデックスを削除して保存データの増大を防止することができるという効果を奏する。
【0093】
この発明の請求項3に係る電子ファイリングシステムは、以上説明したとおり、前記n−gramインデックス作成手段が、前記統合頻度管理テーブルから文字列を選択し、前記統合頻度管理テーブルの当該文字列のインデックスの有無情報が有、かつ前記統合頻度管理テーブルの当該文字列の統合頻度がインデックス削除の閾値γ(γ<β)未満の場合で、当該文字列が2文字以上の連続するインデックスときには、当該文字列を、前記n−gramインデックスデータベースから削除するとともに、前記統合頻度管理テーブルの当該文字列のインデックスの有無情報を無に変更するので、検索頻度の高いキーワードの検索を高速化しつつ不必要なインデックスを削除して保存データの増大を防止することができるという効果を奏する。
【0094】
この発明の請求項4に係る電子ファイリングシステムの検索インデックス作成方法は、以上説明したとおり、文字列毎に、登録文書中の当該文字列の出現頻度を示す登録文書出現頻度、検索用のインデックス中の文字の出現頻度を示す検索文字頻度、前記登録文書出現頻度及び前記検索文字頻度を用いて算出する統合頻度、当該文字列のインデックスがn−gramインデックスデータベースに現在存在するか否かを記すインデックスの有無情報、及びn−gramインデックスの作成、更新後に文書登録、キーワード検索で前記登録文書出現頻度、前記検索文字頻度が変更されたか否かを示す出現頻度更新情報を格納するとともに、登録文書中の文字数の総和、及び検索文字数の総和を格納する統合頻度管理テーブルと、文字列毎に、文書を識別するための通し番号である文書番号、及び文書の先頭から何文字目に出現したかを表す情報である位置情報を格納するn−gramインデックスデータベースと、登録文書を格納する文書データベースとを備えた電子ファイリングシステムにおいて、コンピュータは、文書番号が付与された登録文書から連続するn(nは整数)文字までの文字列の出現頻度と位置情報を抽出し、前記統合頻度管理テーブルの当該文字列の登録文書出現頻度に前記抽出した出現頻度を加算して更新し、重みをα(0<α<1)、前記更新した登録文書出現頻度を前記統合頻度管理テーブルに格納された登録文書中の文字数の総和で除した、登録文書中の当該文字列の登録文書出現確率をPbi、前記更新した登録文書出現頻度に対応する検索文字頻度を前記統合頻度管理テーブルに格納された検索文字数の総和で除した、検索文字出現確率をPsiとして、統合頻度P=α・Pbi+(1−α)・Psiを計算して前記統合頻度管理テーブルの統合頻度を更新して、前記統合頻度管理テーブルの当該文字列における出現頻度更新情報を有に変更する登録文書出現頻度算出ステップと、前記統合頻度管理テーブルから文字列を選択し、前記統合頻度管理テーブルの当該文字列における出現頻度更新情報が有、かつ前記統合頻度管理テーブルの当該文字列のインデックスの有無情報が有の場合には、前記n−gramインデックスデータベースの当該文字列の対応する行に、当該文書番号と、前記登録文書出現頻度算出ステップによって抽出された当該文字列の位置情報を格納するとともに、前記統合頻度管理テーブルの当該文字列における出現頻度更新情報が有、かつ前記統合頻度管理テーブルの当該文字列のインデックスの有無情報が無の場合で、前記統合頻度管理テーブルの当該文字列の統合頻度がインデックス作成の閾値β以上のときには、n(n>1)文字の当該文字列から最後の1文字を削除した1文字削除文字列が存在する、前記n−gramインデックスデータベースの当該1文字削除文字列の文書番号と位置情報に基づき、前記文書データベース中の当該文書番号の文書の当該位置情報文字目に対してアクセスして、当該1文字削除文字列の次が削除した文字であれば、前記n−gramインデックスデータベースに当該文書番号と当該位置情報を伴った、最後の1文字を削除する前のn(n>1)文字の当該文字列を前記n−gramインデックスデータベースに新規作成して、前記統合頻度管理テーブルの当該文字列のインデックスの有無情報を有に変更するn−gramインデックス作成ステップと、登録文書に対して文書番号を付与するともに、n−gramインデックスを作成した文書を前記文書データベースに登録する文書登録ステップとを実行するので、検索頻度の高いキーワードの検索を高速化しつつ不必要なインデックスを削除して保存データの増大を防止することができるという効果を奏する。
【0095】
この発明の請求項5に係る電子ファイリングシステムの検索インデックス作成方法は、以上説明したとおり、コンピュータが、文書検索時に、検索キーワード中の連続する1文字以上の文字列である複数のインデックスと各々の出現頻度を抽出し、前記統合頻度管理テーブルの該当文字列の検索文字頻度に前記抽出した出現頻度を加算して更新し、重みをα(0<α<1)、前記更新した検索文字頻度に対応する登録文書出現頻度を前記統合頻度管理テーブルに格納された登録文書中の文字数の総和で除した、登録文書中の当該文字列の登録文書出現確率をPbi、前記更新した検索文字頻度を前記統合頻度管理テーブルに格納された検索文字数の総和で除した、検索文字出現確率をPsiとして、統合頻度P=α・Pbi+(1−α)・Psiを計算して前記統合頻度管理テーブルの統合頻度を更新して、前記統合頻度管理テーブルの当該文字列における出現頻度更新情報を有に変更する検索文字頻度算出ステップをさらに実行するので、検索頻度の高いキーワードの検索を高速化しつつ不必要なインデックスを削除して保存データの増大を防止することができるという効果を奏する。
【0096】
この発明の請求項6に係る電子ファイリングシステムの検索インデックス作成方法は、以上説明したとおり、コンピュータが、前記統合頻度管理テーブルから文字列を選択し、前記統合頻度管理テーブルの当該文字列のインデックスの有無情報が有、かつ前記統合頻度管理テーブルの当該文字列の統合頻度がインデックス削除の閾値γ(γ<β)未満の場合で、当該文字列が2文字以上の連続するインデックスときには、当該文字列を、前記n−gramインデックスデータベースから削除するとともに、前記統合頻度管理テーブルの当該文字列のインデックスの有無情報を無に変更する前記n−gramインデックス作成ステップを実行するので、検索頻度の高いキーワードの検索を高速化しつつ不必要なインデックスを削除して保存データの増大を防止することができるという効果を奏する。
【図面の簡単な説明】
【図1】 この発明の実施の形態1に係る電子ファイリングシステムの構成を示す図である。
【図2】 この発明の実施の形態1に係る電子ファイリングシステムの文書登録動作を示すフローチャートである。
【図3】 この発明の実施の形態1に係る電子ファイリングシステムのn−gramインデックス作成手段の動作を示すフローチャートである。
【図4】 この発明の実施の形態1に係る電子ファイリングシステムの登録文書の例を示す図である。
【図5】 この発明の実施の形態1に係る電子ファイリングシステムの登録文書から文字列の出現頻度及び位置情報を抽出した例を示す図である。
【図6】 この発明の実施の形態1に係る電子ファイリングシステムの統合頻度管理テーブルの構成を示す図である。
【図7】 この発明の実施の形態1に係る電子ファイリングシステムのn−gramインデックスデータベースの構成を示す図である。
【図8】 この発明の実施の形態1に係る電子ファイリングシステムの更新されたn−gramインデックスデータベースを示す図である。
【図9】 この発明の実施の形態1に係る電子ファイリングシステムの文書検索動作を示すフローチャートである。
【図10】 この発明の実施の形態1に係る電子ファイリングシステムの統合頻度管理テーブルを示す図である。
【図11】 この発明の実施の形態1に係る電子ファイリングシステムの登録文書の例を示す図である。
【図12】 この発明の実施の形態1に係る電子ファイリングシステムの統合頻度管理テーブルを示す図である。
【図13】 この発明の実施の形態1に係る電子ファイリングシステムのインデックス更新動作を示すフローチャートである。
【図14】 この発明の実施の形態2に係る電子ファイリングシステムのn−gramインデックス作成手段のインデックス削除の動作を示すフローチャートである。
【図15】 この発明の実施の形態2に係る電子ファイリングシステムの統合頻度管理テーブルを示す図である。
【図16】 従来の電子ファイリングシステムの構成を示すブロック図である。
【符号の説明】
1 文書登録手段、2 n−gramインデックス作成手段、3 登録文書出現頻度算出手段、4 検索文字頻度算出手段、5 文書検索手段、6 統合頻度管理テーブル、7 n−gramインデックスデータベース、8 文書データベース。
Claims (6)
- 文字列毎に、登録文書中の当該文字列の出現頻度を示す登録文書出現頻度、検索用のインデックス中の文字の出現頻度を示す検索文字頻度、前記登録文書出現頻度及び前記検索文字頻度を用いて算出する統合頻度、当該文字列のインデックスがn−gramインデックスデータベースに現在存在するか否かを記すインデックスの有無情報、及びn−gramインデックスの作成、更新後に文書登録、キーワード検索で前記登録文書出現頻度、前記検索文字頻度が変更されたか否かを示す出現頻度更新情報を格納するとともに、登録文書中の文字数の総和、及び検索文字数の総和を格納する統合頻度管理テーブルと、
文字列毎に、文書を識別するための通し番号である文書番号、及び文書の先頭から何文字目に出現したかを表す情報である位置情報を格納するn−gramインデックスデータベースと、
登録文書を格納する文書データベースと、
文書番号が付与された登録文書から連続するn(nは整数)文字までの文字列の出現頻度と位置情報を抽出し、
前記統合頻度管理テーブルの当該文字列の登録文書出現頻度に前記抽出した出現頻度を加算して更新し、重みをα(0<α<1)、前記更新した登録文書出現頻度を前記統合頻度管理テーブルに格納された登録文書中の文字数の総和で除した、登録文書中の当該文字列の登録文書出現確率をPbi、前記更新した登録文書出現頻度に対応する検索文字頻度を前記統合頻度管理テーブルに格納された検索文字数の総和で除した、検索文字出現確率をPsiとして、
統合頻度P=α・Pbi+(1−α)・Psi
を計算して前記統合頻度管理テーブルの統合頻度を更新して、前記統合頻度管理テーブルの当該文字列における出現頻度更新情報を有に変更する登録文書出現頻度算出手段と、
前記統合頻度管理テーブルから文字列を選択し、前記統合頻度管理テーブルの当該文字列における出現頻度更新情報が有、かつ前記統合頻度管理テーブルの当該文字列のインデックスの有無情報が有の場合には、前記n−gramインデックスデータベースの当該文字列の対応する行に、当該文書番号と、前記登録文書出現頻度算出手段によって抽出された当該文字列の位置情報を格納するとともに、
前記統合頻度管理テーブルの当該文字列における出現頻度更新情報が有、かつ前記統合頻度管理テーブルの当該文字列のインデックスの有無情報が無の場合で、前記統合頻度管理テーブルの当該文字列の統合頻度がインデックス作成の閾値β以上のときには、n(n>1)文字の当該文字列から最後の1文字を削除した1文字削除文字列が存在する、前記n−gramインデックスデータベースの当該1文字削除文字列の文書番号と位置情報に基づき、前記文書データベース中の当該文書番号の文書の当該位置情報文字目に対してアクセスして、当該1文字削除文字列の次が削除した文字であれば、前記n−gramインデックスデータベースに当該文書番号と当該位置情報を伴った、最後の1文字を削除する前のn(n>1)文字の当該文字列を前記n−gramインデックスデータベースに新規作成して、前記統合頻度管理テーブルの当該文字列のインデックスの有無情報を有に変更するn−gramインデックス作成手段と、
登録文書に対して文書番号を付与するともに、n−gramインデックスを作成した文書を前記文書データベースに登録する文書登録手段と
を備えたことを特徴とする電子ファイリングシステム。 - 文書検索時に、検索キーワード中の連続する1文字以上の文字列である複数のインデックスと各々の出現頻度を抽出し、
前記統合頻度管理テーブルの該当文字列の検索文字頻度に前記抽出した出現頻度を加算して更新し、重みをα(0<α<1)、前記更新した検索文字頻度に対応する登録文書出現頻度を前記統合頻度管理テーブルに格納された登録文書中の文字数の総和で除した、登録文書中の当該文字列の登録文書出現確率をPbi、前記更新した検索文字頻度を前記統合頻度管理テーブルに格納された検索文字数の総和で除した、検索文字出現確率をPs iとして、
統合頻度P=α・Pbi+(1−α)・Psi
を計算して前記統合頻度管理テーブルの統合頻度を更新して、前記統合頻度管理テーブルの当該文字列における出現頻度更新情報を有に変更する検索文字頻度算出手段をさらに備えた
ことを特徴とする請求項1記載の電子ファイリングシステム。 - 前記n−gramインデックス作成手段は、
前記統合頻度管理テーブルから文字列を選択し、前記統合頻度管理テーブルの当該文字列のインデックスの有無情報が有、かつ前記統合頻度管理テーブルの当該文字列の統合頻度がインデックス削除の閾値γ(γ<β)未満の場合で、当該文字列が2文字以上の連続するインデックスときには、当該文字列を、前記n−gramインデックスデータベースから削除するとともに、前記統合頻度管理テーブルの当該文字列のインデックスの有無情報を無に変更する
ことを特徴とする請求項1記載の電子ファイリングシステム。 - 文字列毎に、登録文書中の当該文字列の出現頻度を示す登録文書出現頻度、検索用のインデックス中の文字の出現頻度を示す検索文字頻度、前記登録文書出現頻度及び前記検索文字頻度を用いて算出する統合頻度、当該文字列のインデックスがn−gramインデックスデータベースに現在存在するか否かを記すインデックスの有無情報、及びn−gramインデックスの作成、更新後に文書登録、キーワード検索で前記登録文書出現頻度、前記検索文字頻度が変更されたか否かを示す出現頻度更新情報を格納するとともに、登録文書中の文字数の総和、及び検索文字数の総和を格納する統合頻度管理テーブルと、
文字列毎に、文書を識別するための通し番号である文書番号、及び文書の先頭から何文字目に出現したかを表す情報である位置情報を格納するn−gramインデックスデータベースと、
登録文書を格納する文書データベースとを備えた電子ファイリングシステムにおいて、
コンピュータは、
文書番号が付与された登録文書から連続するn(nは整数)文字までの文字列の出現頻度と位置情報を抽出し、
前記統合頻度管理テーブルの当該文字列の登録文書出現頻度に前記抽出した出現頻度を加算して更新し、重みをα(0<α<1)、前記更新した登録文書出現頻度を前記統合頻度管理テーブルに格納された登録文書中の文字数の総和で除した、登録文書中の当該文字列の登録文書出現確率をPbi、前記更新した登録文書出現頻度に対応する検索文字頻度を前記統合頻度管理テーブルに格納された検索文字数の総和で除した、検索文字出現確率をPsiとして、
統合頻度P=α・Pbi+(1−α)・Psi
を計算して前記統合頻度管理テーブルの統合頻度を更新して、前記統合頻度管理テーブルの当該文字列における出現頻度更新情報を有に変更する登録文書出現頻度算出ステップと、
前記統合頻度管理テーブルから文字列を選択し、前記統合頻度管理テーブルの当該文字列における出現頻度更新情報が有、かつ前記統合頻度管理テーブルの当該文字列のインデックスの有無情報が有の場合には、前記n−gramインデックスデータベースの当該文字列の対応する行に、当該文書番号と、前記登録文書出現頻度算出ステップによって抽出された当該文字列の位置情報を格納するとともに、
前記統合頻度管理テーブルの当該文字列における出現頻度更新情報が有、かつ前記統合頻度管理テーブルの当該文字列のインデックスの有無情報が無の場合で、前記統合頻度管理テーブルの当該文字列の統合頻度がインデックス作成の閾値β以上のときには、n(n>1)文字の当該文字列から最後の1文字を削除した1文字削除文字列が存在する、前記n−gramインデックスデータベースの当該1文字削除文字列の文書番号と位置情報に基づき、前記文書データベース中の当該文書番号の文書の当該位置情報文字目に対して アクセスして、当該1文字削除文字列の次が削除した文字であれば、前記n−gramインデックスデータベースに当該文書番号と当該位置情報を伴った、最後の1文字を削除する前のn(n>1)文字の当該文字列を前記n−gramインデックスデータベースに新規作成して、前記統合頻度管理テーブルの当該文字列のインデックスの有無情報を有に変更するn−gramインデックス作成ステップと、
登録文書に対して文書番号を付与するともに、n−gramインデックスを作成した文書を前記文書データベースに登録する文書登録ステップと
を実行することを特徴とする電子ファイリングシステムの検索インデックス作成方法。 - コンピュータは、
文書検索時に、検索キーワード中の連続する1文字以上の文字列である複数のインデックスと各々の出現頻度を抽出し、
前記統合頻度管理テーブルの該当文字列の検索文字頻度に前記抽出した出現頻度を加算して更新し、重みをα(0<α<1)、前記更新した検索文字頻度に対応する登録文書出現頻度を前記統合頻度管理テーブルに格納された登録文書中の文字数の総和で除した、登録文書中の当該文字列の登録文書出現確率をPbi、前記更新した検索文字頻度を前記統合頻度管理テーブルに格納された検索文字数の総和で除した、検索文字出現確率をPsiとして、
統合頻度P=α・Pbi+(1−α)・Psi
を計算して前記統合頻度管理テーブルの統合頻度を更新して、前記統合頻度管理テーブルの当該文字列における出現頻度更新情報を有に変更する検索文字頻度算出ステップをさらに実行する
ことを特徴とする請求項4記載の電子ファイリングシステムの検索インデックス作成方法。 - コンピュータは、
前記統合頻度管理テーブルから文字列を選択し、前記統合頻度管理テーブルの当該文字列のインデックスの有無情報が有、かつ前記統合頻度管理テーブルの当該文字列の統合頻度がインデックス削除の閾値γ(γ<β)未満の場合で、当該文字列が2文字以上の連続するインデックスときには、当該文字列を、前記n−gramインデックスデータベースから削除するとともに、前記統合頻度管理テーブルの当該文字列のインデックスの有無情報を無に変更する前記n−gramインデックス作成ステップを実行する
ことを特徴とする請求項4記載の電子ファイリングシステムの検索インデックス作成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002003908A JP4108337B2 (ja) | 2002-01-10 | 2002-01-10 | 電子ファイリングシステム及びその検索インデックス作成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002003908A JP4108337B2 (ja) | 2002-01-10 | 2002-01-10 | 電子ファイリングシステム及びその検索インデックス作成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003208433A JP2003208433A (ja) | 2003-07-25 |
JP4108337B2 true JP4108337B2 (ja) | 2008-06-25 |
Family
ID=27643376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002003908A Expired - Fee Related JP4108337B2 (ja) | 2002-01-10 | 2002-01-10 | 電子ファイリングシステム及びその検索インデックス作成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4108337B2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050165750A1 (en) * | 2004-01-20 | 2005-07-28 | Microsoft Corporation | Infrequent word index for document indexes |
JP4574186B2 (ja) * | 2004-02-17 | 2010-11-04 | 株式会社リコー | 重要言語識別方法、重要言語識別プログラム、重要言語識別装置、文書検索装置およびキーワード抽出装置 |
US7711679B2 (en) | 2004-07-26 | 2010-05-04 | Google Inc. | Phrase-based detection of duplicate documents in an information retrieval system |
US7567959B2 (en) | 2004-07-26 | 2009-07-28 | Google Inc. | Multiple index based information retrieval system |
US7702618B1 (en) | 2004-07-26 | 2010-04-20 | Google Inc. | Information retrieval system for archiving multiple document versions |
US8117223B2 (en) | 2007-09-07 | 2012-02-14 | Google Inc. | Integrating external related phrase information into a phrase-based indexing information retrieval system |
JP5145202B2 (ja) * | 2008-12-04 | 2013-02-13 | 日本電信電話株式会社 | 文書検索装置および文書検索プログラム |
CN101963965B (zh) * | 2009-07-23 | 2013-03-20 | 阿里巴巴集团控股有限公司 | 基于搜索引擎的文档索引方法、数据查询方法及服务器 |
WO2012120560A1 (ja) * | 2011-03-07 | 2012-09-13 | 株式会社日立製作所 | 検索装置及び検索方法 |
-
2002
- 2002-01-10 JP JP2002003908A patent/JP4108337B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003208433A (ja) | 2003-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5255766B2 (ja) | 対話形サーチクエリー改良のためのシステム及び方法 | |
US9195738B2 (en) | Tokenization platform | |
US8745065B2 (en) | Query parsing for map search | |
US6470347B1 (en) | Method, system, program, and data structure for a dense array storing character strings | |
US6671856B1 (en) | Method, system, and program for determining boundaries in a string using a dictionary | |
US8620900B2 (en) | Method for using dual indices to support query expansion, relevance/non-relevance models, blind/relevance feedback and an intelligent search interface | |
KR100414236B1 (ko) | 데이터의 검색을 위한 서치 시스템 및 방법 | |
US7516125B2 (en) | Processor for fast contextual searching | |
CN1728142B (zh) | 信息检索系统中的短语识别方法和设备 | |
JP4881322B2 (ja) | 多重索引に基づく情報検索システム | |
US10389378B2 (en) | Computer product, information processing apparatus, and information search apparatus | |
US7739220B2 (en) | Context snippet generation for book search system | |
WO2009063925A1 (ja) | 文書管理・検索システムおよび文書の管理・検索方法 | |
CN111753534B (zh) | 标识文档中的序列标题 | |
JP4108337B2 (ja) | 電子ファイリングシステム及びその検索インデックス作成方法 | |
JP4237813B2 (ja) | 構造化文書管理システム | |
JP4314204B2 (ja) | 文書管理方法、システム及びプログラム | |
JP2001109754A (ja) | 索引ファイルを使用した検索方法及びそれに用いる装置 | |
CN118114660A (zh) | 文本检测方法、系统及计算机可读存储介质 | |
US8682913B1 (en) | Corroborating facts extracted from multiple sources | |
JP3081093B2 (ja) | 索引作成方法およびその装置と文書検索装置 | |
JP4091586B2 (ja) | 構造化文書管理システム、索引構築方法及びプログラム | |
JP2000339342A (ja) | 文書検索方法および文書検索装置 | |
JPH09212523A (ja) | 全文検索方法 | |
CN113111655B (zh) | 分离词典的构建方法、基于分离词典的分词方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041227 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071225 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080204 |
|
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: 20080311 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080402 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110411 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120411 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120411 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130411 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130411 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140411 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |