如何計算文章標題和內容相關度?資深站長都知道,搜索引擎每天在爬蟲的時候都是比較喜歡新鮮質感的內容,而且內容與標題要有較高的相關性,如果只是一味的標題檔那是沒有效果的。搜索引擎是比厭煩這種東西的,它具有很高的智能性判斷,所以大家在以后的優(yōu)化過程中不用想著蒙混過關,那是不可行的。
如果你不知道搜索引擎是如何計算文章與標題相關度的,那希望這篇文章能對你有幫助,耐心的學起來吧。
做一個審核相關度的功能
從seo出現(xiàn)以來,一直有一個概念是整個seo優(yōu)化過程都需要知道的東西,那就是關鍵詞密度。很多的seo教程一直強調關鍵詞密度要在2%~8%之間是最好的,低于這個范圍就沒啥競爭力,主題不集中;而高于這個值就會導致關鍵詞堆砌,優(yōu)化過度了,容易受到搜索引擎的打擊。
那是不是說明這個關鍵詞密度是計算主題相關度的一個重要指標呢?但是這個關鍵詞的密度是完整的關鍵詞密度還是分詞后的關鍵詞密度呢?是正文部分的關鍵詞密度還是整個網頁文字內容部分的關鍵詞密度呢?這個不好說,但是我們能從搜索結果里面的百度快照看出點啥來。
從搜索結果里面來看,其實是有分詞的,但是完整匹配的排名效果會更好。(這個顯然大伙都知道,哈哈) 于是就有很多做seo的,特別是做黑帽的,就直接往文章里面插入完整的關鍵詞,一般插入2-3次這樣,用以提高關鍵詞的密度和文章的相關性。
好了,這些都不是本文的關注點,我們來看看如果要實現(xiàn)一個關鍵詞密度計算的程序應該如何實現(xiàn)。
1、分別將關鍵詞和文章內容進行分析
2、統(tǒng)計文章中出現(xiàn)關鍵詞分詞結果的次數(shù)
3、用2的結果除以文章分詞后的總次數(shù)
4、優(yōu)化點,可以先去除文章和關鍵詞中的停止詞之后再做計算,這樣可能更貼切一點。(留給大家實現(xiàn)了)
代碼
我拿了篇文章做了下計算,結果如下:
計算的文章地址:https://game.china.com/industry/focus/11118308/20200630/38421717.html
這篇文章的關鍵詞密度是11.4% 看起來有點優(yōu)化過度了?但實際上并沒有超出很多,而且目前這個是排名在第4的。而且我計算的只是正文內容的關鍵詞密度。
當然了,我這個也只是一種粗略的計算方式,相信搜索引擎會有更加完善的計算。大家如果感興趣可以自己試試哦。
那么這個關鍵詞密度是不是影響這個排名的重要因素呢?這個大家可以去驗證一下,這個不是本文的主題哈。
回到正題,如果只是通過關鍵詞密度來計算文本的相關性似乎有點不太靠譜,還有沒有其它好的辦法來實現(xiàn)呢?這里我又想到了另外的一種思路:
思路如下:
1、將標題和文章正文進行分詞處理
2、利用TF_IDF算法提取出文章的N個核心詞語,這里的N可以是一個固定的數(shù)值,比如10個,也可以是動態(tài)的數(shù)值,比如跟關鍵詞分詞后的個數(shù)一樣
3、去除標題分詞中字數(shù)少于2個字的,只有一個字的詞默認就認為文中是包含的。
4、將3中的結果進行去重然后拿去跟2中的詞做對比,得到3沒有包含在2中的詞語
5、將4中沒有包含詞語的個數(shù)除以1中的總個數(shù),再用1減去計算值就得到相似度 具體代碼實現(xiàn)如下:
代碼
跟關鍵詞密度一起來作對比,運行上次的文章,得到如下結果:
這里可以看到,關鍵詞密度是11.4%,而相似度是80%,看起來還是可以的。當然了,沒有做大量的測試,感興趣的同學可以用下哦。
如果你有更好的方法或者idea歡迎留言一起探討學習。我這個方法是比較簡單的。當精度的要求沒那么高的時候,簡單快速的方法是我們實現(xiàn)功能的首先。
完整代碼
article.txt 文件里面存放的就是該測試文章的純文本內容