JP2009048351A - 情報検索装置、情報検索方法および情報検索プログラム - Google Patents

情報検索装置、情報検索方法および情報検索プログラム Download PDF

Info

Publication number
JP2009048351A
JP2009048351A JP2007212669A JP2007212669A JP2009048351A JP 2009048351 A JP2009048351 A JP 2009048351A JP 2007212669 A JP2007212669 A JP 2007212669A JP 2007212669 A JP2007212669 A JP 2007212669A JP 2009048351 A JP2009048351 A JP 2009048351A
Authority
JP
Japan
Prior art keywords
bitmap
words
information
search condition
word
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007212669A
Other languages
English (en)
Inventor
Kengo Fujioka
健吾 藤岡
Makoto Onizuka
真 鬼塚
Yukio Uematsu
幸生 植松
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2007212669A priority Critical patent/JP2009048351A/ja
Publication of JP2009048351A publication Critical patent/JP2009048351A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【課題】大量のリソースを消費することなく検索処理を高速に実行できる情報検索装置を提供する。
【解決手段】情報検索装置1は、検索条件として、複数の単語と単語間距離とを獲得する検索条件獲得手段11と、検索条件となりうる単語と、単語を含むテキスト情報の識別情報と、単語の出現位置を示すビット位置とが対応付けられて予め作成された位置ビットマップ表に基づいて、検索条件に対応する複数のビットマップ列を獲得するビットマップ列獲得手段12と、獲得された複数のビットマップ列のそれぞれ対応するビット位置に割り当てられたビットについて、ビットワイズ演算を行うことでビットマップを算出するビットマップ算出手段13と、ビットマップに対応する情報として、複数のテキスト情報の中から、ビットマップにおいてビットが割り当てられたビット位置に対応するテキスト情報を抽出するビットマップ対応情報抽出手段14とを備える。
【選択図】図1

Description

本発明は、大量のテキスト情報から、テキスト情報に含まれる単語とその単語のテキスト情報内の位置に関する情報とを検索条件として、利用者の所望するテキスト情報を検索する情報検索装置、情報検索方法および情報検索プログラムに関する。
従来、例えば、多数のドキュメントファイル等の大量のテキスト情報から、検索条件の情報として、「テキスト情報に含まれる単語」と、「そのテキスト情報内における当該単語の相対的な位置情報」とを用いて、テキスト情報を検索する方法が知られている(例えば、非特許文献1参照)。従来の情報検索方法では、前提として、予め、情報格納部に格納された大量のテキスト情報のうちの各々のテキスト情報に含まれるすべての単語について、各々のテキスト情報内における位置を示す数値を単語位置情報として記録しておく。そして、従来の情報検索装置に、検索条件として、例えば、テキスト情報に含まれる「複数の単語」と、「その単語間の距離」とが入力された場合に、情報検索装置は、まず、第1段階として、入力された「複数の単語」をすべて含むテキスト情報を、大量のテキスト情報の中から検索し、一次的な検索結果である複数のテキスト情報を検索結果セットとして作成、保持する。次に、第2段階として、情報検索装置は、予め記録した単語位置情報を用いて、一次的な検索結果セットに含まれる1つ1つのテキスト情報について、検索条件である「複数の単語」間の距離を計算し、検索条件である「単語間の距離」を満たすテキスト情報を抽出して、最終的な検索結果として利用者に提示する。これにより、利用者は、入力した「複数の単語」と「単語間の距離」に応じた所望のテキスト情報を取得することができる。
J. Zobel and A. Moffat, Inverted Files Text Search Engines, ACM Computing Surveys, Vo1.38, No. 2, Article 6, July, 2006
しかしながら、従来の情報検索装置は、第1段階では、入力された検索条件のうち、「テキスト情報に含まれる複数の単語」だけを用いて、「テキスト情報内における当該単語間の距離」を用いずに、一次的な検索結果セットを獲得する。そのため、この検索結果セットに含まれるテキスト情報が大量となってしまう可能性がある。この場合に、検索結果セットを保管するため大量のリソース(主としてメモリ)が消費されることとなる。また、従来の情報検索方法は、一次的な検索結果セットを獲得する第1段階と、利用者に提示する最終的な検索結果を求める第2段階とを有するため、検索処理に時間がかかるという問題がある。
そこで、本発明では、前記した問題を解決し、大量のリソースを消費することなく、検索処理を高速に実行することのできる情報検索装置、情報検索方法および情報検索プログラムを提供することを目的とする。
前記課題を解決するため、請求項1に記載の情報検索装置は、利用者によって入力された検索条件に基づいて、複数のテキスト情報の中から、前記入力された検索条件に対応したテキスト情報を、前記利用者の所望するテキスト情報として検索する情報検索装置であって、前記検索条件として、前記利用者の所望するテキスト情報の中に含まれる1以上の単語と、前記単語の当該テキスト情報内における相対的な位置を示す情報とを獲得する検索条件獲得手段と、前記複数のテキスト情報のいずれかに含まれて前記検索条件となりうる単語と、前記単語を含むテキスト情報の識別情報と、前記単語を含むテキスト情報における当該単語の出現位置を識別する情報を示すビット位置とが2値のいずれか一方のビットに対応付けられて予め作成された位置ビットマップ表から、前記検索条件として獲得された単語に対応するビットマップ列を抽出すると共に、前記位置ビットマップ表に基づいて前記検索条件として獲得された相対的な位置を示す情報に対応するビットマップ列を生成することで複数のビットマップ列を獲得するビットマップ列獲得手段と、前記ビットマップ列獲得手段により獲得された複数のビットマップ列のそれぞれ対応するビット位置に割り当てられたビットについて、ビットワイズ演算を行うことで前記位置ビットマップ表の列に対応したビットマップを算出するビットマップ算出手段と、前記算出されたビットマップに対応する情報として、前記複数のテキスト情報の中から、前記算出されたビットマップにおいて前記一方のビットが割り当てられたビット位置に対応するテキスト情報を抽出するビットマップ対応情報抽出手段とを備えることを特徴とする。
かかる構成によれば、情報検索装置は、予め作成された位置ビットマップ表に基づいて、検索条件に対応した複数のビットマップ列を獲得する。ここで、位置ビットマップ表では、複数のテキスト情報に含まれて検索条件となりうる単語は、その単語が含まれているテキスト情報内のビット位置と対応付けられている。つまり、位置ビットマップ表では、「テキスト情報に含まれる単語」と、「そのテキスト情報内における当該単語の相対的な位置情報」とが予め対応付けられていることとなる。さらに、位置ビットマップ表では、検索条件となりうる単語は、その単語を含むテキスト情報の識別情報と予め対応付けられている。また、位置ビットマップ表では、単語の出現位置に「1」または「0」のいずれか一方のビットを立てることができる。
そして、情報検索装置は、獲得した複数のビットマップ列でビットワイズ演算を行うことで位置ビットマップ表の列に対応したビットマップを算出する。これにより、情報検索装置は、検索条件である「テキスト情報に含まれる単語」と、「そのテキスト情報内における当該単語の相対的な位置情報」とをまとめて計算することができる。したがって、従来の装置に比べてリソース(ディスク、メモリ、CPU)の消費を低減し、かつ、検索処理を高速に実行することができる。情報検索装置で算出したビットマップは、検索条件となりうる単語を含むテキスト情報の識別情報と対応付けて予め作成された位置ビットマップ表の列に対応しているので、情報検索装置は、算出したビットマップにおいて、単語の出現位置を示すビットが立てられたビット位置に対応するテキスト情報の識別情報を容易に見つけることができる。したがって、情報検索装置は、ビットマップに対応した情報として、テキスト情報を抽出することができる。これにより、情報検索装置は、利用者から入力された検索条件に対応したテキスト情報として、抽出したテキスト情報を提示することが可能となる。
また、請求項2に記載の情報検索装置は、請求項1に記載の情報検索装置において、前記位置ビットマップ表が、前記複数のテキスト情報のうちの各テキスト情報を単語毎に区切ったときに区切りを介して連続した複数の単語から構成された単語グループ毎に前記ビット位置が割当てられたものであり、前記検索条件獲得手段が、前記検索条件として、前記単語グループ内の複数の単語と、前記複数の単語の当該テキスト情報内における相対的な位置を示す情報として前記複数の単語の間の距離とを獲得し、前記ビットマップ列獲得手段が、前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの1つの単語に対応するビットマップ列を抽出すると共に、前記位置ビットマップ表に基づいて前記検索条件として獲得された複数の単語の間の距離に対応するビットマップ列として、前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの残余の単語に対応するビットマップ列をそれぞれ抽出することを特徴とする。
かかる構成によれば、情報検索装置は、連続した複数の単語から構成された単語グループ毎にビット位置が割当てられた位置ビットマップ表を用い、検索条件として、単語グループ内の複数の単語と、それら複数の単語の間の距離とを獲得し、位置ビットマップ表に基づいて複数のビットマップ列を獲得する。したがって、情報検索装置は、単語の間の距離として、単語グループを構成する単語数以下の単語数を獲得するので、位置ビットマップ表のうち、検索条件に関係のある単語グループのみを検索することとなる。これにより、従来の装置に比べてリソースの消費を低減し、かつ、検索処理を高速に実行することができる。
また、請求項3に記載の情報検索装置は、請求項2に記載の情報検索装置において、前記位置ビットマップ表の前記単語グループが、句点により仕切られた連続した複数の単語から構成された文を最小構成要素として文法の形式上または文章の意味内容上のまとまりであり、前記検索条件獲得手段が、文を単位として、前記複数の単語の間の距離を獲得することを特徴とする。
かかる構成によれば、情報検索装置は、文または文を要素とした文法の形式上または文章の意味内容上のまとまりを単位とした単語グループ毎に作成された位置ビットマップ表を用いて、文を単位として、複数の単語の間の距離を獲得する。ここで、文法の形式上または文章の意味内容上のまとまりとは、段落、段落群、行、章、ページ等を指す。これによれば、情報検索装置は、1つ1つのテキスト情報の情報量が比較的大きい場合や、テキスト情報の個数が多数の場合であっても、大量のリソースを消費することなく、検索処理を高速に実行することができる。
また、請求項4に記載の情報検索装置は、請求項2または請求項3に記載の情報検索装置において、複数の単語間の距離に応じて予めそれぞれ作成された複数の前記位置ビットマップ表を格納する位置ビットマップ表格納部をさらに備え、前記ビットマップ列獲得手段が、前記検索条件として獲得された複数の単語間の距離に基づいて、前記位置ビットマップ表格納部から前記位置ビットマップ表を選択し、前記選択した位置ビットマップ表から前記複数のビットマップ列を獲得することを特徴とする。
かかる構成によれば、情報検索装置は、単語間の距離に応じて予め作成された複数の位置ビットマップ表を備えている。例えば、情報検索装置が、検索条件として2個の単語の間の距離を「2単語以内」に定める場合には、連続した3個の単語を単語グループとして作成した位置ビットマップ表を選択し、検索条件として2個の単語の間の距離を「3単語以内」に定める場合には、連続した4個の単語を単語グループとして作成した位置ビットマップ表を選択するように構成することができる。これによれば、利用者が検索条件としての単語間距離を柔軟に変更することができ、使い勝手がよくなる。
また、請求項5に記載の情報検索装置は、請求項1に記載の情報検索装置において、前記位置ビットマップ表が、前記複数のテキスト情報のうちの各テキスト情報の単語毎に前記ビット位置が割当てられたものであり、前記検索条件獲得手段が、前記検索条件として、複数の単語と、前記複数の単語の当該テキスト情報内における相対的な位置を示す情報として前記複数の単語の間の距離とを獲得し、前記ビットマップ列獲得手段が、前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの1つの単語に対応するビットマップ列を抽出すると共に、前記位置ビットマップ表に基づいて前記検索条件として獲得された複数の単語の間の距離に対応するビットマップ列として、前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの残余の単語に対応するビットマップ列にそれぞれ割り当てられた各ビットを前記複数の単語の間の距離に基づいてビットシフトしたビットマップ列をそれぞれ生成することを特徴とする。
かかる構成によれば、情報検索装置は、単語毎にビット位置が割当てられた位置ビットマップ表を用い、検索条件として、利用者の所望するテキスト情報の中に含まれる複数の単語と、それら複数の単語の間の距離とを獲得する。単語毎にビット位置が割当てられた位置ビットマップ表においては、所定のビット位置に対して、単語の出現順序と単語の間の距離とを一致させることができる。この場合、所定のビット位置に対して、テキスト情報内の所定の単語を基準とすれば、その基準とする単語と対象とする別の単語との距離は、基準とする単語が出現してから対象とする別の単語が出現するまでの順番と同一となる。したがって、位置ビットマップ表の行方向に、テキスト情報内の検索条件となるすべての単語を配列し、かつ、位置ビットマップ表の列方向に、それぞれのビット位置を配列した場合に、基準とする単語に関するビットマップ列に対して、対象とする別の単語に関するビットマップ列を、検索条件として獲得された単語の間の距離だけビットシフトするという簡易な処理で、各ビットマップ列に割り当てられたビットの位置を揃えることができる。その結果、後段でビットワイズ演算を行うことで、利用者に提示すべきテキスト情報を高速に抽出することが可能となる。また、位置ビットマップ表において、単語グループを形成しないので位置ビットマップ表を容易に作成できる。
また、請求項6に記載の情報検索装置は、請求項1に記載の情報検索装置において、前記位置ビットマップ表は、前記複数のテキスト情報のうちの各テキスト情報を単語毎に区切ったときに句点により仕切られた連続した複数の単語から構成された文毎に前記ビット位置が割当てられたものであり、前記検索条件獲得手段が、前記検索条件として、前記文を構成する複数の単語と、前記複数の単語の当該テキスト情報内における相対的な位置を示す情報として前記複数の単語が1つの文に含まれていることを示す所定値とを獲得し、前記ビットマップ列獲得手段が、前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの1つの単語に対応するビットマップ列を抽出すると共に、前記位置ビットマップ表に基づいて前記検索条件として獲得された所定値に対応するビットマップ列として、前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの残余の単語に対応するビットマップ列をそれぞれ抽出することを特徴とする。
かかる構成によれば、情報検索装置は、文毎にビット位置が割当てられた位置ビットマップ表を用い、検索条件として、文を構成する複数の単語と、それら複数の単語が1つの文に含まれていることを示す所定値とを獲得し、位置ビットマップ表に基づいて複数のビットマップ列を獲得する。したがって、情報検索装置は、検索条件によって特定の一文を獲得するので、位置ビットマップ表のうち、検索条件に関係のある一文のみを検索することとなる。これにより、従来の装置に比べてリソースの消費を低減し、かつ、検索処理を高速に実行することができる。
また、請求項7に記載の情報検索装置は、請求項1に記載の情報検索装置において、前記検索条件獲得手段が、1つの単語を獲得すると共に、前記獲得した単語について当該テキスト情報内における相対的な位置を示す情報として、当該テキスト情報内において前記ビット位置を獲得し、前記ビットマップ列獲得手段が、前記位置ビットマップ表から前記検索条件として獲得された1つの単語に対応するビットマップ列を抽出すると共に、前記位置ビットマップ表に基づいて前記検索条件として獲得された単語に対応して獲得された前記ビット位置に前記一方のビットが割り当てられたビットマップ列を生成することを特徴とする。
かかる構成によれば、情報検索装置は、検索条件として、1つの単語と、その単語の位置を示す情報とを獲得し、位置ビットマップ表に基づいて複数のビットマップ列を獲得する。ここで、位置ビットマップ表は、単語毎にビット位置が割当てられていてもよいし、単語グループ毎にビット位置が割当てられていてもよい。また、単語グループは連続した複数の単語で構成されていれば、文、段落、段落群を単位としてもよい。例えば、単語毎にビット位置が割当てられた位置ビットマップ表を用いる場合には、利用者は所望のテキスト情報において先頭から1番目など任意の出現順序の単語を指定できる。また、例えば、段落群ごとの単語グループ毎にビット位置が割当てられた位置ビットマップ表を用いる場合には、利用者は所望のテキスト情報において「起承転結」を示す各段落群の「結」を示す段落群など任意の単語グループの単語を指定できる。したがって、情報検索装置は、位置ビットマップ表のうち、検索条件に関係のある位置の該当する単語のみを検索することとなる。これにより、従来の装置に比べてリソースの消費を低減し、かつ、検索処理を高速に実行することができる。
また、前記課題を解決するため、請求項8に記載の情報検索方法は、利用者によって入力された検索条件に基づいて、前記複数のテキスト情報の中から、前記入力された検索条件に対応したテキスト情報を、前記利用者の所望するテキスト情報として検索する情報検索装置の情報検索方法であって、前記情報検索装置が、前記検索条件として、前記利用者の所望するテキスト情報の中に含まれる1以上の単語と、前記単語の当該テキスト情報内における相対的な位置を示す情報とを獲得する検索条件獲得ステップと、前記複数のテキスト情報のいずれかに含まれて前記検索条件となりうる単語と、前記単語を含むテキスト情報の識別情報と、前記単語を含むテキスト情報における当該単語の出現位置を識別する情報を示すビット位置とが2値のいずれか一方のビットに対応付けられて予め作成された位置ビットマップ表から、前記検索条件として獲得された単語に対応するビットマップ列を抽出すると共に、前記位置ビットマップ表に基づいて前記検索条件として獲得された相対的な位置を示す情報に対応するビットマップ列を生成することで複数のビットマップ列を獲得するビットマップ列獲得ステップと、前記ビットマップ列獲得ステップにより獲得された複数のビットマップ列のそれぞれ対応するビット位置に割り当てられたビットについて、ビットワイズ演算を行うことで前記位置ビットマップ表の列に対応したビットマップを算出するビットマップ算出ステップと、前記算出されたビットマップに対応する情報として、前記複数のテキスト情報の中から、前記算出されたビットマップにおいて前記一方のビットが割り当てられたビット位置に対応するテキスト情報を抽出するビットマップ対応情報抽出ステップとを実行することを特徴とする。
かかる手順によれば、情報検索装置は、予め作成された位置ビットマップ表に基づいて、検索条件に対応した複数のビットマップ列を獲得する。そして、情報検索装置は、獲得した複数のビットマップ列でビットワイズ演算を行うことで位置ビットマップ表の列に対応したビットマップを算出する。これにより、情報検索装置は、検索条件である「テキスト情報に含まれる単語」と、「そのテキスト情報内における当該単語の相対的な位置情報」とをまとめて計算することができる。したがって、従来の装置に比べてリソースの消費を低減し、かつ、検索処理を高速に実行することができる。そして、情報検索装置は、算出したビットマップに対応した情報として、テキスト情報を抽出する。これにより、情報検索装置は、利用者から入力された検索条件に対応したテキスト情報として、抽出したテキスト情報を提示することが可能となる。
また、請求項9に記載の情報検索方法は、請求項8に記載の情報検索方法において、前記位置ビットマップ表が、前記複数のテキスト情報のうちの各テキスト情報を単語毎に区切ったときに区切りを介して連続した複数の単語から構成された単語グループ毎に前記ビット位置が割当てられたものであり、前記検索条件獲得ステップが、前記検索条件として、前記単語グループ内の複数の単語と、前記複数の単語の当該テキスト情報内における相対的な位置を示す情報として前記複数の単語の間の距離とを獲得し、前記ビットマップ列獲得ステップが、前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの1つの単語に対応するビットマップ列を抽出すると共に、前記位置ビットマップ表に基づいて前記検索条件として獲得された複数の単語の間の距離に対応するビットマップ列として、前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの残余の単語に対応するビットマップ列をそれぞれ抽出することを特徴とする。
かかる手順によれば、情報検索装置は、連続した複数の単語から構成された単語グループ毎にビット位置が割当てられた位置ビットマップ表を用い、検索条件として、単語グループ内の複数の単語と、それら複数の単語の間の距離とを獲得し、位置ビットマップ表に基づいて複数のビットマップ列を獲得する。したがって、情報検索装置は、単語の間の距離として、単語グループを構成する単語数以下の単語数を獲得するので、位置ビットマップ表のうち、検索条件に関係のある単語グループのみを検索することとなる。これにより、従来の装置に比べてリソースの消費を低減し、かつ、検索処理を高速に実行することができる。
また、請求項10に記載の情報検索方法は、請求項8に記載の情報検索方法において、前記位置ビットマップ表が、前記複数のテキスト情報のうちの各テキスト情報の単語毎に前記ビット位置が割当てられたものであり、前記検索条件獲得ステップが、前記検索条件として、複数の単語と、前記複数の単語の当該テキスト情報内における相対的な位置を示す情報として前記複数の単語の間の距離とを獲得し、前記ビットマップ列獲得ステップが、前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの1つの単語に対応するビットマップ列を抽出すると共に、前記位置ビットマップ表に基づいて前記検索条件として獲得された複数の単語の間の距離に対応するビットマップ列として、前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの残余の単語に対応するビットマップ列にそれぞれ割り当てられた各ビットを前記複数の単語の間の距離に基づいてビットシフトしたビットマップ列をそれぞれ生成することを特徴とする。
かかる手順によれば、情報検索装置は、単語毎にビット位置が割当てられた位置ビットマップ表を用い、検索条件として、利用者の所望するテキスト情報の中に含まれる複数の単語と、それら複数の単語の間の距離とを獲得する。そして、情報検索装置は、獲得した単語の1つを基準として、この基準とする単語に関するビットマップ列に対して、対象とする別の単語に関するビットマップ列を、検索条件として獲得された単語の間の距離だけビットシフトする。これにより、各ビットマップ列に割り当てられたビットの位置を揃えることができる。したがって、後段でビットワイズ演算を行うことで、利用者に提示すべきテキスト情報を高速に抽出することが可能となる。
また、請求項11に記載の情報検索方法は、請求項8に記載の情報検索方法において、前記位置ビットマップ表が、前記複数のテキスト情報のうちの各テキスト情報を単語毎に区切ったときに句点により仕切られた連続した複数の単語から構成された文毎に前記ビット位置が割当てられたものであり、前記検索条件獲得ステップが、前記検索条件として、前記文を構成する複数の単語と、前記複数の単語の当該テキスト情報内における相対的な位置を示す情報として前記複数の単語が1つの文に含まれていることを示す所定値とを獲得し、前記ビットマップ列獲得ステップが、前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの1つの単語に対応するビットマップ列を抽出すると共に、前記位置ビットマップ表に基づいて前記検索条件として獲得された所定値に対応するビットマップ列として、前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの残余の単語に対応するビットマップ列をそれぞれ抽出することを特徴とする。
かかる手順によれば、情報検索装置は、文毎にビット位置が割当てられた位置ビットマップ表を用い、検索条件として、文を構成する複数の単語と、それら複数の単語が1つの文に含まれていることを示す所定値とを獲得し、位置ビットマップ表に基づいて複数のビットマップ列を獲得する。したがって、情報検索装置は、検索条件によって特定の一文を獲得するので、位置ビットマップ表のうち、検索条件に関係のある一文のみを検索することとなる。これにより、従来の装置に比べてリソースの消費を低減し、かつ、検索処理を高速に実行することができる。
また、請求項12に記載の情報検索方法は、請求項8に記載の情報検索方法において、前記検索条件獲得ステップが、1つの単語を獲得すると共に、前記獲得した単語について当該テキスト情報内における相対的な位置を示す情報として、当該テキスト情報内において前記ビット位置を獲得し、前記ビットマップ列獲得ステップが、前記位置ビットマップ表から前記検索条件として獲得された1つの単語に対応するビットマップ列を抽出すると共に、前記位置ビットマップ表に基づいて前記検索条件として獲得された単語に対応して獲得された前記ビット位置に前記一方のビットが割り当てられたビットマップ列を生成することを特徴とする。
かかる手順によれば、情報検索装置は、検索条件として、1つの単語と、その単語の位置を示す情報とを獲得し、位置ビットマップ表に基づいて複数のビットマップ列を獲得する。したがって、情報検索装置は、位置ビットマップ表のうち、検索条件に関係のある位置の該当する単語のみを検索することとなる。これにより、従来の装置に比べてリソースの消費を低減し、かつ、検索処理を高速に実行することができる。
また、請求項13に記載の情報検索プログラムは、請求項1ないし請求項7のいずれか一項に記載の情報検索装置の機能をコンピュータで実現するための情報検索プログラムとした。このように構成されることにより、このプログラムをインストールされたコンピュータは、このプログラムに基づいた各機能を実現することができる。
本発明によれば、検索条件として「テキスト情報に含まれる1以上の単語」と、「テキスト情報内における当該単語の相対的な位置情報」とによる検索対象候補の絞込みを、予め作成された位置ビットマップ表に基づいてまとめてビットワイズ演算するので、リソースの消費を抑えると共に、検索処理を高速に実行することができる。
以下、図面を参照して本発明の情報検索装置および情報検索方法を実施するための最良の形態(以下「実施形態」という)について詳細に説明する。
[情報検索装置の構成]
図1は、本発明の実施形態に係る情報検索装置を模式的に示す構成図である。情報検索装置1は、利用者によって入力された検索条件に基づいて、複数のテキスト情報の中から、入力された検索条件に対応したテキスト情報を、利用者の所望するテキスト情報として検索するものである。情報検索装置1は、例えば、CPU(Central Processing Unit)と、RAM(Random Access Memory)と、ROM(Read Only Memory)と、HDD(Hard Disk Drive)と、入出力インタフェース等から構成される。この情報検索装置1は、図1に示すように、入力手段2と、記憶手段3と、制御手段4と、出力手段5とを備えている。
<入力手段>
入力手段2は、所定の通信インタフェースや入力インタフェースから構成される。この入力手段2は、例えば、インターネット等の通信ネットワークを介して受信した利用者の検索条件を制御手段4に入力するものである。なお、入力手段2は、利用者の使用する情報検索装置1にケーブルで接続されたマウスやキーボード等の入力装置Mから入力される検索条件を制御手段4に入力することも可能である。
<記憶手段>
記憶手段3は、所定のプログラム等を格納するROMと、制御手段4による演算処理等に利用されるRAMと、HDDとを備えている。この記憶手段3は、図1に示すように、位置ビットマップ表格納部6と、情報格納部7と、プログラム格納部8とを備えている。
≪位置ビットマップ表格納部≫
位置ビットマップ表格納部6は、予め作成された位置ビットマップ表を格納するものであり、例えば、一般的なHDD等から構成される。位置ビットマップ表は、情報格納部7に格納された複数のテキスト情報のいずれかに含まれて検索条件となりうる単語と、その単語を含むテキスト情報の識別情報と、その単語を含むテキスト情報における当該単語の出現位置を識別する情報を示すビット位置とが、2値のいずれか一方のビット(1か0)に対応付けられているものである。位置ビットマップ表は、どのような観点を重視するかによって様々なバリエーションが考えられる。本実施形態では、位置ビットマップ表は、複数のテキスト情報のうちの各テキスト情報を単語毎に区切ったときに区切りを介して連続した複数の単語から構成された単語グループ毎にビット位置が割当てられ、「1」のビットに対応付けられているものとする。なお、その具体例は後記する。
≪情報格納部≫
情報格納部7は、検索対象の複数のテキスト情報を格納するものであり、例えば、一般的なHDD等から構成される。本実施形態では、情報格納部7に格納されたテキスト情報の1つ1つをドキュメントとする。これらドキュメントには、ドキュメントを識別する識別情報(ドキュメントID:Doc id)が付与されている。
≪プログラム格納部≫
プログラム格納部8は、制御手段4が実行する各種プログラム等を格納するものであり、例えば、一般的メモリやHDD等から構成される。なお、位置ビットマップ表格納部6や情報格納部7は、1以上の外部記憶装置で構成することもできる。
<制御手段>
制御手段4は、例えば、CPU等から構成され、検索条件獲得手段11と、ビットマップ列獲得手段12と、ビットマップ算出手段13と、ビットマップ対応情報抽出手段14とを備えている。なお、これら検索条件獲得手段11、ビットマップ列獲得手段12、ビットマップ算出手段13およびビットマップ対応情報抽出手段14は、CPUが記憶手段3のプログラム格納部8に格納された所定のプログラムをRAMに展開して実行することにより実現されるものである。
≪検索条件獲得手段≫
検索条件獲得手段11は、検索条件として、利用者の所望するドキュメント(テキスト情報)の中に含まれる1以上の単語と、単語の当該ドキュメント内における相対的な位置を示す情報とを獲得するものである。本実施形態では、検索条件獲得手段11は、検索条件として、複数の単語と、単語の当該ドキュメント内における相対的な位置を示す情報として複数の単語の間の距離とを獲得するものとする。
≪ビットマップ列獲得手段≫
ビットマップ列獲得手段12は、位置ビットマップ表から、検索条件として獲得された単語に対応するビットマップ列を抽出すると共に、位置ビットマップ表に基づいて検索条件として獲得された相対的な位置を示す情報に対応するビットマップ列を生成することで複数のビットマップ列を獲得するものである。本実施形態では、ビットマップ列獲得手段12は、位置ビットマップ表から検索条件として獲得された複数の単語のうちの1つの単語に対応するビットマップ列を抽出すると共に、位置ビットマップ表に基づいて検索条件として獲得された複数の単語の間の距離に対応するビットマップ列として、位置ビットマップ表から検索条件として獲得された複数の単語のうちの残余の単語に対応するビットマップ列をそれぞれ抽出する。
≪ビットマップ算出手段≫
ビットマップ算出手段13は、ビットマップ列獲得手段12により獲得された複数のビットマップ列のそれぞれ対応するビット位置に割り当てられたビットについて、ビットワイズ演算を行うことで位置ビットマップ表の列に対応したビットマップを算出するものである。本実施形態では、ビットマップ算出手段13は、ビットマップ列獲得手段12により獲得された複数のビットマップ列について、論理積演算を実行する。
≪ビットマップ対応情報抽出手段≫
ビットマップ対応情報抽出手段14は、ビットマップ算出手段13で算出されたビットマップに対応する情報(以下、ビットマップ対応情報という)として、複数のドキュメント(テキスト情報)の中から、ビットマップ算出手段13で算出されたビットマップにおいて一方のビットが割り当てられたビット位置に対応するドキュメント(テキスト情報)を抽出するものである。本実施形態では、ビットマップ対応情報抽出手段14は、情報格納部7に格納された大量のドキュメントの中から、ビットマップ算出手段13で算出されたビットマップにおいて「1」のビットが割り当てられたビット位置に対応するドキュメントを抽出する。
<出力手段>
出力手段5は、所定の通信インタフェースや出力インタフェースから構成される。この出力手段5は、ビットマップ対応情報抽出手段14で抽出したドキュメント(テキスト情報)を、例えば、インターネット等の通信ネットワークを介して利用者の使用するPCに送信するものである。なお、出力手段5は、ビットマップ対応情報抽出手段14で抽出したドキュメント(テキスト情報)を、情報検索装置1にケーブルで接続された液晶ディスプレイ等の出力装置Dに出力することも可能である。
なお、情報検索装置1は、一般的なコンピュータを、前記した検索条件獲得手段11、ビットマップ列獲得手段12、ビットマップ算出手段13およびビットマップ対応情報抽出手段14として機能させる情報検索プログラムを実行することで実現することもできる。これらのプログラムは、通信回線を介して配布することも可能であるし、CD−ROM等の記録媒体に書き込んで配布することも可能である。
[情報検索装置の動作]
図1に示した情報検索装置1の動作について図2を参照(適宜図1参照)して説明する。図2は、図1に示した情報検索装置の動作を示すフローチャートである。まず、情報検索装置1は、検索条件獲得手段11によって、入力装置Mから入力手段2を介して検索条件を獲得する(ステップS1:検索条件獲得ステップ)。そして、情報検索装置1は、ビットマップ列獲得手段12によって、位置ビットマップ表に基づいて、検索条件に対応するビットマップ列を獲得する(ステップS2:ビットマップ列獲得ステップ)。次に、情報検索装置1は、ビットマップ算出手段13によって、獲得されたビットマップ列についてビットワイズ演算を行うことでビットマップを算出する(ステップS3:ビットマップ算出ステップ)。続いて、情報検索装置1は、ビットマップ対応情報抽出手段14によって、算出されたビットマップに対応したビットマップ対応情報(ドキュメント)を抽出する(ステップS4:ビットマップ対応情報抽出ステップ)。そして、情報検索装置1は、抽出されたビットマップ対応情報(ドキュメント)を検索結果情報として出力手段5を介して出力装置Dに出力する(ステップS5)。
[具体例]
ここでは、検索の一例として、利用者が、情報格納部7(図1参照)に格納された大量のドキュメントの中から、「花」と「月」という2つの単語を含み、かつ、「花」と「月」という2つの単語間の距離が、2単語以内であることを検索条件としてドキュメントを検索する場合を想定し、この前提にしたがって具体例を説明する。
<ドキュメントの具体例>
ドキュメントの具体例を図3に示す。図3は、単語単位に区切られたドキュメントの一例を示す図である。ここでは、一例として、4個のドキュメントを示した。ドキュメントID(Doc id)が「1」のドキュメントは「花 が 月 夜 に 美しい」のように区切られている。ここで、スペースは単語毎の区切りを示す。なお、図3では、単語の区切りを縦線「|」で示した。
同様に、Doc idが「2」のドキュメントは「花 鳥 風 月」のように区切られている。また、Doc idが「3」のドキュメントは「私 は 花 が 好き」のように区切られている。さらに、Doc idが「4」のドキュメントは「花 月 園 駅」のように区切られている。ここで、検索条件となりうる単語とは、日本語の場合、図3に示すように、名詞や自立語に限らず形容詞や付属語でもよい。
<単語グループの具体例>
次に、想定された「2つの単語間の距離が、2単語以内であること」を検索条件として採用できるように、情報検索装置1(図1参照)が用いる位置ビットマップ表の例について説明する。まず、図3に示したDoc idが「1」のドキュメントについて、単語グループ毎に区切り、区切られた単語グループの位置を、1つのビット位置に割り当てた例を図4に示す。図4は、ドキュメント中の3個の連続した単語から成る単語グループに割り当てたビット位置の一例を示す図である。ここでは、「2つの単語間の距離が、2単語以内であること」を検索条件としたので、その条件に対応させて、単語グループを、ドキュメント中の3個の連続した単語で構成した。
この例では、ドキュメント「花 が 月 夜 に 美しい」のうち、最初の単語から3単語の単語グループをグループ41とした。同様に、2番目の単語から3単語の単語グループをグループ42とした。また、3番目の単語から3単語の単語グループをグループ43とした。さらに、4番目の単語から3単語の単語グループをグループ44とした。このドキュメントは「6」単語で構成されているので単語グループは以上である。グループ41〜グループ44は、元のドキュメントの初めから3単語の単語グループを形成するたびに、1単語ずつ右にずらして新たな単語グループを形成したものである。この図3から、「月」という単語を含むDoc idが「1」であるドキュメントにおいて、「月」という単語のビット位置(Position)は、「1」,「2」,「3」の3箇所であることが分かる。なお、ビット位置は、「4」まで用意されている。
<位置ビットマップ表の具体例>
図5は、図4に示した割り当て方に対応した位置ビットマップ表の一例を示す図である。図3に示した4個のドキュメントに対して、図4を用いて説明したビット位置を割り当てることによって得られたものである。つまり、4個のドキュメント(テキスト情報)のうちの各ドキュメントを単語毎に区切ったときに区切りを介して連続した3個の単語から構成された単語グループ毎にビット位置が割当てられている。図3に示した4個のドキュメントには、合計「13」個の単語が出現するので、図5に示した位置ビットマップ表には、「13」個の単語が検索条件となりうる単語として記載されている。また、図5に示した位置ビットマップ表は、前提に合わせて検索条件として2個の単語の間の距離を「2単語以内」に定める場合に用いるために、連続した3個の単語を単語グループとして作成したものである。したがって、仮に、検索条件において単語間の距離を示す数値が「2以下」に限定されずに、利用者が自由に入力できる場合には、それに対応した位置ビットマップ表を用意しておく。例えば、検索条件として2個の単語の間の距離を「3単語以内」に定める場合には、連続した4個の単語を単語グループとして作成した位置ビットマップ表を作成しておく。また、本実施形態では、情報検索装置1は、このように複数の単語間の距離に応じて予めそれぞれ作成された複数の位置ビットマップ表を位置ビットマップ表格納部6に格納しておくこととする。
<検索条件および距離の具体例>
図6は、2つの単語とその距離とを含む検索条件の一例を示す図であり、前提としている検索条件を示している。これらの検索条件は、情報検索装置1の検索条件獲得手段11(図1参照)において獲得される。ここで、単語間の距離とは、図7に示すように定義される。具体的には、「月」という単語に着目した場合には、その前後の単語である「が」および「夜」は、「月」からの距離がそれぞれ「1」である。同様に、「花」および「に」は、「月」からの距離がそれぞれ「2」であり、「美しい」は、「月」からの距離が「3」である。このように、単語間の距離とは、複数の単語の当該ドキュメント(テキスト情報)内における相対的な位置を示す情報である。
<ビットマップ列の具体例>
本実施形態では、情報検索装置1のビットマップ列獲得手段12(図1参照)は、検索条件として獲得された複数の単語間の距離に基づいて、位置ビットマップ表格納部6から、予め対応させて作成された適切な位置ビットマップ表を選択し、選択した位置ビットマップ表から複数のビットマップ列を獲得することとする。このビットマップ列獲得手段12(図1参照)は、図6に示した検索条件に基づいて、図5に示した位置ビットマップ表を選択し、選択した位置ビットマップ表から、図8に示す2つのビットマップ列81,82を獲得する。
<ビットワイズ演算結果の具体例>
情報検索装置1のビットマップ算出手段13(図1参照)は、図8に示す2つのビットマップ列81,82についてビットワイズ演算として論理積演算を実行し、論理積結果として、図9に示すビットマップ90を算出する。図9に示すビットマップ90は、符号91,92で示すビット「1」を有している。これらは、図8に示す2つのビットマップ列81,82において対応するビット位置に割り当てられたそれぞれビットが両方とも「1」となっているビット位置に対応している。また、図9に示すビットマップ90は、図5に示した位置ビットマップ表の列に対応している。つまり、ビットマップ90の符号91で示すビット「1」は、Doc idが「1」のドキュメントのビット位置(position)が「1である単語」に対応している。同様に、ビットマップ90の符号92で示すビット「1」は、Doc idが「4」のドキュメントのビット位置(position)が「1である単語」に対応している。その結果、情報検索装置1は、Doc idが「1」のドキュメントと、Doc idが「4」のドキュメントとを利用者に提示する検索結果(検索結果情報)として抽出する。これにより、利用者は、図6に示す検索条件に対する応答として、2つのドキュメント「花が月夜に美しい」、「花月園駅」を取得することができる。
本実施形態によれば、情報検索装置1は、検索条件として「テキスト情報に含まれる2個の単語」と「その2個の単語の距離」とによる検索対象候補の絞込みを、予め作成された位置ビットマップ表に基づいてまとめてビットワイズ演算するので、リソース(ディスク、メモリ、CPU)の消費を抑えると共に、検索処理を高速に実行することができる。なお、本実施形態では、検索条件として「テキスト情報に含まれる2個の単語」と、「その2個の単語の距離」としたが、それぞれの単語間の距離が分かれば単語数は特に「2個」に限定されるものではなく、複数であれば同等の効果を奏することはもちろんである。
以上、本発明の実施形態について説明したが、本発明はこれに限定されるものではなく、その趣旨を変えない範囲で実施することができる。例えば、本実施形態で説明した検索条件とそれに対応した位置ビットマップ表の構成は一例である。以下では、検索条件とそれに対応した位置ビットマップ表の5つの変形例について説明し、さらに、その他の設計変形例を説明する。
[変形例1]
本実施形態では、位置ビットマップ表が複数(4個)のドキュメント(テキスト情報)のうちの各ドキュメントを単語毎に区切ったときに区切りを介して連続した複数(3個)の単語から構成された単語グループ毎にビット位置が割当てられるものとしたが、グループ化せずに単語毎にビット位置を割り当ててもよい。この場合には、情報検索装置1のビットマップ列獲得手段12(図1参照)は、位置ビットマップ表から検索条件として獲得された複数の単語のうちの1つの単語に対応するビットマップ列を抽出すると共に、位置ビットマップ表に基づいて検索条件として獲得された複数の単語の間の距離に対応するビットマップ列として、位置ビットマップ表から検索条件として獲得された複数の単語のうちの残余の単語に対応するビットマップ列にそれぞれ割り当てられた各ビットを複数の単語の間の距離に基づいてビットシフトしたビットマップ列をそれぞれ生成する。
具体的には、図3に示したDoc idが「1」のドキュメントについて、単語に区切り、区切られた単語の位置を、1つのビット位置に割り当てた例を図10に示す。また、図11は、図10に示した割り当て方に対応した位置ビットマップ表の一例を示す図である。この場合、ビットマップ列獲得手段12(図1参照)は、図6に示した検索条件を拡張した条件に基づいて、図11に示した位置ビットマップ表を選択し、選択した位置ビットマップ表から、図12に示す2つのビットマップ列121,122を獲得する。図6に示した検索条件を拡張した条件とは、「花」と「月」という2つの単語を含み、単語間の距離が「2単語以内」であり、さらに、「花」と「月」という2つの単語間の位置関係が、「花」が「月」よりも2単語前方である、ことを指す。この場合、ビットマップ列獲得手段12は、ビットマップ列121を基準にして、ビットマップ列122を2ビット上方にずらす。つまり、ビットマップ列獲得手段12は、図13に示すように、ビットマップ列131,132を生成する。なお、ビットマップ列132は、ビットシフトにより生成されたので、ビットの割当てられていない(NULL)の領域133を有している。図13から、これらのビットマップ列131,132間で、論理積をとることで、検索条件に合致するドキュメントとして、Doc idが「1」のドキュメントを特定することが可能であることが分かる。
[変形例2]
本実施形態では、位置ビットマップ表の単語グループが、単に連続した複数(例えば3個)の単語であるものとして説明したが、単語グループは、句点により仕切られた連続した複数の単語から構成された文(sentence)でもよい。つまり、位置ビットマップ表は、複数のドキュメント(テキスト情報)のうちの各ドキュメントを単語毎に区切ったときに句点により仕切られた連続した複数の単語から構成された文毎にビット位置が割り当てられる。この場合には、情報検索装置1の検索条件獲得手段11(図1参照)は、検索条件として、文を構成する複数の単語と、それら複数の単語の当該ドキュメント(テキスト情報)内における相対的な位置を示す情報として複数の単語が1つの文に含まれていることを示す所定値とを獲得する。所定値は、例えば、単語間の距離を文単位とした場合の距離に相当する「0」を用いることができる。言い換えると、検索条件獲得手段11は、文を単位として、複数の単語の間の距離を獲得する。また、情報検索装置1のビットマップ列獲得手段12(図1参照)は、位置ビットマップ表から検索条件として獲得された複数の単語のうちの1つの単語に対応するビットマップ列を抽出すると共に、位置ビットマップ表に基づいて検索条件として獲得された所定値に対応するビットマップ列として、位置ビットマップ表から検索条件として獲得された複数の単語のうちの残余の単語に対応するビットマップ列をそれぞれ抽出する。
このように句点「。」を含むドキュメントの具体例を図14に示す。また、図14に示したDoc idが「1」のドキュメントについて、文毎に区切り、区切られた文の位置を、1つのビット位置に割り当てた例を図15に示す。この例では、ドキュメントのうち、最初の文をグループ151とした。同様に、2番目の文をグループ152、3番目の文をグループ153とした。図15に示した割り当て方に対応した位置ビットマップ表の一例を図16に示す。情報検索装置1は、図16に示す位置ビットマップ表を用いることで、例えば、「春」と「きた」という2つの単語を含み、かつ、「春」と「きた」という2つの単語間の距離が、0(すなわち、同じ文内に存在する)である、という検索条件を獲得した場合に、本実施形態と同様の処理を実行することにより、検索条件に合致するドキュメントとして、Doc idが「1」のドキュメントを特定することが可能である。
この場合、位置ビットマップ表の単語グループは、文に限らず、文を最小構成要素として文法の形式上または文章の意味内容上のまとまりであってもよい。文法の形式上または文章の意味内容上のまとまりとは、1以上の文から構成された段落(paragraph)、1以上の段落から構成された段落群、行、章(chapter)、ページ(page)、起承転結のそれぞれ等を指す。これによっても同等の効果を奏することができる。
[変形例3]
本実施形態では、検索条件として、2個の単語を例示したが、検索条件で入力される単語数は1個でもよい。この場合には、情報検索装置1の検索条件獲得手段11(図1参照)は、1つの単語を獲得すると共に、獲得した単語について当該テキスト情報内における相対的な位置を示す情報として、当該テキスト情報内においてビット位置を獲得する。また、情報検索装置1のビットマップ列獲得手段12(図1参照)は、位置ビットマップ表から検索条件として獲得された1つの単語に対応するビットマップ列を抽出すると共に、位置ビットマップ表に基づいて検索条件として獲得された単語に対応して獲得されたビット位置に一方のビット(例えば、「1」)が割り当てられたビットマップ列を生成する。
具体的には、1つの単語とその位置とを含む検索条件の一例を図17に示す。この場合に、ビットマップ列獲得手段12は、仮に図11に示した位置ビットマップ表を用いるとすると、図17に示した検索条件に含まれる単語「花」に基づいて、図11に示した位置ビットマップ表から、図18に示すように、ビットマップ列180を抽出する。ビットマップ列180は、符号181で示すように、position「1」のビットのみが「1」であり、符号182で示すように、position「2〜6」のビットは「0」である。また、ビットマップ列獲得手段12は、図17に示した検索条件に含まれる単語の位置「先頭から1単語目」に基づいて、図11に示した位置ビットマップ表に対応して、図19に示すように、ビットマップ列190を生成する。ビットマップ列190は、符号191で示すように、position「1」のビットのみが「1」であり、符号192で示すように、その他のpositionのビットは「0」である。なお、ビットマップ列190において、ビットが「0」である領域は、論理積を計算する際に必要ないのでpositionの個数は特に限定されない。図17に示す検索条件を獲得した場合に、情報検索装置1は、本実施形態と同様の処理、すなわち、図18に示す抽出したビットマップ列180と、図19に示す生成したビットマップ列190との論理積をとることにより、その検索条件に合致するドキュメントとして、「花」という単語が、position「1」にあるドキュメントとして、ドキュメントDoc idが「1」のドキュメントを特定することが可能である。なお、図17に示す検索条件に合致しない場合、論理積結果は、すべて0となる。同様に、図11に示した位置ビットマップ表を用いて、「月」という単語が、先頭から3番目の位置にあるドキュメントを検索する場合には、ビットマップ列獲得手段12は、図11に示した位置ビットマップ表から、単語「月」のビットマップ列を抽出すると共に、position「3」にのみビット「1」が割当てられたビットマップ列を生成する。
[変形例4]
検索条件は、複数の単語が連続した単語列や文でもよい。この場合に、検索条件獲得手段11(図1参照)は、獲得した単語列や文を形態素に分割する形態素解析手段を有し、分割の結果生じた複数の単語を改めて検索条件として獲得する。また、この場合に、位置ビットマップ表は、前記した変形例1と同様に、ドキュメントについて形態素に区切り、区切られた形態素の位置を、1つのビット位置に割り当てて作成される。これによれば、利用者が入力する検索条件が単語列や文であってもテキスト情報を検索できる。
[変形例5]
変形例4をさらに変形したものとして、検索条件獲得手段11(図1参照)が、獲得した単語列や文を形態素に分割する形態素解析手段を有し、分割の結果生じた複数の単語を連続した数語ごとのまとまりにグループ化することで、単語グループを改めて検索条件として獲得する。また、この場合に、位置ビットマップ表は、本実施形態と同様に、ドキュメントについて、単語グループに区切り、区切られた単語グループの位置を、1つのビット位置に割り当てて作成される。
<その他の設計変形例1>
また、本実施形態の情報検索装置1は、以下の機能をさらに備えるように構成してもよい。位置ビットマップ表は、検索条件となりうるすべての単語について、所定の単語と、その所定の単語を含んでいるすべてのテキスト情報におけるその所定の単語のビット位置とを対応づけたビットマップ表を圧縮したデータとして保持することができる。例えば、2つ以上の単語に対応するビットマップ列が圧縮データとして保持される。この場合、ビットマップ演算手段13(図1参照)は、検索条件となる2つ以上の単語に対応するビットマップ列の圧縮データについて、必要に応じて解凍を行い、論理積演算を行う。
<その他の設計変形例2>
情報格納部7(図1参照)に、利用者の欲するテキスト情報の他、例えば、そのテキスト情報に関連する情報や、そのテキスト情報へアクセスするためのアドレス(URI:Uniform Resource Identifier)等を格納するようにしてもよい。この場合には、ビットマップ対応情報獲得手段14(図1参照)は、論理積演算により算出されたビットマップに対応する情報(ビットマップ対応情報)として、利用者の所望するテキスト情報の他に、そのテキスト情報に関連する情報や、そのテキスト情報へアクセスするためのアドレスを獲得する。これにより、情報検索装置1は、テキスト情報と共に、そのテキスト情報に関連する情報や、そのテキスト情報へアクセスするためのアドレスをも利用者に提示することができる。
本発明の実施形態に係る情報検索装置を模式的に示す構成図である。 図1に示した情報検索装置の動作を示すフローチャートである。 単語単位に区切られたドキュメントの一例を示す図である。 ドキュメント中の3個の連続した単語から成る単語グループに割り当てたビット位置の一例を示す図である。 図4に示した割り当て方に対応した位置ビットマップ表の一例を示す図である。 2つの単語とその距離とを含む検索条件の一例を示す図である。 単語間の距離の定義の一例を示す図である。 図5に示した位置ビットマップ表から図6に示した検索条件で抽出されたビットマップ列の一例を示す図である。 図8に示したビットマップ列を用いた論理積結果を示す図である。 ドキュメント中の各単語に割り当てたビット位置の一例を示す図である。 図10に示した割り当て方に対応した位置ビットマップ表の一例を示す図である。 図11に示した位置ビットマップ表から図6に示した検索条件で抽出されたビットマップ列の一例を示す図である。 ビットシフトしたビットマップ列の一例を示す図である。 句点を含むドキュメントの一例を示す図である。 ドキュメント中の句点で区切られたグループに割り当てたビット位置の一例を示す図である。 図15に示した割り当て方に対応した位置ビットマップ表の一例を示す図である。 1つの単語とその位置とを含む検索条件の一例を示す図である。 図11に示した位置ビットマップ表から図18に示した検索条件の単語で抽出されたビットマップ列を示す図である。 図17に示した検索条件に含まれる単語の位置を示すビットマップ列の一例を示す図である。
符号の説明
1 情報検索装置
2 入力手段
3 記憶手段
4 制御手段
5 出力手段
6 位置ビットマップ表格納部
7 情報格納部
8 プログラム格納部
11 検索条件獲得手段
12 ビットマップ列獲得手段
13 ビットマップ算出手段
14 ビットマップ対応情報抽出手段
M 入力装置
D 出力装置

Claims (13)

  1. 利用者によって入力された検索条件に基づいて、複数のテキスト情報の中から、前記入力された検索条件に対応したテキスト情報を、前記利用者の所望するテキスト情報として検索する情報検索装置であって、
    前記検索条件として、前記利用者の所望するテキスト情報の中に含まれる1以上の単語と、前記単語の当該テキスト情報内における相対的な位置を示す情報とを獲得する検索条件獲得手段と、
    前記複数のテキスト情報のいずれかに含まれて前記検索条件となりうる単語と、前記単語を含むテキスト情報の識別情報と、前記単語を含むテキスト情報における当該単語の出現位置を識別する情報を示すビット位置とが2値のいずれか一方のビットに対応付けられて予め作成された位置ビットマップ表から、前記検索条件として獲得された単語に対応するビットマップ列を抽出すると共に、前記位置ビットマップ表に基づいて前記検索条件として獲得された相対的な位置を示す情報に対応するビットマップ列を生成することで複数のビットマップ列を獲得するビットマップ列獲得手段と、
    前記ビットマップ列獲得手段により獲得された複数のビットマップ列のそれぞれ対応するビット位置に割り当てられたビットについて、ビットワイズ演算を行うことで前記位置ビットマップ表の列に対応したビットマップを算出するビットマップ算出手段と、
    前記算出されたビットマップに対応する情報として、前記複数のテキスト情報の中から、前記算出されたビットマップにおいて前記一方のビットが割り当てられたビット位置に対応するテキスト情報を抽出するビットマップ対応情報抽出手段とを備えることを特徴とする情報検索装置。
  2. 前記位置ビットマップ表は、
    前記複数のテキスト情報のうちの各テキスト情報を単語毎に区切ったときに区切りを介して連続した複数の単語から構成された単語グループ毎に前記ビット位置が割当てられたものであり、
    前記検索条件獲得手段は、
    前記検索条件として、前記単語グループ内の複数の単語と、前記複数の単語の当該テキスト情報内における相対的な位置を示す情報として前記複数の単語の間の距離とを獲得し、
    前記ビットマップ列獲得手段は、
    前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの1つの単語に対応するビットマップ列を抽出すると共に、前記位置ビットマップ表に基づいて前記検索条件として獲得された複数の単語の間の距離に対応するビットマップ列として、前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの残余の単語に対応するビットマップ列をそれぞれ抽出することを特徴とする請求項1に記載の情報検索装置。
  3. 前記位置ビットマップ表の前記単語グループは、句点により仕切られた連続した複数の単語から構成された文を最小構成要素として文法の形式上または文章の意味内容上のまとまりであり、
    前記検索条件獲得手段は、文を単位として、前記複数の単語の間の距離を獲得することを特徴とする請求項2に記載の情報検索装置。
  4. 複数の単語間の距離に応じて予めそれぞれ作成された複数の前記位置ビットマップ表を格納する位置ビットマップ表格納部をさらに備え、
    前記ビットマップ列獲得手段は、
    前記検索条件として獲得された複数の単語間の距離に基づいて、前記位置ビットマップ表格納部から前記位置ビットマップ表を選択し、前記選択した位置ビットマップ表から前記複数のビットマップ列を獲得することを特徴とする請求項2または請求項3に記載の情報検索装置。
  5. 前記位置ビットマップ表は、
    前記複数のテキスト情報のうちの各テキスト情報の単語毎に前記ビット位置が割当てられたものであり、
    前記検索条件獲得手段は、
    前記検索条件として、複数の単語と、前記複数の単語の当該テキスト情報内における相対的な位置を示す情報として前記複数の単語の間の距離とを獲得し、
    前記ビットマップ列獲得手段は、
    前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの1つの単語に対応するビットマップ列を抽出すると共に、前記位置ビットマップ表に基づいて前記検索条件として獲得された複数の単語の間の距離に対応するビットマップ列として、前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの残余の単語に対応するビットマップ列にそれぞれ割り当てられた各ビットを前記複数の単語の間の距離に基づいてビットシフトしたビットマップ列をそれぞれ生成することを特徴とする請求項1に記載の情報検索装置。
  6. 前記位置ビットマップ表は、
    前記複数のテキスト情報のうちの各テキスト情報を単語毎に区切ったときに句点により仕切られた連続した複数の単語から構成された文毎に、前記ビット位置が割当てられたものであり、
    前記検索条件獲得手段は、
    前記検索条件として、前記文を構成する複数の単語と、前記複数の単語の当該テキスト情報内における相対的な位置を示す情報として前記複数の単語が1つの文に含まれていることを示す所定値とを獲得し、
    前記ビットマップ列獲得手段は、
    前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの1つの単語に対応するビットマップ列を抽出すると共に、前記位置ビットマップ表に基づいて前記検索条件として獲得された所定値に対応するビットマップ列として、前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの残余の単語に対応するビットマップ列をそれぞれ抽出することを特徴とする請求項1に記載の情報検索装置。
  7. 前記検索条件獲得手段は、
    1つの単語を獲得すると共に、前記獲得した単語について当該テキスト情報内における相対的な位置を示す情報として、当該テキスト情報内において前記ビット位置を獲得し、
    前記ビットマップ列獲得手段は、
    前記位置ビットマップ表から前記検索条件として獲得された1つの単語に対応するビットマップ列を抽出すると共に、前記位置ビットマップ表に基づいて前記検索条件として獲得された単語に対応して獲得された前記ビット位置に前記一方のビットが割り当てられたビットマップ列を生成することを特徴とする請求項1に記載の情報検索装置。
  8. 利用者によって入力された検索条件に基づいて、前記複数のテキスト情報の中から、前記入力された検索条件に対応したテキスト情報を、前記利用者の所望するテキスト情報として検索する情報検索装置の情報検索方法であって、
    前記情報検索装置は、
    前記検索条件として、前記利用者の所望するテキスト情報の中に含まれる1以上の単語と、前記単語の当該テキスト情報内における相対的な位置を示す情報とを獲得する検索条件獲得ステップと、
    前記複数のテキスト情報のいずれかに含まれて前記検索条件となりうる単語と、前記単語を含むテキスト情報の識別情報と、前記単語を含むテキスト情報における当該単語の出現位置を識別する情報を示すビット位置とが2値のいずれか一方のビットに対応付けられて予め作成された位置ビットマップ表から、前記検索条件として獲得された単語に対応するビットマップ列を抽出すると共に、前記位置ビットマップ表に基づいて前記検索条件として獲得された相対的な位置を示す情報に対応するビットマップ列を生成することで複数のビットマップ列を獲得するビットマップ列獲得ステップと、
    前記ビットマップ列獲得ステップにより獲得された複数のビットマップ列のそれぞれ対応するビット位置に割り当てられたビットについて、ビットワイズ演算を行うことで前記位置ビットマップ表の列に対応したビットマップを算出するビットマップ算出ステップと、
    前記算出されたビットマップに対応する情報として、前記複数のテキスト情報の中から、前記算出されたビットマップにおいて前記一方のビットが割り当てられたビット位置に対応するテキスト情報を抽出するビットマップ対応情報抽出ステップとを実行することを特徴とする情報検索方法。
  9. 前記位置ビットマップ表は、
    前記複数のテキスト情報のうちの各テキスト情報を単語毎に区切ったときに区切りを介して連続した複数の単語から構成された単語グループ毎に前記ビット位置が割当てられたものであり、
    前記検索条件獲得ステップは、
    前記検索条件として、前記単語グループ内の複数の単語と、前記複数の単語の当該テキスト情報内における相対的な位置を示す情報として前記複数の単語の間の距離とを獲得し、
    前記ビットマップ列獲得ステップは、
    前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの1つの単語に対応するビットマップ列を抽出すると共に、前記位置ビットマップ表に基づいて前記検索条件として獲得された複数の単語の間の距離に対応するビットマップ列として、前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの残余の単語に対応するビットマップ列をそれぞれ抽出することを特徴とする請求項8に記載の情報検索方法。
  10. 前記位置ビットマップ表は、
    前記複数のテキスト情報のうちの各テキスト情報の単語毎に前記ビット位置が割当てられたものであり、
    前記検索条件獲得ステップは、
    前記検索条件として、複数の単語と、前記複数の単語の当該テキスト情報内における相対的な位置を示す情報として前記複数の単語の間の距離とを獲得し、
    前記ビットマップ列獲得ステップは、
    前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの1つの単語に対応するビットマップ列を抽出すると共に、前記位置ビットマップ表に基づいて前記検索条件として獲得された複数の単語の間の距離に対応するビットマップ列として、前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの残余の単語に対応するビットマップ列にそれぞれ割り当てられた各ビットを前記複数の単語の間の距離に基づいてビットシフトしたビットマップ列をそれぞれ生成することを特徴とする請求項8に記載の情報検索方法。
  11. 前記位置ビットマップ表は、
    前記複数のテキスト情報のうちの各テキスト情報を単語毎に区切ったときに句点により仕切られた連続した複数の単語から構成された文毎に前記ビット位置が割当てられたものであり、
    前記検索条件獲得ステップは、
    前記検索条件として、前記文を構成する複数の単語と、前記複数の単語の当該テキスト情報内における相対的な位置を示す情報として前記複数の単語が1つの文に含まれていることを示す所定値とを獲得し、
    前記ビットマップ列獲得ステップは、
    前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの1つの単語に対応するビットマップ列を抽出すると共に、前記位置ビットマップ表に基づいて前記検索条件として獲得された所定値に対応するビットマップ列として、前記位置ビットマップ表から前記検索条件として獲得された複数の単語のうちの残余の単語に対応するビットマップ列をそれぞれ抽出することを特徴とする請求項8に記載の情報検索方法。
  12. 前記検索条件獲得ステップは、
    1つの単語を獲得すると共に、前記獲得した単語について当該テキスト情報内における相対的な位置を示す情報として、当該テキスト情報内において前記ビット位置を獲得し、
    前記ビットマップ列獲得ステップは、
    前記位置ビットマップ表から前記検索条件として獲得された1つの単語に対応するビットマップ列を抽出すると共に、前記位置ビットマップ表に基づいて前記検索条件として獲得された単語に対応して獲得された前記ビット位置に前記一方のビットが割り当てられたビットマップ列を生成することを特徴とする請求項8に記載の情報検索方法。
  13. 請求項1ないし請求項7のいずれか一項に記載の情報検索装置の機能をコンピュータで実現するための情報検索プログラム。
JP2007212669A 2007-08-17 2007-08-17 情報検索装置、情報検索方法および情報検索プログラム Pending JP2009048351A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007212669A JP2009048351A (ja) 2007-08-17 2007-08-17 情報検索装置、情報検索方法および情報検索プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007212669A JP2009048351A (ja) 2007-08-17 2007-08-17 情報検索装置、情報検索方法および情報検索プログラム

Publications (1)

Publication Number Publication Date
JP2009048351A true JP2009048351A (ja) 2009-03-05

Family

ID=40500517

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007212669A Pending JP2009048351A (ja) 2007-08-17 2007-08-17 情報検索装置、情報検索方法および情報検索プログラム

Country Status (1)

Country Link
JP (1) JP2009048351A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011258184A (ja) * 2010-06-08 2011-12-22 International Business Maschines Corporation コンピュータ解析のためにテキスト文書を表現するためのグラフィカル・モデル
WO2018179729A1 (ja) * 2017-03-28 2018-10-04 富士通株式会社 インデックス生成プログラム、データ検索プログラム、インデックス生成装置、データ検索装置、インデックス生成方法、及びデータ検索方法
JPWO2018096686A1 (ja) * 2016-11-28 2019-08-08 富士通株式会社 検証プログラム、検証装置、検証方法、インデックス生成プログラム、インデックス生成装置およびインデックス生成方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011258184A (ja) * 2010-06-08 2011-12-22 International Business Maschines Corporation コンピュータ解析のためにテキスト文書を表現するためのグラフィカル・モデル
JPWO2018096686A1 (ja) * 2016-11-28 2019-08-08 富士通株式会社 検証プログラム、検証装置、検証方法、インデックス生成プログラム、インデックス生成装置およびインデックス生成方法
WO2018179729A1 (ja) * 2017-03-28 2018-10-04 富士通株式会社 インデックス生成プログラム、データ検索プログラム、インデックス生成装置、データ検索装置、インデックス生成方法、及びデータ検索方法
JP2018165875A (ja) * 2017-03-28 2018-10-25 富士通株式会社 インデックス生成プログラム、データ検索プログラム、インデックス生成装置、データ検索装置、インデックス生成方法、及びデータ検索方法
US11487817B2 (en) 2017-03-28 2022-11-01 Fujitsu Limited Index generation method, data retrieval method, apparatus of index generation

Similar Documents

Publication Publication Date Title
US7979268B2 (en) String matching method and system and computer-readable recording medium storing the string matching method
US8117026B2 (en) String matching method and system using phonetic symbols and computer-readable recording medium storing computer program for executing the string matching method
JP5497022B2 (ja) 入力文字列からのリソースロケータの提案
JP2007004633A (ja) 言語モデル作成装置およびそれにより作成された言語モデルを使用する言語処理装置
JPWO2019224891A1 (ja) 分類装置、分類方法、生成方法、分類プログラム及び生成プログラム
JP2005107597A (ja) 類似文検索装置、類似文検索方法、およびプログラム
CN105224624A (zh) 一种实现倒排链快速归并的方法和装置
US10387543B2 (en) Phoneme-to-grapheme mapping systems and methods
JP2009048351A (ja) 情報検索装置、情報検索方法および情報検索プログラム
Maceli Introduction to text mining with R for information professionals
KR101113787B1 (ko) 텍스트 색인 장치 및 방법
JP7122773B2 (ja) 辞書構築装置、辞書の生産方法、およびプログラム
JP5285491B2 (ja) 情報検索システム、方法及びプログラム、索引作成システム、方法及びプログラム、
KR101679011B1 (ko) 데이터베이스에서 데이터 이동을 처리하는 방법 및 장치
CN115525728A (zh) 汉字排序、汉字检索和汉字***的方法和装置
JP2010146061A (ja) 例文表示装置、例文表示方法および例文表示プログラム
JP2022002034A (ja) 抽出方法、抽出プログラム、及び、抽出装置
JP2010191851A (ja) 記事特徴語抽出装置、記事特徴語抽出方法及びプログラム
Ravaisson Félix Ravaisson: selected essays
JP5184987B2 (ja) 索引情報作成装置、索引情報作成方法及びプログラム
JP2009098829A (ja) 漫画のコマ検索装置
JP2008276561A (ja) 形態素解析装置、形態素解析方法、形態素解析プログラム及びコンピュータプログラムを格納した記録媒体
US7840583B2 (en) Search device and recording medium
JP3022079B2 (ja) 全文データベースシステム
JP6162074B2 (ja) 検索キー作成方法及びその装置