説明

全文検索システム及び方法

【課題】検索精度をある程度確保しながら、全文検索の高速化を図る。
【解決手段】検索結果数近似度判定部183は、Nグラム検索エンジン13によって取得される、Nグラムインデックスによる一次検索のヒット件数と、形態素検索エンジン16によって取得される、前記形態素インデックスによる形態素検索のヒット件数との近似度を判定する。全文検索実行制御機構18は、上記一次検索のヒット件数と上記形態素検索のヒット件数とが近似していると検索結果数近似度判定部183によって判定された場合、Nグラムインデックスによる二次検索が省略されるようにNグラム検索エンジン13を制御する。この場合、全文検索実行制御機構18は、一次検索の結果または形態素検索の結果を検索結果として採用する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子化された膨大な文書情報の中から、指定された検索条件に合致する文書を全文検索技術により高速に検索するのに好適な全文検索システム及び方法に関する。
【背景技術】
【0002】
電子化された膨大な文書情報の中から、指定された検索条件に合致する文書を検索する検索システムが従来から種々開発されている。この種の検索システムで適用される文書検索の代表的な検索手法として、全文検索(フルテキスト検索)に用いられるNグラム(N-gram)インデックスによる検索手法、或は自然言語検索(概念検索)に用いられる形態素による検索手法が知られている。これらの検索手法の概要は次の通りである。
【0003】
[Nグラムインデックスによる検索手法]
文書中に現れるすべての文字を予め定められた長さNの連続する文字列(グラム)としてインデックスに登録する。検索時にも同様に検索の対象となる検索文字列(検索単語)を長さNとなる文字列(グラム)に分割し、インデックスから同じ文字列の出現情報を得ることで検索を行う。
【0004】
Nグラムインデックスによる検索では、まず、検索単語から分割された長さNの文字列に一致する文字列の有無(つまりヒットの有無)のみで候補文書を選別する一次検索が行われる。その後、語の隣接関係を調べることで、検索単語が含まれる文書に絞り込む二次検索が行われる。このように、Nグラムインデックスによる検索では、一次検索と二次検索との2段階の検索により、漏れのない全文検索が実現される。
【0005】
一次検索の検索精度を上げるには、NグラムのN値を大きくすれば良いことが知られている。しかし、N値を大きくすると、インデックスが極端に大きくなるため、検索に多大な時間を要する虞がある。一方、N値を小さくすると検索ノイズが増して、検索精度が低下する。二次検索はヒットしたすべての文書を対象とするため、ヒット件数が多いほど(実際のノイズの多少に拘わらずに)効率が悪くなる。
【0006】
[形態素インデックスによる検索手法]
文書を解析して、当該文書から意味のある最小の言語単位(形態素)の範囲で、索引付けする形態素(単語)を抽出し、抽出された形態素毎に文書情報を割り当てインデックスに登録する。検索時も同様に検索文字列を形態素に分割し、同じ形態素に一致する文書情報を得ることで検索を行う。
【0007】
形態素インデックスによる検索では、形態素同士で重なる部分が無いため、インデックスのサイズは小さく、また高速検索が可能である。但し、対象文書と検索条件の形態素結果が一致していない場合には検索漏れが生じる。
【0008】
このように、Nグラムインデックスによる検索では検索漏れはなく、一時検索は高速であるが、ノイズを除去するための二次検索が遅いという問題がある。一方、形態素インデックスによる検索は、高速検索が可能であるが、検索漏れが生じる問題がある。つまり、全文検索(フルテキスト検索)に用いられるNグラムインデックスによる検索手法と、自然言語検索(概念検索)に用いられる形態素インデックスによる検索手法とは、それぞれ一長一短がある。
【0009】
そこで、全文検索(フルテキスト検索)と自然言語検索(概念検索)の長所を生かして、検索漏れの少ない文書検索を実現するために、全文検索と自然言語検索との2種の検索を実行し、両検索結果をマージする文書検索手法が提案されている(例えば、特許文献1参照)。この特許文献1に記載の文書検索技術(以下、第1の先行技術と称する)では、全文検索の検索結果の中から、自然言語検索により検索結果を絞り込むことにより、指定されたテキストを含む検索対象から質問文に近い文書を検索する技術、或は自然言語検索の検索結果の中から、全文検索により検索結果を絞り込むことにより、大まかに自然言語検索をして得られた検索結果の中から、指定されたテキストを含む文書を検索する技術が適用される。
【0010】
このように第1の先行技術は、全文検索と自然言語検索をそれぞれ独立したものとして扱い、両検索結果をマージするものである。具体的には、全文検索及び自然言語検索の一方による検索結果の中から、全文検索及び自然言語検索の他方により検索結果を絞り込むものである。したがって第1の先行技術においては、全文検索と自然言語検索とが必ず実行される。ところが、全文検索は自然言語検索に比べて低速である。このため、全文検索にNグラムインデックスによる検索手法を適用する場合であれば、当該全文検索に、Nグラムインデックスでのトータルの検索実行時間(一次検索時間+二次検索時間)を要する。つまり、第1の先行技術は、全文検索の欠点を解消して当該全文検索そのものを高速化するための仕組みを有していない。このため第1の先行技術は、検索ヒット件数が多い場合に問題となる。
【0011】
また、「検索式」を前もって評価し、検索式が「キーワード型(全文検索)」であればNグラムインデックスによる全文検索を用い、「自然言語型(概念検索)」であれば形態素インデックスによる検索を用いる文書検索手法も提案されている(例えば、特許文献2参照)。
【0012】
この特許文献2に記載された文書検索技術(以下、第2の先行技術と称する)では、「キーワード型」と判定されれば、検索処理に、Nグラムインデックスでのトータル検索実行時間(一次検索、二次検索)は要することとなり、第1の先行技術と同様に、全文検索そのものを高速化することにはつながらない。
【特許文献1】特開2001−92831号公報(段落0005乃至0010、図5)
【特許文献2】特開2003−308335号公報(段落0011)
【発明の開示】
【発明が解決しようとする課題】
【0013】
上記した第1の先行技術においては、全文検索が必ず実行される。また、上記第2の先行技術においても、検索式が「キーワード型(全文検索)」であればNグラムインデックスによる全文検索が実行される。このNグラムインデックスによる全文検索には、多大な時間を要する。しかし、第1及び第2の先行技術のいずれも、全文検索そのものを高速化するための仕組みを有していない。
【0014】
本発明は上記事情を考慮してなされたものでその目的は、Nグラムインデックスによる一次検索と形態素インデックスによる検索とを行い、両検索結果が近似している場合にNグラムインデックスによる二次検索を省くことで、検索精度をある程度確保しながら、全文検索を高速に実行できる全文検索システム及び方法を提供することにある。
【課題を解決するための手段】
【0015】
本発明の1つの観点によれば、Nグラムインデックスによる検索を一次検索と当該一次検索結果に対する二次検索とにより実行する第1の検索手段と、検索条件文を形態素解析する形態素解析手段と、この形態素解析手段による形態素解析結果に基づいて形態素インデックスによる形態素検索を実行する第2の検索手段とを備えた全文検索システムが提供される。このシステムは、上記Nグラムインデックスによる一次検索のヒット件数と上記形態素インデックスによる形態素検索のヒット件数との近似度を判定する近似度判定手段と、上記Nグラムインデックスによる一次検索のヒット件数と上記形態素インデックスによる形態素検索のヒット件数とが近似していると上記近似度判定手段によって判定された場合、上記Nグラムインデックスによる二次検索が省略されるように上記第1の検索手段を制御して、上記一次検索の結果または上記形態素検索の結果を検索結果として採用する全文検索実行制御手段とを備える。
【0016】
上記の構成においては、形態素インデックスによる検索の結果であるヒット件数を評価値として用い、当該形態素インデックスによる検索のヒット件数とNグラムインデックスによる一次検索のヒット件数とが近似している場合に、Nグラムによる二次検索を省くことで、ある程度の検索精度を確保しながら、高速検索を実現することができる。
【0017】
ここで、形態素解析手段による形態素解析結果に基づいて上記検索条件文が形態素検索可能な単語に分割できたかを判定する形態素解析結果判定手段を追加し、検索条件文が形態素検索可能な単語に分割できたと判定された場合に限り、上記形態素インデックスによる形態素検索が実行されるように上記全文検索実行制御手段が上記第2の検索手段を制御する構成とすると良い。
【0018】
検索条件文が形態素検索可能な単語に分割できたということは、形態素解析結果と形態素インデックスに含まれる形態素との単語の分割のされ方が多くの場合同じであることが予想される。したがって、このときの形態素解析結果を用いて形態素インデックスによる形態素検索が行われた場合、評価値としての形態素インデックス検索結果(ヒット件数)の精度(信頼性)、つまり近似度判定手段による近似度判定の精度(信頼性)を、ある程度保証することができる。
【0019】
また、上記一次検索の結果または上記形態素検索の結果のいずれを検索結果として採用するかが、上記形態素解析手段の解析結果の単語数(検索条件文が分割された単語数)と基準の単語数とに基づいて決定される構成とすると良い。
【0020】
このような構成において、形態素解析の結果の単語数が少ない(例えば1単語の)場合、形態素検索の検索漏れは殆どないことが期待されることから、形態素検索の結果の方が一次検索の結果よりも精度がより高いと見なすことができる。したがって、形態素解析の結果の単語数と基準の単語数とに基づいて、一次検索の結果または形態素検索の結果のいずれを検索結果として採用するかを決定することにより、より精度の高い検索結果を採用することができる。
【0021】
また、一次検索のヒット件数を基準のヒット件数と比較し、一次検索のヒット件数が基準のヒット件数よりも少ない場合には、Nグラムインデックスによる二次検索が実行される構成とすると良い。一次検索のヒット件数が少ない場合、二次検索を行っても検索性能に影響を与えない。したがって、一次検索のヒット件数が少ない場合には、二次検索を行うことで、検索性能に影響を及ぼすことなく、より一層精度の高い検索を実現できる。
【0022】
ここで、上記基準の単語数をユーザにより指定可能とするためのユーザインタフェースを追加するならば、検索条件文に応じたチューニングが可能となる。また、上記基準のヒット件数をユーザにより指定可能とするためのユーザインタフェースを追加するならば、利用者の環境に応じたチューニングが可能となる。また、上記近似度判定手段による判定の基準となる近似度をユーザにより指定可能とするためのユーザインタフェースを追加するならば、検索条件文、或は検索の対象となる文書群の特徴に応じたチューニングが可能となる。
【0023】
また、いかなる場合もNグラムインデックスによる二次検索まで行う標準検索、または上記近似度判定手段による判定結果に基づいてNグラムインデックスによる二次検索が省略される可能性のある高速検索のいずれか一方をユーザにより指定可能とするためのユーザインタフェースを追加すると良い。このようにすると、検索速度を優先するか、或は検索精度を優先するかに対するユーザの意志を反映することが可能となる。
【0024】
また、Nグラムインデックスによる一次検索と形態素インデックスによる形態素検索とが並列に実行されるように、上記全文検索実行制御手段が上記第1の検索手段と上記第2の検索手段とをそれぞれ制御する構成とすると良い。このようにすると、より高速な検索が可能となる。
【発明の効果】
【0025】
本発明によれば、Nグラムインデックスによる一次検索と形態素インデックスによる検索とを行い、両検索結果が近似している場合にNグラムインデックスによる二次検索を省くことによって、検索精度をある程度確保しながら、全文検索を高速に実行することができる。
【発明を実施するための最良の形態】
【0026】
以下、本発明の一実施形態につき図面を参照して説明する。
図1は本発明の一実施形態に係る全文検索システムの構成を示すブロック図である。この全文検索システムは、利用者の要求に応じて、Nグラムインデックスによる全文検索及び自然言語検索(形態素インデックスによる検索)を行うシステムである。但し、図1の全文検索システムは、一定の条件を満たした場合、全文検索の一部(Nグラムインデックスによる二次検索)が省略される。
【0027】
図1の全文検索システムは、ユーザインタフェース11と、検索実行/応答サーバ12と、Nグラム検索エンジン13と、Nグラムインデックスデータベース14と、形態素解析機構15と、形態素検索エンジン16と、形態素インデックスデータベース17と、全文検索実行制御機構18とから構成される。
【0028】
ユーザインタフェース11は、ユーザからの検索要求を受け付けると共に検索結果をユーザに提示するインタフェース機能を有する。本実施形態において、ユーザインタフェース11は、全文検索システムの一部を構成しているが、これに限るものではない。例えば、ユーザインタフェース11が、図1の全文検索システムと通信回線(例えばネットワーク)を介して接続されたクライアント端末に設けられる構成であっても構わない。
【0029】
検索実行/応答サーバ12は、ユーザインタフェース11により受け付けられた検索要求の示す検索条件を、Nグラムインデックスによる検索または形態素による検索(に必要な形態素解析)のために、Nグラム検索エンジン13または形態素解析機構15に渡す。検索実行/応答サーバ12はまた、Nグラム検索エンジン13または形態素解析機構15による検索結果をユーザインタフェース11によってユーザに提示させる。
【0030】
Nグラム検索エンジン13は、Nグラムインデックスデータベース14に格納されているNグラムインデックスを用いて全文検索を行う。Nグラム検索エンジン13は、一次検索実行部131と二次検索実行部132とを含む。一次検索実行部131は、Nグラムインデックスによる一次検索を行う。二次検索実行部132は、Nグラムインデックスによる二次検索を行う。Nグラムインデックスデータベース14に格納されるNグラムインデックスには、検索の対象となり得る文書中に現れるすべての文字を予め定められた長さNの連続する文字列(グラム)として、その文字列毎に、その文字列の位置情報が登録されている。
【0031】
形態素解析機構15は、検索条件を形態素解析する。形態素検索エンジン16は、形態素解析機構15による形態素解析結果に従い、形態素インデックスデータベース17に格納されている形態素インデックスを用いて形態素検索を行う。形態素インデックスデータベースに格納される形態素インデックスには、検索の対象となり得る文書から抽出された形態素毎に割り当てられた、位置情報を含む文書情報が登録されている。
【0032】
全文検索実行制御機構18は、Nグラムインデックスを用いた全文検索を高速に実行するために、設定情報ファイル19の設定内容に従ってNグラム検索エンジン13及び形態素検索エンジン16を制御する。設定情報ファイル19には、全文検索実行制御機構18による全文検索の実行の制御に必要な条件等の情報が設定されている。
【0033】
全文検索実行制御機構18は、形態素解析結果判定部181と一次検索結果数判定部182と検索結果数近似度判定部183とを含む。形態素解析結果判定部181は、形態素解析機構15による検索条件に対する形態素解析結果に基づいて、形態素インデックスによる検索(形態素検索)またはNグラムインデックスによる二次検索のいずれを実行すべきかを決定する。一次検索結果数判定部182は、Nグラムインデックスによる一次検索結果に基づいて、Nグラムインデックスによる二次検索を実行すべきかを決定する。検索結果数近似度判定部183は、Nグラムインデックスによる一次検索結果と形態素検索結果とに基づいて、Nグラムインデックスによる二次検索を実行すべきかを決定する。
【0034】
次に、図1の全文検索システムにおいて実行される高速検索モードでの全文検索処理(高速検索処理)の手順について、図2のフローチャートを参照して説明する。なお、本実施形態では、検索モードとして上記高速検索モードに加えて標準検索モードが用意され、後述するようにユーザによって選択可能なようになっている。
【0035】
今、全文検索を希望するユーザが、クライアント端末を用いた入力操作を行うことで、当該端末から図1の全文検索システムに対して、全文検索を指定する検索要求が送られたものとする。ユーザインタフェース11は、この検索要求を受け付けて、当該検索要求の示す検索条件を抽出する。ユーザインタフェース11は、抽出された検索条件を検索実行/応答サーバ12に送る。また、ユーザインタフェース11は、検索要求の示す検索種別(例えば全文検索)を検索実行/応答サーバ12に通知する。検索実行/応答サーバ12は、全文検索が指定されている場合には、全文検索を実行するために、ユーザインタフェース11から渡された検索条件をNグラム検索エンジン13に送る。
【0036】
Nグラム検索エンジン13内の一次検索実行部131は、検索実行/応答サーバ12から送られた検索条件に従い、Nグラムインデックスデータベース14に格納されているNグラムインデックスを用いて、周知の一次検索を実行する(ステップS1)。一次検索実行部131は、一次検索結果をNグラム検索エンジン13内部に保持すると共に、検索でヒットした数(ヒット件数)N1を、対応する検索条件と共に全文検索実行制御機構18へ送る。
【0037】
全文検索実行制御機構18内の一次検索結果数判定部182は、一次検索実行部131から送られたヒット件数N1を設定情報ファイル19に設定されているヒット件数閾値Kと比較し、その大小を判定する(ステップS2)。もし、ヒット件数N1がK以下の場合は、全文検索実行制御機構18はNグラム検索エンジン13に対して二次検索を要求する。Kは、後述するようにユーザの操作により変更(チューニング)可能である。
【0038】
これに対し、ヒット件数N1がKより大きい場合は、一次検索結果数判定部182はヒット件数N1を全文検索実行制御機構18の内部に保持した後、検索条件を形態素解析機構15に送る。形態素解析機構15は、一次検索結果数判定部182から検索条件を受け取ると、当該検索条件を形態素解析する(ステップS3)。そして形態素解析機構15は、形態素解析した結果を全文検索実行制御機構18へ送る。
【0039】
全文検索実行制御機構18内の形態素解析結果判定部181は、形態素解析機構15による形態素解析結果を判定する(ステップS4)。即ち形態素解析結果判定部181は、検索条件が形態素インデックスによる検索(形態素検索)が可能な単語、つまり、それ自体で意味のある単語(例えば、名詞、動詞、形容詞に代表される自立語)に分割できたかを判定する。もし、検索条件が形態素検索可能な単語に分割できなかった場合、全文検索実行制御機構18はNグラム検索エンジン13に対して二次検索を要求する。
【0040】
これに対し、検索条件が形態素検索可能な単語に分割できた場合には、形態素解析結果判定部181は形態素解析機構15による形態素解析結果を形態素検索エンジン16へ送る。形態素検索エンジン16は、形態素解析結果判定部181から形態素解析結果を受け取ると、当該形態素解析結果と形態素インデックスデータベース17とを用いて、形態素検索を行う(ステップS5)。そして形態素解析機構15は、形態素検索結果を当該形態素解析機構15内部に保持すると共に、検索でヒットした数(ヒット件数)N2を全文検索実行制御機構18に送る。
【0041】
全文検索実行制御機構18内の検索結果数近似度判定部183は、全文検索実行制御機構18内部に保持されているNグラム検索エンジン13(内の一次検索実行部131)による一次検索でのヒット件数N1と形態素検索エンジン16から送られた形態素検索でのヒット件数N2とが近似している(N1≒N2)かを判定する(ステップS6)。ここでは、検索結果数近似度判定部183は、N1とN2との近似度(%)が、設定情報ファイル19に設定されている近似度設定値P(%)以内であるかを判定する。本実施形態において、N1とN2との近似度は、|N1−N2|×100%/N1または|N1−N2|×100%/N2、つまりN1とN2との差分の絶対値のN1またはN2に対する割合(%)で示され、値が小さいほどN1とN2とが近似していることを表す。近似度設定値Pは、後述するようにユーザの操作によりチューニング可能である。
【0042】
検索結果数近似度判定部183は、N1とN2との近似度がPを超えている場合は、N1とN2とは近似していないものと判定する。この場合、全文検索実行制御機構18はNグラム検索エンジン13に対して二次検索を要求する。
【0043】
これに対し、N1とN2との近似度がP以内である場合は、検索結果数近似度判定部183はN1とN2とは近似しているものと判定する。この場合、全文検索実行制御機構18は、設定情報ファイル19に設定されている情報に従い、Nグラム検索優先か形態素検索優先かを決定する。Nグラム検索優先の場合、全文検索実行制御機構18はNグラム検索エンジン13に対して内部保持してある一次検索結果を検索実行/応答サーバ12に返答するように要求する。これに対し、形態素検索優先の場合には、全文検索実行制御機構18は、形態素検索エンジン16に対して内部保持してある形態素検索結果を検索実行/応答サーバ12に返答するように要求する。つまり検索結果数近似度判定部183は、一次検索または形態素検索による検索結果を検索実行/応答サーバ12に応答させる(ステップS7)。
【0044】
検索実行/応答サーバ12は、一次検索または形態素検索による検索結果を全文検索実行制御機構18または形態素検索エンジン16から受け取ると、その検索結果をユーザインタフェース11(及び検索アプリケーション)を介してユーザに通知する。この検索結果には、どのような判定により検索が実行されたかを示す情報が付加されている。
【0045】
このように本実施形態では、(a1)Nグラムによる一次検索でのヒット件数N1がKを超えていて、且つ(a2)検索条件が形態素検索可能な単語に分割でき、且つ(a3)Nグラムによる一次検索でのヒット件数N1と形態素検索でのヒット件数N2とが近似している(N1≒N2の)場合には、Nグラムによる二次検索の実行が省略されて、検索要求に対する検索結果として、一次検索または形態素検索による検索結果が採用される。しかし、上記(a1),(a2),(a3)の条件のうちの(a3)の条件さえ満たすならば、Nグラムによる二次検索の実行を省略しても、ある程度の検索精度を確保し得る。そこで、少なくとも(a3)の条件を満たす場合に、Nグラムによる二次検索の実行を省略するようにしても構わない。いずれの場合にも、検索精度の低下を抑えながら、Nグラムによる二次検索を省くことで、全文検索の高速化を実現できる。但し、上記(a1)の条件を満たさない場合には、たとえNグラムによる二次検索を行っても、性能への影響が少ないことから、二次検索を省く利点は少ない。また、上記(a2)の条件を満たさない場合には、(a3)の条件を満たすかの判定の信頼性が低下する。
【0046】
さて、Nグラム検索エンジン13内の二次検索実行部132は、全文検索実行制御機構18からの二次検索要求を受けた場合のみ、Nグラムインデックスの一次検索結果に対して二次検索を実行する(ステップS8)。前記したように、本実施形態において全文検索実行制御機構18からNグラム検索エンジン13に対して二次検索が要求されるのは、(b1)Nグラムによる一次検索でのヒット件数N1がK以下の場合、(b2)検索条件が形態素検索可能な単語に分割できなかった場合、または(b3)Nグラムによる一次検索でのヒット件数N1と形態素検索でのヒット件数N2とが近似していない場合のいずれかである。上記(b1)の場合、十分高い検索精度を確保するためにNグラムによる二次検索を行っても、検索性能への影響が少ない。上記(b2)または(b3)の場合、形態素検索またはNグラムによる一次検索のみで、ある程度の検索精度を確保できる保証はない。このため本実施形態では、検索性能に影響を及ぼす可能性があっても、十分高い検索精度を確保するためにNグラムによる二次検索が行われる。
【0047】
さて、本実施形態においてユーザインタフェース11は、全文検索の精度をユーザに選択させる第1の検索インタフェースと、上述した高速検索を実行する際に用いられるチューニングパラメタをユーザに指定させる第2の検索インタフェースとを有する。ユーザインタフェース11は、これらの第1及び第2の検索インタフェースを実現するための検索インタフェース画面をユーザに提示する。図3は、全文検索が指定された場合における検索インタフェース画面の一例を示す。この検索インタフェース画面は検索実行画面の1つであり、検索条件としての例えばキーワードを指定する検索条件フィールド31と、検索実行を指示するための検索ボタン32とに加えて、検索精度選択領域33と、チューニングパラメタ領域34とを含む。
【0048】
検索精度選択領域33には、高速検索モードを指示するための「高速」選択ボタン331と、標準検索モードを指示するための「標準」選択ボタン332とが配置されている。
【0049】
・標準
「標準」選択ボタン332が選択されて検索が指示された場合には、標準検索モードでの全文検索処理(標準検索処理)が実行される。ここでは、Nグラムインデックスによる検索(一次及び二次検索)が行われる。この場合、検索結果は完全なものとなるが、検索速度は低下する。
【0050】
・高速
「高速」選択ボタン331が選択されて検索が指示された場合には、高速検索モードでの全文検索処理(高速検索処理)が実行される。ここでは、上述した図2のフローチャートに従う検索が行われ、Nグラムインデックスによる一次検索結果と形態素による検索結果とが近似している場合には、ある程度の検索精度を確保しながら、高速な検索が可能となる。
【0051】
チューニングパラメタ領域34には、ヒット件数閾値(基準となるヒット件数)Kを指定するためのヒット件数フィールド341と、近似度設定値(近似割合)Pを指定するための近似割合フィールド342と、採用条件を指定するための採用条件フィールド343とが配置されている。
【0052】
・ヒット件数
Nグラムインデックスによる一次検索において、検索ヒット件数がヒット件数フィールド341の指定値(ヒット件数閾値K)を超える場合に、Nグラムインデックスによる二次検索が省略可能な複数の条件の1つが成立したとして扱われる。検索ヒット件数がヒット件数フィールド341の指定値に満たない場合には、Nグラムインデックスの一次検索結果に対して二次検索が行われる。つまり、Nグラムインデックスの一次検索でのヒット件数が少ない場合には、二次検索を行っても検索性能に与える影響は少ないことから、二次検索を行って精度の高い完全な検索結果が求められる。
【0053】
・近似割合
Nグラムインデックスによる一次検索でのヒット件数と、形態素インデックスによる検索でのヒット件数との近似度が、指定近似割合(近似度設定値P)未満の場合に、Nグラムインデックスによる二次検索が省略可能な複数の条件の1つが成立したとして扱われる。上記近似度が指定近似割合を超えている場合には、Nグラムインデックスの一次検索結果に対して二次検索が行われる。つまり、Nグラムインデックスによる一次検索の結果と、形態素インデックスによる検索の結果とがかけ離れている場合には、検索精度が悪いと判断して、Nグラムインデックスによる二次検索が行われる。
【0054】
・採用条件
Nグラムインデックスによる一次検索でのヒット件数と、形態素インデックスによる検索でのヒット件数とが近似していた場合、どちらの検索結果を採用してもその結果は妥当なものである。しかし、検索条件(キーワード)を形態素解析した結果得られる単語数が最小単語数以下となった場合には、形態素インデックスによる検索がより精度の良いものとなる。そこで、Nグラムインデックスによる一次検索結果または形態素インデックスによる検索結果のどちらを採用するかを決定する条件、つまりNグラム検索優先か形態素検索優先かを決定する条件として、検索条件を形態素解析することによって分割された単語数の基準値(基準単語数)を採用条件フィールド343によって指定可能とする。また、検索条件を形態素解析した結果得られる単語の数が基準単語数を超えている場合には、形態素解析の結果の精度が低く、形態素インデックスによる検索の結果について、ある程度の精度を確保し得る保証はない。そこで、検索条件を形態素解析した結果得られる単語の数が基準単語数以下であるかの判定を、例えば上記ステップS4に加え、基準単語数を超えている場合には、Nグラムインデックスによる二次検索が行われるようにすると良い。一方、検索条件を形態素解析した結果得られる単語の数が基準単語数以下で、且つ上記(a1),(a2),(a3)の条件を満たす場合に、Nグラムインデックスによる二次検索が省略される構成とするならば、特に長い検索条件が指定された場合の検索時間の点で有効となる。
【0055】
図4は、検索実行/応答サーバ12によってユーザインタフェース11を介してユーザに通知される検索結果画面の一例を示す。この検索インタフェース画面は検索実行画面の1つであり、図3に示されている検索インタフェース画面と共通の、検索条件フィールド31、検索ボタン32、検索精度選択領域33及びチューニングパラメタ領域34に加えて、検索精度領域41及び検索結果領域42とを含む。
【0056】
上述したように、高速検索処理が実行された場合、図2のフローチャートに従い、Nグラムインデックス及び形態素インデックスによる両検索結果とチューニングパラメタの情報とに基づいて、検索結果画面の検索結果領域42を介してユーザに通知される検索結果が求められる。このユーザに通知される検索結果、つまり検索結果領域42に表示される検索結果は、以下の3種の検索結果
(a)Nグラムインデックスによる検索(一次検索及び二次検索)の結果
(b)形態素インデックスによる検索の結果
(c)Nグラムインデックスによる検索(一次検索のみ)の結果
のいずれか1つである。一方、標準検索処理が実行された場合には、検索結果領域42に表示される検索結果として常に上記(a)の結果が採用される。
【0057】
高速検索処理が実行された場合、上記(a),(b),(c)のいずれの検索結果が採用されたかが、例えば、対応する「検索精度」を抽象的に表現する用語で検索精度領域41に示される。ここでは、(a),(b),(c)に対応する「検索精度」を抽象的に表現する用語として、それぞれ、「適切」、「やや粗い」、「粗い」が用いられる。
【0058】
[第1の変形例]
次に、上記実施形態の第1の変形例について、図5のフローチャートを参照して説明する。なお、図5において、高速検索処理の手順を示す図2のフローチャートと等価な部分には、同一符号を付してある。
【0059】
第1の変形例の特徴は、ステップS1,S2の処理(Nグラムインデックスによる一次検索)とステップS3乃至S5の処理(形態素インデックスによる検索)とが、図2のフローチャートとは逆の順番で実行される点にある。ここでは、検索条件が形態素検索可能な単語に分割できなかった場合(ステップS4)、ステップS1に相当する、Nグラムインデックスによる一次検索が実行される(ステップS11)。
【0060】
[第2の変形例]
次に、上記実施形態の第2の変形例について、図6のフローチャートを参照して説明する。なお、図6において、図2のフローチャートと等価な部分には、同一符号を付してある。
【0061】
第2の変形例の特徴は、ステップS1,S2の処理(Nグラムインデックスによる一次検索)とステップS3乃至S5の処理(形態素インデックスによる検索)とが並列に実行される点にある。このように、双方の検索が並列に実行されることで、より高速な検索が可能となる。
【0062】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【図面の簡単な説明】
【0063】
【図1】本発明の一実施形態に係る全文検索システムの構成を示すブロック図。
【図2】同実施形態における高速検索モードでの全文検索処理(高速検索処理)の手順を示すフローチャート。
【図3】検索インタフェース画面の一例を示す図。
【図4】検索結果画面の一例を示す図。
【図5】上記実施形態の第1の変形例における高速検索処理の手順を示すフローチャート。
【図6】上記実施形態の第2の変形例における高速検索処理の手順を示すフローチャート。
【符号の説明】
【0064】
11…ユーザインタフェース、12…検索実行/応答サーバ、13…Nグラム検索エンジン(第1の検索手段)、14…Nグラムインデックスデータベース、15…形態素解析機構、16…形態素検索エンジン(第2の検索手段)、17…形態素インデックスデータベース、18…全文検索実行制御機構、19…設定情報ファイル、33…検索精度選択領域、34…チューニングパラメタ領域、131…一次検索実行部、132…二次検索実行部、181…形態素解析結果判定部、182…一次検索結果数判定部、183…検索結果数近似度判定部、331…「高速」選択ボタン、332…「標準」選択ボタン、341…ヒット件数フィールド、342…近似割合フィールド、343…採用条件フィールド。

【特許請求の範囲】
【請求項1】
Nグラムインデックスによる検索を一次検索と当該一次検索結果に対する二次検索とにより実行する第1の検索手段と、検索条件文を形態素解析する形態素解析手段と、前記形態素解析手段による形態素解析結果に基づいて形態素インデックスによる形態素検索を実行する第2の検索手段とを備えた全文検索システムにおいて、
前記Nグラムインデックスによる一次検索のヒット件数と前記形態素インデックスによる形態素検索のヒット件数との近似度を判定する近似度判定手段と、
前記Nグラムインデックスによる一次検索のヒット件数と前記形態素インデックスによる形態素検索のヒット件数とが近似していると前記近似度判定手段によって判定された場合、前記Nグラムインデックスによる二次検索が省略されるように前記第1の検索手段を制御して、前記一次検索の結果または前記形態素検索の結果を検索結果として採用する全文検索実行制御手段と
を具備することを特徴とする全文検索システム。
【請求項2】
前記形態素解析手段による形態素解析結果に基づいて前記検索条件文が形態素検索可能な単語に分割できたかを判定する形態素解析結果判定手段を更に具備し、
前記全文検索実行制御手段は、前記検索条件文が形態素検索可能な単語に分割できたと前記形態素解析結果判定手段によって判定された場合に限り、前記形態素インデックスによる形態素検索が実行されるように前記第2の検索手段を制御することを特徴とする請求項1記載の全文検索システム。
【請求項3】
前記全文検索実行制御手段は、前記形態素解析手段の解析結果によって示される前記検索条件文が分割された単語数と基準の単語数とに基づいて、前記一次検索の結果または前記形態素検索の結果のいずれを検索結果として採用するかを決定することを特徴とする請求項1記載の全文検索システム。
【請求項4】
前記基準の単語数をユーザにより指定可能とするためのユーザインタフェースを更に具備することを特徴とする請求項3記載の全文検索システム。
【請求項5】
前記Nグラムインデックスによる一次検索のヒット件数を基準のヒット件数と比較することにより前記一次検索のヒット件数が多いか或は少ないかを判定する一次検索結果数判定手段を更に具備し、
前記全文検索実行制御手段は、前記一次検索のヒット件数が少ないと前記一次検索結果数判定手段によって判定された場合に、前記Nグラムインデックスによる二次検索が実行されるように前記第1の検索手段を制御して、前記二次検索の結果を検索結果として採用することを特徴とする請求項1記載の全文検索システム。
【請求項6】
前記基準のヒット件数をユーザにより指定可能とするためのユーザインタフェースを更に具備することを特徴とする請求項5記載の全文検索システム。
【請求項7】
前記近似度判定手段による判定の基準となる近似度をユーザにより指定可能とするためのユーザインタフェースを更に具備することを特徴とする請求項1記載の全文検索システム。
【請求項8】
いかなる場合も前記Nグラムインデックスによる二次検索まで行う標準検索、または前記近似度判定手段による判定結果に基づいて前記Nグラムインデックスによる二次検索が省略される可能性のある高速検索のいずれか一方をユーザにより指定可能とするためのユーザインタフェースを更に具備することを特徴とする請求項1記載の全文検索システム。
【請求項9】
全文検索実行制御手段は、前記Nグラムインデックスによる一次検索と前記形態素インデックスによる形態素検索とが並列に実行されるように、前記第1の検索手段と前記第2の検索手段とをそれぞれ制御することを特徴とする請求項1記載の全文検索システム。
【請求項10】
Nグラムインデックスによる検索を一次検索と当該一次検索結果に対する二次検索とにより実行する第1の検索手段と、検索条件文を形態素解析する形態素解析手段と、前記形態素解析手段による形態素解析結果に基づいて形態素インデックスによる形態素検索を実行する第2の検索手段とを備えたシステムに適用される全文検索方法において、
前記Nグラムインデックスによる一次検索のヒット件数と前記形態素インデックスによる形態素検索のヒット件数との近似度を判定するステップと、
前記Nグラムインデックスによる一次検索のヒット件数と前記形態素インデックスによる形態素検索のヒット件数とが近似していると判定された場合、前記Nグラムインデックスによる二次検索が省略されるように前記第1の検索手段を制御するステップと、
前記Nグラムインデックスによる二次検索が省略された場合、前記一次検索の結果または前記形態素検索の結果を検索結果として採用するステップと
を具備することを特徴とする全文検索方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate