1. A method for applying a model for an interactive voice response system comprising: a) receiving a training data set at a first computing unit; b) sorting classes of the training data set by frequency distribution at the first computing unit; c) distributing the sorted classes as a plurality of S groups across a plurality of S processors using a round robin partition, wherein each group includes classes different from classes in each other group, and each group is distributed to a different processor of the plurality of S processors, each of the S processors being located within a different computing unit; d) for each processor, processing the distributed group of sorted classes to produce learning data; e) for each processor, distributing the learning data to each of the other processors; f) merging results of the processing into a model at a second computing unit; and g) outputting the model to cache operatively connected to the second computing unit; and h) applying the model to an interactive voice response system.