(57)【要約】【課題】検索条件を示す検索要求データから抽出した検索キーを用いて、文書などのデータを検索する場合、適切な検索結果を得ることが可能なデータ検索装置を提供する。【解決手段】入力受付部Ｋ１は、検索要求データの入力を受け付ける。検索対象記憶部Ｋ２は、検索対象データを記憶している。検索キー抽出部Ｋ３は、検索要求データから、検索キーを抽出する。検索部Ｋ４は、検索キーを用いて、検索対象記憶部Ｋ２の中から、検索適合データとなる検索対象データを検索する。検索の際、検索部Ｋ４は、所定の変更条件を満たす限り、検索キーに含まれる要素数を変更し、変更した検索キーを用いて、検索適合データを検索することを繰り返す。所定の変更条件を満たさなくなったときに、検索部Ｋ４は、検索結果データを検索バッファＫ５に記憶させる。出力部Ｋ６は、所定の検索終了条件を満たした場合に、検索バッファＫ５に記憶された検索結果データを出力する。【選択図】        図１
2008033563.tif 000002
【特許請求の範囲】
【請求項１】
複数の要素の配列を示す複数の検索対象データを記憶した検索対象記憶部と、
検索条件を示し複数の要素の配列を含む検索要求データの入力を受け付ける入力受付部と、
前記入力受付部が入力を受け付けた検索要求データから、複数の要素を含む検索要素列を少なくとも１つ抽出する検索要素列抽出部と、
前記検索要素列抽出部が抽出した検索要素列を用いて、前記検索対象記憶部の中から、検索適合データとなる検索対象データを検索する検索部と、
前記検索部が検索した前記検索適合データを特定する検索結果データを出力する出力部とを備え、
前記検索部は、所定の変更条件に基づいて、前記検索要素列抽出部が抽出した前記検索要素列に含まれる要素数を変更し、要素数を変更した検索要素列を用いて、前記検索適合データを検索する
ことを特徴とするデータ検索装置。
【請求項２】
前記検索部は、
前記検索要素列抽出部が抽出した検索要素列の中から１つを選択し、選択した１つの検索要素列を含む前記検索対象データを前記検索適合データとして検索する第１検索処理と、
前記所定の変更条件を満たす場合に、前記１つの前記検索要素列に含まれる要素数を変更し、要素数を変更した当該１つの検索要素列を含む前記検索対象データを前記検索適合データとして検索する第２検索処理とを行う
ことを特徴とする請求項１に記載のデータ検索装置。
【請求項３】
前記検索部は、前記所定の変更条件を満たす限り、前記第２検索処理を繰り返し行う
ことを特徴とする請求項２に記載のデータ検索装置。
【請求項４】
前記検索部は、前記第２検索処理を行う際、当該処理を行う前に行った前記第１検索処理又は第２検索処理において用いた前記１つの検索要素列に含まれる要素から所定の排除数の要素を取り除き、当該要素を取り除いた当該１つの検索要素列を含む前記検索対象データを前記検索適合データとして検索する
ことを特徴とする請求項３に記載のデータ検索装置。
【請求項５】
前記検索部は、前記検索要素列抽出部が抽出した検索要素列が複数ある場合、前記検索要求データにおける出現頻度の高い順に所定の選択数の検索要素列を選択して、選択した検索要素列について前記第１検索処理を各々行う
ことを特徴とする請求項２に記載のデータ検索装置。
【請求項６】
前記所定の変更条件は、前記検索適合データの数が所定の閾値より大きいこと又は前記第２検索処理において用いた前記検索要素列に含まれる要素数が２つ以上である
ことを特徴とする請求項２に記載のデータ検索装置。
【請求項７】
前記検索結果データを記憶する検索結果記憶部を更に備え、
前記検索部は、前記所定の変更条件を満たさなくなったときに、その直前に行った前記第１検索処理又は前記第２検索処理の結果得た前記検索対象データを前記検索適合データとして確定し、確定した当該検索適合データを特定する前記検索結果データを前記検索結果記憶部に記憶させる
ことを特徴とする請求項１に記載のデータ検索装置。
【請求項８】
前記検索部は、前記検索適合データにおける前記検索要素列の出現頻度に応じた検索合致度合を算出し、
前記出力部は、前記検索部が算出した前記検索合致度合に応じて、前記検索結果データを配列して出力する
ことを特徴とする請求項１に記載のデータ検索装置。
【請求項９】
複数の要素の配列を示す複数の検索対象データを記憶した検索対象記憶部と、
検索条件を示し複数の要素の配列を含む検索要求データの入力を受け付ける入力受付部と、
前記入力受付部が入力を受け付けた検索要求データから、少なくとも１つの要素を含む複数の検索要素列を抽出する検索要素列抽出部と、
前記検索要素列抽出部が抽出した検索要素列を用いて、前記検索対象記憶部の中から、検索適合データとなる検索対象データを検索する検索部と、
前記検索部が検索した前記検索適合データを特定する検索結果データを出力する出力部とを備え、
前記検索部は、所定の変更条件に基づいて、前記検索要素列抽出部が抽出した複数の前記検索要素列のうち、検索に用いる検索要素列の数を変更する
ことを特徴とするデータ検索装置。
【請求項１０】
前記検索部は、
前記検索要素列抽出部が抽出した検索要素列の中から検索要素列を選択し、選択した検索要素列を含む前記検索対象データを前記検索適合データとして検索する第１検索処理と、
前記所定の変更条件を満たす場合に、前記検索要素列抽出部が抽出した検索要素列の中から未選択の検索要素列を選択し、選択した検索要素列を用いて、前記検索対象データを前記検索適合データとして検索する第２検索処理とを行う
ことを特徴とする請求項９に記載のデータ検索装置。
【請求項１１】
前記検索部は、前記所定の変更条件を満たす限り、前記第２検索処理を繰り返し行う
ことを特徴とする請求項１０に記載のデータ検索装置。
【請求項１２】
前記検索部が検索した前記検索適合データを特定する検索結果データを記憶する検索結果記憶部を更に備え、
前記検索部は、前記第１検索処理又は前記第２検索処理を行う度に、当該処理の結果得られた前記検索適合データを特定する前記検索結果データを前記検索結果記憶部に記憶させ、
前記出力部は、前記検索結果記憶部に記憶された前記検索結果データを出力する
ことを特徴とする請求項１０に記載のデータ検索装置。
【請求項１３】
前記検索部は、前記第1検索処理又は第２検索処理を行う際、前記検索要素列抽出部が抽出した検索要素列のうち未選択の検索要素列の中から、前記検索要求データにおける出現頻度の一番高い前記検索要素列を選択する
ことを特徴とする請求項１０に記載のデータ検索装置。
【請求項１４】
前記検索部は、前記第１検索処理及び前記第２検索処理において、前記検索適合データにおける前記検索要素列の出現頻度に応じた検索合致度合を算出し、
前記所定の変更条件は、前記各検索適合データに対応して前記検索部が各々算出した前記検索合致度合の最大値が所定の閾値より小さいことである
ことを特徴とする請求項１０に記載のデータ検索装置。
【請求項１５】
前記出力部は、前記検索部が算出した前記検索合致度合に応じて前記検索結果データを配列して出力する
ことを特徴とする請求項１４に記載のデータ検索装置。
【請求項１６】
前記出力部は、所定の検索終了条件を満たした場合に、前記検索結果記憶部に記憶された前記検索結果データを出力する
ことを特徴とする請求項７又は請求項１２に記載のデータ検索装置。
【請求項１７】
前記検索部は、前記検索要素列に対して付与された重要度を用いて前記検索合致度合を算出する
ことを特徴とする請求項８又は請求項１４に記載のデータ検索装置。
【請求項１８】
検索条件を示し複数の要素の配列を含む検索要求データの入力を受け付ける入力受付ステップと、
前記入力受付ステップで入力を受け付けた検索要求データから、複数の要素を含む検索要素列を少なくとも１つ抽出する検索要素列抽出ステップと、
前記検索要素列抽出ステップで抽出した検索要素列を用いて、複数の要素の配列を示す複数の検索対象データを記憶した検索対象記憶部の中から、検索適合データとなる検索対象データを検索する検索ステップと、
前記検索ステップで検索した前記検索適合データを特定する検索結果データを出力する出力ステップとを備え、
前記検索ステップでは、所定の変更条件に基づいて、前記検索要素列抽出ステップで抽出した前記検索要素列に含まれる要素数を変更し、要素数を変更した検索要素列を用いて、前記検索適合データを検索する
ことを特徴とするデータ検索方法。
【請求項１９】
検索条件を示し複数の要素の配列を含む検索要求データの入力を受け付ける入力受付ステップと、
前記入力受付ステップで入力を受け付けた検索要求データから、少なくとも１つの要素を含む複数の検索要素列を抽出する検索要素列抽出ステップと、
前記検索要素列抽出ステップで抽出した検索要素列を用いて、複数の要素の配列を示す複数の検索対象データを記憶した検索対象記憶部の中から、検索適合データとなる検索対象データを検索する検索ステップと、
前記検索ステップで検索した前記検索適合データを特定する検索結果データを出力する出力ステップとを備え、
前記検索ステップでは、所定の変更条件に基づいて、前記検索要素列抽出ステップで抽出した複数の前記検索要素列のうち、検索に用いる検索要素列の数を変更する
ことを特徴とするデータ検索方法。
【請求項２０】
請求項１８又は請求項１９に記載されたデータ検索方法をコンピュータで実行させることを特徴とするデータ検索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書などのデータの検索に関し、検索条件を示す検索要求文から抽出した検索キーを用いてデータを検索するデータ検索装置、データ検索方法、及びデータ検索プログラムに関する。
【背景技術】
【０００２】
近年、検索条件を示す検索要求文から検索語（検索キー）を抽出して、検索対象として予め蓄積された文書群の中から、その検索語が出現する文書を検索する技術が提案されている。このような技術は、例えば、特許文献１、特許文献２に記載されている。なお、特許文献２に記載の技術においては、検索要求文及び検索対象となる文書として、文書画像中の文字矩形を記号化して得られる記号列を取り扱っている。このため、検索キーとして、単語という単位ではなく、長さＮの記号列（記号Ｎ-gram）を機械的に取り出して用いている。
【０００３】
【特許文献１】特開２００２−１８９７５４号公報
【特許文献２】特開２００５−２４２５７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の技術においては、検索要求文から抽出された検索語に含まれる語数が多すぎる場合は、その検索語が出現する文書が極端に少なくなる恐れがある。即ち、所望の文書が得られず、検索漏れの可能性が高くなるという問題が生じる恐れがある。一方、検索語に含まれる語数が少なすぎる（たとえば１語）場合は、その検索語が出現する文書が極端に多くなる恐れがある。即ち、所望のものではない文書が多く得られ、検索時間も増加するという検索過剰の問題が生じる恐れがある。
【０００５】
また、検索要求文から抽出された検索語自体の総数が多すぎる場合も同様に、検索過剰の問題が生じる恐れがある。一方、検索語の総数が少なすぎる場合は、検索漏れの可能性が高くなるという問題が生じる恐れがある。
【０００６】
また、特許文献２に記載の技術においても、検索キーを適切に設定することは困難であり、上述と同様の問題が生じる恐れがあった。
【０００７】
本発明は、上記に鑑みてなされたものであって、検索条件を示す検索要求文から抽出した検索キーを用いて、文書などのデータを検索する場合、適切な検索結果を得ることが可能なデータ検索装置、データ検索方法、及びデータ検索プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、請求項１にかかる発明は、データ検索装置であって、複数の要素の配列を示す複数の検索対象データを記憶した検索対象記憶部と、検索条件を示し複数の要素の配列を含む検索要求データの入力を受け付ける入力受付部と、前記入力受付部が入力を受け付けた検索要求データから、複数の要素を含む検索要素列を少なくとも１つ抽出する検索要素列抽出部と、前記検索要素列抽出部が抽出した検索要素列を用いて、前記検索対象記憶部の中から、検索適合データとなる検索対象データを検索する検索部と、前記検索部が検索した前記検索適合データを特定する検索結果データを出力する出力部とを備え、前記検索部は、所定の変更条件に基づいて、前記検索要素列抽出部が抽出した前記検索要素列に含まれる要素数を変更し、要素数を変更した検索要素列を用いて、前記検索適合データを検索することを特徴とする。
【０００９】
請求項２にかかる発明は、請求項１にかかる発明において、前記検索部は、前記検索要素列抽出部が抽出した検索要素列の中から１つを選択し、選択した１つの検索要素列を含む前記検索対象データを前記検索適合データとして検索する第１検索処理と、前記所定の変更条件を満たす場合に、前記１つの前記検索要素列に含まれる要素数を変更し、要素数を変更した当該１つの検索要素列を含む前記検索対象データを前記検索適合データとして検索する第２検索処理とを行うことを特徴とする。
【００１０】
請求項３にかかる発明は、請求項２にかかる発明において、前記検索部は、前記所定の変更条件を満たす限り、前記第２検索処理を繰り返し行うことを特徴とする。
【００１１】
請求項４にかかる発明は、請求項３にかかる発明において、前記検索部は、前記第２検索処理を行う際、当該処理を行う前に行った前記第１検索処理又は第２検索処理において用いた前記１つの検索要素列に含まれる要素から所定の排除数の要素を取り除き、当該要素を取り除いた当該１つの検索要素列を含む前記検索対象データを前記検索適合データとして検索することを特徴とする。
【００１２】
請求項５にかかる発明は、請求項２にかかる発明において、前記検索部は、前記検索要素列抽出部が抽出した検索要素列が複数ある場合、前記検索要求データにおける出現頻度の高い順に所定の選択数の検索要素列を選択して、選択した検索要素列について各々、前記第１検索処理を行うことを特徴とする。
【００１３】
請求項６にかかる発明は、請求項２にかかる発明において、前記所定の変更条件は、前記検索適合データの数が所定の閾値より大きいこと又は前記第２検索処理において用いた前記検索要素列に含まれる要素数が２つ以上であることを特徴とする。
【００１４】
請求項７にかかる発明は、請求項１にかかる発明において、前記検索結果データを記憶する検索結果記憶部を更に備え、前記検索部は、前記所定の変更条件を満たさなくなったときに、その直前に行った前記第１検索処理又は前記第２検索処理の結果得た前記検索対象データを前記検索適合データとして確定し、確定した当該検索適合データを特定する前記検索結果データを前記検索結果記憶部に記憶させることを特徴とする。
【００１５】
請求項８にかかる発明は、請求項１にかかる発明において、前記検索部は、前記検索適合データにおける前記検索要素列の出現頻度に応じた検索合致度合を算出し、前記出力部は、前記検索部が算出した前記検索合致度合に応じて、前記検索結果データを配列して出力することを特徴とする。
【００１６】
請求項９にかかる発明は、データ検索装置であって、複数の要素の配列を示す複数の検索対象データを記憶した検索対象記憶部と、検索条件を示し複数の要素の配列を含む検索要求データの入力を受け付ける入力受付部と、前記入力受付部が入力を受け付けた検索要求データから、少なくとも１つの要素を含む複数の検索要素列を抽出する検索要素列抽出部と、前記検索要素列抽出部が抽出した検索要素列を用いて、前記検索対象記憶部の中から、検索適合データとなる検索対象データを検索する検索部と、前記検索部が検索した前記検索適合データを特定する検索結果データを出力する出力部とを備え、前記検索部は、所定の変更条件に基づいて、前記検索要素列抽出部が抽出した複数の前記検索要素列のうち、検索に用いる検索要素列の数を変更することを特徴とする。
【００１７】
請求項１０にかかる発明は、請求項９にかかる発明において、前記検索部は、前記検索要素列抽出部が抽出した検索要素列の中から検索要素列を選択し、選択した検索要素列を含む前記検索対象データを前記検索適合データとして検索する第１検索処理と、前記所定の変更条件を満たす場合に、前記検索要素列抽出部が抽出した検索要素列の中から未選択の検索要素列を選択し、選択した検索要素列を用いて、前記検索対象データを前記検索適合データとして検索する第２検索処理とを行うことを特徴とする。
【００１８】
請求項１１にかかる発明は、請求項１０にかかる発明において、前記検索部は、前記所定の変更条件を満たす限り、前記第２検索処理を繰り返し行うことを特徴とする。
【００１９】
請求項１２にかかる発明は、請求項１０にかかる発明において、前記検索部が検索した前記検索適合データを特定する検索結果データを記憶する検索結果記憶部を更に備え、前記検索部は、前記第１検索処理又は前記第２検索処理を行う度に、当該処理の結果得られた前記検索適合データを特定する前記検索結果データを前記検索結果記憶部に記憶させ、前記出力部は、前記検索結果記憶部に記憶された前記検索結果データを出力することを特徴とする。
【００２０】
請求項１３にかかる発明は、請求項１０にかかる発明において、前記検索部は、前記第１検索処理又は第２検索処理を行う際、前記検索要素列抽出部が抽出した検索要素列のうち未選択の検索要素列の中から、前記検索要求データにおける出現頻度の一番高い前記検索要素列を選択することを特徴とする。
【００２１】
請求項１４にかかる発明は、請求項１０にかかる発明において、前記検索部は、前記第１検索処理及び前記第２検索処理において、前記検索適合データにおける前記検索要素列の出現頻度に応じた検索合致度合を算出し、前記所定の変更条件は、前記各検索適合データに対応して前記検索部が各々算出した前記検索合致度合の最大値が所定の閾値より小さいことであることを特徴とする。
【００２２】
請求項１５にかかる発明は、請求項１４にかかる発明において、前記出力部は、前記検索部が算出した前記検索合致度合に応じて前記検索結果データを配列して出力することを特徴とする。
【００２３】
請求項１６にかかる発明は、請求項７又は請求項１２にかかる発明において、前記出力部は、所定の検索終了条件を満たした場合に、前記検索結果記憶部に記憶された前記検索結果データを出力することを特徴とする。
【００２４】
請求項１７にかかる発明は、請求項８又は請求項１４にかかる発明において、前記検索部は、前記検索要素列に対して付与された重要度を用いて前記検索合致度合を算出することを特徴とする。
【００２５】
請求項１８にかかる発明は、データ検索方法であって、検索条件を示し複数の要素の配列を含む検索要求データの入力を受け付ける入力受付ステップと、前記入力受付ステップで入力を受け付けた検索要求データから、複数の要素を含む検索要素列を少なくとも１つ抽出する検索要素列抽出ステップと、前記検索要素列抽出ステップで抽出した検索要素列を用いて、複数の要素の配列を示す複数の検索対象データを記憶した検索対象記憶部の中から、検索適合データとなる検索対象データを検索する検索ステップと、前記検索ステップで検索した前記検索適合データを特定する検索結果データを出力する出力ステップとを備え、前記検索ステップでは、所定の変更条件に基づいて、前記検索要素列抽出ステップで抽出した前記検索要素列に含まれる要素数を変更し、要素数を変更した検索要素列を用いて、前記検索適合データを検索することを特徴とする。
【００２６】
請求項１９にかかる発明は、データ検索方法であって、検索条件を示し複数の要素の配列を含む検索要求データの入力を受け付ける入力受付ステップと、前記入力受付ステップで入力を受け付けた検索要求データから、少なくとも１つの要素を含む複数の検索要素列を抽出する検索要素列抽出ステップと、前記検索要素列抽出ステップで抽出した検索要素列を用いて、複数の要素の配列を示す複数の検索対象データを記憶した検索対象記憶部の中から、検索適合データとなる検索対象データを検索する検索ステップと、前記検索ステップで検索した前記検索適合データを特定する検索結果データを出力する出力ステップとを備え、前記検索ステップでは、所定の変更条件に基づいて、前記検索要素列抽出ステップで抽出した複数の前記検索要素列のうち、検索に用いる検索要素列の数を変更することを特徴とする。
【００２７】
請求項２０にかかる発明は、データ検索プログラムであって、請求項１８又は請求項１９に記載されたデータ検索方法をコンピュータで実行させることを特徴とする。
【発明の効果】
【００２８】
請求項１にかかる発明によれば、所定の変更条件に基づいて、検索要求データから抽出した検索要素列に含まれる要素数を変更し、このような検索要素列を用いて検索を行うことにより、検索に用いる検索キーを適切に設定することができる。この結果、検索漏れの恐れや検索過剰が生じる恐れを低減させ、適切な検索結果を得ることが可能になる。
【００２９】
請求項２にかかる発明によれば、所定の変更条件を満たす場合に、検索要素列に含まれる要素数を変更し、これを用いて検索適合データを検索するため、検索要素列に含まれる要素数を適切に変更することができる。
【００３０】
請求項３にかかる発明によれば、所定の変更条件を満たす限り、第２検索処理を繰り返し行うことにより、検索適合データの効果的な検索を行うことができる。
【００３１】
請求項４にかかる発明によれば、第２検索処理を行う毎に、検索要素列に含まれる要素数を所定の排除数ずつ減らしていくことにより、検索の結果得られる検索適合データの数を調整しながら、検索適合データの効果的な検索を行うことができる。
【００３２】
請求項５にかかる発明によれば、前記検索要求文書における出現頻度の高い順に所定の選択数の検索要素列を選択して検索を行うことにより、検索に用いる検索キーを効率的に選択して、検索適合データの効果的な検索を行うことができる。
【００３３】
請求項６にかかる発明によれば、所定の変更条件として、前記第１検索処理又は前記第２検索処理の結果得られた検索適合文書の数を用いることにより、適切な検索適合データの検索を行うことができる。
【００３４】
請求項７にかかる発明によれば、所定の変更条件を満たさなくなった場合に、前記１つの検索要素列に対して前記第１検索処理又は前記第２検索処理を行った結果得た前記検索適合データを特定する前記検索結果データを前記検索結果記憶部に記憶させることにより、当該１つの検索要素列を用いた最終的な検索結果となる検索結果データを効果的に得ることができる。
【００３５】
請求項８にかかる発明によれば、検索合致度合を算出し、これを用いて検索結果データを配列して出力することにより、検索結果データを効果的に提供することができる。
【００３６】
請求項９にかかる発明によれば、所定の変更条件に基づいて、検索要求データから抽出した検索要素列のうち、検索に用いる検索要素列の数を変更して、検索を行うことにより、検索に用いる検索キーを適切に設定することができる。この結果、検索漏れの恐れや検索過剰が生じる恐れを低減させ、適切な検索結果を得ることが可能になる。
【００３７】
請求項１０にかかる発明によれば、所定の変更条件を満たす場合に、前記検索要素列抽出部が抽出した検索要素列の中から未選択の検索要素列を選択し、これを用いて検索適合データを検索するため、検索に用いる検索要素列の数を適切に変更することができる。
【００３８】
請求項１１にかかる発明によれば、所定の変更条件を満たす限り、第２検索処理を繰り返し行うことにより、検索適合データの効果的な検索を行うことができる。
【００３９】
請求項１２にかかる発明によれば、前記第１検索処理又は前記第２検索処理を行う度に、当該処理の結果得られた前記検索適合データを特定する前記検索結果データを前記検索結果記憶部に記憶させることにより、検索結果データを効果的に得ることができる。
【００４０】
請求項１３にかかる発明によれば、前記検索要求データにおける出現頻度の高い順に検索要素列を検索に用いることにより、検索適合データの効果的な検索を行うことができる。
【００４１】
請求項１４にかかる発明によれば、検索合致度合を算出しこれを用いて、検索に用いる検索要素列の数を変更することにより、検索適合データの効果的な検索を行うことができる。
【００４２】
請求項１５にかかる発明によれば、検索合致度合を用いて検索結果データを配列して出力することにより、検索結果データを効果的に提供することができる。
【００４３】
また、請求項１６にかかる発明によれば、所定の検索終了条件を満たした場合に、検索結果記憶部に記憶された検索結果データを出力することにより、検索結果データを効果的に提供することができる。
【００４４】
請求項１７にかかる発明によれば、検索要素列に対して予め付与された重要度を用いて検索合致度合を算出することにより、より効果的な検索合致度合を算出することができる。
【００４５】
請求項１８にかかる発明によれば、所定の変更条件に基づいて、検索要求データから抽出した検索要素列に含まれる要素数を変更し、このような検索要素列を用いて検索を行うことにより、検索に用いる検索キーを適切に設定することができる。この結果、検索漏れの恐れや検索過剰が生じる恐れを低減させ、適切な検索結果を得ることが可能になる。
【００４６】
請求項１９にかかる発明によれば、所定の変更条件に基づいて、検索要求データから抽出した検索要素列のうち、検索に用いる検索要素列の数を変更して、検索を行うことにより、検索に用いる検索キーを適切に設定することができる。この結果、検索漏れの恐れや検索過剰が生じる恐れを低減させ、適切な検索結果を得ることが可能になる。
【００４７】
請求項２０にかかる発明によれば、コンピュータに読み取らせて実行することによって、請求項１８又は請求項１９に記載されたデータ検索方法をコンピュータの利用で実現することができ、これら各データ検索方法と同様の効果を奏する。
【発明を実施するための最良の形態】
【００４８】
以下に添付図面を参照して、この発明にかかるデータ検索装置、データ検索方法、及びデータ検索プログラムの最良な実施の形態を詳細に説明する。
【００４９】
[第１の実施の形態]
（１）構成
本実施の形態における文書検索装置１の構成について図１を参照しながら説明する。図１は、本実施の形態に係る文書検索装置１の概略構成を示すブロック図である。文書検索装置１は、入力受付部Ｋ１と、検索対象記憶部Ｋ２と、検索キー抽出部Ｋ３と、検索部Ｋ４と、検索バッファＫ５と、出力部Ｋ４とを含んで構成される。
【００５０】
入力受付部Ｋ１は、文書を検索する際の検索条件を示す検索要求文（検索要求データ）の入力を受け付ける。検索要求文は、利用者がデータ検索装置１を操作することにより入力される。
【００５１】
検索対象記憶部Ｋ２は、検索の対象となる複数の文書（検索対象データ）を記憶している。図２は、検索対象記憶部Ｋ２のデータ構成を例示する図である。図２に示すように、検索対象記憶部Ｋ２には、検索の対象となる文書（以下、検索対象文書という）の文書番号と、文書内容とが対応付けられて記憶されている。この検索対象文書は、「Ａ」，「Ｂ」，「Ｒ」，「Ｃ」，「Ｄ」などの複数のアルファベット文字（要素）の配列を示す構成となっている。
【００５２】
検索キー抽出部Ｋ３は、入力受付部Ｋ１が入力を受け付けた検索要求文から、検索キーとして用いる文字列（検索要素列）を抽出する。
【００５３】
検索部Ｋ４は、検索キー抽出部Ｋ３が抽出した検索キーを用いて、検索対象記憶部Ｋ２の中から、検索適合データとなる検索対象文書を検索する。この検索の際、検索部Ｋ４は、所定の変更条件を満たした場合、検索キーに含まれる要素数を変更し、要素数を変更した検索キーを用いて、検索適合データを検索する。尚、所定の変更条件とは、検索適合データの数が所定の閾値より大きいこと又は検索キーに含まれる要素数が２つ以上であることである。検索部Ｋ４は、所定の変更条件を満たす限り、この検索キーに含まれる要素数を１つずつ減らしながら、検索を繰り返す。そして、検索部Ｋ４は、所定の変更条件を満たさなくなったときに、そのとき検索に用いた検索キーによる検索適合データを特定する検索結果データを検索バッファＫ５に記憶させる。
【００５４】
図３は、検索バッファＫ５のデータ構成を例示する図である。図３に示すように、検索バッファＫ５には、検索適合データとなる検索対象文書の文書番号と、文書スコア（検索合致度合）とが対応付けられて記憶されている。
【００５５】
出力部Ｋ６は、所定の検索終了条件を満たした場合に、検索バッファＫ５に記憶された検索結果データを出力する。尚、所定の検索終了条件、文書スコア及び検索方法については、以下の動作欄において詳述する。
【００５６】
（２）動作
次に、本実施の形態にかかる文書検索装置１の行う文書検索処理の流れについて説明する。図４は、第１の実施の形態にかかる文書検索処理の手順を示すフローチャートである。以下に、図４のフローチャートに沿って動作を説明する。ここでは、検索条件を示す検索要求文として、アルファベット文字「Ａ」，「Ｂ」，「Ｒ」，「Ｃ」，「Ｄ」を含む文字列「ＡＢＲＡＣＡＤＡＢＲＡ」が入力される例について説明する。
【００５７】
ステップＳ１では、入力受付部Ｋ１は、検索要求文「ＡＢＲＡＣＡＤＡＢＲＡ」の入力を受け付ける。ステップＳ２では、検索キー抽出部Ｋ３が、入力された検索要求文から、文字数が３つの文字列を抽出し、検索キーの候補（検索キー候補）とする。例えば、以下の文字号列が検索キー候補となる。
「ＡＢＲ」
「ＢＲＡ」
「ＲＡＣ」
「ＡＣＡ」
「ＣＡＤ」
「ＡＤＡ」
「ＤＡＢ」
「ＡＢＲ」
「ＢＲＡ」
【００５８】
なお、上記の検索キー候補をすべて検索キーとして用いることも可能ではあるが、ここでは、検索キー候補の中から、検索に用いる検索キーを選択する。検索要求文に含まれる文字数が多い場合は、検索キー候補が多数得られるため、検索過剰になる恐れがあるからである。ここでは、検索部Ｋ４は、検索要求文における各検索キー候補の出現頻度を求め、出現頻度が高い順に所定順位以内の検索キー候補を検索キーとして選択する。
【００５９】
上述の各検索キー候補の出現頻度は、上から順に、「２」、「２」、「１」、「１」、「１」、「１」、「１」である。ここでは、出現頻度が高い順に２位以内までの検索キー候補、つまり、「ＡＢＲ」、「ＢＲＡ」を検索キーとして選択する。そして、検索部Ｋ４は、選択した検索キーを用いて、１つずつ順に以下の処理を行う。
【００６０】
ステップＳ３では、検索部Ｋ４は、検索キーとして「ＡＢＲ」を設定する。ステップＳ４で、検索部Ｋ４は、ステップＳ３で設定した検索キー「ＡＢＲ」に対し、検索対象記憶部Ｋ２に記憶されている複数の検索対象文書を各々走査して、この検索キーが出現している検索対象文書を検索する。なお、処理時間を短縮するために、検索対象記憶部Ｋ２に記憶された各検索対象文書に対して、接尾配列（Suffix array）や転置ファイルなどの索引を予め作成してこれを各文書と対応付けて記憶させ、これを用いてステップＳ４の処理を行うようにしても良い。
【００６１】
ステップＳ５では、検索部Ｋ４は、ステップＳ４の検索の結果得られた検索対象文書の数（文書数ｎ）を求める。次に、ステップＳ６で、検索部Ｋ４は、文書数ｎと、予め定めた閾値Ｎとの大小関係を判定する。文書数ｎが閾値Ｎよりも小さい場合（ステップＳ６：ＹＥＳ）、更に、ステップＳ７で、検索キーに含まれる文字数が「１」より大きいかを判定する。ここでは、検索キーに含まれる文字数は「３」であるから、ステップＳ７の判定結果は肯定的となり、ステップＳ８に進む。ステップＳ８では、検索部Ｋ４は、検索キー「ＡＢＲ」に含まれる文字数を１つ少なくする。例えば、「ＡＢＲ」の配列上一番後ろの文字を１つ取り除いて、「ＡＢ」という文字列を検索キーとする。次いで、検索部Ｋ４は、上述したステップＳ４以降の処理を行う。そして、ステップＳ５において、文書数ｎが閾値Ｎ以上であると判定するまで又は検索キーに含まれる文字数が「１」になるまで、検索キーに含まれる文字数を１つずつ減じて、ステップＳ４〜Ｓ８の処理を繰り返し行う。
【００６２】
そして、ステップＳ６で、文書数ｎが閾値Ｎより大きいと判定した場合、ステップＳ９で、検索部Ｋ４は、ステップＳ４の検索の結果得られた検索対象文書の文書番号を、当該検索キーに関する検索結果データとして検索バッファＫ５に記憶させる（図５参照）。また、このとき、検索部Ｋ４は、各検索対象文書に対する文書スコアを算出し、これを文書番号と対応付けて検索バッファＫ５に記憶させる（図５参照）。ここでは、各検索対象文書に対する文書スコアとして、ステップＳ４で検索に用いた検索キーが各検索対象文書に出現する頻度（出現頻度）を算出する。なお、例えば、別途求めた検索キーの重要度を文書スコアに加算するようにしても良い。
【００６３】
なお、ステップＳ７で検索キーに含まれる文字数が「１」以下であると判定した場合も同様に、検索部Ｋ４は、ステップＳ９の処理を行う。
【００６４】
ステップＳ９の処理の後、ステップＳ１０に進み、ステップＳ１０では、検索部Ｋ４は、ステップＳ２で検索キー候補として抽出されたもののうち、検索に未だ用いていない検索キーがあるか否かを判定する。ここでは、検索に未だ用いていない検索キー「ＢＲＡ」があるから、ステップＳ１０の判定結果は否定的となり、ステップＳ３に進む。ステップＳ３では、検索部Ｋ４は、上述の「ＢＲＡ」を検索キーとして設定して、以降、上述と同様の処理を行う。
【００６５】
そして、ステップＳ１０の判定結果が肯定的となった場合、ステップＳ１１に進み、ステップＳ１１では、出力部Ｋ６は、検索バッファＫ５に記憶された検索結果データにつき、文書スコアが大きい順に文書番号を配列して、これをリスト形式で出力する。
【００６６】
以上のような処理手順によって、検索キーに含まれる文字数を適宜変更することにより、検索に用いる検索キーを適切に設定することができる。この結果、検索漏れの恐れや検索過剰が生じる恐れを低減させ、適切な検索結果を得ることが可能になる。
【００６７】
（３）ハードウェア構成
次に、本実施の形態に係る文書検索装置１のハードウェア構成について図５を参照しながら説明する。図５は、本実施の形態に係る文書検索装置１のハードウェア構成を示すブロック図である。本図に示すように文書検索装置１は、ＣＰＵ（Central Processing Unit）１０等の制御装置と、ＲＯＭ（Read Only Memory）１１やＲＡＭ（Random Access Memory）１２等の記憶装置と、ＨＤＤ（Hard Disk Drive）、ＣＤ（Compact Disk）ドライブ装置等の外部記憶装置１３と、ディスプレイ装置等の表示装置１４と、キーボードやマウス等の入力装置１５と、通信Ｉ／Ｆ１６と、これらを接続するバス１７を備えており、通常のコンピュータを利用したハードウェア構成となっている。
【００６８】
ＲＯＭ１１には、ＣＰＵ１０が文書検索装置１の各部を制御するためのオペレーティングシステムなどの各種プログラムが記憶されている。外部記憶装置１３には、本実施の形態の文書検索装置１で実行される文書検索プログラムなどの各種プログラムや、各種データが記憶されている。
【００６９】
尚、上述した検索対象記憶部Ｋ２は、外部記憶装置１３に記憶される。また、本実施の形態の文書検索装置１で実行される文書検索プログラムは、上述した入力受付部Ｋ１、検索キー抽出部Ｋ３、検索部Ｋ４、検索バッファＫ５及び出力部Ｋ６を含むモジュール構成となっている。実際のハードウェアとしてはＣＰＵ１０が外部記憶装置１３からの文書検索プログラムを読み出して実行することにより上記各部がＲＡＭ１２等の記憶装置上にロードされ、上述した各部が当該記憶装置上に生成されるようになっている。そして、入力装置１５に入力された検索要求文が入力受付部Ｋ１に受け付けられる。出力部Ｋ６が出力した検索結果データは表示装置１４に表示される。
【００７０】
[第２の実施の形態]
次に、この発明にかかるデータ検索装置、データ検索方法、及びデータ検索プログラムの第２の実施の形態について説明する。なお、上述の第１の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
（１）構成
本実施の形態にかかる文書検索装置１の構成は、上述の第１の実施の形態にかかる文書検索装置１の構成とは以下の点で異なる。
【００７１】
検索部Ｋ４は、検索キー抽出部Ｋ３が抽出した複数の検索キーのうち、所定の数の検索キーを選択して、選択した検索キーを用いて、検索対象記憶部Ｋ２の中から、検索適合データとなる検索対象文書を検索する。そして、検索部Ｋ４は、検索適合データを特定する検索結果データを検索バッファＫ５に記憶させる。更に、所定の変更条件を満たす場合、検索部Ｋ４は、検索キー抽出部Ｋ３が抽出した複数の検索キーのうち未選択の検索キーを選択して、選択した検索キーを用いて、検索適合データを検索し、検索結果データを検索バッファＫ５に記憶させる。検索部Ｋ４は、所定の変更条件を満たす限り、未選択の検索キーを用いた検索を繰り返す。尚、所定の変更条件とは、検索の結果毎に算出される、検索適合データに対応する文書スコアの最大値が所定の閾値より小さいことである。以上のようにして、検索部Ｋ４は、所定の変更条件に基づいて、検索に用いる検索キーの数を変更する。尚、検索方法については、以下の動作欄で詳述する。
【００７２】
（２）動作
次に、本実施の形態にかかる文書検索装置１の行う文書検索処理の流れについて説明する。図６は、第２の実施の形態にかかる文書検索処理の手順を示すフローチャートである。以下に、図２のフローチャートに沿って動作を説明する。
【００７３】
ステップＳ１〜Ｓ２の検索キー候補を抽出するまでは、上述の第１の実施の形態と同様である。本実施の形態においては、上述の７つの検索キー候補の中から、上述の出現頻度が一番高いものから順に検索キーとして選択し、以降の処理を行う。
【００７４】
ステップＳ３では、検索部Ｋ４は、上述の７つの検索キー候補の中から、検索キーとして未だ選択されておらず且つ上述の出現頻度が一番高いものを選択し、これを検索キーとして設定する。ここでは、「ＡＢＲ」を検索キーとして設定する。ステップＳ４では、検索部Ｋ４は、上述のステップＳ４と同様の処理を行う。次に、ステップＳ９に進み、検索部Ｋ４は上述のステップＳ９と同様の処理を行い、ステップＳ４の検索の結果得られた各検索対象文書に対する文書スコアを算出すると共に、各検索対象文書の文書番号と、各検索対象文書に対する文書スコアとを当該検索キーに関する検索結果データとして検索バッファＫ５に記憶させる。続いて、ステップＳ２０では、検索部Ｋ４は、検索場バッファＫ５に記憶された検索結果データにつき、文書スコアの最大値ｓを求める。ステップＳ２１では、検索部Ｋ４は、ステップＳ２０で求めた文書スコアの最大値ｓと、予め定めた閾値Ｓとの大小関係を判定する。文書スコアの最大値ｓが閾値Ｓよりも小さいと判定した場合（ステップＳ２１：ＮＯ）、ステップＳ１０に進み、ステップＳ１０では、検索部Ｋ４は、ステップＳ２で検索キーとして抽出されたもののうち、検索に未だ用いていない検索キーがあるか否かを判定する。ここでは、検索に未だ用いていない検索キー「ＢＲＡ」があるから、ステップＳ１０の判定結果は否定的となり、ステップＳ３に進む。
【００７５】
ステップＳ３では、検索部Ｋ４は、上述したように、上述の７つの検索キー候補の中から、検索キーとして未だ選択されておらず且つ上述の出現頻度が一番高いものを選択し、これを検索キーとして設定する。ここでは、「ＢＲＡ」を検索キーとして設定して、以降、上述と同様の処理を行う。
【００７６】
このようにして、検索部Ｋ４は、文書スコアの最大値ｓが閾値Ｓ以上になるまで又は検索キーとして選択されていない検索キー候補がなくなるまで、検索キー候補の中から検索キーを選択して、ステップＳ３〜Ｓ１０の処理を繰り返し行う。即ち、文書スコアが閾値Ｓ以上となる検索対象文書が得られるまで、検索に用いる検索キーの総数を増やしてゆく。
【００７７】
そして、ステップＳ２１で、文書スコアの最大値ｓが閾値Ｓ以上であると判定した場合（ステップＳ６：ＹＥＳ）、ステップＳ１１に進み、ステップＳ１１では、出力部Ｋ６は、上述と同様の処理を行う。
【００７８】
以上のような処理手順によって、検索に用いる検索キーの総数を適宜変更することにより、検索キーを適切に設定することができる。この結果、検索漏れの恐れや検索過剰が生じる恐れを低減させ、適切な検索結果を得ることが可能になる。
【００７９】
[変形例]
上述した各実施の形態に限定されるものではなく、以下に例示するような種々の変形が可能である。
＜変形例１＞
上述の各実施の形態における文書検索装置１で実行される文書検索プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、各実施の形態における文書検索プログラムを、ＲＯＭ１２等に予め組み込んで提供するように構成しても良い。
【００８０】
＜変形例２＞
上述の各実施の形態においては、要素としてアルファベット文字を用い、複数のアルファベット文字の配列を示す文書を検索対象データとして用いた。しかし、本実施の形態においてはこれに限らず、漢字や仮名文字やギリシャ文字などの各種文字や、数字、記号、標章などを要素として用いても良く、これらの各種要素を含むデータを検索対象データとして用いても良い。また、画像を表す画像データを検索対象データとしても良く、この場合、例えば、画像を複数の領域に分割し、１つの領域を１つの要素として取り扱うことにより、画像データを複数の要素が配列された構成のデータとして取り扱い、上述と同様の検索を行うように構成しても良い。検索要求データについても検索対象データと同様である。
【００８１】
＜変形例３＞
上述の第１の実施の形態のステップＳ２では、出現頻度が高い順に２位以内までの検索キー候補を検索キーとして選択したが、当該実施の形態においては、順位はこれに限ることはなく、検索キーとして選択する数も限定するものではない。
【００８２】
＜変形例４＞
上述の第１の実施の形態のステップＳ８においては、検索キーに含まれる文字の配列上一番後ろの記号を１つ取り除いたが、例えば、検索キーに含まれる文字の配列上一番前の文字を取り除くように構成しても良い。また、取り除く数も、１つに限らず、複数であっても良い。
【００８３】
＜変形例５＞
上述した第２の実施の形態におけるステップＳ３で設定する検索キーの数は、１つずつであるとしたが、複数個ずつでもあっても良いし、処理回数に応じてその個数を変更するようにしても良い。
【産業上の利用可能性】
【００８４】
本発明にかかるデータ検索装置、データ検索方法、及びデータ検索プログラムは、文書などのデータを検索する技術に有用であり、特に、検索要求文から検索キーを抽出し、これを用いてデータを検索する技術に適している。
【図面の簡単な説明】
【００８５】
【図１】第１の実施の形態に係る文書検索装置１の概略構成を示すブロック図である。
【図２】第１の実施の形態に係る検索対象記憶部Ｋ２のデータ構成を例示する図である。
【図３】第１の実施の形態に係る検索バッファＫ５のデータ構成を例示する図である。
【図４】第１の実施の形態に係る文書検索処理の手順を示すフローチャートである。
【図５】第１の実施の形態に係る文書検索装置１のハードウェア構成を示すブロック図である。
【図６】第２の実施の形態に係る文書検索処理の手順を示すフローチャートである。
【符号の説明】
【００８６】
１  文書検索装置（データ検索装置）
１０  ＣＰＵ
１１  ＲＯＭ
１２  ＲＡＭ
１３  外部記憶装置
１４  表示装置
１５  入力装置
１６  通信Ｉ／Ｆ
Ｋ１  入力受付部
Ｋ２  検索対象記憶部
Ｋ３  検索キー抽出部（検索要素列抽出部）
Ｋ４  検索部
Ｋ５  検索バッファ（検索結果記憶部）
Ｋ６  出力部
【図１】
2008033563.tif 000003
【図２】
2008033563.tif 000004
【図３】
2008033563.tif 000005
【図４】
2008033563.tif 000006
【図５】
2008033563.tif 000007
【図６】
2008033563.tif 000008