۱. مقدمه

توئیتر به یک منبع اصلی اطلاعات هم در زندگی روزمره و هم در مطالعات علمی تبدیل شده است. به عنوان یک شبکه ی اجتماعی مردم در آن به بیان واقعیات ، ابراز احساس و گسترش دانش می پردازند. و آن ها را در قالب نوشته های کوچک 1 که ما به آن توئیت می گوییم مطرح می کنند. توئیتر به عنوان یک رسانه ی جدید، داده ها را در یک چارچوب قانونی برای حمایت از تحقیقات دانشگاهی به اشتراک می گذارد.
آب و هوا یکی از شایع ترین عناوینی است که مردم در توئیتر به آن اشاره می کنند. با مطالعه ی این که کاربران توئیتر چگونه درباره ی آب و هوا صحبت می کنند
می توانیم دانشی درباره ی احساسات مردم نسبت به یک پدیده ی آب و هوایی خاص و علاوه بر آن حمایت های سیاسی دولت در این زمینه، به دست بیاوریم.
اولین قدم برای این کار طبقه بندی توئیت هایی است که درباره ی آب و هوا هستند. در این مطالعه ما روش هایی را برای دسته بندی آب و هوا از طریق مجموعه داده توئیتر پیدا می کنیم.
طبقه بندی توئیت ها بر اساس دسته بندی آب و هوای آن ها در ابعاد مختلف به چالش کشیده شده است :

  • اول این که توییت ها اسناد بسیار کوتاه با بیان روزانه هستند و امکان اشتباه گرامری و دستوری دارند. بنابراین برخی از روش های سنتی طبقه بندی متن
    که برای اسناد رسمی بزرگ به خوبی کار می کنند، ممکن است هنگام استفاده از آن برای حل این مشکل عملکرد ضعیفی داشته باشد.

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

۲. مجموعه داده2

مجموعه داده ای که برای این پروژه استفاده می شود از پایگاه داده توئیتر [3] گرفته شده است. تعداد کل توییت ها 55316 است. این توییت ها به عنوان متن های مرتبط با آب و هوا انتخاب شده اند و توسط انسان ها با 12 مشخصه برچسب زده شده اند. دسته بندی ها در جدول زیر آورده شده است :

12 11 10 9 8 7 6 5 4 3 2 1 ID
other wind tornado sun storm snow rain humid hot dry clod cloud category

هر مورد توییت شامل 5 قسمت است : مشخصه توییت، محتوای توییت، حالت کاربر، شهر، برچسب آب و هوا. به صورت رندم 80 % از نمونه ها برای آموزش3 و بقیه برای آزمودن در نظر گرفته شده است. این مقادیر در جدول زیر آورده شده است :

Test set Training set Total set Item
11057 44256 55316 NumberOfExample

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

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

  • در یکی از روش ها [1] از یک مجموعه اسناد بدون برچسب برای دسته بندی و طبقه بندی سند های کوتاه استفاده کردند. آن ها از یک مدل فضای برداری به نمایندگی از سند کوتاه کمک گرفتند و از امتیازدهی TF-IDF برای وزن دهی به اصطلاحات استفاده کردند،سند برچسب گذاری نشده می تواند به ارائه ارزش کلمات ( از لحاظ ارزش TF-IDF خود در این مجموعه بزرگی ) و احتمال توام کلمات کمک کند. و در نهایت از روش یادگیری ماشین برای پایان کار طبقه بندی استفاده می کنند. این روش زمانی مفید خواهد بود که مقدار زیادی اطلاعات درباره ی مشکل خاصی در وب، داشته باشیم.

  • در [2] روشی را برای پرداختن به محدودیت مدل bag -of -words وقتی که در طبقه بندی متن های کوتاه استفاده می شود، مطرح می کند. او به جای استفاده از یک مجموعه بزرگ از اسناد، از یک مجموعه ی کوچک از ویژگی هایی با دامنه خاص که از پروفایل نویسنده و متن استخراج شده است استفاده می کند. این رویکرد به صورت کارآمد متن را به یک مجموعه ی از پیش تعریف شده از کلاس های کلی مثل اخبار، رویداد ها و پیام خصوصی طبقه بندی می کند.

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

۴. انتخاب ویژگی ها :

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

  1. بدون برچسب گذاری bag-of-words :
    ما باید مجموعه ای از ویژگی ها را بر اساس امتیازTF-IDFاستخراج کنیم. به منظور کاهش بیش برازش 6 و بهبود پیچیدگی زمانی، ویژگی های انتخاب شده را پیاده سازی می کنیم و با استفاده از جستجوی رو به جلو7، تعداد مناسب این ویژگی ها را انتخاب می کنیم.

  2. برچسب گذاری bag-of-words:
    بعد از اعمال برچسب گذاری مجموعه ی ویژگی ها شامل تعدادی اسم، فعل، قید و صفت می شود. برای این کار مراحل زیر را دنبال می کنیم :

    • ابتدا تعداد مناسب برای اسم را انتخاب می کنیم که بیشترین بازده را در نتیجه ی طبقه بندی داشته باشد.

    • سپس تعداد مناسبی که برای اسم به دست اورده ایم نگه می داریم و تعداد مناسب فعل ها را پیدا می کنیم طوری که بیشترین بازده را در نتیجه
      ی طبقه بندی داشته باشد.

    • تعداد مناسبی که برای اسم وفعل به دست اورده ایم نگه می داریم و به دنبال بهترین تعداد برای صفت می رویم.

    • و در نهایت تعداد مناسب قید را طوری به دست می اوریم که بیشترین بازده را در نتیجه طبقه بندی داشته باشد.

ما بر اساس روش اول یعنی bag-of-word بدون برچسب گذاری پیش خواهیم رفت. که در ادامه به توضیح بیشتر و روش کار می پردازیم.
در پردازش متن نمی توان کل متن را به الگوریتم های مختلف دسته بندی بدهیم بنابراین باید ویژگی هایی را از متن استخراج کنیم 8. برای این کار ما مدل برداری فضا 9را پیاده سازی می کنیم مدل فضای برداری [5و4] یکی از مدل های بازیابی اطّلاعات است کـه در سـطح وسـیعی به کار می رود در این مدل، هرمقوله اطّلاعاتی ـ شامل متون ذخیـره شـده و هـر تقاضای اطّلاعاتی زبان طبیعی ـ به صـورت مجموعـه بردارهـایی از اصـطلاحات نگهـداری میشوند.
به طور نظری، این اصطلاحات میتوانند از واژگان کنترل شده انتخاب شـوند. بـه خاطر وجود مشکلاتی در تهیه این واژگان، اصطلاحات از متون استخراج میشوند. معمولاً برای کاهش اندازه واژگان از ریشه واژه ها استفاده می شود. همچنـین معمـولاً از واژه هـای بازدارنـده 10 نظیـر an ,of ,the ,.... صـرف نظـر مـی گـردد.
از تمـام واژه هـای موجـود در مدارک، یک مجموعه واژگان به وجود می آید. هر مـدرک بـه صـورت بـرداری از تمـام واژگان نمایانده می شود.
مدل فضای برداری، شیوه ای است برای نمایش مدارک از طریق واژه هـای موجـود در آنها. این مدل ، یک تکنیک استاندارد در بازیابی اطّلاعات است . بر اساس مـدل فـضای برداری، میتوان تصمیم گرفت که کدام مدارک شبیه به یکـدیگر و یـا بـه کلیـدواژه هـای جستجو شبیه هستند. سپس از فرکانس کلمه [6,7] یعنی تعداد تکرار کلمه درمتن 11 به عنوان وزن کلمه و به عنوان اندازه گیرنده برای ایجادمجموعه ویژگی ها استفاده می کنیم. به عبارت دیگر ما فرکانس کلی کلمه را برای هر کلمه ای که درمجموعه ی آموزش به نظر می رسد با استفاده از روش TFمحاسبه می کنیم وk کلمه ای که بالاترین ارزش را در TF به دست آوردند به عنوان ویژگی های خود انتخاب می کنیم {f_{1},f_{2},...,f_{k}} و در مجموعه ی bag-of-word قرار می دهیم . مقدار k را با انجام ازمایش های مختلف و بررسی نتایج باید انتخاب کنیم بنابراین از مقادیر کم شروع کرده و به تدریج آن را افزایش می دهیم تا به یک دقت نسبی برسیم این مقدار نباید به اندازه ای بزرگ باشد که بیش برازش رخ دهد. از آن جا که ما در پایگاه داده ی خود با تعدادی جمله رو به رو هستیم نه یک متن، بنابراین برای انجام این کار کل جملات را در کنار هم به عنوان یک متن در نظر می گیریم و سپس از روش TFبرای به دست اوردن ارزش کلمات جهت استخراج ویژگی ها در این متن استفاده می کنیم .
سپس یک بردار فضا را به نمایندگی از هر توییت به دست می اوریم به صورت زیر :
t_{i}=(w_{1},w_{2},...,w_{k})
که در آن هر یک از ابعاد ازw نشان دهنده ی ارزش TF ویژگی f در توییت مورد نظر است .

۵. آزمایش‌ها

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

۷. مراجع

[1].Zelikovitz, Sarah, and Haym Hirsh. Improving short text classification using unlabeled background knowledge to assess
document similarity. Proceedings of the Seventeenth International Conference on Machine Learning. 2000.
[2].Sriram, Bharath, et al. Short text classification in twitter to improve information filtering. Proceedings of the 33rd
international ACM SIGIR conference on Research and development in information retrieval. ACM, 2010.
[3]. https://www.kaggle.com/c/crowdflower-weather-twitter
[4].گراسمن، دیوید و افیر فریدر."بازیابی اطلاعات،الگوریتم ها و روش های اکتشافی"ترجمه ی جعفر مهراد و سارا کلینی .انتشارات کتابخانه ای.1384.
[5]. Baeza - Yates, R. Ribeiro- Neto, B, Modern information Retrieval, Addison Wesley, 1999.
[6]. Salton, G., Yang, C.G., Yu, C.T. (1975) A Theory of Term Importance in Automatic Text Analysis, Journal of
the ASIS,26:1,33-44.
[7]. Salton, G. (1988) Buckley, C., Term weighting Approaches in Automatic Text Retrieval, Information Processing and
Management, 24:5, 513-523.

۸. پاورقی


  1. microblog

  2. Data set

  3. train

  4. short text classificatio

  5. pos-tagging

  6. over-fitting . بیش برازش یعنی اگرچه مدل روی داده ی استفاده شده برای یادگیری بسیار خوب نتیجه می‌دهد، اما بر روی داده ی جدید دارای خطای زیاد است و وقتی اتفاق می افتد که مدل به جای بیان روابط اصلی، نویزها و خطاهای تصادفی را مدل کند.

  7. feature extraction

  8. Vector Space Model

  9. Stop words

  10. Term frequency

تایید شده

سلام
ممنون از زحمتی که برای این فاز کشیدید:) چند نکته درباره کار شما وجود دارد که در ادامه آن ها را عرض خواهم کرد:

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

  • در مقدمه سعی کنید قبل از این‌که چالش‌های کار را مطرح کنید، مساله را به خوبی شرح دهید.

  • موارد نگارشی مانند نیم‌فاصله‌ها را اصلاح کنید.

  • در مورد ارجاعات، یک ساختار یکسان و استاندارد را رعایت کنید. در متن هم به نظرم بهتر است به جای گفتن در [2] مثلا بگویید: « در روش فلان که .... است[2]» یا «سیریام[2] روش ....».

  • جدول‌ها باید شماره و توضیح داشته باشند.

  • بهتر بود روشی که در انتخاب ویژگی‌ها توضیح داده‌اید را تا انتها توضیح می‌دادید. ظاهرا فقط بخش استخراج ویژگی‌های آن را توضیح داده‌اید.

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