2011-07-30 6 views
0

ブール検索モデルのクエリでは、異なる演算子を使用して結合された語句で構成されています。一見すると、共起は最も明白な選択ですが、クエリの長​​さが伸びると悪いことが起こりました。結合を使用しているときに結合と精度を使用したときには、リコールが大幅に低下しました(たとえば、stanford OR university)。クエリ語句の削除

今のところ、私たちは検索システム(およびブール検索モデル)を使用しています。また、非常にまれな単語や長い単語のシーケンスを入力すると問題が発生します。たとえば、ユーザーがtoyota corolla 4wd automatic 1995と入力した場合は、おそらく1つもありません。しかし、クエリから少なくとも1つの単語を削除すると、そのような文書があります。私がベクトル空間モデルで理解する限り、この問題は自動的に解決されました。 フィルタの用語の存在に関する事実に関する文書、ランクの用語を使用した文書。

私はブール検索モデルで用語を組み合わせるより高度な方法とブール検索モデルではまれな用語除去の方法に興味があります。

答えて

0

ここでランキング機能を定義する上で、空の限界のようです。 i番目の検索語がファイルに現れていなければ0、そうであれば1を指定することができます。検索用語iがファイルに現れる回数。次に、例えば、マンハッタン距離、ユークリッド距離などを計算し、降順で並べ替えて、指定された一致許容値以下の距離で結果を切り捨てる可能性があります。

より複雑なクエリを処理したい場合は、クエリをCNFに入れることができます。 (term1またはterm2または... termn)AND(item1またはitem2または... itemk)AND ...そして、それに応じて重みwiを再定義します。ファイル内で一致しなかった単語を各結果とともにリストすることができます。これにより、ユーザーは少なくとも一致がどれくらい良いかを知ることができます。

私が実際に言っていることは、実際にあなたにとって効果的な答えを得るためには、あなたが有効な検索結果として受け入れるものを正確に定義しなければならないということです。厳密な解釈の下で、A1とA2を探しているクエリとAm は、いずれかの条件が不足している場合はになります。

+0

本当に良い点。現時点で達成しようとしていることは、ある程度の精度を失ってもリコールを最大限にすることです。検索システムが「文書が見つかりません」と言うと非常に悪いと思っています。逆に、関連性のない結果が多い人は、通常、クエリをどのように洗練するかを知っています。そこで、検索システムで文書が見つからない場合を最小限に抑えようとしています。 –

関連する問題