Я пытаюсь получить глагол от существительного с помощью Wordnet в python. Вот код:
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
Мне нужны только глаголы, но я получаю и другие поз. например: скольжение+++ set([Lemma('slippery.a.01.slippy'), Lemma('err.v.01.slip') ])
Как я могу это изменить?
Если я использую строку:
for synset in wn.synsets(related_form.name(), pos=wn.VERB):
Я получаю только глаголы, но некоторые глаголы могут быть не связаны с моим существительным, например: Приобретение+++ set([Synset('get.v.01'), Synset('предположим.v.03'), Synset('grow.v.08'), Synset('acquire.v.04'), Synset('acquire.v.05'), Synset( 'разработать.v.03'), Synset('учиться.v.01')])