james-bowman/nlp
A Go library providing ML algorithm implementations for natural language processing and semantic analysis of text documents.

This repository implements selected machine learning algorithms for NLP in Go, focused on statistical semantics of plain-text documents. It provides tools for semantic analysis and retrieval of semantically similar documents. Key implementations include Latent Semantic Analysis (LSA/LSI) using truncated SVD, Latent Dirichlet Allocation (LDA), TF-IDF vectorization, locality-sensitive hashing, and related techniques. The library builds on the Gonum package for linear algebra and draws inspiration from Python’s scikit-learn and Gensim.