JP2003296368A - データベース探索装置および探索方法ならびに記憶媒体、プログラム - Google Patents

データベース探索装置および探索方法ならびに記憶媒体、プログラム

Info

Publication number
JP2003296368A
JP2003296368A JP2002096179A JP2002096179A JP2003296368A JP 2003296368 A JP2003296368 A JP 2003296368A JP 2002096179 A JP2002096179 A JP 2002096179A JP 2002096179 A JP2002096179 A JP 2002096179A JP 2003296368 A JP2003296368 A JP 2003296368A
Authority
JP
Japan
Prior art keywords
node
child node
search
searching
database
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.)
Pending
Application number
JP2002096179A
Other languages
English (en)
Inventor
Hideo Kuboyama
英生 久保山
Makoto Hirota
誠 廣田
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2002096179A priority Critical patent/JP2003296368A/ja
Priority to US10/391,578 priority patent/US7222129B2/en
Publication of JP2003296368A publication Critical patent/JP2003296368A/ja
Priority to US11/717,044 priority patent/US7526497B2/en
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 入力された文字列に対応するデータを、トラ
イ構造を有するデータベースから検索する場合の、検索
速度を向上させることを目的とする。 【解決手段】 入力された文字列に対応するデータを、
トライ構造を有するデータベース101から検索するデ
ータベース検索装置102であって、前記トライ構造の
各ノードにおいて、前記入力された文字列に応じた子ノ
ードを探索するための子ノード探索部を複数有し(10
4、105)、各ノードにおいて使用する子ノード探索
部を前記複数の子ノード探索部(104、105)の中
から各ノードごとに予め設定する設定手段を備え、前記
設定手段において各ノードごとに設定された子ノード探
索部を用いて子ノードを探索することで、前記データベ
ースに保持されたデータを検索することを特徴とする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、文字列などをキー
としてそのキーに対応するデータを収めたデータベース
から、求めるデータを検索するデータベース検索装置お
よび検索方法に関するものである。
【0002】
【従来の技術】近年、自然言語処理、特に形態素解析
は、高度なドキュメント検索などに応用されているが、
そのためには大量の文章を形態素解析する必要があり、
形態素解析の高速化が求められている。形態素解析にお
いて辞書検索は、膨大な数の単語の中から文字列に対応
する単語のデータを検索するので、処理時間の多くを占
める。また、自然言語処理における辞書検索に限らず、
様々なデータベース検索において、データベースが膨大
なものになっていると、そのデータベースから欲しい情
報を検索するには処理時間がかかる。特に近年、情報化
社会が進み、情報を収集しやすい一方でデータベースが
肥大化し、その検索に時間がかかるようになってきてい
る。
【0003】これらの背景から、データベース(言語辞
書を含む)を高速に検索する手段が広く求められてい
る。
【0004】データベース検索において有効な手法とさ
れるものにトライ法がある。これは、一種の木構造をと
っており、文字列の先頭から各文字を検索キーとして状
態遷移し、データをたどる手法であり、一度の走査で先
頭文字からの文字列に一致するデータを全て取得できる
高速な検索方法である。
【0005】木構造のルートであるノードから、検索キ
ーに対応するその子ノードに遷移するために、子ノード
と対応づけられた遷移キーの集合の中から、検索キーと
一致する遷移キーを探索する。そして該一致した遷移キ
ーに対応する子ノードへと遷移する。また、状態遷移後
は文字列の文字を一つ進め、次の検索キーとして、同様
の処理を行う。
【0006】このトライ法は高速な検索手法、とくに言
語解析の辞書検索に有効な手法として知られているが、
実際には、各ノードにおける子ノードの探索の仕方やデ
ータベースの構造等によって処理速度が左右される。各
ノードにおける子ノードの探索のための処理速度を向上
するために、例えば、データベースの配列において、子
ノードを遷移キーの文字コード位置に収めれば、検索キ
ーに一致した遷移キーを持つ子ノードを短時間でたどる
ことができるようになるが、この場合、それぞれのノー
ドで文字コードの大きさの配列を用意する必要があるた
めデータベースが非常に大きくなり、現実的ではない。
【0007】そこで実際には、遷移キー及び遷移キーに
対応する子ノードの集合を、子ノードの数の配列に収め
ておき、配列番号順で一致する遷移キーを探索したり、
ハッシュ法や二分探索法などの探索法を用いたりするこ
とによって検索キーに対応する子ノードを探索してい
る。トライ構造、ハッシュ法や二分探索法については、
近藤嘉雪 著「Cプログラマのためのアルゴリズムとデ
ータ構造」(ソフトバンク)などに記述されている。
【0008】
【発明が解決しようとする課題】しかしながら、上記に
示した子ノードの探索法は、ハッシュ法、二分探索法そ
れぞれ特徴があり、それが必ずしも全てのノードにおい
て子ノードを探索するのに適しているというものではな
い。例えば、二分探索は、子ノードの数が多い場合に
は、配列番号順で探すよりは速いとはいえ、やはり何度
も移動して検索キーと遷移キーとの一致を確かめる必要
があるため処理時間がかかる。
【0009】これに対して、ハッシュ法は、ハッシュ関
数によりハッシュ値を求めて探索することにより、子ノ
ードの数が多い場合に高速に探索することが可能だが、
逆にキーの数が少ない場合には、わざわざハッシュ関数
を計算してハッシュ値の並ぶテーブルを探索するより
も、逆に処理の単純な二分探索のほうが速く探索するこ
とが可能である。
【0010】このように、トライ構造の各ノードでは、
子ノードの数によって最適な探索方法は異なっている。
そのため、可能な限り速く探索するためには、それぞれ
のノードに対して最適な探索方法を選択することが望ま
しい。
【0011】本発明は、上記課題を鑑みてなされたもの
であり、入力された文字列に対応するデータを、トライ
構造を有するデータベースから検索する場合において、
その検索速度の向上を目的とする。
【0012】
【課題を解決するための手段】上記の目的を達成するた
めに本発明に係るデータベース検索装置は以下のような
構成を備える。即ち、入力された文字列に対応するデー
タを、トライ構造を有するデータベースから検索するデ
ータベース検索装置であって、前記トライ構造の各ノー
ドにおいて、前記入力された文字列に応じた子ノードを
探索するための子ノード探索手段を複数有し、各ノード
において使用する子ノード探索手段を前記複数の子ノー
ド探索手段の中から各ノードごとに予め設定する設定手
段を備え、前記設定手段において各ノードごとに設定さ
れた子ノード探索手段を用いて子ノードを探索すること
で、前記データベースに保持されたデータを検索するこ
とを特徴とする。
【0013】
【発明の実施の形態】
【第1の実施形態】以下、図面を参照して本発明の一実
施形態を詳細に説明する。
【0014】図1は、本発明の一実施形態における、デ
ータベース検索装置の機能ブロック図である。同図にお
いて、101は、検索したいデータがトライ構造で収め
られているデータベースである。102は、文字列を入
力とし、その文字列に対応するデータをデータベース1
01から検索して取り出すデータベース検索装置であ
る。
【0015】103は、データベース検索装置におい
て、トライ構造を状態遷移してデータを探索するトライ
探索部である。104及び105は、文字列のうちの1
文字を検索キーとして、トライ探索部に次の状態遷移先
を教える子ノード探索部であり、104と105は探索
方式もしくはパラメータが異なる。本実施形態では、1
04をハッシュ探索による子ノード探索部とし、105
を二分探索による子ノード探索部として説明する。
【0016】106は、トライ探索部103が探索する
状態に対して、異なる複数の子ノード探索部104及び
105のうち適した子ノード探索部を選択する子ノード
探索手段選択部である。107は、トライ探索部103
がデータまで探索した時点でデータをデータベースから
取得するデータ取得部である。
【0017】図2は、データベース101の特徴である
トライ構造を表した概念図である。201は、トライ構
造での各状態を表し、ノード番号が振られている。20
2は、ノードから子ノードへと遷移するための遷移キー
である。遷移キー「φ」は特殊なキーで、次の遷移先(子
ノード)を持ちながらそのノードまでの遷移位置でデー
タをも持つノードにおいて、遷移先に子ノードを持たせ
るために便宜上用意した遷移キーであり、この子ノード
へは検索キーの値に関わらず無条件に遷移する。また、
この子ノードをφノードと呼ぶことにする。203は、
データベースに格納されているデータである。
【0018】図3は、データベース101を実装するた
めのデータ構造を表す図である。同図において、301
は各ノードやデータのアドレス及びサイズを記述した管
理テーブルである。302は、各ノードで遷移キー及び
遷移先が記述された遷移テーブルの集合であり、状態遷
移先を持つノードそれぞれが遷移テーブルを持つ。30
3は、探索すべきデータの集合であるデータテーブルで
ある。304は、管理テーブル301、遷移テーブルの
集合302、データテーブル303の各先頭アドレスを
記述したヘッダである。
【0019】図4は、管理テーブル301のデータ構造
を表す図である。同図において、401は、子ノードを
持つノードの数である。402は、複数の子ノード探索
部(104、105)のいずれを使って遷移キーを探索
するかを示した子ノード探索手段フラグである。本実施
形態では、この子ノード探索手段フラグが1の場合、ハ
ッシュ探索による子ノード探索部104を指すものと
し、子ノード探索手段フラグが0の場合は二分探索によ
る子ノード探索部105を指すものとする。
【0020】403は、ノードの遷移テーブルを指すア
ドレスである。404は、ノードから遷移可能な子ノー
ドの数である。405は、ノードから得られるデータへ
のアドレスである。406は、ノードから得られるデー
タの数である。ノードは、401の値より小さいノード
番号に遷移できる子ノードを持つノードが割り当てら
れ、401の値以上のノード番号にデータを持つノード
が割り当てられる。
【0021】図5は、ハッシュ探索による子ノード探索
部104を用いて子ノードへ遷移させるための遷移テー
ブルである。同図において、501は、ハッシュの配列
数が記述されたハッシュサイズである。502は、ハッ
シュ値を持つ遷移キーのアドレスとサイズを納めたハッ
シュ値テーブルである。ハッシュ値テーブルの各列がハ
ッシュ値に相当し、テーブルの左の値が遷移テーブルの
先頭アドレスからの相対アドレスであり、右の値が各列
のハッシュ値を持つ遷移キーの数である。503は、遷
移キーと子ノードとを対応づけした子ノードテーブルで
ある。
【0022】図6は、二分探索による子ノード探索部1
05を用いて子ノードへ遷移させるための遷移テーブル
である。テーブルの左の値が遷移キーであり、遷移キー
に対応づけられた子ノードが右に記されている。
【0023】図7はデータベースに格納されたデータを
納めるデータテーブルを表す図である。各データが連な
って並び、各データが、管理テーブルにおいてデータへ
のアドレス405によって参照されている。
【0024】次に図2乃至図7を用いて本発明における
データベース検索を説明する。
【0025】図2のトライ構造を持つデータベースに対
して、文字列「ABC」を入力する。まずトライ構造の
ルートであるノード0から探索を開始する。データベー
スのヘッダ304に記された管理テーブルのアドレスか
ら図4の管理テーブルを参照する。
【0026】管理テーブルでノード0を参照すると、遷
移テーブルのアドレス403(アドレスが遷移テーブル
であるかデータであるかは管理テーブルの子ノードを持
つノード数401によって判断できる。)と、子ノード
の数404と、子ノード探索手段フラグ402とを引く
ことができる。ここで、遷移テーブルのアドレス403
は、図3における遷移テーブルの集合302の先頭アド
レス(ヘッダ301から引ける)からのアドレスであ
り、これをたどってノード0の遷移テーブルをたどる。
管理テーブルによるとノード0の遷移テーブルはハッシ
ュ法であるので、図5に示すようなハッシュ用の遷移テ
ーブルがデータベースより呼び出される。
【0027】ここで子ノード探索手段選択部106が、
ハッシュ法により探索を行なう子ノード探索部104に
遷移テーブルを渡し、子ノード探索部104が探索を行
う。子ノード探索部では、まず、φノードの有無を確認
する。遷移キーと子ノードのテーブル503に格納され
た最初の遷移キーがφか否かを確認する。ノード0には
φノードがないのでそのまま先へ進む。入力文字列の先
頭文字である検索キー「A」の文字コードを入力とし
て、あらかじめ設定したハッシュ関数を計算すると、ハ
ッシュ値0を得る。ハッシュ値テーブル502でハッシ
ュ値0を参照すると、遷移テーブルから10byte先
のアドレスに二つの遷移先が格納されていることがわか
る。このアドレスから順に検索キー「A」と比較し、1
番目に遷移キー「A」と一致してノード1へ遷移する。
【0028】次にノード1の場合、同様に管理テーブル
を参照すると、ノード1は二分探索の遷移テーブルであ
り、図6に示すような、遷移キーが文字コード順に並ん
だ二分探索用の遷移テーブルを参照する。子ノード探索
手段選択部106が、二分探索により探索を行なう子ノ
ード探索部105に遷移テーブルを渡し、子ノード探索
部105が探索を行なう。ここでもまずφノードの有無
を確認し、φノードがないので、次の入力文字「B」を
検索キーとして、二分探索により探索する。
【0029】遷移テーブルに配列のサイズが偶数(2
n)、奇数(2n+1)の場合ともに、その中央の配列
番号nのキーを参照し、検索キーの文字コードの値が遷
移キーより大きければそれ以下の配列は候補から外し、
再び中央の値を参照する。検索キーの文字コードの値が
遷移キーより小さければそれ以上の配列は候補から外
し、再び中央の値を参照する。この走査を検索キーと一
致する遷移キーが見つかるか、もしくは候補がなくなる
まで続ける。
【0030】以上の二分探索により次の遷移先としてノ
ード6を得る。ノード6は管理テーブルにより、データ
を持つノードであり、データテーブルのアドレス24b
yte目にデータが一つあることがわかり、図7のデー
タテーブルよりデータ取得部107がこのデータを得
る。次の遷移先がないことから、文字列中の次の文字
「C」と一致するデータがないことがわかり、「AB」
に対応するデータのみを得て検索を終了する。
【0031】また、文字列「DED」を入力とする場
合、同様に検索を行って行くが、ノード2において、図
8に示すように遷移先にφノードが存在する。この時、
ハッシュを計算する前にφノードの遷移先であるノード
8へ遷移して文字列「D」に対応するデータをデータ取
得部107が取得し、ノード2に戻ってきて改めて文字
「E」を検索キーとしてハッシュ探索を行い、ノード3
へ遷移する。
【0032】ノード3での二分探索でも同様に、図9の
ようにφノードが存在するので、先にノード9に遷移し
て文字列「DE」に対応するデータをデータ取得部10
7が取得し、ノード3に戻ってφを除いた遷移キーに対
して二分探索を行って遷移先の子ノードを探す。この場
合、遷移キーは「F」のみであり、検索キーが文字列
「DED」の三文字目の「D」なので遷移キーと一致せ
ず、検索を終了する。
【0033】以上の説明において、子ノード探索手段フ
ラグ402は、あらかじめ辞書作成時にそれぞれノード
に対して設定しておく。このように、トライ構造の各ノ
ードでは、最適な子ノード探索方法がノードごとに異な
ってくるという特徴を考慮し、ノードごとに最適な子ノ
ード探索方法を設定可能な構造とすることで、検査速度
の向上が実現できる。なお、本実施形態の場合、子ノー
ド探索部104、105が探索に用いるアルゴリズムは
それぞれハッシュ探索、二分探索であるが、この場合、
ノードに接続している子ノードの数を閾値として分ける
方法が有効である。
【0034】なぜならば、ハッシュ探索は子ノードが多
い場合には高速に探索できるが、子ノードが少ない場合
は、わざわざハッシュ関数を計算し、ハッシュ値にあて
はまるアドレスをハッシュ値テーブル502から探し、
子ノードテーブル503をたどるよりも、二分探索で図
6の遷移テーブルをたどるほうが単純で速いからであ
る。
【0035】図10は、ある言語辞書に本発明を適用し
て実験した辞書検索速度である(文章からの一文切り出
し等を含むので辞書検索のみの速度ではない)。横軸に
は実験条件が並び、閾値以上の子ノードを持つノードに
対してハッシュ探索とし、閾値未満の子ノードを持つノ
ードに対し二分探索としている。縦軸が速度を表す。
【0036】予備実験で求めた同図により、本実施形態
の場合、閾値10の場合に最も効率が良いことがわかる
ので、子ノード10未満のノードに対して子ノード探索
手段フラグ402を0として二分探索を示し、子ノード
10以上のノードに対して子ノード探索手段フラグを1
としてハッシュ探索を示すようにデータベースを作成す
ることが有効である。しかしながら、本発明はこれに限
るものではなく、他の閾値を設定しても構わないし、子
ノードの数ではなく別の要因を基準にノードごとに子ノ
ード探索部を選択しても構わない。
【0037】
【第2の実施形態】上記実施形態においては、ハッシュ
探索による子ノード探索部104と、二分探索による子
ノード探索部105の二つを用意し、子ノード探索手段
フラグ402に基づいて、子ノード探索手段選択部10
6がノードごとに子ノード探索部を選択して遷移先の子
ノードを探索したが、本発明の子ノード探索手段はこれ
に限るものではなく、例えば遷移キーと子ノードの並ん
だ配列を順番に走査する単純な探索方法を採用しても構
わないし、他の手法を採用しても構わない。また、同じ
手法による子ノード探索部を異なるパラメータ(例えば
ハッシュ関数)で保持しても構わない。また、子ノード
探索部の数も二つに限るものではなく、複数であれば構
わない。
【0038】
【第3の実施形態】上記実施形態においては、データベ
ースに含まれる子ノード探索手段フラグ402が、複数
の子ノード探索部のいずれかを示しており、子ノード探
索手段選択部106がこのフラグを参照して子ノード探
索部を選択していたが、本発明はこれに限るものではな
く、例えば子ノードの数やデータの大きさなど、何らか
のパラメータを子ノード探索手段フラグに持たせ、それ
を判断基準として子ノード探索手段選択部において選択
すべき子ノード探索部を決定しても良い。
【0039】この場合は同一のデータベースでもデータ
ベース検索装置側で様々な閾値を調整できる。ただし本
実施形態は、複数の子ノード探索部が、配列順探索と二
分探索であるときや、パラメータの相違であるときな
ど、遷移テーブルの構成が同一であるときのみ可能であ
る。
【0040】また、子ノードの数を基準に子ノード探索
手段選択部において選択すべき子ノード探索部を決定す
る場合は、子ノードの数は管理テーブルの404に情報
があるため、子ノード探索手段選択フラグは不要とな
る。
【0041】
【第4の実施形態】上記実施形態においては、入力文字
中で先頭文字から一致する文字列すべてに対して、デー
タを取得していた。例えば、図2のトライ構造をもつデ
ータベースに「DEF」を入力した場合、「D」に対応
するデータ、「DE」に対応するデータ、「DEF」に
対応するデータの全てを取得するように説明した。しか
し、本発明はこれに限るものではなく、例えば入力文字
列と完全一致する「DEF」のデータのみを取得するよ
うにしても構わない。
【0042】
【第5の実施形態】上記実施形態において説明したデー
タベース、管理テーブル、遷移テーブル、データテーブ
ルのフォーマットはこれに限るものではなく、上記実施
形態で説明した機能を満たすものならばどのようなフォ
ーマットでも構わない。
【0043】また上記実施形態では、トライ構造の中
で、状態遷移先のあるノードとデータを持つノードをは
っきり分けるため、入力文字との比較なしに遷移してデ
ータを取得させるφノードを用意したが、本発明はこれ
に限るものではなく、φノードを用意せずに子ノードを
持つノードにデータをつなげても構わない。
【0044】この場合、図2のトライ構造は図11のよ
うになる。この場合、各ノードは子ノードを持ち得る
し、かつデータを持ち得る。そのため管理テーブルは図
12のように設計する必要がある。同図において、12
01は子ノード探索手段フラグ、1202は遷移テーブ
ルのアドレス、1203は子ノードの数、1204はデ
ータのアドレス、1205はノードにつながっているデ
ータの数である。
【0045】同図において、各ノードでは、まずノード
につながっているデータの数1205を確認し、データ
があればデータのアドレス1204を参照してデータを
得る。そして、子ノードの数1203を確認し、子ノー
ドがなければ探索を終了させ、子ノードがあれば子ノー
ド探索手段フラグ1201により使用する子ノード探索
部を決定し、遷移テーブルのアドレス1202を参照し
てキーを探索する。
【0046】
【他の実施形態】なお、本発明の装置は、複数の機器か
ら構成されるシステムに適用しても、1つの機器からな
る装置に適用してもよい。前述した実施形態の機能を実
現するソフトウエアのプログラムコードを記録した記録
媒体を、システム或いは装置に供給し、そのシステム或
いは装置のコンピュータ(またはCPUやMPU)が記
録媒体に格納されたプログラムコードを読み出し実行す
ることによっても、達成されることは言うまでもない。
この場合、記録媒体から読み出されたプログラムコード
自体が前述した実施形態の機能を実現することになり、
そのプログラムコードを記録した記録媒体は本発明を構
成することになる。
【0047】プログラムコードを供給するための記録媒
体としては、例えば、フロッピー(登録商標)ディス
ク、ハードディスク、光ディスク、光磁気ディスク、C
D−ROM、CD−R、磁気テープ、不揮発性のメモリ
カード、ROMなどを用いることができる。
【0048】また、コンピュータが読み出したプログラ
ムコードを実行することにより、前述した実施形態の機
能が実現されるだけでなく、そのプログラムコードの指
示に基づき、コンピュータ上で稼働しているOSなどが
実際の処理の一部または全部を行い、その処理によって
前述した実施形態の機能が実現される場合も含まれるこ
とは言うまでもない。
【0049】更に、記録媒体から読み出されたプログラ
ムコードが、コンピュータに挿入された機能拡張ボード
やコンピュータに接続された機能拡張ユニットに備わる
メモリに書き込まれた後、そのプログラムコードの指示
に基づき、その機能拡張ボードや機能拡張ユニットに備
わるCPUなどが実際の処理の一部または全部を行い、
その処理によって前述した実施形態の機能が実現される
場合も含まれることは言うまでもない。
【0050】
【発明の効果】以上説明したように本発明によれば、入
力された文字列に対応するデータを、トライ構造を有す
るデータベースから検索する場合において、検索速度の
向上が可能となる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態にかかるデータベース
検索装置の機能ブロックを表す図である。
【図2】本発明の第1の実施形態にかかるデータベース
のトライ構造を表す図である。
【図3】本発明の第1の実施形態にかかるデータベース
の構成を表す図である。
【図4】本発明の第1の実施形態にかかる管理テーブル
を表す図である。
【図5】本発明の第1の実施形態にかかるハッシュ探索
時に用いる遷移テーブルを表す図である。
【図6】本発明の第1の実施形態にかかる二分探索時に
用いる遷移テーブルを表す図である。
【図7】本発明の第1の実施形態にかかるデータテーブ
ル表す図である。
【図8】本発明の第1の実施形態にかかるハッシュ探索
時に用い、φノードを含む遷移テーブルを表す図であ
る。
【図9】本発明の第1の実施形態にかかる二分探索時に
用い、φノードを含む遷移テーブルを表す図である。
【図10】本発明の第1の実施形態にかかる子ノード探
索手段フラグを様々な閾値で設定した場合の辞書引き速
度の実験結果を表す図である。
【図11】本発明の第5の実施形態にかかるデータベー
スのトライ構造を表す図である。
【図12】本発明の第5の実施形態にかかる管理テーブ
ルを表す図である。

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 入力された文字列に対応するデータを、
    トライ構造を有するデータベースから検索するデータベ
    ース検索装置であって、 前記トライ構造の各ノードにおいて、前記入力された文
    字列に応じた子ノードを探索するための子ノード探索手
    段を複数有し、 各ノードにおいて使用する子ノード探索手段を前記複数
    の子ノード探索手段の中から各ノードごとに予め設定す
    る設定手段を備え、 前記設定手段において各ノードごとに設定された子ノー
    ド探索手段を用いて子ノードを探索することで、前記デ
    ータベースに保持されたデータを検索することを特徴と
    するデータベース探索装置。
  2. 【請求項2】 前記子ノード探索手段は、 前記文字列の先頭文字から順に1文字を検索キーとして
    入力し、該検索キーとノードから子ノードに遷移するた
    めの遷移キーとが一致する遷移キーを探索することで前
    記子ノードを探索することを特徴とする請求項1に記載
    のデータベース探索装置。
  3. 【請求項3】 前記各ノードが有する子ノードと前記遷
    移キーとを対応づける遷移テーブルを保持する手段と、 前記遷移テーブルが保持された位置を示すアドレスまた
    は前記データが保持された位置を示すアドレスのうちの
    少なくともいずれか一方と、前記設定手段により設定さ
    れた子ノード探索手段を示す識別子と、を含む管理テー
    ブルを保持する手段とを更に備えることを特徴とする請
    求項2に記載のデータベース検索装置。
  4. 【請求項4】 前記設定手段は、 各ノードが有する子ノードの数に応じて、各ノードにお
    いて使用する前記子ノード探索手段を設定することを特
    徴とする請求項1に記載のデータベース探索装置。
  5. 【請求項5】 前記複数の子ノード探索手段は、 二分探索法を利用した子ノード探索手段と、ハッシュ法
    を利用した子ノード探索手段とを備えることを特徴とす
    る請求項1に記載のデータベース探索装置。
  6. 【請求項6】 入力された文字列に対応するデータを、
    トライ構造を有するデータベースから検索するデータベ
    ース検索方法であって、 前記トライ構造の各ノードにおいて、前記入力された文
    字列に応じた子ノードを探索するための子ノード探索工
    程を複数有し、 各ノードにおいて使用する子ノード探索工程を前記複数
    の子ノード探索工程の中から各ノードごとに予め設定す
    る設定工程を備え、 前記設定工程において各ノードごとに設定された子ノー
    ド探索工程により子ノードを探索することで、前記デー
    タベースに保持されたデータを検索することを特徴とす
    るデータベース探索方法。
  7. 【請求項7】 前記子ノード探索工程は、 前記文字列の先頭文字から順に1文字を検索キーとして
    入力し、該検索キーとノードから子ノードに遷移するた
    めの遷移キーとが一致する遷移キーを探索することで前
    記子ノードを探索することを特徴とする請求項6に記載
    のデータベース探索方法。
  8. 【請求項8】 前記各ノードが有する子ノードと前記遷
    移キーとを対応づけた遷移テーブルを保持する工程と、 前記遷移テーブルが保持された位置を示すアドレスまた
    は前記データが保持された位置を示すアドレスのうちの
    少なくともいずれか一方と、前記設定工程により設定さ
    れた子ノード探索工程を示す識別子と、を含む管理テー
    ブルを保持する工程とを更に備えることを特徴とする請
    求項7に記載のデータベース検索方法。
  9. 【請求項9】 前記設定工程は、 各ノードが有する子ノードの数に応じて、各ノードにお
    いて使用する前記子ノード探索工程を設定することを特
    徴とする請求項6に記載のデータベース探索方法。
  10. 【請求項10】 前記複数の子ノード探索工程は、 二分探索法を利用した子ノード探索工程と、ハッシュ法
    を利用した子ノード探索工程とを備えることを特徴とす
    る請求項6に記載のデータベース探索方法。
  11. 【請求項11】 請求項6乃至10のいずれか1つに記
    載のデータベース検索方法をコンピュータによって実現
    させるための制御プログラムを格納した記憶媒体。
  12. 【請求項12】 請求項6乃至10のいずれか1つに記
    載のデータベース検索方法をコンピュータによって実現
    させるための制御プログラム。
JP2002096179A 2002-03-29 2002-03-29 データベース探索装置および探索方法ならびに記憶媒体、プログラム Pending JP2003296368A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2002096179A JP2003296368A (ja) 2002-03-29 2002-03-29 データベース探索装置および探索方法ならびに記憶媒体、プログラム
US10/391,578 US7222129B2 (en) 2002-03-29 2003-03-20 Database retrieval apparatus, retrieval method, storage medium, and program
US11/717,044 US7526497B2 (en) 2002-03-29 2007-03-13 Database retrieval apparatus, retrieval method, storage medium, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002096179A JP2003296368A (ja) 2002-03-29 2002-03-29 データベース探索装置および探索方法ならびに記憶媒体、プログラム

Publications (1)

Publication Number Publication Date
JP2003296368A true JP2003296368A (ja) 2003-10-17

Family

ID=29387374

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002096179A Pending JP2003296368A (ja) 2002-03-29 2002-03-29 データベース探索装置および探索方法ならびに記憶媒体、プログラム

Country Status (1)

Country Link
JP (1) JP2003296368A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101089424B1 (ko) 2008-10-01 2011-12-07 주식회사 케이티 트라이 구조를 이용한 문자열 저장 방법, 검색 방법, 삭제 방법 및 문자열 저장 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101089424B1 (ko) 2008-10-01 2011-12-07 주식회사 케이티 트라이 구조를 이용한 문자열 저장 방법, 검색 방법, 삭제 방법 및 문자열 저장 장치

Similar Documents

Publication Publication Date Title
US9195738B2 (en) Tokenization platform
JP3672242B2 (ja) パターン検索方法、パターン検索装置、コンピュータプログラム及び記憶媒体
US7526497B2 (en) Database retrieval apparatus, retrieval method, storage medium, and program
US8554561B2 (en) Efficient indexing of documents with similar content
JP2670383B2 (ja) 部分キー分岐機能を備えたプレフィックス探索ツリー
JP3554459B2 (ja) テキストデータ登録検索方法
JPH11212980A (ja) インデクス作成方法および検索方法
WO2018161548A1 (zh) 一种基于二值码字典树的搜索方法
CN102867049A (zh) 一种基于单词查找树实现的汉语拼音快速分词方法
CA2275391C (en) File processing method, data processing device, and storage medium
JP2008198237A (ja) 構造化文書管理システム
JP2003242179A (ja) 文字列照合方法、これを用いた文書処理装置及びプログラム
KR101089722B1 (ko) 프리픽스 트리 기반 색인 방법 및 장치, 그 기록 매체
JP2003296368A (ja) データベース探索装置および探索方法ならびに記憶媒体、プログラム
JP2000339332A (ja) 検索インデックスを記録した媒体、検索インデックス更新方法、その装置、そのプログラムを記録した媒体
JPH08190571A (ja) 文書検索方法
JP4091586B2 (ja) 構造化文書管理システム、索引構築方法及びプログラム
JP4319827B2 (ja) 文書検索プログラム
JPH10240741A (ja) 木構造型データの管理方法
JP2009175896A (ja) 情報検索装置及び方法及びプログラム及びコンピュータ読取可能な記録媒体
JP2002041567A (ja) データベース管理方法及びその実施装置並びにその処理プログラムを記録した記録媒体
JPH1153400A (ja) 構造化文書検索装置及びプログラムを記録した機械読み取り可能な記録媒体
JPH09212523A (ja) 全文検索方法
JP2002149702A (ja) 木構造情報検索方法および装置
CN116304156A (zh) 图片检索方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080418

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080613

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080728

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080926

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081208