فناوری پردازش زبان طبیعی (NLP) چیست و چگونه به اینترنت معنا میدهد؟
آیا در آشپزخانه برف میبارد؟
فناوری پردازش زبان طبیعی (NLP) از اصطلاحاتی است که در هنگام مطالعه متون هوش مصنوعی زیاد به آن برمیخوریم. در ماه سپتامبر ۲۰۱۹، موسسه هوش مصنوعی Allen از یک برنامه کامپیوتری تحت عنوان Aristo رونمایی کرد که میتوانست به بیش از 90 درصد از پرسشهای مطرح شده در تستهای علمیپایه هشتم مقطع تحصیلی پاسخ درست بدهد.
اگرچه کسب نمره قبولی در آزمونی که متعلق به مقطع راهنمایی است، کار چندان سختی به نظر نمیشود اما برای کامپیوترها کار پیچیدهایست. نرمافزار Aristo قادر است با کمک فناوری پردازش زبان طبیعی (NLP) پاسخ درست را از میان میلیونها سند پیدا کند. این فناوری شاخهای از علوم کامپیوتری و هوش مصنوعی است که به کامپیوترها این امکان را میدهد تا از متون فاقد ساختار و پیکربندی، معنا استخراج کنند.
اگرچه فاصله زیادی تا تحقق رویای آدمییعنی امکان مکالمه بدون عیبونقص ماشینها با انسانها فاصله داریم، اما پردازش زبان طبیعی (NLP) درطی سالهای اخیر و به لطف پیشرفت محسوسی که تجربه کرده، به عنوان یکی از عناصر مهم در بسیاری از اپلیکیشنها و برنامههایی که ما انسانها روزانه با آنها سروکار داریم، تبدیل شده است. از جمله این ابزارها میتوان به دستیارهای دیجیتالی، ترجمه ماشینی، سرچ وب، ایمیلها و غیره اشاره کرد.
الگوبرداری و پیاده کردن قابلیتهای پردازش زبانی مغز انسان، کار بسیار سخت و پیچیدهای برای هوش مصنوعی است. تصویر کنید که یک دستگاه مجهز به هوش مصنوعی بخواهد به سوالات مختلف مربوط به وضعیت آب و هوایی پاسخ دهد. در این جا، ممکن است این سوال به شیوههای مختلف پرسیده شود که برخی از آنها عبارتند از:
- هوا امروز چطور است؟
- آیا فردا بارانی خواهد بود؟
- چه زمانی باران بند میآید؟
- آیا هوای امروز شیکاگو، آفتابی است؟
- چه روزهایی در هفته آینده، آفتابی است؟
زبان اغلب با خود معانی پنهان را نیز منتقل میکند که به دانش عمومیدر مورد جهان و نحوه ارتباط میان اشیاء دلالت دارد. بنابراین، درک بسیاری از این جملات و کلمات، صرفا به دانستن معانی کلمات خلاصه نمیشود و میبایست به فراتر از اینها توجه شود. به سوالات زیر توجه کنید:
- آیا هوا برای بازی فوتبال فردا مناسب خواهد بود؟
- آیا در آشپزخانه برف میبارد؟
هر کسی که جمله نخست را بشنود، متوجه خواهد شد که شما دارید صراحتا میپرسید که آیا فردا، هوا آفتابی خواهد بود یا اینکه باران خواهد بارید. اما در مورد سوال دوم، همه میدانند که هرگز در آشپزخانه، برف نمیبارد. اما رمزنگاری جملاتی این چنینی، نیازمند یک دانش زمینهای است. بنابراین هوش مصنوعی به راحتی قادر به تشخیص آن نخواهد بود و این مساله همواره به عنوان چالشی پیش روی محققان بوده است.
در رویکردهای کلاسیک نسبت به پردازش زبان طبیعی از سیستمهای هوش مصنوعی نمادین استفاده میشد، جایی که در آن مهندسان نرمافزار به طور مشخص، قوانینی را برای استخراج معنای زبان مشخص میکنند. این فرآیند، کاربرد محدودی داشت و چندان قابل اتکا نبود. بدین معنی که توسعهدهندگان میبایست همه روشهایی را که ممکن است یک فرد، سوال مربوط به وضعیت هوا را از دستگاه بپرسد، بنویسند و سپس، پاسخ مناسبی را برای هر یک از این سوالات در نظر بگیرند.
این سیستم تنها در شرایطی مفید واقع میشود که رفتار کاربر از محدوده مشخصی فراتر نرود. به محض اینکه سیستم، سوال جدید و متفاوتی را نسبت به آنچه پیشتر برای آن تعریف شده بود، دریافت میکرد، عملا چیزی برای پاسخ در چنته نداشت.
محدودیت سیستمهای مبتنی بر قانون و کدگذاری، در پردازش متون بلند که نیازمند دانش متنی است، بیشتر به چشم میآید. این مساله به طور خاص در ترجمه مشهود است؛ جایی که در آن سیستم میبایست یک متن طولانی را از یک زبان به زبانی دیگر برگرداند که این امر نیازمند اطلاعات در خصوص زبان مبدا و مقصد و همچین تاریخ و فرهنگ دو زبان است.
یادگیری عمیق و پردازش زبان طبیعی
در طی چند سال اخیر، شاهد انقلابی در فناوری یادگیری عمیق بودیم. این فناوری نوعی تکنیک هوش مصنوعی است که به طور ویژه در مدیریت اطلاعات ساختارنیافته همانند تصاویر، صدا و متن بکار گرفته میشود. مهندسان نرمافزار بجای تعریف دستی الگوریتمهای یادگیری عمیق، این فناوری را از طریق فراهم کردن مثالها و نمونههای متنوع، به اصطلاح تعلیم میدهند.
برای نمونه، مهندسان برای تعلیم الگوریتمیبه منظور پاسخ به سوالات مرتبط با آب و هوا، نمونهها و مثالهای متعددی از نحوه پرسیدن سوالات در خصوص وضعیت آب و هوا و پاسخ مناسب این سوالات را برای این الگوریتم فراهم میکنند. این الگوریتم یک مدل آماری ایجاد میکند میتواند به اصطلاح، نقشه جملات جدیدی را ایجاد کند که تاکنون وجود نداشتند.
یادگیری ماشینی، نهتنها نیاز به هرگونه مهندسی رفتارها به صورت دستی را از میان برمیدارد، بلکه کمک میکند تا بتوان کارهای پیچیدهتر پردازش زبان طبیعی همانند ترجمه را به شیوه بهتری انجام داد.
در سال 2016، گوگل بعد از سوییچ کردن به فناوری یادگیری عمیق، متوجه پیشرفت قابلتوجهی در سرویس ترجمه (Translate) خود شد. امروزه بسیاری از کاربردها و عملکردهای پردازش زبان طبیعی مبتنی بر یادگیری عمیق هستند.
کاربردهای فناوری پردازش زبان طبیعی (NLP)
ردپای پردازش زبان طبیعی را میتوان در بسیاری از حوزهها مشاهده کرد. از طرفی، پیشرفتها در برخی عرصهها، زمینه را برای ظهور کاربردهای جدید همواره میکند. درادامه به برخی از این موارد اشاره خواهیم داشت.
دستیارهای دیجیتالی: الکسا، سیری و کورتانا از پردازش زبان طبیعی به منظور جملهبندی و تهیه نقشهای از جملات استفاده میکنند. به لطف پیشرفتهای اخیر در زمینه پردازش زبان طبیعی، کاربران میتوانند حتی با زبان غیررسمیو عامیانه نیز با دستیارهای دیجیتالی صحبت کنند. این دستیارهای دیجیتال میتوانند به دستورات متفاوت و متنوعی از قبیل تنظیم زنگ هشدار، پخش موزیک و روشن یا خاموش کردن لامپها به خوبی پاسخ دهند و آنها را اجرا کنند.
گوگل داپلکس (Duplex) نمونه بارزی از پیشرفتها در زمینه پردازش زبان طبیعی است؛ این قابلیت، میتواند با افراد مختلف تماس تلفنی برقرار کرده و برای نمونه، اتاقی را در هتل برای شخص موردنظر رزرو کند. همچنین قادر است صحبتها و گفتوگوهای ردوبدل شده میان افراد را تحت نظر بگیرد و از دل آنها، دادههایی را برای استفاده در آینده استخراج کند.
رباتهای چت: پیشرفتها در زمینه فناوری پردازش زبان طبیعی (NLP) در طی سالهای اخیر، منجر به ظهور رباتهای چت شد. با این رباتها میتوان طریق رابط چت در محیطهای مختلف از قبیل شبکههای اجتماعی ارتباط برقرار کرد. امروزه رباتهای چت در بخشهای مختلفی از قبیل خدمات درمانی، بانکداری، خدمات مشتریان و همینطور اخبار مشاهده میشوند. ارتباط با رباتهای چت تقریبا همانند ارتباط با انسانهاست.
جستجو در وب: در حال حاضر، موتورهای جستجو از فناوریهایی همچون جاسازی کلمات (Word Embedding) بهره میبرند که نوعی هوش مصنوعی است و به دنبال کلمات کلیدی و عبارتهایی میگردد که به کلمه جستجوشده مرتبط هستند.
گوگل اخیرا به استفاده از مدلی تحت عنوان BERT به منظور ارتقای نتایج جستجوی کاربران، در موتور سرچ خود روی آورده است. فناوری هوش مصنوعی Aristo نیز از نوعی BERT برای پیدا کردن پاسخ سوالات علمیبهره میگیرد.
ایمیل: بسیاری از سرویسهای ارائهدهنده خدمات ایمیل از پردازش زبان طبیعی برای تشخیص و فیلتر کردن هرزنامهها استفاده میکنند. ویژگیهایی همانند تکمیل خودکار و یا نوشتن هوشمند در ایمیل نیز از پردازش زبان طبیعی بهره میبرند که این مساله بیشتر در گوشیهای هوشمند مشاهده میشود.
شبکههای اجتماعی: پلتفرمهای شبکههای اجتماعی نیز از پردازش زبان طبیعی در زمینههای مختلف استفاده میکنند. از جمله این موارد میتوان به شناسایی پستهای حاوی کلمات و جملات نامناسب و خشونتآمیز، ارزیابی احساسات نهفته در پستهای کاربران و علامتگذاری پستهایی با مضمون خودکشی و غیره اشاره کرد.
محدودیتهای پیش روی پردازش زبان طبیعی
علیرغم انعطافپذیری که فناوری پردازش زبان طبیعی (NLP) برای پردازش زبان طبیعی به ارمغان آورد، هوش مصنوعی در این برهه از زمان، هنوز فاصله زیادی تا درک زبان مکالمات همانند آنچه انسانها انجام میدهند، دارد.
مدلهای یادگیری عمیق، دقت خود را مدیون حجم زیادی از اطلاعاتی هستند که به وسیله آنها تعلیم داده شدند. هرچه مثالها و مواردی که به هوش مصنوعی تعریف میشود، بیشتر باشد به همان میزان احتمال ارائه پاسخ درستتر بیشتر میشود.
با این اوصاف، یادگیری عمیق قادر به تشخیص و تمییز معانی کلمات و جملات نیست و صرفا بر اساس الگو و نقشهای که در اختیار دارد کلمات را در کنار هم قرار میدهد. در واقع، مدلهای زبانی مبتنی بر یادگیری عمیق، همچنان با مشکلاتی مواجهاند که پیش از این در پردازندههای مبتنی بر قانون و کُد وجود داشت. مدلهای زبانی یادگیری عمیق زمانی که درگیر کارهایی میشوند که نیازمند دانش عمومیدرباره مردم وچیزهای مختلف است، اشتباهات پیشپا افتادهای را مرتکب میشوند. به همین دلیل است که بسیاری از شرکتها هنوز هم استفاده از هزاران انسان را به منظور هدایت الگوریتمهای هوش مصنوعی به مسیر درست، استفاده میکنند.
اگر بخواهیم عادلانه قضاوت کنیم، باید بگوییم تا زمانی که نتوانیم کدهای هوش مصنوعی همتراز با آنچه در ذهن انسان پردازش میشود، پیاده کنیم هرگز نمیتوان به پردازش زبان طبیعی به طور کامل اطمینان کرد. اما هرچه به جلو میرویم و به پیشرفتهای بیشتر نائل میشویم، این فاصله میان انسان و کامپیوتر بیش از پیش برداشته خواهد شد.