Pure Go natural language processing library for tokenization and tagging.
Tokenize, segment, tag, and extract named entities natively in Go without cgo or external services.
Prose is a pure Go natural language processing library designed for developers building text-processing applications. It provides foundational NLP tasks like tokenization, sentence segmentation, part-of-speech tagging, and named-entity extraction directly inside Go binaries. You should use it if you want zero external runtime dependencies and heavy control over your binary's memory footprint.
It parses text inputs to output token arrays, sentence boundaries, Universal Dependencies POS tags, and named entities with exact byte offsets. It supports 12 languages for tokenization, segmentation, and tagging, while keeping English-only packages for entity extraction and readability metrics. It also includes utility packages for text summarization readability scores and AP or Chicago style case conversion.
It suits Go developers who need embedded NLP pipelines without relying on Python bridges, cgo, or external network APIs. It does not suit teams working in non-Go ecosystems or those needing non-English named entity recognition out of the box.
Processes words and punctuation with exact byte offsets in any language without cgo.
Averaged perceptron taggers emit Universal Dependencies tag sets across 12 languages.
Imports only required language packages and models to minimize binary sizes.
Calculates Flesch-Kincaid, Gunning fog, SMOG metrics, and handles title case conversion.
Free to use under the MIT license, with no hosted cloud option provided. The only cost is compiling and running it within your own Go applications.
880 open remote AI-training roles, updated November 15, 2026; most pay $20–$175 an hour. Zekai lists them free; the application goes to the employer’s platform.
No, it is written entirely in pure Go and executes locally inside your application binary without external services.
It supports twelve languages including English, Dutch, French, German, Spanish, and Italian using Universal Dependencies tags.
You can import the tag package directly instead of the root package to leave out entity recognition models.
See Zekai first in Google