【发布时间】:2017-07-14 18:44:01
【问题描述】:
我正在尝试使用 Python 中的 Wordnet 从名词中获取动词。 代码如下:
nouns = ["slip", "frustration"]
def nominalization(noun_word):
set_of_related_verbs = set()
for lemma in wn.lemmas(wn.morphy(noun_word, wn.NOUN), pos="n"):
for related_form in lemma.derivationally_related_forms():
set_of_related_verbs.add(related_form)
return set_of_related_verbs
for word in nouns:
set_of_words = nominalization(word)
if len(set_of_words) >= 1:
print word + "+++"
print set_of_words
我只需要动词,但我也得到其他的 pos,例如: 滑+++ set([引理('slippery.a.01.slippy'), 引理('err.v.01.slip')])
我该如何更改?
如果我使用这条线:
for synset in wn.synsets(related_form.name(), pos=wn.VERB):
我只得到动词,但有些动词可能与我的名词无关,例如: 获取+++ set([Synset('get.v.01'), Synset('assume.v.03'), Synset('grow .v.08'), Synset('acquire.v.04'), Synset('acquire.v.05'), Synset('develop.v.03'), Synset(' 学习.v.01')])
【问题讨论】:
标签: python python-2.7 nltk wordnet