Natural Language Processing - Awesome Go
Libraries for working with human languages.
- detectlanguage - Language Detection API Go Client. Supports batch requests, short phrase or single word language detection.
- getlang - Fast natural language detection package.
- guesslanguage - Functions to determine the natural language of a unicode text.
- lingua-go - An accurate natural language detection library, suitable for long and short text alike. Supports detecting multiple languages in mixed-language text.
- whatlanggo - Natural language detection package for Go. Supports 84 languages and 24 scripts (writing systems e.g. Latin, Cyrillic, etc).
- go-stem - Implementation of the porter stemming algorithm.
- go2vec - Reader and utility functions for word2vec embeddings.
- golibstemmer - Go bindings for the snowball libstemmer library including porter 2.
- gosentiwordnet - Sentiment analyzer using sentiwordnet lexicon in Go.
- govader - Go implementation of VADER Sentiment Analysis.
- govader-backend - Microservice implementation of GoVader.
- kagome - JP morphological analyzer written in pure Go.
- libtextcat - Cgo binding for libtextcat C library. Guaranteed compatibility with version 2.2.
- nlp - Extract values from strings and fill your structs with nlp.
- nlp - Go Natural Language Processing library supporting LSA (Latent Semantic Analysis).
- paicehusk - Golang implementation of the Paice/Husk Stemming Algorithm.
- porter - This is a fairly straightforward port of Martin Porter's C implementation of the Porter stemming algorithm.
- porter2 - Really fast Porter 2 stemmer.
- RAKE.go - Go port of the Rapid Automatic Keyword Extraction Algorithm (RAKE).
- snowball - Snowball stemmer port (cgo wrapper) for Go. Provides word stem extraction functionality Snowball native.
- spaGO - Self-contained Machine Learning and Natural Language Processing library in Go.
- spelling-corrector - A spelling corrector for the Spanish language or create your own.
- go-slugify - Make pretty slug with multiple languages support.
- slug - URL-friendly slugify with multiple languages support.
- Slugify - Go slugify application that handles string.
- gojieba - This is a Go implementation of jieba which a Chinese word splitting algorithm.
- gotokenizer - A tokenizer based on the dictionary and Bigram language models for Golang. (Now only support chinese segmentation)
- gse - Go efficient text segmentation; support english, chinese, japanese and other.
- MMSEGO - This is a GO implementation of MMSEG which a Chinese word splitting algorithm.
- prose - Library for text processing that supports tokenization, part-of-speech tagging, named-entity extraction, and more. English only.
- segment - Go library for performing Unicode Text Segmentation as described in Unicode Standard Annex #29
- sentences - Sentence tokenizer: converts text into a list of sentences.
- shamoji - The shamoji is word filtering package written in Go.
- stemmer - Stemmer packages for Go programming language. Includes English and German stemmers.
- textcat - Go package for n-gram based text categorization, with support for utf-8 and raw text.
- ctxi18n - Context aware i18n with a short and consise API, pluralization, interpolation, and fs.FS support. YAML locale definitions are based on Rails i18n.
- go-i18n - Package and an accompanying tool to work with localized text.
- go-mystem - CGo bindings to Yandex.Mystem - russian morphology analyzer.
- go-pinyin - CN Hanzi to Hanyu Pinyin converter.
- go-words - A words table and text resource library for Golang projects.
- gotext - GNU gettext utilities for Go.
- iuliia-go - Transliterate Cyrillic → Latin in every possible way.
- spreak - Flexible translation and humanization library for Go, based on the concepts behind gettext.
- 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, which can extract messages as a pot file from text/html template.
- enca - Minimal cgo bindings for libenca, which detects character encodings.
- go-unidecode - ASCII transliterations of Unicode text.
- gounidecode - Unicode transliterator (also known as unidecode) for Go.
- transliterator - Provides one-way string transliteration with supporting of language-specific transliteration rules.