मैं पूरी तरह से word2vec के लिए नया हूँ इसलिए pls इसे मेरे साथ सहन करें मेरे पास 1000-3000 के बीच, प्रत्येक ट्वीट के सेट के साथ पाठ फ़ाइलों का एक सेट है। मैंने एक सामान्य कीवर्ड ("kw1") चुना है और शब्द 2 kc का उपयोग करके "kw1" के लिए शब्दार्थिक रूप से प्रासंगिक शब्द खोजना चाहता हूं। उदाहरण के लिए यदि कीवर्ड "ऐप्पल" है, तो मैं इनपुट फ़ाइल के आधार पर "आईपैड" "ओएस" "मैक" जैसे संबंधित शब्दों को देखने की उम्मीद करूंगा। तो "kw1" के लिए संबंधित शब्दों का यह सेट प्रत्येक इनपुट फ़ाइल के लिए अलग होगा क्योंकि word2vec को प्रत्येक फ़ाइल पर फ़ाइलों (उदाहरण के लिए, 5 इनपुट फ़ाइलें, रन वर्ड 2vec 5 बार) पर प्रशिक्षित किया जाएगा।
मेरा लक्ष्य सामान्य कीवर्ड ("kw1") दिए गए प्रत्येक इनपुट फ़ाइल के लिए संबंधित शर्तों के सेट को खोजना है, जिसका उपयोग कुछ अन्य उद्देश्यों के लिए किया जाएगा।
मेरे प्रश्न / शंकाएँ हैं:
- क्या इस तरह से किसी कार्य के लिए word2vec का उपयोग करना समझ में आता है? क्या किसी इनपुट फ़ाइल के छोटे आकार पर विचार करना तकनीकी रूप से सही है?
मैंने code.google.com से कोड डाउनलोड किया है: https://code.google.com/p/word2vec/ और अभी इसे सूखा रन दिया है:
time ./word2vec -train $file -output vectors.bin -cbow 1 -size 200 -window 10 -negative 25 -hs 1 -sample 1e-3 -threads 12 -binary 1 -iter 50
./distance vectors.bin
अपने परिणामों से मैंने देखा कि जब मैं "k1" से संबंधित शब्द प्राप्त करने के लिए 'दूरी' उपकरण का उपयोग कर रहा हूं तो मुझे कई शोर शब्द (स्टॉपवर्ड्स) मिल रहे हैं। इसलिए मैंने स्टॉपवॉच और अन्य शोर शर्तों को हटा दिया जैसे कि उपयोगकर्ता उल्लेख। लेकिन मैंने कहीं भी नहीं देखा कि word2vec को क्लीन इनपुट डेटा की आवश्यकता है ...?
आप सही पैरामीटर कैसे चुनते हैं? मैं परिणाम देखता हूं (दूरी उपकरण चलाने से) बहुत भिन्न होता है जब मैं '-विंडो', '-iter' जैसे मापदंडों को बदलता हूं। मापदंडों के लिए सही मान खोजने के लिए मुझे किस तकनीक का उपयोग करना चाहिए। (मैनुअल परीक्षण और त्रुटि मेरे लिए संभव नहीं है क्योंकि मैं डेटासेट को स्केल कर रहा हूं)।