JP2986865B2 - データ検索方法および装置 - Google Patents

データ検索方法および装置

Info

Publication number
JP2986865B2
JP2986865B2 JP2193015A JP19301590A JP2986865B2 JP 2986865 B2 JP2986865 B2 JP 2986865B2 JP 2193015 A JP2193015 A JP 2193015A JP 19301590 A JP19301590 A JP 19301590A JP 2986865 B2 JP2986865 B2 JP 2986865B2
Authority
JP
Japan
Prior art keywords
search
document
character
state
text
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2193015A
Other languages
English (en)
Other versions
JPH03174652A (ja
Inventor
寛次 加藤
浩道 藤澤
光男 大山
川口  久光
敦 畠山
則幸 兼岡
充 秋沢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2193015A priority Critical patent/JP2986865B2/ja
Publication of JPH03174652A publication Critical patent/JPH03174652A/ja
Application granted granted Critical
Publication of JP2986865B2 publication Critical patent/JP2986865B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】
〔産業上の利用分野〕 この発明は、情報検索方式に関し、特に高速に文書を
検索することが可能な文書検索装置および装置に関す
る。 〔従来の技術〕 近年、文献情報や特許情報などの2次情報(書誌情
報)のみならず、1次情報(本文)をも含む大規模デー
タベース・サービスの重要性が増している。このような
データベース(DBと略すこともある)の情報検索では、
従来からキーワードや分類コードによる方法が用いられ
てきている。 キーワードは、データベースへの情報登録時に、キー
ワードを付与する(インデキシングと言う)専門家が統
制語集(シソーラスと呼ぶ)から選んで付けている。そ
して、DB検索者もこのシソーラスからキーワードを選び
出して検索を行なう方式がとられている。しかしなが
ら、このキーワード付与作業は、非常に煩雑な作業を伴
う。すなわち、登録すべき文書の内容を読み、この内容
を表現する適切な語彙をシソーラスから選び出す必要が
ある。もしインデキシングを適切に行なわなければ、デ
ータベースから正しい情報が得られないことになる。従
って、このインデキシングには文書の内容に関する専門
知識を持ち、かつシソーラスに登録されている語彙にも
精通した専門家が必要になるという問題がある。また、
検索時にも同様に、シソーラスに則った適切な語彙をキ
ーワードとして指定しなければ、要求する文書を呼び出
せなかったり、あるいは呼び出した文書の中に不要なも
のが混じり込むという問題がある。 また、このシソーラスにおいては、分類体系自体が年
月と共に変化するため、常にキーワードや分類コードを
更新しなければならないという問題も生じてくる。 更に、インデキシングには時間がかかるため、新たな
文書はバッチ処理によりかなりの量をまとめて登録する
ことになる。そのため、検索できる情報は常に一定期間
のおくれを持つという問題もある。このようなことか
ら、DBの普及に伴い、DBの専門家でなくても、シソーラ
ス等に拘束されることなく、簡単に自由語(非統制語と
もいう)で、文書の登録、検索が行なえるシステムが望
まれてきた。 また、データベースが大規模化するに従い、シソーラ
スに記述された統制語だけでは文書の内容を十分詳細に
記述できないため、キーワードで検索しても数十件から
数百件までにしか絞り込めなくなってきている。この中
から目的とする文書を見つけ出すためには、それらの内
容を直接読むしか方法がなく、これが検索効率上の大き
な問題となっている。 このシソーラスの制限語を用いたインデキシングに基
づく現状の検索方式の問題に対して、自動抄録や自動イ
ンデキシングの試みがなされてきているが、日本語の場
合その言語的な困難性から、やはり種々の辞書を必要と
するため上記の本質的な問題の解決に至っていない。 このような自由語による検索の過程では、しばしばユ
ーザの指定するキーワードすなわち検索文字列と、検索
対象であるDB中で用いられている言葉が同一の内容を示
すのにもかかわらず、表記あるいは表現が食い違ってい
るために検索漏れを生ずる場合がある。例えば、 “ピアノ”という言葉を“ピヤノ” と記述したり、また “インターフェイス”という言葉を “インタフェース”、“インタフェイス”あるいは “インターフェース” と記述したりすることがある。このような微妙な音節表
記法のバリエーションの違いにより、所望する情報を検
索できない場合がある。 以下、表記法の異なる文字列に展開することを異表記
展開と呼び、辞書を用いて他の文字列へ展開することを
同義語展開と呼ぶ。また、表記法の異なる文字列のこと
を異表記と呼ぶ。 これらの問題に対する根本的解決方法として、検索者
が自由なキーワード(自由語あるいは非統制語と呼ぶ)
に基づいて文書の本文を直接参照して内容を検索できる
全文検索(フルテキストサーチと呼ぶ)システムが提案
されている。 その代表的な構成を第1図に示し、以下その内容につ
いて説明する。 検索システム101はホストコンピュータに接続され、
通信回線を介して検索要求の受信及び検索結果の送信を
行う。ホストコンピュータから検索要求107が送られれ
ると、検索制御手段103がこれを受け付け、解析して、
文字列照合手段105と複合条件判定手段104へこれに対応
した検索制御情報108を送る。また、検索制御手段102は
記憶装置制御手段103を制御して、文字列記憶手段106に
格納されている文字列データ(テキストデータ)111を
文字列照合手段105へ転送させる。 文字列照合手段105は入力された文字列データと、予
め設定された検索文字列(キーワード)との照合を行
い、該当する文字列を検出すると検出情報110を複合条
件判定手段104へ出力する。複合条件判定手段104は検索
要求中に記述された文字列間の位置関係や共起関係など
に関する複合条件に検出情報110が合致するか否かを調
べる。これに合致する場合には、該当する文書データの
識別情報や文書内容を検索結果109として出力し、これ
をホストコンピュータへ送り返す。 こうした従来例の一つが、アール・エル・ハンスキン
アンド ホラー:“オペレーショナル キャラクタリ
スティック オブ ア ハードウェア ベイスト パタ
ーン マッチャー",エー シー エム トランザルショ
ン オン データベース システムズ,第8巻,第1
号,1983年(R.L.Haskin and A.Hollaar:“Operational
Characteristics of a Hardware−Based Pattern Match
er",ACM Trans.on Datebase System,Vol.8,No.1,1983)
に記載されている。 上述した文字列検索装置200の要となる文字列照合手
段213における文字列の照合方式としては、有限オート
マトンを用いて複数の文字列を1回の走査で検索する方
法が知られている。その代表的な方式としては、エー.
ブイ.エーホ アンド エム.ジェイ.コラッシック:
“エフィシェント ストリング マッチング",コミュニ
ケーションズ エー シー エム,第18巻,第6号,197
5年,A.V.Aho and M.J.Corasick:“Efficient String Ma
tching",CACM,Vol 18,No.6,1975にその一列が開示され
ている。 本文献には2種類のオートマトン作成方法とオートマ
トンを用いた文字列照合方法が詳細に述べられている。
以下、各々について説明する。 まず、第1の方法(以後、従来方法1と呼ぶ)につい
て第2図を用いて説明する。同図は、文字列データの中
から、ユーザから与えられたキーワード“インタフェー
ス”を検索するためのオートマトンの状態遷移図であ
る。ここで、円形はオートマトンの状態を、矢印は状態
遷移を表している。各矢印に付記された文字はこれに対
応した状態遷移が起きる入力文字を示す。本図では
“ン”以外および“イ”以外の文字といった否定を表わ
す場合は否定記号“”を付け「{“ン",“イ”}」
と表わしている。矢印403は状態遷移の始まる始点状態
を示している。各円形の内部に記された数値は、同状態
の状態番号を示す。二重円は“インタフェース”を照合
したことを示す終点の状態を表している。本方法の特徴
は入力される可能性のある全ての入力文字に対する状態
遷移をオートマシンで記述している点にある。このため
状態遷移の数が多くなるため、キーワードの数が多くな
るというオートマトンの作成時間が極めて長くなるとい
う問題がある。 以下、同図を用いて従来方法1の文字列照合動作につ
いて説明する。オートマトンに文字が入力された場合、
どの状態において入力文字の照合を行なうべきかをトー
クンに置くことにより明らかにする。すなわち、トーク
ンとは、オートマトン内で遷移する状態の位置を表わす
マークである。まず、初期設定としてトークンを始点状
態である状態0に置く。この例の場合、入力文字が
“イ”であるとトークンは状態1へ移動する。もし、こ
こで“イ”以外の文字が入ってきた場合はトークンは状
態0に移動する。一方、トークンが状態1にあって入力
文字が“ン”ならば、トークンは状態2に移動する。
“イ”であれば状態1に移動する。“イ”および“ン”
以外の文字であれば状態0へ移動する。次にトークンが
状態2にある場合、入力文字が“タ”ならば、トークン
は状態3に移動する。ここで、もし、“イ”が入力され
たときは、トークンは状態1へ移動する。更に、状態3
にトークンがある場合、“フェース”が入力されると、
トークンは状態4→状態5→状態6→状態7と移動す
る。状態7は2重円で記されており、ここでは“インタ
フェース”という文字列が照合されたことになる。 この従来方法1では入力される可能性のある全ての入
力文字に対する状態遷移をオートマトンに記述している
ため、キーワードが多くなると状態遷移の数が多くなり
オートマトンの作成時間が極めて長くなるという問題が
ある。本方法を実現するハードウェアについては、特開
昭60−105039、特開昭60−105040に開示されている。 次に、第2の方法(以後、従来方法2と呼ぶ)につい
て説明する。この従来方法2は従来方法1と比べオート
マトン作成時間を短縮するための工夫がされている。従
来方法2では、従来方法1と比べオートマトンの作成時
間3分の1と大幅に改善されており、詳細について特開
昭63−311530に述べられている。この従来方法2を第3
図と第4図を用いて説明する。第3図は、第2図と同様
に“インタフェース”を照合する場合のオートマトンの
状態遷移図を示したものである。初期設定として、トー
クンは始点状態である状態0に置かれる。ここで、入力
文字“イ”が入力されたならばトークンが置かれている
状態0で照合を行ない状態1へ移動する。もし、状態0
で“イ”以外の文字が入ってきた場合はトークンは状態
0に移動する。 一方、トークンが状態1にあって入力文字“ン”が入
力されたならばトークンは状態2に移動する。トークン
が状態2にあって“タ”が入力されたならばトークンは
状態3に移動する。ここでもしトークンが状態3にあっ
て同オートマトンに記述されていない“フ”以外の文
字、例えば“イ”が入力されたときは、この従来方法2
では「フェイル」したと言い、第4図のフェイルテーブ
ルを参照することになる。フェイルテーブルにはトーク
ンが置かれている状態番号に対して再照合すべきフェイ
ル先の状態番号が格納されている。この場合、現在の状
態番号3に対応するフェイル先の値0を得て状態0へト
ークンを移動する。そして、ここで該入力文字“イ”に
ついて照合することによりトークンは状態1へ移動させ
る。このような機能をフェイル機能と呼んでいる。更
に、続けて“ンタフェース”という入力文字列が1文字
づつ入ってきた場合、トークンは状態2→状態3→状態
4→状態5→状態6→状態7と移動する。状態7は2重
円で記されており、ここでは“インタフェース”という
文字列が照合されたことになる。 例えば、キーワードとして“インタフェース”が与え
られた場合、本文中にはユーザが指定した検索タームと
異なる表記(異表記)で記述されることもある。 本文には、“インタフェース”のように“ー”(長音
記号)の代わりに“−”(マイナス記号)を使用したり
(これを長音異表記と呼ぶ)、“インターフェース”の
ように“ー”を付加したり(これを長音の有無と呼
ぶ)、“インタフェイス”のように発音の表記の違いに
より“フェー”を“フェイ”と記述したりする(これを
発音異表記と呼ぶ)。 これらを全て検索するためには、これらの異表記を組
合せた“インタフェース",“インターフェース",“イン
タフェイス",“インターフェイス",“インタ−フェイ
ス",“インタフェ−ス”“インターフェ−ス",“インタ
−フェース",“インタ−フェース”の9語全てをキーワ
ードとする必要がある。 この場合の例について第5図と第6図を用いて説明す
る。第5図は、文字列データの中から、異表記を含む上
記9語を照合する場合のオートマトンの状態遷移図であ
る。 キーワードの先頭から比較して遷移文字が異なる場合
は別状態に分岐する。 例えば、“インタフェース”と“インターフェース”
のキーワードの例では、キーワードの前方から比較する
と“インタ”までは同じであるが、その次の文字では
“フ”と“ー”で遷移文字が異なる。このため状態3か
ら遷移文字“フ”で状態22に遷移し、遷移文字“ー”で
状態4へ遷移するといった状態遷移の分岐が起こる。 すなわち、ある状態において遷移文字が異なる場合別
々の遷移先状態を割り付けているため木状のオートマト
ンになる。第6図はこのオートマトンに示されていない
文字が入力された場合の遷移先を示すフェイルテーブル
の説明図である。このように、異表記を含めて照合を行
なおうとすると、キーワードが多くなるため状態数が非
常に増加してしまうという問題が発生する。 また、文字列検索ではキーワードにdon't care文字を
使用することがある。キーワードに固定長のdon't care
文字を使用した例を第7図と第8図を用いて説明する。
第7図は1文字の固定長のdon't care文字“?"を含むキ
ーワード“A?B"を検索する場合のオートマトンの状態遷
移図を表わしている。第8図はこのオートマトンに示さ
れてない文字が入力された場合の遷移先を示すフェイル
テーブルの説明図である。 この例では1バイトの文字コード(JISコードを用い
ている)の場合についてオートマトンを作成している。
“?"は任意の文字や記号との一致を許すことを意味する
文字記号である。従って、don't care文字“?"による遷
移は本図の状態1を遷移元とする全ての文字コードOO〜
FFによる遷移として表わされる。すなわち“A?B"は、先
頭が“A"で間に任意の1文字が入り、末尾が“B"である
文字列を検索するという指定になる。 このように簡単な検索条件でも固定長のdon't care文
字が入るとオートマトンの状態数が非常に増加してしま
うという問題が発生する。 また異表記や同義語の問題を解決する方法として、特
開昭62−011932を提案した。なお、この引例の中では、
異表記展開のことを異表記発生と呼び、同義語展開のこ
とを類似語抽出と呼んでいる。 第9図に、この引例の構成をブロック図で示す。 この構成では、ローマ字やカタカナ表現で入力した検
索文字列を、一旦全てカタカナの標準化された表記の文
字列に変換する。すなわち、異表記発生の逆の操作によ
り、複数個の表記法を一つにまとめる表記の標準化処理
をまず最初に行なう。また、アルファベット表現で入力
された検索文字列も外来語カナ変換により、カタカナ表
現に統一される。 こうして、一旦標準化したカタカナ文字列を、同義語
辞書を用いて類似語展開し、入力したカタカナ文字列と
同義の単語をカタカナ文字列として出力する。類似語抽
出した語のカタカナ文字列は、カナ漢字変換を行ない漢
字文字列へ、カナ外来語変換を行ないアルファベット表
現の外国語に、カナローマ字変換を施してローマ字文字
列へ変換する。 このようにして、類似語抽出の結果であるカタカナ文
字列を、漢字、ローマ字、カタカナ、外国語の各表現に
変換して、それぞれ異表記展開する。 また、第1図のこうした従来の文字列検索装置101に
おいては、文字列検索装置101の構成要素である文字列
記憶手段106として大規模なデータの記憶ができる磁気
ディスク装置が必要となる。一般の磁気ディスク装置は
データの入出力が高速にできない問題があり、また、デ
ータの入出力が高速にできるマルチヘッド型の磁気ディ
スク装置は非常に高価であるという問題があった。 そこで、安価な一般の小型磁気ディスク複数台接続し
てデータの入出力の速度を高速化する集合型の磁気ディ
スク装置が考えられてきた。そのひとつとして特開昭60
−117326号公報記載の「画像データ分割記憶装置」があ
る。 この装置は複数台の磁気ディスク装置を有し、磁気デ
ィスク装置と同数の磁気ディスクコントローラ,入出力
バッファと外部装置との間のデータ輸送を制御するマス
タコントローラによって構成し、外部装置から入力した
データをマスタコントローラにおいて、入出力バッファ
の容量以下に分割し、その分割したデータを各磁気ディ
スクコントローラに順次転送し、該磁気ディスクコント
ローラは対応する磁気ディスク装置に書き込む。マスタ
コントローラは書き込みを行なっていない磁気ディスク
装置の磁気ディスクコントローラに対し、シーク動作を
行なわせることによって、データを格納する複数の磁気
ディスク装置の2台目以降の、シーク時間を見掛け上な
くし、データの書き込み,読み出し時間を短縮しようと
するものである。 〔発明が解決しようとする課題〕 ところで、第1図に示した様な従来例の検索システム
において大容量のテキストデータベース検索しようとす
ると、下記のような幾つかの問題が発生してくる。 先ず第一に、検索時間の問題である。例えば、一文献
当り20KBの容量を持つ文献2万件を対象にしてフルテキ
ストサーチを行おうとすると、400MBのデータをスキャ
ンしなければならないことになる。 この400MBのテキストデータを文字列記憶手段に格納
し、これを平均約1MB/sの実効速度で読み出し、文字列
照合手段においてこれと同等の速度で照合処理を行った
としても、検索を終了するには約7分を要してしまう。
すなわち、一般的な磁気ディスク装置を用いたのではテ
キストデータの読み出しに時間が掛ってしまい実用に耐
えないという問題がある。すなわち、テキストデータを
納める文字列記憶手段の読み出し速度を文字列照合手段
の処理速度と同程度にまで高めることが必要となる。本
発明が解決しようとする第一の課題がここにある。 しかし、文字列記憶手段の読み出し速度を文字列照合
手段と同程度にまで高めたとしても、すなわち例えば10
MB/sまで高速化したとしても、400MBのテキストデータ
をスキャンし終えるには、未だ40秒を要してしまう。こ
れを実用上許容し得る数秒台に納めることが、本発明の
第二の課題である。 このスキャン処理の高速化という技術に関して、JP−
A−62−241026「文字列検索方式」が出願されている。
本「文字列検索方式」では、テキストデーターベース
(ファイルと呼んでいる)の中に指定文字列があるかど
うかを検索する処理を高速化するために、あらかじめテ
キスト(データと呼んでいる)の内容を見てどういった
文字がどの程度の頻度で用いられているかを調べ「使用
文字頻度分布テーブル」を作成しておく。 そして、検索時にはこの「使用文字頻度分布テーブ
ル」を参照して、ユーザが指定したキーワードの中の最
も使用頻度の低い文字を手掛かりにして最初テキストを
サーチし、これに照合するものがあれば、次のその前後
の文字についても照合を行う方式を提案している。 また、上記JP−A−62−241026では、キーワードの最
も頻度の低い文字の「使用文字頻度分布テーブル」中で
の頻度が零の場合には、テキストをサーチすることなく
検索を終えることができるとしている。 したがって、JP−A−62−241026によれば、無駄な文
字照合回数を削減することができるため、検索処理速度
を上げる効果が得られることになる。 しかし、本方式は、データベース(ファイル)全体に
おける「使用文字頻度分布テーブル」を作成し、これに
基づいてこの中のテキストファイル(データ)を検索す
るものである(図参照)。したがって、データベース全
体の中で、一度も現れない文字に関するキーワードを検
索する場合にはサーチ処理の効率化という点で効果が得
られるが、一般的にデータベースの規模が大きくなる
と、データベース全体で一度も現れないという文字はほ
とんどなくなるため、本方式によるサーチ処理の効果は
ほとんどなくなるという問題がある。 こうした問題を解決し、効率的なサーチ処理を実現
し、延いては等価的に高速なフルテキストサーチを可能
とすることが本発明の第二の課題となる。 一方、自由語を用いたフルテキストサーチにおいて
は、しばしば検索者が指定したキーワードと、テキスト
本文中に記述されている言葉の間に、同じ意味を表して
いても表現に食い違いがあることがある。このような場
合には、異なる表現形態を持つ文献が検索漏れとなり、
目的の文書が検索されないことを生じてくる。このよう
な言葉の例として、同義語や異形語(異表記語あるいは
単に異表記とも呼ぶ)などがある。同義語の例として
は、「計算機」に対して「電子計算機」や「電算機」,
「Computer」などが挙げられる。また、異表記の例とし
ては、「コンピュータ」に対して「コンピューター」や
「コンピュータ」,「コンピューター」,「コンヒ゜ュ
ーター」,「コンヒ゜ユータ」,「コンヒ゜ユータ
ー」,「コンピュータ」,「コンピュ−タ−」や「コン
ピュ−タ」,「コンピユ−タ−」,「コンヒ゜ュ−
タ」,「コンヒ゜ュ−タ−」,「コンヒ゜ユ−タ」,
「コンヒ゜ユ−タ−」が、「Computer」に対して「comp
uter」,「COMPUTER」などが挙げられる。検索者が指定
するキーワードと文書の内容に記述されている言葉との
表記上の食い違いの問題に対処するためには、検索者が
これらの同義語や異表記をすべて指定して検索を行う必
要がある。しかし、異表記などは場合によって数百にも
及ぶ形態を取り得るため、検索者が一々指定するのは事
実上困難である。こうした問題を解決するのが、本発明
の第三の課題である。 すなわち、上記従来例では、表記を標準化する際に、
元の文字列が持つ情報を変えてしまうため、期待する展
開結果が得られないことがあった。 このことを、カタカナ表記の標準化用の部分文字列の
変換ルール 「“ホオ”→“ホウ”」 を例にして説明する。この変換ルールを適用すると文字
列 “ジョウホオ” を “ジョウホウ”(情報) と正しく標準化される。しかしこの同じ変換ルールを用
いても “ジョウオホン”(定保温) が入力された場合には “ジョウホウン” と誤った文字列へ標準化してしまう。このことは、標準
化処理の後の同義語展開処理、更にその後に続く異表記
展開処理に影響をおよぼし、期待する展開結果が得られ
ないことになる。 本発明の課題の一つは上記の標準化を行なわずに、常
に期待する展開結果を得ることにある。 また上記引例では、同義語辞書によって“計算機”か
ら“コンピュータ”にキーワードを同義語展開するとき
に、ユーザが入力する検索キーワードを、一旦すべてカ
タカナ表現に変換してから同義語展開し、そのあとでカ
ナ漢字変換、カナローマ字変換及びカナ外国語変換をす
る構成となっている。そのため、同義語辞書は必ずカタ
カナ文字列からカタカナ文字列へ展開するようなもので
なければならなかった。すなわち、 見出し語:“コンピュータ” 同義語1:“ケイサンキ” 同義語2:“ジョウホウショリソウチ” などと、単語間の同義関係を常にカタカナ文字列で記述
しなければならなかった。このことは、同義語展開後の
カナ漢字変換辞書及びカナ外来語変換辞書でも、必ずこ
れらに対応する表現の文字列を出力するよう登録してお
かなければならないために、辞書が大きくなるという問
題がある。また、日本語には同じ読みを持っていても、
意味の異なる同音異義語が多く存在し、これが同義語展
開時に弊害を生じる。例えば“ケンサク”という文字列
は“検索”とも解釈できるし“研削”とも解釈できるの
で、カタカナ表現のみによる同義語辞書では両者を区別
できないという問題がある。さらに、同義語展開後のカ
タカナ漢字変換において、同音異義語を選択をユーザが
対話的に行わなければならないという問題があった。 また、検索キーワードをカタカナ表現に変換するため
の外国語カナ変換辞書や、同義語展開した後のカナ漢字
変換辞書及びカナ外国語変換辞書が必要であり、多種類
の大規模な辞書を使うためにその作成と保守が大変とな
るという問題もある。 すなわち、本発明の第三の課題は上記のカナ漢字変
換、カナ外国語変換時における同音異義語の問題と、こ
れらの変換に用いる大規模な辞書の作成、保守の問題を
解決することにある。 また、こうした数百にも及ぶ同義語や異表記を含めて
キーワードとして検索を行おうとすると、どうしてもこ
れらを一括して照合する文字列照合手段が必要となって
くる。さもなければ、同義語や異表記を含めて検索する
と、検索時間が数百倍掛ってしまい、とても実用に耐え
られなくなってしまう。このように一千語に近い語数の
キーワードが指定されても、照合速度が低下することな
く検索処理を行い得る文字列照合手段を提供すること
が、本発明の第四の課題である。 また、従来のオートマトンを用いた検索方式では、異
表記の場合、異表記を含むキーワードを全て列挙し、キ
ーワードに展開する。さらに、これに基づいたオートマ
トンを作成する。ここで作成されるオートマトンは木状
に記述されるため非常に多くのオートマトンの状態が必
要となる。 また、don't care文字指定検索を行なう場合も、don'
t care文字の部分が許容する文字コードの全ての組合せ
を列挙し、キーワードに展開する。これらに基づきオー
トマトンを作成するため、異表記と同様に、非常に多く
のオートマトンの状態が必要となる。 このようにオートマトンの状態数の増加は、オートマ
トン作成時間の増加や、更にはオートマトンを格納する
ための状態遷移テーブルの容量が増加、すなわちハード
ウェアの増大という問題を発生する。 オートマトンを用いた検索方式において、異表記やdo
n't care文字が指定された検索を行なう場合もオートマ
トンの遷移を網状にまとめて記述することにより、状態
数を従来より低減し、オートマトンの作成時間の短縮を
はかると共に、状態遷移テーブルの容量が小さくて済む
ためコンパクトなハードウェアで実現可能な検索方式を
提供することが課題である。 さらに、テキストデータベースに文書データが逐次登
録されて行くと、ある時点で文字列記憶手段を構成する
磁気ディスク装置の容量が満杯に達してしまう場合がで
てくる。こうした時にも、それ迄蓄積したデータを損な
うことなくシステムの蓄積容量を拡大できることが必要
となる。また、被検索テキストデータベースの容量が例
えば10万件、すなわち4GBにも達する程に大規模化して
きた場合、唯単に磁気ディスク装置の格納容量を拡張す
るだけでは処理時間が増加し、当初の目的が達っせなく
なってしまう。検索時間を低下させることなく、蓄積容
量の大規模化に応えられなければならない。 こうした要求に応え得るアーキテクチャを持つ検索装
置を提供することが、本発明の第五の課題である。 文字列検索装置の文字列記憶手段で重要となる要素
は、記憶容量が大きいこと、ファイルのサイズにかかわ
らず、複数のファイルを連続的に高速で入出力できるこ
と、安価であることの3点であり、これらの要素を満足
する集合型磁気ディスク装置が必要とされている。 従来技術では、ただシーク時間のアクセス時間を見掛
け上なくすことにより、データの書き込み,読み出し時
間を短縮しようとするもので、外部機器の要求するデー
タ転送速度に対して何台の磁気ディスク装置を用いて構
成すれば良いかについて配慮されておらずコストパフォ
ーマンスの点で問題があった。 また、従来技術は画像データのようにデータサイズの
大きなファイルが複数の磁気ディスク装置にまたがるよ
うな場合にはアクセス時間を削減できる効果があるが、
複数の磁気ディスク装置にまたがらないデータサイズの
小さなファイルの書き込み,読み出しを行なう場合に
は、シーク時間を隠すことができず、1台の磁気ディス
ク装置と同じアクセス時間となってしまう問題があっ
た。 また、従来技術は複数のファイルの連続的な書き込
み,読み出しを行なう点に配慮がされておらず、上位機
器からの書き込み,読み出し命令を1件のファイルにつ
いてのみ処理可能で、複数のファイルをアクセスする場
合には、1件の処理を繰返し行なう必要があり、それに
要するオーバヘッド時間が長くなってしまう問題があっ
た。 また、オーバヘッド時間のひとつとして、上位機器か
らアクセス対象となるファイルを指定するためのファイ
ル識別コードから磁気ディスク装置の格納位置情報を検
索する処理がある。 従来の一般的な磁気ディスク装置では、ファイル識別
コードとしてASCIIコード等の文字コード列で構成され
るファイル名称で表現されており、このファイル名称に
より、磁気ディスク装置のファイル管理情報エリアに格
納されているファイル管理情報を検索して物理的な格納
位置を求めなければならず、それに要する処理時間が大
きい問題があった。 記憶容量が大きい、ファイルのサイズにかかわらず複
数のファイルを連続的に高速に入出力できる、安価な集
合型磁気ディスク装置を提供することが課題である。 一方、文書情報はテキストデータだけで構成されてい
る訳ではなく、図面や写真などもその構成要素として含
まれている。したがって、検索された文献の印刷イメー
ジでの閲読の要求にも応えることが必要になる。これに
応え得るアーキテクチャを持つ検索装置を提供すること
が本発明の第六の課題である。 さらに、テキストデータベースは複数のユーザによっ
て共有されるべきものであり、例えばLAN(ローカル
エリア ネットワーク)を介して検索対話用のワークス
テーションからアクセスできなければならない。したが
って、検索装置はLANに接続され、他の複数のワークス
テーションからの検索要求に応えられる機能を持たなけ
ればならない。こうした機能を備えた全文検索装置を提
供することが、本発明の第七の課題である。 以上述べた各課題に応え得るフルテキストサーチシス
テムを提供することが本発明の最終的な目的である。 本発明の目的は、高速な文書検索方法および装置を提
供することである。 〔課題が解決するための手段〕 これらの課題を解決するために、本発明が提供するテ
キストサーチシステムでは以下の手段を用いる。 すなわち、先ず第一は、テキストデータを納める文字
列記憶手段の読み出し速度を文字列照合手段の処理速度
と同程度にまで高めるために、複数台の磁気ディスク装
置で構成する文字列記憶手段を用いることである。すな
わち、これらの磁気ディスク装置を並列に並べて同時に
駆動し、その出力をマルチプレクシングすることによっ
て、高い読み出し速度を得ようとするものである。 この発明では、集合型磁気ディスク装置を、磁気ディ
スク装置を有する複数台のデータ記憶装置と、データ記
憶装置へ入出力するデータを一時格納する入出力バッフ
ァと、データ記憶装置と入出力バッファの制御を行なう
マルチディスクコントローラとによって構成している。 さらに、データ記憶装置を、磁気ディスクコントロー
ラを有する1台の磁気ディスク装置によって構成する
か、または、磁気ディスクコントローラを有する複数台
の磁気ディスク装置と、磁気ディスク装置を選択するマ
ルチプレクサとによって構成している。 さらに、入出力バッファは、上記データ記憶装置1台
につき、磁気ディスク装置の少なくとも1シリンダ分の
容量を持ち、1面、また、2面の半導体メモリによって
構成する。 なお、メモリは半導体記憶素子以外の光メモリ等の高
速記憶素子を用いて実現することもできる。 データ記憶装置と入出力バッファの制御を行うマルチ
ディスクコントローラは、上位機器からの要求を格納す
る半導体記憶素子を用いた通信メモリと、データ転送の
制御を行なうマルチプレクスコントローラと、磁気ディ
スク装置内の物理的格納位置を検索するための半導体記
憶素子を用いた物理情報テーブルと、それらを制御する
マスタコントローラとによって構成している。なお、通
信メモリ,物理情報テーブルは半導体記憶素子以外の光
メモリ等の高速記憶素子を用いて実現することもでき
る。 なお、マスタコントローラは、マイクロコンピュータ
を使用し、各構成要素を制御するものである。 さらにマルチディスクコントローラに、ファイル識別
子として、階層的なグループに分類する論理分類を行な
ったファイルの該論理分類固有の識別コードである論理
分類識別子(IDとも称する)と、該論理分類内の固有の
番号とによって構成するファイルIDを用いるようにした
ものである。 また、マルチディスクコントローラでは、ファイルID
内の論理分類IDに従い、ファイルの磁気ディスク装置へ
の物理的格納位置を決定する管理情報を格納した構造定
義テーブルをマスタコントローラのメモリ内に持つよう
にすることも司能である。 上位機器と入出力バッファ間のデータ転送の制御を行
なうマルチプレクスコントローラは、入出力バッファの
データバスを選択するマルチプレクサと、マスタコント
ローラの介在なしにデータ転送を行なうDMAコントロー
ラと、データ転送が必要な範囲の入出力バッファの先頭
アドレスを格納する先頭アドレス登録テーブルと、終了
アドレスを格納する終了アドレス登録テーブルとによっ
て構成したものである。 データ記憶装置がn台、データ記憶装置内の上記磁気
ディスク装置の転送データがトラック間にまたがらずシ
ーク動作を行なわないときの磁気ディスク装置から入出
力バッファへのデータ転送速度をt[Byte/sec]、ディ
スク装置の1シリンダ分の容量をM[Byte]、磁気ディ
スク装置の最小シーク時間をs[sec]、磁気ディスク
装置の回転速度をR[rps]、出力バッファの容量を上
記磁気ディスク装置の1シリンダ分の容量M[Byte]と
同一とした場合に、集合型磁気ディスク装置から上位機
器へのデータ転送速度T[Byte/sec]は以下の条件を満
足する必要がある。 磁気ディスク装置の最小シーク時間s[sec]が1つ
の上記入出力バッファのM[Byte]のデータを上位機器
に転送する時間(M/T)[sec]より大きい場合、データ
記憶装置から出力バッファへのデータ転送時間は、磁気
ディスク装置の最小シーク時間s[sec]と、磁気ディ
スク装置の最大回転待ち時間(1/R)[sec]と、データ
記憶装置から入出力バッファへの転送時間(M/t)[se
c]の合計時間で、これが、全ての入出力バッファのデ
ータを上位機器に転送する時間(nM/T)[sec]以内で
動作すればよい。 これを数式で表すと のようになり、データ記憶装置の台数nは次式のように
書き表すことができる。 また、磁気ディスク装置の最小シーク時間s[sec]
が1つの入出力バッファのM[Byet]のデータを上位機
器に転送する時間(M/T)[sec]以下の場合には、磁気
ディスク装置がシーク動作を終了しても磁気ディスク装
置からデータ転送を行なおうとする入出力バッファが、
上記機器へのデータ転送を行っているためにデータ記憶
装置から入出力バッファへのデータ転送ができない。そ
のため、入出力バッファから上位機器へのデータ転送が
終了するまで待つ必要がある。そこで、データ記憶装置
から入出力バッファへのデータ転送時間は、1つの入出
力バッファから上位機器へのデータ転送時間(M/T)[s
ec]と、磁気ディスク装置の最大回転待ち時間(1/R)
[sec]とデータ記憶装置から入出力バッファへのデー
タ転送時間(M/t)[sec]の合計時間が、全ての入出力
バッファのデータを上位機器に転送する時間(nM/T)
[sec]以内で動作すればよい。これを数式で表すと のようになり、データ記憶装置の台数nは次式のように
書き表すことができる。 これらの条件式を満足する最小台数のデータ記憶装置
で集合型磁気ディスク装置を構成することで、上位機器
の要求するデータ転送速度を満足するコストパフォーマ
ンスの良い磁気ディスク装置を提供することができる。 ディスク記憶装置は、データファイルの記憶を行な
う。データ記憶装置を磁気ディスクコントローラを有す
る磁気ディスク装置で構成することによって、磁気ディ
スクへのデータの書き込み,読み出し制御を該磁気ディ
スクコントローラが行ない、マルチディスクコントロー
ラの処理が軽減される。また、データ記憶装置を複数台
の磁気ディスク装置と、磁気ディスク装置のデータバス
を上記入出力バッファのデータバスに選択して接続する
マルチプレクサにより構成することにより、記憶容量を
大きくすることができる。 入出力バッファはデータ記憶装置に入出力するデータ
の一時格納を行なう。 書き込みの場合、データ記憶装置内の磁気ディスク装
置の書き込み速度より早い速度で、上位機器から入出力
バッファに次々とデータの転送を行ない、データ転送が
終了した入出力バッファは磁気ディスク装置へ磁気ディ
スク装置の書き込み速度でデータの書き込みを行なう。
読み出しの場合、それぞれの磁気ディスク装置は磁気デ
ィスク装置の読み出し速度で入出力バッファへのデータ
の読み出しを行ない、読み出しが終了した入出力バッフ
ァは、磁気ディスク装置の読み出し速度よりも早い速度
で、上位機器へのデータの転送を行なう。これにより、
上位機器へのデータの入出力を磁気ディスク装置の書き
込み,読み出し速度よりも早い速度で行なうことができ
る。 さらに入出力バッファをデータ記憶装置1台につき2
面持つことにより、第1面の入出力バッファが上位機器
とデータ転送している間に、第2面の入出力バッファが
データ記憶装置との書き込み,読み出しを行なえる。こ
れにより上位機器とのデータ転送が終了するまで磁気デ
ィスク装置がデータの転送動作を持つ時間を削減でき、
書き込み,読み出しが短時間に行なえる。このときの上
位機器の要求するデータ転送速度を満足するコストパフ
ォーマンスの良い磁気ディスク装置を提供する条件式
は、第(1)式で表現される。 マルチディスクコントローラは上位機器からのデータ
ファイルの書き込み,読み出し要求に対し、データ記憶
装置と入出力バッファの制御を行なうものである。書き
込み,読み出しの対象となるファイルのファイルIDを複
数件格納できる半導体記憶素子を用いた通信メモリは、
上位機器からの命令の受理,処理の終了報告処理におけ
るオーバヘッド時間が削減され、データファイルの連続
書き込み,読み出しが短時間に行なえる。 短時間にアクセス可能な半導体記憶素子を用いた物理
情報テーブルは、論理的なファイルIDから磁気ディスク
装置の物理的格納位置を短時間に求めることができ、こ
のため、データファイルの読み出しにかかるオーバヘッ
ド時間が短時間になる。 また、磁気ディスク装置に格納するファイルの識別を
行なうものは、従来、可変長の文字コード列で構成され
るファイル名称であったのに対し、固定長の数値コード
で構成されるファイルIDは、小さなサイズのコードで表
現が可能で、書き込み,読み出しを行なうデータファイ
ルの指定や物理的格納位置の検索処理が単純化され、そ
れに要するオーバヘッド時間も短縮できる。 さらに、データファイルを格納する場合にも、論理的
に関係するファイルの物理的格納位置を近接させること
により、シーク時間を短くすることができアクセス時間
を短縮できる。 マルチプレクスコントローラ内のマルチプレクサは、
上記入出力バッファのデータバスを選択する。先頭アド
レス登録テーブルと終了アドレス登録テーブルは、入出
力バッファに格納されているデータ内、必要なデータが
格納されている範囲を指定する先頭アドレスと終了アド
レスをいくつか格納する。DMAコントローラは、先頭ア
ドレス登録テーブルと終了アドレス登録テーブルで指定
した範囲の入出力バッファのデータを上位機器にマスタ
コントローラの介在なしで高速に転送する。 磁気ディスク装置の同一シリンダ上に読み出すファイ
ルが複数件ある場合に、読み出すファイルのサイズをf1
[Byet],2f[Byet]、その間の読み出し不要のファイ
ルのサイズをk[Byte]、磁気ディスク装置の読み出し
速度をt[Byte/sec]、磁気ディスク装置の回転速度を
R[rps]、磁気ディスク装置の平均シーク時間をS[s
ec]とするとき、平均回転待ち時間は(1/2R)[sec]
であり、一度に読み出す時間が一つづつ読み出す時間よ
りも短かくなる条件は、 のように表すことができる。この数式は容易に次式のよ
うに書き表すことができる。 この条件式を満足する時、マルチプレクスコントロー
ラは、読み出し不要のファイルも一旦入出力バッファに
読み出し、上位機器に転送する際に不要なファイルの部
分を除いて必要部分のみを転送する。これにより、磁気
ディスクが一度の読み出し処理で複数のファイルを読み
出すことができ、読み出し処理で発生するアクセス時間
を短くすることができる。 第二は、有限オートマトン方式に基づく文字列照合用
の専用ハードウェア(サーチエンジンと呼ぶ)を搭載し
た文字列照合手段を用いることである。この文字照合専
用ハードウェアは、約一千語のキーワードを一括して、
照合速度を低下させることなく検索することを可能にす
るものである。 上記目的を達成するために、まず、異表記検索用オー
トマトンにおいてキーワード中の異表記が存在する部分
文字列の先頭でオートマトンの遷移を分岐し、末尾で分
岐した遷移を集合させることにより状態数の低減を図っ
た。don't care文字指定検索用オートマトンにおいても
異表記検索と同様にdon't care文字が許容する文字群を
異表記と見なし、don't care文字でオートマトンの遷移
を分岐し、それらの遷移を1ヶ所の状態に集合させるこ
とにより状態数の低減を図る。 これらによりオートマトンの作成時間が短く済み、状
態遷移テーブルの許容が小さくできるコンパクトな検索
装置を実現した。 オートマトンの状態数増加という課題を解決する手段
として採用したオートマトンの作成方法について説明す
る。本方法は従来方法2と以下の点で異なる。すなわ
ち、従来方法2では「フェイル処理」を用いるため、フ
ェイル先状態を計算する必要性から木状に状態遷移を分
岐したオートマトンを作成しなければならないため、状
態数が多くなるに対して、本方法では、「フェイル処
理」が不要で、常態遷移の分岐を抑え、状態遷移をまと
めて遷移先状態を共有することができるため、状態数の
増加が抑えられている(以後、本方法を用いて作成した
オートマトンを集合遷移許容オートマトンと呼ぶ)。 以下、状態遷移をまとめる方法について説明する。 第46図は本方法を用いて作成したオートマトンの状態
遷移である。 同図のオートマトンは第5図に示したオートマトンと
同様に、“インタフェース”と、その異表記である“イ
ンターフェース",“インタフェイス",“インターフェイ
ス",“インタ−フェイス",“インタフェース",“インタ
ーフェ−ス",“インタ−フェ−ス",“インタ−フェー
ス”を含めた9語のキーワードについて検索するための
ものである。これらを、 これらを、第9図下の複合語表現文字列(式1)で表
すことができる。“フェー”の異表記である。 について説明する。 まず、発音異表記により“フェー”が“フェイ”に置
き換えられるので、 と記述することができる。 次に“フェー”の長音が長音異表記で“ー”が“−”
に置き換えられるため と記述できる。 に長音異表記の を適用させることにより が得られる。 ここでは以後、置き換え可能な文字列の関係を等価と
呼ぶことにする。 更に、これらの遷移の遷移先状態を状態5とし、遷移
にまとめる。 本方式を用いることによりオートマトンの状態数を第
5図のオートマトンに比べ約3分の1に減らすことがで
きる。 第三は、スキャン型のフルテキストサーチを加速する
方法として、2段階のプリサーチを行う手段を設けるこ
とである。その第一段階目のプリサーチとしては、第16
図及び第17図に示す様に、後述する凝縮本文中に表わさ
れる文字を1ビットの情報で表示する文字成分表を用い
て、指定されたキーワードを構成する文字を含む文書だ
けを抽出する文字成分表サーチ手段を用いる。第二段目
のプリサーチとしては、予めテキスト本文の中から助詞
や接続詞などの付属語を削除すると共に、繰り返し表れ
る単語を排除したデータファイル(凝縮本文と呼ぶ)を
スキャンし、指定したキーワードが記述されている文書
だけを抽出する(凝縮本文サーチと呼ぶ)手段を用い
る。したがって、この2段階のプリサーチの結果絞り込
まれた文書についてのみ、テキスト本文を磁気ディスク
装置から読み出してスキャンする(本文サーチと呼ぶ)
ことになるため、等価的に非常に高速なフルテキストサ
ーチが実現されることになる。以下、文字成分表サーチ
に続き、凝縮本文サーチを行い、次々と絞り込みながら
行う検定のことを階層型プリサーチと呼ぶ。 第四は、フルテキストサーチ特有の木目細かな検索を
可能にするために、論理条件のみならず近傍条件や文脈
条件をも組み合わせた検索を可能とする複合条件判定手
段を設けることである。 第五は、上記複数の磁気ディスク装置から構成される
文字列記憶手段と文字列照合手段、プリサーチ手段、複
合条件判定手段をまとめて一つのユニットとし、このユ
ニットを複数個並列に並べ、この上位にこれらを制御す
るコントローラ手段を設け、これらをまとめて一台のフ
ルテキストサーチ装置(この一台をサーチマシンと呼
ぶ)に構成することである。このような構成にすること
によって、大容量テキストデータベースに対処すると共
に、データベースの増加に際してはマシン内のユニット
の増設によって対処することが可能となる。 第六は、複数のユーザに対してサービスを提供できる
と共に、大規模なテキストデータベースの構築に耐え得
るように、このテキストサーチマシンにLANに接続でき
るLAN接続手段を設けることである。このような構成に
することによって、大規模テキストデータベースに対し
てはLANを介して複合台のサーチマシンを接続すること
によって対処でき、データベース容量の増加に際しても
LAN内のマシン数の増設によって対処することが可能と
なる。 第七は、同義語や異表記などの問題に対処するため
に、テキストサーチマシンの内部に自動的に同義語及び
異表記の展開処理を行う同義語展開手段及び異表記展開
手段を設けることである。そして、これらの展開語彙す
べてをキーワードとして全文検索を行うことによって、
漏れなく所望の文書が検索できることになる。 上記課題を解決するために、第26図のようにキーボー
ドから入力した文字列を一旦異表記展開し、異表記展開
された各々の文字列に対し、同義語辞書を参照して同義
語展開をし、更に同義語展開で得た各々の文字列に対し
て異表記展開する構成とする。 この異表記及び同義語展開処理の概略を第27図に示
す。ユーザが指定したキーワード(文字列とも呼ぶ)27
01は一旦異表記展開し、その展開した文字列群2702に対
して、次に同義語辞書2710を用いて同義語展開する。そ
の後、この同義語展開で得られた文字列2703に対して、
さらに異表記展開し、最終の展開結果として文字列群27
04を得る。 このように同義語展開の前に異表記展開することによ
り、表記の標準化によって情報を変更することなく展開
処理が可能となる。同義語辞書中の文字列の表現や表記
に配慮することなく辞書が構成できるため、辞書の作成
や編集が容易になる。また、同義語展開した文字列につ
いても異表記展開をすることにより、同義語展開で新し
く得られた文字列についても異表記を得ることができ
る。 次に本発明における重要な手段の一つである異表記展
開について説明する。異表記展開では、まず最初に入力
文字列を文字種毎に分割し、漢字及びひらがな文字列、
カタカナ文字列、アルファベット文字列の3種類の部分
文字列へ分割する。次に分割した部分文字列毎に変換ル
ールテーブルを用いて文字列の置き換え処理を行い、漢
字、カタカナの各文字種の異表記展開をしていく。アル
ファベット文字種については変換ルールテーブルは用い
ずに、入力文字列中のアルファベット文字を大文字から
小文字、小文字から大文字へコード変換する。 ここで変換ルールテーブルとは入力文字列中の該当文
字列を文字列のリストへ置き換えることを指示した変換
ルールを複数個蓄えたものである。 変換ルールは、例えば文字列“イウ”を“イウ”と
“ユウ”とに展開する場合には、 〔“イウ”→(“イウ",“ユウ”)〕 と記述する。また部分文字列を文字列リストへ変換する
ことを、ここでは‘置き換え’と呼ぶことにする。 漢字、カタカナの各文字種の異表記展開用の変換ルー
ルには例えば次のようなものが考えられる。 (1) 漢字及びひらがな文字列の場合 (a) 漢字の新字体と旧字体の表記による展開に関
する変換ルール 例:〔“斉”→(“斉",“斎",“齋",“齊”)〕 (b) 漢字の送りがな表記の違う展開に関する変換
ルール 例:〔“読み取り”→(“読み取り",“読
取”)〕 (2) カタカナの場合 ・ 類似音節の様々な表記に展開する変換ルール 例:〔“ピア”→(“ピア",“ピヤ”)〕 このように、漢字ひらがな文字種、カタカナ文字種に
ついては、変換ルールテーブルを用いて異表記展開す
る。 次にローマ字の異表記展開について説明する。 ローマ字の異表記としては、ヘボン式表記法と訓令式
表記法あるいはこれらの表記法の混在したものが考えら
れる。従って、ここでは変換ルールとしてヘボン式表記
法と訓令式表記法の音節表記を併記したルールを作るも
のとする。例えばヘボン式表記法の “SHI" を訓令式表記法及びヘボン式表記法の音節表記の “SI"と“SHI" という2つの部分文字列のリストに置き換える変換ルー
ル 〔“SHI"→(“SI",“SHI")〕 を作ることによりローマ字の異表記展開を実現する。あ
るいは、別な方法としてローマ字の全文字列を一旦カタ
カナ表記に変換し、カタカナ文字列中の各音節をヘボン
式表記法と訓令式表記法の両方で置き換える方法もあ
る。例えば、ローマ字文字列の “SISHOMO" を一旦カタカナ文字列の “シシャモ” に変換し、次に 〔“シ”→(“SI",“SHI")〕 などの変換ルールでローマ字化する方法もある。 以上の文字種毎の展開の後、最初に文字種によって分
割した文字列の順序に従って展開した文字列を組み合せ
て、異表記展開の最終出力とする。 以上異表記展開処理をまとめると、 (1) 漢字及びひらがな文字列に関する異表記展開
(送りがな、新旧字体)、 (2) カタカナ文字列に関する異表記展開、 (3) ローマ字文字列に関する異表記展開(ヘボン
式、訓例式表記)、 (4) アルファベット文字に関する異表記展開(大小
文字) がある。しかし、常時これらの異表記展開をする必要が
ない場合もある。この場合、使用する変換ルールテーブ
ルの種類をユーザが選択できる手段を合わせ持つことに
よって、むだな展開処理を省き、かつユーザの望む検索
処理が可能となる。 次に本発明におけるもう一つの重要な手段である同義
語展開について説明する。同義語展開では、入力文字列
を同義語辞書を用いて次の4種類の展開を行う。 (1) 同位語展開 概念的に同位の語彙への展開 例:“計算機”から“コンピュータ”、“情報処理装
置”に展開する。 (2) 上位語展開 上位の意味を持つ語彙への展開 例:“計算機”から“電子機器”に展開する。 (3) 下位語展開 下位の意味を持つ語彙への展開 例:“計算機”から“電子卓上計算機”に展開する。 (4) 関連語展開 関連した意味を持つ語彙への展開 例:“計算機”から“オフィスオートメイション”に
展開する。 また、同義語展開でも異表記展開と同様に上記4種類
の語彙への展開を選択する手段を持つことによって、よ
り柔軟なユーザの望み通りの検索が可能となる。 以上の手段によってユーザの入力する検索文字列をま
ず最初に異表記展開し、異表記展開した文字列群の中の
各々の文字列を一つずつ同義語展開し、さらに同義語展
開して得られた新しい文字列に対して異表記展開を行
う。 このように異表記展開を同義語展開の前で行なうこと
により、表記の標準化による情報の欠落を避け、常に期
待する展開結果を得ることができる。 また、同義語辞書内での表記も統一化する必要がな
く、辞書の作成と保守を簡易化できる。また、同義語展
開の語でも異表記展開を行うために、同義語辞書に表記
のバリエーションを色々と記述しておく必要がなく辞書
を小さくすることができる。 〔作用〕 以上述べた様にこの発明によれば先ず第一に、テキス
トデータを納める文字列記憶手段を並列に並べた複数台
の磁気ディスク装置で構成し、これらを同時に駆動しそ
の出力データを統合することによって、高い読み出し速
度を得ることが可能となる。 第二に、文字列照合手段に有限オートマトン方式に基
づく文字列照合用の専用ハードウェアを搭載することに
よって、照合速度を低下させることなく約一千語のキー
ワードを一括して検索することが可能となる。このこと
は、同義語及び異表記を含めても、テキストデータエー
スを唯一回スキャンするだけで検索を終えることができ
るということである。 第三に、スキャン型のフルテキストサーチを加速する
方法として、2段階のプリサーチを行う手段を設けるこ
とによって、磁気ディスクに格納されたテキスト本文を
参照しに行く件数を減らすことが可能となる。すなわ
ち、検索処理時間に占める割合が高い本文検索処理量を
減らすことによって、全体の検索処理時間を短縮するこ
とが可能となる。 この階層型プリサーチを行うためには、検索に先立っ
て、「凝縮本文」と「文字成分表」という補助ファイル
を準備する必要がある。この「凝縮本文」と「文字成分
表」の作成は、文書の登録時に自動的に行われる。この
処理内容を、第16図に示す。 本図で、登録すべき文書が入力されると、まずそのま
ま「本文」として時期ディスク装置に格納する。 次に、この「本文」から「凝縮本文」を作成する。
「凝縮本文」は、「本文」の中から検索には使用されな
い付属語を取り去るとともに、繰り返し表れる言葉の重
複を排除して作成される。本文が「あいまい検索のため
の検索技術・・・」という文書1の場合には、「のため
の」が付属語として、また「検索」が重複語として切り
捨てられ、「あいまい」と「検索技術」が「凝縮本文」
として残ることになる。 最後に、この「凝縮本文」から「文字成分表」を作成
する。ここでは、「凝縮本文」に現れる文字を1ビット
の情報で表す。文書1の例では、「あ」と「い」がある
のでそれぞれ‘1'を、また「う」ではないので‘0'を設
定する。「検」と「索」も同様にそれぞれ‘1'を設定す
る。以下同様にして、文字成分表の該当文字部分に、
「凝縮本文」にその文字がある場合には‘1'を、存在し
ない場合には‘0'を設定する。 このようにして、文書の登録字に「凝縮本文」と「文
字成分表」を自動的に作成し、階層型プリサーチの準備
をしておく。 検索時には、第17図に示すように、登録の逆の順序で
これらの補助ファイルを参照する。例えば、“検索〔4
c〕理解”という条件式が入力されたとする。この条件
式は、“検索”と“理解”が4文字以内に近接して現わ
れる文書を検索することを表す。 まず、第1ステップとして文字成分表をサーチする。
ここでは、指定されたキーワードを構成する文字をすべ
て含む文書だけを抽出する。本図の例では、まず“検
索”に着目し、“検索”を構成する2文字、すなわち
‘検’と‘索’が同時に現われる文書を探し出す。処理
の仕方としては、文字成分表の‘検’と‘索’の縦の列
のビットごとの理論積(AND)を取る。その結果、‘1'
として残ったものが、‘検’と‘索’の両方の文字を含
む文書を表すことになる。したがって、‘0'となった文
書は‘検’か‘索’、あるいはその両方の文字がない文
書となるので、以降の検索処理の対象から除外すること
が可能となる。 この文字成分表は文字の存在が1ビットの情報(ビッ
トリストと呼ぶ)で表されているため、サーチするデー
タ容量を極めて小さくすることができ、その結果検索時
間も短時間に納めることが可能となる。さらに、キーワ
ードを構成する文字毎のビットリストの理論積を取るこ
とによって、キーワードの関連のない文書を大幅に切捨
て、以降の対象文書を格段に絞り込むことが可能とな
る。 次に、この文字成分表サーチの結果絞り込まれた文書
の凝縮本文をサーチする。ここでは、指定されたキーワ
ードが単語として現われる文書だけを抽出する本図の例
では、‘検’と‘索’の2文字が“検索”と連続して現
れる文書のみを抽出する。すなわち、文書3のように、
‘検’と‘索’が含まれていても、“検出”と“検索”
というように、別の単語として現われるようなものはこ
こで切り捨ててしまう。 “理解”についても、文字成分表サーチ及び凝縮本文
サーチで同様の処理を行い、最後に残った文書について
のみその本文をサーチし、検索条件式に指定された複合
条件への適合を調べる。本図の例では、検索条件式に近
傍条件として設定された“〔4c〕”を満足する文書を探
索することになる。その結果、この例では“検索”と
“理解”が4文字離れている文書4が検索されてくるこ
とになる。 このように、「階層型プリサーチ方式」では、「文字
成分表」と「凝縮本文」という2段階のプリサーチを事
前に行い、それぞれ「文字レベル」と「単語レベル」の
ふるいに掛け、最も時間を要する本文サーチの対象とな
る文書数をあらかじめ最小に絞り込んでおくことによっ
て、等価的な非常に高速なフルテキストサーチが実現で
きることになる。 第四に、本文検索の際、サーチエンジンの出力結果か
ら検索式に記述された論理条件及び近傍条件や文脈条件
に合致するものだけを抽出する複合条件判別手段を設け
ることにより、フルテキストサーチ特有の木目細かな検
索が可能となる。論理条件としては、論力和や論理積,
論理否定などの検索演算を実現する。近傍条件として
は、日本語の場合にはキーワードとキーワードの間に存
在する文字数に上記あるいは下限を指定した字間距離条
件検索を、英語の場合にはキーワード間の語数に上限あ
るいは下限を指定した語間距離条件検索などを実現す
る。近傍条件としては、日本語対応の「字間距離条件」
と英語対応の「語間距離条件」がある。まず、字間距離
条件の例としては、以下のようなものがある。 “文書〔8c〕検索” ‥‥(1) “文書〔10c〕検索” ‥‥(2) “文書〔8c,10c〕検索” ‥‥(3) “文書〈10c〉検索” ‥‥(4) (1)式の“文書〔8c〕検索”という条件式は、“文
書”と“検索”という2つの言葉がこの順序で現われ、
かつこの2つの言葉の間に8文字以内の文字が挾まって
いる文書を探し出すということを表す。したがって、第
14図に示した例文の中では、とが検索されてくるこ
とになる。 (2)式の“文書〔10c〕検索”という条件式は、
“文書”と“検索”という2つの言葉が、その順序を問
わずに、すなわち“文書”が“検索”の前に現われる場
合でも、あるいは“検索”が“文書”の前に現われる場
合でもどちらであっても、これらの言葉が10文字以内に
近接して現われる文書を探し出すということを表す。し
たがって、第14図に示した例文の中では、ととが
探索されてくることになる。 (3)式の“文書〔8c,10c〕検索”という条件式は、
“文書”と“検索”という2つの言葉がその出現順序を
問わず、8文字以上離れていて、かつ10文字以内に近接
して現われる文書を探し出すということを表す。したが
って、第14図に示した例文の中では、とが検索され
てくることになる。 (4)式の“文書〈10c〉検索”という条件式は、
“文書”と“検索”という2つの言葉がその出現順序を
問わず、10文字以上離れて現われる文書を探し出すとい
うことを表す。したがって、第14図に示した例文の中で
は、とが検索されてくることになる。 次に、語間距離条件の例としては、以下のようなもの
がある。 “text〔8W〕retrieval" ‥‥(5) “text〔10W〕retrieval" ‥‥(6) “text〔8W,10W〕retrieval" ‥‥(7) “text〈10W〉retrieval" ‥‥(8) (5)式の“text〔8W〕retrieval"という条件式は、
“text"と“retrieval"という2つの単語がこの順序で
現われ、かつこの2つの単語の間に8語以内の数の単語
が挾まっている文書を探し出すということを表す。 (6)式の“text〔10W〕retrieval"という条件式
は、“text"と“retrieval"という2つの単語が、その
順序を問わずに、すなわち“text"が“retrieval"の前
に現われる場合でも、あるいは“retrieval"が“text"
の前に現われる場合でもどちらであっても、これらの単
語が10語以内に近接して現われる文書を探し出すという
ことを表す。 (7)式の“text〔8W,10W〕retrieval"という条件式
は、“text"と“retrieval"という2つの単語が、その
出現順序を問わず、8語以上離れていて、かつ10語以内
に近接して現われる文書を探し出すということを表す。 (8)式の“text〈10W〉retrieval"という条件式
は、“text"と“retrieval"という2つの単語がその出
現順序を問わず、10語以上離れて現われる文書を探し出
すということを表す。 文脈条件としては、キーワードとキーワードが同一の
文内に共起するものを検索したり、あるいは同一の段落
に表れるものを検索したりする検索機能を実現する。 文脈条件検索としては、日本語及び英語とも次のよう
なものがある。 “文書〔P〕検索” ‥‥(9) “文書〔p〕検索” ‥‥(10) “文書〔S〕検索” ‥‥(11) “文書〔s〕検索” ‥‥(12) “文書〔PH〕検索” ‥‥(13) “文書〔ph〕検索” ‥‥(14) (9)式の“文書〔P〕検索”という条件式は、“文
書”と“検索”という2つの言葉がこの順序で、同一の
段階(パラグラム)に現われる文書を探し出すというこ
とを表す。 (10)式の“文書〔p〕検索”という条件式は、“文
書”と“検索”という2つの言葉が出現順序を問わず
に、同一の段階に現われる文書を探し出すということを
表す。 (11)式の“文書〔S〕検索”という条件式は、“文
書”と“検索”という2つの言葉がこの順序で、同一の
文(センテンス)に現われる文書を探し出すということ
を表す。 (12)式の“文書〔s〕検索”という条件式は、“文
書”と“検索”という2つの言葉が出現順序を問わず
に、同一の文(センテンス)に現われる文書を探し出す
ということを表す。 (13)式の“文書〔PH〕検索”という条件式は、“文
書”と“検索”という2つの言葉がこの順序で、同一の
句(フレーズ)に現われる文書を探し出すということを
表す。句とは、“、”及び“。”で区切られた文章を言
う。英語の場合は、“,"と“."で区切られた文章という
ことになる。 (14)式の“文書〔ph〕検索”という条件式は、“文
書”と“検索”という2つの言葉が出現順序を問わず
に、同一の句(フレーズ)に現われる文書を探し出すと
いうことを表す。 論理条件検索としては、日本語及び英語とも次のよう
なものがある。 “文書〔AND〕検索”(あるいは、“and(文書,検
索)とも表す ‥‥(15) “文書〔O R〕検索”(あるいは、“or(文書,検
索)とも表す ‥‥(16) “文書〔NOT〕検索”(あるいは“not(文書,検索)
とも表す ‥‥(17) (15)式の“文書〔AND〕検索”という条件式は、
“文書”と“検索”という2つの言葉が現われる文書を
探し出すということを表す。 (16)式の“文書〔O R〕検索”という条件式は、
“文書”あるいは“検索”という言葉が現われる文書を
探し出すということを表す。 (17)式の“文書〔NOT〕検索”という条件式は、
“文書”という言葉が現われて、かつ“検索”という言
葉が現われない文書を探し出すということを表す。 第五に、複数の磁気ディスク装置から構成される文字
列記憶手段,文字列照合手段、プリサーチ手段、及び複
合条件判別手段をまとめて一つのユニットとし、このユ
ニットを複数個並列に並べ、この上位にこれらを制御す
るコントロール手段を設け、これらをまとめて一台のサ
ーチマシンに構成することによって、大容量テキストデ
ータベースに対処すると共に、データベースの増加に際
してはマシン内のユニットの増設によって対処すること
が可能となる。 第六に、このテキストサーチマシンにLANに接続でき
るLAN接続手段を設けることによって、複数のユーザに
対してサービスが提供できると共に、大規模なテキスト
データベースの構築に応えることも可能になる。すなわ
ち、大規模テキストデータベースに対してはLANを介し
て複数台のサーチマシンを接続することによって対処で
き、データベース容量の増加に際してもLAN内のマシン
数の増設によって対処することが可能となる。 第七に、テキストサーチマシンの内部に同義語及び異
表記の展開処理を行う同義語展開手段及び異表記展開手
段を設けることによって、ユーザがこれらの問題を意識
しなくとも自動的に同義語や異表記などの展開語彙すべ
てをキーワードとして全文検索を行うことができ、表現
及び表記の違いに起因する漏れが生ずることなく所望の
文書が検索できることになる。 〔実施例〕 以下、本発明の第一の実施例を、第10図を用いて説明
する。 本実施例は、キーボード1101、サーチマシン制御用コ
ンピュータ(CPU0)1150、ディスプレイ1120、オートマ
トン生成用コンピュータ(CPU1)1105a、ビットサーチ
用コンピュータ(CPU3)1107a、ストリングサーチエン
ジン1106、複合条件判定用コンピュータ(CPU2)1145
a、検索結果格納メモリ1146、及びテキストデータファ
イル1110から構成される。また、サーチマシン制御用コ
ンピュータ(CPU0)1150では、検索式解析プログラム11
02、同義語異表記展開プログラム1103a、複合条件解析
プログラム1141a、検索実行制御プログラム1108、及び
検索結果表示プログラム1147が実行され、オートマトン
生成用コンピュータ(CPU1)1105aではオートマトン生
成プログラム1105が、ビットサーチ用コンピュータ(CP
U3)1107aではビットサーチプログラム1107が、複合条
件判定用コンピュータ(CPU2)1145aでは複合条件判定
プログラム1145が実行される。 先ず、キーボード1101から入力された検索条件式はサ
ーチマシン制御用コンピュータ(CPU0)1150上の検索式
解析プログラム1102により解析される。すなわち、検索
式解析プログラム1102では検索条件式を構成するキーワ
ード部分とそれらの包含条件及び配置条件を記述した複
合条件記述部に分離される。包含条件は論理条件として
記述され、配置条件は近傍条件や文脈条件として記述さ
れたものである。分離抽出後、キーワード部分は同じく
CPU01150上の同義語異表記展開プログラム1103aに渡さ
れ、複合条件記述部は複合条件解析プログラム1141aに
渡される。 同義語異表記展開プログラム1103aでは、ここに内蔵
された同義語辞書を参照して入力されたキーワードの同
義語が、また変換ルールによって異表記が求められる。
例えば、“計算機”というキーワードが入力されると、
同義語としては“計算機”のほかに“電算機”や“コン
ピュータ”などが生成され、異表記としては“コンピュ
ータ”から“コンピューター”などが生成される。 同義語としては、上記の例のような同位語のほかに、
上位語や下位語、関連語などがあり、これらも含めて同
義語として展開される。この場合の上位語の例としては
“電子機器”などがあり、下位語としては“電卓”な
ど、関連語としては“オフィスオートメーション”など
がある。 また、異表記展開としては、カタカナ展開のほか、漢
字ひらがな展開、アルファベット展開がある。図示され
ているのはこの中のカタカナ展開の例である。漢字ひら
がな展開としては、新旧字体の変換と送りがな展開があ
る。新旧字体変換の例としては、“斉”から“齋”、
“齊”への変換などがある。また、送りがな展開として
は、“読取”から“読取り”、“読み取り”への展開な
どがある。アルファベット展開としては、ローマ字のヘ
ボン式展開、ローマ字の訓令式展開及びアルファベット
の大文字小文字展開がある。ローマ字のヘボン式展開の
例としては“チシキ”から“TISIKI"への展開が、ロー
マ字の訓令式展開の例としては“CHISHIKI"への展開が
あり、アルファベットの大文字小文字展開例としては
“TISIKI"から“tisiki"への展開などがある。 以上説明した同義語展開並びに異表記展開の展開種類
については、ユーザの指定によって組み合わせ選択でき
るようにすることも可能である。 英語の同義語の例としては 等があり、英語の異表記の例としては 等の例がある。 さらに、ドイツ語の同義語の例としては 等があり、ドイツ語の異表記の例としては 等が挙げられる。 こうして同義語及び異表記展開されたキーワード群
は、次にオートマトン生成用コンピュータ(CPU1)1105
a上のオートマトン生成プログラム1105に送られる。 オートマトン生成プログラム1105では、同義語異表記
展開プログラム1103aから送られてきたキーワード群に
対して、これらを一括照合するオートマトンを作成す
る。同義語及び異表記展開を施すと、初期入力されたキ
ーワードの数によっては、数百にも及ぶ展開結果が得ら
れることになる。 これらのキーワードを一つずつ入力テキストデータか
ら探索していたので、高速な検索を実現することが不可
能である。すなわち、これらのキーワードをまとめて、
テキストデータをただ一回走査するだけで探索する必要
がある。このように複数のキーワードを一括して照合す
る(多重照合とも呼ぶ)方法としてオートマトンを用い
た照合方法が知られている。その中で、このオートマト
ンをハードウェアで実行する方式として「特開昭63−31
1530」を提案している。サーチエンジン1106はこの方式
をさらに発展させて実現した高速多重文字列照合回路で
ある。したがって、本オートマトン生成プログラム1105
では、このサーチエンジン1106に設定する状態遷移テー
ブルと照合すべきキーワードの識別コード情報を生成
し、これらをサーチエンジン1106へ転送することにな
る。 また、同義語異表記展開プログラム1103aで同義語及
び異表記展開されたキーワード群は、当該キーワード識
別コード(キーワード識別子とも呼ぶ)と共に、ビット
サーチ用コンピュータ(CPU3)1107a上のビットサーチ
プログラム1107へ渡される。 一方、検索式解析プログラム1102から入力検索条件式
中の複合条件記述部を受け取ったサーチマシン制御用コ
ンピュータ(CPU0)1150上の複合条件解析プログラム11
41では、近傍条件や文脈条件、並びに論理条件などを解
析し、各条件を判定するための制御情報として、指定さ
れたキーワードの識別コードとその間の指定距離情報や
指定文脈コード情報及び指定論理条件コード情報に変換
され、複合条件判定用コンピュータ(CPU2)1145a上の
複合条件判定プログラム1145に渡される。 さて、上述した検索式解析処理、同義語異表記展開処
理、オートマトン生成処理、複合条件解析処理が終わ
り、ビットサーチ用コンピュータ(CPU3)1107a上のビ
ットサーチプログラム1107、サーチエンジン1106、及び
複合条件判定用コンピュータ(CPU2)1145a上の複合条
件判定プログラム1145にそれぞれ制御情報が渡し終わる
と、検索処理が始めらる。 検索処理は、サーチマシン制御用コンピュータ(CP
U0)1150上の検索実行制御プログラム1108により制御さ
れる。すなわち、検索実行制御プログラム1108では、ビ
ットサーチプログラム1107、サーチエンジン1106、及び
複合条件判定プログラム1145に対して起動を掛け、テキ
ストデータファイル1110から被検索テキストデータを読
み込み、階層型プリサーチと本文サーチを実行する。ま
ず、テキストデータファイル1110からビットサーチプロ
グラム1107へ文字成分表を読み出して文字成分表サーチ
を行う。文字成分表サーチ結果は、該当文書識別子とし
て検索結果格納メモリ1146に書き出される。次に、該文
書識別子で指定される文書の凝縮本文をテキストデータ
ファイル1110からストリングサーチエンジン1106へ読み
込み凝縮本文サーチを行う。ストンリングサーチエンジ
ン1106では、あらかじめ設定された状態遷移テーブル情
報にしたがって指定されたキーワード群を入力凝縮本文
データの中から探し出す。そして、キーワードのどれか
でも見つかると、そのテキストファイルの識別子と該当
キーワードの識別コード並びに検出された位置情報を、
複合条件判定用コンピュータ(CPU2)1145a上の複合条
件判定プログラム1145に送出する。 サーチエンジンの出力情報として付加される位置情報
とは、そのキーワードが見つかった文書中の位置を表す
情報のことであり、具体的にはその文書の先頭から数え
て何文字目に当るのかを文字数でカウントした値であ
る。第11図に具体例で照合位置情報を示した。本図は、
文書の内容が、「あいまい検索のための知的検索技術を
開発した。・・・・・・」という場合、これを“知的検
索”というキーワードで検索した場合を想定したもので
ある。ここでは、“知的検索技術”の中の“知的検索”
の部分がキーワードと一致することになるので、この部
分が検出されることになる。照合位置情報としては、
“知的検索”の末尾文字“索”の文書先頭からの文字位
置が採られる。この例では、13が照合位置情報となる。 この照合位置情報を付加したサーチエンジンの出力情
報は、第15図に示した構成を取る。すなわち、本実施例
では32ビット長のキーワード識別子と、同じく32ビット
長のキーワード照合位置情報で構成される。また、各文
書毎にキーワード識別子の出力に先立って文書識別子が
出力され、照合出力情報がどの文書に対応するものかが
分かるようにしてある。 凝縮本文サーチ結果は、該当文書識別子と照合キーワ
ード識別子及びキーワード照合位置情報が組み合わされ
た照合情報として、複合条件判定用コンピュータ(CP
U2)1145a上の複合条件判定プログラム1145に渡され
る。複合条件判定プログラム1145では、先に設定された
複合条件判定制御情報に基づいて、指定条件に合致する
文書を判定し、その文書識別子を検索結果格納メモリ11
46に書き出す。検索実行制御プログラム1108は、複合条
件中に近傍条件あるいは文脈条件が設定されているかを
判定し、もし設定されている場合には最後の本文サーチ
を行う。すなわち、凝縮本文サーチの結果得られた該当
文書識別子に対応する本文データをテキストデータファ
イル1110からストリングサーチエンジン1106へ読み込み
本文サーチを行うことになる。ストリングサーチエンジ
ン1106から出力される照合情報は複合条件判定プログラ
ム1145に渡され、ここで指定された近傍条件及び文脈条
件に合致するか否かの判定処理が行われる。この判定処
理結果は、最終的な検索結果情報として、該当文書識別
子という形で検索結果格納メモリ1146に出力される。 凝縮本文サーチあるいは本文サーチが済み、最終的に
検索処理が終わると、サーチマシン制御用コンピュータ
(CPU0)1150上の検索結果表示プログラム1147が検索結
果格納メモリ1146上の該当文書識別子に基づいて、検索
結果件数、あるいはヒットした文書の書誌情報である文
書名や著者などの書誌事項をテキストデータファイル11
10から読み出してディスプレイ1120へ一覧表示したり、
あるいはユーザの指定に応じてヒットした文書の本文デ
ータをテキストデータファイル1110から読み出して表示
したりする。 以上が本発明により提供されるフルテキストサーチ装
置の第一の実施例についての説明である。 次に、本発明の第二の実施例について、第25図を用い
て説明する。 本実施例は、キーボード2501、サーチマシン制御用コ
ンピュータ(CPU0)2520、ディスプレイ2520、オートマ
トン生成用コンピュータ(CPU1)2505a、ビットサーチ
用コンピュータ(CPU3)2507a、ストリングサーチエン
ジン2506、複合条件判定用コンピュータ(CPU2)2545
a、検索結果格納メモリ2546、半導体メモリ装置2510a、
RAMディスク装置2510b、集合型磁気ディスク装置2510
c、及びイメージデータファイル2530から構成される。
また、サーチマシン制御用コンピュータ(CPU0)2550で
は、検索式解析プログラム2502、同義語展開プログラム
2503、異表記展開プログラム2504、複合条件解析プログ
ラム2541、近傍条件解析プログラム2542、文脈条件解析
プログラム2543、論理条件解析プログラム2544、検索実
行制御プログラム2508、及び検索結果表示プログラム25
47が実行され、オートマトン生成用コンピュータ(CP
U1)2505aではオートマトン生成プログラム2505が、ビ
ットサーチ用コンピュータ(CPU3)2507aではビットサ
ーチプログラム2507が、複合条件判定用コンピュータ
(CPU2)2545aでは複合条件判定プログラム2545が実行
される。また、集合型磁気ディスク装置2510cは、集合
型磁気ディスク制御装置2510dと磁気ディスク装置2510e
1〜2510e12から構成される。 本図において、先ずキーボード2501から入力された検
索条件式はサーチマシン制御用コンピュータ(CPU0)25
50上の検索式解析プログラム2502により解析される。す
なわち、検索式解析プログラム2502では検索条件式を構
成するキーワード部分とそれらの包含条件及び配置条件
を記述した複合条件記述部に分離する。包含条件は論理
条件として記述され、配置条件は近傍条件や文脈条件と
して記述されたものである。分離抽出後、キーワード部
分は同じくCPU02550上の同義語展開プログラム2503に渡
され、複合条件記述部は複合条件解析プログラム2541に
渡される。 同義語展開プログラム2503では、ここに内蔵された同
義語辞書を参照して、入力されたキーワードの同義語が
求められる。そして、ここで同義語展開されたキーワー
ド群は異表記展開プログラム2504へ渡される。本図の例
の場合、“計算機”から、“電算機”、“コンピュー
タ”、“COMPUTER"などが生成される。 異表記展開プログラム2504では、ここに入力されてき
たキーワード群に対して異表記展開処理が施される。本
図の例の場合、“コンピュータ”から“コンピュータ
ー”が、また“COMPUTER"から“Computer"などが生成さ
れる。 こうして同義語及び異表記展開されたキーワード群
は、次にオートマトン生成用コンピュータ(CPU1)2505
a上のオートマトン生成プログラム2505に送られる。 オートマトン生成プログラム2505では、異表記展開プ
ログラム2504から送られてきたキーワード群に対して、
これらを一括照合するオートマトンを生成し、状態遷移
テーブルと照合すべきキーワードの識別コード情報とし
て、サーチエンジン2506に設定する。サーチエンジン25
06は有限オートマトン方式に基づく高速多重文字列照合
回路である。 また、異表記展開プログラム2504で異表記展開された
キーワード群は、該当キーワード識別コードと共に、ビ
ットサーチ用コンピュータ(CPU3)2507a上のビットサ
ーチプログラム2507へ渡される。 一方、検索式解析プログラム2502から入力検索条件式
中の複合条件記述部を受け取ったサーチマシン制御用コ
ンピュータ(CPU0)2550上の複合条件解析プログラム25
41では、これを解析して近傍条件記述部と文脈条件記述
部並びに論理条件記述部に分離する。そして、各条件記
述部をそれぞれ近傍条件解析プログラム2542、文脈条件
解析プログラム2543及び論理条件解析プログラム2544へ
渡す。 近傍条件解析プログラム2542では、字間距離条件や語
間距離条件が抽出される。ここで抽出された各条件は、
指定されたキーワードの識別コードとその間の距離情報
に変換され、複合条件判定用コンピュータ(CPU2)2545
a上の複合条件判定プログラム2545に渡される。 文脈条件解析プログラム2543では、同一文内共起条件
や同一段落内共起条件、同一節内共起条件、同一章内共
起条件などの各種の共起条件が抽出される。ここで抽出
された各条件は、指定されたキーワードの識別コードと
指定文脈コード情報に変換され、複合条件判定用コンピ
ュータ(CPU2)2545a上の複合条件判定プログラム2545
に渡される。 論理条件解析プログラム2544では、検索条件式中に指
定された論理条件が抽出され、論理条件コード情報に変
換され、複合条件判定用コンピュータ(CPU2)2545a上
の複合条件判定プログラム2545に渡される。 さて、上述した検索式解析処理、同義語及び異表記展
開処理、オートマトン生成処理、複合条件解析処理、近
傍条件解析処理、文脈条件解析処理、及び論理条件解析
処理が終わり、ビットサーチ用コンピュータ(CPU3)25
07a上のビットサーチプログラム2507、サーチエンジン2
506、及び複合条件判定用コンピュータ(CPU2)2545a上
の複合条件判定プログラム2545にそれぞれ制御情報が渡
し終わると、検索処理が始められる。 検索処理は、サーチマシン制御用コンピュータ(CP
U0)2550上の検索実行制御プログラム2508により制御さ
れる。すなわち、検索実行制御プログラム2508では、ま
ずビットサーチプログラム2507に起動を掛け、半導体メ
モリ装置2510aから文字成分表を読み出して文字成分表
サーチを行う。文字成分表サーチ結果は、該当文書識別
子として検索結果格納メモリ2546に書き出される。 次に、ストリングサーチエンジン2506、複合条件判定
プログラム2545及び及びRAMディスク装置2510bに起動を
掛けて、検索結果格納メモリ2546に書き出された文書識
別子で指定される文書の凝縮本文をRAMディスク装置251
0bからストリングサーチエンジン2506へ読み込み凝縮本
文サーチを行う。凝縮本文サーチ結果は、該当文書識別
子と照合キーワード識別子及びキーワード照合位置情報
が組み合わされた照合情報として、複合条件判定用コン
ピュータ(CPU2)2545a上の複合条件判定プログラム254
5に渡される。複合条件判定プログラム2545では、先に
設定された複合条件判定制御情報に基づいて、指定条件
に合致する文書を判定し、その文書識別子を検索結果格
納メモリ2546に書き出す。 そして、検索実行制御プログラム2508は、複合条件中
に近傍条件あるいは文脈条件が設定されているかを判定
し、もし設定されている場合には最後の本文サーチを行
う。すなわち、ストリングサーチエンジン2506、複合条
件判定プログラム2545及び集合型磁気ディスク装置2510
cに起動を掛けて、凝縮本文サーチの結果得られた検索
結果格納メモリ2546中の該当文書識別子に対応する本文
データを集合型磁気ディスク装置2510cからストリング
サーチエンジン2506へ読み込み本文サーチを行うことに
なる。 集合型磁気ディスク装置2510cは複数台の磁気ディス
ク装置2510e1〜2510e12から構成され、文字成分表、凝
縮本文、本文、及び書誌事項などの各種テキストデータ
がこれらの磁気ディスク装置2510e1〜2510e12に分散し
て格納される。そして、これらの磁気ディスク装置2510
e1〜2510e12は集合磁気ディスク制御装置2510dの制御の
もとに、平行して独立にテキストデータを読み出す。読
み出されたそれぞれのテキストデータは、集合磁気ディ
スク制御装置2510dで統合され、すなわちマルチプレク
シングされて高速にストリングサーチエンジン2506へ送
り出される。12台の磁気ディスク装置を同時に動作させ
た場合、一台だけの場合に比較して約10倍の読み出し速
度が得られることになる。 ストリングサーチエンジン2506から出力される集合情
報は、複合条件判定プログラム2545に渡され、ここで指
定された近傍条件及び文脈条件に合致するか否かの判定
処理が行われる。この判定処理結果は、最終的な検索結
果情報として、該当文書識別子という形で検索結果格納
メモリ2546に出力される。 凝縮本文サーチあるいは本文サーチが済み、最終的に
検索処理が終わると、サーチマシン制御用コンピュータ
(CPU0)2550上の検索結果表示プログラム2547が、検索
結果格納メモリ2546上の該当文書識別子に基づいて、検
索結果件数、あるいはヒットした文書の書誌情報である
文書名や著者などの書誌事項を集合型磁気ディスク装置
2510cから読み出してディスプレイ2520へ一覧表示した
り、あるいはユーザの指定に応じてヒットした文書の本
文データを集合磁気ディスク装置2510cから読み出して
表示したりする。更に、ユーザがヒットした文献の図面
や画像情報の閲覧を指定した場合には、イメージデータ
ファイル2530から該当するイメージデータを読み出しデ
ィスプレイ2520へ表示する。 以上が本発明により提供されるフルテキストサーチ装
置の第二の実施例についての説明である。 また、本実施例ではテキストデータを格納するテキス
トデータファイル110(第1図)として集合磁気ディス
ク制御装置110d(第20図)を用いているが、テキストデ
ータファイル110の容量を拡大するために集合型の光デ
ィスク装置を用いることも可能である。すなわち、磁気
ディスク装置110e1〜110e12の代わりに、光ディスク装
置を用いることも可能である。ただし、磁気ディスク装
置を用いる場合に比較して、アクセス速度が落ちるた
め、本文サーチ速度がその分低下することになる。さら
に、この場合、光ディスク装置として、テキストデータ
の修正がない場合には追記型の光ディスク装置が使え、
テキストデータの修正が生じる場合には書替え型の光デ
ィスク装置を用いることになる。 次に、上述した第二の実施例におけるRAMディスク装
置2510bの具体的実施例について、第75図を用いて説明
する。 本図において、RAMディスク装置2510bは、凝縮本文を
納める半導体メモリ7100(RAM)と、この半導体メモリ7
100上の凝縮本文の読み出しを制御するRAMディスクコン
トローラ7200から構成される。 RAMディスクコントローラ7200は、ダイレクトメモリ
アクセスコントローラ7210(DMAC)、アドレスコントロ
ーラ7220、アドレスメモリ7230から構成される。アドレ
スメモリ7230には、半導体メモリ7100内のどこからどこ
まで読みだすのかを、それぞれ開始アドレスSTARTnと終
了アドレスENDnの対データとして、複数組設定できるよ
うにしている。この開始アドレス7360と終了アドレス73
70は、検索実行制御プログラム2508により、検索結果格
納メモリ2546内に書き込まれた読み出し対象とすべき凝
縮本文の識別子情報をもとに、検索実行制御プログラム
2508内で管理される凝縮本文格納情報を参照して与えら
れる。 アドレスコントローラ7220は、検索実行制御プログラ
ム2508から与えられる起動信号に基づいて、アドレスメ
モリ7230内の読み出し領域アドレス領域、すなわち開始
アドレスSTART1と終了アドレスEND1を読み出し、これか
ら読み出すべき領域の先頭アドレス7310と読み出すべき
ワード数7320を求めて、これをダイレクトメモリアクセ
スコントローラ7210に設定され、これに起動を掛ける。
ダイレクトメモリアクセスコントローラ7210は、指定さ
れたアドレス7310とワード数7320に基づき、該当領域の
データを半導体メモリ7100から読み出し出力する。 ダイレクトメモリアクセスコントローラ7210は、読み
出しが終了したら終了信号7370をアドレスコントローラ
7220へ送出する。アドレスコントローラ7220はこれを受
けて、次の転送アドレス情報、すなわち開始アドレスST
ART2と終了アドレスEND2を読み出し、同様にしてこれか
ら読み出すべき領域の先頭アドレス7310と読み出すべき
ワード数7320を求めて、これをダイレクトメモリアクセ
スコントローラ7210に設定し、起動を掛ける。これを受
けてダイレクトメモリアクセスコントローラ7210は指定
されたアドレス7310とワード数7320に基づき、該当領域
のデータを半導体メモリ7100から読み出し出力する。 以下同様の処理をくりかえして、アドレスメモリ7230
内に設定された転送情報に対応する半導体メモリ7100内
のデータを読み出すことになる。 以上が、RAMディスク装置2510bの実施例の説明であ
る。 次に、上記第二の実施例における複合条件解析プログ
ラム2541(第25図)の更に詳細な実施例について第13図
を用いて説明する。 本実施例では、複合条件解析プログラム1141が、近傍
条件判定プログラム330、文脈条件判定プログラム340、
及び論理条件判定プログラム350によりパイプライン的
に構成されている。 また、検索実行制御段階としては、本文サーチを行う
場合を例にしている。すなわち、入力テキストデータと
しては、集合型磁気ディスク装置1110cから本文データ
を入力し、このなかからサーチエンジン1106でキーワー
ドの探索照合を行う場合である。 探索条件式としては、論理条件、近傍条件及び文脈条
件を含む複合条件式301が入力されるものとする。 複合条件式301:Q=and(文書〔4C〕理解、文書〔S〕
検索) この複合条件式301は、「文書」と「理解」がこの順
序で現れ、かつ4文字以内の距離に近接し、さらに「文
書」と「検索」が同一文中に共起するものを検索するこ
とを意味している。すなわち、“文書〔4C〕理解”が、
「文書」と「理解」がこの順序で現れ、かつ4文字以内
の距離に近接するという近傍条件を示し、“文書〔S〕
検索”が、「文書」と「理解」が同一文中に共起する文
脈条件を、“and(……、……)”が、これら両者が同
時に起こるという理論条件を示している。 このような複合条件検索式301が指定されると、第二
の実施例(第25図)で説明したように、先ずこの検索条
件式が検索式解析プログラム1102で解析され、これに含
まれるキーワード、すなわち単語「文書」、「理解」及
び「検索」が抽出される。そして、これらにそれぞれ
T1,T2及びT3という識別子が付与され、同義語展開プロ
グラム1103、さらには異表記展開プログラム1104へ渡さ
れる。ここでは、説明を簡単にするために、同義語及び
異表記展開される言葉がなかったものとして説明する。
したがって、同義語及び異表記展開された結果は、入力
キーワードと変わらず、「文書」、「理解」及び「検
索」の3単語ということになる。これらは、オートマト
ン生成プログラム1107に渡され、ここで各文字列を照合
するオートマトンが生成され、その状態遷移テーブルが
サーチエンジン1106に設定されることになる。 一方、検索条件式中の複合条件については、複合条件
解析プログラム1141にてそれぞれ近傍条件“文書〔4C〕
理解”、文脈条件“文書〔S〕検索”、及び論理条件
“and(……,……)に分解される。この時、各条件式
中のキーワードは、先にオートマトン生成に際して付与
されたキーワード識別子(ターム識別子とも呼ぶ)で置
き換えられる。したがって、近傍条件は、“T1〔4C〕
T2"と、文脈条件は“T1〔S〕T3"という形式で表され
る。また、これらの条件式にもそれぞれ項識別子I1及び
I2が付与される。したがって、論理条件式は“and(I1,
I2)”と表されることになる。以上の処理は、それぞれ
近傍条件解析プログラム2542(図25)、文脈条件解析プ
ログラム2543(図25)及び論理条件解析プログラム(図
25)2544にて行われる。このようにしてターム識別子及
び項識別子で表現された各条件は、複合条件判定プログ
ラム2545(図25)の各条件判定処理プログラムに送られ
る。 こうしてサーチエンジン1106に各検索ターム照合用の
オートマトン状態遷移テーブル及び検索ターム識別子情
報が設定され、近傍条件判定プログラム330、文脈条件
判定プログラム340、及び論理条件判定プログラム350に
それぞれ検索ターム識別子及び項識別子で記述された各
条件式が設定されると、検索実行制御プログラム1108に
より集合型磁気ディスク装置1110c、サーチエンジン110
6、複合条件解析プログラム1145、近傍条件判定プログ
ラム330、文脈条件判定プログラム340、及び論理条件判
定プログラム350に起動が掛けられる。 そうすると、集合型磁気ディスク装置1110cからはテ
キストデータが読み出されサーチエンジン1106へ送られ
る。サーチエンジン1106では、指定された検索ターム
「文書」、「理解」及び「検索」のどれかが見つかる
と、その検索ターム識別子T1,T2及びT3が見つかったテ
キスト内の位置情報と一緒に近傍条件判定プログラム33
0へ送られる。また、文間の区切り記号となる「。」に
ついても、とくにユーザからの指定がなくともサーチエ
ンジン1106で検出しこれに対応する句点識別子T0並びに
位置情報を近傍条件判定プログラム330に送り出す。 近傍条件判定プログラム330では、サーチエンジン110
6から送られてくる検索ターム識別子をその位置情報も
加味して指定された近傍条件と照らし合わせる。もし指
定近傍条件“T1〔4C〕T2"、すなわち“文書〔4C〕理
解”に合致するものがあれば、その照合結果として該当
条件に対応した項識別子I1を、サーチエンジン1106から
入力した句点識別子T0、検索ターム識別子T1,T2及びT3
に加えて文脈条件判定プログラム340へ送り出す。 文脈条件判定プログラム340では、上記近傍条件判定
プログラム330から入力した句点識別子T0及び検索ター
ム識別子T1,T3並びにその位置情報を基に、指定文脈条
件をチェックする。文脈条件“T1〔S〕T3"は、上記句
点識別子T0と、T1及びT3の並びから判定する。すなわ
ち、T1とT3がこの順序でその前後を二つのT0で挾まれて
いれば文脈条件“T1〔S〕T3"が成立したものと判断す
る。もしこの文脈条件“文書〔S〕検索”に合致するも
のが見つかれば、その照合結果として該当条件に対応し
た項識別式I2を、近傍条件判定プログラム330から入力
した句点識別子T0、及び検索ターム識別子T1,T3並びに
項識別子I1に加えて論理条件判定プログラム350に送り
出す。 論理条件判定プログラム350では、文脈条件判定プロ
グラム340から送られてくる句点識別子T0及び検索ター
ム識別子T1,T3並びに項識別子I1,I2の中から指定論理条
件“and(I1,I2)”に合致する識別子I1,I2があるかど
うか調べる。すなわち、項識別子I1とI2の両者が見つか
れば大元の複合条件検索式Qが成り立ったことになり、
そのテキスト(文書)は検索式Qで検索されたことにな
る。該当テキストの例としては、同図に示したテキスト
302のようなものが検索されることになる。 一方、上記集合型磁気ディスク装置1110cから、サー
チエンジン1106、近傍条件判定プログラム330、文脈条
件判定プログラム340及び論理条件判定プログラム350へ
流れる照合情報の中にはこれまで説明しなかったテキス
トデータの識別子も含まれている。すなわち、論理条件
判定プログラム350では検索式Qが成立したテキストデ
ータについては、その文書識別子を次段の検索結果表示
プログラムへ送られ、ここでヒット件数が表示された
り、あるいはこの文書識別子をもとに集合型磁気ディス
ク装置1110cから該当文書の書誌事項が読み出され、こ
れがディスプレイ1120へ表示されることになる。 以上が、第二の実施例における複合条件判定プログラ
ム2545(第25図)の詳細な説明である。 以上が、第一の実施例におけるテキストデータファイ
ル1110(第10図)と、複合条件解析部1141(第10図)の
詳細な説明である。 次に、本発明が提供するフルテキストサーチ方式につ
いて具体的に説明する。 本発明においては、スキャン型のフルテキストサーチ
を加速する方法として、2段階のプリサーチ、すなわち
第15図に示す文字成分表サーチ402と凝縮本文サーチ403
を行っている。すなわち、本文サーチ403を行う前に上
記2段階のプレサーチを行うことによって、磁気ディス
クに格納されたテキスト本文を参照しに行く件数を予め
絞り込んでおく。こうすることによって、検索処理時間
に占める割合が高い本文検索処理量を減らすことがで
き、全体の検索処理時間を短縮することが可能となる。 これらは全て検索実行制御プログラムによって制御さ
れる。先ず、第1段階目のプリサーチである文字成分表
サーチの実施例について説明する。 本文字成分表サーチでは、第16図の登録処理全体の流
れ及び第18図に詳細に示したハッシュコード化手順に示
すように、後述する凝縮本文中のすべての文字コードに
対してその文字コードをテキスト中に含む文書のリスト
を作成しておく。すなわち、各文字コードの文書毎の有
無を1ビットの情報(ビットリストと呼ぶ)で表し、更
にこれをハッシュ化したものを文字成分表500として持
つ。 例えば、「検索」というキーワードが指定された場合
には、第18図に示すように「検」と「索」のそれぞれの
文字毎にハッシュ関数510を介して文字成分表500のエン
トリアドレスを求める。そして、それぞれの文字コード
のハッシュ値から求められたビットリスト503および506
のビット間の論理積を取ることによって、「検」と
「索」と両文字を含む文献のビットリスト520が求めら
れる。 以上の文字成分表サーチの処理手順は、第23図に示し
たとおりである。すなわち、指定された検索条件式中に
含まれるキーワード数分だけ文字成分表サーチを繰返
し、各キーワードの文字成分表サーチでは、このキーワ
ードを構成する文字数分、それぞれの文字の存在を示し
たビットリストの論理積ANDをとることになる。この結
果、各キーワード毎に、これを含む可能性を持った文書
候補がビットリストの形で求まることになる。最後に、
こうして求まったビットリストを文書識別子へ変換す
る。この文書識別子はシステム内部でユニークに定めら
れた文書番号であり、ビットリストの先頭からビット位
置に対応して付与されている。 また、文字成分表サーチにおいて、指定された検索条
件式中に論理積条件(AND)が設定されている場合に
は、文字成分表サーチ処理の中で論理積条件の処理も行
い、これ以降の検索処理対象文書件数を絞り込んでおく
ことによって、全体の検索処理時間を短縮することが可
能となる。 例えば、 “Q=and(文書、検索)” という検索条件式が入力された場合について説明する。
この検索条件式は、“文書”と“検索”が両方共表われ
る文書を検索する意味を表す。この場合、まずキーワー
ド“文書”にいて文字成分表サーチを行い、次に“検
索”というキーワードについて文字成分表サーチを行
う。その後、この両者の検索結果のビットリスト間の相
互のビット毎の論理積ANDをとり、文字成分表サーチの
最終的な検索結果とする。この処理手順を第24図に示
す。本図では、検索条件式中に含まれるキーワード、す
なわちキーワード数分文字成分表サーチを繰返すことに
なる。 そして、この各キーワード毎の文字成分表サーチにお
いては、このキーワードを構成する文字数分、それぞれ
の文字の存在を示したビットリストの論理積ANDをと
る。この処理を、全キーワード数分行った後、各キーワ
ードの文字成分表サーチ結果のビットリスト間の論理積
ANDをとる。こうして得られた最終ビットリストは、検
索条件式中の論理積条件で指定されたキーワードを同時
に含みうる文書候補を表すことになる。 以上の処理のように、指定された検索条件式中に論理
積条件(AND)が設定されている場合には、文字成分表
サーチ処理の中で論理積条件の処理も行い、これ以降の
検索処理対象文書件数を絞り込むことによって、全体の
検索処理時間を短縮することが可能となる。 この文字成分表500は、各文字コードの文献毎の有無
を1ビットの情報で表すと共に、更にこれをハッシュ化
しているため、テーブル容量は原テキストデータの数十
分の十になり、サーチすべきデータ容量も極めて小さく
なり、検索の高速化に大きく寄与することになる。ただ
し、この文字成分表サーチだけではノイズが生じてしま
う。すなわち、検索処理手順を示す第17図の文書3の様
に「検」と「索」がばらばらに表れるテキストも検索さ
れてしまうことになる。このノイズを消去するのが第二
のプレサーチ、すなわち、凝縮本文サーチである。 第二のプリサーチである凝縮本文サーチでは、凝縮本
文を対象に検索を行う。凝縮本文は、予めテキスト本文
の中から助詞や接続詞などの付属語を削除すると共に繰
り返し現れる単語の重複を排除したものである。第19図
にこの凝縮本文の作成方法を示す。 ここでは、「あいまい検索のための知的検索技術」60
1というテキスト文字列を例にとる。先ず最初に文字種
分割処理610において、入力文字列を異なる文字種の間
で分割する。この例では、「あいまい」、「検索」、
「のための」および「知的検索技術」の4つの文字列60
2に分割される。 次に付属語解析処理620において、文字種分割された
文字列602のうち、ひらがな文字列「あいまい」と「の
ための」に対して付属語解析を加え、付属語と解釈でき
るものは検索には用いられない言葉として取り除く。す
なわち、助詞や接続詞とみなせるものについては捨てて
しまう。このような言葉は、もし検索のキーワードとし
て用いたとしても、ほとんど全ての文書に現れるため、
ほぼ全件がヒットしてしまうことになり、検索という意
味をなさないことになる。この例では、ひらがな文字列
「のための」603が助詞「の」と、接続詞「ため」及び
助詞「の」と、すべての部分文字列が不要語と解釈でき
るので、検索には使われ得ない文字列とみなして除去す
る。一方、「あいまい」は付属語と解釈することができ
ないので、そのまま凝縮本文として残す。この場合、
「あいまい」を名詞として認識して残しているのではな
い。したがって、どのような新語が文書に現れようと
も、必ず凝縮本文に登録されることになる。 最後に、重複登録排除処理630において、不要語とし
て除去された残りの文字列群602の中に、同じ言葉がな
いかどうかを調べる。もし、同じものがあれば二重登録
しないように次のものを捨ててしまう。まったく同じで
なくても、どちらかの文字列がもう一方の文字列に含ま
れていれば、その含まれる文字列は不要であるので捨て
てしまう。本図の例では、「検索」が「知的検索技術」
に含まれるため、重複登録排除ということで切り落とさ
れる。その結果、凝縮本文として最終的に、「あいま
い」、「検索」及び「技術」が残ることになる。このよ
うに、凝縮本文は単語単位で原文書を情報圧縮したこと
になるため、この凝縮本文をサーチすることによって、
例えば「検索」と連続した文字列、すなわち単語として
キーワードが現れる文書のみを拾い出すことが可能にな
る。 このようにして作成された凝縮本文は、原テキストと
比較しその約20〜25%に容量が減じられる。したがっ
て、フルテキストサーチを等価的に約5倍高速化できる
ことになる。さらに、この凝縮本文を半導体メモリなど
の高速アクセスが可能なメモリ上に置くことによって、
さらに等価スキャン速度を高めることが可能となる。 また、本凝縮本文の作成方式は、キーワード辞書など
を用いて検索に必要とする単語を切り出してくる方法と
異なり、辞書を用いず文法的に解析し得る不要語だけを
除去する方法を用いているために、必要な単語を切り落
してしまう危険性がなく、検索漏れが生じにくい特徴が
ある。従来の検索方式ではキーワード辞書に登録されて
いない新語などが採取できないことにより検索漏れが生
じたりするが、本方式では新語であっても凝縮本文から
落ちることがないため、新語ということによる検索漏れ
が生じることはない。 また、この凝縮本文検索は、サーチエンジン1106(第
10図)を用いて行われ、この後この凝縮本文検索の結果
絞り込まれた文書について、該当する本文データをサー
チし最後の複合条件による検索を行うことになる。すな
わち、本文サーチではテキスト本体をスキャンしなけれ
ば判定ができない近傍条件と文脈条件の判定処理を行い
ながら検索をすることになる。 通常、文字成分表と凝縮本文は、本文データと共に集
合型磁気ディスク装置1110c(第3図)に格納されてい
て、検索システムの立ち上げ時にそれぞれ半導体メモリ
装置1110a及びRAMディスク装置1110bへローディンされ
る。検索時には、それぞれ半導体メモリ装置1110a及びR
AMディスク装置1110bから読み出されることになる。ま
た、本文データは格納元の集合型磁気ディスク装置1110
c(第13図)から直接読み出されて、検索されることに
なる。 以上説明したように、事前に「文字成分表サーチ」と
「凝縮本文サーチ」という2段階のプリサーチを行い、
最も時間を要する「本文サーチ」の対象となる文書数を
予め最小に絞り込んでおくことによって、等価的に高速
なフルテキストサーチが実現できるようになる。 本文検索では、テキストデータをスキャンしなければ
判別ができない近傍条件と文脈条件の判別処理を加えて
検索を行うことになる。通常、文字成分表及び凝縮本文
は集合磁気ディスクに格納されているが、システムの立
上時にRAMディスクにロードされ、検索時にはRAMディス
クから読み出される。テキスト本文は集合磁気ディスク
装置2510(第25図)から読み出されることになる。 このように、事前に2段階のプリサーチを行い、最も
時間を要する本文検索の対象となる文献数を予め最小に
絞り込んでおくことによって、等価的に高速なフルテキ
ストサーチが実現できることになる。 この3段階検索では、近傍条件検索と文脈条件検索が
指定されなかった場合には、本文をサーチする必要がな
いので、文字成分表サーチと凝縮本文サーチだけで検索
を終了することができる。すなわち、第21図に示すよう
に、指定検索条件式中に近傍条件あるいは文脈条件が含
まれない場合には、キーワードが単語として存在するか
否かだけを探索すればよいことになるため、文字成分表
サーチで指定キーワードを構成する文字を含む文書を抽
出し、その結果求められた文書の凝縮本文をサーチして
キーワードが単語として含まれるもののみを抽出し、検
索を終えることができる。この結果、サーチ時間が掛か
る不要な本文サーチを省略できるため、検索時間を全体
として短縮することが可能となる。 また、この3段階の階層検索において、最初の文字成
分表サーチ結果がゼロ件で該当文書がなかった場合に
は、ここで検索を打ち切ることが可能である。すなわ
ち、第22図に示すように、近傍条件あるいは文脈条件が
設定されていたとしても、次段の凝縮本文サーチとその
後の本文サーチを省略することができる。同様に、凝縮
本文サーチ結果件数がゼロ件の場合には、たとえ近傍条
件あるいは文脈条件が設定されていたとしても、次段の
本文サーチを省略することが可能である。この結果、入
力された検索条件式に応じて最小の時間で検索処理を済
ませることが可能となる。 以上説明した階層型のプリサーチでは、半導体メモリ
上に置いた文字成分表と凝縮本文で絞り込みを行い、最
後に本文を集合磁気ディスク装置から読み出して検索を
行う方式としている。このように凝縮本文を半導体メモ
リに置く方式では、半導体メモリを用いる分検索装置の
コストが高くなる。したがって、凝縮本文を磁気ディス
ク装置上に置いて検索を行うことにより、半導体メモリ
を不要とすることができ、装置のコストを低く抑えるこ
とが可能となる。 ただし、文字成分表サーチで絞り込んだ結果で凝縮本
文サーチを行う場合、凝縮本文を集合磁気ディスク装置
上から選択的に読み出すことになる。この場合、比較的
小容量の多数のデータをアクセスすることになるため、
集合磁気ディスク装置からの実効的な読み出し速度、す
なわちスループットは、データの読み出し時間よりも、
むしろシーク時間に大きく影響されることになる。した
がって、文字成分表サーチの結果件数が多い場合には、
アクセス時間が極めて短い半導体メモリ上に凝縮本文を
置いた場合に比較して、凝縮本文サーチ時間が極めて大
きくなることになる。このような場合には、凝縮本文を
選択的に拾い読みするより、全件を1ファイルとしてま
とめ読みする方がシーク回数を減少させることができる
ため、はるかに短時間で読み出しを行うことが可能とな
る。 したがって、検索装置のコストを低減するために、凝
縮本文を半導体メモリではなく磁気ディスク装置上に置
いたまま検索する場合、第20A図に示すような手順で検
索を行うことによって、検索速度を大きく落すとこなく
検索を行うことが可能となる。すなわち、文字成分表サ
ーチの結果件数が所定件数よりも多い場合には、この文
字成分表サーチの検索結果を無視して、新たに凝縮本文
を全件集合磁気ディスク装置から読み出して指定キーワ
ードの存在を検索する。もし、文字成分表サーチの結果
件数が所定件数よりも少ない場合には、集合磁気ディス
ク装置上の該当凝縮本文を選択的に読み出して凝縮本文
サーチを行う。 この場合の所定件数とは、凝縮本文をこの所定件数分
選択的に読み出す時間と、凝縮本文を全件一つのファイ
ルとして連続的に読み出す時間が等しくなるような読み
出し件数のことである。また、この場合も当該凝縮本文
サーチ結果件数がゼロ件の場合には、近傍条件及び文脈
条件の設定の有無にかかわらず、ここで検索処理を打ち
切ることが可能である。 また、本文データの容量が小さい場合には、一般的に
冗長な文章が少ないため、凝縮本文の大きな圧縮率は望
めない。したがって、ファイルの読み出し時間において
ディスクのシーク時間と回転待ち時間が支配的なことを
考慮すれば、凝縮本文の読み出し時間と本文の読み出し
時間に大きな差が生じなくなることにする。すなわち、
文字成分表サーチの結果件数が所定件数よりも少ない場
合には、第22B図に示すように集合型磁気ディスク装置
上の該当本文ディスクを選択的に読み出して本文サーチ
を行う方が効率的になる。つまり、最初の文字成分表サ
ーチの結果件数が所定件数よりも多い場合には、この文
字成分表サーチの検索結果を無視して、新たに凝縮本文
を全件集合型磁気ディスク装置から読み出して指定キー
ワードの存在を検索する。この場合、当該凝縮本文サー
チ結果件数がゼロ件の場合には、近傍条件及び文脈条件
の設定の有無にかかわらず、ここで検索処理を打ち切
る。ゼロ件でない場合には、条件式中に近傍条件あるい
は文脈条件が設定されているかを見て、もし設定されて
いるときには本文サーチを行うことになる。一方、文字
成分表サーチの結果件数が所定件数よりも少ない場合に
は、集合型磁気ディスク装置上の該当本文を選択的に読
み出して近傍条件及び文脈条件を含めて本文サーチを行
うことになる。このような検索手順を踏むことによっ
て、文書データの平均容量が小さい場合には、さらに効
率的な検索が行えるようになる。 このように、文字成分表サーチの結果件数に応じて凝
縮本文の読み出し方法を変えることによって、凝縮本文
を集合磁気ディスク装置上に置いても、検索時間を大幅
に増やすことなく検索処理ができるようになるため、低
価格で高性能な全文検索装置の提供が可能となる。 次に本発明による同義後展開及び異表記展開の変形例
について説明する。 第28図は本発明の実施例の構成を示すブロック図であ
る。本実施例は、コンソール2800、対話制御部2801、異
表記展開処理部2802及び2805、同義語御展開処理部280
3、同義語辞書ファイル2804、文字列統合列部2806、文
字列検索処理部2807、テキストデータベース2808から構
成されている。コンソール2800から入力された検索文字
列40は、対話制御部2801を介して異表記展開処理部2802
へ送られる。異表記展開処理部2802で展開した文字列群
41は、同義語展開処理部2803へ送られると共に、文字列
統合処理部2806へも送られる。同義語展開処理部2803で
は、同義語辞書2804を参照し送られてきた文字列群41の
各文字列と辞書の見出しとのマッチングをとり、一致し
た文字列が存在すれば、同義語展開モード制御信号2810
に従い、辞書に記載してある見出しに対応する言葉を出
力し、異表記展開処理部2805へ文字列群42を送る。異表
記展開処理部2805では、同義語展開された文字列42に対
し、異表記展開処理部2803と全く同じ処理方法で異表記
展開して、文字列群43を文字列統合処理部2806へ出力す
る。文字列統合処理部2806は、異表記展開処理部2802と
2805から受け取った文字列群41と文字列群43を、一つの
文字列群44にまとめて文字列検索部2807へ出力する。文
字列検索部2807は、受け取った文字列群44のうちのいず
れかの文字列が存在するものをテキストDBから検索し
て、ヒットした文書の識別子情報などを、対話制御部28
01へ検索結果45として出力する。対話制御部2801は、こ
の検索結果45を受けて、検索結果件数46や、テキスト情
報46を適宜コンソール2800へ出力する。 異表記展開処理部2802と2805は、全く同一のものであ
る。文字列検索部2807は公知の技術で、例えば特開昭63
−311530を用いて実現できる。テキストDB408は、文字
コード情報であれば、新聞記事データでも、ワープロで
作成した文書のデータでも、電子ファイリングシステム
の書誌事項データでも構わない。 以下、異表記展開処理部2802、2805と同義語展開処理
部2803の構成作用について詳細に説明する。 まず、異表記展開処理の概要を第29図を用いて説明す
る。ここでは、最初に入力文字列2901を異なる字種の間
で切断し、部分文字列へ分割する。 例えば、入力文字列2901 “卓上型インタフォーン” の場合には、漢字文字列2902 “卓上型” と、カタカナ文字列2903 “インタフォーン” へ文字種に従って分割する。次に、分割した文字列毎に
異表記展開を行ない、漢字異表記文字列リスト2904、カ
タカナ異表記文字列リスト2905を得る。その後、漢字異
表記文字列リスト2904及びカタカナ異表記文字列リスト
2905をそれぞれ展開し、2つの文字種で別々に展開した
文字列群を1つに組み合せて最終結果2906として出力す
る。 次に、第30図を用いて異表記展開の処理内容を詳細に
説明する。第30図は本発明における異表記展開手段の実
施例を示すブロック図である。本実施例の構成は、文字
種分割・選別部3001、ローマ字判別部3002、ローマ字カ
ナ変換部3003、漢字異表記展開部3004、カタカナ異表記
展開部3005、アルファベット異表記展開部3006、カナロ
ーマ字変換部3007、分割文字列統合部3010よりなる。 異表記展開処理部2802あるいは2805への入力文字列30
20は、まず文字種分割・選別部3001へ送られる。文字種
分割・選別部3001では入力文字列3020を、上述したよう
に漢字及びひらがな文字列3031、カタカナ文字列3032、
アルファベット文字列3033、それ以外の文字列3030の4
種類の部分文字列に分割する。分割した部分文字列をそ
れぞれの文字種に従って分類し、別々の展開処理を施
す。以下文字種別に、その展開処理の概要を示す。 (1)漢字・ひらがな・カタカナ・アルファベット以外
の文字列 この文字種には数字、記号、特殊文字あるいは外字コ
ード等が当たる。本実施例ではこれらの文字種を、展開
せずに入力した文字列3030をそのまま分割文字列統合部
3010へ出力している。しかし数字に関して英数字を漢数
字に変換したり、英記号に関して記号“・”を“−”や
“/"に展開することなども考えられる。 (2)漢字・ひらがな文字列 これらの文字種に関しては、文字列3031を漢字異表記
展開部3004にて、漢字の新旧字体及び送りがなについて
の異表記展開をする。漢字異表記展開部3004の出力文字
列3041は、分割文字列統合部3010へ送られる。 (3)カタカナ文字列 この文字種に関しては、文字列3032をカタカナ異表記
展開部3005にて、類似音節の表記について異表記展開を
行う。展開した文字列3042は、分割文字列統合部3010へ
送られる。また、同時にカナローマ字変換部3007へも送
られる。カナローマ字変換部3007でローマ字へ変換され
た文字列3053は、アルファベット異表記展開部3006に
て、アルファベットの大小文字に関する異表記展開が行
なわれ、文字列3043として分割文字列統合部3010へ送ら
れる。 (4)アルファベット文字列 この文字種に関しては、日本語のローマ字表現の場合
と、外国語の言語の場合の2つの場合がある。 ここでは、まずローマ字判別部3002で、文字列3033が
ローマ字か外国語かの判定をする。この判定基準には、
ローマ字の表記法を用いている。すなわち、アルファベ
ット文字の並びがローマ字の表記法に合っていればロー
マ字と判定し、ローマ字として解釈不能の場合は外国語
と判定する。この判定は、ローマ字カナ変換部3003で兼
ねることもできる。すなわち、ローマ字カナ変換ができ
れば、ローマ字と判定し、そうでない場合に外国語と判
定する。また、この判定には本実施例の方法以外にも、
外国語辞書を使うといった方法も用いることが可能であ
る。 ローマ字判別部3002でローマ字と判定した文字列3051
は、ローマ字カナ変換部3003に送られ、ここでカタカナ
文字列3052に変換され、これを更にカタカナ異表記展開
部3005で、類似音節に関する異表記展開を行い文字列群
3042を得る。文字列群3042に対するこの後の処理は、
(3)のカタカナ文字列の処理と同じである。すなわ
ち、カタカナ異表記展開された文字列群3042は、分割文
字列統合部3010へ送られると共に、カナローマ部変換部
3007へも送り出される。カタカナ文字列群3042は、カナ
ローマ字変換部3007へ各々ローマ字へ変換され、ローマ
字文字列群3053としてアルファベット異表記展開部3006
に送られる。該ローマ字文字列群3053は、アルファベッ
ト異表記展開部3006でアルファベットの大小文字に関す
る異表記展開を施された後、分割文字列統合部3010へ送
られる。 一方、ローマ字判断部3002で外国語と判断された文字
列3034は、ローマ字カナ変換せずに、アルファベット異
表記展開部3006へ送られ、その出力文字列3043は分割文
字列統合部3010へ送られる。 以上、異表記展開処理の流れについて説明した。続い
て、この異表記展開処理における各処理ブロックの詳細
について説明する。 まず始めにカタカナ異表記展開部3005の処理について
説明する。第31図は異表記展開部における処理をカタカ
ナ文字列を例にして説明した図である。ここでは、 “インタフォーン” という入力文字列を例としている。異表記展開処理は、
変換ルールを参照して行う。また、その変換処理は、入
力文字列中の部分文字列として変換対象となり得るもの
があれば、該変換ルールを参照して他の表記に置き換え
るものである。この変換ルールのテーブル形式も本図に
示されている。この変換ルールテーブルは、見出し部と
展開部文字列リスト部から構成されている。入力文字列
中に、変換ルールテーブルの見出し部分に相当するもの
が存在すれば、該当部分を展開文字列リスト部に記述さ
れた異表記文字列群で順次置き換えていく。 この見出し文字列の探索は、入力文字列の先頭から最
長一致法により行なう。すなわち本図に示したように、
入力文字列中の “フォー” という部分文字列と “フォ” という部分文字列の両方が見出しにある場合には、より
長い見出しの “フォー” のほうの変換ルールを適用する。 第31図の例を用いて、この見出し文字列探索及び展開
文字列リストへの置き換え処理を説明する。見出し文字
列探索において、入力文字列中の部分文字列と見出し文
字列との照合のため、探索ポインタ設定する。入力文字
列と見出し文字列の照合時には、探索ポインタの位置を
動かしながら、入力文字列中の探索ポインタを先頭とす
る文字列と、見出し文字列との照合を行なっていく。ま
ず探索ポインタを入力文字列の先頭文字にセットする。
従って、この例では文字“イ”から見出し文字列の探索
を開始することになる。該当する見出しが存在しないの
で、探索ポインタを1文字移動して“ン”を先頭とする
文字列からもう一度見出し文字列を探索する。また該当
する見出しが存在しないので、もう1文字探索ポインタ
を移動して“タ”の文字から見出し文字列を探索する。
今後は “タ” の見出し文字列が見つかるので、 “タ” の部分を展開文字列リスト部に記述された “タ”と“ター” に置き換える。そして探索ポインタを見出し “タ” の文字数分、すなわち1文字分移動する。次に“フ”の
文字から見出し文字列探索し、該当する見出し “フォー”と“フォ” を得る。今度は2つの見出し文字列が照合するが、この
ように複数個の照合した見出し文字列がある場合、最長
一致法に従い、最も長い見出し文字列のある変換ルール
を採用する。この例では、見出し “フォー” のほうが “フォ” より長いので、 “フォー” を展開用変換ルールとして採用し、入力文字列内の部分
文字列 “フォー” を展開文字列リスト部に記述された “フォー”、“フォ”、“ホー”及び“ホ”に置き換
える。そして探索ポインタを見出し “フォー” の文字数分、すなわち3文字分移動する。最後に入力文
字列中の最終文字、“ン”から見出し探索を行なうこと
になるが、該当する見出しがないので文字“ン”は、展
開処理が施されずそのままとなる。こうして探索ポイン
タが入力文字列の最終位置に来たので処理を終了する。 以上の処理の結果として生成された展開リストを含む
文字列 “イン(タ,ター)(フォー,フォ,ホー,ホ)ン” の展開リストを組み合せることによって最終的な異表記
展開文字列が得られる。この例では、 “タ”の部分で2通り、 “フォー”の部分で4通り に展開するので展開結果は2×4の8通りの文字列、す
なわち 1)“インタフォーン” 2)“インタフォン” 3)“インタホーン” 4)“インタホン” 5)“インターフォーン” 6)“インターフォン” 7)“インターホーン” 8)“インターホン” となる。 以上の見出し文字列探索と展開文字列リストへの置き
換え処理を第32図に示すPAD図で説明する。まず探索ポ
インタを入力文字列の先頭にセットする。次に現在の探
索ポインタを先頭とする文字列で、変換ルールの見出し
文字列があるかどうかを探索する。もしもマッチングす
る見出しがなければ、探索ポインタを一文字後方に移動
してから、再び探索ポインタを先頭とする文字列でマッ
チングする見出し文字列を探索する。マッチング見出し
が存在する場合には、マッチングした見出しのうち最も
長い見出しを採用して、該当部分を展開文字列リストで
置き換える。置き換えがすんだら探索ポインタをマッチ
ングした見出し文字列の文字数分後方に移動する。そし
て、探索ポインタが入力文字列の最終位置に来るまで、
上記の見出し文字列探索と展開リストへの置き換え処理
を繰り返す。 いままで説明してきた異表記展開における見出し文字
列の探索方法に関するもう一つの実施例について第33図
を用いて説明する。本実施例では、見出し文字列の探索
にオートマトンを用いている。以下、その手順について
述べる。まず変換ルールにより、図に示すようなオート
マトンを生成する。異表記展開処理は、このオートマト
ンに入力列を1文字ずつ入力して、そのオートマトンの
動作出力から第31図で説明した展開文字列リストを含む
文字列を得る。 以下、具体的にその動作内容について説明する。本図
において記号aは入力文字を、丸はオートマトンを構成
する各状態を、丸の中の数字はその状態番号を示す。線
上の文字は、その文字が入力されたとき、矢印の方向へ
状態を遷移することを示す。記号‘’は、その後に続
く文字以外の文字を表す。また、記号‘→’は、以下に
続く文字列を出力することを示す。このオートマトン
は、その動作を制御するための状態遷移テーブルと、各
状態の出力を記述する出力テーブルからなる。状態遷移
テーブルは、第34図に示すものとなる。ここでは、各状
態における入力文字とその文字が入力されたときに遷移
する遷移先の状態番号が対として記述されている。但し
状態0へ遷移する場合は記述を省略してある。すなわ
ち、各状態において状態遷移テーブルに記述されていな
い文字が入力した場合には、状態0へ遷移するものとし
ている。出力テーブルには第35図に示すように、オート
マトンの各状態において、出力する文字列リストが記述
されている。オートマトンが動作する場合、状態0以外
の状態から状態0へ遷移する場合のみ、この出力テーブ
ルを参照して該当する展開文字列を出力する。そして出
力がすんだら、もう一度状態0への遷移を引き起こした
文字をオートマトンへ入力し、状態遷移テーブルを参照
してオートマトンを再遷移させる。状態0から状態0へ
戻る場合には、入力文字をそのまま出力する。 以上、オートマトン方式における状態遷移の制御及び
出力について説明した。次に、具体例をもとに、この動
作を詳細に説明する。以下、第33図の入力例“インタフ
ォーン”の文字列が1文字入力される毎の動作について
記述する。最初、オートマトンの状態は、状態0であ
る。 (1)文字“イ”が入力されると 状態遷移テーブルに状態0からの遷移先が登録されて
いないので、そのまま “イ” が出力された状態は0のままとなる。 (2)文字“ン”が入力されると 状態遷移テーブルに状態0からの遷移先が登録されて
いないので、そのまま “ン” が出力され状態は0のままとなる。 (3)文字“タ”が入力されると 状態遷移テーブルを参照し、現在の状態0から遷移先
として状態番号6が読み出され、状態は6に移る。 (4)文字“フ”が入力されると 状態遷移テーブルからは状態6から“フ”で遷移する
遷移先が得られない。かつ現在の状態は0でないので、
出力テーブルが参照され状態6での出力文字列 “タ”と“ター” が出力される。その後、状態は0に移動する。さらに、
この新しい状態0でもう一度入力文字の“フ”をオート
マトンに入力する。その結果、状態遷移テーブルの内容
に従って状態0から状態1に移動する。 (5)文字“オ”が入力されると 状態遷移テーブルの内容から、状態1より状態2へ状
態が移動する。 (6)文字“ー”が入力されると 状態遷移テーブルの内容から、状態2より状態3へ状
態が移動する。 (7)文字“ン”が入力されると 状態遷移テーブルからは状態3から“ン”で遷移する
遷移先状態番号が得られない。かつ現在の状態は状態0
でないので、出力テーブルが参照され、状態3の出力文
字列 “フォー”、“フォ”、“ホー”及び“ホ” が出力される。その後、状態が0に移り、もう一度入力
文字の“ン”がオートマトンに入力される。ここでは、
状態遷移テーブルから遷移先が得られないので入力文字
の “ン” がそのまま出力される。 (8)入力文字列の最終文字まで来たので、処理を終了
する。こうして展開リストを含む文字列 “イン(タ,ター)(フォー,フォ,ホー,ホ)ン” が得られる。 次に、この見出し文字列探索用オートマトンの生成方
式を第36図を用いて説明する。このオートマトン生成
は、実際に入力文字列が送られてくる前に一度作ってお
けば良い。本図は探索オートマトンの生成方法、すなわ
ち状態遷移テーブル及び出力テーブルの作成方式をPAD
図で表したもので、以下この内容について説明する。ま
ず状態遷移テーブル及び出力テーブルを初期化する。次
に、一つずつルールを取り出しながら変換ルールの終わ
りまで以下の処理を繰り返す。 (1)状態番号を0にセット (2)見出し文字列の終わりまで1文字ずつを取り出し
ながら状態遷移テーブルを作っていく。すなわち状態遷
移テーブルを参照し、取り出した文字列による遷移先が
登録されていれば遷移先状態に移動する。遷移先が登録
されていなければ、新しい状態番号を生成し、状態遷移
テーブルに追加登録する。そして、今の状態を新しい状
態に移動する。さらに出力テーブルに状態0から今の状
態へ遷移させてきた文字列を登録する。 (3)見出し文字列の全文字について(2)の処理が終
了した後、出力テーブルの現在の状態番号と、変換ルー
ルの展開文字列リストを登録する。 具体的な処理の流れを2つの変換ルール 〔“フォー”→ (“フォー",“フォ",“ホー",“ホ”)〕 と 〔“フォ”→ (“フォー",“フォ",“ホー",“ホ”)〕 を使って説明する。 まず1番目の変換ルールの見出し文字列 “フォー” について処理する。 (1)文字“フ”の入力 状態遷移テーブルは最初初期化されているため、遷移
先状態番号は一つも登録されていない。従って新しい状
態番号1を生成し、状態を1に移動する。そして、出力
テーブルに状態0から状態1への遷移を引き起こす文字
列 “フ” を状態番号1の出力として登録する。 (2)文字“オ”の入力 状態遷移テーブルに今の状態1からの遷移先は定義さ
れていない。従って新しい状態番号2を生成し、状態を
2に移動する。そして出力テーブルに状態0から状態2
に至るまでの文字列 “フォ” を状態番号2の出力として登録する。 (3)文字“ー”の入力 状態遷移テーブルに今の状態2からの遷移先は定義さ
れていない。従って新しい状態番号3を生成し、状態を
3に移動する。そして出力テーブルに状態0から状態3
に至るまでの文字列 “フォー” を状態番号3の出力として登録する。また、これで見出
し文字列の最終文字であるので、変換ルールの展開文字
列リスト (“フォー",“フォ",“ホー",“ホ”) を、先に登録した出力文字列 “フォー” を入れ替える形で、状態3の出力として出力テーブルに
登録する。 次に2番目の変換ルールを見出し文字列 “フォ” について処理を実行する。処理に先立ち、状態は0に戻
る。 (4)文字“フ”の入力 先に登録した状態遷移テーブルを参照して、遷移先の
状態番号1を得、状態を1に移動する。 (5)文字“オ”の入力 状態遷移テーブルを参照して、遷移先の状態番号2を
得、状態を2へ移動する。出力テーブルに状態2の出力
は既に登録されているが、見出し文字列の最終であるの
で、出力テーブルに状態2の出力として既に登録されて
いる。 “フォ” を、変換ルールの展開文字列リスト (“フォー",“フォ",“ホー",“ホ”) に書き換える。 以上の処理により、上記二つの変換ルールを探索する
オートマトンを作成することができる。具体例で示した
2つの変換ルール以外についても、これと全く同様の手
順でオートマトンにすることができる。 以上、例で説明してきたカタカナ異表記展開用の変換
ルールテーブルの詳細を第37図に示す。この他、変換ル
ールテーブルの作成には、カタカナ文字列の類似音節表
記に関してその表記の原則を定めた「昭和29年国語審議
会報告 外来語の表記」を利用することができる。すな
わち上記報告書ではカタカナ文字列の異表記が示され、
その表記を統一化するための原則が述べられているが、
これを逆に利用して変換ルールを作成することができ
る。 今までカタカナ文字列の異表記展開について例をあげ
て説明してきたが、漢字文字列の異表記展開について
も、漢字文字列用の変換ルールテーブルを用いるだけで
全く同じ処理で実現できる。漢字の新旧字体に関する異
表記展開用の変換ルールテーブルの例を第38図に示し、
送りがなに関する異表記展開ルールの例を第39図に示
す。 また、第37図から第39図に示した異表記展開ルールテ
ーブルは、必要に応じて追加修正が可能であり、従って
ユーザの望む異表記展開が可能となる。 以上が漢字異表記展開部3004、カタカナ異表記展開部
3005の処理の詳細である。 次にローマ字の異表記展開に関する説明をする。本実
施例では、ローマ字の異表記展開をするのに、ローマ字
で入力された文字列を一旦カタカナ文字列へ変換した
後、これをカタカナ異表記展開し、もう一度カナローマ
字変換によりローマ字に戻すという方法を採っている。
従って、ローマ字の異表記展開に関する部分は、第30図
のローマ字カナ変換部3003とカナローマ字変換部3007の
2つとなる。 まずローマ字カナ変換部の処理内容について説明す
る。アルファベット文字列が入力されると、まずローマ
字カナ変換が行われる。ローマ字カナ変換部3003では、
第40図に示すようなローマ字とカタカナの対応表を用い
て、ローマ字カナ変換が行われる。同図において、例え
ば1番目のレコードでは ローマ字の“A"がカタカナの“ア” に対応することを示している。ローマ字の項目中に複数
個の文字列が並んでいるレコードに関しては、複数個並
んでいる全ての文字列がカタカナの項目に対応している
ことを示している。例えば、ローマ字の “SYA"及び“SHA" が、カタカナの “シャ” に対応する。これらは、それぞれローマ字の訓令式表記
法と、ヘボン式表記法に対応している。従って、このロ
ーマ字カナ変換部3003では訓令式でもヘボン式でもある
いはこれらの混合したような表記法に文字列でもカタカ
ナへ変換されることになる。変換方法は、前述した漢字
異表記展開、カタカナ異表記展開と同様である。すなわ
ち、入力文字列と対応表のローマ字文字列を最長一致で
探索して、順次対応するカタカナ文字列に置き換えてい
く。もし、対応するローマ字文字列が対応表に見つから
ないときには、入力文字列はローマ字でないと判断し、
カタカナ文字列の出力を行なわない。 次にカナローマ字変換部3007の説明をする。ここでも
第40図の対応表をそのまま用いる。こんどは逆に入力文
字列と対応表のカタカナ文字列とを最長一致でマッチン
グを取りながら順次ローマ字へ入力文字列を置き換えて
いく。前述の “シャ” の例のように対応するローマ字表記が複数個するときに
は、該当部分を部分文字列のリストとして置き換えてい
く。すなわち、カタカナの入力文字列に対し、異表記展
開の処理と同様に展開リストを含む文字列に展開し、そ
の展開リストの部分を組み合せることによってローマ字
異表記展開の結果を得ることができる。これを “シシャモ” というカタカナ文字列が入力された場合を例にして説明
する。この時、入力文字列 “シシャモ” に対してカタカナローマ字対応表のマッチング処理によ
り、 “(SI,SHI)(SYA,SHA)MO" という展開リストを含む文字列が得られる。従って、展
開リストの組み合せにより、 1)“SISYAMO" 2)“SISHAMO" 3)“SHISYAMO" 4)“SHISHAMO" という4種類のローマ字異表記文字列が得られることに
なる。 以上が異表記展開方式の処理に関する説明である。 これまで、説明してきた異表記展開の実施例において
は、漢字ひらがな文字列、カタカナ文字列、ローマ字文
字列、及びアルファベット文字列の全てについて展開処
理を行っているが、これらの処理を選択的に行うことも
可能である。すなわち、異表記展開後の出力文字列の種
類を、 1)漢字ひらがな文字列 2)カタカナ文字列 3)ローマ字文字列 4)アルファベット文字列 のいずれかもしくは、これらの混合した文字列を異表記
展開結果として出力するように制御することができる。
こうして、異表記展開を文字種毎に選択可能にすること
により、むだな展開処理を省き、かつユーザの要求に応
じた検索処理が可能となる。 以下、この異表記展開結果の文字種制御方法について
説明する。 この出力文字種の制御は第41図に示すように、第30図
の実施例の構成に更にアルファベット文字列3034の出力
制御を行うスイッチa3008、及びカタカナ文字列群3042
の出力制御を行うスイッチb3009を設けることで実現す
る。また、漢字異表記展開部3004、カタカナ異表記展開
部3005、カナローマ字変換部3007、スイッチa30008、及
びスイッチb3009の出力を制御する制御信号線3061、306
2、3063、6034、3065をそれぞれ設ける。そして、ユー
ザが設定する異表記展開結果出力文字種の指定モードに
より該制御信号をON,OFFすることでモードに応じた異表
記展開を実現する。例えば、ローマ字異表記展開が不要
な場合にはカナローマ字変換部3007の制御信号3063をOF
Fして出力を止める。このような展開モードによる各変
換部、展開部、スイッチの制御信号の組み合せを第42図
に示す。図において、展開モードはそれぞれ c:漢字及びひらがな異表記展開 k:カタカナ異表記展開 r:ローマ字異表記展開 a:アルファベット異表記展開 を実施し、出力することを示している。複数文字では複
数の異表記の出力指定を表す。例えば展開モード ‘cka' は漢字ひらがな、カタカナ及びアルファベットの各異表
記を異表記展開結果として出力するモードであることを
表す。また、表中の○は該当モジュールが文字列を出力
することを示す。逆に○がついていないところは、文字
列を出力しない。例えば、 ‘cka' という文字列展開モードでは、ローマ字カナ変換部300
3、漢字異表記展開部3004、カタカナ異表記展開部3005
が展開文字列を出力し、スイッチa3008、及びスイッチb
3009が入力文字列を通すが、カナローマ字変換部3007は
文字列を出力しないことを示す。 最後に同義語展開処理について説明する。 同義語展開処理部2803は、第43図に示すような同義語
辞書を持つ。図において、レコード番号とは、辞書中の
各見出し文字列に付与されている一連番号である。各見
出し文字列には、それぞれ同位語、上位語、下位語、関
連語が定義されている。同図の同位語、上位語、下位
語、関連語の項目に記述されている番号は全て同辞書の
レコード番号を示す。例えば見出し “計算機” は、同位語としてレコード番号2および3、すなわち “コンピュータ”と“情報処理装置” を持っていることを表している。同義語展開では辞書中
のどの項目を用いて展開するか、第28図の同義語展開モ
ード制御信号2810によりユーザがモードを設定できるよ
うにしている。設定可能なモードは次の通りである。す
なわち、 u:同位語を使った展開 b:上位語を使った展開 n:下位語を使った展開 r:関連語を使った展開 およびu,b,n,rの各モードを組み合せた展開ができるよ
うにしている。 同義語展開の処理は、同義語展開部への入力文字列中
に存在する辞書の見出し文字列を探索することによって
行う。すなわち、異表記展開処理における変換ルールの
見出し文字列の探索の場合と同様に、入力文字列の先頭
から最長一致により見出し文字を探索する。そして、同
位語展開の場合には入力文字列において照合された部分
文字列を、順次同位語文字列のリストで置き換えてい
く。この際、照合した見出し文字列をも加えて書き替え
を行う。上位語展開、下位語展開、関連語展開の場合に
は、入力文字列と見出し文字列が完全に一致した場合に
限って、上述の書き換え出力を行う。すなわち、入力文
字列中で部分的に一致しただけでは、展開を行わない。
これは、上位語展開、下位語展開、関連語展開において
部分的な文字列の置き換えは意味のない単語を作ってし
まうためである。 同位語展開の処理を例を用いて説明する。 入力文字列が “大型計算機” とすると、同義語辞書の見出し文字列探索を行うことに
より、入力文字列の3文字目から見出し文字列 “計算機” が照合する。同義語辞書のレコード番号1の “計算機” から、同位語としてレコード番号2の “コンピュータ” とレコード番号3の “情報処理装置” が同位語リスト (“計算機",“コンピュータ",“情報処理装置”) として得られる。入力文字列の該当部分をこのリストで
置き換えることにより、異表記展開処理の場合と同様
に、展開リストを含む文字列 “大型(計算機,コンピュータ,情報処理装置)” が得られる。この展開リストを組み合せて(この場合は
一つしかリストがないが (1)“大型計算機” (2)“大型コンピュータ” (3)“大型情報処理装置” の3つの同位語文字列が得られることになる。 次に上位語展開が処理について例をあげて説明する。 入力文字列が “計算機” の場合、同義語辞書の見出し文字列探索で入力文字列と
見出し文字列 “計算機” が完全一致する。そこで、上位語としてレコード番号4
の “電子機器” が出力される。この場合には上位語が一つしかないが、
もちろん複数個あってもよい。複数個の上位語が存在す
る場合には、前述のようにリストとして出力する。 下位語、関連語についても上位語展開と全く同じ処理
とする。なお、同義語展開において辞書中に該当する文
字列が存在しないときは同義語展開処理部2803から、何
も文字列が出力されない。 以上同義語展開の処理方法の実施例について説明し
た。ところで同義語展開では、辞書を使用するために辞
書まレコード数が多くなると見出し文字列探索に時間が
掛かることがある。この問題の解決として、辞書の見出
し文字列をインデクステーブルを用いて探索する方法が
ある。第44図にこの方式の概要を示す。同義語辞書は、
予めその見出し文字列にてアルファベット順に並べてお
く。そして、同義語辞書とは別に見出し文字列の第一番
目の文字だけを集め、その文字から始まる見出しが辞書
のどの部分から始まるかを登録したインデクステーブル
を持つ。例えば文字“A"で始まる見出しはレコード番号
1から存在していることを示している。見出し文字列探
索をするときには、まずこのインデクステーブルを参照
し、レコード番号を求め、次にこれに基づいて同義語辞
書にアクセスする。こうすることにより、同義語辞書の
全見出し文字列をスキャンする必要がなくなるため、処
理時間が短縮できる。例えば、文字“計”で始まる文字
列を探索しようとする場合、インデクステーブルによ
り、“計”で始まる文字列が辞書のレコード番号501か
ら存在することがわかる。従って、それ以前の無駄な文
字列探索を省くことがでる。さらに、見出し文字列をア
ルファベット順に並べることにより、見出し文字列の探
索中に先頭文字の異なる見出しまで探索したら後の探索
は省略できる。例えば“計”で始まる見出し文字列を探
索していれば、“計”以外の文字で始まる見出し “情報処理装置” まで探索すれば後の不要な探索をおこなわなくとも済
む。 また、インデクステーブル及び辞書中の同位語などの
記述にレコード番号を用いたが、これを辞書中の位置を
特定するアドレスで記述することにより、辞書へのアク
セスを更に高速化できる。アドレスとは、辞書の該当す
る見出し文字列が存在する最初の位置を示すもので、例
えば辞書の先頭からのバイト数がある。こうすることに
より、辞書へのアクセスが直に特定できるため、レコー
ド番号を指定するよりも更に高速化が可能となる。 ここで、第45図から第55図の開示にしたがって、本発
明のオートマトンの実施例について説明する。 異表記検索用のオートマトンについては第46図の集合
許容形オートマンの状態遷移図を用いた場合の作用につ
いて説明する。以後、集合許容形オートマトンをオート
マトンと略して説明を行なう。同図のオートマトンは第
5図に示したオートマトンと同様に“インタフェース”
の異表記である“インターフェース",“インタフェイ
ス",“インターフェイス",“インターフェイス",“イン
タフェース",“インターフェース",“インターフェー
ス",“インターフェース”を含む9語の検索タームを検
索するためのものである。 これらを、第46図下の複合語表現文字列(式1)で表
すことができる。“フェー”の異表記である について説明する。 まず、発音異表記により“フェー”が“フェイ”が置
き換えられるので、 と記述することができる。 次に“フェー”の長音が長音異表記で“ー”が“−”
に置き換えられるため と記述できる。 に長音異表記の を適用させることにより が得られる。この複合語表現文字列を用いれば、( )
内の部分文字列は等価なので部分文字列の末尾文字によ
る遷移を同一遷移先状態にまとめることが可能である。 ただし、他の部分文字列の遷移の中に含まれてしまう
場合、例えば の場合は、次の遷移文字の“フ”の遷移の遷移元状態が
“タ”の遷移先状態である状態3と“ター”および“タ
ー”の遷移先状態である状態4であるので、これらの2
ヶ所を遷移元状態とする遷移を記述し、遷移先状態を状
態5とする。 このように遷移をまとめることにより、第5図のオー
トマトンと比べ状態数を約3分の1と大幅に減らすこと
ができている。 ここで用いたオートマトンの作成方法は引用文献(エ
ー.ブイ.エーホ アンド エム.ジェイ.コラッシッ
ク:“エフィシェント ストリング マッチング,コミ
ュニケーションズエー シー エム,第18巻,第6号,1
975年,A.V.Aho and M.J.Corasick:“Efficient String
Matching",CACM,VOL.18,No.6,1975)に開示されてい
る。このオートマトンは上記のコンカレントステートオ
ートマトン方式により制御される。以下、その内容を具
体的に説明する。 次に、オートマトンの状態遷移制御方法について説明
する。本方法は「フェイル処理」を用いずに状態遷移を
制御しようとするものである。すなわち、「フェイル処
理」を行なう代わりに、複数のトークンを用いることに
よってオートマトンの状態遷移を表わそうとするもので
ある。 これまで述べてきたオートマトン方式では、オートマ
トンの状態遷移図は、初期状態を除いてアクティブな状
態、すなわち、照合途中を示す遷移状態(トークンが置
かれた状態)が唯1個だけという条件のもとに作成され
たものである。その結果、照合途中で入力文字との不一
致が生じた場合には、トークンの動きが不連続になるた
め「フェイル処理」を行なわなければならなくなる。 本方法においては、アクティブな状態が発生する度に
トークンを生成し、照合途中で不一致が生じた場合には
トークンを消滅させるという方法を取ることにより、フ
ェイル処理を不要にしている。従って、入力文字列によ
っては、状態遷移図上に複数のトークンが同時に存在す
ることにもなる。その意味で、本方法をコンカレントス
テートオートマトン方式と呼ぶことにする。 本方法によれば、「フェイル処理」を用いずに済むた
め、オートマトン作成時においてもフェイル先状態の計
算が不要な文字列検索装置を実現することができる。 まず、始点状態におけるトークン生成方法について説
明する。始点状態では入力文字が入る度に照合を行な
う。遷移文字と照合した場合、新たなトークンを生成
し、このトークンを始点状態から遷移先状態へ移動させ
る。ただし、始点状態から始点状態への状態遷移の場合
には、トークンを生成しない。したがって、始点状態か
ら始点状態への遷移は無効となるため、この遷移を省略
することも可能である。 次に、例えば“インタフェイス”という文字列が1文
字づつ入力された場合についてオートマトンの動作を説
明する。 まず、“イ”が入力されると、始点状態での照合が一
致しトークン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に
達すると、“インタフェイス”という文字列を検索した
ことになる。 このように複数のトークンを用いて状態遷移を制御す
ることにより、オートマトンの状態数が約3の1と少な
くて済む異表記許容検索を実現することができる。 固定長don't care文字を検索タームに指定した固定
長don't care文字指定検索の処理方法について説明す
る。 オートマトンは第47図のものを用いる。本図は第7図
と同様に“A?B"を検索する場合のオートマトンであり、
集合遷移を採用した上記方法を用いることにより状態数
を第7図に比べて約150分の一と少なく実現できてい
る。 本オートマトン作成方法は前述の異表記のオートマト
ン作成方法と同様である。 例えば、“AXB"という文字列が入力された場合の本方
法の動作について説明する。 まず、“A"が入力されると始点状態で照合が一致する
ためトークンT1が新たに生成され、状態1へと移動す
る。次に“X"が入力されると、トークンT1は状態1から
状態2に移動する。また、始点状態での照合が不一致な
ので新たなトークンT1は状態2から状態3に移動する。
同時に、始点状態での照合が不一致なので新たなトーク
ンは生成されない。次に“B"が入力されると、トークン
は生成されない。状態3は2重円で記されており、ここ
では“A?B"が検索されたことになる。 このように複数のトークンを用いて状態遷移を制御す
ることにより、異表記許容検索と同様に、オートマトン
の状態数が約150分の1と少なくて済む固定長don't ca
re文字指定検索を実現することができる。 上限距離、下限距離や上下限距離などの文字距離を指
定した距離指定検索のオートマトン方式による処理方法
について述べる。 まず、上限指定の距離指定の実現方法を以下に説明す
る。ここでは“A"と“B"の距離が4文字以内の距離とい
う上限距離指定がされている場合を例にする。上限距離
指定は固定長don't care文字で表すことができ、この
例は“A"と“B"の距離が4文字以内の距離という上限距
離指定の場合は、“AB",“A?B",“A??B",“A???B",“A?
???B",の5つのキーワードで表すことができる。 これらのキーワードからのオートマトン作成方法を以
下に説明する。まず、“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図のオー
トマトンが得られる。本オートマトン作成方法は前述の
固定長don't care文字のオートマトン作成方法と同様
である。 次に、例えば“ABCBBBC"という文字列が1文字づつ入
力された場合についてオートマトンの動作を説明する。
まず、“A"が入力されると、始点状態での照合が一致し
トークンが生成され状態1へ移動する。“B"が入力され
るとトークンは状態7へ移動し、“A"と“B"が隣接して
いる“AB"を照合する。さらに、“C"が入力されるとト
ークンは状態3へ移動する。次に、“B"が入力されるト
ークンは状態9へ移動し、“A"と“B"が2文字の距離に
ある“ABCB"を照合する。 次に、“B"が入力されるとトークンは状態10へ移動
し、“A"と“B"が3文字以内の距離にある“ABCBB"を照
合する。次に、“B"が入力されるとトークンは状態6へ
移動し、“A"と“B"が4文字の距離にある“ABCBBB"を
照合する。さらに、“C"が入力されると状態6において
トークンの遷移先がないためトークンは消滅する。 以上のことから、“ABCBBC"から“A"と“B"が4文字
以内の距離にある検索タームである“AB",“ABCB",“AB
CBB",および“ABCBB"が照合されていることが分かる。
すなわち、“AB",“A??B",“A???B",および“A????B"が
探索できていることが示されている。 このオートマトンの場合も固定長don't care文字の
場合と同様にトークンを制御することにより、上限指定
の距離指定検索を実現することができる。 次に、下限指定の距離指定の実現方法を以下に説明す
る。ここでは“A"と“B"の距離が2文字以上の距離とい
う下限距離指定がされた場合を例にする。下限距離指定
では上限距離が無限大となるためdon't care文字で表
わすことができない。つまり、“A"と“B"の距離が2文
字以上の距離という下限距離指定の場合は、固定長don'
t care文字で表すと“A??B",“A???B",“A????B",…と
なりキーワード数が無限大になるためである。 この問題を解決する方法を第49図のオートマトンで説
明する。 まず、下限距離を固定長don't care文字で表したキ
ーワードでオートマトンを作成する。このオートマトン
の作成方法は固定長don't care文字の場合と同様であ
る。ここでは下限距離は2なので、“A??B"を検索ター
ムとしてオートマトンを作成する。次に、下限距離だけ
遷移した状態(この例では状態3)を仮の始点とし、こ
の始点状態以降につながる状態についてオートマトンを
作成する。このオートマトンは、全ての入力文字に対し
て遷移を記述する従来方式1を用いて作成できる。この
ようにして、上限距離が無限大の場合でもオートマトン
を作成することができることになる。 オートマトンの作成方法は前述した上限距離指定のオ
ートマトンの場合と同様である。 次に、例えば“ACDEFB"という文字列が1文字づつ入
力された場合のオートマトンの動作について説明する。
まず、“A"が入力されると、始点状態での照合が一致し
トークンが生成され状態1へ移動する。 “C"が入力されるとトークンは状態2へ移動する。さ
らに、“D"が入力されると“B"以外の文字ということで
トークンは状態3へ移動する。次に、“E"が入力される
とトークンは状態3でループする。 次に、“F"が入力されると同時にトークンは再度状態
3でループする。さらに“B"が入力されるとトークンは
状態4へ移動する。状態4は、2重丸の状態なので、
“A"と“B"が2文字以上離れた距離にある文字列が照合
されたことを示している。 すなわち、“ACDEFB"を“A"と“B"が2文字以上、す
なわち4文字離れた距離にある文字列として探索できて
いることが分かる。 次に、下限距離指定を用いたキーワードに可変長don'
t care文字“*”を指定した検索の方法について説明
する。 可変長don't care文字“*”は、下限距離に0を指
定した場合の距離指定を用いて実現することができる。
すなわち、“AB"*CD"は“AB"と“CD"の距離が0文字以
上の距離という下限距離指定に置き換えることができ
る。この場合のオートマトンは第50図のようになる。こ
のように可変長don't care文字を指定した検索も下限
距離指定と同様に実現することができる。 オートマトンの作成方法および動作は前述した下限距
離指定のオートマトンの場合と同様である。 最後に、上下限指定の距離指定の実現方法を以下に説
明する。ここでは“A"と“B"の距離が2文字以上で、か
つ、4文字以下の距離という上下限距離指定を例にす
る。上下限距離指定は固定長don't care文字で表すこ
とができ、この例の“A"と“B"の距離が2文字以上、4
文字以内の距離という場合には、“A?B",“A??B",“A??
?B",“A????B"の4つのキーワードで表すことができ、
これらから固定長don't care文字の場合と同様に第51
図に示すオートマトンを作成することができる。 オートマトンの作成方法および動作は前述した下限距
離指定のオートマトンの場合と同様である。 1文字誤りを許容した検索である1文字誤り許容検索
の処理方法について説明する。 キーワードに“ABCD"を指定した場合の例について説
明する。この例ではキーワードとしては誤りなしの場合
として“ABCD"について、1文字削除として“ABC",“AB
D",“ACD",“BCD"について、1文字相違として“A?CD",
“AB?D",“ABC?"について、1文字挿入として“A?BCD",
“AB?CD",“ABC?D",“ABCD?"についてオートマトンを作
成する。これらを複合語表現文字列にすると と表すことができる。これに基づいて固定長don't car
e文字の文字と同様に第52図に示すオートマトンを作成
することができる。 オートマトンの作成方法および動作は前述した上下限
距離指定のオートマトンの場合と同様である。 1文字入れ替わりを許容した検索である1文字入れ替
わり許容検索の処理方法について説明する。 キーワードに“ABCD"を指定した場合の例について説
明する。この例ではキーワードとしては誤りなしの場合
としてABCD"について、1文字入れ替わりとして“BAC
D",“ACBD",“ABCD"についてオートマトンを作成する。
これらを複合語表現文字列にすると、 と表すことができる。これにこれに基づいて固定長don'
t care文字の場合と同様に第53図に示すオートマトン
を作成することができる。 オートマトンの作成方法および動作は前述した一文字
誤り許容のオートマトンの場合と同様である。 以上のように本発明によれば、少ない状態数で異表記
検索、固定長don't care文字指定検索、文字距離指定
検索、可変長don't care文字指定検索、1文字誤り許
容検索、1文字入れ替わり許容検索などの検索機能を実
現するオートマトンを作成することができる。したがっ
て、オートマトンの作成時間も短縮でき、状態遷移テー
ブルもコンパクトにできるためハードウェア量の少ない
文字列検索装置を実現することが可能となる。 以下、上記文字列検索方法を用いた第10図のサーチエ
ンジン1106に相当する文字列検索装置の実施例について
述べる。 本実施例の構成を第45図に示す。本実施例の構成は、
文字コードと状態番号を入力することにより次状態信号
を出力する状態遷移テーブル220と、状態番号を入力す
ることにより照合したか否かの照合結果IDを出力する照
合結果テーブル260、トークンの消滅を制御するセレク
タ262、トークンの消滅制御情報として移動先の状態が
ないトークンか否かを判定を行うコンパレータ252、初
期状態番号を格納するレジスタ251および、現状態番号
や次状態番号を格納するバッファ280とバッファ281など
から成っている。 本実施例を用いたオートマトンの状態遷移動作を下記
に説明する。第45図において所定の文字列記憶手段から
読み出された文字列301は1文字づつレジスタ211に格納
される。レジスタ211から出力される文字コード302は、
本発明によるオートマトンの遷移表が格納されている状
態遷移テーブル220にアドレス情報として入力される。
状態遷移テーブル220では現在の状態番号305と文字コー
ド302から次に遷移するべき遷移先状態番号303を出力す
る。次状態番号が初期状態番号であるとき、オートマト
ンの遷移が記述されていないことを表している。このた
め次状態番号が初期状態番号であるとき、トークンを消
滅させる必要がある。次状態番号303はレジスタ250に格
納された後、セレクタ262及びマルチプレクサ260を経由
しバッファ280またはバッファ281のいずれか選択されて
いる方に格納される。このとき、セレクタ262ではトー
クンを消滅させるか否かを制御している。このトークン
を消滅させるか否かの判定は次状態番号303がレジスタ2
51に格納されている初期次状態番号(この例では、状態
番号0)と異なるか否かをコンパレータ252で調べるこ
とにより実現している。 すなわち、次状態番号303が初期状態番号である場合
はトークンが移動すべき状態がないことを示しているた
め、セレクタ262では次状態番号303を選択しない。この
ため次状態番号303はマルチプレクサ260には送られず、
トークンは消滅することになる。 逆に次状態番号303が初期状態番号でない場合、トー
クンが移動すべき状態があることを示しているため、セ
レクタ262では次状態番号303を選択してマルチプレクサ
260に送られ、トークンは消滅されない。 このように、次状態番号303が初期状態番号の場合は
トークンを消滅させることによって、初期状態番号のト
ークンがバッファ280およびバッファ281に溜り、冗長な
トークンがバッファ280およびバッファ281に溜り、冗長
なトークンがバッファ280およびバッファ281内に存在
し、オーバーフローするという問題を解決できることに
なる。 バッファ280とバッファ281は、それぞれデータの読取
り用と書込み用の2面バッファとして用い、高速処理を
実現している。この2つのバッファは1つにまとめ回路
規模を小さくすることも可能である。ただし、処理速度
は低下することになる。バッファ280及びバッファ281に
は初期値として始点次状態番号を先端アドレスに設定し
ておく。バッファ280及びバッファ281に送られてきた次
状態番号303は始点状態の次のアドレスから格納する。
現状態番号305はセレクタ261で選択されているバッファ
280及びバッファ281のいずれかから逐次読み出され、全
て読み出されたときに読出し終了信号307を発生する。
マルチプレクサ260とセレクタ261は同期しており、選択
動作についてはマルチプレクサ260がバッファ280を選択
しているときはセレクタ261はバッファ281を選択してい
る。また、マルチレクサ260がバッファ281を選択してい
るときはセレクタ261はバッファ280を選択する。バッフ
ァ280及びバッファ281の選択の切り替えは、セレクタ26
1が選択したバッファ280または281のいずれかの読出し
終了信号307の発生のタイミングで行われる。状態遷移
テーブル220には第55図に示した状態遷移表を格納す
る。これは第46図のオートマトンに対応したものであ
る。レジスタ211は通常は、レジスタ250と同期して文字
列データを取り込むが、読出し終了信号が発生するまで
文字列データを保持し、現状態番号が全て読み出される
まで次の入力を待つことになる。検索結果テーブル260
には文字列の終点となる終点状態に対応して各検索ター
ムを識別するための所定のコードが格納されている。第
46図のオートマトンに対応した検索結果テーブル260の
内容を第55図に示す。検索ターム番号が0以外の内容の
とき有効な検索ターム番号を表している。すなわち、状
態番号に対応した検索ターム番号が0以外のとき照合結
果として第10図の複合条件判定手段1145へ送られる。以
上の動作が第46図に示したオートマトンを実行する形
で、入力文字列を構成する各文字ごとに繰返し行われる
ことにより検索処理が実現される。 入力文字列が入力された場合、例えば、“インタフェ
イス”という文字列が入力された場合の本方式の照合動
作について説明する。 まず初期設定として、以下の処理を行なう。 状態遷移テーブル220には第54図に示した状態遷移表
を、また、検索結果テーブル260には第55図の検索結果
表を格納する。これらのテーブルは、第46図のオートマ
トンに対応したものである。 バッファ280及びバッファ281には初期値として始点状
態番号である0を先頭アドレスに格納する。レジスタ25
0、レジスタ251には初期状態番号である0を格納する。
マルチプレクサ260はバッファ281を選択し、セレクタ26
1はバッファ280を選択する。したがって、次状態番号30
3は始点状態番号である0となる。 次に、これらの初期設定に基づいた照合動作について
説明する。 まず、1文字目の“イ”がレジスタ211に格納され
る。すると、文字コード302と現状態番号305をアドレス
として状態遷移テーブル220より次状態番号1が読み出
され、レジスタ250に格納される。このとき現状態番号3
05は0となっている。 コンパレータ252はレジスタ251に格納されている初期
状態番号である0とレジスタ250に格納されている次状
態番号303である1を比較する。等しくないのでセレク
タ262は次状態番号3303を選択する。このことは、状態
0から状態1に遷移文字“イ”による遷移が記述されて
いることを示している。 状態1における検索結果テーブル260の検索ターム番
号は0であるので照合結果306は出力されない。このこ
とは、状態1に照合結果が格納されていないことを示し
ている。 マルチプレクサ260では、バッファ281が選択されてい
るので、バッファ281に次状態番号である1が、始点状
態番号に続く2つめの次状態番号として格納される。バ
ッファ280から全ての現状態番号が読み取られたので、
終了信号307が発生する。 これによりマルチプレクサ260はバッファ280を選択
し、セレクタ261はバッファ281を選択することになる。
すなわち、バッファ内の2つの次状態番号が現状態番号
として、次の文字に対する遷移に用いられることにな
る。 これらの動作をオートマトンの状態遷移としてみる
と、まずバッファ280に格納されている現状態番号であ
る状態0において遷移文字“イ”が記述されているかの
照合が行なわれている。次に、遷移が記述されてなけれ
ば次の現状態番号の処理が行なわれ、遷移が記述されて
いる場合、バッファ281に次状態番号が格納され、同時
に照合結果が格納されているか、照合結果テーブルの次
状態番号で示されるアドレスに有効なタームIDが格納さ
れているチェックすることにより調べられている。この
場合では遷移が記述されているので、次状態番号である
場合1がバッファ281に格納されており、照合結果テー
ブルを調べたところ結果は格納されていないため照合結
果は出力されない。 次に2文字目の“ン”がレジスタ211に読み込まれ
る。すると、文字コード302と現状態番号305をアドレス
とする状態遷移テーブル220より次状態番号である0が
出力され、レジスタ250に格納される。 コンパレータ252はレジスタ251に格納されている初期
状態番号である0とレジスタ250に格納されている次状
態番号である0を比較する。等しいのでセレクタ262で
は次状態番号303は選択されない。このため次状態番号3
03は、バッファ280に格納されない。このことは、状態
0には遷移文字“ン”による遷移が記述されていないこ
とを示している。 本方式ではこのように制御することにより、始点状態
から始点状態への遷移におけるトークンの生成を防いで
いる。 次に、バッファ281より第2の状態番号1が読み出さ
れ、文字コード302と次状態番号である1をアドレスと
して状態遷移テーブル220より次状態番号2が出力さ
れ、レジスタ250に格納される。コンパレータ252はレジ
スタ251に格納されている初期状態番号である0とレジ
スタ250に格納されている次状態番号303である2を比較
する。等しくないのでセレクタ262は次状態番号303を選
択することになる。このことは、状態1から状態2に遷
移文字“ン”による遷移が記述されていることを示して
いる。 状態2における検索結果テーブル260の検索ターム番
号は0であるので照合結果306は出力されない。このこ
とは、状態2に照合結果が格納されていないことを示し
ている。 また、マルチプレクサ260では、バッファ280を選択し
ているので、バッファ280に次状態番号303である2が始
点状態番号に続く2つめの次状態番号として格納され
る。 バッファ281からは全ての現状態番号を読み取られた
ので、終了信号307が発生する。 これによりマルチプレクサ260はバッファ281を選択
し、セレクタ261はバッファ280を選択することになる。
すなわち、バッファ280内の2つの次状態番号が2つの
現状態番号として、次の文字に対する遷移に用いられる
ことになる。 これらの動作をオートマトンの状態遷移としてみる
と、まずバッファ281に格納されている現状態番号であ
る状態0において遷移文字“ン”が記述されているかの
照合を行なっている。この場合記述されてないので次の
現状態番号である状態1について同様に照合を行う。状
態2への遷移が記述されているので、状態2は次状態番
号としてバッファ280に格納される。また、状態2には
照合結果が格納されてないので、照合結果は出力されて
いない。 次に3文字目の“タ”も2文字目と同様の照合処理と
なるので説明を簡略する。まず、バッファ280に登録さ
れている、現状態番号である状態0における照合動作を
行なうこの場合記述されていないので次の現状態番号で
ある状態2について同様に照合を行なう。状態3への遷
移が記述されているので、状態3が次状態番号としてバ
ッファ280に格納される。また、状態3には照合結果が
格納されてないので、照合結果は出力されない。 次に4文字目の“フ”も3文字目と同様の照合処理と
なるので説明を簡略する。まず、バッファ281に登録さ
れている、現状態番号である状態0における照合動作を
行なう。この場合記述されていないので次の現状態番号
である状態3について同様に照合を行なう。状態4への
遷移が記述されているので、状態4が次状態番号として
バッファ280に格納される。また、状態4には照合結果
が格納されてないので、照合結果は出力されない。 次に5文字目の“エ”も4文字目と同様の照合処理と
なるので説明を簡略する。まず、バッファ280に登録さ
れている、現状態番号である状態0における照合動作を
行なう。この場合記述されていないので次の現状態番号
である状態4について同様に照合を行なう。状態5への
遷移が記述されているので、状態5が次状態番号として
バッファ281に格納される。また、状態5には照合結果
が格納されてないので、照合結果は出力されない。 次に6文字目の“イ”がレジスタ211に読み込まれ
る。このステップではトークンが2つから3つに増加し
ているので詳細に説明する。 文字コード302と次状態番号である0をアドレスとす
る状態遷移テーブル220より次状態番号として1が出力
され、レジスタ250に格納される。コンパレータ252はレ
ジスタ251に格納されている初期状態番号である0とレ
ジスタ250に格納されている次状態番号である1を比較
する。この場合、等しくないのでレクタ262は次状態番
号303を選択する。状態1における検索結果テーブルの
キーワード番号は0であるので照合結果306は出力され
ない。マルチプレクサ260では、バッファ280が選択され
ているので、バッファ280に次状態番号である1が始点
状態番号に続く2つめの次状態番号として格納される。 次に、バッファ281より第2の次状態番号6が読み出
され、文字コード302と次状態番号である6をアドレス
とする状態遷移テーブル220より次状態番号として7が
出力され、レジスタ250に格納される。コンパレータ252
はレジスタ251に格納されている初期状態番号である0
とレジスタ250に格納されている次状態番号である7を
比較する。この場合、等しくないのでセレクタ262は次
状態番号を選択する。状態7における検索結果テーブル
のキーワード番号は0であるので照合結果306は出力さ
れない。マルチプレクサ260では、バッファ280が選択さ
れているので、バッファ280に次状態番号である7が3
つめの次状態番号として格納される。バッファ281から
は全ての現状態番号が読み取られたので、終了信号307
が発生する。 これによりマルチプレクサ260はバッファ281を選択
し、セレクタ261はバッファ280を選択することになる。
すなわち、バッファ280内の3つの次状態番号が3つの
現状態番号として、次の文字に対する遷移に用いられる
ことになる。 次に7文字目の“ス”の照合処理に入るがレジスタ21
1に読み込まれる。すると、文字コード302と次状態番号
である0をアドレスとする状態遷移テーブル220より次
状態番号として0が出力され、レジスタ250に格納され
る。コンパレータ252はレジスタ251に格納されている。
初期状態番号である0とレジスタ250に格納されている
次状態番号である0を比較する。この場合、等しいので
セレクタ262では次状態番号303が選択されない。このた
め次状態番号は、バッファ281に格納されないことにな
る。 次に、バッファ281より第2の次状態番号である1が
読み出され、文字コード302と次状態番号である0をア
ドレスとする状態遷移テーブル220より次状態番号とし
て0が出力され、レジスタ250に格納される。コンパレ
ータ252はレジスタ251に格納されている初期状態番号で
ある0とレジスタ250に格納されている次状態番号であ
る0を比較する。この場合、等しいのでセレクタ262で
は次状態番号が選択されない。このため次状態番号は、
バッファ281に格納されないことになる。 本実施例では、このように制御することによりトーク
ンの消滅を実現している。 さらにバッファ281より第3の次状態番号である7が
読み出され、文字コード302と次状態番号である7をア
ドレスとする状態遷移テーブル220より次状態番号とし
て8が出力され、レジスタ250に格納される。コンパレ
ータ252はレジスタ251に格納されている初期状態番号で
ある0とレジスタ250に格納されている次状態番号であ
る8を比較する。この場合、等しくないのでセレクタ26
2では次状態番号303が選択される。 状態8における検索結果テーブル260のキーワード番
号は1であるのでキーワード番号として1が照合結果30
6とし出力される。マルチプレクサ260では、バッファ28
1が選択されているので、バッファ281に次状態番号であ
るの8が始点状態番号に続く2つめの次状態番号として
格納される。 バッファ280からは全ての現状態番号が読み取られた
ので、終了信号307が発生する。 これによりマルチプレクサ260はバッファ280を選択
し、セレクタ261はバッファ281を選択する。すなわち、
2つの次状態番号が2つの現状態番号として、次の文字
に対する遷移に用いられることを示している。 以上のように、トークンを制御することにより“イン
タフェイス”という文字列の検索を実現している。 本実施例によれば、このように複数のトークンを制御
することにより、「フェイル」という概念を必要としな
い文字列検索方式を実現できる。このため、オーマトン
作成時間を短くすることができ、状態数を少なくできる
ため状態遷移テーブルをコンパクトにできるという利点
がある。 次に、第56図から第70図の開示に基づいて、本発明を
実現するのに用いられる磁気ディスク装置の実施例を説
明する。 第57図は集合形磁気ディスク装置の構成を示すもの
で、磁気ディスク装置1を有するn台のデータ記憶装置
15と、データ記憶装置15それぞれに接続する磁気ディス
ク装置1の1シリンダ分の容量を持つ入出力バッファ3
と、データ記憶装置15と入出力バッファ3の制御を行な
うマルチディスクコントローラ4によって構成してい
る。 ここではデータ記憶装置15は1台の磁気ディスク装置
1で構成し、入出力バッファ3は上記磁気ディスク装置
1の1シリンダの容量を持つメモリ1面で構成してい
る。 マルチディスクコントローラ4は、アクセスの対象と
なるファイルのファイルIDを上位機器7から直接設定で
きる通信メモリ5と高速データバス10の制御を行なうマ
ルチプレクスコントローラ8とファイルIDから磁気ディ
スク装置の格納先物理情報を求めるための変換テーブル
である物理情報テーブル6および、それらを制御するマ
スタコントローラ9によって構成している。 上位機器7は集合型磁気ディスク装置に命令を与える
ホストコントローラと入力されるデータの中から指定し
た文字列を検出し、その検出情報を出力する文字列検索
装置により構成している。 本集合型磁気ディスク装置にデータファイルを構成す
るデータベースの構築を行なう前には、データベースの
構造定義処理を行なう。 本集合型磁気ディスク装置では論理的に関連するファ
イルを物理的格納位置が近接するように配置する手段と
して、最初に物理シリンダを階層構造を持つ論理分類ID
に従い割り振っている。複数件のファイルを一度にアク
セスする場合、理論的に関連するファイルを対象にする
ことが多い。そこで、格納位置を近接させることによ
り、磁気ディスク装置のシリンダ間を磁気ヘッドが移動
する距離を短くし、アクセス時間の一部であるシーク時
間を短縮させる。 階層構造を持つ論理類IDに従って物理シリンダの割り
振りは、上位機器7が論理部類IDと該ファイル分類が必
要とする記憶容量の組が集まって構成されるデータベー
ス構造定義情報を通信メモリ5に格納した後、マルチデ
ィスクコントローラ4に対しデータベースの構造定義命
令を発行する。構造定義命令を受けたマルチディスクコ
ントローラ4内のマスタコントローラ9は、通信メモリ
5にセットされたデータベースの構造定義情報に基づい
て、論理分類に物理位置がどう対応するかをマスタコン
トローラ9内のメモリ上に第58A,58B図で示すような構
造の構造定義テーブルを作成する。第58A,58B図は2階
層でそれぞれの階層で2つの分類を持つ例で、磁気ディ
スク装置全体を一台の磁気ディスク装置としてまとめ
て、各分類ごとの格納位置をシリンダの位置で、記憶容
量をシリンダ数で示したものである。 また、データベースの構造定義処理では、マルチディ
スクコントローラ4内のマスタコントローラ9は論理分
類毎に、書き込みファイルの格納先の物理位置を保持す
るために、マスタコントローラ9内のメモリ上に各58A
図に示すような、書き込みファイルの格納先の物理位置
を差し示す格納位置ポインタテーブルを作成する。構造
定義が終了した時点では、格納位置ポインタテーブルは
構造定義で設定した各論理分類の先頭シリンダ、先頭ト
ラック、先頭セクタ、セクタ内先頭位置を示すことにな
る。第59A,B,C,D図では第58A図で示した例の分類でファ
イルを格納した場合の格納位置ポインタ情報を格納して
いる。 次にデータベースの構築について説明する。本集合型
磁気ディスク装置ではアクセスの対象となるファイルを
ファイルID(論理分類IDと論理分類内の個有の番号で構
成)により指定する手段として、ファイルIDを用いた管
理情報を作成している。 上位機7は通信メモリ5に書込み対象となるファイル
のファイルIDとファイルサイズの組が複数件分集まって
構成されるファイル情報を格納した後、マルチディスク
コントローラ4に対し書き込み命令を発行する。書き込
み命令を受けたマルチディスクコントローラ4は、第61
図に示すフローで処理を実行する。マルチディスクコン
トローラ4内のマスタコントローラ9は、通信メモリ5
からファイル情報の中のファイルIDを読み出し、該ファ
イルIDが示すファイルを格納する格納位置を格納位置ポ
インタテーブルから読み出す。 格納位置が求まるとその物理シリンダに書き込める残
り容量が求まる。その残り容量よりもファイル情報のフ
ァイルサイズで与えられるファイルのサイズが小さけれ
ば第60A図に示すようなファイルIDをエントリとする物
理情報テーブル6にその格納位置(ディスク番号,シリ
ンダ番号,トラック番号,セクタ番号,セクタ内位
置)、ファイルサイズ、ディスクまたがり数を書き込
む。ディスクまたがり数は、ファイルが何台の磁気ディ
スク装置1にまたがっているかを表わすもので、処理対
象となっているファイルが、1台の磁気ディスク装置の
1つのシリンダに書き切れなかった場合はファイルを分
割して書き残したファイルを次のディスクに書き込むこ
とになる。このファイル分割した書き残しファイルであ
れば、この値をカウントアップする。物理情報テーブル
6のエントリはファイル情報で与えられるファイルIDで
示される。 物理情報テーブルへの書込みの後、格納位置ポインタ
をファイルサイズ分進める。 ファイルサイズと残り容量が等しい場合は、1台の磁
気ディスク装置1のシリンダがいっぱいになった時で、
その磁気ディスク装置1への書き込み処理を行なう。 残り容量よりもファイルサイズが大きい場合には、残
り容量と分割基準サイズを比べる。分割基準サイズは構
造定義処理で設定する値で、シリンダの残り容量が非常
に小さいにもかかわらずファイルを磁気ディスク装置1
の間にまたがるように格納すると、そのファイルを読み
出すためには2台の磁気ディスク装置1を制御しなけれ
ばならず、その処理分オーバヘッドが大きくなる。そこ
で、ある基準を設定してその基準値よりも残り容量が小
さい場合には次の磁気ディスク装置1のシリンダの先頭
から書き込むようにするものである。 残り容量が分割基準サイズ以上の場合には、物理情報
テーブル6に格納位置、ファイルサイズを格納した後、
残り容量に書き込める分のファイルと書き残した分の書
き残しファイルとに分割する。物理情報テーブル6には
格納物理位置とファイルサイズを書込む。 1シリンダがいっぱいになると物理情を作成した磁気
ディスク装置1は書き込み処理を行なう。書き残しファ
イルはループを戻り、次の処理対象ファイルとなる。 残り容量が分割基準サイズよりも小さい場合には、格
納位置ポインタテーブルを次のシリンダの先頭に進めた
後、処理対象ファイルをそのまま次の処理対象ファイル
としてループを戻り処理を続ける。この時、1シリンダ
がいっぱいとなる物理情報を作成した磁気ディスク装置
は書き込み処理を行なう。 書き込み処理は、マスタコントローラ9がシーク命令
を磁気ディスク装置1に発行し、シーク動作を開始す
る。次に、上位機器7にファイルの転送要求を発行し、
マスタコントローラ9は上位機器7にファイルの転送を
要求するとともに、マルチプレクスコントローラ8を制
御してデータバスを切り換え、転送されてくるファイル
を物理情報で指定する入出力バッファ3へのファイルの
転送を行なう。シーク動作が終了し、ファイルの転送が
終了するとマスタコントローラ9は書込み命令を磁気デ
ィスク装置1に発行し、該磁気ディスク装置1は書き込
み動作を実行する。 上記の動作を繰返しデータベースの構築を行なう。 第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"を所定のシリンダ、トラック,セクタへ書き込み始
める。 この間、他の磁気ディスク装置も図に示すように同様
の処理を行なうことになる。 第62図とこれに関する以上の説明から明らかなよう
に、各磁気ディスク装置はそれぞれ並行して、連続でフ
ァイルの書き込みができ、短時間でデータベースの構築
ができる。 次に、ファイルの読み出し処理について説明する。ま
た、同一磁気ディスク装置の同一シリンダ上に読み出す
ファイルが複数件有る場合に、読み出すファイルの間に
ある読み出し不要のファィルも入出力バッファに一旦読
み出し、上位機器に転送する際に読み出し不要のファイ
ルを削除する手段について説明する。 上位機器7は読み出すファイルのファイルIDが複数件
分集まって構成するファイル情報を通信メモリ5に格納
した後、マルチディスクコントローラ4に対して読み出
し命令を発行する。 読み出し命令を受けたマルチディスクコントローラ4
は、第63図に示すフローで処理を実行する。 マルチディスクコントローラ4内のマスタコントロー
ラ9は、通信メモリ5から最初に読み出すべきファイル
のファイルIDを読み出し、該ファイルIDから該ファイル
が格納されている物理情を物理情報テーブル6により検
索する。このファイルを先ファイル、物理情報を先ファ
イルの物理情報とする。次に、通信メモリ5から次に読
み出すべきファイルのファイルIDを読み出し、該ファイ
ルIDから該ファイルが格納されている物理情報を物理情
報テーブル6により検索する。このファイルを後ファイ
ル、物理情報を後ファイルの物理情報とする。 求めた物理情報から先ファイルと後ファイルが同一シ
リンダに存在するかを調べ、同一シリンダに存在すれば
先ファイルと後ファイルの間に、指定していない読み出
し不要のファイル群があるか調べ、あれば、そのファイ
ル群の総サイズを求める。読み出し不要のファイルのサ
イズが小さい場合には、先ファイルと後ファイルを一度
の読み出し命令で読出せるように、物理情報を合成す
る。次に合成した物理情報を先ファイルの物理情報とし
てループを戻り、通信メモリ5から次のファイルIDを読
み出し、そのファイルを後ファイルとして同様な処理を
行なう。 先ファイルと後ファイルが同一シリンダに存在しない
場合と読み出し不要ファイルのサイズが大きい場合に
は、先ファイルの磁気ディスクの装置から読み出し処理
を実行する。後ファイルの物理情報は先ファイルの物理
情報としてループを戻り、通信メモリ5から次のファイ
ルIDを読出し、それを後ファイルとし同様な処理を行な
う。 このような動作を指定したファイルすべてを読み出す
まで繰り返す。 先ファイルの磁気ディスク装置からの読み出し処理
は、まず、マスタコントローラ9は先ファイルの物理情
報が示す磁気ディスク装置1−iの磁気ディスクコント
ローラ2−iに物理情報が示す物理位置へ磁気ヘッドを
移動させるシーク命令を発行し、磁気ディスク装置1−
iはシーク動作を開始する。シーク動作が終了すると、
入出力バッファ3−iがデータを書き込んでも良い状態
であれば、マスタコントローラ9は読み出し命令を磁気
ディスクコントローラ2−iに発行し、入出力バッファ
3−iに磁気ディスク装置1−iから読み出したファイ
ルの格納を開始する。格納が終了すると、マスタコント
ローラ9はマルチプレクスコントローラ8を制御して入
出力バッファ3−iから上位機器7へのデータの転送を
開始させる。 マルチプレクスコントローラ8は第64図に示すよう
に、上位機器7のデータバスに入出力バッファ3−1か
ら3−nのデータバスを選択して接続するマルチプレク
サ201と選択したi番目の入出力バッファ3−iから上
位機器7にマスタコントローラ9の介在なしにデータを
出力するDMAコントローラ202と該DMAコントローラ202に
入出力バッファ3−iの転送範郎を指定するための先頭
アドレスと終了アドレスを格納する先頭アドレス登録テ
ーブル203と終了アドレス登録テーブル204により構成し
ている。 マスタコントローラ9は入出力バッファ3−iの転送
すべきファイルが存在する先頭アドレスを先頭アドレス
登録テーブル203に、終了アドレスを終了アドレス登録
テーブル204に設定した後の入出力バッファ3から上位
機器7へのデータの転送が行なわれていなければDMAコ
ントローラ202に起動命令を発行する。DMAコントローラ
202は先頭アドレス登録テーブル203と終了アドレス登録
テーブル204を参照しながら指定した範囲のデータのみ
上位機器7の要求する転送速度でマスタコントローラ9
の介在なしに転送を行なう。 先ファイルと後ファイルを一度の読出し命令で読み出
せるように、物理情報を合成する処理を行ない入出力バ
ッファ3−iに読み出した場合には、先頭アドレス登録
テーブル203と終了アドレス登録テーブル204に必要なフ
ァイルすべてが転送されるようにアドレスを複数件分設
定し、同様な処理を行なう。 先ファイルと後ファイルを一度の読出し命令で読み出
せるように、物理情報を合成する処理は次の条件を満足
する場合に行なう。 先ファイルのサイズをf1[Byte]、後ファイルのサイ
ズをf2[Byte]、読み出し不要のファイル群の総サイズ
をk[Byte]、磁気ディスク装置1から入出力バッファ
3へのシーク動作を含まない実効的な転送速度をt[By
te/sec]、回転速度をR[rps]、平均シーク時間をs
[sec]とするとき、平均回転待ち時間は(1/2R)であ
り、一度に読み出す時間が1づずつ読み出す時間よりも
短くなる条件は、 のようになり、第3式で示すように書き表すことができ
る。 ファイルの読み出し処理の時間的な関係は、上位機器
7が要求する転送速度をT[Byte/sec]、各磁気ディス
ク装置1の1シリンダ分の容量がM[Byte]、各磁気デ
ィスク装置1から入出力バッファ3への転送速度をt
[Byte/sec]、各磁気ディスク装置1の最少シーク時間
をs[sec]、回転速度をR[rps]とすると、最少シー
ク時間s[sec]が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)とした。この関係を数式で表わす
のようになり、第1式で示すように書き表わすことがで
きる。 また、最少シーク時間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)以内であれば良いことになる。この関係を数式
で表わすと のようになり、第2式で示すように書き表わすことがで
きる。 これらの条件式より、上位機器7が要求する転送速度
を満足するには磁気ディスク装置1を何台組み合わせれ
ばよいかを求めることができ、第1式を満足する最少の
台数の磁気ディスク装置1で集合型磁気ディスク装置を
構成すれば最もコストパフォーマンスの良いものとな
る。 例えば、1トラックの容量が20k(キロ)[Byte]の
6トラックからなる、1シリンダ分の1容量が120k[By
te]の磁気ディスク装置1により構成し、上位機器7が
要求する転送速度2M(メガ)[Byte/sec]、各磁気ディ
スク装置1から入出力バッファ3へのシーク動作を含ま
ない実効的な転送速度を1M[Byte/sec]、各磁気ディス
ク装置1の最少シーク時間10m(ミリ)[sec]、回転速
度50[rps]とすると、第1式は次のようになり、 この式を満足する最少のnは4となる。 第67図に3台の磁気ディスク装置1で構成した集合型
磁気ディスク装置の読み出し中の時間関係で、第68図に
4台の磁気ディスク装置1で構成した集合型磁気ディス
ク装置の読み出し中の時間関係、第19図に5台の磁気デ
ィスク装置1で構成した集合型磁気ディスク装置の読み
出し中の時間関係を示す。 第67図の3台の磁気ディスク装置1で構成した場合に
は、図からもわかるように磁気ディスク装置1から入出
力バッファ3にデータを読み出す時間が入出力バッファ
3から上位機器7への転送時間に間に合ず、入出力バッ
ファ3から上位機器7にデータの転送ができない時間a
が発生し、入出力バッファ3から上位機器7への転送速
度が約1.6M[Byte/sec]となり上位機器が要求する転送
速度を満足できない。 また、第69図の5台の磁気ディスク装置1で構成した
場合には、上位機器7が要求する転送速度を満足はする
ものの、第68図の4台の磁気ディスク装置1で構成した
場合に比べ、1台の磁気ディスク装置1が処理をしない
時間bが長く磁気ディスク装置の使用効率が悪い。 従って、第1式を満足する最少のnに一致する4台の
磁気ディスク装置1で構成した場合が、最もコストパフ
ォーマンスの良い集合型磁気ディスク装置と言える。 本発明を文字列検索装置に適用したもう1つの実施例
について第56図を用いて説明する。 第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へのデータ転送速度を
高めるものである。 また、本実施例では記憶容量をさらに高めるために、
磁気ディスク装置の台数を増やしている。 第56図は本発明を用いた集合型磁気ディスク装置の構
成を示すもので、第57図と相違点は磁気ディスク装置1
の1シリンダ分と同じ容量の入出力バッファ3を2面持
ち、第1面の入出力バッファ3aのデータを上位機器7に
転送している間に、第2面の入出力バッファ3bに磁気デ
ィスク装置1からの読み出したフィルムを格納すること
ができることである。 また、一つのデータ記憶装置15をm台の磁気ディスク
装置1−i−1〜1−i−mとマルチプレクサ14によっ
て構成し、集合型磁気ディスク装置の総記憶容量を1台
の磁気ディスク装置の記憶容量の(n×m)倍にしてい
る。 動作を説明すると、まず、第57図の構成と同様にデー
タベースの構造定義処理を行なうが、入出力バッファ3
にマルチプレクサ14を介して接続するm台の磁気ディス
ク装置1を識別する情報を構造定義情報に追加する。 データベースの構築は第57図の構成と同様に行なう
が、いくつかの相違点がある。第57図の構成との相違点
は、ファイル情報で与えられるファイルを構成する磁気
ディスク装置の台数分に分割して、全磁気ディスク装置
に分散して格納することである。また、入出力バッファ
3のデータを格納物理情報で与えられるm台の内の1台
の磁気ディスク装置1−i−jにマルチプレクサ14を制
御して格納することである。 ファイルの分割方法としては、ファイルサイズを台数
で割った分割サイズを求め、ファイルの先頭から分割サ
イズごとに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にファイルの先頭がくるよう
に格納する。 次にファイルの読出しについて説明する。これも第57
図の例と同様に行なうが、本構成では入出力バッファ3
を2面(3a及び3b)持っているため、それぞれの磁気デ
ィスク装置1から入出力バッファ3に読出したファイル
を格納した時点で、次のファイルの読出しの処理を開始
することができる。 ファイルの読み出し処理の時間的な関係は第70図のよ
うになり、第57図の例に比べると入出力バッファ3にデ
ータを書き込んでも良い状態になるまでの待ち時間がな
くなり、より高速の転送が可能になる。第57図の例と同
じ条件で上位機器7の要求する転送速度を満足する関係
は、1台の磁気ディスク装置1−i−jから2面ある入
出力バッファ3−iの一方の入出力バッファ3a−iにフ
ァイルを読み出す時間(s+1/R+M/t)が、もう一方の
全ての入出力バッファ3b−1から3b−nまでのファイル
を上位機器7に転送する時間(nM/T)以内であればよ
く、これを数式で表すと のようになり、この数式は容易に次式のように書き表す
ことができる。 この条件により、実施例1と同様に上位機器が要求す
る転送速度を満足するためのデータ記憶装置15の台数を
求めることができる。 また、大きな記憶容量が求められる場合には、データ
記憶装置15をm台の磁気ディスク装置1とマルチプレク
サ14によって構成し、記憶容量をm倍化することができ
る。 これらのことから決定される最少台数の磁気ディスク
装置1で集合型磁気ディスク装置を構成すれば、最もコ
ストパフォーマンスの良いものとなる。 第70図の実施例では各磁気ディスク装置のシーク動作
の起動を上位機器への入出力バッファ3−1〜3−nの
データ転送が終了した時点で行なっているが、それぞれ
読み出しが終了した時点で行なっても良いことは明らか
である。 以上の2つの実施例では磁気ディスク装置を用いた場
合について説明したが、磁気ディスク装置以外の光ディ
スク装置等の記憶媒体が回転する記憶装置についても同
様なことは明確である。 次に、第71図から第74図の開示に基づいて、本発明の
文書情報検索装置をLAN等を通じて外部と接続可能にす
る実施例について説明する。 第71図における文書情報検索装置(サーチマシンと呼
ぶ)3000では、サーチマシン制御用コンピュータに1150
LANなどの通信回線1000に接続できるようなLAN接続制御
機能を備えている。サーチマシン3000はサーチマシン制
御用コンピュータ1150とサーチユニット3100から構成さ
れている。サーチマシン制御用コンピュータ1150では、
サーチマシン制御プログラム1100が実行される。このサ
ーチマシン制御プログラム1100は、本発明の第一の実施
例(第10図)で説明した、検索式解析プログラム1102、
同義語異表記展開プログラム1103a、複合条件解析プロ
グラム1141a、及び検索実行制御プログラム1108が実行
される。 サーチユニット3100は、オートマトン生成用コンピュ
ータ(CPU1)1105a,ビットサーチ用コンピュータ(CP
U3)1107a、ストリングサーチエンジン1106、複合条件
判定用コンピュータ(CPU2)1145a、半導体メモリ装置1
110a、RAMディスク装置1110b、集合型磁気ディスク装置
装置1110cから構成される。 オートマトン生成用コンピュータ(CPU1)1105aでは
オートマトン生成プログラム1105が、ビットサーチ用コ
ンピュータ(CPU3)1107aではビットサーチプログラム1
107が、複合条件判定用コンピュータ(CPU2)1145aでは
複合条件判定プログラム1145が実行される。 また、集合型磁気ディスク装置1110cは集合型磁気デ
ィスク装置1110dと磁気ディスク装置1110e1〜1110e12
ら構成される。また、集合型磁気ディスク装置1110dは
マルチディスクコントローラ1110fと、同期制御バッフ
ァ1110g1〜1110g12から構成される。同期制御バッファ1
110g1〜1110g12は、それぞれ独立に動作する磁気ディス
ク装置1110e1〜1110e12の出力を整合し、同期を取って
ストリングサーチエンジン1106へ送出するためのもので
ある。すなわち、例えば、磁気ディスク制御装置1110e1
内の本文データを磁気ディスク装置1110e2内の本文デー
タより先に送りださなければならないときに、もし磁気
ディスク装置1110e2内の本文データが先に読み出されて
しまった場合でも、このデータを同期制御バッファ1110
g2内に保持しておき、磁気ディスク装置1110e1内の本文
データが同期制御バッファ1110g1に読み出され、ここか
らマルチディスクコントローラ1110fを介してストリン
グサーチエンジン1106へ読み出した後、同期制御バッフ
ァ1110g2内のデータをストリングサーチエンジン1106へ
読み出すことによって、当初の順番通りにデータをスト
リングサーチエンジン1106へ読み出すことが可能にな
る。このように、同期制御バッファ1110g1〜1110g
12は、磁気ディスク装置1110e1〜1110e12の読み出し順
序が各磁気ディスク装置のシーク時間及び回転待ち時間
のバラツキによりどう変化したとしても、正しい所定の
順番で外部に送り出すことが可能となる。マルチディス
クコントローラ1110fは、サーチマシン制御プログラム1
100内の検索実行制御プログラム1108の制御のもとに、
同期制御バッファ1110g1〜1110g12の出力を選択するマ
ルチプレクサの機能を果たす。 RAMディスク装置1110bは、RAMディスクコントローラ4
200と半導体メモリボート4100a,4100b,4100c,4100dから
構成される。半導体メモリボード4100a,4100b,4100c,41
00dは、同一バスに接続され、RAMディスクコントローラ
4200制御により、ここに格納された擬縮本文がランダム
にアクセスされる。そして、読み出されたデータはスト
リングサーチエンジン1106へと送出される。 サーチマシン制御プログラム1150は、LAN1000を介し
て送られてくる検索指令に応じて、先ず第一に検索条件
の解析、同義語展開、異表記展開、複合条件解析、近傍
条件解析、文脈条件解析、論理条件解析を行い、ここで
作成された各制御情報をビットサーチプログラム1107、
オートマトン生成プログラム1105、及び複合条件判定プ
ログラム1145へ渡す。オートマトン生成プログラム1105
で作成されたキーワード照合用の状態遷移テーブルデー
タは、ストリングサーチエンジン1106へ書き込まれる。 第二に、検索制御情報の設定が終了したら、検索の実
行に入る。最初に、半導体メモリ1110a上の文字成分表
が読み出され、ビットサーチプログラム1107により文字
成分表サーチが行なわれる。この文字成表サーチの結果
は、サーチマシン制御用コンピュータ1150の主メモリ上
に格納される。次に、文字成分表サーチにより絞り込ま
れた文書集合に対して、擬縮本文サーチを実行する。す
なわち、サーチマシン制御用コンピュータ1150の主メモ
リ上に格納された文字成分表サーチの結果情報としての
該当文書識別子を読み出し、これに対応する擬縮本文を
RAMディスク装置1110bから読み出し、ストリングサーチ
エンジン1106で指定キーワードの照合処理を行う。この
ストリングサーチエンジン1106の照合情報は、複合条件
判定プログラム1145に渡され、ここで指定した複合条件
に合致するか否かの判定が行われる。この擬縮本文サー
チ結果は、同様にしてサーチマシン制御用コンピュータ
1150の主メモリ上に格納される。この後、もし複合条件
に近傍条件あるいは文脈条件が設定されていたなら、本
文サーチへ入る。本文サーチでは、サーチマシン制御用
コンピュータ1150の主メモリ上に格納された擬縮本文サ
ーチの結果情報としての該当文書識別子を読み出し、こ
れに対応する本文を集合型磁気ディスク装置1110cから
読み出し、ストリングサーチエンジン1106で指定キーワ
ードの照合処理を行う。このストリングサーチエンジン
1106の照合情報は、複合条件判定プログラム1145に渡さ
れ、ここで指定された複合条件、すなわち近傍条件と文
脈条件に合致するか否かの判定が行われる。この本文サ
ーチ結果は、同様にしてサーチマシン制御用コンピュー
タ1150の主メモリ上に格納される。 これらの検索手順の制御は、すべてサーチマシン制御
プログラム1100内の検索実行制御プログラム1108によっ
て行われる。 第三に、上述した一連の検索処理が終了したら、サー
チマシン制御用コンピュータ1150の主メモリ上に書き込
まれた検索結果を、サーチマシン制御プログラム1100の
制御によりLAN1000を介して要求元であるワークステー
ション等の検索対話端末に返送する。 以上説明した本発明の変形例によれば、文書情報検索
装置をLAN内のサーバとして、同じLANに接続された複数
の検索対話用端末から検索を行うことが可能となり、共
有資源としての有効活用ができるようになる。 次に、本発明のもう一つ別の実施例について第72図を
用いて説明する。 本実施例における文書情報検索装置(サーチマシンと
呼ぶ)3000はLANなどの通信回路1000に接続できるようL
AN接続制御アダプタ2100を備えている。サーチマシン30
00は上記LAN接続制御アダプタ2100のほか、サーチマシ
ン制御用コンピュータ2200と複数のサーチユニット300
1,3002,……から構成されている。 サーチマシン制御用コンピュータ1150では、サーチマ
シン制御プログラム1100が実行される。このサーチマシ
ン制御プログラム1100は、本発明の第一実施例(第10
図)で説明した、検索式解析プログラム1102、同義語異
表記展開プログラム1103a、複合条件解析プログラム114
1a、及び検索実行制御プログラム1108で構成される。 サーチユニット3001は、オートマトン生成用コンピュ
ータ(CPU1)1105a、ビットサーチ用コンピュータ(CPU
3)1107a、ストリングサーチエンジン1106、複合条件判
定用コンピュータ(CPU2)1145a、半導体メモリ装置111
0a、RAMディスク装置1110b、集合型磁気ディスク装置11
10c、検索結果格納メモリ1146、及びセレクタ3610、362
0から構成される。 オートマトン生成用コンピュータ(CPU1)1105aでは
オートマトン生成プログラム1105が、ビットサーチ用コ
ンピュータ(CPU3)1107aではビットサーチプログラム1
107が、複合条件判定用コンピュータ(CPU2)1145aでは
複合条判定プログラム1145が実行される。 また、集合型磁気ディスク装置1110cは集合型磁気デ
ィスク装置1110dと磁気ディスク装置1110e1〜1110e1N
ら構成される。これらの磁気ディスク装置1110e1〜1110
e1Nには、本文データ、擬縮本文データ、文字成分表及
び書誌事項などが分散して格納されている。本文サーチ
の際には、ここから本文データがストリングサーチエン
ジン1106へ読み込まれる。 半導体メモリ装置1110aには、システムの立ち上げ時
に磁気ディスク装置1110e1〜1110e1Nから文字成分表が
ロードされ、検索時に文字成分表サーチの対象データと
してビットサーチプログラム1105によりアクセスさせ
る。 同様にRAMディスク装置1110bには、システムの立ち上
げ時に磁気ディスク装置1110e1〜1110e1Nから擬縮本文
がロードされ、検索時に擬縮本文サーチの対象データと
してストリングサーチエンジン1106によりアクセスされ
る。 ストリングサーチエンジン1106は、擬縮本文サーチ及
び本文サーチ時に、それぞれ擬縮本文サーチをRAMディ
スク装置1110bから、本文を集合型磁気ディスク装置111
0cから読み出し、指定キーワードの探索照合処理を行
う。セレクタ3610は、ストリングサーチエンジン1106へ
に入力をRAMディスク装置1110bと集合型磁気ディスク装
置1110cとで切り替える働きをする。また、セレクタ362
0は、検索結果格納メモリ1146へ文字成分表サーチ結果
を書き込む際と、擬縮本文サーチ結果及び本文サーチ結
果を書き込む際の入力を切り替える働きをする。 サーチマシン制御プログラム1150は、LAN1000を介し
て送られてくる検索指令に応じて、先ず第一に検索条件
の解析、同義語展開、異表記展開、複合条件解析、近傍
条件解析、文脈条件解析、論理条件解析を行い、ここで
作成された各制御情報を各サーチユニット3001,3002,…
…のビットサーチプログラム1107,オートマトン生成プ
ログラム1105、及び複合条件判定プログラム1145へブロ
ードキャストする。各サーチユニット3001,3002,……で
は、それぞれオートマトン生成プログラム1105で作成さ
れたキーワード照合用の状態遷移テーブルデータが、ス
トリングサーチエンジン1106へ書き込まれる。 第二に、検索制御情報の設定が終了したら、検索の実
行に入る。ここでは、サーチマシン制御用コンピュータ
1150上の検索実行制御プログラム1108が各サーチユニッ
ト3001,3002,……へ検索起動情報をブロードキャストす
ることになる。 各サーチユニット3001,3002,……では、最初、半導体
メモリ1110a上の文字成分表が読み出され、ビットサー
チプログラム1107により文字成分表サーチが行われる。
この文字成分表サーチの結果は、検索結果格納メモリ11
46に書き込まれる。この時、3620はビットサーチプログ
ラム1107からの書込みを選択すべく、検索実行制御プロ
グラム1108により切り替えられている。 次に、文字成分表サーチにより絞り込まれた文書集合
に対して、擬縮本文サーチを実行する。すなわち、検索
結果格納メモリ1146上に格納された文字成分表サーチの
結果情報としての該当文書識別子を検索実行制御プログ
ラム1108が内蔵する擬縮本文格納情報を参照して、該当
擬縮本文のRAMディスク装置1110b上の格納領域情報をRA
Mディスクコントローラ7200(第22図)に設定する。そ
の後、該当擬縮本文をRAMディスク装置1110bから読み出
し、ストリングサーチエンジン1106で指定キーワードの
照合処理を行う。このストリングサーチエンジン1106の
照合情報は、複合条件判定プログラム1145に渡され、こ
こで指定された複合条件に合致するか否かの判定が行わ
れる。この擬縮本文サーチ結果は、同様にして検索結果
格納メモリ1146に書き込まれる。当然、セレクタ3620は
複合条件判定プログラム1145からの書込みを選択すべ
く、検索実行制御プログラム1108により切り替えられて
いる。 この後、もし複合条件に近傍条件あるいは文脈条件が
設定されていたなら、本文サーチへ入る。本文サーチで
は、検索結果格納メモリ1146上に格納された擬縮本文サ
ーチの結果情報としての該当文書識別子を検索実行制御
プログラム1108が内蔵する本文格情報を参照して、該当
本文の集合型磁気ディスク装置1110c上の格納領域情報
を集合型磁気ディスク制御装置1110d(第20図)に設定
する。その後、これに対応する本文を集合型磁気ディス
ク装置1110cから読み出し、ストリングサーチエンジン1
106で指定キーワードの照合処理を行う。このストリン
グサーチエンジン1106の照合情報は、複合条件判定プロ
グラム1145に渡され、ここで指定された複合条件、すな
わち近傍条件と文脈条件に合致するか否かの判定が行わ
れる。この本文サーチ結果は、検索結果格納メモリ1146
に書き込まれる。この時、セレクタ3610は集合型磁気デ
ィスク装置1110cから読み込みを選択すべく、またセレ
クタ3620は複合条件判定プログラム1145からの書込みを
選択すべく、検索実行制御プログラム1108により切り替
えられている。 以上説明した検索手順の制御は、すべて検索実行制御
プログラム1108により、各サーチユニット3001,3002,…
…へブロードキャストすることにより行われる。 第三に、上述した一連の検索処理が全サーチユニット
3001,3002,……で終了したら、各検索結果格納メモリ11
46上に書き込まれた検索結果を、検索実行制御プログラ
ム1108が全ユニット3001,3002,……から収集し、これを
統合してサーチマシン制御プログラム1100の制御により
LAN1000を介して要求元へ返送する。 また、サーチマシン制御用コンピュータ1150には磁気
ディスク装置2400が付設されており、ここには本サーチ
マシン3000の構成情報、すなわちサーチユニット数など
が格納されている。さらに、この磁気ディスク装置2400
は、LANを介して複数のユーザから検索要求が来る場
合、サーチユニットの動作状況に応じこれらの要求を一
時的に格納したり、あるいは返送すべき検索結果情報を
一時的に格納するのにも用いられる。 さらに、サーチマシン制御用コンピュータ1150に付随
したコンソール2300には、本サーチマシンの動作状況が
適宜表示されたり、あるいはここから保守動作の指示を
行うことができるようになっている。 この実施例の構成に示されているように、本発明によ
れば、集合型磁気ディスク装置内の磁気ディスク装置の
台数及びサーチユニットのユニット数をユーザの要求仕
様、すなわち要求テキストデータ蓄積容量、検索時間な
どに応じて極めて容易に情報検索装置を構成できること
になる。 第73図は、本発明の更に別の実施例を示したものであ
る。これまで説明してきた実施例では、集合型磁気ディ
スク装置1110c、ビットサーチ用コンピュータ1107aある
いはストリングサーチエンジン1106、複合条件判定用コ
ンピュータ1145a及び検査結果格納メモリ1146をカスケ
ードに接続し、パイプライン動作させることによって処
理速度の向上を図っている。これに対して、本実施例で
は、上記各部分をバス8000で結合することによって、ハ
ードウェアの構成を簡単化し、引いては装置規模を抑え
た構成にしたものである。また、集合型磁気ディスク装
置1110c、RAMディスク装置1110b、及び半導体メモリ装
置1110aの制御コンピュータ1150aを、またビットサーチ
用コンピュータ1107a、ストリングサーチエンジン110
6、及び複合条件判定用コンピュータ1145aの制御にコン
ピュータ1150bをそれぞれ一台ずつ配することによっ
て、サーチマシン制御用コンピュータ1150のロードを軽
減し、全体として負荷分散を図ることにより、検索処理
にかかわるオーバヘッドの低減を可能とするものであ
る。 最後に、本発明の文書情報検索装置をネットワークシ
ステムにおいて使用する場合の実施例について、第74図
を用いて説明する。 同図において1000がLANなどのネットワークであり、
これにサーチマシン3000がサーチマシン制御用ワークス
テーション2200を介して、通信制御手段2100により接続
されている。 また5200は光ディスク装置5510,5520,……5530を統括
制御するイメージサーバである。該イメージサーバ5200
も同じく、通信制御手段5100によりネットワーク1000に
接続されている。5400は光ディスク装置5510,5520,……
5530における文書に対応するイメージデータの所在を管
理する管理情報を格納する磁気ディスク装置である。 1200はデータを表示できる検索対話用のワークステー
ションであり、これもまた通信制御手段1100によってネ
ットワーク1000に接続されている。本ワークステーショ
ンにはこのほかイメージプリンタ1400、イメージスキャ
ナ1500、磁気ディスク装置1600、光ディスク装置1700が
接続されている。 6200も検索対話用のワークステーションであり、これ
も通信制御手段6100により同じネットワークに接続され
ている。これらは、検索ならびに閲読専用のワークステ
ーションである。ワークステーション1200からは、サー
チマシン3000からの検索結果に応じて、イメージサーバ
5200へ該当文書に対応するイメージデータを要求し、こ
れをネットワーク経由で受け取りコンソール1300に表示
し、図面などをも含めて閲読することが可能である。こ
のイメージデータはイメージプリンタ1400にハードコピ
ーをとることもできる。また、このイメージデータを本
ワークステーション上で編集し、個人専用のプライベー
トファイルとして光ディスク装置1700に格納することも
可能である。この編集に際しては、イメージスキャナ15
00から入力したイメージを用いることもできる。 したがって、サーチマシンあるいはイメージサーバの
データベースに格納されているパブリックなデータには
手を加えることなく編集部分のみを磁気ディスク装置16
00及び光ディスク装置1700に格納し、その対応情報を磁
気ディスク装置1600に持つことも可能である。 以上の各実施例によれば、先ず第一にテキストデータ
を納める文字列記憶手段を並列に並べた複数台の磁気デ
ィスク装置で構成し、これらを同時に駆動しその出力デ
ータを統合することによって、高い読み出し速度を得る
ことができるため、テキストデータを対象にした本文検
索が高速に行えるようになり、検索時間の大幅な短縮が
可能となる。 第二に、文字列照合手段に有限オートマトン方式に基
づく文字列照合用の専用ハードウェアを搭載することに
よって、照合速度を低下させることなく約一千語のキー
ワードを一括して検索することが可能となる。したがっ
て、同義語及異表記を含めて、テキストデータベースを
唯一回スキャンするだけで検索を終えることができるよ
うになるため、異なる表現及び表記を許容した上で高速
な検索処理を実現することが可能になる。 第三に、スキャン型のフルテキストサーチを加速する
方法として、2段階のプリサーチを行うことによって、
磁気ディスクに格納されたテキスト本文を参照しに行く
件数を減らすことができるようになるため、検索処理時
間に占める割合が高い本文検索処理量を減らすことが可
能になり、その結果全体の検索処理時間を短縮すること
が可能となる。 具体的には、第一段階目のプリサーチ方法として、予
めすべての文字コードについて文書毎にその文字の有無
を1ビットの情報を表したビットリストをハッシュ化し
たテーブルとして持ち、指定されたキーワードを構成す
る文字単位にこのテーブルを検索して該当する文書のビ
ットリストを求め、その後これらのビットリストの相互
の論理積を取ることによって、指定された文字をすべて
含む文献のみを抽出することができ、以降の検索対象と
する文書数を必要最小限に絞り込むことが可能になるた
め、全体の検索処理時間を短縮することが可能となる。 さらに、第二段目のプリサーチ方法として、予めテキ
スト本文の中から助詞や接続詞などの附属語を削除する
と共に、繰り返し表れる単語の重複を排除した擬縮本文
を用意し、第一段目のプリサーチで絞り込みれた文書の
擬縮本文をスキャンすることによって、指定されたキー
ワードが単語単位で記述されている文書だけを抽出する
ことができ、以降の本文検索の対象となる文書数を必要
最小限に絞り込むことが可能になるため、全体の検索処
理時間をさらに短縮することが可能となる。 したがって、この2段階のプリサーチの結果絞り込ま
れた文書についてのみ、テキスト本文を磁気ディスク装
置から読み出してスキャンし、最後の複合条件による本
文検索を行うことになるため、等価的に非常に高速なフ
ルテキストサーチが実現できることになる。 第四に、本文検索の際、サーチエンジンの出力結果か
ら検索式に記述された論理条件及び近傍条件や文脈条件
に合致するものだけを抽出する複合条件判定手段を設け
ることにより、フルテキストサーチ特有の木目細かな検
索が可能となる。すなわち、論理条件判定手段により論
理和や論理積、論理否定などの検索演算機能が実現でき
ることになり、近傍条件判定手段により日本語の場合に
はキーワードとキーワードの間に存在する文字数に上限
あるいは下限を指定した字間距離条件検索が、英語の場
合にはキーワード間の語数に上限あるいは下限を指定し
た語間距離条件検索などの機能が実現できることにな
り、文脈条件判定手段により、キーワードとキーワード
が同一の文内に共起するものを検索したり、あるいは同
一の段落に現れる文書を検索したりする検索機能が実現
できることになる。 また、複合条件判定手段を構成する近傍条件判定手
段、文脈条件判定手段及び論理条件判定手段をこの順序
で結合し、パイプライン的に実行することによって、高
速な複合条件処理を実現することが可能となる。 第五に、複数の磁気ディスク装置から構成される文字
列記憶手段、文字列照合手段、プリサーチ手段、及び複
合条件判定手段をまとめて一つのユニットとし、このユ
ニットを複数個並列に並べ、この上位にこれらを制御す
るコントロール手段を設け、さらにこれらをまとめて一
台のサーチマシンとする構成を採ることによって、大容
量テキストデータベースに対しては複数のサーチマシン
を並列に設置することで対処すると共に、データベース
の蓄積に伴う容量の増加に対しては既存のテキストデー
タベースに手を加えることなくマシン内のユニットの増
設、あるいはシステム内のサーチマシン増設によって対
処することが可能となる。 第六に、このテキストサーチマシンにLANに対する接
続手段を設けることによって、サーチマシンをLANに接
続して使用できるようになるため、複数のユーザに対し
てのサービスが提供できると共に、大規模なテキストデ
ータベースのLANを介した構築に応えることも可能な
る。すなわち、大規模テキストデータベースに対しては
LANを介して複数台のサーチマシンを接続することによ
って対処でき、データベース容量の増加に際してもLAN
内のマシン数の増設によって対処することが可能とな
る。 第七に、テキストサーチマシンの内部に同義語及び異
表記の展開処理を行う同義語展開手段及び異表記展開手
段を設けることによって、ユーザがこれらの問題を意識
しなくとも自動的に同義語や異表記などの展開語彙すべ
てをキーワードとして全文検索を行うことができ、表現
及び表記の違いに起因する漏れを生ずることなく所望の
文書が検索できることになる。 以上のように、本発明に係る階層プリサーチ式文書検
索方法及びこの装置に用いられる磁気ディスク装置によ
れば文書の登録及び、この登録された文書の自由語によ
るフルテキストサーチ手段として有用であり、特に大規
模データベースを使ってのサーチ等の効率を要求される
文書検索に好適である。
【発明の効果】
本願発明では、文字成分表を検索し、その結果に応じ
た検索処理を行うことにより検索時間を短縮することが
できる。
【図面の簡単な説明】
第1図は従来の検索システムを示すブロック構成図、第
2図、第3図、第5図及び第7図は従来の有限オートマ
トンによる文字列検索原理を表した説明図、第4図、第
6図及び第8図は、上記従来例に対応するフェイルテー
ブルの説明図、第9図は異表記展開の従来構成を示した
ブロック図、第10図は、この発明の第1の実施例の概要
を示すブロック構成図、第11図は照合位置情報の一例を
示す図、第12図は照合位置情報を付したサーチエンジン
の出力情報例図、第13図は複合条件判定部の詳細を示す
図、第14図は2つのキーワードを使った検索例図、第15
図は、この発明の特徴の一つである、フルテキストサー
チを加速する手段を示す構成図、第16図はテキストの登
録処理の手順を示す図、第17図は、上記第16図で登録、
生成された文字成分表から、検索処理を行う手段を示し
た図、第18図は文字成分表の構成とこれを用いたサーチ
の具体例を示すした図、第19図は擬縮本文の作成を示す
図、第20A,20B図、第21図、第22図、第23図及び第24図
は文字成分表サーチの手順を示したPAD図、第25図は第1
0図に示した実施例の変形例を示す構成図、第26図はこ
の発明の一つの特徴部分である同義語・異表記の展開の
処理を行う実施例のブロック構成図、第27図は上記26図
に示した実施例での処理概略を説明した図、第28図は同
じく実施例の構成ブロック図、第29図は、異表記展開処
理の過程を例示する図、第30図は、異表記展開手段のブ
ロック図、第31図は異表記展開処理部における変換ルー
ルの適用処理をカタカナ文字の列で説明した図、第32図
は異表記展開処理を示すPAD図、第33図は見出し文字列
検索をオートマトンを用いて実行する実施例を説明する
図、第34図はオートマトンの状態遷移テーブル図、第35
図はオートマトンの出力テーブル図、第36図は検索オー
トマトンの状態遷移テーブル及び出力テーブルの作成方
法を表したPAD図、第37図はカタカナ異表記変換ルール
テーブル、第38図は漢字の新旧字体に関する異表記変換
ルールテーブル、第39図は漢字の送り仮名に関する異表
記変換ルールテーブル、第40図はローマ字とカタカナの
対応表の例、第41図は実施例の異表記展開手段の展開モ
ードを設定可能とするブロック図、第42図は異表記展開
における各変換部、展開部及びスイッチの出力の制御状
態を示す図、第43図は同義語辞書を示す図、第44図は同
義語辞書の見出し文字列をインデックステーブルを用い
て探索する方式の概要を示す図、第45図はこの発明の実
施例である有限オートマトンを用いた文字検索回路の構
成ブロック図、第46図、第47図、第48図、第49図、第50
図、第51図、第52図、第53図はこの実施例の有限オート
マトンによる文字列検索方法の原理を示した説明図、第
54図はこの実施例の状態遷移テーブルの説明図、第55図
は検索結果テーブルの説明図、第56図はこの発明の実施
例である集合型磁気ディスク装置の構成例図、第57図
は、他の実施例を示す構成図、第58A図及び第58B図は構
造定義テーブルの構造を示す図、第59A図、第59B図、第
59C図及び第59D図は格納位置ポインタテーブルの構造を
示す図、第60A図、第60B図、第60C図及び第60D図は物理
情報テーブルの構造を示す図、第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ディスク装置の具体例を示す図。
フロントページの続き (72)発明者 川口 久光 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 畠山 敦 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 兼岡 則幸 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 秋沢 充 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (56)参考文献 特開 昭59−112339(JP,A) 特開 昭62−211728(JP,A) 特開 昭63−244259(JP,A) 特開 昭57−137965(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 17/30 JICST科学技術文献ファイル

Claims (25)

    (57)【特許請求の範囲】
  1. 【請求項1】文字と該文字を含む文書との対応付けを示
    す文字成分表と、上記文書から付属語を除いて作成した
    凝縮本文と上記文書とを対応付けて格納した凝縮本文フ
    ァイルとを具備した文書検索装置における文書検索方法
    であって、 上記文字成分表を参照し、検索キーワードに含まれる文
    字に対応する文書を特定し、 上記文字成分表を参照するステップの実行結果に応じ
    て、上記凝縮本文ファイル中の凝縮本文から上記検索キ
    ーワードを含む文書を特定することを特徴とする文書検
    索方法。
  2. 【請求項2】文字と該文字を含む文書との対応付けを示
    す文字成分表と、上記文書から付属語を除いて作成した
    凝縮本文と上記文書とを対応付けて格納した凝縮本文フ
    ァイルとを具備した文書検索装置における文書検索方法
    であって、 上記文字成分表を参照し、検索キーワードに含まれる文
    字に対応する文書を特定する第1のステップと、 上記第1のステップの実行結果が所定条件を満たす場合
    には、上記凝縮本文ファイル中の凝縮本文から上記検索
    キーワードを含む文書を特定する第2のステップとを有
    することを特徴とする文書検索方法。
  3. 【請求項3】請求項2記載の文書検索方法において、上
    記第2のステップの実行結果に応じて、上記文書から上
    記検索キーワードを含む文書を特定する第3のステップ
    を有することを特徴とする文書検索方法。
  4. 【請求項4】請求項1または請求項2記載の文書検索方
    法において、上記凝縮本文は、文字種が同一の文字で構
    成された文字列を上記文書から抽出したものであること
    を特徴とする文書検索方法。
  5. 【請求項5】請求項4記載の文書検索方法において、上
    記凝縮本文は、上記文字列の重複を排除したものである
    ことを特徴とする文書検索方法。
  6. 【請求項6】請求項1または請求項2記載の文書検索方
    法において、上記文字成分表の文字は、所定ルールでコ
    ードに変換されたものであることを特徴とする文書検索
    方法。
  7. 【請求項7】請求項1または請求項2記載の文書検索方
    法において、上記文字成分表を参照する際の検索キーワ
    ードは、上記検索キーワードに含まれる文字を所定ルー
    ルでコードに変換したものであることを特徴とする文書
    検索方法。
  8. 【請求項8】請求項2記載の文書検索方法において、第
    2のステップは、第1のステップで特定された文書に対
    応する凝縮本文を対象に検索することを特徴とする文書
    検索方法。
  9. 【請求項9】請求項3記載の文書検索方法において、第
    3のステップは、第2のステップで特定された凝縮本文
    に対応する文書を対象に検索することを特徴とする文書
    検索方法。
  10. 【請求項10】請求項2記載の文書検索方法において、
    第1のステップで特定した文書の件数が所定数以下の場
    合、第2のステップは、上記特定した文書に対応する凝
    縮本文を処理対象とし、上記上記特定した文書の件数が
    所定数より多い場合、第2のステップは、凝縮本文ファ
    イル中の全ての凝縮本文を処理対象とすることを特徴と
    する文書検索方法。
  11. 【請求項11】請求項2記載の文書検索方法において、
    第1のステップで特定した文書の件数が所定数より多い
    場合、上記第2のステップを実行し、第1のステップで
    特定した文書の件数が上記所定数以下の場合、上記文書
    から上記検索キーワードを含む文書を特定する第4のス
    テップを実行することを特徴とする文書検索方法。
  12. 【請求項12】請求項1記載の文書検索方法において、
    上記文字成分表の参照により特定された文書件数が所定
    数より多い場合、上記特定された文書に対応する凝縮本
    文を対象に上記検索キーワードを含む文書を特定し、上
    記特定された文書件数が上記所定数以下の場合、上記文
    書から上記検索キーワードを含む文書を特定することを
    特徴とする文書検索方法。
  13. 【請求項13】請求項1記載の文書検索方法において、
    上記文字成分表の参照により特定された文書件数が所定
    数より多い場合、上記凝縮本文ファイル中の全ての凝縮
    本文を対象に上記検索キーワードを含む文書を特定し、
    上記特定された文書件数が上記所定数以下の場合、上記
    特定された文書に対応する凝縮本文から上記検索キーワ
    ードを含む文書を特定することを特徴とする文書検索方
    法。
  14. 【請求項14】文字と該文字を含む文書との対応付けを
    示す文字成分表と、上記文書から付属語を除いて作成し
    た凝縮本文と上記文書とを対応付けて格納した凝縮本文
    ファイルとを具備した文書検索装置であって、 上記文字成分表を参照し、検索キーワードに含まれる文
    字に対応する文書を特定する手段と、 上記文字成分表を参照するステップの処理結果に応じ
    て、上記凝縮本文ファイル中の凝縮本文から上記検索キ
    ーワードを含む文書を特定する手段とを備えたことを特
    徴とする文書検索装置。
  15. 【請求項15】文字と該文字を含む文書との対応付けを
    示す文字成分表と、上記文書から付属語を除いて作成し
    た凝縮本文と上記文書とを対応付けて格納した凝縮本フ
    ァイルとを具備した文書検索装置であって、 上記文字成分表を参照し、検索キーワードに含まれる文
    字に対応する文書を特定する第1の手段と、 上記第1の手段の実行結果が所定条件を満たす場合に
    は、上記凝縮本文ファイル中の凝縮本文から上記検索キ
    ーワードを含む文書を特定する第2の手段とを備えたこ
    とを特徴とする文書検索装置。
  16. 【請求項16】請求項15記載の文書検索装置において、
    上記第2の手段の処理結果に応じて、上記文書から上記
    検索キーワードを含む文書を特定する第3の手段を備え
    たことを特徴とする文書検索装置。
  17. 【請求項17】請求項14または請求項15記載の文書検索
    装置において、上記凝縮本文は、文字種が同一の文字で
    構成された文字列を上記文書から抽出したものであるこ
    とを特徴とする文書検索装置。
  18. 【請求項18】請求項17記載の文書検索装置において、
    上記凝縮本文は、上記文字列の重複を排除したものであ
    ることを特徴とする文書検索装置。
  19. 【請求項19】請求項14または請求項15記載の文書検索
    装置において、上記文字成分表の文字は、所定ルールで
    コードに変換されたものであることを特徴とする文書検
    索装置。
  20. 【請求項20】請求項14または請求項15記載の文書検索
    装置において、上記文字成分表を参照する際の検索キー
    ワードに含まれる文字を所定ルールでコードに変換する
    コード変換手段を備えたことを特徴とする文書検索装
    置。
  21. 【請求項21】請求項15記載の文書検索装置において、
    第2の手段は、第1の手段で特定された文書に対応する
    凝縮本文を対象に検索することを特徴とする文書検索装
    置。
  22. 【請求項22】請求項16記載の文書検索装置において、
    第3の手段は、第2の手段で特定された凝縮本文に対応
    する文書を対象に検索することを特徴とする文書検索装
    置。
  23. 【請求項23】請求項15記載の文書検索装置において、
    第1の手段で特定した文書の件数が所定数以下の場合、
    第2の手段は、上記特定した文書に対応する凝縮本文を
    処理対象とし、上記上記特定した文書の件数が所定数よ
    り多い場合、第2の手段は、凝縮本文ファイル中の全て
    の凝縮本文を処理対象とすることを特徴とする文書検索
    装置。
  24. 【請求項24】請求項15記載の文書検索装置において、
    第1の手段で特定した文書の件数が上記所定数以下の場
    合、上記文書から上記検索キーワードを含む文書を特定
    する第4の手段を具備し、上記第2の手段は、第1の手
    段で特定した文書の件数が所定数より多い場合動作する
    ことを特徴とする文書検索装置。
  25. 【請求項25】請求項14記載の文書検索装置において、
    上記文字成分表の参照により特定された文書件数が所定
    数より多い場合、上記特定された文書に対応する凝縮本
    文を対象に上記検索キーワードを含む文書を特定する手
    段と、上記特定された文書件数が上記所定数以下の場
    合、上記文書から上記検索キーワードを含む文書を特定
    する手段とを備えたことを特徴とする文書検索装置。
JP2193015A 1989-07-24 1990-07-23 データ検索方法および装置 Expired - Lifetime JP2986865B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2193015A JP2986865B2 (ja) 1989-07-24 1990-07-23 データ検索方法および装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP18877389 1989-07-24
JP1-188773 1989-07-24
JP2193015A JP2986865B2 (ja) 1989-07-24 1990-07-23 データ検索方法および装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP9093439A Division JPH1027183A (ja) 1997-04-11 1997-04-11 データ登録方法および装置

Publications (2)

Publication Number Publication Date
JPH03174652A JPH03174652A (ja) 1991-07-29
JP2986865B2 true JP2986865B2 (ja) 1999-12-06

Family

ID=26505141

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2193015A Expired - Lifetime JP2986865B2 (ja) 1989-07-24 1990-07-23 データ検索方法および装置

Country Status (1)

Country Link
JP (1) JP2986865B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04274557A (ja) * 1991-02-28 1992-09-30 Hitachi Ltd フルテキストサーチ方法
US8193954B2 (en) 2009-11-06 2012-06-05 Fujitsu Limited Computer product, information processing apparatus, and information search apparatus
WO2013038527A1 (ja) 2011-09-14 2013-03-21 富士通株式会社 抽出方法、抽出プログラム、抽出装置、および抽出システム

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5748953A (en) * 1989-06-14 1998-05-05 Hitachi, Ltd. Document search method wherein stored documents and search queries comprise segmented text data of spaced, nonconsecutive text elements and words segmented by predetermined symbols
US5454105A (en) * 1989-06-14 1995-09-26 Hitachi, Ltd. Document information search method and system
DE69229521T2 (de) * 1991-04-25 2000-03-30 Nippon Steel Corp Datenbankauffindungssystem
US5590317A (en) * 1992-05-27 1996-12-31 Hitachi, Ltd. Document information compression and retrieval system and document information registration and retrieval method
JP3459049B2 (ja) * 1993-03-03 2003-10-20 株式会社日立製作所 文字列検索方法およひ装置
US5745745A (en) * 1994-06-29 1998-04-28 Hitachi, Ltd. Text search method and apparatus for structured documents
JPH08147311A (ja) * 1994-11-17 1996-06-07 Hitachi Ltd 構造化文書検索方法及び装置
JP3099683B2 (ja) * 1995-06-09 2000-10-16 松下電器産業株式会社 情報検索装置
JP5334446B2 (ja) * 2008-04-30 2013-11-06 クラリオン株式会社 情報検索装置およびナビゲーション装置
JP5418218B2 (ja) 2009-12-25 2014-02-19 富士通株式会社 情報処理プログラム、情報検索プログラム、情報処理装置、および情報検索装置
WO2011148511A1 (ja) 2010-05-28 2011-12-01 富士通株式会社 情報生成プログラム/装置/方法、情報検索プログラム/装置/方法
JP6404564B2 (ja) * 2013-12-24 2018-10-10 株式会社東芝 デコーダ、デコード方法およびプログラム
CN112988754B (zh) * 2021-04-08 2023-07-14 中煤科工集团重庆研究院有限公司 一种面向数据集成的快速查询方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57137965A (en) * 1981-02-20 1982-08-25 Nippon Kagaku Gijutsu Joho Center Automatic key word extraction system of sentence consisting of chinese character and "kana"(japanese syllabary)
JPS59112339A (ja) * 1982-12-20 1984-06-28 Fujitsu Ltd 文書検索高速化方式
JPS62211728A (ja) * 1986-03-12 1987-09-17 Tokai Tv Hoso Kk 日本語情報検索システム
JPS63244259A (ja) * 1987-03-31 1988-10-11 Matsushita Electric Ind Co Ltd キ−ワ−ド抽出装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04274557A (ja) * 1991-02-28 1992-09-30 Hitachi Ltd フルテキストサーチ方法
US8193954B2 (en) 2009-11-06 2012-06-05 Fujitsu Limited Computer product, information processing apparatus, and information search apparatus
US8866647B2 (en) 2009-11-06 2014-10-21 Fujitsu Limited Computer product, information processing apparatus, and information search apparatus
WO2013038527A1 (ja) 2011-09-14 2013-03-21 富士通株式会社 抽出方法、抽出プログラム、抽出装置、および抽出システム
US9916314B2 (en) 2011-09-14 2018-03-13 Fujitsu Limited File extraction method, computer product, file extracting apparatus, and file extracting system

Also Published As

Publication number Publication date
JPH03174652A (ja) 1991-07-29

Similar Documents

Publication Publication Date Title
US6094647A (en) Presearch type document search method and apparatus
JP2986865B2 (ja) データ検索方法および装置
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
US5995962A (en) Sort system for merging database entries
CN1008016B (zh) 输入处理***
US20040122660A1 (en) Creating taxonomies and training data in multiple languages
JP2791106B2 (ja) 文字列検索装置
JPH1027183A (ja) データ登録方法および装置
JPH05101102A (ja) 検索装置
JPH06348757A (ja) 文書検索装置および方法
JP2002251412A (ja) 文書検索装置および方法ならびに記憶媒体
JP2000003366A (ja) 文書登録方法と文書検索方法及びその実施装置並びにその処理プログラムを記録した媒体
JP3489237B2 (ja) 文書検索方法
JP2880199B2 (ja) 記号列検索方法および検索装置
JP3141428B2 (ja) 数値検索装置およびその方法
JP2880192B2 (ja) 文字列検索方法及び装置
JP2001005830A (ja) 情報処理装置及びその方法、コンピュータ可読メモリ
Hickey Searching linear files on‐line
JP2002132789A (ja) 文書検索方法
JPH0317780A (ja) 記号列検索方法および装置
Hollaar Rotating memory processors for the matching of complex textual patterns
JP2000259658A (ja) 文書分類装置
CN107818126A (zh) 一种面向Mongo数据库的全文信息检索方法
JPH04340164A (ja) マルチキーワード情報検索処理方式および検索ファイル作成装置
JP2550022B2 (ja) 文書情報検索方式

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081001

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091001

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101001

Year of fee payment: 11

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101001

Year of fee payment: 11