Get verb from noun Wordnet python

Viewed 1225

I'm trying to get the verb from a noun with Wordnet in python. Here is the code:

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

I need only verbs but I get the others pos too for example: slip+++ set([Lemma('slippery.a.01.slippy'), Lemma('err.v.01.slip')])

How can I change this?

If I use the line:

for synset in wn.synsets(related_form.name(), pos=wn.VERB):

I get only the verbs but some verbs can be not related to my noun for example: acquiring+++ 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('learn.v.01')])

1 Answers
Related