JPH0619800B2 - 文字列照合装置および同装置での階層的文字列照合方式 - Google Patents

文字列照合装置および同装置での階層的文字列照合方式

Info

Publication number
JPH0619800B2
JPH0619800B2 JP62200208A JP20020887A JPH0619800B2 JP H0619800 B2 JPH0619800 B2 JP H0619800B2 JP 62200208 A JP62200208 A JP 62200208A JP 20020887 A JP20020887 A JP 20020887A JP H0619800 B2 JPH0619800 B2 JP H0619800B2
Authority
JP
Japan
Prior art keywords
character string
memory
memory area
output
code
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
Application number
JP62200208A
Other languages
English (en)
Other versions
JPS6442784A (en
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.)
NEC Corp
Original Assignee
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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP62200208A priority Critical patent/JPH0619800B2/ja
Priority to DE3801380A priority patent/DE3801380A1/de
Priority to US07/146,164 priority patent/US4958377A/en
Publication of JPS6442784A publication Critical patent/JPS6442784A/ja
Publication of JPH0619800B2 publication Critical patent/JPH0619800B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は情報検索システムや情報通信システムなどに用
いられる文字列照合装置および同装置での階層的文字列
照合方式に関するものである。特に、上記文字列照合装
置は入文データ文字列(テキスト情報や通信メッセー
ジ)が登録パタン文字列(キーワードとかメッセージの
宛先など)のどれとどこで一致するかを判別するデバイ
スで構成できるものであって、ネットワークを介して高
速に伝送される情報の中から各個人の要求に合った情報
だけを効率的に選択できるようにする役割と、伝送され
たりファイルされたりする大量の情報を圧縮する役割と
を果すものである。
〔従来の技術〕
テキストやメッセージを構成する文字列の中から特定の
文字列いくつかを見つけ出すためには、いくつかのパタ
ン文字列をメモリに貯えておいて、それ等をテキストや
メッセージなどの入力データ文字列と1文字ずつ比較す
る必要がある。入力データ文字列の中の各文字列長さに
区切りがなかったり、文字列長さが任意でなかたり、パ
タン文字列の個数が大きかったりすると、ソフトウエア
では処理速度が非常に低い。そこで、ハードウエアによ
る処理方法がいくつか提案されている。
例えば、連想メモリやセルラーアレイを用いる方法は文
字列長が一定で、しかも文字列に区切りがある時に、処
理速度が高くなる。しかし、そうでない現実的な場合に
は性能が上りにくい。文字列照合論理の有限状態オート
マトン(FSA)の状態遷移表を記憶するRAM(ラン
ダムアクセスメモリを用いるFSA方法は文字列長が任
意であってもよいが、文字列に区切りが必要であるし、
状態遷移表を作ってRAMに書込む作業がめんどうであ
る。
これに対して、特開昭60-211539号公報の「記号列識別
装置及びその制御方式」(本願発明者による発明)がメ
モリと順序論理回路とエンコーダとの組合わせによる、
多数パタン文字列と入力データ文字列との並列照合処理
方法を提示している。この方法では、メモリ部の登録パ
タン文字列の数をPとし、入力データ文字列の入力速度
をFとし、単位パタン文字列の長さをLとし、一斉に比
較される文字数をN=PLとすると、毎秒NF回の文字
比較という高い処理速度が達成される。さらに、上記の
記号列識別装置の構成はメモリとロジックとエンコーダ
であるから、LSI化に向いている。
しかし、メモリに登録されるパタン文字列の数を増やす
時に合わせてロジックやエンコーダもそれに比例して増
大すると共に、パタン文字列の複合語の登録が文字列の
重複登録を招き、メモリの利用効率を低下させる。
パタン文字列の個数が256個までなら、エンコーダは
8ビットで良いが、パタン文字列の個数が1024以上
になってくると、エンコーダは大規模になり、そこでの
配線が急激に増加し、その回路サイズを顕著に大きなも
のにする。特に、プライオリティーエンコーダの場合に
は、回路サイズが大きくなるだけでなく、処理速度が低
下するようになる。そして、処理速度の低下を防ぐに
は、6〜7ビット以下に制限されるる。そのために、メ
モリ容量の方も制限されるのでは具合が悪い。
複合語に関して言えばたとえば、通信衛星・通信事業・
通信機関・通信学会・通信販売と合わせて、販売活動・
事業活動・活動機関・販売組合・組合活動・学会活動な
どをパタン文字列としてメモリに登録する時に、44文
字分のメモリエリヤが確保される必要がある。ところ
が、これらの文字列の中で通信は4回も出現し、活動も
4回出現し、重複して登録されていることになる。この
ような複合語が非常に多くなると、メモリの利用効率は
低下してしまう。
〔本発明が解決しようとする問題点〕
エンコーダ部分が大きすぎるために、パタン記号列を登
録するメモリ部分を大きくきないという問題点と、複合
語など階層的文字列を登録する時に同じような文字列が
何度も登録され、メモリの利用効率が低くなるという問
題点があるために、LSI化した文字列照合装置での登
録パタン文字列数が実質的に大きくならなかった。そこ
で、本発明の目的はこれら二つの問題を一挙に解決する
事にある。
〔問題点を解決するための手段〕
したがって、本発明の文字列照合装置および同装置での
階層的文字列照合方式の第一の発明は、複数個のメモリ
エリヤに分れた連想メモリ手段と、前記メモリ手段に対
応して複数個に分かれた順序論理手段と、エンコード手
段と、前記エンコード手段の出力を一時的に前記連想メ
モリ手段へフィードバックする割込みスイッチ手段とを
備えて構成される。
さらに、本発明の第二の発明は、登録パタン文字列を短
かいパタン文字列へ階層的に分割し、階層毎に割当てら
れたメモリエリヤに格納し、入力データ文字列が低階層
メモリエリヤのパタン文字列とマッチした時に、前記エ
ンコード手段の出力を前記割込みスイッチ手段を介して
一時的に前記入力データ文字列と交換し、高階層メモリ
エリヤの前記パタン文字列と比較するようにした事を備
えて構成される。
〔作用〕
パタン文字列を登録する連想メモリ部を複数個のメモリ
エリヤに分割し、各メモリエリヤを選択的にアクセスで
きるようにすることによって、プライオリティーエンコ
ーダを大きくしないで、連想メモリ部の記憶容量を大き
くできると共に、連想メモリ部における単位文字列の重
複登録を少くして、トータルの登録パタン文字列数を大
きくすることができる。
たとえば、単位パタン文字列として通信・衛星・事業・
機関・学会・販売・組合・活動を登録し、それの識別コ
ードをそれぞれ、A・B・C・D・E・F・G・Hと
し、通信衛星をAB・通信事業をAC・通信機関をAD
・通信学会をAE・通信販売をAF・販売活動をFH・
事業活動をCH・活動機関をHD・販売組合をFG・組
合活動をGH・学会活動をEHとして別メモリエリヤに
登録すると、44文字の格納エリヤが38文字分で済む
ようになる。この例では節約になるるメモリエリヤサイ
ズはごくわずかであるが、複合語以外に単一単語8個も
識別の対象になると、60文字の格納エリヤが38文字
に減少したことになる。
〔実施例〕 第1図は本発明の文字列照合装置の一実施例基本構成図
であり、本発明の基本構成を示している。
複数個のメモリエリヤ120-1〜120-4に分割された連想メ
モリ部120と、各メモリエリヤに対応して個別に動作
できる複数個の順序論理回路130-1〜130-4から成るロジ
ック部130と、ロジック部130のどの位置からマッ
チ信号が発生したかを識別するエンコード部140と、
エンコード部140の出力によって指定された番地から
連想メモリ部120のメモリエリヤの選択コードを出力
する選択コードメモリ部150と、選択コードメモリ部
150の出力によってロジック部130の中の順序論理
回路を選択的に動作させるクロック信号制御部160
と、選択コードメモリ部150の出力とエンコード部1
40の出力を受け入れる割込みスイッチ部170とが本
発明の文字列照合装置の構成要素である。
入力データ文字列は、上端中央部の入力端子101から
割込みスイッチ部170を介して、連想メモリ部120
にある4つのメモリエリヤ120-1・120-2・120-3・120-4の
1つに入力される。どのメモリエリヤに入力されるか
は、割込みスイッチ部170から与えられるメモリエリ
ヤ選択コードによって決められる。入力端子101から
入力データ文字列を受付ける時には初期状態であるの
で、メモリエリヤ・コードが“00”であって、メモリ
エリヤ120-1が選択される。合わせて、順序論理回路130
-1が選択されるように、クロック信号制御部160が働
く。したがって、メモリエリヤ120-1の中に登録された
最小単位のパタン文字列が入力データ文字列と比較され
る。すなわち、メモリエリヤ120-1の出力する文字コー
ドレベルのマッチ信号は順序論理回路130-1に選択的に
入力され、順序論理回路130-1において、文字列照合が
行なわれる。
文字列照合結果は、エンコード部140によってパタン
文字列の識別コードに変換されて、外部へ出力される。
合わせて、選択コードメモリ部150に与えられ、階層
的に上位のパタン文字列(たとえば複合語)であるか否
かを示すエリヤコードが、選択コードメモリ部150か
ら出力される。エンコードの“00”は上位のパタン文
字列の存在しない事を示す。もし、選択コードメモリ部
150から出力されるエンコードが“01”ならば、上
位パタン文字列がある筈だと判断して、エリヤコード
“01”と共にエンコード部140の出力する識別コー
ドが割込みスイッチ部170を通過でき、一時的にメモ
リエリヤ120-2に入力される。そして、メモリエリヤ120
-2の出力が、ロジック部130の中の2番目の順序論理
回路130-2に選択的に入力される。そこでの照合結果
は、エンコード部140によって、メモリエリヤ120-2
に対する識別コードに変換される。
選択コードメモリ部150は、出力しているメモリエリ
ヤ・コードによって次の出力内容が変る。つまり、現在
のメモリエリヤコードとエンコード部140の出力する
識別コードによって、次に割込みで選択駆動されるメモ
リエリヤが決定される。割込みによってアクセスされた
メモリエリヤの出力に従ってロジック部130がマッチ
信号を出力しないならば、メモリエリヤコードが“0
0”に戻って、次の入力データ文字列の受付けを行う。
このような文字列照合装置の連想メモリ部120部への
パタン文字列の登録は、登録すべきパタン文字列が“0
0”メモリエリヤ120-1にすでに登録済みでないかどう
かのチェックが始まる。登録されていないパタン文字列
の各部は、“00”メモリエリヤ120-1に追加登録され
る必要がある。もし全ての部分メモリ文字列が登録済み
である時には、それの組合せから成るパタン文字列は
“01”メモリエリヤ120-2に追加登録される。また、
“01”メモリエリヤ120-2に登録されたパタン文字列
をいくつか配列して構成されるパタン文字列は“10”
メモリエリヤ120-3に追加登録される。同様にして、
“10”メモリエリヤ120-3に登録されたパタン文字列
の組合せパタン文字列は“11”メモリエリヤ120-4に
登録される。
以上のようなパタン文字列の登録方法を、階層的に区分
されたパタン文字列の階層的登録方法と呼ぶ。この方法
を用いると、メモリエリヤに登録できるパタン文字列数
4文字単位で64個程度だとしても、4つのメモリエリ
ヤ120-1・120-2・120-3・120-4に登録できるパタン文字
列はそれぞれ4文字単位のもの64個、16文字単位の
もの64個、64文字単位のもの64個、256文字単
位のもの64個に及ぶ。したがって、登録されるパタン
文字列を文字数に換算すると、それは約2万文字に及
ぶ。本来なら4つのメモリエリヤでは、各エリヤに25
6文字ずつで、合わせて1千文字分しか格納され得な
い。したがって、階層的登録方法がフルに活用されるな
らば、文字登録数が20倍に増える事になる。20に至
らなくとも、この効果は大きい。
4つのメモリエリヤに登録されるパタン文字列数がが文
字登録数で20に増えても、各メモリエリヤに登録され
るパタン文字列数が64のままであるとすれば、エンコ
ード部140は6ビット分で良く。そう大きなサイズに
ならない。しかも、4つのメモリエリヤに共通であって
時分割で利用されるので、回路の利用効率が高くなる。
選択コードメモリ部150は6ビット+2ビットのアド
レスコードで選択される各番地に2ビットの選択コード
を記憶するだけであり、512ビットのRAMで容易に
実現される。
以下で各部の詳細な構成の説明を行う。
第2図(a)及び(b)ならびに第3図(a)及び(b)は本発明の
中の連想メモリ部の一実施例を示している。
第2図(a)は入力端子101から与えられる文字コード
(今の場合、4ビットとした)と、連想メモリ部120
の4つのメモリエリヤ120-1・120-2・120-3・120-4に貯
えられた文字コードとの比較結果を、ワイヤド・アンド
読取り回路124から出力する。この実施例では、4ビ
ットの文字コード4つのメモリマトリクス129に分け
られて貯えられる。各メモリマトリクス129には、文
字コードの中の1つのビット情報が縦線122から与え
られ、各ビット情報との比較結果が横線123,123Aを介し
て読取り回路2124から出力される。4つのビット情
報との比較結果が全て“1”の時にワイヤド・アンド読
取り回路124が文字コード単位のマッチ信号を出力す
る。
各メモリマトリクス129は4つのメモリエリヤ120-1
・120-2・120-3・120-4に分けられていて、デコーダ1
11によって選択され、選択されたメモリエリヤの中の
2本の縦線122のいずれが駆動されるかは、文字コー
ドの中のビット情報の“1”か“0”かによって決定さ
れる。駆動された方の縦線122と横線123・123Aとの交
点のRAMセル128に“1”が格納されていれば、そ
のビットがマッチした事になる。“0”が格納されてい
れば、そのビットでミスマッチのあった事が示される。
各メモリマトリクス129にビット情報を登録する時
は、マッチ信号を発生して欲しい文字コードのビット情
報が縦線122から与えられ、その縦線122が駆動さ
れている期間に書込み回路2125から“1”の書込み信号
が送られる。共通書込み回路125は4ビット文字コー
ドの書込みに対し4つの書込み回路2125に一斉に“1”
の書込み信号の駆動を指令する。これによって、各行1
つの文字コードの記憶を分担する。各行の1対の横線1
23と123Aは“1”の書込みに対して横線123が
ハイレベルに、横線123Aがローレベルになり、
“0”の書込みに対して横線123がローレベルに、横
線123Aがハイレベルになる。
第2図(b)がRAMセル128の拡大した回路構成を示
している。RAMセル128の中で、4つのMOSトラ
ンジスタ(以降Trと略す)Q・Q・Q・Qと抵
抗器RとRがスタチックRAMの代表的なセル回路
を構成している。TrQのソースとTrQのソース
のいずれがハイレベルであるかによってビット情報を貯
える。
RAMセル2128への書込みは、横線123・123Aの
いずれかをハイレベルに、他方をローレベルにすると共
に、縦線122をハイレベルにする事によって行なわれ
る。RAMセルの情報読取りは縦線122をハイレベル
にする事だけでよく、横線123と123Aのいずれが
ハイレベルかを読取る事によって達成される。
第3図(a)はもう一つのタイプの想メモリ部の構成を示
している。この場合には、メモリエリヤ選択手段110
の入力端子101から与えられる4ビットの文字列コー
ドが、入力端子102から与えられる選択コードによっ
て、4つのメモリエリヤ120-1・120-2・120-3・120-4の
中の1つに選択的に供給される。各メモリエリヤには4
対の縦線122と122Aがあり、各対の縦線122と
122Aのいずれをハイレベルにするかによって、文字
コードの中の各ビット情報を駆動する。1対の縦線12
2と122Aと横線120・2123との交点には、連想メモリ
(AM)セルが使用される。各メモリエリヤの中の各行
の4つのAMセルが、マッチ信号検出用横線2123から
“1”を出力する時にのみ、読取り回路2124が文字コー
ドレベルのマッチ信号を発生する。ワイヤドアンド読取
り回路124は、4つのメモリエリヤのいずれかの読取
り回路2124からマッチ信号が検出される時に、マッチ信
号を出力する。
第3図(b)はAMセルの拡大した回路構成図を示してい
る。
丸印2128の中でTrQとTrQとから成るフリップ
フロップに貯えられた情報と、縦線122と122Aか
ら与えられるビット情報との比較は、TrQとTrQ
とで行なわれる。そして、一致した時に、TrQ
ベース電位がローレベルに下る。一致がない限り、その
ペース電位がハイレベルとなり、TrQはオフになら
ない。TrQのベース電位がローレベルに下ると、T
rQがオフになってマッチ信号検出用横線2123は、抵
抗器Rによってハイレベルにつり上げられている。T
rQがオンになると、検出用横線2123の電位はローレ
ベルに下る。この検出用横線2123は、それによながるい
くつものAMセルのどれか1つでTrQがオンになる
と、ローレベルに下ってミスマッチを表示する。
このAMセルは第2図(b)のRAMセル2個分の働きを
するが、トランジスタ数で1つ少ないだけであって、回
転素子数で差をつけるものでないが、TrQとTrQ
とから成るフリップフロップに貯えられたビット情報
を、横線123の選択的アクセスによって、縦線12
2,122′から読出すことができるメリットを持つ。
第3図(a)に戻って、メモリエリヤ選択手段110は4
つのメモリエリヤ120-1・120-2・120-3・120-4の中の1
つだけに入力端子101の文字コードを与えると説明し
たが、より具体的には、入力端子102から与えられる
選択コードによって選択されたメモリエリヤの読取り回
路2124のみが、文字コードレベルの照合結果をワイヤド
アンド読取り回路124に導びき、非選択メモリエリヤ
の読取り回路2124はマスクされて、ワイヤドアンド読取
り回路124の出力に影響を及ぼさないようなマッチレ
ベルの電位に保たれる。
次にロジック部の説明を行う。
第4図はロジック部の一実施例を示している。複雑にら
ことを避けるために、ロジック部の中に2つの順序論理
回路があるとしている。したがって、2つの順序論理回
路に対応して2つのメモリエリヤがあるとしている。2
つのメモリエリヤに登録されるパタン文字列は長さに異
ってもよいし、また、各メモリエリヤに入力されるデー
タ文字列は一定速度でなくて良い。そのために、各順序
論理回路は独立に動作するように設計されている。この
事が、入力データ文字列の中に階層の異なる文字を書込
ませる階層的文字列照合方式の実現に不可欠である。
第4図において、左端に連想メモリ部120の各行のワ
イヤドアンド読取り回路124だけが示されており、残
りは省略されている。各行にはメモリエリヤ毎に1つの
タン文字コードを貯えていて、入力端子101からデー
タ文字コードが入力される都度、各行のワイヤドアンド
読取り回路124からパタン文字コードとデータ文字コ
ードとの比較結果が外部信号として出力される。マッチ
の時に“1”、ミスマッチの時に“0”になる。
各順序論理回路130-1または130-2は、フリップフロップ
(FF)131・132と、左側/右側選択用アンドゲート133・134
と、想メモリ手段120の出力する外部信号によって制
御されるアンドゲート135・136と、デリミタ信号保持手
段431・432と、マッチ信号集計用アンドゲート433・434と
を繰返えし配列したものである。フリップフロップ(F
Fと略す)131・132は文字列がどの文字までマッチして
きたかを示す内部信号を保持し、シフトクロックによっ
て送り出す部分である。
各順序論理回路は4行毎で破線400で区切られてい
て、先頭行のデリミタ信号保持手段431・432にデリミタ
信号“1”が登録されている時に、先頭行のフリップフ
ロップ131と132に内部信号が設定される。対応す
るメモリエリヤにタン文字列の登録された行に並ぶデリ
ミタ信号保持手段431・432にはデリミタ信号“1”は書
込まれず、パタン文字列の最終文字の登録された行の次
の行に並ぶデリミタ信号保持手段431・432にデリミタ信
号“1”が書込まれる。
このようなデリミタ信号“1”は、W(ライト)モード
時のワイヤド・アンド読取り回路124から、デリミタ
信号設定用アンドゲート430を介してデリミタ信号保
持手段431・432に設定される。読取り書込み切替え(R
/W)と先頭・最後尾指示(S/E)の制御端子401
と402とは、それぞれ読取りモード(R)と書込みモー
ド(W)との切替え制御信号と、登録パターン文字列の先
頭(S)と最後尾(E)とを指示する制御信号を与えるために
用意されている。これ等のデリミタ信号設定手段によっ
て、2つの順序論理回路に相異なる長さのパタン文字列
とデータ文字列との照合に必要な文字列長さの設定が、
独立に行なわれる。というのは、各デリミタ信号保持手
段431・432は、それぞれ順序論理回路選択線411・412が選
択されている時にのみ、選択的にデリミタ信号“1”の
登録を許すからである。
順序論理回路選択線411・412はインバータ161によっ
ていずれか一方のみが選択され、入力端子404から来
るシフトクロック信号を駆動する。入力端子403は選
択コードの入力端子であり、今の場合メモリエリヤが2
個だけの場合を例にとりあげたために、1ビットだけに
なっている。4個とか8個の時には2ビットとか3ビッ
トにすればよい。
順序論理回路選択線444(または412)によって選
択された順序論理回路においては、デリミタ信号保持手
段431(または432)から供給された内部信号
“1”が、フリップフロップ131(または132)を
通して上から下へアンドゲート133(または134)
をアンドゲート135(または136)とを介して転送
される。
パタン文字列の最終文字の登録された行のフリップフロ
ップ131(または132)に到達できた内部信号は、
マッチ信号集計用アンドゲート433(または434)
をしてオアゲート435に送られ、オアゲート435の
出力は文字列レベルのマッチ信号としてエンコーダ14
5に送られ、識別コードに変換される。こゝに、アンド
ゲート433(または434)は選択線411(または
412)で選択されている事と、次の行のデリミタ信号
保持手段431(または432)がデリミタ信号“1”
を保持している事とによって、フリップフロップ131
(または132)の内容をオアゲート435に伝送でき
る。
アンドゲート135(または136)は読取り(R)モー
ド時のワイヤドアンド読取り回路124の出力する外部
信号が“1”の時に、その上側のフリップフロップ13
1(または132)の内部信号“1”をその下側のフリ
ップフロップ131(または132)にシフトする。こ
れによって、第1図記載の連想メモリ部120の各メモ
リエリヤに貯えられたパタン文字列と、連想メモリ部1
20に入力される。データ文字列との照合処理が行なわ
れる。
なお、選択線411(または412)に駆動されるシフ
トクロックは、連想メモリ部120に入力されるデータ
文字列の入力速度に合わせて与えられる。オアゲート4
35からマッチ信号の発生した時には、エンコーダ14
5の出力が選択コードメモリ150に入力される。
選択コードメモリ150の出力はエンコーダ145の出
力と共に割込みスイッチ部(第4図に記載されていない
が、第1図に記載されている)170に入力される。そ
の期間はデータ文字列の各文字コードの印加される周期
よりはるかに短かいものであるとする。そして、その一
瞬の間、別のメモリエリヤにエンコーダ145の出力が
印加される。その期間だけ選択線411が421に切替
る。それによって、再びオアゲート435からマッチ信
号が発生したら、再度選択コードメモリ150がアクセ
スされるとする。
その時には、選択コードメモリ150の以前の出力がラ
ッチ回路151を通して選択コードメモリ150のアド
レスデコーダに入力されるために、選択コードメモリ1
50は別の選択コードを出力する。オアゲート435か
らマッチ信号が発生しない時には、選択コードメモリ1
50はアクセスされず、ラッチ回路151の内容は始め
の状態に戻る。
階層的文字列照合を行なう時の階層はメモリエリヤ数で
決まり、第4図では階層が2の場合である。第1図では
階層が4の場合である。階層数が4の時には、1つの文
字コード入力期間に3回の割込みが起り得る。それを受
付けるためには、連想メモリ部120もロジック部13
0もデータ文字列の入力速度の4倍の速度で動作できる
能力を確保する必要がある。
このような回路をCMOSトランジスタで実現した時
に、入力速度1〜2Mch/s(メガ・キャラクターズ/セ
カンド)にする事は低い消費電力で達成されるが、10〜
20Mch/sにすると消費電力が10倍増えて、絶えずその
ような速度で使用することは信頼性の面で問題になる。
しかし、常時は低い周波数の1〜2Mch/sで動作させ、
割込みがあった時にのみ瞬間的に高い周波数で動作させ
るのは熱的問題を引起さないために許される。故に、割
込み処理のために入力速度をさらに低下させる必要はほ
とんどないと考えられる。
なお、このロジック部はデリミタ信号保持手段431・432
からの内部信号““1”の発生をさせ方を制御すること
によってアンカー文字列照合だけでなく、ノンアンカー
文字列照合を行なわせることができる。アンカーとは入
力データ文字列の中の文字列に区切りが設けられる場合
であり、ノンアンカーとは区切りが設けられない場合を
意味する。
次に、割込みスイッチを用いる階層文字列登録方式や照
合方式の説明を行なう。
第5図は本発明の文字列照合装置に階層的に登録する文
字列の一例を示す。
上段510は登録される文字列の一例であって、部分文
字列を多く含んでいる。このままの形で記号列識別装置
に登録すると、同文字がメモリエリヤに何度も登録され
る。結果として、この例では100文字分のメモリエリ
ヤが必要となる。
下段520は登録文字列を3つの階層521・522・523に分
類して登録する場合(本発明の階層的な文字列登録方
式)を示している。すなわち、0番目の階層(#0メモ
リエリヤ)に「自然」「言語」「処理」「技術」「入
門」「情報」「知識」を登録し、それに対する識別コー
ドをA・B・C・D・E・F・Gとしている。そして、
1番目の階層(#1メモリエリヤ)に「AB」「BC」
「BF」「FC」「GC」「CD」「CE」「C」
「D」を登録し、それぞれに、識別コードa・b・c・
d・e・f・g・h・i・jを与える。そして2番目の
階層(#2メモリエリヤ)に「ag」「ah」「dg」
「fg」「ai」「di」「fh」「bj」を登録し、
その識別コードをそれぞれI・II・III・IV・V・VI・V
II・IIXとしている。
このように、階層に分けて文字列を登録すると、この例
では48文字分のメモリエリヤが使われるだけで、記憶
容量が半分ですむ。
第6図は、階層的に分けて登録された文字列の階層的文
字列照合式の動作を示す。説明しやすくするために、表
形式にされている。すなわち、1行目が入力力テキスト
の文字列を示し、「自然言語処理技術…」が与えられる
場合を例示している。2行目がこの入力文字列に対する
#0メモリエリヤの出力(文字毎での照合結果)を示
し、3行目が#0メモリエリヤ120-1の出力に対する#
0順序論理回路(130-1)の出力を示している。#0順
序論理回路(130-1)の出力が“1”の時には、メモリ
エリヤの選択コードがインクリメントされて、エンコー
ド部140の出力が上記選択コードで指定された#1メ
モリエリヤ(120-2)にも入力される。
4行目は#メモリエリヤ(120-2)の出力を示し、5行
目は#1順序論理回路(130-2)の出力を示している。
#0と#1との順序論理回路(130-2)の出力が“1”
の時には、選択コードが2度にわたってインクリメント
され、エンコード部140の出力が次々と上記選択コー
ドで指定される#メモリエリヤ(120-2)と#2メモリ
エリヤ(120-3)に入力される。6行目は#2メモリエ
リヤ(120-3)の出力を示し、7行目はそれに対する#
2順序論理回路(130-3)の出力を示している。3行目
と5行目と7行目の順序論理回路の出力にはカッコで囲
まれた識別コードが付加されている。
この図からはっきりすることは、入力文字列「自然言語
処理技術…」に対して、「自然」まで入力された時に#
0階層から識別コード「A」が出力され、「自然言語」
まで入力された時点で#0と#1階層から識別コード
「B」と「a」がシルアルに出力され、「自然言語処
理」まで入力された時点で、#0と#1と#2の階層か
ら、それぞれ識別コード「C」と「b」と「V」がシリ
アルに出力される。そして、「自然言語処理技術」まで
入力されると、#0と#1と#2の階層から、それぞれ
識別コード「D」と「g」と「I」または「 」とがシ
リアルに出力されるということである。
このように、順序論理回路のいずれかからマッチ信号が
出る時に識別コードが階層の低い方から階層の高い方に
シリアルに出力れると、エンコーダ1個で全ての部分パ
タン文字列の照合結果が求まる。最高識別の識別コード
を代表として残すのが一つのやり方である。
第7図は、本発明の文字照合装置と階層的制御方式の採
用効果の説明図である。
まず、第7図の左が従来の記号列識別装置の場合のメモ
リエリヤ710とロジックエリヤ715を示し、第7図
の右が本発明を採用した場合の3つのメモリエリヤ72
0とロジックエリヤ725を示している。
従来の記号列識別装置であれば、第5図の上段510の
文字列をそのまゝ登録するために、第7図の左に示すよ
うに、100文字分のメモリエリヤ710が必要であ
り、合わせて100文字分のロジックエリヤ715が必
要になる。
本発明の記号列識別装置では、第5図の下段520の文
字列を3つのメモリエリヤに分割して登録するために、
第7図の右に示すように、14文字分の#0メモリエリ
ヤと18文字分の#1メモリエリヤと16文字分の#2
メモリエリヤと、それから共通に使われる18文字分の
ロジックエリア725が使われるだけである。したがっ
て、メモリエリヤサイズ720が半分に減るだけでな
く、ロジックエリア725が1/5以下に減る。第7図
の左の場合と比較すると、チップサイズが7/20以下
すなわちほゞ1/3に減るということがわかる。
なお、本発明の実施例の説明においては、メモリエリヤ
数がが4とか2とかであったが、それはもっと大きくな
っても良く、またロジック部の順序論理回路は文字列の
厳密な照合(ストリクトマッチ)のみを行なうようにし
てあるが、あいまい文字列照合を可能なように変更して
もよい。
〔発明の効果〕
以上、詳細に説明したように、文字列を登録する連想メ
モリ部を複数個のメモリエリヤに分割し、各メモリエリ
ヤを選択的にアクセスできるようにし、登録文字列を階
層的に分割して上記メモリエリヤへ登録し、各メモリエ
リヤに対応した順序論理回路を高速に切替えて使えるよ
うにし、下位レベルの文字列の照合で一致があった時に
のみ、一時的に上位レベルの文字列照合を行なう割込み
を許す階層的制御方式を採用するために、複合文字列の
中のいくつかの部分文字列の重複登録を回避でき、文字
列の登録密度を何倍かに高めることが可能になる。すな
わち、連想メモリ部の記憶容量を上げる代りに、階層的
文字列登録方式によってメモリエリヤを節約し、合わせ
てロジックエリヤサイズを顕著に減少させることが可能
になる。
このように、多くの文字列を登録する事のメリットは情
報検索システムや情報通信システムでの大量に伝送され
る情報の中から、必要な情報のみをきめ細かく選び出せ
るようにする事である。しかし、伝送されたりファイル
されたりする大量の情報の中で高頻度に出現する長い文
字列を短かい識別コード列に置き替えて情報の圧縮を行
えるようにするメリットもある。すなわち、圧縮すべき
長い文字列が多数個ある時に、それらを本発明の文字列
照合装置によって符号化し、短い識別コードに圧縮でき
る。また、本発明の文字列照合装置は圧縮された文字列
の検索や復号にも使うことができる。
したがって、本発明の照合装置および階層的文字列照合
方式によれば、従来の装置における複合語文字列の登録
の際に登録文字列容量を大きくできないという問題点
と、文字列の登録容量と共にロジック部のサイズも増加
させなければならないために記憶密度を上げられないと
いう問題点とが容易に解決されることがわかる。
【図面の簡単な説明】
第1図は本発明による文字列識別装置の一実施例の基本
構成図、第2図(a)および(b)ならびに第3図(a)および
(b)は連想メモリ部の詳細説明図、第4図はロジック部
の詳細説明図、第5図は階層的文字列登録方式の説明
図、第6図は階層的文字列照合方式の説明図、第7図は
本発明の採用効果の説明図である。 110……デコーダ、120……連想メモリ手段、120-
1〜120-4……メモリエリヤ、130……ロジック部、13
0-1〜130-4……順序論理回路、140……エンコーダ、
150……選択コードメモリ、160……クロック信号
制御回路、170……割込みスイッチ。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】複数個のメモリエリヤに分れた連想メモリ
    手段と、前記連想メモリ手段に対応して複数個に分かれ
    た順序論理手段と、エンコード手段と、前記エンコード
    手段の出力を一時的に前記連想メモリ手段へフィードバ
    ックする割込みスイッチ手段とを備えた事を特徴とする
    文字列照合装置。
  2. 【請求項2】前記エンコード手段の出力によって前記メ
    モリエリヤを切換えるための選択コードメモリ手段を前
    記割込みスイッチ手段の制御に用いる事を特徴とする特
    許請求範囲第1項に記載の文字列照合装置。
  3. 【請求項3】登録パタン文字列を短かいパタン文字列へ
    階層的に分割し、階層毎に割当てられたメモリエリヤに
    格納し、入力データ文字列が低階層メモリエリヤのパタ
    ン文字列とマッチした時に、前記エンコード手段の出力
    を前記割込みスイッチ手段を介して一時的に前記入力デ
    ータ文字列と交換し、高階層メモリエリヤの前記パタン
    文字列と比較するようにした事を特徴とする文字列照合
    装置での階層的文字列照合方式。
JP62200208A 1987-01-20 1987-08-10 文字列照合装置および同装置での階層的文字列照合方式 Expired - Lifetime JPH0619800B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP62200208A JPH0619800B2 (ja) 1987-08-10 1987-08-10 文字列照合装置および同装置での階層的文字列照合方式
DE3801380A DE3801380A1 (de) 1987-01-20 1988-01-19 Zeichenfolge-erkennungsvorrichtung mit einem speicher, dessen speicherbereiche selektiv zugreifbar sind
US07/146,164 US4958377A (en) 1987-01-20 1988-01-20 Character string identification device with a memory comprising selectively accessible memory areas

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62200208A JPH0619800B2 (ja) 1987-08-10 1987-08-10 文字列照合装置および同装置での階層的文字列照合方式

Publications (2)

Publication Number Publication Date
JPS6442784A JPS6442784A (en) 1989-02-15
JPH0619800B2 true JPH0619800B2 (ja) 1994-03-16

Family

ID=16420605

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62200208A Expired - Lifetime JPH0619800B2 (ja) 1987-01-20 1987-08-10 文字列照合装置および同装置での階層的文字列照合方式

Country Status (1)

Country Link
JP (1) JPH0619800B2 (ja)

Also Published As

Publication number Publication date
JPS6442784A (en) 1989-02-15

Similar Documents

Publication Publication Date Title
US6243281B1 (en) Method and apparatus for accessing a segment of CAM cells in an intra-row configurable CAM system
US5758148A (en) System and method for searching a data base using a content-searchable memory
US3772658A (en) Electronic memory having a page swapping capability
KR930008493B1 (ko) 연상 메모리 장치
US5677864A (en) Intelligent memory architecture
US7263023B2 (en) Semiconductor memory device having memory architecture supporting hyper-threading operation in host system
JPH0524596B2 (ja)
HU215139B (hu) Párhuzamos processzorrendszer, eljárás digitális rendszer leírására, valamint eljárás adatok és vezérlőjelek továbbítására
US4128891A (en) Magnetic bubble domain relational data base system
JPH11507457A (ja) メモリ構造
GB2192507A (en) A seven transistor content addressable memory (cam)cell
JPH01283625A (ja) データを分類するための固定布線回路
US3976980A (en) Data reordering system
US20020080665A1 (en) Content addressable memory having data width extension capability
Koo Integrate circuit content addressable memories
JPH0619800B2 (ja) 文字列照合装置および同装置での階層的文字列照合方式
JPS6120157A (ja) データ処理システム
US6801981B1 (en) Intra-row configurability of content addressable memory
US5873126A (en) Memory array based data reorganizer
JPH05127872A (ja) 半導体集積回路
US6742077B1 (en) System for accessing a memory comprising interleaved memory modules having different capacities
JP2786364B2 (ja) 連想メモリ装置
JP3130736B2 (ja) 連想メモリの使用方法および連想メモリ
JP3103448B2 (ja) 符号化回路
Chang Bubbles for relational database