Open highlighted repo slot
Put your repository first
Promote a GitHub repo at the top of Awesome repository list views for 7 days.
Awesome List
:book: A curated list of resources dedicated to Natural Language Processing (NLP)
GitHub stars and default-branch commits for keon/awesome-nlp.
Open highlighted repo slot
Promote a GitHub repo at the top of Awesome repository list views for 7 days.
🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and multimodal models, for both inference and training.
🐸💬 - a deep learning toolkit for Text-to-Speech, battle-tested in research and production
💫 Industrial-strength Natural Language Processing (NLP) in Python
Facebook AI Research Sequence-to-Sequence Toolkit written in Python.
Open-source AI orchestration framework for building context-engineered, production-ready LLM applications. Design modular pipelines and agent workflows with explicit control over retrieval, routing, memory, and generation. Built for scalable agents, RAG, multimodal applications, semantic search, and conversational systems.
🤗 PEFT: State-of-the-art Parameter-Efficient Fine-Tuning.
An open-source NLP research library, built on PyTorch.
Open source annotation tool for machine learning practitioners.
Web mining module for Python, with tools for scraping, natural language processing, machine learning, network analysis and visualization.
Stanford NLP Python library for tokenization, sentence segmentation, NER, and parsing of many human languages
Snips Python library to extract meaning from text
A Code-First Introduction to NLP course
MITIE: library and tools for information extraction
Machine Learning University: Accelerated Natural Language Processing Class
NLP, before and after spaCy
Basic Utilities for PyTorch Natural Language Processing (NLP)
Persian NLP Toolkit
Thai natural language processing in Python
The Classical Language Toolkit
Fast topic modeling platform
Resources and tools for Indian language Natural Language Processing
Hierarchical unsupervised and semi-supervised topic models for sparse count data with CorEx
PyNLPl, pronounced as 'pineapple', is a Python library for Natural Language Processing. It contains various modules useful for common, and less common, NLP tasks. PyNLPl can be used for basic tasks such as the extraction of n-grams and frequency lists, and to build simple language model. There are also more complex data types and algorithms. Moreover, there are parsers for file formats common in NLP (e.g. FoLiA/Giza/Moses/ARPA/Timbl/CQL). There are also clients to interface with various NLP specific servers. PyNLPl most notably features a very extensive library for working with FoLiA XML (Format for Linguistic Annotation).
An NLP library for the Urdu language. It comes with a lot of battery included features to help you process Urdu data in the easiest way possible.
Morfessor is a tool for unsupervised and semi-supervised morphological segmentation
Comprehensive NLP Evaluation System
Colibri core is an NLP tool as well as a C++ and Python library for working with basic linguistic constructions such as n-grams and skipgrams (i.e patterns with one or more gaps, either of fixed or dynamic size) in a quick and memory-efficient way. At the core is the tool ``colibri-patternmodeller`` whi ch allows you to build, view, manipulate and query pattern models.
FoLiA Linguistic Annotation Tool -- Flat is a web-based linguistic annotation environment based around the FoLiA format (http://proycon.github.io/folia), a rich XML-based format for linguistic annotation. Flat allows users to view annotated FoLiA documents and enrich these documents with new annotations, a wide variety of linguistic annotation types is supported through the FoLiA paradigm.
A keyphrase extractor for Persian
A Domain Specific Language (DSL) for building language patterns. These can be later compiled into spaCy patterns, pure regex, or any other format
A high-accuracy, multilingual rule-based Sentence Boundary Detector (SBD) with a drop-in adapter for pysbd, delivering faster and more accurate sentence segmentation.
This is a Python binding to the tokenizer Ucto. Tokenisation is one of the first step in almost any Natural Language Processing task, yet it is not always as trivial a task as it appears to be. This binding makes the power of the ucto tokeniser available to Python. Ucto itself is regular-expression based, extensible, and advanced tokeniser written in C++ (http://ilk.uvt.nl/ucto).
Natural language toolkit for Indonesian Language (Bahasa)