自然语言处理NLP开源软件工具包

自然语言处理(NLP) 开源软件工具包

基础研究领域
1、文本分类
2、依存分析
3、命名实体
4、词性标注
5、中文分词
6、情感分析
7、信息抽取
8、文本摘要

一、NLTK

NLTLK官方文档地址:http://www.nltk.org/

原文地址:http://www.52nlp.cn/tag/nltk-book

NLTK(Natural Language Toolkit)是最为知名的Python自然语言处理工具,是宾夕法尼亚大学计算机与信息科学系在2001年开发的基于Apache协议的开源软件。NLTK 提供包括WordNet在内的百余个语料资源,以及分类、分词、词干提取、 词性标注、依存分析、语义推断等一系列功能,并维护了一个活跃的开发者论坛。除了免费、开源、社区驱动等特性之外,NLTK还提供了简易的 上手教程和丰富的开发文档,在众多国家的大学课程中作为教学工具广泛使用。

二、OpenNLP

OpenNLP是基于机器学习的Java自然语言处理工具包,是Apache Software Foundation在2010年开发的基于Apache 2.0协议的开源软件。OpenNLP提供 基于机器学习的自然语言文本处理功能,包括标记化、浅层分析(句字分块)、分词、分句、分块、词性标注、命名实体识别、语法解析、指代消解等,为进一步完成后续任务提供 支持。OpenNLP涵盖最大熵、感知机、朴素贝叶斯等模型,为多种语言提供预训练模型以及对应的标注语料资源,既可以通过Java API或命令行接口调用,也可以作为组件集成到Apache Flink、NiFi、Spark等分布式流数据处理框架中。

三、LTP

LTP(Language Technology Platform)是支持Java和Python接口的中文处理基础平台,是哈尔滨工业大学社会计算与信息检索研究中心在2011年开发的基于GPL协议的开源软件。LTP提供中文分词、词性标注、命名实体识别、依存句法分析、语义角色标注等丰富、高效、精准的自然语言处理模块。“语言云”以LTP为基础,提供具有跨平台、跨语言等特性的中 文自然语言处理云服务。

四、Stanford CoreNLP

Stanford CoreNLP支持多种语言的处理,是斯坦福大学自然语言处理 组在2010年开发的基于GPL协议的开源软件。Stanford CoreNLP提供词干提取、词性标注、命名实体识别、依存语法分析、指代消解、情感分析、 关系抽取等功能,还集成了很多自然语言处理工具,为多种主流编程语言提供开发接口,并且支持以Web服务形式运行。

五、Gensim

Gensim是基于机器学习的自然语言处理工具包,是Radim Rehurek在 2008年开发的基于GUN协议的开源软件。Gensim提供主题建模、文档索引以及相似度获取等功能。Gensim按流式处理数据,所实现的算法不受语料大小影响,可以处理比RAM更大的输入数据。

六、spaCy

spaCy是支持20多种语言的自然语言处理包,是Explosion AI在2014 年开发的基于MIT协议的开源软件。spaCy提供词性标注、依存分析、命名实体识别等功能,以面向企业级大规模应用快速高效而著称。spaCy可用于自然语言深度学习的预处理阶段,与TensorFlow、PyTorch、scikit- learn、Gensim等Python人工智能技术体系结合使用。

七、FudanNLP

FudanNLP是用Java语言编写的中文自然语言处理工具包,是复旦大 学自然语言处理实验室在2014年开发的基于LGPL3.0协议的开源软件。FudanNLP提供中文分词、词性标注、实体名识别、关键词抽取、依存句法分析、时间短语识别等中文处理功能,文本分类、新闻聚类等信息检索功能,以及在线学习、层次分类、聚类等结构化学习算法。

八、NLPIR

原文链接:http://www.52nlp.cn/tag/nlpir

NLPIR汉语分词系统(又名ICTCLAS)是面向中文的大数据语义智能分析系统,由北京理工大学大数据搜索与挖掘实验室( Big Data Search and Mining Lab.BDSM@BIT)张华平博士主导,在2015年开发的开源软件。融合了网络精准采集、自然语言理解、文本挖掘和语义搜索等技术,提供了客户端工具、云服务、二次开发接口。开发平台由多个中间件组成,各个中间件API可以无缝地融合到客户的各类复杂应用系统之中,可兼容Windows,Linux,Android,Maemo5,FreeBSD等不同操作系统平台,可以供Java,C,C#等各类开发语言使用。

NLPIR大数据语义智能分析平台十三大功能:

1. 精准采集:对境内外互联网海量信息实时精准采集,有主题采集(按照信息需求的主题采集)与站点采集两种模式(给定网址列表的站内定点采集功能)。

2. 文档抽取:对doc、excel、pdf与ppt等多种主流文档格式,进行文本信息抽取,信息抽取准确,效率达到大数据处理的要求。

3. 新词发现:从文本中挖掘出新词、新概念,用户可以用于专业词典的编撰,还可以进一步编辑标注,导入分词词典中,提高分词系统的准确度,并适应新的语言变化。

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

5、语言统计:针对切分标注结果,系统可以自动地进行一元词频统计、二元词语转移概率统计。针对常用的术语,会自动给出相应的英文解释。

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

7、文本分类:根据规则或训练的方法对大量文本进行分类,可用于新闻分类、简历分类、邮件分类、办公文档分类、区域分类等诸多方面。

8、摘要实体:对单篇或多篇文章,自动提炼出内容摘要,抽取人名、地名、机构名、时间及主题关键词;方便用户快速浏览文本内容。

9、智能过滤:对文本内容的语义智能过滤审查,内置国内最全词库,智能识别多种变种:形变、音变、繁简等多种变形,语义精准排歧。

10、情感分析:针对事先指定的分析对象,系统自动分析海量文档的情感倾向:情感极性及情感值测量,并在原文中给出正负面的得分和句子样例。

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

12、全文检索:支持文本、数字、日期、字符串等各种数据类型,多字段的高效搜索,支持AND/OR/NOT以及NEAR邻近等查询语法,支持维语、藏语、蒙语、阿拉伯、韩语等多种少数民族语言的检索。

13、编码转换:自动识别内容的编码,并把编码统一转换为其他编码。

提供中文分词、词性标注、命名实体识别、微博分词、新词发现、关键词提取等功能,支持GBK、UTF8、BIG5等编码。

NLPIR大数据语义智能分析平台白皮书:

http://www.nlpir.org/NLPIR-Parser-WhitePaper.pdf (约3MB)

NLPIR大数据语义智能分析平台:

http://www.nlpir.org/NLPIR-Parser.zip (约160MB)

九、THULAC

THULAC是中文词法分析工具包,是清华大学自然语言处理与社会 人文计算实验室在2016年开发的基于MIT协议的开源软件,包括C++、 Java、Python三个版本,主要提供中文分词和词性标注等功能,具有分词能力强、准确率较高、速度较快等特点。该开源项目如作为商业目的,需要与清华大学协商付费。

十、HanLP

在线演示链接:http://hanlp.com/

原文链接:https://cloud.tencent.com/developer/article/1366826

HanLP是由一系列模型与算法组成的Java工具包,目标是普及自然语言处理在生产环境中的应用。HanLP具备功能完善、性能高效、架构清晰、语料时新、可自定义的特点。

开发语言:Java

网址:hankcs/HanLP

开发机构:大快搜索

协议:Apache-2.0

功能:非常多,主要有中文分词,词性标注,命名实体识别,关键词提取,自动摘要,短语提取,拼音转换,简繁转换,文本推荐,依存句法分析,文本分类:情感分析,word2vec,语料库工具

活跃度:github star 超过4千5,近期(201711)仍在保持更新

你可能感兴趣的:(NLP)