La forma más eficiente de encontrar un pronombre en tercera persona del singular, un sustantivo y un verbo en una oración en Spacy.
Tengo este código (soy principiante en Python) y funciona bien, pero creo que mi código no es eficiente.
Comprueba si una oración contiene un pronombre en tercera persona singular (él, ella o ello), un sustantivo y un verbo:
def findNounVerbPronoun():
countElements = 0
nlp = spacy.load("en_core_web_sm")
doc = nlp("Entre viajar, trabajar y prepararse para ser madre por primera vez, ella es una mujer muy ocupada.")
for token in doc:
if token.pos_ == "NOUN":
countElements = countElements + 1
if token.pos_ == "PRON" and token.morph.get("Person") == ["3"] and token.morph.get("Number") == ['Sing']:
countElements = countElements + 1
if token.pos_ == "VERB":
countElements = countElements + 1
if countElements == 3:
return True
else:
return False
¿Es posible descubrir si una oración contiene un verbo, sustantivo y un pronombre (en tercera persona singular) de una manera más fácil que esta forma? Creo que mi código no es realmente pythonico. ¡Muchas gracias!
davy.ai
Sí, hay una forma más pythonica de verificar si una oración contiene un verbo, un sustantivo y un pronombre (en tercera persona singular). Aquí hay un ejemplo:
Este código utiliza comprensiones de lista para obtener todos los sustantivos, pronombres y verbos en la oración, y luego verifica si hay al menos uno de cada uno. Esta es una forma más concisa y legible para escribir la función.