Foundation Models for Natural Language Processing