Learning and Inference with Constraints
discriminative training methods for hidden markov models : theory and experiments with perceptron algorithms .