2013-09-22 9 views

Odpowiedz

13

NLTK obecnie nie zapewnia koniugacji. Pattern-en i nodebox do koniugacji.

Czasami przykłady na stronie internetowej pattern-en nie działają tak, jak pokazano. Ten pracował dla mnie:

>>> 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' 
>>> 

UWAGA

Wydaje się conjugate tylko wyjść, gdy napięcie nie wymaga dodatkowego czasownika. Na przykład w języku hiszpańskim (pojedyncza pierwsza osoba) przyszłość ir to iré. W języku angielskim, przyszłość iść powstaje z pomocniczego będzie i bezokolicznika iść, powodując pójdzie. W poniższym kodzie, iré jest wyprowadzany, ale nie przejdzie.

>>> 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") 
>>> 
+0

czy to oznacza, że ​​NLTK nie zajmuje się koniugacją czasownika? – mix

+0

dokładnie :) (Jestem otwarty na bycie niewłaściwym, ale ja lub ktokolwiek inny, którego znam tutaj, nie znalazłem sposobu, aby to zrobić!) – arturomp

+1

@arturomp, Próbowałem użyć czasu przyszłego dla pattern.en . Czy to działa dla ciebie, bo nic mi nie zwraca. – macmania314