انجام پروژه های پردازش زبان طبیعی nlp

انجام پروژه های پردازش زبان طبیعی سفارش خود را می توانید از طریق شماره تماس 09367292276 یا ایمیل آدرس azsoftir@gmail.com

انجام پروژه های پردازش زبان طبیعی nlp

انجام پروژه های پردازش زبان طبیعی سفارش خود را می توانید از طریق شماره تماس 09367292276 یا ایمیل آدرس azsoftir@gmail.com

انجام پایان نامه پردازش زبان طبیعی

 انجام پایان نامه پردازش زبان طبیعی

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

انجام پایان نامه پردازش زبان طبیعی
پردازش زبان طبیعی (NLP) چیست؟

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

09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com


NLP چگونه کار می کند؟

- ورودی های داده های بدون ساختار
- دانش زبانی
- دانش دامنه
- مدل دامنه
- آموزش مدل Corpora
- ابزار و روش ها
موارد ذکر شده در بالا زمانی ضروری هستند که ورودی به مدل داده شود. مدل NLP به جنبه‌های ذکر شده در بالا برای پردازش داده‌های بدون ساختار نیاز دارد تا داده‌های ساختاریافته را با استفاده از تجزیه، ریشه‌یابی و واژه‌سازی و غیره ارائه دهد. در واقع، NLP بر اساس ویژگی های برجسته خود مانند نسل و درک، تحت طبقه بندی قرار می گیرد.

مراحل پردازش زبان طبیعی NLP

- تقسیم بندی جملات
- نشانه گذاری کلمات
- برچسب گذاری PoS
- تجزیه و تحلیل زمینه های نحوی
- حذف کلمات توقف
- بن واژه سازی و ریشه یابی (Lemmatization & Stemming)
- طبقه بندی متون
- تحلیل عواطف/احساس


برچسب ها
انجام پایان نامه پردازش زبان طبیعی انجام پروپوزال و پروژه دانشجویی در مورد پردازش زبان های طبیعی انجام پایان نامه پروژه درس پردازش زبان طبیعی (NLP) انجام پایان نامه ارشد در حوزه پردازش زبان طبیعی انجام پایان نامه پردازش زبان طبیعی (Natural Language Processing) انجام پایان نامه پردازش زبان طبیعی و بازیابی اطلاعات انجام پایان نامه ارشد دکتری پردازش زبان طبیعی انجام پایان نامه پردازش زبان طبیعی با matlab انجام پایان نامه پردازش زبان طبیعی با پایتون انجام پایان نامه پردازش زبان طبیعی NLP در خلاصه سازی متن انجام پایان نامه پردازش زبان طبیعی هوش مصنوعی انجام پایان نامه پردازش زبان طبیعی یادگیری ماشین انجام پایان نامه پردازش زبان طبیعی انجام پایان نامه پردازش زبان طبیعی انجام پایان نامه پردازش زبان طبیعی انجام پایان نامه پردازش زبان طبیعی انجام پایان نامه پردازش زبان طبیعی انجام پایان نامه پردازش زبان طبیعی

مرکز نوآوری در پردازش زبان طبیعی

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

09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com


پروژه کاملا انجام شده - فقط نیاز به نوآوری داره. این قسمت نوآوری رو میخوام یه نفر پیشنهاد بده و انجامش بده.

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

هدف از بخش‌های مختلف و متنوع این نوشته، ارائه شناخت اولیه نسبت به این حوزه، سپس معرفی منابع مختلف آموزشی است. البته در لابه‌لای صحبت‌ها، سعی شده از تجربیات نویسنده استفاده شود و نکاتی که ممکن است در آینده به کار آید، بیان شود.

ازآنجایی‌که غلط‌های نگارشی یا فنی اجتناب‌ناپذیر است پس در بهبود این نوشته همراه بوده و نکات اصلاحی خود را به این آدرس ایمیل کنید. همچنین اگر منبع مفید دیگری خوانده که در این نوشتار نیست لطفا اطلاع داده تا در نسخه های بعدی قرار گیرد. در آخر اگر مطلب مناسبی نوشته اید که برای مخاطب این نوشتار مناسب است حتماً از طریق ایمیل اطلاع رسانی کنید.
مسیر یادگیری پردازش زبان طبیعی

پردازش زبان طبیعی حوزه‌ای جذاب در بازارهای خارجی و (تا حدودی) داخلی است. با یادگیری مباحث مربوطه می‌توانیم هم روی متون فارسی و هم متون انگلیسی کار کنیم.

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

    اگر دید داخلی داشته باشید باید حقوق بین 7 تا 15 میلیون ماهانه در نظر بگیرید.
    البته با توجه به جدید بودن این حوزه، امکان ایجاد سرویس یا محصول مبتنی بر پردازش زبان طبیعی و فروش آن هست.
    طبیعتاً گزینه تأسیس شرکت یا استارت‌آپ مبتنی بر پردازش زبان طبیعی هم هست.
    در نهایت باتوجه‌به شرایط اقتصادی فعلی، توصیه اکید ما، توجه به بازارهای خارجی هست.
        همکاری دورکار یا ریموت
        فعالیت فریلنسرینگ در سایت‌هایی مثل upwork یا Fiverr
        تولید محصول یا سرویس و فروش آن به شرکت‌های خارجی

Natural Language Processing یا NLP یکی از محبوب‌ترین حوزه‌های فعلی هوش مصنوعی است. هدف اصلی NLP درک زبان انسان توسط ماشین است. ابتدای کار و برای درک اهمیت موضوع، کافی است عبارت”NLP jobs” سرچ کنیم.

شغل های nlp در مسیر پردازش زبان طبیعی

تعداد نتایج جستجو بالاست و این نشانهٔ خوبی است، برای اینکه کارشناس پردازش زبان طبیعی در انواع کسب‌وکارهای جهانی جای خود را بازکرده و این تقاضا به‌مرور در حال گسترش است. همچنین با جستجوی عباراتی مثل “کارشناس پردازش متن” می‌توان یک دید نسبتاً جامعی در مورد میزان تقاضای این فیلد کاری در ایران پیدا کرد.

کارهای کارشناس پردازش متن در نقشه راه پردازش زبان طبیعی

هدف از این نوشتار دسته‌بندی و جمع‌بندی برخی از بهترین آموزش‌های حوزه پردازش زبان طبیعی است.

09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com


قبل از شروع معرفی منابع، بهتر است برخی مقدمات گفته شود تا افرادی که به‌تازگی وارد این حوزه شده‌اند بتوانند ارتباط مناسب با متن برقرار کنند.
پردازش زبان طبیعی چیست؟

منظور از پردازش زبان طبیعی (NLP)، همان زبانی است که ما انسان‌ها به کمک آن صحبت می‌کنیم و یا در نوشته‌هایمان از آن استفاده می‌کنیم. هدف اصلی NLP تلاش برای درک و فهم زبان انسانی است.

NLP  شامل دو مد active و passive  است:

    natural language understanding (NLU): با هدف توانایی درک عبارات و همچنین نیت و هدف هر کلمه
    natural language generation (NLG): تولید عبارات و جملات معنی‌دار

کاربردهای NLP

برخی از کاربردهای پردازش زبان طبیعی در صنعت به‌صورت زیر است:

    پزشکی: خلاصه‌سازی کلیه سوابق بیمار
    حقوق: پیداکردن پرونده‌های مشابه
    اقتصادی: بررسی اخبار مربوط به بورس و کمک به خریدوفروش بهتر سهم
    بیمه: پاسخگوی خودکار و هوشمند برای راهنمایی خرید انواع بیمه
    بازاریابی: بررسی دیدگاه کلی مشتریان نسبت به برند یک شرکت

مثال‌های کاربردی NLP

از جمله مهم‌ترین دستاوردهای NLP در زندگی روزانه‌مان:

    سرویس‌های متن محور مثل Grammarly و wordtune که باهدف ویراست و اصلاح نگارشی و گرامری متون انگلیسی (ویراست‌من یا پاک‌نویس نمونه‌های مخصوص زبان فارسی است)
    ترجمه خودکار مثل ماشین ترجمه گوگل (google translate)، مترجم Microsoft

البته کاربردهای پردازش زبان طبیعی در زندگی روزمره ما فراتر از مثال‌های ذکر شده است و هرروزه گسترده‌تر می‌شود. برای مثال هنگام جستجو در گوگل، با نوشتن اولین کلمه، برخی عبارات به شما پیشنهاد داده می‌شود، یا در تلفن هوشمند هنگام ارسال پیامک با نوشتن اولین کلمه، کلمات بعدی پیشنهاد می‌شود. میزان نفوذ NLP در زندگی روزانه همین‌قدر زیاد و فراگیر است و این نویدبخش رونق این حوزه در آینده نزدیک است.
چرا NLP یک فعالیت سخت است؟

زبان به‌صورت ذاتی ابهام زیادی دارد و برای درک درست معنی کلمات و جملات باید به محتوا (context) دقت کرد. مثلاً “بخشش لازم نیست اعدامش کنید”، درک چنین جمله‌ای حتی برای انسان‌ها هم سخت بوده؛ چون دو برداشت متفاوت وجود دارد. برداشت اول که درخواست بخشش کرده و می‌گوید اعدامش نکنید و برداشت دوم که درخواست اعدام وی را دارد. پس یک جمله می‌تواند معانی متفاوتی داشته باشد. پس یکی از دلایل سختی NLP، ابهام و پیچیدگی عبارات است. البته مواردی مثل وجود طعنه و کنایه نیز تحلیل را سخت‌تر می‌کند.

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

یکی از دلایل مهم رشد NLP در دو دهه اخیر، رشد و توسعه وب است. در بستر وب، حجم زیادی داده متنی تولید شده است. دلیل دوم، رشد و توسعه CPUs/GPUs چندهسته‌ای هستند که این امکان را فراهم می‌کنند روی داده‌های حجیم الگوریتم‌های یادگیری ماشین اجرا شوند.

برخلاف گذشته که با کمبود سخت‌افزار و ابزار روبرو بودیم امروزه سخت‌افزارهای زیادی در دسترس هستند. فریم‌ورک‌ها و ابزارهای توسعه وب رشد زیادی داشته و باعث شده تعداد زیادی وب‌سایت وجود داشته باشد. هرچقدر تعداد وب‌سایت‌ها بیشتر باشد حجم داده‌ها نیز افزایش پیدا می‌کند.

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

همهٔ این دلایل باعث شده که پردازش زبان طبیعی یکی از موضوعات داغ صنعت و دانشگاه شود و می‌توان از این فرصت طلایی برای رشد و کسب درآمد استفاده کرد.

09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com


قبل از معرفی هرگونه منبعی توضیح یک نکته به‌شدت ضروری است. پردازش زبان طبیعی از آن دست فیلدهایی است که به‌جرئت می‌توان گفت در آن به صورت ماهانه تکنولوژی جدید معرفی می‌شود. برای یقین از صحت این ادعا کافی است به 2018 و زمانی که bert معرفی شد و باعث بهبود چشمگیر نتایج taskهای مطرح پردازش زبان طبیعی شد رجوع کنیم. ولی به آنجا ختم نشد و به فاصله کمی تکنولوژی‌های جدید معرفی شدند و به‌صورت ماهانه (حتی هفتگی) شاهد نوآوری‌هایی هستیم.

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

به‌عنوان یک جواب تجربی، ابزارها و تکنولوژی‌های جدید را ابتدا، به‌صورت کلی بررسی کنیم؛ یعنی لازم نیست بلافاصله چند دوره پیدا کرده و ساعت‌ها برای آموزش نحوه کار تکنولوژی جدید وقت صرف کنیم. بهتر است به‌محض معرفی یک تکنولوژی جدید، سؤالات زیر را بررسی کنیم:

    این تکنولوژی برای چه هدفی ارائه شده؟
    روش‌های قبلی چه عیبی داشته که این روش جدید معرفی شده است؟
    و این روش جدید چگونه معایب روش‌های قبلی را برطرف می‌کنند؟
     آیا واقعاً معایب قبلی را برطرف می‌کنند؟ یا صرفاً ادعایی بدون پشتوانه است.

اگر جواب سؤال‌های بالا را بدانیم بخش مهمی از مسیر را طی کرده و در صورت نیاز بعداً به سراغ جزئیات هر روش رفته و با چند متن یا ویدئو آموزشی نحوه کار با آن را یاد می‌گیریم.

البته در محیط‌های شرکتی معمولاً در 80 درصد مواقع از معرفی تکنولوژی جدید تا استفاده از آن چند ماهی طول می‌کشد تا آن تکنولوژی در محیط‌های آزمایشی جواب خود را پس بدهد.
معرفی منابع یادگیری پردازش زبان طبیعی

در ادامه منابع مختلفی معرفی می‌شود که برخی برای افراد مبتدی و برخی برای افراد حرفه است که به دنبال یادگیری مباحث پیشرفته‌تر هستند.

منابع به سه دسته اصلی تقسیم می‌شود:

    کورس (دوره) آموزشی آنلاین و کتاب
    وبلاگ‌ها
    ابزارها

کتاب‌های حوزهٔ پردازش زبان طبیعی

برخلاف توصیه‌هایی که ممکن است در جاهای دیگر مشاهده کنید که می‌گویند تا tutorial و ویدئوهای یوتیوب وجود دارد به سراغ کتاب نرویم می‌خواهم توصیه کنم که اگر دنبال کسب مهارت حداکثری و درک عمیق نسبت به پردازش زبان طبیعی هستیم بهتر است از کتاب شروع کنیم. طبیعتاً مطالعه کتاب زمان‌برتر است و حوصله زیادی می‌خواهد؛ ولی ارزشش را دارد. مزیت اصلی کتاب، تجمیع مطالب در یکجا است برخلاف ویدئو و آموزش‌های متنی وبلاگ ها. از طرفی در بسیاری از اوقات tutorialها نگاهی نسبتاً سطحی به مطالب داشته و خیلی به مفاهیم پایه نمی‌پردازند؛ ولی کتاب‌ها معمولاً ریشه‌ای‌تر هستند و عمق یادگیری‌مان بیشتر می‌شود.

کتاب پردازش زبان طبیعی Natural Language processing with python

09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com


کتاب “Natural Language processing with python“ یکی از انتخاب‌های مناسبی است که کمک می‌کند با مفاهیم پایه پردازش زبان طبیعی مثل tokenization، text normalization و pos آشنا شویم. در مرحله بعدی نحوه پیاده‌سازی این مفاهیم در پایتون به‌تفصیل بررسی می‌شود. تمرکز کتاب استفاده از کتابخانه nltk است. در این کتاب خبری از مفاهیم یادگیری عمیق نبوده و تمرکز بیشتر، بر روش‌های کلاسیک NLP است. اگر ابتدای راه باشیم و بخواهیم مباحث مقدماتی در زمینه پردازش زبان طبیعی فرا گیریم این کتاب، شروع خوبی خواهد بود.

کتاب آموزش پردازش زبان طبیعی Natural Language Processing in Action

کتاب “Natural Language Processing in Action” تمرکز جدی تر روی مسائل واقعی و مثال‌های کاربردی مثل chat bot دارد. این کتاب همچنین برای پیاده‌سازی پروژه‌ها به سراغ تکنولوژی‌های جدیدتر مثل deep learning و word embedding می‌رود و سعی کرده به‌روز باشد. در این کتاب با    word2vec، CNN و RNN آشنا شده و از آن‌ها در پیاده‌سازی پروژه‌ها استفاده می‌شود. به‌طورکلی برای کسانی که می‌خواهند در سطح پیشرفته پردازش زبان طبیعی فعالیت کنند این کتاب، گزینه مناسبی است.

کتاب متن کاوی Speech and Language Processing

کتاب بعدی “Speech and Language Processing” است. این کتاب بیشتر جنبه مرجع دارد و انتظار مطالب به روز نداشته باشید. اگر به دنبال مباحث تئوری مربوط به پردازش زبان طبیعی باشیم این کتاب گزینه خوبی است زیرا هر مبحث خیلی ریز بررسی شده است. در نگارش این کتاب سعی شده از مقالات زیادی بهره گیری شود و با خواندن این کتاب چکیده ای از مقالات (قدیمی) در زمینه پردازش زبان طبیعی را مطالعه خواهیم کرد. در این کتاب خبری از کد و پیاده‌سازی پروژه نیست. این کتاب بیشتر برای دانشجویانی که قصد نوشتن مقاله یا پایان‌نامه دارند توصیه می‌شود.

کتاب یادگیری عمیق Deep Learning book

کتاب یادگیری عمیق (Deep Learning book) یکی از بهترین کتاب‌هایی است که سعی کرده به زبان ساده مفاهیم یادگیری عمیق را بیان کند. اگر آشنایی چندانی با مباحث یادگیری عمیق ندارید قطعا این کتاب پیشنهاد می‌شود. همچنین این کتاب بیشتر برای کسانی پیشنهاد می‌شود که می‌خواهند به‌صورت پیشرفته روی متون کار کنند؛ ولی دانش خوبی نسبت به شبکه‌های عصبی ندارند.

قطعاً "machine learning for absolute beginners" یکی از بهترین کتاب‌هایی است که برای شروع یادگیری ماشین وجود دارد. ترجمه ساده و شیوای این کتاب یادگیری ماشین را در سایت دیتاهاب دانلود کنید.
دوره‌های پردازش زبان طبیعی

دوره یادگیری ماشین کورسرا

    دوره یادگیری ماشین (Machine Learning)
    مدرس: Andrew Ng
    هزینه: رایگان
    سطح: متوسط

09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com


این دوره یکی از بهترین دوره‌های موجود در پرداختن به موضوعات مقدماتی یادگیری ماشین است. کلیه محتوا زیر نظر مستقیم اندرو انگ (Andrew Ng) تهیه شده است. با مشاهده ویدئوها و انجام تکالیف به‌صورت هفتگی، سطح مهارت فرد رشد کرده و دید خوبی نسبت به مباحث یادگیری ماشین پیدا می‌کند. مباحثی که بعداً برای کار با متون به‌شدت مفید هستند.

پس از مشاهده و اتمام این دوره، پیشنهاد می‌شود حتماً دوره Deep Learning از اندرو انگ نیز مشاهده شود.

دلیل اصلی این پیشنهاد، تقویت دانش و مهارت‌های فرد برای انجام پروژه‌های پیشرفته است؛ زیرا برای انجام پروژه‌هایی مثل ماشین ترجمه و چت‌بات بهتر است به سراغ یادگیری عمیق برویم.

دوره Sequence Models کورسرا

    دوره Sequence Models
    مدرس: Andrew Ng
    هزینه: رایگان
    سطح: پیشرفته

یک دوره خوب که مباحث پایه‌ای مربوط به sequence را مطرح می‌کند. در این دوره یاد می‌گیریم چگونه به کمک یادگیری عمیق پروژه‌های پردازش زبان طبیعی را انجام دهیم. هدف اولیه دوره معرفی sequence هاست. در ادامه جملات را به‌عنوان sequence در نظر گرفته و سپس ساخت و پیاده‌سازی شبکه‌های عصبی بازگشتی آموزش داده می‌شود. در این دوره معماری LSTM و GRU معرفی و نحوه استفاده از آن‌ها در پروژه‌ها بررسی می‌شوند. این دوره توسط اندرو انگ ارائه می‌شود.

البته این دوره سنگین و کمی ریاضیاتی هست و برای افراد مبتدی توصیه نمی‌شود.

دوره nlp کورسرا برای ورود به مسیر پردازش زبان طبیعی

    دوره Natural Language Processing
    مدرس: Anna Potapenko
    هزینه: رایگان
    سطح: پیشرفته

یکی از دوره‌های جامع و کامل ولی سخت است. این دوره مناسب کسانی است که می‌خواهند پس‌زمینه علمی روش‌ها و الگوریتم‌ها را بدانند. زمان زیادی از دوره صرف توضیح مباحث تئوری شده؛ ولی تکالیف بیشتر جنبه پروژه‌ای و عملیاتی دارند. در این دوره طیف وسیعی از مباحث پردازش زبان طبیعی مثل sentiment analysis و  summarization بررسی می‌شوند. پروژه نهایی این دوره پیاده‌سازی یک chat bot برای داده‌های stackoverflow است.

دوره nlp با یادگیری عمیق استنفورد

09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com


    دوره natural language processing with deep learning دانشگاه استنفورد
    مدرس: جمعی از اساتید
    هزینه: رایگان
    سطح: پیشرفته

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

پس مشاهده این دوره به افرادی توصیه می‌شود که دید پژوهشی و نگارش مقاله یا پایان‌نامه دارند.

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

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

    Jay Alammar

این وبلاگ به‌صورت تخصصی در زمینه NLP فعالیت می‌کند. از ویژگی‌های این وبلاگ مطالب باکیفیتی است که به زبانی ساده و با شکل‌های فراوان ارائه می‌شود که قطعاً باعث فهمیدن مطلب می‌شود. البته نقطه‌ضعف آن تعداد کم محتوا است.

    openclassrooms

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

مطالب دوره openclassrooms در مجموعه دیتاهاب به‌صورت کامل به زبان فارسی ترجمه شده است. این مقالات را در صفحه مقالات آموزشی هوش مصنوعی بخوانید.
ابزارهای پردازش زبان طبیعی

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

    NLTK

عبارت Natural Language Toolkit یا به‌صورت مخفف NLTK یکی از معروف‌ترین ابزارهایی است که برای تحلیل متون مختلف استفاده می‌شود. این ابزار متن‌باز توسط Steven Bird و Edward Loper در دانشگاه پنسیلوانیا ساخته شد. NLTK معمولاً برای کارهای پژوهشی و آموزشی استفاده می‌شود. از قابلیت‌های NLTK می‌توان موارد زیر را نام برد:

    ریشه‌یابی،
    تشخیص موجودیت نامدار،
    تشخیص زبان،
    تعیین نقش کلمات.

البته NLTK پشتیبانی خاصی از زبان فارسی ندارد.

کتابخانه پردازش زبان طبیعی NLTK
SpaCy

ابزاری متن‌باز که‌ نسبت به nltk جدیدتر بوده و مستندات آموزشی قوی دارد. SpaCy معمولاً برای کارهای عملی و شرکتی بیشتر استفاده می‌شود. از قابلیت‌های مهم آن پشتیبانی از زبان‌های مختلف مثل انگلیسی، فرانسوی و آلمانی است. SpaCy نسبت به nltk روان‌تر بوده و کار با آن پیچیدگی کمتری دارد. SpaCy هم پشتیبانی خاصی از زبان فارسی ندارد.

کتابخانه پردازش زبان طبیعی SpaCy
TextBlob

TextBlob یک کتابخانه پایتونی برای پردازش داده‌های متنی است که از تسک‌های زیادی از جمله pos, sentiment analysis, translation پشتیبانی می‌کند. مزیت این کتابخانه سادگی کار با آن و سرعت بالایش است.

کتابخانه پردازش زبان طبیعی TextBlob
CoreNLP

09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com


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

کتابخانه پردازش زبان طبیعی CoreNLP

حالا به سراغ ابزارهای مخصوص زبان فارسی می‌رویم.
HAZM

هضم ابزاری متن‌باز مخصوص زبان فارسی است. این کتابخانه توسط تیم صبحه ارائه شد. از قابلیت‌های آن می‌توان به این موارد اشاره کرد:

    تمیز و مرتب کردن متن
    تقطیع جمله‌ها و واژه‌ها
    ریشه‌یابی واژه‌ها
    تحلیل صرفی جمله
    تجزیه نحوی جمله

برای آشنایی کامل با کتابخانه هضم و پردازش متن فارسی، دیتاهاب سری مقالات تخصصی معرفی این کتابخانه را همراه با کدهای پایتون آن منتشر کرده است.
ParsiVar

پارسی ور توسط پژوهشکده فناوری اطلاعات جهاد دانشگاهی ارائه شده و کدهای مربوط به آن از این آدرس قابل دسترسی است. ویژگی‌های ارائه شده تقریباً شبیه به هضم است ولی در برخی مواقع سرعت این کتابخانه بهتر از هضم است:

    تمیز و مرتب کردن متن
    تقطیع جمله‌ها و واژه‌ها
    ریشه‌یابی واژه‌ها
    تحلیل صرفی جمله
    تجزیه نحوی جمله

سری مقالات تخصصی معرفی پارسی ور را در سایت دیتاهاب بخوانید:

    نصب Parivar
    پارسی ور چیست
    متن کاوی با پایتون به کمک پارسی ور

repositoryهای گیت‌هاب برای NLP

در ادامه بهتر است برخی از معروف‌ترین repositoryهای گیت‌هاب که برای زبان انگلیسی و فارسی فعال هستند معرفی شوند. این repositoryها معمولاً ابزارهای متن‌بازی (open-source) که در زمینه پردازش زبان طبیعی وجود دارد را معرفی می‌کنند. می‌توان کدها، دیتاست‌ها و مقالات مرتبط را بررسی کرده و به‌نوعی باعث می‌شوند بعضی از قسمت‌های پروژه را خودمان کدنویسی نکنیم و از این منابع رایگان استفاده کنیم.

از معروف‌ترین repositoryهای موجود awesome-nlp است. برای انجام هر پروژه بهتر است ابتدا سری به این repository زده و از کتابخانه ها و دیتاست‌ها و منابع معرفی شده استفاده کنیم. این repository برای زبان‌های مختلف، منابع مختلفی معرفی کرده ولی برای زبان فارسی منبعی معرفی نشده است.

نمونه مشابه repository بالا برای زبان فارسی awesome-persian-nlp-ir است. در اینجا برخی دیتاست‌ها و کتابخانه‌های متن‌باز مخصوص زبان فارسی قابل مشاهده است.

همچنین awesome-persian در بعضی قسمت ها ابزارهای مخصوص پردازش زبان طبیعی را معرفی کرده است.

معرفی awesome-nlp در مسیر پردازش ربان طبیعی

اگر احتیاج به دیتاست متنی فارسی برای پیشبرد پروژه داشته باشیم این repositoryها توصیه می‌شود.

    Persian_dataset
        ارائه دیتاست‌های متنی و غیرمتنی فارسی
    Text-Mining
        داده‌ای مربوط به خبرگزاری‌ها

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

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

09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com


    مبانی جبر خطی و احتمال (متغیر تصادفی، انواع توزیع‌ها)
    دانش اولیه از زبان‌شناسی
    آشنایی با مفاهیم یادگیری ماشین
    آشنایی مقدماتی با یکی از زبان‌های برنامه‌نویسی (ترجیحاً پایتون)

با دیدن دوره آموزش رایگان جبر خطی در کانال یوتیوب دیتاهاب خیالتان از مفاهیم جبر خطی راحت می‌شود.

برای ورود به دنیای پروژه‌های یادگیری ماشین، دوره آموزش رایگان یادگیری ماشین را در کانال یوتیوب دیتاهاب ببینید.

هنوز انجام پروژه یادگیری ماشین شروع نکردید، چون برنامه‌نویسی بلد نیستید؟ دوره آموزش رایگان پایتون را از دست ندهید.

مقالات یادگیری ماشین مفاهیم مهم و پایه‌ای یادگیری ماشین را کامل به شما آموزش می‌دهد.
برنامه عملی یادگیری پردازش زبان طبیعی

برای انجام پروژه‌ها، طبیعتاً لازم است به یکی از زبان‌های برنامه‌نویسی مسلط باشید. زبان‌های مختلفی وجود دارد مثل پایتون، R و جاوا. در ابتدای مسیر شاید انتخاب زبان کمی سخت به نظر برسد؛ ولی

    اگر نگاهی گذرا به دوره‌های موجود در سایت‌هایی مثل udemy و coursera بیندازیم متوجه می‌شویم که تعداد زیادی دوره در زمینه یادگیری ماشین با زبان پایتون وجود دارد.
    همچنین با بررسی libraryهای تخصصی یادگیری ماشین در هر زبان می‌توان نتیجه‌گیری کرد که کدام زبان بهتر است. برای مثال زبان پایتون کتابخانه‌های قوی مثل keras، sklearn، pandas، numpy و tensorflow ارائه داده که انجام پروژه‌ها را به‌شدت آسان‌تر کرده است.
    در نهایت می‌توان از آمارهای جهانی استفاده کرده و ببینیم در سال‌های اخیر تحلیلگران داده از چه زبانی بیشتر استفاده کرده‌اند.

یادگیری پایتون برای پردازش زبان طبیعی

با توجه به توضیحات بالا، یادگیری و استفاده از زبان پایتون پیشنهاد می‌شود. البته لازم نیست نگران شویم که باید همه جزئیات زبان پایتون را آموزش دید. خیر، لازم نیست و بهتر است در ابتدا مباحث کلی و اولیه پایتون را یاد بگیریم و به همین مقدار بسنده کنیم. روش پیشنهادی این است که ابتدا یک تا دو هفته وقت گذاشته و به یک دانش اولیه و حداقلی از کلیات پایتون برسیم سپس با استفاده از دانش اولیه‌ای که از پایتون یاد گرفتیم شروع به انجام پروژه کنیم و هرجا به مشکل خوردیم، جستجو کرده و به کمک فیلم و کتاب آن مطلب خاص را آموزش ببینیم. این روش کمک می‌کند که اولاً سریع‌تر وارد کدنویسی و انجام پروژه شویم. دوم این که فقط چیزهایی که به انجام پروژه‌ها کمک می‌کند را یاد می‌گیریم. فردی را در نظر بگیرید که با دید کمال‌گرایانه 10 دوره مختلف از پایتون می‌بیند و با تمامی مباحث پایتون آشنا می‌شود درصورتی‌که برای انجام پروژه فقط 30 درصد از آن مورداستفاده قرار می‌گیرد. پس تنها چیزهایی را یاد بگیریم که لازم است. نکته مهم این است که گاهی فقط باید بدانیم فلان قابلیت در فلان library هست (حتی اگر ریز جزئیات آن را ندانیم). این دانش کمک می‌کند که در آینده در وسط پیاده‌سازی یک پروژه ناگهان به‌خاطر بیاورید “بهتر از است قابلیت X از کتابخانه Y استفاده کنم”. دیدن دوره با این دید به‌شدت توصیه می‌شود.

از طرفی ازآنجایی‌که زبان پایتون همه‌منظوره بوده؛ مثلاً با آن می‌توان back end سایت نوشت یا برنامه‌های سیستمی نوشت پس بهتر است پایتون با رویکرد تحلیل داده یاد گرفته شود. خوشبختانه دوره‌هایی وجود دارد که پایتون را مشخصاً برای فعالین حوزه داده تدریس می‌کند. مثل دوره زیر

    Course: Python for Data Science
    آموزش رایگان پایتون

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

برای یادگیری پایتون، دوره آموزش رایگان پایتون را در کانال یوتیوب دیتاهاب مشاهده کنید.
یادگیری ماشین برای پردازش زبان طبیعی

ممکن است برایتان سؤال باشد که چرا باید یادگیری ماشین و الگوریتم‌های آن را فرابگیریم. در جواب باید گفت هر زمانی که قرار باشد داده‌هایی (از هر جنس متن، تصویر، صوت) تحلیل شود بالاخره باید الگوریتم‌هایی را پیاده‌سازی کنیم و بهترین جواب را انتخاب کنیم. پس فارغ از جنس داده‌ها، روش‌های تحلیل داده ثابت بوده و همگی زیرمجموعه یادگیری ماشین است. هرکدام از ما با مطالعه و یادگیری دقیق الگوریتم‌های یادگیری ماشین به یک مهارت مهم دست پیدا کرده و از این مهارت در پروژه‌های مختلف می‌توانیم استفاده کنیم. پس نتیجه‌گیری بدین صورت است که هرکسی که بخواهد یک مجموعه‌داده را تحلیل کند، فارغ از جنس داده‌ها، در ابتدا، باید از یکسری قواعد و روش‌های ثابت استفاده کند؛ مثلاً ابتدا داده‌ها را تمیز کند، سپس پیش‌پردازش‌هایی را انجام دهد.

از طرفی برخی الگوریتم‌ها مثل خوشه‌بندی kmeans هم روی داده‌های جدولی و هم داده‌های متنی قابل‌اجراست یا از تنسورفلو هم برای پردازش متن می‌توان استفاده کرد و هم پردازش تصویر. البته لازم به یادآوری است که هر جنس داده همچنین روش‌های مختص به خودش دارد؛ مثلاً الگوریتمی مثل LDA مخصوص تشخیص موضوع متون است. باتوجه‌به صحبت‌های بالا، در انجام پروژه‌های تحلیل داده برخی روش‌ها، مراحل و الگوریتم مشترک بوده که باید آن‌ها را به‌خوبی فرابگیریم.

تذکر: معمولاً هر تکنولوژی جدید پس از معرفی به‌مرور به زبان انگلیسی در جاهایی مثل medium آموزش داده می‌شوند. ولی چند ماهی طول می‌کشد که یک نفر زحمت ترجمه مطالب را بر عهده بگیرد. پس اگر بخواهیم از مطالب جدید جا نمانیم حتماً باید زبان انگلیسی خود را (حتی شده در حد خواندن) تقویت کنیم و همیشه منتظر مطالب فارسی و ترجمه شده نباشیم.
دلیل دیگر اینکه معمولاً افرادی که در یک حوزه مطالبی تألیف یا ترجمه می‌کنند، معمولاً در حد مقدمات را گفته و بحث رها می‌شود، به‌خاطر همین است که در سطح اینترنت در مورد حوزه‌ای مثل یادگیری عمیق مباحث موجود فارسی، مقدماتی و همه تقریباً در یک سطح هستند.

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

وقتی یک دید خوب نسبت به ساختار کلی یادگیری ماشین پیدا شد و توانستیم به زبان پایتون کدنویسی کنیم باید به مرحله بعدی برویم.

در مرحله بعدی به سراغ بحث شیرین ریاضی می‌رویم. معمولاً شما اگر به فردی بگویید قصد ورود به حوزه داده دارید در ابتدا برایتان مفصلاً داستان‌سرایی می‌کنند که باید استاد تمام ریاضی و آمار باشی تا بتوانی به‌خوبی در این حوزه رشد کنی. تجربه شخصی من بدین صورت است که برای شروع کار باید ریاضیات دبیرستان را مسلط باشیم و همچنین جبر خطی را تا حد قابل قبولی بدانیم و با توزیع‌های آماری آشنا باشیم. همهٔ این موارد کمتر از دوهفته زمان می‌برند و برای شروع کافی هستند. در آینده و بنا به نیاز می‌توان مباحث پیشرفته‌تر را آموخت. زیرا در اکثر پروژه‌ها، تنها دانستن توزیع‌هایی مثل توزیع نرمال، پوآسون و آشنایی با A/B کفایت می‌کند. در ادامه دوره مطرحی معرفی شده که لازم نیست همه جلسات آن دیده شود. فقط بخش‌هایی از آن که به نظرتان لازم هست را مشاهده کنید و احیاناً اگر در پروژه به مشکلی برخورد کردید می‌توانید از این منبع استفاده کنید.

    Descriptive Statistics by Khan Academy

دوره آموزش رایگان جبر خطی را در کانال یوتیوب دیتاهاب مشاهده کنید تا هر آنچه از جبر خطی لازم دارید را یاد بگیرید.

همین‌طور “Math for Machine Learning: Open Doors to Data Science and Artificial Intelligence” کتابی کم حجم است که فقط ریاضیات مخصوص یادگیری ماشین را بیان می‌کند.

09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com


کتاب Math for Machine Learning در نقشه راه پردازش زبان طبیعی
یادگیری مفاهیم پایه پردازش زبان طبیعی

در ادامه تمرکز اصلی بر آموزش مفاهیم پایه پردازش زبان طبیعی است. مباحثی که بیشتر در فرایند پیش‌پردازش متون کاربرد دارند. پیش‌پردازش معمولاً برای هر زبانی متفاوت خواهد بود. مثلاً در زبان فارسی کاراکترهای عربی را به کاراکترهای فارسی تبدیل می‌کنیم و این کار مختص کار با متون فارسی است. درعین‌حال برخی موارد بین زبان‌ها مشترک است مثل ریشه‌یابی کلمات مثلاً “خورد” ریشه “می‌خورم” است. برای شروع بهتر است مقاله‌های زیر مطالعه شود. این مقالات با تمرکز روی زبان فارسی تألیف شده است.

برای آشنایی کامل با پردازش زبان طبیعی، مجموعه مقالات پردازش زبان طبیعی پیشرفته را بخوانید.

نقشه راه پردازش زبان طبیعی
عبارات منظم در پردازش متون

یکی از مهم‌ترین مباحث در زمینه پیش‌پردازش متون Regular Expression (عبارات منظم) هستند. به کمک عبارات منظم می‌توان الگوهایی مثل الگوی مربوط به شماره‌تلفن تعریف کرده و سپس تمامی شماره‌های تلفنی که با الگویمان تطبیق دارد را حذف کنیم یا در جایی نگه‌داری کنیم. پس دو هدف اصلی یکی استخراج اطلاعات خاص از متون مثل کد ملی است و هدف دوم حذف برخی عبارات مثلاً کلماتی که با حرف “ب” شروع شده است. برای یادگیری بهتر عبارات منظم به سراغ لینک زیر می‌رویم. البته regexها مبحث مفصلی هستند که لازم نیست تمامی توابع و عملکردهای آن را یاد بگیریم.

    Basics of Regular Expressions
    آموزش regex

کتابخانه‌های پردازش متن فارسی

برای زبان فارسی ابزارها و کتابخانه‌های کمی وجود دارد؛ مثلاً برای پیش‌پردازش دو کتابخانه معروف هضم و پارسی ور وجود دارد. البته کتابخانه‌های دیگری نیز هست که همگی مشکل عدم جامعیت دارند؛ یعنی فقط بر روی یک مورد خاص مثلاً ریشه‌یابی کار می‌کند. برخلاف فارسی، زبان انگلیسی کتابخانه‌های قوی از جمله spaCy و NLTK دارد که حتماً توصیه می‌کنم آشنایی اولیه با هر دوی این ابزارها داشته باشید چرا که ممکن است در پروژه‌ای متون انگلیسی هم داشته باشید. از طرفی هضم و پارسی ور هر دو در برخی موارد از توابع NLTK استفاده می‌کنند چون NLTK قابلیت‌های فراوانی دارد؛ مثلاً به کمک آن می‌توان قواعدی طراحی کرده و عبارات اسمی (مثل اولین قهرمان وزنه‌برداری) را استخراج کنیم (chunker).

    spaCy library
    Tokenization using the spaCy library
    NLTK Library

بصری‌سازی در مسیر یادگیری پردازش زبان طبیعی

همیشه یکی از قسمت‌های جذاب کار با داده‌ها، بصری‌سازی است. در این بخش لازم است کمی با نمودارها و نحوه بصری‌سازی متون آشنا شویم. یک مثال ساده نمودار توزیع روی طول جملات است که نشان می‌دهد طول جملات در چه وضعیتی است. یک نمودار به این سادگی در طراحی شبکه‌های عمیق کمک‌کننده است.

    A Complete Exploratory Data Analysis and Visualization for Text Data

روش Bag Of Words

در این قسمت به این موضوع باید بپردازیم که هر متن (که شامل کلماتی است) چگونه به ویژگی تبدیل شود به‌نحوی‌که بتواند به‌عنوان ورودی برای الگوریتم‌های یادگیری ماشین مورداستفاده قرار گیرد (الگوریتم‌های یادگیری ماشین تنها ورودی با فرمت عدد قبول می‌کنند پس اگر با داده‌های تصویری یا متنی کار می‌کنیم باید به اعداد تبدیل شوند). رایج‌ترین روش Bag Of Words است که هر کلمه را به یک عدد تبدیل می‌کند.

    Traditional Methods for Text Data
    Bag of Words, TF-IDF and Word Embeddings

    bags of words چیست

Word Embeddings در پردازش متن

با مطالعه مقالات بالا با یک روش جدید برای نمایش کلمات به نام Word Embeddings آشنا می‌شویم. این روش باعث تحولات چشمگیر در انجام پروژه‌های NLP شده است. پس ضرورت دارد اولاً ویژگی‌های آن را کاملاً بررسی کنیم و سپس روش‌های تولید آن را یاد بگیریم. یکی از معروف‌ترین الگوریتم‌های تولید Word Embeddings، روش word2vce گوگل است. یک متن دلخواه و ترجیحاً بزرگ به word2vec داده و خروجی بردارهای کلمات است؛ یعنی هر کلمه در قالب یک بردار عددی است که بردارهای کلمات معانی را حفظ می‌کنند. مثلاً بردار دوکلمه “پدر” و “مادر” نزدیک به هم هستند. در ادامه نحوه آموزش مدل word2vec روی داده‌های دلخواه بررسی می‌کنیم.

09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com


    Tool: Gensim – Word2Vec
    Word2vec
    An Intuitive Understanding of Word Embeddings: From Count Vectors to Word2Vec
    Word2Vec Tutorial – The Skip-Gram Model
    word embedding چیست

تشخیص موضوع متون با LSA

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

    Topic Modeling using Latent Semantic Analysis
    Beginner’s Guide to Topic Modeling in Python

یادگیری عمیق در مسیر پردازش زبان طبیعی
یادگیری عمیق در نقشه راه پردازش زبان طبیعی

باتوجه‌به رشد روزافزون سرویس‌های مبتنی بر متن، امروزه برای انجام پروژه‌ها نمی‌توان فقط به روش‌های قدیمی یادگیری ماشین تکیه کرد؛ مثلاً برای انجام پروژه‌هایی مثل ماشین ترجمه، خلاصه‌ساز و تشخیص زبان متن باید به سراغ روش‌های جدیدتر مثل یادگیری عمیق رفت. یادگیری عمیق قلب تپنده پردازش زبان طبیعی است که باعث تحولات جدی در این زمینه شده است. پس در ابتدای کار حتماً باید یک دید مقدماتی نسبت نوآوری‌هایی مثل BERT ،OpenAI’s GPT-3 داشته باشیم. برای فهم این نوآوری‌ها حتماً باید با مفاهیم پایه‌ای یادگیری عمیق آشنا شویم. ابتدا با مراجعه به لینک زیر به دنبال پاسخ به یک سؤال هستیم”یادگیری عمیق و شبکه عصبی چیست؟”.

    Introductory Guide to Deep Learning and Neural Networks
    شبکه عصبی مصنوعی به زبان ساده

در ادامه برخی از اجزا شبکه عصبی را مرور می‌کنیم.

    Optimization Algorithms for Deep Learning
    Loss and Loss Functions for Training Deep Learning Neural Networks
    How to Choose Loss Functions When Training Deep Learning Neural Networks
    Gentle Introduction to the Adam Optimization Algorithm for Deep Learning

    راهنمای کوتاه یادگیری عمیق

شبکه عصبی بازگشتی و پردازش متون

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

    Recurrent Neural Networks Tutorial, Part 3 – Backpropagation Through Time and Vanishing Gradients

    Recurrent Neural Networks (RNN) Tutorial

09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com


پیاده سازی با Keras

سپس برای پیاده‌سازی مدل‌های شبکه عصبی با keras آشنا می‌شویم.

    Your First Deep Learning Project in Python with Keras Step-By-Step
    Difference Between a Batch and an Epoch in a Neural Network

یادگیری عمیق در نقشه راه پردازش زبان طبیعی
مدل‌های seq2seq در NLP

حال به سراغ یکی از مهم‌ترین بخش‌های پردازش زبان طبیعی یعنی مدل‌های seq2seq می‌رویم. این سری مدل‌ها در حل مسائلی مثل ماشین ترجمه بسیار مفید واقع شدند. درک مناسب از مطالب این بخش، سطح مهارتی‌مان را از مقدماتی به پیشرفته ارتقا می‌دهد.

Language Modeling:

    A Comprehensive Guide to Build your own Language Model in Python!
    Text generation with an RNN

Sequence-to-Sequence Modeling:

    Seq2Seq with Attention

Transfer Learning در مسیر پردازش زبان طبیعی
جایگاه Transfer Learning در مسیر یادگیری پردازش زبان طبیعی

مبحث Transfer Learning باعث رشد چشمگیر بیشتر تسک‌های NLP شد. یادگیری انتقالی یعنی از دانش و اطلاعاتی که در یک زمینه کسب کردیم در پروژه‌های نسبتاً مشابه استفاده کنیم. کاربرد اصلی یادگیری انتقالی برای مواقعی است که حجم داده‌هایمان کم باشد. پس از یک مدلی که روی داده‌های زیاد آموزش‌دیده شده برای حل مسئله خودمان استفاده می‌کنیم.

ULMFiT:

    Text Classification using ULMFiT in Python

Transformers:

    How do Transformers Work in NLP?

Pre-trained Large Language Models (BERT and GPT-2):

    Demystifying BERT

رودمپ پردازش زبان طبیعی nlp
مقالات کاربردی پردازش زبان طبیعی

در این بخش و پس از آشنایی با مفاهیم کلی چند مقاله مربوط به پیاده‌سازی taskهای مختلف مطالعه می‌کنیم.
آموزش LSTM و CNN

    Sentiment Analysis using LSTM
    Understanding CNN for NLP

آموزش ساخت Chatbots

    Learn how to Build and Deploy a Chatbot in Minutes using Rasa
    How to build a voice assistant with open source Rasa and Mozilla tools

آموزش پردازش صوت

    Speech Data Exploration
    Audio Classification
    Pre-trained speech-to-text model – DeepSpeech

جمع‌بندی

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

09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com


 برای هرچه بهتر کردن محتوا و معرفی منابع مناسبی که فکر می‌کنید بهتر است در این کتابچه اضافه شود، از طریق این آدرس ایمیل در ارتباط باشیم. با روی باز محتوای شما در این کتابچه اضافه می‌شوند و منبع مناسبی برای افراد مختلف می‌شود.
پروژه هایه nlp پردازش زبان طبیعی

نوامبر 14, 2021 , admin    , پیغام بگذارید   
گروه تخصصی پردازش زبان طبیعی nlp  azsoftir آماده انجام پروژه هایه پردازش زبان طبیعی nlp  در زمان تعیین شده وبا بهترین کیفیت می باشد .پروژه هایه خود را می توانید از طریق ایمیل آدرس azsoftir@Gmail.com یا شماره 09367292276 یا از لینک زیر ثبت پروژه ارسال کنید.

پردازش زبان چیست ؟

معرفی پردازش زبان طبیعی

پردازش زبان طبیعی از سال 1950 مورد توجه قرار گرفت .اگر چه قبلا کارهایی بر رویه پردازش طبیعی انجام شده بود که می توان به مقاله منتشر شده با عنوان هوش محاسباتی وماشین کامپیوتری توسط آن تورینگ اشاره کرد .

کارهایی که در زمنیه پردازش متن قابل انجام هست ؟
انجام پروژه هایه دانشجویی nlp
انجام پروژهه هایه پردازش زبان طبیعی
انجام پروژه nlp در پایتون pythoon
انجام پروژه هایه هوش مصنوعی nlp
انجام پروژه هایه Natural Language Processing
پروژه nlp
پروژه پردازش زبان طبیعی
سفارش پروژه پردازش طبیعی nlp
describe-nlp
describe-nlp

پردازش ربان طبیعی nlp  مخفف عبارته  (Natural Language Processing)می باشد.برایه شناخت زبان محاوزه ای بینه سیستم کامپیوتری وانسان استفاده می شود.

اولین ترجمه متن توسط تاون در سال 1954 استفاده شد.در سال 1966 نیز کاری انجام شد که البته کاری از پیش نبرد در سال 1980 تحقیقات اندکی با موفقیت در زمینه ترجمه ماشینی انجام شد.

تا سال 1980 پردازش زبان طبیعی بیشتر بر اساسه قانونهایه دست نویس بود اما اوخر همین هوش مصنوعی تحولات زیادی را پردازش زبان طبیعی ایجاد کرد.برخی از الگوریتم هایه اولیه یادگیری ماشین مثله درخت تصمیم شبیه قواعد دست دستی ایجاد کردند .

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

پردازش زبان طبیعی nlp

پردازش زبان طبیعی در واقع روشی برای درک زبان انسان توسط سیستم هایه کامپیوتری می باشد.

پردازش زبان طبیعی یا همان NLP معروف در واقع یک فناوری برای درک زبان انسان توسط کامپیوترهاست.

what nlp

اما روشی که بتوان مثلا فایل صوتی یا متن کامپیوتری یا فایل متنی تصویر را به کامپیوتر بصورت هوشمند معرفی کرد وآن کامپیوتر آن را درک کرد بسیار با اهمیت می باشد در واقع در پردازش زبان متنی NLP  هدف همین می باشد.

ارتباط پردازش زبان طبیعی NLP وهوش مصنوعی

پردازش زبان طبیعی یکی از زیر شاخه هایه هوش مصنوعی محسوب می شود ارتباط زبان بینه انسان وکامپیوتر می باشد.ارتباط بینه زبان انسان وکامپیوتر در چند گام انجام میشود .

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

09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com


در گام اول انسان با کامپیوتر صحبت می کند

در گام دوم کامپیوتر صدای انسان را ذخیره می کند

در گام سوم کامپیوتر این صدا به نوشته معادل  تبدیل می کند .

همین متن را کامپیوتر بر اساسه متن تبدیل شده را تلفظ میکند .

بدین روش ارتباط بینه انسان وکامپیوتر برقرار میشود .

کاربرد nlp
کاربرد پردازش زبان طبیعی
پردازش زبان طبیعی NLP کاربرد زیادی دارد:

بطور مثال

ترجمه متن :شبیهی چیزی که در گوگل ترنسلیت استفاده میشود .

در برنامه هایه ویرایشکر در اصلاح گرامرونوشتار کلمات کاربرد دارد.

روشهایه پردازش در NLP

1-تحلیل گرامری

در این روش در کنار هم قرار دادن لغات می توان جملات را درست کرد. از این نظر می توان آنالیز گرامی اشاره کرد .

2-تحلیل معنایی

برایه فهم دقیق معنایه درست متن بکار می رود .این مورد سخت ترین کارهایه پردازش متن می باشد.
عی (NLP) یکی از جنبه های جذاب و شگفت انگیز هوش مصنوعی است. با تکامل و توسعه مداوم NLP در سال های اخیر، دانستن در مورد پیشرفته ترین و با کیفیت ترین موضوعاتی که هر فرد علاقه مند به علوم داده باید بر روی آنها تمرکز کند، ضروری است تا به موفقیت بیشتری در این زمینه دست یابد.

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

با وجود چالش های متعددی که در زمینه NLP وجود دارد، مانند وادار کردن هوش مصنوعی به درک مفهوم واقعی جملات، پیشرفت فوق العاده ای داشته ایم و در زمینه پردازش زبان طبیعی پیشرفت چشمگیری کرده ایم.

اگر در مورد پروژه های بیشتر با Python و Data Science کنجکاو هستید، در لینک زیر پانزده تا از بهترین پروژه های سال 2021 و بعد از آن تحت پوشش قرار گرفته اند.

yun.ir/mxdvcb

در این مقاله، بر روی پنج موضوع و پروژه NLP تمرکز خواهیم کرد که تمامی علاقه مندان به این موضوع باید درباره آن بدانند.
۱- NLTK با یادگیری ماشین و یادگیری عمیق
کتابخانه
کتابخانه

یکی از اساسی ترین ابزارهای پردازش زبان طبیعی برای حل بسیاری از مشکلات کتابخانه NLTK است. جعبه ابزار زبان طبیعی (NLTK) ابزارهای زیادی را برای حل بسیاری از مشکلات پردازش زبان طبیعی ارائه می دهد. کتابخانه NLTK برای کارهای مبتنی بر زبان طبیعی بسیار مناسب است. طیف گسترده ای از گزینه ها را برای وظایفی مانند طبقه بندی، توکن سازی، بن سازی، برچسب گذاری، تجزیه و تحلیل و استدلال معنایی ارائه می دهد.

بهترین بخش استفاده از این کتابخانه همراه یادگیری ماشین و یادگیری عمیق این است که می توانید پروژه های بیشماری با کیفیت بالا ایجاد کنید. ویژگی های ماژول کتابخانه NLTK گسترده هستند. کارهای زیادی وجود دارد که می توانید با این کتابخانه انجام دهید و از روشهای کیسه کلمات، فراوانی اصطلاح - معکوس فراوانی متن (TF-IDF) ، واژه به بردار و سایر روشهای مشابه برای انجام دادن این کارها و حل مشکلات استفاده کنید.

در زیر یک نمونه کد آورده شده است که نشان می دهد چگونه می توانید مجموعه داده ها و بردارهای مقاله را برای مجموعه داده های بزرگ ایجاد کنید و سپس از تنظیمات hyperparameter همراه با تکنیک های NLP و الگوریتم های یادگیری ماشین مانند Naïve Bayes، درختان تصمیم گیری و سایر روش های یادگیری ماشین برای حل این مشکلات پیچیده به راحتی استفاده کنید.

کد نمونه:

    vectorizer = CountVectorizer(min_df=10,ngram_range=(1,4), max_features=50000)
    vectorizer.fit(X_train['essay'].values) # fit has to happen only on train data

    # we use the fitted CountVectorizer to convert the text to vector
    X_train_essay_bow = vectorizer.transform(X_train['essay'].values)
    X_cv_essay_bow = vectorizer.transform(X_cv['essay'].values)
    X_test_essay_bow = vectorizer.transform(X_test['essay'].values)

09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com


۲- سیستم های پیش بینی کننده
سیستم پیش بینی کننده
سیستم پیش بینی کننده

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

برای پیش بینی کلمات متقارن یا نزدیکترین کلمات بعدی در یادگیری ماشین، می توان از مفهوم شباهت برای دستیابی به نتایج مطلوب استفاده کرد. از الگوریتم های یادگیری ماشین مانند ماشین های بردار پشتیبان (SVM) ، درخت تصمیم و سایر روش های مشابه می توان برای کارهایی مانند پیش بینی کلمه بعدی و سایر کارهای غیرقابل تشخیص استفاده کرد.

رویکرد متداول تر برای حل این مشکلات پیچیده این است که اطمینان حاصل کنیم ما به طور موثر از مفاهیم یادگیری عمیق استفاده می کنیم. روش های معماری شبکه عصبی با استفاده از شبکه های عصبی بازگشتی یکی از این رویکرد های معمول برای پیش بینی کلمه های بعدی است. با این حال، به دلیل مشکلات انفجار و از بین رفتن شیب ها، موارد مشابه شبکه های عصبی بازگشتی مانند حافظه کوتاه مدت (LSTM) به عنوان یک روش جایگزین عالی برای انجام این کارها استفاده می شود.

یک روش منحصر به فرد برای انجام این کار ها استفاده از شبکه های عصبی پیچشی تک بعدی برای ایجاد پیوند به بردارهای کلمه است. به مخاطبان توصیه می کنم یکی از پروژه های لینک زیر را در مورد پیش بینی کلمه بعدی بررسی کنند، جایی که روش زیر را با کمک چند LSTM دسته ای پیاده سازی کرده ام.

yun.ir/05ak1f
3- چت بات
چت بات
چت بات

یکی از متداول ترین کاربردهای پردازش زبان طبیعی استفاده از چت بات(Chatbot) ها است. چت بات ها توسط اکثر غول های بزرگ فناوری، شرکت های بزرگ و حتی استارت آپ های کوچکتر در وب سایت ها برای استقبال کردن از مردم، معرفی جنبه های اساسی شرکت به بازدیدکنندگان، بینندگان یا مخاطبان و همچنین پاسخ دادن به برخی از سوالات متداول که ممکن است بازدید کنندگان سایت در اولین بار بپرسند، استخدام میشوند.

چت بات ها همچنین برای ارائه توضیحات در مورد برخی از مواردی که کاربران ممکن است در هنگام مرور وب سایت خود با آن روبرو شوند مفید هستند. چت بات ها همچنین می توانند در مواردی برای اکثر مخاطبان عمومی استفاده شوند. محبوب ترین دستیارهای هوشمند مجازی مانند Google Assistant ، Siri ، Alexa و بسیاری دیگر، توانایی عملکرد به عنوان Chatbot را دارند.

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

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

yun.ir/wwhftc
۴- تبدیل شونده ها
تبدیل شونده
تبدیل شونده

امروزه تبدیل شونده(Transformer) ها یکی از برجسته ترین معماری های یادگیری عمیق هستند. آنها قصد دارند کارهای متوالی را راحت تر انجام دهند. آنها توانایی حفظ زنجیره های طولانی داده را دارند و از این رو، در هنگام کار با توالی های دور برد، از اطمینان بالایی برخوردارند. از مفاهیم خودآگاهی برای انجام کارهای پیچیده بدون استفاده از شبکه های عصبی بازگشتی هم تراز یا پیوند استفاده می کنند.

تبدیل شونده ها یک پیشرفت نوآورانه در زمینه پردازش زبان طبیعی هستند. آنها توانایی انجام کارهای پیچیده مانند ترجمه ماشینی را با راحتی بیشتری دارند.

09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com


تبدیل شونده ها همچنین در بسیاری از کارها مانند بازیابی اطلاعات، طبقه بندی متن، خلاصه سازی سند، درک تصویر و تجزیه و تحلیل ژنوم، کاربرد های خود را دارند. توصیه می کنم برای یادگیری بیشتر و عمیق تر در مورد تبدیل شونده ها تحقیق کنید تا شهود و درک بیشتری از این تکامل مدرن کسب کنید.
۵- ترجمه ماشینی
ترجمه
ترجمه


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

پس از تایپ یک جمله خاص به انگلیسی و درخواست از مترجم گوگل برای تبدیل آن به زبان آلمانی، مترجم معمولاً در تبدیل یک جمله از انگلیسی به یک جمله به زبان آلمانی عملکرد خوبی دارد، بدون اینکه معنای واقعی جمله را تغییر دهد.این کار ترجمه ماشینی تلقی میشود.

ترجمه ماشینی یکی از مهمترین و پرکاربرد ترین قابلیت های پردازش زبان طبیعی است. علاقه مندان میتوانند به کمک کتابخانه TensorFlow یا کتابخانه Pytorch در انجام کار ترجمه ماشینی فعالیت کنند. با استفاده از این کتابخانه ها، میتوانید یک مدل توالی به توالی بسازید که بتواند ضمن دستیابی به بالاترین دقت ممکن، ترجمه ماشینی را انجام دهد. بسیاری از روشهای مدرن و حیرت انگیز زیادی وجود دارند که برای انجام این کارها در حال توسعه هستند.
نتیجه گیری

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

در این مقاله ، ما پنج مفهوم پردازش زبان طبیعی را مورد بحث قرار داده ایم که هر علاقه مند باید آنها را بشناسد. آنها مهمترین و حیاتی ترین جنبه های برنامه های کاربردی NLP امروزی را تشکیل می دهند. تقاضا و اهمیت این زمینه های پیشرفته هر روز به سرعت در حال افزایش است. از این رو، این زمان یکی از موثرترین دوره ها برای متقاضیان سرمایه گذاری و یادگیری بیشتر است.

09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com


به نظر من، همه مخاطبان و علاقه مندان به پردازش زبان طبیعی باید درباره این موضوعات بیشتر تحقیق کنند و سعی کنند بیشتر با جنبه های مهم این مفاهیم آشنا شوند و بعد از کسب دانش نظری مناسب، مخاطبان را ترغیب می کنم که به دنیای عملی شیرجه بزنن

نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد