Research Abstract |
本研究における部分文字列検索手法の最大の問題は索引部の扱いである.如何に検索速度を向上させつつ,索引部をコンパクトに構築し,かつ索引部の構築時間を短縮するかが重要な課題である.そこで,平成12年度は,部分文字列検索システムの索引部となる2進木トライの基本圧縮アルゴリズムの設計と提案を行い,核となるソフトウェアを開発した. 本研究は,検索要求のあった文字列の構成情報を拡張ハッシュ法のハッシュ値に反映させるために特徴ベクトルを用い,特徴ベクトルを構成するビット値0,1に応じて索引部である2進木トライを構築した.特徴ベクトルは,2進木トライを構築するために必要な0または1の情報を生起させる情報源ととらえることができる.2個の文字0,1からなる2元情報源では,文字0,1の生起確率がともに等しく0.5であるとき,1文字あたりの平均情報量を表すエントロピーが最大となる.したがって,特徴ベクトルに含まれるビット値0,1の割合が1:1であるとき,2進木トライの構築に必要なビット数が最も少なくなる.しかし,ビット値0,1を均等に含む比較的短いビット長の特徴ベクトルを用いた場合,キーの総数が多いと2進木トライの構築に必要なビット数に不足が生じ,バケットのあふれを解消できない.また,キー数の増加とともに,バケットあふれを解消するために必要な特徴ベクトルのビット長も長くなるが,本研究で定義するビント値1の数はキーの長さを越えないので,ベクトル中のビット値0の割合が高くなる.その結果,トライのビット長が増大し,検索効率,記憶効率が低下する.そこで,ハンシュ値として,エントロピーが最大に近く比較的短いビット長の特徴ベクトルを生成し,ハッシュ値のビット長が不足した場合には,新たに生成した特徴ベクトルを加えて,ハッシュ値のビット長を増進的に拡張した.
|