2011-07-30 67 views
0

布爾檢索模型查詢由使用不同運算符組合在一起的術語組成。乍一看,連詞是最明顯的選擇,但是當查詢長度增長髮生不良事件時。當使用連接時使用連接和精度下降時召回顯着下降(例如,stanford OR university)。查詢字詞排除

至於現在我們使用連接是我們的搜索系統(和布爾檢索模型)。如果用戶輸入一些非常罕見的單詞或長的單詞序列,我們會遇到問題。例如,如果用戶輸入toyota corolla 4wd automatic 1995,我們可能沒有。但是如果我們從查詢中刪除至少一個詞,我們就有這樣的文檔。據我所知,在矢量空間模型中,這個問題自動解決。我們沒有過濾器文件上的長期存在的事實,我們排名文件使用條款的存在。

因此,我對結合布爾檢索模型中的術語和布爾檢索模型中罕見術語消除方法的更高級方法感興趣。

回答

0

在這裏定義排名函數似乎是天空的限制。你可以定義一個向量,wi是:0如果第i個搜索項沒有出現在文件中,則爲1;搜索項i出現在文件中的次數;等等。然後,基於例如曼哈頓距離,歐幾里德距離等,並按降序排序,可能在距離低於指定的匹配容差時選取結果。

如果你想處理更復雜的查詢,你可以把查詢放入CNF - 例如(term1或term2或... termn)AND(item1或item2或... itemk)AND ...然後相應地重新定義權重wi。您可以在每個結果中列出文件中未匹配的條款......以便用戶至少知道它的匹配程度。

我想我真正想說的是,要真正得到適合您的答案,您必須準確定義您願意接受的有效搜索結果。在嚴格的解釋下,查詢A1和A2以及... Am 應該失敗,如果有任何條款丟失...

+0

真的好點。我們目前努力實現的目標是最大限度地提高召回率,即使鬆散了一定程度的精度。當搜索系統顯示「沒有找到任何文檔」時,我們認爲這很糟糕。另一方面,當人們得到很多不相關的結果時,他們通常會知道如何優化查詢。因此,當搜索系統找不到任何文檔時,我們正在儘量減少這些情況。 –