関連性

関連性とは、情報を検索しているユーザーのクエリ応答がどの程度満足できるかを示すものです。

クエリ応答の関連性は、クエリが実行されたコンテキストによって異なります。単一の検索アプリケーションが、さまざまなニーズや期待を持つユーザーによって異なるコンテキストで使用される可能性があります。たとえば、気候データの検索エンジンは、長期的な気候変動を研究している大学の研究者、春の最後の霜の可能性のある日付を計算することに関心のある農家、降雨パターンと洪水の頻度に関心のある土木技師、および地域への休暇を計画しており、何を持っていくべきかを知りたい大学生によって使用される可能性があります。これらのユーザーの動機が異なるため、特定のクエリに対する特定の応答の関連性も異なります。

クエリ応答はどの程度包括的であるべきでしょうか?一般的な関連性と同様に、この質問への回答は検索のコンテキストによって異なります。召喚状に応じて法的電子情報開示検索などの一部のコンテキストでは、クエリに対する応答として特定のドキュメントが見つからないことのコストが高く、数十または数百のケーキレシピがあるウェブサイトでケーキレシピを検索する場合など、他のコンテキストでは非常に低くなります。Solr を構成する際は、包括性を、タイムリーさや使いやすさなどの他の要素と照らし合わせて検討する必要があります。

電子情報開示とレシピの例は、関連性に関連する2つの概念の重要性を示しています。

  • 精度とは、返された結果の中で関連性があるドキュメントの割合です。

  • 再現率とは、システム内のすべての関連性のある結果のうち、返された関連性のある結果の割合です。完全な再現率を得ることは簡単です。すべてのクエリに対してコレクション内のすべてのドキュメントを返すだけです。

上記の例に戻ると、召喚状に関連するすべてのドキュメントを返す100%の再現率を持つ電子情報開示検索アプリケーションは重要です。ただし、レシピアプリケーションがこの程度の精度を提供することはそれほど重要ではありません。場合によっては、カジュアルなコンテキストで結果を返しすぎると、ユーザーが圧倒される可能性があります。一部のコンテキストでは、関連性の可能性が高い結果を少なく返すことが最善の方法である可能性があります。

精度と再現率の概念を使用して、ドキュメントのコレクションに対するユーザーとクエリ全体で関連性を定量化できます。完璧なシステムでは、すべてのユーザーとすべてのクエリに対して100%の精度と100%の再現率が得られます。言い換えれば、関連性のあるすべてのドキュメントとそれ以外のドキュメントを何も取得しないということです。実際には、実際のシステムで精度と再現率について話す場合、特定の数の結果、最も一般的(かつ有用)な10個の結果での精度と再現率に焦点を当てるのが一般的です。

ファセット、クエリフィルター、その他の検索コンポーネントを通じて、Solr アプリケーションは、ユーザーが検索を微調整して、ユーザーにとって最も関連性の高い結果を返すのに役立つ柔軟性で構成できます。つまり、Solr は、特定のユーザーコミュニティのニーズを満たすために、精度と再現率のバランスを取るように構成できます。

Solr アプリケーションの構成では、次の点を考慮する必要があります。

  • アプリケーションのさまざまなユーザーのニーズ(厳密な情報ニーズに加えて、使いやすさや応答速度を含めることができます)

  • ユーザーがそれぞれの状況において意味を持つカテゴリ(例:日付、製品カテゴリ、地域など)

  • ドキュメントに内在する関連性(例:公式製品説明やFAQが常に検索結果の上位に表示されるようにすることが理にかなっている場合がある)

  • ドキュメントの古さが重要かどうか(一部の状況では、最新のドキュメントが常に最も重要である可能性がある)

これらの要素をすべて考慮すると、Solrのデプロイメントの計画段階では、検索アプリケーションがサンプルクエリに対してどのような応答を返す必要があるかを概説することが役立つことがよくあります。アプリケーションが稼働したら、フォーカスグループ、社内テスト、TRECテスト、A/Bテストなど、一連のテスト手法を用いて、ユーザーのニーズに最も合うようにアプリケーションの設定を微調整できます。

関連性の詳細については、Grant Ingersollのブログ記事Debugging Search Application Relevance Issuesを参照してください。