C語言開源高性能中文分詞器
Friso是使用C語言開發的一款高性能中文分詞器,使用流行的mmseg算法實現。完全基于模塊化設計和實現,可以很方便的植入到其他程序中,例如:MySQL,PHP等。同時支持對UTF-8/GBK編碼的切分。
Friso完整版本(詞庫, 詞庫管理工具, winNT下的dll文件, 開發幫助文檔)下載: https://code.google.com/p/friso/
一. 關于Friso:
Friso是使用c語言開發的一款開源的高性能中文分詞器,使用流行的mmseg算法實現。完全基于模塊化設計和實現,可以很方便的植入其他程序中,例如:MySQL,PHP,源碼無需修改就能在各種平臺下編譯使用,加載完20萬的詞條,內存占用穩定為14.5M.
1。目前最高版本:friso 1.6.0,同時支持對UTF-8/GBK編碼的切分。
2。mmseg四種過濾算法,分詞準確率達到了98.41%,請參考本算法的原作:http://technology.chtsai.org/mmseg/。
3。支持自定義詞庫。在dict文件夾下,可以隨便添加/刪除/更改詞庫和詞庫詞條,并且對詞庫進行了分類。
4。簡體/繁體/簡體混合支持, 可以方便的針對簡體,繁體或者簡繁體切分。同時還可以以此實現簡繁體的相互檢索。
5。支持中英/英中混合詞的識別(維護詞庫可以識別任何一種組合)。例如:卡拉ok, 漂亮mm, c語言,IC卡,哆啦a夢。
7。很好的英文支持,英文標點組合詞識別, 例如c++, c#, 電子郵件,網址,小數,百分數。
8。(!New)自定義保留標點:你可以自定義保留在切分結果中的標點,這樣可以識別出一些復雜的組合,例如:c++, k&r,code.google.com。
9。(!New)復雜英文切分的二次切分:默認Friso會保留數字和字母的原組合,開啟此功能,可以進行二次切分提高檢索的命中率。例如:qq2013會被切分成:qq/ 2013/ qq2013。
10。支持阿拉伯數字/小數基本單字單位的識別,例如2012年,1.75米,5噸,120斤,38.6℃。
11。自動英文圓角/半角,大寫/小寫轉換。
12。同義詞匹配:自動中文/英文同義詞追加. (需要在friso.ini中開啟friso.add_syn選項)。
13。自動中英文停止詞過濾。(需要在friso.ini中開啟friso.clr_stw選項)。
14。多配置支持, 安全的應用于多進程/多線程環境。
15。提供friso.ini配置文件, 可以依據你的需求輕松打造適合于你的應用的分詞。
二。分詞速度:
測試環境:2.8GHZ/2G/Ubuntu
簡單模式:3.8M/秒
復雜模式:1.8M/秒
三。分詞測試:
文本:
歧義和同義詞:研究生命起源,混合詞: 做B超檢查身體,x射線本質是什么,今天去奇都ktv唱卡拉ok去,哆啦a夢是一個動漫中的主角,單位和全角: 2009年8月6日開始大學之旅,岳陽今天的氣溫為38.6℃, 也就是101.48℉, 英文數字: bug report chenxin619315@gmail.com or visit http://code.google.com/p/jcseg, we all admire the hacker spirit!特殊數字: ① ⑩ ⑽ ㈩.
分詞結果:
歧義 和 同義詞 : 研究 琢磨 研討 鉆研 生命 起源 , 混合詞 : 做 b超 檢查 身體 , x射線 本質 是 什么 , 今天 去 奇都ktv 唱 卡拉ok 去 , 哆啦a夢 是 一個 動漫 中 的 主角 , 單位 和 全角 : 2009年 8月 6日 開始 大學 之旅 , 岳陽 今天 的 氣溫 為 38.6℃ , 也就是 101.48℉ , 英文 英語 數字 : bug report chenxin 619315 gmail com chenxin619315@gmail.com or visit http : / / code google com code.google.com / p / jcseg , we all admire appreciate like love enjoy the hacker spirit mind ! 特殊 數字 : ① ⑩ ⑽ ㈩ .