Language Analysis techniques