各分词工具介绍

NLPIR

是一套专门针对原始文本集进行处理和加工的软件,提供了中间件处理效果的可视化展示,也可以作为小规模数据的处理加工工具。用户可以使用该软件对自己的数据进行处理。

关键词提取;同时支持用户词典。,可以可视化界面操作和API方式调用

采用了层叠隐马尔可夫模型

全部采用C/C++编写,支持Linux、FreeBSD及Windows系列操作系统,支持C/C++/C#/Delphi/Java等主流的开发语言

支持GBK编码(Guo-BiaoKuozhan,简体中文)分词,同时支持UTF-8编码和Big5编码(大五码,繁体中文)分词;支持繁体中文分词;支持多线程分词。 


官网:http://ictclas.nlpir.org/

NLPIR网络搜索与挖掘共享开发平台的十一种功能:

n 1. 全文精准检索

支持文本、数字、日期、字符串等各种数据类型,多字段的高效搜索,支持AND/OR/NOT以及NEAR邻近等查询语法,支持维语、藏语、蒙语、阿拉伯、韩语等多种少数民族语言的检索。可以无缝地与现有文本处理系统与数据库系统融合。

n 2. 新词发现:

从文件集合中挖掘出内涵的新词语列表,可以用于用户专业词典的编撰;还可以进一步编辑标注,导入分词词典中,从而提高分词系统的准确度,并适应新的语言变化。

n 3. 分词标注:

对原始语料进行分词、自动识别人名地名机构名等未登录词、新词标注以及词性标注。并可在分析过程中,导入用户定义的词典。

n 4. 统计分析与术语翻译

针对切分标注结果,系统可以自动地进行一元词频统计、二元词语转移概率统计(统计两个词左右连接的频次即概率)。针对常用的术语,会自动给出相应的英文解释。

n 5. 文本聚类及热点分析

能够从大规模数据中自动分析出热点事件,并提供事件话题的关键特征描述。同时适用于长文本和短信、微博等短文本的热点分析。

n 6. 分类过滤

针对事先指定的规则和示例样本,系统自动从海量文档中筛选出符合需求的样本。

n 7. 自动摘要

能够对单篇或多篇文章,自动提炼出内容的精华,方便用户快速浏览文本内容。

n 8. 关键词提取

能够对单篇文章或文章集合,提取出若干个代表文章中心思想的词汇或短语,可用于精化阅读、语义查询和快速匹配等。

n 9. 文档去重

能够快速准确地判断文件集合或数据库中是否存在相同或相似内容的记录,同时找出所有的重复记录。

n 10. HTML正文提取

自动剔除导航性质的网页,剔除网页中的HTML标签和导航、广告等干扰性文字,返回有价值的正文内容。适用于大规模互联网信息的预处理和分析。

n 11. 编码自动识别与转换

自动识别文档内容的编码,并进行自动转换,目前支持Unicode/BIG5/UTF-8等编码自动转换为简体的GBK,同时将繁体BIG5和繁体GBK进行繁简转化。

n 12. 正负面分析

自动分析文本内涵的正负面情感,并对情感分析对象进行综合。

注:2015版测试的函数NLPIR_IsWord(String str)方法判断某一个词是否在核心库中,使用JNA方法总是返回1,可能是个bug


Ansj

Ansj 是一个开源的 Java 中文分词工具,基于中科院的 ictclas 中文分词算法,比其他常用的开源分词工具(如mmseg4j)的分词准确率更高。
在线演示:http://ansj.sdapp.cn/demo/seg.jsp
官网地址:http://www.ansj.org/

使用手册:http://nlpchina.github.io/ansj_seg/

单独使用ansj:

把两个包(ansj_seg-0.9.jar和tree_split-1.0.1.jar)添加到工程下,在项目下创建library文件夹,加入两个字典文件,最后把library.properties添加到bin目录下即可。

导入用户字典:

1)动态加载:
如:UserDefineLibrary.insertWord(“谷歌公司”,”userDefine”,1000) ;
2)通过文件加载:

可以在default.dic的最后添加。

Stanford Word Segmenter

采用CRF(条件随机场)算法进行分词,也是基于Java开发的,同时可以支持中文和Arabic,官方要求Java版本1.6以上,推荐内存至少1G。下载地址为http://nlp.stanford.edu/software/segmenter.shtml

自然语言处理工具 OpenNLP

OpenNLP 是一个机器学习工具包,用于处理自然语言文本。支持大多数常用的 NLP 任务,例如:标识化、句子切分、部分词性标注、名称抽取、组块、解析等。

IKAnalyzer

IK支持细粒度和智能分词两种切分模式,支持英文字母、数字、中文词汇等分词处理,兼容韩文、日文字符。可以支持用户自定义的词典,通过配置IKAnalyzer.cfg.xml文件来实现,可以配置自定义的扩展词典和停用词典。词典需要采用UTF-8BOM格式编码,并且每个词语占一行。

IKAnalyzer 是一个开源的,基于java语言开发的轻量级的中文分词工具包。从200612月推出1.0版开始, IKAnalyzer已经推出了4个大版本。最初,它是以开源项目Luence为应用主体的,结合词典分词和文法分析算法的中文分词组件。从3.0版本开始,IK发展为面向Java的公用分词组件,独立于Lucene项目,同时提供了对Lucene的默认优化实现。在2012版本中,IK实现了简单的分词歧义排除算法,标志着IK分词器从单纯的词典分词向模拟语义分词衍化。

IK Analyzer 2012特性:

1.   采用了特有的“正向迭代最细粒度切分算法“,支持细粒度和智能分词两种切分模式;

2.   在系统环境:Core2 i7 3.4G双核,4G内存,window 7 64位, Sun JDK 1.6_29 64位 普通pc环境测试,IK2012具有160万字/秒(3000KB/S)的高速处理能力。

3.   2012版本的智能分词模式支持简单的分词排歧义处理和数量词合并输出。

4.   采用了多子处理器分析模式,支持:英文字母、数字、中文词汇等分词处理,兼容韩文、日文字符

5.   优化的词典存储,更小的内存占用。支持用户词典扩展定义。特别的,在2012版本,词典支持中文,英文,数字混合词语。




你可能感兴趣的:(算法,机器学习,自然语言处理)