Word2vec में शब्द वैक्टर की विशेषताएं


9

मैं भावना विश्लेषण करने की कोशिश कर रहा हूं। शब्दों को शब्द वैक्टर में बदलने के लिए मैं word2vec मॉडल का उपयोग कर रहा हूं। मान लीजिए कि मेरे पास 'वाक्य' नाम की एक सूची में सभी वाक्य हैं और मैं इन वाक्यों को शब्द 2vec में दे रहा हूं:

model = word2vec.Word2Vec(sentences, workers=4 , min_count=40, size=300,   window=5, sample=1e-3)

चूँकि मैं शब्द वैक्टर के लिए noob हूँ, मुझे दो संदेह हैं।
1- 300 में सुविधाओं की संख्या निर्धारित करना एक शब्द वेक्टर की सुविधाओं को परिभाषित करता है। लेकिन ये विशेषताएं क्या संकेत देती हैं? यदि इस मॉडल के प्रत्येक शब्द को 1x300 अंक के सरणी द्वारा दर्शाया गया है, तो ये 300 विशेषताएं उस शब्द के लिए क्या संकेत देती हैं?

2- उपरोक्त मॉडल में 'नमूना' पैरामीटर द्वारा दर्शाए गए नमूने का वास्तविक रूप से क्या करना है?

अग्रिम में धन्यवाद।

जवाबों:


10

1- सुविधाओं की संख्या: तंत्रिका नेटवर्क मॉडल के संदर्भ में यह प्रक्षेपण (छिपे) परत में न्यूरॉन्स की संख्या का प्रतिनिधित्व करता है। जैसा कि प्रोजेक्शन लेयर को डिस्ट्रिब्यूशनल परिकल्पना पर बनाया गया है, प्रत्येक शब्द के लिए संख्यात्मक वेक्टर यह दर्शाता है कि यह उसके संदर्भ शब्दों के साथ संबंध है।

इन विशेषताओं को तंत्रिका नेटवर्क द्वारा सीखा जाता है क्योंकि यह एक अनुपयोगी विधि है। प्रत्येक वेक्टर में सिमेंटिक विशेषताओं के कई सेट हैं। उदाहरण के लिए, चलो शास्त्रीय उदाहरण लेते हैं, V(King) -V(man) + V(Women) ~ V(Queen)और प्रत्येक शब्द 300-डी वेक्टर द्वारा दर्शाया जाता है। V(King)एक निश्चित क्रम में वेक्टर में रॉयलिटी, राज्य, पुरुषत्व, मानव की शब्दार्थ विशेषताएं होंगी। V(man)मर्दानगी होगी, मानव, एक निश्चित क्रम में काम करते हैं। इस प्रकार जब V(King)-V(Man)किया जाता है, तो पुरुषत्व, मानवीय विशेषताओं को शून्य कर दिया जाएगा और जब V(Women)स्त्रीत्व के साथ जोड़ा जाएगा, तो मानवीय विशेषताओं को जोड़ा जाएगा, जिसके परिणामस्वरूप एक वेक्टर बहुत समान होगाV(Queen)। दिलचस्प बात यह है, इन विशेषताओं को एक निश्चित क्रम में वेक्टर में एन्कोड किया गया है ताकि संख्यात्मक गणनाएं जैसे कि जोड़, उप योग पूरी तरह से काम कर सकें। यह तंत्रिका नेटवर्क में अनिश्चित सीखने की विधि की प्रकृति के कारण है।

2- दो सन्निकटन एल्गोरिदम हैं। Hierarchical softmaxऔर negative sampling। जब नमूना पैरामीटर दिया जाता है, तो यह नकारात्मक नमूना लेता है। पदानुक्रमित सॉफ्टमैक्स के मामले में, प्रत्येक शब्द वेक्टर के लिए इसके संदर्भ शब्दों को सकारात्मक आउटपुट दिया जाता है और शब्दावली में अन्य सभी शब्दों को नकारात्मक आउटपुट दिया जाता है। समय की जटिलता का मुद्दा नकारात्मक नमूने द्वारा हल किया जाता है। पूरी शब्दावली के बजाय नकारात्मक नमूने में, शब्दावली का केवल एक नमूना भाग नकारात्मक आउटपुट दिया जाता है और वैक्टर को प्रशिक्षित किया जाता है जो पूर्व विधि की तुलना में बहुत तेज है।


शब्द 2vec सुविधाओं की यह व्याख्या भ्रामक है। अंतरिक्ष में पुरुषत्व का आयाम नहीं है, या वेक्टर में एक रॉयल्टी तत्व नहीं है। यदि ऐसा होता, तो 300-आयाम वाला वेक्टर स्थान केवल 300 स्वतंत्र अर्थ संबंधी डायकोटोमियों का प्रतिनिधित्व कर सकता था।
डैन हिक्स

@DanHicks: मैंने प्रत्येक सुविधा को अंतरिक्ष के आयाम के रूप में उल्लेख नहीं किया है। मैंने सिर्फ यह बताया कि इस तरह की शब्दार्थ विशेषताएं कुछ निश्चित क्रम में वेक्टर में एन्कोडेड हैं, जैसे कि गणितीय संचालन संभव है।
यजीह

"फीचर्स" सामान्य रूप से मामलों को दर्शाने के लिए उपयोग किए जाने वाले चर को संदर्भित करता है - इस मामले में, वेक्टर स्थान के वैक्टर / आयाम शब्द के तत्व। @ नैन के प्रश्न में स्पष्ट रूप से "सुविधाओं" का उपयोग किया गया है। आप जिस "शब्दार्थ विशेषताओं" की बात कर रहे हैं, वह इस बारे में बात करने का एक अस्पष्ट तरीका है कि word2vec उपमा कैसे संभालता है। वे वैक्टर शब्द की सभी विशेषताओं में नहीं हैं।
डैन हिक्स

1
आप सही हैं .. मैंने "सिमेंटिक विशेषताओं" को "सिमेंटिक विशेषताओं" को संपादित किया है, और उत्तर में "विशेषताएं" केवल वेक्टर के आयामों का प्रतिनिधित्व करता है।
यज़ीह

0
  1. वितरण संबंधी परिकल्पना के अनुसार, शब्द के वेक्टर में व्यक्तिगत आयाम वास्तविक दुनिया में शब्द के बारे में अधिक संकेत नहीं देते हैं। आपको व्यक्तिगत आयामों के बारे में चिंता करने की आवश्यकता है। यदि आपका प्रश्न ऐसा है, तो मुझे dimesions की संख्या का चयन कैसे करना चाहिए, यह विशुद्ध रूप से आपके डेटा के लिए प्रयोग पर आधारित है और यह 100 से 1000 तक जा सकता है। कई प्रयोगों के लिए जहां प्रशिक्षण विकी पाठ पर किया जाता है, 300 आयामों में से ज्यादातर सर्वश्रेष्ठ देते हैं। परिणाम।
  2. नमूना परम उच्च आवृत्ति वाले शब्दों को prune करने के लिए उपयोग किया जाने वाला पैरामीटर है। उदाहरण के लिए, "" "" "" है "", इन स्टॉपवर्ड्स को विंडो में नहीं माना जाता है, जबकि अंदर के शब्द की भविष्यवाणी करते हैं और डिफ़ॉल्ट मूल्य इन स्टॉप शब्दों की पहचान करने के लिए अच्छी तरह से काम करता है जिनकी आवृत्ति अधिक है।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.