Microsoft open sources algorithm that gives Bing some of its smarts

Enlarge / The Eiffel Tower. (credit: Pedro Szekely)

Search engines today are more than just the dumb keyword matchers they used to be. You can ask a question—say, “How tall is the tower in Paris?”—and they’ll tell you that the Eiffel Tower is 324 meters (1,063 feet) tall, about the same as an 81-story building. They can do this even though the question never actually names the tower.

How do they do this? As with everything else these days, they use machine learning. Machine-learning algorithms are used to build vectors—essentially, long lists of numbers—that in some sense represent their input data, whether it be text on a webpage, images, sound, or videos. Bing captures billions of these vectors for all the different kinds of media that it indexes. To search the vectors, Microsoft uses an algorithm it calls SPTAG (“Space Partition Tree and Graph”). An input query is converted into a vector, and SPTAG is used to quickly find “approximate nearest neighbors” (ANN), which is to say, vectors that are similar to the input.

This (with some amount of hand-waving) is how the Eiffel Tower question can be answered: a search for “How tall is the tower in Paris?” will be “near” pages talking about towers, Paris, and how tall things are. Such pages are almost surely going to be about the Eiffel Tower.

Read 2 remaining paragraphs | Comments