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

۱. مقدمه

در دوران معاصر دانش به عنوان یک فاکتور کلیدی در سازمان های جدید برای رقابت های سالم به شمار می آید. دستبابی به موفقیت در این رقابت، مستلزم یافتن اطلاعات مفید در زمانی مناسب است. از طرفی گسترش روز افزون دانش و تکنولوژی بشر، باعث افزایش اطلاعات در دسترس شده است . این موضوع حتی در سالهای گذشته نیز مشهود بوده است به طوری که به طوروسیعی از روش های آماری و یادگیری ماشین1 برای دسته بندی متون استفاده شده است. البته توجه به این نکته ضروری است که تنها خود اطلاعات کافی نیست؛بلکه قابلیت مدیریت و اعمال نفوذ بر این اطلاعات به صورت موفق،ازاهمیت بالایی برخوردار است [1 ].
دسته بندی متون2، اگرچه که از سال 1960 میلادی به بعد مورد مطالعه قرار گرفته است؛ ولی با شروع دهۀ 90به لطف پیشرفت های نرم افزاری و سخت افزاری ، پیشرفت چشمگیری داشته است. امروزه مساله برچسب زنی موضوعی متون در حوزه بازیابی اطلاعات وتحلیل داده های آماری، امری مهم و کاربردی به شمار میرود. انتساب اسناد متنی به دسته های از پیش تعیین شده به منظور دسته بندی اتوماتیک و خودکار متون در ده سال اخیر تمام توجهات را به خود جلب کرده است. مقصود از طبقه بندی یا دسته بندی خودکار متون این است که این رده بندی ، در زبان طبیعی و با استفاده از یادگیری ماشین صورت می گیرد ؛
حال آنکه روش اصلی در جامعه تحقیقاتی در این زمینه می باشد .در یادگیری ماشین ، معمولا سیستم این گونه یادگیری را انجام می دهد که روی یک دسته از متون از قبل برچسب زنی شده آموزش داده می شود وبعد از آن طبقه بندی یا classification متون جدید با استفاده از مدلهای حاصل از مرحلۀ آموزش، صورت می گیرد.

شکل1 - یادگیری ماشین

دسته بندی متون در بسیاری از زمینه ها از جمله فیلترکردن متون مخصوصا در نامه های الکترونیکی، تشخیص طبقه، ابهام زدایی از کلمات، سیستمهای خودکار پاسخ به سوالات و یا حتی نمره دهی به مقالات در سیستمهای آموزشی و به طور کلی در هر کاربردی که سازماندهی مستندات و یا توزیع انتخابی و تطبیقی خاصی ازمستندات مد نظر باشد، کاربرد دارد. همچنین برچسب زنی موضوعی متون با مسائلی چون استخراج اطلاعات و دانش ازمتون و داده کاوی متون دارای ویژگی های فنی مشترک می باشد.
هدف این پروژه این است که روش های مختلف رده بندی اسناد متنی در زبان فارسی مورد بررسی قرار گیرد.
روشهای زیادی برای دسته بندی متون استفاده شده است که در جلوتر به آن میپردازیم.در یکی از این روش ها، از قواعد انجمنی استفاده شده و آن را با قواعد دسته بندی3 ترکیب کرده اند ، که باعث تولید مدلی با عنوان دسته بندی انجمنی4 برای استفاده در دسته بندی متون شده است[2][Yoon2007,Chen2005]
همچنین برای دسته بندی اسناد با استفاده از ناظر5، ما نیاز به روشی برای یادگیری از روی مجموعه آموزشی داریم. اگر در یک فضای n بعدی ، اطلاعات مربوط به اسناد هر دسته را بوسیله نگاشت کردن اطلاعات ، نگهداری کنیم؛ در آن صورت میتوانیم اطلاعات بدست آمده از یادگیری ماشین را ذخیره کنیم که الگوریتم نزدیک ترین همسایه6 از این روش تبعیت می کند. و یا اگر که مجموعه احتمالات مربوط به اسناد و موضوعات که از اطلاعات بدست آمده در یادگیری ماشین به وجود آمده است ، را ذخیره کنیم ودر هنگامی که به آن اطلاعات نیاز داریم ، از این احتمالات برای دسته بندی اسناد جدید استفاده کنیم ؛ این خود نیز از روش های دیگر موجود برای نگهداری از اطلاعات بدست آمده از یادگیری می باشد.[3]
یکی از مشکلات موجود در دسته بندی متون و اسناد این است که گاهی محاسبات در حدی زیاد می شوند که در بعضی موارد برای بدست آوردن دسته بندی یک متن و یا یک سند ، از تقریب استفاده می کنیم و حال اینکه سوال اساسی اینجاست که آیا در الگوریتم های متفاوت،این تقریب های در نظر گرفته شده منجربه وقوع نتایج درست در آزمایشات ما می شود؟
از دیگر مشکلات در دسته بندی متون این است که اندازه و حد درست بودن دسته بندی اسناد جدید و یا قابل اطمینان بودن آنها را نمی دانیم.

۲. شرح مساله

با گسترش سریع متون الکترونیکی که همراه با ساختارها و زبانهای متفاوتی بودند، توجه بسیاری از دانشمندان و محققان علوم کامپیوتر به استفاده از روش ها و تکنیک های بهینه و سریع برای دسته بندی متون الکترونیکی جلب شد و هم اکنون نیز تحقیق در این زمینه در راستای افزایش سرعت و دقت روش ها همچنان ادامه دارد.[4]
همانطور که در مقدمه اشاره شد،در جامعه تحقیقاتی ، روش اصلی در زمینه ی طبقه بندی خودکار و موضوعی اسناد و متون، روش های بر اساس یادگیری ماشین هستند. دسته بندی متن در واقع زیر شاخه ای از متن کاوی 7 می باشد و متن کاوی هم زیر شاخه ای از علم داده کاوی8 می باشد. برای دسته بندی متن از تکنیک های استخراج اطلاعات9، پردازش زبان طبیعی10 و یادگیری ماشین به طور وسیع استفاده می شود. [Xia2007]
در تکنیک یادگیری ماشین، طبقه بندی کننده ها با استفاده از یادگیری از یک مجموعه ی مستندات از پیش طبقه بندی شده مشخصات دسته ی جدید را
معین می سازند. همچنین در مورد هر سند باید به این سؤال پاسخ داد که این سند در کدام دسته ( یا دسته ها ) باید قرار گیرد. این موضوع می تواند در قالب یک یادگیری خودکارحل شود که ازآن به عنوان تکنیک یادگیری ماشین یاد می شود که یکی از شاخه های وسیع و پرکاربرد هوش مصنوعی به شمار می رود.
برای ساختن طبقه بندی کننده ها ، نیاز به دانش مهندسی و زبان شناسی افراد خبره وجود دارد، اما اگر به جای استفاده از ماشین، طبقه بندی به صورت دستی انجام بگیرد ؛ علاوه بر صرف زمان و هزینه ی زیاد ، معایب زیر را به همراه خواهد داشت:
1- برای زمینه های تخصصی خاص به دانش افراد خبره نیاز است؛ مانند: زمینه های پزشکی، مهندسی و غیره
2- برچسب زنی موضوعی متون به صورت دستی مبتنی بر دانش و تجربۀ فرد می باشد، از این رو درصد خطاپذیری آن بسیار زیاد است.
3- تصمیم دو فرد خبره در عمل برچسب زنی موضوعی متون می تواند متفاوت و یا حتی ناسازگار باشد.
مساله ای که در حوزه ی پردازش زبان طبیعی با آن روبرو هستیم این است که صورت های غیر استاندارد نویسه ها و کلمات به وفور در متونی که با این حوزه در ارتباط هستند ، دیده می شوند.قبل از اینکه بتوان از این متون برای استفاده در سیستم های جستجو در متون فارسی استفاده کردو یادرپایگاه داده ذخیره شان کرد، بایدابتدا پیش پردازشی روی آنهاانجام گیرد تا صورت های غیراستاندارد به شکل استاندارد تبدیل گردند. طی فرآیند نرمال سازی در متون فارسی ، علایم نگارشی ، حروف، فاصله های بین کلمات، اختصارات و غیره بدون ایجاد تغییرات معنایی به شکل استانداردشان تبدیل می شوند ؛ چرا که اگر این علایم و حروف و کلمات فارسی به شکل یکسانی نوشته نشوند، متون مورد استفاده قابل تحلیل برای ماشین های رایانه ای نخواهد بود.
فازهای یادگیری ماشین برای طبقه بندی متن مطابق شکل 1 می باشد .همانگونه که در شکل مشاهده میشود، طی 5 فاز، سیستم یادگیری ماشین برای انجام طبقه بندی به کار گرفته میشود. این فازها عبارتند از:

(Preprocessing)– پیش پردازش
(Feature Generation) - تولید ویژگی
(Feature Selection) - انتخاب ویژگی
(Data Mining/Pattern Discovery) – اعمال الگوریتمهای داده کاوی / متن کاوی
(Interpretation /Evaluation) - تفسیر و ارزیابی

شکل 2 - فازهای سیستم یادگیری ماشین برای طبقه بندی

یادگیری ماشین دارای تقسیم بندی زیر براساس داده های در اختیار عامل هوشمند می باشد که عبارتست از:
1- یادگیری با نظارتSupervised learning: مربوط به زمانی است که آموزش سیستم، با استفاده از داده هایی که قبلا با جواب های درست برچسب- گذاری شده اند، انجام پذیرد. برای آموزش سیستم، همانطور که گفته شد تعدادی داده ی ورودی در اختیارآن قرار می گیرد که این داده های خروجی مجموعه ای از جفت های ورودی- خروجی می باشد که سیستم در صدد فراگیری تابع های ورودی – خروجی بر می آید.
2- یادگیری نظارت نشده11 :زمانی این نوع آموزش بوجود می آید که سیستم ، با داده هایی که هیچ گونه برچسب گذاری ندارند، یادگیری را انجام میدهد. به عبارت دیگر، یک مجموعه ای از مثالهای یادگیری وجود دارد که دارای ورودی های مشخص اما خروجی های نامشخص می باشد.
3- یادگیری نیمه نظارت شده12 : مجموعه ای از ترکیب دو روش قبلی، که دارای داده های با برچسب 13 و بدون برچسب هست ، را برای یادگیری به سیستم آموزش می دهند.
4- یادگیری تقویتی 14 : این نوع یادگیری از حیث اینکه داده های مورد استفاده ماشین ، برچسب گذاری نمی شوند؛ دارای شباهت زیادی با نوع نظارت نشده می باشد. به جای آن، پس از گرفتن عمل، حالت بعدی و پاداش بلافاصله به سیستم داده می شود.
1-1- رده بندی یا طبقه بندی موضوعی متن :
طبقه بندی یعنی دﺳﺘﻪ ﺑﻨﺪی اﺳﻨﺎد ومتون ﺑﻪ ﮔﺮوه ﻫﺎﯾﯽ ﮐﻪ دارای وﺟﻪ ﻣﺸﺘﺮک ﺑﻮده که ﺑﺘﻮان ﺑﻌﺪا ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﯾﻦ اﺷﺘﺮاک از آﻧﻬﺎ اﺳﺘﻔﺎده نمود.. اسناد ممکن است بر اساس موضوع و یا براساس یک ویژگی دیگر مانند تاریخ سند رده بندی شوند . در رده بندی موضوعی اسناد ابتدا اسنادی با موضوع از پیش تعیین شده به عنوان نمونه برای یادگیری به ماشین داده می شود و ماشین با توجه به کلمات داخل هر سند به یادگیری می پردازد و با در نظر گرفتن احتمال وجود کلمات به پیش بینی موضوعی سندهای دیگر می پردازد. روشهای زیادی برای دسته بندی متون وجود دارد که هر کدام مزایا و معایب خاص مربوط به خود را دارند..این روش ها اغلب مبتنی بر شیوه های شناخته شده در یادگیری خودکار هستند ودر مسائل مختلفی از آنها استفاده می شود ، اما برخی به طور خاص برای حل مسئله دسته بندی به کار می روند.

1-2. روش های دسته بندی اسناد و کارهای مرتبط :

در زمینه ی دسته بندی متون تا کنون روش های زیاد و مختلفی ارائه شده است ،از جمله : درخت های تصمیم گیری15 ، روش نزدیک ترین همسایه[K-Nearest Neighbours] ، روش بیزین ساده 16، روش شبکه های عصبی17 ، ماشین های بردار پشتیبان18 و غیره .
1- روش ساده بیزی :
این روش یک از پرکاربردترین روش در دسته بندی متون است . در این روش متن به صورت مجموعه های کلمات مستقل از یکدیگر و مستقل از محل قرار گرفتن در متن در نظر گرفته میشود [5] . تابع احتمال هر متن از حاصلضرب احتمال کلمات آن و احتمال رخداد متنی با آن طول بدست می آید . یادگیری سیستم بوسیله ی تخمین پارامترهایی برای تولید مدلی صورت می گیرد که فقط از متون برچسب دار استفاده میکند. الگوریتم از پارامترهای تخمین زده شده برای دسته بندی متون جدید با محاسبه ی اینکه کدام دسته بیشترین شباهت را با متن داده شده دارد،استفاده می کند.روش بیز یک مدل احتمالی ویژه برای متون در نظر میگیرد. این روش فرض می کند که لغات مستقل هستند که این فرض اجازه میدهد مدل تولیدی با تعداد بسیار زیادی پارامتر کاهش یافته نمایش داده شود.
کلاس یک سند متناسب با کلماتی است که در یک سند ظاهر می شوند که در این روش برای تخمین کلاس سند از فرمول زیر استفاده می­شود[6] :

فرمول1

در این فرمول L نشان دهنده کلاس c و tها ترم­های موجود در یک سند هستند. این نکته قابل ذکر است که هر سند دقیقا به یک کلاس تعلق دارد. از
آنجا که برای همه کلاس­ها مساوی در نظر گرفته می­شود، می­توان این احتمال را از فرمول بالا حذف نمود و همچنین برای سادگی از فرض استقلال Na¨ıve استفاده می­شود. طبق این فرض احتمال رخداد کلمات در یک سند مستقل از یکدیگر است. یعنی داریم:

فرمول2

این رده­ بندی کننده یک گام learning دارد که در آن احتمالات( P(t|L( تعداد اسنادی که در مجموعه آموزش شامل ترم t_هستند و برچسب کلاسشان_L است تقسیم بر کل کلاسها) تخمین زده می شود. در گام رده ­بندی، احتمالات تخمین زده شده برای رده ­بندی کردن یک نمونه جدید مطابق با قانون Bayes استفاده می ­شوند. برای کاهش تعداد احتمال­های P(t|L) که باید تخمین زده شوند می­توان از روش­های انتخاب ترم ایندکس استفاده کرد. اگرچه این روش به علت فرض استقلالش تا حدی ممکنه فیر واقعی باشد اما در عمل نتایج خوبی از آن حاصل می­شود(_Dumis_98, Joachims_98).
برچسب­ گذاری کردن دستی اسناد مجموعه آموزش کار طاقت فرسایی است. برخی مقالات از اسناد برچسب­گذاری نشده برای مجموعه آموزش استفاده می­ کنند.. فرض کنیم که از یک مجموعه آموزش کوچک به دست آمده است که کلمه _t
همبستگی شدیدی با کلاس L دارد. ممکنه از اسناد برچسب ­گذاری نشده به دست آید که t همبستگی شدیدی به t دارد بنابراین می­توان نتیجه گرفت که t یک پیشگو کننده خوب برای کلاس L است. در این روش اسناد برچسب گذاری نشده، کارایی رده ­بندی را بهبود می­ بخشند.

_شکل 3- روش ساده بیزی_

2- روش نزدیکترین همسایه :
به جای ساختن مدل­های صریح برای کلاس­های مختلف، راه دیگر اینست که اسنادی از مجموعه آموزش که مشابه به سند جاری هستند، انتخاب شوند و کلاس سند جاری برابر با کلاسی است که اکثزیت اسناد مشابه دارند. در روش رده­بندی K تا همسایه نزدیکتر، k تا سند از مجموعه آموزش که بیشترین شباهت (بر اساس یک معیار شباهت تعریف شده) را به سند جاری دارند به عنوان همسایگان آن سند انتخاب می­شوند.
تعداد زیادی معیار شباهت در متن کاوی وجود دارد. یک روش ساده شماردن تعداد کلمات مشترک در دوسند است. این روش باید برای اسناد با طول مختلف نرمالایز شود. همچنین ممکنه کلماتی بیشتر منعکس کننده محتوای یک سند باشند. به عنوان یک روش استاندارد برای اندازه­گیری شباهت می­توان به شباهت کسینوسی اشاره نمود. برای اینکه کلاس سند d مشخص شود، شباهت S(d, d) برای همه اسناد d در مجموعه آموزش محاسبه می­شود.
سپس k تا از شبیه­ترین اسناد مجموعه آموزش به عنوان همسایه­های سند جاری انتخاب می­گردند و کلاس سند d برابر با کلاسی است که اکثر سندهای همسایه آن دارای آن کلاس هستند. در این روش مقدار بهینه k را می­توان از مجموعه آموزش دیگری به وسیله cross-validation تخمین زد.
این روش رده بندی طبق مطالعات انجام شده [Joachims98]__کارایی خوبی دارد. وتنها مشکل آن اینست که در طی رده­بندی محاسبات زیادی لازم است (محاسبه کردن شباهت یک سند با همه اسناد موجود در مجموعه آموزش).
شکل 4- روش نزدیک ترین همسایه

3-روش ماشین بردار پشتیبان[Support Vector Machines]
به عنوان یک الگوریتم رده ­بندی _نظارت شده
برای رده ­بندی متن به کار می رود. معمولا سند d به وسیله بردار (t,….., t) از تعداد کلماتش نمایش داده می­شود.متن کاوی اینست که تنها به تعداد کمی از ترم یک 19 SVMمی­توان فقط دو کلاس را جدا کند:
یک کلاس مثبت L (توسط y = +1 نشان داده می­شود) و کلاس منفی L(که با y = -1 نشان داده می­شود). در فضای بردارهای ورودی، یک hyperplane با تنظیم کردن y = 0در زیر معادله خطی تعریف می­شود:
فرمول3

این روش یک hyperplane که بین نمونه­ های مثبت و منفی مجموعه آموزش قرار می­گیرد را مشخص می­کند. پارامترهای b به گونه ­ای تنظیم می ­شوند که فاصله ای (که حاشیه نامیه می­شود) بین hypelane و نزدیکترین نمونه مثبت و منفی ماگزیمم شود. اسنادی که دارای فاصله اشاره شده از hyperplan هستند، support vectors نامیده می­شوند و محل واقعی hyperplan را مشخص می­کنند. معمولا تنها کسر کوچکی از اسناد support هستند.SVM می­ تواند با پیشگوهای غیرخطی استفاده شود مثلا با تعریف کردن یک feature map :

فرمول4

یادگیری تقریبا مستقل از فضای ویژگی از مهمترین مشخصه های این روش به حساب می آید.

کارهای مرتبط
دسته بندی متون با روشهای مختلف برای زبان انگلیسی صورت گرفته است. Liu و Yang در سال 1999 دسته بندی متون را با استفاده از بردارهای فراوانی ریشه کلمات انجام دادند[7] Joachims در سال 1998 دسته بندی متون را با استفاده از ماشین بردار پشتیبان انجام داد[8]. Bellegarda در سال 2000 روش آنالیز معنایی پنهان (LSA) را برای دسته بندی به کار برد.[9] Gedeon و Wood در سال 2001 از شبکه های عصبی هیبرید به منظور دسته بندی متون استفاده کردند.[10] در همین سال Torkolla آنالیز تمایزی خطی را در دسته بندی به کارگرفت.[11] Blei و همکاران در سال 2003 روش « تخصیص دیریکلۀ پنهان » (LDA) را برای مدلسازی متون پیشنهاد دادند و از آن در دسته بندی متون نیز استفاده کردند[12] در سال 2005 نیز Guandong و همکاران روش تحلیل معنایی پنهان احتمالاتی (PLSA) را برای دسته بندی صفحات وب به کارگرفتند.[13]
تحقیقات انجام شده در زمینه دسته بندی متون برای زبان فارسی تا کنون بسیار اندک بوده است. عرب سرخی و فیلی یک روش دسته بندی با استفاده از بردارهای فراوانی ریشۀ کلمات والگوریتم بیزین ساده پیشنهاد داده اند.سپس آنها با ترکیب روش بیزین با ایده نگهداری کلمات همنشین، روش خود را بهبود بخشیدند.[14] حاجی حسینی و الماس گنج نیز یک روش بانظارت برای دسته بندی متون فارسی با استفاده از تحلیل معنایی پنهان ( LSA ) پیشنهاد دادند.
روش (LSA) بردارهایی را در یک فضای برداری کاهش یافته برای هر متن در اختیار قرار می دهد. با استفاده از این بردارها آنها از روش شبکۀ عصبی برای آموزش
دسته بند و تعیین دستۀ مربوط به متون جدید استفاده کردند.[15] پیله ور و همکاران، با استفاده از یادگیری چندی سازی برداری دسته بندی مستندات متنی فارسی را از روی پیکره همشهری انجام دادند.[16] و در مقاله ای دیگر فرهودی و یاری، با استفاده از روش بهره جویی از گنج واژه و انتخاب ویژگی دو مرحله ای به دسته بندی متون فارسی پرداخته اند.[17]

1-4. روش های پیشنهادی برای طبقه بندی متون فارسی
روش پیشنهادی برای طبقه بندی متون فارسی بر اساس روش یادگیری ماشین استوار است. در روش یادگیری ماشین، دو فاز آموزش و آزمون وجود دارد . در فاز آموزش دسته های از قبل مشخص شده ای را برای یادگیری ماشین استفاده می کنند و معنای هر طبقه برای سیستم یادگیری ماشین مشخص می شود. در فاز آزمون، مستندات غیر شناخته ای به سیستم داده می شود . سیستم به طورخودکار آن متن را به طبقهای که بیشتر شباهت دارد نسبت می دهد.
قانون اصلی یادگیری ماشین این است که یک فضای وسیع از فرضیات ممکن و دانش پیشین نگهداشته شده بوسیله یادگیر را جستجو نموده و بهترین طبقه ممکن را برای متن تست بدست آورد. وظیفه یادگیر جستجو در این فضا برای جایگذاری فرضیاتی است که بیشترین سازگاری را با نمونه های آموزشی موجود دارد.
پیکره زبانی که در این پروژه مورد استفاده قرار خواهد گرفت، پیکره زبانی جامع همشهری نسخه 2 20می باشد.
نسخه 1 همشهری شامل بیش از 592222 سند، 91 درخواست و قضاوتهای مرتبط است که از سال 5531 تا 5595 توسط افراد مختلف با موضوعات مختلف نوشته شده است . نسخه2 همشهری نسبت به نسخه قبل بزرگتر و جامعتر است که تصاویر مقالات را نیز در بر دارد. مولفان روزنامه همشهری بصورت دستی مقالات خود را به دسته های مختلفی تقسیم کردند و آن را در سایت پیکره همشهری[18] قرار دادند. تمام اسناد در این مجموعه به 82 موضوع مختلف بر اساس اخبار موجود در سایت روزنامه دسته بندی شده اند.
برخی از رسته های موجود در این سایت عبارتند از:

adabh Literature and Art ادب و هنر
ejtem Social اجتماعی
elmfa Science and Culture علمی فرهنگی
eqtes Economy اقتصاد
gozar Miscellaneous گوناگون
havad Miscellaneous.Happenings گوناگون.حوادث
kharj Miscellaneous.World News گوناگون.خارجی
maqal Miscellaneous گوناگون
shahr Miscellaneous.Urban گوناگون.شهری
siasi Politics سیاسی
varze Sport ورزش

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

۳. پیاده سازی پروژه :

الگوریتم پیشنهادی برای برچسب زنی موضوعی بدین صورت عمل می کند که ابتدا تعدادی کلمه از بین کلمات دادگان آموزشی به عنوان کلمه کلیدی انتخاب می شود.[19] برای این کار روشهای مختلفی است که tf-idf به عنوان یکی از روشهای خوب می باشد که در آن tf متناسب با یک فاکتور وزنی است که IDF بسامد یک کلمه در مستند و بیانگر معکوس میزان پراکندگی یک کلمه در سندهای مختلف است. برای استخراج کلمات کلیدی ،tf-idf را برای هر کلمه ی i به روش زیر بدست می آوریم:

فرمول5

در فرمول5 ، ni تعداد کلمه i در زیر پیکره، M فراوانی کل سندها در زیر پیکره و dfi تعداد مستنداتی است که شامل کلمه ی i می باشند. با در نظر گرفتن حد آستانه ای روی tf-idf می توان کلمات کلیدی را انتخاب کرد. کلمات کلیدی کلماتی هستند که دارای tf-idf بالایی هستند. با توجه به فاکتور tf ، مشخص است که کلماتی که بسامد بالایی دارند امتیاز بیشتری برای انتخاب به عنوان کلمه کلیدی خواهند داشت. در عین حال این توضیح لازم است که تمام کلماتی که دارای tf بالایی هستند، ارزش استفاده در فرآیند طبقه بندی را ندارند که درا ینجا فاکتور idf به کار می آید.

۴. آزمایش ها

همانطور که در قسمت قبل توضیح دادم دادگان مورداستفاده در این پروژه پیکره زبانی جامع همشهری می باشد.در این دادگان مولفان روزنامه همشهری به
صورت دستی مقالات خود را به دسته های مختلفی تقسیم می کنند و آن را درسایت پیکره همشهری قرار دادند.تمام اسناد در این مجموعه به 82 موضوع
مختلف براساس دسته اخبار موجود در سایت روزنامه دسته بندی شده اند.به عنوان مثال SIASI به معنی سیاسی در فارسی وPOLITICAL در انگلیسی است.
نامهای انگلیسی و فارسی دسته های اصلی (16دسته مهم از بین 82 دسته موجود که بیشترین اسناد را دارند) در جدول زیر امده است:

ایست 16 دسته مهم پیکره همشهری

بردار مربوط به نماینده ی هر موضوع با استفاده از حاصل ضرب tf-idf مربوط به هر کلمۀ کلیدی در متون همان موضوع به دست می آید.
دسته بندی اسناد را با روش ساده بیزی که بر اساس تئوری بیز استوار است ، پیاده سازی می کنیم که این پیاده سازی دارای دو قسمت است:
قسمت اول مربوط به یادگیری ماشین می باشد. ماشین در این قسمت باید بتواند از یک مجموعه آموزشی مقادیر مربوط به احتمالات مختلف را بدست بیاورد که براساس روش ساده بیزی که در قبل به آن اشاره کردیم، بدست می آید. قسمت دوم پیاده سازی پروژه که قسمت آزمون نام دارد، مربوط به تعیین موضوع اسناد جدید است. در این قسمت باید با توجه به یادگیری های مرحله قبل بتوانیم برای اسناد جدید که موضوع آنها مشخص نیست ؛ با توجه به محتوای داخلی آنها و استفاده از کلمات کلیدی به روش گفته شده، موضوعات مختلف را برچسب بزنیم.
از 82 دسته موجود تنها 12 دسته بیش از 1000سند دارند که72 درصد مجموعه را شکل می دهند.
شکل زیر توزیع اسناد در 12 دسته اصلی را نشان می دهد.
توزیع اسناد در 12 دسته اصلی

5-1-آزمایش اولیه:
معیار دقت برای ارزیابی طبقه بندی متون پرکاربرد می باشد. این معیارها به صورت زیر تعریف می شود:
فرمول6

که در آن a ، تعداد مستندات مرتبط با موضوع است که به طور صحیح برچسب زنی شده اند و b ، تعداد مستندات غیرمرتبط با موضوع است که به اشتباه برچسب موضوع موردنظر را خورده اند.جدول زیر نتایج ارزیابی طبقه بندی را برروی متون آزمون نشان می دهد.

نتایج آزمایش اولیه

Source-code-Github

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

در فازبعدی انشاا... به بهبود نتایج و گزارش های مورد نظر پیرامون رده بندی موضوعی متن می پردازیم.

۶. مراجع

[1] کاوش متون فارسی بر مبنای روش طبقه بندی، محمد حسین سرایی، آذر شاهقلیان ، نشریه علمی پژوهشی انجمن کامپیوتر ایران، 1389
[2] دسته بندی موضوعی متون فارسی بر اساس روش قواعد انجمنی، سید محمد حسین احمدی، پایان نامه ی کارشناسی ارشد ، دی ماه 90
[3] دسته‌بندی متون با استفاده از یادگیری ماشین، محسن رحیمی، پروژه هوش مصنوعی، 91
[4] F Sebastiani, "Machine learning in automated text categorization", ACM computing surveys (CSUR),2002
[5] ایوب باقری، حامد فرزانه فر،محمد حسین سرایی ،محمدرضا احمدزاده ."دسته بندی متون خبری فارسی با استفاده از الگوریتم NaïveBayes ".دومین کنفرانس داده کاوی ایران.1387
[6] متن کاوی ، سارا مصباح ، گزارش درس مباحث ویژه در پایگاه داده ، تابستان 88

[7] Y. Yang and X. Liu, "A Re-examination of Text Categorization Methods", Proceedings of the 22 annual international ACM SIGIR conference on research and development in information retrieval, pp. 42-49,1999.

[8] T. Joachims, "Text Categorization with Support Vector Machines: Learning with Many Relevant Features in Machine
Learning", 10th European Conference on Machine Learning, pp. 137-142, 1998.

[9] J.R.Bellegarda, "Exploiting Latent Semantic Information in Statistical Language Modeling",Proceedings of IEEE,Vol. 88, No. 8, pp. 1279-1296,2000.

[10] S.A. Wood and T.D. Gedeon, "A Hybrid Neural Network for Automated Classification" Proceedings of the 6th Australasian Document Computing Symposium, 2001.

[11] K.Torkolla, "Linear Discriminant Analysis in Document Classification", _IEEE ICDM workshop on text mining, 2001.

[12] D.Blei, A. Ng, M. Jordan, “Latent Dirichlet Allocation”, Journal of Machine Learning Research, Vol.3, pp. 993-1022, 2003.

[13] X. Guandong, Y. Zhang, Z. Zhou, "Using Probabilistic Latent Semantic Analysis for Web Page Grouping", Proceedings of Research Issues in Data Engineering: Stream Data Mining and Applications_, pp. 29-36, 2005.

[14] محسن عرب سرخی، هشام فیلی، "ارائه یک سیستم دسته بندی موضوعی متون فارسی بر اساس روش های احتمالاتی"، مجموعه مقالات دومین کارگاه پژوهشی زبان فارسی و رایانه، صص161،1.1385،

[15] آزاده حاجی حسینی، فرشاد الماس گنج، "دسته بندی موضوعی متون فارسی بر اساس روش آنالیز معنایی پنهان"، مجموعه مقالات دومین کارگاه پژوهشی زبانفارسی و رایانه، صص 190.1385 ،201

[16] T. Pilehvar, H. Faili, M. Soltani, Classification of Persian textual documents using Learning Vector Quantization,
4rd IEEE Conference on Knowledge Engineering and Natural Language Processing,NLP-KE,2009

[17] M. Farhoodi, A., Yari, M. Mahmoudi., "A Persian Web Page Classifi er Applying a Combination of Content-Based andContext-Based Features", International Journal of Information Studies,
Vol. 1, No.4, 2009
[18] Hamshahri website
[19] هادی عبدی قویدل، بهرام وزیر نژاد ، محمدبحرانی ،برچسب زنی موضوعی متون فارسی ، دانشگاه صنعتی شریف


  1. Machine Learning

  2. text classification

  3. Classification Rules

  4. Associative Classification

  5. Supervised learning

  6. K-NN:K-Nearest Neighbours

  7. Text Mining

  8. Data Mining

  9. Information Extraction

  10. Natural Language Processing

  11. Unsupervised learning

  12. Semi-supervised learning

  13. Label

  14. Reinforcement learning

  15. Decision Trees

  16. Naïve Bayesian

  17. Neural Networks

  18. Support Vector Machines

  19. Support Vector Machines

  20. Hamshahri corpus

تایید شده

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

تایید شده

در کل کارتان خوب بوده ولی به نظرم در متن پروژه‌تان موارد اضافی گفته‌‌اید که به نظرم بهتر بود بیشتر به اصل موضوع می‌پرداختید. چندتا نکته به نظرم رسید که موارد زیر هستند:

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

  • تصویر‌ اول به نظرم هیچ ربطی به پروژه ندارد.

  • فرمول‌ها هم خیلی بهتر بود با LaTeX می‌نوشتید، در بعضی موارد خیلی ناخونا است.

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

  • به نظرم باید به این نکته هم توجه می‌شد که هر سند می‌تواند متعلق به چند دسته باشد. به عنوان مثال یک سند هم می‌تواند یک خبر خارجی باشد و هم ورزشی.

تایید شده

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

ولی در کل خیلی خوب بود، خسته نباشید.

تایید شده

سلام
1- فایل readme قرار داده شده در سایت کامل نیست و بهتر بود یک توضیح کوتاه در مورد پروژه داده می‌شد تا سایر افرادی که این لینک را مشاهده می‌کنند بتوانند شناختی از موضوع پیدا کنند.
2- نیم‌فاصله رعایت نشده.
3- در مواردی غلط املایی در متن مشاهده می‌شود ("دستبابی")
4- تصویر قرار داده شده ربطی به موضوع پروژه ندارد.
5- در بعضی موارد ارجاعات به منابع به درستی صورت نگرفته است. (به عنوان مثال "[2][Yoon2007,Chen2005]")
6- منابع در مواردی چپ‌چین و در مواردی راست‌چین است.
7- تعدادی از پاورقی‌های موجود در متن کامل نشده‌اند و عبارت پاورقی نیز موجود است.
8- در قسمتی از متن (روش ساده بیزی) ، بخشی از متن bold شده و همین‌طور italic است.
9- فرمول‌ها به صورت عکس قرار داده شده‌اند.
10 - نمودار‌ها و تصاویر به خوبی گویای مسئله هستند.
11- توضیح کاملی از پروژه و روش‌های پیاده‌سازی داده شده است

موفق باشید

تایید شده

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

تایید شده

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