JPH0664586B2 - 文字列照合方法 - Google Patents

文字列照合方法

Info

Publication number
JPH0664586B2
JPH0664586B2 JP62031219A JP3121987A JPH0664586B2 JP H0664586 B2 JPH0664586 B2 JP H0664586B2 JP 62031219 A JP62031219 A JP 62031219A JP 3121987 A JP3121987 A JP 3121987A JP H0664586 B2 JPH0664586 B2 JP H0664586B2
Authority
JP
Japan
Prior art keywords
state
match
character string
data
distance
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 - Fee Related
Application number
JP62031219A
Other languages
English (en)
Other versions
JPS63198123A (ja
Inventor
潮 井上
治夫 速水
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP62031219A priority Critical patent/JPH0664586B2/ja
Publication of JPS63198123A publication Critical patent/JPS63198123A/ja
Publication of JPH0664586B2 publication Critical patent/JPH0664586B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 「産業上の利用分野」 この発明は文字列中に、所定の部分文字列が複数の一致
条件のもとで存在するか否かを判定し、特に文字コード
と状態番号とをアドレスとする2次元の状態遷移テーブ
ルにより実現される有限オートマトンを利用して照合す
る文字列照合方法に関するものである。
「従来の技術」 データ処理システムの分野では、文章等の文字列データ
の集まりの中から特定の部分文字列(以下、検索キーと
呼ぶ)を含むものを検索することがしばしば必要とな
る。その部分文字列の一致条件としては、検索キーが文
字列の先頭と一致する前方一致、文字列の末尾と一致す
る後方一致、文字列と完全に一致する完全一致、文字列
中の任意の位置に含まれる任意一致等が使用される。一
般に文字列データは磁気デイスク等の電子計算機の外部
記憶装置に格納されており、検索時に中央処理装置へ1
文字ずつ直列に転送される。従つて検索所要時間の短縮
のためにはデータの転送と同時に1文字ずつ処理を行う
ことが有効である。
第4図はこのような文字列照合機構の説明図である。文
字列データは記憶装置1に格納され、文字列データは記
憶装置1から文字列照合装置2へ転送路3を経由して1
文字ずつ直列に入力される。文字列照合装置2では予め
記憶されている検索キーと入力された文字列データとを
比較照合し、一致条件を満たすと判定された時点で信号
線4に一致信号を出力する。文字列照合装置2において
比較照合を行う方法の一つとして、有限オートマトンを
用いる方法が一般に知られている。(L.A.Hollaar
"Hardware Systems for Text Information Retrieval”
ACM SIG IR 6th-Conference1983)。
第5図は有限オートマトンを用い、かつ任意一致条件を
持つ複数の検索キーのすべてについて同時に比較照合す
る方法として、特許出願昭58−211720に開示し
たものである。第5図において状態遷移テーブルが格納
されるランダムアクセスメモリ(RAM)5、一致判定
テーブルが格納されるRAM6が設けられ、RAM5及
び6から読み出すべきデータのアドレスはアドレスレジ
スタ7に保持され、そのアドレスRAM5、RAM6共
通のアドレスデコーダでデコードされる。メモリレジス
タ9,10にはそれぞれRAM5、RAM6から読み出
されたデータが格納され、メモリレジスタ10のデータ
は判別回路11に入力されて検索結果が信号線4へ出力
される。
第6図は1文字を8ビツトのコードで表現し、最大25
6状態の有限オートマトンを実現するシステムにおい
て、検索キーが「ABC」、「BCD」、「BAD」の
3つである場合のRAM5、RAM6の内容の一例を表
したものである。第6図において12,13はそれぞれ
RAM5,RAM6の1つのアドレスに格納された8ビ
ツトのデータ、14はRAM5,6のアドレスの上位8
ビツト、15はRAM5,6のアドレスの下位8ビツト
である。なお論理的にはRAM5,6の上位アドレス1
4が有限オートマトンの状態番号、下位アドレス15が
入力文字コードに対応し、16は入力文字コード15で
表現される文字を示す。またデータ12は次に遷移すべ
き状態番号、データ13は検索キーが検出されたか否か
を示すビツトマツプであり、例えば1番目のビツトがオ
ンになつていれば1番目の検索キーが検出されたことを
示す。
第7図は第6図で表されたRAM5に格納される状態遷
移テーブルの内容を状態遷移図として表現したものであ
る。第7図において17はオートマトンの状態、18は
状態遷移の方向を表わす。オートマトンの初期状態は状
態(00)であり、例えば状態(00)において入力文
字が「A」であると状態(01)へ、「B」であると状
態(03)へそれぞれ遷移し、その他の入力文字であれ
が引き続き状態(00)に留まることを示す。前の状態
が(02)、つまり「B」文字コードBが入力され(そ
の前に文字コード「A」が入力され)た状態で文字コー
ド「C」が入力されたことは第1番目の検索キー「AB
C」、つまり(01)が検出されたことが、一致判定テ
ーブルのRAM6の検索から得られる。同様にして第2
番目の検索キー「BCD」(02)、第3番目の検索キ
ー「BAD」(03)も一致判定テーブルRAM6から
検索される。
次に第5図の動作について説明する。入力文字はデータ
転送路3よりアドレスレジスタ7の下位8ビツトにセツ
トされる。アドレスレジスタ7の上位8ビツトには初期
値としてオールゼロがセツトされており、アドレスレジ
スタ7の示すアドレスに格納された8ビツトデータ、つ
まり次に遷移すべき状態番号がRAM5からメモリレジ
スタ9に、またRAM6から検索キーが検出されたか否
かを示すデータがメモリレジスタ10にそれぞれ同時に
読み出される。メモリレジスタ10の内容は判別回路1
1経由で信号線4にそまま出力され、またメモリレジス
タ9の内容はアドレスレジスタ7の上位8ビツトにセツ
トされる。以上の動作は文字列データ中のすべての文字
が1文字ずつデータ転送路3から入力されるごとに繰り
返され、第7図に示した状態遷移図に従つたオートマト
ンの動作を行うことになる。
「発明が解決しようとする問題点」 以上説明した従来の方法では、複数の検索キーのそれぞ
れについて入力された文字列データ中に含まれているか
否かを検出することはできるが、それまでどのような経
過で状態遷移を行つてきたかを識別する機構がなかつた
ため、前方一致条件の判定は不可能であり、任意一致条
件の判定のみが可能であつた。なお従来の方法において
も状態遷移テーブルの作り方を変えることにより前方一
致条件を判定することは可能であるが、その場合は前方
一致条件と任意一致条件とを別々の状態遷移テーブルと
する必要があり、アドレスレジスタ、アドレスデコーダ
等の周辺回路を含めてハードウエアを二重化しなければ
ならないという欠点があつた。
この発明の目的は、従来と同じ作り方で作成した状態遷
移テーブル及び一致判定テーブルを用いて、前方一致と
任意一致等の異なる一致条件の組み合わせを持つ複数検
索キーの判定を同時に行うことを可能とする文字列照合
方法を提供することにある。
「問題点を解決するための手段」 この発明は状態遷移テーブル、一致判定テーブルに加え
て、状態番号ごとの初期状態からの相対距離を登録した
状態距離テーブルを設け、これら3つのテーブルを1つ
のアドレスレジスタにより同時に索引し、状態距離テー
ブルの索引結果から距離情報が進んでいる場合で、任意
一致が検出された場合にそれを前方一致として出力す
る。つまり状態距離テーブルの索引より、距離情報が進
まない場合や、後退している場合は、その照合の途中の
文字に不要なものがあり、つまり最初から一致したもの
でないものとなるため、その場合は一致判定テーブルか
ら一致が検出されてもこれを前方一致とすることなく任
意一致として出力する。
従つてこの発明の従来の技術と異なる点は、状態距離テ
ーブルを索引することにより状態遷移の経過を識別して
前方一致条件を判定できるようにした点である。
「実施例」 第1図は前方一致条件と任意一致条件を同時に判定する
ことが可能なこの発明を用いた文字列照合装置の一実施
例を示したブロツク図である。第1図において第5図と
対応する部分には同一番号を付けて示してあるが、この
発明では状態距離テーブルが格納されるRAM19、R
AM19から読み出されたデータが格納されるメモリレ
ジスタ20、メモリレジスタ20の直前の内容を保持す
るデータレジスタ21、2つのレジスタ20,21の内
容の比較転送回路22、検索キーごとの一致条件種別、
即ち前方一致か任意一致かを示すデータレジスタ23、
前方一致条件が有効か否かを示すデータレジスタ24、
一致条件の種別に応じた判定を行い検索結果を出力する
判定回路25を設ける。
第2図は第6図と同一の条件下におけるRAM5、RA
M6、RAM19の内容を表わしたものである。第2図
においてRAM5、RAM6の内容は第6図と同じであ
り、RAM19の1つのアドレスに格納された8ビツト
のデータ26は、論理的にはその状態と初期状態との間
の相対的な距離データである。この相対的な距離とは、
例えば第7図における状態(00)と状態(01)との
間の距離は「1」、状態(00)と状態(02)との間
の距離は「2」である。この情報(データ)は状態が初
期状態から遠ざかる方向へ遷移しない場合、即ち前方一
致条件を満たさない場合を検出するために使用される。
つまり前方一致条件が満たされる場合は、文字コードが
入力されるごとにその状態の初期状態からの距離は順次
遠くなるか、前の状態の時の初期状態からの距離が同一
又は近くなる場合、つまり遠くならない場合はその入力
文字列は前方一致にはなり得ない。このとこを前方一致
か否かの判定のために利用する。
なお状態遷移テーブル5、一致判定テーブル6は状態番
号と入力文字コードとを結合したものをアドレスとする
が、状態距離テーブルは状態番号のみをアドレスとす
る。またこのテーブルは特許出願昭58−211720
に開示された方法による状態遷移テーブル、一致判定テ
ーブルの作成時に作業エリアとして使用されるメモリの
一部であり、作成のための特別な処理は必要としない。
次に第1図の動作について第5図と異なる部分を中心に
説明する。
初期値としてデータレジスタ21には値(00)が、デ
ータレジスタ24には前方一致条件有効のフラグがセツ
トされているものとする。入力文字がデータ転送路3よ
りアドレスレジスタ7の下位8ビツトにセツトされ、ア
ドレスレジスタ7の示すアドレスに格納された8ビツト
データがRAM5、RAM6から読み出されるのと同時
に、アドレスレジスタ7の上位8ビツトをアドレスとす
る8ビツトデータがRAM19からメモリレジスタ20
に読み出される。次に比較転送回路22においてメモリ
レジスタ20とデータレジスタ21との各内容が比較さ
れ、メモリレジスタ20の内容の方が大きければビツト
0の信号を、そうでなければ(前方一致の可能性がない
場合)ビツト1の信号を判別回路25に対して出力し、
さらにメモリレジスタ20の内容をデータレジスタ21
に転送する。判別回路25ではまずモリレジスタ10の
ビツトが1になつている検索キーについて、任意一致に
設定されているならば無条件に、前方一致に設定されて
いるならば、つまりデータレジスタ24の値が前方一致
条件有効の場合のみ検索キー検出と判別し、結果を信号
線4に出力する。次に比較転送回路22の出力がビツト
1であればデータレジスタ24に前方一致条件無効のフ
ラグをセツトする。これらの動作は文字列データ中のす
べての文字が1文字ずつデータ転送路3から入力される
ごとに繰り返される。
以上説明した動作から明らかなように、状態遷移の過程
で状態が初期状態の方へ戻つたり、先の状態へ進まなか
つた場合には、判別回路25においてそれ以後前方一致
条件を持つ検索キーを無効化するため、検索キーごとに
任意一致と前方一致が混在している場合にも、任意一致
条件のみの場合と同一の状態遷移テーブルを使用して正
しい判別結果の出力が可能になる。
なおデータレジスタ24及び判別回路25の構成には種
々の方法が考えられ、例えばデータレジスタ24に検索
キーごとのビツトを持ち、判別回路25でメモリレジス
タ10とデータレジスタ24のビツトごとの論理積の値
をそのまま信号線4に出力する方法も可能である。
第3図は前方一致、任意一致に加えて後方一致を同時に
判定することを可能とするこの発明の第2の実施例あ
り、判定回路27は判別回路25の判別論理を拡張した
回路、信号線28は文字列データの最終文字がデータ転
送路3から入力されたことを示す信号線である。第3図
の動作は判別回路27の動作のみが第1図の場合と異な
る。即ち判別回路27ではメモリレジスタ10のビツト
が1になつている検索キーについて、任意一致ならば無
条件に、前方一致ならばデータレジスタ24が前方一致
条件有効の時のみ、後方一致ならば信号線28が最終文
字入力の時のみ検索キー検出と判別する。前方一致と後
方一致の組み合わせ、即ち文字列データと完全に一致す
る条件を持つ検索キーについても全く同様に処理が可能
である。
「発明の効果」 以上説明したように、この発明は状態遷移テーブル、一
致判定テーブル、状態距離テーブルを設け、これら3つ
のテーブルを同期して索引し、状態距離テーブルの値に
よつて前方一致条件を満足するか否かを識別するもので
あるから、任意一致のみを考慮して作成した状態遷移テ
ーブルを用いた単一の有限オートマトンの実現回路によ
り、前方一致と任意一致条件、前方一致と後方一致条
件、完全一致と任意一致条件等の複数の一致条件を持つ
すべての検索キーについて同時に照合できるという利点
がある。
【図面の簡単な説明】
第1図はこの発明を用いた文字列照合方法を示すブロツ
ク図、第2図は第1図におけるランダムアクセスメモリ
の内容の説明図、第3図は第1図の方法に後方一致条件
の検出機能を付加した方法のブロツク図、第4図は文字
列照合機構を示すブロツク図、第5図は有限オートマト
ンを用いた従来の文字列照合方法を示すブロツク図、第
6図は第5図におけるランダムアクセスメモリの内容の
説明図、第7図は第6図の状態遷移テーブルに対応する
状態遷移図である。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】固定長のコードで表現される文字によつて
    構成された文字列中に、所定の部分文字列が存在するか
    否かを判定するため、文字コードと状態番号をアドレス
    とする2次元の状態遷移テーブルと、文字コード及び上
    記状態番号をアドレスとする複数の部分文字列のそれぞ
    れに対応する番号を登録した一致判定テーブルとにより
    実現される有限オートマトンを利用して任意一致を検出
    する文字列照合方法において、 上記状態番号ごとの初期状態からの距離を登録した状態
    距離テーブルを設け、これら3つのテーブルを同期して
    索引し、 上記状態距離テーブルの索引結果から距離情報が進む場
    合に、上記任意一致を前方一致として検出することを特
    徴とする文字列照合方法。
JP62031219A 1987-02-13 1987-02-13 文字列照合方法 Expired - Fee Related JPH0664586B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62031219A JPH0664586B2 (ja) 1987-02-13 1987-02-13 文字列照合方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62031219A JPH0664586B2 (ja) 1987-02-13 1987-02-13 文字列照合方法

Publications (2)

Publication Number Publication Date
JPS63198123A JPS63198123A (ja) 1988-08-16
JPH0664586B2 true JPH0664586B2 (ja) 1994-08-22

Family

ID=12325321

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62031219A Expired - Fee Related JPH0664586B2 (ja) 1987-02-13 1987-02-13 文字列照合方法

Country Status (1)

Country Link
JP (1) JPH0664586B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4882699A (en) * 1988-09-19 1989-11-21 International Business Machines Corp. Communications network routing and management system
JPH04348469A (ja) * 1990-07-23 1992-12-03 Hitachi Ltd 文字列検索装置およびその方法

Also Published As

Publication number Publication date
JPS63198123A (ja) 1988-08-16

Similar Documents

Publication Publication Date Title
US5319762A (en) Associative memory capable of matching a variable indicator in one string of characters with a portion of another string
US6000008A (en) Method and apparatus for matching data items of variable length in a content addressable memory
US4450520A (en) Method and system for matching encoded characters
US5051886A (en) System for character stream search using finite state automaton technique
JP3141866B2 (ja) 連想記憶装置及び連想メモリ検索方法
US4254476A (en) Associative processor
JPH024026B2 (ja)
EP0097818B1 (en) Spelling verification method and typewriter embodying said method
JPH0664586B2 (ja) 文字列照合方法
JP3141428B2 (ja) 数値検索装置およびその方法
JPH0315221B2 (ja)
JP2880199B2 (ja) 記号列検索方法および検索装置
JPH0746362B2 (ja) 文字列照合方法
JPH0713666A (ja) データ処理装置
EP0468402B1 (en) Character string retrieving system and method
JPH04308B2 (ja)
JP2825009B2 (ja) 記号列検索方法および装置
JPH04279973A (ja) 文字列比較方式
JPS5853791B2 (ja) 文字認識装置
JPS63187334A (ja) 文字列パタ−ンマツチング装置
JP3596696B2 (ja) 情報検索装置
JP2921119B2 (ja) 数値検索装置および数値検索方法
JPH06259481A (ja) 同一文字種最長一致照合機能を備えた文字列照合方法および装置
JP2773657B2 (ja) 文字列検索装置
JPS5820075B2 (ja) パタ−ン認識装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees