ProtNLM: Model-based Natural Language Protein Annotation