Machine Learning Methods in Natural Language Processing
روشهای یادگیری ماشین در پردازش زبان طبیعی
نيمسال اول 1402-1401
معرفی
تعداد واحد: 3 پیشنیاز: آشنايي با زبانشناسي رايانشي
نوع : نظری
زمان و محل کلاس:
شنبه و دوشنبه، ساعت 10:00 الی 12:00 حضوری در دانشکده علوم و فنون نوین (دوشنبهها)
غیرحضوری در سامانه eLearn دانشگاه تهران (شنبهها)
مدرس: دکتر هادی ویسی، دانشکده علوم و فنون نوین، دانشگاه تهران (پست الکترونیکی: h.veisi@ut.ac.ir)
دستیار آموزشی: –
شرح درس
شرح درس در درس روشهای یادگیری ماشین در پردازش زبان طبیعی به مرور روشهای مختلف یادگیری ماشین در پردازش زبان طبیعی پرداخته میشود. در این درس ابتدا مفاهیم پایه یادگیری ماشین و آمار و احتمال (شامل نظریه اطلاعات و روشهای تخمین) بررسی شده، سپس روشهای استخراج ویژگی از متن در بستر مروری بر بازیابی اطلاعات و تشابهیابی در متن تشریح میشود؛ روشهای دستهبندی متون با روش بیز ساده ارائه میشود. سپس، مرور انواع شبکههای عصبی به ویژه شبکههای عمیق رایج در حوزه پردازش زبان ارائه میشوند. در ادامه، مدل مخفی مارکوف (HMM) و کاربرد آن در برچسپزنی پاره گفتار (POS Tagging) به همراه روشهای خوشهبندی بیان میشود.
در این درس، مطالب پوشش داده شده در قالب تمرینهای متناسب که عموماً به صورت عملی و پیادهسازی است، ارزیابی میشوند.
منابع
1. هادي ويسي، مصطفی صالحی، وحید رنجبر، الما جعفری صدر، فرنار صادقی، محمد بحرانی، پردازش زبان و گفتار، انتشارات نویسه پارسی، زمستان 1400 (ترجمه کتاب Daniel Jurafsky, James Martin, Speech and Language Processing, 2nd Edition, Prentice Hall, 2009)
2. Christopher Bishop, Pattern Recognition and Machine Learning, Springer, 2006
3. Raschka, Sebastian. Python machine learning. Packt Publishing Ltd, 2015.
4. هادي ويسي، كبري مفاخري، سعيد باقري شورکي، مباني شبكه هاي عصبي: معماري، الگوريتمها و كاربردها، انتشارات نص، چاپ پنجم، زمستان 1399.
5. مهرنوش شمسفرد، محمود بیجنخان، پردازش متن و گفتار فارسی: مروری بر مبانی نظری و آخرین یافتههای پژوهشی، انتشارات سمت، اردیبهشت 1401.
6. Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning, MIT Press, 2016.
Slides Download Links
معرفی درس
مقدمهای بر یادگیری ماشین
مروری بر آمار و تخمین
دستهبندی متون
تشابهیابی و بازیابی اطلاعات
شبکه عصبی مصنوعی (جلورو)
شبکه عصبی مصنوعی (بازگشتی)
Scores
Dear students, by having your student number, you can see the grades related to your homework and midterm exam.
Attempts have been made to calculate the scores with the utmost accuracy and fairness.
To view each section, click on its title, then Download.
نمرهدهی
توضیح |
وزن |
عنوان |
بعد از هر موضوع (وزن تمرینها برابر نیست) | 50% | تمرین |
ممکن است بدون اعلام قبلی باشد |
5% |
آزمونک (کویز) |
دوشنبه 30/08/1401 ساعت 10:00 (حضوری) |
20% | امتحان میانترم |
از کل مطالب درس، مطابق برنامه دانشگاه | 25% | امتحان پایانترم |
موضوع اختیاری، مرتبط با مطالب درس |
10% | پروژه |
پاسخ دادن به سوالات حین تدریس و مشارکت در بحثهای کلاس | 5% | حضور و مشارکت کلاس (نمره اضافی) |
همانطور که مشخص است، بخش عمده نمره به تمرینها و پروژه اختصاص داده شده است، لذا جهت موفقیت، همراهی دانشجو در طول ترم و یادگیری مستمر با انجام به موقع تمرینها، لازم است.
سیاستهای درس
1. تمرین: برای هر بخش (موضوع)، تعدادی تمرین در نظر گرفته شده است که باید در مهلتهای مقرر شده تحویل شود. همفکری و همکاری در یافتن پاسخ سوالها نه تنها بلامانع است، بلکه مورد حمایت نیز است، اما پاسخ هر دانشجو باید توسط خودش و به صورت مستقل نوشته شود و در صورتی که کپی بودن یکی یا چند مورد از پاسخ سوالهای یک تمرین مشخص شود، کل نمره آن تمرین برای همه طرفین کپیبرداری در نظر گرفته نمیشود.
تمرینهای دارای پیادهسازی، باید هم شامل کدها و هم شامل گزارش مربوطه باشد (ارسال گزارش یا کد به تنهایی، شامل نمره نمیشود).
ارسال پاسخ تمرینها: تنها به صورت الکترونیکی و به ایمیل استاد درس است (ارسال به دستیار آموزشی لازم نیست). تحویل کاغذی نیاز نیست و در صورت نوشتن پاسخ تمرینهای حلشدنی روی کاغذ، تصویر آن را ارسال کنید. همه مطالب و فایلهای مرتبط با یک تمرین (کدها، گزارش، منابع و …) را در یک فایل فشرده شده ارسال کنید. فرمت نامگذاری فایل ارسالی به صورت زیر است (لطفا از ارسال فایل با اسمهایی مانند New Folder.rar یا HW.rar خودداری کنید):
ML4NLP_Family_StNo_HW#.rar
که در آن Family بیانگر نامخانودگی دانشجو، StNo شماره دانشجویی و # شماره تمرین است. مثلا پاسخ تمرین شماره 1 توسط آقای/خانم احمدی با شماره دانشجویی 830496001 به صورت ML4NLP_Ahmadi_830496001_HW1.rar است.
تاخیر در تحویل: تحویل به موقع پاسخ تمرینها از موارد ضرروی است و پاسخها باید حداکثر تا ساعت 23:59 تاریخ تعیین شده ارسال شود. در صورت داشتن تاخیر در ارسال پاسخها، به ازای هر یک ساعت تاخیر (از یک ثانیه تا 60 دقیقه!) به میزان 1% از نمره آن کسر میشود.
2. آزمونک (کویز): از مطالب هر بخش، یکی یا دو سوال به صورت امتحان کوتاه (کویز) برگزار میشود که برگزاری آن ممکن است بدون اطلاع قبلی باشد. این آزمونها در کلاس و به صورت حضوری است.
3. امتحان میانترم و پایانترم: امتحان میانترم در تاریخ بیان شده و شامل کلیه مطالب تدریس شده تا آن تاریخ است و به صورت حضوری برگزار میشود. امتحان پایانترم شامل کلیه مطالب تدریس شده (از جمله مطالب پوشش داده شده در میان ترم) است.
4. پروژه: : برای درس، هر دانشجو میتواند (به صورت اختیاری) یک پروژه کاربردی جهت پیادهسازی انتخاب کرده و آن را در MATLAB/Python (یا سایر زبانهای برنامهنویسی) پیاده کند. پروژه حتما باید دارای پیادهسازی باشد و کار مطالعاتی به تنهایی پروژه محسوب نمیشود. در پروژه نیاز به نوآوری نیست و انجام یک کار مشابه آنچه که قبلا در یک مقاله یا پایاننامه انجام شده است، مورد قبول است. دانشجویانی که علاقمند به انجام پروژه هستند باید تا تاریخ اعلام شده موضوع پروژه خود را اعلام کرده باشند؛ اعلام موضوع پس از آن مورد پذیرش نخواهد بود و به معنای عدم انجام پروژه است. در زمان تحویل پروژه، علاوهبر کد برنامه، گزارش مکتوبی (به صورت تایپ شده) از دانشجویان تحویل گرفته میشود که باید شامل نتایج بدست آمده و تحلیلهای مربوطه باشد. هر دانشجو میتواند با هماهنگی استاد موضوع خود را انتخاب کرده و در طول ترم اعلام نماید. موضوع پروژه الزاما باید مرتبط با مطالب درس باشد. نمره این بخش برای دانشجویان به صورت نمره مازاد در نظر گرفته میشود.
موضوع پروژه الزاما باید در راستای بحث یادگیری ماشین باشد. برخی از موضوعهای پیشنهادی برای پروژه در زیر آورده شده است. الزامی نیست موضوع پروژه حتما از عنوانهای زیر باشد:
• تشابهیابی متن با استفاده از نمایشهای مبتنی بر یادگیری عمیق (مانند Bert)
• تشخیص احساس در متن با استفاده از یادگیری عمیق
• دستهبندی/خوشهبندی معنایی کلمات در یادگیری عمیق
• تشخیص گفتار برای تعداد کلمات محدود
• تبدیل متن به گفتار با استفاده از شبکههای عمیق مانند مبدلها یا GAN
• تولید خودکار متن (مانند متن یا شعر) با شبکههای عصبی عمیق
5. حضور و مشارکت: با توجه به غیرحضوری بودن برخی کلاسها و عدمتمرکز برخی از دانشجویان (علیرغم حضور ظاهری در جلسه)، و همچنین به منظور تشویق به حضور فعال و مشارکت در بحثها و پاسخدهی به سوالات دانشجویان در کلاس (حضوری و غیرحضوری)، این نمره در نظر گرفته شده است. این مساله در جلسات کلاس بررسی شده و جمع حضور فعال و مشارکت افراد در کلاس به عنوان نمره این شاخص در نظر گرفته میشود. این نمره مازاد بر 20 نمره استاندارد کلاس است.
6. بازنگری نمرهها و برگهها: دانشجویانی که درخواست دارند هر کدام از نمرات آنها بازنگری شود و یا برگههای آزمونهای خود را ببینند، در تاریخی که برای تحویل پروژه درس اعلام میشود (هفته بعد از آخرین امتحان پایانترم)، میتوانند این کار را انجام دهند. رسیدگی به همه موارد فقط در این تاریخ انجام میشود.
7. تقلب و کپیبرداری: هدف درس تمرین و یادگیری مطالب موردنظر توسط دانشجو در طول ترم است و لازم است تمام مطالب مربوط به تمرینها توسط خود دانشجو انجام شود. هرچند همکاری و همفکری دانشجویان در حل مسائل درس توصیه میشود، اما پاسخ نهایی سوالها باید توسط هر دانشجو به صورت مستقل نوشته شود. در صورتی که در هر شرایطی مشخص شود که تمام یا بخشی از مطالب توسط دانشجو آماده نشده و کپیبرداری مستقیم و بدون مرجع بوده است، تقلب تلقی شده و مطابق قوانین انضباطی دانشگاه با آن رفتار میشود.
سیلابس درس
- • مروری بر مفاهیم و اصول یادگیری ماشین
- • مروری بر مبانی آمار و احتمال
o احتمال (توام، شرطی)، امید ریاضی
o قانون بیز
o متغیر تصادفی
o توابع توزیع - • مروری بر نظریه اطلاعات و آنتروپی
- • مروری بر روشهای تخمین
o کمینه میانگین مربعات خطا (MMSE)
o تخمین بیشینه شباهت (MLE)
o تخمین بیز (Bayesian) - • بازیابی اطلاعات و تشابهیابی متون
o تبدیل متن به بردار ویژگی - • دستهبندی متون با روش بیز (ساده)
- • شبکه عصبی مصنوعی
o مبانی و مفاهیم
o شبکه عصبی پرسپترون
o شبکه عصبی پرسپترون چندلایه (MLP)
نمایش کلمات/جمله/سند با بردار کلمات (Word2Vec)
o شبکههای عصبی عمیق: مروری بر مبانی و روشهای رایج
شبکه خودرمزگذار
شبکه عصبی پیچشی (CNN)
شبکه مولد مقابلهای (GAN)
o شبکههای عصبی بازگشتی (RNN)
شبکه حافظه کوتاه مدت ماندگار (LSTM)
مفهوم توجه (Attention)
o شبکههای عصبی مبدل (Transformer) و Bert - • مدل مخفی مارکوف (HMM)
o کاربرد در برچسپزنی اجزای کلام (POS: Part-of-Speech tagging)
o کاربرد در تشخیص گفتار (Speech Recognition) - • روشهای خوشهبندی
o روش k-میانگین
o الگوریتم امید-بیشینه (EM)