Lucene原始碼 二 文字相似度TF IDF原理

2021-10-04 23:33:08 字數 896 閱讀 7232

lucene中tf-idf的計算公式與普通的tf-idf不一樣。學習之後,感覺lucene的計算方法更加合理,考慮得更加周全。

q:query,即搜尋內容,例如:github

d:document,即文件內容,例如:i like github

即我們的搜尋內容"github"跟文件內容"i like github"的tf-idf值(相似度)。tf-idf值越高,搜尋的內容與文件的匹配度越高。

t:term,對query進行分詞之後的單詞

tf:文件**現單詞t的頻次

numdocs:總的文件數量

docfreq:含有單詞t的文件數量

t.getboost():單詞t的權重,即單詞t的重要性

norm(t,d):文件長度加權因子,它的作用就是提高短文件的分數,降低長文件的分數。

f.boost():索引欄位f的權重即重要性

coord(q, d):搜尋內容query分詞之後有n個單詞,文件**現了n個單詞中的m個,那麼coord(q, d) = m / n

querynorm:歸一化因子,讓不同的query的if-idf分數可以進行比較。

q.getboost():與上面的同理,當前query的重要性/權重

文字相似度

這種相似度計算方式相對簡單,原理也易於理解,就是計算單詞集合之間的交集和並集大小的比例,該值越大,表示兩個文字越相似。在涉及到大規模平行計算時,該方法效率上有一定的優勢。jaccard 相似度公式 舉例 句子a 我喜歡看電視,不喜歡看電影。句子b 我不喜歡看電視,也不喜歡看電影。分詞去噪後 a 我,...

計算文字相似度 文字相似度演算法之 simhash

文字相似度演算法種類繁多,今天先介紹一種常見的網頁去重演算法simhash。1 什麼是simhash 2 simhash步驟 人工智慧,1 大資料,2 科技,3 網際網路,4 機器學習,5 人工智慧 00101 大資料 11001 科技 00110 網際網路 10101 機器學習 01011 has...

計算文字相似度

計算文字相似度 推薦2收藏 簡單講解 文字相似度計算在資訊檢索 資料探勘 機器翻譯 文件複製檢測等領域有著廣泛的應用。比如 控制,我們假設你開發了乙個微博 並且已經把世界上罵人的句子都已經收錄進了資料庫,那麼當乙個使用者發微博時會先跟罵人句子的資料庫進行比較,如果符合裡面的句子就不讓使用者發出。通常...