Skip to content

SomeNewKid/Genova.AnalogySolver

Repository files navigation

Genova.AnalogySolver

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.

Installation

dotnet restore
dotnet build
dotnet run --project AnalogySolver.Terminal

Usage

Enter 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");

Features

  • 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

Notes

  • Targets .NET 8.
  • The solver loads an embedded simplewiki_glove_100d.txt model on first use.
  • Input words must exist in the loaded model.

Thanks

  • GloVe word embeddings
  • Simple English Wikipedia data
  • Mittens (for training scripts)

Third-Party Notices

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.

License

GNU General Public License v3.0. See the LICENSE file for details.

About

A simple application which can solve analogy expressions using vector mathematics.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages