JP2534600B2 - 文字列照合装置 - Google Patents
文字列照合装置Info
- Publication number
- JP2534600B2 JP2534600B2 JP4161520A JP16152092A JP2534600B2 JP 2534600 B2 JP2534600 B2 JP 2534600B2 JP 4161520 A JP4161520 A JP 4161520A JP 16152092 A JP16152092 A JP 16152092A JP 2534600 B2 JP2534600 B2 JP 2534600B2
- Authority
- JP
- Japan
- Prior art keywords
- displacement
- character
- storage means
- state
- output
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/02—Comparing digital values
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/02—Indexing scheme relating to groups G06F7/02 - G06F7/026
- G06F2207/025—String search, i.e. pattern matching, e.g. find identical word or best match in a string
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computational Linguistics (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
検索装置や文書編集装置等に使用される文字列照合装置
に関するものである。
ンピュータの普及、コンピュータによる文字認識の実用
化に伴い、文書中のすべての文字情報を文字番号の列で
表わして蓄積した全文データベースが多くなってきた。
このため、大量の文書情報を蓄積し、必要に応じて文書
情報を検索するための全文データベースに対する関心が
高まってきている。
する際、文書毎に付されたキーワードを利用するキーワ
ード検索が一般的であった。しかし、キーワード付け作
業が蓄積文書の増加に間に合わない、時間が経過すると
キーワードが陳腐化する、キーワード付けを行なった者
と検索する者とのキーワードの相違により検索漏れが生
じる等の問題点があった。このような背景から最近は、
フルテキストサーチと呼ばれる文書検索方式が注目され
ている。
索引情報を持たず、利用者から与えられた検索条件と蓄
積されている文書の全ての情報との間で照合を行ない、
照合条件を満たす文書を出力する。ここで、照合条件
は、「文書中の指定部分に、特定の文字列または文字列
パターンが現われるかどうか」という命題の論理式で与
えられる。例えば、新聞記事データベースの照合条件と
して、「見出し部分に“ソ連”または“ロシア”があっ
て、かつ、記事本文に“ゴルバ”または“ゴルビー”が
あって、かつ、分野コード部分に“経済”を含まない記
事」のようなものが考えられる。
としては、従来のキーワードのような単語以外に文や単
語の一部などの文字列を自由に用いることができる。ま
た、単なる文字列だけでなく、正規表現などの文字列パ
ターンを与えて、当該パターンに合致するかどうかを照
合条件として記述できるものもある。例えば、「国際
[^、。]*学会」という正規表現のパターンは、「国
際」の直後に、「、」でも「。」でもない文字が0個以
上並び、その直後に「学会」がある文字列全体を表すパ
ターンで、文書中の「国際シェークスピア学会」、「国
際学学会」、「国際学会」などの文字列と合致する。
く、日本語ワードプロセッサーなどの文書編集装置にお
いても、文書中の特定内容を持つ箇所を検索して、その
箇所を修正するといった機能が、大規模な文書の編集に
は不可欠であり、このような文書編集中の検索にも、フ
ルテキストサーチは有効といえる。
者から与えられた照合条件と蓄積されている文書の全て
の情報との間で照合を行なうため、照合時間がかかると
いう欠点があった。この欠点を補うため、従来から、様
々なアルゴリズムや、アルゴリズムを具現化した専用ハ
ードウエアが提案されてきた。並列比較法、セルラアレ
イ法、有限状態オートマトン法、ダイナミックプログラ
ミング法、プログラマブル順序論理法、リニアアレイ法
などが、その主なものである。これらのアルゴリズム、
アーキテクチャは、「テキスト検索プロセッサ」(高橋
恒介著、電子情報通信学会刊)などの成書や、「Acc
ess Methods for Text」(Ohr
istos Faloutsos,Computing
Surveys,Vol.17,No.1,Marc
h 1985)などの論文にその概略と特徴が解説され
ている。
状態オートマトン法」について言えば、「文書を1度走
査するだけで複数個の文字列との同時照合ができるこ
と」や、「正規表現で照合文字列のパターンを指定でき
ること」などの特徴を持つ。
を用いた従来の文書検索装置における文字列照合装置の
一例を示すブロック図である。図5において、301は
文字を表わす文字番号の列からなる入力文書を格納して
1文字ずつ読み出すことのできる入力文書メモリ、30
2は入力文書と照合条件条件との照合状態を表わす状態
番号を、状態番号と文字番号を要素番号とした2次元の
表としてランダムアクセスメモリに格納した状態番号表
メモリ、303は状態番号表メモリ302の出力する状
態番号を記録する状態番号記録回路、304は状態番号
記録回路303の出力する状態番号から必要な外部動作
の番号を求める動作番号表メモリである。
て説明する。まず、照合動作に先立って、入力文書メモ
リ301を初期化して、入力文書データを格納し、入力
文書の着目文字を文書の先頭にセットする。同時に、状
態番号記録回路303を初期化して、現在の状態番号を
特別な値、例えば0にセットする。また、照合条件を状
態番号表と動作番号表の形に変形して、照合動作に先立
ってそれぞれ動作番号表メモリ304および状態番号表
メモリ302に格納しておく。以上で初期化動作が終了
し、照合動作の本体に進む。
「現在の状態番号」と、入力文書メモリ301が出力す
る「着目する文字の文字番号」とを組み合わせた番号を
アドレスとして状態番号表メモリ302の表を引き、次
の状態の状態番号を求めて状態番号記録回路303に新
たな状態番号として記録する。今、入力文書中の文字の
文字番号が、0から65535までの範囲であり、状態
番号が0から8191までの範囲であり、状態番号表メ
モリ302のアドレスは、2進数を表す29本の信号線
で与えるとすれば、状態番号表メモリ302のアドレス
線のうち、下位の桁を表わす13本には文字番号を、上
位の桁を表わす16本には状態番号をそれぞれ入力すれ
ばよい。そして、記録した状態番号で動作番号表メモリ
302の表を引き、その動作番号の値に応じて、文書検
索装置の他の部分が種々の動作、例えば「入力文書メモ
リ301が現在着目している文字の文書中での位置を記
録する」などの動作を行なう。その後、入力文書格納メ
モリ301の「入力文書の着目位置」が1文字だけ末尾
方向にずらされる。
態を求めて、状態に応じた動作を行なった後、次の文字
に着目する」という動作を、動作番号が「動作停止」に
なるか、あるいは入力文書の最終文字に到達するかのど
ちらかの条件が満たされるまで繰り返すことにより、入
力文書の照合が完了する。
態オートマトン法を実際の全文検索に応用しようとする
と、状態遷移を司る状態遷移表の大きさが大きくなって
しまうという問題があった。特に、文字の種類の多い日
本語の文書では、実用的な状態数を確保するためには、
状態遷移表が極めて大きくなってしまう。例えば、図5
の構成では、入力文書メモリ301から出力される文字
の文字番号が65536種類、状態番号表メモリ302
から出力される状態番号が8192種類とすると、状態
番号表メモリ302に格納すべき表は5億を越える要素
を持つことになり、記憶容量の面でも表の作成の手間の
面でも実用的でない。
するためになされたもので、照合速度の低下なしに、状
態遷移表として使用する記憶装置の容量の縮小と、照合
動作に使用する状態遷移表の作成および格納の手間の削
減を図った文字列照合装置を提供することを目的として
いる。
に、本発明による文字列照合装置は、文字を表わす文字
番号の列からなる入力文書と照合条件との照合状態を表
わす状態番号を1次元の表として格納した状態番号表格
納手段と、この状態番号表格納手段の出力する状態番号
から必要な外部動作の番号を求める動作番号表格納手段
と、状態番号表格納手段から出力される状態番号を受け
取って状態番号表格納手段の表を引くための基底番号表
格納手段と、入力文書中の着目する文字の文字番号から
2種類の部分番号を求める文字部分番号作成手段と、こ
の文字部分番号作成手段が出力する第1の文字部分番号
と状態番号表格納手段が出力する状態番号の一部を受け
取って状態番号表格納手段の表を引くための第1の変位
を求める第1の変位表格納手段と、文字部分番号作成手
段が出力する第2の文字部分番号と状態番号表格納手段
が出力する状態番号の一部を受け取って状態番号表格納
手段の表を引くための第2の変位を求める第2の変位表
格納手段と、基底番号表格納手段から出力される基底番
号と第1の変位表格納手段から出力される第1の変位と
第2の変位表格納手段から出力される第2の変位とを受
け取って、状態番号表格納手段の表を引くための状態番
号表要素番号を求めて記録する状態番号表要素番号算出
手段とを備えている。
格納手段の代わりに、状態番号表格納手段から出力され
る状態番号を受け取って状態番号表格納手段の表を引く
ための基底番号または入力文書中の着目する文字との比
較用文字番号を求める基底番号兼文字番号表格納手段を
備えている。
段が、現在の照合状態の状態番号から状態番号表格納手
段の表を引くための基底番号を求め、第1の変位表格納
手段が、文字部分番号作成手段が出力する第1の文字部
分番号と状態番号表格納手段が出力する状態番号の一部
を受け取って、状態番号表格納手段の表を引くための第
1の変位を求め、第2の変位表格納手段が、文字部分番
号作成手段が出力する第2の文字部分番号と状態番号表
格納手段が出力する状態番号の一部を受け取って、状態
番号表格納手段の表を引くための第2の変位を求め、状
態番号表要素番号算出手段が、基底番号と第1の変位と
第2の変位から状態番号表格納手段の表を引くための1
次元の状態番号表要素番号を求めて記録することで、1
次元の比較的小さな状態番号表による状態遷移を行なう
ことができ、照合速度の低下なしに、状態番号表格納手
段が状態遷移表としてして使用する状態番号表に用いる
記憶装置の容量の縮小を図ることができ、さらに、同一
の照合条件ならば従来よりも状態遷移表のサイズを小さ
くすることができるため、照合動作に使用する状態遷移
表の作成および格納の手間の削減を図ることができる。
号が特定の範囲の場合には、基底番号兼文字番号表格納
手段から出力される番号を文字番号と見なして入力文書
中の着目する文字の文字番号と一致判定を行ない、状態
番号表格納手段から出力される状態番号の一部と一致判
定結果とから状態番号表格納手段の表を引くための状態
番号表要素番号を求めることで、ある状態からの遷移
が、ある特定の1文字による遷移1種のみの場合には、
変位表格納手段中の変位表を使用せず、基底番号兼文字
番号格納手段中の文字番号表の1要素と、状態番号表格
納手段中の状態番号表の2要素のみの使用で済むため、
状態遷移表のサイズをさらに小さくすることができる。
を参考にしながら説明する。なお、以下の説明で用いる
「EUCコード」とは、日本語の文字を16ビットの2
進数でコード化する際に用いられる番号で、上位8ビッ
ト、下位8ビットとも、161から254までの範囲の
番号で表現される。例えば、上位8ビットの値が16
4、下位8ビットの値が162ならば、文字「あ」を表
わすことになる。
検索装置における文字列照合装置のブロック図である。
図1において、101は日本語文字を表わす16ビット
のEUCコードの文字番号の列からなる入力文書を格納
し、指定された番地の文字番号を出力する入力文書メモ
リである。102は文字部分番号作成回路であり、入力
文書メモリ101に着目文字の格納されている番地を出
力し、入力文書メモリ101から受け取った16ビット
の文字番号を分解し、上位8ビットの番号から161を
差し引いた番号を第1の変位表メモリ104に出力し、
下位8ビットの番号から161を差し引いた番号を第2
の変位表メモリ105に出力する。103は基底番号を
格納し、指定されたアドレスの基底番号を出力する基底
番号表メモリ、104は第1の変位表を格納し、指定さ
れたアドレスの第1の変位の番号とその2進数の桁数を
出力する第1の変位表メモリ、105は第2の変位表を
格納し、指定されたアドレスの第2の変位の番号とその
2進数の桁数を出力する第2の変位表メモリである。1
06は次の状態の状態番号が0から8191までの範囲
の番号で、32768個分が1次元の表として格納され
ている状態番号表メモリである。107は状態番号表要
素番号算出手段としての状態番号表アドレス作成回路で
あり、基底番号表メモリ103の出力する基底番号と、
第1の変位表メモリ104の出力する第1の変位の番号
およびその桁数と、第2の変位表メモリ105の出力す
る第2の変位の番号およびその桁数とを受け取って、状
態番号表メモリ106の表を引くための15ビットのア
ドレスを作成、記録して、状態番号表メモリ106に出
力する。108は状態番号表メモリ103の出力する状
態番号から、必要な外部動作の番号を求める動作番号表
メモリである。
モリ104、第2の変位表メモリ105、状態番号表メ
モリ106および動作番号表メモリ108は、ランダム
アクセスメモリが用いられ、入力をメモリアドレスとし
てそのメモリアドレスの記憶データを出力する。
て説明する。まず、照合動作に先立って、入力文書メモ
リ101を初期化して、入力文書データを格納し、文字
部分番号作成回路102を初期化して、入力文書メモリ
101へ出力するメモリアドレスを、格納されている入
力文書データの先頭アドレス、例えば0にセットする。
同時に、状態番号表アドレス作成回路107を初期化し
て、現在の状態番号表アドレスを特別な値、例えば0に
セットする。また、照合条件を、状態番号表と基底番号
表と第1の変位表と第2の変位表と動作番号表の形に変
形して、照合動作に先立って、状態番号表メモリ106
および基底番号表メモリ103および第1の変位表メモ
リ104および第2の変位表メモリ105および動作番
号表メモリ108に格納しておく。以上で初期化動作が
終了し、照合動作の本体処理に進む。
番号作成回路102が出力するメモリアドレスの文字の
EUCコードが入力文書メモリ101から出力され、文
字部分番号作成回路102で、上位8ビットの番号、下
位8ビットの番号がそれぞれ0から93までの7ビット
の番号に変換されて、それぞれ第1の変位表メモリ10
4のアドレス線の下位7ビット、および第2の変位表メ
モリ105のアドレス線の下位7ビットに出力される。
一方、状態番号表メモリ106からは、現在の状態を表
す状態番号が0から8191までの13ビットの番号で
出力されている。基底番号表メモリ103は、その13
ビットの出力番号をメモリアドレスとして受取り、該当
アドレスの記憶データを0から32767までの15ビ
ットの基底番号として、状態番号表アドレス作成回路1
07に出力する。また、第1の変位表メモリ104は、
状態番号表メモリ106の出力する13ビットの状態番
号のうち、ビット1,2,3,4,9,10,11,1
2の8ビットのデータからなる8ビットのデータを、ア
ドレス線の上位8ビットのアドレスとして受け取る。同
様に、第2の変位表メモリ105は、状態番号表メモリ
106の出力する13ビットの状態番号のうち、ビット
5,6,7,8,9,10,11,12の8ビットのデ
ータからなる8ビットのデータを、アドレス線の上位8
ビットのアドレスとして受け取る。状態番号表アドレス
作成回路107では、基底番号表メモリ103から出力
される15ビットのデータと、第1の変位表メモリ10
4から出力される最大8ビットの第1の変位番号および
0から8までの第1の変位番号ビット数b1と、第2の
変位表メモリ105から出力される最大8ビットの第2
の変位番号および0から8までの第2の変位番号ビット
数b2とから、15ビットの状態番号表アドレスを作成
するが、アドレスのうち、第0ビットから第b1−1ビ
ットまでは、第1の変位番号を用い、第b1ビットから
第b1+b2−1ビットまでは、第2の変位番号を用
い、第b1+b2ビットから第14ビットまでは、基底
番号のうちの第b1+b2−1ビットから第14ビット
までのデータを用いて、状態番号表アドレスを作成し、
作成したアドレスを内部の記憶回路に記憶して、状態番
号表メモリ106に出力する。状態番号表メモリ106
は、このアドレスを受け取って、次の状態の状態番号を
出力する。さらに、動作番号表メモリ108は、この新
たな状態番号を受け取って、受け取った状態番号の状態
で必要な動作の動作番号を外部の機器に出力し、外部機
器を動作させる。その後文字部分番号作成回路102が
入力文書メモリ101に出力しているメモリアドレス
が、1文字分文書末尾側に進められる。以上が、図1に
示した文字列照合装置の1文字に対する照合動作であ
る。この照合動作が、入力文書メモリ101中の入力文
書の最後の文字に対する照合動作が終わるか、または動
作表メモリ108の出力が照合動作終了の番号になるか
のいずれかの条件が満たされるまで繰り返される。
101から出力された文字番号が、2進数で10100
10010100010ならば、第1の変位表メモリ1
04のアドレス線の下位7ビットには0000011が
出力され、第2の変位表メモリ105の下位7ビットに
は0000001が出力される。例えば、状態番号表メ
モリ106の出力する状態番号が2進数で001000
0110110ならば、基底番号表メモリ103は、1
074番地のデータ、例えば2進数で00000001
1000000を状態番号表アドレス作成回路107に
出力する。第1の変位表メモリ104は、アドレス線の
上位8ビットに00101011を受取って、文字部分
番号作成回路102から受け取ったアドレス線の下位7
ビットである0000011とともに、アドレス001
010110000011が確定し、該当アドレスのデ
ータ、例えば変位番号として2進数で01、変位番号ビ
ット数として2を、状態番号表アドレス作成回路107
に出力する。第2の変位表メモリ105は、アドレス線
の上位8ビットに00100001を受取って、文字部
分番号作成回路102から受け取ったアドレス線の下位
7ビットである0000001とともに、アドレス00
1000010000001が確定し、該当アドレスの
データ、例えば変位番号として、2進数で011、変位
番号ビット数として3を、状態番号表アドレス作成回路
107に出力する。状態番号表アドレス作成回路107
は、これら3種の入力をもとに、状態番号表アドレスと
して、2進数で000000011001101を作成
し、内部の記憶回路に記憶するとともに、状態番号表メ
モリ106に出力する。状態番号表メモリ106は、こ
の出力アドレスを受け取って、該当アドレスのデータ、
例えば2進数で0010100100111を、新たな
状態の状態番号として出力する。動作番号表メモリ10
8は、この新たな状態番号をアドレスとして受け取っ
て、この状態で必要な動作の番号、例えば、「照合が成
功したので、現在の入力文書メモリ101が受け取って
いるアドレスを記録する」という動作の番号として、動
作番号2を外部の装置に出力する。
文字を表わす16ビット幅の文字コードを直接状態番号
表の添字にせず、8ビットずつの2つの部分に分解し
て、それぞれの部分を7ビットの連続番号に変換したの
ち、それぞれの部分で現在の状態番号に対応する変位表
を引き、異なる状態遷移が必要な場合のみ異なる変位番
号を与えることにより、それぞれの部分について、さら
にビット長の短い「変位」に変換し、2種の変位の範囲
の直積の範囲をカバーし、かつ大きな表の一部である、
基底番号の位置から始まる1次元の状態番号表を引くこ
とにより、1つの状態遷移に要する記憶容量を大幅に削
減することができる。
について図面を参考にしながら説明する。図3は本発明
の第2の実施例を示す日本語文書検索装置における文字
列照合装置のブロック図である。図3において、201
は日本語文字を表わす16ビットのEUCコードの文字
番号の列からなる入力文書を格納し、指定された番地の
文字番号を出力する入力文書メモリである。202は文
字部分番号作成回路であり、入力文書メモリ201に着
目文字の格納されている番地を出力し、入力文書メモリ
201から受け取った16ビットの文字番号を分解し、
上位8ビットの番号から161を差し引いた番号を第1
の変位表メモリ204に出力し、下位8ビットの番号か
ら161を差し引いた番号を第2の変位表メモリ205
に出力する。203は基底番号または文字番号を格納
し、指定されたアドレスの基底番号または文字番号を出
力する基底番号兼文字番号表メモリ、204は第1の変
位表を格納し、指定されたアドレスの第1の変位の番号
とその2進数の桁数を出力する第1の変位表メモリ、2
05は第2の変位表を格納し、指定されたアドレスの第
2の変位の番号とその2進数の桁数を出力する第2の変
位表メモリである。206は次の状態の状態番号が0か
ら8191までの範囲の番号で、32768個分が1次
元の表として格納されている状態番号表メモリである。
207は状態番号表要素番号算出手段としての状態番号
表アドレス作成回路であり、入力文書メモリ201の出
力する文字番号と、基底番号兼文字番号表メモリ203
の出力する基底番号または文字番号と、第1の変位表メ
モリ204の出力する第1の変位の番号およびその桁数
と、第2の変位表メモリ205の出力する第2の変位の
番号およびその桁数と、状態番号表メモリ206の出力
する13ビットの状態番号とを受け取って、状態番号表
メモリ206の表を引くための15ビットのアドレスを
作成、記録して状態番号表メモリ206に出力する。2
08は状態番号表メモリ203の出力する状態番号から
必要な外部動作の番号を求める動作番号表メモリであ
る。
の変位表メモリ204、第2の変位表メモリ205、状
態番号表メモリ206および動作番号表メモリ208
は、ランダムアクセスメモリが用いられ、入力をメモリ
アドレスとしてそのメモリアドレスの記憶データを出力
する。
て説明する。まず、照合動作に先立って、入力文書メモ
リ201を初期化して、入力文書データを格納し、文字
部分番号作成回路202を初期化して、入力文書メモリ
201へ出力するメモリアドレスを、格納されている入
力文書データの先頭アドレス、例えば0にセットする。
同時に、状態番号表アドレス作成回路207を初期化し
て、現在の状態番号表アドレスを特別な値、例えば0に
セットする。また、照合条件を、状態番号表と基底番号
兼文字番号表と第1の変位表と第2の変位表と動作番号
表の形に変形して、照合動作に先立って、状態番号表メ
モリ206および基底番号兼文字番号表メモリ203お
よび第1の変位表メモリ204および第2の変位表メモ
リ205および動作番号表メモリ208に格納してお
く。以上で初期化動作が終了し、照合動作の本体処理に
進む。
番号作成回路202が出力するメモリアドレスの文字の
EUCコードが入力文書メモリ201から出力され、文
字部分番号作成回路202で、上位8ビットの番号、下
位8ビットの番号がそれぞれ0から93までの7ビット
の番号に変換されて、それぞれ第1の変位表メモリ20
4のアドレス線の下位7ビット、および第2の変位表メ
モリ205のアドレス線の下位7ビットに出力される。
一方、状態番号表メモリ206からは、現在の状態を表
す状態番号が0から8191までの13ビットの番号で
出力されている。基底番号兼文字番号表メモリ203
は、その13ビットの出力番号をメモリアドレスとして
受取り、受け取ったアドレスが、6144から8191
までの範囲の場合には、該当アドレスの記憶データを0
から32767までの15ビットの基底番号として出力
し、受け取ったアドレスが、0から6143までの場合
には、該当アドレスの記憶データを0から65535ま
での16ビットのEUC文字コードとして出力する。ま
た、第1の変位表メモリ204は、状態番号表メモリ2
06の出力する13ビットの状態番号のうち、ビット
1,2,3,7、8、9、10の7ビットのデータから
なる7ビットの番号を、アドレス線の上位7ビットのア
ドレスとして受け取る。同様に、第2の変位表メモリ2
05は、状態番号表メモリ206の出力する13ビット
の状態番号のうち、ビット4,5,6,7,8,9,1
0の7ビットのデータからなる7ビットの番号を、アド
レス線の上位7ビットのアドレスとして受け取る。も
し、状態番号表メモリ206から受け取った状態番号が
6144から8191までの場合には、状態番号表アド
レス作成回路207では、基底番号兼文字番号表メモリ
203から出力されるデータを、15ビットの基底番号
とみなし、第1の変位表メモリ204から出力される最
大8ビットの第1の変位番号および0から8までの第1
の変位番号ビット数b1と、第2の変位表メモリ205
から出力される最大8ビットの第2の変位番号および0
から8までの第2の変位番号ビット数b2とから、15
ビットの状態番号表アドレスを作成するが、アドレスの
うち、第0ビットから第b1−1ビットまでは、第1の
変位番号を用い、第b1ビットから第b1+b2−1ビ
ットまでは、第2の変位番号を用い、第b1+b2ビッ
トから第14ビットまでは、基底番号のうちの第b1+
b2−1ビットから第14ビットまでのデータを用い
て、状態番号表アドレスを作成し、作成したアドレスを
内部の記憶回路に記憶して、状態番号表メモリに206
に出力する。一方、状態番号表メモリ206から受け取
って状態番号が0から6143までの場合には、状態番
号表アドレス作成回路207では、基底番号兼文字番号
表メモリ203から出力されるデータを、16ビットの
EUCコードの文字番号とみなし、入力文書メモリ20
1から出力される現在の着目文字の文字番号と、基底番
号兼文字番号表メモリ203から出力される文字番号と
の一致判定を行ない、この一致判定結果と、状態番号表
メモリ206から出力される現在の状態の状態番号とか
ら、15ビットの状態番号表アドレスを作成する。この
とき、アドレスのうち第0ビットは、一致判定結果が、
「一致」の場合には値1、「不一致」の場合は値0と
し、アドレスのうち第1ビットから第13ビットまで
は、現在の状態番号をそのまま用い、第14ビットは値
0として、状態番号表アドレスを作成し、作成したアド
レスを内部の記憶回路に記憶して、状態番号表メモリに
206に出力する。状態番号表メモリ206は、このア
ドレスを受け取って、次の状態の状態番号を出力する。
さらに、動作番号表メモリ208は、この新たな状態番
号を受け取って、受け取った状態番号の状態で必要な動
作の動作番号を外部の機器に出力し、外部機器を動作さ
せる。その後、文字部分番号作成回路202が入力文書
メモリ201に出力しているメモリアドレスが、1文字
分文書末尾側に進められる。以上が、図3に示した文字
列照合装置の1文字に対する照合動作である。この照合
動作が、入力文書メモリ201中の入力文書の最後の文
字に対する照合動作が終わるか、または動作表メモリ2
08の出力が照合動作終了の番号になるかのいずれかの
条件が満たされるまで繰り返される。
201から出力された文字番号が、2進数で10100
10010100010ならば、第1の変位表メモリ2
04のアドレス線の下位7ビットには0000011が
出力され、第2の変位表メモリ205の下位7ビットに
は0000001が出力される。例えば、状態番号表メ
モリ206の出力する状態番号が2進数で001000
0110110ならば、基底番号兼文字番号表メモリ2
03は、1074番地のデータ、例えば2進数で101
0010010100010を状態番号表アドレス作成
回路207に出力する。ここで、状態番号が0から61
43までの範囲にあるので、基底番号兼文字番号表メモ
リ203の出力する番号は文字番号と解釈され、入力文
書メモリ201の現在の文字番号と、基底番号兼文字番
号表メモリ203の出力する番号とが状態番号表アドレ
ス作成回路207中の一致検出回路で比較され、比較の
結果一致しているので、状態番号表アドレスの第0ビッ
トとして値1が確定する。この比較結果と、状態番号表
メモリ206の出力である現在の状態番号001000
0110110とから、状態番号表アドレス作成回路2
07は、15ビットの状態番号表アドレスとして、00
0100001101101を作成し、内部の記憶回路
に記憶するとともに、状態番号表メモリ206に出力す
る。状態番号表メモリ206は、この出力アドレスを受
け取って、該当アドレスのデータ、例えば2進数で00
10100100111を、新たな状態の状態番号とし
て出力する。動作番号表メモリ208は、この新たな状
態番号をアドレスとして受け取って、この状態で必要な
動作の番号、例えば、「照合が成功したので、現在の入
力文書メモリ201が受け取っているアドレスを記録す
る」という動作の番号として、動作番号2を外部の装置
に出力する。
文字を表わす16ビット幅の文字コードを直接状態番号
表の添字にせず、8ビットずつの2つの部分に分解し
て、それぞれの部分を7ビットの連続番号に変換したの
ち、それぞれの部分で現在の状態番号に対応する変位表
を引き、異なる状態遷移が必要な場合のみ異なる変位番
号を与えることにより、それぞれの部分について、さら
にビット長の短い「変位」に変換し、2種の変位の範囲
の直積の範囲をカバーし、かつ大きな表の一部である基
底番号の位置から始まる1次元の状態番号表を引くこと
により、1つの状態遷移に要する記憶容量を大幅に削減
することができるとともに、ある状態からの遷移が、あ
る特定の1文字による遷移1種のみの場合には変位表を
使用せず、状態によって定まる文字番号表の1要素と、
入力文書中の着目する文字の文字番号との一致判定を行
なって、その一致判定結果と現在の状態番号とから、大
きさが「2」の状態番号表を引くようにすることで、状
態遷移に要する記憶容量をさらに小さくすることができ
る。
について説明したが、本発明は、日本語文字以外の文字
を含む文書データに対しても有効であること、および本
発明の実施にあたって実施例で述べた電子回路による直
接的な構成以外にも、電子計算機のソフトウエアによる
間接的な構成が可能であることは言うまでもない。
号表要素番号算出手段が、基底番号と第1の変位と第2
の変位から状態番号表格納手段の表を引くための1次元
の状態番号表要素番号を求めて記録することにより、1
次元の比較的小さな状態番号表による状態遷移を行なう
ことができ、照合速度の低下なしに、状態遷移表として
して使用する記憶装置の容量の縮小を図ることができ
る。また、同一の照合条件ならば従来よりも状態遷移表
のサイズを小さくすることができるため、照合動作に使
用する状態遷移表の作成および格納の手間の削減を図る
ことができるという効果を有する。
番号が特定の範囲の場合に、基底番号兼文字番号表格納
手段から出力される番号を文字番号と見なし、この文字
番号と着目する文字の文字番号との一致判定を行ない、
この一致判定結果と状態番号表格納手段から出力される
状態番号の一部とから状態番号表格納手段の表を引くた
めの状態番号表要素番号を求めることにより、ある状態
からの遷移が、ある特定の1文字による遷移1種のみの
場合には変位表格納手段中の変位表を使用せず、基底番
号兼文字番号格納手段中の文字番号表の1要素と、状態
番号表格納手段中の状態番号表の2要素のみの使用で済
むため、状態遷移表のサイズをさらに小さくすることが
でき、ある特定の1文字による遷移1種のみをもつ状態
が比較的多い場合には、状態遷移表として使用する記憶
装置の容量の一層の縮小を図ることができるという効果
を有する。特に、日本語、中国語のように、文字の種類
が多く、1文字を表現する文字番号のビット数が16ビ
ット以上になる場合には、本発明による記憶装置の容量
縮小の効果は顕著になる。
の構成を示すブロック図
の具体的動作を表わす模式図
の構成を示すブロック図
の具体的動作を表わす模式図
番号算出手段) 108 動作番号表メモリ 201 入力文書メモリ 202 文字部分番号作成回路 203 基底番号兼文字番号表メモリ 204 第1の変位表メモリ 205 第2の変位表メモリ 206 状態番号表メモリ 207 状態番号表アドレス作成回路(状態番号表要素
番号算出手段) 208 動作番号表メモリ
Claims (8)
- 【請求項1】 文字を表わす文字番号の列からなる入力
文書と照合条件との照合状態を表わす状態番号を1次元
の表として格納した状態番号表格納手段と、前記状態番
号表格納手段の出力する状態番号から必要な外部動作の
番号を求める動作番号表格納手段と、前記状態番号表格
納手段から出力される状態番号を受け取って前記状態番
号表格納手段の表を引くための基底番号を求める基底番
号表格納手段と、前記入力文書中の着目する文字の文字
番号から2種類の部分番号を求める文字部分番号作成手
段と、前記文字部分番号作成手段が出力する第1の文字
部分番号と前記状態番号表格納手段が出力する状態番号
の一部を受け取って前記状態番号表格納手段の表を引く
ための第1の変位を求める第1の変位表格納手段と、前
記文字部分番号作成手段が出力する第2の文字部分番号
と前記状態番号表格納手段が出力する状態番号の一部を
受け取って前記状態番号表格納手段の表を引くための第
2の変位を求める第2の変位表格納手段と、前記基底番
号表格納手段から出力される基底番号と前記第1の変位
表格納手段から出力される第1の変位と前記第2の変位
表格納手段から出力される第2の変位とを受け取って、
前記状態番号表格納手段の表を引くための状態番号表要
素番号を求めて記録する状態番号表要素番号算出手段と
を備えた文字列照合装置。 - 【請求項2】 第1の変位表格納手段が、文字部分番号
作成手段の出力する第1の部分文字番号と現在の状態番
号の一部とから第1の変位を表わす番号を引ける変位番
号表と、状態番号の一部から第1の変位の取りうる最大
値を引ける変位範囲表の2つの表を持ち、この2つの表
を引いた結果である第1の変位番号と第1の変位範囲の
組を、第1の変位として状態番号表要素番号算出手段に
出力し、第2の変位表格納手段が、文字部分番号作成手
段の出力する第2の部分文字番号と現在の状態番号の一
部とから第2の変位を表わす番号を引ける変位番号表
と、状態番号の一部から第2の変位の取りうる最大値を
引ける変位範囲表の2つの表を持ち、この2つの表を引
いた結果である第2の変位番号と第2の変位範囲の組を
第2の変位として状態番号表要素番号算出手段に出力す
る請求項1記載の文字列照合装置。 - 【請求項3】 入力文書格納手段に格納する文書中の文
字の文字番号が、1バイトコードと2バイトコードとか
らなり、文字部分番号作成手段が、2バイトコードを受
け取った場合に第1バイトの番号を0からの連続番号に
変換して第1の変位表格納手段に出力し、第2バイトの
番号を0からの連続番号に変換して第2の変位表格納手
段に出力する請求項1記載の文字列照合装置。 - 【請求項4】 基底番号表格納手段、第1の変位表格納
手段、第2の変位表格納手段、状態番号表格納手段、動
作番号表格納手段として、ランダムアクセスメモリを用
い、入力をメモリアドレスとして、そのメモリアドレス
の記憶データを出力する請求項1記載の文字列照合装
置。 - 【請求項5】 文字を表わす文字番号の列からなる入力
文書と照合条件との照合状態を表わす状態番号を1次元
の表として格納した状態番号表格納手段と、前記状態番
号表格納手段の出力する状態番号から必要な照合動作の
番号を求める動作番号表格納手段と、前記状態番号表格
納手段から出力される状態番号を受け取って前記状態番
号表格納手段の表を引くための基底番号または前記入力
文書中の着目する文字との比較用文字番号を求める基底
番号兼文字番号表格納手段と、前記入力文書中の着目す
る文字の文字番号から2種類の部分番号を求める文字部
分番号作成手段と、前記文字部分番号作成手段が出力す
る第1の文字部分番号と前記状態番号表格納手段が出力
する状態番号の一部を受け取って前記状態番号表格納手
段の表を引くための第1の変位を求める第1の変位表格
納手段と、前記文字部分番号作成手段が出力する第2の
文字部分番号と前記状態番号表格納手段が出力する状態
番号の一部を受け取って前記状態番号表格納手段の表を
引くための第2の変位を求める第2の変位表格納手段
と、前記基底番号表格納手段から出力される番号と前記
第1の変位表格納手段から出力される第1の変位と前記
第2の変位表格納手段から出力される第2の変位と前記
入力文書中の着目する文字の文字番号と前記状態番号表
格納手段から出力される状態番号とを受け取って、状態
番号が特定の範囲の場合には、前記基底番号兼文字番号
表格納手段から出力される番号を文字番号と見なして前
記入力文書中の着目する文字の文字番号と一致判定を行
ない、前記状態番号表格納手段から出力される状態番号
の一部と一致判定結果とから前記状態番号表格納手段の
表を引くための状態番号表要素番号を求め、状態番号が
それ以外の場合には、前記基底番号兼文字番号表格納手
段から出力される番号を基底番号と見なして前記基底番
号表格納手段から出力される番号と前記第1の変位表格
納手段から出力される第1の変位と前記第2の変位表格
納手段から出力される第2の変位とを組み合わせて、前
記状態番号表格納手段の表を引くための状態番号表要素
番号を求めて記録する状態番号表要素番号算出手段とを
備えた文字列照合装置。 - 【請求項6】 第1の変位表格納手段が、文字部分番号
作成手段の出力する第1の部分文字番号と現在の状態番
号の一部とから第1の変位を表わす番号を引ける変位番
号表と、状態番号の一部から第1の変位の取りうる最大
値を引ける変位範囲表の2つの表を持ち、この2つの表
を引いた結果である第1の変位番号と第1の変位範囲の
組を第1の変位として状態番号表要素番号算出手段に出
力し、第2の変位表格納手段が、文字部分番号作成手段
の出力する第2の部分文字番号と現在の状態番号の一部
とから第2の変位を表す番号を引ける変位番号表と、状
態番号の一部から第2の変位の取りうる最大値を引ける
変位範囲表の2つの表を持ち、この2つの表を引いた結
果である第2の変位番号と第2の変位範囲の組を第2の
変位として状態番号表要素番号算出手段に出力する請求
項5記載の文字列照合装置。 - 【請求項7】 入力文書格納手段に格納する文書中の文
字の文字番号が、1バイトコードと2バイトコードとか
らなり、文字部分番号作成手段が、2バイトコードを受
け取った場合に第1バイトの番号を0からの連続番号に
変換して第1の変位表格納手段に出力し、第2バイトの
番号を0からの連続番号に変換して第2の変位表格納手
段に出力する請求項5記載の文字列照合装置。 - 【請求項8】 基底番号兼文字番号表格納手段、第1の
変位表格納手段、第2の変位表格納手段、状態番号表格
納手段、動作番号表格納手段として、ランダムアクセス
メモリを用い、入力をメモリアドレスとして、そのメモ
リアドレスの記憶データを出力する請求項5記載の文字
列照合装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4161520A JP2534600B2 (ja) | 1992-06-19 | 1992-06-19 | 文字列照合装置 |
US08/077,585 US5388234A (en) | 1992-06-19 | 1993-06-17 | Finite state automation text search apparatus having two-level memory structure |
EP93304776A EP0575192B1 (en) | 1992-06-19 | 1993-06-18 | Finite state automaton text search apparatus having two-level memory structure |
DE69318343T DE69318343T2 (de) | 1992-06-19 | 1993-06-18 | Mit einem endlichen Automaten versehenes Textsuchgerät, das eine Speicheranordnung auf zwei Ebenen enthält |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4161520A JP2534600B2 (ja) | 1992-06-19 | 1992-06-19 | 文字列照合装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0675994A JPH0675994A (ja) | 1994-03-18 |
JP2534600B2 true JP2534600B2 (ja) | 1996-09-18 |
Family
ID=15736643
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4161520A Expired - Lifetime JP2534600B2 (ja) | 1992-06-19 | 1992-06-19 | 文字列照合装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5388234A (ja) |
EP (1) | EP0575192B1 (ja) |
JP (1) | JP2534600B2 (ja) |
DE (1) | DE69318343T2 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2994926B2 (ja) * | 1993-10-29 | 1999-12-27 | 松下電器産業株式会社 | 有限状態機械作成方法とパターン照合機械作成方法とこれらを変形する方法および駆動方法 |
JP3339741B2 (ja) * | 1994-01-13 | 2002-10-28 | 株式会社リコー | 言語解析装置 |
JP2927706B2 (ja) * | 1995-06-12 | 1999-07-28 | 松下電器産業株式会社 | 類似文字列の展開方法、検索方法及びそれらの装置 |
GB9524136D0 (en) * | 1995-11-23 | 1996-01-24 | Xerox Corp | Indexing a database by finite-state transducer |
US6507678B2 (en) * | 1998-06-19 | 2003-01-14 | Fujitsu Limited | Apparatus and method for retrieving character string based on classification of character |
US7308561B2 (en) * | 2003-12-12 | 2007-12-11 | Alcatel Lucent | Fast, scalable pattern-matching engine |
US7630982B2 (en) * | 2007-02-24 | 2009-12-08 | Trend Micro Incorporated | Fast identification of complex strings in a data stream |
US7966474B2 (en) * | 2008-02-25 | 2011-06-21 | International Business Machines Corporation | System, method and computer program product for translating storage elements |
JP5063780B2 (ja) * | 2008-03-27 | 2012-10-31 | 大学共同利用機関法人情報・システム研究機構 | 有限オートマトンのメモリ内データ構造、この構造のデータが格納されたメモリ、このメモリを用いた有限オートマトン実行装置 |
US8645404B2 (en) * | 2011-10-21 | 2014-02-04 | International Business Machines Corporation | Memory pattern searching via displaced-read memory addressing |
US9002772B2 (en) | 2011-11-18 | 2015-04-07 | International Business Machines Corporation | Scalable rule-based processing system with trigger rules and rule evaluator |
US8990070B2 (en) | 2011-11-18 | 2015-03-24 | International Business Machines Corporation | Computer-based construction of arbitrarily complex formal grammar expressions |
KR20140023609A (ko) * | 2012-08-16 | 2014-02-27 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 그 동작 방법 |
US11875708B2 (en) * | 2018-10-04 | 2024-01-16 | The Regents Of The University Of Michigan | Automotive radar scene simulator |
Family Cites Families (6)
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 |
US4241402A (en) * | 1978-10-12 | 1980-12-23 | Operating Systems, Inc. | Finite state automaton with multiple state types |
US4764863A (en) * | 1985-05-09 | 1988-08-16 | The United States Of America As Represented By The Secretary Of Commerce | Hardware interpreter for finite state automata |
JPH0797373B2 (ja) * | 1985-08-23 | 1995-10-18 | 株式会社日立製作所 | 文書フアイリングシステム |
JP2702927B2 (ja) * | 1987-06-15 | 1998-01-26 | 株式会社日立製作所 | 文字列検索装置 |
US5212697A (en) * | 1988-09-13 | 1993-05-18 | Ricoh Company, Ltd. | Variable length character string detection apparatus |
-
1992
- 1992-06-19 JP JP4161520A patent/JP2534600B2/ja not_active Expired - Lifetime
-
1993
- 1993-06-17 US US08/077,585 patent/US5388234A/en not_active Expired - Lifetime
- 1993-06-18 EP EP93304776A patent/EP0575192B1/en not_active Expired - Lifetime
- 1993-06-18 DE DE69318343T patent/DE69318343T2/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE69318343D1 (de) | 1998-06-10 |
US5388234A (en) | 1995-02-07 |
EP0575192B1 (en) | 1998-05-06 |
JPH0675994A (ja) | 1994-03-18 |
DE69318343T2 (de) | 1998-09-24 |
EP0575192A2 (en) | 1993-12-22 |
EP0575192A3 (ja) | 1994-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2534600B2 (ja) | 文字列照合装置 | |
US6493713B1 (en) | Dictionary and index creating system and document retrieval system | |
US5293616A (en) | Method and apparatus for representing and interrogating an index in a digital memory | |
US5995962A (en) | Sort system for merging database entries | |
EP0304302A3 (en) | Data retrieval system | |
JPH10240759A (ja) | 検索装置 | |
JPH08314966A (ja) | 文書検索装置のインデックス作成方法及び文書検索装置 | |
JP2596332B2 (ja) | データ組合せ抽出方法およびその装置 | |
JPH1173420A (ja) | 文書処理装置及び文書処理プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP3288063B2 (ja) | 可変長データの格納および参照システム | |
JP2682448B2 (ja) | 索引検索方式 | |
JPH09212523A (ja) | 全文検索方法 | |
JPH0668159A (ja) | 検索装置 | |
JP4298138B2 (ja) | 情報検索方法及びその実施装置並びにその処理プログラムを記録した記録媒体 | |
JPH0752450B2 (ja) | 辞書デ−タ検索装置 | |
JPS60211540A (ja) | デ−タ検索回路 | |
JP2931934B2 (ja) | 数値検索装置 | |
KR20030006638A (ko) | 셀 기반의 고차원 데이터 색인 장치 및 그 방법 | |
JP2839515B2 (ja) | 文字読取システム | |
JPS61141036A (ja) | デ−タ検索方式 | |
JPH0438026B2 (ja) | ||
JP2853321B2 (ja) | 二値画像情報合成方式 | |
Islam et al. | Computational complexities of the external sorting algorithm with no additional disk space | |
JP2852253B2 (ja) | データ検索装置 | |
JPS6172355A (ja) | 仮名漢字変換辞書形式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080627 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090627 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100627 Year of fee payment: 14 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100627 Year of fee payment: 14 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110627 Year of fee payment: 15 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120627 Year of fee payment: 16 |
|
EXPY | Cancellation because of completion of term |