Natural Language Processing in Python

8 projects in AI & ML. Most starred: jieba, spacy and gensim.

spaCy is built for production pipelines: fast tokenization, part-of-speech tagging, dependency parsing and named entity recognition, with trained pipelines for many languages and a clean way to add custom components. NLTK is the teaching and research toolkit, with corpora, lexical resources and classic algorithms that are easy to inspect. Stanza, from the Stanford NLP Group, provides neural pipelines across a wide range of languages with accurate syntactic analysis. Gensim focuses on topic modeling and word vectors (LDA, word2vec) and streams large corpora without loading them into memory.

Chinese text needs its own tools. jieba segments text into words, pypinyin converts characters to pinyin, OpenCC converts between Traditional and Simplified Chinese with regional variants, and pangu.py inserts spacing between CJK and Latin characters. For transformer models, embeddings and LLM-based text tasks, see the AI and Agents section, which lists Hugging Face Transformers and Sentence Transformers.

General4

nltk

A leading platform for building Python programs to work with human language data.

14.8kupdated 1d ago3.10.4

spacy

A library for industrial-strength natural language processing in Python and Cython.

34kupdated 1d agov3.8.16

gensim

Topic Modeling for Humans.

16.5kupdated 11mo ago4.4.0

stanza

The Stanford NLP Group's official Python library, supporting 60+ languages.

7.9kupdated 1d ago1.15.0

Chinese4

jieba

The most popular Chinese text segmentation library.

35.2kupdated 2y ago0.42.1

pypinyin

Convert Chinese hanzi (漢字) to pinyin (拼音).

5.4kupdated 6d ago0.55.0

OpenCCC++ core

Traditional/Simplified Chinese conversion with regional variants and phrase-level rules.

10.1kupdated 2d agover.1.4.2

pangu.py

Paranoid text spacing.

281updated 8d ago
Esc

Type to search every entry. ↑↓ to move, Enter to open.