بخشی از مقاله
چکیده
مساله تشخیص احساس به صورت هوشمند، یکی از موضوعات مهم و به روز در شاخه پردازش و تحلیل سیگنالهای گفتاری می باشد که کاربردهای فراوانی در زمینه ارتباطات ساده تر میان انسان و ربات دارد. با توجه یه پیشرفت های گسترده در حوزه پردازش گفتار، تشخیص احساس گوینده به خصوص در زبان فارسی یکی از مسائل چالش بر انگیز در این زمینه می باشد.
با توجه به عدم دسترسی به پایگاه داده مناسب در زبان فارسی برای تشخیص احساسات، ابتدا یک پایگاه داده شامل 600 جمله با احساساتی نظیر نظیر خشم، استرس، تنفر، ترس، شادی و حالت عادی - خنثی - ایجاد گردید، و تمامی ویژگی های عروضی و طیفی آن استخراج گردید، سپس به کمک الگوریتم انتخاب ویژگی IDE موثرترین ویژگی ها که شامل اطلاعات بیشتری از این پایگاه داه می باشند استخراج گردید، نتایج به دست آمده نشان داد که سیستم پیشنهادی توانسته با دقت بسیار بیشتر و در مدت زمان اجرای کمتر - در تعداد اجرای برابر - تفکیک احساسات در زبان فارسی را انجام دهد.
1. مقدمه
گفتار، یک رسانه ارتباطی برای بیان حالات و نگرش، از طریق سخنرانی است.[1] یکی از ویژگی های مهم در گفتار، انتقال حالت احساسی فرد گوینده به شنونده می باشد که می تواند شامل حالت هایی از جمله احساس تعجب، خشم، ترس، اضطراب، شادی و ... را مشخص می کند. احساس یک حالت روانی و فیزیولوژیکی و مرتبط با طیف گسترده ای از احساسات، افکار و رفتار است.
احساسات، تجارب ذهنی، یاتجربه ای از نقطه نظر فردی هستند. لذا احساس اغلب با خلق و خوی ، شخصیت و منش مرتبط است و تشخیص آن نقش مهمی در طبیعی سازی ارتباط و تعامل میان انسان و ماشین دارد. از آنجائیکه گفتار به عنوان یک روش سریع و کارآمد برای تعامل انسان و کامپیوتر به کار برده می شود، تاکنون تحقیقات زیادی در زمینه تشخیص گفتار ارائه شده است . اما علی رغم پیشرفت های زیاد در این زمینه ،تعامل طبیعی میان انسان و ماشین وجود ندارد و درک احساسات انسانی از سوی ماشین و ارائه واکنش مناسب به آن زمینه ای است که به هر چه بهتر شدن این هدف کمک می نماید.
Vogt و همکارانش در[2] پایگاه داده های ایجاد شده به زبان انگلیسی را مورد مطالعه قرار دادند و ویژگی مختلفی مانند گام و انرژی را دسته بندی نمودند و از ماشین بردار پشتیبان و شبکه عصبی جهت دسته بندی دادگان استفاده نمودند.
Pathak و همکارانش در [3] پنج احساس نظیرخستگی، ترس ،خشم ، نفرت و شادی را مورد مطالعه قرار دادند و برای تشخیص و دسته بندی این احساسات از شبکه های عصبی استفاده نمودند. Steeneken در[4] از معیار فرکانس گام به عنوان پارامتر ارزیابی حالات استرس، خنثی و عصبانی استفاده شده است. در این روش به منظور استخراج ویژگی از یک سیگنال گفتار، ابتدا فرکانس گام برای هر فریم از سیگنال را به صورت مجزا محاسبه نموده و سپس فرکانس گام برای کل جمله تعریف می شود.
Yuncu و همکارانش در [5] طبقه بندی حالات را نوسط SVM انجام دادند و برای مقاسیه و بهبود نتایج از SVM-BDT که ترکیبی از درخت تصمیم و طبقه بندی کننده SVM است، استفاده نمودند. Cichosz و همکارنش در [6] خصوصیات سیگنال گفتار را به سه گروه خصوصیات فرکانس گفتار، استفاده از ویژگی های زمانی و توصیف گر های انرژی تقسیم بندی کرده و جهت طبقه بندی حالات گفتار نیز از درخت تصمیم باینری استفاده نمودند.
Chung-Hsien و همکارانش در[7] اطلاعات پرزودیک صوتی و برچسب معنایی را برای چهار حالت احساسی در گفتار را با استفاده از چند طبقه بندی کننده نظیر GMM، SVM و MLP و ادغام آنها به کمک درخت تصمیم متا را بدست آوردند. از آنجائیکه چگونگی بروز احساسات در افراد بطور کلی به تاثیر فرهنگ و محل زندگی افراد گوینده وابسته است، بیشترین کار بر روی دسته بندی احساس های یک زبان متمرکز می باشد.
با این حالHozjan و همکارانش در [8] کلاسه بندی احساسات در چند زبان را نیز مطرح نمودند. همانطور که موسویان و همکارانش در [9] تاثیر هنجارهای اجتماعی و ویژگی های فرهنگ محلی در زبان فارسی را در بروز احساسات اندوه، شادی، خشم و حالت عادی به کمک طول و ضرایب LPC و خصوصبات فرکانسی بررسی نمودند. بازشناسی احساسات از گفتار یک شخص، موضوعی است که در زبان های مختلف دنیا به طور ویژه و خاص پرداخته شده است با این حال در زبان فارسی تحقیقات بسیار کمی بر روی آن صورت گرفته و تعداد دادگان بسیار محدود می باشد.
و همکارنش در [10] برای بازشناسی احساس از ویژگی های مختلف صوتی، شدت صوت، شیمر و بعد فرکتال سیگنال صوت برای شش حالت خشم و ترس و اندوه و تنقر و شادی و حالت بی تفاوتی استفاده نمودند.
حمیدی و همکارنش در [11] برای تشخیص احساساتی نظیر اندوه، شادی، خشم، نفرت و ترس از ویژگی هایی نظیر گام ، شدت، ضرایب MFCC و انرژی استفاده نمودند. در این مقاله ایده طراحی یک سیستم هوشمند به منظور تشخیص احساس در گفتار فارسی با استفاده استخراج ویژگی از سیگنال های گفتاری و انتخاب 5 ویژگی برتر به کمک الگوریتم IDE و سیستم طبقه کننده پیشنهادی ارئه شده است
2. سیستم های یادگیری
یاد گیری ماشین به طیف گسترده ای از الگوریتمهای یادگیری با مربی و بدون مربی اطلاق میشود که هدف از آنها در حوزه داده کاوی، پرهیز از جستجوی سراسری - exhaustive search - دادهها و جایگزین کردن این گونه جستجوی زمان بر با روشهای هوشمندانه ای است که از طریق یافتن الگو - ها - ی موجود در میان دادهها، دسته بندی و یا مدل سازی رفتار آنها را به سادگی امکان پذیر میسازد. در دو دهه اخیر روشهای زیادی در حوزه داده کاوی ارائه شده است که در آن ها از انواع الگوریتمهای یادگیری با مربی - supervised - ، بدون مربی - unsupervised - و یا تقویتی - reinforcement - برای اهدافی همچون تشخیص و تخصیص الگو استفاده میشود.
از جمله موفقترین این روشها میتوان به سیستمهای طبقه بند - classifier systems - اشاره کرد. در حالت کلی، سیستمهای طبقه بند شامل مجموعه ای از قوانین با فرمت »اگر- آنگاه« هستند که هر قانون راه حل بالقوه ای برای مسئله هدف ارائه مینماید. این مجموعه قانون به تدریج با بکار گیری یک سازوکار یادگیری تقویتی ارزیابی شده و در فواصل زمانی مشخصی به کمک یک الگوریتم ژنتیک بروز آوری میشود. در جریان این تکامل تدریجی، سیستم رفتار محیط را میآموزد و سپس در فاز کاربرد، پاسخهای مناسبی را به پرسش - query - های مطرح شده از سوی کاربر ارائه می کند.
اولین سیستم طبقه بند در سال 1976 توسط هالند با عنوان - Learning Classifier System - LCS پیشنهاد شد. در این سیستم، ارزش هر قانون با شاخصی به نام »قوت« - strength - ارزیابی میشد. قوت یک قانون متناسب با میزان پاسخگویی صحیح آن به مثالهای تربیتی در چارچوب ضوابط یادگیری تقویتی افزایش مییافت و در فواصل زمانی مشخصی، یک الگوریتم جستجوی تکاملی - عموماً الگوریتم ژنتیک - مسئولیت تولید قوانین جدید و حذف قوانین ناکارآمد را بعهده میگرفت.
در پایان مرحله تربیت، این مجموعه قوانین توانایی نسبی آن را داشت که در مواجهه با پرسشهای جدید، راه حلهای قابل قبولی را ارائه نماید. در عین حال عملکرد موفق LCS منوط به انتخاب مقادیر مناسب برای پارامترهای کنترلی سیستمبود که عمدتاً وابسته به تجربه طراح این سیستم بود. از زمان به وجود آمدن LCS، انواع دیگری از سیستمهای طبقه بند پیشنهاد شده است که از میان آنها میتوان به سیستمهای طبقه بند توسعه یافته - Extended Classifier - Systems: XCS اشاره کرد. تا قبل از معرفی XCS در سال 1995، توانایی این سیستمها در بدست آوردن پاسخهای مناسب بسیار محدود بود. اما از آن زمان این سیستمها به تدریج به عواملی هوشمندتر و دقیقتر تبدیل شدند و اکنون اعتقاد بر این است که XCS و نسخه های بهبود یافته آن قادرند مسائل پیچیده ای را بدون نیاز به تنظیم پارامترها حل کنند.
3. معرفی روش پیشنهادی
معرفی سیستم طبقه بندی با متغیرهای پیوسته - XCSR - ، برخی ضعفهای ذاتی سیستمهای طبقه بندی دودویی - binary - نظیر ناتوانی در معرفی بازه های مشخص مقادیر متغیرها تا حد زیادی برطرف شد و امروزه این سیستمها به عنوان یکی از موفقترین عاملهای یادگیرنده - Learning Agents - برای حل مسایل داده کاوی در محیطهای نیمه مشاهده پذیر شناخته شدهاند. بر اساس رهیافت متداول برای تربیت XCS، تنها برازندگی قوانینی افزایش مییابد که به داده های تربیتی پاسخ صحیح بدهند.
این بدان معناست که شانس هر قانون برای حذف نشدن و مشارکت در فرایند تولید قوانین جدید، بستگی مستقیم به نحوه پاسخگویی آن به داده های تربیتی دارد و تعیین واقع گرایانه این شانس نیازمند بکار گیری تعداد زیادی از داده های تربیتی است. از آنجا که در مسایل واقعی، تعداد داده های تربیتی معمولا محدود بوده و افزایش تعداد داده ها به سادگی میسر نیست، معمولا استفاده از XCSR در اینگونه کاربردها از نظر زمان و هزینه محاسباتی توجیه پذیر نمیباشد.[12] در روش پیشنهادی، ابتدا مجموعه - محدود - داده های تربیتی بصورت معمول برای اصلاح مشخصه های قوانین - شامل "پیش بینی" ،"خطای پیش بینی" و "برازندگی" - بکار گرفته می شود. اینکار با استفاده از روابط زیر صورت می گیرد
که در این روابط، نرخ یادگیری، توان دقت قانون، خطای پیش بینی، exp تجربه قانون، P پیش بینی قانون، R پاداش دریافتی از محیط، k دقت قانون و f برازندگی آن است. اندیس i نیز شماره قانون را در مجموعه قوانین نشان می دهد.