Categories for NLP algorithms