+98 21 8609-3065 h.veisi@ut.ac.ir

Machine Learning Methods in Natural Language Processing

روش‌های یادگیری ماشین در پردازش زبان طبیعی

نيم‌سال اول 1401-1400

معرفی

تعداد واحد: 3                                      پیش‌نیاز: آشنايي با زبان‌شناسي رايانشي

نوع : نظری

زمان و محل کلاس: شنبه و دو‌شنبه، ساعت 8:00 الی 9:30، دانشکده علوم و فنون نوین

مدرس: دکتر هادی ویسی، دانشکده علوم و فنون نوین، دانشگاه تهران (پست الکترونیکی: h.veisi@ut.ac.ir)

دستیار آموزشی: مهشید گنجه (mahshidga@gmail.com)

شرح درس

شرح درس در درس روش‌های یادگیری ماشین در پردازش زبان طبیعی به مرور روش‌های مختلف یادگیری ماشین در پردازش زبان طبیعی پرداخته می‌شود. در این درس ابتدا مفاهیم پایه یادگیری ماشین و آمار و احتمال (شامل نظریه اطلاعات و روش‌های تخمین) بررسی شده، سپس روش‌های استخراج ویژگی از متن در بستر مروری بر بازیابی اطلاعات و تشابه‌یابی در متن تشریح می‌شود؛ روش‌های دسته‌بندی متون با روش بیز ساده ارائه می‌شود. سپس، مرور انواع شبکه‌های عصبی به ویژه شبکه‌های عمیق رایج در حوزه پردازش زبان ارائه می‌شوند. در ادامه، مدل مخفی مارکوف (HMM) و کاربرد آن در برچسپ‏زنی پاره گفتار (POS Tagging) به همراه روش‌های خوشه‌بندی بیان می‌شود.
در این درس، مطالب پوشش داده شده در قالب تمرین‌های متناسب که عموماً به صورت عملی و پیاده‌سازی است، ارزیابی می‌شوند.

منابع

1. Christopher Bishop, Pattern Recognition and Machine Learning, Springer, 2006

2. Raschka, Sebastian. Python machine learning. Packt Publishing Ltd, 2015.

3. هادي ويسي، كبري مفاخري، سعيد باقري شورکي، مباني شبكه هاي عصبي: معماري، الگوريتم‌ها و كاربردها، انتشارات نص، چاپ پنجم، زمستان 1399

4. Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning, MIT Press, 2016.

5. هادي ويسي، مصطفی صالحی، وحید رنجبر، الما جعفری صدر، فرنار صادقی، محمد بحرانی، پردازش زبان و گفتار، انتشارات نویسه پارسی، پاییز 1400

(Daniel Jurafsky, James Martin, Speech and Language Processing, 2nd Edition, Prentice Hall, 2009.)

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.

All
Midterm
Project
Homework 3
Homework 2
Homework 1

نمره‌دهی

توضیح

وزن

عنوان

بعد از هر موضوع (وزن تمرین‌ها برابر نیست) 50% تمرین

به دلیل غیرحضوری کلاس‌ها بودن نداریم

آزمونک (کویز)

دوشنبه 1400/09/01 ساعت 8:00 15% امتحان میان‌ترم
از کل مطالب درس، مطابق برنامه دانشگاه 20% امتحان پایان‌ترم

موضوع اختیاری، تعیین موضوع تا شنبه  01/08/1400

تحویل پروژه: اولین هفته بعد از آخربن امتحان پایان‌ترم (دوشنبه 11/11/1400)

15% پروژه
پاسخ دادن به سوالات حین تدریس و مشارکت در بحث‌های کلاس 5% حضور و مشارکت کلاس (نمره اضافی)

مقاله ارسال شده به مجله/کنفرانس مورد قبول است

15%

مقاله (نمره اضافی)

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

سیاست‌های درس

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. پروژه: : برای این درس، هر دانشجو باید یک پروژه کاربردی جهت پیاده‌سازی انتخاب کرده و آن را در Python یا سایر زبان‌های برنامه‌نویسی، پیاده کند. علاوه‌بر کد برنامه، داده‌ها و یک گزارش مکتوب (به صورت تایپ شده) از دانشجویان تحویل گرفته می‌شود که باید شامل نتایج بدست آمده و تحلیل‌های مربوطه باشد. در صورت مساعد شدن شرایط کرونایی، تحویل پروژه‌ها به صورت حضوری است.

5. حضور و مشارکت: با توجه به غیرحضوری بودن کلاس‌ها و عدم تمرکز برخی از دانشجویان (علیرغم حضور ظاهری در جلسه)، نیاز است دانشجویان با استاد در حین تدریس برای مشارکت در بحث‌ها و پاسخ‌دهی به سوالات همراهی کنند. این موضوع هر جلسه بررسی شده و جمع حضور و مشارکت افراد در کلاس به عنوان نمره این شاخص در نظر گرفته می‌شود. این نمره مازاد بر 20 نمره استاندارد کلاس است.

6: مقاله: برای آن دسته از دانشجویانی که در موضوع‌های مرتبط با درس، به ویژه در پروژه، کار علمی مناسبی انجام داده و به نتایج قابل انتشاری دست یافته‌اند، می‌توانند آن را در قالب یک مقاله منتشر کنند. در این درس، نوشتن مقاله اجباری نیست و نمره آن مازاد بر نمره درس است. لذا از نظر سیاست‌های این درس، ننوشتن مقاله، بسیار پسندیده‌تر از نوشتن آن به هر قیمتی است! یادآوری می‌شود دانشجویانی که استاد راهنمای آنها مشخص شده است، لازم است همکاری با این درس در نوشتن مقاله را به اطلاع استاد خود برسانند.

7. بازنگری نمره‌ها و برگه‌ها: دانشجویانی که درخواست دارند هر کدام از نمرات آنها بازنگری شود و یا برگه‌های خود را ببینند، در زمان تحویل پروژه درس این کار را انجام دهند.

8. تقلب و کپی‌برداری: هدف درس تمرین و یادگیری مطالب موردنظر توسط دانشجو در طول ترم است و لازم است تمام مطالب مربوط به تمرین‌ها توسط خود دانشجو انجام شود. هرچند همکاری و همفکری دانشجویان در حل مسائل درس توصیه می‌شود، اما پاسخ نهایی سوال‌ها باید توسط هر دانشجو به صورت مستقل نوشته شود. در صورتی که در هر شرایطی مشخص شود که تمام یا بخشی از مطالب توسط دانشجو آماده نشده و کپی‌برداری مستقیم و بدون مرجع بوده است، تقلب تلقی شده و مطابق قوانین انضباطی دانشگاه با آن رفتار می‌شود.

سیلابس درس
    • مروری بر مفاهیم و اصول یادگیری ماشین
    • مروری بر مبانی آمار و احتمال
      • احتمال (توام، شرطی)، امید ریاضی
      • قانون بیز
      • متغیر تصادفی
      • توابع توزیع
    • مروری بر نظریه اطلاعات و آنتروپی
    • مروری بر روش‌های تخمین
      • کمینه میانگین مربعات خطا (MMSE)
      • تخمین بیشینه شباهت (MLE)
      • تخمین بیز (Bayesian)
    • بازیابی اطلاعات و تشابه‌یابی متون
      • تبدیل متن به بردار ویژگی
    • دسته‌بندی متون با روش بیز (ساده)

شبکه عصبی مصنوعی

    • مبانی و مفاهیم
    • شبکه عصبی پرسپترون
    • شبکه عصبی پرسپترون چندلایه (MLP)
      • نمایش کلمات/جمله/سند با بردار کلمات
    • شبکه‌های عصبی عمیق: مروری بر مبانی و روش‌های رایج
      • شبکه خودرمزگذار
      • شبکه عصبی پیچشی (CNN)
      • شبکه مولد مقابله‌ای (GAN)
    • شبکه‌های عصبی بازگشتی (RNN)
      • شبکه حافظه کوتاه مدت ماندگار (LSTM)
      • مفهوم توجه (Attention)
    • شبکه‌های عصبی مبدل (Transformer)
  • مدل مخفی مارکوف (HMM)
    • کاربرد در برچسپ‌زنی اجزای کلام (POS: Part-of-Speech tagging)
    • کاربرد در تشخیص گفتار (Speech Recognition)
  • روش‌های خوشه‌بندی
    • روش k-میانگین
    • الگوریتم امید-بیشینه (EM)