非英语单词的词形还原?

时间:2014-03-03 10:31:09

标签: python nltk information-retrieval information-extraction lemmatization

我想应用词形还原来减少词汇的屈折形式。我知道,对于英语WordNet提供了这样的功能,但我也有兴趣将词典化应用于荷兰语,法语,西班牙语和意大利语。有没有值得信赖和确认的方法来解决这个问题?谢谢!

2 个答案:

答案 0 :(得分:10)

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

不幸的是,它仅适用于Python 2,尚未提供对Python3的支持。

答案 1 :(得分:-1)

文本库http://textacy.readthedocs.io/en/latest/api_reference.html提供了基本工具,用于构建包含词汇化的词汇或词汇包,作为选项的一部分。我用西班牙语尝试过,工作得很好。

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

库自动检查您正在编写的语言并根据它进行词形变换。但是,您也可以在此处指定。

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

您将获得如下输出     {'perro':1,'y':1,'gato':1,'jugar':1,'casar':1,'Los':1,'露台':1}

图书馆很好地识别了一些词,然而,这些词汇并没有被完全识别出来。希望这会有所帮助。