Upload
dangcong
View
215
Download
1
Embed Size (px)
Citation preview
i
UNIVERSIDADE FEDERAL DE ITAJUBÁ – UNIFEI
AVALIAÇÃO DO FRAMEWORK CRAB PARA SISTEMAS DE
RECOMENDAÇÃO
Autor:
Rodrigo Sanches Coga
UNIFEI
Itajubá
2018
ii
AVALIAÇÃO DO FRAMEWORK CRAB PARA SISTEMAS DE
RECOMENDAÇÃO
Autor:
Rodrigo Sanches Coga
Monografia apresentada como trabalho final de
graduação, requisito parcial para obtenção do
título de Bacharel em Sistemas de Informação,
sob orientação do Prof. João Bosco Schumann
Cunha
UNIFEI
Itajubá
2018
v
AGRADECIMENTOS
A UNIFEI pela oportunidade de sediar-me como discente, seu corpo docente
por todo conhecimento, paciência e desafios que me amadureceram.
Aos projetos especiais que completaram todo meu aprendizado, me pondo à
prova e que me permitiram uma formação pessoal.
Aos meus pais e familiares que me incentivaram aos estudos sempre me
guiando.
E a todos os meus amigos que por estes anos que se passaram, me
incentivaram a nunca desistir e que me ensinaram a tornar tudo possível.
vi
RESUMO
Sistemas de Recomendação facilitam o tratamento da informação permitindo a procura e
sugestão de interesses de cada usuário, este trabalho apresenta um estudo sobre o Crab, um
framework para sistemas de recomendação cujo mecanismo tem como objetivo proporcionar
um rico conjunto de componentes do qual se pode construir um sistema de recomendação
personalizado. O Crab permite uma coleta de itens preferenciais dos usuários e recomenda
um item estimado. O sistema foi testado para um conjunto de dados de orientação profissional
baseado no crivo de correção do teste “Escala de Aconselhamento Profissional” para que
com os dados de entrada possa indicar a um novo usuário uma carreira de acordo com suas
respostas.
Todas as recomendaçoes do sistema CRAB para os 40 usuários que realizaram o teste através
do formulário online coincidiram com as preferências realizadas por média aritmética usadas
no crivo de correção para a indicação de carreira.
vii
ABSTRACT
Recommendation Systems facilitate the treatment of information allowing a search
and suggestions of interests of each user, this work presents a study on the Crab, a framework
for recommendation systems whose mechanism aims to provide a rich set of components to
build a personalized recommendation system. Crab allows users to collect preferred items
and recommends an estimated item. The system was tested for a set of vocational orientation
data based on the "Escala de Aconselhamento Profissional" so with the input data it could
indicate to a new user a career based on their answers.
All CRAB system recommendations for the 40 users who ran the test using the online
form matched the arithmetic average preferences used in the correction screen for the career
indication.
viii
LISTA DE FIGURAS
FIGURA 1 - Ilustração simplificada do funcionamento do CRAB. .................................... 19
FIGURA 2 - Fluxograma de Desenvolvimento do Trabalho. .............................................. 23
FIGURA 3 - Classes e Variáveis do sistema exemplo do Crab adaptado com o teste EAP.26
FIGURA 4 - Problema com Classes e Variáveis do teste EAP. ........................................... 26
FIGURA 5 - Classes e Variáveis do Teste EAP inclusas no Crab. ...................................... 27
FIGURA 6 - Gráfico de Resultado do usuário “Teste” no framework Crab ........................ 29
ix
LISTA DE TABELAS
TABELA 1 – Conjunto de dados de preferências por ações. ............................................... 20
TABELA 2 – Modelo de dados da dimensão de Ciências Exatas........................................ 27
TABELA 3 – Resultado da Similaridade entre 3 usuários e a base cadastrada. .................. 28
TABELA 4 – Comparação dos Cálculos de Semelhança..................................................... 29
x
LISTA DE ALGORITMOS
ALGORITMO 1- Mecanismo de Recomendação user-based ............................................. 21
ALGORITMO 2 - Mecanismo de Recomendação item-based ............................................ 22
xi
LISTA DE ABREVIATURAS E SIGLAS
API Application Programming Interface
BSD Licença de código aberto – Berkley Software Distribution
EAP Escala de Aconselhamento Profissional
IA Inteligência Artificial
ID Identidade
IDE Integrated Development Environment
JSON Javascript Object Notation
SR Sistema de Recomendação
SATEPSI Sistema de Avaliação de Testes Psicológicos
xii
SUMÁRIO
1. INTRODUÇÃO ................................................................................................................. 13
1.1. Motivação e Objetivo ................................................................................................. 13
1.2. Organização ............................................................................................................... 14
2. REVISÃO BIBLIOGRÁFICA ................................................................................................ 15
2.1. Escala de Aconselhamento Profissional ....................................................................... 15
2.2. Inteligência Artificial................................................................................................... 17
2.2.1 Similaridade ................................................................................................................... 17
2.3. Sistemas de Recomendação ........................................................................................ 17
2.4. CRAB .......................................................................................................................... 18
2.4.1. Mecanismo de Recomendação ................................................................................ 19
2.4.2. Representação de Dados ......................................................................................... 21
3. METODOLOGIA ............................................................................................................... 23
3.1. Material ..................................................................................................................... 23
3.2. Métodos ..................................................................................................................... 23
4. AMADURECIMENTO E CONSOLIDAÇÃO DO CRAB ............................................................. 25
4.1. Instalação .................................................................................................................. 25
4.2. Suporte da Comunidade .............................................................................................. 25
4.3. Artigos Acadêmicos .................................................................................................... 25
4.4. Testes de Performance/Compatibilidade ..................................................................... 25
4.5. Aplicação ................................................................................................................... 26
4.6. Testes de Similaridade ................................................................................................ 27
5. CONCLUSÃO ................................................................................................................... 30
6. BIBLIOGRAFIA ................................................................................................................. 31
13
1. INTRODUÇÃO
1.1. Motivação e Objetivo
A necessidade de organização da informação revelou ser cada vez maior diante da
evolução no mundo da comunicação digital, e foi essa necessidade que levou a criação dos
sistemas de recomendação ou Recommender Systems (RS). Estes sistemas facilitam o
tratamento da informação permitindo a procura e sugestão de interesses de cada usuário,
evitando expô-lo a um demorado processo de seleção de informação.
Ao tentar deduzir gostos e preferências, esses sistemas se concentram em identificar itens
que são desconhecidos, porém de interesse do usuário. Embora o gosto das pessoas varie, ele
rastreia padrões. Ou seja, as pessoas tendem a gostar de coisas que são semelhantes a outros
itens que elas gostam.(Caraciolo, Melo, & Caspirro, 2011) Por exemplo, se uma pessoa
compra mouses gamers, o sistema de recomendação poderia indicar headphones. As pessoas
tendem a gostar de coisas semelhantes e geralmente quem possui um mouse gamer também
possui headphones.
Neste contexto, a qualidade das recomendações revelou ser um fator determinante nestes
sistemas, uma vez que a confiança dos usuários nas sugestões apresentadas só se verificaria
se estas se aproximassem o mais possível dos seus interesses.
O campo de formação da Orientação Profissional, no Brasil, de acordo com Helena &
Soares (2006), não possui regulamentação ou lei que determine conteúdos mínimos a serem
ministrados. O que segundo (Sparta, 2003), permite psicólogos e orientadores educacionais
poderem exercer a atividade de Orientação Profissional sem qualquer formação específica na
área, o que, por sua vez, retarda o desenvolvimento e desqualifica os resultados.
Há um grande interesse e estudo sobre a área, se tratando de aplicações de testes,
pouquíssimos foram validados ou aceitos conforme o SATEPSI (Sistema de Avaliação de
Testes Psicológicos) e a busca por resultados é vista em redes sociais, dada a quantidade de
pessoas que publicam resultados de testes que muitas vezes não tem fundamento. Inclusive
o questionário aplicado para realização das remendações será baseado no crivo de correção
do EAP (Escala de Aconselhamento Profissional), um dos poucos que está com o status de
favorável pelo SATEPSI.
O Crab (Caraciolo et al., 2011) é um framework python open-source, para construção de
mecanismos de recomendação, que trabalha através de métricas, buscando similaridades para
14
criar um modelo de dados. Esse framework foi desenvolvido a partir da necessidade de criar
filtros, dada a grande quantidade de informações espalhadas pela web.
Phyton é uma linguagem que tem crescido de forma significativa nos últimos anos e
muitos frameworks têm sido desenvolvidos de forma colaborativa. No entanto, percebe-se a
descontinuidade de muitos desses frameworks e pouca documentação sobre quais aplicações
eles realmente podem atender (Sanner, 1999).
Este trabalho avaliou o framework Crab, em relação a sua aplicabilidade, documentação,
robustez, assistência e destacar de maneira objetiva as principais questões de uso em torno
dessa tecnologia. Para tanto, um Sistema de Recomendação de Orientação Profissional será
testado.
1.2. Organização
Para apresentação do desenvolvimento do trabalho, os demais capítulos dessa monografia
foram estruturados como segue:
No capítulo 2 são apresentados os conceitos como: Escala de Aconselhamento
Profissional, Inteligência Artificial e Aprendizado de Máquina, Similaridade, Sistemas de
Recomendação que são fundamentais para a conceituação e compreensão do funcionamento
do Crab.
O capítulo 3 refere-se à metodologia utilizada neste trabalho. Seguido pelo capítulo 4 que
traz o amadurecimento e consolidação do Crab.
Por sua vez o capítulo 5 apresenta os resultados dos testes.
15
2. REVISÃO BIBLIOGRÁFICA
2.1. Escala de Aconselhamento Profissional
O EAP tem como objetivo avaliar a preferência profissional de um indivíduo. O indivíduo
examinado deve quantificar na escala Likert de 1 a 5 a intensidade que ele gostaria de realizar
atividades descritas em 62 questões formadas a partir do crivo de correção, sendo 1 nada
preferencial e 5 muito preferencial, cujas questões medem sete carreiras específicas, a saber
(Noronha, Sisto e Santos (2007)):
• Ciências Exatas foi composta por atividades tais como: envolver-se em pesquisas
espaciais, montar bancos de dados digitais, controlar propriedades físicas dos solos,
desenvolver equipamentos para monitoramento e controle das condições ambientais,
divulgar e vender softwares, analisar e interpretar dados numéricos, planejar e implantar
linhas automatizadas de produção alimentícia, criar programas de computadores, projetar
satélites e foguetes, estudar propriedades físicas da atmosfera, construir e montar
instrumentos e peças de aeronaves, projetar robôs e sistemas digitais para fábricas,
desenvolver semicondutores e fibra ótica, produzir equipamentos de captação de energia
solar, elétrica e nuclear;
• Artes e Comunicação tem itens que investigam o interesse por estudar a origem e
evolução do homem e da cultura. Também inclui interesse por diversas outras atividades:
desenhar, escrever e revisar textos; entreter hóspedes, associados e turistas em hotéis,
spas e clubes; desenhar logotipos e embalagens; dublar; recuperar obras e objetos de arte;
produzir desfiles; catálogos; editorias de moda e campanhas publicitárias; criar uma
vinheta; criar, mixar e editar trilhas sonoras de filmes ou vídeos; coordenar a apresentação
de um espetáculo de dança; ensaiar artistas para um espetáculo; responsabilizar-se pela
direção teatral; fazer a montagem das cenas de um filme;
• Ciências Biológicas e da Saúde avalia as seguintes atividades: orientar a população sobre
prevenção de doenças; realizar cirurgias; participar de equipes de salvamento; analisar o
metabolismo dos seres animais e vegetais; fazer pesquisas genéticas; auxiliar no
tratamento de pacientes com derrame cerebral, paralisias, traumatismos, entre outros;
investigar a natureza e a causa de doenças; prevenir lesões e reabilitar sujeitos
machucados; dar atendimento ambulatorial em empresas;
16
• Ciências Agrárias e Ambientais: é composta pelas atividade de analisar e controlar
produtos industrializados, como medicamentos, cosméticos, insumos ou alimentos;
orientar a população sobre prevenção de doenças; elaborar plano diretor de zoneamento
de região ou cidade; realizar turismo ecológico; investigar a natureza e a causa de
doenças; desenvolver equipamentos para monitoramento e controle das condições
ambientais; controlar propriedades físicas dos solos; prevenir doenças em lavouras e
rebanhos; empenhar-se na preservação do meio ambiente; analisar e elaborar relatórios
sobre impacto ambiental; elaborar laudos sobre o impacto de atividades humanas no
ambiente marinho; reduzir o impacto de atividades industriais; urbanas e rurais no meio
ambiente; dirigir unidades de preservação ecológica;
• Atividades Burocráticas: analisar e controlar produtos industrializados, como
medicamentos, cosméticos, insumos ou alimentos; elaborar plano diretor de zoneamento
de região ou cidade; participar de processos de seleção, admissão e demissão; criar
programas de computadores; estruturar e manter base de dados; gerenciar os serviços de
aeroportos; classificar e organizar documentos; analisar e interpretar dados numéricos;
conduzir relações entre empresa e empregados; divulgar e vender softwares; coordenar
as operações fiscais e financeiras de empresas; montar bancos de dados digitais; cuidar
de princípios e normas relativos a arrecadação de impostos, taxas e obrigações tributarias;
• Ciências Humanas e Sociais Aplicadas: os itens que compõem esta dimensão são
conduzir relações entre empresa e empregados; recuperar obras e objetos de arte;
classificar e organizar documentos; atender instituições que realizem trabalhos sociais
voltados para a religião; escrever e revisar textos; estudar origem e evolução do homem
e da cultura; classificar e indexar livros, documentos ou fotos; estudar o passado humano
em seus múltiplos aspectos; analisar a sociedade em questões éticas, políticas e
epistemológicas; colaborar na elaboração de programas educacionais;
• Entretenimento: é caracterizado por atividades como produzir desfiles, catálogos,
editorias de moda e campanhas publicitárias. Também são incluídas atividades como
gerenciar os serviços de aeroportos; atender hóspedes, associados e turistas em hotéis,
spas e clubes; promover a instalação de hotéis; coordenar a preparação de refeições em
hotéis e restaurantes; gerenciar flats, pousadas, hotéis, parques temáticos.
17
Todas as atividades das carreiras são descritas nas questões e quanto maior a pontuação
na avaliação da carreira específica, maior será sua nota, por consequência essa será sua
preferência profissional. Esse teste é realizado através de cartilhas com as perguntas ou
entrevista, em seguida um profissional da área indica a carreira através de um gabarito
multiplicando todos os itens pela sua intensidade e somando os resultados por área formando
a média ponderada.
2.2. Inteligência Artificial
As ferramentas de Inteligência Artificial (I.A.), em sua evolução, começaram adquirindo
conhecimentos que eram explicitados pelos especialistas de uma certa área (o que equivale a
programar um sistema para resolver um problema). Posteriormente estas ferramentas foram
dotadas de mecanismos de aquisição automática de conhecimentos (Osório & Bittencourt,
2000), dentre os conhecimentos adquiridos está o rastreamento de padrões com base na
similaridade entre objetos.
2.2.1 Similaridade
A similaridade mostra computacionalmente, através de um valor, o quanto dois objetos
são semelhantes entre si, objetos no caso podem ser palavras, textos, estruturas de dados e
até mesmo imagens.
Segundo Bugatti (2008), as consultas por similaridade consistem em procurar por objetos
em um conjunto que, segundo algum critério de similaridade sejam mais “parecidos” ou mais
“distintos” de um determinado objeto com base informações inerentes ao objeto de
referência.
2.3. Sistemas de Recomendação
Com o rápido crescimento da internet, tornou-se importante o desenvolvimento de
mecanismos capazes de facilitar a filtragem de informação de acordo com as preferências
dos usuários. As empresas de comércio online começaram por introduzir estes sistemas nas
suas plataformas de venda de produtos por permitirem a aprendizagem das preferências e
gostos dos consumidores, podendo com base nessa informação, gerar recomendações de
18
novos produtos aos usuários, com o objetivo de melhorar e criar novos algoritmos, mais
eficientes e mais eficazes nas suas recomendações(Colaborativa & Marcelino, 2014).
Os Sistemas de Recomendação auxiliam no aumento da capacidade e eficácia deste
processo de indicação já bastante conhecido na relação social entre seres humanos(Resnick
& Varian, 1997). Em um sistema típico, as pessoas fornecem recomendações como entradas
que o sistema agrega e direciona para os indivíduos considerados potenciais interessados
neste tipo de recomendação. Um dos grandes desafios deste tipo de sistema é realizar a
combinação adequada entre as expectativas dos usuários e os produtos, serviços e pessoas a
serem recomendados aos mesmos. Ou seja, definir e descobrir este relacionamento de
interesses é o grande problema(Cazella, Nunes, & Reategui, 2010).
Os websites de comércio eletrônico são atualmente o maior foco de utilização dos
Sistemas de Recomendação, empregando diferentes técnicas para encontrar os produtos mais
adequados para seus clientes e aumentar deste modo sua lucratividade. Introduzido em julho
de 1996 o My Yahoo foi o primeiro website a utilizar os Sistemas de Recomendação em
grandes proporções (Manber, Patel, & Robison, 2000).
2.4. CRAB
Crab fornece uma interface genérica para implementações de sistemas de recomendação,
entre elas a abordagem de filtragem colaborativa, User-Based e Item-Basead que podem ser
combinadas com cálculos de similaridade, utilizando a biblioteca Numpy (Breese,
Heckerman, & Kadie, 1998).
O Numpy é o pacote básico da linguagem Python que permite trabalhar com arranjos,
vetores e matrizes, com muito mais eficiência e com toda a expressividade da linguagem.
Provê diversas funções e operações sofisticadas, incluindo o cálculo com matrizes.
Filtragem colaborativa é o processo de filtrar informações ou padrões usando técnicas
que envolvem colaboração de múltiplos agentes, pontos de vista ou fontes de dados. Esses
filtros funcionam construindo uma base de dados de preferência de itens para usuários.
(Caraciolo et al., 2011).
O framework possui documentação alocada pelo Github, um serviço de web hosting
compartilhado para projetos que usam o controle de versão. Possui seções incompletas na
área de instalação, fornecendo informações apenas para sistemas Linux. Quanto à parte
19
teórica do Crab e sistemas de recomendação, todo texto estava bem completo e explicativo,
mas apesar de não apresentar a forma dos cálculos de similaridade, ele dispõe de exemplos
no próprio sistema.
2.4.1. Mecanismo de Recomendação
Crab contém mecanismos de recomendação convencionais, os mecanismos de
recomendação Item-Based e User-Based.
Eles fornecem uma variedade de componentes que podem ser conectados e
personalizados para criar um mecanismo de recomendação ideal para um domínio particular.
A Figura 1 apresenta a relação entre estes componentes básicos do Crab.
FIGURA 1 - Ilustração simplificada do funcionamento do CRAB.
Primeiro, é fornecida a entrada para o mecanismo de recomendação, os dados em que
se baseiam as recomendações. Geralmente, esses dados assumem a forma que
preferencialmente são associações de usuários para itens, onde esses usuários e itens
poderiam ser qualquer coisa. Uma preferência consiste de uma ID de usuário e uma ID de
item, e geralmente, um número que expressa a força da preferência do usuário para o item.
IDs no Crab podem ser representados por qualquer tipo indexável como string, inteiros etc.
O valor de preferência poderia ser qualquer coisa, desde que os valores maiores signifiquem
fortes preferências. Por exemplo, os valores podem ser considerados como classificações em
20
uma escala Likert de 1 a 5, em que o usuário tenha atribuído "1" para itens que ele não
gostaria e "5" para seus favoritos.
Crab é capaz de trabalhar com arquivos de texto contendo informações sobre os
usuários e suas preferências. O estado atual permite que os desenvolvedores se conectem
com bancos de dados através de arquivos de texto contendo as IDs de usuários, IDs de
produtos e preferências.
TABELA 1 – Conjunto de dados de preferências por ações.
Por exemplo, considere um conjunto de dados simples, incluindo dados sobre os usuários
e suas preferências por seis atividades. Ao carregar este conjunto de dados e passando o
parâmetro de preferência, todas as entradas serão carregadas na memória, criando o objeto
Modelo de Dados.
Analisando o conjunto de dados mostrado na Tabela 1, é possível notar que os usuários
Ana e Henrique parecem ter gostos semelhantes, visto que existem itens em comum entre os
usuários e comparando o valor de preferência dos mesmos, já os usuários Ana e Pedro não
se sobrepõem muito, eles não possuem itens em comum.
Ao usar o algoritmo de recomendação disponíveis nos Crab como o user-based e com o
determinado conjunto de dados carregado em um modelo de dados como entrada, e ao
executar o mecanismo de recomendação exemplo, a saída da execução de programa é:
“Desenvolver semicondutores e fibras óticas”.
Pede-se por uma recomendação e existe uma, o mecanismo de recomendação recomenda
a ação “Desenvolver semicondutores e fibras óticas” para o usuário “Henrique”. Isso
21
acontece porque se estima preferências do usuario “Henrique” com cerca de 4,3 e que foi a
maior similaridade entre todos os itens elegíveis para recomendações.
É importante notar que todos os mecanismos de recomendação são estimadores. O
mecanismo de recomendação funcionou bem, considerando um pequeno conjunto de dados.
Isto pode ser reforçado quando o usuário “Ana” teve preferências similares aos usuário
“Henrique”.
Caraciolo et al (2011) afirma que para os pequenos conjuntos de dados, produzir
recomendações parece algo trivial. No entanto, para os conjuntos de dados que são grandes,
é uma situação diferente. Por exemplo, considere um site de notícias popular recomendando
novos artigos para os leitores. As preferências são deduzidas, ou seja rastreadas, do artigo
clicados mas, muitas dessas "preferências" podem ser complicadas talvez um leitor clicou
em um artigo, mas não gostou ou tenha clicado na história errada. Imaginem também o
tamanho do conjunto de dados, talvez bilhões de cliques em um mês.
2.4.2. Representação de Dados
A eficácia dos sistemas de recomendação é fortemente influenciada pela quantidade de
dados e sua representação.
Crab suporta o mecanismo de recomendação colaborativo user-based. Esse algoritmo
pode ser descrito como um processo de recomendar itens ao usuário base, indicado por U,
como segue no Algoritmo 1:
Para cada item I que U ainda não tem preferência
Para todos os outros usuários V que tem preferência por I
Calcular uma semelhança S entre U e V
Incorporar a preferência de V para I, ponderada por S
Devolver os itens de maior preferência, classificados por média ponderada
ALGORITMO 1- Mecanismo de Recomendação user-based
O loop externo considera cada item conhecido que o usuário U não tenha já
manifestado uma preferência, dado como item candidato I.
O loop interno busca em todos usuários um que tenha manifestado uma preferência
para este item candidato, dado como usuários V.
22
No final, é tirada a média das semelhanças entre o usuário U e os usuários V, uma
média ponderada utilizando as preferências dos itens em comum.
O usuário mais semelhante, é aquele cujo valor de preferência é maior. Na primeira
seção já foi apresentado o código de um mecanismo de recomendação user-based em ação.
UserSimilarity encapsula o conceito de semelhança entre os usuários. Crab é um
conjunto de componentes, a fim de criar sistemas de recomendação personalizadas para um
domínio particular.
Em resumo os componentes usados na abordagem user-based:
• Modelo de dados implementada através DataModel
• Semelhança métrica usuário à usuário implementado através UserSimilarity
• Mecanismo de Recomendação implementado, neste caso, User-Based
Outra abordagem para a recomendação implementada em Crab é o Item-Based, que
verifica a semelhança de itens aos itens, em vez de usuários aos usuários, como mostra o
Algoritmo 2.
Para cada item I que U não tem preferência
Para cada item J que U tem uma preferência
Calcula a semelhança S entre I e J
Incorpora preferências U`s para J, ponderada por S
Devolver os itens de maior preferência, classificados por média ponderada
ALGORITMO 2 - Mecanismo de Recomendação item-based
Neste algoritmo é avaliada a similaridade item a item, ao contrário da similaridade de
usuário a usuário como mostrado na abordagem user-based. Embora pareçam semelhantes,
há diferentes propriedades como o tempo de execução, no item-based o tempo aumenta
conforme o número de itens e no user-based conforme o número de usuários aumenta.
23
3. METODOLOGIA
3.1. Material
O cloud9 é uma IDE(Integrated Development Environment), um programa de
computador para facilitar, no caso, o desenvolvimento Web, que possui diversas tecnologias
previamente instaladas como PHP, uma linguagem livre e usada para desenvolvimento de
aplicações presentes e atuantes no lado do servidor, MySQL, é um sistema de gerenciamento
de banco de dados, que utiliza a linguagem SQL como interface, Python, é uma linguagem
de programação de alto nível, entre outras. Através do navegador é possível entrar na IDE e
programar em Python sem necessidade de instalação. Além disso, é possível instalar outras
tecnologias através da função apt-get, já que se está operando, em um sistema Linux –
Ubuntu, no caso, ideal para instalar as bibliotecas open-sources utilizadas pelo Crab.
3.2. Métodos
Nesta seção é descrita a metodologia empregada na realização dos testes, ilustrada na
Figura 2. O estudo das referências bibliográficas teve como objetivo conhecer o estado da
tecnologia de sistemas de recomendação, partindo desde seu princípio na inteligência
artificial até o cálculo de similaridade para recomendação da orientação vocacional.
FIGURA 2 - Fluxograma de Desenvolvimento do Trabalho.
No caso, foi necessário trabalhar em conjunto com as referências da área da
psicologia ligada à orientação profissional para encontrar uma base e um teste que tivesse
um fundamento, tendo o teste em mãos, foi necessário ver sua compatibilidade com o
framework sugerido para recomendações, o Crab, para isso foi necessário realizar adaptações
no modelo de dados.
24
Concluída esta parte, os testes foram realizados online, para obtenção das respostas e
verificação do sistema para ver se o mesmo se mostrava confiável. Os testes foram aplicados
via formulário online e foram obtidas 40 respostas, todo o formulário foi baseado no crivo
de correção do teste EAP formada pelas 62 questões citadas no capítulo 2.1.
25
4. AMADURECIMENTO E CONSOLIDAÇÃO DO CRAB
Nesta seção serão apresentadas as percepções qualitativas sobre o uso do Crab.
Tópicos como documentação, facilidade de utilização e suporte de utilização foram avaliados
e descritos.
4.1. Instalação
O sistema exige um conhecimento prévio com Linux devido as bibliotecas que
precisam ser baixadas para que o sistema funcione corretamente. Também é necessário
conhecimento da linguagem Python para criação dos mecanismos de recomendação.
O projeto encontra-se parado desde março de 2012 e existem pequenos erros de
sintaxe na última versão fornecida pelo desenvolvedor.
4.2. Suporte da Comunidade
Por se tratar de um framework fornecido dentro de um serviço de compartilhamento
de projetos, há fóruns com discussões relacionadas a melhorias para futuras implementações
e resoluções de problemas encontrados, como os erros citados no capítulo 4.1. Todas
postagens relacionadas ao framework são da comunidade, já que os desenvolvedores não
utilizam mais o Github e portanto não dão mais suporte.
4.3. Artigos Acadêmicos
O Crab ficou famoso por ser um dos primeiros sistemas de recomendação em Python,
participando de diversas conferências como a Proceedings of the 10th Python in Science
Conference, o que popularizou o artigo “Crab: A Recommendation Engine Framework for
Python”. Foram encontrados diversos artigos citando o framework em si, mas nenhum com
algum trabalho de melhoria ou continuidade.
4.4. Testes de Performance/Compatibilidade
O sistema apresenta uma velocidade rápida, quase instantânea, com a base de dados
que compõe 2480 registros de respostas, 62 questões das 7 áreas, totalizando 434 registros
26
da base do crivo de correção e as questões com as 7 áreas a serem recomendadas finalizando
com um total de 2921 registros.
Como no primeiro exemplo já citado, o framework parte do cadastro prévio de
usuários, atividades que possuem preferência numa escala Likert de 1 a 5, podendo assim
indicar a qualquer outro usuário cadastrado, alguma categoria baseadap na sua similaridade
com os outros usuários, conforme a Figura 3.
FIGURA 3 - Classes e Variáveis do sistema exemplo do Crab adaptado com o teste EAP.
4.5. Aplicação
O primeiro desafio encontrado foi como aplicar esse modelo de sistema ao teste EAP
de orientação profissional como mostra a Figura 4.
FIGURA 4 - Problema com Classes e Variáveis do teste EAP.
Para solucionar este problema foi necessário usar o método item-based, permitindo
fazer as comparações de item a item, e para que o banco já possuísse um ideal ligado às
profissões foram criados usuários “profissões” com os gabaritos do teste EAP com as notas
máximas e já que o retorno indicaria um item, foi necessário incluir um dado item-profissão
aos usuários com a profissão específica e nota máxima. A figura 4 mostra a solução
27
encontrada, em que foi necessário unir as perguntas e a área da profissão como item para que
o Crab possa comparar todos as perguntas e indicar a área.
FIGURA 5 - Classes e Variáveis do Teste EAP inclusas no Crab.
Conforme a tabela 2, pode-se ver a dimensão “Ciências Exatas”, as perguntas que
pertencem a área estão avaliadas com nota máxima e é adicionado um campo a mais aos itens
que seria a própria dimensão, este seria o recomendado caso ciências exatas fosse a mais
similar ao usuário. A tabela 2 mostra o exemplo do modelo de dados.
TABELA 2 – Modelo de dados da dimensão de Ciências Exatas
4.6. Testes de Similaridade
Para realização do teste de similaridade, incluiu-se a resposta do questionário
completo do EAP dos 40 usuários que responderam o teste.
Conforme o algoritmo descrito na representação de dados, o mecanismo de
recomendação escolhido foi o item-based, dado que o teste realizado pelos usuários
incluiriam todos os itens, portanto não haveria distinção entre os vizinhos para o mecanismo
user-based, o processo de recomendação de itens ao usuário “Teste”, percorrerá a lista com
todas as perguntas para encontrar os itens de possíveis recomendações, são eles: Artes e
28
Comunicação; Ciências Biológicas e da Saúde; Ciências Agrárias e Ambientais; Atividades
Burocráticas; Ciências Humanas e Sociais Aplicadas; Entretenimento. Estes são itens criados
com o mesmo nome do usuário cujos itens possuem maior preferência de acordo com o
gabarito do teste EAP.
Na próxima etapa, o framework busca a similaridade, utilizando o cálculo de
similaridade escolhido, entre os usuários e o resultado segue como na Tabela 3.
Usuário Vocação Similaridade
Matheus Ciências Exatas 3.50
Artes e Comunicação 3.07
Ciências Biológicas e da Saúde 3.67
Ciências Agrarias e Ambientais 2.85
Atividades Burocráticas 3.15
Ciencias Humanas e Sociais Aplicadas 2.40
Entretenimento 3.25
Guilherme Ciências Exatas 2.93
Artes e Comunicação 2.57
Ciências Biológicas e da Saúde 2.67
Ciências Agrarias e Ambientais 2.23
Atividades Burocráticas 2.54
Ciencias Humanas e Sociais Aplicadas 2.50
Entretenimento 2.25
Ana Ciências Exatas 1.36
Artes e Comunicação 3.29
Ciências Biológicas e da Saúde 1.89
Ciências Agrarias e Ambientais 1.54
Atividades Burocráticas 1.69
Ciencias Humanas e Sociais Aplicadas 3.50
Entretenimento 1.50
TABELA 3 – Resultado da Similaridade entre 3 usuários e a base cadastrada.
O usuário pode não só receber a área de vocação mais indicada como também a
pontuação entre todas as outras, o que pode facilitar suas futuras escolhas em relação a
profissão. Como se pode ver na Figura 6 o usuário Matheus tem uma maior aptidão para a
área de Ciências Exatas, mas não possui um diferencial tão grande em relação as demais. Nos
testes realizados foram encontrados usuários cujos resultados se coincidiram para
recomendação, portanto é importante uma visualização que não apresente só uma área de
vocação como recomendação. Esta visualização foi gerada por excel com os resultados do
Crab e é apresentada na figura 6.
29
FIGURA 6 - Gráfico de Resultado do usuário “Teste” no framework Crab
Para validação das indicações foi utilizada a média ponderada descrita no capítulo 2.1
sobre a aplicação do crivo de correção sobre o questionário. E os resultados podem ser vistos
na Tabela 4.
Usuário Vocação Similaridade Média Ponderada
Matheus Ciências Exatas 3.50 3.50
Artes e Comunicação 3.07 3.07
Ciências Biológicas e da Saúde 3.67 3.67
Ciências Agrarias e Ambientais 2.85 2.85
Atividades Burocráticas 3.15 3.15
Ciencias Humanas e Sociais Aplicadas 2.40 2.40
Entretenimento 3.25 3.25
TABELA 4 – Comparação dos Cálculos de Semelhança
Pode-se ver os resultados para média ponderada e os resultados de similaridade
fornecidos pelo Crab são os mesmos, estes resultados se encaixaram para as 5 vocações
indicadas aos 40 usuários, totalizando 280 resultados que coincidiram em grau de
similaridade e média ponderada. O restante dos resultados podem ser vistos no anexo 3.
Ciências Exatas
AtividadesBurocráticas
Ciências Agrarias eAmbientais
Ciências Biológicase da Saúde
Ciências Humanas eSociais Aplicadas
Entretenimento
Artes eComunicação
Escala de Aconselhamento Profissional
30
5. CONCLUSÃO
Após a avaliação do framework Crab, em Phyton, foi possível analisar que ele pode
suprir as necessidades da aplicação do crivo de correção, usando assim de IA para auxiliar o
psicólogo na aplicação e análise do EAP, tornando-se uma ferramenta facilitadora na área da
psicologia, no quesito aplicação e correção.
Os resultados realizados no Crab se mostraram satisfatórios, os testes foram
realizados com 40 usuários, calculando 280 similaridades para recomendações, assim sendo
computados pelo algoritmo e verificados manualmente pela média aritmética, mostrando
total adesão as respostas. As recomendações aos usuários pelo framework coincidiram com
a maior somatória das respectivas áreas recomendadas.
O objetivo era criar uma ferramenta legítima para realização de testes vocacionais
baseado no EAP, que é validado pela SATEPSI e ao mesmo tempo avaliar o framework
proposto, Crab, em relação as suas principais características. Quanto aos avanços foi possível
adquirir o teste porém após o contato com profissionais da área conclui-se que ele sozinho
não se mostra completamente viável, contudo o framework em si se mostrou apto a calcular
a similaridade conforme o crivo de correção EAP.
Para a continuação do projeto seria necessário a criação de uma aplicação web que
permitisse a realização do questionário, prontamente a aplicação do framework e a exibição
dos resultados ao usuário em tempo hábil. E para aperfeiçoar o sistema, a captação de dados
para a melhoria dos questionários baseando-se nas áreas de atuação dos usuários.
Este trabalho apresenta uma nova solução para recomendações através de
similaridades utilizando uma linguagem atual, ele abrange uma área cada vez mais explorada
envolvendo IA e permite uma gama de possibilidades para atender os mais diversos desafios
no meio de recomendações.
31
6. BIBLIOGRAFIA
Breese, J. S., Heckerman, D., & Kadie, C. (1998). Empirical analysis of predictive algorithms
for collaborative filtering. Proceedings of the 14th Annual Conference on Uncertainty
in Artificial Intelligence, 43--52. http://doi.org/10.1111/j.1553-2712.2011.01172.x
Bugatti, P. H. (2008). Análise da influência de funções de distância para o processamento de
consultas por similaridade em recuperação de imagens por conteúdo. Master's
Dissertation, Instituto de Ciências Matemáticas e de Computação, University of São
Paulo, São Carlos. doi:10.11606/D.55.2008.tde-06052008-095020. Retrieved 2018-06-
20, from www.teses.usp.br
Caraciolo, M., Melo, B., & Caspirro, R. (2011). Crab: A Recommendation Engine
Framework for Python. Proceeding of the 10th Python In Science Cone (SCIPY 2011),
(Scipy), 11–17.
Cazella, S. C., Nunes, M., & Reategui, E. (2010). A Ciência da Opinião: Estado da arte em
Sistemas de Recomendação. CSBC XXX Congresso Da SBC Jornada de Atualização de
InformáticaJAI, (September 2016), 161–216. Retrieved from
http://www.dcomp.ufs.br/~gutanunes/hp/publications/JAI4.pdf
Colaborativa, F., & Marcelino, V. F. (2014). Sistema de Recomendação Engenharia
Electrotécnica e de Computadores Júri.
Helena, D., & Soares, P. (2006). A formação do Orientador Profissional: o estado da arte no
Brasil 1.
Manber, U., Patel, A., & Robison, J. (2000). Experience with PERSONALIZATION ON
Yahoo!, XX(X), 10–12. http://doi.org/10.1093/acprof:oso/9780199251902.003.0009
Noronha, Sisto & Santos, A. A. A. (2007). Escala de Aconselhamento Profissional - EAP -
Manual Técnico (Brasil). Itatiba, SP: Vetor.
Osório, F., & Bittencourt, J. R. (2000). Sistemas Inteligentes baseados em Redes Neurais
Artificiais aplicados ao Processamento de Imagens. I Workshop De Inteligência
Artificial, (February). Retrieved from
http://www.researchgate.net/publication/228588719_Sistemas_Inteligentes_baseados_
em_redes_neurais_artificiais_aplicados_ao_processamento_de_imagens/file/d912f510
01cc71ad2b.pdf
Resnick, P., & Varian, H. R. (1997). Recommender systems. Communications of the ACM,
40(3), 56–58. http://doi.org/10.1145/245108.245121
Sanner, M. F. (1999). Python: a programming language for software integration and
development. Journal of Molecular Graphics & Modelling, 17(1), 57–61.
http://doi.org/10.1016/S1093-3263(99)99999-0
Sparta, M. (2003). O Desenvolvimento da Orientação Profissional no Brasil. Revista
Brasileira de Orientação Profissional, 4(51), 1–11.
32
ANEXO 1 - Questionário e Índice para respostas
Perguntas do teste aplicado online Índice
Analisar a sociedade em questões éticas, políticas e epistemológicas A
Analisar e elaborar relatórios sobre impacto ambiental B
Analisar e interpretar dados numéricos C
Analisar o metabolismo dos seres animais e vegetais D
Analisar e controlar produtos industrializados E
Atender instituições que realizem trabalhos sociais voltados para a religião F
Auxiliar no tratamento de pacientes com derrame cerebral, paralisias, traumatismos, entre outros G
Classificar e indexar livros, documentos ou fotos H
Classificar e organizar documentos I
Colaborar na elaboração de programas educacionais J
Conduzir relações entre empresa e empregados K
Construir e montar instrumentos e peças de aeronaves L
Controlar propriedades físicas dos solos M
Coordenar a preparação de refeições em hotéis e restaurantes N
Coordenar a apresentação de um espetáculo de dança O
Coordenar as operações fiscais e financeiras de empresas P
Criar programas de computadores Q
Criar uma vinheta R
Criar, mixar e editar trilhas sonoras de filmes ou vídeos S
Cuidar de princípios e normas relativos a arrecadação de impostos, taxas e obrigações tributarias T
Dar atendimento ambulatorial em empresas U
Desenhar logotipos e embalagens V
Desenhar, escrever e revisar textos W
Desenvolver equipamentos para monitoramento e controle das condições ambientais X
Desenvolver semicondutores e fibra ótica Y
Dirigir unidades de preservação ecológica Z
Divulgar e vender softwares AA
Dublar AB
Elaborar laudos sobre o impacto de atividades humanas no ambiente marinho AC
Elaborar plano diretor de zoneamento de região ou cidade AD
Empenhar-se na preservação do meio ambiente AE
Ensaiar artistas para um espetáculo AF
Entreter hóspedes, associados e turistas em hóteis, spas e clubes AG
Envolver-se em pesquisas espaciais AH
Estruturar e manter base de dados AI
Estudar a origem e evolução do homem e da cultura AJ
Estudar o passado humano em seus múltiplos aspectos AK
Estudar propriedades físicas da atmosfera AL
Continua
33
Perguntas do teste aplicado online - parte 2 Índice
Fazer pequisas genéticas AN
Fazer a montagem das cenas de um filme AM
Gerenciar flats, pousadas, hotéis, parques temáticos AO
Gerenciar os serviços de aeroportos AP
Investigar a natureza e a causa de doenças AQ
Montar bancos de dados digitais AR
Orientar a população sobre prevenção de doenças AS
Participar de equipes de salvamento AT
Participar de processos de seleção, admissão e demissão AU
Planejar e implantar linhas automatizadas de produção alimentícia AV
Prevenir doenças em lavouras e rebanhos AW
Prevenir lesões e reabilitar sujeitos machucados AX
Produzir catálagos AY
Produzir desfiles AZ
Produzir editorias de moda e campanhas publicitárias BA
Produzir equipamentos de captação de energia solar, elétrica e nuclear BB
Projetar robôs e sistemas digitais para fábricas BC
Projetar satélites e foguetes BD
Promover instalação de hotéis BE
Realizar cirurgias BF
Realizar turismo ecológico BG
Recuperar obras e objetos de arte BH
Reduzir o impacto de atividades industriais, urbanas e rurais no meio ambiente BI
Responsabilizar-se pela direção teatral BJ
35
Anexo 3 - Comparação dos resultados
Usuário Vocação Similaridade Média Ponderada
Matheus Ciências Exatas 3.50 3.50
Artes e Comunicação 3.07 3.07
Ciências Biológicas e da Saúde 3.67 3.67
Ciências Agrarias e Ambientais 2.85 2.85
Atividades Burocráticas 3.15 3.15
Ciencias Humanas e Sociais Aplicadas 2.40 2.40
Entretenimento 3.25 3.25
Guilherme Braga Ciências Exatas 2.93 2.93
Artes e Comunicação 2.57 2.57
Ciências Biológicas e da Saúde 2.67 2.67
Ciências Agrarias e Ambientais 2.23 2.23
Atividades Burocráticas 2.54 2.54
Ciencias Humanas e Sociais Aplicadas 2.50 2.50
Entretenimento 2.25 2.25
Ana Ciências Exatas 1.36 1.36
Artes e Comunicação 3.29 3.29
Ciências Biológicas e da Saúde 1.89 1.89
Ciências Agrarias e Ambientais 1.54 1.54
Atividades Burocráticas 1.69 1.69
Ciencias Humanas e Sociais Aplicadas 3.50 3.50
Entretenimento 1.50 1.50
Carolina Ciências Exatas 2.50 2.50
Artes e Comunicação 3.64 3.64
Ciências Biológicas e da Saúde 3.22 3.22
Ciências Agrarias e Ambientais 2.77 2.77
Atividades Burocráticas 2.62 2.62
Ciencias Humanas e Sociais Aplicadas 4.70 4.70
Entretenimento 1.38 1.38
Clarissa Sampaio Ciências Exatas 1.29 1.29
Artes e Comunicação 2.00 2.00
Ciências Biológicas e da Saúde 2.89 2.89
Ciências Agrarias e Ambientais 1.92 1.92
Atividades Burocráticas 2.31 2.31
Ciencias Humanas e Sociais Aplicadas 3.70 3.70
Entretenimento 1.63 1.63
Continua
36
Usuário Vocação Similaridade Média Ponderada
Paula da Costa Ciências Exatas 1.43 1.43
Artes e Comunicação 2.79 2.79
Ciências Biológicas e da Saúde 2.56 2.56
Ciências Agrarias e Ambientais 2.46 2.46
Atividades Burocráticas 2.77 2.77
Ciencias Humanas e Sociais Aplicadas 2.80 2.80
Entretenimento 3.88 3.88
Thales Ciências Exatas 1.93 1.93
Artes e Comunicação 1.14 1.14
Ciências Biológicas e da Saúde 1.56 1.56
Ciências Agrarias e Ambientais 1.77 1.77
Atividades Burocráticas 2.46 2.46
Ciencias Humanas e Sociais Aplicadas 2.50 2.50
Entretenimento 1.00 1.00
Thaisa Martins Ciências Exatas 2.50 2.50
Artes e Comunicação 3.50 3.50
Ciências Biológicas e da Saúde 2.33 2.33
Ciências Agrarias e Ambientais 2.38 2.38
Atividades Burocráticas 3.15 3.15
Ciencias Humanas e Sociais Aplicadas 4.00 4.00
Entretenimento 3.38 3.38
Eduardo Faggiani Ciências Exatas 2.43 2.43
Artes e Comunicação 2.64 2.64
Ciências Biológicas e da Saúde 3.11 3.11
Ciências Agrarias e Ambientais 2.46 2.46
Atividades Burocráticas 2.62 2.62
Ciencias Humanas e Sociais Aplicadas 2.10 2.10
Entretenimento 2.13 2.13
Rodrigo Romão Ciências Exatas 4.07 4.07
Artes e Comunicação 2.36 2.36
Ciências Biológicas e da Saúde 1.56 1.56
Ciências Agrarias e Ambientais 2.23 2.23
Atividades Burocráticas 3.08 3.08
Ciencias Humanas e Sociais Aplicadas 2.10 2.10
Entretenimento 1.25 1.25
Continua
37
Usuário Vocação Similaridade Média Ponderada
Marcella Ciências Exatas 1.21 1.21
Artes e Comunicação 1.14 1.14
Ciências Biológicas e da Saúde 1.00 1.00
Ciências Agrarias e Ambientais 1.00 1.00
Atividades Burocráticas 1.54 1.54
Ciencias Humanas e Sociais Aplicadas 1.70 1.70
Entretenimento 1.13 1.13
Caio Santana Ciências Exatas 3.79 3.79
Artes e Comunicação 2.57 2.57
Ciências Biológicas e da Saúde 2.78 2.78
Ciências Agrarias e Ambientais 2.77 2.77
Atividades Burocráticas 2.23 2.23
Ciencias Humanas e Sociais Aplicadas 2.60 2.60
Entretenimento 1.25 1.25
Simone Tanimaru Ciências Exatas 1.50 1.50
Artes e Comunicação 1.71 1.71
Ciências Biológicas e da Saúde 1.11 1.11
Ciências Agrarias e Ambientais 1.69 1.69
Atividades Burocráticas 2.23 2.23
Ciencias Humanas e Sociais Aplicadas 1.90 1.90
Entretenimento 1.50 1.50
Flavia Ciências Exatas 3.50 3.86
Artes e Comunicação 3.07 3.07
Ciências Biológicas e da Saúde 3.67 3.00
Ciências Agrarias e Ambientais 2.85 3.46
Atividades Burocráticas 3.15 3.15
Ciencias Humanas e Sociais Aplicadas 2.40 2.30
Entretenimento 3.25 2.25
Julia Soicher Ciências Exatas 1.07 1.07
Artes e Comunicação 4.36 4.36
Ciências Biológicas e da Saúde 1.00 1.00
Ciências Agrarias e Ambientais 1.69 1.69
Atividades Burocráticas 1.46 1.46
Ciencias Humanas e Sociais Aplicadas 3.90 3.90
Entretenimento 2.13 2.13
Continua
38
Usuário Vocação Similaridade Média Ponderada
Rodrigo Mesquita Ciências Exatas 1.29 1.29
Artes e Comunicação 2.07 2.07
Ciências Biológicas e da Saúde 1.22 1.22
Ciências Agrarias e Ambientais 1.23 1.23
Atividades Burocráticas 1.46 1.46
Ciencias Humanas e Sociais Aplicadas 1.50 1.50
Entretenimento 1.38 1.38
Leonardo Pires Ciências Exatas 2.64 2.64
Artes e Comunicação 2.00 2.00
Ciências Biológicas e da Saúde 1.56 1.56
Ciências Agrarias e Ambientais 2.23 2.23
Atividades Burocráticas 2.08 2.08
Ciencias Humanas e Sociais Aplicadas 2.60 2.60
Entretenimento 1.00 1.00
Fábio Dos Santos Ciências Exatas 3.50 3.50
Artes e Comunicação 3.36 3.36
Ciências Biológicas e da Saúde 4.67 4.67
Ciências Agrarias e Ambientais 3.77 3.77
Atividades Burocráticas 3.31 3.31
Ciencias Humanas e Sociais Aplicadas 3.10 3.10
Entretenimento 4.38 4.38
Luiz Ciências Exatas 1.86 1.86
Artes e Comunicação 1.50 1.50
Ciências Biológicas e da Saúde 1.44 1.44
Ciências Agrarias e Ambientais 2.00 2.00
Atividades Burocráticas 2.46 2.46
Ciencias Humanas e Sociais Aplicadas 2.50 2.50
Entretenimento 1.38 1.38
Thaís Ciências Exatas 1.29 1.29
Artes e Comunicação 2.36 2.36
Ciências Biológicas e da Saúde 1.33 1.33
Ciências Agrarias e Ambientais 1.69 1.69
Atividades Burocráticas 1.77 1.77
Ciencias Humanas e Sociais Aplicadas 3.40 3.40
Entretenimento 1.88 1.88
Andre Luiz Daleffi Ciências Exatas 2.43 2.43
Artes e Comunicação 2.79 2.79
Ciências Biológicas e da Saúde 2.33 2.33
Ciências Agrarias e Ambientais 2.31 2.31
Atividades Burocráticas 2.92 2.92
Ciencias Humanas e Sociais Aplicadas 2.80 2.80
Entretenimento 1.88 1.88
39
Usuário Vocação Similaridade Média Ponderada
Flavia Ciências Exatas 3.29 3.29
Artes e Comunicação 2.71 2.71
Ciências Biológicas e da Saúde 3.00 3.00
Ciências Agrarias e Ambientais 3.46 3.46
Atividades Burocráticas 3.00 3.00
Ciencias Humanas e Sociais Aplicadas 2.80 2.80
Entretenimento 3.25 3.25
Victor Ciências Exatas 1.14 1.14
Artes e Comunicação 1.43 1.43
Ciências Biológicas e da Saúde 4.22 4.22
Ciências Agrarias e Ambientais 2.31 2.31
Atividades Burocráticas 1.92 1.92
Ciencias Humanas e Sociais Aplicadas 2.10 2.10
Entretenimento 1.00 1.00
Rafael Ciências Exatas 2.29 2.29
Artes e Comunicação 3.07 3.07
Ciências Biológicas e da Saúde 1.44 1.44
Ciências Agrarias e Ambientais 1.62 1.62
Atividades Burocráticas 2.54 2.54
Ciencias Humanas e Sociais Aplicadas 2.60 2.60
Entretenimento 2.25 2.25
Guilherme Yoko Ciências Exatas 1.43 1.43
Artes e Comunicação 2.36 2.36
Ciências Biológicas e da Saúde 2.33 2.33
Ciências Agrarias e Ambientais 1.85 1.85
Atividades Burocráticas 2.38 2.38
Ciencias Humanas e Sociais Aplicadas 3.70 3.70
Entretenimento 1.88 1.88
Gabriel Oliveira Ciências Exatas 1.36 1.36
Artes e Comunicação 1.43 1.43
Ciências Biológicas e da Saúde 1.00 1.00
Ciências Agrarias e Ambientais 1.00 1.00
Atividades Burocráticas 1.23 1.23
Ciencias Humanas e Sociais Aplicadas 1.90 1.90
Entretenimento 1.00 1.00
Continua
40
Usuário Vocação Similaridade Média Ponderada
Lauro Sampaio Ciências Exatas 2.07 2.07
Artes e Comunicação 1.86 1.86
Ciências Biológicas e da Saúde 2.00 2.00
Ciências Agrarias e Ambientais 1.54 1.54
Atividades Burocráticas 2.92 2.92
Ciencias Humanas e Sociais Aplicadas 3.20 3.20
Entretenimento 1.00 1.00
Lucas Pereira Ciências Exatas 2.14 2.14
Artes e Comunicação 2.50 2.50
Ciências Biológicas e da Saúde 1.11 1.11
Ciências Agrarias e Ambientais 1.08 1.08
Atividades Burocráticas 2.23 2.23
Ciencias Humanas e Sociais Aplicadas 1.90 1.90
Entretenimento 1.00 1.00
Ana Elisa Ciências Exatas 1.43 1.43
Artes e Comunicação 2.64 2.64
Ciências Biológicas e da Saúde 2.11 2.11
Ciências Agrarias e Ambientais 1.77 1.77
Atividades Burocráticas 2.85 2.85
Ciencias Humanas e Sociais Aplicadas 2.10 2.10
Entretenimento 3.63 3.63
Jonas Henrique Ciências Exatas 1.79 1.79
Artes e Comunicação 2.36 2.36
Ciências Biológicas e da Saúde 1.33 1.33
Ciências Agrarias e Ambientais 1.77 1.77
Atividades Burocráticas 2.69 2.69
Ciencias Humanas e Sociais Aplicadas 2.20 2.20
Entretenimento 1.38 1.38
Fabrício vimercaati Ciências Exatas 3.29 3.29
Artes e Comunicação 1.29 1.29
Ciências Biológicas e da Saúde 1.33 1.33
Ciências Agrarias e Ambientais 1.77 1.77
Atividades Burocráticas 3.00 3.00
Ciencias Humanas e Sociais Aplicadas 2.40 2.40
Entretenimento 1.25 1.25
Continua
41
Usuário Vocação Similaridade Média Ponderada
Rodrigo Borges Ciências Exatas 1.00 1.00
Artes e Comunicação 2.43 2.43
Ciências Biológicas e da Saúde 1.00 1.00
Ciências Agrarias e Ambientais 1.15 1.15
Atividades Burocráticas 1.08 1.08
Ciencias Humanas e Sociais Aplicadas 2.60 2.60
Entretenimento 1.50 1.50
Gustavo Tadeu Ciências Exatas 1.57 1.57
Artes e Comunicação 1.57 1.57
Ciências Biológicas e da Saúde 1.00 1.00
Ciências Agrarias e Ambientais 1.15 1.15
Atividades Burocráticas 2.38 2.38
Ciencias Humanas e Sociais Aplicadas 1.70 1.70
Entretenimento 1.63 1.63
Vanessa C O Souza Ciências Exatas 2.36 2.36
Artes e Comunicação 1.29 1.29
Ciências Biológicas e da Saúde 1.22 1.22
Ciências Agrarias e Ambientais 1.69 1.69
Atividades Burocráticas 2.31 2.31
Ciencias Humanas e Sociais Aplicadas 2.40 2.40
Entretenimento 1.00 1.00
Júlia Magalhães Ciências Exatas 1.93 1.93
Artes e Comunicação 1.71 1.71
Ciências Biológicas e da Saúde 1.78 1.78
Ciências Agrarias e Ambientais 2.23 2.23
Atividades Burocráticas 2.00 2.00
Ciencias Humanas e Sociais Aplicadas 2.40 2.40
Entretenimento 1.75 1.75
Alice Souza da Silva Ciências Exatas 1.14 1.14
Artes e Comunicação 2.00 2.00
Ciências Biológicas e da Saúde 2.00 2.00
Ciências Agrarias e Ambientais 1.15 1.15
Atividades Burocráticas 2.08 2.08
Ciencias Humanas e Sociais Aplicadas 2.00 2.00
Entretenimento 3.25 3.25
Continua
42
Usuário Vocação Similaridade Média Ponderada
Rafael Frinhani Ciências Exatas 2.93 2.93
Artes e Comunicação 1.71 1.71
Ciências Biológicas e da Saúde 2.22 2.22
Ciências Agrarias e Ambientais 2.31 2.31
Atividades Burocráticas 2.54 2.54
Ciencias Humanas e Sociais Aplicadas 2.10 2.10
Entretenimento 1.50 1.50
Davi Henrique Ciências Exatas 1.86 1.86
Artes e Comunicação 4.00 4.00
Ciências Biológicas e da Saúde 1.33 1.33
Ciências Agrarias e Ambientais 1.77 1.77
Atividades Burocráticas 2.08 2.08
Ciencias Humanas e Sociais Aplicadas 2.40 2.40
Entretenimento 3.63 3.63
Alexandre Costa Ciências Exatas 1.57 1.57
Artes e Comunicação 2.86 2.86
Ciências Biológicas e da Saúde 1.00 1.00
Ciências Agrarias e Ambientais 1.46 1.46
Atividades Burocráticas 1.77 1.77
Ciencias Humanas e Sociais Aplicadas 3.00 3.00
Entretenimento 1.50 1.50
Guilherme Bastos Ciências Exatas 3.07 3.07
Artes e Comunicação 2.07 2.07
Ciências Biológicas e da Saúde 1.44 1.44
Ciências Agrarias e Ambientais 2.23 2.23
Atividades Burocráticas 3.23 3.23
Ciencias Humanas e Sociais Aplicadas 2.30 2.30
Entretenimento 1.63 1.63