هدف اصلی این
پروژه که با زبان برنامه نویسی سی شارپ تهیه شده است این است که یک دیتاست بزرگ
حاوی جملات درست و غلط هم از لحاظ معنایی و هم از لحاظ املایی را دریافت میکند،
کلیه کلمات اضافه، کلمات غلط و کلمات درست را شناسایی کرده و بررسی می کند که کدام
کلمات غلط املایی و معنایی دارند و معادل درست آنها را پیش بینی کرده و پیشنهاد
میکند. این عملیات با استفاده از عملیات متن کاوی صورت می گیرد.
از اوایل سال
1960 به بعد، محققان روشهای مختلفی را برای تشخیص کلمات اشتباه در متون الکترونیکی
در حال اجرا طراحی کرده اند. یک Spell
Checker یک برنامه کاربردی، یک تابع یا یک نرم افزاری است که صحت املای یک
کلمه داده شده را بر اساس مجموعه ای زبان ها بدست می آورد. Spell Checker نیز میتواند به عنوان یک برنامه مستقل یا بخشی از یک برنامه
بزرگتر یا بعنوان یک پردازشگر متن، موتور جستجوگر یا یک گیرنده ایمیل باشد.
مراحل Spell Checker به شرح زیر است:
-
پیمایش بلاک متون
و استخراج کلمات خاص
-
مقایسه هر کلمه
استخراج شده با کلمات شناخته شده که دریک فایل دیکشنری از کلماتی که به درستی spell شده اند.
-
برای بدست آوردن شکلهای
دیگری از کلمات مورد استفاده در حالات مختلف دستوری الگوریتم های مورفولوژیکی نیز ممکن
است اعمال شود.
-
مشخص کردن کلمات
نادرست و ارائه کلمات درست به کاربر
-
باید در نظر داشت
که برخی از Spell Checker در
صورتی که در تنظیمات گزینه مورد نظر را فعال کرد، به صورت خودکار غلط های املایی
را شناسایی و تصحیح می کنند.
در این تمرین، یک
Spell Checker تولید می گردد
که دارای سه ماژول اصلی است.
- مدل سازی زبان
در این ماژول،
باید یک مدل زبانی bigram را
برای برآورد احتمال ترتیب کلماتی که در
فایل متنی English_corpus.txt
وجود دارد تولید شود.(فایل English_corpus.txt به
پیوست تمرین است). در این ماژول سه فاز زیر وجود دارد:
-
یافتن مترادفات
هر کلمه ای که در فایل English_corpus.txt
وجود دارد.(جهت یافتن مترادف های هر کلمه شما باید از WordNet استفاده کنید).
-
تبدیل کلیه کلمات
موجود در English_corpus.txt به
stem(جهت یافتن یک استم شما باید از WordNet استفاده کنید)
-
برای هر جفت
کلمات A , B، می بایست احتمال مشابهت A , B را
به صورت P(A|B) محاسبه نمود.
شما باید تعداد تکرار کلمه را در corpus
محاسبه کنید. وقتی شما بدنبال یافتن تعداد تکرار یک کلمه مثل A هستید، نباید تفاوت بین A و
مترادف هایش را نیز در نظر بگیرید.
- شناسایی
غلطهای املایی
در این مرحله می
بایست لغاتی را که در دیکشنری وجود ندارد شناسایی نموده و نمایش داد. لازم به ذکر
است که برخی از لغاط در این قسمت که به صورت اسم ارائه شده اند همانند نرم افزار
آفیس وورد به عنوان لغات اشتباه شناسایی می شوند.
- تصحیح غلط
های املایی
این ماژول دارای
دو مرحله است:
-
تولید کاندیدای
درست میتنی بر 4 تغییرات اساسی : اضافه، حذف، تعویض و یا جابجایی با یک ویرایش از
راه دور(توجه شود که نامزدهای درست کلماتی واقعی هستند که شبیه به کلمه غلط
هستند).
کاندیداهایی را انتخاب کنید که دارای احتمال شباهت
بیشتری دارند. در این قسمت نیاز به فایل دیکشنری است. در روش پیشنهادی ما
کاندیداهایی که دارای میزان شباهت بالای 80% است انتخاب می گردد.