یک مدل یادگیری ترکیبی برای تجزیه و تحلیل آنالیز احساسات


کمیل آقابابایی_ارشد نرم افزار

چکیده : با افزایش تعداد وب سایت‌های ارتباط جمعی , مردم تمایل دارند دیدگاه‌های خود را در مورد همه چیز به صورت آنلاین به اشتراک بگذارند . این راهی مناسب برای انتقال پیام‌ها به کاربران نهایی در یک موضوع خاص است . آنالیز احساسی شاخه‌ای از پردازش زبان طبیعی ( NLP ) است که به شناسایی نظرات کاربران نسبت به موضوعات خاص اشاره دارد . این کار در زمینه‌های مختلفی مانند بازاریابی ، خدمات مشتری و غیره مورد استفاده قرار می‌گیرد . از سوی دیگر ، یادگیری عمیق به دلیل نقش موفقیت‌آمیز آن در چندین کار پردازش زبانی طبیعی محبوب شده‌است . هدف این مقاله ارایه یک معماری یادگیری عمیق نوین برای تحلیل احساسات فارسی است . با توجه به مدل پیشنهادی ، ویژگی‌های محلی توسط شبکه‌های عصبی convolutional ( سی ان ان ) استخراج می‌شوند و وابستگی‌های طولانی‌مدت توسط LSTM . بنابراین ، این مدل می‌تواند توانایی‌های CNN's و LSTM's را مهار کند . علاوه بر این ، Word2vec برای نمایش کلمه به عنوان یک گام یادگیری بدون نظارت استفاده می‌شود . برای بهترین دانش ما ، این اولین تلاش است که یک مدل یادگیری عمیق ترکیبی برای تحلیل احساسات فارسی مورد استفاده قرار می‌گیرد .

ما این مدل را بر روی مجموعه داده‌های فارسی که در این مطالعه معرفی شده‌است ، ارزیابی می‌کنیم . نتایج تجربی اثربخشی مدل پیشنهادی را با دقت ۸۵ % نشان می‌دهد .

KEYWORDS: sentiment analysis; natural language processing; deep learning; Persian;

machine learning

۱. مقدمه

در سال‌های اخیر ، سایت‌های ارتباط جمعی تعداد قابل‌توجهی از اعضا را کسب کرده‌اند.

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

این یکی از رایج‌ترین کاربردهای از NLPاست .

تجزیه و تحلیل احساسات می تواند در سطوح مختلف دامنه اعمال شود: سطح سند ،سطح جمله و سطح جنبه(aspect). تحلیل احساسی را می‌توان در سطوح مختلف دامنه : سطح سند ، سطح جمله ، و سطح aspect اعمال کرد . آنالیز احساسی سطح اسناد برای تشخیص کل احساسات نوشتار مورد استفاده قرار می‌گیرد . آنالیز احساسی سطح جمله برای تعیین یک احساس یک جمله استفاده می‌شود در حالی که تحلیل احساسی سطح جنبه /بعد به منظور تشخیص هر جنبه از هر موجودیت مورد استفاده در یک جمله استفاده می‌شود . برای مثال در این جمله : " من واقعا ً محصولات Apple را دوست دارم ، اما آخرین ورژن آیفون آن قدرها هم عالی نیست ! " احساس مثبتی در مورد محصولات Apple وجود دارد اما یک نظر منفی در مورد آخرین آیفون وجود دارد [ ۳ ] [ ۴ ] .

با این که استخراج ویژگی از اسناد نقش مهمی در طبقه‌بندی وظایف ایفا می‌کند، اغلب تحقیقات تحلیل احساسات ایرانی از روش‌های یادگیری ماشین سنتی استفاده می‌کنند.این روش‌ها باید به طور دستی ویژگی‌ها را از داده‌ها استخراج کنند. برخی از این تکنیک‌ها عبارتند از نوی بیز (NB)، ماشین بردار پشتیبان (SVM) و رگرسیون لجستیک [۵]. از سوی دیگر، ورودی‌های متنی باید به روش مناسب به شبکه‌های عصبی داده شوند. بسته کلمات (BOW) یک روش مشهور است که هر جمله را به شکل مناسب برای یادگیری ماشین معرفی می‌کند. این روش کاملاً ساده و موثر است، اما نظم کلمه‌ای را در سند نادیده می‌گیرد [۶]، که می‌تواند منجر به یک مشکل قابل‌توجه در آنالیز احساسی برای دو جمله با یک مجموعه کلمات و احساسات متفاوت شود. BOWهمچنین شباهت معنایی بین کلمات را در نظر نمی‌گیرد [۷].

روش‌های متعددی برای ارایه یک کلمه مناسب برای تغذیه الگوریتم‌های یادگیری ماشین مانند N - گرم و ویژگی‌های باینری وجود دارد. در حال حاضر، به جز پژوهش‌های اندکی در زبان‌های چینی و هندی، اکثر تحقیقات بر روی متن انگلیسی انجام شده‌است. علاوه بر این، زبان فارسی با پیچیدگی چالش برانگیز مانند بسیاری از پسوندها، فقدان مجموعه داده‌ها غنی، و غیره روبرو است.[5]

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

CNN بخوبی برای استخراج ویژگی‌های محلی از متن مناسب است [ ۸ ] . RNN برای پردازش داده‌های متوالی استفاده می‌شود [ ۹ ] . LSTM یک نوع خاص از RNN است که قادر به یادگیری وابستگی‌های بلند مدت است . همچنین می‌تواند مشکل محو شدن گرادیان و انفجار گرادیان را حل کند [ ۱۰ ] .

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

وابستگی‌های بلند مدت نیز توسط LSTM یاد گرفته می‌شوند . از سوی دیگر ، به جای نمایش هر کلمه با استفاده از شاخص خود در واژه‌نامه ، ما از Word2vec به عنوان یک الگوریتم embeddingاستفاده می‌کنیم ، که کلید نتایج حاصل از معماری شبکه عصبی پیشنهادی است . در این مطالعه دو مجموعه داده معرفی شده‌است . آن‌ها به ترتیب در حدود ۹۰۰۰ و ۳۰۰۰ جمله دارند که به صورت مثبت ، منفی و خنثی برچسب زده می‌شوند .

محتوای این مقاله به بخش‌های زیر تقسیم شده‌است : بخش ۲ درباره کارهای قبلی بحث می‌کند . بخش ۳ شامل مدل پیشنهادی است . ما مدل ترکیبی CNN و RNN را در این بخش به تفصیل شرح می‌دهیم . بخش ۴ مجموعه داده‌ها را توضیح داده و نتایج تجربی را ارایه می‌دهد .در نهایت ، این مقاله در بخش آخر نتیجه‌گیری می‌رسد .

۲. سوابق

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

Pang و لی [ ۱۱ ] یک مجموعه داده را مورد استفاده قرار دادند و کلمات مختلف را از مجموعه داده‌ها به عنوان ویژگی انتخاب کردند . آن‌ها ویژگی‌هایی را از طریق تکنیک‌های یادگیری ماشین مختلف مانند بیز ، Max - انتروپی و SVM ، مورد بررسی قرار دادند . در مقایسه با مطالعات گزارش‌شده برای طبقه‌بندی مبتنی بر موضوع استاندارد ، آن‌ها قادر به دستیابی به نتایج مطلوبی نبودند . آن‌ها همچنین به مساله مشترک ارجاع در یک جمله می‌پردازند . وانگ و مانینگ [ ۱۲ ] یک NB ساده و SVM را برای طبقه‌بندی احساسات مورد بررسی قرار دادند . آن‌ها نشان دادند که استفاده از ویژگی‌های کلمه - bigram باعث ایجاد نتایج محکمی شده‌است . علاوه بر این، مطالعه آن‌ها نشان داد که SVM و NB به ترتیب برای بازبینی‌های کامل و کوتاه‌مدت موثر بودند . برای طبقه‌بندی متن ، استفاده از مدل کلمات برای نشان دادن سند آن‌ها مورد استفاده قرار گرفت . یک عیب این مدل وقتی رخ می‌دهد که اندازه مجموعه آموزشی کوچک باشد . BOWهمچنین ساختار گرامری و نظم کلمه را نادیده می‌گیرد . با این حال ، Mass و همکاران [ ۱۳ ] یک مدل جدید را معرفی کردند که شباهت‌های معنایی و احساسی را در میان کلمات گرفته بود. برای به دست آوردن شباهت‌های احساسی ، آن‌ها از یک روش یادگیری نظارت شده استفاده کردند . تشابه‌ات معنایی نیز توسط Word2vec آموخته شد . شباهت معنایی نیز توسط word2vec آموخته شد. اگرچه مدل آنها به کلمات تصادفی حساس بود و فقدان کلمات کلیدی می توانند منجر به عملکرد ضعیف شوند ، اما به نتایج قابل قبولی رسیدند.

Socher و همکاران [ ۱۴ ] از یکSentiment احساسات استفاده کردند و مدلی را پیشنهاد کردند که به نام شبکه عصبی بازگشتی RNTN . این مدل بیش از اندازه مشابه مدل ارایه‌شده توسط Socher یک سال قبل از [ ۱۵ ] است که Matrix - ( MV - RNN ) نامیده می‌شود .

MV- RNN مشابه شبکه عصبی بازگشتی بود اما برای نمایش کلمات و عبارت‌ها ، هر دو بردار و یک ماتریکس را به هر گره در " درخت تجزیه " اختصاص دادند . مدل آن‌ها می‌تواند معنای هر کلمه را بداند . هم چنین می‌تواند یاد بگیرد که چگونه یک کلمه همسایگان خود را تغییر می‌دهد . با این حال ، یکی از مشکلات اصلی with - RNN این بود که تعداد پارامترها به شدت وابسته به اندازه دایره لغات بودند و بسیار بزرگ شدند . برای پرداختن به این مشکل ، نویسندگان یک مدل RNTN را پیشنهاد کردند که از یک تابع ترکیب مبتنی بر تانسور برای همه گره‌ها استفاده می‌کند .

لی و Mikolov [ ۶ ] یک بردار پاراگراف را پیشنهاد کردند که یک الگوریتم بدون نظارت بود که نمایش برداری توزیع پیوسته را آموخت . آن‌ها از مدل خود برای آنالیز احساسی استفاده کردند و نتایج حاصل را بدست آوردند . نوآوری مطالعه آن‌ها این بود که این مدل می‌تواند برای قطعات با طول متغیر از متون اعمال شود . مدل آن‌ها همچنین هر سند را با یک بردار متراکم نشان می‌دهد .

باقری و همکاران [۱۶] یک مدل مبتنی بر رویکرد lemmatization برای تحلیل احساسات فارسی پیشنهاد دادند. آن‌ها از الگوریتم Naive بیز برای طبقه‌بندی استفاده کردند. مدل آن‌ها، مانند بسیاری از مطالعات تحلیل احساسات ایرانی، از مدل‌های یادگیری ماشین سنتی استفاده می‌کند.(Alimardani و همکاران [۱۷]، Hajmohammadi و همکاران [۱۸]، Basiri و همکاران [۱۹]).

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

روشن فکر و همکاران [ ۲۰ ] یک مدل یادگیری عمیق را برای تحلیل احساسات فارسی پیشنهاد کردند .مدل آن‌ها دو مرحله یادگیری دارد ، با استفاده از مدل Skip-Gram برای نمایش بردار یادگیری کلمات و استفاده از دو شبکه عصبی عمیق دوسویه LSTM و (CNN ) به طور جداگانه در یک روش نظارت شده. در مطالعه ما ، دو معماری شبکه عصبی ترکیبی برای طبقه‌بندی بررسی‌های فارسی و نظرات به کار گرفته شده‌اند . CNN با LSTM و CNN با واحد Gated Recurrent Unit ( GRU )برای طبقه‌بندی احساسات به سه کلاس به عنوان مثبت ، منفی و خنثی استفاده می‌شود . در مدل پیشنهادی ، ویژگی‌های محلی را می ‌توان توسط CNN یا GRU به دست آورد در حالی که در کار دیگری با یادگیری عمیق برای تحلیل احساسات فارسی ، دو شبکه منفرد به طور جداگانه مورد استفاده قرار گرفتند [ ۲۰ ] و مدل آن‌ها نمی توانست هر دو قابلیت CNN's و LSTM's را مهار کرد . با این حال ، ترتیب دادن لایه‌ها در مدل پیشنهادی ، نقش مهمی در نحوه عملکرد آن ایفا می‌کند .

برای به دست آوردن قابلیت تعبیه کلمات word embedding ، تکنیک Word2vec در مدل پیشنهادی مورد استفاده قرار می‌گیرد. Word2vec از یک شبکه عصبی با یک لایه پنهان برای آموزش مدل استفاده می‌کند. این تکنیک برخی از چالش‌های موجود در فارسی از جمله سبک نوشتاری مختلف، وجود فضای بین کلمات و غیره را مورد خطاب قرار می‌دهد در حالی که بیشتر کلمات دیگری که در مطالعات تحلیل احساسات ایرانی بکار گرفته شده‌اند مانند باقری و همکاران [۱۶] Alimardani و همکاران [۱۷]، couldn't این مشکلات را حل می‌کنند.

همانطور که قبلاً ذکر شد، تحقیقات کافی درباره تحلیل احساسات فارسی با یادگیری عمیق وجود ندارد. براساس دانش مولف، این اولین مطالعه‌ای بر روی تحلیل احساسات فارسی با معماری یادگیری عمیق ترکیبی است. ما ترکیبی از CNN و RNN (LSTM,GRU)، را پیشنهاد می‌کنیم که عملکرد بهتری نسبت به CNN و RNN به طور جداگانه ارایه می‌دهد.

۳. روش پیشنهادی

در این مطالعه، یک مدل یادگیری عمیق ترکیبی به منظور طبقه‌بندی هر جمله فارسی به عنوان احساسی مثبت، منفی یا خنثی ارائه شده‌است. شکل ۱ چارچوب کلی مدل پیشنهادی را نشان می‌دهد. طبق شکل ۱، پس از ایجاد یک مجموعه داده فارسی برای هر جمله، کلمه تعبیه کلمه ، توسط Word2vec انجام می‌شود. پس از آن، سی ان ان ویژگی‌های محلی را استخراج می‌کند.

اندازه‌های چندگانه لایه کانولوشن در این مرحله مورد استفاده قرار می‌گیرند . واحد خطی (Relu ) نیز به عنوان فعال کردن خروجی لایه شبکه CNN اعمال می‌شود . کیم ( ۲۱ ) نشان داد که سی ان ان می‌تواند منجر به بهبود نتایج در وظایف طبقه‌بندی نظرات شود . بعد از استفاده از یک لایه ادغام POOLING برای ایجاد ویژگی‌های مرتبه بالاتر ، ویژگی‌های ثابت ترجمه سطح پایین که توسط سی ان ان یاد گرفته شد به LSTM به عنوان ورودی داده شد . LSTM می‌توانند وابستگی بلند مدت و ورودی زنجیره فرآیند را یاد بگیرند . در نهایت ، بعد از استفاده از یک لایه کاملا ً متصل fully connected ، مدل سعی می‌کند احساسات هر جمله ورودی را مثبت ، منفی یا خنثی پیش‌بینی کند .

محتوای این بخش به بخش‌های زیر تقسیم می‌شود:

word embedding , convolutional , pooling , dropout , RNN , and fully connected .

3.1 Word Embedding

برای انجام تحلیل احساسی ، گام اول یک نمایش مناسب از سند هدف را انتخاب می‌کند . این مرحله نقش مهمی در یادگیری عمیق ایفا می‌کند . در این مطالعه ، ما از یادگیری بدون نظارت بر استفاده از embedding سطح کلمه با استفاده از یک مدل Word2vec استفاده می‌کنیم [ ۲۲ ] . این مدل متشکل است از هر دو skip - gram و تکرار مداوم Bag of Words برای نمایش محاسبه بردارها . این بردارها یک اطلاعات معنایی مفید در مورد کلمات و ارتباط آن‌ها با یکدیگر را می دهند .

اجازه دهید که اندازه bag of words را با S و Le طول یک کلمه از word-embedding باشد، بنابراین word-embedding برای دانش لغویvocabularies توسط بردارهای ستونی در ماتریس E R S*Le. Q

encoded شده‌است. یک جمله را می‌توان به شیوه‌ای نشان داد که در معادله (۱) نشان‌داده شده‌است:

۳.۲ Convolution سی ان ان

یک نوع خاص از شبکه عصبی است. سی ان ان می‌تواند به خوبی با داده‌های فضایی کار کند چون تنها از اتصال ویژه لایه قبلی استفاده می‌کند؛ می‌تواند احساسات ورودی را به روشی قابل‌قبول درک کند ].۸[

عملیات کانولوشن در کل ماتریس ورودی است که در بخش ۳.۱ ذکر شد تا ویژگی‌های احساسی را استخراج کنیم .برای هر پنجره ورودی داده‌شده با اندازه w یک ماتریس وزن نیز برای استخراج بردار ویژگی‌های محلی اندازه l-w+1 با استفاده از ماتریس بر روی تمام کلمات ورودی اعمال می‌شود. یک واحد خطی اصلاح (Relu) نیز به عنوان فعال کردن خروجی لایه شبکه سی ان ان بکار گرفته می‌شود که جایگزین خروجی‌های منفی با صفر می‌شود. خروجی این لایه, همان شکل ورودی را دارد.

۳.۳ ماکسPooling

ما عملیات حداکثر تجمع را به خروجی لایه convolutional اعمال می‌کنیم، بنابراین نقشه‌های ویژگی به این لایه انتقال داده می‌شوند تا بیش‌ترین مقدار ویژگی را بدست آورند. اجازه دهید یک ویژگی ایجاد شود که در بخش قبل ایجاد شد: عملیات حداکثر تجمع بیش‌ترین ارزش ویژگی را در میان یک نقشه c به روشی که در معادله (۴) نشان داده می‌شود، می‌گیرد.

3.4 Drop out

در این بخش از یک لایه dropout استفاده می‌کنیم که به طور تصادفی بخشی از ورودی به صفر را تعیین می‌کند .

این لایه از overfitting شبکه جلوگیری می‌کند . همچنین این شبکه ، شبکه را توزیع می‌کند تا بر روی بخش‌های خاصی از ورودی تمرکز نکند .

RNN 3.5

یک شبکه عصبی بازگشتی (RNN) نوعی از شبکه‌های عصبی مصنوعی است. این روش در چندین مطالعه NLP مورد استفاده قرار می‌گیرد. آن‌ها برای تشخیص مشخصات یک توالی از داده‌ها طراحی شده‌اند. همانطور که قبلاً ذکر شد, ویژگی‌ها توسط سی ان ان اخذ می‌شوند. در این مرحله, LSTM و GRU به عنوان دو نوع از شبکه‌های عصبی مصنوعی برای یادگیری مورد استفاده قرار می‌گیرند. بنابراین, این ویژگی‌ها به حافظه کوتاه‌مدت LSTM و GRU منتقل می‌شوند.

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

شکل ۲ نشان می‌دهد که چگونه LSTM حالت مخفی را با معادله ( ۱۰ - 5 ) محاسبه می‌کند [ ۲۳ ] .

در جاییکه i، f، o گیت ورودی، فراموشی و گیت خروجی هستند. σ نشان‌دهنده تابع sigmoid منطقی است که در لایه مخفی قبلی و فعلی ارتباط دارد. U ماتریس وزنی است که ورودی‌ها را به لایه مخفی فعلی متصل می‌کند. xبردار ورودی است. Ĉt یک حالت مخفی است. Ctحافظه داخلی واحد است.

GRU یک مکانیزم gating در RNN است . شبیه LSTM است اما پارامترهای کمتری دارد . آموزش آن نیز آسان است . یک واحد GRU دارای دو دریچه است : یک گیت update و یک گیت reset . گیت به روز رسانی تعیین می‌کند که چه مقدار از حافظه قبلی باید در اطراف نگه‌داشته شود . گیت راه‌اندازی مجدد چگونگی ترکیب ورودی جدید با حافظه قبلی را تعیین می‌کند . شکل ۳ نشان می‌دهد که چگونه GRU حالت پنهان با معادله ( ۱۴ - 11 ) را محاسبه می‌کند [ ۲۳ ] .

Where r is a reset gate, and z is an update gate.

۳.۶ اتصال به صورت کامل

لایه آخر یک لایه کاملا ً متصل است که تمام ویژگی‌های تولید شده قبل از خروجی نهایی را دریافت می‌کند . ما از cross - entropy به عنوان تابع زیان استفاده می‌کنیم ، که تفاوت بین توزیع احساسات حقیقی و خروجی را اندازه‌گیری می‌کند . خروجی لایه متراکم با تابع زیان محاسبه می‌شود . Adam optimizer نیز در این مرحله به کار می‌رود . معماری اساسی مدل پیشنهادی برای یک جمله فارسی در شکل ۴ نشان‌داده شده‌است . طبق شکل ۴ ، برای هر جمله ورودی ، مرحله word embedding توسط Word۲vec انجام می‌شود . پس از آن ، این مدل سعی دارد هر احساس با ترکیبی از دو شبکه عصبی را پیش‌بینی کند : CNN و LSTM

۴. آزمایش و نتایج

راه‌اندازی آزمایشی متشکل است از یک سیستم‌عامل ویندوز که یک محیط مجازی به زبان پایتون را اداره می‌کند. این بخش به بخش‌های زیر تقسیم می‌شود:

data, convolutional and activation, max-pooling and dropout, RNN and baseline.

۴.۱ داده

در فارسی ، یکی از مشکلات NLP این است که هیچ مجموعه داده استانداردی برای آنالیز احساسی وجود ندارد . در این بخش از یک کاوشگر استفاده کردیم تا داده‌های خود را از www.digikala.com جمع‌آوری کنیم که سایت معروف ایرانی برای محصولات الکترونیکی است . ما این مجموعه داده‌ها را " PE " نام بردیم که مخفف مجموعه داده الکترونیکی فارسی است . ما همچنین از API های پخش تویی‌تر برای ایجاد مجموعه داده دوم در مورد مساله سیاسی در فارسی استفاده کردیم . ما این مجموعه داده " PP " را نام بردیم که مخفف مجموعه داده سیاسی فارسی است .

"PE " به عنوان مجموعه داده اصلی ، جملات ۹۰۶۶ دارد و " PP " جملات ۲۵۵۰ دارد . ما به طور دستی هر جمله مثبت ، منفی یا خنثی را با استفاده از ۱۰ دانشمند کامپیوتری مختلف وspeakers بومی برای تصمیم‌گیری در مورد هر احساس طبقه‌بندی کردیم . جدول ۱ همه جزئیات را در مورد هر مجموعه داده نشان می‌دهد . در جدول ، ( Nu , N + , N - ) به ترتیب تعداد جملات خنثی ، مثبت و منفی هستند .

بخش‌های زیر پارامترهای بهینه بدست‌آمده از آزمایش را مشخص می‌کنند .

۴.۲ convolutional Layer and Activation

اندازه کرنل بهینه ۱ بعدی ۳ ، ۵ و ۷ است . این اندازه‌های هسته accuracy بالاتری داشتند . تعداد بهینه فیلتر ۱۲۸ است . لایه فعال‌سازی Relu نیز در این بخش استفاده شده‌است .

۴.۳ Maxpooling و Dropout

با توجه به آزمایش ما برای max - pooling ، اندازه کرنل بهینه ۲ بود . لایه dropout در نرخ ۰.۵ برای کاهش overfitting تنظیم شد . این روش ، این مدل را برای درک داده‌ها به روش بهتر هدایت می‌کند و می‌تواند علت accuracy بالاتری نیز باشد .

۴.۴ RNN

LSTM و GRU به ترتیب ۱۲۸ و ۲۵۶ واحد دارند . با توجه به آزمایش ، افزایش یا کاهش تعداد واحدها باعث overfitting می‌شود . همچنین می‌تواند accuracyدقت را کاهش دهد .

۴.۵ نتایج

ما نتایج خود را با چهار مطالعه تحلیلی احساسی مقایسه کردیم . جدول ۲ نتایج تجربی هر مدل را بر روی مجموعه داده فارسی ما نشان می‌دهد .

طبق این جدول ، مدل ۱ یکی از بهترین رویکردهای سنتی به نامNBSVM است [ ۱۲ ] . مدل ۲ و ۳ دو مطالعه بر روی تحلیل احساسات فارسی هستند . آن‌ها به ترتیب Naive بیز و رگرسیون لجستیک را گسترش دادند [ ۱۹ ] [ ۱۷ ] [ ۱۷ ] . مدل ۴ و ۵ به عنوان دیگر مطالعات عمیق یادگیری در فارسی پیشنهاد شده‌است [ ۲۰ ] . آن‌ها ازBidirectional - LSTM و سی ان ان به طور جداگانه در مدل‌های پیشنهادی خود استفاده کردند . نتایج نشان می‌دهند که مدل یادگیری عمیق ‌تر از مدل‌های دیگر بهتر عمل می‌کند چون می‌تواند توانایی‌های CNN's وLSTM's را مهار کند .

علاوه بر این ، مدل پیشنهادی سعی در یادگیری ویژگی‌های سطح بالا از داده به روش افزایشی دارد . مدل پیشنهادی همچنین از Word2vec به عنوان یک گام یادگیری بدون نظارت برای نمایش کلمه استفاده می‌کند . Word2vec از اطلاعات معنایی از پیکره زبانی corpus استفاده می‌کند . این سبک به مدل کمک می‌کند تا بهتر عمل کند و با چالش‌های موجود در فارسی از جمله سبک نوشتاری مختلف فایق آید و غیره CNN - LSTM در مقایسه با CNN - GRU تقریبا ً بهتر عمل می‌کند ، بنابراین CNN به عنوان آخرین معماری پیشنهادی انتخاب شده‌است .

شکل ۵ نشان‌دهنده منحنی ROC برای مدل پیشنهادی است . آنالیز منحنی Rocابزاری بنیادی برای ارزیابی عملکرد مدل‌های مختلف است . این روش مثبت حقیقی را با نرخ‌های مثبت کاذب برای همه آستانه ممکن مقایسه می‌کند . شکل ۵ ، ارزیابی ROC را برای مدل CNN-LSTM بر روی اولین مجموعه داده‌ها نشان می‌دهد (PE ) . با توجه به این منحنی ، ارزیابی ماکرو و میکرو برای سه کلاس ( کلاس ۰ : مثبت ، کلاس ۱ : منفی و کلاس ۲ : خنثی ) این مطالعه به ترتیب ۸۶ % و ۸۳ % است . یک ماکرو - متوسط این متریک را به طور مستقل برای هر کلاس محاسبه می‌کند و سپس میانگین را می‌گیرد در حالی که یک میانگین Micro ، سهم همه طبقات برای محاسبه میانگین متریک را بدست می‌دهد . منحنی ROC ، ارزیابی هر کلاس را به طور جداگانه نشان می‌دهد .

5. نتیجه‌گیری

آنالیز احساسی یک زمینه ادامه‌دار در مطالعه است . با این حال مطالعات محدودی در زبان فارسی انجام شده‌است . براساس دانش مولف ، این اولین مطالعه‌ای بر روی تحلیل احساسات فارسی است که از معماری یادگیری عمیق ترکیبی از CNN-LSTM استفاده می‌کند . معماری CNN - LSTM شامل CNNبرای استخراج ویژگی و LSTM برای یادگیری وابستگی‌های دراز مدت است . بنابراین ، این مدل می‌تواند توانایی‌های شبکه CNN و LSTM را مهار کند و نتایج بهتری با دقت ۸۵ % بدست آورد . علاوه بر این، ما دو مجموعه داده‌های فارسی مختلف را از تویی‌تر و digikala به عنوان مشهورترین سایت دیجیتال جمع‌آوری کردیم . ما این جملات را مثبت ، منفی و یا خنثی ذکر کردیم . آن‌ها می‌توانند مجموعه داده‌های مفید برای زبان فارسی باشند .

REFERENCES

[1] Rajadesingan, A., R. Zafarani and H. Liu (2015). Sarcasm Detection on Twitter: A

Behavioural Modeling Approach. In Proceedings of the Eighth ACM International

Conference on Web Search and Data Mining, (2015): 97-106.

[2] Jandail, R. R. S., P. Sharma and C. Agrawal (2014). A Survey on Sentiment Analysis and

Opinion Mining: A need for an Organization and Requirement of a customer. In International

Conference on Trends in Mechanical, Aeronautical, Computer, Civil, Electrical and

Electronics Engineering, India, (2016):17-24.

[3] Feldman, R. (2013). Techniques and applications for sentiment analysis. Communications of

the ACM, 56: 82-89.

[4] Mir, J. and M. Usman (2015). An effective model for aspect based opinion mining for social

reviews. In Tenth International Conference on Digital Information Management (ICDIM),

South Korea, (2015): 49-56.

[5] Bagheri, A., M. Saraee and F. d. Jong (2013). Sentiment classification in Persian: Introducing

a mutual information-based. In 21st Iranian Conference on Electrical Engineering (ICEE),

Iran, (2013):1-6.

[6] Le, Q. and T. Mikolov (2014). Distributed Representations of Sentences and Documents. In

Proceedings of the 31 st International Conference on Machine Learning, China, (2014): 1-9.

[7] Socher, R., J. Pennington, E. H. Huang, A. Y. Ng and C. D. Manning (2011). Semi-supervised

recursive auto encoders for predicting sentiment distributions. In EMNLP '11 Proceedings of

the Conference on Empirical Methods in Natural Language Processing, United Kingdom,

(2011):151-161.

[8] Lecun, Y., L. Bottou, Y. Bengio and P. Haffner (1998). Gradient-based learning applied to

document recognition. In Proceedings of the IEEE, 86: 2278 – 2324.

[9] Mikolov, T., M. Karafi´at, L. Burget, J. H. Cernocky and S. Khudanpur (2010). Recurrent

neural network based language model. In INTERSPEECH, Japan, (2010): 1045-1048.

[10] Hochreiter, H. and J. Schmidhuber (1997). LONG SHORT-TERM MEMORY. Neural

computation, 9(8): 1735-1780.

[11] Pang, B., L. Lee and S. Vaithyanathan (2002). Thumbs up? Sentiment Classification using

Machine Learning Techniques. In Conference on Empirical Methods in Natural Language

Processing (EMNLP), Philadelphia, (2002): 79-86.

[12] Wang, S. and C. D. Manning (2012). Baselines and Bigrams: Simple, Good Sentiment and

Topic Classification. In Proceedings of the 50th Annual Meeting of the Association for

Computational Linguistics, Republic of Korea, (2012): 90-94.

[13] Maas, A. L., R. E. Daly, P. T. Pham, D. Huang, A. Y. Ng and C. Potts (2011). Learning Word

Vectors for Sentiment Analysis. In Proceedings of the 49th Annual Meeting of the Association

for Computational Linguistics: Human Language Technologies, Portland, Oregon, (2011): 1-

9.

[14] Socher, R., A. Perelygin, J. Y. Wu, J. Chuang, C. D. Mannin, A. Y. Ng and C. Potts (2013).

Recursive Deep Models for Semantic Compositionality Over a Sentiment Treebank. In

Proceeding of the conference on empirical methods in natural language processing (EMNLP),

(2013): 1631–1642.

[15] Socher, R., B. Huval, C. D. Manning and A. Y. Ng (2013). Semantic compositionality through

recursive matrix-vector spaces. In Proceedings of the 2012 Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning,Korea, (2013): 1201–1211.

[16] Bagheri, A., M. Saraee and d. J. Franciska (2013). Sentiment classification in Persian:

Introducing a mutual information-based method for feature selection. In 21st Iranian

Conference on Electrical Engineering (ICEE), Mashhad, (2013): 1-6.

[17] Alimardani, S. and A. Aghaei (2015). Opinion Mining in Persian Language Using Supervised

Algorithms. Journal of Information Systems and Telecommunication, 3:135-141.

[18] Hajmohammadi, M. S. and R. Ibrahim (2013). A SVM-Based Method for Sentiment Analysis

in Persian Language. In International Conference on Graphic and Image Processing,

Singapore.

[19] Basiri, M. E. and A. Kabiri (2017). Sentence-Level Sentiment Analysis in Persian. In 3rd

International Conference on Pattern Recognition and Image Analysis (IPRIA 2017), Iran,

(2017): 84-89.

[20] Roshanfekr, B., S. Khadivi and M. Rahmati (2017). Sentiment analysis using Deep learning

on Persian Texts. In 25th Iranian Conference on Electrical Engineering (ICEE2017), Iran,

(2017):1503-1508.

[21] Kim, Y. (2014). Convolutional neural networks for sentence classification. In Proceedings of

the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP), Qatar,

(2014): 1746–1751.

[22] Mikolov, T., K. Chen, G. Corrado and J. Dean (2013). Efficient estimation of word

representation in vector space, In arXiv preprint arXiv.

[23] Chung, J., C. Gulcehre, K. Cho and Y. Bengio (2014). Empirical evaluation of gated recurrent

neural networks on sequence modeling. In arXiv preprint arXiv.


ZAHRA BOKAEE NEZHAD1 AND MOHAMMAD ALI DEIHIMI2

1Department of Information and Computer Science, Zand university, Shiraz, Iran.

2Department of Electrical and Electronics Engineering, Bahonar University,

Shiraz, Iran.

(Received: 10th Dec 2018; Accepted: 17th April 2019; Published on-line: 1st June 2019)

https://doi.org/10.31436/iiumej.v20i1.1036