Casa > Q > Quais São As Principais Diferenças Entre A Palavra Incorporação De Elmo, Bert, Word2Vec, E Glove?

Quais são as principais diferenças entre a palavra incorporação de ELMo, BERT, Word2vec, e GloVe?

A principal diferença entre as palavras embeddings do Word2vec, Glove, ELMo e BERT é que
  • li>Word2vec e Glove embeddings são independentes do contexto - estes modelos produzem apenas um vector (embedding) para cada palavra, combinando todos os diferentes sentidos da palavra num só vector.<
    • É a única representação numérica de uma palavra (a que chamamos embedding/vector) independentemente de onde as palavras ocorrem numa frase e independentemente dos diferentes significados que elas possam ter. Por exemplo, depois de treinarmos a palavra2vec/Glove num corpus (treino sem supervisão - não são necessários rótulos) obtemos como saída uma representação vectorial para, digamos, a palavra "célula". Assim, mesmo que tivéssemos uma frase como "Ele foi para a cela da prisão com o telemóvel para extrair amostras de células sanguíneas dos reclusos", onde a palavra célula tem significados diferentes com base no contexto da frase, estes modelos apenas os colapsam todos num único vector para "célula" na sua saída.
  • ELMo e BERT podem gerar diferentes incorporações de palavras para uma palavra que captura o contexto de uma palavra - que é a sua posição numa sentença.
    • Por exemplo, para o mesmo exemplo acima "Ele foi para a cela da prisão com o seu telemóvel para extrair amostras de células sanguíneas dos reclusos", tanto Elmo como BERT gerariam vectores diferentes para os três vectores para a célula. A primeira cela (caso da cela da prisão) , por exemplo, seria mais próxima de palavras como encarceramento, crime, etc. enquanto a segunda "cela" (caso do telefone) seria mais próxima de palavras como iphone, andróide, galáxia, etc..

A principal diferença acima é uma consequência do facto do Word2vec e da Luva não terem em conta a ordem das palavras no seu treino - ELMo e BERT têm em conta a ordem das palavras (ELMo usa LSTMS; BERT usa Transformer - um modelo baseado na atenção com codificações posicionais para representar as posições das palavras).

Uma implicação prática desta diferença é que podemos usar o Word2vec e os vectores da Luva treinados num grande corpus directamente para tarefas a jusante. Tudo o que precisamos são os vetores para as palavras. Não há necessidade do modelo em si que foi usado para treinar esses vetores.

No entanto, no caso do ELMo e do BERT, já que eles são dependentes do contexto, precisamos do modelo que foi usado para treinar os vetores mesmo após o treinamento, já que os modelos geram os vetores para uma palavra baseada no contexto. Podemos apenas usar os vetores independentes do contexto para uma palavra se escolhermos também (basta obter o vetor bruto treinado a partir do modelo treinado) , mas isso iria derrotar o próprio propósito/vantagem desses modelos. A figura abaixo capta esta última tendência de usar embutimentos de palavras juntamente com os modelos nos quais eles foram treinados para tarefas a jusante

>img src="https://qph.fs.quoracdn.net/main-qimg-b46d83b2eee2d5875f469b22a494db6e">

Figure from what were the most significant Natural Language Processing advances in 2018?

Existe uma diferença fundamental entre a forma como o BERT gera as suas incorporações e todos os outros três modelos - Glove, Word2vec e ELMo.

  • Glove e Word2vec são modelos baseados em palavras - ou seja, os modelos tomam como palavras de entrada e saída as incorporações de palavras.
  • Elmo em contraste é um modelo baseado em caracteres usando convoluções de caracteres e pode lidar com palavras fora do vocabulário por este motivo. As representações aprendidas são palavras no entanto (mostradas na tabela abaixo).
  • BERT representa input como sub-palavras e aprende embeddings para sub-palavras. Portanto, tem um vocabulário que é cerca de 30.000 para um modelo treinado num corpus com um grande número de palavras únicas (~ milhões) - que é muito menor em contraste com uma luva, Word2vec, ou modelo ELMo treinado no mesmo corpus. Representar o input como sub-palavra em oposição às palavras tornou-se a tendência mais recente porque estabelece um equilíbrio entre representações baseadas em caracteres e representações baseadas em palavras - o benefício mais importante é evitar casos de OOV (fora do vocabulário) dos quais os outros dois modelos (Glove, Word2vec ) mencionados na pergunta sofrem. Tem havido trabalhos recentes que os modelos de linguagem baseados em caracteres não funcionam tão bem quanto os modelos baseados em palavras para grandes corpus, o que talvez seja uma vantagem que os modelos baseados em sub-palavras têm sobre modelos de entrada baseados em caracteres como Elmo. Ter um vocabulário de tamanho fixo como o BERT tem a vantagem prática de poder carregar os vetores em uma GPU independentemente do tamanho do corpus (um problema que impediu que modelos anteriores como context2vec fossem usados em escala em um corpus grande)

As diferenças estão resumidas na tabela

main-qimg-fa496d9bfaa72f614d4cbae0c75f89cc

Representações de aprendizagem na coluna acima representa o que o modelo sai para cada palavra. Mesmo que a entrada do ELMo seja baseada em caracteres, a representação aprendida que ele produz é para uma palavra. BERT em contraste aprende representação para sub-palavras.

Correcção: Houve um erro factual gritante apontado por Sriram Sampath que é corrigido. Uma versão anterior desta resposta tinha mencionado incorrectamente ELMo foi baseada em palavras na sua entrada e por isso não pode lidar com OOV. O ELMo é baseado em caracteres na sua entrada mesmo que as representações aprendidas estejam no nível das palavras (ao contrário do BERT onde as representações aprendidas estão no nível das sub-palavras)

Referências

Examinar as incorporações brutas do BERT

Tendência mais recente na representação de entrada para modelos linguísticos de PNL de última geração

Um método de aprendizagem de transferência promissor mas nascente que poderia reduzir ou mesmo eliminar em algumas tarefas de PNL

Quais foram os avanços mais significativos do Processamento de Linguagem Natural em 2018?

Elmo embeddings - embeddings dependentes da posição das palavras - Model Evaluations/Usage experience logs

Quais são os modelos semânticos excepto o word2vec e quais são os seus benefícios?

De Glenden Dupas

Qual é a melhor almofada de refrigeração para portátil com sensores? :: O pensamento é um fenómeno físico?