程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 開源php中文分詞系統SCWS安裝和使用實例

開源php中文分詞系統SCWS安裝和使用實例

編輯:PHP綜合

一、SCWS簡介

SCWS 是 Simple Chinese Word Segmentation 的首字母縮寫(即:簡易中文分詞系統)。
這是一套基於詞頻詞典的機械式中文分詞引擎,它能將一整段的中文文本基本正確地切分成詞。 詞是中文的最小語素單位,但在書寫時並不像英語會在詞之間用空格分開, 所以如何准確並快速分詞一直是中文分詞的攻關難點。
SCWS 采用純 C 語言開發,不依賴任何外部庫函數,可直接使用動態鏈接庫嵌入應用程序, 支持的中文編碼包括 GBK、UTF-8 等。此外還提供了 PHP 擴展模塊, 可在 PHP 中快速而方便地使用分詞功能。
分詞算法上並無太多創新成分,采用的是自己采集的詞頻詞典,並輔以一定的專有名稱,人名,地名, 數字年代等規則識別來達到基本分詞,經小范圍測試准確率在 90% ~ 95% 之間, 基本上能滿足一些小型搜索引擎、關鍵字提取等場合運用。首次雛形版本發布於 2005 年底。
SCWS 由 hightman 開發, 並以 BSD 許可協議開源發布,源碼托管在 github。

二、scws安裝

復制代碼 代碼如下:
# wget -c http://www.xunsearch.com/scws/down/scws-1.2.1.tar.bz2
# tar jxvf scws-1.2.1.tar.bz2
# cd scws-1.2.1
# ./configure --prefix=/usr/local/scws
# make && make install

三、scws的PHP擴展安裝

復制代碼 代碼如下:
# cd ./phpext
# phpize
# ./configure --with-php-config=/usr/local/php5410/bin/php-config
# make && make install
# echo "[scws]" >> /usr/local/php5410/etc/php.ini
# echo "extension = scws.so" >> /usr/local/php5410/etc/php.ini
# echo "scws.default.charset = utf-8" >> /usr/local/php5410/etc/php.ini
# echo "scws.default.fpath = /usr/local/scws/etc/" >> /usr/local/php5410/etc/php.ini

四、詞庫安裝

復制代碼 代碼如下:
# wget http://www.xunsearch.com/scws/down/scws-dict-chs-utf8.tar.bz2
# tar jxvf scws-dict-chs-utf8.tar.bz2 -C /usr/local/scws/etc/
# chown www:www /usr/local/scws/etc/dict.utf8.xdb

五、php實例代碼。可以詳細看下SCWS官方API說明

復制代碼 代碼如下:
//實例化分詞插件核心類
 $so = scws_new();
 //設置分詞時所用編碼
 $so->set_charset('utf-8');
 //設置分詞所用詞典(此處使用utf8的詞典)
 $so->set_dict('/usr/local/scws/etc/dict.utf8.xdb');
 //設置分詞所用規則
 $so->set_rule('/usr/local/scws/etc/rules.utf8.ini ');
 //分詞前去掉標點符號
 $so->set_ignore(true);
 //是否復式分割,如“中國人”返回“中國+人+中國人”三個詞。
 $so->set_multi(true);
 //設定將文字自動以二字分詞法聚合
 $so->set_duality(true);
 //要進行分詞的語句
 $so->send_text(“歡迎來到火星時代IT開發”);
 //獲取分詞結果,如果提取高頻詞用get_tops方法
 while ($tmp = $so->get_result())
 {
     print_r($tmp);
 }
 $so->close();
返回數組結果說明:
復制代碼 代碼如下:
word   _string_ 詞本身 
idf        _float_ 逆文本詞頻 
off         _int_ 該詞在原文本路的位置 
attr       _string_ 詞性

六、在線API

也可以使用在線API實現中文分詞,API地址:http://www.xunsearch.com/scws/api.php,詳細說明也在地址中。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved