1. A method comprising: receiving, by one or more server devices of a topic ranking system, a user request; obtaining, by the one or more server devices, a list of popular topics, a ranking score for each topic in the list of popular topics, and a topic profile for a particular topic in the list of popular topics; identifying, by the one or more server devices, a user profile for a user associated with the user request; determining, by the one or more server devices, a personalization score for the particular topic in the list of popular topics, where the personalization score for the particular topic is based on one or more similarities between the user profile and the topic profile for the particular topic, determining the personalization score further comprising: representing the user profile as a first component that represents the user's interest in different subject matter categories, representing the topic profile as a second component that represents a relevance of the particular topic to the different subject matter categories, applying a vector similarity function to the first component and the second component to compute a similarity score for the first component and the second component, applying a transformation function to the similarity score computed based on applying the vector similarity function to the first component and the second component; and determining, as a boost factor, a numeric value for the personalization score based on a result of applying the transformation function to the similarity score; determining, by the one or more server devices, a revised ranking score for the particular topic in the list of popular topics based on the personalization score and the ranking score for the particular topic; and ranking, by the one or more server devices, the topics, in the list of popular topics, using the revised ranking score for the particular topic.