1. A method of ranking workers for an incoming task, the method comprising: extracting, by a processor, first attributes from a list of tasks that were completed during a pre-determined period; generating, by a processor, a first feature vector for each task and worker from the first extracted attributes; training, by a processor, a Support Vector Machine (SVM) based on the first feature vectors to output a weight vector; extracting, by a processor, second attributes from an incoming task; generating, by a processor, a second feature vector based on the second extracted attributes; and ranking, by the processor, the workers for performing the incoming task using the second feature vector and the weight vector, wherein each first feature vector indicates the number of the completed tasks by each worker having the same attribute.