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