📚 آموزش جامع کتابخانه Spacy در پایتون 🐍
سلام دوستان! امروز میخواهیم دربارهی یکی از کتابخانههای قدرتمند پردازش زبان طبیعی (NLP) در پایتون به نام Spacy صحبت کنیم. این کتابخانه ابزارهای متعددی برای کار با متن و تجزیه و تحلیل زبان طبیعی فراهم میکند. بیایید با هم یاد بگیریم! 🚀
1. نصب Spacy 📦
ابتدا باید کتابخانه Spacy را نصب کنیم. برای این کار از دستور زیر استفاده کنید:
2. دانلود مدل زبانی 🗣️
Spacy برای پردازش زبان نیاز به مدلهای زبانی دارد. برای مثال، برای زبان انگلیسی از مدل زیر استفاده میکنیم:
3. شروع کار با Spacy 🌟
پس از نصب Spacy و دانلود مدل زبانی، میتوانیم کار خود را آغاز کنیم. ابتدا کتابخانه را وارد کرده و مدل زبانی را بارگذاری میکنیم:
4. پردازش متن 📝
حالا میتوانیم متنی را با استفاده از مدل زبانی پردازش کنیم:
📌 توضیح:
-
-
5. استخراج اطلاعات 📊
میتوانیم اطلاعات مختلفی را از متن استخراج کنیم، مثل کلمات، ریشه کلمات، برچسبهای دستوری و موجودیتهای نامدار:
5.1. استخراج کلمات و برچسبهای دستوری
📌 توضیح:
-
-
-
5.2. استخراج موجودیتهای نامدار
📌 توضیح:
-
-
6. توکنیزه کردن متن 🍰
توکنیزه کردن یعنی شکستن متن به واحدهای کوچکتر (کلمات و جملات). Spacy این کار را به سادگی انجام میدهد:
📌 توضیح:
- این کد هر کلمه (توکن) در متن را نمایش میدهد.
7. Lemmatization (ریشهیابی) 🌱
ریشهیابی یعنی تبدیل کلمات به شکل پایهشان. برای مثال، تبدیل
📌 توضیح:
-
8. تجزیه و تحلیل نحوی 🌐
Spacy میتواند ساختار نحوی جملات را تحلیل کند:
📌 توضیح:
-
-
9. تشخیص موجودیتهای نامدار 📍
موجودیتهای نامدار شامل اسامی افراد، مکانها، سازمانها و ... میشوند. Spacy میتواند این موجودیتها را شناسایی کند:
📌 توضیح:
-
-
-
10. تفاوت توابع و کلاسها 📚
توابع به ما کمک میکنند که بخشهایی از کد را جداگانه تعریف کرده و هر زمان که خواستیم، از آنها استفاده کنیم. اما کلاسها مجموعهای از دادهها و توابع مرتبط هستند که برای مدلسازی اشیاء واقعی و رفتارهای آنها استفاده میشوند.
امیدوارم این آموزش برای شما مفید بوده باشد! 🌟 حتماً تمرین کنید و سوالات خود را در کامنتها بپرسید. موفق باشید!
🔗 [کانال تلگرام ما]
#پایتون #آموزش #Spacy #پردازش_زبان_طبیعی #NLP #برنامهنویسی #توسعهدهندگان #مبتدیان
سلام دوستان! امروز میخواهیم دربارهی یکی از کتابخانههای قدرتمند پردازش زبان طبیعی (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 #برنامهنویسی #توسعهدهندگان #مبتدیان
Telegram
Python3
🎓 آموزش و پروژههای Python
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
👍4