VBD などの POS タグが与えられた場合、どのように動詞を活用して NLTK と一致させることができますか?
例えば
VERB: go
POS: VBD
RESULT: went
NLTK は現在活用を提供していません。Pattern-en とnodeboxは活用を行います。
pattern-en Web サイトの例が示されているように機能しないことがあります。これは私のために働いた:
>>> 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'
>>>
ノート
conjugate
時制が助動詞を必要としない場合にのみ出力するようです。たとえば、スペイン語では、 irの (単数形の一人称) 未来形はiréです。英語では、go の未来は補助の will と不定詞のgoで形成され、will go になります。以下のコードでは、iréが出力されますが、 go にはなりません。
>>> 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")
>>>
単語の屈折と活用には MontyLingua を使用しました。 https://pypi.python.org/pypi/MontyLingua/2.1
mlg = MontyLingua.MontyNLGenerator.MontyNLGenerator()
mlg.conjugate_verb(verb,mode)