پردازش زبان طبیعی (NLP)
پردازش زبان طبیعی (NLP) برای پردازش و درک دادههای طبیعی مبتنی بر زبان است که در قالبهای ساختنیافتهای مانند متن، سخنرانی و غیره وجود دارند. NLP حوزهای تخصصی در علوم رایانه و هوش مصنوعی محسوب میشود که ریشه در زبانشناسی محاسباتی دارد. NLP الگوریتمی است برای درک زبان انسان است و توانایی پردازش زبان گفتار را دارد و این در حالی است که NLP جزئی از هوش مصنوعی (AI) به حساب میآید.دغدغه اصلی این حوزه طراحی و ساخت سیستمهایی است که امکان تعامل بین ماشینها و زبانهای طبیعی را فراهم سازند و در طی زمان برای استفاده انسان تکامل پیدا کنند. این حوزه علمی به عنوان یک زمینه کمعمق و سطحی برای تحقیق نگریسته میشود و افراد تمایل دارند که بیشتر روی یادگیری ماشین و یادگیری آماری تمرکز کنند. هدف اصلی در پردازش زبان طبیعی، ایجاد تئوریهایی محاسباتی از زبان، با استفاده از الگوریتمها و ساختارهای دادهای موجود در علوم رایانه است. بدیهی است که در راستای تحقق این هدف، نیاز به دانشی وسیع از زبان است و علاوه بر محققان علوم رایانه، نیاز به دانش زبان شناسان نیز در این حوزه میباشد. با پردازش اطلاعات زبانی میتوان آمار مورد نیاز برای کار با زبان طبیعی را استخراج کرد. کاربردهای پردازش زبان طبیعی به دو دسته کلی قابل تقسیم است: کاربردهای نوشتاری و کاربردهای گفتاری. از کاربردهای نوشتاری آن میتوان به استخراج اطلاعاتی خاص از یک متن، ترجمه یک متن به زبانی دیگر یا یافتن مستنداتی خاص در یک پایگاه داده نوشتاری (مثلاً یافتن کتابهای مرتبط به هم در یک کتابخانه) اشاره کرد. نمونههایی از کاربردهای گفتاری پردازش زبان عبارتند از: سیستمهای پرسش و پاسخ انسان با رایانه، سرویسهای اتوماتیک ارتباط با مشتری از طریق تلفن، سیستمهای آموزش به فراگیران یا سیستمهای کنترلی توسط صدا. در سالهای اخیر این حوزه تحقیقاتی توجه دانشمندان را به خود جلب کردهاست و تحقیقات قابل ملاحظهای در این زمینه صورت گرفتهاست.
با اینکه مجموعه گستردهای از روشها در پردازش زبان طبیعی بکار میروند، تکنیکهای بکار رفته را میتوان به سه دستۀ کلی تقسیم نمود:
- روشهای آماری
- روشهای ساختاری/مبتنی بر الگو
- روشهای مبتنی بر استنتاج
باید توجه داشت که این راهکارها لزوماً از هم جدا نیستند. در واقع، جامعترین مدلها از ترکیب هر سۀ این روشها استفاده میکنند. تفاوت این راهکارها در نوع عملیات پردازشی است که قادر به انجام آن هستند و میزان قواعدی که در مقابل آموزش/یادگیری خودکار از روی دادههای زبانی نیاز دارند. توسعهٔ الگوریتمهای NLP بسیار چالشبرانگیز است چرا که کامپیوترها برای پردازشهای سنتی نیاز به یک انسان داشتند تا با یک زبان برنامهنویسی صریح، غیرمبهم و بسیار ساختاریافته یا از طریق تعداد محدودی از کامندهای صوتی کاملاً واضح مسائل را برای آنها تشریح کنند؛ در حالی که کلام انسان همیشه دقیق نیست، اغلب مبهم است و ساختار آن به بسیاری از متغیرهای پیچیده از جمله اصطلاحات عامیانه، گویشهای منطقهای و زمینههای اجتماعی بستگی دارد.
گردش کار NLP
به طور معمول هر مسئله مبتنی بر NLP را میتوان به وسیله گردش کاری روششناختی (methodical) که یک توالی از گامها دارد، حل نمود. گامهای اصلی در تصویر زیر مشخص شدهاند.
ما معمولاً با تودهای از اسناد کار خود را آغاز میکنیم و با پیروی از فرایندهای استاندارد برای گردآوری متون و پیش-پردازش، تجزیه و آنالیز مقدماتی کاوشی داده کار خود را ادامه میدهیم. بر اساس بینشهای اولیه، معمولاً متن را با استفاده از تکنیکهای مهندسی ویژگی، بازنمایی میکنیم. سپس بسته به مسئلهای که در دست داریم یا روی ساخت مدلهای نظارتشده پیشبین و یا مدلهای نظارتنشده متمرکز میشویم که معمولاً بیشتر تمرکز روی کاوش الگو و گروهبندی است. در نهایت به ارزیابی مدل و تعیین معیار کلی موفقیت بر اساس نظر مشتریان یا ذینفعان مرتبط پرداخته و مدل نهایی را برای استفادههای بعدی انتشار میدهیم.
سطوح تحلیل زبانی:
- آواشناسی/واجشناسی
- ساختواژه (صرف)
- نحو
- معنیشناسی
- کاربردشناسی
- گفتمان
تکنیکهای پردازش زبان طبیعی
قطعهبندی و نرمالسازی متن:
-
- برای پردازش متن در كاربردهایی مانند ترجمه ماشینی، بازیابی اطلاعات، تبدیل متن به گفتار و … باید متن ورودی قطعه بندی و نرمالسازی شود.
- قطعهبندی: تقطیع دنباله كاراكترهای تشكیل دهندة متن به دنبالهای از كلمات.
- مشکلات:
- علائم نقطهگذاری معمولاً به كلمۀ قبل از خود میچسبند.
- پسوندها و پیشوندها: در فارسی پسوندها و پیشوندها در بسیاری مواقع با فاصله از كلمه اصلی نوشته میشوند.
- كلمات مركب: بین اجزای كلمات مركب معمولاً فاصله گذاشته میشود.
- مشکلات:
- نرمالسازی: یكدستسازی واحدهای متنی به طوری كه قابل پردازش توسط ماشین باشند.
- مشکلات:
- وجود encodingهای مختلف برای بعضی از كاراكترها مانند «ی» و «ك».
- روشهای مختلف چسبیدن وندها به كلمات اصلی.
- روشهای مختلف اتصال اجزای كلمات مركب.
- كلمات چنداملایی.
- مشکلات:
تحلیل ساختواژی:
-
- چگونه كلمات از واحدهای كوچكتر به نام تكواژ تشكیل می شوند.
- تكواژ: كوچكترین واحد دربردارنده معنا در زبان.
- ساختواژه تصریفی.
- ساختواژه اشتقاقی.
برچسبزنی جزء کلام:
-
- فرایند انتساب مقولۀ نحوی به هر کلمه در پیکره متنی.
- جزء کلام: مقولۀ نحوی که هر کلمه به آن تعلق دارد.
- کاربردها:
- مدلسازی زبانی (در بازشناسی گفتار و …): مقولۀ نحوی یک کلمه میتواند در پیشبینی کلمۀ بعدی کمک کند.
- سنتز گفتار: مقولۀ نحوی یک کلمه میتواند اطلاعاتی در مورد نحوۀ تلفظ صحیح یک کلمه به ما بدهد.
- بازیابی اطلاعات: دانستن مقولۀ نحوی کلمات میتواند به استخراج کلمات مهم در متن کمک کند.
- رفع ابهام معنایی: دانستن مقولۀ نحوی کلمات میتواند به رفع ابهام معنایی کلمه کمک کند.
تجزیه یا پارس (تحلیل نحوی):
-
- تجزیۀ جمله به ساختارهای نحوی تشكیلدهندۀ آن.
- برای تعیین ساختارهای نحوی یك جمله به دو چیز نیاز داریم:
- گرامر: دربردارندۀ توصیف رسمی از ساختارهای مجاز زبان.
- تكنیك پارس: روش آنالیز جمله برای مشخص كردن ساختارهای نحوی آن بر اساس گرامر زبان.
تحلیل معنایی:
-
- رفع ابهام از کلمه.
- مطالعه در مورد معنای رخدادهای زبانی.
- چگونه معنای یك جمله به معنای عبارات، كلمات و تكواژهای تشكیل دهندۀ آن مربوط می شود.
- چهار روش متداول:
- منطق مرتبه اول.
- شبكه معنایی.
- دیاگرام وابستگی مفهومی.
- نمایش مبتنی بر قاب.
مدلسازی زبانی:یادگیری ماشین.
-
- مدل زبانی نحوۀ رخداد توالی كلمات در زبان را مدلسازی میكند.
- آماری.
- ساختاری.
- سطوح مختلف مدل سازی زبانی:
- واژگانی محلی.
- نحوی.
- معنایی.
- كاربردهای مدل زبانی:
- پیشبینی كلمات.
- بازشناسی گفتار.
- درك زبان طبیعی.
- ترجمة ماشینی.
- بازشناسی نویسههای نوری.
هدف از این دوره آموزشی:
هدف از این دوره آموزشی انجام عملیات مختلف پردازش زبان طبیعی (فارسی و انگلیسی ) با زبان برنامه نویسی پایتون است. در این دوره عملیات پیمایش جملات فارسی و انگلیسی براساس الگوریتم های کارآمدی که برای فارسی و انگلیسی ارائه شده است، انجام می شود. در این پروژه درخت تجزیه جملات فارسی و انگلیسی با بالاترین دقت براساس روش های مختلف رسم می شود. همچنین عملیات ریشه یابی و توکن بندی جملات به صورت دقیق انجام می شود. در ابتدا تئوری کامل پردازش زبان های طبیعی بحث و بررسی می شود و الگوریتم های مختلفی که در این زمینه وجود دارند، معرفی می شوند. در بخش دوم به صورت کامل پردازش زبان انگلیسی و فارسی با پایتون و کتابخانه های پرکاربرد آن پیاده سازی می شود. بدون شک یکی از بهترین دوره های پردازش زبان طبیعی با پایتون می باشد که به صورت مفید و کاربردی توضیح داده شده است. مدرس این دوره سال هاست در این حوزه کار می کند و نکات آموزشی و تدریس خوب ایشان می تواند به شما در متخصص شدن برای پردازش داده های متنی کمک زیادی کند. امیدواریم که این آموزش از “بیگ لرن” هم مثل سایر آموزش ها مورد تایید و رضایت شما مخاطبان گرامی قرار گیرد.
بخش صفر: مرور کامل روی پایتون
بخش پیشنیاز: مرور کامل روی یادگیری ماشین
بخش اول: تئوری پردازش زبان طبیعی
بخش دوم: پیاده سازی عملی پردازش زبان طبیعی با پایتون
بخش سوم: طبقه بندی متون و کاراکترها
نظرات
5 دیدگاه برای پردازش زبان طبیعی (فارسی، انگلیسی، عربی) با پایتون
برای فرستادن دیدگاه، باید وارد شده باشید.
شایان
یکی از بهترین و کامل ترین دوره هایی بود که دیدم.
مدرس این دوره به شدت تسلط داره روی بحث
رامین
از نظر بیان، سرفصل، ارائه مدرس، کیفیت صدا و تصویر جز آموزش های خیلی خوب بود.
ممنون از سایت خوبتون
شیرین
خیلی ممنون از آقای دکتر به خاطر بیان خوبشون. واقعا NLP رو خوب یاد گرفتم
کشاورز
دوره خیلی خوبی بود. بخصوص پردازش زبان فارسی رو خیلی خوب تدریس کردن
مصطفی
سلام
از دوره کامل و عالیتون ممنونم.