8

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

4

2 回答 2

11

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

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

于 2014-03-03T12:24:56.017 回答
0

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)

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

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, 'patio': 1}

图书馆很好地识别了一些单词,但是,引理没有被完全识别。希望这可以帮助。

于 2017-12-13T15:53:11.353 回答