JPH11143877A - 圧縮方法、辞書の見出し語インデックス・データを圧縮するための方法、及び機械翻訳システム - Google Patents

圧縮方法、辞書の見出し語インデックス・データを圧縮するための方法、及び機械翻訳システム

Info

Publication number
JPH11143877A
JPH11143877A JP9289845A JP28984597A JPH11143877A JP H11143877 A JPH11143877 A JP H11143877A JP 9289845 A JP9289845 A JP 9289845A JP 28984597 A JP28984597 A JP 28984597A JP H11143877 A JPH11143877 A JP H11143877A
Authority
JP
Japan
Prior art keywords
character string
headword
character
index
compression
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
JP9289845A
Other languages
English (en)
Inventor
Tomohiro Miyahira
平 知 博 宮
Hidekazu Tazoe
添 英 一 田
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP9289845A priority Critical patent/JPH11143877A/ja
Priority to US09/144,148 priority patent/US6502064B1/en
Publication of JPH11143877A publication Critical patent/JPH11143877A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/55Rule-based translation

Abstract

(57)【要約】 【課題】 圧縮後も伸長処理なしに検索可能な圧縮方
法、該圧縮方法により生成された辞書の見出し語インデ
ックス、及び圧縮された見出し語インデックスに基づい
て単語を検索する方法を提供する。 【解決手段】 n−gram統計を用いて出現頻度の高
い文字数n以上の文字列を求め、各n文字以上の文字列
を1バイトの文字変換コードに置き換えることによって
圧縮を行なう。元の文字数nの文字列と文字変換コード
との対応関係は文字変換コード表に登録される。例えば
3バイトの文字列"sta"が文字変換コード"e5"とし
て登録され、4バイトの文字列"tion"が文字変換コ
ード"f1"として対応表に登録されたとすると、7バイ
トの文字列からなる単語"station"が2バイト文
字列"e5 f1"で表現され、5バイトだけ圧縮への寄
与がある。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータ・シ
ステムを利用して第1言語(外国語。例えば英語)から
なる原文テキストを第2言語(母国語。例えば日本語)
からなる訳文テキストに翻訳又は変換するための機械翻
訳に係り、特に、電子的に格納された辞書に基づいてコ
ンピュータ・システムが翻訳処理を行なうタイプの機械
翻訳に関する。更に詳しくは、辞書の見出し語インデッ
クス・データを圧縮するための方法、圧縮された辞書の
見出し語インデックス、及び圧縮された見出し語インデ
ックスに基づいて単語を検索する方法に関する。
【0002】
【従来の技術】コンピュータ・システムのハードウェア
資源を用いてある言語テキストを他の言語テキストに翻
訳処理する技術、すなわち所謂「機械翻訳」(若しくは
「自動翻訳」)については、古くから研究開発がなされ
ていた。
【0003】例えば、第2次世界大戦直後の1946年
に世界初の汎用コンピュータENIACが完成した頃、
当時の研究者の間では「機械で翻訳を」という機運があ
った。以来、大学や研究機関において莫大な予算を投じ
た本格的な研究がなされたが、10年以上にわたる研究
の成果はあまり芳しくはなかった。
【0004】ところが、最近、インターネットの普及と
ともに、機械翻訳は再び脚光を浴び始め、機械翻訳ソフ
トの開発・普及が再燃している。何故ならば、Webペ
ージ中のテキストの多くは英語で記述されており、英語
圏以外のインターネット・ユーザにとっては解読が困難
でWWW(World Wide Web)という折角の広域情報シス
テムを充分に活用することができない、という事態が発
生したからである。汎用コンピュータの開発当初は数千
万円もした翻訳ソフトも、パーソナル・コンピュータが
普及した現在では数千円〜数万円程度で市販されるよう
になり、一般ユーザへの浸透に拍車がかかっている。機
械翻訳ソフトの中には、インターネット上のテキスト、
すなわちWebページの翻訳に特化した製品もある。そ
の一例は、日本アイ・ビー・エム(株)が市販する「翻
訳の王様(King of Translatio
n)」である。
【0005】機械翻訳とは、要するに、コンピュータ・
システムの処理能力を活用して、例えば英語などの外国
語テキストを日本語などの母国語テキストに翻訳する
(又はその逆方向の変換処理を行なう)技術である。機
械翻訳は、人間が有する(若しくは有すると推定され
る)言語に関する莫大な知識をモデル化してデータベー
スを構築し、処理部本体としての翻訳エンジンがこのデ
ータベースを参照することによって行なわれる。
【0006】機械翻訳システムのデータベースの一例は
辞書である。最近の機械翻訳システムは、基本辞書とし
てのシステム辞書の他に、アート辞書、スポーツ辞書な
どジャンル別に専用の辞書を用意し、翻訳対象が属する
ジャンル等に応じて複数の辞書を使い分けることによっ
て、翻訳精度をさらに向上させるという努力がなされて
いる(例えば、本出願人に譲渡されている特願平8−2
72755号(当社整理番号:JA9−96−077)
の明細書参照)。1つの機械翻訳辞書は、一般には、見
出し語インデックス部分と、各見出し語の翻訳情報
(「形態素解析情報」も含む)を記述した本体部分とで
構成される。翻訳エンジンは、見出し語インデックスを
検索することによって該当する翻訳情報を取得するよう
になっている。
【0007】機械翻訳システムすなわち機械翻訳ソフト
ウェアは、一般には、CDやFDなどの記憶媒体に格納
された形で配布される。CD(コンパクト・ディスク)
やFD(フロッピー・ディスク)を購入したエンド・ユ
ーザは、自身のコンピュータ・システムのドライブ・ユ
ニットに記録媒体を装填し、システムにプログラムをイ
ンストールすることによって利用可能となる。
【0008】ところで、機械翻訳システムのうち、見出
し語インデックス部分は、一般に、そのままのテキスト
の形態では格納されなることはなく、圧縮又は暗号化処
理がなされている。これは、容易に読める形式のままで
は、第三者(特に競合者)に転用され、あるいは製品の
技術を判断される可能性があるからである。また、見出
し語インデックス・データに圧縮をかけることによって
サイズが小さくなり、メモリ上に常駐させることが可能
となるからである。見出し語インデックスは単語を検索
する度に頻繁にアクセスされるので、メモリ常駐による
検索速度向上への寄与は大きい。特に、複数の辞書を用
意するタイプの機械翻訳ソフトの場合、見出し語インデ
ックス・データをメモリ常駐させるためには、圧縮して
小サイズ化することが必須である。
【0009】従来は、汎用パーソナル・コンピュータ
(PC)上で普及している"LHA"やUNIX上の圧縮
コマンド"compress"のような一般の圧縮アルゴ
リズムを用いて見出し語インデックス・データを圧縮す
るか、又は、圧縮せずに単に暗号化処理のみを行なって
いた。しかしながら、これらの従来技術には、以下のよ
うな欠点が伴っていた。
【0010】まず第1に、圧縮や復元のための処理時間
を要してしまう。特に、見出し語インデックス・データ
については、圧縮されるとそのままでは検索できないの
で、一旦見出し語インデッスク・データ全体を伸長処理
してから検索するという2ステップを経るため、検索能
率を劣化させてしまう。
【0011】また、個々の見出し語は短い文字列(せい
ぜい2〜30バイト)なので、圧縮率がよくない。
【0012】また、単に暗号化するだけでは、データ・
サイズを小さくすることにはならない。
【0013】
【発明が解決しようとする課題】本発明の目的は、機械
翻訳等に用いられる辞書の見出し語インデックス・デー
タを圧縮するための方法、圧縮された辞書の見出し語イ
ンデックス、及び圧縮された見出し語インデックスに基
づいて単語を検索する方法を提供することにある。
【0014】本発明の更なる目的は、圧縮後も伸長処理
なしに検索可能な圧縮方法、該圧縮方法により生成され
た辞書の見出し語インデックス、及び圧縮された見出し
語インデックスに基づいて単語を検索する方法を提供す
ることにある。
【0015】
【課題を解決するための手段】本発明は、上記課題を参
酌してなされたものであり、その第1の側面は、(a)
複数の単語からなる圧縮対象の中で、出現頻度の高いn
文字以上の文字列を抽出する段階と(但し、nは2以上
の整数)、(b)抽出された各文字列について圧縮した
ときの貢献度を計算する段階と、(c)圧縮への貢献度
の高い上位文字列を所定の文字変換コード表の空き欄に
割り当てる段階と、(d)前記圧縮対象中の文字列のう
ち前記文字変換コード表に登録されているものを、対応
する文字変換コードに置き換える段階と、を含むことを
特徴とする圧縮方法である。
【0016】本発明の第1の側面に係る圧縮方法におい
て、前記圧縮対象は機械翻訳用の辞書の見出し語インデ
ックス・データであってもよい。
【0017】また、前記貢献度を計算する段階(b)で
は、文字数nの文字列Sを文字数k(但し、n>k)の
文字列に置き換えることによる圧縮量(n−k)と、前
記圧縮対象中の文字列Sの出現回数countとの積
(n−k)×countによって貢献度を表してもよ
い。
【0018】また、前記文字変換コード表として、AN
SI(American National Standards Institute)規格
に基づくASCII(American Standard Code for Inf
ormation Interchange)コード表を用いてもよい。
【0019】また、本発明の第2の側面は、機械翻訳で
用いられる辞書の見出し語インデックス・データを圧縮
するための方法であって、(a)見出し語インデックス
・データの中で、出現頻度の高いn文字以上の文字列を
抽出する段階と(但し、nは2以上の整数)、(b)抽
出された各文字列について圧縮したときの貢献度を計算
する段階と、(c)圧縮への貢献度の高い上位文字列を
所定の文字変換コード表の空き欄に割り当てる段階と、
(d)前記見出し語インデックス・データ中の文字列の
うち前記文字変換コード表に登録されているものを、対
応する文字変換コードに置き換える段階と、を含むこと
を特徴とする辞書の見出し語インデックス・データを圧
縮するための方法である。
【0020】本発明の第2の側面に係る圧縮方法におい
て、前記貢献度を計算する段階(b)では、文字数nの
文字列Sを文字数k(但し、n>k)の文字列に置き換
えることによる圧縮量(n−k)と、前記見出し語イン
デックス・データ中の文字列Sの出現回数countと
の積(n−k)×countによって貢献度を表しても
よい。
【0021】また、前記文字変換コード表として、AN
SI(American National Standards Institute)規格
に基づくASCII(American Standard Code for Inf
ormation Interchange)コード表を用いてもよい。
【0022】また、本発明の第3の側面は、コンピュー
タ・システムの処理能力を活用して第1言語テキストを
第2言語テキストに翻訳する機械翻訳システムにおい
て、第2の側面に係る圧縮方法によって圧縮された見出
し語インデックス・データと、各見出し語についての翻
訳情報を記述した辞書本体とからなる辞書と、前記辞書
を参照しながら第1言語テキストを第2言語テキストに
翻訳する翻訳エンジンと、を具備することを特徴とする
機械翻訳システムである。
【0023】本発明の第3の側面に係る機械翻訳システ
ムにおいて、前記翻訳エンジンは、第1言語テキスト中
に含まれる単語を見出し語インデックス中から検索する
ときには、まず単語中で前記文字変換コード表に登録さ
れている文字列を対応する文字変換コードに置き換えた
後に、見出し語インデックス中を検索してもよい。
【0024】また、本発明の第4の側面は、ソフトウェ
ア・プログラムを実行するためのプロセッサと、処理中
のプログラム・コードやデータを一時格納するためのメ
モリと、外部記憶装置と、ユーザがデータ等を入力する
ための入力手段と、処理内容を表示するディスプレイと
を含むコンピュータ・システム上で稼働する機械翻訳プ
ログラムを有形的に格納したコンピュータ可読記憶媒体
であって、前記機械翻訳プログラムは、(a)第2の側
面に係る圧縮方法によって圧縮された見出し語インデッ
クス・データ・モジュールと、(b)各見出し語につい
ての翻訳情報を記述した辞書本体モジュールと、(c)
前記モジュール(a)及び(b)からなる辞書を参照し
ながら第1言語テキストを第2言語テキストに翻訳する
翻訳エンジン・モジュールと、を含むことを特徴とする
コンピュータ可読記憶媒体である。
【0025】本発明の第4の側面に係るコンピュータ可
読記憶媒体において、前記翻訳エンジン・モジュール
は、第1言語テキスト中に含まれる単語を見出し語イン
デックス中から検索するときには、まず単語中で前記文
字変換コード表に登録されている文字列を対応する文字
変換コードに置き換えた後に、見出し語インデックス中
を検索してもよい。
【0026】また、本発明の第5の側面は、機械翻訳で
用いられる辞書の見出し語インデックス・データを圧縮
するための方法であって、(a)原見出し語インデック
ス・データを、各見出し語文字列を直近上位の見出し語
文字列との差分で表した第1の見出し語インデックス・
データに変換する段階と、(b)前記段階(a)におい
て、直近上位の見出し語文字列との差分が大きな見出し
語文字列を、原見出し語文字列のまま前記第1の見出し
語インデックス・データ中に記述する基準見出し語文字
列として選択する段階と、(c)第1の見出し語インデ
ックス・データの中で、出現頻度の高いn文字以上の文
字列を抽出する段階と(但し、nは2以上の整数)、
(d)抽出された各文字列を圧縮したときの貢献度を計
算する段階と、(e)圧縮への貢献度の高い上位文字列
を所定の文字変換コード表の空き欄に割り当てる段階
と、(f)前記第1の見出し語インデックス・データ中
の文字列のうち前記文字変換コード表に登録されている
ものを対応する文字変換コードに置き換えて、第2の見
出し語インデックス・データを生成する段階と、を含む
ことを特徴とする辞書の見出し語インデックス・データ
を圧縮するための方法である。
【0027】本発明の第5の側面に係る圧縮方法におい
て、前記貢献度を計算する段階(d)では、文字数nの
文字列Sを文字数k(但し、n>k)の文字列に置き換
えることによる圧縮量(n−k)と、前記見出し語イン
デックス・データ中の文字列Sの出現回数countと
の積(n−k)×countによって貢献度を表しても
よい。
【0028】また、前記文字変換コード表としてANS
I(American National StandardsInstitute)規格に基
づくASCII(American Standard Code for Informa
tion Interchange)コード表を用いてもよい。
【0029】また、本発明の第6の側面は、コンピュー
タ・システムの処理能力を活用して第1言語テキストを
第2言語テキストに翻訳する機械翻訳システムにおい
て、第5の側面に係る圧縮方法によって圧縮された第2
の見出し語インデックス・データと、各見出し語につい
ての翻訳情報を記述した辞書本体とからなる辞書と、前
記辞書を参照しながら第1言語テキストを第2言語テキ
ストに翻訳する翻訳エンジンと、を具備することを特徴
とする機械翻訳システムである。
【0030】本発明の第6の側面に係る機械翻訳システ
ムにおいて、前記翻訳エンジンは、第1言語テキスト中
に含まれる単語を見出し語インデックス中から検索する
ときには、まず前記第2の見出し語インデックス中の候
補見出し語を前記文字変換コード表に従って元の見出し
語文字列に復元した後に、単語と復元された見出し語文
字列とを比較照合してもよい。
【0031】また、本発明の第7の側面は、ソフトウェ
ア・プログラムを実行するためのプロセッサと、処理中
のプログラム・コードやデータを一時格納するためのメ
モリと、外部記憶装置と、ユーザがデータ等を入力する
ための入力手段と、処理内容を表示するディスプレイと
を含むコンピュータ・システム上で稼働する機械翻訳プ
ログラムを有形的に格納したコンピュータ可読記憶媒体
であって、前記機械翻訳プログラムは、(a)第5の側
面に係る圧縮方法によって圧縮された第2の見出し語イ
ンデックス・データ・モジュールと、(b)各見出し語
についての翻訳情報を記述した辞書本体モジュールと、
(c)前記モジュール(a)及び(b)からなる辞書を
参照しながら第1言語テキストを第2言語テキストに翻
訳する翻訳エンジン・モジュールと、を含むことを特徴
とするコンピュータ可読記憶媒体である。
【0032】本発明の第7の側面に係るコンピュータ可
読記憶媒体において、前記翻訳エンジン・モジュール
は、第1言語テキスト中に含まれる単語を見出し語イン
デックス中から検索するときには、まず前記第2の見出
し語インデックス中の候補見出し語を前記文字変換コー
ド表に従って元の見出し語文字列に復元した後に、単語
と復元された見出し語文字列とを比較照合してもよい。
【0033】
【作用】自然言語処理の分野では、言語の基本的性質と
して統計的な性質があることが古くから指摘され、且つ
調査・研究がなされてきた。言語の統計的性質として最
も着目されてきたものの1つが文字の出現頻度である。
特に、インド・ヨーロッパ系の言語は26文字という少
数のアルファベットで構成されるため、各アルファベッ
トについての使用頻度はかなり詳しく調べられている。
【0034】また、英語の文字列の特徴を表すものとし
て、単独の文字についての出現頻度だけでなく、2文
字、3文字が隣接して生じる文字の共起関係の頻度を調
べることも併せて行なわれてきた。これを2−gra
m、3−gram、一般に"n−gram"と呼んでい
る。出現頻度の順位は統計の対象としたテキストの種類
に影響される。2−gram統計では、th,he,i
n,an,er,re,onなどの文字列がよく現れ
る。また、3−gram統計では単語の綴りの断片と思
われる文字列が抽出される。n−gramに拡張すれ
ば、英語の性質に依拠した高頻度の文字列が抽出される
ことが期待される。
【0035】本発明に係る圧縮方法は、言語の統計的性
質を利用したものであり、より具体的には、n−gra
m統計を用いて出現頻度の高い文字数n以上の文字列を
求め、各n文字以上の文字列をn文字未満の文字列(す
なわち1バイトの文字変換コード)に置き換えることに
よって圧縮を図る、というものである。元の文字数nの
文字列と文字変換コードとの対応関係は、対応表(すな
わち文字変換コード表)に登録される。
【0036】例えば、文字数3すなわち3バイトの文字
列"sta"が1バイトのコード"e5"として登録され、
文字数4すなわち4バイトの文字列"tion"が1バイ
トのコード"f1"として対応表に登録されたとすると、
文字数7すなわち7バイトの文字列からなる単語"st
ation"が2バイト・コード"e5 f1"で表現さ
れるので、5バイトだけ圧縮への寄与がある。また、圧
縮後のテキスト・データ中で"e5 f1"なる文字列を
見つけたときには、予め作成された対応表から"e5"及
び"f1"の各々の欄を参照することによって、容易に元
の単語"station"に逆変換することができる。す
なわち、圧縮したテキスト自体を伸長処理しなくても、
元の単語を検索することができる。
【0037】本発明の第1の側面によれば、まず、複数
の単語からなる圧縮対象の中で、出現頻度の高いn文字
以上の文字列を抽出し(但し、nは2以上の整数)、こ
れら抽出された各文字列について圧縮したときの貢献度
を計算する。ここで、圧縮の貢献度は、nバイトの文字
列Sをkバイトの文字列に置き換えることによる圧縮量
(n−k)と、前記圧縮対象中の文字列Sの出現回数c
ountとの積(n−k)×countによって表され
る。
【0038】次いで、圧縮への貢献度の高い上位文字列
が所定の文字変換コード表の空き欄に割り当てられる。
例えば文字列"sta"と"tion"がn−gram統計
の結果圧縮への貢献度が高いと推定され、且つ、対応表
中の欄"e5"及び"f1"が未使用であったとすると、各
欄に文字列"sta"と"tion"が登録される。
【0039】さらに、前記圧縮対象中の文字列のうち前
記文字変換コード表に登録されているものは、対応する
文字変換コードに置き換えられる。例えば、圧縮対象中
の7文字の文字列"station"は、対応表に基づい
て、"e5 f1"なる文字コードに圧縮されることにな
る。
【0040】本発明の第2の側面に係る圧縮方法は、第
1の側面に係る圧縮方法を、機械翻訳で用いられる辞書
の見出し語インデックス・データの圧縮に適用した例と
言える。該側面によれば、まず、見出し語インデックス
・データの中で、出現頻度の高いn文字以上の文字列を
抽出し(但し、nは2以上の整数)、これら抽出された
各文字列について圧縮したときの貢献度を計算する。こ
こで、圧縮の貢献度は、nバイトの文字列Sをkバイト
の文字列に置き換えることによる圧縮量(n−k)と、
前記圧縮対象中の文字列Sの出現回数countとの積
(n−k)×countによって表される。
【0041】次いで、圧縮への貢献度の高い上位文字列
が所定の文字変換コード表の空き欄に割り当てられる。
ここで言う文字変換コード表として、ANSI(Americ
an National Standards Institute)規格に基づくAS
CII(American Standard Code for Information Int
erchange)コード表を用いてもよい。ASCIIコード
表は、英数字をコードに割り当てて扱うテーブルとして
当業界において広く知られている。例えば文字列"st
a"と"tion"がn−gram統計の結果圧縮への貢
献度が高いと推定された場合には、例えばASCIIコ
ード表中の各空き欄"e5"及び"f1"にこれら文字列"
sta"と"tion"が割り当てられるであろう。
【0042】さらに、前記見出し語インデックス・デー
タ中の文字列のうち前記文字変換コード表に登録されて
いるものは、対応する文字変換コードに置き換えられ
る。例えば、見出し語インデックス・データ中の見出し
語"station"は、新しく生成されたASCIIコ
ード表に基づいて、"e5 f1"なる文字列に圧縮され
ることになる。この場合、文字数7すなわち7バイトの
文字列からなる単語"station"が2バイトのコー
ド"e5 f1"で表現されるので、5バイトだけ圧縮へ
の寄与がある。かかる圧縮処理を見出し語インデックス
・データ全体について施す。この結果、見出し語インデ
ックス・データを相当量だけ圧縮することができる点に
充分留意されたい。また、このようにして圧縮された見
出し語インデックス・データは、記憶容量に限りのある
メイン・メモリ中から退避(スワップ・アウト)される
ことなく常駐することが可能となるであろう。
【0043】また、本発明の第3の側面は、第2の側面
に係る圧縮された見出し語インデックス・データを適用
した機械翻訳システムである。該機械翻訳システムは、
コンピュータ・システムの処理能力を活用して第1言語
テキストを第2言語テキストに翻訳する機械翻訳システ
ムにおいて、第2の側面に係る圧縮方法によって圧縮さ
れた見出し語インデックス・データと、各見出し語につ
いての翻訳情報を記述した辞書本体とからなる辞書と、
前記辞書を参照しながら第1言語テキストを第2言語テ
キストに翻訳する翻訳エンジンと、を具備するものであ
る。
【0044】本発明の第3の側面に係る機械翻訳システ
ムでは、前記翻訳エンジンは、第1言語テキスト中に含
まれる単語を見出し語インデックス・データ中から検索
するときには、まず単語中で前記文字変換コード表(第
2の側面に係る圧縮方法により生成されたASCIIコ
ード表)に登録されている文字列を対応する文字変換コ
ードに置き換えた後に、見出し語インデックス中を検索
する。例えば第1言語テキストとしての英文中から"s
tation"なる単語が見いだされたときには、ま
ず、ASCIIコード表(但し、"sta"と"tion"
は夫々"e5"及び"f1"なる文字コードが割り当てられ
ているとする)に従って、"e5 f1"なる文字コード
に変換する。次いで、見出し語インデックス中から文字
コード"e5 f1"を検索することによって、原文字
列"station"に該当する翻訳情報を取得すること
ができる。
【0045】圧縮された見出し語インデックス・データ
は、例えば文字数7すなわち7バイトの文字列"sta
tion"を2バイトのコード"e5 f1"に圧縮して
保持している。しかしながら、見出し語インデックス中
から単語"station"を検索するためには、単語を
対応する文字コード"e5 f1"に変換すれば足り、見
出し語インデックス・データ全体を復元処理する必要は
ない。すなわち、圧縮された見出し語インデックスの検
索のためにインデックス・データ全体を伸長処理を含ま
ないので、検索速度を低下させずに済む訳である。
【0046】本発明の第5の側面に係る圧縮方法は、第
2の側面と同様、第1の側面に係る圧縮方法を、機械翻
訳で用いられる辞書の見出し語インデックス・データの
圧縮に適用した例と言える。但し、第5の側面では、n
−gram統計により見出し語インデックス・データを
圧縮する前に、直近の見出し語文字列間で差分をとるこ
とによって、さらに圧縮率を高めている点で、第2の側
面に係る圧縮方法とは相違する。
【0047】第5の側面に係る圧縮方法では、まず、元
の見出し語インデックスを各見出し語文字列を直近上位
の見出し語文字列との差分で表した第1の見出し語イン
デックスに変換する。但し、直近上位の見出し語文字列
との差分が大きな見出し語文字列については、基準見出
し語文字列として、原見出し語文字列のまま前記第1の
見出し語インデックス中に残しておく。例えば、原見出
し語インデックス中に"abatable"、"abat
e"、"abatement"という具合に正順に並んで
いる場合には、見出し語"abate"は、直近上位の見
出し語"abatable"と一致する文字数4と差分"
e"に置き換わり、また、見出し語"abatemen
t"は、直近上位の見出し語"abate"と一致する文
字数5と差分"ment"に置き換わって、第1の見出し
語インデックスに書き込まれる。さらに、見出し語"a
batable"がその直近上位の見出し語との一致文
字数が極めて少ない場合には、基準見出し語文字列とし
て定義され、元の見出し語文字列がそのまま第1の見出
し語インデックスに残るとともに、一致文字数は0にリ
セットされる。
【0048】次いで、第1の見出し語インデックスのう
ち差分文字列に対してn−gram統計をとる。出現頻
度の高いn文字以上の文字列を抽出し(但し、nは2以
上の整数)、抽出された各文字列を圧縮したときの貢献
度を計算する。ここで、圧縮の貢献度は、nバイトの文
字列Sをkバイトの文字列に置き換えることによる圧縮
量(n−k)と、前記圧縮対象中の文字列Sの出現回数
countとの積(n−k)×countによって表さ
れる。
【0049】次いで、圧縮への貢献度の高い上位の文字
列が所定の文字変換コード表の空き欄に割り当てられ
る。ここで言う文字変換コード表として、ANSI(Am
ericanNational Standards Institute)規格に基づくA
SCII(American StandardCode for Information In
terchange)コード表を用いてもよい。ASCIIコー
ド表は、英数字をコードに割り当てて扱うテーブルとし
て当業界において広く知られている。例えば文字列"a
ble"と"lity"がn−gram統計の結果圧縮へ
の貢献度が高いと推定された場合には、ASCIIコー
ド表中の各空き欄"03"及び"ad"にこれら文字列"a
ble"と"lity"が割り当てられるであろう。
【0050】さらに、第1の見出し語インデックス中の
文字列のうち前記文字変換コード表に登録されているも
のは、対応する文字変換コードに置き換えられる。例え
ば、第1の見出し語インデックスの見出し語"06(一
致文字数) ion(差分文字列)"(元の見出し語は"
abjection")は、新しく生成されたASCI
Iコード表に基づいて、"06 99"なる見出し語に圧
縮されることになる。この場合、文字数9すなわち9バ
イトの文字列からなる単語"abjection"が2バ
イト・コード"06 99"で表現されるので、7バイト
だけ圧縮への寄与がある。かかる圧縮処理を見出し語イ
ンデックス・データ全体について施す。このようにして
対応する文字変換コードに置き換えられた見出し語イン
デックスが第2の見出し語インデックスであり、機械翻
訳処理中においては単語の辞書検索に用いられる。
【0051】本発明の第5の側面では、上述したよう
に、見出し語文字列間の差分文字列についてn−gra
m統計をとり、圧縮貢献度を比較している。差分をとる
結果として、各見出し語の末尾の文字列を効果的に取り
出すことができる。例えば、"ion"、"ness"、"
ly"のような、英語という言語に特有で且つ頻出され
る接尾辞が差分文字列として抽出される。したがって、
単に見出し語のn−gram統計をとるという第2の側
面に係る圧縮方法に比し、長い文字列が圧縮貢献度ラン
キングの上位に出現する可能性が高く、さらに圧縮率を
向上させることができよう。また、このようにして圧縮
された見出し語インデックス・データは、記憶容量に限
りのあるメイン・メモリ中から退避(スワップ・アウ
ト)されることなく常駐することが可能となるであろ
う。特に、複数の辞書を用意するタイプの機械翻訳ソフ
トの場合、各見出し語インデックス・データをメモリ常
駐させるためには、圧縮して小サイズ化することは有効
である。
【0052】また、本発明の第6の側面は、第5の側面
に係る圧縮された見出し語インデックスを適用した機械
翻訳システムである。該機械翻訳システムは、コンピュ
ータ・システムの処理能力を活用して第1言語テキスト
を第2言語テキストに翻訳する機械翻訳システムにおい
て、第2の側面に係る圧縮方法によって圧縮された見出
し語インデックス・データと、各見出し語についての翻
訳情報を記述した辞書本体とからなる辞書と、前記辞書
を参照しながら第1言語テキストを第2言語テキストに
翻訳する翻訳エンジンと、を具備するものである。
【0053】本発明の第6の側面に係る機械翻訳システ
ムでは、前記翻訳エンジンは、第1言語テキスト中に含
まれる単語を見出し語インデックス中から検索するとき
には、まず前記第2の見出し語インデックス中の候補見
出し語を前記文字変換コード表に従って元の見出し語文
字列に復元した後に、単語と復元された見出し語文字列
とを比較照合する。
【0054】第2の見出し語インデックス中では基準見
出し語文字列は元の見出し語文字列のまま残っている。
したがって、まず、単語に最も類似する基準文字列を第
2の見出し語インデックス中で探索する。例えば第1言
語テキストとしての英文中から"abjectioni
dance"なる単語が見いだされたときには、第2の
見出し語インデックス中の基準見出し語"abidan
ce"が候補文字列として取り出される。もし検索中の
単語が候補文字列と完全一致すれば辞書検索は終了す
る。他方、単語が候補文字列と一致しなければ、その候
補文字列のインデックス中の下位の見出し語について照
合処理が試行される。下位の見出し語が圧縮処理されて
いれば元の見出し語文字列に復元しなければならない。
例えば候補文字列として最初に取り出された基準見出し
語"abidance"の次の見出し語が"04(一致文
字数) 65(差分文字列のコード)"であれば、直近
上位の見出し語文字列"abidance"の先頭から4
文字を取り出すとともに、ASCIIコード表中の欄"
65"に割り当てられている文字列"e"を取り出して、
両文字列を接続することにより、元の文字列"abid
e"が復元される。復元された候補文字列が検索中の単
語と一致すれば辞書検索は終了するが、一致しなければ
さらにインデックス中の下位の見出し語について復元・
照合処理が繰り返される。このように復元・照合処理を
繰り返した結果として、単語"abjection"が見
出し語インデックス中から検索され、且つこれに該当す
る翻訳情報を取得することができる。
【0055】第2の見出し語インデックス・データは、
例えば文字数9すなわち9バイト文字列"abject
ion"を2バイトのコード"06 99"に圧縮して保
持している。しかしながら、見出し語インデックス中か
ら単語"abjection"を検索するために、第2の
見出し語インデックス・データ全体を復元処理する必要
はない。すなわち、圧縮された見出し語インデックスの
検索のために伸長処理を含まないので、検索速度を低下
させずに済む訳である。
【0056】本発明の第4又は第7の側面に係るコンピ
ュータ可読記憶媒体は、コンピュータ・システム上でコ
ンピュータ・プログラムの機能を実現するための、コン
ピュータ・プログラムと記憶媒体との構造上又は機能上
の協働的関係を定義したものである。換言すれば、該コ
ンピュータ記憶媒体をコンピュータ・システムに装着す
る(若しくはコンピュータ・プログラムをコンピュータ
・システムにインストールする)ことによって、コンピ
ュータ・システム上では協働的作用が発揮され、本発明
の第3又は第6の側面に係る機械翻訳システムと同様の
作用効果を得ることができる。
【0057】本発明のさらに他の目的、特徴や利点は、
後述する本発明の実施例や添付する図面に基づくより詳
細な説明によって明らかになるであろう。
【0058】
【発明の実施の形態】以下、図面を参照しながら本発明
の実施例を詳解する。
【0059】A.機械翻訳を実現するハードウェア環境 本発明に係る圧縮方法により圧縮された見出し語インデ
ックス・データは、機械翻訳処理に特化された専用の機
械翻訳装置、あるいは機械翻訳プログラムを実行する汎
用のパーソナル・コンピュータによっても利用に供され
る。
【0060】図1には、本発明を実現するのに適した典
型的なパーソナル・コンピュータ(PC)100のハー
ドウェア構成を模式的に示している。本発明を実現する
PCの一例は、OADG(PC Open Architecture Devel
oper's Group)仕様に準拠し、オペレーティング・シス
テム(OS)として米マイクロソフト社の"Windo
ws95"又は米IBM社の"OS/2"を搭載してい
る。以下、各部について説明する。
【0061】メイン・コントローラであるCPU11
は、OSの制御下で、各種プログラムを実行するように
なっている。CPU11は、例えば米インテル社製のC
PUチップ"Pentium"、あるいは同社の"MMX
テクノロジPentium"でよい。
【0062】CPU11は、自身の外部ピンに直結した
プロセッサ・バス12、ローカル・バスとしてのPCI
(Peripheral Component Interconnect)バス16、及
び、システム・バスとしてのISA(Industry Standar
d Architecture)バス19という3階層のバスを介し
て、後述の各ハードウェア・ブロックと相互接続してい
る。
【0063】プロセッサ・バス12とPCIバス16と
は、ブリッジ回路(ホスト−PCIブリッジ)13によ
って連絡されている。本実施例のブリッジ回路13は、
メイン・メモリ14へのアクセス動作を制御するための
メモリ・コントローラや、両バス13,16間のデータ
転送速度の差を吸収するためのデータ・バッファなどを
含んだ構成となっている。
【0064】メイン・メモリ14は、CPU11の実行
プログラムの読み込み領域として、あるいは実行プログ
ラムの処理データを書き込む作業領域として利用され
る、書き込み可能メモリである。メイン・メモリ14
は、一般には複数個のDRAM(ダイナミックRAM)
チップで構成され、例えば32MBが標準装備され、2
56MBまで増設可能である。なお、ここで言う実行プ
ログラムには、Windows95などのOS、周辺機
器類をハードウェア操作するための各種デバイス・ドラ
イバ、及び「機械翻訳プログラム」などの各種アプリケ
ーション・プログラムが含まれる。
【0065】L2−キャッシュ15は、CPU11がメ
イン・メモリ14にアクセスする時間を吸収するための
高速動作メモリである。CPU11が頻繁にアクセスす
るごく限られたコードやデータがL2−キャッシュ15
に一時格納される。L2−キャッシュ15は、一般には
SRAM(スタティックRAM)チップで構成され、そ
の記憶容量は例えば512KBである。
【0066】PCIバス16は、比較的高速なデータ転
送が可能なタイプのバス(バス幅32/64ビット、最
大動作周波数33/66MHz、最大データ転送速度1
32/264MBps)であり、ビデオ・コントローラ
20やカードバス・コントローラ23のような比較的高
速で駆動するPCIデバイス類がこれに接続される。な
お、PCIアーキテクチャは、米インテル社の提唱に端
を発したものであり、いわゆるPnP(プラグ・アンド
・プレイ)機能を実現している。
【0067】ビデオ・コントローラ20は、CPU11
からの描画命令を実際に処理するための専用コントロー
ラであり、処理した描画情報を画面バッファ(VRA
M)21に一旦書き込むとともに、VRAM21から描
画情報を読み出してディスプレイ(液晶表示ディスプレ
イ(LCD)又はCRT(Cathod Ray Tube)ディスプ
入れ)22に描画データとして出力するようになってい
る。
【0068】カードバス・コントローラ23は、PCI
バス16のバス信号をPCカード・スロット24Aのイ
ンターフェース・コネクタ(カードバス)に直結させる
ための専用コントローラである。カード・スロット24
Aには、PCMCIA(Personal Computer Memory Car
d International Association)/JEIDA(JapanEl
ectronic Industry Development Association)が策定
した仕様(例えば"PC Card Standard
95")に準拠したPCカード24Bを挿入すること
ができる。PCカード24Bとしては、ネットワーク接
続するためのLANカードや、外部記憶装置としてのH
DD内蔵カード、SCSI(Small Computer System In
terface)機器を外部接続するためのSCSIカード等
が挙げられる。
【0069】PCIバス16とISAバス18とは、ブ
リッジ回路(PCI−ISAブリッジ)19によって相
互接続されている。本実施例のブリッジ回路19は、D
MAコントローラや、プログラマブル割り込みコントロ
ーラ(PIC)、及びプログラマブル・インターバル・
タイマ(PIT)を含んだ構成となっている。ここで、
DMAコントローラは、周辺機器(例えばFDD)とメ
イン・メモリ14間のデータ転送をCPU11の介在な
しに実行するための専用コントローラである。また、P
ICは、周辺機器からの割り込み要求(IRQ)に応答
して所定の処理プログラム(割り込みハンドラ)を実行
させるための専用コントローラである。また、PIT
は、タイマ信号を所定周期で発生させるための装置であ
り、その発生周期はプログラマブルである。
【0070】本実施例のブリッジ回路19は、さらに、
IDE(Integrated Drive Electronics)に準拠した外
部記憶装置を接続するためのIDEインターフェースも
備えている。IDEインターフェースには、IDEハー
ド・ディスク・ドライブ(HDD)25が接続される
他、IDE CD−ROMドライブ26がATAPI
(AT Attachment Packet Interface)接続される。ま
た、IDE CD−ROMドライブの代わりにDVD
(Digital Versatile Disc)ドライブのような他のタイ
プのIDE機器が接続されてもよい。これら外部記憶装
置は、システム100本体内の「メディア・ベイ」又は
「デバイス・ベイ」と呼ばれる収容場所に交換可能に格
納される。
【0071】HDD25は、データ転送速度の点で他の
外部記憶装置よりも優れている。HDD25のディスク
上にコピーされたソフトウェア・プログラム(OSやア
プリケーションなど)は、システム100上での使用が
準備された(すなわちインストールされた)状態とな
る。また、CD−ROMドライブ26やDVDドライブ
は、夫々、CDやDVDなどの記憶媒体を扱う装置であ
る。インストールされるプログラムは、例えばCDやD
VDの形態で配布され、システム100に供給される。
【0072】また、本実施例のブリッジ回路19は、汎
用バスであるUSB(Universal Serial Bus)を接続す
るためのUSBルート・コントローラを内蔵するとと
も、USBポート27を備えている。USBは、電源投
入のまま周辺機器(USBデバイス)を着脱可能にする
機能(ホット・プラギング機能)や、新たに接続された
周辺機器を自動認識してシステム構成を再設定する機能
(プラグ・アンド・プレイ機能)をサポートしている。
1つのUSBポートには最大63個のUSBデバイスを
デイジー・チェーン接続することができる。USBデバ
イスの例は、キーボードやマウス、ディスプレイ、プリ
ンタなどである(図示しない)。
【0073】ISAバス18は、PCIバス19に比し
データ転送速度が低いバスであり(バス幅16ビット、
最大データ転送速度4MBps)、ROM17やモデム
・カード28、リアル・タイム・クロック(RTC)2
9、I/Oコントローラ30、キーボード/マウス・コ
ントローラ34、オーディオ・コントローラ37のよう
な比較的低速で駆動する周辺機器類を接続するのに用い
られる。
【0074】ROM17は、キーボード35やフロッピ
ー・ディスク・ドライブ(FDD)31などの各ハード
ウェアの入出力操作を制御するためのコード群(BIO
S:Basic Input/Output System)や、電源投入時の自
己診断テスト・プログラム(POST:Power On Self
Test)などを恒久的に格納するための不揮発性メモリで
ある。
【0075】モデム・カード28は、デジタル的なコン
ピュータ・データをアナログ的な公衆回線(PSTN:
Public Switched Telephone Network)経由で伝送する
ための装置である。モデム・カード28は、送信データ
を変調したり受信データを復調したりするための信号処
理回路(モデム・チップ)や、各国語毎の回線交換規格
に応じてモデムと公衆回線を接続せしめるためのデータ
・アクセス・アレンジメント機能回路(DAA)などの
回路コンポーネントを含んでいる。
【0076】リアル・タイム・クロック(RTC)29
は、現在時刻を計測するための装置である。RTC29
は、一般には、CMOSメモリ(図示しない)とともに
1チップ上に実装されている。このCMOSメモリは、
例えばシステム構成情報(BIOSの設定値)やパワー
・オン・パスワードのような、システムのセーフティや
セキュリティに不可欠な情報を保管するために用いられ
る。RTC/CMOS29は、リザーブ・バッテリ(通
常はコイン・バッテリ:図示しない)によってバックア
ップされており、システム100がパワー・オフの間も
計測内容や記憶内容を失わないようになっている。
【0077】I/Oコントローラ30は、フロッピー・
ディスク・ドライブ(FDD)31の駆動制御や、パラ
レル・ポート32を介したパラレル・データの入出力
(PIO)、シリアル・ポート33を介したシリアル・
データの入出力(SIO)を制御するための周辺コント
ローラである。例えば、パラレル・ポート32にはプリ
ンタが、シリアル・ポートにはジョイスティックなど
が、夫々接続される。
【0078】キーボード/マウス・コントローラ(KM
C)34は、キーボード35からの入力スキャン・コー
ドや、マウスなどのポインティング・デバイス36によ
る指示座標値をコンピュータ・データとして取り込むた
めの周辺コントローラである。
【0079】オーディオ・コントローラ37は、オーデ
ィオ信号の入出力を行なうための専用コントローラであ
り、オーディオ信号をデジタル録音・再生するためのC
ODEC回路(Coder-DECoder:すなわちミキシング機
能を備えたAD/DA変換器)を含んでいる。オーディ
オ信号の入力は、例えばマイク39や外部オーディオ機
器(図示しない)からのライン入力により行なわれる。
また、生成されたオーディオ信号は、オーディオ・アン
プで増幅してスピーカ38により出力されるか、ライン
出力端子経由で外部オーディオ機器(図示しない)に出
力される。
【0080】各バス16,18の一端には、夫々1以上
のPCIバス・スロット16A、ISAバス・スロット
18Aが装備されている場合もある。バス・スロット1
6A及び18Aには、夫々、PCI対応アダプタ・カー
ド16B及びISA対応アダプタ・カード18Bを装着
することができる。アダプタ・カードの一例は、コンピ
ュータ100をネットワーク接続するためのLANカー
ドであり、他の例はHDDやCD−ROMドライブ、プ
リンタなどの各種SCSI機器を外部接続するためのS
CSIカードである。
【0081】パーソナル・コンピュータ100の典型的
なユーザは、キーボード又はマウスを介してシステムを
操作して、ワープロ、表計算、通信などのような各種ア
プリケーション・プログラムを実行し、ディスプレイ・
スクリーン上で自らの業務遂行に役立てることができ
る。例えばユーザは、CD又はFDの形態で入手した機
械翻訳プログラムを、CD−ROMドライブ26又はF
DD31からHDD25にコピーすることによってシス
テムにインストールすることができる。あるいは、ネッ
トワーク経由で接続された遠隔のサーバ装置(Webサ
ーバ)からHDD25にファイル転送することによって
も、所望のソフトウェア・プログラムをコンピュータ・
システム100にインストールすることができる。機械
翻訳プログラムをインストールしこれを実行するコンピ
ュータ・システム100は、機械翻訳システムとして稼
働する。
【0082】現在市販されているいわゆるパーソナル・
コンピュータは、図1に示したコンピュータ・システム
100として充分機能を発揮するであろう。なお、コン
ピュータ・システム100を構成するためには、図1に
示した以外にも多くの電気回路等が必要である。但し、
これらは当業者には周知であり、また、本発明の要旨を
構成するものではないので、本明細書中では省略してい
る。また、図面の錯綜を回避するため、図中の各ハード
ウェア・ブロック間の接続も一部しか図示していない点
を了承されたい。
【0083】B.機械翻訳システム 機械翻訳に特化された専用のハードウェアを具備した機
械翻訳システム、あるいは、機械翻訳プログラムを実行
する汎用のパーソナル・コンピュータは、概念的には図
2に示すようなシステム構成を備えている。
【0084】図2(a)は、一般の機械翻訳システム2
00を模式的に示している。該システム200は、デー
タ処理部210と、入力部220と、表示部230と、
出力部240とで構成される。データ処理部210は、
例えばCPU11とメモリ14などマザーボード上の各
コンポーネントで構成される。入力部220は、例えば
キーボード35とマウス36で構成される。表示部23
0はディスプレイ22と等価である。出力部240は、
処理結果を印刷するプリンタや、データを保管するため
のHDD25やFDD31などの外部記憶装置で構成さ
れる。
【0085】データ処理部210は、編集部と翻訳エン
ジンと辞書とで構成される。編集部は、翻訳対象となる
テキストをHDD25などの外部記憶装置から読み出し
たり、入力部220との連係により表示部230上でテ
キスト編集する環境を提供する。
【0086】翻訳エンジンは、システム200の中心部
であり、編集部から供給された第1言語(英語)の原文
テキストを、辞書を参照しながら第2言語(日本語)か
らなる訳文テキストに変換する。
【0087】辞書は、一般に見出し語インデックス・デ
ータ部分と、各見出し語の翻訳情報を格納した部分とで
構成される。翻訳エンジンは見出し語インデックスを検
索することによって翻訳情報を取得するようになってい
る。最近の機械翻訳システムでは、基本辞書としてのシ
ステム辞書の他に、アート辞書、スポーツ辞書などジャ
ンル別に専用の辞書を用意することが主流となってい
る。
【0088】また、図2(b)には、インターネット上
のテキスト、すなわちWebページの翻訳に特化した機
械翻訳システム200を模式的に示している。該システ
ム200は、データ処理部210と、ネットワーク・サ
ブシステム250とで構成される。
【0089】ネットワーク・サブシステム250は、例
えばコンピュータ・システム100をインターネットに
接続せしめるための装置で構成され、具体的には、公衆
回線経由への接続を行なうモデム・カード28や、LA
Nへの接続を行なうLANアダプタ・カード16Bなど
がこれに該当する。前者であればサービス・プロバイダ
によるインターネットへのダイヤルアップIP接続が果
たされ、後者であればルータ経由でインターネットにゲ
ートウェイ接続される。
【0090】データ処理部210は、物理的にはCPU
11とメモリ14を含むマザーボード上の各コンポーネ
ントで構成され、論理的には、翻訳プロキシと、翻訳エ
ンジンと、WWWブラウザとの協働的動作で構成され
る。
【0091】WWWブラウザは、所謂「インターネット
・ツアー・ガイド」として作用するコンピュータ・プロ
グラムであり、例えば米ネットスケープ社の"Netscape
Navigator"などの閲覧プログラムがこれに該当する。W
WWブラウザは、URL(Universal Resource Locato
r)の入力などのためのユーザ・インターフェースを提
供するとともに、URLで指定されたWWWサーバから
ファイル(通常はHTML(HyperText Markup Lauguag
e)ファイル)を取得しその内容を解釈してディスプレ
イ22上に表示するようになっている。
【0092】本実施例の機械翻訳システムはプロキシ機
能を有しており、WWWブラウザからの要求に従って、
WWWサーバとの間に介在してファイル・ダウンロード
処理を行なうようになっている。翻訳プロキシは、ダウ
ンロードしたHTMLファイル中のテキスト部分を翻訳
エンジンに渡して、翻訳作業を委ねる。翻訳エンジン
は、供給された第1言語(英語)の原文テキストを、辞
書を参照しながら第2言語(日本語)からなる訳文テキ
ストに変換する。WWWブラウザは、翻訳プロキシから
翻訳結果を受け取ると、HTMLファイルで記述された
画像ファイル(GIFファイル又はJPEGファイル)
とともにディスプレイ22上に表示する。
【0093】辞書は、一般に見出し語インデックス・デ
ータ部分と、各見出し語の翻訳情報を格納した部分とで
構成される。翻訳エンジンは見出し語インデックスを検
索することによって翻訳情報を取得するようになってい
る。なお、機械翻訳システム200は、基本辞書として
のシステム辞書の他に、アート辞書、スポーツ辞書な
ど、ジャンル別に複数の辞書を用意している。
【0094】C.辞書の見出し語インデックス・データ
の圧縮処理 次いで、見出し語インデックス・データの圧縮処理につ
いて詳解する。
【0095】[表1]には、見出し語インデックスの一
例を示してある。これは、日本アイ・ビー・エム(株)
が市販する機械翻訳ソフト「翻訳の王様」に含まれるシ
ステム辞書の見出し語インデックスの上位から一部を抜
き取ったものである。なお、以下の説明では、1文字が
1バイトで表現されることを前提とする。
【0096】
【表1】
【0097】圧縮された見出し語インデックス・データ
は、例えば翻訳システムとして機能するコンピュータ1
00本体のメモリ14にロードされ、あるいはメモリ1
4上に常駐する。機械翻訳プログラムをシステム100
が起動する度に、見出し語インデックス・データの圧縮
処理を行ない、その成果物としての圧縮見出し語インデ
ックスをメモリ14にロードしてもよい。しかしなが
ら、毎回同じ圧縮見出し語インデックスを利用すること
を勘案すれば、機械翻訳プログラムの製造業者が予め圧
縮処理を行ない、圧縮された見出し語インデックス・デ
ータそのものを機械翻訳プログラム本体とともに記憶媒
体(例えばコンパクト・ディスク)上に格納して販売・
配布するようにしてもよい。なお、製造業者が予め見出
し語インデックス・データの圧縮処理を行なう場合であ
っても、機械翻訳プログラムのユーザが使用する汎用コ
ンピュータ・システム100と等価なハードウェア環境
(図1参照)により圧縮処理を実現可能である。
【0098】C−1.第1の実施例 まず、見出し語インデックス・データを圧縮処理するた
めの第1の実施例について、図3〜図6を用いて説明す
る。
【0099】n−gram統計処理:図3は、各見出し
語の圧縮貢献度の計算を行なう処理の手順をフローチャ
ートで示している。該処理は、見出し語インデックス・
データの圧縮処理に対する前処理として位置付けられ
る。
【0100】ここで言う圧縮貢献度とは、文字数n(す
なわちnバイト)以上の文字列をn文字未満(この例で
は1バイト)の文字列で置き換えたときに見出し語イン
デックス・データに及ぼす圧縮の効果のことを意味す
る。見出し語インデックス中で出現頻度の高い文字列や
文字数の多い(すなわち多バイトの)文字列を1文字
(すなわち1バイト・コード)で置き換えれば圧縮貢献
度が高いことは容易に想到されよう。文字数n(但し、
n=2,3,…)の各文字列が見出し語インデックス中
で出現する頻度は、所謂n−gram統計を用いて算出
される。ある文字数nすなわちnバイトの文字列を1バ
イト・コードに置き換えたときの圧縮貢献度は、見出し
語インデックス中の出現回数countとバイト数の減
分(n−1)を掛け合わせることによって求まる。以
下、フローチャートの各ステップについて詳解する。
【0101】「未処理の見出し語があるか」という条件
文(ステップS100)で形成される第1のIFループ
によって、見出し語インデックス全体についてのn−g
ram統計が調査される。
【0102】第1のIFループ内では、まず、元の見出
し語インデックス中から残余の先頭の見出し語を読み出
して、これを変数RESTに代入する(ステップS10
2)。次いで、Nに数値2を代入して(ステップS10
4)、2−gram統計から処理を開始する。
【0103】「NがRESTの文字列長以下か」という
条件文(ステップS106)で形成される第2のIFル
ープ内では、文字列RESTについてのn−gram統
計処理が実行される(ステップS108。詳細は後
述)。N=2についてのn−gram統計、すなわち2
−gram統計処理が終了すると、次いで、Nを1だけ
増分して(ステップS110)、同様のIFループ処理
(すなわち(N+1)−gram統計処理)を繰り返
す。
【0104】他方、NがRESTの文字列長を越えたこ
とは文字列RESTについてのn−gram統計処理が
終了したことを意味するので、判断ブロックS106の
分岐"No"より第2のIFループから抜け出し、ステッ
プS100に復帰する。
【0105】ステップS100に戻ると、再度、見出し
語インデックス中の次の見出し語の取得が試みられる。
もし、見出し語インデックス中の全ての見出し語につい
てn−gram統計処理が終了していれば、判断ブロッ
クS100の分岐"No"より、第1のIFループを抜け
出す。第1のIFループの終了は、n−gram統計デ
ータの収集完了を意味する。この時点では暫定的なn−
gram統計テーブルが生成されている。
【0106】[表2]には、暫定的なn−gram統計
テーブルの一例を示してある。これは、日本アイ・ビー
・エム(株)が市販する機械翻訳ソフト「翻訳の王様」
に含まれるシステム辞書の見出し語インデックス・デー
タに対して、図3中の第1のIFループ終了時における
統計処理の結果である。この統計テーブルの各エントリ
は、抽出された文字数nすなわちnバイトの各文字列
と、その文字列の見出し語インデックス中の出現回数を
格納するフィールドを有している。例えば、[表2]の
第25番目のエントリは、文字列"ess"が見出し語イ
ンデックス中で出現する回数が4321回であることを
示している。
【0107】
【表2】
【0108】次いで、統計データ中の文字数nすなわち
nバイトの各文字列を1バイト・コードに置き換えたと
きの圧縮貢献度を計算し(ステップS120)、さら
に、圧縮貢献度が高い順に統計テーブルのエントリをソ
ートする(ステップS122)。圧縮貢献度は、上述し
たように、出現回数countとバイト数の減分(n−
1)との掛け算で表される。
【0109】さらに、ステップS124では、統計の重
複を除去する。ここで言う統計の重複とは、例えば長い
文字列"ABCD"については、これに含まれる短い文字
列"ABC"、"BCD"、"AB"、"BC"、及び"CD"
は"ABCD"の出現回数を重複してカウントしているこ
とを言う。長い文字列の方が圧縮貢献度が高いので、長
い文字列を統計テーブルに残すべきである。このため、
短い文字列"ABC"、"BCD"、"AB"、"BC"、及
び"CD"の各エントリの出現回数から文字列"ABCD"
の出現回数を減算する必要がある。例えば、第1のIF
ループを終了した当初の統計テーブルで"ation"及
び"tion"の出現回数が夫々1622と2398であ
ったならば、"tion"の出現回数2398のうち"a
ction"によってダブル・カウントされた1622
を引いた値776(=2398−1622)が真の出現
回数ということになる。
【0110】ステップS124で統計の重複を除去した
後の統計テーブルのエントリを再び圧縮貢献度の高い順
に再ソートする(ステップS126)。
【0111】[表3]には、圧縮貢献度に従ってソート
した統計テーブルを示している。これは、「翻訳の王
様」に含まれるシステム辞書の見出し語インデックス・
データ(前述)に対して処理を施した結果である。
【0112】
【表3】
【0113】[表3]によれば、第1のエントリである
文字列"ness"の圧縮貢献度9315が最も高く、次
いで、文字列"ation"の貢献度6488が高いこと
が判る。
【0114】図4には、ステップS108におけるn−
gram統計処理ルーチンを詳細に図解している。以
下、各ステップについて説明する。
【0115】まず、ステップS200では、処理中(す
なわち変数RESTに代入された)の見出し語の文字列
長を変数LENに代入する。次いで、ステップS202
では、NがLEN以下かどうかを判断する。Nが既にL
ENを越えていればn−gram統計をとる必要がない
ので(例えば文字数(N−1)の文字列についてのN−
gram統計はない)、判断ブロックS202の分岐N
oより抜けて該処理ルーチンを終了する。他方、NがL
EN以下であれば分岐Yesに進んで、後続のステップ
を実行する。
【0116】ステップS204では変数Jに1を代入す
る。この変数Jは、文字列RESTのJ文字目以降の部
分文字列を指定するための変数である。
【0117】「JがLEN−N+1以下か」という条件
文(S206)で形成されるIFループでは、処理中の
文字列RESTのJ文字目以降の部分文字列に含まれる
文字数Nの文字列についてのn−gram統計がとられ
る。JがLEN−N+1を既に越えているときには、文
字列RESTのJ文字目以降にはN文字以上の文字列が
残っていないことを意味するので、判断ブロックS20
6の分岐Noより抜けて、該処理ルーチンを終了する。
他方、JがLEN−N+1以下であれば後続のステップ
を実行する。
【0118】ステップS208では、文字列RESTの
J文字目から始まる文字数Nの文字列が既に統計テーブ
ル上に存在するかどうかを判断する。例えばREST
="ABCD"、J=2、N=2であれば、文字列ABC
Dの2文字目からの2文字の文字列BCが統計テーブル
上に存在するかどうかが判断される。統計テーブル上に
該当するエントリが既にあれば、該エントリの出現回数
countを1だけ増分する(ステップS210)。逆
に、該当するエントリが統計テーブル中から見つからな
ければ、新たなエントリを追加するとともに、その出現
回数countを1にする(ステップS212)。
【0119】このようにして文字列RESTのJ文字目
から始まる文字数Nの文字列についてN−gram統計
をとった後、Jを1だけ増分して(ステップS21
4)、ステップS206に復帰して、(J+1)文字列
目から始まる文字数Nの文字列についてのN−gram
統計処理を繰り返し行なう。
【0120】文字変換コード表の作成:図3及び図4に
示す処理ルーチンによって圧縮貢献度の高い順にエント
リを整列させた統計テーブルを作成した後には、次に、
文字列をコードに置き換えるための文字コード変換テー
ブルを作成する。本発明を具現するために、文字をコー
ドに変換するためのテーブルを全く新しくデザインして
もよい。しかしながら、本実施例では、英数字をコード
に割り当てて扱うテーブルとして当業界で広く知られ且
つ広範に利用されているASCII(American Standar
d Code for Information Interchange)コード表を用
い、このコード表の未使用欄を圧縮貢献度の高い文字列
に新たに割り当てるようにしている。ASCIIコード
表を用いる利点は、a,b,c…や0,1,2…のよう
な一般の英数字については既存のコードをそのまま使用
できる点にある。なお、ASCIIコード表はANSI
(American National Standards Institute)規格に基
づくものである。
【0121】図5には、n−gram統計処理に基づく
圧縮貢献度に従って新しい文字変換コード表を作成する
ための処理ルーチンをフローチャートにして示してい
る。以下、各ステップについて説明する。
【0122】まず、統計テーブルの上位から、文字変換
コード表の未使用領域の個数分だけ、文字列を取ってく
る(S300)。文字変換コード表がASCIIコード
表であれば、未使用欄が185個あるので(但し、英大
文字を使用しない場合)、統計テーブルの上位185個
までのエントリを取得すればよい。
【0123】次いで、取得した文字列をアルファベット
順にソートする(ステップS302)。そして、文字変
換コード表の未使用領域の先頭から順に、ソートした文
字列を1つずつ割り当てる(ステップS304)。アル
ファベット順に割り当てるのは、後の辞書検索の便宜を
図るためである(後述)。
【0124】[表4]には、図5に示す処理ルーチンに
より作成された文字変換コード表を示している。該テー
ブルはASCIIコード表を基にしており、a,b,c
…や0,1,2…のような一般の英数字については既存
のコードがそのまま割り当てられている(表4中ではA
SCIIコード表に既存の欄は枠付けして表示してい
る)。他方、例えばASCIIコード表の未使用欄0x
01には圧縮貢献度の高い文字列"ab"が、同テーブル
の他の未使用欄0xc9には文字列"ot"が、夫々割り
当てられている。
【0125】
【表4】
【0126】なお、[表4]は、「翻訳の王様」に含ま
れるシステム辞書の見出し語インデックス(前述)に対
して処理を施した結果である。
【0127】辞書見出し語インデックスの作成:新しい
文字変換コード表が作成されると、次いで、この文字変
換コード表を用いて辞書見出し語インデックスを新たに
作成する。[表4]に示す文字変換コード表は、文字数
nすなわちnバイト(但し、nは2以上の整数)の文字
列を1バイトのコードに置き換える作用を有している
(前述)。見出し語中で圧縮貢献度の高いnバイトの文
字列は、文字変換コード表に従って1バイト・コードに
置き換えられるので、新たな見出し語インデックスの作
成により(n−1)バイトの圧縮効果があげられる。
【0128】図6には、辞書見出し語インデックスを作
成(すなわち圧縮)するための処理ルーチンをフローチ
ャートで示している。以下、各ステップについて説明す
る。
【0129】「未処理の見出し語があるか」という条件
文(ステップS400)で形成される第1のIFループ
によって、見出し語インデックス全体についての圧縮処
理が実行される。
【0130】第1のIFループ内では、まず、元の見出
し語インデックスの中から残余の先頭の見出し語を取得
し、変数STRに代入する(ステップS402)。ま
た、変数I及びJには夫々初期値1を代入するととも
に、変数LENには文字列STRの文字列長を代入する
(ステップS404)。変数Iは元の文字列STRのI
文字目を指定するために用いられ、変数Jは新しい文字
列NEWのJ文字目を指定するために用いられる。
【0131】「IがLEN以下か」という条件文(ステ
ップS406)で形成される第2のIFループ内では、
文字列STRについての圧縮処理が実行される。この圧
縮処理は、文字列STR中の各部分文字列を文字変換コ
ード表のコードで置き換えることによって行なわれる。
【0132】まず、文字列STRのI文字目以降の部分
文字列を、[表4]で示した文字変換コード表中の各文
字列と比較照合する(ステップS408)。この比較照
合は、文字変換コード表の最後尾より逆順に行なわれ
る。文字変換コード表には、アルファベット順に文字列
が割り当てられているので([表4]参照)、テーブル
を逆順に検索することにより、より文字数の多い文字列
と先に照合させることができる。例えば文字列STRの
I文字以降に"lity"という部分文字列が存在する場
合、[表4]中で一致する候補としては"lit"と"l
ity"の2つが挙げられるが、アルファベット順の遅
い(すなわち文字数が長い)"lity"と先に照合する
ことができる。
【0133】文字列STRのI文字目以降の部分文字列
と一致する文字列がコード表中にあれば、新しい文字列
NEWのJ文字目にこの一致する文字列を代入して(ス
テップS410)、Iをこの一致する文字列の文字数分
だけ増分する(ステップS412)。例えば、STR
[I]以降が4バイトの文字列"ness"を含んでいれ
ば、その部分文字列は、文字変換コード表に従って"b
9"という1バイト文字に置き換わることになる。ま
た、このときはIは4だけ増分される。
【0134】他方、文字列STRのI文字目以降の部分
文字列と一致する文字列がコード表中に存在しなけれ
ば、新しい文字列NEWのJ文字目に元の文字列STR
のI文字目を代入して(ステップS414)、Iを1だ
け増分する(ステップS416)。
【0135】このようにして新しいNEWのJ文字目に
該当する文字列又は元の1文字を代入した後、Jを1だ
け増分して(ステップS418)、ステップS406に
復帰して同様のIFループ処理を繰り返す。Iが文字列
長LENを越えたことは、元の文字列STRが新しい文
字列NEWに変換する処理が終了したことを意味するの
で、判断ブロックS406の分岐Noより第2のIFル
ープを抜け出して、見出し語インデックス中の元のエン
トリSTRを変換されたコードNEWに置き換えてから
(ステップS420)、ステップS400に復帰する。
【0136】ステップS400では、未処理の見出し語
が見出し語インデックス中の残っているかどうかが判断
される。未だ残っていれば、残余の見出し語について上
述と同様の処理が繰り返し行なわれる。他方、未処理の
見出し語がなければ、見出し語インデックス全体につい
て処理が終了したことを意味する。このときは、判断ブ
ロックS400の分岐Noより抜けて、該処理ルーチン
を終了する。
【0137】[表5]には、新たに生成された見出し語
インデックスの一部を元の見出し語と対比させて例示し
ている。但し、新見出し語インデックスは、1バイトを
16進表現している。
【0138】
【表5】
【0139】[表5]によれば、例えば"a−bomb"
という見出し語は、"61 2d19 6d 62"とい
う5バイトのコードに圧縮されていることが判る。"a
bandon"という文字数7すなわち7バイトの見出
し語は"01 0c c3"という3バイトのコードに置
き換わっているので、4バイト分の圧縮効果がある。ま
た、"able"という文字数4すなわち4バイトの見出
し語は"02"という1バイトのコードに置き換わってい
るので、3バイト分の圧縮効果がある。
【0140】本実施例に係る圧縮手法を「翻訳の王様」
のシステム辞書の見出し語インデックスに適用した場
合、625Kバイトからなる元の見出し語インデックス
を388Kバイトに圧縮できたという実験結果もある。
サイズの小さい見出し語インデックス・データは、コン
ピュータ・システム100のメイン・メモリ14上から
退避(スワップ・アウト)することなく常駐することが
可能となる。メモリ常駐データへのアクセスが高速であ
るという性質により、辞書検索速度が向上するという効
果が招来される。特に、複数の辞書を用意するタイプの
機械翻訳システムの場合、各見出し語インデックス・デ
ータをメモリ常駐させるためには、圧縮して小サイズ化
することは有効である。
【0141】C−2.第2の実施例 次いで、見出し語インデックス・データを圧縮処理する
ための第2の実施例について、図7〜図11を用いて説
明する。第2の実施例は、n−gram統計に基づく圧
縮処理を行なう前に、予め直近の見出し語文字列同士で
差分をとっておく点で第1の実施例とは相違する。
【0142】見出し語インデックス・データの差分処
理: 図7には、予め直近の見出し語文字列同士で差分をとっ
ておく処理ルーチンをフローチャートで示している。以
下、各ステップについて説明する。
【0143】まず、直前文字列PREVとして空の文字
を代入する(ステップS500)。
【0144】「未処理の見出し語があるか」という条件
文(ステップS502)で形成されるIFループによっ
て、見出し語全体について差分処理が展開される。
【0145】IFループ内では、まず、元の見出し語イ
ンデックスの中から残余の先頭の見出し語文字列を取得
して、これを現文字列CURRに代入する(ステップS
504)。
【0146】次いで、直前文字列PREVと現文字列C
URRが先頭から何文字一致するかを調べ(ステップS
506)、一致した文字数と、PREVとCURRとの
差分文字列とを出力する(ステップS508)。
【0147】次いで、現文字列CURRを直前文字列P
REVに代入して(ステップS510)、ステップS5
02に復帰する。
【0148】ステップS502では、再度、元の見出し
語インデックス中から残余の見出し語文字列の取得が試
みられる。もし、未処理の見出し語が残っていれば、判
断ブロックS502の分岐Yesに進み、次に取得した
見出し語文字列について上述と同様の差分処理を繰り返
す。他方、全ての見出し語について差分処理が終了して
いれば、判断ブロックS502の分岐Noより抜けて、
該処理ルーチンを終了する。
【0149】[表6]には、差分処理が施された見出し
語インデックスの一部を、元の見出し語インデックスと
対比させて示している。但し、文字列"a−bomb"を
見出し語インデックスの先頭とする。なお、元の見出し
語インデックスは、「翻訳の王様」のシステム辞書の見
出し語インデックスである。
【0150】
【表6】
【0151】[表6]に示すように"abject"の直
近下位の見出し語"abjection"は先頭から6文
字目までが"abject"と一致することから、一致文
字数06と差分文字列"ion"が新しい見出し語とな
る。また、次の見出し語"abjectly"は先頭から
6文字目までが直近上位の見出し語"abjectio
n"と一致することから、一致文字数06と差分文字列"
ly"が新しい見出し語となる。このように差分処理が
施された見出し語インデックスのことを、以下、「暫定
的見出し語インデックス」と言うことにする。
【0152】n−gram統計処理:図8は、各見出し
語の圧縮貢献度の計算を行なう処理の手順をフローチャ
ートで示している。該処理は、暫定的見出し語インデッ
クス・データを圧縮するための前処理として位置づけら
れる。
【0153】ここで言う圧縮貢献度とは、文字数n(す
なわちnバイト)以上の文字列をn文字未満(この例で
は1バイト)の文字列で置き換えたときに暫定的見出し
語インデックス・データに及ぼす圧縮の効果のことを意
味する。暫定的見出し語インデックス中で出現頻度の高
い文字列や文字数の多い(すなわち多バイトの)文字列
を1文字(すなわち1バイト・コード)で置き換えれば
圧縮貢献度が高いことは容易に想到されよう。文字数n
(但し、n=2,3,…)の各文字列が暫定的見出し語
インデックス中で出現する頻度は、所謂n−gram統
計を用いて算出される。あるnバイト文字列を1バイト
・コードに置き換えたときの圧縮貢献度は、見出し語イ
ンデックス中の出現回数countとバイト数の減分
(n−1)を掛け合わせることによって求まる。以下、
フローチャートの各ステップについて詳解する。
【0154】「未処理の見出し語があるか」という条件
文(ステップS600)で形成される第1のIFループ
によって、暫定的見出し語インデックス全体についての
n−gram統計が調査される。
【0155】第1のIFループ内では、まず、暫定的見
出し語インデックス中から残余の先頭の見出し語の差分
文字列を読み出して、これを変数RESTに代入する
(ステップS602)。次いで、Nに数値2を代入して
(ステップS604)、2−gram統計から処理を開
始する。
【0156】「NがRESTの文字列長以下か」という
条件文(ステップS606)で形成される第2のIFル
ープ内では、文字列RESTについてのn−gram統
計処理が実行される(ステップS608。詳細は後
述)。N=2についてのn−gram統計、すなわち2
−gram統計処理が終了すると、次いで、Nを1だけ
増分して(ステップS610)、同様のIFループ処理
(すなわち(N+1)−gram統計処理)を繰り返
す。
【0157】他方、NがRESTの文字列長を越えたこ
とは文字列RESTについてのn−gram統計処理が
終了したことを意味するので、判断ブロックS606の
分岐"No"より第2のIFループから抜け出し、ステッ
プS600に復帰する。
【0158】ステップS600に戻ると、再度、暫定的
見出し語インデックス中の次の見出し語の差分文字列取
得が試みられる。もし、暫定的見出し語インデックス中
の全ての見出し語についてn−gram統計処理が終了
していれば、判断ブロックS600の分岐"No"より、
第1のIFループを抜け出す。第1のIFループの終了
は、n−gram統計データの収集完了を意味する。こ
の時点では暫定的なn−gram統計テーブルが生成さ
れている。
【0159】次いで、統計データ中の各nバイト文字列
を1バイト・コードに置き換えたときの圧縮貢献度を計
算し(ステップS620)、さらに、圧縮貢献度が高い
順に統計テーブルのエントリをソートする(ステップS
622)。圧縮貢献度は、上述したように、出現回数c
ountとバイト数の減分(n−1)との掛け算で表さ
れる。
【0160】さらに、ステップS624では、統計の重
複を除去する。ここで言う統計の重複とは、例えば長い
文字列"ABCD"については、これに含まれる短い文字
列"ABC"、"BCD"、"AB"、"BC"、及び"CD"
は"ABCD"の出現回数を重複してカウントしているこ
とを言う。長い文字列の方が圧縮貢献度が高いので、長
い文字列を統計テーブルに残すべきである。このため、
短い文字列"ABC"、"BCD"、"AB"、"BC"、及
び"CD"の各エントリの出現回数から文字列"ABCD"
の出現回数を減算する必要がある。
【0161】ステップS624で統計の重複を除去した
後の統計テーブルのエントリを再び圧縮貢献度の高い順
に再ソートする(ステップS626)。
【0162】[表7]には、圧縮貢献度に従ってソート
した統計テーブルを示している。これは、「翻訳の王
様」に含まれるシステム辞書の見出し語インデックス・
データ(前述)に対して処理を施した結果である。
【0163】
【表7】
【0164】[表7]によれば、第1のエントリである
文字列"ness"の圧縮貢献度9162が最も高く、次
いで、文字列"ly"の圧縮貢献度3745が高いことが
判る。
【0165】図9には、ステップS608におけるn−
gram統計処理ルーチンを詳細に図解している。以
下、各ステップについて説明する。
【0166】まず、ステップS700では、処理中(す
なわち変数RESTに代入された)の差分文字列の文字
列長を変数LENに代入する。次いで、ステップS70
2では、NがLEN以下かどうかを判断する。Nが既に
LENを越えていればn−gram統計をとる必要がな
いので(例えば文字数(N−1)の文字列についてのN
−gram統計はない)、判断ブロックS702の分岐
Noより抜けて該処理ルーチンを終了する。他方、Nが
LEN以下であれば分岐Yesに進んで、後続のステッ
プを実行する。
【0167】ステップS704では変数Jに1を代入す
る。この変数Jは、文字列RESTのJ文字目以降の部
分文字列を指定するための変数である。
【0168】「JがLEN−N+1以下か」という条件
文(S706)で形成されるIFループでは、処理中の
文字列RESTのJ文字目以降の部分文字列に含まれる
文字数Nの文字列についてのn−gram統計がとられ
る。JがLEN−N+1を既に越えているときには、文
字列RESTのJ文字目以降にはN文字以上の文字列が
残っていないことを意味するので、判断ブロックS70
6の分岐Noより抜けて、該処理ルーチンを終了する。
他方、JがLEN−N+1以下であれば後続のステップ
を実行する。
【0169】ステップS708では、文字列RESTの
J文字目から始まる文字数Nの文字列が既に統計テーブ
ル上に存在するかどうかを判断する。例えばREST
="ABCD"、J=2、N=2であれば、文字列ABC
Dの2文字目からの2文字の文字列BCが統計テーブル
上に存在するかどうかが判断される。統計テーブル上に
該当するエントリが既にあれば、該エントリの出現回数
countを1だけ増分する(ステップS710)。逆
に、該当するエントリが統計テーブル中から見つからな
ければ、新たなエントリを追加するとともに、その出現
回数countを1にする(ステップS712)。
【0170】このようにして文字列RESTのJ文字目
から始まる文字数Nの文字列についてN−gram統計
をとった後、Jを1だけ増分して(ステップS71
4)、ステップS706に復帰して、(J+1)文字列
目から始まるNバイトの文字列についてのN−gram
統計処理を繰り返し行なう。
【0171】文字変換コード表の作成:図8及び図9に
示す処理ルーチンによって圧縮貢献度の高い順にエント
リを整列させた統計テーブルを作成した後には、次に、
文字列をコードに置き換えるための文字コード変換テー
ブルを作成する。本発明を具現するために、文字をコー
ドに変換するためのテーブルを全く新しくデザインして
もよい。しかしながら、本実施例では、英数字をコード
に割り当てて扱うテーブルとして当業界で広く知られ且
つ広範に利用されているASCII(American Standar
d Code for Information Interchange)コード表を用
い、このコード表の未使用欄を圧縮貢献度の高い文字列
に新たに割り当てるようにしている。ASCIIコード
表を用いる利点は、a,b,c…や0,1,2…のよう
な一般の英数字については既存のコードをそのまま使用
できる点にある。なお、ASCIIコード表はANSI
(American National Standards Institute)規格に基
づくものである。
【0172】図10には、n−gram統計処理に基づ
く圧縮貢献度に従って新しい文字変換コード表を作成す
るための処理ルーチンをフローチャートにして示してい
る。以下、各ステップについて説明する。
【0173】まず、統計テーブルの上位から、文字変換
コード表の未使用領域の個数分だけ、文字列を取ってく
る(S800)。文字変換コード表がASCIIコード
表であれば、未使用欄が185個あるので(但し、英大
文字を使用しない場合)、統計テーブルの上位185個
までのエントリを取得すればよい。
【0174】次いで、取得した文字列をアルファベット
順にソートする(ステップS802)。そして、文字変
換コード表の未使用領域の先頭から順に、ソートした文
字列を1つずつ割り当てる(ステップS804)。アル
ファベット順に割り当てるのは、後の辞書検索の便宜を
図るためである(後述)。
【0175】[表8]には、図10に示す処理ルーチン
により作成された文字変換コード表を示している。該テ
ーブルはASCIIコード表を基にしており、a,b,
c…や0,1,2…のような一般の英数字については既
存のコードがそのまま割り当てられている(表4中では
ASCIIコード表に既存の欄には枠付けして表示して
いる)。他方、例えばASCIIコード表の未使用欄0
x01には圧縮貢献度の高い文字列"abil"が、同テ
ーブルの他の未使用欄0xc9には文字列"ouse"
が、夫々割り当てられている。
【0176】
【表8】
【0177】なお、[表8]は、「翻訳の王様」に含ま
れるシステム辞書の見出し語インデックス(前述)に対
して処理を施した結果である。
【0178】辞書見出し語インデックスの作成:新しい
文字変換コード表が作成されると、次いで、この文字変
換コード表を用いて辞書見出し語インデックスを新たに
作成する。[表8]に示す文字変換コード表は、文字数
nすなわちnバイト(但し、nは2以上の整数)の文字
列を1バイトに置き換える作用を有している(前述)。
見出し語中で圧縮貢献度の高いnバイト文字列は、文字
変換コード表に従って1バイト・コードに置き換えられ
るので、新たな見出し語インデックスの作成により(n
−1)バイトの圧縮効果があげられる。
【0179】図11には、暫定的見出し語インデックス
から辞書見出し語インデックスを作成するための処理ル
ーチンをフローチャートで示している。以下、各ステッ
プについて説明する。
【0180】まず、ステップS900では、上述の暫定
的見出し語インデックス([表6]参照)中の全てのコ
ンテンツ、すなわちインデックス中の各エントリの元の
見出し語文字列、一致文字数、差分文字列を読み込む。
【0181】次いで、読み込んだデータを10エントリ
を1組として区切り、各組の中で最小の一致文字数を持
つ見出し語を基準見出し語として定義する(ステップS
902)。「基準見出し語」は、差分文字列の圧縮処理
は行なわず、原文字列のまま辞書見出し語インデックス
に登録する見出し語のことであり、その見出し語エント
リの一致文字数が0にリセットされる。なお、ここで定
義された「基準見出し語」は、単語を辞書検索する際に
利用されるが、詳細は後述のD−2項を参照されたい。
【0182】次いで、暫定的見出し語インデックスから
最初のエントリの元の見出し語文字列を取り出し、変数
STRに代入する(ステップS904)。そして、「変
数STRが空か」という条件文で形成される第1のIF
ループによって、暫定的見出し語インデックス全体につ
いての圧縮処理が実行される。
【0183】まず、ステップS908では、取得した見
出し語が基準見出し語かどうかを判断する。基準見出し
語か否かは、エントリ中の一致文字数Mが0かどうかで
判別される。基準見出し語であれば、圧縮処理せず元の
文字列をそのまま登録するので、該判断ブロックS90
8の分岐Yesに進んで、辞書見出し語インデックスの
見出し語として文字列STRをそのまま出力する。そし
て、暫定的見出し語インデックスから次のエントリの元
の見出し語を取り出して新たに変数STRに代入してか
ら(ステップS950)、ステップS906に復帰す
る。
【0184】他方、取得した見出し語が基準見出し語で
なければ、その差分文字列についての圧縮処理を行な
う。この場合、まず、見出し語のうち差分文字列を新た
に変数STRに代入する(ステップS920)。例え
ば、取得した見出し語が"abhorrence"であれ
ば、差分文字列"rence"がSTRに代入されること
になる([表6]参照)。また、変数I及びJには夫々
初期値1を代入するとともに、変数LENには、差分文
字列STRの文字列長を代入する(ステップS92
2)。
【0185】「IがLEN以下か」という条件文(ステ
ップS924)で形成される第2のIFループ内では、
差分文字列STRについての圧縮処理が実行される。こ
の圧縮処理は、差分文字列STR中の各部分文字列を文
字変換コード表のコードで置き換えることによって行な
われる。
【0186】まず、差分文字列STRのI文字目以降の
部分文字列を、[表8]で示した文字変換コード表中の
各文字列と比較照合する(ステップS926)。この比
較照合は、文字変換コード表の最後尾より逆順に行なわ
れる。文字変換コード表には、アルファベット順に文字
列が割り当てられているので([表8]参照)、テーブ
ルを逆順に検索することにより、より長い文字列と先に
照合させることができる。例えば差分文字列STRのI
文字以降に"lity"という部分文字列が存在する場
合、[表8]中で一致する候補としては"lit"と"l
ity"の2つが挙げられるが、アルファベット順の遅
い(すなわち文字数が長い)"lity"と先に照合する
ことができる。
【0187】差分文字列STRのI文字目以降の部分文
字列と一致する文字列がコード表中にあれば、新しい文
字列NEWのJ文字目にこの一致する文字列を代入して
(ステップS928)、Iをこの一致する文字列の文字
数分だけ増分する(ステップS930)。例えば、ST
R[I]以降が4バイトの文字列"ness"を含んでい
れば、その部分文字列は、文字変換コード表に従って"
b9"という1バイト文字に置き換わることになる。ま
た、このときはIは4だけ増分される。
【0188】他方、差分文字列STRのI文字目以降の
部分文字列と一致する文字列がコード表中に存在しなけ
れば、新しい文字列NEWのJ文字目に元の差分文字列
STRのI文字目を代入して(ステップS932)、I
を1だけ増分する(ステップS934)。
【0189】このようにして新しいNEWのJ文字目に
該当する文字列又は元の1文字を代入した後、Jを1だ
け増分して(ステップS936)、ステップS924に
復帰して同様のIFループ処理を繰り返す。Iが文字列
長LENを越えたことは、元の差分文字列STRが新し
い文字列NEWに変換する処理が終了したことを意味す
るので、判断ブロックS924の分岐Noより第2のI
Fループを抜け出して、コード化されたNEWを辞書見
出し語インデックスの見出し語として出力する(ステッ
プS940)。そして、暫定的見出し語インデックスか
ら次のエントリの元の見出し語を取り出して新たに変数
STRに代入してから(ステップS950)、ステップ
S906に復帰する。
【0190】ステップS906では、未処理の見出し語
が暫定的見出し語インデックス中の残っているかどうか
が判断される。未だ残っていれば、残余の見出し語につ
いて上述と同様の処理が繰り返し行なわれる。他方、未
処理の見出し語がなければ、見出し語インデックス全体
について処理が終了したことを意味する。このときは、
判断ブロックS906の分岐Noより抜けて、該処理ル
ーチンを終了する。
【0191】[表9]には、図11に示した処理ルーチ
ンによって生成された辞書見出し語インデックスの一部
を、元の見出し語に関するデータとともに示している。
但し、辞書見出し語インデックスの各エントリは、一致
文字数とコード化された差分文字列の各々を格納するた
めの2つのフィールド(表中の左から第2欄まで)だけ
持っていればよく、一致文字列や差分文字列、元の文字
列を含む必要は全くない。
【0192】
【表9】
【0193】[表9]によれば、例えば"abhorr
ence"という10文字すなわち10バイトからなる
元の見出し語は、"05 d3 b7"という3バイトの
コードに置き換わっていることが判る。すなわち、この
見出し語については7(=10−3)バイトの圧縮効果
がある訳である。
【0194】本実施例に係る圧縮手法を「翻訳の王様」
のシステム辞書の見出し語インデックスに適用した場
合、625Kバイトからなる元の見出し語インデックス
を315Kバイトに圧縮できたという実験結果もある。
サイズの小さい見出し語インデックス・データは、コン
ピュータ・システム100のメイン・メモリ14上から
退避(スワップ・アウト)することなく常駐することが
可能となる。メモリ常駐データへのアクセスが高速であ
るという性質により、辞書検索速度が向上するという効
果が招来される。特に、複数の辞書を用意するタイプの
機械翻訳システムの場合、各見出し語インデックス・デ
ータをメモリ常駐させるためには、圧縮して小サイズ化
することは有効である。
【0195】なお、C項で詳解した第1及び第2の実施
例に係る辞書の見出し語インデックス・データの圧縮処
理は、各例に係る圧縮処理ルーチンを実装したコンピュ
ータ・プログラムを、例えば図1に示したコンピュータ
・システム100上で実行することによって実現される
であろう。
【0196】D.圧縮された見出し語インデックスを用
いた機械翻訳 この項では、圧縮された見出し語インデックスを用いた
機械翻訳処理について説明する。機械翻訳処理は、例え
ばA項で説明したコンピュータ・システム100上で機
械翻訳プログラムを実行することによって実現される。
なお、以下の説明では1文字は1バイトであることを前
提とする。
【0197】機械翻訳処理は、一般に、1センテンス毎
に原文(ここでは英文)テキストを読み込み、センテン
ス中の単語を1個ずつ切り出して形態素解析を行なうこ
とによってなされる。図12には、形態素解析オペレー
ションをフローチャートの形式で示している。以下、各
ステップについて説明する。
【0198】まず、ステップS1000では、翻訳対象
となっている原文テキストから1センテンス分だけ読み
込む。
【0199】次いで、ステップS1002では、スペー
スを区切りとして、先頭の1単語を切り出す。そして、
「単語を切り出せたか」という条件文(ステップS10
04)で形成されるIFループによって、読み込んだ1
センテンスに含まれる各単語について形態素解析を順次
実行するようになっている。
【0200】IFループ内では、まず、ステップS10
06で、単語の語尾変化をチェックして原形に戻す。こ
こで言う語尾変化には例えば以下の項目が含まれる。 1)名詞複数形あるいは動詞3人称単数現在形の"
(e)s" 2)動詞過去形/過去分詞形の"ed" 3)動詞現在進行形の"ing" 4)形容詞比較級の"er" 5)形容詞最上級の"est" (※但し、不規則変化の場合は何もしない。)
【0201】次いで、ステップS1008では、辞書を
原形(但し、不規則変化の場合は変化形のまま)で検索
し、品詞及び意味などの形態素解析情報を取得する。な
お、辞書の検索は、辞書見出し語インデックス中で原形
の単語に該当する見出し語を検索して、見出し語に対応
する形態素解析情報を取得する、という手順でなされ
る。
【0202】辞書の見出し語インデックスはC項で述べ
たように、圧縮処理が施されており、好ましくは機械翻
訳処理実行中はコンピュータ・システム100のメイン
・メモリ14内に常駐している。ステップS1008で
行なわれる辞書の検索ルーチンは、見出し語インデック
スが第1又は第2の実施例のいずれの手法によって圧縮
処理されたかによって異なるが、詳細は後述する。
【0203】単語について形態素解析情報を取得する
と、次いで、1センテンスから次の単語を切り出し(ス
テップS1010)、ステップS1004に復帰する。
【0204】読み込んだセンテンス全体について該処理
ルーチンが終了すると、判断ブロックS1004の分岐
NoからIFループを抜け出す。この時点では、センテ
ンス内の各単語の品詞及び意味情報が得られているので
(ステップS1012)、センテンスについての形態素
解析処理を終了する。
【0205】D−1.第1の実施例 ここで言う第1の実施例は、C−1項で詳解した圧縮方
法により圧縮された見出し語インデックスを用いて行な
われる辞書検索処理のことを意味する。
【0206】図13には、辞書検索処理のオペレーショ
ンをフローチャートの形式で図解している。以下、各ス
テップについて説明する。
【0207】まず、ステップS1100では検索すべき
文字列を変数STRに代入する。ここで言う検索文字列
とは、ステップS1002又はS1010で切り出さ
れ、ステップS1006で原形に戻された単語に該当す
る。
【0208】次いで、変数I及びJに夫々初期値値1を
代入するとともに、変数LENには文字列STRの文字
列長を代入する(ステップS1102)。変数Iは元の
文字列STRのI文字目を指定するために用いられ、変
数Jは新しい文字列NEWのJ文字目を指定するために
用いられる。
【0209】「IがLEN以下か」という条件文(ステ
ップS1104)で形成されるIFループ内では、[表
4]に示す文字変換コードに従って文字列STRを圧縮
する処理が実行される。
【0210】まず、文字列STRのI文字目以降の部分
文字列を、[表4]で示した文字変換コード表中の各文
字列と比較照合する(ステップS1106)。この比較
照合は、文字変換コード表の最後尾より逆順に行なわれ
る。文字変換コード表には、アルファベット順に文字列
が割り当てられているので、テーブルを逆順に検索する
ことにより、より長い文字列と先に照合させることがで
きる。例えば文字列STRのI文字以降に"lity"と
いう部分文字列が存在する場合、[表4]中で一致する
候補としては"lit"と"lity"の2つが挙げられる
が、アルファベット順の遅い(すなわち文字数が長
い)"lity"と先に照合することができる。
【0211】文字列STRのI文字目以降の部分文字列
と一致する文字列が文字変換コード表中にあれば、新し
い文字列NEWのJ文字目にこの一致する文字列を代入
して(ステップS1108)、Iをこの一致する文字列
の文字数分だけ増分する(ステップS1110)。例え
ば、STR[I]以降が4バイトの文字列"ness"を
含んでいれば、その部分文字列は、文字変換コード表に
従って"b9"という1バイト文字に置き換わることにな
る。また、このときはIは4だけ増分される。
【0212】他方、文字列STRのI文字目以降の部分
文字列と一致する文字列がコード表中に存在しなけれ
ば、新しい文字列NEWのJ文字目に元の文字列STR
のI文字目を代入して(ステップS1112)、Iを1
だけ増分する(ステップS1114)。
【0213】このようにして新しいNEWのJ文字目に
該当する文字列又は元の1文字を代入した後、Jを1だ
け増分して(ステップS1116)、ステップS110
4に復帰して同様のIFループ処理を繰り返す。Iが文
字列長LENを越えたことは、元の文字列STRを対応
するコードNEWに変換する処理が終了したことを意味
するので、判断ブロックS1104の分岐NoよりIF
ループを抜け出す。
【0214】次いで、ステップS1118では、生成さ
れたコードNEWを[表5]の見出し語インデックス中
で検索する。例えば原形単語が"abandonmen
t"であれば、コードNEWは"01 0c c3 a
f"であり、このコードに一致する見出し語を見出し語
インデックス中で探索すればよい。探索には、例えば2
分探索法を用いてもよい。見出し語インデックス中で見
出し語が存在すれば、これに対応する形態素解析情報を
出力して、この処理ルーチンを終了する。
【0215】この辞書検索方法によれば、元の見出し語
を探し出すために、見出し語インデックス・データを復
元する必要は全くない。したがって、圧縮された見出し
語インデックスを検索するために伸長処理を含まないの
で、検索速度を低下させずに済む。
【0216】D−2.第2の実施例 ここで言う第2の実施例は、C−2項で詳解した圧縮方
法により圧縮された見出し語インデックスを用いて行な
われる辞書検索処理のことを意味する。
【0217】図14には、辞書検索処理のオペレーショ
ンをフローチャートの形式で図解している。以下、各ス
テップについて説明する。
【0218】まず、ステップS1200では検索すべき
文字列を変数STRに代入する。ここで言う検索文字列
とは、ステップS1002又はS1010で切り出さ
れ、ステップS1006で原形に戻された単語に該当す
る。
【0219】次いで、ステップS1202では、[表
9]の辞書見出し語インデックスの中で、文字列STR
に一致するか又は基準見出し語の中から、文字列STR
と一致するか、又は、一致文字数が最も大きい基準見出
し語を探索する。探索には、例えば2分探索などの手法
を用いればよい。探し出された基準見出し語は候補文字
列として変数CANに代入される。一致文字数が同じ基
準見出し語が複数ある場合には、アルファベットの順が
早い見出し語の方を選択する。例えば、検索中の文字列
STRが"abdication"であれば、最も類似す
る基準見出し語"abdicable"が候補文字列とし
て変数CANに代入される。
【0220】次いで、ステップS1204では、検索文
字列STRが候補文字列CANと一致するかどうかが判
別される。STRがCANに等しければ辞書検索が成功
裡に終わったことを意味するので、判断ブロックS12
04の分岐Yesよりループを抜けて、この処理ルーチ
ンを終了する。
【0221】次いで、見出し語インデックス上で候補文
字列CANの次の見出し語を取り出して、基準文字列か
どうかが判別される。図14に示す処理ルーチンでは、
検索文字列STRが基準文字列ではない場合には、一致
文字数が最も大きい基準見出し語から正順に下位の見出
し語と比較照合を行なうようになっている。例えば検索
文字列STRが"abdication"であれば、一致
する見出し語が見つかるまでは、最も類似する基準見出
し語"abdicable"から正順に、下位の見出し
語"06 te"、"07 ion"を取り出して比較照合
する。候補文字列CANが検索文字列STRに一致する
ことなく次の基準見出し語に到達したということは、見
出し語インデックス中には検索文字列STRに該当する
見出し語が存在しないことを意味するので、この場合に
は、判断ブロックS1206の分岐Noよりループを抜
けて、辞書検索処理を異常終了させる。
【0222】候補文字列CANの次の見出し語が基準文
字列ではない場合には、この見出し語を元の文字列に復
元処理して(後述)、候補文字列CANに代入する(ス
テップS1208)。そして、ステップS1204に戻
って、検索文字列STRとの照合処理を繰り返し実行す
る。
【0223】図15には、[表9]に示した見出し語イ
ンデックス中の基準見出し語でない文字列、すなわち圧
縮処理された見出し語を元の見出し語文字列に復元する
ための処理(ステップS1208)をフローチャートの
形式で図解している。以下、各ステップについて説明す
る。
【0224】まず、ステップS1300では、復元しよ
うとする見出し語文字列のうち、一致文字数を変数M
に、差分文字列をDIFFに、差分文字列の長さ(文字
数)をLENに、夫々代入する。ここで言う「復元しよ
うとする見出し語文字列」とは、見出し語インデックス
上で候補文字列CANの次の見出し語に該当する(図1
4のステップS1206参照)。例えば、候補文字列C
ANが基準見出し語"abhor"であれば、その次の見
出し語は"05 d3 b7"であり([表9]参照)、
M=5、DIFF="d3 b7"、及び、LEN=2が
代入される。
【0225】次いで、ステップS1302では、候補文
字列CANのうち先頭から文字数Mだけ残して、(M+
1)文字目以降を切り捨てる。例えば、CAN="ab
hor"でM=5であれば、CAN="abhor"とな
る。
【0226】次いで、ステップS1304では、Iに初
期値1が代入される。
【0227】「IがLEN以下か」という条件文で形成
されるIFループ内では、変数DIFF内の各コード
を、[表8]の文字変換コード表を参照しながら元の文
字列に復元する処理が繰り返される。ステップS130
8では、DIFFのI番目の文字変換コードを元の文字
列に復元する。例えば、DIFF="d3 b7"でI=
1であれば、[表8]中の欄"d3"に該当する文字列"
re"が検索され、候補文字列CANの末尾に追加され
る(CAN="abhorre")。
【0228】次いで、ステップS1310ではIが1だ
け増分されて、ステップS1306に復帰し、上述同様
の文字コードを文字列に変換する処理が繰り返される。
【0229】Iが文字列長LENを越えたことは、変数
DIFF内の全ての文字変換コードを元の文字列に置換
して、候補文字列CANを復元し終えたことを意味す
る。この場合には、判断ブロックS1306の分岐No
よりIFループを抜けて、このルーチンの要求元に復元
された候補文字列CANを返して(ステップS131
2)、該処理ルーチンを終了する。
【0230】この辞書検索方法によれば、元の見出し語
を探し出すために、高々10個程度の見出し語の復元を
行なうだけでよく、見出し語インデックス・データ全体
を復元する必要はない。したがって、圧縮された見出し
語インデックスを検索するために伸長処理を含まないの
で、検索速度を低下させずに済む。
【0231】E.追補 以上、特定の実施例を参照しながら、本発明について詳
解してきた。しかしながら、本発明の要旨を逸脱しない
範囲で当業者が該実施例の修正や代用を成し得ることは
自明である。
【0232】本実施例では、機械翻訳を行なう装置(及
び辞書の見出し語インデックス・データを圧縮する装
置)として、OADG仕様に準拠したいわゆるPC/A
T互換機("PC/AT"は米IBM社の商標)をベース
に説明したが、他のタイプのマシン(例えばNECのP
C98シリーズや米アップル社のMacintosh、
及びこれらの互換機、あるいは用途が機械翻訳に特定さ
れた専用装置であっても、本発明が同様に実現可能であ
ることは言うまでもない。
【0233】また、本明細書中では、n−gram統計
を利用した圧縮方法の適用例として辞書の見出し語イン
デックス・データを採り上げたが、他の圧縮対象(例え
ば通常のテキスト文)に対しても効果があることを充分
理解されたい。
【0234】要するに、例示という形態で本発明を開示
してきたのであり、限定的に解釈されるべきではない。
本発明の要旨を判断するためには、冒頭に記載した特許
請求の範囲の欄を参酌すべきである。
【0235】
【発明の効果】以上詳記したように、本発明によれば、
機械翻訳等に用いられる辞書の見出し語インデックス・
データを圧縮するための方法、圧縮された辞書の見出し
語インデックス、及び圧縮された見出し語インデックス
に基づいて単語を検索する方法を提供することができ
る。
【0236】また、本発明によれば、圧縮後も伸長処理
なしに検索可能な圧縮方法、該圧縮方法により生成され
た辞書の見出し語インデックス・データ、及び圧縮され
た見出し語インデックスに基づいて単語を検索する方法
を提供することができる。
【図面の簡単な説明】
【図1】図1は、本発明を実現するのに適した典型的な
パーソナル・コンピュータ(PC)100のハードウェ
ア構成を模式的に示した図である。
【図2】図2は、機械翻訳システムの概念図である。
【図3】図3は、各見出し語の圧縮貢献度の計算を行な
う処理の手順をフローチャートで示した図である(第1
の実施例)。
【図4】図4は、ステップS108におけるn−gra
m統計処理ルーチンを詳解した図である(第1の実施
例)。
【図5】図5は、n−gram統計処理に基づく圧縮貢
献度に従って新しい文字変換コード表を作成するための
処理ルーチンを示したフローチャートである(第1の実
施例)。
【図6】図6は、辞書見出し語インデックスを作成する
ための処理ルーチンを示したフローチャートである(第
1の実施例)。
【図7】図7は、予め直近の見出し語同士で差分をとっ
ておく処理ルーチンを示したフローチャートである(第
2の実施例)。
【図8】図8は、各差分文字列の圧縮貢献度の計算を行
なう処理の手順をフローチャートで示した図である(第
2の実施例)。
【図9】図9は、ステップS608におけるn−gra
m統計処理ルーチンを詳解した図である(第2の実施
例)。
【図10】図10は、n−gram統計処理に基づく圧
縮貢献度に従って新しい文字変換コード表を作成するた
めの処理ルーチンを示したフローチャートである(第2
の実施例)。
【図11】図11は、辞書見出し語インデックスを作成
するための処理ルーチンを示したフローチャートである
(第2の実施例)。
【図12】図12は、機械翻訳の形態素解析のオペレー
ションを示したフローチャートである。
【図13】図13は、辞書検索のためのフローチャート
(第1の実施例)である。
【図14】図14は、辞書検索のためのフローチャート
(第2の実施例)である。
【図15】図15は、文字列復元のオペレーションを示
したフローチャートである(第2の実施例)。
【符号の説明】
11…CPU、12…プロセッサ・バス、13…ホスト
−PCIブリッジ、14…メイン・メモリ、15…L2
−キャッシュ、16…PCIバス、16A…PCIバス
・スロット、16B…PCI対応アダプタ・カード、1
7…ROM、18…ISAバス、18A…ISAバス・
スロット、18B…ISA対応アダプタ・カード、19
…PCI−ISAブリッジ、20…ビデオ・コントロー
ラ、21…VRAM、22…ディスプレイ、23…カー
ドバス・コントローラ、24A…カード・スロット、2
4B…PCカード、25…HDD、26…CD−ROM
ドライブ、27…USBポート、28…モデム、29…
RTC、30…I/Oコントローラ、31…FDD、3
2…パラレル・ポート、33…シリアル・ポート、34
…KMC、35…キーボード、36…マウス、37…オ
ーディオ・コントローラ、38…スピーカ、39…マイ
ク、100…パーソナル・コンピュータ、200…機械
翻訳システム、210…データ処理部、220…入力
部、230…表示部、240…出力部、250…ネット
ワーク・サブシステム。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 田 添 英 一 神奈川県大和市下鶴間1623番地14 日本ア イ・ビー・エム株式会社 大和事業所内

Claims (27)

    【特許請求の範囲】
  1. 【請求項1】(a)複数の単語からなる圧縮対象の中
    で、出現頻度の高いn文字以上の文字列を抽出する段階
    と(但し、nは2以上の整数)、(b)抽出された各文
    字列について圧縮したときの貢献度を計算する段階と、
    (c)圧縮への貢献度の高い上位文字列を所定の文字変
    換コード表の空き欄に割り当てる段階と、(d)前記圧
    縮対象中の文字列のうち前記文字変換コード表に登録さ
    れているものを、対応する文字変換コードに置き換える
    段階と、を含むことを特徴とする圧縮方法。
  2. 【請求項2】前記圧縮対象は機械翻訳用の辞書の見出し
    語インデックス・データであることを特徴とする請求項
    1に記載の圧縮方法。
  3. 【請求項3】前記貢献度を計算する段階(b)では、文
    字数nの文字列Sを文字数k(但し、n>k)の文字列
    に置き換えることによる圧縮量(n−k)と、前記圧縮
    対象中の文字列Sの出現回数countとの積(n−
    k)×countによって貢献度を表すことを特徴とす
    る請求項1に記載の圧縮方法。
  4. 【請求項4】前記文字変換コード表としてANSI(Am
    erican National Standards Institute)規格に基づく
    ASCII(American Standard Code for Information
    Interchange)コード表を用いたことを特徴とする請求
    項1に記載の圧縮方法。
  5. 【請求項5】請求項1の段階(c)によって生成された
    文字変換コード表を格納した記憶媒体。
  6. 【請求項6】機械翻訳で用いられる辞書の見出し語イン
    デックス・データを圧縮するための方法であって、
    (a)見出し語インデックス・データの中で、出現頻度
    の高いn文字以上の文字列を抽出する段階と(但し、n
    は2以上の整数)、(b)抽出された各文字列について
    圧縮したときの貢献度を計算する段階と、(c)圧縮へ
    の貢献度の高い上位文字列を所定の文字変換コード表の
    空き欄に割り当てる段階と、(d)前記見出し語インデ
    ックス・データ中の文字列のうち前記文字変換コード表
    に登録されているものを、対応する文字変換コードに置
    き換える段階と、を含むことを特徴とする辞書の見出し
    語インデックス・データを圧縮するための方法。
  7. 【請求項7】前記貢献度を計算する段階(b)では、文
    字数nの文字列Sを文字数k(但し、n>k)の文字列
    に置き換えることによる圧縮量(n−k)と、前記見出
    し語インデックス・データ中の文字列Sの出現回数co
    untとの積(n−k)×countによって貢献度を
    表すことを特徴とする請求項6に記載の圧縮方法。
  8. 【請求項8】前記文字変換コード表としてANSI(Am
    erican National Standards Institute)規格に基づく
    ASCII(American Standard Code for Information
    Interchange)コード表を用いたことを特徴とする請求
    項6に記載の圧縮方法。
  9. 【請求項9】請求項6の段階(c)によって生成された
    文字変換コード表を格納した記憶媒体。
  10. 【請求項10】請求項9に係る記憶媒体を含んだ機械翻
    訳システム。
  11. 【請求項11】請求項6の段階(d)によって生成され
    た見出し語インデックス・データを格納した記憶媒体。
  12. 【請求項12】請求項11に係る記憶媒体を含んだ機械
    翻訳システム。
  13. 【請求項13】コンピュータ・システムの処理能力を活
    用して第1言語テキストを第2言語テキストに翻訳する
    機械翻訳システムにおいて、 請求項6に記載の圧縮方法によって圧縮された見出し語
    インデックス・データと、各見出し語についての翻訳情
    報を記述した辞書本体とからなる辞書と、 前記辞書を参照しながら第1言語テキストを第2言語テ
    キストに翻訳する翻訳エンジンと、を具備することを特
    徴とする機械翻訳システム。
  14. 【請求項14】前記翻訳エンジンは、第1言語テキスト
    中に含まれる単語を見出し語インデックス・データ中か
    ら検索するときには、まず単語中で前記文字変換コード
    表に登録されている文字列を対応する文字変換コードに
    置き換えた後に、見出し語インデックス・データ中で該
    単語と一致する見出し語を検索することを特徴とする請
    求項13に記載の機械翻訳システム。
  15. 【請求項15】ソフトウェア・プログラムを実行するた
    めのプロセッサと、処理中のプログラム・コードやデー
    タを一時格納するためのメモリと、外部記憶装置と、ユ
    ーザがデータ等を入力するための入力手段と、処理内容
    を表示するディスプレイとを含むコンピュータ・システ
    ム上で稼働する機械翻訳プログラムを有形的に格納した
    コンピュータ可読記憶媒体であって、前記機械翻訳プロ
    グラムは、(a)請求項6に記載の圧縮方法によって圧
    縮された見出し語インデックス・データ・モジュール
    と、(b)各見出し語についての翻訳情報を記述した辞
    書本体モジュールと、(c)前記モジュール(a)及び
    (b)からなる辞書を参照しながら第1言語テキストを
    第2言語テキストに翻訳する翻訳エンジン・モジュール
    と、を含むことを特徴とするコンピュータ可読記憶媒
    体。
  16. 【請求項16】前記翻訳エンジン・モジュールは、第1
    言語テキスト中に含まれる単語を見出し語インデックス
    中から検索するときには、まず単語中で前記文字変換コ
    ード表に登録されている文字列を対応する文字変換コー
    ドに置き換えた後に、見出し語インデックス中で該単語
    と一致する見出し語を検索することを特徴とする請求項
    15に記載のコンピュータ可読記憶媒体。
  17. 【請求項17】機械翻訳で用いられる辞書の見出し語イ
    ンデックス・データを圧縮するための方法であって、
    (a)原見出し語インデックス・データを、各見出し語
    文字列を直近上位の見出し語文字列との差分で表した第
    1の見出し語インデックス・データに変換する段階と、
    (b)前記段階(a)において、直近上位の見出し語文
    字列との差分が大きな見出し語文字列を、原見出し語文
    字列のまま前記第1の見出し語インデックス・データ中
    に記述する基準見出し語文字列として選択する段階と、
    (c)第1の見出し語インデックス・データの中で、出
    現頻度の高いn文字以上の文字列を抽出する段階と(但
    し、nは2以上の整数)、(d)抽出された各文字列を
    圧縮したときの貢献度を計算する段階と、(e)圧縮へ
    の貢献度の高い上位文字列を所定の文字変換コード表の
    空き欄に割り当てる段階と、(f)前記第1の見出し語
    インデックス・データ中の文字列のうち前記文字変換コ
    ード表に登録されているものを対応する文字変換コード
    に置き換えて、第2の見出し語インデックス・データを
    生成する段階と、を含むことを特徴とする辞書の見出し
    語インデックス・データを圧縮するための方法。
  18. 【請求項18】前記貢献度を計算する段階(d)では、
    文字数nの文字列Sを文字数kの文字列に置き換えるこ
    とによる圧縮量(n−k)と、前記見出し語インデック
    ス・データ中の文字列Sの出現回数countとの積
    (n−k)×countによって貢献度を表すことを特
    徴とする請求項17に記載の圧縮方法。
  19. 【請求項19】前記文字変換コード表としてANSI
    (American National Standards Institute)規格に基
    づくASCII(American Standard Code for Informa
    tion Interchange)コード表を用いたことを特徴とする
    請求項17に記載の圧縮方法。
  20. 【請求項20】請求項17の段階(e)によって生成さ
    れた文字変換コード表を格納した記憶媒体。
  21. 【請求項21】請求項20に係る記憶媒体を含んだ機械
    翻訳システム。
  22. 【請求項22】請求項17の段階(f)によって生成さ
    れた前記第2の見出し語インデックス・データを格納し
    た記憶媒体。
  23. 【請求項23】請求項22に係る記憶媒体を含んだ機械
    翻訳システム。
  24. 【請求項24】コンピュータ・システムの処理能力を活
    用して第1言語テキストを第2言語テキストに翻訳する
    機械翻訳システムにおいて、 請求項17に記載の圧縮方法によって圧縮された第2の
    見出し語インデックス・データと、各見出し語について
    の翻訳情報を記述した辞書本体とからなる辞書と、 前記辞書を参照しながら第1言語テキストを第2言語テ
    キストに翻訳する翻訳エンジンと、を具備することを特
    徴とする機械翻訳システム。
  25. 【請求項25】前記翻訳エンジンは、第1言語テキスト
    中に含まれる単語を見出し語インデックス中から検索す
    るときには、まず前記第2の見出し語インデックス中の
    候補見出し語を前記文字変換コード表に従って元の見出
    し語文字列に復元した後に、単語と復元された見出し語
    文字列とを比較照合することを特徴とする請求項24に
    記載の機械翻訳システム。
  26. 【請求項26】ソフトウェア・プログラムを実行するた
    めのプロセッサと、処理中のプログラム・コードやデー
    タを一時格納するためのメモリと、外部記憶装置と、ユ
    ーザがデータ等を入力するための入力手段と、処理内容
    を表示するディスプレイとを含むコンピュータ・システ
    ム上で稼働する機械翻訳プログラムを有形的に格納した
    コンピュータ可読記憶媒体であって、前記機械翻訳プロ
    グラムは、(a)請求項17に記載の圧縮方法によって
    圧縮された第2の見出し語インデックス・データ・モジ
    ュールと、(b)各見出し語についての翻訳情報を記述
    した辞書本体モジュールと、(c)前記モジュール
    (a)及び(b)からなる辞書を参照しながら第1言語
    テキストを第2言語テキストに翻訳する翻訳エンジン・
    モジュールと、を含むことを特徴とするコンピュータ可
    読記憶媒体。
  27. 【請求項27】前記翻訳エンジン・モジュールは、第1
    言語テキスト中に含まれる単語を見出し語インデックス
    中から検索するときには、まず前記第2の見出し語イン
    デックス中の候補見出し語を前記文字変換コード表に従
    って元の見出し語文字列に復元した後に、単語と復元さ
    れた見出し語文字列とを比較照合することを特徴とする
    請求項26に記載のコンピュータ可読記憶媒体。
JP9289845A 1997-10-22 1997-10-22 圧縮方法、辞書の見出し語インデックス・データを圧縮するための方法、及び機械翻訳システム Pending JPH11143877A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP9289845A JPH11143877A (ja) 1997-10-22 1997-10-22 圧縮方法、辞書の見出し語インデックス・データを圧縮するための方法、及び機械翻訳システム
US09/144,148 US6502064B1 (en) 1997-10-22 1998-08-31 Compression method, method for compressing entry word index data for a dictionary, and machine translation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9289845A JPH11143877A (ja) 1997-10-22 1997-10-22 圧縮方法、辞書の見出し語インデックス・データを圧縮するための方法、及び機械翻訳システム

Publications (1)

Publication Number Publication Date
JPH11143877A true JPH11143877A (ja) 1999-05-28

Family

ID=17748515

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9289845A Pending JPH11143877A (ja) 1997-10-22 1997-10-22 圧縮方法、辞書の見出し語インデックス・データを圧縮するための方法、及び機械翻訳システム

Country Status (2)

Country Link
US (1) US6502064B1 (ja)
JP (1) JPH11143877A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002335181A (ja) * 2001-05-08 2002-11-22 Unico System Kk 携帯電話機及び携帯電話機を用いた通信方法
JP2012141783A (ja) * 2010-12-28 2012-07-26 Yahoo Japan Corp 情報処理装置、複合語抽出方法、及び複合語抽出プログラム
EP3118755A1 (en) 2015-07-13 2017-01-18 Fujitsu Limited Searching program, searching method, and searching device
EP3119003A2 (en) 2015-07-13 2017-01-18 Fujitsu Limited Encoding computer program, encoding method, encoding apparatus, decoding computer program, decoding method, and decoding apparatus

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7026962B1 (en) * 2000-07-27 2006-04-11 Motorola, Inc Text compression method and apparatus
JP2002258894A (ja) * 2001-03-02 2002-09-11 Fujitsu Ltd 音声データ圧縮・解凍装置及び方法
US7177792B2 (en) * 2001-05-31 2007-02-13 University Of Southern California Integer programming decoder for machine translation
JP2003006060A (ja) * 2001-06-19 2003-01-10 Hitachi Ltd ゲートウェイシステム
US7382878B2 (en) * 2001-06-22 2008-06-03 Uponus Technologies, Llc System and method for data encryption
JP2003006216A (ja) * 2001-06-26 2003-01-10 Sony Corp 情報処理装置および情報処理方法、記録媒体、プログラム、並びに電子出版用データ提供システム
AU2002316581A1 (en) 2001-07-03 2003-01-21 University Of Southern California A syntax-based statistical translation model
NO316006B1 (no) * 2001-10-08 2003-11-24 Ericsson Telefon Ab L M Plassbesparende fil-håndtering i servere
US20030217324A1 (en) * 2001-11-07 2003-11-20 Nielsen Peter Ostergaard System and method for communicating between a number of elements and a method for configuring and testing the system
US7130470B1 (en) * 2002-03-15 2006-10-31 Oracle International Corporation System and method of context-based sorting of character strings for use in data base applications
WO2004001623A2 (en) 2002-03-26 2003-12-31 University Of Southern California Constructing a translation lexicon from comparable, non-parallel corpora
CN1643512A (zh) * 2002-03-27 2005-07-20 南加利福尼亚大学 统计机译中短语化联合概率模型的短语
US7269548B2 (en) * 2002-07-03 2007-09-11 Research In Motion Ltd System and method of creating and using compact linguistic data
US7711545B2 (en) * 2003-07-02 2010-05-04 Language Weaver, Inc. Empirical methods for splitting compound words with application to machine translation
US8548794B2 (en) 2003-07-02 2013-10-01 University Of Southern California Statistical noun phrase translation
US7698125B2 (en) * 2004-03-15 2010-04-13 Language Weaver, Inc. Training tree transducers for probabilistic operations
US8296127B2 (en) * 2004-03-23 2012-10-23 University Of Southern California Discovery of parallel text portions in comparable collections of corpora and training using comparable texts
US8666725B2 (en) 2004-04-16 2014-03-04 University Of Southern California Selection and use of nonstatistical translation components in a statistical machine translation framework
US7676487B2 (en) * 2004-09-28 2010-03-09 Computer Associates Think, Inc. Method and system for formatting and indexing data
DE112005002534T5 (de) 2004-10-12 2007-11-08 University Of Southern California, Los Angeles Training für eine Text-Text-Anwendung, die eine Zeichenketten-Baum-Umwandlung zum Training und Decodieren verwendet
US7509318B2 (en) * 2005-01-28 2009-03-24 Microsoft Corporation Automatic resource translation
JP2006260080A (ja) * 2005-03-16 2006-09-28 Toshiba Corp 光学的文字認識システムおよび光学的文字認識方法
US8676563B2 (en) 2009-10-01 2014-03-18 Language Weaver, Inc. Providing human-generated and machine-generated trusted translations
US8886517B2 (en) 2005-06-17 2014-11-11 Language Weaver, Inc. Trust scoring for language translation systems
US7974833B2 (en) 2005-06-21 2011-07-05 Language Weaver, Inc. Weighted system of expressing language information using a compact notation
GB0513225D0 (en) * 2005-06-29 2005-08-03 Ibm Method and system for building and contracting a linguistic dictionary
US7389222B1 (en) 2005-08-02 2008-06-17 Language Weaver, Inc. Task parallelization in a text-to-text system
US7813918B2 (en) * 2005-08-03 2010-10-12 Language Weaver, Inc. Identifying documents which form translated pairs, within a document collection
US7624020B2 (en) * 2005-09-09 2009-11-24 Language Weaver, Inc. Adapter for allowing both online and offline training of a text to text system
US10319252B2 (en) 2005-11-09 2019-06-11 Sdl Inc. Language capability assessment and training apparatus and techniques
KR20070080481A (ko) * 2006-02-07 2007-08-10 삼성전자주식회사 노래 가사를 이용하여 하이라이트 구간을 검색하는 장치 및그 방법
US8943080B2 (en) 2006-04-07 2015-01-27 University Of Southern California Systems and methods for identifying parallel documents and sentence fragments in multilingual document collections
US8886518B1 (en) 2006-08-07 2014-11-11 Language Weaver, Inc. System and method for capitalizing machine translated text
US8433556B2 (en) 2006-11-02 2013-04-30 University Of Southern California Semi-supervised training for statistical word alignment
US20080120317A1 (en) * 2006-11-21 2008-05-22 Gile Bradley P Language processing system
US9122674B1 (en) 2006-12-15 2015-09-01 Language Weaver, Inc. Use of annotations in statistical machine translation
US8468149B1 (en) 2007-01-26 2013-06-18 Language Weaver, Inc. Multi-lingual online community
KR100843325B1 (ko) * 2007-02-07 2008-07-03 삼성전자주식회사 휴대 단말기의 텍스트 표시방법
US20080208566A1 (en) * 2007-02-23 2008-08-28 Microsoft Corporation Automated word-form transformation and part of speech tag assignment
US8615389B1 (en) 2007-03-16 2013-12-24 Language Weaver, Inc. Generation and exploitation of an approximate language model
US8831928B2 (en) 2007-04-04 2014-09-09 Language Weaver, Inc. Customizable machine translation service
US8825466B1 (en) 2007-06-08 2014-09-02 Language Weaver, Inc. Modification of annotated bilingual segment pairs in syntax-based machine translation
US7925652B2 (en) * 2007-12-31 2011-04-12 Mastercard International Incorporated Methods and systems for implementing approximate string matching within a database
US8615388B2 (en) * 2008-03-28 2013-12-24 Microsoft Corporation Intra-language statistical machine translation
KR100978581B1 (ko) * 2008-05-08 2010-08-27 엔에이치엔(주) 웹 페이지 열람 중에 편리하게 사전 서비스를 제공하기위한 방법 및 시스템
US8918374B1 (en) * 2009-02-13 2014-12-23 At&T Intellectual Property I, L.P. Compression of relational table data files
US8878816B2 (en) * 2009-02-19 2014-11-04 Au Optronics Corporation Active pixel sensor and method for making same
US8874426B2 (en) * 2009-06-30 2014-10-28 International Business Machines Corporation Method for translating computer generated log files
US8990064B2 (en) 2009-07-28 2015-03-24 Language Weaver, Inc. Translating documents based on content
US8380486B2 (en) 2009-10-01 2013-02-19 Language Weaver, Inc. Providing machine-generated translations and corresponding trust levels
US10417646B2 (en) 2010-03-09 2019-09-17 Sdl Inc. Predicting the cost associated with translating textual content
US8228216B2 (en) * 2010-09-08 2012-07-24 Hewlett-Packard Development Company, L.P. Systems and methods for data compression
US11003838B2 (en) 2011-04-18 2021-05-11 Sdl Inc. Systems and methods for monitoring post translation editing
US8694303B2 (en) 2011-06-15 2014-04-08 Language Weaver, Inc. Systems and methods for tuning parameters in statistical machine translation
US8886515B2 (en) 2011-10-19 2014-11-11 Language Weaver, Inc. Systems and methods for enhancing machine translation post edit review processes
US8924446B2 (en) 2011-12-29 2014-12-30 Verisign, Inc. Compression of small strings
US8942973B2 (en) 2012-03-09 2015-01-27 Language Weaver, Inc. Content page URL translation
US10261994B2 (en) 2012-05-25 2019-04-16 Sdl Inc. Method and system for automatic management of reputation of translators
US9152622B2 (en) 2012-11-26 2015-10-06 Language Weaver, Inc. Personalized machine translation via online adaptation
US9183197B2 (en) 2012-12-14 2015-11-10 Microsoft Technology Licensing, Llc Language processing resources for automated mobile language translation
US9213694B2 (en) 2013-10-10 2015-12-15 Language Weaver, Inc. Efficient online domain adaptation
US9886442B2 (en) 2015-01-12 2018-02-06 Microsoft Technology Licensing, Llc Enhanced compression, encoding, and naming for resource strings
US9467166B2 (en) 2015-01-12 2016-10-11 Microsoft Technology Licensing, Llc Enhanced compression, encoding, and naming for resource strings
US10430182B2 (en) 2015-01-12 2019-10-01 Microsoft Technology Licensing, Llc Enhanced compression, encoding, and naming for resource strings
US10467001B2 (en) 2015-01-12 2019-11-05 Microsoft Technology Licensing, Llc Enhanced compression, encoding, and naming for resource strings
JP6613669B2 (ja) * 2015-07-14 2019-12-04 富士通株式会社 圧縮プログラム、圧縮方法、情報処理装置、置換プログラムおよび置換方法
US9912624B2 (en) * 2015-09-25 2018-03-06 International Business Machines Corporation Lossy text source coding by word length
US9973301B2 (en) * 2015-11-24 2018-05-15 Coherent Logix, Incorporated Memory management and path sort techniques in a polar code successive cancellation list decoder
JP6737117B2 (ja) * 2016-10-07 2020-08-05 富士通株式会社 符号化データ検索プログラム、符号化データ検索方法および符号化データ検索装置
US10594817B2 (en) * 2017-10-04 2020-03-17 International Business Machines Corporation Cognitive device-to-device interaction and human-device interaction based on social networks
US11210465B2 (en) 2019-08-30 2021-12-28 Microsoft Technology Licensing, Llc Efficient storage and retrieval of localized software resource data
US10810180B1 (en) * 2019-11-15 2020-10-20 The Florida International University Board Of Trustees Methods and systems for compressing data

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56149667A (en) 1980-04-21 1981-11-19 Sharp Corp Electronic interpreter
US4843389A (en) * 1986-12-04 1989-06-27 International Business Machines Corp. Text compression and expansion method and apparatus
JPH0682370B2 (ja) * 1987-05-26 1994-10-19 シャープ株式会社 文字処理装置
US5006849A (en) * 1989-07-26 1991-04-09 Astro, Inc. Apparatus and method for effecting data compression
US5333313A (en) * 1990-10-22 1994-07-26 Franklin Electronic Publishers, Incorporated Method and apparatus for compressing a dictionary database by partitioning a master dictionary database into a plurality of functional parts and applying an optimum compression technique to each part
US5523946A (en) * 1992-02-11 1996-06-04 Xerox Corporation Compact encoding of multi-lingual translation dictionaries
US5337233A (en) * 1992-04-13 1994-08-09 Sun Microsystems, Inc. Method and apparatus for mapping multiple-byte characters to unique strings of ASCII characters for use in text retrieval
US5389922A (en) * 1993-04-13 1995-02-14 Hewlett-Packard Company Compression using small dictionaries with applications to network packets
US5798721A (en) * 1994-03-14 1998-08-25 Mita Industrial Co., Ltd. Method and apparatus for compressing text data
JP3566441B2 (ja) * 1996-01-30 2004-09-15 シャープ株式会社 テキスト圧縮用辞書作成装置
JP3499671B2 (ja) * 1996-02-09 2004-02-23 富士通株式会社 データ圧縮装置及びデータ復元装置
US5951623A (en) * 1996-08-06 1999-09-14 Reynar; Jeffrey C. Lempel- Ziv data compression technique utilizing a dictionary pre-filled with frequent letter combinations, words and/or phrases
US6094634A (en) * 1997-03-26 2000-07-25 Fujitsu Limited Data compressing apparatus, data decompressing apparatus, data compressing method, data decompressing method, and program recording medium

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002335181A (ja) * 2001-05-08 2002-11-22 Unico System Kk 携帯電話機及び携帯電話機を用いた通信方法
JP2012141783A (ja) * 2010-12-28 2012-07-26 Yahoo Japan Corp 情報処理装置、複合語抽出方法、及び複合語抽出プログラム
EP3118755A1 (en) 2015-07-13 2017-01-18 Fujitsu Limited Searching program, searching method, and searching device
EP3119003A2 (en) 2015-07-13 2017-01-18 Fujitsu Limited Encoding computer program, encoding method, encoding apparatus, decoding computer program, decoding method, and decoding apparatus
US20170017707A1 (en) 2015-07-13 2017-01-19 Fujitsu Limited Non-transitory computer-readable recording medium, searching method, and searching device
US9779071B2 (en) 2015-07-13 2017-10-03 Fujitsu Limited Non-transitory computer-readable recording medium, encoding method, encoding apparatus, decoding method, and decoding apparatus
US10664491B2 (en) 2015-07-13 2020-05-26 Fujitsu Limited Non-transitory computer-readable recording medium, searching method, and searching device

Also Published As

Publication number Publication date
US6502064B1 (en) 2002-12-31

Similar Documents

Publication Publication Date Title
JPH11143877A (ja) 圧縮方法、辞書の見出し語インデックス・データを圧縮するための方法、及び機械翻訳システム
JP3181548B2 (ja) 情報検索装置及び情報検索方法
JP3266586B2 (ja) データ分析システム
JP2742115B2 (ja) 類似文書検索装置
JP3272288B2 (ja) 機械翻訳装置および機械翻訳方法
US6219664B1 (en) Search method and system using syntactic information
JP2001125894A (ja) 文書編集処理装置及び文書編集処理方法およびプログラム提供媒体
WO2008145055A1 (fr) Procédé pour obtenir une information de mot de restriction et pour optimiser le système du procédé d'entrée et de sortie
US7284006B2 (en) Method and apparatus for browsing document content
US7684975B2 (en) Morphological analyzer, natural language processor, morphological analysis method and program
JPH05324730A (ja) 文書情報検索装置
JP7104390B2 (ja) 文書作成装置、文書作成方法、データベース構築装置、データベース構築方法、およびプログラム
US6469643B1 (en) Information processing system
JP2002251412A (ja) 文書検索装置および方法ならびに記憶媒体
JP4783563B2 (ja) インデックス生成プログラム、検索プログラム、インデックス生成方法、検索方法、インデックス生成装置および検索装置
US20030009490A1 (en) Information processing apparatus, information processing method, recording medium, program, and electronic-publishing-data providing system
JP2001101184A (ja) 構造化文書生成方法及び装置及び構造化文書生成プログラムを格納した記憶媒体
JP2002092017A (ja) 概念辞書拡張方法、装置、および概念辞書拡張プログラムを記録した記録媒体
US20050102278A1 (en) Expanded search keywords
JPH10177575A (ja) 語句抽出装置および方法、情報記憶媒体
JP2003099429A (ja) 用語集生成装置及び用語集生成プログラム並びに用語集検索装置
JPH1145236A (ja) 文書管理支援装置およびその装置としてコンピュータを機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP7377915B2 (ja) 個別データ検索サービスを提供する方法、コンピュータ装置、およびコンピュータプログラム
JP2007213157A (ja) 用例文検索装置および用例文検索方法
JP6805927B2 (ja) インデックス生成プログラム、データ検索プログラム、インデックス生成装置、データ検索装置、インデックス生成方法、及びデータ検索方法