2017-09-06 12 views
1

私はSpacyウェブサイトhttps://spacy.io/docs/usage/dependency-parseで与えられた解析の例を試しましたが、私の結果はウェブサイトで示された結果と同じではなく、結果が正しく表示されません。私はspacyバージョン1.9.0、モデルen_core_web_mdとpythonバージョン3.5.2を使用しています。 SpaCyの結果がドキュメントと一致しません

holders 

は、次に例を続けると

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() 

span.merge()の出力である:

for word in doc: 
    print(word.text, word.pos_, word.dep_, word.head.text) 

および出力

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 
ある例を以下に再現されます

ただし、ウェブサイトではSA異なる出力:

# Credit and mortgage account holders nsubj NOUN submit 
# must VERB aux submit 
# submit VERB ROOT submit 
# their DET det requests 
# requests NOUN dobj submit 

期待される結果には、holders.lefts.iとholders.rights.iが同一でないことspan.mergeはさらに私たちフレーズ

を与えるので、私はnoun-を印刷オリジナルのDocオブジェクトの塊:

doc = nlp(u'Credit and mortgage account holders must submit their requests.') 
for nchunk in list(doc.noun_chunks): 
    print(nchunk) 

holders 
their requests 

を与え、私はスペイシーに真新しい午前NLP。明白な何かを忘れてしまったら、私を許してください。

+0

デモで異なる結果が得られた場合は、その可能性があります。彼らはいくつかのバージョンを持っています(私は彼らのサイトで正確にどちらが使用されているか分かりませんが)。 – lazary

答えて

0

モデル番号en_core_web_mdを解析用に使用しているため、違いがわかります。彼らのウェブサイトでは、依存解析の例として既定の英語モデル(en_core_web_sm)を使用しています。モデルの詳細なリストについてはthis linkを見てください。

SpaCy model releasesを参照することで、どのモデルを使用するかについて十分な情報を得ることができます。このリンクは、さまざまなモデルとNLPタスクのテストコーパスに関する正確な結果を提供します。

関連する問題