Je suis plutôt nouveau sur python (en utilisant python 3) et spacy (et aussi en programmation). S'il vous plaît, supportez avec moi.Séquenceur de phrases et analyseur de dépendances
J'ai trois questions où deux sont plus ou moins les mêmes, je ne peux pas le faire fonctionner. J'ai pris la "recherche spécifique à la syntaxe avec spacy" (example) et essayé de faire fonctionner différentes choses.
Mon programme se lit actuellement txt et l'extraction normale
if w.lower_ != 'music':
return False
de travaux.
Ma première question est: Comment puis-je obtenir spacy pour extraire deux mots? Par exemple: "musique classique" Avec l'extrait ci-dessus mentionné, je peux le faire extraire classique ou de la musique. Mais si je ne recherche que l'un des mots, je reçois aussi des résultats que je ne veux pas.
classique - période/ère
Ou quand je regarde la musique que
Musique - baroque, moderne
La deuxième question est: Comment puis-je obtenir les dépendances au travail?
La dépendance exemple avec:
elif w.dep_ != 'nsubj': # Is it the subject of a verb?
return False
fonctionne très bien. Mais tout ce que j'ai essayé ne marche pas vraiment. Par exemple, je veux extraire des phrases avec le mot «anniversaire» et la dépendance «DATE». (Si la dépendance est une entité)
Je suis
if d.ent_type_ != ‘DATE’:
return False
Pour.
Il serait maintenant ressembler à:
def extract_information(w,d):
if w.lower_ != ‘birthday’:
return False
elif d.ent_type_ != ‘DATE’:
return False
else:
return True
Est-ce que quelque chose comme ça même travail? Si cela fonctionne la troisième question serait comment je peux filtrer des phrases par exemple avec une date. Donc si la phrase contient un certain mot et une DATE l'excluent. Dernière chose peut-être, j'ai lu quelque part que les dépendances sont basées sur le "Stanford typed dependencies manual". Existe-t-il une liste de ces dépendances fonctionnant avec spacy?
Nous vous remercions de votre patience et votre aide :)
je vous remercie pour l'aide rapide que j'ai maintenant eu le temps de le tester. Le visualisateur de displacy était un bon pourboire qui m'a montré que ma compréhension d'une phrase n'est pas comme les spacys :) J'ai essayé vos méthodes et elles fonctionnent toutes seules. ce qui signifie: je ne peux pas les amener à travailler dans mon programme (désolé) la commande DATE malheureusement ne se connecte pas à l'instruction précédente donc à la place il me liste toutes les dates trouvées. Savez-vous comment résoudre ce problème? Deuxièmement, ma commande d'impression est 'pour mot dans document_read: si extract_information (mot): print (' '. Join (w.string pour w dans word.head.subtree) .strip())' – My3vilMe
et j'obtiens l'erreur message 'extract_information() missing 1 argument positionnel requis'. compréhensible parce que nous avons utilisé i comme deuxième argument. mais si j'inclus le i -> 'extract_information (mot, je)' je reçois le message d'erreur 'nom' je 'n'est pas défini' aussi compréhensible mais je ne sais pas comment le définir et l'inclure dans le 'print ('' .join (w.string pour w dans word.head.subtree) .strip() '. Je suis actuellement en train d'essayer de le réparer, donc je vais mettre à jour si je l'ai obtenu par moi-même merci encore – My3vilMe
@ My3vilMe pourrait Vous partagez/expliquez tout le processus que vous essayez d'atteindre? J'ai de la difficulté à comprendre ce que vous cherchez dans les deux commentaires ci-dessus, et peut-être aussi fournir un exemple indiquant votre résultat souhaité pour un exemple de phrase. – Albert