1. A computer-implemented method for managing keywords, comprising: receiving a keyword; generating multiple candidate keywords based on the received keyword, the candidate keywords including synonyms of the received keyword; receiving, for each of multiple attributes, attribute values for each of the candidate keywords; receiving weights associated with each of the multiple attributes; determining scores for each of the candidate keywords based on the received attribute values and the received weights; and processing the candidate keywords based on their scores.