در دوره متن کاوی پیشرفته فارسی چه مواردی آموزش داده میشود
در شرایطی هستیم که روز به روز کاربردهای پردازش زبان طبیعی (متن کاوی) مثل ماشین ترجمه، دستیار صوتی و chat bot بیشتر میشود. این موج، فضای کسب و کار کشورهای مختلف از جمله ایران را نیز تحت تاثیر قرار داده است. این مساله باعث شده هر روزه تعداد آگهیهای مربوط به متن کاوی بیشتر شوند. پس یک موقعیت مناسب فراهم شده و کافی است مهارت خودمان را بالا ببریم و سپس به سراغ این موقعیتهای شغلی خوش درآمد برویم.
در این دوره با تکیه بر مفاهیم شبکه عصبی و شبکههای عمیق سعی شده پروژههای پیشرفته در زمینه NLP انجام شود. در این دوره ابتدا مفاهیم شبکه عصبی کاملا تدریس شده و سپس مثالهای متنوع و متعددی پیاده سازی میشوند. پس از مشاهده این دوره و تمرین فراوان، به راحتی میتوانید به عنوان یک کارشناس پردازش زبان طبیعی یا متن کاوی فعالیت رسمی خود را شروع کنید.
اهداف دوره
بعد از دیدن آموزشها، بهشرط تمرین مناسب (پروژه بهگونهای پیادهسازی شدهاند که امکان توسعه و گسترش دارند و هر فرد ابتدا باید منطق پروژه و کدها را با تمرین متوجه شود و سپس ایدههای جدید را به آن اضافه کند)، شما آمادگی کافی برای انجام پروژههای حوزه متن کاوی را پیدا خواهید کرد و با آرامش خاطر میتوانید برای یکی از جایگاههای شغلی درخواست دهید.
سرفصل مطالب
- مرور کلی دوره
- معرفی مدرس
- بررسی پیشنیازها
- معرفی ابزارهای پیشنیاز
- آموزش نصب پایتون و jupyter notebook و tensorflow
- آموزش کار با jupyter notebook
- آموزش کار با google coolab
در این فصل ابتدا تمام مثالهایی که در طول دوره پیادهسازی میشوند بهاختصار توضیح داده میشوند در ادامه به سؤالاتی مثل:
- “مخاطب دوره متن کاوی پیشرفته فارسی کیست”
- “پیشنیازهای لازم برای بهرهبرداری حداکثری از این دوره چیست”
- “در این دوره با چه ابزارهایی آشنا خواهیم شد”
پاسخ میدهیم. سپس ابزارهای پیشنیاز (پایتون، تنسورفلو و ژوپیتر) معرفی و نصب خواهند شد. در نهایت نحوه کار با jupyter notebook، google coolab آموزش داده میشود.
- آموزش کار با کتابخانه pandas
- آموزش کار با کتابخانه numpy
- آموزش کار با کتابخانه genism
- آموزش کار با کتابخانه keras
- آموزش کار با کتابخانه sklearn
- آموزش کار با کتابخانه tensorflow
در این قسمت، آموزش کار با مهم ترین پکیج های پایتون مثل:
- Pandas (برای کار با دیتافریم ها)
- Numpy (برای کار با آرایه ها)
- Keras (برای تعریف و پیاده سازی شبکه های عصبی)
- Sklearn (کتابخانه مخصوص یادگیری ماشین)
- Tensorflow (کتابخانه تخصصی برای تعریف مدلهای یادگیری عمیق)
- Genism (مخصوص Topic Modeling)
ارائه میشود. این پکیجها عمومی بوده و در پروژههای دیگر مثل کار با تصاویر نیز قابلاستفاده هستند.
نکته: برای متن کاوی باید به یکسری ابزار قدرتمند مجهز شوید.
- معرفی روش one hot coding
- معرفی مدل bag of word
- بررسی تفاوت one hot coding و bag of word
- بررسی معایب روش one hot coding
- بررسی روشهای جایگزین
وقتی موضوع پروژه متن کاوی باشد و دادهها از جنس متن باشند اولین مرحله تبدیل و نگاشت متن به ویژگی است. به عبارتی متون باید به فرمتی تبدیل شوند که بتوان بهعنوان ورودی به الگوریتمهای یادگیری ماشین ارسالشان کرد. در این بخش روش های مختلف Word Representation معرفی کرده و نقاط ضعف و قوت هرکدام نیز بررسی میشوند.
- Word Embbeding چیست؟
- بررسی مزایا استفاده از Word Embbeding
- بررسی کاربردهای Word Embbeding
- معرفی انواع Word Embbeding
در این بخش تمرکز اصلی روی Word Embbeding است. از مزایا و معایب آن خواهیم گفت و به یک سؤال مهم جواب میدهیم که چرا Word Embbeding در متن کاوی سریعاً جایگزین روشهای قبلی مثل bow شدند و کیفیت و عملکرد taskهای پردازش زبان طبیعی را تا این حد تحتتأثیر قرارداد.
- Language Modeling چیست؟
- بررسی کاربردهای Language Modeling
- بررسی ساختار Language Modeling
یکی از taskهای رایج پردازش زبان طبیعی مدلهای زبانی یا Language Modeling است که در بخشهای مختلف متن کاوی کاربرد دارد. برای مثال وقتی در حال ارسال پیامک هستید با تایپ کلمه اول و دوم، کلمه سوم را به شما پیشنهاد میدهد. یا در مثال دیگری دیوان اشعار یک شاعر را به مدل هوش مصنوعی داده و پس از train و آموزشهای لازم، مدل شروع به تولید اشعار جدید میکند (اشعاری که به سبک و سیاق شاعر باشد)
- بررسی تاریخچه word2vec
- بررسی ساختار word2vec
- معرفی Co-Occurrence Matrix
- معرفی انواع word2vec
- بررسی روش cbow
- بررسی روش skip-gram
- آموزش استفاده از word2vec روی دادههای دلخواه
- آموزش استفاده از pretrained word2vec
گوگل در سال 2013، برای تولید word embedding روش معروف word2vec معرفی کرد. در این قسمت، با ساختار word2vec و انواع آن آشنا میشویم. در ادامه word2vec روی متون فارسی اجرا کرده و در نهایت embedding space آن را رسم میکنیم. نتیجه بهصورت زیر است.
- بررسی تاریخچه Glove
- بررسی ساختار Glove
- آموزش پیشپردازش اولیه متون
- آموزش استفاده از Glove روی دادههای دلخواه و ذخیره مدل
- پیداکردن کلمات هم معنی
- محاسبه شباهت بین دوکلمه دلخواه
- آموزش استفاده از pretrained Glove
دانشگاه استنفورد مدل توسعهیافته word2vec یعنی Glove را ارائه داد. در این بخش، نقاط ضعف word2vec را بررسی میکنیم و راهحلهای Glove برای آن شرح داده میشود. در ادامه یک متن بزرگ فارسی را ابتدا تمیز کرده و سپس روی متن مدل Glove اجرا میکنیم. سپس مدل را ذخیره کرده و بردار کلمات را بررسی میکنیم. برای بررسی خروجی مدل بهترین راه، آنالوژی است مثلاً بین دوکلمه هم معنا میزان شباهت را بررسی کرده و اگر مقادیر به هم نزدیک بود یعنی خروجی مدل خوب است.
- بررسی تاریخچه FastText
- بررسی ساختار FastText
- آموزش استفاده از FastText روی دادههای دلخواه به کمک gensim و ذخیره مدل
- آموزش retrain کردن مدل قبلی با دادههای جدید
- آموزش استفاده از FastText Pretrained
- آموزش Visualize Word Embedding
فیسبوک برای تولید word emedding مدل FastText را ارائه داد. در این بخش ابتدا با ساختار FastText آشنا شده و سپس یک متن بزرگ فارسی را ابتدا تمیز کرده و سپس به کمک gensim روی متن مدل FastText اجرا میکنیم. سپس مدل را ذخیره کرده و بردار کلمات را بررسی میکنیم. در ادامه مهمترین توابع genism آموزش داده میشود.
- Perceptron چیست
- Multi Layer Perceptron
- Activation Function
- انواع Activation Function
- Loss Function & Cost Function
- انواع Loss Function
- Backpropagation
- Optimization Algorithm
- Gradient Descent
- Learning Rate
- Decay Rate
- Overfitting & Underfitting
- Dropout
- (L1 & L2) Weight Regularization
- Batch Normalization
- Transfer Learning
در دهه اخیر استفاده از شبکههای عصبی برای حل مسائل رشد چشمگیری داشت. برای سناریوهای مختلف مثل پردازش صوت، تصویر و متن معمولاً شبکه عصبی یکی از گزینههای جدی است و به همین دلیل دانستن مقدمات شبکه عصبی ضروری است. در این بخش سعی شده تا تمامی مفاهیم اصلی شبکه عصبی پوشش داده شود. مفاهیم به زبان ساده و در قالب مثال و تصویر بیان شدهاند. مطالب مطرح شده در این قسمت، عمومی بوده و برای کار با هر نوع دادهای قابلاستفاده هستند.
- Filters
- Pooling Layer
- Padding
- Flatten Layer
- Conv1D Layers
- Conv2D Layers
CNNها نوعی از شبکههای عصبی عمیق هستند که معمولاً برای انجام تحلیلهای تصویری یا گفتاری در یادگیری ماشین استفاده میشوند. یکی از مهم ترین کاربردهای آن استخراج ویژگی است. از قابلیتهای مهم CNNها کم کردن تعداد وزن هایی که در فرآیند train مورد استفاده هستند و همین موضوع باعث کاهش چشمگیر ظرفیت مدل شده است. در این بخش اجزای مختلف CNN معرفی شده و کارکرد هرکدام به تفصیل بیان می شود.
- Keras چیست؟
- بررسی انواع روشهای پیادهسازی شبکه عصبی
- Sequential Model چیست؟
- پیادهسازی یک مدل با ورودی چندگانه (Multiple Inputs)
- پیادهسازی یک مدل با خروجی چندگانه(Multiple Outputs)
- نمایش بصری معماری مدل به کمک plot_model
- پیادهسازی یک مثال تمرینی
کراس یکی از معروفترین ابزارهای تعریف و پیادهسازی مدلهای یادگیری عمیق است. در این بخش باقابلیتهای کراس آشنا میشویم. سپس روشهای مختلفی که به کمک کراس میتوان مدل تعریف کرد را بیان میکنیم. یکی از روشها، استفاده از Sequential Model است که از ویژگیهای آن سادگی است ولی برای پیادهسازی مدلهای ترکیبی ناتوان است. به همین دلیل در ادامه Keras Fuctional Api که روشی قدرتمند برای تعریف مدلهای پیچیده است را معرفی کرده و چند مثال تمرینی انجام میدهیم. مثالهایی که شامل چند ورودی و چند خروجی هستند. سپس گراف هر یک از مدلها را با plot_model ترسیم میکنیم.
- RNN
- Vanishing Gradient
- LSTM
- GRU
- Deep RNN
- Bidirectional RNN
شبکههای عصبی بازگشتی برای کار با دادههایی که ترتیب و توالی دارند معرفی شدند (مثل جملات که هر جمله شامل چند کلمه است که ترتیب کلمات مهم بوده و در محاسبات باید در نظر گرفته شود). در این بخش با انواع آنها آشنا شده و ساختار هرکدام بررسی میشوند.
- تعریف مسئله
- مدلسازی مسئله
- آشنایی با دادهها و تمیزسازی آن
- طراحی شبکه عمیق مناسب برای مسئله و آموزش آن
- آموزش استفاده از توابع Tensorflow
- طراحی و پیادهسازی مدل
- ذخیره مدل train شده
- نمایش و بررسی نمودار دقت در epochهای مختلف
- بررسی نتایج و کیفیت خروجی
در این قسمت پروژه تشخیص زبان متن را پیادهسازی میکنیم. هر متن با هر طولی بهعنوان ورودی ارسال شده و زبان آن تشخیص داده میشود. در ابتدا با دادهها آشنا شده و پیشپردازشهای لازم را انجام میدهیم. سپس یک شبکه عمیق مناسب طراحی و پیادهسازی میکنیم. در ادامه آموزش انتخاب تعداد epoch مناسب به کمک نمودار را خواهیم داشت و بعد از اتمام آموزش، وزنهای مدل را ذخیره میکنیم. از نکات قالب توجه این پروژه، دقت بالای مدل روی دادههای تست است.
- تعریف مساله
- مدلسازی مسئله آشنایی با دادهها و تمیزسازی آن
- پیادهسازی با LSTM
- پیادهسازی با LSTM With Dropout
- پیاده سازی با LSTM And CNN
- تحلیل خروجیهای هر سه مدلبالا
در یک پروژه نظرات کاربران یک سایت در اختیار شما قرار میگیرد و از شما میخواهند بهصورت خودکار نظرات مثبت از نظرات منفی جدا شوند. وقتی هدف تشخیص مثبت یا منفی بودن یک نوشته باشد (یک جمله، پاراگراف یا یک متن طولانی) باید به سراغ تحلیل عواطف برویم. تحلیل عواطف(sentiment analysis) از پرکاربردترین فعالیتهای حوزه پردازش زبان طبیعی است که در این قسمت سه پیادهسازی متفاوت خواهیم داشت. در نمودار زیر از epoch 2 به بعد شاهد overfitting هستیم.
- تعریف مسئله
- مدلسازی مسئله
- آشنایی با دادهها و تمیزسازی آن
- دو پیادهسازی متفاوت برای حل مسئله
- تحلیل خروجیها به کمک نمودار
در این بخش پروژه تشخیص ایمیلهای اسپم را پیادهسازی میکنیم. ابتدا با دادهها آشنا شده و پیشپردازشهای لازم را انجام میدهیم. سپس یک شبکه عمیق مناسب طراحی و پیادهسازی میکنیم. در ادامه یک شبکه دیگر طراحی شده و مساله به نحوی دیگر حل میکنیم با این هدف که نشان دهیم برای هر مسئله میتوان مدلهای متنوعی طراحی و پیادهسازی کرد و انتخاب آن تا حد زیادی تجربی است.
- تعریف مساله
- ایجاد Embedding Space
- نحوه ذخیره بردارهای کلمات
- نمایش نتایج به کمک TensorBoard
یکی از کارهای پایه و جذاب در پردازش زبان طبیعی تولید بردار کلمات و انجام عملیاتی مثل آنالوژی و خوشه بندی کلمات است. در این پروژه یک Fake Task تعریف کرده و از لایه یکی مانده به آخر آن، بردار کلمات را استخراج می کنیم و یک word embedding خواهیم داشت. در شکل زیر یک embedding space از کلمات را مشاهده می کنیم.
- Encoder Decoder
- Attention Mechanism
- Teacher Forcing
- Return sequence چیست
- Return state چیست
- تفاوت Return sequence و Return state
مدلهای seq2seq برای کار با دادههای از جنس sequence هستند که در این بخش مفصلاً موردبحث و بررسی قرار میگیرند. مدلهای Encoder &Decoder را بررسی میکنیم و چند مثال از دادههای از جنس sequence مثل جملات و بورس بیان میکنیم.
- تعریف مسئله
- مدلسازی مساله به کمک seq2seq
- آشنایی با داده ها و تمیزسازی آن
- آشنایی با توابع مهم تنسورفلو برای پیشپردازش دادهها
- طراحی و آموزش شبکه عمیق مناسب برای مسئله(Encoder & Decoder)
- استفاده از ModelCheckpoint برای ذخیرهسازی وزنها
یکی از کاربردهای مدلهای Text Generator ,seq2seq است. در این پروژه به کمک معماری Encoder & Decoder مسئله را مدلسازی کرده و سعی میکنیم در حین انجام پروژه کار با مهمترین توابع تنسورفلو 2 آموزش دهیم. خروجی کار تولید مصرعهایی مثل شکل زیر است که با یک دیتاست کوچک و در مدتزمان کوتاهی نتایج قابلقبول است.
- تعریف مسئله
- بررسی روشهای پیادهسازی ماشین ترجمه
- معرفی معیار Bleu برای ارزیابی کیفیت ترجمه
- آموزش استفاده از توابع آماده Bleu در nltk
- مدلسازی مسئله به کمک seq2seq
- چگونه به کمک نمودار توزیع کلمات،max-length مناسب پیدا کنیم
- آشنایی با دادهها و تمیزسازی آن
- طراحی و آموزش مدل seq2seq برای مسئله به کمک Teacher Forcing
یکی دیگر از کاربردهای مدلهای seq2seq در متن کاوی، ماشین ترجمه است. در این پروژه به کمک معماریEncoder& Decoder مسئله را مدلسازی کرده و متون انگلیسی را به فارسی ترجمه میکنیم. همچنین برای بررسی کیفیت خروجی از معیار bleu استفاده میکنیم.
- تعریف مسئله
- آشنایی با انواع روشهای پیادهسازی خلاصهساز متون
- مدلسازی مسئله به کمک seq2seq
- آشنایی با دادهها و تمیزسازی آن
- طراحی و آموزش مدل seq2seq
- تحلیل نتایج
یکی از چالشهای روزانه خواندن متون طولانی است. در این بخش پروژه خلاصهسازی متون را خواهیم داشت. ورودی یک متن بوده و خروجی درک مدل از متن ورودی در قالب جملات جدید است.
- NER چیست؟
- آشنایی با دادهها و تبدیل فرمت آنها
- پیداکردن max_length مناسب به کمک نمودار
- طراحی یک مدل Bidirectional LSTM
- معرفی لایههای SpatialDropout1D، Bidirectional، TimeDistributed
- CallBack چیست؟
- Early Stopping چیست؟
- آموزش استفاده از PlotLossesCallback
یکی از فعالیتهای پایهای در NLP تشخیص موجودیتهای نامدار است. در این پروژه هدف تشخیص برچسب کلمات است. ابتدا NER تعریف شده و سپس پیشپردازشهای لازم روی دادهها انجام میشود. در حین انجام پروژه برخی مفاهیم کلیدی مثل CallBack ،Early Stopping و SpatialDropout1D مطرح میشود. دقت خروجی 98 درصد بوده و برخی از نتایج در شکل زیر قابلمشاهده است.
پیشنیازهای دوره متن کاوی
برای بهرهمندی حداکثری از این دوره آموزشی، بهتر است پیشنیاز آن یعنی دانش برنامهنویسی و پایتون را کسب کنید که برای یادگیری آن، دوره رایگان در سایت موجود است. پس توصیه میشود ابتدا دوره رایگان برنامهنویسی پایتون را مشاهده کرده و سپس به سراغ این دوره بیایید.
همچنین حتما توصیه می شود قبل تماشای این دوره آموزش پردازش زبان طبیعی مقدماتی، تهیه کنید.
نکته: اگر برای انجام پروژه ها، داده احتیاج داشتید حتما به کانال تلگرامی ما مراجعه کنید.
درخواست مشاوره
برای کسب اطلاعات بیشتر درباره این دوره درخواست مشاوره خود را ارسال کنید و یا با ما در تماس باشید.
درخواست مشاورهدوره های مرتبط
دوره آموزش AutoEncoder در Tensorflow
در دوره آموزش کاهش نویز تصاویر با Tensorflow و Autoencoder چه مواردی آموزش داده میشود؟ در این آموزش یکی از…
آموزش پردازش زبان طبیعی مقدماتی
بعد از دیدن آموزش ها، به شرط تمرین مناسب، آمادگی کافی برای انجام پروژههای حوزه پردازش زبان طبیعی را پیدا خواهید کرد و با آرامش خاطر میتوانید برای یکی از جایگاههای شغلی پردازش زبان طبیعی درخواست دهید.
chat_bubble_outlineنظرات
1,000,000 تومان قیمت اصلی 1,000,000 تومان بود.900,000 تومانقیمت فعلی 900,000 تومان است.
محمد دهقانی
موسس دیتاهابفعال حوزه داده
قوانین ثبت دیدگاه