Hanlp等七種優秀的開源中文分詞庫推薦
Hanlp等七種 優秀的開源中文分詞庫推薦
中文分詞是中文文字處理的基礎步驟,也是中文人機自然語言互動的基礎模組。由於中文句子中沒有詞的界限,因此在進行中文自然語言處理時,通常需要先進行分詞。
縱觀整個開源領域,陸陸續續做中文分詞的也有不少,不過目前仍在維護的且質量較高的並不多。下面整理了一些個人認為比較優秀的中文分詞庫,以供大家參考使用。
HanLP 是一系列模型與演算法組成的 NLP 工具包,由大快搜尋主導並完全開源,目標是普及自然語言處理在生產環境中的應用。 HanLP 具備功能完善、效能高效、架構清晰、語料時新、可自定義的特點。
HanLP 提供下列功能:
l 中文分詞
l HMM-Bigram (速度與精度最佳平衡;一百兆記憶體)
l 最短路分詞、 N- 最短路分詞
l 由字構詞(側重精度,可識別新詞;適合 NLP 任務)
l 感知機分詞、 CRF 分詞
l 詞典分詞(側重速度,每秒數千萬字元;省記憶體)
l 極速詞典分詞
l 所有分詞器都支援:
l 索引全切分模式
l 使用者自定義詞典
l 相容繁體中文
l 訓練使用者自己的領域模型
l 詞性標註
l HMM 詞性標註(速度快)
l 感知機詞性標註、 CRF 詞性標註(精度高)
l 命名實體識別
l 基於 HMM 角色標註的命名實體識別 (速度快)
l 中國人名識別、音譯人名識別、日本人名識別、地名識別、實體機構名識別
l 基於線性模型的命名實體識別(精度高)
l 感知機命名實體識別、 CRF 命名實體識別
l 關鍵詞提取
l TextRank 關鍵詞提取
l 自動摘要
l TextRank 自動摘要
l 短語提取
l 基於互資訊和左右資訊熵的短語提取
l 拼音轉換
l 多音字、聲母、韻母、聲調
l 簡繁轉換
l 簡繁分歧詞(簡體、繁體、臺灣正體、香港繁體)
l 文字推薦
l 語義推薦、拼音推薦、字詞推薦
l 依存句法分析
l 基於神經網路的高效能依存句法分析器
l MaxEnt 依存句法分析
l 文字分類
l 情感分析
l word2vec
l 詞向量訓練、載入、詞語相似度計算、語義運算、查詢、 KMeans 聚類
l 文件語義相似度計算
l 語料庫工具
l 預設模型訓練自小型語料庫,鼓勵使用者自行訓練。所有模組提供訓練介面,語料可參考 OpenCorpus 。
在提供豐富功能的同時, HanLP 內部模組堅持低耦合、模型堅持惰性載入、服務堅持靜態提供、詞典堅持明文釋出,使用非常方便,同時自帶一些語料處理工具,幫助使用者訓練自己的模型。
“結巴”中文分詞,做最好的 Python 中文分片語件。
特性
l 支援三種分詞模式:
l 精確模式,試圖將句子最精確地切開,適合文字分析;
l 全模式,把句子中所有的可以成詞的詞語都掃描出來 , 速度非常快,但是不能解決歧義;
l 搜尋引擎模式,在精確模式的基礎上,對長詞再次切分,提高召回率,適合用於搜尋引擎分詞。
l 支援繁體分詞
l 支援自定義詞典
演算法
l 基於字首詞典實現高效的詞圖掃描,生成句子中漢字所有可能成詞情況所構成的有向無環圖 (DAG)
l 採用了動態規劃查詢最大概率路徑 , 找出基於詞頻的最大切分組合
l 對於未登入詞,採用了基於漢字成詞能力的 HMM 模型,使用了 Viterbi 演算法
程式碼示例
Jcseg 是基於 mmseg 演算法的一個輕量級中文分詞器,同時整合了關鍵字提取,關鍵短語提取,關鍵句子提取和文章自動摘要等功能,並且提供了一個基於 Jetty 的 web 伺服器,方便各大語言直接 http 呼叫,同時提供了最新版本的 lucene, solr, elasticsearch 的分詞介面!Jcseg 自帶了一個 jcseg.properties 檔案用於快速配置而得到適合不同場合的分詞應用,例如:最大匹配詞長,是否開啟中文人名識別,是否追加拼音,是否追加同義詞等!
核心功能:
l 中文分詞: mmseg 演算法 + Jcseg 獨創的優化演算法,四種切分模式。
l 關鍵字提取:基於 textRank 演算法。
l 關鍵短語提取:基於 textRank 演算法。
l 關鍵句子提取:基於 textRank 演算法。
l 文章自動摘要:基於 BM25+textRank 演算法。
l 自動詞性標註:基於詞庫 +(統計歧義去除計劃),目前效果不是很理想,對詞性標註結果要求較高的應用不建議使用。
l 命名實體標註:基於詞庫 +(統計歧義去除計劃),電子郵件,網址,大陸手機號碼,地名,人名,貨幣,datetime 時間,長度,面積,距離單位等。
l Restful api:嵌入 jetty 提供了一個絕對高效能的 server 模組,包含全部功能的http介面,標準化 json 輸出格式,方便各種語言客戶端直接呼叫。
中文分詞模式:
六種切分模式
(1). 簡易模式: FMM 演算法,適合速度要求場合。
(2). 複雜模式: MMSEG 四種過濾演算法,具有較高的歧義去除,分詞準確率達到了 98.41% 。
(3). 檢測模式:只返回詞庫中已有的詞條,很適合某些應用場合。
(4). 檢索模式:細粒度切分,專為檢索而生,除了中文處理外(不具備中文的人名,數字識別等智慧功能)其他與複雜模式一致(英文,組合詞等)。
(5). 分隔符模式:按照給定的字元切分詞條,預設是空格,特定場合的應用。
(6).NLP 模式:繼承自複雜模式,更改了數字,單位等詞條的組合方式,增加電子郵件,大陸手機號碼,網址,人名,地名,貨幣等以及無限種自定義實體的識別與返回。
sego 是一個 Go 中文分詞庫, 詞典 用雙陣列 trie(Double-Array Trie)實現, 分詞器 演算法為基於詞頻的最短路徑加動態規劃。
支援普通和搜尋引擎兩種分詞模式,支援使用者詞典、詞性標註,可執行 JSON RPC 服務 。
分詞速度 單執行緒 9MB/s, goroutines 併發 42MB/s(8核 Macbook Pro)。
示例程式碼:
中文處理工具包
特點
l 可能不是最快的開源中文分詞,但很可能是最準的開源中文分詞
l 基於 BiLSTM 模型 訓練而成
l 包含分詞,詞性標註,實體識別 , 都有比較高的準確率
l 使用者自定義詞典
l 可訓練自己的模型
l 批量處理
定製自己的模型
6、Ansj 中文分詞 —— 基於 n-Gram+CRF+HMM 的中文分詞的 Java 實現
Ansj 中文分詞是一個基於 n-Gram+CRF+HMM 的中文分詞的 java 實現。分詞速度達到每秒鐘大約200萬字左右(mac air下測試),準確率能達到96%以上。目前實現了中文分詞、中文姓名識別、使用者自定義詞典、關鍵字提取、自動摘要、關鍵字標記等功能,可以應用到自然語言處理等方面,適用於對分詞效果要求高的各種專案。
下面是一個簡單的分詞效果,僅做參考:
word 分詞是一個 Java 實現的分散式的中文分片語件,提供了多種基於詞典的分詞演算法,並利用 ngram 模型來消除歧義。能準確識別英文、數字,以及日期、時間等數量詞,能識別人名、地名、組織機構名等未登入詞。能通過自定義配置檔案來改變元件行為,能自定義使用者詞庫、自動檢測詞庫變化、支援大規模分散式環境,能靈活指定多種分詞演算法,能使用refine功能靈活控制分詞結果,還能使用詞頻統計、詞性標註、同義標註、反義標註、拼音標註等功能。提供了10種分詞演算法,還提供了10種文字相似度演算法,同時還無縫和 Lucene、Solr、ElasticSearch、Luke 整合。注意:word1.3 需要 JDK1.8 。
分詞演算法效果評估:
轉載自 編輯部的故事的個人空間
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31524777/viewspace-2216141/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Android優秀文章和開源庫推薦(讀值得讀的)Android
- Go優秀開源專案推薦Go
- 推薦幾個優秀的開源的專案
- HanLP中文分詞Lucene外掛HanLP中文分詞
- 分詞工具Hanlp基於感知機的中文分詞框架HanLP中文分詞框架
- 基於 HanLP 的 ES 中文分詞外掛HanLP中文分詞
- Hanlp分詞之CRF中文詞法分析詳解HanLP分詞CRF詞法分析
- Hanlp在java中文分詞中的使用介紹HanLPJava中文分詞
- iOS優秀的部落格推薦iOS
- HanLP分詞工具中的ViterbiSegment分詞流程HanLP分詞Viterbi
- 中文分詞演算法工具hanlp原始碼解析中文分詞演算法HanLP原始碼
- 中文分詞原理及常用Python中文分詞庫介紹中文分詞Python
- WPF優秀元件推薦之MahApps元件APP
- WPF優秀元件推薦之FreeSpire元件
- 【開源庫推薦】#3 Android EventBus的使用Android
- Elasticsearch整合HanLP分詞器ElasticsearchHanLP分詞
- hanlp原始碼解析之中文分詞演算法詳解HanLP原始碼中文分詞演算法
- hanlp中文智慧分詞自動識別文字提取例項HanLP分詞
- HanLP-實詞分詞器詳解HanLP分詞
- MapReduce實現與自定義詞典檔案基於hanLP的中文分詞詳解HanLP中文分詞
- WPF優秀元件推薦之Stylet(一)元件
- 優秀開源庫SDWebImage原始碼淺析Web原始碼
- java分詞工具hanlp介紹Java分詞HanLP
- 基於hanlp的es分詞外掛HanLP分詞
- HanLP分類模組的分詞器介紹HanLP分詞
- 龍蜥社群&龍蜥理事長分獲 2023 開源創新榜“優秀開源社群、優秀開源人物”獎項
- 【Android珍藏】推薦10個炫酷的開源庫Android
- [圖書] Golang 優質開源圖書推薦Golang
- 推薦給新手的35個好用的Vue開源庫Vue
- Python:Python 中 jieba 庫的使用(中文分詞)PythonJieba中文分詞
- Ansj與hanlp分詞工具對比HanLP分詞
- python呼叫hanlp分詞包手記PythonHanLP分詞
- Spring MVCD框架中呼叫HanLP分詞的方法SpringMVC框架HanLP分詞
- Google Flutter Clock 大賽優秀專案推薦GoFlutter
- 強烈推薦:2024 年12款 Visual Studio 親測、好用、優秀的工具,AI外掛等AI
- 推薦幾款優秀的專案報表軟體
- 優秀的思維導圖軟體推薦:xLine for MacMac
- 北大開源了中文分詞工具包:準確率遠超THULAC、結巴分詞!中文分詞