نقل قول نوشته شده توسط ghamgin مشاهده تاپیک
دوستان کدی در جاوا وجود داره که بشه غلط املایی رو در متن انگلیسی تشخیص بده و کلمه درست رو جایگزین کنه؟
چیزی که در عنوان تاپیک گفتید سادست. اما چیزی که در متنش گفتید نه.
اجازه بدید سوال رو به دو دسته تقسیم کنیم:

1- چک کردن غلط املایی (spell checking):
اینکه یک کلمه غلط املایی دارد یا خیر سادست. کافیه مجموعه واژگانی داشته باشید و راحت میتونید در یک HashSet ذخیره کنید و رشته ورودی رو کلمه به کلمه استخراج کنید و چک کنید. البته هنگام استخراج کمی پالایش هم لازمه مثلا از نظر بزرگ یا کوچک بودن حروف با مجموعه واژگان یکسان باشد، کاراکترها فقط حروف باشند و بقیه رو حذف کنید و...

2- تصحیح غلط املایی (spell correction):
اینکار ساده نیست. در حد سادش در تاپیک دیگه ای بحث شده و میتونید استفاده کنید (https://barnamenevis.org/showthread.php?547938 که البته لینکش حذف کردن و همچنین خودتون هم مشارکت داشتید پس دیدید).
اما در قسمت اول تشخیص میدید کلمه غلط املایی دارد و میخواهید تصحیحش کنید. تصحیح کلمات وارد حوزه تحقیقاتی میشه و یک روش کامل و ایده آل وجود نداره که بشه یک الگوریتم واحد معرفی کرد و حتی فقط وابسته به الگوریتم نیست. برخی الگوریتم ها هم خیلی پیچیده هستند و گرامر زبان ها رو هم وارد کردند. شاید بهترین نمونه ای که سراغ داشته باشیم سرچ انجین گوگل باشه که نه کدش در دسترسه و اگر باشه هم احتمالا خیلی پیچیده باشه و همچنین گوگل وارد حوزه هوش مصنوعی شده و قطعا از هوش مصنوعی استفاده میکنه. هوش مصنوعی هم نیاز به آموزش داره که گوگل از میلیاردها صفحه اینترنتی برای آموزش موتورش استفاده میکنه. پس به هیچ وجه کار ساده ای نیست.

علت ساده نبودن این کار:
فرض کنید من یک کلمه مینویسم wate. حتی شما نمیتونید بگید منظور من چی بوده و غلط املاییش به چه معناست.
اما فرض کنید من میگم "I wate to play ping-pong" خب الان میتونید بگید غلط املایی تصحیح شدش میشه want. یه جمله دیگه "I drink wate" که اینجا منظورم water بوده.
خب این دو جمله رو من تو گوگل سرچ کردم و دقیق تصحیحشون کرد. یا حتی ممکنه کلمه به خودی خود غلط املایی نباشه مثلا "do you went anything?" یا "you went to school" با اینکه کلمه went که گذشته go هست کلمه صحیحی است ولی گوگل در مثال اول با توجه به جمله want رو پیشنهاد میکنه. یا good و god که قبلا هم مثال زدم.
این هم علتش اینه با توجه به جملاتی که در صفحات اینترنتی هست سیستمش رو آموزش داده. پیشرفت هوش مصنوعی هر چند عالی بوده ولی هنوز از هوش انسان ضعیف تره در این موارد.

با این حال شما نمیتونید دنبال یک راهکار کامل باشید. هر راهکاری نسبی هست و در مواردی موفق و در مواردی ناموفق. اون لینکی که قبلا هم دیدید بعضی جاها موفقه.

پس شاید هزار راهکار مختلف باشه که در مواردی موفق باشند.