Incorporação de palavras - Word embedding

No processamento de linguagem natural (PNL), incorporação de palavras é um termo usado para a representação de palavras para análise de texto, normalmente na forma de um vetor de valor real que codifica o significado da palavra de forma que as palavras que estão mais próximas no vetor espera-se que o espaço tenha um significado semelhante. Embeddings de palavras podem ser obtidos usando um conjunto de modelagem de linguagem e técnicas de aprendizado de recursos , onde palavras ou frases do vocabulário são mapeadas para vetores de números reais . Conceitualmente, envolve a incorporação matemática do espaço com muitas dimensões por palavra a um espaço vetorial contínuo com uma dimensão muito inferior.

Os métodos para gerar esse mapeamento incluem redes neurais , redução de dimensionalidade na matriz de co-ocorrência de palavras , modelos probabilísticos, método de base de conhecimento explicável e representação explícita em termos do contexto em que as palavras aparecem.

Foi demonstrado que os embeddings de palavras e frases, quando usados ​​como a representação de entrada subjacente, aumentam o desempenho em tarefas de PNL, como análise sintática e análise de sentimento .

Desenvolvimento e história da abordagem

Em linguística , embeddings de palavras foram discutidos na área de pesquisa da semântica distributiva . Tem como objetivo quantificar e categorizar semelhanças semânticas entre itens linguísticos com base em suas propriedades distribucionais em grandes amostras de dados de linguagem. A ideia subjacente de que "uma palavra é caracterizada pela empresa que mantém" foi popularizada por John Rupert Firth .

A noção de um espaço semântico com itens lexicais (palavras ou termos com várias palavras) representados como vetores ou embeddings é baseada nos desafios computacionais de capturar características distribucionais e usá-las para aplicação prática para medir similaridade entre palavras, frases ou documentos inteiros. A primeira geração de modelos de espaço semântico é o modelo de espaço vetorial para recuperação de informação. Esses modelos de espaço vetorial para palavras e seus dados de distribuição implementados em sua forma mais simples resultam em um espaço vetorial muito esparso de alta dimensionalidade (cf. Maldição da dimensionalidade ). Reduzir o número de dimensões usando métodos algébricos lineares, como decomposição de valor singular , levou à introdução da análise semântica latente no final dos anos 1980 e à abordagem de indexação aleatória para coletar contextos de coocorrência de palavras. Em 2000, Bengio et al. forneceu em uma série de artigos os "modelos de linguagem probabilística neural" para reduzir a alta dimensionalidade das representações de palavras em contextos por "aprender uma representação distribuída para palavras". Os embeddings de palavras vêm em dois estilos diferentes, um em que as palavras são expressas como vetores de palavras co-ocorrentes e outro em que as palavras são expressas como vetores de contextos linguísticos nos quais as palavras ocorrem; esses estilos diferentes são estudados em (Lavelli et al., 2004). Roweis e Saul publicaram na Science como usar " incorporação linear local " (LLE) para descobrir representações de estruturas de dados de alta dimensão. A maioria das novas técnicas de incorporação de palavras após cerca de 2005 dependem de uma arquitetura de rede neural em vez de modelos mais probabilísticos e algébricos, desde alguns trabalhos básicos de Yoshua Bengio e colegas.

A abordagem tem sido adotada por muitos grupos de pesquisa após avanços por volta do ano de 2010 terem sido feitos em trabalhos teóricos sobre a qualidade dos vetores e a velocidade de treinamento do modelo e os avanços de hardware permitiram que um espaço de parâmetros mais amplo fosse explorado de forma lucrativa. Em 2013, uma equipe do Google liderada por Tomas Mikolov criou o word2vec , um kit de ferramentas de incorporação de palavras que pode treinar modelos de espaço vetorial mais rápido do que as abordagens anteriores. A abordagem word2vec tem sido amplamente usada em experimentação e foi fundamental para aumentar o interesse por incorporação de palavras como uma tecnologia, movendo a vertente de pesquisa da pesquisa especializada para experimentação mais ampla e, finalmente, pavimentando o caminho para a aplicação prática.

Limitações

Tradicionalmente, uma das principais limitações dos embeddings de palavras ( modelos de espaço vetorial de palavras em geral) é que palavras com vários significados são combinadas em uma única representação (um único vetor no espaço semântico). Em outras palavras, polissemia e homonímia não são tratadas adequadamente. Por exemplo, na frase "O clube que experimentei ontem era ótimo!", Não está claro se o termo clube está relacionado ao sentido da palavra de um clube de sanduíche , clube de beisebol , clube , clube de golfe ou qualquer outro sentido desse clube pode ter. A necessidade de acomodar múltiplos significados por palavra em diferentes vetores (embeddings de múltiplos sentidos) é a motivação para várias contribuições em PNL para dividir os embeddings de sentido único em outros de múltiplos sentidos.

A maioria das abordagens que produzem embeddings multi-sentido pode ser dividida em duas categorias principais para sua representação de sentido de palavra, ou seja, não supervisionada e baseada no conhecimento. Baseado no word2vec skip-gram, Multi-Sense Skip-Gram (MSSG) realiza a discriminação de sentido de palavra e incorporação simultaneamente, melhorando seu tempo de treinamento, enquanto assume um número específico de sentidos para cada palavra. No Non-Parametric Multi-Sense Skip-Gram (NP-MSSG), esse número pode variar dependendo de cada palavra. Combinando o conhecimento prévio de bancos de dados lexicais (por exemplo, WordNet , ConceptNet , BabelNet ), embeddings de palavras e desambiguação de sentido de palavra, a Anotação de Sentido Mais Adequado (MSSA) rotula os sentidos de palavra por meio de uma abordagem não supervisionada e baseada em conhecimento, considerando o contexto de uma palavra em um pré -definida janela deslizante. Assim que as palavras forem eliminadas, elas podem ser usadas em uma técnica de embeddings de palavras padrão, de forma que os embeddings de vários sentidos sejam produzidos. A arquitetura MSSA permite que o processo de desambiguação e anotação seja executado recorrentemente de uma maneira de autoaperfeiçoamento.

O uso de embeddings multi-sentido é conhecido por melhorar o desempenho em várias tarefas de PNL, como marcação de parte da fala , identificação de relação semântica, relação semântica , reconhecimento de entidade nomeada e análise de sentimento.

Recentemente, embeddings contextualmente significativos, como ELMo e BERT , foram desenvolvidos. Esses embeddings usam o contexto de uma palavra para eliminar a ambigüidade dos polissemes. Eles fazem isso usando arquiteturas de rede neural LSTM e Transformer .

Para sequências biológicas: BioVetores

Embeddings de palavras para n- gramas em sequências biológicas (por exemplo, DNA, RNA e proteínas) para aplicações de bioinformática foram propostas por Asgari e Mofrad. Biovetores nomeados (BioVec) para se referir a sequências biológicas em geral com vetores de proteínas (ProtVec) para proteínas (sequências de aminoácidos) e vetores de genes (GeneVec) para sequências de genes, esta representação pode ser amplamente utilizada em aplicações de profundidade aprendizagem em proteômica e genômica . Os resultados apresentados por Asgari e Mofrad sugerem que os BioVectors podem caracterizar sequências biológicas em termos de interpretações bioquímicas e biofísicas dos padrões subjacentes.

Vetores de pensamento

Os vetores de pensamento são uma extensão de embeddings de palavras para frases inteiras ou até mesmo documentos. Alguns pesquisadores esperam que isso possa melhorar a qualidade da tradução automática .

Programas

O software para treinar e usar embeddings de palavras inclui Word2vec de Tomas Mikolov, GloVe da Universidade de Stanford , GN-GloVe, Flair embeddings, ELMo de AllenNLP , BERT , fastText , Gensim , Indra e Deeplearning4j . Principal Component Analysis (PCA) e T-Distributed Stochastic Neighbor Embedding (t-SNE) são usados ​​para reduzir a dimensionalidade de espaços vetoriais de palavras e visualizar embeddings e clusters de palavras .

Exemplos de aplicação

Por exemplo, o fastText também é usado para calcular embeddings de palavras para corpora de texto no Sketch Engine que estão disponíveis online.

Veja também

Referências