現在的CMS都自帶了采集功能,內容和標題相對來說很好處理,但大部分情況關鍵詞很難能提取到。於是自動獲取關鍵字成為當前PHP類CMS的“傳統問題”。那如何才能自動獲取關鍵詞呢,其主要步驟主要可以分為如下三個步驟:
1,通過分詞算法將標題和內容分別進行分割,提取出關鍵詞和頻度在內容的分詞階段,當前主要的兩個算法是中科院的ICTCLAS和隱馬爾可夫模型。但這兩個都太高端,有一定的門檻,且都是只支持C++/Java。基於PHP的當前有兩個是值得推薦的PSCWS和HTTPCWS。 SCWS於2008-03-08發布1.0.0 正式版,到現在最新版本已經到了1.0.4。PSCWS是它的PHP版。而HTTPCWS是張宴開發的,之前叫PHPCWS。PHPCWS 先使用“ICTCLAS 3.0 共享版中文分詞算法”的API進行初次分詞處理,再使用自行編寫的“逆向最大匹配算法”對分詞和進行詞語合並處理,並增加標點符號過濾功能,得出分詞結果。目前僅支持Linux/Unix系統。
2,將提取結果與現有詞庫進行比較,得到最符合規則的關鍵詞這裡主要就是要看詞庫了,我們可以自己定義詞庫,也可以使用現有的成熟詞庫。
3,然後將這兩套關鍵詞進行比較,得到最符合當前內容的關鍵詞在這個階段就是具體情況具體分析了。當前PHP類CMS都自有自己的提取關鍵詞系統。其中在網絡上流傳最廣的是DEDECMS的分詞源碼,我也在我的POPCMS上作過測試,效果很不錯,不過類似“我們”等無意義的詞提取並被列為關鍵詞的頻率太高,甚至有時候還會把空格的Html提出來做為關鍵詞,亟待改進。不過如果作為輔助功能,它已經很好了。另外PHPCMS和DISCUZ的自動提取關鍵詞功能也很強大。