NLTK does not currently provide pairing. Pattern-en and nodebox do conjugation.
Sometimes the examples on the pattern-en website do not work as shown. This worked for me:
>>> from pattern.en import conjugate >>> verb = "go" >>> conjugate(verb, ... tense = "past", # INFINITIVE, PRESENT, PAST, FUTURE ... person = 3, # 1, 2, 3 or None ... number = "singular", # SG, PL ... mood = "indicative", # INDICATIVE, IMPERATIVE, CONDITIONAL, SUBJUNCTIVE ... aspect = "imperfective", # IMPERFECTIVE, PERFECTIVE, PROGRESSIVE ... negated = False) # True or False u'went' >>>
Note
It seems that conjugate is only output when time does not require an auxiliary verb. For example, in Spanish (single first person) the future is ir is iré. In English, the future go is formed with the help of auxiliary will, and the infinitive as a result. In the code below, iré is output, but not output.
>>> from pattern.es import conjugate as conjugate_es >>> verb = "ir" >>> conjugate_es(verb, tense = "future") u'ir\xe1' >>> from pattern.en import conjugate as conjugate_en >>> verb = "go" >>> conjugate_en(verb, tense = "future") >>>
source share