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