Categorical Tools For Natural Language Processing