JPH06251070A - 単語検索のための電子辞書圧縮方法及び装置 - Google Patents

単語検索のための電子辞書圧縮方法及び装置

Info

Publication number
JPH06251070A
JPH06251070A JP5056404A JP5640493A JPH06251070A JP H06251070 A JPH06251070 A JP H06251070A JP 5056404 A JP5056404 A JP 5056404A JP 5640493 A JP5640493 A JP 5640493A JP H06251070 A JPH06251070 A JP H06251070A
Authority
JP
Japan
Prior art keywords
dictionary
code
trie structure
character string
word
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.)
Granted
Application number
JP5056404A
Other languages
English (en)
Other versions
JP2785168B2 (ja
Inventor
Takashi Takizuka
孝志 瀧塚
Keiko Miyatake
圭子 宮武
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.)
KDDI Corp
Original Assignee
Kokusai Denshin Denwa KK
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 Kokusai Denshin Denwa KK filed Critical Kokusai Denshin Denwa KK
Priority to JP5056404A priority Critical patent/JP2785168B2/ja
Publication of JPH06251070A publication Critical patent/JPH06251070A/ja
Application granted granted Critical
Publication of JP2785168B2 publication Critical patent/JP2785168B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Machine Translation (AREA)
  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】 【目的】従来技術よりも記憶容量の小さい記憶装置を用
いしかも高速の検索を実行することができる単語検索の
ための電子辞書圧縮記憶方法及び装置を提供する。 【構成】一般に単語辞書は、見出し語と見出し語に関す
る情報から構成されている。使用する文字種の削減と見
出し語の削減のために見出し語に対し標準化を行ない、
見出し語を部分文字列に分け、各部分文字列に対しハフ
マン符号を割り当て、その符号表を基に見出し語のハフ
マン符号化を行ない、先頭のnビットを切り出してトラ
イ構造のインデックスに使用することによって表形式の
トライ構造部を圧縮する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、単語検索のための電子
辞書を圧縮して記憶する辞書圧縮装置に関するものであ
る。
【0002】
【従来の技術】かな漢字変換等に用いられる、単語検索
のための電子辞書では、高速アクセスと小容量化が求め
られる。一般に単語辞書では、検索のための見出し語を
表形式のトライ構造と逐次アクセス非構造に分けて記憶
している。表形式のトライ構造部では、見出し語をイン
デックスとして高速にたどることができ、そのインデッ
クスの先には、見出し語の残りの部分を変形したトライ
構造によって圧縮し、非構造部として記憶する。この非
構造部では、逐次的なアクセスでしか検索できない。一
方、逐次アクセス非構造部にデータを記憶する方法に
は、前の見出し語との差分文字位置を用いて各見出しを
独立に実現する方法と、部分木のデータサイズを記憶し
て、変形されたトライ構造により実現する方法がある。
通常、表形式のトライ構造部はメモリ上に、非構造部は
磁気ディスク上に記憶される。
【0003】
【発明が解決しようとする課題】また、表形式のトライ
構造は高速の検索が行えるが、大容量のメモリを必要と
する。一方、非構造はメモリ容量は少なくて済むが、高
速の検索が行なえない。これまでは、ディスク上の非構
造のデータに関してのみ、データ全体を圧縮する技術が
開発されてきた。例えば、特開平3−127254号の
発明のように、差分文字列を用いた辞書圧縮の方法があ
るが、これは非構造のデータのみを圧縮する方法であ
る。このため、小容量化と高速検索を均衡のとれた形で
実現したものがなかった。単語辞書データベースでは、
小容量化と高速検索の均衡のとれた記憶方式が必要とさ
れる。高速アクセスを実現するためには、非構造部に記
憶されているデータをできるだけ表形式のトライ構造部
に展開することが有効である。しかし、表形式のトライ
に展開すると大容量のメモリを必要とするため、表形式
のトライ構造部の圧縮が必要となる。さらに、非構造部
の圧縮も辞書全体を圧縮するために必要となる。
【0004】本発明の目的は、従来技術よりも記憶容量
の小さい記憶装置を用いしかも高速の検索を実行するこ
とができる単語検索のための電子辞書圧縮記憶方法及び
装置を提供することである。
【0005】
【課題を解決するための手段】この課題を解決するた
め、本発明による単語検索のための電子辞書圧縮方法
は、見出し語の圧縮を行なう。一般に単語辞書は、見出
し語と見出し語に関する情報から構成されている。使用
する文字種の削減と見出し語の削減のために見出し語に
対し標準化を行ない、見出し語を部分文字列に分け、各
部分文字列に対しハフマン符号を割り当て、その符号表
を基に見出し語のハフマン符号化を行ない、先頭のnビ
ットを切り出してトライ構造のインデックスに使用する
ことによって表形式のトライ構造部を圧縮する。トライ
構造のインデックスで表現しない残りの部分木を逐次ア
クセス非構造部に記憶するが、各部分木のデータサイズ
は用いずに、子の節または葉を持つか、兄弟となる節ま
たは葉を継続して持つかという2ビットのフラグ情報を
用いることにより、符号列の長さに制限のない、圧縮さ
れた表現を可能とする。
【0006】
【作用】見出し語の部分文字列をハフマン符号化するこ
とにより、見出し語の圧縮ができるとともに、符号化後
の部分ビット列のパターンの出現頻度の均一化が行なわ
れる。符号の先頭ビットの一部をトライ構造部のインデ
ックスとして使用すると、各部分木に格納される単語数
を均衡化することができる。更に、見出し語が圧縮され
るため、より多くのインデックスをトライ構造で表現で
きるとともに、均衡のとれた木構造になるため、データ
の検索の高速化を行なうことができる。また、逐次アク
セス非構造部のデータは、木構造表現のためのフラグ情
報を2ビット付加するだけであるため、データの圧縮を
行なうことができる。単語を検索する場合には、見出し
語文字列を標準化し、標準化文字列を圧縮時に作成した
符号表を基にハフマン符号化し、トライ構造部と逐次ア
クセス非構造部によって圧縮された検索用辞書を用い
て、単語候補のリストを出力することができる。
【0007】
【実施例】以下、本発明の一実施例における辞書圧縮及
び検索装置を図1〜図9を用いて説明する。図1は辞書
圧縮及び検索装置のブロック構成図である。ここで、1
は圧縮及び検索の対象となる原辞書である。2は見出し
語を標準化する標準化装置である。3は装置2によって
標準化された標準化辞書である。4は部分文字列の出現
頻度をカウントする文字列頻度集計装置である。5は装
置4によって生成される頻度表である。6は出現頻度に
よって見出し語のハフマン符号化を行なう符号化装置で
ある。7は装置6によって圧縮された符号列をトライ構
造部に圧縮して記憶するトライ構造部圧縮装置である。
8は見出し語の残りの部分を逐次アクセス非構造部に圧
縮して記憶する逐次アクセス非構造部圧縮装置である。
9は原辞書1を検索するためのインデックスを圧縮した
検索用辞書である。10は検索すべき見出し語文字列で
ある。11は見出し語文字列10を、標準化装置2によ
って標準化した標準化文字列である。12は符号化装置
6によって符号化を行なうときに生成されるハフマン符
号の符号表である。13は符号表12を用いて標準化文
字列11をッハフマン符号化し、検索用辞書9から該当
する見出し語文字列を検索する検索装置である。14は
検索用辞書9を検索して得られた単語候補リストであ
る。
【0008】以上のように構成された本実施例の制御手
順について説明する。初めに、辞書圧縮の手順について
図2のフローチャートに従って説明する。まず、ステッ
プs1 で検索用の原辞書を受け付ける。そしてステップ
2 で見出し語の標準化を行なう。ステップs1 で得ら
れた標準化辞書に関してステップs3で部分文字列の出
現頻度をカウントする。そこで得られた頻度表を基に、
ステップs4 で見出し語のハフマン符号化を行なう。ス
テップs5 では見出し語のハフマン符号をトライ構造部
に圧縮して記憶する。見出し語の残りの部分をステップ
6 で逐次アクセス非構造部に圧縮して記憶する。ステ
ップs7 で、トライ構造部、逐次アクセス非構造部に記
憶された見出し語より、検索用辞書を得る。
【0009】ここで、平仮名見出しを標準見出しとする
符号化の例として、見出し語“クシ”を圧縮する場合を
例にとる。
【0010】ステップs2 :見出し語の標準化を行な
う。図3は見出し語の標準化の例である。標準化は、文
字種を限定するように文字変換を行なうことにより、辞
書の記載項目数の削減を行なう。例えば、片仮名を平仮
名に変換したり、“ゑ”や“ゐ”の様な古い仮名文字を
“え”や“い”の様な現在の仮名文字に変換したり、
“ヴァ”を“バ”に変換したり、繰り返しの文字“々”
を前の字に変換したりする。一般に単語辞書の見出し語
は、平仮名、片仮名、漢字、アスキー文字を字種として
用いるが、ここでは、平仮名を標準文字種とする場合を
示す。
【0011】ステップs3 : 辞書の見出し語をソートする。ソートの順は例え
ば、あいうえお順、JISコード順がある。 ソートされた辞書の全見出し語に対し、前の見出し
語との差分文字列中に出現する文字の出現頻度をカウン
トする。即ち、トライ構造上に現われる文字の出現頻度
を求める。図4に例を示す。 2文字以上の文字連鎖についても同様に出現頻度を
カウントし、で得られた頻度表から、頻度が指定値T
Hよりも低い文字の頻度を足し合わせた値SUM(T
H)を求め、その値よりも高い頻度を持つ語連鎖を部分
文字列として頻度表に加える。図5に出現頻度順に並べ
た場合の例を示す。
【0012】ステップs4 : 頻度表の部分文字列を出現頻度順に並べ、ハフマン
符号の割り当てを行う。図6は図5の部分文字列にハフ
マン符号を割り当てた例である。 辞書中の全ての見出し語をハフマン符号で表した
後、mビット(1<=m<=8)をユニットとしてトラ
イ構造部の圧縮を行なう。まず、各見出し語に対応する
ハフマン符号列の先頭のNユニット分(N>=1、n=
m×N)の符号を各トライの表(大きさはn×2n)の
うち、指定した割合以上の節または葉を持つように切り
出して、トライ構造にして記憶する。各トライは何ユニ
ットを切り出すかという情報を持つ。ここではm=2、
N=5とする。
【0013】ステップs5 :図5より、“くし”のハフ
マン符号は110100(く)111100(し)である。図7は、
先頭の3ユニット、2ユニット分の符号ビットを順に切
り出して、トライで表した図である。
【0014】ステップs6 :トライ構造部のポインタに
よって表された逐次アクセス非構造部に、トライ構造部
で表されない見出し語のインデックス情報を記憶する。
ユニット長mを固定したとき、トライ構造部で表現する
見出し語の長さN(ユニット)は、逐次アクセス非構造
部で記憶できる見出し語の葉の数の上限を指定し、それ
を満足する最小の値を求めることによって決まる。
【0015】通常、逐次アクセス非構造部にデータを記
憶する方法には、公知技術として、前の見出し語との差
分文字位置を用いて各見出しを独立に実現する方法と、
部分木のデータサイズを記憶して、変形されたトライ構
造により実現する方法がある。本発明では、部分木を用
いて情報を記憶するが、子の節または葉を持つか、兄弟
となる節または葉が継続して存在するかという2ビット
の情報を記憶することにより実現する。本方法を用いる
ことにより、逐次アクセス非構造部の圧縮ができる。
【0016】図8は非構造部の圧縮処理の例である。図
において、初めのビットを子となる節または葉を持つか
「1」持たないか「0」のフラグとし、次のビットを兄
弟となる節または葉を持つか「1」持たないか「0」の
フラグとし、トライ構造からこれらのフラグの値を求め
る。この方法では、符号列の長さにかかわらず、部分木
の構造を2ビットで表すことが可能であるため、符号列
の長さに制限がなく、各部分木のデータサイズによって
表すのに比べて圧縮が可能である。
【0017】このようにして作成した検索用辞書を用い
て、見出し語の検索をする手順について図7のフローチ
ャートを用いて説明する。ステップs1 で検索すべき見
出し語文字列を受け付ける。ステップs2 で、図1の標
準化装置2を用いて見出し語文字列の標準化を行なう。
そこで得られた標準化文字列についてステップs3 で、
図1の符号化装置6により、ハフマン符号化を行なう。
ステップs4 でステップs3 で得られたハフマン符号を
用いて、図1の検索装置12により、図1の検索辞書9
から見出し語を検索する。
【0018】“くし”の例の場合には、ステップs2
“くし”は“クシ”に標準化される。ステップs3 で図
6の符号表より、ハフマン符号“110100(く)111100
(し)”となる。ステップs4 でハフマン符号の“1101
001111”を先頭に持つ単語候補リスト、“くし(110100
111100)”、“くろう(1101001111011 )”等が得られ
る。
【0019】以上の説明に於て、見出し語は片仮名で説
明したが、他の見出し語についても、本発明は効果を奏
する。
【0020】
【発明の効果】以上詳細に説明したように、本発明によ
れば、標準化された文字列を出現頻度によって符号化
し、その符号のビットパターンを切り出して、トライ構
造として記憶することにより、単語辞書の見出し語部分
を約15%に圧縮でき、且つ、見出し語の出現分布を均
一化することができる。また、表形式のトライ構造部を
圧縮することにより、より多くのインデックスを表形式
のトライ構造で表すことが可能になる。その結果、逐次
アクセスをする割合が減少し、高速の検索が可能にな
る。また、見出し語の出現分布が均一化されているた
め、トライの深さが均一化されていない場合よりも浅く
なり、さらに高速な検索が行えるようになる。
【図面の簡単な説明】
【図1】ブロック構成図である。
【図2】トライ構造部の圧縮手順のフローチャートであ
る。
【図3】見出し語の標準化の例である。
【図4】見出し語の出現頻度のカウントの例である。
【図5】出現頻度順に並べた見出し語の部分文字列の例
である。
【図6】ハフマン符号の割り当ての例である。
【図7】6ビット/ユニットのトライ構造の例である。
【図8】非構造部の圧縮の例である。
【図9】非構造部の圧縮手順のフローチャートである。
【符号の説明】
1 原辞書 2 標準化装置 3 標準化辞書 4 文字列頻度集計装置 5 頻度表 6 符号化装置 7 トライ構造部圧縮装置 8 逐次アクセス非構造部圧縮装置 9 検索用辞書 10 見出し語文字列 11 標準化文字列 12 符号表 13 検索装置 14 単語候補リスト

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 原辞書の見出し語の標準化を行ない、標
    準化された該見出し語を部分文字列に分け、該各部分文
    字列に対しハフマン符号を割り当て、作成された頻度表
    によりハフマン符号化を行ない、得られた符号の先頭か
    らnビット(n>=1)を切り出してトライ構造のイン
    デックスに使用することによって表形式のトライ構造を
    圧縮してトライ構造部に記憶することを特徴とする単語
    検索のための電子辞書圧縮方法。
  2. 【請求項2】 原辞書の見出し語を、子の節または葉が
    存在するか兄弟となる節または葉が継続して存在するか
    の2ビットのフラグを用いたトライ構造によって逐次ア
    クセス非構造部に記憶することにより、さらに圧縮する
    ことを特徴とする請求項1に記載の単語検索のための電
    子辞書圧縮方法。
  3. 【請求項3】 原辞書の見出しを標準化する標準化装置
    と、標準化辞書から文字列の出現頻度をカウントする文
    字列集計装置と、出現頻度表によって見出し語のハフマ
    ン符号化を行なう符号化装置と、圧縮された該符号列を
    トライ構造部に圧縮して記憶するトライ構造部圧縮装置
    と、見出し語の残りの部分を逐次アクセス非構造部に圧
    縮して検索用辞書に記憶する逐次アクセス非構造装置と
    を有することを特徴とする単語検索のための電子辞書圧
    縮装置。
JP5056404A 1993-02-23 1993-02-23 単語検索のための電子辞書圧縮方法及び装置 Expired - Fee Related JP2785168B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5056404A JP2785168B2 (ja) 1993-02-23 1993-02-23 単語検索のための電子辞書圧縮方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5056404A JP2785168B2 (ja) 1993-02-23 1993-02-23 単語検索のための電子辞書圧縮方法及び装置

Publications (2)

Publication Number Publication Date
JPH06251070A true JPH06251070A (ja) 1994-09-09
JP2785168B2 JP2785168B2 (ja) 1998-08-13

Family

ID=13026242

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5056404A Expired - Fee Related JP2785168B2 (ja) 1993-02-23 1993-02-23 単語検索のための電子辞書圧縮方法及び装置

Country Status (1)

Country Link
JP (1) JP2785168B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08194718A (ja) * 1995-01-12 1996-07-30 Hitachi Ltd 文書検索方法および装置
JPH09191256A (ja) * 1995-05-22 1997-07-22 Mb Video Gmbh 静止ビルトシルムテキストの蓄積体の記憶・再生方法
CN112527949A (zh) * 2020-12-15 2021-03-19 建信金融科技有限责任公司 数据存储与检索方法、装置、计算机设备及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08194718A (ja) * 1995-01-12 1996-07-30 Hitachi Ltd 文書検索方法および装置
JPH09191256A (ja) * 1995-05-22 1997-07-22 Mb Video Gmbh 静止ビルトシルムテキストの蓄積体の記憶・再生方法
CN112527949A (zh) * 2020-12-15 2021-03-19 建信金融科技有限责任公司 数据存储与检索方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
JP2785168B2 (ja) 1998-08-13

Similar Documents

Publication Publication Date Title
US7031910B2 (en) Method and system for encoding and accessing linguistic frequency data
Silva de Moura et al. Fast and flexible word searching on compressed text
US5561421A (en) Access method data compression with system-built generic dictionaries
US8838551B2 (en) Multi-level database compression
Brisaboa et al. An efficient compression code for text databases
EP0293161B1 (en) Character processing system with spelling check function
Ziviani et al. Compression: A key for next-generation text retrieval systems
KR101157693B1 (ko) 토큰스페이스 저장소와 함께 사용하기 위한 멀티-스테이지질의 처리 시스템 및 방법
US5704060A (en) Text storage and retrieval system and method
JP4261779B2 (ja) データ圧縮装置および方法
Claude et al. Universal indexes for highly repetitive document collections
JPS59231683A (ja) データ圧縮方法
WO2009001174A1 (en) System and method for data compression and storage allowing fast retrieval
Ristov LZ trie and dictionary compression
JPH06251070A (ja) 単語検索のための電子辞書圧縮方法及び装置
Klein Space-and time-efficient decoding with canonical Huffman trees
US6731229B2 (en) Method to reduce storage requirements when storing semi-redundant information in a database
Ristov et al. Ziv Lempel compression of huge natural language data tries using suffix arrays
JPH056398A (ja) 文書登録装置及び文書検索装置
Zhang Transform based and search aware text compression schemes and compressed domain text retrieval
WO1996011442A1 (fr) Procede de traitement de donnees de caracteres, et appareil associe
Platos et al. Word-based text compression
Adiego et al. SCM: Structural contexts model for improving compression in semistructured text databases
Fredriksson et al. Efficient string matching in Huffman compressed texts
JPH10177582A (ja) 最長一致検索方法及び装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees