(57)【特許請求の範囲】
【請求項１】
１つあるいは複数のキーに関連づけられたデータベースのエントリに対してインデックス付けを行うプログラム可能なデータ処理装置であって、プロセッサ、メモリ、入出力回路、及び、ユーザインタフェースを有している、データ処理装置において、前記プロセッサが、
前記データベースのキーを定義する有限状態トランスデューサを、各キーが、複数の状態を結ぶ弧（アーク）で成るパスに関連付けられるように、提供する手段と、
各キーに対して、そのキーに関連するパス番号を、前記有限状態トランスデューサを用いて、前記データベースの対応エントリと前記キーとの間のマップを定義するように、定める手段とを具備している、
ことを特徴とするデータ処理装置。
【請求項２】
請求項１に記載の装置によってインデックス付けされているデータベースのエントリを検索するプログラム可能なデータ処理装置であって、プロセッサ、メモリ、入出力回路、及び、ユーザインタフェースを有している、データ処理装置において、前記プロセッサが、
ユーザが入力したキーを受け取るための手段と、
前記有限状態トランスデューサを用いて、前記キーに関連付けられた前記パス番号を定める手段と、
前記のパス番号を定める手段によって定められたパス番号に対応するエントリを検索する手段と、を具備している、
ことを特徴とするデータ処理装置。
【請求項３】
請求項２に記載のデータ処理装置において、前記プロセッサは更に、前記エントリの各々について前記データベースのアドレスを定める、ファイル位置マップにおける対応のアドレスを、前記パス番号を定める手段によって定められたパス番号の各々について、獲得する手段を包含しており、前記ファイル位置マップの各エントリは前記パス番号の１つに関連付けられている、ことを特徴とするデータ処理装置。
【請求項４】
請求項１に記載のデータ処理装置において、前記プロセッサは更に、前記エントリの各々について前記データベース内のアドレスを定めるファイル位置マップを生成する手段を包含しており、前記ファイル位置マップの各エントリは前記パス番号の１つに関連付けられている、ことを特徴とするデータ処理装置。
【請求項５】
請求項４に記載のデータ処理装置において、前記プロセッサは、
前記有限状態トランスデューサの各状態を状態番号に関連付ける手段と、
前記有限状態トランスデューサの各パスについてのパス番号をそのパスに沿った状態の状態番号の関数として定める手段と、を備えている、
ことを特徴とするデータ処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ処理に関し、さらに具体的には、非周期的な有限状態トランスデューサ（Finite State Transducer ＝ＦＳＴ）のパス番号を用いてデータベースにインデックスを付ける技術に関する。
【０００２】
【従来の技術】
以下において、インデックスとは、英数字のキーをデータベースの一つあるいは複数のアドレスと関連させる仕組みのことをいう。例えば、データベースが本のような物理的に実体のあるものである場合には、インデックスは、キーワードまたは語句と、そのキーワードあるいは語句が現れるページ番号の一覧とを対として並べたものである。データベースが例えばコンピュータなどの装置が読み取ることが可能な辞書のような電子的文書である場合のインデックスの例は、辞書のエントリの見出し語をキーとし、コンピュータファイル又はコンピュータメモリのどこにそれらのエントリが存在するかを示す場所を対とする一覧である。
【０００３】
コンピュータで用いるインデックスにおいては、キーに対応するアドレスを効率的に求める方法を採用することが重要である。そのためによく知られた方法の１つは、ハッシュテーブルを作成することである。この方法は次のような手順による。すなわち、（ａ）各々のキーに対して選択されたある範囲の乱数を割り当てるのに用いる関数をまず選定し、次に（ｂ）キーに関連付けられたアドレスをハッシュテーブルの対応する位置に記憶する。しかし、標準的なハッシュ法は、以下の２つの点で完璧なものではない。（１）ハッシュ関数によって、同じ値が１つ以上のキーに対して割り当てられてしまう可能性がある。（２）あるいは逆に、あるキーには値が全く割り当てられない可能性がある。（１）の問題を解決するために、何らかの方法によってどのキーがどれに属するのかを示すことが必要である。また、（２）は、ハッシュテーブルが部分的に空となることがあるということを意味している。（１）や（２）のようなことが起こると、メモリ空間の一部が無駄となり、また無駄なサーチ時間を必要とする。
【０００４】
（ワード／番号マップ）
上記の２つの問題は、ハッシュテーブルの大きさと正確に対応する範囲の値を、各々のキーに対して重複することなく一意的に割り当てるようなハッシュ関数を用いることで解決できる。このようなハッシュ関数を採用することによって、テーブルのすべての場所がそれぞれ重複のない固有の値で満たされていることが保証される。この場合、アドレスがどのキーに属しているかを示す必要はもはやない。
【０００５】
このような完全なハッシュ関数は、確定的有限状態オートマトンによってキーを列挙するようにすることで達成される。C. L. Lucchesi  および T. Kowaiskiは、確定的有限状態オートマトンによって各々のワードに固有の番号を割り当てるアルゴリズムを提案している（“Applications of Finite Automata Representing Large Large Vocabularies":  Software Practice and Experience, Vol.23(1), 15-30 pages, １９９３年１月  参照）。オートマトンが受け入れ可能なワードの数がｎであるとき、上記の番号は０からｎ−１までの範囲となる。ハッシュテーブルの大きさはキーの数と同じとなるようにすることができるので、テーブルに無駄な場所が発生しない。
【０００６】
しかしながら、このような完全なハッシュ関数を用いることが、データベースをアクセスする上でいつも必ず適切とはいえない。上記の完全なハッシュ関数は、（１）すべてのキーに対して１つの値を割り当て、（２）どの値もただ１つのキーと関連づけられていることをその特質とするものであるが、その（１）あるいは（２）のいずれもが望ましくないデータベースのアプリケーションが存在する。その１つの具体的な例はオンライン辞書である。例えば、キーに対して複数の値を割り当てることが望ましい場合の簡単な例として、英語辞書の中から「ｄｏ」という単語項目の場所を探す場合について、以下に説明する。
【０００７】
ヨーロッパ特許出願公開第０  ６４９  １０５号には、ワード一覧を記憶し、これによってワードに対する番号（Ｗ／Ｎ）及び番号に対するワード（Ｎ／Ｗ）のマッピング（対応付け）を行う技術が開示されている。この一覧の各々のワードは、零からワードの一覧に含まれているワードの全数よりも小さな数の範囲の稠密な数の集合の中の固有の値と重複のないようにマップ（対応付け）される。マップにおいて、データ構造の中に現れるある種の分岐は、その分岐点に関する分岐情報によってスキップすることができる。このような分岐情報を用いることによって、マップを次の分岐あるいはこれに代わる分岐から再開することが可能である。分岐情報は、次の分岐の語尾の数を示すものであり、この数によって、ワード／番号マップにおけるワードの語尾がカウントされる。また、上記の数は、次の分岐に移行すべきなのか、あるいはワード／番号マップにおいてマップされる数を低減すべきなのかを判断するためにも用いられる。分岐情報は、次の分岐を指し示す全長ポインタであってもよいし、あるいは、全長ポインタが記憶されているテーブル位置を指し示す短いポインタインデックスであってもよい。どちらの場合においても、次の分岐における語尾の数をポインタに添えるようにすることができる。もし、ワードのサブリストが等しい語尾を有する場合には、その語尾を共通ブランチにまとめるようにすることができる。
【０００８】
通常の辞書においては、すべてのエントリに見出し語が重複なく割り当てられているわけではない。例えば、「ｄｏ」などの、多くの単語が、いつかのエントリに重複して現れる。ある１つのエントリには、「〜を行う」という意味の「ｄｏ」が割り当てられており、別のエントリには音楽の音階における「ｄｏ」）ドレミファ・・・のド）が割り当てられている。従って、「ｄｏ」のアドレスを問い合わせると、「ｄｏ」を見出しとするそれぞれのエントリに対する複数の答が返される。
【０００９】
上記の例では、「ｄｏ」が動詞と名詞の両方となることがないものと仮定している。しかし、これは正しいとはいえない。例えば、「Ｉ  ｗａｎｔ  ｔｏ  ｄｏ  ｓｏｍｅｔｈｉｎｇ」のような文章の場合では、「ｄｏ」が動詞であることは容易にわかる。この文脈では、「ｄｏ」の動詞としての意味に関するエントリだけが妥当なものである。ユーザは、問い合わせを例えば「ｄｏ＋Ｖ」に狭めて、「ｄｏ」の動詞に関するエントリへのポインタだけを得ることができる。（ここで、記号「＋Ｖ」は動詞を意味する。一方、「＋Ｎ」は名詞を意味するのみ用いられる。）
【００１０】
【発明が解決しようとする課題】
本発明は、上記のような検索キーを複数の値と関連づける際の問題をルチェシ・コワルスキーの完全ハッシュ関数の利点を失うことなく解決せんとするものである。
【００１１】
【課題を解決するための手段】
本発明の１つの態様における、１つあるいは複数のキーに関連づけられているデータベースを各々のエントリに対してインデックス付けを行う方法は、（ａ）データベースに対してキーを定義する有限状態トランスデューサを準備し、（ｂ）各々のキーに対して、そのキーに関連付けられたパス番号を定め、このパス番号によってそのキーとデータベースの対応する各々のエントリとの間のマップを定義する。
【００１２】
望ましくは、本発明の方法は、上記エントリの各々に対してデータベースのファイル位置マップを生成する工程（ｃ）をさらに含む。
【００１３】
また、望ましくは、上記工程（ｂ）は、（ｂ１）有限状態トランスデューサの各状態に対して、好適にはその状態から終点状態までの（零を含む）任意の長さのパスの数と等しくなるように定めた状態番号を割り当てる工程を含む。
【００１４】
また、望ましくは、上記工程（ｂ）は、（ｂ２）上記有限状態トランスデューサの各々のパスに対して、そのパスに沿った状態番号の関数としてそのパス番号を求める工程をさらに含む。
【００１５】
また、望ましくは、上記工程（ｂ）は、（ｂ３）上記の各パス番号と上記データベースの対応するエントリのアドレスとのマップを生成する工程を含む。
【００１６】
また、本発明は、上記の本発明の方法に従ってインデックス付けがなされたデータベースのデータベースエントリの検索を行う方法をも提供するものであり、この方法は、（ｄ）ユーザからキー入力を受け取り、（ｅ）そのキーに関連付けられたパス番号を求め、（ｆ）上記の工程（ｅ）において求められたパス番号に対応するエントリを検索する、工程を含んでいることを特徴とする。
【００１７】
上記の工程（ｄ）において、入力されるキーは、そのキーが上側（Ｌ１）のワードなのか、あるいは下側（Ｌ２）のワードであるのかを示す指示符号を含むことができる。また、上記の工程（ｅ）は、（ｅ１）入力されたキーをトランスデューサの対応する側のワードと突き合わせを行う工程を含むようにすることができる。
【００１８】
望ましくは、上記の工程（ｆ）は、（ｆ１）上記工程（ｅ）において求められたパス番号に対して、上記ファイル位置マップの対応するアドレスを求める工程を含む。
【００１９】
また、望ましくは、上記の工程（ｆ）は、（ｆ２）上記の工程（ｆ１）において求められたアドレスのデータベースエントリを検索する工程を含む。
【００２０】
また、本発明は、上記の方法を実施するためのプログラムデータ処理装置をも提供するものであり、本発明の装置は、プロセッサ、メモリ、入出力回路、ユーザインタフェースからなるものである。
【００２１】
いずれの場合においても、上記データベースは、好適には、電子辞書を含み、上記キーは、この辞書の見出し語を含んでいる。各見出し語は、品詞識別符号や、検出番号目的言語指示符号、あるいは同一の見出し語に関連づけられた異なる情報を識別するためのその他の識別符号を含むことができる。
【００２２】
【発明の実施の形態】
本発明は、非周期的な有限状態トランスデューサのパス番号を用いてデータベースのインデックス付けを行うものである。単純なネットワークではなく、トランスデューサを用いることによって、検索キーを複数の値と関連づけることが可能となり、同一の値を複数のキーに割り当てることが可能となる。このような複数の割り当てを、ワード／番号マップの利点（上に引用したヨーロッパ特許出願公開第０  ６４９  １０５号およびＣ．Ｌ．ルチェシとＴ．コワルスキの文献すなわち“Applications of Finite Automata Representing Large Large Vocabularies" に開示されている）を失うことなく行うことが可能である。従って、本発明は、電子辞書に応用する場合において特に有用なものである。
【００２３】
本発明は、適切にプログラムされた通常のコンピュータ、例えばＵＮＩＸを搭載したミニコンピュータあるいはＤＯＳまたはＷＩＯＮＤＯＷＳを搭載したパーソナルコンピュータを用いて実現することができる。このようなハードウェアの詳細については、明細書の最後の部分において図８を参照しながら説明する。
【００２４】
トランスデューサを用いたキーワードへの番号割り当て
有限状態トランスデューサは、状態とそれらを結ぶ弧（アーク）のネットワークからなり、これによって、２つの正則言語Ｌ１とＬ２との間の関係を定義するものである。言語Ｌ１の各ワードは言語Ｌ２の１つあるいは複数のワードに対して対応付けられる。逆にＬ２のワードもＬ１のワードに対して同様の対応付けがなされる。以下においては、対応付けは、冗長性がないようになされているものとする。言語Ｌ１の符号が、言語Ｌ２の符号と左側から右側へ対応付けられる。これらの２つのワードの長さが異なる場合には、もし必要であれば、短い方のワードの末尾に符号ε（イプシロン）を付け足して両方の長さを同じようにすることも可能である。言語Ｌ１と言語Ｌ２の任意のワードは、トランスデューサの複数のパスに現れることができるが、Ｌ１とＬ２とのワードを対として関連付けるパスは、ネットワークにおいてたった１つしかない。すなわち、上記関連付けにおいて、すべてのワードの対に対して固有のインデックス（番号）を割り当てることが可能である。
【００２５】
図１は、本発明の有限状態トランスデューサの簡単な例を示す図である。図１のネットワークには、表１の関係Ｒが符号化されている。
【表１】
L1＝｛cab, can+N, can+V, do+N, do+V, dud｝
L2＝｛cab, can, do, dud ｝
R ＝｛＜cab, cab＞，＜can+N, can＞，＜can+V, can＞，＜do+N, do＞，＜do+V, do＞，＜dud, dud＞｝
【００２６】
表１の関係Ｒの各々の対は、図１のネットワークにおいて左側の始点から右側の（２重丸が付された）終点に至る弧状のパスによって表される。それぞれの弧には１対の符号が付されている。すなわち、上側の符号は、Ｌ１のアルファベットで、下側の符号は、Ｌ２のアルファベットである。これらの２つの符号のうち１つは空を表す特別な符号ε（イプシロン）であり得る。例えば、＜ｄｏ＋Ｖ，
ｄｏ＞の対のパスだけを抜き出して示すと、図２のようになる。
【００２７】
図１のトランスデューサにおいて、言語Ｌ２の任意のワード、例えば「ｄｏ」に対応する言語Ｌ１のワードを以下のようにマップすることが可能である。言語Ｌ２の符号の列、今の例では「ｄ」「ｏ」を下側に含んでいるすべてのパスを探す。その際に、符号列の末尾がεであってもかまわない。図２に示されたパスはこのようなパスの１つとなっている。対応するＬ１のワードは、このようにして見つけ出されたパスの上側の符号の列によって与えられる。ただし、末尾のεは無視する。今の例では、こうしてＬ２の「ｄｏ」に対応するＬ１の「ｄｏ＋Ｎ」と「ｄｏ＋Ｖ」とが得られる。言語Ｌ１のワードをこれに対応するＬ２のワードにマップする手順は、弧の上側の符号と下側の符号とが逆となる点を除いて上記と全く同じである。
【００２８】
Ｌ１あるいはＬ２のあるワードのパスを見つける簡単な方法は、各々のパスに対して固有の番号を割り当てることである。
【００２９】
まず、予備的な処理として、ネットワークの各々の状態に対して、その状態から終点の状態に至る可能なパスの数を記録する。その結果は、図３に示されているようになる。各状態に記録される数は、その状態から発する弧が至る先の状態に記録されている数の和に等しい（ただし、その状態が最終の状態である場合には１とする）。
【００３０】
パス番号の計算は、まず、出ていく弧を順序付け、これらの弧の行き先の状態の番号を基に行う。最初の状態におけるパス番号は零である。選択された弧がもしその状態から発する弧のうちの最初の弧（すなわち、最も上にある弧）でない場合には、その弧の番号は、それ以前のすべての弧の行き先の数だけ増加させる。あるパスが与えられたとき、それに割り当てるべき番号は、そのパスに沿ったそれぞれの状態において、その先の弧の行き先の番号を単純に足し合わせるだけで求められる。図は、図２に示されたパスに対して４を割り当てる場合について、その算出方法を具体的に示したものである。ここで、図３のネットワークにおいて、言語Ｌ２のワード「ｄｏ」に対して２つのパス、すなわち、パス４とパス３とが存在するが、言語Ｌ１のワード「ｄｏ＋Ｖ」には唯一の固有番号４が割り当てられており、図２あるいは図４において、これに対応するネットワークのパスはたった１つしかない。
【００３１】
データベースにアクセスしてネットワークのワードについての情報を取得するアプリケーションにおいて、「ｄｏ」に対する２つのエントリのアドレスはそのネットワークに関する６つのセルマトリックスのセル３およびセル４にそれぞれ記憶される。ネットワークの下側を用いてデータをアクセスした場合には、その結果として２つのエントリ、すなわち、「ｄｏ」と「ｃａｎ」、およびそれぞれ単一のエントリである「ｃａｂ」と「ｄｕｄ」とが返される。また、ネットワークの上側を用いてデータベースにアクセスすることによって見出し語と品詞とを指定することができる。
【００３２】
具体的なアプリケーション：電子辞書のインデックス付け
具体例として、英語−フランス語のそれぞれがおよそ４０Ｋのエントリを有するオンライン電子辞書にアクセスすることを可能とする方法について以下に述べる。図５は、辞書サーバの概略を示すものである。サーバが起動されると、サーバは辞書（１７ＭＢのテキストファイル）を読み込み、２つのデータ構造を生成する。すなわち、前述したような種類の見出し語トランスデューサと、辞書のすべてのエントリのアドレスを記憶したファイル位置マップの２つのデータ構造が生成される。クライアントアプリケーションは、２つの型の問い合わせ、すなわち（１）単に見出し語のみでの問い合わせ、あるいは（２）見出し語に品詞識別符号（例えば「＋Ｖ」や「＋Ｎ」など）を付した問い合わせの２種類が可能である。サーバは、パス番号、すなわち、入力に対応する番号を算出して、これに対応するファイル位置マップのアドレスを返す。
【００３３】
図６及び図７のフローチャートは、サーバ（図６）及びクライアント（図７）が通常のコンピュータ上に前述の本発明の技術を実施する手順について示したものである。なお、これらの図において、「ＦＳＴ」は、有限状態トランスデューサの略称である。
【００３４】
図６において、先ず、オンライン辞書が記憶装置から読み出される（ステップＳ１）。次に、前述のようにして辞書の各エントリにそれぞれ１つのパスが割り当てられるように有限状態トランスデューサが構築される（ステップＳ２）。
次のステップＳ３において、状態番号を有限状態トランスデューサの各々の状態に対して割り当てるルーチンを実行する。各々の状態には、その状態から終点の状態までのパスの数を示す番号が割り当てられる。この手順は、最初の状態（最も左側の状態）から始めて、再帰的に行われる。最初は、予備的な処置として、すべての状態に対して零が付される。次いで、この初期状態のネットワークに対して以下のようにして再帰的ルーチンが呼び出されて実行される（このルーチンにおいては、ネットワークは非周期的なものであると仮定している）。以下に示したルーチンにおいて、ＳＴＡＴＥ．ｎｕｍｂｅｒは状態（最初は０）に関連付けられた番号を表し、また、ＳＴＡＴＥ．ｆｉｎａｌは、その状態が終点の状態かどうかを表すフラッグである。それぞれの状態は、ここから出発するいくつかの弧を有している。各々の弧には符号（ここでは必要ではない）が付されており、また各々の弧は行先状態を有している。ＡＲＣ．ｄｅｓｔｉｎａｔｉｏｎは、弧の行先状態を表している。
【００３５】
【表２】
0003883622.tif 000002
【００３６】
ネットワークの初期状態に対して上記のルーチンが呼び出されると、ルーチンはまず状態番号が零であるかどうかをチェックする。もし、零でなければ、その状態はすでに処理がなされており、上記のルーチンの関数は単にすでに算出されている値を返す。その状態がまだ処理がなされていない場合には、すなわち、その状態番号がまだ零のままである場合には、ルーチンによる処理が行われる。もし、その状態が終点の状態である場合には、ＳＴＡＴＥ．ｎｕｍｂｅｒは１に設定される。そうではない場合には、零のままとなされる。次のステップにおいて、その状態から出発する弧のすべての行先状態に対してルーチンは自分自身を呼び出し、この関数呼び出しによって返された値だけＳＴＡＴＥ．ｎｕｍｂｅｒを増加させる。最後に、このようにして算出された値を返す。
【００３７】
次いでファイル位置マップが構築される。まず、ステップＳ４において、辞書の最初のエントリがフェッチされる。次のステップＳ５において、現在のエントリに対するキー（すなわち辞書の見出し語）が抽出されて、これに対応する辞書のアドレスが記憶される。さらにステップＳ６において、上記のキーを言語Ｌ１の単語として採用し、有限状態トランスデューサからこのキーのパス番号を取得する。次のステップＳ７において、このパス番号とこれに対応する辞書アドレスをファイル位置マップに記憶する。ステップＳ８において、辞書のすべてのエントリに対してパス番号とアドレスが記憶されたかどうかがチェックされる。もし、まだ終了していなければ、ステップＳ９で次のエントリを取得してから、処理をステップＳ５に戻す。全てのエントリが終了していれば、処理を終了する。
【００３８】
問い合わせ入力があったときに、エントリを検索する手順を図７に示す。まず最初に、問い合わせが妥当なものであるかどうかをチェックする（ステップＳ１０）。例えば、文字を全く含まない入力があった場合には、その入力は無視される。次に、入力された問い合わせ文字列の最後尾の部分を抽出して、品詞識別符号（「＋Ｖ」、「＋Ｎ」など）の一覧と比較を行い、入力された文字列が品詞識別符号を含んでいるかどうかを判定する。もし、品詞識別符号が含まれていれば、ステップＳ１２に進み、有限状態トランスデューサの上側（言語Ｌ１の単語）に対して突き合わせを行い、有限状態トランスデューサの対応するパス番号を求める。
【００３９】
もし、問い合わせ入力が品詞識別符号を含んでいなければ、ステップＳ１３に進み、入力された文字列を有限状態トランスデューサの下側（言語Ｌ２の単語）に対して突き合わせを行い、有限状態トランスデューサにおけるパス番号あるいは可能なそれぞれのパスに対する番号を求める。上記の例の場合では、このステップによって入力された単語「ｄｏ」に対して、言語Ｌ１の「ｄｏ＋Ｖ」および「ｄｏ＋Ｎ」にそれぞれ対応するパス番号４と３とが返される。
【００４０】
次に、このように求められたパス番号を用いて、ファイル位置マップ（図５を参照）から対応するアドレスを抽出する（ステップＳ１４）。そして、これらのアドレスのエントリを検索して表示する（ステップＳ１５）。もし、入力された問い合わせに対して、有限状態トランスデューサから妥当なアドレスが得られなかった場合には、その問い合わせの単語に対するエントリが存在しないことを示すメッセージを表示する。
【００４１】
以上に説明したトランスデューサを用いてデータベースにインデックス付けを行う方法は、上記の簡単な例の他にもいろいろと広く応用できる。また、上記のような単純なトランスデューサではなく、ｎレベルの関係を符号化するオートマタに拡張することが可能であり、任意の数レベルのデータベースアクセスを効率的に行うことが可能である。
【００４２】
図８は、本発明の実施例に用いられるコンピュータハードウェアを示す図である。このようなコンピュータの構成方法はよく知られており、例えば、エレクトロニクス技術( The Art of Electronics :Ｐ．ホロウィッツおよびＷ．ヒル、ケンブリッジ大学出版、第２版、第１０章）に詳細に開示されている。簡単に述べると、このコンピュータシステムは、共通パス３０によってそれぞれ接続された中央処理装置３２、ランダムアクセスメモリ（ＲＡＭ）３４、リードオンリメモリ（ＲＯＭ）３６、ディスク、テープあるいはＣＤ−ＲＯＭ装置３８などを含む記憶装置、キーボード１２、マウス１３、プリンタ、フロッタ、あるいはスキャナ装置４０、および、外部装置４６とのインタフェースの役割を果たすＡ／Ｄ、Ｄ／Ａ装置４２およびディジタル入出力装置４４などによって構成されている。また、よく知られているように、コンピュータに内部ドライバカード（図示せず）と適切なソフトウェア（例えばノベル社のネットウェアなど）を搭載して、コンピュータにローカルエリアネットワークの機能を付加するようにすることも可能である。
【００４３】
【発明の効果】
以上に説明したように、本発明は、非周期的な有限状態トランスデューサのパス番号を用いてデータベースのインデックス付けを行うものである。検索キーを複数の値と関連づけることが可能であり、すなわち、同一の値を複数のキーに割り当てることが可能となる。このような複数の割り当てを、ルチェシ・コワルスキーの完全ハッシュ関数の利点を失うことなく実現することができる。本発明は、電子辞書に応用する場合において特に有用なものである。
【図面の簡単な説明】
【図１】本発明の有限状態トランスデューサの簡単な例を示す図である。
【図２】図１における対＜ｄｏ＋Ｖ，ｄｏ＞に対するパスを示す図である。
【図３】各状態に対する番号が決定された後における図１のネットワークを示す図である。
【図４】図３におけるパスの１つにパス番号を割り当てるための計算方法を示す図である。
【図５】本発明を電子辞書に適用する際に用いられるサーバの概略を示す図である。
【図６】本発明について、サーバが通常のコンピュータ上で実現するための処理を示すフローチャートである。
【図７】本発明について、クライアントが通常のコンピュータ上で実現するための処理を示すフローチャートである。
【図８】本発明を実施するのに用いられるコンピュータのブロック図である。
【符号の説明】
３０  パス
３２  中央処理装置
３４  ランダムアクセスメモリ
３６  リードオンリメモリ
１２  キーボード
１３  マウス
４４  ディジタル入出力装置
【図１】
0003883622.tif 000003
【図２】
0003883622.tif 000004
【図３】
0003883622.tif 000005
【図４】
0003883622.tif 000006
【図５】
0003883622.tif 000007
【図６】
0003883622.tif 000008
【図７】
0003883622.tif 000009
【図８】
0003883622.tif 000010