Word2Vec

Word2Vec is a popular algorithm used in natural language processing to create word embeddings. Word embeddings are vector representations of words that capture their meanings. Word2Vec uses a shallow neural network model to produce these word embeddings.

Word2Vec can be implemented by using two methods, Continuous Bag of Words (CBOW) and Skip-Gram model. Both models are used to predict words from the surrounding context but in slightly different ways. (As explained in Vector Space Model > Training)

The process for creating vector representations in Word2Vec involves training the shallow neural network model with three layers: an input layer, a hidden layer and an output layer.

The main idea behind Word2Vec is that "words that occur in similar contexts tend to have similar meanings". This concept is captured as feature vectors through the training process where each unique word in the corpus (i.e., all text data available) is assigned an initial vector representation. Then, through each iteration of training on the corpus, these vectors get adjusted based on the learning rate and error gradients so that semantically similar words move closer together in this multi-dimensional space.

One key feature of Word2Vec is its ability to capture semantic relationships between words. For example, it can understand analogies such as "man is to king as woman is to queen" by navigating through vector space.

However, it's important to note that Word2Vec has limitations too. It doesn't account for homonyms (words spelled and pronounced alike but having different meanings), and it doesn't handle out-of-vocabulary words well since it assigns them random vectors which may not accurately represent their semantics.

Despite these limitations, Word2Vec has been widely used in many natural language processing tasks because it's relatively simple yet powerful in capturing semantic meanings of words.