Recursos de vetores de palavras no word2vec


9

Estou tentando fazer uma análise de sentimentos. Para converter as palavras em vetores de palavras, estou usando o modelo word2vec. Suponha que eu tenho todas as frases em uma lista chamada 'frases' e estou passando essas frases para o word2vec da seguinte maneira:

model = word2vec.Word2Vec(sentences, workers=4 , min_count=40, size=300,   window=5, sample=1e-3)

Desde que eu sou novato em vetores de palavras, tenho duas dúvidas.
1- Definir o número de feições para 300 define as feições de um vetor de palavras. Mas o que esses recursos significam? Se cada palavra neste modelo é representada por uma matriz numpy 1x300, o que esses recursos 300 significam para essa palavra?

2- O que a amostragem descendente, representada pelo parâmetro 'sample' no modelo acima, faz na realidade?

Desde já, obrigado.

Respostas:


10

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 softmaxe 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.


Essa interpretação dos recursos do word2vec é enganosa. Não há uma dimensão de masculinidade do espaço ou um elemento de realeza no vetor. Se fosse esse o caso, um espaço vetorial de 300 dimensões só poderia representar 300 dicotomias semânticas independentes.
— Dan Hicks

@ DanHicks: Eu nunca mencionei cada recurso como uma dimensão do espaço. Acabei de dizer que essas características semânticas são codificadas no vetor em certa ordem, de modo que operações matemáticas sejam possíveis.
— yazhi

"Recursos" normalmente se refere às variáveis ​​usadas para representar os casos - nesse caso, os elementos da palavra vetores / dimensões do espaço vetorial. A pergunta de @ Nain claramente usa "recursos" dessa maneira. Os "recursos semânticos" dos quais você está falando são, na melhor das hipóteses, uma maneira vaga de falar sobre como o word2vec lida com analogias. Eles não são todos os recursos dos vetores de palavras.
— 21717 Dan Hicks

11
você está certo .. Eu editei "recursos semânticos" para "características semânticos", e os "recursos" na resposta representam apenas as dimensões do vetor.
— Yazhi

0
  1. De acordo com a hipótese distributiva, a dimensão individual no vetor da palavra não significa muito sobre a palavra no mundo real. Você precisa se preocupar com as dimensões individuais. Se sua pergunta for: como devo selecionar o número de dimensões, ele é puramente baseado no experimento de seus dados e pode variar de 100 a 1000. Para muitos experimentos em que o treinamento é feito no texto do wiki, a dimensão 300 fornece a melhor resultado.
  2. Parâmetro de amostra é o parâmetro usado para remover as palavras com alta frequência. Por exemplo, "the" "is" "was", essas palavras de parada não são consideradas na janela ao prever a palavra interna e o valor padrão funciona bem para identificar essas palavras de parada cuja frequência é mais alta.
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.