幾種開源分詞工具的比較

2021-06-08 13:23:45 字數 3442 閱讀 3891

蒐集了一些資料,與同學一起進行了簡單的測試,總結如下。

分詞工  具 特點

支援語言 原理

詞典及擴充套件性

standardanalyzer

中文、英文(unicode

)中文:單字元切分

英文:根據空格切分

chineseanalyzer

中文,不支援中文和英文及數字混合的文字分詞 按字

分詞,與

standardanalyzer

對中文的分詞沒有大的區別

cjkanalyzer

中文,英文,

不支援中文和英文及數字混合的文字分詞

採用的雙字切分,也就是對一段文字按每兩個字來進行切分

ikanalyzer

英文本母、數字、中文詞彙等分詞處理,相容韓文、日文字元

正向迭代最細粒度切分演算法(詞典

+文法分析) 收錄

27萬中文詞彙,

支援使用者詞典擴充套件定義、支援自定義停止詞

paoding 中文

支援不限制個數的使用者自定義詞庫

mmanalyzer

支援英文、數字、中文(簡體)混合分詞

正向最大匹配演算法

支援動態擴充套件

mmseg4j

中文,包括

一些字元的處理 英文、俄文、希臘、數字(包括①㈠⒈

)的分出一連串的。目前版本沒有處理小數字問題

用 chih-hao tsai 

的 mmseg 演算法。

mmseg 演算法有兩種分詞方法:

******

和complex

,都是基於正向最大匹配。在

complex

基礎上實現了最多分詞

(max-word)

強制使用 utf-8)

使用sougou詞庫,也

可自定義覆蓋

imdict

中文、英文、數字

隱馬爾科夫模型

僅coredict

核心字典、

bigramdict

詞典,不含人名、地名詞典。不支援自定義詞典

分詞工具

特點 速度

文件完整性 大小

lucene版本備註

standardanalyzer

chineseanalyzer

lucene contrib中附帶的分析器

cjkanalyzer

lucene contrib中附帶的二元分詞

ikanalyzer

3.2.8

83 萬字/秒(

1600kb/s)詳細

2.62mb

lucene2.9、

lucene3.0

支援細粒度和最大詞長兩種切分模式

paoding

100萬字/秒

幾乎無

1.3mb

lucene3.0

mmanalyzer

第一次分詞需要1-2

秒(讀取詞典),之後速度基本與

lucene

自帶分詞持平 ,

不提供維護和支援

記憶體消耗30m+

lucene 1.9到

2.4之間

mmseg4j

complex 1200kb/s左右

, ****** 1900kb/s左右

mmseg 演算法是英文的,但原理比較簡單。實現也比較清晰。

記憶體開銷了50m左右

mmseg4j 1.8.3 只支援 

lucene 2.9/3.0 

介面 。

mmseg4j 1.8.5 

支援 lucene 3.1

。imdict

259517字/秒

較全 詞典大小7.26mb

lucene2.9直接收錄

分詞效果演示:

消歧義效果:

分詞工具 效果

張三買了張三角桌

南京市長江大橋

standardanalyzer 張

|三|買

|了|張

|三|角

|桌 南|

京|市|

長|江|

大|橋chineseanalyzer 張

|三|買

|了|張

|三|角

|桌 南

|京|市

|長|江

|大|橋

cjkanalyzer 張三

|三買|買了

|了張|張三

|三角|角桌

南京|京市

|市長|長江

|江大|大橋

ikanalyzer

最大詞長 張三

|買了|張三

|三角|桌

南京市|市長

|長江大橋

最細粒度 張三

|三|買了

|張三|三角

|三|角

|桌南京市|南京

|市長|長江大橋|長江

|大橋paoding 張三

|買了|張三

|三角|桌   南

|南京|南京市|長

|市長|長江

|大 |大橋  

mmanalyzer 張三

|買了|張三角|桌

南京市|長江大橋

mmseg4j

******seg 張三

|買了|張三

|角|桌

南京市|長江大橋

complexseg 張三

|買了|張三

|角|桌

南京市|長江大橋

imdict 張

|三|買

|了|張

|三|三角

|桌南京市|長江

|大橋

數字、英文混合分詞效果:

分詞工具 效果

我的qq號是

******

standardanalyzer 我

|的|qq

|號|是

|******

chineseanalyzer 我

|的|qq

|號|是

cjkanalyzer 我的

|qq|號

|是|******

ikanalyzer ik

我|的|qq|號

|是|******

mik 我

|的|qq

|號|是

|******

mmanalyzer 我的

|qq|號

|是|******

mmseg4j

******seg 我的

|qq|號

|是|******

complexseg 我的

|qq|號

|是|******

paoding 我

的|qq|

號|******

imdict 我

|的|qq

|號|******

幾種開源分詞工具的比較

蒐集了一些資料,與同學一起進行了簡單的測試,總結例如以下。分詞工 具 特點 支援語言 原理 詞典及擴充套件性 standardanalyzer 中文 英文 unicode 中文 單字元切分 英文 依據空格切分 chineseanalyzer 中文,不支援中文和英文及數字混合的文字分詞 按字 分詞,與...

幾種開源分詞工具的比較

蒐集了一些資料,與同學一起進行了簡單的測試,總結例如以下。分詞工 具 特點 支援語言 原理 詞典及擴充套件性 standardanalyzer 中文 英文 unicode 中文 單字元切分 英文 依據空格切分 chineseanalyzer 中文,不支援中文和英文及數字混合的文字分詞 按字 分詞,與...

幾種開源分詞工具的比較

蒐集了一些資料,與同學一起進行了簡單的測試,總結例如以下。分詞工 具 特點 支援語言 原理 詞典及擴充套件性 standardanalyzer 中文 英文 unicode 中文 單字元切分 英文 依據空格切分 chineseanalyzer 中文,不支援中文和英文及數字混合的文字分詞 按字 分詞,與...