Desafios de Inteligência Artificial em e-commerce de moda

Ricardo Manhães Savii
Dafiti Group
Published in
8 min readJul 7, 2020

A ideia deste texto surgiu de uma breve apresentação que ministrei durante um encontro das São Paulo Women in Machine Learning & Data Science. A apresentação foi breve e acredito que há muito mais para explorar.

O e-commerce no Brasil já crescia de forma constante até inicio de 2020. Neste novo cenário o comércio eletrônico aumentou em importância para clientes e comerciantes. O mundo digital é uma solução enquanto comerciantes precisam encerrar os atendimentos físicos e clientes precisam consumir produtos diminuindo o risco de contaminação.

Com a vinda massiva de novos comerciantes e clientes ao mundo digital os desafios da computação só aumentam. E acredito que nas universidades há respostas a diversos destes desafios. Anualmente o Brasil matricula mais de 130mil alunos em cursos de Ciências, matemática e computação¹. Apesar de serem os cursos com maior índice de evasão, formam-se algumas dezenas de milhares de profissionais anualmente.

Durante seus anos de estudos estes alunos tem oportunidades e encontros com diversos temas de pesquisa acadêmica, que, por experiência própria, passam desapercebidos. Há pouquíssimas vagas para iniciação científica, além de diversos outros problemas (benefícios e política de trabalho entre outros) que torna a decisão de aceitar estas oportunidades um sacrifício pessoal. Logo pode ser uma decisão bem difícil, e pessoal, trocar um trabalho por uma bolsa de estudos.

Os temas de pesquisa normalmente encontrados dificilmente estão ligados à aplicações específicas no mercado. Porém posso dizer que todas tem uma aplicação direta ou indireta. Diversas áreas de pesquisa desde otimização, grafos e álgebra linear possuem iniciativas ligadas à uma necessidade de mercado. E é muito muito difícil mapear e detalhar propostas de pesquisa e torná-las em projetos efetivos com bolsas e incentivos para pesquisadores. Isto é um mérito de professores, doutores e centros de incentivo à pesquisa.

Ouvi diversar vezes durante minha graduação, de alunos que preferiam trabalhar a fazer iniciação científica, que no trabalho lidariam com “problemas reais”. Este texto tem como objetivo incetivar alunos a enxergar que problemas de pesquisa são “problemas reais”. São problemas tão presentes que ou são difíceis de enxergar ou assume-se que estão resolvidos.

Abaixo eu listo e comento alguns dos desafios que encontramos em e-commerce e tento mapear com algumas áreas de pesquisa ativas no momento. Aviso: Por favor, considere durante sua leitura que não sou especialista em nenhuma das áreas que comento aqui. Assuma isto como comentários de um leigo, eterno estudante, e posso estar profundamente errado.

Sistemas de recomendação

Figura: Sistemas de recomendação

O catálogo das lojas online podem ser gigantescos, Dafiti possui mais de 500mil produtos online. Como encontrar o seu produto dentro disso tudo? Neste objetivo entram principalmente dois tipos de sistemas listados aqui: sistemas de recomendação e sistemas busca. Sistemas de recomendação é uma área de pesquisa por sí só, suas primeiras ideias datam do início da computação e até hoje estão em constante revisão. Principalmente na última década com o advento de novos modelos capazes de considerar múltiplas modalidades — imagens, texto livre, vídeo….

O sistema de recomendação trata de resolver o problema da futura compra do cliente. Qual produto o cliente quer neste momento? É um problema extremamente complexo, entre milhões de clientes e centenas de milhares de produtos, como escolhemos a combinação correta no momento certo? Uma prática comum é tratar esta tarefa como um problema de ranqueamento, onde definimos uma ordem do mais provável ao menos provável de ser comprado pelo cliente, com isso, simplificando muito, temos um ranqueamento de 500mil produtos para cada perfil de cliente.

Entre os desafios deste tipo de sistema temos dificuldades de engenharia: como armazenar uma matriz de milhões por 500 mil? Como consultar esse tipo de dado e extrair algo útil em milésimos de segundo? Temos também problemas de algoritmo: será que um filtro colaborativo basta? Será que conseguimos cruzar as modalidades de sku e cliente de forma a considerar suas múltiplas dimensões como sequência de compras, características pessoais, imagens dos produtos, texto de descrição?

Um paper que eu acho fantástico para começar a entender as possibilidades: Improving Fashion Item Encoding and Retrieval — https://research.zalando.com/welcome/mission/research-projects/improving-fashion-item-encoding-and-retrieval/

Segue também uma referência bem interessante, promete obter boas recomendações somente usando a sessão atual do cliente: Session-based recommendations with Recurrent Neural Networks — https://arxiv.org/pdf/1511.06939v4.pdf

Sistemas de busca

Figura: Sistemas de busca

Sistema de busca é uma área muito extensa em computação. E na última década há diversas iniciativas para aumentar o poder das ferramentas de busca. Uma das frentes, por exemplo, é a busca em dados não estruturados, vídeos e imagens por exemplo. Como temos centenas de milhares de produtos devemos nos preocupar muito na facilidade do cliente em encontrar diretamente o que deseja. Vemos na figura acima um exemplo, como um sistema é capaz de receber uma string “bota vermelha” e retornar resultado de produtos que sejam aceitas?

Sistemas mais simples podem, por exemplo, calcular a distância das palavras da query (“bota vermelha”) com palavras das decrições dos produtos e retornar as mais próximas. Mas qual medida de distância utilizar? Em sistemas de busca mais modernos podemos, por exemplo, fundir as modalidades de imagem e texto da query e calcular uma similaridade entre elas diretamente. Calculando a similaridade com todos os produtos para as queries, conseguimo então ranquear todos os produtos e esperar que o cliente encontre seu produto desejado.

Estes sistemas, busca e recomendação, tem uma grande complexidade já na hora de avaliar se a resposta foi boa ou ruim.

Um projeto que acho muito interessante nesta área é o Jina Ai — https://jina.ai/#/

Avaliação de comentários

Figura: Sistema para avaliação de comentários

Processamento de linguagem natural é uma área com muitas muitas aplicações. Avaliar comentários de produtos é só uma delas. Uma dificuldade que temos é dar conta da quantidade de comentários que recebemos. Imagine, temos centenas de milhares de produtos e recebemos diariamente centenas de comentários. Precisamos verificar se o comentário é condizente com a situação, cuidando de que comentários positivos e negativos sejam considerados e publicados claro! Mas devemos evitar problemas como insultos, publicação de informações pessoais por acidente ou por motivos crimosos, entre outros diversos problemas que encontramos.

Uma forma bem simples de resolver isto é utilizar técnica de bag-of-words com um algoritmo classificador. Um sistema como este é uma oportunidade de criar uma interação entre humanos e máquina. Sistemas Inteligentes de semi-automações consideram que o Aprendizado de Máquina não é perfeito, mas pode diminuir a carga de trabalho dos humanos extraindo análises em grande quantidade de comentários e sugerir uma classificação. Assim o sistema pode excluir ou aprovar diversos comentários ou aponta-los para futura análise humana em lotes.

Achei o seguinte texto bem legal para quem quer começar nesta: A Beginner’s Guide to Word2Vec and Neural Word Embeddings — https://pathmind.com/wiki/word2vec

Para quem está interessado no atual estado da arte já recomendo algo como esta publicação: Google achieves state-of-the-art NLP performance with an enormous language model and data set — https://venturebeat.com/2019/10/24/google-achieves-state-of-the-art-nlp-performance-with-an-enormous-language-model-and-data-set/

Análises de comportamento do cliente

Figura: Análise de comportamento do cliente

Análise dos clientes é uma vasta área cheia de possíveis aplicações e pesquisa. Entender o comportamento humano através de suas interações com o site tem diversas complexidades. Muitos estudos simples são feitos para entendermos melhor o cliente, por exemplo, horários de acesso ao site, histórico de compras, e tipo de dispositivo que utiliza. Isto já nos trás hipóteses bem interessantes sobre os locais onde as pessoas costumam consumir produtos de moda, quanto tempo “paqueram” produtos de interesse e que tipo de armário nossos clientes montam.

E, sinceramente, esta área é tão extensa que mereceria diversos posts somente para este. Mas só quero chamar a atenção sobre LGPD (Lei Geral de Proteção de Dados Pessoais — http://www.planalto.gov.br/ccivil_03/_ato2015-2018/2018/lei/L13709.htm) pois este campo de pesquisa pode facilmente abrir muitas brechas de segurança e seus dados deve ser bem vistoriado, justificado seu uso e protegido.

Seguem abaixo um par de papers excelentes para começar a entender problemas na análise do cliente:

Customer Lifetime Value Prediction Using Embeddings — https://arxiv.org/pdf/1703.02596.pdf

Media Exposure through the Funnel: A Model of Multi-Stage Attribution — https://dx.doi.org/10.2139/ssrn.2158421

Automação de catálogo

Figura: Automação de catálogo

Ao termos centenas de milhares de produtos próprios, a Dafiti Group também trabalha com Marketplace (onde outras lojas vendem pelos nossos sites). Como garantir que o catálogo está organizado e com qualidade de informações? Para esta tarefa são necessários treinar diversos modelos de Machine Learning capazes de encontrar possíveis problemas nos cadastros dos produtos. Por exemplo, na Figura desta seção podemos ver um produto claramente na categoria equivocada.

Além dos modelos de Machine Learning, este tipo de controle de qualidade de catálogo exige a interação contínua entre um sistema de validação e equipes de humanos. Similar ao sistema inteligente de semi-automação mencionado antes. O sistema inteligente visa aumentar a capacidade das equipes de humanos para que consigam gerenciar centenas de milhares de produtos. E todo tipo de problema pode acontecer, estamos continuamente encontrando problemas e avaliando possíveis correções automatizadas.

Segue um paper com propostas bem interessantes e práticas: A Unified Model with Structured Output for Fashion Images Classification — https://arxiv.org/pdf/1806.09445.pdf

Otimização de banners

Figura: Otimização de banners.

O espaço na tela do usuário é limitado, pense na tela como a vitrine de uma loja física. E na empresa temos inúmeras ideias de campanha ou mensagens que queremos passar para nossos clientes. Mensagens podem ser focadas para o perfil do cliente, algum evento especial de marcas ou algum foco da própria loja.

Colocaremos na vitrine o que cause maior impacto esperado nos resultados da loja. Então, diferente de uma vitrine de loja física temos informações das sessões dos clientes, que nos fornecem dicas do que poderia gerar um maior ou menor interesse em consumir no site. Na definição do desafio já começamos em um problema de pesquisa, o que mede esse impacto? Vendas? retenção de clientes? novos clientes? retenção de marcas…? Essa decisão comumente é tomada rapidamente e foca-se em vendas ou resultado financeiro momentâneo, porém estudos mais aprofundados podem dizer o que traria o maior ganho.

Outras perguntas que ainda não temos resposta: Mensagens de retenção, estilo de vida, motivacionais são mais “valiosas” que mensagens de venda direta ou promoções? características visuais das campanhas afetam seu resultado? conseguimos segmentar campanhas de acordo com o perfil do cliente?

Segue uma publicação recente com referências bem estruturadas para esta área: A Novel Methodology for Optimizing Display Advertising Campaigns Using Genetic Algorithms — https://www.researchgate.net/publication/321259861_A_Novel_Methodology_for_Optimizing_Display_Advertising_Campaigns_Using_Genetic_Algorithms

Muito obrigado pela atenção ao meu texto e espero que a/o ajude em seus estudos. :)

--

--

Ricardo Manhães Savii
Dafiti Group

He/Him | Machine Learning Engineer | Eternal student of Intelligent Systems • BR • Use technology as an empowering tool.