Início topics incorporações de palavras O que são incorporações de palavras?
Explore nossa plataforma de IA Inscreva-se para receber atualizações de IA
Ilustração com colagem de pictogramas de nuvens, gráfico de pizza, pictogramas de gráficos

Publicado: 23 de janeiro de 2024
Colaboradores: Joel Barnard

O que são incorporações de palavras?

A incorporação de palavras é uma forma de representar palavras como vetores em um espaço multidimensional, onde a distância e a direção entre vetores refletem a similaridade e as relações entre as palavras correspondentes.

O desenvolvimento de incorporação para representar texto desempenhou um papel fundamental para o avanço das aplicações de processamento de linguagem natural (PLN) e aprendizado de máquina (ML). As incorporações de palavras tornaram-se parte essencial das tarefas de classificação de texto, análise de sentimentos, tradução automática e muito mais.

Os métodos tradicionais de representar palavras de maneira que máquinas possam entender, como codificação one-hot, representam cada palavra como um vetor esparsa com uma dimensão igual ao tamanho do vocabulário. Aqui, apenas um elemento do vetor é "hot" (definido como 1) para indicar a presença daquela palavra. Embora simples, essa abordagem sofre com a maldição da dimensionalidade, falta de informações semânticas e não captura relações entre palavras.

As incorporações de palavras, por outro lado, são vetores densos com valores contínuos que são treinados usando técnicas de aprendizado de máquina, geralmente baseadas em redes neurais. A ideia é aprender representações que codifiquem significados semânticos e relações entre palavras. As incorporações de palavras são treinadas expondo um modelo a uma grande quantidade de dados de texto e ajustando as representações vetoriais com base no contexto em que as palavras aparecem.

Um método popular para treinar incorporações de palavras é o Word2Vec, que usa uma rede neural para prever as palavras ao redor de uma palavra-alvo em um dado contexto. Outra abordagem amplamente utilizada é o GloVe (Global Vectors for Word Representation), que aproveita estatísticas globais para criar incorporações.

A incorporação de palavras provaram ser inestimáveis para tarefas de PLN, pois permitem que algoritmos de aprendizado de máquina compreendam e processem as relações semânticas entre palavras de uma maneira mais matizada em comparação com métodos tradicionais.

Por que a governança da IA é um imperativo empresarial para dimensionar a IA empresarial

Saiba mais sobre as barreiras à adoção de IA, especialmente a falta de soluções de governança de IA e gerenciamento de riscos.

Conteúdo relacionado

Cadastre-se para receber o guia sobre modelos de base

Como as incorporações de palavras são utilizadas

As incorporações de palavras são usadas em uma variedade de tarefas de PNL para aprimorar a representação das palavras e capturar relações semânticas, incluindo:

Classificação de texto

As incorporações de palavras são frequentemente usadas como recursos em tarefas de classificação de texto, como análise de sentimento, detecção de spam e categorização de tópicos.

Reconhecimento de Entidade Nomeada (NER)

Para identificar e classificar entidades com precisão as entidades (por exemplo, nomes de pessoas, organizações, locais) em textos, as incorporações de palavras ajudam o modelo a entender o contexto e as relações entre palavras.

tradução automática

Em sistemas de tradução automática, as incorporações de palavras ajudam a representar palavras de uma maneira independente de idioma, permitindo que o modelo compreenda melhor as relações semânticas entre palavras nos idiomas de origem e de destino.

Recuperação de informações

Nos sistemas de recuperação de informações, as incorporações de palavras podem permitir correspondências mais precisas entre consultas de usuários e documentos relevantes, o que melhora a eficácia dos motores de busca e sistemas de recomendação.

Respostas a perguntas

As incorporações de palavras contribuem para o sucesso de sistemas de resposta a perguntas ao aprimorar a compreensão do contexto em que as perguntas são feitas e as respostas são encontradas.

Similaridade semântica e agrupamento

As incorporações de palavras possibilitam medir a similaridade semântica entre palavras ou documentos para tarefas como agrupar artigos relacionados, encontrar documentos semelhantes ou recomendar itens similares com base em seu conteúdo textual.

Geração de texto

Em tarefas de geração de texto, como modelagem de linguagem e autoencoders, as incorporações de palavras são frequentemente usadas para representar o texto de entrada e gerar sequências de saída coerentes e relevantes ao contexto.

Similaridade e analogia

As incorporações de palavras podem ser usadas para realizar tarefas de similaridade de palavras (por exemplo, encontrar palavras similares a uma palavra dada) e tarefas de analogia de palavras (por exemplo, "rei" está para "rainha" assim como "homem" está para "mulher").

Modelos pré-treinados

As incorporações de palavras pré-treinadas servem como base para o pré-treinamento de modelos de representação de linguagem mais avançados, como BERT (Bidirectional Encoder Representations from Transformers) e GPT (Generative Pre-trained Transformer).

Uma breve história das incorporações de palavras

Nos anos 2000, os pesquisadores começaram a explorar modelos de linguagem neural (MLNs), que usam redes neurais para modelar as relações entre palavras em um espaço contínuo. Esses modelos iniciais lançaram as bases para o desenvolvimento posterior dos word embeddings.

Bengio et al. (2003) introduziram redes neurais feedforward para modelagem de linguagem. Esses modelos foram capazes de capturar representações distribuídas de palavras, porém tinham limitações em sua capacidade de lidar com vocabulários extensos.

Pesquisadores, incluindo Mnih e Hinton (2009), exploraram modelos probabilísticos para aprender representações distribuídas de palavras. Esses modelos se concentram em capturar relações semânticas entre palavras e foram um passo importante na direção das incorporações de palavras.

O modelo Word2Vec, introduzido por Tomas Mikolov e seus colegas no Google em 2013, marcou um avanço significativo. O Word2Vec utiliza dois modelos, Continuous Bag of Words (CBOW) e Continuous Skip-gram, que aprendem incorporações de palavras de grandes corpora de forma eficiente e se tornaram amplamente adotados devido à sua simplicidade e eficácia.

O GloVe (Global Vectors for Word Representation), apresentado por Pennington et al. em 2014, é baseado na ideia de usar estatísticas globais (frequências de coocorrência de palavras) para aprender representações vetoriais para palavras. Ele tem sido usado em várias aplicações de PLN e é conhecido por sua capacidade de capturar relações semânticas.

Hoje, com o avanço do deep learning, camadas de embedding tornaram-se um componente padrão das arquiteturas de redes neurais para tarefas de PLN. As incorporações agora são usadas não apenas para palavras, mas também para entidades, frases e outras unidades linguísticas. Em grande parte, as incorporações de palavras permitiram modelos de linguagem como redes neurais recorrentes (RNNs), redes de memória de curto prazo (LSTM), incorporações de modelos de linguagem (ELMo), BERT, ALBERT (um BERT claro) e GPT evoluíssem a um ritmo tão acelerado. 

Como as incorporações de palavras são criadas

O objetivo principal das incorporações de palavras é representar palavras de uma maneira que capture suas relações semânticas e informações contextuais. Esses vetores são representações numéricas em um espaço vetorial contínuo, onde as posições relativas dos vetores refletem as similaridades semânticas e relações entre palavras.

A razão pela qual vetores são usados para representar palavras é que a maioria dos algoritmos de aprendizado de máquina, incluindo redes neurais, é incapaz de processar texto simples em sua forma bruta. Eles exigem números como entradas para realizar qualquer tarefa.

O processo de criação de incorporações de palavras envolve treinar um modelo em um grande corpus de texto (por exemplo, Wikipedia ou Google News). O corpus é pré-processado ao tokenizar o texto em palavras, remover palavras de parada e pontuação, e realizar outras tarefas de limpeza de texto.

O texto é submetido a uma janela de contexto deslizante, onde, para cada palavra-alvo, as palavras circundantes dentro da janela são consideradas como palavras de contexto. O modelo de incorporação de palavras é treinado para prever uma palavra-alvo com base em suas palavras de contexto, ou vice-versa.

Isso permite que os modelos capturem padrões linguísticos diversos e atribuam a cada palavra um vetor único, que representa a posição da palavra em um espaço vetorial contínuo. Palavras com significados similares são posicionadas próximas umas das outras, e a distância e direção entre os vetores codificam o grau de similaridade.

O processo de treinamento envolve ajustar os parâmetros do modelo de incorporação para minimizar a diferença entre as palavras previstas e as reais em contexto.

Aqui está um exemplo simplificado de incorporação de palavras para um corpo muito pequeno (6 palavras), onde cada palavra é representada como um vetor tridimensional:

    gato          [0,2, -0,4, 0,7]
    cão         [0,6, 0,1, 0,5]
    maça      [0,8, -0,2, -0,3]
    laranja    [0,7, -0,1, -0,6]
    feliz     [-0,5, 0,9, 0,2]
    triste         [0,4, -0,7, -0,5]

Neste exemplo, cada palavra (por exemplo, "gato", "cão", "maçã") está associada a um vetor único. Os valores no vetor representam a posição da palavra em um espaço vetorial contínuo tridimensional. É esperado que palavras com significados ou contextos semelhantes tenham representações vetoriais similares. Por exemplo, os vetores para "gato" e "cão" estão próximos, refletindo sua relação semântica. Da mesma forma, os vetores para "feliz" e "triste" têm direções opostas, indicando seus significados contrastantes.

O exemplo acima é altamente simplificado para fins ilustrativos. As incorporações de palavras reais normalmente têm centenas de dimensões para capturar relações mais intrincadas e nuances de significado.

Aspectos fundamentais das incorporações de palavras

As incorporações de palavras tornaram-se uma ferramenta fundamental em PLN, fornecendo uma base para entender e representar a linguagem de uma maneira que esteja alinhada com a semântica subjacente das palavras e frases.

Abaixo estão alguns dos conceitos-chave e desenvolvimentos que tornaram o uso de incorporações de palavras uma técnica tão poderosa para ajudar a avançar a PNL:

Hipótese distributiva

A Hipótese Distributiva postula que palavras com significados similares tendem a ocorrer em contextos similares. Esse conceito forma a base para muitos modelos de incorporações de palavras, pois eles visam capturar relações semânticas analisando padrões de coocorrência de palavras.

Redução da dimensionalidade

Ao contrário da codificação one-hot tradicional, as incorporações de palavras são vetores densos de dimensionalidade inferior. Isso reduz a complexidade computacional e os requisitos de memória, tornando-os adequados para aplicações de PLN em grande escala.

Representação semântica

As incorporações de palavras capturam relações semânticas entre palavras, permitindo que modelos compreendam e representem palavras em um espaço vetorial contínuo onde palavras similares estão próximas umas das outras. Essa representação semântica possibilita uma compreensão mais sutil da linguagem.

Informações contextuais

As incorporações de palavras capturam informações contextuais ao considerar as palavras que coocorrem em um dado contexto. Isso ajuda os modelos a entenderem o significado de uma palavra com base em suas palavras ao redor, levando a uma melhor representação de frases e sentenças.

Generalização

As incorporações de palavras generalizam bem para palavras não vistas ou raras porque aprendem a representar palavras com base em seu contexto. Isso é particularmente vantajoso ao trabalhar com vocabulários diversos e em evolução.

Duas abordagens para incorporações de palavras

Os métodos de incorporação baseados em frequência e em previsão representam duas amplas categorias de abordagens no contexto das incorporações de palavras. Esses métodos diferem principalmente na forma como geram representações vetoriais para palavras.

Incorporações baseadas em frequência

As incorporações baseadas em frequência referem-se a representações de palavras que são derivadas da frequência das palavras em um corpo. Essas incorporações são baseadas na ideia de que a importância ou significado de uma palavra pode ser inferido a partir de quão frequentemente ela ocorre no texto.

Um exemplo de incorporação baseados em frequência é o Term Frequency-Inverse Document Frequency (TF-IDF). O TF-IDF foi projetado para destacar palavras que são frequentes dentro de um documento específico e relativamente raras em todo o corpo, ajudando assim a identificar termos significativos para um documento específico.

A pontuação TF-IDF para um termo (palavra) em um documento é calculada usando a seguinte fórmula:

    TF-IDF (t,d,D) = TF(t,d) x IDF(t, D)

As aplicações do TF-IDF incluem recuperação de informações, classificação de documentos, sumarização de textos e mineração de texto.

Embora as incorporações baseadas em frequência sejam diretas e fáceis de entender, elas carecem da profundidade de informações semânticas e da consciência de contexto fornecidas por incorporações baseadas em predição mais avançadas.

Incorporações baseadas em previsão

As incorporações baseadas em predição são representações de palavras derivadas de modelos treinados para prever certos aspectos do contexto de uma palavra ou palavras vizinhas. Ao contrário das incorporações baseadas em frequência, que se concentram em estatísticas de ocorrência de palavras, as incorporações baseadas em predição capturam relações semânticas e informações contextuais, fornecendo representações mais ricas dos significados das palavras.

As incorporações baseadas em predição podem diferenciar entre sinônimos e lidar com a polissemia (múltiplos significados de uma palavra) de forma mais eficaz. As propriedades do espaço vetorial das incorporações baseadas em predição permitem tarefas como medir a similaridade entre palavras e resolver analogias. As incorporações baseadas em previsão também podem generalizar bem para palavras ou contextos não vistos, tornando-as robustas no tratamento de termos fora do vocabulário.

Métodos baseados em predição, particularmente aqueles como Word2Vec e GloVe (discutidos abaixo), tornaram-se dominantes no campo de incorporações de palavras devido à sua capacidade de capturar significado semântico rico e generalizar bem para várias tarefas de PLN.

Word2Vec

Desenvolvido por uma equipe de pesquisadores do Google, incluindo Tomas Mikolov, em 2013, o Word2Vec (Palavra para Vetor) tornou-se uma técnica fundamental para aprender incorporações de palavras em processamento de linguagem natural (PLN) e modelos de aprendizado de máquina.

O Word2Vec consiste em dois modelos principais para gerar representações vetoriais: Continuous Bag of Words (CBOW) and Continuous Skip-gram.

No contexto do Word2Vec, o modelo Continuous Bag of Words (CBOW) visa prever uma palavra-alvo com base em suas palavras de contexto circundante dentro de uma janela especificada. Ele usa as palavras de contexto para prever a palavra-alvo, e as incorporações aprendidas capturam relações semânticas entre as palavras.

O modelo Continuous Skip-gram, por outro lado, toma uma palavra-alvo como entrada e visa prever as palavras de contexto circundante.

Como os modelos são treinados

Dada uma sequência de palavras em uma sentença, o modelo CBOW toma um número fixo de palavras de contexto (palavras ao redor da palavra-alvo) como entrada. Cada palavra do contexto é representada como uma incorporação (vetor) através de uma camada de incorporação compartilhada. Essas incorporações são aprendidas durante o processo de treinamento.

As incorporações individuais de palavras de contexto são agregadas, geralmente somando-as ou tirando a média delas. Esta representação agregada serve como entrada para a próxima camada.

A representação agregada é então usada para prever a palavra-alvo usando uma função de ativação softmax. O modelo é treinado para minimizar a diferença entre sua distribuição de probabilidade prevista sobre o vocabulário e a distribuição real (representação one-hot codificada) para a palavra-alvo.

O modelo CBOW é treinado ajustando os pesos da camada de incorporação com base em sua capacidade de prever a palavra-alvo com precisão.

O modelo Continuous Skip-gram usa dados de treinamento para prever as palavras de contexto com base na incorporação da palavra-alvo. Especificamente, ele gera uma distribuição de probabilidade sobre o vocabulário, indicando a probabilidade de cada palavra estar no contexto dado a palavra-alvo.

O objetivo do treinamento é maximizar a probabilidade das palavras de contexto reais dadas a palavra-alvo. Isso envolve ajustar os pesos da camada de incorporação para minimizar a diferença entre as probabilidades previstas e a distribuição real das palavras de contexto. O modelo também permite um tamanho de janela de contexto flexível. Ele pode ser ajustado com base nas necessidades específicas da tarefa, permitindo que os usuários capturem tanto as relações de contexto locais quanto globais.

O modelo Skip-gram essencialmente "pula" da palavra-alvo para prever seu contexto, o que o torna particularmente eficaz na captura de relações semânticas e similaridades entre palavras.

Vantagens e limitações

Ambos os modelos usados pelo Word2Vec têm suas próprias vantagens e limitações. Skip-gram funciona bem com o manuseio de grandes quantidades de dados de texto e é encontrado para representar bem palavras raras. CBOW, por outro lado, é mais rápido e tem melhores representações para palavras mais frequentes.

Quanto às limitações, o Word2Vec pode não lidar eficazmente com a polissemia, onde uma única palavra tem múltiplos significados. O modelo pode calcular a média ou misturar as representações de diferentes sentidos de uma palavra polissêmica. O Word2Vec também trata palavras como unidades atômicas e não captura informações de subpalavras.

Abordar algumas dessas limitações foi a motivação para o desenvolvimento de modelos mais avançados, como FastText, GloVe e modelos baseados em transformadores (discutidos abaixo), que visam superar algumas das limitações do Word2Vec.

GloVe

O GloVe (Global Vectors for Word Representation) é um modelo de incorporação de palavras projetado para capturar informações estatísticas globais sobre padrões de coocorrência de palavras em um corpo.

Introduzido por Jeffrey Pennington, Richard Socher e Christopher D. Manning em 2014, o modelo GloVe difere do Word2Vec ao enfatizar o uso de informações globais em vez de se concentrar apenas no contexto local.

O GloVe é baseado na ideia de que as estatísticas globais de coocorrência de palavras em todo o corpo são cruciais para capturar a semântica das palavras. Ele considera com que frequência as palavras coocorrem umas com as outras no conjunto de dados inteiro em vez de apenas no contexto local de palavras individuais.

O modelo visa minimizar a diferença entre as probabilidades de coocorrência previstas e as probabilidades reais derivadas das estatísticas do corpo.

O GloVe é computacionalmente eficiente em comparação com alguns outros métodos, pois depende de estatísticas globais e emprega técnicas de fatoração de matrizes para aprender os vetores de palavras. O modelo pode ser treinado em grandes corpora sem a necessidade de recursos computacionais extensivos.

O GloVe introduz pesos escalares para pares de palavras para controlar a influência de diferentes pares de palavras no processo de treinamento. Esses pesos ajudam a mitigar o impacto de pares de palavras muito frequentes ou raros nas incorporações aprendidas.

Mecanismo de treinamento

Ao contrário dos modelos Word2Vec (CBOW e Skip-gram), que se concentram em prever palavras de contexto dadas uma palavra-alvo ou vice-versa, o GloVe usa uma abordagem diferente que envolve a otimização de vetores de palavras com base em suas probabilidades de coocorrência. O processo de treinamento é projetado para aprender incorporações que capturem eficazmente as relações semânticas entre palavras.

O primeiro passo é construir uma matriz de coocorrência que representa com que frequência as palavras aparecem juntas no corpo.

Em seguida, é formulada uma função objetiva que descreve a relação entre vetores de palavras e suas probabilidades de coocorrência.

A função objetiva é otimizada usando gradiente descendente ou outros algoritmos de otimização. O objetivo é ajustar os vetores de palavras e os vieses para minimizar a diferença ao quadrado entre as probabilidades de coocorrência logarítmicas previstas e reais.

Aplicações e casos de uso

Os usuários podem baixar incorporações GloVe pré-treinadas e realizar o ajuste fino para aplicações específicas ou usá-los diretamente.

As incorporações GloVe são amplamente usadas em tarefas de PLN, como classificação de texto, análise de sentimento, tradução de máquina e muito mais.

GloVe se destaca em cenários onde capturar relações semânticas globais, entender o contexto geral das palavras e aproveitar estatísticas de coocorrência são cruciais para o sucesso de tarefas de processamento de linguagem natural.

Além do Word2Vec e do GloVe

O sucesso do Word2Vec e GloVe inspirou pesquisas adicionais em modelos de representação de linguagem mais sofisticados, como FastText, BERT e GPT. Esses modelos utilizam incorporações de subpalavras, mecanismos de atenção e transformadores para lidar de forma eficaz com incorporações de dimensões superiores.

Incorporações de subpalavras

As incorporações de subpalavras, como FastText, representam palavras como combinações de unidades de subpalavras, oferecendo mais flexibilidade e lidando com palavras raras ou fora do vocabulário. As incorporações de subpalavras melhoram a robustez e cobertura das incorporações de palavras.

Ao contrário do GloVe, o FastText incorpora palavras tratando cada palavra como sendo composta de caracteres n-gramas em vez de uma palavra inteira. Este recurso permite não apenas aprender palavras raras, mas também palavras fora do vocabulário.

Mecanismos de atenção e transformadores

Os mecanismos de atenção e modelos transformadores consideram informações contextuais e relações bidirecionais entre palavras, levando a representações de linguagem mais avançadas.

Mecanismos de atenção foram introduzidos para melhorar a capacidade das redes neurais de focar em partes específicas da sequência de entrada ao fazer previsões. Em vez de considerar todas as partes da entrada igualmente, os mecanismos de atenção permitem que o modelo atenda seletivamente às partes relevantes da entrada.

Os transformadores tornaram-se a base de vários modelos de última geração em PLN, incluindo BERT, GPT e T5 (Text-to-Text Transfer Transformer), entre outros. Eles se destacam em tarefas como modelagem de linguagem, tradução automática, geração de texto e resposta a perguntas.

Os transformadores usam um mecanismo de autoatenção para capturar relações entre diferentes palavras em uma sequência. Este mecanismo possibilita que cada palavra considere todas as outras na sequência, capturando dependências de longo alcance.

Os transformadores possibilitam maior paralelização durante o treinamento comparado aos RNNs e são eficientes computacionalmente.

Soluções relacionadas
IBM® Natural Language Understanding

O IBM® Watson Natural Language Understanding usa deep learning para extrair o significado e metadados dos textos não estruturados. Conheça seus dados usando a análise de texto para extrair categorias, classificações, entidades, palavras-chave, sentimentos, emoções, relações e sintaxe.

Explore o NLU

IBM watsonx

Multiplique o poder da IA com nossa plataforma de dados e IA de última geração. O IBM watsonx é um portfólio de ferramentas, aplicações e soluções prontas para o negócio, projetado para reduzir os custos e os obstáculos da adoção da IA e, ao mesmo tempo, otimizar os resultados e o uso responsável da IA.

Explore o watsonx

Soluções de IA da IBM

Operacionalize a IA no seu negócio para oferecer benefícios com rapidez e ética. Nosso rico portfólio de produtos de IA e soluções de análise de dados de alto nível foi projetado para reduzir os obstáculos da adoção de IA e estabelecer a base de dados certa, além de otimizar os resultados e o uso responsável.

Explore as soluções de IA
Recursos O que é aprendizado de máquina?

Obtenha insights sobre como o aprendizado de máquina usa dados e algoritmos, seus casos de uso e preocupações associadas para possibilitar o uso responsável e inovador da tecnologia.

IA, aprendizado de máquina, deep learning, redes neurais: qual é a diferença?

Enquanto IA, ML, deep learning e redes neurais são tecnologias relacionadas, os termos são frequentemente usados de forma intercambiável. Esta postagem do blog esclarecerá parte da ambiguidade.

Guia para iniciantes em Python

Python é uma linguagem de programação comumente usada com incorporação. Este guia apresentará alguns conceitos básicos que você precisa conhecer para começar a usar esta linguagem de programação simples.

Dê o próximo passo

Treine, valide, ajuste e implemente IA generativa, modelos de base e recursos de aprendizado de máquina com o IBM watsonx.ai, um estúdio empresarial de próxima geração para construtores de IA. Crie aplicações de IA em menos tempo com menos dados.

Explore o watsonx.ai Agende uma demonstração em tempo real