کیسه کلمات (Bag of Words)
کیسه کلمات: سادهترین روش برداریسازی متن با شمارش تکرار کلمات، ساخت واژگان و ماتریس سند-کلمه
کیسه کلمات چیست؟
Bag of Words (BoW) سادهترین روش تبدیل متن به بردار عددی: هر سند به برداری تبدیل میشود که هر خانه = تعداد تکرار یک کلمه. مثل ریختن همه کلمات متن در یک کیسه — ترتیب ریخته میشود، فقط شمارش میماند!
سه گام BoW
- ساخت واژگان (Vocabulary): همه کلمات یکتای کل مجموعه
- شمارش: برای هر سند، تکرار هر کلمه واژگان
- بردار: سند ← بردار به طول اندازه واژگان
مثال کامل
سند ۱: "گوشی خوب است"
سند ۲: "گوشی بد بود"
واژگان: [است, بد, بود, خوب, گوشی]
سند ۱ ← [1, 0, 0, 1, 1]
سند ۲ ← [0, 1, 1, 0, 1]
حالا متنها بردارند و میتوان با هر الگوریتم ماشین لرنینگ روی آنها کار کرد!
ماتریس سند-کلمه
کل مجموعه = ماتریسی که سطرها اسناد و ستونها کلماتاند. برای n سند و V کلمه: ماتریس n×V.
مزایا و معایب
| مزایا | معایب |
|---|---|
| ساده و سریع | ترتیب کلمات گم میشود! |
| برای دستهبندی موضوعی خوب | ابعاد بالا (واژگان بزرگ) |
| قابل فهم و تفسیر | کلمات هممعنی جدا (خرید/خریدم) |
| پایه TF-IDF | کلمات نادر و مهم = کلمات پرتکرار و بیمعنا! |
مشکل بزرگ: همه کلمات برابرند؟
در BoW، «است» (بیمعنا) و «عالی» (پرمعنا) هر دو فقط شمرده میشوند! راهحل: وزندهی هوشمند — دقیقاً همان کاری که TF-IDF (مبحث بعدی) میکند.
بهبود: BoW دودویی (Binary)
بهجای شمارش، فقط حضور/غیاب (۰/۱) — برای تشخیص موضوع، «چند بار» مهم نیست، «چه کلماتی» مهم است.
نکته: BoW + Naive Bayes = ترکیب کلاسیک و قدرتمند برای دستهبندی متن که هنوز هم در سیستمهای واقعی استفاده میشود!
جمعبندی
- BoW: متن ← بردار شمارش کلمات بر اساس واژگان مشترک
- سه گام: واژگان ← شمارش ← بردار
- ساده اما ترتیببیتفاوت و بدون وزندهی معنایی
- پایهای برای درک TF-IDF و روشهای پیشرفتهتر
این مبحث بخشی از دوره آموزش کامل پردازش زبان طبیعی (NLP) است.