بسم الله الرحمن الرحيم

تثبيت مكتبة SpaCy

تاريخ النشر : July 15, 2020

مكتبة SpaCy


لتثبيت المكتبة في بيئة التطوير Anaconda

conda install -c conda-forge spacy

لتنزيل ونسخ مدونة اللغة الانجليزية في بيئة التطوير

python -m spacy download en # default English model (~50MB)
مثال تطبيقي بإستخدام Spacy
import spacy
nlp =space.load('en_core_web_sm')

ولنسخة الكبيرة

python -m spacy download en_core_web_md # larger English model (~1GB)

مثال لتقطيع الكلمات الي tokens

doc=nlp(u'Tesla is looking at buying U.S. startup for 6$ million')


for token in doc:
     print(token.text, token.pos)
     print(token.text, token.pos_)
     print(token.text, token.pos_,token.dep_)
nlp.pipeline
nlp.pipe_names
doc2=nlp(u'Tesla is't looking into startups anymore. ')
for token indoc2
     print(token.text, token.pos_,token.dep_

doc2[0].pos_
doc= nlp(u'Apple to build a Hong kong factory for $6 million')

for entity in doc.ents:
   print(entity)
   print(entity.label_)
   print(str(spacy.explain(entity.label_)))
   print('\n')
doc=nlp (u'Autonomous cars shift insurance liability toward manufactures.')

for chunk in doc.noun_chunks:
     print(chunk)

مثال بالكود لعمل رسم توضيحي لترابط كلمات الجملة

from spacy import displacy

doc=nlp(u'Apple is going to build a U.K. factory for $6 million')

displacy.render(doc,style='dep',jupyter=True,options={'distance':110})

displacy.render(doc,style='ent',jupyter=True,)


displacy.serve(doc,style='dep')
doc = nlp(u"I am a runner running in a race because I love to run since I ran today")

for token in doc:
    print(token.text, '\t',token.pos_,token.lemma,token.lemma_)


def show_lemmas(text):
    for token in text:
        print(f'{token.text:{12} {token.pos_:{5}} {token.lemma_:{10}}')
print(nlp.Defaults.stop_words)
print(len(nlp.Defaults.stop_words)
nlp.vocab['is'].is_stop
nlp.Defaults.stop_words.add('btw')
nlp.vocab['btw'].is_stop=True
from spacy.matcher import PhraseMatcher
matcher=PhraseMatcher(nlp.vocab)

العودة إلي مكتبة SpaCy