In some embodiments, the evaluation module 330 may determine the probability that the service will be selected by the user based on a machine learning method. The machine learning method may include Bayes Model (e.g., Naive Bayes Classifier), neural network model, or the like, or a combination thereof.
Taking Naive Bayes Classifier as an example, the evaluation module 330 may determine the probability based on a plurality of features of the service. The plurality of features may be determined based on the records of historical requests. The processor may determine the probability for a service by determining a conditional probability based on the plurality of features. Vector X={a1, a2, . . . , am} may denote the plurality of features. Vector Y={y1, y2, . . . , ym} may denote the plurality of services. The probability for the services may be represented as P(yi|X). As used herein, P(yi|X) may denote the probability that the service yi will be selected by the user based on the probability of occurrence of feature X. The probability of occurrence of feature X may be determined based on a probability of occurrence of feature a1, a2, . . . , and am. The probability of occurrence of feature X may be trained by the records of historical requests.
In some embodiments, the evaluation module 330 may determine the plurality of features based on the first type of records. For example, the evaluation module 330 may determine a popularity of the services based on the first type of records. The popularity of service yi may be determined by equation (7) below: