検索エンジンの選定と評価項目

2008年12月10日(水)
早坂 良太

全文検索システムの評価項目:精度

 全文検索システムの比較には、さまざまな評価項目があります。ここではまず、その評価項目について解説していきます。

 検索の精度は検索システムにとって最も重要な評価項目です。精度が低い検索システムでは、目的の文書を的確に見つけることができません。検索システムの精度としては、適合率と再現率という2つの数値がよく使われます。

 適合率(Precision)とは、検索でヒットした文書のうち、正しく検索条件に当てはまる文書の割合です。この数値が1(100%)に近いほど、検索ノイズが少ない検索システムであるといえます。検索ノイズとは、検索条件に当てはまらないのに検索結果となってしまっている文書のことです。

 再現率(Recall)とは、検索条件に当てはまるすべての文書のうち、検索でヒットした文書の割合です。この数値が1(100%)に近いほど、検索漏れが少ない検索システムであるといえます。検索漏れとは検索条件に当てはまるにも関わらず、検索でヒットしなかった文書のことです。

 一般に、適合率と再現率はトレードオフであるといわれています。そのため、目的によって適合率か再現率のどちらかを優先するかを決めて、バランスをとることになります。

 また、日本語の検索においては、単語の分割方法が精度に大きな影響を与えます。「第1回:検索ログと検索エンジン(http://thinkit.jp/article/712/1/)」は単語の分割方法として形態素解析とN-gramを紹介しました。

 形態素解析は適合率が高く再現率が低い傾向、N-gramは再現率が高く適合率が低い傾向にあります。

全文検索システムの評価項目:処理能力

 精度のほかに重要な評価項目としては速度やリソース消費量など、処理能力に関する項目があります。検索システムの速度としては、検索速度とインデクシング速度を評価します。

 検索速度とは検索を行う速度のことです。検索速度が高速であるほど、検索の際の待ち時間が短くなります。

 インデクシング速度とはインデックスに文書を登録する速度のことです。同じ文書数を登録することを考えた場合、インデクシング速度が高速な方が短い時間で処理を終えることができます。短時間でインデクシングができれば、より頻繁にインデックスを更新することが可能になります。

 インデクシング速度は、大量の文書を登録する場合には重要になりますが、サイト内検索の場合にはそれほど多くの文書を登録するとは考えにくいので、検索速度の方が重要でしょう。

 日本語の検索においては、単語の分割方法が速度に関しても影響を及ぼします。形態素解析はN-gramに比べて複雑な処理であるため、インデクシング速度を低下させてしまいます。また、形態素解析のインデックスに対して検索を行うときは検索キーワードも形態素解析を行うため、検索速度も低下します。

 精度、速度以外の評価項目としては、インデックスのサイズ、インデクシング時のリソース消費量、検索手法の種類などがあります。

 インデックスのサイズは大量の文書を扱う場合に問題になることがあります。インデクシング時のリソース消費量は、同じマシンでほかの処理を行っている場合に問題になることがあります。

 そして検索手法の種類とは、AND検索やOR検索、正規表現による検索やフレーズ検索など、どのような検索を行えるかということです。サイト内検索で一般に使用されるようなAND検索やOR検索はほとんどの全文検索システムで扱うことができますので、これが問題になることはないでしょう。しかし、各全文検索システムで実装されている検索手法には、特色があり、どのような検索手法を使えるのかは、全文検索システムを選択する際の重要な材料となります。

 以上が全文検索システムを比較する際に評価する項目です。次ページからは比較対象となる全文検索システムを紹介していきます。

電気通信大学 電気通信学研究科 情報工学専攻を修了。尾内・林研究室では検索エンジンをテーマとして研究。全文検索システムの速度性能比較や、検索エンジンの構築を行った。現在は日本アルゴリズム株式会社に所属している。http://www.nalgo.co.jp/

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています