早期的關(guān)鍵字堆砌SPAM作弊方式之一,是將中文詞庫中的單詞直接用軟件拼湊成文章,這樣的文章沒有實際的意義,只能給搜索引擎看。那么對于這樣的文章,搜索引擎是通過什么方式來識別的呢?
我們知道,每個搜索引擎都有網(wǎng)頁質(zhì)量監(jiān)控部門,對于百度等摻雜人工處理的搜索引擎而言,用戶發(fā)現(xiàn)這樣的網(wǎng)站,投訴到百度,百度直接封了這個網(wǎng)站了事。但對于Google這樣的封站也是自動處理的搜索引擎而言,對關(guān)鍵字堆砌作弊的識別就顯得更為重要了。
對于關(guān)鍵字堆砌作弊方式的識別,網(wǎng)站建設(shè)搜索引擎一般采用統(tǒng)計分析的方法進行。
搜索引擎首先將網(wǎng)頁進行分詞,分詞完成后可以得到詞的數(shù)量N和文章長度L,從大量文章的統(tǒng)計中發(fā)現(xiàn)文章的長度L和詞的數(shù)量N兩個數(shù)字之間存在一定的分布關(guān)系,一般而言L/N界于4至8之間,均值大約在5-6之間。也就是說一篇長度為1000字節(jié)的文章中,應(yīng)該有125-250個分詞,由于中文和英文的詞的組成不一致,因此在英文和中文中這個比值的范圍會有所不同。如果搜索引擎發(fā)現(xiàn)L/N特別大,那么這篇文章就存在就存在關(guān)鍵字堆砌現(xiàn)象了,如果L/N特別小,則可能是這篇文章是由一些詞所組成的沒有意義的文章。
進一步,通過大量正常文章統(tǒng)計發(fā)現(xiàn),文章中密度高的幾個關(guān)鍵字出現(xiàn)的次數(shù)之和與N/L存在一定的分布關(guān)系,搜索引擎就可以通過網(wǎng)頁中的分布與統(tǒng)計結(jié)果的分布圖進行比較得出文章是否存在關(guān)鍵字堆砌的現(xiàn)象。
此外,搜索引擎還將從停止字的比例來判定文章是否為自然文章。停止字就是如“的”“我”“是”等在文章中普遍使用的字或詞,如果文章中停止字的比例在正常的比例范圍之外,這個網(wǎng)頁應(yīng)提交到網(wǎng)頁質(zhì)量監(jiān)控部門審核。
當(dāng)然,還有更多的算法可以對網(wǎng)頁與自然語言的文章進行比較分析,以判別文章是否為自然文章。
所謂魔高一尺、道高一丈,有些作弊者已經(jīng)放棄了單詞的組成文章的作弊方式,而改用句子組成文章的作弊方式,作弊者通過爬蟲或其它方式獲得網(wǎng)上文章的句子,并用軟件將數(shù)十篇文章的某幾句拼湊成一篇文章。這就需要搜索引擎做語義的分析來判斷是否作弊了,然而目前關(guān)于語義分析的研究還處于研究階段,這也是下一代智能搜索引擎的方向。
然而我們?nèi)匀徊荒軐⒆詣游恼律梢还髯哟蛩?,基于人工智能的文章生成仍然是人類研究自身語言以及自身智能的一個重要方向。作弊與反作弊,將能促使人類對人工智能的研究。
如果到最后,軟件能生成人類能夠理解的文章,這是SPAM還是精華?你能肯定地說目前存在的智能化程度還不夠高的RSS聚合文章一定是SPAM嗎?然而,如果這樣的文章海量的出現(xiàn),我們又該如何去面對這個現(xiàn)象?