Continuing on its path to embracing Open Source, Microsoft has now open sourced one of the closely held secrets of search engines.

Microsoft’s Bing search engine uses vector search that makes it easier to search by concept rather than keyword. Gone are the days where we would search things by entering search engine terms in the search bar “Game of Thrones, Jon Snow, Targaryen”.

Now we either type ‘Is Jon Snow a Targaryen‘ or we actually say, ‘Cortana, Is Jon Snow a tragedian?’. And search engines are keeping up with it. I have my 3 years old son who asks questions with smart speakers and surprisingly he gets his answers.

Users have evolved with search engines and search engines have evolved with users. Artificial Intelligence has made life easier for search engines as they can become smarter. As one of the pioneers in the AI space, Microsoft has developed many AI tools for search engines. Yesterday, the company open soured one of the key components of its Bing search engine – an algorithm called SPTAG ( Space Partition Tree And Graph).

SPTAG enables Bing to take advantage of the intelligence from deep learning models to search through billions of pieces of information, called vectors, in milliseconds. That means it could deliver more results quickly.


SPTAG (Space Partition Tree And Graph) is a library for large scale vector approximate nearest neighbor search scenario, which is written in C++ and wrapped by Python.

“Vector search makes it easier to search by concept rather than keyword. For example, if a user types in “How tall is the tower in Paris?” Bing can return a natural language result telling the user the Eiffel Tower is 1,063 feet, even though the word “Eiffel” never appeared in the search query and the word “tall” never appears in the result,” explained Microsoft in a blog post.

Microsoft has released SPTAG as an open source project on GitHub under the MIT License. But this is not like throwing open source code on the wall. Microsoft has also released user example techniques and tools so people can actually use it.

You may also like