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 one or more attribute values for each of one or more keyword attributes for each of the candidate keywords and for the received keyword, wherein each of the one or more keyword attributes is directly associated with use of a particular keyword; receiving weights associated with each of the one or more keyword attributes; determining respective scores for each of the candidate keywords and for the received keyword based on the one or more received attribute values and the received weights, wherein determining a score for a given keyword includes computing a sum of products, with each product corresponding to a received attribute value for a given keyword attribute multiplied by the received weight associated with the given keyword attribute; and processing the candidate keywords based on their scores.