自然语言处理(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开源软件工具包相关推荐

  1. 自然语言处理(NLP)-第三方库(工具包):Annoy 【向量最邻近检索工具】

    自然语言处理(NLP)-第三方库(工具包):Annoy [向量最邻近检索工具] 参考资料: 推荐系统的向量检索工具: Annoy & Faiss

  2. 自然语言处理(NLP)-第三方库(工具包):WordNet(在nltk.corpus下)【英文:同义词、反义词、蕴含关系、语义相似度】

    WordNet是面向语义的英语词典,与传统辞典类似,但结构更丰富.nltk中包括英语WordNet,共有155287个单词和117659个同义词. 一.寻找同义词 这里以motorcar为例,寻找它的 ...

  3. 2018中国人工智能开源软件发展白皮书-笔记

    "2018中国人工智能开源软件发展白皮书"是新手了解人工智能技术原理和技术现状的好文档,读完之后有再读几遍的冲动,学到了很多东西,做了笔记分享给大家共同学习,有不对的地方多多指出. ...

  4. java自然语言处理包_Java自然语言处理NLP工具包

    自然语言处理 1. Java自然语言处理 LingPipe LingPipe是一个自然语言处理的Java开源工具包.LingPipe目前已有很丰富的功能,包括主题分类(Top Classificati ...

  5. .NET 开源软件开发BIM工具包xBIM

    一.xBIM 简介 BIM(Building Information Modelling)建筑信息模型,xBIM(eXtensible Building Information Modelling)可 ...

  6. 『NLP学习笔记』工业级自然语言处理spaCy开源库的使用

    工业级自然语言处理spaCy开源库的使用 文章目录 一. spaCy介绍 1.1. 什么是spaCy 1.2. spaCy的优势 1.3. spaCy的处理过程(Processing Pipeline ...

  7. 自然语言处理nlp全领域综述

    ************************* 精华总结,时间不够只看这个部分就行了 1.书和课 Michael Collins:COMS W4705: Natural Language Proc ...

  8. HanLP自然语言处理包开源(包含源码)

    HanLP自然语言处理包开源(包含源码) 支持中文分词(N-最短路分词.CRF分词.索引分词.用户自定义词典.词性标注),命名实体识别(中国人名.音译人名.日本人名.地名.实体机构名识别),关键词提取 ...

  9. 最新的NLP开源神器来了!

    Datawhale开源 内容:NLP开源项目详解 导读 PaddleNLP 是兼具科研学习和产业实践能力的 Python NLP 工具包,提供中文领域丰富的预训练模型和部署工具,被高校.企业开发者广泛 ...

  10. 2012年度最受欢迎中国开源软件评选

    http://www.oschina.net/project/top_cn_2012 afinal Afinal 是一个android的 orm 和 ioc 框架.而且封装了android中的http ...

最新文章

  1. Matlab与数据结构 -- 对矩阵的排序
  2. 基于深度学习的可疑活动视频分析
  3. linux系统oracle服务自启动
  4. c++语言生成一个随机数,C/C++怎么生成“真正的”随机数
  5. Saltstack_实战指南01_系统规划
  6. css布局方式_手把手教你CSS Flex布局「真香」
  7. 杀死应用进程 android,如何杀死Android应用程序启动的logcat进程?
  8. 衡量模块独立性的两个定性标准
  9. super在python3和python2_python2与Python3的区别
  10. FCN-Fully Convolutional Networks
  11. 机器学习回归问题解答
  12. 引用类型 —— Array类型
  13. [04-07]最新精选绿色软件每日更新(小熊整理)
  14. 推荐几款实用性强的外业勘察地图软件
  15. 在哪里买腾讯云服务器,在哪查看我的腾讯云服务器购买记录?
  16. bootloader系列二——arm920t--bootloader架构设计
  17. python推箱子小游戏_python实现推箱子游戏
  18. 按键精灵UI界面的实例代码以及调用
  19. 西南石油大学计科院主页
  20. 【div】 设置水平居中

热门文章

  1. ffplay播放器-数据读取线程
  2. Ubuntu的各种软件下载和安装命令
  3. 全志V3s IIC控制器驱动分析
  4. 荔枝派Zero 全志V3s,NORFlash xt25f128b的移植
  5. 利用python暴力破解rar压缩文件密码
  6. 如何学习操作系统这门课程?
  7. jzxx1105 【入门】字符图形4-星号正三角
  8. Win10用注册表开启任务栏透明
  9. 计算机怎样更新卡驱动,显卡驱动怎么升级
  10. CMOS模拟集成电路设计 吴金 学习记录2