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