JP3459049B2 - 文字列検索方法およひ装置 - Google Patents
文字列検索方法およひ装置Info
- Publication number
- JP3459049B2 JP3459049B2 JP06759093A JP6759093A JP3459049B2 JP 3459049 B2 JP3459049 B2 JP 3459049B2 JP 06759093 A JP06759093 A JP 06759093A JP 6759093 A JP6759093 A JP 6759093A JP 3459049 B2 JP3459049 B2 JP 3459049B2
- Authority
- JP
- Japan
- Prior art keywords
- character
- code
- text
- state number
- character string
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
に検索文字列の検索技術に関するものである。
ータの集まりからなる文書(以後、テキストと呼ぶ)の
中から、検索者の探したい、ある特定の部分文字列(以
後、検索タームと呼ぶ)を含む全ての文書を探し出すこ
とが一つの重要な処理となっている。このような検索シ
ステムを実現するための文字列検索装置がいくつか提案
されている。その中の代表的なものに、エル エー ホ
ラー :“テキスト リトリーバル コンピューター
ズ”、コンピューター、1979年 3月、(L.A.
Hollaar:“Text Retrieval C
omputers”、COMPUTER、March
1979)があり、その文字列検索装置の構成を図2に
示し、その内容について説明する。文字列検索装置1に
おいて、検索制御手段101は、検索装置全体の制御と
ホストコンピュータとの通信を行う。すなわち、ホスト
コンピュータから送られてくる検索要求201を受け付
け、これを解析し、文字列照合手段102と複合条件判
定手段103へ検索情報202として送出する。また、
検索制御手段101は記憶装置制御手段104を制御し
て、文字列記憶手段105に格納されたテキスト204
を文字列照合手段102へ読み出す。文字列照合手段1
02は、テキスト204の中に検索要求201に合致す
る文字列、すなわち検索タームがあるかどうかを調べ、
もし該当するものがあれば、その文字列を識別する情報
205を複合条件判定手段103へ出力する。複合条件
判定手段103は該文字列識別情報205について、検
索要求201中に指示されたANDやORで構成される
論理条件などが満足されるか否かを調べる。指定された
複合条件を満足する場合には、該当する文書の識別情報
や文書内容のテキストデータを検索結果206としてホ
ストコンピュータへ返送する。
列照合手段102における文字列の照合方式としては、
有限オートマトンを用いて複数の文字列を1回のテキス
ト走査で探索する方法が知られている。このような文字
列検索方法と、これを高速に実行するためのハードウェ
アとしては特開昭60−105039「文字列照合方
式」により提案されている。
照合方式」のオートマトンを用いた文字列照合方法につ
いて図3を用いて説明する。図3は、入力されたテキス
トの中から、検索ターム“DOG”を照合するためのオ
ートマトンの状態遷移図を示したものである。ここで、
円はオートマトンの状態を、矢印は状態遷移を表す。各
矢印に付記された文字はこれに対応した遷移を引き起こ
す入力文字を示している。各円の内部に記された数値
は、その状態の状態番号を示す。状態0は、本オートマ
トンの初期状態である。遷移が記述されていない入力文
字に対しては、全て初期状態0に遷移する。遷移にスラ
ッシュ“/”が付記されている矢印404は“DOG”
が照合されたことを示す遷移を表す。すなわち、状態2
から“G”で遷移する矢印404は“DOG”が照合さ
れたことを示す。
作について説明する。このオートマトンは初期状態0か
ら状態遷移が始まる。初期状態0では、入力文字が
“D”であると状態1に遷移する。“D”以外の文字が
入力された場合は初期状態0に留まる。状態1について
も同様に、入力文字が“O”ならば状態2へ遷移し、
“D”ならば状態1に留まり、それ以外は初期状態0へ
戻る。さらに、状態2において、入力文字が“G”なら
ば照合結果が格納されている矢印404の遷移が起こ
る。この際、照合結果205が出力され、“DOG”が
照合されたことになる。以下、他の状態における遷移に
ついても同様である。以上のように、テキストから1文
字取り込む度にオートマトンの状態遷移を制御すること
により文字列照合を実現している。
示す。まず、初期設定ステップ1000では、現在のオ
ートマトンの状態番号(以後、現状態番号と呼ぶ)が初
期状態番号に設定される。繰り返しステップ1200で
は、テキストの終了まで、すなわちテキストを全て読み
出し終えるまで以下の1300〜1700までの処理が
繰り返し実行される。文字取得ステップ1300では、
テキスト204から1文字ずつ文字が取り込まれる。こ
の文字についてオートマトンの状態遷移を行う。状態遷
移ステップ1400では、オートマトンの状態遷移表で
ある状態遷移テーブルと照合識別子テーブルを使用し、
次に遷移すべき状態番号(以後、次状態番号と呼ぶ)を
取得している。状態遷移テーブルには、テキスト204
から取り込まれた文字コードと現状態番号とで示される
アドレスに、次状態番号が格納されている。照合識別子
テーブルも、同様に文字コードと現状態番号とで示され
るアドレスに、検索タームの識別子(以後、照合ターム
識別子と呼ぶ)が格納されている。具体的には、上記オ
ートマトン例の照合結果が格納されている矢印404に
対応した状態2と文字コード“G”で示されるアドレス
に、照合ターム識別子が設定される。他のスロットには
照合結果が格納されないので、初期値である0(ゼロ)
が設定されている。したがって、本ステップでは取得し
た文字コードと現状態番号とによりアドレッシングさ
れ、状態遷移テーブルと照合識別子テーブルから次状態
番号と照合ターム識別子が読み出される。照合ターム識
別子判定ステップ1500では、照合ターム識別子が0
(ゼロ)より大きいかどうかを調べる。すなわち、照合
結果が格納されているかどうかを調べている。上記のよ
うに、照合ターム識別子は0より大きい場合には照合結
果が設定されているため照合結果出力ステップ1600
を実行する。照合結果出力ステップ1600では、照合
ターム識別子を照合結果205として出力する。現状態
番号更新ステップ1700では、次状態番号を新たな現
状態番号として、現状態番号を更新する。その後、文字
取得ステップ1300に戻る。以上の1000から17
00までの処理をテキスト毎に繰り返すことにより、文
字列照合を実現している。
び照合識別子テーブルについて具体例を用いて説明す
る。図5および図6示す状態遷移テーブルおよび照合識
別子テーブルは、図3に示す検索ターム“DOG”を照
合するためのオートマトンに対応している。状態遷移テ
ーブルは、上述のように現状態番号と文字コードとでア
ドレシングされ、次に遷移すべき状態番号である次状態
番号が出力される構成となっている。例えば、現状態番
号0と文字コード“D”とでアクセスされると、次状態
番号として1が出力される。照合識別子テーブルも、上
述のように現状態番号と文字コードとでアドレシングさ
れ、照合ターム識別子が出力される構成となっている。
さらに、照合ターム識別子は、上述したように0より大
きい場合には照合結果が設定されており、0の場合は設
定されていないことを示している。本例では、状態2と
文字コード“G”で示されるアドレスに照合ターム識別
子の1が設定されている。これは、上記オートマトン例
の照合結果が格納されている矢印404を示している。
列照合方式」では、このようなオートマトンの制御を図
7に示す文字列照合回路により実現している。以下、こ
の内容を説明する。文字列照合回路は、文字コードレジ
スタ211、状態遷移テーブル220、状態番号レジス
タ250、および照合識別子テーブル260から構成さ
れる。以下、本回路の文字列照合動作について説明す
る。まず、初期設定として、状態遷移テーブル220に
は指定された検索タームを照合するためのオートマトン
が設定される。さらに、このオートマトンの初期状態で
ある状態番号0が状態番号レジスタ250に設定され
る。したがって、現在の状態を示す現状態番号305は
状態番号0となる。照合時動作は、テキスト204から
1文字ずつ文字コードレジスタ211に入力することか
ら始まる。文字コードレジスタ211の出力である文字
コード302と状態番号レジスタ250の出力である現
状態番号305とをアドレスとして状態遷移テーブル2
20がアクセスされ、次に遷移すべき状態番号である次
状態番号303が読み出される。次状態番号303は新
たな現状態番号305として状態番号レジスタ250に
保持される。状態遷移テーブル220のアクセス動作に
並行して照合識別子テーブル260が状態番号レジスタ
250から出力される現状態番号305と文字コード3
02とをアドレスとしてアクセスされ、検索タームの識
別子が照合結果205として読み出される。ただし、読
み出された検索タームの識別子が0より大きい場合の
み、検索タームが照合されていることを表わす。0の場
合は、検索タームが照合されていないことを表わす。そ
の後、次の1文字が文字コードレジスタ211に入力さ
れる。以上の一連の動作が繰り返されることにより文字
列照合動作が実現される。
0および図6に示す照合識別子テーブル260を用いて
具体例で説明する。状態遷移テーブル220は入力文字
コード302と着目しているオートマトンの現状態番号
305とでアドレッシングされる。現状態番号305が
0で入力文字コード302が“D”のとき、0と“D”
に対応する1が次に遷移すべきオートマトンの次状態番
号303として状態遷移テーブル220から出力され
る。照合識別子テーブル260には検索タームが照合さ
れたことを示す矢印404の照合結果情報が格納されて
いる。すなわち、上述したように検索タームの末尾文字
で遷移するときの現状態番号と検索ターム“DOG”の
末尾文字コード(図3の“DOG”の場合には状態番号
2と文字“G”)とでアドレッシングされる照合識別子
テーブル260のスロットに照合ターム識別子が格納さ
れている。ここでは、1が検索ターム“DOG”の照合
ターム識別子として格納されている。0以外の内容が照
合ターム識別子を表している。照合ターム識別子として
は、0以外の数値を割付け、照合対象以外には0を割付
けることにより、検索タームが照合されたかどうかを区
別できるようにしている。このようにして引例では検索
処理が実行される。
ようにテキスト中の部分文字列として検索タームの照合
処理を行うため、所定の意味を持った部分文字列(以
後、単語と呼ぶ)の一部分と照合してしまうことがあ
る。その結果、検索タームと意味が異なる単語の一部と
照合し、本来目的とする以外の文書を検索してしまうと
いう問題がある。例えば、検索タームとして“ASI
C”が指定され、テキストとして“・・・高速BASI
Cの開発・・・”が入力された場合、検索ターム“AS
IC”はテキスト中の“BASIC”と部分的に照合す
るため、本テキストが検索されてしまう。しかしなが
ら、“ASIC”と“BASIC”とでは意味的に全く
異なり、このテキストは検索者の探したい情報とはなら
ない。したがって、このテキストは検索ノイズとなる。
このように従来技術では、テキスト中の単語を意識した
照合を行わないため、検索ノイズが発生するという問題
がある。本発明の目的は、検索者の意図に合わない単語
中の部分文字列との照合を回避し、検索ノイズの少なく
できる文字列検索方法および装置を提供することにあ
る。
するため、コード表現された文字で構成されるテキスト
中に、指定された複数の検索タームが存在するか否かを
一括して判定する文字列照合方法において、テキストか
ら1文字ずつ読み取り、入力し、該入力文字がテキスト
中の単語の先頭文字の場合にのみ前記検索タームとの文
字列照合を開始し、それ以外の場合には文字列照合を行
わず、文字列照合を開始した後には、前記入力文字が前
記テキスト中の単語の末尾文字の場合のみ照合結果を出
力し、それ以外の場合には照合結果を出力しないように
している。
キスト中の単語の先頭文字でなければ検索タームとの文
字列照合を開始せず、そして、入力文字が前記テキスト
中の単語の末尾文字でなければ照合結果を出力しないよ
うにしているので、検索者の意図に合わない単語中の部
分文字列との照合を回避し、検索タームに指定された文
字列と最長一致照合を行うことにより単語として一致す
る文字列のみを照合することが可能となるため、検索ノ
イズの少ない検索が可能となる。また、テキストからの
入力文字が検索タームの先頭文字であり、かつ前記入力
文字とその直前の文字の文字種が異なっていなければ文
字列照合を開始せず、そして、文字列照合の開始後、前
記入力文字と該文字の直前の入力文字との文字種が異な
り、かつ前記直前の文字が前記検索タームの末尾文字で
なければ照合結果を出力しないようにすることにより、
同様に確実な検索が可能となる。また、文字列照合装置
の構成として、上述のように、文字種識別手段、状態遷
移表格納手段、状態番号格納手段、照合識別表格納手
段、出力手段を設けたことにより、文字列照合装置は、
テキストから1文字ずつ読み取り、入力し、該入力文字
で状態遷移テーブルを照合すると共に該文字と該文字の
直前の文字の文字種を比較し、該入力文字が前記検索タ
ームの先頭文字であり、かつ文字種が異なる場合には状
態遷移テーブルの状態番号が変化され、検索タームの一
連の文字列との照合が開始され、以後入力される文字で
順次状態番号が変化され、そして、入力文字と該文字の
直前の入力文字との文字種が異なり、かつ該直前の入力
文字で状態遷移テーブルを照合した結果、該直前の入力
文字が末尾文字である場合に、照合識別子テーブルから
照合結果を出力することができる。これにより、検索者
の意図に合わない単語中の部分文字列との照合を回避
し、検索タームに指定された文字列と最長一致照合を行
うことにより単語として一致する文字列のみを照合する
ことが可能となり、検索ノイズの少ない検索を可能とし
ている。
1を用いて説明する。本実施例は、同一の文字列に対し
て検索タームと最長一致照合を行うことにより、単語を
意識した検索を実現し、検索ノイズの少ない文字列照合
方法を提供する。本実施例の処理の概要について説明す
る。まず、本発明のオートマトンを用いた文字列照合方
法について図8を用いて説明する。本図は、入力された
テキストの中から、検索ターム“ASIC”を照合する
ためのオートマトンを示したものである。丸が付記され
た矢印は先頭文字の遷移であることを表わしている。こ
の遷移が発生したときに文字種が切り替わっていること
を調べ、文字種が切り替わっている場合は状態遷移を発
生させ、文字種が切り替わっていない場合は初期状態に
留まるように制御する。以下、同図を用いて本引例の文
字列照合動作について説明する。このオートマトンは初
期状態0から状態遷移が始まる。初期状態0では、入力
文字が“A”であり、先頭文字であると状態1に遷移す
る。“A”以外の文字が入力された場合は初期状態0に
留まる。状態1についても同様に、入力文字が“S”な
らば状態2へ遷移し(先頭文字“A”ならば状態1に留
まる)、それ以外は初期状態0へ戻る。次に、状態2に
おいて、入力文字が“I”ならば状態3へ遷移し(先頭
文字“A”ならば状態1に戻る)、引続き入力文字
“C”が入力されると照合結果が格納されている矢印4
04の遷移が起こる(先頭文字“A”ならば状態1に戻
る)。この際、照合結果205が出力され、“ASI
C”が照合されたことになる。以下、他の状態における
遷移についても同様である。以上のように、テキストか
ら1文字取り込む度にオートマトンの状態遷移を制御す
ることにより文字列照合を実現している。
では現状態番号が初期状態番号に初期設定される。繰り
返しステップ1200では、テキストの終了まで、すな
わちテキストを全て読み出し終えるまで以下の1300
〜1900までの処理が繰り返し実行される。文字取得
ステップ1300では、テキスト204から1文字ずつ
文字が取り込まれる。この文字は、後述の状態遷移テー
ブルや照合識別子テーブルのアクセスに使用される。状
態遷移テーブルには、後述するように、テキスト204
から取り込まれた文字コードと現状態番号で示されるア
ドレスに、先頭文字フラグ、末尾文字フラグ、および次
状態番号が図9に示すように格納されている。照合終了
判定ステップ1800では、直前の末尾文字フラグが1
でかつ文字種が切り替わった場合、すなわち検索ターム
の末尾文字の照合が終え、その次に文字種境界が存在す
る場合に照合ターム識別ステップ1500が実行され
る。このように文字列照合を行うことにより検索ターム
の末尾部分の単語を意識した同一文字種最長一致文字列
照合を実現している。末尾文字種フラグは、後述する状
態遷移ステップ1400で状態遷移テーブルから読み出
されたものである。ただし、テキストの先頭文字の処理
おいては、初期設定で末尾文字フラグは0となっている
ため、照合ターム識別ステップ1500は実行されな
い。照合ターム識別子判定ステップ1500では、照合
ターム識別子が0(ゼロ)より大きいかどうかを調べ
る。すなわち、照合結果が格納されているかどうかを調
べている。上記のように、照合ターム識別子は0より大
きい場合には照合結果が設定されているため照合結果出
力ステップ1600を実行する。照合結果出力ステップ
1600では、照合ターム識別子を照合結果205とし
て出力する。状態遷移ステップ1400では、オートマ
トンの状態遷移表である状態遷移テーブルと照合識別子
テーブルを参照することにより、先頭文字フラグ、末尾
文字フラグ、次状態番号、および照合ターム識別子を取
得している。状態遷移テーブルはその1例が図9に示さ
れ、テキスト204から取り込まれた文字コードと現状
態番号で示されるアドレスに、先頭文字フラグ、末尾文
字フラグ、および次状態番号が格納されている。先頭文
字フラグは、初期状態番号と検索タームの先頭文字とで
示されるアドレスのものに1が設定され、それ以外には
0が設定される。したがって、先頭文字フラグとして1
が出力された場合は、テキスト中に検索タームの先頭文
字が検出されたことを示している。先頭文字フラグは前
記の照合終了判定ステップ1800で参照されている。
末尾文字フラグは、検索タームの末尾文字による遷移の
遷移元状態番号と検索タームの末尾文字とで示されるア
ドレスのものに1が設定され、それ以外には0が設定さ
れる。したがって、末尾文字フラグとして1が出力され
た場合は、テキストと検索タームの末尾文字までの照合
が終了したことを示している。末尾文字フラグは後述す
る照合開始判定ステップ1900で参照されている。照
合識別子テーブルは従来技術のものを使用しており、文
字コードと現状態番号で示されるアドレスに照合ターム
識別子が格納されている。その1例を図10に示す。
の先頭文字フラグが1でかつ文字種が切り替わっていな
いかどうかを判定する。すなわち、テキストと検索ター
ムの先頭文字との照合時に、その直前が文字種境界にな
っていないか否かを判定している。このようにすること
により検索タームの先頭部分の単語を意識した同一文字
種最長一致文字列照合を実現している。ここで、判定が
成立した場合、すなわちテキストと検索タームの先頭文
字との照合時にその直前が文字種境界でない場合には、
初期状態設定ステップ2000が実行され、現状態番号
には初期状態番号が設定され、強制的に初期状態へ戻さ
れる。判定が不成立の場合、すなわちテキストと検索タ
ームの先頭文字との照合時にその直前が文字種境界であ
る場合には、現状態番号更新ステップ1700が実行さ
れ、現状態番号として次状態番号が設定される。したが
って、現状態番号から次状態番号への遷移が発生し、検
索タームの2文字目以降の照合へと処理が移る。その
後、文字取得ステップ1300に戻る。以上の1000
から1900までの処理をテキスト毎に繰り返すことに
より、文字列照合を実現している。
ついて具体例を用いて説明する。図9および図10に示
す状態遷移テーブルおよび照合識別子テーブルは、図8
に示す検索ターム“ASIC”を照合するためのオート
マトンに対応している。状態遷移テーブルは、上述のよ
うに現状態番号と文字コードとでアドレシングされ、先
頭文字フラグ、末字文字フラグおよび次に遷移すべき状
態番号である次状態番号が出力される構成となってい
る。例えば、現状態番号0と文字コード“A”でアクセ
スされると、先頭文字フラグとして1、末字文字フラグ
として0、次状態番号として1が出力される。このよう
に文字列照合手段を制御することにより単語間の境界を
意識した最長一致文字列照合を実現することが可能とな
り、検索ターム“ASIC”が指定された場合でも検索
ノイズであるテキスト“BASIC”が検索されなくな
る。以上説明したように本発明によれば、単語間の境界
を意識した最長一致文字列照合を行うことにより、検索
ノイズの少ない文字列照合装置を提供することが可能と
なる。
例について説明する。本実施例は、文字列照合回路20
0において、同一の文字列に対して検索タームと最長一
致照合を行うことにより、単語を意識した検索を実現
し、検索ノイズの少ない文字列照合装置を提供する。本
実施例で用いる文字列照合手段200の構成を図12に
示す。本文字列照合手段の構成は、文字コードレジスタ
211、状態遷移テーブル221、照合識別子テーブル
260、文字種テーブル500、文字種コードレジスタ
710、状態番号レジスタ250、照合識別子レジスタ
780、出力ゲート790、フリップフロップ730、
コンパレータ760、ANDゲート750、760、お
よびインバータ740から構成されている。状態遷移テ
ーブル221のスロットは、末尾文字フラグ630、先
頭文字フラグ640、次状態番号303から構成されて
いる。本図のテーブル例では、図8のオートマトンが設
定されている。状態遷移テーブル221では、検索ター
ム“ASIC”の先頭文字“A”と初期状態である状態
番号0とで示されるスロットの先頭文字フラグに1が設
定され、末尾文字“C”とその遷移元状態である状態番
号3とで示されるスロットの末尾文字フラグに1が設定
されている。これら以外のフラグには0が設定される。
文字種テーブルには、テキストで使用する文字の文字種
として所定のコードが設定される。本例では、漢字、片
仮名、ひらがな、英字、数字、および記号の文字種コー
ドが設定され、例えば、漢字には1、ひらがなには3、
英字には4が設定される。
の概略動作について説明する。まず初期設定として、状
態遷移テーブル221および照合識別子テーブル260
に検索タームから作成されたオートマトンを設定する。
文字種テーブル500に前記の文字種コードを設定す
る。さらに、文字種コードレジスタ710、フリップフ
ロップ730、および照合識別子レジスタ780に0を
設定する。状態番号レジスタ250には初期状態番号で
ある0を設定する。文字列照合動作は、入力テキスト2
04から1文字ずつ文字コードが文字コードレジスタ3
11に取り込まれることから始められる。ここで取り込
まれた文字コード302は、状態遷移テーブル221、
照合識別子テーブル260、および文字種テーブル50
0へ出力される。状態遷移テーブル221では、文字コ
ード302と現状態番号305によりアドレッシングさ
れ末尾文字フラグ630、先頭文字フラグ640、次状
態番号303が出力される。末尾文字フラグ630はフ
リップフロップ730に一旦保持される。状態遷移テー
ブル221のアクセス動作に並行して文字種コードテー
ブル500では、文字コード302に対応した文字種コ
ード610が出力される。文字種コード610と文字種
コードレジスタ710に格納されている直前の文字種コ
ード620は、コンパレータ760で比較され、文字種
が異なるときには文字種境界フラグ650として1が出
力され、文字種が同じときには文字種境界フラグ650
として0が出力される。すなわち、ここで文字種境界の
検出が行われ、文字コード302の直前に文字種境界が
存在するかどうかを調べており、1の場合には存在し、
0のときは存在しないことになる。文字種境界フラグ6
50が0で、先頭文字フラグ640が1の場合、状態番
号レジスタ250は0(ゼロ)クリアされる。したがっ
て、現状態305は初期状態である状態番号0に強制的
に戻ることになる。これ以外の場合には、次状態番号3
03が状態番号レジスタ250に保持され、次の現状態
番号305として出力される。状態遷移テーブル221
のアクセス動作に並行して照合識別子テーブル260が
状態番号レジスタ250から出力される現状態番号30
5と文字コード302とをアドレスとしてアクセスさ
れ、照合ターム識別子670が読み出され照合識別子レ
ジスタ780に一旦保持され、出力ゲート790に出力
される。ここで、文字種境界フラグ650が1で直前の
文字の末尾文字フラグ635が1の場合、出力ゲート7
90が開かれ、照合識別子レジスタ780に格納されて
いる照合ターム識別子が照合結果205として出力され
る。これらの処理の終了後、文字種コード610は、文
字種コードレジスタ710に保持され、直前の文字種コ
ード620として出力される。同時に、末尾文字コード
630もフリップフロップ730に取り込まれ、直前の
文字の末尾文字フラグ635として出力される。この
後、次の1文字が文字コードレジスタ211に入力され
る。以上の一連の動作が繰り返されることにより文字列
照合動作が実現される。
動作を図9、図10、および図11のテーブル例と図1
3のタイミングチャートを用いて説明する。本例では、
検索タームとして“ASIC”が与えられ、入力テキス
トとして“高集積ASICの開発”が入力されることを
想定している。まず初期設定として、状態遷移テーブル
221および照合識別子テーブル260には、図8に示
すオートマトンを設定する。文字種テーブル500に前
述の文字種コードを設定する。このようにして、設定し
たテーブル例を図9、図10、および図11に示す。さ
らに、文字種コードレジスタ710、フリップフロップ
730、および照合識別子レジスタ780に0を設定す
る。状態番号レジスタ250には初期状態番号である0
を設定する。まず、テキストの第1文字目の“高”が文
字コードレジスタ211に取り込まれ、文字コード30
2として、文字種コードテーブル500、状態遷移テー
ブル221、および照合識別子テーブル260へ出力さ
れる。文字コード“高”により文字種コードテーブル5
00がアクセスされ、文字種コード610として1が出
力される。このとき、文字種コードレジスタ710の内
容は0なので文字種境界フラグ650は1となる。状態
遷移テーブル221は文字コード“高”と状態番号レジ
スタ250に格納されている初期状態番号0とでアクセ
スされ、次状態番号303として0が出力される。した
がって、状態遷移は発生していない。末尾文字フラグ6
30と先頭文字フラグ640には0が出力される。先頭
文字フラグ640が0で文字種境界フラグ650が1で
あるため状態番号レジスタ250のクリアフラグ690
は0となり、次状態番号303である0は状態番号レジ
スタ250に格納され、次の現状態番号305として使
用される通常動作を行う。同様に、第2文字目の“集”
および第3文字目の“積”についても先頭文字フラグ6
40が0であるため、通常動作が行われる。次に、テキ
ストの第4文字目の“A”が文字コードレジスタ211
に取り込まれると、文字種コードテーブル500がアク
セスされ、文字種コード610として4が出力される。
このとき、文字種コードレジスタ710の内容は1なの
で文字種境界フラグ650は1となる。状態遷移テーブ
ル221は文字コード“A”と状態番号レジスタ250
に格納されている初期状態番号0とでアクセスされる
と、末尾文字フラグ630、先頭文字フラグ640、お
よび次状態番号303にそれぞれ0、1、および1がそ
れぞれ出力される。よって、先頭文字フラグが1となる
とともに、状態0から状態1への遷移が発生する。先頭
文字フラグ640が1で文字種境界フラグ650が1で
あるため、状態番号レジスタ250のクリアフラグ69
0は0となり、次状態番号303である1は状態番号レ
ジスタ250に格納され、次の現状態番号305とな
る。つまり、文字種境界の直後から照合処理が開始され
たことを示している。第5文字目の“S”および第6文
字目の“I”についてもクリアフラグ690が0となる
ため、通常動作が行われる。この間、状態1から状態
2、さらに状態2から状態3へと状態遷移が発生する。
取り込まれると、文字種コードテーブル500から文字
種コード610として4が出力される。このとき、文字
種コードレジスタ710の内容は4なので文字種境界フ
ラグ650は0となる。状態遷移テーブル221では文
字コード“C”と状態番号レジスタ250に格納されて
いる状態番号3とでアクセスされ、末尾文字フラグ63
0、先頭文字フラグ640、および次状態番号303に
それぞれ1、0、および0がそれぞれ出力される。よっ
て、末尾文字フラグ630が1となるとともに、状態3
から状態0への遷移が発生する。先頭文字フラグ640
と文字種境界フラグ650がともに0であるため通常遷
移が行われる。このとき、照合識別子テーブル260で
は、照合ターム識別子670が1となり、照合識別子レ
ジスタ780に格納される。ここで、フリップフロップ
730に末尾文字フラグ630が格納される。次に、
“の”が取り込まれると、文字種コードテーブル500
から文字種コード610として3が出力される。このと
き、文字種コードレジスタ710の内容は4なので文字
種境界フラグ650は1となる。状態遷移テーブル22
1では文字コード“の”と状態番号レジスタ250に格
納されている状態番号0とでアクセスされ、末尾文字フ
ラグ630、先頭文字フラグ640、および次状態番号
303ともに全て0が出力される。先頭文字フラグ64
0が0であるため通常遷移が行われる。このとき、直前
の末尾文字フラグ730が1でかつ文字種境界フラグ6
50が1であるため、出力ゲート790が開かれ照合識
別子レジスタ780に保持されていた照合ターム識別子
が照合結果205として出力される。つまり、文字種境
界の直前で検索ターム“ASIC”が照合したことを示
している。その後、フリップフロップ730では、末尾
文字フラグ630が格納されるため、直前の末尾文字フ
ラグ635は再び0となり、出力ゲート790は閉ざさ
れる。以降、“開”と“発”においても同様に通常遷移
が行なわれ。そして、照合処理は終了する。
索ノイズとなるテキストが入力された場合の動作を図1
4のタイミングチャートを用いて説明する。本例では、
テキストとして“高速BASICの開発”を想定してい
る。ここでは、第3文字目の“B”までは、通常動作が
行われる。次の“A”が取り込まれると、状態遷移テー
ブル221から、末尾文字フラグ630、先頭文字フラ
グ640、および次状態番号303が、0、1、および
1とそれぞれ出力される。ここで、文字種境界フラグ6
50が0で先頭文字フラグが1であるため、状態番号レ
ジスタ250のクリアフラグ690は1となる。したが
って、状態番号レジスタの内容は0となるため、次の現
状態番号305は0となる。つまり、強制的に初期状態
へ遷移させられることになる。以降は、最後まで現状態
番号305が0となり、遷移が発生せずに文字列照合は
終了する。したがって、本例では検索ターム“ASI
C”は照合されていない。
により単語間の境界を意識した最長一致文字列照合を実
現することが可能となり、検索ターム“ASIC”が指
定された場合でも検索ノイズであるテキスト“BASI
C”が検索されなくなる。
間の境界を意識した最長一致文字列照合を行うことによ
り、検索ノイズの少ない文字列照合装置を提供すること
が可能となる。
字列検索を実現することができる。
PAD図である。
AD図である。
である。
る。
る。
る。
ク図である。
ためのタイミングチャートを示す図である。
するためのタイミングチャートを示す図である。
Claims (3)
- 【請求項1】コード表現された文字で構成されるテキス
トを記憶するとともに、該テキスト中の文字が、文字列
の先頭文字であるか否かを示す情報及び文字列の末尾文
字であるか否かを示す情報を記憶し、指定された検索タ
ームが前記テキスト中含まれるか否かを判定する文字列
検索装置における文字列検索方法であって、 前記記憶されたテキストから文字を読み取り、 該読取文字が文字列の先頭文字である場合は、該先頭文
字から始まる文字列と前記検索タームとの文字列照合を
行い、 前記読取文字が文字列の末尾文字である場合は、前記先
頭文字及び前記末尾文字を含む文字列と前記検索ターム
との照合結果を出力する ことを特徴とする文字列検索方
法。 - 【請求項2】コード表現された文字で構成されるテキス
トを記憶するとともに、該テキスト中の文字の文字種を
記憶し、指定された検索タームが前記テキスト中に含ま
れるか否かを判定する文字列検索装置における文字列検
索方法であって、 前記記憶されたテキストから文字を読み取り、 該読取文字が前記検索タームの先頭文字と一致し、かつ
前記読取文字の文字種と、前記読取文字の直前の文字の
文字種とが異なる場合は、前記読取文字以降の文字列と
前記検索タームとの文字列照合を行い、 前記読取文字以降の文字列中の文字の文字種と、該文字
の直前の文字の文字種が異なり、かつ該直前の文字が前
記検索タームの末尾文字と一致する場合は、前記検索タ
ームと、前記先頭文字と一致する読取文字から前記末尾
文字と一致する読取文字までの文字列との照合結果を出
力する ことを特徴とする文字列検索方法。 - 【請求項3】コード表現された文字で構成されるテキス
ト中に、指定された複数の検索タームが存在するか否か
を判定する文字列検索装置において、 テキストを格納する文字列記憶手段と、 該文字列記憶手段から読み出されたテキストから1文字
ずつ取り込むとともにこれを保持し、被検索文字として
出力する文字コード格納手段と、 該被検索文字コードとその直前に入力した被検索文字コ
ードとの文字種を比較し、比較結果を文字種境界フラグ
として出力する文字種識別手段と、 遷移元の状態番号と文字コードとによりアクセスされる
スロットを有し、該スロットに、該文字コードに対する
遷移先の状態番号と、該文字コードが前記検索タームの
先頭文字であることを示す先頭文字フラグと、該コード
が前記検索タームの末尾文字であることを示す末尾文字
フラグが書き込まれている前記被検索文字コードと文字
コードとの照合を行うための状態遷移表を格納する状態
遷移表格納手段と、 前記文字種識別手段から出力された前記文字種境界フラ
グが同一文字種を示し、かつ前記遷移元の状態番号と被
検索文字コードとによりアクセスされる前記状態遷移表
格納手段から読み出された前記先頭文字フラグが先頭文
字を示す場合には前記状態番号として初期状態番号を保
持し、それ以外の場合には前記状態番号として前記遷移
表格納手段から出力された前記遷移先状態番号を保持
し、これを遷移元状態番号として出力する状態番号格納
手段と、 遷移元の状態番号と検索対象文字コードとによりアクセ
スされるスロットを有し、該スロットに前記検索ターム
の照合識別情報が書き込まれている照合識別表を格納す
る照合識別表格納手段と、 前記被検索文字コードと該コードの直前に入力した被検
索文字コードに対して、前記文字種識別手段から出力さ
れた前記文字種境界フラグが異文字種を示し、かつ前記
遷移元の状態番号と前記直前に入力した被検索文字コー
ドとによりアクセスされ前記状態遷移表格納手段から読
み出された前記末尾文字フラグが末尾文字を示す場合に
は、前記遷移元の状態番号と前記直前に入力した被検索
文字コードとによりアクセスされ照合識別表格納手段か
ら読み出された前記照合識別情報を出力する出力手段を
備えることを特徴とする文字列検索装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP06759093A JP3459049B2 (ja) | 1993-03-03 | 1993-03-03 | 文字列検索方法およひ装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP06759093A JP3459049B2 (ja) | 1993-03-03 | 1993-03-03 | 文字列検索方法およひ装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06259481A JPH06259481A (ja) | 1994-09-16 |
JP3459049B2 true JP3459049B2 (ja) | 2003-10-20 |
Family
ID=13349289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP06759093A Expired - Lifetime JP3459049B2 (ja) | 1993-03-03 | 1993-03-03 | 文字列検索方法およひ装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3459049B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4118363B2 (ja) * | 1996-06-27 | 2008-07-16 | 富士通株式会社 | スパースな状態遷移表に基づく複数記号列の照合装置および方法 |
JPH10228484A (ja) * | 1997-02-17 | 1998-08-25 | Nippon Telegr & Teleph Corp <Ntt> | データベース検索装置および方法 |
JP2001043228A (ja) * | 1999-07-28 | 2001-02-16 | Ricoh Co Ltd | 文書検索システム、文書検索方法及び記憶媒体 |
WO2017126057A1 (ja) * | 2016-01-20 | 2017-07-27 | 株式会社日立製作所 | 情報検索方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2986865B2 (ja) * | 1989-07-24 | 1999-12-06 | 株式会社日立製作所 | データ検索方法および装置 |
-
1993
- 1993-03-03 JP JP06759093A patent/JP3459049B2/ja not_active Expired - Lifetime
Non-Patent Citations (1)
Title |
---|
畠山 敦 他,ソフトウェアによるテキストサーチマシンの実現,情報処理学会研究報告,日本,社団法人 情報処理学会,1992年 5月12日,Vol.92,No32(92−FI−25−4),pp.19−25. |
Also Published As
Publication number | Publication date |
---|---|
JPH06259481A (ja) | 1994-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5140644A (en) | Character string retrieving system and method | |
EP0911744B1 (en) | Method for processing digital textdata | |
EP0250705B1 (en) | Method and apparatus for retrieval of symbol strings from data | |
JP3178475B2 (ja) | データ処理装置 | |
US7457799B2 (en) | Apparatus and method for searching data of structured document | |
EP1335301A2 (en) | Context-aware linear time tokenizer | |
US20020099698A1 (en) | Pattern retrieving method, pattern retrieval apparatus, computer-readable storage medium storing pattern retrieval program, pattern retrieval system, and pattern retrieval program | |
JPH11224258A (ja) | 画像検索装置及びその方法、コンピュータ可読メモリ | |
JP3459049B2 (ja) | 文字列検索方法およひ装置 | |
US6304878B1 (en) | Method and system for improved enumeration of tries | |
EP0468402B1 (en) | Character string retrieving system and method | |
JP2880192B2 (ja) | 文字列検索方法及び装置 | |
JPS5853791B2 (ja) | 文字認識装置 | |
JP3360308B2 (ja) | 文字列検索方法および装置 | |
JP2990312B2 (ja) | データアクセス方法および装置 | |
JP2982244B2 (ja) | 文字認識後処理方式 | |
US6801660B1 (en) | Method and system for maintaining alternates in association with recognized words | |
JP3037776B2 (ja) | 用語分解装置 | |
JPH06139278A (ja) | 文字コード変換機能を備えた文字列検索装置 | |
JP3017095B2 (ja) | 外字登録管理方法 | |
JPH06274701A (ja) | 単語照合装置 | |
JP2001067375A (ja) | 名称検索装置、キーボード及び名称検索プログラムを記録した記録媒体 | |
Maeda et al. | Signature‐check based unification filter | |
JP2838972B2 (ja) | 自動索引作成装置 | |
JPS62160534A (ja) | 文字列照合方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20040316 |
|
A072 | Dismissal of procedure [no reply to invitation to correct request for examination] |
Free format text: JAPANESE INTERMEDIATE CODE: A072 Effective date: 20040706 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070808 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080808 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080808 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090808 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100808 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100808 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110808 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120808 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130808 Year of fee payment: 10 |
|
EXPY | Cancellation because of completion of term |