|
全文検索
このページではQuickSolutionの全文検索技術について、ご紹介します。
全文検索とは
全文検索とは、複数の文書ファイルから特定の文字列(キーワード)を検索する技術を指します。
文書ファイルの「ファイル名」や「ファイル内の特定の文字列」だけを検索するのではなく、対象ファイルの全文からテキスト情報を抽出し、合致する検索質問(キーワード)を検索することです。
全文検索エンジンQuickSolutionなら、キーワードによる全文検索のほか、あいまい検索(類似検索)もできます。

テキスト情報の抽出方法
全文検索では、検索を高速化するために、検索対象となる文書群からあらかじめ索引情報を準備しておくのが一般的です。
この索引情報をインデックスと呼びます。
(インデックスの生成方法に関しては 機能>高速検索をご参照下さい)
インデックス生成時の文字列の抽出方法としては、主にN-gram方式、形態素解析方式、さらにその2つを組み合わせたハイブリッド方式などがあります。
形態素解析方式の特徴
英文の場合は単語と単語の間にスペースが入るため、スペースで区切られた文字列を抽出していけば、索引データの作成は容易です。
しかし、日本語の場合は、単語をスペースで区切る習慣がありません。 その為、文脈の解析、単語分解を行い、それをもとにインデックスを生成します。
それが形態素解析です。
形態素解析を行うためには解析用の辞書(システム辞書)が必須であり、検索結果は辞書の品質に大きく影響を受けます。
また、辞書に登録されていないひらがな単語の抽出に難があるなど、検索漏れが生じることが欠点とされています。
N-gram方式の特徴
検索対象を単語単位ではなく文字単位で分解して、インデックスを生成する方式です。
たとえば「全文検索技術」という文字列の場合、「全文」「文検」「検索」「索技」「技術」「術(終端)」と2文字ずつ分割してインデックスを生成すれば、検索漏れが生じず、辞書の必要もありません。
しかし形態素解析に比べると、検索結果にノイズ(「京都」で検索すると「東京都」がヒットするなど)が生じることが欠点とされています。
ハイブリッド方式の特徴
形態素解析方式とN-gram方式の両方のメリットを組み込んだ方式の為、検索漏れがなく、また検索結果にノイズも入りにくいのが、特徴です。
ただし、インデックスを形態素解析方式とN-gram方式の両方で作成する為、インデックスのサイズが大きくなってしまうことが欠点とされます。
全文検索の技術方式と特徴
| |
形態素解析方式 |
N-gram方式 |
ハイブリッド方式 |
| システム辞書 |
必要 |
不要 |
必要(必須ではない) |
インデックス 形式 |
単語転置ファイル:
単語インデックス |
N-gram転置ファイル: フルテキストインデックス |
N-gram転置ファイル+ 単語転置ファイル |
インデックス 生成方法 |
新たな検索語句を事前にシステム辞書に登録した後、追加ファイルだけでなく、既存のファイル全てに対してインデックスの再生成が必要 |
追加されたファイルの分だけ、インデックスを追加(差分更新) |
追加されたファイルの分だけ、インデックスを追加(差分更新) |
| 長所 |
検索結果にノイズが入りにくい |
任意の文字列を検索可能 検索漏れがない |
任意の文字列を検索可能 検索漏れがない 検索結果の上位にノイズが入りにくい インデックスの再生成が不要 |
| 短所 |
検索漏れが生じる 新語/造語が検索できない 辞書のメンテナンスが必要 インデックス再生成が必要 型番の部分一致に弱い →「イントラ」で検索して「イントラネット」がヒットしない |
検索結果にノイズが入りやすい →「京都」で検索して東京都がヒットする → 「スキー」で検索して「ウイスキー」がヒットする |
インデックスサイズが大きい CPUやメモリの負荷が比較的高い |
QSハイブリッド方式
全文検索エンジンQuickSolutionは、システム辞書が不要なN-gram方式をベースとした形態素解析併用の「QSハイブリッド方式」を採用。「QSハイブリッド方式」は、N-gram方式の特徴である検索漏れが発生しないという点に加え、検索ノイズについても独自アルゴリズムによる抑制および辞書の補完的併用により、さらにノイズが入りにくくなっています。
システム辞書は基本的に不要な為、未踏テキストもすぐに検索することが可能です。
さらに検索機能を補完・拡張する機能として、関連語辞書(同義語・類似語登録)と単語重み付け辞書(重要語・不要語の登録)などを使用することで、検索漏れのない、ノイズが少ない検索結果を手に入れることができます。

|