(57)【特許請求の範囲】
【請求項１】
与えられた検索条件を解析し、この検索条件に含まれる各検索語をｎ文字単位（ｎ≧１）で分割する分割部と、
検索対象の文書群における各文書がｎ文字単位で分割されることにより得られた単語ごとの出現頻度が各文書の形式区切りごとに登録されたインデックスを利用して、各検索語の分割により得られた単語ごとの出現頻度を、前記インデックスに登録された形式区切りごとに抽出する抽出部と、
前記抽出部で抽出された単語ごとの出現頻度を利用するとともに、各検索語の文書内に構成される形式区切り内での位置情報を利用しないで、各検索語の形式区切りごとの出現頻度と、各検索語の汎用度とを計算し、この計算により得られた出現頻度および汎用度を利用して、各文書の重みを計算する重み付け部と
を備えた文書検索システム。
【請求項２】
前記形式区切りは、ページ、段落、章、または節である
請求項１に記載の文書検索システム。
【請求項３】
前記重み付け部で得られた重みを利用して、各文書のランキングを決定するマージ部をさらに備えた
請求項１または請求項２に記載の文書検索システム。
【請求項４】
前記マージ部で決定されたランキングに従って各文書を表示させる検索結果表示部をさらに備えた
請求項３に記載の文書検索システム。
【請求項５】
前記検索結果表示部は、各文書において前記出現頻度が最大となる形式区切りを含む連続した複数の形式区切りのレイアウトを表示させる
請求項４に記載の文書検索システム。
【請求項６】
前記検索結果表示部は、各文書において前記出現頻度が最大となる形式区切りのレイアウトを表示させる
請求項４に記載の文書検索システム。
【請求項７】
前記ｎ文字単位は、複数の文字単位を含み、
前記インデックスは、前記ｎ文字単位に含まれる文字単位ごとのインデックスを含み、
前記分割部は、各検索語を各文字単位で分割し、
前記抽出部は、前記インデックスを利用して、前記分割部での分割により得られた単語ごとの出現頻度を、前記インデックスに登録された形式区切りごと、および前記文字単位ごとに抽出し、
前記重み付け部は、前記抽出部での抽出により得られた単語ごとの出現頻度を利用して、各検索語の形式区切りごとおよび前記文字単位ごとの出現頻度と、各検索語の汎用度とを計算し、この計算により得られた出現頻度および汎用度を利用して、各文書の重みを計算する
請求項１ないし請求項６のいずれか一項に記載の文書検索システム。
【請求項８】
与えられた検索条件を解析し、この検索条件に含まれる各検索語をｎ文字単位（ｎ≧１）で分割する第１ステップと、
検索対象の文書群における各文書がｎ文字単位で分割されることにより得られた単語ごとの出現頻度が各文書の形式区切りごとに登録されたインデックスを利用して、各検索語の分割により得られた単語ごとの出現頻度を、前記インデックスに登録された形式区切りごとに抽出する第２ステップと、
前記抽出部で抽出された単語ごとの出現頻度を利用するとともに、各検索語の文書内に構成される形式区切り内での位置情報を利用しないで、各検索語の形式区切りごとの出現頻度と、各検索語の汎用度とを計算し、この計算により得られた出現頻度および汎用度を利用して、各文書の重みを計算する第３ステップと
をコンピュータに実行させる文書検索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書データベースを検索して検索結果を表示する文書検索システムおよび文書検索プログラムに関する。
【背景技術】
【０００２】
従来から、膨大な情報の中から必要な情報を抽出するために検索システムが利用されている。一般的な検索システムでは、入力された検索語を多く含む文書が上位に表示され、更には他の要素も考慮した表示がなされる（特許文献１段落００２９等参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１８７２１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、上記の表示方法では、入力された検索語に、汎用語と非汎用語とが含まれている場合には、汎用語を多く含む文書が上位に表示され、ユーザが真に必要とする文書が下位に表示されてしまう。また、上記の表示方法では、複数の検索語を用いた場合に、単に網羅的な記載がなされているだけで、検索語同士が関連し合った文章を含まない文書が上位にランキングされることがある。その結果、ユーザは、真に必要とする文書を探し出すために、検索結果の文書を順次表示させて閲覧しなければならず、多大な時間と労力をかけなければならないという問題があった。
【０００５】
もっとも、検索の上手なユーザは、汎用語を避けて検索することができるかもしれない。しかし、いくら検索の上手なユーザであっても、検索対象のデータベースにおいて、どの用語が汎用語であるか否かを検索前に把握することは難しい。以上のことから、ユーザが汎用語を含む複数の検索語を使った場合であっても、ユーザが真に必要とする文書を上位に表示する検索システムの登場が待たれている。
【０００６】
本発明はかかる問題点に鑑みてなされたものであり、その目的は、汎用語の影響を低減するとともに、検索語同士が関連し合った文章を含む文書を上位に表示することの可能な文書検索システムおよび文書検索プログラムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明による文書検索システムは、検索対象の文書群における各文書がｎ文字単位（ｎ≧１）で分割されることにより得られた単語ごとの出現頻度が各文書の形式区切りごとに登録されたインデックスを利用したシステムである。このシステムは、以下の３つの構成要素を備えている。
（Ａ１）与えられた検索条件を解析し、この検索条件に含まれる各検索語をｎ文字単位で分割する分割部
（Ａ２）上記のインデックスを利用して、各検索語の分割により得られた単語ごとの出現頻度を、上記のインデックスに登録された形式区切りごとに抽出する抽出部
（Ａ３）抽出部で抽出された単語ごとの出現頻度を利用するとともに、各検索語の文書内に構成される形式区切り内での位置情報を利用しないで、各検索語の形式区切りごとの出現頻度と、各検索語の汎用度とを計算し、この計算により得られた出現頻度および汎用度を利用して、各文書の重みを計算する重み付け部
【０００８】
本発明による文書検索プログラムは、検索対象の文書群における各文書がｎ文字単位（ｎ≧１）で分割されることにより得られた単語ごとの出現頻度が各文書の形式区切りごとに登録されたインデックスを利用したプログラムである。このプログラムは、以下の３つのステップをコンピュータに実行させるものである。
（Ｂ１）与えられた検索条件を解析し、この検索条件に含まれる各検索語をｎ文字単位で分割する第１ステップ
（Ｂ２）上記のインデックスを利用して、各検索語の分割により得られた単語ごとの出現頻度を、上記のインデックスに登録された形式区切りごとに抽出する第２ステップ
（Ｂ３）抽出部で抽出された単語ごとの出現頻度を利用するとともに、各検索語の文書内に構成される形式区切り内での位置情報を利用しないで、各検索語の形式区切りごとの出現頻度と、各検索語の汎用度とを計算し、この計算により得られた出現頻度および汎用度を利用して、各文書の重みを計算する第３ステップ
【０００９】
本発明による文書検索システムおよび文書検索プログラムでは、上記のインデックスを利用して、各検索語の汎用度が計算される。このように、本発明では、各検索語の汎用度が検索時に導出されるので、汎用度を考慮したランキング表示が可能になる。また、各検索語の汎用度が計算により導出されるので、ユーザが、検索条件として入力する言葉が汎用語であるか否かを気にする必要がなくなる。また、本発明では、上記のインデックスを利用して、文書よりも小さな形式区切りごとに各検索語の出現頻度が計算される。これにより、単に網羅的な記載がなされているだけで、検索語同士が関連し合っていない文書が上位にランキングされるのを防ぐことができる。
【００１０】
本発明による文書検索システムおよび文書検索プログラムにおいて、形式区切りは、例えば、ページ、段落、章、または節である。本発明による文書検索システムは、重み付け部で得られた重みを利用して、各文書のランキングを決定するマージ部をさらに備えていてもよい。本発明による文書検索システムは、マージ部だけでなく、さらに、マージ部で決定されたランキングに従って各文書を表示させる検索結果表示部をさらに備えていてもよい。ここで、検索結果表示部は、各文書において出現頻度が最大となる形式区切りを含む連続した複数の形式区切りのレイアウトを表示させるようになっていてもよい。また、検索結果表示部は、各文書において出現頻度が最大となる形式区切りのレイアウトを表示させるようになっていてもよい。
【００１１】
本発明による文書検索システムおよび文書検索プログラムにおいて、ｎ文字単位が複数の文字単位を含み、インデックスがｎ文字単位に含まれる文字単位ごとのインデックスを含んでいてもよい。この場合に、分割部は、各検索語を各文字単位で分割するようになっていてもよい。さらに、抽出部は、インデックスを利用して、分割部での分割により得られた単語ごとの出現頻度を、インデックスに登録された形式区切りごと、および文字単位ごとに抽出するようになっていてもよい。さらに、重み付け部は、抽出部での抽出により得られた単語ごとの出現頻度を利用して、各検索語の形式区切りごとおよび文字単位ごとの出現頻度と、各検索語の汎用度とを計算し、この計算により得られた出現頻度および汎用度を利用して、各文書の重みを計算する要になっていてもよい。
【発明の効果】
【００１２】
本発明による文書検索システムおよび文書検索プログラムによれば、検索対象の文書群から得られたｎ文字単位の単語ごとの出現頻度が各文書の形式区切りごとに登録されたインデックスを利用して、各検索語の汎用度と、文書よりも小さな形式区切りごとに各検索語の出現頻度とを計算するようにしたので、汎用語の影響を低減するとともに、検索語同士が関連し合った文章を含む文書を上位に表示することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明による一実施の形態に係る文書検索システムの機能ブロック図である。
【図２】図１のインデックス登録部の機能ブロック図である。
【図３】インデックス構造の一例を表す図である。
【図４】インデックスの一例を表す図である。
【図５】図１の検索部の機能ブロック図である。
【図６】図５の検索部における演算の一例を表す図である。
【図７】検索結果の表示の一例を表す図である。
【図８】検索結果の表示の他の例を表す図である。
【図９】検索結果の表示のその他の例を表す図である。
【図１０】図１の文書検索システムの一変形例の機能ブロック図である。
【図１１】図１０のインデックス構造の一例を表す図である。
【図１２】図１０の検索部の機能ブロック図である。
【図１３】図１の文書検索システムの第１応用例の構成図である。
【図１４】図１の文書検索システムの第２応用例の構成図である。
【図１５】図１の文書検索システムの第３応用例の構成図である。
【図１６】図１の文書検索システムの第４応用例の構成図である。
【発明を実施するための形態】
【００１４】
以下、発明を実施するための形態について、図面を参照して詳細に説明する。なお、説明は以下の順序で行う。
１．実施の形態
単一のインデックスが用いられた例
２．変形例
複数のインデックスが用いられた例
３．応用例
【００１５】
＜１．実施の形態＞
[構成]
図１は、本発明による一実施の形態に係る文書検索システム１００の機能ブロックの一例を表したものである。文書検索システム１００は、例えば、図１に示したように、文書格納部１１０、インデックス登録部１２０、インデックス１３０、検索条件入力部１４０、検索部１５０、マージ部１６０および検索結果表示部１７０を備えている。
【００１６】
文書格納部１１０は、検索対象の文書群を格納するものである。文書格納部１１０は、例えば、ＮＡＳ（Network Attached Storage）等の、ネットワーク経由でアクセスする記憶装置や、バス経由でアクセスするハードディスクなどで構成されている。上述の「検索対象の文書群」とは、インデックス１３０に登録された（つまり、アドレスが既知の）文書群を指している。文書群は、各種エディタで作成された文書の集合である。文書は、例えば、オフィス文書や、学術論文、定期刊行物などである。
【００１７】
図２は、インデックス登録部１２０の機能ブロックの一例を表したものである。インデックス登録部１２０は、文書格納部１１０内の文書群のインデックスを作成し、登録するものである。インデックス登録部１２０は、ハードウェア（アプリケーション回路）で構成されていてもよいし、または、プログラム（ソフトウェア）のロードされた演算装置で構成されていてもよい。
【００１８】
インデックス登録部１２０は、まず、文書の一覧を取得し、作成する（ステップＳ１０１、Ｓ１０２）。具体的には、インデックス登録部１２０は、文書格納部１１０内の各文書について、例えば、ファイル名、アドレス、日付およびファイルサイズの情報を取得し、それらを一覧にする。このとき、インデックス登録部１２０は、取得した文書ごとに、１つずつ識別子を付与してもよい。このときの識別子は、文書ごとに固有のものであれば何でもよく、例えば、何らかの数字や記号であってもよい。
【００１９】
次に、インデックス登録部１２０は、作成した一覧からアドレスを取り出し、文書格納部１１０から、そのアドレスに対応する文書を取得する（ステップＳ１０３）。このとき、インデックス登録部１２０は、過去に作成した一覧を保有している場合には、過去の一覧と、現在の一覧との差分を取り、新しい文書や、更新した文書を検出したときだけ、その文書を文書格納部１１０から取得する。なお、文書の更新は、例えば、日付やファイルサイズなどから判別可能である。さらに、インデックス登録部１２０は、過去の一覧と、現在の一覧との差分を取ったときに、既知の文書が存在しないことを検出したときには、その文書を現在の一覧から削除する。
【００２０】
次に、インデックス登録部１２０は、取得した各文書に対してページ分割を実施する（ステップＳ１０４）。具体的には、インデックス登録部１２０は、取得した各文書のページごとに、１つずつ識別子を付与する。このときの識別子は、各文書においてページごとに固有のものであれば何でもよく、単なるページ番号でもよいし、何らかの数字や記号であってもよい。
【００２１】
ここで、ページ分割を行う意義について説明する。一般に、ファイル単位で検索を行うと、ファイルサイズの大きな文書や、幅広い情報が記載された文書が優位となる。しかし、そのような文書が常に、ユーザが真に必要とする文書であるとは限らない。特に、複数の検索語を用いた場合には、上記のような文書は、検索語同士が関連し合っていない文書である可能性が高い。検索語同士が関連し合っていない文書は、ユーザが真に必要とする文書ではなく、上位に表示すべき文書ではない。一方、ページ単位で検索を行うと、ファイルサイズや記載幅の広さが文書の優位に影響を与えることがなくなる。さらに、複数の検索語を用いた場合に、１ページ内に全ての検索語が分布しているときには、検索語の文書内での位置を把握していなくても、そのページでは、検索語同士が関連し合っている可能性が極めて高いと考えられる。従って、ページ単位で検索を行うことにより、検索語の文書内での位置を考慮した検索と同等の結果を得ることが可能となる。
【００２２】
なお、検索語の文書内での位置を考慮するためには、各検索語について、文書格納部１１０内の検索対象となる各文書をｇｒｅｐ型（テキスト総ナメ型）で検索することが必要となる。ｇｒｅｐ型の検索では処理に非常に大きな負荷がかかるため、高速検索を行うことが難しい。一方、ページ単位で検索を行う場合には、そもそも、検索語の文書内での位置情報は必要なく、それゆえ、検索時にｇｒｅｐ型の検索を実行する必要もないので、高速検索を行うことが可能である。
【００２３】
次に、インデックス登録部１２０は、取得した各文書のページごとに、ｎ文字分割（ｎ≧１）を実施する（ステップＳ１０５）。具体的には、インデックス登録部１２０は、取得した各文書のページごとに、文章をｎ文字で切り出す。このとき、文章の文字数がｍの場合には、文章は、（ｍ−（ｎ−１））個の単語に分割される。例えば、「キーワードが入力される。」という１２文字からなる文章を例にとると、この文章は、「キー」，［ーワ］，「ワー」，［ード］，「ドが」，［が入］，「入力」，［力さ］，「され」，［れる］，「る。」という１１個の単語に分割される。
【００２４】
ここで、ｎ文字分割を実施する意義について説明する。一般に、インデックスを作成する方法としては、事前に用意した検索語に対してインデックスを作成する方法と、ｎ文字単位で文章を分割することにより得られた単語に対してインデックスを作成する方法（ｎ−ｇｒａｍ）とがある。本実施の形態で用いている方法は、後者のｎ−ｇｒａｍである。前者の方法では、検索語を事前に用意することが必要となるので、事前に検索語を用意する手間がかかる。一方、ｎ−ｇｒａｍの場合には、検索対象となる文書群があれば単語が自動的に抽出されるので、単語を事前に用意する必要がない。このように、ｎ−ｇｒａｍを適用することで、検索に要する手間を大幅に低減することができる。
【００２５】
次に、インデックス登録部１２０は、分割インデックスを作成する（ステップＳ１０６）。具体的には、インデックス登録部１２０は、文章の分割により得られた単語を、各文書のページごとに分割インデックスに登録し、重複する単語が得られた場合には、その単語の出現数をインクリメントして登録する。従って、分割インデックスには、各文書のページごとに、単語と出現数が対となって登録される。
【００２６】
次に、インデックス登録部１２０は、インデックスをマージし、登録する（ステップＳ１０７、Ｓ１０８）。具体的には、インデックス登録部１２０は、例えば、図３に示したように、分割インデックスを最終的に検索で利用する構造（インデックス構造１２１）に変更する。インデックス構造１２１は、文章の分割により得られた単語ごとの出現頻度が各文書のページごとに関連付けられたものである。インデックス構造１２１は、例えば、文章の分割により得られた単語（単語１２１Ａ）、その単語を含む文書の識別子（ファイルナンバー１２１Ｂ）、その単語を含むページの識別子（ページナンバー１２１Ｃ）、および、その単語の、１ページ内での出現数（出現頻度１２１Ｄ）を対とした構造である。インデックス登録部１２０は、例えば、図４に示したように、文章の分割により得られた単語ごと、および各文書のページごとにインデックス構造１２１を作成し、インデックス１３０に登録する。
【００２７】
検索条件入力部１４０は、ユーザが入力した検索条件を受け付けるものである。検索条件入力部１４０は、例えば、キーボード、マウス、タッチパネル、マイクなどのデータ入力装置であってもよいし、例えば、ユーザが入力した検索条件をネットワーク経由で受信する通信装置であってもよい。
【００２８】
図５は、検索部１５０の機能ブロックの一例を表したものである。検索部１５０は、検索条件入力部１４０から入力された検索条件に合う文書を、インデックス１３０に基づいて、文書格納部１１０内の検索対象の文書群から抽出するものである。検索部１５０は、ハードウェア（アプリケーション回路）で構成されていてもよいし、または、プログラム（ソフトウェア）のロードされた演算装置で構成されていてもよい。
【００２９】
検索部１５０は、まず、検索条件入力部１４０から与えられた検索条件を解析し、この検索条件に含まれる検索語（キーワード）を抽出する（ステップＳ２０１）。このとき、検索条件には、１つの検索語しか含まれていない場合もあるが、複数の検索語が含まれていることが一般的である。以下の説明では、検索条件に、複数の検索語が含まれているものとする。例えば、入力された検索条件が「キーワード  ケンサク」となっていた場合には、検索部１５０は、図６に示したように、「キーワード」、「ケンサク」の２語を検索語として抽出する。
【００３０】
次に、検索部１５０は、取得した各検索語に対して、ｎ文字分割を実施する（ステップＳ２０２）。具体的には、検索部１５０は、取得した各検索語をｎ文字単位で切り出す。このとき、切り出す文字数（ｎ）は、インデックス１３０作成時に実施したｎ文字分割の切り出し文字数（ｎ）と同じである。例えば、図６に示したように、「キーワード」は、文字数ｍが５、切り出す文字数（ｎ）が２、切り出す回数Ｎがｍ−（ｎ−１）＝５−（２−１）＝４であることから、検索部１５０は、「キーワード」を「キー」，［ーワ］，「ワー」，［ード］という４個の単語に分割する。また、例えば、図６に示したように、「ケンサク」は、文字数ｍが４、切り出す文字数（ｎ）が２、切り出す回数Ｎがｍ−（ｎ−１）＝４−（２−１）＝３であることから、検索部１５０は、「ケンサク」を「ケン」，［ンサ］，「サク］という３個の単語に分割する。
【００３１】
次に、検索部１５０は、インデックス１３０を利用して、各検索語の出現頻度を、インデックス１３０に登録された文書ごとに計算する（ステップＳ２０３）。具体的には、検索部１５０は、まず、インデックス１３０を利用して、各検索語の分割により得られた単語ごとの出現頻度を、インデックス１３０に登録された各文書のページごとに抽出する。例えば、図６に示したように、検索部１５０は、「キー」の出現頻度として、ファイルナンバー５のページ１において１０を取得し、ファイルナンバー８のページ６において４を取得する。
【００３２】
次に、検索部１５０は、各文書のページごとの抽出により得られた単語ごとの出現頻度を利用して、各検索語の出現頻度を計算する（見積もる）。例えば、図６に示したように、ファイルナンバー５のページ１において、「キー」の出現頻度が１０、「ーワ」の出現頻度が５、「ワー」の出現頻度が８、「ード」の出現頻度が２となっていることから、検索部１５０は、これらの最小値である２をファイルナンバー５（またはファイルナンバー５のページ１）における「キーワード」の出現頻度（ｆ５（キーワード））とする。同様の方法を用いることで、検索部１５０は、１をファイルナンバー８における「キーワード」の出現頻度（ｆ８（キーワード））とする。同様に、検索部１５０は、１３をファイルナンバー５における「ケンサク」の出現頻度（ｆ５（ケンサク））とし、１６をファイルナンバー８における「ケンサク」の出現頻度（ｆ８（ケンサク））とする。
【００３３】
次に、検索部１５０は、インデックス１３０を利用して、各検索語の汎用度を計算する（ステップＳ２０４）。ここで、汎用度とは、文書格納部１１０内の検索対象の文書群における分布の度合いを意味している。汎用度は、文書格納部１１０内の検索対象の文書群のうち、検索語が含まれる文書の数（いわゆるヒット数）または割合に相当する概念である。汎用度の大きな語は、文書格納部１１０内の検索対象の文書群に広く分布している語であり、検索時の絞込みに十分な効果の無い語である。
【００３４】
ここで、各検索語の汎用度を計算する意義について説明する。一般的な検索システムでは、入力された検索語を多く含む文書が上位に表示される「キーワード順」が適用されている。しかし、そのような検索システムでは、入力された検索語に、汎用語と非汎用語とが含まれている場合には、汎用語を多く含む文書が上位に表示され、非汎用語を含む文書が下位に表示される。このとき、ユーザが真に必要とする文書は、非汎用語を多く含む文書であると思われるが、上記の検索システムでは、そのような文書は汎用語に邪魔されて下位に埋没してしまう。このことから、検索結果の表示に際して、検索語の汎用度を考慮することが、ユーザが真に欲する文書を上位に表示する上で特に重要であることがわかる。
【００３５】
汎用度は、例えば、文書格納部１１０内の検索対象の文書群において、検索語が含まれる文書を検索することよって得られたヒット数であってもよいし、検索語の出現頻度が１以上となる文書の数であってもよい。汎用度として、検索語の出現頻度が１以上となる文書の数を適用する場合には、検索部１５０は、各検索語の出現頻度を計算する際に、出現頻度が１以上となる文書の数をカウントしておき、その結果得られたカウント数を汎用度として用いることが可能である。つまり、汎用度として、検索語の出現頻度が１以上となる文書の数を適用した場合には、検索部１５０は、各検索語の汎用度を計算するために、文書格納部１１０内の検索対象の文書群全体をわざわざ検索する必要がない。
【００３６】
次に、検索部１５０は、文書の重み付けを行う（ステップＳ２０５）。具体的には、検索部１５０は、まず、各検索語を含む文書をリストアップする。例えば、検索部１５０は、検索語の出現頻度が１以上となる文書（もしくはその文書の識別子）、または、出現頻度が１以上となる文書（もしくはその文書の識別子）をリストアップする。次に、検索部１５０は、各検索語の出現頻度および汎用度を利用して、リストアップされた各文書の、検索語ごとの重みを計算する。
【００３７】
各検索語の出現頻度をｆｄ（ｋｅｙ）とし、各検索語の汎用度をＶ（ｋｅｙ）とし、文書格納部１１０内の検索対象の文書群の文書数をＭとすると、検索部１５０は、リストアップされた各文書の、検索語ごとの重みを、例えば、図６に示したように、ｆｄ（ｋｅｙ）×Ｍ／Ｖ（ｋｅｙ）を用いて求める。さらに、検索部１５０は、リストアップされた各文書の重みＣｏｓｔ（ｄ）を、例えば、図６に示したように、Σ（ｆｄ（ｋｅｙ）×Ｍ／Ｖ（ｋｅｙ））を用いて求める。なお、式中のｄは、ファイルナンバーである。例えば、図６に示したように、検索部１５０は、上記の式を用いることにより、ファイルナンバー５の重みＣｏｓｔ（５）として２７．６を取得し、ファイルナンバー８の重みＣｏｓｔ（８）として２５．２を取得する。つまり、図６の例では、「キーワード」「ケンサク」において、ファイルナンバー５の重みＣｏｓｔ（５）は、ファイルナンバー８の重みＣｏｓｔ（８）よりも大きくなっている。
【００３８】
ここで、図６に示したように、「ケンサク」の出現頻度は「キーワード」の出現頻度よりも一桁も大きくなっている。そのため、一般的な「ランキング順」とした場合には、ファイルナンバー８の評価値は、ファイルナンバー５の評価値よりも大きくなるはずである。従って、この場合には、「ケンサク」の出現頻度の大きな文書（ファイルナンバー８の文書）が上位に表示され、「キーワード」の出現頻度の大きな文書（ファイルナンバー５の文書）が下位に表示される。一方、図６の例では、ファイルナンバー５の重みＣｏｓｔ（５）が、ファイルナンバー８の重みＣｏｓｔ（８）よりも大きくなっている。そのため、図６の例では、「キーワード」の出現頻度の大きな文書（ファイルナンバー５の文書）が上位に表示され、「ケンサク」の出現頻度の大きな文書（ファイルナンバー８の文書）が下位に表示される。このように、汎用度を用いることにより、汎用語に邪魔されて下位に埋没してしまうような文書を、上位に表示することが可能となる。
【００３９】
マージ部１６０は、検索部１５０で得られたＣｏｓｔ（ｄ）を利用して、各文書のランキングを決定するものである。マージ部１６０は、ハードウェア（アプリケーション回路）で構成されていてもよいし、または、プログラム（ソフトウェア）のロードされた演算装置で構成されていてもよい。マージ部１６０は、Ｃｏｓｔ（ｄ）の大きな文書から順にソートするようになっている。このとき、マージ部１６０は、ソートされた各文書についての所定の情報や、ヒット件数などを収集する。マージ部１６０は、例えば、ソートされた各文書のファイル名、作成日、検索語が含まれるページを含む複数ページのレイアウト情報（例えば画像データ）、トップページ（１ページ目）のレイアウト情報（例えば画像データ）、ヒット件数を取得する。このとき、マージ部１６０は、検索語の出現頻度が最大となるページを含む複数ページのレイアウト情報（例えば画像データ）を取得することが好ましい。
【００４０】
マージ部１６０は、必要に応じて、ソート情報（文書の並び順についての情報）と、収集した情報（ファイル名等）とを所定の記憶領域に格納する。ここで、所定の記憶領域とは、検索結果表示部１７０が検索結果をディスプレイに表示させる際にアクセスする領域を指している。なお、マージ部１６０は、必要に応じて、ソート情報と、収集した情報とを直接、検索結果表示部１７０に渡してもよい。
【００４１】
検索結果表示部１７０は、マージ部１６０で決定されたランキングに従って、各文書を画面に表示させるものである。検索結果表示部１７０は、ハードウェア（アプリケーション回路）で構成されていてもよいし、または、プログラム（ソフトウェア）のロードされた演算装置で構成されていてもよい。検索結果表示部１７０は、まず、例えば、所定の記憶領域に格納された情報（ソート情報等）を取得する。なお、検索結果表示部１７０は、所定の記憶領域に格納された情報（ソート情報等）を収集する代わりに、マージ部１６０から直接、ソート情報等を取得してもよい。検索結果表示部１７０は、例えば、ウェブブラウザからなる。次に、検索結果表示部１７０は、取得した情報に基づいて、各文書を画面に表示させる。
【００４２】
図７、図８、図９は、検索結果表示部１７０が画面に表示させた検索結果のレイアウトの一例を表したものである。例えば、画面の上部に、検索窓１７１および検索ボタン１７２が配置されており、画面の左脇に、表示形態を選択するボタン（ファイル１７３、ページ１７４、サムネイル１７５）が配置されている。さらに、画面の中央に、ソート情報に基づいて、ファイル名、作成日、および１または複数ページのレイアウト情報（例えば画像データ）が配置されている。
【００４３】
検索結果表示部１７０は、例えば、図７に示したように、検索語が含まれるページを含む複数ページのレイアウト情報（例えば画像データ）を文書ごとに、横一列に配列させる。このように、検索結果を表示する際に、ファイル名や作成日だけでなく、ページのレイアウトを表示することにより、ユーザは、ページのレイアウトを見ながら文書を探すことができる。さらに、複数ページのレイアウトを画面内に一挙に表示することにより、ユーザは、複数ページのレイアウトを一度に見渡すことができるので、検索語を含む文章の周辺にある非文字情報（例えば図や表、式、写真など）を手がかりに、所望の文書を探し出すことも可能となる。例えば、「３ページ目あたりに図が入っている文章を探したい」といった場合に、ユーザは、図の周辺に書かれていると予測される単語を検索語として入力することで、所望の文書を探し出すことも可能となる。
【００４４】
また、検索結果表示部１７０は、例えば、図８に示したように、検索語が含まれるページのレイアウト情報（例えば画像データ）を文書ごとに、１ページずつ表示させる。このとき、検索結果表示部１７０は、検索語の出現頻度が最大となるページのレイアウト情報（例えば画像データ）を文書ごとに、１ページずつ表示させていることが好ましい。ページのレイアウトを文書ごとに１ページずつ表示するようにした場合にも、ユーザは、ページのレイアウトを見ながら文書を探すことができる。従って、上記の場合よりは一度に見ることのできるページ数が少ないものの、検索語を含む文章の周辺にある非文字情報（例えば図や表、式、写真など）を手がかりに、所望の文書を探し出すことが可能となる。
【００４５】
また、検索結果表示部１７０は、例えば、図９に示したように、検索語が含まれる文書のトップページのレイアウト情報（例えば画像データ）を文書ごとに、１ページずつ表示させる。この場合には、ユーザは、非常に多くの文書のトップページのレイアウトを一度に見渡すことができるので、たくさんのトップページを見ながら文書を探すことができる。
【００４６】
ところで、検索結果表示部１７０は、検索語が含まれるページと、検索語が含まれないページのレイアウトを同時に画面に表示する際には、検索語が含まれるページと、検索語が含まれないページとを視覚的に区別できるようにしてもよい。例えば、図７に示したように、検索結果表示部１７０は、検索語が含まれるページの縁１７６をハイライト表示してもよい。また、検索結果表示部１７０は、検索結果として表示させた文書を選択的に取り出し、それを別個に保存するようにしてもよい。例えば、図７、図８、図９に示したように、検索結果として表示させた各文書の脇に、取り出し用のアイコン１７７を表示させ、そのアイコン１７７がユーザによって選択されたときに、そのアイコン１７７に対応する文書を別個に保存するようにしてもよい。
【００４７】
［効果］
次に、本実施の形態の文書検索システム１００の効果について説明する。
【００４８】
本実施の形態では、検索対象の文書群から得られたｎ文字単位の単語ごとの出現頻度がページごとに登録されたインデックス１３０を利用して、各検索語の汎用度が計算される。このように、本実施の形態では、各検索語の汎用度が導出されるので、汎用度を考慮したランキング表示が可能になる。また、各検索語の汎用度が計算により導出されるので、ユーザが、検索条件として入力する言葉が汎用語であるか否かを気にする必要がなくなる。また、本実施の形態では、インデックス１３０を利用して、文書よりも小さな形式区切りであるページごとに各検索語の出現頻度が計算される。これにより、単に網羅的な記載がなされているだけで、検索語同士が関連し合っていない文書が上位にランキングされるのを防ぐことができる。従って、汎用語の影響を低減するとともに、検索語同士が関連し合った文章を含む文書を上位に表示することができる。
【００４９】
また、本実施の形態では、ページ単位で検索が行われているので、ファイルサイズや記載幅の広さが文書の優位に影響を与えることがなくなる。さらに、複数の検索語を用いた場合に、１ページ内に全ての検索語が分布しているときには、検索語の文書内での位置を把握していなくても、そのページでは、検索語同士が関連し合っている可能性が極めて高いと考えられる。従って、ページ単位で検索を行うことにより、検索語の文書内での位置を考慮した検索と同等の結果を得ることができる。さらに、ページ単位で検索を行う場合には、そもそも、検索語の文書内での位置情報は必要く、それゆえ、検索時にｇｒｅｐ型の検索を実行する必要もない。従って、高速検索を行うことが可能である。
【００５０】
また、本実施の形態において、図７の例では、検索語が含まれるページを含む複数ページのレイアウト情報（例えば画像データ）が文書ごとに、横一列に配列されている。これにより、ユーザは、ページのレイアウトを見ながら文書を探すことができる。さらに、複数ページのレイアウトを一挙に表示することにより、ユーザは、複数ページのレイアウトを一度に見渡すことができるので、検索語を含む文章の周辺にある非文字情報（例えば図や表、式、写真など）を手がかりに、所望の文書を探し出すことも可能となる。
【００５１】
＜２．変形例＞
［第１変形例］
上記実施の形態では、ｎ文字分割における分割の単位（ｎ文字単位）が、２文字であったが、１文字であってもよいし、３文字以上であってもよい。ただし、ｎ文字単位があまり大きくなると、ｎ文字単位が検索語の文字数と同一となったり、検索語の文字数よりも大きくなってしまったりすることもあるので、ｎ文字単位は検索語の文字数の統計的な平均値と同等か、それよりも小さいことが好ましい。例えば、日本語の文字数の統計的な平均値は２．３文字であるので、検索語として日本語が用いられる場合には、ｎ文字単位は２文字または３文字であることが好ましい。さらに、例えば、日本語の検索精度をより高めたい場合には、ｎ文字単位が、日本語の文字数の統計的な平均値に近い２文字および３文字だけでなく、１文字も含んでいることが好ましい。また、例えば、英語の文字数の統計的な平均値は５文字であるので、検索語として英語が用いられる場合には、ｎ文字単位は５文字であることが好ましい。
【００５２】
［第２変形例］
また、上記実施の形態および第１変形例では、ｎ文字分割における分割の単位（ｎ文字単位）が１種類となっていたが、複数種類であってもよい。図１０は、ｎ文字単位が複数種類となっているときの文書検索システム１００の一例を表したものである。例えば、図１０に示したように、ｎ文字単位が、ｋ１文字単位（ｋ１≧１）、ｋ２文字単位（ｋ２＞ｋ１）、およびｋ３文字単位（ｋ３＞ｋ２）の３種類となっていてもよい。
【００５３】
このとき、インデックス登録部１２０は、ページ分割Ｓ１０４からインデックスのマージＳ１０７までの手順を文字単位の種類ごとに行うことが必要となる。例えば、図１１の例では、インデックス登録部１２０は、ページ分割Ｓ１０４からインデックスのマージＳ１０７までの手順を、ｋ１字単位、ｋ２文字単位およびｋ３文字単位ごとに行う。さらに、インデックス登録部１２０は、文字単位の種類ごとにインデックスを登録することが必要となる。例えば、図１１の例では、インデックス登録部１２０は、ｋ１字単位、ｋ２文字単位およびｋ３文字単位ごとに、インデックスを登録する。従って、インデックス１３０は、文字単位ごとに存在することなる。例えば、図１１の例では、インデックス１３０は、ｋ１字単位、ｋ２文字単位およびｋ３文字単位ごとに存在する。
【００５４】
さらに、検索部１５０は、ｎ文字分割Ｓ２０２から文書の重み付けＳ２０５までの手順を文字単位の種類ごとに行うことが必要となる。例えば、図１２の例では、検索部１５０は、ｎ文字分割Ｓ２０２から文書の重み付けＳ２０５までの手順をｋ１字単位、ｋ２文字単位およびｋ３文字単位ごとに行う。マージ部１６０は、各文字単位での文書の重み付けの中から、最も適切な重み付けを選択する。
【００５５】
なお、ｎ文字単位は、入力され得る検索語の言語の文字数の統計的な平均値に近い文字単位を含んでいることが好ましい。例えば、検索語として日本語と英語が用いられる場合、ｎ文字単位が、日本語の文字数の統計的な平均値に近い２文字および３文字と、英語の文字数の統計的な平均値に近い５文字とを含んでいることが好ましい。さらに、例えば、日本語の検索精度をより高めたい場合には、ｎ文字単位が、１文字、２文字、３文字および５文字を含んでいることが好ましい。
【００５６】
［第３変形例］
上記実施の形態およびその変形例では、文書やインデックスなどを管理する際の形式区切りの単位をページとしていたが、本発明はそれに限定されるものではなく、例えば、段落、章、または節であってもよい。ページ、段落、章、および節は、特定の内容がまとまった領域となっており、形式的な文書構造マーカとしての役割を有している。従って、文書を、ページ、段落、章、または節で区切ることにより、文書を意味内容ごとに区切ることが可能となる。
【００５７】
文書の形式区切りとして、段落、章、または節を用いる場合には、上記実施の形態およびその変形例において「ページ」を「段落、章、または節」に読み替えればよい。例えば、上記実施の形態およびその変形例において、インデックス登録部１２０は、取得した各文書に対して、段落、章、または節の単位で分割を実施し、取得した各文書の段落、章、または節ごとに、ｎ文字分割を実施してもよい（ステップＳ１０４、Ｓ１０５）。また、例えば、上記実施の形態およびその変形例において、インデックス登録部１２０は、文章の分割により得られた単語を、各文書の段落、章、または節ごとに分割インデックスに登録するようにしてもよい。このようにした場合には、分割インデックスには、各文書の段落、章、または節ごとに、単語と出現数が対となって登録される。
【００５８】
［第４変形例］
上記実施の形態およびその変形例では、インデックス登録部１２０や検索部１５０がプログラムのロードされた演算装置で構成されている場合が例示されていたが、この場合には、文書検索システム１００は、演算装置にプログラムをロードするための仕組みを備えている。例えば、文書検索システム１００は、インデックス登録部１２０および検索部１５０が実行する内容が記述されたプログラムの記録された読み出し可能な記録媒体から、プログラムを読み出すリーダを備えていてもよい。また、例えば、文書検索システム１００は、上記のプログラムをネットワーク経由で取得する通信システムを備えていてもよい。
【００５９】
＜３．応用例＞
以下、上記実施の形態およびその変形例で説明した文書検索システム１００の応用例について説明する。文書検索システム１００は、図１３に示したような単独の文書検索装置２００に適用することが可能である。また、文書検索システム１００は、図１４に示したように、外部ネットワーク４００を介して端末装置３００から検索条件を文書検索装置２００に入力するシステムに対して応用することが可能である。また、図１５に示したように、外部ネットワーク４００に接続された文書記憶装置５００内の文書群の検索を、外部ネットワーク４００に接続された文書検索装置２００を用いて行うシステムに対して応用することも可能である。また、図１６に示したように、ＬＡＮ６００に接続された文書記憶装置５００内の文書群の検索を、ＬＡＮ６００に接続された文書検索装置２００を用いて行うシステムに対して応用することも可能である。
【００６０】
図１３に記載の文書検索装置２００は、上記の文書検索システム１００の機能を１つの端末装置で実現したものに相当する。文書検索装置２００は、例えば、図１３に示したように、文書検索装置２００全体を制御する制御部２１０と、制御部２１０によって利用されるデータを格納可能な記憶部２２０と、検索条件の入力を受け付ける入力部２３０と、検索結果を表示する表示部２４０とを備えている。制御部２１０、記憶部２２０、入力部２３０および表示部２４０は、例えば、共通のバス２５０に接続されている。記憶部２２０は、例えば、図１３に示したように、文書検索プログラム２２１、文書格納部２２２およびインデックス２２３を格納している。
【００６１】
文書検索プログラム２２１は、インデックス登録部１２０、検索部１５０、マージ部１６０および検索結果表示部１７０で実行される一連の手順をコンピュータに実行させるものである。文書格納部２２２は、文書格納部１１０の一態様に相当する。インデックス２２３は、インデックス１３０の一態様に相当する。文書検索プログラム２２１のロードされた制御部２１０が、インデックス登録部１２０、検索部１５０、マージ部１６０および検索結果表示部１７０の一態様に相当する。
【００６２】
図１４に記載の検索システムは、外部ネットワーク４００を介して、端末装置３００と文書検索装置２００が接続されたものである。図１４の文書検索装置２００は、図１３の文書検索装置２００において、表示部２４０が省略され、さらに、入力部２３０の代わりに通信部２６０が設けられたものに相当する。通信部２６０は、文書検索装置２００が外部ネットワーク４００を介して端末装置３００と通信することを可能にする装置である。
【００６３】
端末装置３００は、検索条件の入力を受け付け、受け付けた検索条件を外部ネットワーク４００を介して文書検索装置２００に渡し、検索結果をユーザに提示する装置である。端末装置３００は、例えば、図１４に示したように、端末装置３００全体を制御する制御部３１０と、制御部３１０によって利用されるデータを格納可能な記憶部３２０と、検索条件の入力を受け付ける入力部３３０と、検索結果を表示する表示部３４０と、外部ネットワーク４００を介して文書検索装置２００と通信する通信部３５０とを備えている。制御部３１０、記憶部３２０、入力部３３０、表示部３４０および通信部３５０は、例えば、共通のバス３６０に接続されている。記憶部２２０は、例えば、図示しないが、検索結果表示部１７０で実行される一連の手順をコンピュータに実行させるソフトウェア（例えばウェブブラウザ）を格納している。図１４の文書検索プログラム２２１は、上述のインデックス登録部１２０、検索部１５０およびマージ部１６０で実行される一連の手順をコンピュータに実行させるものである。文書格納部２２２は、文書格納部１１０の一態様に相当する。インデックス２２３は、インデックス１３０の一態様に相当する。文書検索プログラム２２１のロードされた制御部２１０が、上述のインデックス登録部１２０、検索部１５０およびマージ部１６０の一態様に相当する。検索結果表示部１７０で実行される一連の手順をコンピュータに実行させるソフトウェアのロードされた制御部３１０が、検索結果表示部１７０の一態様に相当する。
【００６４】
図１５に記載の検索システムは、外部ネットワーク４００を介して、文書検索装置２００と文書記憶装置５００が接続されたものである。図１５の文書検索装置２００は、図１３の文書検索装置２００において、文書格納部２２２が省略され、さらに、通信部２６０が設けられたものに相当する。通信部２６０は、文書検索装置２００が外部ネットワーク４００を介して文書記憶装置５００と通信することを可能にする装置である。
【００６５】
文書記憶装置５００は、ネットワーク経由でアクセスする記憶装置である。文書記憶装置５００は、例えば、図１５に示したように、文書記憶装置５００全体を制御する制御部５１０と、制御部５１０によって利用されるデータを格納可能な記憶部５２０と、外部ネットワーク４００を介して文書検索装置２００と通信する通信部３５０とを備えている。
【００６６】
図１６に記載の検索システムは、ＬＡＮ６００を介して、文書検索装置２００と文書記憶装置５００が接続されたものである。図１６の文書検索装置２００は、図１５の文書検索装置２００において、通信部２６０の代わりに通信部２７０が設けられたものに相当する。通信部２７０は、文書検索装置２００がＬＡＮ６００を介して文書記憶装置５００と通信することを可能にする装置である。
【００６７】
図１６の文書記憶装置５００は、図１５の文書記憶装置５００において、通信部５３０の代わりに通信部５５０が設けられたものに相当する。通信部５５０は、文書記憶装置５００がＬＡＮ６００を介して文書検索装置２００と通信することを可能にする装置である。
【００６８】
以上のように、文書検索システム１００は、様々な態様の検索システムに応用可能である。
【符号の説明】
【００６９】
１００…文書検索システム、１１０…文書格納部、１２０…インデックス登録部、１２１…インデックス構造、１２１Ａ…単語、１２１Ｂ…ファイルナンバー、１２１Ｃ…ページナンバー、１２１Ｄ…出現頻度、１３０…インデックス、１４０…検索条件入力部、１５０…検索部、１６０…マージ部、１７０…検索結果表示部、１７１…検索窓、１７２…検索ボタン、１７３…ファイル、１７４…ページ、１７５…サムネイル、１７６…縁、１７７…アイコン、２００…文書検索装置、２１０，３１０，５１０…制御部、２２０，３２０，５２０…記憶部、２２１…文書検索プログラム、２２２…文書格納部、２２３…インデックス、２３０，３３０…入力部、２４０，３４０…表示部、２５０，３６０，５４０…バス、２６０，２７０，３５０，５３０，５５０…通信部、３００…端末装置、５００…文書記憶装置、６００…ＬＡＮ。
【図１】
0005802924.tif 000002
【図２】
0005802924.tif 000003
【図３】
0005802924.tif 000004
【図４】
0005802924.tif 000005
【図５】
0005802924.tif 000006
【図６】
0005802924.tif 000007
【図７】
0005802924.tif 000008
【図８】
0005802924.tif 000009
【図９】
0005802924.tif 000010
【図１０】
0005802924.tif 000011
【図１１】
0005802924.tif 000012
【図１２】
0005802924.tif 000013
【図１３】
0005802924.tif 000014
【図１４】
0005802924.tif 000015
【図１５】
0005802924.tif 000016
【図１６】
0005802924.tif 000017