I would like to know how search engines like Bing generate related searches when the user starts typing into the search box.

From what I gather, there has to be some sort of a ranking algorithm where the words which the user enters first get bagged, and then the closest related search pops up, from a history of past related searches. The ranking is probably influenced by user's previous search history.

I heard that Bing's search engine is powered by RankNet algorithm, but I can't find a good tutorial on how this process works. I would like to find an article or a paper which I can implement myself in Python or Matlab.


1 Answer 1


Python already has a free module that can handle topic modelling in text. You may want just want to use that because text processing can be dirty business (a lot of junk), so I would use their modules located here and you can read about the algorithms separately.

A good introduction to statistical nlp is ofcourse Christopher Manning Foundations of Statistical NLP book. A very popular indexing algorithm is the Latent Semantic Indexing algorithm found here.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.