A Semantic-based Layer Freezing Approach to Efficient Fine-Tuning of Language Models