راز موفقیت توی تحلیل احساسات عربی: از تیمی کردن مدل‌ها تا استفاده از هوش آماده!

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

حالا تو این تحقیق اومدن یه راه حل حسابی رو تست کردن: استفاده از تکنیک‌های «Ensemble» یادگیری ماشین. این واژه یعنی به جای اینکه فقط یه مدل بسازی، چند مدل مختلف رو با هم دوست و همراه می‌کنی که هرکدوم با دید خودشون نظر بدند و در آخر یه تصمیم جمعی بگیرن! مثل این می‌مونه که برای تصمیم گیری از چندتا دوست باهوش مشورت بگیری.

چیزی که خیلی جالب شده، اینه که پژوهشگرا از چند مدل «همسان» استفاده کردن (Homogeneous ensemble methods یعنی مدل‌هایی که ساختار یا نوعشون یکیه یا خیلی بهم شباهت دارن). این مدل‌ها رو روی دو دیتاست مختلف امتحان کردن: یکی دیتاست ArTwitter که دیتای متعادل و با تعداد مناسب از هر احساسی داره. اون یکی Syria_Tweets که حسابی نامتعادله، یعنی یه کلاسش زیاد و بقیه کم هستن.

حالا چون داده‌ها توی Syria_Tweets نامتوازنه بودن، از یه ترفند جالب اسمش SMOTE اومدن استفاده کردن. SMOTE یعنی نتیجۀ «Synthetic Minority Over-sampling Technique»، این تکنیک داده‌های کم‌یاب رو تقویت می‌کنه؛ مثلا وقتی تو دیتا از متن‌های منفی کم داری، خودش چندتا نمونه ترکیبی جدید و شبیه واقعی می‌سازه تا یادگیری مدل بهتر شه.

یه چیز دیگه که حسابی کمکِ مدل‌ها شده، استفاده از “Embedding”های آموزش‌دیده قبلیه. Embedding یه جور نمایش عددیه برای واژه‌ها که روابط معنایی‌شون رو بهتر به مدل‌ها منتقل می‌کنه – مخصوصا وقتی قبلا با دیتاهای زیادی آموزش دیده باشن. علاوه بر اینها، ویژگی Unigram هم داشتن (یعنی هرکلمه رو به عنوان یه ویژگی جدا بررسی می‌کنن، ساده‌ترش اینکه بشکنیش به کلمه کلمه!).

نتایج؟ خیلی جالبه! مدلی که تنهایی با embedding کار می‌کرد خوب جواب می‌داد، ولی وقتی مدل‌ها رو تیمی کردن (یعنی همون Ensemble)، نتایجش واقعا بهتر شد. مثلا رو دیتاست ArTwitter که داده‌هاش متعادله، یه تیم شامل «Naive Bayes»، «Support Vector Machine» (که همون SVM معروفه یعنی مدل بردارپشتیبان که تو کارهای دسته‌بندی قویه) و «درخت تصمیم» جمع شدن و تونستن به دقت (Accuracy) ۹۰.۲۲٪ و امتیاز F1 معادل ۹۲٪ برسن. F1 یه شاخصیه که تعادل بین دقت و جامعیت رو نشون می‌ده، یعنی چقدر مدل هم خطاهاش کمه هم کامل پوشش می‌ده.

روی دیتاست Syria_Tweets، با وجود نامتعادلی اطلاعات، ترکیب «Stochastic Gradient Descent» (که یه مدل خیلی سریع و سبک برای داده‌های بزرگه)، «k-Nearest Neighbors» (که مدل همسایه‌های نزدیکه و دنبال شبیه‌ترین داده‌ها بین آموزش‌ها می‌گرده) و «جنگل تصادفی» (Random Forest یعنی کلی درخت تصمیم با هم رای می‌دن) تونستن به دقت ۸۳.۸۲٪ و امتیاز F1 حدود ۸۳.۸۶٪ برسن! فوق‌العاده‌است مخصوصا برای دیتای نامتعادل.

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

پس اگه دنبال ساخت سیستم تحلیل احساسات (Sentiment Analysis) تو زبان عربی هستی و دلت می‌خواد مدل با دقت و انعطاف بالا داشته باشی، حتما به مدل‌های ترکیبی و embedding‌های آموزش دیده قبلی فکر کن!

منبع: +