2016-04-04 13 views
0

Was ich in der documentation of GermaNLTK (eine Integration von NLTK und GermaNet) sehen kann, ist die Möglichkeit, deutsche Wörter korrekt zu lemmatisieren.Erhalten Sie grammatische Konjugation mit GermaNLTK

>>> gwl.lemmatize('geht') 
'gehen' 

oder

>>> gwl.lemmatize('kann') 
'können' 

Es ist gut, den Infinitiv zu wissen, aber ich will mehr. Was ich eigentlich will, ist die Information über grammatische Konjugation. Zum Beispiel so etwas wie dieses:

>>> gwl.grammatical_conjugation('geht') 
{'gehen':'3. Person Singular'} 

oder

>>> gwl.grammatical_conjugation('kann') 
{'können': ['1. Person Singular', '3. Person Singular']} 

Wie würden Sie die Informationen über die Konjugation bekommen?

Antwort

0

Ich denke, GermaNLTK kann dies nicht tun. Stattdessen würde ich vorschlagen, die Verwendung des Python-Modul machen pattern

pip install pattern 

Hier können Sie die Prüfung, ob ein Wort 1. Person Singular (1sg) oder 3. Person Singular (3sg)

>>> from pattern.de import conjugate 
>>> wort1 = "bin" 
>>> wort2 = "kann" 
>>> wort3 = "geht" 
>>> 
>>> wort1 == conjugate(wort1, "1sg") 
True 
>>> wort1 == conjugate(wort1, "3sg") 
False 
>>> wort2 == conjugate(wort2, "1sg") 
True 
>>> wort2 == conjugate(wort2, "3sg") 
True 
>>> wort3 == conjugate(wort3, "1sg") 
False 
>>> wort3 == conjugate(wort3, "3sg") 
True 

leistungsstark und effizient.