1. A method for classifying text, comprising-steps of: acquiring text as input data in a processor, wherein the text is derived from one or more hypotheses from an automatic speech recognition system operating on a speech signal; determining text features from the text x, wherein the text features are ƒ j,k (x,y); transforming the text features to topic features, wherein the transforming is according to g l,k (x,y)=h l (ƒ 1,k (x,y),. .. ,ƒ J,k (x,y)), where j is an index for a type of feature, k is an index of a class associated with the feature, y is a hypothesis of the class label, and h l (•) is a function that transforms the text features, and l is an index of the topic features; determining scores from the topic features, wherein the determining steps use a model, wherein the model is a discriminative topic model comprising a classifier operating on the topic features, and the transforming is optimized to maximize the scores of a correct class relative to the scores of incorrect classes, wherein the discriminative topic model is max Λ , A ⁢ { log ⁡ ( p Λ , A ⁡ ( y ❘ x ) ) - α ⁢ ∑ l , k ⁢ ⁢  λ l , k  2 - β ⁢ ∑ l , k ⁢ ⁢  λ l , k  - γ ⁢ ∑ l ⁢ ⁢ ( ∑ j ⁢ ⁢  A l , j  ) 2 } where α, β, γ are weight, and Λ is a classification optimizing parameter; selecting a set of class labels with highest scores for the text; outputting the set of class labels to classify the text, wherein the steps are performed in the processor.