JPS62187930A - 検索方法及び装置 - Google Patents

検索方法及び装置

Info

Publication number
JPS62187930A
JPS62187930A JP61028808A JP2880886A JPS62187930A JP S62187930 A JPS62187930 A JP S62187930A JP 61028808 A JP61028808 A JP 61028808A JP 2880886 A JP2880886 A JP 2880886A JP S62187930 A JPS62187930 A JP S62187930A
Authority
JP
Japan
Prior art keywords
text
input
address
information
character
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
JP61028808A
Other languages
English (en)
Other versions
JPH0752447B2 (ja
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 JP61028808A priority Critical patent/JPH0752447B2/ja
Priority to KR1019870001080A priority patent/KR940003700B1/ko
Priority to DE3750277T priority patent/DE3750277T2/de
Priority to EP87101819A priority patent/EP0250705B1/en
Priority to US07/013,049 priority patent/US4916655A/en
Priority to CN87100829A priority patent/CN1016835B/zh
Publication of JPS62187930A publication Critical patent/JPS62187930A/ja
Publication of JPH0752447B2 publication Critical patent/JPH0752447B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分封〕 本発明は、テキストまたは記号列のサーチ、さらには音
声や画稼などを含め検索の単位を定め、検索する方法お
よび装置など検累方式一般に係り。
特に、尚速な記号列、サーチ処理に好適な検索方法およ
び装置に関するものである。
〔従来の技術〕
以下1本発明の代表的適用分野であるテキストサーチ方
式の従来技術について説明する。
オフィス・オートメイション化に伴って、文書情報のデ
ータベース化が急速に進んでおり、そのデータベースの
m&も大規模化する方向にある。
したかって1文書情報のデータベース処理の高速化は1
賛な課題である。重要な処理の1つは、テキストと呼ば
れる文字列のデータの中から、パタンと吋・ばイする特
定の又字列を検索するテキスト・サーチ処理である。し
たがって、このテキスト・サーチ処理を高速に実行する
ことが非りに猿まれでいる。
従来、数種のテキスト・サーチの方式および装置が提案
されている。例えば、「ハードウェア・システムズ・フ
ォア・テキスト・インフォメイション・リドリーバノリ
 (Hollaa「、L、A、:Hardware  
Systems  Sor TextInsormat
ion  Re+rieval、ACM  5IGIR
6th conf、、1983 )には、パタンを1文
字ずつアレイ法にレジスタにThff1しておき、そこ
にテキストを先頭から1文字ずつ入力してぃきパタンを
検出するセルラ・アレイ法や、有限オートマトン法を利
用して、テキストを先頭から1文字ずつ入力しながら、
状態遷移テーブルを参照してパタンを検出する有限オー
トマトン法などが知られている。しかし、これらの従来
の方法はテキストを先頭から1文字づつ入力していく方
法であるため、テキスト長をn文字とすると、f1文字
全てを入力せねばならず、そnがネックとなってそれ以
上の尚連化は原理的に不可能であった。
−力、テキスト・サーチのソフトウェア的な方式として
、ケー・エム・ピー法(KMP法(、Kunuth%D
、E、他: Fast PatternMatchin
g  in  Strings、SIAMJ、Comp
ut、、vol、6 、pp 323−350.197
7))やピー・エム法(BM法(Boyer。
几、S、他:A Fast String Searc
hingAlgorithm、  CACM、vol、
20.pp。
762−772,1977))が知らnているが。
こnらの方式はテキストとパタンを一文字づつフェッチ
してきて比較し、その結果に応じているいろな処理をす
るというもので、ソフト的にも高速でなく、またハード
化には向いていない方式であった0 〔発明が解決しようとする問題点〕 上記に3いて説明したように、従来技術は、パタンを検
出するのにテキスト長n文字全てを1文字ずつ順に入力
りなけnばならないというアルゴリズム上の問題かあっ
た。
本発明の目的は、入力するテキストの文字または記号夕
l」の数を極力減らすことにより、都連にパタンを検出
で夫る+vJ索フi法および装−を提供することにある
〔問題点を解決するための手段〕
上記目的は、サーチしている記号列の状態と新たに入力
する記号列の中の18じ号または数に号との組から1次
の記号列の状態と次に新たに入力すべき工ないし数記号
のアドレスを簡単に求めらnるテーブル(以後、スキッ
プ・テーブルという)を用意することにより、埴成さn
る。
本発明は横系一般に適用可能であって上述の記号列とし
ては文字、記号を始め検索の単位として取扱うようにし
た画像1図形パタン、音声パタンなども広く會むもので
ある。
〔作用〕
上記スキップ・テーブルを利用することにより、上述の
記号列・サーチを実行する際、スキップ・テーブルに格
納されているデータを参照することにより、60号列の
中から必要最小限の文字だけを入力するだけで記号列、
サーチが実現できるので。
全記号列を入力する方法より大幅な高速化が可能となる
〔実施例〕
以下1本発明の主要な適用分野であるテキ不トサーチ方
式について実施例を詳細に説明する。本発明における。
テキスト・サーチ方式においてmをパタン灸、nをテキ
スト長とする。また、 P(j)(1≦j≦m)をパタ
ンの1番目の文字、P(j:k)をパタンの1番目から
に番目までの文字列T(i)(l≦i≦n)をテキスト
のi番目の文字。
T(i:k)をテキストのi番目からに番目までの文字
列とする。また、テキスト・サーチを実行する際、テキ
ストは陶理的には第8図のようにテキスト・テーブル3
00の形でランダム・アクセス・メモリ(RAM)に格
納されているものとする0 はじめに、テキストのサーチ伏B(i、j)を定義する
。ここで、iは次に入力すべきテキスト1文字のアドレ
ス、lはパタンと後方から1文字一致している状態を表
す。これを説明したのが第3図である。
次に、サーチ状態の遷移について第4図と第5図を用い
て説明する。サーチ状態が(i、/)の時、アドレスが
iであるテキスト1文字T(i)がパタンのm−1番目
の文字P(1−m)とl’Lい場合は、1=i−1,l
=l+1とする(第4図)。
寺しくない場合は、パタンのm−1番目より前で。
テキストのi番目からi+1番目までの文字列T(i:
i+1りと完全に一致する文字列がパタンに出現するま
でパタンを移動することを考える。
すなわち、その一致するパタン内の文字列をP(H−、
/:H)とすると、パタンをm −Hだけs励し伏72
!ll!をOすnばJJ(、’1のでimi+rn+/
−1−1,l!=Qとする。
上記で述べたHは1次の式で求められる。
H(1,z)=max(xi(/+1≦X≦m−1an
dP(x−/)=z and P(x−1+1 :x)
=P(m−/+1  二 m))     or(l≦
X≦/−1and   P(1:x)−P(m−x+1
 :m) )   orx=o)  (1≦l≦m−1
) このH(t、2)は、パタンだけから決められる関数で
ある。−例として、パタンか@AABCAAABCAA
’の場合を古えると、H(1,C)(ハ、パタンの後か
ら見ていって最初に文字列”CA”が発見されるパタン
内の位[(文字列の最後の位置“10”である。この例
の場合のH(1%2)のテーブルを第6図に示す。
次に、この方式の具体的なフローチャートの一例を第2
図に示す。まず最初に、テキストのアドレスiにパタン
長m、状態lに0を設定する(101 )o次に、iが
テキスト長n以下であるかどうか判定し、iがnより大
きい時はテキスト、サーチを終了し、そうでない場合は
絖ける(102)。
次に、iを引数としてテキスト・テーブルにアクセスし
、テキストのi番目の文字T(i)を入力し、それを2
に代入する。そして、現在の状態lと入力した文字2の
&(l!、Z)をアドレスとして。
テーブルS(l!、2)を参照し、yに代入する(10
3)。
ここで−テーブルS(1!z’)ci である。すなわち1次に入力ずべきテキストのアドレス
と先に入力したテキストのアドレスとの差の情報である
。こnを、ス千ツブ輸と呼び、このテーブルS(/、z
)%−スキ、プ・テーブルと呼ぶことにする。臀に、現
在対象としているテキストの1文字z=T(i)がP(
m−1りと等しい時゛−,1”にすることに注意さnた
い。−tすとして。
パタンか“AAHCAAA13CAA・の場合のスキッ
プ・テーブルS(I!、2)を第7図に示す。
さて1次に、y=8(1,z)が”−1”であるかどう
かを調べる( 104 )o  “−11である場合は
現在幻象としているテキスト1文字とパタン15c′f
−か寺しいことを表しているので、現在の状態lが@m
−1″でない1118は状態lをカウント・アップさせ
る(106,1lJ7)。現仕の状態lか”m−1”の
時はテキストの中にパタンが宮まれCいることかわかっ
たので1例乙ば、パタン発見情報OUTを°1”とする
。そして、状態lを@O″にリセットし、さらに、スキ
ップ幅yに定数1=2m−F−1を代入する(108)
oここで F=max(xi (1≦x=m andP(1:x)
=P(m−x+l :m))orx−0) である。角l恢に、スキップmy=8c 1.z )に
は、次に入力すべきテキストのアドレスと先に入力した
テキストのアドレスとの差が入っているのだから、次に
入力すべきテキストのアドレスiにi+yを代入して、
ステ、プ102に戻る(109)。
次に、この方式の動作例を111149図を用いて説明
する。例として、テキストを” A A B CA A
 A BABAA13CLIAAHBAAAi3AA”
としく第8図)、パタンを@A A BCA A A 
HCA A”とする。このパタンの場合とスキップ・テ
ーブルS(I!、2)は第7図である。1初に、i=m
xll。
1=0を設定する。lサイクル目では、テキストT(1
1)=Aを入力して2に代入する。さらに、スキップ−
8<1.z)=S(o、A)=−1をフェッチしてyに
代入する。するとY=−1であるので、F4M/をカウ
ント・アップされj=1となり1次のテキストのアドレ
スiはi +y= 10となる。2サイクル目では、1
0番目のテキストT(10)=8を入力し2に代入する
。さらに。
スキップ幅y−8(1,H)−11をフェッチする。す
ると、y神−1なので、状態lはl!−0となり、また
、i=i+y=21となる。3サイクル目、4サソクル
目も同様に動作し、5サイクル目で、テキスト・アドレ
スiが30となり、n=25を超えるのでテキスト・サ
ーチ処理が終了する。このように1木刀式を用いると、
この例の場合、25文字のテキストに対するテキスト・
サーチ処理を5サイクルで終了させることができる。
したがって、テキスト25文次全てを入力せねばならな
い有限オートマトン法やセルラ・アレイ法と比べ尚速な
処理が可能となる。
次に、上記方式を実現する回路の例を第1図に示す。1
はテキスト・テーブル300 T(i)を格納している
RAM、2はスキップ・テーブル200B(1,z)を
格納しているRAM、6は1にアクセスするためのテキ
スト・アドレス・レジスタ。
11は2にアクセスするためのスキップ・テーブル・ア
ドレス・レジスタ、lOと12は、そnぞれ、1と2に
対応するメモリ・レジスタであり。
A、lii理的には、bはテキスト書アドレスi、11
はスキップ・テーブル・アドレス(/、z)、10はテ
キストz=T(i)、12はスキップ幅y=8(/、2
)に対応する。さらに、4は、第2図の本方式のフロー
チャートにおける110の部分を実現する一理回路、5
は、109の部分を実現する加算回路、3は、102の
部分を実現する判定回路である。この動作例は、前述し
た本方式の動作例と同様である。
以上の実施例では1文字単位でテーブルを操作する場合
を説明したが必要に応じて膜数文字単位で144乍す1
sr)−L−1呂u9ALrwbzτ%!Je、 !r
fr l 2Mるところである。また本発明1才、スキ
ップ・テーブル200の内容81a、数などを適宜に変
更することにより複数のパタンを検出することも可能で
ある0 さらに本発明は上述のようにソフト的手段、ハード的手
段のいずれの手段でも実施してその効果を発弾すること
が出来る。
また上記実施例ではテキスト記号列の場合を中心に説明
したが、f#、述のように本発明は音声パタン、画像・
−形なども検索の単位を上記記号同様に特定し得るもの
にはすべて適用可能である。
〔発明の効果〕
本発明によnばパタン長がm記号、記号列長がn記号の
時は、最小の場合、n / mの長さの記号列を入力す
るだけで処理を終了することができるので、n記号全て
入力する必璧がある従来の方式に比べ、大幅な処理性症
の向上を実現することができる。また、ハード化も、セ
ルラ・アレイ法等の従来方式に大幅に少ない物量で実現
することかできる。
【図面の簡単な説明】
第1図(1本発明の実b?lJであるテキスト・サーチ
装填のブロック構成図、第2図は本発明を冥塊するテキ
スト・サーチ方式のフローチャート、第3囚、第4図、
第5図は本発明方式の説明図、第6図と第7図は本発明
で用いるテーブルの例を示す図、8148図はテキスト
の例を示す図、第9凶は本発明の詳細な説明図である。 1.2・・・・・・ランダム・アクセス・メモリ、3・
・・・・・午」足回路、4・・・・・・1理回路、5・
・・・・・力ロ其回路、6゜11・・・・・・アドレス
・レジスタ、10,12・・・・・・メ七り・レジスタ
、200・・・・・・スキップ・テーブル。 300・・・・・・テキスト・テーブル。 第7区 第2目 第3図 第4国 第5月 /         n          ηt■、
5区 テキスY テーフ″ル T(4−) 躬プ図

Claims (1)

  1. 【特許請求の範囲】 1、記号列の中に少くも1つの所定のパタンが含まれて
    いることを検出するために現在の記号列サーチの状態と
    入力した少くも1つの記号の情報とから、次に入力すべ
    き記号列のアドレスと次の状態を容易に算出できる情報
    を格納するテーブルを用意し、記号列を入力すると、現
    在の状態と入力した記号列の情報とから上記テーブルに
    アクセスし、そこに格納されているデータから次の状態
    及び次に入力すべき記号列のアドレスを取得し、次にそ
    のアドレスの記号列を入力することを特徴とする検索方
    法。 2、上記テーブルにおいて、過去の検索の結果明確にな
    っている事実の情報と、新たに入力した少くも1記号の
    記号列の情報から明らかに無駄であるサーチを排除する
    ことを目的とするテーブルを作成する第1項記載の検索
    方法。 3、テキストの中に少くも1つの所定のパタンが含まれ
    ていることを検出するために、現在のテキスト・サーチ
    の状態と入力したテキスト1文字の情報から、次に入力
    すべきテキストの1文字のアドレスと次の状態を容易に
    算出できる情報を格納するテーブルと、テキストを1文
    字入力すると、現在の状態と入力したテキスト1文次の
    情報とから上記テーブルにアクセスする手段と、そこに
    格納されているデータから次の状態及び次に入力すべき
    テキストのアドレスを算出する手段と該アドレスのテキ
    ストの1文字を入力することをくり返す手段を有するこ
    とを特徴とする検索装置。 4、上記容易に算出できるテーブルにおいて、パタンの
    特徴をとらえて、今までのテキストのサーチ結果で明確
    になっている事実の情報と、新たに入力したテキストの
    1文字の情報とから無駄であるサーチを排除することを
    目的とするテーブルを作成する手段を有する第3項記載
    の検索装置。
JP61028808A 1986-02-14 1986-02-14 検索方法及び装置 Expired - Fee Related JPH0752447B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP61028808A JPH0752447B2 (ja) 1986-02-14 1986-02-14 検索方法及び装置
KR1019870001080A KR940003700B1 (ko) 1986-02-14 1987-02-10 검색방법 및 그 장치
DE3750277T DE3750277T2 (de) 1986-02-14 1987-02-10 Verfahren und Vorrichtung zur Rückgewinnung von Symbolketten aus Daten.
EP87101819A EP0250705B1 (en) 1986-02-14 1987-02-10 Method and apparatus for retrieval of symbol strings from data
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
JP61028808A JPH0752447B2 (ja) 1986-02-14 1986-02-14 検索方法及び装置

Publications (2)

Publication Number Publication Date
JPS62187930A true JPS62187930A (ja) 1987-08-17
JPH0752447B2 JPH0752447B2 (ja) 1995-06-05

Family

ID=12258716

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61028808A Expired - Fee Related JPH0752447B2 (ja) 1986-02-14 1986-02-14 検索方法及び装置

Country Status (1)

Country Link
JP (1) JPH0752447B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0377983A2 (en) * 1988-12-22 1990-07-18 Nippon Paper Industries Co., Ltd. Newsprint

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0377983A2 (en) * 1988-12-22 1990-07-18 Nippon Paper Industries Co., Ltd. Newsprint

Also Published As

Publication number Publication date
JPH0752447B2 (ja) 1995-06-05

Similar Documents

Publication Publication Date Title
US4644471A (en) Method for processing a data base
US5450580A (en) Data base retrieval system utilizing stored vicinity feature valves
US5995962A (en) Sort system for merging database entries
KR940003700B1 (ko) 검색방법 및 그 장치
US9727308B2 (en) Sorting multiple records of data using ranges of key values
CN108549666A (zh) 一种数据表的排序方法、装置、设备及存储介质
JPS61210478A (ja) ベクトル処理装置
JPS62187930A (ja) 検索方法及び装置
JPS617936A (ja) 情報検索方式
CN113495901A (zh) 一种面向可变长数据块的快速检索方法
JP3288063B2 (ja) 可変長データの格納および参照システム
CN115408491B (zh) 一种历史数据的文本检索方法及系统
JPS6143338A (ja) 連想技術を使用して稀薄なデータベースをサーチする方法
CN115374769A (zh) 词语的对齐方法、装置、电子设备及介质
JPH04205173A (ja) 情報検索システム
JPH04279973A (ja) 文字列比較方式
JPH01259418A (ja) 文字列検索装置
JPS63170742A (ja) 共通文字列検索処理装置
JP2835065B2 (ja) 文字列検索方法
JP2735255B2 (ja) ハツシング処理方法
JPH0589174A (ja) 辞書検索方法
JPH06162096A (ja) レコード検索方法
JPH07121665A (ja) 文字認識辞書の構成方法及び検索方法
Nagumo et al. Parallel parsing algorithms for static dictionary compression
JPH06274391A (ja) マスタファイル高速更新処理方式

Legal Events

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