کیسه کلمات (Bag of Words)

کیسه کلمات: ساده‌ترین روش برداری‌سازی متن با شمارش تکرار کلمات، ساخت واژگان و ماتریس سند-کلمه

کیسه کلمات چیست؟

Bag of Words (BoW) ساده‌ترین روش تبدیل متن به بردار عددی: هر سند به برداری تبدیل می‌شود که هر خانه = تعداد تکرار یک کلمه. مثل ریختن همه کلمات متن در یک کیسه — ترتیب ریخته می‌شود، فقط شمارش می‌ماند!

سه گام BoW

  1. ساخت واژگان (Vocabulary): همه کلمات یکتای کل مجموعه
  2. شمارش: برای هر سند، تکرار هر کلمه واژگان
  3. بردار: سند ← بردار به طول اندازه واژگان

مثال کامل

سند ۱: "گوشی خوب است"
سند ۲: "گوشی بد بود"

واژگان: [است, بد, بود, خوب, گوشی]

سند ۱ ← [1, 0, 0, 1, 1]
سند ۲ ← [0, 1, 1, 0, 1]

حالا متن‌ها بردارند و می‌توان با هر الگوریتم ماشین لرنینگ روی آن‌ها کار کرد!

ماتریس سند-کلمه

کل مجموعه = ماتریسی که سطرها اسناد و ستون‌ها کلمات‌اند. برای n سند و V کلمه: ماتریس n×V.

مزایا و معایب

مزایامعایب
ساده و سریعترتیب کلمات گم می‌شود!
برای دسته‌بندی موضوعی خوبابعاد بالا (واژگان بزرگ)
قابل فهم و تفسیرکلمات هم‌معنی جدا (خرید/خریدم)
پایه TF-IDFکلمات نادر و مهم = کلمات پرتکرار و بی‌معنا!

مشکل بزرگ: همه کلمات برابرند؟

در BoW، «است» (بی‌معنا) و «عالی» (پرمعنا) هر دو فقط شمرده می‌شوند! راه‌حل: وزن‌دهی هوشمند — دقیقاً همان کاری که TF-IDF (مبحث بعدی) می‌کند.

بهبود: BoW دودویی (Binary)

به‌جای شمارش، فقط حضور/غیاب (۰/۱) — برای تشخیص موضوع، «چند بار» مهم نیست، «چه کلماتی» مهم است.

نکته: BoW + Naive Bayes = ترکیب کلاسیک و قدرتمند برای دسته‌بندی متن که هنوز هم در سیستم‌های واقعی استفاده می‌شود!

جمع‌بندی

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

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