title | output | author | ||||
---|---|---|---|---|---|---|
Word Embedding |
|
Sayuri Takeda |
Técnica de NLP onde palavras são mapeadas para vetores.
É dificil representar a ideia de contexto. Também existe uma limitação em representar palavras idiomáticas.
Exemplo de palavra idiomática:
Duas possíveis aplicações de word embedding podem ser:
- extrair contexto de uma palavra em um documento
- determinar relação com outras palavras
Facebook AI Research (FAIR)
É possível representar palavras de um determinado vocabulário utilizando one hot encoding, vamos ilustrar um exemplo:
- O TAP é bom
- O TAP é ótimo
Vocabulário ={"O", "TAP", "é", "bom", "ótimo"}
Representando o vocabulário por one hot encoding:
- O -> (1,0,0,0,0)
- TAP -> (0,1,0,0,0)
- é -> (0,0,1,0,0)
- bom -> (0,0,0,1,0)
- ótimo -> (0,0,0,0,1)
Sabemos que, dentro do contexto, "bom" deveria ser próximo de "ótimo".
Softmax pega um vetor não normalizado e retorna um vetor normalizado baseado em uma distribuição de probabilidade.
A forma mais popular de se trabalhar com word embedding é o word2vec que utiliza rede neural e foi criado por Thomas Mikolov da Google.
Não existe função de ativação com sigmoide, than ou relu:
Modelo CBOW simples com apenas uma palavra do contexto.
Tenta predizer o vizinho, esse é o "contexto", por exemplo:
Duas inovações que foram feitas em um segundo paper que aumentam a qualidade do resultado e reduz o esforço computacional:
- Subamostra de palavras frequentes
- Amostra negativa