jcseg

在jcseg源碼中的lexicon 4。 e分詞://導入jcseg-core-{version

相關簡介

jcseg是使用Java開發的一個開源的中文分詞器,使用流行的mmseg算法實現。是一款獨立的分詞組建,不是針對lucene而開發,但是提供了lucene分詞接口。

功能特色

1。mmseg四種過濾算法,分詞準確率達到了98.41%。
2。支持自定義詞庫。在jcseg源碼中的lexicon資料夾下,可以隨便添加/刪除/更改詞庫和詞庫內容,並且對詞庫進行了分類。
3。詞庫整合了《現代漢語詞典》和cc-cedict辭典中的詞條,並且依據cc-cedict詞典為詞條標上了拼音,依據《中華同義詞詞典》為詞條標上了同義詞(尚未完成)。更改jcseg.properties配置文檔可以在分詞的時候加入拼音和同義詞到分詞結果中。
4。中文數字和中文分數識別,例如:"一百五十個人都來了,四十分之一的人。"中的"一百五十"和"四十分之一"。並且jcseg會自動將其轉換為阿拉伯數字加入到分詞結果中。如:150, 1/40。
5。支持中英混合詞的識別。例如:B超, x射線。
6。更好的英文支持,電子郵件,網址,小數,分數,百分數,字母和標點組合詞(例如C++, c#)的識別。
7。支持阿拉伯/中文數字基本單字單位的識別,例如2012年,五折,並且jcseg會將其轉換為“5折”加入分詞結果中。
8。自動圓角/半角,大小寫轉換。
9。特殊字母識別:例如:Ⅰ,Ⅱ
10。特殊數字識別:例如:①,⑩
11。配對標點內容提取:例如:最好的Java書《java編程思想》,‘暢想杯黑客技術大賽’,被《,‘,“,『標點標記的內容。
12。智慧型中文人名識別。中文人名識別正確率達94%以上。(可以維護lex-lname.lex,lex-dname-1.lex,lex-dname-2.lex來提高準確率)。

分詞速度

測試環境:2.8GHZ/2G/Ubuntu
Simple 模式: 1366058字/秒 3774.5KB/秒
Complex 模式: 479338字/秒 1324.4KB/秒

分詞測試

運行如下命令來測試jcseg分詞:
java -jar jcseg-core-{version}.jar即可( {version改為對應的版本號})。
jcseg lucene分詞:
//導入jcseg-core-{version}.jar
//import com.webssky.jcseg.core.Config類
/*
1.Config.COMPLEX_MODE為複雜模式:
特點:四種過濾算法,中英混合詞識別,中文姓名,姓氏暱稱識別,
數字單位識別,特殊數字和字母識別。
*/
//1.7.0以上版本支持,請到download中下載最新版jcseg。
Config.APPEND_CJK_PINYIN =true; //分詞結果中加入拼音,需要配置jcseg.loadpinyin = 1
Config.APPEND_CJK_SYN =true; //分詞結果中加入同義詞,需要配置jcsg.loadsyn = 1
/*
2.Config.SIMPLE_MODE為簡易模式
特點:只使用了最大化過濾算法,其他的同複雜模式。
*/
Analyzer analyzer =newJcsegAnalyzer(Config.COMPLEX_MODE);

軟體信息

授權協定:Apache
開發語言:Java
系統要求:跨平台

配置信息

jcseg的另一個特點是提供了jcseg.properties配置文檔,裡面的選項幾乎可以配置分詞中的常用選項,基於此你可以打造適合自己的分詞套用,jcseg配置文檔說明如下:
jcseg.loadpos=0 #載入詞庫時是否載入詞條的詞性。
jcseg.loadpinyin=0 #載入詞庫時是否載入詞條的拼音(1.7.0後)。
jcseg.loadsyn=1 #載入詞庫時是否載入詞條的同義詞。
jcseg.icnname=1 #-開啟中文人名識別(1.7.0後)。
lexicon.prefix=lex #-詞庫檔案前綴。
jcseg.cnmaxlnadron=1 #-姓氏修飾詞長度,例如:老陳 中的“陳”。
lexicon.suffix=lex #-詞庫檔案後綴。
jcseg.mixcnlen=2 #-中英混合詞最大中文詞數,例如:A計畫 A後面有兩個字“計畫”。
jcseg.nsthreshold=1000000 #-姓名成詞歧義闋值。
lexicon.dir=lexicon #-詞庫目錄,和以下的path加起來為jcseg詞庫絕對路徑。
lexicon.path=jar.dir #-詞庫存放路徑(jar.dir為默認路徑)。
jcseg.maxlen=5 #-正向最大化匹配數目(建議位於4-7之間)。
jcseg.pptmaxlen=15 #最大的配對標點內容長度。

版本信息:

jcseg目前最高版本:1.7.2.5。
新版本提供的功能:
1。去除了英文無用標點的切分。
2。新加入字母和標點組合詞的識別,例如:c++, g++, c#等等。
(為此jcseg新加入了一個詞庫 lex-en-pun.lex,專門用於存放該類詞條。)
3。加入中文數字單字單位的識別,例如:五折,十年……,並且jcseg會自動將其轉換成阿拉伯數字和單位的組合加入到分詞結果中,例如上述會轉換為:5折,10年 。
4。為了統一和方便,將英文的切分結果全部轉換了為小寫,並且lex-mixed.lex中英混合詞中的英文字母全部變成了小寫,並且最佳化了英文識別代碼。

相關詞條

熱門詞條

聯絡我們