1、中文自然语言处理工具包FudanNLP
FudanNLP主要是为中文自然语言处理而开发的工具包,也包含为实现这些任务的机器学习算法和数据集。开发语言: Java;操作系统:跨平台
FudanNLP目前实现的内容如下:1、中文处理工具:中文分词、词性标注、实体名识别、句法分析、时间表达式识别;2、信息检索:文本分类、新闻聚类、Lucene中文分词;3、机器学习:AveragePerceptron(感知器)Passive-aggressive Algorithm(被动攻击)、K-means、Exact Inference(精确推理)。
2、Java自然语言处理 LingPipe
LingPipe 是一个自然语言处理的Java开源工具包。LingPipe目前已有很丰富的功能,包括主题分类(Top Classification)、命名实体识别(Named EntityRecognition)、词性标注(Part-of Speech Tagging)、句题检测(Sentence Detection)、查询拼写检查(Query SpellChecking)、兴趣短语检测(Interseting Phrase Detection)、聚类(Clustering)、字符语言建模(Character LanguageModeling)、医学文献下载/解析/索引(MEDLINE Download, Parsing and Indexing)、数据库文本挖掘(Database Text Mining)、中文分词(Chinese WordSegmentation)、情感分析(Sentiment Analysis)、语言辨别(Language Identification)等API。
3、中科院ICTCLAS
ICTCLAS是由中科院计算所历经数年开发的分词工具,采用C++编写。主要功能包括中文分词、词性标注、命名实体识别、用户词典功能,同时支持GBK编码、UTF8编码、BIG5编码,新增微博分词、新词发现与关键词提取。可以可视化界面操作和API方式调用。
4、The Stanford Natural LanguageProcessing Group
Stanford NLP Group是斯坦福大学自然语言处理的团队,开发了多个NLP工具。
1) Stanford CoreNLP:采用Java编写的面向英文的处理工具,主要功能包括分词、词性标注、命名实体识别、语法分析等。
2) Stanford Word Segmenter:采用CRF(条件随机场)算法进行分词,也是基于Java开发的,同时可以支持中文和Arabic,官方要求Java版本1.6以上,推荐内存至少1G。
3)Stanford POS Tagger:采用Java编写的面向英文、中文、法语、阿拉伯语、德语的命名实体识别工具。
4) Stanford Named Entity Recognizer:采用条件随机场模型的命名实体工具。
5) Stanford Parser:进行语法分析的工具,支持英文、中文、阿拉伯文和法语。
5 IKAnalyzer
IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。IK支持细粒度和智能分词两种切分模式,支持英文字母、数字、中文词汇等分词处理,兼容韩文、日文字符。可以支持用户自定义的词典。
6 NLTK
NLTK是一个python工具包, 用来处理和自然语言处理相关的东西. NLTK 在用 Python 处理自然语言的工具中处于领先的地位。它提供了 WordNet 这种方便处理词汇资源的接口,还有分类、分词、除茎、标注、语法分析、语义推理等类库。
7 python工具包Pattern
Pattern 的自然语言处理工具有词性标注工具(Part-Of-Speech Tagger),N元搜索(n-gram search),情感分析(sentiment analysis),WordNet。支持机器学习的向量空间模型,聚类,向量机。
8 CRF++
CRF++是著名的条件随机场开源工具,也是目前综合性能最佳的CRF工具。开发语言: C/C++;操作系统: Windows Linux
9 开源机器学习工具包Mallet
Mallet的作者是Andrew McCallum大师(CRF创始人之一),此软件包基于java。通过mallet工具,可以进行自然语言处理,文本分类,主题建模。文本聚类,信息抽取等,此软件包基于java。通过mallet工具,可以进行自然语言处理,文本分类,主题建模,文本聚类,信息抽取等。
10 分布式在线机器学习框架 Jubatus
Jubatus 是一个分布式处理框架和机器学习库,包含以下功能:在线机器学习库,包括:分类、聚合和推荐;fv_converter: 数据预处理(用自然语言);在线机器学习框架,支持容错。开发语言: C/C++;操作系统: Linux
11 HanLP
HanLP是由一系列模型与算法组成的Java工具包,目标是普及自然语言处理在生产环境中的应用。不仅仅是分词,而是提供词法分析、句法分析、语义理解等完备的功能。HanLP具备功能完善、性能高效、架构清晰、语料时新、可自定义的特点。HanLP完全开源,包括词典。
12spaCy https://spacy.io/
Python 企业用途比较大,可支持深度学习