در ردهبندی متون هدف این است که سندهایی را که در اختیار داریم بتوانیم برچسبگذاری موضوعی کنیم. در واقع این موضوع صرفا یک مسئله با ناظر است، یعنی مجموعهای از اسناد متنی که گروهبندی موضوعی شدهاند به عنوان دادهی آموزشی در اختیار سامانه قرار میگیرد تا بتواند با یادگیری از این مجموعه، اسناد جدید ورودی را به یکی از این گروههای موضوعی ملحق نماید.
در این پژوهش روشهای مختلف ردهبندی اسناد متنی مورد بررسی قرار گرفته و برای زبان فارسی پیادهسازی میشوند.
۱. مقدمه
در دوران معاصر دانش به عنوان یک فاکتور کلیدی در سازمان های جدید برای رقابت های سالم به شمار می آید. دستبابی به موفقیت در این رقابت، مستلزم یافتن اطلاعات مفید در زمانی مناسب است. از طرفی گسترش روز افزون دانش و تکنولوژی بشر، باعث افزایش اطلاعات در دسترس شده است . این موضوع حتی در سالهای گذشته نیز مشهود بوده است به طوری که به طوروسیعی از روش های آماری و یادگیری ماشین1 برای دسته بندی متون استفاده شده است. البته توجه به این نکته ضروری است که تنها خود اطلاعات کافی نیست؛بلکه قابلیت مدیریت و اعمال نفوذ بر این اطلاعات به صورت موفق،ازاهمیت بالایی برخوردار است [1 ].
دسته بندی متون2، اگرچه که از سال 1960 میلادی به بعد مورد مطالعه قرار گرفته است؛ ولی با شروع دهۀ 90به لطف پیشرفت های نرم افزاری و سخت افزاری ، پیشرفت چشمگیری داشته است. امروزه مساله برچسب زنی موضوعی متون در حوزه بازیابی اطلاعات وتحلیل داده های آماری، امری مهم و کاربردی به شمار میرود. انتساب اسناد متنی به دسته های از پیش تعیین شده به منظور دسته بندی اتوماتیک و خودکار متون در ده سال اخیر تمام توجهات را به خود جلب کرده است. مقصود از طبقه بندی یا دسته بندی خودکار متون این است که این رده بندی ، در زبان طبیعی و با استفاده از یادگیری ماشین صورت می گیرد ؛
حال آنکه روش اصلی در جامعه تحقیقاتی در این زمینه می باشد .در یادگیری ماشین ، معمولا سیستم این گونه یادگیری را انجام می دهد که روی یک دسته از متون از قبل برچسب زنی شده آموزش داده می شود وبعد از آن طبقه بندی یا classification متون جدید با استفاده از مدلهای حاصل از مرحلۀ آموزش، صورت می گیرد.
دسته بندی متون در بسیاری از زمینه ها از جمله فیلترکردن متون مخصوصا در نامه های الکترونیکی، تشخیص طبقه، ابهام زدایی از کلمات، سیستمهای خودکار پاسخ به سوالات و یا حتی نمره دهی به مقالات در سیستمهای آموزشی و به طور کلی در هر کاربردی که سازماندهی مستندات و یا توزیع انتخابی و تطبیقی خاصی ازمستندات مد نظر باشد، کاربرد دارد. همچنین برچسب زنی موضوعی متون با مسائلی چون استخراج اطلاعات و دانش ازمتون و داده کاوی متون دارای ویژگی های فنی مشترک می باشد.
هدف این پروژه این است که روش های مختلف رده بندی اسناد متنی در زبان فارسی مورد بررسی قرار گیرد.
روشهای زیادی برای دسته بندی متون استفاده شده است که در جلوتر به آن میپردازیم.در یکی از این روش ها، از قواعد انجمنی استفاده شده و آن را با قواعد دسته بندی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) - تفسیر و ارزیابی
یادگیری ماشین دارای تقسیم بندی زیر براساس داده های در اختیار عامل هوشمند می باشد که عبارتست از:
1- یادگیری با نظارتSupervised learning: مربوط به زمانی است که آموزش سیستم، با استفاده از داده هایی که قبلا با جواب های درست برچسب- گذاری شده اند، انجام پذیرد. برای آموزش سیستم، همانطور که گفته شد تعدادی داده ی ورودی در اختیارآن قرار می گیرد که این داده های خروجی مجموعه ای از جفت های ورودی- خروجی می باشد که سیستم در صدد فراگیری تابع های ورودی – خروجی بر می آید.
2- یادگیری نظارت نشده11 :زمانی این نوع آموزش بوجود می آید که سیستم ، با داده هایی که هیچ گونه برچسب گذاری ندارند، یادگیری را انجام میدهد. به عبارت دیگر، یک مجموعه ای از مثالهای یادگیری وجود دارد که دارای ورودی های مشخص اما خروجی های نامشخص می باشد.
3- یادگیری نیمه نظارت شده12 : مجموعه ای از ترکیب دو روش قبلی، که دارای داده های با برچسب 13 و بدون برچسب هست ، را برای یادگیری به سیستم آموزش می دهند.
4- یادگیری تقویتی 14 : این نوع یادگیری از حیث اینکه داده های مورد استفاده ماشین ، برچسب گذاری نمی شوند؛ دارای شباهت زیادی با نوع نظارت نشده می باشد. به جای آن، پس از گرفتن عمل، حالت بعدی و پاداش بلافاصله به سیستم داده می شود.
1-1- رده بندی یا طبقه بندی موضوعی متن :
طبقه بندی یعنی دﺳﺘﻪ ﺑﻨﺪی اﺳﻨﺎد ومتون ﺑﻪ ﮔﺮوه ﻫﺎﯾﯽ ﮐﻪ دارای وﺟﻪ ﻣﺸﺘﺮک ﺑﻮده که ﺑﺘﻮان ﺑﻌﺪا ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﯾﻦ اﺷﺘﺮاک از آﻧﻬﺎ اﺳﺘﻔﺎده نمود.. اسناد ممکن است بر اساس موضوع و یا براساس یک ویژگی دیگر مانند تاریخ سند رده بندی شوند . در رده بندی موضوعی اسناد ابتدا اسنادی با موضوع از پیش تعیین شده به عنوان نمونه برای یادگیری به ماشین داده می شود و ماشین با توجه به کلمات داخل هر سند به یادگیری می پردازد و با در نظر گرفتن احتمال وجود کلمات به پیش بینی موضوعی سندهای دیگر می پردازد. روشهای زیادی برای دسته بندی متون وجود دارد که هر کدام مزایا و معایب خاص مربوط به خود را دارند..این روش ها اغلب مبتنی بر شیوه های شناخته شده در یادگیری خودکار هستند ودر مسائل مختلفی از آنها استفاده می شود ، اما برخی به طور خاص برای حل مسئله دسته بندی به کار می روند.
1-2. روش های دسته بندی اسناد و کارهای مرتبط :
در زمینه ی دسته بندی متون تا کنون روش های زیاد و مختلفی ارائه شده است ،از جمله : درخت های تصمیم گیری15 ، روش نزدیک ترین همسایه[K-Nearest Neighbours] ، روش بیزین ساده 16، روش شبکه های عصبی17 ، ماشین های بردار پشتیبان18 و غیره .
1- روش ساده بیزی :
این روش یک از پرکاربردترین روش در دسته بندی متون است . در این روش متن به صورت مجموعه های کلمات مستقل از یکدیگر و مستقل از محل قرار گرفتن در متن در نظر گرفته میشود [5] . تابع احتمال هر متن از حاصلضرب احتمال کلمات آن و احتمال رخداد متنی با آن طول بدست می آید . یادگیری سیستم بوسیله ی تخمین پارامترهایی برای تولید مدلی صورت می گیرد که فقط از متون برچسب دار استفاده میکند. الگوریتم از پارامترهای تخمین زده شده برای دسته بندی متون جدید با محاسبه ی اینکه کدام دسته بیشترین شباهت را با متن داده شده دارد،استفاده می کند.روش بیز یک مدل احتمالی ویژه برای متون در نظر میگیرد. این روش فرض می کند که لغات مستقل هستند که این فرض اجازه میدهد مدل تولیدی با تعداد بسیار زیادی پارامتر کاهش یافته نمایش داده شود.
کلاس یک سند متناسب با کلماتی است که در یک سند ظاهر می شوند که در این روش برای تخمین کلاس سند از فرمول زیر استفاده میشود[6] :
در این فرمول L نشان دهنده کلاس c و tها ترمهای موجود در یک سند هستند. این نکته قابل ذکر است که هر سند دقیقا به یک کلاس تعلق دارد. از
آنجا که برای همه کلاسها مساوی در نظر گرفته میشود، میتوان این احتمال را از فرمول بالا حذف نمود و همچنین برای سادگی از فرض استقلال Na¨ıve استفاده میشود. طبق این فرض احتمال رخداد کلمات در یک سند مستقل از یکدیگر است. یعنی داریم:
این رده بندی کننده یک گام learning دارد که در آن احتمالات( P(t|L( تعداد اسنادی که در مجموعه آموزش شامل ترم t_هستند و برچسب کلاسشان_L است تقسیم بر کل کلاسها) تخمین زده می شود. در گام رده بندی، احتمالات تخمین زده شده برای رده بندی کردن یک نمونه جدید مطابق با قانون Bayes استفاده می شوند. برای کاهش تعداد احتمالهای P(t|L) که باید تخمین زده شوند میتوان از روشهای انتخاب ترم ایندکس استفاده کرد. اگرچه این روش به علت فرض استقلالش تا حدی ممکنه فیر واقعی باشد اما در عمل نتایج خوبی از آن حاصل میشود(_Dumis_98, Joachims_98).
برچسب گذاری کردن دستی اسناد مجموعه آموزش کار طاقت فرسایی است. برخی مقالات از اسناد برچسبگذاری نشده برای مجموعه آموزش استفاده می کنند.. فرض کنیم که از یک مجموعه آموزش کوچک به دست آمده است که کلمه _t همبستگی شدیدی با کلاس L دارد. ممکنه از اسناد برچسب گذاری نشده به دست آید که t همبستگی شدیدی به t دارد بنابراین میتوان نتیجه گرفت که t یک پیشگو کننده خوب برای کلاس L است. در این روش اسناد برچسب گذاری نشده، کارایی رده بندی را بهبود می بخشند.
2- روش نزدیکترین همسایه :
به جای ساختن مدلهای صریح برای کلاسهای مختلف، راه دیگر اینست که اسنادی از مجموعه آموزش که مشابه به سند جاری هستند، انتخاب شوند و کلاس سند جاری برابر با کلاسی است که اکثزیت اسناد مشابه دارند. در روش ردهبندی K تا همسایه نزدیکتر، k تا سند از مجموعه آموزش که بیشترین شباهت (بر اساس یک معیار شباهت تعریف شده) را به سند جاری دارند به عنوان همسایگان آن سند انتخاب میشوند.
تعداد زیادی معیار شباهت در متن کاوی وجود دارد. یک روش ساده شماردن تعداد کلمات مشترک در دوسند است. این روش باید برای اسناد با طول مختلف نرمالایز شود. همچنین ممکنه کلماتی بیشتر منعکس کننده محتوای یک سند باشند. به عنوان یک روش استاندارد برای اندازهگیری شباهت میتوان به شباهت کسینوسی اشاره نمود. برای اینکه کلاس سند d مشخص شود، شباهت S(d, d) برای همه اسناد d در مجموعه آموزش محاسبه میشود.
سپس k تا از شبیهترین اسناد مجموعه آموزش به عنوان همسایههای سند جاری انتخاب میگردند و کلاس سند d برابر با کلاسی است که اکثر سندهای همسایه آن دارای آن کلاس هستند. در این روش مقدار بهینه k را میتوان از مجموعه آموزش دیگری به وسیله cross-validation تخمین زد.
این روش رده بندی طبق مطالعات انجام شده [Joachims98]__کارایی خوبی دارد. وتنها مشکل آن اینست که در طی ردهبندی محاسبات زیادی لازم است (محاسبه کردن شباهت یک سند با همه اسناد موجود در مجموعه آموزش).
3-روش ماشین بردار پشتیبان[Support Vector Machines]
به عنوان یک الگوریتم رده بندی _نظارت شده برای رده بندی متن به کار می رود. معمولا سند d به وسیله بردار (t,….., t) از تعداد کلماتش نمایش داده میشود.متن کاوی اینست که تنها به تعداد کمی از ترم یک 19 SVMمیتوان فقط دو کلاس را جدا کند:
یک کلاس مثبت L (توسط y = +1 نشان داده میشود) و کلاس منفی L(که با y = -1 نشان داده میشود). در فضای بردارهای ورودی، یک hyperplane با تنظیم کردن y = 0در زیر معادله خطی تعریف میشود:
این روش یک hyperplane که بین نمونه های مثبت و منفی مجموعه آموزش قرار میگیرد را مشخص میکند. پارامترهای b به گونه ای تنظیم می شوند که فاصله ای (که حاشیه نامیه میشود) بین hypelane و نزدیکترین نمونه مثبت و منفی ماگزیمم شود. اسنادی که دارای فاصله اشاره شده از hyperplan هستند، support vectors نامیده میشوند و محل واقعی hyperplan را مشخص میکنند. معمولا تنها کسر کوچکی از اسناد support هستند.SVM می تواند با پیشگوهای غیرخطی استفاده شود مثلا با تعریف کردن یک feature map :
یادگیری تقریبا مستقل از فضای ویژگی از مهمترین مشخصه های این روش به حساب می آید.
کارهای مرتبط
دسته بندی متون با روشهای مختلف برای زبان انگلیسی صورت گرفته است. 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 ، ni تعداد کلمه i در زیر پیکره، M فراوانی کل سندها در زیر پیکره و dfi تعداد مستنداتی است که شامل کلمه ی i می باشند. با در نظر گرفتن حد آستانه ای روی tf-idf می توان کلمات کلیدی را انتخاب کرد. کلمات کلیدی کلماتی هستند که دارای tf-idf بالایی هستند. با توجه به فاکتور tf ، مشخص است که کلماتی که بسامد بالایی دارند امتیاز بیشتری برای انتخاب به عنوان کلمه کلیدی خواهند داشت. در عین حال این توضیح لازم است که تمام کلماتی که دارای tf بالایی هستند، ارزش استفاده در فرآیند طبقه بندی را ندارند که درا ینجا فاکتور idf به کار می آید.
۴. آزمایش ها
همانطور که در قسمت قبل توضیح دادم دادگان مورداستفاده در این پروژه پیکره زبانی جامع همشهری می باشد.در این دادگان مولفان روزنامه همشهری به
صورت دستی مقالات خود را به دسته های مختلفی تقسیم می کنند و آن را درسایت پیکره همشهری قرار دادند.تمام اسناد در این مجموعه به 82 موضوع
مختلف براساس دسته اخبار موجود در سایت روزنامه دسته بندی شده اند.به عنوان مثال SIASI به معنی سیاسی در فارسی وPOLITICAL در انگلیسی است.
نامهای انگلیسی و فارسی دسته های اصلی (16دسته مهم از بین 82 دسته موجود که بیشترین اسناد را دارند) در جدول زیر امده است:
بردار مربوط به نماینده ی هر موضوع با استفاده از حاصل ضرب tf-idf مربوط به هر کلمۀ کلیدی در متون همان موضوع به دست می آید.
دسته بندی اسناد را با روش ساده بیزی که بر اساس تئوری بیز استوار است ، پیاده سازی می کنیم که این پیاده سازی دارای دو قسمت است:
قسمت اول مربوط به یادگیری ماشین می باشد. ماشین در این قسمت باید بتواند از یک مجموعه آموزشی مقادیر مربوط به احتمالات مختلف را بدست بیاورد که براساس روش ساده بیزی که در قبل به آن اشاره کردیم، بدست می آید. قسمت دوم پیاده سازی پروژه که قسمت آزمون نام دارد، مربوط به تعیین موضوع اسناد جدید است. در این قسمت باید با توجه به یادگیری های مرحله قبل بتوانیم برای اسناد جدید که موضوع آنها مشخص نیست ؛ با توجه به محتوای داخلی آنها و استفاده از کلمات کلیدی به روش گفته شده، موضوعات مختلف را برچسب بزنیم.
از 82 دسته موجود تنها 12 دسته بیش از 1000سند دارند که72 درصد مجموعه را شکل می دهند.
شکل زیر توزیع اسناد در 12 دسته اصلی را نشان می دهد.
5-1-آزمایش اولیه:
معیار دقت برای ارزیابی طبقه بندی متون پرکاربرد می باشد. این معیارها به صورت زیر تعریف می شود:
که در آن 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] هادی عبدی قویدل، بهرام وزیر نژاد ، محمدبحرانی ،برچسب زنی موضوعی متون فارسی ، دانشگاه صنعتی شریف
Machine Learning
text classification
Classification Rules
Associative Classification
Supervised learning
K-NN:K-Nearest Neighbours
Text Mining
Data Mining
Information Extraction
Natural Language Processing
Unsupervised learning
Semi-supervised learning
Label
Reinforcement learning
Decision Trees
Naïve Bayesian
Neural Networks
Support Vector Machines
Support Vector Machines
Hamshahri corpus