深入探討PHP自動(dòng)獲取關(guān)鍵詞的具體方法
我們?cè)谶M(jìn)行PHP語(yǔ)言編寫(xiě)時(shí),想要實(shí)現(xiàn)的功能往往都會(huì)與我們的實(shí)際需求有關(guān),越方便我們使用越好。在接下來(lái)的文章中我們將會(huì)為大家介紹如何實(shí)現(xiàn)PHP自動(dòng)獲取關(guān)鍵詞。
#t#現(xiàn)在的CMS都自帶了采集功能,內(nèi)容和標(biāo)題相對(duì)來(lái)說(shuō)很好處理,但大部分情況關(guān)鍵詞很難能提取到。于是自動(dòng)獲取關(guān)鍵字成為當(dāng)前PHP類(lèi)CMS的“傳統(tǒng)問(wèn)題”。
那如何才能實(shí)現(xiàn)PHP自動(dòng)獲取關(guān)鍵詞呢,其主要步驟主要可以分為如下三個(gè)步驟:
PHP自動(dòng)獲取關(guān)鍵詞1,通過(guò)分詞算法將標(biāo)題和內(nèi)容分別進(jìn)行分割,提取出關(guān)鍵詞和頻度
在內(nèi)容的分詞階段,當(dāng)前主要的兩個(gè)算法是中科院的ICTCLAS和隱馬爾可夫模型。但這兩個(gè)都太高端,有一定的門(mén)檻,且都是只支持C++/JAVA?;赑HP的當(dāng)前有兩個(gè)是值得推薦的PSCWS和HTTPCWS。
SCWS于2008-03-08發(fā)布1.0.0 正式版,到現(xiàn)在***版本已經(jīng)到了1.0.4。PSCWS是它的PHP版。而HTTPCWS是張宴開(kāi)發(fā)的,之前叫PHPCWS。
PHPCWS 先使用“ICTCLAS 3.0 共享版中文分詞算法”的API進(jìn)行初次分詞處理,再使用自行編寫(xiě)的“逆向***匹配算法”對(duì)分詞和進(jìn)行詞語(yǔ)合并處理,并增加標(biāo)點(diǎn)符號(hào)過(guò)濾功能,得出分詞結(jié)果。目前僅支持Linux/Unix系統(tǒng)。
PHP自動(dòng)獲取關(guān)鍵詞2,將提取結(jié)果與現(xiàn)有詞庫(kù)進(jìn)行比較,得到***規(guī)則的關(guān)鍵詞
這里主要就是要看詞庫(kù)了,我們可以自己定義詞庫(kù),也可以使用現(xiàn)有的成熟詞庫(kù)。
PHP自動(dòng)獲取關(guān)鍵詞3,然后將這兩套關(guān)鍵詞進(jìn)行比較,得到***當(dāng)前內(nèi)容的關(guān)鍵詞
在這個(gè)階段就是具體情況具體分析了。當(dāng)前PHP類(lèi)CMS都自有自己的提取關(guān)鍵詞系統(tǒng)。其中在網(wǎng)絡(luò)上流傳最廣的是DEDECMS的分詞源碼,我也在我的POPCMS上作過(guò)測(cè)試,效果很不錯(cuò),不過(guò)類(lèi)似“我們”等無(wú)意義的詞提取并被列為關(guān)鍵詞的頻率太高,甚至有時(shí)候還會(huì)把空格的HTML提出來(lái)做為關(guān)鍵詞,亟待改進(jìn)。不過(guò)如果作為輔助功能,它已經(jīng)很好了。
另外PHPCMS和DISCUZ的PHP自動(dòng)獲取關(guān)鍵詞的功能也很強(qiáng)大。