Skip to content

مصحح غلطهای تایپی و املایی برای زبان فارسی

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

می­گردد تا یک شاخص گذاری بر روی کلمات انجام شده و روند جستجو با سرعت بیشتری انجام پذیرد.همچنین ورودی این شبکه به صورت فازی می باشد.

بررسی چند لغت در نرم افزار ورد

  • مثال ۱

برای نمونه، در صورتی که کاربر بخواهد واژة “golf” را تایپ کند، اما به اشتباه به­جای حرف “g”، حرف کناری آن “h” و بنابراین “holf” را تایپ کند، نرم­افزار ورد واژگان زیر را به­ترتیب اولویت پیشنهاد می­دهد:

“half”: در اینجا “a” به­جای “o” آمده در صورتی که احتمال اشتباه تایپی این دو به دلیل دوری از هم بسیار ناچیز است.

“hoof”: در اینجا “o” به­جای “l” آمده در صورتی که این دو حرف در دو سطر جدا قراردارند و احتمال اشتباه تایپی این دو به دلیل دوری از هم بسیار ناچیز است.

“hold”: در اینجا “d” به­جای “f” آمده و این دو حرف بر کلیدهای مجاور قرار دارند و این انتخاب معقول­تر به­نظر می­رسد.

“hole”: در این مورد هم “e” به­جای “f” آمده، در صورتی که این دو حرف در دو سطر جدا قراردارند و احتمال اشتباه تایپی این دو ناچیز است.

“holy” در اینجا “y” به­جای “f” آمده در صورتی که این دو حرف در دو سطر جدا قراردارند و احتمال اشتباه تایپی این دو به دلیل دوری از هم بسیار ناچیز است.

همان­گونه که مشاهده می­شود، در این نرم­افزار واژة “golf” اصلا پیشنهاد نشده و بهترین پیشنهاد در اولویت سوم قرار دارد.

  • مثال ۲

در صورتی که کاربر بخواهد واژة “sear” را تایپ کند، اما به اشتباه به­جای حرف “s”، حرف کناری آن یعنی “a” و بنابراین “aear” را تایپ کند، نرم­افزار ورد واژگان زیر را به­ترتیب اولویت پیشنهاد می­دهد:

“area”: در اینجا نرم­افزار، حرف “r” دو خانه به­عقب برده و فرض کرده که کاربر جای آن را دو خانه جا­به­جا تایپ کرده که البته این اشتباه چندان محتمل نیست.

“air”: در اینجا فرض شده که کاربر به­جای حرف “i” دو حرف “ea” را به­اشتباه تایپ کرده و البته این اشتباه هم چندان منطقی نیست.

“afar”: در اینجا “f” به­جای “e” آمده در صورتی که این دو حرف در دو سطر جدا قراردارند و احتمال اشتباه تایپی این دو به دلیل دوری از هم بسیار ناچیز است.

“ajar”: در اینجا هم مانند مورد قبلی حرف “j” به­جای “e” آمده در صورتی که این دو حرف در دو سطر جدا قراردارند و احتمال اشتباه تایپی این دو به دلیل دوری از هم بسیار ناچیز است.

“agar” باز هم در اینجا حرف “g” به­جای “e” آمده در صورتی که این دو حرف در دو سطر جدا قراردارند و احتمال اشتباه تایپی این دو به دلیل دوری از هم بسیار ناچیز است.

همان­گونه که مشاهده می­شود، در این نرم­افزار واژة “sear” که منطقی­ترین گزینه است، اصلا پیشنهاد نشده و بهترین پیشنهاد در اولویت سوم قرار دارد.

  • مثال ۳

همچنین اگر کاربر بخواهد واژة “that” را تایپ کند، اما به اشتباه به­جای حرف “t” دوم، حرف کناری آن یعنی “y” و بنابراین “thay” را تایپ کند، نرم­افزار ورد واژگان زیر را به­ترتیب اولویت پیشنهاد می­دهد:

“they”: در اینجا “e” به­جای “a” آمده در صورتی که این دو حرف در دو سطر جدا قراردارند و احتمال اشتباه تایپی این دو ناچیز است.

“the”: در این مورد فرض شده که کاربر به­جای حرف “e”، به­اشتباه دو حرف “ay” را تایپ کرده که امری بسیار بعید است.

“tray”: در اینجا فرض شده که به­جای حرف “r”، حرف “h” تایپ شده در صورتی که این دو حرف در دو سطر جدا قراردارند و احتمال اشتباه تایپی این دواندک است.

“that”: در اینجا “t” به­جای “y” آمده و این دو حرف بر کلیدهای مجاور قرار دارند و این انتخاب معقول­ترین انتخاب به­نظر می­رسد.

“thaw”: در این مورد هم “w” به­جای “y” آمده، در صورتی که این دو حرف در همسایگی دوری نسبت به­هم قراردارند و احتمال اشتباه تایپی این دو کم است.

  • مثال ۴

همچنین اگر کاربر بخواهد واژة “grot” را تایپ کند، اما به اشتباه به­جای حرف “t” ، حرف کناری آن یعنی “r” و بنابراین “gror” را تایپ کند، نرم­افزار ورد واژگان زیر را به­ترتیب اولویت پیشنهاد می­دهد:

“grog”: “: در اینجا “g” به­جای “r” آمده در صورتی که این دو حرف در دو سطر جدا قراردارند و احتمال اشتباه تایپی این دو ناچیز است.

“grow”: در این مورد فرض شده که کاربر به­جای حرف “w”، به­اشتباه دو حرف “r” را تایپ کرده این دو حرف بر کلیدهای مجاور قرار دارند و این انتخاب معقول ­می باشد.

“gore”: در اینجا فرض شده که به­جای حرف “e”، حرف “r” تایپ کرده این دو حرف بر کلیدهای مجاور قرار دارند و این انتخاب معقول ­می باشد.

“gory”: در اینجا “y” به­جای “r” آمده و  جای دو حرف “o” و ” “r”عوض شده که گزینه­ها غیر منطقی به­نظر می­رسند.

سایر گزینه ها غیر منطقی بوده و همان­گونه که مشاهده می­شود، در این نرم­افزار واژة “grot” که منطقی­ترین گزینه است، اصلا پیشنهاد نشده و بهترین پیشنهاد در اولویت سوم قرار دارد.

مقایسه نرم افزار ورد و نرم افزار طراحی شده

برای مقایسهنرم افزار طراحی شده و نرم افزار ورد برای ۱۰۰ لغت (طراحی شده که عموما خطای تایپی می باشند) مورد ازیابی قرار گرفته است که نتایج زیر حاصل شده است.

  1. خطای نرم افزار طراحی شده با یک لیست پیشنهادی برابر ۳% و نرم افزار ورد برابر ۶۰%
  2. خطای نرم افزار طراحی شده با ۳ لغت پیشنهادی برابر صفر و نرم افزار ورد برابر ۴۰%
  3. خطای نرم افزار ورد حتی با ۱۰ لغت پیشنهادی نیز به صفر نمی رسد و برابر ۲۰% می باشد.
  4. نرم افزار ورد در ۱۵% مواقع نمی توان حتی کلمه صحیح را پوشش دهد.

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