categorização automática de produtos para integração com

24
Categorização automática de produtos para integração com Marketplace Guilherme H. P. Danielli 1 1 Escola de Ciência da Computação – Faculdade Meridional (IMED) Passo Fundo – RS – Brasil [email protected]¹ Abstract. This article's main objective is to present how artificial intelligence can contribute to product classification in a marketplace, with the benefit of reliable and efficient categorization. For this, a dataset of CSV files with 9 e-commerce products available on the Kaggle platform was extracted. From this stage on, the textual information of the products was normalized with pre- processing techniques and Natural Language Processing. Finally, textual data were separated into training and testing percentages and then used to create predictive models. After that, the models were evaluated by three different metrics and compared to each other. The results showed a satisfactory performance using Natural Language Processing and supervised classification algorithms such as: Support Vector Machine and Decision Tree. Resumo. Este artigo tem como objetivo principal apresentar de que forma a inteligência artificial pode contribuir para classificação de produtos em um marketplace, tendo como benefício uma categorização confiável e eficiente. Para isso, foi extraído um dataset de arquivos CSV com produtos de 9 e-commerces disponíveis na plataforma Kaggle. A partir dessa etapa as informações textuais dos produtos foram normalizadas com técnicas de pré-processamento e Processamento de Linguagem Natural. Por fim, os dados textuais foram separados em porcentagens de treino e teste e então utilizados na criação de modelos preditivos. Após isso, os modelos foram avaliados por três métricas diferentes e comparados entre si. Os resultados mostraram um desempenho satisfatório utilizando Processamento de Linguagem Natural e algoritmos de classificação supervisionada como: Support Vector Machine e Árvore de decisão. 1 Introdução O modelo de marketplace tem conquistado espaço nas principais plataformas de e- commerce brasileiras. É fato que esse modelo de comércio se tornou uma tendência e tem sido uma das alternativas de venda mais lucrativas dos últimos anos. Hoje no Brasil as maiores empresas que trabalham com e-commerce atuam no modelo de marketplace (E- COMMERCE BRASIL, 2018). Este tipo de negócio permitiu a expansão na variedade de produtos à venda para os sites, uma vez que cria um cenário onde podem existir vários vendedores dentro da mesma plataforma vendendo o mesmo produto com preços diferentes. Isso se torna positivo para as plataformas, visto que há mais competitividade e opções de escolha para o cliente, já para o vendedor o benefício se reflete em maior visibilidade, custo reduzido entre outros (ZACHO, 2017). Nesse contexto, tem-se um ambiente onde cada vendedor cadastra seu produto, com preço, descrição, imagens específicas e inclusive o categoriza da forma que acha

Upload: others

Post on 18-Mar-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Categorização automática de produtos para integração

com Marketplace

Guilherme H. P. Danielli1

1 Escola de Ciência da Computação – Faculdade Meridional (IMED)

Passo Fundo – RS – Brasil

[email protected]¹

Abstract. This article's main objective is to present how artificial intelligence can contribute to

product classification in a marketplace, with the benefit of reliable and efficient categorization.

For this, a dataset of CSV files with 9 e-commerce products available on the Kaggle platform was

extracted. From this stage on, the textual information of the products was normalized with pre-

processing techniques and Natural Language Processing. Finally, textual data were separated

into training and testing percentages and then used to create predictive models. After that, the

models were evaluated by three different metrics and compared to each other. The results showed

a satisfactory performance using Natural Language Processing and supervised classification

algorithms such as: Support Vector Machine and Decision Tree.

Resumo. Este artigo tem como objetivo principal apresentar de que forma a inteligência artificial

pode contribuir para classificação de produtos em um marketplace, tendo como benefício uma

categorização confiável e eficiente. Para isso, foi extraído um dataset de arquivos CSV com

produtos de 9 e-commerces disponíveis na plataforma Kaggle. A partir dessa etapa as

informações textuais dos produtos foram normalizadas com técnicas de pré-processamento e

Processamento de Linguagem Natural. Por fim, os dados textuais foram separados em

porcentagens de treino e teste e então utilizados na criação de modelos preditivos. Após isso, os

modelos foram avaliados por três métricas diferentes e comparados entre si. Os resultados

mostraram um desempenho satisfatório utilizando Processamento de Linguagem Natural e

algoritmos de classificação supervisionada como: Support Vector Machine e Árvore de decisão.

1 Introdução

O modelo de marketplace tem conquistado espaço nas principais plataformas de e-

commerce brasileiras. É fato que esse modelo de comércio se tornou uma tendência e tem

sido uma das alternativas de venda mais lucrativas dos últimos anos. Hoje no Brasil as

maiores empresas que trabalham com e-commerce atuam no modelo de marketplace (E-

COMMERCE BRASIL, 2018).

Este tipo de negócio permitiu a expansão na variedade de produtos à venda para

os sites, uma vez que cria um cenário onde podem existir vários vendedores dentro da

mesma plataforma vendendo o mesmo produto com preços diferentes. Isso se torna

positivo para as plataformas, visto que há mais competitividade e opções de escolha para

o cliente, já para o vendedor o benefício se reflete em maior visibilidade, custo reduzido

entre outros (ZACHO, 2017).

Nesse contexto, tem-se um ambiente onde cada vendedor cadastra seu produto,

com preço, descrição, imagens específicas e inclusive o categoriza da forma que acha

melhor dentre as opções do site. Isso pode criar uma despadronização das categorias e

produtos.

Segundo o website Escola de E-commerce (2020), a categorização de produtos

correta é um fator muito importante para a plataforma, pois facilita que o cliente encontre

o que procura e transmite uma impressão de loja organizada, proporcionando uma

experiência de compra positiva ao cliente. Além disso, uma boa categorização ajuda no

ranqueamento da plataforma nos buscadores da web (Google, Bing etc..), pois estes

utilizam palavras chaves para encontrar o site. Outro benefício de uma classificação bem-

feita seria a facilidade de criar promoções segmentadas na plataforma (BIS2BIS E-

COMMERCE, 2018).

Outro cenário, seria onde um marketplace é composto por produtos de lojas

parceiras e esses produtos são cadastrados de forma automática, fazendo assim uma

integração de produtos de diferentes plataformas de e-commerce. Neste caso, mesmo

supondo que o produto já esteja categorizado no site de origem, o que tornaria a

categorização no sistema de destino mais fácil, é quase improvável que as categorias de

destino e origem correspondam.

Uma das tecnologias que geralmente é utilizada nas plataformas de marketplace

para auxiliar nas implementações com os produtos na experiência do usuário, é a

inteligência artificial.

Os sites que possuem algoritmos inteligentes utilizam dessas ferramentas para

recomendar, elencar e personalizar produtos para cada usuário, utilizando informações

obtidas na navegação do mesmo, criando um perfil para o usuário, com suas preferências,

podendo assim, exibir uma experiência personalizada que mais agrade o cliente. Além

disso tem-se o exemplo do Facebook Marketplace que utiliza inteligência artificial para:

sugestão de preços e características para auto categorização, remoção de conteúdos

impróprios e na melhoria nas imagens enviadas pelo vendedor (RATZ, 2019).

Baseado nesta conjuntura, onde há familiaridade entre as plataformas de e-

commerce e os algoritmos inteligentes, e se constroem soluções utilizando como base as

informações dos produtos, o presente artigo pretende demonstrar a criação de um modelo

de classificação de produtos em uma integração com o ambiente de marketplace.

Para isto, o artigo responderá a seguinte pergunta: Como a inteligência artificial pode

auxiliar a melhorar o processo de categorização de produtos em uma integração com um

marketplace? Então, tendo como objetivo geral, apresentar de que forma a inteligência

artificial poderia contribuir para a categorização de produtos em um marketplace, tendo

como benefício uma categorização confiável e eficiente.

E os seguintes objetivos específicos: avaliar de que forma a inteligência artificial

pode ajudar na organização de um catálogo de produtos de um e-commerce que utiliza

marketplace; analisar como obter uma categorização de produtos mais eficiente e

confiável; apresentar estatísticas da classificação estudando os resultados do algoritmo

para entender o grau de confiabilidade do mesmo.

Para atingir os objetivos, o presente trabalho tem como metodologia implementar

um modelo de classificação automática de produtos em um ambiente simulado de

marketplace, onde tem-se um sistema que recebe produtos de diferentes lojas sendo

preciso organizá-los nas categorias exatas no sistema destino independentemente das

categorias originais.

Para isso serão utilizadas ferramentas de programação juntamente com

inteligência artificial com objetivo de criar, testar e validar um modelo que possa

categorizar corretamente produtos de diferentes fontes (com diferentes categorias) em

categorias definidas de um sistema.

2 Referencial Teórico

Neste item serão descritos os conceitos que dão embasamento teórico para o

desenvolvimento do modelo de classificação apresentado nos itens 4 e 5 desse trabalho.

Será introduzido o assunto de inteligência artificial e aprendizado de máquina, bem como,

uma introdução ao conceito de aprendizagem supervisionada e serão abordados alguns

algoritmos classificadores e a relação destes com processamento de linguagem natural.

Por fim, é abordado o conceito de e-commerce e e-marketplace mostrando um pouco de

seus respectivos históricos e cenário atual.

2.1 Inteligência artificial

Segundo Russel, Norvig (2013), há séculos a humanidade tenta assimilar o conceito de

inteligência, ou seja, entender como uma pessoa pode compreender, perceber e manipular

o mundo. Os autores explicam que a inteligência artificial vai além disso, pois ela não

tenta apenas entender, mas também construir entidades que possuam inteligência.

O termo inteligência artificial surgiu em 1956, porém os primeiros estudos

começaram logo após a Segunda Guerra Mundial, por isso ainda é considerada uma

ciência nova comparada às outras (RUSSEL; NORVIG, 2013). Para Hammond (2015), a

inteligência artificial é uma sub-área da ciencia da computação responsável por criar

máquinas que possuem habilidades de realizar tarefas de maneira inteligente, nesta

mesma linha de raciocínio Luger (2009), define a inteligência artificial como um ramo da

ciência da computação que se preocupa com a automação do comportamento inteligente.

Sendo assim, pode-se concluir que a inteligência artificial é uma ciência que tem

como objetivo estudar e compreender a natureza humana de forma que consiga traduzir

os conceitos conhecidos da inteligencia humana para as máquinas utilizando métodos

computacionais, assim possibilitando que um computador possa “pensar”, perceber,

entender e aprender.

2.2 Aprendizado de máquina

Segundo Mohammed, Khan, Bashier (2016) explicam, as máquinas não são inteligentes

por natureza, elas foram projetadas para executarem tarefas específicas.

O aprendizado de máquina ou machine learning é um ramo da inteligência

artificial que permite que um sistema aprenda através de um conjunto de dados e não por

métodos de programação explícita. Esse tipo de aprendizado utiliza uma variedade de

algoritmos que possibilitam a leitura de um conjunto de dados e uma predição de

resultados com base nas informações recebidas pelo algoritmo.(HURWITZ; KIRSCH,

2018)

A ideia principal é que esses algoritmos sejam criados quando há necessidade de

uma máquina reconhecer um comportamento inteligente, não descrevendo a elas todos os

processos que fazem um ser inteligente aprender, mas sim escrevendo algoritmos que

farão com que as máquinas consigam aprender e treiná-las para executar tarefas

inteligentes. (MOHAMMED; KHAN; BASHIER, 2016)

Como explicam Shalev-Shwartz, Ben-David (2013), nas últimas décadas a

utilização de algoritmos de machine learning se tornou uma prática comum. Os autores

também citam a importância desses algoritmos, e como eles estão presentes em

dispositivos e tecnologias que circundam a sociedade hoje, como por exemplo: softwares

anti-spam que filtram mensagens de e-mail, assistentes pessoais que reconhecem

comandos de voz entre outras.

Por fim, machine learning pode ser definida como uma área da inteligência

artificial que inclui o desenvolvimento de algoritmos “inteligentes” treinados para fazer

um objetivo específico. O foco principal desta área é o desenvolvimento de sistemas e

aplicações que possam imitar a inteligência para resolver problemas. No próximo tópico

será abordado o conceito de aprendizagem supervisionada, sendo esse um dos campos

englobados pela aprendizagem de máquina.

2.2.1 Aprendizagem supervisionada

Obviamente o conceito da aprendizagem é muito amplo, consequentemente, o campo da

aprendizagem de máquina também, por isso este campo se ramificou em vários

subcampos que lidam com diferentes tipos de aprendizagem (SHALEV-SHWARTZ;

BEN-DAVID, 2013). Neste tópico será descrito o conceito da aprendizagem

supervisionada.

A aprendizagem supervisionada tem como objetivo encontrar padrões nos dados

que podem ser aplicados a um processo de análise. Esse tipo de abordagem rotula os

padrões encontrados nos dados antes de passar para análise do algoritmo. Um exemplo

de aprendizado supervisionado é previsão do tempo, usando análise de regressão, ela leva

em consideração histórico conhecido de padrões climáticos e condições atuais para

fornecer uma previsão sobre o clima (HURWITZ; KIRSCH, 2018).

Os dados que podem ser rotulados passam por um tipo de supervisor, que pode

ser um humano ou até mesmo uma máquina. Geralmente os agentes supervisores são

humanos, pois as taxas de erros são mais altas com máquinas (MOHAMMED; KHAN;

BASHIER, 2016).

Pode-se dizer que a abordagem supervisionada é bastante útil, pois há diversos

casos onde existe a possibilidade de rotular os dados antes do processo de análise, isso

torna mais fácil o processo de classificação e evolução do algoritmo. Pois e há um

parâmetro a ser seguido, que é dito por uma fonte confiável (sendo ela humana ou não).

No próximo tópico serão abordados alguns algoritmos do grupo de classificação.

2.3 Algoritmos classificadores

A técnica de classificação pode ser definida como uma abordagem sistemática para

construir modelos classificadores utilizando como entrada um conjunto de dados (TAN;

STEINBACH; KUMAR, 2009). Os itens a seguir descrevem alguns dos principais

algoritmos utilizados para classificação.

2.3.1 Árvores de decisão

Uma árvore de decisão é uma estrutura que recebe um conjunto de atributos como entrada

e produz uma decisão binária com valores (verdadeiros ou falsos) como saída. Geralmente

as arvores de decisão representam funções booleanas. Além de valores 0 e 1 outros tipos

de saída não binárias são permitidas. Cada nó em uma árvore representa o teste de algum

atributo da instância e cada ramificação descendente desse nó corresponde a um valor

possível desse atributo (KONAR, 2000).

Russel, Norvig (2013) apresentam um exemplo da estrutura de uma árvore de

decisão (vide Figura 1).

Figura 1. Árvore de decisão para definir se o cliente vai ou não esperar por uma mesa (RUSSEL;

NORVIG, 2013)

A Figura 2 mostra uma árvore de decisão para decidir a espera ou não de uma

mesa em um restaurante. Considera-se o problema de esperar para jantar em um

restaurante. O objetivo é aprender a definição para VaiEsperar. Para este problema, temos

alguns atributos para descrever possíveis casos de domínio. São eles: alternar de

restaurante, ir para um bar, dia da semana, estar com fome, número de fregueses, preço

da comida, clima, se foi feita reserva, tipo do restaurante, estimativa de espera. Os

atributos preço e tipo de comida, por terem pouca importância neste caso, foram

desconsiderados (RUSSEL; NORVIG, 2013).

No próximo tópico será abordado o conceito de Máquina de Vetores de Suporte,

que assim como arvores de decisão faz parte dos algoritmos de aprendizagem

supervisionada.

2.3.2 SVM (Máquina de Vetores de Suporte)

As máquinas de vetores de suporte (SVM) são sistemas de aprendizagem de máquina

treinados com um algoritmo de Otimização Matemática e que implementam um limite

derivado da Teoria de Aprendizagem Estatística desenvolvida pelo pesquisador russo

Vladimir Vapnik (MIRANDA DOS SANTOS, 2002). Com essa teoria o autor estabelece

princípios que devem ser seguidos para que se obtenha um classificador com uma boa

capacidade de prever corretamente novos dados de um mesmo domínio onde o

aprendizado ocorreu (LORENA; DE CARVALHO, 2002).

Pode-se citar ao menos duas características de destaque de uma SVM: possui uma

sólida fundamentação teórica, e pode alcançar um desempenho elevado em aplicações

práticas. Essa técnica de classificação consegue identificar com precisão os fatores a

serem considerados para a aprendizagem ter sucesso e construir modelos complexos

(MIRANDA DOS SANTOS, 2002). Além disso, segundo Lorena, De Carvalho (2002),

outras características importantes seriam: robustez para lidar com dados de grandes

dimensões (imagens, por exemplo) e boa capacidade de generalização.

Os algoritmos classificadores são parte de todo um ecossistema fundamentado em

estudos e desenvolvimento. Hoje essa tecnologia, que faz parte do aprendizado de

máquina é utilizada em várias frentes por diversos sistemas. (SHALEV-SHWARTZ;

BEN-DAVID, 2013)

Alguns exemplos de aplicação desses algoritmos envolvem classificação textual.

Nesse tipo de classificação são utilizadas técnicas nos dados de texto antes mesmo da

criação do modelo para classificar. No tópico a seguir será abordado o conceito de

Processamento de Linguagem Natural.

2.4 Processamento de Linguagem Natural (PLN)

O termo linguagem natural pode ser definido em linguagem utilizada na comunicação

diária pelos humanos, por exemplo, em idiomas como: inglês e português. Diferente de

linguagens artificiais, (como linguagens de programação e notações matemáticas) as

linguagens naturais evoluíram de geração para geração e são difíceis de definir com regras

totalmente explicitas e documentações (BIRD; KLEIN; LOPER, 2009).

Por isso, existe o Processamento de Linguagem Natural, basicamente esse termo

engloba uma série de práticas e transformações aplicadas aos textos para que estes possam

ser manipulados pelos computadores. Está altamente relacionado com aplicações que

envolvem: classificação de texto, tradução de documentos, predição e reconhecimento de

escrita, entre outras (BIRD; KLEIN; LOPER, 2009).

Em sites de e-commerce, por exemplo, é possível utilizar aprendizagem de

máquina juntamente com PLN para criar modelos de classificação utilizando dados

textuais dos produtos.

2.5 E-commerce e Marketplace

O comércio eletrônico ou e-commerce começou a partir dos anos 90, criando um mercado

virtual onde compradores e vendedores de qualquer lugar do mundo se encontram

simultaneamente para fazer transações de produtos e serviços ultrapassando barreiras do

tempo e espaço devido à conectividade (ARAÚJO, 2017).

Conforme Teixeira (2015), o e-commerce é como uma extensão do comércio

convencional, onde tem-se um ambiente virtual em que as operações como: compra,

venda e prestação de serviços acontecem; sendo assim uma forma abrangente e

sofisticada de se divulgar produtos e serviços,

Neste universo do e-commerce há também um modelo de negócio que é

denominado de e-marketplace, ou como é fequentemente chamado no Brasil:

marketplace. Este conceito surgiu também na década de 90 e basicamente o que pode

categorizar um e-commerce como marketplace, é o fato de que os marketplaces tratam-

se de plataformas de empresas que atuam como intermediadores para vendas de vários

outros fornecedores terceiros, provendo toda uma estrutura para que estes terceiros

possam praticar a atividade de venda (ASTURIANO MARTINS; ZILBER, 2019).

No Brasil, esse segmento também tem aumentado e alavancado as vendas online,

na quarta edição do ranking “50 Maiores Empresas do E-Commerce Brasileiro”

divulgado pela Sociedade Brasileira de Varejo e Consumo (SBVC) em 2018, os 10

primeiros colocados (Figura 3) atuam no modelo marketplace além de outros 24 das 50

posições deste ranking (E-COMMERCE BRASIL, 2018).

Figura 2. Os 10 primeiros colocados no Ranking das 50 Maiores Empresas do E-Commerce

Brasileiro divulgado em 2018 (E-COMMERCE BRASIL, 2018)

O modelo de comércio eletrônico é tão antigo e popular quanto a internet. Pode-

se dizer que as duas tecnologias evoluíram juntas. Desde o início nos anos 90 com a aposta

de algumas empresas, esse ramo não deixou de crescer, evoluindo para outros modelos

de comércio, como o Marketplace. Como é mostrado na Figura 2, o marketplace no Brasil

é o principal modelo de comércio online, também se provando o mais rentável.

3. Trabalhos Relacionados

Nos itens abaixo são descritos alguns trabalhos relacionados com o presente artigo, nesses

trabalhos são abordados sistemas de classificação de texto e imagem utilizando

algoritmos de inteligência artificial.

i. A Comparative Study of Machine Learning Techniques for Automatic

Product Categorisation (Um estudo comparativo de aprendizado de máquina

Técnicas para produtos automáticos Categorização) (CHAVALTADA;

PASUPA; HARDOON, 2017)

O presente artigo propõe a classificação de produtos baseado na informação textual,

utilizando de vários algoritmos de classificação para uma comparação de desempenho

dos mesmos. Neste trabalho foram utilizados dados de três datasets diferentes contendo

somados cerca de 45.876 produtos que estão classificados em 615 categorias.

Os dados foram divididos em 80% para treinamento e 20% para a fase de testes,

e então foi realizado o pré-processamento desses dados utilizando técnicas de data

mining. O desempenho da classificação de cada algoritmo foi avaliada utilizando a

métrica Area Under Receiver Operating Characteristic Curve (AUROC).

Por fim, os autores apresentam uma tabela de comparação de desempenho entre

os algoritmos abordados, sendo esses Naive Bayes (NB), Regressão Logística (LR),

Redes Neurais Artificiais (ANN), e Máquinas de Vetores de Suporte (SVM). Eles

consideraram os resultados de classificação dos algoritmos para cada um dos três datasets,

e demostraram a comparação entre eles. Após essas analises os autores descobriram que

o algoritmo Naive Bayes foi o melhor estatisticamente.

ii. Large-scale Multi-class and Hierarchical Product Categorization for an E-

commerce Giant (Categorização hierárquica e multi-escala de produtos em

larga escala para um E-commerce Gigante) (CEVAHIR; MURAKAMI,

2016)

O artigo propõe uma ferramenta de classificação em larga escala de produtos de um e-

commerce em milhares de categorias multiníveis. Para fazer essas predições foram

utilizados 280 milhões de dados de produtos contendo título e descrição provenientes de

um e-commerce. Os autores optaram por não utilizar imagens para auxiliar na

classificação, pois segundo eles o tempo de processamento seria muito grande devido à

quantidade de dados.

A ferramenta foi desenvolvida utilizando principalmente uma combinação de dois

modelos de redes neurais, isto é, KNN (k-Nearest Neighbors) e DBN(Deep belief nets).

Aplicados aos dados, esses algoritmos são usados para construir os modelos, e então as

previsões são feitas combinando os resultados de diferentes modelos e diferentes fontes

de dados.

Para as categorias analisadas o trabalho propõe um método de classificação que

organize os produtos em 28.338 categorias do e-commerce dispostas em 5 níveis

diferentes de taxonomia. Além disso, foi observado que após comparações com as

atribuições das categorias o modelo chegou a 81% de correspondência quando a categoria

“Outros” foi removida do teste. Também visto que em alguns casos o modelo se tornou

mais assertivo que a rotulação de categorias manual, ou seja, feita por mãos humanas.

iii. KNN with TF-IDF Based Framework for Text Categorization (KNN com

estrutura baseada em TF-IDF para categorização de texto)(TRSTENJAK;

MIKAC; DONKO, 2014)

O artigo em questão apresenta uma solução para a classificação de texto utilizando o

algoritmo KNN com um framework de classificação textual chamado TF-IDF. O TF-IDF

é um método estatístico numérico que permite a determinação do peso para cada termo

(ou palavra) em cada documento.

Esse método é frequentemente usado em processamento de linguagem natural

(PLN) ou na recuperação de informações e mineração de texto. O método determina o

peso, na medida que avalia a importância dos termos na coleção de documentos. A

importância do texto é aumentada proporcionalmente ao número de aparições nos

documentos.

Basicamente os autores utilizaram o framework como base e criaram módulos

para melhora-lo e integra-lo com o algoritmo KNN. Entre esses módulos os principais

seriam, o de pré-processamento (que ajusta o documento para um formato adequado para

a classificação) e o módulo KNN e TF-IDF, este seria o principal módulo pois nele estão

presentes os principais métodos para classificação.

O trabalho realizado pelo framework foi muito estável e confiável, durante os

testes foram obtidos bons resultados. A combinação do algoritmo KNN e do método TF-

IDF tem sido mostrada como uma boa escolha com menores modificações em sua

implementação.

iv. An Efficient Text Classification Scheme Using Clustering (Um esquema

eficiente de classificação de texto usando cluster) (THOMAS;

RESMIPRIYA, 2016)

O artigo propõe um método de classificação de texto que utiliza medidas eficientes de

similaridade para obter melhor desempenho. Os autores desenvolvem um método de

classificação utilizando clustering, usando um cluster semi-supervisionado para criar um

modelo de classificação.

As principais etapas do processo de classificação são: a construção do modelo e o

uso do classificador para classificação. O sistema em si é dividido em quatro módulos:

pré-processamento, cluster semi-supervisionado, cálculo de similaridade e classificação.

No pré-processamento é feita toda a preparação dos textos (extração das palavras,

remoção de stop words), em sequência é feito um processo de streaming das palavras e

por fim é construída a parte de vetorização das palavras utilizando TF-IDF, para assim

formar uma matriz de documentos e termos.

Para os experimentos é utilizado um dataset que contém dados de notícias

(Reuters-21578) rotuladas e não rotuladas. Os autores utilizam 800 documentos para fazer

as experiências, destes, 560 estão sem rótulo. Segundo os autores, a utilização do clusters

supervisionados para a fase de criação do modelo de classificação é uma abordagem

melhor, pois a maioria dos algoritmos precisa de dados rotulados na fase de treinamento

para a geração do modelo, nessa abordagem é possível utilizar também dados não

rotulados.

A partir da fase de testes os autores então concluem que, a abordagem com os

clusters obteve um bom resultado, sendo realizados testes onde são analisados 100

documentos em várias medidas de similaridade, entre essas os melhores resultados

obtiveram uma acurácia de 93%.

v. Is a Picture Worth a Thousand Words? A Deep Multi-Modal Fusion

Architecture For Product Classification In E-Commerce ( Uma imagem vale

mais que mil palavras? Uma Arquitetura Multi-Modal Profunda de Fusão

Para Classificação de Produtos em E-commerce) (ZAHAVY et al., 2016)

O artigo propõe o uso de classificação de produtos de um e-commerce em categorias

baseado nas imagens e textos informativos dos produtos, o que os autores chamam de

Multi-Modalidade. Para os textos os autores propõem a utilização do algoritmo CNN, já

para a classificação de imagens o autor aborda o algoritmo VGG. O autor também fala

que o uso da Multi-Modalidade (utilização dos dois algoritmos juntos) pode superar o uso

de apenas um algoritmo para a classificação.

Foram coletados mais de 1,2 milhões de informações de produtos do Walmart

(como imagem, descrição, etc.) para treinar o algoritmo de classificação. Na melhor CNN

treinada conseguiu-se classificar 70% dos produtos corretamente, enquanto utilizando a

VGG conseguiu-se classificar 57%.

Com base no trabalho realizado os autores descobriram que a classificação por

texto utilizada supera a classificação de imagem (aplicando no dataset utilizado). Mas,

existe um grande potencial na fusão dos dois tipos de classificação. Por fim, os autores

concluem que a fusão dos dois modelos cria uma abordagem superior aos mesmos quando

usados separadamente.

A Tabela 1 descreve algumas características das ferramentas e recursos utilizados pelos

trabalhos apresentados neste item.

Tabela 1 - Características dos trabalhos relacionados.

Índice do

trabalho

Tipo de classificação Algoritmo(s)

utilizado(s)

Dataset utilizado

i Classificação baseada nas

informações textuais dos produtos

utilizando diversos algoritmos e

comparando-os.

NB, RL,

ANN, SVM

Foram utilizados 3 datasets de

diferentes e-commereces

ii Classificação dos produtos de um

e-commerce em categorias

baseados nos títulos e descrições

KNN e DBN Produtos do e-commerce

Rakuten Ichiba

iii Classificação de documentos em

categorias baseado no conteúdo

KNN e TF-

IDF

Foram utilizados 500

documentos de texto.

iv Classificação dos documentos em

clusters baseados nas categorias

dos mesmos

TF-IDF Foi utilizado um dataset

(Reuters-21578) que contém

uma coleção de notícias,

rotuladas e não rotuladas com

800 documentos

v Classificação de produtos de um

e-commerce baseado na imagem e

informações de texto

CNN e VGG Utilizado 1,2 milhões de dados

de produtos disponibilizados

pelo Walmart

Fonte: Desenvolvido pelo autor (2020)

Os trabalhos descritos neste item apresentam conceitos de algoritmos de

inteligência artificial para classificação de dados textuais e imagem, aplicando-os na

metodologia com o intuito de classificar produtos e objetos em categorias. Alguns destes

trabalhos abordam o ambiente de e-commerce, onde existe classificação baseada na

taxonomia do produto, utilizando descrição, dados tabulados e imagem dos produtos para

implementação de uma categorização automática dentro do sistema, sendo que esta última

parte se assemelha muito à metodologia proposta neste presente trabalho.

4 Materiais e Métodos

Os métodos descritos neste item são baseados em uma pesquisa aplicada e qualitativa

exploratória, que consiste em trazer uma base teórica referencial, para descrever os

conceitos utilizados no desenvolvimento de um modelo de classificação de produtos de

um e-commerce baseado em dados textuais. A pesquisa foi desenvolvida com base na

criação de um modelo de classificação, tendo como finalidade descrever os processos e

infraestrutura utilizados para construí-lo e a avaliação de seu desempenho por meio de

análise com métricas.

4.1 Ferramentas utilizadas

Para o desenvolvimento deste modelo de classificação será utilizado a linguagem Python,

assim como algumas ferramentas que ela provém. Nos próximos parágrafos estão

descritas com mais detalhes a linguagem Python e algumas dessas ferramentas e sua

utilização neste trabalho.

A linguagem Python se tornou uma das linguagens de programação interpretadas

mais populares, desenvolvendo uma comunidade grande e ativa de processamento

cientifico e análise de dados. Nos últimos anos o Python deixou de ser apenas uma

linguagem inovadora para se tornar uma das ferramentas mais importantes em ciência de

dados e machine learning. Hoje, a linguagem Python é uma opção popular para tarefas

de análise de dados, devido a sua comunidade crescente e suporte a bibliotecas como

scikit-learn e pandas. (MCKINNEY, 2019). Utiliza-se da versão 3.8.3 do Python para

essa pesquisa.

O Scikit-learn é uma das principais ferramentas da linguagem Python para

trabalhar com machine-learning. Essa biblioteca dispõe de um kit de ferramentas para

criação de modelos de aprendizagem de máquina e outras funções que auxiliam na

preparação dos dados para esses modelos. Por isso, o Scikit-learn juntamente com o

Pandas são algumas das principais ferramentas responsáveis pela popularidade da

linguagem Python em análise e ciência de dados (MCKINNEY, 2019). Nesta pesquisa é

utilizada a versão 0.24.2 dessa biblioteca.

O Pandas é uma biblioteca da linguagem Python que oferece estruturas de dados

e funções de alto nível, para trabalhar com dados estruturados ou tabulares de maneira

rápida e fácil. Por conta disso, o Pandas tem ajudado a popularizar o Python como um

ambiente produtivo para análise de dados. O Pandas é muito utilizado para fazer o pré-

processamento dos dados, pois ele disponibiliza funções para manipulação, preparação e

limpeza de dados que são habilidades muito importantes para análise de dados

(MCKINNEY, 2019). Para essa pesquisa, foi utilizada a biblioteca Pandas na versão

1.0.5.

4.2 Procedimentos utilizados

A partir das ferramentas escolhidas, foram definidos os procedimentos desta pesquisa que

serão descritos nos parágrafos abaixo. A Figura 3 apresenta um fluxo para os

procedimentos que foram realizados no desenvolvimento da pesquisa.

Figura 3. Procedimentos para desenvolvimento do modelo

Fonte: desenvolvido pelo autor (2021)

Assim como mostra a Figura 3, a primeira etapa consistiu na escolha da base de

dados. A base de dados que foi utilizada é proveniente de datasets formados por arquivos

CSV (comma-separated values) composta por produtos de 9 diferentes e-commerces do

nicho de roupa íntima feminina.

A partir desses arquivos foi possível extrair informações sobre os produtos

disponíveis nesses e-commerces e construir o cenário de integração. Como os datasets

provém de diferentes lojas (assim como os produtos de um marketplace) a ideia é

construir o cenário de marketplace a partir desses arquivos, juntado todos os dados em

um único arquivo e utilizá-lo para a pesquisa (KAGGLE, 2017).

Após a definição da base de dados, outras etapas importantes foram o pré-

processamento e processamento de linguagem natural. Elas fazem parte da preparação do

dado para a criação do modelo. O pré-processamento é uma etapa muito importante para

lidar com os dados provenientes do dataset, pois é no pré-processamento que é realizado

o tratamento dos dados para que possam ser analisados pelo algoritmo. Os dados nem

sempre estão adequados, muitas vezes é necessário tratar dados nulos ou duplicados, entre

outros procedimentos (TEBALDI GOMES, 2019).

Como já citado no tópico 2.4 desta pesquisa, as técnicas de PLN são essenciais

para a criação de modelos de classificação que utilizam texto. Essas técnicas foram

utilizadas para fazer transformações nas informações textuais dos produtos (nome,

descrição etc..). Após a aplicação desses procedimentos de pré-processamento e de PNL

em dados textuais, foi gerado um array numérico que foi utilizado para criar e treinar os

modelos de machine learninng (conforme a última etapa da Figura 3).

Nessa última etapa, os dados foram divididos em frações de treino e teste, para

que fosse possível criar os modelos e testa-los. Após a criação dos modelos, foram

utilizadas três métricas para comparar a eficiência dos modelos: acurácia, precisão e

recall.

As métricas de avaliação se baseiam na classificação binária dos dados, as

predições feitas nesse tipo de classificação podem ter quatro possíveis classes

(MARINANO, 2021):

• Verdadeiro Positivo (VP): o modelo prediz que a classe é positiva e no

momento da comparação é concluído que a classe era realmente positiva;

• Verdadeiro Negativo (VN): o modelo prediz que a classe é negativa e

no momento da comparação é concluído que a classe é negativa;

• Falso Positivo (FP): o modelo prediz que a classe é positiva e no

momento da comparação é concluído que a classe é negativa;

• Falso Negativo (FN): o modelo prediz que a classe é negativa e no

momento da comparação é concluído que a classe é positiva;

A partir dessas classes, cada métrica é gerada utilizando da aplicação de uma

equação especifica (Tabela 2):

Tabela 2 – Métricas utilizadas e suas respectivas equações.

Métrica utilizada Equação

Acurácia 𝑽𝑷 + 𝑽𝑵

𝑻𝒐𝒕𝒂𝒍

Precisão 𝑽𝑷

𝑽𝑷 + 𝑭𝑷

Recall 𝑽𝑷

𝑽𝑷 + 𝑭𝑵

Fonte: (MARINANO, 2021)

5 Resultados Obtidos

Neste tópico serão demonstrados os resultados obtidos com a aplicação técnica dos

métodos descritos no tópico 4.2. A partir da utilização das ferramentas Pandas e Scikit-

Learn foi possível aplicar as técnicas de pré-processamento e PLN, bem como criar os

modelos preditivos e testá-los utilizando métricas. Nos próximos parágrafos será descrito

com detalhes essas técnicas aplicadas, mostrando quais os métodos computacionais

utilizados para cada uma das etapas descritas na Figura 3.

Conforme mostrado na Figura 3, para essa pesquisa foram utilizadas algumas

técnicas de pré-processamento para poder adequar melhor o dataset utilizado. Em um

primeiro momento, foi feita a concatenação dos 9 arquivos (provenientes de 9

origens/sites diferentes) CSV da base de dados em um dataset totalizando 613.143

registros distribuídos em 14 colunas.

Após isso, foi realizada uma análise sobre as colunas, descartando colunas que

não tinham informações textuais, utilizando a função filter da ferramenta pandas para

filtrar apenas as colunas com informações úteis para classificação textual.

Figura 4. Impressão das colunas originais (na vertical) do dataset mostrando o primeiro

registro.

Fonte: desenvolvido pelo autor (2021)

Foi optado por manter apenas as colunas que possuem dados textuais, então as

colunas como price, mrp, ratingm e review_count foram excluídas do filtro. Também foi

constatado que em alguns arquivos CSVs carregados a coluna style_attributes tinha os

registros nulos, ou seja, em alguns e-commerces essa informação não foi coletada. Para

evitar a remoção de diversos registros, foi optado por remover essa coluna antes da

remoção de valores nulos.

Figura 5. Os 5 primeiros registros do dataset após filtro (função filter) aplicado nas colunas

Fonte: desenvolvido pelo autor (2021)

Além da aplicação do filtro, (conforme mostrado na Figura 5) existe a necessidade

da remoção de registros que possuam colunas nulas e registros duplicados, para que não

atrapalhem no momento de criação e treinamento do modelo (TEBALDI GOMES, 2019).

Para isso, foram utilizadas as funções drop_duplicates (para remoção de duplicatas) e

dropna (para remoção de registros com dados nulos) da ferramenta Pandas.

Após esses tratamentos, foi aplicada uma função para fazer a normalização da

coluna brand, criando a partir do resultado dessa função uma nova coluna

brand_name_normalize. Então, foi criada mais uma coluna product_name_desc

resultante da concatenação textual das demais colunas.

A intenção da coluna product_name_desc é ser a coluna que contém todas as

informações textuais que serão necessárias para criar o modelo, pois assim é mais fácil

realizar as transformações. No momento da criação do modelo e futuras transformações

textuais ela será utilizada como a coluna de treino/teste.

A última alteração nas colunas, foi a criação de uma nova coluna para representar

as categorias de um marketplace de destino, ou seja, a classe em qual os dados serão

classificados na criação do modelo. Como se trata da criação de um modelo

supervisionado, é necessário ter o mapeamento de quais categorias dos e-commerces

externos serão classificadas para as categorias internas do marketplace.

Para criação dessa nova coluna, foi desenvolvido um método que agrupa todas as

categorias provenientes dos e-commerces externos (522 categorias diferentes), em

algumas categorias do marketplace de destino (12 categorias). Após a aplicação dessa

função, foi criada a coluna marketplace_category.

A coluna marketplace_category será utilizada como classe/label, ou seja será a

coluna na qual os dados serão classificados (coluna product_name_desc).

Após a aplicação de todos métodos descritos acima o dataset final reduziu-se a

82.271 registros e 8 colunas, conforme mostra a Figura 6:

Figura 6. O dataset após a aplicação de métodos de pré-processamento

Fonte: desenvolvido pelo autor (2021)

A partir do dataset normalizado (Figura 6) utilizando a coluna product_name_desc

(concatenação das demais colunas) foi aplicado o método CounterVectorizer da

ferramenta Scikit-learn que aplica duas transformações no texto: remoção de stopwords

e criação de um bag of words.

As stopwords são palavras que são muito comuns em um idioma (repetitivas)

possuem apenas significado sintático e não tem valor algum para o contexto do

texto/documento, palavras como: “e”, “ou”, “para” (em português). Por isso é necessário

remove-las pois como são palavras muito frequentes o modelo preditivo certamente daria

importância a elas (LIMA, 2017).

Já a técnica de bag of words, consiste em transformar as palavras de um

texto/documento em um vetor de frequência. Basicamente, constrói um vetor que

representa a quantidade de vezes que uma palavra aparece em um documento realizando

uma contagem dessa frequência (LIMA, 2017).

Após a aplicação dessas técnicas o vetor resultante gerado por meio do

CounterVectorizer é utilizado para uma terceira técnica de PLN para transformação do

texto: TF-IDF (Term frequency - Inverse document frequency).

A TF-IDF é uma técnica que consiste em determinar se um termo é importante

baseado na frequência em que ele aparece no texto, atribuindo para cada palavra uma

pontuação que é feita a partir de um cálculo da pontuação da frequência da palavra no

documento atual (TF) e a pontuação de quão rara é a palavra no documento

(IDF)(JAYASWAL, 2020). Nessa pesquisa foi utilizado um método da ferramenta Scikit-

learn chamado TfidfTransformer para aplicar o TF-IDF na coluna product_name_desc.

Por fim, após todas estas transformações na coluna product_name_desc ela já

está apta para ser processada e analisada pelos modelos preditivos. A Figura 7 exibe um

dataframe criado a partir do array de palavras gerado pela aplicação do método

TfidfTransformer na coluna product_name_desc. Os próximos parágrafo descrevem a

parte de classificação e comparação entre os algoritmos utilizados.

Figura 7. Trecho de código que gera um dataframe baseado na aplicação de TF-IDF na coluna

product_name_desc.

Fonte: desenvolvido pelo autor (2021)

Antes de iniciar a criação dos modelos preditivos é necessário dividir os dados em dois

conjuntos: dados de treino e teste. Essa etapa é muito importante pois, após o treinamento

o modelo precisa de dados novos (que não foram utilizados no treino) para fazer a

avaliação de desempenho corretamente. Para fazer esta divisão será utilizado outro

método da ferramenta Scikit-learn chamado train_test_split.

Outra transformação que deve ser feita antes de construir o modelo de predição, é

a normalização da coluna na qual serão classificados os dados (classe ou label). Para isso

foi utilizado o método LabelEncoder também da ferramenta Scikit-learn. Esse método

permite a transformação da classe (texto) em variável numérica (0 a n, onde n é a

quantidade de classes que existirem).

A partir desse ponto, com os dados normalizados será detalhada a criação dos

modelos preditivos. Os modelos de classificação supervisionada utilizados nessa pesquisa

são (Tabela 3):

Tabela 3 – Relação entre algoritmo utilizado e Método para criação do modelo com Scikit-learn.

Algoritmo utilizado Método da ferramenta Scikit-Learn

para construir o modelo

Árvores de Decisão DecisionTreeClassifier()

Support Vector Machines (SVM) LinearSVC()

Algoritmo Baseline classificando por

maior frequência

DummyClassifier

(strategy="most_frequent")

Algoritmo Baseline classificando

aleatoriamente

DummyClassifier(strategy='uniform')

Fonte: desenvolvido pelo autor (2021)

Os algoritmos presentes na Tabela 3 (com exceção do Algoritmo baseline) estão

descritos com mais detalhes na seção 2.3 deste artigo.

O algoritmo baseline é um algoritmo que utiliza métodos de classificação muito

básicos, como: classificação pela classe de maior frequência, classificação de forma

aleatória entre outros.

Esse tipo de algoritmo só é utilizado para validar a qualidade dos outros modelos

já treinados (reais). O baseline nunca é utilizado em uma classificação real, pois como

citado acima sua classificação é muito básica e só faz sentido para comparar com modelos

que de fato estão analisando os dados. A ideia neste artigo é utilizá-lo justamente como

um primeiro modelo para base da métrica de desempenho, pois se os modelos reais forem

piores que o algoritmo baseline, significa que os modelos criados são piores do que uma

simples adivinhação de classes, e então precisam ser revistos e reconstruídos.

Todos os modelos apresentados na Tabela 3 foram treinados e testados utilizando

um hardware com um processador Intel(R) Core (TM) i5-9300H com 16GB de RAM e

demoraram cerca de 10 segundos para a criação e teste. A diferença de tempo de execução

foi quase imperceptível entre os modelos.

Conforme explicado na seção 4.2.2 deste artigo, os modelos utilizaram para o

treino a coluna product_name_desc do dataset como entrada de dados e a coluna

marketplace_category como classe. A Tabela 4 mostra as métricas de classificação dos

algoritmos utilizando 90% dos dados para treino e 10% para teste.

Tabela 4 – Métricas de classificação utilizando diferentes algoritmos com 90% de dados de treino e

10% de dados de teste.

Algoritmo utilizado Acurácia Precisão Recall

Árvores de Decisão 86% 78% 83%

Support Vector Machines

(SVM)

89% 86% 89%

Algoritmo Baseline

classificando pela classe de

maior frequência

67% 10% 7%

Algoritmo Baseline

classificando aleatoriamente

8% 8% 7%

Fonte: desenvolvido pelo autor (2021)

A Tabela 5 mostra as métricas de classificação dos algoritmos utilizando 75% dos

dados para treino e 25% para teste.

Tabela 5 – Métricas de classificação dos algoritmos utilizando diferentes algoritmos com 75% de

dados de treino e 25% de dados de teste.

Algoritmo utilizado Acurácia Precisão Recall

Árvores de Decisão 87% 81% 85%

Support Vector Machines

(SVM)

90% 90% 92%

Algoritmo Baseline

classificando pela classe de

maior frequência

68% 8% 5%

Algoritmo Baseline

classificando aleatoriamente

8% 5% 8%

Fonte: desenvolvido pelo autor (2021)

A Tabela 6 mostra as métricas de classificação dos algoritmos utilizando 50% dos

dados para treino e 50% para teste.

Tabela 6 – Métricas de classificação dos algoritmos utilizando diferentes algoritmos com 50% de

dados de treino e 50% de dados de teste.

Algoritmo utilizado Acurácia Precisão Recall

Árvores de Decisão 89% 86% 87%

Support Vector Machines

(SVM)

91% 86% 93%

Algoritmo Baseline

classificando pela classe de

maior frequência

68% 8% 5%

Algoritmo Baseline

classificando aleatoriamente

8% 5% 7%

Fonte: desenvolvido pelo autor (2021)

Como pôde ser observado nas tabelas 4, 5 e 6 o algoritmo que obteve melhor

resultado independente da porcentagem da separação entre dados de treino e teste foi o

SVM em ambas as métricas. O algoritmo de Árvore de Decisão, por sua vez, também

obteve bons resultados, variando em geral 3% a menos na acurácia se comparado ao

SVM, independentemente da porcentagem de dados de treino e teste.

Quanto à classificação dos modelos de algoritmos de baseline, o modelo do

algoritmo baseado em classificar pela classe de maior frequência teve 68% de acerto na

acurácia em média um percentual alto se comparado ao outro modelo do algoritmo de

baseline de classificação aleatória que obteve apenas 8% de acurácia nos 3 cenários. Ao

visualizar as demais métricas, como precisão e recall vemos que ambos algoritmos

baseline possuem um resultado semelhante.

No entanto, os dois modelos treinados a partir das técnicas de PLN obtiveram

resultados acima do modelo de baseline pela classe de maior frequência. Ou seja, ambos

modelos podem ser considerados úteis para a classificação destes dados nesse cenário.

6 Considerações finais e trabalhos futuros

Este artigo apresentou um estudo para categorização de produtos de diversos e-

commerces em um contexto de marketplace, propondo a utilização de ferramentas de

análise de dados, técnicas de normalização, transformação e processamento de linguagem

natural utilizando as informações textuais disponíveis nos produtos. Além da criação de

modelos preditivos utilizando estes dados de texto pré-processados como insumo.

A partir das análises realizadas, foi possível concluir que os algoritmos de

classificação por aprendizagem supervisionada, juntamente com as técnicas de

processamento de linguagem natural demostraram um desempenho satisfatório para a

categorização de produtos através dos atributos textuais.

Assim como, atendendo às expectativas desta pesquisa em seu objetivo principal

de mostrar como a inteligência artificial alinhada com as técnicas de machine learning

poderia contribuir para a categorização de produtos em um contexto de marketplace de

forma confiável. O trabalho também analisou a parte teórica dos algoritmos, mostrando

seus principais conceitos e avaliou os algoritmos através da acurácia, precisão e recall

para entender o grau de confiabilidade do mesmo.

Para pesquisas e trabalhos futuros, pode-se destacar a utilização de outros tipos

de dados para classificação, como imagens, por exemplo. A criação e comparação de um

modelo que utiliza imagens com os modelos apresentados, ou até a utilização de ambos

os modelos (classificação de imagem e texto) juntos. Outra evolução possível é a

obtenção de uma base de dados a partir da criação de um web crawling, com uma maior

quantidade de dados e a utilização de hierarquias de categorias. Por último, a criação de

uma API REST para produtizar a solução criada, fazendo com que seja facilitada a

integração com demais sistemas.

7 Referências

ARAÚJO, M. B. DE. Comércio Eletrônico, Marco Civil da Internet, Direito Digital.

Rio de Janeiro: Imos Gráfica e Editora, 2017.

ASTURIANO MARTINS, E. A.; ZILBER, M. A. A Inovação como fator de

Diferenciação no Segmento e-Marketplace. Revista Eletrônica de Estratégia &

Negócios, v. 11, n. 3, p. 3, 2019.

BIRD, S.; KLEIN, E.; LOPER, E. Natural Language Processing with Python. 1. ed.

[s.l.] O’Reilly Media, 2009.

BIS2BIS E-COMMERCE. Produtos: dicas para definir as categorias no e-commerce.

Disponível em: <https://www.bis2bis.com.br/dicas-para-definir-as-categorias-no-e-

commerce.>. Acesso em: 13 jun. 2020.

CEVAHIR, A.; MURAKAMI, K. Large-scale multi-class and hierarchical product

categorization for an e-commerce giant. p. 525–535, 2016.

CHAVALTADA, C.; PASUPA, K.; HARDOON, D. R. A Comparative Study of

Machine Learning Techniques for Automatic Product Categorisation. 2017.

E-COMMERCE BRASIL. E-commerce: marketplaces dominam ranking dos 50

maiores do Brasil. Disponível em:

<https://www.ecommercebrasil.com.br/noticias/sbvc-ranking-50-e-commerce-brasil/>.

Acesso em: 31 maio. 2020.

ESCOLA DE E-COMMERCE. Quais as melhores práticas para categorizar produtos

no e-commerce? Disponível em: <https://www.escoladeecommerce.com/artigos/quais-

as-melhores-praticas-para-categorizar-produtos-no-e-commerce>. Acesso em: 13 jun.

2020.

HAMMOND, K. Practical Artificial Intelligence for Dummies. Hoboken: John Wiley

& Sons, Inc., 2015.

HURWITZ, J.; KIRSCH, D. Machine Learning For Dummies, IBM Limited Edition.

IBM Limite ed. Hoboken: John Wiley & Sons, Inc., 2018. v. 1

JAYASWAL, V. Text Vectorization: Term Frequency — Inverse Document

Frequency (TFIDF). Disponível em: <https://towardsdatascience.com/text-

vectorization-term-frequency-inverse-document-frequency-tfidf-5a3f9604da6d>.

Acesso em: 1 maio. 2021.

KAGGLE. Innerwear Data from Victoria’s Secret and Others | Kaggle. Disponível

em: <https://www.kaggle.com/PromptCloudHQ/innerwear-data-from-victorias-secret-

and-others?select=ae_com.csv>. Acesso em: 7 abr. 2021.

KONAR, A. Artificial Intelligence and Soft Computing Behavioral and Cognitive

Modeling of Humam Brain. New York: CRC Press, 2000.

LIMA, V. Utilizando processamento de linguagem natural para criar um

sumarização automática de textos. Disponível em:

<https://medium.com/@viniljf/utilizando-processamento-de-linguagem-natural-para-

criar-um-sumarização-automática-de-textos-775cb428c84e>. Acesso em: 5 maio. 2021.

LORENA, A. C.; DE CARVALHO, A. C. P. L. F. Uma Introdução às Support Vector

Machines. 2002.

LUGER, G. F. Artificial Intelligence: Structures and Strategies for Complex

Problem Solving. 6th. ed. Boston: Addison-Wesley, 2009. v. 6th

MARINANO, D. Métricas de avaliação em machine learning. Disponível em:

<https://diegomariano.com/metricas-de-avaliacao-em-machine-learning/>. Acesso em:

12 jul. 2021.

MCKINNEY, W. Python para análise de dados: Tratamento de dados com Pandas,

NumPy e IPython. São Paulo: Novatec Editora, 2019.

MIRANDA DOS SANTOS, E. Teoria e Aplicação de Support Vector Machines à

Aprendizagem e Reconhecimento de Objetos Baseado na Aparência. Campina

Grande: [s.n.].

MOHAMMED, M.; KHAN, M. B.; BASHIER, E. B. M. Machine Learning Algorithms

and Applications. New York: CRC Press, 2016. v. 13

RATZ, L. IA: Inteligência artificial aplicada nos marketplaces.

RUSSEL, S.; NORVIG, P. Inteligência Artificial. 3a ed. Rio de Janeiro: Elsevier Editora

Ltda, 2013. v. 3

SHALEV-SHWARTZ, S.; BEN-DAVID, S. Understanding machine learning: From

theory to algorithms. New York: Cambridge University Press, 2013. v. 9781107057

TAN, P.-N.; STEINBACH, M.; KUMAR, V. Introdução ao Data Mining. [s.l.] Ciência

Moderna, 2009.

TEBALDI GOMES, P. C. Pré-Processamento de Dados Conheça as Técnicas e as

Etapas! Disponível em: <https://www.datageeks.com.br/pre-processamento-de-dados/>.

Acesso em: 1 jun. 2020.

TEIXEIRA, T. Comércio eletrônico - Conforme o Marco Civil da Internet e a

regulamentação do e-commerce no Brasil. São Paulo: Saraiva, 2015.

THOMAS, A. M.; RESMIPRIYA, M. G. An Efficient Text Classification Scheme Using

Clustering. Procedia Technology, v. 24, p. 1220–1225, 2016.

TRSTENJAK, B.; MIKAC, S.; DONKO, D. KNN with TF-IDF based framework for text

categorization. Procedia Engineering, v. 69, 2014.

ZACHO, R. O que é Marketplace? – veja as vantagens e desvantagens. Disponível

em: <https://www.ecommercebrasil.com.br/artigos/marketplace-vantagens-e-

desvantagens/>. Acesso em: 13 jun. 2020.

ZAHAVY, T. et al. IS A PICTURE WORTH A THOUSAND WORDS? A DEEP

MULTI-MODAL FUSION ARCHITECTURE FOR PRODUCT CLASSIFICATION IN

E-COMMERCE. 2016.