一些实用的NLP开源项目
1. 综合型开源工具
(1)Natural Language Toolkit (NLTK)
NLTK是用于构建Python程序以处理人类语言数据的领先平台。它为超过50个语料库和词汇资源(如WordNet)提供了易于使用的接口,以及一套用于分类、标记化、词干、标记、解析和语义推理的文本处理库,用于工业强度NLP库的包装器,以及一个活跃的讨论论坛。
由于介绍了编程基础知识以及计算语言学主题的实践指南,加上全面的API文档,NLTK适用于语言学家、工程师、学生、教育工作者、研究人员和行业用户。NLTK可用于Windows、Mac OS X和Linux。最重要的是,NLTK是一个免费的、开源的、社区驱动的项目。
NLTK被称为“使用Python进行计算语言学教学和工作的绝佳工具”,以及“使用自然语言的神奇库”。
使用Python进行自然语言处理提供了语言处理编程的实用介绍。它由NLTK的创建者编写,指导读者了解编写Python程序、使用语料库、对文本进行分类、分析语言结构等方面的基础知识。该书的在线版本已经针对Python 3和NLTK 3进行了更新。(原始的Python 2版本仍然可以在https://www.nltk.org/book_1ed上找到。)
(2)PaddleNLP
PaddleNLP是一款简单易用且功能强大的自然语言处理开发库。聚合业界优质预训练模型并提供开箱即用的开发体验,覆盖NLP多场景的模型库搭配产业实践范例可满足开发者灵活定制的需求。
(3)Stanford CoreNLP
斯坦福NLP小组将我们的一些自然语言处理软件提供给每个人!我们为主要的计算语言学问题提供统计NLP、深度学习NLP和基于规则的NLP工具,这些工具可以整合到具有人类语言技术需求的应用程序中。这些软件包广泛应用于工业、学术界和政府部门。
(4)FudanNLP
复旦大学自然语言处理实验室,是由复旦大学首席教授吴立德先生创建,是我国最早开展自然语言处理和信息检索研究的实验室之一。经过40余年发展,在自然语言处理底层分析、文本检索、自动问答、社会媒体分析等方面取得了一系列的研究成果。实验室多年在国家自然科学基金、国家863/973/重点研发计划、省部委基金的支持下,发表了大量高水平国际期刊和会议论文,其中包括中国计算机学会推荐的A/B类国际会议和期刊论文(ACL,SIGIR,IJCAI,AAAI,NIPS,ICML等)论文150余篇;参加多项国内外评测,如在自动问答国际评测TREC/QA中获得第3名,在文本蕴涵评测RITE和阅读理解评测SQUAD都位居前列;发布了国内首家中文自然语言开源系统FudanNLP,被包括联合国教科文组织在内的国内外多家研发机构采用。
(5)SpaCy
spaCy是一个用于Python和Cython中的高级自然语言处理的库。它建立在最新的研究基础上,从第一天开始就被设计用于实际产品。
spaCy附带了预训练的管道,目前支持70多种语言的标记化和训练。它具有最先进的速度和神经网络模型,用于标记、解析、命名实体识别、文本分类等,使用BERT等预训练的变压器进行多任务学习,以及可生产的培训系统和简单的模型打包、部署和工作流管理。spaCy是一个商业开源软件,在MIT许可下发布。
(6)OpenNLP
OpenNLP支持最常见的NLP任务,如标记化、句子分割、词性标记、命名实体提取、分块、解析、语言检测和共参考解析。
(7)AllenNLP
AllenNLP团队设想以语言为中心的人工智能公平地服务于人类。我们致力于提高NLP系统的性能和问责制,并推进评估和理解这些系统的科学方法。我们提供我们自己的高影响力研究和精心设计的开源工具,以加速世界各地的NLP研究。
(8)EasyNLP
随着 BERT、Megatron、GPT-3 等预训练模型在NLP领域取得瞩目的成果,越来越多团队投身到超大规模训练中,这使得训练模型的规模从亿级别发展到了千亿甚至万亿的规模。然而,这类超大规模的模型运用于实际场景中仍然有一些挑战。首先,模型参数量过大使得训练和推理速度过慢且部署成本极高;其次在很多实际场景中数据量不足的问题仍然制约着大模型在小样本场景中的应用,提高预训练模型在小样本场景的泛化性依然存在挑战。为了应对以上问题,PAI 团队推出了 EasyNLP 中文 NLP 算法框架,助力大模型快速且高效的落地。
2. 其他开源工具
(1)Huggingface
Huggingface总部位于纽约,是一家专注于自然语言处理、人工智能和分布式系统的创业公司。他们所提供的聊天机器人技术一直颇受欢迎,但更出名的是他们在NLP开源社区上的贡献。Huggingface一直致力于自然语言处理NLP技术的平民化(democratize),希望每个人都能用上最先进(SOTA, state-of-the-art)的NLP技术,而非困窘于训练资源的匮乏。同时Hugging Face专注于NLP技术,拥有大型的开源社区。尤其是在github上开源的自然语言处理,预训练模型库 Transformers,已被下载超过一百万次,github上超过24000个star。Transformers 提供了NLP领域大量state-of-art的 预训练语言模型结构的模型和调用框架。
(后续更新)