Constraint detection in natural language problem descriptions