در این دوره چه مواردی آموزش داده میشود؟
در حدود 80 درصد از اطلاعات فعلی، بهصورت بدون ساختار است. این حجم عظیم اطلاعات، منبع غنی و ارزشمندی از حقایق پنهانی است که با تحلیل و تجزیه آن، هر کسب و کاری متحول خواهد شد. امروزه برای درک نظر مخاطب نیاز به مصاحبه و گفتگو نیست، کافی است نظرات کاربران خود را در شبکه های اجتماعی مختلف بررسی کنید.
ما در این دوره سعی کردیم یک دید خوب تئوری نسبت به پردازش زبان طبیعی داده شود البته از گفتن مباحث جزئی و حوصله سر بر جدا خودداری شده است. در ادامه تلاش شده مهارت برنامهنویسی تقویت بشود و فرد آماده پیادهسازی پروژهها شود.
البته در تمامی قسمتها دادههای استفاده شده، متون فارسی بوده و تلاش شده مهمترین چالشهای در محیط کار در کار با متون فارسی بررسی شوند. بخش اعظم دوره آموزش پیادهسازی پروژههای کاربردی و واقعی است.
چرا پایتون؟
واقعیت غیرقابلانکار موجود این است که زبان برنامهنویسی پایتون، مدتهاست گوی سبقت را در پردازش زبان طبیعی و حتی یادگیری عمیق و ماشین ربوده است. تقریباً برای هر کاری که به فکرمان برسد میتوان یک کتابخانه پایتونی پیدا کرد. حتی در برخی موارد برای بعضی کارها، چندین حق انتخاب داشته و مجبور به تصمیمگیری میشویم.
از سوی دیگر جایگزینهای پایتون محدود است. شاید جدیترین رقیب R باشد که پس از بررسی و استفاده نگارنده و مقایسه با پایتون، همچنان کیفیت و کارایی پایتون خودنمایی میکند.
از سوی دیگر امروز پایتون بهنوعی یک مهارت تا حدودی پایه و عمومی محسوب میشود که به افراد شاغل توصیه میشود شناخت اولیه و حداقلی نسبت به آن داشته باشند. خوشبختانه پایتون ساده و قابلفهم هست و یادگیری آن برای برخی لذتبخش است.
اهداف دوره
بعد از دیدن آموزشها، بهشرط تمرین مناسب (پروژه بهگونهای پیادهسازی شدهاند که امکان توسعه و گسترش دارند و هر فرد ابتدا باید منطق پروژه و کدها را با تمرین متوجه شود و سپس ایدههای جدید را به آن اضافه کند)، شما آمادگی کافی برای انجام پروژههای حوزه پردازش زبان طبیعی را پیدا خواهید کرد و با آرامش خاطر میتوانید برای یکی از جایگاههای شغلی درخواست دهید.
سرفصل مطالب
- مرور کلی دوره
- معرفی مدرس
- بررسی پیشنیازها
- معرفی و نصب ابزارهای لازم
در این فصل ابتدا سه مثال کاربردی در سه زمینه مختلف مربوط به پردازش زبان طبیعی توضیح داده میشود در ادامه به سؤالاتی مثل “مخاطب دوره کیست؟”، “پیشنیازهای لازم برای بهرهبرداری حداکثری از این دوره چیست” پاسخ میدهیم. سپس کمی در مورد پایتون صحبت کرده و دلایل انتخاب این زبان در این دوره، بررسی شده و در نهایت نحوه نصب پایتون آموزش داده میشود.
- معرفی متغیرها
- اعمال ریاضی
- معرفی حلقه و عبارات شرطی
- معرفی داده ساختارها (لیست، تاپل، دیکشنری)
- آموزش کار با فایل (text , pickle)
- آموزش فانکشن نویسی
- معرفی عبارات منظم (regex)
- کلاس چیست و آموزش مقدمات شی گرایی در پایتون
وقتی در یک پروژه واقعی با داده سرکار داشته باشیم (دادههایی از جنس تصویر، صوت یا متن و غیره) به دو ابزار احتیاج داریم. ابزار اول دانش اولیه نسبت به یک زبان برنامهنویسی و ابزار دوم آشنایی با مفاهیم مقدماتی حوزهای که قرار است در آن پروژه پیادهسازی شود.
در این فصل سعی شده مهمترین قابلیتهای پایتون به زبان ساده بیان شوند و از گفتن نکاتی که در آینده کاری احتمالاً مورداستفاده قرار نمیگیرند پرهیز شود. برای مثال فرض کنید در یک پروژه قرار است کدهای ملی افراد از متن خبرهای روزنامههای رسمی فارسی استخراج شوند، طبیعتاً یکی از بهترین روشها، استفاده از عبارات منظم است که در این فصل مفصلاً به آن پرداخته میشود یا مانند شکل زیر به کمک یک عبارت منظم ایمیلهای موجود در یک متن را استخراج میکنیم.
- معرفی و کار با پکیج numpy
- معرفی و کار با پکیج pandas
در حوزه یادگیری ماشین، یکی از دغدغههای جدی افزایش سرعت اجرای برنامههاست. اگر وظیفه بهبود کدهای یک برنامه برعهده شماست قطعاً استفاده از کتابخانهای مثل numpy راهحل کار شماست. pandas و numpy دو کتابخانه پایتونی هستند که یادگیریشان برای هر فرد فعال در حوزه یادگیری ماشین جز واجبات است. برای مثال گاهی فقط با استفاده از توابع آماده pandas بهجای استفاده از حلقه for چندین برابر میشود.
نکته: البته کتابخانههای مهم و کاربردی بیشتری وجود دارد که میتوانید آموزشهای مربوط به آن را در یوتیوب دیتاهاب مشاهده کنید.
- NLP چیست؟
- معرفی متدولوژی CRISP
- معرفی و نصب کتابخانه هضم
- معرفی و نصب کتابخانه Parsivar
- معرفی ابزار nltk
- معرفی Stemmer
- معرفی Lemmatizer
- معرفی NER
- Stop word چیست؟
- POS Tagger چیست؟
- Chunker و N-Gram چیست؟
در مواردی ممکن است برای حل یک مسئله در حوزه یادگیری ماشین گیج شده و تشخیص ندهید باید از کجا شروع کنید. استفاده از متدولوژی مثل CRISP کمک میکند شروع و پایان کار مشخص شده و بهنوعی کارها به زیر کارها تقسیم شوند. از طرفی فرض کنید در یک پروژه اضطراری باید نقش کلمات در جملات را استخراج کنید. در چنین شرایطی اگر برخی کتابخانههای معروف را شناخته و کار با آنها را بلد باشید بهسرعت میتوانید به یک دقت حداقلی رسیده و در آینده و با فراغبال، به افزایش دقت کار بپردازید.
تفاوت یک برنامهنویس که گاهی در زمینه پردازش زبان طبیعی پروژه انجام میدهد و کسی که تخصصی در این زمینه کار میکند، دانستن ادبیات اولیه پردازش زبان طبیعی است. مواردی که با دانستن آن هم در مصاحبههای شغلی موفقتر میشوید و هم میتوانید به کمک قدرت خلاقیت از این مفاهیم اولیه استفاده کرده و محصولات جدید و ترکیبی بسازید.
همیشه در بخش پیشپردازش به یاد جمله معروف میافتیم که اگر ورودی نامناسب به مدل ارسال شود، دریافت خروجی نامناسب اجتنابناپذیر هست. قطعاً پیشپردازش دادهها و متون مهمترین و پایهایترین کاری است که در تمامم پروژهها باید انجام دهیم. کافی است یکبار امتحان کرده و معجزه پیشپردازش مشاهده کنید.
البته پیشپردازشها برای زبانهای مختلف کمی متفاوت هستند مثلاً در زبان انگلیسی حروف کوچک و بزرگ وجود دارد ولی برای زبان شیرین فارسی چنین چیزی وجود ندارد. بههرحال هدف ما در این بخش بررسی دقیق پیشپردازشهای مخصوص زبان فارسی است.
- بردار چیست؟
- معرفی BOW
- معرفی TFIDF
- تبدیل متن به بردار
- شباهت کسینوسی
- پیادهسازی پروژه شباهتیابی جملات
پس از پیشپردازش مناسب متون، استخراج ویژگی شاکله اصلی پروژههایمان است. چون مدل درکی از کلمات ندارد باید کلمات به اعداد و بردار تبدیل شود. ولی سؤال مهم این است که چطور میتوان متون را به بردار عددی تبدیل کرد.
در پروژهای تعداد زیادی سند حقوقی به شما داده و باید سندهای با محتوای یکسان را تشخیص دهید. یک طرف دادههای اولیه یعنی سندها هستند و طرف دیگر الگوریتمها ولی سؤال اصلی این است که چگونه داده به فرمت خوانا تبدیل شوند که بتوان برای الگوریتم ارسالشان کرد. آیا میتوان دادهها را مستقیم به سمت الگوریتم فرستاده و انتظار خروج مناسب داشته باشیم. سؤال مهم دیگر نحوه پیشپردازش و تمیزکردن متون است.
- معرفی کتابخانههای bs4 و request
- تمیزکردن متون و حذف کلمات توقف
- محاسبه میزان اهمیت هر جمله در متن
- انتخاب جملات برگزیده
در یک پروژه باید اطلاعات یک صفحه وب را دریافت کرده و خلاصه از محتوای آن ارائه دهید. چالش اول نحوه کرال کردن صفحه وب است. پس از کرال، حال باید برای خلاصهسازی یک روش پیشنهاد داده و آن را پیادهسازی کنید. در این فصل ابتدا نحوه کرال یک صفحه وب آموزش داده میشود سپس یک روش برای خلاصهسازی متون پیشنهاد شده و پیادهسازی میشود.
در این پروژه هدف ارائه فرمولی برای محاسبه میزان ارزشمندی هر جمله بر اساس کلمات و میزان تکرار آن است. روش پرتکراری که در سطوح پیشرفته هم استفاده میشود ولی نحوه محاسبه امتیاز متفاوت خواهد بود.
- تمیزکردن متون و حذف کلمات توقف
- نرمال کردن متون
- تبدیل متن به بردار
- محاسبه اشتراک بین جملات
پروژه تشخیص کپی، چالشهای فراوانی دارد زیرا روشهای مختلفی برای کپیکردن وجود دارد. سادهترین مدل کپی، کپیکردن کل متن است. ولی گاهی متن عیناً کپی نمیشود و برخی کلمات حذف میشوند. گاهی از منابع مختلف متون ترکیب میشوند تا تشخیص کپی سخت شود. در برخی موارد متن کپی شده، برخی کلمات را حذف کرده و بهجای آن کلمات هم معنا میآورد و موارد متعدد دیگر.
همه اینها نشان میدهد پیادهسازی چنین پروژهای سخت بوده و برای رسیدن بهدقت بالا، موارد مختلف را در نظر گرفت.
توجه: انجام پروژههای پایه مثل تشخیص میزان کپی بودن متون، مثل سنگ بنایی است که به شما این امکان را میدهد در آینده طبقات بزرگ و پیشرفته احداث کنید و به سراغ پروژههای پیچیدهتر بروید.
- معرفی اجمالی الگوریتم kmeans
- معرفی Elbow Method
- دریافت و خواندن دادههای ورودی
- انجام پیشپردازشهای لازم و نرمال کردن متون
- پیادهسازی الگوریتم روی دادهها
- آزمایش مدل روی اخبار جدید
- ساخت ابر کلمات برای هر خوشه
- نمایش نمودار دایرهای برای هر خوشه
تشخیص موضوع یک متن همیشه یک فعالیت پرکاربرد در پردازش زبان طبیعی است. این متن خواه خبر، کتاب، مقاله یا موارد دیگر باشد. در این فصل ابتدا دادههای یکی از سایتهای خبری را تمیزسازی کرده و سپس برای تشخیص موضوع هر خبر، از روش خوشهبندی استفاده میکنیم. در بحث خوشهبندی، روشهای متعددی وجود دارد یعنی بعد از تبدیل جملات به بردارهای عددی، دستمان باز است که از تمامی الگوریتمهای خوشهبندی مثل kmeans یا dbscan استفاده کنیم.
- معرفی اجمالی الگوریتم SVM
- معرفی اجمالی الگوریتم Decision Tree
- معرفی اجمالی الگوریتم Random Forest
- آشنایی با JSON
- بررسی Confusion Matrix
- ساخت و آموزش مدل
- بررسی دقت مدل
در یک پروژه نظرات کاربران یک سایت در اختیار شما قرار میگیرد و از شما میخواهند بهصورت خودکار نظرات مثبت از نظرات منفی جدا شوند. وقتی هدف تشخیص مثبت یا منفی بودن یک نوشته باشد (یک جمله، پاراگراف یا یک متن طولانی) باید به سراغ تحلیل عواطف برویم.
تحلیل عواطف از پرکاربردترین فعالیتهای حوزه پردازش زبان طبیعی است که در این فصل یک پروژه واقعی در همین زمینه پیادهسازی میشود. البته نباید انتظار نتایج فضایی داشت چون بهجرئت میتوان گفت از جمله سختترین پدیدهها، تشخیص حس و نیت یک فرد از گفتن یا نوشتن یک متن است. انسانها پیچیده بوده و این پیچیدگی به ساحت زبان و متن هم وارد شده و کار مدلها در تشخیص قطبیت متون سختتر میکند. مثلاً تصور کنید فردی که جمله مثبتی را با کنایه بیان کند و هم انسان و هم مدل را گیج کند.
- معرفی سیستمهای توصیه دهنده
- معرفی Matrix Factorization
- معرفی اجمالی SVD
- پیادهسازی مدل
- بررسی عملکرد برنامه روی برخی دادههای تستی
- نصب Sql Server
- اجرای کد پایتون در Sql Server
- نصب pyodbc
- اتصال Jupyter Notebook و Sql Server
- آموزش کار با vscode
یک فروشگاه آنلاین، دادههای خود را در یک پایگاهداده Sql Server ذخیره میکند. از شما میخواهد از راه دور به آن متصل شده و روی دادههای جداول آن تحلیل داده انجام دهید. در این فصل به کمک پکیج pyodbc این سناریو عملی میکنیم.
بعد از مدتی به دلایلی تصمیم عوض شده و دسترسی از راه دور به پایگاهداده بسته میشود. حالا باید تمام عملیات تحلیل داده در خود Sql Server انجام شود.
سناریو دوم نیز در این فصل پیادهسازی میشود.
پیشنیازهای دوره آموزشی پردازش زبان طبیعی
برای بهرهمندی حداکثری از این دوره آموزشی، بهتر است پیشنیاز آن یعنی دانش برنامهنویسی و پایتون را کسب کنید که برای یادگیری آن، دوره رایگان در سایت موجود است. پس توصیه میشود ابتدا دوره رایگان برنامهنویسی پایتون را مشاهده کرده و سپس به سراغ این دوره بیایید.
نکته: اگر برای انجام پروژه ها، داده احتیاج داشتید حتما به کانال تلگرامی ما مراجعه کنید.
درخواست مشاوره
برای کسب اطلاعات بیشتر درباره این دوره درخواست مشاوره خود را ارسال کنید و یا با ما در تماس باشید.
درخواست مشاورهدوره های مرتبط
دوره آموزش Seaborn به زبان ساده
در دوره Seaborn چه مواردی آموزش داده میشود؟ در دوره Seaborn به سراغ مبحث مهم بصریسازی (Visualization) در پایتون میرویم.…
دوره آموزشی رایگان کتابخانه Pandas
در دوره Pandas چه مواردی آموزش داده میشود؟ اگر بخواهیم مهمترین پیشنیازها برای کار با داده را ذکر کنیم قطعاً…
آموزش متن کاوی فارسی به کمک شبکههای عصبی
یادگیری ماشین
در این دوره آموزشی نگاهی متفاوت به یادگیری ماشین خواهیم داشت تا قدم اول در حوزه علوم داده محکم و استوار باشد.
chat_bubble_outlineنظرات
600,000 تومان قیمت اصلی 600,000 تومان بود.500,000 تومانقیمت فعلی 500,000 تومان است.
محمد دهقانی
موسس دیتاهابفعال حوزه داده
قوانین ثبت دیدگاه