درباره ویراستیار

screen

«ویراستیار ١» یک افزونه‌ی رایگان و متن‌باز برای مایکروسافت وُرد است که جهت تسهیل در تصحیح و ویرایش متون فارسی طراحی شده است. از قابلیت‌های ویراستیار ١ می‌توان به اصلاح خطاهای املایی و علائم نگارشی، استانداردسازی متون و نویسه‌های فارسی، تبدیل پینگلیش به فارسی، و مبدل تقویم و اعداد اشاره کرد. 

برای آشنایی بهتر با قابلیت‌های ویراستیار، در ادامه به مقایسه‌ی مبتنی بر قابلیت ویراستیار با چند محصول مشابه می‌پردازیم. برای مشاهده‌ی جزئیاتِ مقایسه‌ها و ارزیابی‌‌های مبتنی بر آزمون‌های کلان و خُرد، که بسیار فنی هستند و جایگاه آن‌ها مباحث و مقالات دانشگاهی است، می‌توانید به مقالات علمی و کتاب منتشر شده پیرامون خطایابی املایی در زبان فارسی و خطایاب ویراستیار مراجعه کنید.

در ابتدا لازم است مختصری به فرایند خطایابی املایی بپردازیم. عبارت «خطایابی املایی» به یافتن خطای املایی و ارائه‌ی پیشنهاد مناسب برای جایگزینی با واژه‌ی خطا اطلاق می‌شود. خطایابی املایی به طور عام در سه مرحله صورت می‌پذیرد:

  • یافتن خطا. رایج‌ترین روش یافتن خطا جستجوی واژه‌های متن در یک واژه‌نامه از واژه‌های صحیح زبان است. تنها نکته‌ای که در این مرحله باید مورد توجه قرار گیرد واژه‌های تصریف شده (یا در مواردی واژه‌های اشتقاقی) هستند که ممکن است در واژه‌نامه وجود نداشته باشند از این رو تصریف‌های صحیح واژه‌ها باید به واژه‌نامه افزوده شود یا هنگام جستجو در واژه‌نامه، واژه‌های تصریف شده ریشه‌یابی شوند.
  • تولید پیشنهادات جایگزینی. در این مرحله بر مبنای واژه‌ی دارای خطای املایی، لیستی از واژه‌های مشابه تولید می‌شوند که جهت صحت‌سنجی، لیست جاری در واژه‌نامه جستجو شده تا واژه‌های صحیح زبان به عنوان پیشنهادات جایگزینی استخراج شوند.
  • مرتب‌سازی پیشنهادات. در این مرحله پیشنهادات جایگزینی بر حسب میزان شباهت با واژه‌ی دارای خطای املایی، میزان کاربرد، بافت متن، و مواردی از این دست مرتب می‌شوند تا پیشنهادی که احتمال جایگزینی آن با واژه‌ی دارای خطای املایی است نزدیک‌تر به سرِ لیست قرار گیرد.

این مراحل به طور کلی فرازبانی هستند و با در اختیار داشتن الفبای زبان مقصد می‌توان یک خطایاب ساده و عام را در زمانی بسیار کوتاه برای هر زبانی تولید نمود. نکاتی که به طور کلی خطایابی را کاراتر و پیچیده‌تر می‌کنند، در نظر گرفتن ویژگی‌های خاص زبان مقصد مانند قواعد تصریف و اشتقاق، و ارائه‌ی یک روش مرتب‌سازی پیشنهادات بر اساس ویژگی‌های زبان مقصد است. از این رو، هیچ خطایاب با کاربرد عام، نمی‌تواند بهترین نتایج را برای زبانی خاص ارائه کند. البته خطایاب‌ها می‌توانند روش‌های متفاوتی را برای هر یک از مراحل سه‌گانه‌ی فوق در نظر بگیرند که موجب بهبود کارایی خطایاب‌هایِ با کاربرد‌های خاص خواهد شد. نکته‌ی بسیار مهمی که در مورد هر خطایاب املایی از جمله ویراستیار باید مورد توجه قرار گیرد این است که کارایی این خطایاب‌ها به طور عمده در حوزه‌ی واژه‌نامه‌ی آن‌ها است؛ تشخیص و تصحیح خطا، و ارائه‌ی پیشنهادات جایگزینی تنها در دایره‌ی واژگان موجود در واژه‌نامه‌ی آن‌ها صورت می‌پذیرد. همچنین اگر واژه‌نامه‌ی این خطایاب‌ها به هر دلیل شامل واژه‌ای نادرست باشد، خطایاب آن واژه را یک واژه‌ی صحیح زبان در نظر می‌گیرد. برای کسب اطلاعات بیشتر در مورد ساز و کار خطایاب ویراستیار می‌توانید به کتاب «خطایابی املایی خودکار در زبان فارسی» با اطلاعات کتاب‌شناسی زیر مراجعه کنید:

Omid Kashefi, Mitra Nasri, Kamiar Kanani, Sina Iravanian, Mehrdad Senobari, Towards Automatic Persian Spell Checker, SCICT: Tehran, Iran, 2010, ISBN: 978-964-884-634-8.

سوال دیگری که ممکن است به ذهن خطور کند این است که چرا ویراستیار در حال حاضر تنها برای سیستم‌عامل ویندوز و مایکروسافت وُرد طراحی شده است. دلیل این امر نسبت بسیار بیشترِ کاربران مایکروسافت وُرد در مقایسه با دیگر ویرایشگران متن مانند OOo Writer یا توزیع‌های مختلف TeX در ایران است. ویرایشگران متنِ مبتنی بر TeX فاقد یک محیط خاص برای ویرایش هستند از این رو می‌توان متون مورد استفاده در آن‌ها را با استفاده از وُرد خطایابی نمود و یا به با توجه به پیاده‌سازی رابط‌های سازگار با ISpell در ویراستیار، از ویرایشگرهایی همچونNotepad++برای خطایابی متون ساخت‌یافته برای TeX استفاده نمود. همچنین می‌توان یک نسخه از ویراستیار را با سیستم‌عامل‌های Unix-like نیز مطابق ساخت تا کاربران ویرایشگر OOo نیز بتوانند به دلیل پیاده‌سازی رابط‌های سازگار با ISpell به راحتی از ویراستیار استفاده نمایند. لازم به ذکر است که ویراستیار به زودی از Enchant نیز پشتیبانی خواهد کرد.

در این گزارش به مقایسه‌ی مبتنی بر قابلیتِ ویراستیار با ۱) مجموعه‌ی زبانی مایکروسافت یاMicrosoft Language Interface Pack (LIP)که پشتیبانی از خطایابی فارسی را به خطایاب مایکروسافت وُرد اضافه می‌کود، و ۲)Aspell و Hunspellکه خطایاب‌هایی بر پایه‌ی ISpell و MySpell هستند و به طور عمده در نرم‌افزارهای متن‌باز و نرم‌افزارهایی همچون OOo Writer برای سیستم عامل‌های Unix-like به کار می‌روند، می‌پردازیم. البته محصولات قدرتمند و مشابه دیگری همچون خطایاب املایی دانشگاه تهران که با حمایت مرکز تحقیقات مخابرات تولید شده و خطایاب املایی ویرا از بنیاد روباتیک سپنتا نیز موجود هستند اما به دلیل پرهیز از به وجود آمدن فضای رقابتیِ منفی، از مقایسه‌ی ویراستیار با این محصولات حذر می‌کنیم. لازم به ذکر است که این محصولات نیز دارای قابلیت‌های خوبی هستند. در ادامه توضیحاتی پیرامون محصولات مشابه فوق و بررسی قابلیت‌های آن‌ها خواهیم پرداخت.

  • معرفی محصولات
    • ویراستیار. خطایاب املایی زبان فارسی که با حمایت شورای عالی اطلاع‌رسانی طراحی و پیاده‌سازی شده است. این خطایاب قواعد تصریف فارسی را به طور کامل پوشش می‌دهد. هر واژه در زبان فارسی با در نظر گرفتن نقش واژه (ادات سخن) می‌تواند تا بیش از ۲٬۸۰۰ تصریف مختلف داشته باشد. قواعد تصریف زبان فارسی از قواعد ریخت‌آواشناسی نیز متأثر می‌شوند. واژه‌نامه‌ی ویراستیار شامل ۳۶٬۰۰۰ واژه (ریشه) و حدود ۵۰۰ بن فعل است که می‌توانند بیش از ۷۰٬۰۰۰٬۰۰۰ واژه‌ی تصریف شده و ۴۵٬۰۰۰ فعل را پوشش دهند. واژه‌نامه‌ی ویراستیار، خصوصاً در زمینه‌ی واژه‌های تخصصی، اسامی خاص، و واژه‌های مرکب نیازمند تکمیل است.
    • مجموعه‌ی زبانی مایکروسافت. یک بسته‌ی نرم‌افزاری است که پس از نصب امکان خطایابی زبان فارسی را به خطایاب پیش‌فرض مایکروسافت وُرد اضافه می‌کند. این محصول امکان تعریف قواعد تصریف زبان را ندارد و تنها از یک واژه‌نامه استفاده می‌کند. جزئیاتی از تعداد واژه‌ها و نحوه‌ی کارکرد این محصول در دست نیست.
    • Aspell و Hunspell. خطایاب‌های پیش‌فرض پروژه‌های GNU هستند که در سیستم‌های عامل Unix-like کاربرد زیادی دارند. خطایاب Aspell از مشابهت آوایی نیز برای تولید و مرتب‌سازی پیشنهادات استفاده می‌کند. خطایاب Hunspell از تحلیل ساخت‌واژی و قواعد تصریفی، و تصحیح خط‌تیره‌گذاری (Hyphenation) پشتیبانی می‌کند. واژه‌نامه‌ی فارسی ارائه شده برای این خطایاب‌ها شامل کلمات تصریف‌شده‌ی فارسی است. تعداد واژه‌های تصریف شده ۳۳۲٬۵۵۴ واژه است، در حالی که تعداد واژه‌های تصریف شده‌ی ویراستیار، با در نظر امکان تصریف هر اسم به بیش از ۲٬۸۰۰ حالت، بیش از ۷۰٬۰۰۰٬۰۰۰ واژه‌ی تصریف شده خواهد بود. قواعد تصریف فارسی و اصطلاح‌نامه‌ی فارسی نیز برای این نرم‌افزارها ارائه نشده است.
  • اصلاح کلمات مرکب و نیم‌فاصله. لازم به توضیح است که کلمات مرکب در فارسی یا به صورت پیوسته نوشته می‌شوند و یا با نیم‌فاصله. کلماتی که مابین آن‌ها فاصله‌ی کامل درج شود دو کلمه‌ی مجزا هستند.
    • ویراستیار. به طور کامل پشتیبانی می‌کند.
    • مجموعه‌ی زبانی مایکروسافت. پشتیبانی نمی‌کند. این محصول نیم‌فاصله را همانند فاصله شناسایی کرده و مواردی همچون «اسب‌سوادی»، «معناشنایی»، «سوسک‌فرسایی»، «آمدی‌نیامدی‌‌‌می‌آمدی» را صحیح در نظر می‌گیرد.
    • Aspell و Hunspell. پشتیبانی می‌کنند.
  • اصلاح فاصله‌گذاری پسوند‌ها. این موارد از شایع‌ترین خطاهای املایی در زبان فارسی هستند و شامل مواردی همچون با فاصله نوشتن یا پیوسته نوشتن «ها» با کلمه‌ی پیش از خود می‌شوند.
    • ویراستیار. پسوندهای تصریفی شامل ۱) نشانه جمع «ها»، ۲) نشانه جمع «ان»، ۳) ضمایر ملکی و مفعولی، ۴) فعل‌های اسنادی، ۵) «ی» نسبت، ۶) «ی» نکره، ۷) «ی» بدل از کسره‌ی اضافه، ۸) پسوندهای تفصیلی، ۹) پسوند‌های ترتیبی شمارشی، و ۱۰) پسوند شمارشی مبهم به طور کامل همراه با قواعد ریخت‌آواشناسی مورد پوشش قرار می‌گیرند. به عنوان مثال تصریف واژه‌ی «مهربان»، «قوی»، «خسته»، «موجه» «دانشجو»، «سَرو» و «دانا» با پسوند ضمیر مفعولی اول شخص به صورت «مهربانم»، «قوی‌ام»، «خسته‌ام»، «موجهم»، «دانشجویم»، «سَروم»، «دانایم» مورد پوشش قرار می‌گیرند یا اصلاح می‌شوند. «شرکت ها»، «شرکتها» و «خانه ام» به «شرکت‌ها» و «خانه‌ام» اصلاح می‌شوند. برای تسریع و تسهیل کار، ویراستیار امکان تصحیح یکباره‌ی تمامی این موارد (یا موارد انتخابی) را در کل متن بدون نیاز به تعامل با کاربر علاوه بر امکان تصحیح یک‌به‌یک دارا است.
    • مجموعه‌ی زبانی مایکروسافت. این محصول امکان تصحیح فاصله‌گذاری پسوندها که از شایع‌ترین خطاهای املایی در زبان فارسی هستند را دارا نیست.
    • Aspell و Hunspell. این محصول امکان تصحیح فاصله‌گذاری پسوندها که از شایع‌ترین خطاهای املایی در زبان فارسی هستند را دارا نیست.
  • اصلاح فاصله‌گذاری پیشوندها. این موارد نیز از شایع‌ترین خطاهای املایی در زبان فارسی هستند و شامل مواردی همچون با فاصله نوشتن یا پیوسته نوشتن «می» با کلمه‌ی پس از خود یا چسباندن «به» به کلمات پس از خود مانند «بعنوان» می‌شوند.
    • ویراستیار. با در نظر گرفتن معنای واژه‌ها و کاربردها پوشش داده می‌شود. به عنوان مثال مواردی همچون «میتوان»، «نمیتوان»، «می شود»، «نمی توانیم»، «بعنوان»، «بپردازم»، «بصورت»، «می و شراب» و «بتوانیم» به صورت زیر تصحیح می‌شوند: «می‌توان»، «نمی‌توان»، «می‌شود»، «نمی‌توانیم»، «به عنوان»، «بپردازم»، «به صورت»، «می و شراب» و «بتوانیم».
    • مجموعه‌ی زبانی مایکروسافت. این محصول امکان تصحیح فاصله‌گذاری پیشوندها که از شایع‌ترین خطاهای املایی در زبان فارسی هستند را دارا نیست.
    • Aspell و Hunspell. این محصول امکان تصحیح فاصله‌گذاری پیشوندها که از شایع‌ترین خطاهای املایی در زبان فارسی هستند را دارا نیست.
  • پشتیبانی از قواعد صَرف فارسی. قواعد صرف فارسی شامل تَصریف واژه‌های غیرفعلی و تصریف فعل‌ها می‌شود. تصریف گونه‌ای از تغییر در شکل واژه است که معنای واژه ثابت مانده و تنها از نظر شخص، شمار، زمان و مواردی از این دست تغییر می‌یابد مانند «کتاب‌ها»، «کتابم»، «کتابی» که تصریف شده‌ی واژه‌ی «کتاب» هستند یا «رفتم»، «رفتیم»، «رفتند» که تصریف شده‌ی بن فعل «رفتن» هستند. مواردی از قواعد واژه‌سازی که معنای واژه‌ متفاوت از واژه‌ی ریشه است، اشتقاق نام دارند. مانند کلمات «دانشگاه»، «دانشمند»، «دانشجو»، و «دانش‌آموز» که همگی از ریشه‌ی «دانش» مشتق شده‌اند و هر یک واژه‌ای جدید در زبان هستند.
    • ویراستیار. به طور کامل و در تمامی حالات همراه با قواعد آوایی و ادات سخن واژه‌ها پشتیبانی می‌کند.
    • مجموعه‌ی زبانی مایکروسافت. به صورت بسیار محدود در حد صرف واژه‌ها در واژه‌نامه پشتیبانی می‌کند و در صورت افزودن واژه‌ی جدید این امکان برای آن واژه میسر نیست.
    • Aspell و Hunspell. به صورت بسیار محدود در حد صرف واژه‌ها در واژه‌نامه پشتیبانی می‌کند و در صورت افزودن واژه‌ی جدید این امکان برای آن واژه میسر نیست.
  • اصلاح خطاهای املایی ناشی از فاصله‌گذاری
    • ویراستیار. به طور کامل و بیش از هر خطایاب املایی دیگری در جهان از این امر پشتیبانی می‌کند. یک ترکیب ۳تایی از واژه‌ها در یک بافت متنی می‌توانند ۷ حالت فاصله‌گذاری نادرست داشته باشد که همه‌ی این ۷ مورد از جمله مواردی همچون «منمشتعلعشقعلی‌امچهکنم» توسط ویراستیار مورد پوشش و اصلاح قرار می‌گیرند.
    • مجموعه‌ی زبانی مایکروسافت. تنها یک گونه از خطاهای فاصله‌گذاری را (مانند «منرفتم» به «من رفتم») آن هم به طور ناقص پشتیبانی می‌کند.
    • Aspell و Hunspell. تنها یک گونه از خطاهای فاصله‌گذاری را (مانند «منرفتم» به «من رفتم») آن هم به طور ناقص پشتیبانی می‌کنند.
  • پشتیبانی و اصلاح واژه‌هایی که اعراب یا تشدید دارند
    • ویراستیار. به طور کامل پشتیبانی می‌کند.
    • مجموعه‌ی زبانی مایکروسافت. به طور کامل پشتیبانی می‌کند.
    • Aspell و Hunspell. پشتیبانی نمی‌کند و این‌گونه واژه‌ها را خطا در نظر می‌گیرد.
  • پشتیبانی از اصلاح تنوین. لازم به ذکر است که کلمات عربی که تنوین دارند، به طور رایج بدون تنوین نوشته می‌شوند که اشتباه است.
    • ویراستیار. به طور کامل پشتیبانی می‌کند.
    • مجموعه‌ی زبانی مایکروسافت. به طور کامل پشتیبانی می‌کند.
    • Aspell و Hunspell. پشتیبانی نمی‌کند و این‌گونه واژه‌ها را صحیح در نظر می‌گیرد.
  • استفاده از خطایاب پیش‌فرض مایکروسافت وُرد
    • ویراستیار. پشتیبانی نمی‌کند. این امر امکان‌پذیر نیست و یکپارچه‌شدن با خطایاب مایکروسافت وُرد تنها در انحصار شرکت مایکروسافت و محصولات آن شرکت است. به عنوان نمونه زیرخط موج‌دار که به رنگ قرمز یا سبز برای نشان دادن یک واژه‌ی دارای خطای املایی در خطایاب مایکروسافت وُرد استفاده می‌شود، در دیگر نرم‌افزارها قابل دسترسی نیست.
    • مجموعه‌ی زبانی مایکروسافت. پشتیبانی می‌کند و در حقیقت افزودن واژه‌نامه‌ی زبان‌های دیگر به مایکروسافت وُرد است.
    • Aspell و Hunspell. پشتیبانی نمی‌کند.
  • امکان ویرایش متن هنگام خطایابی
    • ویراستیار. پشتیبانی نمی‌کند. این امر امکان‌پذیر نیست و امکان ویرایش متن هنگام خطایابی در مایکروسافت وُرد تنها در انحصار شرکت مایکروسافت و خطایاب پیش‌فرضوُرد است.
    • مجموعه‌ی زبانی مایکروسافت. پشتیبانی می‌کند.
    • Aspell و Hunspell. در OOo Writer پشتیبانی می‌شود اما در دیگر ویرایشگرها بستگی به ویرایشگر مورد نظر دارد.
  • سطح پوششِ تصحیح خطا. این مورد به این معنی است که خطاهای املایی تا چه درجه‌ای از خطا قابل تصحیح هستند. خطاهای در فاصله‌ی ویرایشی ۱ یعنی خطاهایی که تنها ۱ حرف از آن‌ها به اشتباه حذف شده، جابه‌جا شده، یا تنها ۱ حرف اضافی در آن واژه درج شده و خطاهای در فاصله‌ی ویرایشی ۲ خطاهایی هستند که با اشتباه در ۲ حرف پیش آمده‌اند. خطاهای آوایی خطاهایی هستند که واژه‌ی دارای خطا همانند واژه‌ی مورد نظر تلفظ می‌شود، مانند «قستنتنیه» به جای «قسطنطنیه». خطاهای هم‌شکل نیز آن دسته از خطاها هستند که حروف هم‌شکل در آن‌ها، به دلایلی همچون اشتباه در دید، به جای یکدیگر به کار رفته‌اند مانند «سبندارمزگان» به جای «سپندارمزگان»؛ این گونه خطاها در بازشناسی نوری نویسه‌ها بسیار رایج است.
    • ویراستیار. فاصله‌ی ویرایشی ۲ و در مواردی همچون اصلاح «قاشق‌پروری» به «قاشق‌زنی» بیشتر از ۲. پشتیبانی از خطاهای آوایی در هر فاصله‌ی ویرایشی و پشتیبانی از خطا‌های ناشی از هم‌شکل بودن حروف.
    • مجموعه‌ی زبانی مایکروسافت. تنها فاصله‌ی ویرایشی ۱.
    • Aspell و Hunspell. فاصله‌ی ویرایشی ۱ به همراه امکان خطایابی آوایی که دادگان آن برای فارسی فراهم نیست.
  • رابط توسعه و برنامه‌نویسی
    • ویراستیار. دارد.
    • مجموعه‌ی زبانی مایکروسافت. دارد.
    • Aspell و Hunspell. دارد.
  • متن‌باز
    • ویراستیار. هست.
    • مجموعه‌ی زبانی مایکروسافت. نیست.
    • Aspell و Hunspell. هست.
  • بستر اجرا (سیستم‌عامل)
    • ویراستیار. (Microsoft Windows, Unix-like OSes using mono (coming soon
    • مجموعه‌ی زبانی مایکروسافت. Microsoft Windows
    • Aspell و Hunspell؛ Microsoft Windows and Unix-like OSes
  • امکان عملکرددر مایکروسافت وُرد
    • ویراستیار. دارد.
    • مجموعه‌ی زبانی مایکروسافت.دارد.
    • Aspell و Hunspell. ندارد.

جدول زیر به طور خلاصه به مقایسه‌ی محصولات نام‌برده بر اساس قابلیت‌های مطرح شده می‌پردازد.

 

ویراستیار

مجموعه‌ی زبانی مایکروسافت

Aspell and Hunspell

کلمات مرکب و نیم‌فاصله

به طور کامل پشتیبانی می‌کند

پشتیبانی نمی‌کند

پشتیبانی می‌کنند

فاصله‌گذاری پسوند‌ها.

به طور کامل پشتیبانی می‌کند

پشتیبانی نمی‌کند

پشتیبانی نمی‌کند

فاصله‌گذاری پیشوندها

به طور کامل پشتیبانی می‌کند

پشتیبانی نمی‌کند

پشتیبانی نمی‌کند

قواعد صرف فارسی

به طور کامل و در تمامی حالات همراه با قواعد آوایی و در نظر گرفتن ادات سخن واژه‌ها پشتیبانی می‌کند

به صورت بسیار محدود در حد صرف واژه‌ها در واژه‌نامه پشتیبانی می‌کند

به صورت بسیار محدود در حد صرف واژه‌ها در واژه‌نامه پشتیبانی می‌کند

خطاهای املایی ناشی از فاصله‌گذاری

به طور کامل پشتیبانی می‌کند

پشتیبانی نمی‌کند

پشتیبانی نمی‌کند

پشتیبانی از حرکت

به طور کامل پشتیبانی می‌کند

به طور کامل پشتیبانی می‌کند

پشتیبانی نمی‌کند

پشتیبانی از تنوین

به طور کامل پشتیبانی می‌کند

به طور کامل پشتیبانی می‌کند

پشتیبانی نمی‌کند

استفاده از خطایاب پیش‌فرض وُرد

امکان‌پذیر نیست

بله

پشتیبانی نمی‌کند

امکان ویرایش متن هنگام خطایابی

امکان‌پذیر نیست

دارد

بستگی به ویرایشگر دارد. در OOo Writer پشتیبانی می‌شود

سطح پوششِ تصحیح خطا

فاصله‌ی ویرایشی: ۲

خطایابی آوایی

خطایابی شکلی

فاصله‌ی ویرایشی: ۱

فاصله‌ی ویرایشی: ۱

خطایابی آوایی که برای فارسی فعال نیست

رابط توسعه و برنامه‌نویسی

دارد

دارد

دارد

متن‌باز

بله

خیر

بله

سیستم‌عامل

Windows, Unix-likes using mono (coming soon)

Window

Windows and Unix-likes

امکان عملکرد در محیط مایکروسافت وُرد

دارد

دارد

ندارد