Awesome Go

Natural Language Processing

49 libraries in this category

prose

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

3,052Natural Language ProcessingLibraries for working with human languages.
nlp

Extract values from strings and fill your structs with nlp.

389Natural Language ProcessingLibraries for working with human languages.
getlang

Fast natural language detection package

Natural Language ProcessingLanguage Detection
guesslanguage

Functions to determine the natural language of a unicode text

Natural Language ProcessingLanguage Detection
lingua-go

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

Natural Language ProcessingLanguage Detection
whatlanggo

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

Natural Language ProcessingLanguage Detection
go-stem

Implementation of the porter stemming algorithm

Natural Language ProcessingMorphological Analyzers
gosentiwordnet

Sentiment analyzer using sentiwordnet lexicon in Go

Natural Language ProcessingMorphological Analyzers
govader

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

Natural Language ProcessingMorphological Analyzers
libtextcat

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

Natural Language ProcessingMorphological Analyzers
nlp

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

Natural Language ProcessingMorphological Analyzers
RAKE.go

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

Natural Language ProcessingMorphological Analyzers
snowball

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

Natural Language ProcessingMorphological Analyzers
spaGO

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

Natural Language ProcessingMorphological Analyzers
spelling-corrector

A spelling corrector for the Spanish language or create your own

Natural Language ProcessingMorphological Analyzers
gse

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

Natural Language ProcessingTokenizers
MMSEGO

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

Natural Language ProcessingTokenizers
segment

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

Natural Language ProcessingTokenizers
sentences

Sentence tokenizer: converts text into a list of sentences

Natural Language ProcessingTokenizers
shamoji

The shamoji is word filtering package written in Go

Natural Language ProcessingTokenizers
stemmer

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

Natural Language ProcessingTokenizers
textcat

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

Natural Language ProcessingTokenizers
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

Natural Language ProcessingTranslation
enca

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

Natural Language ProcessingTransliteration
go-unidecode

ASCII transliterations of Unicode text

Natural Language ProcessingTransliteration
gounidecode

Unicode transliterator (also known as unidecode) for Go

Natural Language ProcessingTransliteration
transliterator

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

Natural Language ProcessingTransliteration
detectlanguage

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

Natural Language ProcessingLanguage Detection
go2vec

Reader and utility functions for word2vec embeddings

Natural Language ProcessingMorphological Analyzers
go-propisyu

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

Natural Language ProcessingMorphological Analyzers
golibstemmer

Go bindings for the snowball libstemmer library including porter 2

Natural Language ProcessingMorphological Analyzers
govader-backend

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

Natural Language ProcessingMorphological Analyzers
kagome

JP morphological analyzer written in pure Go

Natural Language ProcessingMorphological Analyzers
paicehusk

Golang implementation of the Paice/Husk Stemming Algorithm

Natural Language ProcessingMorphological Analyzers
porter

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

Natural Language ProcessingMorphological Analyzers
porter2

Really fast Porter 2 stemmer

Natural Language ProcessingMorphological Analyzers
go-slugify

Make pretty slug with multiple languages support

Natural Language ProcessingSlugifiers
slug

URL-friendly slugify with multiple languages support

Natural Language ProcessingSlugifiers
Slugify

Go slugify application that handles string

Natural Language ProcessingSlugifiers
gojieba

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

Natural Language ProcessingTokenizers
gotokenizer

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

Natural Language ProcessingTokenizers
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)

Natural Language ProcessingTranslation
go-i18n

Package and an accompanying tool to work with localized text

Natural Language ProcessingTranslation
go-mystem

CGo bindings to Yandex.Mystem - russian morphology analyzer

Natural Language ProcessingTranslation
go-pinyin

CN Hanzi to Hanyu Pinyin converter

Natural Language ProcessingTranslation
go-words

A words table and text resource library for Golang projects

Natural Language ProcessingTranslation
gotext

GNU gettext utilities for Go

Natural Language ProcessingTranslation
iuliia-go

Transliterate Cyrillic → Latin in every possible way

Natural Language ProcessingTranslation
spreak

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

Natural Language ProcessingTranslation