N-gram

N-gram: دنباله‌های n کلمه‌ای برای حفظ ترتیب؛ کاربرد در دسته‌بندی، پیش‌بینی کلمه و تشخیص عبارات

N-gram چیست؟

N-gram دنباله‌ای از n کلمه متوالی است:

جمله «قیمت گوشی مناسب است» bigram‌هایش: «قیمت گوشی»، «گوشی مناسب»، «مناسب است».

چرا N-gram؟ حل مشکل ترتیب!

BoW ترتیب را گم می‌کند: «غذا خوب نبود» و «غذا بد نبود» کلمات مشابهی دارند اما معنای متفاوت! با bigram:

کاربردها

کاربردتوضیح
دسته‌بندی بهترBoW + bigram = ویژگی‌های معنایی‌تر
پیش‌بینی کلمه بعدی«دستگاه را روشن ...» ← کن؟ کرد؟ (مبنای کیبورد موبایل!)
تشخیص عبارات ثابت«به نظر می‌رسد»، «در حال حاضر»
تشخیص سرقت ادبیتطابق دنباله‌های طولانی
غلط‌یابیترکیب‌های نادر احتمالاً غلط‌اند

انتخاب n چقدر؟

فرمول احتمال شرطی

N-gram پایه مدل‌های زبانی آماری است:

P(کلمه بعدی | n-1 کلمه قبلی)

bigram: P(کرد | روشن) = تعداد "روشن کرد" / تعداد "روشن"

این ایده ساده، سال‌ها قلب پیش‌بینی کلمه و ترجمه ماشینی بود — مبحث مدل زبانی!

نکته: در TfidfVectorizer پایتون، پارامتر ngram_range=(1,2) یعنی هم unigram هم bigram — معمولاً دقت دسته‌بندی را بهبود می‌دهد!

جمع‌بندی

این مبحث بخشی از دوره آموزش کامل پردازش زبان طبیعی (NLP) است.

ابزارهای مرتبط