Enabling Context-Aware Natural Language Processing: From Dense Vector Representations To Contextual Features