JPH0721805B2 - 辞書デ−タ検索方式 - Google Patents

辞書デ−タ検索方式

Info

Publication number
JPH0721805B2
JPH0721805B2 JP61039215A JP3921586A JPH0721805B2 JP H0721805 B2 JPH0721805 B2 JP H0721805B2 JP 61039215 A JP61039215 A JP 61039215A JP 3921586 A JP3921586 A JP 3921586A JP H0721805 B2 JPH0721805 B2 JP H0721805B2
Authority
JP
Japan
Prior art keywords
index file
dictionary data
block
sub
file
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 - Lifetime
Application number
JP61039215A
Other languages
English (en)
Other versions
JPS62197822A (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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP61039215A priority Critical patent/JPH0721805B2/ja
Publication of JPS62197822A publication Critical patent/JPS62197822A/ja
Publication of JPH0721805B2 publication Critical patent/JPH0721805B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、カナ漢字変換辞書、言語翻訳辞書、など、見
出し語に対応するデータ(文字列)を検索する方式に係
り、特に、大容量辞書データを検索するのに好適な辞書
データ検索方式に関する。
〔従来の技術〕
従来辞書データファイルを検索する方法として、例えば
特開昭55-83962号、特開昭56-38661号に記載されている
方法がある。これらの方法は、見出し語の1文字目もし
くは2文字目までを第1次検索対象として検索し、得ら
れたアドレス情報より3文字目以降が格納されている辞
書本体を第2次検索する方法である。
〔発明が解決しようとする問題点〕
上記従来技術は、大容量辞書データファイルを接続した
場合の辞書データ検索方法について配慮がされておら
ず、見出し語の2文字までが一致しても、3文字目以降
が異なる大量の辞書データを検索するため、検索時間の
増大を招くという問題があった。
本発明の目的は、大容量辞書データファイルを高速に検
索でき、かつ少ないバッファメモリで実現できる辞書デ
ータ検索方式を提供することにある。
〔問題点を解決するための手段〕
上記目的を達するため、本発明は、大容量辞書データフ
ァイルが格納されているドライブの物理的最少単位(1
セクタ)を基準として、辞書データファイルの各セクタ
の先頭の見出し語のみを集めたサブインデックスファイ
ルを作成し、さらにサブインデックスの各セクタの先頭
見出し語のみを集めた1セクタのマスタインデックスを
作成して、大容量辞書データファイルを検索する。
その際、必要とするバッファメモリの大きさは、1セク
タであるマスタインデックスを読み込む場合、1セク
タ、そのマスタインデックスにより、サブインデックス
の該当セクタ(1セクタ)を読み込む場合、1セクタ、
さらにそのサブインデックスにより、大容量辞書データ
ファイルの該当する見出し語の格納されているセクタを
読み込む場合、1セクタとなり、1セクタの大きさのバ
ッファメモリを用意するだけで、大容量辞書データファ
イルを検索することができる。
〔作用〕
本発明の動作について、以下説明する。
マスタインデックスファイルを読み出し、検索すべき文
字列が、マスタインデックスファイルの見出し語列のn
番目と一致もしくは、n番目と(n+1)番目の間にあ
ることを検索(第1次)する。次にサブインデックスフ
ァイルのn番目のセクタを読み出す。検索すべき文字列
が、読み出したサブインデックス(1セクタ)の見出し
語列のm番目と一致もしくは、m番値と(m+1)番目
の間にあることを検索(第2次)する。次に、サブイン
デックスの各セクタごとに設定されている辞書データフ
ァイルに対するオフセット値kを用いて、辞書データフ
ァイルの(k+m)番目のセクタを読み出す。読み出し
た辞書データファイルの見出し語と検索すべき文字列と
を比較し、一致する見出し語を検索(第3次)する。
これらの動作により、どのような検索すべき文字列で
も、常にマスタインデックスファイル、サブインデック
スファイル、辞書データファイルを各1回計3回アクセ
スするだけで目的とする見出し語を検索することがで
き、高速に大容量辞書データファイルを検索することが
できる。また、その際に必要とするバッファメモリの大
きさは、マスタインデックスファイル(1セクタ)、サ
ブインデックスファイル(該当すべき1セクタ)、辞書
データファイル(該当すべき1セクタ)を読み出すのに
各1セクタ分必要とし、その都度バッファメモリの内容
を書き換えて共通に使用することにより、1セクタ分の
みのバッファメモリサイズで充分である。
〔実施例〕
以下、本発明の一実施例を第1図、第2図、第3図によ
り説明する。第2図及び第3図は本発明の主要部分であ
る辞書データの構造を示しており、第1図は辞書検索を
行う装置10のブロック図である。装置10は検索するコー
ドを入力し検索した結果を出力する入出力装置19と、辞
書1及びその他のデータを記憶する外部記憶装置(第1
の記憶装置)14と、CPU(中央処理装置)11からの指令
に従って外部記憶装置14を制御する制御回路12と、CPU1
1から直接読み書きされる内部メモリ(第2の記憶装
置)13と、入出力装置19及び制御回路12を内部メモリ15
のプログラム領域15に格納されたプログラムに従って制
御し辞書検索を遂行するCPU11から構成される。又、内
部メモリ13はプログラム領域15、作業領域16、マスタイ
ンデックスファイル領域17、バッファ領域18に分割され
ている。以下に装置10の動作の概略を説明する。入出力
装置19から入力された語はCPU11にとりこまれ、CPU11は
該語をもとに辞書1を検索する。検索の結果はCPU11に
より入出力装置19へ出力され、一連の動作を終了する。
本発明の主要部分である辞書検索について更に説明を加
える。辞書1は第3図に示すように、マスタインデック
スファイル100、サブインデックスファイル200、辞書本
体(辞書データファイル)300から構成されている。第
1図を用いて辞書1の構成を説明する。辞書本体300
は、アイウエオ順に並べられた見出し語と該見出し語に
対応する辞書内容から構成されている。すなわち、見出
し語311の“ア”に対応する辞書内容311a“亜”、311b
“阿”、311c“合”等を1レコードとして、続く見出し
語312“アア”のコレード、と以下同様にレコードが続
き、辞書本体300を構成する。又、辞書本体300は、ある
一定の長さごとにブロックとして切り分け、各々第1ブ
ロック310、第2ブロック320…とする。サブインデック
スファイル200は辞書本体300の各ブロックの先頭の見出
し語を集めて形成されている。すなわち、辞書本体300
の第1ブロック310の最初の見出し語311“ア”がサブイ
ンデックスファイル200の最初の見出し語211“ア”とな
り、辞書本体300の第2ブロック320の最初の見出し語32
1“アカツキ”がサブインデックスファイル200の次の見
出し語212“アカツキ”となる。以下同様にして辞書本
体300の各ブロックの最初の見出し語を順次集めること
で、サブインデックスファイル200が作られる。このと
き、サブインデックスファイル200の見出し語は、辞書
本体300の見出し語と同様、アイウエオ順に並んでい
る。サブインデックスファイル200も辞書本体300と同
様、ある一定の長さのブロックに切り分けられ、第1の
ブロック210、第2のブロック220…としている。マスタ
インデックスファイル100は、サブインデックスファイ
ル200の各ブロックの最初の見出し語を集めて作られ
る。すなわち、サブインデックスファイル200の第1の
ブロック210の最初の見出し語211“ア”がマスタインデ
ックスファイル100の最初の見出し語101“ア”となり、
サブインデックスファイル200の第2のブロックの最初
の見出し語221“キョクゲイ”がマスタインデックスフ
ァイル100の次の見出し語102“キョクゲイ”となる。以
下この作業をくり返すことによってマスタインデックス
ファイル100が形成される。マスタインデックスファイ
ル100の見出し語もアイウエオ順に並んでいる。以上の
方法で構成された辞書1のマスタインデックスファイル
100、サブインデックスファイル200の見出し語は以下の
特徴を持つ。マスタインデックスファイル100の2つの
隣接する見出し語InとIn+1に対してアイウエオ順の順
位が、In≦x<In+1にある語xは、サブインデックス
ファイル200の第nブロック中の隣接する2つの見出し
語Jnk≦x<Jnk+1、若しくはJnk≦x<In+1の関係を
持ち、更に辞書本体300の第S番目のブロック中に該当
する見出し語が存在する。ここでサブインデックスファ
イル200中の各ブロック内の見出し語数をamとすれば、 である。従ってマスタインデックスファイル100の各見
出し語をカウントしながら順次比較し、x<Ipとなった
ところでやめ、サブインデックスファイル200の第p-1
ロックを内部メモリ13中のバッファ領域18にロード、更
に各見出し語をカウントしながら順次比較し、x<Jqと
なったところでやめ、先の を求め、辞書本体300の第Sブロックをバッファ領域18
にロード、見出し語と順次比較して目的の辞書内容を得
る。マスタインデックスファイル100は検索処理に毎回
使用されるので内部メモリ13中にマスタインデックスフ
ァイル領域17を設けてあらかじめ外部記憶装置14からロ
ードしておく。一例として語“アガナ”の検索手順を示
す。まず、マスタインデックスファイル100の見出し語1
01の“ア”と比較、より後順であるから続く見出し語10
2“キョクゲイ”と比較、より前順であるからマスタイ
ンデックスファイル100の検索を終える。この間にカウ
ントした見出し語は2こであるので2−1=1を求めサ
ブインデックスファイル200の第1ブロック210をバッフ
ァ領域18にロードする。サブインデックスファイル200
の第1の見出し語211“ア”より“アガナ”は後順のた
め、続く見出し語212“アカツキ”と比較、より後順で
あるから続く見出し語213“アジ”と比較、前順にあた
るのでサブインデックスファイル200の検索を終了す
る。この間にカウントした見出し語は3こであり、又第
1ブロック210以前には見出し語が であることから、 を求め、辞書本体300の第2ブロック320をバッファ領域
18にロードする。辞書本体300の第2ブロックの第1の
見出し語321“アカツキ”は語“アガナ”と異なるた
め、次の見出し語322“アガナ”と比較、一致したので
内容322a“購、贖”を得る。
本実施例によれば、辞書1の使用する部分だけを内部メ
モリ13にロードするため、内部メモリの効率向上に効果
がある。又本実施例によれば固定長のブロックのサイズ
を小さく設定することで、必要とされるバッファ領域18
を小さくすることができるので、小メモリ化の効果があ
る。更に本実施例では検索のために辞書1の一部を外部
記憶装置14からロードする回数が常に2回であるため、
検索処理時間の安定化、高速化に効果がある。加えて本
実施例では、辞書1が大容量であっても検索に使用する
内部メモリ13を小さくすることが可能であり、かつ2回
の外部記憶装置14からのロードで済むため小型の電子計
算機でも充分高速な検索が可能であるため、大容量辞書
検索装置の価格低減に効果がある。
第2の実施例を第4図を用いて説明する。第1の実施例
においては辞書検索毎に使用するマスタインデックスフ
ァイル100を内部メモリ13の中にマスタインデックスフ
ァイル領域17を設けて常駐させている。本実施例におい
ては第4図に示すようにマスタインデックスファイル10
0は特定の領域を持たず、バッファ領域18に検索毎にロ
ードして使用する。
本実施例によれば、マスタインデックスファイル領域17
を占有しない分、メモリの小サイズ化の効果がある。
第3の実施例を以下に説明する。サブインデックスファ
イル200及び辞書本体300は各々ある特定の長さのブロッ
クに分けられている。本実施例においてはこのブロック
の長さを外部記憶装置14並びに制御回路12が取り扱い得
る最小のデータ長又は最小のデータ長の調整倍としてい
る。
本実施例によれば、サブインデックスファイル200及び
辞書本体300のあるブロックを内部メモリ13上にロード
する場合、外部記憶装置14における物理的アドレスを容
易に求められるため、検索時間短縮の効果がある。ま
た、本実施例によれば外部記憶装置14から内部メモリ13
上へロードされるデータに無駄な部分がないため省メモ
リ化の効果があり、ブロックとロードされたデータの先
頭・末尾が一致するので、ブロックの先頭を探す、先頭
をつめるために転送する、といった処理が不要となり、
検索処理時間短縮の効果がある。
第4の実施例を第5図を用いて説明する。辞書本体300
が非常に大きくブロックの数が多大なものである場合、
サブインデックスファイル200もまた大きくなり多数の
ブロックを有することとなる。従ってマスタインデック
スファイル100に含まれる見出し語の数が大きくなり、
サイズがサブインデックスファイル200のブロックサイ
ズで複数のブロックに相当する場合がある。このとき、
サブインデックスファイル200の各ブロックの先頭の見
出し語を集めたものをサブインデックスファイルA(第
2のサブインデックスファイル)400とし、更にサブイ
ンデックスファイルA400をブロック分割して各ブロック
の先頭の見出し語を集めてマスタインデックスファイル
100を形成する。もし、サブインデックスファイルA400
のブロック数が多く、従って各ブロックの先頭の見出し
語を集めたものが大きい場合は、サブインデックスファ
イルB(第3のサブインデックスファイル)として、サ
ブインデックスファイルBをブロック分割し各々のブロ
ックの先頭の見出し語を集めてマスタインデックスファ
イル100を形成する。以上の動作をくり返し複数のサブ
インデックスファイルn(第nのサブインデックスファ
イル)を設けることによって、マスタインデックスファ
イル100のサイズを制限する。サブインデックスファイ
ルnが複数ある場合の検索方法を第5図に示した、サブ
インデックスファイルnが2段である場合について説明
する。まずマスタインデックスファイル100を検索、第
1の実施例に示した手順でサブインデックスファイルA4
00から特定のブロックを導く。サブインデックスファイ
ル200に対するサブインデックスファイルA400の関係は
サブインデックスファイルA400に対するマスタインデッ
クスファイル100の関係と同じであることから、サブイ
ンデックスファイルA400の特定のブロックをマスタイン
デックスファイル100と同じ方法で検索し、同じように
サブインデックスファイル200から特定のブロックを導
く。サブインデックスファイル200の特定のブロックを
検索して辞書本体300の特定ブロックを導き、辞書本体3
00の特定ブロックから検索目的であるレコードを得る方
法については第1の実施例に述べた通りである。更にサ
ブインデックスファイルの数が増した場合も同じ処理の
くり返しから検索動作を実現できる。
本実施例によれば、サブインデックスファイルの段数を
増やすことで非常に多くの見出し語を持つ辞書の検索を
小容量のメモリで実現できるため省メモリ化の効果があ
る。又、本実施例によれば、サブインデックスファイル
の段数を増やした場合でも同じ検索処理のくり返しで検
索動作を実現できるため、検索処理の単純化の効果があ
る。更に本実施例によれば、サブインデックスファイル
の段数が増加した場合、外部記憶装置14からデータをロ
ードする回数は増加するものの、毎回検索する見出し語
の量がバッファ領域18の大きさに限定されたものである
ため処理時間全体を短くすることができるので、検索時
間短縮の効果がある。
第5の実施例を以下に説明する。サブインデックスファ
イル200の各ブロックの先頭に見出し語に先立ち当該ブ
ロックより前に位置するブロックの中に含まれている見
出し語の総数をオフセットとして記録しておく。第1の
実施例に示したようにサブインデックス100のある特定
のブロックを検索し続く辞書本体300の特定ブロックを
決定するためには、サブインデックスファイル200中の
当該ブロックより前に位置する全てのブロックに含まれ
る見出し語の総数と検索の結果カウントした見出し語の
数の和より1引いた値を求める必要がある。本実施例で
はブロックの先頭にあるオフセットの値に見出し語を順
次検索しつつカウントした値を加えることから続く辞書
本体300内のブロックを特定する。
本実施例によれば、検索の際に容易にブロック番号を得
られるので検索時間短縮の効果がある。また本実施例に
よれば、辞書1を変更して見出し語数が変わっても検索
処理手順は同じでよいため、辞書1の拡張性をよくする
効果がある。
第6の実施例を以下に説明する。本実施例では、マスタ
インデックスファイル100の第1の見出し語101の前にサ
ブインデックスファイル200の先頭の外部記憶装置14上
の論理的または物理的アドレスデータをおき、又、サブ
インデックスファイル200の各ブロックの先頭に各ブロ
ックの先頭の見出し語が示す辞書本体300のブロックの
先頭の外部記憶装置14上の論理的または物理的アドレス
データをおく。辞書検索において、該アドレスデータに
(各ブロックもしくはマスタインデックスファイル100
中の検索においてカウントした見出し語数(n−1)×
ブロック長lの演算結果を加算することによって実際に
外部記憶装置14からロードするサブインデックスファイ
ル200中の特定ブロックもしくは辞書本体300中の特定ブ
ロックの論理的または物理的アドレスを得られる。
本実施例によれば、外部記憶装置14上の論理的又は物理
的アドレスを容易に求められるので、検索時間短縮の効
果がある。また本実施例によれば検索処理手順を変える
ことなく見出し語数を変えることができるので、辞書の
拡張性向上の効果がある。更に、本実施例によれば、検
索処理手順を変えることなくサブインデックスファイル
200、辞書本体300の外部記憶装置14上の配置を変更する
ことができるので、外部記憶装置14のメモリ効率向上の
効果がある。
第7の実施例を以下に説明する。マスタインデックスフ
ァイル100及びサブインデックスファイル200の各ブロッ
クの先頭にはそれぞれ第5、第6の実施例で説明したオ
フセットデータがおかれている。更に本実施例では辞書
本体300の各ブロックの先頭にオフセットデータとして
使用されないデータをターミネータ(識別コード)とし
ておいている。第4の実施例において説明したように、
マスタインデックスファイル100からサブインデックス
ファイル200のあるブロックを導く方法、また、サブイ
ンデックスファイル200のあるブロックを検索して辞書
本体300のあるブロックを導く方法、更にサブインデッ
クスファイルが多数ある場合に上位のサブインデックス
ファイルから下位のサブインデックスファイルを導く方
法は全て同一である。従って、ロードしたブロックの先
頭がターミネータになるまで、順次下位のインデックス
ファイルを導く動作を繰り返し、ターミネータを検出し
た時点で辞書本体300の検索方式に切り換える。
本実施例によれば、検索処理手順を変えることなくサブ
インデックスファイルの段数を変更できるので、辞書1
の拡張性を高め、検索処理を汎用化する効果がある。
第8の実施例を第6図を用いて説明する。辞書本体300
は見出し語及び内容から成るレコードを単位として構成
されている。この見出し語311と内容311aの間に見出し
語の末尾を示す区切り記号314、次の見出し語までの距
離を示す長さデータ(相対アドレス値)315、長さデー
タ315の終わりを示す区切り記号316を配置し、また内容
311aと内容311bの区切りを示す区切り記号317、レコー
ド全体の区切りを示す区切り記号318を配置している。
辞書本体300の検索において、語と見出し語が一致した
場合はその内容を長さデータ315の区切り記号316に後続
するデータから得、語と見出し語が一致しない場合は長
さデータ315をもとに次のレコードの先頭位置を求め
て、次の見出し語と語を比較、以下順次繰り返すことで
一致する見出し語を検索する。
本実施例によれば各レコードの長さ、レコード内の見出
し語長及び内容の長さを可変長にすることができるの
で、辞書本体300のメモリ効率向上の効果がある。また
本実施例によれば、見出し語が一致しなかった場合に次
の見出し語が容易に求められるので、検索速度向上の効
果がある。
第9の実施例を第7図を用いて説明する。サブインデッ
クスファイル200に含まれている見出し語と見出し語の
間に見出し語には用いられないコードであるターミネー
タ(識別コード)215を設ける。サブインデックスファ
イル200の検索で語より後順の見出し語を得るために順
次見出し語と比較する際に次の見出し語を探す場合、タ
ーミネータ215を探すことによって次の見出し語を見つ
ける。マスタインデックスファイル100及び複数のサブ
インデックスファイルについても同様にして見出し語を
ターミネータで区切り、次々に見出し語を得ることがで
きる。
本実施例によれば、見出し語の長さを可変長にすること
ができるため、マスタインデックスファイル100及びサ
ブインデックスファイルのメモリ効率向上の効果があ
る。
第10の実施例を以下に説明する。マスタインデックスフ
ァイル100及びサブインデックスファイル200、辞書本体
300の見出し語がカタカナであった場合、カタカナに対
応する8ビット=1バイトのコードは通常10100110
(=)〜11011110(=)であり、常に最上位ビットが
“1"となっている。また、該見出し語が英数字であった
場合各々の文字に対応するコードはASCIIコードであれ
ば00100000(=)〜01111111(=)である。従って、第
8、第9の実施例のように見出し語の区切りに特別な記
号を置くかわりに、見出し語の最後の文字のビットを操
作して見出し語の区切りとすることができる。例えば見
出し語がカタナカで構成されている場合、各文字の最上
位ビットは常に“1"であるから見出し語の最後の文字の
最上位ビットを“ ”にすることで文字列の区切りとする。見出し語を語と
比較する場合には見出し語の最後の文字の最上位ビット
を“1"にしてもとのカタカナコードに戻す。同様にして
ASCIIコード、シフトJISコード、区点コードも語の識別
に関与しない固定の値をとるビットを反転させることに
より文字列の区切りを示すことで辞書本体300中のレコ
ードとレコード、レコード中の内容と内容の区切りをつ
けることができる。
本実施例によれば区切り記号を追加することなく文字列
そのものに区切りマークを追加し可変長データを扱うこ
とができるので、メモリ効率向上の効果がある。
第11の実施例を以下に説明する。辞書本体300の見出し
語に対応する内容に、外部記憶装置14上の特定のアドレ
スを示す、アドレスデータを格納する。該アドレスデー
タの指し示す場所には画像情報及び音声情報等見出し語
によって順序を与えられたデータ、大容量のデータが格
納されている。検索処理によって得た辞書内容であるア
ドレスデータをもとに該データをロードする。
本実施例によれば、大容量のデータを辞書本体300の外
におくことにより辞書本体300を小さくし、またブロッ
クに含まれる見出し語数が多くなので、検索時間短縮の
効果がある。
第12の実施例を第8図を用いて説明する。辞書本体300
の第1のブロック310の最後の見出し語319が“アカス”
であり、第2のブロック320の最初の見出し語321が“ア
カツキ”であるような場合、第2のブロック320に対応
するサブインデックス200の見出し語212′を“アカツ”
(識別可能語頭部)とする。辞書本体300の第1ブロッ
ク310に含まれる全ての見出し語は最後の見出し語319の
“アカス”より前順にあり、“アカツ”は“アカス”よ
り後順か第2のブロック220の先頭の見出し語221“アカ
ツキ”より前順であることから検索手順は既に述べた方
法と同一でよい。すなわち、第nブロック最終の見出し
語I(n,m)と続く第(n+)ブロックの先頭の見出し
語I(n+,)に対しI(n,m)<Ix<I(n+,)な
る語Ixを上位のサブインデックスファイル又はマスタイ
ンデックスファイル100の見出し語として用いることが
できる。
本実施例によれば、見出し語として用いることのできる
語のうち語長の最も短いものを用いることによりサブイ
ンデックスファイルならびにマスタインデックスファイ
ル100のサイズを小さくできるので、省メモリ化の効果
がある。また、本実施例によれば、検索の際に比較する
語長の短い見出し語を使うことができるので、検索時間
短縮の効果がある。
第13の実施例を第9図によって説明する。辞書本体300
の各ブロックの先頭の見出し語は、サブインデックスフ
ァイル200の見出し語となった後辞書本体300から削除さ
れている。検索処理において、サブインデックスファイ
ル200の検索中に検索する語と一致する見出し語があっ
た場合、その見出し語に対応する辞書本体300のブロッ
クの最初に記された辞書内容を求めることで検索目標の
内容を得る。同様にしてサブインデックスファイル20
0、もしくは第2のインデックスファイルの各ブロック
の先頭の見出し語を省略することができる。
本実施例によれば、重なる見出し語を省略することがで
きるので、省メモリ化の効果がある。また、本実施例に
よれば、ブロック先頭の見出し語は上位のサブインデッ
クスファイルもしくはマスタインデックスファイルから
直接参照されるので検索処理が短くなり、平均検索時間
を短縮する効果がある。
第14の実施例を第10図を用いて説明する。辞書1は外部
記憶装置14上に第10図に示すように配置されている。す
なわち、マスタインデックスファイル100は辞書1全体
の中央に位置し、サブインデックスファイル200はブロ
ックごとに分割され、各ブロック中の見出し語が示す辞
書本体300の該当ブロックが近くに集まるように辞書本
体300を分割して配置する。従ってマスタインデックス
ファイル100からサブインデックスファイル200の各ブロ
ックとの外部記憶装置14上のアドレスの隔たりの総和が
最小となり、又、サブインデックスファイル200の各ブ
ロックに対して、各々のブロックに含まれる見出し語が
示す辞書本体300の該当ブロックとのアドレスの隔たり
の総和が最小となる構成になる。
本実施例によれば、辞書検索処理において外部記憶装置
14から順次ロードするデータが外部記憶装置14上の近い
場所に常にあるため、外部記憶装置14のアクセス時間を
短縮できるので、検索時間を短縮する効果がある。
第15の実施例を以下説明する。マスタインデックスファ
イル100の検索によりサブインデックスファイル200の特
定のブロックを導いた時点で、次に導かれる辞書本体30
0の特定ブロックが辞書本体300のおよそどのあたりに位
置するかを予想することができる。すなわち、サブイン
デックスファイル200の第1のブロックに含まれる見出
し語が示す辞書本体300のブロックが第1〜第nブロッ
ク、サブインデックスファイル200の第2のブロックに
含まれる見出し語が示す辞書本体のブロックが第n+1
第m(m>n+1)とすると、マスタインデックスファイ
ル100の検索の結果、サブインデックスファイル200の第
2のブロックが導かれた場合、次に導く辞書本体300の
ブロックは第n+1〜第mのブロックのうちの何れかであ
る。従って、サブインデックスファイル200の特定ブロ
ックを外部記憶装置14からロードした後すぐに外部記憶
装置14に辞書本体300の をアクセスする制御を行う。外部記憶装置14が をアクセスしている間にCPU11はさきにロードしたサブ
インデックスファイル200の特定ブロックの検索を行
う。
本実施例によれば、サブインデックスファイル200の検
索と外部記憶装置14のアクセス動作を並行して行うた
め、検索処理時間を短縮する効果がある。
〔発明の効果〕 本発明によれば、ブロックサイズとして限られたメモリ
容量で大容量の辞書を検索できるので、メモリ効率向上
の効果がある。
また本発明によれば、小メモリの小型電子計算機を用い
て大容量辞書の検索ができるので、辞書検索装置の価格
低減の効果がある。
更に本発明によれば、多数の見出し語を集めブロック分
割し、各々のブロックの先頭の見出し語を集めて上位の
サブインデックスファイルもしくはマスタインデックス
ファイルを形成するため、上位のサブインデックスファ
イルもしくはマスタインデックスファイルに並ぶ見出し
語は隣合った見出し語同志であっても文字の重なりが少
なくなり、検索の際に比較する文字数が少なくてよいの
で、検索時間を短縮する効果がある。例えば第1図に見
られる辞書において、語“アガナ”の検索の場合、マス
タインデックスファイルの見出し語との比較は、“ア”
と“キ”のみでよい。続くサブインデックスファイルで
は“ア”、“アカ”、“アビ”で順関係は判別可能であ
り、辞書本体において、“アカ”、“アガナ”の比較で
所与の見出しを得る。もし、辞書本体の見出し語を最初
から検索したとすれば第1ブロックの全ての見出し語の
頭2文字を検査することになる。
加えて本発明によれば、順序関係もしくは大小関係の規
定されたデータであれば見出し語に用いることができ、
カタカナ見出し語(アイウエオ順)、英語見出し語(AB
C順)、数字見出し語(123順)などに利用することがで
きる。どのような検索すべき文字列でも、常にマスタイ
ンデックスファイル、サブインデックスファイル、辞書
データファイルを各1回計3回アクセスするたけで目的
とする見出し語を検索することができ、高速に大容量辞
書データファイルを検索することができる。
また、その際に必要とするバッファメモリの大きさは、
マスタインデックスファイル(1ブロック)、サブイン
デックスファイル(該当すべき1ブロック)、辞書デー
タファイル(該当すべき1ブロック)を読み出すのみ各
1ブロック分必要とし、その都度バッファメモリの内容
を書き換えて共通に使用することにより、1ブロック分
の少ないバッファメモリの大きさで充分本発明を実現で
きる。
1ブロックの大きさを2048バイトとし、平均見出し語長
を5バイトとすると、1ブロックのマスタインデックス
ファイルで、410ブロックのサブインデックスファイル
を管理することができ、さらに、サブインデックスファ
イルの各ブロックがそれぞれ辞書データファイルの410
ブロック分を管理することができる。すなわち、1ブロ
ックのマスタインデックスファイルで、168100ブロック
(344メガバイト)の大容量辞書データファイルを管理
することができる。仮に2ブロック分のバッファメモリ
を用意したとすると、同様な計算により671000ブロック
(2.7ギガバイト)もの大容量辞書データファイルを管
理することができるなどの効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例を示すブロック図、第2図、
第3図は本発明の一実施例の辞書構造を説明するための
説明図、第4図は本発明の他の実施例を示すブロック
図、第5図、第6図、第7図、第8図、第9図、第10図
はそれぞれ本発明の別の実施例を説明する説明図であ
る。 1……辞書、10……辞書データ検索装置、11……CPU
(中央処理装置)、13……内部メモリ(第2の記憶装
置)、14……外部記憶装置(第1の記憶装置)、100…
…マスタインデックスファイル、200……サブインデッ
クスファイル、300……辞書本体(辞書データファイ
ル)。

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】辞書データを検索して見出し語に対する変
    換データを得る辞書データ検索方式において、 辞書データおよび複数の見出し語からなる辞書データフ
    ァイルを、それを記憶した第1の記憶手段の物理的最小
    アクセス単位(セクタ)もしくはその整数倍の長さのブ
    ロック単位で構成し、 該辞書データファイルの前記各ブロックの先頭見出し語
    を集めたサブインデックスファイルを前記ブロック単位
    で作成し、 さらに前記サブインデックスファイルの前記各ブロック
    の先頭見出し語を集めたマスタインデックスファイルを
    作成して、 該マスタインデックスファイルを第2の記憶手段に一時
    格納し検索すべき文字列の対応するマスタインデックス
    ファイル内の見出し語を検索し、 該見出し語に対する前記サブインデックスファイルの該
    当ブロックを前記第2の記憶手段に一時格納し検索すべ
    き文字列の対応するサブインデックスファイルの該格納
    されたブロック内の見出し語を検索し、 該見出し語に対する前記辞書データファイルの該当ブロ
    ックを前記第2の記憶手段に一時格納し前記辞書データ
    ファイルの該格納されたブロック内データを検索するこ
    とで、検索すべき文字列を得ることを特徴とする辞書デ
    ータ検索方式。
  2. 【請求項2】特許請求の範囲第1項記載の辞書データ検
    索方式において、前記マスタインデックスファイルを前
    記第2の記憶手段に常駐したことを特徴とする辞書デー
    タ検索方式。
  3. 【請求項3】特許請求の範囲第1項記載の辞書データ検
    索方式において、前記サブインデックスファイルが、該
    サブインデックスファイルの各ブロックの先頭見出し語
    のみを集めた第2のサブインデックスファイル、さらに
    同様な手法で生成した複数個のサブインデックスファイ
    ルから構成されたことを特徴とする辞書データ検索方
    式。
  4. 【請求項4】特許請求の範囲第1項記載の辞書データ検
    索方式において、前記サブインデックスファイルの各ブ
    ロックの先頭に、前記各ブロックの先頭見出し語か、前
    記サブインデックスファイル中の何番目の見出し語であ
    るかを示すオフセット値を記録したことを特徴とする辞
    書データ検索方式。
  5. 【請求項5】特許請求の範囲第1項記載の辞書データ検
    索方式において、前記マスタインデックスファイルおよ
    び前記サブインデックスファイルの各ブロックの先頭
    に、その各ブロックの先頭見出し語が格納されている前
    記辞書データファイルの該当する物理アドレスもしくは
    論理アドレスを示すアドレス値を記録したことを特徴と
    する辞書データ検索方式。
  6. 【請求項6】特許請求の範囲第1項もしくは第3項記載
    の辞書データ検索方式において、前記辞書データファイ
    ルの各ブロックの先頭に、インデックスファイルと区別
    するための識別コードを記録したことを特徴とする辞書
    データ検索方式。
  7. 【請求項7】特許請求の範囲第1項記載の辞書データ検
    索方式において、前記辞書データファイルの各見出し語
    の次に、次の見出し語との相対アドレス値を記録したこ
    とを特徴とする辞書データ検索方式。
  8. 【請求項8】特許請求の範囲第1項記載の辞書データ検
    索方式において、前記サブインデックスファイルおよび
    前記マスタインデックスファイルの各見出し語の最後に
    次の見出し語と区別するための識別コードを記録したこ
    とを特徴とする辞書データ検索方式。
  9. 【請求項9】特許請求の範囲第1項記載の辞書データ検
    索方式において、前記サブインデックスファイルおよび
    前記マスタインデックスファイルの各見出し語の最後の
    文字コードを、次の見出し語との区別をするため、前記
    各見出し語の中で常に変化しない固定ビットを反転して
    記録したことを特徴とする辞書データ検索方式。
  10. 【請求項10】特許請求の範囲第1項記載の辞書データ
    検索方式において、前記辞書データファイルの前記見出
    し語に対応するデータとして、前記第1の記憶装置の物
    理アドレスもしくは論理アドレスを示すアドレス値列を
    記録したことを特徴とする辞書データ検索方式。
  11. 【請求項11】特許請求の範囲第1項記載の辞書データ
    検索方式において、前記マスタインデックスファイルお
    よび前記サブインデックスファイルの各見出し語を他の
    見出し語と識別可能な語頭部のみで構成したことを特徴
    とする辞書データ検索方式。
  12. 【請求項12】特許請求の範囲第1項記載の辞書データ
    検索方式において、前記辞書データファイルおよび前記
    サブインデックスファイルの各ブロックの先頭見出し語
    を省略したことを特徴とする辞書データ検索方式。
  13. 【請求項13】特許請求の範囲第1項記載の辞書データ
    検索方式において、前記マスタインデックスファイルお
    よび前記サブインデックスファイルを前記第1の記憶手
    段に記憶したことを特徴とする辞書データ検索方式。
  14. 【請求項14】特許請求の範囲第13項記載の辞書データ
    検索方式において、前記マスタインデックスファイルを
    前記辞書データファイルをほぼ2分するブロック位置
    に、また前記サブインデックスファイルの各ブロックを
    前記辞書データファイルの該当するブロックの近傍にそ
    れぞれ配置したことを特徴とする辞書データ検索方式。
  15. 【請求項15】特許請求の範囲第1項または第13項記載
    の辞書データ検索方式において、前記マスタインデック
    スファイルをアクセス直後に前記サブインデックスファ
    イルをほぼ2分するブロック位置に、また前記サブイン
    デックスファイルをアクセス直後に前記辞書データファ
    イルの該当するブロックの近傍に、あらかじめアクセス
    (シーク)しておくことを特徴とする辞書データ検索方
    式。
JP61039215A 1986-02-26 1986-02-26 辞書デ−タ検索方式 Expired - Lifetime JPH0721805B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61039215A JPH0721805B2 (ja) 1986-02-26 1986-02-26 辞書デ−タ検索方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61039215A JPH0721805B2 (ja) 1986-02-26 1986-02-26 辞書デ−タ検索方式

Publications (2)

Publication Number Publication Date
JPS62197822A JPS62197822A (ja) 1987-09-01
JPH0721805B2 true JPH0721805B2 (ja) 1995-03-08

Family

ID=12546912

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61039215A Expired - Lifetime JPH0721805B2 (ja) 1986-02-26 1986-02-26 辞書デ−タ検索方式

Country Status (1)

Country Link
JP (1) JPH0721805B2 (ja)

Also Published As

Publication number Publication date
JPS62197822A (ja) 1987-09-01

Similar Documents

Publication Publication Date Title
US6122626A (en) Sparse index search method
KR100880531B1 (ko) 단일 데이터 검색을 위한 파일 생성 방법 및 단일 데이터파일의 검색방법 그리고 단일 파일 검색을 위한 rat파일이 저장된 기록매체
JP3251138B2 (ja) ハッシュ方式
JPH05101102A (ja) 検索装置
JPH0823865B2 (ja) デ−タ検索方法および装置
JPH0721805B2 (ja) 辞書デ−タ検索方式
JP2880199B2 (ja) 記号列検索方法および検索装置
JPH0752450B2 (ja) 辞書デ−タ検索装置
JP3578501B2 (ja) 文書検索方法及び装置
JPH08314950A (ja) テキストの検索方法及び装置
JP2961888B2 (ja) 用語辞書による文書検索システム
JP2604787B2 (ja) 二次元データ格納方式
JPH06195381A (ja) データ検索装置
JPH06295313A (ja) インデックス付き検索ファイルのデータ検索装置
JPH0831096B2 (ja) 単語辞書装置
Markovskyi et al. Hash search organization in e-dictionaries using block ciphers
JPH0363094B2 (ja)
JP3111498B2 (ja) レコード検索方法及びデータ処理装置
JPH043251A (ja) 文書検索方法および文書検索処理装置
JPS60225938A (ja) 情報検索方式
JPH04250568A (ja) レコード検索装置
JPH03127254A (ja) 単語検索装置
JPS60168234A (ja) 情報検索方式
JPH0991304A (ja) 情報検索方法、情報検索システム及び情報検索用記憶媒体
JPS58103025A (ja) かな漢字変換装置