awesome-nlp
awesome-nlp 是一个精心整理的自然语言处理(NLP)资源清单,旨在为从业者和学习者提供一站式的信息导航。面对 NLP 领域海量且分散的论文、代码库、数据集及教程,用户往往难以快速定位高质量内容,awesome-nlp 正是为解决这一痛点而生。它系统性地汇集了从基础理论到前沿趋势的各类资源,涵盖深度学习在 NLP 中的应用综述、全球顶尖实验室动态、多语言(包括中文、韩语、阿拉伯语等)专项资源,以及针对 Python、Java、C++ 等多种编程语言的实用工具库。
这份清单特别适合 NLP 研究人员、算法工程师、学生以及对人工智能感兴趣的开发者使用。无论是需要追踪最新学术进展(如 ACL、EMNLP 会议亮点),还是寻找具体的标注工具、开源框架或特定语种的数据集,都能在这里找到经过筛选的优质链接。其独特的技术亮点在于不仅关注通用的英语资源,还广泛收录了多种小语种的 NLP 项目,极大地促进了多语言技术的普及与交流。作为一份持续更新的社区驱动型指南,awesome-nlp 以开放和专业的态度,帮助用户高效构建知识体系,降低入门门槛,是探索自然语言处理世界不可或缺的得力助手。
使用场景
某初创公司的算法工程师团队正着手开发一款支持多语种(特别是中文和越南语)的智能客服情感分析系统,急需寻找合适的开源库和标注工具。
没有 awesome-nlp 时
- 资源检索如大海捞针:工程师需在 Google、GitHub 和学术论文库间反复切换搜索,难以区分过时的教程与最新的前沿成果。
- 小众语言支持难寻:针对越南语和中文的特定 NLP 库分散在各处,花费数天仍无法确认哪些库维护活跃且兼容当前技术栈。
- 技术选型风险高:缺乏权威的评测趋势参考,团队误选了一个已停止维护的标注工具,导致后期数据格式迁移成本巨大。
- 学习曲线陡峭:新入职成员缺乏系统性的入门指引,只能零散阅读文档,耗时两周才理清基础概念和主流框架。
使用 awesome-nlp 后
- 一站式获取精选资源:团队直接通过"Libraries"和"Tutorials"分类,快速锁定了 Python 和 R 语言下评分最高的几个主流库及配套视频课程。
- 精准定位多语种方案:利用"NLP in Chinese"和"NLP in Vietnamese"专属章节,立即找到了经过社区验证的特定语言处理工具和数据集。
- 紧跟前沿避免踩坑:参考"Research Summaries and Trends"中的状态追踪,团队避开了过时方案,直接采用了当前 SOTA(最先进)的模型架构。
- 高效统一团队认知:新人通过推荐的书籍和综述文章,在两天内便掌握了核心知识体系,迅速投入到实际编码工作中。
awesome-nlp 将原本需要数周的碎片化调研工作压缩至几天,让团队能专注于核心算法创新而非资源筛选。
运行环境要求
未说明
未说明

快速开始
令人惊叹的自然语言处理
一份精心整理的自然语言处理资源列表

在贡献之前,请先阅读贡献指南。请通过提交拉取请求来添加您喜爱的NLP资源
目录
- 研究综述与趋势
- 知名NLP研究实验室
- 教程
- 库
- 服务
- 标注工具
- 数据集
- 韩语中的NLP
- 阿拉伯语中的NLP
- 中文中的NLP
- 德语中的NLP
- 波兰语中的NLP
- 西班牙语中的NLP
- 印地语系语言中的NLP
- 泰语中的NLP
- 丹麦语中的NLP
- 越南语中的NLP
- 荷兰语中的NLP
- 印尼语中的NLP
- 乌尔都语中的NLP
- 波斯语中的NLP
- 乌克兰语中的NLP
- 匈牙利语中的NLP
- 葡萄牙语中的NLP
- 其他语言
- 引用
- 致谢
研究综述与趋势
- NLP-Overview 是一个关于深度学习技术在NLP领域应用的最新概述,涵盖了理论、实现、应用以及最前沿的研究成果。对于研究人员来说,这是一个极佳的深度NLP入门资料。
- NLP-Progress 跟踪自然语言处理领域的进展,包括常用NLP任务的数据集和当前最先进的技术水平。
- NLP的ImageNet时刻已经到来
- ACL 2018亮点:在更具挑战性的场景中理解表示与评估
- ACL 2017的四大深度学习趋势。第一部分:语言结构与词嵌入
- ACL 2017的四大深度学习趋势。第二部分:可解释性与注意力机制
- EMNLP 2017亮点:令人兴奋的数据集、聚类的回归等!
- 自然语言处理(NLP)中的深度学习:进展与趋势
- 自然语言生成领域的现状综述
知名NLP研究实验室
- 伯克利NLP小组 - 其著名贡献包括开发了一种用于重建已消亡语言的工具,该工具被此处提及,并且他们还从亚洲和太平洋地区现存的637种语言中收集语料,重建这些语言的后代语言。
- 卡内基梅隆大学语言技术研究所 - 其著名项目包括Avenue项目,这是一套基于语法的机器翻译系统,专为像克丘亚语和艾马拉语这样的濒危语言设计;此外,他们还曾开发过诺亚方舟项目,该项目创建了AQMAR,旨在改进针对阿拉伯语的NLP工具。
- 哥伦比亚大学NLP研究组 - 该研究组负责开发BOLT(语音翻译系统的交互式错误处理系统)以及一项未命名的项目,用于描述对话中的笑声特征。
- 约翰霍普金斯大学语言与语音处理中心 - 最近因开发用于帕金森病诊断测试的语音识别软件而备受关注,详情见这里。
- 马里兰大学计算语言学与信息处理小组 - 其著名贡献包括人机协作式的逐字问答系统以及对语音表征发展的建模研究。
- 宾夕法尼亚大学自然语言处理小组 - 以创建Penn Treebank而闻名。
- 斯坦福大学自然语言处理小组 - 作为全球顶尖的NLP研究实验室之一,其著名成就包括开发Stanford CoreNLP及其核心指代消解系统
教程
阅读内容
通用机器学习
- Google高级创意工程师提供的机器学习101,为工程师和高管们讲解机器学习基础知识
- AI行动指南 - a16z的AI行动指南是非常适合转发给管理层或用于演示文稿的内容
- 塞巴斯蒂安·鲁德尔的Ruder博客,提供关于自然语言处理研究前沿的评论
- 数据标注指南:管理大型语言标注项目的指南
- 取决于定义:涵盖广泛NLP主题并附有详细实现的博客文章合集
自然语言处理入门与指南
- 理解并实现自然语言处理
- Python中的NLP:GitHub上的笔记本合集
- 自然语言处理导论 - 牛津大学出版
- 使用PyTorch进行NLP深度学习
- 动手实践NLTK教程:NLTK教程,包含Jupyter笔记本
- 用Python进行自然语言处理——利用自然语言工具包分析文本:一本在线及纸质书籍,介绍使用NLTK进行NLP的概念。该书作者同时也是NLTK库的开发者。
- 从零开始训练新的语言模型 - Hugging Face 🤗
- 超级NLP资源库(SDNLPR):涵盖多种NLP任务实现的Colab笔记本合集
- 使用spaCy进阶NLP:免费在线课程,涵盖文本处理、大规模数据分析、处理流水线以及针对自定义NLP任务训练神经网络模型等内容
- Kaggle NLP学习指南:适合初学者的教程,包括入门指南、NLP深度学习以及对BERT、GloVe和TF-IDF等技术的可视化解释。
博客与通讯
- 深度学习、NLP与表示学习
- 图解BERT、ELMo等(NLP如何破解迁移学习) 和 图解Transformer
- 自然语言处理 由Hal Daumé III撰写
- arXiv:从零开始的自然语言处理(几乎)
- 卡帕西的《循环神经网络的不合理有效性》
- 机器学习精通:自然语言处理的深度学习
- NLP论文可视化摘要
视频与在线课程
- 高级自然语言处理 - 马萨诸塞大学阿默斯特分校CS 685课程
- 深度自然语言处理 - 牛津大学系列讲座
- 斯坦福大学CS224n:自然语言处理的深度学习 - 由理查德·索彻和克里斯托弗·曼宁主讲的斯坦福课程
- 卡内基梅隆大学语言技术研究所的NLP神经网络课程 - 专注于NLP领域的神经网络应用
- Yandex数据学院的深度NLP课程,涵盖从文本嵌入到机器翻译的重要概念,包括序列建模、语言模型等
- fast.ai代码优先的自然语言处理入门:本课程结合了传统NLP主题(如正则表达式、奇异值分解、朴素贝叶斯、分词)和最新的神经网络方法(如RNN、seq2seq、GRU以及Transformer),同时探讨偏见和虚假信息等紧迫的伦理问题。相关Jupyter笔记本可在此处找到
- 机器学习大学——加速自然语言处理:课程内容从NLP和文本处理的基础知识,逐步深入到循环神经网络和Transformer模型 资料可在此处找到:AWS机器学习大学加速NLP课程
- 马德拉斯印度理工学院的应用自然语言处理:系列讲座从基础概念讲起,一直延伸到自编码器等内容。该课程的GitHub笔记本也可在此处获取:Ramaseshanr的ANLP课程
- DeepLearning.AI自然语言处理专项课程:四门课程组成的专项计划,涵盖情感分析、词嵌入、RNN、LSTM、注意力机制以及BERT和T5等Transformer模型,适用于机器翻译和文本摘要等任务。
书籍
- 语音与语言处理 - 免费,由丹·朱拉夫斯基教授编写
- 自然语言处理 - 免费,乔治亚理工学院雅各布·艾森斯坦博士的NLP笔记
- PyTorch自然语言处理 - 布赖恩 & 德利普·拉奥
- R语言文本挖掘
- 用Python进行自然语言处理
- 实用自然语言处理
- 使用Spark NLP进行自然语言处理
- 自然语言处理的深度学习 斯蒂芬·拉伊马克尔斯著
- 真实世界的自然语言处理 - 樋原正人著
- 自然语言处理实战(第二版) - 霍布森·莱恩和玛丽亚·迪谢尔著
- Transformer实战 - 妮可·科恩格斯坦著
- 人工智能背后的数学 - 蒂亚戈·蒙特罗著 | 一本免费的FreeCodeCamp书籍,从工程角度以通俗易懂的语言讲解AI背后的数学知识。内容涵盖线性代数、微积分、概率统计以及最优化理论,并配有类比、实际应用和Python代码示例。
库
Node.js和JavaScript - 用于NLP的Node.js库 | 返回顶部
- Twitter-text - Twitter文本处理库的JavaScript实现
- Knwl.js - JavaScript中的自然语言处理器
- Retext - 用于分析和操作自然语言的可扩展系统
- NLP Compromise - 浏览器端的自然语言处理工具
- Natural - Node.js中通用的自然语言处理工具
- Poplar - 一款基于Web的自然语言处理(NLP)标注工具
- NLP.js - 用于构建聊天机器人的NLP库
- node-question-answering - 在Node.js中使用DistilBERT实现快速且可用于生产的问答系统
-
- sentimental-onix 使用 ONNX 的 spaCy 情感分析模型
- TextAttack - NLP 中的对抗攻击、对抗训练和数据增强
- TextBlob - 提供一致的 API,用于处理常见的自然语言处理任务。基于 Natural Language Toolkit (NLTK) 和 Pattern 构建,并与两者良好兼容 :+1:
- spaCy - 基于 Python 和 Cython 的工业级 NLP 工具 :+1:
- Speedster - 自动应用 SOTA 优化技术,以在您的硬件上实现最大的推理加速
- textacy - 基于 spaCy 构建的更高层次的 NLP 工具
- gensim - 用于从纯文本中进行无监督语义建模的 Python 库 :+1:
- scattertext - 用于生成语言在不同语料库之间差异的 d3 可视化效果的 Python 库
- GluonNLP - 基于 MXNet/Gluon 的深度学习 NLP 工具包,适用于广泛 NLP 任务的研究原型开发和工业部署。
- AllenNLP - 基于 PyTorch 的 NLP 研究库,用于开发各种语言任务中的最先进深度学习模型。
- PyTorch-NLP - NLP 研究工具包,旨在支持快速原型开发,提供更好的数据加载器、词向量加载器、神经网络层表示以及 BLEU 等常见 NLP 指标。
- Rosetta - 文本处理工具和封装器(例如 Vowpal Wabbit)
- PyNLPl - Python 自然语言处理库。通用 NLP 库,可处理 ARPA 语言模型、Moses 短语表、GIZA++ 对齐等特定格式。
- foliapy - 用于处理 FoLiA 的 Python 库,这是一种用于语言学标注的 XML 格式。
- PySS3 - 实现了一种新颖的白盒机器学习文本分类模型 SS3 的 Python 包。由于 SS3 能够直观地解释其推理过程,该包还附带易于使用的交互式可视化工具(在线演示)。
- jPTDP - 用于联合词性标注和依存句法分析的工具包。jPTDP 提供 40 多种语言的预训练模型。
- BigARTM - 一种快速的主题建模库
- Snips NLU - 一个可用于生产的意图解析库
- Chazutsu - 用于下载和解析标准 NLP 研究数据集的库
- Word Forms - 可准确生成英语单词的所有可能形式
- 多语言潜在狄利克雷分配 (LDA) - 一个多语言且可扩展的文档聚类流水线
- Natural Language Toolkit (NLTK) - 包含多种 NLP 功能的库,支持超过 50 种语料库。
- NLP Architect - 用于探索 NLP 和 NLU 领域最先进深度学习拓扑和技术的库
- Flair - 基于 PyTorch 的非常简单的最先进的多语言 NLP 框架。包括 BERT、ELMo 和 Flair 嵌入。
- Kashgari - 简单、基于 Keras 的多语言 NLP 框架,允许您在 5 分钟内为命名实体识别 (NER)、词性标注 (PoS) 和文本分类任务构建模型。包含 BERT 和 word2vec 嵌入。
- FARM - 快速且易于使用的 NLP 迁移学习。为行业提取语言模型。专注于问答任务。
- Haystack - 用于构建数据自然语言搜索界面的端到端 Python 框架。利用 Transformer 和 NLP 最先进技术。支持 DPR、Elasticsearch、HuggingFace’s Modelhub 等!
- PraisonAI - 多 AI 代理框架,通过 LiteLLM 支持 100 多个 LLM,集成 MCP,支持代理工作流,并内置记忆功能,适用于 NLP 任务。
- Rita DSL - 一种基于 RUTA on Apache UIMA 的 DSL。允许定义语言模式(基于规则的 NLP),然后将其转换为 spaCy,或者如果您更喜欢功能较少、轻量级的正则表达式模式。
- Transformers - 面向 TensorFlow 2.0 和 PyTorch 的自然语言处理库。
- Tokenizers - 针对研究和生产优化的分词器。
- fairSeq Facebook AI Research 在 PyTorch 中实现的 SOTA 序列到序列模型。
- corex_topic - 无需太多领域知识的层次化主题建模
- Sockeye - 亚马逊 Translate 后台运行的神经机器翻译 (NMT) 工具包。
- DL Translate - 基于
transformers和 Facebook 的 mBART Large 构建的 50 种语言的深度学习翻译库。 - Jury - 用于评估 NLP 模型输出的各种自动化指标。
- python-ucto - 一种支持 Unicode 的基于正则表达式的多语言分词器。它是 C++ 库的 Python 绑定,支持 FoLiA 格式。
- Pearmut - 用于多语言 NLP 任务(如机器翻译)的人工标注工具。
-
- InsNet - 一个用于构建实例相关自然语言处理模型的神经网络库,支持无填充的动态批处理。
- MIT 信息抽取工具包 - 用于命名实体识别和关系抽取的 C、C++ 和 Python 工具。
- CRF++ - 条件随机场(CRFs)的开源实现,用于序列数据的分段/标注及其他自然语言处理任务。
- CRFsuite - CRFsuite 是条件随机场(CRFs)的实现,用于序列数据的标注。
- BLLIP 解析器 - BLLIP 自然语言解析器(也称为 Charniak-Johnson 解析器)。
- colibri-core - C++ 库、命令行工具及 Python 绑定,用于以快速且内存高效的方式提取和处理基本的语言学结构,如 n-gram 和 skipgram。
- ucto - 支持多种语言的 Unicode 感知正则表达式分词器。工具及 C++ 库。支持 FoLiA 格式。
- libfolia - 用于 FoLiA 格式 的 C++ 库。
- frog - 为荷兰语开发的基于记忆的 NLP 套件:词性标注器、词形还原器、依存句法分析器、NER、浅层分析器、形态分析器。
- MeTA - MeTA : ModErn Text Analysis 是一个 C++ 数据科学工具包,便于挖掘大型文本数据。
- Mecab(日语)
- Moses
- StarSpace - Facebook 提供的用于创建单词级、段落级、文档级嵌入以及文本分类的库。
- QSMM - 自适应概率自顶向下和自底向上的解析器。
-
- 斯坦福 NLP
- OpenNLP
- NLP4J
- Java 中的 Word2vec
- ReVerb 网络规模开放信息抽取。
- OpenRegex 一种高效灵活的基于标记的正则表达式语言和引擎。
- CogcompNLP - 伊利诺伊大学认知计算小组开发的核心库。
- MALLET - MAchine Learning for LanguagE Toolkit - 用于统计自然语言处理、文档分类、聚类、主题建模、信息抽取以及其他文本机器学习应用的软件包。
- RDRPOSTagger - 一套鲁棒的词性标注工具,提供 Java 和 Python 版本,并附带 40 多种语言的预训练模型。
-
- text2vec - 在 R 中实现快速向量化、主题建模、距离计算以及 GloVe 词嵌入。
- wordVectors - 用于创建和探索 word2vec 及其他词嵌入模型的 R 包。
- RMallet - 与 Java 机器学习工具 MALLET 对接的 R 包。
- dfr-browser - 在网页浏览器中创建 d3 可视化,用于浏览文本的主题模型。
- dfrtopics - 用于探索文本主题模型的 R 包。
- sentiment_classifier - 使用词义消歧和 WordNet 阅读器进行情感分类。
- jProcessing - 日语自然语言处理库,包含日语情感分类功能。
- corporaexplorer - 用于动态探索文本集合的 R 包。
- tidytext - 使用整洁工具进行文本挖掘。
- spacyr - spaCy NLP 的 R 封装。
- CRAN 任务视图:自然语言处理
-
- Clojure-openNLP - Clojure 中的自然语言处理(opennlp)。
- Infections-clj - 类似 Rails 的变格库,适用于 Clojure 和 ClojureScript。
- postagga - 用于在 Clojure 和 ClojureScript 中解析自然语言的库。
-
- Kevin Dias 的 自然语言处理(NLP)Ruby 库、工具和软件合集
- 用 Ruby 实践自然语言处理
-
- adk-rust - 生产就绪的AI智能体开发工具包,具有模型无关的设计(支持Gemini、OpenAI、Anthropic等),支持多种智能体类型及MCP协议
- whatlang — 基于三元组的自然语言识别库
- snips-nlu-rs - 用于意图解析的生产级库
- rust-bert - 即用型NLP流水线和基于Transformer的模型
-
- VSCode语言扩展 - 适用于VSCode的NLP++语言扩展
- nlp-engine - 在Linux上运行NLP++代码的引擎,包含完整的英语语法分析器
- VisualText - NLP++语言的主页
- NLP++维基 - NLP++语言的维基条目
-
- CorpusLoaders - 用于各种NLP语料库的加载器
- Languages - 处理人类语言的软件包
- TextAnalysis - Julia用于文本分析的软件包
- TextModels - 基于神经网络的自然语言处理模型
- WordTokenizers - 高性能的分词工具,适用于自然语言处理及其他相关任务
- Word2Vec - Julia对word2vec的接口
服务
以API形式提供的NLP服务,具备更高层次的功能,如命名实体识别、主题标注等 | 返回顶部
- Vedika API - 基于AI的吠陀占星学API,采用多智能体群集智能
- Wit-ai - 应用程序和设备的自然语言交互界面
- IBM Watson的自然语言理解 - API及GitHub演示
- Amazon Comprehend - NLP和ML套件,涵盖最常见的任务,如NER、标签化和情感分析
- Google Cloud自然语言API - 支持至少9种语言的句法分析、NER、情感分析和内容标签化,包括英语、简体中文和繁体中文。
- ParallelDots - 高层次文本分析API服务,从情感分析到意图分析
- Microsoft认知服务
- TextRazor
- Rosette
- Textalytic - 浏览器端的自然语言处理服务,提供情感分析、命名实体提取、词性标注、词频统计、主题建模、词云等功能
- NLP Cloud - 通过RESTful API提供SpaCy NLP模型(自定义和预训练模型),用于命名实体识别、词性标注等任务。
- Cloudmersive - 统一且免费的NLP API,可执行诸如语音标注、文本改写、语言翻译/检测以及句子解析等操作。
标注工具
- GATE - 通用架构与文本工程系统,已有15年以上历史,免费且开源
- Anafora 是一款免费开源的基于Web的原始文本标注工具
- brat - brat快速标注工具是一个用于协作式文本标注的在线环境
- doccano - doccano是免费开源的,提供文本分类、序列标注及序列到序列任务的标注功能
- INCEpTION - 语义标注平台,提供智能辅助和知识管理
- tagtog,一款以团队为核心的Web工具,用于查找、创建、维护和共享数据集 - 需付费
- prodigy 是一款基于主动学习的标注工具,需付费
- LightTag - 托管式文本标注工具,专为团队设计,需付费
- rstWeb - 开源的本地或在线工具,用于话语树结构的标注
- GitDox - 开源的服务器端标注工具,结合GitHub版本控制和XML数据验证,适用于协作式电子表格网格
- Label Studio - 托管式的文本标注工具,专为团队设计,采用免费增值模式,需付费
- Datasaur 支持个人或团队的各种NLP任务,采用免费增值模式
- Konfuzio - 一款以团队为核心的托管式文本、图像和PDF标注工具,基于主动学习,采用免费增值模式,需付费
- UBIAI - 易于使用的团队文本标注工具,具备最全面的自动标注功能。支持NER、关系抽取和文档分类,以及发票标注的OCR标注,需付费
- Shoonya - Shoonya是一款免费开源的数据标注平台,拥有丰富的组织和工作空间管理系统。Shoonya不依赖特定数据格式,可供团队大规模标注数据,并设置不同级别的验证阶段。
- Annotation Lab - 免费的端到端无代码平台,用于文本标注和深度学习模型的训练/调优。开箱即用,支持命名实体识别、分类、关系抽取和断言状态等Spark NLP模型。不限用户、团队、项目和文档数量。非开源。
- FLAT - FLAT是一个基于FoLiA格式的Web语言学标注环境,FoLiA是一种丰富的基于XML的语言学标注格式。免费且开源。
技术
文本嵌入
词嵌入
基于句子和语言模型的词嵌入
- ElMo - 深度上下文相关的词表示 - PyTorch实现 - TF实现
- ULMFiT - 用于文本分类的通用语言模型微调 由Jeremy Howard和Sebastian Ruder提出
- InferSent - 基于自然语言推理数据的有监督学习通用句子表示 由Facebook提出
- CoVe - 在翻译中学习:上下文相关的词向量
- 段落向量 - 来自句子和文档的分布式表示。参见Gensim中的doc2vec教程
- sense2vec - 用于词义消歧
- Skip Thought Vectors - 词表示方法
- 自适应skip-gram - 类似的方法,具有自适应特性
- 序列到序列学习 - 用于机器翻译的词向量
问答与知识抽取
- DrQA - Facebook Research基于维基百科数据的开放域问答工作
- Document-QA - AllenAI的简单有效的多段落阅读理解
- 无模板的基于模板的信息抽取
- Privee:一种自动分析网络隐私政策的架构
数据集
- nlp-datasets 优秀的NLP数据集集合
- gensim-data - 预训练NLP模型和NLP语料库的数据仓库。
- tiny_qa_benchmark_pp - 小型多语言问答数据集存储库,以及生成您自己的合成数据的库。
多语言NLP框架
- UDPipe 是一个可训练的流水线,用于分词、词性标注、词形还原和解析通用树库及其他CoNLL-U文件。主要用C++编写,为多语言NLP处理提供快速可靠解决方案。
- NLP-Cube:自然语言处理流水线 - 句子分割、分词、词形还原、词性标注和依存句法分析。新平台,用Python和Dynet 2.0编写。提供独立(CLI/Python绑定)和服务器功能(REST API)。
- UralicNLP 是一个主要用于许多濒危乌拉尔语系语言的NLP库,如萨米语、莫尔多瓦语、马里语、科米语等。同时也支持一些非濒危语言,如芬兰语,以及非乌拉尔语系的语言,如瑞典语和阿拉伯语。UralicNLP可以进行形态分析、生成、词形还原和消歧。
韩语NLP
库
- KoNLPy - 用于韩语自然语言处理的Python包。
- Mecab (韩语) - 用于韩语NLP的C++库
- KoalaNLP - 用于韩语自然语言处理的Scala库。
- KoNLP - 用于韩语自然语言处理的R包
博客和教程
数据集
- KAIST语料库 - 来自韩国科学技术院的韩语语料库。
- Naver情感电影语料库
- 朝鲜日报档案 - 来自韩国主要报纸之一朝鲜日报的韩语数据集。
- 聊天数据 - 韩语聊天机器人数据
- 请愿书 - 收集来自青瓦台国家请愿网站的已过期请愿数据。
- 韩英平行语料库 - 用于韩语到法语及韩语到英语的神经机器翻译(NMT)数据集
- KorQuAD - 韩语SQuAD数据集,包含Wiki HTML源。在添加到Awesome NLP时提到了v1.0和v2.1版本。
阿拉伯语NLP
库
- goarabic - 用于阿拉伯语文本处理的Go包
- jsastem - 用于阿拉伯语词干提取的Javascript
- PyArabic - 用于阿拉伯语的Python库
- RFTokenizer - 可训练的Python分词器,适用于阿拉伯语、希伯来语和科普特语。
数据集
中文NLP
库
文集
- funNLP - 主要针对中文的自然语言处理工具和资源集合
德语中的NLP
- German-NLP - 一个精心整理的开放获取/开源/现成资源和工具列表,特别关注德语。
波兰语中的NLP
- Polish-NLP - 一个专门用于波兰语自然语言处理(NLP)的精选资源列表。包括模型、工具和数据集。
西班牙语中的NLP
库
- spanlp - 一个Python库,用于检测、审查和清理西班牙语文本中的脏话、粗俗用语、仇恨言论、种族主义、仇外心理和欺凌行为。它包含了21个西班牙语国家的数据。
数据
词和句子嵌入
- 使用不同方法和来自不同语料库计算的西班牙语词嵌入
- 使用fastText从大型语料库中计算的不同大小的西班牙语词嵌入
- 使用sent2vec从大型语料库计算的西班牙语句子嵌入
- Beto - 面向西班牙语的BERT
印度语言中的NLP
数据、语料库和树库
- 印地语依存树库 - 一个面向印地语和乌尔都语的多表征、多层树库。
- 印地语通用依存树库
- 印地语平行通用依存树库 - 上述树库的一个较小部分。
- ISI FIRE停用词表(印地语和孟加拉语)
- Peter Graham的停用词表
- NLTK语料库 6万词的词性标注,包括孟加拉语、印地语、马拉地语和泰卢固语。
- 印地语电影评论数据集 约1000个样本,3个极性类别。
- BBC新闻印地语数据集 4300个样本,14个类别。
- IIT Patna印地语ABSA数据集 5400个样本,12个领域,4000个方面术语,方面和句子级别的极性分为4类。
- 孟加拉语ABSA 5500个样本,2个领域,10个方面术语。
- IIT Patna电影评论情感数据集 2000个样本,3种极性标签。
需要登录/访问权限的语料库/数据集可通过电子邮件获取
- SAIL 2015 推特和脸书上印地语、孟加拉语、泰米尔语和泰卢固语的情感标注样本。
- IIT Bombay NLP资源 包括Sentiwordnet、电影和旅游领域的平行标注语料库、带极性标注的语义标注语料库以及马拉地语的极性标注语料库。
- TDIL-IC汇集了许多有用的资源,并提供对原本受限制数据集的访问
语言模型和词嵌入
- Hindi2Vec 和 nlp-for-hindi ULMFIT风格的语言模型。
- IIT Patna双语词嵌入Hi-En
- Fasttext在多种语言上的词嵌入,基于Common Crawl训练
- 印地语和孟加拉语Word2Vec
- 印地语和乌尔都语Elmo模型
- 梵语Albert 在梵语维基百科和OSCAR语料库上训练。
库和工具
- 多任务深度形态分析器 基于深度网络的印地语和乌尔都语形态解析器。
- Anoop Kunchukuttan 支持18种语言,涵盖从分词到翻译的多种功能。
- SivaReddy的依存句法分析器 可用于坎那达语、印地语和泰卢固语的依存句法分析和词性标注。Python3移植版。
- iNLTK - 一个基于Pytorch/Fastai构建的印度语言自然语言工具包,旨在为常见的NLP任务提供开箱即用的支持。
泰语中的NLP
库
- PyThaiNLP - 泰语NLP的Python包。
- JTCC - 一个Java字符聚类库。
- CutKum - 使用TensorFlow进行深度学习的分词工具。
- 泰国语言工具包 - 基于Wirote Aroonmanakun在2002年发表的一篇论文,并附带数据集。
- SynThai - 使用Python深度学习进行分词和词性标注。
数据
- Inter-BEST - 一个包含500万词且已分词的文本语料库。
- Prime Minister 29 - 包含泰国现任总理演讲的数据集。
丹麦语中的NLP
- 丹麦语命名实体识别
- DaNLP - 丹麦语NLP资源。
- Awesome Danish - 一个精心挑选的丹麦语语言技术优秀资源列表。
越南语中的NLP
库
- underthesea - 越南语NLP工具包。
- vn.vitk - 一个越南语文本处理工具包。
- VnCoreNLP - 一个越南语自然语言处理工具包。
- PhoBERT - 预训练的越南语语言模型。
- pyvi - Python越南语核心NLP工具包。
- VieNeu-TTS - 一款先进的设备端越南语文本转语音系统,支持即时语音克隆。
数据
- 越南语树库 - 用于句法分析任务的10,000个句子
- BKTreeBank - 越南语依存树库
- UD_Vietnamese - 越南语通用依存树库
- VIVOS - 免费的越南语语音语料库,包含AILab录制的15小时语音数据
- VNTQcorpus(big).txt - 新闻领域的175万句文本
- ViText2SQL - 用于越南语文本到SQL语义解析的数据集(EMNLP-2020 Findings)
- EVB语料库 - 包含来自15本双语书籍的2000万词、100篇英越/越英平行文本、250篇法律和条例的平行文本、5000篇新闻文章以及2000条电影字幕。
荷兰语自然语言处理
- python-frog - Frog的Python绑定,Frog是针对荷兰语的NLP工具包。(词性标注、词形还原、依存句法分析、命名实体识别)
- SimpleNLG_NL - 基于SimpleNLG的英语和法语实现,用于荷兰语自然语言生成的荷兰语表面生成器。
- Alpino - 荷兰语依存句法分析器(同时进行词性标注和词形还原)。
- Kaldi NL - 基于Kaldi的荷兰语语音识别模型。
- spaCy - 提供荷兰语模型。荷兰语模型 - 使用Python和Cython实现的工业级NLP技术。
印尼语自然语言处理
数据集
- Kompas和Tempo语料,可在ILPS获取
- PANL10N用于词性标注: 39,000个句子和900,000个词项
- IDN用于词性标注: 该语料包含10,000个句子和250,000个词项
- 印尼语树库和通用依存-印尼语
- IndoSum可用于文本摘要和分类任务
- Wordnet-Bahasa - 大型免费语义词典
- IndoBenchmark IndoNLU包括预训练的语言模型(IndoBERT)、FastText模型、Indo4B语料库以及多个NLU基准数据集
库与词嵌入
- 自然语言工具包bahasa
- 印尼语词嵌入
- 预训练的印尼语fastText文本嵌入,基于维基百科训练而成
- IndoBenchmark IndoNLU包括预训练的语言模型(IndoBERT)、FastText模型、Indo4B语料库以及多个NLU基准数据集
乌尔都语自然语言处理
数据集
- 乌尔都语数据集集合适用于词性标注、命名实体识别及其他NLP任务。
库
- 自然语言处理库专为(巴基斯坦)乌尔都语设计。
波斯语自然语言处理
库
- Hazm - 波斯语NLP工具箱。
- Parsivar: 波斯语语言处理工具箱
- Perke: Perke是一个用于波斯语的关键短语提取Python包。它提供了一个端到端的关键短语提取流程,其中每个组件都可以轻松修改或扩展以开发新模型。
- Perstem: 波斯语词干提取器、形态分析器、转写器以及部分词性标注器
- ParsiAnalyzer: 用于Elasticsearch的波斯语分析器
- virastar: 用于清理波斯语文本!
数据集
- Bijankhan语料库:Bijankhan语料库是一个标注过的语料库,适用于波斯语(法尔西语)的自然语言处理研究。该语料库由日常新闻和常用文本组成,所有文档被分类为政治、文化等不同主题。总共包含4300个不同的主题。Bijankhan语料库包含约260万个手动标注的词语,使用的标签集包含40个波斯语词性标签。
- 乌普萨拉波斯语语料库(UPC):乌普萨拉波斯语语料库(UPC)是一个大型且免费开放的波斯语语料库。该语料库是Bijankhan语料库的修改版本,增加了句子切分和一致的分词,共包含2,704,028个词素,并用31个词性标签进行了标注。词性标签及其解释列于此表格中。
- 大规模口语波斯语:大规模口语波斯语数据集(LSCP)按照语义分类体系进行层次化组织,旨在将非正式波斯语理解作为一个综合性问题来解决。LSCP包含来自2700万条波斯语推文的1.2亿个句子,这些句子带有句法标注中的依存关系、词性标签、情感极性,以及原始波斯语文本到英语(EN)、德语(DE)、捷克语(CS)、意大利语(IT)和印地语(HI)的自动翻译。更多关于该项目的信息,请访问LSCP网页。
- ArmanPersoNERCorpus:该数据集共包含250,015个词素和7,682句波斯语文本。数据以三折形式提供,可轮流作为训练集和测试集使用。每行包含一个词素及其手动标注的命名实体标签,句子之间以换行符分隔。NER标签采用IOB格式。
- FarsiYar PersianNER:该数据集基于波斯语维基百科语料库,共包含约2500万个词素和约100万句波斯语文本。NER标签采用IOB格式。超过1000名志愿者通过网络平台或安卓应用为该数据集的标签改进做出了贡献,他们每两周发布一次更新后的标签。
- PERLEX:首个用于关系抽取的波斯语数据集,它是“Semeval-2010-Task-8”数据集的专家翻译版本。相关论文链接。
- 波斯语句法依存树库:该树库供非商业用途免费使用。如需商业用途,请随时联系我们。已标注的句子数量为29,982句,涵盖了波斯语价性词典中几乎所有动词的样本。
- 乌普萨拉波斯语依存树库(UPDT):基于依存关系的句法标注语料库。
- Hamshahri:Hamshahri语料库是一套标准且可靠的波斯语文本集合,在2008年和2009年期间曾被用于跨语言评估论坛(CLEF),以评估波斯语信息检索系统。
乌克兰语NLP
- awesome-ukrainian-nlp - 一份精选的乌克兰语NLP数据集、模型等列表。
- UkrainianLT - 另一份精选列表,专注于机器翻译和语音处理。
匈牙利语NLP
- awesome-hungarian-nlp:一份专门针对匈牙利语自然语言处理的免费资源精选列表。
葡萄牙语NLP
- Portuguese-nlp - 一份专注于葡萄牙语开发的资源和工具列表。
其他语言
- 俄语:pymorphy2 - 一款优秀的俄语词性标注工具。
- 亚洲语言:泰语、老挝语、汉语、日语和韩语可在ElasticSearch中使用ICU分词器实现。
- 古代语言:CLTK:古典语言工具包是一个Python库及文本集合,用于古代语言的NLP研究。
- 希伯来语:NLPH_Resources - 一份包含论文、语料库和语言学资源的集合,用于希伯来语的NLP研究。
引用
如果您觉得本仓库有用,请考虑引用此列表:
@misc{awesome-nlp,
title = {Awesome NLP},
author = {Kim, Keon 和 Chelikavada, Krish},
year = {2018},
url = {https://github.com/keon/awesome-nlp},
note = {GitHub仓库}
}
核心贡献者和维护者
致谢列出最初的策划者和资料来源。
许可证
许可证 - CC0
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器
LLMs-from-scratch
LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备