<p>No. 
You can set the length of the vector freely.</p>

<p>Then, what is the vector?</p>

<p>It is distributed representation of meaning of the word.</p>

<p>I don't understand exactly how can it be trained. but, The trained one is meaning like below.</p>

<p>If one vector representation like this,</p>

<p>[0.2 0.6 0.2]</p>

<p>It is closer one to [0.2 0.7 0.2] than [0.7 0.2 0.5].</p>

<p>Here is another example.</p>

<p>CRY [0.5 0.7 0.2]</p>

<p>HAPPY [-0.4 0.3 0.1]</p>

<p>SAD [0.4 0.6 0.2]</p>

<p>'CRY' is more close to 'SAD' than 'HAPPY' because the methods(CBOW or SKIP-GRAM, etc.) can make the vectors more closely when the meaning(or syntactic position) of the words are similar.</p>

<p>Actually, The accurate depends on many things, quite. Selecting methods are also important. and the large amount of good data(corpura), also.</p>

<p>If you want to check the similarity of some words, you make the vectors of words first, and check the cosine similarity of that words.</p>

<p>The paper(<a href="https://arxiv.org/pdf/1301.3781.pdf" rel="nofollow">https://arxiv.org/pdf/1301.3781.pdf</a>) explained some methods and listed accuracies. </p>

<p>You can understand c codes, The word2vec program(<a href="https://code.google.com/archive/p/word2vec/" rel="nofollow">https://code.google.com/archive/p/word2vec/</a>) is useful. It implements CBOW(Continuous Bag-Of-Words) and SKIP-gram.</p>

<p>ps) Please correct my bad english.
ps) comment, if you have the question, yet.</p>
Understanding Word2Vec's Skip-Gram Structure and Output
<p>My question is two-fold, but hopefully not too complicated. And both parts specifically pertain to the Skip-Gram model in Word2Vec:</p>

<ul>
<li><p>The first part is about structure: as far as I understand it, the Skip-Gram model is based on one neural network with one input weight matrix <strong>W</strong>, one hidden layer of size N, and C output weight matrices <strong>W'</strong> each used to produce one of the C output vectors. Is this correct?</p></li>
<li><p>The second part is about the output vectors: as far as I understand it, each output vector is of size V and is a result of a Softmax function. Each output vector <em>node</em> corresponds to the index of a word in the vocabulary, and the value of each node is the probability that the corresponding word occurs at that context location (for a given input word). The target output vectors are not, however, one-hot encoded, even if the training instances are. Is this correct?</p></li>
</ul>

<p>The way I imagine it is something along the following lines (made-up example):</p>

<p>Assuming the vocabulary ['quick', 'fox', 'jumped', 'lazy', 'dog'] and a context of C=1, and assuming that for the input word 'jumped' I see the two output vectors looking like this:</p>

<p>[0.2 <strong>0.6</strong> 0.01 0.1 0.09]</p>

<p>[0.2 0.2 0.01 0.16 <strong>0.43</strong>]</p>

<p>I would interpret this as 'fox' being the most likely word to show up before 'jumped' (p=0.6), and 'dog' being the most likely to show up after it (p=0.43).</p>

<p>Do I have this right? Or am I completely off? Any help is appreciated.</p>