Bag of Words & TF-IDF

Primeiros passos para extração de características em um modelo de processamento de linguagem natural.

Rodrigo Modesto de Araujo
4 min readMar 19, 2021

Processamento de Linguagem Natural

O Processamento de Linguagem Natural ou popularmente conhecido NLP, trabalha com a ideia da construção de algoritmos de aprendizagem de maquina que buscam compreender a linguagem humana.

Como NLP é possível?

Para que seja possível que um algoritmo consiga compreender a forma como nós humanos nos comunicamos é necessário o uso de técnicas de extração de características (feature extraction). Dessa forma é possível traduzir dados não estruturados (Textos, Áudios, independente da linguagem) em dados estruturados.

Com isso será apresentado duas técnicas de extração de características: Bag of Words (BoW) e Term Frequency–Inverse Document Frequency (TF-IDF).

BoW

Imagine que um algoritmo de IA precisa verificar a similaridade entre dois textos, sobre a mesma matéria, produzida por dois jornais concorrentes. Umas das maneiras logicas de verificar se esses dois textos são similares é analisar se eles possuem o mesmo grau aleatoriedade de palavras. Dado que para dois textos serem similares, eles devem falar sobre o mesmo assunto e se eles falam sobre o mesmo assunto a chances das mesmas palavras estarem presentes é ligeiramente alta. Com isso é necessário converter os textos em algum formato que seja possível realizar a abstração de conhecimento por um algoritmo de aprendizado de máquina.

O algoritmo BoW ao receber um texto ele armazenara para cada palavra presente no texto valor 1 em uma posição de um vetor.

Podemos descrever essa equação abaixo:

Equação 1 — BoW

No qual pi representa um determinada palavra p presente em um determinado documento dj.

Segue abaixo a aplicação em Python, com uso da biblioteca Sklearn, do algoritmo BoW em duas frases:

Visualizando o data frame criado:

Exemplo 1 - Vetorização BoW

Agora é possível a abstração de conhecimento do Data Frame por parte de qualquer que seja o modelo de aprendizagem de máquina.

TF-IDF

TF-IDF segue a mesma linha de raciocino do BoW, no qual ao receber um texto ele armazenara para cada palavra presente no texto determinado valor em uma posição de um vetor. Vamos descrever abaixo a equação empregada no TF-IDF.

Primeiro vamos explicar o termo TF

TF = pontuação da frequência da palavra em um determinado documento.

Equação 2 — TF

No qual count(ti, dj) representa a quantidade de ocorrências da palavra pi presente em um determinado documento dj e nj representa a quantidade de palavras presentes no documento dj

Agora vamos falar sobre IDF

IDF = Pontuação de quão rara a palavra é entre documentos.

Equação 3 — IDF

No qual M representa o numero total de documentos e df(ti) o numero de documentos que contem o termo ti.

Com isso agora que foi feita uma explicação dos dois termos usados no TF-IDF vamos formalizar a sua equação completa.

Equação 4 — TFIDF

Agora segue abaixo mais uma aplicação em Python, com uso da biblioteca Sklearn, do algoritmo TF-IDF em duas frases.

Visualizando o data frame criado:

Exemplo 2— Vetorização TF-IDF

Agora de uma maneira alternativa ao BoW, é possível obter uma outra perspectiva das sentenças 1 e 2.

Considerações Finais

Agora analisando cada umas das técnicas podemos observar que ambas satisfazem a nossa necessidade inicial. Obtendo assim de alguma forma uma representação matemática de dois textos, onde é possível a extração de característica por algoritmos de aprendizado de maquina, para problemas de NLP.

Comparando agora o BoW com TF-IDF podemos observar que o BoW apresenta uma visualização mais simples, em que é possível identificar apenas se uma palavra esta ou não presente em uma frase. Já o TF-IDF apresenta uma forma de mensurarmos a quantidade de vezes que uma palavra esta presente em um texto, sendo assim dependendo do problemas que estivermos trabalhando podemos optar por qual das duas representações ira fornecer uma melhor perspectiva.

Referências:

MANNING, C.; RAGHAVAN, P.; SCHÜTZE, H. Introduction to Information Retrieval. [S.l.]: Cambridge University Press, 2008. ISBN 9781139472104. Pagina 118–119

--

--