所以我在信息檢索概念上掙扎。這是關于給定查詢的文檔的余弦相似度。我正在處理大約 1000 個文件以生成帶有 [docID x terms] 的詞頻矩陣。我生成了這個矩陣,但我對如何處理查詢并從中生成余弦相似度感到困惑。我得到了一個查詢,其中包含我應該通過語料庫解析的術語,我已經完成了。并生成一個向量,其中所有 docID 都包含至少一個單詞。所以我應該根據余弦相似度計算所有這些行向量?例子:查詢是一個列表,其中包含詞頻矩陣中的列位置和詞條OccurenceVector 是一個包含查詢中包含單詞的所有文檔的數組Query = [[2796, 'crystalline'], [6714, 'lens'], [5921, 'including'], [5566, 'humans']]OccurrenceVector = array([ 13, 14, 15, 72, 79, 138, 142, 164, 165, 166, 167, 168, 169, 170, 171, 172, 180, 181, 182, 183, 184, 185, 186, 211, 212, 213, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513])我的思考過程是這樣的:[docID x term] 的詞頻矩陣(行 x 列)接收帶有針對語料庫的術語的查詢檢索包含這些術語出現的所有 docID 的向量檢索對應于檢索到的 docID 的每一行計算檢索到的所有行之間的余弦相似度?這是考慮使用這樣的多維數組計算余弦相似度的正確方法嗎?
添加回答
舉報
0/150
提交
取消