常用中文分詞
1. 庖丁解牛分詞包,適用于與Lucene整合。http://www.oschina.net/p/paoding
庖丁中文分詞庫是一個使用Java開發的,可結合到Lucene應用中的,為互聯網、企業內部網使用的中文搜索引擎分詞組件。
Paoding填補了國內中文分詞方面開源組件的空白,致力于此并希翼成為互聯網網站首選的中文分詞開源組件。 Paoding中文分詞追求分詞的高效率和用戶良好體驗。
Paoding's Knives 中文分詞具有極 高效率 和 高擴展性 。引入隱喻,采用完全的面向對象設計,構思先進。
高效率:在PIII 1G內存個人機器上,1秒 可準確分詞 100萬 漢字。
采用基于 不限制個數 的詞典文件對文章進行有效切分,使能夠將對詞匯分類定義。
能夠對未知的詞匯進行合理解析
2. LingPipe,開源自然語言處理的Java開源工具包。http:/alias-i.com/lingpipe/
功能非常強大,最重要的是文檔超級詳細,每個模型甚至連參考論文都列出來了,不僅使用方便,也非常適合模型的學習。
主題分類(Top Classification)、命名實體識別(Named Entity Recognition)、詞性標注(Part-of Speech Tagging)、句題檢測(Sentence Detection)、查詢拼寫檢查(Query Spell Checking)、興趣短語檢測(Interseting Phrase Detection)、聚類(Clustering)、字符語言建模(Character Language Modeling)、醫學文獻下載/解析/索引(MEDLINE Download, Parsing and Indexing)、數據庫文本挖掘(Database Text Mining)、中文分詞(Chinese Word Segmentation)、情感分析(Sentiment Analysis)、語言辨別(Language Identification)等
3. JE分詞包
4. LibMMSeg http://www.oschina.net/p/libmmseg
采用C++開發,同時支持Linux平臺和Windows平臺,切分速度大約在300K/s(PM-1.2G),截至當前版本(0.7.1)。
LibMMSeg沒有為速度仔細優化過,進一步的提升切分速度應仍有空間。
5. IKAnalyzer http://www.oschina.net/p/ikanalyzer
IKAnalyzer基于lucene2.0版本API開發,實現了以詞典分詞為基礎的正反向全切分算法,是LuceneAnalyzer接口的實現。
該算法適合與互聯網用戶的搜索習慣和企業知識庫檢索,用戶可以用句子中涵蓋的中文詞匯搜索,如用"人民"搜索含"人民幣"的文章,這是大部分用戶的搜索思維;
不適合用于知識挖掘和網絡爬蟲技術,全切分法容易造成知識歧義,因為在語義學上"人民"和"人民幣"是完全搭不上關系的。
6. PHPCWS http://www.oschina.net/p/phpcws
PHPCWS 是一款開源的PHP中文分詞擴展,目前僅支持Linux/Unix系統。
PHPCWS 先使用“ICTCLAS 3.0 共享版中文分詞算法”的API進行初次分詞處理,再使用自行編寫的“逆向最大匹配算法”對分詞和進行詞語合并處理,并增加標點符號過濾功能,得出分詞結果。
ICTCLAS(Institute of Computing Technology, Chinese Lexical Analysis System)是中國科學院計算技術研究所在多年研究工作積累的基礎上,基于多層隱馬模型研制出的漢語詞法分析系統,主要功能包括中文分詞;詞性標注;命名實體識別;新詞識別;同時支持用戶詞典。ICTCLAS經過五年精心打造,內核升級6次,目前已經升級到了ICTCLAS3.0,分詞精度 98.45%,各種詞典數據壓縮后不到3M。ICTCLAS在國內973專家組組織的評測中活動獲得了第一名,在第一屆國際中文處理研究機構SigHan 組織的評測中都獲得了多項第一名,是當前世界上最好的漢語詞法分析器。
ICTCLAS 3.0 商業版是收費的,而免費提供的 ICTCLAS 3.0 共享版不開源,詞庫是根據人民日報一個月的語料得出的,很多詞語不存在。所以本人對ICTCLAS分詞后的結果,再采用逆向最大匹配算法,根據自己補充的一個9萬條詞語的自定義詞庫(與ICTCLAS詞庫中的詞語不重復),對ICTCLAS分詞結果進行合并處理,輸出最終分詞結果。
由于 ICTCLAS 3.0 共享版只支持GBK編碼,因此,如果是UTF-8編碼的字符串,可以先用PHP的iconv函數轉換成GBK編碼,再用phpcws_split函數進行分詞處理,最后轉換回UTF-8編碼。