(57)【特許請求の範囲】
【請求項１】
登録文書あるいは検索語を単語などの索引単位に分割手段により分割し、
分割した索引単位の情報を、登録手段により検索時に索引される索引に登録保持し、
ユーザが指定した検索条件を解析手段により解析し、
検索条件解析結果に基づいて検索条件を満たす文書を決定するとともに、文書選択結果の文書ごとに検索条件に対するスコアをスコア計算手段により計算し、
文書選択結果の文書をスコアの大きい順にソート手段によりソートする各工程を含み、
前記スコア計算手段により、前記検索条件として複数の検索語の文書における相対位置関係を近傍演算子により指定したときに満たす文書数と、当該近傍演算子の相対位置指定を満たす検索語の出現範囲の個数とを条件として前記文書のスコア計算をおこなうことを特徴とする文書検索方法。
【請求項２】
前記スコア計算手段による前記近傍演算子のスコア計算をおこなう際に、前記近傍演算子の相対位置指定を満たす検索語の出現範囲のうち出現範囲の先頭位置が異なるものの個数を条件として用いることを特徴とする請求項１に記載の文書検索方法。
【請求項３】
前記スコア計算手段による前記近傍演算子のスコア計算をおこなう際に、前記近傍演算子の相対位置指定を満たす検索語の出現範囲のうち出現範囲に重複のないものの個数を条件として用いることを特徴とする請求項１に記載の文書検索方法。
【請求項４】
前記スコア計算手段による前記近傍演算子のスコア計算をおこなう際に、前記近傍演算子の相対位置指定を満たす検索語の出現範囲のうち出現範囲に重複のないものの組み合わせが複数個ある場合、出現位置が文書の先頭寄りで出現範囲が狭いものを順に重複のないように選んだ場合の個数を条件として用いることを特徴とする請求項３に記載の文書検索方法。
【請求項５】
前記スコア計算手段による前記近傍演算子のスコア計算をおこなう際に、前記近傍演算子の相対位置指定を満たす検索語の出現範囲のうち出現範囲に重複のないものの組み合わせが複数個ある場合、出現範囲が狭く出現位置が文書の先頭寄りのものから順に重複のないように選んだ場合の個数を条件として用いることを特徴とする請求項３に記載の文書検索方法。
【請求項６】
前記スコア計算手段による前記近傍演算子のスコア計算をおこなう際に、前記近傍演算子の相対位置指定を満たす検索語の出現範囲のうち出現範囲に重複のないものの組み合わせが複数個ある場合、組み合わせに含まれる出現範囲の個数が最大となるものの出現範囲の個数を条件として用いることを特徴とする請求項３に記載の文書検索方法。
【請求項７】
前記スコア計算手段により、前記近傍演算子のスコア計算をおこなう際に、前記近傍演算子の相対位置指定を満たす検索語の出現範囲の幅を条件として用いることを特徴とする請求項１に記載の文書検索方法。
【請求項８】
前記近傍演算子の相対位置指定を満たす検索語の出現範囲のうち出現範囲に重複のないものの組み合わせでその組み合わせに含まれる出現範囲の個数が最大である組み合わせが複数個ある場合、組み合わせに含まれる出現範囲の幅の合計が最小となるものを選択し条件とすることを特徴とする請求項７に記載の文書検索方法。
【請求項９】
前記請求項１〜８のいずれか一つに記載された方法をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、自然言語で与えられた検索要求から検索条件式を生成する文書検索方法その方法をコンピュータに実行させるプログラムに関する。
【０００２】
【従来の技術】
登録された文書群からユーザが指定した検索条件に該当する文書を検索する文書検索方法のひとつとして、検索された文書ごとに類似度（以下、スコア）を計算し、文書をスコアによって順序付けるランキング検索技術がある。
【０００３】
従来のランキング検索技術の一例として、たとえば特開平１１−２２４２６４号公報に記載されたランキング検索システムがある。このランキング検索システムでは、検索条件として複数の検索語を  ＡＮＤ，ＯＲ  等の論理演算子で結合した検索条件を指定することが可能であり、ユーザは検索要求を詳細に指示することが可能である。
【０００４】
ランキングをおこなわない検索システムの検索条件の記述方法のひとつとして、複数の検索語が文書における出現する相対位置を指定する近傍（ｐｒｏｘｉｍｉｔｙ）演算子がある（Ｒ．Ｂａｅｚａ−Ｙａｔｅｓ，  Ｂ．  Ｒｉｂｅｉｒｏ−Ｎｅｔｏ，  Ｍｏｄｅｒｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｒｅｔｒｉｅｖａｌ，ＡＣＭ  Ｐｒｅｓｓ，  １９９９，  ｐｐ．１０１−１０２）。
【０００５】
【発明が解決しようとする課題】
しかしながら、上記の従来技術においては、近傍演算子をサポートしておらず、ユーザはランキングをおこなわない検索システムのように詳細な検索要求指示をおこなうことができないという問題点があった。
【０００６】
本発明では、ランキング検索における一般的なスコア計算法を近傍演算子に適用することで、ランキング検索に近傍演算子を使用できる文書検索方法およびその方法をコンピュータに実行させるプログラムを提供することを目的としている。
【０００７】
【課題を解決するための手段】
上記課題を解決するために、この発明にかかる文書検索方法は、登録文書あるいは検索語を単語などの索引単位に分割手段により分割し、分割した索引単位の情報を、登録手段により検索時に索引される索引に登録保持し、ユーザが指定した検索条件を解析手段により解析し、検索条件解析結果に基づいて検索条件を満たす文書を決定するとともに、文書選択結果の文書ごとに検索条件に対するスコアをスコア計算手段により計算し、文書選択結果の文書をスコアの大きい順にソート手段によりソートする各工程を含み、前記スコア計算手段により、前記検索条件として複数の検索語の文書における相対位置関係を近傍演算子により指定したときに満たす文書数と、当該近傍演算子の相対位置指定を満たす検索語の出現範囲の個数とを条件として前記文書のスコア計算をおこなうことを特徴とする。
【０００８】
また、前記スコア計算手段による前記近傍演算子のスコア計算をおこなう際に、前記近傍演算子の相対位置指定を満たす検索語の出現範囲のうち出現範囲の先頭位置が異なるものの個数を用いることを特徴とする。
【０００９】
また、前記スコア計算手段による前記近傍演算子のスコア計算をおこなう際に、前記近傍演算子の相対位置指定を満たす検索語の出現範囲のうち出現範囲に重複のないものの個数を用いることを特徴とする。
【００１０】
また、前記スコア計算手段による前記近傍演算子のスコア計算をおこなう際に、前記近傍演算子の相対位置指定を満たす検索語の出現範囲のうち出現範囲に重複のないものの組み合わせが複数個ある場合、出現位置が文書の先頭寄りで出現範囲が狭いものを順に重複のないように選んだ場合の個数を用いることを特徴とする。
【００１１】
また、前記スコア計算手段による前記近傍演算子のスコア計算をおこなう際に、前記近傍演算子の相対位置指定を満たす検索語の出現範囲のうち出現範囲に重複のないものの組み合わせが複数個ある場合、出現範囲が狭く出現位置が文書の先頭寄りのものから順に重複のないように選んだ場合の個数を用いることを特徴とする。
【００１２】
また、前記スコア計算手段による前記近傍演算子のスコア計算をおこなう際に、前記近傍演算子の相対位置指定を満たす検索語の出現範囲のうち出現範囲に重複のないものの組み合わせが複数個ある場合、組み合わせに含まれる出現範囲の個数が最大となるものの出現範囲の個数を用いることを特徴とする。
【００１３】
また、前記スコア計算手段により、前記近傍演算子のスコア計算をおこなう際に、前記近傍演算子の相対位置指定を満たす検索語の出現範囲の幅を用いることを特徴とする。
【００１４】
また、前記近傍演算子の相対位置指定を満たす検索語の出現範囲のうち出現範囲に重複のないものの組み合わせでその組み合わせに含まれる出現範囲の個数が最大である組み合わせが複数個ある場合、組み合わせに含まれる出現範囲の幅の合計が最小となるものを選択することを特徴とする。
【００１５】
また、この発明にかかるプログラムは、上記のいずれか一つに記載された方法をコンピュータに実行させることができる。
【００１８】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる文書検索方法、およびその方法をコンピュータに実行させるプログラムの好適な実施の形態について詳細に説明する。
【００１９】
図１は、文書検索方法を実現するためのハードウエアの機能的構成を示すブロック図である。図１において、テキスト分割手段１は、登録文書あるいは検索語であるテキストを索引単位に分解する。索引単位としては、ｎ文字からなる部分文字列、あるいは単語などが使用され得る。
【００２０】
索引２は、登録文書を分割した索引の情報を、検索のために保持するものである。検索条件解析手段３は、ユーザが指定した検索条件を後続の処理がおこないやすいように検索語を末端ノード、演算子を中間ノードとする木構造に解析する。文書選択手段４は、検索条件解析結果に基づいて検索条件を満たす文書を決定する。スコア計算手段５は、文書選択結果の文書ごとに検索条件に対するスコアを計算する。文書ソート手段６は、文書選択結果の文書をスコアの大きい順にソートする。
【００２１】
ここで、文書検索をおこなうためには、検索対象の文書をあらかじめ登録しておく必要がある。登録においては、文書が与えられるとテキスト分割手段１で索引単位に分割し、その出現情報を索引２に記録する。登録の方法について、図２を用いて説明する。図２において、図２（ａ）の文書１を単語を索引単位として分割した結果を図２（ｂ）、分割結果を記録した索引２を図２（ｃ）に示す。
【００２２】
索引２においては、索引単位ごとに、その索引単位を含む文書数と、その索引単位を含む文書における出現情報が文書ごとに記録される。文書ごとの出現情報は「文書ＩＤ」「その文書での出現回数」および「その文書での出現位置リスト」の３つの組で表現される。たとえば、図２の（ｃ）の「パソコン」について説明する。セミコロンで囲まれた「４」は「パソコン」を含む文書数が４であることを示す。また、つぎの「[1,4,(1,9,22,24)]」は文書１において４回出現し、その位置（文書の先頭からの単語数）が１、９、２２、２４であることを示している。また、図示していないが、索引には登録済みの文書数も記録されているものとする。
【００２３】
検索においては、以下の手順でランキング検索結果が求められる。
（１）与えられた検索条件が解析されること。
（２）検索語を必要に応じて分割し、分割された場合は分割された索引単位を結合させた近傍演算子で検索語に置き換えること。
（３）解析結果に基づいて検索条件を満たす文書を選択すること。
（４）選択された文書ごとにスコアを計算すること。
（５）文書をスコアの大きい順にソートする。
【００２４】
たとえば、検索条件として一つの検索語からなる「パソコン」であれば、図３（ａ）のような「パソコン」を末端ノードとする解析結果が得られる。「パソコン」はそれ自身が単語なので分割は不要であり、ステップ（２）を経ても解析結果はそのままである。つぎに索引を参照することで「パソコン」が出現している文書が選択される。つぎに選択された文書ごとにスコアが計算される。
【００２５】
スコアは、ｔｆ法、ｔｆ・ｉｄｆ法などの情報検索で一般的に使用されている方法（たとえば、W. B. Frakes  Ed., Information Retrieval - Data Structures & Algorithms, Prentice Hall, 1992 の Section 14 に説明されている）を用いて計算すればよい。
【００２６】
以下では、スコアを以下の式で計算するものとする。
【００２７】
score(w)=tf(w)*(1+log2(N/df(w)))    （式１）
【００２８】
ここで、tf(w)は検索語wのスコアを計算中の文書における出現回数、Nは登録済みの文書数（以下８とする）、df(w)は検索語wを含む登録済みの文書数（以下、文書頻度）である。
【００２９】
「パソコン」に対する文書１のスコアであれば、（式１）にtf(パソコン)=4, df(パソコン)=4, N=8を代入して、score(パソコン)=4*(1+log2(8/4))=8となる。
【００３０】
ここでは、検索条件において複数の検索語の文書における相対位置を指定する近傍演算子を用いることができる。以下では、近傍演算子を含む検索条件を以下の形式で記述する。
【００３１】
#WINDOW[minDistance,maxDistance,order](word1,...,wordl)
【００３２】
これは、word1,...,wordn が minDistance 以上、maxDistance 以下の距離に出現している文書を検索結果とすることを意味する。Order は "o" あるいは "u" のいずれかをとり、"o"であれば word1,...,wordn がそのままの順序で出現すること、"u"であれば word1,...,wordn が任意の順序で出現することを指示する。
【００３３】
たとえば、「#WINDOW[1,1,o](パソコン,メール)」は「パソコン」と「メール」がそのままの順序で１以上１以下の距離に出現していること（すなわち、「パソコン」と「メール」が隣り合って出現していること）を指示している。解析結果は図３（ｂ）のような「パソコン」と「メール」を末端ノードとし、それらを子ノードに持つ近傍演算子ノードから成る解析結果が得られる。
【００３４】
図２の文書１では、「パソコン」と「メール」は隣り合って出現していることはないので、文書１はこの条件を満たさない。また、「#WINDOW[1,2,u](パソコン,メール)」は「パソコン」と「メール」が任意の順序で１以上２以下の距離に出現していることを指示している。文書１では、位置１（すなわち文書の先頭）の「パソコン」と位置３の「メール」は距離２となり、文書１はこの条件を満たす。
【００３５】
以下では、近傍演算子に照合する先頭の単語の位置から末尾の単語の位置で決まる範囲を出現範囲と呼び、「<先頭単語の位置,末尾単語の位置>」と書く。この例では、「#WINDOW[1,2,u](パソコン,メール)」に対する文書１の出現範囲は <1,3> となる。
【００３６】
ランキング検索において、近傍演算子に対するスコアの計算方法は様々な方法が考えられる。単純な計算方法の一例として、近傍演算子を満足する文書において、近傍演算子の子ノードのスコアを合計したものを近傍演算子のスコアとする方法が考えられる。この方法によれば、「#WINDOW[1,2,u](パソコン,メール)」に対する図２の文書１のスコアは score(#WINDOW[1,2,u](パソコン,メール))=score(パソコン)+score(メール)=8+6=14 となる。しかし、この方法には、スコア計算対象の出現頻度を直接には反映していないので、適切なスコアが計算できないという問題がある。
【００３７】
そこで、本発明では、近傍演算子のスコア計算において、ランキング検索において一般的に使用されている計算式をそのまま適用できるようにする。そのため、近傍演算子sに対する df(s), tf(s)を定義する。
【００３８】
また、本実施の形態においては、近傍演算子のスコア計算をおこなう際に、近傍演算子を満たす文書数を用いるようにしてもよい。すなわち、演算子sに対する df(s) を近傍演算子sを満たす文書数を用いておこなものである。図２に示した例で、「#WINDOW[1,2,u](パソコン,メール)」を満たす文書が文書１だけであれば、df(#WINDOW[1,2,u](パソコン,メール))=1となる。
【００３９】
また、本実施の形態においては、近傍演算子のスコア計算をおこなう際に、近傍演算子の相対位置指定を満たす検索語の出現範囲の個数を用いるようにしてもよい。
【００４０】
上記のようにして、近傍演算子sに対する tf(s) を定義することができる。より具体的には、以下の通りである。たとえば、近傍演算子sに対する tf(s) を近傍演算子s の相対位置指定を満たす検索語の出現範囲の個数とするものである。
【００４１】
図２の文書１で「#WINDOW[1,2,u](パソコン,メール)」を満たす出現範囲は、前述のように、<1,3> であるので、tf(#WINDOW[1,2,u](パソコン,メール))=1となる。前述した df(s) の定義と組み合わせると、文書１のスコアはscore(#WINDOW[1,2,u](パソコン,メール))=1*(1+log2(8/1))=4 となる。
【００４２】
しかし、「#WINDOW[1,7,u](パソコン,メール)」という検索条件では、文書１の出現範囲は <1,3>,<3,9>,<18,22>,<18,24> であり、tf(#WINDOW[1,7,u](パソコン,メール))=4となる。ところが、このうち最後の２つは先頭位置が同じであるのに別々にカウントしているため、文書１のスコアが不当に高く計算されてしまうという問題がある。
【００４３】
そこで、近傍演算子のスコア計算をおこなう際に、近傍演算子の相対位置指定を満たす検索語の出現範囲のうち出現範囲の先頭位置が異なるものの個数を用いるようにするとよい。すなわち、近傍演算子sに対する tf(s) を近傍演算子s の相対位置指定を満たす検索語の出現範囲のうち出現範囲の先頭位置が異なるものの個数とするものである。この方法によれば、前例の出現範囲のうち<18,22>,<18,24>が別にカウントされることはなく、tf(#WINDOW[1,7,u](パソコン,メール))=3 となる。その結果、先頭位置が同じであるためにスコアが不当に高く計算されることはなくなる。
【００４４】
しかし、さらに詳細に見ると、この方法でカウントされる <1,3>,<3,9>,<18,22> のうち、<1,3>と<3,9>は同じ単語出現（位置３の「メール」）を共有している。その結果、出現範囲に重複があるのに別々にカウントしているため、文書１のスコアが不当に高く計算されてしまうという問題がある。
【００４５】
そこで、近傍演算子のスコア計算をおこなう際に、近傍演算子の相対位置指定を満たす検索語の出現範囲のうち出現範囲に重複のないものの個数を用いるようにするとよい。すなわち、近傍演算子sに対する tf(s) を近傍演算子s の相対位置指定を満たす検索語の出現範囲のうち出現範囲に重複のないものの個数とするものである。この方法によれば、前例の出現範囲のうち<1,3>,<3,9>が別にカウントされることはなく、tf(#WINDOW[1,7,u](パソコン,メール))=2 となる。その結果、先頭位置に出現範囲に重複があるためにスコアが不当に高く計算されることはなくなる。
【００４６】
さらに、「#WINDOW[1,20,u](パソコン,メール)」という検索条件では、文書１の出現範囲は <1,3>,<1,18>,<3,9>,<3,22>,<9,18>,<18,22>,<18,24> であり、出現範囲に重複がない組み合わせは、[<1,3>,<9,18>], [<1,18>],[<3,9>,<18,22>]など多数存在する。しかも、組み合わせによって出現範囲の個数が異なってしまい、重複のない組み合わせの選択を誤ると適切なスコアが計算されるとは限らないという問題がある。
【００４７】
そこで、近傍演算子sの相対位置指定を満たす検索語の出現範囲のうち出現範囲に重複のないものの組み合わせが複数個ある場合に、tf(s) のカウントに用いる出現範囲の組み合わせを一意に定めることができる。
【００４８】
つまり、近傍演算子のスコア計算をおこなう際に、近傍演算子の相対位置指定を満たす検索語の出現範囲のうち出現範囲に重複のないものの個数を用いるようにする際、近傍演算子の相対位置指定を満たす検索語の出現範囲のうち出現範囲に重複のないものの組み合わせが複数個ある場合、出現位置が文書の先頭寄りで出現範囲が狭いものを順に重複のないように選んだ場合の個数を用いるようにするとよい。
【００４９】
ここでは、近傍演算子sに対する tf(s) を出現位置が文書の先頭寄りで出現範囲が狭いものを順に重複のないように選んだ場合の個数とするものである。この方法によれば、以下のように出現範囲が選択される。まず、出現位置が文書の最も先頭寄りのものを選択する。この場合<1,3>,<1,18> が候補となるが、出現範囲の狭い方は <1,3> なのでこれが最初の出現範囲となる。
【００５０】
つぎに、残りの出現範囲のなかから、出現位置が 4 （前に選択した <1,3> に重複しない位置）以上で最も先頭寄りのものを選択する。この場合 <9,18> が選択される。さらに、残りの出現範囲のなかから、出現位置が 19 以上で最も先頭寄りのものを選択する。この場合は該当するものがない。結局選択されるのは [<1,3>,<9,18>] の組み合わせとなり、tf(s)=2 となる。
【００５１】
また同様に、近傍演算子の相対位置指定を満たす検索語の出現範囲のうち出現範囲に重複のないものの組み合わせが複数個ある場合、出現範囲が狭く出現位置が文書の先頭寄りのものから順に重複のないように選んだ場合の個数を用いるようにしてもよい。
【００５２】
すなわち、近傍演算子sに対する tf(s) を出現範囲が狭く出現位置が文書の先頭寄りのものから順に重複のないように選んだ場合の個数とするものである。この方法によれば、以下のように出現範囲が選択される。まず、出現位置が最も狭いものものを選択する。この場合幅が3（先頭単語と末尾単語の距離は2）の <1,3> が選択される。
【００５３】
つぎに、残りの出現範囲で <1,3> と重複がないもののなかから、幅が 4以上で最も狭いものを選択する。この場合幅が4 の <18,24> が選択される。さらに、残りの出現範囲で <1,3>, <18,24> と重複がないもののなかから、幅が 5 以上で最も狭いものを選択する。この場合は該当するものがない。結局選択されるのは [<1,3>,<18,24>] の組み合わせとなり、tf(s)=2 となる。
【００５４】
さらにまた、近傍演算子の相対位置指定を満たす検索語の出現範囲のうち出現範囲に重複のないものの組み合わせが複数個ある場合、組み合わせに含まれる出現範囲の個数が最大となるものの出現範囲の個数を用いるようにしてもよい。
【００５５】
すなわち、近傍演算子sに対する tf(s) を組み合わせに含まれる出現位置の個数が最大となるものの出現位置の個数とするものである。この方法によれば、[<1,3>,<9,18>]あるいは[<1,3>,<18,24>] の2個が最大値となるので、tf(s)=2 となる。
【００５６】
上述の方法においては、近傍演算子の文書におけるスコアの計算において、その近傍演算子の相対位置指定を満たす検索語の出現範囲をカウントした値を利用しているが、その幅は用いていない。しかし、出現範囲が狭いということは近傍演算子の構成単語が密集していることを意味しており、より検索意図に近いと考えることができる。つまり、出現範囲の幅を利用することで、検索精度を向上させることが可能となる。
【００５７】
そこで、近傍演算子の相対位置指定を満たす検索語の出現範囲のうち出現範囲に重複のないものの組み合わせが複数個ある場合、組み合わせに含まれる出現範囲の個数が最大となるものの出現範囲の個数を用いるようにするとよい。すなわち、出現位置の幅をスコア計算に利用する。たとえば、以下の計算式によれば、出現位置の幅をスコアに反映できる。
【００５８】
score(s)=[Σ1/width(si)]*(1+log2(N/df(s)))      （式２）
【００５９】
ここで、si は近傍演算子ｓの文書における i 番目の出現範囲であり、width(si)はその幅を与えるものである。図２の文書１で「#WINDOW[1,2,u](パソコン,メール)」を満たす出現範囲は、<1,3> であり、その幅は3である。前述した df(s) の定義と組み合わせると、文書１のスコアはscore(#WINDOW[1,2,u](パソコン,メール))=1/3*(1+log2(8/1))= 1.33 （小数点３桁目を四捨五入） となる。
【００６０】
しかし、「#WINDOW[1,20,u](パソコン,メール)」という検索条件では、文書１の出現範囲は <1,3>,<1,18>,<3,9>,<3,22>,<9,18>,<18,22>,<18,24> であり、出現範囲に重複がない組み合わせは、[<1,3>,<9,18>], [<1,18>],[<3,9>,<18,22>]など多数存在する。しかも、組み合わせによって出現範囲の幅も個数も異なってしまい、重複のない組み合わせの選択を誤ると適切なスコアが計算されるとは限らないという問題がある。
【００６１】
そこで、近傍演算子の相対位置指定を満たす検索語の出現範囲のうち出現範囲に重複のないものの組み合わせでその組み合わせに含まれる出現範囲の個数が最大である組み合わせが複数個ある場合、組み合わせに含まれる出現範囲の幅の合計が最小となるものを選択するようにするとよい。
【００６２】
この方法によれば、まず、重複のないものの組み合わせで個数が最大である[<1,3>, <9,18>],[<3,9>,<18,22>],[<3,9>,<18,24>] が選ばれる。そして、その組み合わせに含まれる出現範囲の幅の合計をそれぞれ計算すると 13, 12, 14 となり、最小である[<3,9>,<18,22>]が最終的に選択される。文書１のスコアは score(#WINDOW[1,20,u](パソコン,メール))=(1/7+1/5)*(1+log2(8/1))=1.37 となる。
【００６３】
このように、本実施の形態によれば、検索条件に近傍演算子を使えるので、ユーザは検索要求を的確にシステムに伝えることが可能となる。また、近傍演算子を満たす文書数に基づいてスコアが計算されるので、検索精度が向上する。また、近傍演算子の相対位置指定を満たす検索語の出現範囲の個数に基づいてスコアが計算されるので、検索精度が向上する。さらに、近傍演算子の相対位置指定を満たす検索語の出現範囲の重なりを考慮してスコアが計算されるので、より検索精度が向上する。
【００６４】
また、本実施の形態によれば、近傍演算子の相対位置指定を満たす検索語の出現範囲の幅に基づいてスコアが計算されるので、検索精度が向上する。また、近傍演算子の相対位置指定を満たす検索語の出現範囲の重なりを考慮してスコアが計算されるので、さらに検索精度が向上する。
【００６５】
なお、本実施の形態にかかる文書検索方法は、あらかじめ用意されたコンピュータ読み取り可能なプログラムであってもよく、またそのプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現される。このプログラムは、ＨＤ（ハードディスク）、ＦＤ（フロッピーディスク）、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、このプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。
【００６６】
【発明の効果】
以上説明したように、この発明によれば、ランキング検索に近傍演算子を用い、この近傍演算子を満たす文書数、および近傍演算子の相対位置指定を満たす検索語の出現範囲の個数に基づいてスコアが計算されるので検索精度を向上させることができるという効果を奏する。
【図面の簡単な説明】
【図１】この発明の実施の形態にかかる文書検索方法を実現するためのハードウエアの機能的構成を示すブロック図である。
【図２】この発明の実施の形態にかかる文書検索方法における登録文書と引用例との関係を示す説明図である。
【図３】この発明の実施の形態にかかる文書検索方法における検索条件の解析結果を示す説明図である。
【符号の説明】
１  テキスト分割手段
２  索引
３  検索条件解析手段
４  文書選択手段
５  スコア計算手段
６  文書ソート手段
【図１】
0004327373.tif 000002
【図２】
0004327373.tif 000003
【図３】
0004327373.tif 000004