SCWS
:
Author:
Hightman
算法:
基于词频词典的机械中文分词引擎,采用的是采集的词频词典,并辅以一定的专有名称,人名,地名,数字年代等规则识别来达到基本分词
准确率:经小范围测试大概准确率在 90% ~ 95%
之间,已能基本满足一些小型搜索引擎、关键字提取等场合运用。
性能:45Kb
左右的文本切词时间是
0.026
秒,大概是
1.5MB
文本
/
秒,
语言和平台:
SCWS 采用纯
C
代码开发,以
Unix-Like OS
为主要平台环境,提供共享函数库,方便植入各种现有软件系统。此外它支持
GBK
,
UTF-8
,
BIG5
等汉字编码。支持
PHP4
和
PHP 5
。
版本列表
版本
|
类型
|
平台
|
性能
|
SCWS-1.1.x
|
C 代码
|
*Unix*/*PHP*
|
准确: 95%,
召回
: 91%,
速度
: 1.2MB/sec
PHP扩展分词速度
: 250KB/sec
|
php_scws.dll(1)
|
PHP扩展库
|
Windows/PHP 4.4.x
|
准确: 95%,
召回
: 91%,
速度
: 40KB/sec
|
php_scws.dll(2)
|
PHP扩展库
|
Windows/PHP 5.2.x
|
准确: 95%,
召回
: 91%,
速度
: 40KB/sec
|
php_scws.dll(3)
|
PHP扩展库
|
Windows/PHP 5.3.x
|
准确: 95%,
召回
: 91%,
速度
: 40KB/sec
|
PSCWS23
|
PHP源代码
|
不限
(不支持
UTF-8)
|
准确: 93%,
召回
: 89%,
速度
: 960KB/min
|
PSCWS4
|
PHP源代码
|
不限
|
准确: 95%,
召回
: 91%,
速度
: 160KB/min
|
ICTCLAS
: 汉语词法分析系统ICTCLAS(Institute of Computing Technology, Chinese Lexical Analysis System)
性能:分词速度单机996KB/s
,
API
不超过
200KB
,各种词典数据压缩后不到
3M.
准确率:分词精度98.45%
,
语言和平台:ICTCLAS
全部采用
C/C++
编写,支持
Linux
、
FreeBSD
及
Windows
系列操作系统,支持
C/C++
、
C#
、
Delphi
、
Java
等主流的开发语言。
Author:中国科学院计算技术研究所
主要功能:中文分词;词性标注;命名实体识别;新词识别;同时支持用户词典;支持繁体中文;支持GBK
、
UTF-8
、
UTF-7
、
UNICODE
等多种编码格式。
算法:完美PDAT
大规模知识库管理技术(
200510130690.3
),在高速度与高精度之间取得了重大突破,该技术可以管理百万级别的词典知识库,单机每秒可以查询
100
万词条,而内存消耗不到知识库大小的
1.5
倍。层叠隐马尔可夫模型(
Hierarchical Hidden Markov Model
) ,该分词系统的主要是思想是先通过
CHMM(
层叠形马尔可夫模型
)
进行分词
,
通过分层
,
既增加了分词的准确性
,
又保证了分词的效率
.
共分五层
,
如下图所示。基本思路是进行原子切分
,
然后在此基础上进行
N-
最短路径粗切分
,
找出前
N
个最符合的切分结果
,
生成二元分词表
,
然后生成分词结果
,
接着进行词性标注并完成主要分词步骤
.
HTTPCWS
:
基于HTTP
协议的开源中文分词系统,
语言和平台:目前仅支持Linux
系统
算法:HTTPCWS
使用
“ICTCLAS 3.0 2009
共享版中文分词算法
”
的
API
进行分词处理,得出分词结果。
HTTPCWS
将取代之前的
PHPCWS 中文分词扩展
。
PHPCWS(
PHP
中文分词扩展)
author
:张宴
语言和平台:
PHPCWS 是一款开源的
PHP
中文分词扩展,目前仅支持
Linux/Unix
系统。
算法:
PHPCWS 先使用
“ICTCLAS 3.0
共享版中文分词算法
”
的
API
进行初次分词处理,再使用自行编写的
“
逆向最大匹配算法
”
对分词和进行词语合并处理,并增加标点符号过滤功能,得出分词结果。
ICTCLAS 3.0
商业版是收费的,而免费提供的
ICTCLAS 3.0
共享版不开源,词库是根据人民日报一个月的语料得出的,很多词语不存在。所以本人对
ICTCLAS
分词后的结果,再采用逆向最大匹配算法,根据自己补充的一个
9
万条词语的自定义词库(与
ICTCLAS
词库中的词语不重复),对
ICTCLAS
分词结果进行合并处理,输出最终分词结果。由于
ICTCLAS 3.0
共享版只支持
GBK
编码,因此,如果是
UTF-8
编码的字符串,可以先用
PHP
的
iconv
函数转换成
GBK
编码,再用
phpcws_split
函数进行分词处理,最后转换回
UTF-8
编码。
性能:5
8字节的一句话
——“2009
年
2
月
13
日,我编写了一款
PHP
中文分词扩展:
PHPCWS 1.0.0
。
”
,分词速度只需
0.0003
秒。对于那些采用二元交叉切分的搜索引擎,
PHPCWS
用在前端搜索层对用户输入的搜索关键字、短语进行分词处理,同样适合。
PHPCWS
开发的目的正在于此,对于短句、小文本中文分词切分,速度非常之快。
庖丁解牛分词
:
语言和平台:Java
提供
lucence 3.0
接口,仅支持
Java
语言。
性能:在PIII 1G
内存个人机器上,
1
秒 可准确分词
100
万 汉字。
算法:采用基于 不限制个数 的词典文件对文章进行有效切分
主要功能:使能够将对词汇分类定义。能够对未知的词汇进行合理解析
CC-CEDICT
:
主要功能:
提供一份以汉语拼音为中文辅助的汉英辞典,截至2009
年
2
月
8
日,已收录
82712
个单词。其词典可以用于中文分词使用,而且不存在版权问题。
Chrome
中文版就是使用的这个词典进行中文分词的。
亿思拓(ESTinside)
中文分词组件
可以作为lucene
的一个模块调用,作为二元分词方法的替代。该组件直接扩展
org.apache.lucene.analysis.Tokenizer
和
org.apache.lucene.analysis.Analyzer
类。
准确率
:
98%以上。
主要功能:
同时支持分词和词性标注
,
提供参数调节分词准确性和切分速度。针对多线程使用优化,占用内存少。
语言和平台:
100%采用
java
实现的分词组件,无内存泄漏问题。可长期不间断运行。
算法:
采用多种分词方法结合,包括基于概率的n
元切分方法,隐马尔科夫模型,未登录词识别算法,歧义识别算法和基于规则的方法 等。采用多个大规模语料库训练概率词库。
盘古分词
是一个中英文分词组件
主要功能:
中文分词功能
中文未登录词识别
词频优先
盘古分词可以根据词频来解决分词的歧义问题
多元分词
盘古分词提供多重输出解决分词粒度和分词精度权衡的问题
中文人名识别
强制一元分词
繁体中文分词
同时输出简体和繁体
中文词性输出
盘古分词可以将以登录词的中文词性输出给用户,以方便用户做进一步处理。
全角字符支持
盘古分词可以识别全角的字母和数字
英文分词
英文专用词识别
一些英文简写是字母符号混合,或者是字母数字混合,这个分词起来就不能按照空格符号这样分割了,对于字母符号混合的如 U.S.A
,只要将这个词录入到字典中,盘古分词就可以分出整词。对于字母和数字混合的,盘古分词会自动作为整词输出。
英文原词输出
英文大小写同时输出
其他功能
停用词过滤
对于一些标点符号,连词,助词等有时候需要在分词时过滤掉,盘古分词提供一个 StopWord.txt
文件,用户只要将需要过滤的词加入到这个文件中,并将停用词过滤开发打开,就可以过滤掉这些词。
设置分词权值
盘古分词可以让用户对如下特性设置自定义权值
1
未登录词权值
2
最匹配词权值
3
次匹配词权值
4
再次匹配词权值
5
强行输出的单字的权值
6
数字的权值
7
英文词汇权值
8
符号的权值
9
强制同时输出简繁汉字时,非原来文本的汉字输出权值。
*
用户自定义规则
字典管理
盘古分词提供一个字典管理工具 DictManage
通过这个工具,你可以增加,修改,和删除字典中的单词
动态加载字典
通过字典工具增加,修改,和删除字典中的单词后,保持字典,盘古分词会自动将新的字典文件加载进去,而不需要重新启动。
关键词高亮组件
Lucene 提供了一个关键词高亮组件,但这个组件对中文的支持不是特别好,特别是如果还有多元分词的情况,处理的就更不好。盘古分词提供了一个针对中文和英文的关键词高亮组件
PanGu.HighLight
,其对中文的支持要好于
Lucene
那个高亮组件。
同义词输出(
后续版本提供
)
Lucene.net 接口及示例
在PanGu4Lucene
这个包里面有我做的一个盘古
+Lucene
的简单新闻搜索
Web
示例程序,
Release
包里面有使用说明。
性能:Core Duo 1.8 GHz
下单线程 分词速度为
390K
字符每秒,
2
线程分词速度为
690K
字符每秒。
算法:
盘古分词提供的字典包括17
万个中文常用单词,但这个字典依然不够完整,如果要分词更准确,需要适当维护一下这个字典。中文人名的识别能力取决于
ChsSingleName.txt
,
ChsDoubleName1.txt
,
ChsDoubleName2.txt
这三个文件,它们分别表示单子人名,双字人名的首字和双字人名的尾字。
libmmseg
Author:
李沫南
语言和平台:
用C++
编写的开源的中文分词软件,
libmmseg
主要被作者用来实现
Sphinx
全文检索软件的中文分词功能,因此作者给
Sphinx
提供了一个补丁文件,可以让
Sphinx
集成
libmmseg
,从而支持对于中文文章的全文检索功能。
libmmseg
从
0.7.2
版本开始,作者提供了
ruby
调用的接口,所以我们可以直接在
ruby
程序里面调用
libmmseg
进行分词了。特别是我们可以用
ferret
去调用
libmmseg
分词功能,从而让
ruby
原生支持中文的全文检索。
算法
:
“基于词库的最大匹配算法
”
性能:
分词速度为每秒300KB
左右。
IKAnalyzer
开源轻量级的中文分词工具包
语言和平台:
基于java
语言开发
,
最初,它是以开源项目Luence
为应用主体的,结合词典分词和文法分析算法的中文分词组件。新版本的
IKAnalyzer3.0
则发展为面向
Java
的公用分词组件,独立于
Lucene
项目,同时提供了对
Lucene
的默认优化实现。
算法:采用了特有的“
正向迭代最细粒度切分算法
“
。采用了多子处理器分析模式,支持:英文字母(
IP
地址、
Email
、
URL
)、数字(日期,常用中文数量词,罗马数字,科学计数法),中文词汇(姓名、地名处理)等分词处理。优化的词典存储,更小的内存占用。支持用户词典扩展定义。针对
Lucene
全文检索优化的查询分析器
IKQueryParser
;采用歧义分析算法优化查询关键字的搜索排列组合,能极大的提高
Lucene
检索的命中率。
性能:60
万字
/
秒
mmseg4j
算法:
Chih-Hao Tsai 的
MMSeg
算法实现的中文分词器,并实现lucene
的
analyzer
和
solr
的
TokenizerFactory
以方便在
Lucene
和
Solr
中使用。
算法有两种分词方法:Simple
和
Complex
,都是基于正向最大匹配。
Complex
加了四个规则过虑。
准确率:
98.41%
i
mdict-chinese-analyzer
是imdict
智能词典的智能中文分词模块
算法
:
基于隐马尔科夫模型(Hidden Markov Model
,
HMM)
,是中国科学院计算技术研究所的
ictclas
中文分词程序的重新实现(基于
Java
)
可以直接为lucene
搜索引擎提供简体中文分词支持
主要功能:
1, 完全
Unicode
支持
分词核心模块完全采用Unicode
编码,无须各种汉字编码的转换,极大的提升了分词的效率。
2. 提升搜索效率
根据imdict
智能词典的实践,在有智能中文分词的情况下,索引文件比没有中文分词的索引文件小
1/3
3. 提高搜索准确度
imdict-chinese-analyzer采用了
HHMM
分词模型,极大的提高了分词的准确率,在此基础上的搜索,比对汉字逐个切分要准确得多!
4. 更高效的数据结构
为了提高效率,针对常用中文检索的应用场景,imdict-chinese-analyzer
对一些不必要的功能进行了删减,例如词性标注、人名识别、时间识别等等。另外还修改了算法的数据结构,在内存占用量缩减到
1/3
的情况下把效率提升了数倍。
|
ictclas4j
|
imdict-chinese-analyzer
|
ICTCLAS 3.0
|
分词速度(
字节
/
秒
)
|
13.86
|
483.64
|
678.15
|
分词速度(
汉字
/
秒
)
|
7439
|
259517
|
363888
|
测试环境为:酷睿E7200
双核,内存
2G
,
JDK
参数为:
"-Xms512m -Xmx1024m "
由此对比可以看出, imdict-chinese-analyzer
的分词效率与
C
++实现的
ICTCLAS 3.0
的分词效率在同一个数量级,是
ictclas4j
的
36
倍!
ictclas4j中文分词系统是
sinboy
在中科院张华平和刘群老师的研制的
FreeICTCLAS
的基础上完成的一个
java
开源分词项目,简化了原分词程序的复杂度,旨在为广大的中文分词爱好者一个更好的学习机会。
OpenCLAS
是一个开源的中文词法分析库。
主要功能:其中包括了中文分词、词性标注等功能。系统使用基于概率的多层HMM
。可以对已登录词和未登录词进行识别分析。
OpenCLAS是对原有的
ICTCLAS (
中科院中文词法分析系统
)
进行的重写。
OpenCLAS
将不包含任何
ICTCLAS
中的源代码,并且以
BSD
协议发布。因此其代码可以在满足
BSD
协议的前提下,用于包括商用在内的各种场合。
OpenCLAS将包含三个语言分支,
C++, Java
和
C#
。
(
目前只实现了
C++
的版本
)
。
分享到:
相关推荐
盘古分词工具是一款专为中文文本处理设计的利器,尤其适合那些正在探索自然语言处理领域的初学者。在Lucene等搜索引擎或信息检索系统中,有效的分词是提高搜索准确性和效率的关键步骤。盘古分词以其高效、灵活的特点...
ansj库,全称为“Ansj for NLP”,是由国内开发者杨勇创建的一个开源Java分词工具。它提供了包括分词、词性标注、关键词提取、命名实体识别等多种功能,适用于各种文本处理场景。ansj库的核心是基于字典的分词算法,...
在进行自然语言处理项目时,选择合适的分词工具是至关重要的。盘古分词因其开源、高效和可定制化等特点,成为了许多中文文本处理项目中的首选。同时,了解和掌握其词典结构和使用方法,对于优化分词效果、提升整体...
首先,ansj分词器是由李弄潮开发的一款开源分词工具,它具有强大的词典支持和自学习功能。ansj集成了词性标注、新词发现等功能,适用于新闻、博客等多种文本类型。其优点在于处理速度较快,但可能对某些专业词汇或...
本压缩包“中文分词词组库及工具汇总(全).rar”提供了一系列的中文分词资源,包括词库和主流分词工具的词典,旨在为开发者和研究者提供方便。 1. **中文分词词库**: - 词库是分词系统的核心,它包含了大量预定...
综上所述,ShootSearch分词组件作为一个C#的开源项目,提供了丰富的功能和灵活性,对于需要处理中文文本的应用场景,它是一个值得考虑的工具。通过深入研究其源代码和文档,开发者不仅可以掌握分词技术,还可以参与...
在NLP研究和开发中,有一些知名的开源分词和词性标注工具,例如哈工大的ICTCLAS、北京大学的PKU Snowball、 Stanford NLP工具包以及NLTK(自然语言工具包)等。这些工具不仅提供了基本的分词和词性标注功能,还可能...
分词工具会专门处理这类常用后缀,确保它们被正确地分割出来。 具体到“companynameparser-main”这个项目,很可能是提供了一个用于处理公司名称的开源工具或库。它可能包含了对上述各部分的专门处理算法,用户可以...
IKAnalyzer2012_SRC 是一个开源的中文分词工具,它在Java平台上运行,广泛应用于搜索引擎、信息抽取、文本挖掘等领域。本文将深入探讨IKAnalyzer2012_SRC的核心功能、设计原理及其实现细节。 ### 1. IKAnalyzer2012...
这些分词工具中很多都是开源的,开发者可以通过阅读它们的文档来了解如何导入和使用这些词库资源。 最后,分词只是自然语言处理中的一个环节,在实际应用中还需要结合上下文理解、句法分析、语义分析等技术来进一步...
三、开源分词工具——word-master “word-master”是GitHub上一个用于分词的开源项目,可能包含了基于词典和统计的分词算法实现。通常,这类开源项目会提供以下功能: 1. 预训练的词典:包含了大量的常用词汇,...
总的来说,SCWS是一个高效且开源的中文分词工具,对于需要处理中文文本的应用场景,如搜索引擎、信息提取、情感分析等,SCWS都能提供有力的支持。开发者可以通过学习和使用SCWS,深入了解中文分词技术,并根据项目...
因此,PHP版的中文分词工具就显得尤为实用。本文将围绕"PHP 版简易中文分词"这一主题,深入探讨其原理、应用及其在实际项目中的使用。 一、中文分词简介 中文分词是指将连续的汉字序列切分成具有语义的词语,这是...
**Elasticsearch 分词工具:elasticsearch-analysis-ik-7.17.7** Elasticsearch 是一个流行的开源全文搜索引擎,广泛应用于数据检索、分析和可视化。为了更好地处理中文文本,Elasticsearch 提供了多种分词器,其中...
- **IK Analyzer**:是一个开源的、基于Java的轻量级中文分词工具,也有.NET版本。它具有灵活的词典管理、支持用户自定义词典和智能分析模式。 - **HanLP**:由百度开发,是一款高性能的自然语言处理工具,其.NET...
5. **开源分词工具**: - **jieba分词**:广泛使用的Python库,支持精确模式、全模式和搜索引擎模式。 - **HanLP**:由科大讯飞开发的Java库,提供了丰富的自然语言处理功能。 - **LTP(Language Technology ...
"jieba结巴分词"是一款专为中文设计的开源分词库,以其高效、易用的特点在Python社区广受欢迎。本篇文章将深入探讨jieba分词的工作原理、主要功能以及实际应用,旨在帮助读者全面理解和掌握这一工具。 首先,我们来...
中日韩分词词库是解决这个问题的关键工具,它为理解和处理这三种语言的文本数据提供了基础。本篇文章将详细介绍"中日韩分词词库.zip"以及其在CoreSeek和Sphinx这两个搜索引擎中的应用。 首先,分词是自然语言处理...
5. scws:这可能是一个完整的分词服务,包含了分词引擎和其他相关工具。 6. dict:词典文件,是分词系统的核心资源,包含了大量的词汇和它们的相关信息。 四、商城搜索分词应用 在商城搜索中,中文分词的应用主要...
在Java开发中,Apache Lucene是一个强大的全文搜索引擎库,但默认并不支持中文,这就需要借助第三方分词工具。本文将深入探讨如何在Lucene中结合“庖丁解牛”这一中文分词工具,实现高效、准确的中文文本处理。 一...