تولید زبان طبیعی یا Natural Language Generation چیست؟ با چه فرآیندی ماشین/کامپیوتر/سیستم میتواند زبان طبیعی را تولید کند؟ NLG چه کاربردهایی دارد؟ و چرا مهم است؟
گوگل بارد یا ChatGPT؟ دستیار شخصی آمازون یا گوگل؟ اگر کسی بخواهد با یک سیستم (ماشین) صحبت کند و راهنمایی بگیرد یا از او بخواهد تا کارهایی را برایش انجام دهد ـ حتی جوک تعریف کند ـ انتخابهای زیادی دارد. ما در دورانی زندگی میکنیم که ماشینها زبان طبیعی (زبان انسان) را میفهمند. هم زبان ما را میفهمند (میخوانند و میشنوند) و هم میتوانند مانند آن را تولید کنند (بنویسند و بگویند).
تکنولوژیها و فناوریهای گوناگونی دستبهدست هم دادند تا انسان توانست سیستمهایی بسازد تا زبان طبیعی را بفهمد و تولید کند. اما مهمترین دانشی که NLG را ممکن کرد، هوش مصنوعی (AI) و زیرشاخهی بسیار مهم و کاربردی آن یعنی ماشین لرنینگ بود.
این مقاله دربارهی تولید زبان طبیعی است و به سؤالاتی که در آغاز طرح شد، پاسخ میدهد.
آنچه در این نوشته خواهیم داشت
تولید زبان طبیعی (NLG) چیست؟
برای من و شما عادی شده است که با کامپیوتر و موبایل هوشمند و ساعت هوشمند تعامل داشته باشیم. یعنی خیلی راحت و سریع با سیستمهای مختلف کار میکنیم، به آنها داده میدهیم و از آنها داده و خروجیهایی را که میخواهیم، دریافت میکنیم. به عبارت دیگر، با اختراع سیستم عامل تعاملی، تعامل انسان و ماشین امکانپذیر شد. با ورود هوش مصنوعی این تعامل فراتر رفت. تعامل یکطرفهی انسان ـ ماشین به تعامل دوطرفهی ماشین ـ انسان تبدیل شد. حالا ماشین هم میتواند با انسان تعامل برقرار کند و با زبانی که عدد (۰ و ۱) یا کد نیست، به او جواب دهد.
وقتی از گوگل بارد سؤالی میپرسید، آن چتبات در گوگل به دنبال پاسخ سؤال میگردد. تمام محتواهای مرتبط را میخواند، میفهمد و بعد پاسخ را به زبانی که میفهمید، به شما تحویل میدهد. درحقیقت، گوگل بارد فرآیندی را طی میکند تا دادهها را تحلیل و نتیجهی تحلیل را به زبان طبیعی تولید کند. پس، تولید زبان طبیعی یا NLG را میشود اینطور تعریف کرد (این تعریف از وبسایت Marketing Artificial Intelligence Institute است):
Natural language generation (NLG) is the process of transforming data into natural language using artificial intelligence.
تولید زبان طبیعی فرآیندی است که در آن دادهها با استفاده از هوش مصنوعی به زبان طبیعی انسان تبدیل میشوند.
معنی تولید زبان طبیعی مشخص شد. حالا باید به این سؤالات پاسخ داد: چرا مهم است ماشین بتواند زبان طبیعی تولید کند؟ تولید زبان طبیعی چه کاربردهایی دارد؟ NLG در چه حوزهها یا صنایع دیگری جز ساختن چتباتهای هوشمند و دستیارهای مجازی (صوتی) مانند Alexa استفاده میشود؟
NLG چه کاربردهایی دارد؟
وقتی از کاربردهای NLG حرف میزنیم، درواقع از ابزارهای مختلفی حرف میزنیم که با هوش مصنوعی ساخته شدهاند و تکنولوژیهای لازم برای تولید زبان طبیعی در آنها بهکار گرفته شده است. ابزارهای مبتنی بر هوش مصنوعی که تولید زبان طبیعی را هم ممکن میکنند، در حوزهها و صنایع بسیار زیاد و گوناگونی کاربرد دارند. به عبارت دیگر، NLG مهم و کاربردی است چون درست مانند دیگر کاربردها و ابزارهای هوش مصنوعی کارها را سادهتر، سریعتر و بهینهتر میکند.
ازجمله مهمترین کاربردهای تولید زبان طبیعی (علاوهبر کاربرد در چتباتها و دستیارهای صوتی) میشود به موارد زیر اشاره کرد:
- ابزارهای تولید زبان طبیعی میتواند گزارشهای مالی، مالیاتی، فروش سالانه و هر گزارش دیگری که پر از عدد و رقم است یا بسیار فنی و تخصصی است و مدیران و کارکنان بخشهای مختلف یک کسبوکار برای تصمیمگیریهای استراتژیک و مهم باید آن را بخوانند و بفهمند، برایشان بخواند و قابلفهم و ساده خلاصه کند؛
- NLG مارکتینگ اتومیشن و دیجیتال مارکتینگ را بهکلی دگرگون کرده است. دیجیتال مارکتر برای شخصیسازی و سفارشیسازی ایمیلها و پیامهای مختلف به مشتریان میتواند از تولید زبان طبیعی کمک و پیشنهاد بگیرد. همچنین، چتباتهایی که در بخش پشتیبانی یا فروش، پاسخ پرسشهای مشتریان را میدهند، با این فناوری ساخته شدهاند؛
- ابزارهای NLG در تولید هر نوع محتوا برای انتشار در دنیای واقعی و مجازی (وبسایتهای خبری، آموزشی، فروشگاهی و شبکههای اجتماعی، مقالات دانشگاهی و …) کاربردی است. با کمکگرفتن از این فناوری میشود توضیحات محصولات را نوشت، اخبار مهم را خلاصه و محتواهای آموزشی را ساده کرد.
ماشین چطور زبان طبیعی را تولید میکند؟
تولید زبان طبیعی چطور اتفاق میافتد؟ چطور میشود به یک ماشین یاد داد که دادهها را جمعآوری و تحلیل کند و نتیجه را به زبان انسانها بگوید یا بنویسد؟ NLG فرآیندی ۶مرحلهای است. البته، نکتهی مهمی که قبل از پرداختن به مراحل NLG باید به آن اشاره کرد این است که تولید زبان طبیعی زیرمجموعهی حوزهی تخصصی دیگری بهنام پردازش زبان طبیعی (Natural Language Processing or NLP) است. درحقیقت، متخصصان NLP با استفاده از هوش مصنوعی و یادگیری ماشین، پردازش زبان طبیعی را که از دو بخش (درک زبان طبیعی و تولید زبان طبیعی) تشکیل شده است به ماشین یاد میدهند. (در عنوان بعدی مفصل دربارهی پردازش زبان طبیعی و ارتباطش با NLG توضیح داده میشود.)
۶ مرحله تولید زبان طبیعی عبارت است از:
اولین مرحله: تحلیل محتوای ورودی
سیستم اول باید بررسی و معلوم کند که کاربر چه چیزی از او میخواهد. آیا به او متنی ۳هزار کلمهای میدهد تا برایش خلاصه کند یا از او میخواهد تا ایمیلی را بخواند یا آدرس جایی را برایش پیدا کند و بگوید. پس، اولین مرحله تحلیل محتوایی است که کاربر به ابزار میدهد تا مشخص شود پاسخ نهایی چه چیزی باید باشد.
دومین مرحله: فهم دادههای ورودی
وقتی پاسخ نهایی مشخص شد، نوبت به فهمیدن کامل دادههایی میرسد که کاربر به ابزار داده است. در این مرحله دادههای ورودی تفسیر و الگوهای درون آن یافته میشود. در این مرحله، ماشین لرنینگ بسیار کمککننده است. کارشناسان با کمکگرفتن از زبان برنامهنویسی پایتون و کتابخانههای قدرتمند آن الگوریتمهایی را میسازند و به آنها آموزش میدهند تا از میان دادههای ورودی، خروجی مشخصی را تحویل دهند.
سومین مرحله: تعیین ساختار خروجی
حالا که معلوم شد کاربر از محتوایی که به ابزار داده چه میخواهد و پاسخ نهایی هم از تحلیل دادههای ورودی پیدا شده است، طرح کلی پاسخ نهایی ریخته میشود. برای نمونه، اگر کاربر خلاصهای از مهمترین نکاتی را که در یک گزارش مالی آمده میخواهد؛ در این مرحله، مشخص میشود که پاسخ نهایی نیز باید در قالب یک گزارش باشد که یک مقدمه و یک نتیجهگیری دارد که مهمترین اعداد و ارقام گزارش اصلی را نیز در خود جای داده است.
چهارمین مرحله: جملهبندی خروجی
خروجی چه متن باشد چه گفتار، باید جملهبندی درست و قابلفهمی برای کاربر داشته باشد. در این مرحله، جملات گفتاری یا نوشتاری که از دادههای ورودی استخراج یا بر پایهی آنها ساخته شدند، به گونهای مرتب و معنادار دنبال هم قرار میگیرند.
پنجمین مرحله: تعیین ساختار دستوری خروجی
در این مرحله جملات استخراجشده یا ساختهشده از نظر دستوری درست و بیعیب میشوند تا کاملا منطبق با زبان طبیعی کاربر گفته یا نوشته شوند.
ششمین مرحله: ارائهی خروجی
در مرحلهی آخر، خروجی که آمادهی تحویل شده در قالب و به شکلی که کاربر خواسته، متن یا گفتار، به او ارائه میشود.
NLP vs. NLG
همانطور که اشاره شد، تولید زبان طبیعی زیرمجموعهی پردازش زبان طبیعی است. پردازش زبان طبیعی مجموعهای از تکنولوژیها و تکنیکها است که زبان انسان را برای ماشین ترجمه میکند تا ماشین آن را بفهمد و اطلاعاتی را که باید از آن استخراج کند و دراختیار انسانها قرار دهد.پردازش زبان طبیعی به دو بخش تقسیم شده است: درک زبان طبیعی (NLU) و تولید زبان طبیعی (Natural Language Generation or NLG).
درک زبان طبیعی اولین قدم است. درواقع میشود گفت که درک مطلب است. اول باید کامپیوتر بفهمد که منظور انسان چیست تا بتواند پاسخش را بدهد. به عبارت دیگر، در این بخش، زبان انسان به زبان ماشین ترجمه میشود تا ماشین بتواند متن یا گفتهی انسان را بخواند یا بشنود. تولید زبان طبیعی مرحلهی بعدی است. در این مرحله، سیستم براساس دادهای که از کاربر به زبان خودش گرفته و فهمیده، به او پاسخی مکتوب یا شفاهی، بازهم به زبان طبیعی کاربر، میدهد.
همانطور که در تصویر بالا میبینید، پردازش زبان طبیعی و زیرمجموعههای آن هر یک حوزههای تخصصی و جداگانهای هستند. درست است که وجوه اشتراک زیادی باهم دارند، تفاوتهایی نیز دارند. برای درک زبان طبیعی و تولید زبان طبیعی از مدلها و تکنیکهای متفاوتی استفاده میشود. منظور از مدل، مدلی است که با آن به ماشین/کامپیوتر/سیستم آموزش میدهند تا دادهها را تحلیل و خروجی مشخصی را تحویل دهد.
جمعبندی و نتیجهگیری
۱. ما در عصر هوش مصنوعی، رباتهای هوشمند و انساننما، دستیارهای مجازی و انواع و اقسام ابزارهای مبتنی بر هوش مصنوعی زندگی میکنیم.
۲. متخصصان و کارشناسان حوزهها و صنایع مختلف با استفاده از هوش مصنوعی و زیرشاخهی آن، ماشین لرنینگ، به سیستمها یاد میدهند تا زبان انسان را درک و تحلیل کند. و بعد، پاسخ لازم و خواستهشده را ارائه دهد.
۳. تولید زبان طبیعی کامپیوترها را قادر میکند تا گفتاری و نوشتاری با انسان تعامل برقرار کنند.
۴. بیشک، تولید زبان طبیعی و ابزارهایی که میشود برای سادهترکردن کارهای مختلف با استفاده از آن ساخت، هر روز پرطرفدارتر میشوند.
۵. کاربردی و محبوبشدن این ابزارها میان عموم مردم و نه فقط متخصصان، در بازار تقاضا و رقابت ایجاد کرده است. پس، تقاضا در بازار برای متخصصان پردازش زبان طبیعی و NLG هم بیشتر شده است.
۶. برای ورود به این حوزهی تخصصی، باید ماشین لرنینگ را آموخت. و برای آموختن ماشین لرنینگ، باید آموزش زبان برنامهنویسی پایتون را گذراند.