Ich habe ein Beispiel für Parsing auf der Spacy Website https://spacy.io/docs/usage/dependency-parse versucht, aber meine Ergebnisse sind nicht das gleiche wie auf der Website gezeigt, und meine Ergebnisse erscheinen inkorrekt. Ich verwende spacy Version 1.9.0, Modell en_core_web_md und Python Version 3.5.2. Das Beispiel wird im Folgenden wiedergegeben:SpaCy Ergebnisse nicht übereinstimmende Dokumentation
from spacy.symbols import nsubj
doc = nlp(u'Credit and mortgage account holders must submit their requests.')
holders = doc[4]
span = doc[holders.left_edge.i : holders.right_edge.i + 1]
span.merge()
Der Ausgang des span.merge() wird
holders
Dann mit dem Beispiel fort:
for word in doc:
print(word.text, word.pos_, word.dep_, word.head.text)
Und der Ausgang ist
Credit NOUN npadvmod submit
and CCONJ cc Credit
mortgage NOUN compound account
account NOUN conj Credit
holders NOUN nsubj submit
must VERB aux submit
submit VERB ROOT submit
their ADJ poss requests
requests NOUN dobj submit
. PUNCT punct submit
Allerdings die Website demonstrieren sa verschiedene Ausgabe:
# Credit and mortgage account holders nsubj NOUN submit
# must VERB aux submit
# submit VERB ROOT submit
# their DET det requests
# requests NOUN dobj submit
In dem erwarteten Ergebnis holders.lefts.i und holders.rights.i sind nicht identisch, so dass span.merge uns gibt einen Satz
Ferner ich das Nomen drucken Stücke des ursprünglichen Doc-Objekt:
doc = nlp(u'Credit and mortgage account holders must submit their requests.')
for nchunk in list(doc.noun_chunks):
print(nchunk)
die
holders
their requests
ich bin brandneue spacigen gibt und NLP. Bitte entschuldigen Sie, wenn ich etwas Offensichtliches verpasst habe.
Wenn Sie meinen, dass es verschiedene Ergebnisse auf ihrer Demo gab, ist es möglich. Sie haben mehrere Versionen (obwohl ich nicht sicher bin, welche genau sie auf ihrer Website verwenden). – lazary