# آشنایی با پردازش زبان طبیعی

## Introdution to Natural Language Processing

***

| کارشناسی      | مقطع:       | آشنایی با پردازش زبان طبیعی                                                                                               | نام درس:    |
| ------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------- | ----------- |
| تخصصی اختیاری | گروه درس:   | [هوش مصنوعی](../drws-alzamy/artificial-intelligence) ،[یادگیری ماشین مقدماتی](../drws-alzamy/elementary-machine-learning) | پیش‌نیاز:   |
| نظری          | نوع درس:    | ندارد                                                                                                                     | هم‌نیاز:    |
| 48            | تعداد ساعت: | 3                                                                                                                         | تعداد واحد: |
|               |             | دارد                                                                                                                      | حل تمرین:   |

**سرفصل درس:**

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

**منابع:**

* Jurafsky, D., & Martin, J. H. (2023). Speech and Language Processing (3rd ed. Draft).
* Vajjala, S., Majumder, B., Gupta, A., & Surana, H. (2020). Practical Natural Language Processing. O'Reilly Media, Inc.
* Manning, C. D., & Schütze, H. (1999). Foundations of Statistical Natural Language Processing. MIT Press.
* Bird, S., Klein, E., & Loper, E. (2009). Natural Language Processing with Python. O'Reilly Media.
* Clark, A. (2016). Neural Networks for NLP. Morgan & Claypool Publishers.
* Goldberg, Y. (2017). Neural Network Methods in Natural Language Processing. Morgan & Claypool Publishers.
