2
我有一個查詢和一組文檔。我需要根據與tf-idf的餘弦相似性對這些文檔進行排序。有人可以告訴我,我可以從Lucene得到什麼樣的支持來計算它嗎?我可以直接從Lucene中計算出什麼參數(我可以通過lucene中的某種方法直接獲得tf,idf?)以及如何計算與Lucene的餘弦相似度(如果我傳遞查詢的兩個向量,是否有任何函數直接返回餘弦相似度,文件?)如何使用Lucene和Java計算與tf-idf的餘弦相似度
Thanx提前
我需要計算tf-idf值,然後計算餘弦相似度。我找不到任何示例代碼。 – Paba 2012-04-16 13:30:22
請參見[here。](http://lucene.apache.org/core/old_versioned_docs/versions/3_5_0/api/core/org/apache/lucene/search/DefaultSimilarity.html)這是您分配給的策略對象IndexSearcher所以它將使用它來獲得tf和idf,最後是queryNorm。您還需要通過將相似度分配給索引器並實現computeNorm來控制索引時間字段規範。這不像計算餘弦相似性那樣直截了當,原因在於這是計算的高性能實現,分爲索引時間和查詢時間。 – 2012-04-16 14:04:31
Thanx Marko。但是我有一個大問題,就是如何計算詞頻和文檔頻率。是否有任何方法通過傳遞文檔語料庫來獲得詞頻和文檔頻率? – Paba 2012-04-17 08:31:06