Python3
200 subscribers
100 photos
6 videos
26 files
518 links
🎓 آموزش و پروژه‌های Python
آموزش‌های کاربردی و پروژه‌های عملی Python برای همه سطوح. 🚀
Download Telegram
📚 آموزش جامع کتابخانه Spacy در پایتون 🐍

سلام دوستان! امروز می‌خواهیم درباره‌ی یکی از کتابخانه‌های قدرتمند پردازش زبان طبیعی (NLP) در پایتون به نام Spacy صحبت کنیم. این کتابخانه ابزارهای متعددی برای کار با متن و تجزیه و تحلیل زبان طبیعی فراهم می‌کند. بیایید با هم یاد بگیریم! 🚀

1. نصب Spacy 📦

ابتدا باید کتابخانه Spacy را نصب کنیم. برای این کار از دستور زیر استفاده کنید:

pip install spacy

2. دانلود مدل زبانی 🗣️

Spacy برای پردازش زبان نیاز به مدل‌های زبانی دارد. برای مثال، برای زبان انگلیسی از مدل زیر استفاده می‌کنیم:

python -m spacy download en_core_web_sm

3. شروع کار با Spacy 🌟

پس از نصب Spacy و دانلود مدل زبانی، می‌توانیم کار خود را آغاز کنیم. ابتدا کتابخانه را وارد کرده و مدل زبانی را بارگذاری می‌کنیم:

import spacy

# بارگذاری مدل زبانی انگلیسی
nlp = spacy.load("en_core_web_sm")

4. پردازش متن 📝

حالا می‌توانیم متنی را با استفاده از مدل زبانی پردازش کنیم:

text = "Apple is looking at buying U.K. startup for $1 billion"
doc = nlp(text)

📌 توضیح:
- text متنی است که می‌خواهیم پردازش کنیم.
- doc شیء‌ای است که متن پردازش شده را در بر می‌گیرد.

5. استخراج اطلاعات 📊

می‌توانیم اطلاعات مختلفی را از متن استخراج کنیم، مثل کلمات، ریشه کلمات، برچسب‌های دستوری و موجودیت‌های نام‌دار:

5.1. استخراج کلمات و برچسب‌های دستوری

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

📌 توضیح:
- token.text کلمه را نمایش می‌دهد.
- token.pos_ برچسب دستوری کلمه را نمایش می‌دهد.
- token.dep_ وابستگی نحوی کلمه را نمایش می‌دهد.

5.2. استخراج موجودیت‌های نام‌دار

for ent in doc.ents:
print(ent.text, ent.label_)

📌 توضیح:
- ent.text موجودیت نام‌دار را نمایش می‌دهد.
- ent.label_ نوع موجودیت را نمایش می‌دهد.

6. توکنیزه کردن متن 🍰

توکنیزه کردن یعنی شکستن متن به واحدهای کوچکتر (کلمات و جملات). Spacy این کار را به سادگی انجام می‌دهد:

for token in doc:
print(token.text)

📌 توضیح:
- این کد هر کلمه (توکن) در متن را نمایش می‌دهد.

7. Lemmatization (ریشه‌یابی) 🌱

ریشه‌یابی یعنی تبدیل کلمات به شکل پایه‌شان. برای مثال، تبدیل running به run:

for token in doc:
print(token.text, token.lemma_)

📌 توضیح:
- token.lemma_ ریشه کلمه را نمایش می‌دهد.

8. تجزیه و تحلیل نحوی 🌐

Spacy می‌تواند ساختار نحوی جملات را تحلیل کند:

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

📌 توضیح:
- token.head.text کلمه ریشه در وابستگی نحوی را نمایش می‌دهد.
- token.dep_ نوع وابستگی نحوی را نمایش می‌دهد.

9. تشخیص موجودیت‌های نام‌دار 📍

موجودیت‌های نام‌دار شامل اسامی افراد، مکان‌ها، سازمان‌ها و ... می‌شوند. Spacy می‌تواند این موجودیت‌ها را شناسایی کند:

for ent in doc.ents:
print(ent.text, ent.label_, ent.start_char, ent.end_char)

📌 توضیح:
- ent.text موجودیت نام‌دار را نمایش می‌دهد.
- ent.label_ نوع موجودیت را نمایش می‌دهد.
- ent.start_char و ent.end_char مکان شروع و پایان موجودیت در متن را نمایش می‌دهند.

10. تفاوت توابع و کلاس‌ها 📚

توابع به ما کمک می‌کنند که بخش‌هایی از کد را جداگانه تعریف کرده و هر زمان که خواستیم، از آنها استفاده کنیم. اما کلاس‌ها مجموعه‌ای از داده‌ها و توابع مرتبط هستند که برای مدل‌سازی اشیاء واقعی و رفتارهای آنها استفاده می‌شوند.


امیدوارم این آموزش برای شما مفید بوده باشد! 🌟 حتماً تمرین کنید و سوالات خود را در کامنت‌ها بپرسید. موفق باشید!

🔗 [کانال تلگرام ما]

#پایتون #آموزش #Spacy #پردازش_زبان_طبیعی #NLP #برنامه‌نویسی #توسعه‌دهندگان #مبتدیان
👍4