Modelo de recomendação para aprendizagem personalizada — Parte II

Bruna Alves Maia
11 min readMar 9, 2021

--

Este texto faz parte do programa do curso de Data Science da Tera. Este é o primeiro artigo do grupo de soluções para educação, composto pelos estudantes: Allan Bravos, Bruna Maia, Camila Neves, Guilherme Lino e Victor Stefanelli e com a contribuição de Luiz Henrique Araújo como desenvolvedor convidado.

Há pouco tempo compartilhamos neste artigo, um pouco sobre a educação personalizada por estratégia de aprendizagem. Nosso desenho de problema e proposta de produto de dados, visava reduzir o paradoxo da escolha e possibilitar uma vida de aprendizados mais assertiva, já que uma prática comum entre a população adulta é buscar e estudar temas com conteúdos disponíveis online, para aprender uma nova habilidade ou tópico.

Já que 95.7% dos respondentes, da nossa survey de mercado, já estudaram de maneira independente e online algum tema. E desses, apenas 36.4% consideram suas práticas atuais muito produtivas, 53.9% preferiam ser guiados do que trilhar sozinhos e 27.3% gostariam de ter menos conteúdos disponíveis para maximizar a eficiência desse tipo de método de aprendizagem. (Survey do grupo via GoogleForms, n=161 respostas)

All Project Canvas para organizar nossa solução e colocar todo o time na mesma página

Nessa segunda parte, vamos falar um pouco mais sobre nossas análises exploratórias e o algoritmo que estamos construindo para lidar com esse cenário.

1. CLASSIFICAÇÃO DE PERFIS

Estruturação do problem to solve

Uma parte importante do nosso projeto é a classificação de usuários de acordo com seus objetivos e perfil de aprendizado. Inicialmente, a intenção era seguir com um modelo de clusterização para isso. Entretanto, a aplicação desse método dependeria de termos uma base de dados já populada com características dos usuários e/ou com seus comportamentos já capturados, para, a partir disso, identificar os clusters. Com o andamento do projeto, percebemos que focar apenas no modelo de recomendação seria mais produtivo (e viável, dado o tempo disponível), cabendo melhor no nosso MVP, que é: entregar trilhas personalizadas para aprender Ciência de Dados. Reduzindo assim, o escopo que poderia ser infinito (já que há infinitas possibilidades de temas para se aprender, perfis de aprendizagem e outputs de trilhas personalizadas) para um único tema, quatro perfis de aprendizado e 64 possibilidades de trilhas.

Em nossa pesquisa inicial, entendemos que há basicamente três personas que procuram aprendizado online de forma independente/auto-didata: os lifelong learners (pessoas cujo objetivo principal é estar sempre aprendendo, movidas pela curiosidade), os work enthusiasts (pessoas focadas em ser melhores profissionais com alta performance em suas carreiras atuais) e os career adventures (pessoas interessadas em explorar possibilidades para trocar de carreira).

Personas iniciais do negócio

Em uma pesquisa que fizemos com uma base de respondentes aleatória (161 respostas, via GoogleForms), 70.8% disseram que quando procuram aprender um conhecimento novo é para se aprimorarem na sua profissão, 22.1% para aprender algo novo sem relação com sua profissão atual e 7.1% para trocar de profissão e 0% apontaram outras razões.

Esse dado ressalta o valor que nosso modelo geraria como produto, ao mesmo tempo que reforça como nosso público estava amplo para o MVP. Era necessário desenhar possibilidades concretas de perfis interessados em aprender sobre Data Science, o tema escolhido para o MVP. Foi então que entendemos que há 4 perfis de interessados em aprender Data Science e que a variável de maior relevância nessa jornada eram seus backgrounds profissionais, pois segundo o mapeamento do Cappra, há pelo menos quatro trilhas essenciais no aprendizado de data science, e pelos tópicos nelas dispostos, um background pode facilitar e ordenar as jornadas de maneira diferente.

Também pesquisamos um pouco sobre perfis de aprendizado e o que era importante levar em consideração na hora de aprender online com uma trilha customizada. Percebemos, fazendo um benchmark com players como Duolingo, Coursera, LinkedIn Learning e outros, que o nível de domínio inicial no tema de interesse é sempre requerido para proporcionar uma melhor experiência e eficiência nos estudos. Além disso, o tempo que a pessoa gasta em cada tema acaba ditando um ritmo de aprendizado que pode variar do mais rápido ao mais devagar (fast learners e slow learners). Por fim, investigando diferentes perfis de aprendizado, encontramos a teoria comportamental VARK, 1992, do professor neozelandês Neil Fleming, indica que toda aprendizagem ocorre por meio de cinco habilidades fundamentais que acabam constituindo quatro perfis que aprendem de maneira diferente: visual/logical, auditivo/social, prático/cinestésico, leitura-escrita/teórico.

Após mapear qualitativamente essas variáveis importantes na composição de perfil, fizemos um dicionário com elas em Python, utilizando o Jupyter Notebook, para organizá-las e também contabilizar as probabilidades:

Inventório de variáveis importantes para classificação de perfis de aprendizado em data science

Fatorando os itens em cada variável, 4*4*3*4*4*2, resultamos em 1536 perfis. Percebemos que esse número é muito grande e deliberamos sobre quais variáveis impactam diretamente no MPV, dividindo assim quais dados vamos colher e utilizar como atributo para classificar os perfis em 1,2,3,4 (pessoa desenvolvedora, pessoa estatística, pessoa de outras áreas e pessoa curiosa).

Como inicialmente só teríamos um tipo de mídia disponível como conteúdo (artigos e textos), entendemos que não deveríamos considerar na primeira onda de entrega os perfis de aprendizagem. Como não vamos ter features utilizando a variável ‘ritmo’ inicialmente, também cortamos. Como descobrimos uma provável relação entre goal e background no caso da trilha de Data Science, também cortamos essa variável. Assim, conseguimos reduzir nossas probabilidades em 64 possibilidades.

Probabilidades com nova seleção de variáveis

Optamos então por uma nova redução, pois entendemos que apenas a variável “background” estava de fato sensibilizando o perfil. Entendemos que seria mais útil deixar “área de interesse” e “entry level” como dados que podem enriquecer a personalização das trilhas no modelo de recomendação em uma versão futura.

No final da exploração, saímos então com 4 perfis finais e com o seguinte mapa de personas e jobs to be done, o que torna mais palpável qual negócio estamos querendo entregar com nosso produto de dados:

Personas do MVP, Trilha de Data Science

O estudo paralelo sobre modelos de recomendação reforçou a necessidade de reduzirmos o número de possíveis perfis a serem considerados, uma vez que existe um trade off entre a quantidade de perfis distintos a serem assimilados pelo modelo de recomendação e a qualidade das primeiras recomendações, bem como com a necessidade de processamento.

De qualquer maneira, o survey inicial que irá ajudar na categorização do perfil, gerando a label que será consumida pelo modelo de recomendação, também nos ajudará a popular uma base de dados atitudinal que gerará base para análises exploratórias e tratamento em uma v2:

Survey classificador para onboarding no produto

2. CRIANDO A BASE DE DADOS E FEATURES

A base elaborada para a nossa aplicação é composta por 10 tabelas, destinadas à alocação dos dados de identificação dos usuários, aos tipos de perfis, feedbacks e os artigos que serão recomendados. A base foi criada no PostgreSQL e se conecta diretamente ao nosso Jupyter Notebook.

Estrutura de banco de dados em produção no PostgreeSQL
Diagrama de dados no PostgreeSQL

A construção da base de artigos que irá alimentar a nossa aplicação foi feita de forma manual, usando o mecanismo de busca de plataformas como o Medium, Towards Data Science e scikit-learn. Os artigos foram separados com base em 4 pilares (Business, Culture, Science e Tech) os quais divididos em tópicos de introduction to data science, business analytics, dataviz, analytical culture, statistics, machine learning e coding, e que por sua vez foram subdivididos em vários temas. A definição dos pilares e tópicos foi baseada nas trilhas de conhecimento por área definidas pelo Cappra Institute for Data Science. A estrutura de temas original é composta por 206 temáticas distintas, que, para efeito deste MVP, foram reduzidas para apenas 21, sendo 13 originais e 8 inclusões ou modificações na descrição para torná-las mas claras e simples

Para cada tema, foram selecionados ao menos 3 artigos, chegando ao número mínimo de 64 artigos. Os artigos estão tanto em português como em inglês e possuem tempo médio de leitura de 8 minutos. Além da linguagem e tempo de leitura também foram registradas as quantidades de figuras e gráficos existentes em cada artigo, data de publicação, nome do autor, número de caracteres e keywords.

3. MODELO DE RECOMENDAÇÃO

Os Sistemas de Recomendação usam dados reais de comportamento dos usuários para fazer inferências sobre as suas preferências.

Alguns exemplos bem conhecidos são as recomendações de música do Spotify e de séries da Netflix. A Amazon e praticamente todo e-commerce recomendam produtos para os seus usuários. Essas recomendações são feitas com base em todos os dados disponíveis sobre o usuário, mas principalmente seus hábitos, como páginas visitadas, compras realizadas, itens “curtidos”, filmes assistidos e outros. A relação entre as ações do usuário e as características dos itens com que ele interagiu, fornecem as informações fundamentais para o sistema de recomendação.

No nosso caso, mais especificamente na solução do MVP, os usuários irão ler artigos que tem determinadas características (site de origem, quantidade de palavras, imagens, autor) e retornarão um feedback para cada experiência de leitura. Esses dados de características e interações devem alimentar um modelo de recomendação que torne a experiência dos usuários mais otimizada, recomendando artigos que recebam um feedback cada vez melhor.

Collaborative Filtering

O modelo de Filtro Colaborativo parte da seguinte ideia: usuários que interagem com o produto de uma mesma forma tendem a ter as mesmas preferências. Por exemplo, se os usuários A e B compraram um mesmo produto, quando A comprar um novo produto, essa será uma boa recomendação para o usuário B.

Essa ideia inicial ganha escala em sistemas de recomendação como o da Netflix. São milhares de filmes e series oferecidos para milhões de usuários. Os usuários não irão interagir com todos os filmes do catálogo, mas “clusterizando” os usuários por grupos de preferência, cada nova interação gera informações valiosas para o sistema de recomendação colaborativo.

Nosso modelo de recomendação para as trilhas de aprendizagem seguem o mesmo princípio. Os usuários são associados a perfis, que representam o seu grupo de preferência. Para cada tema da trilha, o usuário recebe uma recomendação de artigo e devolve o seu feedback ao final da leitura. A princípio, com a base de dados não populada, os usuários recebem recomendações aleatórias. Mas conforme as interações vão acontecendo, o sistema passa a recomendar artigos que foram bem avaliados pelo grupo, aumentando a chance de recomendação de artigos mais “interessantes”, que recebam melhores feedbacks.

Os sistemas de recomendação desse tipo são baseados em fatoração matricial. Em linhas gerais é uma matriz que contém em um eixo todos os usuários e em outro todos os artigos. Cada feedback de usuário é inserido na matriz, na posição que corresponde ao usuário e artigo avaliados.

Fatoração matricial para sistema de recomendação

O trabalho do Sistema de Recomendação é tentar prever quais seriam as recomendações nas posições que não foram preenchidas.

Na resolução do nosso problema específico, só recomendamos um artigo para cada tema. Então o objetivo é tentar prever que artigo terá a melhor avaliação para cada grupo de usuários.

Fluxograma de banco de dados e modelos

4. MÉTRICAS DE SUCESSO

Nosso survey de mercado ajudou a entender o peso dessas dimensões com mais clareza: no nosso universo de 161 respondentes, 33.9% eram de outras áreas, 3.9% não tinham uma profissão e 46% eram das ciências humanas, deixando um total de 16.2% de pessoas programadoras ou matemáticas e um total de 88.2% de outros backgrounds.

Também entendemos alguns indicadores de sucesso de aprendizagem online que poderão nos ajudar na construção do produto final e metrificação do sucesso final do algoritmo:

Gráfico de key results de aprendizado online. Source: Survey de Mercado feito pelo grupo via Google Forms, Março-2021, 161 respostas.
  • Métricas de sucesso do DaaP end-to-end de dados:

KR1 = %de usuárias dando feedback de que o artigo foi útil para o dia a dia via feedback survey

KR2 = %de usuários sendo promotores no NPS dos artigos via feedback survey

KR3 = evolução na trilha (qtd artigos consumidos por usuário)

  • Métricas de sucesso da performance do modelo:

Medir o “sucesso”, ou a evolução do modelo de recomendação com o tempo, significa avaliar se o sistema fazendo recomendações mais acertivas para o usuário. No nosso caso, significa indicar os melhores artigos possíveis para cada tema, levando em conta o perfil do usuário.

Mas essa é uma métrica de sucesso do produto. Da mesma forma aconteceria com a quantidade de novos usuários ingressando no sistema, a disponibilidade de trilhas ou o percentual de conclusão das trilhas.

O algoritmo de Collaborative Filtering mede principalmente a taxa de erro, ou seja, a diferença entre a predição da nota do usuário para cada item, em relação a nota que o usuário realmente deu quando teve oportunidade. O problema aqui é que muitos usuários não terão a oportunidade de avaliar todos os itens. Trazendo para o nosso caso, cada usuário só irá ler e avaliar um único artigo por tema, mesmo que existam centenas de opções disponíveis para o sistema de recomendação.

Por isso, existem outras formas de avaliar o desempenho de um sistema de Collaborative Filtering, como: nível de personalização, cobertura, similaridade intra-lista e outros.

Apenas para reforçar, o sistema de recomendação só existe se houver interação dos usuários com os itens disponíveis. Quanto maior a interação, melhores as chances de boas recomendações, por isso vamos colher feedback sistematicamente.

5. PROTÓTIPO DO APP PARA USUÁRIOS

O produto do nosso projeto consiste em um aplicativo no qual os usuários terão acesso a trilhas personalizadas com conteúdo de aprendizagem separados por temas.

workflow do aplicativo

A primeira tela será destinada às boas vindas do usuário com os campos para fazer o login. Feito isso, o usuário será direcionado para o questionário que definirá o seu perfil de aprendizagem. Com o perfil de usuário definido, chegamos à tela onde serão indicados os artigos para leitura, em uma trilha personalizada. Assim, temos um DaaP end-to-end, entregando uma solução de ponta a ponta baseada em algoritmo de dados.

6. REFERÊNCIAS BIBLIOGRÁFICAS

MEDEIROS, Igor. Estudos sobre sistemas de recomendação, 2013. Disponível em: https://www.cin.ufpe.br/~tg/2012-2/irgm.pdf — Acesso 8 de março de 2021 21h40

SIQUEIRA, Aline. SOUZA, Mayara. e LIRA, Victor. Estilos de aprendizagem sob uma perspectiva sensorial aplicando o questionário Vark, 2015. Disponível em: https://tcc.fps.edu.br/bitstream/fpsrepo/802/1/Artigo%20PIBIC_%20Aline%20Vergetti.pdf Acesso 20 de fevereiro de 2021 19h34

Cappra Institute Data Science Path: https://ds-skills.firebaseapp.com/

VARK: https://vark-learn.com/research-statistics/ e https://vark-learn.com/questionario/

Os quatro estilos de aprendizagem: https://brasil.elpais.com/brasil/2016/10/10/ciencia/1476119828_530014.html

Fast learners vs. slow learners: https://responsewebrecruitment.co.uk/online-recruitment-blog/fast-learners-vs-slow-learners/

Estilos de aprendizagem: https://www.ludospro.com.br/blog/estilos-de-aprendizagem

--

--

Bruna Alves Maia

Lead of Global UX Research in Gympass / Co-founder Experiência Observe / Feminist and researcher / Consumption Anthropology / Embroidery and video lover