scws

SCWS 是 Simple Chinese Word Segmentation 的首字母縮寫(即:簡易中文分詞系統)。php

這是一套基於詞頻詞典的機械式中文分詞引擎,它能將一整段的中文文本基本正確地切分紅詞。 詞是中文的最小語素單位,但在書寫時並不像英語會在詞之間用空格分開, 因此如何準確並快速分詞一直是中文分詞的攻關難點。git

SCWS 採用純 C 語言開發,不依賴任何外部庫函數,可直接使用動態連接庫嵌入應用程序, 支持的中文編碼包括 GBK、UTF-8 等。此外還提供了 PHP 擴展模塊, 可在 PHP 中快速而方便地使用分詞功能。github

分詞算法上並沒有太多創新成分,採用的是本身採集的詞頻詞典,並輔以必定的專有名稱,人名,地名, 數字年代等規則識別來達到基本分詞,經小範圍測試準確率在 90% ~ 95% 之間, 基本上能知足一些小型搜索引擎、關鍵字提取等場合運用。首次雛形版本發佈於 2005 年末。算法

SCWS 由 hightman 開發, 並以 BSD 許可協議開源發佈,源碼託管在 githubapi

動態

  • 推薦!!基於 scws + Xapian 的開源全文搜索引擎 xunsearch(迅搜)發佈,是很是好用的 php 全文解決方案!
  • 2013-7-11: SCWS-1.2.2 Released.1) 改進中英夾雜的長詞複合分法,好比 "奧迪A6/奧迪/A6"2) 修正 pscws23 演示文件的一些寫法與新版 PHP 不兼容3) 修正一些 configure 檢測錯誤
  • 2013-1-15: SCWS-1.2.1 Released.1) 將源碼遷移並託管到 github2) 改進 C API 中 scws_fork() 的算法,使之更爲合理3) 遷移並修改新版官方主頁:http://www.xunsearch.com/scws
  • 2012-3-29: SCWS-1.2.0 Released.1) 修改 php 擴展代碼以兼容支持 php 5.4.x2) 修正 php 擴展中 scws_get_tops 的 limit 參數不容許少於 10 的問題3) libscws 增長 scws_fork() 從既有的 scws 實例產生分支並共享詞典/規則集,主要用於多線程開發。4) 新增部分版本的 win32 的 dll 擴展,詳見下載頁面
  • 2011-12-26: SCWS-1.1.9 Released.1) 明確使用開源協議 New BSD License 發佈新版本2) 深度優化複合分詞中的 SCWS_MULTISHORT 選項,更爲合理有效,符合全文檢索的需求3) 測試腳本自動加載當前目錄下的 dict_user.txt 文本詞典4) 修正 scws.c 中 __PARSE_XATTR__ 宏的 BUG 致使 scws_get_tops 和 scws_get_words 的 xattr 參數工做不正常的問題5) 移除 scws.c 中關於 jabberd2s10 的註釋,已不包含它的代碼6) 爲獨立使用的 .h 文件添加 C++ 的 extern "C" 標記以便直接使用:xdb.h,xdict.h,xtree.h,pool.h,darray.h
  • 2011-07-30: SCWS-1.1.8 Released.1) win32/目錄新增 vc9 工程文件, 默認爲 php-5.3.x 提供的 php_scws.dll 採用 VC9(thread-safety) 編譯2) 修改英語專有名詞的識別方式, 原先 X.Y.Z 必須字母全大寫,現也容許小寫3) 修改 congiure.in 在 ---enable-developer 選項的處理方式,不覆蓋預設的 CFLAGS4) 改變數字字母單獨成詞時的規則,當其中同時包含2個連續字母以及2個連續數字時強制拆分。例:原先單獨的 iso9001 是整詞,新規則切爲 iso+9001 而 i9001 則保持不變仍爲。這樣作更有利於全文檢索。
  • 2011-05-21: SCWS-1.1.7 Released.1) 刪除 __PARSE_XATTR__ 宏中企圖修改 xattr 的內容的做法, 當 xattr 爲常量字符串時會出錯.2) 調整 config.h 的包含方式移入 .c 文件而非 .h 文件3) 增長一些PHP測試腳本, 位於phpext/scws_test.php, 精選了一些岐義較多的語句進行測試。4) 修正 scws_has_word() 的一處內存泄露 (感謝lauxinz)5) 修改調試模式的編譯選項,去除-O2避免源碼和代碼沒法對應。 (感謝lauxinz)
  • 2011-04-20: SCWS-1.1.6 Released.1) 修正夾雜在漢字中間的1-2個英文字符的詞性爲 en 而不是原來的 un 致使清除符號時消失.2) 調整將數字後面的獨立 % 歸入整詞做爲百分比,如 33.3% 做爲整詞而再也不是 33.3 和 %3) 修改連字符(-)和下劃線(_)的規則,當出如今字母單詞之間時視爲同一詞而再也不強行切開,此時若是激活複合分詞的 DUALITY 選項,則仍能將符號切開做爲複合詞。4) 修正浮點數的識別規則,避免將IPv4地址識別爲2個小數的尷尬,好比 192.168.1.1 之前會被切成 192.168 和1.1 2個數字,如今不會了。5) libscws 安裝後將全部的頭文件(*.h)按裝到 $prefix/include/scws 而不是之前的 $prefix/include,故採用C API開發時頭部建議寫 #include <scws/scws.h>
  • 2010-12-31: SCWS-1.1.5 Released.1) 修正 xdb.c 中存在的一處緩衝區溢出, 感謝論壇網友 hovea.2) 修正 phpext/ 中 scws_get_result() 參數解析裏多了一個z 的問題,感謝網友(阿男)告知3) 修正 scws.c 中某些字符在ignore symbol設置下無效的問題4) 修正 1.1.4 的 xdb.c 270行處因爲書寫錯誤致使的嚴重錯誤, 1.1.4版做廢應及時升爲 1.1.5
  • 2010-12-02: 新增基於HTTP/post的SCWS在線分詞API,供一些雲平臺的應用程序簡易輕型調用。
  • 2010-09-15: SCWS-1.1.3 Released.1) 將 cli/ 下的工具程序命名下劃線改爲鏈接線(減號), gen_scws_dict 改成 gen-scws-dict2) 消除 php5.3 的警告信息, 重寫 phpext/ 中的部分zend API, 統一採用 zend_parse_parameters()
  • 2010-05-09: SCWS-1.1.2 Released.1) 這是一個bug fixed的發佈, 修正非內存模式的詞典返回的 malloced 標識與 zflag_symbol 衝突致使姓名識別失敗.2) 附帶修正 phptool_for_scws_xdb.zip 導出詞典時最後出現負偏移的 bug3) 新增支持 php-5.3.x 的 php_scws.dll,編譯環境爲 VC6, x86, ThreadSafe4) 關於 1.1.x 的新功能的詳細用法及介紹請點此進入BLOG查看文本自動分類新詞TF/IDF計算器
  • 2010-03-04: SCWS-1.1.1 Released, 修正在 xdict 中針對 SCWS_WORD_MALLOCED 定義過大(應爲0x80)致使內存泄露.
  • 2010-03-19: 簡體中文 xdb 詞典更新, 修正部分生冷漢字被誤當符號清除的 Bug(感謝 iSS的反饋), 點擊這裏從新下載XDB詞典.
  • 2010-01-28: SCWS-1.1.0 Released.1) 新增功能: 支持載入純文本詞典(TXT), 一次分詞可以使用多個詞典, 以實現不改變核心詞庫的原則下快速增減詞。2) 新增功能:判斷文本中是否包含指定詞性的詞彙及獲取指定詞性的詞彙列表(詞性參數和scws_get_tops相同)3) 該版本同步編譯支持 Win32 的 php_scws.dll,支持 5.2.x 及 4.4.x 系列的 PHP4) scws_gen_dict 全部的文本詞典格式更爲寬鬆與add_dict兼容,容許多個空格或製表符分割,可省略除詞外的選項
  • 2009-7-31 SCWS 發佈 1.0.4, 修正緊貼在中文後結尾的1~2個英文字母返回長度多1的bug。
  • 2009-7-16 SCWS 中的 php 擴展實現略做修改以正確支持 PHP5.3+, 版本號沒有改變, 但即日起的下載包已做更新。
  • 2009-7-1 發佈一套用純 php 開發的 xdb 詞典導入與導出工具,有須要的請下載參考使用(phptool_for_scws_xdb.zip)。
  • 2009-5-26 SCWS 發佈更新 1.0.3 版,整合yanbin提供的win32編譯工程文件及少數地方的兼容,但須要用戶本身編譯,由於我也沒有編譯環境,只是將代碼調整到兼容win32環境。
  • 2009-5-15 SCWS 發佈更新 1.0.2 版,加入詞性規則消岐,很好的處理了大部分短詞岐義分詞。
  • 2008-12-21 SCWS 劃入 FTPHP 項目,做爲子項目重建本網站。
  • 2006 - 2007 陸續開發純 PHP 實現的 PSCWS 第二版與第三版,2007-06-09 發佈 scws-0.0.1 pre 版,功能基本完整,2008-03-08 發佈 scws-1.0.0 正式版。

版本列表

版本 類型 平臺 性能 其它
SCWS-1.1.x C 代碼 *Unix*/*PHP* 準確: 95%, 召回: 91%, 速度: 1.2MB/sec 
PHP擴展分詞速度: 250KB/sec
[下載] [文檔] [安裝說明]
php_scws.dll(1) PHP擴展庫 Windows/PHP 4.4.x 準確: 95%, 召回: 91%, 速度: 40KB/sec [下載] [文檔] [安裝說明]
php_scws.dll(2) PHP擴展庫 Windows/PHP 5.2.x 準確: 95%, 召回: 91%, 速度: 40KB/sec [下載] [文檔] [安裝說明]
php_scws.dll(3) PHP擴展庫 Windows/PHP 5.3.x 準確: 95%, 召回: 91%, 速度: 40KB/sec [下載] [文檔] [安裝說明]
php_scws.dll(4) PHP擴展庫 Windows/PHP 5.4.x 準確: 95%, 召回: 91%, 速度: 40KB/sec [下載] [文檔] [安裝說明]
PSCWS23 PHP源代碼 不限 (不支持UTF-8) 準確: 93%, 召回: 89%, 速度: 960KB/min [下載] [文檔]
PSCWS4 PHP源代碼 不限 準確: 95%, 召回: 91%, 速度: 160KB/min [下載] [文檔]
相關文章
相關標籤/搜索