پردازش زبان طبیعی (Natural Language Processing) زیرشاخهای از هوش مصنوعی (AI) هست که به ماشینها کمک میکنه زبان انسان رو پردازش و درک کنه تا بتونند بهطور خودکار کارهای تکراری رو انجام بدن. ما انسان ها اکثرا از طریق کلمه ها با هم گفت و گو میکنیم ولی کامپیوتر ها با جدول های دیتابیس یا صفحه های گسترده (Spreadsheets) خیلی خوب عمل میکنند. از این طرف خیلی از اطلاعات ما توی جهان ساختاری نداره و این برای ماشین ها خوب نیست و این چالش بزرگیه. خب سوال اینجا پیش میاد حالا چطور میتونیم کامپیوتر هارو به درک متون بدون ساختار وادار کنیم؟ اینجاست که پردازش زبان طبیعی یا همون NLP پیشتاز میشه و خودی نشون میده!
اول نیازه که در مورد هوش مصنوعی یه ذره آشنایی اولیه پیدا کنیم. اونجور که اکثر مردم فکر میکنند اینه که هوش مصنوعی مثل یه ترمیناتور تو فیلم The Terminator هست و میخواد کل آدما رو نابود کنه!
فکر میکنن که تو زمونه ای داریم زندگی میکنیم که هوش مصنوعی میتونه از پس هر کاری بر بیاد. در واقع این طرز فکر ها باعث و بانیش فیلمای هالیوودی هست! نه خیر اینجوریام نیست. اگه اینجوری بود چه نیازی بود ما به ماشین بفهمونیم آقا/خانم بیا این متنی که به زبون آدمی زاد هست بفهم!
هوش مصنوعی علم ساخت ماشینهایی هست که میتونن مانند انسان فکر کنند و میتونند کارهایی انجام بدن که «هوشمند» در نظر گرفته میشوند. هدف هوش مصنوعی اینه که بتونند کارهایی مثل تصمیم گیری، قضاوت و تشخیص الگو رو مثل انسان ها انجام بدن.
این موضوع حدودا در دهه 1940 که جنگ جهانی دوم تموم شده بود شروع شد. مردم اهمیت ترجمه یه زبان به زبان دیگه رو درک کردند و امیدوار بودن همچین چیزی به زودی عرضه بشه. توی سال 1950 پدر علوم کامپیوتر یعنی آلن تورینگ (Alan Mathison Turing) سنگ بنای NLP رو با این گفته زیر ایجاد کرد:
اگر ماشینی توانایی این را داشته باشد که با یک انسان به گفتگو بنشیند، میتوان آن را ماشینی متفکر دانست.
در سال 1958 بعضی از محققان که یکی از اونها جناب نوام چامسکی (Noam Chomsky) که زبان شناس بود کتاب ساختار های نحوی رو ارائه داد. منتهی این موضوع به قدری دشوار بود که به این زودی ها نتونستند به طور کامل حل کنن.
توی دوران 1958 تا 1970 محققان NLP میشه گفت به دو بخش تقسیم شدند:
این موضوع رفته رفته معروف تر شد تا جایی که اپلیکیشن هایی به وجود اومدن مثل «ELIZA» توی سال 1966 که اولین چت بات (chat bot) بود و کاربردش تو زمینه خدمات درمانی با استفاده از روش های تطبیق الگو (Pattern Matching) و گزینش پاسخ (Response Selection) خدمات ارائه میکرد.
بعد از اون نظامی ها توی سال 1971، سازمان پروژههای پژوهشی پیشرفته دفاعی «DARPA» اومدن ترانویسی خودکار (در مقابل اختلال و نویز) گفتار یا «RATS» رو ایجاد کردن. این سیستم کار های مربوط به تحلیل سیگنال های گفتاری رو تو کانال هایی که به شدت نویز داشته رو انجام میداد.
بعد سال 1970 این دسته بندی بیشتر شد و حوزه های جدیدی متولد شدن مثل:
تا سال 1993 دانشمندان روش ها و استدلال های چامسکی و بقیه محققان قبل رو آزمایش کردند و فهمیدن بسیاری از استدلال هایی که در متن قانع کننده بود، از نظر تجربی دقیق نیست. خلاصه روش های احتمالی و آماری رایج ترین نوع مدل ها بودند.
برای پردازش و درک، زبان انسان به قطعاتی تقسیم میشن تا ساختار دستورب و معنی کلمه ها توی متن (context) تحلیل و درک بشه. به طور خلاصه کار هایی که قبل از استفاده از ابزار پردازش زبان طبیعی باید انجام بشه:
که این عناوین رو میشه به طور کلی و سازماندهی توی تحلیل های زبان زیر گفت:
بعد از این کار ها نیازه که یه الگوریتمی بسازیم یا استفاده کنیم تا این اطلاعات رو استفاده کنه.
به طور کلی دو مدل الگوریتم اصلی داریم:
مزایا:
معایب:
مزایا:
معایت:
این شاخه مثل شاخه های دیگه علوم کامپیوتری کاربردهای فراوانی داره و تو اکثر جاها میشه ازشون استفاده کرد. اینجا به چند تا از مهم ترین کاربردها آشنا میشیم:
خب تا اینجا دید خوبی نسبت به اینکه NLP یعنی چی پیدا کردیم. خب حالا خوبی ها و بدی هاش چیه؟
مزایا:
معایت:
خب رسیدیم به انتهای مقاله و فهمیدیم که این رشته از علوم کامپیوتر چیه و کاربردش توی کدوم حوزه هاست. امیدوارم از خوندن مقاله لذت برده باشین.
نسخه صوتی رو یه بار گرفتم توش ایرادات لفظی داره دیگه کات کردن و از این کارا بلد نیستم. به مرور آپدیت میشه و مطالب بیشتری رو میارم اگه یادم نره!