1- O número de características: Em termos de modelo de rede neural, representa o número de neurônios na camada de projeção (oculta). Como a camada de projeção é construída com base em hipóteses distributivas, o vetor numérico para cada palavra significa sua relação com suas palavras de contexto.
Esses recursos são aprendidos pela rede neural, pois esse é um método não supervisionado. Cada vetor possui vários conjuntos de características semânticas. Por exemplo, vamos pegar o exemplo clássico V(King) -V(man) + V(Women) ~ V(Queen)
e cada palavra representada pelo vetor 300-d. V(King)
terá características semânticas de Royality, reino, masculinidade, humano no vetor em uma determinada ordem. V(man)
terá masculinidade, humano, trabalho em uma determinada ordem. Assim, quando V(King)-V(Man)
terminar, a masculinidade, as características humanas serão anuladas e adicionadasV(Women)
quais ter feminilidade, as características humanas serão adicionadas, resultando em um vetor muito semelhante aoV(Queen)
. O interessante é que essas características são codificadas no vetor em uma determinada ordem, para que cálculos numéricos como adição e subtração funcionem perfeitamente. Isso se deve à natureza do método de aprendizado não supervisionado na rede neural.
2- Existem dois algoritmos de aproximação. Hierarchical softmax
e negative sampling
. Quando o parâmetro de amostra é fornecido, é necessária uma amostragem negativa. No caso de softmax hierárquico, para cada vetor de palavra, suas palavras de contexto recebem saídas positivas e todas as outras palavras no vocabulário recebem saídas negativas. A questão da complexidade do tempo é resolvida por amostragem negativa. Como na amostragem negativa, ao invés de todo o vocabulário, apenas uma parte amostrada do vocabulário recebe resultados negativos e os vetores são treinados, o que é muito mais rápido que o método anterior.