Bag of Words (BoW) এবং TF-IDF (Term Frequency-Inverse Document Frequency) হল প্রাকৃতিক ভাষা প্রক্রিয়াকরণের (NLP) দুটি জনপ্রিয় টেকনিক যা টেক্সট ডেটাকে ভেক্টর ফরম্যাটে রূপান্তর করতে ব্যবহৃত হয়, যাতে মেশিন লার্নিং অ্যালগরিদম ডেটা বিশ্লেষণ এবং মডেল তৈরি করতে পারে। নিচে এই দুটি মডেল সম্পর্কে বিস্তারিত আলোচনা করা হলো।
১. Bag of Words (BoW) মডেল
Bag of Words মডেল একটি সহজ এবং জনপ্রিয় পদ্ধতি যা টেক্সট ডেটাকে একটি সেটে রূপান্তর করে এবং প্রতিটি শব্দের উপস্থিতি গণনা করে। এটি মজবুত এবং কার্যকরী হলেও কিছু সীমাবদ্ধতা রয়েছে যেমন শব্দের জন্য কোন অর্থ বা শব্দের মধ্যে সম্পর্কের তথ্য প্রদান করে না।
কাজ করার পদ্ধতি:
- শব্দের সংগ্রহ (Vocabulary): প্রথমে, আপনার ডেটাসেটের সমস্ত শব্দের একটি সংগ্রহ তৈরি করতে হবে। এটি টেক্সট ডেটার ভোকাবুলারি। প্রতিটি শব্দের একটি ভিন্ন ইনডেক্স (index) থাকবে।
- শব্দের উপস্থিতি গণনা: এরপর, প্রতিটি ডকুমেন্টে প্রতিটি শব্দের উপস্থিতি বা ফ্রিকোয়েন্সি গোনা হয়।
- ফিচার ভেক্টর তৈরি: প্রতিটি ডকুমেন্টের জন্য একটি ফিচার ভেক্টর তৈরি করা হয়। প্রতিটি ভেক্টরের উপাদান সেই ডকুমেন্টে সংশ্লিষ্ট শব্দের ফ্রিকোয়েন্সি বা উপস্থিতি।
উদাহরণ:
ধরা যাক, আমাদের তিনটি টেক্সট ডকুমেন্ট আছে:
- "I love programming"
- "Programming is fun"
- "I love fun"
ভোকাবুলারি হবে: ["I", "love", "programming", "is", "fun"]
এখন, প্রতিটি ডকুমেন্টের জন্য শব্দের উপস্থিতি ভেক্টর তৈরি হবে:
| ডকুমেন্ট | I | love | programming | is | fun |
|---|---|---|---|---|---|
| "I love programming" | 1 | 1 | 1 | 0 | 0 |
| "Programming is fun" | 0 | 0 | 1 | 1 | 1 |
| "I love fun" | 1 | 1 | 0 | 0 | 1 |
এখানে, প্রতিটি ভেক্টরের মধ্যে শব্দের উপস্থিতি সংখ্যায় প্রকাশিত হচ্ছে।
সীমাবদ্ধতা:
- অর্থহীনতা: BoW শব্দের অর্থ বা কনটেক্সট উপলব্ধি করতে সক্ষম নয়।
- দ্ব্যর্থতা: এটি শব্দের অর্ডার এবং সম্পর্ককে উপেক্ষা করে।
- বড় ডেটাসেট: বড় ডেটাসেটে ভোকাবুলারি বড় হয়ে যায়, যার ফলে মেমরি ব্যবহারে সমস্যা হতে পারে।
২. TF-IDF (Term Frequency-Inverse Document Frequency)
TF-IDF মডেলটি Bag of Words এর উন্নত সংস্করণ যা শব্দের গুরুত্বের উপর ভিত্তি করে ফিচার ভ্যালু নির্ধারণ করে। TF-IDF মূলত দুটি অংশে বিভক্ত:
Term Frequency (TF):
- এটি কোনো শব্দের ডকুমেন্টে উপস্থিতির গড় সংখ্যা। এটি একটি ডকুমেন্টে কোনো শব্দের কতবার উপস্থিতি হয়েছে তা নির্দেশ করে।
Inverse Document Frequency (IDF):
- এটি প্রতিটি শব্দের গুরুত্বপূর্ণ বা বিরলতা পরিমাপ করে। যদি কোনো শব্দ একটি ডকুমেন্ট সেটে বার বার আসে, তবে তার গুরুত্ব কম থাকে।
যেখানে,
- হল ডকুমেন্টের মোট সংখ্যা,
- হল যে ডকুমেন্টগুলোতে শব্দ উপস্থিত, সেই ডকুমেন্টের সংখ্যা।
TF-IDF:
- শেষমেশ, শব্দের TF এবং IDF এর গুণফল নেয়া হয়:
উদাহরণ:
ধরা যাক, আমাদের তিনটি ডকুমেন্ট আছে:
- "I love programming"
- "Programming is fun"
- "I love fun"
TF এবং IDF হিসাবের পর, প্রতিটি শব্দের TF-IDF ভ্যালু গণনা করা হবে।
| শব্দ | ডকুমেন্ট 1 (TF) | ডকুমেন্ট 2 (TF) | ডকুমেন্ট 3 (TF) | IDF (সব ডকুমেন্টের জন্য) | TF-IDF ডকুমেন্ট 1 | TF-IDF ডকুমেন্ট 2 | TF-IDF ডকুমেন্ট 3 |
|---|---|---|---|---|---|---|---|
| I | 0.33 | 0.00 | 0.33 | 0.0 | 0.0 | 0.0 | 0.0 |
| love | 0.33 | 0.00 | 0.33 | 0.0 | 0.0 | 0.0 | 0.0 |
| programming | 0.33 | 0.33 | 0.0 | 0.301 | 0.10 | 0.10 | 0.00 |
| is | 0.00 | 0.33 | 0.00 | 1.0 | 0.0 | 0.33 | 0.0 |
| fun | 0.00 | 0.33 | 0.33 | 0.301 | 0.0 | 0.10 | 0.10 |
TF-IDF মডেল, শব্দের গুরুত্ব নির্ধারণ করে এবং বিরল শব্দগুলোকে বেশি গুরুত্ব দেয়। এটি শুধুমাত্র ডকুমেন্টের সাধারণতা নয়, বরং শব্দের পরিসরের মধ্যে তার বিশেষত্বও গণনা করে।
সুবিধা:
- নির্দিষ্ট শব্দের গুরুত্ব: TF-IDF শব্দের গুরুত্ব বিবেচনায় নেয় এবং যেগুলি ডকুমেন্টে বেশি বার ব্যবহৃত হয় তাদের কম গুরুত্ব দেয়।
- শব্দের সাধারণতা হ্রাস: শব্দের সাধারণতা হ্রাস করে এমন শব্দগুলির জন্য কম স্কোর দেয়।
সীমাবদ্ধতা:
- ভাষার কাঠামোকে উপেক্ষা করা: এটি ভাষার ব্যাকরণ বা কাঠামো উপলব্ধি করতে পারে না।
- ভোকাবুলারির আকার: যখন ডেটাসেট খুব বড় হয়, তখন ভোকাবুলারি অনেক বড় হয়ে যায়, যা বড় মেমরি ব্যবহার করতে পারে।
সারাংশ
- Bag of Words (BoW) মডেল একটি সোজা এবং কার্যকরী পদ্ধতি যা প্রতিটি শব্দের উপস্থিতি হিসাব করে এবং ডেটাকে ভেক্টর ফরম্যাটে রূপান্তরিত করে, তবে এটি ভাষার অর্থ এবং সম্পর্ক উপলব্ধি করতে সক্ষম নয়।
- TF-IDF মডেলটি শব্দের গুরুত্ব নির্ধারণ করে এবং ডেটার মধ্যে বিরল শব্দগুলোকে বেশি গুরুত্ব দেয়। এটি বিশেষভাবে সেইসব শব্দের জন্য কার্যকরী যা কমন নয় এবং শুধুমাত্র ডকুমেন্টের মধ্যে গুরুত্বপূর্ণ।
এ দুটি মডেলই প্রাকৃতিক ভাষা প্রক্রিয়াকরণের (NLP) বিভিন্ন কাজ যেমন টেক্সট ক্লাসিফিকেশন, স্প্যাম ডিটেকশন, তথ্য অনুসন্ধান ইত্যাদিতে ব্যবহৃত হয়।
Read more