(57)【特許請求の範囲】
【請求項１】
入力した検索キーワードと指定された検索種別に基づいてファイル中から前記検索キーワードに対応する項目を探索する文字列検索方法において、
利用者が入力した検索種別を判別し、
前記利用者が入力した検索キーワードを構成する文字の字種について、前記検索キーワードがかな文字のみからなりかつ前記検索種別が一致検索である場合には、文字長が２である連語を前記検索キーワードから順次抽出し、それ以外の場合には、文字長が１である連語を前記検索キーワードから順次抽出し、
前記ファイル中の各項目の文字列と前記一群の連語とを比較して当該文字列に対する一致度を算出し、
前記一致度がしきい値以上である項目を検索された項目とすることを特徴とする文字列検索方法。
【請求項２】
前記ファイル中の各項目には、それぞれ、当該項目の読みに対応するかな文字列が付加されている請求項１に記載の文字列検索方法。
【請求項３】
入力した検索キーワードと指定された検索種別に基づいてファイル中から前記検索キーワードに対応する項目を探索する文字列検索装置において、
前記検索キーワードと前記検索種別としきい値を入力する入力手段と、
利用者が入力した検索種別を判別するとともに前記利用者が入力した検索キーワードを構成する文字の字種について、前記検索キーワードがかな文字のみからなりかつ前記検索種別が一致検索である場合には、文字長が２である連語を前記検索キーワードから順次抽出し、それ以外の場合には、文字長が１である連語を生成する連語生成手段と、
前記ファイル中の各項目の文字列と前記連語とを比較して当該文字列に対する一致度を算出する処理手段とを有し、
前記一致度が前記入力されたしきい値以上である項目を検索された項目とすることを特徴とする文字列検索装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、与えられた検索キーワードに応じて検索を行う情報検索における文字列検索方法及び装置に関する。
【０００２】
【従来の技術】
国語辞書や英和辞書、百科事典類などはこれまで紙媒体によって刊行されてきたが、近年、コンピュータ可読型の記憶媒体、特にＣＤ−ＲＯＭなどの読み出し専用記憶媒体に格納された形態でこれら辞書、事典類が流通するようになってきている。こういったＣＤ−ＲＯＭ版の辞書・事典（電子化された辞書・事典）では、検索時間の短縮を目的として、インデックスファイルを設けるのが一般的である。インデックスファイルは、検索対象となる語（見出し語ないし索引語）ごとに、その語に対応する物件（辞書などであれば説明文）がＣＤ−ＲＯＭ中のどこに所在するかの情報（いわゆるポインタ）を記述したファイルであり、インデックスファイルに対して文字列検索を行うことにより、すなわち利用者の入力した検索キーワードに一致する見出し語ないし索引語がインデックスファイル中にあるかを調べることによって、検索対象の物件に短時間でアクセスすることが可能になる。
【０００３】
なお、国語辞書の場合には、見出し語とその見出し語に対する物件（説明文）が１対１で対応すると考えることができるが、百科事典などの場合には、１つの索引語に複数の物件（説明文）が対応することがありうる。また、特許文献などの全文データベースを格納したＣＤ−ＲＯＭにおいても、例えば統制語方式により、検索に使用されるキーワードに基づいてインデックスファイルを予め構成しておくことにより、インデックスファイルに登録されているキーワードについては短時間で全文検索を行うことが可能になる。
【０００４】
ところで、ファイル中に検索キーワードと一致する文字列があるかどうかを検索する文字列検索方法として、検索キーワードを分割して一群の連語を生成し、ファイル中の文字列と一群の連語との一致度を求めことにより、文字列を検索する方法があり、この方法は広く用いられている。連語とは、検索キーワード中で隣接する文字の組み合わせで構成された１あるいは数文字の長さの文字の並びのことである。検索キーワードのままであるとその長さが一定しないので処理が複雑になるが、このように連語に分割して検索することにより、大量のデータに対して高速での検索処理が可能になる。
【０００５】
ここで、この連語を用いた文字列検索方法について、図１３のフローチャートを用いて説明する。ここでは、連語の文字長が２文字であり、検索キーワードとして「あいうえお」が選ばれるものとする。
【０００６】
まず、利用者によって検索キーワード（ここでは「あいうえお」）が入力され（ステップ９１）、入力された検索キーワードが連語長２文字の連語「あい」、「いう」、「うえ」、「えお」に分割される（ステップ９２）。続いて、各連語に関して対象とするファイルを検索してファイル中の各項目にその連語が含まれているかを調べ、連語と一致した文字列をカウントする（ステップ９３）。全ての連語についての検索が終ったかを判断し（ステップ９４）、未検索の連語があればステップ９３に戻り、全ての連語についての検索が終っていれば、文字列ごとにカウント数を合計して一致度を算出し（ステップ９５）、一致度が１００％である文字列を出力し（ステップ９６）、処理を終了する。
【０００７】
一致度は、検索キーワードと文字列との一致の度合を示す尺度であって、各文字列ごとに、
一致度（％）＝［（カウント数の合計）／（連語の種類）］×１００
なる式で算出される。
【０００８】
ここでは、連語長が２文字で検索キーワードが「あいうえお」であるので、連語の種類は「あい」、「いう」、「うえ」、「えお」の４種類である。表１は、各種の文字列に対する一致度を示した表であり、表中の○印はその連語がその文字列に含まれていることを示している。文字列に対する一致度が１００％である場合に、その文字列が検索キーワードと同一の文字列であることが多いので、検索者に対しては一致度が１００％である文字列が出力される。
【０００９】
【表１】
0003665112.tif 000002
ところで、実際の文字列検索の局面では、検索キーワードと完全に一致する文字列のみを検索（完全一致検索）したのでは、利用者の検索要求に対して不十分であることがある。例えば、辞書の見出し項目の検索を例に挙げれば、表記のゆれなどがある場合には利用者の入力した検索キーワードと辞書での見出し項目が一致しないことがあり、あるいは、類似の単語を網羅的に検索したい場合もあり、これらの場合には、完全一致の項目のみを検索したのでは目的とする項目に達することはできず、曖昧検索を行う必要がある。また、ある部分文字列で始まる全ての単語、ある部分文字列で終る全ての単語、ある部分文字列を含む全ての単語を検索したい場合には、それぞれ、先頭一致検索、後方一致検索、部分一致検索を行う必要がある。なお、以下の説明において、完全一致検索、先頭一致検索、後方一致検索、部分一致検索を総称して一致検索とする。また、完全一致検索、先頭一致検索、後方一致検索、部分一致検索、曖昧検索、一致検索などの別を検索種別という。
【００１０】
上述した連語を利用した文字列検索方法では、一致度があるしきい値以上であれば１００％未満であっても検索されたとすることにより、検索キーワードに類似した文字列を検索することができ、曖昧検索を実行することができる。
【００１１】
【発明が解決しようとする課題】
しかしながら、上述した連語に基づく文字列検索方法には、完全一致検索、先頭一致検索、後方一致検索、部分一致検索、曖昧検索などを含む多様な検索種別に的確に対応するのには不十分であるという問題点がある。連語による方法では、一致検索において検索キーワードと一致しないものも検出すること（過検出）が起こり得るが、過検出を少なくして高速で文字列検索処理を行うために、まだ改善の余地がある。
【００１２】
また、日本語の場合、表記用文字としてかな文字と漢字とが併存するので、同一項目に対して利用者が入力する検索キーワードも多種類にわたることがある。そこで、辞書における索引語として、辞書単語のほかにその読みを登録する（索引語「富士山」に対して、読み「ふじさん」を登録する）ことが考えられるが、その場合であっても、例えば項目「富士山」に対する検索キーワードとして、「ふじ山」、「富士山」、「ふじさん」、「ふ士山」などの入力が考えられる。連語を用いた従来の方法では、「ふじ山」や「ふ士山」の入力に対して、目的とする文字列を検索することは容易ではない。
【００１３】
本発明の目的は、完全一致検索や曖昧検索などの多様な検索種別での検索を過検索が少なくて高速で実行でき、かつ任意に漢字とかなが混じりあったような検索キーワードでの検索も可能な文字列検索方法及び装置を提供することにある。
【００１４】
【課題を解決するための手段】
本発明の文字列検索方法は、入力した検索キーワードと指定された検索種別に基づいてファイル中から検索キーワードに対応する項目を探索する文字列検索方法において、利用者が入力した検索種別を判別し、利用者が入力した検索キーワードを構成する文字の字種について、検索キーワードがかな文字のみからなりかつ検索種別が一致検索である場合には、文字長が２である連語を検索キーワードから順次抽出し、それ以外の場合には、文字長が１である連語を検索キーワードから順次抽出し、ファイル中の各項目の文字列と前記一群の連語とを比較して当該文字列に対する一致度を算出し、一致度がしきい値以上である項目を検索された項目とすることを特徴とする。
【００１５】
本発明の文字列検索方法は、検索キーワードの文字の字種と検索種別とに応じて異なる生成規則による連語を検索キーワードから抽出しようとするものである。ここで字種とは、漢字、かな文字などの種類の別を指す。このように生成規則を変化させることにより、多様な検索種別での検索を過検索が少なくて高速で実行でき、かつ任意に漢字とかなが混じりあったような検索キーワードでの検索も可能になる。
【００１６】
具体的には、例えば、検索キーワードがかな文字のみからなりかつ検索種別が一致検索である場合には、文字長が２である連語を検索キーワードから順次抽出し、それ以外の場合には、文字長が１である連語を検索キーワードから順次抽出する。一致検索の際に検索キーワードがかな文字のみで構成されている場合に連語長を２文字とすることにより、過検出が抑止され、また、その他の場合に連語長を１文字とすることにより、曖昧検索などを的確に行うことが可能になる。
【００１７】
さらに、任意に漢字とかな文字が混っているような検索キーワードに対応するため、ファイル中の各項目には、それぞれ、当該項目の読みに対応するかな文字列が付加するようにすることが望ましい。上述のように、漢字かな混じりの検索キーワードに対しては連語の文字長を短く、例えば１とすることによって、任意に漢字かな混じりとなっている検索キーワードに対しても有効に文字列検索を行うことが可能になる。
【００１８】
本発明の文字列検索装置は、入力した検索キーワードと指定された検索種別に基づいてファイル中から前記検索キーワードに対応する項目を探索する文字列検索装置において、検索キーワードと検索種別としきい値を入力する入力手段と、利用者が入力した検索種別を判別するとともに利用者が入力した検索キーワードを構成する文字の字種について、検索キーワードがかな文字のみからなりかつ検索種別が一致検索である場合には、文字長が２である連語を検索キーワードから順次抽出し、それ以外の場合には、文字長が１である連語を生成する連語生成手段と、ファイル中の各項目の文字列と連語とを比較して当該文字列に対する一致度を算出する処理手段とを有し、一致度が入力されたしきい値以上である項目を検索された項目とすることを特徴とする。
【００１９】
【発明の実施の形態】
次に、本発明の望ましい実施の形態について、図面を参照して説明する。図１は、本発明の実施の一形態の情報検索システムを説明するブロック図である。
【００２０】
この情報検索システムは、辞書や事典類を内容とするＣＤ−ＲＯＭ２０と、利用者の入力した検索キーワードに応じてＣＤ−ＲＯＭ２０を検索し検索結果を表示する処理装置１０とによって構成されている。後述するように、ＣＤ−ＲＯＭ２０の検索に際しては、インデックスデータファイル３０中の項目に対して本発明の方法によって文字列検索が行われており、処理装置１０は、本発明の文字列検索装置としても機能する。
【００２１】
処理装置１０には、ＣＤ−ＲＯＭ２０を装着して必要なデータを読み出すためのＣＤ−ＲＯＭドライブ１１と、ＣＰＵなどで構成され検索処理やＣＤ−ＲＯＭドライブ１１の動作の制御などを行うための処理部１２と、検索処理に必要なファイルを一時的に格納するためのファイル格納用メモリ１３と、タッチパネルやキーボードなどからなり利用者からの検索要求、検索キーワード、検索種別、しきい値などが入力する入力部１４と、液晶パネルなどからなり検索結果を利用者に対して表示するための表示部１５とが設けられている。処理部１２には、ＣＤ−ＲＯＭ２０中あるいはファイル格納用メモリ１３内のファイルに対して連語による検索を行う検索部１６と、入力した検索キーワードから検索条件に応じて連語を生成する連語生成部１７と、一致度を算出してしきい値と比較する比較部１８が設けられている。また、表示部１５は、外部のテレビジョン受像機に対し、検索結果をテレビジョン画像として表示するための映像信号を出力するものであってもよい。
【００２２】
ＣＤ−ＲＯＭ２０の記憶領域の構成が図２に示されている。ここでは、ＣＤ−ＲＯＭ２０がＣＤ−ＲＯＭ版の辞書である例が示されているが、別に辞書に限定される必要はなく、百科事典類、写真集、旅行ガイドブック、各種ハンドブック・規格書、論文集、特許公報類など、検索を行って所望のデータにアクセスすることを目的とするものであれば、どのようなものであってもよい。
【００２３】
ＣＤ−ＲＯＭ２０の格納領域は、検索処理プログラムが格納される処理プログラム格納部２１と、インデックスファイル類が格納されるインデックスファイル格納部２２と、辞書の説明文（物件）が格納される辞書データ本体格納部２３とに分けられている。本実施の形態では、処理装置１０の処理部１２で走らせるための検索処理プログラム自体を検索対象のＣＤ−ＲＯＭ２０内に格納し、ＣＤ−ＲＯＭ２０がＣＤ−ＲＯＭドライブ１１に装着された時点で、検索処理プログラムが処理装置１０の処理部１２に読み込まれるようにしている。
【００２４】
本実施の形態では、図３に示すように、インデックスファイルとしてインデックスデータファイル３０を使用するとともに、検索の高速化のために、検索用指示ファイル３１と検索用倒置ファイル３２を使用している。検索用指示ファイル３１と検索用倒置ファイル３２は、インデックスデータファイル３０から学習工程を経て生成されるファイルである。これらインデックスデータファイル３０、検索用指示ファイル３１及び検索用倒置ファイル３２はいずれもインデックスファイル格納部２２内に格納され、このうち、検索用指示ファイル３１は検索時には処理装置１０のファイル格納用メモリ１３内に読み込まれるようになっている。また、説明文ごとに連続番号でインデックス番号が付与されており、索引語からインデックス番号を知ることによって、ＣＤ−ＲＯＭ２０中での対応する説明文の格納場所に対して即座にアクセスすることができるようになっている。以下、各ファイル３０〜３２について説明する。
【００２５】
インデックスデータファイル３０は、図４に示すように、ＣＤ−ＲＯＭ２０内の説明文（物件）にアクセスするため基本となるファイルであって、説明文ごとに、その説明文に対するインデックス番号と索引語（見出し語）とＣＤ−ＲＯＭ２０内での格納位置とを記述したものである。説明文は索引語の読みの五十音順で配置されており、各説明文に対して０から始まる連続番号であるインデックス番号が、重複しないように付与されている。各索引語は「読み」と「実体」とに分かれており、「読み」にはその索引語の読みが格納され、「実体」にはその索引語の実際の表記（漢字やアルファベット）が格納されている。なお、この実施の形態ではひらがなとかたかなの区別、清音と濁音、半濁音の区別は行っておらず、また、ひらがなのみで表記される索引語については、「実体」には何も格納していない。
【００２６】
検索用倒置ファイル３２は、いわゆる倒置（インバーテッド）ファイルとして構成されており、曖昧検索などを実現するために、索引語（キーワード）を１文字あるいは２文字の連語（例えば、「あ」,「い」,「ああ」,「山」）に分解し、連語をキーとしてその連語を含む項目のインデックス番号が参照できるように構成されている。連語とは本来は２文字以上の文字列集団を指すが、本明細書においては、１文字のものも連語と呼ぶことにする。索引語を連語に分解しているので、１索引語に１つの説明文しか対応しない場合（国語辞書などの場合）であっても１つの連語には複数のインデックス番号が対応し、したがって、連語ごとにレコードを構成するとすれば、検索用倒置ファイル３２は可変長レコードのファイルであるといえる。以下、検索用倒置ファイルにおける連語ごとのインデックス番号の並びを連語のレコードと呼ぶ。なお、検索用指示ファイル３１が設けられているので、検索用倒置ファイル３２には、連語そのものを格納しておく必要はない。一方、検索用指示ファイル３１は、連語をキーとして、検索用倒置ファイルにおいてその連語のレコードがどこにあるかを指示するファイルである。したがって、連語をごとにレコードを構成するとするすれば、検索用指示ファイルは固定長のファイルであるといえる。後述するように、実際に検索を行う場合には、それに先立って検索用指示ファイル３１がＣＤ−ＲＯＭ２０から処理装置１０側に読み出される。
【００２７】
次に、インデックスデータファイル３０から検索用指示ファイル３１及び検索用倒置ファイル３２を生成する学習工程について、図５を用いて説明する。まず、各索引語から１文字の連語としての構成文字を抽出する。「読み」の部分については、２文字の連語（構成文字列）も抽出する。例えば、見出し語「（読み）あそさん、（実体）阿蘇山」からは、「あ」,「そ」,「さ」,「ん」,「あそ」,「そさ」,「さん」,「阿」,「蘇」,「山」が抽出される。そして、これら各構成文字がどのインデックス番号の見出し語に含まれているかを求め、そのインデックス番号を保存する。つまり、構成文字（列）をキーとしインデックス番号を並びとするインバーテッドファイルを生成する。そして、ページング処理を実行し、インデックス番号の代りにページング後のインデックス番号が記録されるようにする。ページングとは、検索速度の向上を目的として、一連のインデックス番号を複数のページに分けることである。例えば、インデックス番号を６５５３６（＝２16）で除算したとして、商をページの番号、余りをページングのインデックス番号とする。このようにページングを定義すると、ページングの結果、インデックス番号２３２１０は第０ページの２３２１０と、６５５３７は第１ページの１と表わされることになる。
【００２８】
なお、インデックス番号は索引語の読みの五十音順で付与されているから、索引語の読みの先頭文字が指定されれば、対応するインデックス番号の値の取り得る範囲やどのページに属しているかを知ることができる。本実施の形態では、そのことを利用して、完全一致検索と先頭一致検索の高速化を図っている。場合によっては、１ページに含まれるインデックス番号の数を可変にしてページ境界と先頭文字の境目が一致するようにしてもよく、そうすることにより、先頭文字が指定されれば検索すべきページが１つに定まることになる。また、補助ファイルとして先頭文字位置ファイルを設け、「読み」の部分に関して先頭文字ごとにその先頭文字が始まるインデックス番号を格納するようにしてもよい。これにより、例えば、「読み」において先頭文字が「う」であるものは、インデックス番号が２３６９から３９５５の範囲にあるものと即座に分かり、検索対象を絞り込むのに役立つ。
【００２９】
図６は検索用指示ファイル３１の構成例を示している。ここでは、各構成文字の各ページごとに、その構成文字が出現した索引語の数（該当するインデックス番号の数）が格納されている。検索用指示ファイル３１での構成文字の順は検索用倒置ファイル３２での構成文字の順と同じとなっており、検索用指示ファイル３１において注目する構成文字の直前の構成文字までに出現回数として格納された数の総和を求めれば、その総和は、検索用倒置ファイル３２でのその注目する構成文字に対するポインタとして扱うことができる。あるいは、検索用指示ファイル３１には、各構成文字の各ページごとに、検索用倒置ファイル３２における当該構成文字の当該ページの先頭のアドレスを直接記録するようにしてもよく、このように構成すれば、検索用指示ファイル３１での値を検索用倒置ファイル３２のレコードに対するポインタとしてそのまま使用することが可能になる。
【００３０】
図７は検索用倒置ファイル３２の構成例を示している。この検索用倒置ファイル３２では、各構成文字の各ページを単位としてレコードが構成され、各レコードは、可変長であって、該当する構成文字の該当するページに出現するインデックス番号を並びとして格納している。各レコードには、構成文字やページを表わすデータは格納されていない。インデックス番号自体は、所定の整数型データとして表わされている。検索用指示ファイル３１に格納されているデータが図６に示すようであれば、各レコードの要素数（格納されているインデックス番号の数）は、図７において要素数として表わされた数となる。
【００３１】
次に、情報検索処理について説明する。まず、情報検索の処理手順の概要について、図８及び図９を用いて説明する。
【００３２】
ＣＤ−ＲＯＭ２０が処理装置１０に装着されると、まず、検索処理プログラムがＣＤ−ＲＯＭ２０から読み出されて処理装置１０の処理部１２にロードされ、この検索処理プログラムの実行が開始する（ステップ１０１）。続いて、ＣＤ−ＲＯＭ２０から検索用指示ファイル３１が読み出され、処理装置１０のファイル格納用メモリ１３に格納される（ステップ１０２）。
【００３３】
利用者が検索キーワードを入力すると（ステップ１０３）、入力した検索キーワードに応じてファイル格納用メモリ１３内の検索用指示ファイル３１が検索され、その検索結果によってＣＤ−ＲＯＭ２０内の検索用倒置ファイル３２が検索される（ステップ１０４）。すなわち、図９に示すように、検索キーワードが連語に分解され、連語によって検索用指示ファイル３１が検索され、検索用倒置ファイル３２における検索すべきレコードの位置が求められる。そして、該当する連語のレコードが検索用倒置ファイル３２から検索されて処理装置１０側に読み込まれる。読み込まれた連語のレコードの数に対するあるインデックス番号が出現するレコードの数の割合すなわち一致度を求め、一致検索であればこの一致度が１００％であり、曖昧検索であればこの一致度が所定のしきい値を上回っているときに、そのインデックス番号に基づいて説明文を読み込むようにする。そして、上述のように読み込まれた説明文すなわち検索結果の説明文を表示部１５に表示し、利用者に対して次の検索を行うかどうかを問い合わせる（ステップ１０５）。次の検索を行う場合にはステップ１０３に戻って次の検索キーワードの入力を受け付け、次の検索を行わない場合にはそのまま処理を終了する。
【００３４】
この実施の形態では、データ量の大きなインデックスデータファイル３０や検索用倒置ファイル３２をＣＤ−ＲＯＭ２０内に残しておき、データ量が小さくかつ検索用倒置ファイル３２に対するポインタとして使用される検索用指示ファイル３１を処理装置１０内のファイル格納用メモリ１３にロードし、検索キーワードに基づく検索をまず検索用指示ファイル３１に対して実行することにより、十分なメモリを備えていないような場合であっても、高速で検索を行うことが可能になる。すなわち、最終的には検索用倒置ファイル３２からの処理装置１０へのデータの読み込みが必要になるが、検索用指示ファイル３１を用いて対象となる連語のレコードを絞っているので、検索用倒置ファイル３２から読み込まれるレコードの数を必要最小限にし、ＣＤ−ＲＯＭ２０からの読み込みに要する時間を縮減することが可能になっている。検索用指示ファイル３１はファイル格納用メモリ１３に常駐させておくことが可能なので、繰り返して検索を行う場合に大幅に検索時間を減らすことが可能である。
【００３５】
以下、上述のステップ１０３及び１０４すなわち文字列検索処理を含む情報検索処理の詳細について、図１０及び図１１を用いて説明する。
【００３６】
利用者によって検索種別（完全一致検索、部分一致検索、先頭一致検索、後方一致検索あるいは曖昧検索の別）と検索キーワードが入力されると（ステップ１１１）、まず、曖昧検索かそうでないかの判断がなされる（ステップ１１２）。曖昧検索の場合には、利用者から一致度に対するしきい値ｘの入力を受け（ステップ１１３）、入力された検索キーワードから、漢字１文字で構成された連語とひらがな１文字で構成された連語を順次抽出する（ステップ１１４）。本実施の態様では、上述したように、１文字あるいは２文字からなる連語に検索キーワードを分解し、分解して得た連語に基づいて検索を行う。例えば検索キーワード「あそ山」からは「あ」,「そ」,「山」が連語として抽出される。なお、同一の連語が重複しては抽出されないようにする。そして、抽出された連語により、ファイル格納用メモリ１３に既に格納されている検索用指示ファイル３１を検索する（ステップ１１５）。検索キーワード「あそ山」の例でいえば、検索用指示ファイル３１での構成文字「あ」,「そ」,「山」の内容がそれぞれ読み出され、「あ」,「そ」,「山」に関する検索用倒置ファイル３２へのポインタがそれぞれ算出される。そして、ステップ１２５に移行する。
【００３７】
一方、ステップ１１２で曖昧検索でない場合、すなわち一致検索の場合には、しきい値ｘを自動的に１００％に設定し（ステップ１１６）、入力された検索キーワードが全てかな文字からなるあるいは全て漢字からなるかどうかを判定する（ステップ１１７）。全てかな文字あるいは全て漢字ではない場合（典型的にはかなと漢字が混在する場合）には、上述のステップ１１４とステップ１２５を順次実行してステップ１２５に移行し、全てかな文字あるいは全て漢字の場合には、検索キーワードが全てかなであるかを判定する（ステップ１１８）。ステップ１１８で全てかなの場合には、検索キーワードから、ひらがな２文字で構成された連語を順次抽出する（ステップ１１９）。例えば、検索キーワードが「あそさん」であれば、連語として「あそ」,「そさ」,「さん」が抽出される。一方、ステップ１１８で全てかなでない場合、すなわち全て漢字の場合には、検索キーワードから、漢字１文字で構成された連語を順次抽出する（ステップ１２０）。例えば、検索キーワード「阿蘇山」からは連語として「阿」,「蘇」,「山」が抽出される。そして、ステップ１１９を実行した場合もステップ１２０を実行した場合も、このようにして抽出された連語により、上述と同様に、ファイル格納用メモリ１３に既に格納されている検索用指示ファイル３１を検索する（ステップ１２１）。
【００３８】
ところで、後述するように検索実行文字に基づいて最終的にはＣＤ−ＲＯＭ２０内の検索用倒置ファイル３２が検索されることになっており、その際、連語が多数あると、それだけＣＤ−ＲＯＭ２０へのアクセス回数が増えることになる。そこで、ステップ１２１の実行後、連語がＮ個以上見つかったかどうかを判断し、連語がＮ個以上であれば、出現回数が多い方の連語から削って連語の数をＮ−１にする（ステップ１２２）。連語の出現回数は検索用指示ファイル３１に記述されている。Ｎは例えば７に設定する。ここで出現回数の多い方から削るのは、出現回数の多い連語は多くの見出し語に含まれていて、入力された検索キーワードを特定するのに余り役立たないと考えられるからである。ステップ１２２の実行後、▲１▼検索種別が完全一致検索あるいは先頭一致検索であって、かつ、▲２▼先頭文字がかなである、が満たされているかどうかを判断する（ステップ１２３）。満たされていない場合にはそのままステップ１２５に移行し、満たされている場合には、上述のように構成文字の先頭文字が特定のページに対応していることから、検索キーワードの先頭のかな文字に基づいて、検索すべき対象のページを決定し（ステップ１２４）、その後、ステップ１２６に移行する。
【００３９】
ステップ１２５では、検索種別が曖昧検索であるかを判定し、曖昧検索であればそのままステップ１２６に移行し、曖昧検索でない場合にはステップ１２３に移行する。
【００４０】
ステップ１２６では、ステップ１１５あるいはステップ１２１での検索用指示ファイル３１の検索結果に応じ、ＣＤ−ＲＯＭ２０内の検索用倒置ファイル３２から未処理の１ページ分のレコードを読み込む。検索キーワード「あそ山」の例では、「あ」,「そ」,「山」のそれぞれについてのレコードが読み出される。後述するように、ステップ１２４で対象ページが設定されている場合を除いてステップ１２５は繰り返して実行されるが、例えばまず、第０ページに属するレコードが読み出され、次にステップ１２５が実行されるときに第１ページに属するレコードが読み出される。また、ステップ１２４で対象ページが設定されている場合には、その対象ページに属するレコードが読み出される。上述したようにステップ１１５あるいはステップ１２１では、各連語ごとに検索用倒置ファイル３２でのその連語のレコードへのポインタ（格納位置に関する情報）が求められているから、このポインタを用いて検索用倒置ファイル３２にアクセスし、その連語のレコードを読み出せばよい。すなわち、検索用倒置ファイル３２の全体を走査する必要はなく、検索用倒置ファイル３２の必要な場所に直接アクセスすることが可能になっている。
【００４１】
そして、検索キーワードから生成した一群の連語に対する各インデックス番号の一致度を求める（ステップ１２７）。図１２は一致度の集計を説明する図である。すなわち、検索用倒置ファイル３２から読み出されたレコードについて、各インデックス番号ごとに出現回数をカウントする。図１５において○印はそのレコードにおいてそのインデックス番号が記録されていたことを示している。この例では、検索キーワード「あそ山」から抽出された各連語「あ」,「そ」,「山」のレコードについて、それぞれどのインデックス番号が出現したかが示されており、例えば連語「あ」のレコードには、インデックス番号０,３,８,９,１３,１５が記録されていることが示されている。そして、連語の数（この例では３）で出現回数を除算することにより、各インデックス文字ごとに一致度が求められている。この例では、連語の各レコードに共通にインデックス番号１３が含まれ（出現回数が３）、インデックス番号１３に対する一致度が１００％であることが示されている。
【００４２】
一致度の集計が終了したら、▲１▼検索種別が完全一致か先頭一致検索であり、かつ、▲２▼検索文字列の先頭がかなである、という条件を満足するかどうかを判定する（ステップ１２８）。この条件を満足しない場合にはそのままステップ１３０に移行し、満足する場合には、検索キーワードの先頭文字に応じて評価対象となるインデックス番号の範囲を求め（ステップ１２９）、以後の処理ではその範囲内のインデックス番号のみを対象とするようにして、ステップ１３０に移行する。このように先頭文字に応じてインデックス番号の範囲を絞るのは、インデックス番号の一致度のみに着目すると検索キーワード「あそ山」に対して見出し語「山あそ」もヒットすることになるので、このような検索ノイズの発生を防ぎ、ＣＤ−ＲＯＭ２０への不要なアクセスを減らすためである。先頭文字「あ」で範囲を限定すれば、検索キーワード「あそ山」に対し、「あ山そ」はヒットするが、「山あそ」などのヒットは防ぐことができる。
【００４３】
ステップ１３０では、一致度がしきい値ｘ以上となっているインデックス番号を求める。一致検索に対してはステップ１１６でｘ＝１００％としているので、一致度が１００％のインデックス番号のみが求められる。一方、曖昧検索の場合には、ステップ１１３で入力したしきい値ｘに応じてインデックス番号が求められる。そして、求められたインデックス番号に基づいてＣＤ−ＲＯＭ２０内のインデックスデータファイル３０を参照し、それらのインデックス番号に対応する見出し語を求める（ステップ１３１）。その際、それらのインデックス番号に対応する説明文の辞書データ本体格納部２３での格納位置も求めておく。
【００４４】
続いて、検索種別が曖昧検索であるかどうかを判断し（ステップ１３２）、曖昧検索であればそのままステップ１３４に移行し、曖昧検索でない場合すなわち一致検索である場合には、求められた見出し語が検索条件と合致しているかを判定する（ステップ１３３）。ステップ１３３において検索条件と合致している場合にはステップ１３４に移行し、検索条件に合致していない場合にはステップ１３５に移行する。ここで検索条件と合致しているかを判断するのは、本実施の形態の手順によれば、検索キーワード「あそ山」に対して「あそ山」と「あ山そ」の両方が見出し語として検出されるので、ノイズである「あ山そ」を排除するためである。なお、曖昧検索の場合には、利用者の意図する検索対象に「あ山そ」も含まれている可能性があるので、検索条件に合致しているかどうかのステップ１３３でのチェックは行わない。
【００４５】
曖昧検索である場合とステップ１３３で検索条件に合致している場合にはステップ１３４に移行するが、ステップ１３４では、該当するインデックス番号に対応する説明文をＣＤ−ＲＯＭ２０の辞書データ本体格納部２３から読み出し、検索された見出し語と対応する説明文とを表示部１５に表示し、ステップ１３５に移行する。辞書データ本体格納部２３にアクセスする場合には、ステップ１３１においてインデックスデータファイル３０にアクセスした際に既に求めてある格納位置の情報を使用する。
【００４６】
ステップ１３５では、全ページの処理が終了したかどうかを判断し、未処理のページが残っているのであればステップ１２６に戻り、全ページの処理が終了しているのであれば、入力された検索キーワードに対する情報検索処理を終了する。ステップ１２４で対象ページが定められている場合には、未処理のページが存在しないので、そのまま処理を終了する。
【００４７】
【発明の効果】
以上説明したように本発明は、検索キーワードの文字種と検索種別とに応じて異なる生成規則による連語を検索キーワードから抽出しようとするものである。このように生成規則を変化させることにより、多様な検索種別での検索を過検索が少なくて高速で実行でき、かつ任意に漢字とかなが混じりあったような検索キーワードでの検索も可能になるという効果がある。
【００４８】
例えば、一致検索の際に検索キーワードがかな文字のみで構成されている場合に連語長を２文字とすることにより、かな文字のみの一致検索での過検出が抑止され、また、その他の場合に連語長を１文字とすることにより、曖昧検索などを的確に行うことが可能になる。
【００４９】
ファイル中の各項目には、それぞれ、当該項目の読みに対応するかな文字列が付加するようにすることにより、漢字かな混じりの検索キーワードに対しても有効に文字列検索を行うことが可能になる。
【図面の簡単な説明】
【図１】本発明の実施の一形態の情報検索システムを説明するブロック図である。
【図２】ＣＤ−ＲＯＭ内でのデータの配置を示す図である。
【図３】情報検索処理に使用される各種ファイル間の関係を示す図である。
【図４】インデックスデータファイルの内容の一例を示す図である。
【図５】インデックスデータファイルから各種ファイルを生成するための学習過程を示す図である。
【図６】検索用指示ファイルの内容の一例を示す図である。
【図７】検索用倒置ファイルの内容の一例を示す図である。
【図８】図１の情報検索システムにおける情報検索処理の概要を示すフローチャートである。
【図９】図１の情報検索システムにおける情報検索処理時のデータの流れの概略を示す図である。
【図１０】情報検索処理の具体的処理手順を示すフローチャートである。
【図１１】情報検索処理の具体的処理手順を示すフローチャートである。
【図１２】一致度の集計を説明する図である。
【図１３】従来の文字列検索方法の処理手順の一例を示すフローチャートである。
【符号の説明】
１０    処理装置
１１    ＣＤ−ＲＯＭドライブ
１２    処理部
１３    ファイル格納用メモリ
１４    入力部
１５    表示部
１６    検索部
１７    連語生成部
１８    比較部
２０    ＣＤ−ＲＯＭ
２１    処理プログラム格納部
２２    インデックスファイル格納部
２３    辞書データ本体格納部
３０    インデックスデータファイル
３１    検索用指示ファイル
３２    検索用倒置ファイル
１０１〜１０５，１１１〜１３５    ステップ
【図１】
0003665112.tif 000003
【図２】
0003665112.tif 000004
【図３】
0003665112.tif 000005
【図４】
0003665112.tif 000006
【図５】
0003665112.tif 000007
【図６】
0003665112.tif 000008
【図７】
0003665112.tif 000009
【図８】
0003665112.tif 000010
【図９】
0003665112.tif 000011
【図１０】
0003665112.tif 000012
【図１１】
0003665112.tif 000013
【図１２】
0003665112.tif 000014
【図１３】
0003665112.tif 000015