تولید گفتگو به کمک یادگیری تقویتی عمیق
به نام خدا
۱. مقدمه
یکی از موضوعات مهمی که در سالهای اخیر در حوزه پردازش زبانهای طبیعی1 مورد توجه قرار گرفته، سیستمهای تولید گفتگو2 است. سیستمهای تولید گفتگو یا عاملهای مکالمه کننده3 مانند دستیارهای شخصی 4 و رباتهای سخنگو 5 در جامعه امروز بسیار فراگیر شده است[1]. که می توان در این حوزه به دستیار های شخصی بر روی تلفن های همراه 6یا ربات های آنلاین در شبکههای اجتماعی همچون تلگرام اشاره کرد. با این حال پاسخ های تولید شده توسط این عامل ها، جملات کوتاه و قابل پیش بینی هستند.
دراین مقاله با استفاده از یادگیری تقویتی عمیق به تولید مدلی برای رباتهای سخنگو می پردازیم،که بتواند مشکلات ذکرشده، را رفع کرده و به تولید پاسخهای هماهنگ، منسجم و سرگرم کننده بیانجامد. این مدل، گفتگو بین دو عامل مجازی را با استفاده از سیستم پاداش و تنبیه جهت دستیابی به اهداف بلند مدت در گفتگو7، پیاده سازی میکند[2]. این کار را می توان جز یکی از اولین قدم ها در حوزه تولید مکالمه در جهت دستیابی به اهداف بلند مدت دانست.
۲. کارهای مرتبط
تلاش های انجام شده برای ساخت سیستمهای گفتگو، را می توان به دو گروه اصلی تقسیم کرد:
گروه اول در تلاش بودند،قوانینی برای نگاشت پیامهای ورودی به پاسخها، به وسیلهی مجموعه بزرگی از دادههای آموزش8، بیایند و از این طریق پاسخ مناسب هر ورودی را به دست بیاورند.(این گروه مسائل تولید گفتار را جز مسائل source-to-target transduction به حساب میآورند.) ریتر9 و همکارانش مشکل تولید پاسخ را به عنوان یک مسئله ترجمه ماشینی 10دسته بندی کردند[3]. در ادامه سوردونی 11 سیستم ریتر را بهبود بخشید. او به جای استفاده از سیستم مکالمه بر پایه ترجمه ماشینی کلمه به کلمه12، از شبکههای عصبی بهره برد. پیشرفت شبکههای عصبی و همچنین مدل 13SEQ2SEQ، منجر به تلاشهای زیادی در جهت ساخت سیستمهای مکالمه 14 شد[4].
گروه دوم بر روی ساخت سیستمهای گفتگو وظیفهگرا، برای حل مسائل در دامنههای خاص تمرکز کردند. که بیشتر این تلاشها شامل فرآیند تصمیمگیری مارکف 15میشود.
۳. تعریف مسئله
همانطوری که در بخش قبل ذکر شد مدل seq2seq یکی از مدل های مورد استفاده در سیستمهای تولید پاسخ است که می تواند احتمال تولید پاسخ مناسب را بیشینه کند. اما با وجود موفقیت مدل seq2seq، استفاده از آن، سبب رخداد دو مشکل میگردد.
مشکل اول :
این مدل با تابع 16MLE آموزش دیده است. دراین مدل احتمال پاسخ به کاربر با جملاتی مانند "I don’t know" زیاد است. اما هدف رباتهای سخنگو، سرگرم کردن کاربر است و تولید این دست از پاسخها موجب از دست دادن مخاطب میگردد. پس به پاسخهایی نیاز داریم که علاوه بر دارا بودن اطلاعات، توجه مخاطب را نیز جلب کند.مشکل دوم :
به ستون سمت راست جدول زیر توجه کنید :
یکی دیگر از مشکلات معمول در استفاده از این مدل ایجاد حلقه بینهایت برای سیستم است که سیستم توانایی شکستن این حلقه را ندارد. در قسمت بالا سمت راست جدول، سیستم در سومین دیالوگ وارد حلقه بینهایت میشود.
با توجه به مشکلات بالا به مدلی نیاز داریم که به هدف 17 رباتهای سخنگو به وسیله پاداش تعریف شده 18 دست یابد و همچنین بتواند با در نظر گرفتن اثر بلند مدت19 یک پاسخ بر روی مکالمه جاری، از وقوع حالتهایی مانند ایجاد حلقه بینهایت بپرهیزد.
۴. مروری بر ادبیات و مقدمات لازم
۴.۱. شبکه های 20LSTM
شبکههای LSTM، نوع خاصی از شبکههای عصبی بازگشتی هستند که توانائی یادگیری وابستگیهای بلندمدت را دارند. این شبکهها برای اولین بار توسط سپ هوخرایتر21 و یورگن اشمیدهوبر 22 در سال ۱۹۹۷ معرفی شدند[5]. و در سال 2000 میلادی توسط ژرس و اشمیدهوبر بهبود یافتند[6].
در حقیقت هدف از طراحی شبکههای LSTM، حل کردن مشکل وابستگی بلندمدت23 بوده است. به یاد سپاری اطلاعات برای بازههای زمانی بلند مدت، رفتار پیشفرض شبکههای LSTM بوده و ساختار آنها به صورتی است که اطلاعات خیلی دور را به خوبی بخاطر میسپارند که این ویژگی در ساختار آنها نهفته است.
همه شبکههای عصبی بازگشتی به شکل دنبالهای (زنجیرهای) تکرار شونده، از ماژولهای (واحدهای) شبکههای عصبی هستند. در شبکههای عصبی بازگشتی استاندارد، این ماژولهای تکرار شونده ساختار سادهای دارند، در حالی که در شبکههای LSTM ماژول تکرار شونده به جای داشتن تنها یک لایه شبکه عصبی، ۴لایه دارند که طبق ساختار ویژهای با یکدیگر در تعامل و ارتباط هستند[8،7].
۴.۲. مدل رمزنگار-رمزگشا (توالی به توالی ) شبکه 24LSTM
مدل رمزنگار-رمزگشا LSTM یک شبکه عصبی بازگشتی برای مسائلی است که یک دنباله را به دنباله دیگر نگاشت میکند. (یک دنباله به عنوان ورودی دریافت می کند و خروجی، دنباله دیگری است.) به همین دلیل به آن مدل seq2seq نیز گفته میشود. در مسائل seq2seq دنباله ورودی و خروجی میتوانند دارای طول های متفاوتی باشند به همین دلیل این مسائل از اهمیت زیادی برخوردار بوده و چالش برانگیزاند[9].
مدل seq2seq، در مسائلی چون ترجمه ماشینی، خلاصهکردن متن 25و تشخیص گفتار26 کاربرد دارد. به طور مثال در ترجمه ماشینی سنتی، جمله ها به چند قسمت تقسیم میشوند و هر قسمت به صورت جداگانه ترجمه میشود که منجر به اختلال در خروجی ترجمه میگردد. این در حالی است که انسان ها برای ترجمه یک جمله ابتدا معنای آن را متوجه میشوند سپس جمله را ترجمه میکنند. مدل seq2seq در ترجمه ماشینی از روش انسان گونهی ترجمه پیروی میکند.[10]
این معماری از ترکیب دو مدل تشکیل شده است. ابتدا دنباله ورودی رمزگذاری شده و به برداری از اعداد با طول ثابت تبدیل میشود که به آن، بردار فکر27 گفته میشود. سپس برای رمزگشایی، بردار به دنبالهی خروجی تبدیل میشود.[10،9]
۵. مدل یادگیری تقویتی
در این بخش به توضیح بخش های مختلف مدل مورد استفاده می پردازیم.
سیستم یادگیری شامل دو عامل است. (عامل اول را p و عامل دوم q مینامیم.) عامل ها به نوبت می توانند با دیگری صحبت کنند. یک گفتگو به صورت دنبالهای از جملهها است که به وسیله هر دو عامل تولید شده و به صورت زیر نمایش داده میشود.
۵.۱. عمل
عمل 28 a یک صحبت یا دیالوگ است که قرار است توسط یکی از عاملها تولید شود. فضای حالت اعمال، بی نهایت است زیرا دنبالههای تولید شده طول دلخواهی دارند.
۵.۲. حالت
حالت 29 به صورت دوتایی شامل [p,q] است که دیالوگ قبلی تولید شده توسط هر کدام از عاملها را نشان میدهد. تاریخچه گفتگو بین 2 عامل در یک بردار ذخیره میشود.
۵.۳. پاداش
هر پاداش از 3 بخش تشکیل میشود که در زیر به توضیح آنها میپردازیم.
۵.۳.۱. سهولت در پاسخگویی30
پاسخ به دیالوگی که توسط ماشین تولید میشود باید آسان باشد.31حال میخواهیم این مقدار را اندازه بگیریم: جهت محاسبه میزان سهولت پاسخگویی، به جای محاسبه تمام حالتهایی که میتوانند جواب مناسبی داشته باشند، منفی احتمال جملاتی که باعث ایجاد گمراهی برای ماشین میشوند32مانند
I don’t know what you are talking about.
I have no idea.
را محاسبه میکنیم. مجموعه ای از این جملات (S)را در نظر گرفته و به کمک این مجموعه و احتمالات مدل seq2seq به محاسبه پاداش (r1) میپردازیم.
۵.۳.۲. جریان اطلاعات33
میخواهیم از تولید پاسخهای تکراری توسط هر عامل جلوگیری کنیم. به همین منظور میزان شباهت معنایی بین نوبتهای متوالی یک عامل را محاسبه کرده و پاداش r2، برابر منفی لگاریتم cos شباهت بین این دو عامل است.
۵.۳.۳. هماهنگی معنایی34
همچینین میخواهیم از حالت هایی که پاسخ ها دارای امتیاز (پاداش) بالا هستند اما از نظر معنایی هماهنگی با مکالمه بین 2 عامل ندارند پرهیز کنیم. به همین دلیل میزان اشتراک اطلاعات بین عمل انتخاب شده و دیالوگهای قبلی بیان شده در متن را بررسی میکنیم .
پاداش نهایی عملی مانند a مجموع وزندار پاداشهای معرفی شده در بخشهای قبل است.
که در آن مجموع ضرایب پاداش ها 1 است. و در این مدل این ضرایب را با مقادیر زیر مقدار دهی می کنیم.
۶. معرفی مجموعه داده
جهت پیاده سازی این کار از مجموعه داده35 ترجمه ماشینی WMT10 کنفرانس ACL 362010 دانشگاه اوپسالا سوئد 37 استفاده میشود. در این مجموعه حدود 22 میلیون 38 جمله به زبان انگلیسی در حوزهها و مفاهیم مختلف در ارتباط با تکنولوژی،جامعه و غیره وجود دارد. همچنین مجموعه دادههایی به زبانهای دیگر نیز در آن موجود و قابل استفاده است. مجموعه داده مورد استفاده را از لینک زیر دریافت کنید. [11]
در مقاله اصلی از بخشی ازمجموعه داده سایت Opensubtitle استفاده شده است که شامل 10 میلیون پیام میباشد. که جهت اطمینان از ساده بودن مجموعه داده ورودی در پاسخگویی، 0.8 میلیون دنباله از آن استخراج شده که کمترین احتمال تولید جملاتی مانند:
i don’t know what you are taking about.
به عنوان پاسخ در آن وجود داشته باشد.[12]
۷. مراجع
[1] Iulian V. Serban, Chinnadhurai Sankar, Mathieu Germain, Saizheng Zhang, Zhouhan Lin, Sandeep Subramanian, Taesup Kim, Michael Pieper, Sarath Chandar, Nan Rosemary Ke, Sai Rajeshwar, Alexandre de Brebisson, Jose M. R. Sotelo, Dendi Suhubdy, Vincent Michalski, Alexandre Nguyen, Joelle Pineau1 and Yoshua Bengio , "A Deep Reinforcement Learning Chatbot",pages 1. arXiv preprint arXiv:1709.02349.
[2] Jiwei Li1, Will Monroe1, Alan Ritter, Michel Galley, Jianfeng Gao2 and Dan Jurafsky , "Deep Reinforcement Learning for Dialogue Generation" .arXiv preprint arXiv:1606.01541.
[3] Alan Ritter, Colin Cherry, and William B Dolan. 2011. Data-driven response generation in social media. In Proceedings of the conference on empirical methods in natural language processing, pages 583–593. Association for Computational Linguistics.
[4] Iulian V Serban, Alessandro Sordoni, Yoshua Bengio, Aaron Courville, and Joelle Pineau. 2015a. Building end-to-end dialogue systems using generative hierarchical neural network models. arXiv preprint arXiv:1507.04808.
[5] Sepp Hochreiter, Jürgen Schmidhuber. "Long Short-Term Memory",1997.
[6] Felix A. Gers , Jürgen Schmidhuber. "Recurrent Nets that Time and Count", IDSIA, 2000.
[7] Understanding LSTM Networks, [Online], Available: http://colah.github.io/posts/2015-08-Understanding-LSTMs/#fn1 [Accessed Nov 2017].
[8] LSTM یادگیری شبکه های , [Online], Available: http://mehrdadsalimi.blog.ir/1396/02/25/Understanding-LSTM-Networks [Accessed Nov 2017].
[9] Encoder-Decoder Long Short-Term Memory Networks, [Online], Available: https://machinelearningmastery.com/encoder-decoder-long-short-term-memory-networks/ [Accessed Nov 2017].
[10] tensorflow neural machine translation tutorial, [Online], Available: https://github.com/tensorflow/nmt [Accessed Nov 2017].
[11] ACL 2010 Joint Fifth Workshop on Statistical Machine Translation and Metrics MATR Uppsala, Sweden, [Online], Available : http://www.statmt.org/wmt10/ [Accessed Nov 2017].
[12] OpenSubtitle corpus, [Online] , Available : http://opus.nlpl.eu/OpenSubtitles.php [Accessed Nov 2017].
Natural Language Processing (NLP)
Dialogue System
Conversational Agents (CA)
Personal Assistants
Chatbots
همچون Siri در Apple و Cortana در Microsoft
منظور از اهداف بلند مدت سرگرم کردن کاربر، ادامه پیدا کردن مکالمه با دیالوگ های جدید، برخورد کمتر با جملات گنگ،جلوگیری از حلقه بی نهایت و غیره می باشد.
training data
Ritter
Machine Translation
Sordoni
a phrasal SMT-based(Statistical Machine Translation) conversation system
LSTM sequence-to-sequence(SEQ2SEQ) model
conversation system
Markov Decision Processes (MDPs)
the Maximum-Likelihood Estimation (MLE) objective function: در علم آمار برآورد درستنمایی بیشینه روشی است برای برآورد کردن پارامترهای یک مدل آماری. وقتی بر مجموعهای از دادهها عملیات انجام میشود یک مدل آماری به دست میآید آنگاه درستنمایی بیشینه میتواند تخمینی از پارامترهای مدل ارائه دهد.(در بخشهای بعدی به توضیح بیشتر آن میپردازیم)
ارتباط مفید با کاربر
توسط توسعه دهنده
long-term influence
Long Short-Term Memory(حافظه طولانی کوتاه-مدت)
Sepp Hochreiter
Jürgen Schmidhuber
long-term dependency
Encoder-Decoder( sequence-to-sequence) LSTM
Text summarization
speech recognition
thought vector
action
state
Ease of answering
این جنبه از تولید کلام به تابع forward-looking مربوط می شود که در بخش بعد به توضیح آن می پردازیم.
dull responses
Information Flow
Semantic Coherence
Dataset
Association for Computational Linguistics
Uppsala University, Sweden
به طور دقیق 225220376