Linguistic engineering: a survey