JPS62210538A - 記号列サ−チ方法および装置 - Google Patents

記号列サ−チ方法および装置

Info

Publication number
JPS62210538A
JPS62210538A JP61052439A JP5243986A JPS62210538A JP S62210538 A JPS62210538 A JP S62210538A JP 61052439 A JP61052439 A JP 61052439A JP 5243986 A JP5243986 A JP 5243986A JP S62210538 A JPS62210538 A JP S62210538A
Authority
JP
Japan
Prior art keywords
text
symbol
state
pattern
register
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.)
Pending
Application number
JP61052439A
Other languages
English (en)
Inventor
Tadashi Osone
匡 大曽根
Akira Yamamoto
彰 山本
Hiroyuki Kitajima
北嶋 弘行
Masashi Tsuchida
正士 土田
Nobuhiro Taniguchi
谷口 伸博
Yoshiaki Yamashita
山下 芳明
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 JP61052439A priority Critical patent/JPS62210538A/ja
Priority to EP87101819A priority patent/EP0250705B1/en
Priority to DE3750277T priority patent/DE3750277T2/de
Priority to KR1019870001080A priority patent/KR940003700B1/ko
Priority to US07/013,049 priority patent/US4916655A/en
Priority to CN87100829A priority patent/CN1016835B/zh
Publication of JPS62210538A publication Critical patent/JPS62210538A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、テキストを始め1図形9画像、音響の検索等
記号化可能なパタンの記号列サーチ方法および装置に係
り、特に、複数のパタンを記号列から高速に検索する処
理に好適な記号列サーチ方法および装置に関する。
〔従来の技術〕
以下本発明の代表的適用分野であるテキストサーチの場
合について述べる。
テキストと呼ばれる記号列から、複数個のパタンと呼ば
れる部分記号列をサーチするための方式は、例えば「ハ
ードウェア・システムズ・フォア・テキスト・インフオ
メイシiン・リトリーバル」(Hollaar、L、A
、:Hardware Systams for Te
xtInformation Retrieval:A
CM 5IGIR6th Conf、1983)に記載
のように、有限オートマトン法を利用したセルラ・アレ
イを用いた方式となっていた。しかし、これら従来方式
では、テキスト全て、すなわち、テキスト長をnとする
と、n個の記号全てを入力せねばならず、それ以上の高
速化が原理的に不可能であった。
〔発明が解決しようとする問題点〕
上記において説明したように、従来技術では、複数のパ
タンを検出するのに、記号列のn記号全てを1記号ずつ
順に入力せねばならないという問題があった。
本発明の目的は、入力するテキストの記号数を極力減ら
すことにより、高速に複数のパタン−を検出することを
可能とする方法および装置を提供することにある。
〔間迎点を解決するための手段〕
上記目的は、入力するテキストの記号数を極力減らすこ
とを可能とする新しい記号列サーチ・アルゴリズムを考
案し、さらに、このアルゴリズムを高速に実現するため
にテキストのサーチ状態′と新たに入力するテキスト1
記号との組から1次のテキストのサーチ状態を示すテー
ブル(状態遷移テーブル)と次に新たに入力すべきテキ
スト1記号のアドレスを容易に求めることのできろテー
ブル(スキップ・テーブル)を用意することにより、達
成される。
〔作用〕
本発明におけるアルゴリズムは、複数パタンに対する記
号列サーチを実行する際、無駄のないサーチを行うよう
にしているため入力するテキストの記号数を極力減らす
ことを可能にし、さらに、状態遷移テーブルとスキップ
・テーブルを参照するだけで上記アルゴリズムを実現さ
せることができるので、非常に高速な記号列サーチ処理
を実現することができる。
〔実施例〕
以下、本発明の一実施例を詳細に説明する。
最初に、本発明における複数パタンに対する記号列サー
チのアルゴリズムについて説明する。ここで、 n:テキスト長 に:パタン数 Mk:パタンにのパタン長(1≦に≦K)T(i):テ
キストのi番目の記号(1≦11≦n) とする。また、前提として、テキストはランダムにアク
セスできるメモリの中に格納されているものとする6 本アルゴリズムの基本的な考え方を以下に述べる。例と
して、 パタン1;マCOWマ。
パタン2:マBULLマ。
パタン3:マCATTLEマ の場合を考える。ここで。
テキスト:マHOftRSマ の時は、初めにテキストの3記号目T (3) =マR
マを入力するだけで、この記号マRマがどのパタンにも
1記号目から3記号目の間に存在しないということから
、テキストの3記号目以前にはどのパタンも存在しない
ことがわかる。したがってテキストの4記号目以降にパ
タンか存在する可能性だけを考えれば良いことになる(
第3図参照)。
これは、テキストの1記号目マHマや2記号目マ0マを
入力する無駄を省くことを可能にするので、テキストの
入力すべき記号数を削減することができる。この時、次
に入力すべきテキストの記号は6記号目とする。もし、
3記号目T (3) =マBマの時は、テキストの3記
号目からパタン2のマflULLマと一致する可能性が
あることを考慮してサーチを進めればよい、また、3記
号目T (3) =マWマの時は、テキストの1記号目
から3記号目までがマCoWマである可能性があるので
、次に1つ前のテキストの2記号目T(2)を入力して
調べていけば良い(第4図参照)0以上が、本アルゴリ
ズムの基本的考え方である。これを高速に実現するため
の方法を以下に述べる。
まず、状態について説明する。本例の場合、テキストの
す、−子状態nを第5図のように定義する。
すなわち、状態マ01マは、3記号目がマWマである状
態、状態マ02マは、2記号目がマ0マ3記号目がマW
マである状態、以下、同様である。そして、状態マFF
マ、マFEマ、マFDマは、それぞれ、パタン1.パタ
ン2.パタン3が検出できた状態とする。
このように、パタンか検出できた時の状態の番号に特別
な番号を与えることにより、パタンの検出結果を容易に
判断できるようにする0例えば、本例の場合マFDマ以
上になったらパタン発見とする。
対応するテキストの記号Zを入力する。それが、マWマ
の時は状態マ01マ、マLマの時は状態マ03マ、マT
マの時は状態マロ6マに状態が遷移する。それ以外の場
合は、状態はマOOマのままにする。また、状態マ01
マの時は、パタンの2記号目と対応するテキストの記号
Zを入力し、それがマOマの時は状態マ02マに、それ
以外の時は状態マOOマにする。
この時の状態遷移図を第6図に示すにの状態遷移は、現
在の状tmQと入力されたテキストの記号Zから決まる
。この状態遷移テーブルL (Q、Z)を第7図に示す
現在の状態悲と入力したテキスト1記号Zがわかつてい
る時に、次にテキストの何番目の記号を入力すべきかと
いうことについての情報は、あらかじめ、テーブルとし
て、作成しておく。これを、スキップ・テーブルと呼ぶ
。本例の場合のスキップ・テーブルS (Q、Z)の例
を第8図に示す。
このスキップ・テーブルには、現在の状態Qと入力した
テキスト1記号Zが与えられた時の、次に入力すべきテ
キストのアドレスと先に入力したテキストのアドレスの
差の情報を格納しておく。これをスキップ幅と呼ぶ1例
えば、状態マ00マの時。
テキストの3番目の記号T (3) =マRマが入力さ
れたら、現在のテキストのアドレスマ3マとテーブルに
書かれているスキップ幅5(00,R)=マ3マとを加
えたマ6マが次に入力すべきテキストのアドレスとなる
。また、状態マ00マでテキストの3番目の記号T(3
)=マWマが入力されたならば、スキップ幅S (00
,W)=マー1マより、次に入力すべきテキストのアド
レスはマ2マどなる6以上説明した状態遷移テーブルL
 (n、Z)とスキップ・テーブルS (71,Z)を
用いることにより、上述した記号列サーチのアルゴリズ
ムを高速に実行することができる。
この方法の具体的なフローチャートを第2図に示す、ま
ず、最初に初期状態a=O1初期テ初期テラステップ)
。次に、i≦nであるか否かから記号列サーチを終了す
るかどうかを判断する(ステップ102)、i≦nでな
い場合は終了する(ステップ103)、i≦nである場
合は、テキストのi番目の記号Z=T(i)を入力し、
現在の状態αと入力記号Zから次の状態患=L (A。
Z)、スキップ幅y=S(Q、Z)をフェッチする(ス
テップ104)、次の状態患がマFDマ以上かどうかで
パタンのどれかが検出できたかどうかを判断しくステッ
プ105)、マFDマ以上の場合、検出したパターン番
号は一〇であり、それを。utに出力する(ステップ1
06)、そして次に入力すべき、テキストのアドレスi
 % i = i + yによって計算しくステップ1
07)、ステップ102に戻る。
次に、この方法を実現する回路の構成例を第1図に示す
、1はテキスト・テーブルT(i)を格納するRAM、
2は状態遷移テーブルL (Q、Z)を格納するRAM
、3はスキップ・テーブルS(Q、Z)を格納するRA
M、20は1にアクセスするためのテキスト・アドレス
・レジスタ、21は2と3にアクセスするためのテーブ
ル・アドレス・レジスタ、31と32と33は、それぞ
れ、1と2と3に対応するメモリ・レジスタである。論
理的には、20はテキスト・アドレスi、31はテキス
トZ=T (i)、21はテーブル・アトL/X (L
、 Z) 、32は次の状態Q = T。
(Q、Z) 、33はスキップ幅y=s (Q、z)に
対応するレジスタである。さらに、10は、第2図の本
方式のフローチャートにおける110の部分を実現する
判定回路、11は、111の部分を実現する論理回路、
12は107の部分を実現する加算回路である。また、
50は、検出パタンを出力する出力線である。
以下、本回路の動作例について、第12図を用いて説明
する。例として、パタンか パタン1:マCOWマ パタン2:マBULLマ パタン3:マCATTLIEマ テキストが テキスト: マHORBS、CAT、COW。
5t(EEP、HEN、DOG。
MONKEYマ の場合を考える。この時、テキスト・テーブルT (i
)は、第11図のようになり、これが1のRAMに格納
されている。また、状態遷移テーブルL(Ω、Z)は第
9図のように、スキップ・テーブルS (Q、Z)は第
10図のようになり、それぞれ、2と3のRAMに格納
する0次に、42をセットする。1サイクル目では、テ
キスト・テーブルからテキストT (03)=マD9マ
(R)をテキスト・レジスタ31に取り込み1次に、マ
00D9マをアドレスとして、2と3のRAMにアクセ
スする。そして、状態Q=L (Q、Z)=マ00マ、
スキップ幅y=S (Q、Z)=TO3?を、それぞれ
、状態レジスタ32とスキップ幅レジスタ33に取り込
む、論理回路11で状態レジスタ32の内容を調べ、そ
れがマFDマ以上でないのでパタンを検出してないこと
がわかる。加算回路12では、スキップ幅レジスタ33
の内容マ03マとテキスト・アドレス・レジスタ4oの
内容マ03マを加えて、テキスト・アドレス・レジスタ
20にマロ6マを出力する。2サイクル目も同様に実行
される。3サイクル目では、T (09)=マE3マ(
T)なので、マ0OE3マをテーブル・アドレスとして
2と3のRAMにアクセスし、状WAQはマロ6マに、
スキップ4filyはマFFマになる。従って、次のテ
キスト・アドレスiはマ08マとなり、4サイクル目に
うつる。この処理を続けていくことにより、9サイクル
目で状態aがマFFマとなるのでout=マ01マとな
り、パタン1のマCoWマが検出できたことがわかる。
さらに、この処理を続けていき16サイクル目で記号列
サーチ処理が終了する。このように、この例の場合、3
4個の記号列からなるテキストのサーチ処理が、従来方
式であると34サイクルの処理時間がかかったのに対し
、16サイクルで済ませることができる。
〔発明の効果〕
本方式によれば、複数のパタンのうち、最短のパタン長
をmとし、テキスト長をnとすると、最小の場合、n 
/ mサイクルで記号列をサーチすることができ、nサ
イクル必要とする従来方式に比べm倍高速となる。しか
も、パタンか検出できた時の状態の番号に特別な番号を
与えることにより、パタンの検出結果を容易に判断でき
るようになった。さらに、セルラ・アレイを用いた装置
に比べ、大幅に少ない物量でハード化することが可能で
ある。
【図面の簡単な説明】
第1図は本発明を実現する記号列サーチ装置のブロック
構成図、第2図は本発明を実現する記号列サーチ方式の
フローチャート、第3図と第4図は本発明の詳細な説明
図、第5図は本発明におけるサーチ状態の説明図、第6
図は本発明状態遷移図、第7図と第9図は状態遷移テー
ブルを示す図、第8図と第10図は本発明スキップ・テ
ーブルを示す図、第11図は本発明テキスト・テーブル
を示す図、第12図は本発明の詳細な説明図である。 1.2.3・・・ランダム・アクセス・メモリ、10・
・・判定回路、11・・・論理回路、12・・・加算回
路、31.32,33・・・メモリ・レジスタ、20゜
¥I l 口 a、!I 7)’LX、4VAグ   tz  5ea
s第 2 図 舊 3 口 第本′図 第 7 図 1に臭遁1号テープ゛ルLα、z) 全白はθθ 第 8 日

Claims (1)

  1. 【特許請求の範囲】 1、記号列の中に所定の単数個以上のパタンのどれが含
    まれているかを確認するために、パタンの特徴と既にサ
    ーチした結果で明確になつている事実の情報と新たに入
    力した記号または記号列とを考慮して、無駄なサーチを
    排除することを特徴とする記号列サーチ方法。 2、現在の記号列のサーチ状態と入力した記号列の中の
    1記号の情報とから、次のサーチ状態がわかる情報を格
    納するテーブルを有する記憶手段と、次に入力すべき記
    号列の中の1記号のアドレスを計算できる情報を格納す
    るテーブルを有する記憶手段と、記号列サーチ時に、こ
    れらのテーブルを参照する手段を有することを特徴とす
    る記号列サーチ装置。 3、複数以上あるパタンのうちどのパタンが検出できた
    かを認知させるために、パタンを検出できた時のサーチ
    状態の番号に特別の番号を与えることを特徴とする第1
    項記載の記号列サーチ方法。
JP61052439A 1986-02-14 1986-03-12 記号列サ−チ方法および装置 Pending JPS62210538A (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP61052439A JPS62210538A (ja) 1986-03-12 1986-03-12 記号列サ−チ方法および装置
EP87101819A EP0250705B1 (en) 1986-02-14 1987-02-10 Method and apparatus for retrieval of symbol strings from data
DE3750277T DE3750277T2 (de) 1986-02-14 1987-02-10 Verfahren und Vorrichtung zur Rückgewinnung von Symbolketten aus Daten.
KR1019870001080A KR940003700B1 (ko) 1986-02-14 1987-02-10 검색방법 및 그 장치
US07/013,049 US4916655A (en) 1986-02-14 1987-02-10 Method and apparatus for retrieval of a search string
CN87100829A CN1016835B (zh) 1986-02-14 1987-02-14 用于检索的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61052439A JPS62210538A (ja) 1986-03-12 1986-03-12 記号列サ−チ方法および装置

Publications (1)

Publication Number Publication Date
JPS62210538A true JPS62210538A (ja) 1987-09-16

Family

ID=12914770

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61052439A Pending JPS62210538A (ja) 1986-02-14 1986-03-12 記号列サ−チ方法および装置

Country Status (1)

Country Link
JP (1) JPS62210538A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02109167A (ja) * 1988-10-18 1990-04-20 Hitachi Ltd 文字列検索方法及び装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02109167A (ja) * 1988-10-18 1990-04-20 Hitachi Ltd 文字列検索方法及び装置
WO1990004826A1 (fr) * 1988-10-18 1990-05-03 Hitachi, Ltd. Procede et dispositif d'extraction de sequences de mots-cles pour le traitement concurrent
US5604910A (en) * 1988-10-18 1997-02-18 Hitachi, Ltd. Method of and vector processor for searching text for key words based on candidate character strings obtained from the text using parallel processing

Similar Documents

Publication Publication Date Title
KR940003700B1 (ko) 검색방법 및 그 장치
JP2790031B2 (ja) ネット情報抽出方法および装置
KR890016469A (ko) 업무처치 처리 시스템내의 인텍스트리의 동시 변형용 방법 및 장치
US20030037209A1 (en) Memory engine for the inspection and manipulation of data
CN106292548A (zh) 具备自动选择加工程序存储目的地的功能的数值控制装置
US5502832A (en) Associative memory architecture
JPS62210538A (ja) 記号列サ−チ方法および装置
US4128879A (en) Recirculating memory with plural input-output taps
EP0232376B1 (en) Circulating context addressable memory
WO1982002451A1 (en) Improvement in or relating to wafer-scale integrated circuit memories
JPH1063675A (ja) データ探索方法及びそれを適用したデータ探索装置
EP0170443A2 (en) Method for searching an association matrix
JP3018579B2 (ja) 名前検索処理装置
JPH0315772B2 (ja)
CN115238028A (zh) 一种车辆用用户文本数据关键词匹配方法及装置
JPH01149126A (ja) ホイール型ソート処理方式
JPH03282841A (ja) 可変長レコードの直接入出力処理方式
JP2853321B2 (ja) 二値画像情報合成方式
JPH01259418A (ja) 文字列検索装置
KR940008824A (ko) 복수로보트의 동시제어방법
JPH04315259A (ja) 文字列照合処理方式
JPH0752447B2 (ja) 検索方法及び装置
JPH03276489A (ja) 半導体記憶装置
JPS62194534A (ja) 情報記憶装置
JPS61100835A (ja) 移動命令論理比較命令処理方式