بهبود تحلیل احساسات از طریق رده بندی نوع جمله با استفاده از BiLSTM-CRF و CNN
جملات مختلف بیانگر احساسات در حالت های مختلف هستند. تحقیقات انجام شده در زمینهی رده بندی احساسات در سطح جمله، یا بر روی تکنیک هایی تمرکز دارند که می تواند با یک تکنیک، بیانگر همه ی راه حل ها باشد یا بر تکنیک هایی تمرکز دارند که تنها بر روی نوع خاصی از جمله عمل می کنند. در این مقاله یک شیوه ی تقسیم و غلبه ارایه شده است که ابتدا جملات را به انواع مختلفی تقسیم کرده سپس تحلیل احساسات را بر روی هر کدام از انواع جملات به طور مجزا انجام می دهد. هر گروه از جملات به یک شبکه عصبی کانولوشنال یک بعدی برای رده بندی احساسات داده می شود. این شیوه روی ۴ مجموعه داده انجام شده و با روش های دیگر مقایسه شده است. نتایج نشان می دهند که رده بندی نوع جمله کارایی تحلیل احساسات را در سطح جمله افزایش می دهد.
۱. مقدمه
تحلیل احساسات فیلدی است که به تحلیل نظرات،احساسات، تمایلات و عواطف انسان ها در برابر موجودیت ها و ویژگی هایشان در متن می پردازد. با رشد سریع رسانه های اجتماعی در وب مانند نظرات، فروم ها، بلاگ ها، اخبار و کامنت ها هرچه بیشتر مردم به اشتراک نظرات و دیدگاه هایشان به صورت آنلاین می پردازند. به این دلیل این مساله اهمیت روز افزونی در تجارت و اجتماع پیدا می کند.
هدف نظر (opinion target) موجودیتی است که نظر در رابطه با آن اظهار شده است. یک جمله ی حاوی نظر ممکن است بیان کننده ی احساسات در رابطه با
هیچ هدفی نباشد یا در رابطه با یک هدف یا چندین هدف باشد. بر طبق این مساله سه نوع جمله : جملات بدون هدف، جملات دارای یک هدف و جملات دارای چندین هدف، تعریف شده است. به عنوان مثال جملات زیر را از دیتاست (movie review sentence polarity v1.0 (MR در نظر بگیرید:
مثال ۱: یک شاهکار، که ساختش ۴ سال طول کشیده شده است.
مثال ۲: اگه می خواهید گاهی برای تفریح به سینما بروید، Wasabi جای خوبی برای شروع هست.
مثال ۳: کاپور فیلم سازی است که به طبیعت و ماجراجویی علاقه دارد و این فیلم از فیلم انگلیسی زبان قبلی او (الیزابت تحسین شده) بهتر است.
مثال ۱ یک جمله ی بدون هدف است. برای اینکه هدف جمله استنتاج بشود باید از متن اطلاع داشته باشیم و به جملات قبلی در متن رجوع شود.
مثال۲ یک جمله ی دارای یک هدف هست که پلاریته ی احساسات در آن، در رابطه با هدف wasabi ، مثبت هست.
مثال ۳ فیلمساز کوپار، این فیلم، فیلم قبلی انگلیسی زبان او، سه هدف در این جمله هستند. مشاهده می کنیم که این جملات پیچیده تر و دارای اهداف بیشتر هستند و تشخیص احساسات برای جملات دارای اهداف بیشتر مشکل هست.
طبق این مشاهدات یک شبکه عصبی عمیق که bidirectional long short term memory همراه با conditional random fields (BiLSTM-CRF) هست برای استخراج احساسات در جملات دارای نظر استفاده می شود. طبق اهداف استخراج شده جملات به سه رده ی بدون هدف، دارای یک هدف یا چندین هدف رده بندی می شوند. سپس شبکه های عصبی کانولوشنی یک بعدی (1d-CNN) برای رده بندی هر گروه، به طور مجزا آموزش می بینند. در نهایت پلاریته ی هر جمله با استفاده از یکی از آن سه 1d-CNN پیش بینی می شود.
تاثیر این شیوه بر روی دیتاست های مختلفی مانند (Stanford sentiment treebank(SST و (Customer reviews dataset(CR ارزیابی شده است و با شیوه های مختلف مقایسه شده است.
نتایج نشان می دهند که شیوه ی ارایه شده نتایج state of the art ی روی دیتاست های بنچمارک دارند.
این نتایج نشان می دهند که رده بندی نوع جمله می تواند باعث افزایش کارایی تحلیل احساسات در سطح جمله بشود.
این شیوه به طور خلاصه به صورت زیر است:
· یک فریموردک دو مرحله ای برای رده بندی احساسات در سطح جمله ارایه شده است که ابتدا جملات را بر طبق تعداد اهداف نظراتی که درشان هست ردهبندی می کند و سپس برای هر کدام از این انواع به طور مجزا شبکه ی 1d-CNN ی را برای شناسایی احساسات آموزش می دهد.
· درحالیکه روش های تحلیل احساسات عمدتا نوع جملات را نادیده می گیرند نشان داده شده است که ردهبند احساساتی که مناسب هر نوع جمله به طور مجزا باشد نتایج بهتری را در رده بندی احساسات در سطح جمله نشان می دهد.
۲. کارهای مرتبط
در ابتدای سال ۲۰۰۰، تحلیل احساسات یکی از فعال ترین حوزه های پژوهشی در حوزه پردازش زبان طبیعی شد. این جوزه دارای پیچیدگی ها و زیر مساله هایی است درنتیجه بسیاری از محققان دریافتند که در تحلیل احساسات انواع مختلف جملات نیاز به رویارویی و برخورد متفاوتی دارند. مدل های مختلف جمله شامل جملات فاعلی، جملات وابسته به هدف، جملات مقایسه ای، جملات منفی، جملات شرطی، جملات طعنه آمیز از این نوع هستند.
رویکرد های یادگیری عمیق تا حدودی می توانند ویژگی های ساختاری و معنایی را از متن بدون نیاز به مهندسی ویژگی ها ،که دارای نیاز به کار و زمان بیشتری دارد، استخراج کنند. به همین دلیل در سال های اخیر بسیار مورد توجه قرار گرفته اند و کارایی قابل ملاحظه ای از خود نشان داده اند.
در سال ۲۰۱۴، kalchbrenner و همکارانش [۱] و Kim مدل های CNN مختلفی برای رده بندی احساسات ارایه دادند [۲]. هر دو می توانستند با جملات دارای طول های مختلف کار کنند و روابط در رنج کوتاه و بلند را در جمله دریافت کنند. مدل ارایه شده توسط kim دارای هایپرپارامتر های کمی بود و می توانست بر روی بردارهای کلمات از قبل آموزش داده شده آموزش داده شود.
همچنین Irsoy و Cardie شبکه بازگشتی عمیقی (Deep Recurrent Neural Network) ارایه کردند که از چندین لایه بازگشتی روی هم قرار گرفته تشکیل می شد و آن را بر جملات مرکب در زبان و در کاربرد تحلیل احساسات آزمایش کردند [۳]. در سال ۲۰۱۵، Tai، Socher و Manning یک درخت LSTM برای بهبود بازنمایی های معنایی معرفی کردند که بهتر از بسیاری از مدل های دیگر عمل می کرد[۴]. همچنین، Tang و همکارانش چهارچوبی برای سگمنت کردن و رده بندی کردن توامان برای رده بندی احساسات در سطح جمله ارایه کردند[۵].
۳. متدلوژی ارایه شده در مقاله
شیوه ارایه شده در این مقاله برای بهبود تحلیل احساسات با استفاده از رده بندی نوع جمله مورد شرح داده می شود. خلاصه ای از این رویکرد در شکل زیر نمایش داده شده است. ابتدا مدل BiLSTM-CRF برای استخراج عبارات هدف از جملات نظر ورودی استفاده می شود و هر جمله طبق تعداد اهدافی که در آن به صورت آشکارا اظهار شده اند دسته بندی می شوند. سپس مدل رده بند احساسات 1d-CNN که پلاریته را برای جملات بدون هدف، تک هدفه و چند هدفه به صورت مجزا پیش بینی می کند استفاده می شود.
استفاده از مدل توالی برای رده بندی نوع جمله
ابتدا BiLSTM-CRF برای استخراج هدف (opinion target) و رده بندی نوع جمله شرح داده خواهد شد. استخراج هدف مشابه مساله ی کلاسیک تشخیص اسامی خاص (NER) است که در آن جملات به شکل توالی ای از توکن ها دیده می شوند که به صورت IOB (مخفف Inside Outside Beginnig ) برچسب گذاری شده اند. در شکل زیر نمونه ای از این نوع برچسب گذاری آورده شده است. B بیان کننده ابتدای هدف،I بیان کننده ی درون هدف و O بیان کننده ی خارج هدف است.
پس از این مرحله از مدل شبکه کانولوشن یک بعدی (1d-CNN) برای تحلیل احساسات استفاده می شود که پلاریته ی جملات بدون هدف جملات یک هدفه و جملات چند هدفه را تعیین می کند.
استفاده از مدل های شبکه عصبی عمیق در زمینه های تشخیص اسامی خاص، برچسب گذاری دنباله ها و تحلیل نظرات موفق بوده است. BiLSTM-CRF از مدل های توالی عصبی عمیق هست که از یک لایه ی BiLSTM و یک لایه ی CRF که روی هم قرار گرفته اند برای یادگیری توالی ها تشکیل شده است. BiLSTM از یک لایه ی LSTM جلورو و یک لایه ی LSTM عقب رو برای یادگیری اطلاعات توکن های قبلی و آینده استفاده می کند. LSTM نوعی از شبکه های بازگشتی (RNN) است که از واحدهای long short memory به عنوان واحدهای مخفی استفاده می کند. در ادامه به مرور مختصر RNN ، BiLSTM و BiLSTM-CRF می پردازیم.
RNN نوعی مدل توالی عصبی مصنوعی است که ارتباط بین واحد ها در آن تشکیل یک سیکل می دهد. این مدل یک دنباله ورودی (x1,...,xT) به عنوان ورودی دریافت کرده و از شبکه حافظه داخلی خود برای نمایش رفتار زمانی داینامیک استفاده می کند. این شبکه از یک واحد مخفی h و یک خروجی y تشکیل شده است. T آخرین مرحله زمانی است. در هر مرحله زمانی t ، حالت مخفی ht شبکه RNN از روی حالت مخفی قبلی ht-1 و ورودی در همان مرحله xt محاسبه می شود:
که در آن U و W ماتریس های وزن شبکه هستند. (.)g یک تابع فعالساز غیرخطی مانند تابع element wise logistic sigmoid است.
خروجی در مرحله زمانی t ، به صورت (yt= softmax (V ht محاسبه می شود که V پارامتر وزن دیگری از شبکه است و در لایه ی نهایی تابع فعالساز softmax اعمال می شود.
شبکه LSTM نوعی از شبکه های عصبی بازگشتی RNNاست برای برطرف کردن مساله ی ازبین رفتن گرادیان (vanishing gradients) مطرح شده اند.
شبکه LSTM به کار رفته در BiLSTM-CRF دارای دو گیت (یک گیت ورودی it و یک گیت خروجی ot) و یک بردار فعالسازی سلول ct است.
شبکه BiLSTM از دو LSTM استفاده می کند که هر توکن توالی را بر اساس متن گذشته و متن آینده ی آن توکن یاد می گیرد همانطور که در شکل زیر نشان داده شده است یک LSTM توالی را از چپ به راست و دیگری توالی را از راست به چپ پردازش می کند. در هر مرحله زمانی t یک لایه رو به جلو مخفی با تابع واحد مخفی h بر اساس حالت مخفی قبلی و ورودی در آن مرحله xt و یک لایه مخفی عقب رو با تابع واحد مخفی h بر اساس حالت مخفی آینده ht+1 و ورودی در آن مرحله حاضر xt محاسبه می شود.
بازنمایی های روبه جلو و رو به عقب متن که هر کدام به ترتیب با h و h تولید شده اند در یک بردار طولانی با هم الحاق می شوند.
مدل توالی دیگری که بسیار مورد استفاده قرار می گیرد (Conditional Random Fields (CRF است که یک مدل احتمالی گرافی بدون جهت است که بیانگر توزیع های log-linear روی خروجی ها به عنوان تابعی از مشاهده ی ورودی است.
....
سپس در مدل BiLSTM-CRF یک softmax روی تمام دنباله های تگ ممکن منجر به یک احتمال برای دنباله y می شود.پیش بینی دنباله خروجی به صورت زیر محاسبه می شود:
که سیگما تابع امتیازی است که به صورت زیر تعریف می شود:
که در آن A ماتریس امتیاز های انتقال است و Ayi,yi+1 بیانگر امتیاز انتقال از تگ yi به yi+1 است .n طول جمله است. P ماتریس امتیازهای خروجی شده توسط شبکه BiLSTM است. Pi,yi امتیاز yi_th تگ i امین کلمه در جمله است.
همانطور که در شکل قابل مشاهده است از تکنیک dropout پس از لایه ورودی BiLSTM-CRF استفاده شده است تا از overfitting بر روی داده های آموزشی جلوگیری شود (این تکنیک توسط Hinton برای اولین بار معرفی شد[۵]).
پس از استخراج هدف با استفاده از BiLSTM-CRF جملات نظرات طبق تعداد اهداف استخراج شده از آن ها به دسته های بدون هدف، یک هدفه و چند هدفه دسته بندی می شوند.
استفاده از 1d-CNN برای رده بندی احساسات بر روی هر نوع جمله
شبکه 1d-CNN ابتدا توسط kim مطرح شد [۲]. این شبکه جملات با طول مختلف را به عنوان ورودی دریافت و بردار های با طول ثابت به عنوان خروجی تولید می کند. قبل از آموزش، word embedding ها برای هر کلمه از کلمات کل جملات ورودی تولید می شود. تمام word embedding ها در ماتریس M قرار داده می شوند. در لایه ورودی، embedding کلمات جمله آموزشی ورودی حاضر از M استخراج می شوند. ماکزیمم طول جملاتی که شبکه با آن کار می کند ثابت است. جملات طولانی تر برش می خورند و جملات کوتاه تر با بردار صفر پدینگ می شوند. همچنین از dropout نیز برای جلوگیری از overfitting استفاده می شود.
در لایه کانولوشن، چندین فیلتر با ابعاد پنجره های متفاوت بر روی word embedding ها حرکت می کنند تا یک کانولوشن یک بعدی انجام شود. همین طور که فیلتر حرکت می کند بسیاری از دنباله ها که دارای ویژگی های ساختاری و معنایی فیلتر شده در n-gram هستند تولید می شوند.
دنباله های ویژگی در یک feature map الحاق می شود.
در لایه ی pooling، عملیات max pooling برای کپچر کردن مفیدترین ویژگی های محلی به کار می رود.
توابع فعالساز غیرخطی element-wise اعمال می شود. خروجی های فیلترهای مختلف در لایه ی ادغام، با هم الحاق می شوند. سپس پس از اعمال یک dropout دیگر، یک لایه تمام متصل softmax توزیع احتمالاتی روی لیبل های کلاس های مختلف را خروجی می دهد.
شبکه CNN یکی از متداول ترین مدل های اتصال گرا برای رده بندی است. این مدل ها برای یادگیری محرک های محیطی و ذخیره کردن این اطلاعات به فرم اتصال بین نرون ها تمرکز دارند. وزن ها در یک شبکه عصبی طبق داده های آموزشی با یک الگوریتم یادگیری تنظیم می شود. هرچقدر اختلاف در دادگان آموزشی بیشتر باشد یادگیری داده های آموزشی برای الگوریتم یادگیری دشوار تر می شود. تقسیم کردن جملات حاوی نظر به دسته های مختلف طبق تعداد هدف های اظهار شده در آن ها، می تواند باعث کاهش تفاوت ها در داده های آموزشی در هر گروه بشود و درنتیجه موجب افزایش دقت نهایی رده بندی شود.
۴. معرفی دادگان
برای آموزش BiLSTM-CRF برای استخراج هدف ها و رده بندی نوع جملات از دادگان نظرات v2.0 MPQA استفاده شده است که دارای رنج وسیعی از جملات با تعداد هدف های ختلف است. این دادگان دارای 14492 جمله از منابع خبری مختلف است که با هدف ها در سطح عبارات (7026 هدف) به صورت دستی نشانه گذاری شده است.
برای رده بندی احساسات با استفاده از 1d-CNN، روی دیتاست های مختلفی تست انجام شده است:
دادگان ( MR ( Movie Review sentence polarity dataset v1.0 :
این دادگان از ۵۳۳۱ نظر مثبت و ۵۳۳۱ نظر منفی تشکیل شده که از وبسایت Rotten Tomatoes استخراج شده اند که در آن نظرات مثبت با برچسب تازه و نظرات منفی با برچسب فاسد برچسب گذاری می شوند.دادگان (SST-1(Stanford sentiment treebank-1 :
این دادگان دارای ۱۱۸۵۵ جمله است که باز هم از صفحات Rotten Tomatoes استخراج شده است. جملات این دادگان هر کدام به صورت ریز (خیلی مثبت،مثبت،میانه،منفی،خیلی منفی) برچسب گذاری شده است .دادگان (SST-2 (Stanford sentiment treebank-2 :
نسخه باینری برچسب گذاری شده دادگان قبلی است. در این دادگان نظرات میانه حذف شده اند و نظرات خیلی مثبت و خیلی منفی به صورت مثبت و منفی برچسب گذاری شده اند. این دادگان متشکل از ۹۶۱۳ جمله است .دادگان (CR(Customer Riviews :
این دادگان شامل نظرات مشتریان در مورد ۴ محصول دیجیتالی است و شامل ۳۷۷۱ جمله است که از سایت آمازون استخراج شده است و دارای ۲۴۰۵ نظر مثبت و ۱۳۶۶ نظر منفی است.
۵. پیاده سازی
۶. منابع
[1] Kalchbrenner, N. , Grefenstette, E. , & Blunsom, P. (2014). A convolutional neural net- work for modelling sentences. In Proceedings of the 52nd annual meeting of the association for computational linguistics (ACL) (pp. 655–665). Baltimore, Mary- land: Association for Computational Linguistics .
[2] Kim, Y. (2014). Convolutional neural networks for sentence classification. In Proceed- ings of the 2014 conference on empirical methods in natural language processing (EMNLP) (pp. 1746–1751) .
[3] Irsoy, O. , & Cardie, C. (2014a). Deep recursive neural networks for compositional- ity in language. In Advances in neural information processing systems 27: annual conference on neural information processing systems (NIPS) (pp. 2096–2104) .
[4] Tai, K. S., Socher, R., & Manning, C. D. (2015). Improved semantic representa- tions from tree-structured long short-term memory networks. arXiv preprint arXiv: 1503.0 0 075 .
[5] Tang, D., Qin, B., Wei, F., Dong, L., Liu, T., & Zhou, M. (2015c). A joint segmen- tation and classification framework for sentence level sentiment classification. IEEE/ACM Transactions on Audio, Speech, and Language Processing, 23 (11), 1750–1761. doi: 10.1109/TASLP.2015.2449071 .
[5] Hinton, G. E., Srivastava, N., Krizhevsky, A., Sutskever, I., & Salakhutdi- nov, R. R. (2012). Improving neural networks by preventing co-adaptation of feature detectors. Computing Research Repository (CoRR), abs/1207.0580 . URL: http://arxiv.org/abs/1207.0580 .