Aula 01 - Entendendo vetores de palavras

Este artigo foi publicado originalmente pelo serasa experian lab. Veja o artigo original aqui.


1- Introdução


Nessa seção discutiremos um pouco uma abordagem relativamente recente no campo do Processamento de Linguagem Natural que é o Word2vec (uso de vetores de palavras). As aulas propostas nessa seção terão o objetivo de esclarecer como os vetores de palavras funcionam e como é possível utilizar essa abordagem na linguagem python.


2- Word2Vec


O Word2Vec é um algoritmo que foi implementado inicialmente por Tomas Mikolov do Google, com o propósito de construir uma representação vetorial para palavras em um texto. O algoritmo tem como efeito associar a cada palavra vista nos textos um vetor correspondente, chamado de Wordvec. A ideia é que palavras parecidas, ou seja, palavras que aparecem em contextos similares dentro dos textos, sejam representadas por vetores próximos.

Um dos efeitos mais curiosos da aplicação dessa técnica é a captura de relação entre conceitos: a relação entre duas palavras pode dar informação sobre a relação entre outras duas palavras. Um exemplo disso pode ser visto na figura abaixo, onde a distância entre “homem” e “mulher” é a mesma distância entre “rei” e “rainha”. Relações novas entre palavras podem ser descobertas, assim como formas automáticas de tradução usando essas relações.

Entre as aplicações que fazemos deste algoritmo dentro dos nossos projetos é descobrir palavras que indicam, por exemplo, o caráter positivo (ou negativo) de uma palavra em uma avaliação de estabelecimentos na internet. A premissa é de que palavras negativas estejam próximas umas as outras, pois aparecem sempre em contextos similares. O mesmo para palavras que sejam positivas e neutras para a avaliação do consumidor. Com isso é possível descobrir, automaticamente, qual é o sentimento de comentários feitos na internet, sem que seja necessário que a pessoa que escreveu aquele comentário diga, explicitamente, se é negativo ou positivo.

Outra aplicação é, por exemplo, em uma sequência de transações em cartão e descobrir qual é a classificação de uma transação usando apenas o nome encontrado na fatura do cliente. Apesar de ser natural observar o texto “COSTELA GRILL” na sua fatura e concluir que aquela transação se trata de uma ida a churrascaria, é uma tarefa extremamente difícil para um computador, principalmente se não for indicado que GRILL é um sinônimo de churrascaria. Com isso, somos capazes de etiquetar bilhões de transações de forma detalhada e automática, sem que seja necessário fazer manualmente uma a uma. Com isso podemos extrair perfis de consumo e tirar conclusões sobre seu perfil de consumo.

O Word2Vec é uma classe de algoritmos, que tem como base encontrar uma representação vetorial para palavras de forma que palavras parecidas (que aparecem contextos similares) tenham vetores parecidos. Todos esses algoritmos usam redes neurais com uma camada escondida (representando o embedding) para fazer previsões sobre uma palavra dada seu contexto ou sobre o contexto dada uma palavra.

Do ponto de vista de implementação, podemos fazer isso usando redes neurais com uma camada escondida. Esta camada escondida é a representação vetorial do input, e ela é usada, na camada de output, para prever uma palavra do contexto. 

Aula 01 - Entendendo vetores de palavras Aula 01 - Entendendo vetores de palavras Reviewed by Vinicius dos Santos on 12:30:00 Rating: 5

Nenhum comentário

Escreve ai sua opinião!