خطایابی املایی

وابستگی‌ها

SCICT.NLP.TextProofing.SpellChecker.dll

مثال

برای استفاده از خطا‌یاب املایی می‌توان از کلاس PersianSpellChecker استفاده کرد. این کلاس نیاز به مقدار دهی اولیه از طریق شیء از کلاس SpellCheckerConfig دارد که در آن مسیر دو لغت‌نامه‌ی کلمات و ریشه‌ها (که می‌توانید ساختار آن را از روی فایل‌های همراه ویراستیار مشاهده کنید) و نیز مقادیر فاصله ویرایشی و تعداد پیشنهادها برای خطای املایی مشخص می‌شود. عمل خطا یابی توسط تابع CheckSpelling انجام می‌شود که کلمه‌ی مورد خطایابی را به همراه کلمات قبل و بعد آن به عنوان پارامتر دریافت می‌کند. کد زیر ساده‌ترین شکل استفاده از کارکرد خطایابی املایی را نشان می‌دهد:

Spell Checkingecking
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
SpellCheckerConfig config = new SpellCheckerConfig{DicPath = @"dic.dat", EditDistance = 2, StemPath = @"stem.dat", SuggestionCount = 7};
PersianSpellChecker spellChecker = new PersianSpellChecker(config);

// او علی است
string[] sug0;
SuggestionType sugType0;
SpaceCorrectionState scs0;
bool val0 = spellChecker.CheckSpelling("علی", "او", "است", 7, out sug0, out sugType0, out scs0);
/*
 * val0 = true
 * sug0 = {}
 */

// او عیل است
string[] sug1;
SuggestionType sugType1;
SpaceCorrectionState scs1;
bool val1 = spellChecker.CheckSpelling("عیل", "او", "است", 7, out sug1, out sugType1, out scs1);
/*
 * val1 = false
 * sug1 = {"عسل", "عقل", "علی", "عیب", "عید", "ایل", "عین"}
 */