PHP中文分詞擴充 SCWS

來源:互聯網
上載者:User
這篇文章主要介紹了開源php中文分詞系統SCWS安裝和使用執行個體,需要的朋友可以參考下

一、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.php.cn/# 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.php.cn/# 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,詳細說明也在地址中。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.