Sentiment analysis com tensorflow 2.0 e word embedding layer

Word embedding é uma forma muito interessante para criar uma representação numérica para um texto. Ao contrário de abordagens clássicas como one hot encoding ou TD-IDF, word embedding consegue representar as palavras e seu contexto com meio de um embedding space.

Existem várias formas para se criar um embedding space e eu já escrevi sobre estas formas neste artigo https://hackinganalytics.com/2018/01/31/word-embedding. Fique a vontade para consultá-lo.

Em sua forma mais comum (word2vec), uma camada word embedding pode ser treinada por meio de uma rede neural com uma camada de entrada, uma camada escondida e uma camada de saída. Sendo que as informações da camada escondida representam o embedding space.

Em termos de implementação, podemos criar o nosso próprio embedding space (utilizando um vocabulário próprio) ou podemos reutilizar um embedding space pré-treinado (por exemplo, BERT).

A parte prática deste artigo está disponível no seguinte link: https://anaconda.org/weslleymoura/tensorflow_2_analise_sentimento_word_embedding

Caso você esteja curioso em saber como poderíamos criar este mesmo modelo sem o uso de word embedding, veja neste artigo https://hackinganalytics.com/2017/10/27/analise-de-sentimento-com-multilayer-perceptron-model-baseado-em-bag-of-words.

Abraços!

Word Embedding

Word Embedding é uma abordagem de mineração de textos em que as palavras são representadas de forma matemática em um vetor. Diferentemente da abordagem mais simples utilizada no modelo conhecido como bag of words, na qual as palavras costumam ser representadas em vetores muito grandes e esparsos, word embeddings utilizam vetores densos de tamanho fixo que são capazes de armazenar informações sobre o contexto e significado dos documentos.