StarSpace is a general purpose neural embedding model that can be applied to a number of machine learning tasks including ranking, classification, information retrieval, similarity learning, and recommendations. It's both highly competitive with existing methods while generalizing well to new use cases.

A multi-purpose learning model

StarSpace learns to represent objects of different types into a common vectorial embedding space in order to compare them against each other. This makes it well suited for a variety of problems, including:

  • Learning word, sentence or document level embeddings.

  • Information retrieval - ranking of sets of entities / documents or objects, e.g., ranking web documents.

  • Text classification, or any other labeling task.

  • Metric / similarity learning, e.g., learning sentence or document similarity.

  • Content-based or Collaborative Filtering-based Recommendation, e.g., recommending music or videos.

  • Embedding graphs, e.g., multi-relational graphs such as Freebase.

Additional details on StarSpace can be found in the research paper.

Get Started


  • Install the Boost library and specify the path of the Boost library in makefile in order to run StarSpace.

    $ wget
    $ unzip
    $ sudo mv boost_1_63_0 /usr/local/bin

    Optional: To run unit tests in src directory, Google Test is required, and its path needs to be specified in 'TEST_INCLUDES' in the makefile.

  • 2

  • Build StarSpace

    git clone
    cd Starspace

  • 3

  • Review documentation to familiarize yourself with the StarSpace file format, example use cases, parameters, and functions.

  • 4

  • Prepare datasets, train, and evaluate models with StarSpace.

  • More Tools


    FAISS allows developers to quickly search for embeddings of multimedia documents that are similar to each other.

    Join Us

    Tackle the world's most complex technology challenges

    Join Our Team

    Latest News

    Visit the AI Blog for updates on recent publications, new tools, and more.

    Visit Blog