JP5159277B2 - N文字索引生成装置、文書検索装置、n文字索引生成方法、文書検索方法、n文字索引生成プログラムおよび文書検索プログラム - Google Patents

N文字索引生成装置、文書検索装置、n文字索引生成方法、文書検索方法、n文字索引生成プログラムおよび文書検索プログラム Download PDF

Info

Publication number
JP5159277B2
JP5159277B2 JP2007311312A JP2007311312A JP5159277B2 JP 5159277 B2 JP5159277 B2 JP 5159277B2 JP 2007311312 A JP2007311312 A JP 2007311312A JP 2007311312 A JP2007311312 A JP 2007311312A JP 5159277 B2 JP5159277 B2 JP 5159277B2
Authority
JP
Japan
Prior art keywords
index
character
unit
character index
generation
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.)
Active
Application number
JP2007311312A
Other languages
English (en)
Other versions
JP2009134627A (ja
Inventor
丈志 竹内
光則 郡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2007311312A priority Critical patent/JP5159277B2/ja
Publication of JP2009134627A publication Critical patent/JP2009134627A/ja
Application granted granted Critical
Publication of JP5159277B2 publication Critical patent/JP5159277B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、例えば、N−gramを索引単位として文書データのN文字索引を生成し、検索キーワードとして指定された文字列をN文字索引を使って文書データ中から検索するN文字索引生成装置、文書検索装置、N文字索引生成方法、文書検索方法、N文字索引生成プログラムおよび文書検索プログラムに関するものである。
文書データを対象として検索キーワードに指定された文字列を検索する場合、検索の高速化を図るために、文書データの登録時に索引(インデックス)を作成する方法が知られている。例えば、連続するN文字の組み合わせ(N−gramという)に対して作成する索引があり、これをN文字索引あるいはN−gram索引と呼ぶ。なお、Nは1以上の整数であり、1−gramをユニグラム、2−gramをバイグラム、3−gramをトリグラムと呼ぶ。
N文字索引を用いた文書検索法としては、非特許文献1に開示された方法が知られている。また、特許文献1に開示された方法により、大規模な量の文書を検索する場合に、N文字索引を効率的に読み出し、検索速度の低下を防止することが可能となった。
特許第3857092号公報 小川 泰嗣、松田 透、「n−gram索引を用いた効率的な文書検索法」、電子情報通信学会、電子情報通信学会論文誌 D−I Vol.J82−D−I No1、pp.121−129、1999年1月
従来の技術に示されるような文書検索法、文書検索装置および文書検索プログラムにより、大規模な量の文書を検索する場合にも検索速度を向上させることが可能になった。
その一方で、登録される文書の量が大きくなると、その中に含まれるN−gramの量も大きくなるため、ディスク装置に格納されるN文字索引のサイズが大きくなり、ストレージコストを圧迫するという課題があった。
本発明は、例えば、上記のような課題を解決するためになされたものであり、大規模な量の文書を登録する場合でも、ディスク装置に格納するN文字索引のサイズを縮小し、ストレージコストの圧迫を抑制できるようにすることを目的とする。
また例えば、本発明は、N文字索引を読み出す際の入力単位を最適に保つように文書の登録を行っている文書登録装置において、段階的にN文字索引の一部を削除することで、N文字索引を読み出す際の入力単位の状態に起因する検索速度の差を抑制することを目的とする。
本発明のN文字索引生成装置は、1文字索引からN(Nは1以上の整数)文字索引までの各文字数の索引毎に生成要否が設定されたN文字索引生成定義情報テーブルを記憶機器を用いて記憶する索引生成定義記憶部と、索引生成対象の文書に対して、1文字索引からN文字索引までの各文字数の索引のうち、前記索引生成定義記憶部に記憶された前記N文字索引生成定義情報テーブルに生成要と設定されている文字数の索引をCPU(Central Processing Unit)を用いて生成し、生成した索引を記憶機器を用いて記憶するN文字索引生成部とを備えたことを特徴とする。
本発明によれば、例えば、N文字索引生成定義情報テーブルに基づいて特定の文字数の索引のみ生成することにより、大規模な量の文書を登録する場合でも、ディスク装置に格納するN文字索引のサイズを縮小し、ストレージコストの圧迫を抑制することができる。
実施の形態1.
図1は、実施の形態1における文書管理システム100の機能構成図である。
実施の形態1における文書管理システム100の機能構成について、図1に基づいて以下に説明する。
文書管理システム100(N文字索引生成装置、文書登録装置、文書検索装置)は文書登録部110および文書検索部140を備え、文書登録部110は文書入力部111、N文字索引生成変更部120、索引容量記録部130、ディスク空き容量取得部131、登録対象文書記憶部180およびN文字索引記憶部190を備える。
文書登録部110は登録対象文書101(索引生成対象の文書)に対してN文字索引情報191を生成し、登録対象文書101とN文字索引情報191とを文書管理システム100に登録する。
文書入力部111は入力機器から登録対象文書101(電子データ)を入力し、入力した登録対象文書101を登録文書181(電子データ)として登録対象文書記憶部180に記憶する。
N文字索引生成変更部120は、N文字索引生成部121、N文字索引削除部122およびN文字索引変更部123を備え、N文字索引生成定義情報テーブル192に基づいてN文字索引情報191を生成し、N文字索引生成定義情報テーブル192を変更し、変更したN文字索引生成定義情報テーブル192に基づいてN文字索引情報191から特定文字数の索引を削除する。
索引容量記録部130(索引容量推定部)はN文字索引生成変更部120(N文字索引生成部121)が新たに生成する各文字数の索引のデータサイズを当該登録文書181に基づいてCPUを用いて推定し、推定したデータサイズを加算して後述する索引容量管理テーブル193を更新する。
ディスク空き容量取得部131は、N文字索引情報191が記憶されるN文字索引記憶部190の管理情報を参照し、N文字索引記憶部190の空き容量(空きデータサイズ)情報を取得する。
登録対象文書記憶部180は登録文書181を記憶する記憶機器である。
N文字索引記憶部190はN文字索引情報191、N文字索引生成定義情報テーブル192および索引容量管理テーブル193を記憶する記憶機器である。
N文字索引情報191は1文字索引からN文字索引までの各文字数の索引データ(1文字索引109a、2文字索引109b、・・・、N文字索引、以下、任意の文字数の索引を小文字でn文字索引109とする)の集合であり、全登録文書181の各n文字索引109が含まれる。
図2は、実施の形態1におけるN文字索引生成定義情報テーブル192の一例を示す図である。
図2に示すように、N文字索引生成定義情報テーブル192には各n文字索引109毎に生成要否(対象[生成要]or非対象[生成不要])が設定されている。なお、N文字索引生成定義情報テーブル192の設定は全登録文書181に適用される。N文字索引生成定義情報テーブル192は予めシステム管理者により設定され、N文字索引変更部123により更新される。
図3は、実施の形態1における索引容量管理テーブル193の一例を示す図である。
図3に示すように、索引容量管理テーブル193には、各n文字索引109毎に、各登録文書181の当該n文字索引109を合計したデータサイズ(以下、累積サイズとする)が設定されている。索引容量管理テーブル193は索引容量記録部130により更新される。
N文字索引生成部121は、登録文書181に対して、各n文字索引109のうち、N文字索引生成定義情報テーブル192に「対象(生成要)」と設定されているn文字索引109をCPUを用いて生成し、生成したn文字索引109をN文字索引記憶部190に記憶する。
N文字索引変更部123は、索引容量記録部130が推定した新たな登録文書181の各n文字索引109のデータサイズとディスク空き容量取得部131が参照したN文字索引記憶部190の空き容量とに基づいて、N文字索引生成定義情報テーブル192に設定されている各n文字索引109の生成要否をCPUを用いて変更設定する。
例えば、N文字索引変更部123は、新たな登録文書181の各n文字索引109のデータサイズの合計よりN文字索引記憶部190の空き容量の方が少ない場合、1文字索引を他のn文字索引109より優先して生成要とする。
また例えば、N文字索引変更部123は、新たな登録文書181の各n文字索引109のデータサイズの合計よりN文字索引記憶部190の空き容量の方が少ない場合、データサイズの大きい順とデータサイズの小さい順とのいずれかの順に、N文字索引記憶部190の空き容量に記憶できる分だけ、各n文字索引109を生成要とする。
また例えば、N文字索引変更部123は、新たな登録文書181の各n文字索引109のデータサイズの合計よりN文字索引記憶部190の空き容量の方が少ない場合、n文字索引109の「n(文字数)」の多い順とn文字索引109の「n」の少ない順とのいずれかの順に、N文字索引記憶部190の空き容量に記憶できる分だけ、各n文字索引109を生成要とする。
N文字索引削除部122は、N文字索引変更部123がx(特定数)文字索引を生成不要とした場合、生成済みのN文字索引情報191から各登録文書181のx文字索引を削除する。
文書検索部140は、入力機器から検索キーワード102を入力し、入力した検索キーワード102が含まれている登録文書181をN文字索引情報191に基づいてCPUを用いて特定し、特定したN文字索引情報191を示す検索結果103を出力機器に出力する。
図4は、実施の形態1における文書管理システム100の外観の一例を示す図である。
図4において、文書管理システム100は、システムユニット910、CRT(Cathode・Ray・Tube)やLCD(液晶)の表示画面を有する表示装置901、キーボード902(Key・Board:K/B)、マウス903、FDD904(Flexible・Disk・Drive)、CDD905(コンパクトディスク装置)、プリンタ装置906、スキャナ装置907などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
システムユニット910は、コンピュータであり、ファクシミリ機932、電話器931とケーブルで接続され、また、LAN942(ローカルエリアネットワーク)、ゲートウェイ941を介してインターネット940に接続されている。
図5は、実施の形態1における文書管理システム100のハードウェア資源の一例を示す図である。
図5において、文書管理システム100は、プログラムを実行するCPU911(Central・Processing・Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、通信ボード915、表示装置901、キーボード902、マウス903、FDD904、CDD905、プリンタ装置906、スキャナ装置907、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶機器、記憶装置あるいは記憶部の一例である。また、入力データが記憶されている記憶機器は入力機器、入力装置あるいは入力部の一例であり、出力データが記憶される記憶機器は出力機器、出力装置あるいは出力部の一例である。
通信ボード915、キーボード902、スキャナ装置907、FDD904などは、入力機器、入力装置あるいは入力部の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力機器、出力装置あるいは出力部の一例である。
通信ボード915は、ファクシミリ機932、電話器931、LAN942等に接続されている。通信ボード915は、LAN942に限らず、インターネット940、ISDN等のWAN(ワイドエリアネットワーク)などに接続されていても構わない。インターネット940或いはISDN等のWANに接続されている場合、ゲートウェイ941は不用となる。
磁気ディスク装置920には、OS921(オペレーティングシステム)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、OS921、ウィンドウシステム922により実行される。
上記プログラム群923には、実施の形態において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、実施の形態において、「〜部」の機能を実行した際の「〜の判定結果」、「〜の計算結果」、「〜の処理結果」などの結果データ、「〜部」の機能を実行するプログラム間で受け渡しするデータ、その他の情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。登録文書181(登録対象文書101)、N文字索引情報191(n文字索引109)、N文字索引生成定義情報テーブル192、索引容量管理テーブル193、検索キーワード102、検索結果103などはファイル群924に含まれるものの一例である。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、実施の形態において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disc)等の記録媒体に記録される。また、データや信号値は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
また、実施の形態において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、「〜部」としてコンピュータを機能させるものである。あるいは、「〜部」の手順や方法をコンピュータに実行させるものである。
図6は、実施の形態1における文書管理システム100の文書登録処理を示すフローチャートである。
文書登録部110が登録文書181とN文字索引情報191とを文書管理システム100に登録(記憶)する文書登録処理について、図6に基づいて以下に説明する。
文書登録部110の各部は、以下に説明する各処理をCPUを用いて実行する。
なお、図6に示す文書登録処理(S110〜S160)は登録対象文書101毎に実行される。
<S110:文書入力処理>
まず、文書入力部111は登録対象文書101を入力し、入力した登録対象文書101を登録文書181として登録対象文書記憶部180に記憶する。
<S120:索引容量推定処理>
次に、索引容量記録部130はS110で新たに記憶された登録文書181について生成対象である各n文字索引109のデータサイズを推定し、推定したデータサイズに基づいて索引容量管理テーブル193を更新する。
このとき、索引容量記録部130はN文字索引生成定義情報テーブル192を参照して生成対象であるn文字索引109を特定し、生成対象であると特定した各n文字索引109についてデータサイズを推定する。
例えば、N文字索引生成定義情報テーブル192が図2の設定値(1文字索引:「対象」、2文字索引:「非対象」、3文字索引:「対象」、4文字索引:「対象」)を示す場合、索引容量記録部130は新たな登録文書181の1文字索引と3文字索引と4文字索引とについてデータサイズを推定する。索引容量記録部130は新たな登録文書181の2文字索引についてデータサイズを推定しなくても構わない。
n文字索引109のデータサイズは、登録文書181のデータサイズ(文字数)と「n」の大きさとに依存する。索引容量記録部130は、n文字索引109のデータサイズを算出する所定の式に、登録文書181のデータサイズと「n」とを代入して各n文字索引109のデータサイズの推定値を算出する。
そして、索引容量記録部130は算出した推定値を加算して索引容量管理テーブル193の設定値を更新する。例えば、索引容量管理テーブル193が図3の設定値(1文字索引:「100GB(ギガバイト)」、3文字索引:「280GB」、4文字索引:「350GB」)を示し、新たな登録文書181に対する1文字索引の推定サイズ(データサイズの推定値)が「1MB(メガバイト)」、3文字索引の推定サイズが「2MB」、4文字索引の推定サイズが「3MB」だった場合、索引容量記録部130は索引容量管理テーブル193に対して1文字索引のデータサイズとして「100001MB(=100GB+1MB、ここで、1GB=1000MBとする)」を設定する。また、索引容量記録部130は、3文字索引のデータサイズとして「280002MB(=280GB+2MB)」を設定し、4文字索引のデータサイズとして「350003MB(=350GB+3MB)」を設定する。
<S130:空き容量取得処理>
次に、ディスク空き容量取得部131は、N文字索引情報191が記憶されるN文字索引記憶部190の管理情報を参照し、N文字索引記憶部190の空き容量情報を取得する。N文字索引記憶部190の空き容量には、N文字索引情報191を作成するときなどに必要な作業域は含まない。
<S140:索引生成定義設定処理>
次に、N文字索引変更部123は各n文字索引109の推定サイズの合計値とN文字索引記憶部190の空き容量とを比較し(S141)、各n文字索引109の推定サイズの合計値がN文字索引記憶部190の空き容量より大きい場合、新たに生成非対象とするn文字索引109を選択する(S142)と共に、選択結果に基づいてN文字索引生成定義情報テーブル192と索引容量管理テーブル193とを更新する(S143)。
以下に、S141〜S143の詳細について説明する。
まず、S141の詳細について説明する。
N文字索引変更部123は、S120で推定された新たな登録文書181に対する各n文字索引109の推定サイズを合計し、新たな登録文書181に対する各n文字索引109の推定サイズの合計値とS130で得られたN文字索引記憶部190の空き容量とを大小比較する。
次に、S142の詳細について説明する。
S141で新たな登録文書181に対する各n文字索引109の推定サイズの合計値がN文字索引記憶部190の空き容量より大きいと判定した場合、N文字索引変更部123は、新たな登録文書181について、現在のN文字索引生成定義情報テーブル192が生成対象としている各n文字索引109の一部は、容量不足のため記憶することができないと判断する。
そこで、N文字索引変更部123は、所定の選択規則(選択アルゴリズム、選択手順、選択方法、選択プログラム)に基づいて、現在のN文字索引生成定義情報テーブル192において生成対象(生成要)になっている各n文字索引109の中から、生成非対象(生成不要)に変更するn文字索引109を選択する。このとき、N文字索引変更部123は、変更後のN文字索引生成定義情報テーブル192において生成対象となる各n文字索引109がN文字索引記憶部190に記憶できるように、生成非対象に変更するn文字索引109を1つ以上選択する。つまり、N文字索引変更部123は、1つのn文字索引109を生成非対象に変更しても、生成対象である残りのn文字索引109をN文字索引記憶部190に記憶できない場合、生成非対象に変更するn文字索引109を2つ選択する。
例えば、所定の選択規則は、1文字索引以外のn文字索引109を生成非対象に選択することを示す。つまり、所定の選択規則は、1文字索引を他のn文字索引109より優先して生成対象にすることを示す。1文字索引を生成対象にすることで、任意の検索キーワード102(任意の文字数の検索キーワード102)に対する検索を行うことが可能になる。
また例えば、所定の選択規則は、索引容量管理テーブル193が示す累積サイズ(または、S120で算出された推定サイズ)の小さい順に生成非対象にするn文字索引109を選択することを示す。つまり、所定の選択規則は、索引容量管理テーブル193が示す累積サイズ(または、S120で算出された推定サイズ)の大きい順に、N文字索引記憶部190に記憶できる分だけ、各n文字索引109を生成対象にすることを示す。索引容量管理テーブル193が図3の累積サイズを示す場合(但し、n=1〜4とする)、N文字索引変更部123は、生成対象の中で累積サイズが一番小さい1文字索引、または、1文字索引を除いた中で累積サイズが一番小さい3文字索引を新たに生成非対象とするn文字索引109に選択する。
また例えば、所定の選択規則は、索引容量管理テーブル193が示す累積サイズ(または、S120で算出された推定サイズ)の大きい順に生成非対象にするn文字索引109を選択することを示す。つまり、所定の選択規則は、索引容量管理テーブル193が示す累積サイズ(または、S120で算出された推定サイズ)の小さい順に、N文字索引記憶部190に記憶できる分だけ、各n文字索引109を生成対象にすることを示す。索引容量管理テーブル193が図3の累積サイズを示す場合(但し、n=1〜4とする)、N文字索引変更部123は、累積サイズが一番大きい4文字索引を新たに生成非対象とするn文字索引109に選択する。
また例えば、所定の選択規則は、「n」の小さい順に生成非対象にするn文字索引109を選択することを示す。つまり、所定の選択規則は、「n」の大きい順に、N文字索引記憶部190に記憶できる分だけ、各n文字索引109を生成対象にすることを示す。N文字索引生成定義情報テーブル192が図2の設定値を示す場合(但し、n=1〜4とする)、N文字索引変更部123は、生成対象の中で「n」が一番小さい1文字索引、または、1文字索引および既に「生成非対象」である2文字索引を除いた中で「n」が一番小さい3文字索引を新たに生成非対象とするn文字索引109として選択する。「n」が大きいn文字索引109を生成対象にすることで、n文字索引109が示す各N−gram(登録文書181から抽出したn文字)を多く組み合わせたり、検索キーワード102を細かく分割したりしなくても、長い文字数の検索キーワード102に対する検索が行える。そして、長い文字数の検索キーワード102に対する検索時間を短くすることが可能になる。
また例えば、所定の選択規則は、「n」の大きい順に生成非対象にするn文字索引109を選択することを示す。つまり、所定の選択規則は、「n」の小さい順に、N文字索引記憶部190に記憶できる分だけ、各n文字索引109を生成対象にすることを示す。N文字索引生成定義情報テーブル192が図2の設定値を示す場合(但し、n=1〜4とする)、N文字索引変更部123は、「n」が一番大きい4文字索引を新たに生成非対象とするn文字索引109として選択する。「n」が小さいn文字索引109を生成対象にすることで、n文字索引109が示す各N−gramを組み合わせることにより、3文字以下の短い文字数の検索キーワード102に対する検索が可能になる。
なお、一般的に、n文字索引109は「n」が大きいほどデータサイズが大きいため、「S120で算出された推定サイズの小さい順」と「索引容量管理テーブル193が示す累積サイズの小さい順」と「nの小さい順」とは同じ意味合いとなり、「推定サイズの大きい順」と「累積サイズの大きい順」と「nの大きい順」とは同じ意味合いとなる。
次に、S143の詳細について説明する。
N文字索引変更部123は、S142で選択したn文字索引109について、N文字索引生成定義情報テーブル192の設定値を「対象」から「非対象」に変更する。例えば、S142で4文字索引を選択した場合、N文字索引変更部123は、図2に示すN文字索引生成定義情報テーブル192に対して、4文字索引の設定値「対象」を「非対象」に更新する。
また、N文字索引変更部123は、S142で選択したn文字索引109について、索引容量管理テーブル193が示す累積サイズをクリアする。例えば、S142で4文字索引を選択した場合、N文字索引変更部123は、図3に示す索引容量管理テーブル193に対して、4文字索引の設定値「350GB」を「0GB」に更新する。
実施の形態1では、新たに生成非対象に選択されたn文字索引109は、後述するN文字索引削除処理(S150)において、全登録文書181について削除される。
つまり、新たな登録文書181に対する各n文字索引109(生成対象に限る)の推定サイズの合計値が、N文字索引記憶部190の空き容量と生成非対象に変更するn文字索引109の累積サイズとの合計値以下であれば、新たな登録文書181に対する各n文字索引109をN文字索引記憶部190に記憶することができる。
また、全登録文書181について生成するn文字索引109を一致させることで、各登録文書181間でn文字索引109の整合性が図られ、N文字索引情報191の管理を容易にすることができる。
<S150:N文字索引削除処理>
S143においてN文字索引生成定義情報テーブル192と索引容量管理テーブル193とが更新された後、N文字索引削除部122は、N文字索引記憶部190に記憶されているN文字索引情報191から、S142において新たに生成非対象に選択されたn文字索引109を削除する。つまり、N文字索引削除部122は、新たに生成非対象に選択されたn文字索引109を全ての登録文書181についてN文字索引記憶部190から削除する。例えば、N文字索引情報191として登録文書Aの1文字索引、3文字索引および4文字索引と登録文書Bの1文字索引、3文字索引および4文字索引とが記憶されており、S142において4文字索引が新たに生成非対象に選択された場合、N文字索引削除部122は登録文書Aの4文字索引と登録文書Bの4文字索引とをN文字索引情報191から削除する。このとき、N文字索引情報191は登録文書Aの1文字索引および3文字索引と登録文書Bの1文字索引および3文字索引となる。
<S160:N文字索引生成処理>
S141で新たな登録文書181に対する各n文字索引109の推定サイズの合計値がN文字索引記憶部190の空き容量以下と判定された場合、または、S150で生成非対象のn文字索引109が削除された後、N文字索引生成部121は、N文字索引生成定義情報テーブル192に基づいて、新たな登録文書181について生成対象の各n文字索引109を所定の生成規則(生成アルゴリズム、生成手順、生成方法、生成プログラム)に従って生成する。生成した各n文字索引109はN文字索引記憶部190に記憶される。N文字索引生成定義情報テーブル192が図2の設定値を示す場合、N文字索引生成部121は1文字索引、2文字索引、4文字索引を生成する。なお、所定の生成規則には従来技術を用いて構わない。
このとき、N文字索引生成部121はN文字索引生成定義情報テーブル192を参照して生成対象であるn文字索引109を特定し、新たな登録文書181を先頭文字から最終文字まで順に1文字ずつ選択しながら、選択した文字から始まるN−gram(n文字索引109が生成対象であるn文字)を抽出し、抽出した各N−gramの情報(登録文書181中の出現位置など)をn文字索引109としてN文字索引情報191に追加する。
図7は、実施の形態1における1文字索引109aのデータ構造の一例を示す図である。
図8は、実施の形態1におけるN文字索引生成処理(S160)を示すフローチャートの一例である。
N文字索引生成処理(S160)におけるn文字索引109の生成方法の一例について、図7および図8に基づいて以下に説明する。
まず、n文字索引109のデータ構造の一例として図7に基づいて1文字索引109aを説明する。
1文字索引109aは管理情報210aと位置情報220aとを有する。
管理情報210aは、所定数の登録文書181毎に、位置情報ブロック格納位置211(位置情報ブロック格納位置211a、位置情報ブロック格納位置211b、・・・、位置情報ブロック格納位置211c)を情報として有する。
各位置情報ブロック格納位置211は、1つのブロック内文書数212と、各N−gram毎のN−gramブロック内格納位置213とを情報として有する。ブロック内文書数212は当該位置情報ブロック格納位置211で管理されている登録文書181の数を示す。位置情報ブロック格納位置211aはN−gram「a」についてのN−gramブロック内格納位置213aとN−gram「b」についてのN−gramブロック内格納位置213bとを有している。
位置情報220aは、管理情報210aの各位置情報ブロック格納位置211と1対1で対応する各位置情報ブロック221を有する。位置情報ブロック格納位置211aと位置情報ブロック221aとが対応し、位置情報ブロック格納位置211bと位置情報ブロック221bとが対応し、位置情報ブロック格納位置211cと位置情報ブロック221cとが対応している。
位置情報ブロック221aは、位置情報ブロック格納位置211aの各N−gramブロック内格納位置213と1対1で対応する各N−gram情報222を有する。N−gramブロック内格納位置213aとN−gram情報222aとが対応し、N−gramブロック内格納位置213bとN−gram情報222bとが対応している。
N−gram情報222aは、登録文書181毎に、N−gramブロック内格納位置213aが示すN−gram「a」の出現回数224および各出現位置225を示す。
N−gram情報222aの文書番号223aおよび文書番号223bは、登録文書181を識別する情報であり、異なる登録文書181を示している。
N−gram情報222aの各出現回数224は、N−gramブロック内格納位置213aが示すN−gram「a」の当該登録文書181中の出現回数を示す。出現回数224aは文書番号223aで識別される登録文書181における「a」の出現回数を示し、出現回数224bは文書番号223bで識別される登録文書181における「a」の出現回数を示す。
N−gram情報222aの各出現位置225はN−gramブロック内格納位置213aが示すN−gram「a」の当該登録文書181中の出現位置を示す。例えば、出現位置225は登録文書181の先頭文字から数えた文字数で表される。出現位置225aは文書番号223aで識別される登録文書181における「a」の1回目の出現位置を示し、出現位置225bは文書番号223aで識別される登録文書181における「a」の2回目の出現位置を示し、出現位置225cは文書番号223bで識別される登録文書181における「a」の1回目の出現位置を示す。
管理情報210aの各N−gramブロック内格納位置213はN−gramを示すと共に、対応する位置情報220aのN−gram情報222の記憶領域のアドレスを示す。N−gramブロック内格納位置213aはN−gram「a」とN−gram情報222aの先頭アドレスとを示し、N−gramブロック内格納位置213bはN−gram「b」とN−gram情報222bの先頭アドレスとを示す。
2文字索引109b、3文字索引109c、4文字索引109dおよびN文字索引109eといった各n文字索引109は1文字索引109aと同様なデータ構造を有する。
次に、N文字索引生成処理(S160)におけるn文字索引109の生成方法の一例を図8に基づいて説明する。図8は、図7に示したデータ構造を有するn文字索引109を生成する方法の一例である。
図8の各処理(S210〜S280)は生成対象であるn文字索引109毎に実行される。例えば、N文字索引生成定義情報テーブル192が図2の設定値を示す場合(但し、n=1〜4とする)、図8の各処理(S210〜S280)は1文字索引109aの生成時、3文字索引109cの生成時および4文字索引109dの生成時の3回実行される。
まず、N文字索引生成部121は管理情報210の最後の位置情報ブロック格納位置211からブロック内文書数212を取得する(S210)。
次に、N文字索引生成部121はブロック内文書数212と所定の閾値とを大小比較する。所定の閾値とは1つの位置情報ブロック格納位置211で管理する登録文書181の数である。ここで、所定の閾値は登録文書181のデータサイズ、n文字索引109の読み込みに使用するバッファのサイズに応じて任意に定めることができる(S220)。
S220においてブロック内文書数212が所定の閾値より大きかった場合、N文字索引生成部121は管理情報210に位置情報ブロック格納位置211を追加し、追加した位置情報ブロック格納位置211のブロック内文書数212に「1」を設定し、位置情報220に位置情報ブロック221を追加する。追加した位置情報ブロック格納位置211と位置情報ブロック221とは、位置情報ブロック格納位置211が位置情報ブロック221の記憶領域のアドレスを示すことにより、対応付けられている(S230)。
S220においてブロック内文書数212が所定の閾値以下であった場合、または、S230の後、N文字索引生成部121は文書内ポインタ(変数)に新たな登録文書181の先頭を設定する。例えば、N文字索引生成部121は文書内ポインタに登録文書181の先頭として「1(文字目)」を設定する(S240)。
次に、N文字索引生成部121はN文字索引生成定義情報テーブル192に基づいて文書内ポインタが示すN−gram(n文字索引109が生成対象であるn文字)を抽出する。例えば、文書内ポインタが「1」を示し、N文字索引生成定義情報テーブル192が図2の設定値を示す場合(但し、n=1〜4とする)、N文字索引生成部121は、1−gramとして登録文書181の先頭文字(1文字目)、3−gramとして登録文書181の先頭文字から始まる3文字および4−gramとして登録文書181の先頭文字から始まる4文字を抽出する(S250)。
次に、N文字索引生成部121は、S250で抽出した各N−gramの情報をn文字索引109に書き出す。例えば、抽出したN−gramについてのN−gramブロック内格納位置213が最後の位置情報ブロック格納位置211に存在しない場合、N文字索引生成部121は抽出したN−gramのN−gramブロック内格納位置213を最後の位置情報ブロック格納位置211に追加し、追加したN−gramブロック内格納位置213に対応させてN−gram情報222を追加する。そして、N文字索引生成部121は、追加したN−gram情報222に対して、新たな登録文書181の文書番号223を設定し、出現回数224として「1」を設定し、出現位置225を追加し、追加した出現位置225に文書内ポインタの値を設定する。また例えば、抽出したN−gramのN−gramブロック内格納位置213が最後の位置情報ブロック格納位置211に存在する場合、N文字索引生成部121は抽出したN−gramのN−gramブロック内格納位置213に対応するN−gram情報222に対して、出現回数224に1加算し、出現位置225を追加し、追加した出現位置225に文書内ポインタの値を設定する(S260)。
次に、N文字索引生成部121は文書内ポインタが新たな登録文書181の末尾(最終文字)を示すか判定する(S270)。
S270において文書内ポインタが新たな登録文書181の末尾を示さないと判定した場合、N文字索引生成部121は文書内ポインタを次の文字に進める。例えば、N文字索引生成部121は文書内ポインタに1加算する(S280)。
以後、N文字索引生成部121は、S270において文書内ポインタが新たな登録文書181の末尾を示すまで、S250〜S260を繰り返す。
次に、実施の形態1における文書管理システム100の文書検索部140が実行する文書検索処理について説明する。
文書検索部140は入力機器から検索キーワード102を入力し、入力した検索キーワード102をn文字索引109が生成されている各n文字単位に分割し、分割した各n文字とN文字索引情報191に設定されているN−gramとを比較して検索キーワード102が含まれている登録文書181を特定し、特定した登録文書181の識別情報(例えば、文書番号223やタイトル)を検索結果103として出力機器に出力する。
文書検索部140が実行する文書検索処理は、N文字索引のデータ構造に依存するN文字索引の参照方法以外、従来の文書検索処理と同じである。
実施の形態1では、以下のような文書管理システム100について説明した。
文書管理システム100は文書データ格納手段(登録対象文書記憶部180)とN文字索引格納手段(N文字索引記憶部190)と文書管理手段(N文字索引生成変更部120、文書検索部140)とを備える。
文書データ格納手段は文書データ(登録文書181)を格納する。
N文字索引格納手段は上記文書データ中のN−gramに関連して、位置情報220および管理情報210から構成されるN文字索引(n文字索引109)を格納する。
文書管理手段は上記N文字索引を生成する(N文字索引生成変更部120)とともに、検索キーワード102が与えられると、上記管理情報210中の位置情報ブロック格納位置211からN−gramブロック内格納位置213を参照し、上記検索キーワード102のN−gramに関連するN−gram位置情報(位置情報220)を読み出して、照合処理による検索結果103を出力する(文書検索部140)。
また、上記文書管理手段は、上記N文字索引を構成するN−gramに関連する位置情報220および管理情報210を、任意のN(n)に対して生成・格納しないように設定可能とするN文字索引生成変更手段(N文字索引変更部123)を備える。
この文書管理システム100は、登録対象文書101の登録前に、どのN−gramに関連する位置情報220および管理情報210を生成・格納するかについて設定しておくことで、この設定(N文字索引生成定義情報テーブル192)に基づいたN文字索引を生成することを特徴とする。
また、文書管理手段(N文字索引生成変更部120)は、N文字索引のディスク装置への格納に要する索引容量を記録する索引容量記録手段(索引容量記録部130)と、上記N文字索引が格納されるディスク装置(N文字索引記憶部190)の空き容量を取得するディスク空き容量取得手段(ディスク空き容量取得部131)とを備える。
この文書管理システム100は、登録対象文書101が上記文書データとして登録されると、上記N文字索引がディスク装置の空き容量に格納可能かを事前に判定し、格納可能でないと判定した場合には上記N文字索引とディスク装置に格納済みのN文字索引を構成する一部のN−gramに関連する位置情報220および管理情報210を削除し、ディスク装置に格納可能となるようにN文字索引を再構成することを特徴とする。
この文書管理システム100は、登録対象文書が文書データとして登録されると、この登録対象文書のN文字索引のサイズを索引生成前に把握し、ディスク装置に格納可能となるように、任意のNにおける索引を生成対象外とし、同時に、既にディスク装置に格納されているN文字索引についても、先の生成対象外としたNにおける索引をディスク装置から削除する。これにより、文書管理システム100は、N文字索引の格納用のディスク装置に収まるように、N文字索引を生成することができる。
また、文書管理システム100は、生成対象外またはディスク装置から削除対象とする任意のNの索引において、Nが1である場合には、生成対象外またはディスク装置からの削除対象にしないようにしたものである。
この文書管理システム100によれば、ディスク装置の空き容量に合わせて索引生成対象とするN文字索引を効率的に自動決定することが可能となる。文書管理システム100はN文字索引生成変更手段とディスク空き容量取得手段と索引容量記録手段とを備えるので、ディスク装置の空き容量に収めることができる範囲で、最大限の検索速度を引き出せるように、N文字索引を自動生成することができるという効果が得られる。
文書管理システム100は、生成(登録)するN文字索引を選択することに特徴を有し、N文字索引の生成方法(登録方法)の種類は問わない。
また、上記では索引容量記録部130の推定サイズを加算して索引容量管理テーブル193を更新したが、実際のN文字索引情報191のデータサイズに基づいて索引容量管理テーブル193を更新してもよい。
実施の形態2.
実施の形態2では、実施の形態1と異なる事項について主に説明し、説明を省略した事項については実施の形態1と同様であるものとする。
図9は、実施の形態2におけるN文字索引生成定義情報テーブル192の一例を示す図である。
図10は、実施の形態2における索引容量管理テーブル193の一例を示す図である。
図9に示すように、実施の形態2におけるN文字索引生成定義情報テーブル192には各n文字索引109の生成要否が文字種毎に設定されている。
図10に示すように、実施の形態2における索引容量管理テーブル193には各n文字索引109の累積サイズが文字種毎に設定されている。
文字種とは、漢字、ひらがな、カタカナ、英字、記号、ギリシャ文字、ロシア文字、囲み英数字(例えば、丸に囲まれた英数字)、アラビア数字、単位記号(例えば、“ミリ”や“mm”)、数学記号(例えば、不等号、イコール、シグマ、ルート)など、文字の種類のことである。
実施の形態2における文書管理システム100の構成は実施の形態1と同じであり、実施の形態2における文書管理システム100の各構成は以下のような特徴を有する。
索引容量記録部130はN文字索引生成変更部120が新たに生成する各文字数と各文字種とを組み合わた各索引のデータサイズを当該登録文書181に基づいてCPUを用いて推定し、推定したデータサイズを加算して索引容量管理テーブル193を更新する。
各文字数と各文字種とを組み合わせた各索引とは、漢字の1文字索引、ひらがなの1文字索引、漢字の2文字索引、カタカナのN文字索引など、「n」と文字種とで特定される各n文字索引109のことである。以下、任意の文字数と特定の文字種とを組み合わせた索引のことを特定文字種のn文字索引109という。
N文字索引変更部123は、索引容量記録部130が推定した新たな登録文書181の各文字種の各n文字索引109のデータサイズとディスク空き容量取得部131が参照したN文字索引記憶部190の空き容量とに基づいて、N文字索引生成定義情報テーブル192に設定されている各文字種の各n文字索引109の生成要否をCPUを用いて変更設定する。
例えば、N文字索引変更部123は、新たな登録文書181の各文字種の各n文字索引109のデータサイズの合計よりN文字索引記憶部190の空き容量の方が少ない場合、各文字種の1文字索引を各文字種の他のn文字索引109より優先して生成要とする。
また例えば、N文字索引変更部123は、新たな登録文書181の各文字種の各n文字索引109のデータサイズの合計よりN文字索引記憶部190の空き容量の方が少ない場合、データサイズの大きい順とデータサイズの小さい順とのいずれかの順に、N文字索引記憶部190の空き容量に記憶できる分だけ、各文字種の各n文字索引109を生成要とする。
また例えば、N文字索引変更部123は、新たな登録文書181の各文字種の各n文字索引109のデータサイズの合計よりN文字索引記憶部190の空き容量の方が少ない場合、n文字索引109の「n(文字数)」の多い順とn文字索引109の「n」の少ない順とのいずれかの順に、N文字索引記憶部190の空き容量に記憶できる分だけ、各文字種の各n文字索引109を生成要とする。
また例えば、N文字索引変更部123は、新たな登録文書181の各文字種の各n文字索引109のデータサイズの合計よりN文字索引記憶部190の空き容量の方が少ない場合、各文字種の所定の優先順に、N文字索引記憶部190の空き容量に記憶できる分だけ、各文字種の各n文字索引109を生成要とする。
他の構成は実施の形態1と同じである。
実施の形態2における文書管理システム100の文書登録処理の流れは実施の形態1と同じであり、実施の形態2の文書登録処理を構成する各処理は以下のような特徴を有する。
文書入力処理(S110)において、文書入力部111は実施の形態1と同様に登録文書181を記憶する。
索引容量推定処理(S120)において、索引容量記録部130はS110で新たに記憶された登録文書181について生成対象である各文字種の各n文字索引109のデータサイズを推定し、推定したデータサイズに基づいて索引容量管理テーブル193を更新する。
例えば、N文字索引生成定義情報テーブル192が図9の設定値を示す場合、索引容量記録部130は、新たな登録文書181に対する「漢字」、「ひらがな」、「カタカナ」、「英字」および「記号」の各文字種の1文字索引および「ひらがな」、「カタカナ」および「英字」の各文字種の2文字索引についてデータサイズを推定する。
また、索引容量管理テーブル193が図10の設定値を示し、新たな登録文書181に対する「漢字」、「ひらがな」、「カタカナ」、「英字」および「記号」の各文字種の1文字索引および「ひらがな」、「カタカナ」および「英字」の各文字種の2文字索引の推定サイズがそれぞれ「1MB」、「3MB」、「2MB」、「7MB」、「5MB」、「6MB」、「4MB」、「8MB」だった場合、索引容量記録部130は各設定値を「10001MB」、「30003MB」、「20002MB」、「90007MB」、「50005MB」、「65006MB」、「40004MB」、「200008MB」に更新する。
空き容量取得処理(S130)において、ディスク空き容量取得部131は実施の形態1と同様にN文字索引記憶部190の空き容量を参照する。
索引生成定義設定処理(S140)において、N文字索引変更部123は以下のように処理を行う。
N文字索引変更部123は、実施の形態1と同様に、新たな登録文書181に対する各文字種の各n文字索引109の推定サイズの合計値とS130で得られたN文字索引記憶部190の空き容量とを大小比較する(S141)。
S141で新たな登録文書181に対する各文字種の各n文字索引109の推定サイズの合計値がN文字索引記憶部190の空き容量より大きいと判定した場合、N文字索引変更部123は、実施の形態1と同様に、生成非対象に変更するn文字索引109を選択する。
例えば、N文字索引変更部123は1文字索引以外の各文字種のn文字索引109を生成非対象に選択する。
また例えば、索引容量管理テーブル193が図10の累積サイズを示す場合(但し、n=1〜2とする)、N文字索引変更部123は、生成対象の中で累積サイズが一番小さい「漢字」の1文字索引、または、1文字索引を除いた中で累積サイズが一番小さい「カタカナ」の2文字索引、または、累積サイズが一番大きい「英字」の2文字索引を生成非対象にする。
また例えば、N文字索引変更部123は「n」の大小や各文字種の所定の優先度に応じて生成非対象にするn文字索引109を選択する。N文字索引生成定義情報テーブル192が図9の設定値を示し(但し、n=1〜2とする)、各文字種のn文字索引109の生成優先度が「漢字→ひらがな→カタカナ→英字→記号」の順に高い場合、文字種「zz」のx文字索引を「zzx」と表記すると、N文字索引変更部123は「記号1→英字1→カタカナ1→ひらがな1→漢字1→英字2→カタカナ2→ひらがな2」や「英字2→カタカナ2→ひらがな2→記号1→英字1→カタカナ1→ひらがな1→漢字1」や「記号1→英字1→英字2→カタカナ1→カタカナ2→ひらがな1→ひらがな2→漢字1」や「記号1→英字2→英字1→カタカナ2→カタカナ1→ひらがな2→ひらがな1→漢字1」などの順で生成非対象にするn文字索引109を選択する。
次に、S143において、N文字索引変更部123は、実施の形態1と同様に、S142で選択したn文字索引109についてN文字索引生成定義情報テーブル192の設定値を「対象」から「非対象」に変更する。
N文字索引削除処理(S150)において、N文字索引削除部122は実施の形態1と同様にS142で生成非対象に選択されたn文字索引109を削除する。
N文字索引生成処理(S160)において、N文字索引生成部121は、実施の形態1と同様に、新たな登録文書181について生成対象の各文字種の各n文字索引109を生成する。N文字索引生成定義情報テーブル192が図9の設定値を示す場合、N文字索引生成部121は「漢字」、「ひらがな」、「カタカナ」、「英字」、「記号」の各1文字索引109aおよび「ひらがな」、「カタカナ」、「英字」の各2文字索引109bを生成する。
実施の形態2では、以下のような文書管理システム100について説明した。
文書管理システム100は、N文字索引(N文字索引情報191)を構成するN−gramに関連する位置情報220および管理情報210に対して、英字・数字・漢字・ひらがな・カタカナ・その他の記号文字といった文字の種類ごとにN文字索引を生成するか否かを設定可能とすることを特徴とする。
また、文書管理システム100は、索引容量記録手段(索引容量記録部130)が、英字・数字・漢字・ひらがな・カタカナ・その他の記号文字といった文字の種類ごとに、N文字索引のディスク装置(N文字索引記憶部190)への格納に要する索引容量を記録することを特徴とする。
文書管理システム100は、任意のN(n)における索引(n文字索引109)において、漢字・ひらがな・カタカナ・英字・数字・その他の記号文字といった文字の種類ごとにN文字索引のサイズを索引生成前に把握し、ディスク装置に格納可能となるように、任意のNにおける文字の種類ごとの索引を生成対象外とし、同時に、既にディスク装置に格納されている索引についても削除する。
この文書管理システム100によれば、索引生成対象外とするN文字索引を文字の種類ごとに詳細化して自動設定することが可能となる。これにより、文書管理システム100はディスク装置の空き容量に応じて段階的にN文字索引の索引容量を削減することができ、任意のN文字索引における各文字の種類に対して検索速度の性能低下を段階的に抑えるという効果が得られる。
実施の形態3.
実施の形態3では、実施の形態1および実施の形態2と異なる事項について主に説明し、説明を省略した事項については実施の形態1または実施の形態2と同様であるものとする。
図11は、実施の形態3における文書管理システム100の機能構成図である。
実施の形態3における文書管理システム100の機能構成について、図11に基づいて以下に説明する。
N文字索引生成部121は、登録文書181に対して、n文字索引109を所定のデータサイズ単位でCPUを用いて生成し、生成した所定のデータサイズ単位の各n文字索引109を一時ブロック化N文字索引情報202(一時ブロック化索引)としてN文字索引記憶部190に記憶する。
また、文書登録部110は、N文字索引生成部121が生成した一時ブロック化N文字索引情報202をその所定のデータサイズ単位より大きなデータサイズ単位で固定ブロック化N文字索引情報201(固定ブロック化索引)としてCPUを用いて生成し直す索引ブロック化部150を備える。
文書検索部140は、索引ブロック化部150が生成した固定ブロック化N文字索引情報201とN文字索引生成部121が新たに生成した一時ブロック化N文字索引情報202とに基づいて検索キーワード102が含まれている登録文書181をCPUを用いて特定する。
その他の構成は、実施の形態1または実施の形態2と同じである。
図12は、実施の形態3におけるN文字索引情報191を示す図である。
実施の形態3におけるN文字索引情報191について、図12に基づいて以下に説明する。
N文字索引情報191はそれぞれに管理情報210(図7参照)と位置情報220(図7参照)とを有する固定ブロック化N文字索引情報201と一時ブロック化N文字索引情報202とを含んでいる。固定ブロック化N文字索引情報201の位置情報ブロック221は一時ブロック化N文字索引情報202の位置情報ブロック221より大きなデータサイズ単位でブロック化されている。
ブロック化とは、連続する又は関係する各データを連続する記憶領域に格納することである。
連続する又は関係する各データとは、特定の登録文書181に対するn文字索引109、n文字索引109の各N−gram、n文字索引109の特定文字種の各N−gramなどのことである。
以下、固定ブロック化N文字索引情報201の位置情報ブロック221のブロックサイズ、一時ブロック化N文字索引情報202の位置情報ブロック221のブロックサイズをそれぞれ固定ブロック化N文字索引情報201のブロックサイズ、一時ブロック化N文字索引情報202のブロックサイズとする。
固定ブロック化N文字索引情報201はN文字索引生成定義情報テーブル192に「(生成)対象」と設定されている各n文字索引109を有し、一時ブロック化N文字索引情報202は1文字索引109a〜N文字索引109eまでの各n文字索引109を有する。例えば、N文字索引生成定義情報テーブル192が図2の設定値を示す場合(但し、n=1〜4とする)、固定ブロック化N文字索引情報201は1文字索引109a、3文字索引109cおよび4文字索引109dを有し、一時ブロック化N文字索引情報202は1文字索引109a、3文字索引109c、4文字索引109dの他に2文字索引109bも有する。
つまり、N文字索引生成定義情報テーブル192の設定値は固定ブロック化N文字索引情報201に対するものであり、一時ブロック化N文字索引情報202には関係しない。一時ブロック化N文字索引情報202が全n文字索引109を生成対象にすることで、より多くの索引を用いて検索を行うことができる。
一時ブロック化N文字索引情報202は新たな登録文書181の各n文字索引109を登録するのに用いられる。また、一時ブロック化N文字索引情報202は、登録予定の各登録対象文書101を処理する前や登録予定の各登録対象文書101を処理した後や特定の時刻など、適当なタイミングで、固定ブロック化N文字索引情報201のブロックサイズに纏められて固定ブロック化N文字索引情報201に移行される。
例えば、新たな登録文書181の各n文字索引109の登録は一時ブロック化N文字索引情報202に対してオンライン処理で行われ、一時ブロック化N文字索引情報202から固定ブロック化N文字索引情報201へのN文字索引情報191の移行はオフライン処理で行われる。
固定ブロック化N文字索引情報201への移行の際、一時ブロック化N文字索引情報202中の生成非対象のn文字索引109は削除される。
文書管理システム100は一時ブロック化N文字索引情報202を固定ブロック化N文字索引情報201に移行してN文字索引情報191を再編成する。
固定ブロック化N文字索引情報201のブロックサイズは検索処理時にN文字索引情報191を読み込むバッファのサイズ(例えば、512KB[キロバイト]、1024KB[=1MB])に合わせて定められている。固定ブロック化N文字索引情報201が読み込み用バッファサイズに対応してブロック化されていることにより、連続する又は関係する各データを1回のシーク(読み込み用ヘッドの移動)で磁気ディスク装置920から読み込むことができ、磁気ディスク装置920に対するアクセス回数が減り、検索時間を短縮することができる。
また、一時ブロック化N文字索引情報202が固定ブロック化N文字索引情報201より小さいデータサイズ(例えば、16KB、32KB)でブロック化されていることにより、例えば、1ブロックあたりの登録文書181数を「1」としても、1ブロックに生じる無駄な空き領域は少ないため、ブロック化処理を単純化することができる。これにより、新たな登録文書181に対するN文字索引情報191の登録処理にかかる時間を短縮することができる。
図13は、実施の形態3における文書管理システム100の文書登録処理を示すフローチャートである。
N文字索引生成変更部120が新たな登録文書181の各n文字索引109を一時ブロック化N文字索引情報202に登録する文書登録処理について、図13に基づいて以下に説明する。
図13に示す文書登録処理(S310〜S360)は登録対象文書101毎に実行される。
<S310:文書入力処理>
まず、文書入力部111は、実施の形態1と同様に、登録対象文書101を入力し、入力した登録対象文書101を登録文書181として登録対象文書記憶部180に記憶する。
<S320:索引容量推定処理>
次に、索引容量記録部130はS310で新たに記憶された登録文書181について生成対象である各n文字索引109のデータサイズを推定する。索引容量管理テーブル193は更新しなくてよい。
このとき、索引容量記録部130は、実施の形態1と異なり、1から所定のNまでの全てのn文字索引109についてデータサイズを推定する。
<S330:空き容量取得処理>
次に、ディスク空き容量取得部131は、実施の形態1と同様に、N文字索引記憶部190の空き容量を参照する。
<S340:索引生成定義設定処理>
次に、N文字索引変更部123は各n文字索引109の推定サイズの合計値とN文字索引記憶部190の空き容量とを比較し(S341)、各n文字索引109の推定サイズの合計値がN文字索引記憶部190の空き容量より大きい場合、生成非対象とするn文字索引109を選択する(S342)。
S342において、N文字索引変更部123は、実施の形態1や実施の形態2と同様に、1文字索引(または、各文字種の1文字索引)以外のn文字索引109を生成非対象に選択したり、各n文字索引109(または、各文字種の各n文字索引109)の推定サイズや「n」の大小順に生成非対象にするn文字索引109を選択したりする。
<S360:N文字索引生成処理>
そして、N文字索引変更部123は、実施の形態1と同様に、新たな登録文書181について生成対象の各n文字索引109を生成し、生成した各n文字索引109を一時ブロック化N文字索引情報202に記憶する。
図14は、実施の形態3における索引ブロック化処理を示すフローチャートである。
索引ブロック化部150が一時ブロック化N文字索引情報202の複数のブロックを1つのブロックに纏めて(ブロック化して)固定ブロック化N文字索引情報201に移行する索引ブロック化処理(移行処理)について、図14に基づいて以下に説明する。
索引ブロック化部150は以下に説明する各処理をCPUを用いて実行する。
まず、索引ブロック化部150は変数xに1を設定する(S410)。
次に、索引ブロック化部150は、N文字索引生成定義情報テーブル192を参照し、変数xが示すx文字索引が索引生成対象か否かを判定する(S420)。
S420においてx文字索引が索引生成対象であると判定した場合、索引ブロック化部150は一時ブロック化N文字索引情報202のx文字索引の各位置情報ブロック221を固定ブロック化N文字索引情報201のx文字索引の最後の位置情報ブロック221に追加する。また、索引ブロック化部150は一時ブロック化N文字索引情報202のx文字索引の各位置情報ブロック格納位置211を固定ブロック化N文字索引情報201のx文字索引の最後の位置情報ブロック格納位置211に追加し、ブロック内文書数212を更新する。追加中にブロック内文書数212の設定値が所定の文書数を超えた場合、索引ブロック化部150は固定ブロック化N文字索引情報201の管理情報210と位置情報220にそれぞれ新たに位置情報ブロック格納位置211と位置情報ブロック221を生成する。そして、索引ブロック化部150は、新たに生成した位置情報ブロック格納位置211と位置情報ブロック221とに一時ブロック化N文字索引情報202の位置情報ブロック格納位置211と位置情報ブロック221とを追加する。これにより、一時ブロック化N文字索引情報202は固定ブロック化N文字索引情報201のブロックサイズに纏められると共に固定ブロック化N文字索引情報201に移行され、N文字索引情報191は再編成される(S430)。
S420においてx文字索引が索引生成対象でないと判定した場合、または、S430で一時ブロック化N文字索引情報202のx文字索引をブロック化して固定ブロック化N文字索引情報201に移行した後、索引ブロック化部150は、変数xが所定のN以上か否か、つまり、一時ブロック化N文字索引情報202の全てのn文字索引109について固定ブロック化N文字索引情報201への移行処理を行ったか否かを判定する(S440)。
S440で変数xが所定のN以上でないと判定した場合、つまり、固定ブロック化N文字索引情報201への移行処理を行っていない一時ブロック化N文字索引情報202のn文字索引109があると判定した場合、索引ブロック化部150は変数xに1加算する(S450)。
索引ブロック化部150は、S440で変数xが所定のN以上であると判定するまで、つまり、一時ブロック化N文字索引情報202の全てのn文字索引109について固定ブロック化N文字索引情報201への移行処理を行うまで、S420〜S450を繰り返す。
S440で変数xが所定のN以上であると判定した場合、つまり、一時ブロック化N文字索引情報202の全てのn文字索引109について固定ブロック化N文字索引情報201への移行処理を行ったと判定した場合、索引ブロック化部150は一時ブロック化N文字索引情報202の全n文字索引109を削除して一時ブロック化N文字索引情報202を空にする(S460)。
上記説明では、N文字索引生成変更部120は一時ブロック化N文字索引情報202として1からNまでの全てのn文字索引109を(N文字索引記憶部190の空き容量の範囲内で)生成対象としたが、実施の形態1の文書登録処理(S110〜S160)と同様に、一時ブロック化N文字索引情報202としてN文字索引生成定義情報テーブル192に生成対象と設定されているn文字索引109のみを生成してもよい。
文書検索部140は固定ブロック化N文字索引情報201と一時ブロック化N文字索引情報202とを用いて、実施の形態1と同様に、検索キーワード102に対する検索を行い、検索結果103を出力する。
実施の形態3では、以下のような文書管理システム100について説明した。
文書管理システム100は、追加登録された登録対象文書101の一時管理情報および一時位置情報が作成された一時ブロック化N文字索引(一時ブロック化N文字索引情報202)と、登録済みの登録文書181の固定管理情報および固定位置情報が作成された固定ブロック化N文字索引(固定ブロック化N文字索引情報201)とに分割されたN文字索引(N文字索引情報191)について、一時ブロック化N文字索引の方が固定ブロック化N文字索引よりも、N−gramに関する位置情報および管理情報を多く有することを特徴とする。
文書管理システム100は、一時ブロック化N文字索引を構成する一部のN−gramに関する位置情報および管理情報を削除した上で、一時ブロック化N文字索引の一時位置情報および一時管理情報をそれぞれ複数個結合し、結合した一時位置情報および一時管理情報を固定ブロック化N文字索引の固定位置情報および固定管理情報へ追加することを特徴とする。
この文書管理システム100によれば、固定ブロック化N文字索引よりも多い一時ブロック化N文字索引のブロック化N文字索引を利用して検索できるようにしたので、検索速度を向上することができるという効果を得られる。
実施の形態1における文書管理システム100の機能構成図。 実施の形態1におけるN文字索引生成定義情報テーブル192の一例を示す図。 実施の形態1における索引容量管理テーブル193の一例を示す図。 実施の形態1における文書管理システム100の外観の一例を示す図。 実施の形態1における文書管理システム100のハードウェア資源の一例を示す図。 実施の形態1における文書管理システム100の文書登録処理を示すフローチャート。 実施の形態1における1文字索引109aのデータ構造の一例を示す図。 実施の形態1におけるN文字索引生成処理(S160)を示すフローチャートの一例。 実施の形態2におけるN文字索引生成定義情報テーブル192の一例を示す図。 実施の形態2における索引容量管理テーブル193の一例を示す図。 実施の形態3における文書管理システム100の機能構成図。 実施の形態3におけるN文字索引情報191を示す図。 実施の形態3における文書管理システム100の文書登録処理を示すフローチャート。 実施の形態3における索引ブロック化処理を示すフローチャート。
符号の説明
100 文書管理システム、101 登録対象文書、102 検索キーワード、103 検索結果、109 n文字索引、109a 1文字索引、109b 2文字索引、109c 3文字索引、109d 4文字索引、109e N文字索引、110 文書登録部、111 文書入力部、120 N文字索引生成変更部、121 N文字索引生成部、122 N文字索引削除部、123 N文字索引変更部、130 索引容量記録部、131 ディスク空き容量取得部、140 文書検索部、150 索引ブロック化部、180 登録対象文書記憶部、181 登録文書、190 N文字索引記憶部、191 N文字索引情報、192 N文字索引生成定義情報テーブル、193 索引容量管理テーブル、201 固定ブロック化N文字索引情報、202 一時ブロック化N文字索引情報、210,210a,210b 管理情報、211,211a〜211c 位置情報ブロック格納位置、212 ブロック内文書数、213,213a,213b N−gramブロック内格納位置、220,220a,220b 位置情報、221,221a〜221g 位置情報ブロック、222,222a〜222c N−gram情報、223,223a,223b 文書番号、224,224a,224b 出現回数、225,225a〜225c 出現位置、901 表示装置、902 キーボード、903 マウス、904 FDD、905 CDD、906 プリンタ装置、907 スキャナ装置、910 システムユニット、911 CPU、912 バス、913 ROM、914 RAM、915 通信ボード、920 磁気ディスク装置、921 OS、922 ウィンドウシステム、923 プログラム群、924 ファイル群、931 電話器、932 ファクシミリ機、940 インターネット、941 ゲートウェイ、942 LAN。

Claims (17)

  1. 1文字索引からN(Nは1以上の整数)文字索引までの各文字数の索引毎に生成要否が設定されたN文字索引生成定義情報テーブルを記憶機器を用いて記憶する索引生成定義記憶部と、
    索引生成対象の文書に対して、1文字索引からN文字索引までの各文字数の索引のうち、前記索引生成定義記憶部に記憶された前記N文字索引生成定義情報テーブルに生成要と設定されている文字数の索引をCPU(Central Processing Unit)を用いて生成し、生成した索引を記憶機器を用いて記憶するN文字索引生成部と
    前記N文字索引生成部が新たに生成する各文字数の索引のデータサイズを索引生成対象の当該文書に基づいてCPUを用いて推定する索引容量推定部と、
    前記索引容量推定部が推定した各文字数の索引のデータサイズと各文字数の索引を記憶する前記記憶機器の空き容量とに基づいて前記N文字索引生成定義情報テーブルに各文字数の索引の生成要否をCPUを用いて設定する索引生成定義設定部と
    を備えたことを特徴とするN文字索引生成装置。
  2. 前記索引生成定義設定部は、
    各文字数の索引のデータサイズの合計より前記空き容量の方が少ない場合、1文字索引を他の文字数の索引より優先して生成要とする
    ことを特徴とする請求項記載のN文字索引生成装置。
  3. 前記索引生成定義設定部は、
    各文字数の索引のデータサイズの合計より前記空き容量の方が少ない場合、データサイズの大きい順とデータサイズの小さい順とのいずれかの順に前記空き容量に記憶できる分だけ各文字数の索引を生成要とする
    ことを特徴とする請求項1または請求項2記載のN文字索引生成装置。
  4. 前記索引生成定義設定部は、
    各文字数の索引のデータサイズの合計より前記空き容量の方が少ない場合、文字数の多い順と文字数の少ない順とのいずれかの順に前記空き容量に記憶できる分だけ各文字数の索引を生成要とする
    ことを特徴とする請求項1または請求項2記載のN文字索引生成装置。
  5. 前記N文字索引生成装置は、さらに、
    前記索引生成定義設定部が特定文字数の索引を生成不要とした場合、索引生成済みの各文書に対する前記特定文字数の索引を削除するN文字索引削除部
    を備えたことを特徴とする請求項〜請求項いずれかに記載のN文字索引生成装置。
  6. 1文字索引からN(Nは1以上の整数)文字索引までの各文字数の索引毎に生成要否が文字種毎に設定されたN文字索引生成定義情報テーブルを記憶機器を用いて記憶する索引生成定義記憶部と、
    索引生成対象の文書に対して、1文字索引からN文字索引までの各文字数の索引のうち、前記索引生成定義記憶部に記憶された前記N文字索引生成定義情報テーブルに生成要と設定されている文字数と文字種とを組み合わせた索引をCPU(Central Processing Unit)を用いて生成し、生成した索引を記憶機器を用いて記憶するN文字索引生成部と
    前記N文字索引生成部が新たに生成する各文字数と各文字種とを組み合わせた各索引のデータサイズを索引生成対象の当該文書に基づいてCPUを用いて推定する索引容量推定部と、
    前記索引容量推定部が推定した各文字数と各文字種とを組み合わせた各索引のデータサイズと各索引を記憶する前記記憶機器の空き容量とに基づいて前記N文字索引生成定義情報テーブルに各文字数と各文字種とを組み合わせた各索引の生成要否をCPUを用いて設定する索引生成定義設定部と
    を備えたことを特徴とするN文字索引生成装置。
  7. 前記索引生成定義設定部は、
    各文字数と各文字種とを組み合わせた各索引のデータサイズの合計より前記空き容量の方が少ない場合、各文字種の1文字索引を各文字種の他の文字数の索引より優先して生成要とする
    ことを特徴とする請求項記載のN文字索引生成装置。
  8. 前記索引生成定義設定部は、
    各文字数と各文字種とを組み合わせた各索引のデータサイズの合計より前記空き容量の方が少ない場合、データサイズの大きい順とデータサイズの小さい順とのいずれかの順に前記空き容量に記憶できる分だけ各文字数と各文字種とを組み合わせた各索引を生成要とする
    ことを特徴とする請求項6または請求項7記載のN文字索引生成装置。
  9. 前記索引生成定義設定部は、
    各文字数と各文字種とを組み合わせた各索引のデータサイズの合計より前記空き容量の方が少ない場合、文字数の多い順と文字数の少ない順とのいずれかの順に前記空き容量に記憶できる分だけ各文字数と各文字種とを組み合わせた各索引を生成要とする
    ことを特徴とする請求項6または請求項7記載のN文字索引生成装置。
  10. 前記索引生成定義設定部は、
    各文字数と各文字種とを組み合わせた各索引のデータサイズの合計より前記空き容量の方が少ない場合、各文字種の所定の優先順に前記空き容量に記憶できる分だけ各文字数と各文字種とを組み合わせた各索引を生成要とする
    ことを特徴とする請求項、請求項または請求項記載のN文字索引生成装置。
  11. 1文字索引からN(Nは1以上の整数)文字索引までの各文字数の索引毎に生成要否が設定されたN文字索引生成定義情報テーブルを記憶機器を用いて記憶する索引生成定義記憶部と、
    索引生成対象の文書に対して、1文字索引からN文字索引までの各文字数の索引のうち、前記索引生成定義記憶部に記憶された前記N文字索引生成定義情報テーブルに生成要と設定されている文字数の索引を所定のデータサイズ単位でCPU(Central Processing Unit)を用いて生成し、生成した前記所定のデータサイズ単位の各索引を一時ブロック化索引として記憶機器に記憶するN文字索引生成部と、
    前記N文字索引生成部が生成した前記一時ブロック化索引を前記所定のデータサイズ単位より大きなデータサイズ単位で固定ブロック化索引としてCPUを用いて生成し直す索引ブロック化部と、
    前記索引ブロック化部が生成した前記固定ブロック化索引と前記N文字索引生成部が新たに生成した前記一時ブロック化索引とに基づいて特定の検索キーワードが含まれている文書をCPUを用いて特定する文書検索部と
    を備えたことを特徴とする文書検索装置。
  12. 1文字索引からN(Nは1以上の整数)文字索引までの各文字数の索引毎に生成要否が設定されたN文字索引生成定義情報テーブルを記憶機器を用いて記憶する索引生成定義記憶部と、
    索引生成対象の文書に対して、1文字索引からN文字索引までの各文字数の索引を所定のデータサイズ単位でCPU(Central Processing Unit)を用いて生成し、生成した前記所定のデータサイズ単位の各索引を一時ブロック化索引として記憶機器に記憶するN文字索引生成部と、
    前記N文字索引生成部が生成した前記一時ブロック化索引に対して、前記索引生成定義記憶部に記憶された前記N文字索引生成定義情報テーブルに生成不要と設定されている文字数の索引を削除すると共に、前記所定のデータサイズ単位より大きなデータサイズ単位で固定ブロック化索引としてCPUを用いて生成し直す索引ブロック化部と、
    前記索引ブロック化部が生成した前記固定ブロック化索引と前記N文字索引生成部が新たに生成した前記一時ブロック化索引とに基づいて特定の検索キーワードが含まれている文書をCPUを用いて特定する文書検索部と
    を備えたことを特徴とする文書検索装置。
  13. N文字索引生成部が、索引生成対象の文書に対して、1文字索引からN(Nは1以上の整数)文字索引までの各文字数の索引のうち、1文字索引からN文字索引までの各文字数の索引毎に生成要否が設定されたN文字索引生成定義情報テーブルに生成要と設定されている文字数の索引をCPU(Central Processing Unit)を用いて生成し、生成した各文字数の索引を記憶機器を用いて記憶し、
    索引容量推定部が、前記N文字索引生成部によって新たに生成される各文字数の索引のデータサイズを索引生成対象の当該文書に基づいてCPUを用いて推定し、
    索引生成定義設定部が、前記索引容量推定部によって推定された各文字数の索引のデータサイズと各文字数の索引を記憶する前記記憶機器の空き容量とに基づいて前記N文字索引生成定義情報テーブルに各文字数の索引の生成要否をCPUを用いて設定する
    ことを特徴とするN文字索引生成方法。
  14. N文字索引生成部が、索引生成対象の文書に対して、1文字索引からN(Nは1以上の整数)文字索引までの各文字数の索引のうち、1文字索引からN文字索引までの各文字数の索引毎に生成要否が設定されたN文字索引生成定義情報テーブルに生成要と設定されている文字数の索引を所定のデータサイズ単位でCPU(Central Processing Unit)を用いて生成し、生成した前記所定のデータサイズ単位の各索引を一時ブロック化索引として記憶機器に記憶するN文字索引生成処理を行い、
    索引ブロック化部が、前記N文字索引生成部が生成した前記一時ブロック化索引を前記所定のデータサイズ単位より大きなデータサイズ単位で固定ブロック化索引としてCPUを用いて生成し直す索引ブロック化処理を行い、
    文書検索部が、前記索引ブロック化部が生成した前記固定ブロック化索引と前記N文字索引生成部が新たに生成した前記一時ブロック化索引とに基づいて特定の検索キーワードが含まれている文書をCPUを用いて特定する文書検索処理を行う
    ことを特徴とする文書検索方法。
  15. N文字索引生成部が、索引生成対象の文書に対して、1文字索引からN(Nは1以上の整数)文字索引までの各文字数の索引を所定のデータサイズ単位でCPU(Central Processing Unit)を用いて生成し、生成した前記所定のデータサイズ単位の各索引を一時ブロック化索引として記憶機器に記憶するN文字索引生成処理を行い、
    索引ブロック化部が、前記N文字索引生成部が生成した前記一時ブロック化索引に対して、1文字索引からN文字索引までの各文字数の索引毎に生成要否が設定されたN文字索引生成定義情報テーブルに生成不要と設定されている文字数の索引を削除すると共に、前記所定のデータサイズ単位より大きなデータサイズ単位で固定ブロック化索引としてCPUを用いて生成し直す索引ブロック化処理を行い、
    文書検索部が、前記索引ブロック化部が生成した前記固定ブロック化索引と前記N文字索引生成部が新たに生成した前記一時ブロック化索引とに基づいて特定の検索キーワードが含まれている文書をCPUを用いて特定する文書検索処理を行う
    ことを特徴とする文書検索方法。
  16. 請求項13記載のN文字索引生成方法をコンピュータに実行させるN文字索引生成プログラム。
  17. 請求項14または請求項15記載の文書検索方法をコンピュータに実行させる文書検索プログラム。
JP2007311312A 2007-11-30 2007-11-30 N文字索引生成装置、文書検索装置、n文字索引生成方法、文書検索方法、n文字索引生成プログラムおよび文書検索プログラム Active JP5159277B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007311312A JP5159277B2 (ja) 2007-11-30 2007-11-30 N文字索引生成装置、文書検索装置、n文字索引生成方法、文書検索方法、n文字索引生成プログラムおよび文書検索プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007311312A JP5159277B2 (ja) 2007-11-30 2007-11-30 N文字索引生成装置、文書検索装置、n文字索引生成方法、文書検索方法、n文字索引生成プログラムおよび文書検索プログラム

Publications (2)

Publication Number Publication Date
JP2009134627A JP2009134627A (ja) 2009-06-18
JP5159277B2 true JP5159277B2 (ja) 2013-03-06

Family

ID=40866430

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007311312A Active JP5159277B2 (ja) 2007-11-30 2007-11-30 N文字索引生成装置、文書検索装置、n文字索引生成方法、文書検索方法、n文字索引生成プログラムおよび文書検索プログラム

Country Status (1)

Country Link
JP (1) JP5159277B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5802924B2 (ja) * 2011-07-29 2015-11-04 アーカイブ技術研究所株式会社 文書検索システムおよび文書検索プログラム
JP6050165B2 (ja) * 2013-03-22 2016-12-21 株式会社日立ソリューションズ 全文検索装置
WO2016001991A1 (ja) * 2014-06-30 2016-01-07 株式会社日立製作所 検索方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4149544B2 (ja) * 1997-03-10 2008-09-10 株式会社東芝 全文検索システムおよび全文検索プログラムを記録した記録媒体
JP3620968B2 (ja) * 1998-08-05 2005-02-16 株式会社日立製作所 文書検索方法及びその実施装置並びにその処理プログラムを記録した媒体
JP4219125B2 (ja) * 2001-07-24 2009-02-04 株式会社リコー 全文検索装置、全文検索方法、プログラム、及び記録媒体
JP2007286742A (ja) * 2006-04-13 2007-11-01 Ricoh Co Ltd 文書検索装置

Also Published As

Publication number Publication date
JP2009134627A (ja) 2009-06-18

Similar Documents

Publication Publication Date Title
JP5437557B2 (ja) 検索処理方法及び検索システム
JP3672242B2 (ja) パターン検索方法、パターン検索装置、コンピュータプログラム及び記憶媒体
US8914275B2 (en) Text prediction
US10783115B2 (en) Dividing a dataset into sub-datasets having a subset of values of an attribute of the dataset
JP2009181584A (ja) 中国語データおよびユーザ修正データの作成し、かつ、使用する方法およびシステム
KR20150109447A (ko) 텍스트 입력 시스템 및 방법
JP4114600B2 (ja) 可変長文字列検索装置及び可変長文字列検索方法並びにプログラム
US20120254190A1 (en) Extracting method, computer product, extracting system, information generating method, and information contents
JP5159277B2 (ja) N文字索引生成装置、文書検索装置、n文字索引生成方法、文書検索方法、n文字索引生成プログラムおよび文書検索プログラム
US9542427B2 (en) Computer product, generating apparatus, and generating method for generating Huffman tree, and computer product for file compression using Huffman tree
US20080133574A1 (en) Method, program and device for retrieving symbol strings, and method, program and device for generating trie thereof
JP2007042146A (ja) 中国語データおよびユーザ修正データの作成し、かつ、使用する方法およびシステム
US20130346443A1 (en) Computer product, searching apparatus, and searching method
JP2009116395A (ja) データ形式変換装置及びデータ形式変換プログラム及びデータ形式変換方法
JP2007133682A (ja) 全文検索システム、及び、その全文検索方法
JP4416644B2 (ja) 予測機能付き文字処理装置、方法、記録媒体およびプログラム
JP5803481B2 (ja) 情報処理装置及び情報処理プログラム
JPH10149367A (ja) テキスト蓄積検索装置
JP5472929B2 (ja) 文書検索装置、文書検索方法及び文書検索プログラム
US8666925B1 (en) Method for parallel computation of a finite state machine
JP5601123B2 (ja) Nグラム検索のための転置インデックスの生成方法および生成装置、当該転置インデックスを用いた検索方法および検索装置、ならびに、コンピュータプログラム
JP5326945B2 (ja) 文字入力支援装置、プログラム及び文字入力支援方法
JP4304226B2 (ja) 構造化文書管理システム、構造化文書管理方法及びプログラム
JP3388057B2 (ja) 辞書作成支援装置
JP2000231575A (ja) トライ構造の文字列検索方法、装置、および文字列検索プログラムを記録した記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100916

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120918

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121012

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121211

R150 Certificate of patent or registration of utility model

Ref document number: 5159277

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20151221

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250