پردازش زبان طبیعی (Natural language processing)

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


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


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


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


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


توضیح:


https://lilianweng.github.io/lil-log/2017/10/15/learning-word-embedding.html
پیاده سازی:


https://towardsdatascience.com/implementing-word2vec-in-pytorch-skip-gram-model-e6bae040d2fb