پردازش زبان طبیعی (NLP – Natural Language Processing) ترجمهی زبان انسانها برای ماشین است. در قلب بیشتر ابزارهایی که امروزه استفاده میکنیم، یک موتور NLP در جریان است. از نرمافزارهای ترجمه گرفته تا چتباتها، تشخیص دهندگان اسپم، موتورهای جستجو، نرمافزارهای تصحیح گرامر، دستیاران صوتی، ابزارهای تحلیل شبکههای اجتماعی و … همه و همه از پردازش زبان طبیعی استفاده میکنند.
پردازش زبان طبیعی چیست؟
پردازش زبان طبیعی زیر مجموعهای از حوزهی هوش مصنوعی است که درک زبان انسانها برای ماشین را میسر میکند. ان ال پی، علم زبانشناسی را با قدرت الگوریتمهای کامپیوتری ترکیب میکند تا قوانین و ساختار زبان را مورد مطالعه قرار دهد و سیستمهای هوشمندی سازد که توانایی درک، تحلیل و استخراج معنی از متن و گفتار را دارند.
پردازش زبان طبیعی برای درک ساختار و معنای زبان ما انسانها و بررسی جنبههای مختلف آن، اعم از معنا، نحو، احساس، مورفولوژی و … استفاده میشود. مهندسان علوم کامپیوتر این علوم زبان شناسی را به الگوریتمهای کامپیوتری تبدیل میکنند که قادر به حل مشکلات بسیاری در عصر دیجیتال است.
برای مثال اگر از کاربران سرویس جیمیل باشید، ایمیلهای شما بصورت اتوماتیک در دستهبندیهای Social، Primary، Spam، Promotions و … قرار میگیرند. این کار با پیادهسازی شیوههایی مانند استخراج کلمات کلیدی متن انجام میشود و زندگی شما را آسوده میکند!
منافع پردازش زبان طبیعی
منافع بسیاری برای استفاده از پردازش زبان طبیعی میتوان شمرد.
– تحلیل زبان در مقیاس عظیم
ان ال پی، به ماشینها کمک میکند که مقادیری عظیمی از دادههای غیر ساختار یافتهی متنی را تحلیل و درک کنند. دادههایی همچون نظرات در شبکههای اجتماعی، تیکتهای واحد پشتیبانی مشتری، نظرات کاربران روی محصولات و خدمات، اخبار و … .
– خودکارسازی فرایند بصورت بلادرنگ
ابزارهای پردازش زبان طبیعی به ماشینها کمک میکنند که بدون هرگونه تداخل انسان و بصورت بلادرنگ اطلاعات را مسیردهی کنند.
– قابلیت اختصاصی سازی بسته به نوع صنعت
الگوریتمهای NLP، قابلیت اختصاصیسازی به نیازهای صنایع مختلف را دارند و میتوان از آنها برای زبانهای خاص و پیچیدهی صنایع مختلف استفاده کرد.
پردازش زبان طبیعی چگونه کار میکند؟
ابزارهای NLP با استفاده از تبدیل متن به بردارهای عددی، متن را برای ماشین قابل درک میکنند. سپس الگوریتمهای یادگیری ماشین هستند که این بردارها را بعنوان ورودی دریافت کرده و ساختار زبان را از طریق آنها یاد میگیرند. هر قدر میزان دادهی ورودی به این الگوریتمها بیشتر باشد، مدلهای تحلیل متن دقیقتری ساخته میشود. بزرگترین مزیت الگوریتمهای یادگیری ماشین در این است که خود قادر به یادگیری هستند بدون اینکه نیاز باشد قوانین دستی برای آنها وضع شود. زمانی که مقدار خوبی داده را به یک الگوریتم یادگیری ماشین پیشرفته بدهید، فعالیتهایی مختلفی مانند تحلیل معنایی، استخراج کلمات کلیدی، دستهبندی موضوعی، تشخیص قصد و بسیاری دیگر را انجام دهید.
تکنیکها و تحلیلهای شناخته شده در پردازش زبان طبیعی
– تحلیل نحوی (Syntactic analysis)
این نوع از تحلیل زبان طبیعی، ساختار یک متن و ارتباطات قواعد دستوری بین کلمان آن را مشخص میکند.
– تحلیل معنایی (Semantic analysis)
تمرکز این دست تحلیلها بر تشخیص معنای زبان است. با این حال، با توجه به اینکه کلمات در جایگاههای مختلف دارای معانی مختلفی هستند و زبان مفهومی بسیار پیچیده است، تحلیل معنایی یکی از پیچیدهترین حوزههای پردازش زبان طبیعی است. تسکهای تحلیل معنا، با تحلیل ساختار جمله و ارتباط بین کلمات، سعی در تشخیص معنای کلمات و درک موضوع یک متن را دارند.
برای پیادهسازی تسکهای نحوی و معنایی از تکنیکهای مختلف مانند توکنایز کردن (تبدیل جملات بلند به توکنهای کوتاه و معنادار)، برچسپزنی اجزای جملات (تشخیص اسم، فعل، فاعل، مفعول و … در جملات)، تشخیص وابستگی دستوری کلمات، تشخیص ریشهی توکنها، ایست واژهها و … استفاده میشود.
چالشهای پردازش زبان طبیعی
چالشهای فراوانی در پردازش و تحلیل زبان طبیعی وجود دارد و اصلیترین آنها از این ناشی میشود که زبان انسانی مبهم و دارای پیچیدگیهای بسیاری است. حتی خود انسانها در درک و دستهبندی زبان، همزبانهای خود دچار مشکل هستند. برای مثال کنایه زدن یا جوک گفتن را در نظر بگیرید. چگونه باید به ماشینها آموخت جملهای که دریافت کردهاند مخالف معنای واقعی آن جمله را دارد؟ برای درک کامل زبان انسانی، دانشمندان داده میبایست به ابزارهای NLP بیاموزند که فراتر از معنی کلمات و ترتیب حضورشان در جملات عمل کنند. آنها همچنین میبایست جنبههای دیگر زندگی انسانها ازجمله فرهنگ، پیشینه، جنسیت و … را نیز در نظر بگیرند.
کاربردهای رایج پردازش زبان طبیعی
طبقهبندی و فیلتر ایمیلها
فیلتر ایمیلها یکی از اساسیترین کاربردهای NLP است. به عنوان مثال، در جیمیل تبهایی همچون Primary، Social، Promotions، Updates و Forums وجود دارد و سیستم با استخراج فرستنده ایمیل، محتوای ایمیل و یادگیری رفتار کاربر، ایمیل موردنظر را در پوشه ترجیحی کاربر نمایش میدهد. زمانیکه تکنیکهای پردازش زبان به تازگی معرفی شده بودند، این طبقهبندیها چندان دقیق نبودند. اما با توسعه یادگیری ماشین و انجام تست روی میلیونها داده، هماکنون ایمیلها به ندرت در پوشه اشتباهی نمایش داده میشوند.
دستیارهای مجازی، صوتی یا اسپیکرهای هوشمند
این روزها دستیارهای شخصی مانند سیری اپل و الکسای آمازون را همگی میشناسیم و از اهمیت آنها در زندگی روزمره آگاه هستیم. این دستیاران مجازی از یادگیری ماشین برای پردازش خودکار درخواستهای صوتی استفاده میکنند. الگوریتمهای پردازش زبان طبیعی به این دستیاران کمک میکنند تا به صورت شخصی سازی و منحصر به فرد آموزش ببینند، از تعاملات قبلی بیاموزند، سوالهای مرتبط را به یاد آورند و به برنامههای دیگر متصل گردند.
انتظار میرود روند استفاده از دستیارهای صوتی به صورت تصاعدی به رشد خود ادامه دهد، زیرا کاربردهای بسیار فراوانی دارند، از جمله کنترل سیستم امنیتی خانهها، ترموستاتها، چراغها و اتومبیلها… این دستیارها حتی میتوانند به شما اطلاع دهند که چه چیزهایی در یخچالتان در حال اتمام است.
موتورهای جستجوی آنلاین
هر زمانیکه یک جستجوی ساده در گوگل انجام میدهیم، از یادگیری ماشینی NLP استفاده میکنیم. در واقع، این موتورهای جستجو علاوه بر اینکه کلمات مرتبط با جستجوی شما را بررسی میکنند، بلکه هدف شما از جستجو را هم در نظر میگیرند. ترندهای روزانه و جستجوهای پرطرفدار از دیگر المانهایی هستند که باعث تغییر روزانه نتایج جستجوها میشوند.
پیشبینی متن
هر بار که متنی را در اپلیکیشن پیامک خود تایپ میکنید، کاربرد کوچکی از پردازش زبان را میبینید. کافیست چند حرف از یک کلمه را تایپ کنید تا اپلیکیشن پیامک مابقی حروف را به شما پیشنهاد دهد. هر چه تعداد پیامکهایی که ارسال کرده باشید، بیشتر باشد، فرآیند NLP نیز دقیقتر و سریعتر خواهد بود. فرآیند پیشبینی متن، تصحیح و تکمیل خودکار در برنامههایی همچون ورد و گوگل داکس به قدری پیشرفت کرده و دقیق شدهاند که بعضا ممکن است احساس کنیم گرامر را بهتر از ما بلدند.
تحلیل احساسات کاربران نسبت به برند در رسانههای اجتماعی
منظور از تحلیل احساسات فرآیند خودکار طبقهبندی نظرات به ۳ حالت مثبت، منفی یا خنثی گفته میشود. با استفاده از این کاربرد میتوان احساسات کاربران در مورد یک برند، یک محصول یا یک ویژگی خاص ردیابی و تجزیهتحلیل کرد و مقایسههایی با رقبا انجام داد.
تصور کنید به تازگی محصول جدیدی را وارد بازار کردهاید و میخواهید واکنشهای اولیه کاربران را بررسی نمایید. ممکن است یک مشتری در توییتر راجع به محصول شما صحبت کند. با استفاده از این کاربرد NLP میتوان با ردیابی و تجزیهتحلیل نظرات به سرعت نظرات منفی را شناسایی کرد و پاسخهای مرتبط ارائه داد.
مرتبسازی سریع بازخورد مشتریان
کاربرد اصلی NLP طبقهبندی متون است که منظور از آن دستهبندی یا برچسبگذاری یک متن خاص براساس محتوای آن است. این کاربرد برای سازماندهی فیدبکهای کیفی (بررسی محصول، مکالمات رسانههای اجتماعی، نظرسنجیها و موارد مشابه) بینظیر است.
خودکارسازی فرآیند خدمات به مشتری
از دیگر کاربردهای جالب NLP میتوان به خودکارسازی خدمات به مشتریان نام برد. در این بخش سیستم از فناوریهای مبتنی بر هوش مصنوعی برای حذف یا کاهش تسکهای رایج دستی در پشتیبانی مشتری، صرفهجویی در زمان و کارآمدتر کردن فرآیندها استفاده میکند. بر اساس گزارشات Zendesk benchmark شرکتهای فناوری ماهانه بصورت میانگین بیش از ۲۶۰۰ درخواست پشتیبانی دریافت میکنند. دریافت این درخواستها از کانالهای مختلف همچون ایمیل، رسانههای اجتماعی، لایوچت و غیره به این معناست که شرکتهای بزرگ باید استراتژی مناسبی برای دستهبندی این درخواست اتخاذ کنند.
طبقهبندی متن این امکان را برای کسبوکارها فراهم میکند که درخواستهای پشتیبانی مشتریان را براساس موضوع، زبان، احساسات و فوریت برچسبگذاری کنند. سپس براساس این برچسبگذاریها میتوانند بلافاصله درخواستها را اولویتبندی کرده و پاسخ دهند. به عنوان مثال، اوبر با استفاده از NLP سیستمی طراحی کرده است که درخواستها را براساس برچسبهایی همچون کشور، زبان و نوع درخواست (شامل سوالات پرداخت، موارد گمشده و موارد مشابه) و پیرو برخی از قوانین اولویتبندی به ابتدای لیست درخواستها ارسال میکند.
چتباتها
چتباتها برنامههای کامپیوتری هستند که مکالمات انسانها را شبیهسازی میکنند. آنها از پردازش زبان طبیعی برای تشخیص هدف اصلی جمله، شناسایی موضوع، کلمات کلیدی مرتبط و حتی احساسات استفاده میکنند تا بهترین پاسخ را براساس تفسیرهای انجام شده روی دادهها ارائه کنند.
از آنجایی که مشتریان معمولا تمایل به پشتیبانی سریع، شخصیسازی شده و ۲۴ ساعته دارند، چتباتها بهترین استراتژیهای خدمات به مشتریان هستند.
چتباتها زمان انتظار مشتریان را با ارائه پاسخهای فوری کاهش میهند. میتوان گفت مهمترین کاربرد چتباتها در اینست که پرسوجوهای رایج و عمومی (که اتفاقا بیشترین حجم سوالات مشتریان را دربرمیگیرند)، بر عهده میگیرند تا انسانها روی مسائل پیچیدهتر تمرکز کنند. به طور کلی چتباتها میتوانند تا ۸۰ درصد از درخواست پشتیبانی مشتریان را کنترل و هدایت کنند.
علاوه بر ارائه پشتیبانی به مشتری، چتباتها میتوانند برای توصیه محصولات، ارائه تخفیف، رزرو و بسیاری از کارهای مشابه دیگر مورد استفاده قرار گیرند. برای انجام این کار، اکثر چتباتها از منطق ساده “ اگر/آنگاه” پیروی میکنند.
خلاصهنویسی اتوماتیک
منظور از خلاصهنویسی اتوماتیک، کاهش حجم یک متن و ایجاد یک نسخه مختصر و مفید از آن است. خلاصه کردن بخشهای بزرگی از دادههای بدون ساختار، مانند مقالات دانشگاهی میتواند بسیار مفید و ارزشمند باشد.
برای خلاصهنویسی از دو روش اصلی استخراج مهمترین اطلاعات متن و استفاده از آنها برای خلاصهنویسی و استفاده از تکنیکهای یادگیری عمیق برای بازنویسی متن و تولید جملاتی که در متن اصلی وجود ندارند استفاده میشود.
ترجمه
امکان ترجمه متن و گفتار به زبانهای مختلف همواره یکی از محبوبترین کاربردهای اصلی NLP بوده است. از اولین تلاشها در سال ۱۹۵۰ برای ترجمه متن از روسی به انگلیسی تاکنون که پیشرفتهترین سیستمهای عصبی در حال تولید هستند، ترجمه ماشینی پیشرفتهای چشمگیری داشته است، اما همچنان شاهد چالشهای بزرگی هستیم.
مترجم گوگل، مترجم مایکروسافت و اپلیکیشن ترجمه فیسبوک تعدادی از پلتفرمهای پیشرو در زمینه ترجمه ماشینی هستند. در آگوست ۲۰۱۹ هوش مصنوعی فیسبوک در مسابقه کنفرانس WMT برای ترجمه از زبان انگلیسی به آلمانی رتبه اول را کسب کرد و ترجمههای انجام شده توسط این ماشین، فوق بشری (بسیار برتر از ترجمههای انجام شده توسط متخصصان انسانی) نامیده شد.
یکی دیگر از پیشرفتهای جالب در زمینه ترجمه ماشینی مربوط به سیستمهایی است که برای یک حوزه خاص سازگار شدهاند و اصطلاحات مرتبط با یک حوزه خاص همچون پزشکی، حقوق و امور مالی را به خوبی درک میکنند. به عنوان مثال Lingua Custodia یک ابزار ترجمه ماشینی است که در زمینه استاد مالی تخصص دارد.
درک و تولید زبان طبیعی
تولید زبان طبیعی (NLG) زیرشاخهای از NLP است که میتواند به طور خودکار متونی را به زبان طبیعی تولید کند. پاسخگویی به سوالات و خلاصهسازی متن از کاربردهای اصلی NLG هستند.