(57)【要約】【課題】検索精度をある程度確保しながら、全文検索の高速化を図る。【解決手段】検索結果数近似度判定部１８３は、Ｎグラム検索エンジン１３によって取得される、Ｎグラムインデックスによる一次検索のヒット件数と、形態素検索エンジン１６によって取得される、前記形態素インデックスによる形態素検索のヒット件数との近似度を判定する。全文検索実行制御機構１８は、上記一次検索のヒット件数と上記形態素検索のヒット件数とが近似していると検索結果数近似度判定部１８３によって判定された場合、Ｎグラムインデックスによる二次検索が省略されるようにＮグラム検索エンジン１３を制御する。この場合、全文検索実行制御機構１８は、一次検索の結果または形態素検索の結果を検索結果として採用する。【選択図】      図１
2006099427.tif 000002
【特許請求の範囲】
【請求項１】
Ｎグラムインデックスによる検索を一次検索と当該一次検索結果に対する二次検索とにより実行する第１の検索手段と、検索条件文を形態素解析する形態素解析手段と、前記形態素解析手段による形態素解析結果に基づいて形態素インデックスによる形態素検索を実行する第２の検索手段とを備えた全文検索システムにおいて、
前記Ｎグラムインデックスによる一次検索のヒット件数と前記形態素インデックスによる形態素検索のヒット件数との近似度を判定する近似度判定手段と、
前記Ｎグラムインデックスによる一次検索のヒット件数と前記形態素インデックスによる形態素検索のヒット件数とが近似していると前記近似度判定手段によって判定された場合、前記Ｎグラムインデックスによる二次検索が省略されるように前記第１の検索手段を制御して、前記一次検索の結果または前記形態素検索の結果を検索結果として採用する全文検索実行制御手段と
を具備することを特徴とする全文検索システム。
【請求項２】
前記形態素解析手段による形態素解析結果に基づいて前記検索条件文が形態素検索可能な単語に分割できたかを判定する形態素解析結果判定手段を更に具備し、
前記全文検索実行制御手段は、前記検索条件文が形態素検索可能な単語に分割できたと前記形態素解析結果判定手段によって判定された場合に限り、前記形態素インデックスによる形態素検索が実行されるように前記第２の検索手段を制御することを特徴とする請求項１記載の全文検索システム。
【請求項３】
前記全文検索実行制御手段は、前記形態素解析手段の解析結果によって示される前記検索条件文が分割された単語数と基準の単語数とに基づいて、前記一次検索の結果または前記形態素検索の結果のいずれを検索結果として採用するかを決定することを特徴とする請求項１記載の全文検索システム。
【請求項４】
前記基準の単語数をユーザにより指定可能とするためのユーザインタフェースを更に具備することを特徴とする請求項３記載の全文検索システム。
【請求項５】
前記Ｎグラムインデックスによる一次検索のヒット件数を基準のヒット件数と比較することにより前記一次検索のヒット件数が多いか或は少ないかを判定する一次検索結果数判定手段を更に具備し、
前記全文検索実行制御手段は、前記一次検索のヒット件数が少ないと前記一次検索結果数判定手段によって判定された場合に、前記Ｎグラムインデックスによる二次検索が実行されるように前記第１の検索手段を制御して、前記二次検索の結果を検索結果として採用することを特徴とする請求項１記載の全文検索システム。
【請求項６】
前記基準のヒット件数をユーザにより指定可能とするためのユーザインタフェースを更に具備することを特徴とする請求項５記載の全文検索システム。
【請求項７】
前記近似度判定手段による判定の基準となる近似度をユーザにより指定可能とするためのユーザインタフェースを更に具備することを特徴とする請求項１記載の全文検索システム。
【請求項８】
いかなる場合も前記Ｎグラムインデックスによる二次検索まで行う標準検索、または前記近似度判定手段による判定結果に基づいて前記Ｎグラムインデックスによる二次検索が省略される可能性のある高速検索のいずれか一方をユーザにより指定可能とするためのユーザインタフェースを更に具備することを特徴とする請求項１記載の全文検索システム。
【請求項９】
全文検索実行制御手段は、前記Ｎグラムインデックスによる一次検索と前記形態素インデックスによる形態素検索とが並列に実行されるように、前記第１の検索手段と前記第２の検索手段とをそれぞれ制御することを特徴とする請求項１記載の全文検索システム。
【請求項１０】
Ｎグラムインデックスによる検索を一次検索と当該一次検索結果に対する二次検索とにより実行する第１の検索手段と、検索条件文を形態素解析する形態素解析手段と、前記形態素解析手段による形態素解析結果に基づいて形態素インデックスによる形態素検索を実行する第２の検索手段とを備えたシステムに適用される全文検索方法において、
前記Ｎグラムインデックスによる一次検索のヒット件数と前記形態素インデックスによる形態素検索のヒット件数との近似度を判定するステップと、
前記Ｎグラムインデックスによる一次検索のヒット件数と前記形態素インデックスによる形態素検索のヒット件数とが近似していると判定された場合、前記Ｎグラムインデックスによる二次検索が省略されるように前記第１の検索手段を制御するステップと、
前記Ｎグラムインデックスによる二次検索が省略された場合、前記一次検索の結果または前記形態素検索の結果を検索結果として採用するステップと
を具備することを特徴とする全文検索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子化された膨大な文書情報の中から、指定された検索条件に合致する文書を全文検索技術により高速に検索するのに好適な全文検索システム及び方法に関する。
【背景技術】
【０００２】
電子化された膨大な文書情報の中から、指定された検索条件に合致する文書を検索する検索システムが従来から種々開発されている。この種の検索システムで適用される文書検索の代表的な検索手法として、全文検索（フルテキスト検索）に用いられるＮグラム（N-gram）インデックスによる検索手法、或は自然言語検索（概念検索）に用いられる形態素による検索手法が知られている。これらの検索手法の概要は次の通りである。
【０００３】
［Ｎグラムインデックスによる検索手法］
文書中に現れるすべての文字を予め定められた長さＮの連続する文字列（グラム）としてインデックスに登録する。検索時にも同様に検索の対象となる検索文字列（検索単語）を長さＮとなる文字列（グラム）に分割し、インデックスから同じ文字列の出現情報を得ることで検索を行う。
【０００４】
Ｎグラムインデックスによる検索では、まず、検索単語から分割された長さＮの文字列に一致する文字列の有無（つまりヒットの有無）のみで候補文書を選別する一次検索が行われる。その後、語の隣接関係を調べることで、検索単語が含まれる文書に絞り込む二次検索が行われる。このように、Ｎグラムインデックスによる検索では、一次検索と二次検索との２段階の検索により、漏れのない全文検索が実現される。
【０００５】
一次検索の検索精度を上げるには、ＮグラムのＮ値を大きくすれば良いことが知られている。しかし、Ｎ値を大きくすると、インデックスが極端に大きくなるため、検索に多大な時間を要する虞がある。一方、Ｎ値を小さくすると検索ノイズが増して、検索精度が低下する。二次検索はヒットしたすべての文書を対象とするため、ヒット件数が多いほど（実際のノイズの多少に拘わらずに）効率が悪くなる。
【０００６】
［形態素インデックスによる検索手法］
文書を解析して、当該文書から意味のある最小の言語単位（形態素）の範囲で、索引付けする形態素（単語）を抽出し、抽出された形態素毎に文書情報を割り当てインデックスに登録する。検索時も同様に検索文字列を形態素に分割し、同じ形態素に一致する文書情報を得ることで検索を行う。
【０００７】
形態素インデックスによる検索では、形態素同士で重なる部分が無いため、インデックスのサイズは小さく、また高速検索が可能である。但し、対象文書と検索条件の形態素結果が一致していない場合には検索漏れが生じる。
【０００８】
このように、Ｎグラムインデックスによる検索では検索漏れはなく、一時検索は高速であるが、ノイズを除去するための二次検索が遅いという問題がある。一方、形態素インデックスによる検索は、高速検索が可能であるが、検索漏れが生じる問題がある。つまり、全文検索（フルテキスト検索）に用いられるＮグラムインデックスによる検索手法と、自然言語検索（概念検索）に用いられる形態素インデックスによる検索手法とは、それぞれ一長一短がある。
【０００９】
そこで、全文検索（フルテキスト検索）と自然言語検索（概念検索）の長所を生かして、検索漏れの少ない文書検索を実現するために、全文検索と自然言語検索との２種の検索を実行し、両検索結果をマージする文書検索手法が提案されている（例えば、特許文献１参照）。この特許文献１に記載の文書検索技術（以下、第１の先行技術と称する）では、全文検索の検索結果の中から、自然言語検索により検索結果を絞り込むことにより、指定されたテキストを含む検索対象から質問文に近い文書を検索する技術、或は自然言語検索の検索結果の中から、全文検索により検索結果を絞り込むことにより、大まかに自然言語検索をして得られた検索結果の中から、指定されたテキストを含む文書を検索する技術が適用される。
【００１０】
このように第１の先行技術は、全文検索と自然言語検索をそれぞれ独立したものとして扱い、両検索結果をマージするものである。具体的には、全文検索及び自然言語検索の一方による検索結果の中から、全文検索及び自然言語検索の他方により検索結果を絞り込むものである。したがって第１の先行技術においては、全文検索と自然言語検索とが必ず実行される。ところが、全文検索は自然言語検索に比べて低速である。このため、全文検索にＮグラムインデックスによる検索手法を適用する場合であれば、当該全文検索に、Ｎグラムインデックスでのトータルの検索実行時間（一次検索時間＋二次検索時間）を要する。つまり、第１の先行技術は、全文検索の欠点を解消して当該全文検索そのものを高速化するための仕組みを有していない。このため第１の先行技術は、検索ヒット件数が多い場合に問題となる。
【００１１】
また、「検索式」を前もって評価し、検索式が「キーワード型（全文検索）」であればＮグラムインデックスによる全文検索を用い、「自然言語型（概念検索）」であれば形態素インデックスによる検索を用いる文書検索手法も提案されている（例えば、特許文献２参照）。
【００１２】
この特許文献２に記載された文書検索技術（以下、第２の先行技術と称する）では、「キーワード型」と判定されれば、検索処理に、Ｎグラムインデックスでのトータル検索実行時間（一次検索、二次検索）は要することとなり、第１の先行技術と同様に、全文検索そのものを高速化することにはつながらない。
【特許文献１】特開２００１−９２８３１号公報（段落０００５乃至００１０、図５）
【特許文献２】特開２００３−３０８３３５号公報（段落００１１）
【発明の開示】
【発明が解決しようとする課題】
【００１３】
上記した第１の先行技術においては、全文検索が必ず実行される。また、上記第２の先行技術においても、検索式が「キーワード型（全文検索）」であればＮグラムインデックスによる全文検索が実行される。このＮグラムインデックスによる全文検索には、多大な時間を要する。しかし、第１及び第２の先行技術のいずれも、全文検索そのものを高速化するための仕組みを有していない。
【００１４】
本発明は上記事情を考慮してなされたものでその目的は、Ｎグラムインデックスによる一次検索と形態素インデックスによる検索とを行い、両検索結果が近似している場合にＮグラムインデックスによる二次検索を省くことで、検索精度をある程度確保しながら、全文検索を高速に実行できる全文検索システム及び方法を提供することにある。
【課題を解決するための手段】
【００１５】
本発明の１つの観点によれば、Ｎグラムインデックスによる検索を一次検索と当該一次検索結果に対する二次検索とにより実行する第１の検索手段と、検索条件文を形態素解析する形態素解析手段と、この形態素解析手段による形態素解析結果に基づいて形態素インデックスによる形態素検索を実行する第２の検索手段とを備えた全文検索システムが提供される。このシステムは、上記Ｎグラムインデックスによる一次検索のヒット件数と上記形態素インデックスによる形態素検索のヒット件数との近似度を判定する近似度判定手段と、上記Ｎグラムインデックスによる一次検索のヒット件数と上記形態素インデックスによる形態素検索のヒット件数とが近似していると上記近似度判定手段によって判定された場合、上記Ｎグラムインデックスによる二次検索が省略されるように上記第１の検索手段を制御して、上記一次検索の結果または上記形態素検索の結果を検索結果として採用する全文検索実行制御手段とを備える。
【００１６】
上記の構成においては、形態素インデックスによる検索の結果であるヒット件数を評価値として用い、当該形態素インデックスによる検索のヒット件数とＮグラムインデックスによる一次検索のヒット件数とが近似している場合に、Ｎグラムによる二次検索を省くことで、ある程度の検索精度を確保しながら、高速検索を実現することができる。
【００１７】
ここで、形態素解析手段による形態素解析結果に基づいて上記検索条件文が形態素検索可能な単語に分割できたかを判定する形態素解析結果判定手段を追加し、検索条件文が形態素検索可能な単語に分割できたと判定された場合に限り、上記形態素インデックスによる形態素検索が実行されるように上記全文検索実行制御手段が上記第２の検索手段を制御する構成とすると良い。
【００１８】
検索条件文が形態素検索可能な単語に分割できたということは、形態素解析結果と形態素インデックスに含まれる形態素との単語の分割のされ方が多くの場合同じであることが予想される。したがって、このときの形態素解析結果を用いて形態素インデックスによる形態素検索が行われた場合、評価値としての形態素インデックス検索結果（ヒット件数）の精度（信頼性）、つまり近似度判定手段による近似度判定の精度（信頼性）を、ある程度保証することができる。
【００１９】
また、上記一次検索の結果または上記形態素検索の結果のいずれを検索結果として採用するかが、上記形態素解析手段の解析結果の単語数（検索条件文が分割された単語数）と基準の単語数とに基づいて決定される構成とすると良い。
【００２０】
このような構成において、形態素解析の結果の単語数が少ない（例えば１単語の）場合、形態素検索の検索漏れは殆どないことが期待されることから、形態素検索の結果の方が一次検索の結果よりも精度がより高いと見なすことができる。したがって、形態素解析の結果の単語数と基準の単語数とに基づいて、一次検索の結果または形態素検索の結果のいずれを検索結果として採用するかを決定することにより、より精度の高い検索結果を採用することができる。
【００２１】
また、一次検索のヒット件数を基準のヒット件数と比較し、一次検索のヒット件数が基準のヒット件数よりも少ない場合には、Ｎグラムインデックスによる二次検索が実行される構成とすると良い。一次検索のヒット件数が少ない場合、二次検索を行っても検索性能に影響を与えない。したがって、一次検索のヒット件数が少ない場合には、二次検索を行うことで、検索性能に影響を及ぼすことなく、より一層精度の高い検索を実現できる。
【００２２】
ここで、上記基準の単語数をユーザにより指定可能とするためのユーザインタフェースを追加するならば、検索条件文に応じたチューニングが可能となる。また、上記基準のヒット件数をユーザにより指定可能とするためのユーザインタフェースを追加するならば、利用者の環境に応じたチューニングが可能となる。また、上記近似度判定手段による判定の基準となる近似度をユーザにより指定可能とするためのユーザインタフェースを追加するならば、検索条件文、或は検索の対象となる文書群の特徴に応じたチューニングが可能となる。
【００２３】
また、いかなる場合もＮグラムインデックスによる二次検索まで行う標準検索、または上記近似度判定手段による判定結果に基づいてＮグラムインデックスによる二次検索が省略される可能性のある高速検索のいずれか一方をユーザにより指定可能とするためのユーザインタフェースを追加すると良い。このようにすると、検索速度を優先するか、或は検索精度を優先するかに対するユーザの意志を反映することが可能となる。
【００２４】
また、Ｎグラムインデックスによる一次検索と形態素インデックスによる形態素検索とが並列に実行されるように、上記全文検索実行制御手段が上記第１の検索手段と上記第２の検索手段とをそれぞれ制御する構成とすると良い。このようにすると、より高速な検索が可能となる。
【発明の効果】
【００２５】
本発明によれば、Ｎグラムインデックスによる一次検索と形態素インデックスによる検索とを行い、両検索結果が近似している場合にＮグラムインデックスによる二次検索を省くことによって、検索精度をある程度確保しながら、全文検索を高速に実行することができる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明の一実施形態につき図面を参照して説明する。  
図１は本発明の一実施形態に係る全文検索システムの構成を示すブロック図である。この全文検索システムは、利用者の要求に応じて、Ｎグラムインデックスによる全文検索及び自然言語検索（形態素インデックスによる検索）を行うシステムである。但し、図１の全文検索システムは、一定の条件を満たした場合、全文検索の一部（Ｎグラムインデックスによる二次検索）が省略される。
【００２７】
図１の全文検索システムは、ユーザインタフェース１１と、検索実行/応答サーバ１２と、Ｎグラム検索エンジン１３と、Ｎグラムインデックスデータベース１４と、形態素解析機構１５と、形態素検索エンジン１６と、形態素インデックスデータベース１７と、全文検索実行制御機構１８とから構成される。
【００２８】
ユーザインタフェース１１は、ユーザからの検索要求を受け付けると共に検索結果をユーザに提示するインタフェース機能を有する。本実施形態において、ユーザインタフェース１１は、全文検索システムの一部を構成しているが、これに限るものではない。例えば、ユーザインタフェース１１が、図１の全文検索システムと通信回線（例えばネットワーク）を介して接続されたクライアント端末に設けられる構成であっても構わない。
【００２９】
検索実行/応答サーバ１２は、ユーザインタフェース１１により受け付けられた検索要求の示す検索条件を、Ｎグラムインデックスによる検索または形態素による検索（に必要な形態素解析）のために、Ｎグラム検索エンジン１３または形態素解析機構１５に渡す。検索実行/応答サーバ１２はまた、Ｎグラム検索エンジン１３または形態素解析機構１５による検索結果をユーザインタフェース１１によってユーザに提示させる。
【００３０】
Ｎグラム検索エンジン１３は、Ｎグラムインデックスデータベース１４に格納されているＮグラムインデックスを用いて全文検索を行う。Ｎグラム検索エンジン１３は、一次検索実行部１３１と二次検索実行部１３２とを含む。一次検索実行部１３１は、Ｎグラムインデックスによる一次検索を行う。二次検索実行部１３２は、Ｎグラムインデックスによる二次検索を行う。Ｎグラムインデックスデータベース１４に格納されるＮグラムインデックスには、検索の対象となり得る文書中に現れるすべての文字を予め定められた長さＮの連続する文字列（グラム）として、その文字列毎に、その文字列の位置情報が登録されている。
【００３１】
形態素解析機構１５は、検索条件を形態素解析する。形態素検索エンジン１６は、形態素解析機構１５による形態素解析結果に従い、形態素インデックスデータベース１７に格納されている形態素インデックスを用いて形態素検索を行う。形態素インデックスデータベースに格納される形態素インデックスには、検索の対象となり得る文書から抽出された形態素毎に割り当てられた、位置情報を含む文書情報が登録されている。
【００３２】
全文検索実行制御機構１８は、Ｎグラムインデックスを用いた全文検索を高速に実行するために、設定情報ファイル１９の設定内容に従ってＮグラム検索エンジン１３及び形態素検索エンジン１６を制御する。設定情報ファイル１９には、全文検索実行制御機構１８による全文検索の実行の制御に必要な条件等の情報が設定されている。
【００３３】
全文検索実行制御機構１８は、形態素解析結果判定部１８１と一次検索結果数判定部１８２と検索結果数近似度判定部１８３とを含む。形態素解析結果判定部１８１は、形態素解析機構１５による検索条件に対する形態素解析結果に基づいて、形態素インデックスによる検索（形態素検索）またはＮグラムインデックスによる二次検索のいずれを実行すべきかを決定する。一次検索結果数判定部１８２は、Ｎグラムインデックスによる一次検索結果に基づいて、Ｎグラムインデックスによる二次検索を実行すべきかを決定する。検索結果数近似度判定部１８３は、Ｎグラムインデックスによる一次検索結果と形態素検索結果とに基づいて、Ｎグラムインデックスによる二次検索を実行すべきかを決定する。
【００３４】
次に、図１の全文検索システムにおいて実行される高速検索モードでの全文検索処理（高速検索処理）の手順について、図２のフローチャートを参照して説明する。なお、本実施形態では、検索モードとして上記高速検索モードに加えて標準検索モードが用意され、後述するようにユーザによって選択可能なようになっている。
【００３５】
今、全文検索を希望するユーザが、クライアント端末を用いた入力操作を行うことで、当該端末から図１の全文検索システムに対して、全文検索を指定する検索要求が送られたものとする。ユーザインタフェース１１は、この検索要求を受け付けて、当該検索要求の示す検索条件を抽出する。ユーザインタフェース１１は、抽出された検索条件を検索実行/応答サーバ１２に送る。また、ユーザインタフェース１１は、検索要求の示す検索種別（例えば全文検索）を検索実行/応答サーバ１２に通知する。検索実行/応答サーバ１２は、全文検索が指定されている場合には、全文検索を実行するために、ユーザインタフェース１１から渡された検索条件をＮグラム検索エンジン１３に送る。
【００３６】
Ｎグラム検索エンジン１３内の一次検索実行部１３１は、検索実行/応答サーバ１２から送られた検索条件に従い、Ｎグラムインデックスデータベース１４に格納されているＮグラムインデックスを用いて、周知の一次検索を実行する（ステップＳ１）。一次検索実行部１３１は、一次検索結果をＮグラム検索エンジン１３内部に保持すると共に、検索でヒットした数（ヒット件数）Ｎ１を、対応する検索条件と共に全文検索実行制御機構１８へ送る。
【００３７】
全文検索実行制御機構１８内の一次検索結果数判定部１８２は、一次検索実行部１３１から送られたヒット件数Ｎ１を設定情報ファイル１９に設定されているヒット件数閾値Ｋと比較し、その大小を判定する（ステップＳ２）。もし、ヒット件数Ｎ１がＫ以下の場合は、全文検索実行制御機構１８はＮグラム検索エンジン１３に対して二次検索を要求する。Ｋは、後述するようにユーザの操作により変更（チューニング）可能である。
【００３８】
これに対し、ヒット件数Ｎ１がＫより大きい場合は、一次検索結果数判定部１８２はヒット件数Ｎ１を全文検索実行制御機構１８の内部に保持した後、検索条件を形態素解析機構１５に送る。形態素解析機構１５は、一次検索結果数判定部１８２から検索条件を受け取ると、当該検索条件を形態素解析する（ステップＳ３）。そして形態素解析機構１５は、形態素解析した結果を全文検索実行制御機構１８へ送る。
【００３９】
全文検索実行制御機構１８内の形態素解析結果判定部１８１は、形態素解析機構１５による形態素解析結果を判定する（ステップＳ４）。即ち形態素解析結果判定部１８１は、検索条件が形態素インデックスによる検索（形態素検索）が可能な単語、つまり、それ自体で意味のある単語（例えば、名詞、動詞、形容詞に代表される自立語）に分割できたかを判定する。もし、検索条件が形態素検索可能な単語に分割できなかった場合、全文検索実行制御機構１８はＮグラム検索エンジン１３に対して二次検索を要求する。
【００４０】
これに対し、検索条件が形態素検索可能な単語に分割できた場合には、形態素解析結果判定部１８１は形態素解析機構１５による形態素解析結果を形態素検索エンジン１６へ送る。形態素検索エンジン１６は、形態素解析結果判定部１８１から形態素解析結果を受け取ると、当該形態素解析結果と形態素インデックスデータベース１７とを用いて、形態素検索を行う（ステップＳ５）。そして形態素解析機構１５は、形態素検索結果を当該形態素解析機構１５内部に保持すると共に、検索でヒットした数（ヒット件数）Ｎ２を全文検索実行制御機構１８に送る。
【００４１】
全文検索実行制御機構１８内の検索結果数近似度判定部１８３は、全文検索実行制御機構１８内部に保持されているＮグラム検索エンジン１３（内の一次検索実行部１３１）による一次検索でのヒット件数Ｎ１と形態素検索エンジン１６から送られた形態素検索でのヒット件数Ｎ２とが近似している（Ｎ１≒Ｎ２）かを判定する（ステップＳ６）。ここでは、検索結果数近似度判定部１８３は、Ｎ１とＮ２との近似度（％）が、設定情報ファイル１９に設定されている近似度設定値Ｐ（％）以内であるかを判定する。本実施形態において、Ｎ１とＮ２との近似度は、｜Ｎ１−Ｎ２｜×１００％／Ｎ１または｜Ｎ１−Ｎ２｜×１００％／Ｎ２、つまりＮ１とＮ２との差分の絶対値のＮ１またはＮ２に対する割合（％）で示され、値が小さいほどＮ１とＮ２とが近似していることを表す。近似度設定値Ｐは、後述するようにユーザの操作によりチューニング可能である。
【００４２】
検索結果数近似度判定部１８３は、Ｎ１とＮ２との近似度がＰを超えている場合は、Ｎ１とＮ２とは近似していないものと判定する。この場合、全文検索実行制御機構１８はＮグラム検索エンジン１３に対して二次検索を要求する。
【００４３】
これに対し、Ｎ１とＮ２との近似度がＰ以内である場合は、検索結果数近似度判定部１８３はＮ１とＮ２とは近似しているものと判定する。この場合、全文検索実行制御機構１８は、設定情報ファイル１９に設定されている情報に従い、Ｎグラム検索優先か形態素検索優先かを決定する。Ｎグラム検索優先の場合、全文検索実行制御機構１８はＮグラム検索エンジン１３に対して内部保持してある一次検索結果を検索実行/応答サーバ１２に返答するように要求する。これに対し、形態素検索優先の場合には、全文検索実行制御機構１８は、形態素検索エンジン１６に対して内部保持してある形態素検索結果を検索実行/応答サーバ１２に返答するように要求する。つまり検索結果数近似度判定部１８３は、一次検索または形態素検索による検索結果を検索実行/応答サーバ１２に応答させる（ステップＳ７）。
【００４４】
検索実行/応答サーバ１２は、一次検索または形態素検索による検索結果を全文検索実行制御機構１８または形態素検索エンジン１６から受け取ると、その検索結果をユーザインタフェース１１（及び検索アプリケーション）を介してユーザに通知する。この検索結果には、どのような判定により検索が実行されたかを示す情報が付加されている。
【００４５】
このように本実施形態では、（ａ１）Ｎグラムによる一次検索でのヒット件数Ｎ１がＫを超えていて、且つ（ａ２）検索条件が形態素検索可能な単語に分割でき、且つ（ａ３）Ｎグラムによる一次検索でのヒット件数Ｎ１と形態素検索でのヒット件数Ｎ２とが近似している（Ｎ１≒Ｎ２の）場合には、Ｎグラムによる二次検索の実行が省略されて、検索要求に対する検索結果として、一次検索または形態素検索による検索結果が採用される。しかし、上記（ａ１），（ａ２），（ａ３）の条件のうちの（ａ３）の条件さえ満たすならば、Ｎグラムによる二次検索の実行を省略しても、ある程度の検索精度を確保し得る。そこで、少なくとも（ａ３）の条件を満たす場合に、Ｎグラムによる二次検索の実行を省略するようにしても構わない。いずれの場合にも、検索精度の低下を抑えながら、Ｎグラムによる二次検索を省くことで、全文検索の高速化を実現できる。但し、上記（ａ１）の条件を満たさない場合には、たとえＮグラムによる二次検索を行っても、性能への影響が少ないことから、二次検索を省く利点は少ない。また、上記（ａ２）の条件を満たさない場合には、（ａ３）の条件を満たすかの判定の信頼性が低下する。
【００４６】
さて、Ｎグラム検索エンジン１３内の二次検索実行部１３２は、全文検索実行制御機構１８からの二次検索要求を受けた場合のみ、Ｎグラムインデックスの一次検索結果に対して二次検索を実行する（ステップＳ８）。前記したように、本実施形態において全文検索実行制御機構１８からＮグラム検索エンジン１３に対して二次検索が要求されるのは、（ｂ１）Ｎグラムによる一次検索でのヒット件数Ｎ１がＫ以下の場合、（ｂ２）検索条件が形態素検索可能な単語に分割できなかった場合、または（ｂ３）Ｎグラムによる一次検索でのヒット件数Ｎ１と形態素検索でのヒット件数Ｎ２とが近似していない場合のいずれかである。上記（ｂ１）の場合、十分高い検索精度を確保するためにＮグラムによる二次検索を行っても、検索性能への影響が少ない。上記（ｂ２）または（ｂ３）の場合、形態素検索またはＮグラムによる一次検索のみで、ある程度の検索精度を確保できる保証はない。このため本実施形態では、検索性能に影響を及ぼす可能性があっても、十分高い検索精度を確保するためにＮグラムによる二次検索が行われる。
【００４７】
さて、本実施形態においてユーザインタフェース１１は、全文検索の精度をユーザに選択させる第１の検索インタフェースと、上述した高速検索を実行する際に用いられるチューニングパラメタをユーザに指定させる第２の検索インタフェースとを有する。ユーザインタフェース１１は、これらの第１及び第２の検索インタフェースを実現するための検索インタフェース画面をユーザに提示する。図３は、全文検索が指定された場合における検索インタフェース画面の一例を示す。この検索インタフェース画面は検索実行画面の１つであり、検索条件としての例えばキーワードを指定する検索条件フィールド３１と、検索実行を指示するための検索ボタン３２とに加えて、検索精度選択領域３３と、チューニングパラメタ領域３４とを含む。
【００４８】
検索精度選択領域３３には、高速検索モードを指示するための「高速」選択ボタン３３１と、標準検索モードを指示するための「標準」選択ボタン３３２とが配置されている。
【００４９】
・標準
「標準」選択ボタン３３２が選択されて検索が指示された場合には、標準検索モードでの全文検索処理（標準検索処理）が実行される。ここでは、Ｎグラムインデックスによる検索（一次及び二次検索）が行われる。この場合、検索結果は完全なものとなるが、検索速度は低下する。
【００５０】
・高速
「高速」選択ボタン３３１が選択されて検索が指示された場合には、高速検索モードでの全文検索処理（高速検索処理）が実行される。ここでは、上述した図２のフローチャートに従う検索が行われ、Ｎグラムインデックスによる一次検索結果と形態素による検索結果とが近似している場合には、ある程度の検索精度を確保しながら、高速な検索が可能となる。
【００５１】
チューニングパラメタ領域３４には、ヒット件数閾値（基準となるヒット件数）Ｋを指定するためのヒット件数フィールド３４１と、近似度設定値（近似割合）Ｐを指定するための近似割合フィールド３４２と、採用条件を指定するための採用条件フィールド３４３とが配置されている。
【００５２】
・ヒット件数
Ｎグラムインデックスによる一次検索において、検索ヒット件数がヒット件数フィールド３４１の指定値（ヒット件数閾値Ｋ）を超える場合に、Ｎグラムインデックスによる二次検索が省略可能な複数の条件の１つが成立したとして扱われる。検索ヒット件数がヒット件数フィールド３４１の指定値に満たない場合には、Ｎグラムインデックスの一次検索結果に対して二次検索が行われる。つまり、Ｎグラムインデックスの一次検索でのヒット件数が少ない場合には、二次検索を行っても検索性能に与える影響は少ないことから、二次検索を行って精度の高い完全な検索結果が求められる。
【００５３】
・近似割合
Ｎグラムインデックスによる一次検索でのヒット件数と、形態素インデックスによる検索でのヒット件数との近似度が、指定近似割合（近似度設定値Ｐ）未満の場合に、Ｎグラムインデックスによる二次検索が省略可能な複数の条件の１つが成立したとして扱われる。上記近似度が指定近似割合を超えている場合には、Ｎグラムインデックスの一次検索結果に対して二次検索が行われる。つまり、Ｎグラムインデックスによる一次検索の結果と、形態素インデックスによる検索の結果とがかけ離れている場合には、検索精度が悪いと判断して、Ｎグラムインデックスによる二次検索が行われる。
【００５４】
・採用条件
Ｎグラムインデックスによる一次検索でのヒット件数と、形態素インデックスによる検索でのヒット件数とが近似していた場合、どちらの検索結果を採用してもその結果は妥当なものである。しかし、検索条件（キーワード）を形態素解析した結果得られる単語数が最小単語数以下となった場合には、形態素インデックスによる検索がより精度の良いものとなる。そこで、Ｎグラムインデックスによる一次検索結果または形態素インデックスによる検索結果のどちらを採用するかを決定する条件、つまりＮグラム検索優先か形態素検索優先かを決定する条件として、検索条件を形態素解析することによって分割された単語数の基準値（基準単語数）を採用条件フィールド３４３によって指定可能とする。また、検索条件を形態素解析した結果得られる単語の数が基準単語数を超えている場合には、形態素解析の結果の精度が低く、形態素インデックスによる検索の結果について、ある程度の精度を確保し得る保証はない。そこで、検索条件を形態素解析した結果得られる単語の数が基準単語数以下であるかの判定を、例えば上記ステップＳ４に加え、基準単語数を超えている場合には、Ｎグラムインデックスによる二次検索が行われるようにすると良い。一方、検索条件を形態素解析した結果得られる単語の数が基準単語数以下で、且つ上記（ａ１），（ａ２），（ａ３）の条件を満たす場合に、Ｎグラムインデックスによる二次検索が省略される構成とするならば、特に長い検索条件が指定された場合の検索時間の点で有効となる。
【００５５】
図４は、検索実行/応答サーバ１２によってユーザインタフェース１１を介してユーザに通知される検索結果画面の一例を示す。この検索インタフェース画面は検索実行画面の１つであり、図３に示されている検索インタフェース画面と共通の、検索条件フィールド３１、検索ボタン３２、検索精度選択領域３３及びチューニングパラメタ領域３４に加えて、検索精度領域４１及び検索結果領域４２とを含む。
【００５６】
上述したように、高速検索処理が実行された場合、図２のフローチャートに従い、Ｎグラムインデックス及び形態素インデックスによる両検索結果とチューニングパラメタの情報とに基づいて、検索結果画面の検索結果領域４２を介してユーザに通知される検索結果が求められる。このユーザに通知される検索結果、つまり検索結果領域４２に表示される検索結果は、以下の３種の検索結果
（ａ）Ｎグラムインデックスによる検索（一次検索及び二次検索）の結果
（ｂ）形態素インデックスによる検索の結果
（ｃ）Ｎグラムインデックスによる検索（一次検索のみ）の結果
のいずれか１つである。一方、標準検索処理が実行された場合には、検索結果領域４２に表示される検索結果として常に上記（ａ）の結果が採用される。
【００５７】
高速検索処理が実行された場合、上記（ａ），（ｂ），（ｃ）のいずれの検索結果が採用されたかが、例えば、対応する「検索精度」を抽象的に表現する用語で検索精度領域４１に示される。ここでは、（ａ），（ｂ），（ｃ）に対応する「検索精度」を抽象的に表現する用語として、それぞれ、「適切」、「やや粗い」、「粗い」が用いられる。
【００５８】
［第１の変形例］
次に、上記実施形態の第１の変形例について、図５のフローチャートを参照して説明する。なお、図５において、高速検索処理の手順を示す図２のフローチャートと等価な部分には、同一符号を付してある。
【００５９】
第１の変形例の特徴は、ステップＳ１，Ｓ２の処理（Ｎグラムインデックスによる一次検索）とステップＳ３乃至Ｓ５の処理（形態素インデックスによる検索）とが、図２のフローチャートとは逆の順番で実行される点にある。ここでは、検索条件が形態素検索可能な単語に分割できなかった場合（ステップＳ４）、ステップＳ１に相当する、Ｎグラムインデックスによる一次検索が実行される（ステップＳ１１）。
【００６０】
［第２の変形例］
次に、上記実施形態の第２の変形例について、図６のフローチャートを参照して説明する。なお、図６において、図２のフローチャートと等価な部分には、同一符号を付してある。
【００６１】
第２の変形例の特徴は、ステップＳ１，Ｓ２の処理（Ｎグラムインデックスによる一次検索）とステップＳ３乃至Ｓ５の処理（形態素インデックスによる検索）とが並列に実行される点にある。このように、双方の検索が並列に実行されることで、より高速な検索が可能となる。
【００６２】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【図面の簡単な説明】
【００６３】
【図１】本発明の一実施形態に係る全文検索システムの構成を示すブロック図。
【図２】同実施形態における高速検索モードでの全文検索処理（高速検索処理）の手順を示すフローチャート。
【図３】検索インタフェース画面の一例を示す図。
【図４】検索結果画面の一例を示す図。
【図５】上記実施形態の第１の変形例における高速検索処理の手順を示すフローチャート。
【図６】上記実施形態の第２の変形例における高速検索処理の手順を示すフローチャート。
【符号の説明】
【００６４】
１１…ユーザインタフェース、１２…検索実行/応答サーバ、１３…Ｎグラム検索エンジン（第１の検索手段）、１４…Ｎグラムインデックスデータベース、１５…形態素解析機構、１６…形態素検索エンジン（第２の検索手段）、１７…形態素インデックスデータベース、１８…全文検索実行制御機構、１９…設定情報ファイル、３３…検索精度選択領域、３４…チューニングパラメタ領域、１３１…一次検索実行部、１３２…二次検索実行部、１８１…形態素解析結果判定部、１８２…一次検索結果数判定部、１８３…検索結果数近似度判定部、３３１…「高速」選択ボタン、３３２…「標準」選択ボタン、３４１…ヒット件数フィールド、３４２…近似割合フィールド、３４３…採用条件フィールド。
【図１】
2006099427.tif 000003
【図２】
2006099427.tif 000004
【図３】
2006099427.tif 000005
【図４】
2006099427.tif 000006
【図５】
2006099427.tif 000007
【図６】
2006099427.tif 000008