1. A method, comprising: receiving, by at least one server communicatively coupled to a network, one or more tokens together forming a domain name; comparing, by the at least one server, each of the one or more tokens to each of a plurality of categories to produce a plurality of token probabilities, each pairing of one of the tokens with one of the categories being associated with a corresponding token probability that the token belongs to the category; for a first token probability of the plurality of token probabilities, the first token probability being associated with a first token of the one or more tokens and with a first category of the plurality of categories, determining, from a plurality of domain name searches previously processed by the at least one server, a frequency at which the first category is selected as a correct category for the first token; when the frequency is lower than the first token probability, reducing the first token probability according to the frequency; when the frequency is higher than the first token probability, increasing the first token probability according to the frequency; calculating, by the at least one server from the plurality of token probabilities, a final probability of the domain name belonging to each of the plurality of categories; and categorizing, by the at least one server, the domain name in the category having the highest final probability.