پردازش زبان طبیعی (NLP[1]) زیرشاخهای از هوش مصنوعی و زبانشناسی است که رایانهها را قادر به درک، تفسیر و دستکاری زبان انسان میکند. اگرچه NLP به دلیل پیچیدگی زبان انسان با چالش های متفاوتی روبرو است، اما این چالشها مانع از رشد و توقف این حوزه نگردیده است. بازار جهانی NLP در سال 2018 حدود 5 میلیارد دلار تخمین زده شده و انتظار می رود تا سال 2025 به 43 میلیارد دلار برسد و این رشد نمایی بیشتر به موارد کاربرد گسترده NLP در صنایع مختلف بر میگردد.
بسیاری از کاربردهای NLP مانند تصحیح خودکار، ترجمه یا چتباتها متداول بوده و بسیاری از افراد با آن آشنایی دارند، در حالی کهNLP سنگ بنای بسیاری از کاربردهای متنوع دیگر است که ما هر روزه از آن استفاده میکنیم. در این مقاله، مروری بر برخی از موارد استفاده NLP و کاربردهای در دسترس آن برای صنایع مختلف و کاربردهای تجاری گردآوری شده است.
کلیدواژه: پردازش زبان طبیعی، هوش مصنوعی
کاربردهای عمومی پردازش زبان طبیعی
ترجمه (Translation)
یکی از مهمترین موارد استفاده از پردازش زبان طبیعی، ترجمه است. اولین ماشین ترجمه مبتنی بر NLP در 1950 توسط Georgetown و IBM ارائه شد، این ماشین قادر بود 60 جمله روسی را به طور خودکار به انگلیسی ترجمه کند. امروزه برنامههای کاربردی ترجمه از NLP و یادگیری ماشینی برای ادراک و تولید یک ترجمه دقیق از زبانهای مختلف در دو قالب صوت و متن استفاده میکنند.
تصحیح خودکار (Autocorrect)
NLP برای شناسایی یک غلط املایی، کلمه را با مجموعهای از کلمات مرتبط در فرهنگ لغت، به عنوان مجموعه آموزشی، تطبیق متقابل میدهد. سپس کلمه دارای غلط املایی به یک الگوریتم یادگیری ماشین داده میشود و فاصله آن از کلمات صحیح در مجموعه داده آموزشی محاسبه میشود، در ادامه حروف مورد نیاز به کلمه اضافه، از آن حذف یا با حروف دیگر جایگزین میگردد و در نهایت با کلمه کاندید که با معنی کلی جمله منطبق است تطابق داده میشود.
تکمیل خودکار (Autocomplete)
در تکمیل خودکار یا تکمیل جمله، NLP با برخی الگوریتمهای خاص یادگیری ماشین (به عنوان مثال یادگیری تحت نظارت، شبکههای عصبی بازگشتی (RNN[2]) یا تحلیل پنهان مفهومی (LSA[3]) ترکیب شده تا کلمه یا جمله مشابه را برای تکمیل معنی پیشبینی نماید.
هوش مصنوعی محاورهای (Conversational AI)
هوش مصنوعی محاورهای فناوری است که امکان مکالمه خودکار بین رایانه و انسان را فراهم میکند. این فناوری قلب چتباتها و دستیاران مجازی مانند Siri یا Alexa است. هوش مصنوعی محاورهای برای ادراک سوالات کاربران، بررسی دادههای آموزشی آنها و ایجاد پاسخ مناسب، به NLP و تشخیص نیت[4] وابستگی زیادی دارد. چتباتها کاربردهای متعددی در صنایع مختلف دارند زیرا مکاله و ارتباط با مشتریان را تسهیل میکنند و فعالیتهای مختلف مبتنی بر قوانین را (مانند پاسخ به سوالات متداول یا رزرو پروازها) به صورت خودکار انجام میدهند.
تشخیص خودکار گفتار/ صدا (Automated speech/voice recognition)
تشخیص صدا که به عنوان تشخیص خودکار گفتار (ASR[5]) و یا گفتار به متن (STT[6]) نیز شناخته میشود، نوعی نرم افزار است که گفتار انسان را از شکل آنالوگ (امواج صوتی) به شکل دیجیتالی تبدیل میکند به گونهای که توسط ماشینها قابل تشخیص است. ASR به شکل زیر کار میکند:
- جداسازی گفتار ضبط شده به صداهای جداگانه (توکن)
- تجزیهوتحلیل هر صدا
- استفاده از الگوریتمها (نظیر NLP، یادگیری عمیق، مدل پنهان مارکوف) برای پیدا کردن محتملترین کلمه مناسب
- تبدیل صداها به متن
امروزه تلفنهای هوشمند تشخیص گفتار را با سیستمهای خود برای جستجوی اینترنتی و یا ارسال پیامک ترکیب میکنند و کاربردهای جذابی از این ابزار را به نمایش میگذارند.
خلاصهسازی خودکار متن (Automatic text summarization)
خلاصهسازی خودکار متن، فرایند کوتاه کردن متون یا پاراگرافهای طولانی و ایجاد خلاصهای مختصر از پیام مورد نظر است (شکل 1). دو روش اصلی برای خلاصهسازی متون وجود دارد:
خلاصه استخراجی[7]: در این روش، متن خروجی ترکیبی از جملات معنی دار است که مستقیما از متن اصلی استخراج شده اند.
خلاصه چکیدهوار[8]: این روش پیشرفتهتر است، زیرا خروجی یک متن جدید است و هدف درک معنای کلی جملات، تفسیر آن و ایجاد جملات جدید بر اساس معنای کلی است.
در هر دو روش خلاصهسازی، NLP در مراحل مختلف استفاده میشود که عبارتاند از:
- تمیز کردن متن از کلمات پرکننده[9]
- نمونهبرداری از متن به جملات کوتاهتر (توکنها)
- ایجاد یک ماتریس شباهت که نشان دهنده روابط بین توکنهای مختلف است
- محاسبه رتبه جملات بر اساس شباهت معنایی
- انتخاب جملات با رتبههای برتر به منظور ایجاد خلاصه

شکل 1: فرآیند خلاصهسازی خودکار متون [3]
مدلهای زبانی (Language models)
مدلهای زبانی دستهای از مدلهای هوش مصنوعیاند که به NLP و یادگیری عمیق وابسته هستند تا متن و گفتار شبیه انسان را به عنوان خروجی تولید کنند. مدلهای زبانی برای ترجمه ماشینی، برچسبگذاری گفتار، نویسهخوان نوری (OCR[10])، تشخیص دست خط و غیره استفاده میشود.
از جمله مدلهای زبانی معروف GPTها هستند که به وسیله OpenAI و LaMDA و توسط Google توسعه یافتهاست. این مدلها بر روی مجموعه دادههای بزرگی که از اینترنت و منابع وب جمعآوری شدهاند آموزش داده میشود تا کارهایی که نیاز به درک زبانی و پیچیدگیهای فنی دارند را خودکار کنند. آشناترین مثال از این حوزه ChatGPT است که بر اساس مدل زبانی GPT-3.5 توسعه شده است.
کاربردهای پردازش زبان طبیعی در حوزههای مختلف
در ادامه به معرفی برخی کاربردهای پردازش زبان طبیعی در حوزه سلامت، مالی، خرده فروشی و تجارت الکترونیک، منابع انسانی و امنیت سایبری پرداخته خواهد شد.
کاربردهای پردازش زبان طبیعی در حوزه سلامت
تقریر (Dictation)
برای ثبت رویهها و نتایج بالینی، پزشکان فرآیندها را به یک ضبط کننده صدا یا یک استنوگراف پزشکی دیکته میکنند تا بعدا به متن تبدیل شده و به سیستمهای پرونده الکترونیک سلامت (EHR[11]) وارد شوند. از NLP میتوان برای تجزیه و تحلیل پروندههای صوتی و تبدیل آنها به متن استفاده کرد تا به پرونده و سوابق بیماران اضافه شود.
مستندسازی بالینی (Clinical documentation)
در سال 2017، تخمین زده شد که پزشکان مراقبتهای اولیه حدود 6 ساعت برای ورود اطلاعات EHR در طول یک روز کاری وقت صرف میکنند. NLP را میتوان در ترکیب با نویسهخوان نوری (OCR) برای استخراج دادههای پزشکی از EHR ها، یادداشتهای پزشکان یا فرمهای پزشکی، به منظور ورود داده به نرم افزارهای اتوماسیون رباتیک فرایند (RPA[12]) استفاده کرد. این امر بهطور قابل توجهی زمان صرف شده برای ورود دادهها را کاهش و کیفیت دادهها را افزایش میدهد زیرا هیچ خطای انسانی در این فرآیند رخ نمیدهد.
تطبیق کارآزمایی بالینی (Clinical trial matching)
NLP را میتوان برای تفسیر کارآزمایی بالینی و بررسی یادداشتها و گزارشهای پزشکان، به منظور تشخیص افرادی که واجد شرایط شرکت در یک آزمایش بالینی معین هستند، استفاده کرد. الگوریتمی که برای توسعه چنین مدل NLP استفاده میشود، از سوابق پزشکی و مقالههای تحقیقاتی به عنوان دادههای آموزشی استفاده میکند تا بتواند اصطلاحات پزشکی را تشخیص دهد، زمینه کلی یک کارآزمایی را تفسیر کند، لیستی از معیارهای واجد شرایط کارآزمایی بودن را بسازد و بیماران را بر این اساس ارزیابی کند.
تیمی در دانشگاه کلمبیا یک ابزار متن باز به نام DQueST توسعه دادند که می تواند کارآزمایی را در ClinicalTrials.gov بخواند و سپس سوالات انگلیسی ساده مانند “BMI شما چیست؟” را برای ارزیابی صلاحیت کاربران بسازد. ارزیابی اولیه نشان داد که پس از 50 سوال، این ابزار میتواند 60 تا80 درصد از آزمایشاتی را که کاربر واجد شرایط آن نیست شناسایی کند.
رخنمود محاسباتی (Computational phenotyping)
فنوتیپ یا رخنمود کردن فرایند تجزیهوتحلیل خصوصیات فیزیکی یا بیوشیمیایی بیمار متکی بر دادههای ژنتیکی و به وسیله توالییابی DNA است. فنوتیپ محاسباتی از دادههای ساختاریافته (EHR، تشخیصها، نسخه داروها و …) و دادههای بدون ساختار (پروندههای صوتی بیمار، تصاویر رادیولوژی، نتایج آزمایشگاهی و…) استفاده میکند. فنوتیپ محاسباتی امکان تشخیص بیماری، کشف بیماری جدید، غربالگری کارآزمایی بالینی، شناسایی تداخلات دارویی و غیره را فراهم میآورد. در این کاربرد، NLP برای جستجوی کلمات کلیدی در سیستمهای مبتنی بر قواعد استفاده میشود.
تشخیص بالینی (Clinical diagnosis)
NLP برای ساخت مدلهای پزشکی استفاده میشود که میتواند معیارهای بیماری را بر اساس اصطلاحات بالینی استاندارد و استفاده از کلمات پزشکی تشخیص دهد. IBM Waston، یک راه حل شناختی NLP، در مرکز سرطان MD Anderson برای تجزیه و تحلیل اسناد EHR بیماران و پیشنهاد توصیههای درمانی ارائه داده است که دقتی در حدود 90% داشت. با این حال، واتسون هنگام رمزگشایی دست خط پزشکان با چالشی مواجه شد و به دلیل تفسیرهای اشتباه ناشی از خلاصه نویسی پزشکان، پاسخ های نادرستی ایجاد کرد.
تراپیست مجازی (Virtual therapists)
تراپیست مجازی کاربردی از هوش مصنوعی محاورهای در مراقبتهای بهداشتی است. NLP برای آموزش الگوریتم بیماریهای سلامت روان و راهنماهای مبتنی بر شواهد، به منظور ارائه رفتار درمانی برای بیماران مبتلا به افسردگی، اختلال استرس و اضطراب استفاده میشود. علاوه بر این، از تراپیست مجازی میتوان برای گفتگو با بیماران اوتیسم برای بهبود مهارت های اجتماعی و مهارت های مصاحبه شغلی استفاده کرد. به عنوان مثال، چت بات Woebot درمان شناختی رفتاری (CBT) را ارائه می دهد.
کاربردهای پردازش زبان طبیعی در حوزه مالی
تعیین رتبه اعتباری (Credit scoring)
تعیین رتبه اعتباری یک تجزیهوتحلیل آماری است که توسط وام دهندگان، بانکها و موسسات مالی برای تعیین اعتبار یک فرد حقیقی یا حقوقی انجام میشود. NLP میتواند با استخراج دادههای مرتبط از اسنادی مانند اسناد وام، درآمد، سرمایهگذاری، هزینهها و غیره به امتیازدهی اعتبار فرد کمک کند. علاوه بر این، نرمافزارهای امتیازدهی اعتباری مدرن از NLP برای استخراج اطلاعات از پروفایلهای شخصی (مانند حساب کاربری رسانههای اجتماعی، برنامههای تلفن همراه) استفاده میکنند و به کمک الگوریتمهای یادگیری ماشین اعتبار مشتریان را ارزیابی میکند.
مدیریت مطالبات بیمه (Insurance claims management)
NLP را میتوان برای تجزیه و تحلیل خسارت بیمه استفاده کرد. به عنوان مثال، IBM Watson از طریق پردازش زبان طبیعی دادههای متنی، اطلاعات مناسب برای رسیدگی به مطالبات بیمه را شناسایی و آن را برای ورود به یک الگوریتم یادگیری ماشین، آماده میکند.
گزارشدهی مالی (Financial reporting)
NLP در ترکیب با الگوریتمهای یادگیری ماشین میتواند دادههای قابل توجهی را از صورتهای مالی بدون ساختار، فاکتورها یا اسناد مالی شناسایی و استخراج کند و آنها را برای ورود به یک راهکار اتوماسیونی، مانند RPA، به منظور تولید گزارشهای مالی آماده نماید.
حسابرسی مالی (Financial auditing)
NLP فرآیند مکانیزه شدن حسابرسی مالی را از طریق موارد زیر تسهیل میکند:
- بررسی اسناد مالی یک سازمان
- طبقه بندی محتوای صورتهای مالی
- شناسایی شباهتها و تفاوتهای اسناد
این امر امکان تشخیص انحرافات و ناهنجاریها را در صورتهای مالی فراهم میکند.
پیشبینی قیمت سهام (Stock prices prediction)
NLP در ترکیب با الگوریتمهای طبقهبندی KNN برای ارزیابی اخبار مالی مبتنی بر وب در زمان واقعی استفاده میشود تا «معاملهگری مبتنی بر اخبار» را تسهیل کند و اخبار اثرگذار بر قیمت سهام و فعالیت بازار سرمایه را جداسازی و تحلیل نماید. برای استخراج داده های وب در زمان واقعی، تحلیلگران می توانند از ابزارهای وب اسکرپینگ استفاده کنند. اسکراپرهای وب، ربات هایی هستند که وب سایتهای مشخصی را هدف قرار میدهند و دادههای آنها را به صورت بلادرنگ استخراج میکنند.
کاربردهای پردازش زبان طبیعی در حوزه خرده فروشی و تجارت الکترونیک
چتبات خدمات مشتری (Customer service chat-bot)
یک نظرسنجی در سال 2019 نشان داد که 65٪ از فعالان در حوزه خدمات مشتریان معتقدند که چتبات میتواند نیاز مشتری را به خوبی درک کند و 52٪ اظهار داشتند که چتباتها میتوانند اقدامات را بر اساس پاسخهای مشتری خودکار کنند. کاربردهای اصلی چتبات ها در خدمات مشتری عبارتند از:
- پاسخ سوالات متداول و پرتکرار
- برنامهریزی قرار ملاقاتها
- رزرو بلیط
- پردازش و پیگیری سفارشات
- فروش مکمل (Cross sell)
- راهنمایی مشتریان جدید
باتهای فروشگاهی (In-store bot)
فروشگاههای خرده فروشی از دستیارهای مجازی مبتنی بر NLP در فروشگاه های خود استفاده میکنند تا مشتریان را در سفر خرید خود راهنمایی کنند. یک دستیار مجازی میتواند به شکل یک اپلیکیشن موبایل باشد که مشتری برای پیمایش در فروشگاه از آن استفاده میکند یا یک صفحه نمایش لمسی در فروشگاه که میتواند از طریق صدا یا متن با مشتریان ارتباط برقرار کند. باتهای داخل فروشگاه به عنوان دستیار خرید عمل میکنند، محصولات را به مشتریان پیشنهاد میکنند، به مشتریان کمک میکنند محصول مورد نظر را پیدا کنند و اطلاعاتی در مورد فروش یا تبلیغات آتی ارائه میدهند.
هوشمندسازی بازاریابی (Marketing intelligence)
بازاریابان میتوانند برای استخراج دادههای تجارت الکترونیک (به عنوان مثال، وبلاگ ها، پستهای رسانههای اجتماعی، وب سایتهای خبری)، و همچنین دادههای محصول (امتیازها و نظرات) از ابزارهای وب اسکرپینگ استفاده کنند و آن را با قابلیتهای NLP برای تجزیهوتحلیل احساسات مصرفکننده و تشخیص روندهای بازار ترکیب کنند و استراتژیهای بازاریابی خود را بهینه نمایند.
جستجوی معنایی (Semantic based search)
جستجوی معنایی به روشی اطلاق میشود که هدف آن نه تنها یافتن کلمات کلیدی، بلکه درک زمینه پرس و جو و پیشنهاد پاسخهای مناسب است. بسیاری از وبسایتهای خردهفروشی آنلاین و تجارت الکترونیک از موتورهای جستجوی معنایی مبتنی بر NLP برای درک قصد خریدار و معرفی محصولات متناسب استفاده می کنند. خردهفروشان ادعا میکنند که بهطور متوسط، سایتهای تجارت الکترونیک با نوار جستجوی معنایی تنها ۲ درصد نرخ رها شدن سبد خرید را تجربه میکنند، در حالیکه در سایتهای فاقد جستجوی معنایی این نرخ در حدود ۴۰ درصد میباشد.
کاربردهای پردازش زبان طبیعی در حوزه منابع انسانی
ارزیابی رزومه (Resume evaluation)
NLP میتواند در ترکیب با الگوریتمهای طبقهبندی یادگیری ماشین برای بررسی رزومه داوطلبان، استخراج کلمات کلیدی مرتبط (تحصیلات، مهارتها، سوابق قبلی) و طبقهبندی داوطلبان بر اساس مطابقت مشخصات آنها با یک موقعیت خاص در یک سازمان استفاده شود. علاوه بر این، NLP میتواند برای خلاصه کردن رزومه داوطلبانی که با نقشهای خاصی مطابقت دارند، استفاده شود تا به استخدامکنندگان کمک کند رزومهها را سریعتر بررسی کنند و بر الزامات خاص یک جایگاه شغل تمرکز کنند.
چتبات استخدام (Recruiting chat-bot)
چتباتهای استخدام، که به عنوان دستیاران استخدام نیز شناخته میشوند، برای خودکار کردن ارتباط بین استخدامکنندگان و داوطلبان استفاده میشوند. چتباتهای استخدام از NLP برای موارد زیر استفاده میکنند:
- غربالگری رزومه داوطلبان
- برنامهریزی مصاحبهها
- پاسخ به سوالات داوطلبان در مورد موقعیت شغلی
- ساخت پروفایل برای داوطلبان
- تسهیل ورود داوطلبان
ارزیابی مصاحبههای شغلی (Interview assessment)
بسیاری از شرکتهای بزرگ، به ویژه در طول همهگیری کرونا، از پلتفرمهای مصاحبه شغلی برای انجام مصاحبه با داوطلبان استفاده میکنند. این پلتفرمها امکان ضبط جلسات مصاحبه، بارگذاری فایل رزومه و اطلاعات را فراهم میآورد. NLP برای تجزیه و تحلیل احساسات داوطلبان، شناسایی کلمات کلیدی که میتوانند رفتار مثبت یا منفی در طول مصاحبه را منعکس کنند و همچنین پیادهسازی متن مصاحبه و خلاصه کردن آن برای اهداف بایگانی مورد استفاده قرار میگیرد.
تجزیهوتحلیل احساسات کارکنان (Employee sentiment analysis)
NLP میتواند برای تشخیص رضایت شغلی، انگیزه، زمینه های اصطکاک، مشکلات و چالشهای کارکنان استفاده شود. NLP برای بررسی و تحلیل نظرسنجیها، نظرات کارکنان در رسانههای اجتماعی و وبسایتهای استخدام شغلی استفاده میشود. این قابلیت مدیریت منابع انسانی را قادر میسازد تا مشکلات را بهتر تشخیص دهد، کارمندان موفق بالقوه را شناسایی کند، الزامات آموزشی را تشخیص دهد، کارکنان را انگیره مند گرداند و فرهنگ سازمانی را بهبود دهد.
کاربردهای پردازش زبان طبیعی در حوزه امنیت سایبری
تشخیص هرزنامه (Spam detection)
مدلهای NLP را میتوان برای طبقهبندی متون به منظور شناسایی کلمات و جملات مرتبط با هرزنامه در ایمیلها و شبکههای اجتماعی استفاده کرد. مدلهای NLP تشخیص هرزنامه معمولا مراحل زیر را دنبال میکنند:
- پاکسازی و پیشپردازش دادهها
- توکنسازی (نمونهبرداری از متن در قالب جملات و پاراگرافهای کوچک)
- برچسبگذاری بخشی از گفتار (PoS[13])
دادههای پردازششده به یک الگوریتم طبقهبندی (به عنوان مثال درخت تصمیم، KNN، random forest) داده میشود تا دادهها را به هرزنامه یا غیر هرزنامه طبقهبندی کند.
پیشگیری از انتقال غیرمجاز دادهها (Data exfiltration prevention)
انتقال غیرمجاز دادهها یک چالش امنیتی است که شامل کپی یا انتقال غیرمجاز دادهها از یک دستگاه به دستگاه دیگر است. برای انتقال غیرمجاز دادهها، مهاجمان از تکنیکهای امنیت سایبری مانند تونلزنی DNS و ارسال ایمیلهای فیشینگ استفاده میکنند. NLP را میتوان برای شناسایی بدافزارها و جلوگیری از انتقال غیرمجاز دادهها استفاده کرد.
منابع
[1] Cem Dilmegani, NLP Use Cases: Comprehensive Guide, 2021, from research.aimultiple.com
[2] statista.com/statistics/607891/worldwide-natural-language-processing market-revenues
[3] Prateek Joshi, An Introduction to Text Summarization using the TextRank Algorithm (with Python implementation), 2018, from analyticsvidhya.com
[4] Cong Liu, dynamic questionnaire for search of clinical trials, Journal of the American Medical Informatics Association, 2019.
[5] mytotalretail.com/article/reducing-site-abandonment-increase-conversions/all
[6] haptik.ai/blog/conversational-ai-e-commerce-sales/?utm_source=aimultiple&utm_medium=research&utm_campaign=nlp-use-cases
پینوشت
[1] Natural Language Processing
[2] Recurrent neural networks
[3] Latent semantic analysis
[4] Intent Recognition
[5] Automatic Speech Recognition
[6] Speech To Text
[7] Extractive summary
[8] Abstractive summary
[9] filling words
[10] optical character recognition
[11] Electronic Health Record
[12] Robotic Process Automation
[13] Part-of-speech


