JPS5897743A - 高速文字列マツチング方法 - Google Patents

高速文字列マツチング方法

Info

Publication number
JPS5897743A
JPS5897743A JP56196500A JP19650081A JPS5897743A JP S5897743 A JPS5897743 A JP S5897743A JP 56196500 A JP56196500 A JP 56196500A JP 19650081 A JP19650081 A JP 19650081A JP S5897743 A JPS5897743 A JP S5897743A
Authority
JP
Japan
Prior art keywords
character
string
pattern
value
mark
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
JP56196500A
Other languages
English (en)
Other versions
JPH04308B2 (ja
Inventor
Akihiko Konagaya
明彦 小長谷
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.)
NEC Corp
Original Assignee
NEC Corp
Nippon Electric Co 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 NEC Corp, Nippon Electric Co Ltd filed Critical NEC Corp
Priority to JP56196500A priority Critical patent/JPS5897743A/ja
Publication of JPS5897743A publication Critical patent/JPS5897743A/ja
Publication of JPH04308B2 publication Critical patent/JPH04308B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/02Comparing digital values

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

【発明の詳細な説明】 本発明は、wl数個のテキスト文字列の集合から、ワイ
ルドキャラクタ、任意長ワイルドキャラクタを含むパタ
ーン文字列あるいはパターン文字列の連続した部分列と
一致するテキスト文字列を高速に検出するマツチング方
法に関するものである。
従来の中−ワード方式の情報検索システム・の特徴を説
明すると次のようである。すなわち、入力されたキーワ
ードと一致するキーワードを探し、対応する情報を提供
する。この検索方式は入力されたキーワードをパターン
文字列とし、検索対象となる情報に含まれているキーワ
ードをテキスト文字列として、複数のテキスト文字列か
らパターン文字列と一致するテキスト文字列を見つげる
文字列マツチングと見なすことができる。
このような文字列マツチングは、パターン文字列にワイ
ルドキャラクタ(任意の文字と一致する記号)、任意長
ワイルドキャラクタ(空列を含む任意長の文字列と一致
する記号)といっ九特殊な記号を含めることによってい
くつかの段階を考えることができる。
例えば、キーワード方式の情報検索システムにおいて、
入力キーワードとして”DATABA8j!’と指定し
たとする。この場合には、@DATABA19g”をキ
ーワードとして登碌されている情報しか検索することは
できない。もう少し高級な検索方法にしよ5とするとき
は、入力キーワードにワイルドキャラクタを使用する方
法が考えられる。すなわち、例えば入力中−ワードとし
て@DArABA*E″(本はワイルドキャラクタを表
わす)とする方法であり、本の場所はどの文字とも一致
するから”DATABASlit’の他に1DATAi
lACj!”やMDATABAZg’のように誤って登
碌された情報も検索することができる。
この検索方法をさらに人間の認識に近づけるためにンよ
任意長ワイルドキャラクタの導入が必要と、y7る。例
えば中−ワード@DATABA8 M”は@1)ATA
ΔBA8Jl!i″あるい、ま@DATA−BA8j3
’  と登録されているかもしノLない。これらt−1
つの人力キーワードで全て検索するためには” DAT
ムt BAJi j!”(?は任意長ワイルドキャラク
タを表わす)とすればよいとい5jj見方である。
このよう虻こパターン文字列にワイルドキャラクタや任
意長ワイルドキャラクタを含めることによりでより人間
の認識に近い文字列マ、チンダを行うことができる。し
かしながら、任意長ワイルドキャラクタをバター/文字
列に含めるとテキスト文字列との文字の比較回数が非常
に多くなり、通常の計算機で逐次的に処理したのではオ
ーバーへ、ドが大きくなり過ぎるので、結果として専用
のハードウェア装置が望まれることになる。
一方、べたづめされた日本一文章から単一を抜き出して
分かちJaiするシステムも考えられる。
しかし、この場合は、べたづめされた日本一文章の連続
した部分列と一致する単一があるかどうかを検出しなく
てはならないことになろ、このような単語の抜き出しは
、日本一文章をパターン文字列とし、単語をテキスト文
字列として、パターン文字列の連続しり部分列と一致す
るテキスト文字列を検出する文字列マツチングと見なす
ことができる。
例えばパターン文字列1これはふんです”に対し、テキ
スト文字列1これは”、@ぶん”、1です”が用意され
ていれば、パターン文字列の連続した部分列“こ”、′
れ”、′は”、−1′これ1゜1れは”、′はぶ” +
+、1れはふんです”。
1これはぶんです”と比較することによって、パターン
文字列中に、テキスト文字列1これは”。
1ぷん”、1です”が含まれているか否かを検出できる
わけである。こ5した分から脩きへの変換はどの−が含
まれでいるかわかれば容易に信5ことができるので、不
可能ではない。
同様な手法は、連続する2文字あるいは3文字の出現頻
度から単語の誤まりチェ、り【行う英単紬誤まり検出シ
ステムやd声認識にJいても用いることができる。
しh)Lながら、パターン文字列の連続した部分列との
比較は文字の比較量回数が丼9度に多(1通常の計算機
で逐次的に4J!したのではオーバーへ。
ドが大さく、やはり専用のハードフェア装fILt−必
要とすることになるので好ましくはない。
さらンζ、is認識においては人カバターン文字列とし
C正しい文字列がイ普られる訳ではな(、不 。
イルドキャラクタや任意長ワイルドキャラクタに対応さ
せることができる。この場合には、ワイルドキャラクタ
や任意長ワイルドキャラクタt−言むパターン文字列の
遁、mt、た部分列と一敢するパターンを見つげなくて
はならないので、やはり大変なことである。
本発明はこのような背景のらとにこれらの従来技術の欠
点を除去したものであり、複数のテキスト文字列からワ
イルド中ヤラクタ、任意長ワイルドキャラクタを含Uバ
ター〕文字列、あるいはパターン文字列O逓続しyc4
分列と一攻fるテキスト文字列を高速lこ検出するマツ
チ/ダ方法を提供するものであり・ 1979年3月に発行さ4tたfi繍「コノピユータ」
の第1241第3号(Computer 、 Vol、
 12,743)K掲載されたエル・ニー・ホラ−(L
、人、Hshllaat)氏の1テキスト・リトリ゛−
パルφコンビ、−タズ1CTaxt Retrieva
l Computers)と題する論文には文字列マツ
チングを高速に4壇する方法がいくつか述べられており
、(1)連想メモリを利用する方法、(2)セルラー−
ジ、りを初用する方法、F3J Ir @状態オートマ
トンを利用する方法、の3つに大別することができる。
もし本発明をこルら3つの分類にあてはめるとすれば、
(2)のセルラーT:1:)、り全外用する方法に属す
るものと云うてよい。
セルラーロジックt−利用した一モ来技術としては以丁
のものが刈られている。
まず1962年しで発刊されiヒズpシーディ/グ・オ
プ・エツジニーシーシー(Proceadムng of
FJCC)の第130−1364に掲俄さA ’Cいb
シー。
ヮイ・リー(C,Y、L6e)氏(Cよる1インターコ
ミエニケイテイング・セルズ、ベイ/ス・7オ7117
・グイストリビューティド・ロジ、り・コンビエータ’
 (Intercommunicating Ce1l
s、Ba5isfor a 1)istribuled
 Logic Computer)がその1つであり、
テ中スト文字列忙1文字ずつセルに格納し、セル毎にマ
ークビットを設け、パターン文字列を1文字ずつ各セル
Vζ転送し、セル単μに並列にマツチングを行う方法が
述べられている。
このリー氏のマツチング方法(よれば、全てのセルにお
いで伝送されたバターノリ)文字とテキストの各文字と
の比較が同時に行われるため、テキスト文字列の長さと
は無関係にパターン文字列の長さに比例した時間でマツ
チングを行うことができる。しかしながら、ワイルドキ
ャラクタや任意純ワイルドキャラクタおよびパターン文
字列の連続した部分列とのマツチング方法については述
べられていない、さらIlこ、リー氏のマツチング方法
をそのまま実現する九は一文字毎に比V−などのハード
クエ7を用意°する必要があり、当時としてVよ不倉域
なiツチング方法と考えられていた。
これらの欠点を解消し必要なハードクエ7jiit減ら
すために、1つのセルに複数のテキスト文字列を格納し
、かつワイルドキャラクタ、仕意艮プイルド中ヤラクタ
itむパターン文字列のマ、チ/グ倉実塊す、6マ、チ
ング方法が、1972年に発刊されたプロシーデインダ
ス・オグ・工7ジェーシークー(Proceeding
s of FJCC)の4691〜701員に掲載され
たエル°デー°ハy−(L、D・H*aly)氏による
報告1ザ・アーキテクチャ・オグ・7・コンテキスト・
アドレスト・セグメント・シークエノシャル・ストレー
ジ”(TheArchitectuve of a C
ontext Addressed8egment−8
equential Storage)に述べられてい
る。
このバリー氏のマツチング方法は、各セル毎にディスク
のトラ、りを対応させ、トラ、り内にテキスト文字列を
複数個格納し、テキスト文字列の各文字毎にマークビッ
トを設けるものでめりた。
このため1文字当7tりのハードウェアIkは減らせる
が、転送されてきたパターン1文字とのマツチン、グに
少な(ともディスク11転するだけの時間が必要になる
という欠点があった。
こルに対し、1978年に発刊された第4回ノン・ニュ
ーメリ、り嗜ワークショ、プのグロシーディング(Pr
oceeding、of 4th Non Numar
icWorksho9)の第8〜17真にm lia 
G Jtたジー・ヒー・コープランド(G、P、 Co
paland)氏による報告1ストリング・ストレージ
・アンド・サーチング・7オアーデータ・ベース・アプ
リケージ。
ナ゛ ン:インブリメ/テーシ、/・オン・)−インデ4”バ
ックエンド参カーネル(8tring 8trag*a
nd  8earching  for  Data 
 Ba5e Applications:Implem
entation  on  1m*  INDY  
BackandK@、、・1)Kは、各セルにパターン
文字列を格納し、パターン文字列の各文字毎にマークビ
ットを用意することにより、ディスク11転でパターン
文字列全体とのマ、チ/グを行う方法が述べられている
ディスクメモリを考えている限り、パターン文字列の各
文字単位にマツチングを行5よりは同じl&g1転でパ
ターン文字列全体とマ、チノグできる方が早いので、以
降セルラー−ジ、りによるマ。
チング方法としては、バター7文字列にマークビ、トを
用意し、パターン文字列にテキス)O各文字を転送する
マツチング方法が主流となっている。
また最近になり、バター7文字列とテキスト文字列とを
同時に動かしてマツチングを行う方法が、1980年1
月に@行されたコンピュータ(Computer)誌第
26〜403(K掲載された二ム・ジェー・7才スター
反び工、チ・デー・クング(M、J、Foster。
1−1.T、Kun、)両氏の”ザ・デザイン・オプ・
スペシャル・パーパス・グイエルニスアイ・チ、ブ(’
rh@Design of 8p@cial Purp
os@VL8IChip)と題する論文によって提案さ
れている。しかしながらこの方法では任意長ワイルド、
キャラクタを含むパターン1文字うことはできない。
セルラーI:I:)、り臘のマツチング方法に関する限
り、テキスト文字列をディスクメモリに格納する方法が
主流となっている。しかしながら現在のディスクでは各
トラック毎に数千から致方バイトが46納可能であり、
例えばテキスト文字列がキーワードのように16バイト
ずつに区切らnていたら、そのはとんとか逐次的に処理
されることになる。各キーワードにおいて同時にマツチ
ングを行うためには、各セルに少なくともキーワード単
位に割りつけることが必要である。また、半導体技術の
進歩により小量データ毎に比較−路などのI・−ドウエ
アを用意した集積回路を作ることはもはや不自然な方法
ではない。本発明はこのような背景のらとにテキスト文
字列をセルに格納し、パターン文字列i1文字ずつセル
に転送するり一氏。
バリー氏らのマツチング方法の欠点を改良したマ、チン
グ方法を提供するものである。
次に本発明の4解を助けるために、若干詳しくリー氏の
マツチング方法について述べる。この場合、テキスト文
字列の各文字は、第1図にボしたようにセル11のテキ
スト格納メモリ12に1文字ずつ格納される。セル11
%にマークビットレジスタ13が用意されて8す、aJ
i8値を0とする。
マ、チ/グは、セル接続バスlOを通してパターン文字
を1文字ずつ全てのセルIIK同時に転送るセルの右隣
りのセルのマークビットを1とする。
次にパターン文字t−1文字各七ル11に転送し、テキ
スト格納メモリ12に格納さ晶ている文字と転送された
文字が一款しかつマークビットがlのセルがあれば、そ
のセルのマークビ、)tOとL、右隣りのセルのマーク
ビ、 )t−1とする。に1.上の動作をパターン文字
列の文字数だけ繰り返すと、マークピットが1のセルは
パターン文字列と一致じたテキスト文字列の次のセルを
表わしている。
このリー氏の方法によれば、パターン文字は全てのセル
11cc同時に転送さルるため、テキスト文字列の長さ
とは無関係にパターン文字列の長さに比例した時間でマ
、チ/グが処理できる。しかしながら、このリー氏のマ
ツチング方法は以Fの4点tζ代表される欠点を持つ。
■ 任意長ワイルドキャラクタを含むバター7文字列が
仮えない。
■ バター7文字列の連続した部分列とのマツチングが
孜えない。
■ 各セルに1文字しか格納できないため、1文字当た
りのハードウェア量が多い。
■ テキスト文字列を区切るための特殊な区切り記号を
必要とする。
次にバリー氏のマツチング方法についても若干詳しく述
べる。この場合、テキスト文字列は、第2図に示したよ
うにセル21毎に用意されたディスクメモリ22に格納
さルる。テキストの各文字毎にスタートビット領域23
とマークピット領域24とが用怠されており、区分され
たテキスト文字列の最初の文字のスタートビ、トとマー
クビ。
トとにはlをセットし、その他の文字のスタートビット
とマークピットとには0をセットする。
マツチングは、ディスクメモリ22の始まりを表わすオ
リジン25から逐次的に行われる。マ。
チングの方法にはストリングサーチ(string@・
arch)とオーダーサーチ(order s@arc
h)との2種類が適用でき、前者はり一氏のマツチング
方法と同様な手法で、ワイルドキャラクタあるいは普遍
のパターン文字列の文字とテキスト文字列とのマツチン
グを行う、オーダーサーチは、バター7文字列の任意長
ワイルドキャラクタの次の文字に対して行い、任意長ワ
イルド中ヤラクタの効果を実現する。
オーダサーチは次のようにしで行われる。
例として、テキスト文字列“MI8HI881PPX“
 とパターン文字列@M*8fI”とのマ、チ/グを考
える。バター7文字列′″M*S”  とのマ、チ/グ
が終Tした状態でテキスト文字列のマークピットは次の
ようになっている。
テキスト文字列  MISI(IS8IPPIマークビ
、)    00100000000パタ一ン文字列の
残りはtl”なので1工”に関してオーダサーチが行わ
ルる。オーダサーチでは、テキスト文字列の各11”に
おいて、テキストの最初の文字までにマークピットが@
l″の文字があれば“l′を、なげれば10”を1工”
のマークピットの値とする。その結果、マークピットは
次のようになる。
テキスト文字列  MISHI88IPPIマークビy
)    00001001001また、テキスト文字
列に任意長のパターン文字列と一致する記号$を含める
ことにより、パターンの連続した部分列とのマ、千ング
も可能である。
しかじながら、こうしたバリー氏のマツチング方法は以
下のような欠点を持つ。
■ パターン1文字とのマツチングに少なくともディス
ク1回転の時間がかかる。
@ 1つのテキスト文字列が複数のセルにまたがるとき
は、マツチング時にセル間の通信が必要となる。
■ 1つのセルに複数のテキスト文字列が格納されると
きは、各テキスト文字列とのマツチングは逐次的Kfi
通される。
■ 各テキスト文字列を区分するためのスタートビ、ト
が必要である。
本発明は以上の欠点を排除し、高速かつ高度な文字列マ
ツチング方f&を提供するものである。A体内には、複
数の文字より構成されるテキスト文字列を格納するデキ
ストパ、ファと、前記テキスト文字列の各文字対応に設
げられたマークピットと、前記マークピットからマ、チ
/グにより生成された結果を一時的に格納する新マータ
ビ、トと。
マツチングをアンカーモードで行うときは@0”を7ン
7ンカーモードで行5ときは1″を値とするモード信号
と、を具備するセルにテキスト文字列M・Ml−・・M
n、を格納し、 前記テキスト文字列M、M、−,,Mn−IC)各文字
対応に設けられたマークビy )baJ・=bn1  
のうちマークピットbeには初期値として11”をセ。
トし、マークピットb1からbfi−□には初期値とし
て”0”をセットシ、 前記テキスト文字列M、M、−Mn、とのマツチングの
対象となるパターン文字列を構成するパターン文字を1
文字ずつ前記セルに転送し、前記パターン文字が任意長
ワイルドキャラクタ(すなわち任意長の文字列と一致す
る記号)のときはテキスト文字列M、M、・−Mll、
の各文字Mjに対応させてマークピットb。からす、ま
での値の論虐相を新マークピットCj O値としてセッ
トし、次に新マークビ、トC3の値をマークピットbj
の値としてセットシ、 前記パターン文字がワイルドキャラクタ(すなわち任意
の文字と一致する記号)のときはテキスト文字列MoM
1.−M、 、の各文字Mjに対応させてマークピット
b・の値を新マークビy ) c jKセットシ、次に
マータビ9トbj#Cは新マークビy ) Cjlの値
をセットするがマークピットb0には前記モード信号の
値をセットシ、 前記パターン文字が前記任意長ワイルドキャラクタでも
前記ワイルドキャラクタでもないときはテキスト文字列
M6MM・−bifl、の各文字M、に対応させてマー
クビy ) JO値が@l”でかつ前記文字Mj  と
前記パターン文字とが一致したときく限り新マークビy
 ) cjt″@1”にセットし、そうでないときは新
マークビy ) Cjt−0”にセットし、次にマーク
ビ、)bjには新マークビ、トe j−1の値をセット
するがマークピットb、には前記モード信号の値をセッ
トシ、 以上の動作を前記パターン文字列を構成している全ての
パターン文字について繰り返し、新マークビy ) c
 fi−1の値が@l” となうたときに前記セルに格
納されたテキスト文字列が前記バター7文字列全体(マ
、チ/グが7ンカーモードで行われCいるとき)あるい
は前記パターン文字列の連続した部分列(マツチングが
アンアンカーモードで行われているとき)と−款したこ
とを検出する、ようにしたことを特徴とする高速文字列
マツチング方法である。
本発明のマ、チ/グ方法においては、ワイルドキャラク
タ、任意長ワイルドキャラクタを含む/<ターン文字列
が数え、さらにパターン文字列の連続した部分列と□の
マツチングも可能である。各セルには複数文字が格納石
れるため1文字当たりのハードウェア量もそれほど多(
ならない。1つのテキスト文字列は1つのセルに格納す
るため、テキスト文字列を区切るための特殊な区切り記
号やスタートビ、トを必要としない。1つのテキスト文
字列が複数のセルにまたがることがlよいので、マツチ
ング時にセル間の通信は不要である。逆に複数のテキス
ト文字列が1つのセルに格納されることもないので、各
テキスト文字列は並列にマ。
チ/グを行うことができる。さらに各セルは規模が小さ
くかつ同一構成のため集積1ヒが容易であり、多数セル
tlチ、プ化することがgJflである。
また、マ、千ングのモード信号を変更することで、同じ
テキスト文字列に対してパターン文字列全体と一致させ
る7ンカーモードとパターン文字列の連続した部分列と
一致させるアンアンカーモにa@する。
例として、テキスト文字列” DATABAS M”と
、<ターン文字列”D?ム本EI′とのアンカーモード
でのマツチングを考えろ。
テキスト文字列″DATABA8j!”のマークピット
の初期値は第31Afl)のよ5iC与えられる。
始めにパターン文字@D”が転送さnると、1D”は普
通の文字なのでマークピットが71 mでかつテキスト
文字が@D”の文字に対応する新マークビ、トだげが@
1′となる(第3図(2)新マークビ、ト)。つぎに新
マークピットが1ビツトずつシフトされてマークピット
にセットされ、さらにマークピットb・にはモード信号
(こO場合qエアンカーモードなので10”)がセット
される(縞3図(2)マークビット)。
次にパターン文字1!”が転送されると Ill ? 
#は任意長ワイルドキャラクタなので、マークビ。
トのboからbj  までの論塩和が新マークビ、トC
j にセットされ、新マークビ、トがそのままマークビ
ットにセットされる(第3図+3))、すなわち、一度
マークビ、トが11′″となったら暇降のマークビット
は全て611111となる。
次に、パターン文字1A′が転送されると、1人”は普
通の文字なので、パターン文字”D′″のときと同様に
してマツチングが行われる(第3図(4))。
次に、パターン文字1本”が転送されると、“*”はワ
イルドキャラクタなので、マークビ。
トがそのまま新マークビ、トとなり、lビ、トシフトさ
れてマークビットlこセットされる(第3図15) )
次に、パターン文字1E”が転送されると、1B1は普
通の文字なので、パターン文字@D”のときと同様にし
てi、チングが行われる(第3図(5))。このとき、
新マークビ、トにおいてC管が@11となるので、テキ
スト文字列@I)ATABA8B”とパターン文字列”
Dv人本E″と一致したことが検出される。
アンアンカーモードにおけるマツチングは、パターン文
字が普通の文字あるいはワイルドキャラクタのときにマ
ークビットb、にセットされるモード信号の値が@1”
となるだけで、マツチング方法としては以上説明したア
ンカーモードの場合と本質的な差はない。
次に本発明のマツチング方法t−笑現するセル構成につ
いてその具体内な一実施例を挙げて説明する。
菖4図にセルの全体構成を示す、テキスト文字列の集合
は、テキスト文字列単位にセル31に格納される。テキ
スト文字列のセルへの転送は、テキスト文字列転送バス
32を通して行われる。マ、チ/ダの対象となるバター
7文字は、パターン文字転送バスを通して全てのセル3
1へ同時に転送すれ、各セル31においてマ、チ/ダが
並列に行わルる。マツチングを7ンカーモードで行うか
777/カーモードで行うかを決めクモード信号や、各
セル31へのデータ転送に必要な制御直号は、制御バス
34を用いて各セル31へ転送される。各セル31に3
いて格納しているテキスト文字列がパターン文字列ある
いはパターン文字列の連続した部分列と一致したことが
検出さnると、マ、チ/グ成功を示す信号が制御バス3
4を通して図示されていない外部の制御二二、トに伝達
される。
第5−は、本実施例で使用したセル構成を示すグGAy
り図である。図中において、40はテキスト文字列M、
M、 =、Mn、を第0番地から格納するテキストバッ
ファを表わし、41はテキスト文字列の最後の文字を@
l”で示す最終文字ビットを表−わす。
50はマークビットbob□・・・bQ 、を第0番地
から格納するlビ、ト絖出しが可能なマークビ。
トパッファを表わし、60は新マークビ、ト13 @ 
C1−”” Cn−1をgos地から格納するlビ、ト
書き込みならびに1ビ、トシ7トが可成な新マークビ、
ドパ、7アを表わす。
70はセル31に転送されてきたパターン文字を格納す
るためのパターンバy7yt表わし、80は制御回路を
表わす。
次にテキスト文字列”DATABム8B”とパターン文
字列”DtA本g’との7ンカーモードでのマツチング
を例にして、セル31のへ体内励作について述べる。
始めに、テキスト文字列M・Ml−・・M、0格@につ
いて述べる。
制御バス34からテ中スト文字列転送Ogi号が信号線
86を通して制御回路80に与えらルるとテキスト転送
バス32からテキスト文字列@I)ATAHAf9M’
 ボテ−1ス)バ、7,400$11101地から第7
番地に格納される。このとき、最終文字ビ、)41Kg
いてはチャスト文字@l!”に対応する菖7喬地のビッ
トが11”にセットされる。
次に、マークビットb@J −bfi−、の切期化につ
いて述べる。制御バス34よりi、チンダi!lI麹の
11t号が制御回路80に与えられると、1s号−81
t−用いてマークビ、ドパy7y500第0喬地に11
′が、第111地以降には@o′がセットされる。
次に、パターン文字の転送とマツチングについて述べる
。パターン文字列@D?A*l”の各バター7文字は、
パターン文字転送バス33を通してセル31 O/< 
l −ンハ、 7ア70に転送される。このとき制御バ
ス34を通して制御回路80にパターン文字転送の信号
が送られてマツチングが開始される。
パターン文字転送70に1D”が与えられると、制御回
路80はパターンパ、7ア70tデコードし、普通の文
字とわかると信号線82.84の値を@0”とする0次
にアドレスレジスタ90vCM号線83を通しCクリア
1を号を転送し、マツチングを開始する。アドレス、l
191によりアドレス鍼O1” I −# ” #−一
が生成され、テヤストバ、7ア40、最終文字検出ビ、
)41.マークビットバッファ50から対嘉6するアド
レスの値が疏み出され、対応する新マークビ、トの鑞が
新i−タビ。
ドパ、7ア60に書き込まれる。
マツチングは次の要領で行われる。データ線42にはテ
キスト文字り、A、T、ムe B を人。
s 、 g 、 、、、絖み出され、比較1絡110K
Jい(パターン文字@D′との比較が行われる。この−
来、比較回路11Gからの出力111111には1,0
,0゜o、o、o、o、o、−が出力される。4I4J
IIII182の値線@O”なのでOB回路12Gでは
信号−82の値がそのまま信号l1121に出力され、
AND回路130に人力される。一方、信号1s51か
らはマークビy ) /% y 7ア50η1ら挽み出
された練1.0,0,0,0,0,0,0.−がMD 
l7Pil路に入力され、結局、t、o、o、o、o、
o、o。
0、−が信号#1131を通してフィードパ、り回路1
4Gに入力される。フィードパ、り回路では信号線84
が”O″なので、人力−がそのまま出力され、新マーク
ピットとしてl、0,0,6,0,0゜o、o、−一が
新マークビ、ドパ、7760にIlき込まれる。
次に、新マークビ、ドパ、ファ60において、信号@8
4の値がl011なので新マークビ、トの値を1ビツト
シフトし、制御バス34から信号線62を通して転送さ
れたモード信号″O1″を第0番地に書き込み、データ
1ii61を通してマークビ。
ドパ、フ)”50にセットする。マークビアドパ。
7ア50の値は0,1,0,0,0,0,0,0゜・−
となり、普通の文字とのマ、チ/グが完了する。
次に、パターン文字1?”に対する1、チングは次の要
領で行われる。パターンバ、7.70に11”が与えら
れると、制御回路80 、iこれをデコードし、任意長
ワイルドキャラクタとわかるとjH号IIA ’ 2−
84 O11[t @1 ’ トt ルe IxK 7
ドレスレジスタ90にクリア信号を転送し、マ、チ/グ
を開始する。パターン文字@D”のときと同様にしてデ
ータ線42にはテキスト文字が挽み出され、比較回路1
1Gでパターン文字1!”との比較が行われるが、信号
−82の値が@1′なOで、AND回路12Gにおいて
比較−路110の出力は全て@1”となり、マークビア
ドパ、7ア50から枕み出された1(0,1,0,0,
0,0,0,0,、=がそのままフィー1バツク回路1
40に人力される。
フィードパ、り回路140では信号線84が11@なの
で前の出力信号との論塩相が出力される。すなわち、フ
ィードパ、夕回路の出力は一度人力が@1″となると、
以降の出力は信号1M184が@0”となるまで@l”
となる。よりて、新マークビ、ドパ、 7 、60 v
)憾は0,1,1,1 、l、l、l。
1、−となり、信号#I84の値が11”なので新マラ
クタとのマツチングが完了する。
このときS’?の値が@1″となるので、テキスト文字
列@j)ATABA8g”がパターン文字列”Dt”と
−政したことが検出されるが、これは次のようにして矢
魂される。す、フィードパ、り回路144)からの出力
信号411141には 0 、1 、 l 、 l 、 1 、1 、 l 、
 1 、−一が出力されている。一方%信号麿43には
最終文字検出ビットの値 0.0,0,0,0,0,0,1,0.・−が読み出さ
れ、AND回路160において出力信号線141と信号
線43の論理和がとられる。この結果、テキスト文字列
の最後の文字に対応する新マークビ、ト(この場合dマ
)が11”になると信号線161が111となり、制御
回路8QvC刈らされ、さらに、信号−86と1iIQ
御バス34を通して外部二二、トにテキスト文字列がパ
ターン文字列と一致しlこことが刈らされる。
次に、パターン文字1人”に対しては普通の文字@D”
と同様にマ、チ/グが行われ、マークビ、トレジスタ5
00鑞は 0.0,1.tJ、1,0,1.O,O,−となる。
次に、パターン文字°*”とのマツチングは次の要領で
行われる。パターンバッファ70 (C@*”が与えら
れると、信号線71を介しC伝達され、制御回路80t
よごれをグコードし、ワイルド中ヤラクタとわかると信
号−82の値を11”に(Jl−4t線84の値を@O
″とする0次Vζアドレスレジスタ90にクリア信号を
転送し、マツチングを開始する。
信号線82がJllなので、任意長ワイルドキャラクタ
のときと同様にして、OB回路120 K gいてテキ
スト文字列との比較線無視され、マークビ。
トパッファ50から疏み出された値がそのままフィード
パ、り回路140に入力される。以降は信号線84の値
が10”であるから、普通の文字1D”のときと同様に
してフィードパ、クー路ム40への入力がそのまま新マ
ークビ、ドパ、ファ60に書き込まれ、1ビ、トシフト
して第OJI鳩にモード信号がセットされマークビット
レジスタ50に0.0,0,1,0,1,0,1.−。
がセットされる。
次に、バター/文字”i”に対しては、普遍の文字@D
”と同様にマツチングが行われ、マークビットレジスタ
50のm伏 o、o、o、o、o、o、o、o、− となる、シ2J)シながら、この藺にフィードバック回
路14Gの出力L O,0,0,0,0,0,0,1,− となり、111:、1長ワイルドキヤラクタのときと同
様にしてAND Ig回路160 においてテキスト文
字列@DATABA、9Fi”とバター7文字列@Dt
A*j!i”と一致したことが検出される。
本実施例でヅよチャスト文字列とパターン文字列とのマ
ツチングが各セル単位Kt列に行われるので、パターン
文字列に比例した#間でパターン文字列と一歌するテキ
スト文字列を検出することができる。
また、各セルは少ないハードウェア量で構成でき、かつ
同一構成となるため現在の集積技術であれば多数のセル
t−1チ、プ上に構成できる。
さらに、各セルは共有バス上に並列に接穂させるだけで
なく、酸ノー的K 、d続することにより、鍛練ハスの
データ通信ネックを減少させることができる。
【図面の簡単な説明】
第1図は従来技術の一つであるリー氏のマツチング方法
を説明するための図であり、42図tユやはり従来方法
の一つであるバリー氏のマツチング方法を説明するため
の図である。#!3図は本発明のマツチング方法のマー
クビット葛よび新マークビ、トO遷移を例示したもので
あり、第4sは本実施例のシスデム構成を説明するため
の図であり、また菖5図はセル構成を説明するためのグ
ー、り図である。

Claims (1)

  1. 【特許請求の範囲】 複数の文字で構成されるテキスト文字列を格納するテキ
    ストバッファと、前記テキスト文字列に対して各文字対
    応で設けたマークピットと、前記マークピットからマツ
    チングにより生成された精巣を一時的に格納するために
    発生させる新マークピットと、マツチングをアンカーモ
    ードで行うときは@O”を7ン7ンカーモードで行うと
    きはelmを値とするモード信号と、t−具備するセル
    にテキスト文字列MO,M1・・・Mn−8を格納し、
    前記テキスト文字列M、M1−Mn−、の各文字対応に
    設けられたマークピットb・bt・−bn−t のうち
    マークピットbOには初期値として1”をセットシ、マ
    ークピットb Hghらbn−1には初期値として”O
    #をセットシ、 前記テキスト文字列M。Ml・・・Mn 、  とのマ
    ツチングの対象となるバター/文字列を構成するパター
    ン文字を1文字ずつ前記セルに転送し、前記パターン文
    字が任意長ワイルドキャラクタ(すなわち任意長の文字
    列と一致する記号)のと赤はテキスト文字列M、M、−
    Mn、の各文学科に対応させてマークピットb、からb
    jまでの論理和を新マークビットCの値として七、トシ
    、次に新マークビy ) ciの値をマークピットbj
    の値としてセットシ、 前記パターン文字がワイルド中ヤラクタ(すなわち任意
    の文字と一致する記号)のときはデキスト文字列M、M
    、−Mゎ−、の各文字Mjに対応させテマークヒ、トb
    jの値を新マークビy ) ciにセ、トシ、次にマー
    クビy トbj  Kは新マークビ。 )c」 Hの値をセットするがマークピットb0には前
    記モード信号の値をセットシ、 前記パターン文字が前記任意長ワイルドキャラクタでも
    前記ワイルドキャラクタでもないときはテキスト文字列
    M、 MビーMfi 、の各文字MjK対応させてマー
    クピットbj の値が′″11でかつ前記文字内 と前
    記パターン文字とが一致したときく限り新マークビy 
    ) cj  を”1″にセットシ、そうでないときは新
    マークビy)cjlj:”0”にセットし、次にマーク
    ビ、)bjには新マークビ、トCj  1の値を七、卜
    するが1−クビ、トb、には前記モード信号の値をセッ
    トシ、 以上の動作を前記パター/文字列を構成している全ての
    パターン文゛字について繰り返し、新マークビy)cf
    ilの値が”1” となったときに前記セ/&に格納さ
    れたテキスト文字列が前記パターン文字列全体(マ、チ
    /グが77カーモード°で行われているとき)あるいは
    前記パターン文字列の連続した4分列(マツチングが7
    ン7ンカーモードで行われているとき)と−蚊したこと
    を検出する、よ5Wこしたことを特徴とする高速文字列
    マツチング方法。
JP56196500A 1981-12-07 1981-12-07 高速文字列マツチング方法 Granted JPS5897743A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP56196500A JPS5897743A (ja) 1981-12-07 1981-12-07 高速文字列マツチング方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP56196500A JPS5897743A (ja) 1981-12-07 1981-12-07 高速文字列マツチング方法

Publications (2)

Publication Number Publication Date
JPS5897743A true JPS5897743A (ja) 1983-06-10
JPH04308B2 JPH04308B2 (ja) 1992-01-07

Family

ID=16358784

Family Applications (1)

Application Number Title Priority Date Filing Date
JP56196500A Granted JPS5897743A (ja) 1981-12-07 1981-12-07 高速文字列マツチング方法

Country Status (1)

Country Link
JP (1) JPS5897743A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62264498A (ja) * 1985-11-08 1987-11-17 テキサス インスツルメンツ インコ−ポレイテツド 内容アドレス式メモリ
JPS62288933A (ja) * 1986-06-09 1987-12-15 Fujitsu Ltd 手書き入力辞書検索装置
JPS63206829A (ja) * 1987-02-23 1988-08-26 Hitachi Ltd 文字列検索装置の障害検出方式
JPS63276789A (ja) * 1987-01-14 1988-11-15 ウニファシテ ドゥ シオンス エ テクニク ドゥ リュウ フランドル アートワ 電子メモリの制御方法、その方法に使用するための手段およびその手段を備えた装置
JPS63298893A (ja) * 1987-05-29 1988-12-06 Nippon Telegr & Teleph Corp <Ntt> 連想メモリ装置
JPH05189485A (ja) * 1992-01-09 1993-07-30 Pfu Ltd キーワード検索方式

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62264498A (ja) * 1985-11-08 1987-11-17 テキサス インスツルメンツ インコ−ポレイテツド 内容アドレス式メモリ
JPS62288933A (ja) * 1986-06-09 1987-12-15 Fujitsu Ltd 手書き入力辞書検索装置
JPS63276789A (ja) * 1987-01-14 1988-11-15 ウニファシテ ドゥ シオンス エ テクニク ドゥ リュウ フランドル アートワ 電子メモリの制御方法、その方法に使用するための手段およびその手段を備えた装置
JPS63206829A (ja) * 1987-02-23 1988-08-26 Hitachi Ltd 文字列検索装置の障害検出方式
JPS63298893A (ja) * 1987-05-29 1988-12-06 Nippon Telegr & Teleph Corp <Ntt> 連想メモリ装置
JPH05189485A (ja) * 1992-01-09 1993-07-30 Pfu Ltd キーワード検索方式

Also Published As

Publication number Publication date
JPH04308B2 (ja) 1992-01-07

Similar Documents

Publication Publication Date Title
US6760821B2 (en) Memory engine for the inspection and manipulation of data
CN102725790A (zh) 识别词典制作装置及声音识别装置
JP2715465B2 (ja) 記号列照合装置
JPS5897743A (ja) 高速文字列マツチング方法
US20070168779A1 (en) Testing of a CAM
JP2880199B2 (ja) 記号列検索方法および検索装置
JP2825009B2 (ja) 記号列検索方法および装置
JPH0312896A (ja) 半導体記憶装置
WO2023210643A1 (ja) 全文検索プロセッサ
RU2580803C1 (ru) Устройство поиска информации
JPH0752450B2 (ja) 辞書デ−タ検索装置
Yamada et al. A character string search processor
JPS6282466A (ja) 辞書検索装置
JPS62214468A (ja) かな漢字変換装置
JPS603017A (ja) カナ漢字変換処理装置
JPH03100997A (ja) 選択的連想記憶装置及びその制御方式
JPS61145798A (ja) 記号列連想メモリ装置とその動作制御方式
JPS63103393A (ja) 単語認識装置
JPS59125424A (ja) 文字処理装置
JPH01205226A (ja) 単語辞書検索装置
JPH01205267A (ja) 単語辞書検索装置
JPS59167737A (ja) かな漢字変換装置
JPH0550078B2 (ja)
JPS6324458A (ja) 自然言語処理装置
JPH0670788B2 (ja) 巣語辞書検索装置