Natural Language Processing
49 libraries in this category
Library for text processing that supports tokenization, part-of-speech tagging, named-entity extraction, and more. English only.
Extract values from strings and fill your structs with nlp.
Fast natural language detection package
Functions to determine the natural language of a unicode text
An accurate natural language detection library, suitable for long and short text alike. Supports detecting multiple languages in mixed-language text
Natural language detection package for Go. Supports 84 languages and 24 scripts (writing systems e.g. Latin, Cyrillic, etc)
Implementation of the porter stemming algorithm
Sentiment analyzer using sentiwordnet lexicon in Go
Go implementation of [VADER Sentiment Analysis](https://github.com/cjhutto/vaderSentiment)
Cgo binding for libtextcat C library. Guaranteed compatibility with version 2.2
Go Natural Language Processing library supporting LSA (Latent Semantic Analysis)
Go port of the Rapid Automatic Keyword Extraction Algorithm (RAKE)
Snowball stemmer port (cgo wrapper) for Go. Provides word stem extraction functionality [Snowball native](http://snowball.tartarus.org/)
Self-contained Machine Learning and Natural Language Processing library in Go
A spelling corrector for the Spanish language or create your own
Go efficient text segmentation; support english, chinese, japanese and other
This is a GO implementation of [MMSEG](http://technology.chtsai.org/mmseg/) which a Chinese word splitting algorithm
Go library for performing Unicode Text Segmentation as described in [Unicode Standard Annex #29](https://www.unicode.org/reports/tr29/)
Sentence tokenizer: converts text into a list of sentences
The shamoji is word filtering package written in Go
Stemmer packages for Go programming language. Includes English and German stemmers
Go package for n-gram based text categorization, with support for utf-8 and raw text
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
Minimal cgo bindings for [libenca](https://cihar.com/software/enca/), which detects character encodings
ASCII transliterations of Unicode text
Unicode transliterator (also known as unidecode) for Go
Provides one-way string transliteration with supporting of language-specific transliteration rules
Language Detection API Go Client. Supports batch requests, short phrase or single word language detection
Reader and utility functions for word2vec embeddings
Convert numbers to Russian words with correct grammatical gender and noun declension
Go bindings for the snowball libstemmer library including porter 2
Microservice implementation of [GoVader](https://github.com/jonreiter/govader)
JP morphological analyzer written in pure Go
Golang implementation of the Paice/Husk Stemming Algorithm
This is a fairly straightforward port of Martin Porter's C implementation of the Porter stemming algorithm
Really fast Porter 2 stemmer
Make pretty slug with multiple languages support
URL-friendly slugify with multiple languages support
Go slugify application that handles string
This is a Go implementation of [jieba](https://github.com/fxsjy/jieba) which a Chinese word splitting algorithm
A tokenizer based on the dictionary and Bigram language models for Golang. (Now only support chinese segmentation)
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)
Package and an accompanying tool to work with localized text
CGo bindings to Yandex.Mystem - russian morphology analyzer
CN Hanzi to Hanyu Pinyin converter
A words table and text resource library for Golang projects
GNU gettext utilities for Go
Transliterate Cyrillic → Latin in every possible way
Flexible translation and humanization library for Go, based on the concepts behind gettext