7

我想应用词形化来减少单词的屈折形式。我知道对于英语语言来说,WordNet提供了这样的功能,但我也有兴趣应用荷兰语,法语,西班牙语和意大利语单词的词形。有没有可靠的和可靠的方法去解决这个问题?谢谢!非英语单词的词形化?

+0

参见https://stackoverflow.com/questions/13131139/lemmatize-french-text?rq=1 – DNA

+0

所引述的问题的答复讨论法国词干而不是lemmatizers – duhaime

+0

我必须寻找同样的事情,但对于意大利 –

回答

8

尝试pattern从CLIPS库,他们支持德语,英语,西班牙语,法语和意大利语。正是你需要的:http://www.clips.ua.ac.be/pattern

不幸的是,它只适用于Python 2,不支持Python3提供。

+0

谢谢,这很完美!正是我在找的! – Crista23

-1

textacy库http://textacy.readthedocs.io/en/latest/api_reference.html提供了一些必要的工具,用于构建包含作为其选项一部分的词形变化的词汇或术语包。我用西班牙语尝试过,效果相当不错。

doc.to_bag_of_terms(ngrams=2, named_entities=True, lemmatize=True, as_strings=True) 

该库会自动检查您正在写入的语言并据此进行lemmatize。但是,您也可以在此处指定它。

import textacy 
text = 'Los gatos y los perros juegan juntos en el patio de su casa' 
doc = textacy.Doc(text, lang='es') 
print(doc.to_bag_of_words(normalize='lemma', as_strings=True)) 

你会得到一个输出为以下 { '佩罗':1, 'Y':1, '小鲨鱼':1, 'JUGAR':1, 'CASAR':1,“洛杉矶':1,'庭院':1}

图书馆很好地认识了一些词,然而,这些词并没有完全被认出。希望这可以帮助。

+0

如果您更多地解释了该库如何用于非英语语言并显示一些示例输出,它将会很有用。 – vpekar