JPS63311530A - 文字列検索装置 - Google Patents

文字列検索装置

Info

Publication number
JPS63311530A
JPS63311530A JP62147041A JP14704187A JPS63311530A JP S63311530 A JPS63311530 A JP S63311530A JP 62147041 A JP62147041 A JP 62147041A JP 14704187 A JP14704187 A JP 14704187A JP S63311530 A JPS63311530 A JP S63311530A
Authority
JP
Japan
Prior art keywords
state
character
fail
transition
searched
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.)
Granted
Application number
JP62147041A
Other languages
English (en)
Other versions
JP2702927B2 (ja
Inventor
Hisamitsu Kawaguchi
川口 久光
Kanji Kato
加藤 寛次
Hiromichi Fujisawa
浩道 藤澤
Masaaki Fujinawa
藤縄 雅章
Atsushi Hatakeyama
敦 畠山
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP62147041A priority Critical patent/JP2702927B2/ja
Priority to US07/205,923 priority patent/US5051886A/en
Publication of JPS63311530A publication Critical patent/JPS63311530A/ja
Priority to US07/761,442 priority patent/US5278981A/en
Application granted granted Critical
Publication of JP2702927B2 publication Critical patent/JP2702927B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; 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/912—Applications of a database
    • Y10S707/917—Text
    • 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
    • Y10S707/99933—Query processing, i.e. searching
    • Y10S707/99936—Pattern matching access

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)
  • Document Processing Apparatus (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は情報処理システム、特に情報検索システムにお
ける検索方式に係り、被検索文字列中に複数の文字列の
集合が存在するか否かを一括して判別するためのもので
ある。データベース、文書ファイリングシステム、およ
びワードプロセッサなどにおける検索に利用され得るも
のである。
〔従来の技術〕
近年1文献情報や特許情報などの2次情報(書誌情報)
のみならず、1次情報(本文)をも含む大規模データベ
ース・サービスの重要性が増している。このようなデー
タベースの情報検索では。
従来、キーワードや分類コードによる方法が用いられて
きている。しかし、この方法では数十性から数百件まで
にしか絞り込めないため、検索者が最終段階で直接本文
を読んで内容を確認しなければならないという効率上の
問題がある。また1分類体系自体が年月と共に変化する
ため、常にキー9−ドや分類コードを更新しなければな
らないという問題も生じてくる。更に、キーワード付け
(インデキシングと言う)には時間がかかるため新たな
文書はバッチ処理によりかなりの量をまとめて登録する
。そのため、検索できる情報は常に一定期間の遅れを持
つという問題がある。
これらの問題に対処する一つの方法として、検索者が自
由なキーワードに基づいて文書の本文を直接参照して内
容を検索できる全文検索システムが考えられている。
一方、このような全文検索システムを日桁した文字列検
索装置がいくつか機素されている。その代表的な構成を
第1図に示し、まず、その内容について説明する。
文字列検索装置1におい′C1検索制御手段101は、
検索装置全体の制御と、ホストコンピュータとの通信を
行う、すなわち、ホストコンピュータから送られてくる
検索要求201を受は付け、これを解析し、文字列照合
手段200と複合条件判・別手段103へ検索情報20
2として送出する。
また、検索制御手段101はディスク制御手段104を
制御して、文字列記憶手段105に格納される文字列デ
ータ204を文字列照合手段200へ送り込む。
文字列照合手段200は、入力文字データ204の中に
検索要求に合致するものがあるかどうかを調べ、もし該
当するものがあれば、文字列を識別する情報205を複
合条件判別手段103へ出力する。複合条件判別手段1
03は該文字列識別情報205に基づいて検索要求中に
指示された相互の位置関係などの複合条件が満足するか
否かを調べる。複合条件が満足する場合には、該当する
文書へのポインタ情報や文書内容のテキストデータを検
索結果206としてホストコンピュータへ返送する。
上述した文字列検索装置1の要とする文字列照合手段2
00における文字列の照合方式としては、有限オートマ
トンを用いて複数の文字列を1回の走査で検索する方法
が知られている。その代表的な方式としては、以下に説
明する2つの方法が知ら九でいる。(ニー、ブイ、二一
ホ アンド エム、ジエイ、コラツシツク:“エフイシ
ャントストリング マツチング、コミュニケーションズ
ニーシーエム、18巻、第6号、1975年。
A、V、Aho and M、J、Corasick 
: “Efficient StringMatchi
ng”、 CACM、VOL、18.Nci6,197
5) −まず、第1の方式(以後、方式1と呼ぶ)につ
いて第2図を用いて説明する。同図は、文字列デ−タの
中から、”AT3X″、  “CABY”、及び“DC
ABZ”の3つの文字列を検索する場合の有限オートマ
トンの状態遷移図である。ここで、円形はオートマトン
の状態を、矢印は状態遷移を表している。各矢印に付記
されたアルファベットはこれに対応した状態遷移が起き
る入力文字を示す、矢印403は初期状態への遷移を示
している。
各円形の内部に記された数値は、同状態の状態番号を示
す、方式1の特徴は起こり得る全ての状態遷移をオート
マトンに表現する点にある。したがって、各状態から状
態Oへの遷移も存在するが。
図が複雑になるので、これら状態O以外の状態から状態
0への遷移に関しては矢印の記載を省略している。
次に、方式1による照合動作について説明する。
このオー・トマトンの初期状態は状1f/AOであり、
ここから状態遷移が始まる。状sOでは、入力文字が、
′A”であると状態1へ遷移し、′C”ならば状態4へ
、′D”ならば状態8へ遷移する。状態Oにおいて“A
”、“B”、及び“C”以外の文字が入力されてきた場
合は状態Oに戻る。状態1についても同様に、入力文字
が′B“ならば状態2へ、′C″ならば状態4へ遷移し
、u Dj+ならば状態8に遷移し、′A″ならば状態
1に再遷移し、それ以外は状態0へ戻る。状態2におい
て。
入力文字が“X”ならば、オートマトンの終点である状
態3へ移り、”ABX”という文字列が検索されたこと
になる。以下、他の状態遷移についても同様である。
このように、方式1は全ての場合の入力文字の状態遷移
をオートマトンで表す方式である。したがって、オート
マトンの状態遷移の数が多くなり、オートマトンの作成
時間が極めて長くなるという問題がある。この方式を実
現するハードウェアにライては、特開昭60−1050
39.特開昭60−105040に開示されている。
次に、第2の方式(以後、方式2と呼ぶ)について第3
図と第4図を用いて説明する。第3図のオートマトンは
、第2図と同様に1文字列データの中から、”ABX”
、”CABY”、及び“DCABZ”の3つの文字列を
検索するためのものである。第4図は、このオートマト
ンに示されてない文字が入力された場合の遷移先を示す
フェイルテーブルの説明図である。
以下、同方式の動作について説明する。初期状態は状態
Oである。この例の場合、入力文字が“A ”であると
状flA1へ遷移し、′C”ならば状態4.′D”なら
ば状態8へ遷移する。もし、ここでこれら以外の文字が
入ってきた場合は状態Oに戻る。一方、状態lでは入力
文字が“B”ならば、状態2に遷移する。ここで、もし
、同オートマトンに記述されていない“B”以外の例え
ば“D ”が入力されたときは1水力式では「フェイル
」したと言い、第4図のフェイルテーブルを参照する。
フェイルテーブルには現在の状態番号に対して再試行す
べきフェイル先の状態番号が格納されている。この場合
、現在の状態番号1に対応するフェイル先の値Oを得て
状sOへ遷移する。
そして、該入力文字“D″′について再試行することに
より状ff!IA8へ遷移する。このような機能をフェ
イル機能と呼んでいる。
方式2ではこのフェイル機能を導入することにより、第
3図に示すように方式1(第2図)に比べて、大幅に遷
移の数を削減している。しかしながら、方式2には次の
ような問題がある6例えば。
第3図のオートマトンにおいて、入力文字列“D CA
 B X ”が入力された場合を考える。この場合、オ
ートマトンの状態は、0→8→9→10→11→6→2
→3のように遷移し1文字列“ABX”が検索されるこ
とになる。この場合5、状態11から状態2までの2つ
の遷移はフェイルによる遷移であり、入力“x″11文
字合処理にフェイル機能が2回も使用されたことになる
。
したがって本方式の場合、有限オートマトンの状態遷移
図が簡単になるため、オートマトンの作成時間は短くな
る利点があるが、フェイルが発生する場合には処理速度
が遅くなる欠点がある。さらに、フェイルは一つの入力
文字に対して繰り返して複数回発生することがある。し
たがって、そのフェイルの発生回数により単位時間当た
りの処理文字数が異なってくる。その結果、一定時間間
隔で入力される被検索文字列に対し、処理速度を整合さ
せるためのバッファや、同期制御8!摺等に必要になる
ため、装置や制御が複雑になるという問題がある。
〔本発明が解決しようとする問題点〕
従来の方式の、問題点をまとめると、以下のようになる
。
(1)方式1は全ての状態遷移をオートマトンで直接表
すためオートマj・ンの作成時間が長くなるという問題
がある。
(2)方式2はフェイル機能を用いているためオートマ
トンの作成時間は短くなるが、フェイルが発生すると処
理速度が遅くなり、さらに、単位時間当たりの処理文字
数が異なるという問題がある。
したがって、本発明の目的は、以上の問題点を解決して
、オートマトンの作成時間が短く、かつ回路制御方式が
単純になる文字列検索方式を提供することにある。
〔問題点を解決するための手段〕
上記の問題点は、方式2において1文字当たりのフェイ
ル機能の使用回数に上限を設け、この上限を超えるフェ
イル機能は方式1と同様に、オートマトンで表すように
することにより解決できる。
〔作用〕
本発明の文字列検索方式においては、1文字当たりのフ
ェイル機能の使用回数に上限を設け、この上限を超える
フェイル処理は方式1と同様に。
オートマトンで表すことにより、オートマトンの作成を
方式2と同程度の時間に収めることができ。
また、方式1と同様に単位時間当たりの処理文字数を一
定にすることが可能となり、入力部が簡単で制御しやす
い文字列検索装置が実現できる。
以下、本発明方式の基本原理について説明する(以後、
方式3と呼ぶ)、第5図は本発明の基本原理を説明する
ための有限オートマトンの状態遷移図である。
同図のオートマトンは第3図に示したオートマトンと同
様に“ABX”、“CABY”、および“DCABZ”
の3つの文字列を検索するためのものである。第6図に
、同オートマトンに対応するフェイルテーブルを示す、
この例では、フェイル機能の使用回数の上限を2回に限
定している。
第51ii+1に示したオートマド、ン及び第6図のフ
ェイルテーブルはフェイル回数を2回までに限定するた
めに、フェイル回数が3回以上になる状態10と状態1
1に関して、そのフェイル先となる状態5と状@6に遷
移先の追加あるいはフェイル先の変更が行なわれている
。すなわち、状態5に関しては、フェイル先状m+番号
が状態0に変更される。
また、状態6に関しては、状態3へ文字11 X ’#
で遷移する新たな遷移パスが付加されると共に、フェイ
ル先状態番号が状態0に変更されている。
このオートマトンは、例えば以下に示すような方法で作
成することができる。まず、従来方式2を用いて、第3
図に示したオートマトンと第4図に示したフェイルテー
ブルを作成する。次に、第4図のフェイルテーブルを調
べ、フェイル回数が2回を超える状態10 j;よび状
態11について、フェイル回数を限定する処理を加える
。すなわら、この場合には、状態10と状jllllの
第1回目のフェイル先である状態5と状s6に着目する
。そして、状態5と状態6のフェイル回数を1回に限定
する処理を加える。まず、状態6に関しては。
状態7からの遷移起動文字“1Y”とそのフェイル先で
ある状態2からの遷移起動文字11x#が異なるので“
Y”による状態3への遷移パスを新たに追加する。また
、フェイルテーブルに関しては、フェイル先状態番号を
状態2から初期状態番号のOへ変更する6次に、状態5
に関しても同様の処理を行なう、この場合には、状態6
への遷移起動文字“B″とそのフェイル先状態1からの
遷移起動文字tt B”が等しい、したがって、状態5
への新たな遷移パス付けは行なわない、また、フェイル
先状態番号は1から初期状態番号のOに修正する。この
ような処理を、フェイル回数が2回を超える状態全てに
ついて繰り返すことによって、本発明におけるオートマ
トンが作成される。
フェイル回数を限定したオートマトンの作成方法に関し
ては、上に述べた以外の方法もある。この方法では、フ
ェイル回!&を2回までに限定したオートマトンが第7
図に示すようになり、フェイルテーブルは第8図に示す
ようになる。この場合も前述の方法と同様に、まず従来
方式2を用いて第3図に示すオートマトンと、第4図に
示すフェイルテーブルを作成する。そして、フェイル回
数が2回を超える状態10と状態11に関し、そこから
の遷移起動文字に含まれない文字が、そのフェイル先で
ある状態5と状16からの遷移起動文字として存在する
かどうかを調べるつもし存在する場合には、その遷移起
動文字による)°−移を着目状態の状態10あるいは状
態11に付は加える。
これと同時に、フェイルテーブルの遷移先状態番号は、
次のフェイル先、すなわち第2回目のフェイル先状態番
号へ変更する。この場合には、状態11から状態7への
文字“Y”による遷移が新たに付は加えられると共に、
フェイルテーブルに関しては状MA10のフェイル先が
状態1に、状態11のフェイル先が状態2に書き直され
ることになる。
以上、本発明におけるオートマトンおよびフェイルテー
ブルの作成方法を、フェイル回数を最大2回に限定する
場合を例にして説明したが、フェイル回数を1回に限定
する場合についても、また、フェイル先を状態Oに限定
しない場合でも全く同様の操作で実現できる。
以上の説明から明らかなように、このフェイル回数に上
限を設けたオートマトンの作成には、それほど複雑な処
理を必要とせず、またこの処理を要する箇所も、検索対
象となる文字列の相互関係に依存はするものの、それほ
ど多くはならない。
したがって、全体のオートマトン作成時間も、従来方式
2より多少長くなるものの、従来方式1に比較すれば大
幅に短縮される。
この本発明におけるオートマトンの作成時間の具体例に
ついて、第9図に示す。測定条件は、以下の通りである
。
(1)文字コード: KE I Sコード、およびEB
CDIKコード(KEISコードは漢字を含めた文字を
2バイトのコードで表わすための日立製作所の標準文字
コードである。) (2)文字列長:10バイト/語 (3)プログラム言1a: I”ORTRAM(4)計
算機:32ビツトCPU ただし、この場合の本1明の方式3におけるオートマト
ンは、フェイル回数を1回に限定したものとしている。
したがって、フェイル先としては5初期状態になること
になる。
本図に示されるように、キーワード数が200個の場合
を取ると、方式1.方式3、および方式2はオートマト
ン作成に、それぞれ1500ms。
470m5、および360m5を要する。
方式3は方式1に比較して約3分の1の作成時間となっ
ている。これは、方式3がフェイル処理を導入して不一
致時の遷移先を一括処理しているのに対して、方式1で
は各遷移状態について全ての遷移先を求める処理を行っ
ているためである。
方式3が方式2に比較して処理時間が約30%増加して
いるのは、状態0以外にフェイルするものを、全てオー
トマトンでその遷移を記述するための処理が追加されて
いるためである。
このように、本発明によれば、オートマトンの作成時間
が短く、かつ、単位時間当たりの処理文字数を一定にす
ることにより、入力部が簡単で制御しやすい文字列検索
装置が実現できるようになる。
〔実施例〕
以下1本発明の原理を用いた文字列検索装置の実施例に
ついて述べる。
まず、第1の実施例である方式3−1について説明する
。本方式は、フェイル先を一つに限定せず、複数個設け
る必要がある場合に適用される方式である。すなわち1
例えば、EBCDIKコードとKEISコードが混在し
ている文字列を検索する場合などのように、複数のフェ
イル先を必要とする際に有効となる。例えば、EBCD
Iにコードで表現された文字“S60”とKEISコー
ドで表現された文字列“昭六十″′を検索する場合につ
いて説明する0文字列“Sho”はEBCDIKコード
で(F2F6FO)と、また文字列“昭六十”はKE 
I Sコードで(flEBccFBBBDBD)と表す
される。したがって。
これらを検索するための本発明を用いた有限オートマト
ンは第10図のよ−)に作成される。
矢印に付記されたアルファベットは、これに対応した状
態遷移を引き起こす入力文字コードを示している。ここ
で、 EBCDIにコードがKEISコードへの切り替
えコート5HIFT−INは(OA42)で、KEIS
コードからERCI)IKコードへの切り替えコード5
HIFT−OUTは(OA41)で表わされ、それらは
状態1→状態2→状態4の状態 4遷移、および状態4
 →状1.i 3−s状m 1 (7)状jl!、1i
+!!8を引き起こす、また、初期入力コードはEBC
I)IKコードで表わされているものとしている。
したがって、文字列“S60”が入力されてきた場合に
は、初期状態1から、状態6.状態7゜状態8への順に
遷移し、最終端の状態8で被検索文字列中における文字
列“S60”の存在が検出されることになる。また、5
HIFT−INコードに引き続いて“昭六十″が入力さ
れてきた場合の状態遷移は、1→2→4→9→10→1
1→12→13→14と順番に遷移し、最終端オートマ
トン状態14で被検索文字列中における文字列パ昭六十
”の存在が検出されることになる。
この場合、例えば“861 ″(E2F6F1)という
文字列が入力された場合には、状7!11→状fIA6
→状m7と遷移した後1文字“1″の入力時に、状態1
ヘフエイルし、ここで該入力文字“1″に対する照合処
理を再度組り返す必要がある。また。
KEISコード入力モードで゛昭和六十′″(BEEC
CFC2CFBBBDBD)という文字列が入力された
場合には、状態11で“和″のローバイトコード(C2
)が入力された時点で、状態5ヘフエイルし、その後状
態4へ遷移する。一方、゛′昭六−″(BEBCCFB
BBOIIIC)という文字列が入力された場合は、状
態12で−″のハイバイトコード(BO)、。
で−星状MA4にフェイルして、状jl15に遷移し、
・・。
ここから次に続く“−”のローバイトコード(17C)
・で状態4に遷移する形になる。ここで、状態5がら状
s4への遷移は、ハイバイトコードで不一致が検出され
たKEISコードのローバイトコードを処理対象から除
外し1次の文字コードの処理に移行する時のバイト調整
を行うためのものである。
すなわち、状態1はEBCDIKコードに対応したフェ
イル先であり、状態4はKEISコードのローバイトコ
ードでのフェイル先で、状!lA5はKEISコードの
ハイバイトコードでのフェイル先である。
このように、E口CDIKコードとKEISコードが混
在している文字列を検索するオートマトンを簡単に記述
するためには、フェイル先状態として、状態1.状態4
.および状態5の3箇所が必要となる。 このように、
フェイル先を複数持った給酸の実施例である方式3−1
のブロック図を第11図に示す。
文字列記憶手段105から読み出された文字列301は
1文字ずつレジスタ211に格納される。
レジスタ211から出力される文字コード:102は1
本発明によるオートマトンの′i!1移表がイ、%納さ
れている状態遷移テーブル220にアドレス情報として
入力される。状態遷移テーブル220では現在の状態番
号(以後、現状態番号と呼ぶ)305と文字コード30
2から次に遷移すべき遷移先状態番号(以後、次状態番
号と呼ぶ)303を出力する。現状態番号の初期値とし
ては初期状態番号を設定しておく、フェイルテーブル2
71には、フェイルが発生した場合に遷移すべきフェイ
ル先状態番号が、現状態番号に対応して格納されている
。状態遷移テーブル220とフェイルテーブル271に
は、それぞれ第12図に示した状’M”>M移表と第1
3図に示したフェイル先状態番号表が格納される。これ
らは、第10図のオートマトンに対応したものである。
フェイル検出器230は、状態遷移テーブル220の出
力である第12図に示した次状態番号303と現状S番
号305からフェイルの発生を検出すると共に、フェイ
ル検出時にはレジスタ211への新たな文字入力を待機
させる。フェイル検出器230では現状態番号305が
Oでなく、かつ遷移先状態番号303がOの場合にフェ
イルが発生したものと見なす、セレクタ240は、フェ
イルが発生しない場合次状層番号303を選択し、フェ
イルが発生した場合フェイル時の遷移先状態番号である
フェイル先状態番号308を選択し、レジスタ250へ
出力する。セレクタ240から8力された次状態番号は
レジスタ250に格納され、現状態番号305として出
力される。レジスタ211は通常(フェイルが発生しな
いとき)は、レジスタ250と同期して文字列データを
取り込むが、フェイルが発生したときは文字列データを
保持し、フェイルが回復するまで待つことになる。照合
結果テーブル260には文字列の終点となるオートマト
ンの状11(第10図では状態8.状態14)に対応し
て各文字列を識別するための特定のコード′が格納され
ている。
第14図に第10図のオートマトンに対応した照合結果
テーブル260の内容を示す、O以外の内容が文字列番
号を表している。すなわち、状態番号に対応した該文字
列番号がO以外のとき照合結果として複合条件判別手段
103へ送られる。
以上の動作が、第1(lに示したオートマトンを実行す
る形で、入力文字列を構成する各文字ごとに繰返し行わ
れることにより検索処理が実現される。
このように本実施例によれば、フェイル回数を1回に限
定した複数のフェイル先を持たせることにより、EBC
DIKコードとKEISコードの混在している文字列の
検索が比較的簡単なオートマトンを用いて、比較的小規
模な回路構成で実現できるようになる。
次に、第2の実施例である方式3−2について説明する
0本方式は方式3−1のフェイルテーブル271をコン
パクトにするためのものである。
方式3−1では、処理文字コードがEBCDIKコード
か、あるいはKEISコードのハイバイトコードかロー
バイトコードかによって、それぞれフェイル先状態が3
つの状態に分かれている。そのため、フェイルテーブル
には各文字コードに対応した全ての状態にこの3つのフ
ェイル先状態番号を重複して記す形になっている。そこ
で、文字コードの[11によってフェイル先状態を選択
できるようにすれば、この重複を省くことができ、フェ
イルテーブルのサイズを小さくすることができる。この
方法の一実施例を第15図で説明する1文字コード判別
器290は文字コードの種類に応じて異なるコードを出
力し、フェイルテーブル273はそのコードにしたがい
フェイル先番号308を出力する0文字コード判別器2
90ではEBCDIKコードの場合Oを、KEISコー
ドのハイバイトコードでは1を、ローバイトコードでは
2を出力する。
フェイルテーブル273では1文字コード判別器290
の出力が0のとき状態1を、1のとき状態4を、2のと
き状態5をフェイル先状態番号308として出力するよ
うに設定しておく、このように設定しておけば、t!B
CDIKコードおよびKEISコードの文字列が入力さ
れても、第10図に示したオートマトンにしたがって、
状態遷移させることができる。
このように本実施例によれば、小規模のフェイルテーブ
ルで複数の文字コードが混在する文字列の検索を行う文
字列検索”、ii’iが実現できる。
次に、第3の実施例である方式3−3について説明する
0本方式も、方式3−1と同様にフェイル先を一つに限
定せず、複数個設ける必要がある場合に適用される方式
である。方式3−1ではフェイルが発生したときに、状
態処理に2サイクル必要となるという問題がある0本方
式はフェイルが発生した場合でも状態処理を1サイクル
で可能とするためのものである。第16図に本方式を実
現するためのハードウェアのブロック図を示す。
本方式は、フェイル時のフェイル先状態番号:108が
登録されたフェイルテーブル271とフェイル処理専用
の状態遷移テーブル221を、状態遷移テーブル220
とフェイル検出器230に付加した構成としている。こ
のフェイル処理専用の状態遷移テーブル221の内容は
1本来の状態遷移テーブル220の内容と全く同じもの
である。このような構成にすることにより、フェイルが
発生した場合にでも、状態遷移を1サイクルで処理でき
るようになる。すなわち、入力文字コードに対応する状
態遷移テーブル220を参照した次状態番号303の読
み出しと並行して、フェイルテーブル271からの現状
態番号305に対するフェイル先状態番号308の読み
出しと、このフェイル先状態番号308に基づいた状態
遷移テーブル221からのフェイル後の遷移先状態番号
(以後。
フェイル後状態番号と呼ぶ)304の読み出しを同時に
行う、そして、現状態番号305の読み出しの結果、・
フェイルが検出された場合に、セレクタ240で出力6
号を既に読み出しが終了している遷移先状態番号304
に切り替えるというものである。
このように本実施例によれば、フェイルが発生した場合
でも、1入力文字コードに対する状態遷移を1サイクル
で処理できるようになる。
次に、第4の実施例である方式3−4について説明する
1本方式もまた、方式3二1と同様にフェイル先を一つ
に限定せずに複数個設ける必要がある場合に適用される
方式である。上述した第3の実施例である方式3−3で
は、第1の実施例である方式3−1における問題点、す
なわちフェイル発生時の遷移処理に2サイクルを要する
という問題を解消してはいるものの、状態遷移テーブル
を2面持たなければならないという欠点がある。
本方式は方式3−3におけるフェイルテーブルをなくす
ことによって5回路規模を少しでも小さくするためのも
のである。第17図に本方式を実現するためのハードウ
ェアのブロック図を示す。
本方式は、方式3−1におけるフェイルテーブル271
と状態遷移テーブル221を一つにまとめ、これをフェ
イル処理専用の先行フェイルテーブル274として設け
たものである。したがって、本フェイルテーブル274
の内容としては、第12図に示した方式3−1の状態遷
移テーブルにおいて、各状態番号に対応した内容を、第
13図に示したフェイル先の状態番号に対応する内容で
置き換えたものになる。この結果、方式3−3における
フェイルテーブル271は不要となる。
このように本方式によれば、フェイルの発生にかかわら
ず、全ての状態遷移が1サイクルの間に完了できると共
に、方式3−3に比較して、フェイルテーブル271の
分だけ回路規模を小さくすることができる。
′  次に、第5の実施例である方式3−5について説
明する。前述した方式二3−4では、方式3−3に比較
して回路規模が小さくなってはいるものの、状態遷移テ
ーブル220と同じ大きさの先行フェイルテーブル27
4を持つことになる。したがって、方式3−1や方式3
−2と比較すると約倍近い回路規模にならざるを得ない
、これは、方式3−4で先行フェイルテーブル内に全て
の状態番号において、3種類の処理文字コードに対応し
たフェイル後のフェイル後状態番号を重複して格糖して
いるためである0本方式は、この重複部分を削除するこ
とにより、先行フェイルテーブルを小さくしようとする
ものである。
この方式を実現するためのハードウェアのブロック図を
第18図に示す1本方式では、前述した方式3−2に用
いた文字コード判別器290を採用し、入力文字コード
の種別で先行フェイルテーブル275のフェイル先を切
り替えて、処理文字コードに応じたフェイル後状態番号
番読み出す形にしている。このように本実施例によれば
、フェイル発生時にも1サイクルで遷移処理を完了する
ことができ、かつ、その制御回路の規模も、方式3−1
や方式3−2とほぼ同じ程度゛まで小さくすることがで
きる。
次に、第6の実施例である方式3−6について説明する
0本方式はフェイル先を初期状態に限定できる場合に適
用される方式である。例えば、単一の文字コードで構成
される文書を検索する場合には、フェイル先を一つにま
とめることができる。
更に、これに加えて処理速度を最大にするためにフェイ
ル回数を1回に限定すると、このフェイル先としては、
必然的に初期状態Oとなる。したがって、前述した方式
3−5における文字コード判別器290も不要となり、
かつ、先行フェイルテーブル295もその内の1状態分
となることになる。
本方式に用いるフェイル回数を1回に限定したオートマ
トンとしては第19図に示したものになる。これは第3
図に示したオートマトンと同様に、”ABX” 、”C
ABY” 、および”D CA B Z”の3つの文字
列を検索するためのものである。このオートマトンは本
発明の原理説明において述べた方法を用い、フェイル回
数を1回に限定することによって作成することができる
。第3図のオートマトンと比較すると、状態6からその
フェイル先である状7!lI2における遷移起動文字“
X”による状態3への遷移パスと、状$11から状態3
への遷移起動文字″X”による遷移パス、および。
状態11から状態7への遷移起動文字“Y”による遷移
パスが付は加えられた形になる。
本オートマトンを実行する回路の一実施例のブロック図
を第20図に示す0本方式では、フェイル先を状態Oに
限定しているため、先行フェイルテーブル270には状
態遷移テーブル220の状態0で示される内容を格納す
ることになる。第19図に示したオートマトンに対応す
る状態遷移テーブル220の内容を第21図で示す0本
方式では、前述した方式3−3.方式3−4、および方
式3−5と同様に、フェイル時の遷移先状態番号の読み
出しを先行して、次状態番号の読み出しと並行させるこ
とにより、フェイル発生時にも1サイクルで状態遷移を
処理することができる。また、回路規模としても状態遷
移テーブル220の1状態分を先行フェイルテーブル2
70として持つだけで済むため、比較的小規模に収める
ことが可能となる。
次に、第7の実施例である方式3−7について説明する
0本方式も、前述した方式3−6と同様に、フェイル先
を一つに限定できる場合に適用される方式である。方式
3−6ではフェイル処理を先行して行うために、専用の
先行フェイルテーブル270を設け、全ての状態遷移処
理を1サイクルで済ませるようにしている。しかし、も
し、状態遷移処理が2サイクルに渡ることが許容できる
場合には、この先行フェイルテーブル270を取り去る
ことができる。すなわち、本方式は、先行フェイルテー
ブルを削除することによって、更に回路規模を小さくし
ようというものである。第22図に本方式を実現するた
めのハードウェアのブロック図を示す0本方式の場合の
フェイルテーブルとしては、状態遷移テーブルの状態番
号がOの部分に相当するものどなるため、状態遷移テー
ブル220の初期状態の部分を兼用することにしている
。
したがって、フェイルが検出された場合には、状態番号
出力用のレジスタ251をクリアして初期状態番号0に
セットし直し、ここで再び入力文字コード302の照合
を行うことになる。つまり。
本方式においてはフェイルが発生した場合、状態遷移処
理が2サイクルに渡ることになる。また。
レジスタ211は通常(フェイルが発生しないとき)は
、レジスタ251と同期して文字列データの取り込みを
行うが、フェイルが発生したときは新たな文字コードの
入力を中止し、現在入力中の文字コードを保持し、フェ
イルが回復するまで待つことになる。
このように本方式においては、フェイルが発生した場合
状態処理に2サイクル必要となるが、先行フェイルテー
ブルがなくなる分回路規模を小さくすることができる。
次に、第8の実施例である方式3−8について説明する
0本方式は方式3−5を複数のフィールドで構成される
文字列や1文字認識装置で作成した文字列に対しても検
索が行えるように機能を゛拡張した方式である。まず第
1に、複数のフィールドで構成される文字列に対し、各
フィールド毎に指定した文字列集合で検索を行う場合に
ついて説明する。この場合、各フィールド毎に独立した
フェイル先を設定できなければならない、すなわち。
例えば、第1フイールドに文書番号が、第2フイールド
に年号が記載された文字列を検索する場合には、第23
図に示すようなオートマトンが必要になる0点線の矢印
はフェイル先を表わしている。
ここでは、あらかじめ定めた[セパレータ」と呼ぶフィ
ールド間区切りコード“:”を各フィールドを構成する
文字列の間に挿入し、これによってフェイル先を切り替
えるようにしている0例えば。
第1フイールドの処理が終了し、第2フィールドの処理
に移る場合、第1フイールドと第2フイールドの文字列
間に挿入されたセパレータ゛5;”の入力により、状態
】から状s2へ遷移すると同時に、フェイル先も状態2
に切り替えてしまう。したがって、第2フイールド内で
照合不一致が生じた場合でも、第1フイールドのフェイ
ル先とは無関係に状tla2にフェイルさせることがで
きる。こうすることにより、複数フィールドで構成され
る文字列の検索用オートマトンが比較的簡単な構造で記
述できるようになり、その作成時間も短くす゛ることが
できるようになる。
第2に、文字認識装置で認識した文書の文字列を検索す
る場合について説明する0文字認識装置で100%正し
い認識結果を得ることは現状の技術では困難である。し
たがって、文字認識装置で読み取った文書には、誤りや
と識不能などの不完全な認識結果が含まれることになる
。このため、このような文書に対しては、正しい文字列
で検索できないことになる。こうした問題に対処するた
めの方法として、例えば“文字認識”という文字列を文
字認識装置で認識する際、認”という文字に曖昧性が残
る場合には、その第1候補から第4候補までをまとめて
パ文字〔設認評識〕”という形でコード化しておくもの
とする。このような文書を「曖味表記文WJと呼んでい
る。この曖昧表記文書に対し検索を行う場合には、第2
4図に示したようなオートマトンが必要になる。すなわ
ち1本図のオートマトン遷移図において、9文字認識″
という文字列で検索処理を行った場合、“〔“と”〕”
で囲まれた文字群の中に″認″という文字があった時に
のみ、次の状態へ遷移し、他の文字は読み飛ばされるこ
とになる。その結果。
元の文書にあった“文字認識”という文字列が検索でき
ることになる。
以上述べた複数フィールドで構成される文字列と曖昧表
記文書に対する本検索方式3−8を実現するためのハー
ドウェアのブロック図を第25図に示す、状態遷移テー
ブル220には、第24図に示した複数フィールド検索
用のオートマトン遣移表が格納されている。
多段先行フェイルテーブル272は文字列と入力文字列
との不一致、すなわちフェイルが検出された場合の遷移
先状態番号(フェイル後状態番号)304を記述したテ
ーブルであり、処理対象フィールドに応じて複数の先行
フェイルテーブルをまとめたものである。これらの先行
フェイルテーブルは、あらかじめ指定したセパレータで
切り替えられるようにしている。セパレータの文字コー
ドはレジスタ293にあらかじめ格納されており、コン
パレータ292により入力文字コード302と比較され
る。セパレータと同じ文字コードが入力されたとき、カ
ウンタ291(初期値はl)がインクリメントされ、フ
ィールド番号307が切り替えられる。この場合の多段
先行フェイルテーブル272の内容を第27図に示す、
フィールド番号1の内容は状態遷移テーブル220にお
ける第1フイールドの始点である状態1と同じ内容で。
フィールド番号2の内容は第2フイールドの始点である
状態2と同じ内容である。したがつ°C1第1フィール
ドの検索処理中にフェイルが発生した場合には状a】に
フェイルし、第2フイールドの場合には状態2にフェイ
ルできることになる。
このように多段先行フェイルテーブル272を採用する
ことにより、フェイル先を各フィールド毎に分離するこ
とができるため、複数のフィールドでオ、弯成される文
書検索用のオートマトンをfN惧なものにすることがで
きる。
補助状態遷移テーブル223は、指定した文字コード以
外のコードを全て検索対象から除外する機能を実現する
ためのものである。すなわち、状態遷移テーブル220
に遷移先の記述されていない文字が入力された場合には
、この補助状態遷移テーブル223を参照して次の遷移
先を決定する。
この補助状態遷移テーブル223の内容を第28図に示
す、補助状態遷移テーブル223には現状態番号305
に対応して補助次状態番号309が格納されている。こ
こでは、例えば状態5において、状S遷移テーブル22
0の遷移先の記述されていない“説”や“識”などの文
字が入力されてきた場合、この補助状態遷移テーブルの
出力である状態5に再遷移することになる。すなわち、
誤認識文字を読み飛ばし指定された正しい文字に基づい
て検索が行えるようになる。
このように、補状態遣移テーブル223を用いることに
よって、指定外の人力文字コードに対応した遷移を簡単
なオートマトンで記述できるようになるため、曖昧表記
文書の検索への適用が容易になる。
状B遷移テーブル220.多段先行フェイルテーブル2
72.補助状態遷移テーブル223の参照出刃は、フェ
イル検出器230の検出結果に応じて選択さ九、現状態
番号305として以後の処理の基準状態となる。1なわ
ち、状m遷移テーブル220から参照される次状態番号
303が0でない場合には、この状H番号が遷移先状態
番号305として選択され、次状態番号303がOの場
合には、補助状態遷移テーブルから参照された補助次状
態番号309の値により、この補助次状態番号309か
多段先行フェイルテーブル272の参照値であるフェイ
ル後状態番号304のどちらかが選択される。補助次状
態番号309が0の場合には、フェイル後状態番号30
4が選択され。
他の場合には、補助次状態番号309が選択されること
になる0以上のように、3種類のテーブルの出力が、各
文字の照合処理毎に各テーブルの出力に応じて選択され
、検索処理が進められる。
このように多段先行フェイルテーブル272を用いるこ
とにより、複数のフィールドで構成される文字列を検索
するオートマトンが簡単に記述でき、また補助状態遷移
テーブル223を用いることによって、曖昧表記文書を
対象とした検索用の有限オートマトンが比較的簡単に記
述できるようになる。
以上の実施例においては、状態遷移テーブルにランダム
アクセスメモリRAMを使用した場合について述べてき
たが、連想メモリCAMを使用することも可能である。
第29図に前述した方式3−6の状態遷移テーブルとし
て連想メモリCAMを用いた場合の実施例を示す、第2
0図に示した方式3−6と構成が異なるのは状態遷移テ
ーブル222に検出信号310が追加されている点であ
る。方式3−6の状態遷移テーブル220の内容に対応
した状s11移テーブル222の内容を第30図に示す
6本状S還移テーブル222には。
現状態番号と、ここからの遷移起動文字コードと、この
遷移先状態番号すなわち次状態番号が1組のデータとし
て同一アドレスに格納されている。@状態番号305と
文字・コード302が入力された場合、もしこれらに一
致するデータが零状態y1移テーブルに記述されている
ならば、検出信号310が1になり、対応した次状態番
号303がセレクタ240に出力されろ。もし、該当す
る状態番号と文字コードが格納されてないならば、検出
43号310はOになり次状態番号303は出力されな
い。例えば、第29図で現状態番号305が状態6の場
合、文字コード302が“X”またはY”のとき検出信
号310は1になり、それ以外の文字コードのときは検
出信号310はOになる。そして、文字コード302が
“xnのとき次状態番号305は3になり、文字コード
が“Y”のとき欣状態番号305は7になる。このよう
に、次々と遷移先の状態番号が連想メモリCAMで構成
された状態遷移テーブル222から読み出されて照合処
理が進むことになる。
以上説明したように、連想メモリCAMでもランダムア
クセスメモリRAMを使用したときと同様に状態遷移テ
ーブルの機能を実現することができる。この場合、第2
1図と第30図の比較から明らかなように極めて少ない
メモリ容量で状態遷移テーブルが構成できることになる
。
〔発明の効果〕
以上説明したように、本発明によれば1文字に対するフ
ェイル機能の使用回数に上限を設けることにより、オー
トマトンの作成時間が短く、また、単位時間当たりの処
理文字数を一定にすることが可能となり制御しやすい文
字列検索装置が実現できる。そして、処理速度が最大の
とき1サイクルで1文字の遷移処理が可能となる。また
、複数フィールドで構成される文書や、曖昧表記文書に
対する文字列検索用オートマトンを簡単に記述できるよ
うになるため、これらの文書を対象とした文字列検索装
置が容易に実現できろ。
【図面の簡単な説明】
第1図は文字検察機構の説明図、第2図、第3図は従来
の有限オートマトンによる文字検索原理を表した説明図
、第4図は従来のフェイルテープ)I/(1)説明図、
第51M、 ff17図、 ml OIM、 第19図
、第23図、第24図は本発明を用いた有限オートマト
ンによる文字列検索方法の原理を表した説明図、第9図
は本発明を用いた有限オートマトン作成時間を従来方式
と比較して表わしたグラフを示す図、第11図、第15
図、第16図、第17図、第18図、第20図、第22
図、第25図、第29図は本発明を用いた有限オートマ
トンによる文字列検索回路の実施例の構成を示すブロッ
ク図、第12図、第21図、雫守を一1第26図、@3
0図は本発明を用いた状態遷移テーブルの説明図、第1
4図は検索結果テーブルの説明図、第6図、第dp8図
、第13図は、本発明を用いたフェイルテーブルを表し
た説明図、第27図は、本発明を用いた先行フェイルテ
ーブルを表した説明図、第28図は、本発明を用いた補
助状IIA″fi′4移テーブルを表した説明図である
。

Claims (1)

  1. 【特許請求の範囲】 1、コード表現された文字で構成される被検索文字列中
    に複数の検索対象文字列が存在するか否かを一括して判
    定する有限オートマトンを用いた文字列検索方法におい
    て、被検索文字と検索対象文字の照合を行い、該照合の
    結果、一致する検索対象文字が存在する場合には該有限
    オートマトンで指定される所定の状態に遷移し、一致す
    る検索対象文字が存在しない場合には、予め定めた所定
    の遷移先に遷移するフェイル処理を行い、該フェイル処
    理は一被検索文字に対して所定の上限値の回数で終了す
    ることを特徴とする文字列検索方法。 2、特許請求の範囲第1項記載の文字列検索方法におい
    て、上記被検索文字と検索対象文字の照合処理と、該照
    合処理として不一致が検出された場合のフェイル処理と
    並行して同時に行うと共に、該不一致検出時に前記フェ
    イル処理の結果指示される状態へ遷移することを特徴と
    する文字列検索方法。 3、特許請求の範囲第1項記載の文字列検索方法におい
    て、上記フェイル処理回数の上限値が1であることを特
    徴とする文字列検索方法。 4、特許請求の範囲第2項記載の文字列検索方法におい
    て、上記フェイル処理機能の使用回数を1に限定したこ
    とを特徴とする文字列検索方法。 5、特許請求の範囲第1項記載の文字列検索方法におい
    て、上記フェイル処理を行うべき状態として、複数の状
    態を定めると共に、外部からの信号によりフェイル先と
    して処理対象とすべき状態を選択できるようにしたこと
    を特徴とする文字列検索方法。 6、特許請求の範囲第1項記載の文字列検索方法におい
    て、上記フェイル処理を行うべき状態として、複数の状
    態を定めると共に、照合処理中の被検索文字コードによ
    りフェイル先として処理対象とすべき状態を選択するよ
    うにしたことを特徴とする文字列検索方法。 7、特許請求の範囲第5項記載の文字列検索方法におい
    て、上記フェイル処理を行うべき状態として、被検索文
    字列中に存在するあらかじめ定めた文字コードによつて
    、該文字コードに続く被検索文字列中の文字に対するフ
    ェイル先状態を選択するようにしたことを特徴とする文
    字列検索方法。 8、特許請求の範囲第1項記載の文字列検索方法におい
    て、あらかじめ定めた文字コード以外の入力があつた場
    合、該文字コードに対応してあらかじめ定めたオートマ
    トン状態に遷移するようにしたことを特徴とする文字列
    検索方法。 9、特許請求の範囲第8項記載の文字列検索方法におい
    て、上記あらかじめ定めた所定文字コード以外の入力が
    あつた場合の遷移先オートマトン状態として、現在の状
    態を選択するようにしたことを特徴とする文字列検索方
    法。 10、コード表現された文字で構成される被検索文字列
    中に複数の検索対象文字列が存在するか否かを一括して
    判定する有限オートマトンを用いた文字列検索装置にお
    いて、 被検索文字から一文字を入力し、これを被検索文字とし
    て保持、出力する文字入力手段と、被検索文字と検索対
    象文字との照合時に、遷移元状態に対してあらかじめ定
    めた状態で該被検索文字と該検索対象文字との照合を行
    うフェイル処理を、あらかじめ定めた回数以内繰り返す
    だけで済むように作成した状態遷移表を、該遷移先状態
    番号と該検索対象文字コードに対する遷移先の状態番号
    として格納した状態遷移表格納手段と、 遷移先状態番号に対して、前記フェイル処理を行うべき
    状態番号を格納したフェイル先状態番号格納手段と、 前記状態遷移表格納手段の出力である遷移先状態番号と
    遷移先状態番号から被検索文字と検索対象文字の照合時
    の不一致を検出すると共に、前記文字入力手段の新たな
    入力を待機させるフェイル検出手段と、 前記状態遷移表格納手段の出力と、前記フェイル先状態
    番号格納手段の出力を入力とし、前記フェイル検出手段
    の出力に応じて一方を選択して出力する遷移先選択手段
    と、 前記遷移先選択手段の出力を一時的に保持し、これを遷
    移先状態番号として出力すると共に、本遷移元状態番号
    と該被検索文字コードに基づいて、前記状態遷移表格納
    手段から該遷移先状態番号の読み出しを行う状態番号を
    読み出し手段と、 前記状態番号読み出し手段から出力される状態番号が検
    索対象文字列を構成する最後の文字コードによる遷移先
    状態番号の場合、該検索対象文字列の識別番号を出力す
    る文字列識別手段を有することを特徴とする文字列検索
    装置。 11、コード表現された文字で構成される被検索文字列
    中に複数の検索対象文字列が存在するか否かを判定する
    有限オートマトンを用いた文字列検索装置において、 被検索文字列から一文字を入力し、これを被検索文字と
    して保持、出力する文字入力手段と、被検索文字と検索
    対象文字との照合時に、遷移元状態に対してあらかじめ
    定めた状態で該被検索文字と該検索対象文字との照合を
    行うフェイル処理を、あらかじめ定めた回数以内繰り返
    すだけで済むように作成した状態遷移表を、該遷移先状
    態番号と該検索対象文字コードに対する遷移先の状態番
    号として格納した状態遷移表格納手段と、 前記フェイル処理の結果としての遷移先状態番号を前記
    遷移先状態番号と該被検索文字コードに対応させて格納
    したフェイル後状態番号格納手段と、 前記状態遷移表格納手段の出力である遷移先状態番号と
    遷移先状態番号から被検索文字と検索対象文字の照合時
    の不一致を検出すると共に、前記文字入力手段の新たな
    入力を待機させるフェイル検出手段と、 前記状態遷移表格納手段の出力と、前記フェイル後状態
    番号格納手段の出力を入力とし、前記フェイル検出手段
    の出力に応じて一方を選択して出力する遷移先選択手段
    と、 前記遷移先選択手段の出力を一時的に保持し、これを遷
    移元状態番号として出力すると共に、本遷移元状態番号
    と該被検索文字コードに基づいて、前記状態遷移表格納
    手段から該遷移先状態番号の読み出しを行う状態番号を
    読み出し手段と、 前記状態番号読み出し手段から出力される状態番号が検
    索対象文字列を構成する最後の文字コードによる遷移先
    状態番号の場合、該検索対象文字列の識別番号を出力す
    る文字列識別手段を有することを特徴とする文字列検索
    装置。
JP62147041A 1987-06-15 1987-06-15 文字列検索装置 Expired - Lifetime JP2702927B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP62147041A JP2702927B2 (ja) 1987-06-15 1987-06-15 文字列検索装置
US07/205,923 US5051886A (en) 1987-06-15 1988-06-13 System for character stream search using finite state automaton technique
US07/761,442 US5278981A (en) 1987-06-15 1991-09-18 Character stream search apparatus using a finite state automation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62147041A JP2702927B2 (ja) 1987-06-15 1987-06-15 文字列検索装置

Publications (2)

Publication Number Publication Date
JPS63311530A true JPS63311530A (ja) 1988-12-20
JP2702927B2 JP2702927B2 (ja) 1998-01-26

Family

ID=15421178

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62147041A Expired - Lifetime JP2702927B2 (ja) 1987-06-15 1987-06-15 文字列検索装置

Country Status (2)

Country Link
US (2) US5051886A (ja)
JP (1) JP2702927B2 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5140644A (en) * 1990-07-23 1992-08-18 Hitachi, Ltd. Character string retrieving system and method
US5168533A (en) * 1989-06-14 1992-12-01 Hitachi, Ltd. Hierarchical presearch type text search method and apparatus and magnetic disk unit used in the apparatus
JPH04348469A (ja) * 1990-07-23 1992-12-03 Hitachi Ltd 文字列検索装置およびその方法
US5220625A (en) * 1989-06-14 1993-06-15 Hitachi, Ltd. Information search terminal and system
JPH0785047A (ja) * 1993-08-02 1995-03-31 Xerox Corp コンパクトにエンコードされて記憶されたストリングの組を有する製品
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
US5471610A (en) * 1989-06-14 1995-11-28 Hitachi, Ltd. Method for character string collation with filtering function and apparatus
WO1998011509A1 (fr) * 1996-09-13 1998-03-19 Hitachi, Ltd. Procede de traitement des informations de bibliotheque
US5748953A (en) * 1989-06-14 1998-05-05 Hitachi, Ltd. Document search method wherein stored documents and search queries comprise segmented text data of spaced, nonconsecutive text elements and words segmented by predetermined symbols
WO2009093307A1 (ja) * 2008-01-22 2009-07-30 Fujitsu Limited 検索装置および検索方法
JP2010225156A (ja) * 2010-03-26 2010-10-07 Mitsubishi Electric Corp 文字列照合装置および文字列照合プログラム

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5319776A (en) * 1990-04-19 1994-06-07 Hilgraeve Corporation In transit detection of computer virus with safeguard
US5497488A (en) * 1990-06-12 1996-03-05 Hitachi, Ltd. System for parallel string search with a function-directed parallel collation of a first partition of each string followed by matching of second partitions
US5355493A (en) * 1991-11-20 1994-10-11 International Business Machines Corporation System for encoding units of entity/relationship data to include prefixes with codes for length, action, and unit identifier
US5379420A (en) * 1991-12-26 1995-01-03 Trw Inc. High-speed data searching apparatus and method capable of operation in retrospective and dissemination modes
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
JP2994926B2 (ja) * 1993-10-29 1999-12-27 松下電器産業株式会社 有限状態機械作成方法とパターン照合機械作成方法とこれらを変形する方法および駆動方法
US5586266A (en) * 1993-10-15 1996-12-17 International Business Machines Corporation System and method for adaptive, active monitoring of a serial data stream having a characteristic pattern
US5414833A (en) * 1993-10-27 1995-05-09 International Business Machines Corporation Network security system and method using a parallel finite state machine adaptive active monitor and responder
US5454063A (en) * 1993-11-29 1995-09-26 Rossides; Michael T. Voice input system for data retrieval
US5640557A (en) * 1994-11-18 1997-06-17 International Business Machines Corporation Method and system for processing logic blocks in a data processing system
EP0744702B1 (en) * 1995-05-22 2002-11-13 Matsushita Electric Industrial Co., Ltd. Information searching apparatus for searching text to retrieve character streams agreeing with a key word
GB9524136D0 (en) * 1995-11-23 1996-01-24 Xerox Corp Indexing a database by finite-state transducer
US5995963A (en) * 1996-06-27 1999-11-30 Fujitsu Limited Apparatus and method of multi-string matching based on sparse state transition list
JP4153989B2 (ja) * 1996-07-11 2008-09-24 株式会社日立製作所 文書検索配送方法および装置
US7333983B2 (en) 2000-02-03 2008-02-19 Hitachi, Ltd. Method of and an apparatus for retrieving and delivering documents and a recording media on which a program for retrieving and delivering documents are stored
US20040073617A1 (en) 2000-06-19 2004-04-15 Milliken Walter Clark Hash-based systems and methods for detecting and preventing transmission of unwanted e-mail
US7124438B2 (en) 2002-03-08 2006-10-17 Ciphertrust, Inc. Systems and methods for anomaly detection in patterns of monitored communications
US7870203B2 (en) 2002-03-08 2011-01-11 Mcafee, Inc. Methods and systems for exposing messaging reputation to an end user
US7693947B2 (en) 2002-03-08 2010-04-06 Mcafee, Inc. Systems and methods for graphically displaying messaging traffic
US20060015942A1 (en) 2002-03-08 2006-01-19 Ciphertrust, Inc. Systems and methods for classification of messaging entities
US8561167B2 (en) 2002-03-08 2013-10-15 Mcafee, Inc. Web reputation scoring
US6941467B2 (en) 2002-03-08 2005-09-06 Ciphertrust, Inc. Systems and methods for adaptive message interrogation through multiple queues
US7694128B2 (en) 2002-03-08 2010-04-06 Mcafee, Inc. Systems and methods for secure communication delivery
US7096498B2 (en) 2002-03-08 2006-08-22 Cipher Trust, Inc. Systems and methods for message threat management
US7458098B2 (en) * 2002-03-08 2008-11-25 Secure Computing Corporation Systems and methods for enhancing electronic communication security
US7903549B2 (en) 2002-03-08 2011-03-08 Secure Computing Corporation Content-based policy compliance systems and methods
US8578480B2 (en) 2002-03-08 2013-11-05 Mcafee, Inc. Systems and methods for identifying potentially malicious messages
US8132250B2 (en) 2002-03-08 2012-03-06 Mcafee, Inc. Message profiling systems and methods
US7634500B1 (en) 2003-11-03 2009-12-15 Netlogic Microsystems, Inc. Multiple string searching using content addressable memory
US8635690B2 (en) 2004-11-05 2014-01-21 Mcafee, Inc. Reputation based message processing
CN100524301C (zh) * 2004-12-09 2009-08-05 三菱电机株式会社 字符串对照装置
US7937480B2 (en) 2005-06-02 2011-05-03 Mcafee, Inc. Aggregation of reputation data
US7353332B2 (en) * 2005-10-11 2008-04-01 Integrated Device Technology, Inc. Switching circuit implementing variable string matching
US7805392B1 (en) 2005-11-29 2010-09-28 Tilera Corporation Pattern matching in a multiprocessor environment with finite state automaton transitions based on an order of vectors in a state transition table
US7877401B1 (en) * 2006-05-24 2011-01-25 Tilera Corporation Pattern matching
US8788517B2 (en) * 2006-06-28 2014-07-22 Microsoft Corporation Intelligently guiding search based on user dialog
US20080005095A1 (en) * 2006-06-28 2008-01-03 Microsoft Corporation Validation of computer responses
US7783654B1 (en) 2006-09-19 2010-08-24 Netlogic Microsystems, Inc. Multiple string searching using content addressable memory
US7917486B1 (en) * 2007-01-18 2011-03-29 Netlogic Microsystems, Inc. Optimizing search trees by increasing failure size parameter
US7949716B2 (en) 2007-01-24 2011-05-24 Mcafee, Inc. Correlation and analysis of entity attributes
US7779156B2 (en) 2007-01-24 2010-08-17 Mcafee, Inc. Reputation based load balancing
US8179798B2 (en) 2007-01-24 2012-05-15 Mcafee, Inc. Reputation based connection throttling
US8763114B2 (en) 2007-01-24 2014-06-24 Mcafee, Inc. Detecting image spam
US8214497B2 (en) 2007-01-24 2012-07-03 Mcafee, Inc. Multi-dimensional reputation scoring
US8189931B2 (en) * 2008-01-04 2012-05-29 International Business Machines Corporation Method and apparatus for matching of bracketed patterns in test strings
US8631195B1 (en) * 2007-10-25 2014-01-14 Netlogic Microsystems, Inc. Content addressable memory having selectively interconnected shift register circuits
US8185930B2 (en) 2007-11-06 2012-05-22 Mcafee, Inc. Adjusting filter or classification control settings
US8045458B2 (en) 2007-11-08 2011-10-25 Mcafee, Inc. Prioritizing network traffic
US8160975B2 (en) 2008-01-25 2012-04-17 Mcafee, Inc. Granular support vector machine with random granularity
US8589503B2 (en) 2008-04-04 2013-11-19 Mcafee, Inc. Prioritizing network traffic
US7924589B1 (en) 2008-06-03 2011-04-12 Netlogic Microsystems, Inc. Row redundancy for content addressable memory having programmable interconnect structure
US7916510B1 (en) 2009-08-10 2011-03-29 Netlogic Microsystems, Inc. Reformulating regular expressions into architecture-dependent bit groups
US7924590B1 (en) 2009-08-10 2011-04-12 Netlogic Microsystems, Inc. Compiling regular expressions for programmable content addressable memory devices
US8621638B2 (en) 2010-05-14 2013-12-31 Mcafee, Inc. Systems and methods for classification of messaging entities
US8527488B1 (en) 2010-07-08 2013-09-03 Netlogic Microsystems, Inc. Negative regular expression search operations
US9122877B2 (en) 2011-03-21 2015-09-01 Mcafee, Inc. System and method for malware and network reputation correlation
US8931043B2 (en) 2012-04-10 2015-01-06 Mcafee Inc. System and method for determining and using local reputations of users and hosts to protect information in a network environment

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3568156A (en) * 1967-08-09 1971-03-02 Bell Telephone Labor Inc Text matching algorithm
GB1497678A (en) * 1975-02-21 1978-01-12 Int Computers Ltd Data processing systems
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
US4450520A (en) * 1981-03-11 1984-05-22 University Of Illinois Foundation Method and system for matching encoded characters
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 株式会社日立製作所 文書フアイリングシステム

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5471610A (en) * 1989-06-14 1995-11-28 Hitachi, Ltd. Method for character string collation with filtering function and apparatus
US5168533A (en) * 1989-06-14 1992-12-01 Hitachi, Ltd. Hierarchical presearch type text search method and apparatus and magnetic disk unit used in the apparatus
US5220625A (en) * 1989-06-14 1993-06-15 Hitachi, Ltd. Information search terminal and system
US5748953A (en) * 1989-06-14 1998-05-05 Hitachi, Ltd. Document search method wherein stored documents and search queries comprise segmented text data of spaced, nonconsecutive text elements and words segmented by predetermined symbols
US6094647A (en) * 1989-06-14 2000-07-25 Hitachi, Ltd. Presearch type document search method and apparatus
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
JPH04348469A (ja) * 1990-07-23 1992-12-03 Hitachi Ltd 文字列検索装置およびその方法
US5140644A (en) * 1990-07-23 1992-08-18 Hitachi, Ltd. Character string retrieving system and method
JPH0785047A (ja) * 1993-08-02 1995-03-31 Xerox Corp コンパクトにエンコードされて記憶されたストリングの組を有する製品
WO1998011509A1 (fr) * 1996-09-13 1998-03-19 Hitachi, Ltd. Procede de traitement des informations de bibliotheque
WO2009093307A1 (ja) * 2008-01-22 2009-07-30 Fujitsu Limited 検索装置および検索方法
JP5071486B2 (ja) * 2008-01-22 2012-11-14 富士通株式会社 検索装置および検索方法
JP2010225156A (ja) * 2010-03-26 2010-10-07 Mitsubishi Electric Corp 文字列照合装置および文字列照合プログラム

Also Published As

Publication number Publication date
JP2702927B2 (ja) 1998-01-26
US5051886A (en) 1991-09-24
US5278981A (en) 1994-01-11

Similar Documents

Publication Publication Date Title
JP2702927B2 (ja) 文字列検索装置
US4471459A (en) Digital data processing method and means for word classification by pattern analysis
JPH02271468A (ja) データ処理方法
JPH10334118A (ja) 辞書索引作成装置と文書検索装置
US5138669A (en) Range-conditional character string retrieving method and system
US6470334B1 (en) Document retrieval apparatus
JPH08147320A (ja) 情報検索方法及びシステム
JP2693914B2 (ja) 検索システム
JPH0782504B2 (ja) 情報検索処理方式および検索ファイル作成装置
JPH04326164A (ja) データベース検索システム
JP2516609B2 (ja) 循環コンテクストアドレス指定可能メモリ
JPH06348757A (ja) 文書検索装置および方法
JP2880199B2 (ja) 記号列検索方法および検索装置
JPH04348472A (ja) 数値検索装置およびその方法
JP2880192B2 (ja) 文字列検索方法及び装置
JP2825009B2 (ja) 記号列検索方法および装置
JP2588261B2 (ja) Ocrによる住所データベース検索装置
JP3924899B2 (ja) テキスト検索装置およびテキスト検索方法
Ejendibia et al. String searching with DFA-based algorithm
EP0649106B1 (en) Compactly stored word groups
JPH10149367A (ja) テキスト蓄積検索装置
JP2961888B2 (ja) 用語辞書による文書検索システム
JPH0748218B2 (ja) 情報処理装置
JPH06103307A (ja) 構造型データベースにおける検索高速化方法
Shahmohammadi et al. A framework for detecting Holy Quran inside Arabic and Persian texts

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071003

Year of fee payment: 10