(57)【要約】【課題】検索処理の計算負荷を逓減させるとともに、検索要求を満たす文書を高速に検索できる文書検索装置を提供する。【解決手段】ユーザ端末から検索指示された語句を含む電子文書を検索するときに、単語と電子文書との関連情報を格納する語転置索引格納手段１０８と、複数の単語からなる句と電子文書との関連情報を格納する句転置索引格納手段１０７とを利用する文書検索装置であって、検索履歴情報に含まれる句を抽出し、該抽出した各句を含む電子文書を前記語転置索引格納手段１０８内の語転置索引を用いて検索するときの処理時間を推測する処理時間推定手段１０３と、前記推定手段１０３により推定された各句の処理時間および検索履歴情報中での出現頻度に基づいて前記句転置索引格納手段１０７に格納する句を決定する格納句決定手段１０４とを備える。【選択図】図１
2010277542.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ端末から検索指示された語句を含む電子文書を検索するときに、単語と電子文書との関連情報を格納する語転置索引格納手段と、複数の単語からなる句と電子文書との関連情報を格納する句転置索引格納手段とを利用する文書検索装置であって、
検索履歴情報に含まれる句を抽出し、該抽出した各句を含む電子文書を前記語転置索引格納手段内の語転置索引を用いて検索するときの処理時間を推測する推測手段と、
前記推測手段により推測された各句の処理時間および検索履歴情報中での出現頻度に基づいて前記句転置索引格納手段に格納する句を決定する格納句決定手段とを備えたことを特徴とする文書検索装置。
【請求項２】
前記推測手段は、前記検索履歴情報から抽出した句を構成する各単語をもって前記語転置索引格納手段内の語転置索引を参照し、該各単語の転置リストを前記関連情報として取得し、該取得した各転置リストのもつ統計量を用いた回帰分析により前記処理時間を求めることを特徴とする請求項１に記載の文書検索装置。
【請求項３】
前記格納句決定手段は、前記推測された処理時間および前記出現頻度を用いて各句のスコアを算出し、該スコアに従って前記格納する句を決定することを特徴とする請求項１または２に記載の文書検索装置。
【請求項４】
コンピュータを請求項１ないし３のいずれか１項に記載の各手段として機能させる文書検索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書を蓄積し、利用者の要求内容に従って蓄積された文書の中から要求内容に沿った文書を高速に検索する装置に関するものである。
【背景技術】
【０００２】
文書の電子化の普及やインターネットの爆発的な普及に伴い、ネットワークや企業内の利用者は、大量の文書を閲覧可能になっている。このような大量の文書に対して、ユーザが表現した検索要求を満たすような文書を高速に検索できるような検索システム（全文検索システム）が広く使われている。検索要求の一般的な表現方法としては、検索文書に含まれるような語の列（キーワード列）を指定する方法が使われている。
【０００３】
特定のキーワードを含む文書の数は文書全体の一部であるため、検索要求が入力される度に蓄積されたすべての文書毎にキーワードの有無を確認したのでは、キーワードを一切含まない文書に対する処理を数多く繰り返すことになり効率が悪い。このため、語を索引語として、その語を含むような文書群、およびそれら各文書における索引語の出現位置を持つ語転置索引と呼ばれる索引を使って高速化する方法（たとえば、非特許文献１参照）が広く使われている。
【０００４】
大量の文書を対象とする場合、複数のキーワードが入力された場合には、それぞれのキーワードを文書内に少なくともひとつ含むような文書の検索（ＡＮＤ検索）を実行することが一般的であるが、一方で、複数のキーワードを個別に扱うのではなく、それらのキーワードの検索要求内での隣接情報や順序の情報を保持したような句を含むような文書検索を行いたいという需要がある。
【０００５】
しかし、単純な語転置索引だけを用いて句が出現するような文書を検索しようとする場合、計算のための負荷が大きいという問題がある。なぜなら、句を構成する各語が順序を保って隣接して出現することを確認するためには、句を構成する各語を鍵として得られる転置索引の値（転置リスト）を併合し、その結果のリストを逐次確認し、要求された順序で隣接して出現しているかどうかを確認する必要があるためである。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】竹野浩，井上孝史，「分散型高速情報収集／全文検索システムＩｎｆｏＢｅｅ／Ｅｖａｎｇｅｌｉｓｔ」，ＮＴＴ  Ｒ＆Ｄ，ｖｏｌ．５２，ｎｏ．２，２００３，ｐｐ７８−８４．
【非特許文献２】Ｈｕｇｈ  Ｅ．Ｗｉｌｌｉａｍｓ，Ｊｕｓｔｉｎ  Ｚｏｂｅｌ  ａｎｄ  Ｄｉｒｋ  Ｂａｈｌｅ，“Ｆａｓｔ  ｐｈｒａｓｅ  ｑｕｅｒｙｉｎｇ  ｗｉｔｈ  ｃｏｍｂｉｎｅｄ  ｉｎｄｅｘｅｓ”，ＡＣＭ  ＴＯＩＳ，ｖｏｌ．２２，ｎｏ．４，２００４，ｐｐ．１−１７．
【非特許文献３】井上孝史，植松幸生，安田宜仁，片岡良治，「全文検索システムにおけるフレーズインデックス保持戦略」，信学技報，ＤＥＩＭフォーラム２００９，２００９，ｐｐ．１−５
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記の問題に対し、語を単語とした索引だけではなく、句全体をあたかもひとつの語であるかのように取り扱い、句に対応する索引（以後、句転置索引と呼ぶ）を保持することにより、句を含んだ検索のための計算負荷を下げる方法が知られている。
【０００８】
しかし、句転置索引をすべての可能な句を追加したのでは必用な記憶装置が膨大になり現実的ではない。
【０００９】
このため、限られた量の句転置索引に対して、どのような句を格納するのかについて、何らかの基準に基づいて選択することが必要となる。
【００１０】
句の選択基準として、過去の検索履歴を用いて検索履歴中で高頻度な句を格納する方法が従来より知られている（たとえば、非特許文献２参照）。
【００１１】
上記の方法は一定の効果があることが知られている一方、句検索を通常の転置インデックスのみで対処した場合の負荷の大きさはまちまちであり、必ずしも高頻度な句が負荷が大きいとは限らないため、計算負荷の観点において最適な句を選択できていなかった。これに対し、転置リストのみを用いて句を処理した場合にかかる実測時間を用いることにより、計算負荷の観点からより適した句を選択する手法が非特許文献３などにより報告されている。
【００１２】
上記の方法は、句の処理を転置リストのみを用いて処理した場合の実測時間が得られる場合には有効である。しかし、そのような実測時間は必ずしも利用可能ではないという問題がある。なぜなら、既に句転置索引を導入しているシステムにおいて、索引に入っている句については通常の転置索引を用いないため、通常の転置リストのみを用いて処理した場合の実測時間は得られない。また、システムに時間を計測機構を導入することによる負荷が無視できない環境ではやはり実測時間は必ずしも利用可能ではない。
【００１３】
本発明の目的は、上記従来技術の問題点を解決し、検索処理の計算負荷を逓減させるとともに、検索要求を満たす文書を高速に検索できる文書検索装置および文書検索プログラムを提供することにある。
【課題を解決するための手段】
【００１４】
上記目的を達成するために本発明の文書検索装置は、ユーザ端末から検索指示された語句を含む電子文書を検索するときに、単語と電子文書との関連情報を格納する語転置索引格納手段と、複数の単語からなる句と電子文書との関連情報を格納する句転置索引格納手段とを利用する文書検索装置であって、検索履歴情報に含まれる句を抽出し、該抽出した各句を含む電子文書を前記語転置索引格納手段内の語転置索引を用いて検索するときの処理時間を推測する推測手段と、前記推測手段により推測された各句の処理時間および検索履歴情報中での出現頻度に基づいて前記句転置索引格納手段に格納する句を決定する格納句決定手段とを備えたことを特徴としている。
【発明の効果】
【００１５】
本発明によれば、実測時間の計測機構を利用できない場合でも、計算に必要な処理時間を推測し、句転置索引に格納すべき句を適切に選択できることから、検索処理の計算負荷が逓減され、処理時間が短縮される。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態例を示すブロック図。
【図２】本発明の一実施形態例における索引生成機能のフローチャート。
【図３】本発明の一実施形態例における検索履歴格納データベースの説明図。
【図４】本発明の一実施形態例における語転置索引の説明図。
【図５】本発明の一実施形態例における実測結果データベースの説明図。
【発明を実施するための形態】
【００１７】
以下、図面を参照しながら本発明の実施の形態を説明するが、本発明は下記の実施形態例に限定されるものではない。
【００１８】
図１は本発明の実施形態に係る文書検索装置１００の構成例を示している。図１において、１０１は当該検索装置１００に対してユーザが入力した検索要求の履歴が格納された検索履歴格納データベースである。
【００１９】
１０２は、前記検索履歴格納データベース１０１の検索履歴を参照して過去に検索語句として利用された句およびその頻度を抽出する句・頻度抽出手段である。
【００２０】
１０３は、句・頻度抽出手段１０２からの句を入力とし、その句を語転置索引のみを用いて処理した場合にかかる処理時間を推定する、本発明の推測手段としての処理時間推定手段である。
【００２１】
１０４は、句・頻度抽出手段１０２で得られた句の集合を入力とし、前記句の出現頻度と前記処理時間推定手段１０３で推定された処理時間に基づいて、句転置索引格納手段１０７に格納する句を決定する句格納決定手段である。
【００２２】
１０５は、文書データベース１０６内に蓄積された各文書の語転置索引、句転置索引を生成する転置索引生成手段である。
【００２３】
１０７は、複数の単語からなる句と電子文書との関連情報を格納する句転置索引格納手段である。
【００２４】
１０８は、単語と電子文書との関連情報が格納された語転置索引格納手段である。
【００２５】
１０９は、文書データベース１０６の文書、句転置索引格納手段１０７の句転置索引および語転置索引格納手段１０８の語転置索引を用いて検索を行なう検索実行手段である。
【００２６】
１１０は、過去の句の検索における、句を構成する転置索引の統計値と処理の実測時間との対応が格納された実測結果データベースである。
【００２７】
１１１は、前記実測結果データベース１１０の情報を用いて前記処理時間推定手段１０３の処理で用いるための係数を学習する係数学習手段である。
【００２８】
前記句・頻度抽出手段１０２、処理時間推定手段１０３、格納句決定手段１０４、転置索引生成手段１０５、検索実行手段１０９および係数学習手段１１１の各機能は、例えばコンピュータによって達成される。
【００２９】
上記構成の文書検索装置１００は、事前に語転置索引、句転置索引を生成する索引生成機能と、生成された索引を利用して文書を検索する検索機能とを有している。
【００３０】
前記索引生成機能は、図１中の句・頻度抽出手段１０２、処理時間推定手段１０３、係数学習手段１１１、格納句決定手段１０４、転置索引生成手段１０５をもって実行される。また、前記検索機能は、検索実行手段１０９をもって実行される。
【００３１】
前記索引生成機能のフローチャートを図２に示す。以下、図２のフローチャートに基き説明する。
【００３２】
ステップＳ０１  前記索引生成機能は句・頻度抽出手段１０２を用いて、検索履歴格納データベース１０１に格納されている検索履歴を参照して、過去に検索語句として利用された句およびその頻度を抽出する。
【００３３】
尚、検索履歴格納データベース１０１は、例えば図３に示すように、検索システムに対して、これまでにユーザが入力した検索要求を時刻情報つきで格納したものである。
【００３４】
句・頻度抽出手段１０２では、過去一定期間内（たとえば１ヶ月）での検索履歴中に出現した句を抽出し、それぞれの出現回数を調べる。具体的には、句の抽出には、引用符（「〜」や“〜”）を含んでいる検索履歴の引用符の内側を句として認定する。それぞれの句の出現回数との対応付けには、句をキーとして回数を値として持つような連想配列を作成する。
【００３５】
本実施例では明示的な引用符を含むものについて説明したが、これ以外にも検索語中から暗黙的に句と見なせる部分を抽出する既存技術を用いることもできる。
【００３６】
これらの暗黙的な句の抽出を行う場合、場合によっては本来句ではないような語の並びを誤って句とみなす可能性もある。そのような誤りはない方が好ましいが、誤りが含まれていたとしても本発明自体は適用可能であるため、誤りを含むような抽出方法を適用しても構わない。
【００３７】
ステップＳ０２  前記索引生成機能は、転置索引生成手段１０５を用いて、語転置索引格納手段１０８の語転置索引を作成する。
【００３８】
この語転置索引は、例えば図４に示すように、語を索引キーとして、値として、その語を含むような文書番号と、各文書内での語の出現開始位置を含むような索引であり、情報検索において広く使われている既存の手法を用いることができる。
【００３９】
ステップＳ０３  前記索引生成機能は、係数学習手段１１１を用いて、処理時間推測手段１０３で用いるためのパラメータを決定する。
【００４０】
係数学習手段１１１では、過去の句の検索における、句を構成する転置索引の統計値と、処理の実測時間との対応とを用いて、後述する処理時間推定機能で用いるための係数を学習する。句を構成する転置索引の統計値と、処理の実測時間との対応としては、例えば図５に示すような実測結果データベース１１０に格納してある情報を用いる。
【００４１】
係数の学習には、処理時間を目的変数とし、各統計値を説明変数とするような重回帰分析によって行う。具体的にはリッジ回帰などを用いることができる。
【００４２】
各統計値としては以下のような値を用いる。
１．句を構成する単語数
２．転置リストの長さの最小値
３．転置リストの長さの最大値
４．転置リスト中の文書数の最小値
５．転置リスト中の文書数の最大値
６．転置リスト中の出現位置より得た出現回数の平均値の最小値
７．転置リスト中の出現位置より得た出現回数の平均値の最大値
これら７つの統計値に対応する係数をαi（ｉ＝１，．．，７）とする。
【００４３】
ステップＳ０４  前記索引生成機能は、処理時間推定手段１０３を用いて、各句を語転置索引のみを用いて検索処理を実行した場合の処理時間を推定する。
【００４４】
処理時間推定手段１０３では、句を入力とし、その句を語転置索引のみを用いて処理した場合にかかる処理時間を推定する。
【００４５】
すなわち処理時間推定手段１０３ではまず、前記検索履歴格納データベース１０１から句・頻度抽出手段１０２により抽出した句を構成する各単語をもって語転置索引格納手段１０８を参照し、該各単語の各転置リストを取得し、転置リストの統計値を得る。統計値としては、係数学習手段１１１と同様、以下のような値を用いる。
１．句を構成する単語数
２．転置リストの長さの最小値
３．転置リストの長さの最大値
４．転置リスト中の文書数の最小値
５．転置リスト中の文書数の最大値
６．転置リスト中の出現位置より得た出現回数の平均値の最小値
７．転置リスト中の出現位置より得た出現回数の平均値の最大値
これらの統計値ｓ1，．．．，ｓ7と、係数学習手段１１１によって学習された係数αi，．．．，α7を用いた回帰式によって、入力された句を語転置索引のみを用いて処理した場合にかかる処理時間を以下のように求め、出力する。
【００４６】
α1ｓ1＋α2ｓ2＋．．．＋α7ｓ7…（１）
ステップＳ０５  前記索引生成機能は、格納句決定手段１０４を用いて、句転置索引格納手段１０７に格納すべき句を決定する。
【００４７】
格納句決定手段１０４は、句・頻度抽出手段１０２によって得られた句の集合を入力とし、句転置索引格納手段１０７に格納する句の集合を決定する。
【００４８】
句の集合内の句Ｐiについて、Ｐiの一定期間内における検索履歴における頻度Ｆiと、処理時間推定機能によって算出されたＰiの推定処理時間Ｔiを用いて句Ｐiの句格納スコアＳiを以下の式により算出する
Ｓi＝Ｆi×Ｔi…（２）
ここで、上記Ｓiの値が大きいものから順に、事前に定められた句索引の大きさを越えない範囲で格納する句とする。
【００４９】
ステップＳ０６  前記索引生成機能は、転置索引生成手段１０５を用いて、句転置索引格納手段１０７の句転置索引を作成する。
【００５０】
句転置索引格納手段１０７の句転置索引は、句を索引キーとして、その句を含むような文書番号と、各文書内での語の出現開始位置を値として持つような索引であり、図４の語転置索引と同様の構造を持つ。
【００５１】
次に、前記検索機能は、検索実行手段１０９を用いて文書の検索を行なう。
【００５２】
また、本実施形態の文書検索装置における各手段の一部もしくは全部の機能をコンピュータのプログラムで構成し、そのプログラムをコンピュータを用いて実行して本発明を実現することができることは言うまでもなく、コンピュータでその機能を実現するためのプログラムを、そのコンピュータが読み取り可能な記録媒体、例えばＦＤ（Ｆｌｏｐｐｙ（登録商標）  Ｄｉｓｋ）や、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  ｄｉｓｋ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、メモリカード、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）−ＲＯＭ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＨＤＤ、リムーバブルディスクなどに記録して、保存したり、配布したりすることが可能である。また、上記のプログラムをインターネットや電子メールなど、ネットワークを通して提供することも可能である。
【符号の説明】
【００５３】
１００…文書検索装置
１０１…検索履歴格納データベース
１０２…句・頻度抽出手段
１０３…処理時間推定手段
１０４…格納句決定手段
１０５…転置索引生成手段
１０６…文書データベース
１０７…句転置索引格納手段
１０８…語転置索引格納手段
１０９…検索実行手段
１１０…実測結果データベース
１１１…係数学習手段
【図１】
2010277542.tif 000003
【図２】
2010277542.tif 000004
【図３】
2010277542.tif 000005
【図４】
2010277542.tif 000006
【図５】
2010277542.tif 000007