لتثبيت المكتبة في بيئة التطوير Anaconda
conda install -c conda-forge spacy
لتنزيل ونسخ مدونة اللغة الانجليزية في بيئة التطوير
python -m spacy download en # default English model (~50MB)
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)