Computational Linguistics and Natural Language Processing Algorithms