Conteúdo
Este artigo marca a terceira entrada numa série intitulada Revisão de Pesquisa em Deep Learning, que visa resumir e clarificar artigos de investigação em vários subdomínios do deep learning. O foco atual é o Processamento de Linguagem Natural (NLP), um domínio preocupado com a construção de sistemas capazes de compreender e processar a linguagem humana para realizar tarefas como Resposta a Perguntas (como Siri ou Alexa), Análise de Sentimentos, Mapeamentos de Imagem para Texto, Tradução Automática, Reconhecimento de Fala, Etiquetagem de Partes do Discurso e Reconhecimento de Entidades Nomeadas. As edições anteriores cobriram Aprendizagem por Reforço e Redes Generativas Adversariais, estabelecendo uma base para esta exploração de como as técnicas de deep learning melhoram o NLP.\n\nTradicionalmente, o NLP dependia fortemente do conhecimento linguístico do domínio, abrangendo conceitos como fonemas e morfemas. Por exemplo, decompor uma palavra como "uninterested" em prefixo, raiz e sufixo ajuda a decifrar o seu sentimento e significado ao aproveitar regras linguísticas — "un" indicando negação, "interest" como a palavra raiz, e "ed" marcando o tempo passado. No entanto, contabilizar manualmente todos os prefixos e sufixos em inglês exigiria uma extensa especialização linguística e ainda provavelmente perderia muitas nuances, tornando os métodos tradicionais trabalhosos e limitados em escalabilidade.\n\nO deep learning oferece uma abordagem transformadora ao focar-se na aprendizagem de representações. Tal como as redes neurais convolucionais (CNNs) aprendem características de imagens através de filtros, os modelos de deep learning em NLP visam aprender representações de palavras a partir de grandes conjuntos de dados. Esta mudança desloca a ênfase de características feitas à mão para embeddings orientados por dados, permitindo que os modelos capturem significados e contextos das palavras de forma mais flexível e abrangente.\n\nUm conceito fundamental no NLP baseado em deep learning é representar palavras como vetores num espaço multidimensional. Por exemplo, uma palavra pode ser representada como um vetor de seis dimensões, com cada dimensão codificando algum aspeto do significado ou contexto da palavra. Um método básico para inicializar estes vetores é construir uma matriz de coocorrência, que conta com que frequência cada palavra aparece perto de todas as outras palavras no corpus de treino. Extrair linhas desta matriz fornece vetores iniciais de palavras, onde palavras semelhantes tendem a ter padrões vetoriais semelhantes. Por exemplo, palavras como "love" e "like" mostram contagens de coocorrência semelhantes com substantivos como "NLP" e "dogs", e pronomes como "I", indicando propriedades semânticas partilhadas.\n\nNo entanto, a abordagem da matriz de coocorrência escala mal. Com um vocabulário grande, como um milhão de palavras, a matriz torna-se proibitivamente grande e esparsa, resultando em ineficiência tanto no armazenamento como no cálculo. Para superar isto, foram desenvolvidos métodos mais sofisticados como o Word2Vec. O Word2Vec gera embeddings compactos de palavras ao treinar um modelo para prever palavras circundantes dentro de uma janela especificada para cada palavra central. Por exemplo, dada a frase "I love NLP and I like dogs," com uma janela de tamanho três, o modelo tenta maximizar a probabilidade das palavras de contexto que rodeiam a palavra central "love."\n\nO treino otimiza uma função que soma as probabilidades logarítmicas de ocorrência para as palavras de contexto dado a palavra central, utilizando descida de gradiente estocástica para atualizar os vetores. Cada palavra tem duas representações vetoriais distintas: uma quando é a palavra central e outra quando aparece no contexto. Apesar da sua complexidade matemática, o Word2Vec avança significativamente as representações vetoriais de palavras ao permitir capturar relações semânticas e sintáticas.\n\nUm resultado notável do treino do Word2Vec é o surgimento de relações lineares entre vetores de palavras. Estas relações codificam analogias gramaticais e semânticas, como a aritmética vetorial refletindo "king" – "man" + "woman" ≈ "queen." Esta propriedade destaca o poder de arquiteturas neurais simples combinadas com objetivos de treino apropriados em capturar conceitos complexos da linguagem. Assim, o Word2Vec não só oferece embeddings eficientes, mas também insights profundos sobre a estrutura da linguagem aprendida a partir dos dados em vez de regras linguísticas.