A .NET 8 analogy solver that evaluates simple word-vector expressions against a GloVe embedding model and returns the nearest matching word.
Warning
This is an experimental project and should not be considered production-ready. It exists to explore a small AI, ML, agent, or demo idea within the broader Genova ecosystem.
Important
A fresh public clone of this repository should not be expected to restore or build without additional Genova infrastructure. Many Genova dependencies are distributed through a private authenticated NuGet feed, and the public source does not include feed credentials or a complete public package graph.
dotnet restore
dotnet build
dotnet run --project AnalogySolver.TerminalEnter an expression in the terminal, for example:
king - man + woman
Or use the library directly:
var solver = new Solver();
var result = solver.Solve("king - man + woman");- Parses expressions using
+and- - Evaluates word analogies with GloVe embeddings
- Returns the nearest matching word by cosine similarity
- Includes a simple console interface
- Includes Python scripts for corpus preprocessing and GloVe training
- Targets .NET 8.
- The solver loads an embedded
simplewiki_glove_100d.txtmodel on first use. - Input words must exist in the loaded model.
- GloVe word embeddings
- Simple English Wikipedia data
- Mittens (for training scripts)
This project has direct runtime dependencies on third-party NuGet packages, including Microsoft.Extensions.* packages (MIT), Microsoft.ML* packages (MIT). See each package's NuGet license metadata for full license and notice terms.
GNU General Public License v3.0. See the LICENSE file for details.