Robson Cruz
word embedding é uma "representação aprendida" para texto onde palavras que possuem o mesmo significado tem uma representação similar
É atualmente considerado um dos maiores avanços e responsáveis para o Processamento de Linguagem Natural (NLP).
A ideia geral é representar uma palavra de um vocabulário utilizando vetores reais em um espaço vetorial pré-definido.
O ponto chave da abordagem é a utilização de vetores de alta dimensionalidade.
associate with each word in the vocabulary a distributed word feature vector … The feature vector represents different aspects of the word: each word is associated with a point in a vector space. The number of features … is much smaller than the size of the vocabulary
Bengio, Y. & Ducharme, Réjean & Vincent, Pascal. (2000). A Neural Probabilistic Language Model. Journal of Machine Learning Research.
Isso apresenta vantagens em relação ao BoW
É um modelo que se baseia na frequência de ocorrência de palavras. A intuição é que documentos são similares se possuem conteúdos similares.
Coleta de dados
Desenvolvimento do vocabulário
Criação de vetores de documentos
"it was the worst of times"
Diferentes técnicas são utilizadas para word embedding
is a two-layer neural network that takes as its input a large corpus of text and produces a vector space, typically of several hundred dimensions, with each unique word in the corpus being assigned a corresponding vector in the space
Mikolov, Tomas; et al. (2013). "Efficient Estimation of Word Representations in Vector Space"
King, Queen, Man, Woman, Child
King
Queen
Woman
Man
Child
A ideia é representar o conteúdo de maneira abstrata
Mikolov, Tomas; et al. (2013). "Efficient Estimation of Word Representations in Vector Space"
Continuous Bag of Words
Utiliza o contexto da palavra para determinar a "saída"
The training objective is to maximize the conditional probability of observing the actual output word (the focus word) given the input context words, with regard to the weights.
Input
W1
Output
A ideia do Skip-Gram é trabalhar de maneira inversa ao CBOW.
Dada uma palavra de entrada, são gerados vetores para palavras possíveis relacionadas
This implies that the link (activation) function of the hidden layer units is simply linear (i.e., directly passing its weighted sum of inputs to the next layer).
A atualizaçãod e cada vertor de saída é um processo computacionalmente caro...
To solve this problem, an intuition is to limit the number of output vectors that must be updated per training instance. One elegant approach to achieving this is hierarchical softmax; another approach is through sampling.
The main advantage is that instead of evaluating V output nodes in the neural network to obtain the probability distribution, it is needed to evaluate only about log2(V) words… In our work we use a binary Huffman tree, as it assigns short codes to the frequent words which results in fast training.