Cute Gopher Mascot

The Best Go Libraries For Natural Language Processing (49)

Discover the best Go libraries for Natural Language Processing! Find the perfect tools to streamline your development and boost productivity. From ctxi18n to detectlanguage, we've got you covered. Let the coding begin!

ctxi18n

Context aware i18n with a short and consise API, pluralization, interpolation, and `fs.FS` support. YAML locale definitions are based on [Rails i18n](https://guides.rubyonrails.org/i18n.html)

See More! 🚀

detectlanguage

Language Detection API Go Client. Supports batch requests, short phrase or single word language detection

See More! 🚀

getlang

Fast natural language detection package

See More! 🚀

guesslanguage

Functions to determine the natural language of a unicode text

See More! 🚀

golibstemmer

Go bindings for the snowball libstemmer library including porter 2

See More! 🚀

gosentiwordnet

Sentiment analyzer using sentiwordnet lexicon in Go

See More! 🚀

govader

Go implementation of [VADER Sentiment Analysis](https://github.com/cjhutto/vaderSentiment)

See More! 🚀

govader-backend

Microservice implementation of [GoVader](https://github.com/jonreiter/govader)

See More! 🚀

paicehusk

Golang implementation of the Paice/Husk Stemming Algorithm

See More! 🚀

RAKE.go

Go port of the Rapid Automatic Keyword Extraction Algorithm (RAKE)

See More! 🚀

snowball

Snowball stemmer port (cgo wrapper) for Go. Provides word stem extraction functionality [Snowball native](http://snowball.tartarus.org/)

See More! 🚀

spaGO

Self-contained Machine Learning and Natural Language Processing library in Go

See More! 🚀

slug

URL-friendly slugify with multiple languages support

See More! 🚀

MMSEGO

This is a GO implementation of [MMSEG](http://technology.chtsai.org/mmseg/) which a Chinese word splitting algorithm

See More! 🚀

shamoji

The shamoji is word filtering package written in Go

See More! 🚀

stemmer

Stemmer packages for Go programming language. Includes English and German stemmers

See More! 🚀

textcat

Go package for n-gram based text categorization, with support for utf-8 and raw text

See More! 🚀

go-mystem

CGo bindings to Yandex.Mystem - russian morphology analyzer

See More! 🚀

go-pinyin

CN Hanzi to Hanyu Pinyin converter

See More! 🚀

enca

Minimal cgo bindings for [libenca](https://cihar.com/software/enca/), which detects character encodings

See More! 🚀

go-unidecode

ASCII transliterations of Unicode text

See More! 🚀

transliterator

Provides one-way string transliteration with supporting of language-specific transliteration rules

See More! 🚀

gounidecode

Unicode transliterator (also known as unidecode) for Go

See More! 🚀

lingua-go

An accurate natural language detection library, suitable for long and short text alike. Supports detecting multiple languages in mixed-language text

See More! 🚀

whatlanggo

Natural language detection package for Go. Supports 84 languages and 24 scripts (writing systems e.g. Latin, Cyrillic, etc)

See More! 🚀

go-stem

Implementation of the porter stemming algorithm

See More! 🚀

libtextcat

Cgo binding for libtextcat C library. Guaranteed compatibility with version 2.2

See More! 🚀

nlp

Go Natural Language Processing library supporting LSA (Latent Semantic Analysis)

See More! 🚀

nlp

Extract values from strings and fill your structs with nlp.

See More! 🚀

spelling-corrector

A spelling corrector for the Spanish language or create your own

See More! 🚀

gse

Go efficient text segmentation; support english, chinese, japanese and other

See More! 🚀

prose

Library for text processing that supports tokenization, part-of-speech tagging, named-entity extraction, and more. English only.

See More! 🚀

segment

Go library for performing Unicode Text Segmentation as described in [Unicode Standard Annex #29](https://www.unicode.org/reports/tr29/)

See More! 🚀

sentences

Sentence tokenizer: converts text into a list of sentences

See More! 🚀

t

Another i18n pkg for golang, which follows GNU gettext style and supports .po/.mo files: `t.T (gettext)`, `t.N (ngettext)`, etc. And it contains a cmd tool [xtemplate](https://github.com/youthlin/t/blob/main/cmd/xtemplate), which can extract messages as a pot file from text/html template

See More! 🚀

go2vec

Reader and utility functions for word2vec embeddings

See More! 🚀

go-propisyu

Convert numbers to Russian words with correct grammatical gender and noun declension

See More! 🚀

kagome

JP morphological analyzer written in pure Go

See More! 🚀

porter

This is a fairly straightforward port of Martin Porter's C implementation of the Porter stemming algorithm

See More! 🚀

porter2

Really fast Porter 2 stemmer

See More! 🚀

go-slugify

Make pretty slug with multiple languages support

See More! 🚀

Slugify

Go slugify application that handles string

See More! 🚀

gojieba

This is a Go implementation of [jieba](https://github.com/fxsjy/jieba) which a Chinese word splitting algorithm

See More! 🚀

gotokenizer

A tokenizer based on the dictionary and Bigram language models for Golang. (Now only support chinese segmentation)

See More! 🚀

go-i18n

Package and an accompanying tool to work with localized text

See More! 🚀

go-words

A words table and text resource library for Golang projects

See More! 🚀

gotext

GNU gettext utilities for Go

See More! 🚀

iuliia-go

Transliterate Cyrillic → Latin in every possible way

See More! 🚀

spreak

Flexible translation and humanization library for Go, based on the concepts behind gettext

See More! 🚀