开源NLP工具(包括分词工具)

来源:互联网 发布:java array length 编辑:程序博客网 时间:2024/06/06 03:17

中文词法分析
THULAC:一个高效的中文词法分析工具包
包括中文分词、词性标注功能。已经提供C++、Java、Python版本。

中文文本分类
THUCTC: 一个高效的中文文本分类工具
提供高效的中文文本特征提取、分类训练和测试功能。

THUTag: 关键词抽取与社会标签推荐工具包
GitHub - YeDeming/THUTag: A Package of Keyphrase Extraction and Social Tag Suggestion
提供关键词抽取、社会标签推荐功能,包括TextRank、ExpandRank、Topical PageRank(TPR)、Tag-LDA、Word Trigger Model、Word Alignment Model等算法。

PLDA / PLDA+: 一个高效的LDA分布式学习工具包
https://code.google.com/archive/p/plda/

知识表示学习
知识表示学习工具包
GitHub - Mrlyk423/Relation_Extraction: Knowledge Base Embedding
包括TransE、TransH、TransR、PTransE等算法。

考虑实体描述的知识表示学习算法
GitHub - xrb92/DKRL: Representation Learning of Knowledge Graphs with Entity Descriptions

词表示学习
跨语言词表示学习算法
Learning Cross-lingual Word Embeddings via Matrix Co-factorization

主题增强的词表示学习算法
GitHub - largelymfs/topical_word_embeddings: A demo code for topical word embedding

可解释的词表示学习算法
GitHub - SkTim/OIWE: Online Interpretable Word Embeddings

考虑字的词表示学习算法
GitHub - Leonard-Xu/CWE

网络表示学习
文本增强的网络表示学习算法
GitHub - albertyang33/TADW: code for IJCAI2015 paper "Network Representation Learning with Rich Text Information"


中文分词

---------------------------

结巴分词: https://github.com/fxsjy/jieba

IKAnalyzer:http://www.oschina.net/p/ikanalyzer

paoding :https://github.com/zhuomingliang/paoding  Lucene中文分词“庖丁解牛”,imdict智能词典所采用的智能中文分词程序

mmseg4j : http://code.google.com/p/mmseg4j/  or  https://github.com/chenlb/mmseg4j-solr

1、mmseg4j 用 Chih-Hao Tsai 的 MMSeg 算法(http://technology.chtsai.org/mmseg/ )实现的中文分词器,并实现 lucene 的 analyzer 和 solr 的TokenizerFactory 以方便在Lucene和Solr中使用。

2、MMSeg 算法有两种分词方法:Simple和Complex,都是基于正向最大匹配。Complex 加了四个规则过虑。官方说:词语的正确识别率达到了 98.41%。mmseg4j 已经实现了这两种分词算法。

ik :https://github.com/wks/ik-analyzer 采用了特有的“正向迭代最细粒度切分算法“,支持细粒度和最大词长两种切分模式。

Ansj:https://github.com/NLPchina/ansj_seg 这是一个基于n-Gram+CRF+HMM的中文分词的java实现


常用中文分词包

1. 庖丁解牛分词包,适用于与Lucene整合。http://www.oschina.net/p/paoding

    庖丁中文分词库是一个使用Java开发的,可结合到Lucene应用中的,为互联网、企业内部网使用的中文搜索引擎分词组件。

    Paoding填补了国内中文分词方面开源组件的空白,致力于此并希翼成为互联网网站首选的中文分词开源组件。 Paoding中文分词追求分词的高效率和用户良好体验。

    Paoding's Knives 中文分词具有极 高效率 和 高扩展性 。引入隐喻,采用完全的面向对象设计,构思先进。

    高效率:在PIII 1G内存个人机器上,1秒 可准确分词 100万 汉字。

    采用基于 不限制个数的词典文件对文章进行有效切分,使能够将对词汇分类定义。

    能够对未知的词汇进行合理解析

 

2. LingPipe,开源自然语言处理的Java开源工具包。http:/alias-i.com/lingpipe/

    功能非常强大,最重要的是文档超级详细,每个模型甚至连参考论文都列出来了,不仅使用方便,也非常适合模型的学习。

    主题分类(Top Classification)、命名实体识别(Named Entity Recognition)、词性标注(Part-of Speech Tagging)、句题检测(Sentence Detection)、查询拼写检查(Query Spell Checking)、兴趣短语检测(Interseting Phrase Detection)、聚类(Clustering)、字符语言建模(Character Language Modeling)、医学文献下载/解析/索引(MEDLINE Download, Parsing and Indexing)、数据库文本挖掘(Database Text Mining)、中文分词(Chinese Word Segmentation)、情感分析(Sentiment Analysis)、语言辨别(Language Identification)等

3. JE分词包

4. LibMMSeg http://www.oschina.net/p/libmmseg

    采用C++开发,同时支持Linux平台和Windows平台,切分速度大约在300K/sPM-1.2G),截至当前版本(0.7.1)。

    LibMMSeg没有为速度仔细优化过,进一步的提升切分速度应仍有空间。

5. IKAnalyzer http://www.oschina.net/p/ikanalyzer

    IKAnalyzer基于lucene2.0版本API开发,实现了以词典分词为基础的正反向全切分算法,是LuceneAnalyzer接口的实现。

    该算法适合与互联网用户的搜索习惯和企业知识库检索,用户可以用句子中涵盖的中文词汇搜索,如用"人民"搜索含"人民币"的文章,这是大部分用户的搜索思维;

    不适合用于知识挖掘和网络爬虫技术,全切分法容易造成知识歧义,因为在语义学上"人民""人民币"是完全搭不上关系的。

6. PHPCWS http://www.oschina.net/p/phpcws

    PHPCWS 是一款开源的PHP中文分词扩展,目前仅支持Linux/Unix系统。

    PHPCWS 先使用“ICTCLAS 3.0 共享版中文分词算法”的API进行初次分词处理,再使用自行编写的“逆向最大匹配算法”对分词和进行词语合并处理,并增加标点符号过滤功能,得出分词结果。

    ICTCLASInstitute of Computing Technology, Chinese Lexical Analysis System)是中国科学院计算技术研究所在多年研究工作积累的基础上,基于多层隐马模型研制出的汉语词法分析系统,主要功能包括中文分词;词性标注;命名实体识别;新词识别;同时支持用户词典。ICTCLAS经过五年精心打造,内核升级6次,目前已经升级到了ICTCLAS3.0,分词精度 98.45%,各种词典数据压缩后不到3MICTCLAS在国内973专家组组织的评测中活动获得了第一名,在第一届国际中文处理研究机构SigHan 组织的评测中都获得了多项第一名,是当前世界上最好的汉语词法分析器。

    ICTCLAS 3.0 商业版是收费的,而免费提供的 ICTCLAS 3.0 共享版不开源,词库是根据人民日报一个月的语料得出的,很多词语不存在。所以本人对ICTCLAS分词后的结果,再采用逆向最大匹配算法,根据自己补充的一个9万条词语的自定义词库(与ICTCLAS词库中的词语不重复),对ICTCLAS分词结果进行合并处理,输出最终分词结果。

    由于 ICTCLAS 3.0 共享版只支持GBK编码,因此,如果是UTF-8编码的字符串,可以先用PHPiconv函数转换成GBK编码,再用phpcws_split函数进行分词处理,最后转换回UTF-8编码。

7、KTDictSeg 一个C#.net做的简单快速准确的开源中文分词组件(这个分词算法效果也不错)
http://www.cnblogs.com/eaglet/archive/2007/05/24/758833.html

代码下载:http://download.csdn.net/source/521857