JP3883622B2 - 有限状態トランスデューサを用いてデータベースのインデックス付けを行う方法及び装置 - Google Patents
有限状態トランスデューサを用いてデータベースのインデックス付けを行う方法及び装置 Download PDFInfo
- Publication number
- JP3883622B2 JP3883622B2 JP31162096A JP31162096A JP3883622B2 JP 3883622 B2 JP3883622 B2 JP 3883622B2 JP 31162096 A JP31162096 A JP 31162096A JP 31162096 A JP31162096 A JP 31162096A JP 3883622 B2 JP3883622 B2 JP 3883622B2
- Authority
- JP
- Japan
- Prior art keywords
- data processing
- database
- key
- state
- processing apparatus
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
- Error Detection And Correction (AREA)
Description
【発明の属する技術分野】
本発明は、データ処理に関し、さらに具体的には、非周期的な有限状態トランスデューサ(Finite State Transducer =FST)のパス番号を用いてデータベースにインデックスを付ける技術に関する。
【0002】
【従来の技術】
以下において、インデックスとは、英数字のキーをデータベースの一つあるいは複数のアドレスと関連させる仕組みのことをいう。例えば、データベースが本のような物理的に実体のあるものである場合には、インデックスは、キーワードまたは語句と、そのキーワードあるいは語句が現れるページ番号の一覧とを対として並べたものである。データベースが例えばコンピュータなどの装置が読み取ることが可能な辞書のような電子的文書である場合のインデックスの例は、辞書のエントリの見出し語をキーとし、コンピュータファイル又はコンピュータメモリのどこにそれらのエントリが存在するかを示す場所を対とする一覧である。
【0003】
コンピュータで用いるインデックスにおいては、キーに対応するアドレスを効率的に求める方法を採用することが重要である。そのためによく知られた方法の1つは、ハッシュテーブルを作成することである。この方法は次のような手順による。すなわち、(a)各々のキーに対して選択されたある範囲の乱数を割り当てるのに用いる関数をまず選定し、次に(b)キーに関連付けられたアドレスをハッシュテーブルの対応する位置に記憶する。しかし、標準的なハッシュ法は、以下の2つの点で完璧なものではない。(1)ハッシュ関数によって、同じ値が1つ以上のキーに対して割り当てられてしまう可能性がある。(2)あるいは逆に、あるキーには値が全く割り当てられない可能性がある。(1)の問題を解決するために、何らかの方法によってどのキーがどれに属するのかを示すことが必要である。また、(2)は、ハッシュテーブルが部分的に空となることがあるということを意味している。(1)や(2)のようなことが起こると、メモリ空間の一部が無駄となり、また無駄なサーチ時間を必要とする。
【0004】
(ワード/番号マップ)
上記の2つの問題は、ハッシュテーブルの大きさと正確に対応する範囲の値を、各々のキーに対して重複することなく一意的に割り当てるようなハッシュ関数を用いることで解決できる。このようなハッシュ関数を採用することによって、テーブルのすべての場所がそれぞれ重複のない固有の値で満たされていることが保証される。この場合、アドレスがどのキーに属しているかを示す必要はもはやない。
【0005】
このような完全なハッシュ関数は、確定的有限状態オートマトンによってキーを列挙するようにすることで達成される。C. L. Lucchesi および T. Kowaiskiは、確定的有限状態オートマトンによって各々のワードに固有の番号を割り当てるアルゴリズムを提案している(“Applications of Finite Automata Representing Large Large Vocabularies": Software Practice and Experience, Vol.23(1), 15-30 pages, 1993年1月 参照)。オートマトンが受け入れ可能なワードの数がnであるとき、上記の番号は0からn−1までの範囲となる。ハッシュテーブルの大きさはキーの数と同じとなるようにすることができるので、テーブルに無駄な場所が発生しない。
【0006】
しかしながら、このような完全なハッシュ関数を用いることが、データベースをアクセスする上でいつも必ず適切とはいえない。上記の完全なハッシュ関数は、(1)すべてのキーに対して1つの値を割り当て、(2)どの値もただ1つのキーと関連づけられていることをその特質とするものであるが、その(1)あるいは(2)のいずれもが望ましくないデータベースのアプリケーションが存在する。その1つの具体的な例はオンライン辞書である。例えば、キーに対して複数の値を割り当てることが望ましい場合の簡単な例として、英語辞書の中から「do」という単語項目の場所を探す場合について、以下に説明する。
【0007】
ヨーロッパ特許出願公開第0 649 105号には、ワード一覧を記憶し、これによってワードに対する番号(W/N)及び番号に対するワード(N/W)のマッピング(対応付け)を行う技術が開示されている。この一覧の各々のワードは、零からワードの一覧に含まれているワードの全数よりも小さな数の範囲の稠密な数の集合の中の固有の値と重複のないようにマップ(対応付け)される。マップにおいて、データ構造の中に現れるある種の分岐は、その分岐点に関する分岐情報によってスキップすることができる。このような分岐情報を用いることによって、マップを次の分岐あるいはこれに代わる分岐から再開することが可能である。分岐情報は、次の分岐の語尾の数を示すものであり、この数によって、ワード/番号マップにおけるワードの語尾がカウントされる。また、上記の数は、次の分岐に移行すべきなのか、あるいはワード/番号マップにおいてマップされる数を低減すべきなのかを判断するためにも用いられる。分岐情報は、次の分岐を指し示す全長ポインタであってもよいし、あるいは、全長ポインタが記憶されているテーブル位置を指し示す短いポインタインデックスであってもよい。どちらの場合においても、次の分岐における語尾の数をポインタに添えるようにすることができる。もし、ワードのサブリストが等しい語尾を有する場合には、その語尾を共通ブランチにまとめるようにすることができる。
【0008】
通常の辞書においては、すべてのエントリに見出し語が重複なく割り当てられているわけではない。例えば、「do」などの、多くの単語が、いつかのエントリに重複して現れる。ある1つのエントリには、「〜を行う」という意味の「do」が割り当てられており、別のエントリには音楽の音階における「do」)ドレミファ・・・のド)が割り当てられている。従って、「do」のアドレスを問い合わせると、「do」を見出しとするそれぞれのエントリに対する複数の答が返される。
【0009】
上記の例では、「do」が動詞と名詞の両方となることがないものと仮定している。しかし、これは正しいとはいえない。例えば、「I want to do something」のような文章の場合では、「do」が動詞であることは容易にわかる。この文脈では、「do」の動詞としての意味に関するエントリだけが妥当なものである。ユーザは、問い合わせを例えば「do+V」に狭めて、「do」の動詞に関するエントリへのポインタだけを得ることができる。(ここで、記号「+V」は動詞を意味する。一方、「+N」は名詞を意味するのみ用いられる。)
【0010】
【発明が解決しようとする課題】
本発明は、上記のような検索キーを複数の値と関連づける際の問題をルチェシ・コワルスキーの完全ハッシュ関数の利点を失うことなく解決せんとするものである。
【0011】
【課題を解決するための手段】
本発明の1つの態様における、1つあるいは複数のキーに関連づけられているデータベースを各々のエントリに対してインデックス付けを行う方法は、(a)データベースに対してキーを定義する有限状態トランスデューサを準備し、(b)各々のキーに対して、そのキーに関連付けられたパス番号を定め、このパス番号によってそのキーとデータベースの対応する各々のエントリとの間のマップを定義する。
【0012】
望ましくは、本発明の方法は、上記エントリの各々に対してデータベースのファイル位置マップを生成する工程(c)をさらに含む。
【0013】
また、望ましくは、上記工程(b)は、(b1)有限状態トランスデューサの各状態に対して、好適にはその状態から終点状態までの(零を含む)任意の長さのパスの数と等しくなるように定めた状態番号を割り当てる工程を含む。
【0014】
また、望ましくは、上記工程(b)は、(b2)上記有限状態トランスデューサの各々のパスに対して、そのパスに沿った状態番号の関数としてそのパス番号を求める工程をさらに含む。
【0015】
また、望ましくは、上記工程(b)は、(b3)上記の各パス番号と上記データベースの対応するエントリのアドレスとのマップを生成する工程を含む。
【0016】
また、本発明は、上記の本発明の方法に従ってインデックス付けがなされたデータベースのデータベースエントリの検索を行う方法をも提供するものであり、この方法は、(d)ユーザからキー入力を受け取り、(e)そのキーに関連付けられたパス番号を求め、(f)上記の工程(e)において求められたパス番号に対応するエントリを検索する、工程を含んでいることを特徴とする。
【0017】
上記の工程(d)において、入力されるキーは、そのキーが上側(L1)のワードなのか、あるいは下側(L2)のワードであるのかを示す指示符号を含むことができる。また、上記の工程(e)は、(e1)入力されたキーをトランスデューサの対応する側のワードと突き合わせを行う工程を含むようにすることができる。
【0018】
望ましくは、上記の工程(f)は、(f1)上記工程(e)において求められたパス番号に対して、上記ファイル位置マップの対応するアドレスを求める工程を含む。
【0019】
また、望ましくは、上記の工程(f)は、(f2)上記の工程(f1)において求められたアドレスのデータベースエントリを検索する工程を含む。
【0020】
また、本発明は、上記の方法を実施するためのプログラムデータ処理装置をも提供するものであり、本発明の装置は、プロセッサ、メモリ、入出力回路、ユーザインタフェースからなるものである。
【0021】
いずれの場合においても、上記データベースは、好適には、電子辞書を含み、上記キーは、この辞書の見出し語を含んでいる。各見出し語は、品詞識別符号や、検出番号目的言語指示符号、あるいは同一の見出し語に関連づけられた異なる情報を識別するためのその他の識別符号を含むことができる。
【0022】
【発明の実施の形態】
本発明は、非周期的な有限状態トランスデューサのパス番号を用いてデータベースのインデックス付けを行うものである。単純なネットワークではなく、トランスデューサを用いることによって、検索キーを複数の値と関連づけることが可能となり、同一の値を複数のキーに割り当てることが可能となる。このような複数の割り当てを、ワード/番号マップの利点(上に引用したヨーロッパ特許出願公開第0 649 105号およびC.L.ルチェシとT.コワルスキの文献すなわち“Applications of Finite Automata Representing Large Large Vocabularies" に開示されている)を失うことなく行うことが可能である。従って、本発明は、電子辞書に応用する場合において特に有用なものである。
【0023】
本発明は、適切にプログラムされた通常のコンピュータ、例えばUNIXを搭載したミニコンピュータあるいはDOSまたはWIONDOWSを搭載したパーソナルコンピュータを用いて実現することができる。このようなハードウェアの詳細については、明細書の最後の部分において図8を参照しながら説明する。
【0024】
トランスデューサを用いたキーワードへの番号割り当て
有限状態トランスデューサは、状態とそれらを結ぶ弧(アーク)のネットワークからなり、これによって、2つの正則言語L1とL2との間の関係を定義するものである。言語L1の各ワードは言語L2の1つあるいは複数のワードに対して対応付けられる。逆にL2のワードもL1のワードに対して同様の対応付けがなされる。以下においては、対応付けは、冗長性がないようになされているものとする。言語L1の符号が、言語L2の符号と左側から右側へ対応付けられる。これらの2つのワードの長さが異なる場合には、もし必要であれば、短い方のワードの末尾に符号ε(イプシロン)を付け足して両方の長さを同じようにすることも可能である。言語L1と言語L2の任意のワードは、トランスデューサの複数のパスに現れることができるが、L1とL2とのワードを対として関連付けるパスは、ネットワークにおいてたった1つしかない。すなわち、上記関連付けにおいて、すべてのワードの対に対して固有のインデックス(番号)を割り当てることが可能である。
【0025】
図1は、本発明の有限状態トランスデューサの簡単な例を示す図である。図1のネットワークには、表1の関係Rが符号化されている。
【表1】
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>}
【0026】
表1の関係Rの各々の対は、図1のネットワークにおいて左側の始点から右側の(2重丸が付された)終点に至る弧状のパスによって表される。それぞれの弧には1対の符号が付されている。すなわち、上側の符号は、L1のアルファベットで、下側の符号は、L2のアルファベットである。これらの2つの符号のうち1つは空を表す特別な符号ε(イプシロン)であり得る。例えば、<do+V,
do>の対のパスだけを抜き出して示すと、図2のようになる。
【0027】
図1のトランスデューサにおいて、言語L2の任意のワード、例えば「do」に対応する言語L1のワードを以下のようにマップすることが可能である。言語L2の符号の列、今の例では「d」「o」を下側に含んでいるすべてのパスを探す。その際に、符号列の末尾がεであってもかまわない。図2に示されたパスはこのようなパスの1つとなっている。対応するL1のワードは、このようにして見つけ出されたパスの上側の符号の列によって与えられる。ただし、末尾のεは無視する。今の例では、こうしてL2の「do」に対応するL1の「do+N」と「do+V」とが得られる。言語L1のワードをこれに対応するL2のワードにマップする手順は、弧の上側の符号と下側の符号とが逆となる点を除いて上記と全く同じである。
【0028】
L1あるいはL2のあるワードのパスを見つける簡単な方法は、各々のパスに対して固有の番号を割り当てることである。
【0029】
まず、予備的な処理として、ネットワークの各々の状態に対して、その状態から終点の状態に至る可能なパスの数を記録する。その結果は、図3に示されているようになる。各状態に記録される数は、その状態から発する弧が至る先の状態に記録されている数の和に等しい(ただし、その状態が最終の状態である場合には1とする)。
【0030】
パス番号の計算は、まず、出ていく弧を順序付け、これらの弧の行き先の状態の番号を基に行う。最初の状態におけるパス番号は零である。選択された弧がもしその状態から発する弧のうちの最初の弧(すなわち、最も上にある弧)でない場合には、その弧の番号は、それ以前のすべての弧の行き先の数だけ増加させる。あるパスが与えられたとき、それに割り当てるべき番号は、そのパスに沿ったそれぞれの状態において、その先の弧の行き先の番号を単純に足し合わせるだけで求められる。図は、図2に示されたパスに対して4を割り当てる場合について、その算出方法を具体的に示したものである。ここで、図3のネットワークにおいて、言語L2のワード「do」に対して2つのパス、すなわち、パス4とパス3とが存在するが、言語L1のワード「do+V」には唯一の固有番号4が割り当てられており、図2あるいは図4において、これに対応するネットワークのパスはたった1つしかない。
【0031】
データベースにアクセスしてネットワークのワードについての情報を取得するアプリケーションにおいて、「do」に対する2つのエントリのアドレスはそのネットワークに関する6つのセルマトリックスのセル3およびセル4にそれぞれ記憶される。ネットワークの下側を用いてデータをアクセスした場合には、その結果として2つのエントリ、すなわち、「do」と「can」、およびそれぞれ単一のエントリである「cab」と「dud」とが返される。また、ネットワークの上側を用いてデータベースにアクセスすることによって見出し語と品詞とを指定することができる。
【0032】
具体的なアプリケーション:電子辞書のインデックス付け
具体例として、英語−フランス語のそれぞれがおよそ40Kのエントリを有するオンライン電子辞書にアクセスすることを可能とする方法について以下に述べる。図5は、辞書サーバの概略を示すものである。サーバが起動されると、サーバは辞書(17MBのテキストファイル)を読み込み、2つのデータ構造を生成する。すなわち、前述したような種類の見出し語トランスデューサと、辞書のすべてのエントリのアドレスを記憶したファイル位置マップの2つのデータ構造が生成される。クライアントアプリケーションは、2つの型の問い合わせ、すなわち(1)単に見出し語のみでの問い合わせ、あるいは(2)見出し語に品詞識別符号(例えば「+V」や「+N」など)を付した問い合わせの2種類が可能である。サーバは、パス番号、すなわち、入力に対応する番号を算出して、これに対応するファイル位置マップのアドレスを返す。
【0033】
図6及び図7のフローチャートは、サーバ(図6)及びクライアント(図7)が通常のコンピュータ上に前述の本発明の技術を実施する手順について示したものである。なお、これらの図において、「FST」は、有限状態トランスデューサの略称である。
【0034】
図6において、先ず、オンライン辞書が記憶装置から読み出される(ステップS1)。次に、前述のようにして辞書の各エントリにそれぞれ1つのパスが割り当てられるように有限状態トランスデューサが構築される(ステップS2)。
次のステップS3において、状態番号を有限状態トランスデューサの各々の状態に対して割り当てるルーチンを実行する。各々の状態には、その状態から終点の状態までのパスの数を示す番号が割り当てられる。この手順は、最初の状態(最も左側の状態)から始めて、再帰的に行われる。最初は、予備的な処置として、すべての状態に対して零が付される。次いで、この初期状態のネットワークに対して以下のようにして再帰的ルーチンが呼び出されて実行される(このルーチンにおいては、ネットワークは非周期的なものであると仮定している)。以下に示したルーチンにおいて、STATE.numberは状態(最初は0)に関連付けられた番号を表し、また、STATE.finalは、その状態が終点の状態かどうかを表すフラッグである。それぞれの状態は、ここから出発するいくつかの弧を有している。各々の弧には符号(ここでは必要ではない)が付されており、また各々の弧は行先状態を有している。ARC.destinationは、弧の行先状態を表している。
【0035】
【表2】
【0036】
ネットワークの初期状態に対して上記のルーチンが呼び出されると、ルーチンはまず状態番号が零であるかどうかをチェックする。もし、零でなければ、その状態はすでに処理がなされており、上記のルーチンの関数は単にすでに算出されている値を返す。その状態がまだ処理がなされていない場合には、すなわち、その状態番号がまだ零のままである場合には、ルーチンによる処理が行われる。もし、その状態が終点の状態である場合には、STATE.numberは1に設定される。そうではない場合には、零のままとなされる。次のステップにおいて、その状態から出発する弧のすべての行先状態に対してルーチンは自分自身を呼び出し、この関数呼び出しによって返された値だけSTATE.numberを増加させる。最後に、このようにして算出された値を返す。
【0037】
次いでファイル位置マップが構築される。まず、ステップS4において、辞書の最初のエントリがフェッチされる。次のステップS5において、現在のエントリに対するキー(すなわち辞書の見出し語)が抽出されて、これに対応する辞書のアドレスが記憶される。さらにステップS6において、上記のキーを言語L1の単語として採用し、有限状態トランスデューサからこのキーのパス番号を取得する。次のステップS7において、このパス番号とこれに対応する辞書アドレスをファイル位置マップに記憶する。ステップS8において、辞書のすべてのエントリに対してパス番号とアドレスが記憶されたかどうかがチェックされる。もし、まだ終了していなければ、ステップS9で次のエントリを取得してから、処理をステップS5に戻す。全てのエントリが終了していれば、処理を終了する。
【0038】
問い合わせ入力があったときに、エントリを検索する手順を図7に示す。まず最初に、問い合わせが妥当なものであるかどうかをチェックする(ステップS10)。例えば、文字を全く含まない入力があった場合には、その入力は無視される。次に、入力された問い合わせ文字列の最後尾の部分を抽出して、品詞識別符号(「+V」、「+N」など)の一覧と比較を行い、入力された文字列が品詞識別符号を含んでいるかどうかを判定する。もし、品詞識別符号が含まれていれば、ステップS12に進み、有限状態トランスデューサの上側(言語L1の単語)に対して突き合わせを行い、有限状態トランスデューサの対応するパス番号を求める。
【0039】
もし、問い合わせ入力が品詞識別符号を含んでいなければ、ステップS13に進み、入力された文字列を有限状態トランスデューサの下側(言語L2の単語)に対して突き合わせを行い、有限状態トランスデューサにおけるパス番号あるいは可能なそれぞれのパスに対する番号を求める。上記の例の場合では、このステップによって入力された単語「do」に対して、言語L1の「do+V」および「do+N」にそれぞれ対応するパス番号4と3とが返される。
【0040】
次に、このように求められたパス番号を用いて、ファイル位置マップ(図5を参照)から対応するアドレスを抽出する(ステップS14)。そして、これらのアドレスのエントリを検索して表示する(ステップS15)。もし、入力された問い合わせに対して、有限状態トランスデューサから妥当なアドレスが得られなかった場合には、その問い合わせの単語に対するエントリが存在しないことを示すメッセージを表示する。
【0041】
以上に説明したトランスデューサを用いてデータベースにインデックス付けを行う方法は、上記の簡単な例の他にもいろいろと広く応用できる。また、上記のような単純なトランスデューサではなく、nレベルの関係を符号化するオートマタに拡張することが可能であり、任意の数レベルのデータベースアクセスを効率的に行うことが可能である。
【0042】
図8は、本発明の実施例に用いられるコンピュータハードウェアを示す図である。このようなコンピュータの構成方法はよく知られており、例えば、エレクトロニクス技術( The Art of Electronics :P.ホロウィッツおよびW.ヒル、ケンブリッジ大学出版、第2版、第10章)に詳細に開示されている。簡単に述べると、このコンピュータシステムは、共通パス30によってそれぞれ接続された中央処理装置32、ランダムアクセスメモリ(RAM)34、リードオンリメモリ(ROM)36、ディスク、テープあるいはCD−ROM装置38などを含む記憶装置、キーボード12、マウス13、プリンタ、フロッタ、あるいはスキャナ装置40、および、外部装置46とのインタフェースの役割を果たすA/D、D/A装置42およびディジタル入出力装置44などによって構成されている。また、よく知られているように、コンピュータに内部ドライバカード(図示せず)と適切なソフトウェア(例えばノベル社のネットウェアなど)を搭載して、コンピュータにローカルエリアネットワークの機能を付加するようにすることも可能である。
【0043】
【発明の効果】
以上に説明したように、本発明は、非周期的な有限状態トランスデューサのパス番号を用いてデータベースのインデックス付けを行うものである。検索キーを複数の値と関連づけることが可能であり、すなわち、同一の値を複数のキーに割り当てることが可能となる。このような複数の割り当てを、ルチェシ・コワルスキーの完全ハッシュ関数の利点を失うことなく実現することができる。本発明は、電子辞書に応用する場合において特に有用なものである。
【図面の簡単な説明】
【図1】本発明の有限状態トランスデューサの簡単な例を示す図である。
【図2】図1における対<do+V,do>に対するパスを示す図である。
【図3】各状態に対する番号が決定された後における図1のネットワークを示す図である。
【図4】図3におけるパスの1つにパス番号を割り当てるための計算方法を示す図である。
【図5】本発明を電子辞書に適用する際に用いられるサーバの概略を示す図である。
【図6】本発明について、サーバが通常のコンピュータ上で実現するための処理を示すフローチャートである。
【図7】本発明について、クライアントが通常のコンピュータ上で実現するための処理を示すフローチャートである。
【図8】本発明を実施するのに用いられるコンピュータのブロック図である。
【符号の説明】
30 パス
32 中央処理装置
34 ランダムアクセスメモリ
36 リードオンリメモリ
12 キーボード
13 マウス
44 ディジタル入出力装置
Claims (5)
- 1つあるいは複数のキーに関連づけられたデータベースのエントリに対してインデックス付けを行うプログラム可能なデータ処理装置であって、プロセッサ、メモリ、入出力回路、及び、ユーザインタフェースを有している、データ処理装置において、前記プロセッサが、
前記データベースのキーを定義する有限状態トランスデューサを、各キーが、複数の状態を結ぶ弧(アーク)で成るパスに関連付けられるように、提供する手段と、
各キーに対して、そのキーに関連するパス番号を、前記有限状態トランスデューサを用いて、前記データベースの対応エントリと前記キーとの間のマップを定義するように、定める手段とを具備している、
ことを特徴とするデータ処理装置。 - 請求項1に記載の装置によってインデックス付けされているデータベースのエントリを検索するプログラム可能なデータ処理装置であって、プロセッサ、メモリ、入出力回路、及び、ユーザインタフェースを有している、データ処理装置において、前記プロセッサが、
ユーザが入力したキーを受け取るための手段と、
前記有限状態トランスデューサを用いて、前記キーに関連付けられた前記パス番号を定める手段と、
前記のパス番号を定める手段によって定められたパス番号に対応するエントリを検索する手段と、を具備している、
ことを特徴とするデータ処理装置。 - 請求項2に記載のデータ処理装置において、前記プロセッサは更に、前記エントリの各々について前記データベースのアドレスを定める、ファイル位置マップにおける対応のアドレスを、前記パス番号を定める手段によって定められたパス番号の各々について、獲得する手段を包含しており、前記ファイル位置マップの各エントリは前記パス番号の1つに関連付けられている、ことを特徴とするデータ処理装置。
- 請求項1に記載のデータ処理装置において、前記プロセッサは更に、前記エントリの各々について前記データベース内のアドレスを定めるファイル位置マップを生成する手段を包含しており、前記ファイル位置マップの各エントリは前記パス番号の1つに関連付けられている、ことを特徴とするデータ処理装置。
- 請求項4に記載のデータ処理装置において、前記プロセッサは、
前記有限状態トランスデューサの各状態を状態番号に関連付ける手段と、
前記有限状態トランスデューサの各パスについてのパス番号をそのパスに沿った状態の状態番号の関数として定める手段と、を備えている、
ことを特徴とするデータ処理装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB9524136:0 | 1995-11-23 | ||
GBGB9524136.0A GB9524136D0 (en) | 1995-11-23 | 1995-11-23 | Indexing a database by finite-state transducer |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09179872A JPH09179872A (ja) | 1997-07-11 |
JP3883622B2 true JP3883622B2 (ja) | 2007-02-21 |
Family
ID=10784448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP31162096A Expired - Lifetime JP3883622B2 (ja) | 1995-11-23 | 1996-11-22 | 有限状態トランスデューサを用いてデータベースのインデックス付けを行う方法及び装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5950184A (ja) |
EP (1) | EP0775963B1 (ja) |
JP (1) | JP3883622B2 (ja) |
DE (1) | DE69615794T2 (ja) |
GB (1) | GB9524136D0 (ja) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6363380B1 (en) * | 1998-01-13 | 2002-03-26 | U.S. Philips Corporation | Multimedia computer system with story segmentation capability and operating program therefor including finite automation video parser |
US6321372B1 (en) | 1998-12-23 | 2001-11-20 | Xerox Corporation | Executable for requesting a linguistic service |
US6714905B1 (en) * | 2000-05-02 | 2004-03-30 | Iphrase.Com, Inc. | Parsing ambiguous grammar |
US8478732B1 (en) | 2000-05-02 | 2013-07-02 | International Business Machines Corporation | Database aliasing in information access system |
US6704728B1 (en) * | 2000-05-02 | 2004-03-09 | Iphase.Com, Inc. | Accessing information from a collection of data |
US6711561B1 (en) | 2000-05-02 | 2004-03-23 | Iphrase.Com, Inc. | Prose feedback in information access system |
US8290768B1 (en) | 2000-06-21 | 2012-10-16 | International Business Machines Corporation | System and method for determining a set of attributes based on content of communications |
US9699129B1 (en) | 2000-06-21 | 2017-07-04 | International Business Machines Corporation | System and method for increasing email productivity |
US6408277B1 (en) | 2000-06-21 | 2002-06-18 | Banter Limited | System and method for automatic task prioritization |
US7644057B2 (en) | 2001-01-03 | 2010-01-05 | International Business Machines Corporation | System and method for electronic communication management |
US7136846B2 (en) | 2001-04-06 | 2006-11-14 | 2005 Keel Company, Inc. | Wireless information retrieval |
US7343372B2 (en) | 2002-02-22 | 2008-03-11 | International Business Machines Corporation | Direct navigation for information retrieval |
US7072880B2 (en) * | 2002-08-13 | 2006-07-04 | Xerox Corporation | Information retrieval and encoding via substring-number mapping |
US7542908B2 (en) * | 2002-10-18 | 2009-06-02 | Xerox Corporation | System for learning a language |
US7346511B2 (en) * | 2002-12-13 | 2008-03-18 | Xerox Corporation | Method and apparatus for recognizing multiword expressions |
US7552051B2 (en) * | 2002-12-13 | 2009-06-23 | Xerox Corporation | Method and apparatus for mapping multiword expressions to identifiers using finite-state networks |
EP1429257B1 (en) * | 2002-12-13 | 2015-08-12 | Xerox Corporation | Method and apparatus for recognizing multiword expressions |
US8495002B2 (en) | 2003-05-06 | 2013-07-23 | International Business Machines Corporation | Software tool for training and testing a knowledge base |
US20050187913A1 (en) | 2003-05-06 | 2005-08-25 | Yoram Nelken | Web-based customer service interface |
WO2008024800A2 (en) * | 2006-08-21 | 2008-02-28 | Western Slope Utilities, Inc. | Systems and methods for swab transport in pipeline rehabilitation |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4285049A (en) * | 1978-10-11 | 1981-08-18 | Operating Systems, Inc. | Apparatus and method for selecting finite success states by indexing |
US5754847A (en) * | 1987-05-26 | 1998-05-19 | Xerox Corporation | Word/number and number/word mapping |
US5551026A (en) * | 1987-05-26 | 1996-08-27 | Xerox Corporation | Stored mapping data with information for skipping branches while keeping count of suffix endings |
JP2702927B2 (ja) * | 1987-06-15 | 1998-01-26 | 株式会社日立製作所 | 文字列検索装置 |
DE69032712T2 (de) * | 1989-06-14 | 1999-07-01 | Hitachi, Ltd., Tokio/Tokyo | Hierarchischer vorsuch-typ dokument suchverfahren, vorrichtung dazu, sowie eine magnetische plattenanordnung für diese vorrichtung |
US5452451A (en) * | 1989-06-15 | 1995-09-19 | Hitachi, Ltd. | System for plural-string search with a parallel collation of a first partition of each string followed by finite automata matching of second partitions |
US5369577A (en) * | 1991-02-01 | 1994-11-29 | Wang Laboratories, Inc. | Text searching system |
JP2534600B2 (ja) * | 1992-06-19 | 1996-09-18 | 松下電器産業株式会社 | 文字列照合装置 |
US5625554A (en) * | 1992-07-20 | 1997-04-29 | Xerox Corporation | Finite-state transduction of related word forms for text indexing and retrieval |
JPH0756957A (ja) * | 1993-08-03 | 1995-03-03 | Xerox Corp | ユーザへの情報提供方法 |
ES2100473T3 (es) * | 1993-10-19 | 1997-06-16 | Xerox Corp | Correlacion de palabras/numeros y numeros/palabras. |
US5680511A (en) * | 1995-06-07 | 1997-10-21 | Dragon Systems, Inc. | Systems and methods for word recognition |
-
1995
- 1995-11-23 GB GBGB9524136.0A patent/GB9524136D0/en active Pending
-
1996
- 1996-11-14 US US08/746,684 patent/US5950184A/en not_active Expired - Lifetime
- 1996-11-20 DE DE69615794T patent/DE69615794T2/de not_active Expired - Lifetime
- 1996-11-20 EP EP96308385A patent/EP0775963B1/en not_active Expired - Lifetime
- 1996-11-22 JP JP31162096A patent/JP3883622B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US5950184A (en) | 1999-09-07 |
EP0775963A3 (en) | 1998-05-20 |
DE69615794D1 (de) | 2001-11-15 |
EP0775963A2 (en) | 1997-05-28 |
DE69615794T2 (de) | 2002-04-18 |
GB9524136D0 (en) | 1996-01-24 |
EP0775963B1 (en) | 2001-10-10 |
JPH09179872A (ja) | 1997-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3883622B2 (ja) | 有限状態トランスデューサを用いてデータベースのインデックス付けを行う方法及び装置 | |
US7031910B2 (en) | Method and system for encoding and accessing linguistic frequency data | |
US5099426A (en) | Method for use of morphological information to cross reference keywords used for information retrieval | |
US5541838A (en) | Translation machine having capability of registering idioms | |
US4775956A (en) | Method and system for information storing and retrieval using word stems and derivative pattern codes representing familes of affixes | |
US5523946A (en) | Compact encoding of multi-lingual translation dictionaries | |
US7092871B2 (en) | Tokenizer for a natural language processing system | |
EP1225517A2 (en) | System and methods for computer based searching for relevant texts | |
US20080133522A1 (en) | System and Methods for Improved Linguistic Pattern Matching | |
JP4314204B2 (ja) | 文書管理方法、システム及びプログラム | |
US5960449A (en) | Database system shared by multiple client apparatuses, data renewal method, and application to character processors | |
JP2009266244A (ja) | 簡潔言語学データを生成かつ使用するシステムおよび方法 | |
US7783643B2 (en) | Direct navigation for information retrieval | |
JP3231004B2 (ja) | データベースアクセス装置およびその方法 | |
JP4493397B2 (ja) | テキスト圧縮装置 | |
JP3418876B2 (ja) | データ・ベース検索装置および方法 | |
EP0539965B1 (en) | An electronic dictionary including a pointer file and a word information correction file | |
JP2005531857A (ja) | 簡潔言語学データを生成かつ使用するシステムおよび方法 | |
JP2001101184A (ja) | 構造化文書生成方法及び装置及び構造化文書生成プログラムを格納した記憶媒体 | |
JPH05250416A (ja) | データベースの登録・検索装置 | |
JPH06168129A (ja) | 知識抽出装置 | |
US20050102278A1 (en) | Expanded search keywords | |
Papakitsos et al. | Modelling a Morpheme‐based Lexicon for Modern Greek | |
JP2000339342A (ja) | 文書検索方法および文書検索装置 | |
JP3358100B2 (ja) | 日本語質問メッセージ解析方法及び装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060612 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060911 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20061016 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061115 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091124 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101124 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111124 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111124 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121124 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121124 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131124 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |