کاربرد تکنیکهای NLP در پردازش متن
کاربرد تکنیکهای NLP در پردازش متن (بخش هفتم)
کاربرد تکنیکهای پردازش زبان طبیعی در پردازش متن (بخش ششم)
یکی از حوزههایی که در سالهای اخیر توجه پژوهشگران زیادی را به خود جلب کرده است غلطیابی و نرمالسازی متن است. نرمالسازی به معنای تبدیل متن به شکل استاندار و نوشتاری زبان موردنظر است (jurafsky and martin, 2009). در بخش قبل در ابتدا به تعریف مبانی نظری موضوع موردنظر پرداخته شد، حال در این بخش از آموزش nlp راجع به الگوریتمهای دیگری در زمینه غلطیابی و نرمالسازی صحبت خواهیم کرد. سپس پژوهشهایی که تاکنون در زبان فارسی انجام شده است نیز مورد بحث قرار می گیرد.
آموزش natural language processing به زبان فارسي (بخش هفتم)
مشاهده ی تمام آموزش های NLP
یکی از حوزههایی که در سالهای اخیر توجه پژوهشگران زیادی را به خود جلب کرده است غلطیابی و نرمالسازی متن است. نرمالسازی به معنای تبدیل متن به شکل استاندار و نوشتاری زبان موردنظر است (jurafsky and martin, 2009). در بخش قبل در ابتدا به تعریف مبانی نظری موضوع موردنظر پرداخته شد، حال در این بخش از آموزش nlp راجع به الگوریتمهای دیگری در زمینه غلطیابی و نرمالسازی صحبت خواهیم کرد. سپس پژوهشهایی که تاکنون در زبان فارسی انجام شده است نیز مورد بحث قرار می گیرد.
الف: روش های تصحیح و تشخیص غلطهای املایی
2. روش کلید شباهت (Similarity key technique): روش کلید شباهت برای هر واژه و ناواژه کلید تعیین میشوند به این ترتیب واژههایی که کلید آنها بیشترین شباهت را با کلید ناواژهها دارند به عنوان پیشنهاد ارائه میشوند[10]. این روش در تسریع پردازش تاثیر بسزایی دارد که خود یک مزیت محسوب میشود.
3. روش مبتنیبر قاعده: روش مبتنیبر قاعده شامل الگوریتمهایی است که بر اساس خطاهای رایج املایی طراحی شده و به شکل قاعده درآمدهاند. این الگوریتمها واژههای نادرست را به واژههای صحیح تبدیل میکنند[12].
4. روشهای احتمالی: روشهای احتمالی مبتنیبر ویژگیهای آماری زبان میباشند. این روش به دو رویکرد احتمال جابهجایی و احتمال اشتباه تقسیم میشود. احتمال جابهجایی به روش اِن-گرم شباهت دارد. این روش احتمال رخداد هر حرف پساز حرف دیگر را تخمین میزند. رویکرد دیگر احتمال اشتباه میباشد که احتمال رخداد یک حرف بجای حرف دیگر را محاسبه میکند[12][11].
5. روش مبتنیبر اِن-گرم: اِن-گرم در غلط یابی به دو صورت با استفاده از واژهنامه و بدون استفاده از آن بکار میرود. در صورت عدم وجود واژهنامه، میتوان با استفاده از اِن-گرم آن قسمت از واژه که در آن خطای املایی رخ داده را پیدا کرد. در صورت امکان تبدیل واژهی نادرست به اِن-گرمهای صحیح میتوان آن را تغییر داد و به عنوان واژهی صحیح معرفی کرد. در صورت وجود واژهنامه اِن-گرمها برای تعریف فاصلهی میان واژهها بکار خواهند رفت و واژهها دائما با واژهنامه تطبیق داده خواهند شد. بدین ترتیب که اِن-گرمهای واژهی نادرست با اِن-گرمهای واژهی درون واژهنامه با یکدیگر مقایسه میشوند[12][8].
کاربرد تکنیکهای پردازش زبان طبیعی در پردازش متن (بخش ششم)
ب: پژوهشهای انجام شده در زبان فارسی
یکی از پژوهشهای انجام شده در ایران در غلطیابهای فارسی توسط موسوی [22] انجام شده است. در این پژوهش سعی بر استفاده از پیکره تک زبانه بجای دیکشنری های تک زبانه در غلط یاب فارسی شده است. این سیستم غلط یاب دارای سه قسمت تشخیص اشتباهات، ارائه پیشنهاد ورتبه بندی پیشنهادات است. در قسمت تشخیص غلطهای املایی از مدل جستجو در لغتنامه استفاده شده، اما در این تحقیق به جای واژه نامه از پیکره و به جای توکن از تایپها برای در دسترس نبودن ریشه یاب دقیق در فارسی استفاده شدهاست. در قسمت ارائه پیشنهاد از روش کمترین میزان فاصله ویرایشی و همچنین در ارائه پیشنهاد از روش فراوانی نسبی با توجه به فرکانس واژهها در پیکره استفاده شده است. این سیستم دارای 96 درصد دقت برای تشخیص اشتباه و همچنین دقت بالای 95 درصد برای رتبه بندی پیشنهاد دارد.
یکی دیگر از کارها در حوضه غلطیابهای فارسی توسط فایلی و همکاران[23] تحت عنوان غلطیاب املایی وفا منتشر شدهاست. در این پژوهش آنها از مدل ترکیبی(hybrid) که شامل مدل قانون محور (rule base) و همچنین مدل آماری (statistical) است استفاده کردهاند. ارزیابی آنها با استفاده از روش ارزیابی اف(F-measure) برای تشخیص غلطهای غیر کلمهای(non-word) برابر با 0.908، برای غلطهای دستوری برابر 0.452 و همچنین برای غلطهای املایی کلمهای(real word) برابر با 0.187 شد.
یکی از جدیدترین کارها در این حوضه غلطیابهای املایی فارسی انجام شده توسط دستغیب و همکاران [24] منتشر شدهاست. خروجی این پژوهش یک پیکره موازی، یک مدل ان-گرم برای زبان فارسی و یک غلطیاب با عنوان پرسپل بوده است. روش ارائه شده در این سیستم غلطیاب روش مبتنی بر معنی می باشد. ارزیابی این تحقیق با روش نمره اف نشان میدهد که پرسپل برای غلطهای غیرکلمهای (non-word) برابر با 0.982 و همچنین برای برای ارائه پیشنهاد برابر با 0.883 بوده است که با دقت بیشتری نسبت به دیگر غلطیابها نظیر ویراستیار و یا غلطیاب وفا داشته است. همچنین در تشخیص غلطهای املایی کلمهای(real word) این سیستم با f-measure برابر با 0.726 بوده است که در مقایسه با غلطیاب وفا دقت قابل توجهتری داشته است.
منابع:
[1] Leacock, C., Chodorow, M. & Gamon, M. (2010). Automated grammatical error detection for language learners. Synthesis Lectures on Human Language Technologies, 3(1), 1-134.
[2] Peterson, J. L. (1980). Computer programs for detecting and correcting spelling errors. Communications of the ACM, 23, 676-687.
[3] Pollock, J. J. & Zamora, A. (1984). Automatic spelling correction in scientific and scholarly text. Communications of the ACM, 27, 358-368.
[4] Atwell, E. & Elliott, S. (Eds.). (1987). Proceedings from The Computational Analysis of English. London: England.
[5] Mangu, L. & Brill, E. (Eds.). (1997). Proceedings from Proceeding of the 14thInternational Conference on Machine Learning. San Francisco: USA.
[6] [6] (Kukich 1992) Kukich, K. Techniques for automatically correcting words in text, ACM Computing Surveys. Vol.24, No. 4 (Dec. 1992), pp. 377-439, 1992.
[7] Ahmed, F., Luca, W. & Nürnberger, A. (Eds.). (2007). Proceedings from 8th International Conference on Intelligent Text Processing and Computational Linguistics. Mexico City: Mexico.
[8] Wasala, A., Weerasinghe, R. & Gamage, K. (Eds.). (2006). Proceedings from the COLING/ACL Main Conference Poster Sessions. Sydney: Australia.
[9] Damerau, F. (1964). A technique for computer detection and correction of spelling errors. Comm. ACM, 7(3), 171-176.
[10] Wasala, A., Weerasinghe, R., Pushpananda, R., Liyanage, C. & Jayalatharachchi, E. (2010). A Data-Driven Approach to Checking and Correcting Spelling Errors in Sinhala. The International Journal on Advances in ICT for Emerging Regions, 3, 11-24.
[11] Bhirud, N. S., Bhavsar, R. & Pawar, B. (2017). Grammar chekcers for natural languages: A review. International Journal on Natural Language Computing (IJNLC), 6(4), 1-13.
[12] Zhao, H., Cai, D., Xin, Y., Wang, Y. & Jia, Z. (2017). A hybrid model for chinese spelling check. ACM Transactions on Asian and Low-Resource Language Information Processing (TALLIP), 16(3), 34-56.
[13] Arif Billah Al-Mahmud Abdullah, Ashfaq Rahman, “A Generic Spell Checker Engine for South Asian Languages” , IASTED 2003, November 3-5 2003
[14] K. Shaalan, A. Allam, A. Gomah. Towards Automatic Spell Checking for Arabic, In Proceedings of the 4th Conference on Language Engineering, Egyptian Society of Language Engineering (ELSE), PP. 240-247, Egypt, Oct. 21-22, 2003.
[15] Bick, Eckhard. 2006. «A Constraint Grammar Based Spellchecker for Danish with a Special Focus on Dyslexics». In: Suominen, Mickael et al. (ed.) A Man of Measure: Festschrift in Honour of Fred Karlsson on his 60th Birthday. Special Supplement to SKY Jounal of Linguistics, Vol. 19 (ISSN 1796-279X), pp. 387-396. Turku: The Linguistic Association of Finland
[16] Brill, E. and R. Moore. 2000. An improved error model for noisy channel spelling correction. In Proceedings of the ACL 2000, pages 286-293.
[17] Ayegba, S. F., Ugbedeojo, M., Jessica Chinezie, B. & Abu, O. (2017). Igala language spell checker. Current Journal of Applied Science and Technology, 23(2), 1-9.
[18] Mandal, P. & Hossain, M. M. (Eds.). (2017). Proceedings from 2017 IEEE International Conference on Imaging, Vision & Pattern Recognition (icIVPR). Dhaka: Bangladesh.
[19] Alva, C. & Marcos, A. (Eds.). (2017). Proceedings from the First Workshop on Subword and Character Level Models in NLP. Copenhagen: Denmark.
[20] Sorokin, A. (Eds.). (2017). Proceedings from the 6th Workshop on Balto-Slavic Natural Language Processing. Valencia: Spain.
[21]Sarma, B., Goswami, D. & Goswami, G. (2017). Assamese spell checker design and implementation. International Journal of Modern Trends in Engineering and Research, 3(2), 44-47
در بخش های بعدی نمونه هایی از کد و نحوه ارزیابی سیستم های غلطیابی و نرمال سازی متن مورد بحث و بررسی قرار خواهد گرفت.