几种中文分词工具
word分詞
word分詞是一個Java實現(xiàn)的分布式的中文分詞組件,提供了多種基于詞典的分詞算法,并利用ngram模型來消除歧義。能準確識別英文、數(shù)字,以及日期、時間等數(shù)量詞,能識別人名、地名、組織機構(gòu)名等未登錄詞。能通過自定義配置文件來改變組件行為,能自定義用戶詞庫、自動檢測詞庫變化、支持大規(guī)模分布式環(huán)境,能靈活指定多種分詞算法,能使用refine功能靈活控制分詞結(jié)果,還能使用詞性標注、同義標注、反義標注、拼音標注等功能。同時還無縫和Lucene、Solr、ElasticSearch、Luke集成。
智呈分詞
功能性能
| 功能描述: | 1.新詞自動識別 對詞典中不存在的詞,可以自動識別,對詞典的依賴較小; 2.詞性輸出 分詞結(jié)果中帶有豐富的詞性; 3.動態(tài)詞性輸出 分詞結(jié)果中的詞性并非固定,會根據(jù)不同的語境,賦予不同的詞性; 4.特殊詞識別 比如化學、藥品等行業(yè)詞匯,地名、品牌、媒體名等; 5.智能歧義解決 根據(jù)內(nèi)部規(guī)則,智能解決常見分詞歧義問題; 6.多種編碼識別 自動識別各種單一編碼,并支持混合編碼; 7.數(shù)詞量詞優(yōu)化 自動識別數(shù)量詞; |
| 性能介紹: | 處理器:AMD Athlon II x2 250 3GHZ 單線程大于833KB/s,多線程安全。 |
MFSOU中文分詞PHP擴展
一個PHP函數(shù)實現(xiàn)中文分詞。使分詞更容易,使用如下圖:
SCWS調(diào)用示例
SCWS
Hightman開發(fā)的一套基于詞頻詞典的機械中文分詞引擎,它能將一整段的漢字基本正確的切分成詞。采用的是采集的詞頻詞典,并輔以一定的專有名稱,人名,地名,數(shù)字年代等規(guī)則識別來達到基本分詞,經(jīng)小范圍測試大概準確率在 90% ~ 95% 之間,已能基本滿足一些小型搜索引擎、關鍵字提取等場合運用。45Kb左右的文本切詞時間是0.026秒,大概是1.5MB文本/秒,支持PHP4和PHP 5。
FudanNLP
FudanNLP主要是為中文自然語言處理而開發(fā)的工具包,也包含為實現(xiàn)這些任務的機器學習算法和數(shù)據(jù)集。本工具包及其包含數(shù)據(jù)集使用LGPL3.0許可證。開發(fā)語言為Java。功能包括中文分詞等,不需要字典支持。
ICTCLAS
這是最早的中文開源分詞項目之一,ICTCLAS在國內(nèi)973專家組組織的評測中活動獲得了第一名,在第一屆國際中文處理研究機構(gòu)SigHan組織的評測中都獲得了多項第一名。ICTCLAS3.0分詞速度單機996KB/s,分詞精度98.45%,API不超過200KB,各種詞典數(shù)據(jù)壓縮后不到3M.ICTCLAS全部采用C/C++編寫,支持Linux、FreeBSD及Windows系列操作系統(tǒng),支持C/C++、C#、Delphi、Java等主流的開發(fā)語言。
HTTPCWS
HTTPCWS 是一款基于HTTP協(xié)議的開源中文分詞系統(tǒng),目前僅支持Linux系統(tǒng)。HTTPCWS 使用“ICTCLAS 3.0 2009共享版中文分詞算法”的API進行分詞處理,得出分詞結(jié)果。HTTPCWS 將取代之前的 PHPCWS 中文分詞擴展。
CC-CEDICT
一個中文詞典開源項目,提供一份以漢語拼音為中文輔助的漢英辭典,截至2009年2月8日,已收錄82712個單詞。其詞典可以用于中文分詞使用,而且不存在版權(quán)問題。Chrome中文版就是使用的這個詞典進行中文分詞的。
IK
IKAnalyzer是一個開源的,基于java語言開發(fā)的輕量級的中文分詞工具包。從2006年12月推出1.0版開始,IKAnalyzer已經(jīng)推出了3個大版本。最初,它是以開源項目Luence為應用主體的,結(jié)合詞典分詞和文法分析算法的中文分詞組件。新版本的IKAnalyzer3.0則發(fā)展為面向Java的公用分詞組件,獨立于Lucene項目,同時提供了對Lucene的默認優(yōu)化實現(xiàn)。
Paoding
Paoding(庖丁解牛分詞)基于Java的開源中文分詞組件,提供lucene和solr 接口,具有極?高效率和?高擴展性。引入隱喻,采用完全的面向?qū)ο笤O計,構(gòu)思先進。
高效率:在PIII 1G內(nèi)存?zhèn)€人機器上,1秒可準確分詞?100萬漢字。
采用基于?不限制個數(shù)的詞典文件對文章進行有效切分,使能夠?qū)υ~匯分類定義。
能夠?qū)ξ粗脑~匯進行合理解析。
僅支持Java語言。
MMSEG4J
MMSEG4J基于Java的開源中文分詞組件,提供lucene和solr 接口:
1.mmseg4j 用 Chih-Hao Tsai 的 MMSeg 算法實現(xiàn)的中文分詞器,并實現(xiàn) lucene 的 analyzer 和 solr 的TokenizerFactory 以方便在Lucene和Solr中使用。
2.MMSeg 算法有兩種分詞方法:Simple和Complex,都是基于正向最大匹配。Complex 加了四個規(guī)則過慮。官方說:詞語的正確識別率達到了 98.41%。mmseg4j?已經(jīng)實現(xiàn)了這兩種分詞算法。
盤古分詞
盤古分詞是一個基于.net 平臺的開源中文分詞組件,提供lucene(.net 版本) 和HubbleDotNet的接口
高效:Core Duo 1.8 GHz 下單線程 分詞速度為 390K 字符每秒
準確:盤古分詞采用字典和統(tǒng)計結(jié)合的分詞算法,分詞準確率較高。
功能:盤古分詞提供中文人名識別,簡繁混合分詞,多元分詞,英文詞根化,強制一元分詞,詞頻優(yōu)先分詞,停用詞過濾,英文專名提取等一系列功能。
Jcseg
jcseg是使用Java開發(fā)的一個中文分詞器,使用流行的mmseg算法實現(xiàn)。[4]
1。mmseg四種過濾算法,分詞準確率達到了98.4%以上。
2。支持自定義詞庫。在lexicon文件夾下,可以隨便添加/刪除/更改詞庫和詞庫內(nèi)容,并且對詞庫進行了分類,詞庫整合了《現(xiàn)代漢語詞典》和cc-cedict辭典。
3。詞條拼音和同義詞支持,jcseg為所有詞條標注了拼音,并且詞條可以添加同義詞集合,jcseg會自動將拼音和同義詞加入到分詞結(jié)果中。
4。中文數(shù)字和分數(shù)識別,例如:"四五十個人都來了,三十分之一。"中的"四五十"和"三十分之一",并且jcseg會自動將其轉(zhuǎn)換為對應的阿拉伯數(shù)字。
5。支持中英混合詞的識別。例如:B超,x射線。
6。支持基本單字單位的識別,例如2012年。
7。良好的英文支持,自動識別電子郵件,網(wǎng)址,分數(shù),小數(shù),百分數(shù)……。
8。智能圓角半角轉(zhuǎn)換處理。
9。特殊字母識別:例如:Ⅰ,Ⅱ
10。特殊數(shù)字識別:例如:①,⑩
11。配對標點內(nèi)容提取:例如:最好的Java書《java編程思想》,‘暢想杯黑客技術大賽’,被《,‘,“,『標點標記的內(nèi)容。
12。智能中文人名識別。中文人名識別正確率達94%以上。
jcseg佩帶了jcseg.properties配置文檔,使用文本編輯器就可以自主的編輯其選項,配置適合不同應用場合的分詞應用。例如:最大匹配分詞數(shù),是否開啟中文人名識別,是否載入詞條拼音,是否載入詞條同義詞……。
friso
friso是使用c語言開發(fā)的一個中文分詞器,使用流行的mmseg算法實現(xiàn)。完全基于模塊化設計和實現(xiàn),可以很方便的植入到其他程序中,例如:MySQL,PHP等。并且提供了一個php中文分詞擴展robbe。
1。只支持UTF-8編碼。【源碼無需修改就能在各種平臺下編譯使用,加載完20萬的詞條,內(nèi)存占用穩(wěn)定為14M。】。
2。mmseg四種過濾算法,分詞準確率達到了98.41%。
3。支持自定義詞庫。在dict文件夾下,可以隨便添加/刪除/更改詞庫和詞庫詞條,并且對詞庫進行了分類。
4。詞庫使用了friso的Java版本jcseg的簡化詞庫。
5。支持中英混合詞的識別。例如:c語言,IC卡。
7。很好的英文支持,電子郵件,網(wǎng)址,小數(shù),分數(shù),百分數(shù)。
8。支持阿拉伯數(shù)字基本單字單位的識別,例如2012年,5噸,120斤。
9。自動英文圓角/半角,大寫/小寫轉(zhuǎn)換。
并且具有很高的分詞速度:簡單模式:3.7M/秒,復雜模式:1.8M/秒。[5]
總結(jié)
- 上一篇: 微软编程题:寻找最小的k个值
- 下一篇: stm32对flash的读写保护与解除