A Taxonomy of Natural Language Processing