Open Source Text Classification

Label text automatically: topic and intent classification, spam and toxicity detection, hate speech filtering and general-purpose classifiers.

264
projects
247K ★
total stars
+286
stars this week
Python
top language

ranked by GitHub stars · updated Nov 12, 2026

🔥 Trending this week in Text Classification

Text Classification

Phocinae/Phocinae-Largha-150M-v1

▲ +138 ★ this week

斑海豹 — Phocinae-Largha-150M-v1: a 144.3M bilingual decision model. Tiny model. Big decisions. 小海豹,大决断。

PythonApache-2.0updated Oct 20, 2026
GitHub ↗★ 657⑂ 1
Text Classification

jiwidi/jiwo

▲ +36 ★ this week

Small decision models (jev style) for latency critical scenarios

PythonMITupdated Oct 10, 2026
GitHub ↗★ 195⑂ 0
Text Classification

explosion/spaCy

▲ +21 ★ this week

💫 Industrial-strength Natural Language Processing (NLP) in Python

🧠 Natural Language Processing🏷️ Named Entity Recognition✂️ Tokenization & Preprocessing
PythonMITupdated Oct 27, 2026
GitHub ↗★ 34K⑂ 4.7K
Text Classification

embeddings-benchmark/mteb🔥 active

▲ +12 ★ this week

MTEB: State-of-the-art evaluation of embeddings across languages and modalities

🔍 Search & Retrieval🧬 Embeddings
PythonApache-2.0updated Nov 12, 2026
GitHub ↗★ 3.5K⑂ 769
Text Classification

codewithdark-git/DarkGPT

▲ +7 ★ this week

DarkGPT Chat Explorer is an interactive web application that allows users to engage in conversations with various GPT (Generative Pre-trained Transformer) models in real-time. This repository contains the source code for the application.

📝 Text Summarization💎 Text Mining
PythonMITupdated Jul 2, 2026
GitHub ↗★ 211⑂ 97

Top 30 text classification libraries by stars

Text Classification🥇#1

hankcs/HanLP🔥 active

▲ +2 ★ this week

中文分词 词性标注 命名实体识别 依存句法分析 成分句法分析 语义依存分析 语义角色标注 指代消解 风格转换 语义相似度 新词发现 关键词短语提取 自动摘要 文本分类聚类 拼音简繁转换 自然语言处理

🧠 Natural Language Processing🏷️ Named Entity Recognition
PythonApache-2.0updated Nov 7, 2026
GitHub ↗★ 36.5K⑂ 10.9K
Text Classification🥈#2

explosion/spaCy

▲ +21 ★ this week

💫 Industrial-strength Natural Language Processing (NLP) in Python

🧠 Natural Language Processing🏷️ Named Entity Recognition✂️ Tokenization & Preprocessing
PythonMITupdated Oct 27, 2026
GitHub ↗★ 34K⑂ 4.7K
Text Classification🥉#3

brightmart/nlp_chinese_corpus

▲ +2 ★ this week

大规模中文自然语言处理语料 Large Scale Chinese Corpus for NLP

🧠 Natural Language Processing❓ Question Answering🧬 Embeddings🤖 Language Models
OtherMITupdated Feb 6, 2026
GitHub ↗★ 9.9K⑂ 1.5K
Text Classification#4

brightmart/text_classification

▲ +3 ★ this week

all kinds of text classification models and more with deep learning

🧠 Natural Language Processing
PythonMITupdated Sep 28, 2023
GitHub ↗★ 7.9K⑂ 2.5K
Text Classification#5

deeppavlov/DeepPavlov

An open source library for deep learning end-to-end dialog systems and chatbots.

🏷️ Named Entity Recognition❓ Question Answering🧠 Natural Language Processing
PythonApache-2.0updated Aug 6, 2025
GitHub ↗★ 7K⑂ 1.2K
Text Classification#6

CLUEbenchmark/CLUEDatasetSearch

搜索所有中文NLP数据集,附常用英文NLP数据集

💖 Sentiment Analysis🏷️ Named Entity Recognition📝 Text Summarization🌍 Machine Translation🔍 Search & Retrieval🧠 Natural Language Processing
Pythonno licenseupdated Nov 21, 2022
GitHub ↗★ 4.5K⑂ 621
Text Classification#8

ThilinaRajapakse/simpletransformers

Transformers for Information Retrieval, Text Classification, NER, QA, Language Modelling, Language Generation, T5, Multi-Modal, and Conversational AI

🏷️ Named Entity Recognition❓ Question Answering
PythonApache-2.0updated May 31, 2026
GitHub ↗★ 4.3K⑂ 709
Text Classification#9

JohnSnowLabs/spark-nlp🔥 active

▲ +3 ★ this week

State of the Art Natural Language Processing

🧠 Natural Language Processing🏷️ Named Entity Recognition💖 Sentiment Analysis❓ Question Answering🌍 Machine Translation✂️ Tokenization & Preprocessing
ScalaApache-2.0updated Nov 12, 2026
GitHub ↗★ 4.2K⑂ 743
Text Classification#10

snipsco/snips-nlu

Snips Python library to extract meaning from text

🏷️ Named Entity Recognition⛏️ Information Extraction🧠 Natural Language Processing
PythonApache-2.0updated May 22, 2023
GitHub ↗★ 4K⑂ 502
Text Classification#11

embeddings-benchmark/mteb🔥 active

▲ +12 ★ this week

MTEB: State-of-the-art evaluation of embeddings across languages and modalities

🔍 Search & Retrieval🧬 Embeddings
PythonApache-2.0updated Nov 12, 2026
GitHub ↗★ 3.5K⑂ 769
Text Classification#12

catalyst-team/catalyst

▲ +2 ★ this week

Accelerated deep learning R&D

🔍 Search & Retrieval🧠 Natural Language Processing
PythonApache-2.0updated Jul 8, 2026
GitHub ↗★ 3.4K⑂ 396
Text Classification#13

FudanNLP/fastNLP

fastNLP: A Modularized and Extensible NLP Framework. Currently still in incubation.

🧠 Natural Language Processing💎 Text Mining
PythonApache-2.0updated Jun 5, 2023
GitHub ↗★ 3.1K⑂ 448
Text Classification#14

x4nth055/pythoncode-tutorials

▲ +2 ★ this week

The Python Code Tutorials

🧠 Natural Language Processing
Jupyter NotebookMITupdated Sep 30, 2026
GitHub ↗★ 3K⑂ 2K
Text Classification#15

altcha-org/altcha🔥 active

GDPR, WCAG 2.2 AA, and EAA compliant, self-hosted CAPTCHA alternative with PoW mechanism.

TypeScriptMITupdated Nov 12, 2026
GitHub ↗★ 2.9K⑂ 146
Text Classification#16

HarderThenHarder/transformers_tasks

⭐️ NLP Algorithms with transformers lib. Supporting Text-Classification, Text-Generation, Information-Extraction, Text-Matching, RLHF, SFT etc.

⛏️ Information Extraction🤖 Language Models🧠 Natural Language Processing
Jupyter Notebookno licenseupdated Sep 29, 2023
GitHub ↗★ 2.4K⑂ 399
Text Classification#17

BrikerMan/Kashgari

Kashgari is a production-level NLP Transfer learning framework built on top of tf.keras for text-labeling and text-classification, includes Word2Vec, BERT, and GPT2 Language Embedding.

🏷️ Named Entity Recognition🧠 Natural Language Processing
PythonApache-2.0updated Sep 3, 2024
GitHub ↗★ 2.4K⑂ 426
Text Classification#18

alibaba/EasyNLP

EasyNLP: A Comprehensive and Easy-to-use NLP Toolkit

🧠 Natural Language Processing
PythonApache-2.0updated Nov 27, 2024
GitHub ↗★ 2.2K⑂ 256
Text Classification#19

xlang-ai/instructor-embedding

[ACL 2023] One Embedder, Any Task: Instruction-Finetuned Text Embeddings

🔍 Search & Retrieval🤖 Language Models
PythonApache-2.0updated Jan 15, 2025
GitHub ↗★ 2K⑂ 158
Text Classification#22

yongzhuo/Keras-TextClassification

中文长文本分类、短句子分类、多标签分类、两句子相似度(Chinese Text Classification of Keras NLP, multi-label classify, or sentence classify, long or short),字词句向量嵌入层(embeddings)和网络层(graph)构建基类,FastText,TextCNN,CharCNN,TextRNN, RCNN, DCNN, DPCNN, VDCNN, CRNN, Bert, Xlnet, Albert, Attention, DeepMoji, HAN, 胶囊网络-CapsuleNet, Transformer-encode, Seq2seq, SWEM, LEAM, TextGCN

🧠 Natural Language Processing
PythonMITupdated Jun 17, 2024
GitHub ↗★ 1.8K⑂ 395
Text Classification#23

dipanjanS/text-analytics-with-python

Learn how to process, classify, cluster, summarize, understand syntax, semantics and sentiment of text data with the power of Python! This repository contains code and datasets used in my book, "Text Analytics with Python" published by Apress/Springer.

🧠 Natural Language Processing💖 Sentiment Analysis📝 Text Summarization💎 Text Mining
Jupyter NotebookApache-2.0updated Dec 24, 2020
GitHub ↗★ 1.7K⑂ 842
Text Classification#24

jasonwei20/eda_nlp

Data augmentation for NLP, presented at EMNLP 2019

🧠 Natural Language Processing
Pythonno licenseupdated Mar 19, 2023
GitHub ↗★ 1.7K⑂ 310
Text Classification#25

yoshitomo-matsubara/torchdistill🔥 active

▲ +1 ★ this week

A coding-free framework built on PyTorch for reproducible deep learning studies. PyTorch Ecosystem. 🏆28 knowledge distillation methods presented at TPAMI, CVPR, ICLR, ECCV, NeurIPS, ICCV, AAAI, etc are implemented so far. 🎁 Trained models, training logs and configurations are available for ensuring the reproducibiliy and benchmark.

🧠 Natural Language Processing
PythonMITupdated Nov 12, 2026
GitHub ↗★ 1.6K⑂ 144
Text Classification#26

bfelbo/DeepMoji

State-of-the-art deep learning model for analyzing sentiment, emotion, sarcasm etc.

🧠 Natural Language Processing💖 Sentiment Analysis
PythonMITupdated Aug 2, 2024
GitHub ↗★ 1.6K⑂ 305
Text Classification#27

yongzhuo/nlp_xiaojiang

自然语言处理(nlp),小姜机器人(闲聊检索式chatbot),BERT句向量-相似度(Sentence Similarity),XLNET句向量-相似度(text xlnet embedding),文本分类(Text classification), 实体提取(ner,bert+bilstm+crf),数据增强(text augment, data enhance),同义句同义词生成,句子主干提取(mainpart),中文汉语短文本相似度,文本特征工程,keras-http-service调用

🧠 Natural Language Processing
PythonMITupdated Sep 23, 2021
GitHub ↗★ 1.5K⑂ 387
Text Classification#29

code-kern-ai/refinery

▲ +1 ★ this week

The data scientist's open-source choice to scale, assess and maintain natural language data. Treat training data like a software artifact.

🧠 Natural Language Processing
PythonApache-2.0updated Dec 9, 2024
GitHub ↗★ 1.5K⑂ 74
Text Classification#30

microsoft/NeuronBlocks

NLP DNN Toolkit - Building Your NLP DNN Models Like Playing Lego

❓ Question Answering🧠 Natural Language Processing
PythonMITupdated Jul 22, 2023
GitHub ↗★ 1.5K⑂ 191

📄 New research on Text Classification

📄 arXiv:2611.14036 · cs.CL2d ago

MISO-BR: An Open Corpus for Misogyny Detection in Brazilian Portuguese

Fábio A. S. Passos, Péricles B. C. Miranda, Ana Paula Cavalcanti

Misogyny is among the most prevalent forms of online hate speech directed at Brazilian users, yet open and auditable resources dedicated to it in Brazilian Portuguese remain scarce. We introduce MISO-BR, an open, documented and versioned corpus of 896 balanced social media texts annotated for binary misogyny, released with its construction protocol and reproducible baselines. The corpus combines lexicon- and target-guided scraping from X with items imported from OLID-BR, a large language model triage stage whose prompt and decoding parameters are released, and manual annotation by three annotators following a written guide. Inter-annotator reliability reaches a Fleiss' kappa of 0.788 over 816 items. Under a single fixed protocol we compare four classical classifiers (Multinomial and Bernoulli Naive Bayes, a linear SVM and a random forest) with fine-tuned BERTimbau Base and Large. The classical models cluster between 0.651 and 0.676 macro-F1 and are precision-oriented but recall-poor. The transformers reach 0.833 macro-F1 and accuracy (Wilson 95% CI for accuracy [0.77, 0.88]), a gap of roughly 16 points, while Base and Large are indistinguishable on the test set despite a 2.6x difference in training cost. We argue that the value of the resource lies less in its headline scores than in the auditability of its pipeline, and we state three limits that users must reckon with: the artificial class balance, whose effect on precision under realistic prevalence we quantify; the association between provenance and label, which the released source field makes measurable; and the selection bias induced by lexicon-guided sampling and automatic triage. The corpus, annotation guide, models and experimental scripts are publicly available.▼ more
🗂️ Text Classification🎙️ Speech Recognition🤖 Language Models
📄 arXiv:2611.13339 · cs.CL3d ago

Measuring Definition Sensitivity in LLM Annotation of Social Science Concepts

Bogdan Mamaev, Qizhou Wang, Christopher Leckie +1

💬 Accepted at the NeurIPS 2026 Workshop TAE: Can We Trust AI Evaluation? Robustness, Causality, and Risk in Modern AI Assessment

In social science research, text annotation is a fundamental task that is traditionally a costly, hard-to-scale manual process. Researchers have used large language models (LLMs) to perform annotation by writing a definition of a concept into a prompt - a rule that determines whether a label should be attributed to a text depending on its content. However, concepts such as hate speech, fake news, and terrorism typically have several theoretically defensible competing definitions. It is also unknown whether the model actually applied the definition to provide the label or the label was based on the model's pretrained notion of the concept. To test this, we have the model annotate the same texts twice, each time with a different definition. We call the disagreement between the two sets of annotations definition sensitivity. As a control, we paraphrase one definition but leave its requirements unchanged - the disagreement between the annotations with the two wordings becomes the paraphrase floor. Across six concepts and three LLMs, a swap of competing definitions always changes more annotations, on average, than a paraphrase. This shows that the annotations depend on the prompted definition, so any set of annotations should be interpreted together with the definition that produced it. The LLM annotator's definition sensitivity and its paraphrase floor should both be reported in such work.▼ more
🗂️ Text Classification🎙️ Speech Recognition🤖 Language Models
📄 arXiv:2611.12420 · cs.CL3d ago

Path-Level Structural and Semantic Alignment for Hierarchical Multi-Label Text Classification

Xindi Wang, Aifen Xiong, Baiyang Wang +6

💬 14 pages, 7 figures

Hierarchical multi-label text classification (HMTC) requires models to capture both structural dependencies among labels and the fine-grained semantics of labels at different hierarchy levels. Existing methods often model hierarchy through prediction constraints or representations of individual labels and local relations. Structural and semantic supervision, however, are usually formulated separately. We instead use complete root-to-node label paths as a shared unit for both. Our framework introduces two auxiliary training objectives while retaining a standard multi-label classifier at inference. PathSimNCE aligns document representations with hierarchical paths using hierarchy-aware contrastive targets. These targets provide graded supervision for structurally related paths while preserving explicit supervision for the ground-truth paths. The complementary semantic objective uses LLM-generated, document-conditioned descriptions of the same positive paths. It thereby provides context-specific label semantics beyond static label representations. Experiments on three benchmarks show consistent improvements: structural alignment is particularly beneficial in deeper hierarchies, while semantic alignment provides additional gains for fine-grained labels.▼ more
🗂️ Text Classification🧬 Embeddings🤖 Language Models