Natural Language Processing

47 projects in 6 subcategories

This category gathers text and language libraries for Go: internationalization and translation of app strings, word and sentence segmentation, language detection, stemming and morphological analysis, transliteration to ASCII, slug generation, and keyword extraction. Its subcategories split these by task, and several libraries focus on specific languages such as Chinese and Japanese, where word segmentation is a hard problem of its own.

For localizing applications, nicksnyder/go-i18n manages message files with plural rules, gotext implements GNU gettext, and golang.org/x/text provides the lower-level building blocks. For segmentation, gse and gojieba split Chinese text, with gojieba binding a C++ library through cgo, kagome is a pure Go Japanese morphological analyzer, and neurosnap/sentences splits text into sentences. lingua-go and whatlanggo detect languages. gosimple/slug creates URL slugs with language-aware rules, go-unidecode transliterates Unicode to ASCII, and go-pinyin converts Chinese characters to Pinyin. spaGO is a self-contained ML and NLP library, though less active since 2025.

Pick by task and language. For multilingual apps, go-i18n or gettext covers translation of interface strings. For search and analysis, combine a segmenter for your language with a stemmer. For larger tasks such as classification or embeddings, running transformer models through ONNX from Go, or calling a model service, usually gives better results than rule-based libraries.

Subcategories

Esc

Type to search every entry. ↑↓ to move, Enter to open.