色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

php實現(xiàn)自動獲取生成文章主題關鍵詞功能的深入分析

以前寫程序一直在逃避這個問題,tag什么的都是要求使用程序的人自行輸入,對于某些懶人及為了程序的體驗,則是希望可以有自動生成文章關鍵詞,自動獲取文章tag的類似功能,這次為了迎接新的項目,所以搗鼓了一晚上,研究了一下這個功能。
要實現(xiàn)自動獲取關鍵詞的功能,大概可以分成三步
1,通過分詞算法將標題和內(nèi)容分別進行分割,提取出關鍵詞和頻度。
當前主要的兩個算法是中科院的ICTCLAS和隱馬爾可夫模型。但這兩個都太高端,有一定的門檻,且都是只支持C++/Java。基于php的當前有兩個是值得推薦的PSCWS和HTTPCWS。 SCWS于2008-03-08發(fā)布1.0.0 正式版,到現(xiàn)在最新版本已經(jīng)到了1.0.4。PSCWS是它的php版。而HTTPCWS是張宴開發(fā)的,之前叫phpCWS。phpCWS 先使用“ICTCLAS 3.0 共享版中文分詞算法”的API進行初次分詞處理,再使用自行編寫的“逆向最大匹配算法”對分詞和進行詞語合并處理,并增加標點符號過濾功能,得出分詞結果。不過很遺憾目前僅支持Linux系統(tǒng),尚未移植到win平臺上。
2,將提取結果與現(xiàn)有詞庫進行比較,處理,去除無用的詞得到最符合規(guī)則的關鍵詞。這里主要就是要看詞庫了,我們可以自己定義詞庫,也可以使用現(xiàn)有的成熟詞庫。比如新浪和網(wǎng)易博客都有這個功能,。他們分詞應該有不錯的詞庫,因為他們都是大網(wǎng)站,而我呢,區(qū)區(qū)一個小程序員,不可能搞到什么權威的詞庫,所以只能從現(xiàn)有的開源程序上入手,看看他們的詞庫。
3,在處理后的提取結果中選擇適當?shù)淖鳛樽罱K的關鍵詞,得到最符合當前內(nèi)容的關鍵詞,在這個階段就是具體情況具體分析了,無論如何也不可能達到人的那種智能化。最多是。當前php類CMS都自有自己的提取關鍵詞系統(tǒng)。
目前在網(wǎng)絡上流傳最廣的是DEDECMS的分詞源碼,我做了測試,發(fā)現(xiàn)相當?shù)拇簦Ч懿缓谩K仍O置一個關鍵詞長度,確定獲取關鍵詞的數(shù)量,然后取詞,它認為標題分好的詞就是所需關鍵詞,在加上從正文中讀取關鍵詞只到達到這個所設置的長度,就是最終關鍵詞了。另外類似“我們”等無意義的詞也沒有去除掉提取并被列為關鍵詞的頻率太高,甚至有時候還會把空格的HTML提出來做為關鍵詞,亟待改進。不過如果作為輔助功能,它已經(jīng)很好了。而discuz的稍微好一些,但是discuz并沒有提供源碼,只是提供了一個在線api。
而dede的分詞也有好幾個版本,最好的應該是最新版的吧,出現(xiàn)頻率什么都有了,下面就以dede5.7的分詞和discuz的api的結果對比下
測試例子:
$title="THINKphp官方即將停止對2.0版本的支持";
$body="了更好地做好Thinkphp框架的開發(fā)、維護和支持工作,官方宣布從2012年5月1日起s對2.0及之前版本的維護和支持,為了節(jié)能低碳考慮,同時也取消官網(wǎng)的相應版本和文檔下載。
就此緬懷那些年,曾經(jīng)一起開發(fā)的Thinkphp版本吧!
關于Thinkphp 2.0版本
Thinkphp誕生于2006年,致力于WEB應用的快速開發(fā),其2.0版本發(fā)布于2009年10月1日 ,在之前的1.*版本上完成新的重構和飛躍,當時是一次劃時代的版本,為新版奠定了基礎,同時也積累了較多的用戶群和網(wǎng)站,隨著框架的快速更新,和新版2.1、2.2和3.0版本的陸續(xù)發(fā)布,預示著Thinkphp的3.0時代到來了,2.0的生命周期宣告結束。但基本上2.0的很多功能都延續(xù)或者完善到2.1版本中了,從2.0版本升級到2.1和2.2版本也相對輕松。2.2版本是2.*版本的最終版本,不再更新功能,僅做BUG修復。";
一、dede分詞
將結果排序后如下
    主站蜘蛛池模板: 仪征市| 梅州市| 嘉定区| 乌拉特前旗| 滨海县| 嘉鱼县| 磴口县| 武汉市| 柳河县| 太仓市| 南通市| 广西| 奎屯市| 富顺县| 连城县| 清徐县| 五家渠市| 无极县| 樟树市| 同心县| 永修县| 元阳县| 津南区| 临泉县| 佛坪县| 重庆市| 新巴尔虎右旗| 南阳市| 保康县| 铜陵市| 昌黎县| 商都县| 平原县| 盐边县| 高阳县| 祁门县| 工布江达县| 武功县| 潞西市| 克什克腾旗| 麻城市|