
NLP، NLU، NLG: تفاوتهای سهگانهی پردازش زبان طبیعی، به زبانی ساده!
اگه بخوایم کلی نگاه کنیم، NLU و NLG فقط دوتا تیکه از پازل بزرگتری به اسم NLP هستن. با اینکه پردازش زبان طبیعی (NLP)، درک زبان طبیعی (NLU) و تولید زبان طبیعی (NLG) همشون موضوعات مرتبطی هستن، اما هرکدوم داستان خودشون رو دارن. از اونجایی که این سه تا خیلی با هم تداخل دارن، معمولاً توی صحبتها با هم قاطی میشن. برای همین، توی این مقاله قراره هر کدوم از این اصطلاحات رو جداگونه تعریف کنیم و تفاوتهاشون رو با هم مرور کنیم تا دیگه هیچ ابهامی باقی نمونه.
پردازش زبان طبیعی (NLP) چیه؟
پردازش زبان طبیعی که از دل زبانشناسی محاسباتی (computational linguistics) بیرون اومده، از روشهای رشتههای مختلفی مثل علوم کامپیوتر، هوش مصنوعی، زبانشناسی و علم داده استفاده میکنه تا به کامپیوترها یاد بده زبان ما آدمها رو، چه به صورت نوشتاری و چه گفتاری، بفهمن. با اینکه زبانشناسی محاسباتی بیشتر روی جنبههای خود زبان تمرکز داره، پردازش زبان طبیعی تاکیدش روی استفاده از تکنیکهای یادگیری ماشین و یادگیری عمیق برای انجام کارهایی مثل ترجمه زبان یا جواب دادن به سوالهاست. پردازش زبان طبیعی اینجوری کار میکنه که دادههای بدون ساختار (unstructured data) رو میگیره و اونها رو به یه فرمت داده ساختاریافته (structured data) تبدیل میکنه. این کار رو با شناسایی موجودیتهای نامدار (فرایندی به اسم named entity recognition) و پیدا کردن الگوهای کلمات، با استفاده از روشهایی مثل توکنیزه کردن (tokenization)، ریشهیابی (stemming) و واژهپردازی (lemmatization) که شکل ریشهای کلمات رو بررسی میکنن، انجام میده. مثلاً پسوند «ed» در کلمهای مثل called نشوندهندهی زمان گذشته است، اما ریشهی مصدری یکسانی (to call) با فعل زمان حال calling داره.
با اینکه الگوریتمهای NLP زیادی وجود داره، اما معمولاً برای کارهای زبانی مختلف از رویکردهای متفاوتی استفاده میشه. مثلاً، زنجیرههای پنهان مارکوف (hidden Markov chains) بیشتر برای برچسبگذاری اجزای کلام (part-of-speech tagging) به کار میرن. شبکههای عصبی بازگشتی (Recurrent neural networks) به تولید دنبالهی مناسبی از متن کمک میکنن. ان-گرامها (N-grams) که یه مدل زبانی ساده (LM) هستن، به جملات یا عبارات احتمالاتی اختصاص میدن تا دقت یک پاسخ رو پیشبینی کنن. این تکنیکها دست به دست هم میدن تا از تکنولوژیهای معروفی مثل چتباتها یا محصولات تشخیص گفتار مثل الکسای آمازون یا سیری اپل پشتیبانی کنن. البته کاربردش خیلی گستردهتر از این حرفهاست و روی صنایع دیگهای مثل آموزش و بهداشت و درمان هم تاثیر گذاشته.
درک زبان طبیعی (NLU) چیه؟
درک زبان طبیعی یه زیرمجموعه از پردازش زبان طبیعیه که از تحلیل نحوی (syntactic) و معنایی (semantic) متن و گفتار استفاده میکنه تا معنی یه جمله رو بفهمه. سینتکس (Syntax) به ساختار گرامری جمله مربوط میشه و سمنتیک (Semantics) به معنی و مفهوم پشت اون اشاره داره. NLU یه هستیشناسی (ontology) مرتبط هم ایجاد میکنه: یه ساختار داده که روابط بین کلمات و عبارات رو مشخص میکنه. با اینکه ما آدمها به طور طبیعی این کار رو توی مکالماتمون انجام میدیم، اما برای اینکه یه ماشین بتونه معنی و منظور متنهای مختلف رو درک کنه، ترکیب این تحلیلها ضروریه.
توانایی ما در تشخیص کلمات همنام (homonyms) و همآوا (homophones) به خوبی ظرافتهای زبان رو نشون میده. مثلاً این دو جمله رو در نظر بگیرید:
- آلیس داره خلاف جریان آب شنا میکنه. (Alice is swimming against the current)
- نسخهی فعلی گزارش توی پوشه است. (The current version of the report is in the folder)
توی جمله اول، کلمهی current (جریان) یه اسمه. فعلی که قبلش اومده، یعنی شنا کردن، به ما یه سرنخ میده و باعث میشه بفهمیم منظورمون جریان آب توی دریاست. توی جمله دوم هم از کلمهی current (فعلی) استفاده شده، اما این بار به عنوان صفت. اسمی که توصیفش میکنه، یعنی version (نسخه)، نشون میده که چندین نسخه از گزارش وجود داره و اینجوری ما میفهمیم که منظورمون بهروزترین وضعیت یه فایله.
این روشها توی حوزهی دادهکاوی (Data Mining) برای فهمیدن نظر مشتریها هم خیلی کاربرد دارن. به طور خاص، تحلیل احساسات (sentiment analysis) به برندها اجازه میده تا بازخورد مشتریهاشون رو با دقت بیشتری زیر نظر بگیرن و کامنتهای مثبت و منفی شبکههای اجتماعی رو دستهبندی کنن و شاخص خالص ترویجکنندگان (net promoter scores) رو دنبال کنن. با بررسی کامنتهایی که حس منفی دارن، شرکتها میتونن خیلی سریعتر مشکلات احتمالی محصولات یا خدماتشون رو پیدا کنن و حلشون کنن.
تولید زبان طبیعی (NLG) چیه؟
تولید زبان طبیعی یه زیرمجموعهی دیگه از پردازش زبان طبیعیه. در حالی که درک زبان طبیعی روی فهم و درک مطلب کامپیوتر تمرکز داره، تولید زبان طبیعی به کامپیوترها قدرت نوشتن میده. NLG یعنی فرایند تولید یه متن به زبان انسانی بر اساس یه سری داده ورودی. این متن میتونه از طریق سرویسهای تبدیل متن به گفتار (text-to-speech) به فرمت صوتی هم تبدیل بشه.
NLG قابلیتهای خلاصهسازی متن رو هم شامل میشه که از روی اسناد ورودی، خلاصههایی تولید میکنه و در عین حال، اصل مطلب رو حفظ میکنه. خلاصهسازی استخراجی (Extractive summarization) همون نوآوری هوش مصنوعیه که پشت تحلیل نقاط کلیدی (Key Point Analysis) در برنامههای مناظرهای استفاده میشه.
اوایل، سیستمهای NLG برای تولید متن از یه سری قالب آماده (template) استفاده میکردن. بر اساس یه سری داده یا درخواست، سیستم NLG جاهای خالی رو پر میکرد، درست مثل بازی «جای خالی را پر کنید». اما به مرور زمان، سیستمهای تولید زبان طبیعی با استفاده از زنجیرههای پنهان مارکوف، شبکههای عصبی بازگشتی و ترنسفورمرها (transformers) تکامل پیدا کردن و این امکان رو فراهم کردن که متنهای پویاتری رو به صورت لحظهای تولید کنن.
درست مثل NLU، برنامههای NLG هم باید قوانین زبان رو بر اساس صرف (morphology)، واژگان (lexicons)، نحو (syntax) و معناشناسی (semantics) در نظر بگیرن تا بتونن تصمیم بگیرن که چطور پاسخها رو به شکل مناسبی بیان کنن. این کار رو توی سه مرحله انجام میدن:
- برنامهریزی متن (Text planning): توی این مرحله، محتوای کلی فرمولبندی میشه و به صورت منطقی مرتب میشه.
- برنامهریزی جمله (Sentence planning): این مرحله به علائم نگارشی و روان بودن متن توجه میکنه، محتوا رو به پاراگرافها و جملات تقسیم میکنه و در صورت لزوم از ضمایر یا حروف ربط استفاده میکنه.
- پیادهسازی (Realization): این مرحله روی درستی گرامر تمرکز میکنه و مطمئن میشه که قوانین مربوط به نقطهگذاری و صرف افعال رعایت شدن. مثلاً زمان گذشته فعل رفتن، رفت است، نه رفتمی.
جمعبندی: تفاوت NLP، NLU و NLG
- پردازش زبان طبیعی (NLP) تلاش میکنه دادههای زبانی بدون ساختار رو به یه فرمت داده ساختاریافته تبدیل کنه تا ماشینها بتونن گفتار و متن رو بفهمن و پاسخهای مرتبط و متناسب با متن بدن. زیرشاخههاش شامل درک زبان طبیعی و تولید زبان طبیعی میشن.
- درک زبان طبیعی (NLU) روی درک مطلب ماشین از طریق گرامر و محتوا تمرکز داره و این امکان رو بهش میده که منظور واقعی یه جمله رو تشخیص بده.
- تولید زبان طبیعی (NLG) روی تولید متن، یا ساختن متن به زبان انگلیسی یا زبانهای دیگه، توسط یه ماشین و بر اساس یه مجموعه داده مشخص تمرکز داره.
هوش مصنوعی رو به دادههاتون تزریق کنید!
پردازش زبان طبیعی و زیرشاخههاش توی دنیای امروز کاربردهای عملی زیادی دارن، مثل تشخیص بیماریها در حوزه سلامت یا خدمات مشتریان آنلاین.
میتونید جدیدترین تحقیقات NLP در IBM رو بررسی کنید یا نگاهی به بعضی از محصولات IBM مثل Watson Natural Language Understanding بندازید. سرویس تحلیل متن این محصول، اطلاعات عمیقی در مورد دستهبندیها، مفاهیم، موجودیتها، کلمات کلیدی، روابط، احساسات و ساختار نحوی از دادههای متنی شما ارائه میده تا بهتون کمک کنه سریع و کارآمد به نیازهای کاربراتون پاسخ بدید. به کسبوکارتون کمک کنید تا در مسیر درست تحلیل و تزریق دادهها در مقیاس بزرگ برای هوش مصنوعی قرار بگیره.
پاسخی بگذارید