تولید گفتگو به کمک یادگیری تقویتی عمیق


به نام خدا

۱. مقدمه

یکی از موضوعات مهمی که در سال‌های اخیر در حوزه پردازش زبان‌های طبیعی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" زیاد است. اما هدف ربات‌های سخنگو، سرگرم کردن کاربر است و تولید این دست از پاسخ‌ها موجب از دست دادن مخاطب می‌گردد. پس به پاسخ‌هایی نیاز داریم که علاوه بر دارا بودن اطلاعات، توجه مخاطب را نیز جلب کند.

  • مشکل دوم :
    به ستون سمت راست جدول زیر توجه کنید :

    جدول 1 - ستون سمت چپ : پیاده سازی مکالمه به کمک یک LSTM چهار لایه. ستون سمت راست : پیاده سازی مکالمه به کمک یادگیری تقویتی

    یکی دیگر از مشکلات معمول در استفاده از این مدل ایجاد حلقه بی‌نهایت برای سیستم است که سیستم توانایی شکستن این حلقه را ندارد. در قسمت بالا سمت راست جدول، سیستم در سومین دیالوگ وارد حلقه بی‌نهایت می‌شود.

با توجه به مشکلات بالا به مدلی نیاز داریم که به هدف 17 ربات‌های سخنگو به وسیله پاداش تعریف شده 18 دست یابد و همچنین بتواند با در نظر گرفتن اثر بلند مدت19 یک پاسخ بر روی مکالمه جاری، از وقوع حالت‌هایی مانند ایجاد حلقه بی‌نهایت بپرهیزد.

۴. مروری بر ادبیات و مقدمات لازم

۴.۱. شبکه های 20LSTM

شبکه‌های LSTM، نوع خاصی از شبکه‌های عصبی بازگشتی هستند که توانائی یادگیری وابستگی‌های بلندمدت را دارند. این شبکه‌ها برای اولین بار توسط سپ هوخرایتر21 و یورگن اشمیدهوبر 22 در سال ۱۹۹۷ معرفی شدند[5]. و در سال 2000 میلادی توسط ژرس و اشمیدهوبر بهبود یافتند[6].
در حقیقت هدف از طراحی شبکه‌های LSTM، حل کردن مشکل وابستگی بلندمدت23 بوده است. به یاد سپاری اطلاعات برای بازه‌های زمانی بلند مدت، رفتار پیش‌فرض شبکه‌های LSTM‌ بوده و ساختار آ‌ن‌ها به صورتی است که اطلاعات خیلی دور را به خوبی بخاطر می‌سپارند که این ویژگی در ساختار آن‌ها نهفته است.
همه شبکه‌های عصبی بازگشتی به شکل دنباله‌ای (زنجیره‌ای) تکرار شونده، از ماژول‌های (واحد‌های) شبکه‌های عصبی هستند. در شبکه‌های عصبی بازگشتی استاندارد، این ماژول‌های تکرار شونده ساختار ساده‌ای دارند، در حالی که در شبکه‌های LSTM ماژول تکرار شونده به جای داشتن تنها یک لایه شبکه عصبی، ۴لایه دارند که طبق ساختار ویژه‌ای با یکدیگر در تعامل و ارتباط هستند[8،7].

شکل 1 - ماژول‌های تکرار شونده در شبکه‌های عصبی بازگشتی استاندارد فقط دارای یک لایه هستند.

شکل 2 - ماژول‌های تکرار شونده در LSTM‌ها دارای ۴ لایه که با هم در تعامل هستند است.

۴.۲. مدل رمزنگار-رمزگشا (توالی به توالی ) شبکه 24LSTM

مدل رمزنگار-رمزگشا LSTM یک شبکه عصبی بازگشتی برای مسائلی است که یک دنباله را به دنباله دیگر نگاشت می‌کند. (یک دنباله به عنوان ورودی دریافت می کند و خروجی، دنباله دیگری است.) به همین دلیل به آن مدل seq2seq نیز گفته می‌شود. در مسائل seq2seq دنباله ورودی و خروجی می‌توانند دارای طول های متفاوتی باشند به همین دلیل این مسائل از اهمیت زیادی برخوردار بوده و چالش برانگیزاند[9].
مدل seq2seq، در مسائلی چون ترجمه ماشینی، خلاصه‌کردن متن 25و تشخیص گفتار26 کاربرد دارد. به طور مثال در ترجمه ماشینی سنتی، جمله ها به چند قسمت تقسیم می‌شوند و هر قسمت به صورت جداگانه ترجمه می‌شود که منجر به اختلال در خروجی ترجمه‌ می‌گردد. این در حالی است که انسان ها برای ترجمه یک جمله ابتدا معنای آن را متوجه می‌شوند سپس جمله را ترجمه می‌کنند. مدل seq2seq در ترجمه ماشینی از روش انسان گونه‌ی ترجمه پیروی می‌کند.[10]
این معماری از ترکیب دو مدل تشکیل شده است. ابتدا دنباله ورودی رمزگذاری شده و به برداری از اعداد با طول ثابت تبدیل می‌شود که به آن، بردار فکر27 گفته می‌شود. سپس برای رمزگشایی، بردار به دنباله‌ی خروجی تبدیل می‌شود.[10،9]

شکل 3 - مدل رمزنگار- رمزگشا در ترجمه ماشینی

۵. مدل یادگیری تقویتی

در این بخش به توضیح بخش های مختلف مدل مورد استفاده می پردازیم.
سیستم یادگیری شامل دو عامل است. (عامل اول را p و عامل دوم q می‌نامیم.) عامل ها به نوبت می توانند با دیگری صحبت کنند. یک گفتگو به صورت دنباله‌ای از جمله‌ها است که به وسیله هر دو عامل تولید شده و به صورت زیر نمایش داده می‌شود.

شکل 4 - دنباله ای از جمله ها

۵.۱. عمل

عمل 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) می‌پردازیم.

شکل 5 - محاسبه پاداش r1

۵.۳.۲. جریان اطلاعات33

می‌خواهیم از تولید پاسخ‌های تکراری توسط هر عامل جلوگیری کنیم. به همین منظور میزان شباهت معنایی بین نوبت‌های متوالی یک عامل را محاسبه کرده و پاداش r2، برابر منفی لگاریتم cos شباهت بین این دو عامل است.

شکل 6 - محاسبه پاداش r2

۵.۳.۳. هماهنگی معنایی34

همچینین می‌خواهیم از حالت هایی که پاسخ ها دارای امتیاز (پاداش) بالا هستند اما از نظر معنایی هماهنگی با مکالمه بین 2 عامل ندارند پرهیز کنیم. به همین دلیل میزان اشتراک اطلاعات بین عمل انتخاب شده و دیالوگ‌های قبلی بیان شده در متن را بررسی می‌کنیم .

شکل 7 - محاسبه پاداش r3

پاداش نهایی عملی مانند a مجموع وزن‌دار پاداش‌های معرفی شده در بخش‌های قبل است.
شکل 8 - جمع وزن دار پاداش های r1, r2 وr3

که در آن مجموع ضرایب پاداش ها 1 است. و در این مدل این ضرایب را با مقادیر زیر مقدار دهی می کنیم.
شکل 9 - مقادیر ضرایب پاداش ها در این مدل

۶. معرفی مجموعه داده

جهت پیاده سازی این کار از مجموعه داده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].


  1. Natural Language Processing (NLP)

  2. Dialogue System

  3. Conversational Agents (CA)

  4. Personal Assistants

  5. Chatbots

  6. همچون Siri در Apple و Cortana در Microsoft

  7. منظور از اهداف بلند مدت سرگرم کردن کاربر، ادامه پیدا کردن مکالمه با دیالوگ های جدید، برخورد کمتر با جملات گنگ،جلوگیری از حلقه بی نهایت و غیره می باشد.

  8. training data

  9. Ritter

  10. Machine Translation

  11. Sordoni

  12. a phrasal SMT-based(Statistical Machine Translation) conversation system

  13. LSTM sequence-to-sequence(SEQ2SEQ) model

  14. conversation system

  15. Markov Decision Processes (MDPs)

  16. the Maximum-Likelihood Estimation (MLE) objective function: در علم آمار برآورد درست‌نمایی بیشینه روشی است برای برآورد کردن پارامترهای یک مدل آماری. وقتی بر مجموعه‌ای از داده‌ها عملیات انجام می‌شود یک مدل آماری به دست می‌آید آنگاه درست‌نمایی بیشینه می‌تواند تخمینی از پارامترهای مدل ارائه دهد.(در بخش‌های بعدی به توضیح بیشتر آن می‌پردازیم)

  17. ارتباط مفید با کاربر

  18. توسط توسعه دهنده

  19. long-term influence

  20. Long Short-Term Memory(حافظه طولانی کوتاه-مدت)

  21. Sepp Hochreiter

  22. Jürgen Schmidhuber

  23. long-term dependency

  24. Encoder-Decoder( sequence-to-sequence) LSTM

  25. Text summarization

  26. speech recognition

  27. thought vector

  28. action

  29. state

  30. Ease of answering

  31. این جنبه از تولید کلام به تابع forward-looking مربوط می شود که در بخش بعد به توضیح آن می پردازیم.

  32. dull responses

  33. Information Flow

  34. Semantic Coherence

  35. Dataset

  36. Association for Computational Linguistics

  37. Uppsala University, Sweden

  38. به طور دقیق 225220376