<a href="http://moujez.ir" style="margin: 0 auto;text-align: center;" target="_blank">
<img src="http://upload7.ir/imgs/2014-04/31690574355549344892.png" />
</a>
** نسخه آزمایشی: ** پیاده سازی اولیه را از [اینجا](http://moujez.ir/) مشاهده نمایید. لطفا در صورت مشاهدهی باگ، [گزارش دهید](https://bitbucket.org/vahidkharazi/moujez/issues?status=new&status=open).
# چکیده
در این پروژه، ابتدا به بیان و پیادهسازی چند روش خلاصهسازی متن خواهیم پرداخت و تکنیکهای خاصی را که منحصرا به خلاصهسازی خبر مربوط میشوند را توضیح می دهیم. سپس کارگزارِ[^1] خلاصهسازیِ خبرِ [موجز](https://bitbucket.org/vahidkharazi/moujez)، که از ترکیب چند روش خلاصهسازی آماری و یادگیریِ ماشین استفاده می کند را معرفی می کنیم. موجز، از تکنیکهای مربوط به پردازش زبان طبیعی و قواعد مربوط به زبان فارسی برای بهبود نتایج خود استفاده می کند. پس از پیاده سازی این سیستم با زبان برنامه نویسی پایتون، نتایج را با یک مجموعهی خبر که توسط انسان خلاصه شدهاست مقایسه میکنیم و این سیستم را با روشهای ارزیابی ذاتی و بیرونی سیستمهای اتوماتیک خلاصه سازی، میسنجیم. نشان خواهیم داد که در بدترین حالت، در کیفیت خلاصه و معیارهایی نظیر دقت[^2]و فراخوانی[^3]، نسبت به سیستمهای مشابه بهبود نسبی حاصل شده است.
# ۱. مقدمه
در سالهای اخیر نرخِ رشدِ اطلاعات، بسیار فزاینده است. با توجه به این افزایش حجم مستندات متنی، برای پاسخگویی به نیازهای اطلاعاتی کاربران، دیگر تکنیکهای بازیابی اطلاعات به تنهایی کارا نیستند. از این رو خلاصهسازی متنها به منظور فهم کلیه اطلاعات بااهمیت متن از جایگاه ویژهای برخوردار است. این کار منجر به استفاده از منابع بیشتر و با سرعت بالاتر و در نتیجه حاصل شدنِ اطلاعاتِ غنیتر میشود. امروزه کارگزارهای خلاصهساز متن در خلاصهسازی اطلاعاتِ پزشکیِ بیماران[1]، سرویسهای صوتی برای ناشنوایان، موتورهای جستجو، خلاصهسازی نامههای الکترونیکی[2]، اخبار[29] و غیره کاربرد دارند.
## ۱.۱. انواع خلاصهسازی متن
در منابع[4,3]، دستهبندیهای مختلفی برای کارگزارهای خلاصهسازی معرفی شده است که وجوهِ مشترک بسیاری دارند:
* **نوع خلاصه: **به طور کلی خلاصهسازی به دو نوع مستخرج[^4] و چکیده[^5] تقسیم بندی میشود. در خلاصههای مستخرخ، جملاتی از متنِ اصلی، به عنوان جملاتِ مهم از سند در خلاصه انتخاب میشوند اما در خلاصههای چکیده، خروجی میتواند شاملِ جملات جدیدی باشد که دربرگیرندهِ اطلاعات مهم متن است. اکثر سیستمهای خلاصهساز، خلاصههای مستخرج تولید میکنند[5].
* ** تعداد اسناد: **کارگزار خلاصهساز میتواند، یک سندِ مجزا را خلاصه کند یا چندین سند را که یک رویداد را گزارش میدهند خلاصه کند.
* **پارامتر:** خلاصهی یک متنِ یکسان، میتواند برای هر کاربر، با توجه به ویژگیهای شخصی وی، متفاوت باشد.[6] ویژگیهای کاربر میتواند به صورت هوشمند یا با پرسش از وی استخراج شود.
دستهبندیهای دیگری نیز برای خلاصهسازی ارایه شده است که به دلیل ارتباط کمتر با این مطالعهی موردی، ذکر نشده است.
## ۱.۲. چالشهای پیشرو
* **حفظ پیوستگی:** خلاصهسازی با رویکرد مستخرج، باعث حذف برخی از جملات می شود. ممکن است جملات متن خلاصه، دچار گسستگی و عدم ارتباط موضوعی با یکدیگر باشند.
* **ضمایر سرگردان:** ممکن است مرجع برخی ضمیرها مانند «وی» و «آن» در جملاتی باشد که حذف شدهاند و خود جملاتِ شامل این ضمیرها، در متن خلاصه شده آمده باشد. این موضوع باعث ابهام و کاهش خوانایی متن میشود.
* **استاندارد متون:** عدم رعایت استانداردی یکسان در متون خبری، به ویژه محتوای خبری که توسط خبرگزاریهای فارسی تولید میشود باعث ایجاد مشکل خواهد شد. به عنوان مثال، قرارندادن علایم نگارشی در یک متن باعث می شود که تحلیلگرهای زبانهای طبیعی، دچار خطا شوند. خطا در تحلیل جایگاه کلمات، باعث خطا در تکنیکهایی که از ویژگیهای زبان استفاده میکنند خواهد شد.
* **حجم خلاصه:** یافتن میزان مطلوب کاهش حجم یک متن به صورت خودکار، توسط سیستم خلاصهساز یکی از چالش های اصلی در زمینه پیاده سازی و ارزیابی سیستم های خلاصه سازی است[7].
* **ارزیابی کیفیت خلاصه: **ارزیابی خروجی سیستم خلاصهساز گاهی اوقات یک موضوع کیفی است[8]. در بعضی از موارد حتی مشاهده میشود که یک خلاصه توسط دوفرد مختلف متفاوت ارزیابی میشود. کمی نبودن برخی از معیارهای ارزیابی، یک چالش اساسی محسوب میشود.
* **پردازش زبان فارسی: ** در توسعه این سیستم علاوه بر چالش های معمول های پردازش زبان طبیعی، مشکلات خاصی نیز وجود دارد که مرتبط با قواعد زبان فارسی هستند. مشکل دیگر در پردازش زبان فارسی کم بودن منابع زبانی، مثل پیکرههای متنی مناسب برای این زبان است[9].
* **واکشی خبر: ** یافتن متن اصلی خبر و عنوان آن از صفحه وب، یکی از مراحل کارِ خلاصهساز است. این مرحله به دلیل گستردگی و تفاوت سایتهای خبرگزاریها یک چالش محسوب میشود.
# ۲. مراحل و روشهای موجود
به طور کلی عمل خلاصهسازی در سه مرحلهی پیشپردازش، پردازش و تولید خلاصه انجام میشود. در خلاصهسازی اخبار، باید مرحله واکشی خبر را نیز به ابتدای این مراحل اضافه نماییم:
## ۲.۱. واکشی خبر
ما، واکشی را، استخراجِ متنِ اصلیِ خبر و عنوان آن از یک صفحه وب تعریف میکنیم. واکشی متن و عنوان اصلی یک خبر یا مقاله از صفحه وب، به دلیل یکسان نبودن ساختار صفحات سایتهای مختلف نیاز به بهکارگیری تکنیکهای مختلفی دارد. برای اینکار دو مرحلهی زیر را، پیشنهاد میکنیم:
* ** واکشی بر پایهی ساختار صفحات وب:** طبق بررسی ها، اکثر سایتهای خبرگزاریهای فارسی، عموما از دو نرمافزار اتوماسیون خبرگزاری [ایران سامانه](http://iransamaneh.com/) و [استودیو خبر](http://www.news-studio.com/) استفاده میکنند. بنابراین ساختار صفحات وب این سایتها عموما مشابه است. برای این سایتهامیتوان، با استفاده از شناسایی موقعیت تگهای html به راحتی و به طور دقیق، عنوان و متن اصلی خبر را استخراج کرد.
* ** واکشی بر پایهی روشهای هوشمند: **
اگر ساختار html صفحه ای که لینک آن را داریم(مانند بالا) مشخص نبود باید بتوانیم متن اصلی و عنوان خبر را از آن استخراج کنیم. برای واکشی عنوان و متن اصلی مقاله، روش های زیر به ذهن میرسد:
** ۱. ** برای پیدا کردن متن اصلی خبر، ابتدا تمامی تگهایی مانندِ تگ` <p> `را حذف می کنیم. سپس از بین بخشهای مختلف متنی، بزرگترین قسمت را به عنوان متن اصلی در نظر گرفته و واکشی می کنیم. برای یافتن عنوان خبر، میتوان از تگ` <title> `استفاده کرد. چنانچه عنوان خبر در این تگ نبود میتوان به دنبال تمامی تگهایی گشت که یک متن را بزرگنمایی می کنند.(مثل` <h1> `یا` <b>`)
در این صورت ممکن است چندین گزینه برای انتخاب عنوان وجود داشته باشد. اگر چنین اتفاقی افتاد، ابتدا با یکی از روش هایهای یافتن کلمات کلیدی در متن.(مانند روش tf-idf)، کلمات کلیدی متن را استخراج میکنیم[10]. سپس گزینهای را انتخاب میکنیم که کلمات کلیدی بیشتری در آن وجود داشته باشد.
** ۲. ** در آینده تکمیل میگردد.
## ۲.۲ پیشپردازش
به دلیل عدم رعایت استانداردهای نگارشی زبان فارسی توسط منابع، پیش از انجام هر عملی به روی متنی که از صفحه وب واکشی شده است، باید پیشپردازش را انجام دهیم تا به متونی استاندارد برسیم. کارهای مرتبط پیشین[11, 5]، کارهای زیادی را برای پیش پردازش زبان فارسی پیشنهاد دادهاند که البته برخی از آنها،نادرست، فاقد دلیل منطقی و یا مغایر با شیوهی درست نگارش زبان فارسی[12] به نظر میرسند و باعث پردازش اضافی بر روی متن میشوند. در زیر اعمالی را که برای پیشپردازش زبان فارسی، منطقی به نظر می رسد را ذکر می کنیم:
* تبدیل نویسه «ی» و «ک» عربی به نوع فارسی آنها
* تبدیل نویسه های «ؤ» به «و»، «ئ» به «ی» و «أ» به «ا»
* تبدیل حمزهی آخر کلمات به «ی» با رعایت نیم فاصله مناسب
* اصلاح فاصلهگذاری نادرست پرانتزها
* تبدیل اعداد عربی و انگلیسی به معادل فارسی آنها
* رعایت نیمفاصله در پسوندهایی مانند «ها»، «تر»، «تری» و «ترین»
* رعایت نیمفاصله در ضمایر ملکی نظیر «ام»، «ای»، «ات» و «اش»
* رعایت نیمفاصله در پیشوندهایی همچون «نمی» و «می» در ابتدای فعلها
* حذف بیش از یک علامت سوال یا علامت تعجب
* اصلاح کشیدگی کلماتی مانند «وحیـــــــد»
* حذف فاصله پس از پیشوند «بر» در واژههایی مانند «بر میگردد»
* چسباندن علایم نگارشی مانند نقطه و علامت سوال به انتهای جمله
## ۲.۳. پردازش
در آینده تکمیل میگردد.
## ۲.۴. تولید خلاصه
تاکنون روشهای زیادی برای تولید خلاصه از یک متن پیشنهاد شده است. در این بخش تعدادی از آنها را بررسی میکنیم:
### ۲.۴.۱ روش TF-ISF
این روش برگرفته از معیار فرکانس کلمه - معکوس فرکانس سند در بازیابی اطلاعات است. فرکانس یک کلمه، تعداد تکرار آن در متن است. فرکانس جمله، تعداد جملات سند است که حاوی آن کلمه هستند. این مشخصه بعد از حذف تمامی کلمات ایست[^6]، برای تمام کلمات هر جمله محاسبه می شود. وزن هر جمله از مجوع وزن کلمات آن جمله تقسیم بر تعداد کلمات آن بدست می آید و در نهایت، بسته به حجم دلخواه خلاصه جملات با بیشترین وزن انتخاب می شوند. فرمول این روش به صورت زیر است:
$$ tf_{i,j} = \frac{ freq_ {i,j} }{ max_ {l} freq_ {l,j} } (1)$$
$$ isf_ {i} = \log \frac {N}{n_ {i}} (2)$$
در این رابطه $is_ {i}$ تعداد تکرار کلمه و $ isf_ {i} $ بیانگر عکس تعداد تکرار جمه از کلمه i ام است. در رابطه (2)، N تعداد کل جملات و $ n_ {i} $ تعداد جملاتی است که در آن کلمه i ام وجود دارد.
سپس وزن هر کلمه را از فرمول زیر محاسبه می کنیم.
$$ w_ {i,j} = tf_{i,j} \times isf_ {i}$$
در نهایت وزن جملات را از تقسیم مجموع وزن کلمات آن جمله بر تعداد کلمات آن بدست می آوریم.
### ۲.۴.۲ روش مبتنی بر گراف
در آینده تکمیل میگردد.
### ۲.۴.۳ روش های مبنی بر زنجیره لغوی
در آینده تکمیل میگردزنجیرههای لغوی، کلماتی هستند که از نظر معنایی با یکدیگر مشابهند. به عنوان نمونه، واژگانی نظیر کوشش، سعی و تلاش در یک زنجیره قرار میگیرند. روشهای خلاصهسازی مبتنی بر زنجیره لغوی، در سه مرحله عمل می کنند[15]:
۱. تولید زنجیرههای لغوی
۲. امتیاز دادن به زنجیرهها
۳. یافتن بهترین زنجیره برای ارزشدهی و استخراج جملات کلیدی
نیاز به توضیح بیشتر دارد.
### ۲.۴.۴روش های مبتنی بر یادگیری
در آینده تکمیل میگرداین روش نیاز به وجود یک مجموعه سند خبری و خلاصه آنها دارد. اگر ما چنین مجموعهای از دادهها را داشته باشیم میتوانیم به کمک راه حلهایی که برای طبقهبندی مطرح شدهاست، مساله خلاصهسازی را حل میکنیم. در حین یادگیری، دادهها به یک الگوریتم طبقهبندی داده میشوند. جملات به چند گروه جملات خلاصه و جملات غیر خلاصه با ویژگیهایی که دارند تقسیم بندی میشوند. برای یادگیری میتوان از روشهایی مانند Naive Bayes استفاده کرد[14, 23].
نیاز به توضیح بیشتر دارد.
### ۲.۴.۵. روش مبتنی بر ضریب خوشه بندی و ارزیابی ترایایی
در آینده تکمیل میگردد.
### ۲.۴.۶روش مبتنی بر تئوری فراکتال ها
در آینده تکمیل میگردد.
# ۳. روش پیشنهادی
در آینده تکمیل میگردد.
# ۴. ارزیابی
ارزیابی کارگزار خلاصهساز متن، یک فرایند پیچیده است. زمانی که ما از ارزیابی یک سیستم خلاصه ساز، صحبت میکنیم باید حداقل دو ویژگی را اندازه گیری کنیم[8]: نسبت فشردگی [^7] (چه میزان متن خلاصه شده، کوتاهتر از متن اصلی است؟)
$$ CR = \frac{lengthof Summary}{length of Full Text} $$
و نسبت نگهداری[^8](چه میزان از اطلاعات نگهداری شده است؟)
$$ RR = \frac{information in Summary}{information Full Text} $$
معمولا ارزیابیهای زیر برای یک سیستم خلاصهساز تعریف میشود:
## ۴.۱. ارزیابی ذاتی [^9]
تمرکز روش های ارزیابی ذاتی بر روی پیوستگی و اطلاعرسانی خلاصه ها است و تنها کیفیت خروجی بدون توجه به هدف نهایی مورد سنجش قرار می گیرد.
### ۴.۱.۱. پیوستگی خلاصه
گاهی اوقات، جملاتی که در خلاصههایی که به روش مستخرج تولید می شوند دچار بی ارتباطی معنایی در دنباله جملات هستند. یکی سنجهی پیوستگی خلاصه، درجه بندی جملهها بر حسب میزان پیوستگیشان است. سپس باید درجه جملات خلاصه با امتیازات خلاصه های مرجع، با امتیازا جملات منبع، با با امتیازات سایز سیستمهای خلاصه ساز، مقایسه شود.
### ۴.۱.۲ Summary Informativeness
در آینده تکمیل میگردد.
### ۴.۱.۳ فراخوانی و دقت
از جمله معیارهای استاندارد در بازیابی اطلاعات، فراخوانی و دقت هستند: فراخوانی برابر با نسبت تعداد جملاتی که توسط سیستم درست تشخیص داده شده بر تعداد جملاتی که توسط سیستم معیار درست تشخیص داده شده اند،
$$ Precision Rate = \frac{Number of Correctly Selected Sentences}{Totoal Number of Selected Sentences} $$
همچنین دقت برابر است با نسبت تعداد جملاتی که توسط سیستم درست تشخیص داده شده اند بر تعداد کل جملاتی که توسط سیستم برای خلاصه ایجاد شده اند،
$$ Recall Rate = \frac{Number of Correctly Selected Sentences}{Totoal Number of Correct Sentences} $$
از ترکیب این دو معیار، معیاری تحت عنوان F-Measure ایجاد میشود.
## ۴.۲. ارزیابی بیرونی [^10]
مرکز اصلی در ارزیابی بیرونی، به روی کاربر است. در این روش میزان موثر بودن و قابلیت پذیرش خلاصههای تولید شده، با برخی از روش ها مثل ارزیابی رابطهای یا خوانایی متن خلاصه، سنجیده می شود.
چندین سناریوی بازی به روش های سطحی برای ارزیابی خلاصه، پیشنهاد داده شده که در زیر تعدادی از آن ها را معرفی می کنیم:
### ۴.۲.۱. بازی شانون
در آینده تکمیل میگردد.
### ۴.۲.۲. بازی سوال
در آینده تکمیل میگردد.
### ۴.۲.۳. بازی دستهبندی
در آینده تکمیل میگردد.
### ۴.۲.۴. کلمات کلیدی انجمنی
در آینده تکمیل میگردد.
# ۵. نتیجهگیری
در آینده تکمیل میگردد.
# ۶. مراجع
1. Afantenos, S., Karkaletsis, V., & Stamatopoulos, P. (2005). Summarization from medical documents: a survey. Intelligence in Medicine. Elsevier
2. Dalli, A., Xia, Y., & Wilks, Y. (2004). Fasil email summarisation system. Proceedings of the 20th International Conference. ACM
3. Bogdanovski, A. (2006). An Automatic Text Summarizer.
4. Hovy, E. H., Lin C.(1998), Automating Text Summarization in SUMMARIST, In I. Mani and M. Maybury (eds), Advances in Automated Text Summarization, MIT Press
5. Shamsfard, M., Akhavan, T., & Jourabchi, M. E. (2009). Parsumist: A Persian text summarizer. 2009 International Conference on Natural Language Processing and Knowledge Engineering, 1–7.
6. Moro, R. (2011) Personalized Text Summarization. Personalized Web - Science, Technologies and Engineering.
7. Smedt, K. De, & Liseth, A. (2004). How short is good? An evaluation of automatic summarization.
8. Hassel, M. (2004). Evaluation of automatic text summarization. Licentiate Thesis, Stockholm, Sweden.
9. Shamsfard, M. (2011). Challenges and open problems in Persian text processing. 5th Language & Technology Conference (LTC) 65–69.
10. Lee, S., & Kim, H.-J. (2008). News Keyword Extraction for Topic Tracking. 2008 Fourth International Conference on Networked Computing and Advanced Information Management
11. محسن مشکی، مرتضی آنالویی. خلاصهسازی چندسندی متون فارسی با استفاده از یک روش مبتی بر خوشه بندی. اولین کنفرانس مهندسی نرمافزار ایران. آموزشکده فنی و حرفهای سما، رودهن
12. دستور خط زبان فارسی، مصوب فرهنگستان زبان و ادب فارسی (۱۳۸۹) . نشر آثار
13. Al-Hashemi, R. (2010). Text Summarization Extraction System (TSES) Using Extracted Keywords. Int. Arab J. E-Technol.164–168.
14. Chuang, W., & Yang, J. (2000). Extracting sentence segments for text summarization: a machine learning approach. Proceedings of the 23rd Annual International ACM, 152–159.
15. Barzilay, R., Elhadad, M. (1997). Using lexical chains for text summarization. Intelligent Scalable Text Summarization.
16. Das, D. (2007). A Survey on Automatic Text Summarization Single-Document Summarization, 1–31.
17. Gholamrezazadeh, S. (2009). A comprehensive survey on text summarization systems.
18. Elena Lloret, Teresa Rom, a-Ferri, Manuel Palomar. (2011). COMPENDIUM: A Text Summarization System for Generating Abstracts of Research Papers. Lecture notes in computer science. Springer
19. Jing, H. (2000). Sentence reduction for automatic text summarization. Proceedings of the Sixth Conference on Applied Natural…, 310–315.
20. Li, Y., & Cheng, K. (2011). Single document Summarization based on Clustering Coefficient and Transitivity Analysis.
21. Mani, I. (2001). Summarization evaluation: An overview.
22. Nenkova, A. (2011). Automatic Summarization. In Foundations and Trends® in Information Retrieval (Vol. 5, pp. 103–233).
23. Neto, J., Freitas, A., & Kaestner, C. (2002). Automatic text summarization using a machine learning approach. Advances in Artificial Intelligence, (i).
24. Sjöbergh, J., & Araki, K. (2006). Extraction based summarization using a shortest path algorithm. Proceedings of 12th Annual Language Processing ….
25. Steinberger, J. (2004). Using Latent Semantic Analysis in Text Summarization.
26. Thakkar, K., & Shrawankar, U. (2011). Test Model for Text Categorization and Text Summarization. International Journal on …,1539–1545.
27. Tofighy, M., Kashefi, O., & Zamanifar, A. (2011). Persian Text Summarization Using Fractal Theory. Springer, 651–662.
28. Jing, H., Barzilay, R., McKeown, K., & Elhadad, M. (1998). Summarization evaluation methods: Experiments and analysis. … on Intelligent Summarization, 51–59.
29. Wong, L. (n.d.). ANSES: Automatic News Summarization and Extraction System.
** توضیح: ** فعلا از منبع ۱۳ به بعد استفاده نشده است.## ضمایم
۱. [لیست کلمات ایست فارسی(مناسب با متون خبری)](http://blahblahblah.moujez.ir)
[^1]: Agent
[^2]: Precision
[^3]: Recall
[^4]: Extract
[^5]: Abstract
[^6]: Stop Words
[^7]: Compression Ratio
[^8]: Retension Ratio
[^9]: Intrinsic Evaluation
[^10]: Extrinsic Evaluation