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.