keon/awesome-nlp

:book: A curated list of resources dedicated to Natural Language Processing (NLP)

What it solves

Finding good NLP tools and learning materials is time-consuming. This project solves that by gathering a wide range of natural language processing resources into a single, organized list. It covers everything from classic libraries and datasets to modern language models and evaluation benchmarks, so practitioners and researchers can quickly locate what they need without searching across many sites.

How it works

It is a curated collection (an “awesome list”) maintained by the community. The README itself is the index, with clear categories: research summaries and trends, prominent research labs, tutorials (books, online courses, blog posts), libraries (grouped by programming language like Python, Node.js, C++, Java, etc.), services, annotation tools, task-specific resources (e.g., embeddings, tokenization, NER, summarization, machine translation), datasets, multilingual frameworks, language models, and per-language sections (Arabic, Chinese, German, Korean, and many more). Each entry links to an external tool, paper, or course, and the list is kept up to date through contributions (pull requests) following the project’s contribution guidelines.

Who it’s for

NLP researchers, engineers, students, and anyone exploring natural language processing. Whether you are looking for a Python sentiment analysis library, a dataset for question answering, a course to learn Transformers, or a benchmark to compare models, this list provides a curated starting point across many languages and use cases.

Highlights

  • Extensive coverage: from classical linguistic analysis to modern LLM-focused topics (multilingual models, factuality, reasoning, fine-tuning) — but only when they serve core NLP tasks.
  • Organized by programming language, task, and language, making it easy to drill down to relevant resources.
  • Includes research summaries, lab links, tutorials (videos, books, blog posts), and annotation tools.
  • Community-driven: anyone can contribute via pull requests, and the scroll includes a “See Also” section pointing to other related lists.
  • Covers many languages (Arabic, Chinese, Danish, Dutch, German, Hungarian, Indic, Indonesian, Korean, Persian, Polish, Portuguese, Spanish, Thai, Ukrainian, Urdu, Uzbek, Vietnamese, and more).

Related

  • Project
  • Project
  • Project
  • Project