शुरुआत के लिए, Naive Bayes शायद यहां उपयुक्त नहीं है। यह इनपुट के बीच स्वतंत्रता को मानता है (इसलिए "Naive") और एक वाक्य में शब्द बहुत निर्भर हैं।
लेकिन, यह मानकर कि आप अपने प्रयोग को शुरू करने के लिए एनबी के साथ एक एल्गोरिथ्म के रूप में चलना चाहते हैं, मेरे विचार से दो विकल्प हैं:
अस्वाभाविक: बहुत सारे NB सहपाठियों
यह एक वैकल्पिक दृष्टिकोण होगा। इनपुट के अपने वेक्टर के रूप में मनाया सभी शब्दों का एक कोष बनाएँ। आउटपुट के अपने वेक्टर के रूप में देखे जाने वाले सभी टैग बंद करें। कई आउटपुट के साथ एक एनबी क्लासिफायर एक आउटपुट के साथ कई एनबी क्लासिफायर होने के बराबर है (इसलिए जो भी आपके द्वारा उपयोग किए जा रहे सॉफ़्टवेयर ढांचे में लागू करना आसान है)। प्रत्येक तत्व को एक प्रशिक्षण नमूने के रूप में समझें जहां एक दिया गया इनपुट (एक शब्द) एक है 1
अगर वह शब्द मौजूद है और 0
यदि वह शब्द नहीं है। आउटपुट के लिए समान बाइनरी स्कीम का उपयोग करें।
यह ब्रूट आपके डेटा में NB क्लासिफायर के अनुप्रयोग को मजबूर करता है, और आपको अभी भी अपने द्वारा वर्गीकृत किए गए क्लासिफायर के विशाल सेट को छोड़ देने का अर्थ ढूंढने के लिए छोड़ देता है।
अधिक सुंदर: अपने डेटा को संसाधित करें
यदि आप एक से अधिक एनबी क्लासिफायर के साथ भागना चाहते हैं तो यह वह तरीका है जिसकी मैं सिफारिश करूंगा।
यहां आपका लक्ष्य यह पता लगाना है कि टैग के प्रत्येक सेट को एक वर्ग में कैसे मैप किया जाए। मुझे यकीन है कि कुछ प्रकार की क्लस्टरिंग योजना या नेटवर्क विश्लेषण (शायद ["सेलेब्रिटी"] ["मर्डर" से जुड़ा हुआ है] एक सेगमेंट बन सकता है ["डेब्यूचेरी"] जो आपके टैग को एक एकल क्लस्टर में समझदारी से मैप करेगा। यदि आप टैग्स को नोड्स के रूप में मानते हैं और दो दिए गए टैग्स को लिंक के रूप में एक साथ मानते हैं, तो आप समुदाय का पता लगाने वाले एल्गोरिदम (जो कि जहां मैं शुरू करूंगा) को देखना चाहता हूं। लेकिन, यदि आप केवल कुछ काम करना चाहते हैं, तो टैग पर किसी प्रकार का हैक जो टैग की एक सूची को केवल टैग में परिवर्तित करता है जो आपके डेटासेट में सबसे अधिक देखा जाता है, पर्याप्त होगा।
यह विधि आपके डेटा को साफ करने के काम को सामने रखती है और इससे एनबी क्लासिफायर के आउटपुट को समझना आसान हो जाएगा।