开源分词软件

由于中文文本词与词之间没有像英文那样有空格分隔,因此很多时候中文文本操作都涉及切词,这里整理了一些中文分词工具。一般来说用CRF实现的分词工具的处理速度是比较慢的(训练CRF模型是非常耗时的),但是精度高,涉及CRF的分词工具有CRF++,Stanford分词工具。

      Bakeoff是一个国际中文处理比赛,有多个语料,所以每个语料都有排名。只有部分优秀的Bakeoff工具开源。

介绍了以下18种分词工具(大部分是基于java语言):

 

perminusminus   

Stanford 汉语分词工具(Bakeoff-2两项第一)

哈工大语言云(LTP -cloud)

ICTCLAS——(Bakeoff -1两项第一)

Ansj(ICTCLAS的java实现)

庖丁解牛分词

盘古分词    

IKAnalyzer

imdict-chinese-analyzer

mmseg4j

FudanNLP(复旦大学)

Jcseg

SCWS

Friso

HTTPCWS

libmmseg

OpenCLAS

CRF++ (Bakeoff-3四项第一)

 

 

perminusminus

项目 址:http://code.google.com/p/perminusminus/

个人主页:http://nlp.csai.tsinghua.edu.cn/~zkx/

 

源码是python。算法原理是感知器模型

 

Introduction

Per– is a toolkit of AveragedPerceptron (Freund and Schapire, 1999) for path Labelingunder the KISS principle(Keep It Simple and Stupid).

Features

  • Simple and efficient

  • Multiple usage: path labeling, path finding, sequence labeling and classification

  • Can provide n-best outputs

  • Can provide “mar.ginal score”

  • Can provide alpha (forward) values and beta (backward) values using forward-backward algorithm

  • Open source

 

Stanford 汉语分词工具

Stanford 汉语分词工具的成绩:2005年Bakeoff2两个语料的测试第一。

官 :http://nlp.stanford.edu/software/segmenter.shtml

 

最后更新2013-11-12(今天2013-12-28)

一篇使用介绍:

http://hi.baidu.com/liheming333/item/585fba1f898838623e87ce18

斯坦福自然语言小组直接使用CRF 的方法,特征窗口为5。

 

哈工大语言云(LTP -cloud)

项目 址:http://www.ltp-cloud.com/download/#ltp_cloud_sdk

HIT的ITNLP Lab, HIT Wei JIANG在Bakeoff 2005的open语料MSR上获得测评第一名。不确定LTP –cloud是否是在Wei JIANG的工作基础上进行的开发。

语言云曾获CoNLL2009七国语言句法语义分析评测总成绩第一名,

使用方式为web service

语言云(语言技术平台云 LTP-Cloud)是由哈工大 会计算与信息检索研究中心研发的云端自然语言处理服务平台。 后端依托于语言技术平台,语言云为用户提供了包括分词、词性标注、依存句法分析、命名实体识别、语义角色标注在内的丰富高效的自然语言处理服务。

作为基于云端的服务,语言云具有如下一些优势:

  • 免安装:用户只需要下载语言云客户端源代码,编译执行后即可获得分析结果,无需调用静态库或下载模型文件。

  • 省硬件:语言云客户端几乎可以运行于任何硬件配置的计算机上,用户不需要购买高性能的机器,即可快捷的获得分析结果。

  • 跨平台:语言云客户端几乎可以运行于任何操作系统之上,无论是Windows、Linux各个发行版或者Mac OS。

  • 跨编程语言:时至今日,语言云已经提供了包括C++,Java,C#,Python,Ruby在内的客户端,其他编程语言的客户端也在开发之中。

在运算资源有限,编程语言受限的情况下,语言云无疑是用户进行语言分析更好的选择。

从2006年9月5日开始该平台对外免费共享目标代码,截止目前,已经有国内外400多家研究单位共享了LTP,也有国内外多家商 业公司购买了LTP,用于实际的商业项目中。2010年12月获得中国中文信息学会颁发的行业最高奖项:”钱伟长中文信息处理科学技术奖”一等奖。

2011年6月1日,为了与业界同行共同研究和开发中文信息处理核心技术,我中心正式将LTP的源代码对外共享,LTP由C++语言开发,可运行于Windows和Linux操作系统。

 

ICTCLAS: 汉语词法分析系统

官 :http://ictclas.nlpir.org/newsdownloadsocId=354

ICTCLAS(Institute of Computing Technology, Chinese Lexical Analysis System)

获取Bakeoff 1两项第一。

  这是最早的中文开源分词项目之一,ICTCLAS在国内973专家组组织的评测中活动获得了第一名,在第一届(2003)国际中文处理研究机构SigHan组织的评测中都获得了多项第一名。

性能:

分词速度单机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 个最符合的切分结果 , 生成二元分词表 , 然后生成分词结果 , 接着进行词性标注并完成主要分词步骤 .

 

 

 

Ansj(ICTCLAS的java实现)

项目 址:https://github.com/ansjsun/ansj_seg

演示 址:http://demo.ansj.org/seg.action

 

ansj分词.ict的真正java实现.分词效果速度都超过开源版的ict.中文分词,人名识别,词性标注,用户自定义词典

增加了对lucene的支持.如果不想编译文件可以直接到 https://github.com/ansjsun/mvn-repo/tree/gh-pages/org/ansj这里下载jar包!

这是一个ictclas的java实现.基本上重写了所有的数据结构和算法.词典是用的开源版的ictclas所提供的.并且进行了部分的人工优化

内存中中文分词每秒钟大约100万字(速度上已经超越ictclas)

文件读取分词每秒钟大约30万字

准确率能达到96%以上

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2015年10月20日
下一篇 2015年10月20日

相关推荐