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

There's a thin line between likably old-fashioned and fuddy-duddy, and The Count of Monte Cristo ... never quite settles on either side.

ما در این پروژه می‌خواهیم که نظراتی را که پیرامون فیلم‌های مختلف داده شده است را در پنج دسته لحنی: «منفی، نسبتا منفی، خنثی، نسبتا مثبت و مثبت» دسته‌بندی نماییم.

۱. مقدمه

شناسایی لحن که به آن نظرکاوی هم گفته می شود روشی است که در آن نظر، لحن، برآورد، گرایش و احساس مردم نسبت به موجودیت هایی مثل: محصولات ، خدمات، وقایع مورد مطالعه قرار می گیرد.
کاربردهای شناسایی لحن نظرات:
نظرات به دلیل تاثیر کلیدی که بر روی رفتار انسان میگذارد محور اصلی بیشتر فعالیت های بشر می باشد. هنگامی که ما میخواهیم یک تصمیمی بگیریم نیاز داریم که نظرهای دیگران را هم بدانیم. در دنیای واقعی شرکت ها و سازمان ها همواره به دنبال این هستند که نظرات مردم یا مشتریان را درباره ی محصولات و یا خدمات خود بدانند. مشتریان هم به دنبال این هستند که قبل از خرید یک محصول نظرات کاربرانی که قبلا از آن محصول استفاده کرده اند را بدانند و بر اساس آن اقدام به خرید یا عدم خرید آن محصول کنند. بدست آوردن نظرات مردم و مشتریان خود یک تجارت عظیم برای بازاریابی، روابط اجتماعی و حتی رقابت های انتخاباتی می باشد. در گذشته این اطلاعات از طریق برگه های نظرسنجی و یا آزمایش بر روی یک گروه خاص بدست می آمد ولی امروزه با گسترش روزافزون رسانه های اجتماعی (مثل بلاگ ها،توییتر و فیسبوک) افراد و سازمان ها از محتوای این رسانه ها برای تصمیم گیری استفاده می کنند و افراد دیگر لازم نیست که به نظر دوستان و آشنایان درباره یک محصول اکتفا کنند زیرا نظر و بحث های فراوانی درباره ی آن محصول در محیط وب وجود دارد. البته به خاطر فراوانی و تنوع سایت ها پیدا کردن و پایش سایت های مفید و چکیده گرفتن از اطلاعات موجود در آنها هنوز کاری دشوار و پیچیده می باشد، زیرا هر سایت به طور معمول دارای حجم زیادی از نظرات می باشد که برای انسان عادی استخراج و خلاصه سازی نظرات موجود سخت می باشد. در اینجاست که نیاز به یک سیستم شناسایی لحن نظرات احساس می شود. در سال های اخیر سیستم های تشخیص لحن نظرات در تقریبا تمام محدوده های ممکن از پیش بینی فروش محصولات و خدمات مشتریان گرفته تا پیش بینی وقایع اجتماعی و نتیجه انتخابات سیاسی پخش شده اند.
تعاریف پایه:
تعریف موجودیت e: یک موجودیت می تواند یک محصول، سرویس، موضوع، فرد، سازمان یا حتی یک واقعه باشد. و با دوتایی ( T , W ) نشان داده می شود که در آن T سلسه مراتبی از اجزا و زیر اجزای موجودیت و w مجموعه مشخصه های موجودیت e را نشان می دهند. همچنین هر یک از اجزا و زیر اجزا هم دارای یک مجموعه مشخصه می باشند. به طور مثال برای موجودیت دوربین مجموعه مشخصه W شامل: سایز ، وزن و کیفیت تصویر است و مجموعه اجزا T شامل لنز و باتری می باشد. برای راحتی کار از واژه ی جنبه (aspect) به جای دوتایی مجموعه اجزا و مشخصه های موجودیت استفاده می شود.
تعریف نظر: یک نظر شامل پنج تایی (e , a , s ,h , t) می باشد که در آن e نام موجودیت، a جنبه های موجودیت s، e لحن نظر بر روی جنبه ی a از موجودیت e h نظر دهنده و t زمانی است که نظردهنده h نظر خود را در مورد موجودیت e بیان میکند. هنگامی که نظر تنها در مورد یک موجودیت است برای a مقدار GENERAL قرار داده می شود.
هدف و وظایف کلیدی شناسایی لحن نظرات:
هدف پیدا کردن پنج تایی (e , a , s ,h , t) در یک سند d داده شده می باشد. که برای رسیدن به این هدف سیستم شناسایی لحن نظرات 6 وظیفه اصلی زیر را انجام می دهد:
وظیفه اول: استخراج موجودیت ها و دسته بندی آنها. استخراج موجودیت ها مشابه پیدا کردن موجودیت های نامدار در استخراج اطلاعات می باشد. در زبان طبیعی مردم برای یک موجودیت اسامی مختلفی بیان می کنند به طور مثال واژه ی Motorola به سه صورت نوشته می شود: Mot ، Moto ، Motorola بنابراین ما به راهکاری نیاز داریم که تشخیص دهید همه ی این اسامی به یک موجودیت اشاره میکند.
وظیفه دوم: استخراج جنبه ها و دسته بندی آنها. که چون در این پروژه تنها در مورد یک موجودیت نظر داده می شود این مقدار برابر GENERAL می شود. اینگونه مسائل در سطح سند (Document Level) طبقه بندی می شوند.
وظیفه سوم: استخراج نظر دهنده ها و دسته بندی آنها.
وظیفه چهارم: استخراج زمان نظر و تبدیل آن به فرمت استاندارد.
وظیفه پنجم: تعیین لحن نظر در مورد جنبه ی a.
وظیفه ششم: تولید تمام پنج تایی های (e , a , s ,h , t) موجود در سند d بر اساس نتیجه ی بخش های بالا.
به طور مثال در سند داده شده زیر:
Posted by: big John Date: Sept. 15, 2011
I bought a Samsung camera and my friends brought a canon camera yesterday.in the past week, we both used the cameras a lot. The photos from my Samy are not that great, and the battery life is short too. My friend was very happy with his camera and loves its picture quality. I want a camera that can take good photos. I am going to return it tomorrow.
پنج تایی های زیر استخراج می شوند:
(Samsung, picture_quality, negative, big John, Sept-15-2011)
(Samsung, battery_life, negative, big John, Sept-15-2011)
(Canon, GENERAL, positive, big John’s_friend, Sept-15-2011)
(Canon, picture_quality, positive, big John’s_friend, Sept-15-2011)
بر اساس مقداری که که می توان برای لحن در نظر گرفت دو نوع فرموله سازی وجود دارد.:
اگر لحن فقط مقادیر گسسته و قطعی بگیرد مانند: مثبت یا منفی، نسبتا مثبت،نسبتا منفی و خنثی در این صورت تبدیل به یک مسئله ی رده بندی (Classification Problem) می شود.
اگر لحن مقادیر عددی و یا امتیاز در یک بازه ی خاص را اختیار کند مانند 5-1 در این صورت تبدیل به یک مسئله ی رگرسیون (Regression Problem) می شود.
بیشتر تکنیک های موجود برای دسته بندی در سطح سند از یادگیری با ناظر استفاده می کنند. البته تعدادی روش بی ناظر هم وجود دارد. که در قسمت کارهای مرتبط بیشتر توضیح داده خواهد شد.

۲. کارهای مرتبط

( مرجع شماره 9 ) یک الگوریتم ساده یادگیری بی ناظر برای دسته بندی نظرات ارائه می کند که این دسته بندی بر اساس میانگین جهتگیری لحن عبارات داخل نظر است که شامل قید و صفت می باشد. یک عبارت دارای جهتگیری مثبت است هنگامی که آن دارای وابستگی های مثبت باشد و دارای جهتگیری منفی است هنگامی که آن عبارت دارای وابستگی های منفی باشد. در این مقاله جهتگیری لحن یک عبارت به وسیله ی اطلاعات متقابل بین عبارت داده شده و کلمه ی "عالی" منهای اطلاعات متقابل بین عبارت داده شده و کلمه ی "ضعیف" محاسبه می شود. یک نظر مثبت در نظر گرفته می شود اگر میانگین جهتگیری لحن عبارت هایش مثبت باشد.
(مرجع شماره 7) این مقاله یک روش برای پیداکردن لحن نظرات با استفاده از SVM برای کنار هم قرار دادن اطلاعات مربوط به منابع مختلف معرفی می‌کند.

۳. آزمایش‌ها

۴. کارهای آینده

۵. مراجع

[1] Pang, Bo, Lillian Lee, and Shivakumar Vaithyanathan. "Thumbs up? Sentiment Classification using Machine Learning Techniques."
[2] Liu, Bing, and Lei Zhang. "A survey of opinion mining and sentiment analysis." Mining Text Data. Springer US, 2012. 415-463.
[3] Recursive Deep Models for Semantic Compositionality Over a Sentiment Treebank, Richard Socher, Alex Perelygin, Jean Wu, Jason Chuang, Chris Manning, Andrew Ng and Chris Potts. Conference on Empirical Methods in Natural Language Processing (EMNLP 2013).
[4] Bespalov, Dmitriy, Bing Bai, Yanjun Qi, and Ali Shokoufandeh. Sentiment classification based on supervised latent n-gram analysis. In Proceeding of the acmconference on information and knowledge management (ciKm-2011). 2011
[5] Li, Shoushan, Sophia Yat Mei Lee, Ying Chen, Chu-Ren Huang, and Guodong Zhou. Sentiment classification and polarity shifting. In Proceedings of the 23rd international conference on computational Linguistics (coLing -2010). 2010
[6] Polanyi, Livia and Annie Zaenen. contextual valence shifters. In Proceedings of the aaaiSpring Symposium on exploring attitude and affect in text. 2004.
[7] Mullen, Tony and Nigel Collier. Sentiment analysis using support vector machines with diverse information sources. In Proceedings of emnLP-2004. 2004
[8] Paltoglou, Georgios and Mike Thelwall. astudy of information retrieval weighting schemes for sentiment analysis. In Proceedings of the 48th annual meeting of the association for computational Linguistics (acL-2010). 2010
[9] Turney, Peter D. thumbs up or thumbs down?: semantic orientation applied to unsupervised classification of reviews. In Proceedings of annual meeting of the association for computational Linguistics (acL-2002). 2002
[10] Mejova, Yelena and Padmini Srinivasan. exploring Feature Definition and Selection for Sentiment classifiers. In Proceedings of the Fifth international aaai conference on Weblogs and Social media (icWSm-2011). 2011
[11] Gamon, Michael, Anthony Aue, Simon Corston-Oliver, and Eric Ringger. Pulse: mining customer opinions from free text. advances in intelligent Data analysis Vi, 2005: pp. 121–132
[12] Abbasi, Ahmed, Hsinchun Chen, and Arab Salem. Sentiment analysis in multiple languages: Feature selection for opinion classification in web forums. acm transactions on information Systems
[13] Dasgupta, Sajib and Vincent Ng. mine the easy, classify the hard: a semi-supervised approach to automatic sentiment classification. In Proceedings of the 47th annual meeting of the acL and the 4th iJcnLP of the aFnLP (acL-2009). 2009 (toiS), 2008. 26(3)

۶. پیوندهای مفید


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

  • بهتر بود در فاز اول و در انتهای مقدمه راهبرد و مسیری که برا ی حل مسئله مد نظر شماست را نیز به طور مختصر و کلی معرفی می‌کردید.

  • بهتر بود یک دسته‌بندی کلی در مورد روش‌های با ناظر و بی‌ناظر تشخیص لحن جمله ارائه می‌دادید و روش‌های مختلف را با توجه به مراجعی که جمع‌آوری نموده‌اید نام می‌بردید.

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

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