تولید زبان طبیعی

بندانگشتی|What is NLG
**تولید زبان طبیعی** () که به‌طور مخفف **NLG** خوانده می‌شود، یک فرایند نرم‌افزاری است که خروجی زبان طبیعی را تولید می‌کند. در یکی از پراستنادترین بررسی‌های روش‌های NLG, NLG به‌عنوان «زیرشاخه‌ای از هوش مصنوعی و زبان‌شناسی محاسباتی توصیف می‌شود که با ساختن سیستم‌های رایانه‌ای سروکار دارد که می‌تواند متون قابل فهمی را به زبان انگلیسی یا سایر زبان‌های انسانی از برخی بازنمایی زیربنایی غیرزبانی اطلاعات تولید کند».

در حالی که به‌طور گسترده توافق شده‌است که خروجی هر فرایند NLG متن است، در مورد اینکه آیا ورودی‌های یک سیستم NLG باید غیرزبانی باشند یا خیر، اختلاف نظر وجود دارد. کاربردهای متداول روش‌های NLG شامل تولید گزارش‌های مختلف، به عنوان مثال آب و هوا و گزارش‌های بیمار، شرح تصاویر. و بات مکالمه است.

NLG خودکار را می‌توان با فرایندی مقایسه کرد که انسان‌ها هنگام تبدیل ایده‌ها به نوشتار یا گفتار از آن استفاده می‌کنند. روانشناسان زبان اصطلاح تولید زبان را برای این فرایند ترجیح می‌دهند، که می‌تواند در اصطلاحات ریاضی نیز توصیف شود یا در رایانه برای تحقیقات روانشناختی مدل شود. سیستم‌های NLG را همچنین می‌توان با مترجم‌های زبان‌های رایانه‌ای مصنوعی، مانند دیکامپایلرها یا ترانسپایلرها مقایسه کرد، که کدهای قابل خواندن توسط انسان تولید شده از یک نمایش میانی را نیز تولید می‌کنند. زبان‌های انسانی به‌طور قابل توجهی پیچیده‌تر هستند و امکان ابهام و تنوع بیان بسیار بیشتری را نسبت به زبان‌های برنامه‌نویسی می‌دهند، که NLG را چالش برانگیزتر می‌کند.

NLG ممکن است به عنوان مکمل درک زبان طبیعی (NLU) در نظر گرفته شود: در حالی که در درک زبان طبیعی، سیستم باید جمله ورودی را برای تولید زبان نمایش ماشینی ابهام‌زدایی کند، در NLG سیستم نیاز به تصمیم‌گیری در مورد نحوه نمایش یک زبان به کلمات دارد. ملاحظات عملی در ساخت NLU در مقابل سیستم‌های NLG باید با ورودی مبهم یا اشتباه کاربر مقابله کند، در حالی که ایده‌هایی که سیستم می‌خواهد از طریق NLG بیان کند، عموماً دقیقا شناخته شده‌اند. NLG باید یک نمایش متنی خاص و خودسازگار را از میان بسیاری از نمایش‌های بالقوه انتخاب کند، در حالی که NLU معمولاً سعی می‌کند یک نمایش واحد و نرمال شده از ایده بیان شده تولید کند.

NLG از زمان توسعه ELIZA در اواسط دهه ۱۹۶۰ وجود داشته‌است، اما این روش‌ها برای اولین بار در دهه ۱۹۹۰ به صورت تجاری مورد استفاده قرار گرفتند. تکنیک‌های NLG از سیستم‌های مبتنی بر الگوی ساده مانند ادغام ایمیل که نامه قالبی تولید می‌کند تا سیستم‌هایی که درک پیچیده‌ای از دستور زبان انسانی دارند، متغیر است. NLG همچنین می‌تواند با آموزش یک مدل آماری با استفاده از یادگیری ماشین، معمولاً بر روی مجموعه بزرگی از متون نوشته شده توسط انسان انجام شود.

## مثال
سیستم *پیش‌بینی گرده برای اسکاتلند* یک مثال ساده از یک سیستم ساده NLG است که اساساً می‌تواند یک الگو باشد. این سیستم به عنوان ورودی شش عدد را می‌گیرد که سطوح گرده پیش‌بینی شده را در مناطق مختلف اسکاتلند نشان می‌دهد. از این اعداد، سیستم یک خلاصه متنی کوتاه از سطوح گرده را به عنوان خروجی تولید می‌کند.

به عنوان مثال، با استفاده از داده‌های تاریخی برای ۱ ژوئیه ۲۰۰۵، نرم‌افزار تولید می‌کند: در اکثر نقاط کشور، میزان گرده چمن برای روز جمعه از متوسط به بالا در روز گذشته افزایش یافته با مقادیر حدود ۶ تا ۷ افزایش یافته‌است. با این حال، در مناطق شمالی، سطح گرده متوسط با مقادیر ۴ خواهد بود.در مقابل، پیش‌بینی واقعی (نوشته شده توسط یک هواشناس انسانی) از این داده‌ها به این صورت بود:انتظار می‌رود که تعداد گرده‌ها در سطح ۶ در بیشتر مناطق اسکاتلند و حتی سطح ۷ در جنوب شرق باقی بماند. تنها آسایش در جزایر شمالی و شمال شرقی سرزمین اصلی اسکاتلند با سطوح متوسط گرده است.مقایسه این دو، برخی از انتخاب‌هایی را که سیستم‌های NLG باید انجام دهند را نشان می‌دهد. این مقایسه‌ها در زیر بیشتر مورد بحث قرار می‌گیرند.

## مراحل
فریند تولید متن می‌تواند به سادگی نگه‌داشتن فهرستی از متن‌های از پیش ساخته شده آماده کپی و چسبانده شدن باشد، که احتمالاً با مقداری متن چسب پیوند داده شده‌است. نتایج ممکن است در حوزه‌های ساده مانند ماشین‌های فال یا تولیدکننده نامه‌های تجاری شخصی‌سازی شده رضایت‌بخش باشد. با این حال، یک سیستم پیچیده NLG باید شامل مراحل برنامه‌ریزی و ادغام اطلاعات باشد تا امکان تولید متنی را فراهم کند که طبیعی به نظر می‌رسد و تکراری نمی‌شود. مراحل معمول تولید زبان طبیعی، همان‌طور که توسط دیل و رایتر پیشنهاد شده‌است، عبارتند از:

**تعیین محتوا**: تصمیم‌گیری برای آنکه چه اطلاعاتی در متن ذکر شودبه عنوان مثال، در مثال بالا، تصمیم‌گیری در مورد اینکه آیا سطح گرده در جنوب شرقی ۷ است یا خیر.

**ساختار اسناد**: سازماندهی کلی اطلاعات برای انتقال. به عنوان مثال، تصمیم به توصیف مناطق با سطح گرده بالا، به جای مناطق با سطح گرده پایین.

**تجمیع**: ادغام جملات مشابه برای بهبود خوانایی و طبیعی بودن. به عنوان مثال، ادغام دو جمله زیر:
* *میزان گرده چمن برای روز جمعه در روز گذشته از متوسط به بالا افزایش یافته‌است.*
* *میزان گرده چمن در بیشتر نقاط کشور حدود ۶ تا ۷ خواهد بود.*

به جمله واحد زیر:
* *میزان گرده چمن در روز جمعه و در اکثر نقاط کشور در روز گذشته از متوسط به بالابه حدود ۶ تا ۷ عدد افزایش یافته‌است*.

**انتخاب لغوی**: به‌کار بردن کلمات برای مفاهیم. به عنوان مثال، تصمیم‌گیری در مورد استفاده از *متوسط* یا *معتدل* هنگام توصیف سطح گرده ۴.

**تولید عبارت** ارجاعی: ایجاد عبارات ارجاعی که اشیا و مناطق را شناسایی می‌کند. به عنوان مثال، تصمیم برای استفاده *در جزایر شمالی و شمال شرقی سرزمین اصلی اسکاتلند* برای اشاره به منطقه خاصی در اسکاتلند. این وظیفه همچنین شامل تصمیم‌گیری در مورد ضمایر و انواع دیگر ارجاع است.

**ادراک**: ایجاد متن واقعی که باید بر اساس قواعد نحو، صرف شناسی و املای صحیح باشد. به عنوان مثال، استفاده *از*  *to be* برای زمان آینده *خواهد بود*.

یک رویکرد جایگزین برای NLG استفاده از یادگیری ماشینی «انتها به انتها» برای ساختن یک سیستم است، بدون اینکه مراحل جداگانه‌ای مانند بالا داشته باشید. به عبارت دیگر، ما یک سیستم NLG را با آموزش یک الگوریتم یادگیری ماشین (اغلب یک LSTM) روی یک مجموعه داده بزرگ از داده‌های ورودی و متن‌های خروجی متناظر (نوشته شده توسط انسان) می‌سازیم. رویکرد انتها به انتها شاید در نوشتن شرح تصویر موفق‌ترین بوده‌است، که به‌طور خودکار یک عنوان متنی برای یک تصویر ایجاد می‌کند.

## کاربردها
### تولید گزارش خودکار
بندانگشتی|NLG applications
از دیدگاه تجاری، موفق‌ترین برنامه‌های کاربردی NLG سیستم‌های *داده به متن* بوده‌اند که خلاصه‌های متنی پایگاه‌های داده و مجموعه داده‌ها را تولید می‌کنند. این سیستم‌ها معمولاً تجزیه و تحلیل‌داده‌ها و همچنین تولید متن را انجام می‌دهند. تحقیقات نشان داده‌است که خلاصه‌های متنی می‌توانند مؤثرتر از نمودارها و دیگر تصاویر بصری برای پشتیبانی تصمیم باشند، و متون تولید شده توسط رایانه می‌توانند (از دیدگاه خواننده) نسبت به متون نوشته شده توسط انسان برتری داشته باشند.

اولین سیستم‌های تجاری داده به متن، پیش‌بینی آب و هوا را از داده‌های آب و هوا تولید می‌کردند. اولین چنین سیستمی که به کار گرفته شد FoG بود که توسط Environment Canada برای ایجاد پیش‌بینی آب و هوا به زبان‌های فرانسوی و انگلیسی در اوایل دهه ۱۹۹۰ استفاده شد. موفقیت FoG باعث ایجاد کارهای دیگر، هم تحقیقاتی و هم تجاری شد. برنامه‌های کاربردی اخیر شامل پیش‌بینی متن پیشرفته اداره Met Office است.

سیستم‌های داده به متن از آن زمان در طیف وسیعی از تنظیمات اعمال شده‌اند. پس از زمین لرزه جزئی در نزدیکی بورلی هیلز، کالیفرنیا در ۱۷ مارس ۲۰۱۴، لس آنجلس تایمز جزئیاتی را در مورد زمان، مکان و قدرت زمین لرزه در عرض ۳ دقیقه پس از رویداد گزارش داد. این گزارش به‌طور خودکار توسط یک «روزنامه‌نگار روبو» تولید می‌شود که داده‌های دریافتی را از طریق یک الگوی از پیش تعیین شده به متن تبدیل می‌کند. در حال حاضر علاقه تجاری قابل توجهی به استفاده از NLG برای خلاصه کردن داده‌های مالی و تجاری وجود دارد. در واقع، گارتنر گفته‌است که NLG به یک ویژگی استاندارد ۹۰ درصد از پلتفرم‌های مدرن BI و تجزیه و تحلیل تبدیل خواهد شد. NLG همچنین به صورت تجاری در روزنامه‌نگاری خودکار، بات مکالمه، تولید توضیحات محصول برای سایت‌های تجارت الکترونیک، خلاصه کردن سوابق پزشکی، و افزایش دسترسی (به عنوان مثال با توصیف نمودارها و مجموعه داده‌ها برای افراد نابینا) استفاده می‌شود. .

نمونه ای از استفاده تعاملی NLG چارچوب WYSIWYM، مخفف عبارت *What you see is what you meant است و* به کاربران اجازه می‌دهد تا نمای پیوسته نمایان شده (خروجی NLG) یک سند زبان رسمی اصلی (ورودی NLG) را ببینند و دستکاری کنند، در نتیجه زبان رسمی را بدون یادگیری آن ویرایش کنند.

با نگاهی به آینده، پیشرفت فعلی در تولید داده به متن، راه را برای تطبیق متون برای مخاطبان خاص هموار می‌کند. برای مثال، بسته به گیرنده متن (پزشک، پرستار، بیمار) داده‌های نوزادان در مراقبت‌های نوزادان را می‌توان در یک محیط بالینی، با سطوح مختلف جزئیات فنی و زبان توضیحی، به متن متفاوتی تبدیل کرد. همین ایده را می‌توان در یک محیط ورزشی با گزارش‌های مختلف برای طرفداران تیم‌های خاص به کار برد.

### شرح تصویر
در طول چند سال گذشته، به عنوان بخشی از تلاش گسترده‌تر برای بررسی رابط بین بینایی و زبان، علاقه‌ای به تولید خودکار زیرنویس‌ها برای تصاویر افزایش یافته‌است. نمونه‌ای از تولید داده به متن، الگوریتم زیرنویس تصویر (یا توصیف خودکار تصویر) شامل گرفتن یک تصویر، تجزیه و تحلیل محتوای بصری آن، و تولید یک توصیف متنی (معمولا یک جمله) است که برجسته‌ترین جنبه‌های تصویر را به صورت کلامی بیان می‌کند. .

یک سیستم زیرنویس تصویر شامل دو کار فرعی است. در تجزیه و تحلیل تصویر، قبل از نگاشت این خروجی‌ها به ساختارهای زبانی، ویژگی‌ها و خصوصیات یک تصویر شناسایی و برچسب گذاری می‌شوند. تحقیقات اخیر *از* رویکردهای یادگیری عمیق از طریق ویژگی‌های یک شبکه عصبی کانولوشنال از پیش آموزش‌دیده مانند AlexNet, VGG یا Caffe استفاده می‌کند، جایی که تولیدکنندگان عنوان از یک لایه فعال‌سازی از شبکه از پیش آموزش‌دیده به عنوان ویژگی‌های ورودی خود استفاده می‌کنند. وظیفه دوم، تولید متن، با استفاده از طیف گسترده‌ای از تکنیک‌ها انجام می‌شود. به عنوان مثال، در سیستم Midge، تصاویر ورودی به صورت سه‌گانه نشان داده می‌شوند که شامل تشخیص شی/مواد، تشخیص عمل/پوست و روابط فضایی است. اینها متعاقباً به سه‌گانه «اسم، فعل، حرف اضافه» نگاشت می‌شوند و با استفاده از گرامر جایگزینی درخت درک می‌شوند.

با وجود پیشرفت‌ها، چالش‌ها و فرصت‌ها در تحقیقات ثبت تصویر باقی مانده‌است. علی‌رغم معرفی Flickr30K, MS COCO و سایر مجموعه‌های داده بزرگ که آموزش مدل‌های پیچیده‌تر مانند شبکه‌های عصبی را امکان‌پذیر کرده‌است، استدلال شده‌است که *تحقیقات در زیرنویس تصویر می‌تواند از مجموعه داده‌های بزرگتر و متنوع‌تر سود ببرد.* طراحی اقدامات خودکار که بتواند قضاوت انسان را در ارزیابی مناسب بودن توصیفات تصویر تقلید کند، یکی دیگر از نیازهای این منطقه است. سایر چالش‌های باز شامل پاسخ‌گویی به پرسش بصری (VQA)، و همچنین ساخت و ارزیابی مخازن چند زبانه برای توصیف تصویر است.

### بات مکالمه
بندانگشتی|یک بات مکالمه مجازی
حوزه دیگری که NLG به‌طور گسترده در آن به کار گرفته شده‌است، سیستم‌های گفتگوی خودکار است که اغلب به شکل بات مکالمه می‌باشد. چت بات یا یک برنامه نرم‌افزاری است که برای انجام یک مکالمه چت آنلاین از طریق متن یا متن به گفتار، به جای برقراری ارتباط مستقیم با یک عامل انسانی زنده استفاده‌می‌شود. در حالی که تکنیک‌های پردازش زبان طبیعی (NLP) در رمزگشایی ورودی انسان استفاده می‌شود، NLG بخش خروجی الگوریتم‌های چت بات را در تسهیل گفتگوهای بی‌درنگ اطلاع می‌دهد.

سیستم‌های چت بات اولیه، از جمله CleverBot که توسط رولو کارپنتر در سال ۱۹۸۸ ایجاد شد و در سال ۱۹۹۷ منتشر شد، با شناسایی نحوه پاسخ یک انسان به همان سؤال در پایگاه داده مکالمه از طریق رویکرد بازیابی اطلاعاتی (IR) به سؤالات پاسخ می‌دهند. سیستم‌های *ربات‌های* گفتگوی مدرن عمدتاً به مدل‌های یادگیری ماشین(ML) متکی هستند، مانند یادگیری توالی به توالی و یادگیری تقویتی در تولید خروجی زبان انسانی. مدل‌های هیبریدی نیز مورد بررسی قرار گرفته‌اند. به عنوان مثال، دستیار خرید علی بابا از یک رویکرد IR برای بازیابی بهترین نامزدها از پایگاه دانش استفاده می‌کند، قبل از اینکه از مدل seq2seq مبتنی بر ML برای رتبه‌بندی مجدد نامزدها و ایجاد پاسخ استفاده شود.

### نوشتن خلاق و طنز محاسباتی
تولید زبان خلاق توسط NLG از زمان پیدایش این رشته فرضیه شده‌است. یکی از پیشگامان اخیر در این منطقه فیلیپ پارکر است که مجموعه‌ای از الگوریتم‌ها را توسعه داده‌است که قادر به تولید خودکار کتاب‌های درسی، جدول کلمات متقاطع، شعرها و کتاب‌هایی با موضوعات مختلف از صحافی تا آب مروارید هستند. ظهور مدل‌های بزرگ زبان مبتنی بر ترانسفورماتور از پیش آموزش دیده مانند GPT-3 نیز پیشرفت‌هایی را ممکن کرده‌است، چنین مدل‌هایی توانایی قابل تشخیصی را برای کارهای ایجاد-نوشتن نشان می‌دهند.

حوزه مرتبط با کاربرد NLG تولید طنز محاسباتی است. JAPE (موتور تولید و تجزیه و تحلیل جوک) یکی از اولین سیستم‌های تولید طنز بزرگ و خودکار است که از یک رویکرد مبتنی بر الگوی کدگذاری شده دستی برای ایجاد معماهای حماسی برای کودکان استفاده می‌کند. HAHAcronym تفسیرهای طنزآمیزی از هر نام اختصاری داده شده ایجاد می‌کند، و همچنین کلمات اختصاری مناسب جدیدی را با توجه به برخی کلمات کلیدی پیشنهاد می‌کند.

علیرغم پیشرفت‌ها، چالش‌های زیادی در تولید محتوای خلاقانه و طنز خودکار که با خروجی انسان رقابت می‌کند، باقی مانده‌است. در آزمایشی برای تولید سرفصل‌های طنز، خروجی‌های بهترین مدل مبتنی بر BERT در ۹٫۴٪ مواقع خنده‌دار تلقی می‌شد (در حالی که عنوان‌های واقعی Onion 38.4%) و مدل GPT-2 که بر روی سرفصل‌های طنز تنظیم شده بود به ۶٫۹٪ رسید. اشاره شده‌است که دو مسئله اصلی در سیستم‌های تولید طنز، فقدان مجموعه داده‌های مشروح و فقدان روش‌های ارزیابی رسمی که می‌تواند برای تولید محتوای خلاقانه دیگر قابل اجرا باشد. برخی نسبت به کاربردهای دیگر، عدم توجه به جنبه‌های خلاقانه تولید زبان در NLG استدلال کرده‌اند. محققان NLG از بینش‌هایی در مورد آنچه که تولید زبان خلاق را تشکیل می‌دهد، و همچنین ویژگی‌های ساختاری روایت که پتانسیل بهبود خروجی NLG را حتی در سیستم‌های داده به متن دارند، بهره‌مند خواهند شد.

## ارزیابی
همانند سایر زمینه‌های علمی، محققان NLG باید میزان عملکرد سیستم‌ها، ماژول‌ها و الگوریتم‌هایشان را آزمایش کنند که به آن *ارزیابی* می‌گویند. سه تکنیک اساسی برای ارزیابی سیستم‌های NLG وجود دارد:
* *ارزیابی مبتنی بر وظیفه (بیرونی)*: متن تولید شده را به یک فرد بدهید و ارزیابی کنید که چقدر به او کمک می‌کند تا یک کار را انجام دهد (یا در غیر این صورت به هدف ارتباطی خود دست یابد). به عنوان مثال، سیستمی که خلاصه‌ای از داده‌های پزشکی را تولید می‌کند، می‌تواند با دادن این خلاصه‌ها به پزشکان، و ارزیابی اینکه آیا خلاصه‌ها به پزشکان در تصمیم‌گیری بهتر کمک می‌کنند، ارزیابی شود.
* *رتبه‌بندی انسانی*: متن تولید شده را به شخصی بدهید و از آنها بخواهید که کیفیت و مفید بودن متن را ارزیابی کنند.
* *معیارها*: متون تولید شده را با استفاده از یک متریک خودکار مانند BLEU , METEOR , ROUGE و LEPOR با متون نوشته شده توسط افراد از همان داده‌های ورودی مقایسه کنید.

هدف نهایی این است که سیستم‌های NLG چقدر در کمک به افراد مفید هستند، که اولین تکنیک فوق است. با این حال، ارزیابی‌های مبتنی بر کار زمان‌بر و پرهزینه هستند و انجام آن‌ها می‌تواند دشوار باشد (مخصوصا اگر به موضوعاتی با مهارت تخصصی مانند پزشکان نیاز داشته باشد). از این رو (مانند سایر حوزه‌های NLP) ارزیابی‌های مبتنی بر وظیفه استثنا هستند، نه هنجار.

اخیراً محققان در حال ارزیابی میزان همبستگی رتبه‌بندی‌ها و معیارهای انسانی با ارزیابی‌های مبتنی بر وظیفه (پیش‌بینی) هستند. کار در زمینه چالش‌های نسل رویدادهای وظیفه مشترک انجام می‌شود. نتایج اولیه نشان می‌دهد که رتبه‌بندی‌های انسانی در این زمینه بسیار بهتر از معیارها است. به عبارت دیگر، رتبه‌بندی‌های انسانی معمولاً حداقل تا حدی اثربخشی کار را پیش‌بینی می‌کنند (اگرچه استثنائاتی وجود دارد)، در حالی که رتبه‌بندی‌های تولید شده توسط معیارها اغلب اثربخشی کار را به خوبی پیش‌بینی نمی‌کنند. این نتایج اولیه هستند. در هر صورت، رتبه‌بندی انسانی محبوب‌ترین تکنیک ارزیابی در NLG است. این در تضاد با ترجمه ماشینی است که در آن معیارها به‌طور گسترده استفاده می‌شود.

یک هوش مصنوعی را می‌توان بر اساس *وفاداری* به داده‌های آموزشی خود یا در عوض، بر اساس *واقعیت درجه‌بندی* کرد. پاسخی که داده‌های آموزشی را منعکس می‌کند اما واقعیت ندارد، وفادار است اما واقعی نیست. یک پاسخ مطمئن اما غیر وفادار یک *توهم* است. در پردازش زبان طبیعی، توهم اغلب به عنوان «محتوای تولید شده که به محتوای منبع ارائه شده غیرمعنا یا بی‌وفا است» تعریف می‌شود.

## جستارهای وابسته
* تکمیل خودکار
* مولدهای متن مارکوف

## منابع

## پیوند به بیرون
* گروه علاقه ویژه ACL در نسل (SIGGEN)
* SIGGEN بخشی از ACL Anthology (شامل مقالات تحقیقاتی NLG)
* پورتال ACL NLG (شامل فهرستی از منابع NLG)
* لیست «تقریباً کامل» سیستم‌های NLG Bateman و Zock اکنون به‌عنوان یک ویکی با انواع تجسم‌ها و جداول نمای کلی موجود در صورت تقاضا نگهداری می‌شود.
* وبلاگ ایهود رایتر در مورد نسل زبان طبیعی
* توضیح چند رسانه ای تعاملی برای تعمیر و نگهداری تجهیزات - مقاله تشریح کننده بستر آزمایشی توضیح چند رسانه ای هماهنگ (COMET)