غلط‌یاب: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
FreshmanBot (بحث | مشارکت‌ها)
جز ←‏عمل‌کرد: اصلاح فاصله مجازی با استفاده از AWB
FreshmanBot (بحث | مشارکت‌ها)
جز اصلاح فاصله مجازی + اصلاح نویسه با استفاده از AWB
خط ۲:
 
== عمل‌کرد ==
غلط‌یابهای ساده، کلمات خارج از متن را، جدا گانه در محتویات یک لغتنامه، یکی یکی مقایسه میکنندمی‌کنند.در غلط‌یابی یک کلمه، اگر کلمه ایکلمه‌ای یافت نشد خطا به وجود میمی‌آید آیدو ودردر صورت تکرار دستور، نرم‌افزار نزدیکترین کلمهٔ موجود را به عنوان جواب ترجمه میکند، برای این کار الگوریتم‌های زیادی پیشنهاد شده که ٔ یکی از آنهاآن‌ها کلمات موجود در لغت‌نامه را که [[فاصله لون‌اشتاین]] کوچکی از کلمهٔ اصلی دارند لیست میکند.
در اغلب نرم‌افزارهای غلط‌یاب گزینه ایگزینه‌ای تعبیه شده که در صورت عدم وجود کلمه در لغت‌نامه، آن را (به استثنای موارد فلگ شده)به لیست کلمات شناخته شده اضافه میکند. روشهایروش‌های جدیدتر برای غلط یابی اما ممکن است از الگوریتمهای پیچیده تری همچون یادگیری ماشین استفاده نمایند. به عنوان مثال این روشها میروش‌ها توانندمی‌توانند الگوی خطای یک کاربر را شناخته و خود را با آن تطبیق دهند<ref>QasemiZadeh, B.; Ilkhani, A. & Ganjeii, A, Adaptive [http://pars.ie/publications/papers/pre-prints/adaptive-spell-checking.pdf Language Independent Spell Checking Using Intelligent Traverse on a Tree]. IEEE, 2006, pp. 1-6</ref>.
 
== طراحی ==
غلط‌یاب بطور عادی از دو قسمت تشکیل شده:
# مجموعه ایمجموعه‌ای از اعمال که متن را پیمایش و کلمات را استخراج می‌کنند.
# الگوریتمی برای مقایسهٔ کلمات استخراج شده از متن با لیستی از کلمات که دارای هجای صحیح هستند(مثلاً: کلمات یک لغت‌نامه)
 
اعمال پیمایشی گاهی اوقات شامل الگوریتم‌های مستقل از زبان برای بررسی ریخت‌شناسی کلمات می‌شوند. اعمال استخراج کلمه، حتی برای زبانی مثل انگلیسی که گرامر آسانی دارد، به مواردی همچون اختصار و حالت مضاف احتیاج پیدا خواهند کرد. البته مشخص نیست که تحلیل (کاوش کلمات) مبتنی بر ریخت‌شناسی (مورفولوژی) تاثیرتأثیر قابل توجهی داشته باشد.
 
لیست کلمات می‌تواند لیستی از کلمات ساده باشد یا اطلاعات اضافه‌تری مثل خط تیره‌گذاری، نشانه‌های لغوی و گرامری را نیز شامل شود. [[واسط کاربر|واسط کاربری برنامه]]، به عنوان قسمت الحاقی به این دو جز، به کاربران این امکان را می‌دهد که جابه‌جایی‌ها را آزمایش (موافقت) و عملیات برنامه را اصلاح کنند. البته استثنائی در مورد مثال بالا وجود دارد برنامه‌های غلط‌یابی که تنها از اطلاعات آماری استفاده می‌کنند: مثلاً استفاده از[//en.wikipedia.org/wiki/N-gram N-gram] این روش معمولاً هم تلاش زیادی برای دسترسی به اطلاعات آماری مورد نیاز می‌طلبد و هم‌زمان ذخیره‌سازی اطلاعات در آن بیش‌تر است به همین دلیل این روش‌ها عموماً کاربرد ندارند. در بعضی موارد برنامه‌های غلط‌یاب از لیست ثابتی از غلط‌های املایی و پیشنهادهایی برای اصلاحشان استفاده می‌کنند. این شیوه نسبت به شیوه‌های قبلی انعطاف کم‌تری دارد و اغلب در روش‌های اصلاح مبتنی بر کاغذ استفاده می‌شود مثل مدخل‌ها در لغت‌نامه‌ها
خط ۱۷:
اولین غلط‌یابها به صورت گسترده در اواخر دههٔ ۷۰ روی کامپیوترهای مرکزی استفاده شدند.چند سال بعد گروهی متشکل از ۶ زبان‌شناس از [[دانشگاه جورج تاون|دانشگاه جورج تون]] سیستم غلط‌یابی برای [[آی بی ام|آی‌بی‌ام]] طراحی کردند که از آن در ساخت پکیج‌های [//en.wikipedia.org/wiki/IBM_PC IBM PC] محصول سال ۱۹۸۱ استفاده کرد.
غلط یاب‌ها برای اولین بار در کامپیوترهای شخصی [//en.wikipedia.org/wiki/CP/M CP/M] و
[//en.wikipedia.org/wiki/TRS-80 TRS-80] در سال ۱۹۸۰ و یک سال بعد در ۱۹۸۱ در همهٔ پکیج‌های سری IBM PC مورد استفاده قرار گرفتند.توسعه دهندگان دیگر نیز همزمانهم‌زمان با توسعهٔ سریع بازار نرم‌افزار به سمت تولید پکیجهای [//en.wikipedia.org/w/index.php?title=Special:Search&search=OEM&fulltext=Search OEM] و محصولات
[//en.wikipedia.org/wiki/End-user_(computer_science) end-user]برای استفاده در رایانه‌های شخصی، [[مکینتاش اپل|مکینتاش]]، [//en.wikipedia.org/wiki/VAX VAX] و [[یونیکس|UNIX]] هجوم بردند.این غلط‌یابها روی کامپیوترهای شخصی مستقلاً به عنوان یک برنامه عمل میکردند، در صورت وجود حافظهٔ کافی بعضی حتی میتوانستند در حالت [//en.wikipedia.org/wiki/Terminate_and_Stay_Resident TSR] واژه پرداز به صورت مستقل کار کنند.
با وجود این پکیج‌های غلط‌یاب تنها مدت کمی مورد استقبال قرار گرفت، در اواسط دههٔ ۱۹۸۰ توسعه دهندگان بزرگ بسته‌های نرم‌افزاری واژه پرداز، مثل Word Star وWord Perfect غلط یابها را به صورت رسمی در پکیج‌های محصولاتشان ثبت کردند ودرو در عرض مدت کوتاهی آن را از انگلیسی به زبان‌های اروپایی و حتی آسیایی نیز گسترش دادند، علی‌رغم توسعه‌های مزبور، محصول جدید هنوز در قسمتهایقسمت‌های ریخت‌شناسی و ریشه شناسی، ناقص بودو این نقص مخصوصامخصوصاً در زبانهایی مثل بلغاری و فنلاندی که مملو از ترکیب ریشه‌ها است، دوچندان ایجاد مشکل میکرد. هرچند که نتیجهٔ سرمایه گذاریسرمایه‌گذاری برای عرضهٔ واژه پردازهای شامل غلط‌یاب، دربازار کشوری مثل ایسلند توجیه اقتصادی نداشت با این حال کمپانی هاییکمپانی‌هایی مثل : word perfect در راستای استراتژی جهانی سازیجهانی‌سازی محصولاتشان، به تلاش خود ادامه میدادند تا بازار کشورهای بیشتری را به تسخیر درآورند.
به تازگی، استفاده از غلط یابها به جز واژه پرداز ها، به دنیای مرورگرهای وب نیز راهٔ یافته، از آن جمله میتوان به
[//en.wikipedia.org/wiki/Mozilla_Firefox_2 Firefox2.0 ] اشاره کرد که به کاربر این امکان را میدهدمی‌دهد تا در حین تایپ کلمات از غلط یاب استفاده کند، وقتی که در حال ویرایش ویکی متن، نوشتن در سایتهای ارائه دهندهٔ ایمیل، نوشتن در بلاگها و شبکه‌های اجتماعی هستید دارید از غلط‌یاب استفاده می کنید، همچنین برنامه‌های مرورگر وبی مثل : [[گوگل کروم]]، [//en.wikipedia.org/wiki/Konqueror konqueror]، [[مرورگر اپرا|opera]] و [//en.wikipedia.org/wiki/Email_client email client] هایی‌هایی مثل:
[[پست الکترونیکی|kmail]] و [[پیجین (نرم‌افزار)|pidgin]] با استفاده از [[موتور جستجو]] ی [//en.wikipedia.org/wiki/GNU_Aspell GNU-ASPELL] به جرگهٔ پشتیبانی کنندگان سرویس غلط‌یاب پیوسته اند و آن را به تمام [//en.wikipedia.org/wiki/Application_Bundle نرم‌افزارهای کاربردی همراه ]و بسیاری از [//en.wikipedia.org/wiki/Third-party_software_component نرم‌افزارهای کاربردی شخص ثالث] خود اضافه کرده.
 
== عاملیت ==
اولین نسل غلط یاب‌ها به جای اصلاح کلمهٔ نادرست تنها قادر به تشخیص آنهاآن‌ها بودند و هیچ پیشنهادی به جای کلمات نادرست ارائه نمی‌دادند. این رویه برای خطاهای تایپی، مؤثر، ولی برای خطاهای آوایی و منطقی راهگشا نبود، چالشی که توسعه دهندگان غلط یاب‌ها با آن مواجه بودند ارائه پیشنهادهایی مناسب به جای کلمات نادرست بود برای حل این مشکل باید کلمات را با استفاده از الگوریتمهایی _ منطبق بر الگوی اصلی شان _ به شکلی ساده و خلاصه در می‌آوردند.
 
به نظر منطقی می‌رسد که بررسی کنیم و ببینیم که دیکشنری‌های دارای غلط یاب کجاها بیشتر مورد استقبال عموم قرار می‌گیرند.
 
به طوربه‌طور کلی هرچه دیکشنری مزبور بزرگتر باشد بهتر است، طوری کهطوری‌که کلمات درست، اشتباهاً نادرست تلقی نشوند، با این وجود در عمل یک دیکشنری مطلوب انگلیسی باید حدوداً ۹۰۰۰۰ مدخل داشته باشد، اگر تعداد بیشتری وجود داشته باشد ممکن است کلماتی که غلط هجی شده‌اند به دلیل این که در بقیه زبان‌ها اشتباه محسوب شده‌اند به طورکلیبه‌طورکلی نادیده گرفته شوند. برای مثال یک زبان‌شناس باید با تکیه بر دانش [//en.wikipedia.org/wiki/Corpus_linguistics زبان‌شناسی اصل گرا] به درستی تشخیص دهد که کلمهٔ " baht " اغلب حاصل هجای غلط کلمهٔ " bath " است که یک اشتباه رایج سهوی و نوشتاری تایلندی‌ها می‌باشد، از طرفی همین کلمه با کمی تغییر، تبدیل به " baths " می‌شود که در فرهنگ انگلیسی به معنای حمامی عمومی است که مورد استفادهٔ طبی دارد. پس معقول تر به نظر می‌رسد که عدهٔ کمی از افراد که تایلندی می‌نویسند، کمی در هنگام نوشتن به زحمت بیافتند تا این که عدهٔ زیادتری به خاطر حذف کلمهٔ " baths " که کلمه‌ای درست محسوب می‌شود، دچار مشکل نشوند.
 
اولین سری از غلط یاب‌های [[داس (سیستم عامل)|MS-DOS]] غالباً در حالت چرکنویس پکیج‌های واژه پرداز استفاده شده بودند، بعد از آماده شدن یک سند، یک کاربر، متن مورد نظر را برای پیدا کردن غلط‌های موجود وارسی می‌کرد، البته بعدها مؤلف [[اوراکل|Oracle]] روش پردازش دسته‌ای را برای حل این مسئله پیشنهاد داد. مشکل این روش این بود که فقط به کاربر اجازه می‌داد تا نتایج را تنها بعد از پردازش ببیند و این که او نیز فقط می‌توانست کلماتی را که از صحت یا عدم صحتشان آگاهی داشت اصلاح نماید. زمانی که حافظه و سرعت پردازش به اندازهٔ کافی توسعه یافت، غلط یابی به صورت [//en.wikipedia.org/wiki/Interactive#Computer_science تعاملی] و در پس زمینه قرار گرفت که نمونهٔ بارز این مورد در تولید نرم‌افزار " Sector Software produced Spellbound " در سال ۱۹۸۷ و نرم‌افزار[[مایکروسافت ورد|Microsoft-word]]در سال ۱۹۹۵ تا به بعد بود.
 
در سالهای اخیر کیفیت نرم‌افزارهای غلط یاب رشد بسیار زیادی داشته به طوری کهبه‌طوری‌که بعضی از آنهاآن‌ها می‌توانند خطاهای سادهٔ گرامری را تشخیص دهند.
 
== غلط یابی در زبانهای غیر انگلیسی ==
 
اغلب کلمات زبان انگلیسی که در گونهٔ نوشتاری و رسمی به کار میروند و تک هجایی هستند، در یک دیکشنری معمولی یافت میشوند،می‌شوند، تنها بعضی از لغات فنی و کلمات اصلاح شده از این قاعده مستثنی هستند .در بعضی زبانها ترکیب لغات برای ساختن لغات جدید یک اصل رایج است مثلاً در زبان آلمانی اسامی مرکب اغلب با ترکیب و تغییر کلمه‌های موجود تولید میشوند،می‌شوند، بعضی از ساختارهای نوشتاری زبان نمی‌توانند تفاوت کلمه ایکلمه‌ای را از دیگری به وضوح نمایش دهند بنابراین در این گونه موارد به الگوریتم‌های جدا کنندهٔجداکنندهٔ کلمات احتیاج پیدا خواهد شد.با این تفاسیر هر کدام از این مسائل چالشهای تازه تری را برای تولید غلط یابها به زبان‌های غیر انگلیسی تولید می‌کند .
 
== نقد ==
بعضی از منتقدان محصولات فناوری و صنعت کامپیوترها بر این باورند که استفاده از غلط یاب‌ها، تمایل به خواندن، نوشتن و سایر مهارت‌های زبانی- کلامی را از بین می‌برد. آنهاآن‌ها مدعی اند که راحتی کار با کامپیوترها باعث می‌شود که مردم ویرایش متون و دست نوشته‌های خود را به راحتی به یک نرم‌افزار غلط یاب واگذار کنند و نتیجه چیزی جز تنبلی افراد نخواهد بود. در مقابل این ایده، حامیان مدعی اند که این تغییرات، یادگیری زبانهای جدید را برای عموم مردم جهان تسهیل می‌کند و از این رو می‌تواند برای جوامع بسیار سودمند باشد. همچنین آنهاآن‌ها بر این باورند که توانایی‌هایی که در معرض فراموشی قرار می‌گیرند با تواناییهای بهتر جایگزین می‌شوند که نتیجتاً سرعت و توانایی جستجوی موثرتری را به ارمغان می‌آورد .. دستهٔ دیگر از حامیان این فناوری اذعان می‌کنند که این مهارتها در یکسری از افراد از بین نمی‌رود زیرا آنهاآن‌ها به آن نیازمندند و به طوربه‌طور منظم از آن بهره می‌برند مانند: نویسندگان، منتقدان و متخصصان زبان و زبان‌شناسی.
 
با وجود مطالب گفته شده، همهٔ منتقدان پیشرفت تکنولوژی، درجبههٔ مخالف نیستند به عنوان مثال" Galletta et al " در مقاله خود می‌گوید: برای استفاده از غلط یاب‌ها با بهترین عملکرد، باید از مهارت زبانی – کلامی بالاتری برخوردار باشیم. این تئوری می‌گوید که تنها نویسندگانی با مهارتهای زبانی – کلامی بالا می‌توانند درستی یا نادرستی کلمات پیشنهادی ارئه شده توسط غلط یاب را تشخیص دهند.