JPH1027183A - データ登録方法および装置 - Google Patents
データ登録方法および装置Info
- Publication number
- JPH1027183A JPH1027183A JP9093439A JP9343997A JPH1027183A JP H1027183 A JPH1027183 A JP H1027183A JP 9093439 A JP9093439 A JP 9093439A JP 9343997 A JP9343997 A JP 9343997A JP H1027183 A JPH1027183 A JP H1027183A
- Authority
- JP
- Japan
- Prior art keywords
- data
- search
- character
- registered
- state
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】
【課題】高速なフルテキストサーチ(全文検索)を行う
ためのデータ登録方法および装置を提供することを目的
とする。 【解決手段】検索対象である本文(1604)を登録す
る(1601)と共に、本文中に繰り返し現れる単語の
重複を排除した凝縮本文(1605)および予め定めた
各文字が本文に含まれるか否かを示す文字成分表(16
03)のうち少なくとも一方を作成し(1602、16
03)、登録する。
ためのデータ登録方法および装置を提供することを目的
とする。 【解決手段】検索対象である本文(1604)を登録す
る(1601)と共に、本文中に繰り返し現れる単語の
重複を排除した凝縮本文(1605)および予め定めた
各文字が本文に含まれるか否かを示す文字成分表(16
03)のうち少なくとも一方を作成し(1602、16
03)、登録する。
Description
【0001】
【発明の属する技術分野】この発明は、データ検索シス
テムにおいて、全文検索を可能とするデータ(文書)登
録方法および装置に関する。また、特に統制されていな
いキーワード(自由語と呼ぶ)を用いて検索する際に同
義語や表記法の違いによる検索もれをなくすことを可能
にする検索のためのデータ(文書)登録方法および装置
に関する。また、この発明においては、被検索文字列中
に複数の文字列集合が存在するか否かを一括して判定す
るのに適した情報検索システムのための情報登録方法及
び装置に関する。
テムにおいて、全文検索を可能とするデータ(文書)登
録方法および装置に関する。また、特に統制されていな
いキーワード(自由語と呼ぶ)を用いて検索する際に同
義語や表記法の違いによる検索もれをなくすことを可能
にする検索のためのデータ(文書)登録方法および装置
に関する。また、この発明においては、被検索文字列中
に複数の文字列集合が存在するか否かを一括して判定す
るのに適した情報検索システムのための情報登録方法及
び装置に関する。
【0002】さらにこの発明は、上記の情報検索システ
ムを実施する装置に適した記憶容量が大きく、短時間の
書き込み、読み出しが可能な集合型磁気ディスク装置、
並びに、複数件のファイルの連続書き込み、読み出しに
適した集合型磁気ディスク装置に関する。
ムを実施する装置に適した記憶容量が大きく、短時間の
書き込み、読み出しが可能な集合型磁気ディスク装置、
並びに、複数件のファイルの連続書き込み、読み出しに
適した集合型磁気ディスク装置に関する。
【0003】
【従来の技術】近年、文献情報や特許情報などの2次情
報(書誌情報)のみならず、1次情報(本文)をも含む
大規模データベース・サービスの重要性が増している。
このようなデータベース(DBと略すこともある)の情
報検索では、従来からキーワードや分類コードによる方
法が用いられてきている。
報(書誌情報)のみならず、1次情報(本文)をも含む
大規模データベース・サービスの重要性が増している。
このようなデータベース(DBと略すこともある)の情
報検索では、従来からキーワードや分類コードによる方
法が用いられてきている。
【0004】キーワードは、データベースへの情報登録
時に、キーワードを付与する(インデキシングと言う)
専門家が統制語集(シソーラスと呼ぶ)から選んで付け
ている。そして、DB検索者もこのシソーラスからキー
ワードを選び出して検索を行なう方式がとられている。
しかしながら、このキーワード付与作業は、非常に煩雑
な作業を伴う。すなわち、登録すべきデータの内容を読
み、この内容を表現する適切な語彙をシソーラスから選
び出す必要がある。もしインデキシングを適切に行なわ
なければ、データベースから正しい情報が得られないこ
とになる。従って、このインデキシングにはデータの内
容に関する専門知識を持ち、かつシソーラスに登録され
ている語彙にも精通した専門家が必要になるという問題
がある。また、検索時にも同様に、シソーラスに則った
適切な語彙をキーワードとして指定しなければ、要求す
るデータを呼び出せなかったり、あるいは呼び出したデ
ータの中に不要なものが混じり込むという問題がある。
時に、キーワードを付与する(インデキシングと言う)
専門家が統制語集(シソーラスと呼ぶ)から選んで付け
ている。そして、DB検索者もこのシソーラスからキー
ワードを選び出して検索を行なう方式がとられている。
しかしながら、このキーワード付与作業は、非常に煩雑
な作業を伴う。すなわち、登録すべきデータの内容を読
み、この内容を表現する適切な語彙をシソーラスから選
び出す必要がある。もしインデキシングを適切に行なわ
なければ、データベースから正しい情報が得られないこ
とになる。従って、このインデキシングにはデータの内
容に関する専門知識を持ち、かつシソーラスに登録され
ている語彙にも精通した専門家が必要になるという問題
がある。また、検索時にも同様に、シソーラスに則った
適切な語彙をキーワードとして指定しなければ、要求す
るデータを呼び出せなかったり、あるいは呼び出したデ
ータの中に不要なものが混じり込むという問題がある。
【0005】また、このシソーラスにおいては、分類体
系自体が年月と共に変化するため、常にキーワードや分
類コードを更新しなければならないという問題も生じて
くる。
系自体が年月と共に変化するため、常にキーワードや分
類コードを更新しなければならないという問題も生じて
くる。
【0006】更に、インデキシングには時間がかかるた
め、新たなデータはバッチ処理によりかなりの量をまと
めて登録することになる。そのため、検索できる情報は
常に一定期間のおくれを持つという問題もある。このよ
うなことから、DBの普及に伴い、DBの専門家でなく
とも、シソーラス等に拘束されることなく、簡単に自由
語(非統制語ともいう)で、データの登録、検索が行な
えるシステムが望まれてきた。
め、新たなデータはバッチ処理によりかなりの量をまと
めて登録することになる。そのため、検索できる情報は
常に一定期間のおくれを持つという問題もある。このよ
うなことから、DBの普及に伴い、DBの専門家でなく
とも、シソーラス等に拘束されることなく、簡単に自由
語(非統制語ともいう)で、データの登録、検索が行な
えるシステムが望まれてきた。
【0007】また、データベースが大規模化するに従
い、シソーラスに記述された統制語だけではデータの内
容を十分詳細に記述できないため、キーワードで検索し
ても数十件から数百件までにしか絞り込めなくなってき
ている。この中から目的とするデータを見つけ出すため
には、それらの内容を直接読むしか方法がなく、これが
検索効率上の大きな問題となっている。
い、シソーラスに記述された統制語だけではデータの内
容を十分詳細に記述できないため、キーワードで検索し
ても数十件から数百件までにしか絞り込めなくなってき
ている。この中から目的とするデータを見つけ出すため
には、それらの内容を直接読むしか方法がなく、これが
検索効率上の大きな問題となっている。
【0008】このシソーラスの制限語を用いたインデキ
シングに基づく現状の検索方式の問題に対して、自動抄
録や自動インデキシングの試みがなされてきているが、
日本語の場合その言語的な困難性から、やはり種々の辞
書を必要とするため上記の本質的な問題の解決に至って
いない。
シングに基づく現状の検索方式の問題に対して、自動抄
録や自動インデキシングの試みがなされてきているが、
日本語の場合その言語的な困難性から、やはり種々の辞
書を必要とするため上記の本質的な問題の解決に至って
いない。
【0009】このような自由語による検索の過程では、
しばしばユーザの指定するキーワードすなわち検索文字
列と、検索対象であるDB中で用いられている言葉が同
一の内容を示すのにもかかわらず、表記あるいは表現が
食い違っているために検索漏れを生ずる場合がある。例
えば、“ピアノ”という言葉を“ピヤノ”と記述した
り、また“インターフェイス”という言葉を“インタフ
ェース”、“インタフェイス”あるいは“インターフェ
ース”と記述したりすることがある。このような微妙な
音節表記法のバリエーションの違いにより、所望する情
報を検索できない場合がある。
しばしばユーザの指定するキーワードすなわち検索文字
列と、検索対象であるDB中で用いられている言葉が同
一の内容を示すのにもかかわらず、表記あるいは表現が
食い違っているために検索漏れを生ずる場合がある。例
えば、“ピアノ”という言葉を“ピヤノ”と記述した
り、また“インターフェイス”という言葉を“インタフ
ェース”、“インタフェイス”あるいは“インターフェ
ース”と記述したりすることがある。このような微妙な
音節表記法のバリエーションの違いにより、所望する情
報を検索できない場合がある。
【0010】以下、表記法の異なる文字列に展開するこ
とを異表記展開と呼び、辞書を用いて他の文字列へ展開
することを同義語展開と呼ぶ。また、表記法の異なる文
字列のことを異表記と呼ぶ。
とを異表記展開と呼び、辞書を用いて他の文字列へ展開
することを同義語展開と呼ぶ。また、表記法の異なる文
字列のことを異表記と呼ぶ。
【0011】これらの問題に対する根本的解決方法とし
て、検索者が自由なキーワード(自由語あるいは非統制
語と呼ぶ)に基づいてデータの本文を直接参照して内容
を検索できる全文検索(フルテキストサーチと呼ぶ)シ
ステムが提案されている。
て、検索者が自由なキーワード(自由語あるいは非統制
語と呼ぶ)に基づいてデータの本文を直接参照して内容
を検索できる全文検索(フルテキストサーチと呼ぶ)シ
ステムが提案されている。
【0012】その代表的な構成を図1に示し、以下その
内容について説明する。
内容について説明する。
【0013】検索システム101はホストコンピュータ
に接続され、通信回線を介して検索要求の受信及び検索
結果の送信を行う。ホストコンピュータから検索要求1
07が送られると、検索制御手段103がこれを受け付
け、解析して、文字列照合手段105と複合条件判定手
段104へこれに対応した検索制御情報108を送る。
また、検索制御手段102は記憶装置制御手段103を
制御して、文字列記憶手段106に格納されている文字
列データ(テキストデータ)111を文字列照合手段1
05へ転送させる。
に接続され、通信回線を介して検索要求の受信及び検索
結果の送信を行う。ホストコンピュータから検索要求1
07が送られると、検索制御手段103がこれを受け付
け、解析して、文字列照合手段105と複合条件判定手
段104へこれに対応した検索制御情報108を送る。
また、検索制御手段102は記憶装置制御手段103を
制御して、文字列記憶手段106に格納されている文字
列データ(テキストデータ)111を文字列照合手段1
05へ転送させる。
【0014】文字列照合手段105は入力された文字列
データと、予め設定された検索文字列(キーワード)と
の照合を行い、該当する文字列を検出すると検出情報1
10を複合条件判定手段104へ出力する。複合条件判
定手段104は検索要求中に記述された文字列間の位置
関係や共起関係などに関する複合条件に検出情報110
が合致するか否かを調べる。これに合致する場合には、
該当するデータデータの識別情報やデータ内容を検索結
果109として出力し、これをホストコンピュータへ送
り返す。
データと、予め設定された検索文字列(キーワード)と
の照合を行い、該当する文字列を検出すると検出情報1
10を複合条件判定手段104へ出力する。複合条件判
定手段104は検索要求中に記述された文字列間の位置
関係や共起関係などに関する複合条件に検出情報110
が合致するか否かを調べる。これに合致する場合には、
該当するデータデータの識別情報やデータ内容を検索結
果109として出力し、これをホストコンピュータへ送
り返す。
【0015】こうした従来例の一つが、アール・エル・
ハンスキン アンド ホラー:“オペレーショナル キ
ャラクタリステイック オブ ア ハードウェア ベイ
ストパターン マッチャー”,エー シー エム トラ
ンザルション オン データベース システムズ,第8
巻,第1号,1983年(R.L.Haskin and A. Hollaa
r:“Operational Characterstics of a Hardware-Base
d Pattern Matcher”,ACM Trans. on Database Syste
m, Vol.8, No.1, 1983)に記載されている。
ハンスキン アンド ホラー:“オペレーショナル キ
ャラクタリステイック オブ ア ハードウェア ベイ
ストパターン マッチャー”,エー シー エム トラ
ンザルション オン データベース システムズ,第8
巻,第1号,1983年(R.L.Haskin and A. Hollaa
r:“Operational Characterstics of a Hardware-Base
d Pattern Matcher”,ACM Trans. on Database Syste
m, Vol.8, No.1, 1983)に記載されている。
【0016】上述した文字列検索装置200の要となる
文字列照合手段213における文字列の照合方式として
は、有限オートマトンを用いて複数の文字列を1回の走
査で検索する方法が知られている。その代表的な方式と
しては、エー.ブイ.エーホアンド エム.ジェイ.コ
ラッシック:“エフィシェント ストリング マッチン
グ”,コミュニケーションズ エー シー エム,第1
8巻,第6号,1975年,A.V. Aho and M. J. Coras
ick:"Efficient String Matching" ,CACM,Vol 18,N
o.6,1975にその一例が開示されている。
文字列照合手段213における文字列の照合方式として
は、有限オートマトンを用いて複数の文字列を1回の走
査で検索する方法が知られている。その代表的な方式と
しては、エー.ブイ.エーホアンド エム.ジェイ.コ
ラッシック:“エフィシェント ストリング マッチン
グ”,コミュニケーションズ エー シー エム,第1
8巻,第6号,1975年,A.V. Aho and M. J. Coras
ick:"Efficient String Matching" ,CACM,Vol 18,N
o.6,1975にその一例が開示されている。
【0017】本文献には2種類のオートマトン作成方法
とオートマトンを用いた文字列照合方法が詳細に述べら
れている。以下、各々について説明する。
とオートマトンを用いた文字列照合方法が詳細に述べら
れている。以下、各々について説明する。
【0018】まず、第1の方法(以後、従来方法1と呼
ぶ)について図2を用いて説明する。同図は、文字列デ
ータの中から、ユーザから与えられたキーワード“イン
タフェース”を検察するためのオートマトンの状態遷移
図である。ここで、円形はオートマトンの状態を、矢印
は状態遷移を表している。各矢印に付記された文字はこ
れに対応した状態遷移が起きる入力文字を示す。本図で
は“ン”以外および“イ”以外の文字といった否定を表
わす場合は否定記号“ ”を付け「{“ン”,
“イ”}」と表わしている。矢印403は状態遷移の始
まる始点状態を示している。各円形の内部に記された数
値は、同状態の状態番号を示す。二重円は“インタフェ
ース”を照合したことを示す終点の状態を表している。
本方法の特徴は入力される可能性のある全ての入力文字
に対する状態遷移をオートマシンで記述している点にあ
る。このため状態遷移の数が多くなるため、キーワード
の数が多くなるというオートマトンの作成時間が極めて
長くなるという問題がある。
ぶ)について図2を用いて説明する。同図は、文字列デ
ータの中から、ユーザから与えられたキーワード“イン
タフェース”を検察するためのオートマトンの状態遷移
図である。ここで、円形はオートマトンの状態を、矢印
は状態遷移を表している。各矢印に付記された文字はこ
れに対応した状態遷移が起きる入力文字を示す。本図で
は“ン”以外および“イ”以外の文字といった否定を表
わす場合は否定記号“ ”を付け「{“ン”,
“イ”}」と表わしている。矢印403は状態遷移の始
まる始点状態を示している。各円形の内部に記された数
値は、同状態の状態番号を示す。二重円は“インタフェ
ース”を照合したことを示す終点の状態を表している。
本方法の特徴は入力される可能性のある全ての入力文字
に対する状態遷移をオートマシンで記述している点にあ
る。このため状態遷移の数が多くなるため、キーワード
の数が多くなるというオートマトンの作成時間が極めて
長くなるという問題がある。
【0019】以下、同図を用いて従来方法1の文字列照
合動作について説明する。オートマトンに文字が入力さ
れた場合、どの状態において入力文字の照合を行なうべ
きかをトークンに置くことにより明らかにする。すなわ
ち、トークンとは、オートマトン内で遷移する状態の位
置を表わすマークである。まず、初期設定としてトーク
ンを始点状態である状態0に置く。この例の場合、入力
文字が“イ”であるとトークンは状態1へ移動する。も
し、ここで“イ”以外の文字が入ってきた場合はトーク
ンは状態0に移動する。一方、トークンが状態1にあっ
て入力文字が“ン”ならば、トークンは状態2に移動す
る。“イ”であれば状態1に移動する。“イ”および
“ン”以外の文字であれば状態0へ移動する。次にトー
クンが状態2にある場合、入力文字が“タ”ならば、ト
ークンは状態3に移動する。ここで、もし、“イ”が入
力されたときは、トークンは状態1へ移動する。更に、
状態3にトークンがある場合、“フェース”が入力され
ると、トークンは状態4→状態5→状態6→状態7と移
動する。状態7は2重円で記されており、ここでは“イ
ンタフェース”という文字列が照合されたことになる。
合動作について説明する。オートマトンに文字が入力さ
れた場合、どの状態において入力文字の照合を行なうべ
きかをトークンに置くことにより明らかにする。すなわ
ち、トークンとは、オートマトン内で遷移する状態の位
置を表わすマークである。まず、初期設定としてトーク
ンを始点状態である状態0に置く。この例の場合、入力
文字が“イ”であるとトークンは状態1へ移動する。も
し、ここで“イ”以外の文字が入ってきた場合はトーク
ンは状態0に移動する。一方、トークンが状態1にあっ
て入力文字が“ン”ならば、トークンは状態2に移動す
る。“イ”であれば状態1に移動する。“イ”および
“ン”以外の文字であれば状態0へ移動する。次にトー
クンが状態2にある場合、入力文字が“タ”ならば、ト
ークンは状態3に移動する。ここで、もし、“イ”が入
力されたときは、トークンは状態1へ移動する。更に、
状態3にトークンがある場合、“フェース”が入力され
ると、トークンは状態4→状態5→状態6→状態7と移
動する。状態7は2重円で記されており、ここでは“イ
ンタフェース”という文字列が照合されたことになる。
【0020】この従来方法1では入力される可能性のあ
る全ての入力文字に対する状態遷移をオートマトンに記
述しているため、キーワードが多くなると状態遷移の数
が多くなりオートマトンの作成時間が極めて長くなると
いう問題がある。本方法を実現するハードウェアについ
ては、特開昭60−105039号公報および特開昭6
0−105040号公報に開示されている。
る全ての入力文字に対する状態遷移をオートマトンに記
述しているため、キーワードが多くなると状態遷移の数
が多くなりオートマトンの作成時間が極めて長くなると
いう問題がある。本方法を実現するハードウェアについ
ては、特開昭60−105039号公報および特開昭6
0−105040号公報に開示されている。
【0021】次に、第2の方法(以後、従来方法2と呼
ぶ)について説明する。この従来方法2は従来方法1と
比べオートマトン作成時間を短縮するための工夫がされ
ている。従来方法2では、従来方法1と比べオートマト
ンの作成時間3分の1と大幅に改善されており、詳細に
ついて特開昭63−311530号公報に述べられてい
る。この従来方法2を図3と図4を用いて説明する。図
3は、図2と同様に“インタフェース”を照合する場合
のオートマトンの状態遷移図を示したものである。初期
設定として、トークンは始点状態である状態0に置かれ
る。ここで、入力文字“イ”が入力されたならばトーク
ンが置かれている状態0で照合を行ない状態1へ移動す
る。もし、状態0で“イ”以外の文字が入ってきた場合
はトークンは状態0に移動する。
ぶ)について説明する。この従来方法2は従来方法1と
比べオートマトン作成時間を短縮するための工夫がされ
ている。従来方法2では、従来方法1と比べオートマト
ンの作成時間3分の1と大幅に改善されており、詳細に
ついて特開昭63−311530号公報に述べられてい
る。この従来方法2を図3と図4を用いて説明する。図
3は、図2と同様に“インタフェース”を照合する場合
のオートマトンの状態遷移図を示したものである。初期
設定として、トークンは始点状態である状態0に置かれ
る。ここで、入力文字“イ”が入力されたならばトーク
ンが置かれている状態0で照合を行ない状態1へ移動す
る。もし、状態0で“イ”以外の文字が入ってきた場合
はトークンは状態0に移動する。
【0022】一方、トークンが状態1にあって入力文字
“ン”が入力されたならばトークンは状態2に移動す
る。トークンが状態2にあって“タ”が入力されたなら
ばトークンは状態3に移動する。ここでもしトークンが
状態3にあって同オートマトンに記述されていない
“フ”以外の文字、例えば“イ”が入力されたときは、
この従来方法2では「フェイル」したと言い、図4のフ
ェイルテーブルを参照することになる。フェイルテーブ
ルにはトークンが置かれている状態番号に対して再照合
すべきフェイル先の状態番号が格納されている。この場
合、現在の状態番号3に対応するフェイル先の値0を得
て状態0へトークンを移動する。そして、ここで該入力
文字“イ”について照合することによりトークンは状態
1へ移動させる。このような機能をフェイル機能と呼ん
でいる。更に、続けて“ンタフェース”という入力文字
列が1文字づつ入ってきた場合、トークンは状態2→状
態3→状態4→状態5→状態6→状態7と移動する。状
態7は2重円で記されており、ここでは“インタフェー
ス”という文字列が照合されたことになる。例えば、キ
ーワードとして“インタフェース”が与えられた場合、
本文中にはユーザが指定した検索タームと異なる表記
(異表記)で記述されることもある。
“ン”が入力されたならばトークンは状態2に移動す
る。トークンが状態2にあって“タ”が入力されたなら
ばトークンは状態3に移動する。ここでもしトークンが
状態3にあって同オートマトンに記述されていない
“フ”以外の文字、例えば“イ”が入力されたときは、
この従来方法2では「フェイル」したと言い、図4のフ
ェイルテーブルを参照することになる。フェイルテーブ
ルにはトークンが置かれている状態番号に対して再照合
すべきフェイル先の状態番号が格納されている。この場
合、現在の状態番号3に対応するフェイル先の値0を得
て状態0へトークンを移動する。そして、ここで該入力
文字“イ”について照合することによりトークンは状態
1へ移動させる。このような機能をフェイル機能と呼ん
でいる。更に、続けて“ンタフェース”という入力文字
列が1文字づつ入ってきた場合、トークンは状態2→状
態3→状態4→状態5→状態6→状態7と移動する。状
態7は2重円で記されており、ここでは“インタフェー
ス”という文字列が照合されたことになる。例えば、キ
ーワードとして“インタフェース”が与えられた場合、
本文中にはユーザが指定した検索タームと異なる表記
(異表記)で記述されることもある。
【0023】本文には、“インタフェース”のように
“ー”(長音記号)の代わりに“−”(マイナス記号)
を使用したり(これを長音異表記と呼ぶ)、“インター
フェース”のように“ー”を付加したり(これを長音の
有無と呼ぶ)、“インタフェイス”のように発音の表記
の違いにより“フェー”を“フェイ”と記述したりする
(これを発音異表記と呼ぶ)。
“ー”(長音記号)の代わりに“−”(マイナス記号)
を使用したり(これを長音異表記と呼ぶ)、“インター
フェース”のように“ー”を付加したり(これを長音の
有無と呼ぶ)、“インタフェイス”のように発音の表記
の違いにより“フェー”を“フェイ”と記述したりする
(これを発音異表記と呼ぶ)。
【0024】これらを全て検索するためには、これらの
異表記を組合せた“インタフェース”,“インターフェ
ース”,“インタフェイス”,“インターフェイス”,
“インタ−フェイス”,“インタフェ−ス”,“インタ
ーフェ−ス”,“インタ−フェ−ス”,“インタ−フェ
ース”の9語全てをキーワードとする必要がある。
異表記を組合せた“インタフェース”,“インターフェ
ース”,“インタフェイス”,“インターフェイス”,
“インタ−フェイス”,“インタフェ−ス”,“インタ
ーフェ−ス”,“インタ−フェ−ス”,“インタ−フェ
ース”の9語全てをキーワードとする必要がある。
【0025】この場合の例について図5と図6を用いて
説明する。図5は、文字列データの中から、異表記を含
む上記9語を照合する場合のオートマトンの状態遷移図
である。
説明する。図5は、文字列データの中から、異表記を含
む上記9語を照合する場合のオートマトンの状態遷移図
である。
【0026】キーワードの先頭から比較して遷移文字が
異なる場合は別状態に分岐する。
異なる場合は別状態に分岐する。
【0027】例えば、“インタフェース”と“インター
フェース”のキーワードの例では、キーワードの前方か
ら比較すると“インタ”までは同じであるが、その次の
文字では“フ”と“ー”で遷移文字が異なる。このため
状態3から遷移文字“フ”で状態22に遷移し、遷移文
字“ー”で状態4へ遷移するといった状態遷移の分岐が
起こる。
フェース”のキーワードの例では、キーワードの前方か
ら比較すると“インタ”までは同じであるが、その次の
文字では“フ”と“ー”で遷移文字が異なる。このため
状態3から遷移文字“フ”で状態22に遷移し、遷移文
字“ー”で状態4へ遷移するといった状態遷移の分岐が
起こる。
【0028】すなわち、ある状態において遷移文字が異
なる場合別々の遷移先状態を割り付けているため木状の
オートマトンになる。図6はこのオートマトンに示され
てない文字が入力された場合の遷移先を示すフェイルテ
ーブルの説明図である。このように、異表記を含めて照
合を行なおうとすると、キーワードが多くなるため状態
数が非常に増加してしまうという問題が発生する。
なる場合別々の遷移先状態を割り付けているため木状の
オートマトンになる。図6はこのオートマトンに示され
てない文字が入力された場合の遷移先を示すフェイルテ
ーブルの説明図である。このように、異表記を含めて照
合を行なおうとすると、キーワードが多くなるため状態
数が非常に増加してしまうという問題が発生する。
【0029】また、文字列検索ではキーワードにdon't
care文字を使用することがある。キーワードに固定長の
don't care文字を使用した例を図7と図8を用いて説明
する。図7は1文字の固定長のdon't care文字“?”を
含むキーワード“A?B”を検索する場合のオートマト
ンの状態遷移図を表わしている。図8はこのオートマト
ンに示されてない文字が入力された場合の遷移先を示す
フェイルテーブルの説明図である。
care文字を使用することがある。キーワードに固定長の
don't care文字を使用した例を図7と図8を用いて説明
する。図7は1文字の固定長のdon't care文字“?”を
含むキーワード“A?B”を検索する場合のオートマト
ンの状態遷移図を表わしている。図8はこのオートマト
ンに示されてない文字が入力された場合の遷移先を示す
フェイルテーブルの説明図である。
【0030】この例では1バイトの文字コード(JIS
コードを用いている)の場合についてオートマトンを作
成している。“?”は任意の文字や記号との一致を許す
ことを意味する文字記号である。従って、don't care文
字“?”による遷移は本図の状態1を遷移元とする全て
の文字コード○○〜FFによる遷移として表わされる。
すなわち“A?B”は、先頭が“A”で間に任意の1文
字が入り、末尾が“B”である文字列を検索するという
指定になる。
コードを用いている)の場合についてオートマトンを作
成している。“?”は任意の文字や記号との一致を許す
ことを意味する文字記号である。従って、don't care文
字“?”による遷移は本図の状態1を遷移元とする全て
の文字コード○○〜FFによる遷移として表わされる。
すなわち“A?B”は、先頭が“A”で間に任意の1文
字が入り、末尾が“B”である文字列を検索するという
指定になる。
【0031】このように簡単な検索条件でも固定長のdo
n't care文字が入るとオートマトンの状態数が非常に増
加してしまうという問題が発生する。
n't care文字が入るとオートマトンの状態数が非常に増
加してしまうという問題が発生する。
【0032】また、異表記や同義語の問題を解決する方
法として、特開昭62−011932号公報がある。な
お、この公報の中では、異表記展開のことを異表記発生
と呼び、同義語展開のことを類似語抽出と呼んでいる。
法として、特開昭62−011932号公報がある。な
お、この公報の中では、異表記展開のことを異表記発生
と呼び、同義語展開のことを類似語抽出と呼んでいる。
【0033】図9に、この引例の構成をブロック図で示
す。この構成では、ローマ字やカタカナ表現で入力した
検索文字列を、一旦全てカタカナの標準化された表記の
文字列に変換する。すなわち、異表記発生の逆の操作に
より、複数個の表記法を一つにまとめる表記の標準化処
理をまず最初に行なう。また、アルファベット表現で入
力された検索文字列も外来語カナ変換により、カタカナ
表現に統一される。
す。この構成では、ローマ字やカタカナ表現で入力した
検索文字列を、一旦全てカタカナの標準化された表記の
文字列に変換する。すなわち、異表記発生の逆の操作に
より、複数個の表記法を一つにまとめる表記の標準化処
理をまず最初に行なう。また、アルファベット表現で入
力された検索文字列も外来語カナ変換により、カタカナ
表現に統一される。
【0034】こうして、一旦標準化したカタカナ文字列
を、同義語辞書を用いて類似語展開し、入力したカタカ
ナ文字列と同義の単語をカタカナ文字列として出力す
る。類似語抽出した後のカタカナ文字列は、カナ漢字変
換を行ない漢字文字列へ、カナ外来語変換を行ないアル
ファベット表現の外国語に、カナローマ字変換を施して
ローマ字文字列へ変換する。
を、同義語辞書を用いて類似語展開し、入力したカタカ
ナ文字列と同義の単語をカタカナ文字列として出力す
る。類似語抽出した後のカタカナ文字列は、カナ漢字変
換を行ない漢字文字列へ、カナ外来語変換を行ないアル
ファベット表現の外国語に、カナローマ字変換を施して
ローマ字文字列へ変換する。
【0035】このようにして、類似語抽出の結果である
カタカナ文字列を、漢字、ローマ字、カタカナ、外国語
の各表現に変換して、それぞれ異表記展開する。
カタカナ文字列を、漢字、ローマ字、カタカナ、外国語
の各表現に変換して、それぞれ異表記展開する。
【0036】また、図1のこうした従来の文字列検索装
置101においては、文字列検索装置101の構成要素
である文字列記憶手段106として大規模なデータの記
憶ができる磁気ディスク装置が必要となる。一般の磁気
ディスク装置はデータの入出力が高速にできない問題が
あり、また、データの入出力が高速にできるマルチヘッ
ド型の磁気ディスク装置は非常に高価であるという問題
があった。
置101においては、文字列検索装置101の構成要素
である文字列記憶手段106として大規模なデータの記
憶ができる磁気ディスク装置が必要となる。一般の磁気
ディスク装置はデータの入出力が高速にできない問題が
あり、また、データの入出力が高速にできるマルチヘッ
ド型の磁気ディスク装置は非常に高価であるという問題
があった。
【0037】そこで、安価な一般の小型磁気ディスク複
数台接続してデータの入出力の速度を高速化する集合型
の磁気ディスク装置が考えられてきた。そのひとつとし
て特開昭60−117326号公報記載の「画像データ分割記憶
装置」がある。
数台接続してデータの入出力の速度を高速化する集合型
の磁気ディスク装置が考えられてきた。そのひとつとし
て特開昭60−117326号公報記載の「画像データ分割記憶
装置」がある。
【0038】この装置は複数台の磁気ディスク装置を有
し、磁気ディスク装置と同数の磁気ディスクコントロー
ラ、入出力バッファと外部装置との間のデータ輸送を制
御するマスタコントローラによって構成し、外部装置か
ら入力したデータをマスタコントローラにおいて、入出
力バッファの容量以下に分割し、その分割したデータを
各磁気ディスクコントローラに順次転送し、該磁気ディ
スクコントローラは対応する磁気ディスク装置に書き込
む。マスタコントローラは書き込みを行なっていない磁
気ディスク装置の磁気ディスクコントローラに対し、シ
ーク動作を行なわせることによって、データを格納する
複数の磁気ディスク装置の2台目以降の、シーク時間を
見掛け上なくし、データの書き込み、読み出し時間を短
縮しようとするものである。
し、磁気ディスク装置と同数の磁気ディスクコントロー
ラ、入出力バッファと外部装置との間のデータ輸送を制
御するマスタコントローラによって構成し、外部装置か
ら入力したデータをマスタコントローラにおいて、入出
力バッファの容量以下に分割し、その分割したデータを
各磁気ディスクコントローラに順次転送し、該磁気ディ
スクコントローラは対応する磁気ディスク装置に書き込
む。マスタコントローラは書き込みを行なっていない磁
気ディスク装置の磁気ディスクコントローラに対し、シ
ーク動作を行なわせることによって、データを格納する
複数の磁気ディスク装置の2台目以降の、シーク時間を
見掛け上なくし、データの書き込み、読み出し時間を短
縮しようとするものである。
【0039】また、フルテキストサーチを行うためのデ
ータの登録について考慮してるものはなかった。
ータの登録について考慮してるものはなかった。
【0040】
【発明が解決しようとする課題】図1に示した様な従来
例の検索システムにおいて大容量のテキストデータベー
ス検索しようとすると、下記のような幾つかの問題が発
生してくる。先ず第一に、検索時間の問題である。例え
ば、一文献当り20KBの容量を持つ文献2万件を対象
にしてフルテキストサーチを行おうとすると、400M
Bのデータをスキャンしなければならないことになる。
この400MBのテキストデータを文字列記憶手段に格
納し、これを平均約1MB/sの実効速度で読み出し、
文字列照合手段においてこれと同等の速度で照合処理を
行ったとしても、検索を終了するには約7分を要してし
まう。すなわち、一般的な磁気ディスク装置を用いたの
ではテキストデータの読み出しに時間が掛ってしまい実
用に耐えないという問題がある。すなわち、テキストデ
ータを納める文字列記憶手段の読み出し速度を文字列照
合手段の処理速度と同程度にまで高めることが必要とな
る。本発明が解決しようとする第一の課題がここにあ
る。
例の検索システムにおいて大容量のテキストデータベー
ス検索しようとすると、下記のような幾つかの問題が発
生してくる。先ず第一に、検索時間の問題である。例え
ば、一文献当り20KBの容量を持つ文献2万件を対象
にしてフルテキストサーチを行おうとすると、400M
Bのデータをスキャンしなければならないことになる。
この400MBのテキストデータを文字列記憶手段に格
納し、これを平均約1MB/sの実効速度で読み出し、
文字列照合手段においてこれと同等の速度で照合処理を
行ったとしても、検索を終了するには約7分を要してし
まう。すなわち、一般的な磁気ディスク装置を用いたの
ではテキストデータの読み出しに時間が掛ってしまい実
用に耐えないという問題がある。すなわち、テキストデ
ータを納める文字列記憶手段の読み出し速度を文字列照
合手段の処理速度と同程度にまで高めることが必要とな
る。本発明が解決しようとする第一の課題がここにあ
る。
【0041】しかし、文字列記憶手段の読み出し速度を
文字列照合手段と同程度にまで高めたとしても、すなわ
ち例えば10MB/sまで高速化したとしても400M
Bのテキストデータをスキャンし終えるには、未だ40
秒を要してしまう。これを実用上許容し得る数秒台に納
めることが、本発明の第二の課題である。
文字列照合手段と同程度にまで高めたとしても、すなわ
ち例えば10MB/sまで高速化したとしても400M
Bのテキストデータをスキャンし終えるには、未だ40
秒を要してしまう。これを実用上許容し得る数秒台に納
めることが、本発明の第二の課題である。
【0042】このスキャン処理の高速化という技術に関
して特開昭62-241026号公報「文字列検索方式」が出願
されている。本「文字列検索方式」では、テキストデー
ターベース(ファイルと呼んでいる)の中に指定文字列
があるかどうかを検索する処理を高速化するために、あ
らかじめテキスト(データと呼んでいる)の内容を見て
どういった文字がどの程度の頻度で用いられているかを
調べ「使用文字頻度分布テーブル」を作成しておく。
して特開昭62-241026号公報「文字列検索方式」が出願
されている。本「文字列検索方式」では、テキストデー
ターベース(ファイルと呼んでいる)の中に指定文字列
があるかどうかを検索する処理を高速化するために、あ
らかじめテキスト(データと呼んでいる)の内容を見て
どういった文字がどの程度の頻度で用いられているかを
調べ「使用文字頻度分布テーブル」を作成しておく。
【0043】そして、検索時にはこの「使用文字頻度分
布テーブル」を参照して、ユーザが指定したキーワード
の中の最も使用頻度の低い文字を手掛かりにして最初テ
キストをサーチし、これに照合するものがあれば、次に
その前後の文字についても照合を行う方式を提案してい
る。
布テーブル」を参照して、ユーザが指定したキーワード
の中の最も使用頻度の低い文字を手掛かりにして最初テ
キストをサーチし、これに照合するものがあれば、次に
その前後の文字についても照合を行う方式を提案してい
る。
【0044】また、上記特開昭62-241026号公報では、
キーワードの最も頻度の低い文字の「使用文字頻度分布
テーブル」中での頻度が零の場合には、テキストをサー
チすることなく検索を終えることができるとしている。
キーワードの最も頻度の低い文字の「使用文字頻度分布
テーブル」中での頻度が零の場合には、テキストをサー
チすることなく検索を終えることができるとしている。
【0045】したがって、特開昭62-241026号公報によ
れば、無駄な文字照合回数を削減することができるた
め、検索処理速度を上げる効果が得られることになる。
れば、無駄な文字照合回数を削減することができるた
め、検索処理速度を上げる効果が得られることになる。
【0046】しかし、本方式は、データベース(ファイ
ル)全体における「使用文字頻度分布テーブル」を作成
し、これに基づいてこの中のテキストファイル(デー
タ)を検索するものである。したがって、データベース
全体の中で、一度も現れない文字に関するキーワードを
検索する場合にはサーチ処理の効率化という点で効果が
得られるが一般的にデータベースの規模が大きくなる
と、データベース全体で一度も現れないという文字はほ
とんどなくなるため、本方式によるサーチ処理の効果は
ほとんどなくなるという問題がある。
ル)全体における「使用文字頻度分布テーブル」を作成
し、これに基づいてこの中のテキストファイル(デー
タ)を検索するものである。したがって、データベース
全体の中で、一度も現れない文字に関するキーワードを
検索する場合にはサーチ処理の効率化という点で効果が
得られるが一般的にデータベースの規模が大きくなる
と、データベース全体で一度も現れないという文字はほ
とんどなくなるため、本方式によるサーチ処理の効果は
ほとんどなくなるという問題がある。
【0047】こうした問題を解決し、効率的なサーチ処
理を実現し、延いては等価的に高速なフルテキストサー
チを可能とすることが本発明の第二の課題となる。
理を実現し、延いては等価的に高速なフルテキストサー
チを可能とすることが本発明の第二の課題となる。
【0048】一方、自由語を用いたフルテキストサーチ
においては、しばしば検索者が指定したキーワードとテ
キスト本文中に記述されている言葉の間に、同じ意味を
表していても表現に食い違いがあることがある。このよ
うな場合には、異なる表現形態を持つ文献が検索漏れと
なり、目的の文書が検索されないことが生じてくる。こ
のような言葉の例として、同義語や異形語(異表記語あ
るいは単に異表記とも呼ぶ)などがある。同義語の例と
しては「計算機」に対して「電子計算機」や「電算機」
「Computer」などが挙げられる。また、異表記の例とし
ては、「コンピュータ」に対して「コンピューター」や
「コンピュータ」,「コンピューター」,「コンヒ°ュ
ーター」,「コンヒ°ユータ」,「コンヒ°ユータ
ー」,「コンピュータ」,「コンピュ−タ−」や「コン
ピュ−タ」,「コンピユ−タ−」,「コンヒ°ュ−
タ」,「コンヒ°ュ−タ−」,「コンヒ°ユ−タ」,
「コンヒ°ユ−タ−」が、「Computer」に対して「comp
uter」,「COMPUTER」などが挙げられる。検索者が指定
するキーワードと文書の内容に記述されている言葉との
表記上の食い違いの問題に対処するためには検索者がこ
れらの同義語や異表記をすべて指定して検索を行う必要
がある。しかし、異表記などは場合によって数百にも及
ぶ形態を取り得るため、検索者が一々指定するのは事実
上困難である。こうした問題を解決するのが、本発明の
第三の課題である。
においては、しばしば検索者が指定したキーワードとテ
キスト本文中に記述されている言葉の間に、同じ意味を
表していても表現に食い違いがあることがある。このよ
うな場合には、異なる表現形態を持つ文献が検索漏れと
なり、目的の文書が検索されないことが生じてくる。こ
のような言葉の例として、同義語や異形語(異表記語あ
るいは単に異表記とも呼ぶ)などがある。同義語の例と
しては「計算機」に対して「電子計算機」や「電算機」
「Computer」などが挙げられる。また、異表記の例とし
ては、「コンピュータ」に対して「コンピューター」や
「コンピュータ」,「コンピューター」,「コンヒ°ュ
ーター」,「コンヒ°ユータ」,「コンヒ°ユータ
ー」,「コンピュータ」,「コンピュ−タ−」や「コン
ピュ−タ」,「コンピユ−タ−」,「コンヒ°ュ−
タ」,「コンヒ°ュ−タ−」,「コンヒ°ユ−タ」,
「コンヒ°ユ−タ−」が、「Computer」に対して「comp
uter」,「COMPUTER」などが挙げられる。検索者が指定
するキーワードと文書の内容に記述されている言葉との
表記上の食い違いの問題に対処するためには検索者がこ
れらの同義語や異表記をすべて指定して検索を行う必要
がある。しかし、異表記などは場合によって数百にも及
ぶ形態を取り得るため、検索者が一々指定するのは事実
上困難である。こうした問題を解決するのが、本発明の
第三の課題である。
【0049】すなわち、上記従来例では、表記を標準化
する際に、元の文字列が持つ情報を変えてしまうため期
待する展開結果が得られないことがあった。
する際に、元の文字列が持つ情報を変えてしまうため期
待する展開結果が得られないことがあった。
【0050】このことを、カタカナ表記の標準化用の部
分文字列の変換ルール「“ホオ”→“ホウ”」を例にし
て説明する。この変換ルールを適用すると文字列“ジョ
ウホオ”を“ジョウホウ”(情報)と正しく標準化され
る。しかし、この同じ変換ルールを用いても“ジョウオ
ホン”(定保温)が入力された場合には“ジョウホウ
ン”と誤った文字列へ標準化してしまう。このことは標
準化処理の後の同義語展開処理、更にその後に続く異表
記展開処理に影響をおよぼし、期待する展開結果が得ら
れないことになる。本発明の課題の一つは上記の標準化
を行なわずに、常に期待する展開結果を得ることにあ
る。
分文字列の変換ルール「“ホオ”→“ホウ”」を例にし
て説明する。この変換ルールを適用すると文字列“ジョ
ウホオ”を“ジョウホウ”(情報)と正しく標準化され
る。しかし、この同じ変換ルールを用いても“ジョウオ
ホン”(定保温)が入力された場合には“ジョウホウ
ン”と誤った文字列へ標準化してしまう。このことは標
準化処理の後の同義語展開処理、更にその後に続く異表
記展開処理に影響をおよぼし、期待する展開結果が得ら
れないことになる。本発明の課題の一つは上記の標準化
を行なわずに、常に期待する展開結果を得ることにあ
る。
【0051】また上記従来技術では、同義語辞書によっ
て“計算機”から“コンピュータ”にキーワードを同義
語展開するときに、ユーザが入力する検索キーワード
を、一旦すべてカタカナ表現に変換してから同義語展開
し、そのあとでカナ漢字変換、カナローマ字変換及びカ
ナ外国語変換をする構成となっている。そのため、同義
語辞書は必ずカタカナ文字列からカタカナ文字列へ展開
するようなものでなければならなかった。すなわち、 見出し語:“コンピュータ” 同義語1:“ケイサンキ” 同義語2:“ジョウホウショリソウチ” などと、単語間の同義関係を常にカタカナ文字列で記述
しなければならなかった。このことは、同義語展開後の
カナ漢字変換辞書及びカナ外来語変換辞書でも、必ずこ
れらに対応する表現の文字列を出力するよう登録してお
かなければならないために、辞書が大きくなるという問
題がある。また日本語には同じ読みを持っていても、意
味の異なる同音異義語が多く存在し、これが同義語展開
時に弊害を生じる。例えば“ケンサク”という文字列は
“検索”とも解釈できるし“研削”とも解釈できるの
で、カタカナ表現のみによる同義語辞書では両者を区別
できないという問題がある。さらに、同義語展開後のカ
タカナ漢字変換において、同音異義語を選択をユーザが
対話的に行わなければならないという問題があった。
て“計算機”から“コンピュータ”にキーワードを同義
語展開するときに、ユーザが入力する検索キーワード
を、一旦すべてカタカナ表現に変換してから同義語展開
し、そのあとでカナ漢字変換、カナローマ字変換及びカ
ナ外国語変換をする構成となっている。そのため、同義
語辞書は必ずカタカナ文字列からカタカナ文字列へ展開
するようなものでなければならなかった。すなわち、 見出し語:“コンピュータ” 同義語1:“ケイサンキ” 同義語2:“ジョウホウショリソウチ” などと、単語間の同義関係を常にカタカナ文字列で記述
しなければならなかった。このことは、同義語展開後の
カナ漢字変換辞書及びカナ外来語変換辞書でも、必ずこ
れらに対応する表現の文字列を出力するよう登録してお
かなければならないために、辞書が大きくなるという問
題がある。また日本語には同じ読みを持っていても、意
味の異なる同音異義語が多く存在し、これが同義語展開
時に弊害を生じる。例えば“ケンサク”という文字列は
“検索”とも解釈できるし“研削”とも解釈できるの
で、カタカナ表現のみによる同義語辞書では両者を区別
できないという問題がある。さらに、同義語展開後のカ
タカナ漢字変換において、同音異義語を選択をユーザが
対話的に行わなければならないという問題があった。
【0052】また、検索キーワードをカタカナ表現に変
換するための外国語カナ変換辞書や、同義語展開した後
のカナ漢字変換辞書及びカナ外国語変換辞書が必要であ
り、多種類の大規模な辞書を使うためにその作成と保守
が大変となるという問題もある。すなわち、本発明の第
三の課題は上記のカナ漢字変換、カナ外国語変換時にお
ける同音異義語の問題と、これらの変換に用いる大規模
な辞書の作成、保守の問題を解決することにある。
換するための外国語カナ変換辞書や、同義語展開した後
のカナ漢字変換辞書及びカナ外国語変換辞書が必要であ
り、多種類の大規模な辞書を使うためにその作成と保守
が大変となるという問題もある。すなわち、本発明の第
三の課題は上記のカナ漢字変換、カナ外国語変換時にお
ける同音異義語の問題と、これらの変換に用いる大規模
な辞書の作成、保守の問題を解決することにある。
【0053】また、こうした数百にも及ぶ同義語や異表
記を含めてキーワードとして検索を行おうとすると、ど
うしてもこれらを一括して照合する文字列照合手段が必
要となってくる。さもなければ、同義語や異表記を含め
て検索すると、検索時間が数百倍掛ってしまい、とても
実用に耐えられなくなってしまう。このように一千語に
近い語数のキーワードが指定されても、照合速度が低下
することなく検索処理を行い得る文字列照合手段を提供
することが、本発明の第四の課題である。
記を含めてキーワードとして検索を行おうとすると、ど
うしてもこれらを一括して照合する文字列照合手段が必
要となってくる。さもなければ、同義語や異表記を含め
て検索すると、検索時間が数百倍掛ってしまい、とても
実用に耐えられなくなってしまう。このように一千語に
近い語数のキーワードが指定されても、照合速度が低下
することなく検索処理を行い得る文字列照合手段を提供
することが、本発明の第四の課題である。
【0054】また、従来のオートマトンを用いた検索方
式では、異表記の場合、異表記を含むキーワードを全て
列挙し、キーワードに展開する。さらに、これらに基づ
いたオートマトンを作成する。ここで作成されるオート
マトンは木状に記述されるため非常に多くのオートマト
ンの状態が必要となる。
式では、異表記の場合、異表記を含むキーワードを全て
列挙し、キーワードに展開する。さらに、これらに基づ
いたオートマトンを作成する。ここで作成されるオート
マトンは木状に記述されるため非常に多くのオートマト
ンの状態が必要となる。
【0055】また、don't care文字指定検索を行なう場
合もdon't care文字の部分が許容する文字コードの全て
の組合せを列挙し、キーワードに展開する。これらに基
づきオートマトンを作成するため、異表記と同様に、非
常に多くのオートマトンの状態が必要となる。このよう
にオートマトンの状態数の増加は、オートマトン作成時
間の増加や、更にはオートマトンを格納するための状態
遷移テーブルの容量が増加、すなわちハードウェアの増
大という問題を発生する。
合もdon't care文字の部分が許容する文字コードの全て
の組合せを列挙し、キーワードに展開する。これらに基
づきオートマトンを作成するため、異表記と同様に、非
常に多くのオートマトンの状態が必要となる。このよう
にオートマトンの状態数の増加は、オートマトン作成時
間の増加や、更にはオートマトンを格納するための状態
遷移テーブルの容量が増加、すなわちハードウェアの増
大という問題を発生する。
【0056】本発明はオートマトンを用いた検索方式に
おいて、異表記やdon't care文字が指定された検索を行
なう場合もオートマトンの遷移を網状にまとめて記述す
ることにより、状態数を従来より低減しオートマトンの
作成時間の短縮をはかると共に、状態遷移テーブルの容
量が小さくて済むためコンパクトなハードウェアで実現
可能な検索方式を提供することを目的とする。
おいて、異表記やdon't care文字が指定された検索を行
なう場合もオートマトンの遷移を網状にまとめて記述す
ることにより、状態数を従来より低減しオートマトンの
作成時間の短縮をはかると共に、状態遷移テーブルの容
量が小さくて済むためコンパクトなハードウェアで実現
可能な検索方式を提供することを目的とする。
【0057】さらに、テキストデータベースに文書デー
タが逐次登録されて行くと、ある時点で文字列記憶手段
を構成する磁気ディスク装置の容量が満杯に達してしま
う場合がでてくる。こうした時にも、それ迄蓄積したデ
ータを損なうことなくシステムの蓄積容量を拡大できる
ことが必要となる。また、被検索テキストデータベース
の容量が例えば10万件、すなわち4GBにも達する程
に大規模化してきた場合、唯単に磁気ディスク装置の格
納容量を拡張するだけでは処理時間が増加し、当初の目
的が達っせなくなってしまう。検索時間を低下させるこ
となく、蓄積容量の大規模化に応えられなければならな
い。こうした要求に応え得るアーキテクチャを持つ検索
装置を提供することが、本発明の第五の課題である。
タが逐次登録されて行くと、ある時点で文字列記憶手段
を構成する磁気ディスク装置の容量が満杯に達してしま
う場合がでてくる。こうした時にも、それ迄蓄積したデ
ータを損なうことなくシステムの蓄積容量を拡大できる
ことが必要となる。また、被検索テキストデータベース
の容量が例えば10万件、すなわち4GBにも達する程
に大規模化してきた場合、唯単に磁気ディスク装置の格
納容量を拡張するだけでは処理時間が増加し、当初の目
的が達っせなくなってしまう。検索時間を低下させるこ
となく、蓄積容量の大規模化に応えられなければならな
い。こうした要求に応え得るアーキテクチャを持つ検索
装置を提供することが、本発明の第五の課題である。
【0058】文字列検索装置の文字列記憶手段で重要と
なる要素は、記憶容量が大きいこと、ファイルのサイズ
にかかわらず、複数のファイルを連続的に高速で入出力
できること、安価であることの3点であり、これらの要
素を満足する集合型磁気ディスク装置が必要とされてい
る。
なる要素は、記憶容量が大きいこと、ファイルのサイズ
にかかわらず、複数のファイルを連続的に高速で入出力
できること、安価であることの3点であり、これらの要
素を満足する集合型磁気ディスク装置が必要とされてい
る。
【0059】従来技術では、ただシーク時間のアクセス
時間を見掛け上なくすことにより、データの書き込み読
み出し時間を短縮しようとするもので、外部機器の要求
するデータ転送速度に対して何台の磁気ディスク装置を
用いて構成すれば良いかについて配慮されておらずコス
トパフォーマンスの点で問題があった。
時間を見掛け上なくすことにより、データの書き込み読
み出し時間を短縮しようとするもので、外部機器の要求
するデータ転送速度に対して何台の磁気ディスク装置を
用いて構成すれば良いかについて配慮されておらずコス
トパフォーマンスの点で問題があった。
【0060】また、従来技術は画像データのようにデー
タサイズの大きなファイルが複数の磁気ディスク装置に
またがるような場合にはアクセス時間を削減できる効果
があるが、複数の磁気ディスク装置にまたがらないデー
タサイズの小さなファイルの書き込み、読み出しを行な
う場合には、シーク時間を隠すことができず、1台の磁
気ディスク装置と同じアクセス時間となってしまう問題
があった。
タサイズの大きなファイルが複数の磁気ディスク装置に
またがるような場合にはアクセス時間を削減できる効果
があるが、複数の磁気ディスク装置にまたがらないデー
タサイズの小さなファイルの書き込み、読み出しを行な
う場合には、シーク時間を隠すことができず、1台の磁
気ディスク装置と同じアクセス時間となってしまう問題
があった。
【0061】また、従来技術は複数のファイルの連続的
な書き込み、読み出しを行なう点に配慮がされておら
ず、上位機器からの書き込み、読み出し命令を1件のフ
ァイルについてのみ処理可能で、複数のファイルをアク
セスする場合には、1件の処理を繰返し行なう必要があ
り、それに要するオーバヘッド時間が長くなってしまう
問題があった。
な書き込み、読み出しを行なう点に配慮がされておら
ず、上位機器からの書き込み、読み出し命令を1件のフ
ァイルについてのみ処理可能で、複数のファイルをアク
セスする場合には、1件の処理を繰返し行なう必要があ
り、それに要するオーバヘッド時間が長くなってしまう
問題があった。
【0062】また、オーバヘッド時間のひとつとして、
上位機器からアクセス対象となるファイルを指定するた
めのファイル識別コードから磁気ディスク装置の格納位
置情報を検索する処理がある。従来の一般的な磁気ディ
スク装置では、ファイル識別コードとしてASCIIコ
ード等の文字コード列で構成されるファイル名称で表現
されており、このファイル名称により、磁気ディスク装
置のファイル管理情報エリアに格納されているファイル
管理情報を検索して物理的な格納位置を求めなければな
らず、それに要する処理時間が大きい問題があった。
本発明の目的は、記憶容量が大きい、ファイルのサイズ
にかかわらず複数のファイルを連続的に高速に入出力で
きる、安価な集合型磁気ディスク装置を提供するもので
ある。一方、文書情報はテキストデータだけで構成され
ている訳ではなく、図面や写真などもその構成要素とし
て含まれている。したがって、検索された文献の印刷イ
メージでの閲読の要求にも応えることが必要になる。こ
れに応え得るアーキテクチャを持つ検索装置を提供する
ことが本発明の第六の課題である。
上位機器からアクセス対象となるファイルを指定するた
めのファイル識別コードから磁気ディスク装置の格納位
置情報を検索する処理がある。従来の一般的な磁気ディ
スク装置では、ファイル識別コードとしてASCIIコ
ード等の文字コード列で構成されるファイル名称で表現
されており、このファイル名称により、磁気ディスク装
置のファイル管理情報エリアに格納されているファイル
管理情報を検索して物理的な格納位置を求めなければな
らず、それに要する処理時間が大きい問題があった。
本発明の目的は、記憶容量が大きい、ファイルのサイズ
にかかわらず複数のファイルを連続的に高速に入出力で
きる、安価な集合型磁気ディスク装置を提供するもので
ある。一方、文書情報はテキストデータだけで構成され
ている訳ではなく、図面や写真などもその構成要素とし
て含まれている。したがって、検索された文献の印刷イ
メージでの閲読の要求にも応えることが必要になる。こ
れに応え得るアーキテクチャを持つ検索装置を提供する
ことが本発明の第六の課題である。
【0063】さらに、テキストデータベースは複数のユ
ーザによって共有されるべきものであり、例えばLAN
(ローカル エリア ネットワーク)を介して検索対話
用のワークステーションからアクセスできなければなら
ない。したがって、検索装置はLANに接続され、他の
複数のワークステーションからの検索要求に応えられる
機能を持たなければならない。こうした機能を備えた全
文検索装置を提供することが、本発明の第七の課題であ
る。以上述べた各課題に応え得るフルテキストサーチシ
ステムを提供することが本発明の最終的な目的である。
特に、このフルテキストサーチシステムに好適なデータ
の登録を提供することを目的とする。
ーザによって共有されるべきものであり、例えばLAN
(ローカル エリア ネットワーク)を介して検索対話
用のワークステーションからアクセスできなければなら
ない。したがって、検索装置はLANに接続され、他の
複数のワークステーションからの検索要求に応えられる
機能を持たなければならない。こうした機能を備えた全
文検索装置を提供することが、本発明の第七の課題であ
る。以上述べた各課題に応え得るフルテキストサーチシ
ステムを提供することが本発明の最終的な目的である。
特に、このフルテキストサーチシステムに好適なデータ
の登録を提供することを目的とする。
【0064】
【課題を解決するための手段】本発明では、上記の目的
を達成するために以下の構成とした。検索対象となり得
るデータをデータ格納手段に格納すると共に、サーチの
際検索キーワード自身を含む可能性のないデータを除く
ことが可能な検索ファイルを登録する。検索ファイルと
しては、予め定めた各文字が前記登録されたデータに含
まれるか否かを示す「文字成分表」、登録されたデータ
中に繰り返し現れる単語の重複を排除した「凝縮本文デ
ータ」がある。
を達成するために以下の構成とした。検索対象となり得
るデータをデータ格納手段に格納すると共に、サーチの
際検索キーワード自身を含む可能性のないデータを除く
ことが可能な検索ファイルを登録する。検索ファイルと
しては、予め定めた各文字が前記登録されたデータに含
まれるか否かを示す「文字成分表」、登録されたデータ
中に繰り返し現れる単語の重複を排除した「凝縮本文デ
ータ」がある。
【0065】
【発明の実施の形態】以下、本発明の第一の実施例を、
図10を用いて説明する。本実施例は、キーボード11
01、サーチマシン制御用コンピュータ(CPU0)1
150、ディスプレイ1120、オートマトン生成用コ
ンピュータ(CPU1)1105a、ビットサーチ用コ
ンピュータ(CPU3)1107a、ストリングサーチ
エンジン1106、複合条件判定用コンピュータ(CP
U2)1145a、検索結果格納メモリ1146、及び
テキストデータファイル1110から構成される。ま
た、サーチマシン制御用コンピュータ(CPU0)11
50では、検索式解析プログラム1102、同義語異表
記展開プログラム1103a、複合条件解析プログラム
1141a、検索実行制御プログラム1108、及び検
索結果表示プログラム1147が実行され、オートマト
ン生成用コンピュータ(CPU1)1105aではオー
トマトン生成プログラム1105が、ビットサーチ用コ
ンピュータ(CPU3)1107aではビットサーチプ
ログラム1107が、複合条件判定用コンピュータ(C
PU2)1145aでは複合条件判定プログラム114
5が実行される。
図10を用いて説明する。本実施例は、キーボード11
01、サーチマシン制御用コンピュータ(CPU0)1
150、ディスプレイ1120、オートマトン生成用コ
ンピュータ(CPU1)1105a、ビットサーチ用コ
ンピュータ(CPU3)1107a、ストリングサーチ
エンジン1106、複合条件判定用コンピュータ(CP
U2)1145a、検索結果格納メモリ1146、及び
テキストデータファイル1110から構成される。ま
た、サーチマシン制御用コンピュータ(CPU0)11
50では、検索式解析プログラム1102、同義語異表
記展開プログラム1103a、複合条件解析プログラム
1141a、検索実行制御プログラム1108、及び検
索結果表示プログラム1147が実行され、オートマト
ン生成用コンピュータ(CPU1)1105aではオー
トマトン生成プログラム1105が、ビットサーチ用コ
ンピュータ(CPU3)1107aではビットサーチプ
ログラム1107が、複合条件判定用コンピュータ(C
PU2)1145aでは複合条件判定プログラム114
5が実行される。
【0066】先ず、キーボード1101から入力された
検索条件式はサーチマシン制御用コンピュータ(CPU
0)1150上の検索式解析プログラム1102により
解析される。すなわち、検索式解析プログラム1102
では検索条件式を構成するキーワード部分とそれらの包
含条件及び配置条件を記述した複合条件記述部に分離さ
れる。包含条件は論理条件として記述され、配置条件は
近傍条件や文脈条件として記述されたものである。分離
抽出後、キーワード部分は同じくCPU01150上の
同義語異表記展開プログラム1103aに渡され、複合
条件記述部は複合条件解析プログラム1141aに渡さ
れる。
検索条件式はサーチマシン制御用コンピュータ(CPU
0)1150上の検索式解析プログラム1102により
解析される。すなわち、検索式解析プログラム1102
では検索条件式を構成するキーワード部分とそれらの包
含条件及び配置条件を記述した複合条件記述部に分離さ
れる。包含条件は論理条件として記述され、配置条件は
近傍条件や文脈条件として記述されたものである。分離
抽出後、キーワード部分は同じくCPU01150上の
同義語異表記展開プログラム1103aに渡され、複合
条件記述部は複合条件解析プログラム1141aに渡さ
れる。
【0067】同義語異表記展開プログラム1103aで
は、ここに内蔵された同義語辞書を参照して入力された
キーワードの同義語が、また変換ルールによって異表記
が求められる。例えば、“計算機”というキーワードが
入力されると、同義語としては“計算機”のほかに“電
算機”や“コンピュータ”などが生成され、異表記とし
ては“コンピュータ”から“コンピューター”などが生
成される。
は、ここに内蔵された同義語辞書を参照して入力された
キーワードの同義語が、また変換ルールによって異表記
が求められる。例えば、“計算機”というキーワードが
入力されると、同義語としては“計算機”のほかに“電
算機”や“コンピュータ”などが生成され、異表記とし
ては“コンピュータ”から“コンピューター”などが生
成される。
【0068】同義語としては、上記の例のような同位語
のほかに、上位語や下位語、関連語などがあり、これら
も含めて同義語として展開される。この場合の上位語の
例としては“電子機器”などがあり、下位語としては
“電卓”など、関連語としては“オフィスオートメーシ
ョン”などがある。
のほかに、上位語や下位語、関連語などがあり、これら
も含めて同義語として展開される。この場合の上位語の
例としては“電子機器”などがあり、下位語としては
“電卓”など、関連語としては“オフィスオートメーシ
ョン”などがある。
【0069】また、異表記展開としては、カタカナ展開
のほか、漢字ひらがな展開、アルファベット展開があ
る。図示されているのはこの中のカタカナ展開の例であ
る。漢字ひらがな展開としては、新旧字体の変換と送り
がな展開がある。新旧字体変換の例としては、“斉”か
ら“齋”、“齊”への変換などがある。また、送りがな
展開としては、“読取”から読取り”、“読み取り”へ
の展開などがある。アルファベット展開としては、ロー
マ字のヘボン式展開、ローマ字の訓令式展開及びアルフ
ァベットの大文字小文字展開がある。ローマ字のヘボン
式展開の例としては“チシキ”から“TISIKI”へ
の展開が、ローマ字の訓令式展開の例としては“CHISHI
KI”への展開があり、アルファベットの大文字小文字展
開例としては“TISIKI”から“tisiki”へ
の展開などがある。
のほか、漢字ひらがな展開、アルファベット展開があ
る。図示されているのはこの中のカタカナ展開の例であ
る。漢字ひらがな展開としては、新旧字体の変換と送り
がな展開がある。新旧字体変換の例としては、“斉”か
ら“齋”、“齊”への変換などがある。また、送りがな
展開としては、“読取”から読取り”、“読み取り”へ
の展開などがある。アルファベット展開としては、ロー
マ字のヘボン式展開、ローマ字の訓令式展開及びアルフ
ァベットの大文字小文字展開がある。ローマ字のヘボン
式展開の例としては“チシキ”から“TISIKI”へ
の展開が、ローマ字の訓令式展開の例としては“CHISHI
KI”への展開があり、アルファベットの大文字小文字展
開例としては“TISIKI”から“tisiki”へ
の展開などがある。
【0070】以上説明した同義語展開並びに異表記展開
の展開種類については、ユーザの指定によって組み合わ
せ選択できるようにすることも可能である。
の展開種類については、ユーザの指定によって組み合わ
せ選択できるようにすることも可能である。
【0071】英語の同義語の例としては looking glass → mirror pingpong → table tennis the Lord → God typhoon → cyclone → hurricane WS → work station 等があり、英語の異表記の例としては center → centre liter → litre brier → briar humor → humour modeler → modeller Chile → Chili orangutan → orangoutan → orangoutang MacDonald → McDonald 等の例がある。
【0072】さらに、ドイツ語の同義語の例としては Brief → Schreiben Mostert → Mostrich Maschine → Motor 等があり、ドイツ語の異表記の例としては Foto → Photo Coda → Koda Code → Kode Buffet → Buffet Friburg → Fribourg 等が挙げられる。
【0073】こうして同義語及び異表記展開されたキー
ワード群は、次にオートマトン生成用コンピュータ(C
PU1)1105a上のオートマトン生成プログラム1
105に送られる。
ワード群は、次にオートマトン生成用コンピュータ(C
PU1)1105a上のオートマトン生成プログラム1
105に送られる。
【0074】オートマトン生成プログラム1105で
は、同義語異表記展開プログラム1103aから送られ
てきたキーワード群に対して、これらを一括照合するオ
ートマトンを作成する。同義語及び異表記展開を施す
と、初期入力されたキーワードの数によっては、数百に
も及ぶ展開結果が得られることになる。
は、同義語異表記展開プログラム1103aから送られ
てきたキーワード群に対して、これらを一括照合するオ
ートマトンを作成する。同義語及び異表記展開を施す
と、初期入力されたキーワードの数によっては、数百に
も及ぶ展開結果が得られることになる。
【0075】これらのキーワードを一つずつ入力テキス
トデータから探索していたので、高速な検索を実現する
ことが不可能である。すなわち、これらのキーワードを
まとめて、テキストデータをただ一回走査するだけで探
索する必要がある。このように複数のキーワードを一括
して照合する(多量照合とも呼ぶ)方法としてオートマ
トンを用いた照合方法が知られている。その中で、この
オートマトンをハードウェアで実行する方式として「特
開昭63−311530」を提案している。サーチエン
ジン1106はこの方式をさらに発展させて実現した高
速多重文字列照合回路である。したがって、本オートマ
トン生成プログラム1105では、このサーチエンジン
1106に設定する状態遷移テーブルと照合すべきキー
ワードの識別コード情報を生成し、これらをサーチエン
ジン1106へ転送することになる。
トデータから探索していたので、高速な検索を実現する
ことが不可能である。すなわち、これらのキーワードを
まとめて、テキストデータをただ一回走査するだけで探
索する必要がある。このように複数のキーワードを一括
して照合する(多量照合とも呼ぶ)方法としてオートマ
トンを用いた照合方法が知られている。その中で、この
オートマトンをハードウェアで実行する方式として「特
開昭63−311530」を提案している。サーチエン
ジン1106はこの方式をさらに発展させて実現した高
速多重文字列照合回路である。したがって、本オートマ
トン生成プログラム1105では、このサーチエンジン
1106に設定する状態遷移テーブルと照合すべきキー
ワードの識別コード情報を生成し、これらをサーチエン
ジン1106へ転送することになる。
【0076】また、同義語異表記展開プログラム110
3aで同義語及び異表記展開されたキーワード群は、該
当キーワード識別コード(キーワード識別子とも呼ぶ)
と共に、ビットサーチ用コンピュータ(CPU3)11
07a上のビットサーチプログラム1107へ渡され
る。
3aで同義語及び異表記展開されたキーワード群は、該
当キーワード識別コード(キーワード識別子とも呼ぶ)
と共に、ビットサーチ用コンピュータ(CPU3)11
07a上のビットサーチプログラム1107へ渡され
る。
【0077】一方、検索式解析プログラム1102から
入力検索条件式中の複合条件記述部を受け取ったサーチ
マシン制御用コンピュータ(CPU0)1150上の複
合条件解析プログラム1141では、近傍条件や文脈条
件、並びに論理条件などを解析し、各条件を判定するた
めの制御情報として、指定されたキーワードの識別コー
ドとその間の指定距離情報や指定文脈コード情報及び指
定論理条件コード情報に変換され、複合条件判定用コン
ピュータ(CPU2)1145a上の複合条件判定プロ
グラム1145に渡される。
入力検索条件式中の複合条件記述部を受け取ったサーチ
マシン制御用コンピュータ(CPU0)1150上の複
合条件解析プログラム1141では、近傍条件や文脈条
件、並びに論理条件などを解析し、各条件を判定するた
めの制御情報として、指定されたキーワードの識別コー
ドとその間の指定距離情報や指定文脈コード情報及び指
定論理条件コード情報に変換され、複合条件判定用コン
ピュータ(CPU2)1145a上の複合条件判定プロ
グラム1145に渡される。
【0078】さて、上述した検索式解析処理、同義語異
表記展開処理、オートマトン生成処理、複合条件解析処
理が終わり、ビットサーチ用コンピュータ(CPU3)
1107a上のビットサーチプログラム1107、サー
チエンジン1106、及び複合条件判定用コンピュータ
(CPU2)1145a上の複合条件判定プログラム1
145にそれぞれ制御情報が渡し終わると、検索処理が
始められる。
表記展開処理、オートマトン生成処理、複合条件解析処
理が終わり、ビットサーチ用コンピュータ(CPU3)
1107a上のビットサーチプログラム1107、サー
チエンジン1106、及び複合条件判定用コンピュータ
(CPU2)1145a上の複合条件判定プログラム1
145にそれぞれ制御情報が渡し終わると、検索処理が
始められる。
【0079】検索処理は、サーチマシン制御用コンピュ
ータ(CPU0)1150上の検索実行制御プログラム
1108により制御される。すなわち、検索実行制御プ
ログラム1108では、ビットサーチプログラム110
7、サーチエンジン1106、及び複合条件判定プログ
ラム1145に対して起動を掛け、テキストデータファ
イル1110から被検索テキストデータを読み込み、階
層型プリサーチと本文サーチを実行する。まず、テキス
トデータファイル1110からビットサーチプログラム
1107へ文字成分表を読み出して文字成分表サーチを
行う。文字成分表サーチ結果は、該当文書識別子として
検索結果格納メモリ1146に書き出される。次に、該
文書識別子で指定される文書の凝縮本文をテキストデー
タファイル1110からストリングサーチエンジン11
06へ読み込み凝縮本文サーチを行う。ストリングサー
チエンジン1106では、あらかじめ設定された状態遷
移テーブル情報にしたがって指定されたキーワード群を
入力凝縮本文データの中から探し出す。そして、キーワ
ードのどれかでも見つかると、そのテキストファイルの
識別子と該当キーワードの識別コード並びに検出された
位置情報を、複合条件判定用コンピュータ(CPU2)
1145a上の複合条件判定プログラム1145に送出
する。
ータ(CPU0)1150上の検索実行制御プログラム
1108により制御される。すなわち、検索実行制御プ
ログラム1108では、ビットサーチプログラム110
7、サーチエンジン1106、及び複合条件判定プログ
ラム1145に対して起動を掛け、テキストデータファ
イル1110から被検索テキストデータを読み込み、階
層型プリサーチと本文サーチを実行する。まず、テキス
トデータファイル1110からビットサーチプログラム
1107へ文字成分表を読み出して文字成分表サーチを
行う。文字成分表サーチ結果は、該当文書識別子として
検索結果格納メモリ1146に書き出される。次に、該
文書識別子で指定される文書の凝縮本文をテキストデー
タファイル1110からストリングサーチエンジン11
06へ読み込み凝縮本文サーチを行う。ストリングサー
チエンジン1106では、あらかじめ設定された状態遷
移テーブル情報にしたがって指定されたキーワード群を
入力凝縮本文データの中から探し出す。そして、キーワ
ードのどれかでも見つかると、そのテキストファイルの
識別子と該当キーワードの識別コード並びに検出された
位置情報を、複合条件判定用コンピュータ(CPU2)
1145a上の複合条件判定プログラム1145に送出
する。
【0080】サーチエンジンの出力情報として付加され
る位置情報とは、そのキーワードが見つかった文書中の
位置を表す情報のことであり、具体的にはその文書の先
頭から数えて何文字目に当るのかを文字数でカウントし
た値である。図11に具体例で照合位置情報を示した。
本図は、文書の内容が、「あいまい検索のための知的検
索技術を開発した。
る位置情報とは、そのキーワードが見つかった文書中の
位置を表す情報のことであり、具体的にはその文書の先
頭から数えて何文字目に当るのかを文字数でカウントし
た値である。図11に具体例で照合位置情報を示した。
本図は、文書の内容が、「あいまい検索のための知的検
索技術を開発した。
【0081】・・・・・・」という場合、これを“知的
検索”というキーワードで検索した場合を想定したもの
である。ここでは、“知的検索技術”の中の“知的検
索”の部分がキーワードと一致することになるので、こ
の部分が検出されることになる。照合位置情報として
は、“知的検索”の末尾文字“索”の文書先頭からの文
字位置が採られる。この例では、13が照合位置情報と
なる。
検索”というキーワードで検索した場合を想定したもの
である。ここでは、“知的検索技術”の中の“知的検
索”の部分がキーワードと一致することになるので、こ
の部分が検出されることになる。照合位置情報として
は、“知的検索”の末尾文字“索”の文書先頭からの文
字位置が採られる。この例では、13が照合位置情報と
なる。
【0082】この照合位置情報を付加したサーチエンジ
ンの出力情報は、図15に示した構成を取る。すなわ
ち、本実施例では32ビット長のキーワード識別子と、
同じく32ビット長のキーワード照合位置情報で構成さ
れる。また、各文書毎にキーワード識別子の出力に先立
って文書識別子が出力され、照合出力情報がどの文書に
対応するものかが分かるようにしてある。
ンの出力情報は、図15に示した構成を取る。すなわ
ち、本実施例では32ビット長のキーワード識別子と、
同じく32ビット長のキーワード照合位置情報で構成さ
れる。また、各文書毎にキーワード識別子の出力に先立
って文書識別子が出力され、照合出力情報がどの文書に
対応するものかが分かるようにしてある。
【0083】凝縮本文サーチ結果は、該当文書識別子と
照合キーワード識別子及びキーワード照合位置情報が組
み合わされた照合情報として、複合条件判定用コンピュ
ータ(CPU2)1145a上の複合条件判定プログラ
ム1145に渡される。複合条件判定プログラム114
5では、先に設定された複合条件判定制御情報に基づい
て、指定条件に合致する文書を判定し、その文書識別子
を検索結果格納メモリ1146に書き出す。検索実行制
御プログラム1108は、複合条件中に近傍条件あるい
は文脈条件が設定されているかを判定し、もし設定され
ている場合には最後の本文サーチを行う。すなわち、凝
縮本文サーチの結果得られた該当文書識別子に対応する
本文データをテキストデータファイル1110からスト
リングサーチエンジン1106へ読み込み本文サーチを
行うことになる。ストリングサーチエンジン1106か
ら出力される照合情報は複合条件判定プログラム114
5に渡され、ここで指定された近傍条件及び文脈条件に
合致するか否かの判定処理が行われる。この判定処理結
果は、最終的な検索結果情報として、該当文書識別子と
いう形で検索結果格納メモリ1146に出力される。
照合キーワード識別子及びキーワード照合位置情報が組
み合わされた照合情報として、複合条件判定用コンピュ
ータ(CPU2)1145a上の複合条件判定プログラ
ム1145に渡される。複合条件判定プログラム114
5では、先に設定された複合条件判定制御情報に基づい
て、指定条件に合致する文書を判定し、その文書識別子
を検索結果格納メモリ1146に書き出す。検索実行制
御プログラム1108は、複合条件中に近傍条件あるい
は文脈条件が設定されているかを判定し、もし設定され
ている場合には最後の本文サーチを行う。すなわち、凝
縮本文サーチの結果得られた該当文書識別子に対応する
本文データをテキストデータファイル1110からスト
リングサーチエンジン1106へ読み込み本文サーチを
行うことになる。ストリングサーチエンジン1106か
ら出力される照合情報は複合条件判定プログラム114
5に渡され、ここで指定された近傍条件及び文脈条件に
合致するか否かの判定処理が行われる。この判定処理結
果は、最終的な検索結果情報として、該当文書識別子と
いう形で検索結果格納メモリ1146に出力される。
【0084】凝縮本文サーチあるいは本文サーチが済
み、最終的に検索処理が終わると、サーチマシン制御用
コンピュータ(CPU0)1150上の検索結果表示プ
ログラム1147が検索結果格納メモリ1146上の該
当文書識別子に基づいて、検索結果件数、あるいはヒッ
トした文書の書誌情報である文書名や著者などの書誌事
項をテキストデータファイル1110から読み出してデ
ィスプレイ1120へ一覧表示したり、あるいはユーザ
の指定に応じてヒットした文書の本文データをテキスト
データファイル1110から読み出して表示したりす
る。
み、最終的に検索処理が終わると、サーチマシン制御用
コンピュータ(CPU0)1150上の検索結果表示プ
ログラム1147が検索結果格納メモリ1146上の該
当文書識別子に基づいて、検索結果件数、あるいはヒッ
トした文書の書誌情報である文書名や著者などの書誌事
項をテキストデータファイル1110から読み出してデ
ィスプレイ1120へ一覧表示したり、あるいはユーザ
の指定に応じてヒットした文書の本文データをテキスト
データファイル1110から読み出して表示したりす
る。
【0085】以上が本発明により提供されるフルテキス
トサーチ装置の第一の実施例についての説明である。
トサーチ装置の第一の実施例についての説明である。
【0086】次に、本発明の第二の実施例について、図
25を用いて説明する。本実施例は、キーボード250
1、サーチマシン制御用コンピュータ(CPU0)25
20、ディスプレイ2520、オートマトン生成用コン
ピュータ(CPU1)2505a、ビットサーチ用コン
ピュータ(CPU3)2507a、ストリングサーチエ
ンジン2506、複合条件判定用コンピュータ(CPU
2)2545a、検索結果格納メモリ2546、半導体
メモリ装道2510a、RAMディスク装置2510
b、集合型磁気ディスク装置2510c、及びイメージ
データファイル2530から構成される。また、サーチ
マシン制御用コンピュータ(CPU0)2550では、
検索式解析プログラム2502、同義語展開プログラム
2503、異表記展開プログラム2504、複合条件解
析プログラム2541、近傍条件解析プログラム254
2、文脈条件解析プログラム2543、論理条件解析プ
ログラム2544、検索実行制御プログラム2508、
及び検索結果表示プログラム2547が実行され、オー
トマトン生成用コンピュータ(CPU1)2505aで
はオートマトン生成プログラム2505が、ビットサー
チ用コンピュータ(CPU3)2507aではビットサ
ーチプログラム2507が、複合条件判定用コンピュー
タ(CPU2)2545aでは複合条件判定プログラム
2545が実行される。また、集合型磁気ディスク装置
2510cは、集合型磁気ディスク制御装置2510d
と磁気ディスク装置2510e1〜2510e12から構
成される。
25を用いて説明する。本実施例は、キーボード250
1、サーチマシン制御用コンピュータ(CPU0)25
20、ディスプレイ2520、オートマトン生成用コン
ピュータ(CPU1)2505a、ビットサーチ用コン
ピュータ(CPU3)2507a、ストリングサーチエ
ンジン2506、複合条件判定用コンピュータ(CPU
2)2545a、検索結果格納メモリ2546、半導体
メモリ装道2510a、RAMディスク装置2510
b、集合型磁気ディスク装置2510c、及びイメージ
データファイル2530から構成される。また、サーチ
マシン制御用コンピュータ(CPU0)2550では、
検索式解析プログラム2502、同義語展開プログラム
2503、異表記展開プログラム2504、複合条件解
析プログラム2541、近傍条件解析プログラム254
2、文脈条件解析プログラム2543、論理条件解析プ
ログラム2544、検索実行制御プログラム2508、
及び検索結果表示プログラム2547が実行され、オー
トマトン生成用コンピュータ(CPU1)2505aで
はオートマトン生成プログラム2505が、ビットサー
チ用コンピュータ(CPU3)2507aではビットサ
ーチプログラム2507が、複合条件判定用コンピュー
タ(CPU2)2545aでは複合条件判定プログラム
2545が実行される。また、集合型磁気ディスク装置
2510cは、集合型磁気ディスク制御装置2510d
と磁気ディスク装置2510e1〜2510e12から構
成される。
【0087】本図において、先ずキーボード2501か
ら入力された検索条件式はサーチマシン制御用コンピュ
ータ(CPU0)2550上の検索式解析プログラム2
502により解析される。すなわち、検索式解析プログ
ラム2502では検索条件式を構成するキーワード部分
とそれらの包含条件及び配置条件を記述した複合条件記
述部に分離する。包含条件は論理条件として記述され、
配置条件は近傍条件や文脈条件として記述されたもので
ある。分離抽出後、キーワード部分は同じくCPU0、
2550上の同義語展開プログラム2503に渡され、
複合条件記述部は複合条件解析プログラム2541に渡
される。
ら入力された検索条件式はサーチマシン制御用コンピュ
ータ(CPU0)2550上の検索式解析プログラム2
502により解析される。すなわち、検索式解析プログ
ラム2502では検索条件式を構成するキーワード部分
とそれらの包含条件及び配置条件を記述した複合条件記
述部に分離する。包含条件は論理条件として記述され、
配置条件は近傍条件や文脈条件として記述されたもので
ある。分離抽出後、キーワード部分は同じくCPU0、
2550上の同義語展開プログラム2503に渡され、
複合条件記述部は複合条件解析プログラム2541に渡
される。
【0088】同義語展開プログラム2503では、ここ
に内蔵された同義語辞書を参照して、入力されたキーワ
ードの同義語が求められる。そして、ここで同義語展開
されたキーワード群は異表記展開プログラム2504へ
渡される。本図の例の場合、“計算機”から、“電算
機”、“コンピュータ”、“COMPUTER”などが生成され
る。
に内蔵された同義語辞書を参照して、入力されたキーワ
ードの同義語が求められる。そして、ここで同義語展開
されたキーワード群は異表記展開プログラム2504へ
渡される。本図の例の場合、“計算機”から、“電算
機”、“コンピュータ”、“COMPUTER”などが生成され
る。
【0089】異表記展開プログラム2504では、ここ
に入力されてきたキーワード群に対して異表記展開処理
が施される。本図の例の場合、“コンピュータ”から
“コンピューター”が、また“COMPUTER”から“Comput
er”などが生成される。
に入力されてきたキーワード群に対して異表記展開処理
が施される。本図の例の場合、“コンピュータ”から
“コンピューター”が、また“COMPUTER”から“Comput
er”などが生成される。
【0090】こうして同義語及び異表記展開されたキー
ワード群は、次にオートマトン生成用コンピュータ(C
PU1)2505a上のオートマトン生成プログラム2
505に送られる。
ワード群は、次にオートマトン生成用コンピュータ(C
PU1)2505a上のオートマトン生成プログラム2
505に送られる。
【0091】オートマトン生成プログラム2505で
は、異表記展開プログラム2504から送られてきたキ
ーワード群に対して、これらを一括照合するオートマト
ンを生成し、状態遷移テーブルと照合すべきキーワード
の識別コード情報として、サーチエンジン2506に設
定する。サーチエンジン2506は有限オートマトン方
式に基づく高速多重文字列照合回路である。
は、異表記展開プログラム2504から送られてきたキ
ーワード群に対して、これらを一括照合するオートマト
ンを生成し、状態遷移テーブルと照合すべきキーワード
の識別コード情報として、サーチエンジン2506に設
定する。サーチエンジン2506は有限オートマトン方
式に基づく高速多重文字列照合回路である。
【0092】また、異表記展開プログラム2504で異
表記展開されたキーワード群は、該当キーワード識別コ
ードと共に、ビットサーチ用コンピュータ(CPU3)
2507a上のビットサーチプログラム2507へ渡さ
れる。
表記展開されたキーワード群は、該当キーワード識別コ
ードと共に、ビットサーチ用コンピュータ(CPU3)
2507a上のビットサーチプログラム2507へ渡さ
れる。
【0093】一方、検索式解析プログラム2502から
入力検索条件式中の複合条件記述部を受け取ったサーチ
マシン制御用コンピュータ(CPU0)2550上の複
合条件解析プログラム2541では、これを解析して近
傍条件記述部と文脈条件記述部並びに論理条件記述部に
分離する。そして、各条件記述部をそれぞれ近傍条件解
析プログラム2542、文脈条件解析プログラム254
3及び論理条件解析プログラム2544へ渡す。
入力検索条件式中の複合条件記述部を受け取ったサーチ
マシン制御用コンピュータ(CPU0)2550上の複
合条件解析プログラム2541では、これを解析して近
傍条件記述部と文脈条件記述部並びに論理条件記述部に
分離する。そして、各条件記述部をそれぞれ近傍条件解
析プログラム2542、文脈条件解析プログラム254
3及び論理条件解析プログラム2544へ渡す。
【0094】近傍条件解析プログラム2542では、字
間距離条件や語間距離条件が抽出される。ここで抽出さ
れた各条件は、指定されたキーワードの識別コードとそ
の間の距離情報に変換され、複合条件判定用コンピュー
タ(CPU2)2545a上の複合条件判定プログラム
2545に渡される。
間距離条件や語間距離条件が抽出される。ここで抽出さ
れた各条件は、指定されたキーワードの識別コードとそ
の間の距離情報に変換され、複合条件判定用コンピュー
タ(CPU2)2545a上の複合条件判定プログラム
2545に渡される。
【0095】文脈条件解析プログラム2543では、同
一文内共起条件や同一段落内共起条件、同一節内共起条
件、同一章内共起条件などの各種の共起条件が抽出され
る。ここで抽出された各条件は、指定されたキーワード
の識別コードと指定文脈コード情報に変換され、複合条
件判定用コンピュータ(CPU2)2545a上の複合
条件判定プログラム2545に渡される。
一文内共起条件や同一段落内共起条件、同一節内共起条
件、同一章内共起条件などの各種の共起条件が抽出され
る。ここで抽出された各条件は、指定されたキーワード
の識別コードと指定文脈コード情報に変換され、複合条
件判定用コンピュータ(CPU2)2545a上の複合
条件判定プログラム2545に渡される。
【0096】論理条件解析プログラム2544では、検
索条件式中に指定された論理条件が抽出され、論理条件
コード情報に変換され、複合条件判定用コンピュータ
(CPU2)2545a上の複合条件判定プログラム2
545に渡される。
索条件式中に指定された論理条件が抽出され、論理条件
コード情報に変換され、複合条件判定用コンピュータ
(CPU2)2545a上の複合条件判定プログラム2
545に渡される。
【0097】さて、上述した検索式解析処理、同義語及
び異表記展開処理、オートマトン生成処理、複合条件解
析処理、近傍条件解析処理、文脈条件解析処理、及び論
理条件解析処理が終わり、ビットサーチ用コンピュータ
(CPU3)2507a上のビットサーチプログラム2
507、サーチエンジン2506、及び複合条件判定用
コンピュータ(CPU2)2545a上の複合条件判定
プログラム2545にそれぞれ制御情報が渡し終わる
と、検索処理が始められる。
び異表記展開処理、オートマトン生成処理、複合条件解
析処理、近傍条件解析処理、文脈条件解析処理、及び論
理条件解析処理が終わり、ビットサーチ用コンピュータ
(CPU3)2507a上のビットサーチプログラム2
507、サーチエンジン2506、及び複合条件判定用
コンピュータ(CPU2)2545a上の複合条件判定
プログラム2545にそれぞれ制御情報が渡し終わる
と、検索処理が始められる。
【0098】検索処理は、サーチマシン制御用コンピュ
ータ(CPU0)2550上の検索実行制御プログラム
2508により制御される。すなわち、検索実行制御プ
ログラム2508では、まずビットサーチプログラム2
507に起動を掛け、半導体メモリ装置2510aから
文字成分表を読み出して文字成分表サーチを行う。文字
成分表サーチ結果は、該当文書識別子として検索結果格
納メモリ2546に書き出される。
ータ(CPU0)2550上の検索実行制御プログラム
2508により制御される。すなわち、検索実行制御プ
ログラム2508では、まずビットサーチプログラム2
507に起動を掛け、半導体メモリ装置2510aから
文字成分表を読み出して文字成分表サーチを行う。文字
成分表サーチ結果は、該当文書識別子として検索結果格
納メモリ2546に書き出される。
【0099】次に、ストリングサーチエンジン250
6、複合条件判定プログラム2545及びRAMディス
ク装置2510bに起動を掛けて、検索結果格納メモリ
2546に書き出された文書識別子で指定される文書の
凝縮本文をRAMディスク装置2510bからストリン
グサーチエンジン2506へ読み込み凝縮本文サーチを
行う。凝縮本文サーチ結果は、該当文書識別子と照合キ
ーワード識別子及びキーワード照合位置情報が組み合わ
された照合情報として、複合条件判定用コンピュータ
(CPU2)2545a上の複合条件判定プログラム2
545に渡される。複合条件判定プログラム2545で
は、先に設定された複合条件判定制御情報に基づいて、
指定条件に合致する文書を判定し、その文書識別子を検
索結果格納メモリ2546に書き出す。
6、複合条件判定プログラム2545及びRAMディス
ク装置2510bに起動を掛けて、検索結果格納メモリ
2546に書き出された文書識別子で指定される文書の
凝縮本文をRAMディスク装置2510bからストリン
グサーチエンジン2506へ読み込み凝縮本文サーチを
行う。凝縮本文サーチ結果は、該当文書識別子と照合キ
ーワード識別子及びキーワード照合位置情報が組み合わ
された照合情報として、複合条件判定用コンピュータ
(CPU2)2545a上の複合条件判定プログラム2
545に渡される。複合条件判定プログラム2545で
は、先に設定された複合条件判定制御情報に基づいて、
指定条件に合致する文書を判定し、その文書識別子を検
索結果格納メモリ2546に書き出す。
【0100】そして、検索実行制御プログラム2508
は、複合条件中に近傍条件あるいは文脈条件が設定され
ているかを判定し、もし設定されている場合には最後の
本文サーチを行う。すなわち、ストリングサーチエンジ
ン2506、複合条件判定プログラム2545及び集合
型磁気ディスク装置2510cに起動を掛けて、凝縮本
文サーチの結果得られた検索結果格納メモリ2546中
の該当文書識別子に対応する本文データを集合型磁気デ
ィスク装置2510cからストリングサーチエンジン2
506へ読み込み本文サーチを行うことになる。
は、複合条件中に近傍条件あるいは文脈条件が設定され
ているかを判定し、もし設定されている場合には最後の
本文サーチを行う。すなわち、ストリングサーチエンジ
ン2506、複合条件判定プログラム2545及び集合
型磁気ディスク装置2510cに起動を掛けて、凝縮本
文サーチの結果得られた検索結果格納メモリ2546中
の該当文書識別子に対応する本文データを集合型磁気デ
ィスク装置2510cからストリングサーチエンジン2
506へ読み込み本文サーチを行うことになる。
【0101】集合型磁気ディスク装置2510cは複数
台の磁気ディスク装置2510e1〜2510e12から
構成され、文字成分表、凝縮本文、本文、及び書誌事項
などの各種テキストデータがこれらの磁気ディスク装置
2510e1〜2510e12に分散して格納される。そ
して、これらの磁気ディスク装置2510e1〜251
0e12は集合磁気ディスク制御装置2510dの制御の
もとに、平行して独立にテキストデータを読み出す。読
み出されたそれぞれのテキストデータは、集合磁気ディ
スク制御装置2510dで統合され、すなわちマルチプ
レクシングされて高速にストリングサーチエンジン25
06へ送り出される。12台の磁気ディスク装置を同時
に動作させた場合、一台だけの場合に比較して約10倍
の読み出し速度が得られることになる。
台の磁気ディスク装置2510e1〜2510e12から
構成され、文字成分表、凝縮本文、本文、及び書誌事項
などの各種テキストデータがこれらの磁気ディスク装置
2510e1〜2510e12に分散して格納される。そ
して、これらの磁気ディスク装置2510e1〜251
0e12は集合磁気ディスク制御装置2510dの制御の
もとに、平行して独立にテキストデータを読み出す。読
み出されたそれぞれのテキストデータは、集合磁気ディ
スク制御装置2510dで統合され、すなわちマルチプ
レクシングされて高速にストリングサーチエンジン25
06へ送り出される。12台の磁気ディスク装置を同時
に動作させた場合、一台だけの場合に比較して約10倍
の読み出し速度が得られることになる。
【0102】ストリングサーチエンジン2506から出
力される集合情報は、複合条件判定プログラム2545
に渡され、ここで指定された近傍条件及び文脈条件に合
致するか否かの判定処理が行われる。この判定処理結果
は、最終的な検索結果情報として、該当文書識別子とい
う形で検索結果格納メモリ2546に出力される。
力される集合情報は、複合条件判定プログラム2545
に渡され、ここで指定された近傍条件及び文脈条件に合
致するか否かの判定処理が行われる。この判定処理結果
は、最終的な検索結果情報として、該当文書識別子とい
う形で検索結果格納メモリ2546に出力される。
【0103】凝縮本文サーチあるいは本文サーチが済
み、最終的に検索処理が終わると、サーチマシン制御用
コンピュータ(CPU0)2550上の検索結果表示プ
ロクラム2547が、検索結果格納メモリ2546上の
該当文書識別子に基づいて、検索結果件数、あるいはヒ
ットした文書の書誌情報である文書名や著者などの書誌
事項を集合型磁気ディスク装置2510cから読み出し
てディスプレイ2520へ一覧表示したり、あるいはユ
ーザの指定に応じてヒットした文書の本文データを集合
磁気ディスク装置2510cから読み出して表示したり
する。更に、ユーザがヒットした文献の図面や画像情報
の閲覧を指定した場合には、イメージデータファイル2
530から該当するイメージデータを読み出しディスプ
レイ2520へ表示する。以上が本発明により提供され
るフルテキストサーチ装置の第二の実施例についての説
明である。
み、最終的に検索処理が終わると、サーチマシン制御用
コンピュータ(CPU0)2550上の検索結果表示プ
ロクラム2547が、検索結果格納メモリ2546上の
該当文書識別子に基づいて、検索結果件数、あるいはヒ
ットした文書の書誌情報である文書名や著者などの書誌
事項を集合型磁気ディスク装置2510cから読み出し
てディスプレイ2520へ一覧表示したり、あるいはユ
ーザの指定に応じてヒットした文書の本文データを集合
磁気ディスク装置2510cから読み出して表示したり
する。更に、ユーザがヒットした文献の図面や画像情報
の閲覧を指定した場合には、イメージデータファイル2
530から該当するイメージデータを読み出しディスプ
レイ2520へ表示する。以上が本発明により提供され
るフルテキストサーチ装置の第二の実施例についての説
明である。
【0104】また、本実施例ではデキストデータを格納
するテキストデータフル110(図1)として集合磁気
ディスク制御装置110d(図20)を用いているが、
テキストデータファイル110の容量を拡大するために
集合型の光ディスク装置を用いることも可能である。す
なわち、磁気ディスク装置110e1〜110e12の代
わりに、光ディスク装置を用いることも可能である。た
だし、磁気ディスク装置を用いる場合に比較して、アク
セス速度が落ちるため、本文サーチ速度がその分低下す
ることになる。さらに、この場合、光ディスク装置とし
て、テキストデータの修正がない場合には追記型の光デ
ィスク装置が使え、テキストデータの修正が生じる場合
には書替え型の光ディスク装置を用いることになる。
するテキストデータフル110(図1)として集合磁気
ディスク制御装置110d(図20)を用いているが、
テキストデータファイル110の容量を拡大するために
集合型の光ディスク装置を用いることも可能である。す
なわち、磁気ディスク装置110e1〜110e12の代
わりに、光ディスク装置を用いることも可能である。た
だし、磁気ディスク装置を用いる場合に比較して、アク
セス速度が落ちるため、本文サーチ速度がその分低下す
ることになる。さらに、この場合、光ディスク装置とし
て、テキストデータの修正がない場合には追記型の光デ
ィスク装置が使え、テキストデータの修正が生じる場合
には書替え型の光ディスク装置を用いることになる。
【0105】次に、上述した第二の実施例におけるRA
Mディスク装置2510bの具体的実施例について、図
75を用いて説明する。本図において、RAMディスク
装置2510bは、凝縮本文を納める半導体メモリ71
00(RAM)と、この半導体メモリ7100上の凝縮
本文の読み出しを制御するRAMディスクコントローラ
7200から構成される。
Mディスク装置2510bの具体的実施例について、図
75を用いて説明する。本図において、RAMディスク
装置2510bは、凝縮本文を納める半導体メモリ71
00(RAM)と、この半導体メモリ7100上の凝縮
本文の読み出しを制御するRAMディスクコントローラ
7200から構成される。
【0106】RAMディスクコントローラ7200は、
ダイレクトメモリアクセスコントローラ7210(DM
AC)、アドレスコントローラ7220、アドレスメモ
リ7230から構成される。アドレスメモリ7230に
は、半導体メモリ7100内のどこからどこまで読みだ
すのかを、それぞれ開始アドレスSTARTnと終了ア
ドレスENDnの対データとして、複数組設定できるよ
うにしている。この開始アドレス7360と終了アドレ
ス7370は、検索実行制御プログラム2508によ
り、検索結果格納メモリ2546内に書き込まれた読み
出し対象とすべき凝縮本文の識別子情報をもとに、検索
実行制御プログラム2508内で管理される凝縮本文格
納情報を参照して与えられる。
ダイレクトメモリアクセスコントローラ7210(DM
AC)、アドレスコントローラ7220、アドレスメモ
リ7230から構成される。アドレスメモリ7230に
は、半導体メモリ7100内のどこからどこまで読みだ
すのかを、それぞれ開始アドレスSTARTnと終了ア
ドレスENDnの対データとして、複数組設定できるよ
うにしている。この開始アドレス7360と終了アドレ
ス7370は、検索実行制御プログラム2508によ
り、検索結果格納メモリ2546内に書き込まれた読み
出し対象とすべき凝縮本文の識別子情報をもとに、検索
実行制御プログラム2508内で管理される凝縮本文格
納情報を参照して与えられる。
【0107】アドレスコントローラ7220は、検索実
行制御プログラム2508から与えられる起動信号に基
づいて、アドレスメモリ7230内の読み出し領域アド
レス情報、すなわち開始アドレスSTART1と終了ア
ドレスEND1を読み出し、これから読み出すべき領域
の先頭アドレス7310と読み出すべきワード数732
0を求めて、これをダイレクトメモリアクセスコントロ
ーラ7210に設定され、これに起動を掛ける。ダイレ
クトメモリアクセスコントローラ7210は、指定され
たアドレス7310とワード数7320に基づき、該当
領域のデータを半導体メモリ7100から読み出し出力
する。
行制御プログラム2508から与えられる起動信号に基
づいて、アドレスメモリ7230内の読み出し領域アド
レス情報、すなわち開始アドレスSTART1と終了ア
ドレスEND1を読み出し、これから読み出すべき領域
の先頭アドレス7310と読み出すべきワード数732
0を求めて、これをダイレクトメモリアクセスコントロ
ーラ7210に設定され、これに起動を掛ける。ダイレ
クトメモリアクセスコントローラ7210は、指定され
たアドレス7310とワード数7320に基づき、該当
領域のデータを半導体メモリ7100から読み出し出力
する。
【0108】ダイレクトメモリアクセスコントローラ7
210は、読み出しが終了したら終了信号7370をア
ドレスコントローラ7220へ送出する。アドレスコン
トローラ7220はこれを受けて、次の転送アドレス情
報、すなわち開始アドレスSTART2と終了アドレス
END2を読み出し、同様にしてこれから読み出すべき
領域の先頭アドレス7310と読み出すべきワード数7
320を求めて、これをダイレクトメモリアクセスコン
トローラ7210に設定し、起動を掛ける。これを受け
てダイレクトメモリアクセスコントローラ7210は指
定されたアドレス7310とワード数7320に基づ
き、該当領域のデータを半導体メモリ7100から読み
出し出力する。
210は、読み出しが終了したら終了信号7370をア
ドレスコントローラ7220へ送出する。アドレスコン
トローラ7220はこれを受けて、次の転送アドレス情
報、すなわち開始アドレスSTART2と終了アドレス
END2を読み出し、同様にしてこれから読み出すべき
領域の先頭アドレス7310と読み出すべきワード数7
320を求めて、これをダイレクトメモリアクセスコン
トローラ7210に設定し、起動を掛ける。これを受け
てダイレクトメモリアクセスコントローラ7210は指
定されたアドレス7310とワード数7320に基づ
き、該当領域のデータを半導体メモリ7100から読み
出し出力する。
【0109】以下同様の処理をくりかえして、アドレス
メモリ7230内に設定された転送情報に対応する半導
体メモリ7100内のデータを読み出すことになる。
メモリ7230内に設定された転送情報に対応する半導
体メモリ7100内のデータを読み出すことになる。
【0110】以上が、RAMディスク装置2510bの
実施例の説明である。
実施例の説明である。
【0111】次に、上記第二の実施例における複合条件
解析プログラム2541(図25)の更に詳細な実施例
について図13を用いて説明する。本実施例では、複合
条件解析プログラム1141が、近傍条件判定プログラ
ム330、文脈条件判定プログラム340、及び論理条
件判定プログラム350によりパイプライン的に構成さ
れている。
解析プログラム2541(図25)の更に詳細な実施例
について図13を用いて説明する。本実施例では、複合
条件解析プログラム1141が、近傍条件判定プログラ
ム330、文脈条件判定プログラム340、及び論理条
件判定プログラム350によりパイプライン的に構成さ
れている。
【0112】また、検索実行制御段階としては、本文サ
ーチを行う場合を例にしている。すなわち、入力テキス
トデータとしては、集合型磁気ディスク装置1110c
から本文データを入力し、このなかからサーチエンジン
1106でキーワードの探索照合を行う場合である。
ーチを行う場合を例にしている。すなわち、入力テキス
トデータとしては、集合型磁気ディスク装置1110c
から本文データを入力し、このなかからサーチエンジン
1106でキーワードの探索照合を行う場合である。
【0113】探索条件式としては、論理条件、近傍条件
及び文脈条件を含む複合条件式301が入力されるもの
とする。
及び文脈条件を含む複合条件式301が入力されるもの
とする。
【0114】複合条件式301:Q=and(文書〔4
C〕理解、文書〔S〕検索) この複合条件式301は、「文書」と「理解」がこの順
序で現れ、かつ4文字以内の距離に近接し、さらに「文
書」と「検索」が同一文中に共起するものを検索するこ
とを意味している。すなわち、“文書〔4C〕理解”
が、「文書」と「理解」がこの順序で現れ、かつ4文字
以内の距離に近接するという近傍条件を示し、“文書
〔S〕検索”が、「文書」と「理解」が同一文中に共起
する文脈条件を、“and(……、……)”が、これら
両者が同時に起こるという論理条件を示している。
C〕理解、文書〔S〕検索) この複合条件式301は、「文書」と「理解」がこの順
序で現れ、かつ4文字以内の距離に近接し、さらに「文
書」と「検索」が同一文中に共起するものを検索するこ
とを意味している。すなわち、“文書〔4C〕理解”
が、「文書」と「理解」がこの順序で現れ、かつ4文字
以内の距離に近接するという近傍条件を示し、“文書
〔S〕検索”が、「文書」と「理解」が同一文中に共起
する文脈条件を、“and(……、……)”が、これら
両者が同時に起こるという論理条件を示している。
【0115】このような複合条件検索式301が指定さ
れると、第二の実施例(図25)で説明したように、先
ずこの検索条件式が検索式解析プログラム1102で解
析され、これに含まれるキーワード、すなわち単語「文
書」、「理解」及び「検索」が抽出される。そして、こ
れらにそれぞれT1,T2及びT3という識別子が付与
され、同義語展開プログラム1103、さらには異表記
展開プログラム1104へ渡される。ここでは、説明を
簡単にするために、同義語及び異表記展開される言葉が
なかったものとして説明する。したがって、同義語及び
異表記展開された結果は、入力キーワードと変わらず、
「文書」、「理解」及び「検索」の3単語ということに
なる。これらは、オートマトン生成プログラム1107
に渡され、ここで各文字列を照合するオートマトンが作
成され、その状態遷移テーブルがサーチエンジン110
6に設定されることになる。
れると、第二の実施例(図25)で説明したように、先
ずこの検索条件式が検索式解析プログラム1102で解
析され、これに含まれるキーワード、すなわち単語「文
書」、「理解」及び「検索」が抽出される。そして、こ
れらにそれぞれT1,T2及びT3という識別子が付与
され、同義語展開プログラム1103、さらには異表記
展開プログラム1104へ渡される。ここでは、説明を
簡単にするために、同義語及び異表記展開される言葉が
なかったものとして説明する。したがって、同義語及び
異表記展開された結果は、入力キーワードと変わらず、
「文書」、「理解」及び「検索」の3単語ということに
なる。これらは、オートマトン生成プログラム1107
に渡され、ここで各文字列を照合するオートマトンが作
成され、その状態遷移テーブルがサーチエンジン110
6に設定されることになる。
【0116】一方、検索条件式中の複合条件について
は、複合条件解析プログラム1141にて、それぞれ近
傍条件“文書〔4C〕理解”、文脈条件“文書〔S〕検
索”、及び論理条件“and(……,……)に分解され
る。この時、各条件式中のキーワードは、先にオートマ
トン生成に際して付与されたキーワード識別子(ターム
識別子とも呼ぶ)で置き換えられる。したがって、近傍
条件は“T1〔4C]T2”と、文脈条件は“T1
〔S〕T3”という形式で表される。また、これらの条
件式にもそれぞれ項識別子I1及びI2が付与される。
したがって、論理条件式は“and(I1,I2)”と
表されることになる。以上の処理は、それぞれ近傍条件
解析プログラム2542(図25)、文脈条件解析プロ
グラム2543(図25)及び論理条件解析プログラム
(図25)2544にて行われる。このようにしてター
ム識別子及び項識別子で表現された各条件は、複合条件
判定プログラム2545(図25)の各条件判定処理プ
ログラムに送られる。
は、複合条件解析プログラム1141にて、それぞれ近
傍条件“文書〔4C〕理解”、文脈条件“文書〔S〕検
索”、及び論理条件“and(……,……)に分解され
る。この時、各条件式中のキーワードは、先にオートマ
トン生成に際して付与されたキーワード識別子(ターム
識別子とも呼ぶ)で置き換えられる。したがって、近傍
条件は“T1〔4C]T2”と、文脈条件は“T1
〔S〕T3”という形式で表される。また、これらの条
件式にもそれぞれ項識別子I1及びI2が付与される。
したがって、論理条件式は“and(I1,I2)”と
表されることになる。以上の処理は、それぞれ近傍条件
解析プログラム2542(図25)、文脈条件解析プロ
グラム2543(図25)及び論理条件解析プログラム
(図25)2544にて行われる。このようにしてター
ム識別子及び項識別子で表現された各条件は、複合条件
判定プログラム2545(図25)の各条件判定処理プ
ログラムに送られる。
【0117】こうしてサーチエンジン1106に各検索
ターム照合用のオートマトン状態遷移テーブル及び検索
ターム識別子情報が設定され、近傍条件判定プログラム
330、文脈条件判定プログラム340、及び論理条件
判定プログラム350にそれぞれ検索ターム識別子及び
項識別子で記述された各条件式が設定されると、検索実
行制御プログラム1108により集合型磁気ディスク装
置1110c、サーチエンジン1106、複合条件解析
プログラム1145、近傍条件判定プログラム330、
文脈条件判定プログラム340、及び論理条件判定プロ
グラム350に起動が掛けられる。
ターム照合用のオートマトン状態遷移テーブル及び検索
ターム識別子情報が設定され、近傍条件判定プログラム
330、文脈条件判定プログラム340、及び論理条件
判定プログラム350にそれぞれ検索ターム識別子及び
項識別子で記述された各条件式が設定されると、検索実
行制御プログラム1108により集合型磁気ディスク装
置1110c、サーチエンジン1106、複合条件解析
プログラム1145、近傍条件判定プログラム330、
文脈条件判定プログラム340、及び論理条件判定プロ
グラム350に起動が掛けられる。
【0118】そうすると、集合型磁気ディスク装置11
10cからはテキストデータが読み出されサーチエンジ
ン1106へ送られる。サーチエンジン1106では、
指定された検索ターム「文書」、「理解」及び「検索」
のどれかが見つかると、その検索ターム識別子T1,T
2及びT3が見つかったテキスト内の位置情報と一緒に
近傍条件判定プログラム330へ送られる。また、文間
の区切り記号となる「。」についても、とくにユーザか
らの指定がなくともサーチエンジン1106で検出しこ
れに対応する句点識別子T0並びに位置情報を近傍条件
判定プログラム330に送り出す。
10cからはテキストデータが読み出されサーチエンジ
ン1106へ送られる。サーチエンジン1106では、
指定された検索ターム「文書」、「理解」及び「検索」
のどれかが見つかると、その検索ターム識別子T1,T
2及びT3が見つかったテキスト内の位置情報と一緒に
近傍条件判定プログラム330へ送られる。また、文間
の区切り記号となる「。」についても、とくにユーザか
らの指定がなくともサーチエンジン1106で検出しこ
れに対応する句点識別子T0並びに位置情報を近傍条件
判定プログラム330に送り出す。
【0119】近傍条件判定プログラム330では、サー
チエンジン1106から送られてくる検索ターム識別子
をその位置情報も加味して指定された近傍条件と照らし
合わせる。もし指定近傍条件“T1〔4C〕T2”、す
なわち“文書〔4C〕理解”に合致するものがあれば、
その照合結果として該当条件に対応した項識別子I1
を、サーチエンジン1106から入力した句点識別子T
0、検索ターム識別子T1,T2及びT3に加えて文脈
条件判定プログラム340へ送り出す。
チエンジン1106から送られてくる検索ターム識別子
をその位置情報も加味して指定された近傍条件と照らし
合わせる。もし指定近傍条件“T1〔4C〕T2”、す
なわち“文書〔4C〕理解”に合致するものがあれば、
その照合結果として該当条件に対応した項識別子I1
を、サーチエンジン1106から入力した句点識別子T
0、検索ターム識別子T1,T2及びT3に加えて文脈
条件判定プログラム340へ送り出す。
【0120】文脈条件判定プログラム340では、上記
近傍条件判定プログラム330から入力した句点識別子
T0及び検索ターム識別子T1,T3並びにその位置情
報を基に、指定文脈条件をチェックする。文脈条件“T
1[S〕T3”は、上記句点識別子T0と、T1及びT
3の並びから判定する。すなわち、T1とT3がこの順
序でその前後を二つのT0で挟まれていれば文脈条件
“T1〔S〕T3”が成立したものと判断する。もしこ
の文脈条件“文書〔S〕検索”に合致するものが見つか
れば、その照合結果として該当条件に対応した項識別子
I2を、近傍条件判定プログラム330から入力した句
点識別子T0、及び検索ターム識別子T1,T3並びに
項識別子I1に加えて論理条件判定プログラム350に
送り出す。
近傍条件判定プログラム330から入力した句点識別子
T0及び検索ターム識別子T1,T3並びにその位置情
報を基に、指定文脈条件をチェックする。文脈条件“T
1[S〕T3”は、上記句点識別子T0と、T1及びT
3の並びから判定する。すなわち、T1とT3がこの順
序でその前後を二つのT0で挟まれていれば文脈条件
“T1〔S〕T3”が成立したものと判断する。もしこ
の文脈条件“文書〔S〕検索”に合致するものが見つか
れば、その照合結果として該当条件に対応した項識別子
I2を、近傍条件判定プログラム330から入力した句
点識別子T0、及び検索ターム識別子T1,T3並びに
項識別子I1に加えて論理条件判定プログラム350に
送り出す。
【0121】論理条件判定プログラム350では、文脈
条件判定プログラム340から送られてくる句点識別子
T0及び検索ターム識別子T1,T3並びに項識別子I
1,I2の中から指定論理条件“and(I1,I
2)”に合致する識別子I1,I2があるかどうか調べ
る。すなわち、項識別子I1とI2の両者が見つかれば
大元の複合条件検索式Qが成り立ったことになり、その
テキスト(文書)は検索式Qで検索されたことになる。
該当テキストの例としては、同図に示したテキスト30
2のようなものが検索されることになる。
条件判定プログラム340から送られてくる句点識別子
T0及び検索ターム識別子T1,T3並びに項識別子I
1,I2の中から指定論理条件“and(I1,I
2)”に合致する識別子I1,I2があるかどうか調べ
る。すなわち、項識別子I1とI2の両者が見つかれば
大元の複合条件検索式Qが成り立ったことになり、その
テキスト(文書)は検索式Qで検索されたことになる。
該当テキストの例としては、同図に示したテキスト30
2のようなものが検索されることになる。
【0122】一方、上記集合型磁気ディスク装置111
0cから、サーチエンジン1106、近傍条件判定プロ
グラム330、文脈条件判定プログラム340及び論理
条件判定プログラム350へ流れる照合情報の中にはこ
れまで説明しなかったテキストデータの識別子も含まれ
ている。すなわち、論理条件判定プログラム350では
検索式Qが成立したテキストデータについては、その文
書識別子を次段の検索結果表示プログラムへ送られ、こ
こでヒット件数が表示されたり、あるいはこの文書識別
子をもとに集合型磁気ディスク装置1110cから該当
文書の書誌事項が読み出され、これがディスプレイ11
20へ表示されることになる。
0cから、サーチエンジン1106、近傍条件判定プロ
グラム330、文脈条件判定プログラム340及び論理
条件判定プログラム350へ流れる照合情報の中にはこ
れまで説明しなかったテキストデータの識別子も含まれ
ている。すなわち、論理条件判定プログラム350では
検索式Qが成立したテキストデータについては、その文
書識別子を次段の検索結果表示プログラムへ送られ、こ
こでヒット件数が表示されたり、あるいはこの文書識別
子をもとに集合型磁気ディスク装置1110cから該当
文書の書誌事項が読み出され、これがディスプレイ11
20へ表示されることになる。
【0123】次に、本発明が提供するフルテキストサー
チ方式について具体的に説明する。本発明においては、
スキャン型のフルテキストサーチを加速する方法とし
て、2段階のプリサーチ、すなわち図15に示す文字成
分表サーチ402と凝縮本文サーチ403を行スクに格
納されたテキスト本文を参照しに行く件数を予め絞り込
んでおく。こうすることによって、検索処理時間に占め
る割合が高い本文検索処理量を減らすことができ、全体
の検索処理時間を短縮することが可能となる。
チ方式について具体的に説明する。本発明においては、
スキャン型のフルテキストサーチを加速する方法とし
て、2段階のプリサーチ、すなわち図15に示す文字成
分表サーチ402と凝縮本文サーチ403を行スクに格
納されたテキスト本文を参照しに行く件数を予め絞り込
んでおく。こうすることによって、検索処理時間に占め
る割合が高い本文検索処理量を減らすことができ、全体
の検索処理時間を短縮することが可能となる。
【0124】これらは全て検索実行制御プログラムによ
って制御される。先ず、第1段階目のプリサーチである
文字成分表サーチの実施例について説明する。
って制御される。先ず、第1段階目のプリサーチである
文字成分表サーチの実施例について説明する。
【0125】本文字成分表サーチでは、図16の登録処
理全体の流れ及び図18に詳細に示したハッシュコード
化手順に示すように、後述する凝縮本文中のすべての文
字コードに対してその文字コードをテキスト中に含む文
書のリストを作成しておく。
理全体の流れ及び図18に詳細に示したハッシュコード
化手順に示すように、後述する凝縮本文中のすべての文
字コードに対してその文字コードをテキスト中に含む文
書のリストを作成しておく。
【0126】すなわち、各文字コードの文書毎の有無を
1ビットの情報(ビットリストと呼ぶ)で表し、更にこ
れをハッシュ化したものを文字成分表500として持
つ。
1ビットの情報(ビットリストと呼ぶ)で表し、更にこ
れをハッシュ化したものを文字成分表500として持
つ。
【0127】例えば、「検索」というキーワードが指定
された場合には、図18に示すように「検」と「索」の
それぞれの文字毎にハッシュ関数510を介して文字成
分表500のエントリアドレスを求める。そして、それ
ぞれの文字コードのハッシュ値から求められたビットリ
スト503および506のビット間の論理積を取ること
によって、「検」と「索」の両文字を含む文献のビット
リスト520が求められる。
された場合には、図18に示すように「検」と「索」の
それぞれの文字毎にハッシュ関数510を介して文字成
分表500のエントリアドレスを求める。そして、それ
ぞれの文字コードのハッシュ値から求められたビットリ
スト503および506のビット間の論理積を取ること
によって、「検」と「索」の両文字を含む文献のビット
リスト520が求められる。
【0128】以上の文字成分表サーチの処理手順は図2
3に示したとおりである。すなわち、指定された検索条
件式中に含まれるキーワード数分だけ文字成分表サーチ
を繰返し、各キーワードの文字成分表サーチでは、この
キーワードを構成する文字数分、それぞれの文字の存在
を示したビットリストの論理積ANDをとることにな
る。この結果、各キーワード毎に、これを含む可能性を
持った文書候補がビットリストの形で求まることにな
る。最後に、こうして求まったビットリストを文書識別
子へ変換する。この文書識別子はシステム内部でユニー
クに定められた文書番号であり、ビットリストの先頭か
らビット位置に対応して付与されている。
3に示したとおりである。すなわち、指定された検索条
件式中に含まれるキーワード数分だけ文字成分表サーチ
を繰返し、各キーワードの文字成分表サーチでは、この
キーワードを構成する文字数分、それぞれの文字の存在
を示したビットリストの論理積ANDをとることにな
る。この結果、各キーワード毎に、これを含む可能性を
持った文書候補がビットリストの形で求まることにな
る。最後に、こうして求まったビットリストを文書識別
子へ変換する。この文書識別子はシステム内部でユニー
クに定められた文書番号であり、ビットリストの先頭か
らビット位置に対応して付与されている。
【0129】また、文字成分表サーチにおいて、指定さ
れた検索条件式中に論理積条件(AND)が設定されて
いる場合には、文字成分表サーチ処理の中で論理積条件
の処理も行い、これ以降の検索処理対象文書件数を絞り
込んでおくことによって、全体の検索処理時間を短縮す
ることが可能となる。
れた検索条件式中に論理積条件(AND)が設定されて
いる場合には、文字成分表サーチ処理の中で論理積条件
の処理も行い、これ以降の検索処理対象文書件数を絞り
込んでおくことによって、全体の検索処理時間を短縮す
ることが可能となる。
【0130】例えば、 “Q=and(文書、検索)” という検索条件式が入力された場合について説明する。
この検索条件式は、“文書”と“検索”が両方共表われ
る文書を検索する意味を表す。この場合、まずキーワー
ド“文書”にいて文字成分表サーチを行い、次に“検
索”というキーワードについて文字成分表サーチを行
う。その後、この両者の検索結果のビットリスト間の相
互のビット毎の論理積ANDをとり、文字成分表サーチ
の最終的な検索結果とする。この処理手順を図24に示
す。本図では、検索条件式中に含まれるキーワード、す
なわちキーワード数分文字成分表サーチを繰り返すこと
になる。
この検索条件式は、“文書”と“検索”が両方共表われ
る文書を検索する意味を表す。この場合、まずキーワー
ド“文書”にいて文字成分表サーチを行い、次に“検
索”というキーワードについて文字成分表サーチを行
う。その後、この両者の検索結果のビットリスト間の相
互のビット毎の論理積ANDをとり、文字成分表サーチ
の最終的な検索結果とする。この処理手順を図24に示
す。本図では、検索条件式中に含まれるキーワード、す
なわちキーワード数分文字成分表サーチを繰り返すこと
になる。
【0131】そして、この各キーワード毎の文字成分表
サーチにおいては、このキーワードを構成する文字数
分、それぞれの文字の存在を示したビットリストの論理
積ANDをとる。この処理を、全キーワード数分行った
後、各キーワードの文字成分表サーチ結果のビットリス
ト間の論理積ANDをとる。こうして得られた最終ビッ
トリストは、検索条件式中の論理積条件で指定されたキ
ーワードを同時に含みうる文書候補を表すことになる。
サーチにおいては、このキーワードを構成する文字数
分、それぞれの文字の存在を示したビットリストの論理
積ANDをとる。この処理を、全キーワード数分行った
後、各キーワードの文字成分表サーチ結果のビットリス
ト間の論理積ANDをとる。こうして得られた最終ビッ
トリストは、検索条件式中の論理積条件で指定されたキ
ーワードを同時に含みうる文書候補を表すことになる。
【0132】以上の処理のように、指定された検索条件
式中に論理積条件(AND)が設定されている場合に
は、文字成分表サーチ処理の中で論理積条件の処理も行
い、これ以降の検索処理対象文書件数を絞り込むことに
よって、全体の検索処理時間を短縮することが可能とな
る。
式中に論理積条件(AND)が設定されている場合に
は、文字成分表サーチ処理の中で論理積条件の処理も行
い、これ以降の検索処理対象文書件数を絞り込むことに
よって、全体の検索処理時間を短縮することが可能とな
る。
【0133】この文字成分表500は、各文字コードの
文献毎の有無を1ビットの情報で表すと共に、更にこれ
をハッシュ化しているため、テーブル容量は原デキスト
データの数十分の十になり、サーチすべきデータ容量も
極めて小さくなり、検索の高速化に大きく寄与すること
になる。ただし、この文字成分表サーチだけではノイズ
が生じてしまう。すなわち、検索処理手順を示す図17
の文書3の様に「検」と「索」がばらばらに表れるテキ
ストも検索されてしまうことになる。このノイズを消去
するのが第二のプレサーチ、すなわち、凝縮本文サーチ
である。
文献毎の有無を1ビットの情報で表すと共に、更にこれ
をハッシュ化しているため、テーブル容量は原デキスト
データの数十分の十になり、サーチすべきデータ容量も
極めて小さくなり、検索の高速化に大きく寄与すること
になる。ただし、この文字成分表サーチだけではノイズ
が生じてしまう。すなわち、検索処理手順を示す図17
の文書3の様に「検」と「索」がばらばらに表れるテキ
ストも検索されてしまうことになる。このノイズを消去
するのが第二のプレサーチ、すなわち、凝縮本文サーチ
である。
【0134】第二のプリサーチである凝縮本文サーチで
は、凝縮本文を対象に検索を行う。凝縮本文は、予めテ
キスト本文の中から助詞や接続詞などの付属語を削除す
ると共に繰り返し現れる単語の重複を排除したものであ
る。図19にこの凝縮本文の作成方法を示す。
は、凝縮本文を対象に検索を行う。凝縮本文は、予めテ
キスト本文の中から助詞や接続詞などの付属語を削除す
ると共に繰り返し現れる単語の重複を排除したものであ
る。図19にこの凝縮本文の作成方法を示す。
【0135】ここでは、「あいまい検索のための知的検
索技術」601というテキスト文字列を例にとる。先ず
最初に文字種分割処理610において、入力文字列を異
なる文字種の間で分割する。この例では、「あいま
い」、「検索」、「のための」および「知的検索技術」
の4つの文字列602に分解される。
索技術」601というテキスト文字列を例にとる。先ず
最初に文字種分割処理610において、入力文字列を異
なる文字種の間で分割する。この例では、「あいま
い」、「検索」、「のための」および「知的検索技術」
の4つの文字列602に分解される。
【0136】次に付属語解析処理620において、文字
種分割された文字列602のうち、ひらがな文字列「あ
いまい」と「のための」に対して付属語解析を加え、付
属語と解釈できるものは検索には用いられない言葉とし
て取り除く。すなわち、助詞や接続詞とみなせるものに
ついては捨ててしまう。このような言葉は、もし検索の
キーワードとして用いたとしても、ほとんど全ての文書
に現れるため、ほぼ全件がヒットしてしまうことにな
り、検索という意味をなさないことになる。この例で
は、ひらがな文字列「のための」603が助詞「の」
と、接続詞「ため」及び助詞「の」と、すべての部分文
字列が不要語と解釈できるので、検索には使われ得ない
文字列とみなして除去する。一方、「あいまい」は付属
語と解釈することができないので、そのまま凝縮本文と
して残す。この場合、「あいまい」を名詞として認識し
て残しているのではない。したがって、どのような新語
が文書に現れようとも、必ず凝縮本文に登録されること
になる。
種分割された文字列602のうち、ひらがな文字列「あ
いまい」と「のための」に対して付属語解析を加え、付
属語と解釈できるものは検索には用いられない言葉とし
て取り除く。すなわち、助詞や接続詞とみなせるものに
ついては捨ててしまう。このような言葉は、もし検索の
キーワードとして用いたとしても、ほとんど全ての文書
に現れるため、ほぼ全件がヒットしてしまうことにな
り、検索という意味をなさないことになる。この例で
は、ひらがな文字列「のための」603が助詞「の」
と、接続詞「ため」及び助詞「の」と、すべての部分文
字列が不要語と解釈できるので、検索には使われ得ない
文字列とみなして除去する。一方、「あいまい」は付属
語と解釈することができないので、そのまま凝縮本文と
して残す。この場合、「あいまい」を名詞として認識し
て残しているのではない。したがって、どのような新語
が文書に現れようとも、必ず凝縮本文に登録されること
になる。
【0137】最後に、重複登録排除処理630におい
て、不要語として除去された残りの文字列群602の中
に、同じ言葉がないかどうかを調べる。もし、同じもの
があれば二重登録しないように次のものを捨ててしま
う。まったく同じでなくとも、どちらかの文字列がもう
一方の文字列に含まれていれば、その含まれる文字列は
不要であるので捨ててしまう。本図の例では、「検索」
が「知的検索技術」に含まれるため、重複登録排除とい
うことで切り落とされる。その結果、凝縮本文として最
終的に、「あいまい」、「検索」及び「技術」が残るこ
とになる。このように、凝縮本文は単語単位で原文書を
情報圧縮したことになるため、この凝縮本文をサーチす
ることによって、例えば「検索」と連続した文字列、す
なわち単語としてキーワードが現れる文書のみを拾い出
すことが可能になる。
て、不要語として除去された残りの文字列群602の中
に、同じ言葉がないかどうかを調べる。もし、同じもの
があれば二重登録しないように次のものを捨ててしま
う。まったく同じでなくとも、どちらかの文字列がもう
一方の文字列に含まれていれば、その含まれる文字列は
不要であるので捨ててしまう。本図の例では、「検索」
が「知的検索技術」に含まれるため、重複登録排除とい
うことで切り落とされる。その結果、凝縮本文として最
終的に、「あいまい」、「検索」及び「技術」が残るこ
とになる。このように、凝縮本文は単語単位で原文書を
情報圧縮したことになるため、この凝縮本文をサーチす
ることによって、例えば「検索」と連続した文字列、す
なわち単語としてキーワードが現れる文書のみを拾い出
すことが可能になる。
【0138】このようにして作成された凝縮本文は、原
テキストと比較しその約20〜25%に容量が減じられ
る。したがって、フルテキストサーチを等価的に約5倍
高速化できることになる。さらに、この凝縮本文を半導
体メモリなどの高速アクセスが可能なメモリ上に置くこ
とによって、さらに等価スキャン速度を高めることが可
能となる。
テキストと比較しその約20〜25%に容量が減じられ
る。したがって、フルテキストサーチを等価的に約5倍
高速化できることになる。さらに、この凝縮本文を半導
体メモリなどの高速アクセスが可能なメモリ上に置くこ
とによって、さらに等価スキャン速度を高めることが可
能となる。
【0139】また、本凝縮本文の作成方式は、キーワー
ド辞書などを用いて検索に必要とする単語を切り出して
くる方法と異なり、辞書を用いず文法的に解析し得る不
要語だけを除去する方法を用いているために、必要な単
語を切り落してしまう危険性がなく、検索漏れが生じに
くい特徴がある。従来の検索方式ではキーワード辞書に
登録されていない新語などが採取できないことにより検
索漏れが生じたりするが、本方式では新語であっても凝
縮本文から落ちることがないため、新語ということによ
る検索漏れが生じることはない。
ド辞書などを用いて検索に必要とする単語を切り出して
くる方法と異なり、辞書を用いず文法的に解析し得る不
要語だけを除去する方法を用いているために、必要な単
語を切り落してしまう危険性がなく、検索漏れが生じに
くい特徴がある。従来の検索方式ではキーワード辞書に
登録されていない新語などが採取できないことにより検
索漏れが生じたりするが、本方式では新語であっても凝
縮本文から落ちることがないため、新語ということによ
る検索漏れが生じることはない。
【0140】また、この凝縮本文検索は、サーチエンジ
ン1106(図10)を用いて行われ、この後この凝縮
本文検索の結果絞り込まれた文書について、該当する本
文データをサーチし最後の複合条件による検索を行うこ
とになる。すなわち、本文サーチではテキスト本体をス
キャンしなければ判定ができない近傍条件と文脈条件の
判定処理を行いながら検索をすることになる。
ン1106(図10)を用いて行われ、この後この凝縮
本文検索の結果絞り込まれた文書について、該当する本
文データをサーチし最後の複合条件による検索を行うこ
とになる。すなわち、本文サーチではテキスト本体をス
キャンしなければ判定ができない近傍条件と文脈条件の
判定処理を行いながら検索をすることになる。
【0141】通常、文字成分表と凝縮本文は、本文デー
タと共に集合型磁気ディスク装置1110c(図3)に
格納されていて、検索システムの立ち上げ時にそれぞれ
半導体メモリ装置1110a及びRAMディスク装置1
110bヘローディンされる。検索時には、それぞれ半
導体メモリ装置1110a及びRAMディスク装置11
10bから読み出されることになる。また、本文データ
は格納元の集合型磁気ディスク装置1110c(図1
3)から直接読み出されて、検索されることになる。
タと共に集合型磁気ディスク装置1110c(図3)に
格納されていて、検索システムの立ち上げ時にそれぞれ
半導体メモリ装置1110a及びRAMディスク装置1
110bヘローディンされる。検索時には、それぞれ半
導体メモリ装置1110a及びRAMディスク装置11
10bから読み出されることになる。また、本文データ
は格納元の集合型磁気ディスク装置1110c(図1
3)から直接読み出されて、検索されることになる。
【0142】以上説明したように、事前に「文字成分表
サーチ」と「凝縮本文サーチ」という2段階のプリサー
チを行い、最も時間を要する「本文サーチ」の対象とな
る文書数を予め最小に絞り込んでおくことによって、等
価的に高速なフルテキストサーチが実現できるようにな
る。
サーチ」と「凝縮本文サーチ」という2段階のプリサー
チを行い、最も時間を要する「本文サーチ」の対象とな
る文書数を予め最小に絞り込んでおくことによって、等
価的に高速なフルテキストサーチが実現できるようにな
る。
【0143】本文検索では、テキストデータをスキャン
しなければ判別ができない近傍条件と文脈条件の判別処
理を加えて検索を行うことになる。通常、文字成分表及
び凝縮本文は集合磁気ディスクに格納されているが、シ
ステムの立上時にRAMディスクにロードされ、検索時
にはRAMディスクから読み出される。テキスト本文は
集合磁気ディスク装置2510(図25)から読み出さ
れることになる。
しなければ判別ができない近傍条件と文脈条件の判別処
理を加えて検索を行うことになる。通常、文字成分表及
び凝縮本文は集合磁気ディスクに格納されているが、シ
ステムの立上時にRAMディスクにロードされ、検索時
にはRAMディスクから読み出される。テキスト本文は
集合磁気ディスク装置2510(図25)から読み出さ
れることになる。
【0144】このように、事前に2段階のプリサーチを
行い、最も時間を要する本文検索の対象となる文献数を
予め最小に絞り込んでおくことによって、等価的に高速
なフルテキストサーチが実現できることになる。
行い、最も時間を要する本文検索の対象となる文献数を
予め最小に絞り込んでおくことによって、等価的に高速
なフルテキストサーチが実現できることになる。
【0145】この3段階検索では、近傍条件検索と文脈
条件検索が指定されなかった場合には、本文をサーチす
る必要がないので、文字成分表サーチと凝縮本文サーチ
だけで検索を終了することができる。すなわち、図21
に示すように、指定検索条件式中に近傍条件あるいは文
脈条件が含まれない場合には、キーワードが単語として
存在するか杏かだけを探索すればよいことになるため、
文字成分表サーチで指定キーワードを構成する文字を含
む文書を抽出し、その結果求められた文書の凝縮本文を
サーチしてキーワードが単語として含まれるもののみを
抽出し、検索を終えることができる。この結果、サーチ
時間が掛かる不要な本文サーチを省略できるため、検索
時間を全体として短縮することが可能となる。
条件検索が指定されなかった場合には、本文をサーチす
る必要がないので、文字成分表サーチと凝縮本文サーチ
だけで検索を終了することができる。すなわち、図21
に示すように、指定検索条件式中に近傍条件あるいは文
脈条件が含まれない場合には、キーワードが単語として
存在するか杏かだけを探索すればよいことになるため、
文字成分表サーチで指定キーワードを構成する文字を含
む文書を抽出し、その結果求められた文書の凝縮本文を
サーチしてキーワードが単語として含まれるもののみを
抽出し、検索を終えることができる。この結果、サーチ
時間が掛かる不要な本文サーチを省略できるため、検索
時間を全体として短縮することが可能となる。
【0146】また、この3段階の階層検索において、最
初の文字成分表サーチ結果がゼロ件で該当文書がなかっ
た場合には、ここで検索を打ち切ることが可能である。
すなわち、図22に示すように、近傍条件あるいは文脈
条件が設定されていたとしても、次段の凝縮本文サーチ
とその後の本文サーチを省略することができる。同様
に、凝縮本文サーチ結果件数がゼロ件の場合には、たと
え近傍条件あるいは文脈条件が設定されていたとして
も、次段の本文サーチを省略することが可能である。こ
の結果、入力された検索条件式に応じて最小の時間で検
索処理を済ませることが可能となる。
初の文字成分表サーチ結果がゼロ件で該当文書がなかっ
た場合には、ここで検索を打ち切ることが可能である。
すなわち、図22に示すように、近傍条件あるいは文脈
条件が設定されていたとしても、次段の凝縮本文サーチ
とその後の本文サーチを省略することができる。同様
に、凝縮本文サーチ結果件数がゼロ件の場合には、たと
え近傍条件あるいは文脈条件が設定されていたとして
も、次段の本文サーチを省略することが可能である。こ
の結果、入力された検索条件式に応じて最小の時間で検
索処理を済ませることが可能となる。
【0147】以上説明した階層型のプリサーチでは、半
導体メモリ上に置いた文字成分表と凝縮本文で絞り込み
を行い、最後に本文を集合磁気ディスク装置から読み出
して検索を行う方式としている。このように凝縮本文を
半導体メモリに置く方式では、半導体メモリを用いる分
検索装置のコストが高くなる。したがって、凝縮本文を
磁気ディスク装置上に置いて検索を行うことにより、半
導体メモリを不要とすることができ、装置のコストを低
く抑えることが可能となる。
導体メモリ上に置いた文字成分表と凝縮本文で絞り込み
を行い、最後に本文を集合磁気ディスク装置から読み出
して検索を行う方式としている。このように凝縮本文を
半導体メモリに置く方式では、半導体メモリを用いる分
検索装置のコストが高くなる。したがって、凝縮本文を
磁気ディスク装置上に置いて検索を行うことにより、半
導体メモリを不要とすることができ、装置のコストを低
く抑えることが可能となる。
【0148】ただし、文字成分表サーチで絞り込んだ結
果で凝縮本文サーチを行う場合、凝縮本文を集合磁気デ
ィスク装置上から選択的に読み出すことになる。この場
合、比較的小容量の多数のデータをアクセスすることに
なるため、集合磁気ディスク装置からの実効的な読み出
し速度、すなわちスループットは、データの読み出し時
間よりも、むしろシーク時間に大きく影響されることに
なる。したがって、文字成分表サーチの結果件数が多い
場合には、アクセス時間が極めて短い半導体メモリ上に
凝縮本文を置いた場合に比較して、凝縮本文サーチ時間
が極めて大きくなることになる。このような場合には、
凝縮本文を選択的に拾い読みするより、全件を1ファイ
ルとしてまとめ読みする方がシーク回数を減少させるこ
とができるため、はるかに短時間で読み出しを行うこと
が可能となる。
果で凝縮本文サーチを行う場合、凝縮本文を集合磁気デ
ィスク装置上から選択的に読み出すことになる。この場
合、比較的小容量の多数のデータをアクセスすることに
なるため、集合磁気ディスク装置からの実効的な読み出
し速度、すなわちスループットは、データの読み出し時
間よりも、むしろシーク時間に大きく影響されることに
なる。したがって、文字成分表サーチの結果件数が多い
場合には、アクセス時間が極めて短い半導体メモリ上に
凝縮本文を置いた場合に比較して、凝縮本文サーチ時間
が極めて大きくなることになる。このような場合には、
凝縮本文を選択的に拾い読みするより、全件を1ファイ
ルとしてまとめ読みする方がシーク回数を減少させるこ
とができるため、はるかに短時間で読み出しを行うこと
が可能となる。
【0149】したがって、検索装置のコストを低減する
ために、凝縮本文を半導体メモリではなく磁気ディスク
装置上に置いたまま検索する場合、図20Aに示すよう
な手順で検索を行うことによって、検索速度を大きく落
とすとこなく検索を行うことが可能となる。すなわち、
文字成分表サーチの結果件数が所定件数よりも多い場合
には、この文字成分表サーチの検索結果を無視して、新
たに凝縮本文を全件集合磁気ディスク装置から読み出し
て指定キーワードの存在を検索する。もし、文字成分表
サーチの結果件数が所定件数よりも少ない場合には、集
合磁気ディスク装置上の該当凝縮本文を選択的に読み出
して凝縮本文サーチを行う。
ために、凝縮本文を半導体メモリではなく磁気ディスク
装置上に置いたまま検索する場合、図20Aに示すよう
な手順で検索を行うことによって、検索速度を大きく落
とすとこなく検索を行うことが可能となる。すなわち、
文字成分表サーチの結果件数が所定件数よりも多い場合
には、この文字成分表サーチの検索結果を無視して、新
たに凝縮本文を全件集合磁気ディスク装置から読み出し
て指定キーワードの存在を検索する。もし、文字成分表
サーチの結果件数が所定件数よりも少ない場合には、集
合磁気ディスク装置上の該当凝縮本文を選択的に読み出
して凝縮本文サーチを行う。
【0150】この場合の所定件数とは、凝縮本文をこの
所定件数分選択的に読み出す時間と、凝縮本文を全件一
つのファイルとして連続的に読み出す時間が等しくなる
ような読み出し件数のことである。また、この場合も当
然凝縮本文サーチ結果件数がゼロ件の場合には、近傍条
件及び文脈条件の設定の有無にかかわらず、ここで検索
処理を打ち切ることが可能である。
所定件数分選択的に読み出す時間と、凝縮本文を全件一
つのファイルとして連続的に読み出す時間が等しくなる
ような読み出し件数のことである。また、この場合も当
然凝縮本文サーチ結果件数がゼロ件の場合には、近傍条
件及び文脈条件の設定の有無にかかわらず、ここで検索
処理を打ち切ることが可能である。
【0151】また、本文データの容量が小さい場合に
は、一般的に冗長な文章が少ないため、凝縮本文の大き
な圧縮率は望めない。したがって、ファイルの読み出し
時間においてディスクのシーク時間と回転待ち時間が支
配的なことを考慮すれば、凝縮本文の読み出し時間と本
文の読み出し時間に大きな差が生じなくなることにな
る。すなわち、文字成分表サーチの結果件数が所定件数
よりも少ない場合には、図22Bに示すように集合型磁
気ディスク装置上の該当本文データを選択的に読み出し
て本文サーチを行う方が効率的になる。つまり、最初の
文字成分表サーチの結果件数が所定件数よりも多い場合
には、この文字成分表サーチの検索結果を無視して、新
たに凝縮本文を全件集合型磁気ディスク装置から読み出
して指定キーワードの存在を検索する。この場合、当該
凝縮本文サーチ結果件数がゼロ件の場合には、近傍条件
及び文脈条件の設定の有無にかかわらず、ここで検索処
理を打ち切る。ゼロ件でない場合には、条件式中に近傍
条件あるいは文脈条件が設定されているかを見て、もし
設定されているときには本文サーチを行うことになる。
一方、文字成分表サーチの結果件数が所定件数よりも少
ない場合には、集合型磁気ディスク装置上の該当本文を
選択的に読み出して近傍条件及び文脈条件を含めて本文
サーチを行うことになる。このような検索手順を踏むこ
とによって、文書データの平均容量が小さい場合には、
さらに効率的な検索が行えるようになる。
は、一般的に冗長な文章が少ないため、凝縮本文の大き
な圧縮率は望めない。したがって、ファイルの読み出し
時間においてディスクのシーク時間と回転待ち時間が支
配的なことを考慮すれば、凝縮本文の読み出し時間と本
文の読み出し時間に大きな差が生じなくなることにな
る。すなわち、文字成分表サーチの結果件数が所定件数
よりも少ない場合には、図22Bに示すように集合型磁
気ディスク装置上の該当本文データを選択的に読み出し
て本文サーチを行う方が効率的になる。つまり、最初の
文字成分表サーチの結果件数が所定件数よりも多い場合
には、この文字成分表サーチの検索結果を無視して、新
たに凝縮本文を全件集合型磁気ディスク装置から読み出
して指定キーワードの存在を検索する。この場合、当該
凝縮本文サーチ結果件数がゼロ件の場合には、近傍条件
及び文脈条件の設定の有無にかかわらず、ここで検索処
理を打ち切る。ゼロ件でない場合には、条件式中に近傍
条件あるいは文脈条件が設定されているかを見て、もし
設定されているときには本文サーチを行うことになる。
一方、文字成分表サーチの結果件数が所定件数よりも少
ない場合には、集合型磁気ディスク装置上の該当本文を
選択的に読み出して近傍条件及び文脈条件を含めて本文
サーチを行うことになる。このような検索手順を踏むこ
とによって、文書データの平均容量が小さい場合には、
さらに効率的な検索が行えるようになる。
【0152】このように、文字成分表サーチの結果件数
に応じて凝縮本文の読み出し方法を変えることによっ
て、凝縮本文を集合磁気ディスク装置上に置いても、検
索時間を大幅に増やすことなく検索処理ができるように
なるため、低価格で高性能な全文検索装置の提供が可能
となる。
に応じて凝縮本文の読み出し方法を変えることによっ
て、凝縮本文を集合磁気ディスク装置上に置いても、検
索時間を大幅に増やすことなく検索処理ができるように
なるため、低価格で高性能な全文検索装置の提供が可能
となる。
【0153】次に本発明による同義語展開及び異表記展
開の変形例について説明する。
開の変形例について説明する。
【0154】図28は本発明の実施例の構成を示すブロ
ック図である。本実施例は、コンソール2800、対話
制御部2801、異表記展開処理部2802及び280
5、同義語展開処理部2803、同義語辞書ファイル2
804、文字列統合列部2806、文字列検索処理部2
807、テキストデータベース2808から構成されて
いる。コンソール2800から入力された検索文字列4
0は、対話制御部2801を介して異表記展開処理部2
802へ送られる。異表記展開処理部2802で展開し
た文字列群41は、同義語展開処理部2803へ送られ
ると共に、文字列統合処理部2806へも送られる。同
義語展開処理部2803では、同義語辞書2804を参
照し送られてきた文字列群41の各文字列と辞書の見出
しとのマッチングをとり、一致した文字列が存在すれ
ば、同義語展開モード制御信号2810に従い、辞書に
記載してある見出しに対応する言葉を出力し、異表記展
開処理部2805へ文字列群42を送る。異表記展開処
理部2805では、同義語展開された文字列42に対
し、異表記展開処理部2803と全く同じ処理方法で異
表記展開して、文字列群43を文字列統合処理部280
6へ出力する。文字列統合処理部2806は、異表記展
開処理部2802と2805から受け取った文字列群4
1と文字列群43を、一つの文字列群44にまとめて文
字列検索部2807へ出力する。文字列検索部2807
は、受け取った文字列群44のうちのいずれかの文字列
が存在するものをテキストDBから検索して、ヒットし
た文書の識別子情報などを、対話制御部2801へ検索
結果45として出力する。対話制御部2801は、この
検索結果45を受けて、検索結果件数46や、テキスト
情報46を適宜コンソール2800へ出力する。
ック図である。本実施例は、コンソール2800、対話
制御部2801、異表記展開処理部2802及び280
5、同義語展開処理部2803、同義語辞書ファイル2
804、文字列統合列部2806、文字列検索処理部2
807、テキストデータベース2808から構成されて
いる。コンソール2800から入力された検索文字列4
0は、対話制御部2801を介して異表記展開処理部2
802へ送られる。異表記展開処理部2802で展開し
た文字列群41は、同義語展開処理部2803へ送られ
ると共に、文字列統合処理部2806へも送られる。同
義語展開処理部2803では、同義語辞書2804を参
照し送られてきた文字列群41の各文字列と辞書の見出
しとのマッチングをとり、一致した文字列が存在すれ
ば、同義語展開モード制御信号2810に従い、辞書に
記載してある見出しに対応する言葉を出力し、異表記展
開処理部2805へ文字列群42を送る。異表記展開処
理部2805では、同義語展開された文字列42に対
し、異表記展開処理部2803と全く同じ処理方法で異
表記展開して、文字列群43を文字列統合処理部280
6へ出力する。文字列統合処理部2806は、異表記展
開処理部2802と2805から受け取った文字列群4
1と文字列群43を、一つの文字列群44にまとめて文
字列検索部2807へ出力する。文字列検索部2807
は、受け取った文字列群44のうちのいずれかの文字列
が存在するものをテキストDBから検索して、ヒットし
た文書の識別子情報などを、対話制御部2801へ検索
結果45として出力する。対話制御部2801は、この
検索結果45を受けて、検索結果件数46や、テキスト
情報46を適宜コンソール2800へ出力する。
【0155】異表記展開処理部2802と2805は全
く同一のものである。文字列検索部2807は公知の技
術で、例えば特開昭63−311530を用いて実現で
きる。テキストDB408は、文字コード情報であれ
ば、新聞記事データでも、ワープロで作成した文書のデ
ータでも、電子ファイリングシステムの書誌事項データ
でも構わない。
く同一のものである。文字列検索部2807は公知の技
術で、例えば特開昭63−311530を用いて実現で
きる。テキストDB408は、文字コード情報であれ
ば、新聞記事データでも、ワープロで作成した文書のデ
ータでも、電子ファイリングシステムの書誌事項データ
でも構わない。
【0156】以下、異表記展開処理部2802、280
5と同義語展開処理部2803の構成作用について詳細
に説明する。
5と同義語展開処理部2803の構成作用について詳細
に説明する。
【0157】まず、異表記展開処理の概要を図29を用
いて説明する。ここでは、最初に入力文字列2901を
異なる字種の間で切断し、部分文字列へ分割する。
いて説明する。ここでは、最初に入力文字列2901を
異なる字種の間で切断し、部分文字列へ分割する。
【0158】例えば、入力文字列2901“卓上型イン
タフォーン”の場合には、漢字文字列2902“卓上
型”と、カタカナ文字列2903“インタフォーン”へ
文字種に従って分割する。次に、分割した文字列毎に異
表記展開を行ない、漢字異表記文字列リスト2904、
カタカナ異表記文字列リスト2905を得る。その後、
漢字異表記文字列リスト2904及びカタカナ異表記文
字列リスト2905をそれぞれ展開し、2つの文字種で
別々に展開した文字列群を1つに組み合せて最終結果2
906として出力する。
タフォーン”の場合には、漢字文字列2902“卓上
型”と、カタカナ文字列2903“インタフォーン”へ
文字種に従って分割する。次に、分割した文字列毎に異
表記展開を行ない、漢字異表記文字列リスト2904、
カタカナ異表記文字列リスト2905を得る。その後、
漢字異表記文字列リスト2904及びカタカナ異表記文
字列リスト2905をそれぞれ展開し、2つの文字種で
別々に展開した文字列群を1つに組み合せて最終結果2
906として出力する。
【0159】次に、図30を用いて異表記展開の処理内
容を詳細に説明する。図30は、本発明における異表記
展開手段の実施例を示すブロック図である。本実施例の
構成は、文字種分割・選別部3001、ローマ字判別部
3002、ローマ字カナ変換部3003、漢字異表記展
開部3004、カタカナ異表記展開部3005、アルフ
ァベット異表記展開部3006、カナローマ字変換部3
007、分割文字列統合部3010よりなる。
容を詳細に説明する。図30は、本発明における異表記
展開手段の実施例を示すブロック図である。本実施例の
構成は、文字種分割・選別部3001、ローマ字判別部
3002、ローマ字カナ変換部3003、漢字異表記展
開部3004、カタカナ異表記展開部3005、アルフ
ァベット異表記展開部3006、カナローマ字変換部3
007、分割文字列統合部3010よりなる。
【0160】異表記展開処理部2802あるいは280
5への入力文字列3020は、まず文字種分割・選別部
3001へ送られる。文字種分割・選別部3001では
入力文字列3020を、上述したように漢字及びひらが
な文字列3031、カタカナ文字列3032、アルファ
ベット文字列3033、それ以外の文字列3030の4
種類の部分文字列に分割する。分割した部分文字列をそ
れぞれの文字種に従って分類し、別々の展開処理を施
す。以下文字種別に、その展開処理の概要を示す。
5への入力文字列3020は、まず文字種分割・選別部
3001へ送られる。文字種分割・選別部3001では
入力文字列3020を、上述したように漢字及びひらが
な文字列3031、カタカナ文字列3032、アルファ
ベット文字列3033、それ以外の文字列3030の4
種類の部分文字列に分割する。分割した部分文字列をそ
れぞれの文字種に従って分類し、別々の展開処理を施
す。以下文字種別に、その展開処理の概要を示す。
【0161】(1)漢字・ひらがな・カタカナ・アルフ
ァベット以外の文字列 この文字種には数字、記号、特殊文字あるいは外字コー
ド等が当たる。本実施例ではこれらの文字種を、展開せ
ずに入力した文字列3030をそのまま分割文字列統合
部3010へ出力している。しかし数字に関して英数字
を漢数字に変換したり、英記号に関して記号“・”を
“−”や“/”に展開することなども考えられる。
ァベット以外の文字列 この文字種には数字、記号、特殊文字あるいは外字コー
ド等が当たる。本実施例ではこれらの文字種を、展開せ
ずに入力した文字列3030をそのまま分割文字列統合
部3010へ出力している。しかし数字に関して英数字
を漢数字に変換したり、英記号に関して記号“・”を
“−”や“/”に展開することなども考えられる。
【0162】(2)漢字・ひらがな文字列 これらの文字種に関しては、文字列3031を漢字異表
記展開部3004にて、漢字の新旧字体及び送りがなに
ついての異表記展開をする。漢字異表記展開部3004
の出力文字列3041は、分割文字列統合部3010へ
送られる。
記展開部3004にて、漢字の新旧字体及び送りがなに
ついての異表記展開をする。漢字異表記展開部3004
の出力文字列3041は、分割文字列統合部3010へ
送られる。
【0163】(3)カタカナ文字列 この文字種に関しては、文字列3032をカタカナ異表
記展開部3005にて、類似音節の表記について異表記
展開を行う。展開した文字列3042は、分割文字列統
合部3010へ送られる。また、同時にカナローマ字変
換部3007へも送られる。カナローマ字変換部300
7でローマ字へ変換された文字列3053は、アルファ
ベット異表記展開部3006にて、アルファベットの大
小文字に関する異表記展開が行なわれ、文字列3043
として分割文字列統合部3010へ送られる。
記展開部3005にて、類似音節の表記について異表記
展開を行う。展開した文字列3042は、分割文字列統
合部3010へ送られる。また、同時にカナローマ字変
換部3007へも送られる。カナローマ字変換部300
7でローマ字へ変換された文字列3053は、アルファ
ベット異表記展開部3006にて、アルファベットの大
小文字に関する異表記展開が行なわれ、文字列3043
として分割文字列統合部3010へ送られる。
【0164】(4)アルファベット文字列 この文字種に関しては、日本語のローマ字表現の場合
と、外国語の原語の場合の2つの場合がある。
と、外国語の原語の場合の2つの場合がある。
【0165】ここでは、まずローマ字判別部3002
で、文字列3033がローマ字か外国語かの判定をす
る。この判定基準には、ローマ字の表記法を用いてい
る。すなわち、アルファベット文字の並びがローマ字の
表記法に合っていればローマ字と判定し、ローマ字とし
て解釈不能の場合は外国語と判定する。この判定は、ロ
ーマ字カナ変換部3003で兼ねることもできる。すな
わち、ローマ字カナ変換ができれば、ローマ字と判定
し、そうでない場合に外国語と判定する。また、この判
定には本実施例の方法以外にも、外国語辞書を使うとい
った方法も用いることが可能である。
で、文字列3033がローマ字か外国語かの判定をす
る。この判定基準には、ローマ字の表記法を用いてい
る。すなわち、アルファベット文字の並びがローマ字の
表記法に合っていればローマ字と判定し、ローマ字とし
て解釈不能の場合は外国語と判定する。この判定は、ロ
ーマ字カナ変換部3003で兼ねることもできる。すな
わち、ローマ字カナ変換ができれば、ローマ字と判定
し、そうでない場合に外国語と判定する。また、この判
定には本実施例の方法以外にも、外国語辞書を使うとい
った方法も用いることが可能である。
【0166】ローマ字判別部3002でローマ字と判定
した文字列3051は、ローマ字カナ変換部3003に
送られ、ここでカタカナ文字列3052に変換され、こ
れを更にカタカナ異表記展開部3005で、類似音節に
関する異表記展開を行い文字列群3042を得る。文字
列群3042に対するこの後の処理は、(3)のカタカ
ナ文字列の処理と同じである。すなわち、カタカナ異表
記展開された文字列群3042は、分割文字列統合部3
010へ送られると共に、カナローマ字変換部3007
へも送り出される。カタカナ文字列群3042は、カナ
ローマ字変換部3007で各々ローマ字へ変換され、ロ
ーマ字文字列群3053としてアルファベット異表記展
開部3006に送られる。該ローマ字文字列群3053
は、アルファベット異表記展開部3006でアルファベ
ットの大小文字に関する異表記展開を施された後、分割
文字列統合部3010へ送られる。
した文字列3051は、ローマ字カナ変換部3003に
送られ、ここでカタカナ文字列3052に変換され、こ
れを更にカタカナ異表記展開部3005で、類似音節に
関する異表記展開を行い文字列群3042を得る。文字
列群3042に対するこの後の処理は、(3)のカタカ
ナ文字列の処理と同じである。すなわち、カタカナ異表
記展開された文字列群3042は、分割文字列統合部3
010へ送られると共に、カナローマ字変換部3007
へも送り出される。カタカナ文字列群3042は、カナ
ローマ字変換部3007で各々ローマ字へ変換され、ロ
ーマ字文字列群3053としてアルファベット異表記展
開部3006に送られる。該ローマ字文字列群3053
は、アルファベット異表記展開部3006でアルファベ
ットの大小文字に関する異表記展開を施された後、分割
文字列統合部3010へ送られる。
【0167】一方、ローマ字判別部3002で外国語と
判定された文字列3034は、ローマ字カナ変換せず
に、アルファベット異表記展開部3006へ送られ、そ
の出力文字列3043は分割文字列統合部3010へ送
られる。
判定された文字列3034は、ローマ字カナ変換せず
に、アルファベット異表記展開部3006へ送られ、そ
の出力文字列3043は分割文字列統合部3010へ送
られる。
【0168】以上、異表記展開処理の流れについて説明
した。続いて、この異表記展開処理における各処理ブロ
ックの詳細について説明する。
した。続いて、この異表記展開処理における各処理ブロ
ックの詳細について説明する。
【0169】まず始めにカタカナ異表記展開部3005
の処理について説明する。図31は異表記展開部におけ
る処理をカタカナ文字列を例にして説明した図である。
ここでは、“インタフォーン”という入力文字列を例と
している。異表記展開処理は、変換ルールを参照して行
う。また、その変換処理は、入力文字列中の部分文字列
として変換対象となり得るものがあれば、該変換ルール
を参照して他の表記に置き換えるものである。この変換
ルールのテーブル形式も本図に示されている。この変換
ルールテーブルは、見出し部と展開部文字列リスト部か
ら構成されている。入力文字列中に、変換ルールテーブ
ルの見出し部分に相当するものが存在すれば、該当部分
を展開文字列リスト部に記述された異表記文字列群で順
次置き換えていく。
の処理について説明する。図31は異表記展開部におけ
る処理をカタカナ文字列を例にして説明した図である。
ここでは、“インタフォーン”という入力文字列を例と
している。異表記展開処理は、変換ルールを参照して行
う。また、その変換処理は、入力文字列中の部分文字列
として変換対象となり得るものがあれば、該変換ルール
を参照して他の表記に置き換えるものである。この変換
ルールのテーブル形式も本図に示されている。この変換
ルールテーブルは、見出し部と展開部文字列リスト部か
ら構成されている。入力文字列中に、変換ルールテーブ
ルの見出し部分に相当するものが存在すれば、該当部分
を展開文字列リスト部に記述された異表記文字列群で順
次置き換えていく。
【0170】この見出し文字列の探索は、入力文字列の
先頭から最長一致法により行なう。すなわち本図に示し
たように、入力文字列中の“フォー”という部分文字列
と“フォ”という部分文字列の両方が見出しにある場合
には、より長い見出しの“フォー”のほうの変換ルール
を適用する。
先頭から最長一致法により行なう。すなわち本図に示し
たように、入力文字列中の“フォー”という部分文字列
と“フォ”という部分文字列の両方が見出しにある場合
には、より長い見出しの“フォー”のほうの変換ルール
を適用する。
【0171】図31の例を用いて、この見出し文字列探
索及び展開文字列リストへの置き換え処理を説明する。
見出し文字列探索において、入力文字列中の部分文字列
と見出し文字列との照合のため、探索ポインタを設定す
る。入力文字列と見出し文字列の照合時には、探索ポイ
ンタの位置を動かしながら、入力文字列中の探索ポイン
タを先頭とする文字列と、見出し文字列との照合を行な
っていく。まず探索ポインタを入力文字列の先頭文字に
セットする。従って、この例では文字“イ”から見出し
文字列の探索を開始することになる。該当する見出しが
存在しないので、探索ポインタを1文字移動して“ン”
を先頭とする文字列からもう一度見出し文字列を探索す
る。また該当する見出しが存在しないので、もう1文字
探索ポインタを移動して“タ”の文字から見出し文字列
を探索する。今後は“タ”の見出し文字列が見つかるの
で、“タ”の部分を展開文字列リスト部に記述された
“タ”と“ター”に置き換える。そして探索ポインタを
見出し“タ”の文字数分、すなわち1文字分移動する。
次に“フ”の文字から見出し文字列探索し、該当する見
出し“フォー”と“フォ”を得る。今度は2つの見出し
文字列が照合するが、このように複数個の照合した見出
し文字列がある場合、最長一致法に従い、最も長い見出
し文字列のある変換ルールを採用する。この例では、見
出し“フォー”のほうが“フォ”より長いので、“フォ
ー”を展開用変換ルールとして採用し、入力文字列内の
部分文字列“フォー”を展開文字列リスト部に記述され
た“フォー”、“フォ”、“ホー”及び“ホ”に置き換
える。そして探索ポインタを見出し“フォー”の文字数
分、すなわち3文字分移動する。最後に入力文字列中の
最終文字、“ン”から見出し探索を行なうことになる
が、該当する見出しがないので文字“ン”は、展開処理
が施されずそのままとなる。こうして探索ポインタが入
力文字列の最終位置に来たので処理を終了する。
索及び展開文字列リストへの置き換え処理を説明する。
見出し文字列探索において、入力文字列中の部分文字列
と見出し文字列との照合のため、探索ポインタを設定す
る。入力文字列と見出し文字列の照合時には、探索ポイ
ンタの位置を動かしながら、入力文字列中の探索ポイン
タを先頭とする文字列と、見出し文字列との照合を行な
っていく。まず探索ポインタを入力文字列の先頭文字に
セットする。従って、この例では文字“イ”から見出し
文字列の探索を開始することになる。該当する見出しが
存在しないので、探索ポインタを1文字移動して“ン”
を先頭とする文字列からもう一度見出し文字列を探索す
る。また該当する見出しが存在しないので、もう1文字
探索ポインタを移動して“タ”の文字から見出し文字列
を探索する。今後は“タ”の見出し文字列が見つかるの
で、“タ”の部分を展開文字列リスト部に記述された
“タ”と“ター”に置き換える。そして探索ポインタを
見出し“タ”の文字数分、すなわち1文字分移動する。
次に“フ”の文字から見出し文字列探索し、該当する見
出し“フォー”と“フォ”を得る。今度は2つの見出し
文字列が照合するが、このように複数個の照合した見出
し文字列がある場合、最長一致法に従い、最も長い見出
し文字列のある変換ルールを採用する。この例では、見
出し“フォー”のほうが“フォ”より長いので、“フォ
ー”を展開用変換ルールとして採用し、入力文字列内の
部分文字列“フォー”を展開文字列リスト部に記述され
た“フォー”、“フォ”、“ホー”及び“ホ”に置き換
える。そして探索ポインタを見出し“フォー”の文字数
分、すなわち3文字分移動する。最後に入力文字列中の
最終文字、“ン”から見出し探索を行なうことになる
が、該当する見出しがないので文字“ン”は、展開処理
が施されずそのままとなる。こうして探索ポインタが入
力文字列の最終位置に来たので処理を終了する。
【0172】以上の処理の結果として生成された展開リ
ストを含む文字列“イン(タ,ター)(フォー,フォ,
ホー,ホ)ン”の展開リストを組み合せることによって
最終的な異表記展開文字列が得られる。この例では、
“タ”の部分で2通り、“フォー”の部分で4通りに展
開するので展開結果は2×4の8通りの文字列、すなわ
ち 1)“インタフォーン” 2)“インタフォン” 3)“インタホーン” 4)“インタホン” 5)“インターフォーン” 6)“インターフォン” 7)“インターホーン” 8)“インターホン” となる。
ストを含む文字列“イン(タ,ター)(フォー,フォ,
ホー,ホ)ン”の展開リストを組み合せることによって
最終的な異表記展開文字列が得られる。この例では、
“タ”の部分で2通り、“フォー”の部分で4通りに展
開するので展開結果は2×4の8通りの文字列、すなわ
ち 1)“インタフォーン” 2)“インタフォン” 3)“インタホーン” 4)“インタホン” 5)“インターフォーン” 6)“インターフォン” 7)“インターホーン” 8)“インターホン” となる。
【0173】以上の見出し文字列探索と展開文字列リス
トへの置き換え処理を図32に示すPAD図で説明す
る。まず探索ポインタを入力文字列の先頭にセットす
る。次に現在の探索ポインタを先頭とする文字列で、変
換ルールの見出し文字列があるかどうかを探索する。も
しもマッチングする見出しがなければ、探索ポインタを
1文字後方に移動してから、再び探索ポインタを先頭と
する文字列でマッチングする見出し文字列を探索する。
マッチングする見出しが存在する場合には、マッチング
した見出しのうち最も長い見出しを採用して、該当部分
を展開文字列リストで置き換える。置き換えがすんだら
探索ポインタをマッチングした見出し文字列の文字数分
後方に移動する。そして、探索ポインタが入力文字列の
最終位置に来るまで、上記の見出し文字列探索と展開リ
ストへの置き換え処理を繰り返す。
トへの置き換え処理を図32に示すPAD図で説明す
る。まず探索ポインタを入力文字列の先頭にセットす
る。次に現在の探索ポインタを先頭とする文字列で、変
換ルールの見出し文字列があるかどうかを探索する。も
しもマッチングする見出しがなければ、探索ポインタを
1文字後方に移動してから、再び探索ポインタを先頭と
する文字列でマッチングする見出し文字列を探索する。
マッチングする見出しが存在する場合には、マッチング
した見出しのうち最も長い見出しを採用して、該当部分
を展開文字列リストで置き換える。置き換えがすんだら
探索ポインタをマッチングした見出し文字列の文字数分
後方に移動する。そして、探索ポインタが入力文字列の
最終位置に来るまで、上記の見出し文字列探索と展開リ
ストへの置き換え処理を繰り返す。
【0174】いままで説明してきた異表記展開における
見出し文字列の探索方法に関するもう一つの実施例につ
いて図33を用いて説明する。本実施例では、見出し文
字列の探索にオートマトンを用いている。以下、その手
順について述べる。まず変換ルールにより、図に示すよ
うなオートマトンを生成する。異表記展開処理は、この
オートマトンに入力文字列を1文字ずつ入力して、その
オートマトンの動作出力から図31で説明した展開文字
列リストを含む文字列を得る。
見出し文字列の探索方法に関するもう一つの実施例につ
いて図33を用いて説明する。本実施例では、見出し文
字列の探索にオートマトンを用いている。以下、その手
順について述べる。まず変換ルールにより、図に示すよ
うなオートマトンを生成する。異表記展開処理は、この
オートマトンに入力文字列を1文字ずつ入力して、その
オートマトンの動作出力から図31で説明した展開文字
列リストを含む文字列を得る。
【0175】以下、具体的にその動作内容について説明
する。本図において記号aは入力文字を、丸はオートマ
トンを構成する各状態を、丸の中の数字はその状態番号
を示す。線上の文字は、その文字が入力されたとき、矢
印の方向へ状態を遷移することを示す。記号‘ ’
は、その後に続く文字以外の文字を表す。また、記号
‘→’は、以下に続く文字列を出力することを示す。こ
のオートマトンは、その動作を制御するための状態遷移
テーブルと、各状態の出力を記述する出力テーブルから
なる。状態遷移テーブルは、図34に示すものとなる。
する。本図において記号aは入力文字を、丸はオートマ
トンを構成する各状態を、丸の中の数字はその状態番号
を示す。線上の文字は、その文字が入力されたとき、矢
印の方向へ状態を遷移することを示す。記号‘ ’
は、その後に続く文字以外の文字を表す。また、記号
‘→’は、以下に続く文字列を出力することを示す。こ
のオートマトンは、その動作を制御するための状態遷移
テーブルと、各状態の出力を記述する出力テーブルから
なる。状態遷移テーブルは、図34に示すものとなる。
【0176】ここでは、各状態における入力文字とその
文字が入力されたときに遷移する遷移先の状態番号が対
として記述されている。但し状態0へ遷移する場合は記
述を省略してある。すなわち、各状態において状態遷移
テーブルに記述されていない文字が入力した場合には、
状態0へ遷移するものとしている。出力テーブルには図
35に示すように、オートマトンの各状態において、出
力する文字列リストが記述されている。オートマトンが
動作する場合、状態0以外の状態から状態0へ遷移する
場合のみ、この出力テーブルを参照して該当する展開文
字列を出力する。そして出力がすんだら、もう一度状態
0への遷移を引き起こした文字をオートマトンへ入力
し、状態遷移テーブルを参照してオートマンを再遷移さ
せる。状態0から状態0へ戻る場合には、入力文字をそ
のまま出力する。
文字が入力されたときに遷移する遷移先の状態番号が対
として記述されている。但し状態0へ遷移する場合は記
述を省略してある。すなわち、各状態において状態遷移
テーブルに記述されていない文字が入力した場合には、
状態0へ遷移するものとしている。出力テーブルには図
35に示すように、オートマトンの各状態において、出
力する文字列リストが記述されている。オートマトンが
動作する場合、状態0以外の状態から状態0へ遷移する
場合のみ、この出力テーブルを参照して該当する展開文
字列を出力する。そして出力がすんだら、もう一度状態
0への遷移を引き起こした文字をオートマトンへ入力
し、状態遷移テーブルを参照してオートマンを再遷移さ
せる。状態0から状態0へ戻る場合には、入力文字をそ
のまま出力する。
【0177】以上、オートマトン方式における状態遷移
の制御及び出力について説明した。次に、具体例をもと
に、この動作を詳細に説明する。以下、図33の入力例
“インタフォーン”の文字列が1文字入力される毎の動
作について記述する。最初、オートマトンの状態は、状
態0にある。
の制御及び出力について説明した。次に、具体例をもと
に、この動作を詳細に説明する。以下、図33の入力例
“インタフォーン”の文字列が1文字入力される毎の動
作について記述する。最初、オートマトンの状態は、状
態0にある。
【0178】(1)文字“イ”が入力されると状態遷移
テーブルに状態0からの遷移先が登録されていないの
で、そのまま“イ”が出力された状態は0のままとな
る。
テーブルに状態0からの遷移先が登録されていないの
で、そのまま“イ”が出力された状態は0のままとな
る。
【0179】(2)文字“ン”が入力されると状態遷移
テーブルに状態0からの遷移先が登録されていないの
で、そのまま“ン”が出力され状態は0のままとなる。
テーブルに状態0からの遷移先が登録されていないの
で、そのまま“ン”が出力され状態は0のままとなる。
【0180】(3)文字“タ”が入力されると状態遷移
テーブルを参照し、現在の状態0から遷移先として状態
番号6が読み出され、状態は6に移る。
テーブルを参照し、現在の状態0から遷移先として状態
番号6が読み出され、状態は6に移る。
【0181】(4)文字“フ”が入力されると状態遷移
テーブルからは状態6から“フ”で遷移する遷移先が得
られない。かつ現在の状態は0でないので、出力テーブ
ルが参照され状態6での出力文字列“タ”と“ター”が
出力される。その後、状態は0に移動する。さらに、こ
の新しい状態0でもう一度入力文字の“フ”をオートマ
トンに入力する。その結果、状態遷移テーブルの内容に
従って状態0から状態1に状態が移動する。
テーブルからは状態6から“フ”で遷移する遷移先が得
られない。かつ現在の状態は0でないので、出力テーブ
ルが参照され状態6での出力文字列“タ”と“ター”が
出力される。その後、状態は0に移動する。さらに、こ
の新しい状態0でもう一度入力文字の“フ”をオートマ
トンに入力する。その結果、状態遷移テーブルの内容に
従って状態0から状態1に状態が移動する。
【0182】(5)文字“オ”が入力されると状態遷移
テーブルの内容から、状態1より状態2へ状態が移動す
る。
テーブルの内容から、状態1より状態2へ状態が移動す
る。
【0183】(6)文字“ー“が入力されると状態遷移
テーブルの内容から、状態2より状態3へ状態が移動す
る。
テーブルの内容から、状態2より状態3へ状態が移動す
る。
【0184】(7)文字“ン”が入力されると状態遷移
テーブルからは状態3から“ン”で遷移する遷移先状態
番号が得られない。 かつ現在の状態は状態0でないの
で、出力テーブルが参照され、状態3での出力文字列
“フォー”、“フォ”、
“ホー”及び“ホ”が出力される。その後、状態が0に
移り、もう一度入力文字の“ン”がオートマトンに入力
される。ここでは、状態遷移テーブルから遷移先が得ら
れないので入力文字の“ン”がそのまま出力される。
テーブルからは状態3から“ン”で遷移する遷移先状態
番号が得られない。 かつ現在の状態は状態0でないの
で、出力テーブルが参照され、状態3での出力文字列
“フォー”、“フォ”、
“ホー”及び“ホ”が出力される。その後、状態が0に
移り、もう一度入力文字の“ン”がオートマトンに入力
される。ここでは、状態遷移テーブルから遷移先が得ら
れないので入力文字の“ン”がそのまま出力される。
【0185】(8)入力文字列の最終文字まで来たの
で、処理を終了する。こうして展開リストを含む文字列
“イン(タ,ター)(フォー,フォ,ホー,ホ)ン”が
得られる。
で、処理を終了する。こうして展開リストを含む文字列
“イン(タ,ター)(フォー,フォ,ホー,ホ)ン”が
得られる。
【0186】次に、この見出し文字列探索用オートマト
ンの生成方式を図36を用いて説明する。このオートマ
トン生成は、実際に入力文字列が送られてくる前に一度
作っておけば良い。本図は探索オートマトンの生成方
法、すなわち状態遷移テーブル及び出力テーブルの作成
方式をPAD図で表したもので、以下この内容について
説明する。まず状態遷移テーブル及び出力テーブルを初
期化する。次に、一つずつルールを取り出しながら変換
ルールの終わりまで以下の処理を繰り返す。
ンの生成方式を図36を用いて説明する。このオートマ
トン生成は、実際に入力文字列が送られてくる前に一度
作っておけば良い。本図は探索オートマトンの生成方
法、すなわち状態遷移テーブル及び出力テーブルの作成
方式をPAD図で表したもので、以下この内容について
説明する。まず状態遷移テーブル及び出力テーブルを初
期化する。次に、一つずつルールを取り出しながら変換
ルールの終わりまで以下の処理を繰り返す。
【0187】(1)状態番号を0にセット (2)見出し文字列の終わりまで1文字ずつ文字を取り
出しながら状態遷移テーブルを作っていく。すなわち状
態遷移テーブルを参照し、取り出した文字による遷移先
が登録されていれば遷移先状態に移動する。遷移先が登
録されていなければ、新しい状態番号を生成し、状態遷
移テーブルに追加登録する。そして、今の状態を新しい
状態に移動する。さらに出力テーブルに状態0から今の
状態へ遷移させてきた文字列を登録する。(3)見出し
文字列の全文字について(2)の処理が終了した後、出
力テーブルの現在の状態番号と、変換ルールの展開文字
列リストを登録する。
出しながら状態遷移テーブルを作っていく。すなわち状
態遷移テーブルを参照し、取り出した文字による遷移先
が登録されていれば遷移先状態に移動する。遷移先が登
録されていなければ、新しい状態番号を生成し、状態遷
移テーブルに追加登録する。そして、今の状態を新しい
状態に移動する。さらに出力テーブルに状態0から今の
状態へ遷移させてきた文字列を登録する。(3)見出し
文字列の全文字について(2)の処理が終了した後、出
力テーブルの現在の状態番号と、変換ルールの展開文字
列リストを登録する。
【0188】具体的な処理の流れを2つの変換ルール
〔“フォー”→(“フォー”,“フォ”,“ホー”,
“ホ”)〕と〔“フォ”→(“フォー”,“フォ”,
“ホー”,“ホ”)〕を使って説明する。
〔“フォー”→(“フォー”,“フォ”,“ホー”,
“ホ”)〕と〔“フォ”→(“フォー”,“フォ”,
“ホー”,“ホ”)〕を使って説明する。
【0189】まず1番目の変換ルールの見出し文字列
“フォー”について処理する。
“フォー”について処理する。
【0190】(1)文字“フ”の入力 状態遷移テーブルは最初初期化されているため、遷移先
状態番号は一つも登録されていない。従って新しい状態
番号1を生成し、状態を1に移動する。そして、出力テ
ーブルに状態0から状態1への遷移を引き起こす文字列
“フ”を状態番号1の出力として登録する。
状態番号は一つも登録されていない。従って新しい状態
番号1を生成し、状態を1に移動する。そして、出力テ
ーブルに状態0から状態1への遷移を引き起こす文字列
“フ”を状態番号1の出力として登録する。
【0191】(2)文字“オ”の入力 状態遷移テーブルに今の状態1からの遷移先は定義され
ていない。従って新しい状態番号2を生成し、状態を2
に移動する。そして出力テーブルに状態0から状態2に
至るまでの文字列“フォ”を状態番号2の出力として登
録する。
ていない。従って新しい状態番号2を生成し、状態を2
に移動する。そして出力テーブルに状態0から状態2に
至るまでの文字列“フォ”を状態番号2の出力として登
録する。
【0192】(3)文字“ー”の入力 状態遷移テーブルに今の状態2からの遷移先は定義され
ていない。従って新しい状態番号3を生成し、状態を3
に移動する。そして出力テーブルに状態0から状態3に
至るまでの文字列“フォー”を状態番号3の出力として
登録する。また、これで見出し文字列の最終文字である
ので、変換ルールの展開文字列リスト(“フォー”,
“フォ”,“ホー”,“ホ”)を、先に登録した出力文
字列“フォー”を入れ替える形で、状態3の出力として
出力テーブルに登録する。
ていない。従って新しい状態番号3を生成し、状態を3
に移動する。そして出力テーブルに状態0から状態3に
至るまでの文字列“フォー”を状態番号3の出力として
登録する。また、これで見出し文字列の最終文字である
ので、変換ルールの展開文字列リスト(“フォー”,
“フォ”,“ホー”,“ホ”)を、先に登録した出力文
字列“フォー”を入れ替える形で、状態3の出力として
出力テーブルに登録する。
【0193】次に2番目の変換ルールの見出し文字列
“フォ”について処理を実行する。処理に先立ち、状態
は0に戻る。
“フォ”について処理を実行する。処理に先立ち、状態
は0に戻る。
【0194】(4)文字“フ”の入力 先に登録した状態遷移テーブルを参照して、遷移先の状
態番号1を得、状態を1に移動する。
態番号1を得、状態を1に移動する。
【0195】(5)文字“オ”の入力 状態遷移テーブルを参照して、遷移先の状態番号2を
得、状態を2へ移動する。出力テーブルに状態2の出力
は既に登録されているが、見出し文字列の最終であるの
で、出力テーブルに状態2の出力として既に登録されて
いる。
得、状態を2へ移動する。出力テーブルに状態2の出力
は既に登録されているが、見出し文字列の最終であるの
で、出力テーブルに状態2の出力として既に登録されて
いる。
【0196】“フォ”を、変換ルールの展開文字列リス
ト(“フォー”,“フォ”,“ホー”,“ホ”)に書き
換える。
ト(“フォー”,“フォ”,“ホー”,“ホ”)に書き
換える。
【0197】以上の処理により、上記二つの変換ルール
を探索するオートマトンを作成することができる。具体
例で示した2つの変換ルール以外についても、これと全
く同様の手順でオートマトンにすることができる。
を探索するオートマトンを作成することができる。具体
例で示した2つの変換ルール以外についても、これと全
く同様の手順でオートマトンにすることができる。
【0198】以上、例で説明してきたカタカナ異表記展
開用の変換ルールテーブルの詳細を図37に示す。この
他、変換ルールテーブルの作成には、カタカナ文字列の
類似音節表記に関してその表記の原則を定めた「昭和2
9年国語審議会報告 外来語の表記」を利用することが
できる。。すなわち上記報告書ではカタカナ文字列の異
表記が示され、その表記を統一化するための原則が述べ
られているが、これを逆に利用して変換ルールを作成す
ることができる。
開用の変換ルールテーブルの詳細を図37に示す。この
他、変換ルールテーブルの作成には、カタカナ文字列の
類似音節表記に関してその表記の原則を定めた「昭和2
9年国語審議会報告 外来語の表記」を利用することが
できる。。すなわち上記報告書ではカタカナ文字列の異
表記が示され、その表記を統一化するための原則が述べ
られているが、これを逆に利用して変換ルールを作成す
ることができる。
【0199】今までカタカナ文字列の異表記展開につい
て例をあげて説明してきたが、漢字文字列の異表記展開
についても、漢字文字列用の変換ルールテーブルを用い
るだけで全く同じ処理で実現できる。漢字の新旧字体に
関する異表記展開用の変換ルールテーブルの例を図38
に示し、送りがなに関する異表記展開ルールの例を図3
9に示す。
て例をあげて説明してきたが、漢字文字列の異表記展開
についても、漢字文字列用の変換ルールテーブルを用い
るだけで全く同じ処理で実現できる。漢字の新旧字体に
関する異表記展開用の変換ルールテーブルの例を図38
に示し、送りがなに関する異表記展開ルールの例を図3
9に示す。
【0200】また、図37から図39に示した異表記展
開ルールテーブルは、必要に応じて追加修正が可能であ
り、従ってユーザの望む異表記展開が可能となる。
開ルールテーブルは、必要に応じて追加修正が可能であ
り、従ってユーザの望む異表記展開が可能となる。
【0201】以上が漢字異表記展開部3004、カタカ
ナ異表記展開部3005の処理の詳細である。
ナ異表記展開部3005の処理の詳細である。
【0202】次にローマ字の異表記展開に関する説明を
する。本実施例では、ローマ字の異表記展開をするの
に、ローマ字で入力された文字列を一旦カタカナ文字列
へ変換した後、これをカタカナ異表記展開し、もう一度
カナローマ字変換によりローマ字に戻すという方法を採
っている。従って、ローマ字の異表記展開に関する部分
は、図30のローマ字カナ変換部3003とカナローマ
字変換部3007の2つとなる。
する。本実施例では、ローマ字の異表記展開をするの
に、ローマ字で入力された文字列を一旦カタカナ文字列
へ変換した後、これをカタカナ異表記展開し、もう一度
カナローマ字変換によりローマ字に戻すという方法を採
っている。従って、ローマ字の異表記展開に関する部分
は、図30のローマ字カナ変換部3003とカナローマ
字変換部3007の2つとなる。
【0203】まずローマ字カナ変換部の処理内容につい
て説明する。アルファベット文字列が入力されると、ま
ずローマ字カナ変換が行われる。ローマ字カナ変換部3
003では、図40の示すようなローマ字とカタカナの
対応表を用いて、ローマ字カナ変換が行われる。同図に
おいて、例えば1番目のレコードではローマ字の“A”
がカタカナの“ア”に対応することを示している。ロー
マ字の項目中に複数個の文字列を並んでいるレコードに
関しては、複数個並んでいる全ての文字列がカタカナの
項目に対応していることを示している。例えば、ローマ
字の“SYA”及び“SHA”が、カタカナの“シャ”
に対応する。これらは、それぞれローマ字の訓令式表記
法と、ヘボン式表記法に対応している。従って、このロ
ーマ字カナ変換部3003では訓令式でもヘボン式でも
あるいはこれらの混合したような表記法に文字列でもカ
タカナへ変換されることになる。変換方法は、前述した
漢字異表記展開、カタカナ異表記展開と同様である。す
なわち、入力文字列と対応表のローマ字文字列を最長一
致で探索して、順次対応するカタカナ文字列に置き換え
ていく。もし、対応するローマ字文字列が対応表に見つ
からないときは、入力文字列はローマ字でないと判断
し、カタカナ文字列の出力を行わない。
て説明する。アルファベット文字列が入力されると、ま
ずローマ字カナ変換が行われる。ローマ字カナ変換部3
003では、図40の示すようなローマ字とカタカナの
対応表を用いて、ローマ字カナ変換が行われる。同図に
おいて、例えば1番目のレコードではローマ字の“A”
がカタカナの“ア”に対応することを示している。ロー
マ字の項目中に複数個の文字列を並んでいるレコードに
関しては、複数個並んでいる全ての文字列がカタカナの
項目に対応していることを示している。例えば、ローマ
字の“SYA”及び“SHA”が、カタカナの“シャ”
に対応する。これらは、それぞれローマ字の訓令式表記
法と、ヘボン式表記法に対応している。従って、このロ
ーマ字カナ変換部3003では訓令式でもヘボン式でも
あるいはこれらの混合したような表記法に文字列でもカ
タカナへ変換されることになる。変換方法は、前述した
漢字異表記展開、カタカナ異表記展開と同様である。す
なわち、入力文字列と対応表のローマ字文字列を最長一
致で探索して、順次対応するカタカナ文字列に置き換え
ていく。もし、対応するローマ字文字列が対応表に見つ
からないときは、入力文字列はローマ字でないと判断
し、カタカナ文字列の出力を行わない。
【0204】次にカナローマ字変換部3007の説明を
する。ここでも図40の対応表をそのまま用いる。こん
どは逆に入力文字列と対応表のカタカナ文字列とを最長
一致でマッチングを取りながら順次ローマ字へ入力文字
列を置き換えていく。前述の“シャ”の例のように対応
するローマ字表記が複数個存在するときには、該当部分
を部分文字列のリストとして置き換えていく。すなわ
ち、カタカナの入力文字列に対し、異表記展開の処理と
同様に展開リストを含む文字列に展開し、その展開リス
トの部分を組み合わせることによってローマ字異表記展
開の結果を得ることができる。これを“シシャモ”とい
うカタカナ文字列が入力された場合を例にして説明す
る。この時、入力文字列“シシャモ”に対してカタカナ
ローマ字対応表とのマッチング処理により、“(SI,
SHI)(SYA,SHA)MO”という展開リストを
含む文字列が得られる。従って、展開リストの組み合せ
により、 1)“SISYAMO” 2)“SISHAMO” 3)“SHISYAMO” 4)“SHISHAMO” という4種類のローマ字異表記文字列が得られることに
なる。以上が異表記展開の処理に関する説明である。
する。ここでも図40の対応表をそのまま用いる。こん
どは逆に入力文字列と対応表のカタカナ文字列とを最長
一致でマッチングを取りながら順次ローマ字へ入力文字
列を置き換えていく。前述の“シャ”の例のように対応
するローマ字表記が複数個存在するときには、該当部分
を部分文字列のリストとして置き換えていく。すなわ
ち、カタカナの入力文字列に対し、異表記展開の処理と
同様に展開リストを含む文字列に展開し、その展開リス
トの部分を組み合わせることによってローマ字異表記展
開の結果を得ることができる。これを“シシャモ”とい
うカタカナ文字列が入力された場合を例にして説明す
る。この時、入力文字列“シシャモ”に対してカタカナ
ローマ字対応表とのマッチング処理により、“(SI,
SHI)(SYA,SHA)MO”という展開リストを
含む文字列が得られる。従って、展開リストの組み合せ
により、 1)“SISYAMO” 2)“SISHAMO” 3)“SHISYAMO” 4)“SHISHAMO” という4種類のローマ字異表記文字列が得られることに
なる。以上が異表記展開の処理に関する説明である。
【0205】これまで、説明してきた異表記展開の実施
例においては、漢字ひらがな文字列、カタカナ文字列、
ローマ字文字列、及びアルファベット文字列の全てにつ
いて展開処理を行っているが、これらの処理を選択的に
行うことも可能である。すなわち、異表記展開後の出力
文字列の種類を、 1)漢字ひらがな文字列 2)カタカナ文字列 3)ローマ字文字列 4)アルファベット文字列 のいずれかもしくは、これらの混合した文字列を異表記
展開結果として出力するように制御することができる。
こうして、異表記展開を文字種毎に選択可能にすること
により、むだな展開処理を省き、かつユーザの要求に応
じた検索処理が可能となる。
例においては、漢字ひらがな文字列、カタカナ文字列、
ローマ字文字列、及びアルファベット文字列の全てにつ
いて展開処理を行っているが、これらの処理を選択的に
行うことも可能である。すなわち、異表記展開後の出力
文字列の種類を、 1)漢字ひらがな文字列 2)カタカナ文字列 3)ローマ字文字列 4)アルファベット文字列 のいずれかもしくは、これらの混合した文字列を異表記
展開結果として出力するように制御することができる。
こうして、異表記展開を文字種毎に選択可能にすること
により、むだな展開処理を省き、かつユーザの要求に応
じた検索処理が可能となる。
【0206】以下、この異表記展開結果の文字種制御方
法について説明する。
法について説明する。
【0207】この出力文字種の制御は図41に示すよう
に、図30の実施例の構成に更にアルファベット文字列
3034の出力制御を行うスイッチa3008、及びカ
タカナ文字列群3042の出力制御を行うスイッチb3
009を設けることで実現する。また、漢字異表記展開
部3004、カタカナ異表記展開部3005、カナロー
マ字変換部3007、スイッチa3008、及びスイッ
チb3009の出力を制御する制御信号線3061、3
062、3063、3064、3065をそれぞれ設け
る。そして、ユーザが設定する異表記展開結果出力文字
種の指定モードにより該制御信号をON,OFFするこ
とでモードに応じた異表記展開を実現する。例えば、ロ
ーマ字異表記展開が不要な場合にはカナローマ字変換部
3007の制御信号3063をOFFして出力を止め
る。このような展開モードによる各変換部、展開部、ス
イッチの制御信号の組み合せを図42に示す。図におい
て、展開モードはそれぞれ c:漢字及びひらがな異表記展開 k:カタカナ異表記展開 r:ローマ字異表記展開 a:アルファベット異表記展開 を実施し、出力することを示している。複数文字では複
数の異表記の出力指定を表す。例えば展開モード‘ck
a’は漢字ひらがな、カタカナ及びアルファベットの各
異表記を異表記展開結果として出力するモードであるこ
とを表す。また、表中の○は該当モジュールが文字列を
出力することを示す。逆に○がついていないところは、
文字列を出力しない。例えば、‘cka’という文字列
展開モードでは、ローマ字カナ変換部3003、漢字異
表記展開部3004、カタカナ異表記展開部3005が
展開文字列を出力し、スイッチa3008、及びスイッ
チb3009が入力文字列を通すが、カナローマ字変換
部3007は文字列を出力しないことを示す。
に、図30の実施例の構成に更にアルファベット文字列
3034の出力制御を行うスイッチa3008、及びカ
タカナ文字列群3042の出力制御を行うスイッチb3
009を設けることで実現する。また、漢字異表記展開
部3004、カタカナ異表記展開部3005、カナロー
マ字変換部3007、スイッチa3008、及びスイッ
チb3009の出力を制御する制御信号線3061、3
062、3063、3064、3065をそれぞれ設け
る。そして、ユーザが設定する異表記展開結果出力文字
種の指定モードにより該制御信号をON,OFFするこ
とでモードに応じた異表記展開を実現する。例えば、ロ
ーマ字異表記展開が不要な場合にはカナローマ字変換部
3007の制御信号3063をOFFして出力を止め
る。このような展開モードによる各変換部、展開部、ス
イッチの制御信号の組み合せを図42に示す。図におい
て、展開モードはそれぞれ c:漢字及びひらがな異表記展開 k:カタカナ異表記展開 r:ローマ字異表記展開 a:アルファベット異表記展開 を実施し、出力することを示している。複数文字では複
数の異表記の出力指定を表す。例えば展開モード‘ck
a’は漢字ひらがな、カタカナ及びアルファベットの各
異表記を異表記展開結果として出力するモードであるこ
とを表す。また、表中の○は該当モジュールが文字列を
出力することを示す。逆に○がついていないところは、
文字列を出力しない。例えば、‘cka’という文字列
展開モードでは、ローマ字カナ変換部3003、漢字異
表記展開部3004、カタカナ異表記展開部3005が
展開文字列を出力し、スイッチa3008、及びスイッ
チb3009が入力文字列を通すが、カナローマ字変換
部3007は文字列を出力しないことを示す。
【0208】最後に同義語展開処理について説明する。
【0209】同義語展開処理部2803は、図43に示
すような同義語辞書を持つ。図において、レコード番号
とは、辞書中の各見出し文字列に付与されている一連番
号である。各見出し文字列には、それぞれ同位語、上位
語、下位語、関連語が定義されている。同図の同位語、
上位語、下位語、関連語の項目に記述されている番号は
全て同辞書のレコード番号を示す。例えば見出し“計算
機”は、同位語としてレコード番号2および3、すなわ
ち“コンピュータ”と“情報処理装置”を持っているこ
とを表している。同義語展開では辞書中のどの項目を用
いて展開するか、図28の同義語展開モード制御信号2
810によりユーザがモードを設定できるようにしてい
る。設定可能なモードは次の通りである。すなわち、 u:同位語を使った展開 b:上位語を使った展開 n:下位語を使った展開 r:関連語を使った展開 およびu,b,n,rの各モードを組み合せた展開がで
きるようにしている。
すような同義語辞書を持つ。図において、レコード番号
とは、辞書中の各見出し文字列に付与されている一連番
号である。各見出し文字列には、それぞれ同位語、上位
語、下位語、関連語が定義されている。同図の同位語、
上位語、下位語、関連語の項目に記述されている番号は
全て同辞書のレコード番号を示す。例えば見出し“計算
機”は、同位語としてレコード番号2および3、すなわ
ち“コンピュータ”と“情報処理装置”を持っているこ
とを表している。同義語展開では辞書中のどの項目を用
いて展開するか、図28の同義語展開モード制御信号2
810によりユーザがモードを設定できるようにしてい
る。設定可能なモードは次の通りである。すなわち、 u:同位語を使った展開 b:上位語を使った展開 n:下位語を使った展開 r:関連語を使った展開 およびu,b,n,rの各モードを組み合せた展開がで
きるようにしている。
【0210】同義語展開の処理は、同義語展開部への入
力文字列中に存在する辞書の見出し文字列を探索するこ
とによって行う。すなわち、異表記展開処理における変
換ルールの見出し文字列の探索の場合と同様に、入力文
字列の先頭から最長一致により見出し文字列を探索す
る。そして、同位語展開の場合には入力文字列において
照合された部分文字列を、順次同位語文字列のリストで
置き換えていく。この際、照合した見出し文字列をも加
えて書き替えを行う。上位語展開、下位語展開、関連語
展開の場合には、入力文字列と見出し文字列が完全に一
致した時に限って、上述の置き換え出力を行う。すなわ
ち、入力文字列中で部分的に一致しただけでは、展開を
行わない。これは、上位語展開、下位語展開、関連語展
開において部分的な文字列の置き換えは意味のない単語
を作ってしまうためである。
力文字列中に存在する辞書の見出し文字列を探索するこ
とによって行う。すなわち、異表記展開処理における変
換ルールの見出し文字列の探索の場合と同様に、入力文
字列の先頭から最長一致により見出し文字列を探索す
る。そして、同位語展開の場合には入力文字列において
照合された部分文字列を、順次同位語文字列のリストで
置き換えていく。この際、照合した見出し文字列をも加
えて書き替えを行う。上位語展開、下位語展開、関連語
展開の場合には、入力文字列と見出し文字列が完全に一
致した時に限って、上述の置き換え出力を行う。すなわ
ち、入力文字列中で部分的に一致しただけでは、展開を
行わない。これは、上位語展開、下位語展開、関連語展
開において部分的な文字列の置き換えは意味のない単語
を作ってしまうためである。
【0211】同位語展開の処理を例を用いて説明する。
【0212】入力文字列が“大型計算機”とすると、同
義語辞書の見出し文字列探索を行うことにより、入力文
字列の3文字目から見出し文字列“計算機”が照合す
る。同義語辞書のレコード番号1の“計算機”から、同
位語としてレコード番号2の“コンピュータ”とレコー
ド番号3の“情報処理装置”が同位語リスト(“計算
機”,“コンピュータ”,“情報処理装置”)として得
られる。入力文字列の該当部分をこのリストで置き換え
ることにより、異表記展開処理の場合と同様に、展開リ
ストを含む文字列“大型(計算機,コンピュータ,情報
処理装置)”が得られる。この展開リストを組み合せて
(この場合は一つしかリストがないが (1)“大型計算機” (2)“大型コンピュータ” (3)“大型情報処理装置” の3つの同位語文字列が得られることになる。
義語辞書の見出し文字列探索を行うことにより、入力文
字列の3文字目から見出し文字列“計算機”が照合す
る。同義語辞書のレコード番号1の“計算機”から、同
位語としてレコード番号2の“コンピュータ”とレコー
ド番号3の“情報処理装置”が同位語リスト(“計算
機”,“コンピュータ”,“情報処理装置”)として得
られる。入力文字列の該当部分をこのリストで置き換え
ることにより、異表記展開処理の場合と同様に、展開リ
ストを含む文字列“大型(計算機,コンピュータ,情報
処理装置)”が得られる。この展開リストを組み合せて
(この場合は一つしかリストがないが (1)“大型計算機” (2)“大型コンピュータ” (3)“大型情報処理装置” の3つの同位語文字列が得られることになる。
【0213】次に上記語展開の処理について例をあげて
説明する。
説明する。
【0214】入力文字列が“計算機”の場合、同義語辞
書の見出し文字列探索で入力文字列と見出し文字列“計
算機”が完全一致する。そこで、上位語としてレコード
番号4の“電子機器”が出力される。この場合には上位
語が一つしかないが、もちろん複数個あってもよい。複
数個の上位語が存在する場合には、前述のようにリスト
として出力する。
書の見出し文字列探索で入力文字列と見出し文字列“計
算機”が完全一致する。そこで、上位語としてレコード
番号4の“電子機器”が出力される。この場合には上位
語が一つしかないが、もちろん複数個あってもよい。複
数個の上位語が存在する場合には、前述のようにリスト
として出力する。
【0215】下位語、関連語についても上位語展開と全
く同じ処理とする。なお、同義語展開において辞書中に
該当する文字列が存在しないときは同義語展開処理部2
803から、何も文字列が出力されない。
く同じ処理とする。なお、同義語展開において辞書中に
該当する文字列が存在しないときは同義語展開処理部2
803から、何も文字列が出力されない。
【0216】以上同義語展開の処理の実施例について説
明した。ところで同義語展開では、辞書を使用するため
に辞書レコード数が多くなると見出し文字列探索に時間
が掛かることがある。この問題の解決として、辞書の見
出し文字列をインデクステーブルを用いて探索する方法
がある。図44に、このやり方の概要を示す。同義語辞
書は、予めその見出し文字列にてアルファベット順に並
べておく。そして、同義語辞書とは別に見出し文字列の
第一番目の文字だけを集め、その文字から始まる見出し
が辞書のどの部分から始まるかを登録したインデクステ
ーブルを持つ。例えば文字“A”で始まる見出しはレコ
ード番号1から存在していることを示している。見出し
文字列探索をするときには、まずこのインデクステーブ
ルを参照し、レコード番号を求め、次にこれに基づいて
同義語辞書にアクセスする。こうすることにより、同義
語辞書の全見出し文字列をスキャンする必要がなくなる
ため、処理時間が短縮できる。例えば、文字“計”で始
める文字列を探索しようとした場合、インデクステーブ
ルにより、“計”で始まる文字列が辞書のレコード番号
501から存在することがわかる。従って、それ以前の
無駄な文字列探索を省くことができる。さらに、見出し
文字列をアルファベット順に並べることにより、見出し
文字列の探索中に先頭文字の異なる見出しまで探索した
ら後の探索は省略できる。例えば“計”で始まる見出し
文字列を探索していれば、“計”以外の文字で始まる見
出し“情報処理装置”まで探索すれば後の不要な探索を
おこなわなくとも済む。
明した。ところで同義語展開では、辞書を使用するため
に辞書レコード数が多くなると見出し文字列探索に時間
が掛かることがある。この問題の解決として、辞書の見
出し文字列をインデクステーブルを用いて探索する方法
がある。図44に、このやり方の概要を示す。同義語辞
書は、予めその見出し文字列にてアルファベット順に並
べておく。そして、同義語辞書とは別に見出し文字列の
第一番目の文字だけを集め、その文字から始まる見出し
が辞書のどの部分から始まるかを登録したインデクステ
ーブルを持つ。例えば文字“A”で始まる見出しはレコ
ード番号1から存在していることを示している。見出し
文字列探索をするときには、まずこのインデクステーブ
ルを参照し、レコード番号を求め、次にこれに基づいて
同義語辞書にアクセスする。こうすることにより、同義
語辞書の全見出し文字列をスキャンする必要がなくなる
ため、処理時間が短縮できる。例えば、文字“計”で始
める文字列を探索しようとした場合、インデクステーブ
ルにより、“計”で始まる文字列が辞書のレコード番号
501から存在することがわかる。従って、それ以前の
無駄な文字列探索を省くことができる。さらに、見出し
文字列をアルファベット順に並べることにより、見出し
文字列の探索中に先頭文字の異なる見出しまで探索した
ら後の探索は省略できる。例えば“計”で始まる見出し
文字列を探索していれば、“計”以外の文字で始まる見
出し“情報処理装置”まで探索すれば後の不要な探索を
おこなわなくとも済む。
【0217】また、インデクステーブル及び辞書中の同
位語などの記述にレコード番号を用いたが、これを辞書
中の位置を特定するアドレスで記述することにより、辞
書へのアクセスを更に高速化できる。アドレスとは、辞
書の該当する見出し文字列が存在する最初の位置を示す
もので、例えば辞書の先頭からのバイト数がある。こう
することにより、辞書へのアクセスが直に特定できるた
め、レコード番号を指定するよりも更に高速化が可能と
なる。
位語などの記述にレコード番号を用いたが、これを辞書
中の位置を特定するアドレスで記述することにより、辞
書へのアクセスを更に高速化できる。アドレスとは、辞
書の該当する見出し文字列が存在する最初の位置を示す
もので、例えば辞書の先頭からのバイト数がある。こう
することにより、辞書へのアクセスが直に特定できるた
め、レコード番号を指定するよりも更に高速化が可能と
なる。
【0218】ここで、図45から図55の開示にしたが
って、本発明のオートマトンの実施例について説明す
る。
って、本発明のオートマトンの実施例について説明す
る。
【0219】異表記検索用のオートマトンについては図
46の集合許容形オートマトンの状態遷移図を用いた場
合の作用について説明する。以後、集合許容形オートマ
トンをオートマトンと略して説明を行う。同図のオート
マトンは図5に示したオートマトンと同様に“インタフ
ェース”の異表記である“インターフェース”,“イン
タフェイス”,“インターフェイス”,“インターフェ
イス”,“インタフェース”,“インターフェース”,
“インターフェース”,“インターフェース”を含む9
語の検索タームを検索するためのものである。
46の集合許容形オートマトンの状態遷移図を用いた場
合の作用について説明する。以後、集合許容形オートマ
トンをオートマトンと略して説明を行う。同図のオート
マトンは図5に示したオートマトンと同様に“インタフ
ェース”の異表記である“インターフェース”,“イン
タフェイス”,“インターフェイス”,“インターフェ
イス”,“インタフェース”,“インターフェース”,
“インターフェース”,“インターフェース”を含む9
語の検索タームを検索するためのものである。
【0220】これらを、図46下の複合語表現文字列で
表すことができる。“フェー”の異表記である(“フェ
イ”,“フェ”(“ー”,“―”))について説明す
る。
表すことができる。“フェー”の異表記である(“フェ
イ”,“フェ”(“ー”,“―”))について説明す
る。
【0221】まず、発音異表記により“フェー”が“フ
ェイ”に置き換えられるので、(“フェイ”,“フェ
ー”)と記述することができる。
ェイ”に置き換えられるので、(“フェイ”,“フェ
ー”)と記述することができる。
【0222】次に“フェー”の長音が長音異表記で
“ー”が“―”に置き換えられるため(“ー”,
“―”)と記述できる。
“ー”が“―”に置き換えられるため(“ー”,
“―”)と記述できる。
【0223】(“フェイ”,“フェー”)に長音異表記
の(“ー”,“―”)を適用させることにより(“フェ
イ”(“ー”,“―”))が得られる。この複合語表現
文字列を用いれば、( )内の部分文字列は等価なので
部分文字列の末尾文字による遷移を同一遷移先状態にま
とめることが可能ある。
の(“ー”,“―”)を適用させることにより(“フェ
イ”(“ー”,“―”))が得られる。この複合語表現
文字列を用いれば、( )内の部分文字列は等価なので
部分文字列の末尾文字による遷移を同一遷移先状態にま
とめることが可能ある。
【0224】ただし、他の部分文字列の遷移の中に含ま
れてしまう場合、例えば(“タ”(“ー”,“―”),
“タ”)の場合は、次の遷移文字の“フ”の遷移の遷移
元状態が“タ”の遷移先状態である状態3と“ター”お
よび“ター”の遷移先状態である状態4であるので、こ
れらの2ヶ所を遷移元状態とする遷移を記述し、遷移先
状態を状態5とする。
れてしまう場合、例えば(“タ”(“ー”,“―”),
“タ”)の場合は、次の遷移文字の“フ”の遷移の遷移
元状態が“タ”の遷移先状態である状態3と“ター”お
よび“ター”の遷移先状態である状態4であるので、こ
れらの2ヶ所を遷移元状態とする遷移を記述し、遷移先
状態を状態5とする。
【0225】このように遷移をまとめることにより、図
5のオートマトンと比べ状態数を約3分の1と大幅に減
らすことができている。
5のオートマトンと比べ状態数を約3分の1と大幅に減
らすことができている。
【0226】ここで用いたオートマトンの作成方法は引
用文献(エー.ブイ.エーホ アンド エム.ジェイ.
コラッシック:“エフィシェント ストリング マッチ
ング,コミュニケーションズエー シー エム,第18
巻,第6号,1975年,A.V. Aho and M. J. Corasic
k : “Efficient String Matching”,CACM, VOL. 18, N
o.6, 1975)に開示されている。このオートマトンは上
記のコンカレントステートオートマトン方式により制御
される。以下、その内容を具体的に説明する。
用文献(エー.ブイ.エーホ アンド エム.ジェイ.
コラッシック:“エフィシェント ストリング マッチ
ング,コミュニケーションズエー シー エム,第18
巻,第6号,1975年,A.V. Aho and M. J. Corasic
k : “Efficient String Matching”,CACM, VOL. 18, N
o.6, 1975)に開示されている。このオートマトンは上
記のコンカレントステートオートマトン方式により制御
される。以下、その内容を具体的に説明する。
【0227】次に、オートマトンの状態遷移制御方法に
ついて説明する。本方法は「フェイル処理」を用いずに
状態遷移を制御しようとするものである。すなわち、
「フェイル処理」を行なう代わりに、複数のトークンを
用いることによってオートマトンの状態遷移を表わそう
とするものである。
ついて説明する。本方法は「フェイル処理」を用いずに
状態遷移を制御しようとするものである。すなわち、
「フェイル処理」を行なう代わりに、複数のトークンを
用いることによってオートマトンの状態遷移を表わそう
とするものである。
【0228】これまで述べてきたオートマトン方式で
は、オートマトンの状態遷移図は、初期状態を除いてア
クティブな状態、すなわち、照合途中を示す遷移状態
(トークンが置かれた状態)が唯1個だけという条件の
もとに作成されたものである。その結果、照合途中で入
力文字との不一致が生じた場合には、トークンの動きが
不連続になるため「フェイル処理」を行わなければなら
なくなる。
は、オートマトンの状態遷移図は、初期状態を除いてア
クティブな状態、すなわち、照合途中を示す遷移状態
(トークンが置かれた状態)が唯1個だけという条件の
もとに作成されたものである。その結果、照合途中で入
力文字との不一致が生じた場合には、トークンの動きが
不連続になるため「フェイル処理」を行わなければなら
なくなる。
【0229】本方法においては、アクティブな状態が発
生する度にトークンを生成し、照合途中で不一致が生じ
た場合にはトークンを消滅させるという方法を採ること
により、フェイル処理を不要にしている。従って、入力
文字列によっては、状態遷移図上に複数のトークンが同
時に存在することにもなる。その意味で、本方法をコン
カンレントステートオートマトン方式と呼ぶことにす
る。
生する度にトークンを生成し、照合途中で不一致が生じ
た場合にはトークンを消滅させるという方法を採ること
により、フェイル処理を不要にしている。従って、入力
文字列によっては、状態遷移図上に複数のトークンが同
時に存在することにもなる。その意味で、本方法をコン
カンレントステートオートマトン方式と呼ぶことにす
る。
【0230】本方法によれば、「フェイル処理」を用い
ずに済むため、オートマトン作成時においてもフェイル
先状態の計算が不要な文字列検索装置を実現することが
できる。
ずに済むため、オートマトン作成時においてもフェイル
先状態の計算が不要な文字列検索装置を実現することが
できる。
【0231】まず、始点状態におけるトークン生成方法
について説明する。始点状態では入力文字が入る度に照
合を行なう。遷移文字と照合した場合、新たなトークン
を生成し、このトークンを始点状態から遷移先状態へ移
動させる。ただし、始点状態から始点状態への状態遷移
の場合には、トークンを生成しない。したがって、始点
状態から始点状態への遷移は無効となるため、この遷移
を省略することも可能である。
について説明する。始点状態では入力文字が入る度に照
合を行なう。遷移文字と照合した場合、新たなトークン
を生成し、このトークンを始点状態から遷移先状態へ移
動させる。ただし、始点状態から始点状態への状態遷移
の場合には、トークンを生成しない。したがって、始点
状態から始点状態への遷移は無効となるため、この遷移
を省略することも可能である。
【0232】次に、例えば“インタフェイス”という文
字列が1文字づつ入力された場合についてオートマトン
の動作を説明する。
字列が1文字づつ入力された場合についてオートマトン
の動作を説明する。
【0233】まず、“イ”が入力されると、始点状態で
の照合が一致しトークンT1が生成され、状態1へ移動
する。トークンT1が状態1にきたところで“ン”が入
力されると、トークンT1は状態2に移動する。また、
これと同時に始点状態でも“ン”による照合が行われる
が不一致なので新たなトークンは生成されない。更に状
態2では入力文字“タ”が入力されると、トークンT1
は状態3に移動する。また、同時に始点状態での照合が
不一致なので新たなトークンは生成されない。次に、続
けて“フェ”が入ってきた場合トークンT1は状態4→
状態5→状態6と移動する。またこの間、始点状態での
照合が不一致なので新たなトークンは生成されない。次
に、“イ”が入力されるとトークンT1は状態6から状
態7へ移動する。また、始点状態での照合は一致するの
で新たにトークンT2が生成され、状態1へ移動する。
次に、“ス”が入ってきた場合トークンT1は状態7か
ら状態8へ移動する。トークンT2は状態1での照合が
不一致なためにここで消滅する。また、始点状態での照
合が不一致なので新たなトークンは生成されない。この
時、トークンT1が状態8に達すると、“インタフェイ
ス”という文字列を検索したことになる。
の照合が一致しトークンT1が生成され、状態1へ移動
する。トークンT1が状態1にきたところで“ン”が入
力されると、トークンT1は状態2に移動する。また、
これと同時に始点状態でも“ン”による照合が行われる
が不一致なので新たなトークンは生成されない。更に状
態2では入力文字“タ”が入力されると、トークンT1
は状態3に移動する。また、同時に始点状態での照合が
不一致なので新たなトークンは生成されない。次に、続
けて“フェ”が入ってきた場合トークンT1は状態4→
状態5→状態6と移動する。またこの間、始点状態での
照合が不一致なので新たなトークンは生成されない。次
に、“イ”が入力されるとトークンT1は状態6から状
態7へ移動する。また、始点状態での照合は一致するの
で新たにトークンT2が生成され、状態1へ移動する。
次に、“ス”が入ってきた場合トークンT1は状態7か
ら状態8へ移動する。トークンT2は状態1での照合が
不一致なためにここで消滅する。また、始点状態での照
合が不一致なので新たなトークンは生成されない。この
時、トークンT1が状態8に達すると、“インタフェイ
ス”という文字列を検索したことになる。
【0234】このように複数のトークンを用いて状態遷
移を制御することにより、オートマトンの状態数が約3
分の1と少なくて済む異表記許容検索を実現することが
できる。
移を制御することにより、オートマトンの状態数が約3
分の1と少なくて済む異表記許容検索を実現することが
できる。
【0235】固定長dont care文字を検索ター
ムに指定した固定長dont care文字指定検索の
処理方法について説明する。
ムに指定した固定長dont care文字指定検索の
処理方法について説明する。
【0236】オートマトンは図47のものを用いる。本
図は図7と同様に“A?B”を検索する場合のオートマ
トンであり、集合遷移を採用した上記方法を用いること
により状態数を図7に比べて約150分の一と少なく実
現できている。
図は図7と同様に“A?B”を検索する場合のオートマ
トンであり、集合遷移を採用した上記方法を用いること
により状態数を図7に比べて約150分の一と少なく実
現できている。
【0237】本オートマトン作成方法は前述の異表記の
オートマトン作成方法と同様である。
オートマトン作成方法と同様である。
【0238】例えば、“AXB”という文字列が入力さ
れた場合の本方法の動作について説明する。
れた場合の本方法の動作について説明する。
【0239】まず、“A”が入力されると始点状態で照
合が一致するためトークンT1が新たに生成され、状態
1へと移動する。次に“X”が入力されると、トークン
T1は状態1から状態2に移動する。また、始点状態で
の照合が不一致なので新たにトークンT1は状態2から
状態3に移動する。同時に、始点状態での照合が不一致
なので新たにトークンは生成されない。次に“B”が入
力されると、トークンは生成されない。状態3は2重円
で記されており、ここでは“A?B”が検索されたこと
になる。
合が一致するためトークンT1が新たに生成され、状態
1へと移動する。次に“X”が入力されると、トークン
T1は状態1から状態2に移動する。また、始点状態で
の照合が不一致なので新たにトークンT1は状態2から
状態3に移動する。同時に、始点状態での照合が不一致
なので新たにトークンは生成されない。次に“B”が入
力されると、トークンは生成されない。状態3は2重円
で記されており、ここでは“A?B”が検索されたこと
になる。
【0240】このように複数のトークンを用いて状態遷
移を制御することにより、異表記許容検索と同様に、オ
ートマトンの状態数が約150分の1と少なくて済む固
定長dont care文字指定検索を実現することが
できる。
移を制御することにより、異表記許容検索と同様に、オ
ートマトンの状態数が約150分の1と少なくて済む固
定長dont care文字指定検索を実現することが
できる。
【0241】上限距離、下限距離や上下限距離などの文
字距離を指定した距離指定検索のオートマトン方式によ
る処理方法について述べる。
字距離を指定した距離指定検索のオートマトン方式によ
る処理方法について述べる。
【0242】まず、上限指定の距離指定の実現方法を以
下に説明する。ここでは“A”と“B”の距離が4文字
以内の距離という上限距離指定がされている場合を例に
する。上限距離指定は固定長dont care文字で
表すことができ、この例は“A”と“B”の距離が4文
字以内の距離という上限距離指定の場合は、“AB”,
“A?B”,“A??B”,“A???B”,“A??
??B”の5つのキーワードで表すことができる。
下に説明する。ここでは“A”と“B”の距離が4文字
以内の距離という上限距離指定がされている場合を例に
する。上限距離指定は固定長dont care文字で
表すことができ、この例は“A”と“B”の距離が4文
字以内の距離という上限距離指定の場合は、“AB”,
“A?B”,“A??B”,“A???B”,“A??
??B”の5つのキーワードで表すことができる。
【0243】これらのキーワードからのオートマトン作
成方法を以下に説明する。まず、“AB”のオートマト
ンを作成する。ここで、状態0,状態1および状態7が
作成される。次に、“A?B”のオートマトンを作成す
る。第2文字目の“?”は1文字の全ての文字を表すた
め、遷移文字“B”による状態1から状態7への遷移以
外の遷移文字による遷移先を新たに作成する必要があ
る。すなわち、遷移文字{“B”}による状態1から状
態2への遷移が作成される。さらに第3文字目の遷移文
字“B”による遷移として第2文字目の“?”の遷移先
である状態2及び状態7から状態8への遷移が作成され
る。同様に“A??B”,“A???B”,“A???
?B”について作成することにより第48図のオートマ
トンが得られる。本オートマトン作成方法は前述の固定
長dont care文字のオートマトン作成方法と同
様である。
成方法を以下に説明する。まず、“AB”のオートマト
ンを作成する。ここで、状態0,状態1および状態7が
作成される。次に、“A?B”のオートマトンを作成す
る。第2文字目の“?”は1文字の全ての文字を表すた
め、遷移文字“B”による状態1から状態7への遷移以
外の遷移文字による遷移先を新たに作成する必要があ
る。すなわち、遷移文字{“B”}による状態1から状
態2への遷移が作成される。さらに第3文字目の遷移文
字“B”による遷移として第2文字目の“?”の遷移先
である状態2及び状態7から状態8への遷移が作成され
る。同様に“A??B”,“A???B”,“A???
?B”について作成することにより第48図のオートマ
トンが得られる。本オートマトン作成方法は前述の固定
長dont care文字のオートマトン作成方法と同
様である。
【0244】次に、例えば“ABCBBBC”という文
字列が1文字づつ入力された場合についてオートマトン
の動作を説明する。まず、“A”が入力されると、始点
状態での照合が一致しトークンが生成され状態1へ移動
する。“B”が入力されるとトークンは状態7へ移動
し、“A”と“B”が隣接している“AB”を照合す
る。さらに、“C”が入力されるとトークンは状態3へ
移動する。次に、“B”が入力されるとトークンは状態
9へ移動し、“A”と“B”が2文字の距離にある“A
BCB”を照合する。
字列が1文字づつ入力された場合についてオートマトン
の動作を説明する。まず、“A”が入力されると、始点
状態での照合が一致しトークンが生成され状態1へ移動
する。“B”が入力されるとトークンは状態7へ移動
し、“A”と“B”が隣接している“AB”を照合す
る。さらに、“C”が入力されるとトークンは状態3へ
移動する。次に、“B”が入力されるとトークンは状態
9へ移動し、“A”と“B”が2文字の距離にある“A
BCB”を照合する。
【0245】次に、“B”が入力されるとトークンは状
態10へ移動し、“A”と“B”が3文字以内の距離に
ある“ABCBB”を照合する。次に、“B”が入力さ
れるとトークンは状態6へ移動し、“A”と“B”が4
文字の距離にある“ABCBBB”を照合する。さら
に、“C”が入力されると状態6においてトークンの遷
移先がないためトークンは消滅する。
態10へ移動し、“A”と“B”が3文字以内の距離に
ある“ABCBB”を照合する。次に、“B”が入力さ
れるとトークンは状態6へ移動し、“A”と“B”が4
文字の距離にある“ABCBBB”を照合する。さら
に、“C”が入力されると状態6においてトークンの遷
移先がないためトークンは消滅する。
【0246】以上のことから、“ABCBBC”から
“A”と“B”が4文字以内の距離にある検索タームで
ある“AB”,“ABCB”,“ABCBB”および
“ABCBB”が照合されていることが分かる。すなわ
ち、“AB”,“A??B”,“A???B”および
“A????B”が探索できていることが示されてい
る。
“A”と“B”が4文字以内の距離にある検索タームで
ある“AB”,“ABCB”,“ABCBB”および
“ABCBB”が照合されていることが分かる。すなわ
ち、“AB”,“A??B”,“A???B”および
“A????B”が探索できていることが示されてい
る。
【0247】このオートマトンの場合も固定長dont
care文字の場合と同様にトークンを制御すること
により、上限指定の距離指定探索を実現することができ
る。
care文字の場合と同様にトークンを制御すること
により、上限指定の距離指定探索を実現することができ
る。
【0248】次に、下限指定の距離指定の実現方法を以
下に説明する。ここでは“A”と“B”の距離が2文字
以上の距離という下限距離指定がされた場合を例にす
る。下限距離指定では上限距離が無限大となるためdo
nt care文字で表すことができない。つまり、
“A”と“B”の距離が2文字以上の距離という下限距
離指定の場合は、固定長dont care文字で表わ
すと“A??B”,“A???B”,“A????B”
…となりキーワード数が無限大になるためである。
下に説明する。ここでは“A”と“B”の距離が2文字
以上の距離という下限距離指定がされた場合を例にす
る。下限距離指定では上限距離が無限大となるためdo
nt care文字で表すことができない。つまり、
“A”と“B”の距離が2文字以上の距離という下限距
離指定の場合は、固定長dont care文字で表わ
すと“A??B”,“A???B”,“A????B”
…となりキーワード数が無限大になるためである。
【0249】この問題を解決する方法を図49のオート
マトンで説明する。
マトンで説明する。
【0250】まず、下限距離を固定長dont car
e文字で表したキーワードでオートマトンを作成する。
このオートマトンの作成方法は固定長dont car
e文字の場合と同様である。ここでは下限距離は2なの
で、“A??B”を検索タームとしてオートマトンを作
成する。次に下限距離だけ遷移した状態(この例では状
態3)を仮の始点とし、この始点状態以降につながる状
態についてオートマトンを作成する。このオートマトン
は、全ての入力文字に対して遷移を記述する従来方式1
を用いて作成できる。このようにして、上限距離が無限
大の場合でもオートマトンを作成することができること
になる。オートマトンの作成方法は前述した上限距離指
定のオートマトンの場合と同様である。
e文字で表したキーワードでオートマトンを作成する。
このオートマトンの作成方法は固定長dont car
e文字の場合と同様である。ここでは下限距離は2なの
で、“A??B”を検索タームとしてオートマトンを作
成する。次に下限距離だけ遷移した状態(この例では状
態3)を仮の始点とし、この始点状態以降につながる状
態についてオートマトンを作成する。このオートマトン
は、全ての入力文字に対して遷移を記述する従来方式1
を用いて作成できる。このようにして、上限距離が無限
大の場合でもオートマトンを作成することができること
になる。オートマトンの作成方法は前述した上限距離指
定のオートマトンの場合と同様である。
【0251】次に、例えば“ACDEFB”という文字
列が1文字づつ入力された場合のオートマトンの動作に
ついて説明する。まず、“A”が入力されると、始点状
態での照合が一致しトークンが生成され状態1へ移動す
る。
列が1文字づつ入力された場合のオートマトンの動作に
ついて説明する。まず、“A”が入力されると、始点状
態での照合が一致しトークンが生成され状態1へ移動す
る。
【0252】“C”が入力されるとトークンは状態2へ
移動する。さらに、“D”が入力されると“B”以外の
文字ということでトークンは状態3へ移動する。次に、
“E”が入力されるとトークンは状態3でループする。
移動する。さらに、“D”が入力されると“B”以外の
文字ということでトークンは状態3へ移動する。次に、
“E”が入力されるとトークンは状態3でループする。
【0253】次に、“F”が入力されると同様にトーク
ンは再度状態3でループする。さらに“B”が入力され
るとトークンは状態4へ移動する。状態4は、2重丸の
状態なので、“A”と“B”が2文字以上離れた距離に
ある文字列が照合されたことを示している。
ンは再度状態3でループする。さらに“B”が入力され
るとトークンは状態4へ移動する。状態4は、2重丸の
状態なので、“A”と“B”が2文字以上離れた距離に
ある文字列が照合されたことを示している。
【0254】すなわち、“ACDEFB”を“A”と
“B”が2文字以上、すなわち4文字離れた距離にある
文字列として探索できていることが分かる。
“B”が2文字以上、すなわち4文字離れた距離にある
文字列として探索できていることが分かる。
【0255】次に、下限距離指定を用いたキーワードに
可変長dont care文字“*”を指定した検索の
方法について説明する。
可変長dont care文字“*”を指定した検索の
方法について説明する。
【0256】可変長dont care文字“*”は、
下限距離に0を指定した場合の距離指定を用いて実現す
ることができる。すなわち“AB*CD”は“AB”と
“CD”の距離が0文字以上の距離という下限距離指定
に置き換えることができる。この場合のオートマトンは
図50のようになる。このように可変長dont ca
re文字を指定した検索も下限距離指定と同様に実現す
ることができる。
下限距離に0を指定した場合の距離指定を用いて実現す
ることができる。すなわち“AB*CD”は“AB”と
“CD”の距離が0文字以上の距離という下限距離指定
に置き換えることができる。この場合のオートマトンは
図50のようになる。このように可変長dont ca
re文字を指定した検索も下限距離指定と同様に実現す
ることができる。
【0257】オートマトンの作成方法および動作は前述
した下限距離指定のオートマトンの場合と同様である。
した下限距離指定のオートマトンの場合と同様である。
【0258】最後に、上下限指定の距離指定の実現方法
を以下に説明する。ここでは“A”と“B”の距離が2
文字以上で、かつ、4文字以下の距離という上下限距離
指定を例にする。上下限距離指定は固定長dont c
are文字で表すことができ、この例の“A”と“B”
の距離が2文字以上、4文字以内の距離という場合には、
“A?B”,“A??B”,“A???B”,“A??
??B”の4つのキーワードで表すことができ、これら
から固定長dont care文字の場合と同様に図5
1に示すオートマトンを作成することができる。
を以下に説明する。ここでは“A”と“B”の距離が2
文字以上で、かつ、4文字以下の距離という上下限距離
指定を例にする。上下限距離指定は固定長dont c
are文字で表すことができ、この例の“A”と“B”
の距離が2文字以上、4文字以内の距離という場合には、
“A?B”,“A??B”,“A???B”,“A??
??B”の4つのキーワードで表すことができ、これら
から固定長dont care文字の場合と同様に図5
1に示すオートマトンを作成することができる。
【0259】オートマトンの作成方法および動作は前述
した下限距離指定のオートマトンの場合と同様である。
した下限距離指定のオートマトンの場合と同様である。
【0260】1文字誤りを許容した検索である1文字誤
り許容検索の処理方法について説明する。
り許容検索の処理方法について説明する。
【0261】キーワードに“ABCD”を指定した場合
の例について説明する。この例ではキーワードとしては
誤りなしの場合として“ABCD”について、1文字削
除として“ABC”,“ABD”,“ACD”,“BC
D”について、1文字相違として“A?CD”,“AB
?D”,“ABC?”について、1文字挿入として“A
?BCD”,“AB?CD”,“ABC?D”,“AB
CD?”についてオートマトンを作成する。これらを複
合語表現文字列にすると、図76に示す通りになる。こ
れに基づいて固定長dont care文字の場合と同
様に図52図に示すオートマトンを作成することができ
る。
の例について説明する。この例ではキーワードとしては
誤りなしの場合として“ABCD”について、1文字削
除として“ABC”,“ABD”,“ACD”,“BC
D”について、1文字相違として“A?CD”,“AB
?D”,“ABC?”について、1文字挿入として“A
?BCD”,“AB?CD”,“ABC?D”,“AB
CD?”についてオートマトンを作成する。これらを複
合語表現文字列にすると、図76に示す通りになる。こ
れに基づいて固定長dont care文字の場合と同
様に図52図に示すオートマトンを作成することができ
る。
【0262】オートマトンの作成方法および動作は前述
した上下限距離指定のオートマトンの場合と同様であ
る。
した上下限距離指定のオートマトンの場合と同様であ
る。
【0263】1文字入れ替わりを許容した検索である1
文字入れ替わり許容検索の処理方法について説明する。
キーワードに“ABCD”を指定した場合の例について
説明する。この例ではキーワードとしては誤りなしの場
合として“ABCD”について、1文字入れ替わりとし
て“BACD”,“ACBD”,“ABCD”について
オートマトンを作成する。これらを複合語表現文字列に
すると、図77に示す通りになる。これに基づいて固定
長dont care文字の場合と同様に図53に示す
オートマトンを作成することができる。
文字入れ替わり許容検索の処理方法について説明する。
キーワードに“ABCD”を指定した場合の例について
説明する。この例ではキーワードとしては誤りなしの場
合として“ABCD”について、1文字入れ替わりとし
て“BACD”,“ACBD”,“ABCD”について
オートマトンを作成する。これらを複合語表現文字列に
すると、図77に示す通りになる。これに基づいて固定
長dont care文字の場合と同様に図53に示す
オートマトンを作成することができる。
【0264】オートマトンの作成方法および動作は前述
した1文字誤り許容のオートマトンの場合と同様であ
る。
した1文字誤り許容のオートマトンの場合と同様であ
る。
【0265】以上のように本発明によれば、少ない状態
数で異表記検索、固定長dontcare文字指定検
索、文字距離指定検索、可変長dont care文字
指定検索、1文字誤り許容検索、1文字入れ替わり許容
検索などの検索機能を実現するオートマトンを作成する
ことができる。したがって、オートマトンの作成時間も
短縮でき、状態遷移テーブルもコンパクトにできるため
ハードウェア量の少ない文字列検索装置を実現すること
が可能となる。
数で異表記検索、固定長dontcare文字指定検
索、文字距離指定検索、可変長dont care文字
指定検索、1文字誤り許容検索、1文字入れ替わり許容
検索などの検索機能を実現するオートマトンを作成する
ことができる。したがって、オートマトンの作成時間も
短縮でき、状態遷移テーブルもコンパクトにできるため
ハードウェア量の少ない文字列検索装置を実現すること
が可能となる。
【0266】以下、上記文字列検索方法を用いた図10
のサーチエンジン1106に相当する文字列検索装置の
実施例について述べる。本実施例の構成を図45に示
す。本実施例の構成は、文字コードと状態番号を入力す
ることにより次状態番号を出力する状態遷移テーブル2
20と、状態番号を入力することにより照合したか否か
の照合結果IDを出力する照合結果テーブル260、ト
ークンの消滅を制御するセレクタ262、トークンの消
滅制御情報として移動先の状態がないトークンか否かを
判定を行うコンパレータ252、初期状態番号を格納す
るレジスタ251および、現状態番号や次状態番号を格
納するバッファ280とバッファ281などから成って
いる。
のサーチエンジン1106に相当する文字列検索装置の
実施例について述べる。本実施例の構成を図45に示
す。本実施例の構成は、文字コードと状態番号を入力す
ることにより次状態番号を出力する状態遷移テーブル2
20と、状態番号を入力することにより照合したか否か
の照合結果IDを出力する照合結果テーブル260、ト
ークンの消滅を制御するセレクタ262、トークンの消
滅制御情報として移動先の状態がないトークンか否かを
判定を行うコンパレータ252、初期状態番号を格納す
るレジスタ251および、現状態番号や次状態番号を格
納するバッファ280とバッファ281などから成って
いる。
【0267】本実施例を用いたオートマトンの状態遷移
動作を下記に説明する。図45において所定の文字列記
憶手段から読み出された文字列301は1文字づつレジ
スタ211に格納される。レジスタ211から出力され
る文字コード302は、本発明によるオートマトンの遷
移表が格納されている状態遷移テーブル220にアドレ
ス情報として入力される。状態遷移テーブル220では
現在の状態番号305と文字コード302から次に遷移
すべき遷移先状態番号303を出力する。次状態番号が
初期状態番号であるとき、オートマトンの遷移が記述さ
れていないことを表している。このため次状態番号が初
期状態番号であるとき、トークンを消滅させる必要があ
る。次状態番号303はレジスタ250に格納された
後、セレクタ262及びマルチプレクサ260を経由し
バッファ280またはバッファ281のいずれか選択さ
れている方に格納される。このとき、セレクタ262で
はトークンを消滅させるか否かを制御している。このト
ークンを消滅させるか否かの判定は次状態番号303が
レジスタ251に格納されている初期次状態番号(この
例では、状態番号0)と異なるか否かをコンパレータ2
52で調べることにより実現している。
動作を下記に説明する。図45において所定の文字列記
憶手段から読み出された文字列301は1文字づつレジ
スタ211に格納される。レジスタ211から出力され
る文字コード302は、本発明によるオートマトンの遷
移表が格納されている状態遷移テーブル220にアドレ
ス情報として入力される。状態遷移テーブル220では
現在の状態番号305と文字コード302から次に遷移
すべき遷移先状態番号303を出力する。次状態番号が
初期状態番号であるとき、オートマトンの遷移が記述さ
れていないことを表している。このため次状態番号が初
期状態番号であるとき、トークンを消滅させる必要があ
る。次状態番号303はレジスタ250に格納された
後、セレクタ262及びマルチプレクサ260を経由し
バッファ280またはバッファ281のいずれか選択さ
れている方に格納される。このとき、セレクタ262で
はトークンを消滅させるか否かを制御している。このト
ークンを消滅させるか否かの判定は次状態番号303が
レジスタ251に格納されている初期次状態番号(この
例では、状態番号0)と異なるか否かをコンパレータ2
52で調べることにより実現している。
【0268】すなわち、次状態番号303が初期状態番
号である場合はトークンが移動すべき状態がないことを
示しているため、セレクタ262では次状態番号303
を選択しない。このため次状態番号303はマルチプレ
クサ260には送られず、トークンは消滅することにな
る。
号である場合はトークンが移動すべき状態がないことを
示しているため、セレクタ262では次状態番号303
を選択しない。このため次状態番号303はマルチプレ
クサ260には送られず、トークンは消滅することにな
る。
【0269】逆に次状態番号303が初期状態番号でな
い場合、トークンが移動すべき状態があることを示して
いるため、セレクタ262では次状態番号303を選択
してマルチプレクサ260に送られ、トークンは消滅さ
れない。
い場合、トークンが移動すべき状態があることを示して
いるため、セレクタ262では次状態番号303を選択
してマルチプレクサ260に送られ、トークンは消滅さ
れない。
【0270】このように、次状態番号303が初期状態
番号の場合はトークンを消滅させることによって、初期
状態番号のトークンがバッファ280およびバッファ2
81に溜り、冗長なトークンがバッファ280およびバ
ッファ281に溜り、冗長なトークンがバッファ280
およびバッファ281内に存在し、オーバーフローする
という問題を解決できることになる。
番号の場合はトークンを消滅させることによって、初期
状態番号のトークンがバッファ280およびバッファ2
81に溜り、冗長なトークンがバッファ280およびバ
ッファ281に溜り、冗長なトークンがバッファ280
およびバッファ281内に存在し、オーバーフローする
という問題を解決できることになる。
【0271】バッファ280とバッファ281は、それ
ぞれデータの読取り用と書込み用の2面バッファとして
用い、高速処理を実現している。この2つのバッファは
1つにまとめ回路規模を小さくすることも可能である。
ただし、処理速度は低下することになる。バッファ28
0及びバッファ281には初期値として始点次状態番号
を先頭アドレスに設定しておく。バッファ280及びバ
ッファ281に送られてきた次状態番号303は始点状
態の次のアドレスから格納する。現状態番号305はセ
レクタ261で選択されているバッファ280及びバッ
ファ281のいずれかから逐次読み出され、全て読み出
したときに読出し終了信号307を発生する。マルチプ
レクサ260とセレクタ261は同期しており、選択動
作についてはマルチプレクサ260がバッファ280を
選択しているときはセレクタ261はバッファ281を
選択している。また、マルチプレクサ260がバッファ
281を選択しているときはセレクタ261はバッファ
280を選択する。バッファ280及びバッファ281
の選択の切り替えは、セレクタ261が選択したバッフ
ァ280または281のいずれかの読出し終了信号30
7の発生のタイミングで行われる。状態遷移テーブル2
20には図55に示した状態遷移表を格納する。これは
図46のオートマトンに対応したものである。レジスタ
211は通常は、レジスタ250と同期して文字列デー
タを取り込むが、読出し終了信号が発生するまで文字列
データを保持し、現状態番号が全て読み出されるまで次
の入力を待つことになる。検索結果テーブル260には
文字列の終点となる終点状態に対応して各検索タームを
識別するための所定のコードが格納されている。図46
のオートマトンに対応した検索結果テーブル260の内
容を図55に示す。検索ターム番号が0以外の内容のと
き有効な検索ターム番号を表している。すなわち、状態
番号に対応した検索ターム番号が0以外のとき照合結果
として図10の複合条件判定手段1145へ送られる。
以上の動作が図46に示したオートマトンを実行する形
で、入力文字列を構成する各文字ごとに繰返し行われる
ことにより検索処理が実現される。
ぞれデータの読取り用と書込み用の2面バッファとして
用い、高速処理を実現している。この2つのバッファは
1つにまとめ回路規模を小さくすることも可能である。
ただし、処理速度は低下することになる。バッファ28
0及びバッファ281には初期値として始点次状態番号
を先頭アドレスに設定しておく。バッファ280及びバ
ッファ281に送られてきた次状態番号303は始点状
態の次のアドレスから格納する。現状態番号305はセ
レクタ261で選択されているバッファ280及びバッ
ファ281のいずれかから逐次読み出され、全て読み出
したときに読出し終了信号307を発生する。マルチプ
レクサ260とセレクタ261は同期しており、選択動
作についてはマルチプレクサ260がバッファ280を
選択しているときはセレクタ261はバッファ281を
選択している。また、マルチプレクサ260がバッファ
281を選択しているときはセレクタ261はバッファ
280を選択する。バッファ280及びバッファ281
の選択の切り替えは、セレクタ261が選択したバッフ
ァ280または281のいずれかの読出し終了信号30
7の発生のタイミングで行われる。状態遷移テーブル2
20には図55に示した状態遷移表を格納する。これは
図46のオートマトンに対応したものである。レジスタ
211は通常は、レジスタ250と同期して文字列デー
タを取り込むが、読出し終了信号が発生するまで文字列
データを保持し、現状態番号が全て読み出されるまで次
の入力を待つことになる。検索結果テーブル260には
文字列の終点となる終点状態に対応して各検索タームを
識別するための所定のコードが格納されている。図46
のオートマトンに対応した検索結果テーブル260の内
容を図55に示す。検索ターム番号が0以外の内容のと
き有効な検索ターム番号を表している。すなわち、状態
番号に対応した検索ターム番号が0以外のとき照合結果
として図10の複合条件判定手段1145へ送られる。
以上の動作が図46に示したオートマトンを実行する形
で、入力文字列を構成する各文字ごとに繰返し行われる
ことにより検索処理が実現される。
【0272】入力文字列が入力された場合、例えば、
“インタフェイス”という文字列が入力された場合の本
方式の照合動作について説明する。
“インタフェイス”という文字列が入力された場合の本
方式の照合動作について説明する。
【0273】まず初期設定として、以下の処理を行う。
状態遷移テーブル220には図54に示した状態遷移表
を、また、検索結果テーブル260には図55の検索結
果表を格納する。これらのテーブルは、図46のオート
マトンに対応したものである。
状態遷移テーブル220には図54に示した状態遷移表
を、また、検索結果テーブル260には図55の検索結
果表を格納する。これらのテーブルは、図46のオート
マトンに対応したものである。
【0274】バッファ280及びバッファ281には初
期値として始点状態番号である0を先頭アドレスに格納
する。レジスタ250、レジスタ251には初期状態番
号である0を格納する。マルチプレクサ260はバッフ
ァ281を選択し、セレクタ261はバッファ280を
選択する。したがって、次状態番号303は始点状態番
号である0となる。
期値として始点状態番号である0を先頭アドレスに格納
する。レジスタ250、レジスタ251には初期状態番
号である0を格納する。マルチプレクサ260はバッフ
ァ281を選択し、セレクタ261はバッファ280を
選択する。したがって、次状態番号303は始点状態番
号である0となる。
【0275】次に、これらの初期設定に基づいた照合動
作について説明する。
作について説明する。
【0276】まず、1文字目の“イ”がレジスタ211
に格納される。すると、文字コード302と現状態番号
305をアドレスとして状態遷移テーブル220より次
状態番号1が読み出され、レジスタ250に格納され
る。このとき現状態番号305は0となっている。
に格納される。すると、文字コード302と現状態番号
305をアドレスとして状態遷移テーブル220より次
状態番号1が読み出され、レジスタ250に格納され
る。このとき現状態番号305は0となっている。
【0277】コンパレータ252はレジスタ251に格
納されている初期状態番号である0とレジスタ250に
格納されている次状態番号303である1を比較する。
等しくないのでセレクタ262は次状態番号303を選
択する。このことは、状態0から状態1に遷移文字
“イ”による遷移が記述されていることを示している。
納されている初期状態番号である0とレジスタ250に
格納されている次状態番号303である1を比較する。
等しくないのでセレクタ262は次状態番号303を選
択する。このことは、状態0から状態1に遷移文字
“イ”による遷移が記述されていることを示している。
【0278】状態1における検索結果テーブル260の
検索ターム番号は0であるので照合結果306は出力さ
れない。このことは、状態1に照合結果が格納されてい
ないことを示している。
検索ターム番号は0であるので照合結果306は出力さ
れない。このことは、状態1に照合結果が格納されてい
ないことを示している。
【0279】マルチプレクサ260では、バッファ28
1が選択されているので、バッファ281に次状態番号
である1が、始点状態番号に続く2つめの次状態番号と
して格納される。バッファ280から全ての現状態番号
が読み取られたので、終了信号307が発生する。
1が選択されているので、バッファ281に次状態番号
である1が、始点状態番号に続く2つめの次状態番号と
して格納される。バッファ280から全ての現状態番号
が読み取られたので、終了信号307が発生する。
【0280】これによりマルチプレクサ260はバッフ
ァ280を選択し、セレクタ261はバッファ281を
選択することになる。すなわち、バッファ内の2つの次
状態番号が現状態番号として、次の文字に対する遷移に
用いられることになる。
ァ280を選択し、セレクタ261はバッファ281を
選択することになる。すなわち、バッファ内の2つの次
状態番号が現状態番号として、次の文字に対する遷移に
用いられることになる。
【0281】これらの動作をオートマトンの状態遷移と
してみると、まずバッファ280に格納されている現状
態番号である状態0において遷移文字“イ”が記述され
ているかの照合が行われている。次に、遷移が記述され
ていなければ次の現状態番号の処理が行なわれ、遷移が
記述されている場合、バッファ281に次状態番号が格
納され、同時に照合結果が格納されているか、照合結果
テーブルの次状態番号が示されるアドレスに有効なター
ムIDが格納されているかチェックすることにより調べ
られている。この場合では遷移が記述されているので、
次状態番号である状態1がバッファ281に格納されて
おり、照合結果テーブルを調べたところ結果は格納され
ていないため照合結果は出力されない。
してみると、まずバッファ280に格納されている現状
態番号である状態0において遷移文字“イ”が記述され
ているかの照合が行われている。次に、遷移が記述され
ていなければ次の現状態番号の処理が行なわれ、遷移が
記述されている場合、バッファ281に次状態番号が格
納され、同時に照合結果が格納されているか、照合結果
テーブルの次状態番号が示されるアドレスに有効なター
ムIDが格納されているかチェックすることにより調べ
られている。この場合では遷移が記述されているので、
次状態番号である状態1がバッファ281に格納されて
おり、照合結果テーブルを調べたところ結果は格納され
ていないため照合結果は出力されない。
【0282】次に2文字目の“ン”がレジスタ211に
読み込まれる。すると、文字コード302と現状態番号
305をアドレスとする状態遷移テーブル220より次
状態番号である0が出力され、レジスタ250に格納さ
れる。
読み込まれる。すると、文字コード302と現状態番号
305をアドレスとする状態遷移テーブル220より次
状態番号である0が出力され、レジスタ250に格納さ
れる。
【0283】コンパレータ252はレジスタ251に格
納されている初期状態番号である0とレジスタ250に
格納されている次状態番号である0を比較する。等しい
のでセレクタ262では次状態番号303は選択されな
い。このため次状態番号303は、バッファ280に格
納されない。このことは、状態0には遷移文字“ン”に
よる繊維が記述されていないことを示している。ここで
はこのように制御することにより、始点状態から始点状
態への遷移におけるトークンの生成を防いでい次に、バ
ッファ281より第2の次状態番号1が読み出され、文
字コード302と次状態番号である1をアドレスとして
状態遷移テーブル220より次状態番号2が出力され、
レジスタ250に格納される。コンパレータ252はレ
ジスタ251に格納されている初期状態番号である0と
レジスタ250に格納されている次状態番号303であ
る2を比較する。等しくないのでセレクタ262は次状
態番号303を選択することになる。このことは、状態
1から状態2に遷移文字“ン”による遷移が記述されて
いることを示している。
納されている初期状態番号である0とレジスタ250に
格納されている次状態番号である0を比較する。等しい
のでセレクタ262では次状態番号303は選択されな
い。このため次状態番号303は、バッファ280に格
納されない。このことは、状態0には遷移文字“ン”に
よる繊維が記述されていないことを示している。ここで
はこのように制御することにより、始点状態から始点状
態への遷移におけるトークンの生成を防いでい次に、バ
ッファ281より第2の次状態番号1が読み出され、文
字コード302と次状態番号である1をアドレスとして
状態遷移テーブル220より次状態番号2が出力され、
レジスタ250に格納される。コンパレータ252はレ
ジスタ251に格納されている初期状態番号である0と
レジスタ250に格納されている次状態番号303であ
る2を比較する。等しくないのでセレクタ262は次状
態番号303を選択することになる。このことは、状態
1から状態2に遷移文字“ン”による遷移が記述されて
いることを示している。
【0284】状態2における検索結果テーブル260の
検索ターム番号は0であるので照合結果306は出力さ
れない。このことは、状態2に照合結果が格納されてい
ないことを示している。
検索ターム番号は0であるので照合結果306は出力さ
れない。このことは、状態2に照合結果が格納されてい
ないことを示している。
【0285】また、マルチプレクサ260では、バッフ
ァ280を選択しているので、バッファ280に次状態
番号303である2が始点状態番号に続く2つめの次状
態番号として格納される。
ァ280を選択しているので、バッファ280に次状態
番号303である2が始点状態番号に続く2つめの次状
態番号として格納される。
【0286】バッファ281からは全ての現状態番号を
読み取られたので、終了番号307が発生する。
読み取られたので、終了番号307が発生する。
【0287】これによりマルチプレクサ260はバッフ
ァ281を選択し、セレクタ261はバッファ280を
選択することになる。すなわち、バッファ280内の2
つの次状態番号が2つの現状態番号として、次の文字に
対する遷移に用いられることになる。
ァ281を選択し、セレクタ261はバッファ280を
選択することになる。すなわち、バッファ280内の2
つの次状態番号が2つの現状態番号として、次の文字に
対する遷移に用いられることになる。
【0288】これらの動作をオートマトンの状態遷移と
してみると、まずバッファ281に格納されている現状
態番号である状態0において遷移文字“ン”が記述され
ているかの照合を行なっている。この場合記述されてな
いので次の現状態番号である状態1について同様に照合
を行う。状態2への遷移が記述されているので、状態2
は次状態番号としてバッファ280に格納される。ま
た、状態2には照合結果が格納されてないので、照合結
果は出力されていない。
してみると、まずバッファ281に格納されている現状
態番号である状態0において遷移文字“ン”が記述され
ているかの照合を行なっている。この場合記述されてな
いので次の現状態番号である状態1について同様に照合
を行う。状態2への遷移が記述されているので、状態2
は次状態番号としてバッファ280に格納される。ま
た、状態2には照合結果が格納されてないので、照合結
果は出力されていない。
【0289】次に3文字目の“タ”も2文字目と同様の
照合処理となるので説明を簡略する。まず、バッファ2
80に登録されている、現状態番号である状態0におけ
る照合動作を行なうこの場合記述されていないので次の
現状態番号である状態2について同様に照合を行なう。
状態3への遷移が記述されているので、状態3が次状態
番号としてバッファ280に格納される。また、状態3
には照合結果が格納されてないので、照合結果は出力さ
れない。
照合処理となるので説明を簡略する。まず、バッファ2
80に登録されている、現状態番号である状態0におけ
る照合動作を行なうこの場合記述されていないので次の
現状態番号である状態2について同様に照合を行なう。
状態3への遷移が記述されているので、状態3が次状態
番号としてバッファ280に格納される。また、状態3
には照合結果が格納されてないので、照合結果は出力さ
れない。
【0290】次に4文字目の“フ”も3文字目と同様の
照合処理となるので説明を簡略する。まず、バッファ2
81に登録されている、現状態番号である状態0におけ
る照合動作を行なう。この場合記述されていないので次
の現状態番号である状態3について同様に照合を行な
う。状態4への遷移が記述されているので、状態4が次
状態番号としてバッファ280に格納される。また、状
態4には照合結果が格納されてないので、照合結果は出
力されない。
照合処理となるので説明を簡略する。まず、バッファ2
81に登録されている、現状態番号である状態0におけ
る照合動作を行なう。この場合記述されていないので次
の現状態番号である状態3について同様に照合を行な
う。状態4への遷移が記述されているので、状態4が次
状態番号としてバッファ280に格納される。また、状
態4には照合結果が格納されてないので、照合結果は出
力されない。
【0291】次に5文字目の“エ”も4文字目と同様の
照合処理となるので説明を簡略する。まず、バッファ2
80に登録されている現状態番号である状態0における
照合動作を行なう。この場合記述されてないので次の現
状態番号である状態4について同様に照合を行なう。状
態5への遷移が記述されているので、状態5が次状態番
号としてバッファ281に格納される。また、状態5に
は照合結果が格納されてないので、照合結果は出力され
ない。
照合処理となるので説明を簡略する。まず、バッファ2
80に登録されている現状態番号である状態0における
照合動作を行なう。この場合記述されてないので次の現
状態番号である状態4について同様に照合を行なう。状
態5への遷移が記述されているので、状態5が次状態番
号としてバッファ281に格納される。また、状態5に
は照合結果が格納されてないので、照合結果は出力され
ない。
【0292】次に6文字目の“イ”がレジスタ211に
読み込まれる。このステップではトークンが2つから3
つに増加しているので詳細に説明する。
読み込まれる。このステップではトークンが2つから3
つに増加しているので詳細に説明する。
【0293】文字コード302と次状態番号である0を
アドレスとする状態遷移テーブル220より次状態番号
として1が出力され、レジスタ250に格納される。コ
ンパレータ252はレジスタ251に格納されている初
期状態番号である0とレジスタ250に格納されている
次状態番号である1を比較する。この場合、等しくない
のでセレクタ262は次状態番号303を選択する。状
態1における検索結果テーブルのキーワード番号は0で
あるので照合結果306は出力されない。マルチプレク
サ260では、バッファ280が選択されているので、
バッファ280に次状態番号である1が始点状態番号に
続く2つめの次状態番号として格納される。
アドレスとする状態遷移テーブル220より次状態番号
として1が出力され、レジスタ250に格納される。コ
ンパレータ252はレジスタ251に格納されている初
期状態番号である0とレジスタ250に格納されている
次状態番号である1を比較する。この場合、等しくない
のでセレクタ262は次状態番号303を選択する。状
態1における検索結果テーブルのキーワード番号は0で
あるので照合結果306は出力されない。マルチプレク
サ260では、バッファ280が選択されているので、
バッファ280に次状態番号である1が始点状態番号に
続く2つめの次状態番号として格納される。
【0294】次に、バッファ281より第2の次状態番
号6が読み出され、文字コード302と次状態番号であ
る6をアドレスとする状態遷移テーブル220より次状
態番号として7が出力され、レジスタ250に格納され
る。コンパレータ252はレジスタ251に格納されて
いる初期状態番号である0とレジスタ250に格納され
ている次状態番号である7を比較する。この場合、等し
くないのでセレクタ262は次状態番号を選択する。状
態7における検索結果テーブルのキーワード番号は0で
あるので照合結果306は出力されない。マルチプレク
サ260では、バッファ280が選択されているので、
バッファ280に次状態番号である7が3つめの次状態
番号として格納される。バッファ281からは全ての現
状態番号が読み取られたので、終了信号307が発生す
る。
号6が読み出され、文字コード302と次状態番号であ
る6をアドレスとする状態遷移テーブル220より次状
態番号として7が出力され、レジスタ250に格納され
る。コンパレータ252はレジスタ251に格納されて
いる初期状態番号である0とレジスタ250に格納され
ている次状態番号である7を比較する。この場合、等し
くないのでセレクタ262は次状態番号を選択する。状
態7における検索結果テーブルのキーワード番号は0で
あるので照合結果306は出力されない。マルチプレク
サ260では、バッファ280が選択されているので、
バッファ280に次状態番号である7が3つめの次状態
番号として格納される。バッファ281からは全ての現
状態番号が読み取られたので、終了信号307が発生す
る。
【0295】これによりマルチプレクサ260はバッフ
ァ281を選択し、セレクタ261はバッファ280を
選択することになる。すなわち、バッファ280内の3
つの次状態番号が3つの現状態番号として、次の文字に
対する遷移に用いられることになる。
ァ281を選択し、セレクタ261はバッファ280を
選択することになる。すなわち、バッファ280内の3
つの次状態番号が3つの現状態番号として、次の文字に
対する遷移に用いられることになる。
【0296】次に7文字目の“ス”の照合処理に入るが
レジスタ211に読み込まれる。すると、文字コード3
02と次状態番号である0をアドレスとする状態遷移テ
ーブル220より次状態番号として0が出力され、レジ
スタ250に格納される。コンパレータ252はレジス
タ251に格納されている初期状態番号である0とレジ
スタ250に格納されている次状態番号である0を比較
する。この場合、等しいのでセレクタ262では次状態
番号303が選択されない。このため次状態番号は、バ
ッファ281に格納されないことになる。
レジスタ211に読み込まれる。すると、文字コード3
02と次状態番号である0をアドレスとする状態遷移テ
ーブル220より次状態番号として0が出力され、レジ
スタ250に格納される。コンパレータ252はレジス
タ251に格納されている初期状態番号である0とレジ
スタ250に格納されている次状態番号である0を比較
する。この場合、等しいのでセレクタ262では次状態
番号303が選択されない。このため次状態番号は、バ
ッファ281に格納されないことになる。
【0297】次に、バッファ281より第2の次状態番
号である1が読み出され、文字コード302と次状態番
号である0をアドレスとする状態遷移テーブル220よ
り次状態番号として0が出力され、レジスタ250に格
納される。コンパレータ252はレジスタ251に格納
されている初期状態番号である0とレジスタ250に格
納されている次状態番号である0を比較する。この場
合、等しいのでセレクタ262では次状態番号が選択さ
れない。このため次状態番号は、バッファ281に格納
されないことになる。
号である1が読み出され、文字コード302と次状態番
号である0をアドレスとする状態遷移テーブル220よ
り次状態番号として0が出力され、レジスタ250に格
納される。コンパレータ252はレジスタ251に格納
されている初期状態番号である0とレジスタ250に格
納されている次状態番号である0を比較する。この場
合、等しいのでセレクタ262では次状態番号が選択さ
れない。このため次状態番号は、バッファ281に格納
されないことになる。
【0298】本実施例では、このように制御することに
よりトークンの消滅を実現している。
よりトークンの消滅を実現している。
【0299】さらにバッファ281より第3の次状態番
号である7が読み出され、文字コード302と次状態番
号である7をアドレスとする状態遷移テーブル220よ
り次状態番号として8が出力され、レジスタ250に格
納される。コンパレータ252はレジスタ251に格納
されている初期状態番号である0とレジスタ250に格
納されている次状態番号である8を比較する。この場
合、等しくないのでセレクタ262では次状態番号30
3が選択される。
号である7が読み出され、文字コード302と次状態番
号である7をアドレスとする状態遷移テーブル220よ
り次状態番号として8が出力され、レジスタ250に格
納される。コンパレータ252はレジスタ251に格納
されている初期状態番号である0とレジスタ250に格
納されている次状態番号である8を比較する。この場
合、等しくないのでセレクタ262では次状態番号30
3が選択される。
【0300】状態8における検索結果テーブル260の
キーワード番号は1であるのでキーワード番号として1
が照合結果306とし出力される。マルチプレクサ26
0では、バッファ281が選択されているので、バッフ
ァ281に次状態番号である8が始点状態番号に続く2
つめの次状態番号として格納される。
キーワード番号は1であるのでキーワード番号として1
が照合結果306とし出力される。マルチプレクサ26
0では、バッファ281が選択されているので、バッフ
ァ281に次状態番号である8が始点状態番号に続く2
つめの次状態番号として格納される。
【0301】バッファ280からは全ての現状態番号が
読み取られたので、終了信号307が発生する。
読み取られたので、終了信号307が発生する。
【0302】これによりマルチプレクサ260はバッフ
ァ281を選択する。すなわち、2つの次状態番号が2
つの現状態番号として、次の文字に対する遷移に用いら
れることを示している。
ァ281を選択する。すなわち、2つの次状態番号が2
つの現状態番号として、次の文字に対する遷移に用いら
れることを示している。
【0303】以上のように、トークンを制御することに
より“インタフェイス”という文字列の検索を実現して
いる。
より“インタフェイス”という文字列の検索を実現して
いる。
【0304】本実施例によれば、このように複数のトー
クンを制御することにより、「フェイル」という概念を
必要としない文字列検索を実現できる。このため、オー
トマトン作成時間を短くすることができ、状態数を少な
くできるため状態遷移テーブルをコンパクトにできると
いう利点がある。
クンを制御することにより、「フェイル」という概念を
必要としない文字列検索を実現できる。このため、オー
トマトン作成時間を短くすることができ、状態数を少な
くできるため状態遷移テーブルをコンパクトにできると
いう利点がある。
【0305】次に、図56から図70の開示に基づい
て、本発明を実現するのに用いられる磁気ディスク装置
の実施例を説明する。
て、本発明を実現するのに用いられる磁気ディスク装置
の実施例を説明する。
【0306】図57は集合型磁気ディスク装置の構成を
示すもので、磁気ディスク装置1を有するn台のデータ
記憶装置15と、データ記憶装置15それぞれに接続す
る磁気ディスク装置1の1シリンダ分の容量を持つ入出
力バッファ3と、データ記憶装置15と入出力バッファ
3の制御を行なうマルチディスクコントローラ4によっ
て構成している。
示すもので、磁気ディスク装置1を有するn台のデータ
記憶装置15と、データ記憶装置15それぞれに接続す
る磁気ディスク装置1の1シリンダ分の容量を持つ入出
力バッファ3と、データ記憶装置15と入出力バッファ
3の制御を行なうマルチディスクコントローラ4によっ
て構成している。
【0307】ここではデータ記憶装置15は1台の磁気
ディスク装置1で構成し、入出力バッファ3は上記磁気
ディスク装置1の1シリンダの容量を持つメモリ1面で
構成している。
ディスク装置1で構成し、入出力バッファ3は上記磁気
ディスク装置1の1シリンダの容量を持つメモリ1面で
構成している。
【0308】マルチディスクコントローラ4は、アクセ
スの対象となるファイルのファイルIDを上位機器7か
ら直接設定できる通信メモリ5と高速データバス10の
制御を行なうマルチプレクサコントローラ8とファイル
IDから磁気ディスク装置の格納先物理情報を求めるた
め変換テーブルである物理情報テーブル6および、それ
らを制御するマスタコントローラ9によって構成してい
る。
スの対象となるファイルのファイルIDを上位機器7か
ら直接設定できる通信メモリ5と高速データバス10の
制御を行なうマルチプレクサコントローラ8とファイル
IDから磁気ディスク装置の格納先物理情報を求めるた
め変換テーブルである物理情報テーブル6および、それ
らを制御するマスタコントローラ9によって構成してい
る。
【0309】上位機器7は集合型磁気ディスク装置に命
令を与えるホストコントローラと入力されるデータの中
から指定した文字列を検出し、その検出情報を出力する
文字列検索装置により構成している。
令を与えるホストコントローラと入力されるデータの中
から指定した文字列を検出し、その検出情報を出力する
文字列検索装置により構成している。
【0310】本集合型磁気ディスク装置にデータファイ
ルを構成するデータベースの構築を行なう前には、デー
タベースの構造定義処理を行なう。
ルを構成するデータベースの構築を行なう前には、デー
タベースの構造定義処理を行なう。
【0311】本集合型磁気ディスク装置では論理的に関
連するファイルを物理的格納位置が近接するように配置
する手段として、最初に物理シリンダを階層構造を持つ
論理分類IDに従い割り振っている。複数件のファイル
を一度にアクセスする場合、理論的に関連するファイル
を対象にすることが多い。そこで、格納位置を近接させ
ることにより、磁気ディスク装置のシリンダ間を磁気ヘ
ッドが移動する距離を短くし、アクセス時間の一部であ
るシーク時間を短縮させる。
連するファイルを物理的格納位置が近接するように配置
する手段として、最初に物理シリンダを階層構造を持つ
論理分類IDに従い割り振っている。複数件のファイル
を一度にアクセスする場合、理論的に関連するファイル
を対象にすることが多い。そこで、格納位置を近接させ
ることにより、磁気ディスク装置のシリンダ間を磁気ヘ
ッドが移動する距離を短くし、アクセス時間の一部であ
るシーク時間を短縮させる。
【0312】階層構造を持つ論理類IDに従って物理シ
リンダの割り振りは、上位機器7が論理分類IDと該フ
ァイル分類が必要とする記憶容量の組が集まって構成さ
れるデータベース構造定義情報を通信メモリ5に格納し
た後、マルチディスクコントローラ4に対しデータベー
スの構造定義命令を発行する。構造定義命令を受けたマ
ルチディスクコントローラ4内のマスタコントローラ9
は、通信メモリ5にセットされたデータベースの構造定
義情報に基づいて、論理分類に物理位置がどう対応する
かをマスタコントローラ9内のメモリ上に図58図で示
すような構造の構造定義テーブルを作成する。図58は
2階層でそれぞれの階層で2つの分類を持つ例で、磁気
ディスク装置全体を一台の磁気ディスク装置としてまと
めて、各分類ごとの格納位置をシリンダの位置で、記憶
容量をシリンダ数で示したものである。
リンダの割り振りは、上位機器7が論理分類IDと該フ
ァイル分類が必要とする記憶容量の組が集まって構成さ
れるデータベース構造定義情報を通信メモリ5に格納し
た後、マルチディスクコントローラ4に対しデータベー
スの構造定義命令を発行する。構造定義命令を受けたマ
ルチディスクコントローラ4内のマスタコントローラ9
は、通信メモリ5にセットされたデータベースの構造定
義情報に基づいて、論理分類に物理位置がどう対応する
かをマスタコントローラ9内のメモリ上に図58図で示
すような構造の構造定義テーブルを作成する。図58は
2階層でそれぞれの階層で2つの分類を持つ例で、磁気
ディスク装置全体を一台の磁気ディスク装置としてまと
めて、各分類ごとの格納位置をシリンダの位置で、記憶
容量をシリンダ数で示したものである。
【0313】また、データベースの構造定義処理では、
マルチディスクコントローラ4内のマスタコントローラ
9は論理分類毎に、書き込みファイルの格納先の物理位
置を保持するために、マスタコントローラ9内のメモリ
上に図58Aに示すような、書き込みファイルの格納先
の物理位置を差し示す格納位置ポインタテーブルを作成
する。構造定義が終了した時点では、格納位置ポインタ
テーブルは構造定義で設定した各論理分類の先頭シリン
ダ、先頭トラック、先頭セクタ、セクタ内先頭位置を示
すことになる。図59では、図58Aで示した例の分類
でファイルを格納した場合の格納位置ポインタ情報を格
納している。
マルチディスクコントローラ4内のマスタコントローラ
9は論理分類毎に、書き込みファイルの格納先の物理位
置を保持するために、マスタコントローラ9内のメモリ
上に図58Aに示すような、書き込みファイルの格納先
の物理位置を差し示す格納位置ポインタテーブルを作成
する。構造定義が終了した時点では、格納位置ポインタ
テーブルは構造定義で設定した各論理分類の先頭シリン
ダ、先頭トラック、先頭セクタ、セクタ内先頭位置を示
すことになる。図59では、図58Aで示した例の分類
でファイルを格納した場合の格納位置ポインタ情報を格
納している。
【0314】次にデータベースの構築について説明す
る。本集合型磁気ディスク装置ではアクセスの対象とな
るファイルをファイルID(論理分類IDと論理分類内
の個有の番号で構成)により指定する手段として、ファ
イルIDを用いた管理情報を作成している。
る。本集合型磁気ディスク装置ではアクセスの対象とな
るファイルをファイルID(論理分類IDと論理分類内
の個有の番号で構成)により指定する手段として、ファ
イルIDを用いた管理情報を作成している。
【0315】上位機器7は通信メモリ5に書込み対象と
なるファイルのファイルIDとファイルサイズの組が複
数件分集まって構成されるファイル情報を格納した後、
マルチディスクコントローラ4に対し書き込み命令を発
行する。書き込み命令を受けたマルチディスクコントロ
ーラ4は、図61に示すフローで処理を実行する。マル
チディスクコントローラ4内のマスタコントローラ9
は、通信メモリ5からファイル情報の中のファイルID
を読み出し、該ファイルIDが示すファイルを格納する
格納位置を格納位置ポインタテーブルから読み出す。
なるファイルのファイルIDとファイルサイズの組が複
数件分集まって構成されるファイル情報を格納した後、
マルチディスクコントローラ4に対し書き込み命令を発
行する。書き込み命令を受けたマルチディスクコントロ
ーラ4は、図61に示すフローで処理を実行する。マル
チディスクコントローラ4内のマスタコントローラ9
は、通信メモリ5からファイル情報の中のファイルID
を読み出し、該ファイルIDが示すファイルを格納する
格納位置を格納位置ポインタテーブルから読み出す。
【0316】格納位置が求まるとその物理シリンダに書
き込める残り容量が求まる。その残り容量よりもファイ
ル情報のファイルサイズで与えられるファイルのサイズ
が小さければ図60Aに示すようなファイルIDをエン
トリとする物理情報テーブル6にその格納位置(ディス
ク番号,シリンダ番号,トラック番号,セクタ番号,セ
クタ内位置)、ファイルサイズ、ディスクまたがり数を
書き込む。ディスクまたがり数は、ファイルが何台の磁
気ディスク装置1にまたがっているかを表わすもので、
処理対象となっているファイルが、1台の磁気ディスク
装置の1つのシリンダに書き切れなかった場合はファイ
ルを分割して書き残したファイルを次のディスクに書き
込むことになる。このファイル分割した書き残しファイ
ルであれば、この値をカウントアップする。物理情報テ
ーブル6のエントリはファイル情報で与えられるファイ
ルIDで示される。
き込める残り容量が求まる。その残り容量よりもファイ
ル情報のファイルサイズで与えられるファイルのサイズ
が小さければ図60Aに示すようなファイルIDをエン
トリとする物理情報テーブル6にその格納位置(ディス
ク番号,シリンダ番号,トラック番号,セクタ番号,セ
クタ内位置)、ファイルサイズ、ディスクまたがり数を
書き込む。ディスクまたがり数は、ファイルが何台の磁
気ディスク装置1にまたがっているかを表わすもので、
処理対象となっているファイルが、1台の磁気ディスク
装置の1つのシリンダに書き切れなかった場合はファイ
ルを分割して書き残したファイルを次のディスクに書き
込むことになる。このファイル分割した書き残しファイ
ルであれば、この値をカウントアップする。物理情報テ
ーブル6のエントリはファイル情報で与えられるファイ
ルIDで示される。
【0317】物理情報テーブルへの書込みの後、格納位
置ポインタをファイルサイズ分進める。
置ポインタをファイルサイズ分進める。
【0318】ファイルサイズと残り容量が等しい場合
は、1台の磁気ディスク装置1のシリンダがいっぱいに
なった時で、その磁気ディスク装置1への書き込み処理
を行なう。
は、1台の磁気ディスク装置1のシリンダがいっぱいに
なった時で、その磁気ディスク装置1への書き込み処理
を行なう。
【0319】残り容量よりもファイルサイズが大きい場
合には、残り容量と分割基準サイズを比べる。分割基準
サイズは構造定義処理で設定する値で、シリンダの残り
容量が非常に小さいにもかかわらずファイルを磁気ディ
スク装置1の間にまたがるように格納すると、そのファ
イルを読み出すためには2台の磁気ディスク装置1を制
御しなければならず、その処理分オーバヘッドが大きく
なる。そこで、ある基準を設定してその基準値よりも残
り容量が小さい場合には次の磁気ディスク装置1のシリ
ンダの先頭から書き込むようにするものである。
合には、残り容量と分割基準サイズを比べる。分割基準
サイズは構造定義処理で設定する値で、シリンダの残り
容量が非常に小さいにもかかわらずファイルを磁気ディ
スク装置1の間にまたがるように格納すると、そのファ
イルを読み出すためには2台の磁気ディスク装置1を制
御しなければならず、その処理分オーバヘッドが大きく
なる。そこで、ある基準を設定してその基準値よりも残
り容量が小さい場合には次の磁気ディスク装置1のシリ
ンダの先頭から書き込むようにするものである。
【0320】残り容量が分割基準サイズ以上の場合に
は、物理情報テーブル6に格納位置、ファイルサイズを
格納した後、残り容量に書き込める分のファイルと書き
残した分の書き残しファイルとに分割する。物理情報テ
ーブル6には格納物理位置とファイルサイズを書込む。
は、物理情報テーブル6に格納位置、ファイルサイズを
格納した後、残り容量に書き込める分のファイルと書き
残した分の書き残しファイルとに分割する。物理情報テ
ーブル6には格納物理位置とファイルサイズを書込む。
【0321】1シリンダがいっぱいとなる物理情報を作
成した磁気ディスク装置1は書き込み処理を行なう。書
き残しファイルはループを戻り、次の処理対象ファイル
となる。
成した磁気ディスク装置1は書き込み処理を行なう。書
き残しファイルはループを戻り、次の処理対象ファイル
となる。
【0322】残り容量が分割基準サイズよりも小さい場
合には、格納位置ポインタテーブルを次のシリンダの先
頭に進めた後、処理対象ファイルをそのまま次の処理対
象ファイルとしてループを戻り処理を続ける。この時、
1シリンダがいっぱいとなる物理情報を作成した磁気デ
ィスク装置は書き込み処理を行なう。
合には、格納位置ポインタテーブルを次のシリンダの先
頭に進めた後、処理対象ファイルをそのまま次の処理対
象ファイルとしてループを戻り処理を続ける。この時、
1シリンダがいっぱいとなる物理情報を作成した磁気デ
ィスク装置は書き込み処理を行なう。
【0323】書き込み処理は、マスタコントローラ9が
シーク命令を磁気ディスク装置1に発行し、シーク動作
を開始する。次に、上位機器7にファイルの転送要求を
発行し、マスタコントローラ9は上位機器7にファイル
の転送を要求するとともに、マルチプレクスコントロー
ラ8を制御してデータバスを切り換え、転送されてくる
ファイルを物理情報で指定する入出力バッファ3へのフ
ァイルの転送を行なう。シーク動作が終了し、ファイル
の転送が終了するとマスタコントローラ9は書込み命令
を磁気ディスク装置1に発行し、該磁気ディスク装置1
は書き込み動作を実行する。
シーク命令を磁気ディスク装置1に発行し、シーク動作
を開始する。次に、上位機器7にファイルの転送要求を
発行し、マスタコントローラ9は上位機器7にファイル
の転送を要求するとともに、マルチプレクスコントロー
ラ8を制御してデータバスを切り換え、転送されてくる
ファイルを物理情報で指定する入出力バッファ3へのフ
ァイルの転送を行なう。シーク動作が終了し、ファイル
の転送が終了するとマスタコントローラ9は書込み命令
を磁気ディスク装置1に発行し、該磁気ディスク装置1
は書き込み動作を実行する。
【0324】上記の動作を繰返しデータベースの構築を
行なう。
行なう。
【0325】図62は書き込み処理の時間的な関係を示
すもので、上位機器7から図に示すように“1−1”,
“2−1”,…i,“n−1”,“1−2”,“2−
2”……と次々と転送されてくるデータは、マルチディ
スクコントローラ4内のマルチプレクスコントローラ8
により、入出力バッファ3−1,3−2……,3−n、
3−1,3−2,……に格納される。このとき、例えば
磁気データベース装置1−1は、データ“1−1”の転
送を開始する直前にマスタコントローラ9の指令により
シークを開始している。データ“1−1”の転送が終了
した時点で、マスタコントローラ9は磁気ディスク装置
1−1に書き込み命令を発行する。磁気ディスク装置1
−1は指定の書き込み位置に達するまで回転待ちを行な
った後、入出力バッファ3−1のデータ“1−1”を所
定のシリンダ,トラック,セクタへ書き込み始める。
すもので、上位機器7から図に示すように“1−1”,
“2−1”,…i,“n−1”,“1−2”,“2−
2”……と次々と転送されてくるデータは、マルチディ
スクコントローラ4内のマルチプレクスコントローラ8
により、入出力バッファ3−1,3−2……,3−n、
3−1,3−2,……に格納される。このとき、例えば
磁気データベース装置1−1は、データ“1−1”の転
送を開始する直前にマスタコントローラ9の指令により
シークを開始している。データ“1−1”の転送が終了
した時点で、マスタコントローラ9は磁気ディスク装置
1−1に書き込み命令を発行する。磁気ディスク装置1
−1は指定の書き込み位置に達するまで回転待ちを行な
った後、入出力バッファ3−1のデータ“1−1”を所
定のシリンダ,トラック,セクタへ書き込み始める。
【0326】この間、他の磁気ディスク装置も図に示す
ように同様の処理を行なうことになる。
ように同様の処理を行なうことになる。
【0327】図62とこれに関する以上の説明から明ら
かなように、各磁気ディスク装置はそれぞれ並行して、
連続でファイルの書き込みができ、短時間でデータベー
スの構築ができる。
かなように、各磁気ディスク装置はそれぞれ並行して、
連続でファイルの書き込みができ、短時間でデータベー
スの構築ができる。
【0328】次に、ファイルの読み出し処理について説
明する。また、同一磁気ディスク装置の同一シリンダ上
に読み出すファイルが複数件有る場合に、読み出すファ
イルの間にある読み出し不要のファイルも入出力バッフ
ァに一旦読み出し、上位機器に転送する際に読み出し不
要のファイルを削除する手段について説明する。
明する。また、同一磁気ディスク装置の同一シリンダ上
に読み出すファイルが複数件有る場合に、読み出すファ
イルの間にある読み出し不要のファイルも入出力バッフ
ァに一旦読み出し、上位機器に転送する際に読み出し不
要のファイルを削除する手段について説明する。
【0329】上位機器7は読み出すファイルのファイル
IDが複数件分集まって構成するファイル情報を通信メ
モリ5に格納した後、マルチディスクコントローラ4に
対して読み出し命令を発行する。
IDが複数件分集まって構成するファイル情報を通信メ
モリ5に格納した後、マルチディスクコントローラ4に
対して読み出し命令を発行する。
【0330】読み出し命令を受けたマルチディスクコン
トローラ4は、図63に示すフローで処理を実行する。
トローラ4は、図63に示すフローで処理を実行する。
【0331】マルチディスクコントローラ4内のマスタ
コントローラ9は、通信メモリ5から最初に読み出すべ
きファイルのファイルIDを読み出し、該ファイルID
から該ファイルが格納されている物理情報を物理情報テ
ーブル6により検索する。このファイルを先ファイル、
物理情報を先ファイルの物理情報とする。次に、通信メ
モリ5から次に読み出すべきファイルのファイルIDを
読み出し、該ファイルIDから該ファイルが格納されて
いる物理情報を物理情報テーブル6により検索する。こ
のファイルを後ファイル、物理情報を後ファイルの物理
情報とする。
コントローラ9は、通信メモリ5から最初に読み出すべ
きファイルのファイルIDを読み出し、該ファイルID
から該ファイルが格納されている物理情報を物理情報テ
ーブル6により検索する。このファイルを先ファイル、
物理情報を先ファイルの物理情報とする。次に、通信メ
モリ5から次に読み出すべきファイルのファイルIDを
読み出し、該ファイルIDから該ファイルが格納されて
いる物理情報を物理情報テーブル6により検索する。こ
のファイルを後ファイル、物理情報を後ファイルの物理
情報とする。
【0332】求めた物理情報から先ファイルと後ファイ
ルが同一シリンダに存在するかを調べ、同一シリンダに
存在すれば先ファイルと後ファイルの間に、指定してい
ない読み出し不要のファイル群があるか調べ、あれば、
そのファイル群の総サイズを求める。読み出し不要のフ
ァイルのサイズが小さい場合には、先ファイルと後ファ
イルを一度の読み出し命令で読出せるように、物理情報
を合成する。次に合成した物理情報を先ファイルの物理
情報としてループを戻り、通信メモリ5から次のファイ
ルIDを読み出し、そのファイルを後ファイルとして同
様な処理を行なう。
ルが同一シリンダに存在するかを調べ、同一シリンダに
存在すれば先ファイルと後ファイルの間に、指定してい
ない読み出し不要のファイル群があるか調べ、あれば、
そのファイル群の総サイズを求める。読み出し不要のフ
ァイルのサイズが小さい場合には、先ファイルと後ファ
イルを一度の読み出し命令で読出せるように、物理情報
を合成する。次に合成した物理情報を先ファイルの物理
情報としてループを戻り、通信メモリ5から次のファイ
ルIDを読み出し、そのファイルを後ファイルとして同
様な処理を行なう。
【0333】先ファイルと後ファイルが同一シリンダに
存在しない場合と読み出し不要ファイルのサイズが大き
い場合には、先ファイルの磁気ディスク装置から読み出
し処理を実行する。後フィルの物理情報は先ファイルの
物理情報としてループを戻り、通信メモリ5から次のフ
ァイルIDを読出し、それを後ファイルとし同様な処理
を行なう。
存在しない場合と読み出し不要ファイルのサイズが大き
い場合には、先ファイルの磁気ディスク装置から読み出
し処理を実行する。後フィルの物理情報は先ファイルの
物理情報としてループを戻り、通信メモリ5から次のフ
ァイルIDを読出し、それを後ファイルとし同様な処理
を行なう。
【0334】このような動作を指定したファイルすべて
を読み出すまで繰り返す。
を読み出すまで繰り返す。
【0335】先ファイルの磁気ディスク装置からの読み
出し処理は、まず、マスタコントローラ9は先ファイル
の物理情報が示す磁気ディスク装置1−iの磁気ディス
クコントローラ2−iに物理情報が示す物理位置へ磁気
ヘッドを移動させるシーク命令を発行し、磁気ディスク
装置1−iはシーク動作を開始する。シーク動作が終了
すると、入出力バッファ3−iがデータを書き込んでも
良い状態であれば、マスタコントローラ9は読み出し命
令を磁気ディスクコントローラ2−iに発行し、入出力
バッファ3−iに磁気ディスク装置1−iから読み出し
たファイルの格納を開始する。格納が終了すると、マス
タコントローラ9はマルチプレクスコントローラ8を制
御して入出力バッファ3−iから上位機器7へのデータ
の転送を開始する。
出し処理は、まず、マスタコントローラ9は先ファイル
の物理情報が示す磁気ディスク装置1−iの磁気ディス
クコントローラ2−iに物理情報が示す物理位置へ磁気
ヘッドを移動させるシーク命令を発行し、磁気ディスク
装置1−iはシーク動作を開始する。シーク動作が終了
すると、入出力バッファ3−iがデータを書き込んでも
良い状態であれば、マスタコントローラ9は読み出し命
令を磁気ディスクコントローラ2−iに発行し、入出力
バッファ3−iに磁気ディスク装置1−iから読み出し
たファイルの格納を開始する。格納が終了すると、マス
タコントローラ9はマルチプレクスコントローラ8を制
御して入出力バッファ3−iから上位機器7へのデータ
の転送を開始する。
【0336】マルチプレクスコントローラ8は図64に
示すように、上位機器7のデータバスに入出力バッファ
3−1から3−iのデータバスを選択して接続するマル
チプレクサ201と選択したi番目の入出力バッファ3
−iから上位機器7にマスタコントローラ9の介在なし
にデータを出力するDMAコントローラ202と該DM
Aコントローラ202に入出力バッファ3−iの転送範
囲を指定するための先頭アドレスと終了アドレスを格納
する先頭アドレス登録テーブル203と終了アドレス登
録テーブル204により構成している。
示すように、上位機器7のデータバスに入出力バッファ
3−1から3−iのデータバスを選択して接続するマル
チプレクサ201と選択したi番目の入出力バッファ3
−iから上位機器7にマスタコントローラ9の介在なし
にデータを出力するDMAコントローラ202と該DM
Aコントローラ202に入出力バッファ3−iの転送範
囲を指定するための先頭アドレスと終了アドレスを格納
する先頭アドレス登録テーブル203と終了アドレス登
録テーブル204により構成している。
【0337】マスタコントローラ9は入出力バッファ3
−iの転送すべきファイルが存在する先頭アドレスを先
頭アドレス登録テーブル203に、終了アドレスを終了
アドレス登録テーブル204に設定した後他の入出力バ
ッファ3から上位機器7へのデータの転送が行なわれて
いなければDMAコントローラ202に起動命令を発行
する。DMAコントローラ202は先頭アドレス登録テ
ーブル203と終了アドレス登録テーブル204を参照
しながら指定した範囲のデータのみ上位機器7の要求す
る転送速度でマスタコントローラ9の介在なしに転送を
行なう。
−iの転送すべきファイルが存在する先頭アドレスを先
頭アドレス登録テーブル203に、終了アドレスを終了
アドレス登録テーブル204に設定した後他の入出力バ
ッファ3から上位機器7へのデータの転送が行なわれて
いなければDMAコントローラ202に起動命令を発行
する。DMAコントローラ202は先頭アドレス登録テ
ーブル203と終了アドレス登録テーブル204を参照
しながら指定した範囲のデータのみ上位機器7の要求す
る転送速度でマスタコントローラ9の介在なしに転送を
行なう。
【0338】先ファイルと後ファイルを一度の読出し命
令で読み出せるように、物理情報を合成する処理を行な
い入出力バッファ3−iに読み出した場合には、先頭ア
ドレス登録テーブル203と終了アドレス登録テーブル
204に必要なファイルすべてが転送されるようにアド
レスを複数件分設定し、同様な処理を行なう。
令で読み出せるように、物理情報を合成する処理を行な
い入出力バッファ3−iに読み出した場合には、先頭ア
ドレス登録テーブル203と終了アドレス登録テーブル
204に必要なファイルすべてが転送されるようにアド
レスを複数件分設定し、同様な処理を行なう。
【0339】先ファイルと後ファイルを一度の読出し命
令で読み出せるように、物理情報を合成する処理は次の
条件を満足する場合に行なう。
令で読み出せるように、物理情報を合成する処理は次の
条件を満足する場合に行なう。
【0340】先ファイルのサイズをf1[Byte]、
後ファイルのサイズをf2[Byte]、読み出し不要
のファイル群の総サイズをk[Byte]、磁気ディス
ク装置1から入出力バッファ3へのシーク動作を含まな
い実効的な転送速度をt[Byte/sec]、回転速
度をR[rps]、平均シーク時間をs[sec]とす
るとき、平均回転待ち時間は(1/2R)であり、一度
に読み出す時間が一つずつ読み出す時間よりも短くなる
条件は、(数1)の通りになる。
後ファイルのサイズをf2[Byte]、読み出し不要
のファイル群の総サイズをk[Byte]、磁気ディス
ク装置1から入出力バッファ3へのシーク動作を含まな
い実効的な転送速度をt[Byte/sec]、回転速
度をR[rps]、平均シーク時間をs[sec]とす
るとき、平均回転待ち時間は(1/2R)であり、一度
に読み出す時間が一つずつ読み出す時間よりも短くなる
条件は、(数1)の通りになる。
【0341】
【数1】
【0342】この(数1)は、以下の(数2)のように
書き表すことができる。
書き表すことができる。
【0343】
【数2】
【0344】ファイルの読み出し処理の時間的な関係
は、上位機器7が要求する転送速度をT[Byte/s
ec]、各磁気ディスク装置1の1シリンダ分の容量が
M[Byte]、各磁気ディスク装置1から入出力バッ
ファ3への転送速度をt[Byte/sec]、各磁気
ディスク装置1の最少シーク時間をs[sec]、回転
速度をR[rps]とすると、最少シーク時間s[se
c]がi番目の入出力バッファ3−i上のファイルを上
位機器7に転送する時間(M/T)より大きい場合に
は、図65に示すようになる。上位機器7の要求する転
送速度を満足するには、i台目の磁気ディスク装置1−
iが入出力バッファ3−iにファイルを読み出す時間
(s+1/R+M/t)が、全ての入出力バッファ3上
のファイルを上位機器7に転送する時間(nM/T)以
内であれば良いことになる。ここでは、連続したシリン
ダを読み出すためシーク時間を最少シーク時間とした。
また、磁気ディスク装置1に読み出し命令を発行した時
点の磁気ヘッドの位置がいかなる場合でも、上位機器7
の要求する転送速度を満足するように、回転待ちの時間
を最大値である(1/R)とした。この関係を数式で表
わすと(数3)の通りとなる。
は、上位機器7が要求する転送速度をT[Byte/s
ec]、各磁気ディスク装置1の1シリンダ分の容量が
M[Byte]、各磁気ディスク装置1から入出力バッ
ファ3への転送速度をt[Byte/sec]、各磁気
ディスク装置1の最少シーク時間をs[sec]、回転
速度をR[rps]とすると、最少シーク時間s[se
c]がi番目の入出力バッファ3−i上のファイルを上
位機器7に転送する時間(M/T)より大きい場合に
は、図65に示すようになる。上位機器7の要求する転
送速度を満足するには、i台目の磁気ディスク装置1−
iが入出力バッファ3−iにファイルを読み出す時間
(s+1/R+M/t)が、全ての入出力バッファ3上
のファイルを上位機器7に転送する時間(nM/T)以
内であれば良いことになる。ここでは、連続したシリン
ダを読み出すためシーク時間を最少シーク時間とした。
また、磁気ディスク装置1に読み出し命令を発行した時
点の磁気ヘッドの位置がいかなる場合でも、上位機器7
の要求する転送速度を満足するように、回転待ちの時間
を最大値である(1/R)とした。この関係を数式で表
わすと(数3)の通りとなる。
【0345】
【数3】
【0346】また、(数3)は(数4)で示すように書
き表わすことができる。
き表わすことができる。
【0347】
【数4】
【0348】また、最少シーク時間s[sec]がi番
目の入出力バッファ3−i上のファイルを上位機器7に
転送する時間(M/T)以下の場合のファイルの読み出
し処理の時間的な関係は、図66に示すようになる。こ
の場合は、シーク動作が終了しても入出力バッファ3−
iはファイルを上位機器7に転送中であるため、読み出
し命令をi台目の磁気ディスク装置1−iに発行するこ
とができない。そこで、入出力バッファ3−iのファイ
ルが上位機器7に転送が終了した時点に読み出し命令を
i台目のディスク装置1−iに発行することになる。従
って、上位機器7の要求する転送速度を満足するには、
i台目の磁気ディスク装置1−iが入出力バッファ3−
iにファイルを読み出す時間(M/T+1/R+M/
t)が、全ての入出力バッファ3上のファイルを上位機
器7に転送する時間(nM/T)以内であれば良いこと
になる。この関係を数式で表わすと(数5)のようにな
る。
目の入出力バッファ3−i上のファイルを上位機器7に
転送する時間(M/T)以下の場合のファイルの読み出
し処理の時間的な関係は、図66に示すようになる。こ
の場合は、シーク動作が終了しても入出力バッファ3−
iはファイルを上位機器7に転送中であるため、読み出
し命令をi台目の磁気ディスク装置1−iに発行するこ
とができない。そこで、入出力バッファ3−iのファイ
ルが上位機器7に転送が終了した時点に読み出し命令を
i台目のディスク装置1−iに発行することになる。従
って、上位機器7の要求する転送速度を満足するには、
i台目の磁気ディスク装置1−iが入出力バッファ3−
iにファイルを読み出す時間(M/T+1/R+M/
t)が、全ての入出力バッファ3上のファイルを上位機
器7に転送する時間(nM/T)以内であれば良いこと
になる。この関係を数式で表わすと(数5)のようにな
る。
【0349】
【数5】
【0350】また、(数5)は(数6)示すように書き
表わすことができる。
表わすことができる。
【0351】
【数6】
【0352】これらの条件式より、上位機器7が要求す
る転送速度を満足するには磁気ディスク装置1を何台組
み合わせればよいかを求めることができ、(数1)を満
足する最少の台数の磁気ディスク装置1で集合型磁気デ
ィスク装置を構成すれば最もコストパフォーマンスの良
いものとなる。
る転送速度を満足するには磁気ディスク装置1を何台組
み合わせればよいかを求めることができ、(数1)を満
足する最少の台数の磁気ディスク装置1で集合型磁気デ
ィスク装置を構成すれば最もコストパフォーマンスの良
いものとなる。
【0353】例えば、1トラックの容量が20k(キ
ロ)[Byte]の6トラックからなる、1シリンダ分
の容量が120k[Byte]の磁気ディスク装置1に
より構成し、上位機器7が要求する転送速度2M(メ
ガ)[Byte/sec]、各磁気ディスク装置1から
入出力バッファ3へのシーク動作を含まない実効的な転
送速度を1M[Byte/sec]、各磁気ディスク装
置1の最少シーク時間10m(ミリ)[sec]、回転
速度50[rps]とすると、(数4)は(数7)およ
び(数8)のようになる。これらの式を満足する最少の
nは4となる。
ロ)[Byte]の6トラックからなる、1シリンダ分
の容量が120k[Byte]の磁気ディスク装置1に
より構成し、上位機器7が要求する転送速度2M(メ
ガ)[Byte/sec]、各磁気ディスク装置1から
入出力バッファ3へのシーク動作を含まない実効的な転
送速度を1M[Byte/sec]、各磁気ディスク装
置1の最少シーク時間10m(ミリ)[sec]、回転
速度50[rps]とすると、(数4)は(数7)およ
び(数8)のようになる。これらの式を満足する最少の
nは4となる。
【0354】
【数7】
【0355】
【数8】
【0356】図67に3台の磁気ディスク装置1で構成
した集合型磁気ディスク装置の読み出し中の時間関係
で、図68に4台の磁気ディスク装置1で構成した集合
型磁気ディスク装置の読み出し中の時間関係、図19に
5台の磁気ディスク装置1で構成した集合型磁気ディス
ク装置の読み出し中の時間関係を示す。
した集合型磁気ディスク装置の読み出し中の時間関係
で、図68に4台の磁気ディスク装置1で構成した集合
型磁気ディスク装置の読み出し中の時間関係、図19に
5台の磁気ディスク装置1で構成した集合型磁気ディス
ク装置の読み出し中の時間関係を示す。
【0357】図67の3台の磁気ディスク装置1で構成
した場合には、図からもわかるように磁気ディスク装置
1から入出力バッファ3にデータを読み出す時間が入出
力バッファ3から上位機器7への転送時間に間に合わ
ず、入出力バッファ3から上位機器7にデータの転送が
できない時間aが発生し、入出力バッファ3から上位機
器7への転送速度が約1.6M[Byte/sec]と
なり上位機器が要求する転送速度を満足できない。
した場合には、図からもわかるように磁気ディスク装置
1から入出力バッファ3にデータを読み出す時間が入出
力バッファ3から上位機器7への転送時間に間に合わ
ず、入出力バッファ3から上位機器7にデータの転送が
できない時間aが発生し、入出力バッファ3から上位機
器7への転送速度が約1.6M[Byte/sec]と
なり上位機器が要求する転送速度を満足できない。
【0358】また、図69の5台の磁気ディスク装置1
で構成した場合には、上位機器7が要求する転送速度を
満足するものの、図68の4台の磁気ディスク装置1で
構成した場合に比べ、1台の磁気ディスク装置1が処理
しない時間bが長く磁気ディスク装置の使用効率が悪
い。
で構成した場合には、上位機器7が要求する転送速度を
満足するものの、図68の4台の磁気ディスク装置1で
構成した場合に比べ、1台の磁気ディスク装置1が処理
しない時間bが長く磁気ディスク装置の使用効率が悪
い。
【0359】従って、数1を満足する最少のnに一致す
る4台の磁気ディスク装置1で構成した場合が、最もコ
ストパフォーマンスの良い集合型磁気ディスク装置と言
える。
る4台の磁気ディスク装置1で構成した場合が、最もコ
ストパフォーマンスの良い集合型磁気ディスク装置と言
える。
【0360】本発明を文字列検索装置に適用したもう1
つの実施例について図56を用いて説明する。
つの実施例について図56を用いて説明する。
【0361】図57で説明した集合型磁気ディスク装置
は、指定したファイルのみを読み出す場合、指定したフ
ァイルが磁気ディスク装置1−1から1−nに平均して
存在すれば、実施例1で述べたような動作を実施して、
上位機器7へのデータ転送速度を高めることができる。
しかし、1台の磁気ディスク装置1−iにだけ指定した
ファイルが存在する場合、1台の磁気ディスク装置1−
iの読み出しが連続して行われることになる。この場
合、上位機器7へのデータ転送は、一旦磁気ディスク装
置1−iから入出力バッファ3−iに読み出した後、入
出力バッファ3−iから上位機器7へ転送する2段読み
出しを行なわねばならないため、データ転送が低下して
しまうという状況が発生する。このように、指定したフ
ァイルが偏って磁気ディスク装置1に存在すると上位機
器7へのデータ転送速度を効果的に高めることができな
い状況が発生し得る。そこで、実施例2は、ファイルが
偏って格納されないようにすることで、常に全磁気ディ
スク装置1を読み出し動作させ、上位機器7へのデータ
転送速度を高めるものである。
は、指定したファイルのみを読み出す場合、指定したフ
ァイルが磁気ディスク装置1−1から1−nに平均して
存在すれば、実施例1で述べたような動作を実施して、
上位機器7へのデータ転送速度を高めることができる。
しかし、1台の磁気ディスク装置1−iにだけ指定した
ファイルが存在する場合、1台の磁気ディスク装置1−
iの読み出しが連続して行われることになる。この場
合、上位機器7へのデータ転送は、一旦磁気ディスク装
置1−iから入出力バッファ3−iに読み出した後、入
出力バッファ3−iから上位機器7へ転送する2段読み
出しを行なわねばならないため、データ転送が低下して
しまうという状況が発生する。このように、指定したフ
ァイルが偏って磁気ディスク装置1に存在すると上位機
器7へのデータ転送速度を効果的に高めることができな
い状況が発生し得る。そこで、実施例2は、ファイルが
偏って格納されないようにすることで、常に全磁気ディ
スク装置1を読み出し動作させ、上位機器7へのデータ
転送速度を高めるものである。
【0362】また、本実施例では記憶容量をさらに高め
るため、磁気ディスク装置の台数を増やしている。
るため、磁気ディスク装置の台数を増やしている。
【0363】図56は本発明を用いた集合型磁気ディス
ク装置の構成を示すもので、図57と相違点は磁気ディ
スク装置1の1シリンダ分と同じ容量の入出力バッファ
3を2面持ち、第1面の入出力バッファ3aのデータを
上位機器7に転送している間に、第2面の入出力バッフ
ァ3bに磁気ディスク装置1からの読み出したフィルム
を格納することができることである。
ク装置の構成を示すもので、図57と相違点は磁気ディ
スク装置1の1シリンダ分と同じ容量の入出力バッファ
3を2面持ち、第1面の入出力バッファ3aのデータを
上位機器7に転送している間に、第2面の入出力バッフ
ァ3bに磁気ディスク装置1からの読み出したフィルム
を格納することができることである。
【0364】また、一つのデータ記憶装置15をm台の
磁気ディスク装置1−i−1〜1−i−mとマルチプレ
クサ14によって構成し、集合型磁気ディスク装置の総
記憶容量を1台の磁気ディスク装置の記憶容量(n×
m)倍にしている。
磁気ディスク装置1−i−1〜1−i−mとマルチプレ
クサ14によって構成し、集合型磁気ディスク装置の総
記憶容量を1台の磁気ディスク装置の記憶容量(n×
m)倍にしている。
【0365】動作を説明すると、まず、図57の構成と
同様にデータベースの構造定義処理を行なうが、入出力
バッファ3にマルチプレクサ14を介して接続するm台
の磁気ディスク装置1を識別する情報を構造定義情報に
追加する。
同様にデータベースの構造定義処理を行なうが、入出力
バッファ3にマルチプレクサ14を介して接続するm台
の磁気ディスク装置1を識別する情報を構造定義情報に
追加する。
【0366】データベースの構築は図57の構成と同様
に行なうが、いくつかの相違点がある。図57の構成と
の相違点は、ファイル情報で与えられるファイルを構成
する磁気ディスク装置の台数分に分割して、全磁気ディ
スク装置に分散して格納することである。また、入出力
バッファ3のデータを格納物理情報で与えられるm台の
内の1台の磁気ディスク装置1−i−jにマルチプレク
サ14を制御して格納することである。
に行なうが、いくつかの相違点がある。図57の構成と
の相違点は、ファイル情報で与えられるファイルを構成
する磁気ディスク装置の台数分に分割して、全磁気ディ
スク装置に分散して格納することである。また、入出力
バッファ3のデータを格納物理情報で与えられるm台の
内の1台の磁気ディスク装置1−i−jにマルチプレク
サ14を制御して格納することである。
【0367】ファイルの分割方法としては、ファイルサ
イズを台数で割った分割サイズを求め、ファイルの先頭
から分割サイズごとに1台目の磁気ディスク装置1−1
−jから1−2−j,1−3−jと順番に格納していく
ものと、ファイルの先頭から1バイトずつと言ったよう
に、決められたサイズごとに1台目の磁気ディスク装置
1−1−jから1−2−j,1−3−jと順番に格納し
ていくものがある。
イズを台数で割った分割サイズを求め、ファイルの先頭
から分割サイズごとに1台目の磁気ディスク装置1−1
−jから1−2−j,1−3−jと順番に格納していく
ものと、ファイルの先頭から1バイトずつと言ったよう
に、決められたサイズごとに1台目の磁気ディスク装置
1−1−jから1−2−j,1−3−jと順番に格納し
ていくものがある。
【0368】ファイルサイズが磁気ディスク装置の台数
で割り切れない場合は、ファイルサイズが磁気ディスク
の倍数となるように無効データを末尾に付加して、常に
1台目の磁気ディスク装置1−1−jにファイルの先頭
がくるように格納する。
で割り切れない場合は、ファイルサイズが磁気ディスク
の倍数となるように無効データを末尾に付加して、常に
1台目の磁気ディスク装置1−1−jにファイルの先頭
がくるように格納する。
【0369】次にファイルの読出しについて説明する。
これも図57の例と同様に行なうが、本構成では入出力
バッファ3を2面(3a及び3b)持っているため、そ
れぞれの磁気ディスク装置1から入出力バッファ3に読
出したファイルを格納した時点で、次のファイルの読出
し処理を開始することができる。
これも図57の例と同様に行なうが、本構成では入出力
バッファ3を2面(3a及び3b)持っているため、そ
れぞれの磁気ディスク装置1から入出力バッファ3に読
出したファイルを格納した時点で、次のファイルの読出
し処理を開始することができる。
【0370】ファイルの読み出し処理の時間的な関係は
図70のようになり、図57の例に比べると入出力バッ
ファ3にデータを書き込んでも良い状態になるまでの待
ち時間がなくなり、より高速の転送が可能になる。図5
7の例と同じ条件で上位機器7の要求する転送速度を満
足する関係は、1台の磁気ディスク装置1−i−jから
2面ある入出力バッファ3−iの一方の入出力バッファ
3a−iにファイルを読み出す時間(s+1/R+M/
t)が、もう一方の全ての入出力バッファ3b−1から
3b−nまでのファイルを上位機器7に転送する時間
(nM/T)以内であればよく、これを数式で表すと
(数9)のようになる。
図70のようになり、図57の例に比べると入出力バッ
ファ3にデータを書き込んでも良い状態になるまでの待
ち時間がなくなり、より高速の転送が可能になる。図5
7の例と同じ条件で上位機器7の要求する転送速度を満
足する関係は、1台の磁気ディスク装置1−i−jから
2面ある入出力バッファ3−iの一方の入出力バッファ
3a−iにファイルを読み出す時間(s+1/R+M/
t)が、もう一方の全ての入出力バッファ3b−1から
3b−nまでのファイルを上位機器7に転送する時間
(nM/T)以内であればよく、これを数式で表すと
(数9)のようになる。
【0371】
【数9】
【0372】また、(数9)は容易に(数10)のよう
に書き表すことができる。
に書き表すことができる。
【0373】
【数10】
【0374】この条件により、実施例1と同様に上位機
器が要求する転送速度を満足するためのデータ記憶装置
15の台数を求めることができる。
器が要求する転送速度を満足するためのデータ記憶装置
15の台数を求めることができる。
【0375】また、大きな記憶容量が求められる場合に
は、データ記憶装置15をm台の磁気ディスク装置1と
マルチプレクサ14によって構成し、記憶容量をm倍化
することができる。
は、データ記憶装置15をm台の磁気ディスク装置1と
マルチプレクサ14によって構成し、記憶容量をm倍化
することができる。
【0376】これらのことから決定される最少台数の磁
気ディスク装置1で集合型磁気ディスク装置を構成すれ
ば、最もコストパフォーマンスの良いものとなる。
気ディスク装置1で集合型磁気ディスク装置を構成すれ
ば、最もコストパフォーマンスの良いものとなる。
【0377】図70の実施例では各磁気ディスク装置の
シーク動作の起動を上位機器への入出力バッファ3−1
〜3−nのデータ転送が終了した時点で行なっても良い
ことは明らかである。
シーク動作の起動を上位機器への入出力バッファ3−1
〜3−nのデータ転送が終了した時点で行なっても良い
ことは明らかである。
【0378】以上の2つの実施例では磁気ディスク装置
を用いた場合について説明したが、磁気ディスク装置以
外の光ディスク装置等の記憶媒体が回転する記憶装置に
ついても同様なことは明確である。
を用いた場合について説明したが、磁気ディスク装置以
外の光ディスク装置等の記憶媒体が回転する記憶装置に
ついても同様なことは明確である。
【0379】次に、図71から図74の開示に基づい
て、本発明の文書情報検索装置をLAN等を通じて外部
と接続可能にする実施例について説明する。
て、本発明の文書情報検索装置をLAN等を通じて外部
と接続可能にする実施例について説明する。
【0380】図71における文書情報検索装置(サーチ
マシンと呼ぶ)3000では、サーチマシン制御用コン
ピュータに1150LANなどの通信回線1000に接
続できるようなLAN接続制御機能を備えている。サー
チマシン3000はサーチマシン制御用コンピュータ1
150とサーチユニット3100から構成されている。
サーチマシン制御用コンピュータ1150では、サーチ
マシン制御プログラム1100が実行される。このサー
チマシン制御プログラム1100は、本発明の第一の実
施例(図10)で説明した、検索式解析プログラム11
02、同義語異表記展開プログラム1103a、複合条
件解析プログラム1141a、及び検索実行制御プログ
ラム1108が実行される。
マシンと呼ぶ)3000では、サーチマシン制御用コン
ピュータに1150LANなどの通信回線1000に接
続できるようなLAN接続制御機能を備えている。サー
チマシン3000はサーチマシン制御用コンピュータ1
150とサーチユニット3100から構成されている。
サーチマシン制御用コンピュータ1150では、サーチ
マシン制御プログラム1100が実行される。このサー
チマシン制御プログラム1100は、本発明の第一の実
施例(図10)で説明した、検索式解析プログラム11
02、同義語異表記展開プログラム1103a、複合条
件解析プログラム1141a、及び検索実行制御プログ
ラム1108が実行される。
【0381】サーチユニット3100は、オートマトン
生成用コンピュータ(CPU1)1105a、ビットサ
ーチ用コンピュータ(CPU3)1107a、ストリン
グサーチエンジン1106、複合条件判定用コンピュー
タ(CPU2)1145a、半導体メモリ装置1110
a、RAMディスク装置1110b、集合型磁気ディス
ク装置1110cから構成される。
生成用コンピュータ(CPU1)1105a、ビットサ
ーチ用コンピュータ(CPU3)1107a、ストリン
グサーチエンジン1106、複合条件判定用コンピュー
タ(CPU2)1145a、半導体メモリ装置1110
a、RAMディスク装置1110b、集合型磁気ディス
ク装置1110cから構成される。
【0382】オートマトン生成用コンピュータ(CPU
1)1105aではオートマトン生成プログラム110
5が、ビットサーチ用コンピュータ(CPU3)110
7aではビットサーチプログラム1107が、複合条件
判定用コンピュータ(CPU2)1145aでは複合条
件判定プログラム1145が実行される。
1)1105aではオートマトン生成プログラム110
5が、ビットサーチ用コンピュータ(CPU3)110
7aではビットサーチプログラム1107が、複合条件
判定用コンピュータ(CPU2)1145aでは複合条
件判定プログラム1145が実行される。
【0383】また、集合型磁気ディスク装置1110c
は集合型磁気ディスク装置1110dと磁気ディスク装
置1110e1〜1110e12から構成される。ま
た、集合型磁気ディスク装置1110dはマルチディス
クコントローラ1110fと、同期制御バッファ111
0g1〜1110g12から構成される。同期制御バッ
ファ1110g1〜1110g12は、それぞれ独立に
動作する磁気ディスク装置1110e1〜1110e1
2の出力を整合し、同期を取ってストリングサーチエン
ジン1106へ送出するためのものである。すなわち、
例えば、磁気ディスク装置1110e1内の本文データ
を磁気ディスク装置1110e2内の本文データより先
に送りださなければならないときに、もし磁気ディスク
装置1110e2内の本文データが先に読み出されてし
まった場合でも、このデータを同期制御バッファ111
0g2内に保持しておき、磁気ディスク装置1110e
1内の本文データが同期制御バッファ1110g1に読
み出され、ここからマルチディスクコントローラ111
0fを介してストリングサーチエンジン1106へ読み
出した後、同期制御バッファ1110g2内のデータを
ストリングサーチエンジン1106へ読み出すことによ
って、当初の順番通りにデータをストリングサーチエン
ジン1106へ読み出すことが可能になる。このよう
に、同期制御バッファ1110g1〜1110g12
は、磁気ディスク装置1110e1〜1110e12の
読み出し順序が各磁気ディスク装置のシーク時間及び回
転待ち時間のバラツキによりどう変化したとしても、正
しい所定の順番で外部に送り出すことが可能となる。マ
ルチディスクコントローラ1110fは、サーチマシン
制御プログラム1100内の検索実行制御プログラム1
108の制御のもとに、同期制御バッファ1110g1
〜1110g12の出力を選択するマルチプレクサの機
能を果たす。
は集合型磁気ディスク装置1110dと磁気ディスク装
置1110e1〜1110e12から構成される。ま
た、集合型磁気ディスク装置1110dはマルチディス
クコントローラ1110fと、同期制御バッファ111
0g1〜1110g12から構成される。同期制御バッ
ファ1110g1〜1110g12は、それぞれ独立に
動作する磁気ディスク装置1110e1〜1110e1
2の出力を整合し、同期を取ってストリングサーチエン
ジン1106へ送出するためのものである。すなわち、
例えば、磁気ディスク装置1110e1内の本文データ
を磁気ディスク装置1110e2内の本文データより先
に送りださなければならないときに、もし磁気ディスク
装置1110e2内の本文データが先に読み出されてし
まった場合でも、このデータを同期制御バッファ111
0g2内に保持しておき、磁気ディスク装置1110e
1内の本文データが同期制御バッファ1110g1に読
み出され、ここからマルチディスクコントローラ111
0fを介してストリングサーチエンジン1106へ読み
出した後、同期制御バッファ1110g2内のデータを
ストリングサーチエンジン1106へ読み出すことによ
って、当初の順番通りにデータをストリングサーチエン
ジン1106へ読み出すことが可能になる。このよう
に、同期制御バッファ1110g1〜1110g12
は、磁気ディスク装置1110e1〜1110e12の
読み出し順序が各磁気ディスク装置のシーク時間及び回
転待ち時間のバラツキによりどう変化したとしても、正
しい所定の順番で外部に送り出すことが可能となる。マ
ルチディスクコントローラ1110fは、サーチマシン
制御プログラム1100内の検索実行制御プログラム1
108の制御のもとに、同期制御バッファ1110g1
〜1110g12の出力を選択するマルチプレクサの機
能を果たす。
【0384】RAMディスク装置1110bは、RAM
ディスクコントローラ4200b,4100c,410
0dから構成される。半導体メモリボード4100a,
4100b,4100c,4100dは、同一バスに接
続され、RAMディスクコントローラ4200制御によ
り、ここに格納された擬縮本文がランダムにアクセスさ
れる。そして、読み出されたデータはストリングサーチ
エンジン1106へと送出される。
ディスクコントローラ4200b,4100c,410
0dから構成される。半導体メモリボード4100a,
4100b,4100c,4100dは、同一バスに接
続され、RAMディスクコントローラ4200制御によ
り、ここに格納された擬縮本文がランダムにアクセスさ
れる。そして、読み出されたデータはストリングサーチ
エンジン1106へと送出される。
【0385】サーチマシン制御プログラム1150は、
LAN1000を介して送られてくる検索指令に応じ
て、先ず第一に検索条件の解析、同義語展開、異表記展
開、複合条件解析、近傍条件解析、文脈条件解析、論理
条件解析を行い、ここで作成された各制御情報をビット
サーチプログラム1107、オートマトン生成プログラ
ム1105、及び複合条件判定プログラム1145へ渡
す。オートマトン生成プログラム1105で作成された
キーワード照合用の状態遷移テーブルデータは、ストリ
ングサーチエンジン1106へ書き込まれる。
LAN1000を介して送られてくる検索指令に応じ
て、先ず第一に検索条件の解析、同義語展開、異表記展
開、複合条件解析、近傍条件解析、文脈条件解析、論理
条件解析を行い、ここで作成された各制御情報をビット
サーチプログラム1107、オートマトン生成プログラ
ム1105、及び複合条件判定プログラム1145へ渡
す。オートマトン生成プログラム1105で作成された
キーワード照合用の状態遷移テーブルデータは、ストリ
ングサーチエンジン1106へ書き込まれる。
【0386】第二に、検索制御情報の設定が終了した
ら、検索の実行に入る。最初、半導体メモリ1110a
上の文字成分表が読み出され、ビットサーチプログラム
1107により文字成分表サーチが行われる。この文字
成分表サーチの結果は、サーチマシン制御用コンピュー
タ1150の主メモリ上に格納される。次に文字成分表
サーチにより絞り込まれた文書集合に対して、擬縮本文
サーチを実行する。すなわち、サーチマシン制御用コン
ピュータ1150の主メモリ上に格納された文字成分表
サーチの結果情報としての該当文書識別子を読み出し、
これに対応する擬縮本文をRAMディスク装置1110
bから読みだし、ストリングサーチエンジン1106の
照合情報は、複合条件判定プログラム1145に渡さ
れ、ここで指定された複合条件に合致するか否かの判定
が行われる。この擬縮本文サーチ結果は、同様にしてサ
ーチマシン制御用コンピュータ1150の主メモリ上に
格納される。この後、もし複合条件に近傍条件あるいは
文脈条件が設定されていたなら、本文サーチへ入る。本
文サーチでは、サーチマシン制御用コンピュータ115
0の主メモリ上に格納された擬縮本文サーチの結果情報
としての該当文書識別子を読み出し、これに対応する本
文を集合型磁気ディスク装置1110cから読み出し、
ストリングサーチエンジン1106で指定キーワードの
照合処理を行う。このストリングサーチエンジン110
6の照合情報は複合条件判定プログラム1145に渡さ
れ、ここで指定された複合条件、すなわち近傍条件と文
脈条件に合致するか否かの判定が行われる。この本文サ
ーチ結果は、同様にしてサーチマシン制御用コンピュー
タ1150の主メモリ上に格納される。
ら、検索の実行に入る。最初、半導体メモリ1110a
上の文字成分表が読み出され、ビットサーチプログラム
1107により文字成分表サーチが行われる。この文字
成分表サーチの結果は、サーチマシン制御用コンピュー
タ1150の主メモリ上に格納される。次に文字成分表
サーチにより絞り込まれた文書集合に対して、擬縮本文
サーチを実行する。すなわち、サーチマシン制御用コン
ピュータ1150の主メモリ上に格納された文字成分表
サーチの結果情報としての該当文書識別子を読み出し、
これに対応する擬縮本文をRAMディスク装置1110
bから読みだし、ストリングサーチエンジン1106の
照合情報は、複合条件判定プログラム1145に渡さ
れ、ここで指定された複合条件に合致するか否かの判定
が行われる。この擬縮本文サーチ結果は、同様にしてサ
ーチマシン制御用コンピュータ1150の主メモリ上に
格納される。この後、もし複合条件に近傍条件あるいは
文脈条件が設定されていたなら、本文サーチへ入る。本
文サーチでは、サーチマシン制御用コンピュータ115
0の主メモリ上に格納された擬縮本文サーチの結果情報
としての該当文書識別子を読み出し、これに対応する本
文を集合型磁気ディスク装置1110cから読み出し、
ストリングサーチエンジン1106で指定キーワードの
照合処理を行う。このストリングサーチエンジン110
6の照合情報は複合条件判定プログラム1145に渡さ
れ、ここで指定された複合条件、すなわち近傍条件と文
脈条件に合致するか否かの判定が行われる。この本文サ
ーチ結果は、同様にしてサーチマシン制御用コンピュー
タ1150の主メモリ上に格納される。
【0387】これらの検索手段の制御は、すべてサーチ
マシン制御プログラム1100内の検索実行制御プログ
ラム1108によって行われる。
マシン制御プログラム1100内の検索実行制御プログ
ラム1108によって行われる。
【0388】第三に、上述した一連の検索処理が終了し
たら、サーチマシン制御用コンピュータ1150の主メ
モリ上に書き込まれた検索結果を、サーチマシン制御プ
ログラム1100の制御によりLAN1000を介して
要求元であるワークステーション等の検索対話端末に返
送する。
たら、サーチマシン制御用コンピュータ1150の主メ
モリ上に書き込まれた検索結果を、サーチマシン制御プ
ログラム1100の制御によりLAN1000を介して
要求元であるワークステーション等の検索対話端末に返
送する。
【0389】以上説明した本発明の変形例によれば、文
書情報検索装置をLAN内のサーバとして、同じLAN
に接続された複数の検索対話用端末から検索を行うこと
が可能となり、共有資源としての有効活用ができるよう
になる。
書情報検索装置をLAN内のサーバとして、同じLAN
に接続された複数の検索対話用端末から検索を行うこと
が可能となり、共有資源としての有効活用ができるよう
になる。
【0390】次に、本発明のもう一つ別の実施例につい
て図72を用いて説明する。
て図72を用いて説明する。
【0391】本実施例における文書情報検索装置(サー
チマシンと呼ぶ)3000はLANなどの通信回線10
00に接続できるようLAN接続制御アダプタ2100
を備えている。サーチマシン3000は上記LAN接続
制御アダプタ2100のほか、サーチマシン制御用コン
ピュータ2200と複数のサーチユニット3001,3
002,……から構成されている。
チマシンと呼ぶ)3000はLANなどの通信回線10
00に接続できるようLAN接続制御アダプタ2100
を備えている。サーチマシン3000は上記LAN接続
制御アダプタ2100のほか、サーチマシン制御用コン
ピュータ2200と複数のサーチユニット3001,3
002,……から構成されている。
【0392】サーチマシン制御用コンピュータ1150
では、サーチマシン制御プログラム1100が実行され
る。このサーチマシン制御プログラム1100は、本発
明の第一実施例(図10図)で説明した、検索式解析プ
ログラム1102、同義語異表記展開プログラム110
3a、複合条件解析プログラム1141a、及び検索実
行制御プログラム1108で構成される。
では、サーチマシン制御プログラム1100が実行され
る。このサーチマシン制御プログラム1100は、本発
明の第一実施例(図10図)で説明した、検索式解析プ
ログラム1102、同義語異表記展開プログラム110
3a、複合条件解析プログラム1141a、及び検索実
行制御プログラム1108で構成される。
【0393】サーチユニット3001は、オートマトン
生成用コンピュータ(CPU1)1105a、ビットサ
ーチ用コンピュータ(CPU3)1107a、、ストリ
ングサーチエンジン1106、複合条件判定用コンピュ
ータ(CPU2)1145a、半導体メモリ装置111
0a、RAMディスク装置1110b、集合型磁気ディ
スク装置1110c、検索結果格納メモリ1146、及
びセレクタ3610、3620から構成される。
生成用コンピュータ(CPU1)1105a、ビットサ
ーチ用コンピュータ(CPU3)1107a、、ストリ
ングサーチエンジン1106、複合条件判定用コンピュ
ータ(CPU2)1145a、半導体メモリ装置111
0a、RAMディスク装置1110b、集合型磁気ディ
スク装置1110c、検索結果格納メモリ1146、及
びセレクタ3610、3620から構成される。
【0394】オートマトン生成用コンピュータ(CPU
1)1105aではオートマトン生成プログラム110
5が、ビットサーチ用コンピュータ(CPU3)110
7aではビットサーチプログラム1107が、複合条件
判定用コンピュータ(CPU2)1145aでは複合条
件判定プログラム1145が実行される。
1)1105aではオートマトン生成プログラム110
5が、ビットサーチ用コンピュータ(CPU3)110
7aではビットサーチプログラム1107が、複合条件
判定用コンピュータ(CPU2)1145aでは複合条
件判定プログラム1145が実行される。
【0395】また、集合型磁気ディスク装置1110c
は集合型磁気ディスク装置1110dと磁気ディスク装
置1110e1〜1110e1nから構成される。これ
らの磁気ディスク装置1110e1〜1110e1nに
は、本文データ、擬縮本文データ、文字成分表及び書誌
事項などが分散して格納されている。本文サーチの際に
は、ここから本文データがストリングサーチエンジン1
106へ読み込まれる。
は集合型磁気ディスク装置1110dと磁気ディスク装
置1110e1〜1110e1nから構成される。これ
らの磁気ディスク装置1110e1〜1110e1nに
は、本文データ、擬縮本文データ、文字成分表及び書誌
事項などが分散して格納されている。本文サーチの際に
は、ここから本文データがストリングサーチエンジン1
106へ読み込まれる。
【0396】半導体メモリ装置1110aには、システ
ムの立ち上げ時に磁気ディスク装置1110e1〜11
10e1nから文字成分表がロードされ、検索時に文字
成分表サーチの対象データとしてビットサーチプログラ
ム1105によりアクセスさせる。
ムの立ち上げ時に磁気ディスク装置1110e1〜11
10e1nから文字成分表がロードされ、検索時に文字
成分表サーチの対象データとしてビットサーチプログラ
ム1105によりアクセスさせる。
【0397】同様にRAMディスク装置1110bに
は、システムの立ち上げ時に磁気ディスク装置1110
e1〜1110e1nから擬縮本文がロードされ、検索
時に擬縮本文サーチの対象データとしてストリングサー
チエンジン1106によりアクセスされる。
は、システムの立ち上げ時に磁気ディスク装置1110
e1〜1110e1nから擬縮本文がロードされ、検索
時に擬縮本文サーチの対象データとしてストリングサー
チエンジン1106によりアクセスされる。
【0398】ストリングサーチエンジン1106は、擬
縮本文サーチ及び本文サーチ時に、それぞれ擬縮本文を
RAMディスク装置1110bから、本文を集合型磁気
ディスク装置1110cから読み出し、指定キーワード
の探索照合処理を行う。セレクタ3610は、ストリン
グサーチエンジン1106への入力をRAMディスク装
置1110bと集合型磁気ディスク装置1110cとで
切り替える働きをする。また、セレクタ3620は、検
索結果格納メモリ1146へ文字成分表サーチ結果を書
き込む際と、擬縮本文サーチ結果及び本文サーチ結果を
書き込む際の入力を切り替える働きをする。
縮本文サーチ及び本文サーチ時に、それぞれ擬縮本文を
RAMディスク装置1110bから、本文を集合型磁気
ディスク装置1110cから読み出し、指定キーワード
の探索照合処理を行う。セレクタ3610は、ストリン
グサーチエンジン1106への入力をRAMディスク装
置1110bと集合型磁気ディスク装置1110cとで
切り替える働きをする。また、セレクタ3620は、検
索結果格納メモリ1146へ文字成分表サーチ結果を書
き込む際と、擬縮本文サーチ結果及び本文サーチ結果を
書き込む際の入力を切り替える働きをする。
【0399】サーチマシン制御プログラム1150は、
LAN1000を介して送られてくる検索指令に応じ
て、先ず第一に検索条件の解析、同義語展開、異表記展
開、複合条件解析、近傍条件解析、文脈条件解析、論理
条件解析を行う、ここで作成された各制御情報を各サー
チユニット3001,3002,……のビットサーチプ
ログラム1107、オートマトン生成プログラム110
5、及び複合条件判定プログラム1145へブロードキ
ャストする。各サーチユニット3001,3002,…
…では、それぞれオートマトン生成プログラム1105
で作成されたキーワード照合用の状態数にテーブルデー
タが、ストリングサーチエンジン1106へ書き込まれ
る。
LAN1000を介して送られてくる検索指令に応じ
て、先ず第一に検索条件の解析、同義語展開、異表記展
開、複合条件解析、近傍条件解析、文脈条件解析、論理
条件解析を行う、ここで作成された各制御情報を各サー
チユニット3001,3002,……のビットサーチプ
ログラム1107、オートマトン生成プログラム110
5、及び複合条件判定プログラム1145へブロードキ
ャストする。各サーチユニット3001,3002,…
…では、それぞれオートマトン生成プログラム1105
で作成されたキーワード照合用の状態数にテーブルデー
タが、ストリングサーチエンジン1106へ書き込まれ
る。
【0400】第二に、検索制御情報の設定が終了した
ら、検索の実行に入る。ここでは、サーチマシン制御用
コンピュータ1150上の検索実行制御プログラム11
08が各サーチユニット3001,3002,……へ検
索起動情報をブロードキャストすることになる。
ら、検索の実行に入る。ここでは、サーチマシン制御用
コンピュータ1150上の検索実行制御プログラム11
08が各サーチユニット3001,3002,……へ検
索起動情報をブロードキャストすることになる。
【0401】各サーチユニット3001,3002,…
…では、最初、半導体メモリ1110a上の文字成分表
が読み出され、ビットサーチプログラム1107より文
字成分表サーチが行われる。この文字成分表サーチの結
果は、検索結果格納メモリ1146に書き込まれる。こ
の時、3620はビットサーチプログラム1107から
の書込みを選択すべく、検索実行制御プログラム110
8により切り替えられている。
…では、最初、半導体メモリ1110a上の文字成分表
が読み出され、ビットサーチプログラム1107より文
字成分表サーチが行われる。この文字成分表サーチの結
果は、検索結果格納メモリ1146に書き込まれる。こ
の時、3620はビットサーチプログラム1107から
の書込みを選択すべく、検索実行制御プログラム110
8により切り替えられている。
【0402】次に、文字成分表サーチにより絞り込まれ
た文書集合に対して、擬縮本文サーチを実行する。すな
わち、検索結果格納メモリ1146上に格納された文字
成分表サーチの結果情報としての該当文書識別子を検索
実行制御プログラム1108が内蔵する擬縮本文格納情
報を参照して、該当擬縮本文のRAMディスク装置11
10b上の格納領域情報をRAMディスクコントローラ
7200(図22)に設定する。その後、該当擬縮本文
をRAMディスク装置1110bから読み出し、ストリ
ングサーチエンジン1106で指定キーワードの照合処
理を行う。このストリングサーチエンジン1106の照
合情報は、複合条件判定プログラム1145に渡され、
ここで指定された複合条件に合致するか否かの判定が行
われる。この擬縮本文サーチ結果は、同様にして検索結
果格納メモリ1146に書き込まれる。当然、セレクタ
3620は複合条件判定プログラム1145からの書込
みを選択すべく、検索実行制御プログラム1108によ
り切り替えられている。
た文書集合に対して、擬縮本文サーチを実行する。すな
わち、検索結果格納メモリ1146上に格納された文字
成分表サーチの結果情報としての該当文書識別子を検索
実行制御プログラム1108が内蔵する擬縮本文格納情
報を参照して、該当擬縮本文のRAMディスク装置11
10b上の格納領域情報をRAMディスクコントローラ
7200(図22)に設定する。その後、該当擬縮本文
をRAMディスク装置1110bから読み出し、ストリ
ングサーチエンジン1106で指定キーワードの照合処
理を行う。このストリングサーチエンジン1106の照
合情報は、複合条件判定プログラム1145に渡され、
ここで指定された複合条件に合致するか否かの判定が行
われる。この擬縮本文サーチ結果は、同様にして検索結
果格納メモリ1146に書き込まれる。当然、セレクタ
3620は複合条件判定プログラム1145からの書込
みを選択すべく、検索実行制御プログラム1108によ
り切り替えられている。
【0403】この後、もし複合条件に近傍条件あるいは
文脈条件が設定されていたなら、本文サーチへ入る。本
文サーチでは、検索結果格納メモリ1146上に格納さ
れた擬縮本文サーチの結果情報としての該当文書識別子
を検索実行制御プログラム1108が内蔵する本文格納
情報を参照して、該当本文の集合型磁気ディスク制御装
置1110d(図20)に設定する。その後、これに対
応する本文を集合型磁気ディスク装置1110cから読
み出し、ストリングサーチエンジン1106で指定キー
ワードの照合処理を行う。このストリングサーチエンジ
ン1106の照合情報は、複合条件判定プログラム11
45に渡され、ここで指定された複合条件、すなわち近
傍条件と文脈条件に合致するか否かの判定が行われる。
この本文サーチ結果は、検索結果格納メモリ1146に
書き込まれる。このとき、セレクタ3610は集合型磁
気ディスク装置1110cから読み込みを選択すべく、
またセレクタ3620は複合条件判定プログラム114
5からの書込みを選択すべく、検索実行制御プログラム
1108により切り替えられている。
文脈条件が設定されていたなら、本文サーチへ入る。本
文サーチでは、検索結果格納メモリ1146上に格納さ
れた擬縮本文サーチの結果情報としての該当文書識別子
を検索実行制御プログラム1108が内蔵する本文格納
情報を参照して、該当本文の集合型磁気ディスク制御装
置1110d(図20)に設定する。その後、これに対
応する本文を集合型磁気ディスク装置1110cから読
み出し、ストリングサーチエンジン1106で指定キー
ワードの照合処理を行う。このストリングサーチエンジ
ン1106の照合情報は、複合条件判定プログラム11
45に渡され、ここで指定された複合条件、すなわち近
傍条件と文脈条件に合致するか否かの判定が行われる。
この本文サーチ結果は、検索結果格納メモリ1146に
書き込まれる。このとき、セレクタ3610は集合型磁
気ディスク装置1110cから読み込みを選択すべく、
またセレクタ3620は複合条件判定プログラム114
5からの書込みを選択すべく、検索実行制御プログラム
1108により切り替えられている。
【0404】以上説明した検索手順の制御は、すべて検
索実行制御プログラム1108により、各サーチユニッ
ト3001,3002,……へブロードキャストするこ
とにより行われる。
索実行制御プログラム1108により、各サーチユニッ
ト3001,3002,……へブロードキャストするこ
とにより行われる。
【0405】第三に、上述した一連の検索処理が全サー
チユニット3001,3002,……で終了したら、各
検索結果格納メモリ1146上に書き込まれた検索結果
を、検索実行制御プログラム1108が全ユニット30
01,3002,……から収集し、これを統合してサー
チマシン制御プログラム1100の制御によりLAN1
000を介して要求元へ返送する。
チユニット3001,3002,……で終了したら、各
検索結果格納メモリ1146上に書き込まれた検索結果
を、検索実行制御プログラム1108が全ユニット30
01,3002,……から収集し、これを統合してサー
チマシン制御プログラム1100の制御によりLAN1
000を介して要求元へ返送する。
【0406】また、サーチマシン制御用コンピュータ1
150には磁気ディスク装置2400が付設されてお
り、ここには本サーチマシン3000の構成情報、すな
わちサーチユニット数などが格納されている。さらに、
この磁気ディスク装置2400は、LANを介して複数
のユーザから検索要求が来る場合、サーチユニットの動
作状況に応じこれらの要求を一時的に格納したり、ある
いは返送すべき検索結果情報を一時的に格納するのにも
用いられる。
150には磁気ディスク装置2400が付設されてお
り、ここには本サーチマシン3000の構成情報、すな
わちサーチユニット数などが格納されている。さらに、
この磁気ディスク装置2400は、LANを介して複数
のユーザから検索要求が来る場合、サーチユニットの動
作状況に応じこれらの要求を一時的に格納したり、ある
いは返送すべき検索結果情報を一時的に格納するのにも
用いられる。
【0407】さらに、サーチマシン制御用コンピュータ
1150に付随したコンソール2300には、本サーチ
マシンの動作状況が適宜表示されたり、あるいはここか
ら保守動作の指示を行うことができるようになってい
る。
1150に付随したコンソール2300には、本サーチ
マシンの動作状況が適宜表示されたり、あるいはここか
ら保守動作の指示を行うことができるようになってい
る。
【0408】この実施例の公正に示されているように、
本発明によれば、集合型磁気ディスク装置内の磁気ディ
スク装置の台数及びサーチユニットのユニット数をユー
ザの要求仕様、すなわち要求テキストデータ蓄積容量、
検索時間などに応じて極めて容易に情報検索装置を構成
できることになる。
本発明によれば、集合型磁気ディスク装置内の磁気ディ
スク装置の台数及びサーチユニットのユニット数をユー
ザの要求仕様、すなわち要求テキストデータ蓄積容量、
検索時間などに応じて極めて容易に情報検索装置を構成
できることになる。
【0409】図73は、本発明の更に別の実施例を示し
たものである。これまで説明してきた実施例では、集合
型磁気ディスク装置1110c、ビットサーチ用コンピ
ュータ1107aあるいはストリングサーチエンジン1
106、複合条件判定用コンピュータ1145a及び検
索結果格納メモリ1146をカスケードに接続し、パイ
プライン動作させることによって処理速度の向上を図っ
ている。これに対して、本実施例では、上記各部分をバ
ス8000で結合することによって、ハードウェアの構
成を簡単化し、引いては装置規模を抑えた構成にしたも
のである。また、集合型磁気ディスク装置1110c、
RAMディスク装置1110b、及び半導体メモリ装置
1110aの制御コンピュータ1150aを、またビッ
トサーチ用コンピュータ1107a、ストリングサーチ
エンジン1106、及び複合条件判定用コンピュータ1
145aの制御コンピュータ1150bをそれぞれ一台
ずつ配ることによって、サーチマシン制御用コンピュー
タ1150のロードを軽減し、全体として負荷分散を図
ることにより、検索処理にかかわるオーバヘッドの低減
を可能とするものである。
たものである。これまで説明してきた実施例では、集合
型磁気ディスク装置1110c、ビットサーチ用コンピ
ュータ1107aあるいはストリングサーチエンジン1
106、複合条件判定用コンピュータ1145a及び検
索結果格納メモリ1146をカスケードに接続し、パイ
プライン動作させることによって処理速度の向上を図っ
ている。これに対して、本実施例では、上記各部分をバ
ス8000で結合することによって、ハードウェアの構
成を簡単化し、引いては装置規模を抑えた構成にしたも
のである。また、集合型磁気ディスク装置1110c、
RAMディスク装置1110b、及び半導体メモリ装置
1110aの制御コンピュータ1150aを、またビッ
トサーチ用コンピュータ1107a、ストリングサーチ
エンジン1106、及び複合条件判定用コンピュータ1
145aの制御コンピュータ1150bをそれぞれ一台
ずつ配ることによって、サーチマシン制御用コンピュー
タ1150のロードを軽減し、全体として負荷分散を図
ることにより、検索処理にかかわるオーバヘッドの低減
を可能とするものである。
【0410】最後に、本発明の文書情報検索装置をネッ
トワークシステムにおいて使用する場合の実施例につい
て、図74を用いて説明する。
トワークシステムにおいて使用する場合の実施例につい
て、図74を用いて説明する。
【0411】同図において1000がLANなどのネッ
トワークであり、これにサーチマシン3000がサーチ
マシン制御用ワークステーション2200を介して、通
信制御手段2100により接続されている。
トワークであり、これにサーチマシン3000がサーチ
マシン制御用ワークステーション2200を介して、通
信制御手段2100により接続されている。
【0412】また、5200は光ディスク装置551
0,5520,……5530を統括制御するイメージサ
ーバである。該イメージサーバ5200も同じく、通信
制御手段5100によりネットワーク1000に接続さ
れている。5400は光ディスク装置5510,552
0,……5530における文書に対応するイメージデー
タの所在を管理する管理情報を格納する磁気ディスク装
置である。
0,5520,……5530を統括制御するイメージサ
ーバである。該イメージサーバ5200も同じく、通信
制御手段5100によりネットワーク1000に接続さ
れている。5400は光ディスク装置5510,552
0,……5530における文書に対応するイメージデー
タの所在を管理する管理情報を格納する磁気ディスク装
置である。
【0413】1200はデータを表示できる検索対話用
のワークステーションであり、これもまた通信制御手段
1100によってネットワーク1000に接続されてい
る。本ワークステーションにはこのほかイメージプリン
タ1400、イメージスキャナ1500、磁気ディスク
装置1600、光ディスク装置1700が接続されてい
る。
のワークステーションであり、これもまた通信制御手段
1100によってネットワーク1000に接続されてい
る。本ワークステーションにはこのほかイメージプリン
タ1400、イメージスキャナ1500、磁気ディスク
装置1600、光ディスク装置1700が接続されてい
る。
【0414】6200も検索対話用のワークステーショ
ンであり、これも通信制御手段6100により同じネッ
トワークに接続されている。これは、検索ならびに閲読
専用のワークステーションである。ワークステーション
1200からは、サーチマシン3000からの検索結果
に応じて、イメージサーバ5200へ該当文書に対応す
るイメージデータを要求し、これをネットワーク経由で
受け取りコンソール1300に表示し、図面なども含め
て閲読することが可能である。このイメージデータはイ
メージプリンタ1400にハードコピーをとることもで
きる。また、このイメージデータを本ワークステーショ
ン上で編集し、個人専用のプライベートファイルとして
光ディスク装置1700に格納することも可能である。
この編集に際しては、イメージスキャナ1500から入
力したイメージを用いることもできる。
ンであり、これも通信制御手段6100により同じネッ
トワークに接続されている。これは、検索ならびに閲読
専用のワークステーションである。ワークステーション
1200からは、サーチマシン3000からの検索結果
に応じて、イメージサーバ5200へ該当文書に対応す
るイメージデータを要求し、これをネットワーク経由で
受け取りコンソール1300に表示し、図面なども含め
て閲読することが可能である。このイメージデータはイ
メージプリンタ1400にハードコピーをとることもで
きる。また、このイメージデータを本ワークステーショ
ン上で編集し、個人専用のプライベートファイルとして
光ディスク装置1700に格納することも可能である。
この編集に際しては、イメージスキャナ1500から入
力したイメージを用いることもできる。
【0415】したがって、サーチマシンあるいはイメー
ジサーバのデータベースに格納されているパブリックな
データには手を加えることなく編集部分のみを磁気ディ
スク装置1600及び光ディスク装置1700に格納
し、その対応情報を磁気ディスク装置1600に持つこ
とも可能である。
ジサーバのデータベースに格納されているパブリックな
データには手を加えることなく編集部分のみを磁気ディ
スク装置1600及び光ディスク装置1700に格納
し、その対応情報を磁気ディスク装置1600に持つこ
とも可能である。
【0416】
【発明の効果】スキャン型のフルテキストサーチを加速
する方法として、プリサーチを行うことが可能となるデ
ータの登録を実現することが可能となる。プリサーチを
行うことにより、磁気ディスク等データ格納手段に格納
されたテキスト本文を参照しに行く件数を減らすことが
できるようになるため、検索処理時間に占める割合が高
い本文検索処理量を減らすことが可能になり、その結果
全体の検索処理時間を短縮することが可能となる。
する方法として、プリサーチを行うことが可能となるデ
ータの登録を実現することが可能となる。プリサーチを
行うことにより、磁気ディスク等データ格納手段に格納
されたテキスト本文を参照しに行く件数を減らすことが
できるようになるため、検索処理時間に占める割合が高
い本文検索処理量を減らすことが可能になり、その結果
全体の検索処理時間を短縮することが可能となる。
【0417】検索データファイルをサーチすることによ
り検索の高速化が図れる。具体的には、文字成分表によ
り指定された文字をすべて含む文献のみを抽出すること
ができ、以降の検索対象とする文書数を必要最小限に絞
り込むことが可能となるため、全体の検索処理時間を短
縮することが可能となる。さらに、擬縮本文データをス
キャンすることによって、指定されたキーワードが単語
単位で記述されている文書だけを抽出することができ、
以降の本文検索の対象となる文書数を必要最小限に絞り
込むことが可能となるため、全体の検索処理時間をさら
に短縮することが可能となる。
り検索の高速化が図れる。具体的には、文字成分表によ
り指定された文字をすべて含む文献のみを抽出すること
ができ、以降の検索対象とする文書数を必要最小限に絞
り込むことが可能となるため、全体の検索処理時間を短
縮することが可能となる。さらに、擬縮本文データをス
キャンすることによって、指定されたキーワードが単語
単位で記述されている文書だけを抽出することができ、
以降の本文検索の対象となる文書数を必要最小限に絞り
込むことが可能となるため、全体の検索処理時間をさら
に短縮することが可能となる。
【0418】したがって、プリサーチの結果絞り込まれ
た文書について、データを読みだしてスキャンし、最後
の複合条件による本文検索を行うことになるため、等価
的に非常に高速なフルテキストサーチが実現できること
になる。
た文書について、データを読みだしてスキャンし、最後
の複合条件による本文検索を行うことになるため、等価
的に非常に高速なフルテキストサーチが実現できること
になる。
【図1】従来の検索システムを示すブロック構成図であ
る。
る。
【図2】従来の有限オートマトンによる文字列検索原理
を表した説明図(その1)である。
を表した説明図(その1)である。
【図3】従来の有限オートマトンによる文字列検索原理
を表した説明図(その2)である。
を表した説明図(その2)である。
【図4】従来例に対応するフェイルテーブルの説明図
(その1)である。
(その1)である。
【図5】従来の有限オートマトンによる文字列検索原理
を表した説明図(その3)である。
を表した説明図(その3)である。
【図6】従来例に対応するフェイルテーブルの説明図
(その2)である。
(その2)である。
【図7】従来の有限オートマトンによる文字列検索原理
を表した説明図(その4)である。
を表した説明図(その4)である。
【図8】従来例に対応するフェイルテーブルの説明図
(その3)である。
(その3)である。
【図9】異表記展開の従来構成を示したブロック図であ
る。
る。
【図10】この発明の第1の実施例の概要を示すブロッ
ク構成図である。
ク構成図である。
【図11】照合位置情報の一例を示す図である。
【図12】照合位置を付したサーチエンジンの出力情報
例を示す図である。
例を示す図である。
【図13】複合条件判定部の詳細を示す図である。
【図14】2つのキーワードを使った検索例を示す図で
ある。
ある。
【図15】フルテキストサーチを加速する手段を示す構
成図である。
成図である。
【図16】テキストの登録処理の手順を示す図である。
【図17】図16に示す登録手順で登録、生成された文
字成分表から、検索処理を行う手段を示した図である。
字成分表から、検索処理を行う手段を示した図である。
【図18】文字成分表の構成とこれを用いたサーチの具
体例を示した図である。
体例を示した図である。
【図19】擬縮本文の作成を示す図である。
【図20】文字成分表サーチの手順を示したPAD図
(その1)である。
(その1)である。
【図21】文字成分表サーチの手順を示したPAD図
(その2)である。
(その2)である。
【図22】文字成分表サーチの手順を示したPAD図
(その3)である。
(その3)である。
【図23】文字成分表サーチの手順を示したPAD図
(その4)である。
(その4)である。
【図24】文字成分表サーチの手順を示したPAD図
(その5)である。
(その5)である。
【図25】図10に示した実施例の変形例を示す構成図
である。
である。
【図26】同義語・異表記の展開の処理を行う実施例の
ブロック構成図である。
ブロック構成図である。
【図27】図26に示した実施例での処理概略を説明し
た図である。
た図である。
【図28】本発明の1実施例の構成ブロック図である。
【図29】異表記展開処理の過程を例示する図である。
【図30】異表記展開手段のブロック図である。
【図31】異表記展開処理部における変換ルールの適用
処理をカタカナ文字の列で説明した図である。
処理をカタカナ文字の列で説明した図である。
【図32】異表記展開処理を示すPAD図である。
【図33】見だし文字列検索をオートマトンを用いて実
行する実施例を説明する図である。
行する実施例を説明する図である。
【図34】オートマトンの状態遷移テーブル図である。
【図35】オートマトンの出力テーブル図である。
【図36】検索オートマトンの状態遷移テーブル及び出
力テーブルの作成方法を表したPAD図である。
力テーブルの作成方法を表したPAD図である。
【図37】カタカナ異表記変換ルールテーブルを示す図
である。
である。
【図38】漢字の新旧字体に関する異表記変換ルールテ
ーブルを示す図である。
ーブルを示す図である。
【図39】漢字の送り仮名に関する異表記変換ルールテ
ーブルを示す図である。
ーブルを示す図である。
【図40】ローマ字とカタカナの対応表の例を示す図で
ある。
ある。
【図41】異表記展開手段の展開モードを設定可能とす
るブロック図である。
るブロック図である。
【図42】異表記展開における各変換部、展開部及びス
イッチの出力の制御状態を示す図である。
イッチの出力の制御状態を示す図である。
【図43】同義語辞書を示す図である。
【図44】同義語辞書の見出し文字列をインデックステ
ーブルを用いた探索の概要を示す図である。
ーブルを用いた探索の概要を示す図である。
【図45】本発明の実施例である有限オートマトンを用
いた文字検索か色の構成ブロック図である。
いた文字検索か色の構成ブロック図である。
【図46】本発明の実施例の有限オートマトンによる文
字列検索方法の原理を示した説明図(その1)である。
字列検索方法の原理を示した説明図(その1)である。
【図47】本発明の実施例の有限オートマトンによる文
字列検索方法の原理を示した説明図(その2)である。
字列検索方法の原理を示した説明図(その2)である。
【図48】本発明の実施例の有限オートマトンによる文
字列検索方法の原理を示した説明図(その3)である。
字列検索方法の原理を示した説明図(その3)である。
【図49】本発明の実施例の有限オートマトンによる文
字列検索方法の原理を示した説明図(その4)である。
字列検索方法の原理を示した説明図(その4)である。
【図50】本発明の実施例の有限オートマトンによる文
字列検索方法の原理を示した説明図(その5)である。
字列検索方法の原理を示した説明図(その5)である。
【図51】本発明の実施例の有限オートマトンによる文
字列検索方法の原理を示した説明図(その6)である。
字列検索方法の原理を示した説明図(その6)である。
【図52】本発明の実施例の有限オートマトンによる文
字列検索方法の原理を示した説明図(その7)である。
字列検索方法の原理を示した説明図(その7)である。
【図53】本発明の実施例の有限オートマトンによる文
字列検索方法の原理を示した説明図(その8)である。
字列検索方法の原理を示した説明図(その8)である。
【図54】本発明の実施例の状態遷移テーブルの説明図
である。
である。
【図55】検索結果テーブルの説明図である。
【図56】本発明の実施例である集合型磁気ディスク装
置の構成例図である。
置の構成例図である。
【図57】本発明の1実施例を示す構成図である。
【図58】構造定義テーブルの構造を示す図である。
【図59】格納位置ポインタテーブルの構造を示す図で
ある。
ある。
【図60】物理情報テーブルの構造を示す図である。
【図61】図57に示した実施例のファイルの書込みの
フローチャートである。
フローチャートである。
【図62】図57に示す集合型磁気ディスク装置におけ
るファイルの書き込み処理のタイムチャートである。
るファイルの書き込み処理のタイムチャートである。
【図63】図57に示す実施例におけるファイルの読み
出し処理のフローチャート、でる。
出し処理のフローチャート、でる。
【図64】マルチプレクスコントローラの構成を示す図
である。
である。
【図65】図57に示す実施例における集合型磁気ディ
スク装置におけるファイルの読み出し処理のタイムチャ
ートである。
スク装置におけるファイルの読み出し処理のタイムチャ
ートである。
【図66】図57に示す実施例における集合型磁気ディ
スク装置におけるファイルの読み出し処理のタイムチャ
ートである。
スク装置におけるファイルの読み出し処理のタイムチャ
ートである。
【図67】図57に示す実施例において、3台の磁気デ
ィスク装置で構成した集合型磁気ディスク装置における
ファイルの読み出し処理のタイムチャートである。
ィスク装置で構成した集合型磁気ディスク装置における
ファイルの読み出し処理のタイムチャートである。
【図68】図57に示す実施例において、4台の磁気デ
ィスク装置で構成した集合型磁気ディスク装置における
ファイルの読み出し処理のタイムチャートである。
ィスク装置で構成した集合型磁気ディスク装置における
ファイルの読み出し処理のタイムチャートである。
【図69】図57に示した実施例において、5台の磁気
ディスク装置で構成した集合型磁気ディスク装置におけ
るファイルの読み出しのタイムチャートである。
ディスク装置で構成した集合型磁気ディスク装置におけ
るファイルの読み出しのタイムチャートである。
【図70】図56に示した実施例において、2台の集合
型磁気ディスク装置におけるファイルの読み出し処理の
タイムチャートである。
型磁気ディスク装置におけるファイルの読み出し処理の
タイムチャートである。
【図71】LANに接続した実施例を示す構成ブロック
図である。
図である。
【図72】図71に示した実施例の変形例を示すブロッ
ク図である。
ク図である。
【図73】図71に示した実施例の変形例を示す図であ
る。
る。
【図74】図71の変形例の構成を示す構成ブロック図
である。
である。
【図75】RAMディスク装置の具体例を示す図であ
る。
る。
【図76】符号語表現文字列の1例を示す図(その1)
である。
である。
【図77】符号語表現文字列の1例を示す図(その2)
である。
である。
1101…キーボード、1102…検索式解析プログラ
ム、1103a…同義語異表記展開プログラム、110
5…ビットサーチ用コンピュータ、1106…ストリン
グサーチエンジン、1107…ビットサーチプログラ
ム、1110…テキストデータファイル、1145a…
複合条件判定用コンピュータ、1146…検索結果格納
メモリ、1150…サーチマシン制御用コンピュータ
ム、1103a…同義語異表記展開プログラム、110
5…ビットサーチ用コンピュータ、1106…ストリン
グサーチエンジン、1107…ビットサーチプログラ
ム、1110…テキストデータファイル、1145a…
複合条件判定用コンピュータ、1146…検索結果格納
メモリ、1150…サーチマシン制御用コンピュータ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 川口 久光 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 畠山 敦 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 兼岡 則幸 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 秋沢 充 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内
Claims (27)
- 【請求項1】複数のデータを格納し得るデータ格納手段
へのデータ登録方法において、 前記データ格納手段へデータを登録し、 予め定めた各文字が前記登録されたデータに含まれるか
否かを示す文字成分表を前記登録されるデータに対応さ
せて登録することを特徴とするデータ登録方法。 - 【請求項2】請求項1に記載のデータ登録方法におい
て、 前記データは、文字コードからなるテキストデータを含
むことを特徴とするデータ登録方法。 - 【請求項3】請求項1または2に記載のデータ登録方法
において、 前記文字成分表は、前記データ格納手段に登録すること
を特徴とするデータ登録方法。 - 【請求項4】請求項1乃至3のいずれかにに記載のデー
タ登録方法において、 前記予め定めた各文字は、前記登録させるデータおよび
前記登録させるデータ以前に前記データ格納手段に格納
されたデータのうち少なくとも一方に現れる文字である
ことを特徴とするデータ登録方法。 - 【請求項5】複数のデータを格納し得るデータ格納手段
へのデータ登録方法において、 前記データ格納手段へデータを登録し、 前記登録されたデータから、前記登録されたデータ中に
繰り返し現れる単語の重複を排除した凝縮本文データを
前記登録されるデータに対応させて記憶することを特徴
とするデータ登録方法。 - 【請求項6】請求項5に記載のデータ登録方法におい
て、 前記凝縮本文データは、前記データ格納手段に登録する
ことを特徴とするデータ登録方法。 - 【請求項7】請求項5または6に記載のデータ登録方法
において、 前記凝縮本文データは、前記データ格納手段に予め登録
されたデータおよび前記登録されたデータのうち、所定
数以上のデータに含まれる単語を排除して登録されるこ
とを特徴とするデータ登録方法。 - 【請求項8】請求項5乃至7のいずれかに記載のデータ
登録方法において、 前記凝縮本文データは、前記登録されたデータから付属
語を排除して、登録されることを特徴とするデータ登録
方法。 - 【請求項9】複数のデータを格納し得るデータ格納手段
へのデータ登録方法において、 前記データ格納手段へデータを登録し、 予め定めた各文字が前記登録されたデータに含まれるか
否かを示す文字成分表および前記登録されたデータか
ら、前記登録されたデータ中に繰り返し現れる単語の重
複を排除した凝縮本文データをそれぞれ前記登録される
データに対応させて登録することを特徴とするデータ登
録方法。 - 【請求項10】請求項9に記載のデータ登録方法におい
て、 前記予め定めた文字は、前記凝縮本文データ中に現れる
文字であることを特徴とするデータ登録方法。 - 【請求項11】コンピュータに複数のデータを格納し得
るデータ格納手段へデータを登録させるとともに、 予め定めた各文字が前記登録されたデータに含まれるか
否かを示す文字成分表を前記登録されるデータに対応さ
せて登録させるプログラムを記憶したことを特徴とする
記憶媒体。 - 【請求項12】請求項11に記載の記憶媒体において、 前記予め定めた各文字は、前記登録させるデータおよび
前記登録させるデータ以前に前記データ格納手段に格納
されたデータのうち少なくとも一方に現れる文字である
ことを特徴とする記憶媒体。 - 【請求項13】コンピュータに複数のデータを格納し得
るデータ格納手段へデータを登録させるとともに、 前記登録されるデータから、前記登録されるデータ中に
繰り返し現れる単語の重複を排除した凝縮本文データを
前記登録されるデータに対応させて登録させるプログラ
ムを記憶したことを特徴とする記憶媒体。 - 【請求項14】コンピュータに複数のデータを格納し得
るデータ格納手段へデータを登録させるとともに、 予め定めた各文字が前記登録されるデータに含まれるか
否かを示す文字成分表および前記登録されるデータか
ら、前記登録されるデータ中に繰り返し現れる単語の重
複を排除した凝縮本文データをそれぞれ前記登録される
データに対応させて登録させるプログラムを記憶したこ
とを特徴とする記憶媒体。 - 【請求項15】請求項14に記載の記憶媒体において、 前記予め定めた文字は、前記凝縮本文データ中に現れる
文字であることを特徴とする記憶媒体。 - 【請求項16】データ格納手段に格納された複数のデー
タの各々に対応し、 予め定めた文字が前記データ中に含まれるか否かを示
し、 前記データ格納手段に格納されたデータに対して検索が
された場合にサーチされ、 入力された検索キーワードを含む可能性のないデータを
排除するための文字成分表を記憶することを特徴とする
記憶媒体。 - 【請求項17】データ格納手段に格納された複数のデー
タの各々に対応し、 登録されるデータから、前記登録されるデータ中に繰り
返し現れる単語の重複を排除し、 前記データ格納手段に格納されたデータに対して検索が
された場合にサーチされ、 入力された検索キーワードを含む可能性のないデータを
排除するための凝縮本文データを記憶することを特徴と
する記憶媒体。 - 【請求項18】それぞれデータ格納手段に格納された複
数のデータの各々に対応し、 前記データ格納手段に格納されたデータに対して検索が
された場合にサーチされ、 入力された検索キーワードを含む可能性のないデータを
排除するためのものであって、 予め定めた文字が前記データ中に含まれるか否かを示す
文字成分表および登録されるデータから、前記登録され
るデータ中に繰り返し現れる単語の重複を排除した凝縮
本文データを記憶することを特徴とする記憶媒体。 - 【請求項19】請求項18に記載の記憶媒体において、 前記予め定めた文字は、前記凝縮本文データ中に現れる
文字であることを特徴とする記憶媒体。 - 【請求項20】複数のデータを格納し得るデータ格納手
段へデータを登録させる手段と、 予め定めた各文字が前記登録されたデータに含まれるか
否かを示す文字成分表を前記登録されるデータに対応さ
せて登録させる手段を有することを特徴とするデータ登
録装置。 - 【請求項21】請求項20に記載のデータ登録装置にお
いて、 前記予め定めた各文字は、前記登録させるデータおよび
前記登録させるデータ以前に前記データ格納手段に格納
されたデータのうち少なくとも一方に現れる文字である
ことを特徴とするデータ登録装置。 - 【請求項22】請求項20または21に記載のデータ登
録装置において、 前記データは、文字コードを有する文書データを含むこ
とを特徴とするデータ登録装置。 - 【請求項23】複数のデータを格納し得るデータ格納手
段へデータを登録させる手段と、 前記登録されるデータから、前記登録されるデータ中に
繰り返し現れる単語の重複を排除した凝縮本文データを
前記登録されるデータに対応させて登録させる手段を有
することを特徴とするデータ登録装置。 - 【請求項24】請求項23に記載のデータ登録装置にお
いて、 前記データは、文字コードを有する文書データを含むこ
とを特徴とするデータ登録装置。 - 【請求項25】複数のデータを格納し得るデータ格納手
段へデータを登録させる手段と、 予め定めた各文字が前記登録されるデータに含まれるか
否かを示す文字成分表および前記登録されるデータか
ら、前記登録されるデータ中に繰り返し現れる単語の重
複を排除した凝縮本文データをそれぞれ前記登録される
データに対応させて登録させる手段を有することを特徴
とするデータ登録装置。 - 【請求項26】請求項25に記載のデータ登録装置にお
いて、 前記予め定めた文字は、前記凝縮本文データ中に現れる
文字であることを特徴とするデータ登録装置。 - 【請求項27】請求項25または26に記載のデータ登
録装置において、 前記データは、文字コードを有する文書データを含むこ
とを特徴とするデータ登録装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9093439A JPH1027183A (ja) | 1997-04-11 | 1997-04-11 | データ登録方法および装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9093439A JPH1027183A (ja) | 1997-04-11 | 1997-04-11 | データ登録方法および装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2193015A Division JP2986865B2 (ja) | 1989-07-24 | 1990-07-23 | データ検索方法および装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH1027183A true JPH1027183A (ja) | 1998-01-27 |
Family
ID=14082364
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9093439A Pending JPH1027183A (ja) | 1997-04-11 | 1997-04-11 | データ登録方法および装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH1027183A (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001117934A (ja) * | 1999-10-19 | 2001-04-27 | Hitachi Ltd | 電子文書管理方法及びシステム並びに記録媒体 |
US6853992B2 (en) | 1999-12-14 | 2005-02-08 | Fujitsu Limited | Structured-document search apparatus and method, recording medium storing structured-document searching program, and method of creating indexes for searching structured documents |
JP2006134161A (ja) * | 2004-11-08 | 2006-05-25 | Mitsubishi Electric Corp | 文書検索装置および文書検索プログラム |
CN100452055C (zh) * | 2007-04-13 | 2009-01-14 | 清华大学 | 一种用于文本或网络内容分析的大规模多关键词匹配方法 |
JP2012212329A (ja) * | 2011-03-31 | 2012-11-01 | Tottori Univ | テキストデータの冗長性を解析する情報解析装置 |
US10409992B2 (en) | 2015-10-15 | 2019-09-10 | Fujitsu Limited | Investigation apparatus, computer-readable recording medium, and investigation method |
WO2020209096A1 (ja) * | 2019-04-10 | 2020-10-15 | 日本電信電話株式会社 | 書籍検索装置、書籍検索用データベース生成装置、書籍検索方法、書籍検索用データベース生成方法、およびプログラム |
JP2022185581A (ja) * | 2021-06-02 | 2022-12-14 | ネイバー コーポレーション | 個別データ検索サービスを提供する方法、コンピュータ装置、およびコンピュータプログラム |
-
1997
- 1997-04-11 JP JP9093439A patent/JPH1027183A/ja active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001117934A (ja) * | 1999-10-19 | 2001-04-27 | Hitachi Ltd | 電子文書管理方法及びシステム並びに記録媒体 |
US6853992B2 (en) | 1999-12-14 | 2005-02-08 | Fujitsu Limited | Structured-document search apparatus and method, recording medium storing structured-document searching program, and method of creating indexes for searching structured documents |
JP2006134161A (ja) * | 2004-11-08 | 2006-05-25 | Mitsubishi Electric Corp | 文書検索装置および文書検索プログラム |
CN100452055C (zh) * | 2007-04-13 | 2009-01-14 | 清华大学 | 一种用于文本或网络内容分析的大规模多关键词匹配方法 |
JP2012212329A (ja) * | 2011-03-31 | 2012-11-01 | Tottori Univ | テキストデータの冗長性を解析する情報解析装置 |
US10409992B2 (en) | 2015-10-15 | 2019-09-10 | Fujitsu Limited | Investigation apparatus, computer-readable recording medium, and investigation method |
WO2020209096A1 (ja) * | 2019-04-10 | 2020-10-15 | 日本電信電話株式会社 | 書籍検索装置、書籍検索用データベース生成装置、書籍検索方法、書籍検索用データベース生成方法、およびプログラム |
JP2020173580A (ja) * | 2019-04-10 | 2020-10-22 | 日本電信電話株式会社 | 書籍検索装置、書籍検索用データベース生成装置、書籍検索方法、書籍検索用データベース生成方法、およびプログラム |
JP2022185581A (ja) * | 2021-06-02 | 2022-12-14 | ネイバー コーポレーション | 個別データ検索サービスを提供する方法、コンピュータ装置、およびコンピュータプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6094647A (en) | Presearch type document search method and apparatus | |
US5748953A (en) | Document search method wherein stored documents and search queries comprise segmented text data of spaced, nonconsecutive text elements and words segmented by predetermined symbols | |
US5099426A (en) | Method for use of morphological information to cross reference keywords used for information retrieval | |
US5745745A (en) | Text search method and apparatus for structured documents | |
JP2742115B2 (ja) | 類似文書検索装置 | |
JP2986865B2 (ja) | データ検索方法および装置 | |
WO2005124599A2 (en) | Content search in complex language, such as japanese | |
JPS6244878A (ja) | 文書フアイリングシステム | |
JPH11120203A (ja) | データベースを合併する方法およびデータベースからドキュメントを検索する装置 | |
JPH0628403A (ja) | 文書検索装置 | |
JPH1027183A (ja) | データ登録方法および装置 | |
JP2791106B2 (ja) | 文字列検索装置 | |
JP2000200287A (ja) | 文書検索装置 | |
JPH08147311A (ja) | 構造化文書検索方法及び装置 | |
JPH05101102A (ja) | 検索装置 | |
JP2002251412A (ja) | 文書検索装置および方法ならびに記憶媒体 | |
JP2000003366A (ja) | 文書登録方法と文書検索方法及びその実施装置並びにその処理プログラムを記録した媒体 | |
JP2004086307A (ja) | 情報検索装置、情報登録装置、情報検索方法、及びコンピュータ読み取り可能なプログラム | |
JP2880199B2 (ja) | 記号列検索方法および検索装置 | |
JPH056398A (ja) | 文書登録装置及び文書検索装置 | |
JP2002132789A (ja) | 文書検索方法 | |
JP2880192B2 (ja) | 文字列検索方法及び装置 | |
JP2002251401A (ja) | 文書検索装置および方法ならびに記憶媒体 | |
JPH08190571A (ja) | 文書検索方法 | |
JP2560656B2 (ja) | 文書ファイリングシステム |