非英语单词的词形还原?

8

我希望应用词形还原来减少单词的屈折形式。我知道英语WordNet提供了这样的功能,但我也想将词形还原应用于荷兰语、法语、西班牙语和意大利语单词。是否有可靠和确认的方法来解决这个问题?谢谢!


请参见 https://dev59.com/LWcs5IYBdhLWcg3wGgNc?rq=1 - DNA
回答引用的问题讨论了法语词干提取器,但没有涉及词形还原器。 - duhaime
我必须寻找相同的东西,但是针对意大利语。 - Domenico Monaco
2个回答

11

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

不幸的是,它仅适用于Python2,目前还没有提供对Python3的支持。


谢谢,太完美了!正是我想要的! - Crista23
有没有针对芬兰语的任何库? - Sarang Manjrekar
请尝试使用 https://github.com/flammie/omorfi 和 http://morfessor.readthedocs.io/en/latest/。 - alvas

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}
该库能够很好地识别一些单词,但是它们的词形并没有被完全识别。希望这可以帮到您。

如果您能更详细地解释一下该库如何用于非英语语言,并展示一些示例输出,那将非常有用。 - vpekar
另外,提供的链接http://textacy.readthedocs.io/en/latest/api_reference.html没有给我访问权限。 - Way Too Simple

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接