JP2729424B2 - テキスト圧縮装置およびテキスト圧縮用辞書の自動構築装置 - Google Patents

テキスト圧縮装置およびテキスト圧縮用辞書の自動構築装置

Info

Publication number
JP2729424B2
JP2729424B2 JP3286344A JP28634491A JP2729424B2 JP 2729424 B2 JP2729424 B2 JP 2729424B2 JP 3286344 A JP3286344 A JP 3286344A JP 28634491 A JP28634491 A JP 28634491A JP 2729424 B2 JP2729424 B2 JP 2729424B2
Authority
JP
Japan
Prior art keywords
text
dictionary
character
compression
character string
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
JP3286344A
Other languages
English (en)
Other versions
JPH05127865A (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.)
Consejo Superior de Investigaciones Cientificas CSIC
Original Assignee
Consejo Superior de Investigaciones Cientificas CSIC
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 Consejo Superior de Investigaciones Cientificas CSIC filed Critical Consejo Superior de Investigaciones Cientificas CSIC
Priority to JP3286344A priority Critical patent/JP2729424B2/ja
Publication of JPH05127865A publication Critical patent/JPH05127865A/ja
Application granted granted Critical
Publication of JP2729424B2 publication Critical patent/JP2729424B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は日本語のように複数の
文字種(漢字、平仮名、片仮名など)を有する言語のテ
キストを電子的に作成し、記憶するための装置に関し、
特に、そのような文書を磁気ディスク、磁気テープ、光
磁気ディスク、半導体ディスクなどの記憶媒体に記憶す
る際に、テキストを圧縮して記憶効率を向上させるため
の装置に関する。
【0002】
【従来の技術】ワードプロセッシング技術の発達、およ
びワードプロセッサの普及により、日本語で作成された
文書を磁気ディスク、磁気テープ、光磁気ディスク、半
導体ディスクなどの記憶媒体に記憶することが非常に多
くなってきている。通常、記憶媒体には記憶容量の限界
があるため、保存する必要の文書が大量になれば、記憶
容量の不足を生ずる。このような問題を回避するため
に、文書を保存する際には所定の手順でテキストを圧縮
し、文書を使用する場合には圧縮されたテキストを逆の
手順で復元するという方法が用いられている。
【0003】文書を保存する際にテキストを圧縮するた
めの従来の技術として、テキスト中の不要な部分あるい
は空き領域を削除したり、連続した同一文字(たとえば
空白)を短い文字列に変換することによりテキストを圧
縮する連続文字圧縮方式などがある。また、ファクシミ
リなどに用いられているように、テキスト中の信号のパ
ターンのうち、出現頻度の多いものには短いビット列の
コードを、出現頻度の少ないパターンには比較的長いビ
ット列のコードを与えることによりテキストを圧縮す
る、ハフマン方式などの方式がある。このような方式で
圧縮されたデータは、圧縮の際の変換と逆の変換により
元のデータに復元される。
【0004】
【発明が解決しようとする課題】しかし、従来のような
テキストの圧縮方式では、テキストのうちでも限られた
部分でのデータ圧縮しか行なえず、テキスト全体につい
て効率よく圧縮することはできなかった。そのような問
題を解決するために、テキスト中に出現するであろう用
語を圧縮後のコードに変換するための圧縮用辞書を予め
人手で構築し、テキストの保存時にこの辞書を参照して
テキストを圧縮するという方法も考えられる。しかし、
このように、予め用意された辞書を用いる場合、多くの
種類のテキストに対応するべく、辞書に採用される単語
なども汎用的なものとならざるを得ず、たとえば専門用
語などが頻出する文書を圧縮しようとした場合には、参
照の際のヒット率が悪くなり、圧縮の効率があまり上が
らない可能性がある。さらに、このような辞書をメンテ
ナンスするための労力も非常に大きくかかるということ
が予想される。
【0005】それゆえにこの発明の目的は、テキスト全
体について比較的良い効率で圧縮でき、しかも圧縮のた
めの労力も少なくて済むテキスト圧縮装置、およびその
テキスト圧縮装置に用いられるテキスト圧縮用辞書の自
動構築装置を提供することである。
【0006】
【課題を解決するための手段】請求項1に記載のテキス
ト圧縮装置は、複数個の文字種に分類される、コード化
された文字を用いて電子的に作成されるテキストを圧縮
するためのものであって、テキスト中における文字種の
変わり目を検知し、文字種の変わり目の前後の文字列に
対して予め定める分割のためのルールを適用し、テキス
トを複数個の文字列に分割するためのテキスト分割手段
と、テキスト分割手段の出力する文字列から、所定の基
準に基づいてテキスト圧縮用辞書の候補文字列を選択す
るための候補文字列選択手段と、選択された候補文字列
を、候補文字列ごとにユニークな所定の圧縮後文字列と
関連付けて格納するテキスト圧縮辞書を生成するための
辞書生成手段と、テキスト中に出現する各候補文字列
を、生成されたテキスト圧縮辞書中において各候補文字
列に対応付けられた圧縮後文字列に変換することによ
り、テキストを圧縮するための文字列変換手段とを含む
ことを特徴とする。
【0007】請求項2に記載の発明に係るテキスト圧縮
用辞書の自動構築装置は、複数個の文字種に分類され
る、コード化された文字を用いて電子的に作成されるテ
キストを圧縮する際に参照されるテキスト圧縮用辞書を
自動的に構築するための装置であって、テキスト中にお
ける文字種の変わり目を検知し、文字種の変わり目の前
後の文字列に対して予め定める分割のためのルールを適
用し、テキストを複数の文字列に分割するためのテキス
ト分割手段と、テキスト分割手段の出力する文字列か
ら、所定の基準に基づいてテキスト圧縮用辞書の候補文
字列を選択するための候補文字列選択手段と、選択され
た候補文字列を、各候補文字列ごとにユニークな所定の
圧縮後文字列と関連付けて格納するテキスト圧縮用辞書
を生成し、テキストと関連付けて記憶するための辞書生
成手段とを含むことを特徴とする。
【0008】
【作用】請求項1に記載の発明に係るテキスト圧縮装置
においては、日本語などのように複数個の文字種に分類
される文書のテキスト中における文字種の変わり目が検
知され、予め定める分割のためのルールに従って文字種
の変わり目付近でテキストが文字列に分割される。得ら
れた文字列のうち、所定の基準に基づいてテキスト圧縮
用辞書の候補文字列が選択され、各々対応する圧縮後文
字列と関連付けられてテキスト圧縮用辞書に格納され
る。テキスト中に出現する各候補文字列は、テキスト圧
縮用辞書を参照することにより対応する圧縮後文字列と
関連付けられ、テキスト全体が圧縮される。
【0009】請求項2に記載のテキスト圧縮用辞書の自
動構築装置においては、テキスト中における文字種の変
わり目が検知され、予め定める分割のためのルールに従
って文字種の変わり目の前後の文字列に所定の処理を施
すことにより、テキストが複数の文字列に分割される。
得られた文字列から、所定の基準に基づいてテキスト圧
縮用辞書の候補文字列が選択され、各候補文字列は所定
の圧縮後文字列と関連付けられてテキスト圧縮用辞書に
格納され、テキスト圧縮用の辞書が自動的に構築され
る。
【0010】
【実施例】以下、図面を参照して本発明の一実施例に係
るテキスト圧縮装置およびテキスト圧縮用辞書の自動構
築装置を示す。なお、以下の実施例では処理の原理的な
構成のみを示している。処理の速度を向上させるために
は、様々な工夫(たとえば並列処理など)が必要である
が、以下ではそれらについての説明は省略してある。
【0011】図1は、本発明に係るテキスト圧縮装置お
よびテキスト圧縮用辞書の自動構築装置のクレーム対応
図である。図1を参照して、本発明に係るテキスト圧縮
装置8は、テキスト圧縮用辞書16と、テキスト圧縮用
辞書16を自動的に構築するための辞書自動構築装置1
4と、テキスト圧縮用辞書16を参照しながらテキスト
中の文字列を辞書16中の該当文字列のアドレスに変更
することによりテキストを圧縮し、圧縮テキストとして
出力するための文字列変換手段18とを含む。テキスト
圧縮装置8には、テキスト記憶手段12が接続されてい
る。テキスト記憶手段12にはテキスト入力手段10が
接続されている。テキスト入力手段としてはたとえばキ
ーボードやフロッピーディスクのドライブ装置、あるい
は通信装置などが考えられる。テキスト記憶手段12と
しては、磁気ディスクや半導体メモリなどを利用するこ
とが考えられる。
【0012】辞書自動構築装置14は、テキスト記憶手
段12に記憶されたテキスト(日本語文書であるとす
る)の文字種の変わり目を検知し、文字列に分割するた
めのテキスト分割手段22と、テキスト分割手段22の
出力する文字列から、所定の基準、たとえばテキスト中
における出現頻度の大きいものという基準に従って、テ
キスト圧縮用辞書16内に格納すべき候補文字列を選択
するための候補文字列選択手段24と、候補文字列選択
手段24によって選択された候補文字列をテキスト圧縮
用辞書16として辞書化するための辞書形成手段26と
を含む。
【0013】テキスト分割手段22は、日本語における
文字種の変わり目を検知の後、その変わり目の前後にお
ける文字列に対し、所定の分割ルールを適用してテキス
ト文字列に分割する。図1には示されていないが、分割
された文字列と、図示されていない汎用辞書(助詞、助
動詞、連体詞、接続詞、代名詞などの一般的語を格納し
た辞書)とのマッチングをとる手段と、このマッチング
の結果分割ルールを適用して分割できる文字列をさらに
分割する手段を設けてもよい。また、候補文字列選択手
段24において文字列の出現頻度をとるためには、処理
に先立ってテキスト分割手段22から出力された文字列
のうち、汎用辞書に含まれる文字列を除いた文字列を各
文字列の文字のコード順にソートし、同じ文字列が連続
してリスト上に出現するようにしておく手段を設けてお
けば、出現頻度をとる速度はより向上する。
【0014】テキスト圧縮用辞書16は、本発明に係る
テキスト圧縮装置の場合には1つのテキストについて1
つの辞書が対応付けられるという関係で生成される。し
かし、候補文字列選択手段24によって選択された候補
文字列を、文書の種類、たとえばその分野によってまと
め、分野別に辞書化して分野別辞書を形成する手段を設
けてもよい。
【0015】実際には、本願に係るテキスト圧縮装置お
よびテキスト圧縮用辞書の自動構築装置はコンピュータ
によって実現される。図2以下には、そのコンピュータ
で実行されるプログラムのフローチャートが示されてい
る。以下、図面を参照して本願に係るテキスト圧縮装置
およびテキスト圧縮用辞書の自動構築装置について説明
する。
【0016】図2には、テキスト圧縮のための大まかな
処理手順を示すフローチャートが示されている。図2を
参照して、ステップ(以下単に「S」と呼ぶ)1−1に
おいて、入力されたテキストが磁気ディスクや半導体メ
モリなどに格納され、格納されたテキストから圧縮用辞
書候補の文字列の切出し処理が行なわれる。S1−2に
おいて、切出された圧縮用辞書候補を辞書化することに
より、テキスト圧縮用辞書の構築が行なわれる。S1−
3において、圧縮対象となるテキストが順に読込まれ、
テキスト中の文字列のうち、圧縮用辞書に存在する文字
列が、その圧縮用辞書中のアドレスに変換される。S1
−4において、文字列を辞書のアドレスに変換してテキ
ストを出力することにより、テキストの圧縮処理が行な
われる。S1−3においては、圧縮用辞書に存在する文
字列のみをアドレスに変換するものとしたが、前述のよ
うに汎用辞書を併用し、汎用辞書に存在する文字列を汎
用辞書中のアドレスに変換してもよい。
【0017】本実施例においては、シフトJISコード
体系に従う文字コードで入力された文書を圧縮するもの
と想定している。変換された辞書アドレスと、変換され
なかった文字のコードとを識別するため、MSB(最上
位ビット)が「0」である番号を圧縮用辞書(および汎
用辞書)のアドレスとして採用した。さらに、本実施例
では圧縮用辞書と汎用辞書とを併用しており、それらの
アドレスを識別するため、アドレスの最上位から2ビッ
ト目を識別のために利用した。すなわち、圧縮用辞書ア
ドレスには0x0000〜0x3FFFを使用し、汎用
辞書アドレスしては0x4000〜0x7FFFを使用
した。
【0018】シフトJISコード体系以外のコード体
系、たとえばASCII(American National Standard
Code for Information Interchange )文字からなる文
書を処理する際などには、すべて一旦JISコードに変
換して処理するなどの予備的な処理を行なうことによ
り、同様に辞書を用いてテキストを圧縮することができ
る。
【0019】以下、S1−1において行なわれる圧縮用
辞書候補の切出し方法について、5つの方法を説明す
る。以下の実施例における辞書候補の切出し処理の対象
テキストとして使用されたテキストは、図12に示され
たテキストである。このテキストに使用されている文字
は、すべてシフトJISコード体系によってコード化さ
れたキャラクタデータである。
【0020】圧縮用辞書候補切出し例1 図3には、文書中における文字種の異なりのみを利用し
て圧縮用辞書候補を切出す例を示す。図3を参照して、
S2−1において、処理対象となる文字が存在するか否
かについての判断が行なわれる。判断の答えがYESで
あれば制御はS2−2に進み、それ以外の場合にはこの
ルーチンは終了する。
【0021】S2−2において、処理対象となる文字を
セットする。続いてS2−3において、処理対象となる
次の文字に、チェック位置が移動する。S2−4におい
て、この文字が、S2−2においてセットされた文字と
その文字種が異なったものであるか否かの判断が行なわ
れる。判断の答えがNOであれば制御はS2−3に戻
り、それ以外の場合には制御はS2−5に進む。S2−
2〜2−4の処理により、文字種の変わり目で制御はS
2−5に進むことになる。
【0022】S2−5において、検出された文字種の変
わり目で、対象となるテキストを分割する処理が行なわ
れる。この場合、分割により切出された文字列は、処理
対象となる文書とは一時的に別の場所に格納され、文書
中の検出された文字種の変わり目位置は、「分割マー
カ」と呼ばれるマークを付加しておく。このようにする
ことにより、最終的に文書中の文字列の一部を圧縮用辞
書アドレスまたは汎用辞書アドレスに変換する際に、テ
キストの分割の箇所が容易に確認できるため、辞書検索
の効率を高くすることができる。以後、詳細な説明中の
辞書候補切出しの実施例においては、同様に「分割マー
カ」を文書に付加し、切出された文字列は一時的に他の
位置に記憶するという方法を用いた。
【0023】S2−6において、さらに次の文字にチェ
ック位置を移動する処理が行なわれる。この後制御は再
びS2−1に戻る。
【0024】図3に示されるようなフローに従うルーチ
ンを実行することにより、処理対象となるテキストが、
文字種の異なりのみを利用して文字列に分割される。こ
の手法による分割の結果が図13に示されている。図1
3は図12に示されるテキストを、文字種が異なった位
置を基準として分割したものである。なお、テキスト中
の各文字の文字種は、各コード体系(本発明の場合には
シフトJISコード体系)中で、各文字種ごとに割当て
られたコード範囲が異なっていることから容易に判断す
ることができる。
【0025】圧縮用辞書候補切出し例2 図4には、圧縮用辞書候補を切出す際に、文字種の異な
りのみでなく、所定の分割ルールを適用してテキストを
文字列に分割する例である。使用される分割ルールの例
が、図11に示されている。この切出し方法の第2の実
施例においては、図11に示される分割ルールのうち第
1番目のルール、すなわち「一文字からなる漢字とその
直後の平仮名とは分割しない」というルールを適用して
いる。
【0026】このルールは、次のような日本語特有の事
情を考慮したものである。日本語の用言は、たとえば
「見る」「述べる」などのように、「一文字の漢字+平
仮名」からなる場合が多い。そのため、文字種の異なり
のみによって分割すると、用言をなす1つの文字列がば
らばらに分割されてしまい、それぞれ意味をなさない文
字列となってしまう恐れがある。このような分割が行な
われると、この用言の出現頻度が低くなり圧縮が適切に
行なわれない可能性がある。ルール1はこのような事情
を考慮した、分割を制限するルール(暫定的非分割ルー
ル)である。
【0027】図4を参照して、このルーチンではS3−
1において、処理対象となる文字があるか否かが判断さ
れる。判断の答えがYESであれば制御はS3−2に進
み、それ以外の場合にはこのルーチンは終了する。
【0028】S3−2において、処理対象となる文字が
セットされる。S3−3において、セットされた文字が
漢字であるか否かについての判断が行なわれる。判断の
答えがYESであれば制御はS3−4に進み、それ以外
の場合には制御はS3−7に飛ぶ。
【0029】S3−4においては、処理対象をさらに次
の文字に移動する。続いてS3−5において、新たな文
字の文字種が前の文字の文字種と異なるか否かについて
の判断が行なわれる。判断の答えがNOであれば制御は
S3−7に飛び、それ以外の場合には制御はS3−6に
進む。
【0030】S3−6においては、新たな文字の文字種
が平仮名であるか否かについての判断が行なわれる。判
断の答えがYESであれば制御はS3−7に進み、それ
以外の場合には制御はS3−9に飛ぶ。
【0031】S3−7においては、処理対象がさらに次
の文字に移動される。続いてS3−8において、新たな
文字の文字種が前の文字の文字種と異なるか否かについ
ての判断が行なわれる。判断の答えがYESであれば制
御はS3−9に進み、それ以外の場合には制御はS3−
7に戻る。
【0032】S3−9においては、この位置でテキスト
の文字種が変わっていると判断し、テキストを分割する
処理が行なわれる。続いてS3−10で処理対象をさら
に次の文字に移動する処理が行なわれる。制御はS3−
1に戻る。
【0033】S3−3〜S3−6の処理により、処理対
象の文字列が「一文字の漢字+平仮名」である場合、制
御がS3−7に進み、次の文字種の変わり目までテキス
トの分割が行なわれないことになる。したがって、用言
のような特殊な構成の文字列が途中で分割されてしまう
ことがなく、文字列を正しく分割することが可能とな
る。
【0034】辞書候補切出しの第2の実施例による処理
結果の一例が図14に示されている。なお、図14に示
される処理結果においては、図11に示されているルー
ル1のみならずルール2についても適用されていること
に注意すべきである。図13、図14を比較してすぐわ
かるように、この第2の実施例によれば、「述べるとと
もに」という句が分割されずに1つの文字列として切出
されていることがわかる。
【0035】圧縮用辞書候補切出し例3 図5には、図11に示される分割ルールの2、すなわち
「平仮名とその直後の句読点とは分割しない」というル
ールを適用する場合の圧縮用辞書候補切出しのルーチン
のフローチャートである。このルールは、日本語文書中
でよく出現する「助詞+句点」や「助動詞+句読点」と
いう文字列のパターンが登録された汎用辞書をシステム
に搭載し、テキスト分割の際にそれを参照することを想
定した暫定的非分割ルールである。このルールを用いる
ことにより、句点や句読点のみが独立した文字列として
切出されることがなくなる。
【0036】図5を参照して、S4−1において、処理
対象となる文字が存在するか否かについての判断が行な
われる。判断の答えがYESであれば制御はS4−2に
進み、それ以外の場合にはこのルーチンは終了する。S
4−2において、処理対象となる文字がセットされる。
【0037】S4−3において、処理対象位置が次の文
字に移動される。S4−4において、新たな処理対象の
文字の文字種が前の文字の文字種と異なるか否かについ
ての判断が行なわれる。判断の答えがYESであれば制
御はS4−5に進むが、それ以外の場合には制御はS4
−3に戻る。
【0038】S4−5において、新たな文字の文字種が
句読点であるか否かについての判断が行なわれる。判断
の答えがYESであれば制御はS4−6に進み、それ以
外の場合には制御はS4−7に飛ぶ。
【0039】S4−6においては、前の文字の文字種が
平仮名であったか否かの判断が行なわれる。判断の答え
がYESであれば制御はS4−8に進み、それ以外の場
合には制御はS4−7に進む。
【0040】S4−7においては、処理対象となってい
る文字の直前が文字種の変わり目であるからここで文字
列を分割する処理が行なわれる。続いて制御はS4−9
に進む。
【0041】一方、S4−8においては、「平仮名+句
読点」というパターンが検出されたわけであるから、現
在の対象文字(句読点)の後で文字列を分割する処理が
行なわれる。この処理の後も制御はS4−9に進む。
【0042】S4−9においては、処理対象位置を次の
文字に移動する処理が行なわれる。その後制御はS4−
1に戻る。
【0043】S4−5〜S4−8の処理により、「助詞
+句点」や「助動詞+句読点」というパターンがテキス
ト中に出現した場合、句読点のみが独立した文字列とし
て分割されることはなくなり、その直前の特定のパター
ンの文字列の後に句読点が付いた形にテキスト分割が行
なわれる。
【0044】図5に示される実施例を用いてテキスト分
割をした結果が図14に示されている。注意すべきこと
は、前述のとおり図14に示される結果は、図11のル
ールにのみならず、図1も適用して処理を行なった結果
だということである。
【0045】圧縮用辞書候補切出し例4 図6は、文書中における文字種の異なりを利用して切出
された圧縮用辞書候補を、さらに図11に示される分割
ルール3を適用して分割するためのルーチンのフローチ
ャートである。図11の分割ルールの3、すなわち「切
出された圧縮用辞書候補のうち、偶数個からなる漢字の
文字列は、さらに2文字ずつに分割する」というルール
は、文書中で出現する頻度の低い長単位熟語を、文書中
でよく出現する2文字熟語に分割すれば、より効率よく
圧縮できる可能性が高くなることを想定したルールであ
る。ただし、このルールは、文字種の異なりを利用して
切出された圧縮用辞書候補の出現頻度の統計をとった後
に適用すればより効果的となる可能性がある。
【0046】図6を参照して、S5−1において、文字
種の異なりを利用して切出された圧縮用辞書候補が処理
対象としてセットされる。S5−2において、セットさ
れた圧縮用辞書候補の文字列が偶数個数の漢字からなっ
ているか否かの判断が行なわれる。判断の答えがYES
であれば制御はS5−3に進み、それ以外の場合には制
御はS5−4に直接進む。
【0047】S5−3においては、圧縮用辞書候補の文
字列が2文字ずつの漢字文字列に分割される。制御はS
5−4に進む。
【0048】S5−4においては、次の圧縮用辞書候補
の文字列が存在するか否かの判断が行なわれる。判断の
答えがYESであれば制御はS5−1に戻り、それ以外
の場合にはこのルーチンは終了する。以上のように図6
に示されるようなルーチンに従って、圧縮用辞書候補の
文字列を処理することにより、偶数個数の漢字文字列か
らなる圧縮用辞書候補文字列が、2文字ずつの漢字文字
列に分割される。このような分割を行なうことにより、
文書中でよく出現する可能性のある2文字の漢字からな
る熟語を圧縮辞書化できる可能性が高くなる。
【0049】圧縮用辞書候補切出し例5 図7は、文書中における文字種の異なりを利用して切出
された圧縮用辞書候補の文字列を、図11の分割ルール
の4を使用してさらに分割するためのルーチンを示すフ
ローチャートである。分割ルールの4とは、「切出され
た圧縮用辞書候補のうち、汎用辞書に存在する文字列の
前後は分割する」というルールである。このルールは、
文字種の異なりによっては分割されなかった辞書候補
(「一文字漢字+平仮名」などを含むものとする)の中
から、さらに「仕組み」や「述べる」(いずれも図12
に示されるテキストを参照)などのように、主に平仮名
を含む体言や用言を切出せば、圧縮辞書ができる可能性
が高くなることを想定して設けられたものである。
【0050】図7を参照して、S6−1において、圧縮
用辞書候補の文字列をチェック対象としてセットする。
S6−2において、セットされた文字列のうち、汎用辞
書中に準備された文字列が存在するか否かを調べるため
に、汎用辞書を検索する処理が行なわれる。
【0051】S6−3において、汎用辞書に存在する文
字列があったか否かについての判断が行なわれる。判断
の答えがYESであれば制御はS6−4に進み、それ以
外の場合には制御は直接S6−5に進む。
【0052】S6−4において、汎用辞書に見出された
文字列の前後で、圧縮用辞書候補の文字列が分割され
る。さらに分割した後、汎用辞書に見出された文字列
は、辞書候補の文字列から削除される。これは、汎用辞
書と圧縮用辞書とで重複して同じ単語を持つ無駄を避け
るためである。制御はS6−5に進む。
【0053】S6−5においては、さらに次の辞書候補
文字列があるか否かについての判断が行なわれる。判断
の答えがYESであれば制御はS6−1に戻り、それ以
外の場合にはこのルーチンは終了する。
【0054】図7に示されるような構造を有するプログ
ラムを実行することにより、圧縮用辞書候補に含まれる
文字列のうち、汎用辞書に存在する文字列は辞書候補か
ら削除され、その前後に残った文字列が別々の辞書候補
として残されることになる。このようにすることによ
り、主に平仮名を含む体言や用言を切出すことができ、
圧縮辞書化できる可能性がさらに高くなる。
【0055】図18は、本実施例において用いられる汎
用辞書の一部のアドレスと、各アドレスに対応する汎用
辞書見出しとを示す。図18に示される汎用辞書は、文
字をそのコードの昇順にソートするとともに、文字列の
長いものを上位に置いて格納したものである。たとえ
ば、図18を参照して、「あらず」と「あらず。」とに
ついて考える。通常のコードの昇順ソートであれば、
「あらず」の方が「あらず。」よりも先に位置する。し
かし、圧縮率を上げるためには、なるべく長い文字列を
辞書アドレスに置換えた方がよい。したがってこの汎用
辞書においては、「あらず。」を「あらず」よりも先に
置いてある。
【0056】類似の文字列のうち最もその長さの長い文
字列と汎用辞書とを最初にマッチさせるためには、汎用
辞書を上の構成以外の構成としてもよい。たとえば、図
19を参照して、他の例の汎用辞書においては、見出し
の文字列の末尾から、文字を逆に並べて昇順にかつ長さ
の長い文字列が上位となるようにソートして見出しとし
て格納している。このように汎用辞書を構成することに
より、類似の文字列のうちでも最も長さの長いものから
先に汎用辞書中で該当見出しが見出されるため、テキス
トをより高い効率で圧縮することが可能となる。
【0057】上のような目的を達するためには、単に汎
用辞書中で最初にマッチする見出しのみを選ぶのではな
く、複数の見出しとマッチングさせ、その中で最も単位
の長いものを選ぶようにしてもよい。
【0058】圧縮用辞書構築の実施例 以下においては、図2のS1−2で行なわれる、圧縮用
辞書構築のためのプログラムの説明を行なう。図8を参
照して、S7−1において、文書中から切出された圧縮
用辞書候補の文字列の、文書中における出現の頻度の統
計をとる処理が行なわれる。図16に示される様に、切
出された文字列は一旦そのコードの昇順にソートされ
る。ソートの後、同一の文字列の頻度統計をとることに
より、図17に示される結果が得られる。この様に一旦
文字列をソートしておくことにより、頻度統計をとるこ
とが容易になる。S7−2において、処理の対象となる
圧縮用辞書候補の文字列をセットする。
【0059】S7−3において、セットされた圧縮用辞
書候補の文字列が、圧縮用辞書にこの文字列を見出しと
して採用するか否かを判定するための所定の数式を満た
しているか否かが判断される。この数式は、ある頻度で
テキスト中で出現する文字列を、圧縮用辞書に含む意義
があるか否かを判別するために定義されたものである。
この数式の例が図10に示されている。
【0060】図10を参照して、この数式は、「文書中
から切出した圧縮用辞書候補の占めるバイト数」(A)
と「その圧縮用辞書候補の出現頻度」との積が、「圧縮
用辞書の見出しとして必要なバイト数」(B)と「2バ
イトの圧縮用辞書アドレス」(C)との和よりも大きい
ときにのみ文書の圧縮が行なわれたと言える、というこ
とを表わしている。図10において注意すべきことは、
シフトJISコード体系においては、一文字が2バイト
で表現されているということである。また、数値Bとし
て特に加算されている1バイトは、圧縮用辞書の見出し
間のデリミタに必要なバイト数である。
【0061】S7−3における判断の答えがYESであ
れば制御はS7−4に進み、それ以外の場合には制御は
直接S7−5に進む。
【0062】S7−4においては、当該圧縮用辞書候補
が所定の数式を満たしているということであるからこの
辞書候補が圧縮用辞書の見出しとして採用される。そし
てS7−4においてこの圧縮用辞書候補が辞書作成のた
めに予め用意されたテーブルに追加される。S7−4の
後制御はS7−5に進む。
【0063】S7−5において、次の辞書候補があるか
否かの判断が行なわれる。判断の答えがYESであれば
制御はS7−2に戻り、それ以外の場合にはこのルーチ
ンは終了する。したがって、S7−2〜S7−4の処理
は、すべての辞書候補についてテーブルに載せるか否か
の判断が行なわれるまで繰り返される。
【0064】文字列の辞書アドレスへの変換例 図9は、図2のS1−3において行なわれる、文字列を
辞書アドレスに変換する処理を示す。図9においては、
圧縮用辞書と汎用辞書との両方を参照してテキスト中の
文字列を辞書アドレスに変換する処理が行なわれるもの
とする。
【0065】S8−1において、圧縮対象となるテキス
トのうち、後続の文字があるか否かについて判断され
る。判断の答えがYESであれば制御はS−2に進み、
それ以外の場合にはこの処理は終了する。
【0066】S8−2において、処理対象となった文字
から、前述した分割マーカが検出されるまでの間の文字
列を処理対象としてセットする処理が行なわれる。
【0067】S8−3において、S8−2でセットされ
た文字列をキーとして圧縮用辞書または汎用辞書を検索
する処理が行なわれる。制御はS8−4に進む。
【0068】S8−4において、いずれかの辞書に、処
理対象となる文字列とマッチする見出しが存在したか否
かについての判断が行なわれる。判断の答えがYESで
あれば制御はS8−5に進み、さもなければ制御はS8
−6に直接進む。
【0069】S8−5において、現在セットされている
文字列を、S8−3の処理によりこの文字列が見出され
た辞書中のアドレスで置換える処理が行なわれる。この
とき、前述のように圧縮用辞書と汎用辞書とを区別する
ため、アドレスの第2ビットが汎用辞書と圧縮用辞書と
で区別される。続いて制御はS8−6に進む。
【0070】S8−6において、テキスト中の現在処理
中の位置の分割マーカをテキストから削除する処理が行
なわれる。続いてS8−7において、削除された分割マ
ーカの次の文字の位置に処理対象が移動される。S8−
7の処理の後、制御はS8−1に戻る。
【0071】以上、S8−2〜S8−7の処理がテキス
ト中の次の文字がなくなるまで、すなわち文書の終りま
で繰り返される。
【0072】図9に示される処理を行なうことにより、
辞書に存在した文字列はその文字列が見出された辞書中
のアドレスに変換される。辞書に存在しなかった文字列
は変換されずにテキスト中に残る。図21には、元のテ
キストと、そのテキストのうち図20に示される圧縮用
辞書を参照してアドレスに変換されたものおよび圧縮用
辞書に対応する見出しが見出されず、そのままの文字列
として出力されたものとの対応の一部が示されている。
図21および図20を参照して、「当社」はアドレス
「0x0043」に、「機械翻訳」はアドレス「0x0
02A」に、「システム」はアドレス「0x0017」
にそれぞれ変換され、その他の平仮名は元のコードのま
まで残されることがわかる。図22は、図21に示され
るような対応関係に従って辞書アドレス変換を行ない、
圧縮された後のテキストの内容を示す。
【0073】図20に、圧縮用辞書の内容が示されてい
る。図20を参照して、圧縮用辞書のアドレス0x00
17、0x002A、0x0031、0x003E、0
x0043にはそれぞれ、「システム」「機械翻訳」
「構成」「述べる」「当社」という語が見出しとして格
納されている。ある文字列をキーとして圧縮用辞書を検
索し、マッチする見出しがあればその見出しのアドレス
でその文字列を置換える。これにより、文字列が圧縮用
辞書アドレスに変換化されることになる。
【0074】以上の実施例においては、文字列が、その
文字列の辞書内のアドレスに変換された。しかし、この
発明はそれには限定されず、必ずしもアドレスではな
く、他の文字列で変換されてもよい。この場合、圧縮用
辞書には、それぞれのアドレスに各見出しとともにその
見出しに対応付けられた圧縮用の文字列を格納する必要
がある。また、圧縮用の文字列はそれぞれ互いに異なる
ものである必要がある。
【0075】
【発明の効果】以上のように請求項1に記載の発明によ
れば、日本語のように複数個の文字種に分類される文字
を用いて作成されたテキストが、文字種の変わり目を検
知することにより複数の文字列に分割され、さらに分割
された文字列のうち所定の基準を満たすものが選択さ
れ、選択された文字列から圧縮用の辞書を生成すること
ができる。この圧縮用辞書を用いてテキストを圧縮後文
字列に変換することによりテキストが圧縮される。した
がって、テキストのごく一部のみが圧縮されるわけでは
なく、テキスト全体にわたり、出現頻度の高い文字列を
圧縮することができ、従来よりも圧縮効率が向上する。
しかも圧縮用辞書は対象文書から自動的に生成されるた
め、その文書について最も圧縮効率のよい圧縮用辞書が
生成できると同時に、辞書をメンテナンスするための労
力もかからない。
【0076】請求項2に記載の発明によれば、日本語の
ように複数個の文字種に分類される文字からできた文書
が、文字種の変わり目を検知することにより複数個の文
字列に分割され、分割された文字列のうち所定の基準を
満たすもののみからテキストを圧縮するための辞書を生
成することができる。この辞書はテキスト内に出現する
文字列を圧縮後文字列と変換することにより、テキスト
の一部のみならず全体にわたりテキストを高い効率で圧
縮することができる。また、処理対象のテキストに基づ
いて最も圧縮効率が良くなるような圧縮用辞書を生成す
ることができ、さらに辞書をメンテナンスするための労
力もかからない。
【図面の簡単な説明】
【図1】図1は、本発明に係るテキスト圧縮装置および
テキスト圧縮用辞書のクレーム対応図である。
【図2】図2は、本発明の一実施例の全体の処理フロー
チャートである。
【図3】図3は、図1に示されるフローチャートのう
ち、圧縮用辞書候補切出し処理の第1の実施例のフロー
チャートである。
【図4】図4は、図1に示される実施例の圧縮用辞書候
補切出し処理の第2の実施例のフローチャートである。
【図5】図5は、図1に示される実施例の圧縮用辞書候
補切出し処理の第3の実施例のフローチャートである。
【図6】図6は、図1に示される実施例の圧縮用辞書候
補切出し処理の第4の実施例のフローチャートである。
【図7】図7は、図1に示される実施例の圧縮用辞書候
補切出し処理の第5の実施例のフローチャートである。
【図8】図8は、図2に示される実施例の圧縮用辞書構
築のための処理のフローチャートである。
【図9】図9は、図2に示される実施例の辞書アドレス
変換処理のフローチャートである。
【図10】図10は、図2に示される実施例の、圧縮用
辞書に採用する圧縮用辞書候補選択を定めるための数式
を示す説明図である。
【図11】図11は、図2に示される実施例の、文字列
分割ルールテーブルの一部を示す図である。
【図12】図12は、図2の実施例により圧縮される文
書の一例の一部を示す図である。
【図13】図13は、図3に示される圧縮用辞書候補切
出し処理の結果の一部を示す図である。
【図14】図14は、図4に示される圧縮用辞書候補切
出し処理の結果の一部を示す図である。
【図15】図15は、図5に示される圧縮用辞書候補切
出し処理の結果の一部を示す図である。
【図16】図16は、図2に示される実施例における圧
縮用辞書候補の頻度統計の一部を示す図である。
【図17】図17は、図2に示される実施例において用
いられる汎用辞書とマッチした圧縮用辞書候補について
求められた出現頻度の一部を示す図である。
【図18】図18は、図2に示される実施例の汎用辞書
の第1の例の各アドレスの内容の一部を示す図である。
【図19】図19は、第2の汎用辞書の各アドレスの内
容の一部を示す図である。
【図20】図20は、構築された圧縮用辞書のアドレス
のうちの一部の内容を示す図である。
【図21】図21は、圧縮対象となる文書中の文字列と
コードまたは主アドレスとの対応の一部を示す図であ
る。
【図22】図22は、圧縮対象文書中で辞書に存在する
文字列を辞書アドレスに置換えた後の文書の内容の一部
を示す図である。
【符号の説明】
10 テキスト入力手段 12 テキスト記憶手段 14 辞書自動構築装置 16 テキスト圧縮用辞書 18 文字列変換手段 20 圧縮テキスト 22 テキスト分割手段 24 候補文字列選択手段 26 辞書生成手段

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数個の文字種に分類される、コード化
    された文字を用いて電子的に作成されるテキストを圧縮
    するためのテキスト圧縮装置であって、 テキスト中における文字種の変わり目を検知し、前記文
    字種の変わり目の前後の文字列に対して予め定める分割
    のためのルールを適用して、前記テキストを複数個の文
    字列に分割するためのテキスト分割手段と、 前記テキスト分割手段の出力する前記文字列から、所定
    の基準に基づいてテキスト圧縮用辞書の候補文字列を選
    択するための候補文字列選択手段と、 前記選択された候補文字列を、各前期候補文字列ごとに
    ユニークな所定の圧縮後文字列と関連付けて格納するテ
    キスト圧縮辞書を生成するための辞書生成手段と、 前記テキスト中に出現する各前記候補文字列を、前記生
    成されたテキスト圧縮辞書中において各前記候補文字列
    に対応付けられた前記圧縮後文字列に変換することによ
    り、前記テキストを圧縮するための文字列変換手段とを
    含む、テキスト圧縮装置。
  2. 【請求項2】 複数個の文字種に分類される、コード化
    された文字を用いて電子的に作成されるテキストを圧縮
    する際に参照されるテキスト圧縮用辞書の自動構築装置
    であって、 テキスト中における文字種の変わり目を検知し、前記文
    字種の変わり目の前後の文字列に対して予め定める分割
    のためのルールを適用して、前記テキストを複数の文字
    列に分割するためのテキスト分割手段と、 前記テキスト分割手段の出力する前記文字列から、所定
    の基準に基づいてテキスト圧縮用辞書の候補文字列を選
    択するための候補文字列選択手段と、 前記選択された候補文字列を、各前記候補文字列ごとに
    ユニークな所定の圧縮後文字列と関連付けて格納する辞
    書を作成し、前記テキストと関連付けて記憶するための
    辞書生成手段とを含む、テキスト圧縮用辞書の自動構築
    装置。
JP3286344A 1991-10-31 1991-10-31 テキスト圧縮装置およびテキスト圧縮用辞書の自動構築装置 Expired - Lifetime JP2729424B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3286344A JP2729424B2 (ja) 1991-10-31 1991-10-31 テキスト圧縮装置およびテキスト圧縮用辞書の自動構築装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3286344A JP2729424B2 (ja) 1991-10-31 1991-10-31 テキスト圧縮装置およびテキスト圧縮用辞書の自動構築装置

Publications (2)

Publication Number Publication Date
JPH05127865A JPH05127865A (ja) 1993-05-25
JP2729424B2 true JP2729424B2 (ja) 1998-03-18

Family

ID=17703174

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3286344A Expired - Lifetime JP2729424B2 (ja) 1991-10-31 1991-10-31 テキスト圧縮装置およびテキスト圧縮用辞書の自動構築装置

Country Status (1)

Country Link
JP (1) JP2729424B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3431685B2 (ja) * 1994-05-13 2003-07-28 新日鉄ソリューションズ株式会社 ドキュメント・辞書間リンク生成装置
DE19518367C2 (de) * 1995-05-22 1999-04-15 Mb Video Gmbh Verfahren zum Abspeichern und Wiedergeben von festen Bildschirmtexten
JPH1185459A (ja) * 1997-09-01 1999-03-30 Denso Corp 文字データ符号化方法および記録媒体
JP4770181B2 (ja) * 2005-01-20 2011-09-14 大日本印刷株式会社 二次元コードを印刷した書籍、および書籍閲覧装置
JP5778595B2 (ja) * 2012-02-08 2015-09-16 株式会社タムラ製作所 データ圧縮方法及び装置
WO2014045318A1 (ja) 2012-09-21 2014-03-27 富士通株式会社 圧縮プログラム、圧縮方法及び圧縮装置
WO2014097359A1 (ja) 2012-12-19 2014-06-26 富士通株式会社 圧縮プログラム、圧縮方法、圧縮装置およびシステム
JP6032291B2 (ja) 2012-12-19 2016-11-24 富士通株式会社 圧縮プログラム、圧縮装置、伸張プログラム、伸張装置およびシステム
JP6984321B2 (ja) * 2017-10-31 2021-12-17 富士通株式会社 データ生成プログラム、データ生成方法および情報処理装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6382061A (ja) * 1986-09-26 1988-04-12 Ricoh Co Ltd デ−タ圧縮方式
JPS6459437A (en) * 1987-08-29 1989-03-07 Nec Corp File compressing system

Also Published As

Publication number Publication date
JPH05127865A (ja) 1993-05-25

Similar Documents

Publication Publication Date Title
EP0293161B1 (en) Character processing system with spelling check function
US5745745A (en) Text search method and apparatus for structured documents
US5469354A (en) Document data processing method and apparatus for document retrieval
JP2726568B2 (ja) 文字認識方法及び装置
US5553216A (en) Structured database system together with structure definition frame storing document body data
JP3160201B2 (ja) 情報検索方法、情報検索装置
US4813010A (en) Document processing using heading rules storage and retrieval system for generating documents with hierarchical logical architectures
JPH1153384A (ja) キーワード抽出装置及びキーワード抽出方法並びにキーワード抽出プログラムを格納したコンピュータ読み取り可能な記録媒体
JP2729424B2 (ja) テキスト圧縮装置およびテキスト圧縮用辞書の自動構築装置
JPH05324730A (ja) 文書情報検索装置
Cooper et al. Text compression using variable‐to fixed‐length encodings
JPH06282587A (ja) 文書の自動分類方法及び装置並びに分類用の辞書作成方法及び装置
JP2681663B2 (ja) 日本文訂正候補文字抽出方法
JPH07287716A (ja) 辞書検索装置
JP2943791B2 (ja) 言語識別装置,言語識別方法および言語識別のプログラムを記録した記録媒体
JP3253657B2 (ja) 文書検索方法
JPH04160473A (ja) 事例再利用型翻訳方法および装置
EP0501416B1 (en) Method and apparatus for registering text document data and for document retrieval
JPH0883280A (ja) 文書処理装置
JPH0668159A (ja) 検索装置
JPH07182354A (ja) 電子文書の作成方法
JP2629040B2 (ja) 日本語処理システム
JPH05181853A (ja) 文書処理方式
JPH07111717B2 (ja) キ−ワ−ド自動抽出装置
JP2021111242A (ja) 要約文生成方法、要約文生成プログラムおよび要約文生成装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19971111