(57)【要約】【課題】大量のリソースを消費することなく検索処理を高速に実行できる情報検索装置を提供する。【解決手段】情報検索装置１は、検索条件として、複数の単語と単語間距離とを獲得する検索条件獲得手段１１と、検索条件となりうる単語と、単語を含むテキスト情報の識別情報と、単語の出現位置を示すビット位置とが対応付けられて予め作成された位置ビットマップ表に基づいて、検索条件に対応する複数のビットマップ列を獲得するビットマップ列獲得手段１２と、獲得された複数のビットマップ列のそれぞれ対応するビット位置に割り当てられたビットについて、ビットワイズ演算を行うことでビットマップを算出するビットマップ算出手段１３と、ビットマップに対応する情報として、複数のテキスト情報の中から、ビットマップにおいてビットが割り当てられたビット位置に対応するテキスト情報を抽出するビットマップ対応情報抽出手段１４とを備える。【選択図】図１
2009048351.tif 000002
【特許請求の範囲】
【請求項１】
利用者によって入力された検索条件に基づいて、複数のテキスト情報の中から、前記入力された検索条件に対応したテキスト情報を、前記利用者の所望するテキスト情報として検索する情報検索装置であって、
前記検索条件として、前記利用者の所望するテキスト情報の中に含まれる１以上の単語と、前記単語の当該テキスト情報内における相対的な位置を示す情報とを獲得する検索条件獲得手段と、
前記複数のテキスト情報のいずれかに含まれて前記検索条件となりうる単語と、前記単語を含むテキスト情報の識別情報と、前記単語を含むテキスト情報における当該単語の出現位置を識別する情報を示すビット位置とが２値のいずれか一方のビットに対応付けられて予め作成された位置ビットマップ表から、前記検索条件として獲得された単語に対応するビットマップ列を抽出すると共に、前記位置ビットマップ表に基づいて前記検索条件として獲得された相対的な位置を示す情報に対応するビットマップ列を生成することで複数のビットマップ列を獲得するビットマップ列獲得手段と、
前記ビットマップ列獲得手段により獲得された複数のビットマップ列のそれぞれ対応するビット位置に割り当てられたビットについて、ビットワイズ演算を行うことで前記位置ビットマップ表の列に対応したビットマップを算出するビットマップ算出手段と、
前記算出されたビットマップに対応する情報として、前記複数のテキスト情報の中から、前記算出されたビットマップにおいて前記一方のビットが割り当てられたビット位置に対応するテキスト情報を抽出するビットマップ対応情報抽出手段とを備えることを特徴とする情報検索装置。
【請求項２】
前記位置ビットマップ表は、
前記複数のテキスト情報のうちの各テキスト情報を単語毎に区切ったときに区切りを介して連続した複数の単語から構成された単語グループ毎に前記ビット位置が割当てられたものであり、
前記検索条件獲得手段は、
前記検索条件として、前記単語グループ内の複数の単語と、前記複数の単語の当該テキスト情報内における相対的な位置を示す情報として前記複数の単語の間の距離とを獲得し、
前記ビットマップ列獲得手段は、
前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの１つの単語に対応するビットマップ列を抽出すると共に、前記位置ビットマップ表に基づいて前記検索条件として獲得された複数の単語の間の距離に対応するビットマップ列として、前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの残余の単語に対応するビットマップ列をそれぞれ抽出することを特徴とする請求項１に記載の情報検索装置。
【請求項３】
前記位置ビットマップ表の前記単語グループは、句点により仕切られた連続した複数の単語から構成された文を最小構成要素として文法の形式上または文章の意味内容上のまとまりであり、
前記検索条件獲得手段は、文を単位として、前記複数の単語の間の距離を獲得することを特徴とする請求項２に記載の情報検索装置。
【請求項４】
複数の単語間の距離に応じて予めそれぞれ作成された複数の前記位置ビットマップ表を格納する位置ビットマップ表格納部をさらに備え、
前記ビットマップ列獲得手段は、
前記検索条件として獲得された複数の単語間の距離に基づいて、前記位置ビットマップ表格納部から前記位置ビットマップ表を選択し、前記選択した位置ビットマップ表から前記複数のビットマップ列を獲得することを特徴とする請求項２または請求項３に記載の情報検索装置。
【請求項５】
前記位置ビットマップ表は、
前記複数のテキスト情報のうちの各テキスト情報の単語毎に前記ビット位置が割当てられたものであり、
前記検索条件獲得手段は、
前記検索条件として、複数の単語と、前記複数の単語の当該テキスト情報内における相対的な位置を示す情報として前記複数の単語の間の距離とを獲得し、
前記ビットマップ列獲得手段は、
前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの１つの単語に対応するビットマップ列を抽出すると共に、前記位置ビットマップ表に基づいて前記検索条件として獲得された複数の単語の間の距離に対応するビットマップ列として、前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの残余の単語に対応するビットマップ列にそれぞれ割り当てられた各ビットを前記複数の単語の間の距離に基づいてビットシフトしたビットマップ列をそれぞれ生成することを特徴とする請求項１に記載の情報検索装置。
【請求項６】
前記位置ビットマップ表は、
前記複数のテキスト情報のうちの各テキスト情報を単語毎に区切ったときに句点により仕切られた連続した複数の単語から構成された文毎に、前記ビット位置が割当てられたものであり、
前記検索条件獲得手段は、
前記検索条件として、前記文を構成する複数の単語と、前記複数の単語の当該テキスト情報内における相対的な位置を示す情報として前記複数の単語が１つの文に含まれていることを示す所定値とを獲得し、
前記ビットマップ列獲得手段は、
前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの１つの単語に対応するビットマップ列を抽出すると共に、前記位置ビットマップ表に基づいて前記検索条件として獲得された所定値に対応するビットマップ列として、前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの残余の単語に対応するビットマップ列をそれぞれ抽出することを特徴とする請求項１に記載の情報検索装置。
【請求項７】
前記検索条件獲得手段は、
１つの単語を獲得すると共に、前記獲得した単語について当該テキスト情報内における相対的な位置を示す情報として、当該テキスト情報内において前記ビット位置を獲得し、
前記ビットマップ列獲得手段は、
前記位置ビットマップ表から前記検索条件として獲得された１つの単語に対応するビットマップ列を抽出すると共に、前記位置ビットマップ表に基づいて前記検索条件として獲得された単語に対応して獲得された前記ビット位置に前記一方のビットが割り当てられたビットマップ列を生成することを特徴とする請求項１に記載の情報検索装置。
【請求項８】
利用者によって入力された検索条件に基づいて、前記複数のテキスト情報の中から、前記入力された検索条件に対応したテキスト情報を、前記利用者の所望するテキスト情報として検索する情報検索装置の情報検索方法であって、
前記情報検索装置は、
前記検索条件として、前記利用者の所望するテキスト情報の中に含まれる１以上の単語と、前記単語の当該テキスト情報内における相対的な位置を示す情報とを獲得する検索条件獲得ステップと、
前記複数のテキスト情報のいずれかに含まれて前記検索条件となりうる単語と、前記単語を含むテキスト情報の識別情報と、前記単語を含むテキスト情報における当該単語の出現位置を識別する情報を示すビット位置とが２値のいずれか一方のビットに対応付けられて予め作成された位置ビットマップ表から、前記検索条件として獲得された単語に対応するビットマップ列を抽出すると共に、前記位置ビットマップ表に基づいて前記検索条件として獲得された相対的な位置を示す情報に対応するビットマップ列を生成することで複数のビットマップ列を獲得するビットマップ列獲得ステップと、
前記ビットマップ列獲得ステップにより獲得された複数のビットマップ列のそれぞれ対応するビット位置に割り当てられたビットについて、ビットワイズ演算を行うことで前記位置ビットマップ表の列に対応したビットマップを算出するビットマップ算出ステップと、
前記算出されたビットマップに対応する情報として、前記複数のテキスト情報の中から、前記算出されたビットマップにおいて前記一方のビットが割り当てられたビット位置に対応するテキスト情報を抽出するビットマップ対応情報抽出ステップとを実行することを特徴とする情報検索方法。
【請求項９】
前記位置ビットマップ表は、
前記複数のテキスト情報のうちの各テキスト情報を単語毎に区切ったときに区切りを介して連続した複数の単語から構成された単語グループ毎に前記ビット位置が割当てられたものであり、
前記検索条件獲得ステップは、
前記検索条件として、前記単語グループ内の複数の単語と、前記複数の単語の当該テキスト情報内における相対的な位置を示す情報として前記複数の単語の間の距離とを獲得し、
前記ビットマップ列獲得ステップは、
前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの１つの単語に対応するビットマップ列を抽出すると共に、前記位置ビットマップ表に基づいて前記検索条件として獲得された複数の単語の間の距離に対応するビットマップ列として、前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの残余の単語に対応するビットマップ列をそれぞれ抽出することを特徴とする請求項８に記載の情報検索方法。
【請求項１０】
前記位置ビットマップ表は、
前記複数のテキスト情報のうちの各テキスト情報の単語毎に前記ビット位置が割当てられたものであり、
前記検索条件獲得ステップは、
前記検索条件として、複数の単語と、前記複数の単語の当該テキスト情報内における相対的な位置を示す情報として前記複数の単語の間の距離とを獲得し、
前記ビットマップ列獲得ステップは、
前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの１つの単語に対応するビットマップ列を抽出すると共に、前記位置ビットマップ表に基づいて前記検索条件として獲得された複数の単語の間の距離に対応するビットマップ列として、前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの残余の単語に対応するビットマップ列にそれぞれ割り当てられた各ビットを前記複数の単語の間の距離に基づいてビットシフトしたビットマップ列をそれぞれ生成することを特徴とする請求項８に記載の情報検索方法。
【請求項１１】
前記位置ビットマップ表は、
前記複数のテキスト情報のうちの各テキスト情報を単語毎に区切ったときに句点により仕切られた連続した複数の単語から構成された文毎に前記ビット位置が割当てられたものであり、
前記検索条件獲得ステップは、
前記検索条件として、前記文を構成する複数の単語と、前記複数の単語の当該テキスト情報内における相対的な位置を示す情報として前記複数の単語が１つの文に含まれていることを示す所定値とを獲得し、
前記ビットマップ列獲得ステップは、
前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの１つの単語に対応するビットマップ列を抽出すると共に、前記位置ビットマップ表に基づいて前記検索条件として獲得された所定値に対応するビットマップ列として、前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの残余の単語に対応するビットマップ列をそれぞれ抽出することを特徴とする請求項８に記載の情報検索方法。
【請求項１２】
前記検索条件獲得ステップは、
１つの単語を獲得すると共に、前記獲得した単語について当該テキスト情報内における相対的な位置を示す情報として、当該テキスト情報内において前記ビット位置を獲得し、
前記ビットマップ列獲得ステップは、
前記位置ビットマップ表から前記検索条件として獲得された１つの単語に対応するビットマップ列を抽出すると共に、前記位置ビットマップ表に基づいて前記検索条件として獲得された単語に対応して獲得された前記ビット位置に前記一方のビットが割り当てられたビットマップ列を生成することを特徴とする請求項８に記載の情報検索方法。
【請求項１３】
請求項１ないし請求項７のいずれか一項に記載の情報検索装置の機能をコンピュータで実現するための情報検索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、大量のテキスト情報から、テキスト情報に含まれる単語とその単語のテキスト情報内の位置に関する情報とを検索条件として、利用者の所望するテキスト情報を検索する情報検索装置、情報検索方法および情報検索プログラムに関する。
【背景技術】
【０００２】
従来、例えば、多数のドキュメントファイル等の大量のテキスト情報から、検索条件の情報として、「テキスト情報に含まれる単語」と、「そのテキスト情報内における当該単語の相対的な位置情報」とを用いて、テキスト情報を検索する方法が知られている（例えば、非特許文献１参照）。従来の情報検索方法では、前提として、予め、情報格納部に格納された大量のテキスト情報のうちの各々のテキスト情報に含まれるすべての単語について、各々のテキスト情報内における位置を示す数値を単語位置情報として記録しておく。そして、従来の情報検索装置に、検索条件として、例えば、テキスト情報に含まれる「複数の単語」と、「その単語間の距離」とが入力された場合に、情報検索装置は、まず、第１段階として、入力された「複数の単語」をすべて含むテキスト情報を、大量のテキスト情報の中から検索し、一次的な検索結果である複数のテキスト情報を検索結果セットとして作成、保持する。次に、第２段階として、情報検索装置は、予め記録した単語位置情報を用いて、一次的な検索結果セットに含まれる１つ１つのテキスト情報について、検索条件である「複数の単語」間の距離を計算し、検索条件である「単語間の距離」を満たすテキスト情報を抽出して、最終的な検索結果として利用者に提示する。これにより、利用者は、入力した「複数の単語」と「単語間の距離」に応じた所望のテキスト情報を取得することができる。
【非特許文献１】J. Zobel and A. Moffat, Inverted Files Text Search Engines, ACM Computing Surveys, Vo1.38, No. 2, Article 6, July, 2006
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来の情報検索装置は、第１段階では、入力された検索条件のうち、「テキスト情報に含まれる複数の単語」だけを用いて、「テキスト情報内における当該単語間の距離」を用いずに、一次的な検索結果セットを獲得する。そのため、この検索結果セットに含まれるテキスト情報が大量となってしまう可能性がある。この場合に、検索結果セットを保管するため大量のリソース（主としてメモリ）が消費されることとなる。また、従来の情報検索方法は、一次的な検索結果セットを獲得する第１段階と、利用者に提示する最終的な検索結果を求める第２段階とを有するため、検索処理に時間がかかるという問題がある。
【０００４】
そこで、本発明では、前記した問題を解決し、大量のリソースを消費することなく、検索処理を高速に実行することのできる情報検索装置、情報検索方法および情報検索プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
前記課題を解決するため、請求項１に記載の情報検索装置は、利用者によって入力された検索条件に基づいて、複数のテキスト情報の中から、前記入力された検索条件に対応したテキスト情報を、前記利用者の所望するテキスト情報として検索する情報検索装置であって、前記検索条件として、前記利用者の所望するテキスト情報の中に含まれる１以上の単語と、前記単語の当該テキスト情報内における相対的な位置を示す情報とを獲得する検索条件獲得手段と、前記複数のテキスト情報のいずれかに含まれて前記検索条件となりうる単語と、前記単語を含むテキスト情報の識別情報と、前記単語を含むテキスト情報における当該単語の出現位置を識別する情報を示すビット位置とが２値のいずれか一方のビットに対応付けられて予め作成された位置ビットマップ表から、前記検索条件として獲得された単語に対応するビットマップ列を抽出すると共に、前記位置ビットマップ表に基づいて前記検索条件として獲得された相対的な位置を示す情報に対応するビットマップ列を生成することで複数のビットマップ列を獲得するビットマップ列獲得手段と、前記ビットマップ列獲得手段により獲得された複数のビットマップ列のそれぞれ対応するビット位置に割り当てられたビットについて、ビットワイズ演算を行うことで前記位置ビットマップ表の列に対応したビットマップを算出するビットマップ算出手段と、前記算出されたビットマップに対応する情報として、前記複数のテキスト情報の中から、前記算出されたビットマップにおいて前記一方のビットが割り当てられたビット位置に対応するテキスト情報を抽出するビットマップ対応情報抽出手段とを備えることを特徴とする。
【０００６】
かかる構成によれば、情報検索装置は、予め作成された位置ビットマップ表に基づいて、検索条件に対応した複数のビットマップ列を獲得する。ここで、位置ビットマップ表では、複数のテキスト情報に含まれて検索条件となりうる単語は、その単語が含まれているテキスト情報内のビット位置と対応付けられている。つまり、位置ビットマップ表では、「テキスト情報に含まれる単語」と、「そのテキスト情報内における当該単語の相対的な位置情報」とが予め対応付けられていることとなる。さらに、位置ビットマップ表では、検索条件となりうる単語は、その単語を含むテキスト情報の識別情報と予め対応付けられている。また、位置ビットマップ表では、単語の出現位置に「１」または「０」のいずれか一方のビットを立てることができる。
【０００７】
そして、情報検索装置は、獲得した複数のビットマップ列でビットワイズ演算を行うことで位置ビットマップ表の列に対応したビットマップを算出する。これにより、情報検索装置は、検索条件である「テキスト情報に含まれる単語」と、「そのテキスト情報内における当該単語の相対的な位置情報」とをまとめて計算することができる。したがって、従来の装置に比べてリソース（ディスク、メモリ、ＣＰＵ）の消費を低減し、かつ、検索処理を高速に実行することができる。情報検索装置で算出したビットマップは、検索条件となりうる単語を含むテキスト情報の識別情報と対応付けて予め作成された位置ビットマップ表の列に対応しているので、情報検索装置は、算出したビットマップにおいて、単語の出現位置を示すビットが立てられたビット位置に対応するテキスト情報の識別情報を容易に見つけることができる。したがって、情報検索装置は、ビットマップに対応した情報として、テキスト情報を抽出することができる。これにより、情報検索装置は、利用者から入力された検索条件に対応したテキスト情報として、抽出したテキスト情報を提示することが可能となる。
【０００８】
また、請求項２に記載の情報検索装置は、請求項１に記載の情報検索装置において、前記位置ビットマップ表が、前記複数のテキスト情報のうちの各テキスト情報を単語毎に区切ったときに区切りを介して連続した複数の単語から構成された単語グループ毎に前記ビット位置が割当てられたものであり、前記検索条件獲得手段が、前記検索条件として、前記単語グループ内の複数の単語と、前記複数の単語の当該テキスト情報内における相対的な位置を示す情報として前記複数の単語の間の距離とを獲得し、前記ビットマップ列獲得手段が、前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの１つの単語に対応するビットマップ列を抽出すると共に、前記位置ビットマップ表に基づいて前記検索条件として獲得された複数の単語の間の距離に対応するビットマップ列として、前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの残余の単語に対応するビットマップ列をそれぞれ抽出することを特徴とする。
【０００９】
かかる構成によれば、情報検索装置は、連続した複数の単語から構成された単語グループ毎にビット位置が割当てられた位置ビットマップ表を用い、検索条件として、単語グループ内の複数の単語と、それら複数の単語の間の距離とを獲得し、位置ビットマップ表に基づいて複数のビットマップ列を獲得する。したがって、情報検索装置は、単語の間の距離として、単語グループを構成する単語数以下の単語数を獲得するので、位置ビットマップ表のうち、検索条件に関係のある単語グループのみを検索することとなる。これにより、従来の装置に比べてリソースの消費を低減し、かつ、検索処理を高速に実行することができる。
【００１０】
また、請求項３に記載の情報検索装置は、請求項２に記載の情報検索装置において、前記位置ビットマップ表の前記単語グループが、句点により仕切られた連続した複数の単語から構成された文を最小構成要素として文法の形式上または文章の意味内容上のまとまりであり、前記検索条件獲得手段が、文を単位として、前記複数の単語の間の距離を獲得することを特徴とする。
【００１１】
かかる構成によれば、情報検索装置は、文または文を要素とした文法の形式上または文章の意味内容上のまとまりを単位とした単語グループ毎に作成された位置ビットマップ表を用いて、文を単位として、複数の単語の間の距離を獲得する。ここで、文法の形式上または文章の意味内容上のまとまりとは、段落、段落群、行、章、ページ等を指す。これによれば、情報検索装置は、１つ１つのテキスト情報の情報量が比較的大きい場合や、テキスト情報の個数が多数の場合であっても、大量のリソースを消費することなく、検索処理を高速に実行することができる。
【００１２】
また、請求項４に記載の情報検索装置は、請求項２または請求項３に記載の情報検索装置において、複数の単語間の距離に応じて予めそれぞれ作成された複数の前記位置ビットマップ表を格納する位置ビットマップ表格納部をさらに備え、前記ビットマップ列獲得手段が、前記検索条件として獲得された複数の単語間の距離に基づいて、前記位置ビットマップ表格納部から前記位置ビットマップ表を選択し、前記選択した位置ビットマップ表から前記複数のビットマップ列を獲得することを特徴とする。
【００１３】
かかる構成によれば、情報検索装置は、単語間の距離に応じて予め作成された複数の位置ビットマップ表を備えている。例えば、情報検索装置が、検索条件として２個の単語の間の距離を「２単語以内」に定める場合には、連続した３個の単語を単語グループとして作成した位置ビットマップ表を選択し、検索条件として２個の単語の間の距離を「３単語以内」に定める場合には、連続した４個の単語を単語グループとして作成した位置ビットマップ表を選択するように構成することができる。これによれば、利用者が検索条件としての単語間距離を柔軟に変更することができ、使い勝手がよくなる。
【００１４】
また、請求項５に記載の情報検索装置は、請求項１に記載の情報検索装置において、前記位置ビットマップ表が、前記複数のテキスト情報のうちの各テキスト情報の単語毎に前記ビット位置が割当てられたものであり、前記検索条件獲得手段が、前記検索条件として、複数の単語と、前記複数の単語の当該テキスト情報内における相対的な位置を示す情報として前記複数の単語の間の距離とを獲得し、前記ビットマップ列獲得手段が、前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの１つの単語に対応するビットマップ列を抽出すると共に、前記位置ビットマップ表に基づいて前記検索条件として獲得された複数の単語の間の距離に対応するビットマップ列として、前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの残余の単語に対応するビットマップ列にそれぞれ割り当てられた各ビットを前記複数の単語の間の距離に基づいてビットシフトしたビットマップ列をそれぞれ生成することを特徴とする。
【００１５】
かかる構成によれば、情報検索装置は、単語毎にビット位置が割当てられた位置ビットマップ表を用い、検索条件として、利用者の所望するテキスト情報の中に含まれる複数の単語と、それら複数の単語の間の距離とを獲得する。単語毎にビット位置が割当てられた位置ビットマップ表においては、所定のビット位置に対して、単語の出現順序と単語の間の距離とを一致させることができる。この場合、所定のビット位置に対して、テキスト情報内の所定の単語を基準とすれば、その基準とする単語と対象とする別の単語との距離は、基準とする単語が出現してから対象とする別の単語が出現するまでの順番と同一となる。したがって、位置ビットマップ表の行方向に、テキスト情報内の検索条件となるすべての単語を配列し、かつ、位置ビットマップ表の列方向に、それぞれのビット位置を配列した場合に、基準とする単語に関するビットマップ列に対して、対象とする別の単語に関するビットマップ列を、検索条件として獲得された単語の間の距離だけビットシフトするという簡易な処理で、各ビットマップ列に割り当てられたビットの位置を揃えることができる。その結果、後段でビットワイズ演算を行うことで、利用者に提示すべきテキスト情報を高速に抽出することが可能となる。また、位置ビットマップ表において、単語グループを形成しないので位置ビットマップ表を容易に作成できる。
【００１６】
また、請求項６に記載の情報検索装置は、請求項１に記載の情報検索装置において、前記位置ビットマップ表は、前記複数のテキスト情報のうちの各テキスト情報を単語毎に区切ったときに句点により仕切られた連続した複数の単語から構成された文毎に前記ビット位置が割当てられたものであり、前記検索条件獲得手段が、前記検索条件として、前記文を構成する複数の単語と、前記複数の単語の当該テキスト情報内における相対的な位置を示す情報として前記複数の単語が１つの文に含まれていることを示す所定値とを獲得し、前記ビットマップ列獲得手段が、前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの１つの単語に対応するビットマップ列を抽出すると共に、前記位置ビットマップ表に基づいて前記検索条件として獲得された所定値に対応するビットマップ列として、前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの残余の単語に対応するビットマップ列をそれぞれ抽出することを特徴とする。
【００１７】
かかる構成によれば、情報検索装置は、文毎にビット位置が割当てられた位置ビットマップ表を用い、検索条件として、文を構成する複数の単語と、それら複数の単語が１つの文に含まれていることを示す所定値とを獲得し、位置ビットマップ表に基づいて複数のビットマップ列を獲得する。したがって、情報検索装置は、検索条件によって特定の一文を獲得するので、位置ビットマップ表のうち、検索条件に関係のある一文のみを検索することとなる。これにより、従来の装置に比べてリソースの消費を低減し、かつ、検索処理を高速に実行することができる。
【００１８】
また、請求項７に記載の情報検索装置は、請求項１に記載の情報検索装置において、前記検索条件獲得手段が、１つの単語を獲得すると共に、前記獲得した単語について当該テキスト情報内における相対的な位置を示す情報として、当該テキスト情報内において前記ビット位置を獲得し、前記ビットマップ列獲得手段が、前記位置ビットマップ表から前記検索条件として獲得された１つの単語に対応するビットマップ列を抽出すると共に、前記位置ビットマップ表に基づいて前記検索条件として獲得された単語に対応して獲得された前記ビット位置に前記一方のビットが割り当てられたビットマップ列を生成することを特徴とする。
【００１９】
かかる構成によれば、情報検索装置は、検索条件として、１つの単語と、その単語の位置を示す情報とを獲得し、位置ビットマップ表に基づいて複数のビットマップ列を獲得する。ここで、位置ビットマップ表は、単語毎にビット位置が割当てられていてもよいし、単語グループ毎にビット位置が割当てられていてもよい。また、単語グループは連続した複数の単語で構成されていれば、文、段落、段落群を単位としてもよい。例えば、単語毎にビット位置が割当てられた位置ビットマップ表を用いる場合には、利用者は所望のテキスト情報において先頭から１番目など任意の出現順序の単語を指定できる。また、例えば、段落群ごとの単語グループ毎にビット位置が割当てられた位置ビットマップ表を用いる場合には、利用者は所望のテキスト情報において「起承転結」を示す各段落群の「結」を示す段落群など任意の単語グループの単語を指定できる。したがって、情報検索装置は、位置ビットマップ表のうち、検索条件に関係のある位置の該当する単語のみを検索することとなる。これにより、従来の装置に比べてリソースの消費を低減し、かつ、検索処理を高速に実行することができる。
【００２０】
また、前記課題を解決するため、請求項８に記載の情報検索方法は、利用者によって入力された検索条件に基づいて、前記複数のテキスト情報の中から、前記入力された検索条件に対応したテキスト情報を、前記利用者の所望するテキスト情報として検索する情報検索装置の情報検索方法であって、前記情報検索装置が、前記検索条件として、前記利用者の所望するテキスト情報の中に含まれる１以上の単語と、前記単語の当該テキスト情報内における相対的な位置を示す情報とを獲得する検索条件獲得ステップと、前記複数のテキスト情報のいずれかに含まれて前記検索条件となりうる単語と、前記単語を含むテキスト情報の識別情報と、前記単語を含むテキスト情報における当該単語の出現位置を識別する情報を示すビット位置とが２値のいずれか一方のビットに対応付けられて予め作成された位置ビットマップ表から、前記検索条件として獲得された単語に対応するビットマップ列を抽出すると共に、前記位置ビットマップ表に基づいて前記検索条件として獲得された相対的な位置を示す情報に対応するビットマップ列を生成することで複数のビットマップ列を獲得するビットマップ列獲得ステップと、前記ビットマップ列獲得ステップにより獲得された複数のビットマップ列のそれぞれ対応するビット位置に割り当てられたビットについて、ビットワイズ演算を行うことで前記位置ビットマップ表の列に対応したビットマップを算出するビットマップ算出ステップと、前記算出されたビットマップに対応する情報として、前記複数のテキスト情報の中から、前記算出されたビットマップにおいて前記一方のビットが割り当てられたビット位置に対応するテキスト情報を抽出するビットマップ対応情報抽出ステップとを実行することを特徴とする。
【００２１】
かかる手順によれば、情報検索装置は、予め作成された位置ビットマップ表に基づいて、検索条件に対応した複数のビットマップ列を獲得する。そして、情報検索装置は、獲得した複数のビットマップ列でビットワイズ演算を行うことで位置ビットマップ表の列に対応したビットマップを算出する。これにより、情報検索装置は、検索条件である「テキスト情報に含まれる単語」と、「そのテキスト情報内における当該単語の相対的な位置情報」とをまとめて計算することができる。したがって、従来の装置に比べてリソースの消費を低減し、かつ、検索処理を高速に実行することができる。そして、情報検索装置は、算出したビットマップに対応した情報として、テキスト情報を抽出する。これにより、情報検索装置は、利用者から入力された検索条件に対応したテキスト情報として、抽出したテキスト情報を提示することが可能となる。
【００２２】
また、請求項９に記載の情報検索方法は、請求項８に記載の情報検索方法において、前記位置ビットマップ表が、前記複数のテキスト情報のうちの各テキスト情報を単語毎に区切ったときに区切りを介して連続した複数の単語から構成された単語グループ毎に前記ビット位置が割当てられたものであり、前記検索条件獲得ステップが、前記検索条件として、前記単語グループ内の複数の単語と、前記複数の単語の当該テキスト情報内における相対的な位置を示す情報として前記複数の単語の間の距離とを獲得し、前記ビットマップ列獲得ステップが、前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの１つの単語に対応するビットマップ列を抽出すると共に、前記位置ビットマップ表に基づいて前記検索条件として獲得された複数の単語の間の距離に対応するビットマップ列として、前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの残余の単語に対応するビットマップ列をそれぞれ抽出することを特徴とする。
【００２３】
かかる手順によれば、情報検索装置は、連続した複数の単語から構成された単語グループ毎にビット位置が割当てられた位置ビットマップ表を用い、検索条件として、単語グループ内の複数の単語と、それら複数の単語の間の距離とを獲得し、位置ビットマップ表に基づいて複数のビットマップ列を獲得する。したがって、情報検索装置は、単語の間の距離として、単語グループを構成する単語数以下の単語数を獲得するので、位置ビットマップ表のうち、検索条件に関係のある単語グループのみを検索することとなる。これにより、従来の装置に比べてリソースの消費を低減し、かつ、検索処理を高速に実行することができる。
【００２４】
また、請求項１０に記載の情報検索方法は、請求項８に記載の情報検索方法において、前記位置ビットマップ表が、前記複数のテキスト情報のうちの各テキスト情報の単語毎に前記ビット位置が割当てられたものであり、前記検索条件獲得ステップが、前記検索条件として、複数の単語と、前記複数の単語の当該テキスト情報内における相対的な位置を示す情報として前記複数の単語の間の距離とを獲得し、前記ビットマップ列獲得ステップが、前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの１つの単語に対応するビットマップ列を抽出すると共に、前記位置ビットマップ表に基づいて前記検索条件として獲得された複数の単語の間の距離に対応するビットマップ列として、前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの残余の単語に対応するビットマップ列にそれぞれ割り当てられた各ビットを前記複数の単語の間の距離に基づいてビットシフトしたビットマップ列をそれぞれ生成することを特徴とする。
【００２５】
かかる手順によれば、情報検索装置は、単語毎にビット位置が割当てられた位置ビットマップ表を用い、検索条件として、利用者の所望するテキスト情報の中に含まれる複数の単語と、それら複数の単語の間の距離とを獲得する。そして、情報検索装置は、獲得した単語の１つを基準として、この基準とする単語に関するビットマップ列に対して、対象とする別の単語に関するビットマップ列を、検索条件として獲得された単語の間の距離だけビットシフトする。これにより、各ビットマップ列に割り当てられたビットの位置を揃えることができる。したがって、後段でビットワイズ演算を行うことで、利用者に提示すべきテキスト情報を高速に抽出することが可能となる。
【００２６】
また、請求項１１に記載の情報検索方法は、請求項８に記載の情報検索方法において、前記位置ビットマップ表が、前記複数のテキスト情報のうちの各テキスト情報を単語毎に区切ったときに句点により仕切られた連続した複数の単語から構成された文毎に前記ビット位置が割当てられたものであり、前記検索条件獲得ステップが、前記検索条件として、前記文を構成する複数の単語と、前記複数の単語の当該テキスト情報内における相対的な位置を示す情報として前記複数の単語が１つの文に含まれていることを示す所定値とを獲得し、前記ビットマップ列獲得ステップが、前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの１つの単語に対応するビットマップ列を抽出すると共に、前記位置ビットマップ表に基づいて前記検索条件として獲得された所定値に対応するビットマップ列として、前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの残余の単語に対応するビットマップ列をそれぞれ抽出することを特徴とする。
【００２７】
かかる手順によれば、情報検索装置は、文毎にビット位置が割当てられた位置ビットマップ表を用い、検索条件として、文を構成する複数の単語と、それら複数の単語が１つの文に含まれていることを示す所定値とを獲得し、位置ビットマップ表に基づいて複数のビットマップ列を獲得する。したがって、情報検索装置は、検索条件によって特定の一文を獲得するので、位置ビットマップ表のうち、検索条件に関係のある一文のみを検索することとなる。これにより、従来の装置に比べてリソースの消費を低減し、かつ、検索処理を高速に実行することができる。
【００２８】
また、請求項１２に記載の情報検索方法は、請求項８に記載の情報検索方法において、前記検索条件獲得ステップが、１つの単語を獲得すると共に、前記獲得した単語について当該テキスト情報内における相対的な位置を示す情報として、当該テキスト情報内において前記ビット位置を獲得し、前記ビットマップ列獲得ステップが、前記位置ビットマップ表から前記検索条件として獲得された１つの単語に対応するビットマップ列を抽出すると共に、前記位置ビットマップ表に基づいて前記検索条件として獲得された単語に対応して獲得された前記ビット位置に前記一方のビットが割り当てられたビットマップ列を生成することを特徴とする。
【００２９】
かかる手順によれば、情報検索装置は、検索条件として、１つの単語と、その単語の位置を示す情報とを獲得し、位置ビットマップ表に基づいて複数のビットマップ列を獲得する。したがって、情報検索装置は、位置ビットマップ表のうち、検索条件に関係のある位置の該当する単語のみを検索することとなる。これにより、従来の装置に比べてリソースの消費を低減し、かつ、検索処理を高速に実行することができる。
【００３０】
また、請求項１３に記載の情報検索プログラムは、請求項１ないし請求項７のいずれか一項に記載の情報検索装置の機能をコンピュータで実現するための情報検索プログラムとした。このように構成されることにより、このプログラムをインストールされたコンピュータは、このプログラムに基づいた各機能を実現することができる。
【発明の効果】
【００３１】
本発明によれば、検索条件として「テキスト情報に含まれる１以上の単語」と、「テキスト情報内における当該単語の相対的な位置情報」とによる検索対象候補の絞込みを、予め作成された位置ビットマップ表に基づいてまとめてビットワイズ演算するので、リソースの消費を抑えると共に、検索処理を高速に実行することができる。
【発明を実施するための最良の形態】
【００３２】
以下、図面を参照して本発明の情報検索装置および情報検索方法を実施するための最良の形態（以下「実施形態」という）について詳細に説明する。
【００３３】
［情報検索装置の構成］
図１は、本発明の実施形態に係る情報検索装置を模式的に示す構成図である。情報検索装置１は、利用者によって入力された検索条件に基づいて、複数のテキスト情報の中から、入力された検索条件に対応したテキスト情報を、利用者の所望するテキスト情報として検索するものである。情報検索装置１は、例えば、ＣＰＵ（Central Processing Unit）と、ＲＡＭ（Random Access Memory）と、ＲＯＭ（Read Only Memory）と、ＨＤＤ（Hard Disk Drive）と、入出力インタフェース等から構成される。この情報検索装置１は、図１に示すように、入力手段２と、記憶手段３と、制御手段４と、出力手段５とを備えている。
【００３４】
＜入力手段＞
入力手段２は、所定の通信インタフェースや入力インタフェースから構成される。この入力手段２は、例えば、インターネット等の通信ネットワークを介して受信した利用者の検索条件を制御手段４に入力するものである。なお、入力手段２は、利用者の使用する情報検索装置１にケーブルで接続されたマウスやキーボード等の入力装置Ｍから入力される検索条件を制御手段４に入力することも可能である。
【００３５】
＜記憶手段＞
記憶手段３は、所定のプログラム等を格納するＲＯＭと、制御手段４による演算処理等に利用されるＲＡＭと、ＨＤＤとを備えている。この記憶手段３は、図１に示すように、位置ビットマップ表格納部６と、情報格納部７と、プログラム格納部８とを備えている。
【００３６】
≪位置ビットマップ表格納部≫
位置ビットマップ表格納部６は、予め作成された位置ビットマップ表を格納するものであり、例えば、一般的なＨＤＤ等から構成される。位置ビットマップ表は、情報格納部７に格納された複数のテキスト情報のいずれかに含まれて検索条件となりうる単語と、その単語を含むテキスト情報の識別情報と、その単語を含むテキスト情報における当該単語の出現位置を識別する情報を示すビット位置とが、２値のいずれか一方のビット（１か０）に対応付けられているものである。位置ビットマップ表は、どのような観点を重視するかによって様々なバリエーションが考えられる。本実施形態では、位置ビットマップ表は、複数のテキスト情報のうちの各テキスト情報を単語毎に区切ったときに区切りを介して連続した複数の単語から構成された単語グループ毎にビット位置が割当てられ、「１」のビットに対応付けられているものとする。なお、その具体例は後記する。
【００３７】
≪情報格納部≫
情報格納部７は、検索対象の複数のテキスト情報を格納するものであり、例えば、一般的なＨＤＤ等から構成される。本実施形態では、情報格納部７に格納されたテキスト情報の１つ１つをドキュメントとする。これらドキュメントには、ドキュメントを識別する識別情報（ドキュメントＩＤ：Doc id）が付与されている。
【００３８】
≪プログラム格納部≫
プログラム格納部８は、制御手段４が実行する各種プログラム等を格納するものであり、例えば、一般的メモリやＨＤＤ等から構成される。なお、位置ビットマップ表格納部６や情報格納部７は、１以上の外部記憶装置で構成することもできる。
【００３９】
＜制御手段＞
制御手段４は、例えば、ＣＰＵ等から構成され、検索条件獲得手段１１と、ビットマップ列獲得手段１２と、ビットマップ算出手段１３と、ビットマップ対応情報抽出手段１４とを備えている。なお、これら検索条件獲得手段１１、ビットマップ列獲得手段１２、ビットマップ算出手段１３およびビットマップ対応情報抽出手段１４は、ＣＰＵが記憶手段３のプログラム格納部８に格納された所定のプログラムをＲＡＭに展開して実行することにより実現されるものである。
【００４０】
≪検索条件獲得手段≫
検索条件獲得手段１１は、検索条件として、利用者の所望するドキュメント（テキスト情報）の中に含まれる１以上の単語と、単語の当該ドキュメント内における相対的な位置を示す情報とを獲得するものである。本実施形態では、検索条件獲得手段１１は、検索条件として、複数の単語と、単語の当該ドキュメント内における相対的な位置を示す情報として複数の単語の間の距離とを獲得するものとする。
【００４１】
≪ビットマップ列獲得手段≫
ビットマップ列獲得手段１２は、位置ビットマップ表から、検索条件として獲得された単語に対応するビットマップ列を抽出すると共に、位置ビットマップ表に基づいて検索条件として獲得された相対的な位置を示す情報に対応するビットマップ列を生成することで複数のビットマップ列を獲得するものである。本実施形態では、ビットマップ列獲得手段１２は、位置ビットマップ表から検索条件として獲得された複数の単語のうちの１つの単語に対応するビットマップ列を抽出すると共に、位置ビットマップ表に基づいて検索条件として獲得された複数の単語の間の距離に対応するビットマップ列として、位置ビットマップ表から検索条件として獲得された複数の単語のうちの残余の単語に対応するビットマップ列をそれぞれ抽出する。
【００４２】
≪ビットマップ算出手段≫
ビットマップ算出手段１３は、ビットマップ列獲得手段１２により獲得された複数のビットマップ列のそれぞれ対応するビット位置に割り当てられたビットについて、ビットワイズ演算を行うことで位置ビットマップ表の列に対応したビットマップを算出するものである。本実施形態では、ビットマップ算出手段１３は、ビットマップ列獲得手段１２により獲得された複数のビットマップ列について、論理積演算を実行する。
【００４３】
≪ビットマップ対応情報抽出手段≫
ビットマップ対応情報抽出手段１４は、ビットマップ算出手段１３で算出されたビットマップに対応する情報（以下、ビットマップ対応情報という）として、複数のドキュメント（テキスト情報）の中から、ビットマップ算出手段１３で算出されたビットマップにおいて一方のビットが割り当てられたビット位置に対応するドキュメント（テキスト情報）を抽出するものである。本実施形態では、ビットマップ対応情報抽出手段１４は、情報格納部７に格納された大量のドキュメントの中から、ビットマップ算出手段１３で算出されたビットマップにおいて「１」のビットが割り当てられたビット位置に対応するドキュメントを抽出する。
【００４４】
＜出力手段＞
出力手段５は、所定の通信インタフェースや出力インタフェースから構成される。この出力手段５は、ビットマップ対応情報抽出手段１４で抽出したドキュメント（テキスト情報）を、例えば、インターネット等の通信ネットワークを介して利用者の使用するＰＣに送信するものである。なお、出力手段５は、ビットマップ対応情報抽出手段１４で抽出したドキュメント（テキスト情報）を、情報検索装置１にケーブルで接続された液晶ディスプレイ等の出力装置Ｄに出力することも可能である。
【００４５】
なお、情報検索装置１は、一般的なコンピュータを、前記した検索条件獲得手段１１、ビットマップ列獲得手段１２、ビットマップ算出手段１３およびビットマップ対応情報抽出手段１４として機能させる情報検索プログラムを実行することで実現することもできる。これらのプログラムは、通信回線を介して配布することも可能であるし、ＣＤ−ＲＯＭ等の記録媒体に書き込んで配布することも可能である。
【００４６】
［情報検索装置の動作］
図１に示した情報検索装置１の動作について図２を参照（適宜図１参照）して説明する。図２は、図１に示した情報検索装置の動作を示すフローチャートである。まず、情報検索装置１は、検索条件獲得手段１１によって、入力装置Ｍから入力手段２を介して検索条件を獲得する（ステップＳ１：検索条件獲得ステップ）。そして、情報検索装置１は、ビットマップ列獲得手段１２によって、位置ビットマップ表に基づいて、検索条件に対応するビットマップ列を獲得する（ステップＳ２：ビットマップ列獲得ステップ）。次に、情報検索装置１は、ビットマップ算出手段１３によって、獲得されたビットマップ列についてビットワイズ演算を行うことでビットマップを算出する（ステップＳ３：ビットマップ算出ステップ）。続いて、情報検索装置１は、ビットマップ対応情報抽出手段１４によって、算出されたビットマップに対応したビットマップ対応情報（ドキュメント）を抽出する（ステップＳ４：ビットマップ対応情報抽出ステップ）。そして、情報検索装置１は、抽出されたビットマップ対応情報（ドキュメント）を検索結果情報として出力手段５を介して出力装置Ｄに出力する（ステップＳ５）。
【００４７】
［具体例］
ここでは、検索の一例として、利用者が、情報格納部７（図１参照）に格納された大量のドキュメントの中から、「花」と「月」という２つの単語を含み、かつ、「花」と「月」という２つの単語間の距離が、２単語以内であることを検索条件としてドキュメントを検索する場合を想定し、この前提にしたがって具体例を説明する。
【００４８】
＜ドキュメントの具体例＞
ドキュメントの具体例を図３に示す。図３は、単語単位に区切られたドキュメントの一例を示す図である。ここでは、一例として、４個のドキュメントを示した。ドキュメントＩＤ（Doc id）が「１」のドキュメントは「花  が  月  夜  に  美しい」のように区切られている。ここで、スペースは単語毎の区切りを示す。なお、図３では、単語の区切りを縦線「｜」で示した。
【００４９】
同様に、Doc idが「２」のドキュメントは「花  鳥  風  月」のように区切られている。また、Doc idが「３」のドキュメントは「私  は  花  が  好き」のように区切られている。さらに、Doc idが「４」のドキュメントは「花  月  園  駅」のように区切られている。ここで、検索条件となりうる単語とは、日本語の場合、図３に示すように、名詞や自立語に限らず形容詞や付属語でもよい。
【００５０】
＜単語グループの具体例＞
次に、想定された「２つの単語間の距離が、２単語以内であること」を検索条件として採用できるように、情報検索装置１（図１参照）が用いる位置ビットマップ表の例について説明する。まず、図３に示したDoc idが「１」のドキュメントについて、単語グループ毎に区切り、区切られた単語グループの位置を、１つのビット位置に割り当てた例を図４に示す。図４は、ドキュメント中の３個の連続した単語から成る単語グループに割り当てたビット位置の一例を示す図である。ここでは、「２つの単語間の距離が、２単語以内であること」を検索条件としたので、その条件に対応させて、単語グループを、ドキュメント中の３個の連続した単語で構成した。
【００５１】
この例では、ドキュメント「花  が  月  夜  に  美しい」のうち、最初の単語から３単語の単語グループをグループ４１とした。同様に、２番目の単語から３単語の単語グループをグループ４２とした。また、３番目の単語から３単語の単語グループをグループ４３とした。さらに、４番目の単語から３単語の単語グループをグループ４４とした。このドキュメントは「６」単語で構成されているので単語グループは以上である。グループ４１〜グループ４４は、元のドキュメントの初めから３単語の単語グループを形成するたびに、１単語ずつ右にずらして新たな単語グループを形成したものである。この図３から、「月」という単語を含むDoc idが「１」であるドキュメントにおいて、「月」という単語のビット位置（Position）は、「１」，「２」，「３」の３箇所であることが分かる。なお、ビット位置は、「４」まで用意されている。
【００５２】
＜位置ビットマップ表の具体例＞
図５は、図４に示した割り当て方に対応した位置ビットマップ表の一例を示す図である。図３に示した４個のドキュメントに対して、図４を用いて説明したビット位置を割り当てることによって得られたものである。つまり、４個のドキュメント（テキスト情報）のうちの各ドキュメントを単語毎に区切ったときに区切りを介して連続した３個の単語から構成された単語グループ毎にビット位置が割当てられている。図３に示した４個のドキュメントには、合計「１３」個の単語が出現するので、図５に示した位置ビットマップ表には、「１３」個の単語が検索条件となりうる単語として記載されている。また、図５に示した位置ビットマップ表は、前提に合わせて検索条件として２個の単語の間の距離を「２単語以内」に定める場合に用いるために、連続した３個の単語を単語グループとして作成したものである。したがって、仮に、検索条件において単語間の距離を示す数値が「２以下」に限定されずに、利用者が自由に入力できる場合には、それに対応した位置ビットマップ表を用意しておく。例えば、検索条件として２個の単語の間の距離を「３単語以内」に定める場合には、連続した４個の単語を単語グループとして作成した位置ビットマップ表を作成しておく。また、本実施形態では、情報検索装置１は、このように複数の単語間の距離に応じて予めそれぞれ作成された複数の位置ビットマップ表を位置ビットマップ表格納部６に格納しておくこととする。
【００５３】
＜検索条件および距離の具体例＞
図６は、２つの単語とその距離とを含む検索条件の一例を示す図であり、前提としている検索条件を示している。これらの検索条件は、情報検索装置１の検索条件獲得手段１１（図１参照）において獲得される。ここで、単語間の距離とは、図７に示すように定義される。具体的には、「月」という単語に着目した場合には、その前後の単語である「が」および「夜」は、「月」からの距離がそれぞれ「１」である。同様に、「花」および「に」は、「月」からの距離がそれぞれ「２」であり、「美しい」は、「月」からの距離が「３」である。このように、単語間の距離とは、複数の単語の当該ドキュメント（テキスト情報）内における相対的な位置を示す情報である。
【００５４】
＜ビットマップ列の具体例＞
本実施形態では、情報検索装置１のビットマップ列獲得手段１２（図１参照）は、検索条件として獲得された複数の単語間の距離に基づいて、位置ビットマップ表格納部６から、予め対応させて作成された適切な位置ビットマップ表を選択し、選択した位置ビットマップ表から複数のビットマップ列を獲得することとする。このビットマップ列獲得手段１２（図１参照）は、図６に示した検索条件に基づいて、図５に示した位置ビットマップ表を選択し、選択した位置ビットマップ表から、図８に示す２つのビットマップ列８１，８２を獲得する。
【００５５】
＜ビットワイズ演算結果の具体例＞
情報検索装置１のビットマップ算出手段１３（図１参照）は、図８に示す２つのビットマップ列８１，８２についてビットワイズ演算として論理積演算を実行し、論理積結果として、図９に示すビットマップ９０を算出する。図９に示すビットマップ９０は、符号９１，９２で示すビット「１」を有している。これらは、図８に示す２つのビットマップ列８１，８２において対応するビット位置に割り当てられたそれぞれビットが両方とも「１」となっているビット位置に対応している。また、図９に示すビットマップ９０は、図５に示した位置ビットマップ表の列に対応している。つまり、ビットマップ９０の符号９１で示すビット「１」は、Doc idが「１」のドキュメントのビット位置（position）が「１である単語」に対応している。同様に、ビットマップ９０の符号９２で示すビット「１」は、Doc idが「４」のドキュメントのビット位置（position）が「１である単語」に対応している。その結果、情報検索装置１は、Doc idが「１」のドキュメントと、Doc idが「４」のドキュメントとを利用者に提示する検索結果（検索結果情報）として抽出する。これにより、利用者は、図６に示す検索条件に対する応答として、２つのドキュメント「花が月夜に美しい」、「花月園駅」を取得することができる。
【００５６】
本実施形態によれば、情報検索装置１は、検索条件として「テキスト情報に含まれる２個の単語」と「その２個の単語の距離」とによる検索対象候補の絞込みを、予め作成された位置ビットマップ表に基づいてまとめてビットワイズ演算するので、リソース（ディスク、メモリ、ＣＰＵ）の消費を抑えると共に、検索処理を高速に実行することができる。なお、本実施形態では、検索条件として「テキスト情報に含まれる２個の単語」と、「その２個の単語の距離」としたが、それぞれの単語間の距離が分かれば単語数は特に「２個」に限定されるものではなく、複数であれば同等の効果を奏することはもちろんである。
【００５７】
以上、本発明の実施形態について説明したが、本発明はこれに限定されるものではなく、その趣旨を変えない範囲で実施することができる。例えば、本実施形態で説明した検索条件とそれに対応した位置ビットマップ表の構成は一例である。以下では、検索条件とそれに対応した位置ビットマップ表の５つの変形例について説明し、さらに、その他の設計変形例を説明する。
【００５８】
［変形例１］
本実施形態では、位置ビットマップ表が複数（４個）のドキュメント（テキスト情報）のうちの各ドキュメントを単語毎に区切ったときに区切りを介して連続した複数（３個）の単語から構成された単語グループ毎にビット位置が割当てられるものとしたが、グループ化せずに単語毎にビット位置を割り当ててもよい。この場合には、情報検索装置１のビットマップ列獲得手段１２（図１参照）は、位置ビットマップ表から検索条件として獲得された複数の単語のうちの１つの単語に対応するビットマップ列を抽出すると共に、位置ビットマップ表に基づいて検索条件として獲得された複数の単語の間の距離に対応するビットマップ列として、位置ビットマップ表から検索条件として獲得された複数の単語のうちの残余の単語に対応するビットマップ列にそれぞれ割り当てられた各ビットを複数の単語の間の距離に基づいてビットシフトしたビットマップ列をそれぞれ生成する。
【００５９】
具体的には、図３に示したDoc idが「１」のドキュメントについて、単語に区切り、区切られた単語の位置を、１つのビット位置に割り当てた例を図１０に示す。また、図１１は、図１０に示した割り当て方に対応した位置ビットマップ表の一例を示す図である。この場合、ビットマップ列獲得手段１２（図１参照）は、図６に示した検索条件を拡張した条件に基づいて、図１１に示した位置ビットマップ表を選択し、選択した位置ビットマップ表から、図１２に示す２つのビットマップ列１２１，１２２を獲得する。図６に示した検索条件を拡張した条件とは、「花」と「月」という２つの単語を含み、単語間の距離が「２単語以内」であり、さらに、「花」と「月」という２つの単語間の位置関係が、「花」が「月」よりも２単語前方である、ことを指す。この場合、ビットマップ列獲得手段１２は、ビットマップ列１２１を基準にして、ビットマップ列１２２を２ビット上方にずらす。つまり、ビットマップ列獲得手段１２は、図１３に示すように、ビットマップ列１３１，１３２を生成する。なお、ビットマップ列１３２は、ビットシフトにより生成されたので、ビットの割当てられていない（ＮＵＬＬ）の領域１３３を有している。図１３から、これらのビットマップ列１３１，１３２間で、論理積をとることで、検索条件に合致するドキュメントとして、Doc idが「１」のドキュメントを特定することが可能であることが分かる。
【００６０】
［変形例２］
本実施形態では、位置ビットマップ表の単語グループが、単に連続した複数（例えば３個）の単語であるものとして説明したが、単語グループは、句点により仕切られた連続した複数の単語から構成された文（sentence）でもよい。つまり、位置ビットマップ表は、複数のドキュメント（テキスト情報）のうちの各ドキュメントを単語毎に区切ったときに句点により仕切られた連続した複数の単語から構成された文毎にビット位置が割り当てられる。この場合には、情報検索装置１の検索条件獲得手段１１（図１参照）は、検索条件として、文を構成する複数の単語と、それら複数の単語の当該ドキュメント（テキスト情報）内における相対的な位置を示す情報として複数の単語が１つの文に含まれていることを示す所定値とを獲得する。所定値は、例えば、単語間の距離を文単位とした場合の距離に相当する「０」を用いることができる。言い換えると、検索条件獲得手段１１は、文を単位として、複数の単語の間の距離を獲得する。また、情報検索装置１のビットマップ列獲得手段１２（図１参照）は、位置ビットマップ表から検索条件として獲得された複数の単語のうちの１つの単語に対応するビットマップ列を抽出すると共に、位置ビットマップ表に基づいて検索条件として獲得された所定値に対応するビットマップ列として、位置ビットマップ表から検索条件として獲得された複数の単語のうちの残余の単語に対応するビットマップ列をそれぞれ抽出する。
【００６１】
このように句点「。」を含むドキュメントの具体例を図１４に示す。また、図１４に示したDoc idが「１」のドキュメントについて、文毎に区切り、区切られた文の位置を、１つのビット位置に割り当てた例を図１５に示す。この例では、ドキュメントのうち、最初の文をグループ１５１とした。同様に、２番目の文をグループ１５２、３番目の文をグループ１５３とした。図１５に示した割り当て方に対応した位置ビットマップ表の一例を図１６に示す。情報検索装置１は、図１６に示す位置ビットマップ表を用いることで、例えば、「春」と「きた」という２つの単語を含み、かつ、「春」と「きた」という２つの単語間の距離が、０（すなわち、同じ文内に存在する）である、という検索条件を獲得した場合に、本実施形態と同様の処理を実行することにより、検索条件に合致するドキュメントとして、Doc idが「１」のドキュメントを特定することが可能である。
【００６２】
この場合、位置ビットマップ表の単語グループは、文に限らず、文を最小構成要素として文法の形式上または文章の意味内容上のまとまりであってもよい。文法の形式上または文章の意味内容上のまとまりとは、１以上の文から構成された段落（paragraph）、１以上の段落から構成された段落群、行、章（chapter）、ページ（page）、起承転結のそれぞれ等を指す。これによっても同等の効果を奏することができる。
【００６３】
［変形例３］
本実施形態では、検索条件として、２個の単語を例示したが、検索条件で入力される単語数は１個でもよい。この場合には、情報検索装置１の検索条件獲得手段１１（図１参照）は、１つの単語を獲得すると共に、獲得した単語について当該テキスト情報内における相対的な位置を示す情報として、当該テキスト情報内においてビット位置を獲得する。また、情報検索装置１のビットマップ列獲得手段１２（図１参照）は、位置ビットマップ表から検索条件として獲得された１つの単語に対応するビットマップ列を抽出すると共に、位置ビットマップ表に基づいて検索条件として獲得された単語に対応して獲得されたビット位置に一方のビット（例えば、「１」）が割り当てられたビットマップ列を生成する。
【００６４】
具体的には、１つの単語とその位置とを含む検索条件の一例を図１７に示す。この場合に、ビットマップ列獲得手段１２は、仮に図１１に示した位置ビットマップ表を用いるとすると、図１７に示した検索条件に含まれる単語「花」に基づいて、図１１に示した位置ビットマップ表から、図１８に示すように、ビットマップ列１８０を抽出する。ビットマップ列１８０は、符号１８１で示すように、position「１」のビットのみが「１」であり、符号１８２で示すように、position「２〜６」のビットは「０」である。また、ビットマップ列獲得手段１２は、図１７に示した検索条件に含まれる単語の位置「先頭から１単語目」に基づいて、図１１に示した位置ビットマップ表に対応して、図１９に示すように、ビットマップ列１９０を生成する。ビットマップ列１９０は、符号１９１で示すように、position「１」のビットのみが「１」であり、符号１９２で示すように、その他のpositionのビットは「０」である。なお、ビットマップ列１９０において、ビットが「０」である領域は、論理積を計算する際に必要ないのでpositionの個数は特に限定されない。図１７に示す検索条件を獲得した場合に、情報検索装置１は、本実施形態と同様の処理、すなわち、図１８に示す抽出したビットマップ列１８０と、図１９に示す生成したビットマップ列１９０との論理積をとることにより、その検索条件に合致するドキュメントとして、「花」という単語が、position「１」にあるドキュメントとして、ドキュメントDoc idが「１」のドキュメントを特定することが可能である。なお、図１７に示す検索条件に合致しない場合、論理積結果は、すべて０となる。同様に、図１１に示した位置ビットマップ表を用いて、「月」という単語が、先頭から３番目の位置にあるドキュメントを検索する場合には、ビットマップ列獲得手段１２は、図１１に示した位置ビットマップ表から、単語「月」のビットマップ列を抽出すると共に、position「３」にのみビット「１」が割当てられたビットマップ列を生成する。
【００６５】
［変形例４］
検索条件は、複数の単語が連続した単語列や文でもよい。この場合に、検索条件獲得手段１１（図１参照）は、獲得した単語列や文を形態素に分割する形態素解析手段を有し、分割の結果生じた複数の単語を改めて検索条件として獲得する。また、この場合に、位置ビットマップ表は、前記した変形例１と同様に、ドキュメントについて形態素に区切り、区切られた形態素の位置を、１つのビット位置に割り当てて作成される。これによれば、利用者が入力する検索条件が単語列や文であってもテキスト情報を検索できる。
【００６６】
［変形例５］
変形例４をさらに変形したものとして、検索条件獲得手段１１（図１参照）が、獲得した単語列や文を形態素に分割する形態素解析手段を有し、分割の結果生じた複数の単語を連続した数語ごとのまとまりにグループ化することで、単語グループを改めて検索条件として獲得する。また、この場合に、位置ビットマップ表は、本実施形態と同様に、ドキュメントについて、単語グループに区切り、区切られた単語グループの位置を、１つのビット位置に割り当てて作成される。
【００６７】
＜その他の設計変形例１＞
また、本実施形態の情報検索装置１は、以下の機能をさらに備えるように構成してもよい。位置ビットマップ表は、検索条件となりうるすべての単語について、所定の単語と、その所定の単語を含んでいるすべてのテキスト情報におけるその所定の単語のビット位置とを対応づけたビットマップ表を圧縮したデータとして保持することができる。例えば、２つ以上の単語に対応するビットマップ列が圧縮データとして保持される。この場合、ビットマップ演算手段１３（図１参照）は、検索条件となる２つ以上の単語に対応するビットマップ列の圧縮データについて、必要に応じて解凍を行い、論理積演算を行う。
【００６８】
＜その他の設計変形例２＞
情報格納部７（図１参照）に、利用者の欲するテキスト情報の他、例えば、そのテキスト情報に関連する情報や、そのテキスト情報へアクセスするためのアドレス（ＵＲＩ：Uniform Resource Identifier）等を格納するようにしてもよい。この場合には、ビットマップ対応情報獲得手段１４（図１参照）は、論理積演算により算出されたビットマップに対応する情報（ビットマップ対応情報）として、利用者の所望するテキスト情報の他に、そのテキスト情報に関連する情報や、そのテキスト情報へアクセスするためのアドレスを獲得する。これにより、情報検索装置１は、テキスト情報と共に、そのテキスト情報に関連する情報や、そのテキスト情報へアクセスするためのアドレスをも利用者に提示することができる。
【図面の簡単な説明】
【００６９】
【図１】本発明の実施形態に係る情報検索装置を模式的に示す構成図である。
【図２】図１に示した情報検索装置の動作を示すフローチャートである。
【図３】単語単位に区切られたドキュメントの一例を示す図である。
【図４】ドキュメント中の３個の連続した単語から成る単語グループに割り当てたビット位置の一例を示す図である。
【図５】図４に示した割り当て方に対応した位置ビットマップ表の一例を示す図である。
【図６】２つの単語とその距離とを含む検索条件の一例を示す図である。
【図７】単語間の距離の定義の一例を示す図である。
【図８】図５に示した位置ビットマップ表から図６に示した検索条件で抽出されたビットマップ列の一例を示す図である。
【図９】図８に示したビットマップ列を用いた論理積結果を示す図である。
【図１０】ドキュメント中の各単語に割り当てたビット位置の一例を示す図である。
【図１１】図１０に示した割り当て方に対応した位置ビットマップ表の一例を示す図である。
【図１２】図１１に示した位置ビットマップ表から図６に示した検索条件で抽出されたビットマップ列の一例を示す図である。
【図１３】ビットシフトしたビットマップ列の一例を示す図である。
【図１４】句点を含むドキュメントの一例を示す図である。
【図１５】ドキュメント中の句点で区切られたグループに割り当てたビット位置の一例を示す図である。
【図１６】図１５に示した割り当て方に対応した位置ビットマップ表の一例を示す図である。
【図１７】１つの単語とその位置とを含む検索条件の一例を示す図である。
【図１８】図１１に示した位置ビットマップ表から図１８に示した検索条件の単語で抽出されたビットマップ列を示す図である。
【図１９】図１７に示した検索条件に含まれる単語の位置を示すビットマップ列の一例を示す図である。
【符号の説明】
【００７０】
１      情報検索装置
２      入力手段
３      記憶手段
４      制御手段
５      出力手段
６      位置ビットマップ表格納部
７      情報格納部
８      プログラム格納部
１１    検索条件獲得手段
１２    ビットマップ列獲得手段
１３    ビットマップ算出手段
１４    ビットマップ対応情報抽出手段
Ｍ      入力装置
Ｄ      出力装置
【図１】
2009048351.tif 000003
【図２】
2009048351.tif 000004
【図３】
2009048351.tif 000005
【図４】
2009048351.tif 000006
【図５】
2009048351.tif 000007
【図６】
2009048351.tif 000008
【図７】
2009048351.tif 000009
【図８】
2009048351.tif 000010
【図９】
2009048351.tif 000011
【図１０】
2009048351.tif 000012
【図１１】
2009048351.tif 000013
【図１２】
2009048351.tif 000014
【図１３】
2009048351.tif 000015
【図１４】
2009048351.tif 000016
【図１５】
2009048351.tif 000017
【図１６】
2009048351.tif 000018
【図１７】
2009048351.tif 000019
【図１８】
2009048351.tif 000020
【図１９】
2009048351.tif 000021