python - español - wordnet online
Obtener sustantivo del verbo Wordnet (1)
Podrías probar algo como esto:
def nounify(verb_word):
set_of_related_nouns = set()
for lemma in wn.lemmas(wn.morphy(verb_word, wn.VERB), pos="v"):
for related_form in lemma.derivationally_related_forms():
for synset in wn.synsets(related_form.name(), pos=wn.NOUN):
if wn.synset(''person.n.01'') in synset.closure(lambda s:s.hypernyms()):
set_of_related_nouns.add(synset)
return set_of_related_nouns
Este método busca todos los sustantivos relacionados a la derivación en un verbo y comprueba si tienen "persona" como hipernym.
Esta entrada
print nounify("created")
print nounify("teach")
print nounify("spoke")
devolverá esta salida
set([Synset(''creator.n.02''), Synset(''creature.n.02''), Synset(''creature.n.03'')])
set([Synset(''teacher.n.01'')])
set([Synset(''speaker.n.03''), Synset(''speaker.n.01'')])
Desafortunadamente, sin embargo, su ejemplo de "fondo" no está cubierto, ya que "financiador" no aparece como una forma derivada relacionada con "fondos" en WordNet.
Estoy tratando de obtener el sustantivo de un verbo con Wordnet en python. Quiero ser capaz de obtener:
del verbo ''creado'' el sustantivo ''creador'',
''funded'' => ''funder''
Verb X => Noun Y
Y
se refiere a una persona
Pude hacerlo del otro lado: Noun Y => Verb X
import nltk as nltk
from nltk.corpus import wordnet as wn
lem = wn.lemmas(''creation'')
print lem
related_forms = lem[0].derivationally_related_forms()
print related_forms
Aquí está la salida dada
[Lemma(''creation.n.01.creation''), Lemma(''creation.n.02.creation''), Lemma(''creation.n.03.creation''), Lemma(''initiation.n.02.creation''), Lemma(''creation.n.05.Creation''), Lemma(''universe.n.01.creation'')]
[Lemma(''create.v.02.create''), Lemma(''produce.v.02.create''), Lemma(''create.v.03.create'')]
Pero, estoy tratando de hacer lo opuesto. Aquí hay un enlace que parece lo que quiero hacer, pero el código no funciona y no responde mi solicitud:
Convierta palabras entre formas de verbo / sustantivo / adjetivo