مهندس کامپیوتر گرایش فناوری اطلاعات دانشگاه آزاد اسلامی واحد تهران مرکز، فعال در زمینهی برنامه نویسی به زبان پایتون، علاقهمند به هوش مصنوعی و زیرشاخههای آن از جمله یادگیری ماشین و پردازش زبان طبیعی
پردازش زبان طبیعی (NLP) به بیان ساده
تا به حال شده به این فکر کنید که موتور جستجوگر گوگل چطور کار میکند؟ چطور غلطهاي املایی تصحيح ميشود؟ یا شده فکر کنید که دستیاران صوتی گوگل، سیری و اَلِکسا چطور صحبت ما را به متن تبدیل میکنند و سریعاً به ما پاسخ میدهند؟ یا مثلاً بگوييد کاش برنامهاي وجود داشت که یک مقاله طولانی را سریعاً خلاصه، مفید و مختصر برايمان توضيح ميداد؟ خب باید بگويم که تمام اینها با NLP امکان پذیر است؛ پس بياييد NLP را بیشتر بشناسیم.
پردازش زبان طبیعی (NLP) چیست ؟
NLP = Natural Language Processing
پردازش زبان طبیعی یا NLP که یکی از زیرمجموعههای هوش مصنوعی است، یک فناوری برای درک زبان انسانی توسط کامپیوترهاست.
همان طور که میدانید، کامپیوترها اعداد و دادههای جدولی را به خوبی درک میکنند؛ اما زبانی که ما روزانه با آن صحبت میکنیم مثل فارسی، انگلیسی، چینی و غیره، دارای ساختار مشخصی نیست؛ ولي انتظار داريم کامپیوترها این کلمات و جملههای ما را به خوبی درک و اطلاعات معناداری از آنها دریافت کنند. این کار آن قدر بزرگ و مهم است که خیلیها اعتقاد دارند آخرین گام هوش مصنوعی، این است که سیستمها با ما حرف بزنند و ما نتوانیم تشخیص دهیم که به جای یک انسان، با کامپیوتر ارتباط برقرار کردهایم. این کار توسط آزمون تورینگ انجام میشود.
آزمون تورینگ چیست ؟
آزمون تورینگ، آخرین مرحلهی تست هوشمندی ماشین در زمینهی NLP است. این آزمون به این شکل است که یک شخص شروع به چت کردن با یک ماشین میکند در حالی که نمیداند مخاطب او یک انسان نیست. اگر او نتواند در پایان صحبتش تشخیص دهد که با یک ماشین چت کرده، ماشین در این آزمون موفق شده است.
نحوهی ارتباط انسان و کامپیوتر
برقراری ارتباط ما با کامپیوترها با استفاده از يك چتبات صوتي به صورت زیر است:
1. ابتدا ما با کامپیوتر صحبت میكنيم.
2. دستگاه صوتی کامپیوتر صحبتهای ما را دريافت میکند.
3. کامپیوتر صداها را به متن تبدیل میکند.
4. متن دریافتی پردازش ميشود.
5. سپس بسته به نوع گفتگو، پاسخی آماده میکند و آن را به دادههای متني تبدیل میکند.
6. پس از آن، دادهها را به شکل صوتی تبدیل مینماید.
7. در آخر کامپیوتر با پخش کردن فایل صوتی به ما پاسخ میدهد.
شاید به نظر این هفت گام، زمان زیادی نیاز داشته باشند؛ اما در کمال ناباوری تمام این کارها در کسری از ثانیه انجام میگیرد.
تکنیکهای پردازش متن
پردازش متن دارای دو تکنیک نحوی (syntax) و معنایی (semantic) است.
1- نحوی (syntax)
در تجزیه و تحلیلِ «نحوی»، چیدمان کلمات از نظر دستور زبانی (گرامری) بررسی میشود. در NLP از تحلیل نحوی برای بررسی هماهنگ بودن زبان طبیعی با قوانین دستور زبان، استفاده میشود. برخی از تکنیکهای تحلیل نحوی به قرار زير هستند:
· گروهبندی: برای کاهش شکلهای مختلف کلمات به یک شکل است تا تحلیل متن آسانتر شود.
· تقسیمبندیِ مورفولوژیکی: یعنی تقسیمبندی کردن کلمات به واحدهای جداگانه (واژک).
· تقسیمبندی لُغَوی: تقسیم کردن یک متن طولانی به واحدهای جدا از هم.
· برچسبگذاری بخشی از متن: مربوط به شناسایی بخشی از متن یا گفتار برای هر کلمه میباشد.
· تجزیه و تحلیل کردن: تحلیلهای گرامری برای جملات متن است.
· شکستن جمله: مربوط به محدود کردن جملات در متن طولانی میباشد.
· ریشهيابي: تجزیهي کلمات و بدست آوردن ریشهی آنها
2- معنايي (semantic)
تحلیل معناشناسی یکی از سختیهای NLP است که هنوز به طور کامل مشکلاتش رفع نشده است. این روش با استفاده از الگوریتمهای کامپیوتری برای درک معنی کلمات و چگونگی ساختاربندی جمله انجام میشود. برخی از این تکنیکها به قرار زير هستند.
· شناسایی موجودیت (NER): فرآیندی است برای تشخیص اسامی و نوع آنها که هدف آن تشخیص و شناسایی کلمات یا عبارتهایی است که یک موجودیت را بیان میکنند؛ مانند اسامی اشخاص، اسامی کارخانهها، مکانها و غیره. همچنین میتواند اسامی مشترک را با توجه به مفهوم متن تفکیک کند و یا نقلقولها را پیدا کند.
· ابهامزدایی کلمات: مربوط به ارائه معنی یک کلمه بر اساس موضوع متن میباشد.
· تولید زبان طبیعی: تبديل دادههاي درك شده به متن زبان انساني است.
خدمات و محصولات مرتبط با NLP :
- دستیارهای صوتی از جمله Siri، Cortana و Google Assistant
- ماشینهای ترجمه مثل مترجم گوگل و یا نمونه ایرانی آن ترگمان
- سرویس زیرنویس خودکار یوتیوب
- سرویس تصحیح گرامر گوگل
- سیستمهای غلطیابی و نرمالسازی خودکار متون
کاربردهای NLP :
1. ترجمه ماشینی
2. تصحیح گفتار
3. تحلیل احساسات و نظرات
4. پاسخدهي اتوماتيك سوالات
5. خلاصه کردن متن
6. چتباتها
7. سیستمهای هوشمند
8. طبقهبندی کردن متن
9. شخصیت شناسی
10. تشخیص غلطهای املایی
11. شناسایی هرزنامه
12. تایپ پیشبینی شده
چتباتها، یکی از مهمترین کاربردهای NLP :
چتباتها (chatbots) سرویسی هستند که توسط قوانینی مشخص و با استفاده از هوش مصنوعی ساخته میشوند و کاربران از طریق چت کردن با آنها ارتباط برقرار میکنند.
حتماً تا الان از چتباتهای تلگرام استفاده کردهاید و یا توجه کردهاید وقتی وارد برخی از سایتها میشوید یک ربات به شما پیام خوش آمدگویی میدهد و اعلام آمادگی برای کمک به شما میکند. اینها نوعی از چتباتها هستند که ما روزانه با آنها سر و کار داریم.
یکی از مزیتهای آنها (که شاید به آن توجه کرده باشید) این است که برعکس انسانها در زمانی که از آنها کمک میخواهیم یا درخواست چیزی از آنها داریم، چتباتها کوتاهترین توضیحات ممکن را به ما میدهند و در سریعترین حالت ممکن خدمترسانی میکنند. مزیت دیگر چتباتها این است که آنها میتوانند با استفاده از بالا بردن اصل بهرهوری و کمک به کسب و کارها، برای رفع نیازهای روزافزون مشتریان، به کسب و کارها سودرسانی داشته باشند.
با توجه به تمام مطالب گفته شده، حتماً متوجه شدهاید که چقدر فناوری NLP در حال پیشرفت است و سهم زیادی در آیندهی ما خواهد داشت و چقدر دانستن آن میتواند برای ما مفید باشد و جایگاه ما را در آیندهای نه چندان دور تضمین میکند. حال تصور کنید چقدر خوب میشود اگر چنين دانشي را در مدارس به کودکان و نوجوانان آموزش بدهیم و به آنان اجازه دهیم تا با علم روزی که در کشورهای پیشرفته وجود دارد، رشد کنند؛ ذهن کنجکاو و کم مشغلهی آنان میتواند ایدههای نابی در این زمینه داشته باشد.
منابع تصاویر :
www.medium.com
www.bloomreach.com
www.aliz.ai
www.thetechnomaniac.com
www.towardsdatascience.com
www.learn.g2.com
www.botmywork.com
مطلبی دیگر از این انتشارات
هر آنچه باید درمورد واقعیت افزوده بدانید
مطلبی دیگر از این انتشارات
مزایای آموزش برنامه نویسی برای کودک و نوجوان
مطلبی دیگر از این انتشارات
واقعیت مجازی Virtual Reality