準確實用堕仔,7個優(yōu)秀的開源中文分詞庫推薦

文章來自開源中國(微信ID:oschina2013)

如需轉載請注明上述來源,其他來源無效并視為侵權

中文分詞是中文文本處理的基礎步驟棘伴,也是中文人機自然語言交互的基礎模塊寞埠。由于中文句子中沒有詞的界限,因此在進行中文自然語言處理時焊夸,通常需要先進行分詞仁连。

縱觀整個開源領域,陸陸續(xù)續(xù)做中文分詞的也有不少淳地,不過目前仍在維護的且質量較高的并不多怖糊。下面整理了一些個人認為比較優(yōu)秀的中文分詞庫帅容,以供大家參考使用颇象。

1、jieba ——?Python 中文分詞組件

“結巴”中文分詞并徘,做最好的 Python 中文分詞組件遣钳。

特性

支持三種分詞模式:

精確模式,試圖將句子最精確地切開麦乞,適合文本分析蕴茴;

全模式劝评,把句子中所有的可以成詞的詞語都掃描出來, 速度非常快倦淀,但是不能解決歧義蒋畜;

搜索引擎模式,在精確模式的基礎上撞叽,對長詞再次切分姻成,提高召回率,適合用于搜索引擎分詞愿棋。

支持繁體分詞

支持自定義詞典

算法

基于前綴詞典實現(xiàn)高效的詞圖掃描科展,生成句子中漢字所有可能成詞情況所構成的有向無環(huán)圖 (DAG)

采用了動態(tài)規(guī)劃查找最大概率路徑, 找出基于詞頻的最大切分組合

對于未登錄詞,采用了基于漢字成詞能力的 HMM 模型糠雨,使用了 Viterbi 算法

代碼示例

輸出:

2才睹、HanLP ——?漢語言處理包

HanLP是一系列模型與算法組成的NLP工具包,由大快搜索主導并完全開源甘邀,目標是普及自然語言處理在生產(chǎn)環(huán)境中的應用琅攘。HanLP具備功能完善、性能高效松邪、架構清晰乎澄、語料時新、可自定義的特點测摔。

HanLP提供下列功能:

中文分詞

HMM-Bigram(速度與精度最佳平衡置济;一百兆內(nèi)存)

最短路分詞、N-最短路分詞

由字構詞(側重精度锋八,可識別新詞浙于;適合NLP任務)

感知機分詞、CRF分詞

詞典分詞(側重速度挟纱,每秒數(shù)千萬字符羞酗;省內(nèi)存)

極速詞典分詞

所有分詞器都支持:

索引全切分模式

用戶自定義詞典

兼容繁體中文

訓練用戶自己的領域模型

詞性標注

HMM詞性標注(速度快)

感知機詞性標注、CRF詞性標注(精度高)

命名實體識別

基于HMM角色標注的命名實體識別 (速度快)

中國人名識別紊服、音譯人名識別檀轨、日本人名識別、地名識別欺嗤、實體機構名識別

基于線性模型的命名實體識別(精度高)

感知機命名實體識別参萄、CRF命名實體識別

關鍵詞提取

TextRank關鍵詞提取

自動摘要

TextRank自動摘要

短語提取

基于互信息和左右信息熵的短語提取

拼音轉換

多音字、聲母煎饼、韻母讹挎、聲調

簡繁轉換

簡繁分歧詞(簡體、繁體、臺灣正體筒溃、香港繁體)

文本推薦

語義推薦马篮、拼音推薦、字詞推薦

依存句法分析

基于神經(jīng)網(wǎng)絡的高性能依存句法分析器

MaxEnt依存句法分析

文本分類

情感分析

word2vec

詞向量訓練怜奖、加載浑测、詞語相似度計算、語義運算歪玲、查詢尽爆、KMeans聚類

文檔語義相似度計算

語料庫工具

默認模型訓練自小型語料庫,鼓勵用戶自行訓練读慎。所有模塊提供訓練接口漱贱,語料可參考OpenCorpus

在提供豐富功能的同時夭委,HanLP內(nèi)部模塊堅持低耦合幅狮、模型堅持惰性加載、服務堅持靜態(tài)提供株灸、詞典堅持明文發(fā)布崇摄,使用非常方便,同時自帶一些語料處理工具慌烧,幫助用戶訓練自己的模型逐抑。

3、Jcseg —— 輕量級 Java?中文分詞器

Jcseg?是基于 mmseg 算法的一個輕量級中文分詞器屹蚊,同時集成了關鍵字提取厕氨,關鍵短語提取,關鍵句子提取和文章自動摘要等功能汹粤,并且提供了一個基于 Jetty 的 web 服務器命斧,方便各大語言直接 http 調用,同時提供了最新版本的 lucene, solr, elasticsearch 的分詞接口嘱兼!Jcseg?自帶了一個 jcseg.properties 文件用于快速配置而得到適合不同場合的分詞應用国葬,例如:最大匹配詞長,是否開啟中文人名識別芹壕,是否追加拼音汇四,是否追加同義詞等!

核心功能:

中文分詞:mmseg 算法 +?Jcseg?獨創(chuàng)的優(yōu)化算法踢涌,四種切分模式通孽。

關鍵字提取:基于 textRank 算法斯嚎。

關鍵短語提壤妗:基于 textRank 算法挨厚。

關鍵句子提缺てА:基于 textRank 算法糠惫。

文章自動摘要:基于 BM25+textRank 算法。

自動詞性標注:基于詞庫+(統(tǒng)計歧義去除計劃)钉疫,目前效果不是很理想硼讽,對詞性標注結果要求較高的應用不建議使用。

命名實體標注:基于詞庫+(統(tǒng)計歧義去除計劃)牲阁,電子郵件固阁,網(wǎng)址,大陸手機號碼城菊,地名备燃,人名,貨幣凌唬,datetime 時間并齐,長度,面積客税,距離單位等况褪。

Restful api:嵌入 jetty 提供了一個絕對高性能的 server 模塊,包含全部功能的http接口更耻,標準化 json 輸出格式测垛,方便各種語言客戶端直接調用。

中文分詞模式:

六種切分模式

(1).簡易模式:FMM 算法秧均,適合速度要求場合食侮。

(2).復雜模式:MMSEG 四種過濾算法,具有較高的歧義去除目胡,分詞準確率達到了 98.41%疙描。

(3).檢測模式:只返回詞庫中已有的詞條,很適合某些應用場合讶隐。

(4).檢索模式:細粒度切分起胰,專為檢索而生,除了中文處理外(不具備中文的人名巫延,數(shù)字識別等智能功能)其他與復雜模式一致(英文效五,組合詞等)。

(5).分隔符模式:按照給定的字符切分詞條炉峰,默認是空格畏妖,特定場合的應用。

(6).NLP 模式:繼承自復雜模式疼阔,更改了數(shù)字戒劫,單位等詞條的組合方式半夷,增加電子郵件,大陸手機號碼迅细,網(wǎng)址巫橄,人名,地名茵典,貨幣等以及無限種自定義實體的識別與返回湘换。

4、sego ——?Go 中文分詞

sego?是一個 Go 中文分詞庫统阿,詞典用雙數(shù)組 trie(Double-Array Trie)實現(xiàn)彩倚,分詞器算法為基于詞頻的最短路徑加動態(tài)規(guī)劃。

支持普通和搜索引擎兩種分詞模式扶平,支持用戶詞典帆离、詞性標注,可運行JSON RPC 服務结澄。

分詞速度單線程9MB/s哥谷,goroutines 并發(fā)42MB/s(8核 Macbook Pro)。

示例代碼:

5概而、?FoolNLTK ——?可能是最準的開源中文分詞

中文處理工具包

特點

可能不是最快的開源中文分詞呼巷,但很可能是最準的開源中文分詞

基于BiLSTM 模型訓練而成

包含分詞,詞性標注赎瑰,實體識別, 都有比較高的準確率

用戶自定義詞典

可訓練自己的模型

批量處理

定制自己的模型

分詞

6王悍、Ansj 中文分詞 ——?基于 n-Gram+CRF+HMM 的中文分詞的 Java 實現(xiàn)

Ansj 中文分詞是一個基于 n-Gram+CRF+HMM 的中文分詞的 java 實現(xiàn)。分詞速度達到每秒鐘大約200萬字左右(mac air下測試)餐曼,準確率能達到96%以上压储。目前實現(xiàn)了中文分詞、中文姓名識別源譬、用戶自定義詞典集惋、關鍵字提取、自動摘要踩娘、關鍵字標記等功能刮刑,可以應用到自然語言處理等方面,適用于對分詞效果要求高的各種項目养渴。

下面是一個簡單的分詞效果雷绢,僅做參考:

7、word 分詞 ——?Java 分布式中文分詞組件

word 分詞是一個 Java 實現(xiàn)的分布式的中文分詞組件理卑,提供了多種基于詞典的分詞算法翘紊,并利用 ngram 模型來消除歧義。能準確識別英文藐唠、數(shù)字帆疟,以及日期鹉究、時間等數(shù)量詞,能識別人名踪宠、地名自赔、組織機構名等未登錄詞。能通過自定義配置文件來改變組件行為殴蓬,能自定義用戶詞庫匿级、自動檢測詞庫變化蟋滴、支持大規(guī)模分布式環(huán)境染厅,能靈活指定多種分詞算法,能使用refine功能靈活控制分詞結果津函,還能使用詞頻統(tǒng)計肖粮、詞性標注、同義標注尔苦、反義標注涩馆、拼音標注等功能。提供了10種分詞算法允坚,還提供了10種文本相似度算法魂那,同時還無縫和 Lucene、Solr稠项、ElasticSearch涯雅、Luke 集成。注意:word1.3 需要 JDK1.8 展运。

分詞算法效果評估:

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末活逆,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子拗胜,更是在濱河造成了極大的恐慌蔗候,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,470評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件埂软,死亡現(xiàn)場離奇詭異锈遥,居然都是意外死亡,警方通過查閱死者的電腦和手機勘畔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評論 3 392
  • 文/潘曉璐 我一進店門所灸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人咖杂,你說我怎么就攤上這事庆寺。” “怎么了诉字?”我有些...
    開封第一講書人閱讀 162,577評論 0 353
  • 文/不壞的土叔 我叫張陵懦尝,是天一觀的道長知纷。 經(jīng)常有香客問我,道長陵霉,這世上最難降的妖魔是什么琅轧? 我笑而不...
    開封第一講書人閱讀 58,176評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮踊挠,結果婚禮上乍桂,老公的妹妹穿的比我還像新娘。我一直安慰自己效床,他們只是感情好睹酌,可當我...
    茶點故事閱讀 67,189評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著剩檀,像睡著了一般憋沿。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上沪猴,一...
    開封第一講書人閱讀 51,155評論 1 299
  • 那天辐啄,我揣著相機與錄音,去河邊找鬼运嗜。 笑死壶辜,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的担租。 我是一名探鬼主播砸民,決...
    沈念sama閱讀 40,041評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼翩活!你這毒婦竟也來了阱洪?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,903評論 0 274
  • 序言:老撾萬榮一對情侶失蹤菠镇,失蹤者是張志新(化名)和其女友劉穎冗荸,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體利耍,經(jīng)...
    沈念sama閱讀 45,319評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡蚌本,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,539評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了隘梨。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片程癌。...
    茶點故事閱讀 39,703評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖轴猎,靈堂內(nèi)的尸體忽然破棺而出嵌莉,到底是詐尸還是另有隱情,我是刑警寧澤捻脖,帶...
    沈念sama閱讀 35,417評論 5 343
  • 正文 年R本政府宣布锐峭,位于F島的核電站中鼠,受9級特大地震影響,放射性物質發(fā)生泄漏沿癞。R本人自食惡果不足惜援雇,卻給世界環(huán)境...
    茶點故事閱讀 41,013評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望椎扬。 院中可真熱鬧惫搏,春花似錦、人聲如沸蚕涤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽钻趋。三九已至川陆,卻和暖如春剂习,著一層夾襖步出監(jiān)牢的瞬間蛮位,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評論 1 269
  • 我被黑心中介騙來泰國打工鳞绕, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留失仁,地道東北人。 一個月前我還...
    沈念sama閱讀 47,711評論 2 368
  • 正文 我出身青樓们何,卻偏偏與公主長得像萄焦,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子冤竹,可洞房花燭夜當晚...
    茶點故事閱讀 44,601評論 2 353

推薦閱讀更多精彩內(nèi)容

  • 常用概念: 自然語言處理(NLP) 數(shù)據(jù)挖掘 推薦算法 用戶畫像 知識圖譜 信息檢索 文本分類 常用技術: 詞級別...
    御風之星閱讀 9,175評論 1 25
  • 轉自 進擊的Coder 公眾號 原理 中文分詞拂封,即 Chinese Word Segmentation,即將一個漢...
    Epiphron閱讀 11,559評論 2 56
  • 轉載請注明:終小南 ? 中文分詞算法總結 什么是中文分詞眾所周知鹦蠕,英文是以 詞為單位的冒签,詞和詞之間是靠空格隔開,而...
    kirai閱讀 9,826評論 3 24
  • 媽媽給豆豆半個蘋果钟病,兩個人一起吃著甜甜的蘋果萧恕,媽媽看著豆豆,豆豆看著媽媽肠阱,一起開心的笑了票唆。 吃完蘋果,豆豆剛要把吃...
    灰灰的白閱讀 833評論 0 1
  • 做事屹徘,運用專業(yè)的態(tài)度和思維走趋,來看待并嘗試找到遇到問題的出口。這就是理性噪伊! 專業(yè)塑造理性簿煌!
    juan子閱讀 177評論 0 1