2016-09-06 5 views
0

私たちはSOLR 4.3.1を実行しています。SOLR(4.3) - 「劣悪な」品質(非常に短い)文書のスコアを下げる

場合によっては、品質が悪いドキュメントを索引付けしている場合があります。本体(この場合は説明フィールド)は3語または4語しか使用できません。他の文書にははるかに優れた説明があるかもしれません問題は、検索が実行され、検索された用語が「良い」(長い)文書と「貧しい」(短い)文書の両方に見られる場合に発生します。

SOLRは、より短い短いドキュメントの一致をスコアするようですが、それは意味があります。検索される用語はわずか3または4ワードの1である可能性があるため、長い記述のあるドキュメントよりも高い割合です。 100語で1つまたは2つの一致が見つかるだけです(たとえば)。

本当に短い文書のスコアをどうにかペナルティ化または減らすことはできますか?私は、いくつかの非常に短い文書が大丈夫かもしれないことを知っていますが、一般的な規則として、私たちの場合の短い文書は通常「品質が悪い」ものです。

提案?

私たちはedismaxの検索を使用しています。

おかげで、

ビル

答えて

0

BM25類似をチューニングするために、文書のスコアの長さ正規化の影響をことができます。既定では、観察したように、短いフィールドのコンテンツは、同じ数の用語マッチで長いフィールドのコンテンツよりも優れています。

この長さ正規化プロセスを中和したり、逆にしたりして、すべての長さのフィールドの内容が同じ数の用語マッチで同等と見なされるように思えます。


2チューニングパラメータは以下のとおりです。(あなたが繰り返される用語はスコアの大きい/小さい影響力を持つようにしたいときのため)用語頻度のための飽和点を制御

​​、および

b (あなたが望むもの)は、コンテンツの長さがマッチの得点に与える影響を制御します。

あなたがより深く潜るしたい場合は、これはBM25に良い読み物です:この作業を取得するにはhttp://opensourceconnections.com/blog/2015/10/16/bm25-the-next-generation-of-lucene-relevation/


、あなたは、グローバルに、または定義内にネストされ、あなたのSOLR schema.xmlにBM25Similarityを追加する必要がありますの説明フィールド(すべてのフィールドでこの処理をしたくない可能性があるので推奨)フィールドタイプのフィールドです。

<similarity class="solr.BM25SimilarityFactory"> <str name="k1">1.2</str> <str name="b">0.75</str> </similarity> (デフォルト値が示さ)

あなたは0.0までbを取る場合は、効果的に同じフィールドに同じ単一のクエリ語に一致二つの文書をそれぞれ意味し、長さ正規化の影響を否定します常に獲得しますこのフィールドがスコアリングのために考慮される唯一の要素である場合、(フィールド長に関係なく)等しくなります。

この変更を有効にするには、設定をリロードしてドキュメントのインデックスを再作成する必要があります。


また、(多分-0.75?)負bを使って実験してみてくださいすることができ、これが仮に長い文書を報いるために動作するはずですが、私は現在の実装でこれを確認していないが、もしそうであれば、バック投稿してくださいとしてあなたはあなたが必要とする方法で働いている否定bを得る。

+0

ありがとうございました!私はこれを試してみる。あなたの完全な答えは高く評価されています! – user3302110

関連する問題