6
好吧,所以我有點困惑。然而,這應該是一個簡單直接的問題。TF-IDF簡單使用 - NLTK/Scikit學習
計算針對整個文集文檔的TF-IDF矩陣後,我得到的非常相似,這樣的結果:
array([[ 0.85..., 0. ..., 0.52...],
[ 1. ..., 0. ..., 0. ...],
[ 1. ..., 0. ..., 0. ...],
[ 1. ..., 0. ..., 0. ...],
[ 0.55..., 0.83..., 0. ...],
[ 0.63..., 0. ..., 0.77...]])
如何使用這個結果來獲得對搜索最相似的文檔查詢?基本上我正在嘗試重新創建維基百科的搜索欄。基於搜索查詢,我想從維基百科返回最相關的文章。在這種情況下,有6篇文章(行),搜索查詢包含3個詞(列)。
我是將所有結果加在列中還是將所有行加起來?最重要的是最大的價值還是最重要的價值?
那麼我實際上是遵循本教程:http://pyevolve.sourceforge.net/wordpress/?p = 1589 ...什麼沒有意義的是如何使用原始文章和搜索查詢之間的TF-IDF矢量。 – tabchas 2012-08-08 18:31:47
如果你使用tf-idf作爲你的加權方案,你仍然只想規範你的查詢。您的矩陣包含三個術語,所有這些術語都在查詢中表示;因此查詢的原始頻率向量爲(1,1,1)。 sqrt((1^2)+(1^2)+(1^2))= 1.73,1/1.73 = 0.57。所以你的查詢向量是(0.57,0.57,0.57)。現在您可以將查詢視爲另一個文檔。這個查詢向量和其他一些文檔向量的餘弦相似度是它的點積。對於第一篇文章:((.57 * .85)+(.57 * 0)+(.57 * .52))= 0.2964。對所有文章重複此操作,獲得最高分。 – verbsintransit 2012-08-08 19:51:02
所以我不需要訓練某種分類器? – tabchas 2012-08-08 19:53:10