<p>Famous Word2Vec implementation is CBOW + Skip-Gram</p>

<p>Your input for CBOW is your input word vector (each is a vector of length N; N = size of vocabulary). All these input word vectors together are an array of size M x N; M=length of words).</p>

<p>Now what is interesting in the graphic below is the projection step, where we force an NN to learn a lower dimensional representation of our input space to predict the output correctly. The desired output is our original input. </p>

<p>This lower dimensional representation P consists of abstract features describing words e.g. location, adjective, etc. (in reality these learned features are not really clear). Now these features represent one view on these words. </p>

<p>And like with all features, we can see them as high-dimensional vectors.
If you want you can use dimensionality reduction techniques to display them in 2 or 3 dimensional space. </p>

<p><a href="https://i.stack.imgur.com/gpH3u.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/gpH3u.png" alt="enter image description here"></a></p>

<p>More details and source of graphic: <a href="https://arxiv.org/pdf/1301.3781.pdf" rel="nofollow noreferrer">https://arxiv.org/pdf/1301.3781.pdf</a></p>
Why are word embedding actually vectors?
<p>I am sorry for my naivety, but I don't understand why word embeddings that are the result of NN training process (word2vec) are actually vectors.</p>

<p>Embedding is the process of dimension reduction, during the training process NN reduces the 1/0 arrays of words into smaller size arrays, the process does nothing that applies vector arithmetic.</p>

<p>So as result we got just arrays and not the vectors. Why should I think of these arrays as vectors?</p>

<p>Even though, we got vectors, why does everyone depict them as vectors coming from the origin (0,0)?</p>

<p>Again, I am sorry if my question looks stupid.</p>