《深入理解Elasticsearch(原書第2版)》一2.1.2 TF/IDF評分公式
本節書摘來華章計算機《深入理解Elasticsearch(原書第2版)》一書中的第2章 ,第2.1.2節,[美]拉斐爾·酷奇(Rafal Ku) 馬雷克·羅戈任斯基(Marek Rogoziski)著 張世武 餘洪淼 商旦 譯 更多章節內容可以訪問雲棲社區“華章計算機”公眾號查看。
2.1.2 TF/IDF評分公式
從Lucene 4.0版本起,Lucene引入了多種不同的打分公式,這一點或許你已經有所了解了。不過,我們還是希望在此探索一下默認的TF/IDF打分公式的一些細節。請記住,為了調節查詢相關性,你並不需要深入理解這個公式的來龍去脈,但是了解它的工作原理卻非常重要,因為這有助於簡化相關度調優過程。
1. Lucene的理論評分公式
TF/IDF公式的理論形式如下:
上麵的公式融合了布爾檢索模型和向量空間檢索模型。我們不打算在此討論理論評分公式,而是直接跳到實踐中使用的評分公式,看看Lucene內部是如何實現和使用評分公式的。
關於布爾檢索模型和向量空間檢索模型的知識遠遠超出了本書的討論範圍,想了解更多相關知識,請參考https://en.wikipedia.org/wiki/Standard_Boolean_model 和https://en.wikipedia.org/ wiki/Vector_Space_Model。
2. Lucene的實際評分公式
現在讓我們看看Lucene實際使用的評分公式:
也許你已經看到了,評分公式是一個關於查詢q和文檔d的函數,正如我們之前提到的一樣。有兩個因子並不直接依賴查詢詞項,它們是coord和queryNorm,這兩個因子與查詢詞項的一個求和公式相乘。
求和公式中每個加數由以下因子連乘所得:詞頻,逆文檔頻率,詞項權重,範數。範數就是之前我們提到過的長度範數。
這個公式聽起來很複雜。請別擔心,你並不用記住所有的細節,你隻需要意識到哪些因素是與評分有關的即可。從前麵的公式我們可以導出一些基本的規則:
- 越罕見的詞項被匹配上,文檔得分越高。Lucene認為包含獨特單詞的文檔比包含常見單詞的文檔更重要。
- 文檔字段越短(包含更少的詞項),文檔得分越高。通常,Lucene更加重視較短的文檔,因為這些短文檔更有可能和我們查詢的主題高度吻合。
- 權重越高(不論是索引期或是查詢期賦予的權重值),文檔得分越高。因為更高的權重意味著特定數據(文檔、詞項、短語等)具有更高的重要性。 正如你所見,Lucene將最高得分賦予同時滿足以下條件的文檔:包含多個罕見查詢詞項,詞項所在字段較短(該字段索引了較少的詞項)。該公式更“喜歡”包含罕見詞項的文檔。 如果你想了解更多關於Apache Lucene TF/IDF評分公式的信息,請參考Apache lucene 中TFIDFSimilarity類的文檔:https://lucene.apache.org/core/4_9_0/core/org/ apache/lucene/search/similarities/TFIDFSimilarity.html.
最後更新:2017-06-23 23:35:05
上一篇:
《深入理解Elasticsearch(原書第2版)》一2.1.3 Elasticsearch如何看評分
下一篇:
YunOS場景文字識別
VPC最佳實踐(二):VPC內如何使用雲產品
Web安全工具大匯聚
使用慢查詢日誌監控查詢
Firefox(火狐)瀏覽器擴展開發初探
遊戲安全資訊精選 2017年第十二期 挖礦軟件WaterMiner潛伏在《俠盜獵車手》Carbon Black勒索軟件調查報告:2016年到2017年,勒索軟件市場增長了2502%,且勢頭繼續看漲
PostgreSQL 數據采樣與脫敏
300+篇2017阿裏雲熱點事件解析與實戰技術資料,免費下載(文章+PDF+視頻,持續更新中)
《第一本Docker書(修訂版)》——2.6 使用本書的Docker Toolbox示例
互聯網+時代,企業如何快速進行研發效能體係升級?
MySQL如何對主從數據不一致的情況進行校驗並繼續同步