夺命雷公狗—玩转SEO---62---TF-IDF核心算法与运用
比如我們站點有一篇文章,搜索引擎想過來提取一篇文章的關鍵詞,這是涉及到數據挖掘、文本處理、信息檢索等很多的領域,但是出乎意料的是,有一個非常簡單的經典算法,可以給出令人相當滿意的結果。它簡單到都不需要高等數學,普通人只用10分鐘就可以理解,這就是我今天想要介紹的TF-IDF算法。
?
搜索引擎如果需要判斷一篇文章主題,比如《細說PHP技術》,一個容易想到的思路,就是找到出現次數最多的詞。如果某個詞很重要,它應該在這篇文章中多次出現。于是,我們進行"詞頻"(Term Frequency,縮寫為TF)統計。 比如文章中會有很多的 的 是 在 之類的詞,我們會稱呼他為“停用詞”,那么停用詞又是什么呢?百度百科中有詳細的介紹:
這里其實可以理解為:搜索引擎他的存儲空間內存是有一定的,使用他在處理時候,他會將頁面中哪些無關的詞去掉,這樣他抓取的時候會比較更快速,也節省空間從而提升效率~
?
假設我們將它都過濾掉,只考慮剩下的實際意義的詞,這樣會出現一個新問題,我們可能會發現? ?細說? 和? PHP 與 技術? 這三個詞出現的次數一樣多,這樣就會意味著他們的重要性是否一樣呢?
?
顯然不是,因為細說這個詞這個詞很常見,相對而言,PHP 和 技術? 這個詞他不是這么常見,如果這三個詞在同一篇文章,且出現次數一樣多,也有人認為細說中細說的重要程度大于PHP? 和? 技術? ,其實可以理解為? PHP技術 其實可以排在細說前面,因此我們就要衡量一個詞是不是常見詞,如果那個詞比較少見,那么如果同時他在文章中出現的次數較多,那他講反應了文章的特性,這就是我們所需要的關鍵詞。
?
從統計學語言上表達,在次頻基礎上需要對每個詞分辨一個重要的原則,給文章一個關鍵詞分配一個重要的權重,最常見的? 的? 是? 在? 他們是停用詞,給與較小的權重,細說? 也給予較少的權重,那么很少見的詞? PHP? ?和? ?技術? ?給予較大的權重,如果我們去創造一個詞,那么這個詞也是比較少見他的權重也會比較大,這個權重也叫做? 逆文檔頻率??(Inverse Document Frequency,縮寫為IDF)它的大小與一個詞的常見程度成反比。
?
比如? 細說? ?這個詞比較常見,那么他的逆文檔頻率也將會是較低的,成反比,我們知道了? 詞頻(TF)? 和? 逆文檔頻率(IDF)? ?后,將這兩個詞相乘,就得到一個我們所說的TF-IDF值了,某個詞對文章的重要性越高,那么他的TF-IDF的值就越大,所以拍在前面的詞就是文章的關鍵詞了~ ~!
?
第一步、計算詞頻的方法:
詞頻(TF)=某個詞在文章中的出現次數
?
文章有長度之分的,為了不同文章的比較,所以進行詞頻標準化:
詞頻(TF)? =? 某個詞在文章中出現的次數? ÷? ?文章的總詞數
這里可以理解為比如我們要的? ?細說? ?這個詞在一篇文章中值出現了一次,那么這篇文章內容系統會自動進行分詞,分出大量的詞數,比如? PHP? 為一個詞? ? 技術? 為一個詞,如此類推,分出大量的詞后的總關鍵詞數量? 進行一個除法計算即可算出? 詞頻(TF)~~!
或者
詞頻(TF) =? 某個詞在文章中出現的次數? ?÷? ?該文出現次數量最多的詞的出現次數
?
第二步、計算逆文檔頻率
這時,需要一個語料庫(corpus),用來模擬語言的使用環境。
其實可以理解為 語料庫? 其實是搜索引擎的索引庫,這里的的總數我們不得而知,這個要問度娘~~!
?包含該次的文檔數:
在搜索引擎搜索出來的結果? ?細說? ? 明顯是最小的,這里其實可以理解為我們的??包含該次的文檔數。
?
逆文檔頻率(IDF) =? log(語料庫的文檔總數? ÷? ?(包含該次的文檔數? + 1?))
?如果一個詞越常見,那么分母就越大,逆文檔頻率就越小越接近0。分母之所以要加1,是為了避免分母為0(即所有文檔都不包含該詞)。log表示對得到的值取對數。
?
第三步、計算IF-IDF
TF-IDF? = 詞頻(TF)? X? ?逆文檔頻率(IDF)
一個詞在文檔中出現的次數(詞頻TF),與該詞在語料庫中出現的次數成反比,如果出現的越少,那么逆文檔頻率將越高,IDF就越高,相乘那么TF-IDF的值就越大~ ~!
還是以《細說PHP技術》為例,假定該文長度為1000個詞,"細說"、"PHP"、"技術"各出現20次,則這三個詞的"詞頻"(TF)都為0.02。然后,搜索Google發現,包含"的"字的網頁共有250億張,假定這就是中文網頁總數。包含"中國"的網頁共有62.3億張,包含"PHP"的網頁為0.484億張,包含"技術"的網頁為0.973億張。則它們的逆文檔頻率(IDF)和TF-IDF如下:
"PHP"的TF-IDF值最高,"細說"其次,"技術"最低。(如果還計算"的"字的TF-IDF,那將是一個極其接近0的值。)所以,如果只選擇一個詞,"細說"就是這篇文章的關鍵詞。
?
TF-IDF算法的優點是:簡單,快速,比附符合實際結果情況
TF-IDF缺點是:單純以"詞頻"衡量一個詞的重要性,不夠全面,有時重要的詞可能出現次數并不多。而且,這種算法無法體現詞的位置信息,出現位置靠前的詞與出現位置靠后的詞,都被視為重要性相同,這是不正確的。(一種解決方法是,對全文的第一段和每一段的第一句話,給予較大的權重。)
?
搜索引擎的核心變化一直都是很小的,最多只是在基礎上又一點延伸而已,所以上面的方法到目前還是很好使的 ~ ~!
?
本文其實是參考了阮一峰大神的一篇文章? http://www.ruanyifeng.com/blog/2013/03/tf-idf.html? ?來進行編寫的。
早在2013年的時候阮一峰大神就已經玩的東西,小弟只是借鑒他的一篇文章來個TF-IDF玩法以便大家進行參考,如果有哪里寫的不好,請大家多多指點,以便大家一起提升~ ~!
?
灰產玩法小提示:
如果做灰產行業,可以百度指向某一個站,然后給這個站增加一點權重,增加一點信任度,灰產行業玩法是這樣而已,正規站點一般都不是這樣玩的~~!
灰產還有一個玩法就是瘋狂的去舉報競爭對手的快照,這樣百度就會認為這個頁面有問題,會受到降權的,他就會進入一個觀察期,但是目前大家都慢慢的轉白了~~!
?
忙了一天,到USB電影網:http://www.usbdy.com/? 看看電影放松下,突然發現又更新了不少新電影,本期奪命雷公狗為大伙們推薦幾部一篇放松下咯~~!
?
?
白鳥谷? ? :? ??http://www.usbdy.com/dm/73156/
最好的我們2019? ? :? ??http://www.usbdy.com/dy/aiqing/73155/
無主之城2019? ? :? ??http://www.usbdy.com/tv/dalu/73154/
密探? ? :? ??http://www.usbdy.com/dy/dongzuo/73153/
走到盡頭? ? :? ??http://www.usbdy.com/dy/dongzuo/73152/
小公女? ? :? ??http://www.usbdy.com/dy/aiqing/73150/
?
有女朋友的老鐵們可以去陪陪女朋友,木有女朋友的可以過來看看電影,放松一下,其實是挺不錯的選擇喲~~!
?
轉載于:https://www.cnblogs.com/leigood/p/11266610.html
總結
以上是生活随笔為你收集整理的夺命雷公狗—玩转SEO---62---TF-IDF核心算法与运用的全部內容,希望文章能夠幫你解決所遇到的問題。