開(kāi)源php中文分詞系統(tǒng)SCWS安裝和使用實(shí)例
一、SCWS簡(jiǎn)介
SCWS 是 Simple Chinese Word Segmentation 的首字母縮寫(xiě)(即:簡(jiǎn)易中文分詞系統(tǒng))。
這是一套基于詞頻詞典的機(jī)械式中文分詞引擎,它能將一整段的中文文本基本正確地切分成詞。 詞是中文的最小語(yǔ)素單位,但在書(shū)寫(xiě)時(shí)并不像英語(yǔ)會(huì)在詞之間用空格分開(kāi), 所以如何準(zhǔn)確并快速分詞一直是中文分詞的攻關(guān)難點(diǎn)。
SCWS 采用純 C 語(yǔ)言開(kāi)發(fā),不依賴任何外部庫(kù)函數(shù),可直接使用動(dòng)態(tài)鏈接庫(kù)嵌入應(yīng)用程序, 支持的中文編碼包括 GBK、UTF-8 等。此外還提供了 PHP 擴(kuò)展模塊, 可在 PHP 中快速而方便地使用分詞功能。
分詞算法上并無(wú)太多創(chuàng)新成分,采用的是自己采集的詞頻詞典,并輔以一定的專有名稱,人名,地名, 數(shù)字年代等規(guī)則識(shí)別來(lái)達(dá)到基本分詞,經(jīng)小范圍測(cè)試準(zhǔn)確率在 90% ~ 95% 之間, 基本上能滿足一些小型搜索引擎、關(guān)鍵字提取等場(chǎng)合運(yùn)用。首次雛形版本發(fā)布于 2005 年底。
SCWS 由 hightman 開(kāi)發(fā), 并以 BSD 許可協(xié)議開(kāi)源發(fā)布,源碼托管在 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擴(kuò)展安裝
# 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
四、詞庫(kù)安裝
# 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實(shí)例代碼。可以詳細(xì)看下SCWS官方API說(shuō)明
//實(shí)例化分詞插件核心類
$so = scws_new();
//設(shè)置分詞時(shí)所用編碼
$so->set_charset('utf-8');
//設(shè)置分詞所用詞典(此處使用utf8的詞典)
$so->set_dict('/usr/local/scws/etc/dict.utf8.xdb');
//設(shè)置分詞所用規(guī)則
$so->set_rule('/usr/local/scws/etc/rules.utf8.ini ');
//分詞前去掉標(biāo)點(diǎn)符號(hào)
$so->set_ignore(true);
//是否復(fù)式分割,如“中國(guó)人”返回“中國(guó)+人+中國(guó)人”三個(gè)詞。
$so->set_multi(true);
//設(shè)定將文字自動(dòng)以二字分詞法聚合
$so->set_duality(true);
//要進(jìn)行分詞的語(yǔ)句
$so->send_text(“歡迎來(lái)到火星時(shí)代IT開(kāi)發(fā)”);
//獲取分詞結(jié)果,如果提取高頻詞用get_tops方法
while ($tmp = $so->get_result())
{
print_r($tmp);
}
$so->close();
返回?cái)?shù)組結(jié)果說(shuō)明:
word _string_ 詞本身
idf _float_ 逆文本詞頻
off _int_ 該詞在原文本路的位置
attr _string_ 詞性
六、在線API
也可以使用在線API實(shí)現(xiàn)中文分詞,API地址:http://www.xunsearch.com/scws/api.php,詳細(xì)說(shuō)明也在地址中。
相關(guān)文章
php下載遠(yuǎn)程大文件(獲取遠(yuǎn)程文件大小)的實(shí)例
下面小編就為大家?guī)?lái)一篇php下載遠(yuǎn)程大文件(獲取遠(yuǎn)程文件大小)的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06CentOS下與Apache連接的PHP多版本共存方案實(shí)現(xiàn)詳解
這篇文章主要介紹了CentOS下與Apache連接的PHP多版本共存方案實(shí)現(xiàn),針對(duì)mod_fcgi模塊的配置作了一些說(shuō)明,需要的朋友可以參考下2015-12-12Codeigniter生成Excel文檔的簡(jiǎn)單方法
之前看了使用PHPExcel中導(dǎo)出數(shù)據(jù)到Excel文件的方法,但是似乎比較復(fù)雜。icech找到了一個(gè)針對(duì)Codeigniter的類:CI-Excel-Generation-Library,使用方法十分簡(jiǎn)單。需要的朋友可以參考下2014-06-06PHP MYSQL簡(jiǎn)易交互式站點(diǎn)開(kāi)發(fā)
這篇文章主要為大家詳細(xì)介紹了PHP MYSQL簡(jiǎn)易交互式站點(diǎn)開(kāi)發(fā),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12