php 分詞擴充套件 scws

2022-09-11 22:54:34 字數 2823 閱讀 3336

官方:

以 linux(freebsd) 作業系統為例

1. 取得 scws-1.2.2 的**

wget

2. 解開壓縮包

[hightman@d1 ~]$ tar xvjf scws-1.2.2.tar.bz2

3. 進入目錄執行配置指令碼和編譯

[hightman@d1 ~]$ cd scws-1.2.2[hightman@d1 ~/scws-1.2.2]$ ./configure --prefix=/usr/local/scws ; make ; make install

注:這裡和通用的 gnu 軟體安裝方式一樣,具體選項引數執行 ./configure --help 檢視。

常用選項為:--prefix=

4. 順利的話已經編譯並安裝成功到 /usr/local/scws 中了,執行下面命令看看檔案是否存在

[hightman@d1 ~/scws-1.2.2]$ ls -al /usr/local/scws/lib/libscws.la

5. 試試執行 scws-cli 檔案

[hightman@d1 ~/scws-1.2.2]$ /usr/local/scws/bin/scws -h

scws (scws-cli/1.2.2)

****** chinese word segmentation - command line usage.

...[hightman@d1 ~/scws-1.2.2]$ cd /usr/local/scws/etc

[hightman@d1 /usr/local/scws/etc]$ wget

[hightman@d1 /usr/local/scws/etc]$ wget

[hightman@d1 /usr/local/scws/etc]$ tar xvjf scws-dict-chs-gbk.tar.bz2

[hightman@d1 /usr/local/scws/etc]$ tar xvjf scws-dict-chs-utf8.tar.bz2

7. 寫個小程式測試一下

[hightman@d1 ~]$ cat > test.c

#include

#include

main()

8. 編譯測試程式

gcc -o test -i/usr/local/scws/include -l/usr/local/scws/lib test.c -lscws -wl,--rpath -wl,/usr/local/scws/lib

./test

9. 這樣就好順利安裝完畢可以使用 libscws 這套 c-api 了

假設您已經將 scws 按上述步驟安裝到 /usr/local/scws 中。

安裝此擴充套件要求您的 php 和系統環境安裝了相應的 autoconf automake 工具及 phpize 。

1) 進入原始碼目錄的 phpext/ 目錄 ( cd ~/scws-1.2.2 )

2) 執行 phpize (在php安裝目錄的bin/目錄下)

3) 執行 ./configure --with-scws=/usr/local/scws

若 php 安裝在特殊目錄 $php_prefix, 則請在 configure 後加上 --with-php-config=$php_prefix/bin/php-config

4) 執行 make 然後用 root 身份執行 make install

5) 在 php.ini 中加入以下幾行

[scws]

;; 注意請檢查 php.ini 中的 extension_dir 的設定值是否正確, 否則請將 extension_dir 設為空,

; 再把 extension = scws.so 指定絕對路徑。

;extension = scws.so

scws.default.charset = gbk

scws.default.fpath = /usr/local/scws/etc

6) 命令列下執行 php -m 就能看到 scws 了或者在 phpinfo() 中看看關於 scws 的部分,記得要重啟 web 伺服器

才能使新的 php.ini 生效。

7) 這樣就算安裝完成了,餘下的工作只是php**編寫問題了。

關於 php 擴充套件的使用說明請參看**中 phpext/readme.md 檔案或其它文件章節。

11.swcs 在php 中使用

例子1 使用類方法分詞

<?php

$so = scws_new();

$so->set_charset('gbk');

// 這裡沒有呼叫 set_dict 和 set_rule 系統會自動試呼叫 ini 中指定路徑下的詞典和規則檔案

$so->send_text("我是乙個中國人,我會c++語言,我也有很多t恤衣服");

while ($tmp = $so->get_result())

$so->close();

?>

例子2 使用函式提取高頻詞

<?php

$sh = scws_open();

scws_set_charset($sh, 'gbk');

scws_set_dict($sh, '/path/to/dict.xdb');

scws_set_rule($sh, '/path/to/rules.ini');

$text = "我是乙個中國人,我會c++語言,我也有很多t恤衣服";

scws_send_text($sh, $text);

$top = scws_get_tops($sh, 5);

print_r($top);

?>

修改匯入匯出工具 

PHP中文分詞擴充套件 SCWS

1 scws簡介 scws 是 chinese word segmentation 的首字母縮寫 即 簡易中文分詞系統 這是一套基於詞頻詞典的機械式中文分詞引擎,它能將一整段的中文文字基本正確地切分成詞。詞是中文的最小語素單位,但在書寫時並不像英語會在詞之間用空格分開,所以如何準確並快速分詞一直是中...

編譯PHP的SCWS中文分詞擴充套件

scws 是 chinese words segmentation 的縮寫,即簡易中文分詞系統。版本號 1.1.3 2 執行 phpize 在php安裝目錄的bin 目錄下 還是在剛剛提到的那個目錄下執行phpize,不要跳出去 3 執行 configure with scws usr local ...

SCWS中文分詞PHP擴充套件詳細安裝說明

因最近寫的一段 需要用到中文分詞,在網上找了一下,發現了scws這個不錯的外掛程式,故根據文件安裝使用,下面記錄下安裝的全過程 系統 centos wget tar xvjf scws 1.2.3.tar.bz2 cd scws 1.2.3 configure prefix usr local sc...