自然语言处理工具调研

时间:2021-08-01 00:58:36

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 企业用途比较大,可支持深度学习