universidade federal de itajubÁ unifeisaturno.unifei.edu.br/bim/201800217.pdf · escala de...

43
i UNIVERSIDADE FEDERAL DE ITAJUBÁ UNIFEI AVALIAÇÃO DO FRAMEWORK CRAB PARA SISTEMAS DE RECOMENDAÇÃO Autor: Rodrigo Sanches Coga UNIFEI Itajubá 2018

Upload: dangcong

Post on 26-Jan-2019

215 views

Category:

Documents


1 download

TRANSCRIPT

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

iii

iv

"A verdadeira profissão do homem é encontrar o caminho para si mesmo."

Hermann Hesse

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

34

Anexo 2 - Resultado das perguntas individuais utilizando o índice do Anexo 1

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

43