• Nenhum resultado encontrado

Sistema para identificação de perfil de consumidores utilizando análise de agrupamento (clusterização)

N/A
N/A
Protected

Academic year: 2021

Share "Sistema para identificação de perfil de consumidores utilizando análise de agrupamento (clusterização)"

Copied!
20
0
0

Texto

(1)

Sistema para identificação de perfil de consumidores utilizando análise de

agrupamento (clusterização)

Departamento de Ciência da Computação - Universidade do Sul de Santa Catarina (UNISUL)

Caixa Postal 370 – 88.704-900 – Tubarão – SC – Brasil

pedro.martins@unisul.br, renato.heinzen@unisul.br

Abstract: ​​This article describes a computational model which uses cluster's techniques for food establishment, with the purpose of collecting and rate products consumed by consumers and figuring out the profile of each one. The main model's goal is to cluster the customers and identify their profiles, therefore where the solution will be applied, the establishment’s owner may make Marketing campaign to the target public or recommendations to new customers, suggesting products based on consumption profiles. The model got positives results after apply the cluster's methods, resulting in distinct three groups of customers, the main feature was the age of each one, determinant to identify the profiles, wherefore it got a great segmentation, became possible to analyse the profile of each one.

Resumo​​: Este artigo descreve um modelo computacional que utiliza técnicas de clusterização (análise de agrupamento) para ambientes alimentícios, com a finalidade de coletar e avaliar produtos consumidos por um cliente para identificar seus respectivos perfis de consumo. Uma das propostas do modelo é segmentar os clientes e identificar o perfil dos mesmos, para que o dono do estabelecimento onde a solução seja aplicada, possa fazer marketing direcionado ao determinado público ou recomendações a novos clientes sugerindo produtos com base em perfis de consumo dos mesmos. O modelo obteve resultados positivos ao aplicar os métodos de agrupamento, resultando em três grupos distintos de clientes, a principal característica foi a faixa etária, predominante para traçar os perfis, e com isso se obteve uma ótima segmentação, sendo possível uma análise de perfil dos mesmos.

1 Introdução

Recomendar um produto novo a um possível consumidor sem saber se o mesmo irá gostar, pode ser uma tarefa difícil, ainda mais para um dono de um restaurante ou hamburgueria, onde a probabilidade de o cliente voltar é muito baixa se o produto oferecido for de baixa qualidade ou simplesmente o que ele consumiu não agradar. Para reduzir esse risco é necessário fazer a segmentação de seus clientes e análise de perfil.

O conceito de segmentação consiste na seleção de grupos de clientes com perfis e demandas similares alinhados com sua proposta de valor e que sejam atrativos para seu negócio. A atratividade está relacionada ao tamanho desses segmentos e sua perspectiva de rentabilidade. Esses grupos não podem ser próximos demais, fazendo com que não seja compensador investir esforços nesse sentido, e também não devem ser distantes demais de modo a não evidenciarem suas principais características, impedindo uma abordagem mais

(2)

focada (Endeavor, 2015). Para que seja possível segmentar os clientes, é necessário a coleta de informações pessoais do cliente e sua avaliação dos produtos por ele consumido.

Alguns comerciantes recorrem ao TripAdvisor, uma ferramenta muito utilizada mundialmente para coletar a opinião de seus clientes. Porém o TripAdvisor é muito abrangente e apenas coleta informações de aspectos gerais do estabelecimento e nada específico, mas mesmo com informações vagas os usuários dessa ferramenta já conseguem obter informações válidas para melhorar seu estabelecimento, porém sem informações específicas é muito difícil identificar e analisar o perfil de consumo de clientes.

Tendo em vista a importância da coleta de informações de forma direcionada de consumidores, foi desenvolvido um sistema computacional voltado para restaurantes e hamburguerias, onde através da avaliação de produtos consumidos pelo cliente e suas informações pessoais, será capaz de identificar perfis de consumidores segmentados por grupos utilizando as técnicas de inteligência artificial k-means e Clusterização Hierárquica, e com isso será possível realizar a análise dos dados.

Ao analisar os dados, pode-se compreender muito melhor o que seus clientes desejam. Ao fazê-lo, você pode ajustar o seu produto especificamente às necessidades dos seus clientes, fazendo com que eles se sintam como se tais produtos fossem criados especificamente para eles. Além disso, você pode usar dados de segmentação para criar campanhas direcionadas de publicidade e marketing para subconjuntos de clientes. Novamente, criando esse conteúdo com uma pessoa específica do cliente em mente, persona , 1

você aumenta a probabilidade de atrair a atenção dos indivíduos nesse subconjunto. (Lahar, 2018)

O artigo está estruturado da seguinte forma: a segunda seção apresenta os trabalhos existentes similares ao modelo proposto. A terceira seção faz a contextualização, onde explica conceitos das técnicas de inteligência artificial utilizadas. A quarta seção refere-se às ferramentas utilizadas no desenvolvimento da solução e o método computacional. A quinta seção apresenta o software desenvolvido para a coleta de informações. A sexta seção apresenta os resultados obtidos com o sistema desenvolvido, bem como as discussões relacionadas à estes resultados. Por fim a sétima seção apresenta as conclusões relacionadas ao desenvolvimento do sistema e ideias para trabalhos futuros.

2 Trabalhos correlatos

Em Londres, a empresa IntelligentX Brewing Co. foi inovadora em utilizar 2

inteligência artificial para produzir cerveja artesanal. Primeiramente quatro tipos de cerveja foram produzidas e selecionados alguns degustadores de cerveja para experimentá-las. Após a degustação cada participante respondia um questionário no Messenger do Facebook, dando a sua opinião e sugestões para a melhoria da cerveja. Após aplicar uma técnica inteligente de IA, as receitas das cervejas foram refeitas. Os participantes foram chamados novamente para realizar a degustação, e um novo questionário foi respondido.

Esse processo continuou por um determinado tempo, sendo que atualmente eles possuem 16 tipos de cerveja, somente com a variação de gostos de cada degustador.

Segundo Hew Leith, seria extremamente difícil e consumiria muito tempo para um humano conseguir coletar todas essas informações, com essa abordagem inteligente, todo esse processo de melhoria do produto com o feedback dos degustadores ficou muito mais eficaz e fácil. (James Temperson 2016)

1 Pessoa, traços ou identidade particular. 2 Site oficial: https://get.intelligentx.ai/

(3)

O time por trás da Inteligência Artificial acredita que um dia isso poderia auxiliar eles a ganharem a maior competição de produção de cerveja. IntelligentX foi nomeada como uma das maiores inovações do ano de 2016 pela revista ​Popular Science Magazine ​em 19 de Outubro de 2016.

De acordo com Hew Leith, os gostos das pessoas vem mudando mais rápido que o esperado, e Inteligência Artificial é a maneira perfeita de responder a essa velocidade de mudança. É utilizado o aprendizado de reforço e decisões bayesianas para decidir qual a melhor forma de alterar a receita da cerveja, conforme o feedback recebido.

TripAdvisor.com é um site de viagens que fornece informações e opiniões de conteúdos relacionados ao turismo. Ele também inclui fóruns de viagens interativos. Esse site foi um dos primeiros a adotar um conteúdo gerado pelo usuário, que fornece a maior parte do conteúdo, e é sustentado por um modelo de negócio de publicidade. A empresa afirma ser o serviço mais popular e a maior comunidade de viagens do mundo, com mais de 32 milhões de membros e mais de 100 milhões de comentários e opiniões sobre hotéis, restaurantes, atrações e outros negócios relacionados a viagens. ​Os sites com a marca do TripAdvisor estão disponíveis em 49 mercados. Juntos, eles formam a maior comunidade de viagens do mundo, com 456 milhões de visitantes únicos mensais.

Em Santa Maria no Rio Grande do Sul, Estudantes da Universidade Federal de Santa Maria, realizaram um estudo que teve como objetivo comparar os resultados obtidos pelos métodos Ward e K-means, no agrupamento por similaridade de produtores de leite da região de Santa Maria, RS. (Seidel, 2008).

Para a realização do estudo foi utilizado 231 amostras de leite in natura de 63 produtores, coletadas no período de 6 a 30 de setembro de 2004. As variáveis analisadas foram: percentual de água (%) percentual de gordura; acidez em graus Dornic e densidade em g/cm3. Em ambos os métodos, os 63 produtores foram agrupados em três clusters, dos quais 52 produtores ficaram nos mesmos clusters nos métodos analisados.

Um dos grandes problemas encontrados pelos estudantes foi a escolha de um método estatístico que possibilitaria definir da melhor forma possível os grupos de fornecedores conforme as características encontradas nas amostras de leite. Por isso, compararam os resultados obtidos pelo método de Ward (aglomeração hierárquica) e pelo método K-means (aglomeração não-hierárquica), no agrupamento de produtores de uma indústria de laticínios, de acordo com as características do leite fornecido.

Na aplicação do método Ward foram encontrados três agrupamentos. No primeiro teve baixas taxas de densidade e acidez; no segundo, altas taxas de água excedente e baixo teor de gordura; e no terceiro agrupamento teve alto teor de acidez e densidade elevada. Para o método K-means, adotou-se três agrupamentos, por baixa densidade no leite, baixas percentagens de gordura e altas percentagens de água excedente, e o terceiro agrupamento definido por apresentar altas taxas de acidez e densidade no leite.

Os resultados encontrados, pelos métodos Ward e K-means, tiveram alta concordância, pois 82,54% dos produtores foram agrupados nos mesmos agrupamentos em ambos os métodos, evidenciando a eficiência da robustez dos agrupamentos formados pelos dois métodos. Na utilização dos dois métodos conjuntamente para a formação de grupos de produtores de leite, o método Ward definiu com mais eficiência a quantidade de agrupamentos que devem ser utilizados, enquanto que o método K-means classificou de forma mais adequada os produtores dentro dos agrupamentos.

(4)

3. Contextualização 3.1 – K-Means

K-Means é um algoritmo do tipo de clusterização , e um dos mais populares no meio 3 da inteligência artificial. Segundo Kumar e Bholowalia (2014), o algoritmo é muito rápido e fácil de realizar a seleção dos clusters.

A principal ideia do k-means é definir o número K centróides em um conjunto de dados.

Passo 1: Escolher o número de K clusters.

Passo 2: Selecionar de forma aleatória k pontos, esses serão os centróides dos clusters (Figura 1).

Figura 1. Passo 2 do K-Means.

Passo 3: Atribuir cada dado do conjunto ao centróide mais próximo e isso formará k clusters. Para encontrar o centróide mais próximo é necessário calcular a distância euclidiana entre os pontos do conjunto de dados. Segundo Paul E. Black (2004), é uma linha reta entre dois pontos, em um plano com p1 como (x1, y1) e p2 como (x2,y2) conforme visualizado na Figura 2:

Figura 2. Exemplo de distância euclidiana entre dois pontos.

Equação da Distância Euclidiana:

3 Clusterização significa dividir um grande conjunto de dados em outros subconjuntos, chamados de “clusters”, onde se faz a agregação de dados conforme a similaridade entre eles.

(5)

Figura 3. Passo 3 do K-Means.

Após calcular a distância euclidiana entre os centróides 1 e 2, é identificado o meio da distância dos mesmos, e traçado uma linha imaginária, tudo o que está acima da linha pontilhada, pertence ao cluster 1, e tudo o que tiver abaixo, pertence ao cluster 2 (Figura 3).. Passo 4: Calcular e colocar o novo centróide que agrupa cada clusters (Figura 4).

Figura 4. Passo 4 do K-Means.

Para calcular o novo centróide é preciso calcular o centro de gravidade do cluster, esse cálculo pode ser considerado como a distância média de todos os pontos que se ligaram à aquele centróide.

Passo 5: Atribuir cada dado do conjunto ao novo centróide mais próximo. Se houver a mudança de posição de qualquer dado do conjunto de dados, executamos novamente o passo 4, se não houver alteração na posição, encerramos o algoritmo (Figura 5).

Figura 5. a) Passo 5 do K-Means após algumas iterações do algoritmo. b) Resultado Final.

Uma variação do algoritmo k-means, conhecido como k-means ++, utiliza a metodologia do k-means para recalcular os centróides, mas a grande diferença, e uma grande vantagem é que os centróides iniciais não são gerados de forma aleatória. Eles são gerados o mais longe possível de cada outro centróide, o que otimiza o processo de identificação dos novos centróides e se obtém melhores resultados de clusterização .

(6)

3.2 – Agrupamento Hierárquico

Segundo documentação oficial do scikit-learn , o algoritmo de agrupamento4 hierárquico tem por característica construir os clusters dividindo os dados do conjunto de forma sucessiva, representando a hierarquia dos clusters em forma de árvore. Exibindo na raíz da árvore o cluster com todos os dados do conjunto, e nas folhas cada dado sendo um cluster.

O resultado final é bem parecido com o resultado do k-means ++, porém o processamento segue um caminho diferente.

Passo 1: Considerar cada dado do conjunto de dados como um cluster, e formando N clusters (Figura 6).

Figura 6. Passo 1 do agrupamento hierárquico.

Passo 2: Unir os dois pontos mais próximos e formar um cluster, formando N-1 clusters (Figura 7).

Figura 7. Passo 2 do agrupamento hierárquico.

Passo 3: Unir os dois clusters mais próximos, e formar um cluster, formando N-2 clusters (Figura 8).

Figura 8. Passo 3 do agrupamento hierárquico

(7)

Passo 4: Repetir o passo 3, até que reste somente um cluster (Figura 9).

Figura 9. Passo 3 do agrupamento hierárquico repetido algumas vezes até encerrar o processamento.

A cada processo realizado pelo algoritmo, ele armazena os resultados das distâncias entre os clusters, através da técnica da distância euclidiana. Com essas distâncias entre os clusters armazenadas, é possível definir qual é o número ideal de clusters em que os dados podem ser classificados.

4 Materiais e Métodos 4.1 Ferramentas

Para realizar a modelagem do banco de dados, construir o modelo de entidade e relacionamento, foi utilizado o framework MySql Workbench 6.3 CE. Para o banco de dados, foi utilizado o banco de dados relacional MySQL. A linguagem escolhida para o desenvolvimento da base da aplicação, foi a linguagem Java, com o auxílio da IDE Spring Tools Suite 3.9.5, que auxilia e otimiza muito o tempo de desenvolver uma aplicação usando Spring Boot. Para realizar o mapeamento e persistência dos dados, foi utilizado o Hibernate. Para o serviço de autenticação, utilizamos o Spring Security, que é disponibilizado pelo serviço Spring da empresa Pivotial Software . 5

Na visualização da aplicação, o chamado Front-End, utilizamos a ferramenta Visual Studio Code, utilizamos as linguagens Typescript, Javascript e HTML e SCSS para o layout. Utilizamos o framework Ionic CLI para gerar a estrutura das páginas da aplicação e também o angular.

Para aplicar e testar os algoritmos de clusterização, utilizamos o framework Spyder 3.3.1, utilizamos a linguagem de programação Python 3.7 e bibliotecas específicas do Scikit-learn, uma biblioteca poderosa que oferece muitas soluções para aplicar técnicas de Inteligência Artificial.

Utilizamos o repositório remoto do GitLab para submeter e versionar o projeto do Back End e o projeto do Front End. E além disso, utilizamos o serviço na nuvem do Heroku para disponibilizar a aplicação para realizar os testes.

(8)

4.2 Método computacional 4.2.1 - Aplicação Back End.

Após ter o modelo relacional criado, começamos a desenvolver a aplicação Back End. Utilizamos Spring Boot , que é um projeto da Spring que auxilia muito na configuração do6 projeto, basta somente selecionar as dependências que desejamos, e através do maven, as mesmas já são instaladas no projeto.

Procuramos sempre respeitar e seguir as boas práticas de Engenharia de Software tais como desenvolvimento em camadas e tratamento de exceções, separando em camada de domínio, camada de acesso a dados, camada de serviço e os controladores REST , conforme 7

exemplificado na Figura 10.

Figura 10. Modelo de projeto MVC (Model - View - Controller)

As requisições recebidas pela aplicação são direcionadas para a camada Controladores REST, que acessa a camada de serviço, requisita uma busca na camada de domínio através da camada de acesso a dados (Repository).

Projetos organizados dessa maneira, aumentam a capacidade de reutilização de código e manutenção do projeto.

Configuramos três tipos de ambiente para a aplicação, o ambiente de teste, ambiente de desenvolvimento e o ambiente de produção, onde fica a versão do projeto que vai ser acessado pelos usuários.

A comunicação com a aplicação Back End acontece via requisição Http pelos métodos REST.

4.2.2 - Aplicação Front End

6 Site oficial: https://spring.io/

7 REST: em português Transferência de Estado Representacional, é um estilo de arquitetura que define um conjunto de restrições e propriedades.

(9)

Criamos um outro projeto somente para o Front End, seguindo a mesma estrutura MVC já especificada para o Back End. Com isso facilitou bastante a compreensão do8 software para realizar o desenvolvimento e manutenções necessárias.

Estruturamos as páginas criadas como sub módulos, para que a aplicação tenha o melhor desempenho possível, sendo assim o módulo só é carregado no momento em que é requisitado.

4.2.3- Conjunto de Dados

Antes de realmente montar o Conjunto de Dados, houve um momento de análise e estudos, para verificar como ficaria os dados estruturados nesse conjunto. O primeiro Conjunto de Dados montado tinha os campos de identificação do usuário, idade e as notas de todos os itens na mesma coluna. Como um usuário realiza muitas avaliações, acabou repetindo a identificação do mesmo muitas vezes, por esse motivo, a primeira tentativa de aplicar a técnica de clusterização falhou. Pois para cada linha do Conjunto de Dados, o algoritmo tratou como um usuário diferente.

Partindo do princípio que o Conjunto de Dados deveria ser composto por Usuário x Notas dos Itens, foram identificados os atributos dos usuários e os atributos das avaliações mais relevantes para a clusterização. O que de fato pode determinar o perfil das pessoas.

Para as informações do usuário, foram escolhidos os atributos de identificação do mesmo e a idade, em relação às avaliações, decidimos considerar as notas dos produtos principais e seus respectivos ingredientes, formando uma matriz de Usuário X Avaliações. Onde o número de linhas da matriz é o número de usuários que efetuaram avaliações e o número de colunas do conjunto de dados, são todos os itens com as respectivas avaliações.

Partindo desse ponto, foi identificado que poderia haver itens em que o usuário não realizou ainda a avaliação, para preparar o conjunto e normalizar as informações das avaliações, os itens em que não existe avaliação, foi considerado o valor padrão de -1. Para que o item que não foi avaliado ainda pelo usuário, não interfira na geração dos clusters. Na Figura 11, está ilustrada uma amostra do um conjunto de dados original.

Figura 11. Imagem do conjunto de dados original, com a informação do id do usuário, idade, avaliações

Para aplicar a clusterização, do conjunto de dados original, foi removida a informação da identificação do usuário, pois essa informação é desnecessária no momento de aplicar a

8 MVC: em português modelo-vista-controlador, é um padrão de arquitetura de software que separa a representação da informação da interação do usuário com ele. O Controle (Controller) envia essas ações para o Modelo (Model) e para a janela de visualização (View) onde serão realizadas as alterações necessárias.

(10)

clusterização, não se pode identificar um perfil de uma pessoa com a informação da identificação da mesma, porque é única. Na Figura 12, está ilustrada uma amostra do um conjunto de dados utilizado para aplicar a clusterização:

Figura 12. Imagem do conjunto de dados sem a coluna do id do usuário

4.2.4 - Escolhendo o melhor número de clusters

Para encontrar o número ideal de grupos de usuários que deveriam ser formados, foram aplicadas as técnicas do método de Elbow e o hierárquico aglomerativo (Dendrograma). Para o conjunto de dados gerados pela nossa aplicação, o número de clusters ideal para o modelo foi de 3.

Segundo Trupti M. Kodinariya (2013), o método de elbow é um dos mais tradicionais métodos para encontrar o número ideal de cluster de um conjunto de dados. Ele analisa a porcentagem de variância entre o número de clusters. Esse método consiste em identificar, em um gráfico, a diferença brusca na variância entre os diferentes números de clusters, indicando que, em determinados casos, a adição de mais clusters não interferirá na variância dos dados presentes no conjunto de dados.

Para simular a aplicação de 10 clusters, fizemos uma repetição de 10 interações e calculando a cada interação da repetição, a variância dos dados inseridos no conjunto. Utilizando o método “KMeans” importado do “sklearn”, passando os parâmetros:

KMeans (n_clusters = i, init = 'k-means++', random_state = 0)

i​​ é o índice do laço de repetição que especificamos de máximo 10.

init: ​​especificamos que o algoritmo de clusterização deveria ser o k-means++, pelo fato de ele já iniciar os centróides de forma mais otimizada e inteligente.

random_state: ​​consideramos o valor de 0, para especificar que não desejamos valores aleatórios.

(11)

A Figura 13 apresenta a análise do método Elbow de nosso conjunto de Dados:

Figura 13. Imagem do gráfico gerado pelo método Elbow.

● WCSS​​ - Representa a variância entre os números de clusters.

● Número de Clusters - Uma faixa de valores de 1 à 10, pois foi o número de clusters que foi simulado para esse conjunto de dados.

A curva mostra de forma bem intuitiva que há uma variância significativa entre a quantidade de clusters 1 para 2. Há uma diferença bastante visual de 2 para 3 clusters, mas seguindo a metodologia do Elbow, o número de clusters ideal para esse conjunto de dados são 3. Pois mesmo adicionando mais um cluster, a variância entre os clusters se torna muito semelhante, como podemos observar, na Figura 13, os pontos 3 e 4.

Já para o método hierárquico aglomerativo são usualmente descritos por um diagrama de similaridade, chamado de dendrograma (Figura 14). Dendrograma hierarquiza o grau de semelhança entre os agrupamentos tornando possível obter uma visão bidimensional da similaridade ou dissimilaridade de todos os dados. Esta propriedade facilita a comparação de diferentes configurações de agrupamentos para um mesmo conjunto de dados. (Márcio Leandro Gonçalves, Márcio Luiz de Andrade Netto, Jurandir Zullo Jr., José Alfredo Ferreira Costa, 2008)

Usamos o método “Agglomerative Hierarchical”, segundo documentação oficial do site scikit learn, utiliza a abordagem bottom up, iniciando de baixo para cima, ou seja, para cada dado do conjunto é considerado como um cluster, e depois de sucessivos procedimentos é chegado em um único cluster. A exibição dessa hierarquia de cluster é através de uma árvore, podendo ser visualizada facilmente a distância entre os clusters exibidos.

(12)

Figura 14. Imagem do dendrograma.

Os pontos no eixo X, são os clientes analisados, cada linha na horizontal identifica a criação de um cluster, e a linha vertical exibe a distância entre os clusters. Para calcular a distância, usamos a distância euclidiana considerando o método “ward” do hierarchical clustering, que minimiza a variância entre os clusters avaliados.

Está técnica não deixa explicitamente o número de cluster que devemos considerar, mas conseguimos analisar o gráfico exibido e identificar quais linhas verticais são as maiores e que não são cortadas por linhas horizontais. Se traçarmos uma linha horizontal imaginária entre essas linhas verticais, o número de linhas “cortadas” representará o número de clusters que nosso conjunto de dados deverá ser dividido (Figura 15).

Figura 15. Imagem dendrograma representada pela linha que indica o número clusters.

Na Figura 15 podemos identificar que a linha traçada, corta 3 linhas verticais, isso nos mostra que para esse conjunto de dados, o número ideal de clusters são 3.Aplicamos essas duas técnicas para verificarmos e comprovarmos que nosso conjunto de dados estava bem estruturado e que a clusterização ficaria de forma eficiente.

(13)

4.2.5 - Aplicando a Clusterização.

Após identificar a quantidade de clusters ideais para o conjunto de dados, foram aplicados os algoritmos k-means++ e hierarchical clustering para dividir o conjunto de dados em 3 clusters. O conjunto de dados utilizado foi o mesmo mencionado na figura 12.

Com uma dimensão de X Usuários e Y Itens avaliados, resultando em uma matriz de X x Y, totalizando em X.Y= informações a serem processadas.

Para o K-means foi considerado o método de clusterização do k-means ++ e para o Hierarchical Clustering foi considerado o método Agglomerative Clustering, usando o cálculo da distância euclidiana e o método ward, conforme especificado no site oficial scikit-learn, minimiza a variância das distâncias entre todos os clusters. Para aplicar realmente a clusterização, deve ser usado os mesmos parâmetros que foram utilizados no momento de aplicar as técnicas para encontrar o melhor número de clusters.

O resultado dos algoritmos é uma lista de usuários, e para cada identificação do usuário, é relacionado o número do cluster que o mesmo está inserido. Foi preciso fazer uma relação da lista que os algoritmos retornaram com o conjunto de dados original, para saber em qual cluster cada usuário estava inserido.

Figura 16. Lista com os clusters dos respectivos usuários.

Na Figura 16, podemos verificar que na lista da esquerda, está exibindo a lista de retorno dos algoritmos, e na lista da direita está exibindo os usuários do conjunto de dados que foram analisados. Para saber qual cluster cada usuário pertence, foi necessário cruzar as informações das duas listas e obtivemos o resultado final.

Para a aplicar os algoritmos de clusterização, criamos um serviço separado, onde o mesmo comunica-se por meio requisição Http com a aplicação Back End.

(14)

4.2.6 - Avaliação e Validação do modelo.

Para a análise e avaliação dos resultados, coletamos as informações através da aplicação desenvolvida. A coleta ocorreu durante o período de 29 de Outubro de 2018 à 07 de Novembro de 2018, onde os usuários se cadastraram e realizaram as avaliações, em um formato de simulação, já que os dados em questão eram todos fictícios.

Tendo em vista que a aplicação já se encontra online, foi apenas necessário enviar um link da aplicação por um aplicativo de mensagens, no caso o Whatsapp, para que as pessoas pudessem ter acesso. O envio foi realizado de maneira individual e por grupos, para amigos, familiares e colegas de trabalho. Dessa forma foi possível atingir usuários de diferentes idades e diferentes regiões.

Poucas pessoas que utilizaram a aplicação tinham conhecimento da mesma, mesmo assim, a coleta de informações ocorreu de maneira bem sucedida. O feedback dos usuários foi por sua maioria de maneira positiva, apenas com poucas críticas de funcionamento e usabilidade.

Foi criado um ambiente de teste com um estabelecimento fictício, no caso uma hamburgueria com seus respectivos produtos, todos possíveis de serem avaliados.

5 Aplicação

Para a coletar as informações utilizadas este artigo foi desenvolvido a aplicação Thinking Simple , seu objetivo é coletar o máximo de dados de maneira rápida e confortável9 de clientes de restaurantes e hamburguerias.

Após um rápido cadastro de usuário é necessário acessar em um estabelecimento, o login de acesso no estabelecimento pode ser feito por uma leitura qrCode ou por um código. Feito isso, o processo de avaliação estará disponível.

O usuário primeiro escolhe um tipo de produto, em seguida um produto, após selecionar o produto o usuário fará a avaliação do mesmo, de maneira geral e seus respectivos ingredientes. O usuário não possui limites de avaliação. A aplicação está disponível online.

Figura 17. Fluxo de avaliação do usuário.

9 Thinking Simple. Aplicação disponível em: https://app-front-end-unisul-tcc.herokuapp.com/#/home Código de acesso ao estabelecimento: TCC

(15)

6 Resultados e discussões

Ao todo foram coletadas 2066 avaliações de 86 usuários de todas as idades, entre 17 e até maiores de 65 anos, e um total de 79 itens, considerando itens principais e seus respectivos ingredientes.

O modelo de agrupamento hierárquico nos indicou a incidência de 3 clusters, sendo que, para o primeiro cluster foram considerados 45 usuários, com uma representatividade de 52.3 % do total de usuários. Para o segundo cluster, foram alocados 14 usuários,16.3% do total de usuários, e finalmente o terceiro cluster obteve-se 27 usuários, 31.4 % do total de usuários (Figura 18).

Figura 18. Gráfico de rosca com a distribuição dos usuários em cada cluster para o método de agrupamento hierárquico, mostrando o resultado em percentuais.

Os resultados obtidos pelo método K-Means foram bem semelhantes aos do modelo hierárquico, foram considerados o mesmo conjunto de dados e agrupados em 3 clusters. Para o primeiro cluster foram considerados 47 usuários, com uma representatividade de 54.7 % do total de usuários. Para o segundo clusters, foram alocados 12 usuários, 14% do total de usuários, e finalmente o terceiro cluster obteve-se 27 usuários, 31.4 % do total de usuários (Figura 19).

Figura 19. Gráfico de rosca com a distribuição dos usuários em cada cluster para o método K-means, mostrando o resultado em percentuais.

(16)

Na figura 20 nos mostra a representação do histograma da distância entre os clusters com a quantidade de usuários no cluster. No eixo X é exibida a distância entre os clusters, e podemos constatar que a segmentação entre os clusters ficou bem definida, pois os clusters estão bem afastados um dos outros. No eixo Y é exibido o número de usuários contidos nos clusters.

Figura 20. Histograma ilustrando a distância entre os Clusters x Quantidade de Usuários.

Com os resultados obtidos e apresentados, o fator predominante para o agrupamento dos clientes foi a idade dos mesmos, onde as pessoas de mais idade, ficaram definitivamente bem separadas de outros grupos. O segundo cluster, dos modelos hierárquico e k-means, contém um perfil de pessoas que são de mais idade com a média de idade de 62 anos, que se identificaram com produtos que são mais saudáveis, como sucos e comidas menos gordurosas. O terceiro cluster, dos modelos hierárquico e k-means, mostrou um perfil de pessoas com a maior representação de avaliações diversas, dentre produtos mais saudáveis até os menos saudáveis, predominou, como cerveja e os hambúrgueres tradicionais, com uma média de idade de 39 anos. Já o primeiro cluster do método hierárquico e o primeiro cluster do modelo k-means, foram os que mais possuem usuários, e com uma média de idade baixa, em relação aos demais grupos, o perfil desses usuários são de pessoas mais jovens e que preferem os produtos com altas calorias, hambúrgueres e porções mais elaboradas e uma variedade de bebidas alcoólicas como chopes, caipirinha, cerveja, etc. A média de idade foi de 29 anos.(Figura 21)

(17)

Figura 21. Gráfico com a média de idade de cada cluster.

Tipos de Produtos Cluster 1 Cluster 2 Cluster 3

Chopps 23,79 % 4,16 % 17,54 % Porções 9,28 % 21,98 % 8,54 % Hambúrgueres 27,67% 5,53 % 10,86% Refrigerantes 7,86 % 11,98 % 5,07 % Sucos 7,01 % 22,80 % 2,16 % Hambúrgueres Tradicionais 10 % 16,44 % 24,68 % Cervejas 7,86% 8,44 % 21,64% Caipirinhas 6,72 % 8,62 % 9,47 % Total Avaliações 1055 367 644

Quadro 1. Mostra os percentuais de avaliações por produto de cada cluster.

Os dados apresentados na Tabela 1 mostram o percentual de avaliações realizadas pelos integrantes dos clusters, considerando o total de avaliação realizada no cluster.

7 Conclusões

A importância de conhecer o cliente, de maneira que se consiga identificar seus interesses principais é crucial para o sucesso de um estabelecimento comercial, e essa necessidade passa pela análise do perfil de consumo de cada cliente, bem como suas

(18)

características pessoais. Nesse ponto, entra o importante papel da segmentação e análise de perfis, pois aplicando essa técnica o gestor do estabelecimento tem as informações necessárias para fazer uma recomendação ou uma propaganda direcionada, para grupos de clientes e também individualmente.

Assim como o TripAdivisor, coletamos as avaliações de clientes, porém o TripAdivisor além de coletar informações de maneira não específica, não utiliza nenhuma técnica de segmentação e análise de perfil de consumo com seus dados coletados, obtendo apenas resultados brutos e genéricos. Sendo assim a solução proposta difere nesse quesito, tanto na coleta de informações de maneira mais precisa quanto na utilização desses dados.

Nos dados coletados pela solução proposta, obtivemos êxito ao aplicar os métodos de agrupamento hierárquico e do k-means, pois conforme figura 20 do histograma, os usuários ficaram bem segmentados e em clusters com as variações bem distantes umas das outras. Isso indica que as características entre os clusters estão distintas. Os dois métodos resultaram em clusters bem parecidos a única diferença foi de somente dois usuários. Analisando os dados, a faixa etária dos usuários teve grande relevância na segmentação dos dados.

Para trabalhos futuros, sugere-se aplicar técnicas de recomendação de produtos para os grupos de clientes segmentados, tendo em vista que já estará traçado o perfil de cada cliente. Por exemplo, um produto recém lançado, e que pertence a um tipo de produto de preferência de um grupo de usuários, poderia ser recomendado para esse grupo, aumentando o engajamento do cliente com o estabelecimento.

8 Referências

Arief, V.N., DeLacy, I.H., Basford, K.E. et al. Euphytica (2017) 213: 85. Disponível em: <https://doi.org/10.1007/s10681-017-1870-z​> ​Acessado em Novenbro 2018.

Endeavor. Segmentação: A prática de escolher os clientes certos. Novembro 2015. Disponível

em :

<https://endeavor.org.br/marketing/segmentacao-a-pratica-de-escolher-os-clientes-certos/>

Acessado em Novembro 2018.

Gamermann Daniel, ​Large scale evaluation of differences between network-based and pairwise

sequence-alignment-based methods of dendrogram reconstruction​,

2017. Disponível em: <https://arxiv.org/pdf/1709.09236.pdf​> ​Acessado em Novembro 2018.

Hierarchical Clustering. Disponível em :

<http://scikit-learn.org/stable/modules/clustering.html#hierarchical-clustering> Acessado em Outubro 2018.

James Temperson. Beer brewed with the help of AI? Yup, that's now a thing. 2016

Disponível em​ <​http://www.wired.co.uk/article/beer-brewed-by-ai-intelligentx> Acessado em Abril 2018.

K-Means. Disponível em <http://scikit-learn.org/stable/modules/clustering.html#k-means> Acessado em Outubro 2018.

(19)

Kodinariya Trupti M., Dr. Prashant R. Makwana. Review on determining number of Cluster in K-Means Clustering 2013 International Journal of Advance Research in Computer Science and Management Studies Volume 1, Issue 6, November 2013 pg. 90-95. Kumar, Bholowalia. EBK-Means: A Clustering Technique based on Elbow Method and K-Means in WSN,

2014, International Journal of Computer Applications (0975 – 8887) Volume 105 – No. 9, November 2014.

Lahar. Segmentação de clientes: tipos e benefícios para sua empresa. Março 2018. Disponível em:​ <​https://blog.lahar.com.br/gestao-empresarial/segmentacao-de-clientes/​>​ Acessado em Novembro 2018.

Márcio Leandro Gonçalves, Márcio Luiz de Andrade Netto, Jurandir Zullo Jr., José Alfredo Ferreira Costa. CLASSIFICAÇÃO NÃO-SUPERVISIONADA DE IMAGENS DE

SENSORES REMOTOS

UTILIZANDO REDES NEURAIS AUTO-ORGANIZÁVEIS E MÉTODOS DE AGRUPAMENTOS HIERÁRQUICOS, 2008. Revista Brasileira de

Cartografia No 60/01, Abril 2008. (ISSN 1808-0936).

Markus Zanker, Alexander Felfernig, Gerhard Friedrich. 2010. Recommender Systems: An Introduction, DietmarJannach, Cambridge University Press.

Michelle Andrade - 2017 - Entenda como funcionam os Sistemas de Recomendação.Disponível em:

<http://igti.com.br/blog/como-funcionam-os-sistemas-de-recomendacao/> Acessado em Maio 2018.

Mi Z., Xu C. (2012) A Recommendation Algorithm Combining Clustering Method and Slope One Scheme. In: Huang DS., Gan Y., Premaratne P., Han K. (eds) Bio-Inspired Computing and Applications. ICIC 2011. Lecture Notes in Computer Science, vol 6840. Springer, Berlin, Heidelberg.

Moita Neto José Machado, Ciaramella Moita Graziella. UMA INTRODUÇÃO À ANÁLISE EXPLORATÓRIA DE DADOS MULTIVARIADOS 1997.

Paul E. Black, "Euclidean distance", in ​Dictionary of Algorithms and Data Structures [online], Vreda Pieterse and Paul E. Black, eds. 17 December 2004. (acessado Novembro 2018) Disponível em: <https://www.nist.gov/dads/HTML/euclidndstnc.html​> ​Acessado em Outubro 2018.

REST. Dispnível em: <https://pt.wikipedia.org/wiki/REST​> ​Acessado em Novembro 2018. Seidel, Moreira Júnior, Ansuj, Noal. COMPARAÇÃO ENTRE O MÉTODO WARD E O MÉTODO K-MÉDIAS NO

AGRUPAMENTO DE PRODUTORES DE LEITE.Departamento de

Estatística/CCNE Universidade Federal de Santa Maria/Santa Maria, RS. Disponível em: <https://periodicos.ufsm.br/cienciaenatura/article/view/9737/5830> Acessado em

(20)

Novembro 2018.

The 7 Greatest Software Innovations Of The Year, Outubro 2016. Disponível em :

<https://www.popsci.com/6-greatest-software-innovations-year​> ​Acessado em Novembro 2018.

TripAdivisor. Disponível em: <https://tripadvisor.mediaroom.com/br-about-us​> ​Acessado em Novembro 2018.

WIREs Data Mining Knowl Discov 2011. doi: 10.1002/widm.53 ​Algorithms for hierarchical clustering: an overview Fionn Murtagh and Pedro Contreras.

Referências

Documentos relacionados

Outra surpresa fica por conta do registro sonoro: se num primeiro momento o som da narração do filme sobre pôquer, que se sobrepõe aos outros ruídos da trilha, sugere o ponto de

Deste modo, este trabalho teve como objetivo analisar os casos de tentativa de suicídio entre os estudantes, notificados pelo CEATOX - CG, durante o ano de

No final, os EUA viram a maioria das questões que tinham de ser resolvidas no sentido da criação de um tribunal que lhe fosse aceitável serem estabelecidas em sentido oposto, pelo

Taking into account the theoretical framework we have presented as relevant for understanding the organization, expression and social impact of these civic movements, grounded on

De acordo com o Consed (2011), o cursista deve ter em mente os pressupostos básicos que sustentam a formulação do Progestão, tanto do ponto de vista do gerenciamento

Our contributions are: a set of guidelines that provide meaning to the different modelling elements of SysML used during the design of systems; the individual formal semantics for

São considerados custos e despesas ambientais, o valor dos insumos, mão- de-obra, amortização de equipamentos e instalações necessários ao processo de preservação, proteção

Considerando a contabilidade como centro de gestão da informação, os autores defendem o aprimoramento de uma visão sistêmica ao profissional, como também uma maior compreensão