Last week Yandex launched yet another version of their search algorithm named Dublin. Dublin is the 3rd modification of Yandex search algorithm that is aimed at understanding user’s intent.
The first use-centric search algorithm called Reykjavik came in 2011. With the introduction of Reykjavik Yandex learned about language references of its users and started to display more search results in English to people, who seemed to enjoy reading English, and fewer – to those, who generally ignored English results in the SERPs.
Eight months after Reykjavik, Yandex launched Kaliningrad – the search algorithm that brought personalization to up to 60-70% of Yandex searches.
In Dublin version of its search algorithm, Yandex introduced “real-time” personalization, i.e. learned to understand what users are looking for at a particular moment, regardless of their long-term interests and search behavior.
What has changed, essentially, is the frequency with which Yandex analyzes users’ search behavior. The previous personalized search technology (Kaliningrad) performed the analysis on a daily basis, while the new one (Dublin) does it on a search session level.
The example below illustrates the difference between real-time and long-term interest-based personalization. In both cases the searcher, who is obviously very much into literature, continuously looks for books to read. In the session on the right, however, the searcher breaks his/her usual pattern and searches for movies to watch today. Seeing that, Yandex displays search results focused on currently shown movies, where book-related search suggestions and results are pushed down.
To instantly react to changes in user’s search behavior, Yandex created a real-time data processing system, which, as they claim, processes more than 10 terabytes of data a day, sometimes up to 200 megabyte per second.
Real-time personalization is enabled for all Yandex users and starts working immediately after user’s first query.