from nltk.stem import SnowballStemmer,PorterStemmer,WordNetLemmatizer
Recall:
Some of the terms:
en_nouns = \
[
"house houses house's",
"child children",
]
en_verbs = \
[
"walk walked walking walks",
"see saw sees seen seeing",
]
en_cases = en_nouns + en_verbs
pen = PorterStemmer()
for c in en_cases:
for w in c.split():
print pen.stem(w),
print
hous hous house' child children walk walk walk walk see saw see seen see
de_nouns = \
[
u"Bruder Bruders Brüder Brüdern",
u"Leuchte Leuchten",
u"Haus Hauses Hause Häuser Häusern",
]
de_verbs = \
[
u"geb geben gebe gibst gibt gebt gab gabst gaben gabt gegeben gäbe gäbst gäb gäben gäbet",
u"fangen fang fange fängst fängt fangen fangt fing fingst fingen fingt",
u"backen backe backst backt backte backtest backten backtet gebackt gebackte",
u"bäckst bäckt bukest bükest",
]
de_cases = de_nouns+de_verbs
des = SnowballStemmer("german")
for c in de_cases:
for w in c.split():
print des.stem(w),
print
brud brud brud brud leucht leucht haus haus haus haus haus geb geb geb gibst gibt gebt gab gabst gab gabt gegeb gab gabst gab gab gabet fang fang fang fang fangt fang fangt fing fing fing fingt back back back backt backt backt backt backtet gebackt gebackt back backt buk buk
wnl = WordNetLemmatizer()
for c in en_nouns:
for w in c.split():
print wnl.lemmatize(w,pos='n'),
print
house house house's child child
for c in en_verbs:
for w in c.split():
print wnl.lemmatize(w,pos='v'),
print
walk walk walk walk see saw see see see
for c in en_verbs+en_nouns:
for w in c.split():
print wnl.lemmatize(w),
print
walk walked walking walk see saw see seen seeing house house house's child child